aboutsummaryrefslogtreecommitdiff
path: root/src/game/CreatureEventAI.cpp
diff options
context:
space:
mode:
authorTrazom62 <none@none>2010-03-13 12:15:32 +0100
committerTrazom62 <none@none>2010-03-13 12:15:32 +0100
commit75a63297ca5758670b6dc1717d2632c204f57d52 (patch)
tree0d6b12f1beeed159f326823d9e89042107ef6bac /src/game/CreatureEventAI.cpp
parent4c9a9a02b0ab41e0fc251af5b196294617d9f875 (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.cpp39
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: