File size: 2,062 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
43
44
45
46
47
48
49
50
51
52
-- ========== GENERATED BY CharacterEffectCompositeDef Editor DO NOT EDIT MANUALLY! ==========

PlaceObj('CharacterEffectCompositeDef', {
	'Group', "Strength",
	'Id', "CollateralDamage",
	'SortKey', 7,
	'Parameters', {
		PlaceObj('PresetParamPercent', {
			'Name', "enemyDamageMod",
			'Value', 15,
			'Tag', "<enemyDamageMod>%",
		}),
		PlaceObj('PresetParamPercent', {
			'Name', "objectDamageMod",
			'Value', 30,
			'Tag', "<objectDamageMod>%",
		}),
	},
	'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,
})