aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGustavo <sirikfoll@hotmail.com>2016-07-18 07:35:11 -0300
committerShauren <shauren.trinity@gmail.com>2016-07-18 12:35:11 +0200
commitf826ecb4b2e8cc1fa54419947dff041a580d9c03 (patch)
tree6a267cc70cd1de170904d895214e2af40ada985e /src
parent028e473ec4693291266770616bcc54b71fefa835 (diff)
Core/AI Prevent bosses respawn when BossState is set to DONE (#17616)
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 6475cc8117e..316a9704cac 100644
--- a/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp
+++ b/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp
@@ -507,6 +507,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 5a4ec290459..bbc7e8beadb 100644
--- a/src/server/game/AI/ScriptedAI/ScriptedCreature.h
+++ b/src/server/game/AI/ScriptedAI/ScriptedCreature.h
@@ -361,6 +361,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();