Arma Reforger Explorer 1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Loading...
Searching...
No Matches
SCR_DamageEffect.c
Go to the documentation of this file.
1
5
6class SCR_DamageEffect : BaseDamageEffect
7{
8 void SCR_DamageEffect()
9 {
10 SetDamageType(GetDefaultDamageType());
11 }
12
18 [Obsolete("Use BaseDamageEffect.IsProxy() instead")]
19 bool IsProxy(SCR_ExtendedDamageManagerComponent dmgManager)
20 {
21 return IsProxy();
22 }
23
24 //------------------------------------------------------------------------------------------------
26 protected event override void HandleConsequences(SCR_ExtendedDamageManagerComponent dmgManager, DamageEffectEvaluator evaluator)
27 {
28 evaluator.HandleEffectConsequences(this, dmgManager);
29 }
30
31 //------------------------------------------------------------------------------------------------
32 protected event override void OnDiag(SCR_ExtendedDamageManagerComponent dmgManager)
33 {
34 string text = this.Type().ToString() + "\n";
35
36 if (!IsProxy())
37 {
38 if (!GetInstigator().GetInstigatorEntity())
39 text += text.Format(" Instigator entity: %1 \n", "None");
40 else
41 text += text.Format(" Instigator entity: %1 \n", GetInstigator().GetInstigatorEntity().GetID());
42
43 text += text.Format(" TotalDamage: %1 \n", GetTotalDamage());
44 }
45
46 text += text.Format(" DamageType: %1 \n", typename.EnumToString(EDamageType, GetDamageType()));
47 if (GetAffectedHitZone())
48 text += text.Format(" HitZone: %1", GetAffectedHitZone().GetName());
49
50 DbgUI.Text(text);
51 }
52
53 //------------------------------------------------------------------------------------------------
54 override bool Save(ScriptBitWriter w)
55 {
56 super.Save(w);
57
58 bool isDefaultType = GetDamageType() == GetDefaultDamageType();
59 w.WriteBool(isDefaultType);
60
61 if (!isDefaultType)
62 w.WriteInt(GetDamageType());
63
64 return true;
65 }
66
67 //------------------------------------------------------------------------------------------------
68 override bool Load(ScriptBitReader r)
69 {
70 super.Load(r);
71
72 bool isDefaultType = false;
73 r.ReadBool(isDefaultType);
74
75 int localDamageType = GetDefaultDamageType();
76 if (!isDefaultType)
77 r.ReadInt(localDamageType);
78
79 SetDamageType(localDamageType);
80 return true;
81 }
82
83 //------------------------------------------------------------------------------------------------
85 {
86 return EDamageType.TRUE;
87 }
88}
89
override string GetID(string fileName, string varName, array< BaseContainer > objects, array< int > indexes)
int Type
Definition DbgUI.c:66
override bool Load(ScriptBitReader r)
event override void OnDiag(SCR_ExtendedDamageManagerComponent dmgManager)
override bool Save(ScriptBitWriter w)
event override void HandleConsequences(SCR_ExtendedDamageManagerComponent dmgManager, DamageEffectEvaluator evaluator)
Called from ApplyEffect.
EDamageType GetDefaultDamageType()
EDamageType
Definition EDamageType.c:13
BaseProjectileComponentClass GameComponentClass GetInstigator()