Violet Hold: Add crystal mechanic support to Portal's and Ichoron's adds

--HG--
branch : trunk
This commit is contained in:
Tartalo
2010-06-28 01:04:13 +02:00
parent cba6515acb
commit f4531c5a58
2 changed files with 20 additions and 5 deletions
@@ -291,16 +291,24 @@ struct boss_ichoronAI : public ScriptedAI
} }
void JustSummoned(Creature* pSummoned) void JustSummoned(Creature* pSummoned)
{
if (pSummoned)
{ {
pSummoned->SetSpeed(MOVE_RUN, 0.3f); pSummoned->SetSpeed(MOVE_RUN, 0.3f);
pSummoned->GetMotionMaster()->MoveFollow(me, 0, 0); pSummoned->GetMotionMaster()->MoveFollow(me, 0, 0);
m_waterElements.push_back(pSummoned->GetGUID()); m_waterElements.push_back(pSummoned->GetGUID());
pInstance->SetData64(DATA_ADD_TRASH_MOB,pSummoned->GetGUID());
}
} }
void SummonedCreatureDespawn(Creature *pSummoned) void SummonedCreatureDespawn(Creature *pSummoned)
{
if (pSummoned)
{ {
m_waterElements.remove(pSummoned->GetGUID()); m_waterElements.remove(pSummoned->GetGUID());
pInstance->SetData64(DATA_DEL_TRASH_MOB,pSummoned->GetGUID());
}
} }
void KilledUnit(Unit * victim) void KilledUnit(Unit * victim)
@@ -539,7 +539,10 @@ struct npc_teleportation_portalAI : public ScriptedAI
void UpdateAI(const uint32 diff) void UpdateAI(const uint32 diff)
{ {
if (pInstance && pInstance->GetData(DATA_REMOVE_NPC) == 1) if (!pInstance) //Massive usage of pInstance, global check
return;
if (pInstance->GetData(DATA_REMOVE_NPC) == 1)
{ {
me->ForcedDespawn(); me->ForcedDespawn();
pInstance->SetData(DATA_REMOVE_NPC, 0); pInstance->SetData(DATA_REMOVE_NPC, 0);
@@ -618,11 +621,15 @@ struct npc_teleportation_portalAI : public ScriptedAI
void JustSummoned(Creature *pSummoned) void JustSummoned(Creature *pSummoned)
{ {
listOfMobs.Summon(pSummoned); listOfMobs.Summon(pSummoned);
if (pSummoned)
pInstance->SetData64(DATA_ADD_TRASH_MOB,pSummoned->GetGUID());
} }
void SummonedMobDied(Creature *pSummoned) void SummonedMobDied(Creature *pSummoned)
{ {
listOfMobs.Despawn(pSummoned); listOfMobs.Despawn(pSummoned);
if (pSummoned)
pInstance->SetData64(DATA_DEL_TRASH_MOB,pSummoned->GetGUID());
} }
}; };