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

@@ -267,21 +267,21 @@ public:
break;
case MI_POINT_INTRO_CENTER_AIR:
events.RescheduleEvent(EVENT_INTRO_LAND, 0, 1);
events.RescheduleEvent(EVENT_INTRO_LAND, 0ms, 1);
break;
case MI_POINT_VORTEX_CENTER:
if (Creature* c = me->SummonCreature(NPC_WORLD_TRIGGER_LAOI, CenterPos, TEMPSUMMON_TIMED_DESPAWN, 15000))
c->CastSpell(c, SPELL_VORTEX_VISUAL, true);
events.RescheduleEvent(EVENT_START_VORTEX_REAL, 1000, 1);
events.RescheduleEvent(EVENT_START_VORTEX_REAL, 1s, 1);
break;
case MI_POINT_CENTER_GROUND_PH_2:
events.RescheduleEvent(EVENT_START_PHASE_2_FLY_UP, 0, 1);
events.RescheduleEvent(EVENT_START_PHASE_2_FLY_UP, 0ms, 1);
break;
case MI_POINT_CIRCLE_OUTSIDE_PH_2:
events.RescheduleEvent(EVENT_RESUME_FLYING_CIRCLES_PH_2, 0, 1);
events.RescheduleEvent(EVENT_RESUME_FLYING_CIRCLES_PH_2, 0ms, 1);
break;
case MI_POINT_SURGE_OF_POWER_CENTER:
events.RescheduleEvent(EVENT_SURGE_OF_POWER_WARNING, 0, 1);
events.RescheduleEvent(EVENT_SURGE_OF_POWER_WARNING, 0ms, 1);
break;
}
}
@@ -291,20 +291,20 @@ public:
{
case MI_POINT_INTRO_LAND:
me->SetDisableGravity(false);
events.RescheduleEvent(EVENT_START_FIGHT, 0, 1);
events.RescheduleEvent(EVENT_START_FIGHT, 0ms, 1);
break;
case MI_POINT_VORTEX_TAKEOFF:
events.RescheduleEvent(EVENT_VORTEX_FLY_TO_CENTER, 0, 1);
events.RescheduleEvent(EVENT_VORTEX_FLY_TO_CENTER, 0ms, 1);
break;
case MI_POINT_VORTEX_LAND:
me->SetDisableGravity(false);
events.RescheduleEvent(EVENT_VORTEX_LAND_1, 0, 1);
events.RescheduleEvent(EVENT_VORTEX_LAND_1, 0ms, 1);
break;
case MI_POINT_CENTER_AIR_PH_2:
me->GetMap()->SetZoneOverrideLight(AREA_EYE_OF_ETERNITY, LIGHT_ARCANE_RUNES, 5s);
break;
case MI_POINT_PH_3_FIGHT_POSITION:
events.RescheduleEvent(EVENT_START_PHASE_3, 6000, 1);
events.RescheduleEvent(EVENT_START_PHASE_3, 6s, 1);
break;
}
}
@@ -330,7 +330,7 @@ public:
Talk(SAY_PHASE_1);
events.RescheduleEvent(EVENT_INTRO_MOVE_CENTER, 0, 1);
events.RescheduleEvent(EVENT_INTRO_MOVE_CENTER, 0ms, 1);
if (pInstance)
pInstance->SetData(DATA_ENCOUNTER_STATUS, IN_PROGRESS);
}
@@ -365,7 +365,7 @@ public:
if (!bLockHealthCheck && me->HealthBelowPctDamaged(50, damage))
{
bLockHealthCheck = true;
events.RescheduleEvent(EVENT_START_PHASE_2, 0, 1);
events.RescheduleEvent(EVENT_START_PHASE_2, 0ms, 1);
}
}
@@ -425,20 +425,20 @@ public:
}
events.SetPhase(PHASE_ONE);
events.RescheduleEvent(EVENT_BERSERK, 600000, 0);
events.RescheduleEvent(EVENT_SPELL_ARCANE_BREATH, urand(9000, 12000), 1);
events.RescheduleEvent(EVENT_SPELL_ARCANE_STORM, urand(2000, 5000), 1);
events.RescheduleEvent(EVENT_SUMMON_POWER_SPARK, urand(10000, 15000), 1);
events.RescheduleEvent(EVENT_START_VORTEX_0, 30000, 1);
events.RescheduleEvent(EVENT_BERSERK, 10min, 0);
events.RescheduleEvent(EVENT_SPELL_ARCANE_BREATH, 9s, 12s, 1);
events.RescheduleEvent(EVENT_SPELL_ARCANE_STORM, 2s, 5s, 1);
events.RescheduleEvent(EVENT_SUMMON_POWER_SPARK, 10s, 15s, 1);
events.RescheduleEvent(EVENT_START_VORTEX_0, 30s, 1);
break;
}
case EVENT_SPELL_ARCANE_BREATH:
me->CastSpell(me->GetVictim(), SPELL_ARCANE_BREATH, false);
events.RepeatEvent(urand(12000, 15000));
events.Repeat(12s, 15s);
break;
case EVENT_SPELL_ARCANE_STORM:
me->CastCustomSpell(SPELL_ARCANE_STORM, SPELLVALUE_MAX_TARGETS, DUNGEON_MODE(5, 12), me, true);
events.RepeatEvent(urand(10000, 15000));
events.Repeat(10s, 15s);
break;
case EVENT_SUMMON_POWER_SPARK:
{
@@ -451,7 +451,7 @@ public:
c->AI()->Talk(EMOTE_POWER_SPARK);
}
events.RepeatEvent(urand(20000, 30000));
events.Repeat(20s, 30s);
}
break;
case EVENT_START_VORTEX_0:
@@ -544,7 +544,7 @@ public:
}
}
events.RescheduleEvent(EVENT_VORTEX_LAND_0, 11000, 1);
events.RescheduleEvent(EVENT_VORTEX_LAND_0, 11s, 1);
break;
}
case EVENT_VORTEX_LAND_0:
@@ -562,7 +562,7 @@ public:
AttackStart(target);
me->GetMotionMaster()->MoveChase(target);
}
events.RescheduleEvent(EVENT_START_VORTEX_0, 60000, 1);
events.RescheduleEvent(EVENT_START_VORTEX_0, 60s, 1);
break;
}
case EVENT_START_PHASE_2:
@@ -583,17 +583,17 @@ public:
me->DisableSpline();
me->SetDisableGravity(true);
me->GetMotionMaster()->MoveTakeoff(MI_POINT_CENTER_AIR_PH_2, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ() + 32.0f, 7.0f);
events.RescheduleEvent(EVENT_START_PHASE_2_MOVE_TO_SIDE, 22500, 1);
events.RescheduleEvent(EVENT_START_PHASE_2_MOVE_TO_SIDE, 22s + 500ms, 1);
break;
}
case EVENT_START_PHASE_2_MOVE_TO_SIDE:
Talk(SAY_PHASE_2);
me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_PACIFIED);
me->GetMotionMaster()->MovePoint(MI_POINT_CIRCLE_OUTSIDE_PH_2, Phase2NorthPos);
events.RescheduleEvent(EVENT_SPELL_ARCANE_STORM, urand(12000, 15000), 1);
events.RescheduleEvent(EVENT_SPELL_ARCANE_OVERLOAD, 8000, 1);
events.RescheduleEvent(EVENT_MOVE_TO_SURGE_OF_POWER, 55000, 1);
events.RescheduleEvent(EVENT_CHECK_TRASH_DEAD, 3000, 1);
events.RescheduleEvent(EVENT_SPELL_ARCANE_STORM, 12s, 15s, 1);
events.RescheduleEvent(EVENT_SPELL_ARCANE_OVERLOAD, 8s, 1);
events.RescheduleEvent(EVENT_MOVE_TO_SURGE_OF_POWER, 55s, 1);
events.RescheduleEvent(EVENT_CHECK_TRASH_DEAD, 3s, 1);
for (int i = 0; i < MAX_NEXUS_LORDS; i++)
{
@@ -629,8 +629,8 @@ public:
float posy = CenterPos.GetPositionY() + std::sin(angle) * dist;
me->SetFacingTo(me->GetAngle(posx, posy));
me->CastSpell(posx, posy, CenterPos.GetPositionZ() + 1.5f, SPELL_ARCANE_OVERLOAD, true);
events.RepeatEvent(15000);
events.RescheduleEvent(EVENT_RESUME_FLYING_CIRCLES_PH_2, 3000, 1);
events.Repeat(15s);
events.RescheduleEvent(EVENT_RESUME_FLYING_CIRCLES_PH_2, 3s, 1);
}
break;
case EVENT_RESUME_FLYING_CIRCLES_PH_2:
@@ -654,18 +654,18 @@ public:
break;
case EVENT_SURGE_OF_POWER_WARNING:
Talk(EMOTE_SURGE_OF_POWER_WARNING_P2);
events.RescheduleEvent(EVENT_SPELL_SURGE_OF_POWER, 1500, 1);
events.RescheduleEvent(EVENT_SPELL_SURGE_OF_POWER, 1500ms, 1);
break;
case EVENT_SPELL_SURGE_OF_POWER:
if (Creature* c = me->SummonCreature(NPC_SURGE_OF_POWER, CenterPos, TEMPSUMMON_TIMED_DESPAWN, 10000))
me->CastSpell(c, SPELL_SURGE_OF_POWER, false);
Talk(SAY_SURGE_OF_POWER);
events.RescheduleEvent(EVENT_CLEAR_TARGET, 10000, 1);
events.RescheduleEvent(EVENT_RESUME_FLYING_CIRCLES_PH_2, 10000, 1);
events.RescheduleEvent(EVENT_SPELL_ARCANE_STORM, urand(17000, 25000), 1);
events.RescheduleEvent(EVENT_SPELL_ARCANE_OVERLOAD, 16000, 1);
events.RescheduleEvent(EVENT_MOVE_TO_SURGE_OF_POWER, 55000 + 10000, 1);
events.RescheduleEvent(EVENT_CHECK_TRASH_DEAD, 3000, 1);
events.RescheduleEvent(EVENT_CLEAR_TARGET, 10s, 1);
events.RescheduleEvent(EVENT_RESUME_FLYING_CIRCLES_PH_2, 10s, 1);
events.RescheduleEvent(EVENT_SPELL_ARCANE_STORM, 17s, 25s, 1);
events.RescheduleEvent(EVENT_SPELL_ARCANE_OVERLOAD, 16s, 1);
events.RescheduleEvent(EVENT_MOVE_TO_SURGE_OF_POWER, 65s, 1);
events.RescheduleEvent(EVENT_CHECK_TRASH_DEAD, 3s, 1);
break;
case EVENT_CLEAR_TARGET:
me->SendMeleeAttackStop();
@@ -687,8 +687,8 @@ public:
me->GetMotionMaster()->MoveIdle();
me->StopMoving();
me->GetMotionMaster()->MovePoint(MI_POINT_START_PH_3, CenterPos.GetPositionX(), CenterPos.GetPositionY(), CenterPos.GetPositionZ() + 70.0f);
events.RescheduleEvent(EVENT_LIGHT_DIMENSION_CHANGE, 1000, 1);
events.RescheduleEvent(EVENT_DESTROY_PLATFORM_0, 10000, 1);
events.RescheduleEvent(EVENT_LIGHT_DIMENSION_CHANGE, 1s, 1);
events.RescheduleEvent(EVENT_DESTROY_PLATFORM_0, 10s, 1);
}
}
break;
@@ -703,7 +703,7 @@ public:
c->CastSpell(c, SPELL_DESTROY_PLATFORM_EFFECT, false);
}
me->GetMap()->SetZoneOverrideLight(AREA_EYE_OF_ETERNITY, LIGHT_OBSCURE_SPACE, 1s);
events.RescheduleEvent(EVENT_MOVE_TO_PHASE_3_POSITION, 2000, 1);
events.RescheduleEvent(EVENT_MOVE_TO_PHASE_3_POSITION, 2s, 1);
break;
case EVENT_MOVE_TO_PHASE_3_POSITION:
{
@@ -733,7 +733,7 @@ public:
}
}
events.RescheduleEvent(EVENT_SAY_PHASE_3_INTRO, 3000, 1);
events.RescheduleEvent(EVENT_SAY_PHASE_3_INTRO, 3s, 1);
}
break;
case EVENT_SAY_PHASE_3_INTRO:
@@ -746,14 +746,14 @@ public:
me->SetUnitFlag(UNIT_FLAG_PACIFIED | UNIT_FLAG_DISABLE_MOVE);
if (Unit* target = me->GetVictim())
AttackStart(target);
events.RescheduleEvent(EVENT_SPELL_ARCANE_PULSE, 0, 1);
events.RescheduleEvent(EVENT_SPELL_STATIC_FIELD, urand(1000, 4000), 1);
events.RescheduleEvent(EVENT_SPELL_PH3_SURGE_OF_POWER, urand(4000, 7000), 1);
events.RescheduleEvent(EVENT_SPELL_ARCANE_STORM, urand(12000, 15000), 1);
events.RescheduleEvent(EVENT_SPELL_ARCANE_PULSE, 0ms, 1);
events.RescheduleEvent(EVENT_SPELL_STATIC_FIELD, 1s, 4s, 1);
events.RescheduleEvent(EVENT_SPELL_PH3_SURGE_OF_POWER, 4s, 7s, 1);
events.RescheduleEvent(EVENT_SPELL_ARCANE_STORM, 12s, 15s, 1);
break;
case EVENT_SPELL_ARCANE_PULSE:
me->CastSpell(me, SPELL_ARCANE_PULSE, true);
events.RepeatEvent(3000);
events.Repeat(3s);
break;
case EVENT_SPELL_STATIC_FIELD:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 200.0f, false))
@@ -761,11 +761,11 @@ public:
me->SetFacingToObject(target);
me->CastSpell(target, SPELL_STATIC_FIELD_MAIN, true);
}
events.RepeatEvent(12000);
events.Repeat(12s);
break;
case EVENT_SPELL_PH3_SURGE_OF_POWER:
me->CastSpell((Unit*)nullptr, SPELL_PH3_SURGE_OF_POWER, false);
events.RepeatEvent(7000);
events.Repeat(7s);
break;
}
@@ -1080,7 +1080,7 @@ public:
pInstance = me->GetInstanceScript();
timer = 0;
events.Reset();
events.RescheduleEvent(EVENT_TELEPORT_VISUAL, 0);
events.RescheduleEvent(EVENT_TELEPORT_VISUAL, 0ms);
}
InstanceScript* pInstance;
@@ -1091,8 +1091,8 @@ public:
{
DoZoneInCombat();
events.Reset();
events.RescheduleEvent(EVENT_NEXUS_LORD_ARCANE_SHOCK, urand(3000, 10000));
events.RescheduleEvent(EVENT_NEXUS_LORD_HASTE, urand(8000, 14000));
events.RescheduleEvent(EVENT_NEXUS_LORD_ARCANE_SHOCK, 3s, 10s);
events.RescheduleEvent(EVENT_NEXUS_LORD_HASTE, 8s, 14s);
}
void AttackStart(Unit* victim) override
@@ -1136,11 +1136,11 @@ public:
case EVENT_NEXUS_LORD_ARCANE_SHOCK:
if (Unit* victim = me->GetVictim())
me->CastSpell(victim, SPELL_ARCANE_SHOCK);
events.RepeatEvent(urand(10000, 15000));
events.Repeat(10s, 15s);
break;
case EVENT_NEXUS_LORD_HASTE:
me->CastSpell(me, SPELL_HASTE);
events.RepeatEvent(urand(20000, 30000));
events.Repeat(20s, 30s);
break;
}
@@ -1172,8 +1172,8 @@ public:
me->SetReactState(REACT_PASSIVE);
pInstance = me->GetInstanceScript();
events.Reset();
events.RescheduleEvent(EVENT_TELEPORT_VISUAL, 0);
events.RescheduleEvent(EVENT_SCION_OF_ETERNITY_ARCANE_BARRAGE, urand(20000, 25000));
events.RescheduleEvent(EVENT_TELEPORT_VISUAL, 0ms);
events.RescheduleEvent(EVENT_SCION_OF_ETERNITY_ARCANE_BARRAGE, 20s, 25s);
}
InstanceScript* pInstance;
@@ -1213,7 +1213,7 @@ public:
if (Player* plr = ObjectAccessor::GetPlayer(*me, guids.at(urand(0, guids.size() - 1))))
me->CastSpell(plr, SPELL_SCION_ARCANE_BARRAGE);
events.RepeatEvent(urand(5000, 8000));
events.Repeat(5s, 8s);
}
break;
}
@@ -1305,11 +1305,11 @@ public:
switch (id)
{
case MI_POINT_SCION:
events.RescheduleEvent(EVENT_DISK_MOVE_NEXT_POINT, 0);
events.RescheduleEvent(EVENT_DISK_MOVE_NEXT_POINT, 0ms);
break;
case MI_POINT_NEXUS_LORD:
if (me->GetPositionZ() > CenterPos.GetPositionZ() + 2.0f)
events.RescheduleEvent(EVENT_DISK_MOVE_NEXT_POINT, 0);
events.RescheduleEvent(EVENT_DISK_MOVE_NEXT_POINT, 0ms);
else if (Vehicle* v = me->GetVehicleKit())
if (Unit* pass = v->GetPassenger(0))
if (Creature* c = pass->ToCreature())
@@ -1390,7 +1390,7 @@ public:
npc_alexstraszaAI(Creature* pCreature) : ScriptedAI(pCreature)
{
events.Reset();
events.ScheduleEvent(1, 9000);
events.ScheduleEvent(1, 9s);
me->SetCanFly(true);
me->SetDisableGravity(true);
}
@@ -1417,15 +1417,15 @@ public:
}
Talk(SAY_ALEXSTRASZA_ONE);
events.RescheduleEvent(2, 6000);
events.RescheduleEvent(2, 6s);
break;
case 2:
Talk(SAY_ALEXSTRASZA_TWO);
events.RescheduleEvent(3, 5000);
events.RescheduleEvent(3, 5s);
break;
case 3:
Talk(SAY_ALEXSTRASZA_THREE);
events.RescheduleEvent(4, 22000);
events.RescheduleEvent(4, 22s);
break;
case 4:
Talk(SAY_ALEXSTRASZA_FOUR);

