refactor(Scripts/Northrend): conversion to std::chrono (#15269)

Co-authored-by: Maelthyrr <maelthyrr@users.noreply.github.com>
This commit is contained in:
Maelthyr
2023-03-07 13:23:33 +01:00
committed by GitHub
parent 527f462826
commit 0200a288cd
140 changed files with 3306 additions and 3371 deletions

View File

@@ -271,8 +271,8 @@ public:
me->resetAttackTimer(BASE_ATTACK);
DoAction(ACTION_REMOVE_INVOCATION);
events.Reset();
events.ScheduleEvent(EVENT_BERSERK, 600000);
events.ScheduleEvent(EVENT_SHADOW_RESONANCE, urand(10000, 15000));
events.ScheduleEvent(EVENT_BERSERK, 10min);
events.ScheduleEvent(EVENT_SHADOW_RESONANCE, 10s, 15s);
if (IsHeroic())
me->AddAura(SPELL_SHADOW_PRISON, me);
}
@@ -412,7 +412,7 @@ public:
case EVENT_SHADOW_RESONANCE:
Talk(SAY_KELESETH_SPECIAL);
me->CastSpell(me, SPELL_SHADOW_RESONANCE, false);
events.ScheduleEvent(EVENT_SHADOW_RESONANCE, urand(10000, 15000));
events.ScheduleEvent(EVENT_SHADOW_RESONANCE, 10s, 15s);
break;
}
@@ -530,9 +530,9 @@ public:
DoAction(ACTION_REMOVE_INVOCATION);
events.Reset();
events.ScheduleEvent(EVENT_BERSERK, 600000);
events.ScheduleEvent(EVENT_GLITTERING_SPARKS, urand(12000, 15000));
events.ScheduleEvent(EVENT_CONJURE_FLAME, 20000);
events.ScheduleEvent(EVENT_BERSERK, 10min);
events.ScheduleEvent(EVENT_GLITTERING_SPARKS, 12s, 15s);
events.ScheduleEvent(EVENT_CONJURE_FLAME, 20s);
if (IsHeroic())
me->AddAura(SPELL_SHADOW_PRISON, me);
}
@@ -684,18 +684,18 @@ public:
break;
case EVENT_GLITTERING_SPARKS:
me->CastSpell(me->GetVictim(), SPELL_GLITTERING_SPARKS, false);
events.ScheduleEvent(EVENT_GLITTERING_SPARKS, urand(15000, 25000));
events.ScheduleEvent(EVENT_GLITTERING_SPARKS, 15s, 25s);
break;
case EVENT_CONJURE_FLAME:
if (_isEmpowered)
{
me->CastSpell(me, SPELL_CONJURE_EMPOWERED_FLAME, false);
events.ScheduleEvent(EVENT_CONJURE_FLAME, 15000);
events.ScheduleEvent(EVENT_CONJURE_FLAME, 15s);
}
else
{
me->CastSpell(me, SPELL_CONJURE_FLAME, false);
events.ScheduleEvent(EVENT_CONJURE_FLAME, urand(20000, 25000));
events.ScheduleEvent(EVENT_CONJURE_FLAME, 20s, 25s);
}
Talk(SAY_TALDARAM_SPECIAL);
break;
@@ -821,10 +821,10 @@ public:
invocationOrder[1] = RAND(DATA_PRINCE_KELESETH_GUID, DATA_PRINCE_TALDARAM_GUID);
invocationOrder[2] = DATA_PRINCE_KELESETH_GUID + DATA_PRINCE_TALDARAM_GUID - invocationOrder[1];
events.ScheduleEvent(EVENT_BERSERK, 600000);
events.ScheduleEvent(EVENT_KINETIC_BOMB, urand(18000, 24000));
events.ScheduleEvent(EVENT_SHOCK_VORTEX, urand(15000, 20000));
events.ScheduleEvent(EVENT_INVOCATION_OF_BLOOD, 45000);
events.ScheduleEvent(EVENT_BERSERK, 10min);
events.ScheduleEvent(EVENT_KINETIC_BOMB, 18s, 24s);
events.ScheduleEvent(EVENT_SHOCK_VORTEX, 15s, 20s);
events.ScheduleEvent(EVENT_INVOCATION_OF_BLOOD, 45s);
if (IsHeroic())
{
me->AddAura(SPELL_SHADOW_PRISON, me);
@@ -1011,7 +1011,7 @@ public:
current->CastSpell((Unit*)nullptr, visualSpellId, true);
next->AI()->Talk(1);
}
events.ScheduleEvent(EVENT_INVOCATION_OF_BLOOD, 46000);
events.ScheduleEvent(EVENT_INVOCATION_OF_BLOOD, 46s);
break;
case EVENT_BERSERK:
me->CastSpell(me, SPELL_BERSERK, true);
@@ -1023,20 +1023,20 @@ public:
me->CastSpell(target, SPELL_KINETIC_BOMB_TARGET, false);
Talk(SAY_VALANAR_SPECIAL);
}
events.ScheduleEvent(EVENT_KINETIC_BOMB, me->GetMap()->Is25ManRaid() ? 20500 : 30500);
events.ScheduleEvent(EVENT_KINETIC_BOMB, me->GetMap()->Is25ManRaid() ? 20s + 500ms : 30s + 500ms);
break;
case EVENT_SHOCK_VORTEX:
if (_isEmpowered)
{
me->CastSpell(me, SPELL_EMPOWERED_SHOCK_VORTEX, false);
Talk(EMOTE_VALANAR_SHOCK_VORTEX);
events.ScheduleEvent(EVENT_SHOCK_VORTEX, 30000);
events.ScheduleEvent(EVENT_SHOCK_VORTEX, 30s);
}
else
{
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 0.0f, true))
me->CastSpell(target, SPELL_SHOCK_VORTEX, false);
events.ScheduleEvent(EVENT_SHOCK_VORTEX, urand(18000, 23000));
events.ScheduleEvent(EVENT_SHOCK_VORTEX, 18s, 23s);
}
break;
}
@@ -1109,7 +1109,7 @@ public:
_introDone = true;
Talk(SAY_INTRO_1);
_events.SetPhase(1);
_events.ScheduleEvent(EVENT_INTRO_1, 14000);
_events.ScheduleEvent(EVENT_INTRO_1, 14s);
// summon a visual trigger
if (Creature* summon = DoSummon(NPC_FLOATING_TRIGGER, triggerPos, 15000, TEMPSUMMON_TIMED_DESPAWN))
{
@@ -1383,7 +1383,7 @@ public:
void Reset() override
{
_events.Reset();
_events.RescheduleEvent(EVENT_BOMB_DESPAWN, 60000);
_events.RescheduleEvent(EVENT_BOMB_DESPAWN, 1min);
me->SetWalk(true);
exploded = false;
@@ -1400,7 +1400,7 @@ public:
if (action == SPELL_KINETIC_BOMB_EXPLOSION)
{
exploded = true;
_events.RescheduleEvent(EVENT_BOMB_DESPAWN, 1000);
_events.RescheduleEvent(EVENT_BOMB_DESPAWN, 1s);
}
else if (action == ACTION_KINETIC_BOMB_JUMP)
{
@@ -1410,7 +1410,7 @@ public:
me->StopMoving();
me->GetMotionMaster()->MoveCharge(_x, _y, me->GetPositionZ() + 60.0f, me->GetSpeed(MOVE_RUN));
}
_events.RescheduleEvent(EVENT_CONTINUE_FALLING, 3000);
_events.RescheduleEvent(EVENT_CONTINUE_FALLING, 3s);
}
}

View File

@@ -181,14 +181,14 @@ public:
me->CastSpell(me, SPELL_SHROUD_OF_SORROW, true);
me->CastSpell(me, SPELL_FRENZIED_BLOODTHIRST_VISUAL, true);
events.Reset();
events.ScheduleEvent(EVENT_BERSERK, 330000);
events.ScheduleEvent(EVENT_VAMPIRIC_BITE, 15000);
events.ScheduleEvent(EVENT_BLOOD_MIRROR, 2500);
events.ScheduleEvent(EVENT_DELIRIOUS_SLASH, urand(10000, 12000));
events.ScheduleEvent(EVENT_PACT_OF_THE_DARKFALLEN, 20000);
events.ScheduleEvent(EVENT_SWARMING_SHADOWS, 30000);
events.ScheduleEvent(EVENT_TWILIGHT_BLOODBOLT, urand(15000, 25000));
events.ScheduleEvent(EVENT_AIR_PHASE, 124000 + uint32(Is25ManRaid() ? 3000 : 0));
events.ScheduleEvent(EVENT_BERSERK, 330s);
events.ScheduleEvent(EVENT_VAMPIRIC_BITE, 15s);
events.ScheduleEvent(EVENT_BLOOD_MIRROR, 2500ms);
events.ScheduleEvent(EVENT_DELIRIOUS_SLASH, 10s, 12s);
events.ScheduleEvent(EVENT_PACT_OF_THE_DARKFALLEN, 20s);
events.ScheduleEvent(EVENT_SWARMING_SHADOWS, 30s);
events.ScheduleEvent(EVENT_TWILIGHT_BLOODBOLT, 15s, 25s);
events.ScheduleEvent(EVENT_AIR_PHASE, Is25ManRaid() ? 127s : 124s);
CleanAuras();
me->setActive(true);
@@ -282,14 +282,14 @@ public:
{
case POINT_CENTER:
me->CastSpell(me, SPELL_INCITE_TERROR, false);
events.ScheduleEvent(EVENT_AIR_PHASE, 100000 + uint32(Is25ManRaid() ? 0 : 20000));
events.ScheduleEvent(EVENT_AIR_START_FLYING, 2500);
events.ScheduleEvent(EVENT_AIR_PHASE, Is25ManRaid() ? 100s : 120s);
events.ScheduleEvent(EVENT_AIR_START_FLYING, 2500ms);
break;
case POINT_AIR:
_bloodboltedPlayers.clear();
me->CastSpell(me, SPELL_BLOODBOLT_WHIRL, false);
Talk(SAY_AIR_PHASE);
events.ScheduleEvent(EVENT_AIR_FLY_DOWN, 7000);
events.ScheduleEvent(EVENT_AIR_FLY_DOWN, 7s);
break;
case POINT_GROUND:
me->SetCanFly(false);
@@ -297,8 +297,8 @@ public:
me->SetReactState(REACT_AGGRESSIVE);
if (Unit* target = me->SelectVictim())
AttackStart(target);
events.RescheduleEvent(EVENT_PACT_OF_THE_DARKFALLEN, 5000);
events.RescheduleEvent(EVENT_SWARMING_SHADOWS, 20000);
events.RescheduleEvent(EVENT_PACT_OF_THE_DARKFALLEN, 5s);
events.RescheduleEvent(EVENT_SWARMING_SHADOWS, 20s);
break;
case POINT_MINCHAR:
me->CastSpell(me, SPELL_ANNIHILATE, true);
@@ -384,7 +384,7 @@ public:
{
_tankGUID.Clear();
_offtankGUID.Clear();
events.ScheduleEvent(EVENT_BLOOD_MIRROR, 2500);
events.ScheduleEvent(EVENT_BLOOD_MIRROR, 2500ms);
break;
}
@@ -400,7 +400,7 @@ public:
}
}
}
events.ScheduleEvent(EVENT_BLOOD_MIRROR, 2500);
events.ScheduleEvent(EVENT_BLOOD_MIRROR, 2500ms);
break;
case EVENT_DELIRIOUS_SLASH:
if (!me->HasReactState(REACT_PASSIVE))
@@ -415,14 +415,14 @@ public:
target = me->GetVictim();
if (!target)
{
events.ScheduleEvent(EVENT_DELIRIOUS_SLASH, 5000);
events.ScheduleEvent(EVENT_DELIRIOUS_SLASH, 5s);
break;
}
me->CastSpell(target, SPELL_DELIRIOUS_SLASH, false);
events.ScheduleEvent(EVENT_DELIRIOUS_SLASH, urand(20000, 24000));
events.ScheduleEvent(EVENT_DELIRIOUS_SLASH, 20s, 24s);
break;
}
events.ScheduleEvent(EVENT_DELIRIOUS_SLASH, 5000);
events.ScheduleEvent(EVENT_DELIRIOUS_SLASH, 5s);
break;
case EVENT_PACT_OF_THE_DARKFALLEN:
if (!me->HasReactState(REACT_PASSIVE))
@@ -439,13 +439,13 @@ public:
Talk(SAY_PACT_OF_THE_DARKFALLEN);
for (std::list<Player*>::iterator itr = myList.begin(); itr != myList.end(); ++itr)
me->CastSpell(*itr, SPELL_PACT_OF_THE_DARKFALLEN, false);
events.ScheduleEvent(EVENT_PACT_OF_THE_DARKFALLEN, 30000);
events.ScheduleEvent(EVENT_PACT_OF_THE_DARKFALLEN, 30s);
}
else
events.ScheduleEvent(EVENT_PACT_OF_THE_DARKFALLEN, 5000);
events.ScheduleEvent(EVENT_PACT_OF_THE_DARKFALLEN, 5s);
break;
}
events.ScheduleEvent(EVENT_PACT_OF_THE_DARKFALLEN, 5000);
events.ScheduleEvent(EVENT_PACT_OF_THE_DARKFALLEN, 5s);
break;
case EVENT_SWARMING_SHADOWS:
if (!me->HasReactState(REACT_PASSIVE))
@@ -466,10 +466,10 @@ public:
me->CastSpell(target, SPELL_SWARMING_SHADOWS, false);
}
events.ScheduleEvent(EVENT_SWARMING_SHADOWS, 30000);
events.ScheduleEvent(EVENT_SWARMING_SHADOWS, 30s);
break;
}
events.ScheduleEvent(EVENT_SWARMING_SHADOWS, 5000);
events.ScheduleEvent(EVENT_SWARMING_SHADOWS, 5s);
break;
case EVENT_TWILIGHT_BLOODBOLT:
if (!me->HasReactState(REACT_PASSIVE))
@@ -485,10 +485,10 @@ public:
for (std::list<Player*>::iterator itr = myList.begin(); itr != myList.end(); ++itr)
me->CastSpell(*itr, SPELL_TWILIGHT_BLOODBOLT, false);
me->CastSpell(me, SPELL_TWILIGHT_BLOODBOLT_TARGET, false);
events.ScheduleEvent(EVENT_TWILIGHT_BLOODBOLT, urand(10000, 15000));
events.ScheduleEvent(EVENT_TWILIGHT_BLOODBOLT, 10s, 15s);
break;
}
events.ScheduleEvent(EVENT_TWILIGHT_BLOODBOLT, 5000);
events.ScheduleEvent(EVENT_TWILIGHT_BLOODBOLT, 5s);
break;
case EVENT_AIR_PHASE:
me->AttackStop();

View File

