加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
十分感谢tan12345给我启示。晚上,我在他提供的代码的基础之上进行增加,做出了一个新的功能:伤害反噬(对敌人的伤害使得自己也受到伤害)
以下是代码:class Game_Battler < Game_BattlerBase STATE_ID = 30 #能量逆流(状态ID,持有者的输出伤害变成治疗) STATE_ID33 = 33 #反噬之炎(状态ID,持有者的伤害对自己同样有效) #-------------------------------------------------------------------------- # ● 计算伤害 #-------------------------------------------------------------------------- def make_damage_value(user, item) 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) if @result.critical value = apply_variance(value, item.damage.variance) value = apply_guard(value) if item.damage.to_hp? and user.state?(STATE_ID) and value > 0#如果伤害是体力值伤害而且伤害者拥有STATE_ID这种状态而且伤害量为正数 value = 0 - value#将输出伤害转为负数以实现治疗效果 end if item.damage.to_hp? and user.state?(STATE_ID33) and value > 0 #如果伤害是体力值伤害而且伤害者拥有STATE_ID33这种状态而且伤害量为正数 user.hp -= value.to_i #直接扣除伤害者的生命值,达到反噬效果。注意,如果施展全屏魔法,则会受到多次反噬 end @result.make_damage(value.to_i, item) end end
class Game_Battler < Game_BattlerBase
STATE_ID = 30 #能量逆流(状态ID,持有者的输出伤害变成治疗)
STATE_ID33 = 33 #反噬之炎(状态ID,持有者的伤害对自己同样有效)
#--------------------------------------------------------------------------
# ● 计算伤害
#--------------------------------------------------------------------------
def make_damage_value(user, item)
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) if @result.critical
value = apply_variance(value, item.damage.variance)
value = apply_guard(value)
if item.damage.to_hp? and user.state?(STATE_ID) and value > 0#如果伤害是体力值伤害而且伤害者拥有STATE_ID这种状态而且伤害量为正数
value = 0 - value#将输出伤害转为负数以实现治疗效果
end
if item.damage.to_hp? and user.state?(STATE_ID33) and value > 0 #如果伤害是体力值伤害而且伤害者拥有STATE_ID33这种状态而且伤害量为正数
user.hp -= value.to_i #直接扣除伤害者的生命值,达到反噬效果。注意,如果施展全屏魔法,则会受到多次反噬
end
@result.make_damage(value.to_i, item)
end
end
睡觉去吧! |