赞 | 0 |
VIP | 3 |
好人卡 | 7 |
积分 | 7 |
经验 | 34794 |
最后登录 | 2024-2-21 |
在线时间 | 684 小时 |
Lv2.观梦者
- 梦石
- 0
- 星屑
- 719
- 在线时间
- 684 小时
- 注册时间
- 2009-5-29
- 帖子
- 461
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 saturnfjh 于 2009-11-2 15:01 编辑
遇到个问题,在战斗特技伤害计算的地方会出错……
提示红色行语法错误?这是为什么?
def make_obj_damage_value(user, obj)
damage = obj.base_damage # 获取基本伤害
if damage > 0 # 伤害为正# 无视防御力以外
if obj.ignore_defense
damage *= (user.atk*obj.atk_f+user.spi*obj.atk_f)/10000
else
damage *= (user.atk*obj.atk_f*(1- self.def/(200+user.atk+self.def)+user.spi*obj.atk_f*(1-self.spi/(170+user.spi+self.spi))/10000
end
damage = 1 if damage < 0 # 减少为 0
elsif damage < 0 # 伤害为负数
damage *= (user.atk*obj.atk_f+user.spi*obj.atk_f)/10000
end
@critical = (rand(100) < attacker.cri) # 判断会心一击
@critical = false if prevent_critical # 防止会心一击?
damage *= 2 if @critical # 会心一击修正
damage *= elements_max_rate(obj.element_set) # 属性修正
damage /= 100
damage = apply_variance(damage, obj.variance) # 分散
damage = apply_guard(damage) # 防御修正
if obj.damage_to_mp
@mp_damage = damage.round # MP 伤害
else
@hp_damage = damage.round # HP 伤害
end
end |
|