@@ -294,11 +294,11 @@ public:
Talk(SAY_AGGRO);
events.Reset();
events.ScheduleEvent(EVENT_SUMMON_BLOOD_BEAST, 30000);
events.ScheduleEvent(EVENT_BERSERK, (IsHeroic() ? 360000 : 480000));
events.ScheduleEvent(EVENT_BOILING_BLOOD, 15500, 0);
events.ScheduleEvent(EVENT_BLOOD_NOVA, 17000, 0);
events.ScheduleEvent(EVENT_RUNE_OF_BLOOD, 20000, 0);
events.ScheduleEvent(EVENT_SUMMON_BLOOD_BEAST, 30s);
events.ScheduleEvent(EVENT_BERSERK, (IsHeroic() ? 6min : 8min));
events.ScheduleEvent(EVENT_BOILING_BLOOD, 15s + 500ms, 0);
events.ScheduleEvent(EVENT_BLOOD_NOVA, 17s, 0);
events.ScheduleEvent(EVENT_RUNE_OF_BLOOD, 20s, 0);
_fallenChampionCastCount = 0;
instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_MARK_OF_THE_FALLEN_CHAMPION);
@@ -426,9 +426,9 @@ public:
for (uint32 i25 = 0; i25 < 3; ++i25)
DoCast(me, SPELL_SUMMON_BLOOD_BEAST_25_MAN + i25);
Talk(SAY_BLOOD_BEASTS);
events.ScheduleEvent(EVENT_SUMMON_BLOOD_BEAST, 40000);
events.ScheduleEvent(EVENT_SUMMON_BLOOD_BEAST, 40s);
if (IsHeroic())
events.ScheduleEvent(EVENT_BLOOD_BEAST_SCENT_OF_BLOOD, 10000);
events.ScheduleEvent(EVENT_BLOOD_BEAST_SCENT_OF_BLOOD, 10s);
break;
case EVENT_BLOOD_BEAST_SCENT_OF_BLOOD:
Talk(EMOTE_SCENT_OF_BLOOD);
@@ -437,16 +437,16 @@ public:
case EVENT_BLOOD_NOVA:
{
me->CastSpell((Unit*)nullptr, SPELL_BLOOD_NOVA_TRIGGER, false);
events.ScheduleEvent(EVENT_BLOOD_NOVA, urand(20000, 25000));
events.ScheduleEvent(EVENT_BLOOD_NOVA, 20s, 25s);
break;
}
case EVENT_RUNE_OF_BLOOD:
DoCastVictim(SPELL_RUNE_OF_BLOOD);
events.ScheduleEvent(EVENT_RUNE_OF_BLOOD, urand(20000, 25000));
events.ScheduleEvent(EVENT_RUNE_OF_BLOOD, 20s, 25s);
break;
case EVENT_BOILING_BLOOD:
me->CastSpell((Unit*)nullptr, SPELL_BOILING_BLOOD, false);
events.ScheduleEvent(EVENT_BOILING_BLOOD, urand(15000, 20000));
events.ScheduleEvent(EVENT_BOILING_BLOOD, 15s, 20s);
break;
case EVENT_BERSERK:
DoCast(me, SPELL_BERSERK);
@@ -561,8 +561,8 @@ public:
me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
Talk(SAY_INTRO_HORDE_1);
_events.SetPhase(PHASE_INTRO_H);
_events.ScheduleEvent(EVENT_INTRO_HORDE_2, 5000, 0, PHASE_INTRO_H);
_events.ScheduleEvent(EVENT_INTRO_HORDE_3, 18500, 0, PHASE_INTRO_H);
_events.ScheduleEvent(EVENT_INTRO_HORDE_2, 5s, 0, PHASE_INTRO_H);
_events.ScheduleEvent(EVENT_INTRO_HORDE_3, 18s + 500ms, 0, PHASE_INTRO_H);
_instance->HandleGameObject(_instance->GetGuidData(GO_SAURFANG_S_DOOR), true);
if (GameObject* teleporter = ObjectAccessor::GetGameObject(*me, _instance->GetGuidData(GO_SCOURGE_TRANSPORTER_SAURFANG)))
@@ -633,13 +633,13 @@ public:
case POINT_FIRST_STEP:
me->SetWalk(false);
Talk(SAY_INTRO_HORDE_3);
_events.ScheduleEvent(EVENT_INTRO_HORDE_4, 6500, 0, PHASE_INTRO_H);
_events.ScheduleEvent(EVENT_INTRO_HORDE_5, 15500, 0, PHASE_INTRO_H);
_events.ScheduleEvent(EVENT_INTRO_HORDE_6, 29500, 0, PHASE_INTRO_H);
_events.ScheduleEvent(EVENT_INTRO_HORDE_7, 43800, 0, PHASE_INTRO_H);
_events.ScheduleEvent(EVENT_INTRO_HORDE_8, 47000, 0, PHASE_INTRO_H);
_events.ScheduleEvent(EVENT_INTRO_HORDE_9, 46700 + 1000 + 500, 0, PHASE_INTRO_H);
_events.ScheduleEvent(EVENT_INTRO_FINISH, 46700 + 1000 + 9000, 0, PHASE_INTRO_H);
_events.ScheduleEvent(EVENT_INTRO_HORDE_4, 6500ms, 0, PHASE_INTRO_H);
_events.ScheduleEvent(EVENT_INTRO_HORDE_5, 15s + 500ms, 0, PHASE_INTRO_H);
_events.ScheduleEvent(EVENT_INTRO_HORDE_6, 29s + 500ms, 0, PHASE_INTRO_H);
_events.ScheduleEvent(EVENT_INTRO_HORDE_7, 43s + 800ms, 0, PHASE_INTRO_H);
_events.ScheduleEvent(EVENT_INTRO_HORDE_8, 47s, 0, PHASE_INTRO_H);
_events.ScheduleEvent(EVENT_INTRO_HORDE_9, 48s + 200ms, 0, PHASE_INTRO_H);
_events.ScheduleEvent(EVENT_INTRO_FINISH, 56s + 700ms, 0, PHASE_INTRO_H);
break;
/*case POINT_CORPSE:
if (Creature* deathbringer = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_DEATHBRINGER_SAURFANG)))
@@ -822,9 +822,9 @@ public:
me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
Talk(SAY_INTRO_ALLIANCE_1);
_events.SetPhase(PHASE_INTRO_A);
_events.ScheduleEvent(EVENT_INTRO_ALLIANCE_2, 2500, 0, PHASE_INTRO_A);
_events.ScheduleEvent(EVENT_INTRO_ALLIANCE_3, 20000, 0, PHASE_INTRO_A);
_events.ScheduleEvent(EVENT_INTRO_ALLIANCE_4, 2500 + 17500 + 9500, 0, PHASE_INTRO_A);
_events.ScheduleEvent(EVENT_INTRO_ALLIANCE_2, 2500ms, 0, PHASE_INTRO_A);
_events.ScheduleEvent(EVENT_INTRO_ALLIANCE_3, 20s, 0, PHASE_INTRO_A);
_events.ScheduleEvent(EVENT_INTRO_ALLIANCE_4, 29s + 500ms, 0, PHASE_INTRO_A);
_instance->HandleGameObject(_instance->GetGuidData(GO_SAURFANG_S_DOOR), true);
if (GameObject* teleporter = ObjectAccessor::GetGameObject(*me, _instance->GetGuidData(GO_SCOURGE_TRANSPORTER_SAURFANG)))
@@ -892,10 +892,10 @@ public:
case POINT_FIRST_STEP:
me->SetWalk(false);
Talk(SAY_INTRO_ALLIANCE_4);
_events.ScheduleEvent(EVENT_INTRO_ALLIANCE_5, 5000, 0, PHASE_INTRO_A);
_events.ScheduleEvent(EVENT_INTRO_ALLIANCE_6, 6500 + 500, 0, PHASE_INTRO_A);
_events.ScheduleEvent(EVENT_INTRO_ALLIANCE_7, 6500 + 500 + 2000, 0, PHASE_INTRO_A);
_events.ScheduleEvent(EVENT_INTRO_FINISH, 6500 + 500 + 2000 + 5000, 0, PHASE_INTRO_A);
_events.ScheduleEvent(EVENT_INTRO_ALLIANCE_5, 5s, 0, PHASE_INTRO_A);
_events.ScheduleEvent(EVENT_INTRO_ALLIANCE_6, 7s, 0, PHASE_INTRO_A);
_events.ScheduleEvent(EVENT_INTRO_ALLIANCE_7, 9s, 0, PHASE_INTRO_A);
_events.ScheduleEvent(EVENT_INTRO_FINISH, 14s, 0, PHASE_INTRO_A);
break;
default:
break;

View File

@@ -117,13 +117,13 @@ public:
return;
}
events.ScheduleEvent(EVENT_BERSERK, 300000);
events.ScheduleEvent(EVENT_INHALE_BLIGHT, urand(25000, 30000));
events.ScheduleEvent(EVENT_GAS_SPORE, urand(20000, 25000));
events.ScheduleEvent(EVENT_VILE_GAS, urand(30000, 40000), 1);
events.ScheduleEvent(EVENT_GASTRIC_BLOAT, urand(12500, 15000));
events.ScheduleEvent(EVENT_BERSERK, 5min);
events.ScheduleEvent(EVENT_INHALE_BLIGHT, 25s, 30s);
events.ScheduleEvent(EVENT_GAS_SPORE, 20s, 25s);
events.ScheduleEvent(EVENT_VILE_GAS, 30s, 40s, 1);
events.ScheduleEvent(EVENT_GASTRIC_BLOAT, 12s + 500ms, 15s);
if (IsHeroic())
events.ScheduleEvent(EVENT_FESTERGUT_GOO, urand(15000, 20000));
events.ScheduleEvent(EVENT_FESTERGUT_GOO, 15s, 20s);
me->setActive(true);
Talk(SAY_AGGRO);
@@ -211,7 +211,7 @@ public:
Talk(SAY_PUNGENT_BLIGHT);
me->CastSpell(me, SPELL_PUNGENT_BLIGHT, false);
_inhaleCounter = 0;
events.RescheduleEvent(EVENT_GAS_SPORE, urand(20000, 25000));
events.RescheduleEvent(EVENT_GAS_SPORE, 20s, 25s);
}
else
{
@@ -222,13 +222,13 @@ public:
me->CastSpell(me, gaseousBlight[_inhaleCounter], true, nullptr, nullptr, me->GetGUID());
}
events.ScheduleEvent(EVENT_INHALE_BLIGHT, 34000);
events.ScheduleEvent(EVENT_INHALE_BLIGHT, 34s);
break;
case EVENT_GAS_SPORE:
Talk(EMOTE_WARN_GAS_SPORE);
Talk(EMOTE_GAS_SPORE);
me->CastCustomSpell(SPELL_GAS_SPORE, SPELLVALUE_MAX_TARGETS, RAID_MODE<int32>(2, 3, 2, 3), me);
events.ScheduleEvent(EVENT_GAS_SPORE, urand(40000, 45000));
events.ScheduleEvent(EVENT_GAS_SPORE, 40s, 45s);
events.DelayEventsToMax(20000, 1); // delay EVENT_VILE_GAS
break;
case EVENT_VILE_GAS:
@@ -242,18 +242,18 @@ public:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, minDist, true))
me->CastSpell(target, SPELL_VILE_GAS, false);
events.ScheduleEvent(EVENT_VILE_GAS, urand(28000, 35000), 1);
events.ScheduleEvent(EVENT_VILE_GAS, 28s, 35s, 1);
break;
}
case EVENT_GASTRIC_BLOAT:
me->CastSpell(me->GetVictim(), SPELL_GASTRIC_BLOAT, false);
events.ScheduleEvent(EVENT_GASTRIC_BLOAT, urand(15000, 17500));
events.ScheduleEvent(EVENT_GASTRIC_BLOAT, 15s, 17s + 500ms);
break;
case EVENT_FESTERGUT_GOO:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, NonTankTargetSelector(me)))
if (Creature* professor = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_PROFESSOR_PUTRICIDE)))
professor->CastSpell(target, SPELL_MALLABLE_GOO_H, true);
events.ScheduleEvent(EVENT_FESTERGUT_GOO, urand(15000, 20000));
events.ScheduleEvent(EVENT_FESTERGUT_GOO, 15s, 20s);
default:
break;
}
@@ -439,8 +439,8 @@ public:
{
me->setActive(true);
me->CastSpell(me, SPELL_PLAGUE_STENCH, true);
events.ScheduleEvent(EVENT_DECIMATE, urand(20000, 25000));
events.ScheduleEvent(EVENT_MORTAL_WOUND, urand(1500, 2500));
events.ScheduleEvent(EVENT_DECIMATE, 20s, 25s);
events.ScheduleEvent(EVENT_MORTAL_WOUND, 1500ms, 2500ms);
}
void UpdateAI(uint32 diff) override
@@ -459,11 +459,11 @@ public:
{
case EVENT_DECIMATE:
me->CastSpell(me->GetVictim(), SPELL_DECIMATE, false);
events.ScheduleEvent(EVENT_DECIMATE, urand(20000, 25000));
events.ScheduleEvent(EVENT_DECIMATE, 20s, 25s);
break;
case EVENT_MORTAL_WOUND:
me->CastSpell(me->GetVictim(), SPELL_MORTAL_WOUND, false);
events.ScheduleEvent(EVENT_MORTAL_WOUND, urand(1500, 2500));
events.ScheduleEvent(EVENT_MORTAL_WOUND, 1500ms, 2500ms);
break;
default:
break;

View File

@@ -763,11 +763,11 @@ public:
me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
me->GetTransport()->setActive(true);
me->GetTransport()->ToMotionTransport()->EnableMovement(true);
_events.ScheduleEvent(EVENT_INTRO_H_1, 5000);
_events.ScheduleEvent(EVENT_INTRO_H_2, 16000);
_events.ScheduleEvent(EVENT_INTRO_SUMMON_SKYBREAKER, 24600);
_events.ScheduleEvent(EVENT_INTRO_H_3, 29600);
_events.ScheduleEvent(EVENT_INTRO_H_4, 39200);
_events.ScheduleEvent(EVENT_INTRO_H_1, 5s);
_events.ScheduleEvent(EVENT_INTRO_H_2, 16s);
_events.ScheduleEvent(EVENT_INTRO_SUMMON_SKYBREAKER, 24s + 600ms);
_events.ScheduleEvent(EVENT_INTRO_H_3, 29s + 600ms);
_events.ScheduleEvent(EVENT_INTRO_H_4, 39s + 200ms);
}
void JustEngagedWith(Unit* /*target*/) override
@@ -777,7 +777,7 @@ public:
if (!me->HasAura(SPELL_BATTLE_FURY))
me->CastSpell(me, SPELL_BATTLE_FURY, true);
_events.CancelEvent(EVENT_CLEAVE);
_events.ScheduleEvent(EVENT_CLEAVE, urand(3000, 6000));
_events.ScheduleEvent(EVENT_CLEAVE, 3s, 6s);
}
void EnterEvadeMode(EvadeReason /*why*/) override
@@ -801,9 +801,9 @@ public:
muradin->AI()->DoAction(ACTION_SPAWN_ALL_ADDS);
Talk(SAY_SAURFANG_INTRO_5);
_events.ScheduleEvent(EVENT_INTRO_H_5, 4000);
_events.ScheduleEvent(EVENT_INTRO_H_6, 11000);
_events.ScheduleEvent(EVENT_KEEP_PLAYER_IN_COMBAT, 1);
_events.ScheduleEvent(EVENT_INTRO_H_5, 4s);
_events.ScheduleEvent(EVENT_INTRO_H_6, 11s);
_events.ScheduleEvent(EVENT_KEEP_PLAYER_IN_COMBAT, 1ms);
if (Creature* skybreaker = me->FindNearestCreature(NPC_THE_SKYBREAKER, 200.0f))
_instance->SendEncounterUnit(ENCOUNTER_FRAME_ENGAGE, skybreaker, 1);
@@ -819,13 +819,13 @@ public:
if (_firstMageCooldown > now)
_events.ScheduleEvent(EVENT_SUMMON_MAGE, (_firstMageCooldown - now) * IN_MILLISECONDS);
else
_events.ScheduleEvent(EVENT_SUMMON_MAGE, 1);
_events.ScheduleEvent(EVENT_SUMMON_MAGE, 1ms);
}
else if (action == ACTION_SPAWN_ALL_ADDS)
{
_events.ScheduleEvent(EVENT_ADDS, 12000);
_events.ScheduleEvent(EVENT_CHECK_RIFLEMAN, 13000);
_events.ScheduleEvent(EVENT_CHECK_MORTAR, 13000);
_events.ScheduleEvent(EVENT_ADDS, 12s);
_events.ScheduleEvent(EVENT_CHECK_RIFLEMAN, 13s);
_events.ScheduleEvent(EVENT_CHECK_MORTAR, 13s);
if (Is25ManRaid())
_controller.SummonCreatures(me, SLOT_MAGE_1, SLOT_MORTAR_4);
else
@@ -860,7 +860,7 @@ public:
{
_controller.ClearSlot(PassengerSlots(data));
if (data == SLOT_FREEZE_MAGE)
_events.ScheduleEvent(EVENT_SUMMON_MAGE, urand(30000, 33500));
_events.ScheduleEvent(EVENT_SUMMON_MAGE, 30s, 33s + 500ms);
}
}
@@ -950,7 +950,7 @@ public:
if (Player* p = itr->GetSource())
if (!p->IsGameMaster())
p->SetInCombatState(true);
_events.ScheduleEvent(EVENT_KEEP_PLAYER_IN_COMBAT, 4000);
_events.ScheduleEvent(EVENT_KEEP_PLAYER_IN_COMBAT, 4s);
}
break;
@@ -980,8 +980,8 @@ public:
me->SummonCreature(NPC_TELEPORT_EXIT, x, y, z, o, TEMPSUMMON_TIMED_DESPAWN, 23000);
}
_events.ScheduleEvent(EVENT_ADDS_BOARD_YELL, 6000);
_events.ScheduleEvent(EVENT_ADDS, 60000);
_events.ScheduleEvent(EVENT_ADDS_BOARD_YELL, 6s);
_events.ScheduleEvent(EVENT_ADDS, 1min);
break;
case EVENT_ADDS_BOARD_YELL:
if (Creature* muradin = me->FindNearestCreature(NPC_IGB_MURADIN_BRONZEBEARD, 200.0f))
@@ -996,7 +996,7 @@ public:
_axethrowersYellCooldown = GameTime::GetGameTime().count() + 5;
}
}
_events.ScheduleEvent(EVENT_CHECK_RIFLEMAN, 1500);
_events.ScheduleEvent(EVENT_CHECK_RIFLEMAN, 1500ms);
break;
case EVENT_CHECK_MORTAR:
if (_controller.SummonCreatures(me, SLOT_MORTAR_1, Is25ManRaid() ? SLOT_MORTAR_4 : SLOT_MORTAR_2))
@@ -1007,12 +1007,12 @@ public:
_rocketeersYellCooldown = GameTime::GetGameTime().count() + 5;
}
}
_events.ScheduleEvent(EVENT_CHECK_MORTAR, 1500);
_events.ScheduleEvent(EVENT_CHECK_MORTAR, 1500ms);
break;
case EVENT_CLEAVE:
if (me->GetVictim())
me->CastSpell(me->GetVictim(), SPELL_CLEAVE, false);
_events.ScheduleEvent(EVENT_CLEAVE, urand(4000, 8000));
_events.ScheduleEvent(EVENT_CLEAVE, 4s, 8s);
break;
default:
@@ -1098,12 +1098,12 @@ public:
me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
me->GetTransport()->setActive(true);
me->GetTransport()->ToMotionTransport()->EnableMovement(true);
_events.ScheduleEvent(EVENT_INTRO_A_1, 5000);
_events.ScheduleEvent(EVENT_INTRO_A_2, 10000);
_events.ScheduleEvent(EVENT_INTRO_SUMMON_ORGRIMS_HAMMER, 28000);
_events.ScheduleEvent(EVENT_INTRO_A_3, 33000);
_events.ScheduleEvent(EVENT_INTRO_A_4, 39000);
_events.ScheduleEvent(EVENT_INTRO_A_5, 45000);
_events.ScheduleEvent(EVENT_INTRO_A_1, 5s);
_events.ScheduleEvent(EVENT_INTRO_A_2, 10s);
_events.ScheduleEvent(EVENT_INTRO_SUMMON_ORGRIMS_HAMMER, 28s);
_events.ScheduleEvent(EVENT_INTRO_A_3, 33s);
_events.ScheduleEvent(EVENT_INTRO_A_4, 39s);
_events.ScheduleEvent(EVENT_INTRO_A_5, 45s);
}
void JustEngagedWith(Unit* /*target*/) override
@@ -1113,7 +1113,7 @@ public:
if (!me->HasAura(SPELL_BATTLE_FURY))
me->CastSpell(me, SPELL_BATTLE_FURY, true);
_events.CancelEvent(EVENT_CLEAVE);
_events.ScheduleEvent(EVENT_CLEAVE, urand(3000, 6000));
_events.ScheduleEvent(EVENT_CLEAVE, 3s, 6s);
}
void EnterEvadeMode(EvadeReason /*why*/) override
@@ -1137,9 +1137,9 @@ public:
saurfang->AI()->DoAction(ACTION_SPAWN_ALL_ADDS);
Talk(SAY_MURADIN_INTRO_6);
_events.ScheduleEvent(EVENT_INTRO_A_6, 5000);
_events.ScheduleEvent(EVENT_INTRO_A_7, 11000);
_events.ScheduleEvent(EVENT_KEEP_PLAYER_IN_COMBAT, 1);
_events.ScheduleEvent(EVENT_INTRO_A_6, 5s);
_events.ScheduleEvent(EVENT_INTRO_A_7, 11s);
_events.ScheduleEvent(EVENT_KEEP_PLAYER_IN_COMBAT, 1ms);
if (Creature* orgrimsHammer = me->FindNearestCreature(NPC_ORGRIMS_HAMMER, 200.0f))
_instance->SendEncounterUnit(ENCOUNTER_FRAME_ENGAGE, orgrimsHammer, 1);
@@ -1155,13 +1155,13 @@ public:
if (_firstMageCooldown > now)
_events.ScheduleEvent(EVENT_SUMMON_MAGE, (_firstMageCooldown - now) * IN_MILLISECONDS);
else
_events.ScheduleEvent(EVENT_SUMMON_MAGE, 1);
_events.ScheduleEvent(EVENT_SUMMON_MAGE, 1ms);
}
else if (action == ACTION_SPAWN_ALL_ADDS)
{
_events.ScheduleEvent(EVENT_ADDS, 12000);
_events.ScheduleEvent(EVENT_CHECK_RIFLEMAN, 13000);
_events.ScheduleEvent(EVENT_CHECK_MORTAR, 13000);
_events.ScheduleEvent(EVENT_ADDS, 12s);
_events.ScheduleEvent(EVENT_CHECK_RIFLEMAN, 13s);
_events.ScheduleEvent(EVENT_CHECK_MORTAR, 13s);
if (Is25ManRaid())
_controller.SummonCreatures(me, SLOT_MAGE_1, SLOT_MORTAR_4);
else
@@ -1196,7 +1196,7 @@ public:
{
_controller.ClearSlot(PassengerSlots(data));
if (data == SLOT_FREEZE_MAGE)
_events.ScheduleEvent(EVENT_SUMMON_MAGE, urand(30000, 33500));
_events.ScheduleEvent(EVENT_SUMMON_MAGE, 30s, 33s + 500ms);
}
}
@@ -1289,7 +1289,7 @@ public:
if (Player* p = itr->GetSource())
if (!p->IsGameMaster())
p->SetInCombatState(true);
_events.ScheduleEvent(EVENT_KEEP_PLAYER_IN_COMBAT, 4000);
_events.ScheduleEvent(EVENT_KEEP_PLAYER_IN_COMBAT, 4s);
}
break;
@@ -1319,8 +1319,8 @@ public:
me->SummonCreature(NPC_TELEPORT_EXIT, x, y, z, o, TEMPSUMMON_TIMED_DESPAWN, 23000);
}
_events.ScheduleEvent(EVENT_ADDS_BOARD_YELL, 6000);
_events.ScheduleEvent(EVENT_ADDS, 60000);
_events.ScheduleEvent(EVENT_ADDS_BOARD_YELL, 6s);
_events.ScheduleEvent(EVENT_ADDS, 1min);
break;
case EVENT_ADDS_BOARD_YELL:
if (Creature* saurfang = me->FindNearestCreature(NPC_IGB_HIGH_OVERLORD_SAURFANG, 200.0f))
@@ -1335,7 +1335,7 @@ public:
_riflemanYellCooldown = GameTime::GetGameTime().count() + 5;
}
}
_events.ScheduleEvent(EVENT_CHECK_RIFLEMAN, 1500);
_events.ScheduleEvent(EVENT_CHECK_RIFLEMAN, 1500ms);
break;
case EVENT_CHECK_MORTAR:
if (_controller.SummonCreatures(me, SLOT_MORTAR_1, Is25ManRaid() ? SLOT_MORTAR_4 : SLOT_MORTAR_2))
@@ -1346,12 +1346,12 @@ public:
_mortarYellCooldown = GameTime::GetGameTime().count() + 5;
}
}
_events.ScheduleEvent(EVENT_CHECK_MORTAR, 1500);
_events.ScheduleEvent(EVENT_CHECK_MORTAR, 1500ms);
break;
case EVENT_CLEAVE:
if (me->GetVictim())
me->CastSpell(me->GetVictim(), SPELL_CLEAVE, false);
_events.ScheduleEvent(EVENT_CLEAVE, urand(4000, 8000));
_events.ScheduleEvent(EVENT_CLEAVE, 4s, 8s);
break;
default:
@@ -1661,8 +1661,8 @@ public:
void JustEngagedWith(Unit* /*target*/) override
{
_events.Reset();
_events.ScheduleEvent(EVENT_BLADESTORM, urand(13000, 18000));
_events.ScheduleEvent(EVENT_WOUNDING_STRIKE, urand(5000, 10000));
_events.ScheduleEvent(EVENT_BLADESTORM, 13s, 18s);
_events.ScheduleEvent(EVENT_WOUNDING_STRIKE, 5s, 10s);
}
void UpdateAI(uint32 diff) override
@@ -1689,11 +1689,11 @@ public:
break;
case EVENT_BLADESTORM:
me->CastSpell(me->GetVictim(), SPELL_BLADESTORM, false);
_events.ScheduleEvent(EVENT_BLADESTORM, urand(25000, 30000));
_events.ScheduleEvent(EVENT_BLADESTORM, 25s, 30s);
break;
case EVENT_WOUNDING_STRIKE:
me->CastSpell(me->GetVictim(), SPELL_WOUNDING_STRIKE, false);
_events.ScheduleEvent(EVENT_WOUNDING_STRIKE, urand(7000, 13000));
_events.ScheduleEvent(EVENT_WOUNDING_STRIKE, 7s, 13s);
break;
default:
break;

View File