View File

@@ -127,11 +127,11 @@ public:
activeRifts = 0;
events.SetTimer(45000);
events.ScheduleEvent(EVENT_ANOMALUS_SPARK, 5000);
events.ScheduleEvent(EVENT_ANOMALUS_HEALTH, 1000);
events.ScheduleEvent(EVENT_ANOMALUS_SPAWN_RIFT, IsHeroic() ? 15000 : 25000);
events.ScheduleEvent(EVENT_ANOMALUS_SPARK, 5s);
events.ScheduleEvent(EVENT_ANOMALUS_HEALTH, 1s);
events.ScheduleEvent(EVENT_ANOMALUS_SPAWN_RIFT, IsHeroic() ? 15s : 25s);
if (IsHeroic())
events.ScheduleEvent(EVENT_ANOMALUS_ARCANE_ATTRACTION, 8000);
events.ScheduleEvent(EVENT_ANOMALUS_ARCANE_ATTRACTION, 8s);
}
void JustDied(Unit* killer) override
@@ -154,22 +154,22 @@ public:
{
case EVENT_ANOMALUS_SPARK:
me->CastSpell(me->GetVictim(), SPELL_SPARK, false);
events.ScheduleEvent(EVENT_ANOMALUS_SPARK, 5000);
events.ScheduleEvent(EVENT_ANOMALUS_SPARK, 5s);
break;
case EVENT_ANOMALUS_HEALTH:
if (me->HealthBelowPct(51))
{
//First time we reach 51%, the next rift going to be empowered following timings.
events.CancelEvent(EVENT_ANOMALUS_SPAWN_RIFT);
events.ScheduleEvent(EVENT_ANOMALUS_SPAWN_RIFT_EMPOWERED, 1000);
events.ScheduleEvent(EVENT_ANOMALUS_SPAWN_RIFT_EMPOWERED, 1s);
break;
}
events.ScheduleEvent(EVENT_ANOMALUS_HEALTH, 1000);
events.ScheduleEvent(EVENT_ANOMALUS_HEALTH, 1s);
break;
case EVENT_ANOMALUS_ARCANE_ATTRACTION:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 50.0f, true))
me->CastSpell(target, SPELL_ARCANE_ATTRACTION, false);
events.ScheduleEvent(EVENT_ANOMALUS_ARCANE_ATTRACTION, 15000);
events.ScheduleEvent(EVENT_ANOMALUS_ARCANE_ATTRACTION, 15s);
break;
case EVENT_ANOMALUS_SPAWN_RIFT:
Talk(SAY_RIFT);
@@ -185,9 +185,9 @@ public:
me->CastSpell(me, SPELL_CREATE_RIFT, false);
me->CastSpell(me, SPELL_RIFT_SHIELD, true);
me->m_Events.AddEvent(new ChargeRifts(me), me->m_Events.CalculateTime(1000));
events.DelayEvents(46000);
events.DelayEvents(46s);
//As we just spawned an empowered spawn a normal one
events.ScheduleEvent(EVENT_ANOMALUS_SPAWN_RIFT, IsHeroic() ? 15000 : 25000);
events.ScheduleEvent(EVENT_ANOMALUS_SPAWN_RIFT, IsHeroic() ? 15s : 25s);
break;
}

