Project1

标题: YEP_BuffStatesCore中由哪两个变量控制攻击者和被攻击者? [打印本页]

作者: [email protected]    时间: 2024-3-26 13:56
标题: YEP_BuffStatesCore中由哪两个变量控制攻击者和被攻击者?
本帖最后由 [email protected] 于 2024-3-26 14:02 编辑

RT,因为YEP_BuffStatesCore的说明中没有明确声明攻击者和被攻击者,有Attacker和Defender但尝试过这两个变量,好像并没有生效;
以及游戏伤害公式里的a和b好像也不能表示攻击者和被攻击者,在代码里重新声明a = getCurrentAttacker();b = this;好像也不生效。
想通过YEP_BuffStatesCore制作一个状态,当同时检测到当前目标存在9号状态和12号状态时,获得13号状态并消除9号状态和12号状态。当检测到单位身上有13号状态时,立即造成5次攻击者物理攻击*0.35的物理伤害,随后消除13号状态。
所以这种情况应该要怎么写?下面是我的代码,但是好像并不能生效。
问题主要在13号状态的代码上,9号和12号状态的代码是没有问题的。13号代码不清楚是否造成伤害,因为之前测试的时候好像确实有消除13号状态但是没有显示伤害的数值。
这是9号和12号状态注释下的代码:
JAVASCRIPT 代码复制
  1. <Custom Apply Effect>
  2. if (this.isStateAffected(12)) {
  3.   this.addState(13);
  4.   this.removeState(12);
  5.   this.removeState(9);
  6. }
  7. </Custom Apply Effect>

JAVASCRIPT 代码复制
  1. <Custom Apply Effect>
  2. if (this.isStateAffected(9)) {
  3.   this.addState(13);
  4.   this.removeState(9);
  5.   this.removeState(12);
  6. }
  7. </Custom Apply Effect>

这是13号状态注释下的代码:
JAVASCRIPT 代码复制
  1. <Custom Apply Effect>
  2. for (let i = 0; i < 5; i++) {
  3.     let damage = Attacker.atk * 0.75 - Defender.def;
  4.     damage = damage > 0 ? damage : 0;
  5.     Defender.hp -= damage;
  6.     Defender.displayDamage(Defender, damage);
  7. }
  8. Defender.removeState(13);
  9. </Custom Apply Effect>

作者: qq302849815    时间: 2024-3-26 14:51
攻击方对象:user
防守方对象:target
状态来源对象:origin
更改hp用这个:target.gainHp();




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