@@ -279,13 +279,13 @@ public:
events.Reset();
events.SetPhase(PHASE_ONE);
events.ScheduleEvent(EVENT_BERSERK, 600000);
events.ScheduleEvent(EVENT_SPELL_DEATH_AND_DECAY, 10000);
events.ScheduleEvent(EVENT_BERSERK, 10min);
events.ScheduleEvent(EVENT_SPELL_DEATH_AND_DECAY, 10s);
if (GetDifficulty() != RAID_DIFFICULTY_10MAN_NORMAL)
events.ScheduleEvent(EVENT_SPELL_DOMINATE_MIND_25, 30000);
events.ScheduleEvent(EVENT_SPELL_SHADOW_BOLT, 2000, 0, PHASE_ONE);
events.ScheduleEvent(EVENT_SUMMON_WAVE_P1, 5000, 0, PHASE_ONE);
events.ScheduleEvent(EVENT_EMPOWER_CULTIST, urand(20000, 30000), 0, PHASE_ONE);
events.ScheduleEvent(EVENT_SPELL_DOMINATE_MIND_25, 30s);
events.ScheduleEvent(EVENT_SPELL_SHADOW_BOLT, 2s, 0, PHASE_ONE);
events.ScheduleEvent(EVENT_SUMMON_WAVE_P1, 5s, 0, PHASE_ONE);
events.ScheduleEvent(EVENT_EMPOWER_CULTIST, 20s, 30s, 0, PHASE_ONE);
Talk(SAY_AGGRO);
me->RemoveAurasDueToSpell(SPELL_SHADOW_CHANNELING);
@@ -315,15 +315,15 @@ public:
me->SetPower(POWER_MANA, 0);
me->RemoveAurasDueToSpell(SPELL_MANA_BARRIER);
events.SetPhase(PHASE_TWO);
events.ScheduleEvent(EVENT_SPELL_FROSTBOLT, urand(10000, 12000), 0, PHASE_TWO);
events.ScheduleEvent(EVENT_SPELL_FROSTBOLT_VOLLEY, urand(19000, 21000), 0, PHASE_TWO);
events.ScheduleEvent(EVENT_SPELL_TOUCH_OF_INSIGNIFICANCE, urand(6000, 9000), 0, PHASE_TWO);
events.ScheduleEvent(EVENT_SPELL_SUMMON_SHADE, urand(12000, 15000), 0, PHASE_TWO);
events.ScheduleEvent(EVENT_SPELL_FROSTBOLT, 10s, 12s, 0, PHASE_TWO);
events.ScheduleEvent(EVENT_SPELL_FROSTBOLT_VOLLEY, 19s, 21s, 0, PHASE_TWO);
events.ScheduleEvent(EVENT_SPELL_TOUCH_OF_INSIGNIFICANCE, 6s, 9s, 0, PHASE_TWO);
events.ScheduleEvent(EVENT_SPELL_SUMMON_SHADE, 12s, 15s, 0, PHASE_TWO);
if (IsHeroic())
{
me->ApplySpellImmune(0, IMMUNITY_STATE, SPELL_AURA_MOD_TAUNT, true);
me->ApplySpellImmune(0, IMMUNITY_EFFECT, SPELL_EFFECT_ATTACK_ME, true);
events.ScheduleEvent(EVENT_SUMMON_WAVE_P2, 45000, 0, PHASE_TWO);
events.ScheduleEvent(EVENT_SUMMON_WAVE_P2, 45s, 0, PHASE_TWO);
}
}
}
@@ -367,7 +367,7 @@ public:
case EVENT_SPELL_DEATH_AND_DECAY:
if (Unit* target = SelectTarget(SelectTargetMethod::Random))
me->CastSpell(target, SPELL_DEATH_AND_DECAY, false);
events.RepeatEvent(urand(22000, 30000));
events.Repeat(22s, 30s);
break;
case EVENT_SPELL_DOMINATE_MIND_25:
{
@@ -404,37 +404,37 @@ public:
me->CastSpell(target, SPELL_DOMINATE_MIND_25, true);
}
events.RepeatEvent(urand(40000, 45000));
events.Repeat(40s, 45s);
}
break;
case EVENT_SPELL_SHADOW_BOLT:
if (Unit* target = SelectTarget(SelectTargetMethod::Random))
me->CastSpell(target, SPELL_SHADOW_BOLT, false);
events.RepeatEvent(2100);
events.Repeat(2100ms);
break;
case EVENT_SUMMON_WAVE_P1:
SummonWaveP1();
events.RepeatEvent(IsHeroic() ? 45000 : 60000);
events.Repeat(IsHeroic() ? 45s : 60s);
break;
case EVENT_EMPOWER_CULTIST:
EmpowerCultist();
events.RepeatEvent(urand(18000, 25000));
events.Repeat(18s, 25s);
break;
case EVENT_SPELL_FROSTBOLT:
me->CastSpell(me->GetVictim(), SPELL_FROSTBOLT, false);
events.RepeatEvent(12000);
events.Repeat(12s);
break;
case EVENT_SPELL_FROSTBOLT_VOLLEY:
me->CastSpell((Unit*)nullptr, SPELL_FROSTBOLT_VOLLEY, false);
events.RepeatEvent(urand(13000, 15000));
events.Repeat(13s, 15s);
break;
case EVENT_SPELL_TOUCH_OF_INSIGNIFICANCE:
me->CastSpell(me->GetVictim(), SPELL_TOUCH_OF_INSIGNIFICANCE, false);
events.RepeatEvent(urand(6000, 9000));
events.Repeat(6s, 9s);
break;
case EVENT_SUMMON_WAVE_P2:
SummonWaveP2();
events.RepeatEvent(45000);
events.Repeat(45s);
break;
case EVENT_SPELL_SUMMON_SHADE:
{
@@ -450,7 +450,7 @@ public:
for (std::list<Unit*>::iterator itr = targets.begin(); itr != targets.end(); ++itr)
me->CastSpell(*itr, SPELL_SUMMON_SHADE, true);
}
events.RepeatEvent(12000);
events.Repeat(12s);
break;
}
@@ -556,12 +556,12 @@ public:
_introDone = true;
Talk(SAY_INTRO_1);
events.SetPhase(PHASE_INTRO);
events.ScheduleEvent(EVENT_INTRO_2, 11000, 0, PHASE_INTRO);
events.ScheduleEvent(EVENT_INTRO_3, 21000, 0, PHASE_INTRO);
events.ScheduleEvent(EVENT_INTRO_4, 31500, 0, PHASE_INTRO);
events.ScheduleEvent(EVENT_INTRO_5, 39500, 0, PHASE_INTRO);
events.ScheduleEvent(EVENT_INTRO_6, 48500, 0, PHASE_INTRO);
events.ScheduleEvent(EVENT_INTRO_7, 58000, 0, PHASE_INTRO);
events.ScheduleEvent(EVENT_INTRO_2, 11s, 0, PHASE_INTRO);
events.ScheduleEvent(EVENT_INTRO_3, 21s, 0, PHASE_INTRO);
events.ScheduleEvent(EVENT_INTRO_4, 31s + 500ms, 0, PHASE_INTRO);
events.ScheduleEvent(EVENT_INTRO_5, 39s + 500ms, 0, PHASE_INTRO);
events.ScheduleEvent(EVENT_INTRO_6, 48s + 500ms, 0, PHASE_INTRO);
events.ScheduleEvent(EVENT_INTRO_7, 58s, 0, PHASE_INTRO);
}
}
@@ -680,9 +680,9 @@ public:
void Reset() override
{
events.Reset();
events.ScheduleEvent(EVENT_SPELL_FANATIC_NECROTIC_STRIKE, urand(10000, 12000));
events.ScheduleEvent(EVENT_SPELL_FANATIC_SHADOW_CLEAVE, urand(14000, 16000));
events.ScheduleEvent(EVENT_SPELL_FANATIC_VAMPIRIC_MIGHT, urand(20000, 27000));
events.ScheduleEvent(EVENT_SPELL_FANATIC_NECROTIC_STRIKE, 10s, 12s);
events.ScheduleEvent(EVENT_SPELL_FANATIC_SHADOW_CLEAVE, 14s, 16s);
events.ScheduleEvent(EVENT_SPELL_FANATIC_VAMPIRIC_MIGHT, 20s, 27s);
}
void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override
@@ -711,7 +711,7 @@ public:
case SPELL_DARK_MARTYRDOM_FANATIC_25N:
case SPELL_DARK_MARTYRDOM_FANATIC_25H:
ApplyMechanicImmune(me, false);
events.ScheduleEvent(EVENT_SPELL_CULTIST_DARK_MARTYRDOM, 5); // Visual purposes only.
events.ScheduleEvent(EVENT_SPELL_CULTIST_DARK_MARTYRDOM, 5ms); // Visual purposes only.
break;
}
}
@@ -732,15 +732,15 @@ public:
{
case EVENT_SPELL_FANATIC_NECROTIC_STRIKE:
me->CastSpell(me->GetVictim(), SPELL_NECROTIC_STRIKE, false);
events.RepeatEvent(urand(11000, 13000));
events.Repeat(11s, 13s);
break;
case EVENT_SPELL_FANATIC_SHADOW_CLEAVE:
me->CastSpell(me->GetVictim(), SPELL_SHADOW_CLEAVE, false);
events.RepeatEvent(urand(9500, 11000));
events.Repeat(9500ms, 11s);
break;
case EVENT_SPELL_FANATIC_VAMPIRIC_MIGHT:
me->CastSpell(me, SPELL_VAMPIRIC_MIGHT, false);
events.RepeatEvent(urand(20000, 27000));
events.Repeat(20s, 27s);
break;
case EVENT_CULTIST_DARK_MARTYRDOM_REVIVE:
me->RemoveAurasDueToSpell(SPELL_PERMANENT_FEIGN_DEATH);
@@ -763,7 +763,7 @@ public:
me->SetUnitFlag2(UNIT_FLAG2_FEIGN_DEATH);
me->SetUnitFlag(UNIT_FLAG_STUNNED | UNIT_FLAG_PREVENT_EMOTES_FROM_CHAT_TEXT | UNIT_FLAG_NOT_SELECTABLE);
Reset();
events.ScheduleEvent(EVENT_CULTIST_DARK_MARTYRDOM_REVIVE, 6000);
events.ScheduleEvent(EVENT_CULTIST_DARK_MARTYRDOM_REVIVE, 6s);
break;
}
@@ -792,10 +792,10 @@ public:
void Reset() override
{
events.Reset();
events.ScheduleEvent(EVENT_SPELL_ADHERENT_FROST_FEVER, urand(10000, 12000));
events.ScheduleEvent(EVENT_SPELL_ADHERENT_DEATHCHILL, urand(14000, 16000));
events.ScheduleEvent(EVENT_SPELL_ADHERENT_CURSE_OF_TORPOR, urand(14000, 16000));
events.ScheduleEvent(EVENT_SPELL_ADHERENT_SHROUD_OF_THE_OCCULT, urand(32000, 39000));
events.ScheduleEvent(EVENT_SPELL_ADHERENT_FROST_FEVER, 10s, 12s);
events.ScheduleEvent(EVENT_SPELL_ADHERENT_DEATHCHILL, 14s, 16s);
events.ScheduleEvent(EVENT_SPELL_ADHERENT_CURSE_OF_TORPOR, 14s, 16s);
events.ScheduleEvent(EVENT_SPELL_ADHERENT_SHROUD_OF_THE_OCCULT, 32s, 39s);
}
void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override
@@ -824,7 +824,7 @@ public:
case SPELL_DARK_MARTYRDOM_ADHERENT_25N:
case SPELL_DARK_MARTYRDOM_ADHERENT_25H:
ApplyMechanicImmune(me, false);
events.ScheduleEvent(EVENT_SPELL_CULTIST_DARK_MARTYRDOM, 5); // Visual purposes only.
events.ScheduleEvent(EVENT_SPELL_CULTIST_DARK_MARTYRDOM, 5ms); // Visual purposes only.
break;
}
}
@@ -845,23 +845,23 @@ public:
{
case EVENT_SPELL_ADHERENT_FROST_FEVER:
me->CastSpell(me->GetVictim(), SPELL_FROST_FEVER, false);
events.RepeatEvent(urand(9000, 13000));
events.Repeat(9s, 13s);
break;
case EVENT_SPELL_ADHERENT_DEATHCHILL:
if (me->GetEntry() == NPC_EMPOWERED_ADHERENT)
me->CastSpell(me->GetVictim(), SPELL_DEATHCHILL_BLAST, false);
else
me->CastSpell(me->GetVictim(), SPELL_DEATHCHILL_BOLT, false);
events.RepeatEvent(urand(9000, 13000));
events.Repeat(9s, 13s);
break;
case EVENT_SPELL_ADHERENT_CURSE_OF_TORPOR:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 1))
me->CastSpell(target, SPELL_CURSE_OF_TORPOR, false);
events.RepeatEvent(urand(9000, 13000));
events.Repeat(9s, 13s);
break;
case EVENT_SPELL_ADHERENT_SHROUD_OF_THE_OCCULT:
me->CastSpell(me, SPELL_SHORUD_OF_THE_OCCULT, false);
events.RepeatEvent(urand(27000, 32000));
events.Repeat(27s, 32s);
break;
case EVENT_CULTIST_DARK_MARTYRDOM_REVIVE:
me->RemoveAurasDueToSpell(SPELL_PERMANENT_FEIGN_DEATH);
@@ -884,7 +884,7 @@ public:
me->SetUnitFlag2(UNIT_FLAG2_FEIGN_DEATH);
me->SetUnitFlag(UNIT_FLAG_STUNNED | UNIT_FLAG_PREVENT_EMOTES_FROM_CHAT_TEXT | UNIT_FLAG_NOT_SELECTABLE);
Reset();
events.ScheduleEvent(EVENT_CULTIST_DARK_MARTYRDOM_REVIVE, 6000);
events.ScheduleEvent(EVENT_CULTIST_DARK_MARTYRDOM_REVIVE, 6s);
break;
default:
break;
@@ -1008,10 +1008,10 @@ public:
void Reset() override
{
events.Reset();
events.ScheduleEvent(EVENT_DARNAVAN_BLADESTORM, 10000);
events.ScheduleEvent(EVENT_DARNAVAN_INTIMIDATING_SHOUT, urand(20000, 25000));
events.ScheduleEvent(EVENT_DARNAVAN_MORTAL_STRIKE, urand(25000, 30000));
events.ScheduleEvent(EVENT_DARNAVAN_SUNDER_ARMOR, urand(5000, 8000));
events.ScheduleEvent(EVENT_DARNAVAN_BLADESTORM, 10s);
events.ScheduleEvent(EVENT_DARNAVAN_INTIMIDATING_SHOUT, 20s, 25s);
events.ScheduleEvent(EVENT_DARNAVAN_MORTAL_STRIKE, 25s, 30s);
events.ScheduleEvent(EVENT_DARNAVAN_SUNDER_ARMOR, 5s, 8s);
_canCharge = true;
_canShatter = true;
}
@@ -1061,7 +1061,7 @@ public:
{
me->CastSpell(me->GetVictim(), SPELL_SHATTERING_THROW, false);
_canShatter = false;
events.ScheduleEvent(EVENT_DARNAVAN_SHATTERING_THROW, 30000);
events.ScheduleEvent(EVENT_DARNAVAN_SHATTERING_THROW, 30s);
return;
}
@@ -1069,7 +1069,7 @@ public:
{
me->CastSpell(me->GetVictim(), SPELL_CHARGE, false);
_canCharge = false;
events.ScheduleEvent(EVENT_DARNAVAN_CHARGE, 20000);
events.ScheduleEvent(EVENT_DARNAVAN_CHARGE, 20s);
return;
}
@@ -1077,25 +1077,25 @@ public:
{
case EVENT_DARNAVAN_BLADESTORM:
me->CastSpell((Unit*)nullptr, SPELL_BLADESTORM, false);
events.RepeatEvent(urand(90000, 100000));
events.Repeat(90s, 100s);
break;
case EVENT_DARNAVAN_CHARGE:
_canCharge = true;
break;
case EVENT_DARNAVAN_INTIMIDATING_SHOUT:
me->CastSpell((Unit*)nullptr, SPELL_INTIMIDATING_SHOUT, false);
events.RepeatEvent(urand(90000, 120000));
events.Repeat(90s, 120s);
break;
case EVENT_DARNAVAN_MORTAL_STRIKE:
me->CastSpell(me->GetVictim(), SPELL_MORTAL_STRIKE, false);
events.RepeatEvent(urand(15000, 30000));
events.Repeat(15s, 30s);
break;
case EVENT_DARNAVAN_SHATTERING_THROW:
_canShatter = true;
break;
case EVENT_DARNAVAN_SUNDER_ARMOR:
me->CastSpell(me->GetVictim(), SPELL_SUNDER_ARMOR, false);
events.RepeatEvent(urand(3000, 7000));
events.Repeat(3s, 7s);
break;
default:
break;

View File

@@ -113,11 +113,11 @@ public:
{
me->SetReactState(REACT_AGGRESSIVE);
_Reset();
events.ScheduleEvent(EVENT_ENABLE_BONE_SLICE, 10000);
events.ScheduleEvent(EVENT_SPELL_BONE_SPIKE_GRAVEYARD, urand(10000, 15000));
events.ScheduleEvent(EVENT_SPELL_COLDFLAME, 5000);
events.ScheduleEvent(EVENT_WARN_BONE_STORM, urand(45000, 50000));
events.ScheduleEvent(EVENT_ENRAGE, 600000);
events.ScheduleEvent(EVENT_ENABLE_BONE_SLICE, 10s);
events.ScheduleEvent(EVENT_SPELL_BONE_SPIKE_GRAVEYARD, 10s, 15s);
events.ScheduleEvent(EVENT_SPELL_COLDFLAME, 5s);
events.ScheduleEvent(EVENT_WARN_BONE_STORM, 45s, 50s);
events.ScheduleEvent(EVENT_ENRAGE, 10min);
_boneSlice = false;
@@ -176,13 +176,13 @@ public:
bool a = me->HasAura(SPELL_BONE_STORM);
if (IsHeroic() || !a)
me->CastSpell(me, SPELL_BONE_SPIKE_GRAVEYARD, a);
events.RepeatEvent(urand(15000, 20000));
events.Repeat(15s, 20s);
}
break;
case EVENT_SPELL_COLDFLAME:
if (!me->HasAura(SPELL_BONE_STORM))
me->CastSpell((Unit*)nullptr, SPELL_COLDFLAME_NORMAL, false);
events.RepeatEvent(5000);
events.Repeat(5s);
break;
case EVENT_SPELL_COLDFLAME_BONE_STORM:
me->CastSpell(me, SPELL_COLDFLAME_BONE_STORM, false);
@@ -196,15 +196,15 @@ public:
me->SetReactState(REACT_PASSIVE); // to prevent chasing another target on UpdateVictim()
me->GetMotionMaster()->MoveIdle();
me->GetMotionMaster()->MovementExpired();
events.RepeatEvent(urand(90000, 95000));
events.ScheduleEvent(EVENT_BEGIN_BONE_STORM, 3050);
events.Repeat(90s, 95s);
events.ScheduleEvent(EVENT_BEGIN_BONE_STORM, 3050ms);
break;
case EVENT_BEGIN_BONE_STORM:
{
uint32 _boneStormDuration = RAID_MODE<uint32>(20000, 30000, 20000, 30000);
if (Aura* pStorm = me->GetAura(SPELL_BONE_STORM))
pStorm->SetDuration(int32(_boneStormDuration));
events.ScheduleEvent(EVENT_BONE_STORM_MOVE, 0);
events.ScheduleEvent(EVENT_BONE_STORM_MOVE, 0ms);
events.ScheduleEvent(EVENT_END_BONE_STORM, _boneStormDuration + 1);
}
break;
@@ -212,10 +212,10 @@ public:
{
if (me->GetMotionMaster()->GetCurrentMovementGeneratorType() == POINT_MOTION_TYPE)
{
events.RepeatEvent(1);
events.Repeat(1ms);
break;
}
events.RepeatEvent(5000);
events.Repeat(5s);
Unit* unit = SelectTarget(SelectTargetMethod::Random, 0, BoneStormMoveTargetSelector(me));
if (!unit)
{
@@ -237,9 +237,9 @@ public:
me->SetReactState(REACT_AGGRESSIVE);
DoStartMovement(me->GetVictim());
events.CancelEvent(EVENT_BONE_STORM_MOVE);
events.ScheduleEvent(EVENT_ENABLE_BONE_SLICE, 10000);
events.ScheduleEvent(EVENT_ENABLE_BONE_SLICE, 10s);
if (!IsHeroic())
events.RescheduleEvent(EVENT_SPELL_BONE_SPIKE_GRAVEYARD, urand(15000, 20000));
events.RescheduleEvent(EVENT_SPELL_BONE_SPIKE_GRAVEYARD, 15s, 20s);
break;
case EVENT_ENRAGE:
me->CastSpell(me, SPELL_BERSERK, true);
@@ -267,7 +267,7 @@ public:
if (type != POINT_MOTION_TYPE || id != 1337)
return;
events.ScheduleEvent(EVENT_SPELL_COLDFLAME_BONE_STORM, 0);
events.ScheduleEvent(EVENT_SPELL_COLDFLAME_BONE_STORM, 0ms);
}
void JustDied(Unit* /*killer*/) override
@@ -320,8 +320,8 @@ public:
void IsSummonedBy(WorldObject* /*summoner*/) override
{
events.ScheduleEvent(1, 450);
events.ScheduleEvent(2, 12000);
events.ScheduleEvent(1, 450ms);
events.ScheduleEvent(2, 12s);
me->m_positionZ = 42.5f;
}
@@ -345,7 +345,7 @@ public:
break;
}
me->NearTeleportTo(nx, ny, 42.5f, me->GetOrientation());
events.RepeatEvent(450);
events.Repeat(450ms);
}
break;
case 2:

View File

