diff options
Diffstat (limited to 'src')
8 files changed, 34 insertions, 16 deletions
diff --git a/src/bindings/scripts/scripts/eastern_kingdoms/karazhan/boss_moroes.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/karazhan/boss_moroes.cpp index be51947aa5b..f214988a658 100644 --- a/src/bindings/scripts/scripts/eastern_kingdoms/karazhan/boss_moroes.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/karazhan/boss_moroes.cpp @@ -134,7 +134,8 @@ struct TRINITY_DLL_DECL boss_moroesAI : public ScriptedAI DeSpawnAdds(); //remove aura from spell Garrote when Moroes dies - pInstance->DoRemoveAurasDueToSpellOnPlayers(SPELL_GARROTE); + if(pInstance) + pInstance->DoRemoveAurasDueToSpellOnPlayers(SPELL_GARROTE); } void SpawnAdds() diff --git a/src/bindings/scripts/scripts/eastern_kingdoms/sunwell_plateau/boss_eredar_twins.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/sunwell_plateau/boss_eredar_twins.cpp index 61c15f73273..cc600c88177 100644 --- a/src/bindings/scripts/scripts/eastern_kingdoms/sunwell_plateau/boss_eredar_twins.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/sunwell_plateau/boss_eredar_twins.cpp @@ -577,12 +577,15 @@ struct TRINITY_DLL_DECL boss_alythessAI : public Scripted_NoMovementAI } if(!m_creature->getVictim()) { - Creature* sisiter = Unit::GetCreature((*m_creature),pInstance->GetData64(DATA_SACROLASH)); - if (sisiter && !sisiter->isDead() && sisiter->getVictim()) + if(pInstance) { - m_creature->AddThreat(sisiter->getVictim(),0.0f); - DoStartNoMovement(sisiter->getVictim()); - m_creature->Attack(sisiter->getVictim(),false); + Creature* sisiter = Unit::GetCreature((*m_creature),pInstance->GetData64(DATA_SACROLASH)); + if (sisiter && !sisiter->isDead() && sisiter->getVictim()) + { + m_creature->AddThreat(sisiter->getVictim(),0.0f); + DoStartNoMovement(sisiter->getVictim()); + m_creature->Attack(sisiter->getVictim(),false); + } } } diff --git a/src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/boss_prince_taldaram.cpp b/src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/boss_prince_taldaram.cpp index d277957b84d..7e2234e6672 100644 --- a/src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/boss_prince_taldaram.cpp +++ b/src/bindings/scripts/scripts/northrend/azjol_nerub/ahnkahet/boss_prince_taldaram.cpp @@ -313,6 +313,8 @@ struct TRINITY_DLL_DECL boss_taldaramAI : public ScriptedAI void RemovePrison() { + if(!pInstance) + return; m_creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE); m_creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); m_creature->RemoveAurasDueToSpell(SPELL_BEAM_VISUAL); diff --git a/src/bindings/scripts/scripts/northrend/crusaders_coliseum/trial_of_the_champion/trial_of_the_champion.cpp b/src/bindings/scripts/scripts/northrend/crusaders_coliseum/trial_of_the_champion/trial_of_the_champion.cpp index 15df0fbc5f9..e09b0234288 100644 --- a/src/bindings/scripts/scripts/northrend/crusaders_coliseum/trial_of_the_champion/trial_of_the_champion.cpp +++ b/src/bindings/scripts/scripts/northrend/crusaders_coliseum/trial_of_the_champion/trial_of_the_champion.cpp @@ -53,6 +53,8 @@ struct TRINITY_DLL_DECL npc_toc5_announcerAI : public ScriptedAI void StartEvent(Player* pPlayer) { + if(!pInstance) + return; if(pInstance->GetData(TYPE_GRAND_CHAMPIONS) == NOT_STARTED && pInstance->GetData(TYPE_ARGENT_CHALLENGE) == NOT_STARTED && pInstance->GetData(TYPE_BLACK_KNIGHT) == NOT_STARTED) { chmp1 = RAND(35572,35569,35571,35570,35617); @@ -97,6 +99,9 @@ bool GossipHello_npc_toc5_announcer(Player* pPlayer, Creature* pCreature) { ScriptedInstance* pInstance = pCreature->GetInstanceData(); + if(!pInstance) + return false; + if(pInstance->GetData(TYPE_GRAND_CHAMPIONS) == NOT_STARTED && pInstance->GetData(TYPE_ARGENT_CHALLENGE) == NOT_STARTED && pInstance->GetData(TYPE_BLACK_KNIGHT) == NOT_STARTED) pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_START_EVENT1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); else diff --git a/src/bindings/scripts/scripts/northrend/gundrak/boss_drakkari_colossus.cpp b/src/bindings/scripts/scripts/northrend/gundrak/boss_drakkari_colossus.cpp index 448fa9cab7c..6e5925ac2af 100644 --- a/src/bindings/scripts/scripts/northrend/gundrak/boss_drakkari_colossus.cpp +++ b/src/bindings/scripts/scripts/northrend/gundrak/boss_drakkari_colossus.cpp @@ -150,8 +150,11 @@ struct TRINITY_DLL_DECL boss_drakkari_elementalAI : public ScriptedAI boss_drakkari_elementalAI(Creature* pCreature) : ScriptedAI(pCreature) { pInstance = pCreature->GetInstanceData(); - if (pCreature->GetMap()->IsDungeon()) - pColossus = CAST_CRE(pCreature->GetUnit(*pCreature, pInstance->GetData64(DATA_DRAKKARI_COLOSSUS))); + if(pInstance) + { + if (pCreature->GetMap()->IsDungeon()) + pColossus = CAST_CRE(pCreature->GetUnit(*pCreature, pInstance->GetData64(DATA_DRAKKARI_COLOSSUS))); + } } Creature* pColossus; @@ -221,8 +224,11 @@ struct TRINITY_DLL_DECL npc_living_mojoAI : public ScriptedAI { HeroicMode = pCreature->GetMap()->IsHeroic(); pInstance = pCreature->GetInstanceData(); - if (pCreature->GetMap()->IsDungeon()) - pColossus = CAST_CRE(pCreature->GetUnit(*pCreature, pInstance->GetData64(DATA_DRAKKARI_COLOSSUS))); + if(pInstance) + { + if (pCreature->GetMap()->IsDungeon()) + pColossus = CAST_CRE(pCreature->GetUnit(*pCreature, pInstance->GetData64(DATA_DRAKKARI_COLOSSUS))); + } } Creature* pColossus; diff --git a/src/bindings/scripts/scripts/northrend/obsidian_sanctum/boss_sartharion.cpp b/src/bindings/scripts/scripts/northrend/obsidian_sanctum/boss_sartharion.cpp index 4d2d3234155..f8d78013c27 100644 --- a/src/bindings/scripts/scripts/northrend/obsidian_sanctum/boss_sartharion.cpp +++ b/src/bindings/scripts/scripts/northrend/obsidian_sanctum/boss_sartharion.cpp @@ -284,7 +284,8 @@ struct TRINITY_DLL_DECL boss_sartharionAI : public ScriptedAI void FetchDragons() { - assert(pInstance); + if(!pInstance) + return; Creature* pFetchTene = Unit::GetCreature(*m_creature, pInstance->GetData64(DATA_TENEBRON)); Creature* pFetchShad = Unit::GetCreature(*m_creature, pInstance->GetData64(DATA_SHADRON)); Creature* pFetchVesp = Unit::GetCreature(*m_creature, pInstance->GetData64(DATA_VESPERON)); diff --git a/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_keep/boss_skarvald_dalronn.cpp b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_keep/boss_skarvald_dalronn.cpp index 0c4d1163532..c6fee361b87 100644 --- a/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_keep/boss_skarvald_dalronn.cpp +++ b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_keep/boss_skarvald_dalronn.cpp @@ -246,7 +246,7 @@ struct TRINITY_DLL_DECL boss_dalronn_the_controllerAI : public ScriptedAI void EnterCombat(Unit *who) { - if (!ghost) + if (!ghost && pInstance) { Unit* skarvald = Unit::GetUnit((*m_creature),pInstance->GetData64(DATA_SKARVALD)); if (skarvald && skarvald->isAlive() && !skarvald->getVictim()) @@ -261,7 +261,7 @@ struct TRINITY_DLL_DECL boss_dalronn_the_controllerAI : public ScriptedAI void JustDied(Unit* Killer) { - if (!ghost) + if (!ghost && pInstance) { Unit* skarvald = Unit::GetUnit((*m_creature),pInstance->GetData64(DATA_SKARVALD)); if (skarvald) diff --git a/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_palehoof.cpp b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_palehoof.cpp index a5801ee4fd8..bbebb204eaf 100644 --- a/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_palehoof.cpp +++ b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_pinnacle/boss_palehoof.cpp @@ -151,7 +151,7 @@ struct TRINITY_DLL_DECL boss_palehoofAI : public ScriptedAI if (!UpdateVictim()) return; - Creature* pTemp = Unit::GetCreature((*m_creature), pInstance->GetData64(DATA_MOB_ORB)); + Creature* pTemp = Unit::GetCreature((*m_creature), pInstance ? pInstance->GetData64(DATA_MOB_ORB) : 0); if (pTemp && pTemp->isAlive()) pTemp->DisappearAndDie(); @@ -182,7 +182,7 @@ struct TRINITY_DLL_DECL boss_palehoofAI : public ScriptedAI DoScriptText(SAY_DEATH, m_creature); if (pInstance) pInstance->SetData(DATA_GORTOK_PALEHOOF_EVENT, DONE); - Creature* pTemp = Unit::GetCreature((*m_creature), pInstance->GetData64(DATA_MOB_ORB)); + Creature* pTemp = Unit::GetCreature((*m_creature), pInstance ? pInstance->GetData64(DATA_MOB_ORB) : 0); if (pTemp && pTemp->isAlive()) pTemp->DisappearAndDie(); } @@ -438,7 +438,7 @@ struct TRINITY_DLL_DECL mob_frenzied_worgenAI : public ScriptedAI { if (pInstance) { - Creature *pPalehoof = Unit::GetCreature((*m_creature), pInstance ? pInstance->GetData64(DATA_GORTOK_PALEHOOF) : 0); + Creature *pPalehoof = Unit::GetCreature((*m_creature), pInstance->GetData64(DATA_GORTOK_PALEHOOF)); if (pPalehoof) CAST_AI(boss_palehoofAI, pPalehoof->AI())->NextPhase(); } |