View File

@@ -69,10 +69,10 @@ public:
BossAI::JustEngagedWith(who);
Talk(SAY_AGGRO);
events.ScheduleEvent(EVENT_BATTLE_SHOUT, 0);
events.ScheduleEvent(EVENT_FRIGHTENING_SHOUT, 10000);
events.ScheduleEvent(EVENT_WHIRLWIND, 15000);
events.ScheduleEvent(EVENT_COMMANDER_CHARGE, 1000);
events.ScheduleEvent(EVENT_BATTLE_SHOUT, 0ms);
events.ScheduleEvent(EVENT_FRIGHTENING_SHOUT, 10s);
events.ScheduleEvent(EVENT_WHIRLWIND, 15s);
events.ScheduleEvent(EVENT_COMMANDER_CHARGE, 1s);
me->RemoveAllAuras();
}
@@ -81,7 +81,7 @@ public:
if (events.GetNextEventTime(EVENT_KILL_TALK) == 0)
{
Talk(SAY_KILL);
events.ScheduleEvent(EVENT_KILL_TALK, 6000);
events.ScheduleEvent(EVENT_KILL_TALK, 6s);
}
}
@@ -104,20 +104,20 @@ public:
{
case EVENT_BATTLE_SHOUT:
me->CastSpell(me, SPELL_BATTLE_SHOUT, true);
events.ScheduleEvent(EVENT_BATTLE_SHOUT, 120000);
events.ScheduleEvent(EVENT_BATTLE_SHOUT, 2min);
break;
case EVENT_FRIGHTENING_SHOUT:
me->CastSpell(me->GetVictim(), SPELL_FRIGHTENING_SHOUT, false);
events.ScheduleEvent(EVENT_FRIGHTENING_SHOUT, urand(15000, 20000));
events.ScheduleEvent(EVENT_FRIGHTENING_SHOUT, 15s, 20s);
break;
case EVENT_WHIRLWIND:
me->CastSpell(me, SPELL_WHIRLWIND, false);
events.ScheduleEvent(EVENT_WHIRLWIND, 16000);
events.ScheduleEvent(EVENT_WHIRLWIND, 16s);
break;
case EVENT_COMMANDER_CHARGE:
if (Unit* target = SelectTarget(SelectTargetMethod::MinDistance, 0, 25.0f))
me->CastSpell(target, SPELL_CHARGE, false);
events.ScheduleEvent(EVENT_COMMANDER_CHARGE, 20000);
events.ScheduleEvent(EVENT_COMMANDER_CHARGE, 20s);
break;
}