@@ -307,11 +307,11 @@ public:
bEnteredCombat = true;
me->CastSpell(me, SPELL_OOZE_TANK_PROTECTION, true);
events.Reset();
events.ScheduleEvent(EVENT_BERSERK, 600000);
events.ScheduleEvent(EVENT_SLIME_PUDDLE, 10000, EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_UNSTABLE_EXPERIMENT, urand(30000, 35000), EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_BERSERK, 10min);
events.ScheduleEvent(EVENT_SLIME_PUDDLE, 10s, EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_UNSTABLE_EXPERIMENT, 30s, 35s, EVENT_GROUP_ABILITIES);
if (IsHeroic())
events.ScheduleEvent(EVENT_UNBOUND_PLAGUE, 20000, EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_UNBOUND_PLAGUE, 20s, EVENT_GROUP_ABILITIES);
instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_GAS_VARIABLE);
instance->DoRemoveAurasDueToSpellOnPlayers(SPELL_OOZE_VARIABLE);
@@ -463,7 +463,7 @@ public:
me->SetFacingTo(tablePos.GetOrientation());
me->GetMotionMaster()->Clear(false);
me->GetMotionMaster()->MoveIdle();
events.ScheduleEvent(EVENT_TABLE_DRINK_STUFF, IsHeroic() ? 25000 : 0);
events.ScheduleEvent(EVENT_TABLE_DRINK_STUFF, IsHeroic() ? 25s : 0ms);
break;
}
}
@@ -552,13 +552,13 @@ public:
if (!targets.empty())
for (std::list<Unit*>::iterator itr = targets.begin(); itr != targets.end(); ++itr)
me->CastSpell(*itr, SPELL_SLIME_PUDDLE_TRIGGER, true);
events.ScheduleEvent(EVENT_SLIME_PUDDLE, 35000, EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_SLIME_PUDDLE, 35s, EVENT_GROUP_ABILITIES);
}
break;
case EVENT_UNSTABLE_EXPERIMENT:
Talk(EMOTE_UNSTABLE_EXPERIMENT);
me->CastSpell(me, SPELL_UNSTABLE_EXPERIMENT, false);
events.ScheduleEvent(EVENT_UNSTABLE_EXPERIMENT, urand(35000, 40000), EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_UNSTABLE_EXPERIMENT, 35s, 40s, EVENT_GROUP_ABILITIES);
break;
case EVENT_GO_TO_TABLE:
me->CastSpell(me, SPELL_TEAR_GAS_PERIODIC_TRIGGER, true);
@@ -594,14 +594,14 @@ public:
me->SetFacingToObject(face);
me->SetStandState(UNIT_STAND_STATE_KNEEL);
Talk(SAY_TRANSFORM_1);
events.ScheduleEvent(EVENT_RESUME_ATTACK, 5500);
events.ScheduleEvent(EVENT_RESUME_ATTACK, 5500ms);
break;
case 3:
if (Creature* face = me->FindNearestCreature(NPC_TEAR_GAS_TARGET_STALKER, 50.0f))
me->SetFacingToObject(face);
me->SetStandState(UNIT_STAND_STATE_KNEEL);
Talk(SAY_TRANSFORM_2);
events.ScheduleEvent(EVENT_RESUME_ATTACK, 8500);
events.ScheduleEvent(EVENT_RESUME_ATTACK, 8500ms);
break;
default:
break;
@@ -625,10 +625,10 @@ public:
{
me->CastSpell(target, SPELL_UNBOUND_PLAGUE, false);
me->CastSpell(target, SPELL_UNBOUND_PLAGUE_SEARCHER, false);
events.ScheduleEvent(EVENT_UNBOUND_PLAGUE, 90000, EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_UNBOUND_PLAGUE, 90s, EVENT_GROUP_ABILITIES);
}
else
events.ScheduleEvent(EVENT_UNBOUND_PLAGUE, 3500, EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_UNBOUND_PLAGUE, 3500ms, EVENT_GROUP_ABILITIES);
break;
case EVENT_MALLEABLE_GOO:
if (Is25ManRaid())
@@ -651,12 +651,12 @@ public:
me->CastSpell(target, SPELL_MALLEABLE_GOO, true);
}
}
events.ScheduleEvent(EVENT_MALLEABLE_GOO, urand(25000, 30000), EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_MALLEABLE_GOO, 25s, 30s, EVENT_GROUP_ABILITIES);
break;
case EVENT_CHOKING_GAS_BOMB:
Talk(EMOTE_CHOKING_GAS_BOMB);
me->CastSpell(me, SPELL_CHOKING_GAS_BOMB, false);
events.ScheduleEvent(EVENT_CHOKING_GAS_BOMB, urand(35000, 40000), EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_CHOKING_GAS_BOMB, 35s, 40s, EVENT_GROUP_ABILITIES);
break;
default:
break;
@@ -681,7 +681,7 @@ public:
if (!IsHeroic())
{
me->CastSpell(me, SPELL_TEAR_GAS, false);
events.ScheduleEvent(EVENT_GO_TO_TABLE, 2500);
events.ScheduleEvent(EVENT_GO_TO_TABLE, 2500ms);
}
else
{

View File

@@ -158,12 +158,12 @@ public:
// schedule events
events.Reset();
events.ScheduleEvent(EVENT_SLIME_SPRAY, 20000);
events.ScheduleEvent(EVENT_HASTEN_INFECTIONS, 90000);
events.ScheduleEvent(EVENT_MUTATED_INFECTION, 14000);
events.ScheduleEvent(EVENT_ROTFACE_OOZE_FLOOD, 8000);
events.ScheduleEvent(EVENT_SLIME_SPRAY, 20s);
events.ScheduleEvent(EVENT_HASTEN_INFECTIONS, 90s);
events.ScheduleEvent(EVENT_MUTATED_INFECTION, 14s);
events.ScheduleEvent(EVENT_ROTFACE_OOZE_FLOOD, 8s);
if (IsHeroic())
events.ScheduleEvent(EVENT_ROTFACE_VILE_GAS, urand(15000, 20000));
events.ScheduleEvent(EVENT_ROTFACE_VILE_GAS, 15s, 20s);
me->setActive(true);
Talk(SAY_AGGRO);
@@ -287,14 +287,14 @@ public:
}
}
events.DelayEvents(1);
events.ScheduleEvent(EVENT_SLIME_SPRAY, 20000);
events.ScheduleEvent(EVENT_UNROOT, 0);
events.ScheduleEvent(EVENT_SLIME_SPRAY, 20s);
events.ScheduleEvent(EVENT_UNROOT, 0ms);
break;
case EVENT_HASTEN_INFECTIONS:
if (infectionCooldown >= 8000)
{
infectionCooldown -= 2000;
events.ScheduleEvent(EVENT_HASTEN_INFECTIONS, 90000);
events.ScheduleEvent(EVENT_HASTEN_INFECTIONS, 90s);
}
break;
case EVENT_MUTATED_INFECTION:
@@ -309,7 +309,7 @@ public:
if (++_oozeFloodStage == 4)
_oozeFloodStage = 0;
}
events.ScheduleEvent(EVENT_ROTFACE_OOZE_FLOOD, 25000);
events.ScheduleEvent(EVENT_ROTFACE_OOZE_FLOOD, 25s);
break;
case EVENT_ROTFACE_VILE_GAS:
{
@@ -324,7 +324,7 @@ public:
if (Creature* professor = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_PROFESSOR_PUTRICIDE)))
professor->CastSpell(target, SPELL_VILE_GAS_H, true); // triggered, to skip LoS check
}
events.ScheduleEvent(EVENT_ROTFACE_VILE_GAS, urand(15000, 20000));
events.ScheduleEvent(EVENT_ROTFACE_VILE_GAS, 15s, 20s);
break;
default:
break;
@@ -387,7 +387,7 @@ public:
me->CastSpell(me, SPELL_LITTLE_OOZE_COMBINE, true);
me->CastSpell(me, SPELL_WEAK_RADIATING_OOZE, true);
events.Reset();
events.ScheduleEvent(EVENT_STICKY_OOZE, 5000);
events.ScheduleEvent(EVENT_STICKY_OOZE, 5s);
DoResetThreatList();
me->SetInCombatWithZone();
if (TempSummon* ts = me->ToTempSummon())
@@ -406,7 +406,7 @@ public:
if (events.ExecuteEvent() == EVENT_STICKY_OOZE)
{
me->CastSpell(me->GetVictim(), SPELL_STICKY_OOZE, false);
events.ScheduleEvent(EVENT_STICKY_OOZE, 15000);
events.ScheduleEvent(EVENT_STICKY_OOZE, 15s);
}
DoMeleeAttackIfReady();
@@ -472,7 +472,7 @@ public:
me->CastSpell(me, SPELL_UNSTABLE_OOZE, true);
me->CastSpell(me, SPELL_GREEN_ABOMINATION_HITTIN__YA_PROC, true);
events.Reset();
events.ScheduleEvent(EVENT_STICKY_OOZE, 5000);
events.ScheduleEvent(EVENT_STICKY_OOZE, 5s);
DoResetThreatList();
me->SetInCombatWithZone();
if (Player* p = me->SelectNearestPlayer(100.0f))
@@ -488,7 +488,7 @@ public:
{
case EVENT_STICKY_OOZE:
me->CastSpell(me->GetVictim(), SPELL_STICKY_OOZE, false);
events.ScheduleEvent(EVENT_STICKY_OOZE, 15000);
events.ScheduleEvent(EVENT_STICKY_OOZE, 15s);
default:
break;
}
@@ -894,9 +894,9 @@ public:
void JustEngagedWith(Unit* /*target*/) override
{
me->setActive(true);
events.ScheduleEvent(EVENT_DECIMATE, urand(20000, 25000));
events.ScheduleEvent(EVENT_MORTAL_WOUND, urand(1500, 2500));
events.ScheduleEvent(EVENT_SUMMON_ZOMBIES, urand(25000, 30000));
events.ScheduleEvent(EVENT_DECIMATE, 20s, 25s);
events.ScheduleEvent(EVENT_MORTAL_WOUND, 1500ms, 2500ms);
events.ScheduleEvent(EVENT_SUMMON_ZOMBIES, 25s, 30s);
}
void JustSummoned(Creature* summon) override
@@ -936,17 +936,17 @@ public:
{
case EVENT_DECIMATE:
me->CastSpell(me->GetVictim(), SPELL_DECIMATE, false);
events.ScheduleEvent(EVENT_DECIMATE, urand(20000, 25000));
events.ScheduleEvent(EVENT_DECIMATE, 20s, 25s);
break;
case EVENT_MORTAL_WOUND:
me->CastSpell(me->GetVictim(), SPELL_MORTAL_WOUND, false);
events.ScheduleEvent(EVENT_MORTAL_WOUND, urand(1500, 2500));
events.ScheduleEvent(EVENT_MORTAL_WOUND, 1500ms, 2500ms);
break;
case EVENT_SUMMON_ZOMBIES:
Talk(EMOTE_PRECIOUS_ZOMBIES);
for (uint32 i = 0; i < 11; ++i)
me->CastSpell(me, SPELL_AWAKEN_PLAGUED_ZOMBIES, true);
events.ScheduleEvent(EVENT_SUMMON_ZOMBIES, urand(20000, 25000));
events.ScheduleEvent(EVENT_SUMMON_ZOMBIES, 20s, 25s);
break;
default:
break;

View File

@@ -337,13 +337,13 @@ public:
summons.DespawnAll();
events.Reset();
events.ScheduleEvent(EVENT_BERSERK, 600000);
events.ScheduleEvent(EVENT_AIR_PHASE, 50000);
events.ScheduleEvent(EVENT_CLEAVE, 10000, EVENT_GROUP_LAND_PHASE);
events.ScheduleEvent(EVENT_TAIL_SMASH, 20000, EVENT_GROUP_LAND_PHASE);
events.ScheduleEvent(EVENT_FROST_BREATH, urand(8000, 12000), EVENT_GROUP_LAND_PHASE);
events.ScheduleEvent(EVENT_UNCHAINED_MAGIC, urand(9000, 14000), EVENT_GROUP_LAND_PHASE);
events.ScheduleEvent(EVENT_ICY_GRIP, 33500, EVENT_GROUP_LAND_PHASE);
events.ScheduleEvent(EVENT_BERSERK, 10min);
events.ScheduleEvent(EVENT_AIR_PHASE, 50s);
events.ScheduleEvent(EVENT_CLEAVE, 10s, EVENT_GROUP_LAND_PHASE);
events.ScheduleEvent(EVENT_TAIL_SMASH, 20s, EVENT_GROUP_LAND_PHASE);
events.ScheduleEvent(EVENT_FROST_BREATH, 8s, 12s, EVENT_GROUP_LAND_PHASE);
events.ScheduleEvent(EVENT_UNCHAINED_MAGIC, 9s, 14s, EVENT_GROUP_LAND_PHASE);
events.ScheduleEvent(EVENT_ICY_GRIP, 33s + 500ms, EVENT_GROUP_LAND_PHASE);
me->setActive(true);
me->SetInCombatWithZone();
@@ -440,20 +440,20 @@ public:
me->SetInCombatWithZone();
break;
case POINT_TAKEOFF:
events.ScheduleEvent(EVENT_AIR_MOVEMENT, 0);
events.ScheduleEvent(EVENT_AIR_MOVEMENT, 0ms);
break;
case POINT_AIR_PHASE:
me->CastCustomSpell(SPELL_ICE_TOMB_TARGET, SPELLVALUE_MAX_TARGETS, RAID_MODE<int32>(2, 5, 2, 6), nullptr);
me->SetFacingTo(float(M_PI));
events.ScheduleEvent(EVENT_AIR_MOVEMENT_FAR, 0); // won't be processed during cast time anyway, so 0
events.ScheduleEvent(EVENT_FROST_BOMB, 7000);
events.ScheduleEvent(EVENT_AIR_MOVEMENT_FAR, 0ms); // won't be processed during cast time anyway, so 0
events.ScheduleEvent(EVENT_FROST_BOMB, 7s);
_bombCount = 0;
break;
case POINT_AIR_PHASE_FAR:
me->SetFacingTo(float(M_PI));
break;
case POINT_LAND:
events.ScheduleEvent(EVENT_LAND_GROUND, 0);
events.ScheduleEvent(EVENT_LAND_GROUND, 0ms);
break;
case POINT_LAND_GROUND:
{
@@ -484,7 +484,7 @@ public:
{
_isThirdPhase = true;
events.CancelEvent(EVENT_AIR_PHASE);
events.ScheduleEvent(EVENT_THIRD_PHASE_CHECK, 1000);
events.ScheduleEvent(EVENT_THIRD_PHASE_CHECK, 1s);
}
}
else if (!_isBelow20Pct)
@@ -540,7 +540,7 @@ public:
break;
case EVENT_CLEAVE:
me->CastSpell(me->GetVictim(), SPELL_CLEAVE, false);
events.ScheduleEvent(EVENT_CLEAVE, urand(10000, 15000), EVENT_GROUP_LAND_PHASE);
events.ScheduleEvent(EVENT_CLEAVE, 10s, 15s, EVENT_GROUP_LAND_PHASE);
break;
case EVENT_TAIL_SMASH:
me->DisableRotate(true);
@@ -548,8 +548,8 @@ public:
me->SendMovementFlagUpdate();
me->CastSpell(me->GetVictim(), SPELL_TAIL_SMASH, false);
events.DelayEventsToMax(1, 0);
events.ScheduleEvent(EVENT_UNROOT, 0);
events.ScheduleEvent(EVENT_TAIL_SMASH, urand(22000, 27000), EVENT_GROUP_LAND_PHASE);
events.ScheduleEvent(EVENT_UNROOT, 0ms);
events.ScheduleEvent(EVENT_TAIL_SMASH, 22s, 27s, EVENT_GROUP_LAND_PHASE);
break;
case EVENT_FROST_BREATH:
me->DisableRotate(true);
@@ -557,8 +557,8 @@ public:
me->SendMovementFlagUpdate();
me->CastSpell(me->GetVictim(), _isThirdPhase ? SPELL_FROST_BREATH_P2 : SPELL_FROST_BREATH_P1, false);
events.DelayEventsToMax(1, 0);
events.ScheduleEvent(EVENT_UNROOT, 0);
events.ScheduleEvent(EVENT_FROST_BREATH, urand(20000, 25000), EVENT_GROUP_LAND_PHASE);
events.ScheduleEvent(EVENT_UNROOT, 0ms);
events.ScheduleEvent(EVENT_FROST_BREATH, 20s, 25s, EVENT_GROUP_LAND_PHASE);
break;
case EVENT_UNROOT:
me->DisableRotate(false);
@@ -567,22 +567,22 @@ public:
case EVENT_UNCHAINED_MAGIC:
Talk(SAY_UNCHAINED_MAGIC);
me->CastSpell((Unit*)nullptr, SPELL_UNCHAINED_MAGIC, false);
events.ScheduleEvent(EVENT_UNCHAINED_MAGIC, urand(30000, 35000), EVENT_GROUP_LAND_PHASE);
events.ScheduleEvent(EVENT_UNCHAINED_MAGIC, 30s, 35s, EVENT_GROUP_LAND_PHASE);
break;
case EVENT_ICY_GRIP:
me->CastSpell((Unit*)nullptr, SPELL_ICY_GRIP, false);
events.DelayEventsToMax(1001, 0);
events.ScheduleEvent(EVENT_BLISTERING_COLD, 1000, EVENT_GROUP_LAND_PHASE);
events.ScheduleEvent(EVENT_BLISTERING_COLD, 1s, EVENT_GROUP_LAND_PHASE);
if (uint32 evTime = events.GetNextEventTime(EVENT_ICE_TOMB))
if (events.GetTimer() > evTime || evTime - events.GetTimer() < 7000)
events.RescheduleEvent(EVENT_ICE_TOMB, 7000);
events.RescheduleEvent(EVENT_ICE_TOMB, 7s);
break;
case EVENT_BLISTERING_COLD:
Talk(EMOTE_WARN_BLISTERING_COLD);
me->CastSpell(me, SPELL_BLISTERING_COLD, false);
events.ScheduleEvent(EVENT_BLISTERING_COLD_YELL, 5000, EVENT_GROUP_LAND_PHASE);
events.ScheduleEvent(EVENT_BLISTERING_COLD_YELL, 5s, EVENT_GROUP_LAND_PHASE);
if (_isThirdPhase)
events.RescheduleEvent(EVENT_ICY_GRIP, urand(65000, 70000));
events.RescheduleEvent(EVENT_ICY_GRIP, 65s, 70s);
break;
case EVENT_BLISTERING_COLD_YELL:
Talk(SAY_BLISTERING_COLD);
@@ -610,7 +610,7 @@ public:
me->SetDisableGravity(true);
me->GetMotionMaster()->MoveTakeoff(POINT_TAKEOFF, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ() + 20.0f, 10.0f);
events.CancelEventGroup(EVENT_GROUP_LAND_PHASE);
events.ScheduleEvent(EVENT_AIR_PHASE, 110000);
events.ScheduleEvent(EVENT_AIR_PHASE, 110s);
break;
case EVENT_AIR_MOVEMENT:
me->GetMotionMaster()->MovePoint(POINT_AIR_PHASE, SindragosaAirPos);
@@ -644,32 +644,32 @@ public:
me->CastSpell(destX, destY, destZ, SPELL_FROST_BOMB_TRIGGER, false);
if (_bombCount >= 4)
events.ScheduleEvent(EVENT_LAND, 5500);
events.ScheduleEvent(EVENT_LAND, 5500ms);
else
events.ScheduleEvent(EVENT_FROST_BOMB, 6000);
events.ScheduleEvent(EVENT_FROST_BOMB, 6s);
break;
}
case EVENT_LAND:
me->GetMotionMaster()->MovePoint(POINT_LAND, SindragosaFlyInPos);
break;
case EVENT_LAND_GROUND:
events.ScheduleEvent(EVENT_CLEAVE, urand(13000, 15000), EVENT_GROUP_LAND_PHASE);
events.ScheduleEvent(EVENT_TAIL_SMASH, urand(19000, 23000), EVENT_GROUP_LAND_PHASE);
events.ScheduleEvent(EVENT_FROST_BREATH, urand(7000, 10000), EVENT_GROUP_LAND_PHASE);
events.ScheduleEvent(EVENT_UNCHAINED_MAGIC, urand(12000, 17000), EVENT_GROUP_LAND_PHASE);
events.ScheduleEvent(EVENT_ICY_GRIP, urand(35000, 40000), EVENT_GROUP_LAND_PHASE);
events.ScheduleEvent(EVENT_CLEAVE, 13s, 15s, EVENT_GROUP_LAND_PHASE);
events.ScheduleEvent(EVENT_TAIL_SMASH, 19s, 23s, EVENT_GROUP_LAND_PHASE);
events.ScheduleEvent(EVENT_FROST_BREATH, 7s, 10s, EVENT_GROUP_LAND_PHASE);
events.ScheduleEvent(EVENT_UNCHAINED_MAGIC, 12s, 17s, EVENT_GROUP_LAND_PHASE);
events.ScheduleEvent(EVENT_ICY_GRIP, 35s, 40s, EVENT_GROUP_LAND_PHASE);
me->GetMotionMaster()->MoveLand(POINT_LAND_GROUND, SindragosaLandPos, 10.0f);
break;
case EVENT_THIRD_PHASE_CHECK:
if (!_isInAirPhase)
{
Talk(SAY_PHASE_2);
events.ScheduleEvent(EVENT_ICE_TOMB, urand(7000, 10000));
events.RescheduleEvent(EVENT_ICY_GRIP, urand(35000, 40000), EVENT_GROUP_LAND_PHASE);
events.ScheduleEvent(EVENT_ICE_TOMB, 7s, 10s);
events.RescheduleEvent(EVENT_ICY_GRIP, 35s, 40s, EVENT_GROUP_LAND_PHASE);
me->CastSpell(me, SPELL_MYSTIC_BUFFET, true);
}
else
events.ScheduleEvent(EVENT_THIRD_PHASE_CHECK, 5000);
events.ScheduleEvent(EVENT_THIRD_PHASE_CHECK, 5s);
break;
case EVENT_ICE_TOMB:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, LastPhaseIceTombTargetSelector(me)))
@@ -679,9 +679,9 @@ public:
me->CastSpell(target, SPELL_FROST_BEACON, true);
if (uint32 evTime = events.GetNextEventTime(EVENT_ICY_GRIP))
if (events.GetTimer() > evTime || evTime - events.GetTimer() < 8000)
events.RescheduleEvent(EVENT_ICY_GRIP, 8000, EVENT_GROUP_LAND_PHASE);
events.RescheduleEvent(EVENT_ICY_GRIP, 8s, EVENT_GROUP_LAND_PHASE);
}
events.ScheduleEvent(EVENT_ICE_TOMB, urand(18000, 22000));
events.ScheduleEvent(EVENT_ICE_TOMB, 18s, 22s);
break;
default:
break;
@@ -1388,9 +1388,9 @@ public:
void Reset() override
{
_events.Reset();
_events.ScheduleEvent(EVENT_BELLOWING_ROAR, urand(20000, 25000));
_events.ScheduleEvent(EVENT_CLEAVE_SPINESTALKER, urand(10000, 15000));
_events.ScheduleEvent(EVENT_TAIL_SWEEP, urand(8000, 12000));
_events.ScheduleEvent(EVENT_BELLOWING_ROAR, 20s, 25s);
_events.ScheduleEvent(EVENT_CLEAVE_SPINESTALKER, 10s, 15s);
_events.ScheduleEvent(EVENT_TAIL_SWEEP, 8s, 12s);
me->SetReactState(REACT_DEFENSIVE);
if (!_summoned)
@@ -1467,15 +1467,15 @@ public:
{
case EVENT_BELLOWING_ROAR:
me->CastSpell(me, SPELL_BELLOWING_ROAR, false);
_events.ScheduleEvent(EVENT_BELLOWING_ROAR, urand(25000, 30000));
_events.ScheduleEvent(EVENT_BELLOWING_ROAR, 25s, 30s);
break;
case EVENT_CLEAVE_SPINESTALKER:
me->CastSpell(me->GetVictim(), SPELL_CLEAVE_SPINESTALKER, false);
_events.ScheduleEvent(EVENT_CLEAVE_SPINESTALKER, urand(10000, 15000));
_events.ScheduleEvent(EVENT_CLEAVE_SPINESTALKER, 10s, 15s);
break;
case EVENT_TAIL_SWEEP:
me->CastSpell(me->GetVictim(), SPELL_TAIL_SWEEP, false);
_events.ScheduleEvent(EVENT_TAIL_SWEEP, urand(22000, 25000));
_events.ScheduleEvent(EVENT_TAIL_SWEEP, 22s, 25s);
break;
default:
break;
@@ -1519,8 +1519,8 @@ public:
void Reset() override
{
_events.Reset();
_events.ScheduleEvent(EVENT_FROST_BREATH_RIMEFANG, urand(12000, 15000));
_events.ScheduleEvent(EVENT_ICY_BLAST, urand(30000, 35000));
_events.ScheduleEvent(EVENT_FROST_BREATH_RIMEFANG, 12s, 15s);
_events.ScheduleEvent(EVENT_ICY_BLAST, 30s, 35s);
me->SetReactState(REACT_DEFENSIVE);
_icyBlastCounter = 0;
@@ -1615,10 +1615,10 @@ public:
if (!me->IsFlying())
{
me->CastSpell(me->GetVictim(), SPELL_FROST_BREATH, false);
_events.ScheduleEvent(EVENT_FROST_BREATH_RIMEFANG, urand(20000, 25000));
_events.ScheduleEvent(EVENT_FROST_BREATH_RIMEFANG, 20s, 25s);
}
else
_events.ScheduleEvent(EVENT_FROST_BREATH_RIMEFANG, 5000);
_events.ScheduleEvent(EVENT_FROST_BREATH_RIMEFANG, 5s);
break;
case EVENT_ICY_BLAST:
{
@@ -1649,7 +1649,7 @@ public:
me->SetFacingToObject(target);
me->CastSpell(target, SPELL_ICY_BLAST, false);
}
_events.ScheduleEvent(EVENT_ICY_BLAST_CAST, 3000);
_events.ScheduleEvent(EVENT_ICY_BLAST_CAST, 3s);
}
else
{
@@ -1778,11 +1778,11 @@ public:
_events.Reset();
if (me->GetEntry() == NPC_FROSTWARDEN_HANDLER)
{
_events.ScheduleEvent(EVENT_FROSTWARDEN_ORDER_WHELP, 3000);
_events.ScheduleEvent(EVENT_CONCUSSIVE_SHOCK, urand(8000, 10000));
_events.ScheduleEvent(EVENT_FROSTWARDEN_ORDER_WHELP, 3s);
_events.ScheduleEvent(EVENT_CONCUSSIVE_SHOCK, 8s, 10s);
}
else
_events.ScheduleEvent(EVENT_WHELP_FROST_BLAST, urand(3000, 6000));
_events.ScheduleEvent(EVENT_WHELP_FROST_BLAST, 3s, 6s);
}
void JustEngagedWith(Unit* who) override
@@ -1842,15 +1842,15 @@ public:
{
case EVENT_FROSTWARDEN_ORDER_WHELP:
me->CastSpell(me, SPELL_ORDER_WHELP, false);
_events.ScheduleEvent(EVENT_FROSTWARDEN_ORDER_WHELP, 3000);
_events.ScheduleEvent(EVENT_FROSTWARDEN_ORDER_WHELP, 3s);
break;
case EVENT_CONCUSSIVE_SHOCK:
me->CastSpell(me, SPELL_CONCUSSIVE_SHOCK, false);
_events.ScheduleEvent(EVENT_CONCUSSIVE_SHOCK, urand(10000, 13000));
_events.ScheduleEvent(EVENT_CONCUSSIVE_SHOCK, 10s, 13s);
break;
case EVENT_WHELP_FROST_BLAST:
me->CastSpell(me->GetVictim(), 71361, false);
_events.ScheduleEvent(EVENT_WHELP_FROST_BLAST, urand(5000, 8000));
_events.ScheduleEvent(EVENT_WHELP_FROST_BLAST, 5s, 8s);
default:
break;
}

View File

@@ -684,13 +684,13 @@ public:
me->SetInCombatWithZone();
me->RemoveAurasDueToSpell(SPELL_EMOTE_SIT_NO_SHEATH); // just to be sure
events.ScheduleEvent(EVENT_BERSERK, 900000, EVENT_GROUP_BERSERK);
events.ScheduleEvent(EVENT_SUMMON_SHAMBLING_HORROR, 15000, EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_SUMMON_DRUDGE_GHOUL, 10000, EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_INFEST, 5000, EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_NECROTIC_PLAGUE, urand(30000, 31000), EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_BERSERK, 15min, EVENT_GROUP_BERSERK);
events.ScheduleEvent(EVENT_SUMMON_SHAMBLING_HORROR, 15s, EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_SUMMON_DRUDGE_GHOUL, 10s, EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_INFEST, 5s, EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_NECROTIC_PLAGUE, 30s, 31s, EVENT_GROUP_ABILITIES);
if (IsHeroic())
events.ScheduleEvent(EVENT_SHADOW_TRAP, 15500, EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_SHADOW_TRAP, 15s + 500ms, EVENT_GROUP_ABILITIES);
}
void JustReachedHome() override
@@ -737,7 +737,7 @@ public:
me->GetMap()->SetZoneWeather(AREA_THE_FROZEN_THRONE, WEATHER_STATE_FINE, 0.5f);
break;
case ACTION_START_ATTACK:
events.ScheduleEvent(EVENT_START_ATTACK, 5250);
events.ScheduleEvent(EVENT_START_ATTACK, 5250ms);
break;
case ACTION_BREAK_FROSTMOURNE:
me->CastSpell((Unit*)nullptr, SPELL_SUMMON_BROKEN_FROSTMOURNE, true);
@@ -749,7 +749,7 @@ public:
case ACTION_TELEPORT_BACK:
{
if (_phase == PHASE_FROSTMOURNE)
events.RescheduleEvent(EVENT_START_ATTACK, 1000);
events.RescheduleEvent(EVENT_START_ATTACK, 1s);
EntryCheckPredicate pred(NPC_STRANGULATE_VEHICLE);
summons.DoAction(ACTION_TELEPORT_BACK, pred);
if (!IsHeroic() && _phase != PHASE_OUTRO && me->IsInCombat() && _lastTalkTimeBuff + 5 <= GameTime::GetGameTime().count())
@@ -935,10 +935,10 @@ public:
me->GetMap()->SetZoneMusic(AREA_THE_FROZEN_THRONE, MUSIC_SPECIAL);
me->CastSpell(me, SPELL_REMORSELESS_WINTER_1, false);
//events.DelayEvents(62500, EVENT_GROUP_BERSERK); // delay berserk timer, its not ticking during phase transitions, 15mins on movies
events.ScheduleEvent(EVENT_QUAKE, 62500);
events.ScheduleEvent(EVENT_PAIN_AND_SUFFERING, 3500, EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_SUMMON_ICE_SPHERE, 8000, EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_SUMMON_RAGING_SPIRIT, 4000, EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_QUAKE, 62s + 500ms);
events.ScheduleEvent(EVENT_PAIN_AND_SUFFERING, 3500ms, EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_SUMMON_ICE_SPHERE, 8s, EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_SUMMON_RAGING_SPIRIT, 4s, EVENT_GROUP_ABILITIES);
break;
case POINT_CENTER_2:
me->SetFacingTo(0.0f);
@@ -947,10 +947,10 @@ public:
me->CastSpell(me, SPELL_REMORSELESS_WINTER_2, false);
summons.DespawnEntry(NPC_VALKYR_SHADOWGUARD);
//events.DelayEvents(62500, EVENT_GROUP_BERSERK); // delay berserk timer, its not ticking during phase transitions, 15 mins on movies
events.ScheduleEvent(EVENT_QUAKE_2, 62500);
events.ScheduleEvent(EVENT_PAIN_AND_SUFFERING, 3500, EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_SUMMON_ICE_SPHERE, 8000, EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_SUMMON_RAGING_SPIRIT, 4000, EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_QUAKE_2, 62s + 500ms);
events.ScheduleEvent(EVENT_PAIN_AND_SUFFERING, 3500ms, EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_SUMMON_ICE_SPHERE, 8s, EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_SUMMON_RAGING_SPIRIT, 4s, EVENT_GROUP_ABILITIES);
break;
default:
break;
@@ -999,8 +999,8 @@ public:
{
_bFrostmournePhase = false;
_phase = PHASE_THREE;
events.RescheduleEvent(EVENT_DEFILE, 0, EVENT_GROUP_ABILITIES);
events.RescheduleEvent(EVENT_SOUL_REAPER, urand(7000, 12000), EVENT_GROUP_ABILITIES);
events.RescheduleEvent(EVENT_DEFILE, 0ms, EVENT_GROUP_ABILITIES);
events.RescheduleEvent(EVENT_SOUL_REAPER, 7s, 12s, EVENT_GROUP_ABILITIES);
for (SummonList::iterator i = summons.begin(); i != summons.end(); ++i)
if (Creature* summon = ObjectAccessor::GetCreature(*me, *i))
@@ -1011,10 +1011,10 @@ public:
case EVENT_QUAKE:
_phase = PHASE_TWO;
events.CancelEventGroup(EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_INFEST, 14000, EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_SUMMON_VALKYR, 20000, EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_SOUL_REAPER, 40000, EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_DEFILE, 38000, EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_INFEST, 14s, EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_SUMMON_VALKYR, 20s, EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_SOUL_REAPER, 40s, EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_DEFILE, 38s, EVENT_GROUP_ABILITIES);
me->InterruptNonMeleeSpells(false);
me->ClearUnitState(UNIT_STATE_CASTING);
@@ -1026,10 +1026,10 @@ public:
case EVENT_QUAKE_2:
_phase = PHASE_THREE;
events.CancelEventGroup(EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_SOUL_REAPER, 40000, EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_DEFILE, 38000, EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_VILE_SPIRITS, 20000, EVENT_GROUP_VILE_SPIRITS);
events.ScheduleEvent(IsHeroic() ? EVENT_HARVEST_SOULS : EVENT_HARVEST_SOUL, 14000, EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_SOUL_REAPER, 40s, EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_DEFILE, 38s, EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_VILE_SPIRITS, 20s, EVENT_GROUP_VILE_SPIRITS);
events.ScheduleEvent(IsHeroic() ? EVENT_HARVEST_SOULS : EVENT_HARVEST_SOUL, 14s, EVENT_GROUP_ABILITIES);
me->InterruptNonMeleeSpells(false);
me->ClearUnitState(UNIT_STATE_CASTING);
@@ -1043,30 +1043,30 @@ public:
case EVENT_SUMMON_SHAMBLING_HORROR:
me->CastSpell(me, SPELL_SUMMON_SHAMBLING_HORROR, false);
me->GetMap()->SetZoneMusic(AREA_THE_FROZEN_THRONE, MUSIC_SPECIAL);
events.ScheduleEvent(EVENT_SUMMON_SHAMBLING_HORROR, 60000, EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_SUMMON_SHAMBLING_HORROR, 60s, EVENT_GROUP_ABILITIES);
break;
case EVENT_SUMMON_DRUDGE_GHOUL:
me->CastSpell(me, SPELL_SUMMON_DRUDGE_GHOULS, false);
events.ScheduleEvent(EVENT_SUMMON_DRUDGE_GHOUL, 30000, EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_SUMMON_DRUDGE_GHOUL, 30s, EVENT_GROUP_ABILITIES);
break;
case EVENT_INFEST:
me->CastSpell(me, SPELL_INFEST, false);
events.ScheduleEvent(EVENT_INFEST, 22500, EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_INFEST, 22s + 500ms, EVENT_GROUP_ABILITIES);
break;
case EVENT_NECROTIC_PLAGUE:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, NecroticPlagueTargetCheck(me, NECROTIC_PLAGUE_LK, NECROTIC_PLAGUE_PLR)))
{
Talk(EMOTE_NECROTIC_PLAGUE_WARNING, target);
me->CastSpell(target, SPELL_NECROTIC_PLAGUE, false);
events.ScheduleEvent(EVENT_NECROTIC_PLAGUE, urand(30000, 31000), EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_NECROTIC_PLAGUE, 30s, 31s, EVENT_GROUP_ABILITIES);
}
else
events.ScheduleEvent(EVENT_NECROTIC_PLAGUE, 5000, EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_NECROTIC_PLAGUE, 5s, EVENT_GROUP_ABILITIES);
break;
case EVENT_SHADOW_TRAP:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, ShadowTrapLKTargetSelector(me, true, true, 100.0f)))
me->CastSpell(target, SPELL_SHADOW_TRAP, false);
events.ScheduleEvent(EVENT_SHADOW_TRAP, 15500, EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_SHADOW_TRAP, 15s + 500ms, EVENT_GROUP_ABILITIES);
break;
case EVENT_PAIN_AND_SUFFERING:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 0.0f, true))
@@ -1079,12 +1079,12 @@ public:
break;
case EVENT_SUMMON_ICE_SPHERE:
me->CastSpell((Unit*)nullptr, SPELL_SUMMON_ICE_SPHERE, false);
events.ScheduleEvent(EVENT_SUMMON_ICE_SPHERE, 7500, EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_SUMMON_ICE_SPHERE, 7500ms, EVENT_GROUP_ABILITIES);
break;
case EVENT_SUMMON_RAGING_SPIRIT:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 100.0f, true))
me->CastSpell(target, SPELL_RAGING_SPIRIT, false);
events.ScheduleEvent(EVENT_SUMMON_RAGING_SPIRIT, (!HealthAbovePct(40) ? 15000 : 20000), EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_SUMMON_RAGING_SPIRIT, (!HealthAbovePct(40) ? 15s : 20s), EVENT_GROUP_ABILITIES);
break;
case EVENT_DEFILE:
{
@@ -1104,7 +1104,7 @@ public:
// if valkyr is coming between 1.5 and 3 seconds after defile then we've to
// delay valkyr just a bit
events.RescheduleEvent(EVENT_SUMMON_VALKYR, 5000, EVENT_GROUP_ABILITIES);
events.RescheduleEvent(EVENT_SUMMON_VALKYR, 5s, EVENT_GROUP_ABILITIES);
}
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, DefileTargetSelector(me)))
@@ -1113,12 +1113,12 @@ public:
me->CastSpell(target, SPELL_DEFILE, false);
// defile has a fixed CD (from dbm) that can be variable only
// if no target has been found at the moment (schedule after 1 second)
events.ScheduleEvent(EVENT_DEFILE, 32500, EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_DEFILE, 32s + 500ms, EVENT_GROUP_ABILITIES);
}
else
{
// be sure it happen trying each seconds if no target
events.ScheduleEvent(EVENT_DEFILE, 1000, EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_DEFILE, 1s, EVENT_GROUP_ABILITIES);
}
}
break;
@@ -1126,17 +1126,17 @@ public:
if (me->IsWithinMeleeRange(me->GetVictim()))
{
me->CastSpell(me->GetVictim(), SPELL_SOUL_REAPER, false);
events.ScheduleEvent(EVENT_SOUL_REAPER, 30500, EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_SOUL_REAPER, 30s + 500ms, EVENT_GROUP_ABILITIES);
}
else
events.ScheduleEvent(EVENT_SOUL_REAPER, 1000, EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_SOUL_REAPER, 1s, EVENT_GROUP_ABILITIES);
break;
case EVENT_SUMMON_VALKYR:
{
me->GetMap()->SetZoneMusic(AREA_THE_FROZEN_THRONE, MUSIC_SPECIAL);
Talk(SAY_LK_SUMMON_VALKYR);
me->CastSpell((Unit*)nullptr, SUMMON_VALKYR, false);
events.ScheduleEvent(EVENT_SUMMON_VALKYR, 45000, EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_SUMMON_VALKYR, 45s, EVENT_GROUP_ABILITIES);
// schedule a defile (or reschedule it) if next defile event
// doesn't exist ( now > next defile ) or defile is coming too soon
@@ -1151,17 +1151,17 @@ public:
case EVENT_VILE_SPIRITS:
me->GetMap()->SetZoneMusic(AREA_THE_FROZEN_THRONE, MUSIC_SPECIAL);
me->CastSpell((Unit*)nullptr, SPELL_VILE_SPIRITS, false);
events.ScheduleEvent(EVENT_VILE_SPIRITS, 30000, EVENT_GROUP_VILE_SPIRITS);
events.ScheduleEvent(EVENT_VILE_SPIRITS, 30s, EVENT_GROUP_VILE_SPIRITS);
break;
case EVENT_HARVEST_SOUL:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, NonTankLKTargetSelector(me, true, true, 55.0f)))
{
Talk(SAY_LK_HARVEST_SOUL);
me->CastSpell(target, SPELL_HARVEST_SOUL, false);
events.ScheduleEvent(EVENT_HARVEST_SOUL, 75000, EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_HARVEST_SOUL, 75s, EVENT_GROUP_ABILITIES);
}
else
events.ScheduleEvent(EVENT_HARVEST_SOUL, 10000, EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_HARVEST_SOUL, 10s, EVENT_GROUP_ABILITIES);
break;
case EVENT_HARVEST_SOULS:
Talk(SAY_LK_HARVEST_SOUL);
@@ -1169,12 +1169,12 @@ public:
_phase = PHASE_FROSTMOURNE;
me->SetReactState(REACT_PASSIVE);
me->AttackStop();
events.ScheduleEvent(EVENT_START_ATTACK, 55000);
events.ScheduleEvent(EVENT_START_ATTACK, 55s);
events.DelayEvents(52500, EVENT_GROUP_VILE_SPIRITS);
events.CancelEvent(EVENT_DEFILE);
events.CancelEvent(EVENT_SOUL_REAPER);
events.ScheduleEvent(EVENT_FROSTMOURNE_HEROIC, 6000, EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_HARVEST_SOULS, urand(100000, 110000), EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_FROSTMOURNE_HEROIC, 6s, EVENT_GROUP_ABILITIES);
events.ScheduleEvent(EVENT_HARVEST_SOULS, 100s, 110s, EVENT_GROUP_ABILITIES);
for (SummonList::iterator i = summons.begin(); i != summons.end(); ++i)
if (Creature* summon = ObjectAccessor::GetCreature(*me, *i))
@@ -1307,11 +1307,11 @@ public:
theLichKing->RemoveAurasDueToSpell(SPELL_EMOTE_SIT_NO_SHEATH);
theLichKing->AI()->Talk(SAY_LK_INTRO_1);
me->GetMap()->SetZoneMusic(AREA_THE_FROZEN_THRONE, MUSIC_FROZEN_THRONE);
_events.ScheduleEvent(EVENT_INTRO_LK_MOVE, 3000);
_events.ScheduleEvent(EVENT_INTRO_LK_MOVE, 3s);
}
break;
case POINT_TIRION_OUTRO:
_events.ScheduleEvent(EVENT_OUTRO_FORDRING_JUMP, 1);
_events.ScheduleEvent(EVENT_OUTRO_FORDRING_JUMP, 1ms);
break;
}
}
@@ -1321,18 +1321,18 @@ public:
switch (action)
{
case ACTION_OUTRO:
_events.ScheduleEvent(EVENT_OUTRO_LK_TALK_1, 2600);
_events.ScheduleEvent(EVENT_OUTRO_LK_EMOTE_TALK, 6600);
_events.ScheduleEvent(EVENT_OUTRO_LK_EMOTE_TALK, 17600);
_events.ScheduleEvent(EVENT_OUTRO_LK_TALK_2, 30000);
_events.ScheduleEvent(EVENT_OUTRO_LK_TALK_3, 39000);
_events.ScheduleEvent(EVENT_OUTRO_LK_EMOTE_CAST_SHOUT, 50000);
_events.ScheduleEvent(EVENT_OUTRO_LK_EMOTE_TALK, 54000);
_events.ScheduleEvent(EVENT_OUTRO_LK_MOVE_CENTER, 65000);
_events.ScheduleEvent(EVENT_OUTRO_LK_TALK_1, 2600ms);
_events.ScheduleEvent(EVENT_OUTRO_LK_EMOTE_TALK, 6600ms);
_events.ScheduleEvent(EVENT_OUTRO_LK_EMOTE_TALK, 17s + 600ms);
_events.ScheduleEvent(EVENT_OUTRO_LK_TALK_2, 30s);
_events.ScheduleEvent(EVENT_OUTRO_LK_TALK_3, 39s);
_events.ScheduleEvent(EVENT_OUTRO_LK_EMOTE_CAST_SHOUT, 50s);
_events.ScheduleEvent(EVENT_OUTRO_LK_EMOTE_TALK, 54s);
_events.ScheduleEvent(EVENT_OUTRO_LK_MOVE_CENTER, 65s);
break;
case ACTION_BREAK_FROSTMOURNE:
_events.ScheduleEvent(EVENT_OUTRO_LK_TALK_6, 2500);
_events.ScheduleEvent(EVENT_OUTRO_SOUL_BARRAGE, 6500);
_events.ScheduleEvent(EVENT_OUTRO_LK_TALK_6, 2500ms);
_events.ScheduleEvent(EVENT_OUTRO_SOUL_BARRAGE, 6500ms);
break;
}
}
@@ -1399,7 +1399,7 @@ public:
path.push_back(G3D::Vector3(LichKingIntro[i].GetPositionX(), LichKingIntro[i].GetPositionY(), LichKingIntro[i].GetPositionZ()));
theLichKing->SetWalk(true);
theLichKing->GetMotionMaster()->MoveSplinePath(&path);
_events.ScheduleEvent(EVENT_INTRO_FORDRING_TALK_1, 11000);
_events.ScheduleEvent(EVENT_INTRO_FORDRING_TALK_1, 11s);
}
break;
case EVENT_INTRO_LK_TALK_1:
@@ -1407,10 +1407,10 @@ public:
{
theLichKing->AI()->Talk(SAY_LK_INTRO_2);
theLichKing->HandleEmoteCommand(EMOTE_ONESHOT_TALK_NO_SHEATHE);
_events.ScheduleEvent(EVENT_INTRO_LK_EMOTE_CAST_SHOUT, 7000);
_events.ScheduleEvent(EVENT_INTRO_LK_EMOTE_1, 13000);
_events.ScheduleEvent(EVENT_INTRO_LK_EMOTE_CAST_SHOUT, 18000);
_events.ScheduleEvent(EVENT_INTRO_LK_CAST_FREEZE, 31000);
_events.ScheduleEvent(EVENT_INTRO_LK_EMOTE_CAST_SHOUT, 7s);
_events.ScheduleEvent(EVENT_INTRO_LK_EMOTE_1, 13s);
_events.ScheduleEvent(EVENT_INTRO_LK_EMOTE_CAST_SHOUT, 18s);
_events.ScheduleEvent(EVENT_INTRO_LK_CAST_FREEZE, 31s);
}
break;
case EVENT_INTRO_LK_EMOTE_CAST_SHOUT:
@@ -1426,21 +1426,21 @@ public:
{
theLichKing->AI()->Talk(SAY_LK_INTRO_3);
theLichKing->CastSpell((Unit*)nullptr, SPELL_ICE_LOCK, false);
_events.ScheduleEvent(EVENT_INTRO_FINISH, 1000);
_events.ScheduleEvent(EVENT_INTRO_FINISH, 1s);
}
break;
case EVENT_INTRO_FORDRING_TALK_1:
{
Talk(SAY_TIRION_INTRO_1);
_events.ScheduleEvent(EVENT_INTRO_LK_TALK_1, 9000);
_events.ScheduleEvent(EVENT_INTRO_FORDRING_TALK_2, 34000);
_events.ScheduleEvent(EVENT_INTRO_LK_TALK_1, 9s);
_events.ScheduleEvent(EVENT_INTRO_FORDRING_TALK_2, 34s);
}
break;
case EVENT_INTRO_FORDRING_TALK_2:
{
Talk(SAY_TIRION_INTRO_2);
_events.ScheduleEvent(EVENT_INTRO_FORDRING_EMOTE_1, 2000);
_events.ScheduleEvent(EVENT_INTRO_FORDRING_CHARGE, 5000);
_events.ScheduleEvent(EVENT_INTRO_FORDRING_EMOTE_1, 2s);
_events.ScheduleEvent(EVENT_INTRO_FORDRING_CHARGE, 5s);
}
break;
case EVENT_INTRO_FORDRING_EMOTE_1:
@@ -1522,10 +1522,10 @@ public:
if (Creature* theLichKing = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_THE_LICH_KING)))
{
theLichKing->AI()->Talk(SAY_LK_OUTRO_5);
_events.ScheduleEvent(EVENT_OUTRO_FORDRING_TALK_1, 7000);
_events.ScheduleEvent(EVENT_OUTRO_FORDRING_BLESS, 18000);
_events.ScheduleEvent(EVENT_OUTRO_FORDRING_REMOVE_ICE, 23000);
_events.ScheduleEvent(EVENT_OUTRO_FORDRING_MOVE_1, 25000);
_events.ScheduleEvent(EVENT_OUTRO_FORDRING_TALK_1, 7s);
_events.ScheduleEvent(EVENT_OUTRO_FORDRING_BLESS, 18s);
_events.ScheduleEvent(EVENT_OUTRO_FORDRING_REMOVE_ICE, 23s);
_events.ScheduleEvent(EVENT_OUTRO_FORDRING_MOVE_1, 25s);
}
break;
case EVENT_OUTRO_LK_TALK_6:
@@ -1538,8 +1538,8 @@ public:
me->GetMap()->SetZoneOverrideLight(AREA_THE_FROZEN_THRONE, LIGHT_SOULSTORM, 10s);
me->GetMap()->SetZoneWeather(AREA_THE_FROZEN_THRONE, WEATHER_STATE_BLACKSNOW, 0.5f);
_events.ScheduleEvent(EVENT_OUTRO_AFTER_SUMMON_BROKEN_FROSTMOURNE, 1000);
_events.ScheduleEvent(EVENT_OUTRO_KNOCK_BACK, 3000);
_events.ScheduleEvent(EVENT_OUTRO_AFTER_SUMMON_BROKEN_FROSTMOURNE, 1s);
_events.ScheduleEvent(EVENT_OUTRO_KNOCK_BACK, 3s);
break;
}
break;
@@ -1559,12 +1559,12 @@ public:
theLichKing->SetDisableGravity(true);
theLichKing->GetMotionMaster()->MovePoint(0, OutroFlying);
_events.ScheduleEvent(EVENT_OUTRO_AFTER_SOUL_BARRAGE, 3000);
_events.ScheduleEvent(EVENT_OUTRO_AFTER_SOUL_BARRAGE, 3s);
}
break;
case EVENT_OUTRO_AFTER_SOUL_BARRAGE:
Talk(SAY_TIRION_OUTRO_2);
_events.ScheduleEvent(EVENT_OUTRO_SUMMON_TERENAS, 6000);
_events.ScheduleEvent(EVENT_OUTRO_SUMMON_TERENAS, 6s);
break;
case EVENT_OUTRO_SUMMON_TERENAS:
if (Creature* frostmourne = me->FindNearestCreature(NPC_FROSTMOURNE_TRIGGER, 50.0f))
@@ -1573,8 +1573,8 @@ public:
if (Creature* terenas = me->FindNearestCreature(NPC_TERENAS_MENETHIL_OUTRO, 50.0f))
terenas->SetFacingToObject(frostmourne);
}
_events.ScheduleEvent(EVENT_OUTRO_TERENAS_TALK_1, 2000);
_events.ScheduleEvent(EVENT_OUTRO_TERENAS_TALK_2, 14000);
_events.ScheduleEvent(EVENT_OUTRO_TERENAS_TALK_1, 2s);
_events.ScheduleEvent(EVENT_OUTRO_TERENAS_TALK_2, 14s);
break;
case EVENT_OUTRO_TERENAS_TALK_1:
if (Creature* terenas = me->FindNearestCreature(NPC_TERENAS_MENETHIL_OUTRO, 50.0f))
@@ -1594,8 +1594,8 @@ public:
me->Attack(lichKing, true);
me->GetMotionMaster()->MovePoint(0, 512.16f, -2120.25f, 840.86f);
}
_events.ScheduleEvent(EVENT_OUTRO_LK_TALK_7, 7000);
_events.ScheduleEvent(EVENT_OUTRO_LK_TALK_8, 17000);
_events.ScheduleEvent(EVENT_OUTRO_LK_TALK_7, 7s);
_events.ScheduleEvent(EVENT_OUTRO_LK_TALK_8, 17s);
}
break;
case EVENT_OUTRO_LK_TALK_7:
@@ -1819,8 +1819,8 @@ public:
void Reset() override
{
_events.Reset();
_events.ScheduleEvent(EVENT_SHOCKWAVE, urand(20000, 25000));
_events.ScheduleEvent(EVENT_ENRAGE, urand(11000, 14000));
_events.ScheduleEvent(EVENT_SHOCKWAVE, 20s, 25s);
_events.ScheduleEvent(EVENT_ENRAGE, 11s, 14s);
}
void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask) override
@@ -1846,11 +1846,11 @@ public:
{
case EVENT_SHOCKWAVE:
me->CastSpell(me->GetVictim(), SPELL_SHOCKWAVE, false);
_events.ScheduleEvent(EVENT_SHOCKWAVE, urand(20000, 25000));
_events.ScheduleEvent(EVENT_SHOCKWAVE, 20s, 25s);
break;
case EVENT_ENRAGE:
me->CastSpell(me, SPELL_ENRAGE, false);
_events.ScheduleEvent(EVENT_ENRAGE, urand(20000, 25000));
_events.ScheduleEvent(EVENT_ENRAGE, 20s, 25s);
break;
default:
break;
@@ -2318,8 +2318,8 @@ public:
void Reset() override
{
_events.Reset();
_events.ScheduleEvent(EVENT_RAGING_SPIRIT_UNROOT, 3000);
_events.ScheduleEvent(EVENT_SOUL_SHRIEK, urand(12000, 15000));
_events.ScheduleEvent(EVENT_RAGING_SPIRIT_UNROOT, 3s);
_events.ScheduleEvent(EVENT_SOUL_SHRIEK, 12s, 15s);
bool valid = false;
me->CastSpell(me, SPELL_RAGING_SPIRIT_VISUAL, true);
@@ -2401,7 +2401,7 @@ public:
case EVENT_SOUL_SHRIEK:
if (!me->HasReactState(REACT_PASSIVE))
me->CastSpell(me->GetVictim(), SPELL_SOUL_SHRIEK, false);
_events.ScheduleEvent(EVENT_SOUL_SHRIEK, urand(12000, 15000));
_events.ScheduleEvent(EVENT_SOUL_SHRIEK, 12s, 15s);
break;
default:
break;
@@ -2521,7 +2521,7 @@ public:
me->ApplySpellImmune(0, IMMUNITY_STATE, SPELL_AURA_MOD_TAUNT, true);
me->ApplySpellImmune(0, IMMUNITY_EFFECT, SPELL_EFFECT_ATTACK_ME, true);
_events.Reset();
_events.ScheduleEvent(EVENT_GRAB_PLAYER, 2500);
_events.ScheduleEvent(EVENT_GRAB_PLAYER, 2500ms);
me->SetWalk(false);
}
@@ -2543,7 +2543,7 @@ public:
_destPoint.Relocate(CenterPosition.GetPositionX() + dist * cos(angle), CenterPosition.GetPositionY() + dist * std::sin(angle), 855.0f + frand(0.0f, 4.0f), 0.0f);
me->SetHomePosition(_destPoint);
_events.Reset();
_events.ScheduleEvent(EVENT_MOVE_TO_SIPHON_POS, 0);
_events.ScheduleEvent(EVENT_MOVE_TO_SIPHON_POS, 0ms);
}
void OnCharmed(bool /*apply*/) override {}
@@ -2599,13 +2599,13 @@ public:
me->CastSpell(target, SPELL_VALKYR_CARRY, false);
_destPoint.Relocate(triggers.front());
_events.Reset();
_events.ScheduleEvent(EVENT_MOVE_TO_DROP_POS, 1000);
_events.ScheduleEvent(EVENT_MOVE_TO_DROP_POS, 1s);
}
}
if (!valid)
{
_events.Reset();
_events.ScheduleEvent(EVENT_GRAB_PLAYER, 500);
_events.ScheduleEvent(EVENT_GRAB_PLAYER, 500ms);
_grabbedPlayer.Clear();
}
}
@@ -2617,7 +2617,7 @@ public:
if (me->GetExactDist(&_destPoint) > 1.5f) // movement was interrupted (probably by a stun, start again)
{
_events.Reset();
_events.ScheduleEvent(EVENT_MOVE_TO_DROP_POS, 0);
_events.ScheduleEvent(EVENT_MOVE_TO_DROP_POS, 0ms);
break;
}
dropped = true;
@@ -2638,12 +2638,12 @@ public:
if (me->GetExactDist(&_destPoint) > 1.5f) // movement was interrupted (probably by a stun, start again)
{
_events.Reset();
_events.ScheduleEvent(EVENT_MOVE_TO_SIPHON_POS, 0);
_events.ScheduleEvent(EVENT_MOVE_TO_SIPHON_POS, 0ms);
break;
}
me->ApplySpellImmune(0, IMMUNITY_STATE, SPELL_AURA_MOD_TAUNT, false);
me->ApplySpellImmune(0, IMMUNITY_EFFECT, SPELL_EFFECT_ATTACK_ME, false);
_events.ScheduleEvent(EVENT_LIFE_SIPHON, 2000);
_events.ScheduleEvent(EVENT_LIFE_SIPHON, 2s);
break;
}
}
@@ -2666,7 +2666,7 @@ public:
if (!_grabbedPlayer)
{
me->CastSpell((Unit*)nullptr, SPELL_VALKYR_TARGET_SEARCH, false);
_events.ScheduleEvent(EVENT_GRAB_PLAYER, 2000);
_events.ScheduleEvent(EVENT_GRAB_PLAYER, 2s);
}
break;
case EVENT_MOVE_TO_DROP_POS:
@@ -2702,7 +2702,7 @@ public:
target = lichKing->AI()->SelectTarget(SelectTargetMethod::Random, 0, NonTankLKTargetSelector(lichKing, true, false, 100.0f));
if (target)
me->CastSpell(target, SPELL_LIFE_SIPHON, false);
_events.ScheduleEvent(EVENT_LIFE_SIPHON, 2500);
_events.ScheduleEvent(EVENT_LIFE_SIPHON, 2500ms);
}
break;
default:
@@ -3147,9 +3147,9 @@ public:
summoner->ToUnit()->SendMovementFlagUpdate(true);
summoner->ToUnit()->SetPetGUID(petGUID);
_events.Reset();
_events.ScheduleEvent(EVENT_MOVE_TO_LICH_KING, 1000);
_events.ScheduleEvent(EVENT_TELEPORT, 6250);
_events.ScheduleEvent(EVENT_DESPAWN_SELF, 6000 + 70000);
_events.ScheduleEvent(EVENT_MOVE_TO_LICH_KING, 1s);
_events.ScheduleEvent(EVENT_TELEPORT, 6250ms);
_events.ScheduleEvent(EVENT_DESPAWN_SELF, 76s);
// this will let us easily access all creatures of this entry on heroic mode when its time to teleport back
lichKing->AI()->JustSummoned(me);
@@ -3224,7 +3224,7 @@ public:
else
{
summoner->ExitVehicle(summoner);
_events.RescheduleEvent(EVENT_DESPAWN_SELF, 0);
_events.RescheduleEvent(EVENT_DESPAWN_SELF, 0ms);
}
}
break;
@@ -3277,13 +3277,13 @@ public:
me->SetControlled(true, UNIT_STATE_ROOT);
me->setActive(true);
_events.Reset();
_events.ScheduleEvent(EVENT_FROSTMOURNE_TALK_1, 2000);
_events.ScheduleEvent(EVENT_FROSTMOURNE_TALK_2, 11000);
_events.ScheduleEvent(EVENT_FROSTMOURNE_TALK_1, 2s);
_events.ScheduleEvent(EVENT_FROSTMOURNE_TALK_2, 11s);
if (!IsHeroic())
{
me->SetHealth(me->GetMaxHealth() / 2);
_events.ScheduleEvent(EVENT_DESTROY_SOUL, 60000);
_events.ScheduleEvent(EVENT_FROSTMOURNE_TALK_3, 25000);
_events.ScheduleEvent(EVENT_DESTROY_SOUL, 1min);
_events.ScheduleEvent(EVENT_FROSTMOURNE_TALK_3, 25s);
}
break;
case ACTION_TELEPORT_BACK:
@@ -3307,7 +3307,7 @@ public:
if (!me->HasUnitFlag(UNIT_FLAG_NOT_SELECTABLE))
{
_events.Reset();
_events.ScheduleEvent(EVENT_TELEPORT_BACK, 1000);
_events.ScheduleEvent(EVENT_TELEPORT_BACK, 1s);
if (Creature* warden = me->FindNearestCreature(NPC_SPIRIT_WARDEN, 20.0f))
{
warden->CastSpell((Unit*)nullptr, SPELL_DESTROY_SOUL, false);
@@ -3352,7 +3352,7 @@ public:
me->AttackStop();
me->SetUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
_events.Reset();
_events.ScheduleEvent(EVENT_TELEPORT_BACK, 1000);
_events.ScheduleEvent(EVENT_TELEPORT_BACK, 1s);
break;
case EVENT_TELEPORT_BACK:
if (Creature* lichKing = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_THE_LICH_KING)))
@@ -3491,7 +3491,7 @@ public:
void Reset() override
{
_events.Reset();
_events.ScheduleEvent(EVENT_SOUL_RIP, urand(12000, 15000));
_events.ScheduleEvent(EVENT_SOUL_RIP, 12s, 15s);
}
void JustDied(Unit* /*killer*/) override
@@ -3510,7 +3510,7 @@ public:
if (_events.ExecuteEvent() == EVENT_SOUL_RIP)
{
me->CastSpell(me->GetVictim(), SPELL_SOUL_RIP, false);
_events.ScheduleEvent(EVENT_SOUL_RIP, urand(23000, 27000));
_events.ScheduleEvent(EVENT_SOUL_RIP, 23s, 27s);
}
DoMeleeAttackIfReady();

