diff options
7 files changed, 22 insertions, 21 deletions
diff --git a/src/bindings/scripts/scripts/npc/npcs_special.cpp b/src/bindings/scripts/scripts/npc/npcs_special.cpp index 8dbdc6d09cf..8a3a6e8b102 100644 --- a/src/bindings/scripts/scripts/npc/npcs_special.cpp +++ b/src/bindings/scripts/scripts/npc/npcs_special.cpp @@ -154,7 +154,7 @@ struct TRINITY_DLL_DECL npc_air_force_botsAI : public ScriptedAI Creature* GetSummonedGuard() { - Creature* pCreature = (Creature*)Unit::GetUnit(*m_creature, m_uiSpawnedGUID); + Creature* pCreature = Unit::GetCreature(*m_creature, m_uiSpawnedGUID); if (pCreature && pCreature->isAlive()) return pCreature; @@ -169,7 +169,7 @@ struct TRINITY_DLL_DECL npc_air_force_botsAI : public ScriptedAI if (pWho->isTargetableForAttack() && m_creature->IsHostileTo(pWho)) { - Player* pPlayerTarget = pWho->GetTypeId() == TYPEID_PLAYER ? (Player*)pWho : NULL; + Player* pPlayerTarget = pWho->GetTypeId() == TYPEID_PLAYER ? CAST_PLR(pWho) : NULL; // airforce guards only spawn for players if (!pPlayerTarget) @@ -1475,11 +1475,14 @@ struct TRINITY_DLL_DECL npc_snake_trap_serpentsAI : public ScriptedAI void Reset() { Spawn = true; + SpellTimer = 0; CreatureInfo const *Info = m_creature->GetCreatureInfo(); if(Info->Entry == C_VIPER) IsViper = true; + else + IsViper = false; //We have to reload the states from db for summoned guardians m_creature->SetMaxHealth(Info->maxhealth); @@ -1521,7 +1524,7 @@ struct TRINITY_DLL_DECL npc_snake_trap_serpentsAI : public ScriptedAI Spawn = false; // Start attacking attacker of owner on first ai update after spawn - move in line of sight may choose better target if (!m_creature->getVictim() && m_creature->isSummon()) - if (Unit * Owner = ((TempSummon*)m_creature)->GetSummoner()) + if (Unit * Owner = CAST_SUM(m_creature)->GetSummoner()) if(Owner->getAttackerForHelper()) AttackStart(Owner->getAttackerForHelper()); } @@ -1595,7 +1598,7 @@ struct TRINITY_DLL_DECL mob_mojoAI : public ScriptedAI { m_creature->HandleEmoteCommand(emote); Unit* own = m_creature->GetOwner(); - if (own && ((Player*)own)->GetTeam() != player->GetTeam()) + if (!own || own->GetTypeId() != TYPEID_PLAYER || CAST_PLR(own)->GetTeam() != player->GetTeam()) return; if (emote == TEXTEMOTE_KISS) { @@ -1642,9 +1645,7 @@ struct TRINITY_DLL_DECL npc_mirror_image : SpellAI void Reset() { - Unit * owner = NULL; - if (m_creature->isSummon()) - owner = ((TempSummon*)me)->GetOwner(); + Unit * owner = me->GetOwner(); if (!owner) return; owner->SetLevel(owner->getLevel()); diff --git a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_tomb_of_seven.cpp b/src/bindings/scripts/scripts/zone/blackrock_depths/boss_tomb_of_seven.cpp index 4b201705924..56cfbc30174 100644 --- a/src/bindings/scripts/scripts/zone/blackrock_depths/boss_tomb_of_seven.cpp +++ b/src/bindings/scripts/scripts/zone/blackrock_depths/boss_tomb_of_seven.cpp @@ -457,7 +457,7 @@ bool GossipSelect_boss_gloomrel(Player *player, Creature *_Creature, uint32 send break; case GOSSIP_ACTION_INFO_DEF+22: player->CLOSE_GOSSIP_MENU(); - if (ScriptedInstance* pInstance = (ScriptedInstance*)_Creature->GetInstanceData()) + if (ScriptedInstance* pInstance = _Creature->GetInstanceData()) { //are 5 minutes expected? go template may have data to despawn when used at quest pInstance->DoRespawnGameObject(pInstance->GetData64(DATA_GO_CHALICE),MINUTE*5); diff --git a/src/bindings/scripts/scripts/zone/borean_tundra/borean_tundra.cpp b/src/bindings/scripts/scripts/zone/borean_tundra/borean_tundra.cpp index 7a8a2de4a39..10cf10c6c95 100644 --- a/src/bindings/scripts/scripts/zone/borean_tundra/borean_tundra.cpp +++ b/src/bindings/scripts/scripts/zone/borean_tundra/borean_tundra.cpp @@ -219,7 +219,7 @@ struct TRINITY_DLL_DECL npc_khunok_the_behemothAI : public ScriptedAI if(owner->GetTypeId() == TYPEID_PLAYER) { DoCast(owner, 46231, true); - ((Creature*)who)->ForcedDespawn(); + CAST_CRE(who)->ForcedDespawn(); } } } 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 8176a7b7353..718881759bb 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 @@ -372,7 +372,7 @@ struct TRINITY_DLL_DECL boss_priestess_lackey_commonAI : public ScriptedAI ResetThreatTimer = 5000 + rand()%15000; // in case she is not alive and Reset was for some reason called, respawn her (most likely party wipe after killing her) - if (Creature* pDelrissa = (Creature*)Unit::GetUnit(*m_creature, pInstance->GetData64(DATA_DELRISSA))) + if (Creature* pDelrissa = Unit::GetCreature(*m_creature, pInstance->GetData64(DATA_DELRISSA))) { if (!pDelrissa->isAlive()) pDelrissa->Respawn(); @@ -398,7 +398,7 @@ struct TRINITY_DLL_DECL boss_priestess_lackey_commonAI : public ScriptedAI } } - if (Creature* pDelrissa = (Creature*)Unit::GetUnit(*m_creature, pInstance->GetData64(DATA_DELRISSA))) + if (Creature* pDelrissa = Unit::GetCreature(*m_creature, pInstance->GetData64(DATA_DELRISSA))) { if (pDelrissa->isAlive() && !pDelrissa->getVictim()) { @@ -414,7 +414,7 @@ struct TRINITY_DLL_DECL boss_priestess_lackey_commonAI : public ScriptedAI if (!pInstance) return; - Creature* pDelrissa = (Creature*)Unit::GetUnit(*m_creature, pInstance->GetData64(DATA_DELRISSA)); + Creature* pDelrissa = Unit::GetCreature(*m_creature, pInstance->GetData64(DATA_DELRISSA)); uint32 uiLackeyDeathCount = pInstance->GetData(DATA_DELRISSA_DEATH_COUNT); if (!pDelrissa) @@ -458,7 +458,7 @@ struct TRINITY_DLL_DECL boss_priestess_lackey_commonAI : public ScriptedAI if (Creature* Delrissa = (Unit::GetCreature(*m_creature, pInstance->GetData64(DATA_DELRISSA)))) { for(uint8 i = 0; i < MAX_ACTIVE_LACKEY; ++i) - m_auiLackeyGUIDs[i] = ((boss_priestess_delrissaAI*)Delrissa->AI())->m_auiLackeyGUID[i]; + m_auiLackeyGUIDs[i] = CAST_AI(boss_priestess_delrissaAI, Delrissa->AI())->m_auiLackeyGUID[i]; } } diff --git a/src/bindings/scripts/scripts/zone/obsidian_sanctum/boss_sartharion.cpp b/src/bindings/scripts/scripts/zone/obsidian_sanctum/boss_sartharion.cpp index 3fc3a2ff6de..3f3a37fb5b4 100644 --- a/src/bindings/scripts/scripts/zone/obsidian_sanctum/boss_sartharion.cpp +++ b/src/bindings/scripts/scripts/zone/obsidian_sanctum/boss_sartharion.cpp @@ -164,7 +164,7 @@ struct TRINITY_DLL_DECL boss_sartharionAI : public ScriptedAI { boss_sartharionAI(Creature* pCreature) : ScriptedAI(pCreature) { - m_pInstance = ((ScriptedInstance*)pCreature->GetInstanceData()); + m_pInstance = pCreature->GetInstanceData(); m_bIsHeroic = pCreature->GetMap()->IsHeroic(); } @@ -297,7 +297,7 @@ struct TRINITY_DLL_DECL boss_sartharionAI : public ScriptedAI { if (m_pInstance) { - Creature* pTemp = (Creature*)Unit::GetUnit((*m_creature),m_pInstance->GetData64(uiDataId)); + Creature* pTemp = Unit::GetCreature((*m_creature),m_pInstance->GetData64(uiDataId)); if (pTemp && pTemp->isAlive() && !pTemp->getVictim()) { @@ -496,7 +496,7 @@ struct TRINITY_DLL_DECL dummy_dragonAI : public ScriptedAI { dummy_dragonAI(Creature* pCreature) : ScriptedAI(pCreature) { - m_pInstance = ((ScriptedInstance*)pCreature->GetInstanceData()); + m_pInstance = pCreature->GetInstanceData(); m_bIsHeroic = pCreature->GetMap()->IsHeroic(); } @@ -909,7 +909,7 @@ struct TRINITY_DLL_DECL mob_acolyte_of_shadronAI : public ScriptedAI { mob_acolyte_of_shadronAI(Creature* pCreature) : ScriptedAI(pCreature) { - m_pInstance = ((ScriptedInstance*)pCreature->GetInstanceData()); + m_pInstance = pCreature->GetInstanceData(); } ScriptedInstance* m_pInstance; @@ -973,7 +973,7 @@ struct TRINITY_DLL_DECL mob_acolyte_of_vesperonAI : public ScriptedAI { mob_acolyte_of_vesperonAI(Creature* pCreature) : ScriptedAI(pCreature) { - m_pInstance = ((ScriptedInstance*)pCreature->GetInstanceData()); + m_pInstance = pCreature->GetInstanceData(); } ScriptedInstance* m_pInstance; diff --git a/src/bindings/scripts/scripts/zone/obsidian_sanctum/instance_obsidian_sanctum.cpp b/src/bindings/scripts/scripts/zone/obsidian_sanctum/instance_obsidian_sanctum.cpp index 72166261684..8eacaf77880 100644 --- a/src/bindings/scripts/scripts/zone/obsidian_sanctum/instance_obsidian_sanctum.cpp +++ b/src/bindings/scripts/scripts/zone/obsidian_sanctum/instance_obsidian_sanctum.cpp @@ -28,7 +28,7 @@ struct TRINITY_DLL_DECL instance_obsidian_sanctum : public ScriptedInstance m_uiEncounter[i] = NOT_STARTED; } - void OnCreatureCreate(Creature* pCreature, uint32 entry) + void OnCreatureCreate(Creature* pCreature, bool add) { switch(pCreature->GetEntry()) { diff --git a/src/bindings/scripts/scripts/zone/stormwind/stormwind_city.cpp b/src/bindings/scripts/scripts/zone/stormwind/stormwind_city.cpp index a02fa8ebfdd..114732a2015 100644 --- a/src/bindings/scripts/scripts/zone/stormwind/stormwind_city.cpp +++ b/src/bindings/scripts/scripts/zone/stormwind/stormwind_city.cpp @@ -104,7 +104,7 @@ struct TRINITY_DLL_DECL npc_bartlebyAI : public ScriptedAI uiDamage = 0; if (pDoneBy->GetTypeId() == TYPEID_PLAYER) - ((Player*)pDoneBy)->AreaExploredOrEventHappens(QUEST_BEAT); + CAST_PLR(pDoneBy)->AreaExploredOrEventHappens(QUEST_BEAT); EnterEvadeMode(); } } @@ -168,7 +168,7 @@ struct TRINITY_DLL_DECL npc_dashel_stonefistAI : public ScriptedAI uiDamage = 0; if (pDoneBy->GetTypeId() == TYPEID_PLAYER) - ((Player*)pDoneBy)->AreaExploredOrEventHappens(QUEST_MISSING_DIPLO_PT8); + CAST_PLR(pDoneBy)->AreaExploredOrEventHappens(QUEST_MISSING_DIPLO_PT8); EnterEvadeMode(); } |