赞 | 0 |
VIP | 0 |
好人卡 | 1 |
积分 | 4 |
经验 | 868 |
最后登录 | 2014-6-14 |
在线时间 | 628 小时 |
Lv2.观梦者
- 梦石
- 0
- 星屑
- 448
- 在线时间
- 628 小时
- 注册时间
- 2011-9-27
- 帖子
- 3996
|
公式在脚本Game_Battler的648行开始,公式表明技能伤害和防御有关- #--------------------------------------------------------------------------
- # ● 计算技能/物品伤害
- # user : 技能或物品的使用者
- # obj : 使用的技能或物品
- # 计算结果赋值入 @hp_damage
- #--------------------------------------------------------------------------
- def make_obj_damage_value(user, obj)
- damage = obj.base_damage # 基础计算
- if damage > 0 # 若伤害为正
- damage += user.atk * 4 * obj.atk_f / 100 # 使用者攻击力关系度
- damage += user.spi * 2 * obj.spi_f / 100 # 使用者精神力关系度
- unless obj.ignore_defense # 除非无视防御力
- damage -= self.def * 2 * obj.atk_f / 100 # 目标攻击力关系度
- damage -= self.spi * 1 * obj.spi_f / 100 # 目标精神力关系度
- end
- damage = 0 if damage < 0 # 设负数伤害为0
- elsif damage < 0 # 若伤害为负
- damage -= user.atk * 4 * obj.atk_f / 100 # 使用者攻击力关系度
- damage -= user.spi * 2 * obj.spi_f / 100 # 使用者精神力关系度
- end
- 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 # 伤害魔力
- else
- @hp_damage = damage # 伤害体力
- end
- end
复制代码 |
|