View File

@@ -327,10 +327,10 @@ public:
_instance->SendEncounterUnit(ENCOUNTER_FRAME_ENGAGE, me);
_events.Reset();
_events.ScheduleEvent(EVENT_INTRO_TALK, 15000);
_events.ScheduleEvent(EVENT_DREAM_PORTAL, urand(45000, 48000));
_events.ScheduleEvent(EVENT_INTRO_TALK, 15s);
_events.ScheduleEvent(EVENT_DREAM_PORTAL, 45s, 48s);
if (IsHeroic())
_events.ScheduleEvent(EVENT_BERSERK, 420000);
_events.ScheduleEvent(EVENT_BERSERK, 7min);
}
void HealReceived(Unit* healer, uint32& heal) override
@@ -350,7 +350,7 @@ public:
me->CastSpell(me, SPELL_ACHIEVEMENT_CHECK, true);
me->CastSpell((Unit*)nullptr, SPELL_DREAMWALKERS_RAGE, false);
_events.Reset();
_events.ScheduleEvent(EVENT_DREAM_SLIP, 3500);
_events.ScheduleEvent(EVENT_DREAM_SLIP, 3500ms);
_instance->SetBossState(DATA_VALITHRIA_DREAMWALKER, DONE);
if (Creature* trigger = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_VALITHRIA_TRIGGER)))
@@ -463,7 +463,7 @@ public:
Talk(SAY_VALITHRIA_DREAM_PORTAL);
for (uint32 i = 0; i < _portalCount; ++i)
me->CastSpell(me, SUMMON_PORTAL, false);
_events.ScheduleEvent(EVENT_DREAM_PORTAL, urand(45000, 48000));
_events.ScheduleEvent(EVENT_DREAM_PORTAL, 45s, 48s);
break;
case EVENT_DREAM_SLIP:
me->CastSpell(me, SPELL_DREAM_SLIP, false);
@@ -640,11 +640,11 @@ public:
{
Talk(SAY_LICH_KING_INTRO);
_events.Reset();
_events.ScheduleEvent(EVENT_GLUTTONOUS_ABOMINATION_SUMMONER, 5000);
_events.ScheduleEvent(EVENT_SUPPRESSER_SUMMONER, 10000);
_events.ScheduleEvent(EVENT_BLISTERING_ZOMBIE_SUMMONER, 15000);
_events.ScheduleEvent(EVENT_RISEN_ARCHMAGE_SUMMONER, 20000);
_events.ScheduleEvent(EVENT_BLAZING_SKELETON_SUMMONER, 30000);
_events.ScheduleEvent(EVENT_GLUTTONOUS_ABOMINATION_SUMMONER, 5s);
_events.ScheduleEvent(EVENT_SUPPRESSER_SUMMONER, 10s);
_events.ScheduleEvent(EVENT_BLISTERING_ZOMBIE_SUMMONER, 15s);
_events.ScheduleEvent(EVENT_RISEN_ARCHMAGE_SUMMONER, 20s);
_events.ScheduleEvent(EVENT_BLAZING_SKELETON_SUMMONER, 30s);
}
}
@@ -723,9 +723,9 @@ public:
void Reset() override
{
_events.Reset();
_events.ScheduleEvent(EVENT_FROSTBOLT_VOLLEY, urand(5000, 15000));
_events.ScheduleEvent(EVENT_MANA_VOID, urand(15000, 25000));
_events.ScheduleEvent(EVENT_COLUMN_OF_FROST, urand(10000, 20000));
_events.ScheduleEvent(EVENT_FROSTBOLT_VOLLEY, 5s, 15s);
_events.ScheduleEvent(EVENT_MANA_VOID, 15s, 25s);
_events.ScheduleEvent(EVENT_COLUMN_OF_FROST, 10s, 20s);
}
void JustEngagedWith(Unit* /*target*/) override
@@ -772,17 +772,17 @@ public:
{
case EVENT_FROSTBOLT_VOLLEY:
me->CastSpell(me, SPELL_FROSTBOLT_VOLLEY, false);
_events.ScheduleEvent(EVENT_FROSTBOLT_VOLLEY, urand(8000, 15000));
_events.ScheduleEvent(EVENT_FROSTBOLT_VOLLEY, 8s, 15s);
break;
case EVENT_MANA_VOID:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, ManaVoidSelector(me)))
me->CastSpell(target, SPELL_MANA_VOID, false);
_events.ScheduleEvent(EVENT_MANA_VOID, urand(20000, 25000));
_events.ScheduleEvent(EVENT_MANA_VOID, 20s, 25s);
break;
case EVENT_COLUMN_OF_FROST:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, -10.0f, true))
me->CastSpell(target, SPELL_COLUMN_OF_FROST, false);
_events.ScheduleEvent(EVENT_COLUMN_OF_FROST, urand(15000, 25000));
_events.ScheduleEvent(EVENT_COLUMN_OF_FROST, 15s, 25s);
break;
default:
break;
@@ -851,7 +851,7 @@ public:
void Reset() override
{
_events.Reset();
_events.ScheduleEvent(EVENT_CHECK_PLAYER, 750);
_events.ScheduleEvent(EVENT_CHECK_PLAYER, 750ms);
me->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
me->SetCorpseDelay(0);
me->LoadCreaturesAddon(true);
@@ -872,9 +872,9 @@ public:
{
case EVENT_CHECK_PLAYER:
if (me->SelectNearestPlayer(5.0f)) // also checks phase
_events.ScheduleEvent(EVENT_EXPLODE, 500);
_events.ScheduleEvent(EVENT_EXPLODE, 500ms);
else
_events.ScheduleEvent(EVENT_CHECK_PLAYER, 750);
_events.ScheduleEvent(EVENT_CHECK_PLAYER, 750ms);
break;
case EVENT_EXPLODE:
me->StopMoving();
@@ -914,8 +914,8 @@ public:
void Reset() override
{
_events.Reset();
_events.ScheduleEvent(EVENT_FIREBALL, urand(2000, 4000));
_events.ScheduleEvent(EVENT_LEY_WASTE, urand(15000, 20000));
_events.ScheduleEvent(EVENT_FIREBALL, 2s, 4s);
_events.ScheduleEvent(EVENT_LEY_WASTE, 15s, 20s);
}
void UpdateAI(uint32 diff) override
@@ -933,11 +933,11 @@ public:
case EVENT_FIREBALL:
if (!me->IsWithinMeleeRange(me->GetVictim()))
me->CastSpell(me->GetVictim(), SPELL_FIREBALL, false);
_events.ScheduleEvent(EVENT_FIREBALL, urand(2000, 4000));
_events.ScheduleEvent(EVENT_FIREBALL, 2s, 4s);
break;
case EVENT_LEY_WASTE:
me->CastSpell(me, SPELL_LEY_WASTE, false);
_events.ScheduleEvent(EVENT_LEY_WASTE, urand(15000, 20000));
_events.ScheduleEvent(EVENT_LEY_WASTE, 15s, 20s);
break;
default:
break;
@@ -1086,7 +1086,7 @@ public:
void Reset() override
{
_events.Reset();
_events.ScheduleEvent(EVENT_GUT_SPRAY, urand(10000, 13000));
_events.ScheduleEvent(EVENT_GUT_SPRAY, 10s, 13s);
}
void JustSummoned(Creature* summon) override
@@ -1116,7 +1116,7 @@ public:
{
case EVENT_GUT_SPRAY:
me->CastSpell(me, SPELL_GUT_SPRAY, false);
_events.ScheduleEvent(EVENT_GUT_SPRAY, urand(10000, 13000));
_events.ScheduleEvent(EVENT_GUT_SPRAY, 10s, 13s);
break;
default:
break;

View File

@@ -415,36 +415,36 @@ public:
return;
Talk(SAY_TIRION_INTRO_1);
_events.ScheduleEvent(EVENT_TIRION_INTRO_2, 4000);
_events.ScheduleEvent(EVENT_TIRION_INTRO_3, 14000);
_events.ScheduleEvent(EVENT_TIRION_INTRO_4, 18000);
_events.ScheduleEvent(EVENT_TIRION_INTRO_5, 31000);
_events.ScheduleEvent(EVENT_LK_INTRO_1, 35000);
_events.ScheduleEvent(EVENT_TIRION_INTRO_6, 49000);
_events.ScheduleEvent(EVENT_LK_INTRO_2, 58000);
_events.ScheduleEvent(EVENT_LK_INTRO_3, 74000);
_events.ScheduleEvent(EVENT_LK_INTRO_4, 86000); // sound last 21 seconds (five more)
_events.ScheduleEvent(EVENT_BOLVAR_INTRO_1, 107000);
_events.ScheduleEvent(EVENT_LK_INTRO_5, 113000);
_events.ScheduleEvent(EVENT_TIRION_INTRO_2, 4s);
_events.ScheduleEvent(EVENT_TIRION_INTRO_3, 14s);
_events.ScheduleEvent(EVENT_TIRION_INTRO_4, 18s);
_events.ScheduleEvent(EVENT_TIRION_INTRO_5, 31s);
_events.ScheduleEvent(EVENT_LK_INTRO_1, 35s);
_events.ScheduleEvent(EVENT_TIRION_INTRO_6, 49s);
_events.ScheduleEvent(EVENT_LK_INTRO_2, 58s);
_events.ScheduleEvent(EVENT_LK_INTRO_3, 74s);
_events.ScheduleEvent(EVENT_LK_INTRO_4, 86s); // sound last 21 seconds (five more)
_events.ScheduleEvent(EVENT_BOLVAR_INTRO_1, 107s);
_events.ScheduleEvent(EVENT_LK_INTRO_5, 113s);
if (_instance->GetData(DATA_TEAMID_IN_INSTANCE) == TEAM_HORDE)
{
_events.ScheduleEvent(EVENT_SAURFANG_INTRO_1, 125000);
_events.ScheduleEvent(EVENT_TIRION_INTRO_H_7, 134000);
_events.ScheduleEvent(EVENT_SAURFANG_INTRO_2, 144000);
_events.ScheduleEvent(EVENT_SAURFANG_INTRO_3, 155000);
_events.ScheduleEvent(EVENT_SAURFANG_INTRO_4, 167000);
_events.ScheduleEvent(EVENT_SAURFANG_RUN, 175000);
_events.ScheduleEvent(EVENT_SAURFANG_INTRO_1, 125s);
_events.ScheduleEvent(EVENT_TIRION_INTRO_H_7, 134s);
_events.ScheduleEvent(EVENT_SAURFANG_INTRO_2, 144s);
_events.ScheduleEvent(EVENT_SAURFANG_INTRO_3, 155s);
_events.ScheduleEvent(EVENT_SAURFANG_INTRO_4, 167s);
_events.ScheduleEvent(EVENT_SAURFANG_RUN, 175s);
}
else
{
_events.ScheduleEvent(EVENT_MURADIN_INTRO_1, 125000);
_events.ScheduleEvent(EVENT_MURADIN_INTRO_2, 129000);
_events.ScheduleEvent(EVENT_MURADIN_INTRO_3, 132000);
_events.ScheduleEvent(EVENT_TIRION_INTRO_A_7, 141000);
_events.ScheduleEvent(EVENT_MURADIN_INTRO_4, 149000);
_events.ScheduleEvent(EVENT_MURADIN_INTRO_5, 156000);
_events.ScheduleEvent(EVENT_MURADIN_RUN, 162000);
_events.ScheduleEvent(EVENT_MURADIN_INTRO_1, 125s);
_events.ScheduleEvent(EVENT_MURADIN_INTRO_2, 129s);
_events.ScheduleEvent(EVENT_MURADIN_INTRO_3, 132s);
_events.ScheduleEvent(EVENT_TIRION_INTRO_A_7, 141s);
_events.ScheduleEvent(EVENT_MURADIN_INTRO_4, 149s);
_events.ScheduleEvent(EVENT_MURADIN_INTRO_5, 156s);
_events.ScheduleEvent(EVENT_MURADIN_RUN, 162s);
}
}
}
@@ -600,9 +600,9 @@ public:
void Reset() override
{
_events.Reset();
_events.ScheduleEvent(EVENT_DEATH_PLAGUE, 15000);
_events.ScheduleEvent(EVENT_STOMP, urand(5000, 8000));
_events.ScheduleEvent(EVENT_ARCTIC_BREATH, urand(10000, 15000));
_events.ScheduleEvent(EVENT_DEATH_PLAGUE, 15s);
_events.ScheduleEvent(EVENT_STOMP, 5s, 8s);
_events.ScheduleEvent(EVENT_ARCTIC_BREATH, 10s, 15s);
}
void JustDied(Unit* /*killer*/) override
@@ -630,15 +630,15 @@ public:
Talk(EMOTE_DEATH_PLAGUE_WARNING, target);
DoCast(target, SPELL_DEATH_PLAGUE);
}
_events.ScheduleEvent(EVENT_DEATH_PLAGUE, 15000);
_events.ScheduleEvent(EVENT_DEATH_PLAGUE, 15s);
break;
case EVENT_STOMP:
DoCastVictim(SPELL_STOMP);
_events.ScheduleEvent(EVENT_STOMP, urand(15000, 18000));
_events.ScheduleEvent(EVENT_STOMP, 15s, 18s);
break;
case EVENT_ARCTIC_BREATH:
DoCastVictim(SPELL_ARCTIC_BREATH);
_events.ScheduleEvent(EVENT_ARCTIC_BREATH, urand(26000, 33000));
_events.ScheduleEvent(EVENT_ARCTIC_BREATH, 26s, 33s);
break;
default:
break;
@@ -695,7 +695,7 @@ public:
if (instance->GetData(DATA_COLDFLAME_JETS) == IN_PROGRESS)
{
DoCast(me, SPELL_COLDFLAME_JETS);
_events.ScheduleEvent(EVENT_ACTIVATE_TRAP, 22000);
_events.ScheduleEvent(EVENT_ACTIVATE_TRAP, 22s);
}
}
@@ -731,8 +731,8 @@ public:
_handledWP4 = false;
_events.Reset();
_events.ScheduleEvent(EVENT_SCOURGE_STRIKE, urand(7500, 12500));
_events.ScheduleEvent(EVENT_DEATH_STRIKE, urand(25000, 30000));
_events.ScheduleEvent(EVENT_SCOURGE_STRIKE, 7500ms, 12s + 500ms);
_events.ScheduleEvent(EVENT_DEATH_STRIKE, 25s, 30s);
}
void DoAction(int32 action) override
@@ -754,9 +754,9 @@ public:
crusader->AI()->DoAction(ACTION_START_GAUNTLET);
Talk(SAY_CROK_INTRO_1);
_events.ScheduleEvent(EVENT_ARNATH_INTRO_2, 7000);
_events.ScheduleEvent(EVENT_CROK_INTRO_3, 14000);
_events.ScheduleEvent(EVENT_START_PATHING, 37000);
_events.ScheduleEvent(EVENT_ARNATH_INTRO_2, 7s);
_events.ScheduleEvent(EVENT_CROK_INTRO_3, 14s);
_events.ScheduleEvent(EVENT_START_PATHING, 37s);
}
else if (action == ACTION_RESET_EVENT)
{
@@ -879,7 +879,7 @@ public:
damage = 0;
me->CastSpell(me, SPELL_ICEBOUND_ARMOR, true);
_events.ScheduleEvent(EVENT_HEALTH_CHECK, 1000);
_events.ScheduleEvent(EVENT_HEALTH_CHECK, 1s);
}
}
@@ -937,12 +937,12 @@ public:
break;
case EVENT_SCOURGE_STRIKE:
DoCastVictim(SPELL_SCOURGE_STRIKE);
_events.ScheduleEvent(EVENT_SCOURGE_STRIKE, urand(10000, 14000));
_events.ScheduleEvent(EVENT_SCOURGE_STRIKE, 10s, 14s);
break;
case EVENT_DEATH_STRIKE:
if (HealthBelowPct(20))
DoCastVictim(SPELL_DEATH_STRIKE);
_events.ScheduleEvent(EVENT_DEATH_STRIKE, urand(5000, 10000));
_events.ScheduleEvent(EVENT_DEATH_STRIKE, 5s, 10s);
break;
case EVENT_HEALTH_CHECK:
if (HealthAbovePct(25))
@@ -953,7 +953,7 @@ public:
else
{
Unit::DealHeal(me, me, me->CountPctFromMaxHealth(3));
_events.ScheduleEvent(EVENT_HEALTH_CHECK, 1000);
_events.ScheduleEvent(EVENT_HEALTH_CHECK, 1s);
}
break;
default:
@@ -1053,8 +1053,8 @@ public:
crok->AI()->Talk(SAY_CROK_COMBAT_SVALNA);
crok->AI()->AttackStart(me);
}
events.ScheduleEvent(EVENT_SVALNA_COMBAT, 9000);
events.ScheduleEvent(EVENT_IMPALING_SPEAR, urand(15000, 20000));
events.ScheduleEvent(EVENT_SVALNA_COMBAT, 9s);
events.ScheduleEvent(EVENT_IMPALING_SPEAR, 15s, 20s);
}
void KilledUnit(Unit* victim) override
@@ -1092,10 +1092,10 @@ public:
break;
case ACTION_START_GAUNTLET:
me->setActive(true);
events.ScheduleEvent(EVENT_SVALNA_START, 25000);
events.ScheduleEvent(EVENT_SVALNA_START, 25s);
break;
case ACTION_RESURRECT_CAPTAINS:
events.RescheduleEvent(EVENT_SVALNA_RESURRECT, 7000);
events.RescheduleEvent(EVENT_SVALNA_RESURRECT, 7s);
break;
case ACTION_CAPTAIN_DIES:
Talk(SAY_SVALNA_CAPTAIN_DEATH);
@@ -1181,7 +1181,7 @@ public:
me->AddAura(70203, me);
DoCast(target, SPELL_IMPALING_SPEAR);
}
events.ScheduleEvent(EVENT_IMPALING_SPEAR, urand(20000, 25000));
events.ScheduleEvent(EVENT_IMPALING_SPEAR, 20s, 25s);
break;
default:
break;
@@ -1324,11 +1324,11 @@ public:
{
npc_argent_captainAI::Reset();
Events.Reset();
Events.ScheduleEvent(EVENT_ARNATH_FLASH_HEAL, urand(4000, 7000));
Events.ScheduleEvent(EVENT_ARNATH_PW_SHIELD, urand(8000, 14000));
Events.ScheduleEvent(EVENT_ARNATH_SMITE, urand(3000, 6000));
Events.ScheduleEvent(EVENT_ARNATH_FLASH_HEAL, 4s, 7s);
Events.ScheduleEvent(EVENT_ARNATH_PW_SHIELD, 8s, 14s);
Events.ScheduleEvent(EVENT_ARNATH_SMITE, 3s, 6s);
if (Is25ManRaid() && IsUndead)
Events.ScheduleEvent(EVENT_ARNATH_DOMINATE_MIND, urand(22000, 27000));
Events.ScheduleEvent(EVENT_ARNATH_DOMINATE_MIND, 22s, 27s);
}
void UpdateAI(uint32 diff) override
@@ -1346,24 +1346,24 @@ public:
case EVENT_ARNATH_FLASH_HEAL:
if (Creature* target = FindFriendlyCreature())
DoCast(target, SPELL_FLASH_HEAL);
Events.ScheduleEvent(EVENT_ARNATH_FLASH_HEAL, urand(6000, 9000));
Events.ScheduleEvent(EVENT_ARNATH_FLASH_HEAL, 6s, 9s);
break;
case EVENT_ARNATH_PW_SHIELD:
{
std::list<Creature*> targets = DoFindFriendlyMissingBuff(40.0f, SPELL_POWER_WORD_SHIELD);
if (!targets.empty())
DoCast(Acore::Containers::SelectRandomContainerElement(targets), SPELL_POWER_WORD_SHIELD);
Events.ScheduleEvent(EVENT_ARNATH_PW_SHIELD, urand(15000, 20000));
Events.ScheduleEvent(EVENT_ARNATH_PW_SHIELD, 15s, 20s);
break;
}
case EVENT_ARNATH_SMITE:
DoCastVictim(SPELL_SMITE);
Events.ScheduleEvent(EVENT_ARNATH_SMITE, urand(4000, 7000));
Events.ScheduleEvent(EVENT_ARNATH_SMITE, 4s, 7s);
break;
case EVENT_ARNATH_DOMINATE_MIND:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 1, 0.0f, true, true, -SPELL_DOMINATE_MIND))
DoCast(target, SPELL_DOMINATE_MIND);
Events.ScheduleEvent(EVENT_ARNATH_DOMINATE_MIND, urand(28000, 37000));
Events.ScheduleEvent(EVENT_ARNATH_DOMINATE_MIND, 28s, 37s);
break;
default:
break;
@@ -1404,11 +1404,11 @@ public:
{
npc_argent_captainAI::Reset();
Events.Reset();
Events.ScheduleEvent(EVENT_BRANDON_CRUSADER_STRIKE, urand(6000, 10000));
Events.ScheduleEvent(EVENT_BRANDON_DIVINE_SHIELD, 500);
Events.ScheduleEvent(EVENT_BRANDON_JUDGEMENT_OF_COMMAND, urand(8000, 13000));
Events.ScheduleEvent(EVENT_BRANDON_CRUSADER_STRIKE, 6s, 10s);
Events.ScheduleEvent(EVENT_BRANDON_DIVINE_SHIELD, 500ms);
Events.ScheduleEvent(EVENT_BRANDON_JUDGEMENT_OF_COMMAND, 8s, 13s);
if (IsUndead)
Events.ScheduleEvent(EVENT_BRANDON_HAMMER_OF_BETRAYAL, urand(25000, 30000));
Events.ScheduleEvent(EVENT_BRANDON_HAMMER_OF_BETRAYAL, 25s, 30s);
}
void UpdateAI(uint32 diff) override
@@ -1427,21 +1427,21 @@ public:
{
case EVENT_BRANDON_CRUSADER_STRIKE:
DoCastVictim(SPELL_CRUSADER_STRIKE);
Events.ScheduleEvent(EVENT_BRANDON_CRUSADER_STRIKE, urand(6000, 12000));
Events.ScheduleEvent(EVENT_BRANDON_CRUSADER_STRIKE, 6s, 12s);
break;
case EVENT_BRANDON_DIVINE_SHIELD:
if (HealthBelowPct(20))
DoCast(me, SPELL_DIVINE_SHIELD);
Events.ScheduleEvent(EVENT_BRANDON_DIVINE_SHIELD, 500);
Events.ScheduleEvent(EVENT_BRANDON_DIVINE_SHIELD, 500ms);
break;
case EVENT_BRANDON_JUDGEMENT_OF_COMMAND:
DoCastVictim(SPELL_JUDGEMENT_OF_COMMAND);
Events.ScheduleEvent(EVENT_BRANDON_JUDGEMENT_OF_COMMAND, urand(8000, 13000));
Events.ScheduleEvent(EVENT_BRANDON_JUDGEMENT_OF_COMMAND, 8s, 13s);
break;
case EVENT_BRANDON_HAMMER_OF_BETRAYAL:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 1, 0.0f, true))
DoCast(target, SPELL_HAMMER_OF_BETRAYAL);
Events.ScheduleEvent(EVENT_BRANDON_HAMMER_OF_BETRAYAL, urand(45000, 60000));
Events.ScheduleEvent(EVENT_BRANDON_HAMMER_OF_BETRAYAL, 45s, 60s);
break;
default:
break;
@@ -1473,11 +1473,11 @@ public:
{
npc_argent_captainAI::Reset();
Events.Reset();
Events.ScheduleEvent(EVENT_GRONDEL_CHARGE_CHECK, 500);
Events.ScheduleEvent(EVENT_GRONDEL_MORTAL_STRIKE, urand(8000, 14000));
Events.ScheduleEvent(EVENT_GRONDEL_SUNDER_ARMOR, urand(3000, 12000));
Events.ScheduleEvent(EVENT_GRONDEL_CHARGE_CHECK, 500ms);
Events.ScheduleEvent(EVENT_GRONDEL_MORTAL_STRIKE, 8s, 14s);
Events.ScheduleEvent(EVENT_GRONDEL_SUNDER_ARMOR, 3s, 12s);
if (IsUndead)
Events.ScheduleEvent(EVENT_GRONDEL_CONFLAGRATION, urand(12000, 17000));
Events.ScheduleEvent(EVENT_GRONDEL_CONFLAGRATION, 12s, 17s);
}
void UpdateAI(uint32 diff) override
@@ -1496,20 +1496,20 @@ public:
{
case EVENT_GRONDEL_CHARGE_CHECK:
DoCastVictim(SPELL_CHARGE);
Events.ScheduleEvent(EVENT_GRONDEL_CHARGE_CHECK, 500);
Events.ScheduleEvent(EVENT_GRONDEL_CHARGE_CHECK, 500ms);
break;
case EVENT_GRONDEL_MORTAL_STRIKE:
DoCastVictim(SPELL_MORTAL_STRIKE);
Events.ScheduleEvent(EVENT_GRONDEL_MORTAL_STRIKE, urand(10000, 15000));
Events.ScheduleEvent(EVENT_GRONDEL_MORTAL_STRIKE, 10s, 15s);
break;
case EVENT_GRONDEL_SUNDER_ARMOR:
DoCastVictim(SPELL_SUNDER_ARMOR);
Events.ScheduleEvent(EVENT_GRONDEL_SUNDER_ARMOR, urand(5000, 17000));
Events.ScheduleEvent(EVENT_GRONDEL_SUNDER_ARMOR, 5s, 17s);
break;
case EVENT_GRONDEL_CONFLAGRATION:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 0.0f, true))
DoCast(target, SPELL_CONFLAGRATION);
Events.ScheduleEvent(EVENT_GRONDEL_CONFLAGRATION, urand(10000, 15000));
Events.ScheduleEvent(EVENT_GRONDEL_CONFLAGRATION, 10s, 15s);
break;
default:
break;
@@ -1541,9 +1541,9 @@ public:
{
npc_argent_captainAI::Reset();
Events.Reset();
Events.ScheduleEvent(EVENT_RUPERT_FEL_IRON_BOMB, urand(15000, 20000));
Events.ScheduleEvent(EVENT_RUPERT_MACHINE_GUN, urand(25000, 30000));
Events.ScheduleEvent(EVENT_RUPERT_ROCKET_LAUNCH, urand(10000, 15000));
Events.ScheduleEvent(EVENT_RUPERT_FEL_IRON_BOMB, 15s, 20s);
Events.ScheduleEvent(EVENT_RUPERT_MACHINE_GUN, 25s, 30s);
Events.ScheduleEvent(EVENT_RUPERT_ROCKET_LAUNCH, 10s, 15s);
}
void UpdateAI(uint32 diff) override
@@ -1563,17 +1563,17 @@ public:
case EVENT_RUPERT_FEL_IRON_BOMB:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
DoCast(target, SPELL_FEL_IRON_BOMB);
Events.ScheduleEvent(EVENT_RUPERT_FEL_IRON_BOMB, urand(15000, 20000));
Events.ScheduleEvent(EVENT_RUPERT_FEL_IRON_BOMB, 15s, 20s);
break;
case EVENT_RUPERT_MACHINE_GUN:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 1))
DoCast(target, SPELL_MACHINE_GUN);
Events.ScheduleEvent(EVENT_RUPERT_MACHINE_GUN, urand(25000, 30000));
Events.ScheduleEvent(EVENT_RUPERT_MACHINE_GUN, 25s, 30s);
break;
case EVENT_RUPERT_ROCKET_LAUNCH:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 1))
DoCast(target, SPELL_ROCKET_LAUNCH);
Events.ScheduleEvent(EVENT_RUPERT_ROCKET_LAUNCH, urand(10000, 15000));
Events.ScheduleEvent(EVENT_RUPERT_ROCKET_LAUNCH, 10s, 15s);
break;
default:
break;
@@ -1648,30 +1648,30 @@ public:
switch (me->GetEntry())
{
case NPC_YMIRJAR_HUNTRESS:
events.ScheduleEvent(1, urand(10000, 15000)); // Ice Trap
events.ScheduleEvent(2, urand(8000, 12000)); // Rapid Shot
events.ScheduleEvent(3, urand(6000, 10000)); // Volley
events.ScheduleEvent(1, 10s, 15s); // Ice Trap
events.ScheduleEvent(2, 8s, 12s); // Rapid Shot
events.ScheduleEvent(3, 6s, 10s); // Volley
if (me->GetMap()->Is25ManRaid())
events.ScheduleEvent(4, 5000); // Summon Warhawk
events.ScheduleEvent(4, 5s); // Summon Warhawk
break;
case NPC_YMIRJAR_WARLORD:
events.ScheduleEvent(11, 6000); // Whirlwind
events.ScheduleEvent(11, 6s); // Whirlwind
break;
case NPC_YMIRJAR_BATTLE_MAIDEN:
events.ScheduleEvent(21, 3000); // Barbaric Strike
events.ScheduleEvent(22, urand(8000, 12000)); // Adrenaline Rush
events.ScheduleEvent(21, 3s); // Barbaric Strike
events.ScheduleEvent(22, 8s, 12s); // Adrenaline Rush
break;
case NPC_YMIRJAR_FROSTBINDER:
events.ScheduleEvent(31, 0); // Arctic Chill
events.ScheduleEvent(32, urand(15000, 25000)); // Frozen Orb
events.ScheduleEvent(33, urand(15000, 30000)); // Twisted Winds
events2.ScheduleEvent(100, 0); // Spirit Stream
events.ScheduleEvent(31, 0ms); // Arctic Chill
events.ScheduleEvent(32, 15s, 25s); // Frozen Orb
events.ScheduleEvent(33, 15s, 30s); // Twisted Winds
events2.ScheduleEvent(100, 0ms); // Spirit Stream
me->SetHover(false);
break;
case NPC_YMIRJAR_DEATHBRINGER:
events.ScheduleEvent(41, 2500); // Empowered Shadow Bolt
events.ScheduleEvent(42, 5000); // Summon Undead
events2.ScheduleEvent(100, 0); // Spirit Stream
events.ScheduleEvent(41, 2500ms); // Empowered Shadow Bolt
events.ScheduleEvent(42, 5s); // Summon Undead
events2.ScheduleEvent(100, 0ms); // Spirit Stream
break;
}
}
@@ -1686,7 +1686,7 @@ public:
case 100:
if (Creature* stalker = me->FindNearestCreature(NPC_INVISIBLE_STALKER_3_0, 50.0f))
me->CastSpell(stalker, SPELL_SPIRIT_STREAM, false);
events2.ScheduleEvent(100, 33000);
events2.ScheduleEvent(100, 33s);
break;
}
}
@@ -1705,11 +1705,11 @@ public:
break;
case 1: // Ice Trap
me->CastSpell((Unit*)nullptr, 71249, false);
events.RepeatEvent(urand(35000, 40000));
events.Repeat(35s, 40s);
break;
case 2: // Rapid Shot
me->CastSpell(me->GetVictim(), 71251, false);
events.RepeatEvent(urand(25000, 30000));
events.Repeat(25s, 30s);
break;
case 3: // Volley
{
@@ -1717,10 +1717,10 @@ public:
if (target && me->GetDistance(target) > 10.0f)
{
me->CastSpell(target, 71252, false);
events.RepeatEvent(urand(25000, 35000));
events.Repeat(25s, 35s);
}
else
events.RepeatEvent(2500);
events.Repeat(2500ms);
}
break;
case 4: // Summon Warhawk
@@ -1728,15 +1728,15 @@ public:
break;
case 11: // Whirlwind
me->CastSpell(me->GetVictim(), 41056, false);
events.RepeatEvent(6000);
events.Repeat(6s);
break;
case 21: // Barbaric Strike
me->CastSpell(me->GetVictim(), 71257, false);
events.RepeatEvent(3000);
events.Repeat(3s);
break;
case 22: // Adrenaline Rush
me->CastSpell(me, 71258, false);
events.RepeatEvent(urand(15000, 25000));
events.Repeat(15s, 25s);
break;
case 31: // Arctic Chill
me->CastSpell(me, 71270, true);
@@ -1744,19 +1744,19 @@ public:
case 32: // Frozen Orb
if (Unit* target = SelectTarget(SelectTargetMethod::MinDistance, 0, 30.0f, true))
me->CastSpell(target, 71274, false);
events.RepeatEvent(urand(40000, 50000));
events.Repeat(40s, 50s);
break;
case 33: // Twisted Winds
me->CastSpell((Unit*)nullptr, 71306, false);
events.RepeatEvent(urand(35000, 50000));
events.Repeat(35s, 50s);
break;
case 41: // Empowered Shadow Bolt
me->CastSpell(me->GetVictim(), 69528, false);
events.RepeatEvent(2500);
events.Repeat(2500ms);
break;
case 42: // Summon Undead
me->CastSpell(me->GetVictim(), 69516, false);
events.RepeatEvent(45000);
events.Repeat(45s);
break;
default:
break;
@@ -1870,7 +1870,7 @@ public:
if (_instance->GetBossState(DATA_PROFESSOR_PUTRICIDE) == DONE &&
_instance->GetBossState(DATA_BLOOD_QUEEN_LANA_THEL) == DONE &&
_instance->GetBossState(DATA_SINDRAGOSA) == DONE)
_events.ScheduleEvent(EVENT_SOUL_MISSILE, urand(1000, 6000));
_events.ScheduleEvent(EVENT_SOUL_MISSILE, 1s, 6s);
}
void UpdateAI(uint32 diff) override
@@ -1883,7 +1883,7 @@ public:
if (_events.ExecuteEvent() == EVENT_SOUL_MISSILE)
{
DoCastAOE(SPELL_SOUL_MISSILE);
_events.ScheduleEvent(EVENT_SOUL_MISSILE, urand(5000, 7000));
_events.ScheduleEvent(EVENT_SOUL_MISSILE, 5s, 7s);
}
}
@@ -2579,10 +2579,10 @@ public:
void JustEngagedWith(Unit* /*who*/) override
{
events.Reset();
events.ScheduleEvent(1, urand(5000, 15000));
events.ScheduleEvent(2, urand(5000, 15000));
events.ScheduleEvent(3, urand(5000, 15000));
events.ScheduleEvent(4, urand(1000, 3000));
events.ScheduleEvent(1, 5s, 15s);
events.ScheduleEvent(2, 5s, 15s);
events.ScheduleEvent(3, 5s, 15s);
events.ScheduleEvent(4, 1s, 3s);
}
void UpdateAI(uint32 diff) override
@@ -2602,21 +2602,21 @@ public:
case 1:
if (Unit* target = DoSelectLowestHpFriendly(35.0f, 5000))
me->CastSpell(target, 69899, false);
events.RepeatEvent(urand(10000, 20000));
events.Repeat(10s, 20s);
break;
case 2:
if (Unit* target = DoSelectLowestHpFriendly(35.0f, 5000))
me->CastSpell(target, 69882, false);
events.RepeatEvent(urand(10000, 20000));
events.Repeat(10s, 20s);
break;
case 3:
if (Unit* target = DoSelectLowestHpFriendly(35.0f, 5000))
me->CastSpell(target, 69898, false);
events.RepeatEvent(urand(10000, 20000));
events.Repeat(10s, 20s);
break;
case 4:
me->CastSpell(me->GetVictim(), 69968, false);
events.RepeatEvent(urand(2000, 3000));
events.Repeat(2s, 3s);
break;
}
@@ -2646,8 +2646,8 @@ public:
void JustEngagedWith(Unit* /*who*/) override
{
events.Reset();
events.ScheduleEvent(1, urand(5000, 10000));
events.ScheduleEvent(2, urand(5000, 15000));
events.ScheduleEvent(1, 5s, 10s);
events.ScheduleEvent(2, 5s, 15s);
}
void UpdateAI(uint32 diff) override
@@ -2666,11 +2666,11 @@ public:
break;
case 1:
me->CastSpell(me->GetVictim(), 69989, false);
events.RepeatEvent(urand(5000, 10000));
events.Repeat(5s, 10s);
break;
case 2:
me->CastSpell(me->GetVictim(), 69975, false);
events.RepeatEvent(urand(10000, 15000));
events.Repeat(10s, 15s);
break;
}
@@ -2700,9 +2700,9 @@ public:
void JustEngagedWith(Unit* /*who*/) override
{
events.Reset();
events.ScheduleEvent(1, urand(5000, 15000));
events.ScheduleEvent(2, urand(5000, 15000));
events.ScheduleEvent(3, urand(1000, 3000));
events.ScheduleEvent(1, 5s, 15s);
events.ScheduleEvent(2, 5s, 15s);
events.ScheduleEvent(3, 1s, 3s);
}
void UpdateAI(uint32 diff) override
@@ -2722,16 +2722,16 @@ public:
case 1:
if (Unit* target = DoSelectLowestHpFriendly(35.0f, 5000))
me->CastSpell(target, 69963, false);
events.RepeatEvent(urand(10000, 20000));
events.Repeat(10s, 20s);
break;
case 2:
if (Unit* target = DoSelectLowestHpFriendly(35.0f, 5000))
me->CastSpell(target, 69910, false);
events.RepeatEvent(urand(10000, 20000));
events.Repeat(10s, 20s);
break;
case 3:
me->CastSpell(me->GetVictim(), 69967, false);
events.RepeatEvent(urand(2000, 3000));
events.Repeat(2s, 3s);
break;
}
@@ -2761,10 +2761,10 @@ public:
void JustEngagedWith(Unit* /*who*/) override
{
events.Reset();
events.ScheduleEvent(1, urand(5000, 15000));
events.ScheduleEvent(2, urand(5000, 15000));
events.ScheduleEvent(3, urand(5000, 15000));
events.ScheduleEvent(4, urand(1000, 3000));
events.ScheduleEvent(1, 5s, 15s);
events.ScheduleEvent(2, 5s, 15s);
events.ScheduleEvent(3, 5s, 15s);
events.ScheduleEvent(4, 1s, 3s);
}
void UpdateAI(uint32 diff) override
@@ -2784,21 +2784,21 @@ public:
case 1:
if (Unit* target = DoSelectLowestHpFriendly(35.0f, 5000))
me->CastSpell(target, 69923, false);
events.RepeatEvent(urand(10000, 20000));
events.Repeat(10s, 20s);
break;
case 2:
if (Unit* target = DoSelectLowestHpFriendly(35.0f, 5000))
me->CastSpell(target, 69926, false);
events.RepeatEvent(urand(20000, 30000));
events.Repeat(20s, 30s);
break;
case 3:
if (Unit* target = DoSelectLowestHpFriendly(35.0f, 5000))
me->CastSpell(target, 69958, false);
events.RepeatEvent(urand(10000, 20000));
events.Repeat(10s, 20s);
break;
case 4:
me->CastSpell(me->GetVictim(), 69970, false);
events.RepeatEvent(urand(3000, 4000));
events.Repeat(3s, 4s);
break;
}
@@ -2830,7 +2830,7 @@ public:
events.Reset();
summons.DespawnAll();
me->setActive(true);
events.ScheduleEvent(1, 10000);
events.ScheduleEvent(1, 10s);
me->SetInCombatWithZone();
}
@@ -2910,7 +2910,7 @@ public:
casted = true;
me->CastSpell(target, 71906, true); // Severed Essence
}
events.RepeatEvent(casted ? 25000 : 5000);
events.Repeat(casted ? 25s : 5s);
}
break;
}
@@ -3069,9 +3069,9 @@ public:
void Reset() override
{
events.Reset();
events.ScheduleEvent(1, urand(15000, 25000)); // blizzard
events.ScheduleEvent(2, 5000); // cleave
events.ScheduleEvent(3, urand(10000, 15000)); // frost breath
events.ScheduleEvent(1, 15s, 25s); // blizzard
events.ScheduleEvent(2, 5s); // cleave
events.ScheduleEvent(3, 10s, 15s); // frost breath
}
void DoAction(int32 a) override
@@ -3120,15 +3120,15 @@ public:
case 1:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 40.0f, true))
me->CastSpell(target, 70362, false);
events.RepeatEvent(urand(25000, 35000));
events.Repeat(25s, 35s);
break;
case 2:
me->CastSpell(me->GetVictim(), 70361, false);
events.RepeatEvent(5000);
events.Repeat(5s);
break;
case 3:
me->CastSpell(me->GetVictim(), 70116, false);
events.RepeatEvent(urand(10000, 15000));
events.Repeat(10s, 15s);
break;
}
@@ -3182,7 +3182,7 @@ public:
{
me->SetWalk(false);
events.Reset();
events.ScheduleEvent(1, urand(3000, 6000)); // leaping face maul
events.ScheduleEvent(1, 3s, 6s); // leaping face maul
}
void JustReachedHome() override
@@ -3270,10 +3270,10 @@ public:
if (me->GetVictim() && !me->GetVictim()->HasAura(71163) && me->GetVictim()->GetDistance(me) > 5.0f && me->GetVictim()->GetDistance(me) < 30.0f)
{
me->CastSpell(me->GetVictim(), 71164, false);
events.RepeatEvent(urand(15000, 20000));
events.Repeat(15s, 20s);
}
else
events.RepeatEvent(3000);
events.Repeat(3s);
break;
}
@@ -3335,9 +3335,9 @@ public:
void Reset() override
{
events.Reset();
events.ScheduleEvent(1, urand(3000, 10000)); // Crypt Scarabs
events.ScheduleEvent(2, urand(15000, 25000)); // Dark Mending
events.ScheduleEvent(3, urand(8000, 15000)); // Web Wrap
events.ScheduleEvent(1, 3s, 10s); // Crypt Scarabs
events.ScheduleEvent(2, 15s, 25s); // Dark Mending
events.ScheduleEvent(3, 8s, 15s); // Web Wrap
me->AddUnitState(UNIT_STATE_NO_ENVIRONMENT_UPD);
}
@@ -3405,16 +3405,16 @@ public:
break;
case 1:
me->CastSpell(me->GetVictim(), 70965, false);
events.RepeatEvent(urand(20000, 30000));
events.Repeat(20s, 30s);
break;
case 2:
me->CastSpell(me->GetVictim(), 71020, false);
events.RepeatEvent(urand(20000, 30000));
events.Repeat(20s, 30s);
break;
case 3:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 40.0f, true))
me->CastSpell(target, 70980, false);
events.RepeatEvent(urand(20000, 30000));
events.Repeat(20s, 30s);
break;
}
@@ -3513,8 +3513,8 @@ public:
me->setActive(true);
events.Reset();
events.SetPhase(0);
events.ScheduleEvent(EVENT_CHECK_FIGHT, 1000);
events.ScheduleEvent(EVENT_GAUNTLET_PHASE1, 0);
events.ScheduleEvent(EVENT_CHECK_FIGHT, 1s);
events.ScheduleEvent(EVENT_GAUNTLET_PHASE1, 0ms);
instance->SetBossState(DATA_SINDRAGOSA_GAUNTLET, IN_PROGRESS);
}
}
@@ -3558,12 +3558,12 @@ public:
if (events.GetPhaseMask() == 0)
{
events.SetPhase(1);
events.ScheduleEvent(EVENT_GAUNTLET_PHASE2, 0);
events.ScheduleEvent(EVENT_GAUNTLET_PHASE2, 0ms);
}
else if (events.GetPhaseMask() == 1)
{
events.SetPhase(2);
events.ScheduleEvent(EVENT_GAUNTLET_PHASE3, 0);
events.ScheduleEvent(EVENT_GAUNTLET_PHASE3, 0ms);
}
else
me->KillSelf();
@@ -3583,7 +3583,7 @@ public:
if (me->GetDistance(itr->GetSource()) > 100.0f || !itr->GetSource()->IsAlive() || itr->GetSource()->IsGameMaster())
continue;
events.ScheduleEvent(EVENT_CHECK_FIGHT, 1000);
events.ScheduleEvent(EVENT_CHECK_FIGHT, 1s);
return;
}
@@ -3638,13 +3638,13 @@ public:
{
me->setActive(true);
events.Reset();
events.ScheduleEvent(EVENT_CHECK_FIGHT, 1000);
events.ScheduleEvent(EVENT_CHECK_FIGHT, 1s);
instance->SetData(DATA_PUTRICIDE_TRAP_STATE, IN_PROGRESS);
me->CastSpell(me, SPELL_GIANT_INSECT_SWARM, true);
for (uint8 i = 0; i < 60; ++i)
events.ScheduleEvent(EVENT_GAUNTLET_PHASE1, i * 1000);
events.ScheduleEvent(EVENT_GAUNTLET_PHASE2, 60000);
events.ScheduleEvent(EVENT_GAUNTLET_PHASE2, 1min);
}
}
@@ -3685,7 +3685,7 @@ public:
if (me->GetDistance(itr->GetSource()) > 100.0f || !itr->GetSource()->IsAlive() || itr->GetSource()->IsGameMaster())
continue;
events.ScheduleEvent(EVENT_CHECK_FIGHT, 1000);
events.ScheduleEvent(EVENT_CHECK_FIGHT, 1s);
return;
}

