void Reset() { RemoveSummons(); me->SetDisplayId(me->GetNativeDisplayId()); me->ClearUnitState(UNIT_STAT_ROOT | UNIT_STAT_STUNNED); me->SetHomePosition(746.71f, 661.02f, 411.69f, 4.6f); bEventInProgress = false; bEvent = false; bSummonArmy = false; bDeathArmyDone = false; bEventInBattle = false; bFight = false; if (GameObject* pGO = GameObject::GetGameObject(*me, pInstance->GetData64(DATA_MAIN_GATE1))) pInstance->HandleGameObject(pGO->GetGUID(), true); uiPhase = PHASE_UNDEAD; uiIcyTouchTimer = urand(5000, 9000); uiIcyTouch1Timer = urand(15000, 15000); uiPlagueStrikeTimer = urand(10000, 13000); uiPlagueStrike1Timer = urand(14000, 14000); uiDeathRespiteTimer = urand(17000, 17000); uiObliterateTimer = urand(17000, 19000); uiObliterate1Timer = urand(15000, 15000); uiDesecrationTimer = urand(15000, 16000); uiDesecration1Timer = urand(22000, 22000); uiDeathArmyCheckTimer = 7000; uiResurrectTimer = 4000; uiGhoulExplodeTimer = 8000; uiDeathBiteTimer = urand (2000, 4000); uiMarkedDeathTimer = urand (5000, 7000); uiIntroTimer = 5000; }
void Reset() { RemoveSummons(); SoulSeverTimer = 7000; WailOfDarknessTimer = 1000; }
void Reset() { Achievement = true; RemoveSummons(); _Reset(); instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_WORD_OF_SHAME); }
void JustDied(Unit* /*killer*/) { me->SummonCreature(BOSS_COMMANDER_ULTHOK, 59.185f, 802.251f, 805.730f, 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 60480000); DoScriptText(SAY_DEATH, me); RemoveSummons(); if (instance) instance->SetData(DATA_LADY_NAZJAR_EVENT, DONE); }
void JustDied(Unit * /*killer*/) { Talk(SAY_DEATH); RemoveSummons(); instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_WORD_OF_SHAME); if (Achievement && IsHeroic()) instance->DoCompleteAchievement(ACHIEVEMENT_TO_THE_GROUND); }
void Reset() { phase = 1; count = 0; nextsummon = 1000; QuestInProgress = false; PlayerGUID = 0; RemoveSummons(); }
void JustDied(Unit* /*killer*/) { //DoScriptText(SAY_DEATH, me); //DoScriptText(SAY_WIN_ERUNAK, erunak); RemoveSummons(); erunak->setFaction(35); if (instance) instance->SetData(DATA_ERUNAK_STONESPEAKER_EVENT, DONE); }
void JustDied(Unit* /*pKiller*/) { DoScriptText(SAY_DEATH, me); DoScriptText(SAY_WIN_ERUNAK, pErunak); RemoveSummons(); pErunak->setFaction(35); if (pInstance) pInstance->SetData(DATA_ERUNAK_STONESPEAKER_EVENT, DONE); }
void JustDied(Unit * /*pKiller*/) { if (PlayerGUID) if (Player *pPlayer = Unit::GetPlayer(*me, PlayerGUID)) if (pPlayer->GetQuestStatus(14154) == QUEST_STATUS_INCOMPLETE) { pPlayer->FailQuest(14154); RemoveSummons(); } }
void Reset () { DustTailTimer = 15000; ScentOfBloodTimer = 13000; ViscousPoisonTimer = 7000; WhirlwindTimer = 35000; Rage = false; RemoveSummons(); }
void JustDied(Unit* /*pKiller*/) { DoCastAOE(SPELL_PLAY_MOVIE, true); me->SummonCreature(BOSS_COMMANDER_ULTHOK, 53.106316f, 802.355957f, 805.731812f, 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN); DoScriptText(SAY_DEATH, me); RemoveSummons(); if (pInstance) pInstance->SetData(DATA_LADY_NAZJAR_EVENT, DONE); }
void JustDied(Unit* /*pKiller*/) override { //me->SummonCreature(BOSS_COMMANDER_ULTHOK, 59.185f, 802.251f, 805.730f, 0, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 8640000); Talk(SAY_DEATH); RemoveSummons(); pInstance->DoRemoveAurasDueToSpellOnPlayers(SPELL_WORD_OF_SHAME); if (pInstance) pInstance->SetData(BOSS_COMMANDER_SPRINGVALE, DONE); }
void JustDied(Unit* /*Kill*/) { RemoveSummons(); Talk(SAY_DEATH); instance->SetData(DATA_TEMPLE_GUARDIAN_ANHUUR, DONE); instance->SendEncounterUnit(ENCOUNTER_FRAME_REMOVE, me); GameObject* Bridge = me->FindNearestGameObject(GO_ANHUUR_BRIDGE, 200); if (Bridge) Bridge->SetGoState(GO_STATE_ACTIVE); }
void JustDied(Unit* /*Kill*/) { RemoveSummons(); //Talk(SAY_DEATH); if (pInstance) pInstance->SetData(DATA_TEMPLE_GUARDIAN_ANHUUR_EVENT, DONE); GameObject* Bridge = me->FindNearestGameObject(GO_ANHUUR_BRIDGE, 200); if (Bridge) Bridge->SetGoState(GO_STATE_ACTIVE); }
void Reset() { _Reset(); instance->SetData(DATA_TEMPLE_GUARDIAN_ANHUUR, NOT_STARTED); Phase = PHASE_NORMAL; PhaseCount = 0; FlameCount = 2; RemoveSummons(); me->RemoveAurasDueToSpell(SPELL_SHIELD_OF_LIGHT); me->RemoveAurasDueToSpell(SPELL_DIVINE_RECKONING); instance->SendEncounterUnit(ENCOUNTER_FRAME_REMOVE, me); }
void DamageTaken(Unit* pKiller, uint32 &damage) { if (Phase == PHASE_WAITING) { DivineReckoningTimer = 8000; SearingFlameTimer = 5000; LeverActivated = 0; me->RemoveAurasDueToSpell(SPELL_REVERBERATING_HYMN); Phase = PHASE_NORMAL; RemoveSummons(); } }
void Reset() { if (pInstance) pInstance->SetData(DATA_TEMPLE_GUARDIAN_ANHUUR_EVENT, NOT_STARTED); Phase = PHASE_NORMAL; PhaseCount = 0; FlameCount = 2; DivineReckoningTimer = 8000; SearingFlameTimer = 5000; RemoveSummons(); me->RemoveAurasDueToSpell(SPELL_SHIELD_OF_LIGHT); me->RemoveAurasDueToSpell(SPELL_REVERBERATING_HYMN); }
void Reset() override { Achievement = true; RemoveSummons(); DesecrationTimer = 7500; MaleficStrikeTimer = 6000; SummonAddsTimer = 40000; PowerCheckTimer = 1000; me->ApplySpellImmune(0, IMMUNITY_EFFECT, SPELL_EFFECT_KNOCK_BACK, true); me->ApplySpellImmune(0, IMMUNITY_MECHANIC, MECHANIC_GRIP, true); if (pInstance) pInstance->SetData(BOSS_COMMANDER_SPRINGVALE, NOT_STARTED); }
void Reset() { _Reset(); RemoveSummons(); me->SetDisplayId(me->GetNativeDisplayId()); me->ClearUnitState(UNIT_STAT_ROOT | UNIT_STAT_STUNNED); Map* pMap = me->GetMap(); if (pMap && pMap->IsDungeon() && !bStartCombat) { bReset = true; Map::PlayerList const &players = pMap->GetPlayers(); for (Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr) { if(itr->getSource() && itr->getSource()->isAlive() && !itr->getSource()->isGameMaster()) bReset = false; } } else bReset = true; ResetEncounter(); //me->SummonCreature(28859,me->GetPositionX(),me->GetPositionY(),me->GetPositionZ(),0,TEMsummon_CORPSE_DESPAWN); //uiState=IDLE; bEventInProgress = false; bEvent = false; bSummonArmy = false; bDeathArmyDone = false; uiPhase = PHASE_UNDEAD; uiIcyTouchTimer = urand(5000,9000); uiIcyTouch1Timer = urand(15000,15000); uiPlagueStrikeTimer = urand(10000,13000); uiPlagueStrike1Timer = urand(14000,14000); uiDeathRespiteTimer = urand(17000,17000); uiObliterateTimer = urand(17000,19000); uiObliterate1Timer = urand(15000,15000); uiDesecration = urand(15000,16000); uiDesecration1 = urand(22000,22000); uiDeathArmyCheckTimer = 7000; uiResurrectTimer = 4000; uiGhoulExplodeTimer = 8000; uiDeathBiteTimer = urand (2000,4000); uiMarkedDeathTimer = urand (5000,7000); }
void SummonedCreatureDespawn(Creature* summon) { switch (summon->GetEntry()) { case 39720: // Astral Rain AstralRain = false; break; case 39721: // Celestial Call CelestialCall = false; break; case 39722: // Veil of Sky VeilOfSky = false; break; } RemoveSummons(); }
void Reset() { if(pInstance) pInstance->SetData(DATA_EARTHRAGER_PTAH_EVENT, NOT_STARTED); Phase = PHASE_NORMAL; SpawnCount = 3; Phased = false; PhaseCount = 0; FlameBoltTimer = 7000; RagingSmashTimer = 4000; EarthSpikeTimer = 12000; RemoveSummons(); me->SetUInt32Value(UNIT_NPC_EMOTESTATE,0); me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NON_ATTACKABLE); }
void Reset() { me->SetReactState(REACT_AGGRESSIVE); RemoveSummons(); Phase = PHASE_NORMAL; FenixTimer = 9000; PlagueOfAgesTimer = 7000; FiftyLashingsTimer = 10000; HeavensFuryTimer = 12000; FenixSummoned = false; Phased = false; me->RemoveAurasDueToSpell(SPELL_REPENTANCE_AURA); }
void Reset() { RemoveSummons(); me->SetDisplayId(me->GetNativeDisplayId()); me->ClearUnitState(UNIT_STAT_ROOT | UNIT_STAT_STUNNED); me->SetReactState(REACT_PASSIVE); me->SetFlag(UNIT_FIELD_FLAGS,UNIT_FLAG_NON_ATTACKABLE); bEventInProgress = false; bEvent = false; bSummonArmy = false; bDeathArmyDone = false; bFight = false; if (GameObject* pGO = GameObject::GetGameObject(*me, pInstance->GetData64(DATA_MAIN_GATE1))) pInstance->HandleGameObject(pGO->GetGUID(),true); if (GameObject* pGO = GameObject::GetGameObject(*me, pInstance->GetData64(DATA_MAIN_GATE1))) pInstance->HandleGameObject(pGO->GetGUID(),false); if (bEventInBattle) { me->GetMotionMaster()->MovePoint(1,743.396f, 635.411f, 411.575f); // me->setFaction(14); // me->SetReactState(REACT_AGGRESSIVE); // me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE|UNIT_FLAG_NOT_SELECTABLE); } uiPhase = PHASE_UNDEAD; uiIcyTouchTimer = urand(5000,9000); uiIcyTouch1Timer = urand(15000,15000); uiPlagueStrikeTimer = urand(10000,13000); uiPlagueStrike1Timer = urand(14000,14000); uiDeathRespiteTimer = urand(17000,17000); uiObliterateTimer = urand(17000,19000); uiObliterate1Timer = urand(15000,15000); uiDesecrationTimer = urand(15000,16000); uiDesecration1Timer = urand(22000,22000); uiDeathArmyCheckTimer = 7000; uiResurrectTimer = 4000; uiGhoulExplodeTimer = 8000; uiDeathBiteTimer = urand (2000,4000); uiMarkedDeathTimer = urand (5000,7000); uiIntroTimer = 5000; }
void Reset() { RemoveSummons(); SupernovaTimer = 15000+rand()%5000; AstralRainTimer = 10000; CelestialCallPhase3Timer = 25000; CelestialCallPhase2Timer = 25000; CelestialCallPhase1Timer = 25000; VeilOfSkyPhase3Timer = 20000; VeilOfSkyPhase2Timer = 20000; VeilOfSkyPhase1Timer = 20000; Phased = false; AstralRain = true; VeilOfSky = true; CelestialCall = true; Phase = 0; }
void SummonHelpers() { RemoveSummons(); me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER); Creature* cr = NULL; if (cr = me->SummonCreature(NPC_RIGGER_GIZELTON, *me)) { cr->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER); summons[0] = cr->GetGUID(); } if (cr = me->SummonCreature(NPC_CARAVAN_KODO, *me)) summons[1] = cr->GetGUID(); if (cr = me->SummonCreature(NPC_CARAVAN_KODO, *me)) summons[2] = cr->GetGUID(); SummonsFollow(); }
void JustDied(Unit* /*Kill*/) { RemoveSummons(); Talk(SAY_DEATH); if (pInstance) pInstance->SetData(DATA_TEMPLE_GUARDIAN_ANHUUR, DONE); GameObject* Door1 = me->FindNearestGameObject(202307, 200); if (Door1) Door1->SetGoState(GO_STATE_ACTIVE); GameObject* Bridge = me->FindNearestGameObject(GO_ANHUUR_BRIDGE, 200); if (Bridge) Bridge->SetGoState(GO_STATE_ACTIVE); GameObject* Door = me->FindNearestGameObject(GO_ANHUUR_BRIDGE_WALL, 200); if (Door) Door->RemoveFromWorld(); }
void Reset() { Phased = false; RemoveSummons(); Phase = PHASE_NORMAL; SpawnCount = 20; PhaseCount = 0; CurseBloodTimer = urand(8000, 13000); ForceGripTimer = 22000; SummonGravityWellTimer = urand(11000,16000); SummonDevoutTimer = urand(19000,27000); me->RemoveAurasDueToSpell(DUNGEON_MODE(SPELL_ENERGY_SHIELD_N,SPELL_ENERGY_SHIELD_H)); me->GetMotionMaster()->MoveTargetedHome(); }
void UpdateAI(const uint32 diff) { if (!UpdateVictim() && !me->HasAura(SPELL_SHIELD_OF_LIGHT)) return; if ((me->HealthBelowPct(34) && Phase == PHASE_NORMAL && PhaseCount == 1) || (me->HealthBelowPct(67) && Phase == PHASE_NORMAL && PhaseCount == 0)) { ChangePhase(); } if (Phase == PHASE_SHIELD && FlameCount == 0) { me->RemoveAurasDueToSpell(SPELL_SHIELD_OF_LIGHT); FlameCount = 2; } if (!me->HasUnitState(UNIT_STAT_CASTING) && Phase == PHASE_SHIELD) { Phase = PHASE_NORMAL; RemoveSummons(); } events.Update(diff); while (uint32 eventId = events.ExecuteEvent()) { switch (eventId) { case EVENT_REKOCKING: if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true)) DoCast(target, SPELL_DIVINE_RECKONING); events.ScheduleEvent(EVENT_REKOCKING, urand(15000, 18000)); break; case EVENT_FLAMES: if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true)) target->CastSpell(target, SPELL_SEARING_FLAME_SUMM, true); events.ScheduleEvent(EVENT_FLAMES, 8000); break; } } DoMeleeAttackIfReady(); }
void UpdateAI(const uint32 diff) { if (!UpdateVictim()) return; if ((me->HealthBelowPct(34) && Phase == PHASE_NORMAL && PhaseCount == 1) || (me->HealthBelowPct(67) && Phase == PHASE_NORMAL && PhaseCount == 0)) { ChangePhase(); } if (Phase == PHASE_SHIELD && FlameCount == 0) { me->RemoveAurasDueToSpell(SPELL_SHIELD_OF_LIGHT); FlameCount = 2; } if (!me->HasUnitState(UNIT_STATE_CASTING) && Phase == PHASE_SHIELD) { Phase = PHASE_NORMAL; RemoveSummons(); } if (me->HasAura(SPELL_SHIELD_OF_LIGHT)) return; if (DivineReckoningTimer <= diff && Phase == PHASE_NORMAL) { if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true)) DoCast(target, SPELL_DIVINE_RECKONING); DivineReckoningTimer = urand(15000, 18000); } else DivineReckoningTimer -= diff; if (SearingFlameTimer <= diff && Phase == PHASE_NORMAL) { if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true)) target->CastSpell(target, SPELL_SEARING_FLAME_SUMM, true); SearingFlameTimer = 8000; } else SearingFlameTimer -= diff; DoMeleeAttackIfReady(); }
void Reset() { Phased = false; RemoveSummons(); Phase = PHASE_NORMAL; SpawnCount = 6; PhaseCount = 0; //FlameBoltTimer = urand(15000,27000); SmashTimer = urand(4000, 10000); SummonPointTimer = urand(11000,16000); me->RemoveAurasDueToSpell(SPELL_VORTEX_DUST); me->RemoveAurasDueToSpell(SPELL_DUST_MOVE); me->GetMotionMaster()->MoveTargetedHome(); }