|
|
|
|
|
UndefineClass('CollateralDamage') |
|
DefineClass.CollateralDamage = { |
|
__parents = { "Perk" }, |
|
__generated_by_class = "CharacterEffectCompositeDef", |
|
|
|
|
|
object_class = "Perk", |
|
unit_reactions = { |
|
PlaceObj('UnitReaction', { |
|
Event = "OnCalcDamageAndEffects", |
|
Handler = function (self, target, attacker, attack_target, action, weapon, attack_args, hit, data) |
|
if attacker ~= target then return end |
|
|
|
if not IsKindOf(attack_target, "CombatObject") or not IsKindOfClasses(weapon, "HeavyWeapon", "MachineGun") then |
|
return |
|
end |
|
|
|
if IsKindOf(attack_target,"Unit") then |
|
if GetCoversAt(attack_target:GetPos()) then |
|
local damageBonus = self:ResolveValue("enemyDamageMod") |
|
data.base_damage = MulDivRound(data.base_damage, 100 + damageBonus, 100) |
|
data.breakdown[#data.breakdown + 1] = { name = self.DisplayName, value = damageBonus } |
|
end |
|
else |
|
local damageBonus = self:ResolveValue("objectDamageMod") |
|
data.base_damage = MulDivRound(data.base_damage, 100 + damageBonus, 100) |
|
data.breakdown[#data.breakdown + 1] = { name = self.DisplayName, value = damageBonus } |
|
end |
|
end, |
|
}), |
|
}, |
|
DisplayName = T(462837297109, "Collateral Damage"), |
|
Description = T(247186377267, "Deal <em><percent(enemyDamageMod)></em> extra <em>Damage</em> to enemies behind cover with <em>Heavy</em> <em>Weapons</em> and <em>Machine Guns</em>.\n\nDeal <em><percent(objectDamageMod)> Damage</em> to objects with <em>Heavy</em> <em>Weapons</em> and <em>Machine Guns</em>."), |
|
Icon = "UI/Icons/Perks/CollateralDamage", |
|
Tier = "Gold", |
|
Stat = "Strength", |
|
StatValue = 90, |
|
} |
|
|
|
|