diff options
-rw-r--r-- | src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp | 11 | ||||
-rw-r--r-- | src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp | 14 |
2 files changed, 18 insertions, 7 deletions
diff --git a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp index 1a4579b1bae..6f50dbc427a 100644 --- a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp +++ b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp @@ -19,13 +19,10 @@ SDName: Boss Malygos Script Data End */ -/* Main problems needing most attention: - 1) Add support for using Exit Portal while on drake which means to - find seat flag that allows casting on passenger or something that - will prevent valid target filtering. - 2) Find what cause client not sending release now availability - if player dies after far falling. For now player needs to logout to get body after - if release button remain unavailable after box popping.*/ +/* Main problem needing most attention: + Add support for using Exit Portal while on drake which means to + find seat flag that allows casting on passenger or something that + will prevent valid target filtering. */ #include "ScriptMgr.h" #include "ScriptedCreature.h" 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 52ce259117f..9099f03c6f0 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 @@ -152,6 +152,20 @@ public: } } + void OnUnitDeath(Unit* unit) + { + if (unit->GetTypeId() != TYPEID_PLAYER) + return; + + // For some reason player continues sometimes to be moving after death on this map, + // perhaps only client side issue am not entirtly sure. + // This fix not being able to press release button. + // Variation of this with some check needs to be implemented somewhere within core code. + // It'll stay here until someone find where and why the leak happens. + if (Player* dyingPlayer = unit->ToPlayer()) + dyingPlayer->StopMoving(); + } + void ProcessEvent(WorldObject* /*obj*/, uint32 eventId) { if (eventId == EVENT_FOCUSING_IRIS) |