aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjackpoz <giacomopoz@gmail.com>2021-01-30 20:48:18 +0100
committerjackpoz <giacomopoz@gmail.com>2021-01-30 20:48:18 +0100
commitdc21ac342ec3293ecf37b6a87244c46a39ff687f (patch)
tree6084268ebe3e68c583e57546545e7cbe6d70a3b2
parentd5fc86af8b22fed5b054e51349eb3ab47b06b784 (diff)
Scripts/EoE: Attempt to fix players getting stuck after dying
Attempt to fix players getting stuck after dying caused by a hack that calls SetControlled(true, UNIT_STATE_ROOT) by calling the opposite when a dead player leaves the instance, i.e. on releasing. Close #24458
-rw-r--r--src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp b/src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp
index 8bad25c347a..9fca1baef71 100644
--- a/src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp
+++ b/src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp
@@ -55,6 +55,12 @@ public:
player->CastSpell(player, SPELL_SUMMOM_RED_DRAGON_BUDDY, true);
}
+ void OnPlayerLeave(Player* player) override
+ {
+ if (!player->IsAlive())
+ player->SetControlled(false, UNIT_STATE_ROOT);
+ }
+
bool SetBossState(uint32 type, EncounterState state) override
{
if (!InstanceScript::SetBossState(type, state))