From dc21ac342ec3293ecf37b6a87244c46a39ff687f Mon Sep 17 00:00:00 2001 From: jackpoz Date: Sat, 30 Jan 2021 20:48:18 +0100 Subject: 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 --- .../Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src') 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)) -- cgit v1.2.3