From 68b111282149283cfd231e980ff53f2dfb5e981b Mon Sep 17 00:00:00 2001 From: Petric Date: Mon, 7 Sep 2020 15:52:24 +0100 Subject: [PATCH] =?UTF-8?q?fix(Scripts/AzjolNerub):=20Amanitar=20not=20cas?= =?UTF-8?q?ting=20=E2=80=9CMini=E2=80=9D=20and=20mushroom=20not=20cleansin?= =?UTF-8?q?g=20the=20player=20on=20death=20(#3348)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Amanitar was not casting his “mini” spell during the fight and the shrooms did never remove this effect as how they should. --- .../AzjolNerub/ahnkahet/boss_amanitar.cpp | 23 +++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/src/server/scripts/Northrend/AzjolNerub/ahnkahet/boss_amanitar.cpp b/src/server/scripts/Northrend/AzjolNerub/ahnkahet/boss_amanitar.cpp index db631b5d9..3a8fe13fb 100644 --- a/src/server/scripts/Northrend/AzjolNerub/ahnkahet/boss_amanitar.cpp +++ b/src/server/scripts/Northrend/AzjolNerub/ahnkahet/boss_amanitar.cpp @@ -30,6 +30,7 @@ enum Events EVENT_AMANITAR_ROOTS = 2, EVENT_AMANITAR_BASH = 3, EVENT_AMANITAR_BOLT = 4, + EVENT_AMANITAR_MINI = 5 }; class boss_amanitar : public CreatureScript @@ -77,11 +78,10 @@ public: if (pInstance) pInstance->SetData(DATA_AMANITAR_EVENT, IN_PROGRESS); - me->CastSpell(me, SPELL_MINI, false); - events.ScheduleEvent(EVENT_AMANITAR_ROOTS, urand(5000, 9000)); events.ScheduleEvent(EVENT_AMANITAR_BASH, urand(10000, 14000)); events.ScheduleEvent(EVENT_AMANITAR_BOLT, urand(15000, 20000)); + events.ScheduleEvent(EVENT_AMANITAR_MINI, 30000); events.ScheduleEvent(EVENT_AMANITAR_SPAWN, 0); } @@ -150,6 +150,12 @@ public: events.RepeatEvent(urand(15000, 20000)); break; } + case EVENT_AMANITAR_MINI: + { + me->CastSpell(me, SPELL_MINI, false); + events.RepeatEvent(30000); + break; + } } DoMeleeAttackIfReady(); @@ -196,8 +202,17 @@ public: if (!killer) return; - if (me->GetEntry() == NPC_HEALTHY_MUSHROOM && !killer->HasAura(SPELL_MINI)) - DoCast(killer, SPELL_HEALTHY_MUSHROOM_POTENT_FUNGUS); + if (me->GetEntry() == NPC_HEALTHY_MUSHROOM) + { + if (killer->HasAura(SPELL_MINI)) + { + killer->RemoveAurasDueToSpell(SPELL_MINI); + } + else + { + DoCast(killer, SPELL_HEALTHY_MUSHROOM_POTENT_FUNGUS); + } + } } void EnterCombat(Unit* /*who*/) {}