aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortartalo <none@none>2009-11-11 21:39:58 +0100
committertartalo <none@none>2009-11-11 21:39:58 +0100
commit43d2fe6db4a2f05115a95129c6ba69954195838a (patch)
tree86803de1a4320f79640f3baea25a11e9651a43d7 /src
parent6c41c6a83c87ed72fa9e7881c59b4286193837c2 (diff)
Borean Tundra: Fix posbbile crashes & cleanup
--HG-- branch : trunk
Diffstat (limited to 'src')
-rw-r--r--src/bindings/scripts/scripts/northrend/borean_tundra.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/bindings/scripts/scripts/northrend/borean_tundra.cpp b/src/bindings/scripts/scripts/northrend/borean_tundra.cpp
index 4aa260b4ecf..85ec59b07eb 100644
--- a/src/bindings/scripts/scripts/northrend/borean_tundra.cpp
+++ b/src/bindings/scripts/scripts/northrend/borean_tundra.cpp
@@ -910,6 +910,7 @@ struct TRINITY_DLL_DECL npc_nexus_drake_hatchlingAI : public FollowerAI //The sp
void Reset()
{
WithRedDragonBlood = false;
+ pPlayer = NULL;
}
void EnterCombat(Unit* pWho)
@@ -936,10 +937,10 @@ struct TRINITY_DLL_DECL npc_nexus_drake_hatchlingAI : public FollowerAI //The sp
if (m_creature->HasAura(SPELL_SUBDUED) && pWho->GetEntry() == NPC_RAELORASZ)
{
- if (m_creature->IsWithinDistInMap(pWho, INTERACTION_DISTANCE))
+ if (m_creature->IsWithinDistInMap(pWho, INTERACTION_DISTANCE) && pPlayer && pPlayer->GetTypeId() == TYPEID_PLAYER)
{
- ((Player*)(pPlayer))->KilledMonsterCredit(26175,0);
- ((Player*)(pPlayer))->RemoveAura(SPELL_DRAKE_HATCHLING_SUBDUED);
+ CAST_PLR(pPlayer)->KilledMonsterCredit(26175,0);
+ CAST_PLR(pPlayer)->RemoveAura(SPELL_DRAKE_HATCHLING_SUBDUED);
SetFollowComplete();
m_creature->DisappearAndDie();
}
@@ -948,16 +949,16 @@ struct TRINITY_DLL_DECL npc_nexus_drake_hatchlingAI : public FollowerAI //The sp
void UpdateAI(const uint32 diff)
{
- if (WithRedDragonBlood && !m_creature->HasAura(SPELL_RED_DRAGONBLOOD))
+ if (WithRedDragonBlood && !m_creature->HasAura(SPELL_RED_DRAGONBLOOD) && pPlayer && pPlayer->GetTypeId() == TYPEID_PLAYER)
{
if (npc_nexus_drake_hatchlingAI* pDrakeAI = CAST_AI(npc_nexus_drake_hatchlingAI, m_creature->AI()))
{
EnterEvadeMode();
- pDrakeAI->StartFollow((Player*)(pPlayer), 35, NULL);
+ pDrakeAI->StartFollow(CAST_PLR(pPlayer), 35, NULL);
}
m_creature->CastSpell(m_creature,SPELL_SUBDUED,true);
- ((Player*)(pPlayer))->CastSpell((Player*)(pPlayer),SPELL_DRAKE_HATCHLING_SUBDUED,true);
+ pPlayer->CastSpell(pPlayer,SPELL_DRAKE_HATCHLING_SUBDUED,true);
m_creature->AttackStop();
WithRedDragonBlood = false;