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

新元的无名杀扩展教程(一)技能_2触发器,任务,特殊技初步

2022-09-14 14:56 作者:新元noname  | 我要投稿

写在前面

在前面我们已经了解trigger类技的基本结构:

trigger:{

},

content:function(){

}

接下来我们将讲一讲更多的关于trigger类技能的问题

1.触发器(trigger)

我们已经知道了trigger:{},里面就是技能的触发时机。

不仅player(你,技能拥有者)来触发技能,常用的如global,source,target也可来触发技能。

下面我们就举几个栗子,方便理解。

global就是全场的意思。如:

global:"damageEnd"

场上一有"damageEnd"这一时机就触发这个技能。即一有角色受到伤害后,此技能就触发。


source就是来源的意思。如:

source:"damageEnd"

你一旦作为"damageEnd"这一时机的来源就触发这个技能。即你造成伤害后,此技能就触发。


target就是目标的意思。如:

target:"useCardToTarget",

同上,你成为一张牌的目标时,此技能就触发。

trigger被触发,它就会向content中发送有关的信息。比如:

trigger:{global:"damageEnd"}

他就会向content发送谁受的伤害、谁是伤害的来源、伤害的属性、造成伤害的卡牌,等等。


2.任务执行者

从上面的内容我们已经知道trigger中的东西被触发后,就会向内容content传送有关信息。这些传过来的东西也可以写在内容content作为对象。

如果已有

trigger:{global:"damageEnd"}

你就可以在content:function(){}中写:

trigger.player.recover()

受到伤害的角色就恢复一点体力。

你也可以让触发该事件的伤害来源受到一点伤害。

trigger.source.damage()

除了trigger送过来的,可以执行任务,这里在介绍几种还可以执行任务的。

①_status.currentPhase

就是当前回合角色

②game.me

就是你玩的那个角色

③game.players[i]

game.players是一个场上存活角色的有序集合,可以通过改变i的值(i是个数字),改变不同的角色。一般来说,game.players[0]就是game.me。

注意一点,请确保你写的每一个内容content的对象都存在,不存在的将默认为undefined(未定义的)。undefined无法执行任务,会报错。


3.特殊技

我们知道,许多技能都是特殊的,如主公技,锁定技,限定技,觉醒技,转换技,使命技,charlotte技,等等。

我们怎么编辑一个特殊技能呢?

当然,基本的骨架是不变的。

比如,要设置成锁定技,只需要加上forced:true即可。

比如:锁定技,一名角色受到伤害后,当前回合角色摸一张牌。

trigger:{

      global:"damageEnd" 

},

forced:true,

content:function(){

      _status.currentPhase.draw()

}

这样,该技能就成为一个锁定技,并且固定发动。就像贴标签一样。

同理,只要再贴上相应标签就可以将相应技能设定为一种特殊技了。

如:

限定技:limited:true,

觉醒技:juexingji:true,

转换技:zhuanhuanji:true,

主公技:zhuSkill:true,

使命技:dutySkill:true,

charlotte技:charlotte:true,

但是,除了charlotte技,确实不能被封印,因白板而失去,等等。其他的技能都没有对应的效果。

这是因为,这样只是声明这个技能是某种特殊技能,但是并没有特殊效果。关于特殊效果的制作,我们放在下一期。

新元的无名杀扩展教程(一)技能_2触发器,任务,特殊技初步的评论 (共 条)

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