7 super.HandleEffectConsequences(effect, dmgManager);
9 CriticalThresholdTryCauseBleeding(effect, dmgManager);
15 super.HandleEffectConsequences(effect, dmgManager);
17 CriticalThresholdTryCauseBleeding(effect, dmgManager);
23 super.HandleEffectConsequences(effect, dmgManager);
25 CriticalThresholdTryCauseBleeding(effect, dmgManager);
31 super.HandleEffectConsequences(effect, dmgManager);
33 CriticalThresholdTryCauseBleeding(effect, dmgManager);
39 super.HandleEffectConsequences(effect, dmgManager);
41 CriticalThresholdTryCauseBleeding(effect, dmgManager);
47 super.HandleEffectConsequences(effect, dmgManager);
49 SCR_CharacterHitZone affectedHitZone = SCR_CharacterHitZone.Cast(effect.GetAffectedHitZone());
53 if (effect.GetBleedingChance() >
Math.RandomFloat01())
56 EffectCauseBleeding(effect, dmgManager);
64 array<HitZone> hitZonesOfGroup = {};
67 array<ref SCR_PersistentDamageEffect> persistentEffects = damageMgr.GetAllPersistentEffectsOfType(
SCR_BleedingDamageEffect);
74 foreach (
HitZone hz : hitZonesOfGroup)
76 if (persistentEffect.GetAffectedHitZone() == hz)
78 damageMgr.TerminateDamageEffect(persistentEffect);
88 super.HandleEffectConsequences(effect, dmgManager);
90 if (effect.GetResilienceDamageValueMultiplier() == 0)
103 effect.GetDamageType(),
104 effect.GetTotalDamage() * effect.GetResilienceDamageValueMultiplier(),
106 characterDmgMgr.GetOwner(),
108 effect.GetInstigator(),
114 characterDmgMgr.HandleDamage(context);
123 SCR_CharacterHitZone affectedHitZone = SCR_CharacterHitZone.Cast(effect.GetAffectedHitZone());
124 if (!affectedHitZone)
140 SCR_CharacterHitZone affectedHitZone = SCR_CharacterHitZone.Cast(effect.GetAffectedHitZone());
141 if (!affectedHitZone)
146 effect.GetDamageType(),
147 effect.GetTotalDamage(),
149 dmgManager.GetOwner(),
151 effect.GetInstigator(),
156 float var = affectedHitZone.ComputeEffectiveDamage(context,
false);
157 if (var < affectedHitZone.GetCriticalHealthThreshold())
160 EffectCauseBleeding(effect, dmgManager);
187 context.damageEffect = consequence;
189 dmgManager.HandleDamage(context);