aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/AI/ScriptedAI/ScriptedCreature.cpp8
-rw-r--r--src/server/game/AI/ScriptedAI/ScriptedCreature.h1
2 files changed, 9 insertions, 0 deletions
diff --git a/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp b/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp
index 97b7421c147..b749cb4aac4 100644
--- a/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp
+++ b/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp
@@ -496,6 +496,14 @@ void BossAI::_EnterCombat()
ScheduleTasks();
}
+bool BossAI::CanRespawn()
+{
+ if (instance && instance->GetBossState(_bossId) == DONE)
+ return false;
+
+ return true;
+}
+
void BossAI::TeleportCheaters()
{
float x, y, z;
diff --git a/src/server/game/AI/ScriptedAI/ScriptedCreature.h b/src/server/game/AI/ScriptedAI/ScriptedCreature.h
index 62e513a06c5..59c4f61ae97 100644
--- a/src/server/game/AI/ScriptedAI/ScriptedCreature.h
+++ b/src/server/game/AI/ScriptedAI/ScriptedCreature.h
@@ -358,6 +358,7 @@ class TC_GAME_API BossAI : public ScriptedAI
void JustReachedHome() override { _JustReachedHome(); }
bool CanAIAttack(Unit const* target) const override { return CheckBoundary(target); }
+ bool CanRespawn() override;
protected:
void _Reset();