View File

@@ -83,11 +83,11 @@ public:
BossAI::JustEngagedWith(who);
me->CastSpell(me, SPELL_INTENSE_COLD, true);
events.ScheduleEvent(EVENT_CRYSTALFIRE_BREATH, 14000);
events.ScheduleEvent(EVENT_CRYSTALFIRE_BREATH, 14s);
events.ScheduleEvent(EVENT_CRYSTAL_CHAINS, DUNGEON_MODE(20000, 11000));
events.ScheduleEvent(EVENT_TAIL_SWEEP, 5000);
events.ScheduleEvent(EVENT_HEALTH_CHECK, 1000);
events.ScheduleEvent(EVENT_ACHIEVEMENT_CHECK, 1000);
events.ScheduleEvent(EVENT_TAIL_SWEEP, 5s);
events.ScheduleEvent(EVENT_HEALTH_CHECK, 1s);
events.ScheduleEvent(EVENT_ACHIEVEMENT_CHECK, 1s);
}
void JustDied(Unit* killer) override
@@ -101,7 +101,7 @@ public:
if (events.GetNextEventTime(EVENT_KILL_TALK) == 0)
{
Talk(SAY_SLAY);
events.ScheduleEvent(EVENT_KILL_TALK, 6000);
events.ScheduleEvent(EVENT_KILL_TALK, 6s);
}
}
@@ -157,7 +157,7 @@ public:
me->CastSpell(me, SPELL_ENRAGE, true);
break;
}
events.ScheduleEvent(EVENT_HEALTH_CHECK, 1000);
events.ScheduleEvent(EVENT_HEALTH_CHECK, 1s);
break;
case EVENT_ACHIEVEMENT_CHECK:
{
@@ -166,16 +166,16 @@ public:
if (Aura* aur = itr->GetSource()->GetAura(SPELL_INTENSE_COLD_TRIGGER))
if (aur->GetStackAmount() > 2)
aGuids.insert(itr->GetSource()->GetGUID().GetCounter());
events.ScheduleEvent(EVENT_ACHIEVEMENT_CHECK, 500);
events.ScheduleEvent(EVENT_ACHIEVEMENT_CHECK, 500ms);
break;
}
case EVENT_CRYSTALFIRE_BREATH:
me->CastSpell(me->GetVictim(), SPELL_CRYSTALFIRE_BREATH, false);
events.ScheduleEvent(EVENT_CRYSTALFIRE_BREATH, 14000);
events.ScheduleEvent(EVENT_CRYSTALFIRE_BREATH, 14s);
break;
case EVENT_TAIL_SWEEP:
me->CastSpell(me, SPELL_TAIL_SWEEP, false);
events.ScheduleEvent(EVENT_TAIL_SWEEP, 5000);
events.ScheduleEvent(EVENT_TAIL_SWEEP, 5s);
break;
case EVENT_CRYSTAL_CHAINS:
Talk(SAY_CRYSTAL_NOVA);

