class Game_Troop < Game_Unit
attr_reader :troop_id
end
def make_obj_damage_value(user, obj)
damage = 0
unless user.actor? # 如果攻击者不是角色, 也就是 敌人的话
if $game_troop.troop_id == 2 # 如果 敌人队伍的 ID 为 2
if user.enemy.id == 3 # 攻击者是三号敌人, 那么
if obj.id == 4 # 技能 ID 是 4
damage = obj.base_damage * 2 # 基础计算 * 2
end
end
end
end
damage = obj.base_damage if damage == 0 # 基础计算
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