#--------------------------------------------------------------------------
# ● 计算技能/物品的必杀几率
#--------------------------------------------------------------------------
def item_cri(user, item)
return 1 if item.always_critical? # 加这行。最好使用alias的方法,这里不再赘述。
item.damage.critical ? user.cri * (1 - cev) : 0
end
#...
#--------------------------------------------------------------------------
# ● 计算伤害
#--------------------------------------------------------------------------
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 原来的代码
if @result.critical
# 如果技能没有特殊效果,还是用原来的算法
# 当然也可以直接把一般技能的critical_rate设为3
value = item.critical_rate ? value * item.critical_rate : apply_critical(value)
end
value = apply_variance(value, item.damage.variance)
value = apply_guard(value)
@result.make_damage(value.to_i, item)
end