View File

@@ -114,12 +114,12 @@ public:
BossAI::JustEngagedWith(who);
Talk(SAY_AGGRO);
events.ScheduleEvent(EVENT_MAGUS_ICE_NOVA, 10000);
events.ScheduleEvent(EVENT_MAGUS_FIREBOMB, 0);
events.ScheduleEvent(EVENT_MAGUS_GRAVITY_WELL, 20000);
events.ScheduleEvent(EVENT_MAGUS_HEALTH1, 1000);
events.ScheduleEvent(EVENT_MAGUS_ICE_NOVA, 10s);
events.ScheduleEvent(EVENT_MAGUS_FIREBOMB, 0ms);
events.ScheduleEvent(EVENT_MAGUS_GRAVITY_WELL, 20s);
events.ScheduleEvent(EVENT_MAGUS_HEALTH1, 1s);
if (IsHeroic())
events.ScheduleEvent(EVENT_MAGUS_HEALTH2, 1000);
events.ScheduleEvent(EVENT_MAGUS_HEALTH2, 1s);
}
void AttackStart(Unit* who) override
@@ -139,7 +139,7 @@ public:
if (events.GetNextEventTime(EVENT_KILL_TALK) == 0)
{
Talk(SAY_KILL);
events.ScheduleEvent(EVENT_KILL_TALK, 6000);
events.ScheduleEvent(EVENT_KILL_TALK, 6s);
}
}
@@ -153,14 +153,14 @@ public:
{
if (spellInfo->Id >= SPELL_FIRE_MAGUS_DEATH && spellInfo->Id <= SPELL_ARCANE_MAGUS_DEATH && caster->ToCreature())
{
events.ScheduleEvent(EVENT_MAGUS_FAIL_ACHIEVEMENT, 5000);
events.ScheduleEvent(EVENT_MAGUS_FAIL_ACHIEVEMENT, 5s);
caster->ToCreature()->DespawnOrUnsummon(1000);
if (++copiesDied >= 3)
{
copiesDied = 0;
events.CancelEvent(EVENT_MAGUS_FAIL_ACHIEVEMENT);
events.ScheduleEvent(EVENT_MAGUS_MERGED, 5000);
events.ScheduleEvent(EVENT_MAGUS_MERGED, 5s);
me->CastSpell(me, SPELL_BURNING_WINDS, true);
}
}
@@ -181,34 +181,34 @@ public:
if (me->HealthBelowPct(51))
{
me->CastSpell(me, SPELL_START_SUMMON_CLONES, false);
events.ScheduleEvent(EVENT_MAGUS_RELOCATE, 3500);
events.ScheduleEvent(EVENT_MAGUS_RELOCATE, 3500ms);
Talk(SAY_SPLIT);
break;
}
events.ScheduleEvent(EVENT_MAGUS_HEALTH1, 1000);
events.ScheduleEvent(EVENT_MAGUS_HEALTH1, 1s);
break;
case EVENT_MAGUS_HEALTH2:
if (me->HealthBelowPct(11))
{
me->CastSpell(me, SPELL_START_SUMMON_CLONES, false);
events.ScheduleEvent(EVENT_MAGUS_RELOCATE, 3500);
events.ScheduleEvent(EVENT_MAGUS_RELOCATE, 3500ms);
Talk(SAY_SPLIT);
break;
}
events.ScheduleEvent(EVENT_MAGUS_HEALTH2, 1000);
events.ScheduleEvent(EVENT_MAGUS_HEALTH2, 1s);
break;
case EVENT_MAGUS_FIREBOMB:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
me->CastSpell(target, SPELL_FIREBOMB, false);
events.ScheduleEvent(EVENT_MAGUS_FIREBOMB, 3000);
events.ScheduleEvent(EVENT_MAGUS_FIREBOMB, 3s);
break;
case EVENT_MAGUS_ICE_NOVA:
me->CastSpell(me, SPELL_ICE_NOVA, false);
events.ScheduleEvent(EVENT_MAGUS_ICE_NOVA, 15000);
events.ScheduleEvent(EVENT_MAGUS_ICE_NOVA, 15s);
break;
case EVENT_MAGUS_GRAVITY_WELL:
me->CastSpell(me, SPELL_GRAVITY_WELL, false);
events.ScheduleEvent(EVENT_MAGUS_GRAVITY_WELL, 15000);
events.ScheduleEvent(EVENT_MAGUS_GRAVITY_WELL, 15s);
break;
case EVENT_MAGUS_FAIL_ACHIEVEMENT:
achievement = false;

View File

@@ -88,12 +88,12 @@ public:
Talk(SAY_AGGRO);
BossAI::JustEngagedWith(who);
events.ScheduleEvent(EVENT_ORMOROK_CRYSTAL_SPIKES, 12000);
events.ScheduleEvent(EVENT_ORMOROK_TRAMPLE, 10000);
events.ScheduleEvent(EVENT_ORMOROK_SPELL_REFLECTION, 30000);
events.ScheduleEvent(EVENT_ORMOROK_HEALTH, 1000);
events.ScheduleEvent(EVENT_ORMOROK_CRYSTAL_SPIKES, 12s);
events.ScheduleEvent(EVENT_ORMOROK_TRAMPLE, 10s);
events.ScheduleEvent(EVENT_ORMOROK_SPELL_REFLECTION, 30s);
events.ScheduleEvent(EVENT_ORMOROK_HEALTH, 1s);
if (IsHeroic())
events.ScheduleEvent(EVENT_ORMOROK_SUMMON, 17000);
events.ScheduleEvent(EVENT_ORMOROK_SUMMON, 17s);
}
void JustDied(Unit* killer) override
@@ -107,7 +107,7 @@ public:
if (events.GetNextEventTime(EVENT_KILL_TALK) == 0)
{
Talk(SAY_KILL);
events.ScheduleEvent(EVENT_KILL_TALK, 6000);
events.ScheduleEvent(EVENT_KILL_TALK, 6s);
}
}
@@ -134,28 +134,28 @@ public:
Talk(EMOTE_FRENZY);
break;
}
events.ScheduleEvent(EVENT_ORMOROK_HEALTH, 1000);
events.ScheduleEvent(EVENT_ORMOROK_HEALTH, 1s);
break;
case EVENT_ORMOROK_TRAMPLE:
me->CastSpell(me, SPELL_TRAMPLE, false);
events.ScheduleEvent(EVENT_ORMOROK_TRAMPLE, 10000);
events.ScheduleEvent(EVENT_ORMOROK_TRAMPLE, 10s);
break;
case EVENT_ORMOROK_SPELL_REFLECTION:
Talk(SAY_REFLECT);
me->CastSpell(me, SPELL_SPELL_REFLECTION, false);
events.ScheduleEvent(EVENT_ORMOROK_SPELL_REFLECTION, 30000);
events.ScheduleEvent(EVENT_ORMOROK_SPELL_REFLECTION, 30s);
break;
case EVENT_ORMOROK_SUMMON:
if (Unit* target = SelectTarget(SelectTargetMethod::MinDistance, 0, 50.0f, true))
me->CastSpell(target, SPELL_SUMMON_CRYSTALLINE_TANGLER, true);
events.ScheduleEvent(EVENT_ORMOROK_SUMMON, 17000);
events.ScheduleEvent(EVENT_ORMOROK_SUMMON, 17s);
break;
case EVENT_ORMOROK_CRYSTAL_SPIKES:
Talk(SAY_CRYSTAL_SPIKES);
me->CastSpell(me, SPELL_CRYSTAL_SPIKES, false);
_spikesCount = 0;
events.ScheduleEvent(EVENT_ORMOROK_SUMMON_SPIKES, 300);
events.ScheduleEvent(EVENT_ORMOROK_CRYSTAL_SPIKES, 20000);
events.ScheduleEvent(EVENT_ORMOROK_SUMMON_SPIKES, 300ms);
events.ScheduleEvent(EVENT_ORMOROK_CRYSTAL_SPIKES, 20s);
break;
case EVENT_ORMOROK_SUMMON_SPIKES:
if (++_spikesCount > 9)
@@ -170,7 +170,7 @@ public:
if (h != INVALID_HEIGHT)
me->SummonCreature(NPC_CRYSTAL_SPIKE, x, y, h, 0, TEMPSUMMON_TIMED_DESPAWN, 7000);
}
events.ScheduleEvent(EVENT_ORMOROK_SUMMON_SPIKES, 200);
events.ScheduleEvent(EVENT_ORMOROK_SUMMON_SPIKES, 200ms);
break;
}

