Project1

标题: 求教攻击属性与技能属性的问题 [打印本页]

作者: 暗乄黑    时间: 2019-4-7 21:53
标题: 求教攻击属性与技能属性的问题
请教一下诸位

如果实现当角色攻击附加的属性与技能的附加属性一致时,伤害增加。

比如攻击附加火属性的角色,使用火属性技能时,伤害增加50%

这个效果应该怎么实现?用技能的公式栏能否实现?

例如:
技能属性为1号
a.“攻击附加属性ID” = 1 ? (a.atk -b.def)*1.5 : a.atk -b.def
问题是“攻击附加属性ID”如何调用?

或者在Game_Battler里直接插入应如何做?
    value = item.damage.eval(user, self, $game_variables)

    ←在这里插入?应该如何写?

    value *= item_element_rate(user, item)
    value *= pdr if item.physical?
    value *= mdr if item.magical?
    value *= rec if item.damage.recover?
    value = apply_critical(value, user) if @result.critical #value = apply_critical(value) if @result.critical
    value = apply_variance(value, item.damage.variance)
    value = apply_guard(value)
    @result.make_damage(value.to_i, item)
作者: KB.Driver    时间: 2019-4-8 15:09
RUBY 代码复制
  1. #==============================================================================
  2. # ■ 本系加成 by Calendar99
  3. #------------------------------------------------------------------------------
  4. #  当战斗者的技能属性与其攻击属性一致时,技能伤害提升
  5. #   兼容性:可能与"技能多属性"类脚本不兼容
  6. #==============================================================================
  7.  
  8. module CLD99
  9.   module Damage
  10.     RATE = 1.5
  11.     # 加成系数 1.5即伤害为原来的1.5倍
  12.   end
  13. end
  14.  
  15. class Game_Battler
  16.   #--------------------------------------------------------------------------
  17.   # ● [别名修改]获取技能/物品的属性修正值
  18.   #--------------------------------------------------------------------------
  19.   alias item_element_rate_cld99_20190408 item_element_rate
  20.   def item_element_rate(user, item)
  21.     r = item_element_rate_cld99_20190408(user, item)
  22.     rt = CLD99::Damage::RATE
  23.     user.atk_elements.any?{|i| i == item.damage.element_id} ? r * rt : r
  24.   end
  25. end


新建工程测试通过




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