4 [
Attribute(
desc:
"Used to get the damage state such as Critical, minor ect")]
5 protected ref SCR_DamageIntensityHolder m_DamageIntensityHolder;
7 SCR_DamageManagerComponent m_DamageManagerComponent;
10 protected ref array<HitZone> m_aHitZonesToHeal = {};
13 protected override void DelayedInit(IEntity owner)
18 super.DelayedInit(owner);
23 if (m_DamageManagerComponent)
33 int GetHitZonesToHeal(notnull out array<HitZone> hitZones)
35 hitZones.Copy(m_aHitZonesToHeal);
36 return hitZones.Count();
40 protected void SetHitZonesToHeal()
42 m_aHitZonesToHeal.Clear();
44 if (!m_DamageManagerComponent)
49 if (m_aHitZonesToHeal.Count() > 1)
56 int defaultHitZoneIndex = m_aHitZonesToHeal.Find(defaultHitZone);
57 if (m_aHitZonesToHeal.IsIndexValid(defaultHitZoneIndex))
59 m_aHitZonesToHeal.RemoveOrdered(defaultHitZoneIndex);
60 m_aHitZonesToHeal.InsertAt(defaultHitZone, m_aHitZonesToHeal.Count() -1);
67 SCR_DamageManagerComponent GetActionDamageManager()
73 protected override string GetActionStringParam()
75 if (!m_DamageIntensityHolder || m_aHitZonesToHeal.IsEmpty() || (!m_bCanPerform && m_eCannotPerformReason !=
ESupportStationReasonInvalid.HEAL_MAX_HEALABLE_HEALTH_REACHED_FIELD && m_eCannotPerformReason !=
ESupportStationReasonInvalid.HEAL_MAX_HEALABLE_HEALTH_REACHED_EMERGENCY))
78 SCR_UIName uiInfo = m_DamageIntensityHolder.GetValidIntensityUIInfo(m_aHitZonesToHeal);
80 return uiInfo.GetName();