aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/AI/ScriptedAI
diff options
context:
space:
mode:
authorShauren <shauren.dev@gmail.com>2011-01-01 23:37:35 +0100
committerShauren <shauren.dev@gmail.com>2011-01-01 23:37:35 +0100
commit039d87bbc9c948122418b35f5fd835fb8d3b5efa (patch)
tree9f0efa85320856c8b2d7393baa03105610148ab4 /src/server/game/AI/ScriptedAI
parentce76f10bc8aa25526046ef8651e7c4a0f026c6cc (diff)
Scripts: Implemented virtual function DoCastSpellOnPlayers (self-explanatory) and CheckRequiredBosses checking states of other bosses before allowing combat with selected one
Scripts/Icecrown Citadel: Added checks to prevent skipping bosses
Diffstat (limited to 'src/server/game/AI/ScriptedAI')
-rw-r--r--src/server/game/AI/ScriptedAI/ScriptedCreature.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp b/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp
index bb21252efb0..ddf000e31c7 100644
--- a/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp
+++ b/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp
@@ -545,7 +545,15 @@ void BossAI::_EnterCombat()
me->setActive(true);
DoZoneInCombat();
if (instance)
+ {
+ // bosses do not respawn, check only on enter combat
+ if (!instance->CheckRequiredBosses(bossId))
+ {
+ EnterEvadeMode();
+ return;
+ }
instance->SetBossState(bossId, IN_PROGRESS);
+ }
}
void BossAI::TeleportCheaters()