File size: 1,839 Bytes
b6a38d7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
-- ========== GENERATED BY CharacterEffectCompositeDef Editor DO NOT EDIT MANUALLY! ==========

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, --[[CharacterEffectCompositeDef CollateralDamage DisplayName]] "Collateral Damage"),
	Description = T(247186377267, --[[CharacterEffectCompositeDef CollateralDamage Description]] "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,
}