From f0c881f09f502f92774639c329065f7982bf5ba6 Mon Sep 17 00:00:00 2001 From: Angelo Venturini Date: Fri, 5 Aug 2022 14:43:35 -0300 Subject: [PATCH] fix(Core/TempleOfAhnQiraj): Bug Trio (#12599) --- .../Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp index cf765b460..7eefcd5b9 100644 --- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp +++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp @@ -137,9 +137,9 @@ public: me->SetReactState(REACT_PASSIVE); } - void MovementInform(uint32 type, uint32 /*id*/) override + void MovementInform(uint32 type, uint32 id) override { - if (type != POINT_MOTION_TYPE) + if (type != POINT_MOTION_TYPE || id != POINT_CONSUME) return; me->GetMotionMaster()->MoveIdle(); @@ -153,6 +153,7 @@ public: me->SetReactState(REACT_AGGRESSIVE); if (Unit* target = me->GetVictim()) { + me->GetMotionMaster()->Clear(); me->GetMotionMaster()->MoveChase(target); AttackStart(target); } @@ -195,7 +196,7 @@ public: void DamageTaken(Unit* who, uint32& damage, DamageEffectType, SpellSchoolMask) override { - if (me->HealthBelowPctDamaged(1, damage) && instance->GetData(DATA_BUG_TRIO_DEATH) < 2 && who->GetGUID() != me->GetGUID()) + if (me->HealthBelowPctDamaged(1, damage) && instance->GetData(DATA_BUG_TRIO_DEATH) < 2 && who->GetGUID() != me->GetGUID() && !dying) { damage = 0; if (isEating) @@ -205,6 +206,7 @@ public: me->SetStandState(UNIT_STAND_STATE_DEAD); me->SetReactState(REACT_PASSIVE); me->SetControlled(true, UNIT_STATE_ROOT); + dying = true; DoFinalSpell(); @@ -236,7 +238,7 @@ public: _scheduler.Schedule(4s, [this](TaskContext /*context*/) { - if (!me->IsInEvadeMode()) + if (!me->IsInEvadeMode() && instance->GetData(DATA_BUG_TRIO_DEATH) < 2) { DoCastSelf(SPELL_BLOODY_DEATH, true); Talk(EMOTE_DEVOURED);