Project1

标题: 关于YEP插件YEP.ElementCore的问题 [打印本页]

作者: 涅普姬雅    时间: 2022-11-19 10:52
标题: 关于YEP插件YEP.ElementCore的问题
正在制作“xx属性的招式威力+1”的被动技能。
于是使用了YEP的元素增强插件
但是这个插件似乎只提供了
【<Element Magnify x: +x%>】这一个接口,只能按照百分比提高元素倍率
昨天和懂JS的朋友翻了下元素核心的插件脚本
却发现这个脚本只进行了倍率计算......没有找到最终伤害的计算公式
请问巨巨们有没有修改计算公式的方法,或者其他能达成按数值提高单一元素伤害的插件?
作者: 涅普姬雅    时间: 2022-11-19 11:16
想了想,我的基础伤害只有1~5,似乎可以用穷举法穷举出来!
使用以下效果不知道是否能可行.....


<Custom Passive Condition>
  if (技能威力==1) {
   <Element Amplify 白刃: +100%>
}
  if (技能威力==2) {
   <Element Amplify 白刃: +50%>
}
if (技能威力==3) {
   <Element Amplify 白刃: +35%>
}
……
  </Custom Passive Condition>

这个样子来计算最终加值,可是我不知道怎么调用检测这次招式的威力的指令
有没有大佬救救
作者: 涅普姬雅    时间: 2022-11-19 11:58
涅普姬雅 发表于 2022-11-19 11:16
想了想,我的基础伤害只有1~5,似乎可以用穷举法穷举出来!
使用以下效果不知道是否能可行.....

<Custom Passive Condition>
  if (user.$rpg_objects.makeDamageValue == 1) {
     <Element Magnify 白刃: +100%>
  } else{
   if (user.$rpg_objects.makeDamageValue == 2) {
     <Element Magnify 白刃: +70%>
  } else{
  if (user.$rpg_objects.makeDamageValue == 3) {
     <user.Element Magnify 白刃: +70%>
  } else{
  if (user.$rpg_objects.makeDamageValue == 4) {
     <Element Magnify 白刃: +30%>
  } else{
  if (user.$rpg_objects.makeDamageValue == 5) {
     <Element Magnify 白刃: +20%>
  }  }  }  }  }
  </Custom Passive Condition>

翻脚本找到了检测最终伤害的函数,然后把这个效果穷举出来了,但是没有完全穷举出来()出现了神秘的bug——只有伤害>=3的时候效果会才适用,这是什么原因啊()
作者: 涅普姬雅    时间: 2022-11-19 12:40
本帖最后由 涅普姬雅 于 2022-11-19 18:14 编辑

呜呜,也没有大佬来帮帮咱,咱最后还是自己写出来了,就不该去碰那个元素核心

<Custom Confirm Effect>
//检测是否为伤害类技能
if (this.isSkill() && this.isHpEffect() && value >= 1) {
//get白刃属性
var 白刃ElementId = 1
//检测本次技能的元素类型
var elements = this.getItemElements();
//比对本次招式是否为白刃元素技能
if (elements.contains(白刃ElementId)) {
//设置加值
    var bonus = Math.ceil(1);
    value += bonus;
}
}
</Custom Confirm Effect>
作者: 涅普姬雅    时间: 2022-11-19 19:21
涅普姬雅 发表于 2022-11-19 12:40
呜呜,也没有大佬来帮帮咱,咱最后还是自己写出来了,就不该去碰那个元素核心

哦,原来是函数名搞错了,此贴终结......




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