3 [
Attribute(
"#AR-SupportStation_Heal_ActionInvalid_FullHealth",
desc:
"Text shown on action if undamaged", uiwidget: UIWidgets.LocaleEditBox)]
6 [
Attribute(
"#AR-Inventory_Bleeding",
desc:
"Text shown on action if character is bleeding and action cannot be performed", uiwidget: UIWidgets.LocaleEditBox)]
15 [
Attribute(
"#AR-SupportStation_Heal_ActionInvalid_Needs_SupportStation_Emergency",
desc:
"Character cannot heal more as max healing is reached for healing with emergency heal (No medical services in the area)", uiwidget: UIWidgets.LocaleEditBox)]
21 [
Attribute(
"0",
desc:
"If this heal action will also heal the blood hitzone")]
22 protected bool m_bHealBloodHitzone;
24 protected HitZone m_BloodHitZone;
39 protected override bool RequiresGadget()
45 protected override int GetActionDecimalCount()
55 return m_sInvalidDamaged;
57 return m_sInvalidCharacterIsBleeding;
63 return m_sInvalidMaxHealingReachedEmergency;
65 return super.GetInvalidPerformReasonString(reasonInvalid);
69 override bool CanBeShownScript(IEntity user)
74 foreach(
HitZone hitzone : m_aHitZonesToHeal)
77 if (hitzone.GetHealthScaled() != 1)
78 return super.CanBeShownScript(user);
86 override bool CanBePerformedScript(IEntity user)
96 foreach(
HitZone hitzone : m_aHitZonesToHeal)
98 if (hitzone.GetDamageOverTime(
EDamageType.BLEEDING) > 0)
105 return super.CanBePerformedScript(user);
110 HitZone GetBloodHitZoneToHeal()
112 return m_BloodHitZone;
116 protected override void SetHitZonesToHeal()
118 m_aHitZonesToHeal.Clear();
121 if (m_bHealBloodHitzone)
124 if (charDamageManager)
125 m_BloodHitZone = charDamageManager.GetBloodHitZone();
131 super.SetHitZonesToHeal();