欢迎光临散文网 会员登陆 & 注册

无名杀制作扩展教程00.3 摸牌技

2022-04-27 22:42 作者:玩大师4的醒醒  | 我要投稿

摘要:

    英姿 独进 短视 幽明 摸金 幸宠

前言:

(2000字废话)

    不积跬步,无以至千里。从这里开始,写一个原创的技能吧!

开场语:

    摸牌,是最直接的收益,早期还有1血2牌的换算。这里不讨论技能设计,而是讲技能的实现,顺便能知道技能描述对技能代码量的影响。

正文:

讲到摸牌技,肯定绕不开英姿。下面是无名杀里英姿的代码

英姿的代码

看到这里,你可能会疑惑:

1.我就想多摸一张牌,为什么要写这么多代码?

2.哪句代码让我多摸一张牌了?没找到


这是一个无名杀官方技能代码,所以很全。实际上,下面的代码大部分情况也能起到相同的效果。

{

    trigger:{

        player:"phaseDrawBegin",

    },

    content:function(){

        trigger.num++;

    },

}


这样看的话,第2个问题现在已经有答案了:

"trigger.num++;"这句代码是让你多摸一张牌的代码。


phaseDrawBegin,即为"摸牌阶段开始时"

trigger,词典查到的意思是"触发",这里指的是触发这个技能的事件。

"++"是自增运算符,简化了很多代码,完整的写法是:

trigger.num = trigger.num + 1;


整个代码可以这么理解:摸牌阶段开始时,摸牌阶段的摸牌数+1。

那么,多的那些代码有什么用?


首先

细心的小伙伴肯定发现了

为了符合规则集,添加了phaseDrawBegin1和

phaseDrawBegin2这两个时机。phaseDrawBegin1这个时机可以放弃摸牌,而phaseDrawBegin2是改变摸牌数的。


那么,这个filter限制了哪些?

这句可有可无?

event.numFixed指摸牌数是否固定下来了,如果已经固定下来了,改变摸牌数的技能就不生效。

这个机制就是"放弃摸牌",将摸牌数变成0,然后不让摸牌数发生改变。


再后面是

audio:2,

audioname:["sp_lvmeng"],

这两句是技能配音的代码,不做过多阐述。


frequent:true,

默认设置为自动发动,这样就不需要每次发动技能点确认了(但不意味着这个技能变成锁定技了)


ai里面的threaten是嘲讽,1.3的嘲讽值比默认的大,敌人会优先打他。

英姿的技能代码已经讲解完了,接下来就是魔改时间了。

1.改成多摸两张牌

蠢办法,代码写2遍:

trigger.num++;

trigger.num++;

稍聪明的办法:

trigger.num=trigger.num+2;

推荐方法:

trigger.num+=2;

取巧方法:

trigger.num++;

player.draw();


2.多摸X张牌

例子为凌操的独进

独进的代码

Math.floor()就是向下取整的函数

其他的还有

Math.ceil()向上取整

Math.round()四舍五入


比如体力越低越强

trigger.num+=1+player.getDamagedHp();


还有随游戏轮数上升

trigger.num+=game.roundNumber;

差点偏了,这篇教程讲的是摸牌技,英姿只是其中一种。接下来看几个真实的设计

键盘侠的1技能

键盘侠是我的扩展《灵枢包》的一个武将。(第二个字念shu一声,不是灵柩,也不阴间)

技能强度不谈,直接看代码

短视的代码

phaseZhunbeiBegin 准备阶段开始时

player.skip("phaseUse");跳过出牌阶段


至于check的那一堆代码,可加可不加。大致意思是如果头上有乐,兵粮或草木,发动这个技能。否则只有在手牌数不比手牌上限多的情况下发动。

另一个例子,玩点论杀的神甄姬

1技能也算摸牌技

神甄姬没有任何区域,摸牌阶段做这种改动也很合理。

还是直接看代码。

代码太长了,就不放全图了

因为是放弃摸牌,所以时机选的是phaseDrawBegin1

trigger.changeToZero();这句代码把trigger.num设置为0,并且把数字固定了,也就是"放弃摸牌"

最后一个例子,小游戏摸牌,由于代码太长,就不放了。(这种设计真的没啥意思)

特效测试里的黄金矿工的来源

结语:

看完了新手教程,赶快开始实战吧,先从这个"简单"的技能开始(笑)

三国杀上线前就在无名杀玩腻了的滕公主


无名杀制作扩展教程00.3 摸牌技的评论 (共 条)

分享到微博请遵守国家法律