Refactor Creature::SelectNearestTarget(float dist)

This function is used in many scripts to find the nearest enemy within the given distance.
However, it had an implicit limit to the ATTACK_DISTANCE. so in many case the "dist" was in fact just ignored.
In other case, the ATTACK_DISTANCE is required. So 2 functions are necessary to avoid ambiguities.

The refactoring is the split of the function in 2: SelectNearestTarget and SelectNearestTargetInAttackDistance.

--HG--
branch : trunk
This commit is contained in:
Trazom62
2010-04-25 12:59:27 +02:00
parent b466819333
commit eccf5bf547
10 changed files with 76 additions and 20 deletions
@@ -258,12 +258,11 @@ struct boss_twinemperorsAI : public ScriptedAI
{
AfterTeleport = false;
me->clearUnitState(UNIT_STAT_STUNNED);
Unit *nearu = me->SelectNearestTarget(100);
//DoYell(nearu->GetName(), LANG_UNIVERSAL, 0);
if (nearu)
if (Unit *nearu = me->SelectNearestTarget(100))
{
//DoYell(nearu->GetName(), LANG_UNIVERSAL, 0);
AttackStart(nearu);
me->getThreatManager().addThreat(nearu, 10000);
me->AddThreat(nearu, 10000);
}
return true;
}