aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGustavo <sirikfoll@hotmail.com>2016-07-18 07:35:11 -0300
committerjoschiwald <joschiwald.trinity@gmail.com>2017-02-05 21:09:43 +0100
commitaccaee579e6d224d3adc8bc5c7881e17299937a8 (patch)
tree11d713d0ed8a229016d8954f53d54c01dac06c7d /src
parenta5502cb7eca20d9a805261abebea9e503b79f018 (diff)
Core/AI Prevent bosses respawn when BossState is set to DONE (#17616)
(cherry picked from commit f826ecb4b2e8cc1fa54419947dff041a580d9c03)
Diffstat (limited to 'src')
-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();