ACR_CreatureBehavior.CreatureObject.TryToHealAll C# (CSharp) Method

TryToHealAll() public method

This will look for an action that will improve the condition of the party.
public TryToHealAll ( ) : bool
return bool
        public bool TryToHealAll()
        {
            // First we look for friends who are on death's door.
            foreach (CreatureObject Target in Party.PartyMembers)
            {
                if (Target.HealthPercentage < 10)
                {
                    TryToHeal(Target, Target.MaxHitPoints - Target.CurrentHitPoints);
                    return true;
                }
            }

            // Then we look for friends who are very-badly hurt, or have a crippling status affliction, and treat with equal priority.
            foreach (CreatureObject Target in Party.PartyMembers)
            {
                if (Target.HealthPercentage < 30)
                {
                    TryToHeal(Target, Target.MaxHitPoints - Target.CurrentHitPoints);
                    return true;
                }
                else if (TryRemoveUrgentStatusAfflictions(Target))
                    return true;
            }
            
            // Then we look for people who have status afflictions generally-- or are just hurt pretty bad.
            foreach (CreatureObject Target in Party.PartyMembers)
            {
                if (Target.HealthPercentage < 60)
                {
                    TryToHeal(Target, Target.MaxHitPoints - Target.CurrentHitPoints);
                    return true;
                }
                else if (TryRemoveUrgentStatusAfflictions(Target))
                    return true;
            }

            // Then we look for people who are a little hurt.
            foreach (CreatureObject Target in Party.PartyMembers)
            {
                if (Target.HealthPercentage < 90)
                {
                    TryToHeal(Target, Target.MaxHitPoints - Target.CurrentHitPoints);
                    return true;
                }
            }
            return false;
        }