From accaee579e6d224d3adc8bc5c7881e17299937a8 Mon Sep 17 00:00:00 2001 From: Gustavo Date: Mon, 18 Jul 2016 07:35:11 -0300 Subject: Core/AI Prevent bosses respawn when BossState is set to DONE (#17616) (cherry picked from commit f826ecb4b2e8cc1fa54419947dff041a580d9c03) --- src/server/game/AI/ScriptedAI/ScriptedCreature.cpp | 8 ++++++++ src/server/game/AI/ScriptedAI/ScriptedCreature.h | 1 + 2 files changed, 9 insertions(+) (limited to 'src') 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(); -- cgit v1.2.3