View File

@@ -1068,7 +1068,7 @@ public:
}
}
else if (state == FAIL)
Events.ScheduleEvent(EVENT_RESPAWN_GUNSHIP, 30000);
Events.ScheduleEvent(EVENT_RESPAWN_GUNSHIP, 30s);
break;
case DATA_DEATHBRINGER_SAURFANG:
switch (state)
@@ -1336,7 +1336,7 @@ public:
switch (data)
{
case IN_PROGRESS:
Events.ScheduleEvent(EVENT_UPDATE_EXECUTION_TIME, 60000);
Events.ScheduleEvent(EVENT_UPDATE_EXECUTION_TIME, 1min);
BloodQuickeningMinutes = 30;
DoUpdateWorldState(WORLDSTATE_SHOW_TIMER, 1);
DoUpdateWorldState(WORLDSTATE_EXECUTION_TIME, BloodQuickeningMinutes);
@@ -1599,7 +1599,7 @@ public:
if (BloodQuickeningState == IN_PROGRESS)
{
Events.ScheduleEvent(EVENT_UPDATE_EXECUTION_TIME, 60000);
Events.ScheduleEvent(EVENT_UPDATE_EXECUTION_TIME, 1min);
DoUpdateWorldState(WORLDSTATE_SHOW_TIMER, 1);
DoUpdateWorldState(WORLDSTATE_EXECUTION_TIME, BloodQuickeningMinutes);
}
@@ -1679,7 +1679,7 @@ public:
--BloodQuickeningMinutes;
if (BloodQuickeningMinutes)
{
Events.ScheduleEvent(EVENT_UPDATE_EXECUTION_TIME, 60000);
Events.ScheduleEvent(EVENT_UPDATE_EXECUTION_TIME, 1min);
DoUpdateWorldState(WORLDSTATE_SHOW_TIMER, 1);
DoUpdateWorldState(WORLDSTATE_EXECUTION_TIME, BloodQuickeningMinutes);
}
@@ -1765,13 +1765,13 @@ public:
case EVENT_QUAKE:
if (GameObject* warning = instance->GetGameObject(FrozenThroneWarningGUID))
warning->SetGoState(GO_STATE_ACTIVE);
Events.ScheduleEvent(EVENT_QUAKE_SHATTER, 5000);
Events.ScheduleEvent(EVENT_QUAKE_SHATTER, 5s);
break;
case EVENT_SECOND_REMORSELESS_WINTER:
if (GameObject* platform = instance->GetGameObject(ArthasPlatformGUID))
{
platform->SetDestructibleState(GO_DESTRUCTIBLE_DESTROYED);
Events.ScheduleEvent(EVENT_REBUILD_PLATFORM, 1500);
Events.ScheduleEvent(EVENT_REBUILD_PLATFORM, 1500ms);
}
break;
case EVENT_TELEPORT_TO_FROSMOURNE: // Harvest Soul (normal mode)