diff options
| author | Trazom62 <none@none> | 2010-03-13 12:15:32 +0100 |
|---|---|---|
| committer | Trazom62 <none@none> | 2010-03-13 12:15:32 +0100 |
| commit | 75a63297ca5758670b6dc1717d2632c204f57d52 (patch) | |
| tree | 0d6b12f1beeed159f326823d9e89042107ef6bac /src/game/CreatureEventAI.cpp | |
| parent | 4c9a9a02b0ab41e0fc251af5b196294617d9f875 (diff) | |
Fix ScriptedAI::SelectUnit to support SELECT_TARGET_NEAREST and SELECT_TARGET_FARTHEST.
Remove duplicate select target function CreatureEventAI::SelectUnit.
--HG--
branch : trunk
Diffstat (limited to 'src/game/CreatureEventAI.cpp')
| -rw-r--r-- | src/game/CreatureEventAI.cpp | 39 |
1 files changed, 4 insertions, 35 deletions
diff --git a/src/game/CreatureEventAI.cpp b/src/game/CreatureEventAI.cpp index 133bfca1f4b..081dc776aeb 100644 --- a/src/game/CreatureEventAI.cpp +++ b/src/game/CreatureEventAI.cpp @@ -1121,37 +1121,6 @@ void CreatureEventAI::UpdateAI(const uint32 diff) DoMeleeAttackIfReady(); } -inline Unit* CreatureEventAI::SelectUnit(AttackingTarget target, uint32 position) -{ - //ThreatList m_threatlist; - std::list<HostileReference*>& m_threatlist = m_creature->getThreatManager().getThreatList(); - std::list<HostileReference*>::iterator i = m_threatlist.begin(); - std::list<HostileReference*>::reverse_iterator r = m_threatlist.rbegin(); - - if (position >= m_threatlist.size() || !m_threatlist.size()) - return NULL; - - switch (target) - { - case ATTACKING_TARGET_RANDOM: - { - advance ( i , position + (rand() % (m_threatlist.size() - position ) )); - return Unit::GetUnit(*m_creature,(*i)->getUnitGuid()); - } - case ATTACKING_TARGET_TOPAGGRO: - { - advance ( i , position); - return Unit::GetUnit(*m_creature,(*i)->getUnitGuid()); - } - case ATTACKING_TARGET_BOTTOMAGGRO: - { - advance ( r , position); - return Unit::GetUnit(*m_creature,(*r)->getUnitGuid()); - } - } - return NULL; -} - inline uint32 CreatureEventAI::GetRandActionParam(uint32 rnd, uint32 param1, uint32 param2, uint32 param3) { switch (rnd % 3) @@ -1183,13 +1152,13 @@ inline Unit* CreatureEventAI::GetTargetByType(uint32 Target, Unit* pActionInvoke case TARGET_T_HOSTILE: return m_creature->getVictim(); case TARGET_T_HOSTILE_SECOND_AGGRO: - return SelectUnit(ATTACKING_TARGET_TOPAGGRO,1); + return SelectTarget(SELECT_TARGET_TOPAGGRO,1); case TARGET_T_HOSTILE_LAST_AGGRO: - return SelectUnit(ATTACKING_TARGET_BOTTOMAGGRO,0); + return SelectTarget(SELECT_TARGET_BOTTOMAGGRO,0); case TARGET_T_HOSTILE_RANDOM: - return SelectUnit(ATTACKING_TARGET_RANDOM,0); + return SelectTarget(SELECT_TARGET_RANDOM,0); case TARGET_T_HOSTILE_RANDOM_NOT_TOP: - return SelectUnit(ATTACKING_TARGET_RANDOM,1); + return SelectTarget(SELECT_TARGET_RANDOM,1); case TARGET_T_ACTION_INVOKER: return pActionInvoker; default: |
