aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormegamage <none@none>2009-06-05 14:37:15 -0500
committermegamage <none@none>2009-06-05 14:37:15 -0500
commit5aa9fdb556a6d78520ee98d0f88f28c884c7e3df (patch)
tree5d0ad16c3383952834e127046a341953ae30f52d /src
parent13fd9ea601e666ea0381d6cfafc20e316fa3f90e (diff)
*Still use the old updatevictim functions for most scripts because some old scripts may cause crash using new function.
--HG-- branch : trunk
Diffstat (limited to 'src')
-rw-r--r--src/bindings/scripts/scripts/zone/naxxramas/boss_gothik.cpp2
-rw-r--r--src/bindings/scripts/scripts/zone/naxxramas/boss_noth.cpp2
-rw-r--r--src/bindings/scripts/scripts/zone/naxxramas/boss_sapphiron.cpp2
-rw-r--r--src/game/CreatureAI.cpp10
-rw-r--r--src/game/CreatureAI.h1
5 files changed, 14 insertions, 3 deletions
diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_gothik.cpp b/src/bindings/scripts/scripts/zone/naxxramas/boss_gothik.cpp
index 6b0d5cf65fe..ecc9a8d8d03 100644
--- a/src/bindings/scripts/scripts/zone/naxxramas/boss_gothik.cpp
+++ b/src/bindings/scripts/scripts/zone/naxxramas/boss_gothik.cpp
@@ -202,7 +202,7 @@ struct TRINITY_DLL_DECL boss_gothikAI : public BossAI
void UpdateAI(const uint32 diff)
{
- if(!UpdateVictim() || !CheckInRoom())
+ if(!UpdateCombatState() || !CheckInRoom())
return;
events.Update(diff);
diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_noth.cpp b/src/bindings/scripts/scripts/zone/naxxramas/boss_noth.cpp
index 1ab7c5e3334..8ce017a936e 100644
--- a/src/bindings/scripts/scripts/zone/naxxramas/boss_noth.cpp
+++ b/src/bindings/scripts/scripts/zone/naxxramas/boss_noth.cpp
@@ -128,7 +128,7 @@ struct TRINITY_DLL_DECL boss_nothAI : public BossAI
void UpdateAI(const uint32 diff)
{
- if(!UpdateVictim() || !CheckInRoom())
+ if(!UpdateCombatState() || !CheckInRoom())
return;
events.Update(diff);
diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_sapphiron.cpp b/src/bindings/scripts/scripts/zone/naxxramas/boss_sapphiron.cpp
index 535ca8ca21f..05dea45ed25 100644
--- a/src/bindings/scripts/scripts/zone/naxxramas/boss_sapphiron.cpp
+++ b/src/bindings/scripts/scripts/zone/naxxramas/boss_sapphiron.cpp
@@ -173,7 +173,7 @@ struct TRINITY_DLL_DECL boss_sapphironAI : public BossAI
events.Update(diff);
- if(phase != PHASE_BIRTH && !UpdateVictim() || !CheckInRoom())
+ if(phase != PHASE_BIRTH && !UpdateCombatState() || !CheckInRoom())
return;
if(phase == PHASE_GROUND)
diff --git a/src/game/CreatureAI.cpp b/src/game/CreatureAI.cpp
index f61aca24405..143dfec99d3 100644
--- a/src/game/CreatureAI.cpp
+++ b/src/game/CreatureAI.cpp
@@ -149,6 +149,16 @@ bool CreatureAI::UpdateVictim()
if(!me->isInCombat())
return false;
+ if(Unit *victim = me->SelectVictim())
+ AttackStart(victim);
+ return me->getVictim();
+}
+
+bool CreatureAI::UpdateCombatState()
+{
+ if(!me->isInCombat())
+ return false;
+
if(!me->HasReactState(REACT_PASSIVE))
{
if(Unit *victim = me->SelectVictim())
diff --git a/src/game/CreatureAI.h b/src/game/CreatureAI.h
index d9d437c936c..91fabe30448 100644
--- a/src/game/CreatureAI.h
+++ b/src/game/CreatureAI.h
@@ -72,6 +72,7 @@ class TRINITY_DLL_SPEC CreatureAI : public UnitAI
bool UpdateVictim();
bool UpdateVictimWithGaze();
+ bool UpdateCombatState();
void SelectNearestTarget(Unit *who);
public: