From 20584bc0a610fdc493d36b3260068b6d694871c9 Mon Sep 17 00:00:00 2001 From: Localhost <40755539+r0m1ntik@users.noreply.github.com> Date: Mon, 14 Apr 2025 11:53:12 +0200 Subject: [PATCH] =?UTF-8?q?fix(Scripts/Creature):=20Crash=20for=20npc=5Fca?= =?UTF-8?q?ptured=5Fberyl=5Fsorcerer=20by=20secur=E2=80=A6=20(#21889)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: localhost --- .../scripts/Northrend/zone_borean_tundra.cpp | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/server/scripts/Northrend/zone_borean_tundra.cpp b/src/server/scripts/Northrend/zone_borean_tundra.cpp index 4885663ff..f647e8279 100644 --- a/src/server/scripts/Northrend/zone_borean_tundra.cpp +++ b/src/server/scripts/Northrend/zone_borean_tundra.cpp @@ -710,16 +710,23 @@ public: switch (eventId) { case EVENT_ADD_ARCANE_CHAINS: - if (Player* summoner = me->ToTempSummon()->GetSummonerUnit()->ToPlayer()) + if (TempSummon* tempSummon = me->ToTempSummon()) { - summoner->CastSpell(summoner, SPELL_ARCANE_CHAINS_CHANNEL_II, TriggerCastFlags(TRIGGERED_FULL_MASK & ~TRIGGERED_IGNORE_AURA_INTERRUPT_FLAGS & ~TRIGGERED_IGNORE_CAST_ITEM & ~TRIGGERED_IGNORE_POWER_AND_REAGENT_COST & ~TRIGGERED_IGNORE_GCD)); - _events.ScheduleEvent(EVENT_FOLLOW_PLAYER, 1s); + if (Unit* summoner = tempSummon->GetSummonerUnit()) + { + summoner->CastSpell(summoner, SPELL_ARCANE_CHAINS_CHANNEL_II, TriggerCastFlags(TRIGGERED_FULL_MASK & ~TRIGGERED_IGNORE_AURA_INTERRUPT_FLAGS & ~TRIGGERED_IGNORE_CAST_ITEM & ~TRIGGERED_IGNORE_POWER_AND_REAGENT_COST & ~TRIGGERED_IGNORE_GCD)); + _events.ScheduleEvent(EVENT_FOLLOW_PLAYER, 1s); + } } break; + case EVENT_FOLLOW_PLAYER: - if (Player* summoner = me->ToTempSummon()->GetSummonerUnit()->ToPlayer()) + if (TempSummon* tempSummon = me->ToTempSummon()) { - StartFollow(summoner); + if (Player* summoner = tempSummon->GetSummonerUnit()->ToPlayer()) + { + StartFollow(summoner); + } } break; }