void instance_violet_hold::Update(uint32 uiDiff) { if (m_uiEventResetTimer) { if (m_uiEventResetTimer <= uiDiff) { if (Creature* pSinclari = GetSingleCreatureFromStorage(NPC_SINCLARI)) pSinclari->Respawn(); m_uiEventResetTimer = 0; } else m_uiEventResetTimer -= uiDiff; } if (m_auiEncounter[TYPE_MAIN] != IN_PROGRESS) return; if (m_uiPortalTimer) { if (m_uiPortalTimer <= uiDiff) { DoUpdateWorldState(WORLD_STATE_PORTALS, ++m_uiWorldStatePortalCount); SetPortalId(); SpawnPortal(); m_uiPortalTimer = 0; } else m_uiPortalTimer -= uiDiff; } }
void AddWave() { if(uiWaveCount <= 1){ DoUpdateWorldState(WORLD_STATE_VH, 1); } DoUpdateWorldState(WORLD_STATE_VH_WAVE_COUNT, uiWaveCount); switch (uiWaveCount) { case 6: if (uiFirstBoss == 0) uiFirstBoss = urand(1, 6); if (Creature* pSinclari = instance->GetCreature(uiSinclari)) { if (Creature* pPortal = pSinclari->SummonCreature(CREATURE_TELEPORTATION_PORTAL, MiddleRoomPortalSaboLocation, TEMPSUMMON_CORPSE_DESPAWN)) uiSaboteurPortal = pPortal->GetGUID(); if (Creature* pAzureSaboteur = pSinclari->SummonCreature(CREATURE_SABOTEOUR, MiddleRoomLocation, TEMPSUMMON_DEAD_DESPAWN)) pAzureSaboteur->CastSpell(pAzureSaboteur, SABOTEUR_SHIELD_EFFECT, false); } break; case 12: if (uiSecondBoss == 0) do { uiSecondBoss = urand(1, 6); } while (uiSecondBoss == uiFirstBoss); if (Creature* pSinclari = instance->GetCreature(uiSinclari)) { if (Creature* pPortal = pSinclari->SummonCreature(CREATURE_TELEPORTATION_PORTAL, MiddleRoomPortalSaboLocation, TEMPSUMMON_CORPSE_DESPAWN)) uiSaboteurPortal = pPortal->GetGUID(); if (Creature* pAzureSaboteur = pSinclari->SummonCreature(CREATURE_SABOTEOUR, MiddleRoomLocation, TEMPSUMMON_DEAD_DESPAWN)) pAzureSaboteur->CastSpell(pAzureSaboteur, SABOTEUR_SHIELD_EFFECT, false); } break; case 18: { Creature* pSinclari = instance->GetCreature(uiSinclari); if (pSinclari) pSinclari->SummonCreature(CREATURE_CYANIGOSA, CyanigosasSpawnLocation, TEMPSUMMON_DEAD_DESPAWN); uiCyanigosaEventPhase = 1; break; } case 1: { if (GameObject* pMainDoor = instance->GetGameObject(uiMainDoor)) pMainDoor->SetGoState(GO_STATE_READY); DoUpdateWorldState(WORLD_STATE_VH_PRISON_STATE, 100); } default: SpawnPortal(); break; } }
void AddWave() { DoUpdateWorldState(WORLD_STATE_VH, 1); DoUpdateWorldState(WORLD_STATE_VH_WAVE_COUNT, uiWaveCount); switch (uiWaveCount) { case 6: if (uiFirstBoss == 0) uiFirstBoss = urand(1, 6); if (Creature* sinclari = GetCreature(DATA_SINCLARI)) { if (Creature* portal = sinclari->SummonCreature(NPC_TELEPORTATION_PORTAL, MiddleRoomPortalSaboLocation, TEMPSUMMON_CORPSE_DESPAWN)) uiSaboteurPortal = portal->GetGUID(); if (Creature* azureSaboteur = sinclari->SummonCreature(NPC_SABOTEOUR, MiddleRoomLocation, TEMPSUMMON_DEAD_DESPAWN)) azureSaboteur->CastSpell(azureSaboteur, SABOTEUR_SHIELD_EFFECT, false); } break; case 12: if (uiSecondBoss == 0) do { uiSecondBoss = urand(1, 6); } while (uiSecondBoss == uiFirstBoss); if (Creature* sinclari = GetCreature(DATA_SINCLARI)) { if (Creature* pPortal = sinclari->SummonCreature(NPC_TELEPORTATION_PORTAL, MiddleRoomPortalSaboLocation, TEMPSUMMON_CORPSE_DESPAWN)) uiSaboteurPortal = pPortal->GetGUID(); if (Creature* pAzureSaboteur = sinclari->SummonCreature(NPC_SABOTEOUR, MiddleRoomLocation, TEMPSUMMON_DEAD_DESPAWN)) pAzureSaboteur->CastSpell(pAzureSaboteur, SABOTEUR_SHIELD_EFFECT, false); } break; case 18: if (Creature* sinclari = GetCreature(DATA_SINCLARI)) sinclari->SummonCreature(NPC_CYANIGOSA, CyanigosasSpawnLocation, TEMPSUMMON_DEAD_DESPAWN); break; case 1: { if (GameObject* mainDoor = GetGameObject(DATA_MAIN_DOOR)) mainDoor->SetGoState(GO_STATE_READY); DoUpdateWorldState(WORLD_STATE_VH_PRISON_STATE, 100); // no break } default: SpawnPortal(); break; } }
void instance_violet_hold::Update(uint32 uiDiff) { if (!(m_auiEncounter[0] == IN_PROGRESS || m_auiEncounter[0] == SPECIAL)) return; if (m_uiPortalTimer) { if (m_uiPortalTimer <= uiDiff) { DoUpdateWorldState(WORLD_STATE_PORTALS, ++m_uiWorldStatePortalCount); SetPortalId(); SpawnPortal(); m_uiPortalTimer = 0; } else m_uiPortalTimer -= uiDiff; } }
void AddWave() { DoUpdateWorldState(WORLD_STATE_VH_WAVE_COUNT, WaveCount); switch (WaveCount) { case 6: if (FirstBossId == 0) FirstBossId = urand(DATA_MORAGG, DATA_ZURAMAT); if (Creature* sinclari = GetCreature(DATA_SINCLARI)) { sinclari->SummonCreature(NPC_TELEPORTATION_PORTAL_INTRO, PortalIntroPositions[3], TEMPSUMMON_TIMED_DESPAWN, 3000); sinclari->SummonCreature(NPC_SABOTEOUR, SaboteurSpawnLocation, TEMPSUMMON_DEAD_DESPAWN); } break; case 12: if (SecondBossId == 0) do { SecondBossId = urand(DATA_MORAGG, DATA_ZURAMAT); } while (SecondBossId == FirstBossId); if (Creature* sinclari = GetCreature(DATA_SINCLARI)) { sinclari->SummonCreature(NPC_TELEPORTATION_PORTAL_INTRO, PortalIntroPositions[3], TEMPSUMMON_TIMED_DESPAWN, 3000); sinclari->SummonCreature(NPC_SABOTEOUR, SaboteurSpawnLocation, TEMPSUMMON_DEAD_DESPAWN); } break; case 18: if (Creature* sinclari = GetCreature(DATA_SINCLARI)) { sinclari->SummonCreature(NPC_TELEPORTATION_PORTAL_INTRO, PortalIntroPositions[4], TEMPSUMMON_TIMED_DESPAWN, 6000); if (Creature* cyanigosa = sinclari->SummonCreature(NPC_CYANIGOSA, CyanigosaSpawnLocation, TEMPSUMMON_DEAD_DESPAWN)) cyanigosa->CastSpell(cyanigosa, SPELL_CYANIGOSA_ARCANE_POWER_STATE, true); ScheduleCyanigosaIntro(); } break; default: SpawnPortal(); break; } }
void AddWave() { DoUpdateWorldState(WORLD_STATE_VH, 1); DoUpdateWorldState(WORLD_STATE_VH_WAVE_COUNT, uiWaveCount); DoUpdateWorldState(WORLD_STATE_VH_PRISON_STATE, 100); // TODO switch (uiWaveCount) { case 6: if (uiFirstBoss == 0) uiFirstBoss = urand(1,6); StartBossEncounter(uiFirstBoss); break; case 12: if (uiSecondBoss == 0) do { uiSecondBoss = urand(1,6); } while (uiSecondBoss == uiFirstBoss); StartBossEncounter(uiSecondBoss); break; case 18: { Creature *pSinclari = instance->GetCreature(uiSinclari); if (pSinclari) pSinclari->SummonCreature(CREATURE_CYANIGOSA,PortalLocation[0],TEMPSUMMON_DEAD_DESPAWN); break; } case 1: { if (GameObject* pMainDoor = instance->GetGameObject(uiMainDoor)) pMainDoor->SetGoState(GO_STATE_READY); } default: if (!bWiped) SpawnPortal(); bWiped = false; break; } }