aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormegamage <none@none>2009-04-11 15:03:34 -0500
committermegamage <none@none>2009-04-11 15:03:34 -0500
commitd697fbd158657cf6b708b186b73d277d46924a1d (patch)
treea7fa029f1e0e3fe9dd5628eea0f54df42ce6a7b0 /src
parentccd9f4eeb249378ed4e966e54d6f08f0c5288cce (diff)
parent9378a9cf211021c7a285026307f3a5f03af430dd (diff)
*Merge.
--HG-- branch : trunk
Diffstat (limited to 'src')
-rw-r--r--src/bindings/scripts/include/sc_creature.cpp4
-rw-r--r--src/bindings/scripts/scripts/npc/npcs_special.cpp8
-rw-r--r--src/bindings/scripts/scripts/zone/arathi_highlands/arathi_highlands.cpp4
-rw-r--r--src/bindings/scripts/scripts/zone/ashenvale_forest/ashenvale.cpp8
-rw-r--r--src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/instance_shadow_labyrinth.cpp4
-rw-r--r--src/bindings/scripts/scripts/zone/azshara/azshara.cpp2
-rw-r--r--src/bindings/scripts/scripts/zone/azuremyst_isle/azuremyst_isle.cpp4
-rw-r--r--src/bindings/scripts/scripts/zone/barrens/the_barrens.cpp16
-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.cpp4
-rw-r--r--src/bindings/scripts/scripts/zone/black_temple/boss_shade_of_akama.cpp14
-rw-r--r--src/bindings/scripts/scripts/zone/black_temple/boss_supremus.cpp2
-rw-r--r--src/bindings/scripts/scripts/zone/black_temple/boss_teron_gorefiend.cpp4
-rw-r--r--src/bindings/scripts/scripts/zone/black_temple/boss_warlord_najentus.cpp2
-rw-r--r--src/bindings/scripts/scripts/zone/black_temple/illidari_council.cpp14
-rw-r--r--src/bindings/scripts/scripts/zone/blackrock_depths/blackrock_depths.cpp4
-rw-r--r--src/bindings/scripts/scripts/zone/caverns_of_time/hyjal/hyjalAI.cpp6
-rw-r--r--src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/old_hillsbrad.cpp4
-rw-r--r--src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_fathomlord_karathress.cpp6
-rw-r--r--src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_hydross_the_unstable.cpp4
-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_morogrim_tidewalker.cpp2
-rw-r--r--src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/instance_serpent_shrine.cpp6
-rw-r--r--src/bindings/scripts/scripts/zone/coilfang_resevoir/underbog/boss_the_black_stalker.cpp2
-rw-r--r--src/bindings/scripts/scripts/zone/eversong_woods/eversong_woods.cpp14
-rw-r--r--src/bindings/scripts/scripts/zone/ghostlands/ghostlands.cpp4
-rw-r--r--src/bindings/scripts/scripts/zone/gruuls_lair/boss_gruul.cpp10
-rw-r--r--src/bindings/scripts/scripts/zone/gruuls_lair/boss_high_king_maulgar.cpp91
-rw-r--r--src/bindings/scripts/scripts/zone/gruuls_lair/instance_gruuls_lair.cpp73
-rw-r--r--src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/boss_kelidan_the_breaker.cpp8
-rw-r--r--src/bindings/scripts/scripts/zone/hellfire_citadel/hellfire_ramparts/boss_vazruden_the_herald.cpp10
-rw-r--r--src/bindings/scripts/scripts/zone/hellfire_citadel/magtheridons_lair/boss_magtheridon.cpp2
-rw-r--r--src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_nethekurse.cpp4
-rw-r--r--src/bindings/scripts/scripts/zone/hellfire_peninsula/hellfire_peninsula.cpp6
-rw-r--r--src/bindings/scripts/scripts/zone/karazhan/boss_midnight.cpp2
-rw-r--r--src/bindings/scripts/scripts/zone/karazhan/boss_moroes.cpp8
-rw-r--r--src/bindings/scripts/scripts/zone/karazhan/boss_terestian_illhoof.cpp9
-rw-r--r--src/bindings/scripts/scripts/zone/karazhan/bosses_opera.cpp10
-rw-r--r--src/bindings/scripts/scripts/zone/magisters_terrace/boss_priestess_delrissa.cpp14
-rw-r--r--src/bindings/scripts/scripts/zone/magisters_terrace/boss_selin_fireheart.cpp6
-rw-r--r--src/bindings/scripts/scripts/zone/netherstorm/netherstorm.cpp14
-rw-r--r--src/bindings/scripts/scripts/zone/razorfen_kraul/razorfen_kraul.cpp4
-rw-r--r--src/bindings/scripts/scripts/zone/scarlet_monastery/boss_headless_horseman.cpp6
-rw-r--r--src/bindings/scripts/scripts/zone/shadowmoon_valley/shadowmoon_valley.cpp34
-rw-r--r--src/bindings/scripts/scripts/zone/shattrath/shattrath_city.cpp8
-rw-r--r--src/bindings/scripts/scripts/zone/silverpine_forest/silverpine_forest.cpp2
-rw-r--r--src/bindings/scripts/scripts/zone/stonetalon_mountains/stonetalon_mountains.cpp4
-rw-r--r--src/bindings/scripts/scripts/zone/sunwell_plateau/boss_eredar_twins.cpp2
-rw-r--r--src/bindings/scripts/scripts/zone/tanaris/tanaris.cpp4
-rw-r--r--src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/instance_arcatraz.cpp2
-rw-r--r--src/bindings/scripts/scripts/zone/tempest_keep/the_eye/instance_the_eye.cpp6
-rw-r--r--src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_cthun.cpp2
-rw-r--r--src/bindings/scripts/scripts/zone/terokkar_forest/terokkar_forest.cpp4
-rw-r--r--src/bindings/scripts/scripts/zone/thousand_needles/thousand_needles.cpp4
-rw-r--r--src/bindings/scripts/scripts/zone/ungoro_crater/ungoro_crater.cpp4
-rw-r--r--src/bindings/scripts/scripts/zone/westfall/westfall.cpp6
-rw-r--r--src/bindings/scripts/scripts/zone/zangarmarsh/zangarmarsh.cpp8
-rw-r--r--src/bindings/scripts/scripts/zone/zulaman/boss_hexlord.cpp2
-rw-r--r--src/bindings/scripts/scripts/zone/zulaman/zulaman.cpp2
-rw-r--r--src/game/Creature.cpp2
-rw-r--r--src/game/Unit.cpp14
-rw-r--r--src/game/Unit.h17
62 files changed, 310 insertions, 244 deletions
diff --git a/src/bindings/scripts/include/sc_creature.cpp b/src/bindings/scripts/include/sc_creature.cpp
index a31418419bb..fcd44d94842 100644
--- a/src/bindings/scripts/include/sc_creature.cpp
+++ b/src/bindings/scripts/include/sc_creature.cpp
@@ -33,7 +33,7 @@ void SummonList::DespawnEntry(uint32 entry)
{
for(iterator i = begin(); i != end(); ++i)
{
- if(Creature *summon = (Creature*)Unit::GetUnit(*m_creature, *i))
+ if(Creature *summon = Unit::GetCreature(*m_creature, *i))
{
if(summon->GetEntry() == entry)
{
@@ -55,7 +55,7 @@ void SummonList::DespawnAll()
{
for(iterator i = begin(); i != end(); ++i)
{
- if(Creature *summon = (Creature*)Unit::GetUnit(*m_creature, *i))
+ if(Creature *summon = Unit::GetCreature(*m_creature, *i))
{
summon->setDeathState(JUST_DIED);
summon->RemoveCorpse();
diff --git a/src/bindings/scripts/scripts/npc/npcs_special.cpp b/src/bindings/scripts/scripts/npc/npcs_special.cpp
index a9f20422223..49bc64e9021 100644
--- a/src/bindings/scripts/scripts/npc/npcs_special.cpp
+++ b/src/bindings/scripts/scripts/npc/npcs_special.cpp
@@ -365,7 +365,7 @@ struct TRINITY_DLL_DECL npc_injured_patientAI : public ScriptedAI
{
if (Doctorguid)
{
- if (Creature* Doctor = ((Creature*)Unit::GetUnit((*m_creature), Doctorguid)))
+ if(Creature* Doctor = Unit::GetCreature(*m_creature, Doctorguid))
((npc_doctorAI*)Doctor->AI())->PatientSaved(m_creature, ((Player*)caster), Coord);
}
}
@@ -423,7 +423,7 @@ struct TRINITY_DLL_DECL npc_injured_patientAI : public ScriptedAI
if (Doctorguid)
{
- if (Creature* Doctor = ((Creature*)Unit::GetUnit((*m_creature), Doctorguid)))
+ if(Creature* Doctor = Unit::GetCreature((*m_creature), Doctorguid))
((npc_doctorAI*)Doctor->AI())->PatientDied(Coord);
}
}
@@ -466,7 +466,7 @@ void npc_doctorAI::BeginEvent(Player* player)
void npc_doctorAI::PatientDied(Location* Point)
{
- Player* player = ((Player*)Unit::GetUnit((*m_creature), Playerguid));
+ Player* player = Unit::GetPlayer(Playerguid);
if(player && ((player->GetQuestStatus(6624) == QUEST_STATUS_INCOMPLETE) || (player->GetQuestStatus(6622) == QUEST_STATUS_INCOMPLETE)))
{
PatientDiedCount++;
@@ -500,7 +500,7 @@ void npc_doctorAI::PatientSaved(Creature* soldier, Player* player, Location* Poi
std::list<uint64>::iterator itr;
for(itr = Patients.begin(); itr != Patients.end(); ++itr)
{
- if (Creature* Patient = ((Creature*)Unit::GetUnit((*m_creature), *itr)))
+ if(Creature* Patient = Unit::GetCreature((*m_creature), *itr))
Patient->setDeathState(JUST_DIED);
}
}
diff --git a/src/bindings/scripts/scripts/zone/arathi_highlands/arathi_highlands.cpp b/src/bindings/scripts/scripts/zone/arathi_highlands/arathi_highlands.cpp
index 37f6b20957d..084e958a92a 100644
--- a/src/bindings/scripts/scripts/zone/arathi_highlands/arathi_highlands.cpp
+++ b/src/bindings/scripts/scripts/zone/arathi_highlands/arathi_highlands.cpp
@@ -54,7 +54,7 @@ struct TRINITY_DLL_DECL npc_professor_phizzlethorpeAI : public npc_escortAI
void WaypointReached(uint32 i)
{
- Unit* player = Unit::GetUnit((*m_creature), PlayerGUID);
+ Player* player = Unit::GetPlayer(PlayerGUID);
switch(i)
{
@@ -100,7 +100,7 @@ struct TRINITY_DLL_DECL npc_professor_phizzlethorpeAI : public npc_escortAI
{
if (PlayerGUID && !Completed )
{
- Unit* player = Unit::GetUnit((*m_creature), PlayerGUID);
+ Player* player = Unit::GetPlayer(PlayerGUID);
if (player)
((Player*)player)->FailQuest(QUEST_SUNKEN_TREASURE);
}
diff --git a/src/bindings/scripts/scripts/zone/ashenvale_forest/ashenvale.cpp b/src/bindings/scripts/scripts/zone/ashenvale_forest/ashenvale.cpp
index e87e75f409a..fb7b5c30545 100644
--- a/src/bindings/scripts/scripts/zone/ashenvale_forest/ashenvale.cpp
+++ b/src/bindings/scripts/scripts/zone/ashenvale_forest/ashenvale.cpp
@@ -59,7 +59,7 @@ struct TRINITY_DLL_DECL npc_torekAI : public npc_escortAI
void WaypointReached(uint32 i)
{
- Unit* player = Unit::GetUnit((*m_creature), PlayerGUID);
+ Player* player = Unit::GetPlayer(PlayerGUID);
if (!player)
return;
@@ -113,7 +113,7 @@ struct TRINITY_DLL_DECL npc_torekAI : public npc_escortAI
if (PlayerGUID && !Completed)
{
- if (Unit* player = Unit::GetUnit((*m_creature), PlayerGUID))
+ if (Player* player = Unit::GetPlayer(PlayerGUID))
((Player*)player)->FailQuest(QUEST_TOREK_ASSULT);
}
}
@@ -174,7 +174,7 @@ struct TRINITY_DLL_DECL npc_ruul_snowhoofAI : public npc_escortAI
void WaypointReached(uint32 i)
{
- Unit* player = Unit::GetUnit((*m_creature), PlayerGUID);
+ Player* player = Unit::GetPlayer(PlayerGUID);
if (!player)
return;
@@ -227,7 +227,7 @@ struct TRINITY_DLL_DECL npc_ruul_snowhoofAI : public npc_escortAI
{
if (PlayerGUID)
{
- Unit* player = Unit::GetUnit((*m_creature), PlayerGUID);
+ Player* player = Unit::GetPlayer(PlayerGUID);
if (player)
((Player*)player)->FailQuest(QUEST_FREEDOM_TO_RUUL);
}
diff --git a/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/instance_shadow_labyrinth.cpp b/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/instance_shadow_labyrinth.cpp
index 03605ab4eb7..33a0ec3320f 100644
--- a/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/instance_shadow_labyrinth.cpp
+++ b/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/instance_shadow_labyrinth.cpp
@@ -58,13 +58,13 @@ struct TRINITY_DLL_DECL instance_shadow_labyrinth : public ScriptedInstance
FelOverseerCount = 0;
for(uint8 i = 0; i < ENCOUNTERS; i++)
- Encounter[i] = false;
+ Encounter[i] = NOT_STARTED;
}
bool IsEncounterInProgress() const
{
for(uint8 i = 0; i < ENCOUNTERS; i++)
- if(Encounter[i]) return true;
+ if(Encounter[i] == IN_PROGRESS) return true;
return false;
}
diff --git a/src/bindings/scripts/scripts/zone/azshara/azshara.cpp b/src/bindings/scripts/scripts/zone/azshara/azshara.cpp
index 845625a2ac0..d94579361de 100644
--- a/src/bindings/scripts/scripts/zone/azshara/azshara.cpp
+++ b/src/bindings/scripts/scripts/zone/azshara/azshara.cpp
@@ -306,7 +306,7 @@ struct TRINITY_DLL_DECL mob_rizzle_sprysprocketAI : public ScriptedAI
m_creature->AI_SendMoveToPacket(3706.39, -3969.15, 35.9118, 0, 0, 0);
}
//begin swimming and summon depth charges
- Player* player = ((Player*)Unit::GetUnit((*m_creature), PlayerGUID));
+ Player* player = Unit::GetPlayer(PlayerGUID);
SendText(MSG_ESCAPE_NOTICE, player);
DoCast(m_creature, SPELL_PERIODIC_DEPTH_CHARGE);
m_creature->SetUnitMovementFlags(MOVEMENTFLAG_FLYING2 | MOVEMENTFLAG_SWIMMING);
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 d834488409a..51d5bd47e30 100644
--- a/src/bindings/scripts/scripts/zone/azuremyst_isle/azuremyst_isle.cpp
+++ b/src/bindings/scripts/scripts/zone/azuremyst_isle/azuremyst_isle.cpp
@@ -316,7 +316,7 @@ struct TRINITY_DLL_DECL npc_magwinAI : public npc_escortAI
void WaypointReached(uint32 i)
{
- Unit* player = Unit::GetUnit((*m_creature), PlayerGUID);
+ Player* player = Unit::GetPlayer(PlayerGUID);
if (!player)
return;
@@ -356,7 +356,7 @@ struct TRINITY_DLL_DECL npc_magwinAI : public npc_escortAI
{
if (PlayerGUID)
{
- Unit* player = Unit::GetUnit((*m_creature), PlayerGUID);
+ Player* player = Unit::GetPlayer(PlayerGUID);
if (player)
((Player*)player)->FailQuest(QUEST_A_CRY_FOR_SAY_HELP);
}
diff --git a/src/bindings/scripts/scripts/zone/barrens/the_barrens.cpp b/src/bindings/scripts/scripts/zone/barrens/the_barrens.cpp
index 878865fec2c..4d8d3b6411b 100644
--- a/src/bindings/scripts/scripts/zone/barrens/the_barrens.cpp
+++ b/src/bindings/scripts/scripts/zone/barrens/the_barrens.cpp
@@ -254,7 +254,7 @@ struct TRINITY_DLL_DECL npc_twiggy_flatheadAI : public ScriptedAI
Player* pWarrior = NULL;
if(PlayerGUID)
- pWarrior = ((Player*)Unit::GetUnit((*m_creature), PlayerGUID));
+ pWarrior = Unit::GetPlayer(PlayerGUID);
if(!pWarrior)
return;
@@ -268,7 +268,7 @@ struct TRINITY_DLL_DECL npc_twiggy_flatheadAI : public ScriptedAI
{
if (AffrayChallenger[i])
{
- Creature* pCreature = (Creature*)Unit::GetUnit((*m_creature), AffrayChallenger[i]);
+ Creature* pCreature = Unit::GetCreature((*m_creature), AffrayChallenger[i]);
if(pCreature) {
if(pCreature->isAlive())
{
@@ -284,7 +284,7 @@ struct TRINITY_DLL_DECL npc_twiggy_flatheadAI : public ScriptedAI
if (BigWill)
{
- Creature* pCreature = (Creature*)Unit::GetUnit((*m_creature), BigWill);
+ Creature* pCreature = Unit::GetCreature((*m_creature), BigWill);
if(pCreature) {
if(pCreature->isAlive()) {
pCreature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IN_COMBAT);
@@ -329,7 +329,7 @@ struct TRINITY_DLL_DECL npc_twiggy_flatheadAI : public ScriptedAI
{
if (AffrayChallenger[i])
{
- Creature* pCreature = (Creature*)Unit::GetUnit((*m_creature), AffrayChallenger[i]);
+ Creature* pCreature = Unit::GetCreature((*m_creature), AffrayChallenger[i]);
if((!pCreature || (!pCreature->isAlive())) && !Challenger_down[i])
{
DoScriptText(SAY_TWIGGY_FLATHEAD_DOWN, m_creature);
@@ -345,7 +345,7 @@ struct TRINITY_DLL_DECL npc_twiggy_flatheadAI : public ScriptedAI
if (AffrayChallenger[Wave] && Wave < 6 && !EventBigWill)
{
DoScriptText(SAY_TWIGGY_FLATHEAD_FRAY, m_creature);
- Creature* pCreature = (Creature*)Unit::GetUnit((*m_creature), AffrayChallenger[Wave]);
+ Creature* pCreature = Unit::GetCreature((*m_creature), AffrayChallenger[Wave]);
if(pCreature && (pCreature->isAlive()))
{
pCreature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
@@ -371,7 +371,7 @@ struct TRINITY_DLL_DECL npc_twiggy_flatheadAI : public ScriptedAI
}
else if (Wave >= 6 && EventBigWill && BigWill)
{
- Creature* pCreature = (Creature*)Unit::GetUnit((*m_creature), BigWill);
+ Creature* pCreature = Unit::GetCreature((*m_creature), BigWill);
if (!pCreature || !pCreature->isAlive())
{
DoScriptText(SAY_TWIGGY_FLATHEAD_OVER, m_creature);
@@ -420,7 +420,7 @@ struct TRINITY_DLL_DECL npc_wizzlecrank_shredderAI : public npc_escortAI
void WaypointReached(uint32 i)
{
- Unit* player = Unit::GetUnit((*m_creature), PlayerGUID);
+ Player* player = Unit::GetPlayer(PlayerGUID);
if(!player)
return;
@@ -468,7 +468,7 @@ struct TRINITY_DLL_DECL npc_wizzlecrank_shredderAI : public npc_escortAI
{
if (PlayerGUID && !Completed)
{
- Unit* player = Unit::GetUnit((*m_creature), PlayerGUID);
+ Player* player = Unit::GetPlayer(PlayerGUID);
if (player)
((Player*)player)->FailQuest(QUEST_ESCAPE);
}
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 7e656bccee0..6d36e208a70 100644
--- a/src/bindings/scripts/scripts/zone/black_temple/boss_illidan.cpp
+++ b/src/bindings/scripts/scripts/zone/black_temple/boss_illidan.cpp
@@ -26,7 +26,7 @@ EndScriptData */
#define GETGO(obj, guid) GameObject* obj = GameObject::GetGameObject(*m_creature, guid)
#define GETUNIT(unit, guid) Unit* unit = Unit::GetUnit(*m_creature, guid)
-#define GETCRE(cre, guid) Creature* cre = (Creature*)Unit::GetUnit(*m_creature, guid)
+#define GETCRE(cre, guid) Creature* cre = Unit::GetCreature(*m_creature, guid)
#define HPPCT(unit) unit->GetHealth()*100 / unit->GetMaxHealth()
/************* Quotes and Sounds ***********************/
@@ -522,9 +522,9 @@ struct TRINITY_DLL_DECL boss_illidan_stormrageAI : public ScriptedAI
if(Conversation[count].creature == ILLIDAN_STORMRAGE)
creature = m_creature;
else if(Conversation[count].creature == AKAMA)
- creature = ((Creature*)Unit::GetUnit((*m_creature), AkamaGUID));
+ creature = (Unit::GetCreature((*m_creature), AkamaGUID));
else if(Conversation[count].creature == MAIEV_SHADOWSONG)
- creature = ((Creature*)Unit::GetUnit((*m_creature), MaievGUID));
+ creature = (Unit::GetCreature((*m_creature), MaievGUID));
if(creature)
{
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 37ebaca0b78..851c5f4c243 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
@@ -213,7 +213,7 @@ struct TRINITY_DLL_DECL boss_reliquary_of_soulsAI : public ScriptedAI
Creature* Essence;
if(EssenceGUID)
{
- Essence = (Creature*)Unit::GetUnit(*m_creature, EssenceGUID);
+ Essence = Unit::GetCreature(*m_creature, EssenceGUID);
if(!Essence)
{
EnterEvadeMode();
@@ -624,7 +624,7 @@ void npc_enslaved_soulAI::JustDied(Unit *killer)
{
if(ReliquaryGUID)
{
- Creature* Reliquary = ((Creature*)Unit::GetUnit((*m_creature), ReliquaryGUID));
+ Creature* Reliquary = (Unit::GetCreature((*m_creature), ReliquaryGUID));
if(Reliquary)
((boss_reliquary_of_soulsAI*)Reliquary->AI())->SoulDeathCount++;
}
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 f8f742d3a3c..0e4cc9129db 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
@@ -200,7 +200,7 @@ struct TRINITY_DLL_DECL boss_shade_of_akamaAI : public ScriptedAI
{
for(std::list<uint64>::iterator itr = Sorcerers.begin(); itr != Sorcerers.end(); ++itr)
{
- if(Creature* Sorcerer = ((Creature*)Unit::GetUnit(*m_creature, *itr)))
+ if(Creature* Sorcerer = (Unit::GetCreature(*m_creature, *itr)))
if(Sorcerer->isAlive())
{
Sorcerer->SetVisibility(VISIBILITY_OFF);
@@ -248,7 +248,7 @@ struct TRINITY_DLL_DECL boss_shade_of_akamaAI : public ScriptedAI
for(std::list<uint64>::iterator itr = Channelers.begin(); itr != Channelers.end(); ++itr)
{
Creature* Channeler = NULL;
- Channeler = ((Creature*)Unit::GetUnit(*m_creature, *itr));
+ Channeler = (Unit::GetCreature(*m_creature, *itr));
if (Channeler)
{
@@ -372,7 +372,7 @@ struct TRINITY_DLL_DECL boss_shade_of_akamaAI : public ScriptedAI
}
for(std::list<uint64>::iterator itr = Channelers.begin(); itr != Channelers.end(); ++itr)
- if(Creature* Channeler = ((Creature*)Unit::GetUnit(*m_creature, *itr)))
+ if(Creature* Channeler = (Unit::GetCreature(*m_creature, *itr)))
Channeler->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
}
@@ -484,7 +484,7 @@ struct TRINITY_DLL_DECL boss_shade_of_akamaAI : public ScriptedAI
void mob_ashtongue_channelerAI::JustDied(Unit* killer)
{
- Creature* Shade = ((Creature*)Unit::GetUnit((*m_creature), ShadeGUID));
+ Creature* Shade = (Unit::GetCreature((*m_creature), ShadeGUID));
if(Shade && Shade->isAlive())
((boss_shade_of_akamaAI*)Shade->AI())->IncrementDeathCount();
else error_log("SD2 ERROR: Channeler dead but unable to increment DeathCount for Shade of Akama.");
@@ -492,7 +492,7 @@ void mob_ashtongue_channelerAI::JustDied(Unit* killer)
void mob_ashtongue_sorcererAI::JustDied(Unit* killer)
{
- Creature* Shade = ((Creature*)Unit::GetUnit((*m_creature), ShadeGUID));
+ Creature* Shade = (Unit::GetCreature((*m_creature), ShadeGUID));
if(Shade && Shade->isAlive())
((boss_shade_of_akamaAI*)Shade->AI())->IncrementDeathCount(m_creature->GetGUID());
else error_log("SD2 ERROR: Sorcerer dead but unable to increment DeathCount for Shade of Akama.");
@@ -561,7 +561,7 @@ struct TRINITY_DLL_DECL npc_akamaAI : public ScriptedAI
if(!ShadeGUID)
return;
- Creature* Shade = ((Creature*)Unit::GetUnit((*m_creature), ShadeGUID));
+ Creature* Shade = (Unit::GetCreature((*m_creature), ShadeGUID));
if(Shade)
{
pInstance->SetData(DATA_SHADEOFAKAMAEVENT, IN_PROGRESS);
@@ -618,7 +618,7 @@ struct TRINITY_DLL_DECL npc_akamaAI : public ScriptedAI
if(ShadeGUID && !StartCombat)
{
- Creature* Shade = ((Creature*)Unit::GetUnit((*m_creature), ShadeGUID));
+ Creature* Shade = (Unit::GetCreature((*m_creature), ShadeGUID));
if(Shade && Shade->isAlive())
{
if(((boss_shade_of_akamaAI*)Shade->AI())->IsBanished)
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 44122355311..0985e7b61e3 100644
--- a/src/bindings/scripts/scripts/zone/black_temple/boss_supremus.cpp
+++ b/src/bindings/scripts/scripts/zone/black_temple/boss_supremus.cpp
@@ -268,7 +268,7 @@ struct TRINITY_DLL_DECL npc_volcanoAI : public ScriptedAI
if(CheckTimer < diff)
{
uint64 SupremusGUID = pInstance->GetData64(DATA_SUPREMUS);
- Creature* Supremus = ((Creature*)Unit::GetUnit((*m_creature), SupremusGUID));
+ Creature* Supremus = (Unit::GetCreature((*m_creature), SupremusGUID));
if(!Eruption && !((boss_supremusAI*)Supremus->AI())->Phase1)
{
Eruption = true;
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 5e362d29eb8..33a0f20a23e 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
@@ -82,7 +82,7 @@ struct TRINITY_DLL_DECL mob_doom_blossomAI : public ScriptedAI
{
DoZoneInCombat();
- Creature* Teron = ((Creature*)Unit::GetUnit((*m_creature), TeronGUID));
+ Creature* Teron = (Unit::GetCreature((*m_creature), TeronGUID));
if((Teron) && (!Teron->isAlive() || Teron->IsInEvadeMode()))
Despawn();
}
@@ -184,7 +184,7 @@ struct TRINITY_DLL_DECL mob_shadowy_constructAI : public ScriptedAI
if(CheckTeronTimer < diff)
{
- Creature* Teron = ((Creature*)Unit::GetUnit((*m_creature), TeronGUID));
+ Creature* Teron = (Unit::GetCreature((*m_creature), TeronGUID));
if(!Teron || !Teron->isAlive() || Teron->IsInEvadeMode())
m_creature->DealDamage(m_creature, m_creature->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
diff --git a/src/bindings/scripts/scripts/zone/black_temple/boss_warlord_najentus.cpp b/src/bindings/scripts/scripts/zone/black_temple/boss_warlord_najentus.cpp
index b605c16394b..9233cc53fca 100644
--- a/src/bindings/scripts/scripts/zone/black_temple/boss_warlord_najentus.cpp
+++ b/src/bindings/scripts/scripts/zone/black_temple/boss_warlord_najentus.cpp
@@ -194,7 +194,7 @@ struct TRINITY_DLL_DECL boss_najentusAI : public ScriptedAI
bool GOHello_go_najentus_spine(Player *player, GameObject* _GO)
{
if(ScriptedInstance* pInstance = (ScriptedInstance*)_GO->GetInstanceData())
- if(Creature* Najentus = (Creature*)Unit::GetUnit(*_GO, pInstance->GetData64(DATA_HIGHWARLORDNAJENTUS)))
+ if(Creature* Najentus = Unit::GetCreature(*_GO, pInstance->GetData64(DATA_HIGHWARLORDNAJENTUS)))
if(((boss_najentusAI*)Najentus->AI())->RemoveImpalingSpine())
{
player->CastSpell(player, SPELL_CREATE_NAJENTUS_SPINE, true);
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 ca3a6658f45..3c063ff30c5 100644
--- a/src/bindings/scripts/scripts/zone/black_temple/illidari_council.cpp
+++ b/src/bindings/scripts/scripts/zone/black_temple/illidari_council.cpp
@@ -218,7 +218,7 @@ struct TRINITY_DLL_DECL mob_illidari_councilAI : public ScriptedAI
Creature* pMember = NULL;
for(uint8 i = 0; i < 4; ++i)
{
- if(pMember = ((Creature*)Unit::GetUnit((*m_creature), Council[i])))
+ if(pMember = (Unit::GetCreature((*m_creature), Council[i])))
{
if(!pMember->isAlive())
{
@@ -232,7 +232,7 @@ struct TRINITY_DLL_DECL mob_illidari_councilAI : public ScriptedAI
if(pInstance)
{
pInstance->SetData(DATA_ILLIDARICOUNCILEVENT, NOT_STARTED);
- if(Creature* VoiceTrigger = ((Creature*)Unit::GetUnit(*m_creature, pInstance->GetData64(DATA_BLOOD_ELF_COUNCIL_VOICE))))
+ if(Creature* VoiceTrigger = (Unit::GetCreature(*m_creature, pInstance->GetData64(DATA_BLOOD_ELF_COUNCIL_VOICE))))
VoiceTrigger->AI()->EnterEvadeMode();
}
@@ -259,7 +259,7 @@ struct TRINITY_DLL_DECL mob_illidari_councilAI : public ScriptedAI
Council[3] = pInstance->GetData64(DATA_VERASDARKSHADOW);
// Start the event for the Voice Trigger
- if(Creature* VoiceTrigger = ((Creature*)Unit::GetUnit(*m_creature, pInstance->GetData64(DATA_BLOOD_ELF_COUNCIL_VOICE))))
+ if(Creature* VoiceTrigger = (Unit::GetCreature(*m_creature, pInstance->GetData64(DATA_BLOOD_ELF_COUNCIL_VOICE))))
{
((mob_blood_elf_council_voice_triggerAI*)VoiceTrigger->AI())->LoadCouncilGUIDs();
((mob_blood_elf_council_voice_triggerAI*)VoiceTrigger->AI())->EventStarted = true;
@@ -294,7 +294,7 @@ struct TRINITY_DLL_DECL mob_illidari_councilAI : public ScriptedAI
{
if(pInstance)
{
- if(Creature* VoiceTrigger = ((Creature*)Unit::GetUnit(*m_creature, pInstance->GetData64(DATA_BLOOD_ELF_COUNCIL_VOICE))))
+ if(Creature* VoiceTrigger = (Unit::GetCreature(*m_creature, pInstance->GetData64(DATA_BLOOD_ELF_COUNCIL_VOICE))))
VoiceTrigger->DealDamage(VoiceTrigger, VoiceTrigger->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
pInstance->SetData(DATA_ILLIDARICOUNCILEVENT, DONE);
}
@@ -302,7 +302,7 @@ struct TRINITY_DLL_DECL mob_illidari_councilAI : public ScriptedAI
return;
}
- Creature* pMember = ((Creature*)Unit::GetUnit(*m_creature, Council[DeathCount]));
+ Creature* pMember = (Unit::GetCreature(*m_creature, Council[DeathCount]));
if(pMember && pMember->isAlive())
pMember->DealDamage(pMember, pMember->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
++DeathCount;
@@ -319,7 +319,7 @@ struct TRINITY_DLL_DECL mob_illidari_councilAI : public ScriptedAI
{
if(Council[i])
{
- if(Creature* Member = ((Creature*)Unit::GetUnit((*m_creature), Council[i])))
+ if(Creature* Member = (Unit::GetCreature((*m_creature), Council[i])))
{
// This is the evade/death check.
if(Member->isAlive() && !Member->getVictim())
@@ -364,7 +364,7 @@ struct TRINITY_DLL_DECL boss_illidari_councilAI : public ScriptedAI
{
if(pInstance)
{
- Creature* Controller = ((Creature*)Unit::GetUnit(*m_creature, pInstance->GetData64(DATA_ILLIDARICOUNCIL)));
+ Creature* Controller = (Unit::GetCreature(*m_creature, pInstance->GetData64(DATA_ILLIDARICOUNCIL)));
if(Controller)
((mob_illidari_councilAI*)Controller->AI())->StartEvent(who);
}
diff --git a/src/bindings/scripts/scripts/zone/blackrock_depths/blackrock_depths.cpp b/src/bindings/scripts/scripts/zone/blackrock_depths/blackrock_depths.cpp
index 253912ef288..fa1b86da5c8 100644
--- a/src/bindings/scripts/scripts/zone/blackrock_depths/blackrock_depths.cpp
+++ b/src/bindings/scripts/scripts/zone/blackrock_depths/blackrock_depths.cpp
@@ -216,7 +216,7 @@ struct TRINITY_DLL_DECL npc_grimstoneAI : public npc_escortAI
if (RingBossGUID)
{
- Creature *boss = (Creature*)Unit::GetUnit(*m_creature,RingBossGUID);
+ Creature *boss = Unit::GetCreature(*m_creature,RingBossGUID);
if (boss && !boss->isAlive() && boss->isDead())
{
RingBossGUID = 0;
@@ -229,7 +229,7 @@ struct TRINITY_DLL_DECL npc_grimstoneAI : public npc_escortAI
for(uint8 i = 0; i < MOB_AMOUNT; i++)
{
- Creature *mob = (Creature*)Unit::GetUnit(*m_creature,RingMobGUID[i]);
+ Creature *mob = Unit::GetCreature(*m_creature,RingMobGUID[i]);
if (mob && !mob->isAlive() && mob->isDead())
{
RingMobGUID[i] = 0;
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 c11abaa9b14..74d283340b1 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
@@ -382,7 +382,7 @@ void hyjalAI::Reset()
return;
for(std::list<uint64>::iterator itr = CreatureList.begin(); itr != CreatureList.end(); ++itr)
- if(Creature* cr = ((Creature*)Unit::GetUnit(*m_creature, *itr)))
+ if(Creature* cr = (Unit::GetCreature(*m_creature, *itr)))
cr->SetVisibility(VISIBILITY_ON);
CreatureList.clear();*/
@@ -748,7 +748,7 @@ void hyjalAI::DeSpawnVeins()
if(!pInstance)return;
if(Faction == 1)
{
- Creature* pUnit=(Creature*)Unit::GetUnit((*m_creature),pInstance->GetData64(DATA_JAINAPROUDMOORE));
+ Creature* pUnit=Unit::GetCreature((*m_creature),pInstance->GetData64(DATA_JAINAPROUDMOORE));
if (!pUnit)return;
hyjalAI* ai = ((hyjalAI*)pUnit->AI());
if(!ai)return;
@@ -760,7 +760,7 @@ void hyjalAI::DeSpawnVeins()
}
}else if (Faction)
{
- Creature* pUnit=(Creature*)Unit::GetUnit((*m_creature),pInstance->GetData64(DATA_THRALL));
+ Creature* pUnit=Unit::GetCreature((*m_creature),pInstance->GetData64(DATA_THRALL));
if (!pUnit)return;
hyjalAI* ai = ((hyjalAI*)pUnit->AI());
if(!ai)return;
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 96a903a0795..6ed4609e3b9 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
@@ -364,7 +364,7 @@ struct TRINITY_DLL_DECL npc_thrall_old_hillsbradAI : public npc_escortAI
//trigger taretha to run down outside
if (uint64 TarethaGUID = pInstance->GetData64(DATA_TARETHA))
{
- if (Creature* Taretha = ((Creature*)Unit::GetUnit(*m_creature, TarethaGUID)))
+ if (Creature* Taretha = (Unit::GetCreature(*m_creature, TarethaGUID)))
((npc_escortAI*)(Taretha->AI()))->Start(false, false, true, PlayerGUID);
}
@@ -826,7 +826,7 @@ bool GossipSelect_npc_taretha(Player *player, Creature *_Creature, uint32 sender
if (uint64 ThrallGUID = pInstance->GetData64(DATA_THRALL))
{
- Creature* Thrall = ((Creature*)Unit::GetUnit((*_Creature), ThrallGUID));
+ Creature* Thrall = (Unit::GetCreature((*_Creature), ThrallGUID));
if(Thrall)
((npc_thrall_old_hillsbradAI*)Thrall->AI())->StartWP();
}
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 e9b5841d005..2829e6a22f8 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
@@ -134,7 +134,7 @@ struct TRINITY_DLL_DECL boss_fathomlord_karathressAI : public ScriptedAI
if(RAdvisors[i])
{
- pAdvisor = ((Creature*)Unit::GetUnit((*m_creature), RAdvisors[i]));
+ pAdvisor = (Unit::GetCreature((*m_creature), RAdvisors[i]));
if(pAdvisor && !pAdvisor->isAlive())
{
pAdvisor->Respawn();
@@ -205,7 +205,7 @@ struct TRINITY_DLL_DECL boss_fathomlord_karathressAI : public ScriptedAI
DoScriptText(SAY_DEATH, m_creature);
if (pInstance)
- pInstance->SetData(DATA_FATHOMLORDKARATHRESSEVENT, NOT_STARTED);
+ pInstance->SetData(DATA_FATHOMLORDKARATHRESSEVENT, DONE);
//support for quest 10944
m_creature->SummonCreature(SEER_OLUM, OLUM_X, OLUM_Y, OLUM_Z, OLUM_O, TEMPSUMMON_TIMED_DESPAWN, 3600000);
@@ -280,7 +280,7 @@ struct TRINITY_DLL_DECL boss_fathomlord_karathressAI : public ScriptedAI
for(uint8 i = 0; i < 4; ++i)
if(Advisors[i])
{
- Advisor = ((Creature*)Unit::GetUnit(*m_creature, Advisors[i]));
+ Advisor = (Unit::GetCreature(*m_creature, Advisors[i]));
if(Advisor)
{
if(Advisor->isAlive())
diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_hydross_the_unstable.cpp b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_hydross_the_unstable.cpp
index d4263ec4747..14012be1d1f 100644
--- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_hydross_the_unstable.cpp
+++ b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/boss_hydross_the_unstable.cpp
@@ -145,7 +145,7 @@ struct TRINITY_DLL_DECL boss_hydross_the_unstableAI : public ScriptedAI
{
for(uint8 i=0;i<2;i++)
{
- Creature* mob = (Creature*)Unit::GetUnit(*m_creature,beams[i]);
+ Creature* mob = Unit::GetCreature(*m_creature,beams[i]);
if(mob)
{
mob->setDeathState(DEAD);
@@ -210,7 +210,7 @@ struct TRINITY_DLL_DECL boss_hydross_the_unstableAI : public ScriptedAI
DoScriptText(SAY_CLEAN_DEATH, m_creature);
if (pInstance)
- pInstance->SetData(DATA_HYDROSSTHEUNSTABLEEVENT, NOT_STARTED);
+ pInstance->SetData(DATA_HYDROSSTHEUNSTABLEEVENT, DONE);
Summons.DespawnAll();
}
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 27f396c6926..073649db5ee 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
@@ -200,7 +200,7 @@ struct TRINITY_DLL_DECL boss_leotheras_the_blindAI : public ScriptedAI
{
for(uint8 i = 0; i < 3; i++)
{
- Creature *add = (Creature*)Unit::GetUnit(*m_creature,SpellBinderGUID[i]);
+ Creature *add = Unit::GetCreature(*m_creature,SpellBinderGUID[i]);
if (add && add->isAlive())
{
add->setDeathState(DEAD);
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 224f22f804e..35f3f5b9b13 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
@@ -158,7 +158,7 @@ struct TRINITY_DLL_DECL boss_morogrim_tidewalkerAI : public ScriptedAI
DoScriptText(SAY_DEATH, m_creature);
if (pInstance)
- pInstance->SetData(DATA_MOROGRIMTIDEWALKEREVENT, NOT_STARTED);
+ pInstance->SetData(DATA_MOROGRIMTIDEWALKEREVENT, DONE);
}
void Aggro(Unit *who)
diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/instance_serpent_shrine.cpp b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/instance_serpent_shrine.cpp
index ef69ab220bf..adf2eda7c39 100644
--- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/instance_serpent_shrine.cpp
+++ b/src/bindings/scripts/scripts/zone/coilfang_resevoir/serpent_shrine/instance_serpent_shrine.cpp
@@ -67,7 +67,7 @@ struct TRINITY_DLL_DECL instance_serpentshrine_cavern : public ScriptedInstance
uint64 StrangePool;
bool ShieldGeneratorDeactivated[4];
- bool Encounters[ENCOUNTERS];
+ uint32 Encounters[ENCOUNTERS];
void Initialize()
{
@@ -93,13 +93,13 @@ struct TRINITY_DLL_DECL instance_serpentshrine_cavern : public ScriptedInstance
ShieldGeneratorDeactivated[3] = false;
for(uint8 i = 0; i < ENCOUNTERS; i++)
- Encounters[i] = false;
+ Encounters[i] = NOT_STARTED;
}
bool IsEncounterInProgress() const
{
for(uint8 i = 0; i < ENCOUNTERS; i++)
- if(Encounters[i]) return true;
+ if(Encounters[i] == IN_PROGRESS) return true;
return false;
}
diff --git a/src/bindings/scripts/scripts/zone/coilfang_resevoir/underbog/boss_the_black_stalker.cpp b/src/bindings/scripts/scripts/zone/coilfang_resevoir/underbog/boss_the_black_stalker.cpp
index 43342a276aa..d7c9791cf51 100644
--- a/src/bindings/scripts/scripts/zone/coilfang_resevoir/underbog/boss_the_black_stalker.cpp
+++ b/src/bindings/scripts/scripts/zone/coilfang_resevoir/underbog/boss_the_black_stalker.cpp
@@ -81,7 +81,7 @@ struct TRINITY_DLL_DECL boss_the_black_stalkerAI : public ScriptedAI
void JustDied(Unit *who)
{
for(std::list<uint64>::iterator i = Striders.begin(); i != Striders.end(); ++i)
- if(Creature *strider = (Creature*)Unit::GetUnit(*m_creature, *i))
+ if(Creature *strider = Unit::GetCreature(*m_creature, *i))
{
strider->SetLootRecipient(NULL);
strider->DealDamage(strider,strider->GetMaxHealth(),NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
diff --git a/src/bindings/scripts/scripts/zone/eversong_woods/eversong_woods.cpp b/src/bindings/scripts/scripts/zone/eversong_woods/eversong_woods.cpp
index aca3bb9bb37..e420446abe8 100644
--- a/src/bindings/scripts/scripts/zone/eversong_woods/eversong_woods.cpp
+++ b/src/bindings/scripts/scripts/zone/eversong_woods/eversong_woods.cpp
@@ -50,7 +50,7 @@ struct TRINITY_DLL_DECL npc_prospector_anvilwardAI : public npc_escortAI
// Pure Virtual Functions
void WaypointReached(uint32 i)
{
- Unit* player = Unit::GetUnit((*m_creature), PlayerGUID);
+ Player* player = Unit::GetPlayer(PlayerGUID);
if(!player)
return;
@@ -339,7 +339,7 @@ struct TRINITY_DLL_DECL master_kelerun_bloodmournAI : public ScriptedAI
if ( timer < diff ) {
Creature* paladinSpawn;
- paladinSpawn = ((Creature*)Unit::GetUnit((*m_creature), paladinGuid[paladinPhase]));
+ paladinSpawn = (Unit::GetCreature((*m_creature), paladinGuid[paladinPhase]));
if ( paladinSpawn ) {
((npc_secondTrialAI*)paladinSpawn->AI())->Activate(m_creature->GetGUID());
@@ -439,7 +439,7 @@ void npc_secondTrialAI::JustDied(Unit* Killer) {
if (Killer->GetTypeId() == TYPEID_PLAYER)
{
Creature* Summoner;
- Summoner = ((Creature*)Unit::GetUnit((*m_creature), summonerGuid));
+ Summoner = (Unit::GetCreature((*m_creature), summonerGuid));
if ( Summoner )
((master_kelerun_bloodmournAI*)Summoner->AI())->SecondTrialKill();
@@ -560,7 +560,7 @@ struct TRINITY_DLL_DECL npc_apprentice_mirvedaAI : public ScriptedAI
{
if (PlayerGUID)
{
- Unit* player = Unit::GetUnit((*m_creature), PlayerGUID);
+ Player* player = Unit::GetPlayer(PlayerGUID);
if (player)
((Player*)player)->FailQuest(QUEST_UNEXPECTED_RESULT);
}
@@ -572,7 +572,7 @@ struct TRINITY_DLL_DECL npc_apprentice_mirvedaAI : public ScriptedAI
{
if (PlayerGUID)
{
- Unit* player = Unit::GetUnit((*m_creature), PlayerGUID);
+ Player* player = Unit::GetPlayer(PlayerGUID);
if(player)
((Player*)player)->CompleteQuest(QUEST_UNEXPECTED_RESULT);
}
@@ -676,7 +676,7 @@ struct TRINITY_DLL_DECL npc_infused_crystalAI : public Scripted_NoMovementAI
{
if (PlayerGUID && !Completed)
{
- Unit* player = Unit::GetUnit((*m_creature), PlayerGUID);
+ Player* player = Unit::GetPlayer(PlayerGUID);
if (player)
((Player*)player)->FailQuest(QUEST_POWERING_OUR_DEFENSES);
}
@@ -690,7 +690,7 @@ struct TRINITY_DLL_DECL npc_infused_crystalAI : public Scripted_NoMovementAI
Completed = true;
if (PlayerGUID)
{
- Unit* player = Unit::GetUnit((*m_creature), PlayerGUID);
+ Player* player = Unit::GetPlayer(PlayerGUID);
if(player)
((Player*)player)->CompleteQuest(QUEST_POWERING_OUR_DEFENSES);
}
diff --git a/src/bindings/scripts/scripts/zone/ghostlands/ghostlands.cpp b/src/bindings/scripts/scripts/zone/ghostlands/ghostlands.cpp
index 54e4e3e4739..00e00b2ac90 100644
--- a/src/bindings/scripts/scripts/zone/ghostlands/ghostlands.cpp
+++ b/src/bindings/scripts/scripts/zone/ghostlands/ghostlands.cpp
@@ -159,7 +159,7 @@ struct TRINITY_DLL_DECL npc_ranger_lilathaAI : public npc_escortAI
void WaypointReached(uint32 i)
{
- Unit* player = Unit::GetUnit((*m_creature), PlayerGUID);
+ Player* player = Unit::GetPlayer(PlayerGUID);
if (!player)
return;
@@ -227,7 +227,7 @@ struct TRINITY_DLL_DECL npc_ranger_lilathaAI : public npc_escortAI
{
if (PlayerGUID)
{
- Unit* player = Unit::GetUnit((*m_creature), PlayerGUID);
+ Player* player = Unit::GetPlayer(PlayerGUID);
if (player)
((Player*)player)->FailQuest(QUEST_ESCAPE_FROM_THE_CATACOMBS);
}
diff --git a/src/bindings/scripts/scripts/zone/gruuls_lair/boss_gruul.cpp b/src/bindings/scripts/scripts/zone/gruuls_lair/boss_gruul.cpp
index 96986367077..e4fdbf90656 100644
--- a/src/bindings/scripts/scripts/zone/gruuls_lair/boss_gruul.cpp
+++ b/src/bindings/scripts/scripts/zone/gruuls_lair/boss_gruul.cpp
@@ -79,12 +79,7 @@ struct TRINITY_DLL_DECL boss_gruulAI : public ScriptedAI
Reverberation_Timer= 60000+45000;
if (pInstance)
- {
pInstance->SetData(DATA_GRUULEVENT, NOT_STARTED);
- GameObject* EncounterDoor = GameObject::GetGameObject((*m_creature), pInstance->GetData64(DATA_GRUULDOOR));
- if (EncounterDoor)
- EncounterDoor->SetGoState(0); // Open the encounter door
- }else error_log(ERROR_INST_DATA);
m_creature->ApplySpellImmune(0, IMMUNITY_STATE, SPELL_AURA_MOD_TAUNT, true);
m_creature->ApplySpellImmune(0, IMMUNITY_EFFECT,SPELL_EFFECT_ATTACK_ME, true);
@@ -95,12 +90,7 @@ struct TRINITY_DLL_DECL boss_gruulAI : public ScriptedAI
DoScriptText(SAY_AGGRO, m_creature);
if (pInstance)
- {
pInstance->SetData(DATA_GRUULEVENT, IN_PROGRESS);
- GameObject* EncounterDoor = GameObject::GetGameObject(*m_creature, pInstance->GetData64(DATA_GRUULDOOR));
- if (EncounterDoor)
- EncounterDoor->SetGoState(1); //Close the encounter door, open it in JustDied/Reset
- }
}
void KilledUnit()
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 4437938a47a..6b20efdd8b1 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
@@ -65,6 +65,44 @@ EndScriptData */
#define SPELL_SPELLSHIELD 33054
#define SPELL_BLAST_WAVE 33061
+bool CheckAllBossDied(ScriptedInstance* pInstance, Creature* m_creature)
+{
+ if(!pInstance || !m_creature)
+ return false;
+
+ uint64 MaulgarGUID = 0;
+ uint64 KigglerGUID = 0;
+ uint64 BlindeyeGUID = 0;
+ uint64 OlmGUID = 0;
+ uint64 KroshGUID = 0;
+
+ Creature* Maulgar = NULL;
+ Creature* Kiggler = NULL;
+ Creature* Blindeye = NULL;
+ Creature* Olm = NULL;
+ Creature* Krosh = NULL;
+
+ MaulgarGUID = pInstance->GetData64(DATA_MAULGAR);
+ KigglerGUID = pInstance->GetData64(DATA_KIGGLERTHECRAZED);
+ BlindeyeGUID = pInstance->GetData64(DATA_BLINDEYETHESEER);
+ OlmGUID = pInstance->GetData64(DATA_OLMTHESUMMONER);
+ KroshGUID = pInstance->GetData64(DATA_KROSHFIREHAND);
+
+ Maulgar = ((Creature*)Unit::GetUnit((*m_creature), MaulgarGUID));
+ Kiggler = ((Creature*)Unit::GetUnit((*m_creature), KigglerGUID));
+ Blindeye = ((Creature*)Unit::GetUnit((*m_creature), BlindeyeGUID));
+ Olm = ((Creature*)Unit::GetUnit((*m_creature), OlmGUID));
+ Krosh = ((Creature*)Unit::GetUnit((*m_creature), KroshGUID));
+
+ if(!Maulgar || !Kiggler || !Blindeye || !Olm || !Krosh)
+ return false;
+
+ if(!Maulgar->isAlive() && !Kiggler->isAlive() && !Blindeye->isAlive() && !Olm->isAlive() && !Krosh->isAlive())
+ return true;
+
+ return false;
+}
+
//High King Maulgar AI
struct TRINITY_DLL_DECL boss_high_king_maulgarAI : public ScriptedAI
{
@@ -132,15 +170,8 @@ struct TRINITY_DLL_DECL boss_high_king_maulgarAI : public ScriptedAI
{
DoScriptText(SAY_DEATH, m_creature);
- if (pInstance)
- {
+ if(CheckAllBossDied(pInstance, m_creature))
pInstance->SetData(DATA_MAULGAREVENT, DONE);
-
- GameObject* Door = NULL;
- Door = GameObject::GetGameObject((*m_creature), pInstance->GetData64(DATA_MAULGARDOOR));
- if(Door)
- Door->SetGoState(0);
- }
}
void AddDeath()
@@ -301,17 +332,20 @@ struct TRINITY_DLL_DECL boss_olm_the_summonerAI : public ScriptedAI
}
}
- void JustDied(Unit* Killer)
- {
- if(pInstance)
+ void JustDied(Unit* Killer)
+ {
+ if(pInstance)
{
Creature *Maulgar = NULL;
Maulgar = (Creature*)(Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_MAULGAR)));
if(Maulgar)
((boss_high_king_maulgarAI*)Maulgar->AI())->AddDeath();
+
+ if(CheckAllBossDied(pInstance, m_creature))
+ pInstance->SetData(DATA_MAULGAREVENT, DONE);
}
- }
+ }
void UpdateAI(const uint32 diff)
{
@@ -402,17 +436,20 @@ struct TRINITY_DLL_DECL boss_kiggler_the_crazedAI : public ScriptedAI
}
}
- void JustDied(Unit* Killer)
- {
- if(pInstance)
+ void JustDied(Unit* Killer)
+ {
+ if(pInstance)
{
Creature *Maulgar = NULL;
Maulgar = (Creature*)(Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_MAULGAR)));
if(Maulgar)
((boss_high_king_maulgarAI*)Maulgar->AI())->AddDeath();
+
+ if(CheckAllBossDied(pInstance, m_creature))
+ pInstance->SetData(DATA_MAULGAREVENT, DONE);
}
- }
+ }
void UpdateAI(const uint32 diff)
{
@@ -507,17 +544,20 @@ struct TRINITY_DLL_DECL boss_blindeye_the_seerAI : public ScriptedAI
}
}
- void JustDied(Unit* Killer)
- {
- if(pInstance)
+ void JustDied(Unit* Killer)
+ {
+ if(pInstance)
{
Creature *Maulgar = NULL;
Maulgar = (Creature*)(Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_MAULGAR)));
if(Maulgar)
((boss_high_king_maulgarAI*)Maulgar->AI())->AddDeath();
+
+ if(CheckAllBossDied(pInstance, m_creature))
+ pInstance->SetData(DATA_MAULGAREVENT, DONE);
}
- }
+ }
void UpdateAI(const uint32 diff)
{
@@ -602,17 +642,20 @@ struct TRINITY_DLL_DECL boss_krosh_firehandAI : public ScriptedAI
}
}
- void JustDied(Unit* Killer)
- {
- if(pInstance)
+ void JustDied(Unit* Killer)
+ {
+ if(pInstance)
{
Creature *Maulgar = NULL;
Maulgar = (Creature*)(Unit::GetUnit((*m_creature), pInstance->GetData64(DATA_MAULGAR)));
if(Maulgar)
((boss_high_king_maulgarAI*)Maulgar->AI())->AddDeath();
+
+ if(CheckAllBossDied(pInstance, m_creature))
+ pInstance->SetData(DATA_MAULGAREVENT, DONE);
}
- }
+ }
void UpdateAI(const uint32 diff)
{
diff --git a/src/bindings/scripts/scripts/zone/gruuls_lair/instance_gruuls_lair.cpp b/src/bindings/scripts/scripts/zone/gruuls_lair/instance_gruuls_lair.cpp
index 9ecd95176f0..3951a2ba247 100644
--- a/src/bindings/scripts/scripts/zone/gruuls_lair/instance_gruuls_lair.cpp
+++ b/src/bindings/scripts/scripts/zone/gruuls_lair/instance_gruuls_lair.cpp
@@ -35,17 +35,17 @@ struct TRINITY_DLL_DECL instance_gruuls_lair : public ScriptedInstance
{
instance_gruuls_lair(Map *map) : ScriptedInstance(map) {Initialize();};
- bool Encounters[ENCOUNTERS];
+ uint32 Encounters[ENCOUNTERS];
uint64 MaulgarEvent_Tank;
uint64 KigglerTheCrazed;
uint64 BlindeyeTheSeer;
uint64 OlmTheSummoner;
uint64 KroshFirehand;
- uint64 Maulgar;
+ uint64 Maulgar;
- uint64 MaulgarDoor;
- uint64 GruulDoor;
+ uint64 MaulgarDoor;
+ uint64 GruulDoor;
void Initialize()
{
@@ -54,20 +54,19 @@ struct TRINITY_DLL_DECL instance_gruuls_lair : public ScriptedInstance
BlindeyeTheSeer = 0;
OlmTheSummoner = 0;
KroshFirehand = 0;
- Maulgar = 0;
-
- MaulgarDoor = 0;
- GruulDoor = 0;
+ Maulgar = 0;
+ MaulgarDoor = 0;
+ GruulDoor = 0;
for(uint8 i = 0; i < ENCOUNTERS; i++)
- Encounters[i] = false;
+ Encounters[i] = NOT_STARTED;
}
bool IsEncounterInProgress() const
{
for(uint8 i = 0; i < ENCOUNTERS; i++)
- if(Encounters[i]) return true;
+ if(Encounters[i] == IN_PROGRESS) return true;
return false;
}
@@ -77,21 +76,24 @@ struct TRINITY_DLL_DECL instance_gruuls_lair : public ScriptedInstance
switch(creature->GetEntry())
{
case 18835: KigglerTheCrazed = creature->GetGUID(); break;
- case 18836: BlindeyeTheSeer = creature->GetGUID(); break;
- case 18834: OlmTheSummoner = creature->GetGUID(); break;
- case 18832: KroshFirehand = creature->GetGUID(); break;
- case 18831: Maulgar = creature->GetGUID();break;
+ case 18836: BlindeyeTheSeer = creature->GetGUID(); break;
+ case 18834: OlmTheSummoner = creature->GetGUID(); break;
+ case 18832: KroshFirehand = creature->GetGUID(); break;
+ case 18831: Maulgar = creature->GetGUID(); break;
}
}
- void OnObjectCreate(GameObject* go)
+ void OnObjectCreate(GameObject* go)
{
- switch(go->GetEntry())
- {
- case 184468: MaulgarDoor = go->GetGUID();break;
- case 184662: GruulDoor = go->GetGUID();break;
- }
- }
+ switch(go->GetEntry())
+ {
+ case 184468:
+ MaulgarDoor = go->GetGUID();
+ if(Encounters[0] == DONE) HandleGameObject(NULL, true, go);
+ break;
+ case 184662: GruulDoor = go->GetGUID(); break;
+ }
+ }
void SetData64(uint32 type, uint64 data)
{
@@ -103,14 +105,14 @@ struct TRINITY_DLL_DECL instance_gruuls_lair : public ScriptedInstance
{
switch(identifier)
{
- case DATA_MAULGAREVENT_TANK: return MaulgarEvent_Tank;
- case DATA_KIGGLERTHECRAZED: return KigglerTheCrazed;
- case DATA_BLINDEYETHESEER: return BlindeyeTheSeer;
- case DATA_OLMTHESUMMONER: return OlmTheSummoner;
- case DATA_KROSHFIREHAND: return KroshFirehand;
- case DATA_MAULGARDOOR: return MaulgarDoor;
- case DATA_GRUULDOOR: return GruulDoor;
- case DATA_MAULGAR: return Maulgar;
+ case DATA_MAULGAREVENT_TANK: return MaulgarEvent_Tank;
+ case DATA_KIGGLERTHECRAZED: return KigglerTheCrazed;
+ case DATA_BLINDEYETHESEER: return BlindeyeTheSeer;
+ case DATA_OLMTHESUMMONER: return OlmTheSummoner;
+ case DATA_KROSHFIREHAND: return KroshFirehand;
+ case DATA_MAULGARDOOR: return MaulgarDoor;
+ case DATA_GRUULDOOR: return GruulDoor;
+ case DATA_MAULGAR: return Maulgar;
}
return 0;
}
@@ -120,13 +122,16 @@ struct TRINITY_DLL_DECL instance_gruuls_lair : public ScriptedInstance
switch(type)
{
case DATA_MAULGAREVENT:
+ if(data == DONE) HandleGameObject(MaulgarDoor, true);
Encounters[0] = data; break;
case DATA_GRUULEVENT:
+ if(data == IN_PROGRESS) HandleGameObject(GruulDoor, true);
+ else HandleGameObject(GruulDoor, false);
Encounters[1] = data; break;
}
- if(data == DONE)
- SaveToDB();
+ if(data == DONE)
+ SaveToDB();
}
uint32 GetData(uint32 type)
@@ -134,13 +139,12 @@ struct TRINITY_DLL_DECL instance_gruuls_lair : public ScriptedInstance
switch(type)
{
case DATA_MAULGAREVENT: return Encounters[0];
- case DATA_GRUULEVENT: return Encounters[1];
+ case DATA_GRUULEVENT: return Encounters[1];
}
return 0;
}
-
- const char* Save()
+ const char* Save()
{
OUT_SAVE_INST_DATA;
std::ostringstream stream;
@@ -173,6 +177,7 @@ struct TRINITY_DLL_DECL instance_gruuls_lair : public ScriptedInstance
OUT_LOAD_INST_DATA_COMPLETE;
}
};
+
InstanceData* GetInstanceData_instance_gruuls_lair(Map* map)
{
return new instance_gruuls_lair(map);
diff --git a/src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/boss_kelidan_the_breaker.cpp b/src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/boss_kelidan_the_breaker.cpp
index de74db2a251..8c118a022ea 100644
--- a/src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/boss_kelidan_the_breaker.cpp
+++ b/src/bindings/scripts/scripts/zone/hellfire_citadel/blood_furnace/boss_kelidan_the_breaker.cpp
@@ -128,7 +128,7 @@ struct TRINITY_DLL_DECL boss_kelidan_the_breakerAI : public ScriptedAI
}
for(int i=0; i<5; ++i)
{
- Creature *channeler = (Creature*)Unit::GetUnit(*m_creature, Channelers[i]);
+ Creature *channeler = Unit::GetCreature(*m_creature, Channelers[i]);
if(who && channeler && !channeler->isInCombat())
channeler->AI()->AttackStart(who);
}
@@ -138,7 +138,7 @@ struct TRINITY_DLL_DECL boss_kelidan_the_breakerAI : public ScriptedAI
{
for(int i=0; i<5; ++i)
{
- Creature *channeler = (Creature*)Unit::GetUnit(*m_creature, Channelers[i]);
+ Creature *channeler = Unit::GetCreature(*m_creature, Channelers[i]);
if(channeler && channeler->isAlive())
return;
}
@@ -154,7 +154,7 @@ struct TRINITY_DLL_DECL boss_kelidan_the_breakerAI : public ScriptedAI
int i;
for(i=0; i<5; ++i)
{
- Creature *channeler = (Creature*)Unit::GetUnit(*m_creature, Channelers[i]);
+ Creature *channeler = Unit::GetCreature(*m_creature, Channelers[i]);
if(channeler && channeler->GetGUID()==channeler1->GetGUID())
break;
}
@@ -165,7 +165,7 @@ struct TRINITY_DLL_DECL boss_kelidan_the_breakerAI : public ScriptedAI
{
for(int i=0; i<5; ++i)
{
- Creature *channeler = (Creature*)Unit::GetUnit(*m_creature, Channelers[i]);
+ Creature *channeler = Unit::GetCreature(*m_creature, Channelers[i]);
if(!channeler || channeler->isDead())
channeler = m_creature->SummonCreature(ENTRY_CHANNELER,ShadowmoonChannelers[i][0],ShadowmoonChannelers[i][1],ShadowmoonChannelers[i][2],ShadowmoonChannelers[i][3],TEMPSUMMON_CORPSE_TIMED_DESPAWN,300000);
if(channeler)
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 447a59c314c..86d76952b45 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
@@ -127,7 +127,7 @@ struct TRINITY_DLL_DECL boss_nazanAI : public ScriptedAI
if(flight) // phase 1 - the flight
{
- Creature *Vazruden = (Creature*)Unit::GetUnit(*m_creature,VazrudenGUID);
+ Creature *Vazruden = Unit::GetCreature(*m_creature,VazrudenGUID);
if(Fly_Timer < diff || !(Vazruden && Vazruden->isAlive() && (Vazruden->GetHealth()*5 > Vazruden->GetMaxHealth())))
{
flight = false;
@@ -279,8 +279,8 @@ struct TRINITY_DLL_DECL boss_vazruden_the_heraldAI : public ScriptedAI
{
if(summoned)
{
- Creature *Nazan = (Creature*)Unit::GetUnit(*m_creature, NazanGUID);
- Creature *Vazruden = (Creature*)Unit::GetUnit(*m_creature, VazrudenGUID);
+ Creature *Nazan = Unit::GetCreature(*m_creature, NazanGUID);
+ Creature *Vazruden = Unit::GetCreature(*m_creature, VazrudenGUID);
if(Nazan || (Nazan = (Creature *)FindCreature(ENTRY_NAZAN, 5000, m_creature)))
{
Nazan->SetLootRecipient(NULL);
@@ -381,8 +381,8 @@ struct TRINITY_DLL_DECL boss_vazruden_the_heraldAI : public ScriptedAI
default: // adds do the job now
if(check < diff)
{
- Creature *Nazan = (Creature*)Unit::GetUnit(*m_creature, NazanGUID);
- Creature *Vazruden = (Creature*)Unit::GetUnit(*m_creature, VazrudenGUID);
+ Creature *Nazan = Unit::GetCreature(*m_creature, NazanGUID);
+ Creature *Vazruden = Unit::GetCreature(*m_creature, VazrudenGUID);
if(Nazan && Nazan->isAlive() || Vazruden && Vazruden->isAlive())
{
if(Nazan && Nazan->getVictim() || Vazruden && Vazruden->getVictim())
diff --git a/src/bindings/scripts/scripts/zone/hellfire_citadel/magtheridons_lair/boss_magtheridon.cpp b/src/bindings/scripts/scripts/zone/hellfire_citadel/magtheridons_lair/boss_magtheridon.cpp
index 16d4b07ba15..50db6680e94 100644
--- a/src/bindings/scripts/scripts/zone/hellfire_citadel/magtheridons_lair/boss_magtheridon.cpp
+++ b/src/bindings/scripts/scripts/zone/hellfire_citadel/magtheridons_lair/boss_magtheridon.cpp
@@ -506,7 +506,7 @@ bool GOHello_go_Manticron_Cube(Player *player, GameObject* _GO)
ScriptedInstance* pInstance =(ScriptedInstance*)_GO->GetInstanceData();
if(!pInstance) return true;
if(pInstance->GetData(DATA_MAGTHERIDON_EVENT) != IN_PROGRESS) return true;
- Creature *Magtheridon =(Creature*)Unit::GetUnit(*_GO, pInstance->GetData64(DATA_MAGTHERIDON));
+ Creature *Magtheridon =Unit::GetCreature(*_GO, pInstance->GetData64(DATA_MAGTHERIDON));
if(!Magtheridon || !Magtheridon->isAlive()) return true;
// if exhausted or already channeling return
diff --git a/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_nethekurse.cpp b/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_nethekurse.cpp
index 91246b0c5b2..a18579ccfa9 100644
--- a/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_nethekurse.cpp
+++ b/src/bindings/scripts/scripts/zone/hellfire_citadel/shattered_halls/boss_nethekurse.cpp
@@ -335,7 +335,7 @@ struct TRINITY_DLL_DECL mob_fel_orc_convertAI : public ScriptedAI
{
if (pInstance->GetData64(DATA_NETHEKURSE))
{
- Creature *pKurse = (Creature*)Unit::GetUnit(*m_creature,pInstance->GetData64(DATA_NETHEKURSE));
+ Creature *pKurse = Unit::GetCreature(*m_creature,pInstance->GetData64(DATA_NETHEKURSE));
if (pKurse && m_creature->GetDistance(pKurse) < 45.0f)
{
((boss_grand_warlock_nethekurseAI*)pKurse->AI())->DoYellForPeonAggro();
@@ -356,7 +356,7 @@ struct TRINITY_DLL_DECL mob_fel_orc_convertAI : public ScriptedAI
return;
if (pInstance->GetData64(DATA_NETHEKURSE))
{
- Creature *pKurse = (Creature*)Unit::GetUnit(*m_creature,pInstance->GetData64(DATA_NETHEKURSE));
+ Creature *pKurse = Unit::GetCreature(*m_creature,pInstance->GetData64(DATA_NETHEKURSE));
if (pKurse)
((boss_grand_warlock_nethekurseAI*)pKurse->AI())->DoYellForPeonDeath();
}
diff --git a/src/bindings/scripts/scripts/zone/hellfire_peninsula/hellfire_peninsula.cpp b/src/bindings/scripts/scripts/zone/hellfire_peninsula/hellfire_peninsula.cpp
index 41112bad200..2adbc632155 100644
--- a/src/bindings/scripts/scripts/zone/hellfire_peninsula/hellfire_peninsula.cpp
+++ b/src/bindings/scripts/scripts/zone/hellfire_peninsula/hellfire_peninsula.cpp
@@ -275,7 +275,7 @@ struct TRINITY_DLL_DECL npc_wounded_blood_elfAI : public npc_escortAI
void WaypointReached(uint32 i)
{
- Unit* player = Unit::GetUnit((*m_creature), PlayerGUID);
+ Player* player = Unit::GetPlayer(PlayerGUID);
if (!player)
return;
@@ -303,7 +303,7 @@ struct TRINITY_DLL_DECL npc_wounded_blood_elfAI : public npc_escortAI
case 27:
DoScriptText(SAY_ELF_COMPLETE, m_creature, player);
// Award quest credit
- Unit* player = Unit::GetUnit((*m_creature), PlayerGUID);
+ Player* player = Unit::GetPlayer(PlayerGUID);
if (player && player->GetTypeId() == TYPEID_PLAYER)
((Player*)player)->GroupEventHappens(QUEST_ROAD_TO_FALCON_WATCH,m_creature);
break;
@@ -335,7 +335,7 @@ struct TRINITY_DLL_DECL npc_wounded_blood_elfAI : public npc_escortAI
if (PlayerGUID)
{
// If NPC dies, player fails the quest
- Unit* player = Unit::GetUnit((*m_creature), PlayerGUID);
+ Player* player = Unit::GetPlayer(PlayerGUID);
if (player && player->GetTypeId() == TYPEID_PLAYER)
((Player*)player)->FailQuest(QUEST_ROAD_TO_FALCON_WATCH);
}
diff --git a/src/bindings/scripts/scripts/zone/karazhan/boss_midnight.cpp b/src/bindings/scripts/scripts/zone/karazhan/boss_midnight.cpp
index 0f6d13c2198..e488ea26810 100644
--- a/src/bindings/scripts/scripts/zone/karazhan/boss_midnight.cpp
+++ b/src/bindings/scripts/scripts/zone/karazhan/boss_midnight.cpp
@@ -281,7 +281,7 @@ struct TRINITY_DLL_DECL boss_attumenAI : public ScriptedAI
{
if( (m_creature->GetHealth()*100)/m_creature->GetMaxHealth() < 25)
{
- Creature *pMidnight = (Creature*)Unit::GetUnit(*m_creature, Midnight);
+ Creature *pMidnight = Unit::GetCreature(*m_creature, Midnight);
if(pMidnight && pMidnight->GetTypeId() == TYPEID_UNIT)
{
((boss_midnightAI*)(pMidnight->AI()))->Mount(m_creature);
diff --git a/src/bindings/scripts/scripts/zone/karazhan/boss_moroes.cpp b/src/bindings/scripts/scripts/zone/karazhan/boss_moroes.cpp
index cf235b99880..b0457b49359 100644
--- a/src/bindings/scripts/scripts/zone/karazhan/boss_moroes.cpp
+++ b/src/bindings/scripts/scripts/zone/karazhan/boss_moroes.cpp
@@ -211,7 +211,7 @@ struct TRINITY_DLL_DECL boss_moroesAI : public ScriptedAI
AddGUID[i] = pCreature->GetGUID();
break;
case 1:
- pCreature = ((Creature*)Unit::GetUnit((*m_creature), AddGUID[i]));
+ pCreature = (Unit::GetCreature((*m_creature), AddGUID[i]));
if (pCreature)
{
pCreature->Respawn();
@@ -219,7 +219,7 @@ struct TRINITY_DLL_DECL boss_moroesAI : public ScriptedAI
}
break;
case 2:
- pCreature = ((Creature*)Unit::GetUnit((*m_creature), AddGUID[i]));
+ pCreature = (Unit::GetCreature((*m_creature), AddGUID[i]));
if (!pCreature->IsInEvadeMode())
pCreature->AI()->EnterEvadeMode();
break;
@@ -281,7 +281,7 @@ struct TRINITY_DLL_DECL boss_moroesAI : public ScriptedAI
Creature* Temp = NULL;
if (AddGUID[i])
{
- Temp = (Creature*)Unit::GetUnit((*m_creature),AddGUID[i]);
+ Temp = Unit::GetCreature((*m_creature),AddGUID[i]);
if (Temp && Temp->isAlive())
if (!Temp->getVictim() )
Temp->AI()->AttackStart(m_creature->getVictim());
@@ -392,7 +392,7 @@ struct TRINITY_DLL_DECL boss_moroes_guestAI : public ScriptedAI
return;
GuestGUID[0] = pInstance->GetData64(DATA_MOROES);
- Creature* Moroes = ((Creature*)Unit::GetUnit((*m_creature), GuestGUID[0]));
+ Creature* Moroes = (Unit::GetCreature((*m_creature), GuestGUID[0]));
if(Moroes)
{
for(uint8 i = 0; i < 3; ++i)
diff --git a/src/bindings/scripts/scripts/zone/karazhan/boss_terestian_illhoof.cpp b/src/bindings/scripts/scripts/zone/karazhan/boss_terestian_illhoof.cpp
index bf8d539026e..13dd8feab34 100644
--- a/src/bindings/scripts/scripts/zone/karazhan/boss_terestian_illhoof.cpp
+++ b/src/bindings/scripts/scripts/zone/karazhan/boss_terestian_illhoof.cpp
@@ -89,7 +89,7 @@ struct TRINITY_DLL_DECL mob_kilrekAI : public ScriptedAI
return;
}
- Creature* Terestian = ((Creature*)Unit::GetUnit(*m_creature, pInstance->GetData64(DATA_TERESTIAN)));
+ Creature* Terestian = (Unit::GetCreature(*m_creature, pInstance->GetData64(DATA_TERESTIAN)));
if(Terestian && !Terestian->getVictim())
Terestian->AddThreat(who, 1.0f);
}
@@ -211,10 +211,9 @@ struct TRINITY_DLL_DECL boss_terestianAI : public ScriptedAI
if(pInstance)
{
- Creature* Kilrek = ((Creature*)Unit::GetUnit(*m_creature, pInstance->GetData64(DATA_KILREK)));
-
+ Creature* Kilrek = (Unit::GetCreature(*m_creature, pInstance->GetData64(DATA_KILREK)));
// Respawn Kil'rek on aggro if Kil'rek is dead.
- if (!Kilrek || !Kilrek->isAlive())
+ if (Kilrek && !Kilrek->isAlive())
{
Kilrek->Respawn();
}
@@ -270,7 +269,7 @@ struct TRINITY_DLL_DECL boss_terestianAI : public ScriptedAI
uint64 KilrekGUID = pInstance->GetData64(DATA_KILREK);
else ERROR_INST_DATA(m_creature);
- Creature* Kilrek = ((Creature*)Unit::GetUnit(*m_creature, pInstance->GetData64(DATA_KILREK)));
+ Creature* Kilrek = (Unit::GetCreature(*m_creature, pInstance->GetData64(DATA_KILREK)));
if(SummonKilrek && Kilrek)
{
Kilrek->Respawn();
diff --git a/src/bindings/scripts/scripts/zone/karazhan/bosses_opera.cpp b/src/bindings/scripts/scripts/zone/karazhan/bosses_opera.cpp
index fdc8d0f1453..925cd3bd9f4 100644
--- a/src/bindings/scripts/scripts/zone/karazhan/bosses_opera.cpp
+++ b/src/bindings/scripts/scripts/zone/karazhan/bosses_opera.cpp
@@ -217,7 +217,7 @@ struct TRINITY_DLL_DECL mob_titoAI : public ScriptedAI
{
if(DorotheeGUID)
{
- Creature* Dorothee = ((Creature*)Unit::GetUnit((*m_creature), DorotheeGUID));
+ Creature* Dorothee = (Unit::GetCreature((*m_creature), DorotheeGUID));
if(Dorothee && Dorothee->isAlive())
{
((boss_dorotheeAI*)Dorothee->AI())->TitoDied = true;
@@ -1079,7 +1079,7 @@ struct TRINITY_DLL_DECL boss_romuloAI : public ScriptedAI
DoScriptText(SAY_ROMULO_AGGRO, m_creature);
if(JulianneGUID)
{
- Creature* Julianne = ((Creature*)Unit::GetUnit((*m_creature), JulianneGUID));
+ Creature* Julianne = (Unit::GetCreature((*m_creature), JulianneGUID));
if(Julianne && Julianne->getVictim())
{
m_creature->AddThreat(Julianne->getVictim(), 1.0f);
@@ -1316,7 +1316,7 @@ void boss_julianneAI::UpdateAI(const uint32 diff)
{
if(ResurrectTimer < diff)
{
- Creature* Romulo = ((Creature*)Unit::GetUnit((*m_creature), RomuloGUID));
+ Creature* Romulo = (Unit::GetCreature((*m_creature), RomuloGUID));
if(Romulo && ((boss_romuloAI*)Romulo->AI())->IsFakingDeath)
{
DoScriptText(SAY_JULIANNE_RESURRECT, m_creature);
@@ -1350,7 +1350,7 @@ void boss_julianneAI::UpdateAI(const uint32 diff)
{
if(rand()%2 == 1 && SummonedRomulo)
{
- Creature* Romulo = ((Creature*)Unit::GetUnit((*m_creature), RomuloGUID));
+ Creature* Romulo = (Unit::GetCreature((*m_creature), RomuloGUID));
if (Romulo && Romulo->isAlive() && !RomuloDead)
DoCast(Romulo, SPELL_ETERNAL_AFFECTION);
}else DoCast(m_creature, SPELL_ETERNAL_AFFECTION);
@@ -1370,7 +1370,7 @@ void boss_romuloAI::UpdateAI(const uint32 diff)
{
if(ResurrectTimer < diff)
{
- Creature* Julianne = ((Creature*)Unit::GetUnit((*m_creature), JulianneGUID));
+ Creature* Julianne = (Unit::GetCreature((*m_creature), JulianneGUID));
if(Julianne && ((boss_julianneAI*)Julianne->AI())->IsFakingDeath)
{
DoScriptText(SAY_ROMULO_RESURRECT, m_creature);
diff --git a/src/bindings/scripts/scripts/zone/magisters_terrace/boss_priestess_delrissa.cpp b/src/bindings/scripts/scripts/zone/magisters_terrace/boss_priestess_delrissa.cpp
index 3488eada9dd..81e818d63a8 100644
--- a/src/bindings/scripts/scripts/zone/magisters_terrace/boss_priestess_delrissa.cpp
+++ b/src/bindings/scripts/scripts/zone/magisters_terrace/boss_priestess_delrissa.cpp
@@ -373,7 +373,7 @@ struct TRINITY_DLL_DECL boss_priestess_guestAI : public ScriptedAI
return;
}
- Creature* Delrissa = ((Creature*)Unit::GetUnit(*m_creature, pInstance->GetData64(DATA_DELRISSA)));
+ Creature* Delrissa = (Unit::GetCreature(*m_creature, pInstance->GetData64(DATA_DELRISSA)));
if (Delrissa)
{
pInstance->SetData(DATA_DELRISSA_DEATH_COUNT, 1);
@@ -393,7 +393,7 @@ struct TRINITY_DLL_DECL boss_priestess_guestAI : public ScriptedAI
return;
}
- Creature* Delrissa = ((Creature*)Unit::GetUnit(*m_creature, pInstance->GetData64(DATA_DELRISSA)));
+ Creature* Delrissa = (Unit::GetCreature(*m_creature, pInstance->GetData64(DATA_DELRISSA)));
if (Delrissa)
Delrissa->AI()->KilledUnit(victim);
}
@@ -406,7 +406,7 @@ struct TRINITY_DLL_DECL boss_priestess_guestAI : public ScriptedAI
return;
}
- Creature* Delrissa = ((Creature*)Unit::GetUnit(*m_creature, pInstance->GetData64(DATA_DELRISSA)));
+ Creature* Delrissa = (Unit::GetCreature(*m_creature, pInstance->GetData64(DATA_DELRISSA)));
if (Delrissa)
{
Group = ((boss_priestess_delrissaAI*)Delrissa->AI())->Adds;
@@ -634,13 +634,13 @@ struct TRINITY_DLL_DECL boss_ellris_duskhallowAI : public boss_priestess_guestAI
/*void mob_fizzleAI::JustDied(Unit* killer)
{
- if(Creature* Ellris = ((Creature*)Unit::GetUnit(*m_creature, EllrisGUID)))
+ if(Creature* Ellris = (Unit::GetCreature(*m_creature, EllrisGUID)))
((boss_ellris_duskhallowAI*)Ellris->AI())->ImpGUID = 0;
}
void mob_fizzleAI::KilledUnit(Unit* victim)
{
- if(Creature* Ellris = ((Creature*)Unit::GetUnit(*m_creature, EllrisGUID)))
+ if(Creature* Ellris = (Unit::GetCreature(*m_creature, EllrisGUID)))
((boss_ellris_duskhallowAI*)Ellris->AI())->KilledUnit(victim);
}*/
@@ -1028,13 +1028,13 @@ struct TRINITY_DLL_DECL boss_garaxxasAI : public boss_priestess_guestAI
/*void mob_sliverAI::JustDied(Unit* killer)
{
- if(Creature* Garaxxas = ((Creature*)Unit::GetUnit(*m_creature, GaraxxasGUID)))
+ if(Creature* Garaxxas = (Unit::GetCreature(*m_creature, GaraxxasGUID)))
((boss_garaxxasAI*)Garaxxas->AI())->SliverGUID = 0;
}
void mob_sliverAI::KilledUnit(Unit* victim)
{
- if(Creature* Garaxxas = ((Creature*)Unit::GetUnit(*m_creature, GaraxxasGUID)))
+ if(Creature* Garaxxas = (Unit::GetCreature(*m_creature, GaraxxasGUID)))
((boss_garaxxasAI*)Garaxxas->AI())->KilledUnit(victim);
}*/
diff --git a/src/bindings/scripts/scripts/zone/magisters_terrace/boss_selin_fireheart.cpp b/src/bindings/scripts/scripts/zone/magisters_terrace/boss_selin_fireheart.cpp
index 2dc2d893c5a..c18128bbe1a 100644
--- a/src/bindings/scripts/scripts/zone/magisters_terrace/boss_selin_fireheart.cpp
+++ b/src/bindings/scripts/scripts/zone/magisters_terrace/boss_selin_fireheart.cpp
@@ -174,8 +174,8 @@ struct TRINITY_DLL_DECL boss_selin_fireheartAI : public ScriptedAI
//for(uint8 i = 0; i < CRYSTALS_NUMBER; ++i)
for(std::list<uint64>::iterator itr = Crystals.begin(); itr != Crystals.end(); ++itr)
{
- //Creature* pCrystal = ((Creature*)Unit::GetUnit(*m_creature, FelCrystals[i]));
- Creature* pCrystal = ((Creature*)Unit::GetUnit(*m_creature, *itr));
+ //Creature* pCrystal = (Unit::GetCreature(*m_creature, FelCrystals[i]));
+ Creature* pCrystal = (Unit::GetCreature(*m_creature, *itr));
if (pCrystal && pCrystal->isAlive())
pCrystal->DealDamage(pCrystal, pCrystal->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
}
@@ -342,7 +342,7 @@ struct TRINITY_DLL_DECL mob_fel_crystalAI : public ScriptedAI
{
if (ScriptedInstance* pInstance = ((ScriptedInstance*)m_creature->GetInstanceData()))
{
- Creature* Selin = ((Creature*)Unit::GetUnit(*m_creature, pInstance->GetData64(DATA_SELIN)));
+ Creature* Selin = (Unit::GetCreature(*m_creature, pInstance->GetData64(DATA_SELIN)));
if (Selin && Selin->isAlive())
{
if (((boss_selin_fireheartAI*)Selin->AI())->CrystalGUID == m_creature->GetGUID())
diff --git a/src/bindings/scripts/scripts/zone/netherstorm/netherstorm.cpp b/src/bindings/scripts/scripts/zone/netherstorm/netherstorm.cpp
index e8f6cae5e40..7704247cf90 100644
--- a/src/bindings/scripts/scripts/zone/netherstorm/netherstorm.cpp
+++ b/src/bindings/scripts/scripts/zone/netherstorm/netherstorm.cpp
@@ -422,9 +422,9 @@ struct TRINITY_DLL_DECL npc_commander_dawnforgeAI : public ScriptedAI
// Emote Ardonis and Pathaleon
void Turn_to_Pathaleons_Image()
{
- Unit *ardonis = Unit::GetUnit(*m_creature,ardonisGUID);
- Unit *pathaleon = Unit::GetUnit(*m_creature,pathaleonGUID);
- Player *player = (Player*)Unit::GetUnit(*m_creature,playerGUID);
+ Creature *ardonis = Unit::GetCreature(*m_creature,ardonisGUID);
+ Creature *pathaleon = Unit::GetCreature(*m_creature,pathaleonGUID);
+ Player *player = Unit::GetPlayer(playerGUID);
if (!ardonis || !pathaleon || !player)
return;
@@ -450,7 +450,7 @@ struct TRINITY_DLL_DECL npc_commander_dawnforgeAI : public ScriptedAI
{
if (Unit *ardonis = Unit::GetUnit(*m_creature,ardonisGUID))
{
- Player *player = (Player*)Unit::GetUnit(*m_creature,playerGUID);
+ Player *player = Unit::GetPlayer(playerGUID);
if (!player)
return;
@@ -507,7 +507,7 @@ struct TRINITY_DLL_DECL npc_commander_dawnforgeAI : public ScriptedAI
Unit *ardonis = Unit::GetUnit(*m_creature,ardonisGUID);
Unit *pathaleon = Unit::GetUnit(*m_creature,pathaleonGUID);
- Player *player = (Player*)Unit::GetUnit(*m_creature,playerGUID);
+ Player *player = Unit::GetPlayer(playerGUID);
if (!ardonis || !player)
{
@@ -915,14 +915,14 @@ struct TRINITY_DLL_DECL npc_bessyAI : public npc_escortAI
{
if (PlayerGUID)
{
- if (Unit* player = Unit::GetUnit((*m_creature), PlayerGUID))
+ if (Player* player = Unit::GetPlayer(PlayerGUID))
((Player*)player)->FailQuest(Q_ALMABTRIEB);
}
}
void WaypointReached(uint32 i)
{
- Unit* player = Unit::GetUnit((*m_creature), PlayerGUID);
+ Player* player = Unit::GetPlayer(PlayerGUID);
if (!player)
return;
diff --git a/src/bindings/scripts/scripts/zone/razorfen_kraul/razorfen_kraul.cpp b/src/bindings/scripts/scripts/zone/razorfen_kraul/razorfen_kraul.cpp
index 2edb4afcf16..8a65b493c5a 100644
--- a/src/bindings/scripts/scripts/zone/razorfen_kraul/razorfen_kraul.cpp
+++ b/src/bindings/scripts/scripts/zone/razorfen_kraul/razorfen_kraul.cpp
@@ -49,7 +49,7 @@ npc_willixAI(Creature *c) : npc_escortAI(c) {}
void WaypointReached(uint32 i)
{
- Unit* player = Unit::GetUnit((*m_creature), PlayerGUID);
+ Player* player = Unit::GetPlayer(PlayerGUID);
if (!player)
return;
@@ -114,7 +114,7 @@ npc_willixAI(Creature *c) : npc_escortAI(c) {}
{
if (PlayerGUID)
{
- if (Unit* player = Unit::GetUnit((*m_creature), PlayerGUID))
+ if (Player* player = Unit::GetPlayer(PlayerGUID))
((Player*)player)->FailQuest(QUEST_WILLIX_THE_IMPORTER);
}
}
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 6b14a4c9e45..9d1b447e746 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
@@ -464,7 +464,7 @@ struct TRINITY_DLL_DECL boss_headless_horsemanAI : public ScriptedAI
if (withhead)
SaySound(SAY_PLAYER_DEATH);
else { //maybe possible when player dies from conflagration
- Creature *Head = (Creature*)Unit::GetUnit((*m_creature), headGUID);
+ Creature *Head = Unit::GetCreature((*m_creature), headGUID);
if (Head)
((mob_headAI*)Head->AI())->SaySound(SAY_PLAYER_DEATH);
}
@@ -666,7 +666,7 @@ struct TRINITY_DLL_DECL boss_headless_horsemanAI : public ScriptedAI
{
if (Phase > 1) --Phase;
else Phase = 1;
- Creature* Head = (Creature*)Unit::GetUnit((*m_creature), headGUID);
+ Creature* Head = Unit::GetCreature((*m_creature), headGUID);
if (Head && Head->isAlive())
{
((mob_headAI*)Head->AI())->Phase = Phase;
@@ -697,7 +697,7 @@ void mob_headAI::Disappear()
return;
if (bodyGUID)
{
- Creature *body = (Creature*)Unit::GetUnit((*m_creature), bodyGUID);
+ Creature *body = Unit::GetCreature((*m_creature), bodyGUID);
if(body && body->isAlive())
{
withbody = true;
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 516ef7c5b09..0a84d13349e 100644
--- a/src/bindings/scripts/scripts/zone/shadowmoon_valley/shadowmoon_valley.cpp
+++ b/src/bindings/scripts/scripts/zone/shadowmoon_valley/shadowmoon_valley.cpp
@@ -129,7 +129,7 @@ struct TRINITY_DLL_DECL mob_mature_netherwing_drakeAI : public ScriptedAI
DoScriptText(SAY_JUST_EATEN, m_creature);
if(PlayerGUID)
{
- Player* plr = ((Player*)Unit::GetUnit((*m_creature), PlayerGUID));
+ Player* plr = Unit::GetPlayer(PlayerGUID);
if(plr && plr->GetQuestStatus(10804) == QUEST_STATUS_INCOMPLETE)
{
plr->KilledMonster(22131, m_creature->GetGUID());
@@ -259,7 +259,7 @@ struct TRINITY_DLL_DECL mob_enslaved_netherwing_drakeAI : public ScriptedAI
Tapped = false;
if(PlayerGUID)
{
- Player* plr = ((Player*)Unit::GetUnit((*m_creature), PlayerGUID));
+ Player* plr = Unit::GetPlayer(PlayerGUID);
if(plr && plr->GetQuestStatus(10854) == QUEST_STATUS_INCOMPLETE)
{
plr->KilledMonster(22316, m_creature->GetGUID());
@@ -357,7 +357,7 @@ struct TRINITY_DLL_DECL mob_dragonmaw_peonAI : public ScriptedAI
{
if(PlayerGUID)
{
- Player* plr = ((Player*)Unit::GetUnit((*m_creature), PlayerGUID));
+ Player* plr = Unit::GetPlayer(PlayerGUID);
if(plr && plr->GetQuestStatus(11020) == QUEST_STATUS_INCOMPLETE)
plr->KilledMonster(23209, m_creature->GetGUID());
}
@@ -701,7 +701,7 @@ struct TRINITY_DLL_DECL npc_overlord_morghorAI : public ScriptedAI
Illidan->SetVisibility(VISIBILITY_OFF);
if(PlayerGUID)
{
- Unit* player = Unit::GetUnit((*m_creature), PlayerGUID);
+ Player* player = Unit::GetPlayer(PlayerGUID);
DoScriptText(OVERLORD_SAY_1, m_creature, player);
}
ConversationTimer = 4200;
@@ -869,7 +869,7 @@ struct TRINITY_DLL_DECL npc_earthmender_wildaAI : public npc_escortAI
void Aggro(Unit *who)
{
- Unit* player = Unit::GetUnit((*m_creature), PlayerGUID);
+ Player* player = Unit::GetPlayer(PlayerGUID);
if(who->GetTypeId() == TYPEID_UNIT && who->GetEntry() == NPC_COILSKAR_ASSASSIN)
DoScriptText(SAY_AGGRO2, m_creature, player);
@@ -884,7 +884,7 @@ struct TRINITY_DLL_DECL npc_earthmender_wildaAI : public npc_escortAI
void WaypointReached(uint32 i)
{
- Unit* player = Unit::GetUnit((*m_creature), PlayerGUID);
+ Player* player = Unit::GetPlayer(PlayerGUID);
if (!player)
return;
@@ -953,7 +953,7 @@ struct TRINITY_DLL_DECL npc_earthmender_wildaAI : public npc_escortAI
void SummonAssassin()
{
- Unit* player = Unit::GetUnit((*m_creature), PlayerGUID);
+ Player* player = Unit::GetPlayer(PlayerGUID);
Unit* CoilskarAssassin = m_creature->SummonCreature(NPC_COILSKAR_ASSASSIN, m_creature->GetPositionX(), m_creature->GetPositionY(), m_creature->GetPositionZ(), m_creature->GetOrientation(), TEMPSUMMON_DEAD_DESPAWN, 0);
if( CoilskarAssassin )
@@ -972,7 +972,7 @@ struct TRINITY_DLL_DECL npc_earthmender_wildaAI : public npc_escortAI
{
if (PlayerGUID && !Completed)
{
- Unit* player = Unit::GetUnit((*m_creature), PlayerGUID);
+ Player* player = Unit::GetPlayer(PlayerGUID);
if (player)
((Player*)player)->FailQuest(QUEST_ESCAPE_FROM_COILSKAR_CISTERN);
}
@@ -1289,7 +1289,7 @@ struct TRINITY_DLL_DECL mob_torloth_the_magnificentAI : public ScriptedAI
if(TorlothAnim[AnimationCount].Creature == 1)
{
- pCreature = ((Creature*)Unit::GetUnit(*m_creature, LordIllidanGUID));
+ pCreature = (Unit::GetCreature(*m_creature, LordIllidanGUID));
if(!pCreature)
return;
@@ -1309,7 +1309,7 @@ struct TRINITY_DLL_DECL mob_torloth_the_magnificentAI : public ScriptedAI
m_creature->RemoveFlag(UNIT_FIELD_BYTES_1,8);
break;
case 5:
- if(Player* AggroTarget = ((Player*)Unit::GetUnit((*m_creature), AggroTargetGUID)))
+ if(Player* AggroTarget = (Unit::GetPlayer(AggroTargetGUID)))
{
m_creature->SetUInt64Value(UNIT_FIELD_TARGET, AggroTarget->GetGUID());
m_creature->AddThreat(AggroTarget, 1);
@@ -1317,7 +1317,7 @@ struct TRINITY_DLL_DECL mob_torloth_the_magnificentAI : public ScriptedAI
}
break;
case 6:
- if(Player* AggroTarget = ((Player*)Unit::GetUnit((*m_creature), AggroTargetGUID)))
+ if(Player* AggroTarget = (Unit::GetPlayer(AggroTargetGUID)))
{
m_creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
m_creature->clearUnitState(UNIT_STAT_ROOT);
@@ -1392,7 +1392,7 @@ struct TRINITY_DLL_DECL mob_torloth_the_magnificentAI : public ScriptedAI
break;
}
- if(Creature* LordIllidan = ((Creature*)Unit::GetUnit(*m_creature, LordIllidanGUID)))
+ if(Creature* LordIllidan = (Unit::GetCreature(*m_creature, LordIllidanGUID)))
{
DoScriptText(END_TEXT, LordIllidan, slayer);
LordIllidan->AI()->EnterEvadeMode();
@@ -1485,7 +1485,7 @@ struct TRINITY_DLL_DECL npc_lord_illidan_stormrageAI : public ScriptedAI
{
if(PlayerGUID)
{
- if(Player* pTarget = ((Player*)Unit::GetUnit((*m_creature), PlayerGUID)))
+ if(Player* pTarget = Unit::GetPlayer(PlayerGUID))
{
float x, y, z;
pTarget->GetPosition(x,y,z);
@@ -1510,7 +1510,7 @@ struct TRINITY_DLL_DECL npc_lord_illidan_stormrageAI : public ScriptedAI
void CheckEventFail()
{
- Player* pPlayer = ((Player*)Unit::GetUnit((*m_creature), PlayerGUID));
+ Player* pPlayer = Unit::GetPlayer(PlayerGUID);
if(!pPlayer)
return;
@@ -1527,7 +1527,7 @@ struct TRINITY_DLL_DECL npc_lord_illidan_stormrageAI : public ScriptedAI
for(Group::member_citerator itr = members.begin(); itr!= members.end(); itr++)
{
- GroupMember = ((Player*)Unit::GetUnit((*m_creature), itr->guid));
+ GroupMember = (Unit::GetPlayer(itr->guid));
if(!GroupMember)
continue;
if(!GroupMember->IsWithinDistInMap(m_creature, EVENT_AREA_RADIUS) && GroupMember->GetQuestStatus(QUEST_BATTLE_OF_THE_CRIMSON_WATCH) == QUEST_STATUS_INCOMPLETE)
@@ -1553,7 +1553,7 @@ struct TRINITY_DLL_DECL npc_lord_illidan_stormrageAI : public ScriptedAI
{
for(Group::member_citerator itr = members.begin(); itr!= members.end(); itr++)
{
- GroupMember = ((Player*)Unit::GetUnit((*m_creature), itr->guid));
+ GroupMember = Unit::GetPlayer(itr->guid);
if(GroupMember && GroupMember->GetQuestStatus(QUEST_BATTLE_OF_THE_CRIMSON_WATCH) == QUEST_STATUS_INCOMPLETE)
{
@@ -1605,7 +1605,7 @@ struct TRINITY_DLL_DECL npc_lord_illidan_stormrageAI : public ScriptedAI
void mob_illidari_spawnAI::JustDied(Unit *slayer)
{
m_creature->RemoveCorpse();
- if(Creature* LordIllidan = ((Creature*)Unit::GetUnit(*m_creature, LordIllidanGUID)))
+ if(Creature* LordIllidan = (Unit::GetCreature(*m_creature, LordIllidanGUID)))
if(LordIllidan)
((npc_lord_illidan_stormrageAI*)LordIllidan->AI())->LiveCounter();
}
diff --git a/src/bindings/scripts/scripts/zone/shattrath/shattrath_city.cpp b/src/bindings/scripts/scripts/zone/shattrath/shattrath_city.cpp
index d299efb3ea8..583a6324a00 100644
--- a/src/bindings/scripts/scripts/zone/shattrath/shattrath_city.cpp
+++ b/src/bindings/scripts/scripts/zone/shattrath/shattrath_city.cpp
@@ -311,7 +311,7 @@ public:
case 56: DoScriptText(WHISP21, m_creature, pTemp);
if( PlayerGUID )
{
- Unit* player = ((Creature*)Unit::GetUnit((*m_creature), PlayerGUID));
+ Unit* player = (Unit::GetCreature((*m_creature), PlayerGUID));
if( player && player->GetTypeId() == TYPEID_PLAYER )
((Player*)player)->GroupEventHappens(10211,m_creature);
}
@@ -415,7 +415,7 @@ struct TRINITY_DLL_DECL npc_dirty_larryAI : public ScriptedAI
uint32 NextStep(uint32 Step)
{
- Unit* player = Unit::GetUnit((*m_creature), PlayerGUID);
+ Player* player = Unit::GetPlayer(PlayerGUID);
switch(Step)
{
@@ -449,7 +449,7 @@ struct TRINITY_DLL_DECL npc_dirty_larryAI : public ScriptedAI
if(Attack)
{
- Unit* player = Unit::GetUnit((*m_creature), PlayerGUID);
+ Player* player = Unit::GetPlayer(PlayerGUID);
m_creature->setFaction(14);
m_creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
if(player)
@@ -501,7 +501,7 @@ struct TRINITY_DLL_DECL npc_dirty_larryAI : public ScriptedAI
m_creature->DeleteThreatList();
m_creature->CombatStop();
m_creature->GetMotionMaster()->MoveTargetedHome();
- Unit* player = Unit::GetUnit((*m_creature), PlayerGUID);
+ Player* player = Unit::GetPlayer(PlayerGUID);
if(player)
((Player*)player)->GroupEventHappens(QUEST_WBI, m_creature);
}
diff --git a/src/bindings/scripts/scripts/zone/silverpine_forest/silverpine_forest.cpp b/src/bindings/scripts/scripts/zone/silverpine_forest/silverpine_forest.cpp
index 16e372f7261..c975dea89cf 100644
--- a/src/bindings/scripts/scripts/zone/silverpine_forest/silverpine_forest.cpp
+++ b/src/bindings/scripts/scripts/zone/silverpine_forest/silverpine_forest.cpp
@@ -116,7 +116,7 @@ struct TRINITY_DLL_DECL npc_deathstalker_erlandAI : public npc_escortAI
void WaypointReached(uint32 i)
{
- Unit* player = Unit::GetUnit((*m_creature), PlayerGUID);
+ Player* player = Unit::GetPlayer(PlayerGUID);
if (!player)
return;
diff --git a/src/bindings/scripts/scripts/zone/stonetalon_mountains/stonetalon_mountains.cpp b/src/bindings/scripts/scripts/zone/stonetalon_mountains/stonetalon_mountains.cpp
index a438c14294d..fcb44c764f3 100644
--- a/src/bindings/scripts/scripts/zone/stonetalon_mountains/stonetalon_mountains.cpp
+++ b/src/bindings/scripts/scripts/zone/stonetalon_mountains/stonetalon_mountains.cpp
@@ -95,7 +95,7 @@ struct TRINITY_DLL_DECL npc_kaya_flathoofAI : public npc_escortAI
void WaypointReached(uint32 i)
{
- Unit* player = Unit::GetUnit((*m_creature), PlayerGUID);
+ Player* player = Unit::GetPlayer(PlayerGUID);
if(!player)
return;
@@ -129,7 +129,7 @@ struct TRINITY_DLL_DECL npc_kaya_flathoofAI : public npc_escortAI
{
if (PlayerGUID)
{
- Unit* player = Unit::GetUnit((*m_creature), PlayerGUID);
+ Player* player = Unit::GetPlayer(PlayerGUID);
if (player)
((Player*)player)->FailQuest(QUEST_PK);
}
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 bf2b11c3b9b..34f0f98fef4 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
@@ -537,7 +537,7 @@ struct TRINITY_DLL_DECL boss_alythessAI : public Scripted_NoMovementAI
uint32 IntroStep(uint32 step)
{
- Creature* Sacrolash = (Creature*)Unit::GetUnit((*m_creature),pInstance->GetData64(DATA_SACROLASH));
+ Creature* Sacrolash = Unit::GetCreature((*m_creature),pInstance->GetData64(DATA_SACROLASH));
switch (step)
{
case 0: DoPlaySoundToSet(m_creature,SOUND_INTRO); return 0;
diff --git a/src/bindings/scripts/scripts/zone/tanaris/tanaris.cpp b/src/bindings/scripts/scripts/zone/tanaris/tanaris.cpp
index bb1280a8ba6..0278d40a7cb 100644
--- a/src/bindings/scripts/scripts/zone/tanaris/tanaris.cpp
+++ b/src/bindings/scripts/scripts/zone/tanaris/tanaris.cpp
@@ -360,7 +360,7 @@ struct TRINITY_DLL_DECL npc_OOX17AI : public npc_escortAI
void WaypointReached(uint32 i)
{
- Unit* player = Unit::GetUnit((*m_creature), PlayerGUID);
+ Player* player = Unit::GetPlayer(PlayerGUID);
if (!player)
return;
@@ -413,7 +413,7 @@ struct TRINITY_DLL_DECL npc_OOX17AI : public npc_escortAI
{
if (PlayerGUID)
{
- if (Unit* player = Unit::GetUnit((*m_creature), PlayerGUID))
+ if (Player* player = Unit::GetPlayer(PlayerGUID))
((Player*)player)->FailQuest(Q_OOX17);
}
}
diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/instance_arcatraz.cpp b/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/instance_arcatraz.cpp
index 36ff863abe7..a0d21e302b5 100644
--- a/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/instance_arcatraz.cpp
+++ b/src/bindings/scripts/scripts/zone/tempest_keep/arcatraz/instance_arcatraz.cpp
@@ -85,7 +85,7 @@ struct TRINITY_DLL_DECL instance_arcatraz : public ScriptedInstance
bool IsEncounterInProgress() const
{
for(uint8 i = 0; i < ENCOUNTERS; i++)
- if(Encounter[i])
+ if(Encounter[i] == IN_PROGRESS)
return true;
return false;
diff --git a/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/instance_the_eye.cpp b/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/instance_the_eye.cpp
index bc407a3de99..66e595ab729 100644
--- a/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/instance_the_eye.cpp
+++ b/src/bindings/scripts/scripts/zone/tempest_keep/the_eye/instance_the_eye.cpp
@@ -48,7 +48,7 @@ struct TRINITY_DLL_DECL instance_the_eye : public ScriptedInstance
uint8 KaelthasEventPhase;
uint8 AlarEventPhase;
- bool Encounters[ENCOUNTERS];
+ uint32 Encounters[ENCOUNTERS];
void Initialize()
{
@@ -64,13 +64,13 @@ struct TRINITY_DLL_DECL instance_the_eye : public ScriptedInstance
AlarEventPhase = 0;
for(uint8 i = 0; i < ENCOUNTERS; i++)
- Encounters[i] = false;
+ Encounters[i] = NOT_STARTED;
}
bool IsEncounterInProgress() const
{
for(uint8 i = 0; i < ENCOUNTERS; i++)
- if(Encounters[i]) return true;
+ if(Encounters[i] == IN_PROGRESS) return true;
return false;
}
diff --git a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_cthun.cpp b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_cthun.cpp
index d6ffe70dc69..ca0711f1222 100644
--- a/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_cthun.cpp
+++ b/src/bindings/scripts/scripts/zone/temple_of_ahnqiraj/boss_cthun.cpp
@@ -1255,7 +1255,7 @@ void flesh_tentacleAI::JustDied(Unit* killer)
return;
}
- Creature* Cthun = (Creature*)Unit::GetUnit(*m_creature, Parent);
+ Creature* Cthun = Unit::GetCreature(*m_creature, Parent);
if (Cthun)
((cthunAI*)(Cthun->AI()))->FleshTentcleKilled();
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 710268c0cff..6deaa769ae5 100644
--- a/src/bindings/scripts/scripts/zone/terokkar_forest/terokkar_forest.cpp
+++ b/src/bindings/scripts/scripts/zone/terokkar_forest/terokkar_forest.cpp
@@ -378,7 +378,7 @@ struct TRINITY_DLL_DECL npc_isla_starmaneAI : public npc_escortAI
void WaypointReached(uint32 i)
{
- Unit* player = Unit::GetUnit((*m_creature), PlayerGUID);
+ Player* player = Unit::GetPlayer(PlayerGUID);
if(!player)
return;
@@ -421,7 +421,7 @@ struct TRINITY_DLL_DECL npc_isla_starmaneAI : public npc_escortAI
{
if (PlayerGUID)
{
- Unit* player = Unit::GetUnit((*m_creature), PlayerGUID);
+ Player* player = Unit::GetPlayer(PlayerGUID);
if (player && !Completed)
{
if(((Player*)player)->GetTeam() == ALLIANCE)
diff --git a/src/bindings/scripts/scripts/zone/thousand_needles/thousand_needles.cpp b/src/bindings/scripts/scripts/zone/thousand_needles/thousand_needles.cpp
index cdd7cfd924d..922687b0723 100644
--- a/src/bindings/scripts/scripts/zone/thousand_needles/thousand_needles.cpp
+++ b/src/bindings/scripts/scripts/zone/thousand_needles/thousand_needles.cpp
@@ -46,7 +46,7 @@ npc_swiftmountainAI(Creature *c) : npc_escortAI(c) {}
void WaypointReached(uint32 i)
{
- Unit* player = Unit::GetUnit((*m_creature), PlayerGUID);
+ Player* player = Unit::GetPlayer(PlayerGUID);
if (!player)
return;
@@ -86,7 +86,7 @@ npc_swiftmountainAI(Creature *c) : npc_escortAI(c) {}
{
if (PlayerGUID)
{
- if (Unit* player = Unit::GetUnit((*m_creature), PlayerGUID))
+ if (Player* player = Unit::GetPlayer(PlayerGUID))
((Player*)player)->FailQuest(QUEST_HOMEWARD_BOUND);
}
}
diff --git a/src/bindings/scripts/scripts/zone/ungoro_crater/ungoro_crater.cpp b/src/bindings/scripts/scripts/zone/ungoro_crater/ungoro_crater.cpp
index 619d9d7802f..9bb13dd7718 100644
--- a/src/bindings/scripts/scripts/zone/ungoro_crater/ungoro_crater.cpp
+++ b/src/bindings/scripts/scripts/zone/ungoro_crater/ungoro_crater.cpp
@@ -51,7 +51,7 @@ struct TRINITY_DLL_DECL npc_ameAI : public npc_escortAI
void WaypointReached(uint32 i)
{
- Unit* player = Unit::GetUnit((*m_creature), PlayerGUID);
+ Player* player = Unit::GetPlayer(PlayerGUID);
if (!player)
return;
@@ -100,7 +100,7 @@ struct TRINITY_DLL_DECL npc_ameAI : public npc_escortAI
{
if (PlayerGUID)
{
- if (Unit* player = Unit::GetUnit((*m_creature), PlayerGUID))
+ if (Player* player = Unit::GetPlayer(PlayerGUID))
((Player*)player)->FailQuest(QUEST_CHASING_AME);
}
}
diff --git a/src/bindings/scripts/scripts/zone/westfall/westfall.cpp b/src/bindings/scripts/scripts/zone/westfall/westfall.cpp
index 5e392e138d6..9f981d4a35c 100644
--- a/src/bindings/scripts/scripts/zone/westfall/westfall.cpp
+++ b/src/bindings/scripts/scripts/zone/westfall/westfall.cpp
@@ -47,7 +47,7 @@ struct TRINITY_DLL_DECL npc_defias_traitorAI : public npc_escortAI
void WaypointReached(uint32 i)
{
- Unit* player = Unit::GetUnit((*m_creature), PlayerGUID);
+ Player* player = Unit::GetPlayer(PlayerGUID);
if (!player)
return;
@@ -95,8 +95,8 @@ struct TRINITY_DLL_DECL npc_defias_traitorAI : public npc_escortAI
{
if (PlayerGUID)
{
- if (Unit* player = Unit::GetUnit((*m_creature), PlayerGUID))
- ((Player*)player)->FailQuest(QUEST_DEFIAS_BROTHERHOOD);
+ if (Player* player = Unit::GetPlayer(PlayerGUID))
+ player->FailQuest(QUEST_DEFIAS_BROTHERHOOD);
}
}
diff --git a/src/bindings/scripts/scripts/zone/zangarmarsh/zangarmarsh.cpp b/src/bindings/scripts/scripts/zone/zangarmarsh/zangarmarsh.cpp
index 3d7481544e8..ebe549a0599 100644
--- a/src/bindings/scripts/scripts/zone/zangarmarsh/zangarmarsh.cpp
+++ b/src/bindings/scripts/scripts/zone/zangarmarsh/zangarmarsh.cpp
@@ -287,7 +287,7 @@ struct TRINITY_DLL_DECL npc_kayra_longmaneAI : public npc_escortAI
void WaypointReached(uint32 i)
{
- Unit* player = Unit::GetUnit((*m_creature), PlayerGUID);
+ Player* player = Unit::GetPlayer(PlayerGUID);
switch(i)
{
@@ -308,7 +308,7 @@ struct TRINITY_DLL_DECL npc_kayra_longmaneAI : public npc_escortAI
case 26: DoScriptText(SAY_PROGRESS_6, m_creature, player);
Completed = true;
if(player)
- ((Player*)player)->GroupEventHappens(QUEST_EFU, m_creature);
+ player->GroupEventHappens(QUEST_EFU, m_creature);
break;
}
}
@@ -317,9 +317,9 @@ struct TRINITY_DLL_DECL npc_kayra_longmaneAI : public npc_escortAI
{
if (PlayerGUID && !Completed)
{
- Unit* player = Unit::GetUnit((*m_creature), PlayerGUID);
+ Player* player = Unit::GetPlayer(PlayerGUID);
if (player && !Completed)
- ((Player*)player)->FailQuest(QUEST_EFU);
+ player->FailQuest(QUEST_EFU);
}
}
diff --git a/src/bindings/scripts/scripts/zone/zulaman/boss_hexlord.cpp b/src/bindings/scripts/scripts/zone/zulaman/boss_hexlord.cpp
index 3014394976e..56741452c66 100644
--- a/src/bindings/scripts/scripts/zone/zulaman/boss_hexlord.cpp
+++ b/src/bindings/scripts/scripts/zone/zulaman/boss_hexlord.cpp
@@ -311,7 +311,7 @@ struct TRINITY_DLL_DECL boss_hex_lord_malacrassAI : public ScriptedAI
{
for(uint8 i = 0; i < 4; ++i)
{
- Creature *pCreature = ((Creature*)Unit::GetUnit((*m_creature), AddGUID[i]));
+ Creature *pCreature = (Unit::GetCreature((*m_creature), AddGUID[i]));
if(!pCreature || !pCreature->isAlive())
{
if(pCreature) pCreature->setDeathState(DEAD);
diff --git a/src/bindings/scripts/scripts/zone/zulaman/zulaman.cpp b/src/bindings/scripts/scripts/zone/zulaman/zulaman.cpp
index a7243ac125d..62130f9a863 100644
--- a/src/bindings/scripts/scripts/zone/zulaman/zulaman.cpp
+++ b/src/bindings/scripts/scripts/zone/zulaman/zulaman.cpp
@@ -114,7 +114,7 @@ struct TRINITY_DLL_DECL npc_zulaman_hostageAI : public ScriptedAI
void Aggro(Unit *who) {}
void JustDied(Unit *)
{
- Player* player = (Player*)Unit::GetUnit(*m_creature, PlayerGUID);
+ Player* player = Unit::GetPlayer(PlayerGUID);
if(player) player->SendLoot(m_creature->GetGUID(), LOOT_CORPSE);
}
void UpdateAI(const uint32 diff)
diff --git a/src/game/Creature.cpp b/src/game/Creature.cpp
index e41d18ac0a0..7a4cac89408 100644
--- a/src/game/Creature.cpp
+++ b/src/game/Creature.cpp
@@ -116,7 +116,7 @@ bool AssistDelayEvent::Execute(uint64 /*e_time*/, uint32 /*p_time*/)
{
while (!m_assistants.empty())
{
- Creature* assistant = (Creature*)Unit::GetUnit(m_owner, *m_assistants.begin());
+ Creature* assistant = Unit::GetCreature(m_owner, *m_assistants.begin());
m_assistants.pop_front();
if (assistant && assistant->CanAssistTo(&m_owner, victim))
diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp
index 4932887d2d9..cabb755958a 100644
--- a/src/game/Unit.cpp
+++ b/src/game/Unit.cpp
@@ -2425,7 +2425,9 @@ MeleeHitOutcome Unit::RollMeleeOutcomeAgainst (const Unit *pVictim, WeaponAttack
if (tmp > 0 && roll < (sum += tmp))
{
DEBUG_LOG ("RollMeleeOutcomeAgainst: CRIT <%d, %d)", sum-tmp, sum);
- if(GetTypeId()!=TYPEID_PLAYER && !(((Creature*)this)->GetCreatureInfo()->flags_extra & CREATURE_FLAG_EXTRA_NO_CRIT))
+ if(GetTypeId() == TYPEID_UNIT && (((Creature*)this)->GetCreatureInfo()->flags_extra & CREATURE_FLAG_EXTRA_NO_CRIT))
+ DEBUG_LOG ("RollMeleeOutcomeAgainst: CRIT DISABLED)");
+ else
return MELEE_HIT_CRIT;
}
@@ -10646,6 +10648,16 @@ Unit* Unit::GetUnit(WorldObject& object, uint64 guid)
return ObjectAccessor::GetUnit(object,guid);
}
+Player* Unit::GetPlayer(uint64 guid)
+{
+ return ObjectAccessor::FindPlayer(guid);
+}
+
+Creature* Unit::GetCreature(WorldObject& object, uint64 guid)
+{
+ return ObjectAccessor::GetCreature(object, guid);
+}
+
bool Unit::isVisibleForInState( Player const* u, bool inVisibleList ) const
{
return u->canSeeOrDetect(this, false, inVisibleList, false);
diff --git a/src/game/Unit.h b/src/game/Unit.h
index 33b03c821db..af902dba15a 100644
--- a/src/game/Unit.h
+++ b/src/game/Unit.h
@@ -1495,6 +1495,8 @@ class TRINITY_DLL_SPEC Unit : public WorldObject
void addFollower(FollowerReference* pRef) { m_FollowingRefManager.insertFirst(pRef); }
void removeFollower(FollowerReference* /*pRef*/ ) { /* nothing to do yet */ }
static Unit* GetUnit(WorldObject& object, uint64 guid);
+ static Player* GetPlayer(uint64 guid);
+ static Creature* GetCreature(WorldObject& object, uint64 guid);
MotionMaster* GetMotionMaster() { return &i_motionMaster; }
@@ -1647,5 +1649,20 @@ class TRINITY_DLL_SPEC Unit : public WorldObject
uint32 m_reducedThreatPercent;
uint64 m_misdirectionTargetGUID;
};
+
+namespace Trinity
+{
+ template<class T>
+ void RandomResizeList(std::list<T> &_list, uint32 _size)
+ {
+ while(_list.size() > _size)
+ {
+ typename std::list<T>::iterator itr = _list.begin();
+ advance(itr, urand(0, _list.size() - 1));
+ _list.erase(itr);
+ }
+ }
+}
+
#endif