Arma Reforger Explorer 1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Loading...
Searching...
No Matches
SCR_ConsumableMorphine.c
Go to the documentation of this file.
1
3class SCR_ConsumableMorphine : SCR_ConsumableEffectHealthItems
4{
5
6 //------------------------------------------------------------------------------------------------
7 override bool CanApplyEffect(notnull IEntity target, notnull IEntity user, out SCR_EConsumableFailReason failReason)
8 {
9 ChimeraCharacter char = ChimeraCharacter.Cast(target);
10 if (!char)
11 return false;
12
14 if (!damageMgr)
15 return false;
16
17 array<ref SCR_PersistentDamageEffect> effects = damageMgr.GetAllPersistentEffectsOfType(SCR_MorphineDamageEffect);
18 if (!effects.IsEmpty())
19 {
20 failReason = SCR_EConsumableFailReason.ALREADY_APPLIED;
21 return false;
22 }
23
24 array<HitZone> hitZones = {};
25 damageMgr.GetPhysicalHitZones(hitZones);
26 SCR_RegeneratingHitZone regenHitZone;
27
28 foreach (HitZone hitZone : hitZones)
29 {
30 regenHitZone = SCR_RegeneratingHitZone.Cast(hitZone);
31 if (!regenHitZone)
32 continue;
33
34 if (regenHitZone.GetDamageState() != EDamageState.UNDAMAGED)
35 return true;
36 }
37
38 failReason = SCR_EConsumableFailReason.UNDAMAGED;
39
40 return false;
41 }
42
43 //------------------------------------------------------------------------------------------------
44 override bool CanApplyEffectToHZ(notnull IEntity target, notnull IEntity user, ECharacterHitZoneGroup group, out SCR_EConsumableFailReason failReason = SCR_EConsumableFailReason.NONE)
45 {
46 return CanApplyEffect(target, user, failReason);
47 }
48
49 //------------------------------------------------------------------------------------------------
50 EDamageType GetDefaultDamageType()
51 {
52 return EDamageType.HEALING;
53 }
54
55 override ItemUseParameters GetAnimationParameters(IEntity item, notnull IEntity target, ECharacterHitZoneGroup group = ECharacterHitZoneGroup.VIRTUAL)
56 {
57 ItemUseParameters itemUseParams = super.GetAnimationParameters(item, target, group);
58 itemUseParams.SetAllowMovementDuringAction(true);
59 return itemUseParams;
60 }
61
62 //------------------------------------------------------------------------------------------------
63 // constructor
64 void SCR_ConsumableMorphine()
65 {
66 m_eConsumableType = SCR_EConsumableType.MORPHINE;
67 }
68}
SCR_AIAnimation_Loitering BaseContainerProps
Commanding menu commanding element class.
SCR_EConsumableType
Type of consumable gadget.
SCR_VehicleDamageManagerComponent GetDamageManager()
EDamageType
Definition EDamageType.c:13
EDamageState