View File

@@ -92,9 +92,9 @@ public:
me->SetInCombatWithZone();
events.RescheduleEvent(EVENT_MAGIC_PULL, urand(10000, 15000));
events.RescheduleEvent(EVENT_THUNDERING_STOMP, urand(3000, 6000));
events.RescheduleEvent(EVENT_SUMMON, 2000);
events.RescheduleEvent(EVENT_MAGIC_PULL, 10s, 15s);
events.RescheduleEvent(EVENT_THUNDERING_STOMP, 3s, 6s);
events.RescheduleEvent(EVENT_SUMMON, 2s);
}
void JustDied(Unit* /*killer*/) override
@@ -145,8 +145,8 @@ public:
//me->TextEmote(TEXT_MAGIC_PULL, nullptr, true);
me->CastSpell(me, SPELL_MAGIC_PULL, false);
events.RepeatEvent(urand(15000, 25000));
events.ScheduleEvent(EVENT_SUMMON_x4, 1500);
events.Repeat(15s, 25s);
events.ScheduleEvent(EVENT_SUMMON_x4, 1500ms);
}
break;
case EVENT_THUNDERING_STOMP:
@@ -154,7 +154,7 @@ public:
Talk(SAY_STOMP);
me->CastSpell(me, SPELL_THUNDERING_STOMP, false);
events.RepeatEvent(urand(10000, 20000));
events.Repeat(10s, 20s);
}
break;
case EVENT_SUMMON:
@@ -164,7 +164,7 @@ public:
float angle = rand_norm() * 2 * M_PI;
me->SummonCreature(NPC_UNSTABLE_SPHERE, me->GetPositionX() + 5.0f * cos(angle), me->GetPositionY() + 5.0f * std::sin(angle), me->GetPositionZ(), 0.0f, TEMPSUMMON_TIMED_DESPAWN, 18000);
}
events.RepeatEvent(2000);
events.Repeat(2s);
}
break;
case EVENT_SUMMON_x4:

