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; }