Project1

标题: 关于利用YEP_BuffStatesCore插件的中毒伤害制作问题 [打印本页]

作者: 逆夏@血色    时间: 前天 19:12
标题: 关于利用YEP_BuffStatesCore插件的中毒伤害制作问题
如标题所示,我希望我的中毒攻击达成《杀戮尖塔》那种的效果——回合开始时,减少对应层数的生命然后层数减少1。
然后我在寻找教程时找到了这个帖子:https://rpg.blue/thread-491728-1-1.html   (再次对原贴楼主表示感谢!)
这个帖子的楼主写了一套这个效果的插件,所以我拿来用了()当然我自己修改了一下(就是把“target._du += 2;”的2改成了1)
下面奉上使用的效果


//定义毒素这个状态每次攻击增加1
<Custom Apply Effect>
target._du = target._du || 0;                     //target._du这个可以自行修改,改成自己能力的变量
target._du += 1;
</Custom Apply Effect>

//每回合毒素减少1层
<Custom Regenerate Effect>
if (target._du >= 0) {
  target._du -= 1;
  target.setStateCounter(34, target._du);    //显示层数计数,34是状态编号, target._du是调用了之前定义的变量,需要跟随最开始的变量名进行修改
}
</Custom Regenerate Effect>

//计算每次行动后的血量减少
<Custom Action Start Effect>
var damage = Math.floor(target._du);        //定义一个伤害变量 并进行计算
target.gainHp(-damage);                          //进行血量的增减,示例中是减少
target.startDamagePopup();                     //伤害弹出
</Custom Action Start Effect>

//状态结束后将毒素变量清零
<Custom Leave Effect>
target._du = 0;
</Custom Leave Effect>

但是我发现了问题:假如怪叠了4层,然后下一回合该是三层收到3点伤害,但是依旧是4伤害,同时在这个3伤害的基础上补上7层毒后对面收到的是11点伤害.
是的,每次都是受到叠毒的层数最大值伤害,无论还剩下几层,而且伤害相加都是最大值加最大值,就很奇怪qwq
求求各位大佬能够解惑qwq

作者: jie119168    时间: 昨天 11:15
<Custom DoT Formula>
  value = b.mhp*b._stateTurns[stateId]*0.01;
  variance = 0;
</Custom DoT Formula>
<Reapply Add Turns>
作者: 逆夏@血色    时间: 7 小时前
jie119168 发表于 2025-4-19 11:15
value = b.mhp*b._stateTurns[stateId]*0.01;
  variance = 0;

老师你好!想问一下这一段是怎么用的,是直接塞到最上面的某个地方吗?




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1