View File

@@ -129,10 +129,10 @@ public:
shiftNumber = 0;
events.RescheduleEvent(EVENT_SPELL_ARCANE_BARRAGE, 0);
events.RescheduleEvent(EVENT_SPELL_ARCANE_VOLLEY, 5000);
events.RescheduleEvent(EVENT_SPELL_ENRAGED_ASSAULT, 35000);
events.RescheduleEvent(EVENT_SUMMON_WHELPS, 40000);
events.RescheduleEvent(EVENT_SPELL_ARCANE_BARRAGE, 0ms);
events.RescheduleEvent(EVENT_SPELL_ARCANE_VOLLEY, 5s);
events.RescheduleEvent(EVENT_SPELL_ENRAGED_ASSAULT, 35s);
events.RescheduleEvent(EVENT_SUMMON_WHELPS, 40s);
}
void JustDied(Unit* /*killer*/) override
@@ -153,7 +153,7 @@ public:
if( shiftNumber <= uint32(1) && uint32(me->GetHealth() * 100 / me->GetMaxHealth()) <= uint32(60 - shiftNumber * 40) )
{
++shiftNumber;
events.RescheduleEvent(EVENT_SPELL_PLANAR_SHIFT, 0);
events.RescheduleEvent(EVENT_SPELL_PLANAR_SHIFT, 0ms);
}
}
@@ -194,21 +194,21 @@ public:
case EVENT_SPELL_ARCANE_BARRAGE:
if( Unit* v = me->GetVictim() )
me->CastSpell(v, SPELL_ARCANE_BARRAGE, false);
events.RepeatEvent(2500);
events.Repeat(2500ms);
break;
case EVENT_SPELL_ARCANE_VOLLEY:
me->CastSpell(me, SPELL_ARCANE_VOLLEY, false);
events.RepeatEvent(8000);
events.Repeat(8s);
break;
case EVENT_SPELL_ENRAGED_ASSAULT:
Talk(SAY_ENRAGE);
me->CastSpell(me, SPELL_ENRAGED_ASSAULT, false);
events.RepeatEvent(35000);
events.Repeat(35s);
break;
case EVENT_SUMMON_WHELPS:
for( uint8 i = 0; i < 5; ++i )
events.ScheduleEvent(EVENT_SUMMON_SINGLE_WHELP, urand(0, 8000));
events.RepeatEvent(40000);
events.Repeat(40s);
break;
case EVENT_SUMMON_SINGLE_WHELP:
{

View File

@@ -159,9 +159,9 @@ public:
if( me->FindCurrentSpellBySpellId(SPELL_EVOCATION) )
me->InterruptNonMeleeSpells(false);
events.RescheduleEvent(EVENT_FROSTBOMB, urand(7000, 11000));
events.RescheduleEvent(EVENT_TELEPORT_TO_CENTER, urand(30000, 35000));
events.RescheduleEvent(EVENT_TIME_BOMB, urand(20000, 25000));
events.RescheduleEvent(EVENT_FROSTBOMB, 7s, 11s);
events.RescheduleEvent(EVENT_TELEPORT_TO_CENTER, 30s, 35s);
events.RescheduleEvent(EVENT_TIME_BOMB, 20s, 25s);
}
else
{
@@ -332,20 +332,20 @@ public:
case EVENT_FROSTBOMB:
if( Unit* v = me->GetVictim() )
me->CastSpell(v, SPELL_FROSTBOMB, false);
events.RepeatEvent(urand(7000, 11000));
events.Repeat(7s, 11s);
break;
case EVENT_TIME_BOMB:
if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 100.0f, true) )
DoCast(target, DUNGEON_MODE(SPELL_TIME_BOMB_N, SPELL_TIME_BOMB_H));
events.RepeatEvent(urand(20000, 25000));
events.Repeat(20s, 25s);
break;
case EVENT_TELEPORT_TO_CENTER:
x = me->GetPositionX();
y = me->GetPositionY();
z = me->GetPositionZ();
me->CastSpell(me, SPELL_TELEPORT, false);
events.RepeatEvent(urand(25000, 30000));
events.DelayEvents(10000);
events.Repeat(25s, 30s);
events.DelayEvents(10s);
break;
case EVENT_TELE_BACK:
me->GetMotionMaster()->MoveIdle();

