Scripts: Removed duplicate target selection function (SelectUnit), there is only SelectTarget now
This commit is contained in:
@@ -192,38 +192,6 @@ Creature* ScriptedAI::DoSpawnCreature(uint32 uiId, float fX, float fY, float fZ,
|
||||
return me->SummonCreature(uiId, me->GetPositionX()+fX, me->GetPositionY()+fY, me->GetPositionZ()+fZ, fAngle, (TempSummonType)uiType, uiDespawntime);
|
||||
}
|
||||
|
||||
Unit* ScriptedAI::SelectUnit(SelectAggroTarget pTarget, uint32 uiPosition)
|
||||
{
|
||||
//ThreatList m_threatlist;
|
||||
std::list<HostileReference*>& threatlist = me->getThreatManager().getThreatList();
|
||||
std::list<HostileReference*>::iterator itr = threatlist.begin();
|
||||
std::list<HostileReference*>::reverse_iterator ritr = threatlist.rbegin();
|
||||
|
||||
if (uiPosition >= threatlist.size() || !threatlist.size())
|
||||
return NULL;
|
||||
|
||||
switch (pTarget)
|
||||
{
|
||||
case SELECT_TARGET_RANDOM:
|
||||
advance (itr , uiPosition + (rand() % (threatlist.size() - uiPosition)));
|
||||
return Unit::GetUnit((*me),(*itr)->getUnitGuid());
|
||||
break;
|
||||
|
||||
case SELECT_TARGET_TOPAGGRO:
|
||||
advance (itr , uiPosition);
|
||||
return Unit::GetUnit((*me),(*itr)->getUnitGuid());
|
||||
break;
|
||||
|
||||
case SELECT_TARGET_BOTTOMAGGRO:
|
||||
advance (ritr , uiPosition);
|
||||
return Unit::GetUnit((*me),(*ritr)->getUnitGuid());
|
||||
break;
|
||||
|
||||
default:
|
||||
return UnitAI::SelectTarget(pTarget, uiPosition);
|
||||
}
|
||||
}
|
||||
|
||||
SpellEntry const* ScriptedAI::SelectSpell(Unit* pTarget, uint32 uiSchool, uint32 uiMechanic, SelectTargetType selectTargets, uint32 uiPowerCostMin, uint32 uiPowerCostMax, float fRangeMin, float fRangeMax, SelectEffect selectEffects)
|
||||
{
|
||||
//No target so we can't cast
|
||||
|
||||
@@ -152,9 +152,6 @@ struct ScriptedAI : public CreatureAI
|
||||
//Spawns a creature relative to me
|
||||
Creature* DoSpawnCreature(uint32 uiId, float fX, float fY, float fZ, float fAngle, uint32 uiType, uint32 uiDespawntime);
|
||||
|
||||
//Selects a unit from the creature's current aggro list
|
||||
Unit* SelectUnit(SelectAggroTarget pTarget, uint32 uiPosition);
|
||||
|
||||
bool HealthBelowPct(uint32 pct) const { return me->HealthBelowPct(pct); }
|
||||
bool HealthAbovePct(uint32 pct) const { return me->HealthAbovePct(pct); }
|
||||
|
||||
|
||||
@@ -134,13 +134,13 @@ void SimpleAI::KilledUnit(Unit *victim)
|
||||
pTarget = me->getVictim();
|
||||
break;
|
||||
case CAST_HOSTILE_SECOND_AGGRO:
|
||||
pTarget = SelectUnit(SELECT_TARGET_TOPAGGRO,1);
|
||||
pTarget = SelectTarget(SELECT_TARGET_TOPAGGRO,1);
|
||||
break;
|
||||
case CAST_HOSTILE_LAST_AGGRO:
|
||||
pTarget = SelectUnit(SELECT_TARGET_BOTTOMAGGRO,0);
|
||||
pTarget = SelectTarget(SELECT_TARGET_BOTTOMAGGRO,0);
|
||||
break;
|
||||
case CAST_HOSTILE_RANDOM:
|
||||
pTarget = SelectUnit(SELECT_TARGET_RANDOM,0);
|
||||
pTarget = SelectTarget(SELECT_TARGET_RANDOM,0);
|
||||
break;
|
||||
case CAST_KILLEDUNIT_VICTIM:
|
||||
pTarget = victim;
|
||||
@@ -182,13 +182,13 @@ void SimpleAI::DamageTaken(Unit *killer, uint32 &damage)
|
||||
pTarget = me->getVictim();
|
||||
break;
|
||||
case CAST_HOSTILE_SECOND_AGGRO:
|
||||
pTarget = SelectUnit(SELECT_TARGET_TOPAGGRO,1);
|
||||
pTarget = SelectTarget(SELECT_TARGET_TOPAGGRO,1);
|
||||
break;
|
||||
case CAST_HOSTILE_LAST_AGGRO:
|
||||
pTarget = SelectUnit(SELECT_TARGET_BOTTOMAGGRO,0);
|
||||
pTarget = SelectTarget(SELECT_TARGET_BOTTOMAGGRO,0);
|
||||
break;
|
||||
case CAST_HOSTILE_RANDOM:
|
||||
pTarget = SelectUnit(SELECT_TARGET_RANDOM,0);
|
||||
pTarget = SelectTarget(SELECT_TARGET_RANDOM,0);
|
||||
break;
|
||||
case CAST_JUSTDIED_KILLER:
|
||||
pTarget = killer;
|
||||
@@ -233,13 +233,13 @@ void SimpleAI::UpdateAI(const uint32 diff)
|
||||
pTarget = me->getVictim();
|
||||
break;
|
||||
case CAST_HOSTILE_SECOND_AGGRO:
|
||||
pTarget = SelectUnit(SELECT_TARGET_TOPAGGRO,1);
|
||||
pTarget = SelectTarget(SELECT_TARGET_TOPAGGRO,1);
|
||||
break;
|
||||
case CAST_HOSTILE_LAST_AGGRO:
|
||||
pTarget = SelectUnit(SELECT_TARGET_BOTTOMAGGRO,0);
|
||||
pTarget = SelectTarget(SELECT_TARGET_BOTTOMAGGRO,0);
|
||||
break;
|
||||
case CAST_HOSTILE_RANDOM:
|
||||
pTarget = SelectUnit(SELECT_TARGET_RANDOM,0);
|
||||
pTarget = SelectTarget(SELECT_TARGET_RANDOM,0);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user