-- ========== GENERATED BY CharacterEffectCompositeDef Editor DO NOT EDIT MANUALLY! ========== PlaceObj('CharacterEffectCompositeDef', { 'Group', "Health", 'Id', "Berserker", 'SortKey', 4, 'Parameters', { PlaceObj('PresetParamPercent', { 'Name', "damageBonus", 'Value', 10, 'Tag', "%", }), PlaceObj('PresetParamNumber', { 'Name', "stackCap", 'Value', 5, 'Tag', "", }), }, 'object_class', "Perk", 'unit_reactions', { PlaceObj('UnitReaction', { Event = "OnCalcBaseDamage", Handler = function (self, target, weapon, attack_target, data) local wounded = target:GetStatusEffect("Wounded") if wounded and wounded.stacks > 0 then local stackCap = self:ResolveValue("stackCap") local damagePerStack = self:ResolveValue("damageBonus") local stacks = Min(wounded.stacks, stackCap) local berserkerMod = damagePerStack*stacks data.modifier = data.modifier + berserkerMod data.breakdown[#data.breakdown + 1] = { name = self.DisplayName, value = berserkerMod } if target.team.player_enemy and g_Combat and not table.find(g_Combat.berserkVRsPerRole, target.role) then PlayVoiceResponse(target, "AIBerserkerPerk") table.insert(g_Combat.berserkVRsPerRole, target.role) end end end, }), }, 'DisplayName', T(489115886772, --[[CharacterEffectCompositeDef Berserker DisplayName]] "Rage"), 'Description', T(709603782046, --[[CharacterEffectCompositeDef Berserker Description]] "Deal Damage per .\n\nCapped at %."), 'Icon', "UI/Icons/Perks/PainManagement", 'Tier', "Silver", 'Stat', "Health", 'StatValue', 80, })