From 3a69d36a99f07f5a1ebc1358ac52fabcf494b47c Mon Sep 17 00:00:00 2001 From: Nefertumm Date: Sun, 27 Mar 2022 07:53:13 -0300 Subject: [PATCH] fix(Core/BWL): Victor Nefarius encounter not resetting properly (#11145) --- .../BlackwingLair/boss_nefarian.cpp | 2 ++ .../BlackwingLair/instance_blackwing_lair.cpp | 12 ++++++++++++ 2 files changed, 14 insertions(+) diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp index 2b366aadc..79d0a6fa3 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp @@ -468,6 +468,8 @@ public: me->SetUInt32Value(UNIT_NPC_FLAGS, 0); me->SetStandState(UNIT_STAND_STATE_STAND); me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_NOT_SELECTABLE); + // Due to Nefarius despawning himself on Vael, we need to update the guid on instance to prevent unwanted behaviours as encounter not resetting at all. + instance->SetGuidData(DATA_LORD_VICTOR_NEFARIUS, me->GetGUID()); } } diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp index 679039671..1d4b0ead8 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp @@ -357,6 +357,18 @@ public: return ObjectGuid::Empty; } + void SetGuidData(uint32 type, ObjectGuid data) override + { + switch (type) + { + case DATA_LORD_VICTOR_NEFARIUS: + victorNefariusGUID = data; + break; + default: + break; + } + } + void OnUnitDeath(Unit* unit) override { switch (unit->GetEntry())