Project1

标题: 请问怎么做到武器精通效果? [打印本页]

作者: haohaoniu    时间: 2024-4-30 11:26
标题: 请问怎么做到武器精通效果?
例如A角色拥有剑精通,装备武器类型为剑的武器时候,攻击力在武器面板之上额外增加
作者: shiroin    时间: 2024-4-30 11:26
用YEP系列插件可以设计一个被动技能来实现,需要插件YEP_BuffsStatesCore和YEP_AutoPassiveStates
正好官方还提供了一个效果相近的案例,装备剑武器时,造成伤害加40%:
  1. <Custom Passive Condition>
  2. // 将被动技能默认条件设置为 false
  3. condition = false;
  4. // 检查队伍是否处于战斗状态
  5. if ($gameParty.inBattle()) {
  6.   // 检查是否为玩家角色
  7.   if (user.isActor()) {
  8.     // 获取剑武器类型 ID(假设ID是2)
  9.     var swordTypeId = 2;
  10.     // 获取角色当前装备的武器
  11.     var weapons = user.weapons();
  12.     // 循环遍历每个武器
  13.     for (var i = 0; i < weapons.length; ++i) {
  14.       // 获取当前循环的武器数据
  15.       var weapon = weapons[i];
  16.       // 检查武器是否存在以及武器类型是否为剑
  17.       if (weapon && weapon.wtypeId === swordTypeId) {
  18.         //将被动技能条件设置为 true
  19.         condition = true;
  20.       }
  21.     }
  22.   }
  23. }
  24. </Custom Passive Condition>

  25. <Custom Confirm Effect>
  26. // 检查该行为是否造成 HP 伤害
  27. if (this.isHpEffect() && value > 0) {
  28.   // 计算剑武器提供的额外伤害量
  29.   var bonus = Math.ceil(value * 0.40);
  30.   // 将其添加到最终的伤害
  31.   value += bonus;
  32. }
  33. </Custom Confirm Effect>
复制代码

如果你是想装备剑武器时提升攻击力,你可以修改下这个代码
作者: haohaoniu    时间: 2024-4-30 16:58
shiroin 发表于 2024-4-30 16:33
用YEP系列插件可以设计一个被动技能来实现,需要插件YEP_BuffsStatesCore和YEP_AutoPassiveStates
正好官方 ...

这段代码是利用状态核心插件放在状态的备注里,然后给某个角色添加这个状态吗?
作者: shiroin    时间: 2024-4-30 21:18
haohaoniu 发表于 2024-4-30 16:58
这段代码是利用状态核心插件放在状态的备注里,然后给某个角色添加这个状态吗? ...

代码是填在状态的注释栏里
然后作为被动技能,需要你设置在角色面板或职业甚至装备里
只要激活了就有效
具体方法参考YEP_AutoPassiveStates的使用方法
作者: haohaoniu    时间: 2024-5-2 22:26
shiroin 发表于 2024-4-30 21:18
代码是填在状态的注释栏里
然后作为被动技能,需要你设置在角色面板或职业甚至装备里
只要激活了就有效

感谢大佬,测试可行




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