#--------------------------------------------------------------------------
# * 對於使用物品或使用技能所造成的傷害的計算
# user : 技能的使用者或物品的使用者
# obj : 技能或物品(若是普通攻擊則為空)
# 最終所得的值將代入變數 @hp_damage 和 @mp_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 # 如果值為負數,則值歸零
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 # MP傷害
else
@hp_damage = damage # HP傷害
end
end