void OnDied(Unit* pKiller) { GetUnit()->SendChatMessageAlternateEntry(4275, CHAT_MSG_MONSTER_YELL, LANG_UNIVERSAL, "Who dares interfere with the Sons of Arugal?"); GetUnit()->PlaySoundToSet(5791); MoonScriptCreatureAI* voidwalker = NULL; // Spawn 4 x Arugal's Voidwalkers for(int x = 1; x < 5; x++) { voidwalker = SpawnCreature(4627, VWSpawns[x].x, VWSpawns[x].y, VWSpawns[x].z, VWSpawns[x].o); if(voidwalker) { voidwalker->AggroNearestPlayer(); voidwalker = NULL; } } ParentClass::OnDied(pKiller); }
void AIUpdate() { // Every 25% Halazzi calls on the lynx if(!mLynx && GetHealthPercent() <= (100 - SplitCount * 25)) Split(); // Lynx OR Halazzi is at 20% HP Merge them together again if(mLynx && (mLynx->GetHealthPct() <= 20 || GetHealthPercent() <= 20)) Merge(); // At <25% Phase 3 begins if(GetHealthPercent() < 25 && GetPhase() == 1) { ResetTimer(mTotemTimer, 30000); SetPhase(3); } if(GetPhase() == 2 || GetPhase() == 3) { if(IsTimerFinished(mTotemTimer)) { MoonScriptCreatureAI* Totem = NULL; Totem = SpawnCreature(CN_TOTEM, (_unit->GetPositionX() + RandomFloat(3) - 3), (_unit->GetPositionY() + RandomFloat(3) - 3), _unit->GetPositionZ(), 0, true); if(Totem) { Totem->Despawn(60000); // Despawn in 60 seconds Totem->AggroNearestPlayer(); Totem = NULL; } switch(GetPhase()) { case 2: ResetTimer(mTotemTimer, 60000); break; case 3: ResetTimer(mTotemTimer, 30000); break; // Spawn them faster then phase 2 } } } }