赞 | 22 |
VIP | 0 |
好人卡 | 0 |
积分 | 54 |
经验 | 2379 |
最后登录 | 2024-11-6 |
在线时间 | 1226 小时 |
Lv4.逐梦者
- 梦石
- 0
- 星屑
- 5399
- 在线时间
- 1226 小时
- 注册时间
- 2016-12-6
- 帖子
- 389
|
原生系统好像做不到这么精细的判定,看有没有其他人回答吧,是我的话会直接考虑用YEP_BattleEngineCore + YEP_BuffsStatesCore插件去定制功能
比如你这个冻伤BUFF,把这段代码加进状态注释里就可以实现状态自然结束后即死的效果:
<Custom Leave Effect>
//让状态的持有者HP归零
user.setHp(0);
</Custom Leave Effect>
火把小怪的判定机制则要根据受击情况进行判定,把这段代码加进一个自定义的状态注释里:
<Custom React Effect>
//假设你冻伤buff的状态ID为19,按自己数据库的实际情况去修改数字
if (target.isStateAffected(19) && value > 0){
//攻击火把小怪后,身上有冻伤BUFF的队友会解除冻伤
target.removeState(19);
}else {
//没有冻伤buff直接攻击将造成反伤,反伤默认为攻击方的基础伤害
var damage = value;
target.gainHp(-damage);
target.startDamagePopup();
target.clearResult();
}
</Custom React Effect>
如果你要再丰富一些演出效果,还可以在判定中追加动画反馈或者文字解说来提示玩家 |
|