From f56953f920ef694bcb48107a2fb37baf83fb4eb1 Mon Sep 17 00:00:00 2001 From: Skjalf <47818697+Nyeriah@users.noreply.github.com> Date: Tue, 7 Dec 2021 15:18:50 -0300 Subject: [PATCH] fix(Scripts/MoltenCore): Majordomo's spawn line should be said instantly (#9515) --- .../MoltenCore/boss_majordomo_executus.cpp | 18 +----------------- .../MoltenCore/instance_molten_core.cpp | 14 +++++++++++++- 2 files changed, 14 insertions(+), 18 deletions(-) diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_majordomo_executus.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_majordomo_executus.cpp index 81e4717fc..01e06acee 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_majordomo_executus.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_majordomo_executus.cpp @@ -128,7 +128,7 @@ public: struct boss_majordomoAI : public BossAI { - boss_majordomoAI(Creature* creature) : BossAI(creature, DATA_MAJORDOMO_EXECUTUS), spawnInTextTimer(0) {} + boss_majordomoAI(Creature* creature) : BossAI(creature, DATA_MAJORDOMO_EXECUTUS) {} void JustDied(Unit* /*killer*/) override { @@ -166,8 +166,6 @@ public: } } } - - spawnInTextTimer = 10000; } else { @@ -218,7 +216,6 @@ public: _EnterCombat(); DoCastAOE(SPELL_SEPARATION_ANXIETY); - spawnInTextTimer = 0; Talk(SAY_AGGRO); DoCastSelf(SPELL_AEGIS_OF_RAGNAROS, true); @@ -290,18 +287,6 @@ public: void UpdateAI(uint32 diff) override { - if (spawnInTextTimer) - { - if (spawnInTextTimer <= diff) - { - spawnInTextTimer = 0; - Talk(SAY_SPAWN); - } - else - { - spawnInTextTimer -= diff; - } - } switch (events.GetPhaseMask()) { @@ -510,7 +495,6 @@ public: private: GuidSet static_minionsGUIDS; // contained data should be changed on encounter completion GuidSet aliveMinionsGUIDS; // used for calculations - uint32 spawnInTextTimer; }; bool OnGossipHello(Player* player, Creature* creature) override diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/instance_molten_core.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/instance_molten_core.cpp index 8dd5aa75a..598850820 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/instance_molten_core.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/instance_molten_core.cpp @@ -52,6 +52,8 @@ MCBossObject const linkedBossObjData[MAX_MC_LINKED_BOSS_OBJ]= { DATA_SULFURON, GO_RUNE_KORO, GO_CIRCLE_SULFURON }, }; +constexpr uint8 SAY_SPAWN = 1; + class instance_molten_core : public InstanceMapScript { public: @@ -349,7 +351,17 @@ public: return; } - instance->SummonCreature(NPC_MAJORDOMO_EXECUTUS, GetBossState(DATA_MAJORDOMO_EXECUTUS) != DONE ? MajordomoSummonPos : MajordomoRagnaros); + if (GetBossState(DATA_MAJORDOMO_EXECUTUS) != DONE) + { + if (Creature* creature = instance->SummonCreature(NPC_MAJORDOMO_EXECUTUS, MajordomoSummonPos)) + { + creature->AI()->Talk(SAY_SPAWN); + } + } + else + { + instance->SummonCreature(NPC_MAJORDOMO_EXECUTUS, MajordomoRagnaros); + } } bool CheckMajordomoExecutus() const