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;
}