aboutsummaryrefslogtreecommitdiff
path: root/src/scripts/northrend
diff options
context:
space:
mode:
authorAnubisss <none@none>2010-04-02 15:41:37 +0200
committerAnubisss <none@none>2010-04-02 15:41:37 +0200
commit08b4748e622a91b86b1918400836f862133cbf71 (patch)
tree0f0a582a6ce9ef3c4f01dc089af56014c16f9126 /src/scripts/northrend
parent7c4f2f520f4047b10d94e44f6af1c910ff4bdbcf (diff)
Use GUIDs instead of "global" pointers in zone scripts.
This commit is like that: 7714 / rce505237e4aa And use const_iterators where it is possible. --HG-- branch : trunk
Diffstat (limited to 'src/scripts/northrend')
-rw-r--r--src/scripts/northrend/azjol_nerub/ahnkahet/boss_herald_volazj.cpp2
-rw-r--r--src/scripts/northrend/azjol_nerub/ahnkahet/boss_prince_taldaram.cpp2
-rw-r--r--src/scripts/northrend/crusaders_coliseum/trial_of_the_champion/boss_black_knight.cpp2
-rw-r--r--src/scripts/northrend/crusaders_coliseum/trial_of_the_champion/instance_trial_of_the_champion.cpp2
-rw-r--r--src/scripts/northrend/crusaders_coliseum/trial_of_the_champion/trial_of_the_champion.cpp4
-rw-r--r--src/scripts/northrend/crystalsong_forest.cpp6
-rw-r--r--src/scripts/northrend/draktharon_keep/boss_novos.cpp4
-rw-r--r--src/scripts/northrend/draktharon_keep/boss_tharon_ja.cpp4
-rw-r--r--src/scripts/northrend/grizzly_hills.cpp118
-rw-r--r--src/scripts/northrend/naxxramas/boss_kelthuzad.cpp8
-rw-r--r--src/scripts/northrend/naxxramas/boss_patchwerk.cpp2
-rw-r--r--src/scripts/northrend/naxxramas/boss_sapphiron.cpp12
-rw-r--r--src/scripts/northrend/nexus/nexus/boss_keristrasza.cpp2
-rw-r--r--src/scripts/northrend/nexus/nexus/boss_ormorok.cpp2
-rw-r--r--src/scripts/northrend/ulduar/halls_of_lightning/boss_ionar.cpp4
-rw-r--r--src/scripts/northrend/ulduar/halls_of_lightning/boss_volkhan.cpp4
-rw-r--r--src/scripts/northrend/ulduar/halls_of_stone/halls_of_stone.cpp4
-rw-r--r--src/scripts/northrend/ulduar/ulduar/boss_algalon.cpp2
-rw-r--r--src/scripts/northrend/ulduar/ulduar/boss_razorscale.cpp2
-rw-r--r--src/scripts/northrend/violet_hold/boss_ichoron.cpp2
-rw-r--r--src/scripts/northrend/violet_hold/boss_xevozz.cpp2
-rw-r--r--src/scripts/northrend/violet_hold/violet_hold.cpp4
-rw-r--r--src/scripts/northrend/zuldrak.cpp44
23 files changed, 129 insertions, 109 deletions
diff --git a/src/scripts/northrend/azjol_nerub/ahnkahet/boss_herald_volazj.cpp b/src/scripts/northrend/azjol_nerub/ahnkahet/boss_herald_volazj.cpp
index 923f000a99b..dbadd70cb70 100644
--- a/src/scripts/northrend/azjol_nerub/ahnkahet/boss_herald_volazj.cpp
+++ b/src/scripts/northrend/azjol_nerub/ahnkahet/boss_herald_volazj.cpp
@@ -205,7 +205,7 @@ struct boss_volazjAI : public ScriptedAI
Summons.Despawn(summon);
// Check if all summons in this phase killed
- for(SummonList::const_iterator iter = Summons.begin(); iter!=Summons.end(); iter++)
+ for(SummonList::const_iterator iter = Summons.begin(); iter!=Summons.end(); ++iter)
{
if(Creature *visage = Unit::GetCreature(*m_creature, *iter))
{
diff --git a/src/scripts/northrend/azjol_nerub/ahnkahet/boss_prince_taldaram.cpp b/src/scripts/northrend/azjol_nerub/ahnkahet/boss_prince_taldaram.cpp
index e2fe94872ab..64e70435244 100644
--- a/src/scripts/northrend/azjol_nerub/ahnkahet/boss_prince_taldaram.cpp
+++ b/src/scripts/northrend/azjol_nerub/ahnkahet/boss_prince_taldaram.cpp
@@ -209,7 +209,7 @@ struct boss_taldaramAI : public ScriptedAI
Unit *pTarget = NULL;
std::list<HostileReference *> t_list = m_creature->getThreatManager().getThreatList();
std::vector<Unit *> target_list;
- for (std::list<HostileReference *>::iterator itr = t_list.begin(); itr!= t_list.end(); ++itr)
+ for (std::list<HostileReference *>::const_iterator itr = t_list.begin(); itr!= t_list.end(); ++itr)
{
pTarget = Unit::GetUnit(*m_creature, (*itr)->getUnitGuid());
// exclude pets & totems
diff --git a/src/scripts/northrend/crusaders_coliseum/trial_of_the_champion/boss_black_knight.cpp b/src/scripts/northrend/crusaders_coliseum/trial_of_the_champion/boss_black_knight.cpp
index 4085605facb..4f19d85ca01 100644
--- a/src/scripts/northrend/crusaders_coliseum/trial_of_the_champion/boss_black_knight.cpp
+++ b/src/scripts/northrend/crusaders_coliseum/trial_of_the_champion/boss_black_knight.cpp
@@ -131,7 +131,7 @@ struct boss_black_knightAI : public ScriptedAI
if (SummonList.empty())
return;
- for(std::list<uint64>::iterator itr = SummonList.begin(); itr != SummonList.end(); ++itr)
+ for(std::list<uint64>::const_iterator itr = SummonList.begin(); itr != SummonList.end(); ++itr)
{
if (Creature* pTemp = Unit::GetCreature(*m_creature, *itr))
if (pTemp)
diff --git a/src/scripts/northrend/crusaders_coliseum/trial_of_the_champion/instance_trial_of_the_champion.cpp b/src/scripts/northrend/crusaders_coliseum/trial_of_the_champion/instance_trial_of_the_champion.cpp
index 01cdbc7b083..edaad389bad 100644
--- a/src/scripts/northrend/crusaders_coliseum/trial_of_the_champion/instance_trial_of_the_champion.cpp
+++ b/src/scripts/northrend/crusaders_coliseum/trial_of_the_champion/instance_trial_of_the_champion.cpp
@@ -171,7 +171,7 @@ struct instance_trial_of_the_champion : public ScriptedInstance
m_auiEncounter[0] = uiData;
if (uiData == IN_PROGRESS)
{
- for(std::list<uint64>::iterator itr = VehicleList.begin(); itr != VehicleList.end(); ++itr)
+ for(std::list<uint64>::const_iterator itr = VehicleList.begin(); itr != VehicleList.end(); ++itr)
if (Creature* pSummon = instance->GetCreature(*itr))
pSummon->RemoveFromWorld();
}else if (uiData == DONE)
diff --git a/src/scripts/northrend/crusaders_coliseum/trial_of_the_champion/trial_of_the_champion.cpp b/src/scripts/northrend/crusaders_coliseum/trial_of_the_champion/trial_of_the_champion.cpp
index e24fea2cd0c..6f783bdf09e 100644
--- a/src/scripts/northrend/crusaders_coliseum/trial_of_the_champion/trial_of_the_champion.cpp
+++ b/src/scripts/northrend/crusaders_coliseum/trial_of_the_champion/trial_of_the_champion.cpp
@@ -141,7 +141,7 @@ struct npc_announcer_toc5AI : public ScriptedAI
break;
}
- for(std::list<uint64>::iterator itr = TempList.begin(); itr != TempList.end(); ++itr)
+ for(std::list<uint64>::const_iterator itr = TempList.begin(); itr != TempList.end(); ++itr)
if (Creature* pSummon = Unit::GetCreature(*m_creature, *itr))
AggroAllPlayers(pSummon);
}else if (uiLesserChampions == 9)
@@ -416,7 +416,7 @@ struct npc_announcer_toc5AI : public ScriptedAI
case 3:
if (!Champion1List.empty())
{
- for(std::list<uint64>::iterator itr = Champion1List.begin(); itr != Champion1List.end(); ++itr)
+ for(std::list<uint64>::const_iterator itr = Champion1List.begin(); itr != Champion1List.end(); ++itr)
if (Creature* pSummon = Unit::GetCreature(*m_creature, *itr))
AggroAllPlayers(pSummon);
NextStep(0,false);
diff --git a/src/scripts/northrend/crystalsong_forest.cpp b/src/scripts/northrend/crystalsong_forest.cpp
index 00a70003b54..0400f1714ef 100644
--- a/src/scripts/northrend/crystalsong_forest.cpp
+++ b/src/scripts/northrend/crystalsong_forest.cpp
@@ -48,7 +48,6 @@ struct npc_warmage_violetstandAI : public Scripted_NoMovementAI
npc_warmage_violetstandAI(Creature* pCreature) : Scripted_NoMovementAI(pCreature){}
uint32 m_uiTimer; //Timer until recast
- std::list<Creature *> orbList;
void Reset()
{
@@ -69,10 +68,12 @@ struct npc_warmage_violetstandAI : public Scripted_NoMovementAI
switch(me->GetEntry())
{
case NPC_WARMAGE_SARINA:
+ {
+ std::list<Creature*> orbList;
GetCreatureListWithEntryInGrid(orbList, m_creature, NPC_TRANSITUS_SHIELD_DUMMY, 32.0f);
if (!orbList.empty())
{
- for (std::list<Creature*>::iterator itr = orbList.begin(); itr != orbList.end(); ++itr)
+ for (std::list<Creature*>::const_iterator itr = orbList.begin(); itr != orbList.end(); ++itr)
{
if (Creature* pOrb = *itr)
if (pOrb->GetPositionY() < 1000)
@@ -80,6 +81,7 @@ struct npc_warmage_violetstandAI : public Scripted_NoMovementAI
}
}
m_uiTimer = 90000;
+ }
break;
case NPC_WARMAGE_HALISTER:
case NPC_WARMAGE_ILSUDRIA:
diff --git a/src/scripts/northrend/draktharon_keep/boss_novos.cpp b/src/scripts/northrend/draktharon_keep/boss_novos.cpp
index 0113c21ae99..0188228ee61 100644
--- a/src/scripts/northrend/draktharon_keep/boss_novos.cpp
+++ b/src/scripts/northrend/draktharon_keep/boss_novos.cpp
@@ -106,7 +106,7 @@ struct boss_novosAI : public Scripted_NoMovementAI
luiCrystals.push_back(pInstance->GetData64(DATA_NOVOS_CRYSTAL_2));
luiCrystals.push_back(pInstance->GetData64(DATA_NOVOS_CRYSTAL_3));
luiCrystals.push_back(pInstance->GetData64(DATA_NOVOS_CRYSTAL_4));
- for (std::list<uint64>::iterator itr = luiCrystals.begin(); itr != luiCrystals.end(); ++itr)
+ for (std::list<uint64>::const_iterator itr = luiCrystals.begin(); itr != luiCrystals.end(); ++itr)
{
if (GameObject* pTemp = pInstance->instance->GetGameObject(*itr))
pTemp->SetGoState(GO_STATE_READY);
@@ -123,7 +123,7 @@ struct boss_novosAI : public Scripted_NoMovementAI
DoCast(SPELL_ARCANE_FIELD);
if (pInstance)
{
- for (std::list<uint64>::iterator itr = luiCrystals.begin(); itr != luiCrystals.end(); ++itr)
+ for (std::list<uint64>::const_iterator itr = luiCrystals.begin(); itr != luiCrystals.end(); ++itr)
{
if (GameObject *pTemp = pInstance->instance->GetGameObject(*itr))
pTemp->SetGoState(GO_STATE_ACTIVE);
diff --git a/src/scripts/northrend/draktharon_keep/boss_tharon_ja.cpp b/src/scripts/northrend/draktharon_keep/boss_tharon_ja.cpp
index e117161dc0b..1e6521b1b03 100644
--- a/src/scripts/northrend/draktharon_keep/boss_tharon_ja.cpp
+++ b/src/scripts/northrend/draktharon_keep/boss_tharon_ja.cpp
@@ -147,7 +147,7 @@ struct boss_tharon_jaAI : public ScriptedAI
DoScriptText(RAND(SAY_FLESH_1,SAY_FLESH_2),m_creature);
m_creature->SetDisplayId(MODEL_FLESH);
std::list<HostileReference*>& threatlist = m_creature->getThreatManager().getThreatList();
- for (std::list<HostileReference*>::iterator itr = threatlist.begin(); itr != threatlist.end(); ++itr)
+ for (std::list<HostileReference*>::const_iterator itr = threatlist.begin(); itr != threatlist.end(); ++itr)
{
Unit *pTemp = Unit::GetUnit((*m_creature),(*itr)->getUnitGuid());
if (pTemp && pTemp->GetTypeId() == TYPEID_PLAYER)
@@ -203,7 +203,7 @@ struct boss_tharon_jaAI : public ScriptedAI
uiRainOfFireTimer = urand(14*IN_MILISECONDS,18*IN_MILISECONDS);
uiShadowVolleyTimer = urand(8*IN_MILISECONDS,10*IN_MILISECONDS);
std::list<HostileReference*>& threatlist = m_creature->getThreatManager().getThreatList();
- for (std::list<HostileReference*>::iterator itr = threatlist.begin(); itr != threatlist.end(); ++itr)
+ for (std::list<HostileReference*>::const_iterator itr = threatlist.begin(); itr != threatlist.end(); ++itr)
{
Unit *pTemp = Unit::GetUnit((*m_creature),(*itr)->getUnitGuid());
if (pTemp && pTemp->GetTypeId() == TYPEID_PLAYER)
diff --git a/src/scripts/northrend/grizzly_hills.cpp b/src/scripts/northrend/grizzly_hills.cpp
index a6c575d2e54..980c54df617 100644
--- a/src/scripts/northrend/grizzly_hills.cpp
+++ b/src/scripts/northrend/grizzly_hills.cpp
@@ -150,17 +150,14 @@ enum eFloppy
struct npc_emilyAI : public npc_escortAI
{
npc_emilyAI(Creature* pCreature) : npc_escortAI(pCreature) { }
-
+
uint32 m_uiChatTimer;
-
+
uint64 RWORGGUID;
uint64 MrfloppyGUID;
-
- Creature* Mrfloppy;
- Creature* RWORG;
+
bool Completed;
-
-
+
void JustSummoned(Creature* pSummoned)
{
if (Creature* Mrfloppy = GetClosestCreatureWithEntry(m_creature, NPC_MRFLOPPY, 50.0f))
@@ -168,7 +165,7 @@ struct npc_emilyAI : public npc_escortAI
else
pSummoned->AI()->AttackStart(m_creature->getVictim());
}
-
+
void WaypointReached(uint32 i)
{
Player* pPlayer = GetPlayerForEscort();
@@ -177,57 +174,77 @@ struct npc_emilyAI : public npc_escortAI
switch (i)
{
case 9:
- Mrfloppy = GetClosestCreatureWithEntry(m_creature, NPC_MRFLOPPY, 100.0f);
+ if (Creature *Mrfloppy = GetClosestCreatureWithEntry(m_creature, NPC_MRFLOPPY, 100.0f))
+ MrfloppyGUID = Mrfloppy->GetGUID();
break;
case 10:
- if (Mrfloppy)
+ if (Creature *Mrfloppy = Unit::GetCreature(*m_creature, MrfloppyGUID))
{
DoScriptText(SAY_WORGHAGGRO1, m_creature);
m_creature->SummonCreature(NPC_HUNGRY_WORG,m_creature->GetPositionX()+5,m_creature->GetPositionY()+2,m_creature->GetPositionZ()+1,3.229f,TEMPSUMMON_TIMED_OR_DEAD_DESPAWN,120000);
}
break;
case 11:
- Mrfloppy->GetMotionMaster()->MoveFollow(m_creature, PET_FOLLOW_DIST, PET_FOLLOW_ANGLE);
+ if (Creature *Mrfloppy = Unit::GetCreature(*m_creature, MrfloppyGUID))
+ Mrfloppy->GetMotionMaster()->MoveFollow(m_creature, PET_FOLLOW_DIST, PET_FOLLOW_ANGLE);
break;
case 17:
- Mrfloppy->GetMotionMaster()->MovePoint(0, m_creature->GetPositionX(), m_creature->GetPositionY(), m_creature->GetPositionZ());
+ if (Creature *Mrfloppy = Unit::GetCreature(*m_creature, MrfloppyGUID))
+ Mrfloppy->GetMotionMaster()->MovePoint(0, m_creature->GetPositionX(), m_creature->GetPositionY(), m_creature->GetPositionZ());
DoScriptText(SAY_WORGRAGGRO3, m_creature);
- RWORG = m_creature->SummonCreature(NPC_RAVENOUS_WORG,m_creature->GetPositionX()+10,m_creature->GetPositionY()+8,m_creature->GetPositionZ()+2,3.229f,TEMPSUMMON_TIMED_OR_DEAD_DESPAWN,120000);
- RWORG->setFaction(35);
+ if (Creature *RWORG = m_creature->SummonCreature(NPC_RAVENOUS_WORG,m_creature->GetPositionX()+10,m_creature->GetPositionY()+8,m_creature->GetPositionZ()+2,3.229f,TEMPSUMMON_TIMED_OR_DEAD_DESPAWN,120000))
+ {
+ RWORG->setFaction(35);
+ RWORGGUID = RWORG->GetGUID();
+ }
break;
case 18:
- if (Mrfloppy)
+ if (Creature *Mrfloppy = Unit::GetCreature(*m_creature, MrfloppyGUID))
{
- RWORG->GetMotionMaster()->MovePoint(0, Mrfloppy->GetPositionX(), Mrfloppy->GetPositionY(), Mrfloppy->GetPositionZ());
+ if (Creature *RWORG = Unit::GetCreature(*m_creature, RWORGGUID))
+ RWORG->GetMotionMaster()->MovePoint(0, Mrfloppy->GetPositionX(), Mrfloppy->GetPositionY(), Mrfloppy->GetPositionZ());
DoCast(Mrfloppy,SPELL_MRFLOPPY);
}
break;
case 19:
- if (Mrfloppy->HasAura(SPELL_MRFLOPPY, 0))
- Mrfloppy->EnterVehicle(RWORG);
+ if (Creature *Mrfloppy = Unit::GetCreature(*m_creature, MrfloppyGUID))
+ {
+ if (Mrfloppy->HasAura(SPELL_MRFLOPPY, 0))
+ {
+ if (Creature *RWORG = Unit::GetCreature(*m_creature, RWORGGUID))
+ Mrfloppy->EnterVehicle(RWORG);
+ }
+ }
break;
case 20:
- if (Mrfloppy)
+ if (Creature *RWORG = Unit::GetCreature(*m_creature, RWORGGUID))
RWORG->HandleEmoteCommand(34);
break;
case 21:
- if (Mrfloppy)
+ if (Creature *Mrfloppy = Unit::GetCreature(*m_creature, MrfloppyGUID))
{
- RWORG->Kill(Mrfloppy);
- Mrfloppy->ExitVehicle();
- RWORG->setFaction(14);
- RWORG->GetMotionMaster()->MovePoint(0, RWORG->GetPositionX()+10,RWORG->GetPositionY()+80,RWORG->GetPositionZ());
- DoScriptText(SAY_VICTORY2, m_creature);
+ if (Creature *RWORG = Unit::GetCreature(*m_creature, RWORGGUID))
+ {
+ RWORG->Kill(Mrfloppy);
+ Mrfloppy->ExitVehicle();
+ RWORG->setFaction(14);
+ RWORG->GetMotionMaster()->MovePoint(0, RWORG->GetPositionX()+10,RWORG->GetPositionY()+80,RWORG->GetPositionZ());
+ DoScriptText(SAY_VICTORY2, m_creature);
+ }
}
break;
case 22:
- if (Mrfloppy && Mrfloppy->isDead())
+ if (Creature *Mrfloppy = Unit::GetCreature(*m_creature, MrfloppyGUID))
{
- RWORG->DisappearAndDie();
- m_creature->GetMotionMaster()->MovePoint(0, Mrfloppy->GetPositionX(), Mrfloppy->GetPositionY(), Mrfloppy->GetPositionZ());
- Mrfloppy->setDeathState(ALIVE);
- Mrfloppy->GetMotionMaster()->MoveFollow(m_creature, PET_FOLLOW_DIST, PET_FOLLOW_ANGLE);
- DoScriptText(SAY_VICTORY3, m_creature);
+ if (Mrfloppy->isDead())
+ {
+ if (Creature *RWORG = Unit::GetCreature(*m_creature, RWORGGUID))
+ RWORG->DisappearAndDie();
+ m_creature->GetMotionMaster()->MovePoint(0, Mrfloppy->GetPositionX(), Mrfloppy->GetPositionY(), Mrfloppy->GetPositionZ());
+ Mrfloppy->setDeathState(ALIVE);
+ Mrfloppy->GetMotionMaster()->MoveFollow(m_creature, PET_FOLLOW_DIST, PET_FOLLOW_ANGLE);
+ DoScriptText(SAY_VICTORY3, m_creature);
+ }
}
break;
case 24:
@@ -244,28 +261,28 @@ struct npc_emilyAI : public npc_escortAI
break;
case 27:
m_creature->DisappearAndDie();
- if (Mrfloppy)
+ if (Creature *Mrfloppy = Unit::GetCreature(*m_creature, MrfloppyGUID))
Mrfloppy->DisappearAndDie();
break;
}
}
-
+
void EnterCombat(Unit* Who)
{
DoScriptText(SAY_RANDOMAGGRO, m_creature);
}
-
+
void Reset()
{
m_uiChatTimer = 4000;
- Mrfloppy = NULL;
- RWORG = NULL;
+ MrfloppyGUID = 0;
+ RWORGGUID = 0;
}
-
+
void UpdateAI(const uint32 uiDiff)
{
npc_escortAI::UpdateAI(uiDiff);
-
+
if (HasEscortState(STATE_ESCORT_ESCORTING))
{
if (m_uiChatTimer <= uiDiff)
@@ -278,7 +295,6 @@ struct npc_emilyAI : public npc_escortAI
}
};
-
bool QuestAccept_npc_emily(Player* pPlayer, Creature* pCreature, Quest const* quest)
{
if (quest->GetQuestId() == QUEST_PERILOUS_ADVENTURE)
@@ -305,23 +321,13 @@ CreatureAI* GetAI_npc_emily(Creature* pCreature)
struct npc_mrfloppyAI : public ScriptedAI
{
npc_mrfloppyAI(Creature *c) : ScriptedAI(c) {}
-
+
uint64 EmilyGUID;
uint64 RWORGGUID;
uint64 HWORGGUID;
-
- Creature* HWORG;
- Creature* RWORG;
-
- Creature* Emily;
-
- void Reset()
- {
- HWORG = NULL;
- RWORG = NULL;
- Emily = NULL;
- }
-
+
+ void Reset() {}
+
void EnterCombat(Unit* Who)
{
if (Creature* Emily = GetClosestCreatureWithEntry(m_creature, NPC_EMILY, 50.0f))
@@ -339,11 +345,11 @@ struct npc_mrfloppyAI : public ScriptedAI
}
}
}
-
+
void EnterEvadeMode() {}
-
+
void MoveInLineOfSight(Unit *who) {}
-
+
void UpdateAI(const uint32 diff)
{
if (!UpdateVictim())
diff --git a/src/scripts/northrend/naxxramas/boss_kelthuzad.cpp b/src/scripts/northrend/naxxramas/boss_kelthuzad.cpp
index 7aad876e56c..c6354a8e0ba 100644
--- a/src/scripts/northrend/naxxramas/boss_kelthuzad.cpp
+++ b/src/scripts/northrend/naxxramas/boss_kelthuzad.cpp
@@ -281,7 +281,7 @@ struct boss_kelthuzadAI : public BossAI
me->setFaction(35);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_DISABLE_MOVE | UNIT_FLAG_NOT_SELECTABLE);
- std::map<uint64, float>::iterator itr;
+ std::map<uint64, float>::const_iterator itr;
for (itr = chained.begin(); itr != chained.end(); ++itr)
{
if (Player* charmed = Unit::GetPlayer((*itr).first))
@@ -326,7 +326,7 @@ struct boss_kelthuzadAI : public BossAI
_JustDied();
DoScriptText(SAY_DEATH, m_creature);
- std::map<uint64, float>::iterator itr;
+ std::map<uint64, float>::const_iterator itr;
for (itr = chained.begin(); itr != chained.end(); ++itr)
{
if (Player* pPlayer = Unit::GetPlayer((*itr).first))
@@ -573,7 +573,7 @@ struct boss_kelthuzadAI : public BossAI
}
}
}
- itr++;
+ ++itr;
}
if (chained.empty())
@@ -597,7 +597,7 @@ struct boss_kelthuzadAI : public BossAI
if (!unitList.empty())
{
- std::vector<Unit*>::iterator itr = unitList.begin();
+ std::vector<Unit*>::const_iterator itr = unitList.begin();
advance(itr, rand()%unitList.size());
DoCast(*itr, SPELL_MANA_DETONATION);
DoScriptText(RAND(SAY_SPECIAL_1,SAY_SPECIAL_2,SAY_SPECIAL_3), me);
diff --git a/src/scripts/northrend/naxxramas/boss_patchwerk.cpp b/src/scripts/northrend/naxxramas/boss_patchwerk.cpp
index 438e0f91ec8..86b05e30505 100644
--- a/src/scripts/northrend/naxxramas/boss_patchwerk.cpp
+++ b/src/scripts/northrend/naxxramas/boss_patchwerk.cpp
@@ -111,7 +111,7 @@ struct boss_patchwerkAI : public BossAI
//amount of HP within melee distance
uint32 MostHP = 0;
Unit* pMostHPTarget = NULL;
- std::list<HostileReference*>::iterator i = me->getThreatManager().getThreatList().begin();
+ std::list<HostileReference*>::const_iterator i = me->getThreatManager().getThreatList().begin();
for (; i != me->getThreatManager().getThreatList().end(); ++i)
{
Unit *pTarget = (*i)->getTarget();
diff --git a/src/scripts/northrend/naxxramas/boss_sapphiron.cpp b/src/scripts/northrend/naxxramas/boss_sapphiron.cpp
index 9a613a7583e..00a9762c431 100644
--- a/src/scripts/northrend/naxxramas/boss_sapphiron.cpp
+++ b/src/scripts/northrend/naxxramas/boss_sapphiron.cpp
@@ -202,7 +202,7 @@ struct boss_sapphironAI : public BossAI
void ClearIceBlock()
{
- for (IceBlockMap::iterator itr = iceblocks.begin(); itr != iceblocks.end(); ++itr)
+ for (IceBlockMap::const_iterator itr = iceblocks.begin(); itr != iceblocks.end(); ++itr)
{
if (Player* pPlayer = Unit::GetPlayer(itr->first))
pPlayer->RemoveAura(SPELL_ICEBOLT);
@@ -291,7 +291,7 @@ struct boss_sapphironAI : public BossAI
case EVENT_ICEBOLT:
{
std::vector<Unit*> targets;
- std::list<HostileReference*>::iterator i = me->getThreatManager().getThreatList().begin();
+ std::list<HostileReference*>::const_iterator i = me->getThreatManager().getThreatList().begin();
for (; i != me->getThreatManager().getThreatList().end(); ++i)
if ((*i)->getTarget()->GetTypeId() == TYPEID_PLAYER && !(*i)->getTarget()->HasAura(SPELL_ICEBOLT))
targets.push_back((*i)->getTarget());
@@ -300,7 +300,7 @@ struct boss_sapphironAI : public BossAI
iceboltCount = 0;
else
{
- std::vector<Unit*>::iterator itr = targets.begin();
+ std::vector<Unit*>::const_iterator itr = targets.begin();
advance(itr, rand()%targets.size());
iceblocks.insert(std::make_pair((*itr)->GetGUID(), 0));
DoCast(*itr, SPELL_ICEBOLT);
@@ -348,7 +348,7 @@ struct boss_sapphironAI : public BossAI
{
DoZoneInCombat(); // make sure everyone is in threatlist
std::vector<Unit*> targets;
- std::list<HostileReference*>::iterator i = me->getThreatManager().getThreatList().begin();
+ std::list<HostileReference*>::const_iterator i = me->getThreatManager().getThreatList().begin();
for (; i != me->getThreatManager().getThreatList().end(); ++i)
{
Unit *pTarget = (*i)->getTarget();
@@ -362,7 +362,7 @@ struct boss_sapphironAI : public BossAI
continue;
}
- for (IceBlockMap::iterator itr = iceblocks.begin(); itr != iceblocks.end(); ++itr)
+ for (IceBlockMap::const_iterator itr = iceblocks.begin(); itr != iceblocks.end(); ++itr)
{
if (GameObject* pGo = GameObject::GetGameObject(*me, itr->second))
{
@@ -379,7 +379,7 @@ struct boss_sapphironAI : public BossAI
me->CastSpell(me, SPELL_FROST_EXPLOSION, true);
- for (std::vector<Unit*>::iterator itr = targets.begin(); itr != targets.end(); ++itr)
+ for (std::vector<Unit*>::const_iterator itr = targets.begin(); itr != targets.end(); ++itr)
(*itr)->ApplySpellImmune(0, IMMUNITY_ID, SPELL_FROST_EXPLOSION, false);
}
};
diff --git a/src/scripts/northrend/nexus/nexus/boss_keristrasza.cpp b/src/scripts/northrend/nexus/nexus/boss_keristrasza.cpp
index bb020c911b2..541466fc238 100644
--- a/src/scripts/northrend/nexus/nexus/boss_keristrasza.cpp
+++ b/src/scripts/northrend/nexus/nexus/boss_keristrasza.cpp
@@ -161,7 +161,7 @@ struct boss_keristraszaAI : public ScriptedAI
if (uiCheckIntenseColdTimer < diff && !bMoreThanTwoIntenseCold)
{
std::list<HostileReference*> ThreatList = m_creature->getThreatManager().getThreatList();
- for (std::list<HostileReference*>::const_iterator itr = ThreatList.begin(); itr != ThreatList.end(); itr++)
+ for (std::list<HostileReference*>::const_iterator itr = ThreatList.begin(); itr != ThreatList.end(); ++itr)
{
Unit *pTarget = Unit::GetUnit(*m_creature, (*itr)->getUnitGuid());
if (!pTarget || pTarget->GetTypeId() != TYPEID_PLAYER)
diff --git a/src/scripts/northrend/nexus/nexus/boss_ormorok.cpp b/src/scripts/northrend/nexus/nexus/boss_ormorok.cpp
index 3db2021ebf2..20d38148ee9 100644
--- a/src/scripts/northrend/nexus/nexus/boss_ormorok.cpp
+++ b/src/scripts/northrend/nexus/nexus/boss_ormorok.cpp
@@ -179,7 +179,7 @@ struct boss_ormorokAI : public ScriptedAI
case 3: Healer = CLASS_DRUID; break;
case 4: Healer = CLASS_SHAMAN; break;
}
- std::list<HostileReference*>::iterator i = m_creature->getThreatManager().getThreatList().begin();
+ std::list<HostileReference*>::const_iterator i = m_creature->getThreatManager().getThreatList().begin();
for (; i != m_creature->getThreatManager().getThreatList().end(); ++i)
{
Unit* pTemp = Unit::GetUnit((*m_creature),(*i)->getUnitGuid());
diff --git a/src/scripts/northrend/ulduar/halls_of_lightning/boss_ionar.cpp b/src/scripts/northrend/ulduar/halls_of_lightning/boss_ionar.cpp
index 0c025eaaa0e..c3d3656d9be 100644
--- a/src/scripts/northrend/ulduar/halls_of_lightning/boss_ionar.cpp
+++ b/src/scripts/northrend/ulduar/halls_of_lightning/boss_ionar.cpp
@@ -152,7 +152,7 @@ struct boss_ionarAI : public ScriptedAI
if (m_lSparkGUIDList.empty())
return;
- for (std::list<uint64>::iterator itr = m_lSparkGUIDList.begin(); itr != m_lSparkGUIDList.end(); ++itr)
+ for (std::list<uint64>::const_iterator itr = m_lSparkGUIDList.begin(); itr != m_lSparkGUIDList.end(); ++itr)
{
if (Creature* pTemp = m_creature->GetMap()->GetCreature(*itr))
{
@@ -173,7 +173,7 @@ struct boss_ionarAI : public ScriptedAI
Position pos;
m_creature->GetPosition(&pos);
- for (std::list<uint64>::iterator itr = m_lSparkGUIDList.begin(); itr != m_lSparkGUIDList.end(); ++itr)
+ for (std::list<uint64>::const_iterator itr = m_lSparkGUIDList.begin(); itr != m_lSparkGUIDList.end(); ++itr)
{
if (Creature* pSpark = Unit::GetCreature(*m_creature, *itr))
{
diff --git a/src/scripts/northrend/ulduar/halls_of_lightning/boss_volkhan.cpp b/src/scripts/northrend/ulduar/halls_of_lightning/boss_volkhan.cpp
index 0401d566c89..7ca5ca16e71 100644
--- a/src/scripts/northrend/ulduar/halls_of_lightning/boss_volkhan.cpp
+++ b/src/scripts/northrend/ulduar/halls_of_lightning/boss_volkhan.cpp
@@ -169,7 +169,7 @@ struct boss_volkhanAI : public ScriptedAI
if (m_lGolemGUIDList.empty())
return;
- for (std::list<uint64>::iterator itr = m_lGolemGUIDList.begin(); itr != m_lGolemGUIDList.end(); ++itr)
+ for (std::list<uint64>::const_iterator itr = m_lGolemGUIDList.begin(); itr != m_lGolemGUIDList.end(); ++itr)
{
if (Creature* pTemp = Unit::GetCreature(*m_creature, *itr))
{
@@ -186,7 +186,7 @@ struct boss_volkhanAI : public ScriptedAI
if (m_lGolemGUIDList.empty())
return;
- for (std::list<uint64>::iterator itr = m_lGolemGUIDList.begin(); itr != m_lGolemGUIDList.end(); ++itr)
+ for (std::list<uint64>::const_iterator itr = m_lGolemGUIDList.begin(); itr != m_lGolemGUIDList.end(); ++itr)
{
if (Creature* pTemp = Unit::GetCreature(*m_creature, *itr))
{
diff --git a/src/scripts/northrend/ulduar/halls_of_stone/halls_of_stone.cpp b/src/scripts/northrend/ulduar/halls_of_stone/halls_of_stone.cpp
index 9a8b711363a..f62f8f9b499 100644
--- a/src/scripts/northrend/ulduar/halls_of_stone/halls_of_stone.cpp
+++ b/src/scripts/northrend/ulduar/halls_of_stone/halls_of_stone.cpp
@@ -162,7 +162,7 @@ struct mob_tribuna_controllerAI : public ScriptedAI
if (!lKaddrakGUIDList.empty())
{
uint32 uiPositionCounter = 0;
- for (std::list<Creature*>::iterator itr = lKaddrakGUIDList.begin(); itr != lKaddrakGUIDList.end(); ++itr)
+ for (std::list<Creature*>::const_iterator itr = lKaddrakGUIDList.begin(); itr != lKaddrakGUIDList.end(); ++itr)
{
if ((*itr)->isAlive())
{
@@ -277,7 +277,7 @@ struct npc_brann_hosAI : public npc_escortAI
{
if (lDwarfGUIDList.empty())
return;
- for (std::list<uint64>::iterator itr = lDwarfGUIDList.begin(); itr != lDwarfGUIDList.end(); ++itr)
+ for (std::list<uint64>::const_iterator itr = lDwarfGUIDList.begin(); itr != lDwarfGUIDList.end(); ++itr)
{
Creature* pTemp = Unit::GetCreature(*m_creature, pInstance ? (*itr) : 0);
if (pTemp && pTemp->isAlive())
diff --git a/src/scripts/northrend/ulduar/ulduar/boss_algalon.cpp b/src/scripts/northrend/ulduar/ulduar/boss_algalon.cpp
index 5ba5d011d1e..842c4599f69 100644
--- a/src/scripts/northrend/ulduar/ulduar/boss_algalon.cpp
+++ b/src/scripts/northrend/ulduar/ulduar/boss_algalon.cpp
@@ -166,7 +166,7 @@ struct boss_algalonAI : public ScriptedAI
if (m_lCollapsingStarGUIDList.empty())
return;
- for(std::list<uint64>::iterator itr = m_lCollapsingStarGUIDList.begin(); itr != m_lCollapsingStarGUIDList.end(); ++itr)
+ for(std::list<uint64>::const_iterator itr = m_lCollapsingStarGUIDList.begin(); itr != m_lCollapsingStarGUIDList.end(); ++itr)
{
if (Creature* pTemp = Unit::GetCreature(*m_creature, *itr))
{
diff --git a/src/scripts/northrend/ulduar/ulduar/boss_razorscale.cpp b/src/scripts/northrend/ulduar/ulduar/boss_razorscale.cpp
index 283dee2afdc..34893d2dd41 100644
--- a/src/scripts/northrend/ulduar/ulduar/boss_razorscale.cpp
+++ b/src/scripts/northrend/ulduar/ulduar/boss_razorscale.cpp
@@ -187,7 +187,7 @@ struct boss_razorscaleAI : public BossAI
std::list<Unit*> pTargets;
SelectTargetList(pTargets, RAID_MODE(3,9), SELECT_TARGET_RANDOM, 100, true);
uint8 i = 0;
- for (std::list<Unit*>::iterator itr = pTargets.begin(); itr != pTargets.end();)
+ for (std::list<Unit*>::const_iterator itr = pTargets.begin(); itr != pTargets.end();)
{
if (m_creature->HasInArc(M_PI, *itr))
{
diff --git a/src/scripts/northrend/violet_hold/boss_ichoron.cpp b/src/scripts/northrend/violet_hold/boss_ichoron.cpp
index 0c470d2968e..65eaec5b634 100644
--- a/src/scripts/northrend/violet_hold/boss_ichoron.cpp
+++ b/src/scripts/northrend/violet_hold/boss_ichoron.cpp
@@ -236,7 +236,7 @@ struct boss_ichoronAI : public ScriptedAI
bool bIsWaterElementsAlive = false;
if (!m_waterElements.empty())
{
- for (std::list<uint64>::iterator itr = m_waterElements.begin(); itr != m_waterElements.end(); ++itr)
+ for (std::list<uint64>::const_iterator itr = m_waterElements.begin(); itr != m_waterElements.end(); ++itr)
if (Creature* pTemp = Unit::GetCreature(*m_creature, *itr))
if (pTemp->isAlive())
{
diff --git a/src/scripts/northrend/violet_hold/boss_xevozz.cpp b/src/scripts/northrend/violet_hold/boss_xevozz.cpp
index 7b5461ca11c..58bc0644c71 100644
--- a/src/scripts/northrend/violet_hold/boss_xevozz.cpp
+++ b/src/scripts/northrend/violet_hold/boss_xevozz.cpp
@@ -100,7 +100,7 @@ struct boss_xevozzAI : public ScriptedAI
if (assistList.empty())
return;
- for(std::list<Creature*>::iterator iter = assistList.begin(); iter != assistList.end(); ++iter)
+ for(std::list<Creature*>::const_iterator iter = assistList.begin(); iter != assistList.end(); ++iter)
{
if (Creature* pSphere = *iter)
pSphere->Kill(pSphere, false);
diff --git a/src/scripts/northrend/violet_hold/violet_hold.cpp b/src/scripts/northrend/violet_hold/violet_hold.cpp
index 50bc441f688..16c53b937e9 100644
--- a/src/scripts/northrend/violet_hold/violet_hold.cpp
+++ b/src/scripts/northrend/violet_hold/violet_hold.cpp
@@ -105,7 +105,7 @@ struct npc_sinclariAI : public ScriptedAI
std::list<Creature*> GuardList;
m_creature->GetCreatureListWithEntryInGrid(GuardList, NPC_VIOLET_HOLD_GUARD, 40.0f);
if (!GuardList.empty())
- for (std::list<Creature*>::iterator itr = GuardList.begin(); itr != GuardList.end(); ++itr)
+ for (std::list<Creature*>::const_iterator itr = GuardList.begin(); itr != GuardList.end(); ++itr)
{
if (Creature* pGuard = *itr)
{
@@ -122,7 +122,7 @@ struct npc_sinclariAI : public ScriptedAI
std::list<Creature*> GuardList;
m_creature->GetCreatureListWithEntryInGrid(GuardList, NPC_VIOLET_HOLD_GUARD, 40.0f);
if (!GuardList.empty())
- for (std::list<Creature*>::iterator itr = GuardList.begin(); itr != GuardList.end(); ++itr)
+ for (std::list<Creature*>::const_iterator itr = GuardList.begin(); itr != GuardList.end(); ++itr)
{
if (Creature* pGuard = *itr)
{
diff --git a/src/scripts/northrend/zuldrak.cpp b/src/scripts/northrend/zuldrak.cpp
index 359a7389f3a..0dbedc2d22f 100644
--- a/src/scripts/northrend/zuldrak.cpp
+++ b/src/scripts/northrend/zuldrak.cpp
@@ -37,11 +37,11 @@ struct npc_drakuru_shacklesAI : public ScriptedAI
{
npc_drakuru_shacklesAI(Creature* pCreature) : ScriptedAI(pCreature) {}
- Unit* Rageclaw;
+ uint64 RageclawGUID;
void Reset()
{
- Rageclaw = NULL;
+ RageclawGUID = 0;
m_creature->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
float x, y, z;
@@ -50,13 +50,15 @@ struct npc_drakuru_shacklesAI : public ScriptedAI
if (Unit* summon = m_creature->SummonCreature(NPC_RAGECLAW, x, y, z,
0, TEMPSUMMON_DEAD_DESPAWN, 1000))
{
- Rageclaw = summon;
+ RageclawGUID = summon->GetGUID();
LockRageclaw();
}
}
void LockRageclaw()
{
+ Unit *Rageclaw = Unit::GetCreature(*m_creature, RageclawGUID);
+ // pointer check not needed
m_creature->SetInFront(Rageclaw);
Rageclaw->SetInFront(m_creature);
@@ -69,6 +71,8 @@ struct npc_drakuru_shacklesAI : public ScriptedAI
if (!pWho)
return;
+ Creature *Rageclaw = Unit::GetCreature(*m_creature, RageclawGUID);
+ // pointer check not needed
DoCast(Rageclaw, SPELL_FREE_RAGECLAW, true);
m_creature->setDeathState(DEAD);
@@ -78,7 +82,7 @@ struct npc_drakuru_shacklesAI : public ScriptedAI
{
if (pSpell->Id == SPELL_UNLOCK_SHACKLE)
{
- if (Rageclaw)
+ if (Creature *Rageclaw = Unit::GetCreature(*m_creature, RageclawGUID))
UnlockRageclaw(pCaster);
else
m_creature->setDeathState(JUST_DIED);
@@ -240,10 +244,9 @@ struct npc_gurgthockAI : public ScriptedAI
{
npc_gurgthockAI(Creature* pCreature) : ScriptedAI(pCreature)
{
- pSummon = NULL;
}
- Unit* pSummon;
+ uint64 SummonGUID;
std::list<uint64> SummonList;
@@ -257,6 +260,7 @@ struct npc_gurgthockAI : public ScriptedAI
void Reset()
{
+ SummonGUID = 0;
m_creature->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER);
uiTimer = 0;
uiPhase = 0;
@@ -275,7 +279,7 @@ struct npc_gurgthockAI : public ScriptedAI
m_creature->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER);
- for(std::list<uint64>::iterator itr = SummonList.begin(); itr != SummonList.end(); ++itr)
+ for(std::list<uint64>::const_iterator itr = SummonList.begin(); itr != SummonList.end(); ++itr)
{
if (Creature* pTemp = Unit::GetCreature(*m_creature, *itr))
if (pTemp)
@@ -344,15 +348,16 @@ struct npc_gurgthockAI : public ScriptedAI
switch(uiPhase)
{
case 1:
- pSummon = m_creature->SummonCreature(NPC_ORINOKO_TUSKBREAKER, SpawnPosition[0], TEMPSUMMON_CORPSE_DESPAWN, 1000);
+ if (Creature *pSummon = m_creature->SummonCreature(NPC_ORINOKO_TUSKBREAKER, SpawnPosition[0], TEMPSUMMON_CORPSE_DESPAWN, 1000))
+ SummonGUID = pSummon->GetGUID();
uiPhase = 2;
uiTimer = 4000;
break;
case 2:
- if (pSummon)
+ if (Creature *pSummon = Unit::GetCreature(*m_creature, SummonGUID))
pSummon->GetMotionMaster()->MoveJump(5776.319824, -2981.005371, 273.100037, 10.0f, 20.0f);
uiPhase = 0;
- pSummon = NULL;
+ SummonGUID = 0;
break;
case 3:
DoScriptText(SAY_QUEST_ACCEPT_KORRAK_2, m_creature);
@@ -360,7 +365,8 @@ struct npc_gurgthockAI : public ScriptedAI
uiPhase = 4;
break;
case 4:
- pSummon = m_creature->SummonCreature(NPC_KORRAK_BLOODRAGER, SpawnPosition[0], TEMPSUMMON_CORPSE_DESPAWN, 1000);
+ if (Creature *pSummon = m_creature->SummonCreature(NPC_KORRAK_BLOODRAGER, SpawnPosition[0], TEMPSUMMON_CORPSE_DESPAWN, 1000))
+ SummonGUID = pSummon->GetGUID();
uiTimer = 3000;
uiPhase = 0;
break;
@@ -454,7 +460,7 @@ struct npc_orinoko_tuskbreakerAI : public ScriptedAI
uint32 uiBattleShoutTimer;
uint32 uiFishyScentTimer;
- Unit* pAffected;
+ uint64 AffectedGUID;
uint64 uiWhisker;
void Reset()
@@ -465,7 +471,7 @@ struct npc_orinoko_tuskbreakerAI : public ScriptedAI
uiBattleShoutTimer = 0;
uiFishyScentTimer = 20000;
uiWhisker = 0;
- pAffected = NULL;
+ AffectedGUID = 0;
}
void EnterEvadeMode()
@@ -509,8 +515,11 @@ struct npc_orinoko_tuskbreakerAI : public ScriptedAI
if (uiFishyScentTimer <= uiDiff)
{
- if (pAffected = SelectUnit(SELECT_TARGET_RANDOM,0))
+ if (Unit *pAffected = SelectUnit(SELECT_TARGET_RANDOM,0))
+ {
DoCast(pAffected, SPELL_FISHY_SCENT);
+ AffectedGUID = pAffected->GetGUID();
+ }
uiFishyScentTimer = 20000;
} else uiFishyScentTimer -= uiDiff;
@@ -535,8 +544,11 @@ struct npc_orinoko_tuskbreakerAI : public ScriptedAI
pSummon->AI()->AttackStart(m_creature->getVictim());
break;
case NPC_HUNGRY_PENGUIN:
- if (pAffected && pAffected->isAlive())
- pSummon->AI()->AttackStart(pAffected);
+ if(Unit *pAffected = Unit::GetUnit(*m_creature, AffectedGUID))
+ {
+ if (pAffected->isAlive())
+ pSummon->AI()->AttackStart(pAffected);
+ }
break;
}
}