简单的方法如2楼所述,但也会有一些问题。
1、技能里加公共事件,最好是把技能设置为必定命中,不然技能miss同样会触发加血的公共事件,逻辑上说不通。但是一旦增加必定命中,就不好设置为小技能,不然直接克制黑暗效果,有点过于强势。
2、如果不纠结于10%的加血量,仅仅只是吸血的话,可以将伤害类型改为HP吸收,这样造成多少伤害就回复多少HP。如果非要吸收10%,那把伤害公式改为a.mhp * 0.1也行,但这样伤害值直接跟最大HP挂钩了,也有缺陷。
3、最后一种办法可以解决即不是必定命中,又不会因为miss触发加血的办法,不用插件,有点繁琐,要在技能里增加两种效果,第一个是一旦命中必定对敌人施加的一个“命中”状态,第二个是公共事件。
然后公共事件比较繁琐,见下图,首先把角色上一个目标敌人的号码返回给一个变量“上一个目标”,这个值肯定是在1~8之间,我假定目标是1号敌人,然后逐个开始判断,假如“上一个目标”=1,那么先检测1号敌人是否被上了“命中”这个状态,如果有则触发加血(我的代码里是+20%哈),另一种情况是这一击打死了1号敌人,那么“命中”这个效果是不会存在的,取而代之是“死亡”这个状态,所以还要检测一遍“死亡”状态,如果有也要触发加血(否则会出现打死敌人不加血的情况),这就完成了基本逻辑。接下来理论上要复制8次这个代码,分别改成2~8号敌人轮流检测一遍(如果你做的游戏里不会有那么多敌人,那可以省一点)。假定目标是2号敌人,则会跳过1号敌人的,在2号敌人的代码段执行加血。为啥一定要加一个“变量”呢,那是为了防止1号敌人死亡,你打2号敌人时也会检测1号敌人死亡状态的问题,所以必须增加变量加以区分。至于另外的变量那是取了角色最大HP再除以5的逻辑(就是+20%HP的逻辑)我就不多解释了。
