aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/bindings/scripts/include/sc_creature.cpp4
-rw-r--r--src/bindings/scripts/scripts/boss/boss_taerar.cpp3
-rw-r--r--src/bindings/scripts/scripts/boss/boss_ysondre.cpp3
-rw-r--r--src/bindings/scripts/scripts/creature/mob_event_ai.cpp2
-rw-r--r--src/bindings/scripts/scripts/custom/test.cpp4
-rw-r--r--src/bindings/scripts/scripts/npc/npcs_special.cpp4
-rw-r--r--src/bindings/scripts/scripts/zone/alterac_mountains/alterac_mountains.cpp1
-rw-r--r--src/bindings/scripts/scripts/zone/aunchindoun/mana_tombs/boss_nexusprince_shaffar.cpp3
-rw-r--r--src/bindings/scripts/scripts/zone/aunchindoun/sethekk_halls/boss_tailonking_ikiss.cpp3
-rw-r--r--src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_ambassador_hellmaw.cpp3
-rw-r--r--src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_grandmaster_vorpil.cpp11
-rw-r--r--src/bindings/scripts/scripts/zone/azshara/azshara.cpp1
-rw-r--r--src/bindings/scripts/scripts/zone/azuremyst_isle/azuremyst_isle.cpp24
-rw-r--r--src/bindings/scripts/scripts/zone/barrens/the_barrens.cpp1
-rw-r--r--src/bindings/scripts/scripts/zone/black_temple/boss_illidan.cpp6
-rw-r--r--src/bindings/scripts/scripts/zone/black_temple/boss_reliquary_of_souls.cpp3
-rw-r--r--src/bindings/scripts/scripts/zone/black_temple/boss_shade_of_akama.cpp12
-rw-r--r--src/bindings/scripts/scripts/zone/black_temple/boss_supremus.cpp1
-rw-r--r--src/bindings/scripts/scripts/zone/black_temple/boss_teron_gorefiend.cpp8
-rw-r--r--src/bindings/scripts/scripts/zone/black_temple/illidari_council.cpp1
-rw-r--r--src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_anetheron.cpp42
-rw-r--r--src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_azgalor.cpp26
-rw-r--r--src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_kazrogal.cpp26
-rw-r--r--src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_rage_winterchill.cpp18
-rw-r--r--src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjal.cpp2
-rw-r--r--src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjalAI.cpp234
-rw-r--r--src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjalAI.h2
-rw-r--r--src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjal_trash.cpp110
-rw-r--r--src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjal_trash.h2
-rw-r--r--src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/instance_hyjal.cpp34
-rw-r--r--src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/old_hillsbrad.cpp16
-rw-r--r--src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_fathomlord_karathress.cpp19
-rw-r--r--src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_leotheras_the_blind.cpp2
-rw-r--r--src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_lurker_below.cpp8
-rw-r--r--src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_morogrim_tidewalker.cpp3
-rw-r--r--src/bindings/scripts/scripts/zone/deadmines/deadmines.cpp6
-rw-r--r--src/bindings/scripts/scripts/zone/dun_morogh/dun_morogh.cpp5
-rw-r--r--src/bindings/scripts/scripts/zone/elwynn_forest/elwynn_forest.cpp5
-rw-r--r--src/bindings/scripts/scripts/zone/ghostlands/ghostlands.cpp9
-rw-r--r--src/bindings/scripts/scripts/zone/gruuls_lair/boss_high_king_maulgar.cpp51
-rw-r--r--src/bindings/scripts/scripts/zone/hellfire_citadel/hellfire_ramparts/boss_vazruden_the_herald.cpp7
-rw-r--r--src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_warchief_kargath_bladefist.cpp1
-rw-r--r--src/bindings/scripts/scripts/zone/karazhan/boss_moroes.cpp6
-rw-r--r--src/bindings/scripts/scripts/zone/karazhan/boss_nightbane.cpp7
-rw-r--r--src/bindings/scripts/scripts/zone/karazhan/karazhan.cpp3
-rw-r--r--src/bindings/scripts/scripts/zone/magisters_terrace/boss_vexallus.cpp1
-rw-r--r--src/bindings/scripts/scripts/zone/molten_core/boss_golemagg.cpp2
-rw-r--r--src/bindings/scripts/scripts/zone/molten_core/boss_ragnaros.cpp18
-rw-r--r--src/bindings/scripts/scripts/zone/mulgore/mulgore.cpp2
-rw-r--r--src/bindings/scripts/scripts/zone/nagrand/nagrand.cpp1
-rw-r--r--src/bindings/scripts/scripts/zone/naxxramas/boss_maexxna.cpp3
-rw-r--r--src/bindings/scripts/scripts/zone/scarlet_monastery/boss_headless_horseman.cpp26
-rw-r--r--src/bindings/scripts/scripts/zone/scholomance/boss_darkmaster_gandling.cpp80
-rw-r--r--src/bindings/scripts/scripts/zone/scholomance/boss_jandice_barov.cpp3
-rw-r--r--src/bindings/scripts/scripts/zone/scholomance/boss_kormok.cpp6
-rw-r--r--src/bindings/scripts/scripts/zone/shadowmoon_valley/shadowmoon_valley.cpp14
-rw-r--r--src/bindings/scripts/scripts/zone/stranglethorn_vale/stranglethorn_vale.cpp1
-rw-r--r--src/bindings/scripts/scripts/zone/stratholme/boss_baron_rivendare.cpp1
-rw-r--r--src/bindings/scripts/scripts/zone/stratholme/boss_baroness_anastari.cpp1
-rw-r--r--src/bindings/scripts/scripts/zone/stratholme/boss_cannon_master_willey.cpp1
-rw-r--r--src/bindings/scripts/scripts/zone/stratholme/boss_magistrate_barthilas.cpp1
-rw-r--r--src/bindings/scripts/scripts/zone/stratholme/boss_maleki_the_pallid.cpp1
-rw-r--r--src/bindings/scripts/scripts/zone/stratholme/boss_nerubenkan.cpp6
-rw-r--r--src/bindings/scripts/scripts/zone/stratholme/boss_order_of_silver_hand.cpp4
-rw-r--r--src/bindings/scripts/scripts/zone/stratholme/boss_postmaster_malown.cpp1
-rw-r--r--src/bindings/scripts/scripts/zone/stratholme/boss_ramstein_the_gorger.cpp1
-rw-r--r--src/bindings/scripts/scripts/zone/stratholme/boss_timmy_the_cruel.cpp11
-rw-r--r--src/bindings/scripts/scripts/zone/sunwell_plateau/boss_eredar_twins.cpp24
-rw-r--r--src/bindings/scripts/scripts/zone/sunwell_plateau/boss_felmyst.cpp27
-rw-r--r--src/bindings/scripts/scripts/zone/sunwell_plateau/boss_kalecgos.cpp4
-rw-r--r--src/bindings/scripts/scripts/zone/sunwell_plateau/boss_kiljaeden.cpp3
-rw-r--r--src/bindings/scripts/scripts/zone/tanaris/tanaris.cpp2
-rw-r--r--src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_alar.cpp13
-rw-r--r--src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_astromancer.cpp61
-rw-r--r--src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_kaelthas.cpp34
-rw-r--r--src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_nethermancer_sepethrea.cpp2
-rw-r--r--src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_pathaleon_the_calculator.cpp2
-rw-r--r--src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_bug_trio.cpp2
-rw-r--r--src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_fankriss.cpp51
-rw-r--r--src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_ouro.cpp3
-rw-r--r--src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_sartura.cpp2
-rw-r--r--src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_twinemperors.cpp9
-rw-r--r--src/bindings/scripts/scripts/zone/terokkar_forest/terokkar_forest.cpp1
-rw-r--r--src/bindings/scripts/scripts/zone/uldaman/boss_archaedas.cpp12
-rw-r--r--src/bindings/scripts/scripts/zone/zulaman/boss_hexlord.cpp9
-rw-r--r--src/bindings/scripts/scripts/zone/zulaman/boss_nalorakk.cpp3
-rw-r--r--src/bindings/scripts/scripts/zone/zulaman/boss_zuljin.cpp14
-rw-r--r--src/bindings/scripts/scripts/zone/zulgurub/boss_arlokk.cpp7
-rw-r--r--src/bindings/scripts/scripts/zone/zulgurub/boss_hazzarah.cpp6
-rw-r--r--src/bindings/scripts/scripts/zone/zulgurub/boss_jeklik.cpp7
-rw-r--r--src/bindings/scripts/scripts/zone/zulgurub/boss_jindo.cpp47
-rw-r--r--src/bindings/scripts/scripts/zone/zulgurub/boss_marli.cpp20
-rw-r--r--src/bindings/scripts/scripts/zone/zulgurub/boss_thekal.cpp75
-rw-r--r--src/bindings/scripts/scripts/zone/zulgurub/boss_venoxis.cpp4
-rw-r--r--src/game/DynamicObject.cpp2
-rw-r--r--src/game/GridNotifiersImpl.h2
-rw-r--r--src/game/PetHandler.cpp2
-rw-r--r--src/game/SharedDefines.h5
-rw-r--r--src/game/Spell.cpp19
-rw-r--r--src/game/SpellEffects.cpp1
-rw-r--r--src/game/SpellMgr.cpp9
101 files changed, 802 insertions, 609 deletions
diff --git a/src/bindings/scripts/include/sc_creature.cpp b/src/bindings/scripts/include/sc_creature.cpp
index fed04c5303c..6d1fbc73dd5 100644
--- a/src/bindings/scripts/include/sc_creature.cpp
+++ b/src/bindings/scripts/include/sc_creature.cpp
@@ -564,7 +564,7 @@ void FillSpellSummary()
if ( TempSpell->EffectImplicitTargetA[j] == TARGET_ALL_ENEMY_IN_AREA ||
TempSpell->EffectImplicitTargetA[j] == TARGET_ALL_ENEMY_IN_AREA_INSTANT ||
TempSpell->EffectImplicitTargetA[j] == TARGET_DEST_CASTER ||
- TempSpell->EffectImplicitTargetA[j] == TARGET_ALL_ENEMY_IN_AREA_CHANNELED )
+ TempSpell->EffectImplicitTargetA[j] == TARGET_DEST_DYNOBJ_ENEMY )
SpellSummary[i].Targets |= 1 << (SELECT_TARGET_AOE_ENEMY-1);
//Spell targets an enemy
@@ -573,7 +573,7 @@ void FillSpellSummary()
TempSpell->EffectImplicitTargetA[j] == TARGET_ALL_ENEMY_IN_AREA ||
TempSpell->EffectImplicitTargetA[j] == TARGET_ALL_ENEMY_IN_AREA_INSTANT ||
TempSpell->EffectImplicitTargetA[j] == TARGET_DEST_CASTER ||
- TempSpell->EffectImplicitTargetA[j] == TARGET_ALL_ENEMY_IN_AREA_CHANNELED )
+ TempSpell->EffectImplicitTargetA[j] == TARGET_DEST_DYNOBJ_ENEMY )
SpellSummary[i].Targets |= 1 << (SELECT_TARGET_ANY_ENEMY-1);
//Spell targets a single friend(or self)
diff --git a/src/bindings/scripts/scripts/boss/boss_taerar.cpp b/src/bindings/scripts/scripts/boss/boss_taerar.cpp
index 47586a1e98c..73ca89fbcc8 100644
--- a/src/bindings/scripts/scripts/boss/boss_taerar.cpp
+++ b/src/bindings/scripts/scripts/boss/boss_taerar.cpp
@@ -79,6 +79,9 @@ struct TRINITY_DLL_DECL boss_taerarAI : public ScriptedAI
void SummonShades(Unit* victim)
{
+ if(!victim)
+ return;
+
Rand = rand()%15;
switch (rand()%2)
{
diff --git a/src/bindings/scripts/scripts/boss/boss_ysondre.cpp b/src/bindings/scripts/scripts/boss/boss_ysondre.cpp
index e6199a4b6fd..0ec6d31ca05 100644
--- a/src/bindings/scripts/scripts/boss/boss_ysondre.cpp
+++ b/src/bindings/scripts/scripts/boss/boss_ysondre.cpp
@@ -69,6 +69,9 @@ struct TRINITY_DLL_DECL boss_ysondreAI : public ScriptedAI
void SummonDruids(Unit* victim)
{
+ if(!victim)
+ return;
+
Rand = rand()%10;
switch (rand()%2)
{
diff --git a/src/bindings/scripts/scripts/creature/mob_event_ai.cpp b/src/bindings/scripts/scripts/creature/mob_event_ai.cpp
index 5ae059f0a30..d43b863300d 100644
--- a/src/bindings/scripts/scripts/creature/mob_event_ai.cpp
+++ b/src/bindings/scripts/scripts/creature/mob_event_ai.cpp
@@ -1426,7 +1426,7 @@ CreatureAI* GetAI_Mob_EventAI(Creature *pCreature)
}
}
else
- {
+ {
if (EAI_ErrorLevel > 1)
error_db_log("TSCR: EventMap for Creature %u is empty but creature is using Mob_EventAI.", pCreature->GetEntry());
}
diff --git a/src/bindings/scripts/scripts/custom/test.cpp b/src/bindings/scripts/scripts/custom/test.cpp
index 9d847223940..ff3de65f599 100644
--- a/src/bindings/scripts/scripts/custom/test.cpp
+++ b/src/bindings/scripts/scripts/custom/test.cpp
@@ -47,8 +47,8 @@ struct TRINITY_DLL_DECL npc_testAI : public npc_escortAI
{
m_creature->Say("Wild Felboar attack!", LANG_UNIVERSAL, 0);
Creature* temp = m_creature->SummonCreature(21878, m_creature->GetPositionX()+5, m_creature->GetPositionY()+7, m_creature->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 3000);
-
- temp->AI()->AttackStart(m_creature);
+ if(temp)
+ temp->AI()->AttackStart(m_creature);
}
break;
diff --git a/src/bindings/scripts/scripts/npc/npcs_special.cpp b/src/bindings/scripts/scripts/npc/npcs_special.cpp
index 82cb02123df..3a5b4d67bdf 100644
--- a/src/bindings/scripts/scripts/npc/npcs_special.cpp
+++ b/src/bindings/scripts/scripts/npc/npcs_special.cpp
@@ -73,8 +73,10 @@ struct TRINITY_DLL_DECL npc_chicken_cluckAI : public ScriptedAI
if(m_creature->HasFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER))
{
if(ResetFlagTimer < diff)
+ {
EnterEvadeMode();
- else ResetFlagTimer -= diff;
+ return;
+ }else ResetFlagTimer -= diff;
}
if(UpdateVictim())
diff --git a/src/bindings/scripts/scripts/zone/alterac_mountains/alterac_mountains.cpp b/src/bindings/scripts/scripts/zone/alterac_mountains/alterac_mountains.cpp
index a6959cc5268..c404f0b7fd0 100644
--- a/src/bindings/scripts/scripts/zone/alterac_mountains/alterac_mountains.cpp
+++ b/src/bindings/scripts/scripts/zone/alterac_mountains/alterac_mountains.cpp
@@ -46,6 +46,7 @@ struct TRINITY_DLL_DECL npc_ravenholdtAI : public ScriptedAI
void EnterCombat(Unit* who) { }
};
+
CreatureAI* GetAI_npc_ravenholdt(Creature *_Creature)
{
return new npc_ravenholdtAI (_Creature);
diff --git a/src/bindings/scripts/scripts/zone/aunchindoun/mana_tombs/boss_nexusprince_shaffar.cpp b/src/bindings/scripts/scripts/zone/aunchindoun/mana_tombs/boss_nexusprince_shaffar.cpp
index 5a32bb8635b..739bde2b650 100644
--- a/src/bindings/scripts/scripts/zone/aunchindoun/mana_tombs/boss_nexusprince_shaffar.cpp
+++ b/src/bindings/scripts/scripts/zone/aunchindoun/mana_tombs/boss_nexusprince_shaffar.cpp
@@ -261,7 +261,10 @@ struct TRINITY_DLL_DECL mob_ethereal_beaconAI : public ScriptedAI
}else Apprentice_Timer -= diff;
if( CanEvade )
+ {
EnterEvadeMode();
+ return;
+ }
DoMeleeAttackIfReady();
}
diff --git a/src/bindings/scripts/scripts/zone/aunchindoun/sethekk_halls/boss_tailonking_ikiss.cpp b/src/bindings/scripts/scripts/zone/aunchindoun/sethekk_halls/boss_tailonking_ikiss.cpp
index f17d1a133ce..28079c7a604 100644
--- a/src/bindings/scripts/scripts/zone/aunchindoun/sethekk_halls/boss_tailonking_ikiss.cpp
+++ b/src/bindings/scripts/scripts/zone/aunchindoun/sethekk_halls/boss_tailonking_ikiss.cpp
@@ -154,7 +154,8 @@ struct TRINITY_DLL_DECL boss_talon_king_ikissAI : public ScriptedAI
{
//second top aggro target in normal, random target in heroic correct?
Unit *target = NULL;
- if (HeroicMode ? target = SelectUnit(SELECT_TARGET_RANDOM,0) : target = SelectUnit(SELECT_TARGET_TOPAGGRO,1))
+ target = HeroicMode ? SelectUnit(SELECT_TARGET_RANDOM,0) : SelectUnit(SELECT_TARGET_TOPAGGRO,1);
+ if (target)
DoCast(target,HeroicMode ? H_SPELL_POLYMORPH : SPELL_POLYMORPH);
Sheep_Timer = 15000+rand()%2500;
}else Sheep_Timer -= diff;
diff --git a/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_ambassador_hellmaw.cpp b/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_ambassador_hellmaw.cpp
index ca589b268a5..06a78c423da 100644
--- a/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_ambassador_hellmaw.cpp
+++ b/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_ambassador_hellmaw.cpp
@@ -77,7 +77,6 @@ struct TRINITY_DLL_DECL boss_ambassador_hellmawAI : public ScriptedAI
IsBanished = true;
}
else pInstance->SetData(TYPE_HELLMAW,FAIL);
-
if (pInstance->GetData(TYPE_OVERSEER) == DONE)
{
if (m_creature->HasAura(SPELL_BANISH))
@@ -148,7 +147,7 @@ struct TRINITY_DLL_DECL boss_ambassador_hellmawAI : public ScriptedAI
{
if (EventCheck_Timer < diff)
{
- if (pInstance)
+ if(pInstance)
{
if (pInstance->GetData(TYPE_OVERSEER) == DONE)
DoIntro();
diff --git a/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_grandmaster_vorpil.cpp b/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_grandmaster_vorpil.cpp
index 80260e673f3..89fd75b9bc8 100644
--- a/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_grandmaster_vorpil.cpp
+++ b/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_grandmaster_vorpil.cpp
@@ -150,6 +150,7 @@ struct TRINITY_DLL_DECL boss_grandmaster_vorpilAI : public ScriptedAI
banish_Timer = 17000;
HelpYell = false;
destroyPortals();
+
if(pInstance)
pInstance->SetData(DATA_GRANDMASTERVORPILEVENT, NOT_STARTED);
}
@@ -162,8 +163,11 @@ struct TRINITY_DLL_DECL boss_grandmaster_vorpilAI : public ScriptedAI
{
Creature *Portal = NULL;
Portal = m_creature->SummonCreature(MOB_VOID_PORTAL,VoidPortalCoords[i][0],VoidPortalCoords[i][1],VoidPortalCoords[i][2],0,TEMPSUMMON_CORPSE_DESPAWN,3000000);
- PortalsGuid[i] = Portal->GetGUID();
- Portal->CastSpell(Portal,SPELL_VOID_PORTAL_VISUAL,false);
+ if(Portal)
+ {
+ PortalsGuid[i] = Portal->GetGUID();
+ Portal->CastSpell(Portal,SPELL_VOID_PORTAL_VISUAL,false);
+ }
}
sumportals = true;
summonTraveler_Timer = 5000;
@@ -215,6 +219,7 @@ struct TRINITY_DLL_DECL boss_grandmaster_vorpilAI : public ScriptedAI
{
DoScriptText(SAY_DEATH, m_creature);
destroyPortals();
+
if(pInstance)
pInstance->SetData(DATA_GRANDMASTERVORPILEVENT, DONE);
}
@@ -228,6 +233,7 @@ struct TRINITY_DLL_DECL boss_grandmaster_vorpilAI : public ScriptedAI
case 2: DoScriptText(SAY_AGGRO3, m_creature); break;
}
summonPortals();
+
if(pInstance)
pInstance->SetData(DATA_GRANDMASTERVORPILEVENT, IN_PROGRESS);
}
@@ -245,7 +251,6 @@ struct TRINITY_DLL_DECL boss_grandmaster_vorpilAI : public ScriptedAI
void UpdateAI(const uint32 diff)
{
-
if (!UpdateVictim())
return;
diff --git a/src/bindings/scripts/scripts/zone/azshara/azshara.cpp b/src/bindings/scripts/scripts/zone/azshara/azshara.cpp
index db3f7fd1da9..f6e0b263043 100644
--- a/src/bindings/scripts/scripts/zone/azshara/azshara.cpp
+++ b/src/bindings/scripts/scripts/zone/azshara/azshara.cpp
@@ -71,6 +71,7 @@ struct TRINITY_DLL_DECL mobs_spitelashesAI : public ScriptedAI
m_creature->DealDamage(m_creature, m_creature->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
m_creature->RemoveCorpse(); //you don't see any corpse on off.
EnterEvadeMode(); //spellhit will be set to false
+ return;
}
// walk 5 seconds before summoning
if( spellhit && morphtimer<5000 )
diff --git a/src/bindings/scripts/scripts/zone/azuremyst_isle/azuremyst_isle.cpp b/src/bindings/scripts/scripts/zone/azuremyst_isle/azuremyst_isle.cpp
index 0962207575f..1a3c40273af 100644
--- a/src/bindings/scripts/scripts/zone/azuremyst_isle/azuremyst_isle.cpp
+++ b/src/bindings/scripts/scripts/zone/azuremyst_isle/azuremyst_isle.cpp
@@ -467,11 +467,14 @@ struct TRINITY_DLL_DECL npc_geezleAI : public ScriptedAI
Step = 1;
EventStarted = true;
Creature* Spark = m_creature->SummonCreature(MOB_SPARK, SparkPos[0], SparkPos[1], SparkPos[2], 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 1000);
- SparkGUID = Spark->GetGUID();
- Spark->setActive(true);
- Spark->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
+ if(Spark)
+ {
+ SparkGUID = Spark->GetGUID();
+ Spark->setActive(true);
+ Spark->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
+ Spark->GetMotionMaster()->MovePoint(0, -5080.70, -11253.61, 0.56);
+ }
m_creature->GetMotionMaster()->MovePoint(0, -5092.26, -11252, 0.71);
- Spark->GetMotionMaster()->MovePoint(0, -5080.70, -11253.61, 0.56);
SayTimer = 23000;
}
@@ -488,8 +491,11 @@ struct TRINITY_DLL_DECL npc_geezleAI : public ScriptedAI
return 1000;
case 2:
DoScriptText(GEEZLE_SAY_1, m_creature, Spark);
- Spark->SetInFront(m_creature);
- m_creature->SetInFront(Spark);
+ if(Spark)
+ {
+ Spark->SetInFront(m_creature);
+ m_creature->SetInFront(Spark);
+ }
return 5000;
case 3: DoScriptText(SPARK_SAY_2, Spark); return 7000;
case 4: DoScriptText(SPARK_SAY_3, Spark); return 8000;
@@ -499,10 +505,12 @@ struct TRINITY_DLL_DECL npc_geezleAI : public ScriptedAI
case 8: DoScriptText(GEEZLE_SAY_7, m_creature, Spark); return 2000;
case 9:
m_creature->GetMotionMaster()->MoveTargetedHome();
- Spark->GetMotionMaster()->MovePoint(0, -5030.95, -11291.99, 7.97);
+ if(Spark)
+ Spark->GetMotionMaster()->MovePoint(0, -5030.95, -11291.99, 7.97);
return 20000;
case 10:
- Spark->DealDamage(Spark,Spark->GetHealth(),NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
+ if(Spark)
+ Spark->DealDamage(Spark,Spark->GetHealth(),NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
//DespawnNagaFlag(false);
m_creature->SetVisibility(VISIBILITY_OFF);
default: return 99999999;
diff --git a/src/bindings/scripts/scripts/zone/barrens/the_barrens.cpp b/src/bindings/scripts/scripts/zone/barrens/the_barrens.cpp
index 1adc651788b..53aa07d8d26 100644
--- a/src/bindings/scripts/scripts/zone/barrens/the_barrens.cpp
+++ b/src/bindings/scripts/scripts/zone/barrens/the_barrens.cpp
@@ -149,6 +149,7 @@ struct TRINITY_DLL_DECL npc_taskmaster_fizzuleAI : public ScriptedAI
if (Reset_Timer < diff)
{
EnterEvadeMode();
+ return;
} else Reset_Timer -= diff;
}
diff --git a/src/bindings/scripts/scripts/zone/black_temple/boss_illidan.cpp b/src/bindings/scripts/scripts/zone/black_temple/boss_illidan.cpp
index 7775f3e3e4d..60c51f0be33 100644
--- a/src/bindings/scripts/scripts/zone/black_temple/boss_illidan.cpp
+++ b/src/bindings/scripts/scripts/zone/black_temple/boss_illidan.cpp
@@ -1073,7 +1073,8 @@ struct TRINITY_DLL_DECL npc_akama_illidanAI : public ScriptedAI
void BeginTalk()
{
- pInstance->SetData(DATA_ILLIDANSTORMRAGEEVENT, IN_PROGRESS);
+ if(pInstance)
+ pInstance->SetData(DATA_ILLIDANSTORMRAGEEVENT, IN_PROGRESS);
for(uint8 i = 0; i < 2; i++)
if(GETGO(Door, DoorGUID[i]))
@@ -1676,7 +1677,8 @@ bool GOHello_cage_trap(Player* plr, GameObject* go)
CellLock<GridReadGuard> cell_lock(cell, pair);
cell_lock->Visit(cell_lock, cSearcher, *(plr->GetMap()));
- ((cage_trap_triggerAI*)trigger->AI())->Active = true;
+ if(trigger)
+ ((cage_trap_triggerAI*)trigger->AI())->Active = true;
go->SetGoState(GO_STATE_ACTIVE);
return true;
}
diff --git a/src/bindings/scripts/scripts/zone/black_temple/boss_reliquary_of_souls.cpp b/src/bindings/scripts/scripts/zone/black_temple/boss_reliquary_of_souls.cpp
index 04e01a94e69..6bd777405ea 100644
--- a/src/bindings/scripts/scripts/zone/black_temple/boss_reliquary_of_souls.cpp
+++ b/src/bindings/scripts/scripts/zone/black_temple/boss_reliquary_of_souls.cpp
@@ -387,7 +387,8 @@ struct TRINITY_DLL_DECL boss_essence_of_sufferingAI : public ScriptedAI
targets.sort(TargetDistanceOrder(m_creature)); // Sort players by distance.
targets.resize(1); // Only need closest target.
Unit* target = targets.front(); // Get the first target.
- target->CastSpell(m_creature, SPELL_FIXATE_TAUNT, true);
+ if(target)
+ target->CastSpell(m_creature, SPELL_FIXATE_TAUNT, true);
DoResetThreat();
m_creature->AddThreat(target,1000000);
}
diff --git a/src/bindings/scripts/scripts/zone/black_temple/boss_shade_of_akama.cpp b/src/bindings/scripts/scripts/zone/black_temple/boss_shade_of_akama.cpp
index df535d2528c..ec876e4c7ac 100644
--- a/src/bindings/scripts/scripts/zone/black_temple/boss_shade_of_akama.cpp
+++ b/src/bindings/scripts/scripts/zone/black_temple/boss_shade_of_akama.cpp
@@ -464,7 +464,7 @@ struct TRINITY_DLL_DECL boss_shade_of_akamaAI : public ScriptedAI
if(HasKilledAkama)
{
if(!HasKilledAkamaAndReseting)//do not let players kill Shade if Akama is dead and Shade is waiting for ResetTimer!! event would bug
- {
+ {
HasKilledAkamaAndReseting = true;
m_creature->RemoveAllAuras();
m_creature->DeleteThreatList();
@@ -474,8 +474,10 @@ struct TRINITY_DLL_DECL boss_shade_of_akamaAI : public ScriptedAI
m_creature->GetMotionMaster()->MoveTargetedHome();
}
if(ResetTimer < diff)
+ {
EnterEvadeMode();// Reset a little while after killing Akama, evade and respawn Akama
- else ResetTimer -= diff;
+ return;
+ }else ResetTimer -= diff;
}
DoMeleeAttackIfReady();
@@ -515,7 +517,7 @@ struct TRINITY_DLL_DECL npc_akamaAI : public ScriptedAI
EndingTalkCount = 0;
WayPointId = 0;
BrokenSummonIndex = 0;
- BrokenList.clear();
+ BrokenList.clear();
HasYelledOnce = false;
}
@@ -545,7 +547,7 @@ struct TRINITY_DLL_DECL npc_akamaAI : public ScriptedAI
DestructivePoisonTimer = 15000;
LightningBoltTimer = 10000;
CheckTimer = 2000;
-
+
if(!EventBegun)
{
m_creature->SetUInt32Value(UNIT_NPC_FLAGS, 0); // Database sometimes has very very strange values
@@ -615,7 +617,7 @@ struct TRINITY_DLL_DECL npc_akamaAI : public ScriptedAI
EndingTalkCount = 0;
WayPointId = 0;
BrokenSummonIndex = 0;
- BrokenList.clear();
+ BrokenList.clear();
HasYelledOnce = false;
Creature* Shade = Unit::GetCreature((*m_creature), ShadeGUID);
if(Shade && Shade->isAlive())
diff --git a/src/bindings/scripts/scripts/zone/black_temple/boss_supremus.cpp b/src/bindings/scripts/scripts/zone/black_temple/boss_supremus.cpp
index a479b7c162b..c01db75bd58 100644
--- a/src/bindings/scripts/scripts/zone/black_temple/boss_supremus.cpp
+++ b/src/bindings/scripts/scripts/zone/black_temple/boss_supremus.cpp
@@ -250,6 +250,7 @@ struct TRINITY_DLL_DECL npc_volcanoAI : public ScriptedAI
}
void UpdateAI(const uint32 diff) {}
+
};
CreatureAI* GetAI_boss_supremus(Creature *_Creature)
diff --git a/src/bindings/scripts/scripts/zone/black_temple/boss_teron_gorefiend.cpp b/src/bindings/scripts/scripts/zone/black_temple/boss_teron_gorefiend.cpp
index 72fc69d9378..6c2a738647d 100644
--- a/src/bindings/scripts/scripts/zone/black_temple/boss_teron_gorefiend.cpp
+++ b/src/bindings/scripts/scripts/zone/black_temple/boss_teron_gorefiend.cpp
@@ -382,8 +382,12 @@ struct TRINITY_DLL_DECL boss_teron_gorefiendAI : public ScriptedAI
AttackStart(pUnit);
DoZoneInCombat();
- }else EnterEvadeMode();
-
+ }
+ else
+ {
+ EnterEvadeMode();
+ return;
+ }
}else AggroTimer -= diff;
}
diff --git a/src/bindings/scripts/scripts/zone/black_temple/illidari_council.cpp b/src/bindings/scripts/scripts/zone/black_temple/illidari_council.cpp
index 08f6bb335f2..7478a235215 100644
--- a/src/bindings/scripts/scripts/zone/black_temple/illidari_council.cpp
+++ b/src/bindings/scripts/scripts/zone/black_temple/illidari_council.cpp
@@ -372,6 +372,7 @@ struct TRINITY_DLL_DECL boss_illidari_councilAI : public ScriptedAI
{
error_log(ERROR_INST_DATA);
EnterEvadeMode();
+ return;
}
DoZoneInCombat();
// Load GUIDs on first aggro because the creature guids are only set as the creatures are created in world-
diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_anetheron.cpp b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_anetheron.cpp
index de86ca23242..21b39fa378b 100644
--- a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_anetheron.cpp
+++ b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_anetheron.cpp
@@ -41,7 +41,7 @@ struct TRINITY_DLL_DECL boss_anetheronAI : public hyjal_trashAI
boss_anetheronAI(Creature *c) : hyjal_trashAI(c)
{
pInstance = ((ScriptedInstance*)c->GetInstanceData());
- go = false;
+ go = false;
pos = 0;
SpellEntry *TempSpell = (SpellEntry*)GetSpellStore()->LookupEntry(SPELL_SLEEP);
if(TempSpell && TempSpell->EffectImplicitTargetA[0] != 1)
@@ -71,7 +71,7 @@ struct TRINITY_DLL_DECL boss_anetheronAI : public hyjal_trashAI
}
void EnterCombat(Unit *who)
- {
+ {
if(pInstance && IsEvent)
pInstance->SetData(DATA_ANETHERONEVENT, IN_PROGRESS);
DoPlaySoundToSet(m_creature, SOUND_ONAGGRO);
@@ -89,12 +89,12 @@ struct TRINITY_DLL_DECL boss_anetheronAI : public hyjal_trashAI
case 1:
DoPlaySoundToSet(m_creature, SOUND_ONSLAY2);
DoYell(SAY_ONSLAY2, LANG_UNIVERSAL, NULL);
- break;
+ break;
case 2:
DoPlaySoundToSet(m_creature, SOUND_ONSLAY3);
DoYell(SAY_ONSLAY3, LANG_UNIVERSAL, NULL);
- break;
- }
+ break;
+ }
}
void WaypointReached(uint32 i)
@@ -105,7 +105,7 @@ struct TRINITY_DLL_DECL boss_anetheronAI : public hyjal_trashAI
Unit* target = Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_JAINAPROUDMOORE));
if (target && target->isAlive())
m_creature->AddThreat(target,0.0);
- }
+ }
}
void JustDied(Unit *victim)
@@ -138,7 +138,7 @@ struct TRINITY_DLL_DECL boss_anetheronAI : public hyjal_trashAI
((npc_escortAI*)(m_creature->AI()))->AddWaypoint(7, 5067.23, -1789.95, 1321.17);
((npc_escortAI*)(m_creature->AI()))->Start(false, true, true);
((npc_escortAI*)(m_creature->AI()))->SetDespawnAtEnd(false);
- }
+ }
}
}
@@ -162,8 +162,8 @@ struct TRINITY_DLL_DECL boss_anetheronAI : public hyjal_trashAI
case 1:
DoPlaySoundToSet(m_creature, SOUND_SWARM2);
DoYell(SAY_SWARM2, LANG_UNIVERSAL, NULL);
- break;
- }
+ break;
+ }
}else SwarmTimer -= diff;
if(SleepTimer < diff)
@@ -184,13 +184,13 @@ struct TRINITY_DLL_DECL boss_anetheronAI : public hyjal_trashAI
case 1:
DoPlaySoundToSet(m_creature, SOUND_SLEEP2);
DoYell(SAY_SLEEP2, LANG_UNIVERSAL, NULL);
- break;
- }
- }else SleepTimer -= diff;
+ break;
+ }
+ }else SleepTimer -= diff;
if(AuraTimer < diff)
{
DoCast(m_creature, SPELL_VAMPIRIC_AURA,true);
- AuraTimer = 10000+rand()%10000;
+ AuraTimer = 10000+rand()%10000;
}else AuraTimer -= diff;
if(InfernoTimer < diff)
{
@@ -205,8 +205,8 @@ struct TRINITY_DLL_DECL boss_anetheronAI : public hyjal_trashAI
case 1:
DoPlaySoundToSet(m_creature, SOUND_INFERNO2);
DoYell(SAY_INFERNO2, LANG_UNIVERSAL, NULL);
- break;
- }
+ break;
+ }
}else InfernoTimer -= diff;
DoMeleeAttackIfReady();
@@ -243,18 +243,18 @@ struct TRINITY_DLL_DECL mob_towering_infernalAI : public ScriptedAI
}
void EnterCombat(Unit *who)
- {
-
+ {
+
}
void KilledUnit(Unit *victim)
{
-
+
}
void JustDied(Unit *victim)
{
-
+
}
void MoveInLineOfSight(Unit *who)
@@ -286,7 +286,7 @@ struct TRINITY_DLL_DECL mob_towering_infernalAI : public ScriptedAI
if(ImmolationTimer < diff)
{
- DoCast(m_creature, SPELL_IMMOLATION);
+ DoCast(m_creature, SPELL_IMMOLATION);
ImmolationTimer = 5000;
}else ImmolationTimer -= diff;
@@ -310,5 +310,5 @@ void AddSC_boss_anetheron()
newscript = new Script;
newscript->Name="mob_towering_infernal";
newscript->GetAI = &GetAI_mob_towering_infernal;
- newscript->RegisterSelf();
+ newscript->RegisterSelf();
}
diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_azgalor.cpp b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_azgalor.cpp
index 44eebba1d5e..15085963b20 100644
--- a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_azgalor.cpp
+++ b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_azgalor.cpp
@@ -32,7 +32,7 @@ struct TRINITY_DLL_DECL boss_azgalorAI : public hyjal_trashAI
boss_azgalorAI(Creature *c) : hyjal_trashAI(c)
{
pInstance = ((ScriptedInstance*)c->GetInstanceData());
- go = false;
+ go = false;
pos = 0;
SpellEntry *TempSpell = (SpellEntry*)GetSpellStore()->LookupEntry(SPELL_HOWL_OF_AZGALOR);
if(TempSpell)
@@ -64,7 +64,7 @@ struct TRINITY_DLL_DECL boss_azgalorAI : public hyjal_trashAI
}
void EnterCombat(Unit *who)
- {
+ {
if(pInstance && IsEvent)
pInstance->SetData(DATA_AZGALOREVENT, IN_PROGRESS);
DoPlaySoundToSet(m_creature, SOUND_ONAGGRO);
@@ -82,12 +82,12 @@ struct TRINITY_DLL_DECL boss_azgalorAI : public hyjal_trashAI
case 1:
DoPlaySoundToSet(m_creature, SOUND_ONSLAY2);
DoYell(SAY_ONSLAY2, LANG_UNIVERSAL, NULL);
- break;
+ break;
case 2:
DoPlaySoundToSet(m_creature, SOUND_ONSLAY3);
DoYell(SAY_ONSLAY3, LANG_UNIVERSAL, NULL);
- break;
- }
+ break;
+ }
}
void WaypointReached(uint32 i)
@@ -98,7 +98,7 @@ struct TRINITY_DLL_DECL boss_azgalorAI : public hyjal_trashAI
Unit* target = Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_THRALL));
if (target && target->isAlive())
m_creature->AddThreat(target,0.0);
- }
+ }
}
void JustDied(Unit *victim)
@@ -130,7 +130,7 @@ struct TRINITY_DLL_DECL boss_azgalorAI : public hyjal_trashAI
((npc_escortAI*)(m_creature->AI()))->AddWaypoint(7, 5457.04, -2726.26, 1485.10);
((npc_escortAI*)(m_creature->AI()))->Start(false, true, true);
((npc_escortAI*)(m_creature->AI()))->SetDespawnAtEnd(false);
- }
+ }
}
}
@@ -159,7 +159,7 @@ struct TRINITY_DLL_DECL boss_azgalorAI : public hyjal_trashAI
if(CleaveTimer < diff)
{
DoCast(m_creature->getVictim(), SPELL_CLEAVE);
- CleaveTimer = 10000+rand()%5000;
+ CleaveTimer = 10000+rand()%5000;
}else CleaveTimer -= diff;
if(EnrageTimer < diff && !enraged)
@@ -207,17 +207,17 @@ struct TRINITY_DLL_DECL mob_lesser_doomguardAI : public hyjal_trashAI
}
void EnterCombat(Unit *who)
- {
+ {
}
void KilledUnit(Unit *victim)
{
-
+
}
void WaypointReached(uint32 i)
{
-
+
}
void MoveInLineOfSight(Unit *who)
@@ -228,7 +228,7 @@ struct TRINITY_DLL_DECL mob_lesser_doomguardAI : public hyjal_trashAI
void JustDied(Unit *victim)
{
-
+
}
void UpdateAI(const uint32 diff)
@@ -262,7 +262,7 @@ struct TRINITY_DLL_DECL mob_lesser_doomguardAI : public hyjal_trashAI
{
DoCast(SelectUnit(SELECT_TARGET_RANDOM,0,100,true), SPELL_CRIPPLE);
CrippleTimer = 25000+rand()%5000;
- }else CrippleTimer -= diff;
+ }else CrippleTimer -= diff;
DoMeleeAttackIfReady();
}
diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_kazrogal.cpp b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_kazrogal.cpp
index 7ab9000d05f..630945bcb96 100644
--- a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_kazrogal.cpp
+++ b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_kazrogal.cpp
@@ -29,7 +29,7 @@ struct TRINITY_DLL_DECL boss_kazrogalAI : public hyjal_trashAI
boss_kazrogalAI(Creature *c) : hyjal_trashAI(c)
{
pInstance = ((ScriptedInstance*)c->GetInstanceData());
- go = false;
+ go = false;
pos = 0;
SpellEntry *TempSpell = (SpellEntry*)GetSpellStore()->LookupEntry(SPELL_MARK);
if(TempSpell && TempSpell->EffectImplicitTargetA[0] != 1)
@@ -59,7 +59,7 @@ struct TRINITY_DLL_DECL boss_kazrogalAI : public hyjal_trashAI
}
void EnterCombat(Unit *who)
- {
+ {
if(pInstance && IsEvent)
pInstance->SetData(DATA_KAZROGALEVENT, IN_PROGRESS);
DoPlaySoundToSet(m_creature, SOUND_ONAGGRO);
@@ -77,12 +77,12 @@ struct TRINITY_DLL_DECL boss_kazrogalAI : public hyjal_trashAI
case 1:
DoPlaySoundToSet(m_creature, SOUND_ONSLAY2);
DoYell(SAY_ONSLAY2, LANG_UNIVERSAL, NULL);
- break;
+ break;
case 2:
DoPlaySoundToSet(m_creature, SOUND_ONSLAY3);
DoYell(SAY_ONSLAY3, LANG_UNIVERSAL, NULL);
- break;
- }
+ break;
+ }
}
void WaypointReached(uint32 i)
@@ -93,7 +93,7 @@ struct TRINITY_DLL_DECL boss_kazrogalAI : public hyjal_trashAI
Unit* target = Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_THRALL));
if (target && target->isAlive())
m_creature->AddThreat(target,0.0);
- }
+ }
}
void JustDied(Unit *victim)
@@ -125,7 +125,7 @@ struct TRINITY_DLL_DECL boss_kazrogalAI : public hyjal_trashAI
((npc_escortAI*)(m_creature->AI()))->AddWaypoint(7, 5457.04, -2726.26, 1485.10);
((npc_escortAI*)(m_creature->AI()))->Start(false, true, true);
((npc_escortAI*)(m_creature->AI()))->SetDespawnAtEnd(false);
- }
+ }
}
}
@@ -136,7 +136,7 @@ struct TRINITY_DLL_DECL boss_kazrogalAI : public hyjal_trashAI
if(CleaveTimer < diff)
{
DoCast(m_creature, SPELL_CLEAVE);
- CleaveTimer = 6000+rand()%15000;
+ CleaveTimer = 6000+rand()%15000;
}else CleaveTimer -= diff;
if(WarStompTimer < diff)
@@ -150,8 +150,8 @@ struct TRINITY_DLL_DECL boss_kazrogalAI : public hyjal_trashAI
if(MarkTimer < diff)
{
//cast dummy, useful for bos addons
- m_creature->CastCustomSpell(m_creature, SPELL_MARK, NULL, NULL, NULL, false, NULL, NULL, m_creature->GetGUID());
-
+ m_creature->CastCustomSpell(m_creature, SPELL_MARK, NULL, NULL, NULL, false, NULL, NULL, m_creature->GetGUID());
+
std::list<HostilReference *> t_list = m_creature->getThreatManager().getThreatList();
for(std::list<HostilReference *>::iterator itr = t_list.begin(); itr!= t_list.end(); ++itr)
{
@@ -160,11 +160,11 @@ struct TRINITY_DLL_DECL boss_kazrogalAI : public hyjal_trashAI
{
target->CastSpell(target, SPELL_MARK,true);//only cast on mana users
}
- }
+ }
MarkTimerBase -= 5000;
if(MarkTimerBase < 5500)
MarkTimerBase = 5500;
- MarkTimer = MarkTimerBase;
+ MarkTimer = MarkTimerBase;
switch(rand()%3)
{
case 0:
@@ -174,7 +174,7 @@ struct TRINITY_DLL_DECL boss_kazrogalAI : public hyjal_trashAI
case 1:
DoPlaySoundToSet(m_creature, SOUND_MARK2);
DoYell(SAY_MARK2, LANG_UNIVERSAL, NULL);
- break;
+ break;
}
}else MarkTimer -= diff;
diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_rage_winterchill.cpp b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_rage_winterchill.cpp
index f198ed483d1..addbddab5b8 100644
--- a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_rage_winterchill.cpp
+++ b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/boss_rage_winterchill.cpp
@@ -35,7 +35,7 @@ struct TRINITY_DLL_DECL boss_rage_winterchillAI : public hyjal_trashAI
boss_rage_winterchillAI(Creature *c) : hyjal_trashAI(c)
{
pInstance = ((ScriptedInstance*)c->GetInstanceData());
- go = false;
+ go = false;
pos = 0;
}
@@ -59,7 +59,7 @@ struct TRINITY_DLL_DECL boss_rage_winterchillAI : public hyjal_trashAI
}
void EnterCombat(Unit *who)
- {
+ {
if(pInstance && IsEvent)
pInstance->SetData(DATA_RAGEWINTERCHILLEVENT, IN_PROGRESS);
DoPlaySoundToSet(m_creature, SOUND_ONAGGRO);
@@ -77,8 +77,8 @@ struct TRINITY_DLL_DECL boss_rage_winterchillAI : public hyjal_trashAI
case 1:
DoPlaySoundToSet(m_creature, SOUND_ONSLAY2);
DoYell(SAY_ONSLAY2, LANG_UNIVERSAL, NULL);
- break;
- }
+ break;
+ }
}
void WaypointReached(uint32 i)
@@ -89,7 +89,7 @@ struct TRINITY_DLL_DECL boss_rage_winterchillAI : public hyjal_trashAI
Unit* target = Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_JAINAPROUDMOORE));
if (target && target->isAlive())
m_creature->AddThreat(target,0.0);
- }
+ }
}
void JustDied(Unit *victim)
@@ -122,7 +122,7 @@ struct TRINITY_DLL_DECL boss_rage_winterchillAI : public hyjal_trashAI
((npc_escortAI*)(m_creature->AI()))->AddWaypoint(7, 5067.23, -1789.95, 1321.17);
((npc_escortAI*)(m_creature->AI()))->Start(false, true, true);
((npc_escortAI*)(m_creature->AI()))->SetDespawnAtEnd(false);
- }
+ }
}
}
@@ -148,8 +148,8 @@ struct TRINITY_DLL_DECL boss_rage_winterchillAI : public hyjal_trashAI
case 1:
DoPlaySoundToSet(m_creature, SOUND_DECAY2);
DoYell(SAY_DECAY2, LANG_UNIVERSAL, NULL);
- break;
- }
+ break;
+ }
}else DecayTimer -= diff;
if(NovaTimer < diff)
{
@@ -164,7 +164,7 @@ struct TRINITY_DLL_DECL boss_rage_winterchillAI : public hyjal_trashAI
case 1:
DoPlaySoundToSet(m_creature, SOUND_NOVA2);
DoYell(SAY_NOVA2, LANG_UNIVERSAL, NULL);
- break;
+ break;
}
}else NovaTimer -= diff;
if(IceboltTimer < diff)
diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjal.cpp b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjal.cpp
index 5dc149b1b02..96a991d6682 100644
--- a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjal.cpp
+++ b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjal.cpp
@@ -202,7 +202,7 @@ bool GossipHello_npc_tyrande_whisperwind(Player* player, Creature* _Creature)
bool GossipSelect_npc_tyrande_whisperwind(Player *player, Creature *_Creature, uint32 sender, uint32 action)
{
- if (action == GOSSIP_ACTION_INFO_DEF)
+ if (action == GOSSIP_ACTION_INFO_DEF)
{
ItemPosCountVec dest;
uint8 msg = player->CanStoreNewItem(NULL_BAG, NULL_SLOT, dest, ITEM_TEAR_OF_GODDESS, 1);
diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjalAI.cpp b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjalAI.cpp
index d40d060dd88..a3d79a28fa3 100644
--- a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjalAI.cpp
+++ b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjalAI.cpp
@@ -34,7 +34,7 @@ EndScriptData */
#define SPAWN_NEAR_TOWER 2
// Locations for summoning gargoyls and frost wyrms in special cases
float SpawnPointSpecial[3][3]=
-{
+{
{5497.08, -2493.23, 1535.72}, //spawn point for the gargoyles near the horde gate
{5624.53, -2548.12, 1551.54}, //spawn point for the frost wyrm near the horde gate
{5604.41, -2811.98, 1547.77} //spawn point for the gargoyles and wyrms near the horde tower
@@ -57,7 +57,7 @@ float JainaDummySpawn[2][4]=
// Locations for summoning waves in Horde base
-float HordeBase[4][3]=
+float HordeBase[4][3]=
{
{5458.01, -2340.27, 1459.60},
{5466.01, -2334.69, 1460.06},
@@ -66,7 +66,7 @@ float HordeBase[4][3]=
};
// Lady Jaina's waypoints when retreathing
-float JainaWPs[2][3]=
+float JainaWPs[2][3]=
{
{5078.56, -1789.79, 1320.73},//next to the small stairs
{5037.38, -1778.39, 1322.61},//center of alliance base
@@ -239,70 +239,70 @@ float AllianceFirePos[92][8]=//spawn points for the fire visuals (GO) in the all
float HordeFirePos[65][8]=//spawn points for the fire visuals (GO) in the horde base
{
- {5524.11, -2612.73, 1483.38, 1.96198, 0, 0, 0.831047, 0.556202},
- {5514.42, -2617.19, 1505.77, 1.82453, 0, 0, 0.790892, 0.611956},
- {5510.21, -2624.77, 1485.34, 1.71065, 0, 0, 0.754783, 0.655974},
- {5570.72, -2619.04, 1487.62, 0.728898, 0, 0, 0.356435, 0.93432},
- {5570.29, -2639.37, 1487.31, 1.49308, 0, 0, 0.679104, 0.734042},
- {5583.56, -2637.2, 1503.78, 1.46559, 0, 0, 0.668951, 0.743307},
- {5571.53, -2626.81, 1510.99, 0.362107, 0, 0, 0.180066, 0.983654},
- {5545.97, -2659.62, 1489.64, 5.07055, 0, 0, 0.569845, -0.821752},
- {5557.44, -2675.91, 1482.58, 1.70118, 0, 0, 0.751671, 0.659539},
- {5594.98, -2742.31, 1495.51, 4.5993, 0, 0, 0.74594, -0.666013},
- {5599.65, -2755.6, 1505.05, 1.66896, 0, 0, 0.740947, 0.671564},
- {5565.95, -2774.75, 1499.48, 6.22425, 0, 0, 0.0294611, -0.999566},
- {5567.1, -2769.7, 1511.17, 5.99257, 0, 0, 0.144799, -0.989461},
- {5572.84, -2774.16, 1527.06, 0.836428, 0, 0, 0.406129, 0.913816},
- {5538.32, -2805.94, 1498.87, 4.30082, 0, 0, 0.836674, -0.547701},
- {5515.66, -2801.74, 1503.53, 5.57316, 0, 0, 0.347602, -0.937642},
- {5516.76, -2827.14, 1501.15, 0.35026, 0, 0, 0.174236, 0.984704},
- {5536.13, -2813.51, 1537.21, 4.51681, 0, 0, 0.772765, -0.634692},
- {5525.05, -2825.16, 1538.53, 0.489275, 0, 0, 0.242205, 0.970225},
- {5534.42, -2815.45, 1562.84, 4.62834, 0, 0, 0.736191, -0.676774},
- {5519.64, -2831.12, 1526.46, 0.611008, 0, 0, 0.300774, 0.953696},
- {5551.04, -2827.55, 1523.5, 3.35206, 0, 0, 0.994468, -0.10504},
- {5469.22, -2802.87, 1503.5, 4.99509, 0, 0, 0.600436, -0.799673},
- {5427.8, -2737.26, 1487.12, 1.78673, 0, 0, 0.779186, 0.626793},
- {5454.1, -2709.1, 1485.92, 3.03552, 0, 0, 0.998594, 0.0530137},
- {5436.3, -2718.2, 1506.02, 2.7567, 0, 0, 0.981539, 0.191261},
- {5412.6, -2740.55, 1510.79, 2.98446, 0, 0, 0.996915, 0.0784832},
- {5406.12, -2752.48, 1521.01, 2.05769, 0, 0, 0.856705, 0.515807},
- {5445.24, -2676.35, 1521.89, 2.91378, 0, 0, 0.99352, 0.113661},
- {5481.4, -2665.08, 1482.23, 4.30001, 0, 0, 0.836895, -0.547363},
- {5443.51, -2675.44, 1487.12, 2.90986, 0, 0, 0.993295, 0.115606},
- {5391.72, -2647.3, 1528.9, 3.76987, 0, 0, 0.951063, -0.308997},
- {5421.09, -2734.12, 1521.01, 2.70567, 0, 0, 0.97634, 0.216242},
- {5405.39, -2710.33, 1533.77, 2.51324, 0, 0, 0.951052, 0.309032},
- {5423.96, -2703.76, 1516.34, 2.79206, 0, 0, 0.984767, 0.173879},
- {5444.75, -2735.23, 1486.37, 2.22657, 0, 0, 0.897155, 0.441715},
- {5570.98, -2747.91, 1495.7, 5.14433, 0, 0, 0.53915, -0.84221},
- {5567.79, -2673.9, 1484.66, 2.72529, 0, 0, 0.978415, 0.20665},
- {5600.71, -2696.8, 1500.42, 0.443704, 0, 0, 0.220036, 0.975492},
- {5600.7, -2693.04, 1515.2, 5.16003, 0, 0, 0.532522, -0.846416},
- {5627.56, -2839.66, 1510.53, 5.41527, 0, 0, 0.420463, -0.907309},
- {5622.02, -2868.71, 1516.22, 2.25482, 0, 0, 0.903303, 0.429002},
- {5586.61, -2878.97, 1510.34, 4.55604, 0, 0, 0.76017, -0.649724},
- {5583.78, -2843.71, 1509.54, 5.35715, 0, 0, 0.44665, -0.894709},
- {5580.95, -2811.3, 1513.3, 3.57587, 0, 0, 0.976518, -0.215434},
- {5542.52, -2869.31, 1523.13, 5.23304, 0, 0, 0.501275, -0.865288},
- {5557.35, -2866.36, 1518.76, 4.48299, 0, 0, 0.783388, -0.621533},
- {5380.91, -2849.36, 1512.81, 3.90962, 0, 0, 0.927168, -0.374646},
- {5395.76, -2881.41, 1521.11, 4.28426, 0, 0, 0.84118, -0.540755},
- {5374.87, -2859.63, 1528.98, 3.30252, 0, 0, 0.996765, -0.0803745},
- {5356.07, -2854.66, 1520.34, 5.83933, 0, 0, 0.220108, -0.975475},
- {5363.01, -2975.72, 1539.02, 4.13738, 0, 0, 0.87859, -0.477576},
- {5336.85, -2980.74, 1561.24, 5.11126, 0, 0, 0.553001, -0.83318},
- {5335.23, -2974.62, 1540.05, 5.04451, 0, 0, 0.580496, -0.814263},
- {5422.37, -2998.87, 1549.98, 4.51831, 0, 0, 0.772288, -0.635272},
- {5405.54, -3014.6, 1562.16, 5.86761, 0, 0, 0.206298, -0.978489},
- {5427.96, -3019.4, 1561.58, 3.53498, 0, 0, 0.980718, -0.19543},
- {5348.12, -2977.84, 1582.47, 3.94025, 0, 0, 0.921323, -0.388799},
- {5331.12, -2993.71, 1576.14, 0.0642734, 0, 0, 0.0321311, 0.999484},
- {5321.63, -2986.55, 1552.2, 5.29503, 0, 0, 0.474219, -0.880407},
- {5292.1, -2914.36, 1529.52, 2.9742, 0, 0, 0.996499, 0.083601},
- {5281.77, -2926.5, 1530.62, 1.67829, 0, 0, 0.744071, 0.6681},
- {5287.19, -2909.94, 1543.49, 3.31192, 0, 0, 0.996376, -0.0850591},
- {5534.15, -2679.35, 1483.61, 0.428685, 0, 0, 0.212705, 0.977116},
+ {5524.11, -2612.73, 1483.38, 1.96198, 0, 0, 0.831047, 0.556202},
+ {5514.42, -2617.19, 1505.77, 1.82453, 0, 0, 0.790892, 0.611956},
+ {5510.21, -2624.77, 1485.34, 1.71065, 0, 0, 0.754783, 0.655974},
+ {5570.72, -2619.04, 1487.62, 0.728898, 0, 0, 0.356435, 0.93432},
+ {5570.29, -2639.37, 1487.31, 1.49308, 0, 0, 0.679104, 0.734042},
+ {5583.56, -2637.2, 1503.78, 1.46559, 0, 0, 0.668951, 0.743307},
+ {5571.53, -2626.81, 1510.99, 0.362107, 0, 0, 0.180066, 0.983654},
+ {5545.97, -2659.62, 1489.64, 5.07055, 0, 0, 0.569845, -0.821752},
+ {5557.44, -2675.91, 1482.58, 1.70118, 0, 0, 0.751671, 0.659539},
+ {5594.98, -2742.31, 1495.51, 4.5993, 0, 0, 0.74594, -0.666013},
+ {5599.65, -2755.6, 1505.05, 1.66896, 0, 0, 0.740947, 0.671564},
+ {5565.95, -2774.75, 1499.48, 6.22425, 0, 0, 0.0294611, -0.999566},
+ {5567.1, -2769.7, 1511.17, 5.99257, 0, 0, 0.144799, -0.989461},
+ {5572.84, -2774.16, 1527.06, 0.836428, 0, 0, 0.406129, 0.913816},
+ {5538.32, -2805.94, 1498.87, 4.30082, 0, 0, 0.836674, -0.547701},
+ {5515.66, -2801.74, 1503.53, 5.57316, 0, 0, 0.347602, -0.937642},
+ {5516.76, -2827.14, 1501.15, 0.35026, 0, 0, 0.174236, 0.984704},
+ {5536.13, -2813.51, 1537.21, 4.51681, 0, 0, 0.772765, -0.634692},
+ {5525.05, -2825.16, 1538.53, 0.489275, 0, 0, 0.242205, 0.970225},
+ {5534.42, -2815.45, 1562.84, 4.62834, 0, 0, 0.736191, -0.676774},
+ {5519.64, -2831.12, 1526.46, 0.611008, 0, 0, 0.300774, 0.953696},
+ {5551.04, -2827.55, 1523.5, 3.35206, 0, 0, 0.994468, -0.10504},
+ {5469.22, -2802.87, 1503.5, 4.99509, 0, 0, 0.600436, -0.799673},
+ {5427.8, -2737.26, 1487.12, 1.78673, 0, 0, 0.779186, 0.626793},
+ {5454.1, -2709.1, 1485.92, 3.03552, 0, 0, 0.998594, 0.0530137},
+ {5436.3, -2718.2, 1506.02, 2.7567, 0, 0, 0.981539, 0.191261},
+ {5412.6, -2740.55, 1510.79, 2.98446, 0, 0, 0.996915, 0.0784832},
+ {5406.12, -2752.48, 1521.01, 2.05769, 0, 0, 0.856705, 0.515807},
+ {5445.24, -2676.35, 1521.89, 2.91378, 0, 0, 0.99352, 0.113661},
+ {5481.4, -2665.08, 1482.23, 4.30001, 0, 0, 0.836895, -0.547363},
+ {5443.51, -2675.44, 1487.12, 2.90986, 0, 0, 0.993295, 0.115606},
+ {5391.72, -2647.3, 1528.9, 3.76987, 0, 0, 0.951063, -0.308997},
+ {5421.09, -2734.12, 1521.01, 2.70567, 0, 0, 0.97634, 0.216242},
+ {5405.39, -2710.33, 1533.77, 2.51324, 0, 0, 0.951052, 0.309032},
+ {5423.96, -2703.76, 1516.34, 2.79206, 0, 0, 0.984767, 0.173879},
+ {5444.75, -2735.23, 1486.37, 2.22657, 0, 0, 0.897155, 0.441715},
+ {5570.98, -2747.91, 1495.7, 5.14433, 0, 0, 0.53915, -0.84221},
+ {5567.79, -2673.9, 1484.66, 2.72529, 0, 0, 0.978415, 0.20665},
+ {5600.71, -2696.8, 1500.42, 0.443704, 0, 0, 0.220036, 0.975492},
+ {5600.7, -2693.04, 1515.2, 5.16003, 0, 0, 0.532522, -0.846416},
+ {5627.56, -2839.66, 1510.53, 5.41527, 0, 0, 0.420463, -0.907309},
+ {5622.02, -2868.71, 1516.22, 2.25482, 0, 0, 0.903303, 0.429002},
+ {5586.61, -2878.97, 1510.34, 4.55604, 0, 0, 0.76017, -0.649724},
+ {5583.78, -2843.71, 1509.54, 5.35715, 0, 0, 0.44665, -0.894709},
+ {5580.95, -2811.3, 1513.3, 3.57587, 0, 0, 0.976518, -0.215434},
+ {5542.52, -2869.31, 1523.13, 5.23304, 0, 0, 0.501275, -0.865288},
+ {5557.35, -2866.36, 1518.76, 4.48299, 0, 0, 0.783388, -0.621533},
+ {5380.91, -2849.36, 1512.81, 3.90962, 0, 0, 0.927168, -0.374646},
+ {5395.76, -2881.41, 1521.11, 4.28426, 0, 0, 0.84118, -0.540755},
+ {5374.87, -2859.63, 1528.98, 3.30252, 0, 0, 0.996765, -0.0803745},
+ {5356.07, -2854.66, 1520.34, 5.83933, 0, 0, 0.220108, -0.975475},
+ {5363.01, -2975.72, 1539.02, 4.13738, 0, 0, 0.87859, -0.477576},
+ {5336.85, -2980.74, 1561.24, 5.11126, 0, 0, 0.553001, -0.83318},
+ {5335.23, -2974.62, 1540.05, 5.04451, 0, 0, 0.580496, -0.814263},
+ {5422.37, -2998.87, 1549.98, 4.51831, 0, 0, 0.772288, -0.635272},
+ {5405.54, -3014.6, 1562.16, 5.86761, 0, 0, 0.206298, -0.978489},
+ {5427.96, -3019.4, 1561.58, 3.53498, 0, 0, 0.980718, -0.19543},
+ {5348.12, -2977.84, 1582.47, 3.94025, 0, 0, 0.921323, -0.388799},
+ {5331.12, -2993.71, 1576.14, 0.0642734, 0, 0, 0.0321311, 0.999484},
+ {5321.63, -2986.55, 1552.2, 5.29503, 0, 0, 0.474219, -0.880407},
+ {5292.1, -2914.36, 1529.52, 2.9742, 0, 0, 0.996499, 0.083601},
+ {5281.77, -2926.5, 1530.62, 1.67829, 0, 0, 0.744071, 0.6681},
+ {5287.19, -2909.94, 1543.49, 3.31192, 0, 0, 0.996376, -0.0850591},
+ {5534.15, -2679.35, 1483.61, 0.428685, 0, 0, 0.212705, 0.977116},
{5545.43, -2647.82, 1483.05, 5.38848, 0, 0, 0.432578, -0.901596}
};
@@ -333,7 +333,7 @@ void hyjalAI::JustSummoned(Creature *summoned)
Summons.Summon(summoned);
}
-void hyjalAI::SummonedCreatureDespawn(Creature* summoned)
+void hyjalAI::SummonedCreatureDespawn(Creature* summoned)
{
Summons.Despawn(summoned);
}
@@ -373,14 +373,14 @@ void hyjalAI::Reset()
break;
}
- //Bools
+ //Bools
EventBegun = false;
FirstBossDead = false;
SecondBossDead = false;
Summon = false;
bRetreat = false;
Debug = false;
-
+
//Flags
m_creature->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
@@ -388,7 +388,7 @@ void hyjalAI::Reset()
//Initialize spells
memset(Spell, 0, sizeof(Spell));
-
+
//Reset Instance Data for trash count
if(pInstance)
@@ -418,7 +418,7 @@ void hyjalAI::EnterEvadeMode()
if(m_creature->isAlive())
m_creature->GetMotionMaster()->MoveTargetedHome();
-
+
m_creature->SetLootRecipient(NULL);
}
@@ -455,7 +455,7 @@ void hyjalAI::SummonCreature(uint32 entry, float Base[4][3])
}
Creature* pCreature = NULL;
switch(entry)
- {
+ {
case 17906: //GARGOYLE
if(!FirstBossDead && (WaveCount == 1 || WaveCount == 3))
@@ -467,7 +467,7 @@ void hyjalAI::SummonCreature(uint32 entry, float Base[4][3])
pCreature = m_creature->SummonCreature(entry, SpawnPointSpecial[SPAWN_GARG_GATE][0]+irand(-10,10), SpawnPointSpecial[SPAWN_GARG_GATE][1]+irand(-10,10), SpawnPointSpecial[SPAWN_GARG_GATE][2]+irand(-10,10), 0, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 120000);
}
break;
- case 17907: //FROST_WYRM ,
+ case 17907: //FROST_WYRM ,
if(FirstBossDead && WaveCount == 1)
{//summon at gate
pCreature = m_creature->SummonCreature(entry, SpawnPointSpecial[SPAWN_WYRM_GATE][0],SpawnPointSpecial[SPAWN_WYRM_GATE][1],SpawnPointSpecial[SPAWN_WYRM_GATE][2], 0, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 120000);
@@ -475,9 +475,9 @@ void hyjalAI::SummonCreature(uint32 entry, float Base[4][3])
pCreature = m_creature->SummonCreature(entry, SpawnPointSpecial[SPAWN_NEAR_TOWER][0], SpawnPointSpecial[SPAWN_NEAR_TOWER][1],SpawnPointSpecial[SPAWN_NEAR_TOWER][2], 0, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 120000);
if(pCreature)
((hyjal_trashAI*)pCreature->AI())->useFlyPath = true;
- }
+ }
break;
- case 17908: //GIANT_INFERNAL
+ case 17908: //GIANT_INFERNAL
InfernalCount++;
if(InfernalCount > 7)InfernalCount = 0;
pCreature = m_creature->SummonCreature(entry, InfernalPos[InfernalCount][0], InfernalPos[InfernalCount][1], InfernalPos[InfernalCount][2], 0, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 120000);
@@ -485,9 +485,9 @@ void hyjalAI::SummonCreature(uint32 entry, float Base[4][3])
default:
pCreature = m_creature->SummonCreature(entry, SpawnLoc[0], SpawnLoc[1], SpawnLoc[2], 0, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 120000);
break;
-
+
}
-
+
if(pCreature)
{
// Increment Enemy Count to be used in World States and instance script
@@ -497,21 +497,21 @@ void hyjalAI::SummonCreature(uint32 entry, float Base[4][3])
pCreature->setActive(true);
switch(entry)
{
- case NECROMANCER:
- case ABOMINATION:
- case GHOUL:
- case BANSHEE:
- case CRYPT_FIEND:
- case GARGOYLE:
+ case NECROMANCER:
+ case ABOMINATION:
+ case GHOUL:
+ case BANSHEE:
+ case CRYPT_FIEND:
+ case GARGOYLE:
case FROST_WYRM:
- case GIANT_INFERNAL:
- case FEL_STALKER:
- case RAGE_WINTERCHILL:
- case ANETHERON:
- case KAZROGAL:
- case AZGALOR:
+ case GIANT_INFERNAL:
+ case FEL_STALKER:
+ case RAGE_WINTERCHILL:
+ case ANETHERON:
+ case KAZROGAL:
+ case AZGALOR:
((hyjal_trashAI*)pCreature->AI())->IsEvent = true;
- break;
+ break;
}
if(pInstance)
{
@@ -647,12 +647,12 @@ void hyjalAI::Talk(uint32 id)
void hyjalAI::UpdateWorldState(uint32 id, uint32 state)
{
Map * map = m_creature->GetMap();
-
- if(!map->IsDungeon())
+
+ if(!map->IsDungeon())
return;
Map::PlayerList const& players = map->GetPlayers();
-
+
if (!players.isEmpty())
{
for(Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr)
@@ -664,7 +664,7 @@ void hyjalAI::UpdateWorldState(uint32 id, uint32 state)
}
void hyjalAI::Retreat()
-{
+{
if(pInstance)
{
if(Faction == 0)
@@ -680,7 +680,7 @@ void hyjalAI::Retreat()
pInstance->SetData(DATA_HORDE_RETREAT, 1);
Creature* JainaDummy = m_creature->SummonCreature(JAINA,JainaDummySpawn[0][0],JainaDummySpawn[0][1],JainaDummySpawn[0][2],JainaDummySpawn[0][3],TEMPSUMMON_TIMED_DESPAWN,60000);
if(JainaDummy)
- {
+ {
JainaDummy->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
((hyjalAI*)JainaDummy->AI())->IsDummy = true;
DummyGuid = JainaDummy->GetGUID();
@@ -691,7 +691,7 @@ void hyjalAI::Retreat()
}
}
SpawnVeins();
- Overrun = true;
+ Overrun = true;
m_creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);//cant talk after overrun event started
}
@@ -723,7 +723,7 @@ void hyjalAI::SpawnVeins()
void hyjalAI::DeSpawnVeins()
{
- if(!pInstance)return;
+ if(!pInstance)return;
if(Faction == 1)
{
Creature* pUnit=Unit::GetCreature((*m_creature),pInstance->GetData64(DATA_JAINAPROUDMOORE));
@@ -767,7 +767,7 @@ void hyjalAI::UpdateAI(const uint32 diff)
DoHide = false;
switch(m_creature->GetEntry())
{
- case JAINA:
+ case JAINA:
if(pInstance->GetData(DATA_ALLIANCE_RETREAT))
{
m_creature->SetVisibility(VISIBILITY_OFF);
@@ -775,7 +775,7 @@ void hyjalAI::UpdateAI(const uint32 diff)
HideNearPos(5037.76, -1889.71);
for(uint8 i = 0; i < 92; i++)//summon fires
m_creature->SummonGameObject(FLAMEOBJECT,AllianceFirePos[i][0],AllianceFirePos[i][1],AllianceFirePos[i][2],AllianceFirePos[i][3],AllianceFirePos[i][4],AllianceFirePos[i][5],AllianceFirePos[i][6],AllianceFirePos[i][7],0);
-
+
}
else m_creature->SetVisibility(VISIBILITY_ON);
break;
@@ -788,11 +788,11 @@ void hyjalAI::UpdateAI(const uint32 diff)
HideNearPos(5542.2, -2629.36);
for(uint8 i = 0; i < 65; i++)//summon fires
m_creature->SummonGameObject(FLAMEOBJECT,HordeFirePos[i][0],HordeFirePos[i][1],HordeFirePos[i][2],HordeFirePos[i][3],HordeFirePos[i][4],HordeFirePos[i][5],HordeFirePos[i][6],HordeFirePos[i][7],0);
-
+
}
- else m_creature->SetVisibility(VISIBILITY_ON);
+ else m_creature->SetVisibility(VISIBILITY_ON);
break;
- }
+ }
}
if(DoRespawn)
{
@@ -801,7 +801,7 @@ void hyjalAI::UpdateAI(const uint32 diff)
DoRespawn = false;
RespawnNearPos(m_creature->GetPositionX(), m_creature->GetPositionY());
if(Faction == 0)
- {
+ {
RespawnNearPos(5037.76, -1889.71);
}else if (Faction == 1)
{
@@ -831,11 +831,11 @@ void hyjalAI::UpdateAI(const uint32 diff)
break;
case THRALL://thrall
HideNearPos(5563, -2763.19);
- HideNearPos(5542.2, -2629.36);
+ HideNearPos(5542.2, -2629.36);
HideNearPos(5603.75, -2853.12);
break;
}
- m_creature->SetVisibility(VISIBILITY_OFF);
+ m_creature->SetVisibility(VISIBILITY_OFF);
}else RetreatTimer -= diff;
}
@@ -943,7 +943,7 @@ void hyjalAI::JustDied(Unit* killer)
if(pInstance->GetData(DATA_AZGALOREVENT) == IN_PROGRESS)
pInstance->SetData(DATA_AZGALOREVENT, NOT_STARTED);
pInstance->SetData(DATA_RESET_RAIDDAMAGE, NULL);//reset damage on die
- }
+ }
}
void hyjalAI::HideNearPos(float x, float y)
{
@@ -1093,14 +1093,14 @@ void hyjalAI::DoOverrun(uint32 faction, const uint32 diff)
case 0://alliance
for(uint8 i = 0; i < 92; i++)//summon fires
m_creature->SummonGameObject(FLAMEOBJECT,AllianceFirePos[i][0],AllianceFirePos[i][1],AllianceFirePos[i][2],AllianceFirePos[i][3],AllianceFirePos[i][4],AllianceFirePos[i][5],AllianceFirePos[i][6],AllianceFirePos[i][7],0);
-
+
for(uint8 i = 0; i < 25; i++)//summon 25 ghouls
{
uint8 r = rand()%4;
Creature* pUnit = m_creature->SummonCreature(GHOUL, AllianceBase[r][0]+irand(-15,15), AllianceBase[r][1]+irand(-15,15), AllianceBase[r][2], 0, TEMPSUMMON_MANUAL_DESPAWN, 2*60*1000);
if(pUnit)
{
- ((hyjal_trashAI*)pUnit->AI())->faction = Faction;
+ ((hyjal_trashAI*)pUnit->AI())->faction = Faction;
((hyjal_trashAI*)pUnit->AI())->IsOverrun = true;
((hyjal_trashAI*)pUnit->AI())->OverrunType = i;
pUnit->setActive(true);
@@ -1112,7 +1112,7 @@ void hyjalAI::DoOverrun(uint32 faction, const uint32 diff)
Creature* pUnit = m_creature->SummonCreature(ABOMINATION, AllianceBase[r][0]+irand(-15,15), AllianceBase[r][1]+irand(-15,15), AllianceBase[r][2], 0, TEMPSUMMON_MANUAL_DESPAWN, 2*60*1000);
if(pUnit)
{
- ((hyjal_trashAI*)pUnit->AI())->faction = Faction;
+ ((hyjal_trashAI*)pUnit->AI())->faction = Faction;
((hyjal_trashAI*)pUnit->AI())->IsOverrun = true;
((hyjal_trashAI*)pUnit->AI())->OverrunType = i;
pUnit->setActive(true);
@@ -1124,28 +1124,28 @@ void hyjalAI::DoOverrun(uint32 faction, const uint32 diff)
if(pUnit)
{
pUnit->SetHomePosition(AllianceOverrunGargPos[i][0], AllianceOverrunGargPos[i][1], AllianceOverrunGargPos[i][2], AllianceOverrunGargPos[i][3]);
- ((hyjal_trashAI*)pUnit->AI())->faction = Faction;
+ ((hyjal_trashAI*)pUnit->AI())->faction = Faction;
((hyjal_trashAI*)pUnit->AI())->IsOverrun = true;
((hyjal_trashAI*)pUnit->AI())->OverrunType = i;
pUnit->setActive(true);
}
}
break;
- case 1://horde
+ case 1://horde
for(uint8 i = 0; i < 65; i++)//summon fires
m_creature->SummonGameObject(FLAMEOBJECT,HordeFirePos[i][0],HordeFirePos[i][1],HordeFirePos[i][2],HordeFirePos[i][3],HordeFirePos[i][4],HordeFirePos[i][5],HordeFirePos[i][6],HordeFirePos[i][7],0);
-
+
for(uint8 i = 0; i < 26; i++)//summon infernals
{
Creature* pUnit = m_creature->SummonCreature(GIANT_INFERNAL, InfernalSPWP[i][0], InfernalSPWP[i][1], InfernalSPWP[i][2], InfernalSPWP[i][3], TEMPSUMMON_MANUAL_DESPAWN, 2*60*1000);
if(pUnit)
{
pUnit->SetHomePosition(InfernalSPWP[i][0], InfernalSPWP[i][1], InfernalSPWP[i][2], InfernalSPWP[i][3]);
- ((hyjal_trashAI*)pUnit->AI())->faction = Faction;
+ ((hyjal_trashAI*)pUnit->AI())->faction = Faction;
((hyjal_trashAI*)pUnit->AI())->IsOverrun = true;
((hyjal_trashAI*)pUnit->AI())->OverrunType = i;
pUnit->setActive(true);
- }
+ }
}
for(uint8 i = 0; i < 25; i++)//summon 25 ghouls
{
@@ -1153,7 +1153,7 @@ void hyjalAI::DoOverrun(uint32 faction, const uint32 diff)
Creature* pUnit = m_creature->SummonCreature(GHOUL, HordeBase[r][0]+irand(-15,15), HordeBase[r][1]+irand(-15,15), HordeBase[r][2], 0, TEMPSUMMON_MANUAL_DESPAWN, 2*60*1000);
if(pUnit)
{
- ((hyjal_trashAI*)pUnit->AI())->faction = Faction;
+ ((hyjal_trashAI*)pUnit->AI())->faction = Faction;
((hyjal_trashAI*)pUnit->AI())->IsOverrun = true;
((hyjal_trashAI*)pUnit->AI())->OverrunType = i;
pUnit->setActive(true);
@@ -1165,7 +1165,7 @@ void hyjalAI::DoOverrun(uint32 faction, const uint32 diff)
Creature* pUnit = m_creature->SummonCreature(ABOMINATION, HordeBase[r][0]+irand(-15,15), HordeBase[r][1]+irand(-15,15), HordeBase[r][2], 0, TEMPSUMMON_MANUAL_DESPAWN, 2*60*1000);
if(pUnit)
{
- ((hyjal_trashAI*)pUnit->AI())->faction = Faction;
+ ((hyjal_trashAI*)pUnit->AI())->faction = Faction;
((hyjal_trashAI*)pUnit->AI())->IsOverrun = true;
((hyjal_trashAI*)pUnit->AI())->OverrunType = i;
pUnit->setActive(true);
diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjalAI.h b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjalAI.h
index 2eae91ad7c1..8f7e40cfdfe 100644
--- a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjalAI.h
+++ b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjalAI.h
@@ -216,7 +216,7 @@ struct TRINITY_DLL_DECL hyjalAI : public npc_escortAI
bool Summon;
bool bRetreat;
bool Debug;
- bool VeinsSpawned[2];
+ bool VeinsSpawned[2];
uint8 InfernalCount;
SummonList Summons;
bool Overrun;
diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjal_trash.cpp b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjal_trash.cpp
index d46b9f7a77e..583c7831af5 100644
--- a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjal_trash.cpp
+++ b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjal_trash.cpp
@@ -30,21 +30,21 @@ float AllianceWPs[8][3]=//basic waypoints from spawn to leader
{4989.16, -1716.67, 1335.74},//first WP in the base, after the gate
{5026.27, -1736.89, 1323.02},
{5037.77, -1770.56, 1324.36},
- {5067.23, -1789.95, 1321.17}
+ {5067.23, -1789.95, 1321.17}
};
float FrostWyrmWPs[3][3]=//waypoints for the frost wyrms in horde base
{
{5580.82, -2628.83, 1528.28},
{5550.90, -2667.16, 1505.45},
- {5459.64, -2725.91, 1484.83}
+ {5459.64, -2725.91, 1484.83}
};
float GargoyleWPs[3][3]=//waypoints for the gargoyles in horde base
-{
+{
{5533.66, -2634.32, 1495.33},
- {5517.88, -2712.05, 1490.54},
- {5459.64, -2725.91, 1484.83}
+ {5517.88, -2712.05, 1490.54},
+ {5459.64, -2725.91, 1484.83}
};
float FlyPathWPs[3][3]=//waypoints for the gargoyls and frost wyrms in horde base in wave 1/3
@@ -115,7 +115,7 @@ float AllianceOverrunWP[55][3]=//waypoints in the alliance base used in the end
};
float HordeOverrunWP[21][3]=//waypoints in the horde base used in the end in the cleaning wave
-{
+{
{5490.72,-2702.94,1482.14},//0 start
{5469.77,-2741.34,1486.95},
{5439.47,-2771.02,1494.59},
@@ -160,7 +160,7 @@ void hyjal_trashAI::DamageTaken(Unit *done_by, uint32 &damage)
{
damageTaken += damage;
if(pInstance)
- pInstance->SetData(DATA_RAIDDAMAGE,damage);//store raid's damage
+ pInstance->SetData(DATA_RAIDDAMAGE,damage);//store raid's damage
}
}
@@ -170,7 +170,7 @@ void hyjal_trashAI::UpdateAI(const uint32 diff)
{
SetupOverrun = true;
if(faction == 0)
- {
+ {
if(m_creature->GetEntry() == GARGOYLE)
{
DummyTarget[0] = AllianceOverrunWP[50+OverrunType][0]; //+OverrunType 0 - 4
@@ -191,7 +191,7 @@ void hyjal_trashAI::UpdateAI(const uint32 diff)
AddWaypoint( 8, AllianceOverrunWP[26][0]+irand(-3,3), AllianceOverrunWP[26][1]+irand(-3,3), AllianceOverrunWP[26][2]);
AddWaypoint( 9, AllianceOverrunWP[27][0]+irand(-3,3), AllianceOverrunWP[27][1]+irand(-3,3), AllianceOverrunWP[27][2]);
AddWaypoint(10, AllianceOverrunWP[28][0]+irand(-3,3), AllianceOverrunWP[28][1]+irand(-3,3), AllianceOverrunWP[28][2]);
-
+
AddWaypoint(11, AllianceOverrunWP[36][0]+irand(-3,3), AllianceOverrunWP[36][1]+irand(-3,3), AllianceOverrunWP[36][2]);
AddWaypoint(12, AllianceOverrunWP[37][0]+irand(-3,3), AllianceOverrunWP[37][1]+irand(-3,3), AllianceOverrunWP[37][2]);
AddWaypoint(13, AllianceOverrunWP[38][0]+irand(-3,3), AllianceOverrunWP[38][1]+irand(-3,3), AllianceOverrunWP[38][2]);
@@ -307,11 +307,11 @@ void hyjal_trashAI::UpdateAI(const uint32 diff)
LastOverronPos = 17;
Start(true, true, true);
break;
- }
- }
+ }
+ }
}
if(faction == 1)
- {
+ {
if(m_creature->GetEntry() == GHOUL)
{
for(uint8 i = 0; i < 6; i++)
@@ -355,7 +355,7 @@ void hyjal_trashAI::UpdateAI(const uint32 diff)
AddWaypoint( i+6, HordeOverrunWP[i][0]+irand(-10,10), HordeOverrunWP[i][1]+irand(-10,10), HordeOverrunWP[i][2]);
SetDespawnAtEnd(true);
LastOverronPos = 21;
- Start(true, true, true);
+ Start(true, true, true);
}
}
}
@@ -382,7 +382,7 @@ struct mob_giant_infernalAI : public hyjal_trashAI
m_creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
m_creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
m_creature->SetUInt32Value(UNIT_FIELD_DISPLAYID, MODEL_INVIS);
- go = false;
+ go = false;
pos = 0;
Reset();
}
@@ -397,7 +397,7 @@ struct mob_giant_infernalAI : public hyjal_trashAI
bool imol;
void Reset()
- {
+ {
spawnTimer = 2000;
FlameBuffetTimer= 2000;
imol = false;
@@ -459,7 +459,7 @@ struct mob_giant_infernalAI : public hyjal_trashAI
}else if (pInstance->GetData(DATA_ALLIANCE_RETREAT) && pInstance->GetData(DATA_HORDE_RETREAT)){
//do overrun
}
- }
+ }
}else spawnTimer -= diff;
}
if(!CanMove)return;
@@ -510,7 +510,7 @@ struct mob_abominationAI : public hyjal_trashAI
mob_abominationAI(Creature* c) : hyjal_trashAI(c)
{
pInstance = ((ScriptedInstance*)c->GetInstanceData());
- go = false;
+ go = false;
pos = 0;
Reset();
}
@@ -557,7 +557,7 @@ struct mob_abominationAI : public hyjal_trashAI
if(IsEvent || IsOverrun)
npc_escortAI::UpdateAI(diff);
if (IsEvent)
- {
+ {
if(!go)
{
go = true;
@@ -576,7 +576,7 @@ struct mob_abominationAI : public hyjal_trashAI
((npc_escortAI*)(m_creature->AI()))->Start(false, true, true);
((npc_escortAI*)(m_creature->AI()))->SetDespawnAtEnd(false);
}
- }
+ }
}
}
if(!m_creature->HasAura(SPELL_DISEASE_CLOUD))
@@ -605,7 +605,7 @@ struct mob_ghoulAI : public hyjal_trashAI
mob_ghoulAI(Creature* c) : hyjal_trashAI(c)
{
pInstance = ((ScriptedInstance*)c->GetInstanceData());
- go = false;
+ go = false;
pos = 0;
Reset();
}
@@ -646,7 +646,7 @@ struct mob_ghoulAI : public hyjal_trashAI
m_creature->setDeathState(DEAD);
m_creature->RemoveCorpse();
}
-
+
}
}
@@ -677,14 +677,14 @@ struct mob_ghoulAI : public hyjal_trashAI
((npc_escortAI*)(m_creature->AI()))->Start(false, true, true);
((npc_escortAI*)(m_creature->AI()))->SetDespawnAtEnd(false);
}
- }
- }
+ }
+ }
}
if(FrenzyTimer<diff)
{
DoCast(m_creature,SPELL_FRENZY);
FrenzyTimer = 15000+rand()%15000;
- }else FrenzyTimer -= diff;
+ }else FrenzyTimer -= diff;
if (!UpdateVictim())
return;
@@ -708,7 +708,7 @@ struct mob_necromancerAI : public hyjal_trashAI
mob_necromancerAI(Creature* c) : hyjal_trashAI(c), summons(m_creature)
{
pInstance = ((ScriptedInstance*)c->GetInstanceData());
- go = false;
+ go = false;
pos = 0;
Reset();
}
@@ -796,8 +796,8 @@ struct mob_necromancerAI : public hyjal_trashAI
((npc_escortAI*)(m_creature->AI()))->Start(true, true, true);
((npc_escortAI*)(m_creature->AI()))->SetDespawnAtEnd(false);
}
- }
- }
+ }
+ }
}
if (!UpdateVictim())
return;
@@ -805,7 +805,7 @@ struct mob_necromancerAI : public hyjal_trashAI
{
DoCast(m_creature->getVictim(),SPELL_SHADOW_BOLT);
ShadowBoltTimer = 20000+rand()%10000;
- }else ShadowBoltTimer -= diff;
+ }else ShadowBoltTimer -= diff;
DoMeleeAttackIfReady();
}
@@ -826,7 +826,7 @@ struct mob_bansheeAI : public hyjal_trashAI
mob_bansheeAI(Creature* c) : hyjal_trashAI(c)
{
pInstance = ((ScriptedInstance*)c->GetInstanceData());
- go = false;
+ go = false;
pos = 0;
Reset();
}
@@ -888,8 +888,8 @@ struct mob_bansheeAI : public hyjal_trashAI
((npc_escortAI*)(m_creature->AI()))->Start(false, true, true);
((npc_escortAI*)(m_creature->AI()))->SetDespawnAtEnd(false);
}
- }
- }
+ }
+ }
}
if (!UpdateVictim())
return;
@@ -925,7 +925,7 @@ struct mob_crypt_fiendAI : public hyjal_trashAI
mob_crypt_fiendAI(Creature* c) : hyjal_trashAI(c)
{
pInstance = ((ScriptedInstance*)c->GetInstanceData());
- go = false;
+ go = false;
pos = 0;
Reset();
}
@@ -984,8 +984,8 @@ struct mob_crypt_fiendAI : public hyjal_trashAI
((npc_escortAI*)(m_creature->AI()))->SetDespawnAtEnd(false);
}
- }
- }
+ }
+ }
}
if (!UpdateVictim())
return;
@@ -1011,7 +1011,7 @@ struct mob_fel_stalkerAI : public hyjal_trashAI
mob_fel_stalkerAI(Creature* c) : hyjal_trashAI(c)
{
pInstance = ((ScriptedInstance*)c->GetInstanceData());
- go = false;
+ go = false;
pos = 0;
Reset();
}
@@ -1070,8 +1070,8 @@ struct mob_fel_stalkerAI : public hyjal_trashAI
((npc_escortAI*)(m_creature->AI()))->SetDespawnAtEnd(false);
}
- }
- }
+ }
+ }
}
if (!UpdateVictim())
return;
@@ -1110,7 +1110,7 @@ struct mob_frost_wyrmAI : public hyjal_trashAI
void Reset()
{
FrostBreathTimer = 5000;
- MoveTimer = 0;
+ MoveTimer = 0;
m_creature->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
}
@@ -1125,7 +1125,7 @@ struct mob_frost_wyrmAI : public hyjal_trashAI
m_creature->AddThreat(target,0.0);
DoCast(target,SPELL_FROST_BREATH,true);
}
- }
+ }
}
void JustDied(Unit *victim)
@@ -1150,8 +1150,8 @@ struct mob_frost_wyrmAI : public hyjal_trashAI
((hyjal_trashAI*)m_creature->AI())->SetCanMelee(false);
npc_escortAI::UpdateAI(diff);
}
- if (IsEvent)
- {
+ if (IsEvent)
+ {
if(!go)
{
go = true;
@@ -1169,8 +1169,8 @@ struct mob_frost_wyrmAI : public hyjal_trashAI
((npc_escortAI*)(m_creature->AI()))->Start(false, true, true);
((npc_escortAI*)(m_creature->AI()))->SetDespawnAtEnd(false);
}
- }
- }
+ }
+ }
}
if (!UpdateVictim())
return;
@@ -1181,7 +1181,7 @@ struct mob_frost_wyrmAI : public hyjal_trashAI
MoveTimer = 2000;
}else MoveTimer-=diff;
}
-
+
if(FrostBreathTimer<diff)
{
if(m_creature->GetDistance(m_creature->getVictim()) < 25)
@@ -1190,7 +1190,7 @@ struct mob_frost_wyrmAI : public hyjal_trashAI
m_creature->StopMoving();
m_creature->GetMotionMaster()->Clear();
FrostBreathTimer = 4000;
- }
+ }
}else FrostBreathTimer -= diff;
}
};
@@ -1219,15 +1219,15 @@ struct mob_gargoyleAI : public hyjal_trashAI
uint32 pos;
uint32 MoveTimer;
float Zpos;
- bool forcemove;
+ bool forcemove;
void Reset()
{
forcemove = true;
Zpos = 10.0;
StrikeTimer = 2000+rand()%5000;
- MoveTimer = 0;
- m_creature->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
+ MoveTimer = 0;
+ m_creature->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
}
void WaypointReached(uint32 i)
@@ -1241,7 +1241,7 @@ struct mob_gargoyleAI : public hyjal_trashAI
m_creature->AddThreat(target,0.0);
DoCast(target,SPELL_GARGOYLE_STRIKE,true);
}
- }
+ }
}
void JustDied(Unit *victim)
@@ -1251,7 +1251,7 @@ struct mob_gargoyleAI : public hyjal_trashAI
z = m_creature->GetMap()->GetVmapHeight(x, y, z, true);
m_creature->GetMotionMaster()->MovePoint(0,x,y,z);
m_creature->Relocate(x,y,z,0);
- hyjal_trashAI::JustDied(victim);
+ hyjal_trashAI::JustDied(victim);
}
void UpdateAI(const uint32 diff)
@@ -1281,8 +1281,8 @@ struct mob_gargoyleAI : public hyjal_trashAI
((npc_escortAI*)(m_creature->AI()))->Start(false, true, true);
((npc_escortAI*)(m_creature->AI()))->SetDespawnAtEnd(false);
}
- }
- }
+ }
+ }
}
if(IsOverrun && !UpdateVictim())
{
@@ -1290,7 +1290,7 @@ struct mob_gargoyleAI : public hyjal_trashAI
{
if(StrikeTimer<diff)
{
- m_creature->CastSpell(DummyTarget[0],DummyTarget[1],DummyTarget[2],SPELL_GARGOYLE_STRIKE,false);
+ m_creature->CastSpell(DummyTarget[0],DummyTarget[1],DummyTarget[2],SPELL_GARGOYLE_STRIKE,false);
StrikeTimer = 2000+rand()%1000;
}else StrikeTimer -= diff;
}
@@ -1312,10 +1312,10 @@ struct mob_gargoyleAI : public hyjal_trashAI
m_creature->getVictim()->GetPosition(x,y,z);
m_creature->GetMotionMaster()->MovePoint(0,x,y,z+Zpos);
Zpos-=1.0;
- if(Zpos<=0)Zpos=0;
+ if(Zpos<=0)Zpos=0;
MoveTimer = 2000;
}else MoveTimer-=diff;
- }
+ }
if(StrikeTimer<diff)
{
if(m_creature->GetDistance(m_creature->getVictim()) < 20)
diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjal_trash.h b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjal_trash.h
index e5e90e571b2..30b84c2e180 100644
--- a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjal_trash.h
+++ b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjal_trash.h
@@ -17,7 +17,7 @@ struct TRINITY_DLL_DECL hyjal_trashAI : public npc_escortAI
void DamageTaken(Unit *done_by, uint32 &damage);
- public:
+ public:
ScriptedInstance* pInstance;
bool IsEvent;
uint32 Delay;
diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/instance_hyjal.cpp b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/instance_hyjal.cpp
index 5e6e4d9a152..0dfa99198ac 100644
--- a/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/instance_hyjal.cpp
+++ b/src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/instance_hyjal.cpp
@@ -95,18 +95,18 @@ struct TRINITY_DLL_DECL instance_mount_hyjal : public ScriptedInstance
}
void OnObjectCreate(GameObject *go)
- {
+ {
switch(go->GetEntry())
{
- case 182060:
- HordeGate = go->GetGUID();
+ case 182060:
+ HordeGate = go->GetGUID();
if(allianceRetreat)
go->SetGoState(GO_STATE_ACTIVE);
else
go->SetGoState(GO_STATE_READY);
break;
- case 182061:
- ElfGate = go->GetGUID();
+ case 182061:
+ ElfGate = go->GetGUID();
if(hordeRetreat)
go->SetGoState(GO_STATE_ACTIVE);
else
@@ -157,23 +157,23 @@ struct TRINITY_DLL_DECL instance_mount_hyjal : public ScriptedInstance
switch(type)
{
case DATA_RAGEWINTERCHILLEVENT: Encounters[0] = data; break;
- case DATA_ANETHERONEVENT:
- Encounters[1] = data;
+ case DATA_ANETHERONEVENT:
+ Encounters[1] = data;
break;
case DATA_KAZROGALEVENT: Encounters[2] = data; break;
- case DATA_AZGALOREVENT:
+ case DATA_AZGALOREVENT:
{
- Encounters[3] = data;
+ Encounters[3] = data;
if(data==DONE)
- {
+ {
if(ArchiYell)break;
ArchiYell = true;
Creature* pCreature = instance->GetCreature(Azgalor);
if(pCreature)
- {
+ {
Creature* pUnit = pCreature->SummonCreature(21987,pCreature->GetPositionX(),pCreature->GetPositionY(),pCreature->GetPositionZ(),0,TEMPSUMMON_TIMED_DESPAWN,10000);
-
+
Map *map = pCreature->GetMap();
if (map->IsDungeon() && pUnit)
{
@@ -181,12 +181,12 @@ struct TRINITY_DLL_DECL instance_mount_hyjal : public ScriptedInstance
Map::PlayerList const &PlayerList = map->GetPlayers();
if (PlayerList.isEmpty())
return;
-
+
for (Map::PlayerList::const_iterator i = PlayerList.begin(); i != PlayerList.end(); ++i)
{
if (i->getSource())
{
- WorldPacket data(SMSG_MESSAGECHAT, 200);
+ WorldPacket data(SMSG_MESSAGECHAT, 200);
pUnit->BuildMonsterChat(&data,CHAT_MSG_MONSTER_YELL,"All of your efforts have been in vain, for the draining of the World Tree has already begun. Soon the heart of your world will beat no more.",0,"Archimonde",i->getSource()->GetGUID());
i->getSource()->GetSession()->SendPacket(&data);
@@ -208,12 +208,12 @@ struct TRINITY_DLL_DECL instance_mount_hyjal : public ScriptedInstance
else Trash--;
UpdateWorldState(WORLD_STATE_ENEMYCOUNT, Trash);
break;
- case DATA_ALLIANCE_RETREAT:
+ case DATA_ALLIANCE_RETREAT:
allianceRetreat = data;
OpenDoor(HordeGate,true);
SaveToDB();
break;
- case DATA_HORDE_RETREAT:
+ case DATA_HORDE_RETREAT:
hordeRetreat = data;
OpenDoor(ElfGate,true);
SaveToDB();
@@ -268,7 +268,7 @@ struct TRINITY_DLL_DECL instance_mount_hyjal : public ScriptedInstance
void UpdateWorldState(uint32 id, uint32 state)
{
Map::PlayerList const& players = instance->GetPlayers();
-
+
if (!players.isEmpty())
{
for(Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr)
diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/old_hillsbrad.cpp b/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/old_hillsbrad.cpp
index 6b4d37f4b63..b127c4aee2b 100644
--- a/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/old_hillsbrad.cpp
+++ b/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/old_hillsbrad.cpp
@@ -561,8 +561,11 @@ bool GossipSelect_npc_thrall_old_hillsbrad(Player *player, Creature *_Creature,
{
case GOSSIP_ACTION_INFO_DEF+1:
player->CLOSE_GOSSIP_MENU();
- pInstance->SetData(TYPE_THRALL_EVENT,IN_PROGRESS);
- pInstance->SetData(TYPE_THRALL_PART1,IN_PROGRESS);
+ if(pInstance)
+ {
+ pInstance->SetData(TYPE_THRALL_EVENT,IN_PROGRESS);
+ pInstance->SetData(TYPE_THRALL_PART1,IN_PROGRESS);
+ }
DoScriptText(SAY_TH_START_EVENT_PART1, _Creature);
@@ -580,7 +583,8 @@ bool GossipSelect_npc_thrall_old_hillsbrad(Player *player, Creature *_Creature,
case GOSSIP_ACTION_INFO_DEF+20:
player->SEND_GOSSIP_MENU(GOSSIP_ID_SKARLOC3, _Creature->GetGUID());
_Creature->SummonCreature(SKARLOC_MOUNT,2038.81,270.26,63.20,5.41,TEMPSUMMON_TIMED_DESPAWN,12000);
- pInstance->SetData(TYPE_THRALL_PART2,IN_PROGRESS);
+ if(pInstance)
+ pInstance->SetData(TYPE_THRALL_PART2,IN_PROGRESS);
DoScriptText(SAY_TH_START_EVENT_PART2, _Creature);
@@ -589,7 +593,8 @@ bool GossipSelect_npc_thrall_old_hillsbrad(Player *player, Creature *_Creature,
case GOSSIP_ACTION_INFO_DEF+3:
player->CLOSE_GOSSIP_MENU();
- pInstance->SetData(TYPE_THRALL_PART3,IN_PROGRESS);
+ if(pInstance)
+ pInstance->SetData(TYPE_THRALL_PART3,IN_PROGRESS);
((npc_thrall_old_hillsbradAI*)_Creature->AI())->StartWP();
break;
}
@@ -668,7 +673,8 @@ bool GossipSelect_npc_taretha(Player *player, Creature *_Creature, uint32 sender
if( pInstance->GetData(TYPE_THRALL_EVENT) == IN_PROGRESS )
{
- pInstance->SetData(TYPE_THRALL_PART4,IN_PROGRESS);
+ if(pInstance)
+ pInstance->SetData(TYPE_THRALL_PART4,IN_PROGRESS);
if(pInstance->GetData64(DATA_EPOCH) == 0)
_Creature->SummonCreature(ENTRY_EPOCH,2639.13,698.55,65.43,4.59,TEMPSUMMON_TIMED_OR_DEAD_DESPAWN,120000);
diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_fathomlord_karathress.cpp b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_fathomlord_karathress.cpp
index deb3f995216..f9aa3200a6a 100644
--- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_fathomlord_karathress.cpp
+++ b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_fathomlord_karathress.cpp
@@ -131,18 +131,17 @@ struct TRINITY_DLL_DECL boss_fathomlord_karathressAI : public ScriptedAI
Creature* pAdvisor = NULL;
for( int i=0; i<3; i++ )
-
- if(RAdvisors[i])
- {
- pAdvisor = (Unit::GetCreature((*m_creature), RAdvisors[i]));
- if(pAdvisor && !pAdvisor->isAlive())
+ if(RAdvisors[i])
{
- pAdvisor->Respawn();
- pAdvisor->AI()->EnterEvadeMode();
- pAdvisor->GetMotionMaster()->MoveTargetedHome();
+ pAdvisor = (Unit::GetCreature((*m_creature), RAdvisors[i]));
+ if(pAdvisor && !pAdvisor->isAlive())
+ {
+ pAdvisor->Respawn();
+ pAdvisor->AI()->EnterEvadeMode();
+ pAdvisor->GetMotionMaster()->MoveTargetedHome();
+ }
}
- }
- pInstance->SetData(DATA_KARATHRESSEVENT, NOT_STARTED);
+ pInstance->SetData(DATA_KARATHRESSEVENT, NOT_STARTED);
}
diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_leotheras_the_blind.cpp b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_leotheras_the_blind.cpp
index 15ce224454f..8b9421dfd4c 100644
--- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_leotheras_the_blind.cpp
+++ b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_leotheras_the_blind.cpp
@@ -213,7 +213,7 @@ struct TRINITY_DLL_DECL boss_leotheras_the_blindAI : public ScriptedAI
float ny = y;
float o = 2.4f;
if (i == 0) {nx += 10; ny -= 5; o=2.5f;}
- if (i == 1) {nx -= 8; ny -= 7; o=0.9f;}
+ if (i == 1) {nx -= 8; ny -= 7; o=0.9f;}
if (i == 2) {nx -= 3; ny += 9; o=5.0f;}
Creature* binder = m_creature->SummonCreature(MOB_SPELLBINDER,nx,ny,z,o,TEMPSUMMON_DEAD_DESPAWN,0);
if (binder)
diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_lurker_below.cpp b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_lurker_below.cpp
index 1de9f1debbd..eb35a3c74b4 100644
--- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_lurker_below.cpp
+++ b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_lurker_below.cpp
@@ -76,7 +76,8 @@ struct TRINITY_DLL_DECL boss_the_lurker_belowAI : public Scripted_NoMovementAI
{
boss_the_lurker_belowAI(Creature *c) : Scripted_NoMovementAI(c), Summons(m_creature)
{
- pInstance = ((ScriptedInstance*)c->GetInstanceData()); SpellEntry *TempSpell = (SpellEntry*)GetSpellStore()->LookupEntry(SPELL_SPOUT_ANIM);
+ pInstance = ((ScriptedInstance*)c->GetInstanceData());
+ SpellEntry *TempSpell = (SpellEntry*)GetSpellStore()->LookupEntry(SPELL_SPOUT_ANIM);
if(TempSpell)
{
TempSpell->Effect[0] = 0;//remove all spell effect, only anim is needed
@@ -227,7 +228,7 @@ struct TRINITY_DLL_DECL boss_the_lurker_belowAI : public Scripted_NoMovementAI
for (Map::PlayerList::const_iterator i = PlayerList.begin(); i != PlayerList.end(); ++i)
{
Player *target = i->getSource();
- if(target->isAlive() && m_creature->HasInArc((double)diff/20000*(double)M_PI*2,target) && m_creature->GetDistance(target) <= SPOUT_DIST && !target->IsInWater())
+ if(target && target->isAlive() && m_creature->HasInArc((double)diff/20000*(double)M_PI*2,target) && m_creature->GetDistance(target) <= SPOUT_DIST && !target->IsInWater())
DoCast(target,SPELL_SPOUT,true);//only knock back palyers in arc, in 100yards, not in water
}
}
@@ -370,7 +371,8 @@ struct TRINITY_DLL_DECL boss_the_lurker_belowAI : public Scripted_NoMovementAI
Summoned = m_creature->SummonCreature(MOB_COILFANG_AMBUSHER,AddPos[i][0],AddPos[i][1],AddPos[i][2], 0, TEMPSUMMON_CORPSE_DESPAWN, 0);
else Summoned = m_creature->SummonCreature(MOB_COILFANG_GUARDIAN,AddPos[i][0],AddPos[i][1],AddPos[i][2], 0, TEMPSUMMON_CORPSE_DESPAWN, 0);
- Summons.Summon(Summoned);
+ if(Summoned)
+ Summons.Summon(Summoned);
Spawned = true;
}
}
diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_morogrim_tidewalker.cpp b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_morogrim_tidewalker.cpp
index 859c9d27943..cea591182d5 100644
--- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_morogrim_tidewalker.cpp
+++ b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_morogrim_tidewalker.cpp
@@ -206,7 +206,8 @@ struct TRINITY_DLL_DECL boss_morogrim_tidewalkerAI : public ScriptedAI
{
Unit* target = SelectUnit(SELECT_TARGET_RANDOM, 0);
Creature* Murloc = m_creature->SummonCreature(MurlocCords[i][0],MurlocCords[i][1],MurlocCords[i][2],MurlocCords[i][3],MurlocCords[i][4], TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 10000);
- Murloc->AI()->AttackStart(target);
+ if(target && Murloc)
+ Murloc->AI()->AttackStart(target);
}
DoScriptText(EMOTE_EARTHQUAKE, m_creature);
Earthquake = false;
diff --git a/src/bindings/scripts/scripts/zone/deadmines/deadmines.cpp b/src/bindings/scripts/scripts/zone/deadmines/deadmines.cpp
index fa6bdd61386..2d13ce8d347 100644
--- a/src/bindings/scripts/scripts/zone/deadmines/deadmines.cpp
+++ b/src/bindings/scripts/scripts/zone/deadmines/deadmines.cpp
@@ -63,6 +63,9 @@ struct TRINITY_DLL_DECL instance_deadmines : public ScriptedInstance
virtual void Update(uint32 diff)
{
+ if(!IronCladDoor || !DefiasCannon || !DoorLever)
+ return;
+
switch(State)
{
case CANNON_GUNPOWDER_USED:
@@ -107,6 +110,9 @@ struct TRINITY_DLL_DECL instance_deadmines : public ScriptedInstance
void MoveCreaturesInside()
{
+ if(!DefiasPirate1 || !DefiasPirate2 || !DefiasCompanion)
+ return;
+
MoveCreatureInside(DefiasPirate1);
MoveCreatureInside(DefiasPirate2);
MoveCreatureInside(DefiasCompanion);
diff --git a/src/bindings/scripts/scripts/zone/dun_morogh/dun_morogh.cpp b/src/bindings/scripts/scripts/zone/dun_morogh/dun_morogh.cpp
index c4e405477c2..5e33be96da0 100644
--- a/src/bindings/scripts/scripts/zone/dun_morogh/dun_morogh.cpp
+++ b/src/bindings/scripts/scripts/zone/dun_morogh/dun_morogh.cpp
@@ -62,7 +62,10 @@ struct TRINITY_DLL_DECL npc_narm_faulkAI : public ScriptedAI
if (m_creature->IsStandState())
{
if(lifeTimer < diff)
- m_creature->AI()->EnterEvadeMode();
+ {
+ EnterEvadeMode();
+ return;
+ }
else
lifeTimer -= diff;
}
diff --git a/src/bindings/scripts/scripts/zone/elwynn_forest/elwynn_forest.cpp b/src/bindings/scripts/scripts/zone/elwynn_forest/elwynn_forest.cpp
index 7dbe22e8a25..6fe009743e0 100644
--- a/src/bindings/scripts/scripts/zone/elwynn_forest/elwynn_forest.cpp
+++ b/src/bindings/scripts/scripts/zone/elwynn_forest/elwynn_forest.cpp
@@ -62,7 +62,10 @@ struct TRINITY_DLL_DECL npc_henze_faulkAI : public ScriptedAI
if (m_creature->IsStandState())
{
if(lifeTimer < diff)
- m_creature->AI()->EnterEvadeMode();
+ {
+ EnterEvadeMode();
+ return;
+ }
else
lifeTimer -= diff;
}
diff --git a/src/bindings/scripts/scripts/zone/ghostlands/ghostlands.cpp b/src/bindings/scripts/scripts/zone/ghostlands/ghostlands.cpp
index c74f11d14a9..fe019f30675 100644
--- a/src/bindings/scripts/scripts/zone/ghostlands/ghostlands.cpp
+++ b/src/bindings/scripts/scripts/zone/ghostlands/ghostlands.cpp
@@ -171,7 +171,7 @@ struct TRINITY_DLL_DECL npc_ranger_lilathaAI : public npc_escortAI
m_creature->SetUInt32Value(UNIT_FIELD_BYTES_1, 0);
GameObject* Cage = FindGameObject(GO_CAGE, 20, m_creature);
if(Cage)
- Cage->SetGoState(GO_STATE_ACTIVE);
+ Cage->SetGoState(GO_STATE_ACTIVE);
DoScriptText(SAY_START, m_creature, player);
break;
}
@@ -186,8 +186,11 @@ struct TRINITY_DLL_DECL npc_ranger_lilathaAI : public npc_escortAI
DoScriptText(SAY_PROGRESS3, m_creature, player);
Creature* Summ1 = m_creature->SummonCreature(16342, 7627.083984, -7532.538086, 152.128616, 1.082733, TEMPSUMMON_DEAD_DESPAWN, 0);
Creature* Summ2 = m_creature->SummonCreature(16343, 7620.432129, -7532.550293, 152.454865, 0.827478, TEMPSUMMON_DEAD_DESPAWN, 0);
- Summ1->Attack(m_creature, true);
- Summ2->Attack(player, true);
+ if(Summ1 && Summ2)
+ {
+ Summ1->Attack(m_creature, true);
+ Summ2->Attack(player, true);
+ }
m_creature->AI()->AttackStart(Summ1);
break;
}
diff --git a/src/bindings/scripts/scripts/zone/gruuls_lair/boss_high_king_maulgar.cpp b/src/bindings/scripts/scripts/zone/gruuls_lair/boss_high_king_maulgar.cpp
index 6a22e58bbc6..71ab145ff8e 100644
--- a/src/bindings/scripts/scripts/zone/gruuls_lair/boss_high_king_maulgar.cpp
+++ b/src/bindings/scripts/scripts/zone/gruuls_lair/boss_high_king_maulgar.cpp
@@ -250,8 +250,8 @@ struct TRINITY_DLL_DECL boss_high_king_maulgarAI : public ScriptedAI
//Whirlwind_Timer
if (Whirlwind_Timer < diff)
{
- DoCast(m_creature->getVictim(), SPELL_WHIRLWIND);
- Whirlwind_Timer = 55000;
+ DoCast(m_creature->getVictim(), SPELL_WHIRLWIND);
+ Whirlwind_Timer = 55000;
}else Whirlwind_Timer -= diff;
//MightyBlow_Timer
@@ -280,18 +280,19 @@ struct TRINITY_DLL_DECL boss_high_king_maulgarAI : public ScriptedAI
Unit* target = NULL;
target = SelectUnit(SELECT_TARGET_RANDOM, 0);
if (target)
+ {
AttackStart(target);
- DoCast(target, SPELL_BERSERKER_C);
-
+ DoCast(target, SPELL_BERSERKER_C);
+ }
Charging_Timer = 20000;
}else Charging_Timer -= diff;
- //Intimidating Roar
- if(Roar_Timer < diff)
- {
- DoCast(m_creature, SPELL_ROAR);
- Roar_Timer = 40000+(rand()%10000);
- }else Roar_Timer -= diff;
+ //Intimidating Roar
+ if(Roar_Timer < diff)
+ {
+ DoCast(m_creature, SPELL_ROAR);
+ Roar_Timer = 40000+(rand()%10000);
+ }else Roar_Timer -= diff;
}
DoMeleeAttackIfReady();
@@ -316,7 +317,7 @@ struct TRINITY_DLL_DECL boss_olm_the_summonerAI : public ScriptedAI
{
DarkDecay_Timer = 10000;
Summon_Timer = 15000;
- DeathCoil_Timer = 20000;
+ DeathCoil_Timer = 20000;
//reset encounter
if (pInstance)
@@ -381,19 +382,19 @@ struct TRINITY_DLL_DECL boss_olm_the_summonerAI : public ScriptedAI
//Summon_Timer
if(Summon_Timer < diff)
{
- DoCast(m_creature, SPELL_SUMMON_WFH);
- Summon_Timer = 30000;
+ DoCast(m_creature, SPELL_SUMMON_WFH);
+ Summon_Timer = 30000;
}else Summon_Timer -= diff;
- //DeathCoil Timer /need correct timer
- if(DeathCoil_Timer < diff)
- {
- Unit* target = NULL;
- target = SelectUnit(SELECT_TARGET_RANDOM, 0);
- if(target)
- DoCast(target, SPELL_DEATH_COIL);
- DeathCoil_Timer = 20000;
- }else DeathCoil_Timer -= diff;
+ //DeathCoil Timer /need correct timer
+ if(DeathCoil_Timer < diff)
+ {
+ Unit* target = NULL;
+ target = SelectUnit(SELECT_TARGET_RANDOM, 0);
+ if(target)
+ DoCast(target, SPELL_DEATH_COIL);
+ DeathCoil_Timer = 20000;
+ }else DeathCoil_Timer -= diff;
DoMeleeAttackIfReady();
@@ -445,9 +446,9 @@ struct TRINITY_DLL_DECL boss_kiggler_the_crazedAI : public ScriptedAI
if(Maulgar)
((boss_high_king_maulgarAI*)Maulgar->AI())->AddDeath();
-
+
if(CheckAllBossDied(pInstance, m_creature))
- pInstance->SetData(DATA_MAULGAREVENT, DONE);
+ pInstance->SetData(DATA_MAULGAREVENT, DONE);
}
}
@@ -553,7 +554,7 @@ struct TRINITY_DLL_DECL boss_blindeye_the_seerAI : public ScriptedAI
if(Maulgar)
((boss_high_king_maulgarAI*)Maulgar->AI())->AddDeath();
-
+
if(CheckAllBossDied(pInstance, m_creature))
pInstance->SetData(DATA_MAULGAREVENT, DONE);
}
diff --git a/src/bindings/scripts/scripts/zone/hellfire_citadel/hellfire_ramparts/boss_vazruden_the_herald.cpp b/src/bindings/scripts/scripts/zone/hellfire_citadel/hellfire_ramparts/boss_vazruden_the_herald.cpp
index 0e99aea9350..bb7e1a2c29e 100644
--- a/src/bindings/scripts/scripts/zone/hellfire_citadel/hellfire_ramparts/boss_vazruden_the_herald.cpp
+++ b/src/bindings/scripts/scripts/zone/hellfire_citadel/hellfire_ramparts/boss_vazruden_the_herald.cpp
@@ -308,9 +308,11 @@ struct TRINITY_DLL_DECL boss_vazruden_the_heraldAI : public ScriptedAI
if(!summoned)
{
Creature* Vazruden = m_creature->SummonCreature(ENTRY_VAZRUDEN,VazrudenMiddle[0],VazrudenMiddle[1],VazrudenMiddle[2],0,TEMPSUMMON_CORPSE_TIMED_DESPAWN,6000000);
- VazrudenGUID = Vazruden->GetGUID();
+ if(Vazruden)
+ VazrudenGUID = Vazruden->GetGUID();
Creature* Nazan = m_creature->SummonCreature(ENTRY_NAZAN,VazrudenMiddle[0],VazrudenMiddle[1],VazrudenMiddle[2],0,TEMPSUMMON_CORPSE_TIMED_DESPAWN,6000000);
- NazanGUID = Nazan->GetGUID();
+ if(Nazan)
+ NazanGUID = Nazan->GetGUID();
summoned = true;
m_creature->SetVisibility(VISIBILITY_OFF);
m_creature->addUnitState(UNIT_STAT_ROOT);
@@ -391,6 +393,7 @@ struct TRINITY_DLL_DECL boss_vazruden_the_heraldAI : public ScriptedAI
{
UnsummonAdds();
EnterEvadeMode();
+ return;
}
}else
{
diff --git a/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_warchief_kargath_bladefist.cpp b/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_warchief_kargath_bladefist.cpp
index 33e6468c3e7..562783b93fb 100644
--- a/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_warchief_kargath_bladefist.cpp
+++ b/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_warchief_kargath_bladefist.cpp
@@ -280,6 +280,7 @@ struct TRINITY_DLL_DECL boss_warchief_kargath_bladefistAI : public ScriptedAI
if (tempx > 255 || tempx < 205)
{
EnterEvadeMode();
+ return;
}
resetcheck_timer = 5000;
}else resetcheck_timer -= diff;
diff --git a/src/bindings/scripts/scripts/zone/karazhan/boss_moroes.cpp b/src/bindings/scripts/scripts/zone/karazhan/boss_moroes.cpp
index a96b2043df6..115dfeab269 100644
--- a/src/bindings/scripts/scripts/zone/karazhan/boss_moroes.cpp
+++ b/src/bindings/scripts/scripts/zone/karazhan/boss_moroes.cpp
@@ -104,9 +104,6 @@ struct TRINITY_DLL_DECL boss_moroesAI : public ScriptedAI
void StartEvent()
{
- if(!pInstance)
- return;
-
if(pInstance)
pInstance->SetData(DATA_MOROES_EVENT, IN_PROGRESS);
}
@@ -266,7 +263,10 @@ struct TRINITY_DLL_DECL boss_moroesAI : public ScriptedAI
return;
if(pInstance && !pInstance->GetData(DATA_MOROES_EVENT))
+ {
EnterEvadeMode();
+ return;
+ }
if(!Enrage && m_creature->GetHealth()*100 / m_creature->GetMaxHealth() < 30)
{
diff --git a/src/bindings/scripts/scripts/zone/karazhan/boss_nightbane.cpp b/src/bindings/scripts/scripts/zone/karazhan/boss_nightbane.cpp
index b3226c7a038..c4e666d45f7 100644
--- a/src/bindings/scripts/scripts/zone/karazhan/boss_nightbane.cpp
+++ b/src/bindings/scripts/scripts/zone/karazhan/boss_nightbane.cpp
@@ -117,7 +117,12 @@ struct TRINITY_DLL_DECL boss_nightbaneAI : public ScriptedAI
{
m_creature->DealDamage(m_creature, m_creature->GetMaxHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
m_creature->RemoveCorpse();
- }else pInstance->SetData(DATA_NIGHTBANE_EVENT, NOT_STARTED);
+ }
+ else
+ {
+ if(pInstance)
+ pInstance->SetData(DATA_NIGHTBANE_EVENT, NOT_STARTED);
+ }
HandleTerraceDoors(true);
diff --git a/src/bindings/scripts/scripts/zone/karazhan/karazhan.cpp b/src/bindings/scripts/scripts/zone/karazhan/karazhan.cpp
index 384ac20822b..746de59cbf9 100644
--- a/src/bindings/scripts/scripts/zone/karazhan/karazhan.cpp
+++ b/src/bindings/scripts/scripts/zone/karazhan/karazhan.cpp
@@ -293,6 +293,7 @@ struct TRINITY_DLL_DECL npc_barnesAI : public npc_escortAI
{
RaidWiped = true;
EnterEvadeMode();
+ return;
}
WipeTimer = 15000;
@@ -533,6 +534,8 @@ struct TRINITY_DLL_DECL npc_image_of_medivhAI : public ScriptedAI
Step = 1;
EventStarted = true;
Creature* Arcanagos = m_creature->SummonCreature(MOB_ARCANAGOS,ArcanagosPos[0],ArcanagosPos[1],ArcanagosPos[2],0,TEMPSUMMON_CORPSE_TIMED_DESPAWN,20000);
+ if(!Arcanagos)
+ return;
ArcanagosGUID = Arcanagos->GetGUID();
Arcanagos->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
(*Arcanagos).GetMotionMaster()->MovePoint(0,ArcanagosPos[0],ArcanagosPos[1],ArcanagosPos[2]);
diff --git a/src/bindings/scripts/scripts/zone/magisters_terrace/boss_vexallus.cpp b/src/bindings/scripts/scripts/zone/magisters_terrace/boss_vexallus.cpp
index 6d8bea0a24c..bad86829474 100644
--- a/src/bindings/scripts/scripts/zone/magisters_terrace/boss_vexallus.cpp
+++ b/src/bindings/scripts/scripts/zone/magisters_terrace/boss_vexallus.cpp
@@ -159,6 +159,7 @@ struct TRINITY_DLL_DECL boss_vexallusAI : public ScriptedAI
if (ArcaneShockTimer < diff)
{
if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM, 0))
+ if(target)
DoCast(target, SPELL_ARCANE_SHOCK);
ArcaneShockTimer = 8000;
diff --git a/src/bindings/scripts/scripts/zone/molten_core/boss_golemagg.cpp b/src/bindings/scripts/scripts/zone/molten_core/boss_golemagg.cpp
index b2baadc0b03..87f6cd8796e 100644
--- a/src/bindings/scripts/scripts/zone/molten_core/boss_golemagg.cpp
+++ b/src/bindings/scripts/scripts/zone/molten_core/boss_golemagg.cpp
@@ -65,10 +65,10 @@ struct TRINITY_DLL_DECL boss_golemaggAI : public ScriptedAI
void JustDied(Unit* Killer)
{
-
if(pInstance)
pInstance->SetData(DATA_GOLEMAGG_DEATH, 0);
}
+
void UpdateAI(const uint32 diff)
{
if (!UpdateVictim())
diff --git a/src/bindings/scripts/scripts/zone/molten_core/boss_ragnaros.cpp b/src/bindings/scripts/scripts/zone/molten_core/boss_ragnaros.cpp
index 929547ca900..d62319b2617 100644
--- a/src/bindings/scripts/scripts/zone/molten_core/boss_ragnaros.cpp
+++ b/src/bindings/scripts/scripts/zone/molten_core/boss_ragnaros.cpp
@@ -224,9 +224,12 @@ struct TRINITY_DLL_DECL boss_ragnarosAI : public Scripted_NoMovementAI
for(int i = 0; i < 9;i++)
{
target = SelectUnit(SELECT_TARGET_RANDOM,0);
- Summoned = m_creature->SummonCreature(12143,target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(),0,TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN,900000);
- if (Summoned)
- ((CreatureAI*)Summoned->AI())->AttackStart(target);
+ if(target)
+ {
+ Summoned = m_creature->SummonCreature(12143,target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(),0,TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN,900000);
+ if(Summoned)
+ ((CreatureAI*)Summoned->AI())->AttackStart(target);
+ }
}
HasSubmergedOnce = true;
@@ -242,9 +245,12 @@ struct TRINITY_DLL_DECL boss_ragnarosAI : public Scripted_NoMovementAI
for(int i = 0; i < 9;i++)
{
target = SelectUnit(SELECT_TARGET_RANDOM,0);
- Summoned = m_creature->SummonCreature(12143,target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(),0,TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN,900000);
- if (Summoned)
- ((CreatureAI*)Summoned->AI())->AttackStart(target);
+ if(target)
+ {
+ Summoned = m_creature->SummonCreature(12143,target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(),0,TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN,900000);
+ if(Summoned)
+ ((CreatureAI*)Summoned->AI())->AttackStart(target);
+ }
}
WasBanished = true;
diff --git a/src/bindings/scripts/scripts/zone/mulgore/mulgore.cpp b/src/bindings/scripts/scripts/zone/mulgore/mulgore.cpp
index 16ba4686719..8b5da811e12 100644
--- a/src/bindings/scripts/scripts/zone/mulgore/mulgore.cpp
+++ b/src/bindings/scripts/scripts/zone/mulgore/mulgore.cpp
@@ -106,7 +106,7 @@ struct TRINITY_DLL_DECL npc_kyle_frenziedAI : public ScriptedAI
{
Unit *plr = Unit::GetUnit((*m_creature),player);
if(plr)
- m_creature->SetOrientation(m_creature->GetAngle(plr));
+ m_creature->SetOrientation(m_creature->GetAngle(plr));
m_creature->HandleEmoteCommand(EMOTE_STATE_USESTANDING); //eat
WorldPacket data;
m_creature->BuildHeartBeatMsg(&data);
diff --git a/src/bindings/scripts/scripts/zone/nagrand/nagrand.cpp b/src/bindings/scripts/scripts/zone/nagrand/nagrand.cpp
index 25a27ac3a73..60644290b7e 100644
--- a/src/bindings/scripts/scripts/zone/nagrand/nagrand.cpp
+++ b/src/bindings/scripts/scripts/zone/nagrand/nagrand.cpp
@@ -157,6 +157,7 @@ struct TRINITY_DLL_DECL mob_lumpAI : public ScriptedAI
EnterEvadeMode();
bReset = false;
m_creature->setFaction(1711); //hostile
+ return;
}
else Reset_Timer -= diff;
}
diff --git a/src/bindings/scripts/scripts/zone/naxxramas/boss_maexxna.cpp b/src/bindings/scripts/scripts/zone/naxxramas/boss_maexxna.cpp
index 937dd8bbb6d..e84374432ca 100644
--- a/src/bindings/scripts/scripts/zone/naxxramas/boss_maexxna.cpp
+++ b/src/bindings/scripts/scripts/zone/naxxramas/boss_maexxna.cpp
@@ -75,7 +75,8 @@ struct TRINITY_DLL_DECL mob_webwrapAI : public ScriptedAI
{
Unit* victim = NULL;
victim = Unit::GetUnit((*m_creature), victimGUID);
- victim->RemoveAurasDueToSpell(SPELL_WEBTRAP);
+ if(victim)
+ victim->RemoveAurasDueToSpell(SPELL_WEBTRAP);
}
}
}
diff --git a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_headless_horseman.cpp b/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_headless_horseman.cpp
index 9d0031f2af2..0546bc4db95 100644
--- a/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_headless_horseman.cpp
+++ b/src/bindings/scripts/scripts/zone/scarlet_monastery/boss_headless_horseman.cpp
@@ -224,6 +224,7 @@ struct TRINITY_DLL_DECL mob_headAI : public ScriptedAI
DoScriptText(textEntry, m_creature, target);
//DoCast(m_creature,SPELL_HEAD_SPEAKS,true);
Creature *speaker = DoSpawnCreature(HELPER,0,0,0,0,TEMPSUMMON_TIMED_DESPAWN,1000);
+ if(speaker)
speaker->CastSpell(speaker,SPELL_HEAD_SPEAKS,false);
laugh += 3000;
}
@@ -295,6 +296,7 @@ struct TRINITY_DLL_DECL mob_headAI : public ScriptedAI
DoPlaySoundToSet(m_creature, RandomLaught[rand()%3]);
//DoCast(m_creature,SPELL_HEAD_SPEAKS,true); //this spell remove buff "head"
Creature *speaker = DoSpawnCreature(HELPER,0,0,0,0,TEMPSUMMON_TIMED_DESPAWN,1000);
+ if(speaker)
speaker->CastSpell(speaker,SPELL_HEAD_SPEAKS,false);
DoTextEmote("laughts",NULL);
} else laugh -= diff;
@@ -421,8 +423,9 @@ struct TRINITY_DLL_DECL boss_headless_horsemanAI : public ScriptedAI
m_creature->SetVisibility(VISIBILITY_ON);break;
case 1: {
Creature *smoke = m_creature->SummonCreature(HELPER,Spawn[1].x,Spawn[1].y,Spawn[1].z,0,TEMPSUMMON_TIMED_DESPAWN,20000);
+ if(smoke)
((mob_wisp_invisAI*)smoke->AI())->SetType(3);
- DoCast(m_creature,SPELL_RHYME_BIG);
+ DoCast(m_creature,SPELL_RHYME_BIG);
break;}
case 6:
if(pInstance)
@@ -515,8 +518,10 @@ struct TRINITY_DLL_DECL boss_headless_horsemanAI : public ScriptedAI
//m_creature->GetMotionMaster()->MoveIdle(); test
SaySound(SAY_DEATH);
Creature *flame = DoSpawnCreature(HELPER,0,0,0,0,TEMPSUMMON_TIMED_DESPAWN,60000);
+ if(flame)
flame->CastSpell(flame,SPELL_BODY_FLAME,false);
Creature *wisp = DoSpawnCreature(WISP_INVIS,0,0,0,0,TEMPSUMMON_TIMED_DESPAWN,60000);
+ if(wisp)
((mob_wisp_invisAI*)wisp->AI())->SetType(4);
if(pInstance)
pInstance->SetData(DATA_HORSEMAN_EVENT, DONE);
@@ -592,11 +597,15 @@ struct TRINITY_DLL_DECL boss_headless_horsemanAI : public ScriptedAI
say_timer = 3000;
Player *plr = SelectRandomPlayer(100.0f,false);
if (count < 3)
- plr->Say(Text[count].text,0);
+ if(plr)
+ plr->Say(Text[count].text,0);
else {
DoCast(m_creature,SPELL_RHYME_BIG);
- plr->Say(Text[count].text,0);
- plr->HandleEmoteCommand(ANIM_EMOTE_SHOUT);
+ if(plr)
+ {
+ plr->Say(Text[count].text,0);
+ plr->HandleEmoteCommand(ANIM_EMOTE_SHOUT);
+ }
wp_reached = true;
IsFlying = true;
count = 0;
@@ -618,8 +627,9 @@ struct TRINITY_DLL_DECL boss_headless_horsemanAI : public ScriptedAI
if(burn < diff)
{
Creature *flame = m_creature->SummonCreature(HELPER,Spawn[0].x,Spawn[0].y,Spawn[0].z,0,TEMPSUMMON_TIMED_DESPAWN,17000);
+ if(flame)
((mob_wisp_invisAI*)flame->AI())->SetType(2);
- burned = true;
+ burned = true;
}else burn -= diff;
break;
case 2:
@@ -727,10 +737,13 @@ struct TRINITY_DLL_DECL mob_pulsing_pumpkinAI : public ScriptedAI
m_creature->Relocate(x,y,z + 0.35f);
Despawn();
Creature *debuff = DoSpawnCreature(HELPER,0,0,0,0,TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN,14500);
+ if(debuff)
+ {
debuff->SetDisplayId(m_creature->GetDisplayId());
debuff->CastSpell(debuff,SPELL_PUMPKIN_AURA_GREEN,false);
((mob_wisp_invisAI*)debuff->AI())->SetType(1);
debuffGUID = debuff->GetGUID();
+ }
sprouted = false;
DoCast(m_creature,SPELL_PUMPKIN_AURA,true);
DoCast(m_creature,SPELL_SPROUTING);
@@ -792,8 +805,11 @@ bool GOHello_go_loosely_turned_soil(Player *plr, GameObject* soil)
{ */
plr->AreaExploredOrEventHappens(11405);
Creature *horseman = soil->SummonCreature(HH_MOUNTED,FlightPoint[20].x,FlightPoint[20].y,FlightPoint[20].z,0,TEMPSUMMON_MANUAL_DESPAWN,0);
+ if(horseman)
+ {
((boss_headless_horsemanAI*)horseman->AI())->playerGUID = plr->GetGUID();
((boss_headless_horsemanAI*)horseman->AI())->FlyMode();
+ }
//}
return true;
}
diff --git a/src/bindings/scripts/scripts/zone/scholomance/boss_darkmaster_gandling.cpp b/src/bindings/scripts/scripts/zone/scholomance/boss_darkmaster_gandling.cpp
index 7dccb8c5e56..2262f3dc594 100644
--- a/src/bindings/scripts/scripts/zone/scholomance/boss_darkmaster_gandling.cpp
+++ b/src/bindings/scripts/scripts/zone/scholomance/boss_darkmaster_gandling.cpp
@@ -126,80 +126,80 @@ struct TRINITY_DLL_DECL boss_darkmaster_gandlingAI : public ScriptedAI
case 0:
DoTeleportPlayer(target, 250.0696,0.3921,84.8408,3.149);
Summoned = m_creature->SummonCreature(16119,254.2325,0.3417,84.8407,0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,10000);
- if (Summoned)
- ((CreatureAI*)Summoned->AI())->AttackStart(target);
+ if(Summoned)
+ ((CreatureAI*)Summoned->AI())->AttackStart(target);
Summoned = m_creature->SummonCreature(16119,257.7133,4.0226,84.8407,0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,10000);
- if (Summoned)
- ((CreatureAI*)Summoned->AI())->AttackStart(target);
+ if(Summoned)
+ ((CreatureAI*)Summoned->AI())->AttackStart(target);
Summoned = m_creature->SummonCreature(16119,258.6702,-2.60656,84.8407,0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,10000);
- if (Summoned)
- ((CreatureAI*)Summoned->AI())->AttackStart(target);
+ if(Summoned)
+ ((CreatureAI*)Summoned->AI())->AttackStart(target);
break;
case 1:
DoTeleportPlayer(target, 181.4220,-91.9481,84.8410,1.608);
Summoned = m_creature->SummonCreature(16119,184.0519,-73.5649,84.8407,0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,10000);
- if (Summoned)
- ((CreatureAI*)Summoned->AI())->AttackStart(target);
+ if(Summoned)
+ ((CreatureAI*)Summoned->AI())->AttackStart(target);
Summoned = m_creature->SummonCreature(16119,179.5951,-73.7045,84.8407,0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,10000);
- if (Summoned)
- ((CreatureAI*)Summoned->AI())->AttackStart(target);
+ if(Summoned)
+ ((CreatureAI*)Summoned->AI())->AttackStart(target);
Summoned = m_creature->SummonCreature(16119,180.6452,-78.2143,84.8407,0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,10000);
- if (Summoned)
- ((CreatureAI*)Summoned->AI())->AttackStart(target);
+ if(Summoned)
+ ((CreatureAI*)Summoned->AI())->AttackStart(target);
Summoned = m_creature->SummonCreature(16119,283.2274,-78.1518,84.8407,0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,10000);
- if (Summoned)
- ((CreatureAI*)Summoned->AI())->AttackStart(target);
+ if(Summoned)
+ ((CreatureAI*)Summoned->AI())->AttackStart(target);
break;
case 2:
DoTeleportPlayer(target, 95.1547,-1.8173,85.2289,0.043);
Summoned = m_creature->SummonCreature(16119,100.9404,-1.8016,85.2289,0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,10000);
- if (Summoned)
- ((CreatureAI*)Summoned->AI())->AttackStart(target);
+ if(Summoned)
+ ((CreatureAI*)Summoned->AI())->AttackStart(target);
Summoned = m_creature->SummonCreature(16119,101.3729,0.4882,85.2289,0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,10000);
- if (Summoned)
- ((CreatureAI*)Summoned->AI())->AttackStart(target);
+ if(Summoned)
+ ((CreatureAI*)Summoned->AI())->AttackStart(target);
Summoned = m_creature->SummonCreature(16119,101.4596,-4.4740,85.2289,0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,10000);
- if (Summoned)
- ((CreatureAI*)Summoned->AI())->AttackStart(target);
+ if(Summoned)
+ ((CreatureAI*)Summoned->AI())->AttackStart(target);
break;
case 3:
DoTeleportPlayer(target, 250.0696,0.3921,72.6722,3.149);
Summoned = m_creature->SummonCreature(16119,240.34481,0.7368,72.6722,0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,10000);
- if (Summoned)
- ((CreatureAI*)Summoned->AI())->AttackStart(target);
+ if(Summoned)
+ ((CreatureAI*)Summoned->AI())->AttackStart(target);
Summoned = m_creature->SummonCreature(16119,240.3633,-2.9520,72.6722,0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,10000);
- if (Summoned)
- ((CreatureAI*)Summoned->AI())->AttackStart(target);
+ if(Summoned)
+ ((CreatureAI*)Summoned->AI())->AttackStart(target);
Summoned = m_creature->SummonCreature(16119,240.6702,3.34949,72.6722,0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,10000);
- if (Summoned)
- ((CreatureAI*)Summoned->AI())->AttackStart(target);
+ if(Summoned)
+ ((CreatureAI*)Summoned->AI())->AttackStart(target);
break;
case 4:
DoTeleportPlayer(target, 181.4220,-91.9481,70.7734,1.608);
Summoned = m_creature->SummonCreature(16119,184.0519,-73.5649,70.7734,0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,10000);
- if (Summoned)
- ((CreatureAI*)Summoned->AI())->AttackStart(target);
+ if(Summoned)
+ ((CreatureAI*)Summoned->AI())->AttackStart(target);
Summoned = m_creature->SummonCreature(16119,179.5951,-73.7045,70.7734,0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,10000);
- if (Summoned)
- ((CreatureAI*)Summoned->AI())->AttackStart(target);
+ if(Summoned)
+ ((CreatureAI*)Summoned->AI())->AttackStart(target);
Summoned = m_creature->SummonCreature(16119,180.6452,-78.2143,70.7734,0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,10000);
- if (Summoned)
- ((CreatureAI*)Summoned->AI())->AttackStart(target);
+ if(Summoned)
+ ((CreatureAI*)Summoned->AI())->AttackStart(target);
Summoned = m_creature->SummonCreature(16119,283.2274,-78.1518,70.7734,0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,10000);
- if (Summoned)
- ((CreatureAI*)Summoned->AI())->AttackStart(target);
+ if(Summoned)
+ ((CreatureAI*)Summoned->AI())->AttackStart(target);
break;
case 5:
DoTeleportPlayer(target, 106.1541,-1.8994,75.3663,0.043);
Summoned = m_creature->SummonCreature(16119,115.3945,-1.5555,75.3663,0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,10000);
- if (Summoned)
- ((CreatureAI*)Summoned->AI())->AttackStart(target);
+ if(Summoned)
+ ((CreatureAI*)Summoned->AI())->AttackStart(target);
Summoned = m_creature->SummonCreature(16119,257.7133,1.8066,75.3663,0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,10000);
- if (Summoned)
- ((CreatureAI*)Summoned->AI())->AttackStart(target);
+ if(Summoned)
+ ((CreatureAI*)Summoned->AI())->AttackStart(target);
Summoned = m_creature->SummonCreature(16119,258.6702,-5.1001,75.3663,0,TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT,10000);
- if (Summoned)
- ((CreatureAI*)Summoned->AI())->AttackStart(target);
+ if(Summoned)
+ ((CreatureAI*)Summoned->AI())->AttackStart(target);
break;
}
}
diff --git a/src/bindings/scripts/scripts/zone/scholomance/boss_jandice_barov.cpp b/src/bindings/scripts/scripts/zone/scholomance/boss_jandice_barov.cpp
index 26e296c3f54..b71bef0be39 100644
--- a/src/bindings/scripts/scripts/zone/scholomance/boss_jandice_barov.cpp
+++ b/src/bindings/scripts/scripts/zone/scholomance/boss_jandice_barov.cpp
@@ -122,7 +122,8 @@ struct TRINITY_DLL_DECL boss_jandicebarovAI : public ScriptedAI
for(int i = 0; i < 10;i++)
{
target = SelectUnit(SELECT_TARGET_RANDOM,0);
- SummonIllusions(target);
+ if(target)
+ SummonIllusions(target);
}
Invisible = true;
Invisible_Timer = 3000;
diff --git a/src/bindings/scripts/scripts/zone/scholomance/boss_kormok.cpp b/src/bindings/scripts/scripts/zone/scholomance/boss_kormok.cpp
index 60b805f1db1..a1e589cfdb9 100644
--- a/src/bindings/scripts/scripts/zone/scholomance/boss_kormok.cpp
+++ b/src/bindings/scripts/scripts/zone/scholomance/boss_kormok.cpp
@@ -74,7 +74,8 @@ struct TRINITY_DLL_DECL boss_kormokAI : public ScriptedAI
}
Rand1 = 0;
SummonedMinions = DoSpawnCreature(16119, Rand1X, Rand1Y, 0, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 120000);
- ((CreatureAI*)SummonedMinions->AI())->AttackStart(victim);
+ if(SummonedMinions)
+ ((CreatureAI*)SummonedMinions->AI())->AttackStart(victim);
}
void SummonMages(Unit* victim)
@@ -94,7 +95,8 @@ struct TRINITY_DLL_DECL boss_kormokAI : public ScriptedAI
}
Rand2 = 0;
SummonedMages = DoSpawnCreature(16120, Rand2X, Rand2Y, 0, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 120000);
- ((CreatureAI*)SummonedMages->AI())->AttackStart(victim);
+ if(SummonedMages)
+ ((CreatureAI*)SummonedMages->AI())->AttackStart(victim);
}
void UpdateAI(const uint32 diff)
diff --git a/src/bindings/scripts/scripts/zone/shadowmoon_valley/shadowmoon_valley.cpp b/src/bindings/scripts/scripts/zone/shadowmoon_valley/shadowmoon_valley.cpp
index 426b0eb0202..cc1651507df 100644
--- a/src/bindings/scripts/scripts/zone/shadowmoon_valley/shadowmoon_valley.cpp
+++ b/src/bindings/scripts/scripts/zone/shadowmoon_valley/shadowmoon_valley.cpp
@@ -141,8 +141,10 @@ struct TRINITY_DLL_DECL mob_mature_netherwing_drakeAI : public ScriptedAI
if(Evade)
if(ResetTimer < diff)
+ {
EnterEvadeMode();
- else ResetTimer -= diff;
+ return;
+ }else ResetTimer -= diff;
if(!UpdateVictim())
return;
@@ -697,12 +699,16 @@ struct TRINITY_DLL_DECL npc_overlord_morghorAI : public ScriptedAI
m_creature->SetUInt32Value(UNIT_NPC_FLAGS, 0);
m_creature->SetUInt32Value(UNIT_FIELD_BYTES_1,0);
Unit* Illidan = m_creature->SummonCreature(C_ILLIDAN, -5107.83, 602.584, 85.2393, 4.92598, TEMPSUMMON_CORPSE_DESPAWN, 0);
- IllidanGUID = Illidan->GetGUID();
- Illidan->SetVisibility(VISIBILITY_OFF);
+ if(Illidan)
+ {
+ IllidanGUID = Illidan->GetGUID();
+ Illidan->SetVisibility(VISIBILITY_OFF);
+ }
if(PlayerGUID)
{
Player* player = Unit::GetPlayer(PlayerGUID);
- DoScriptText(OVERLORD_SAY_1, m_creature, player);
+ if(player)
+ DoScriptText(OVERLORD_SAY_1, m_creature, player);
}
ConversationTimer = 4200;
Step = 0;
diff --git a/src/bindings/scripts/scripts/zone/stranglethorn_vale/stranglethorn_vale.cpp b/src/bindings/scripts/scripts/zone/stranglethorn_vale/stranglethorn_vale.cpp
index f4233e5dd94..54a4da82ebf 100644
--- a/src/bindings/scripts/scripts/zone/stranglethorn_vale/stranglethorn_vale.cpp
+++ b/src/bindings/scripts/scripts/zone/stranglethorn_vale/stranglethorn_vale.cpp
@@ -77,6 +77,7 @@ struct TRINITY_DLL_DECL mob_yennikuAI : public ScriptedAI
EnterEvadeMode();
bReset = false;
m_creature->setFaction(28); //troll, bloodscalp
+ return;
}
else Reset_Timer -= diff;
diff --git a/src/bindings/scripts/scripts/zone/stratholme/boss_baron_rivendare.cpp b/src/bindings/scripts/scripts/zone/stratholme/boss_baron_rivendare.cpp
index d3a6db26e02..5ceda79e9ef 100644
--- a/src/bindings/scripts/scripts/zone/stratholme/boss_baron_rivendare.cpp
+++ b/src/bindings/scripts/scripts/zone/stratholme/boss_baron_rivendare.cpp
@@ -177,7 +177,6 @@ CreatureAI* GetAI_boss_baron_rivendare(Creature *_Creature)
return new boss_baron_rivendareAI (_Creature);
}
-
void AddSC_boss_baron_rivendare()
{
Script *newscript;
diff --git a/src/bindings/scripts/scripts/zone/stratholme/boss_baroness_anastari.cpp b/src/bindings/scripts/scripts/zone/stratholme/boss_baroness_anastari.cpp
index f154cefa545..912390a883e 100644
--- a/src/bindings/scripts/scripts/zone/stratholme/boss_baroness_anastari.cpp
+++ b/src/bindings/scripts/scripts/zone/stratholme/boss_baroness_anastari.cpp
@@ -116,7 +116,6 @@ CreatureAI* GetAI_boss_baroness_anastari(Creature *_Creature)
return new boss_baroness_anastariAI (_Creature);
}
-
void AddSC_boss_baroness_anastari()
{
Script *newscript;
diff --git a/src/bindings/scripts/scripts/zone/stratholme/boss_cannon_master_willey.cpp b/src/bindings/scripts/scripts/zone/stratholme/boss_cannon_master_willey.cpp
index e5a74cbc144..fed823ec63a 100644
--- a/src/bindings/scripts/scripts/zone/stratholme/boss_cannon_master_willey.cpp
+++ b/src/bindings/scripts/scripts/zone/stratholme/boss_cannon_master_willey.cpp
@@ -210,7 +210,6 @@ CreatureAI* GetAI_boss_cannon_master_willey(Creature *_Creature)
return new boss_cannon_master_willeyAI (_Creature);
}
-
void AddSC_boss_cannon_master_willey()
{
Script *newscript;
diff --git a/src/bindings/scripts/scripts/zone/stratholme/boss_magistrate_barthilas.cpp b/src/bindings/scripts/scripts/zone/stratholme/boss_magistrate_barthilas.cpp
index 5be1f35dc93..6689bcde8b1 100644
--- a/src/bindings/scripts/scripts/zone/stratholme/boss_magistrate_barthilas.cpp
+++ b/src/bindings/scripts/scripts/zone/stratholme/boss_magistrate_barthilas.cpp
@@ -122,7 +122,6 @@ CreatureAI* GetAI_boss_magistrate_barthilas(Creature *_Creature)
return new boss_magistrate_barthilasAI (_Creature);
}
-
void AddSC_boss_magistrate_barthilas()
{
Script *newscript;
diff --git a/src/bindings/scripts/scripts/zone/stratholme/boss_maleki_the_pallid.cpp b/src/bindings/scripts/scripts/zone/stratholme/boss_maleki_the_pallid.cpp
index d010bcf07f3..aa11388e4d3 100644
--- a/src/bindings/scripts/scripts/zone/stratholme/boss_maleki_the_pallid.cpp
+++ b/src/bindings/scripts/scripts/zone/stratholme/boss_maleki_the_pallid.cpp
@@ -97,7 +97,6 @@ CreatureAI* GetAI_boss_maleki_the_pallid(Creature *_Creature)
return new boss_maleki_the_pallidAI (_Creature);
}
-
void AddSC_boss_maleki_the_pallid()
{
Script *newscript;
diff --git a/src/bindings/scripts/scripts/zone/stratholme/boss_nerubenkan.cpp b/src/bindings/scripts/scripts/zone/stratholme/boss_nerubenkan.cpp
index be7aa5d1e2a..3ce0baa5454 100644
--- a/src/bindings/scripts/scripts/zone/stratholme/boss_nerubenkan.cpp
+++ b/src/bindings/scripts/scripts/zone/stratholme/boss_nerubenkan.cpp
@@ -52,7 +52,7 @@ struct TRINITY_DLL_DECL boss_nerubenkanAI : public ScriptedAI
CryptScarabs_Timer = 3000;
EncasingWebs_Timer = 7000;
PierceArmor_Timer = 19000;
- RaiseUndeadScarab_Timer = 3000;
+ RaiseUndeadScarab_Timer = 3000;
}
void EnterCombat(Unit *who)
@@ -94,9 +94,7 @@ struct TRINITY_DLL_DECL boss_nerubenkanAI : public ScriptedAI
//EncasingWebs
if (EncasingWebs_Timer < diff)
{
-
DoCast(m_creature->getVictim(),SPELL_ENCASINGWEBS);
-
EncasingWebs_Timer = 30000;
}else EncasingWebs_Timer -= diff;
@@ -105,7 +103,6 @@ struct TRINITY_DLL_DECL boss_nerubenkanAI : public ScriptedAI
{
if (rand()%100 < 75)
DoCast(m_creature->getVictim(),SPELL_PIERCEARMOR);
-
PierceArmor_Timer = 35000;
}else PierceArmor_Timer -= diff;
@@ -131,7 +128,6 @@ CreatureAI* GetAI_boss_nerubenkan(Creature *_Creature)
return new boss_nerubenkanAI (_Creature);
}
-
void AddSC_boss_nerubenkan()
{
Script *newscript;
diff --git a/src/bindings/scripts/scripts/zone/stratholme/boss_order_of_silver_hand.cpp b/src/bindings/scripts/scripts/zone/stratholme/boss_order_of_silver_hand.cpp
index e673652fc7e..95b2308305d 100644
--- a/src/bindings/scripts/scripts/zone/stratholme/boss_order_of_silver_hand.cpp
+++ b/src/bindings/scripts/scripts/zone/stratholme/boss_order_of_silver_hand.cpp
@@ -145,10 +145,6 @@ CreatureAI* GetAI_boss_silver_hand_bossesAI(Creature *_Creature)
return new boss_silver_hand_bossesAI (_Creature);
}
-/*#####
-#
-#####*/
-
void AddSC_boss_order_of_silver_hand()
{
Script *newscript;
diff --git a/src/bindings/scripts/scripts/zone/stratholme/boss_postmaster_malown.cpp b/src/bindings/scripts/scripts/zone/stratholme/boss_postmaster_malown.cpp
index fb27ae43928..fd28ad481eb 100644
--- a/src/bindings/scripts/scripts/zone/stratholme/boss_postmaster_malown.cpp
+++ b/src/bindings/scripts/scripts/zone/stratholme/boss_postmaster_malown.cpp
@@ -133,7 +133,6 @@ CreatureAI* GetAI_boss_postmaster_malown(Creature *_Creature)
return new boss_postmaster_malownAI (_Creature);
}
-
void AddSC_boss_postmaster_malown()
{
Script *newscript;
diff --git a/src/bindings/scripts/scripts/zone/stratholme/boss_ramstein_the_gorger.cpp b/src/bindings/scripts/scripts/zone/stratholme/boss_ramstein_the_gorger.cpp
index cbc615f9825..58bec2f6898 100644
--- a/src/bindings/scripts/scripts/zone/stratholme/boss_ramstein_the_gorger.cpp
+++ b/src/bindings/scripts/scripts/zone/stratholme/boss_ramstein_the_gorger.cpp
@@ -88,7 +88,6 @@ CreatureAI* GetAI_boss_ramstein_the_gorger(Creature *_Creature)
return new boss_ramstein_the_gorgerAI (_Creature);
}
-
void AddSC_boss_ramstein_the_gorger()
{
Script *newscript;
diff --git a/src/bindings/scripts/scripts/zone/stratholme/boss_timmy_the_cruel.cpp b/src/bindings/scripts/scripts/zone/stratholme/boss_timmy_the_cruel.cpp
index a3330d4710a..ac1eaa4b624 100644
--- a/src/bindings/scripts/scripts/zone/stratholme/boss_timmy_the_cruel.cpp
+++ b/src/bindings/scripts/scripts/zone/stratholme/boss_timmy_the_cruel.cpp
@@ -42,11 +42,11 @@ struct TRINITY_DLL_DECL boss_timmy_the_cruelAI : public ScriptedAI
void EnterCombat(Unit *who)
{
- if (!HasYelled)
- {
- DoYell(SAY_SPAWN,LANG_UNIVERSAL,NULL);
- HasYelled = true;
- }
+ if (!HasYelled)
+ {
+ DoYell(SAY_SPAWN,LANG_UNIVERSAL,NULL);
+ HasYelled = true;
+ }
}
void UpdateAI(const uint32 diff)
@@ -72,7 +72,6 @@ CreatureAI* GetAI_boss_timmy_the_cruel(Creature *_Creature)
return new boss_timmy_the_cruelAI (_Creature);
}
-
void AddSC_boss_timmy_the_cruel()
{
Script *newscript;
diff --git a/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_eredar_twins.cpp b/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_eredar_twins.cpp
index 044f29a11aa..9d11feefb1f 100644
--- a/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_eredar_twins.cpp
+++ b/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_eredar_twins.cpp
@@ -262,7 +262,8 @@ struct TRINITY_DLL_DECL boss_sacrolashAI : public ScriptedAI
m_creature->InterruptSpell(CURRENT_GENERIC_SPELL);
Unit* target = NULL;
target = SelectUnit(SELECT_TARGET_RANDOM, 0);
- DoCast(target, SPELL_CONFLAGRATION);
+ if(target)
+ DoCast(target, SPELL_CONFLAGRATION);
ConflagrationTimer = 30000+(rand()%5000);
}
}else ConflagrationTimer -= diff;
@@ -275,11 +276,13 @@ struct TRINITY_DLL_DECL boss_sacrolashAI : public ScriptedAI
{
Unit* target = NULL;
target = SelectUnit(SELECT_TARGET_RANDOM, 0);
- DoCast(target, SPELL_SHADOW_NOVA);
+ if(target)
+ DoCast(target, SPELL_SHADOW_NOVA);
if(!SisterDeath)
{
- DoScriptText(EMOTE_SHADOW_NOVA, m_creature, target);
+ if(target)
+ DoScriptText(EMOTE_SHADOW_NOVA, m_creature, target);
DoScriptText(YELL_SHADOW_NOVA, m_creature);
}
ShadownovaTimer = 30000+(rand()%5000);
@@ -293,7 +296,8 @@ struct TRINITY_DLL_DECL boss_sacrolashAI : public ScriptedAI
{
Unit* target = NULL;
target = SelectUnit(SELECT_TARGET_RANDOM, 0);
- DoCast(target, SPELL_CONFOUNDING_BLOW);
+ if(target)
+ DoCast(target, SPELL_CONFOUNDING_BLOW);
ConfoundingblowTimer = 20000 + (rand()%5000);
}
}else ConfoundingblowTimer -=diff;
@@ -306,7 +310,8 @@ struct TRINITY_DLL_DECL boss_sacrolashAI : public ScriptedAI
{
target = SelectUnit(SELECT_TARGET_RANDOM, 0);
temp = DoSpawnCreature(MOB_SHADOW_IMAGE,0,0,0,0,TEMPSUMMON_CORPSE_DESPAWN,10000);
- temp->AI()->AttackStart(target);
+ if(temp && target)
+ temp->AI()->AttackStart(target);
}
ShadowimageTimer = 20000;
}else ShadowimageTimer -=diff;
@@ -593,7 +598,8 @@ struct TRINITY_DLL_DECL boss_alythessAI : public Scripted_NoMovementAI
{
Unit* target = NULL;
target = SelectUnit(SELECT_TARGET_RANDOM, 0);
- DoCast(target, SPELL_SHADOW_NOVA);
+ if(target)
+ DoCast(target, SPELL_SHADOW_NOVA);
ShadownovaTimer= 30000+(rand()%5000);
}
}else ShadownovaTimer -=diff;
@@ -607,12 +613,14 @@ struct TRINITY_DLL_DECL boss_alythessAI : public Scripted_NoMovementAI
m_creature->InterruptSpell(CURRENT_GENERIC_SPELL);
Unit* target = NULL;
target = SelectUnit(SELECT_TARGET_RANDOM, 0);
- DoCast(target, SPELL_CONFLAGRATION);
+ if(target)
+ DoCast(target, SPELL_CONFLAGRATION);
ConflagrationTimer = 30000+(rand()%5000);
if(!SisterDeath)
{
- DoScriptText(EMOTE_CONFLAGRATION, m_creature, target);
+ if(target)
+ DoScriptText(EMOTE_CONFLAGRATION, m_creature, target);
DoScriptText(YELL_CANFLAGRATION, m_creature);
}
diff --git a/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_felmyst.cpp b/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_felmyst.cpp
index 468d6801414..8e42d074f88 100644
--- a/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_felmyst.cpp
+++ b/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_felmyst.cpp
@@ -318,7 +318,12 @@ struct TRINITY_DLL_DECL boss_felmystAI : public ScriptedAI
m_creature->CastSpell(Vapor, SPELL_VAPOR_CHANNEL, false); // core bug
Vapor->CastSpell(Vapor, SPELL_VAPOR_TRIGGER, true);
}
- }else EnterEvadeMode();
+ }
+ else
+ {
+ EnterEvadeMode();
+ return;
+ }
Timer[EVENT_FLIGHT_SEQUENCE] = 10000;
break;}
case 3: {
@@ -339,7 +344,12 @@ struct TRINITY_DLL_DECL boss_felmystAI : public ScriptedAI
m_creature->CastSpell(Vapor, SPELL_VAPOR_CHANNEL, false); // core bug
Vapor->CastSpell(Vapor, SPELL_VAPOR_TRIGGER, true);
}
- }else EnterEvadeMode();
+ }
+ else
+ {
+ EnterEvadeMode();
+ return;
+ }
Timer[EVENT_FLIGHT_SEQUENCE] = 10000;
break;}
case 4:
@@ -357,7 +367,11 @@ struct TRINITY_DLL_DECL boss_felmystAI : public ScriptedAI
float x, y, z;
target->GetContactPoint(m_creature, x, y, z, 70);
m_creature->GetMotionMaster()->MovePoint(0, x, y, z+10);
- }else EnterEvadeMode();
+ }else
+ {
+ EnterEvadeMode();
+ return;
+ }
Timer[EVENT_FLIGHT_SEQUENCE] = 0;
break;}
case 6:
@@ -391,7 +405,12 @@ struct TRINITY_DLL_DECL boss_felmystAI : public ScriptedAI
float x, y, z;
target->GetContactPoint(m_creature, x, y, z);
m_creature->GetMotionMaster()->MovePoint(0, x, y, z);
- }else EnterEvadeMode();
+ }
+ else
+ {
+ EnterEvadeMode();
+ return;
+ }
Timer[EVENT_FLIGHT_SEQUENCE] = 0;
break;
case 10:
diff --git a/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_kalecgos.cpp b/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_kalecgos.cpp
index aa818826d40..044e62cff86 100644
--- a/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_kalecgos.cpp
+++ b/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_kalecgos.cpp
@@ -396,6 +396,7 @@ struct TRINITY_DLL_DECL boss_sathrovarrAI : public ScriptedAI
{
DoTextEmote("is unable to find Kalecgos", NULL);
EnterEvadeMode();
+ return;
}
}
CheckTimer = 1000;
@@ -594,6 +595,7 @@ void boss_kalecgosAI::UpdateAI(const uint32 diff)
{
error_log("TSCR: Didn't find Shathrowar. Kalecgos event reseted.");
EnterEvadeMode();
+ return;
}
}
CheckTimer = 1000;
@@ -627,7 +629,7 @@ void boss_kalecgosAI::UpdateAI(const uint32 diff)
{
//this is a hack. we need to find a victim without aura in core
Unit* target = SelectUnit(SELECT_TARGET_RANDOM, 0);
- if( ( target != m_creature->getVictim() ) && target->isAlive() && !(target->HasAura(AURA_SPECTRAL_EXHAUSTION)) )
+ if( target && target != m_creature->getVictim() && target->isAlive() && !target->HasAura(AURA_SPECTRAL_EXHAUSTION) )
{
DoCast(target, SPELL_SPECTRAL_BLAST);
SpectralBlastTimer = 20000+(rand()%5000);
diff --git a/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_kiljaeden.cpp b/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_kiljaeden.cpp
index a436c97029f..98cbfda7a7f 100644
--- a/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_kiljaeden.cpp
+++ b/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_kiljaeden.cpp
@@ -545,7 +545,8 @@ struct TRINITY_DLL_DECL boss_kiljaedenAI : public Scripted_NoMovementAI
}
target->GetPosition(x,y,z);
Creature* SinisterReflection = m_creature->SummonCreature(CREATURE_SINISTER_REFLECTION, x,y,z,0, TEMPSUMMON_CORPSE_DESPAWN, 0);
- SinisterReflection->AI()->AttackStart(target);
+ if(SinisterReflection)
+ SinisterReflection->AI()->AttackStart(target);
}
}
diff --git a/src/bindings/scripts/scripts/zone/tanaris/tanaris.cpp b/src/bindings/scripts/scripts/zone/tanaris/tanaris.cpp
index 5c2c6a57f46..c68f659ec7f 100644
--- a/src/bindings/scripts/scripts/zone/tanaris/tanaris.cpp
+++ b/src/bindings/scripts/scripts/zone/tanaris/tanaris.cpp
@@ -380,7 +380,7 @@ struct TRINITY_DLL_DECL npc_OOX17AI : public npc_escortAI
DoScriptText(SAY_CHICKEN_AMB, m_creature);
{Unit* scoff = FindCreature(SPAWN_SECOND_2, 30, m_creature);
if(scoff)
- DoScriptText(SAY_SCOFF, scoff);}break;
+ DoScriptText(SAY_SCOFF, scoff);}break;
break;
case 86:
diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_alar.cpp b/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_alar.cpp
index 52c67125ee7..168f0f48e3a 100644
--- a/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_alar.cpp
+++ b/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_alar.cpp
@@ -276,8 +276,12 @@ struct TRINITY_DLL_DECL boss_alarAI : public ScriptedAI
m_creature->Relocate(target->GetPositionX(), target->GetPositionY(), target->GetPositionZ());
m_creature->StopMoving();
WaitEvent = WE_LAND;
- }else EnterEvadeMode();
- return;
+ }
+ else
+ {
+ EnterEvadeMode();
+ return;
+ }
case WE_LAND:
WaitEvent = WE_SUMMON;
WaitTimer = 2000;
@@ -349,7 +353,8 @@ struct TRINITY_DLL_DECL boss_alarAI : public ScriptedAI
if(Charge_Timer < diff)
{
Unit *target= SelectUnit(SELECT_TARGET_RANDOM, 1, GetSpellMaxRangeForHostile(SPELL_CHARGE), true);
- DoCast(target, SPELL_CHARGE);
+ if(target)
+ DoCast(target, SPELL_CHARGE);
Charge_Timer = 30000;
}else Charge_Timer -= diff;
@@ -405,7 +410,7 @@ struct TRINITY_DLL_DECL boss_alarAI : public ScriptedAI
else
{
Unit *target = NULL;
- if(Phase1 && (target = m_creature->SelectNearestTarget(5)))
+ if(Phase1 && target && (target = m_creature->SelectNearestTarget(5)))
m_creature->AI()->AttackStart(target);
else
{
diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_astromancer.cpp b/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_astromancer.cpp
index 41087682670..83cb789b189 100644
--- a/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_astromancer.cpp
+++ b/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_astromancer.cpp
@@ -234,38 +234,38 @@ struct TRINITY_DLL_DECL boss_high_astromancer_solarianAI : public ScriptedAI
Wrath_Timer = 20000+rand()%5000;
}else Wrath_Timer -= diff;
- if (ArcaneMissiles_Timer < diff)
- {
- if(BlindingLight)
- {
- DoCast(m_creature->getVictim(), SPELL_BLINDING_LIGHT);
- BlindingLight = false;
- }else{
- Unit* target = SelectUnit(SELECT_TARGET_RANDOM, 0);
-
- if(!m_creature->HasInArc(2.5f, target))
- target = m_creature->getVictim();
+ if (ArcaneMissiles_Timer < diff)
+ {
+ if(BlindingLight)
+ {
+ DoCast(m_creature->getVictim(), SPELL_BLINDING_LIGHT);
+ BlindingLight = false;
+ }else{
+ Unit* target = SelectUnit(SELECT_TARGET_RANDOM, 0);
+
+ if(!m_creature->HasInArc(2.5f, target))
+ target = m_creature->getVictim();
+
+ if(target)
+ DoCast(target, SPELL_ARCANE_MISSILES);
+ }
+ ArcaneMissiles_Timer = 3000;
+ }else ArcaneMissiles_Timer -= diff;
+ if (MarkOfTheSolarian_Timer < diff)
+ {
+ DoCast(m_creature->getVictim(), MARK_OF_SOLARIAN);
+ MarkOfTheSolarian_Timer = 45000;
+ }else MarkOfTheSolarian_Timer -= diff;
+
+ if (MarkOfTheAstromancer_Timer < diff) //A debuff that lasts for 5 seconds, cast several times each phase on a random raid member, but not the main tank
+ {
+ Unit* target = SelectUnit(SELECT_TARGET_RANDOM, 1, 100, true);
if(target)
- DoCast(target, SPELL_ARCANE_MISSILES);
- }
- ArcaneMissiles_Timer = 3000;
- }else ArcaneMissiles_Timer -= diff;
-
- if (MarkOfTheSolarian_Timer < diff)
- {
- DoCast(m_creature->getVictim(), MARK_OF_SOLARIAN);
- MarkOfTheSolarian_Timer = 45000;
- }else MarkOfTheSolarian_Timer -= diff;
-
- if (MarkOfTheAstromancer_Timer < diff) //A debuff that lasts for 5 seconds, cast several times each phase on a random raid member, but not the main tank
- {
- Unit* target = SelectUnit(SELECT_TARGET_RANDOM, 1, 100, true);
- if(target)
- DoCast(target, SPELL_MARK_OF_THE_ASTROMANCER);
- else DoCast(m_creature->getVictim(), SPELL_MARK_OF_THE_ASTROMANCER);
- MarkOfTheAstromancer_Timer = 15000;
- }else MarkOfTheAstromancer_Timer -= diff;
+ DoCast(target, SPELL_MARK_OF_THE_ASTROMANCER);
+ else DoCast(m_creature->getVictim(), SPELL_MARK_OF_THE_ASTROMANCER);
+ MarkOfTheAstromancer_Timer = 15000;
+ }else MarkOfTheAstromancer_Timer -= diff;
//Phase1_Timer
if (Phase1_Timer < diff)
@@ -384,6 +384,7 @@ struct TRINITY_DLL_DECL boss_high_astromancer_solarianAI : public ScriptedAI
m_creature->SetUInt32Value(UNIT_FIELD_DISPLAYID, MODEL_VOIDWALKER);
m_creature->SetFloatValue(OBJECT_FIELD_SCALE_X, defaultsize*2.5f);
}
+
DoMeleeAttackIfReady();
}
};
diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_kaelthas.cpp b/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_kaelthas.cpp
index d2784e55d77..6745c4fd9ec 100644
--- a/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_kaelthas.cpp
+++ b/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/boss_kaelthas.cpp
@@ -258,6 +258,8 @@ struct TRINITY_DLL_DECL advisorbase_ai : public ScriptedAI
if (!Target)
Target = m_creature->getVictim();
DoResetThreat();
+ if(!Target)
+ return;
AttackStart(Target);
m_creature->GetMotionMaster()->Clear();
m_creature->GetMotionMaster()->MoveChase(Target);
@@ -325,7 +327,7 @@ struct TRINITY_DLL_DECL boss_kaelthasAI : public ScriptedAI
i_pl->DestroyItemCount(30318, 1, true);
i_pl->DestroyItemCount(30319, 1, true);
i_pl->DestroyItemCount(30320, 1, true);
- }
+ }
}
void Reset()
@@ -436,7 +438,8 @@ struct TRINITY_DLL_DECL boss_kaelthasAI : public ScriptedAI
{
summoned->setFaction(m_creature->getFaction());
Unit* target = SelectUnit(SELECT_TARGET_RANDOM, 0);
- summoned->AI()->AttackStart(target);
+ if(target)
+ summoned->AI()->AttackStart(target);
}
summons.Summon(summoned);
}
@@ -498,12 +501,12 @@ struct TRINITY_DLL_DECL boss_kaelthasAI : public ScriptedAI
void UpdateAI(const uint32 diff)
{
-
+
if(pInstance && Phase)
{
if(pInstance->GetData(DATA_KAELTHASEVENT) == IN_PROGRESS && m_creature->getThreatManager().getThreatList().empty())
{
- EnterEvadeMode();
+ EnterEvadeMode();
return;
}
}
@@ -730,7 +733,8 @@ struct TRINITY_DLL_DECL boss_kaelthasAI : public ScriptedAI
Advisor = (Unit::GetCreature((*m_creature), AdvisorGuid[i]));
if (!Advisor)
error_log("TSCR: Kael'Thas Advisor %u does not exist. Possibly despawned? Incorrectly Killed?", i);
- else ((advisorbase_ai*)Advisor->AI())->Revive(Target);
+ else if(Target)
+ ((advisorbase_ai*)Advisor->AI())->Revive(Target);
}
PhaseSubphase = 1;
@@ -815,7 +819,8 @@ struct TRINITY_DLL_DECL boss_kaelthasAI : public ScriptedAI
Unit* target =SelectUnit(SELECT_TARGET_RANDOM, 1, 70, true);
if(!target) target = m_creature->getVictim();
debug_log("TSCR: Kael'Thas mind control not supported.");
- DoCast(target, SPELL_MIND_CONTROL);
+ if(target)
+ DoCast(target, SPELL_MIND_CONTROL);
}
MindControl_Timer = 60000;
@@ -1078,8 +1083,11 @@ struct TRINITY_DLL_DECL boss_thaladred_the_darkenerAI : public advisorbase_ai
if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM, 0, 100, true))
{
DoResetThreat();
- m_creature->AddThreat(target, 5000000.0f);
- DoScriptText(EMOTE_THALADRED_GAZE, m_creature, target);
+ if(target)
+ {
+ m_creature->AddThreat(target, 5000000.0f);
+ DoScriptText(EMOTE_THALADRED_GAZE, m_creature, target);
+ }
Gaze_Timer = 8500;
}
}else Gaze_Timer -= diff;
@@ -1390,7 +1398,7 @@ struct TRINITY_DLL_DECL mob_kael_flamestrikeAI : public ScriptedAI
//Phoenix AI
struct TRINITY_DLL_DECL mob_phoenix_tkAI : public ScriptedAI
{
- mob_phoenix_tkAI(Creature *c) : ScriptedAI(c)
+ mob_phoenix_tkAI(Creature *c) : ScriptedAI(c)
{
pInstance = ((ScriptedInstance*)c->GetInstanceData());
}
@@ -1400,7 +1408,7 @@ struct TRINITY_DLL_DECL mob_phoenix_tkAI : public ScriptedAI
bool egg;
void JustDied(Unit *victim)
- {
+ {
if(egg)
{
float x,y,z;
@@ -1430,7 +1438,7 @@ struct TRINITY_DLL_DECL mob_phoenix_tkAI : public ScriptedAI
}
void UpdateAI(const uint32 diff)
- {
+ {
if (Cycle_Timer < diff)
{
if(pInstance)//check for boss reset
@@ -1439,7 +1447,7 @@ struct TRINITY_DLL_DECL mob_phoenix_tkAI : public ScriptedAI
if (Kael && Kael->getThreatManager().getThreatList().empty())
{
egg = false;
- m_creature->DealDamage(m_creature, m_creature->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
+ m_creature->DealDamage(m_creature, m_creature->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
Cycle_Timer = 2000;
return;
}
@@ -1452,7 +1460,7 @@ struct TRINITY_DLL_DECL mob_phoenix_tkAI : public ScriptedAI
m_creature->DealDamage(m_creature, m_creature->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
Cycle_Timer = 2000;
}else Cycle_Timer -= diff;
-
+
if (!UpdateVictim())
return;
DoMeleeAttackIfReady();
diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_nethermancer_sepethrea.cpp b/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_nethermancer_sepethrea.cpp
index beb663b5947..cd18240901d 100644
--- a/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_nethermancer_sepethrea.cpp
+++ b/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_nethermancer_sepethrea.cpp
@@ -100,7 +100,6 @@ struct TRINITY_DLL_DECL boss_nethermancer_sepethreaAI : public ScriptedAI
void UpdateAI(const uint32 diff)
{
-
//Return since we have no target
if (!UpdateVictim() )
return;
@@ -151,7 +150,6 @@ struct TRINITY_DLL_DECL boss_nethermancer_sepethreaAI : public ScriptedAI
}else solarburn_Timer -= diff;
DoMeleeAttackIfReady();
-
}
};
diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_pathaleon_the_calculator.cpp b/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_pathaleon_the_calculator.cpp
index ddfcf6bda0a..f93ce338063 100644
--- a/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_pathaleon_the_calculator.cpp
+++ b/src/bindings/scripts/scripts/zone/tempest_keep/the_mechanar/boss_pathaleon_the_calculator.cpp
@@ -216,7 +216,6 @@ struct TRINITY_DLL_DECL mob_nether_wraithAI : public ScriptedAI
DoCast(m_creature,SPELL_DETONATION);
Detonation = true;
}else Detonation_Timer -= diff;
-
}
if (Detonation)
@@ -228,7 +227,6 @@ struct TRINITY_DLL_DECL mob_nether_wraithAI : public ScriptedAI
}else Die_Timer -= diff;
}
-
DoMeleeAttackIfReady();
}
diff --git a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_bug_trio.cpp b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_bug_trio.cpp
index d34c83aef92..6d128ad654e 100644
--- a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_bug_trio.cpp
+++ b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_bug_trio.cpp
@@ -239,7 +239,7 @@ struct TRINITY_DLL_DECL boss_yaujAI : public ScriptedAI
{
Unit* target = SelectUnit(SELECT_TARGET_RANDOM,0);
Creature* Summoned = m_creature->SummonCreature(15621,m_creature->GetPositionX(), m_creature->GetPositionY(), m_creature->GetPositionZ(),0,TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN,90000);
- if(Summoned)
+ if(Summoned && target)
((CreatureAI*)Summoned->AI())->AttackStart(target);
}
}
diff --git a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_fankriss.cpp b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_fankriss.cpp
index d53b9d78511..1f3b317bf9d 100644
--- a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_fankriss.cpp
+++ b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_fankriss.cpp
@@ -58,6 +58,9 @@ struct TRINITY_DLL_DECL boss_fankrissAI : public ScriptedAI
void SummonSpawn(Unit* victim)
{
+ if(!victim)
+ return;
+
Rand = 10 + (rand()%10);
switch (rand()%2)
{
@@ -135,47 +138,47 @@ struct TRINITY_DLL_DECL boss_fankrissAI : public ScriptedAI
case 0:
DoTeleportPlayer(target, -8106.0142,1289.2900,-74.419533,5.112);
Hatchling = m_creature->SummonCreature(15962, target->GetPositionX()-3, target->GetPositionY()-3, target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
- if (Hatchling)
- ((CreatureAI*)Hatchling->AI())->AttackStart(target);
+ if(Hatchling)
+ ((CreatureAI*)Hatchling->AI())->AttackStart(target);
Hatchling = m_creature->SummonCreature(15962, target->GetPositionX()-3, target->GetPositionY()+3, target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
- if (Hatchling)
- ((CreatureAI*)Hatchling->AI())->AttackStart(target);
+ if(Hatchling)
+ ((CreatureAI*)Hatchling->AI())->AttackStart(target);
Hatchling = m_creature->SummonCreature(15962, target->GetPositionX()-5, target->GetPositionY()-5, target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
- if (Hatchling)
- ((CreatureAI*)Hatchling->AI())->AttackStart(target);
+ if(Hatchling)
+ ((CreatureAI*)Hatchling->AI())->AttackStart(target);
Hatchling = m_creature->SummonCreature(15962, target->GetPositionX()-5, target->GetPositionY()+5, target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
- if (Hatchling)
- ((CreatureAI*)Hatchling->AI())->AttackStart(target);
+ if(Hatchling)
+ ((CreatureAI*)Hatchling->AI())->AttackStart(target);
break;
case 1:
DoTeleportPlayer(target, -7990.135354,1155.1907,-78.849319,2.608);
Hatchling = m_creature->SummonCreature(15962, target->GetPositionX()-3, target->GetPositionY()-3, target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
- if (Hatchling)
- ((CreatureAI*)Hatchling->AI())->AttackStart(target);
+ if(Hatchling)
+ ((CreatureAI*)Hatchling->AI())->AttackStart(target);
Hatchling = m_creature->SummonCreature(15962, target->GetPositionX()-3, target->GetPositionY()+3, target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
- if (Hatchling)
- ((CreatureAI*)Hatchling->AI())->AttackStart(target);
+ if(Hatchling)
+ ((CreatureAI*)Hatchling->AI())->AttackStart(target);
Hatchling = m_creature->SummonCreature(15962, target->GetPositionX()-5, target->GetPositionY()-5, target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
- if (Hatchling)
- ((CreatureAI*)Hatchling->AI())->AttackStart(target);
+ if(Hatchling)
+ ((CreatureAI*)Hatchling->AI())->AttackStart(target);
Hatchling = m_creature->SummonCreature(15962, target->GetPositionX()-5, target->GetPositionY()+5, target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
- if (Hatchling)
- ((CreatureAI*)Hatchling->AI())->AttackStart(target);
+ if(Hatchling)
+ ((CreatureAI*)Hatchling->AI())->AttackStart(target);
break;
case 2:
DoTeleportPlayer(target,-8159.7753,1127.9064,-76.868660,0.675);
Hatchling = m_creature->SummonCreature(15962, target->GetPositionX()-3, target->GetPositionY()-3, target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
- if (Hatchling)
- ((CreatureAI*)Hatchling->AI())->AttackStart(target);
+ if(Hatchling)
+ ((CreatureAI*)Hatchling->AI())->AttackStart(target);
Hatchling = m_creature->SummonCreature(15962, target->GetPositionX()-3, target->GetPositionY()+3, target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
- if (Hatchling)
- ((CreatureAI*)Hatchling->AI())->AttackStart(target);
+ if(Hatchling)
+ ((CreatureAI*)Hatchling->AI())->AttackStart(target);
Hatchling = m_creature->SummonCreature(15962, target->GetPositionX()-5, target->GetPositionY()-5, target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
- if (Hatchling)
- ((CreatureAI*)Hatchling->AI())->AttackStart(target);
+ if(Hatchling)
+ ((CreatureAI*)Hatchling->AI())->AttackStart(target);
Hatchling = m_creature->SummonCreature(15962, target->GetPositionX()-5, target->GetPositionY()+5, target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
- if (Hatchling)
- ((CreatureAI*)Hatchling->AI())->AttackStart(target);
+ if(Hatchling)
+ ((CreatureAI*)Hatchling->AI())->AttackStart(target);
break;
}
}
diff --git a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_ouro.cpp b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_ouro.cpp
index d66cdb8e6ba..700e7230d14 100644
--- a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_ouro.cpp
+++ b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_ouro.cpp
@@ -103,7 +103,8 @@ struct TRINITY_DLL_DECL boss_ouroAI : public ScriptedAI
Unit* target = NULL;
target = SelectUnit(SELECT_TARGET_RANDOM,0);
- DoTeleportTo(target->GetPositionX(), target->GetPositionY(), target->GetPositionZ());
+ if(target)
+ DoTeleportTo(target->GetPositionX(), target->GetPositionY(), target->GetPositionZ());
ChangeTarget_Timer = 10000 + rand()%10000;
}else ChangeTarget_Timer -= diff;
diff --git a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_sartura.cpp b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_sartura.cpp
index bcae80fcf3e..21e73e8df4e 100644
--- a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_sartura.cpp
+++ b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_sartura.cpp
@@ -169,7 +169,6 @@ struct TRINITY_DLL_DECL boss_sarturaAI : public ScriptedAI
}
};
-
struct TRINITY_DLL_DECL mob_sartura_royal_guardAI : public ScriptedAI
{
mob_sartura_royal_guardAI(Creature *c) : ScriptedAI(c) {}
@@ -195,7 +194,6 @@ struct TRINITY_DLL_DECL mob_sartura_royal_guardAI : public ScriptedAI
WhirlWind = false;
AggroReset = false;
-
}
void EnterCombat(Unit *who)
diff --git a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_twinemperors.cpp b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_twinemperors.cpp
index e98daf7cc11..c3d4d0f35eb 100644
--- a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_twinemperors.cpp
+++ b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_twinemperors.cpp
@@ -265,8 +265,11 @@ struct TRINITY_DLL_DECL boss_twinemperorsAI : public ScriptedAI
m_creature->clearUnitState(UNIT_STAT_STUNNED);
Unit *nearu = m_creature->SelectNearestTarget(100);
//DoYell(nearu->GetName(), LANG_UNIVERSAL, 0);
- AttackStart(nearu);
- m_creature->getThreatManager().addThreat(nearu, 10000);
+ if(nearu)
+ {
+ AttackStart(nearu);
+ m_creature->getThreatManager().addThreat(nearu, 10000);
+ }
return true;
}
else
@@ -345,7 +348,7 @@ struct TRINITY_DLL_DECL boss_twinemperorsAI : public ScriptedAI
for(std::list<Creature*>::iterator iter = unitList.begin(); iter != unitList.end(); ++iter)
{
Creature *c = (Creature *)(*iter);
- if (c->isDead())
+ if (c && c->isDead())
{
c->Respawn();
c->setFaction(7);
diff --git a/src/bindings/scripts/scripts/zone/terokkar_forest/terokkar_forest.cpp b/src/bindings/scripts/scripts/zone/terokkar_forest/terokkar_forest.cpp
index f1abe49c46e..daa93ee66df 100644
--- a/src/bindings/scripts/scripts/zone/terokkar_forest/terokkar_forest.cpp
+++ b/src/bindings/scripts/scripts/zone/terokkar_forest/terokkar_forest.cpp
@@ -120,6 +120,7 @@ struct TRINITY_DLL_DECL mob_unkor_the_ruthlessAI : public ScriptedAI
if( UnkorUnfriendly_Timer < diff )
{
EnterEvadeMode();
+ return;
}else UnkorUnfriendly_Timer -= diff;
}
}
diff --git a/src/bindings/scripts/scripts/zone/uldaman/boss_archaedas.cpp b/src/bindings/scripts/scripts/zone/uldaman/boss_archaedas.cpp
index 56c1d0d3f9d..a75b9310824 100644
--- a/src/bindings/scripts/scripts/zone/uldaman/boss_archaedas.cpp
+++ b/src/bindings/scripts/scripts/zone/uldaman/boss_archaedas.cpp
@@ -120,6 +120,8 @@ struct TRINITY_DLL_DECL boss_archaedasAI : public ScriptedAI
void UpdateAI(const uint32 diff)
{
+ if(!pInstance)
+ return;
// we're still doing awaken animation
if (wakingUp && Awaken_Timer >= 0) {
Awaken_Timer -= diff;
@@ -180,8 +182,11 @@ struct TRINITY_DLL_DECL boss_archaedasAI : public ScriptedAI
}
void JustDied (Unit *killer) {
- pInstance->SetData(NULL,3); // open the vault door
- pInstance->SetData(NULL,4); // deactivate his minions
+ if(pInstance)
+ {
+ pInstance->SetData(NULL,3); // open the vault door
+ pInstance->SetData(NULL,4); // deactivate his minions
+ }
}
};
@@ -389,7 +394,8 @@ struct TRINITY_DLL_DECL mob_stonekeepersAI : public ScriptedAI
void DamageTaken (Unit *attacker, uint32 &damage) {
if (damage > m_creature->GetHealth()) {
DoCast (m_creature, SPELL_SELF_DESTRUCT,true);
- pInstance->SetData(NULL, 1); // activate next stonekeeper
+ if(pInstance)
+ pInstance->SetData(NULL, 1); // activate next stonekeeper
}
}
diff --git a/src/bindings/scripts/scripts/zone/zulaman/boss_hexlord.cpp b/src/bindings/scripts/scripts/zone/zulaman/boss_hexlord.cpp
index 9587bc167ba..7fb8dc9b321 100644
--- a/src/bindings/scripts/scripts/zone/zulaman/boss_hexlord.cpp
+++ b/src/bindings/scripts/scripts/zone/zulaman/boss_hexlord.cpp
@@ -189,7 +189,10 @@ struct TRINITY_DLL_DECL boss_hexlord_addAI : public ScriptedAI
void UpdateAI(const uint32 diff)
{
if(pInstance && pInstance->GetData(DATA_HEXLORDEVENT) != IN_PROGRESS)
+ {
EnterEvadeMode();
+ return;
+ }
DoMeleeAttackIfReady();
}
@@ -382,7 +385,11 @@ struct TRINITY_DLL_DECL boss_hex_lord_malacrassAI : public ScriptedAI
{
Unit* target = SelectUnit(SELECT_TARGET_RANDOM, 0, 70, true);
Unit *trigger = DoSpawnCreature(MOB_TEMP_TRIGGER, 0, 0, 0, 0, TEMPSUMMON_TIMED_DESPAWN, 30000);
- if(!target || !trigger) EnterEvadeMode();
+ if(!target || !trigger)
+ {
+ EnterEvadeMode();
+ return;
+ }
else
{
trigger->SetUInt32Value(UNIT_FIELD_DISPLAYID, 11686);
diff --git a/src/bindings/scripts/scripts/zone/zulaman/boss_nalorakk.cpp b/src/bindings/scripts/scripts/zone/zulaman/boss_nalorakk.cpp
index 8f2efe7189f..9fc50e621ac 100644
--- a/src/bindings/scripts/scripts/zone/zulaman/boss_nalorakk.cpp
+++ b/src/bindings/scripts/scripts/zone/zulaman/boss_nalorakk.cpp
@@ -407,7 +407,8 @@ struct TRINITY_DLL_DECL boss_nalorakkAI : public ScriptedAI
DoYell(YELL_SURGE, LANG_UNIVERSAL, NULL);
DoPlaySoundToSet(m_creature, SOUND_YELL_SURGE);
Unit *target = SelectUnit(SELECT_TARGET_RANDOM, 1, GetSpellMaxRangeForHostile(SPELL_SURGE), true);
- DoCast(target, SPELL_SURGE);
+ if(target)
+ DoCast(target, SPELL_SURGE);
Surge_Timer = 15000 + rand()%5000;
}else Surge_Timer -= diff;
}
diff --git a/src/bindings/scripts/scripts/zone/zulaman/boss_zuljin.cpp b/src/bindings/scripts/scripts/zone/zulaman/boss_zuljin.cpp
index 16c3dd3f333..c58ff08c94e 100644
--- a/src/bindings/scripts/scripts/zone/zulaman/boss_zuljin.cpp
+++ b/src/bindings/scripts/scripts/zone/zulaman/boss_zuljin.cpp
@@ -487,7 +487,12 @@ struct TRINITY_DLL_DECL boss_zuljinAI : public ScriptedAI
else
Claw_Loop_Timer = 500;
}
- }else EnterEvadeMode(); // if(target)
+ }
+ else
+ {
+ EnterEvadeMode(); // if(target)
+ return;
+ }
}else Claw_Loop_Timer -= diff;
} //if(TankGUID)
}else Claw_Rage_Timer -= diff;
@@ -529,7 +534,12 @@ struct TRINITY_DLL_DECL boss_zuljinAI : public ScriptedAI
else
AttackStart(SelectUnit(SELECT_TARGET_RANDOM, 0));
}
- }else EnterEvadeMode(); // if(target)
+ }
+ else
+ {
+ EnterEvadeMode(); // if(target)
+ return;
+ }
} //if(TankGUID)
}else Lynx_Rush_Timer -= diff;
diff --git a/src/bindings/scripts/scripts/zone/zulgurub/boss_arlokk.cpp b/src/bindings/scripts/scripts/zone/zulgurub/boss_arlokk.cpp
index 1b75cd12ee6..a0f87e6cce5 100644
--- a/src/bindings/scripts/scripts/zone/zulgurub/boss_arlokk.cpp
+++ b/src/bindings/scripts/scripts/zone/zulgurub/boss_arlokk.cpp
@@ -125,13 +125,13 @@ struct TRINITY_DLL_DECL boss_arlokkAI : public ScriptedAI
{
DoScriptText(SAY_FEAST_PANTHER, m_creature, markedTarget);
Panther ->AI()->AttackStart(markedTarget);
- }else Panther ->AI()->AttackStart(target);
+ }else if(Panther && target) Panther ->AI()->AttackStart(target);
Panther = m_creature->SummonCreature(15101,-11532.9970,-1606.4840,41.2979,0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
if(markedTarget && Panther )
Panther ->AI()->AttackStart(markedTarget);
- else
+ else if(Panther && target)
Panther ->AI()->AttackStart(target);
Counter++;
@@ -164,7 +164,8 @@ struct TRINITY_DLL_DECL boss_arlokkAI : public ScriptedAI
m_creature->SetBaseWeaponDamage(BASE_ATTACK, MINDAMAGE, (cinfo->mindmg +((cinfo->mindmg/100) * 35)));
m_creature->SetBaseWeaponDamage(BASE_ATTACK, MAXDAMAGE, (cinfo->maxdmg +((cinfo->maxdmg/100) * 35)));
m_creature->UpdateDamagePhysical(BASE_ATTACK);
- AttackStart(target);
+ if(target)
+ AttackStart(target);
//The Panther Model
m_creature->SetUInt32Value(UNIT_FIELD_DISPLAYID,15215);
m_creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
diff --git a/src/bindings/scripts/scripts/zone/zulgurub/boss_hazzarah.cpp b/src/bindings/scripts/scripts/zone/zulgurub/boss_hazzarah.cpp
index a8de44dc712..37a913a5df3 100644
--- a/src/bindings/scripts/scripts/zone/zulgurub/boss_hazzarah.cpp
+++ b/src/bindings/scripts/scripts/zone/zulgurub/boss_hazzarah.cpp
@@ -75,8 +75,12 @@ struct TRINITY_DLL_DECL boss_hazzarahAI : public ScriptedAI
for(int i = 0; i < 3;i++)
{
target = SelectUnit(SELECT_TARGET_RANDOM,0);
+ if(!target)
+ return;
+
Illusion = m_creature->SummonCreature(15163,target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(),0,TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN,30000);
- ((CreatureAI*)Illusion->AI())->AttackStart(target);
+ if(Illusion)
+ ((CreatureAI*)Illusion->AI())->AttackStart(target);
}
Illusions_Timer = 15000 + rand()%10000;
diff --git a/src/bindings/scripts/scripts/zone/zulgurub/boss_jeklik.cpp b/src/bindings/scripts/scripts/zone/zulgurub/boss_jeklik.cpp
index 67231fd69bd..b691bc864ce 100644
--- a/src/bindings/scripts/scripts/zone/zulgurub/boss_jeklik.cpp
+++ b/src/bindings/scripts/scripts/zone/zulgurub/boss_jeklik.cpp
@@ -184,13 +184,12 @@ struct TRINITY_DLL_DECL boss_jeklikAI : public ScriptedAI
if(SpawnFlyingBats_Timer < diff)
{
Unit *target = SelectUnit(SELECT_TARGET_RANDOM, 0);
+ if(!target)
+ return;
Creature* FlyingBat = m_creature->SummonCreature(14965, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ()+15, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
if(FlyingBat)
- {
- if(target)
- FlyingBat->AI()->AttackStart(target);
- }
+ FlyingBat->AI()->AttackStart(target);
SpawnFlyingBats_Timer = 10000 + rand()%5000;
}else SpawnFlyingBats_Timer -=diff;
diff --git a/src/bindings/scripts/scripts/zone/zulgurub/boss_jindo.cpp b/src/bindings/scripts/scripts/zone/zulgurub/boss_jindo.cpp
index d1cf79ed183..26d19c8763b 100644
--- a/src/bindings/scripts/scripts/zone/zulgurub/boss_jindo.cpp
+++ b/src/bindings/scripts/scripts/zone/zulgurub/boss_jindo.cpp
@@ -104,11 +104,11 @@ struct TRINITY_DLL_DECL boss_jindoAI : public ScriptedAI
{
if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM,0))
{
- DoCast(target, SPELL_DELUSIONSOFJINDO);
+ DoCast(target, SPELL_DELUSIONSOFJINDO);
- Creature *Shade = m_creature->SummonCreature(14986, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
- if (Shade)
- Shade->AI()->AttackStart(target);
+ Creature *Shade = m_creature->SummonCreature(14986, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
+ if(Shade)
+ Shade->AI()->AttackStart(target);
}
Delusions_Timer = 4000 + rand()%8000;
@@ -128,32 +128,32 @@ struct TRINITY_DLL_DECL boss_jindoAI : public ScriptedAI
Creature *Skeletons;
Skeletons = m_creature->SummonCreature(14826, target->GetPositionX()+2, target->GetPositionY(), target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
- if (Skeletons)
- Skeletons->AI()->AttackStart(target);
+ if(Skeletons)
+ Skeletons->AI()->AttackStart(target);
Skeletons = m_creature->SummonCreature(14826, target->GetPositionX()-2, target->GetPositionY(), target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
- if (Skeletons)
- Skeletons->AI()->AttackStart(target);
+ if(Skeletons)
+ Skeletons->AI()->AttackStart(target);
Skeletons = m_creature->SummonCreature(14826, target->GetPositionX()+4, target->GetPositionY(), target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
- if (Skeletons)
- Skeletons->AI()->AttackStart(target);
+ if(Skeletons)
+ Skeletons->AI()->AttackStart(target);
Skeletons = m_creature->SummonCreature(14826, target->GetPositionX()-4, target->GetPositionY(), target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
- if (Skeletons)
- Skeletons->AI()->AttackStart(target);
+ if(Skeletons)
+ Skeletons->AI()->AttackStart(target);
Skeletons = m_creature->SummonCreature(14826, target->GetPositionX(), target->GetPositionY()+2, target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
- if (Skeletons)
- Skeletons->AI()->AttackStart(target);
+ if(Skeletons)
+ Skeletons->AI()->AttackStart(target);
Skeletons = m_creature->SummonCreature(14826, target->GetPositionX(), target->GetPositionY()-2, target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
- if (Skeletons)
- Skeletons->AI()->AttackStart(target);
+ if(Skeletons)
+ Skeletons->AI()->AttackStart(target);
Skeletons = m_creature->SummonCreature(14826, target->GetPositionX(), target->GetPositionY()+4, target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
- if (Skeletons)
- Skeletons->AI()->AttackStart(target);
+ if(Skeletons)
+ Skeletons->AI()->AttackStart(target);
Skeletons = m_creature->SummonCreature(14826, target->GetPositionX(), target->GetPositionY()-4, target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
- if (Skeletons)
- Skeletons->AI()->AttackStart(target);
+ if(Skeletons)
+ Skeletons->AI()->AttackStart(target);
Skeletons = m_creature->SummonCreature(14826, target->GetPositionX()+3, target->GetPositionY(), target->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
- if (Skeletons)
- Skeletons->AI()->AttackStart(target);
+ if(Skeletons)
+ Skeletons->AI()->AttackStart(target);
}
Teleport_Timer = 15000 + rand()%8000;
@@ -192,7 +192,8 @@ struct TRINITY_DLL_DECL mob_healing_wardAI : public ScriptedAI
if(pInstance)
{
Unit *pJindo = Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_JINDO));
- DoCast(pJindo, SPELL_HEAL);
+ if(pJindo)
+ DoCast(pJindo, SPELL_HEAL);
}
Heal_Timer = 3000;
}else Heal_Timer -= diff;
diff --git a/src/bindings/scripts/scripts/zone/zulgurub/boss_marli.cpp b/src/bindings/scripts/scripts/zone/zulgurub/boss_marli.cpp
index 7d18ed5a14f..f85523dc65e 100644
--- a/src/bindings/scripts/scripts/zone/zulgurub/boss_marli.cpp
+++ b/src/bindings/scripts/scripts/zone/zulgurub/boss_marli.cpp
@@ -112,15 +112,21 @@ struct TRINITY_DLL_DECL boss_marliAI : public ScriptedAI
DoScriptText(SAY_SPIDER_SPAWN, m_creature);
Unit* target = SelectUnit(SELECT_TARGET_RANDOM,0);
+ if(!target)
+ return;
Spider = m_creature->SummonCreature(15041,target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(),0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
- if(target && Spider ) Spider ->AI()->AttackStart(target);
+ if(Spider)
+ Spider->AI()->AttackStart(target);
Spider = m_creature->SummonCreature(15041,target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(),0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
- if(target && Spider ) Spider ->AI()->AttackStart(target);
+ if(Spider)
+ Spider->AI()->AttackStart(target);
Spider = m_creature->SummonCreature(15041,target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(),0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
- if(target && Spider ) Spider ->AI()->AttackStart(target);
+ if(Spider)
+ Spider->AI()->AttackStart(target);
Spider = m_creature->SummonCreature(15041,target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(),0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
- if(target && Spider ) Spider ->AI()->AttackStart(target);
+ if(Spider)
+ Spider->AI()->AttackStart(target);
Spawned = true;
}else SpawnStartSpiders_Timer -= diff;
@@ -128,10 +134,12 @@ struct TRINITY_DLL_DECL boss_marliAI : public ScriptedAI
if (SpawnSpider_Timer < diff)
{
Unit* target = SelectUnit(SELECT_TARGET_RANDOM,0);
+ if(!target)
+ return;
Spider = m_creature->SummonCreature(15041,target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(),0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000);
- if (target && Spider )
- Spider ->AI()->AttackStart(target);
+ if(Spider)
+ Spider->AI()->AttackStart(target);
SpawnSpider_Timer = 12000 + rand()%5000;
}else SpawnSpider_Timer -= diff;
diff --git a/src/bindings/scripts/scripts/zone/zulgurub/boss_thekal.cpp b/src/bindings/scripts/scripts/zone/zulgurub/boss_thekal.cpp
index 72594a0b8f8..0dcfa4549db 100644
--- a/src/bindings/scripts/scripts/zone/zulgurub/boss_thekal.cpp
+++ b/src/bindings/scripts/scripts/zone/zulgurub/boss_thekal.cpp
@@ -118,20 +118,26 @@ struct TRINITY_DLL_DECL boss_thekalAI : public ScriptedAI
{
//Resurrect LorKhan
Unit *pLorKhan = Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_LORKHAN));
- pLorKhan->SetStandState(UNIT_STAND_STATE_STAND);
- pLorKhan->setFaction(14);
- pLorKhan->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
- pLorKhan->SetHealth(int(pLorKhan->GetMaxHealth()*1.0));
+ if(pLorKhan)
+ {
+ pLorKhan->SetUInt32Value(UNIT_FIELD_BYTES_1, 0);
+ pLorKhan->setFaction(14);
+ pLorKhan->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
+ pLorKhan->SetHealth(int(pLorKhan->GetMaxHealth()*1.0));
+ }
}
if(pInstance->GetData(DATA_ZATHISDEAD))
{
//Resurrect Zath
Unit *pZath = Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_ZATH));
- pZath->SetStandState(UNIT_STAND_STATE_STAND);
- pZath->setFaction(14);
- pZath->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
- pZath->SetHealth(int(pZath->GetMaxHealth()*1.0));
+ if(pZath)
+ {
+ pZath->SetUInt32Value(UNIT_FIELD_BYTES_1, 0);
+ pZath->setFaction(14);
+ pZath->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
+ pZath->SetHealth(int(pZath->GetMaxHealth()*1.0));
+ }
}
}
@@ -192,9 +198,9 @@ struct TRINITY_DLL_DECL boss_thekalAI : public ScriptedAI
{
if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM,0))
{
- DoCast(target,SPELL_CHARGE);
- DoResetThreat();
- AttackStart(target);
+ DoCast(target,SPELL_CHARGE);
+ DoResetThreat();
+ AttackStart(target);
}
Charge_Timer = 15000 + rand()%7000;
@@ -296,6 +302,9 @@ struct TRINITY_DLL_DECL mob_zealot_lorkhanAI : public ScriptedAI
Unit *pThekal = Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_THEKAL));
Unit *pZath = Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_ZATH));
+ if(!pThekal || !pZath)
+ return;
+
switch(rand()%2)
{
case 0:
@@ -328,20 +337,26 @@ struct TRINITY_DLL_DECL mob_zealot_lorkhanAI : public ScriptedAI
{
//Resurrect Thekal
Unit *pThekal = Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_THEKAL));
- pThekal->SetStandState(UNIT_STAND_STATE_STAND);
- pThekal->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
- pThekal->setFaction(14);
- pThekal->SetHealth(int(pThekal->GetMaxHealth()*1.0));
+ if(pThekal)
+ {
+ pThekal->SetUInt32Value(UNIT_FIELD_BYTES_1, 0);
+ pThekal->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
+ pThekal->setFaction(14);
+ pThekal->SetHealth(int(pThekal->GetMaxHealth()*1.0));
+ }
}
if(pInstance->GetData(DATA_ZATHISDEAD))
{
//Resurrect Zath
Unit *pZath = Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_ZATH));
- pZath->SetStandState(UNIT_STAND_STATE_STAND);
- pZath->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
- pZath->setFaction(14);
- pZath->SetHealth(int(pZath->GetMaxHealth()*1.0));
+ if(pZath)
+ {
+ pZath->SetUInt32Value(UNIT_FIELD_BYTES_1, 0);
+ pZath->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
+ pZath->setFaction(14);
+ pZath->SetHealth(int(pZath->GetMaxHealth()*1.0));
+ }
}
}
@@ -459,20 +474,26 @@ struct TRINITY_DLL_DECL mob_zealot_zathAI : public ScriptedAI
{
//Resurrect LorKhan
Unit *pLorKhan = Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_LORKHAN));
- pLorKhan->SetStandState(UNIT_STAND_STATE_STAND);
- pLorKhan->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
- pLorKhan->setFaction(14);
- pLorKhan->SetHealth(int(pLorKhan->GetMaxHealth()*1.0));
+ if(pLorKhan)
+ {
+ pLorKhan->SetUInt32Value(UNIT_FIELD_BYTES_1, 0);
+ pLorKhan->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
+ pLorKhan->setFaction(14);
+ pLorKhan->SetHealth(int(pLorKhan->GetMaxHealth()*1.0));
+ }
}
if(pInstance->GetData(DATA_THEKALISFAKEDEAD))
{
//Resurrect Thekal
Unit *pThekal = Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_THEKAL));
- pThekal->SetStandState(UNIT_STAND_STATE_STAND);
- pThekal->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
- pThekal->setFaction(14);
- pThekal->SetHealth(int(pThekal->GetMaxHealth()*1.0));
+ if(pThekal)
+ {
+ pThekal->SetUInt32Value(UNIT_FIELD_BYTES_1, 0);
+ pThekal->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
+ pThekal->setFaction(14);
+ pThekal->SetHealth(int(pThekal->GetMaxHealth()*1.0));
+ }
}
}
diff --git a/src/bindings/scripts/scripts/zone/zulgurub/boss_venoxis.cpp b/src/bindings/scripts/scripts/zone/zulgurub/boss_venoxis.cpp
index ea939289696..7ab59285ebe 100644
--- a/src/bindings/scripts/scripts/zone/zulgurub/boss_venoxis.cpp
+++ b/src/bindings/scripts/scripts/zone/zulgurub/boss_venoxis.cpp
@@ -134,7 +134,7 @@ struct TRINITY_DLL_DECL boss_venoxisAI : public ScriptedAI
if (HolyFire_Timer < diff && TargetInRange < 3)
{
if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM,0))
- DoCast(target, SPELL_HOLY_FIRE);
+ DoCast(target, SPELL_HOLY_FIRE);
HolyFire_Timer = 8000;
}else HolyFire_Timer -= diff;
@@ -164,7 +164,7 @@ struct TRINITY_DLL_DECL boss_venoxisAI : public ScriptedAI
if (PhaseTwo && VenomSpit_Timer < diff)
{
if (Unit* target = SelectUnit(SELECT_TARGET_RANDOM,0))
- DoCast(target, SPELL_VENOMSPIT);
+ DoCast(target, SPELL_VENOMSPIT);
VenomSpit_Timer = 15000 + rand()%5000;
}else VenomSpit_Timer -= diff;
diff --git a/src/game/DynamicObject.cpp b/src/game/DynamicObject.cpp
index d294886619c..8969e4dfe04 100644
--- a/src/game/DynamicObject.cpp
+++ b/src/game/DynamicObject.cpp
@@ -88,7 +88,7 @@ bool DynamicObject::Create( uint32 guidlow, Unit *caster, uint32 spellId, uint32
SetUInt64Value( DYNAMICOBJECT_CASTER, caster->GetGUID() );
SetUInt32Value( DYNAMICOBJECT_BYTES, 0x00000001 );
SetUInt32Value( DYNAMICOBJECT_SPELLID, spellId );
- SetFloatValue( DYNAMICOBJECT_RADIUS, radius * 2); //diameter?
+ SetFloatValue( DYNAMICOBJECT_RADIUS, radius);
SetFloatValue( DYNAMICOBJECT_POS_X, x );
SetFloatValue( DYNAMICOBJECT_POS_Y, y );
SetFloatValue( DYNAMICOBJECT_POS_Z, z );
diff --git a/src/game/GridNotifiersImpl.h b/src/game/GridNotifiersImpl.h
index 7fc6c147f5b..54cbff2c7bb 100644
--- a/src/game/GridNotifiersImpl.h
+++ b/src/game/GridNotifiersImpl.h
@@ -180,7 +180,7 @@ inline void Trinity::DynamicObjectUpdater::VisitHelper(Unit* target)
SpellEntry const *spellInfo = sSpellStore.LookupEntry(i_dynobject.GetSpellId());
uint32 eff_index = i_dynobject.GetEffIndex();
- if(spellInfo->EffectImplicitTargetB[eff_index] == TARGET_UNIT_AREA_ALLY_CHANNEL
+ if(spellInfo->EffectImplicitTargetB[eff_index] == TARGET_DEST_DYNOBJ_ALLY
|| spellInfo->EffectImplicitTargetB[eff_index] == TARGET_UNIT_AREA_ALLY_GROUND)
{
if(!i_check->IsFriendlyTo(target))
diff --git a/src/game/PetHandler.cpp b/src/game/PetHandler.cpp
index 6576a2a7622..71ae527e7d7 100644
--- a/src/game/PetHandler.cpp
+++ b/src/game/PetHandler.cpp
@@ -209,7 +209,7 @@ void WorldSession::HandlePetActionHelper(Unit *pet, uint64 guid1, uint16 spellid
for(uint32 i = 0; i < 3;++i)
{
- if(spellInfo->EffectImplicitTargetA[i] == TARGET_ALL_ENEMY_IN_AREA || spellInfo->EffectImplicitTargetA[i] == TARGET_ALL_ENEMY_IN_AREA_INSTANT || spellInfo->EffectImplicitTargetA[i] == TARGET_ALL_ENEMY_IN_AREA_CHANNELED)
+ if(spellInfo->EffectImplicitTargetA[i] == TARGET_ALL_ENEMY_IN_AREA || spellInfo->EffectImplicitTargetA[i] == TARGET_ALL_ENEMY_IN_AREA_INSTANT || spellInfo->EffectImplicitTargetA[i] == TARGET_DEST_DYNOBJ_ENEMY)
return;
}
diff --git a/src/game/SharedDefines.h b/src/game/SharedDefines.h
index e6aaf8619bc..1cdf2359201 100644
--- a/src/game/SharedDefines.h
+++ b/src/game/SharedDefines.h
@@ -1032,9 +1032,8 @@ enum Targets
TARGET_GAMEOBJECT_ITEM = 26,
//TARGET_OBJECT_ITEM_PICKLOCK
TARGET_UNIT_MASTER = 27,
- TARGET_ALL_ENEMY_IN_AREA_CHANNELED = 28,
- TARGET_UNIT_AREA_ENEMY_CHANNEL = 28,
- TARGET_UNIT_AREA_ALLY_CHANNEL = 29, // 28,29 only used for effect 27, if interrupt channel, pstAA cancel
+ TARGET_DEST_DYNOBJ_ENEMY = 28,
+ TARGET_DEST_DYNOBJ_ALLY = 29, // only for effect 27
TARGET_ALL_FRIENDLY_UNITS_AROUND_CASTER = 30, // in TargetB used only with TARGET_ALL_AROUND_CASTER and in self casting range in TargetA
TARGET_UNIT_AREA_ALLY = 30,
TARGET_ALL_FRIENDLY_UNITS_IN_AREA = 31,
diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp
index 5ffb17d05ac..9590322617f 100644
--- a/src/game/Spell.cpp
+++ b/src/game/Spell.cpp
@@ -1991,17 +1991,13 @@ void Spell::SetTargetMap(uint32 i,uint32 cur,std::list<Unit*> &TagUnitMap)
break;
}
- if(cur == TARGET_DEST_DEST)
- break;
-
- float x, y, z, angle, dist;
-
- dist = GetSpellRadiusForFriend(sSpellRadiusStore.LookupEntry(m_spellInfo->EffectRadiusIndex[i]));
- if (cur == TARGET_DEST_DEST_RANDOM)
- dist *= rand_norm();
-
+ float angle;
switch(cur)
{
+ case TARGET_DEST_DYNOBJ_ENEMY:
+ case TARGET_DEST_DYNOBJ_ALLY:
+ case TARGET_DEST_DEST:
+ return;
case TARGET_DEST_DEST_FRONT: angle = 0.0f; break;
case TARGET_DEST_DEST_BACK: angle = M_PI; break;
case TARGET_DEST_DEST_RIGHT: angle = M_PI/2; break;
@@ -2013,6 +2009,11 @@ void Spell::SetTargetMap(uint32 i,uint32 cur,std::list<Unit*> &TagUnitMap)
default: angle = rand_norm()*2*M_PI; break;
}
+ float dist, x, y, z;
+ dist = GetSpellRadiusForFriend(sSpellRadiusStore.LookupEntry(m_spellInfo->EffectRadiusIndex[i]));
+ if (cur == TARGET_DEST_DEST_RANDOM)
+ dist *= rand_norm();
+
x = m_targets.m_destX;
y = m_targets.m_destY;
z = m_targets.m_destZ;
diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp
index 04b3617f41b..a1ae00b17c8 100644
--- a/src/game/SpellEffects.cpp
+++ b/src/game/SpellEffects.cpp
@@ -2758,7 +2758,6 @@ void Spell::EffectPersistentAA(uint32 i)
return;
}
dynObj->SetUInt32Value(OBJECT_FIELD_TYPE, 65);
- dynObj->SetUInt32Value(GAMEOBJECT_DISPLAYID, 368003);
dynObj->SetUInt32Value(DYNAMICOBJECT_BYTES, 0x01eeeeee);
caster->AddDynObject(dynObj);
dynObj->GetMap()->Add(dynObj);
diff --git a/src/game/SpellMgr.cpp b/src/game/SpellMgr.cpp
index 6d93f292f8c..e4bee68d3a3 100644
--- a/src/game/SpellMgr.cpp
+++ b/src/game/SpellMgr.cpp
@@ -119,8 +119,6 @@ SpellMgr::SpellMgr()
case TARGET_UNIT_AREA_ENTRY:
case TARGET_UNIT_AREA_PARTY_GROUND:
case TARGET_UNIT_AREA_PARTY:
- //case TARGET_UNIT_AREA_ENEMY_CHANNEL:
- //case TARGET_UNIT_AREA_ALLY_CHANNEL:
SpellTargetType[i] = TARGET_TYPE_AREA_DEST;
break;
case TARGET_DEST_TARGET_ENEMY:
@@ -153,6 +151,8 @@ SpellMgr::SpellMgr()
case TARGET_DEST_CASTER_RADIUS:
SpellTargetType[i] = TARGET_TYPE_DEST_CASTER;
break;
+ case TARGET_DEST_DYNOBJ_ENEMY:
+ case TARGET_DEST_DYNOBJ_ALLY:
case TARGET_DEST_DEST:
case TARGET_DEST_DEST_FRONT_LEFT:
case TARGET_DEST_DEST_BACK_LEFT:
@@ -182,9 +182,6 @@ SpellMgr::SpellMgr()
case TARGET_UNIT_AREA_ENTRY:
case TARGET_UNIT_AREA_PARTY_GROUND:
case TARGET_UNIT_AREA_PARTY:
- //Check persistant aura seperately
- //case TARGET_UNIT_AREA_ENEMY_CHANNEL:
- //case TARGET_UNIT_AREA_ALLY_CHANNEL:
case TARGET_UNIT_PARTY_TARGET:
case TARGET_UNIT_PARTY_CASTER:
case TARGET_UNIT_CONE_ENEMY:
@@ -501,7 +498,7 @@ bool IsPositiveTarget(uint32 targetA, uint32 targetB)
case TARGET_ALL_ENEMY_IN_AREA:
case TARGET_ALL_ENEMY_IN_AREA_INSTANT:
case TARGET_IN_FRONT_OF_CASTER:
- case TARGET_ALL_ENEMY_IN_AREA_CHANNELED:
+ case TARGET_DEST_DYNOBJ_ENEMY:
case TARGET_CURRENT_ENEMY_COORDINATES:
case TARGET_UNIT_CHANNEL:
return false;