Arma Reforger Explorer 1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Loading...
Searching...
No Matches
SCR_BandageDamageEffect.c
Go to the documentation of this file.
2{
3 //------------------------------------------------------------------------------------------------
4 override void OnEffectAdded(SCR_ExtendedDamageManagerComponent dmgManager)
5 {
6 super.OnEffectAdded(dmgManager);
7
9 if (!damageMgr)
10 return;
11
12 // if cast fails, HZ is probably virtual
13 SCR_CharacterHitZone charHZ = SCR_CharacterHitZone.Cast(GetAffectedHitZone());
14 if (!charHZ)
15 return;
16
18 array<HitZone> hitZones = {};
19
20 damageMgr.GetHitZonesOfGroup(charHZ.GetHitZoneGroup(), hitZones);
21 if (hitZones.IsEmpty())
22 {
23 hzGroup = damageMgr.GetCharMostDOTHitzoneGroup(EDamageType.BLEEDING);
24 }
25 else
26 {
27 HitZone targetHitZone = hitZones.Get(0);
28 if (!targetHitZone)
29 return;
30
31 SCR_CharacterHitZone charHitZone = SCR_CharacterHitZone.Cast(targetHitZone);
32 if (!charHitZone)
33 return;
34
35 hzGroup = charHitZone.GetHitZoneGroup();
36 }
37
38 if (hzGroup == ECharacterHitZoneGroup.VIRTUAL)
39 return;
40
41 damageMgr.RemoveGroupBleeding(hzGroup);
42 }
43
44 //------------------------------------------------------------------------------------------------
45 protected override void HandleConsequences(SCR_ExtendedDamageManagerComponent dmgManager, DamageEffectEvaluator evaluator)
46 {
47 super.HandleConsequences(dmgManager, evaluator);
48
49 evaluator.HandleEffectConsequences(this, dmgManager);
50 }
51}
override void HandleConsequences(SCR_ExtendedDamageManagerComponent dmgManager, DamageEffectEvaluator evaluator)
ECharacterHitZoneGroup GetCharMostDOTHitzoneGroup(EDamageType damageType, bool onlyExtremities=false, bool ignoreTQdHitZones=false, bool ignoreIfBeingTreated=false)
void RemoveGroupBleeding(ECharacterHitZoneGroup charHZGroup)
Terminate all bleeding effects on every hitZone of a group.
EDamageType
Definition EDamageType.c:13