diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp index 502d9d9fedf..6cd84685b3e 100644 --- a/src/server/game/Spells/SpellInfo.cpp +++ b/src/server/game/Spells/SpellInfo.cpp @@ -1312,7 +1312,7 @@ bool SpellInfo::IsPassiveStackableWithRanks() const bool SpellInfo::IsMultiSlotAura() const { - return IsPassive() || Id == 55849 || Id == 40075 || Id == 44413; // Power Spark, Fel Flak Fire, Incanter's Absorption + return IsPassive() || Id == 55849 || Id == 40075 || Id == 44413 || Id == 79010; // Power Spark, Fel Flak Fire, Incanter's Absorption, Point of Vulnerability } bool SpellInfo::IsStackableOnOneSlotWithDifferentCasters() const diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingDescent/boss_magmaw.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingDescent/boss_magmaw.cpp index 6c37fd5d554..26d9a61df30 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingDescent/boss_magmaw.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingDescent/boss_magmaw.cpp @@ -111,7 +111,7 @@ Position const ExposedHeadOfMagmawPos = { -299.0f, -28.9861f, 191.0293f, 4.11897 struct boss_magmaw : public BossAI { - boss_magmaw(Creature* creature) : BossAI(creature, DATA_MAGMAW), _vehicle(me->GetVehicleKit()) + boss_magmaw(Creature* creature) : BossAI(creature, DATA_MAGMAW) { Initialize(); } @@ -248,6 +248,9 @@ struct boss_magmaw : public BossAI events.Reset(); me->AttackStop(); me->SetReactState(REACT_PASSIVE); + me->RemoveAurasDueToSpell(SPELL_MASSIVE_CRASH); + me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_SPELLCLICK); + me->RemoveFlag(UNIT_FIELD_FLAGS_2, UNIT_FLAG2_ALLOW_ENEMY_INTERACT); if (Creature* spikeStalker = me->FindNearestCreature(NPC_MAGMAW_SPIKE_STALKER, 50.0f)) me->SetFacingToObject(spikeStalker); events.ScheduleEvent(EVENT_IMPALE_SELF, 1s); @@ -408,16 +411,6 @@ private: }, 1s + 200ms); } - Creature* GetExposedHeadOfMagmaw() - { - if (Unit* passenger = _vehicle->GetPassenger(SEAT_EXPOSED_HEAD_OF_MAGMAW_1)) - if (passenger->GetTypeId() == TYPEID_UNIT) - return passenger->ToCreature(); - - return nullptr; - } - - Vehicle const* _vehicle; Creature* _exposedHead1; Creature* _exposedHead2; Creature* _pincer1;