View File

@@ -129,9 +129,9 @@ public:
me->SetInCombatWithZone();
events.RescheduleEvent(EVENT_AMPLIFY_MAGIC, urand(5000, 10000));
events.RescheduleEvent(EVENT_CALL_AZURE_RING_CAPTAIN_1, 5000);
events.RescheduleEvent(EVENT_ENERGIZE_CORES_THIN, 0);
events.RescheduleEvent(EVENT_AMPLIFY_MAGIC, 5s, 10s);
events.RescheduleEvent(EVENT_CALL_AZURE_RING_CAPTAIN_1, 5s);
events.RescheduleEvent(EVENT_ENERGIZE_CORES_THIN, 0ms);
}
void JustDied(Unit* /*killer*/) override
@@ -175,7 +175,7 @@ public:
{
if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 50.0f, true) )
me->CastSpell(target, SPELL_AMPLIFY_MAGIC, false);
events.RepeatEvent(urand(17500, 22500));
events.Repeat(17s + 500ms, 22s + 500ms);
}
break;
case EVENT_CALL_AZURE_RING_CAPTAIN_1:
@@ -189,19 +189,19 @@ public:
{
case EVENT_CALL_AZURE_RING_CAPTAIN_1:
me->CastSpell(me, SPELL_CALL_AZURE_RING_CAPTAIN_1, true);
events.ScheduleEvent(EVENT_CALL_AZURE_RING_CAPTAIN_2, 16000);
events.ScheduleEvent(EVENT_CALL_AZURE_RING_CAPTAIN_2, 16s);
break;
case EVENT_CALL_AZURE_RING_CAPTAIN_2:
me->CastSpell(me, SPELL_CALL_AZURE_RING_CAPTAIN_2, true);
events.ScheduleEvent(EVENT_CALL_AZURE_RING_CAPTAIN_3, 16000);
events.ScheduleEvent(EVENT_CALL_AZURE_RING_CAPTAIN_3, 16s);
break;
case EVENT_CALL_AZURE_RING_CAPTAIN_3:
me->CastSpell(me, SPELL_CALL_AZURE_RING_CAPTAIN_3, true);
events.ScheduleEvent(EVENT_CALL_AZURE_RING_CAPTAIN_4, 16000);
events.ScheduleEvent(EVENT_CALL_AZURE_RING_CAPTAIN_4, 16s);
break;
case EVENT_CALL_AZURE_RING_CAPTAIN_4:
me->CastSpell(me, SPELL_CALL_AZURE_RING_CAPTAIN_4, true);
events.ScheduleEvent(EVENT_CALL_AZURE_RING_CAPTAIN_1, 16000);
events.ScheduleEvent(EVENT_CALL_AZURE_RING_CAPTAIN_1, 16s);
break;
}
if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 100.0f, true) )
@@ -222,7 +222,7 @@ public:
me->DisableRotate(false);
me->SetOrientation(ZapAngle);
me->CastSpell(me, SPELL_ENERGIZE_CORES_THIN, true);
events.ScheduleEvent(EVENT_ENERGIZE_CORES_DAMAGE, 4500);
events.ScheduleEvent(EVENT_ENERGIZE_CORES_DAMAGE, 4500ms);
}
break;
case EVENT_ENERGIZE_CORES_DAMAGE:
@@ -236,7 +236,7 @@ public:
ZapAngle += M_PI / 2;
if( ZapAngle >= 2 * M_PI )
ZapAngle -= 2 * M_PI;
events.ScheduleEvent(EVENT_ENERGIZE_CORES_THIN, 2000);
events.ScheduleEvent(EVENT_ENERGIZE_CORES_THIN, 2s);
}
break;
}