加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 远坂焰 于 2014-3-28 13:35 编辑
目前用的方法是
class Game_Battler < Game_BattlerBase #-------------------------------------------------------------------------- # ● 计算伤害 #-------------------------------------------------------------------------- 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) @result.make_damage(value.to_i, item, user.state?(26) || user.state?(27)) end end
class Game_Battler < Game_BattlerBase
#--------------------------------------------------------------------------
# ● 计算伤害
#--------------------------------------------------------------------------
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)
@result.make_damage(value.to_i, item, user.state?(26) || user.state?(27))
end
end
但是感觉有点繁琐
这样话的如果3个或者3个以上的状态时写的也太长了吧
试了下
user.state?(26 || 27)
结果悲哀的发现只会判定括号内的真假 所以26判定的永远是真只会返回26 27根本就没被计算
如果是
user.state?(26,27)
当其中任意一个状态触发时就会提示错误 wrong number of arguments (2 of 1)
求教有什么符号能放在 26和27 之间就达成(26或者27)的效果吗 |