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
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
140 changed files with 3306 additions and 3371 deletions

View file

@ -1337,7 +1337,7 @@ public:
void Update(uint32 time) override;
void setAttackTimer(WeaponAttackType type, int32 time) { m_attackTimer[type] = time; }
void setAttackTimer(WeaponAttackType type, int32 time) { m_attackTimer[type] = time; } /// @todo - Look to convert to std::chrono
void resetAttackTimer(WeaponAttackType type = BASE_ATTACK);
[[nodiscard]] int32 getAttackTimer(WeaponAttackType type) const { return m_attackTimer[type]; }
[[nodiscard]] bool isAttackReady(WeaponAttackType type = BASE_ATTACK) const { return m_attackTimer[type] <= 0; }

View file

@ -131,7 +131,7 @@ public:
int32 CalcMaxDuration() const { return CalcMaxDuration(GetCaster()); }
int32 CalcMaxDuration(Unit* caster) const;
int32 GetDuration() const { return m_duration; }
void SetDuration(int32 duration, bool withMods = false);
void SetDuration(int32 duration, bool withMods = false); /// @todo - Look to convert to std::chrono
void RefreshDuration(bool withMods = false);
void RefreshTimers(bool periodicReset = false);
void RefreshTimersWithMods();

View file

@ -110,7 +110,7 @@ class boss_anub_arak : public CreatureScript
if (events.GetNextEventTime(EVENT_KILL_TALK) == 0)
{
Talk(SAY_SLAY);
events.ScheduleEvent(EVENT_KILL_TALK, 6000);
events.ScheduleEvent(EVENT_KILL_TALK, 6s);
}
}
@ -133,13 +133,13 @@ class boss_anub_arak : public CreatureScript
Talk(SAY_AGGRO);
instance->DoStartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_TIMED_START_EVENT);
events.ScheduleEvent(EVENT_CARRION_BEETELS, 6500);
events.ScheduleEvent(EVENT_LEECHING_SWARM, 20000);
events.ScheduleEvent(EVENT_POUND, 15000);
events.ScheduleEvent(EVENT_CHECK_HEALTH_75, 1000);
events.ScheduleEvent(EVENT_CHECK_HEALTH_50, 1000);
events.ScheduleEvent(EVENT_CHECK_HEALTH_25, 1000);
events.ScheduleEvent(EVENT_CLOSE_DOORS, 5000);
events.ScheduleEvent(EVENT_CARRION_BEETELS, 6500ms);
events.ScheduleEvent(EVENT_LEECHING_SWARM, 20s);
events.ScheduleEvent(EVENT_POUND, 15s);
events.ScheduleEvent(EVENT_CHECK_HEALTH_75, 1s);
events.ScheduleEvent(EVENT_CHECK_HEALTH_50, 1s);
events.ScheduleEvent(EVENT_CHECK_HEALTH_25, 1s);
events.ScheduleEvent(EVENT_CLOSE_DOORS, 5s);
}
void SummonHelpers(float x, float y, float z, uint32 spellId)
@ -164,12 +164,12 @@ class boss_anub_arak : public CreatureScript
break;
case EVENT_CARRION_BEETELS:
me->CastSpell(me, SPELL_CARRION_BEETLES, false);
events.ScheduleEvent(EVENT_CARRION_BEETELS, 25000);
events.ScheduleEvent(EVENT_CARRION_BEETELS, 25s);
break;
case EVENT_LEECHING_SWARM:
Talk(SAY_LOCUST);
me->CastSpell(me, SPELL_LEECHING_SWARM, false);
events.ScheduleEvent(EVENT_LEECHING_SWARM, 20000);
events.ScheduleEvent(EVENT_LEECHING_SWARM, 20s);
break;
case EVENT_POUND:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 10.0f))
@ -177,10 +177,10 @@ class boss_anub_arak : public CreatureScript
me->CastSpell(me, SPELL_SELF_ROOT, true);
me->DisableRotate(true);
me->SendMovementFlagUpdate();
events.ScheduleEvent(EVENT_ENABLE_ROTATE, 3300);
events.ScheduleEvent(EVENT_ENABLE_ROTATE, 3300ms);
me->CastSpell(target, SPELL_POUND, false);
}
events.ScheduleEvent(EVENT_POUND, 18000);
events.ScheduleEvent(EVENT_POUND, 18s);
break;
case EVENT_ENABLE_ROTATE:
me->RemoveAurasDueToSpell(SPELL_SELF_ROOT);
@ -197,16 +197,16 @@ class boss_anub_arak : public CreatureScript
me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE|UNIT_FLAG_NOT_SELECTABLE);
events.DelayEvents(46000, 0);
events.ScheduleEvent(EVENT_EMERGE, 45000);
events.ScheduleEvent(EVENT_SUMMON_ASSASSINS, 2000);
events.ScheduleEvent(EVENT_SUMMON_GUARDIAN, 4000);
events.ScheduleEvent(EVENT_SUMMON_ASSASSINS, 15000);
events.ScheduleEvent(EVENT_SUMMON_VENOMANCER, 20000);
events.ScheduleEvent(EVENT_SUMMON_DARTER, 30000);
events.ScheduleEvent(EVENT_SUMMON_ASSASSINS, 35000);
events.ScheduleEvent(EVENT_EMERGE, 45s);
events.ScheduleEvent(EVENT_SUMMON_ASSASSINS, 2s);
events.ScheduleEvent(EVENT_SUMMON_GUARDIAN, 4s);
events.ScheduleEvent(EVENT_SUMMON_ASSASSINS, 15s);
events.ScheduleEvent(EVENT_SUMMON_VENOMANCER, 20s);
events.ScheduleEvent(EVENT_SUMMON_DARTER, 30s);
events.ScheduleEvent(EVENT_SUMMON_ASSASSINS, 35s);
break;
}
events.ScheduleEvent(eventId, 500);
events.ScheduleEvent(eventId, 500ms);
break;
case EVENT_EMERGE:
me->CastSpell(me, SPELL_EMERGE, true);

View file

@ -97,10 +97,10 @@ public:
{
instance->SetBossState(DATA_HADRONOX_EVENT, IN_PROGRESS);
me->setActive(true);
events.ScheduleEvent(EVENT_HADRONOX_MOVE1, 20000);
events.ScheduleEvent(EVENT_HADRONOX_MOVE2, 40000);
events.ScheduleEvent(EVENT_HADRONOX_MOVE3, 60000);
events.ScheduleEvent(EVENT_HADRONOX_MOVE4, 80000);
events.ScheduleEvent(EVENT_HADRONOX_MOVE1, 20s);
events.ScheduleEvent(EVENT_HADRONOX_MOVE2, 40s);
events.ScheduleEvent(EVENT_HADRONOX_MOVE3, 60s);
events.ScheduleEvent(EVENT_HADRONOX_MOVE4, 80s);
}
}
@ -139,10 +139,10 @@ public:
void JustEngagedWith(Unit*) override
{
events.RescheduleEvent(EVENT_HADRONOX_ACID, 10000);
events.RescheduleEvent(EVENT_HADRONOX_LEECH, 4000);
events.RescheduleEvent(EVENT_HADRONOX_PIERCE, 1000);
events.RescheduleEvent(EVENT_HADRONOX_GRAB, 15000);
events.RescheduleEvent(EVENT_HADRONOX_ACID, 10s);
events.RescheduleEvent(EVENT_HADRONOX_LEECH, 4s);
events.RescheduleEvent(EVENT_HADRONOX_PIERCE, 1s);
events.RescheduleEvent(EVENT_HADRONOX_GRAB, 15s);
}
bool AnyPlayerValid() const
@ -183,20 +183,20 @@ public:
{
case EVENT_HADRONOX_PIERCE:
me->CastSpell(me->GetVictim(), SPELL_PIERCE_ARMOR, false);
events.ScheduleEvent(EVENT_HADRONOX_PIERCE, 8000);
events.ScheduleEvent(EVENT_HADRONOX_PIERCE, 8s);
break;
case EVENT_HADRONOX_ACID:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 100, false))
me->CastSpell(target, SPELL_ACID_CLOUD, false);
events.ScheduleEvent(EVENT_HADRONOX_ACID, 25000);
events.ScheduleEvent(EVENT_HADRONOX_ACID, 25s);
break;
case EVENT_HADRONOX_LEECH:
me->CastSpell(me, SPELL_LEECH_POISON, false);
events.ScheduleEvent(EVENT_HADRONOX_LEECH, 12000);
events.ScheduleEvent(EVENT_HADRONOX_LEECH, 12s);
break;
case EVENT_HADRONOX_GRAB:
me->CastSpell(me, SPELL_WEB_GRAB, false);
events.ScheduleEvent(EVENT_HADRONOX_GRAB, 25000);
events.ScheduleEvent(EVENT_HADRONOX_GRAB, 25s);
break;
case EVENT_HADRONOX_MOVE4:
me->CastSpell(me, SPELL_WEB_FRONT_DOORS, true);
@ -281,8 +281,8 @@ public:
Talk(SAY_CRUSHER_AGGRO);
}
events.ScheduleEvent(EVENT_CRUSHER_SMASH, 8000, 0, 0);
events.ScheduleEvent(EVENT_CHECK_HEALTH, 1000);
events.ScheduleEvent(EVENT_CRUSHER_SMASH, 8s, 0, 0);
events.ScheduleEvent(EVENT_CHECK_HEALTH, 1s);
}
void UpdateAI(uint32 diff) override
@ -298,7 +298,7 @@ public:
{
case EVENT_CRUSHER_SMASH:
me->CastSpell(me->GetVictim(), SPELL_SMASH, false);
events.ScheduleEvent(EVENT_CRUSHER_SMASH, 15000);
events.ScheduleEvent(EVENT_CRUSHER_SMASH, 15s);
break;
case EVENT_CHECK_HEALTH:
if (me->HealthBelowPct(30))
@ -307,7 +307,7 @@ public:
me->CastSpell(me, SPELL_FRENZY, false);
break;
}
events.ScheduleEvent(EVENT_CHECK_HEALTH, 1000);
events.ScheduleEvent(EVENT_CHECK_HEALTH, 1s);
break;
}

View file

@ -105,17 +105,17 @@ public:
if (events.Empty() && who->GetPositionZ() < 785.0f)
{
events2.ScheduleEvent(EVENT_KRIK_START_WAVE, 10000);
events2.ScheduleEvent(EVENT_KRIK_START_WAVE, 40000);
events2.ScheduleEvent(EVENT_KRIK_START_WAVE, 70000);
events2.ScheduleEvent(EVENT_KRIK_ENTER_COMBAT, 100000);
events2.ScheduleEvent(EVENT_KRIK_CHECK_EVADE, 5000);
events2.ScheduleEvent(EVENT_KRIK_START_WAVE, 10s);
events2.ScheduleEvent(EVENT_KRIK_START_WAVE, 40s);
events2.ScheduleEvent(EVENT_KRIK_START_WAVE, 70s);
events2.ScheduleEvent(EVENT_KRIK_ENTER_COMBAT, 100s);
events2.ScheduleEvent(EVENT_KRIK_CHECK_EVADE, 5s);
events.ScheduleEvent(EVENT_KRIK_HEALTH_CHECK, 1000);
events.ScheduleEvent(EVENT_KRIK_MIND_FLAY, 13000);
events.ScheduleEvent(EVENT_KRIK_SUMMON, 17000);
events.ScheduleEvent(EVENT_KRIK_CURSE, 8000);
events.ScheduleEvent(EVENT_CALL_ADDS, 1000);
events.ScheduleEvent(EVENT_KRIK_HEALTH_CHECK, 1s);
events.ScheduleEvent(EVENT_KRIK_MIND_FLAY, 13s);
events.ScheduleEvent(EVENT_KRIK_SUMMON, 17s);
events.ScheduleEvent(EVENT_KRIK_CURSE, 8s);
events.ScheduleEvent(EVENT_CALL_ADDS, 1s);
me->setActive(true);
}
}
@ -145,7 +145,7 @@ public:
if (events.GetNextEventTime(EVENT_KILL_TALK) == 0)
{
Talk(SAY_SLAY);
events.ScheduleEvent(EVENT_KILL_TALK, 6000);
events.ScheduleEvent(EVENT_KILL_TALK, 6s);
}
}
@ -178,7 +178,7 @@ public:
EnterEvadeMode();
return;
}
events2.ScheduleEvent(EVENT_KRIK_CHECK_EVADE, 5000);
events2.ScheduleEvent(EVENT_KRIK_CHECK_EVADE, 5s);
break;
}
@ -197,21 +197,21 @@ public:
me->CastSpell(me, SPELL_FRENZY, true);
break;
}
events.ScheduleEvent(EVENT_KRIK_HEALTH_CHECK, 1000);
events.ScheduleEvent(EVENT_KRIK_HEALTH_CHECK, 1s);
break;
case EVENT_KRIK_SUMMON:
Talk(SAY_SWARM);
me->CastSpell(me, SPELL_SWARM, false);
events.ScheduleEvent(EVENT_KRIK_SUMMON, 20000);
events.ScheduleEvent(EVENT_KRIK_SUMMON, 20s);
break;
case EVENT_KRIK_MIND_FLAY:
me->CastSpell(me->GetVictim(), SPELL_MIND_FLAY, false);
events.ScheduleEvent(EVENT_KRIK_MIND_FLAY, 15000);
events.ScheduleEvent(EVENT_KRIK_MIND_FLAY, 15s);
break;
case EVENT_KRIK_CURSE:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 100, true))
me->CastSpell(target, SPELL_CURSE_OF_FATIGUE, true);
events.ScheduleEvent(EVENT_KRIK_CURSE, 10000);
events.ScheduleEvent(EVENT_KRIK_CURSE, 10s);
break;
case EVENT_CALL_ADDS:
summons.DoZoneInCombat();

View file

@ -116,11 +116,11 @@ struct boss_amanitar : public BossAI
void JustEngagedWith(Unit* /*attacker*/) override
{
events.ScheduleEvent(EVENT_ROOTS, urand(5000, 9000));
events.ScheduleEvent(EVENT_BASH, urand(10000, 14000));
events.ScheduleEvent(EVENT_BOLT, urand(15000, 20000));
events.ScheduleEvent(EVENT_MINI, 1000);
events.ScheduleEvent(EVENT_RESPAWN, 40000, 60000);
events.ScheduleEvent(EVENT_ROOTS, 5s, 9s);
events.ScheduleEvent(EVENT_BASH, 10s, 14s);
events.ScheduleEvent(EVENT_BOLT, 15s, 20s);
events.ScheduleEvent(EVENT_MINI, 1s);
events.ScheduleEvent(EVENT_RESPAWN, 40s, 60s);
}
void JustDied(Unit* /*killer*/) override
@ -158,7 +158,7 @@ struct boss_amanitar : public BossAI
_mushroomsDeque.pop_front();
}
events.RepeatEvent(urand(40000, 60000));
events.Repeat(40s, 60s);
break;
}
case EVENT_ROOTS:
@ -168,13 +168,13 @@ struct boss_amanitar : public BossAI
DoCast(pTarget, SPELL_ENTANGLING_ROOTS, false);
}
events.RepeatEvent(urand(10000, 15000));
events.Repeat(10s, 15s);
break;
}
case EVENT_BASH:
{
DoCastVictim(SPELL_BASH, false);
events.RepeatEvent(urand(15000, 20000));
events.Repeat(15s, 20s);
break;
}
case EVENT_BOLT:
@ -184,13 +184,13 @@ struct boss_amanitar : public BossAI
DoCast(pTarget, SPELL_VENOM_BOLT_VOLLEY, false);
}
events.RepeatEvent(urand(15000, 20000));
events.Repeat(15s, 20s);
break;
}
case EVENT_REMOVE_MUSHROOM_POWER:
{
DoCastAOE(SPELL_REMOVE_MUSHROOM_POWER, true);
events.RescheduleEvent(EVENT_MINI, 1000);
events.RescheduleEvent(EVENT_MINI, 1s);
break;
}
case EVENT_MINI:
@ -208,7 +208,7 @@ struct boss_amanitar : public BossAI
{
DoCastSelf(SPELL_REMOVE_MUSHROOM_POWER, true);
DoCastAOE(SPELL_MINI);
events.RescheduleEvent(EVENT_REMOVE_MUSHROOM_POWER, 29000);
events.RescheduleEvent(EVENT_REMOVE_MUSHROOM_POWER, 29s);
}
else
{
@ -261,11 +261,11 @@ struct npc_amanitar_mushrooms : public ScriptedAI
DoCastSelf(SPELL_HEALTHY_MUSHROOM_VISUAL_AURA, true);
}
events.ScheduleEvent(EVENT_GROW, 800);
events.ScheduleEvent(EVENT_GROW, 800ms);
if (me->GetEntry() == NPC_POISONOUS_MUSHROOM)
{
events.ScheduleEvent(EVENT_CHECK_PLAYER, 250);
events.ScheduleEvent(EVENT_CHECK_PLAYER, 250ms);
}
}
@ -300,11 +300,11 @@ struct npc_amanitar_mushrooms : public ScriptedAI
DoCastSelf(SPELL_POISONOUS_MUSHROOM_VISUAL_AREA);
DoCastSelf(SPELL_POISONOUS_MUSHROOM_POISON_CLOUD);
DoCastSelf(SPELL_SHRINK);
events.ScheduleEvent(EVENT_KILLSELF, 4000);
events.ScheduleEvent(EVENT_KILLSELF, 4s);
}
else
{
events.RepeatEvent(250);
events.Repeat(250ms);
}
break;

View file

@ -94,13 +94,13 @@ struct boss_elder_nadox : public BossAI
_JustEngagedWith();
Talk(SAY_AGGRO);
events.ScheduleEvent(EVENT_SWARMER, 10000);
events.ScheduleEvent(EVENT_CHECK_HOME, 2000);
events.ScheduleEvent(EVENT_PLAGUE, urand(5000, 8000));
events.ScheduleEvent(EVENT_SWARMER, 10s);
events.ScheduleEvent(EVENT_CHECK_HOME, 2s);
events.ScheduleEvent(EVENT_PLAGUE, 5s, 8s);
if (IsHeroic())
{
events.ScheduleEvent(EVENT_BROOD_RAGE, 5000);
events.ScheduleEvent(EVENT_BROOD_RAGE, 5s);
}
// Cache eggs
@ -198,19 +198,19 @@ struct boss_elder_nadox : public BossAI
if (Creature* pSwarmer = me->FindNearestCreature(NPC_AHNKAHAR_SWARMER, 40, true))
DoCast(pSwarmer, SPELL_BROOD_RAGE_H, true);
events.RepeatEvent(10000);
events.Repeat(10s);
break;
}
case EVENT_PLAGUE:
{
DoCastVictim(SPELL_BROOD_PLAGUE, false);
events.RepeatEvent(urand(12000, 17000));
events.Repeat(12s, 17s);
break;
}
case EVENT_SWARMER:
{
SummonHelpers(true);
events.RepeatEvent(10000);
events.Repeat(10s);
break;
}
case EVENT_CHECK_HOME:

View file

@ -115,9 +115,9 @@ struct boss_volazj : public BossAI
void JustEngagedWith(Unit* /*who*/) override
{
_JustEngagedWith();
events.ScheduleEvent(EVENT_HERALD_MIND_FLAY, 8000);
events.ScheduleEvent(EVENT_HERALD_SHADOW, 5000);
events.ScheduleEvent(EVENT_HERALD_SHIVER, 15000);
events.ScheduleEvent(EVENT_HERALD_MIND_FLAY, 8s);
events.ScheduleEvent(EVENT_HERALD_SHADOW, 5s);
events.ScheduleEvent(EVENT_HERALD_SHIVER, 15s);
Talk(SAY_AGGRO);
DoCastSelf(SPELL_WHISPER_AGGRO);
instance->DoStartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_QUICK_DEMISE_START_EVENT);
@ -241,13 +241,13 @@ struct boss_volazj : public BossAI
case EVENT_HERALD_MIND_FLAY:
{
DoCastVictim(SPELL_MIND_FLAY, false);
events.RepeatEvent(20000);
events.Repeat(20s);
break;
}
case EVENT_HERALD_SHADOW:
{
DoCastVictim(SPELL_SHADOW_BOLT_VOLLEY, false);
events.RepeatEvent(5000);
events.Repeat(5s);
break;
}
case EVENT_HERALD_SHIVER:
@ -257,7 +257,7 @@ struct boss_volazj : public BossAI
DoCast(pTarget, SPELL_SHIVER, false);
}
events.RepeatEvent(15000);
events.Repeat(15s);
break;
}
}

View file

@ -280,7 +280,7 @@ struct boss_jedoga_shadowseeker : public BossAI
{
DoCastSelf(SPELL_GIFT_OF_THE_HERALD, true);
}
events.ScheduleEvent(EVENT_JEDOGA_MOVE_DOWN, 1000, 0, PHASE_RITUAL);
events.ScheduleEvent(EVENT_JEDOGA_MOVE_DOWN, 1s, 0, PHASE_RITUAL);
break;
}
}
@ -299,7 +299,7 @@ struct boss_jedoga_shadowseeker : public BossAI
me->SetUnitFlag(UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NON_ATTACKABLE);
events.SetPhase(PHASE_RITUAL);
events.ScheduleEvent(EVENT_JEDOGA_PREPARE_RITUAL, 1000, 0, PHASE_RITUAL);
events.ScheduleEvent(EVENT_JEDOGA_PREPARE_RITUAL, 1s, 0, PHASE_RITUAL);
ritualTriggered = true;
return;
}
@ -405,7 +405,7 @@ struct boss_jedoga_shadowseeker : public BossAI
{
me->SetFacingTo(5.66f);
DoCastSelf(SPELL_HOVER_FALL);
events.ScheduleEvent(EVENT_JEDOGA_MOVE_UP, 1000, 0, PHASE_RITUAL);
events.ScheduleEvent(EVENT_JEDOGA_MOVE_UP, 1s, 0, PHASE_RITUAL);
break;
}
case POINT_INITIAL:
@ -461,7 +461,7 @@ struct boss_jedoga_shadowseeker : public BossAI
case EVENT_JEDOGA_CYCLONE:
{
DoCastSelf(DUNGEON_MODE(SPELL_CYCLONE_STRIKE, SPELL_CYCLONE_STRIKE_H), false);
events.RepeatEvent(urand(10000, 14000));
events.Repeat(10s, 14s);
break;
}
case EVENT_JEDOGA_LIGHTNING_BOLT:
@ -470,7 +470,7 @@ struct boss_jedoga_shadowseeker : public BossAI
{
DoCast(pTarget, DUNGEON_MODE(SPELL_LIGHTNING_BOLT, SPELL_LIGHTNING_BOLT_H), false);
}
events.RepeatEvent(urand(11000, 15000));
events.Repeat(11s, 15s);
break;
}
case EVENT_JEDOGA_THUNDERSHOCK:
@ -480,7 +480,7 @@ struct boss_jedoga_shadowseeker : public BossAI
DoCast(pTarget, DUNGEON_MODE(SPELL_THUNDERSHOCK, SPELL_THUNDERSHOCK_H), false);
}
events.RepeatEvent(urand(16000, 22000));
events.Repeat(16s, 22s);
break;
}
// Ritual phase
@ -534,9 +534,9 @@ private:
void ReschedulleCombatEvents()
{
events.SetPhase(PHASE_NORMAL);
events.RescheduleEvent(EVENT_JEDOGA_CYCLONE, 3000, 0, PHASE_NORMAL);
events.RescheduleEvent(EVENT_JEDOGA_LIGHTNING_BOLT, 7000, 0, PHASE_NORMAL);
events.RescheduleEvent(EVENT_JEDOGA_THUNDERSHOCK, 12000, 0, PHASE_NORMAL);
events.RescheduleEvent(EVENT_JEDOGA_CYCLONE, 3s, 0, PHASE_NORMAL);
events.RescheduleEvent(EVENT_JEDOGA_LIGHTNING_BOLT, 7s, 0, PHASE_NORMAL);
events.RescheduleEvent(EVENT_JEDOGA_THUNDERSHOCK, 12s, 0, PHASE_NORMAL);
}
void DespawnOOCSummons()
@ -592,7 +592,7 @@ struct npc_twilight_volunteer : public ScriptedAI
Talk(SAY_CHOSEN);
me->SetStandState(UNIT_STAND_STATE_STAND);
events.ScheduleEvent(EVENT_RITUAL_BEGIN_MOVE, 1500);
events.ScheduleEvent(EVENT_RITUAL_BEGIN_MOVE, 1500ms);
}
}

View file

@ -383,7 +383,7 @@ struct boss_taldaram : public BossAI
case EVENT_PRINCE_BLOODTHIRST:
{
DoCastSelf(SPELL_BLOODTHIRST);
events.RepeatEvent(10000);
events.Repeat(10s);
break;
}
case EVENT_PRINCE_FLAME_SPHERES:
@ -396,15 +396,15 @@ struct boss_taldaram : public BossAI
if (!events.GetNextEventTime(EVENT_PRINCE_VANISH))
{
events.RescheduleEvent(EVENT_PRINCE_VANISH, 14000);
events.RescheduleEvent(EVENT_PRINCE_VANISH, 14s);
}
else
{
// Make sure that Vanish won't get triggered at same time as sphere summon
events.DelayEvents(4000);
events.DelayEvents(4s);
}
events.RepeatEvent(15000);
events.Repeat(15s);
break;
}
case EVENT_PRINCE_VANISH:
@ -439,7 +439,7 @@ struct boss_taldaram : public BossAI
events.CancelEvent(EVENT_PRINCE_FLAME_SPHERES);
events.CancelEvent(EVENT_PRINCE_BLOODTHIRST);
events.ScheduleEvent(EVENT_PRINCE_VANISH_RUN, 2499);
events.ScheduleEvent(EVENT_PRINCE_VANISH_RUN, 2499ms);
}
break;
}
@ -453,7 +453,7 @@ struct boss_taldaram : public BossAI
me->RemoveAura(SPELL_VANISH);
}
events.ScheduleEvent(EVENT_PRINCE_RESCHEDULE, 20000);
events.ScheduleEvent(EVENT_PRINCE_RESCHEDULE, 20s);
break;
}
case EVENT_PRINCE_RESCHEDULE:
@ -483,8 +483,8 @@ private:
void ScheduleCombatEvents()
{
events.Reset();
events.RescheduleEvent(EVENT_PRINCE_FLAME_SPHERES, 10000);
events.RescheduleEvent(EVENT_PRINCE_BLOODTHIRST, 10000);
events.RescheduleEvent(EVENT_PRINCE_FLAME_SPHERES, 10s);
events.RescheduleEvent(EVENT_PRINCE_BLOODTHIRST, 10s);
vanishTarget_GUID.Clear();
vanishDamage = 0;
}

View file

@ -291,15 +291,15 @@ public:
Talk(SAY_SARTHARION_AGGRO);
// Combat events
events.ScheduleEvent(EVENT_SARTHARION_CAST_CLEAVE, 7000);
events.ScheduleEvent(EVENT_SARTHARION_CAST_FLAME_BREATH, 15000);
events.ScheduleEvent(EVENT_SARTHARION_CAST_TAIL_LASH, 11000);
events.ScheduleEvent(EVENT_SARTHARION_CAST_CLEAVE, 7s);
events.ScheduleEvent(EVENT_SARTHARION_CAST_FLAME_BREATH, 15s);
events.ScheduleEvent(EVENT_SARTHARION_CAST_TAIL_LASH, 11s);
// Extra events
extraEvents.ScheduleEvent(EVENT_SARTHARION_SUMMON_LAVA, 20000);
extraEvents.ScheduleEvent(EVENT_SARTHARION_LAVA_STRIKE, 5000);
extraEvents.ScheduleEvent(EVENT_SARTHARION_BERSERK, 900000);
extraEvents.ScheduleEvent(EVENT_SARTHARION_BOUNDARY, 250);
extraEvents.ScheduleEvent(EVENT_SARTHARION_SUMMON_LAVA, 20s);
extraEvents.ScheduleEvent(EVENT_SARTHARION_LAVA_STRIKE, 5s);
extraEvents.ScheduleEvent(EVENT_SARTHARION_BERSERK, 15min);
extraEvents.ScheduleEvent(EVENT_SARTHARION_BOUNDARY, 250ms);
// Store dragons
for (uint8 i = 0; i < MAX_DRAGONS; ++i)
@ -321,19 +321,19 @@ public:
case DATA_TENEBRON:
{
dragon->CastSpell(dragon, SPELL_POWER_OF_TENEBRON, true);
extraEvents.ScheduleEvent(EVENT_SARTHARION_CALL_TENEBRON, 10000);
extraEvents.ScheduleEvent(EVENT_SARTHARION_CALL_TENEBRON, 10s);
break;
}
case DATA_SHADRON:
{
dragon->CastSpell(dragon, SPELL_POWER_OF_SHADRON, true);
extraEvents.ScheduleEvent(EVENT_SARTHARION_CALL_SHADRON, 65000);
extraEvents.ScheduleEvent(EVENT_SARTHARION_CALL_SHADRON, 65s);
break;
}
case DATA_VESPERON:
{
dragon->CastSpell(dragon, SPELL_POWER_OF_VESPERON, true);
extraEvents.ScheduleEvent(EVENT_SARTHARION_CALL_VESPERON, 115000);
extraEvents.ScheduleEvent(EVENT_SARTHARION_CALL_VESPERON, 115s);
break;
}
}
@ -469,7 +469,7 @@ public:
}
else
{
extraEvents.RepeatEvent(250);
extraEvents.Repeat(250ms);
}
break;
}
@ -481,7 +481,7 @@ public:
}
SummonLavaWaves();
extraEvents.RepeatEvent(25000);
extraEvents.Repeat(25s);
return;
}
case EVENT_SARTHARION_START_LAVA:
@ -542,19 +542,19 @@ public:
case EVENT_SARTHARION_CAST_CLEAVE:
{
DoCastVictim(SPELL_SARTHARION_CLEAVE, false);
events.RepeatEvent(10000);
events.Repeat(10s);
break;
}
case EVENT_SARTHARION_CAST_FLAME_BREATH:
{
DoCastVictim(SPELL_SARTHARION_FLAME_BREATH, false);
events.RepeatEvent(20000);
events.Repeat(20s);
break;
}
case EVENT_SARTHARION_CAST_TAIL_LASH:
{
DoCastSelf(SPELL_SARTHARION_TAIL_LASH, false);
events.RepeatEvent(18000);
events.Repeat(18s);
break;
}
case EVENT_SARTHARION_LAVA_STRIKE:
@ -617,8 +617,8 @@ public:
{
summons.RemoveNotExisting();
Talk(WHISPER_LAVA_CHURN);
extraEvents.ScheduleEvent(EVENT_SARTHARION_START_LAVA, 2000);
extraEvents.ScheduleEvent(EVENT_SARTHARION_FINISH_LAVA, 9000);
extraEvents.ScheduleEvent(EVENT_SARTHARION_START_LAVA, 2s);
extraEvents.ScheduleEvent(EVENT_SARTHARION_FINISH_LAVA, 9s);
// Send wave from left
if (lastLavaSide == LAVA_RIGHT_SIDE)
@ -743,7 +743,7 @@ struct boss_sartharion_dragonAI : public BossAI
if (param == ACTION_CALL_DRAGON && !isCalledBySartharion)
{
isCalledBySartharion = true;
extraEvents.RescheduleEvent(EVENT_MINIDRAKE_SPEECH, 4000);
extraEvents.RescheduleEvent(EVENT_MINIDRAKE_SPEECH, 4s);
}
}
@ -1037,9 +1037,9 @@ public:
summons2.DespawnAll();
}
events.ScheduleEvent(EVENT_MINIBOSS_SHADOW_FISSURE, 20000);
events.ScheduleEvent(EVENT_MINIBOSS_SHADOW_BREATH, 10000);
events.ScheduleEvent(EVENT_MINIBOSS_OPEN_PORTAL, 15000);
events.ScheduleEvent(EVENT_MINIBOSS_SHADOW_FISSURE, 20s);
events.ScheduleEvent(EVENT_MINIBOSS_SHADOW_BREATH, 10s);
events.ScheduleEvent(EVENT_MINIBOSS_OPEN_PORTAL, 15s);
}
void JustSummoned(Creature* summon) override
@ -1112,8 +1112,8 @@ public:
instance->DoAction(ACTION_ADD_PORTAL);
}
events.ScheduleEvent(EVENT_MINIBOSS_SPAWN_HELPERS, 2000);
events.RepeatEvent(60000);
events.ScheduleEvent(EVENT_MINIBOSS_SPAWN_HELPERS, 2s);
events.Repeat(60s);
break;
}
case EVENT_MINIBOSS_SPAWN_HELPERS:
@ -1135,7 +1135,7 @@ public:
}
}
events.ScheduleEvent(EVENT_MINIBOSS_HATCH_EGGS, 25000);
events.ScheduleEvent(EVENT_MINIBOSS_HATCH_EGGS, 25s);
break;
}
case EVENT_MINIBOSS_HATCH_EGGS:
@ -1215,9 +1215,9 @@ public:
void Reset() override
{
boss_sartharion_dragonAI::Reset();
events.ScheduleEvent(EVENT_MINIBOSS_SHADOW_FISSURE, 20000);
events.ScheduleEvent(EVENT_MINIBOSS_SHADOW_BREATH, 10000);
events.ScheduleEvent(EVENT_MINIBOSS_OPEN_PORTAL, 15000);
events.ScheduleEvent(EVENT_MINIBOSS_SHADOW_FISSURE, 20s);
events.ScheduleEvent(EVENT_MINIBOSS_SHADOW_BREATH, 10s);
events.ScheduleEvent(EVENT_MINIBOSS_OPEN_PORTAL, 15s);
}
void SummonedCreatureDies(Creature* /*summon*/, Unit* /*summon*/) override
@ -1241,7 +1241,7 @@ public:
me->RemoveAura(SPELL_GIFT_OF_TWILIGHT_SHADOW);
}
events.ScheduleEvent(EVENT_MINIBOSS_OPEN_PORTAL, 30000);
events.ScheduleEvent(EVENT_MINIBOSS_OPEN_PORTAL, 30s);
}
void HandleExtraEvent(uint32 const eventId) override
@ -1295,7 +1295,7 @@ public:
instance->DoAction(ACTION_ADD_PORTAL);
}
events.ScheduleEvent(EVENT_MINIBOSS_SPAWN_HELPERS, 2000);
events.ScheduleEvent(EVENT_MINIBOSS_SPAWN_HELPERS, 2s);
break;
}
case EVENT_MINIBOSS_SPAWN_HELPERS:
@ -1340,9 +1340,9 @@ public:
void Reset() override
{
boss_sartharion_dragonAI::Reset();
events.ScheduleEvent(EVENT_MINIBOSS_SHADOW_FISSURE, 20000);
events.ScheduleEvent(EVENT_MINIBOSS_SHADOW_BREATH, 10000);
events.ScheduleEvent(EVENT_MINIBOSS_OPEN_PORTAL, 30000);
events.ScheduleEvent(EVENT_MINIBOSS_SHADOW_FISSURE, 20s);
events.ScheduleEvent(EVENT_MINIBOSS_SHADOW_BREATH, 10s);
events.ScheduleEvent(EVENT_MINIBOSS_OPEN_PORTAL, 30s);
}
void SummonedCreatureDies(Creature* /*summon*/, Unit* /*killer*/) override
@ -1357,7 +1357,7 @@ public:
instance->DoAction(ACTION_CLEAR_PORTAL);
}
events.ScheduleEvent(EVENT_MINIBOSS_OPEN_PORTAL, 30000);
events.ScheduleEvent(EVENT_MINIBOSS_OPEN_PORTAL, 30s);
}
void HandleExtraEvent(uint32 const eventId) override
@ -1383,7 +1383,7 @@ public:
}
DoCastVictim(SPELL_SHADOW_BREATH, false);
events.RepeatEvent(17500);
events.Repeat(17s + 500ms);
break;
}
case EVENT_MINIBOSS_SHADOW_FISSURE:
@ -1393,7 +1393,7 @@ public:
DoCast(target, SPELL_SHADOW_FISSURE, false);
}
events.RepeatEvent(22500);
events.Repeat(22s + 500ms);
break;
}
case EVENT_MINIBOSS_OPEN_PORTAL:
@ -1412,7 +1412,7 @@ public:
instance->DoAction(ACTION_ADD_PORTAL);
}
events.ScheduleEvent(EVENT_MINIBOSS_SPAWN_HELPERS, 2000);
events.ScheduleEvent(EVENT_MINIBOSS_SPAWN_HELPERS, 2s);
break;
}
case EVENT_MINIBOSS_SPAWN_HELPERS:

View file

@ -154,7 +154,7 @@ public:
{
me->CastSpell(me, SPELL_REPELLING_WAVE, false);
me->CastSpell(me, SPELL_CLEAR_DEBUFFS, false);
events.ScheduleEvent(EVENT_SUMMON_CLONE, 1000);
events.ScheduleEvent(EVENT_SUMMON_CLONE, 1s);
}
}
@ -164,15 +164,15 @@ public:
BossAI::JustEngagedWith(who);
me->InterruptNonMeleeSpells(false);
events.ScheduleEvent(EVENT_CLEAVE, 11000);
events.ScheduleEvent(EVENT_ENERVATING_BRAND, 13000);
events.ScheduleEvent(EVENT_BLADE_TEMPEST, 15000);
events.ScheduleEvent(EVENT_CLEAVE, 11s);
events.ScheduleEvent(EVENT_ENERVATING_BRAND, 13s);
events.ScheduleEvent(EVENT_BLADE_TEMPEST, 15s);
if (!Is25ManRaid())
events.ScheduleEvent(EVENT_CHECK_HEALTH1, 1000);
events.ScheduleEvent(EVENT_CHECK_HEALTH1, 1s);
else
{
events.ScheduleEvent(EVENT_CHECK_HEALTH2, 1000);
events.ScheduleEvent(EVENT_CHECK_HEALTH3, 1000);
events.ScheduleEvent(EVENT_CHECK_HEALTH2, 1s);
events.ScheduleEvent(EVENT_CHECK_HEALTH3, 1s);
}
}
@ -190,7 +190,7 @@ public:
if (events.GetNextEventTime(EVENT_KILL_TALK) == 0)
{
Talk(SAY_KILL);
events.ScheduleEvent(EVENT_KILL_TALK, 6000);
events.ScheduleEvent(EVENT_KILL_TALK, 6s);
}
}
@ -216,17 +216,17 @@ public:
{
case EVENT_CLEAVE:
me->CastSpell(me->GetVictim(), SPELL_CLEAVE, false);
events.ScheduleEvent(EVENT_CLEAVE, 24000);
events.ScheduleEvent(EVENT_CLEAVE, 24s);
break;
case EVENT_BLADE_TEMPEST:
me->CastSpell(me, SPELL_BLADE_TEMPEST, false);
events.ScheduleEvent(EVENT_BLADE_TEMPEST, 24000);
events.ScheduleEvent(EVENT_BLADE_TEMPEST, 24s);
break;
case EVENT_ENERVATING_BRAND:
for (uint8 i = 0; i < RAID_MODE<uint8>(2, 4, 2, 4); i++)
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 45.0f, true, true, -SPELL_ENERVATING_BRAND))
me->CastSpell(target, SPELL_ENERVATING_BRAND, true);
events.ScheduleEvent(EVENT_ENERVATING_BRAND, 26000);
events.ScheduleEvent(EVENT_ENERVATING_BRAND, 26s);
break;
case EVENT_CHECK_HEALTH1:
if (me->HealthBelowPct(50))
@ -234,7 +234,7 @@ public:
DoAction(ACTION_CLONE);
break;
}
events.ScheduleEvent(EVENT_CHECK_HEALTH1, 1000);
events.ScheduleEvent(EVENT_CHECK_HEALTH1, 1s);
break;
case EVENT_CHECK_HEALTH2:
if (me->HealthBelowPct(66))
@ -242,7 +242,7 @@ public:
DoAction(ACTION_CLONE);
break;
}
events.ScheduleEvent(EVENT_CHECK_HEALTH2, 1000);
events.ScheduleEvent(EVENT_CHECK_HEALTH2, 1s);
break;
case EVENT_CHECK_HEALTH3:
if (me->HealthBelowPct(33))
@ -250,7 +250,7 @@ public:
DoAction(ACTION_CLONE);
break;
}
events.ScheduleEvent(EVENT_CHECK_HEALTH3, 1000);
events.ScheduleEvent(EVENT_CHECK_HEALTH3, 1s);
break;
case EVENT_SUMMON_CLONE:
me->CastSpell(me, SPELL_CLONE, false);
@ -285,9 +285,9 @@ public:
void JustEngagedWith(Unit* /*who*/) override
{
_events.Reset();
_events.ScheduleEvent(EVENT_CLEAVE, urand(5000, 10000));
_events.ScheduleEvent(EVENT_BLADE_TEMPEST, urand(18000, 25000));
_events.ScheduleEvent(EVENT_ENERVATING_BRAND, urand(10000, 15000));
_events.ScheduleEvent(EVENT_CLEAVE, 5s, 10s);
_events.ScheduleEvent(EVENT_BLADE_TEMPEST, 18s, 25s);
_events.ScheduleEvent(EVENT_ENERVATING_BRAND, 10s, 15s);
}
void UpdateAI(uint32 diff) override
@ -303,17 +303,17 @@ public:
{
case EVENT_CLEAVE:
me->CastSpell(me->GetVictim(), SPELL_CLEAVE, false);
_events.ScheduleEvent(EVENT_CLEAVE, 24000);
_events.ScheduleEvent(EVENT_CLEAVE, 24s);
break;
case EVENT_BLADE_TEMPEST:
me->CastSpell(me, SPELL_BLADE_TEMPEST, false);
_events.ScheduleEvent(EVENT_BLADE_TEMPEST, 24000);
_events.ScheduleEvent(EVENT_BLADE_TEMPEST, 24s);
break;
case EVENT_ENERVATING_BRAND:
for (uint8 i = 0; i < RAID_MODE<uint8>(4, 10, 4, 10); i++)
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 45.0f, true, true, -SPELL_ENERVATING_BRAND))
me->CastSpell(target, SPELL_ENERVATING_BRAND, true);
_events.ScheduleEvent(EVENT_ENERVATING_BRAND, 26000);
_events.ScheduleEvent(EVENT_ENERVATING_BRAND, 26s);
break;
}
@ -391,14 +391,14 @@ public:
me->setActive(true);
_isIntro = false;
_events.ScheduleEvent(EVENT_XERESTRASZA_EVENT_0, 6000);
_events.ScheduleEvent(EVENT_XERESTRASZA_EVENT_1, 22000);
_events.ScheduleEvent(EVENT_XERESTRASZA_EVENT_2, 31000);
_events.ScheduleEvent(EVENT_XERESTRASZA_EVENT_3, 38000);
_events.ScheduleEvent(EVENT_XERESTRASZA_EVENT_4, 48000);
_events.ScheduleEvent(EVENT_XERESTRASZA_EVENT_5, 57000);
_events.ScheduleEvent(EVENT_XERESTRASZA_EVENT_6, 67000);
_events.ScheduleEvent(EVENT_XERESTRASZA_EVENT_7, 75000);
_events.ScheduleEvent(EVENT_XERESTRASZA_EVENT_0, 6s);
_events.ScheduleEvent(EVENT_XERESTRASZA_EVENT_1, 22s);
_events.ScheduleEvent(EVENT_XERESTRASZA_EVENT_2, 31s);
_events.ScheduleEvent(EVENT_XERESTRASZA_EVENT_3, 38s);
_events.ScheduleEvent(EVENT_XERESTRASZA_EVENT_4, 48s);
_events.ScheduleEvent(EVENT_XERESTRASZA_EVENT_5, 57s);
_events.ScheduleEvent(EVENT_XERESTRASZA_EVENT_6, 67s);
_events.ScheduleEvent(EVENT_XERESTRASZA_EVENT_7, 75s);
}
else if (action == ACTION_INTRO_BALTHARUS && !_introDone && me->IsAlive())
{

View file

@ -116,11 +116,11 @@ public:
BossAI::JustEngagedWith(who);
Talk(SAY_AGGRO);
events.ScheduleEvent(EVENT_CLEAVE, 9000);
events.ScheduleEvent(EVENT_INTIDMDATING_ROAR, 14000);
events.ScheduleEvent(EVENT_SUMMON_ADDS1, 18000);
events.ScheduleEvent(EVENT_CLEAVE, 9s);
events.ScheduleEvent(EVENT_INTIDMDATING_ROAR, 14s);
events.ScheduleEvent(EVENT_SUMMON_ADDS1, 18s);
if (Is25ManRaid())
events.ScheduleEvent(EVENT_SUMMON_ADDS2, 20000);
events.ScheduleEvent(EVENT_SUMMON_ADDS2, 20s);
}
void JustSummoned(Creature* summon) 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);
}
}
@ -160,22 +160,22 @@ public:
stalker1->CastSpell(stalker1, SPELL_SUMMON_FLAMECALLER, false);
if (Creature* stalker2 = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_ZARITHRIAN_SPAWN_STALKER_2)))
stalker2->CastSpell(stalker2, SPELL_SUMMON_FLAMECALLER, false);
events.ScheduleEvent(EVENT_SUMMON_ADDS1, 40000);
events.ScheduleEvent(EVENT_SUMMON_ADDS1, 40s);
break;
case EVENT_SUMMON_ADDS2:
if (Creature* stalker1 = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_ZARITHRIAN_SPAWN_STALKER_1)))
stalker1->CastSpell(stalker1, SPELL_SUMMON_FLAMECALLER, false);
if (Creature* stalker2 = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_ZARITHRIAN_SPAWN_STALKER_2)))
stalker2->CastSpell(stalker2, SPELL_SUMMON_FLAMECALLER, false);
events.ScheduleEvent(EVENT_SUMMON_ADDS2, 40000);
events.ScheduleEvent(EVENT_SUMMON_ADDS2, 40s);
break;
case EVENT_INTIDMDATING_ROAR:
me->CastSpell(me, SPELL_INTIMIDATING_ROAR, false);
events.ScheduleEvent(EVENT_INTIDMDATING_ROAR, 30000);
events.ScheduleEvent(EVENT_INTIDMDATING_ROAR, 30s);
break;
case EVENT_CLEAVE:
me->CastSpell(me->GetVictim(), SPELL_CLEAVE_ARMOR, false);
events.ScheduleEvent(EVENT_CLEAVE, 15000);
events.ScheduleEvent(EVENT_CLEAVE, 15s);
break;
}
@ -216,8 +216,8 @@ public:
void JustEngagedWith(Unit* /*who*/) override
{
_events.Reset();
_events.ScheduleEvent(EVENT_BLAST_NOVA, urand(20000, 30000));
_events.ScheduleEvent(EVENT_LAVA_GOUT, 5000);
_events.ScheduleEvent(EVENT_BLAST_NOVA, 20s, 30s);
_events.ScheduleEvent(EVENT_LAVA_GOUT, 5s);
}
void EnterEvadeMode(EvadeReason /*why*/) override
@ -265,18 +265,18 @@ public:
{
case EVENT_BLAST_NOVA:
DoCastAOE(SPELL_BLAST_NOVA);
_events.ScheduleEvent(EVENT_BLAST_NOVA, urand(20000, 30000));
_events.ScheduleEvent(EVENT_BLAST_NOVA, 20s, 30s);
break;
case EVENT_LAVA_GOUT:
if (_lavaGoutCount >= 3)
{
_lavaGoutCount = 0;
_events.ScheduleEvent(EVENT_LAVA_GOUT, 8000);
_events.ScheduleEvent(EVENT_LAVA_GOUT, 8s);
break;
}
DoCastVictim(SPELL_LAVA_GOUT);
_lavaGoutCount++;
_events.ScheduleEvent(EVENT_LAVA_GOUT, 1500);
_events.ScheduleEvent(EVENT_LAVA_GOUT, 1500ms);
break;
}

View file

@ -225,7 +225,7 @@ public:
me->SetVisible(false);
me->SetReactState(REACT_PASSIVE);
_events2.Reset();
_events2.RescheduleEvent(EVENT_HALION_VISIBILITY, 30000);
_events2.RescheduleEvent(EVENT_HALION_VISIBILITY, 30s);
}
void JustSummoned(Creature* summon) override
@ -300,14 +300,14 @@ public:
Talk(SAY_AGGRO);
instance->SendEncounterUnit(ENCOUNTER_FRAME_ENGAGE, me, 1);
events.ScheduleEvent(EVENT_CLEAVE, urand(8000, 10000));
events.ScheduleEvent(EVENT_TAIL_LASH, 10000);
events.ScheduleEvent(EVENT_BREATH, urand(10000, 15000));
events.ScheduleEvent(EVENT_ACTIVATE_FIREWALL, 5000);
events.ScheduleEvent(EVENT_METEOR_STRIKE, urand(20000, 25000));
events.ScheduleEvent(EVENT_FIERY_COMBUSTION, urand(15000, 18000));
events.ScheduleEvent(EVENT_CHECK_HEALTH, 1000);
_events2.ScheduleEvent(EVENT_TRIGGER_BERSERK, 8 * MINUTE * IN_MILLISECONDS);
events.ScheduleEvent(EVENT_CLEAVE, 8s, 10s);
events.ScheduleEvent(EVENT_TAIL_LASH, 10s);
events.ScheduleEvent(EVENT_BREATH, 10s, 15s);
events.ScheduleEvent(EVENT_ACTIVATE_FIREWALL, 5s);
events.ScheduleEvent(EVENT_METEOR_STRIKE, 20s, 25s);
events.ScheduleEvent(EVENT_FIERY_COMBUSTION, 15s, 18s);
events.ScheduleEvent(EVENT_CHECK_HEALTH, 1s);
_events2.ScheduleEvent(EVENT_TRIGGER_BERSERK, 8min);
}
void KilledUnit(Unit* victim) override
@ -315,7 +315,7 @@ public:
if (victim->GetTypeId() == TYPEID_PLAYER && events.GetNextEventTime(EVENT_KILL_TALK) == 0)
{
Talk(SAY_KILL);
events.ScheduleEvent(EVENT_KILL_TALK, 6000);
events.ScheduleEvent(EVENT_KILL_TALK, 6s);
}
}
@ -378,15 +378,15 @@ public:
{
case EVENT_CLEAVE:
me->CastSpell(me->GetVictim(), SPELL_CLEAVE, false);
events.ScheduleEvent(EVENT_CLEAVE, urand(8000, 10000));
events.ScheduleEvent(EVENT_CLEAVE, 8s, 10s);
break;
case EVENT_TAIL_LASH:
me->CastSpell(me, SPELL_TAIL_LASH, false);
events.ScheduleEvent(EVENT_TAIL_LASH, 10000);
events.ScheduleEvent(EVENT_TAIL_LASH, 10s);
break;
case EVENT_BREATH:
me->CastSpell(me->GetVictim(), SPELL_FLAME_BREATH, false);
events.ScheduleEvent(EVENT_BREATH, urand(10000, 12000));
events.ScheduleEvent(EVENT_BREATH, 10s, 12s);
break;
case EVENT_ACTIVATE_FIREWALL:
instance->HandleGameObject(instance->GetGuidData(GO_FLAME_RING), false, nullptr);
@ -396,22 +396,22 @@ public:
_livingEmberCount = summons.GetEntryCount(NPC_LIVING_EMBER);
me->CastCustomSpell(SPELL_METEOR_STRIKE_TARGETING, SPELLVALUE_MAX_TARGETS, 1, me, false);
Talk(SAY_METEOR_STRIKE);
events.ScheduleEvent(EVENT_METEOR_STRIKE, 40000);
events.ScheduleEvent(EVENT_METEOR_STRIKE, 40s);
break;
case EVENT_FIERY_COMBUSTION:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 1, 100.0f, true, true, -SPELL_TWILIGHT_REALM))
me->CastSpell(target, SPELL_FIERY_COMBUSTION, false);
events.ScheduleEvent(EVENT_FIERY_COMBUSTION, 25000);
events.ScheduleEvent(EVENT_FIERY_COMBUSTION, 25s);
break;
case EVENT_CHECK_HEALTH:
if (me->HealthBelowPct(75))
{
Talk(SAY_PHASE_TWO);
me->CastSpell(me, SPELL_TWILIGHT_PHASING, false);
events.DelayEvents(10000);
events.DelayEvents(10s);
return;
}
events.ScheduleEvent(EVENT_CHECK_HEALTH, 1000);
events.ScheduleEvent(EVENT_CHECK_HEALTH, 1s);
break;
}
@ -462,13 +462,13 @@ public:
void JustEngagedWith(Unit* /*who*/) override
{
_events.Reset();
_events.ScheduleEvent(EVENT_CLEAVE, urand(8000, 10000));
_events.ScheduleEvent(EVENT_TAIL_LASH, 10000);
_events.ScheduleEvent(EVENT_BREATH, urand(10000, 15000));
_events.ScheduleEvent(EVENT_SOUL_CONSUMPTION, 20000);
_events.ScheduleEvent(EVENT_SHADOW_PULSARS, 16000);
_events.ScheduleEvent(EVENT_SEND_ENCOUNTER_UNIT, 2000);
_events.ScheduleEvent(EVENT_CHECK_HEALTH, 1000);
_events.ScheduleEvent(EVENT_CLEAVE, 8s, 10s);
_events.ScheduleEvent(EVENT_TAIL_LASH, 10s);
_events.ScheduleEvent(EVENT_BREATH, 10s, 15s);
_events.ScheduleEvent(EVENT_SOUL_CONSUMPTION, 20s);
_events.ScheduleEvent(EVENT_SHADOW_PULSARS, 16s);
_events.ScheduleEvent(EVENT_SEND_ENCOUNTER_UNIT, 2s);
_events.ScheduleEvent(EVENT_CHECK_HEALTH, 1s);
me->SetInCombatWithZone();
}
@ -482,7 +482,7 @@ public:
if (victim->GetTypeId() == TYPEID_PLAYER && _events.GetNextEventTime(EVENT_KILL_TALK) == 0)
{
Talk(SAY_KILL);
_events.ScheduleEvent(EVENT_KILL_TALK, 6000);
_events.ScheduleEvent(EVENT_KILL_TALK, 6s);
}
}
@ -531,20 +531,20 @@ public:
break;
case EVENT_CLEAVE:
me->CastSpell(me->GetVictim(), SPELL_CLEAVE, false);
_events.ScheduleEvent(EVENT_CLEAVE, urand(8000, 10000));
_events.ScheduleEvent(EVENT_CLEAVE, 8s, 10s);
break;
case EVENT_TAIL_LASH:
me->CastSpell(me, SPELL_TAIL_LASH, false);
_events.ScheduleEvent(EVENT_TAIL_LASH, 10000);
_events.ScheduleEvent(EVENT_TAIL_LASH, 10s);
break;
case EVENT_BREATH:
me->CastSpell(me->GetVictim(), SPELL_DARK_BREATH, false);
_events.ScheduleEvent(EVENT_BREATH, urand(10000, 12000));
_events.ScheduleEvent(EVENT_BREATH, 10s, 12s);
break;
case EVENT_SOUL_CONSUMPTION:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 1, 100.0f, true, true, SPELL_TWILIGHT_REALM))
me->CastSpell(target, SPELL_SOUL_CONSUMPTION, false);
_events.ScheduleEvent(EVENT_SOUL_CONSUMPTION, 20000);
_events.ScheduleEvent(EVENT_SOUL_CONSUMPTION, 20s);
break;
case EVENT_CHECK_HEALTH:
if (me->HealthBelowPct(50))
@ -554,13 +554,13 @@ public:
Talk(SAY_PHASE_THREE);
return;
}
_events.ScheduleEvent(EVENT_CHECK_HEALTH, 1000);
_events.ScheduleEvent(EVENT_CHECK_HEALTH, 1s);
break;
case EVENT_SHADOW_PULSARS:
Talk(SAY_SPHERE_PULSE);
Talk(EMOTE_WARN_LASER);
_events.ScheduleEvent(EVENT_SHADOW_PULSARS, 29000);
_events.ScheduleEvent(EVENT_SHADOW_PULSARS_SHOOT, 5000);
_events.ScheduleEvent(EVENT_SHADOW_PULSARS, 29s);
_events.ScheduleEvent(EVENT_SHADOW_PULSARS_SHOOT, 5s);
break;
case EVENT_SHADOW_PULSARS_SHOOT:
if (Creature* orbCarrier = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(NPC_ORB_CARRIER)))
@ -612,13 +612,13 @@ public:
void DoAction(int32 action) override
{
if (action == ACTION_INTRO_HALION)
_events.ScheduleEvent(EVENT_START_INTRO, 2000);
_events.ScheduleEvent(EVENT_START_INTRO, 2s);
else if (action == ACTION_CHECK_CORPOREALITY)
{
_materialDamage = 1;
_twilightDamage = 1;
_corporeality = 5;
_events.ScheduleEvent(EVENT_CHECK_CORPOREALITY, 7000);
_events.ScheduleEvent(EVENT_CHECK_CORPOREALITY, 7s);
}
else if (action == ACTION_RESET_ENCOUNTER)
{
@ -637,23 +637,23 @@ public:
// Intro
case EVENT_START_INTRO:
me->CastSpell(me, SPELL_COSMETIC_FIRE_PILLAR, false);
_events.ScheduleEvent(EVENT_INTRO_PROGRESS_1, 5000);
_events.ScheduleEvent(EVENT_INTRO_PROGRESS_1, 5s);
break;
case EVENT_INTRO_PROGRESS_1:
_instance->SetBossState(DATA_HALION_INTRO1, NOT_STARTED);
_instance->SetBossState(DATA_HALION_INTRO1, DONE);
_events.ScheduleEvent(EVENT_INTRO_PROGRESS_2, 5000);
_events.ScheduleEvent(EVENT_INTRO_PROGRESS_2, 5s);
break;
case EVENT_INTRO_PROGRESS_2:
_instance->SetBossState(DATA_HALION_INTRO2, NOT_STARTED);
_instance->SetBossState(DATA_HALION_INTRO2, DONE);
_events.ScheduleEvent(EVENT_INTRO_PROGRESS_3, 4000);
_events.ScheduleEvent(EVENT_INTRO_PROGRESS_3, 4s);
break;
case EVENT_INTRO_PROGRESS_3:
_instance->SetBossState(DATA_HALION_INTRO_DONE, NOT_STARTED);
_instance->SetBossState(DATA_HALION_INTRO_DONE, DONE);
me->CastSpell(me, SPELL_FIERY_EXPLOSION, false);
_events.ScheduleEvent(EVENT_INTRO_PROGRESS_4, 500);
_events.ScheduleEvent(EVENT_INTRO_PROGRESS_4, 500ms);
break;
case EVENT_INTRO_PROGRESS_4:
if (Creature* halion = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(NPC_HALION)))
@ -668,7 +668,7 @@ public:
break;
case EVENT_CHECK_CORPOREALITY:
UpdateCorporeality();
_events.ScheduleEvent(EVENT_CHECK_CORPOREALITY, 10000);
_events.ScheduleEvent(EVENT_CHECK_CORPOREALITY, 10s);
break;
}
}
@ -686,7 +686,7 @@ public:
float damageRatio = float(_materialDamage) / float(_twilightDamage);
if (_twilightDamage == 1 || _materialDamage == 1)
_events.ScheduleEvent(EVENT_TWILIGHT_MENDING, 4000);
_events.ScheduleEvent(EVENT_TWILIGHT_MENDING, 4s);
_twilightDamage = 1;
_materialDamage = 1;

View file

@ -79,9 +79,9 @@ public:
BossAI::JustEngagedWith(who);
Talk(SAY_AGGRO);
events.ScheduleEvent(EVENT_ENRAGE, 15000);
events.ScheduleEvent(EVENT_FLAME_BREATH, 10000);
events.ScheduleEvent(EVENT_FLIGHT, 30000);
events.ScheduleEvent(EVENT_ENRAGE, 15s);
events.ScheduleEvent(EVENT_FLAME_BREATH, 10s);
events.ScheduleEvent(EVENT_FLIGHT, 30s);
}
void JustDied(Unit* killer) override
@ -99,13 +99,13 @@ public:
{
case POINT_FLIGHT:
me->SetFacingTo(4.69f);
events.ScheduleEvent(EVENT_CONFLAGRATION, 1000);
events.ScheduleEvent(EVENT_LAND_BACK, 7000);
events.ScheduleEvent(EVENT_CONFLAGRATION, 1s);
events.ScheduleEvent(EVENT_LAND_BACK, 7s);
Talk(SAY_CONFLAGRATION);
break;
case POINT_LAND:
me->SetDisableGravity(false);
events.ScheduleEvent(EVENT_LAND_GROUND, 500);
events.ScheduleEvent(EVENT_LAND_GROUND, 500ms);
break;
}
}
@ -122,7 +122,7 @@ public:
if (events.GetNextEventTime(EVENT_KILL_TALK) == 0)
{
Talk(SAY_KILL);
events.ScheduleEvent(EVENT_KILL_TALK, 6000);
events.ScheduleEvent(EVENT_KILL_TALK, 6s);
}
}
@ -143,9 +143,9 @@ public:
me->AttackStop();
me->SetDisableGravity(true);
me->GetMotionMaster()->MovePoint(POINT_TAKEOFF, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ() + 6.0f, false);
events.ScheduleEvent(EVENT_FLIGHT, 50000);
events.DelayEvents(15000);
events.ScheduleEvent(EVENT_AIR_MOVEMENT, 2000);
events.ScheduleEvent(EVENT_FLIGHT, 50s);
events.DelayEvents(15s);
events.ScheduleEvent(EVENT_AIR_MOVEMENT, 2s);
break;
}
case EVENT_CONFLAGRATION:
@ -154,11 +154,11 @@ public:
case EVENT_ENRAGE:
me->CastSpell(me, SPELL_ENRAGE, false);
Talk(EMOTE_ENRAGED);
events.ScheduleEvent(EVENT_ENRAGE, urand(15000, 20000));
events.ScheduleEvent(EVENT_ENRAGE, 15s, 20s);
break;
case EVENT_FLAME_BREATH:
me->CastSpell(me->GetVictim(), SPELL_FLAME_BREATH, false);
events.ScheduleEvent(EVENT_FLAME_BREATH, urand(20000, 30000));
events.ScheduleEvent(EVENT_FLAME_BREATH, 20s, 30s);
break;
case EVENT_AIR_MOVEMENT:
me->GetMotionMaster()->MovePoint(POINT_FLIGHT, 3155.51f, 683.844f, 95.0f, false);

View file

@ -183,7 +183,7 @@ public:
case EVENT_SPELL_RADIANCE:
me->CastSpell((Unit*)nullptr, SPELL_RADIANCE, false);
me->TextEmote(TEXT_RADIATE, nullptr, true);
events.RepeatEvent(16000);
events.Repeat(16s);
break;
case EVENT_SPELL_HAMMER_RIGHTEOUS:
if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 55.0f, true) )
@ -195,7 +195,7 @@ public:
me->CastSpell(target, SPELL_HAMMER_JUSTICE, true);
me->CastSpell(target, SPELL_HAMMER_RIGHTEOUS, false);
}
events.RepeatEvent(25000);
events.Repeat(25s);
break;
}
@ -261,8 +261,8 @@ public:
void JustEngagedWith(Unit* /*who*/) override
{
events.Reset();
events.ScheduleEvent(EVENT_SPELL_HOLY_FIRE, urand(9000, 12000));
events.ScheduleEvent(EVENT_SPELL_SMITE, urand(2000, 3000));
events.ScheduleEvent(EVENT_SPELL_HOLY_FIRE, 9s, 12s);
events.ScheduleEvent(EVENT_SPELL_SMITE, 2s, 3s);
me->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
Talk(TEXT_PALETRESS_AGGRO);
if( pInstance )
@ -347,7 +347,7 @@ public:
me->CastSpell((Unit*)nullptr, SPELL_SUMMON_MEMORY, false);
SummonMemory();
me->CastSpell((Unit*)nullptr, SPELL_CONFESS, false);
events.ScheduleEvent(EVENT_SPELL_RENEW, urand(6000, 8000));
events.ScheduleEvent(EVENT_SPELL_RENEW, 6s, 8s);
summoned = true;
return;
}
@ -362,12 +362,12 @@ public:
case EVENT_SPELL_SMITE:
if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 50.0f, true) )
me->CastSpell(target, SPELL_SMITE, false);
events.RepeatEvent(urand(3000, 4000));
events.Repeat(3s, 4s);
break;
case EVENT_SPELL_HOLY_FIRE:
if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 30.0f, true) )
me->CastSpell(target, SPELL_HOLY_FIRE, false);
events.RepeatEvent(urand(9000, 12000));
events.Repeat(9s, 12s);
break;
case EVENT_SPELL_RENEW:
if( !MemoryGUID )
@ -379,7 +379,7 @@ public:
else if( Creature* memory = ObjectAccessor::GetCreature(*me, MemoryGUID) )
if( memory->IsAlive() )
me->CastSpell(memory, SPELL_RENEW, false);
events.RepeatEvent(urand(15000, 17000));
events.Repeat(15s, 17s);
break;
}
@ -408,7 +408,7 @@ public:
me->SetObjectScale(0.01f);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
me->SetImmuneToAll(true);
events.ScheduleEvent(EVENT_MEMORY_SCALE, 500);
events.ScheduleEvent(EVENT_MEMORY_SCALE, 500ms);
}
InstanceScript* pInstance;
@ -439,7 +439,7 @@ public:
break;
case EVENT_MEMORY_SCALE:
me->SetObjectScale(1.0f);
events.ScheduleEvent(EVENT_MEMORY_START_ATTACK, 5000);
events.ScheduleEvent(EVENT_MEMORY_START_ATTACK, 5s);
break;
case EVENT_MEMORY_START_ATTACK:
@ -451,23 +451,23 @@ public:
DoZoneInCombat();
}
me->SetReactState(REACT_AGGRESSIVE);
events.ScheduleEvent(EVENT_SPELL_OLD_WOUNDS, 8000);
events.ScheduleEvent(EVENT_SPELL_SHADOWS_PAST, 4000);
events.ScheduleEvent(EVENT_SPELL_WAKING_NIGHTMARE, urand(20000, 30000));
events.ScheduleEvent(EVENT_SPELL_OLD_WOUNDS, 8s);
events.ScheduleEvent(EVENT_SPELL_SHADOWS_PAST, 4s);
events.ScheduleEvent(EVENT_SPELL_WAKING_NIGHTMARE, 20s, 30s);
break;
case EVENT_SPELL_OLD_WOUNDS:
if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 10.0f, true) )
me->CastSpell(target, SPELL_OLD_WOUNDS, true);
events.RepeatEvent(12000);
events.Repeat(12s);
break;
case EVENT_SPELL_SHADOWS_PAST:
if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 40.0f, true) )
me->CastSpell(target, SPELL_SHADOWS_PAST, false);
events.RepeatEvent(urand(15000, 20000));
events.Repeat(15s, 20s);
break;
case EVENT_SPELL_WAKING_NIGHTMARE:
me->CastSpell(me, SPELL_WAKING_NIGHTMARE, false);
events.RepeatEvent(35000);
events.Repeat(35s);
break;
}
@ -626,7 +626,7 @@ public:
{
bCheck = false;
damage = me->GetHealth() - 1;
events.DelayEvents(10000);
events.DelayEvents(10s);
me->CastSpell(me, SPELL_DIVINE_SHIELD_H, true);
me->CastSpell((Unit*)nullptr, SPELL_FINAL_MEDITATION_H, true);
}
@ -637,23 +637,23 @@ public:
switch( me->GetEntry() )
{
case NPC_ARGENT_MONK:
events.RescheduleEvent(EVENT_MONK_SPELL_FLURRY_OF_BLOWS, 5000);
events.RescheduleEvent(EVENT_MONK_SPELL_PUMMEL, 7000);
events.RescheduleEvent(EVENT_MONK_SPELL_FLURRY_OF_BLOWS, 5s);
events.RescheduleEvent(EVENT_MONK_SPELL_PUMMEL, 7s);
if( IsHeroic() )
bCheck = true;
break;
case NPC_PRIESTESS:
events.RescheduleEvent(EVENT_PRIESTESS_SPELL_HOLY_SMITE, urand(5000, 8000));
events.RescheduleEvent(EVENT_PRIESTESS_SPELL_SHADOW_WORD_PAIN, urand(3000, 6000));
events.RescheduleEvent(EVENT_PRIESTESS_SPELL_FOUNTAIN_OF_LIGHT, urand(8000, 15000));
events.RescheduleEvent(EVENT_PRIESTESS_SPELL_HOLY_SMITE, 5s, 8s);
events.RescheduleEvent(EVENT_PRIESTESS_SPELL_SHADOW_WORD_PAIN, 3s, 6s);
events.RescheduleEvent(EVENT_PRIESTESS_SPELL_FOUNTAIN_OF_LIGHT, 8s, 15s);
if( IsHeroic() )
events.RescheduleEvent(EVENT_PRIESTESS_SPELL_MIND_CONTROL_H, 12000);
events.RescheduleEvent(EVENT_PRIESTESS_SPELL_MIND_CONTROL_H, 12s);
break;
case NPC_ARGENT_LIGHTWIELDER:
events.RescheduleEvent(EVENT_LIGHTWIELDER_SPELL_BLAZING_LIGHT, urand(12000, 15000));
events.RescheduleEvent(EVENT_LIGHTWIELDER_SPELL_CLEAVE, urand(3000, 5000));
events.RescheduleEvent(EVENT_LIGHTWIELDER_SPELL_BLAZING_LIGHT, 12s, 15s);
events.RescheduleEvent(EVENT_LIGHTWIELDER_SPELL_CLEAVE, 3s, 5s);
if( IsHeroic() )
events.RescheduleEvent(EVENT_LIGHTWIELDER_SPELL_UNBALANCING_STRIKE_H, urand(8000, 12000));
events.RescheduleEvent(EVENT_LIGHTWIELDER_SPELL_UNBALANCING_STRIKE_H, 8s, 12s);
break;
}
}
@ -677,32 +677,32 @@ public:
case EVENT_MONK_SPELL_FLURRY_OF_BLOWS:
me->CastSpell(me, SPELL_FLURRY_OF_BLOWS, false);
events.RepeatEvent(urand(12000, 18000));
events.Repeat(12s, 18s);
break;
case EVENT_MONK_SPELL_PUMMEL:
if( me->GetVictim() )
me->CastSpell(me->GetVictim(), SPELL_PUMMEL, false);
events.RepeatEvent(urand(8000, 11000));
events.Repeat(8s, 11s);
break;
case EVENT_PRIESTESS_SPELL_HOLY_SMITE:
if( me->GetVictim() )
me->CastSpell(me->GetVictim(), SPELL_HOLY_SMITE, false);
events.RepeatEvent(urand(6000, 8000));
events.Repeat(6s, 8s);
break;
case EVENT_PRIESTESS_SPELL_SHADOW_WORD_PAIN:
if( me->GetVictim() )
me->CastSpell(me->GetVictim(), SPELL_SHADOW_WORD_PAIN, false);
events.RepeatEvent(urand(12000, 15000));
events.Repeat(12s, 15s);
break;
case EVENT_PRIESTESS_SPELL_FOUNTAIN_OF_LIGHT:
me->CastSpell((Unit*)nullptr, SPELL_FOUNTAIN_OF_LIGHT, false);
events.RepeatEvent(urand(35000, 45000));
events.Repeat(35s, 45s);
break;
case EVENT_PRIESTESS_SPELL_MIND_CONTROL_H:
if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 30.0f, true) )
me->CastSpell(target, SPELL_MIND_CONTROL_H, false);
events.RepeatEvent(urand(22000, 30000));
events.Repeat(22s, 30s);
break;
case EVENT_LIGHTWIELDER_SPELL_BLAZING_LIGHT:
@ -711,18 +711,18 @@ public:
if( !target )
target = me;
me->CastSpell(target, SPELL_BLAZING_LIGHT, false);
events.RepeatEvent(urand(8000, 12000));
events.Repeat(8s, 12s);
}
break;
case EVENT_LIGHTWIELDER_SPELL_CLEAVE:
if( me->GetVictim() )
me->CastSpell(me->GetVictim(), SPELL_CLEAVE, false);
events.RepeatEvent(urand(6000, 8000));
events.Repeat(6s, 8s);
break;
case EVENT_LIGHTWIELDER_SPELL_UNBALANCING_STRIKE_H:
if( me->GetVictim() )
me->CastSpell(me->GetVictim(), SPELL_UNBALANCING_STRIKE_H, false);
events.RepeatEvent(urand(12000, 15000));
events.Repeat(12s, 15s);
break;
}

View file

@ -180,11 +180,11 @@ public:
announcer->DespawnOrUnsummon();
events.Reset();
events.ScheduleEvent(EVENT_ANNOUNCER_SAY_ZOMBIE, 2500);
events.ScheduleEvent(EVENT_SPELL_PLAGUE_STRIKE, urand(7000, 9000));
events.ScheduleEvent(EVENT_SPELL_ICY_TOUCH, urand(3500, 7000));
events.ScheduleEvent(EVENT_SPELL_DEATH_RESPITE, urand(13000, 15000));
events.ScheduleEvent(EVENT_SPELL_OBLITERATE, urand(11000, 19000));
events.ScheduleEvent(EVENT_ANNOUNCER_SAY_ZOMBIE, 2500ms);
events.ScheduleEvent(EVENT_SPELL_PLAGUE_STRIKE, 7s, 9s);
events.ScheduleEvent(EVENT_SPELL_ICY_TOUCH, 3500ms, 7000ms);
events.ScheduleEvent(EVENT_SPELL_DEATH_RESPITE, 13s, 15s);
events.ScheduleEvent(EVENT_SPELL_OBLITERATE, 11s, 19s);
}
}
@ -213,18 +213,18 @@ public:
me->CastSpell(me, SPELL_ARMY_DEAD, false);
events.Reset();
events.ScheduleEvent(EVENT_SPELL_PLAGUE_STRIKE, urand(7000, 9000));
events.ScheduleEvent(EVENT_SPELL_ICY_TOUCH, urand(3500, 7000));
events.ScheduleEvent(EVENT_SPELL_OBLITERATE, urand(11000, 19000));
events.ScheduleEvent(EVENT_SPELL_DESECRATION, urand(2000, 3000));
events.ScheduleEvent(EVENT_SPELL_PLAGUE_STRIKE, 7s, 9s);
events.ScheduleEvent(EVENT_SPELL_ICY_TOUCH, 3500ms, 7000ms);
events.ScheduleEvent(EVENT_SPELL_OBLITERATE, 11s, 19s);
events.ScheduleEvent(EVENT_SPELL_DESECRATION, 2s, 3s);
break;
case 3:
me->SetDisplayId(MODEL_GHOST);
Talk(TEXT_BK_GHOST_RES);
events.Reset();
events.ScheduleEvent(EVENT_SPELL_DEATH_BITE, 2000);
events.ScheduleEvent(EVENT_SPELL_MARKED_DEATH, 1000);
events.ScheduleEvent(EVENT_SPELL_DEATH_BITE, 2s);
events.ScheduleEvent(EVENT_SPELL_MARKED_DEATH, 1s);
break;
default:
EnterEvadeMode(EVADE_REASON_OTHER);
@ -257,36 +257,36 @@ public:
case EVENT_SPELL_PLAGUE_STRIKE:
if( me->GetVictim() )
me->CastSpell(me->GetVictim(), SPELL_PLAGUE_STRIKE, false);
events.RepeatEvent(urand(10000, 12000));
events.Repeat(10s, 12s);
break;
case EVENT_SPELL_ICY_TOUCH:
if( me->GetVictim() )
me->CastSpell(me->GetVictim(), SPELL_ICY_TOUCH, false);
events.RepeatEvent(urand(5000, 6000));
events.Repeat(5s, 6s);
break;
case EVENT_SPELL_DEATH_RESPITE:
if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 50.0f, true) )
me->CastSpell(target, SPELL_DEATH_RESPITE, false);
events.RepeatEvent(urand(13000, 15000));
events.Repeat(13s, 15s);
break;
case EVENT_SPELL_OBLITERATE:
if( me->GetVictim() )
me->CastSpell(me->GetVictim(), SPELL_OBLITERATE, false);
events.RepeatEvent(urand(15000, 17000));
events.Repeat(15s, 17s);
break;
case EVENT_SPELL_DESECRATION:
if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 50.0f, true) )
me->CastSpell(target, SPELL_DESECRATION, false);
events.RepeatEvent(urand(14000, 17000));
events.Repeat(14s, 17s);
break;
case EVENT_SPELL_DEATH_BITE:
me->CastSpell((Unit*)nullptr, SPELL_DEATH_BITE, false);
events.RepeatEvent(urand(2000, 4000));
events.Repeat(2s, 4s);
break;
case EVENT_SPELL_MARKED_DEATH:
if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 0.000000f, true) )
me->CastSpell(target, SPELL_MARKED_DEATH, false);
events.RepeatEvent(9000);
events.Repeat(9s);
break;
}
@ -410,8 +410,8 @@ public:
{
events.Reset();
if (me->GetEntry() == NPC_RISEN_JAEREN || me->GetEntry() == NPC_RISEN_ARELAS)
events.RescheduleEvent(1, 1000); // leap
events.RescheduleEvent(2, urand(3000, 4000)); // claw
events.RescheduleEvent(1, 1s); // leap
events.RescheduleEvent(2, 3s, 4s); // claw
}
void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override
@ -466,12 +466,12 @@ public:
break;
}
events.RepeatEvent(1000);
events.Repeat(1s);
break;
case 2: // claw
if (Unit* target = me->GetVictim())
me->CastSpell(target, SPELL_CLAW_N, false);
events.RepeatEvent(urand(6000, 8000));
events.Repeat(6s, 8s);
break;
}

View file

@ -246,9 +246,9 @@ public:
void JustEngagedWith(Unit* /*who*/) override
{
events.Reset();
events.ScheduleEvent(EVENT_MOUNT_CHARGE, urand(2500, 4000));
events.ScheduleEvent(EVENT_SHIELD_BREAKER, urand(5000, 8000));
events.ScheduleEvent(EVENT_THRUST, urand(3000, 5000));
events.ScheduleEvent(EVENT_MOUNT_CHARGE, 2500ms, 4000ms);
events.ScheduleEvent(EVENT_SHIELD_BREAKER, 5s, 8s);
events.ScheduleEvent(EVENT_THRUST, 3s, 5s);
me->CastSpell(me, SPELL_TRAMPLE_AURA, true);
}
@ -302,7 +302,7 @@ public:
me->CastSpell(target, SPELL_MINIONS_CHARGE, false);
}
}
events.RepeatEvent(urand(4500, 6000));
events.Repeat(4500ms, 6000ms);
}
break;
case EVENT_SHIELD_BREAKER:
@ -324,13 +324,13 @@ public:
if( Unit* target = ObjectAccessor::GetCreature(*me, LIST.at(rnd)) )
me->CastSpell(target, SPELL_NPC_SHIELD_BREAKER, false);
}
events.RepeatEvent(urand(6000, 8000));
events.Repeat(6s, 8s);
}
break;
case EVENT_THRUST:
if( me->GetVictim() && me->GetExactDist(me->GetVictim()) <= 5.5f )
me->CastSpell(me->GetVictim(), SPELL_PLAYER_VEHICLE_THRUST, false);
events.RepeatEvent(urand(3000, 5000));
events.Repeat(3s, 5s);
break;
}
}
@ -363,9 +363,9 @@ public:
me->CastSpell(me, SPELL_BOSS_DEFEND_PERIODIC, true);
events.Reset();
events.ScheduleEvent(EVENT_MOUNT_CHARGE, urand(2500, 4000));
events.ScheduleEvent(EVENT_SHIELD_BREAKER, urand(5000, 8000));
events.ScheduleEvent(EVENT_THRUST, urand(3000, 5000));
events.ScheduleEvent(EVENT_MOUNT_CHARGE, 2500ms, 4000ms);
events.ScheduleEvent(EVENT_SHIELD_BREAKER, 5s, 8s);
events.ScheduleEvent(EVENT_THRUST, 3s, 5s);
me->ApplySpellImmune(0, IMMUNITY_MECHANIC, MECHANIC_CHARM, true);
me->ApplySpellImmune(0, IMMUNITY_MECHANIC, MECHANIC_DISORIENTED, true);
@ -421,36 +421,34 @@ public:
{
case NPC_AMBROSE: // Ambrose Boltspark
case NPC_ERESSEA: // Eressea Dawnsinger
events.RescheduleEvent(EVEMT_MAGE_SPELL_FIREBALL, 5000);
events.RescheduleEvent(EVEMT_MAGE_SPELL_BLAST_WAVE, 12000);
events.RescheduleEvent(EVEMT_MAGE_SPELL_HASTE, 22000);
events.RescheduleEvent(EVEMT_MAGE_SPELL_POLYMORPH, 8000);
events.RescheduleEvent(EVEMT_MAGE_SPELL_FIREBALL, 5s);
events.RescheduleEvent(EVEMT_MAGE_SPELL_BLAST_WAVE, 12s);
events.RescheduleEvent(EVEMT_MAGE_SPELL_HASTE, 22s);
events.RescheduleEvent(EVEMT_MAGE_SPELL_POLYMORPH, 8s);
break;
case NPC_COLOSOS: // Colosos
case NPC_RUNOK: // Runok Wildmane
events.RescheduleEvent(EVENT_SHAMAN_SPELL_CHAIN_LIGHTNING, 16000);
events.RescheduleEvent(EVENT_SHAMAN_SPELL_EARTH_SHIELD, urand(30000, 35000));
events.RescheduleEvent(EVENT_SHAMAN_SPELL_HEALING_WAVE, 12000);
events.RescheduleEvent(EVENT_SHAMAN_SPELL_HEX_OF_MENDING, urand(20000, 25000));
events.RescheduleEvent(EVENT_SHAMAN_SPELL_CHAIN_LIGHTNING, 16s);
events.RescheduleEvent(EVENT_SHAMAN_SPELL_EARTH_SHIELD, 30s, 35s);
events.RescheduleEvent(EVENT_SHAMAN_SPELL_HEALING_WAVE, 12s);
events.RescheduleEvent(EVENT_SHAMAN_SPELL_HEX_OF_MENDING, 20s, 25s);
break;
case NPC_JAELYNE: // Jaelyne Evensong
case NPC_ZULTORE: // Zul'tore
//events.RescheduleEvent(EVENT_HUNTER_SPELL_DISENGAGE, x);
events.RescheduleEvent(EVENT_HUNTER_SPELL_LIGHTNING_ARROWS, 7000);
events.RescheduleEvent(EVENT_HUNTER_SPELL_MULTI_SHOT, 12000);
events.RescheduleEvent(EVENT_HUNTER_SPELL_LIGHTNING_ARROWS, 7s);
events.RescheduleEvent(EVENT_HUNTER_SPELL_MULTI_SHOT, 12s);
break;
case NPC_LANA: // Lana Stouthammer
case NPC_VISCERI: // Deathstalker Visceri
events.RescheduleEvent(EVENT_ROGUE_SPELL_EVISCERATE, 8000);
events.RescheduleEvent(EVENT_ROGUE_SPELL_FAN_OF_KNIVES, 14000);
events.RescheduleEvent(EVENT_ROGUE_SPELL_POISON_BOTTLE, 19000);
events.RescheduleEvent(EVENT_ROGUE_SPELL_EVISCERATE, 8s);
events.RescheduleEvent(EVENT_ROGUE_SPELL_FAN_OF_KNIVES, 14s);
events.RescheduleEvent(EVENT_ROGUE_SPELL_POISON_BOTTLE, 19s);
break;
case NPC_JACOB: // Marshal Jacob Alerius
case NPC_MOKRA: // Mokra the Skullcrusher
events.RescheduleEvent(EVENT_WARRIOR_SPELL_MORTAL_STRIKE, urand(8000, 12000));
events.RescheduleEvent(EVENT_WARRIOR_SPELL_BLADESTORM, urand(15000, 20000));
events.RescheduleEvent(EVENT_WARRIOR_SPELL_INTERCEPT, 7000);
//events.RescheduleEvent(EVENT_WARRIOR_SPELL_ROLLING_THROW, x);
events.RescheduleEvent(EVENT_WARRIOR_SPELL_MORTAL_STRIKE, 8s, 12s);
events.RescheduleEvent(EVENT_WARRIOR_SPELL_BLADESTORM, 15s, 20s);
events.RescheduleEvent(EVENT_WARRIOR_SPELL_INTERCEPT, 7s);
break;
default:
break;
@ -568,7 +566,7 @@ public:
{
NewMountGUID = mount->GetGUID();
me->GetMotionMaster()->MovePoint(7, *mount);
events.RescheduleEvent(EVENT_FIND_NEW_MOUNT, 1000);
events.RescheduleEvent(EVENT_FIND_NEW_MOUNT, 1s);
}
}
}
@ -627,9 +625,9 @@ public:
me->CastSpell(me, SPELL_BOSS_DEFEND_PERIODIC, true);
me->SetRegeneratingHealth(true);
events.Reset();
events.ScheduleEvent(EVENT_MOUNT_CHARGE, urand(2500, 4000));
events.ScheduleEvent(EVENT_SHIELD_BREAKER, urand(5000, 8000));
events.ScheduleEvent(EVENT_THRUST, urand(3000, 5000));
events.ScheduleEvent(EVENT_MOUNT_CHARGE, 2500ms, 4000ms);
events.ScheduleEvent(EVENT_SHIELD_BREAKER, 5s, 8s);
events.ScheduleEvent(EVENT_THRUST, 3s, 5s);
me->SetReactState(REACT_AGGRESSIVE);
me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
me->SetImmuneToAll(false);
@ -681,7 +679,7 @@ public:
{
if( me->HasAura(SPELL_TRAMPLE_STUN) )
{
events.RepeatEvent(200);
events.Repeat(200ms);
break;
}
@ -707,7 +705,7 @@ public:
if( trample )
{
events.RepeatEvent(15100);
events.Repeat(15s);
break;
}
}
@ -717,7 +715,7 @@ public:
{
if( me->GetMotionMaster()->GetCurrentMovementGeneratorType() != POINT_MOTION_TYPE )
me->GetMotionMaster()->MovePoint(7, *mount);
events.RepeatEvent(200);
events.Repeat(200ms);
break;
}
@ -728,7 +726,7 @@ public:
me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
me->SetImmuneToAll(true);
me->GetMotionMaster()->MovePoint(7, *mount);
events.RepeatEvent(200);
events.Repeat(200ms);
break;
}
}
@ -761,7 +759,7 @@ public:
me->CastSpell(target, SPELL_MINIONS_CHARGE, false);
}
}
events.RepeatEvent(urand(4500, 6000));
events.Repeat(4500ms, 6000ms);
}
break;
case EVENT_SHIELD_BREAKER:
@ -783,34 +781,34 @@ public:
if( Unit* target = ObjectAccessor::GetCreature(*me, LIST.at(rnd)) )
me->CastSpell(target, SPELL_NPC_SHIELD_BREAKER, false);
}
events.RepeatEvent(urand(6000, 8000));
events.Repeat(6s, 8s);
}
break;
case EVENT_THRUST:
if( Unit* victim = me->GetVictim() )
if( me->GetExactDist(victim) <= 6.0f )
me->CastSpell(victim, SPELL_PLAYER_VEHICLE_THRUST, false);
events.RepeatEvent(urand(3000, 5000));
events.Repeat(3s, 5s);
break;
/******************* MAGE *******************/
case EVEMT_MAGE_SPELL_FIREBALL:
if( me->GetVictim() )
me->CastSpell(me->GetVictim(), SPELL_FIREBALL, false);
events.RepeatEvent(5000);
events.Repeat(5s);
break;
case EVEMT_MAGE_SPELL_BLAST_WAVE:
me->CastSpell((Unit*)nullptr, SPELL_BLAST_WAVE, false);
events.RepeatEvent(13000);
events.Repeat(13s);
break;
case EVEMT_MAGE_SPELL_HASTE:
me->CastSpell(me, SPELL_HASTE, false);
events.RepeatEvent(22000);
events.Repeat(22s);
break;
case EVEMT_MAGE_SPELL_POLYMORPH:
if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 30.0f, true) )
me->CastSpell(target, SPELL_POLYMORPH, false);
events.RepeatEvent(8000);
events.Repeat(8s);
break;
/***************** MAGE END *****************/
@ -818,11 +816,11 @@ public:
case EVENT_SHAMAN_SPELL_CHAIN_LIGHTNING:
if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 30.0f, true) )
me->CastSpell(target, SPELL_CHAIN_LIGHTNING, false);
events.RepeatEvent(16000);
events.Repeat(16s);
break;
case EVENT_SHAMAN_SPELL_EARTH_SHIELD:
me->CastSpell(me, SPELL_EARTH_SHIELD, false);
events.RepeatEvent(urand(30000, 35000));
events.Repeat(30s, 35s);
break;
case EVENT_SHAMAN_SPELL_HEALING_WAVE:
{
@ -836,13 +834,13 @@ public:
else
target = me;
me->CastSpell(target, SPELL_HEALING_WAVE, false);
events.RepeatEvent(22000);
events.Repeat(22s);
}
break;
case EVENT_SHAMAN_SPELL_HEX_OF_MENDING:
if( me->GetVictim() )
me->CastSpell(me->GetVictim(), SPELL_HEX_OF_MENDING, false);
events.RepeatEvent(urand(20000, 25000));
events.Repeat(20s, 25s);
break;
/**************** SHAMAN END ****************/
@ -852,7 +850,7 @@ public:
break;
case EVENT_HUNTER_SPELL_LIGHTNING_ARROWS:
me->CastSpell((Unit*)nullptr, SPELL_LIGHTNING_ARROWS, false);
events.RepeatEvent(urand(20000, 25000));
events.Repeat(20s, 25s);
break;
case EVENT_HUNTER_SPELL_MULTI_SHOT:
{
@ -863,7 +861,7 @@ public:
me->CastSpell(target, SPELL_SHOOT, false);
UnitTargetGUID = target->GetGUID();
}
events.RepeatEvent(2000);
events.Repeat(2s);
break;
}
else
@ -886,7 +884,7 @@ public:
}
UnitTargetGUID.Clear();
}
events.RepeatEvent(urand(15000, 20000));
events.Repeat(15s, 20s);
}
break;
/**************** HUNTER END ****************/
@ -895,16 +893,16 @@ public:
case EVENT_ROGUE_SPELL_EVISCERATE:
if( me->GetVictim() )
me->CastSpell(me->GetVictim(), SPELL_EVISCERATE, false);
events.RepeatEvent(8000);
events.Repeat(8s);
break;
case EVENT_ROGUE_SPELL_FAN_OF_KNIVES:
me->CastSpell((Unit*)nullptr, SPELL_FAN_OF_KNIVES, false);
events.RepeatEvent(14000);
events.Repeat(14s);
break;
case EVENT_ROGUE_SPELL_POISON_BOTTLE:
if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 30.0f, true) )
me->CastSpell(target, SPELL_POISON_BOTTLE, false);
events.RepeatEvent(19000);
events.Repeat(19s);
break;
/**************** ROGUE END *****************/
@ -912,12 +910,12 @@ public:
case EVENT_WARRIOR_SPELL_MORTAL_STRIKE:
if( me->GetVictim() )
me->CastSpell(me->GetVictim(), SPELL_MORTAL_STRIKE, false);
events.RepeatEvent(urand(8000, 12000));
events.Repeat(8s, 12s);
break;
case EVENT_WARRIOR_SPELL_BLADESTORM:
if( me->GetVictim() )
me->CastSpell(me->GetVictim(), SPELL_BLADESTORM, false);
events.RepeatEvent(urand(15000, 20000));
events.Repeat(15s, 20s);
break;
case EVENT_WARRIOR_SPELL_INTERCEPT:
{
@ -933,7 +931,7 @@ public:
break;
}
}
events.RepeatEvent(7000);
events.Repeat(7s);
}
break;
case EVENT_WARRIOR_SPELL_ROLLING_THROW:

View file

@ -224,7 +224,7 @@ public:
{
CLEANED = false;
events.Reset();
events.RescheduleEvent(EVENT_CHECK_PLAYERS, 0);
events.RescheduleEvent(EVENT_CHECK_PLAYERS, 0ms);
if( !in )
{
@ -492,7 +492,7 @@ public:
if( Creature* tirion = instance->GetCreature(NPC_TirionGUID) )
tirion->AI()->Talk(TEXT_WELCOME);
}
events.RescheduleEvent(EVENT_YELL_WELCOME_2, 8000);
events.RescheduleEvent(EVENT_YELL_WELCOME_2, 8s);
}
else // short version
{
@ -515,7 +515,7 @@ public:
announcer->SetUnitMovementFlags(MOVEMENTFLAG_WALKING);
announcer->GetMotionMaster()->MovePoint(1, 735.81f, 661.92f, 412.39f);
}
events.ScheduleEvent(EVENT_GRAND_GROUP_1_MOVE_MIDDLE, 10000);
events.ScheduleEvent(EVENT_GRAND_GROUP_1_MOVE_MIDDLE, 10s);
}
break;
case INSTANCE_PROGRESS_CHAMPIONS_DEAD:
@ -528,12 +528,12 @@ public:
announcer->AI()->Talk(TEXT_INTRODUCE_PALETRESS);
}
HandleGameObject(GO_EnterGateGUID, false);
events.RescheduleEvent(EVENT_START_ARGENT_CHALLENGE_INTRO, 0);
events.RescheduleEvent(EVENT_START_ARGENT_CHALLENGE_INTRO, 0ms);
break;
case INSTANCE_PROGRESS_ARGENT_CHALLENGE_DIED:
if( Creature* tirion = instance->GetCreature(NPC_TirionGUID) )
tirion->AI()->Talk(TEXT_BK_INTRO);
events.RescheduleEvent(EVENT_SUMMON_BLACK_KNIGHT, 3000);
events.RescheduleEvent(EVENT_SUMMON_BLACK_KNIGHT, 3s);
break;
}
break;
@ -543,10 +543,10 @@ public:
switch( uiData )
{
case 0:
events.ScheduleEvent(EVENT_SUMMON_GRAND_CHAMPION_2, 0);
events.ScheduleEvent(EVENT_SUMMON_GRAND_CHAMPION_2, 0ms);
break;
case 1:
events.ScheduleEvent(EVENT_SUMMON_GRAND_CHAMPION_3, 0);
events.ScheduleEvent(EVENT_SUMMON_GRAND_CHAMPION_3, 0ms);
break;
case 2:
if( Creature* announcer = instance->GetCreature(NPC_AnnouncerGUID) )
@ -555,7 +555,7 @@ public:
uiData = DONE; // save to db
announcer->SetUnitMovementFlags(MOVEMENTFLAG_WALKING);
announcer->GetMotionMaster()->MovePoint(1, 735.81f, 661.92f, 412.39f);
events.ScheduleEvent(EVENT_GRAND_GROUP_1_MOVE_MIDDLE, 8500);
events.ScheduleEvent(EVENT_GRAND_GROUP_1_MOVE_MIDDLE, 8500ms);
}
break;
}
@ -569,7 +569,7 @@ public:
Counter = 0;
InstanceProgress = INSTANCE_PROGRESS_CHAMPION_GROUP_DIED_1;
uiData = DONE; // save to db
events.ScheduleEvent(EVENT_GRAND_GROUP_2_MOVE_MIDDLE, 0);
events.ScheduleEvent(EVENT_GRAND_GROUP_2_MOVE_MIDDLE, 0ms);
}
break;
case INSTANCE_PROGRESS_CHAMPION_GROUP_DIED_1: // fighting group 2/3
@ -578,7 +578,7 @@ public:
Counter = 0;
InstanceProgress = INSTANCE_PROGRESS_CHAMPION_GROUP_DIED_2;
uiData = DONE; // save to db
events.ScheduleEvent(EVENT_GRAND_GROUP_3_MOVE_MIDDLE, 0);
events.ScheduleEvent(EVENT_GRAND_GROUP_3_MOVE_MIDDLE, 0ms);
}
break;
case INSTANCE_PROGRESS_CHAMPION_GROUP_DIED_2: // fighting group 3/3
@ -587,7 +587,7 @@ public:
Counter = 0;
InstanceProgress = INSTANCE_PROGRESS_CHAMPION_GROUP_DIED_3;
uiData = DONE; // save to db
events.ScheduleEvent(EVENT_GRAND_CHAMPIONS_MOVE_MIDDLE, 0);
events.ScheduleEvent(EVENT_GRAND_CHAMPIONS_MOVE_MIDDLE, 0ms);
}
break;
case INSTANCE_PROGRESS_CHAMPION_GROUP_DIED_3: // fighting grand champions (on vehicles)
@ -598,7 +598,7 @@ public:
for (ObjectGuid const& guid : VehicleList)
if (Creature* veh = instance->GetCreature(guid))
veh->DespawnOrUnsummon();
events.ScheduleEvent(EVENT_GRAND_CHAMPIONS_MOVE_SIDE, 0);
events.ScheduleEvent(EVENT_GRAND_CHAMPIONS_MOVE_SIDE, 0ms);
}
break;
}
@ -629,8 +629,8 @@ public:
{
announcer->GetMotionMaster()->MovePoint(0, 743.14f, 628.77f, 411.2f);
announcer->SummonGameObject(instance->IsHeroic() ? GO_CHAMPIONS_LOOT_H : GO_CHAMPIONS_LOOT, 746.59f, 618.49f, 411.09f, 1.42f, 0, 0, 0, 0, 90000000); // [LOOT]
events.ScheduleEvent(EVENT_RESTORE_ANNOUNCER_GOSSIP, 15000);
events.ScheduleEvent(EVENT_GRATZ_SLAIN_CHAMPIONS, 6000);
events.ScheduleEvent(EVENT_RESTORE_ANNOUNCER_GOSSIP, 15s);
events.ScheduleEvent(EVENT_GRATZ_SLAIN_CHAMPIONS, 6s);
}
// bind players to instance
@ -644,7 +644,7 @@ public:
Counter = 0;
InstanceProgress = INSTANCE_PROGRESS_ARGENT_SOLDIERS_DIED;
uiData = DONE; // save to db
events.ScheduleEvent(EVENT_ARGENT_CHALLENGE_MOVE_FORWARD, 0);
events.ScheduleEvent(EVENT_ARGENT_CHALLENGE_MOVE_FORWARD, 0ms);
}
break;
case BOSS_ARGENT_CHALLENGE:
@ -654,7 +654,7 @@ public:
{
HandleGameObject(GO_EnterGateGUID, true);
InstanceProgress = INSTANCE_PROGRESS_ARGENT_CHALLENGE_DIED;
events.ScheduleEvent(EVENT_ARGENT_CHALLENGE_RUN_MIDDLE, 0);
events.ScheduleEvent(EVENT_ARGENT_CHALLENGE_RUN_MIDDLE, 0ms);
}
}
break;
@ -663,7 +663,7 @@ public:
break;
case DATA_SKELETAL_GRYPHON_LANDED:
{
events.ScheduleEvent(EVENT_START_BLACK_KNIGHT_SCENE, 3000);
events.ScheduleEvent(EVENT_START_BLACK_KNIGHT_SCENE, 3s);
}
break;
case BOSS_BLACK_KNIGHT:
@ -795,7 +795,7 @@ public:
temp1 = urand(0, 4);
DoSummonGrandChampion(temp1, 0);
HandleGameObject(GO_MainGateGUID, true);
events.ScheduleEvent(EVENT_CLOSE_GATE, 6000);
events.ScheduleEvent(EVENT_CLOSE_GATE, 6s);
}
break;
case EVENT_SUMMON_GRAND_CHAMPION_2:
@ -804,7 +804,7 @@ public:
while( temp1 == temp2 );
DoSummonGrandChampion(temp2, 1);
HandleGameObject(GO_MainGateGUID, true);
events.ScheduleEvent(EVENT_CLOSE_GATE, 6000);
events.ScheduleEvent(EVENT_CLOSE_GATE, 6s);
}
break;
case EVENT_SUMMON_GRAND_CHAMPION_3:
@ -829,7 +829,7 @@ public:
tirion->AI()->Talk(TEXT_WELCOME_2);
}
events.RescheduleEvent(EVENT_SUMMON_GRAND_CHAMPION_1, 8000);
events.RescheduleEvent(EVENT_SUMMON_GRAND_CHAMPION_1, 8s);
break;
}
case EVENT_GRAND_GROUP_1_MOVE_MIDDLE:
@ -848,7 +848,7 @@ public:
c->GetMotionMaster()->MovePoint(0, 748.309f + 3.0f * cos(angle), 619.448f + 3.0f * std::sin(angle), 411.3f);
}
events.ScheduleEvent(EVENT_GRAND_GROUP_1_ATTACK, 3000);
events.ScheduleEvent(EVENT_GRAND_GROUP_1_ATTACK, 3s);
}
break;
case EVENT_GRAND_GROUP_1_ATTACK:
@ -875,7 +875,7 @@ public:
c->GetMotionMaster()->MovePoint(0, 748.309f + 3.0f * cos(angle), 619.448f + 3.0f * std::sin(angle), 411.3f);
}
events.ScheduleEvent(EVENT_GRAND_GROUP_2_ATTACK, 3000);
events.ScheduleEvent(EVENT_GRAND_GROUP_2_ATTACK, 3s);
}
break;
case EVENT_GRAND_GROUP_2_ATTACK:
@ -901,7 +901,7 @@ public:
c->GetMotionMaster()->MovePoint(0, 748.309f + 3.0f * cos(angle), 619.448f + 3.0f * std::sin(angle), 411.3f);
}
events.ScheduleEvent(EVENT_GRAND_GROUP_3_ATTACK, 3000);
events.ScheduleEvent(EVENT_GRAND_GROUP_3_ATTACK, 3s);
}
break;
case EVENT_GRAND_GROUP_3_ATTACK:
@ -927,7 +927,7 @@ public:
c->GetMotionMaster()->MovePoint(4, 748.309f + 3.0f * cos(angle), 619.448f + 3.0f * std::sin(angle), 411.3f);
}
events.ScheduleEvent(EVENT_GRAND_CHAMPIONS_MOUNTS_ATTACK, 3000);
events.ScheduleEvent(EVENT_GRAND_CHAMPIONS_MOUNTS_ATTACK, 3s);
}
break;
case EVENT_GRAND_CHAMPIONS_MOUNTS_ATTACK:
@ -965,7 +965,7 @@ public:
}
}
events.ScheduleEvent(EVENT_GRAND_CHAMPIONS_ATTACK, 15000);
events.ScheduleEvent(EVENT_GRAND_CHAMPIONS_ATTACK, 15s);
}
break;
case EVENT_GRAND_CHAMPIONS_ATTACK:
@ -1043,7 +1043,7 @@ public:
NPC_ArgentSoldierGUID[i][2] = pTrash->GetGUID();
}
}
events.ScheduleEvent(EVENT_SUMMON_ARGENT_CHALLENGE, 4000);
events.ScheduleEvent(EVENT_SUMMON_ARGENT_CHALLENGE, 4s);
}
break;
case EVENT_SUMMON_ARGENT_CHALLENGE:
@ -1052,9 +1052,9 @@ public:
announcer->GetMotionMaster()->MovePoint(0, 735.81f, 661.92f, 412.39f);
if (Creature* boss = instance->SummonCreature(Counter ? NPC_EADRIC : NPC_PALETRESS, SpawnPosition))
boss->GetMotionMaster()->MovePoint(0, 746.881f, 660.263f, 411.7f);
events.ScheduleEvent(EVENT_CLOSE_GATE, 5000);
events.ScheduleEvent(EVENT_ARGENT_CHALLENGE_SAY_1, 4000);
events.ScheduleEvent(EVENT_ARGENT_SOLDIER_GROUP_ATTACK, 12500);
events.ScheduleEvent(EVENT_CLOSE_GATE, 5s);
events.ScheduleEvent(EVENT_ARGENT_CHALLENGE_SAY_1, 4s);
events.ScheduleEvent(EVENT_ARGENT_SOLDIER_GROUP_ATTACK, 12s + 500ms);
}
break;
case EVENT_ARGENT_CHALLENGE_SAY_1:
@ -1062,7 +1062,7 @@ public:
if( Creature* ac = instance->GetCreature(NPC_ArgentChampionGUID) )
ac->AI()->Talk(Counter ? TEXT_EADRIC_SAY_1 : TEXT_PALETRESS_SAY_1);
if( !Counter )
events.ScheduleEvent(EVENT_ARGENT_CHALLENGE_SAY_2, 6000);
events.ScheduleEvent(EVENT_ARGENT_CHALLENGE_SAY_2, 6s);
}
break;
case EVENT_ARGENT_CHALLENGE_SAY_2:
@ -1093,7 +1093,7 @@ public:
{
boss->GetMotionMaster()->MovePoint(0, 746.881f, 635.263f, 411.7f);
}
events.ScheduleEvent(EVENT_ARGENT_CHALLENGE_ATTACK, 3000);
events.ScheduleEvent(EVENT_ARGENT_CHALLENGE_ATTACK, 3s);
}
break;
case EVENT_ARGENT_CHALLENGE_ATTACK:
@ -1114,7 +1114,7 @@ public:
if( Creature* boss = instance->GetCreature(NPC_ArgentChampionGUID) )
{
boss->GetMotionMaster()->MovePoint(1, 747.13f, 628.037f, 411.2f);
events.ScheduleEvent(EVENT_ARGENT_CHALLENGE_LEAVE_CHEST, 6000);
events.ScheduleEvent(EVENT_ARGENT_CHALLENGE_LEAVE_CHEST, 6s);
}
}
break;
@ -1132,8 +1132,8 @@ public:
announcer->SummonGameObject(chest, 746.59f, 618.49f, 411.09f, 1.42f, 0, 0, 0, 0, 90000000); // [LOOT]
}
events.ScheduleEvent(EVENT_ARGENT_CHALLENGE_DISAPPEAR, 4000);
events.ScheduleEvent(EVENT_RESTORE_ANNOUNCER_GOSSIP, 15000);
events.ScheduleEvent(EVENT_ARGENT_CHALLENGE_DISAPPEAR, 4s);
events.ScheduleEvent(EVENT_RESTORE_ANNOUNCER_GOSSIP, 15s);
}
break;
case EVENT_ARGENT_CHALLENGE_DISAPPEAR:
@ -1176,7 +1176,7 @@ public:
bk->GetMotionMaster()->MoveJump(exitPos, 2.0f, 2.0f);
bk->AI()->Talk(TEXT_BK_SPOILED);
}
events.ScheduleEvent(EVENT_BLACK_KNIGHT_CAST_ANNOUNCER, 2000);
events.ScheduleEvent(EVENT_BLACK_KNIGHT_CAST_ANNOUNCER, 2s);
}
break;
case EVENT_BLACK_KNIGHT_CAST_ANNOUNCER:
@ -1195,7 +1195,7 @@ public:
tirion->AI()->Talk(TEXT_BK_MEANING);
}
}
events.ScheduleEvent(EVENT_BLACK_KNIGHT_KILL_ANNOUNCER, 1000);
events.ScheduleEvent(EVENT_BLACK_KNIGHT_KILL_ANNOUNCER, 1s);
}
break;
case EVENT_BLACK_KNIGHT_KILL_ANNOUNCER:
@ -1203,7 +1203,7 @@ public:
if( Creature* bk_vehicle = instance->GetCreature(NPC_BlackKnightVehicleGUID) )
bk_vehicle->AI()->DoAction(1);
events.ScheduleEvent(EVENT_BLACK_KNIGHT_MOVE_FORWARD, 4000);
events.ScheduleEvent(EVENT_BLACK_KNIGHT_MOVE_FORWARD, 4s);
}
break;
case EVENT_BLACK_KNIGHT_MOVE_FORWARD:
@ -1217,7 +1217,7 @@ public:
if( Creature* announcer = instance->GetCreature(NPC_AnnouncerGUID) )
if (announcer->IsAlive())
Unit::Kill(announcer, announcer);
events.ScheduleEvent(EVENT_BLACK_KNIGHT_SAY_TASK, 14000);
events.ScheduleEvent(EVENT_BLACK_KNIGHT_SAY_TASK, 14s);
}
break;
case EVENT_BLACK_KNIGHT_SAY_TASK:
@ -1227,7 +1227,7 @@ public:
bk->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
bk->AI()->Talk(TEXT_BK_TASK);
}
events.ScheduleEvent(EVENT_BLACK_KNIGHT_ATTACK, 5000);
events.ScheduleEvent(EVENT_BLACK_KNIGHT_ATTACK, 5s);
}
break;
case EVENT_BLACK_KNIGHT_ATTACK:

View file

@ -140,9 +140,6 @@ enum AnubEvents
EVENT_SUMMON_SCARAB,
};
#define SUBMERGE_INTERVAL 80000
#define EMERGE_INTERVAL 60000
class boss_anubarak_trial : public CreatureScript
{
public:
@ -205,13 +202,13 @@ public:
{
me->setActive(true);
events.Reset();
events.RescheduleEvent(EVENT_ENRAGE, 600000);
events.RescheduleEvent(EVENT_SPELL_FREEZING_SLASH, urand(7000, 15000));
events.RescheduleEvent(EVENT_SPELL_PENETRATING_COLD, urand(15000, 20000));
events.RescheduleEvent(EVENT_SUMMON_NERUBIAN, urand(5000, 8000));
events.RescheduleEvent(EVENT_SUBMERGE, SUBMERGE_INTERVAL);
events.RescheduleEvent(EVENT_ENRAGE, 10min);
events.RescheduleEvent(EVENT_SPELL_FREEZING_SLASH, 7s, 15s);
events.RescheduleEvent(EVENT_SPELL_PENETRATING_COLD, 15s, 20s);
events.RescheduleEvent(EVENT_SUMMON_NERUBIAN, 5s, 8s);
events.RescheduleEvent(EVENT_SUBMERGE, 80s);
if( !IsHeroic() )
events.RescheduleEvent(EVENT_RESPAWN_SPHERE, 4000);
events.RescheduleEvent(EVENT_RESPAWN_SPHERE, 4s);
for (ObjectGuid const& guid : summons)
if (pInstance)
@ -289,26 +286,26 @@ public:
}
i = (i + 1) % 6;
} while( i != StartAt );
events.RepeatEvent(4000);
events.Repeat(4s);
}
break;
case EVENT_SPELL_FREEZING_SLASH:
{
if( me->GetVictim() )
me->CastSpell(me->GetVictim(), SPELL_FREEZING_SLASH, false);
events.RepeatEvent(urand(15000, 20000));
events.Repeat(15s, 20s);
}
break;
case EVENT_SPELL_PENETRATING_COLD:
{
me->CastCustomSpell(SPELL_PENETRATING_COLD, SPELLVALUE_MAX_TARGETS, RAID_MODE(2, 5, 2, 5));
events.RepeatEvent(18000);
events.Repeat(18s);
}
break;
case EVENT_SUMMON_NERUBIAN:
{
me->CastCustomSpell(SPELL_SUMMON_BURROWER, SPELLVALUE_MAX_TARGETS, RAID_MODE(1, 2, 2, 4));
events.RepeatEvent(45000);
events.Repeat(45s);
}
break;
case EVENT_SUBMERGE:
@ -324,9 +321,9 @@ public:
events.CancelEvent(EVENT_SUMMON_NERUBIAN);
events.CancelEvent(EVENT_SPELL_FREEZING_SLASH);
events.CancelEvent(EVENT_SPELL_PENETRATING_COLD);
events.RescheduleEvent(EVENT_EMERGE, EMERGE_INTERVAL);
events.RescheduleEvent(EVENT_SPELL_SUMMON_SPIKE, 2500);
events.RescheduleEvent(EVENT_SUMMON_SCARAB, 3000);
events.RescheduleEvent(EVENT_EMERGE, 1min);
events.RescheduleEvent(EVENT_SPELL_SUMMON_SPIKE, 2500ms);
events.RescheduleEvent(EVENT_SUMMON_SCARAB, 3s);
}
break;
case EVENT_SUMMON_SCARAB:
@ -334,7 +331,7 @@ public:
uint8 i = urand(0, 3);
if( Creature* c = ObjectAccessor::GetCreature(*me, BurrowGUID[i]) )
me->CastSpell(c, SPELL_SUMMON_SCARAB, true);
events.RepeatEvent(4000);
events.Repeat(4s);
}
break;
case EVENT_EMERGE:
@ -342,7 +339,7 @@ public:
me->CastSpell(me, SPELL_SPIKE_TELE, true);
summons.DespawnEntry(NPC_SPIKE);
events.CancelEvent(EVENT_SUMMON_SCARAB);
events.RescheduleEvent(EVENT_EMERGE_2, 2000);
events.RescheduleEvent(EVENT_EMERGE_2, 2s);
}
break;
case EVENT_EMERGE_2:
@ -352,10 +349,10 @@ public:
me->setAttackTimer(BASE_ATTACK, 3000);
me->RemoveAura(SPELL_SUBMERGE);
me->CastSpell(me, SPELL_EMERGE, false);
events.RescheduleEvent(EVENT_SUMMON_NERUBIAN, urand(5000, 8000));
events.RescheduleEvent(EVENT_SPELL_FREEZING_SLASH, urand(7000, 15000));
events.RescheduleEvent(EVENT_SPELL_PENETRATING_COLD, urand(15000, 20000));
events.RescheduleEvent(EVENT_SUBMERGE, SUBMERGE_INTERVAL);
events.RescheduleEvent(EVENT_SUMMON_NERUBIAN, 5s, 8s);
events.RescheduleEvent(EVENT_SPELL_FREEZING_SLASH, 7s, 15s);
events.RescheduleEvent(EVENT_SPELL_PENETRATING_COLD, 15s, 20s);
events.RescheduleEvent(EVENT_SUBMERGE, 80s);
}
break;
case EVENT_SPELL_SUMMON_SPIKE:
@ -630,9 +627,9 @@ public:
me->CastSpell(me, SPELL_EXPOSE_WEAKNESS, true);
me->CastSpell(me, SPELL_SPIDER_FRENZY, true);
events.Reset();
events.RescheduleEvent(EVENT_SUBMERGE, 30000);
events.RescheduleEvent(EVENT_SUBMERGE, 30s);
if( IsHeroic() )
events.RescheduleEvent(EVENT_SPELL_SHADOW_STRIKE, urand(30000, 45000));
events.RescheduleEvent(EVENT_SPELL_SHADOW_STRIKE, 30s, 45s);
if( Unit* target = me->SelectNearestTarget(250.0f) )
{
AttackStart(target);
@ -676,7 +673,7 @@ public:
case EVENT_SPELL_SHADOW_STRIKE:
if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 250.0f, true) )
me->CastSpell(target, SPELL_SHADOW_STRIKE, false);
events.RepeatEvent(urand(30000, 45000));
events.Repeat(30s, 45s);
break;
case EVENT_SUBMERGE:
if( HealthBelowPct(80) && !me->HasAura(RAID_MODE(66193, 67855, 67856, 67857)) ) // not having permafrost - allow submerge
@ -688,11 +685,11 @@ public:
me->CastSpell(me, SPELL_SPIDER_FRENZY, true);
me->CastSpell(me, SPELL_SUBMERGE, false);
events.DelayEvents(15000);
events.RescheduleEvent(EVENT_EMERGE, 10000);
events.DelayEvents(15s);
events.RescheduleEvent(EVENT_EMERGE, 10s);
}
else
events.RepeatEvent(3000);
events.Repeat(3s);
break;
case EVENT_EMERGE:
me->SetHealth(me->GetMaxHealth());
@ -701,7 +698,7 @@ public:
me->CastSpell(me, SPELL_EMERGE, false);
me->RemoveAura(SPELL_SUBMERGE);
events.RescheduleEvent(EVENT_SUBMERGE, 30000);
events.RescheduleEvent(EVENT_SUBMERGE, 30s);
break;
}
@ -751,7 +748,7 @@ public:
me->RemoveAllAuras();
me->GetMotionMaster()->MoveIdle();
events.Reset();
events.RescheduleEvent(3, 4000);
events.RescheduleEvent(3, 4s);
}
}
@ -774,7 +771,7 @@ public:
{
me->CastSpell(me, SPELL_SPIKE_SPEED1, true);
me->CastSpell(me, SPELL_SPIKE_TRAIL, true);
events.RescheduleEvent(1, 7000);
events.RescheduleEvent(1, 7s);
}
TargetGUID = target->GetGUID();
me->CastSpell(target, SPELL_MARK, true);
@ -810,7 +807,7 @@ public:
case 1:
me->CastSpell(me, SPELL_SPIKE_SPEED2, true);
events.RescheduleEvent(2, 7000);
events.RescheduleEvent(2, 7s);
break;
case 2:
me->CastSpell(me, SPELL_SPIKE_SPEED3, true);

View file

@ -129,14 +129,14 @@ public:
{
me->setActive(true);
events.Reset();
events.RescheduleEvent(EVENT_SPELL_FEL_FIREBALL, 5000);
events.RescheduleEvent(EVENT_SPELL_FEL_LIGHTNING, urand(10000, 15000));
events.RescheduleEvent(EVENT_SPELL_INCINERATE_FLESH, urand(24000, 26000));
events.RescheduleEvent(EVENT_SPELL_NETHER_POWER, urand(25000, 45000));
events.RescheduleEvent(EVENT_SPELL_LEGION_FLAME, 30000);
events.RescheduleEvent(EVENT_SPELL_FEL_FIREBALL, 5s);
events.RescheduleEvent(EVENT_SPELL_FEL_LIGHTNING, 10s, 15s);
events.RescheduleEvent(EVENT_SPELL_INCINERATE_FLESH, 24s, 26s);
events.RescheduleEvent(EVENT_SPELL_NETHER_POWER, 25s, 45s);
events.RescheduleEvent(EVENT_SPELL_LEGION_FLAME, 30s);
//if( GetDifficulty() == RAID_DIFFICULTY_25MAN_HEROIC )
// events.RescheduleEvent(EVENT_SPELL_TOUCH_OF_JARAXXUS, urand(10000,15000));
events.RescheduleEvent(EVENT_SUMMON_NETHER_PORTAL, 20000); // it schedules EVENT_SUMMON_VOLCANO
// events.RescheduleEvent(EVENT_SPELL_TOUCH_OF_JARAXXUS, 10s, 15s);
events.RescheduleEvent(EVENT_SUMMON_NETHER_PORTAL, 20s); // it schedules EVENT_SUMMON_VOLCANO
me->RemoveAura(SPELL_CHAINS);
Talk(SAY_AGGRO);
@ -208,12 +208,12 @@ public:
case EVENT_SPELL_FEL_FIREBALL:
if( me->GetVictim() )
me->CastSpell(me->GetVictim(), SPELL_FEL_FIREBALL, false);
events.RepeatEvent(urand(10000, 15000));
events.Repeat(10s, 15s);
break;
case EVENT_SPELL_FEL_LIGHTNING:
if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 0.0f, true, true) )
me->CastSpell(target, SPELL_FEL_LIGHTNING, false);
events.RepeatEvent(urand(10000, 15000));
events.Repeat(10s, 15s);
break;
case EVENT_SPELL_INCINERATE_FLESH:
if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 0.0f, true, true) )
@ -222,12 +222,12 @@ public:
Talk(SAY_INCINERATE);
me->CastSpell(target, SPELL_INCINERATE_FLESH, false);
}
events.RepeatEvent(urand(20000, 25000));
events.Repeat(20s, 25s);
break;
case EVENT_SPELL_NETHER_POWER:
me->CastSpell(me, SPELL_NETHER_POWER, false);
events.DelayEvents(5000);
events.RepeatEvent(urand(25000, 45000));
events.DelayEvents(5s);
events.Repeat(25s, 45s);
break;
case EVENT_SPELL_LEGION_FLAME:
if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 0.0f, true, true) )
@ -235,26 +235,26 @@ public:
Talk(EMOTE_LEGION_FLAME, target);
me->CastSpell(target, SPELL_LEGION_FLAME, false);
}
events.RepeatEvent(30000);
events.Repeat(30s);
break;
case EVENT_SPELL_TOUCH_OF_JARAXXUS:
if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 0.0f, true) )
me->CastSpell(target, SPELL_TOUCH_OF_JARAXXUS, false);
events.RepeatEvent(urand(10000, 15000));
events.Repeat(10s, 15s);
break;
case EVENT_SUMMON_NETHER_PORTAL:
Talk(EMOTE_NETHER_PORTAL);
Talk(SAY_MISTRESS_OF_PAIN);
me->CastSpell((Unit*)nullptr, SPELL_SUMMON_NETHER_PORTAL, false);
events.RescheduleEvent(EVENT_SUMMON_VOLCANO, 60000);
events.RescheduleEvent(EVENT_SUMMON_VOLCANO, 1min);
break;
case EVENT_SUMMON_VOLCANO:
Talk(EMOTE_INFERNAL_ERUPTION);
Talk(SAY_INFERNAL_ERUPTION);
me->CastSpell((Unit*)nullptr, SPELL_SUMMON_VOLCANO, false);
events.RescheduleEvent(EVENT_SUMMON_NETHER_PORTAL, 60000);
events.RescheduleEvent(EVENT_SUMMON_NETHER_PORTAL, 1min);
break;
}
@ -316,7 +316,7 @@ public:
DoZoneInCombat();
}
events.Reset();
events.RescheduleEvent(EVENT_SPELL_FEL_STEAK, urand(7000, 20000));
events.RescheduleEvent(EVENT_SPELL_FEL_STEAK, 7s, 20s);
}
void UpdateAI(uint32 diff) override
@ -340,10 +340,10 @@ public:
me->AddThreat(target, 50000.0f);
me->CastSpell(target, SPELL_FEL_STEAK_MORPH, true);
me->CastSpell(target, SPELL_FEL_STEAK, true);
events.RepeatEvent(30000);
events.Repeat(30s);
}
else
events.RepeatEvent(5000);
events.Repeat(5s);
break;
}
@ -386,10 +386,10 @@ public:
DoZoneInCombat();
}
events.Reset();
events.RescheduleEvent(EVENT_SPELL_SHIVAN_SLASH, urand(10000, 20000));
events.RescheduleEvent(EVENT_SPELL_SPINNING_PAIN_SPIKE, urand(22000, 30000));
events.RescheduleEvent(EVENT_SPELL_SHIVAN_SLASH, 10s, 20s);
events.RescheduleEvent(EVENT_SPELL_SPINNING_PAIN_SPIKE, 22s, 30s);
if( IsHeroic() )
events.RescheduleEvent(EVENT_SPELL_MISTRESS_KISS, urand(10000, 15000));
events.RescheduleEvent(EVENT_SPELL_MISTRESS_KISS, 10s, 15s);
}
void SpellHit(Unit* /*caster*/, SpellInfo const* /*spell*/) override
@ -415,16 +415,16 @@ public:
case EVENT_SPELL_SHIVAN_SLASH:
if( me->GetVictim() )
me->CastSpell(me->GetVictim(), SPELL_SHIVAN_SLASH, false);
events.RepeatEvent(urand(15000, 25000));
events.Repeat(15s, 25s);
break;
case EVENT_SPELL_SPINNING_PAIN_SPIKE:
if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 140.0f, true) )
me->CastSpell(target, SPELL_SPINNING_PAIN_SPIKE, false);
events.RepeatEvent(urand(25000, 30000));
events.Repeat(25s, 30s);
break;
case EVENT_SPELL_MISTRESS_KISS:
me->CastSpell((Unit*)nullptr, SPELL_MISTRESS_KISS, false);
events.RepeatEvent(urand(25000, 35000));
events.Repeat(25s, 35s);
break;
}

View file

@ -100,15 +100,15 @@ public:
void Reset() override
{
events.Reset();
events.ScheduleEvent(EVENT_SPELL_FIRE_BOMB, urand(10000, 30000));
events.ScheduleEvent(EVENT_SPELL_FIRE_BOMB, 10s, 30s);
}
void JustEngagedWith(Unit* /*who*/) override
{
events.Reset();
events.ScheduleEvent(EVENT_SPELL_SNOBOLLED, 1500);
events.ScheduleEvent(EVENT_SPELL_BATTER, 5000);
events.ScheduleEvent(EVENT_SPELL_HEAD_CRACK, 25000);
events.ScheduleEvent(EVENT_SPELL_SNOBOLLED, 1500ms);
events.ScheduleEvent(EVENT_SPELL_BATTER, 5s);
events.ScheduleEvent(EVENT_SPELL_HEAD_CRACK, 25s);
}
void AttackStart(Unit* who) override
@ -168,7 +168,7 @@ public:
case EVENT_SPELL_BATTER:
if( t->GetTypeId() == TYPEID_PLAYER )
me->CastSpell(t, SPELL_BATTER);
events.RepeatEvent(urand(6000, 8000));
events.Repeat(6s, 8s);
break;
case EVENT_SPELL_FIRE_BOMB:
{
@ -194,13 +194,13 @@ public:
}
}
events.RepeatEvent(urand(20000, 30000));
events.Repeat(20s, 30s);
}
break;
case EVENT_SPELL_HEAD_CRACK:
if( t->GetTypeId() == TYPEID_PLAYER )
me->CastSpell(t, SPELL_HEAD_CRACK);
events.RepeatEvent(urand(30000, 35000));
events.Repeat(30s, 35s);
break;
}
@ -260,9 +260,9 @@ public:
{
me->setActive(true);
events.Reset();
events.RescheduleEvent(EVENT_SPELL_IMPALE, urand(9000, 10000));
events.RescheduleEvent(EVENT_SPELL_STAGGERING_STOMP, 15000);
events.RescheduleEvent(EVENT_PICK_SNOBOLD_TARGET, urand(16000, 24000));
events.RescheduleEvent(EVENT_SPELL_IMPALE, 9s, 10s);
events.RescheduleEvent(EVENT_SPELL_STAGGERING_STOMP, 15s);
events.RescheduleEvent(EVENT_PICK_SNOBOLD_TARGET, 16s, 24s);
// refresh snobold position
if( Vehicle* vk = me->GetVehicleKit() )
@ -297,14 +297,14 @@ public:
{
if( Unit* victim = me->GetVictim() )
me->CastSpell(victim, SPELL_IMPALE, false);
events.RepeatEvent(urand(9000, 10000));
events.Repeat(9s, 10s);
}
else
events.RepeatEvent(2500);
events.Repeat(2500ms);
break;
case EVENT_SPELL_STAGGERING_STOMP:
me->CastSpell((Unit*)nullptr, SPELL_STAGGERING_STOMP, false);
events.RepeatEvent(urand(20000, 25000));
events.Repeat(20s, 25s);
break;
case EVENT_PICK_SNOBOLD_TARGET:
if( Vehicle* vk = me->GetVehicleKit() )
@ -326,12 +326,12 @@ public:
snobold->ChangeSeat(4); // switch to hand
me->setAttackTimer(BASE_ATTACK, 3000);
PlayerGUID = p->GetGUID();
events.RescheduleEvent(EVENT_RELEASE_SNOBOLD, 2500);
events.RescheduleEvent(EVENT_RELEASE_SNOBOLD, 2500ms);
}
break;
}
events.RepeatEvent(urand(16000, 24000));
events.Repeat(16s, 24s);
break;
case EVENT_RELEASE_SNOBOLD:
{
@ -355,7 +355,7 @@ public:
}
else if( Vehicle* vk = me->GetVehicleKit() )
{
events.RescheduleEvent(EVENT_PICK_SNOBOLD_TARGET, 5000); // player not found (died? left instance?), pick new one faster!
events.RescheduleEvent(EVENT_PICK_SNOBOLD_TARGET, 5s);
if( Unit* snobold = vk->GetPassenger(4) )
if( snobold->GetTypeId() == TYPEID_UNIT )
{
@ -492,13 +492,13 @@ struct boss_jormungarAI : public ScriptedAI
{
case -1:
if( !me->HasUnitFlag(UNIT_FLAG_NON_ATTACKABLE) )
events.RescheduleEvent(EVENT_SUBMERGE, 1500);
events.RescheduleEvent(EVENT_SUBMERGE, 1500ms);
break;
case -2:
if( me->HasUnitFlag(UNIT_FLAG_NON_ATTACKABLE) )
bIsStationary = true; // it will come out mobile soon
else if( me->GetDisplayId() == _MODEL_STATIONARY )
events.RescheduleEvent(EVENT_SUBMERGE, 1000);
events.RescheduleEvent(EVENT_SUBMERGE, 1s);
else
events.CancelEvent(EVENT_SUBMERGE);
me->CastSpell(me, SPELL_ENRAGE, true);
@ -513,18 +513,18 @@ struct boss_jormungarAI : public ScriptedAI
if( me->GetDisplayId() == _MODEL_STATIONARY )
{
me->SetAttackTime(BASE_ATTACK, 1500);
events.RescheduleEvent(EVENT_SPELL_SPRAY, (me->GetEntry() == NPC_ACIDMAW ? 20000 : 15000));
events.RescheduleEvent(EVENT_SPELL_SWEEP, urand(15000, 30000));
events.RescheduleEvent(EVENT_SPELL_SPRAY, (me->GetEntry() == NPC_ACIDMAW ? 20s : 15s));
events.RescheduleEvent(EVENT_SPELL_SWEEP, 15s, 30s);
}
else
{
me->SetAttackTime(BASE_ATTACK, 2000);
events.RescheduleEvent(EVENT_SPELL_BITE, (me->GetEntry() == NPC_ACIDMAW ? 20000 : 15000));
events.RescheduleEvent(EVENT_SPELL_SPEW, urand(15000, 30000));
events.RescheduleEvent(EVENT_SPELL_SLIME_POOL, 15000);
events.RescheduleEvent(EVENT_SPELL_BITE, (me->GetEntry() == NPC_ACIDMAW ? 20s : 15s));
events.RescheduleEvent(EVENT_SPELL_SPEW, 15s, 30s);
events.RescheduleEvent(EVENT_SPELL_SLIME_POOL, 15s);
}
if( !me->HasAura(SPELL_ENRAGE) )
events.RescheduleEvent(EVENT_SUBMERGE, urand(45000, 50000));
events.RescheduleEvent(EVENT_SUBMERGE, 45s, 50s);
}
void JustEngagedWith(Unit* /*who*/) override
@ -578,7 +578,7 @@ struct boss_jormungarAI : public ScriptedAI
c->AI()->DoAction(-1);
events.Reset();
events.RescheduleEvent(EVENT_MOVE_UNDERGROUND, 2500);
events.RescheduleEvent(EVENT_MOVE_UNDERGROUND, 2500ms);
}
break;
case EVENT_MOVE_UNDERGROUND:
@ -595,7 +595,7 @@ struct boss_jormungarAI : public ScriptedAI
me->StopMovingOnCurrentPos();
DoResetThreatList();
events.RescheduleEvent(EVENT_EMERGE, 6000);
events.RescheduleEvent(EVENT_EMERGE, 6s);
}
break;
case EVENT_EMERGE:
@ -625,25 +625,25 @@ struct boss_jormungarAI : public ScriptedAI
case EVENT_SPELL_SPRAY:
if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 100.0f, true) )
me->CastSpell(target, _SPELL_SPRAY, false);
events.RepeatEvent(20000);
events.Repeat(20s);
break;
case EVENT_SPELL_SWEEP:
me->CastSpell((Unit*)nullptr, SPELL_SWEEP_0, false);
events.RepeatEvent(urand(15000, 30000));
events.Repeat(15s, 30s);
break;
case EVENT_SPELL_BITE:
if( Unit* victim = me->GetVictim() )
me->CastSpell(victim, _SPELL_BITE, false);
events.RepeatEvent(20000);
events.Repeat(20s);
break;
case EVENT_SPELL_SPEW:
me->CastSpell(me->GetVictim(), _SPELL_SPEW, false);
events.RepeatEvent(urand(15000, 30000));
events.Repeat(15s, 30s);
break;
case EVENT_SPELL_SLIME_POOL:
if( Creature* c = me->SummonCreature(NPC_SLIME_POOL, *me, TEMPSUMMON_TIMED_DESPAWN, 30000) )
c->CastSpell(c, SPELL_SLIME_POOL_EFFECT, true);
events.RepeatEvent(30000);
events.Repeat(30s);
break;
}
@ -802,10 +802,10 @@ public:
{
me->setActive(true);
events.Reset();
events.ScheduleEvent(EVENT_SPELL_FEROCIOUS_BUTT, urand(15000, 30000));
events.RescheduleEvent(EVENT_SPELL_WHIRL, urand(10000, 12000));
events.RescheduleEvent(EVENT_SPELL_ARCTIC_BREATH, 14000);
events.RescheduleEvent(EVENT_JUMP_MIDDLE, 30000);
events.ScheduleEvent(EVENT_SPELL_FEROCIOUS_BUTT, 15s, 30s);
events.RescheduleEvent(EVENT_SPELL_WHIRL, 10s, 12s);
events.RescheduleEvent(EVENT_SPELL_ARCTIC_BREATH, 14s);
events.RescheduleEvent(EVENT_JUMP_MIDDLE, 30s);
}
void JustReachedHome() override
@ -832,10 +832,10 @@ public:
if( id == EVENT_CHARGE )
{
events.Reset();
events.RescheduleEvent(EVENT_SPELL_FEROCIOUS_BUTT, urand(5000, 15000));
events.RescheduleEvent(EVENT_SPELL_WHIRL, urand(2000, 5000));
events.RescheduleEvent(EVENT_SPELL_ARCTIC_BREATH, urand(5000, 8000));
events.RescheduleEvent(EVENT_JUMP_MIDDLE, urand(30000, 50000));
events.RescheduleEvent(EVENT_SPELL_FEROCIOUS_BUTT, 5s, 15s);
events.RescheduleEvent(EVENT_SPELL_WHIRL, 2s, 5s);
events.RescheduleEvent(EVENT_SPELL_ARCTIC_BREATH, 5s, 8s);
events.RescheduleEvent(EVENT_JUMP_MIDDLE, 30s, 50s);
float angle = me->GetAngle(&Locs[LOC_CENTER]);
angle = angle >= M_PI ? angle - M_PI : angle + M_PI;
@ -877,16 +877,16 @@ public:
case EVENT_SPELL_FEROCIOUS_BUTT:
if( Unit* victim = me->GetVictim() )
me->CastSpell(victim, SPELL_FEROCIOUS_BUTT, false);
events.RepeatEvent(urand(15000, 30000));
events.Repeat(15s, 30s);
break;
case EVENT_SPELL_WHIRL:
me->CastSpell((Unit*)nullptr, SPELL_WHIRL, false);
events.RepeatEvent(urand(15000, 20000));
events.Repeat(15s, 20s);
break;
case EVENT_SPELL_ARCTIC_BREATH:
if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 90.0f, true) )
me->CastSpell(target, SPELL_ARCTIC_BREATH, false);
events.RepeatEvent(urand(20000, 30000));
events.Repeat(20s, 30s);
break;
case EVENT_JUMP_MIDDLE:
me->StopMoving();
@ -897,13 +897,13 @@ public:
me->GetMotionMaster()->MoveJump(Locs[LOC_CENTER].GetPositionX(), Locs[LOC_CENTER].GetPositionY(), Locs[LOC_CENTER].GetPositionZ(), 40.0f, 12.0f);
me->SetGuidValue(UNIT_FIELD_TARGET, ObjectGuid::Empty);
events.Reset();
events.RescheduleEvent(EVENT_SPELL_MASSIVE_CRASH, 2000);
events.RescheduleEvent(EVENT_SPELL_MASSIVE_CRASH, 2s);
break;
case EVENT_SPELL_MASSIVE_CRASH:
me->GetMotionMaster()->Clear();
me->CastSpell((Unit*)nullptr, SPELL_MASSIVE_CRASH, false);
events.RescheduleEvent(EVENT_GAZE, 2000);
events.RescheduleEvent(EVENT_GAZE, 2s);
break;
case EVENT_GAZE:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 500.0f, true) )
@ -913,14 +913,14 @@ public:
me->SetFacingToObject(target);
Talk(EMOTE_TRAMPLE_STARE, target);
me->HandleEmoteCommand(EMOTE_ONESHOT_ROAR);
events.RescheduleEvent(EVENT_JUMP_BACK, 2000);
events.RescheduleEvent(EVENT_JUMP_BACK, 2s);
}
else // in case something went wrong
{
events.RescheduleEvent(EVENT_SPELL_FEROCIOUS_BUTT, urand(5000, 15000));
events.RescheduleEvent(EVENT_SPELL_WHIRL, urand(2000, 5000));
events.RescheduleEvent(EVENT_SPELL_ARCTIC_BREATH, urand(5000, 8000));
events.RescheduleEvent(EVENT_JUMP_MIDDLE, urand(30000, 50000));
events.RescheduleEvent(EVENT_SPELL_FEROCIOUS_BUTT, 5s, 15s);
events.RescheduleEvent(EVENT_SPELL_WHIRL, 2s, 5s);
events.RescheduleEvent(EVENT_SPELL_ARCTIC_BREATH, 5s, 8s);
events.RescheduleEvent(EVENT_JUMP_MIDDLE, 30s, 50s);
me->GetMotionMaster()->MovementExpired();
me->SetReactState(REACT_AGGRESSIVE);
}
@ -944,7 +944,7 @@ public:
me->StopMoving();
me->GetMotionMaster()->MoveJump(Locs[LOC_CENTER].GetPositionX() + cos(jumpangle) * 35.0f, Locs[LOC_CENTER].GetPositionY() + std::sin(jumpangle) * 35.0f, Locs[LOC_CENTER].GetPositionZ() + 1.0f, 40.0f, 12.0f);
events.RescheduleEvent(EVENT_TRAMPLE, 1500);
events.RescheduleEvent(EVENT_TRAMPLE, 1500ms);
if( pInstance )
switch( GetDifficulty() )
@ -972,17 +972,17 @@ public:
me->GetMotionMaster()->Clear();
me->GetMotionMaster()->MoveCharge(destX, destY, destZ + 1.0f, 65.0f);
me->SetGuidValue(UNIT_FIELD_TARGET, ObjectGuid::Empty);
events.RescheduleEvent(EVENT_CHECK_TRAMPLE_PLAYERS, 100);
events.RescheduleEvent(EVENT_CHECK_TRAMPLE_PLAYERS, 100ms);
break;
case EVENT_CHECK_TRAMPLE_PLAYERS:
if( DoTrampleIfValid() )
{
events.Reset();
events.RescheduleEvent(EVENT_SPELL_FEROCIOUS_BUTT, urand(5000, 15000));
events.RescheduleEvent(EVENT_SPELL_WHIRL, urand(2000, 5000));
events.RescheduleEvent(EVENT_SPELL_ARCTIC_BREATH, urand(5000, 8000));
events.RescheduleEvent(EVENT_JUMP_MIDDLE, urand(30000, 50000));
events.RescheduleEvent(EVENT_SPELL_FEROCIOUS_BUTT, 5s, 15s);
events.RescheduleEvent(EVENT_SPELL_WHIRL, 2s, 5s);
events.RescheduleEvent(EVENT_SPELL_ARCTIC_BREATH, 5s, 8s);
events.RescheduleEvent(EVENT_JUMP_MIDDLE, 30s, 50s);
Talk(EMOTE_TRAMPLE_FAIL);
me->CastSpell(me, SPELL_FROTHING_RAGE, true);
me->GetMotionMaster()->MovementExpired();

View file

@ -123,13 +123,13 @@ struct boss_twin_valkyrAI : public ScriptedAI
pInstance->DoStopTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, 21853);
// special events here
events.RescheduleEvent(EVENT_BERSERK, IsHeroic() ? 360000 : 600000);
events.RescheduleEvent(EVENT_SUMMON_BALLS_1, urand(10000, 15000));
events.RescheduleEvent(EVENT_SPECIAL, 45000);
events.RescheduleEvent(EVENT_BERSERK, IsHeroic() ? 6min : 10min);
events.RescheduleEvent(EVENT_SUMMON_BALLS_1, 10s, 15s);
events.RescheduleEvent(EVENT_SPECIAL, 45s);
}
events.RescheduleEvent(EVENT_SPELL_SPIKE, urand(5000, 8000));
events.RescheduleEvent(EVENT_SPELL_SPIKE, 5s, 8s);
if( IsHeroic() )
events.RescheduleEvent(EVENT_SPELL_TOUCH, urand(10000, 25000), 1);
events.RescheduleEvent(EVENT_SPELL_TOUCH, 10s, 25s, 1);
me->SetCanFly(true);
me->SetDisableGravity(true);
@ -196,7 +196,7 @@ struct boss_twin_valkyrAI : public ScriptedAI
case -3:
me->SetCanDualWield(true);
me->CastSpell(me, SPELL_TWIN_POWER, true);
events.RescheduleEvent(EVENT_REMOVE_DUAL_WIELD, 15000);
events.RescheduleEvent(EVENT_REMOVE_DUAL_WIELD, 15s);
break;
}
}
@ -326,20 +326,20 @@ struct boss_twin_valkyrAI : public ScriptedAI
switch( eventId )
{
case EVENT_SUMMON_BALLS_1:
events.RescheduleEvent(EVENT_SUMMON_BALLS_2, 8000);
events.RescheduleEvent(EVENT_SUMMON_BALLS_2, 8s);
break;
case EVENT_SUMMON_BALLS_2:
events.RescheduleEvent(EVENT_SUMMON_BALLS_3, 8000);
events.RescheduleEvent(EVENT_SUMMON_BALLS_3, 8s);
break;
case EVENT_SUMMON_BALLS_3:
events.RescheduleEvent(EVENT_SUMMON_BALLS_1, 15000);
events.RescheduleEvent(EVENT_SUMMON_BALLS_1, 15s);
break;
}
}
break;
case EVENT_SPELL_SPIKE:
me->CastSpell(me->GetVictim(), me->GetEntry() == NPC_LIGHTBANE ? SPELL_LIGHT_TWIN_SPIKE : SPELL_DARK_TWIN_SPIKE, false);
events.RepeatEvent(urand(7000, 10000));
events.Repeat(7s, 10s);
break;
case EVENT_SPELL_TOUCH:
{
@ -402,11 +402,11 @@ struct boss_twin_valkyrAI : public ScriptedAI
if (Player* target = ObjectAccessor::GetPlayer(*me, tList[urand(0, tList.size() - 1)]))
{
me->CastSpell(target, me->GetEntry() == NPC_LIGHTBANE ? SPELL_LIGHT_TOUCH : SPELL_DARK_TOUCH, false);
events.RepeatEvent(urand(45000, 50000));
events.Repeat(45s, 50s);
break;
}
}
events.RepeatEvent(10000);
events.Repeat(10s);
}
break;
case EVENT_SPECIAL:
@ -458,7 +458,7 @@ struct boss_twin_valkyrAI : public ScriptedAI
}
if( (SpecialMask & 0xF) == 0xF )
SpecialMask = 0;
events.RepeatEvent(45000);
events.Repeat(45s);
events.DelayEventsToMax(15000, 1); // no touch of light/darkness during special abilities!
}
break;

View file

@ -22,7 +22,6 @@
#include "ScriptedCreature.h"
#include "trial_of_the_crusader.h"
#define CLEANUP_CHECK_INTERVAL 5000
std::map<uint32, bool> validDedicatedInsanityItems;
class instance_trial_of_the_crusader : public InstanceMapScript
@ -575,7 +574,7 @@ public:
{
InstanceCleanup();
}
events.RepeatEvent(CLEANUP_CHECK_INTERVAL);
events.Repeat(5s);
}
break;
case EVENT_OPEN_GATE:
@ -1415,7 +1414,7 @@ public:
// if missing spawn anub'arak
SpawnAnubArak();
events.RescheduleEvent(EVENT_CHECK_PLAYERS, CLEANUP_CHECK_INTERVAL);
events.RescheduleEvent(EVENT_CHECK_PLAYERS, 5s);
}
bool DoNeedCleanup(Player* ignoredPlayer = nullptr)
@ -1590,7 +1589,7 @@ public:
Counter = 0;
EncounterStatus = NOT_STARTED;
events.Reset();
events.RescheduleEvent(EVENT_CHECK_PLAYERS, CLEANUP_CHECK_INTERVAL);
events.RescheduleEvent(EVENT_CHECK_PLAYERS, 5s);
}
void ReadSaveDataMore(std::istringstream& data) override

View file

@ -86,15 +86,15 @@ public:
BossAI::JustEngagedWith(who);
_raptorCount = 0;
events.ScheduleEvent(EVENT_SPELL_BELLOWING_ROAR, 33000);
events.ScheduleEvent(EVENT_SPELL_GRIEVOUS_BITE, 20000);
events.ScheduleEvent(EVENT_SPELL_MANGLING_SLASH, 18500);
events.ScheduleEvent(EVENT_SPELL_FEARSOME_ROAR, urand(10000, 20000));
events.ScheduleEvent(EVENT_SPELL_PIERCING_SLASH, 17000);
events.ScheduleEvent(EVENT_SPELL_BELLOWING_ROAR, 33s);
events.ScheduleEvent(EVENT_SPELL_GRIEVOUS_BITE, 20s);
events.ScheduleEvent(EVENT_SPELL_MANGLING_SLASH, 18s + 500ms);
events.ScheduleEvent(EVENT_SPELL_FEARSOME_ROAR, 10s, 20s);
events.ScheduleEvent(EVENT_SPELL_PIERCING_SLASH, 17s);
if (IsHeroic())
{
events.ScheduleEvent(EVENT_MENACING_CLAW, 21000);
events.ScheduleEvent(EVENT_SPELL_RAPTOR_CALL, urand(20000, 25000));
events.ScheduleEvent(EVENT_MENACING_CLAW, 21s);
events.ScheduleEvent(EVENT_SPELL_RAPTOR_CALL, 20s, 25s);
}
}
@ -111,27 +111,27 @@ public:
{
case EVENT_SPELL_BELLOWING_ROAR:
me->CastSpell(me, SPELL_BELLOWING_ROAR, false);
events.ScheduleEvent(EVENT_SPELL_BELLOWING_ROAR, 40000);
events.ScheduleEvent(EVENT_SPELL_BELLOWING_ROAR, 40s);
break;
case EVENT_SPELL_GRIEVOUS_BITE:
me->CastSpell(me->GetVictim(), SPELL_GRIEVOUS_BITE, false);
events.ScheduleEvent(EVENT_SPELL_GRIEVOUS_BITE, 20000);
events.ScheduleEvent(EVENT_SPELL_GRIEVOUS_BITE, 20s);
break;
case EVENT_SPELL_MANGLING_SLASH:
me->CastSpell(me->GetVictim(), SPELL_MANGLING_SLASH, false);
events.ScheduleEvent(EVENT_SPELL_MANGLING_SLASH, 20000);
events.ScheduleEvent(EVENT_SPELL_MANGLING_SLASH, 20s);
break;
case EVENT_SPELL_FEARSOME_ROAR:
me->CastSpell(me, SPELL_FEARSOME_ROAR, false);
events.ScheduleEvent(EVENT_SPELL_FEARSOME_ROAR, 17000);
events.ScheduleEvent(EVENT_SPELL_FEARSOME_ROAR, 17s);
break;
case EVENT_SPELL_PIERCING_SLASH:
me->CastSpell(me->GetVictim(), SPELL_PIERCING_SLASH, false);
events.ScheduleEvent(EVENT_SPELL_PIERCING_SLASH, 20000);
events.ScheduleEvent(EVENT_SPELL_PIERCING_SLASH, 20s);
break;
case EVENT_SPELL_RAPTOR_CALL:
me->CastSpell(me, SPELL_RAPTOR_CALL, false);
events.ScheduleEvent(EVENT_SPELL_RAPTOR_CALL, 20000);
events.ScheduleEvent(EVENT_SPELL_RAPTOR_CALL, 20s);
break;
case EVENT_MENACING_CLAW:
Talk(SAY_CLAW_EMOTE);
@ -141,7 +141,7 @@ public:
me->AttackerStateUpdate(me->GetVictim());
if (me->GetVictim())
me->AttackerStateUpdate(me->GetVictim());
events.ScheduleEvent(EVENT_MENACING_CLAW, 20000);
events.ScheduleEvent(EVENT_MENACING_CLAW, 20s);
break;
}

View file

@ -122,11 +122,11 @@ public:
Talk(SAY_AGGRO);
BossAI::JustEngagedWith(who);
events.ScheduleEvent(EVENT_SUMMON_FETID_TROLL, 3000);
events.ScheduleEvent(EVENT_SUMMON_SHADOWCASTER, 9000);
events.ScheduleEvent(EVENT_SUMMON_HULKING_CORPSE, 30000);
events.ScheduleEvent(EVENT_SUMMON_CRYSTAL_HANDLER, 20000);
events.ScheduleEvent(EVENT_CHECK_PHASE, 80000);
events.ScheduleEvent(EVENT_SUMMON_FETID_TROLL, 3s);
events.ScheduleEvent(EVENT_SUMMON_SHADOWCASTER, 9s);
events.ScheduleEvent(EVENT_SUMMON_HULKING_CORPSE, 30s);
events.ScheduleEvent(EVENT_SUMMON_CRYSTAL_HANDLER, 20s);
events.ScheduleEvent(EVENT_CHECK_PHASE, 80s);
me->CastSpell(me, SPELL_ARCANE_BLAST, true);
me->CastSpell(me, SPELL_ARCANE_FIELD, true);
@ -167,7 +167,7 @@ public:
if (events.GetNextEventTime(EVENT_KILL_TALK) == 0)
{
Talk(SAY_KILL);
events.ScheduleEvent(EVENT_KILL_TALK, 6000);
events.ScheduleEvent(EVENT_KILL_TALK, 6s);
}
}
@ -191,17 +191,17 @@ public:
case EVENT_SUMMON_FETID_TROLL:
if (Creature* trigger = summons.GetCreatureWithEntry(NPC_CRYSTAL_CHANNEL_TARGET))
trigger->CastSpell(trigger, SPELL_SUMMON_FETID_TROLL_CORPSE, true, nullptr, nullptr, me->GetGUID());
events.ScheduleEvent(EVENT_SUMMON_FETID_TROLL, 3000);
events.ScheduleEvent(EVENT_SUMMON_FETID_TROLL, 3s);
break;
case EVENT_SUMMON_HULKING_CORPSE:
if (Creature* trigger = summons.GetCreatureWithEntry(NPC_CRYSTAL_CHANNEL_TARGET))
trigger->CastSpell(trigger, SPELL_SUMMON_HULKING_CORPSE, true, nullptr, nullptr, me->GetGUID());
events.ScheduleEvent(EVENT_SUMMON_HULKING_CORPSE, 30000);
events.ScheduleEvent(EVENT_SUMMON_HULKING_CORPSE, 30s);
break;
case EVENT_SUMMON_SHADOWCASTER:
if (Creature* trigger = summons.GetCreatureWithEntry(NPC_CRYSTAL_CHANNEL_TARGET))
trigger->CastSpell(trigger, SPELL_SUMMON_RISEN_SHADOWCASTER, true, nullptr, nullptr, me->GetGUID());
events.ScheduleEvent(EVENT_SUMMON_SHADOWCASTER, 10000);
events.ScheduleEvent(EVENT_SUMMON_SHADOWCASTER, 10s);
break;
case EVENT_SUMMON_CRYSTAL_HANDLER:
if (_crystalCounter++ < 4)
@ -211,18 +211,18 @@ public:
if (Creature* target = ObjectAccessor::GetCreature(*me, _stage ? _summonTargetLeftGUID : _summonTargetRightGUID))
target->CastSpell(target, SPELL_SUMMON_CRYSTAL_HANDLER, true, nullptr, nullptr, me->GetGUID());
_stage = _stage ? 0 : 1;
events.ScheduleEvent(EVENT_SUMMON_CRYSTAL_HANDLER, 20000);
events.ScheduleEvent(EVENT_SUMMON_CRYSTAL_HANDLER, 20s);
}
break;
case EVENT_CHECK_PHASE:
if (me->HasAura(SPELL_BEAM_CHANNEL))
{
events.ScheduleEvent(EVENT_CHECK_PHASE, 2000);
events.ScheduleEvent(EVENT_CHECK_PHASE, 2s);
break;
}
events.Reset();
events.ScheduleEvent(EVENT_CAST_OFFENSIVE_SPELL, 3000);
events.ScheduleEvent(EVENT_SPELL_SUMMON_MINIONS, 10000);
events.ScheduleEvent(EVENT_CAST_OFFENSIVE_SPELL, 3s);
events.ScheduleEvent(EVENT_SPELL_SUMMON_MINIONS, 10s);
me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
me->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
me->InterruptNonMeleeSpells(false);
@ -232,16 +232,16 @@ public:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 100, true))
me->CastSpell(target, RAND(SPELL_BLIZZARD, SPELL_FROSTBOLT, SPELL_TOUCH_OF_MISERY), false);
events.ScheduleEvent(EVENT_CAST_OFFENSIVE_SPELL, 500);
events.ScheduleEvent(EVENT_CAST_OFFENSIVE_SPELL, 500ms);
break;
case EVENT_SPELL_SUMMON_MINIONS:
if (me->HasUnitState(UNIT_STATE_CASTING))
{
me->CastSpell(me, SPELL_SUMMON_MINIONS, false);
events.ScheduleEvent(EVENT_SPELL_SUMMON_MINIONS, 15000);
events.ScheduleEvent(EVENT_SPELL_SUMMON_MINIONS, 15s);
break;
}
events.ScheduleEvent(EVENT_SPELL_SUMMON_MINIONS, 500);
events.ScheduleEvent(EVENT_SPELL_SUMMON_MINIONS, 500ms);
break;
}
}

View file

@ -94,10 +94,10 @@ public:
{
Talk(SAY_AGGRO);
BossAI::JustEngagedWith(who);
events.ScheduleEvent(EVENT_SPELL_CURSE_OF_LIFE, 5000);
events.ScheduleEvent(EVENT_SPELL_RAIN_OF_FIRE, urand(14000, 18000));
events.ScheduleEvent(EVENT_SPELL_SHADOW_VOLLEY, urand(8000, 10000));
events.ScheduleEvent(EVENT_SPELL_TURN_FLESH, 1000);
events.ScheduleEvent(EVENT_SPELL_CURSE_OF_LIFE, 5s);
events.ScheduleEvent(EVENT_SPELL_RAIN_OF_FIRE, 14s, 18s);
events.ScheduleEvent(EVENT_SPELL_SHADOW_VOLLEY, 8s, 10s);
events.ScheduleEvent(EVENT_SPELL_TURN_FLESH, 1s);
}
void KilledUnit(Unit* /*victim*/) override
@ -105,7 +105,7 @@ public:
if (events.GetNextEventTime(EVENT_KILL_TALK) == 0)
{
Talk(SAY_KILL);
events.ScheduleEvent(EVENT_KILL_TALK, 6000);
events.ScheduleEvent(EVENT_KILL_TALK, 6s);
}
}
@ -115,7 +115,7 @@ public:
{
Talk(SAY_SKELETON);
events.Reset();
events.ScheduleEvent(EVENT_TURN_BONES_REAL, 3000);
events.ScheduleEvent(EVENT_TURN_BONES_REAL, 3s);
}
}
@ -146,16 +146,16 @@ public:
case EVENT_SPELL_CURSE_OF_LIFE:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 30.0f, true))
me->CastSpell(target, SPELL_CURSE_OF_LIFE, false);
events.ScheduleEvent(EVENT_SPELL_CURSE_OF_LIFE, 13000);
events.ScheduleEvent(EVENT_SPELL_CURSE_OF_LIFE, 13s);
break;
case EVENT_SPELL_RAIN_OF_FIRE:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 30.0f, true))
me->CastSpell(target, SPELL_RAIN_OF_FIRE, false);
events.ScheduleEvent(EVENT_SPELL_RAIN_OF_FIRE, 16000);
events.ScheduleEvent(EVENT_SPELL_RAIN_OF_FIRE, 16s);
break;
case EVENT_SPELL_SHADOW_VOLLEY:
me->CastSpell(me, SPELL_SHADOW_VOLLEY, false);
events.ScheduleEvent(EVENT_SPELL_SHADOW_VOLLEY, 9000);
events.ScheduleEvent(EVENT_SPELL_SHADOW_VOLLEY, 9s);
break;
case EVENT_SPELL_TURN_FLESH:
if (me->HealthBelowPct(50))
@ -165,18 +165,18 @@ public:
me->CastSpell((Unit*)nullptr, SPELL_TURN_FLESH, false);
events.Reset();
events.ScheduleEvent(EVENT_TURN_FLESH_REAL, 3000);
events.ScheduleEvent(EVENT_TURN_FLESH_REAL, 3s);
return;
}
events.ScheduleEvent(EVENT_SPELL_TURN_FLESH, 1000);
events.ScheduleEvent(EVENT_SPELL_TURN_FLESH, 1s);
break;
case EVENT_TURN_FLESH_REAL:
me->CastSpell(me, SPELL_DUMMY, true);
me->GetMotionMaster()->MoveChase(me->GetVictim());
events.ScheduleEvent(EVENT_SPELL_EYE_BEAM, 11000);
events.ScheduleEvent(EVENT_SPELL_LIGHTNING_BREATH, 3000);
events.ScheduleEvent(EVENT_SPELL_POISON_CLOUD, 6000);
events.ScheduleEvent(EVENT_SPELL_EYE_BEAM, 11s);
events.ScheduleEvent(EVENT_SPELL_LIGHTNING_BREATH, 3s);
events.ScheduleEvent(EVENT_SPELL_POISON_CLOUD, 6s);
break;
case EVENT_SPELL_EYE_BEAM:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 35.0f, true))
@ -184,21 +184,21 @@ public:
break;
case EVENT_SPELL_LIGHTNING_BREATH:
me->CastSpell(me->GetVictim(), SPELL_LIGHTNING_BREATH, false);
events.ScheduleEvent(EVENT_SPELL_LIGHTNING_BREATH, 8000);
events.ScheduleEvent(EVENT_SPELL_LIGHTNING_BREATH, 8s);
break;
case EVENT_SPELL_POISON_CLOUD:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 35.0f, true))
me->CastSpell(target, SPELL_POISON_CLOUD, false);
events.ScheduleEvent(EVENT_SPELL_POISON_CLOUD, 10000);
events.ScheduleEvent(EVENT_SPELL_POISON_CLOUD, 10s);
break;
case EVENT_TURN_BONES_REAL:
me->SetDisplayId(me->GetNativeDisplayId());
me->CastSpell(me, SPELL_FLESH_VISUAL, true);
me->CastSpell(me, SPELL_CLEAR_GIFT, true);
events.Reset();
events.ScheduleEvent(EVENT_SPELL_CURSE_OF_LIFE, 1000);
events.ScheduleEvent(EVENT_SPELL_RAIN_OF_FIRE, urand(12000, 14000));
events.ScheduleEvent(EVENT_SPELL_SHADOW_VOLLEY, urand(8000, 10000));
events.ScheduleEvent(EVENT_SPELL_CURSE_OF_LIFE, 1s);
events.ScheduleEvent(EVENT_SPELL_RAIN_OF_FIRE, 12s, 14s);
events.ScheduleEvent(EVENT_SPELL_SHADOW_VOLLEY, 8s, 10s);
break;
}

View file

@ -69,16 +69,16 @@ public:
{
BossAI::Reset();
events2.Reset();
events2.ScheduleEvent(EVENT_SPAWN_INVADERS, 30000);
events2.ScheduleEvent(EVENT_SPAWN_INVADERS, 30s);
}
void JustEngagedWith(Unit* who) override
{
events.ScheduleEvent(EVENT_SPELL_INFECTED_WOUND, urand(6000, 10000));
events.ScheduleEvent(EVENT_SPELL_CRUSH, urand(3000, 5000));
events.ScheduleEvent(EVENT_SPELL_CONSUME, 15000);
events.ScheduleEvent(EVENT_SPELL_CORPSE_EXPLODE, 35000);
events.ScheduleEvent(EVENT_SPAWN_INVADERS, 20000, 30000);
events.ScheduleEvent(EVENT_SPELL_INFECTED_WOUND, 6s, 10s);
events.ScheduleEvent(EVENT_SPELL_CRUSH, 3s, 5s);
events.ScheduleEvent(EVENT_SPELL_CONSUME, 15s);
events.ScheduleEvent(EVENT_SPELL_CORPSE_EXPLODE, 35s);
events.ScheduleEvent(EVENT_SPAWN_INVADERS, 20s, 30s);
me->setActive(true);
instance->SetBossState(DATA_TROLLGORE, IN_PROGRESS);
@ -100,7 +100,7 @@ public:
if (events.GetNextEventTime(EVENT_KILL_TALK) == 0)
{
Talk(SAY_KILL);
events.ScheduleEvent(EVENT_KILL_TALK, 6000);
events.ScheduleEvent(EVENT_KILL_TALK, 6s);
}
}
@ -118,7 +118,7 @@ public:
me->CastSpell(me, SPELL_SUMMON_INVADER_A, true);
me->CastSpell(me, SPELL_SUMMON_INVADER_B, true);
me->CastSpell(me, SPELL_SUMMON_INVADER_C, true);
events2.ScheduleEvent(EVENT_SPAWN_INVADERS, 30000);
events2.ScheduleEvent(EVENT_SPAWN_INVADERS, 30s);
break;
}
@ -133,21 +133,21 @@ public:
{
case EVENT_SPELL_INFECTED_WOUND:
me->CastSpell(me->GetVictim(), SPELL_INFECTED_WOUND, false);
events.ScheduleEvent(EVENT_SPELL_INFECTED_WOUND, urand(25000, 35000));
events.ScheduleEvent(EVENT_SPELL_INFECTED_WOUND, 25s, 35s);
break;
case EVENT_SPELL_CRUSH:
me->CastSpell(me->GetVictim(), SPELL_CRUSH, false);
events.ScheduleEvent(EVENT_SPELL_CRUSH, urand(10000, 15000));
events.ScheduleEvent(EVENT_SPELL_CRUSH, 10s, 15s);
break;
case EVENT_SPELL_CONSUME:
Talk(SAY_CONSUME);
me->CastSpell(me, SPELL_CONSUME, false);
events.ScheduleEvent(EVENT_SPELL_CONSUME, 15000);
events.ScheduleEvent(EVENT_SPELL_CONSUME, 15s);
break;
case EVENT_SPELL_CORPSE_EXPLODE:
Talk(SAY_EXPLODE);
me->CastSpell(me, SPELL_CORPSE_EXPLODE, false);
events.ScheduleEvent(EVENT_SPELL_CORPSE_EXPLODE, urand(15000, 19000));
events.ScheduleEvent(EVENT_SPELL_CORPSE_EXPLODE, 15s, 19s);
break;
}

View file

@ -96,9 +96,9 @@ public:
DoZoneInCombat();
events.Reset();
events.RescheduleEvent(EVENT_SPELL_SHADOW_BOLT, 2000);
events.RescheduleEvent(EVENT_SPELL_MAGICS_BANE, urand(5000, 10000));
events.RescheduleEvent(EVENT_SPELL_CORRUPT_SOUL, urand(14000, 20000));
events.RescheduleEvent(EVENT_SPELL_SHADOW_BOLT, 2s);
events.RescheduleEvent(EVENT_SPELL_MAGICS_BANE, 5s, 10s);
events.RescheduleEvent(EVENT_SPELL_CORRUPT_SOUL, 14s, 20s);
if (pInstance)
pInstance->SetData(DATA_BRONJAHM, IN_PROGRESS);
@ -114,7 +114,7 @@ public:
me->CastSpell(me, SPELL_TELEPORT, false);
events.CancelEvent(EVENT_SPELL_CORRUPT_SOUL);
events.DelayEvents(6000);
events.RescheduleEvent(EVENT_SPELL_FEAR, urand(8000, 14000));
events.RescheduleEvent(EVENT_SPELL_FEAR, 8s, 14s);
}
}
@ -123,7 +123,7 @@ public:
if (spell->Id == SPELL_TELEPORT)
{
me->CastSpell(me, SPELL_TELEPORT_VISUAL, true);
events.RescheduleEvent(EVENT_START_SOULSTORM, 1);
events.RescheduleEvent(EVENT_START_SOULSTORM, 1ms);
}
}
@ -148,16 +148,16 @@ public:
case EVENT_SPELL_SHADOW_BOLT:
if (!me->IsWithinMeleeRange(me->GetVictim()))
me->CastSpell(me->GetVictim(), SPELL_SHADOW_BOLT, false);
events.RepeatEvent(2000);
events.Repeat(2s);
break;
case EVENT_SPELL_FEAR:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 10.0f, true))
me->CastCustomSpell(SPELL_FEAR, SPELLVALUE_MAX_TARGETS, 1, target, false);
events.RepeatEvent(urand(8000, 12000));
events.Repeat(8s, 12s);
break;
case EVENT_SPELL_MAGICS_BANE:
me->CastSpell(me->GetVictim(), SPELL_MAGICS_BANE, false);
events.RepeatEvent(urand(10000, 15000));
events.Repeat(10s, 15s);
break;
case EVENT_SPELL_CORRUPT_SOUL:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 100.0f, true))
@ -165,7 +165,7 @@ public:
Talk(SAY_CORRUPT_SOUL);
me->CastSpell(target, SPELL_CORRUPT_SOUL, false);
}
events.RepeatEvent(urand(20000, 25000));
events.Repeat(20s, 25s);
break;
case EVENT_START_SOULSTORM:
Talk(SAY_SOUL_STORM);

View file

@ -121,11 +121,11 @@ public:
Talk(SAY_FACE_AGGRO);
DoZoneInCombat();
events.Reset();
events.RescheduleEvent(EVENT_SPELL_PHANTOM_BLAST, 5000);
events.RescheduleEvent(EVENT_SPELL_MIRRORED_SOUL, 9000);
events.RescheduleEvent(EVENT_SPELL_WELL_OF_SOULS, urand(6000, 8000));
events.RescheduleEvent(EVENT_SPELL_UNLEASHED_SOULS, urand(18000, 20000));
events.RescheduleEvent(EVENT_SPELL_WAILING_SOULS, 65000);
events.RescheduleEvent(EVENT_SPELL_PHANTOM_BLAST, 5s);
events.RescheduleEvent(EVENT_SPELL_MIRRORED_SOUL, 9s);
events.RescheduleEvent(EVENT_SPELL_WELL_OF_SOULS, 6s, 8s);
events.RescheduleEvent(EVENT_SPELL_UNLEASHED_SOULS, 18s, 20s);
events.RescheduleEvent(EVENT_SPELL_WAILING_SOULS, 65s);
if (pInstance)
pInstance->SetData(DATA_DEVOURER, IN_PROGRESS);
@ -183,10 +183,10 @@ public:
break;
case EVENT_SPELL_PHANTOM_BLAST:
me->CastSpell(me->GetVictim(), SPELL_PHANTOM_BLAST, false);
events.RepeatEvent(5000);
events.Repeat(5s);
break;
default:
events.RepeatEvent(1000);
events.Repeat(1s);
break;
}
@ -209,7 +209,7 @@ public:
break;
case EVENT_SPELL_PHANTOM_BLAST:
me->CastSpell(me->GetVictim(), SPELL_PHANTOM_BLAST, false);
events.RepeatEvent(5000);
events.Repeat(5s);
break;
case EVENT_SPELL_MIRRORED_SOUL:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 90.0f, true))
@ -218,19 +218,19 @@ public:
me->setAttackTimer(BASE_ATTACK, 2500);
Talk(EMOTE_MIRRORED_SOUL);
}
events.RepeatEvent(urand(20000, 30000));
events.Repeat(20s, 30s);
break;
case EVENT_SPELL_WELL_OF_SOULS:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 40.0f, true))
me->CastSpell(target, SPELL_WELL_OF_SOULS, false);
events.RepeatEvent(urand(25000, 30000));
events.Repeat(25s, 30s);
events.DelayEventsToMax(4000, 0);
break;
case EVENT_SPELL_UNLEASHED_SOULS:
me->CastSpell(me, SPELL_UNLEASHED_SOULS, false);
Talk(SAY_FACE_UNLEASH_SOUL);
Talk(EMOTE_UNLEASH_SOUL);
events.RepeatEvent(urand(30000, 40000));
events.Repeat(30s, 40s);
events.DelayEventsToMax(5000, 0);
me->setAttackTimer(BASE_ATTACK, 5500);
break;
@ -239,7 +239,7 @@ public:
Talk(EMOTE_WAILING_SOUL);
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 0.0f, true))
me->CastCustomSpell(SPELL_WAILING_SOULS_TARGETING, SPELLVALUE_MAX_TARGETS, 1, target, false);
events.RepeatEvent(80000);
events.Repeat(80s);
events.DelayEventsToMax(20000, 0);
break;
}

View file

@ -73,7 +73,7 @@ public:
{
me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
events.Reset();
events.ScheduleEvent(1, 1000);
events.ScheduleEvent(1, 1s);
}
}
@ -89,12 +89,12 @@ public:
if (me->GetEntry() == NPC_JAINA_PART1)
{
Talk(SAY_JAINA_INTRO_1);
events.ScheduleEvent(2, 8000);
events.ScheduleEvent(2, 8s);
}
else
{
Talk(SAY_SYLVANAS_INTRO_1);
events.ScheduleEvent(2, 11500);
events.ScheduleEvent(2, 11s + 500ms);
}
break;
case 2:
@ -102,12 +102,12 @@ public:
if (me->GetEntry() == NPC_JAINA_PART1)
{
Talk(SAY_JAINA_INTRO_2);
events.ScheduleEvent(3, 9000);
events.ScheduleEvent(3, 9s);
}
else
{
Talk(SAY_SYLVANAS_INTRO_2);
events.ScheduleEvent(3, 10500);
events.ScheduleEvent(3, 10s + 500ms);
}
break;
case 3:
@ -115,12 +115,12 @@ public:
if (me->GetEntry() == NPC_JAINA_PART1)
{
Talk(SAY_JAINA_INTRO_3);
events.ScheduleEvent(4, 8000);
events.ScheduleEvent(4, 8s);
}
else
{
Talk(SAY_SYLVANAS_INTRO_3);
events.ScheduleEvent(4, 10500);
events.ScheduleEvent(4, 10s + 500ms);
}
break;
case 4:
@ -128,12 +128,12 @@ public:
if (me->GetEntry() == NPC_JAINA_PART1)
{
Talk(SAY_JAINA_INTRO_4);
events.ScheduleEvent(5, 10000);
events.ScheduleEvent(5, 10s);
}
else
{
Talk(SAY_SYLVANAS_INTRO_4);
events.ScheduleEvent(5, 11000);
events.ScheduleEvent(5, 11s);
}
break;
case 5:
@ -141,12 +141,12 @@ public:
if (me->GetEntry() == NPC_JAINA_PART1)
{
Talk(SAY_JAINA_INTRO_5);
events.ScheduleEvent(6, 8000);
events.ScheduleEvent(6, 8s);
}
else
{
Talk(SAY_SYLVANAS_INTRO_5);
events.ScheduleEvent(6, 9500);
events.ScheduleEvent(6, 9500ms);
}
break;
case 6:
@ -154,7 +154,7 @@ public:
if (me->GetEntry() == NPC_JAINA_PART1)
{
Talk(SAY_JAINA_INTRO_6);
events.ScheduleEvent(7, 12000);
events.ScheduleEvent(7, 12s);
}
else
{
@ -166,7 +166,7 @@ public:
if (me->GetEntry() == NPC_JAINA_PART1)
{
Talk(SAY_JAINA_INTRO_7);
events.ScheduleEvent(8, 8000);
events.ScheduleEvent(8, 8s);
}
break;
case 8:

View file

@ -76,9 +76,9 @@ public:
{
me->SetImmuneToAll(false);
events.ScheduleEvent(EVENT_QUIVERING_STRIKE, 5000);
events.ScheduleEvent(EVENT_IMPENDING_DESPAIR, 11000);
events.ScheduleEvent(EVENT_DEFILING_HORROR, 20000);
events.ScheduleEvent(EVENT_QUIVERING_STRIKE, 5s);
events.ScheduleEvent(EVENT_IMPENDING_DESPAIR, 11s);
events.ScheduleEvent(EVENT_DEFILING_HORROR, 20s);
}
void DoAction(int32 a) override
@ -115,7 +115,7 @@ public:
{
case EVENT_QUIVERING_STRIKE:
me->CastSpell(me->GetVictim(), SPELL_QUIVERING_STRIKE, false);
events.ScheduleEvent(EVENT_QUIVERING_STRIKE, 5000);
events.ScheduleEvent(EVENT_QUIVERING_STRIKE, 5s);
break;
case EVENT_IMPENDING_DESPAIR:
if (Unit* target = SelectTargetFromPlayerList(45.0f, 0, true))
@ -123,15 +123,15 @@ public:
Talk(SAY_IMPENDING_DESPAIR);
me->CastSpell(target, SPELL_IMPENDING_DESPAIR, false);
}
events.ScheduleEvent(EVENT_IMPENDING_DESPAIR, 12000);
events.ScheduleEvent(EVENT_IMPENDING_DESPAIR, 12s);
break;
case EVENT_DEFILING_HORROR:
Talk(SAY_DEFILING_HORROR);
me->CastSpell((Unit*)nullptr, SPELL_DEFILING_HORROR, false);
me->SetControlled(true, UNIT_STATE_ROOT);
events.DelayEventsToMax(5000, 0);
events.ScheduleEvent(EVENT_UNROOT, 4000);
events.ScheduleEvent(EVENT_DEFILING_HORROR, 20000);
events.ScheduleEvent(EVENT_UNROOT, 4s);
events.ScheduleEvent(EVENT_DEFILING_HORROR, 20s);
break;
case EVENT_UNROOT:
me->SetControlled(false, UNIT_STATE_ROOT);

View file

@ -72,10 +72,10 @@ public:
{
me->SetImmuneToAll(false);
events.ScheduleEvent(EVENT_OBLITERATE, 15000);
events.ScheduleEvent(EVENT_WELL_OF_CORRUPTION, 13000);
events.ScheduleEvent(EVENT_CORRUPTED_FLESH, 20000);
events.ScheduleEvent(EVENT_SHARED_SUFFERING, 5000);
events.ScheduleEvent(EVENT_OBLITERATE, 15s);
events.ScheduleEvent(EVENT_WELL_OF_CORRUPTION, 13s);
events.ScheduleEvent(EVENT_CORRUPTED_FLESH, 20s);
events.ScheduleEvent(EVENT_SHARED_SUFFERING, 5s);
}
void DoAction(int32 a) override
@ -114,26 +114,26 @@ public:
if (me->IsWithinMeleeRange(me->GetVictim()))
{
me->CastSpell(me->GetVictim(), SPELL_OBLITERATE, false);
events.ScheduleEvent(EVENT_OBLITERATE, 15000);
events.ScheduleEvent(EVENT_OBLITERATE, 15s);
}
else
events.ScheduleEvent(EVENT_OBLITERATE, 3000);
events.ScheduleEvent(EVENT_OBLITERATE, 3s);
break;
case EVENT_WELL_OF_CORRUPTION:
Talk(SAY_CORRUPTED_WELL);
if (Unit* target = SelectTargetFromPlayerList(40.0f, 0, true))
me->CastSpell(target, SPELL_WELL_OF_CORRUPTION, false);
events.ScheduleEvent(EVENT_WELL_OF_CORRUPTION, 13000);
events.ScheduleEvent(EVENT_WELL_OF_CORRUPTION, 13s);
break;
case EVENT_CORRUPTED_FLESH:
Talk(SAY_CORRUPTED_FLESH);
me->CastSpell((Unit*)nullptr, SPELL_CORRUPTED_FLESH, false);
events.ScheduleEvent(EVENT_CORRUPTED_FLESH, 20000);
events.ScheduleEvent(EVENT_CORRUPTED_FLESH, 20s);
break;
case EVENT_SHARED_SUFFERING:
if (Unit* target = SelectTargetFromPlayerList(200.0f, 0, true))
me->CastSpell(target, SPELL_SHARED_SUFFERING, true);
events.ScheduleEvent(EVENT_SHARED_SUFFERING, 15000);
events.ScheduleEvent(EVENT_SHARED_SUFFERING, 15s);
break;
}

View file

@ -196,9 +196,9 @@ public:
if (first)
{
first = false;
events.ScheduleEvent(EVENT_PRE_INTRO_1, 10000);
events.ScheduleEvent(EVENT_PRE_INTRO_2, 11000);
events.ScheduleEvent(EVENT_PRE_INTRO_3, 17000);
events.ScheduleEvent(EVENT_PRE_INTRO_1, 10s);
events.ScheduleEvent(EVENT_PRE_INTRO_2, 11s);
events.ScheduleEvent(EVENT_PRE_INTRO_3, 17s);
}
}
@ -207,10 +207,10 @@ public:
switch(actionId)
{
case ACTION_START_INTRO:
events.ScheduleEvent(EVENT_START_INTRO, 0);
events.ScheduleEvent(EVENT_START_INTRO, 0ms);
break;
case ACTION_SKIP_INTRO:
events.ScheduleEvent(EVENT_SKIP_INTRO, 0);
events.ScheduleEvent(EVENT_SKIP_INTRO, 0ms);
break;
}
}
@ -247,9 +247,9 @@ public:
c->GetMotionMaster()->MovePoint(0, LoralenFollowPos);
// Begining of intro is differents between factions as the speech sequence and timers are differents.
if (me->GetEntry() == NPC_JAINA_PART1)
events.ScheduleEvent(EVENT_INTRO_A2_1, 10000);
events.ScheduleEvent(EVENT_INTRO_A2_1, 10s);
else
events.ScheduleEvent(EVENT_INTRO_H2_2, 10000);
events.ScheduleEvent(EVENT_INTRO_H2_2, 10s);
break;
case EVENT_SKIP_INTRO:
shortver = true;
@ -257,23 +257,23 @@ public:
me->GetMotionMaster()->MovePoint(0, MoveThronePos);
if (Creature* c = pInstance->instance->GetCreature(pInstance->GetGuidData(NPC_DARK_RANGER_LORALEN)))
c->GetMotionMaster()->MovePoint(0, LoralenFollowPos);
events.ScheduleEvent(EVENT_INTRO_LK_1, 0);
events.ScheduleEvent(EVENT_INTRO_LK_1, 0ms);
break;
// A2 Intro Events
case EVENT_INTRO_A2_1:
Talk(SAY_JAINA_INTRO_3);
events.ScheduleEvent(EVENT_INTRO_A2_2, 5000);
events.ScheduleEvent(EVENT_INTRO_A2_2, 5s);
break;
case EVENT_INTRO_A2_2:
Talk(SAY_JAINA_INTRO_4);
events.ScheduleEvent(EVENT_INTRO_A2_3, 10000);
events.ScheduleEvent(EVENT_INTRO_A2_3, 10s);
break;
case EVENT_INTRO_A2_3:
pInstance->HandleGameObject(pInstance->GetGuidData(GO_FROSTMOURNE), true);
me->CastSpell(me, SPELL_FROSTMOURNE_SPAWN_SOUND, true);
me->CastSpell(me, SPELL_ARCANE_CAST_VISUAL, false);
events.ScheduleEvent(EVENT_INTRO_A2_4, 10000);
events.ScheduleEvent(EVENT_INTRO_A2_4, 10s);
break;
case EVENT_INTRO_A2_4:
if (Creature* pUther = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(NPC_UTHER)))
@ -283,66 +283,66 @@ public:
if (Aura* a = pUther->AddAura(SPELL_SHADOWMOURNE_VISUAL, pUther))
a->SetDuration(8000);
}
events.ScheduleEvent(EVENT_INTRO_A2_5, 2000);
events.ScheduleEvent(EVENT_INTRO_A2_5, 2s);
break;
case EVENT_INTRO_A2_5:
if (Creature* pUther = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(NPC_UTHER)))
pUther->AI()->Talk(SAY_UTHER_INTRO_A2_1);
events.ScheduleEvent(EVENT_INTRO_A2_6, 3000);
events.ScheduleEvent(EVENT_INTRO_A2_6, 3s);
break;
case EVENT_INTRO_A2_6:
Talk(SAY_JAINA_INTRO_5);
events.ScheduleEvent(EVENT_INTRO_A2_7, 6000);
events.ScheduleEvent(EVENT_INTRO_A2_7, 6s);
break;
case EVENT_INTRO_A2_7:
if (Creature* pUther = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(NPC_UTHER)))
pUther->AI()->Talk(SAY_UTHER_INTRO_A2_2);
events.ScheduleEvent(EVENT_INTRO_A2_8, 6500);
events.ScheduleEvent(EVENT_INTRO_A2_8, 6500ms);
break;
case EVENT_INTRO_A2_8:
Talk(SAY_JAINA_INTRO_6);
events.ScheduleEvent(EVENT_INTRO_A2_9, 2000);
events.ScheduleEvent(EVENT_INTRO_A2_9, 2s);
break;
case EVENT_INTRO_A2_9:
if (Creature* pUther = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(NPC_UTHER)))
pUther->AI()->Talk(SAY_UTHER_INTRO_A2_3);
events.ScheduleEvent(EVENT_INTRO_A2_10, 9000);
events.ScheduleEvent(EVENT_INTRO_A2_10, 9s);
break;
case EVENT_INTRO_A2_10:
Talk(SAY_JAINA_INTRO_7);
events.ScheduleEvent(EVENT_INTRO_A2_11, 5000);
events.ScheduleEvent(EVENT_INTRO_A2_11, 5s);
break;
case EVENT_INTRO_A2_11:
if (Creature* pUther = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(NPC_UTHER)))
pUther->AI()->Talk(SAY_UTHER_INTRO_A2_4);
events.ScheduleEvent(EVENT_INTRO_A2_12, 11000);
events.ScheduleEvent(EVENT_INTRO_A2_12, 11s);
break;
case EVENT_INTRO_A2_12:
Talk(SAY_JAINA_INTRO_8);
events.ScheduleEvent(EVENT_INTRO_A2_13, 4000);
events.ScheduleEvent(EVENT_INTRO_A2_13, 4s);
break;
case EVENT_INTRO_A2_13:
if (Creature* pUther = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(NPC_UTHER)))
pUther->AI()->Talk(SAY_UTHER_INTRO_A2_5);
events.ScheduleEvent(EVENT_INTRO_A2_14, 12500);
events.ScheduleEvent(EVENT_INTRO_A2_14, 12s + 500ms);
break;
case EVENT_INTRO_A2_14:
Talk(SAY_JAINA_INTRO_9);
events.ScheduleEvent(EVENT_INTRO_A2_15, 10000);
events.ScheduleEvent(EVENT_INTRO_A2_15, 10s);
break;
case EVENT_INTRO_A2_15:
if (Creature* pUther = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(NPC_UTHER)))
pUther->AI()->Talk(SAY_UTHER_INTRO_A2_6);
events.ScheduleEvent(EVENT_INTRO_A2_16, 24000);
events.ScheduleEvent(EVENT_INTRO_A2_16, 24s);
break;
case EVENT_INTRO_A2_16:
if (Creature* pUther = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(NPC_UTHER)))
pUther->AI()->Talk(SAY_UTHER_INTRO_A2_7);
events.ScheduleEvent(EVENT_INTRO_A2_17, 4000);
events.ScheduleEvent(EVENT_INTRO_A2_17, 4s);
break;
case EVENT_INTRO_A2_17:
Talk(SAY_JAINA_INTRO_10);
events.ScheduleEvent(EVENT_INTRO_A2_18, 2000);
events.ScheduleEvent(EVENT_INTRO_A2_18, 2s);
break;
case EVENT_INTRO_A2_18:
if (Creature* pUther = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(NPC_UTHER)))
@ -350,24 +350,24 @@ public:
pUther->HandleEmoteCommand(EMOTE_ONESHOT_NO);
pUther->AI()->Talk(SAY_UTHER_INTRO_A2_8);
}
events.ScheduleEvent(EVENT_INTRO_A2_19, 11000);
events.ScheduleEvent(EVENT_INTRO_A2_19, 11s);
break;
case EVENT_INTRO_A2_19:
Talk(SAY_JAINA_INTRO_11);
events.ScheduleEvent(EVENT_INTRO_LK_1, 2000);
events.ScheduleEvent(EVENT_INTRO_LK_1, 2s);
break;
// H2 Intro Events
case EVENT_INTRO_H2_2:
Talk(SAY_SYLVANAS_INTRO_2);
events.ScheduleEvent(EVENT_INTRO_H2_3, 6000);
events.ScheduleEvent(EVENT_INTRO_H2_3, 6s);
break;
case EVENT_INTRO_H2_3:
Talk(SAY_SYLVANAS_INTRO_3);
pInstance->HandleGameObject(pInstance->GetGuidData(GO_FROSTMOURNE), true);
me->CastSpell(me, SPELL_FROSTMOURNE_SPAWN_SOUND, true);
me->CastSpell(me, SPELL_ARCANE_CAST_VISUAL, false);
events.ScheduleEvent(EVENT_INTRO_H2_4, 6000);
events.ScheduleEvent(EVENT_INTRO_H2_4, 6s);
break;
case EVENT_INTRO_H2_4:
if (Creature* pUther = pInstance->instance->GetCreature(pInstance->GetGuidData(NPC_UTHER)))
@ -377,43 +377,43 @@ public:
if (Aura* a = pUther->AddAura(SPELL_SHADOWMOURNE_VISUAL, pUther))
a->SetDuration(8000);
}
events.ScheduleEvent(EVENT_INTRO_H2_5, 2000);
events.ScheduleEvent(EVENT_INTRO_H2_5, 2s);
break;
case EVENT_INTRO_H2_5:
if (Creature* pUther = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(NPC_UTHER)))
pUther->AI()->Talk(SAY_UTHER_INTRO_H2_1);
events.ScheduleEvent(EVENT_INTRO_H2_6, 11000);
events.ScheduleEvent(EVENT_INTRO_H2_6, 11s);
break;
case EVENT_INTRO_H2_6:
Talk(SAY_SYLVANAS_INTRO_4);
events.ScheduleEvent(EVENT_INTRO_H2_7, 3000);
events.ScheduleEvent(EVENT_INTRO_H2_7, 3s);
break;
case EVENT_INTRO_H2_7:
if (Creature* pUther = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(NPC_UTHER)))
pUther->AI()->Talk(SAY_UTHER_INTRO_H2_2);
events.ScheduleEvent(EVENT_INTRO_H2_8, 6000);
events.ScheduleEvent(EVENT_INTRO_H2_8, 6s);
break;
case EVENT_INTRO_H2_8:
Talk(SAY_SYLVANAS_INTRO_5);
events.ScheduleEvent(EVENT_INTRO_H2_9, 5000);
events.ScheduleEvent(EVENT_INTRO_H2_9, 5s);
break;
case EVENT_INTRO_H2_9:
if (Creature* pUther = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(NPC_UTHER)))
pUther->AI()->Talk(SAY_UTHER_INTRO_H2_3);
events.ScheduleEvent(EVENT_INTRO_H2_10, 19000);
events.ScheduleEvent(EVENT_INTRO_H2_10, 19s);
break;
case EVENT_INTRO_H2_10:
Talk(SAY_SYLVANAS_INTRO_6);
events.ScheduleEvent(EVENT_INTRO_H2_11, 1500);
events.ScheduleEvent(EVENT_INTRO_H2_11, 1500ms);
break;
case EVENT_INTRO_H2_11:
if (Creature* pUther = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(NPC_UTHER)))
pUther->AI()->Talk(SAY_UTHER_INTRO_H2_4);
events.ScheduleEvent(EVENT_INTRO_H2_12, 19500);
events.ScheduleEvent(EVENT_INTRO_H2_12, 19s + 500ms);
break;
case EVENT_INTRO_H2_12:
Talk(SAY_SYLVANAS_INTRO_7);
events.ScheduleEvent(EVENT_INTRO_H2_13, 2000);
events.ScheduleEvent(EVENT_INTRO_H2_13, 2s);
break;
case EVENT_INTRO_H2_13:
if (Creature* pUther = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(NPC_UTHER)))
@ -421,16 +421,16 @@ public:
pUther->HandleEmoteCommand(EMOTE_ONESHOT_NO);
pUther->AI()->Talk(SAY_UTHER_INTRO_H2_5);
}
events.ScheduleEvent(EVENT_INTRO_H2_14, 12000);
events.ScheduleEvent(EVENT_INTRO_H2_14, 12s);
break;
case EVENT_INTRO_H2_14:
if (Creature* pUther = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(NPC_UTHER)))
pUther->AI()->Talk(SAY_UTHER_INTRO_H2_6);
events.ScheduleEvent(EVENT_INTRO_H2_15, 8000);
events.ScheduleEvent(EVENT_INTRO_H2_15, 8s);
break;
case EVENT_INTRO_H2_15:
Talk(SAY_SYLVANAS_INTRO_8);
events.ScheduleEvent(EVENT_INTRO_LK_1, 2000);
events.ScheduleEvent(EVENT_INTRO_LK_1, 2s);
break;
// Remaining Intro Events common for both faction
@ -451,9 +451,9 @@ public:
pUther->AI()->Talk(SAY_UTHER_INTRO_H2_7);
}
events.ScheduleEvent(EVENT_INTRO_LK_1_2, 2000);
events.ScheduleEvent(EVENT_INTRO_LK_1_3, 4000);
events.ScheduleEvent(EVENT_INTRO_LK_2, 11000);
events.ScheduleEvent(EVENT_INTRO_LK_1_2, 2s);
events.ScheduleEvent(EVENT_INTRO_LK_1_3, 4s);
events.ScheduleEvent(EVENT_INTRO_LK_2, 11s);
break;
case EVENT_INTRO_LK_1_2:
@ -470,20 +470,20 @@ public:
if (!shortver)
if (Creature* pLichKing = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(NPC_LICH_KING_EVENT)))
pLichKing->AI()->Talk(SAY_LK_INTRO_1);
events.ScheduleEvent(EVENT_INTRO_LK_3, 2000);
events.ScheduleEvent(EVENT_INTRO_LK_3, 2s);
break;
case EVENT_INTRO_LK_3:
if (!shortver)
if (Creature* pUther = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(NPC_UTHER)))
pUther->SetVisible(false);
events.ScheduleEvent(EVENT_INTRO_LK_4, 4000);
events.ScheduleEvent(EVENT_INTRO_LK_4, 4s);
break;
case EVENT_INTRO_LK_4:
if (Creature* pLichKing = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(NPC_LICH_KING_EVENT)))
pLichKing->AI()->Talk(SAY_LK_INTRO_2);
events.ScheduleEvent(EVENT_INTRO_LK_4_2, 10000);
events.ScheduleEvent(EVENT_INTRO_LK_4_2, 10s);
break;
case EVENT_INTRO_LK_4_2:
@ -495,7 +495,7 @@ public:
pInstance->HandleGameObject(pInstance->GetGuidData(GO_FROSTMOURNE), false);
events.ScheduleEvent(EVENT_INTRO_LK_4_3, 1750);
}
events.ScheduleEvent(EVENT_INTRO_LK_5, 6000);
events.ScheduleEvent(EVENT_INTRO_LK_5, 6s);
break;
case EVENT_INTRO_LK_4_3:
@ -531,8 +531,8 @@ public:
if (Creature* pLichKing = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(NPC_LICH_KING_EVENT)))
pLichKing->AI()->Talk(SAY_LK_INTRO_3);
events.ScheduleEvent(EVENT_INTRO_LK_5_2, 5000);
events.ScheduleEvent(EVENT_INTRO_LK_6, 8000);
events.ScheduleEvent(EVENT_INTRO_LK_5_2, 5s);
events.ScheduleEvent(EVENT_INTRO_LK_6, 8s);
break;
case EVENT_INTRO_LK_5_2:
@ -544,14 +544,14 @@ public:
if (Creature* pFalric = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(DATA_FALRIC)))
pFalric->AI()->Talk(SAY_FALRIC_INTRO_1);
events.ScheduleEvent(EVENT_INTRO_LK_7, 2000);
events.ScheduleEvent(EVENT_INTRO_LK_7, 2s);
break;
case EVENT_INTRO_LK_7:
if (Creature* pMarwyn = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(DATA_MARWYN)))
pMarwyn->AI()->Talk(SAY_MARWYN_INTRO_1);
events.ScheduleEvent(EVENT_INTRO_LK_8, 2000);
events.ScheduleEvent(EVENT_INTRO_LK_8, 2s);
break;
case EVENT_INTRO_LK_8:
@ -561,7 +561,7 @@ public:
pInstance->HandleGameObject(pInstance->GetGuidData(GO_ARTHAS_DOOR), true);
events.ScheduleEvent(EVENT_INTRO_LK_9, 5000);
events.ScheduleEvent(EVENT_INTRO_LK_9, 5s);
break;
case EVENT_INTRO_LK_9:
@ -573,13 +573,13 @@ public:
me->GetMotionMaster()->MovePoint(0, LichKingMoveAwayPos, false);
if (Creature* c = pInstance->instance->GetCreature(pInstance->GetGuidData(NPC_DARK_RANGER_LORALEN)))
c->GetMotionMaster()->MovePoint(0, LichKingMoveAwayPos, false);
events.ScheduleEvent(EVENT_INTRO_END, 14000);
events.ScheduleEvent(EVENT_INTRO_END, 14s);
break;
case EVENT_INTRO_END:
pInstance->HandleGameObject(pInstance->GetGuidData(GO_ARTHAS_DOOR), false);
pInstance->HandleGameObject(pInstance->GetGuidData(GO_FRONT_DOOR), false);
events.ScheduleEvent(EVENT_INTRO_END_SET, 10000);
events.ScheduleEvent(EVENT_INTRO_END_SET, 10s);
break;
case EVENT_INTRO_END_SET:
if (Creature* pLichKing = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(NPC_LICH_KING_EVENT)))
@ -698,10 +698,10 @@ public:
void JustEngagedWith(Unit* /*who*/) override
{
events.ScheduleEvent(EVENT_SHADOW_WORD_PAIN, 5000);
events.ScheduleEvent(EVENT_CIRCLE_OF_DESTRUCTION, 8000);
events.ScheduleEvent(EVENT_COWER_IN_FEAR, 10000);
events.ScheduleEvent(EVENT_DARK_MENDING, 8000);
events.ScheduleEvent(EVENT_SHADOW_WORD_PAIN, 5s);
events.ScheduleEvent(EVENT_CIRCLE_OF_DESTRUCTION, 8s);
events.ScheduleEvent(EVENT_COWER_IN_FEAR, 10s);
events.ScheduleEvent(EVENT_DARK_MENDING, 8s);
}
void JustDied(Unit* /*killer*/) override
@ -734,26 +734,26 @@ public:
case EVENT_SHADOW_WORD_PAIN:
if (Unit* target = SelectTargetFromPlayerList(40.0f, 0, true))
me->CastSpell(target, SPELL_SHADOW_WORD_PAIN, false);
events.ScheduleEvent(EVENT_SHADOW_WORD_PAIN, 5000);
events.ScheduleEvent(EVENT_SHADOW_WORD_PAIN, 5s);
break;
case EVENT_CIRCLE_OF_DESTRUCTION:
if (Unit* target = SelectTargetFromPlayerList(10.0f, 0, true))
me->CastSpell(target, SPELL_CIRCLE_OF_DESTRUCTION, false);
events.ScheduleEvent(EVENT_CIRCLE_OF_DESTRUCTION, 12000);
events.ScheduleEvent(EVENT_CIRCLE_OF_DESTRUCTION, 12s);
break;
case EVENT_COWER_IN_FEAR:
if (Unit* target = SelectTargetFromPlayerList(20.0f, 0, true))
me->CastSpell(target, SPELL_COWER_IN_FEAR, false);
events.ScheduleEvent(EVENT_COWER_IN_FEAR, 10000);
events.ScheduleEvent(EVENT_COWER_IN_FEAR, 10s);
break;
case EVENT_DARK_MENDING:
if (Unit* target = DoSelectLowestHpFriendly(35.0f, DUNGEON_MODE(20000, 35000)))
{
me->CastSpell(target, SPELL_DARK_MENDING, false);
events.ScheduleEvent(EVENT_DARK_MENDING, 6000);
events.ScheduleEvent(EVENT_DARK_MENDING, 6s);
}
else
events.ScheduleEvent(EVENT_DARK_MENDING, 3000);
events.ScheduleEvent(EVENT_DARK_MENDING, 3s);
break;
}
@ -805,11 +805,11 @@ public:
void JustEngagedWith(Unit* /*who*/) override
{
events.ScheduleEvent(EVENT_FIREBALL, 3000);
events.ScheduleEvent(EVENT_FLAMESTRIKE, 6000);
events.ScheduleEvent(EVENT_FROSTBOLT, 9000);
events.ScheduleEvent(EVENT_CHAINS_OF_ICE, 12000);
events.ScheduleEvent(EVENT_HALLUCINATION, 40000);
events.ScheduleEvent(EVENT_FIREBALL, 3s);
events.ScheduleEvent(EVENT_FLAMESTRIKE, 6s);
events.ScheduleEvent(EVENT_FROSTBOLT, 9s);
events.ScheduleEvent(EVENT_CHAINS_OF_ICE, 12s);
events.ScheduleEvent(EVENT_HALLUCINATION, 40s);
}
void JustDied(Unit* /*killer*/) override
@ -841,21 +841,21 @@ public:
{
case EVENT_FIREBALL:
me->CastSpell(me->GetVictim(), SPELL_FIREBALL, false);
events.ScheduleEvent(EVENT_FIREBALL, 6000);
events.ScheduleEvent(EVENT_FIREBALL, 6s);
break;
case EVENT_FLAMESTRIKE:
me->CastSpell(me->GetVictim(), SPELL_FLAMESTRIKE, false);
events.ScheduleEvent(EVENT_FLAMESTRIKE, 15000);
events.ScheduleEvent(EVENT_FLAMESTRIKE, 15s);
break;
case EVENT_FROSTBOLT:
if (Unit* target = SelectTargetFromPlayerList(40.0f, 0, true))
me->CastSpell(target, SPELL_FROSTBOLT, false);
events.ScheduleEvent(EVENT_FROSTBOLT, 9000);
events.ScheduleEvent(EVENT_FROSTBOLT, 9s);
break;
case EVENT_CHAINS_OF_ICE:
if (Unit* target = SelectTargetFromPlayerList(100.0f, 0, true))
me->CastSpell(target, SPELL_CHAINS_OF_ICE, false);
events.ScheduleEvent(EVENT_CHAINS_OF_ICE, 12000);
events.ScheduleEvent(EVENT_CHAINS_OF_ICE, 12s);
break;
case EVENT_HALLUCINATION:
//me->CastSpell(me, SPELL_HALLUCINATION, false);
@ -960,10 +960,10 @@ public:
void JustEngagedWith(Unit* /*who*/) override
{
events.ScheduleEvent(EVENT_SHADOW_STEP, 4000);
events.ScheduleEvent(EVENT_DEADLY_POISON, 6000);
events.ScheduleEvent(EVENT_ENVENOMED_DAGGER_THROW, 10000);
events.ScheduleEvent(EVENT_KIDNEY_SHOT, 5000);
events.ScheduleEvent(EVENT_SHADOW_STEP, 4s);
events.ScheduleEvent(EVENT_DEADLY_POISON, 6s);
events.ScheduleEvent(EVENT_ENVENOMED_DAGGER_THROW, 10s);
events.ScheduleEvent(EVENT_KIDNEY_SHOT, 5s);
}
void JustDied(Unit* /*killer*/) override
@ -1001,20 +1001,20 @@ public:
AttackStart(target);
me->CastSpell(target, SPELL_SHADOW_STEP, false);
}
events.ScheduleEvent(EVENT_SHADOW_STEP, 20000);
events.ScheduleEvent(EVENT_SHADOW_STEP, 20s);
break;
case EVENT_DEADLY_POISON:
me->CastSpell(me->GetVictim(), SPELL_DEADLY_POISON, false);
events.ScheduleEvent(EVENT_DEADLY_POISON, 4000);
events.ScheduleEvent(EVENT_DEADLY_POISON, 4s);
break;
case EVENT_ENVENOMED_DAGGER_THROW:
if (Unit* target = SelectTargetFromPlayerList(40.0f, 0, true))
me->CastSpell(target, SPELL_ENVENOMED_DAGGER_THROW, false);
events.ScheduleEvent(EVENT_ENVENOMED_DAGGER_THROW, 10000);
events.ScheduleEvent(EVENT_ENVENOMED_DAGGER_THROW, 10s);
break;
case EVENT_KIDNEY_SHOT:
me->CastSpell(me->GetVictim(), SPELL_KIDNEY_SHOT, false);
events.ScheduleEvent(EVENT_KIDNEY_SHOT, 10000);
events.ScheduleEvent(EVENT_KIDNEY_SHOT, 10s);
break;
}
@ -1066,9 +1066,9 @@ public:
void JustEngagedWith(Unit* /*who*/) override
{
events.ScheduleEvent(EVENT_SPECTRAL_STRIKE, 5000);
events.ScheduleEvent(EVENT_SHIELD_BASH, 6000);
events.ScheduleEvent(EVENT_TORTURED_ENRAGE, 15000);
events.ScheduleEvent(EVENT_SPECTRAL_STRIKE, 5s);
events.ScheduleEvent(EVENT_SHIELD_BASH, 6s);
events.ScheduleEvent(EVENT_TORTURED_ENRAGE, 15s);
}
void JustDied(Unit* /*killer*/) override
@ -1100,15 +1100,15 @@ public:
{
case EVENT_SPECTRAL_STRIKE:
me->CastSpell(me->GetVictim(), SPELL_SPECTRAL_STRIKE, false);
events.ScheduleEvent(EVENT_SPECTRAL_STRIKE, 5000);
events.ScheduleEvent(EVENT_SPECTRAL_STRIKE, 5s);
break;
case EVENT_SHIELD_BASH:
me->CastSpell(me->GetVictim(), SPELL_SHIELD_BASH, false);
events.ScheduleEvent(EVENT_SHIELD_BASH, 6000);
events.ScheduleEvent(EVENT_SHIELD_BASH, 6s);
break;
case EVENT_TORTURED_ENRAGE:
me->CastSpell(me, SPELL_TORTURED_ENRAGE, false);
events.ScheduleEvent(EVENT_TORTURED_ENRAGE, 15000);
events.ScheduleEvent(EVENT_TORTURED_ENRAGE, 15s);
break;
}
@ -1160,9 +1160,9 @@ public:
void JustEngagedWith(Unit* /*who*/) override
{
events.ScheduleEvent(EVENT_CURSED_ARROW, 10000);
events.ScheduleEvent(EVENT_FROST_TRAP, 15000);
events.ScheduleEvent(EVENT_ICE_SHOT, 15000);
events.ScheduleEvent(EVENT_CURSED_ARROW, 10s);
events.ScheduleEvent(EVENT_FROST_TRAP, 15s);
events.ScheduleEvent(EVENT_ICE_SHOT, 15s);
}
void JustDied(Unit* /*killer*/) override
@ -1194,16 +1194,16 @@ public:
{
case EVENT_CURSED_ARROW:
me->CastSpell(me->GetVictim(), SPELL_CURSED_ARROW, false);
events.ScheduleEvent(EVENT_CURSED_ARROW, 10000);
events.ScheduleEvent(EVENT_CURSED_ARROW, 10s);
break;
case EVENT_FROST_TRAP:
me->CastSpell((Unit*)nullptr, SPELL_FROST_TRAP, false);
events.ScheduleEvent(EVENT_FROST_TRAP, 30000);
events.ScheduleEvent(EVENT_FROST_TRAP, 30s);
break;
case EVENT_ICE_SHOT:
if (Unit* target = SelectTargetFromPlayerList(40.0f, 0, true))
me->CastSpell(target, SPELL_ICE_SHOT, false);
events.ScheduleEvent(EVENT_ICE_SHOT, 8000);
events.ScheduleEvent(EVENT_ICE_SHOT, 8s);
break;
}
@ -1245,8 +1245,8 @@ public:
void JustEngagedWith(Unit* /*who*/) override
{
Talk(SAY_FROSTSWORN_GENERAL_AGGRO);
events.ScheduleEvent(EVENT_ACTIVATE_REFLECTIONS, 8000);
events.ScheduleEvent(EVENT_THROW_SHIELD, 6000);
events.ScheduleEvent(EVENT_ACTIVATE_REFLECTIONS, 8s);
events.ScheduleEvent(EVENT_THROW_SHIELD, 6s);
pInstance->SetData(ACTION_SPIRITUAL_REFLECTIONS_COPY, 1);
}
@ -1276,7 +1276,7 @@ public:
case EVENT_THROW_SHIELD:
if (Unit* target = SelectTargetFromPlayerList(40.0f, 0, true))
me->CastSpell(target, SPELL_THROW_SHIELD, false);
events.ScheduleEvent(EVENT_THROW_SHIELD, 10000);
events.ScheduleEvent(EVENT_THROW_SHIELD, 10s);
break;
}
@ -1323,7 +1323,7 @@ public:
void JustEngagedWith(Unit* /*who*/) override
{
events.ScheduleEvent(EVENT_BALEFUL_STRIKE, urand(4000, 7000));
events.ScheduleEvent(EVENT_BALEFUL_STRIKE, 4s, 7s);
}
void UpdateAI(uint32 diff) override
@ -1340,7 +1340,7 @@ public:
{
case EVENT_BALEFUL_STRIKE:
me->CastSpell(me->GetVictim(), SPELL_BALEFUL_STRIKE, false);
events.ScheduleEvent(EVENT_BALEFUL_STRIKE, urand(4000, 7000));
events.ScheduleEvent(EVENT_BALEFUL_STRIKE, 4s, 7s);
break;
}
@ -1442,13 +1442,13 @@ public:
currentWall = 0;
reqKillCount = 0;
events.Reset();
events.RescheduleEvent(EVENT_LK_CHECK_COMBAT, 1000);
events.RescheduleEvent(EVENT_LK_CHECK_COMBAT, 1s);
}
void DoAction(int32 a) override
{
if (a == ACTION_START_LK_FIGHT_REAL)
events.ScheduleEvent(EVENT_LK_START_FOLLOWING, 1500);
events.ScheduleEvent(EVENT_LK_START_FOLLOWING, 1500ms);
else if ((a == ACTION_INFORM_TRASH_DIED && reqKillCount) || a == ACTION_CHECK_TRASH_DIED)
{
if ((a == ACTION_CHECK_TRASH_DIED && reqKillCount == 0) || (a == ACTION_INFORM_TRASH_DIED && (--reqKillCount) == 0))
@ -1458,8 +1458,8 @@ public:
pInstance->SetData(ACTION_DELETE_ICE_WALL, 1);
if (currentWall <= 3)
{
events.ScheduleEvent(EVENT_LK_SUMMON_NEXT_ICE_WALL, 1000);
events.ScheduleEvent(EVENT_LK_SUMMON, currentWall == 3 ? 11000 : 7500);
events.ScheduleEvent(EVENT_LK_SUMMON_NEXT_ICE_WALL, 1s);
events.ScheduleEvent(EVENT_LK_SUMMON, currentWall == 3 ? 11s : 7500ms);
}
else
me->RemoveAura(SPELL_REMORSELESS_WINTER);
@ -1483,7 +1483,7 @@ public:
if (Creature* c = pInstance->instance->GetCreature(pInstance->GetGuidData(NPC_ICE_WALL_TARGET)))
{
me->CastSpell(c, SPELL_SUMMON_ICE_WALL, false);
events.ScheduleEvent(EVENT_LK_REMORSELESS_WINTER, 4000);
events.ScheduleEvent(EVENT_LK_REMORSELESS_WINTER, 4s);
}
}
else if (currentWall == 4)
@ -1498,7 +1498,7 @@ public:
{
++reqKillCount;
if (events.GetNextEventTime(EVENT_DECREASE_REQ_COUNT_BY_100))
events.RescheduleEvent(EVENT_DECREASE_REQ_COUNT_BY_100, 10000);
events.RescheduleEvent(EVENT_DECREASE_REQ_COUNT_BY_100, 10s);
summons.Summon(s);
s->SetHomePosition(PathWaypoints[WP_STOP[currentWall + 1]]);
s->GetMotionMaster()->MovePoint(0, PathWaypoints[WP_STOP[currentWall + 1]]);
@ -1545,8 +1545,8 @@ public:
reqKillCount = 255;
leader->InterruptNonMeleeSpells(true);
me->CastSpell(leader, SPELL_HARVEST_SOUL, false);
events.ScheduleEvent(EVENT_LK_KILL_LEADER, 3000);
events.ScheduleEvent(EVENT_LK_CHECK_COMBAT, 1000);
events.ScheduleEvent(EVENT_LK_KILL_LEADER, 3s);
events.ScheduleEvent(EVENT_LK_CHECK_COMBAT, 1s);
break;
}
if (pInstance->instance->HavePlayers())
@ -1572,7 +1572,7 @@ public:
pInstance->SetData(ACTION_STOP_LK_FIGHT, 1);
}
}
events.ScheduleEvent(EVENT_LK_CHECK_COMBAT, 1000);
events.ScheduleEvent(EVENT_LK_CHECK_COMBAT, 1s);
break;
case EVENT_LK_KILL_LEADER:
if (Creature* leader = pInstance->instance->GetCreature(pInstance->GetGuidData(NPC_SYLVANAS_PART2)))
@ -1604,45 +1604,45 @@ public:
path.push_back(G3D::Vector3(PathWaypoints[i].GetPositionX(), PathWaypoints[i].GetPositionY(), PathWaypoints[i].GetPositionZ()));
me->GetMotionMaster()->MoveSplinePath(&path);
me->GetMotionMaster()->propagateSpeedChange();
events.ScheduleEvent(EVENT_LK_SUMMON, 1000);
events.ScheduleEvent(EVENT_LK_SUMMON, 1s);
}
break;
case EVENT_LK_SUMMON:
switch (currentWall)
{
case 0:
events.ScheduleEvent(EVENT_LK_SUMMON_GHOULS, 0);
events.ScheduleEvent(EVENT_LK_SUMMON_RWD, 4000);
events.ScheduleEvent(EVENT_LK_SUMMON_GHOULS, 0ms);
events.ScheduleEvent(EVENT_LK_SUMMON_RWD, 4s);
break;
case 1:
events.ScheduleEvent(EVENT_LK_SUMMON_LA, 0);
events.ScheduleEvent(EVENT_LK_SUMMON_GHOULS, 100);
events.ScheduleEvent(EVENT_LK_SUMMON_RWD, 4000);
events.ScheduleEvent(EVENT_LK_SUMMON_RWD, 5100);
events.ScheduleEvent(EVENT_LK_SUMMON_LA, 0ms);
events.ScheduleEvent(EVENT_LK_SUMMON_GHOULS, 100ms);
events.ScheduleEvent(EVENT_LK_SUMMON_RWD, 4s);
events.ScheduleEvent(EVENT_LK_SUMMON_RWD, 5100ms);
break;
case 2:
events.ScheduleEvent(EVENT_LK_SUMMON_LA, 0);
events.ScheduleEvent(EVENT_LK_SUMMON_GHOULS, 100);
events.ScheduleEvent(EVENT_LK_SUMMON_LA, 4000);
events.ScheduleEvent(EVENT_LK_SUMMON_RWD, 4100);
events.ScheduleEvent(EVENT_LK_SUMMON_RWD, 5200);
events.ScheduleEvent(EVENT_LK_SUMMON_LA, 0ms);
events.ScheduleEvent(EVENT_LK_SUMMON_GHOULS, 100ms);
events.ScheduleEvent(EVENT_LK_SUMMON_LA, 4s);
events.ScheduleEvent(EVENT_LK_SUMMON_RWD, 4100ms);
events.ScheduleEvent(EVENT_LK_SUMMON_RWD, 5200ms);
break;
case 3:
events.ScheduleEvent(EVENT_LK_SUMMON_LA, 0);
events.ScheduleEvent(EVENT_LK_SUMMON_RWD, 100);
events.ScheduleEvent(EVENT_LK_SUMMON_GHOULS, 1200);
events.ScheduleEvent(EVENT_LK_SUMMON_RWD, 5300);
events.ScheduleEvent(EVENT_LK_SUMMON_RWD, 6400);
events.ScheduleEvent(EVENT_LK_SUMMON_GHOULS, 12500);
events.ScheduleEvent(EVENT_LK_SUMMON_LA, 16500);
events.ScheduleEvent(EVENT_LK_SUMMON_RWD, 16600);
events.ScheduleEvent(EVENT_LK_SUMMON_LA, 17700);
events.ScheduleEvent(EVENT_LK_SUMMON_LA, 0ms);
events.ScheduleEvent(EVENT_LK_SUMMON_RWD, 100ms);
events.ScheduleEvent(EVENT_LK_SUMMON_GHOULS, 1200ms);
events.ScheduleEvent(EVENT_LK_SUMMON_RWD, 5300ms);
events.ScheduleEvent(EVENT_LK_SUMMON_RWD, 6400ms);
events.ScheduleEvent(EVENT_LK_SUMMON_GHOULS, 12s + 500ms);
events.ScheduleEvent(EVENT_LK_SUMMON_LA, 16s + 500ms);
events.ScheduleEvent(EVENT_LK_SUMMON_RWD, 16s + 600ms);
events.ScheduleEvent(EVENT_LK_SUMMON_LA, 17s + 700ms);
break;
}
if (currentWall <= 3)
{
reqKillCount = 100;
events.RescheduleEvent(EVENT_DECREASE_REQ_COUNT_BY_100, 10000);
events.RescheduleEvent(EVENT_DECREASE_REQ_COUNT_BY_100, 10s);
}
break;
case EVENT_DECREASE_REQ_COUNT_BY_100:
@ -1720,15 +1720,15 @@ public:
switch(actionId)
{
case ACTION_START_INTRO:
events.ScheduleEvent(EVENT_LK_SAY_AGGRO, 0);
events.ScheduleEvent(EVENT_LK_SAY_AGGRO, 0ms);
break;
case ACTION_START_LK_FIGHT_REAL:
events.ScheduleEvent(EVENT_START_RUN, 0);
events.ScheduleEvent(EVENT_START_RUN, 0ms);
break;
case ACTION_INFORM_WALL_DESTROYED:
MoveToNextStopPoint();
if (currentStopPoint == 5)
events.ScheduleEvent(EVENT_SAY_OPENING, 3000);
events.ScheduleEvent(EVENT_SAY_OPENING, 3s);
break;
}
}
@ -1753,7 +1753,7 @@ public:
void MovementInform(uint32 type, uint32 /*id*/) override
{
if (type == ESCORT_MOTION_TYPE && me->movespline->Finalized())
events.ScheduleEvent(EVENT_SAY_LEADER_STOP_TEXT, 1000);
events.ScheduleEvent(EVENT_SAY_LEADER_STOP_TEXT, 1s);
}
void UpdateAI(uint32 diff) override
@ -1764,7 +1764,7 @@ public:
case EVENT_LK_SAY_AGGRO:
if (Creature* c = pInstance->instance->GetCreature(pInstance->GetGuidData(NPC_LICH_KING_BOSS)))
c->AI()->Talk(me->GetEntry() == NPC_JAINA_PART2 ? SAY_LK_AGGRO_ALLY : SAY_LK_AGGRO_HORDE);
events.ScheduleEvent(me->GetEntry() == NPC_JAINA_PART2 ? EVENT_JAINA_IMMOBILIZE_LK : EVENT_SYLVANAS_IMMOBILIZE_JUMP, 12000);
events.ScheduleEvent(me->GetEntry() == NPC_JAINA_PART2 ? EVENT_JAINA_IMMOBILIZE_LK : EVENT_SYLVANAS_IMMOBILIZE_JUMP, 12s);
break;
case EVENT_JAINA_IMMOBILIZE_LK:
if (Creature* c = pInstance->instance->GetCreature(pInstance->GetGuidData(NPC_LICH_KING_BOSS)))
@ -1772,7 +1772,7 @@ public:
c->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE);
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE);
me->CastSpell(c, SPELL_JAINA_ICE_PRISON, false);
events.ScheduleEvent(EVENT_SAY_LEAVE, 5000);
events.ScheduleEvent(EVENT_SAY_LEAVE, 5s);
}
break;
case EVENT_SYLVANAS_IMMOBILIZE_JUMP:
@ -1781,13 +1781,13 @@ public:
c->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE);
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE);
me->KnockbackFrom(c->GetPositionX(), c->GetPositionY(), 10.0f, 3.0f);
events.ScheduleEvent(EVENT_SYLVANAS_DARK_BINDING, 1500);
events.ScheduleEvent(EVENT_SYLVANAS_DARK_BINDING, 1500ms);
}
break;
case EVENT_SYLVANAS_DARK_BINDING:
if (Creature* c = pInstance->instance->GetCreature(pInstance->GetGuidData(NPC_LICH_KING_BOSS)))
me->CastSpell(c, SPELL_SYLVANAS_DARK_BINDING, false);
events.ScheduleEvent(EVENT_SAY_LEAVE, 3500);
events.ScheduleEvent(EVENT_SAY_LEAVE, 3500ms);
break;
case EVENT_SAY_LEAVE:
{
@ -1798,7 +1798,7 @@ public:
Talk(me->GetEntry() == NPC_JAINA_PART2 ? SAY_JAINA_AGGRO : SAY_SYLVANA_AGGRO);
me->GetMotionMaster()->MovePoint(0, LeaderEscapePos);
events.ScheduleEvent(EVENT_ADD_GOSSIP, 8000);
events.ScheduleEvent(EVENT_ADD_GOSSIP, 8s);
}
break;
case EVENT_ADD_GOSSIP:
@ -1927,9 +1927,9 @@ public:
void JustEngagedWith(Unit* /*who*/) override
{
events.ScheduleEvent(1, 10000);
events.ScheduleEvent(2, 4500);
events.ScheduleEvent(3, 9000);
events.ScheduleEvent(1, 10s);
events.ScheduleEvent(2, 4500ms);
events.ScheduleEvent(3, 9s);
}
void UpdateAI(uint32 diff) override
@ -1947,16 +1947,16 @@ public:
case 1:
if (Unit* target = SelectTargetFromPlayerList(30.0f, 0, true))
me->CastSpell(target, 70144, false);
events.ScheduleEvent(1, 12000);
events.ScheduleEvent(1, 12s);
break;
case 2:
me->CastSpell(me->GetVictim(), 70080, false);
events.ScheduleEvent(2, 4500);
events.ScheduleEvent(2, 4500ms);
break;
case 3:
if (SelectTargetFromPlayerList(30.0f, 0, true))
me->CastSpell(me->GetVictim(), 70145, false);
events.ScheduleEvent(3, 9000);
events.ScheduleEvent(3, 9s);
break;
}
@ -1996,7 +1996,7 @@ public:
void JustEngagedWith(Unit* /*who*/) override
{
events.ScheduleEvent(1, 5000);
events.ScheduleEvent(1, 5s);
}
void UpdateAI(uint32 diff) override
@ -2015,10 +2015,10 @@ public:
if (me->IsWithinMeleeRange(me->GetVictim()))
{
me->CastSpell(me->GetVictim(), 70176, false);
events.ScheduleEvent(1, 18000);
events.ScheduleEvent(1, 18s);
}
else
events.ScheduleEvent(1, 3000);
events.ScheduleEvent(1, 3s);
break;
}

View file

@ -113,7 +113,7 @@ public:
Talk(SAY_AGGRO);
DoZoneInCombat();
events.RescheduleEvent(EVENT_SPELL_THROW_SARONITE, urand(5000, 7500));
events.RescheduleEvent(EVENT_SPELL_THROW_SARONITE, 5000ms, 7500ms);
if (pInstance)
pInstance->SetData(DATA_GARFROST, IN_PROGRESS);
@ -127,9 +127,9 @@ public:
me->SetReactState(REACT_PASSIVE);
me->SetTarget();
me->SendMeleeAttackStop(me->GetVictim());
events.DelayEvents(8000);
events.DelayEvents(8s);
me->CastSpell(me, SPELL_THUNDERING_STOMP, false);
events.RescheduleEvent(EVENT_JUMP, 1250);
events.RescheduleEvent(EVENT_JUMP, 1250ms);
return;
}
@ -140,9 +140,9 @@ public:
me->SetReactState(REACT_PASSIVE);
me->SetTarget();
me->SendMeleeAttackStop(me->GetVictim());
events.DelayEvents(8000);
events.DelayEvents(8s);
me->CastSpell(me, SPELL_THUNDERING_STOMP, false);
events.RescheduleEvent(EVENT_JUMP, 1250);
events.RescheduleEvent(EVENT_JUMP, 1250ms);
return;
}
}
@ -192,7 +192,7 @@ public:
}
else if (spell->Id == uint32(SPELL_FORGE_MACE))
{
events.RescheduleEvent(EVENT_SPELL_DEEP_FREEZE, 10000);
events.RescheduleEvent(EVENT_SPELL_DEEP_FREEZE, 10s);
SetEquipmentSlots(false, EQUIP_ID_MACE);
me->SetReactState(REACT_AGGRESSIVE);
me->SetControlled(false, UNIT_STATE_ROOT);
@ -245,7 +245,7 @@ public:
Talk(WHISPER_BOULDER, target);
me->CastSpell(target, SPELL_THROW_SARONITE, false);
}
events.RepeatEvent(urand(12500, 20000));
events.Repeat(12s + 500ms, 20s);
break;
case EVENT_JUMP:
me->DisableRotate(true);
@ -257,7 +257,7 @@ public:
break;
case EVENT_SPELL_CHILLING_WAVE:
me->CastSpell(me->GetVictim(), SPELL_CHILLING_WAVE, false);
events.RepeatEvent(35000);
events.Repeat(35s);
break;
case EVENT_SPELL_DEEP_FREEZE:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 0.0f, true))
@ -265,7 +265,7 @@ public:
Talk(EMOTE_DEEP_FREEZE, target);
me->CastSpell(target, SPELL_DEEP_FREEZE, false);
}
events.RepeatEvent(35000);
events.Repeat(35s);
break;
}

View file

@ -103,10 +103,10 @@ public:
k->AI()->Talk(SAY_AGGRO);
DoZoneInCombat();
events.Reset();
events.RescheduleEvent(EVENT_SPELL_TOXIC_WASTE, urand(3000, 5000));
events.RescheduleEvent(EVENT_SPELL_MIGHTY_KICK, urand(10000, 20000));
events.RescheduleEvent(EVENT_SPELL_SHADOW_BOLT, 10000);
events.RescheduleEvent(EVENT_SPECIAL, 25000);
events.RescheduleEvent(EVENT_SPELL_TOXIC_WASTE, 3s, 5s);
events.RescheduleEvent(EVENT_SPELL_MIGHTY_KICK, 10s, 20s);
events.RescheduleEvent(EVENT_SPELL_SHADOW_BOLT, 10s);
events.RescheduleEvent(EVENT_SPECIAL, 25s);
if (pInstance)
pInstance->SetData(DATA_ICK, IN_PROGRESS);
@ -121,7 +121,7 @@ public:
Talk(EMOTE_ICK_CHASE, target);
AttackStart(target);
me->SetReactState(REACT_PASSIVE);
events.RescheduleEvent(EVENT_SET_REACT_AGGRESSIVE, 12000);
events.RescheduleEvent(EVENT_SET_REACT_AGGRESSIVE, 12s);
}
}
@ -186,14 +186,14 @@ public:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 40.0f, true))
{
k->CastSpell(target, SPELL_TOXIC_WASTE);
events.RepeatEvent(urand(7000, 10000));
events.Repeat(7s, 10s);
break;
}
events.RepeatEvent(2500);
events.Repeat(2500ms);
break;
case EVENT_SPELL_MIGHTY_KICK:
me->CastSpell(me->GetVictim(), SPELL_MIGHTY_KICK, false);
events.RepeatEvent(urand(20000, 25000));
events.Repeat(20s, 25s);
break;
case EVENT_SPELL_SHADOW_BOLT:
if (Creature* k = GetKrick())
@ -201,10 +201,10 @@ public:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 35.0f, true))
{
k->CastSpell(target, SPELL_SHADOW_BOLT);
events.RepeatEvent(14000);
events.Repeat(14s);
break;
}
events.RepeatEvent(2500);
events.Repeat(2500ms);
break;
case EVENT_SET_REACT_AGGRESSIVE:
me->SetReactState(REACT_AGGRESSIVE);
@ -239,10 +239,10 @@ public:
k->CastSpell(k, SPELL_EXPLOSIVE_BARRAGE_KRICK, false);
me->CastSpell(me, SPELL_EXPLOSIVE_BARRAGE_ICK, false);
}
events.DelayEvents(20000);
events.DelayEvents(20s);
break;
}
events.RepeatEvent(urand(25000, 30000));
events.Repeat(25s, 30s);
break;
}
@ -324,7 +324,7 @@ public:
}
}
events.RescheduleEvent(1, 3000);
events.RescheduleEvent(1, 3s);
break;
case 1:
Talk(SAY_OUTRO_KRICK_1);
@ -344,7 +344,7 @@ public:
c->DespawnOrUnsummon();
}
events.RescheduleEvent(2, 7000);
events.RescheduleEvent(2, 7s);
break;
case 2:
if (pInstance)
@ -359,12 +359,12 @@ public:
c->AI()->Talk(c->GetEntry() == NPC_JAINA_PART1 ? SAY_JAINA_KRICK_1 : SAY_SYLVANAS_KRICK_1);
}
events.RescheduleEvent(3, 6500);
events.RescheduleEvent(3, 6500ms);
break;
case 3:
Talk(SAY_OUTRO_KRICK_2);
events.RescheduleEvent(4, 17000);
events.RescheduleEvent(4, 17s);
break;
case 4:
if (pInstance)
@ -375,12 +375,12 @@ public:
c->AI()->Talk(c->GetEntry() == NPC_JAINA_PART1 ? SAY_JAINA_KRICK_2 : SAY_SYLVANAS_KRICK_2);
}
events.RescheduleEvent(5, 6500);
events.RescheduleEvent(5, 6500ms);
break;
case 5:
Talk(SAY_OUTRO_KRICK_3);
events.RescheduleEvent(6, 6500);
events.RescheduleEvent(6, 6500ms);
break;
case 6:
if (pInstance)
@ -390,7 +390,7 @@ public:
c->AI()->Talk(SAY_TYRANNUS_KRICK_1);
}
events.RescheduleEvent(7, 4000);
events.RescheduleEvent(7, 4s);
break;
case 7:
me->CastSpell(me, 69413, true);
@ -400,7 +400,7 @@ public:
me->SendMovementFlagUpdate();
me->GetMotionMaster()->MoveTakeoff(0, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ() + 9.0f, 0.5f * 7.0f);
events.RescheduleEvent(8, 2000);
events.RescheduleEvent(8, 2s);
break;
case 8:
Talk(SAY_OUTRO_KRICK_4);
@ -424,7 +424,7 @@ public:
me->RemoveAllAuras();
me->GetMotionMaster()->MoveFall(0, true);
events.RescheduleEvent(10, 5000);
events.RescheduleEvent(10, 5s);
break;
case 10:
if (pInstance)

View file

@ -121,10 +121,10 @@ public:
me->CastSpell(me, 43979, true);
Talk(SAY_AGGRO);
events.Reset();
events.RescheduleEvent(EVENT_SPELL_FORCEFUL_SMASH, urand(14000, 16000));
events.RescheduleEvent(EVENT_SPELL_OVERLORDS_BRAND, urand(4000, 6000));
events.RescheduleEvent(EVENT_RIMEFANG_SPELL_ICY_BLAST, 5000);
events.RescheduleEvent(EVENT_SPELL_MARK_OF_RIMEFANG, 25000);
events.RescheduleEvent(EVENT_SPELL_FORCEFUL_SMASH, 14s, 16s);
events.RescheduleEvent(EVENT_SPELL_OVERLORDS_BRAND, 4s, 6s);
events.RescheduleEvent(EVENT_RIMEFANG_SPELL_ICY_BLAST, 5s);
events.RescheduleEvent(EVENT_SPELL_MARK_OF_RIMEFANG, 25s);
}
}
@ -159,7 +159,7 @@ public:
{
me->CastSpell(me->GetVictim(), SPELL_FORCEFUL_SMASH, false);
events.RescheduleEvent(EVENT_SPELL_UNHOLY_POWER, 1000);
events.RescheduleEvent(EVENT_SPELL_UNHOLY_POWER, 1s);
break;
}
events.RepeatEvent(3000);
@ -169,18 +169,18 @@ public:
Talk(EMOTE_DARK_MIGHT);
me->CastSpell(me, SPELL_UNHOLY_POWER, false);
events.ScheduleEvent(EVENT_SPELL_FORCEFUL_SMASH, urand(40000, 48000));
events.ScheduleEvent(EVENT_SPELL_FORCEFUL_SMASH, 40s, 48s);
break;
case EVENT_SPELL_OVERLORDS_BRAND:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 95.0f, true))
me->CastSpell(target, SPELL_OVERLORDS_BRAND, false);
events.RepeatEvent(urand(11000, 12000));
events.Repeat(11s, 12s);
break;
case EVENT_RIMEFANG_SPELL_ICY_BLAST:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 190.0f, true))
if (Creature* c = pInstance->instance->GetCreature(pInstance->GetGuidData(DATA_RIMEFANG_GUID)))
c->CastSpell(target, RIMEFANG_SPELL_ICY_BLAST, false);
events.RepeatEvent(5000);
events.Repeat(5s);
break;
case EVENT_SPELL_MARK_OF_RIMEFANG:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 190.0f, true))
@ -190,8 +190,8 @@ public:
Talk(EMOTE_MARK, target);
c->CastSpell(target, RIMEFANG_SPELL_HOARFROST, false);
}
events.RepeatEvent(25000);
events.RescheduleEvent(EVENT_RIMEFANG_SPELL_ICY_BLAST, 10000);
events.Repeat(25s);
events.RescheduleEvent(EVENT_RIMEFANG_SPELL_ICY_BLAST, 10s);
break;
}

View file

@ -64,7 +64,7 @@ public:
if (type == DATA_START_INTRO && pInstance->GetData(DATA_INSTANCE_PROGRESS) == INSTANCE_PROGRESS_NONE && counter == 0 && !me->IsVisible())
{
me->setActive(true);
events.RescheduleEvent(1, 0);
events.RescheduleEvent(1, 0ms);
}
}
@ -97,11 +97,11 @@ public:
}
++counter;
events.RepeatEvent(150);
events.Repeat(150ms);
}
else
{
events.RescheduleEvent(2, 2500);
events.RescheduleEvent(2, 2500ms);
}
}
break;
@ -113,14 +113,14 @@ public:
c->AI()->Talk(SAY_TYRANNUS_INTRO_1);
}
events.RescheduleEvent(3, 7000);
events.RescheduleEvent(3, 7s);
break;
case 3:
if (pInstance)
if (Creature* c = pInstance->instance->GetCreature(pInstance->GetGuidData(DATA_TYRANNUS_EVENT_GUID)))
c->AI()->Talk(SAY_TYRANNUS_INTRO_2);
events.RescheduleEvent(4, 14000);
events.RescheduleEvent(4, 14s);
break;
case 4:
if (pInstance)
@ -161,19 +161,19 @@ public:
}
}
events.RescheduleEvent(5, 1);
events.RescheduleEvent(5, 1ms);
break;
case 5:
Talk(me->GetEntry() == NPC_JAINA_PART1 ? SAY_JAINA_INTRO_1 : SAY_SYLVANAS_INTRO_1);
events.RescheduleEvent(6, 1000);
events.RescheduleEvent(6, 1s);
break;
case 6:
if (pInstance)
if (Creature* c = pInstance->instance->GetCreature(pInstance->GetGuidData(DATA_TYRANNUS_EVENT_GUID)))
c->AI()->Talk(SAY_TYRANNUS_INTRO_3);
events.RescheduleEvent(7, 5000);
events.RescheduleEvent(7, 5s);
break;
case 7: /// @todo: (Initial RP, when zoning in the instance) is not complete.
if (pInstance)
@ -202,14 +202,14 @@ public:
}
}
events.RescheduleEvent(8, 7000);
events.RescheduleEvent(8, 7s);
break;
case 8:
if (pInstance)
if (Creature* c = pInstance->instance->GetCreature(pInstance->GetGuidData(DATA_TYRANNUS_EVENT_GUID)))
c->CastSpell(c, 69753, false);
events.RescheduleEvent(9, 400);
events.RescheduleEvent(9, 400ms);
break;
case 9:
if (pInstance)
@ -223,12 +223,12 @@ public:
c->GetMotionMaster()->MoveFall(0, true);
}
events.RescheduleEvent(10, 1000);
events.RescheduleEvent(10, 1s);
break;
case 10:
Talk(me->GetEntry() == NPC_JAINA_PART1 ? SAY_JAINA_INTRO_2 : SAY_SYLVANAS_INTRO_2);
events.RescheduleEvent(11, 1000);
events.RescheduleEvent(11, 1s);
break;
case 11:
if (pInstance)
@ -243,7 +243,7 @@ public:
c->CastSpell(c, 69350, true);
}
events.RescheduleEvent(12, 2000);
events.RescheduleEvent(12, 2s);
break;
case 12:
if (pInstance)
@ -264,7 +264,7 @@ public:
}
}
events.RescheduleEvent(13, 3000);
events.RescheduleEvent(13, 3s);
break;
case 13:
if (pInstance)
@ -284,7 +284,7 @@ public:
}
}
events.RescheduleEvent(14, 2000);
events.RescheduleEvent(14, 2s);
break;
case 14:
if (pInstance)
@ -303,7 +303,7 @@ public:
}
}
events.RescheduleEvent(15, 2000);
events.RescheduleEvent(15, 2s);
break;
case 15:
if (pInstance)
@ -319,7 +319,7 @@ public:
}
}
events.RescheduleEvent(16, 3000);
events.RescheduleEvent(16, 3s);
break;
case 16:
Talk(me->GetEntry() == NPC_JAINA_PART1 ? SAY_JAINA_INTRO_4 : SAY_SYLVANAS_INTRO_3);
@ -344,7 +344,7 @@ public:
pInstance->SetData(DATA_INSTANCE_PROGRESS, INSTANCE_PROGRESS_FINISHED_INTRO);
}
events.RescheduleEvent(17, 5000);
events.RescheduleEvent(17, 5s);
break;
case 17:
me->setActive(false);
@ -438,8 +438,8 @@ public:
// if (SPELL_NECROLYTE_CHANNELING)
me->RemoveAura(SPELL_NECROLYTE_CHANNELING);
events.Reset();
events.RescheduleEvent(1, 0);
events.RescheduleEvent(2, urand(5000, 9000));
events.RescheduleEvent(1, 0ms);
events.RescheduleEvent(2, 5s, 9s);
if (Creature* c = pInstance->instance->GetCreature(pInstance->GetGuidData(DATA_LEADER_FIRST_GUID)))
c->AI()->SetData(DATA_START_INTRO, 0);
@ -473,12 +473,12 @@ public:
break;
case 1: // Shadow Bolt
me->CastSpell(me->GetVictim(), 69577, false);
events.RepeatEvent(4000);
events.Repeat(4s);
break;
case 2: // Conversion Beam
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 30.0f, true))
me->CastSpell(target, 69578, false);
events.RepeatEvent(urand(20000, 25000));
events.Repeat(20s, 25s);
break;
}
@ -522,7 +522,7 @@ public:
switch(id)
{
case 1:
events.RescheduleEvent(id, 0);
events.RescheduleEvent(id, 0ms);
break;
}
}
@ -552,14 +552,14 @@ public:
c->GetMotionMaster()->MovePath(FBSData[i].pathId, false);
++i;
}
events.RescheduleEvent(2, 3000);
events.RescheduleEvent(2, 3s);
break;
}
case 2:
if (Creature* c = me->SummonCreature(NPC_TYRANNUS_VOICE, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ() - 10.0f, me->GetOrientation(), TEMPSUMMON_TIMED_DESPAWN, 1))
c->AI()->Talk(SAY_TYRANNUS_GARFROST);
events.RescheduleEvent(3, 4000);
events.RescheduleEvent(3, 4s);
break;
case 3:
Talk(SAY_GENERAL_GARFROST);
@ -603,18 +603,18 @@ public:
me->setActive(false);
break;
case 1:
events.ScheduleEvent(1, 0);
events.ScheduleEvent(1, 0ms);
break;
case 2:
events.ScheduleEvent(2, 0);
events.ScheduleEvent(2, 0ms);
break;
case 3:
events.ScheduleEvent(4, 0);
events.ScheduleEvent(4, 0ms);
break;
}
}
else if (type == EFFECT_MOTION_TYPE && id == 10)
events.ScheduleEvent(6, 0);
events.ScheduleEvent(6, 0ms);
}
void SetData(uint32 type, uint32 id) override
@ -639,8 +639,8 @@ public:
pInstance->SetData(DATA_INSTANCE_PROGRESS, INSTANCE_PROGRESS_AFTER_WARN_1);
Talk(SAY_TYRANNUS_AMBUSH_1);
killsLeft = 10;
events.ScheduleEvent(30, 0);
events.ScheduleEvent(3, 25000);
events.ScheduleEvent(30, 0ms);
events.ScheduleEvent(3, 25s);
break;
case 2:
if (pInstance->GetData(DATA_INSTANCE_PROGRESS) != INSTANCE_PROGRESS_AFTER_WARN_1)
@ -650,8 +650,8 @@ public:
pInstance->SetData(DATA_INSTANCE_PROGRESS, INSTANCE_PROGRESS_AFTER_WARN_2);
Talk(SAY_TYRANNUS_AMBUSH_2);
killsLeft = (Difficulty(me->GetMap()->GetSpawnMode()) == DUNGEON_DIFFICULTY_HEROIC ? 12 : 6);
events.ScheduleEvent(60, 0);
events.ScheduleEvent(5, 20000);
events.ScheduleEvent(60, 0ms);
events.ScheduleEvent(5, 20s);
break;
break;
case 3:
@ -716,8 +716,8 @@ public:
path.push_back(G3D::Vector3(883.15f, 54.6254f, 528.5f));
c->GetMotionMaster()->MoveSplinePath(&path);
}
events.ScheduleEvent(31, 500);
events.ScheduleEvent(32, 500);
events.ScheduleEvent(31, 500ms);
events.ScheduleEvent(32, 500ms);
}
break;
case 31:
@ -725,34 +725,34 @@ public:
if (c->GetMotionMaster()->GetCurrentMovementGeneratorType() != ESCORT_MOTION_TYPE)
{
c->CastSpell(c, 69516, false);
events.ScheduleEvent(33, 3000);
events.ScheduleEvent(33, 3s);
break;
}
events.ScheduleEvent(31, 500);
events.ScheduleEvent(31, 500ms);
break;
case 32:
if (Creature* c = pInstance->instance->GetCreature(deathbringerGUID[1]))
if (c->GetMotionMaster()->GetCurrentMovementGeneratorType() != ESCORT_MOTION_TYPE)
{
c->CastSpell(c, 69516, false);
events.ScheduleEvent(34, 3000);
events.ScheduleEvent(34, 3s);
break;
}
events.ScheduleEvent(32, 500);
events.ScheduleEvent(32, 500ms);
break;
case 33:
me->SummonCreature(NPC_YMIRJAR_WRATHBRINGER, 919.733f, 89.0972f, 558.959f, 3.85718f);
me->SummonCreature(NPC_YMIRJAR_WRATHBRINGER, 911.936f, 63.3542f, 547.698f, 3.735f);
me->SummonCreature(NPC_YMIRJAR_FLAMEBEARER, 909.356f, 83.1684f, 551.717f, 3.57792f);
me->SummonCreature(NPC_YMIRJAR_FLAMEBEARER, 920.946f, 69.1667f, 557.594f, 3.1765f);
events.ScheduleEvent(35, 3500);
events.ScheduleEvent(35, 3500ms);
break;
case 34:
me->SummonCreature(NPC_YMIRJAR_WRATHBRINGER, 879.464f, 41.1997f, 521.394f, 3.735f);
me->SummonCreature(NPC_YMIRJAR_WRATHBRINGER, 885.715f, 65.5156f, 533.631f, 3.85718f);
me->SummonCreature(NPC_YMIRJAR_FLAMEBEARER, 876.884f, 61.0139f, 527.715f, 3.57792f);
me->SummonCreature(NPC_YMIRJAR_FLAMEBEARER, 889.49f, 45.2865f, 527.233f, 3.97935f);
events.ScheduleEvent(36, 3500);
events.ScheduleEvent(36, 3500ms);
break;
case 35:
if (Creature* c = pInstance->instance->GetCreature(deathbringerGUID[0]))
@ -923,8 +923,8 @@ public:
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_READY1H);
i = 0;
events.Reset();
events.RescheduleEvent(1, 500);
events.RescheduleEvent(2, 15000);
events.RescheduleEvent(1, 500ms);
events.RescheduleEvent(2, 15s);
if (pInstance)
if (Creature* c = pInstance->instance->GetCreature(pInstance->GetGuidData(DATA_TYRANNUS_GUID)))
@ -950,7 +950,7 @@ public:
{
if (type == POINT_MOTION_TYPE && id == 2)
{
events.RescheduleEvent(5, 1000);
events.RescheduleEvent(5, 1s);
}
}
@ -1024,12 +1024,12 @@ public:
c->GetMotionMaster()->MovePoint(0, TSData[i].x, TSData[i].y, TSHeight);
}
++i;
events.ScheduleEvent(1, 150);
events.ScheduleEvent(1, 150ms);
}
break;
case 2:
Talk(me->GetEntry() == NPC_MARTIN_VICTUS_2 ? SAY_GENERAL_ALLIANCE_TRASH : SAY_GENERAL_HORDE_TRASH);
events.RescheduleEvent(3, 8000);
events.RescheduleEvent(3, 8s);
break;
case 3:
if (pInstance)
@ -1046,9 +1046,9 @@ public:
c->SetOrientation(5.26f);
c->SetHomePosition(*c);
}
events.RescheduleEvent(10, 15000);
events.RescheduleEvent(10, 15s);
events.RescheduleEvent(4, 15000);
events.RescheduleEvent(4, 15s);
break;
case 4:
if (pInstance)
@ -1176,8 +1176,8 @@ public:
{
if (p == 1)
{
events.RescheduleEvent(1, me->GetEntry() == NPC_JAINA_PART2 ? 15500 : 18000);
events.RescheduleEvent(2, me->GetEntry() == NPC_JAINA_PART2 ? 16500 : 19000);
events.RescheduleEvent(1, me->GetEntry() == NPC_JAINA_PART2 ? 15s + 500ms : 18s);
events.RescheduleEvent(2, me->GetEntry() == NPC_JAINA_PART2 ? 16s + 500ms : 19s);
}
}
@ -1238,20 +1238,20 @@ public:
if (Creature* c = pInstance->instance->GetCreature(pInstance->GetGuidData(DATA_MARTIN_OR_GORKUN_GUID)))
c->AI()->Talk(SAY_GENERAL_OUTRO_2);
events.RescheduleEvent(3, me->GetEntry() == NPC_JAINA_PART2 ? 7000 : 8000);
events.RescheduleEvent(3, me->GetEntry() == NPC_JAINA_PART2 ? 7s : 8s);
break;
case 3:
Talk(me->GetEntry() == NPC_JAINA_PART2 ? SAY_JAINA_OUTRO_1 : SAY_SYLVANAS_OUTRO_1);
me->CastSpell(me, me->GetEntry() == NPC_JAINA_PART2 ? SPELL_TELEPORT_JAINA_VISUAL : SPELL_TELEPORT_SYLVANAS_VISUAL, true);
events.RescheduleEvent(4, 2000);
events.RescheduleEvent(4, 2s);
break;
case 4:
me->CastSpell(me, me->GetEntry() == NPC_JAINA_PART2 ? SPELL_TELEPORT_JAINA : SPELL_TELEPORT_SYLVANAS, true);
if (GameObject* barrier = me->SummonGameObject(203005, 1055.49f, 115.03f, 628.15f, 2.08f, 0.0f, 0.0f, 0.0f, 0.0f, 86400, false))
barrierGUID = barrier->GetGUID();
events.RescheduleEvent(5, 1500);
events.RescheduleEvent(5, 1500ms);
break;
case 5:
if (pInstance)
@ -1261,15 +1261,15 @@ public:
c->CastSpell(x->GetPositionX(), x->GetPositionY(), x->GetPositionZ(), SPELL_SINDRAGOSA_FROST_BOMB_POS, true);
}
events.RescheduleEvent(6, 5000);
events.RescheduleEvent(10, 2000);
events.RescheduleEvent(6, 5s);
events.RescheduleEvent(10, 2s);
break;
case 6:
if (pInstance)
if (Creature* c = pInstance->instance->GetCreature(pInstance->GetGuidData(DATA_SINDRAGOSA_GUID)))
c->GetMotionMaster()->MovePoint(0, TSSindragosaPos1);
events.RescheduleEvent(7, 4500);
events.RescheduleEvent(7, 4500ms);
break;
case 7:
if (pInstance)
@ -1279,7 +1279,7 @@ public:
barrier->Delete();
barrierGUID.Clear();
events.RescheduleEvent(8, 2000);
events.RescheduleEvent(8, 2s);
break;
case 8:
me->GetMotionMaster()->MovePath(me->GetEntry() == NPC_JAINA_PART2 ? PATH_BEGIN_VALUE + 16 : PATH_BEGIN_VALUE + 17, false);

View file

@ -114,7 +114,7 @@ public:
{
me->SetInCombatWithZone();
summons.DoAction(ACTION_MERGE);
events.ScheduleEvent(EVENT_COLOSSUS_START_FIGHT, 3500);
events.ScheduleEvent(EVENT_COLOSSUS_START_FIGHT, 3500ms);
}
}
@ -143,9 +143,9 @@ public:
void JustEngagedWith(Unit* who) override
{
BossAI::JustEngagedWith(who);
events.ScheduleEvent(EVENT_COLOSSUS_MIGHTY_BLOW, 10000);
events.ScheduleEvent(EVENT_COLOSSUS_HEALTH_1, 1000);
events.ScheduleEvent(EVENT_COLOSSUS_HEALTH_2, 1000);
events.ScheduleEvent(EVENT_COLOSSUS_MIGHTY_BLOW, 10s);
events.ScheduleEvent(EVENT_COLOSSUS_HEALTH_1, 1s);
events.ScheduleEvent(EVENT_COLOSSUS_HEALTH_2, 1s);
}
void JustSummoned(Creature* summon) override
@ -208,7 +208,7 @@ public:
break;
case EVENT_COLOSSUS_MIGHTY_BLOW:
me->CastSpell(me->GetVictim(), SPELL_MIGHTY_BLOW, false);
events.ScheduleEvent(EVENT_COLOSSUS_MIGHTY_BLOW, 10000);
events.ScheduleEvent(EVENT_COLOSSUS_MIGHTY_BLOW, 10s);
break;
case EVENT_COLOSSUS_HEALTH_1:
if (me->HealthBelowPct(51))
@ -219,7 +219,7 @@ public:
me->GetMotionMaster()->Clear();
break;
}
events.ScheduleEvent(EVENT_COLOSSUS_HEALTH_1, 1000);
events.ScheduleEvent(EVENT_COLOSSUS_HEALTH_1, 1s);
break;
case EVENT_COLOSSUS_HEALTH_2:
if (me->HealthBelowPct(21))
@ -230,7 +230,7 @@ public:
me->GetMotionMaster()->Clear();
break;
}
events.ScheduleEvent(EVENT_COLOSSUS_HEALTH_2, 1000);
events.ScheduleEvent(EVENT_COLOSSUS_HEALTH_2, 1s);
break;
}
@ -253,9 +253,9 @@ public:
{
boss_drakkari_elementalAI(Creature* pCreature) : ScriptedAI(pCreature)
{
events.ScheduleEvent(EVENT_ELEMENTAL_HEALTH, 1000);
events.ScheduleEvent(EVENT_ELEMENTAL_SURGE, 7000);
events.ScheduleEvent(EVENT_ELEMENTAL_VOLLEY, 0);
events.ScheduleEvent(EVENT_ELEMENTAL_HEALTH, 1s);
events.ScheduleEvent(EVENT_ELEMENTAL_SURGE, 7s);
events.ScheduleEvent(EVENT_ELEMENTAL_VOLLEY, 0ms);
}
EventMap events;
@ -301,13 +301,13 @@ public:
events.Reset();
break;
}
events.ScheduleEvent(EVENT_ELEMENTAL_HEALTH, 1000);
events.ScheduleEvent(EVENT_ELEMENTAL_HEALTH, 1s);
break;
case EVENT_ELEMENTAL_SURGE:
Talk(SAY_SURGE);
me->CastSpell(me, SPELL_SURGE_VISUAL, true);
me->CastSpell(me->GetVictim(), SPELL_SURGE, false);
events.ScheduleEvent(EVENT_ELEMENTAL_SURGE, 15000);
events.ScheduleEvent(EVENT_ELEMENTAL_SURGE, 15s);
break;
case EVENT_ELEMENTAL_VOLLEY:
me->CastSpell(me, SPELL_MOJO_VOLLEY, true);
@ -340,8 +340,8 @@ public:
void Reset() override
{
events.Reset();
events.ScheduleEvent(EVENT_MOJO_MOJO_PUDDLE, 13000);
events.ScheduleEvent(EVENT_MOJO_MOJO_WAVE, 15000);
events.ScheduleEvent(EVENT_MOJO_MOJO_PUDDLE, 13s);
events.ScheduleEvent(EVENT_MOJO_MOJO_WAVE, 15s);
}
void MoveInLineOfSight(Unit* who) override
@ -389,13 +389,13 @@ public:
case EVENT_MOJO_MOJO_PUDDLE:
{
me->CastSpell(me, SPELL_MOJO_PUDDLE, false);
events.ScheduleEvent(EVENT_MOJO_MOJO_PUDDLE, 13000);
events.ScheduleEvent(EVENT_MOJO_MOJO_PUDDLE, 13s);
break;
}
case EVENT_MOJO_MOJO_WAVE:
{
me->CastSpell(me->GetVictim(), SPELL_MOJO_WAVE, false);
events.ScheduleEvent(EVENT_MOJO_MOJO_WAVE, 15000);
events.ScheduleEvent(EVENT_MOJO_MOJO_WAVE, 15s);
break;
}
}

View file

@ -79,10 +79,10 @@ public:
void JustEngagedWith(Unit* who) override
{
BossAI::JustEngagedWith(who);
events.ScheduleEvent(EVENT_ECK_BERSERK, urand(60000, 90000));
events.ScheduleEvent(EVENT_ECK_BITE, 5000);
events.ScheduleEvent(EVENT_ECK_SPIT, 10000);
events.ScheduleEvent(EVENT_ECK_SPRING, 8000);
events.ScheduleEvent(EVENT_ECK_BERSERK, 60s, 90s);
events.ScheduleEvent(EVENT_ECK_BITE, 5s);
events.ScheduleEvent(EVENT_ECK_SPIT, 10s);
events.ScheduleEvent(EVENT_ECK_SPRING, 8s);
}
void JustDied(Unit* killer) override
@ -108,7 +108,7 @@ public:
me->CastSpell(me, SPELL_ECK_BERSERK, false);
break;
}
events.ScheduleEvent(EVENT_ECK_HEALTH, 1000);
events.ScheduleEvent(EVENT_ECK_HEALTH, 1s);
break;
case EVENT_ECK_BERSERK:
me->CastSpell(me, SPELL_ECK_BERSERK, false);
@ -116,11 +116,11 @@ public:
break;
case EVENT_ECK_BITE:
me->CastSpell(me->GetVictim(), SPELL_ECK_BITE, false);
events.ScheduleEvent(EVENT_ECK_BITE, urand(8000, 12000));
events.ScheduleEvent(EVENT_ECK_BITE, 8s, 12s);
break;
case EVENT_ECK_SPIT:
me->CastSpell(me->GetVictim(), SPELL_ECK_SPIT, false);
events.ScheduleEvent(EVENT_ECK_SPIT, 10000);
events.ScheduleEvent(EVENT_ECK_SPIT, 10s);
break;
case EVENT_ECK_SPRING:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 1, 30.0f, true))
@ -130,7 +130,7 @@ public:
me->CastSpell(target, SPELL_ECK_SPRING, false);
}
events.ScheduleEvent(EVENT_ECK_SPRING, urand(5000, 10000));
events.ScheduleEvent(EVENT_ECK_SPRING, 5s, 10s);
break;
}

View file

@ -99,15 +99,15 @@ public:
events.Reset();
if (troll)
{
events.RescheduleEvent(EVENT_STAMPEDE, 10000);
events.RescheduleEvent(EVENT_WHIRLING_SLASH, 21000);
events.RescheduleEvent(EVENT_STAMPEDE, 10s);
events.RescheduleEvent(EVENT_WHIRLING_SLASH, 21s);
}
else
{
events.RescheduleEvent(EVENT_PUNCTURE, 10000);
events.RescheduleEvent(EVENT_ENRAGE, 15000);
events.RescheduleEvent(EVENT_IMPALING_CHARGE, 21000);
events.RescheduleEvent(EVENT_STOMP, 5000);
events.RescheduleEvent(EVENT_PUNCTURE, 10s);
events.RescheduleEvent(EVENT_ENRAGE, 15s);
events.RescheduleEvent(EVENT_IMPALING_CHARGE, 21s);
events.RescheduleEvent(EVENT_STOMP, 5s);
}
}
@ -149,7 +149,7 @@ public:
if (events.GetNextEventTime(EVENT_KILL_TALK) == 0)
{
Talk(SAY_SLAY);
events.ScheduleEvent(EVENT_KILL_TALK, 6000);
events.ScheduleEvent(EVENT_KILL_TALK, 6s);
}
}
@ -167,7 +167,7 @@ public:
case EVENT_STAMPEDE:
Talk(SAY_SUMMON_RHINO);
me->CastSpell(me->GetVictim(), SPELL_STAMPEDE, false);
events.ScheduleEvent(EVENT_STAMPEDE, 15000);
events.ScheduleEvent(EVENT_STAMPEDE, 15s);
break;
case EVENT_WHIRLING_SLASH:
if (++phaseCounter >= 3)
@ -178,21 +178,21 @@ public:
phaseCounter = 0;
return;
}
events.ScheduleEvent(EVENT_WHIRLING_SLASH, 21000);
events.ScheduleEvent(EVENT_WHIRLING_SLASH, 21s);
me->CastSpell(me, SPELL_WHIRLING_SLASH, false);
break;
case EVENT_PUNCTURE:
me->CastSpell(me->GetVictim(), SPELL_PUNCTURE, false);
events.ScheduleEvent(EVENT_PUNCTURE, 8000);
events.ScheduleEvent(EVENT_PUNCTURE, 8s);
break;
case EVENT_ENRAGE:
me->CastSpell(me, SPELL_ENRAGE, false);
events.ScheduleEvent(EVENT_ENRAGE, 20000);
events.ScheduleEvent(EVENT_ENRAGE, 20s);
break;
case EVENT_STOMP:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 30.0f, true))
me->CastSpell(target, SPELL_STOMP, false);
events.ScheduleEvent(EVENT_STOMP, 20000);
events.ScheduleEvent(EVENT_STOMP, 20s);
break;
case EVENT_IMPALING_CHARGE:
if (++phaseCounter >= 3)
@ -203,7 +203,7 @@ public:
phaseCounter = 0;
return;
}
events.ScheduleEvent(EVENT_IMPALING_CHARGE, 21000);
events.ScheduleEvent(EVENT_IMPALING_CHARGE, 21s);
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 1, 100.0f, true))
{
me->CastSpell(target, SPELL_IMPALING_CHARGE, false);

View file

@ -78,7 +78,7 @@ public:
{
BossAI::Reset();
events2.Reset();
events2.ScheduleEvent(EVENT_PHANTOM, 21000);
events2.ScheduleEvent(EVENT_PHANTOM, 21s);
}
void JustEngagedWith(Unit* who) override
@ -87,10 +87,10 @@ public:
BossAI::JustEngagedWith(who);
me->CastSpell(me, SPELL_MOJO_FRENZY, true);
events.ScheduleEvent(EVENT_GROUND_TREMOR, 18000);
events.ScheduleEvent(EVENT_NUMBLING_SHOUT, 10000);
events.ScheduleEvent(EVENT_DETERMINED_STAB, 20000);
events.ScheduleEvent(EVENT_TRANSFORMATION, 12000);
events.ScheduleEvent(EVENT_GROUND_TREMOR, 18s);
events.ScheduleEvent(EVENT_NUMBLING_SHOUT, 10s);
events.ScheduleEvent(EVENT_DETERMINED_STAB, 20s);
events.ScheduleEvent(EVENT_TRANSFORMATION, 12s);
}
void SpellHitTarget(Unit* /*caster*/, SpellInfo const* spellInfo) override
@ -115,7 +115,7 @@ public:
if (events.GetNextEventTime(EVENT_KILL_TALK) == 0)
{
Talk(SAY_SLAY);
events.ScheduleEvent(EVENT_KILL_TALK, 6000);
events.ScheduleEvent(EVENT_KILL_TALK, 6s);
}
}
@ -127,7 +127,7 @@ public:
if (events2.ExecuteEvent() == EVENT_PHANTOM)
{
me->CastSpell(me, SPELL_SUMMON_PHANTOM, true);
events2.ScheduleEvent(EVENT_PHANTOM, urand(20000, 25000));
events2.ScheduleEvent(EVENT_PHANTOM, 20s, 25s);
}
}
@ -144,22 +144,22 @@ public:
if (roll_chance_i(50))
Talk(SAY_QUAKE);
me->CastSpell(me, me->GetDisplayId() != me->GetNativeDisplayId() ? SPELL_QUAKE : SPELL_GROUND_TREMOR, false);
events.ScheduleEvent(EVENT_GROUND_TREMOR, 10000);
events.ScheduleEvent(EVENT_GROUND_TREMOR, 10s);
break;
case EVENT_NUMBLING_SHOUT:
me->CastSpell(me, me->GetDisplayId() != me->GetNativeDisplayId() ? SPELL_NUMBING_ROAR : SPELL_NUMBING_SHOUT, false);
events.ScheduleEvent(EVENT_NUMBLING_SHOUT, 10000);
events.ScheduleEvent(EVENT_NUMBLING_SHOUT, 10s);
break;
case EVENT_DETERMINED_STAB:
me->CastSpell(me->GetVictim(), me->GetDisplayId() != me->GetNativeDisplayId() ? SPELL_DETERMINED_GORE : SPELL_DETERMINED_STAB, false);
events.ScheduleEvent(EVENT_DETERMINED_STAB, 8000);
events.ScheduleEvent(EVENT_DETERMINED_STAB, 8s);
break;
case EVENT_TRANSFORMATION:
Talk(EMOTE_TRANSFORM);
Talk(SAY_TRANSFORM);
me->CastSpell(me, SPELL_TRANSFORMATION, false);
me->CastSpell(me, SPELL_SUMMON_PHANTOM_TRANSFORM, true);
events.ScheduleEvent(EVENT_TRANSFORMATION, 10000);
events.ScheduleEvent(EVENT_TRANSFORMATION, 10s);
break;
}

View file

@ -107,11 +107,11 @@ public:
Talk(SAY_AGGRO);
BossAI::JustEngagedWith(who);
events.ScheduleEvent(EVENT_POISON_NOVA, 10000);
events.ScheduleEvent(EVENT_POWERFULL_BITE, 3000);
events.ScheduleEvent(EVENT_VENOM_BOLT, 15000);
events.ScheduleEvent(EVENT_CHECK_HEALTH1, 1000);
events.ScheduleEvent(EVENT_CHECK_HEALTH2, 1000);
events.ScheduleEvent(EVENT_POISON_NOVA, 10s);
events.ScheduleEvent(EVENT_POWERFULL_BITE, 3s);
events.ScheduleEvent(EVENT_VENOM_BOLT, 15s);
events.ScheduleEvent(EVENT_CHECK_HEALTH1, 1s);
events.ScheduleEvent(EVENT_CHECK_HEALTH2, 1s);
}
void JustDied(Unit* killer) override
@ -126,7 +126,7 @@ public:
if (events.GetNextEventTime(EVENT_KILL_TALK) == 0)
{
Talk(SAY_SLAY);
events.ScheduleEvent(EVENT_KILL_TALK, 6000);
events.ScheduleEvent(EVENT_KILL_TALK, 6s);
}
}
@ -151,42 +151,42 @@ public:
if (me->HealthBelowPct(70))
{
Talk(SAY_SUMMON_SNAKES);
events.ScheduleEvent(EVENT_SUMMON1, 1000);
events.ScheduleEvent(EVENT_SUMMON1, 1s);
break;
}
events.ScheduleEvent(EVENT_CHECK_HEALTH1, 1000);
events.ScheduleEvent(EVENT_CHECK_HEALTH1, 1s);
break;
case EVENT_CHECK_HEALTH2:
if (me->HealthBelowPct(50))
{
Talk(SAY_SUMMON_CONSTRICTORS);
events.ScheduleEvent(EVENT_SUMMON2, 1000);
events.ScheduleEvent(EVENT_SUMMON2, 1s);
break;
}
events.ScheduleEvent(EVENT_CHECK_HEALTH2, 1000);
events.ScheduleEvent(EVENT_CHECK_HEALTH2, 1s);
break;
case EVENT_POISON_NOVA:
Talk(EMOTE_NOVA);
me->CastSpell(me, SPELL_POISON_NOVA, false);
events.ScheduleEvent(EVENT_POISON_NOVA, 15000);
events.ScheduleEvent(EVENT_POISON_NOVA, 15s);
break;
case EVENT_POWERFULL_BITE:
me->CastSpell(me->GetVictim(), SPELL_POWERFULL_BITE, false);
events.ScheduleEvent(EVENT_POWERFULL_BITE, 10000);
events.ScheduleEvent(EVENT_POWERFULL_BITE, 10s);
break;
case EVENT_VENOM_BOLT:
me->CastSpell(me->GetVictim(), SPELL_VENOM_BOLT, false);
events.ScheduleEvent(EVENT_VENOM_BOLT, 10000);
events.ScheduleEvent(EVENT_VENOM_BOLT, 10s);
break;
case EVENT_SUMMON1:
for (uint8 i = MAX_CONSTRICTOR; i < MAX_SUMMONS; ++i)
me->SummonCreature(NPC_SLADRAN_VIPER, SpawnLoc[i], TEMPSUMMON_CORPSE_TIMED_DESPAWN, 20 * IN_MILLISECONDS);
events.ScheduleEvent(EVENT_SUMMON1, 8000);
events.ScheduleEvent(EVENT_SUMMON1, 8s);
break;
case EVENT_SUMMON2:
for (uint8 i = 0; i < MAX_CONSTRICTOR; ++i)
me->SummonCreature(NPC_SLADRAN_CONSTRICTORS, SpawnLoc[i], TEMPSUMMON_CORPSE_TIMED_DESPAWN, 20 * IN_MILLISECONDS);
events.ScheduleEvent(EVENT_SUMMON2, urand(3000, 5000));
events.ScheduleEvent(EVENT_SUMMON2, 3s, 5s);
break;
}

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)

View file

@ -169,16 +169,16 @@ public:
go->SetGoState(GO_STATE_READY);
}
}
events.ScheduleEvent(EVENT_IMPALE, 15000);
events.ScheduleEvent(EVENT_LOCUST_SWARM, urand(70000, 120000));
events.ScheduleEvent(EVENT_BERSERK, 600000);
events.ScheduleEvent(EVENT_IMPALE, 15s);
events.ScheduleEvent(EVENT_LOCUST_SWARM, 70s, 120s);
events.ScheduleEvent(EVENT_BERSERK, 10min);
if (!summons.HasEntry(NPC_CRYPT_GUARD))
{
SummonCryptGuards();
}
if (!Is25ManRaid())
{
events.ScheduleEvent(EVENT_SPAWN_GUARD, urand(15000, 20000));
events.ScheduleEvent(EVENT_SPAWN_GUARD, 15s, 20s);
}
}
@ -223,13 +223,13 @@ public:
{
me->CastSpell(target, RAID_MODE(SPELL_IMPALE_10, SPELL_IMPALE_25), false);
}
events.RepeatEvent(20000);
events.Repeat(20s);
break;
case EVENT_LOCUST_SWARM:
Talk(EMOTE_LOCUST);
me->CastSpell(me, RAID_MODE(SPELL_LOCUST_SWARM_10, SPELL_LOCUST_SWARM_25), false);
events.ScheduleEvent(EVENT_SPAWN_GUARD, 3000);
events.RepeatEvent(90000);
events.ScheduleEvent(EVENT_SPAWN_GUARD, 3s);
events.Repeat(90s);
break;
case EVENT_SPAWN_GUARD:
me->SummonCreature(NPC_CRYPT_GUARD, 3331.217f, -3476.607f, 287.074f, 3.269f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 60000);

View file

@ -118,9 +118,9 @@ public:
me->CallForHelp(VISIBLE_RANGE);
summons.DoZoneInCombat();
Talk(SAY_AGGRO);
events.ScheduleEvent(EVENT_POISON_BOLT, urand(7000, 15000));
events.ScheduleEvent(EVENT_RAIN_OF_FIRE, urand(8000, 18000));
events.ScheduleEvent(EVENT_FRENZY, urand(60000, 80000), 1);
events.ScheduleEvent(EVENT_POISON_BOLT, 7s, 15s);
events.ScheduleEvent(EVENT_RAIN_OF_FIRE, 8s, 18s);
events.ScheduleEvent(EVENT_FRENZY, 60s, 80s, 1);
events.SetPhase(1);
if (pInstance)
{
@ -200,14 +200,14 @@ public:
{
me->CastCustomSpell(RAID_MODE(SPELL_POISON_BOLT_VOLLEY_10, SPELL_POISON_BOLT_VOLLEY_25), SPELLVALUE_MAX_TARGETS, RAID_MODE(3, 10), me, false);
}
events.RepeatEvent(urand(7000, 15000));
events.Repeat(7s, 15s);
break;
case EVENT_RAIN_OF_FIRE:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
{
me->CastSpell(target, RAID_MODE(SPELL_RAIN_OF_FIRE_10, SPELL_RAIN_OF_FIRE_25), false);
}
events.RepeatEvent(urand(8000, 18000));
events.Repeat(8s, 18s);
break;
case EVENT_FRENZY:
if (!me->HasAura(RAID_MODE(SPELL_FRENZY_10, SPELL_FRENZY_25)))
@ -215,11 +215,11 @@ public:
Talk(SAY_FRENZY);
Talk(EMOTE_FRENZY);
me->CastSpell(me, RAID_MODE(SPELL_FRENZY_10, SPELL_FRENZY_25), true);
events.RepeatEvent(60000);
events.Repeat(1min);
}
else
{
events.RepeatEvent(30000);
events.Repeat(30s);
}
break;
}
@ -234,7 +234,7 @@ public:
if (me->HasAura(RAID_MODE(SPELL_FRENZY_10, SPELL_FRENZY_25)))
{
me->RemoveAurasDueToSpell(RAID_MODE(SPELL_FRENZY_10, SPELL_FRENZY_25));
events.RescheduleEvent(EVENT_FRENZY, 60000);
events.RescheduleEvent(EVENT_FRENZY, 1min);
}
pInstance->SetData(DATA_FRENZY_REMOVED, 0);
if (Is25ManRaid())

View file

@ -193,16 +193,16 @@ public:
currentWaypoint = 0;
me->SetReactState(REACT_AGGRESSIVE);
events.Reset();
events.RescheduleEvent(EVENT_MARK_CAST, 24000);
events.RescheduleEvent(EVENT_BERSERK, 600000);
events.RescheduleEvent(EVENT_MARK_CAST, 24s);
events.RescheduleEvent(EVENT_BERSERK, 10min);
if ((me->GetEntry() != NPC_LADY_BLAUMEUX && me->GetEntry() != NPC_SIR_ZELIEK))
{
events.RescheduleEvent(EVENT_PRIMARY_SPELL, 10000 + rand() % 5000);
events.RescheduleEvent(EVENT_PRIMARY_SPELL, 10s, 15s);
}
else
{
events.RescheduleEvent(EVENT_PUNISH, 5000);
events.RescheduleEvent(EVENT_SECONDARY_SPELL, 15000);
events.RescheduleEvent(EVENT_PUNISH, 5s);
events.RescheduleEvent(EVENT_SECONDARY_SPELL, 15s);
}
if (pInstance)
{
@ -337,7 +337,7 @@ public:
{
case EVENT_MARK_CAST:
me->CastSpell(me, TABLE_SPELL_MARK[horsemanId], false);
events.RepeatEvent((me->GetEntry() == NPC_LADY_BLAUMEUX || me->GetEntry() == NPC_SIR_ZELIEK) ? 15000 : 12000);
events.Repeat((me->GetEntry() == NPC_LADY_BLAUMEUX || me->GetEntry() == NPC_SIR_ZELIEK) ? 15s : 12s);
return;
case EVENT_BERSERK:
Talk(SAY_SPECIAL);
@ -346,7 +346,7 @@ public:
case EVENT_PRIMARY_SPELL:
Talk(SAY_TAUNT);
me->CastSpell(me->GetVictim(), RAID_MODE(TABLE_SPELL_PRIMARY_10[horsemanId], TABLE_SPELL_PRIMARY_25[horsemanId]), false);
events.RepeatEvent(15000);
events.Repeat(15s);
return;
case EVENT_PUNISH:
if (!SelectTarget(SelectTargetMethod::MaxDistance, 0, 45.0f, true))
@ -354,11 +354,11 @@ public:
me->CastSpell(me, TABLE_SPELL_PUNISH[horsemanId], false);
Talk(EMOTE_RAGECAST);
}
events.RepeatEvent(2010);
events.Repeat(2s);
return;
case EVENT_SECONDARY_SPELL:
me->CastSpell(me->GetVictim(), RAID_MODE(TABLE_SPELL_SECONDARY_10[horsemanId], TABLE_SPELL_SECONDARY_25[horsemanId]), false);
events.RepeatEvent(15000);
events.Repeat(15s);
return;
}

View file

@ -114,12 +114,12 @@ public:
{
BossAI::JustEngagedWith(who);
me->SetInCombatWithZone();
events.ScheduleEvent(EVENT_MORTAL_WOUND, 10000);
events.ScheduleEvent(EVENT_ENRAGE, 22000);
events.ScheduleEvent(EVENT_MORTAL_WOUND, 10s);
events.ScheduleEvent(EVENT_ENRAGE, 22s);
events.ScheduleEvent(EVENT_DECIMATE, RAID_MODE(110000, 90000));
events.ScheduleEvent(EVENT_BERSERK, 360000);
events.ScheduleEvent(EVENT_SUMMON_ZOMBIE, 10000);
events.ScheduleEvent(EVENT_CAN_EAT_ZOMBIE, 1000);
events.ScheduleEvent(EVENT_BERSERK, 6min);
events.ScheduleEvent(EVENT_SUMMON_ZOMBIE, 10s);
events.ScheduleEvent(EVENT_CAN_EAT_ZOMBIE, 1s);
}
void JustSummoned(Creature* summon) override
@ -189,11 +189,11 @@ public:
case EVENT_ENRAGE:
Talk(EMOTE_ENRAGE);
me->CastSpell(me, RAID_MODE(SPELL_ENRAGE_10, SPELL_ENRAGE_25), true);
events.RepeatEvent(22000);
events.Repeat(22s);
break;
case EVENT_MORTAL_WOUND:
me->CastSpell(me->GetVictim(), SPELL_MORTAL_WOUND, false);
events.RepeatEvent(10000);
events.Repeat(10s);
break;
case EVENT_DECIMATE:
Talk(EMOTE_DECIMATE);
@ -218,7 +218,7 @@ public:
}
(rand == 2 ? rand = 0 : rand++);
}
events.RepeatEvent(10000);
events.Repeat(10s);
break;
}
case EVENT_CAN_EAT_ZOMBIE:

View file

@ -254,12 +254,12 @@ public:
BossAI::JustEngagedWith(who);
me->SetInCombatWithZone();
Talk(SAY_INTRO_1);
events.ScheduleEvent(EVENT_INTRO_2, 4000);
events.ScheduleEvent(EVENT_INTRO_3, 9000);
events.ScheduleEvent(EVENT_INTRO_4, 14000);
events.ScheduleEvent(EVENT_INTRO_2, 4s);
events.ScheduleEvent(EVENT_INTRO_3, 9s);
events.ScheduleEvent(EVENT_INTRO_4, 14s);
me->SetUnitFlag(UNIT_FLAG_DISABLE_MOVE);
events.ScheduleEvent(EVENT_SUMMON_ADDS, 30000);
events.ScheduleEvent(EVENT_CHECK_PLAYERS, 120000);
events.ScheduleEvent(EVENT_SUMMON_ADDS, 30s);
events.ScheduleEvent(EVENT_CHECK_PLAYERS, 2min);
if (pInstance)
{
if (GameObject* go = me->GetMap()->GetGameObject(pInstance->GetGuidData(DATA_GOTHIK_ENTER_GATE)))
@ -437,11 +437,11 @@ public:
break;
case EVENT_SHADOW_BOLT:
me->CastSpell(me->GetVictim(), RAID_MODE(SPELL_SHADOW_BOLT_10, SPELL_SHADOW_BOLT_25), false);
events.RepeatEvent(1010);
events.Repeat(1s);
break;
case EVENT_HARVEST_SOUL:
me->CastSpell(me, SPELL_HARVEST_SOUL, false);
events.RepeatEvent(15000);
events.Repeat(15s);
break;
case EVENT_TELEPORT:
me->AttackStop();
@ -459,7 +459,7 @@ public:
me->GetThreatMgr().AddThreat(pTarget, 100.0f);
AttackStart(pTarget);
}
events.RepeatEvent(20000);
events.Repeat(20s);
break;
case EVENT_CHECK_HEALTH:
if (me->HealthBelowPct(30) && pInstance)
@ -471,7 +471,7 @@ public:
events.CancelEvent(EVENT_TELEPORT);
break;
}
events.RepeatEvent(1000);
events.Repeat(1s);
break;
case EVENT_SUMMON_ADDS:
if (gothikWaves[waveCount][0])
@ -490,10 +490,10 @@ public:
me->SetImmuneToPC(false);
me->RemoveAllAuras();
summons.DoZoneInCombat();
events.ScheduleEvent(EVENT_SHADOW_BOLT, 1000);
events.ScheduleEvent(EVENT_HARVEST_SOUL, urand(5000, 15000));
events.ScheduleEvent(EVENT_TELEPORT, 20000);
events.ScheduleEvent(EVENT_CHECK_HEALTH, 1000);
events.ScheduleEvent(EVENT_SHADOW_BOLT, 1s);
events.ScheduleEvent(EVENT_HARVEST_SOUL, 5s, 15s);
events.ScheduleEvent(EVENT_TELEPORT, 20s);
events.ScheduleEvent(EVENT_CHECK_HEALTH, 1s);
}
waveCount++;
break;
@ -547,26 +547,26 @@ public:
switch (me->GetEntry())
{
case NPC_LIVING_TRAINEE:
events.ScheduleEvent(EVENT_DEATH_PLAGUE, 3000);
events.ScheduleEvent(EVENT_DEATH_PLAGUE, 3s);
break;
case NPC_DEAD_TRAINEE:
events.ScheduleEvent(EVENT_ARCANE_EXPLOSION, 2500);
events.ScheduleEvent(EVENT_ARCANE_EXPLOSION, 2500ms);
break;
case NPC_LIVING_KNIGHT:
events.ScheduleEvent(EVENT_SHADOW_MARK, 3000);
events.ScheduleEvent(EVENT_SHADOW_MARK, 3s);
break;
case NPC_DEAD_KNIGHT:
events.ScheduleEvent(EVENT_WHIRLWIND, 2000);
events.ScheduleEvent(EVENT_WHIRLWIND, 2s);
break;
case NPC_LIVING_RIDER:
events.ScheduleEvent(EVENT_SHADOW_BOLT_VOLLEY, 3000);
events.ScheduleEvent(EVENT_SHADOW_BOLT_VOLLEY, 3s);
break;
case NPC_DEAD_RIDER:
events.ScheduleEvent(EVENT_DRAIN_LIFE, urand(2000, 3500));
events.ScheduleEvent(EVENT_UNHOLY_FRENZY, urand(5000, 9000));
events.ScheduleEvent(EVENT_DRAIN_LIFE, 2000ms, 3500ms);
events.ScheduleEvent(EVENT_UNHOLY_FRENZY, 5s, 9s);
break;
case NPC_DEAD_HORSE:
events.ScheduleEvent(EVENT_STOMP, urand(2000, 5000));
events.ScheduleEvent(EVENT_STOMP, 2s, 5s);
break;
}
}
@ -619,7 +619,7 @@ public:
{
case EVENT_DEATH_PLAGUE:
me->CastSpell(me->GetVictim(), SPELL_DEATH_PLAGUE, false);
events.RepeatEvent(urand(4000, 7000));
events.Repeat(4s, 7s);
break;
case EVENT_ARCANE_EXPLOSION:
if (Unit* victim = me->GetVictim())
@ -629,7 +629,7 @@ public:
me->CastSpell(victim, SPELL_ARCANE_EXPLOSION, false);
}
}
events.RepeatEvent(2500);
events.Repeat(2500ms);
break;
case EVENT_SHADOW_MARK:
if (Unit* victim = me->GetVictim())
@ -639,7 +639,7 @@ public:
me->CastSpell(me->GetVictim(), SPELL_SHADOW_MARK, false);
}
}
events.RepeatEvent(urand(5000, 7000));
events.Repeat(5s, 7s);
break;
case EVENT_WHIRLWIND:
if (Unit* victim = me->GetVictim())
@ -649,11 +649,11 @@ public:
me->CastSpell(victim, SPELL_WHIRLWIND, false);
}
}
events.RepeatEvent(urand(4000, 6000));
events.Repeat(4s, 6s);
break;
case EVENT_SHADOW_BOLT_VOLLEY:
me->CastSpell(me->GetVictim(), SPELL_SHADOW_BOLT_VOLLEY, false);
events.RepeatEvent(5000);
events.Repeat(5s);
break;
case EVENT_DRAIN_LIFE:
if (Unit* victim = me->GetVictim())
@ -663,11 +663,11 @@ public:
me->CastSpell(victim, SPELL_DRAIN_LIFE, false);
}
}
events.RepeatEvent(urand(8000, 12000));
events.Repeat(8s, 12s);
break;
case EVENT_UNHOLY_FRENZY:
me->AddAura(SPELL_UNHOLY_FRENZY, me);
events.RepeatEvent(urand(15000, 17000));
events.Repeat(15s, 17s);
break;
case EVENT_STOMP:
if (Unit* victim = me->GetVictim())
@ -677,7 +677,7 @@ public:
me->CastSpell(victim, SPELL_STOMP, false);
}
}
events.RepeatEvent(urand(4000, 9000));
events.Repeat(4s, 9s);
break;
}
DoMeleeAttackIfReady();

View file

@ -101,9 +101,9 @@ public:
BossAI::JustEngagedWith(who);
PullChamberAdds();
me->SetInCombatWithZone();
events.ScheduleEvent(EVENT_POISON_CLOUD, 15000);
events.ScheduleEvent(EVENT_MUTATING_INJECTION, 20000);
events.ScheduleEvent(EVENT_SLIME_SPRAY, 10000);
events.ScheduleEvent(EVENT_POISON_CLOUD, 15s);
events.ScheduleEvent(EVENT_MUTATING_INJECTION, 20s);
events.ScheduleEvent(EVENT_SLIME_SPRAY, 10s);
events.ScheduleEvent(EVENT_BERSERK, RAID_MODE(720000, 540000));
}
@ -166,7 +166,7 @@ public:
{
case EVENT_POISON_CLOUD:
me->CastSpell(me, SPELL_POISON_CLOUD, true);
events.RepeatEvent(15000);
events.Repeat(15s);
break;
case EVENT_BERSERK:
me->CastSpell(me, SPELL_BERSERK, true);
@ -174,7 +174,7 @@ public:
case EVENT_SLIME_SPRAY:
Talk(EMOTE_SLIME);
me->CastSpell(me->GetVictim(), RAID_MODE(SPELL_SLIME_SPRAY_10, SPELL_SLIME_SPRAY_25), false);
events.RepeatEvent(20000);
events.Repeat(20s);
break;
case EVENT_MUTATING_INJECTION:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 1, 100.0f, true, true, -SPELL_MUTATING_INJECTION))

View file

@ -138,10 +138,10 @@ public:
me->CastStop();
me->SetReactState(REACT_AGGRESSIVE);
DoZoneInCombat();
events.ScheduleEvent(EVENT_DISRUPTION, urand(12000, 15000));
events.ScheduleEvent(EVENT_DECEPIT_FEVER, 17000);
events.ScheduleEvent(EVENT_ERUPT_SECTION, 15000);
events.ScheduleEvent(EVENT_SWITCH_PHASE, 90000);
events.ScheduleEvent(EVENT_DISRUPTION, 12s, 15s);
events.ScheduleEvent(EVENT_DECEPIT_FEVER, 17s);
events.ScheduleEvent(EVENT_ERUPT_SECTION, 15s);
events.ScheduleEvent(EVENT_SWITCH_PHASE, 90s);
}
else // if (phase == PHASE_FAST_DANCE)
{
@ -152,11 +152,11 @@ public:
me->SetReactState(REACT_PASSIVE);
me->CastSpell(me, SPELL_TELEPORT_SELF, false);
me->SetFacingTo(2.40f);
events.ScheduleEvent(EVENT_PLAGUE_CLOUD, 1000);
events.ScheduleEvent(EVENT_ERUPT_SECTION, 7000);
events.ScheduleEvent(EVENT_SWITCH_PHASE, 45000);
events.ScheduleEvent(EVENT_PLAGUE_CLOUD, 1s);
events.ScheduleEvent(EVENT_ERUPT_SECTION, 7s);
events.ScheduleEvent(EVENT_SWITCH_PHASE, 45s);
}
events.ScheduleEvent(EVENT_SAFETY_DANCE, 5000);
events.ScheduleEvent(EVENT_SAFETY_DANCE, 5s);
}
bool IsInRoom(Unit* who)
@ -185,11 +185,11 @@ public:
{
case EVENT_DISRUPTION:
me->CastSpell(me, SPELL_SPELL_DISRUPTION, false);
events.RepeatEvent(10000);
events.Repeat(10s);
break;
case EVENT_DECEPIT_FEVER:
me->CastSpell(me, RAID_MODE(SPELL_DECREPIT_FEVER_10, SPELL_DECREPIT_FEVER_25), false);
events.RepeatEvent(urand(22000, 25000));
events.Repeat(22s, 25s);
break;
case EVENT_PLAGUE_CLOUD:
me->CastSpell(me, SPELL_PLAGUE_CLOUD, false);
@ -223,7 +223,7 @@ public:
{
Talk(SAY_TAUNT);
}
events.RepeatEvent(currentPhase == PHASE_SLOW_DANCE ? 10000 : 4000);
events.Repeat(currentPhase == PHASE_SLOW_DANCE ? 10s : 4s);
break;
case EVENT_SAFETY_DANCE:
{
@ -237,7 +237,7 @@ public:
return;
}
}
events.RepeatEvent(5000);
events.Repeat(5s);
return;
}
}

View file

@ -305,17 +305,17 @@ public:
me->SetTarget();
me->SetReactState(REACT_PASSIVE);
me->CastSpell(me, SPELL_KELTHUZAD_CHANNEL, false);
events.ScheduleEvent(EVENT_SPAWN_POOL, 5000);
events.ScheduleEvent(EVENT_SUMMON_SOLDIER, 6400);
events.ScheduleEvent(EVENT_SUMMON_UNSTOPPABLE_ABOMINATION, 10000);
events.ScheduleEvent(EVENT_SUMMON_SOUL_WEAVER, 12000);
events.ScheduleEvent(EVENT_PHASE_2, 228000);
events.ScheduleEvent(EVENT_ENRAGE, 900000);
events.ScheduleEvent(EVENT_SPAWN_POOL, 5s);
events.ScheduleEvent(EVENT_SUMMON_SOLDIER, 6400ms);
events.ScheduleEvent(EVENT_SUMMON_UNSTOPPABLE_ABOMINATION, 10s);
events.ScheduleEvent(EVENT_SUMMON_SOUL_WEAVER, 12s);
events.ScheduleEvent(EVENT_PHASE_2, 228s);
events.ScheduleEvent(EVENT_ENRAGE, 15min);
if (pInstance)
{
if (GameObject* go = me->GetMap()->GetGameObject(pInstance->GetGuidData(DATA_KELTHUZAD_FLOOR)))
{
events.ScheduleEvent(EVENT_FLOOR_CHANGE, 15000);
events.ScheduleEvent(EVENT_FLOOR_CHANGE, 15s);
go->SetGoState(GO_STATE_ACTIVE);
}
}
@ -357,7 +357,7 @@ public:
{
if (GameObject* go = me->GetMap()->GetGameObject(pInstance->GetGuidData(DATA_KELTHUZAD_FLOOR)))
{
events.ScheduleEvent(EVENT_FLOOR_CHANGE, 15000);
events.ScheduleEvent(EVENT_FLOOR_CHANGE, 15s);
go->SetGoState(GO_STATE_READY);
go->SetPhaseMask(2, true);
}
@ -368,15 +368,15 @@ public:
break;
case EVENT_SUMMON_SOLDIER:
SummonHelper(NPC_SOLDIER_OF_THE_FROZEN_WASTES, 1);
events.RepeatEvent(3100);
events.Repeat(3100ms);
break;
case EVENT_SUMMON_UNSTOPPABLE_ABOMINATION:
SummonHelper(NPC_UNSTOPPABLE_ABOMINATION, 1);
events.RepeatEvent(18500);
events.Repeat(18s + 500ms);
break;
case EVENT_SUMMON_SOUL_WEAVER:
SummonHelper(NPC_SOUL_WEAVER, 1);
events.RepeatEvent(30000);
events.Repeat(30s);
break;
case EVENT_PHASE_2:
Talk(EMOTE_PHASE_TWO);
@ -387,15 +387,15 @@ public:
me->GetMotionMaster()->MoveChase(me->GetVictim());
me->RemoveAura(SPELL_KELTHUZAD_CHANNEL);
me->SetReactState(REACT_AGGRESSIVE);
events.ScheduleEvent(EVENT_FROST_BOLT_SINGLE, urand(2000, 10000));
events.ScheduleEvent(EVENT_FROST_BOLT_MULTI, urand(15000, 30000));
events.ScheduleEvent(EVENT_DETONATE_MANA, 30000);
events.ScheduleEvent(EVENT_PHASE_3, 1000);
events.ScheduleEvent(EVENT_SHADOW_FISSURE, 25000);
events.ScheduleEvent(EVENT_FROST_BLAST, 45000);
events.ScheduleEvent(EVENT_FROST_BOLT_SINGLE, 2s, 10s);
events.ScheduleEvent(EVENT_FROST_BOLT_MULTI, 15s, 30s);
events.ScheduleEvent(EVENT_DETONATE_MANA, 30s);
events.ScheduleEvent(EVENT_PHASE_3, 1s);
events.ScheduleEvent(EVENT_SHADOW_FISSURE, 25s);
events.ScheduleEvent(EVENT_FROST_BLAST, 45s);
if (Is25ManRaid())
{
events.ScheduleEvent(EVENT_CHAINS, 90000);
events.ScheduleEvent(EVENT_CHAINS, 90s);
}
break;
case EVENT_ENRAGE:
@ -403,18 +403,18 @@ public:
break;
case EVENT_FROST_BOLT_SINGLE:
me->CastSpell(me->GetVictim(), RAID_MODE(SPELL_FROST_BOLT_SINGLE_10, SPELL_FROST_BOLT_SINGLE_25), false);
events.RepeatEvent(urand(2000, 10000));
events.Repeat(2s, 10s);
break;
case EVENT_FROST_BOLT_MULTI:
me->CastSpell(me, RAID_MODE(SPELL_FROST_BOLT_MULTI_10, SPELL_FROST_BOLT_MULTI_25), false);
events.RepeatEvent(urand(15000, 30000));
events.Repeat(15s, 30s);
break;
case EVENT_SHADOW_FISSURE:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 100.0f, true))
{
me->CastSpell(target, SPELL_SHADOW_FISURE, false);
}
events.RepeatEvent(25000);
events.Repeat(25s);
break;
case EVENT_FROST_BLAST:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, RAID_MODE(1, 0), 0, true))
@ -422,7 +422,7 @@ public:
me->CastSpell(target, SPELL_FROST_BLAST, false);
}
Talk(SAY_FROST_BLAST);
events.RepeatEvent(45000);
events.Repeat(45s);
break;
case EVENT_CHAINS:
for (uint8 i = 0; i < 3; ++i)
@ -433,7 +433,7 @@ public:
}
}
Talk(SAY_CHAIN);
events.RepeatEvent(90000);
events.Repeat(90s);
break;
case EVENT_DETONATE_MANA:
{
@ -455,15 +455,15 @@ public:
me->CastSpell(*itr, SPELL_DETONATE_MANA, false);
Talk(SAY_SPECIAL);
}
events.RepeatEvent(30000);
events.Repeat(30s);
break;
}
case EVENT_PHASE_3:
if (me->HealthBelowPct(45))
{
Talk(SAY_REQUEST_AID);
events.DelayEvents(5500);
events.ScheduleEvent(EVENT_P3_LICH_KING_SAY, 5000);
events.DelayEvents(5500ms);
events.ScheduleEvent(EVENT_P3_LICH_KING_SAY, 5s);
if (GameObject* go = me->GetMap()->GetGameObject(pInstance->GetGuidData(DATA_KELTHUZAD_PORTAL_1)))
{
go->SetGoState(GO_STATE_ACTIVE);
@ -482,7 +482,7 @@ public:
}
break;
}
events.RepeatEvent(1000);
events.Repeat(1s);
break;
case EVENT_P3_LICH_KING_SAY:
if (pInstance)
@ -606,12 +606,12 @@ public:
me->SetInCombatWithZone();
if (me->GetEntry() == NPC_UNSTOPPABLE_ABOMINATION)
{
events.ScheduleEvent(EVENT_MINION_FRENZY, 1000);
events.ScheduleEvent(EVENT_MINION_MORTAL_WOUND, 5000);
events.ScheduleEvent(EVENT_MINION_FRENZY, 1s);
events.ScheduleEvent(EVENT_MINION_MORTAL_WOUND, 5s);
}
else if (me->GetEntry() == NPC_GUARDIAN_OF_ICECROWN)
{
events.ScheduleEvent(EVENT_MINION_BLOOD_TAP, 15000);
events.ScheduleEvent(EVENT_MINION_BLOOD_TAP, 15s);
}
}
@ -644,7 +644,7 @@ public:
{
case EVENT_MINION_MORTAL_WOUND:
me->CastSpell(me->GetVictim(), SPELL_MORTAL_WOUND, false);
events.RepeatEvent(15000);
events.Repeat(15s);
break;
case EVENT_MINION_FRENZY:
if (me->HealthBelowPct(35))
@ -652,11 +652,11 @@ public:
me->CastSpell(me, SPELL_FRENZY, true);
break;
}
events.RepeatEvent(1000);
events.Repeat(1s);
break;
case EVENT_MINION_BLOOD_TAP:
me->CastSpell(me->GetVictim(), SPELL_BLOOD_TAP, false);
events.RepeatEvent(15000);
events.Repeat(15s);
break;
}
DoMeleeAttackIfReady();

View file

@ -113,11 +113,11 @@ public:
{
BossAI::JustEngagedWith(who);
me->SetInCombatWithZone();
events.ScheduleEvent(EVENT_NECROTIC_AURA, 10000);
events.ScheduleEvent(EVENT_DEATHBLOOM, 5000);
events.ScheduleEvent(EVENT_INEVITABLE_DOOM, 120000);
events.ScheduleEvent(EVENT_SUMMON_SPORE, 15000);
events.ScheduleEvent(EVENT_BERSERK, 720000);
events.ScheduleEvent(EVENT_NECROTIC_AURA, 10s);
events.ScheduleEvent(EVENT_DEATHBLOOM, 5s);
events.ScheduleEvent(EVENT_INEVITABLE_DOOM, 2min);
events.ScheduleEvent(EVENT_SUMMON_SPORE, 15s);
events.ScheduleEvent(EVENT_BERSERK, 12min);
if (pInstance)
{
pInstance->SetData(BOSS_LOATHEB, IN_PROGRESS);
@ -151,23 +151,23 @@ public:
{
case EVENT_SUMMON_SPORE:
me->CastSpell(me, SPELL_SUMMON_SPORE, true);
events.RepeatEvent(35000);
events.Repeat(35s);
break;
case EVENT_NECROTIC_AURA:
me->CastSpell(me, SPELL_NECROTIC_AURA, true);
Talk(SAY_NECROTIC_AURA_APPLIED);
events.ScheduleEvent(EVENT_NECROTIC_AURA_FADING, 14000);
events.ScheduleEvent(EVENT_NECROTIC_AURA_REMOVED, 17000);
events.RepeatEvent(20000);
events.ScheduleEvent(EVENT_NECROTIC_AURA_FADING, 14s);
events.ScheduleEvent(EVENT_NECROTIC_AURA_REMOVED, 17s);
events.Repeat(20s);
break;
case EVENT_DEATHBLOOM:
me->CastSpell(me, RAID_MODE(SPELL_DEATHBLOOM_10, SPELL_DEATHBLOOM_25), false);
events.RepeatEvent(30000);
events.Repeat(30s);
break;
case EVENT_INEVITABLE_DOOM:
me->CastSpell(me, RAID_MODE(SPELL_INEVITABLE_DOOM_10, SPELL_INEVITABLE_DOOM_25), false);
doomCounter++;
events.RepeatEvent(doomCounter < 6 ? 30000 : 15000);
events.Repeat(doomCounter < 6 ? 30s : 15s);
break;
case EVENT_BERSERK:
me->CastSpell(me, SPELL_BERSERK, true);

View file

@ -112,12 +112,12 @@ public:
{
BossAI::JustEngagedWith(who);
me->SetInCombatWithZone();
events.ScheduleEvent(EVENT_WEB_WRAP, 20000);
events.ScheduleEvent(EVENT_WEB_SPRAY, 40000);
events.ScheduleEvent(EVENT_POISON_SHOCK, 10000);
events.ScheduleEvent(EVENT_NECROTIC_POISON, 5000);
events.ScheduleEvent(EVENT_HEALTH_CHECK, 1000);
events.ScheduleEvent(EVENT_SUMMON_SPIDERLINGS, 30000);
events.ScheduleEvent(EVENT_WEB_WRAP, 20s);
events.ScheduleEvent(EVENT_WEB_SPRAY, 40s);
events.ScheduleEvent(EVENT_POISON_SHOCK, 10s);
events.ScheduleEvent(EVENT_NECROTIC_POISON, 5s);
events.ScheduleEvent(EVENT_HEALTH_CHECK, 1s);
events.ScheduleEvent(EVENT_SUMMON_SPIDERLINGS, 30s);
if (pInstance)
{
if (GameObject* go = me->GetMap()->GetGameObject(pInstance->GetGuidData(DATA_MAEXXNA_GATE)))
@ -171,15 +171,15 @@ public:
case EVENT_WEB_SPRAY:
Talk(EMOTE_WEB_SPRAY);
me->CastSpell(me, RAID_MODE(SPELL_WEB_SPRAY_10, SPELL_WEB_SPRAY_25), true);
events.RepeatEvent(40000);
events.Repeat(40s);
break;
case EVENT_POISON_SHOCK:
me->CastSpell(me->GetVictim(), RAID_MODE(SPELL_POISON_SHOCK_10, SPELL_POISON_SHOCK_25), false);
events.RepeatEvent(10000);
events.Repeat(10s);
break;
case EVENT_NECROTIC_POISON:
me->CastSpell(me->GetVictim(), RAID_MODE(SPELL_NECROTIC_POISON_10, SPELL_NECROTIC_POISON_25), false);
events.RepeatEvent(30000);
events.Repeat(30s);
break;
case EVENT_SUMMON_SPIDERLINGS:
Talk(EMOTE_SPIDERS);
@ -187,7 +187,7 @@ public:
{
me->SummonCreature(NPC_MAEXXNA_SPIDERLING, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), me->GetOrientation());
}
events.RepeatEvent(40000);
events.Repeat(40s);
break;
case EVENT_HEALTH_CHECK:
if (me->GetHealthPct() < 30)
@ -195,7 +195,7 @@ public:
me->CastSpell(me, RAID_MODE(SPELL_FRENZY_10, SPELL_FRENZY_25), true);
break;
}
events.RepeatEvent(1000);
events.Repeat(1s);
break;
case EVENT_WEB_WRAP:
Talk(EMOTE_WEB_WRAP);
@ -212,7 +212,7 @@ public:
}
}
}
events.RepeatEvent(40000);
events.Repeat(40s);
break;
}
DoMeleeAttackIfReady();

View file

@ -104,12 +104,12 @@ public:
me->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_DISABLE_MOVE);
me->SetControlled(false, UNIT_STATE_ROOT);
events.Reset();
events.ScheduleEvent(EVENT_MOVE_TO_BALCONY, 110000);
events.ScheduleEvent(EVENT_CURSE, 15000);
events.ScheduleEvent(EVENT_SUMMON_PLAGUED_WARRIOR_ANNOUNCE, 10000);
events.ScheduleEvent(EVENT_MOVE_TO_BALCONY, 110s);
events.ScheduleEvent(EVENT_CURSE, 15s);
events.ScheduleEvent(EVENT_SUMMON_PLAGUED_WARRIOR_ANNOUNCE, 10s);
if (Is25ManRaid())
{
events.ScheduleEvent(EVENT_BLINK, 26000);
events.ScheduleEvent(EVENT_BLINK, 26s);
}
}
@ -120,8 +120,8 @@ public:
me->SetUnitFlag(UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_DISABLE_MOVE);
me->SetControlled(true, UNIT_STATE_ROOT);
events.Reset();
events.ScheduleEvent(EVENT_BALCONY_SUMMON_ANNOUNCE, 4000);
events.ScheduleEvent(EVENT_MOVE_TO_GROUND, 70000);
events.ScheduleEvent(EVENT_BALCONY_SUMMON_ANNOUNCE, 4s);
events.ScheduleEvent(EVENT_MOVE_TO_GROUND, 70s);
}
void SummonHelper(uint32 entry, uint32 count)
@ -236,13 +236,13 @@ public:
{
me->CastCustomSpell(RAID_MODE(SPELL_CURSE_OF_THE_PLAGUEBRINGER_10, SPELL_CURSE_OF_THE_PLAGUEBRINGER_25), SPELLVALUE_MAX_TARGETS, RAID_MODE(3, 10), me, false);
}
events.RepeatEvent(25000);
events.Repeat(25s);
break;
case EVENT_SUMMON_PLAGUED_WARRIOR_ANNOUNCE:
Talk(SAY_SUMMON);
Talk(EMOTE_SUMMON);
events.RepeatEvent(30000);
events.ScheduleEvent(EVENT_SUMMON_PLAGUED_WARRIOR_REAL, 4000);
events.Repeat(30s);
events.ScheduleEvent(EVENT_SUMMON_PLAGUED_WARRIOR_REAL, 4s);
break;
case EVENT_SUMMON_PLAGUED_WARRIOR_REAL:
me->CastSpell(me, SPELL_SUMMON_PLAGUED_WARRIORS, true);
@ -258,13 +258,13 @@ public:
me->CastSpell(me, RAID_MODE(SPELL_CRIPPLE_10, SPELL_CRIPPLE_25), false);
me->CastSpell(me, SPELL_BLINK, true);
Talk(EMOTE_BLINK);
events.RepeatEvent(30000);
events.Repeat(30s);
break;
// BALCONY
case EVENT_BALCONY_SUMMON_ANNOUNCE:
Talk(EMOTE_SUMMON_WAVE);
events.RepeatEvent(30000);
events.ScheduleEvent(EVENT_BALCONY_SUMMON_REAL, 4000);
events.Repeat(30s);
events.ScheduleEvent(EVENT_BALCONY_SUMMON_REAL, 4s);
break;
case EVENT_BALCONY_SUMMON_REAL:
me->CastSpell(me, SPELL_SUMMON_PLAGUED_WARRIORS, true); // visual

View file

@ -102,9 +102,9 @@ public:
BossAI::JustEngagedWith(who);
Talk(SAY_AGGRO);
me->SetInCombatWithZone();
events.ScheduleEvent(EVENT_HATEFUL_STRIKE, 1500);
events.ScheduleEvent(EVENT_BERSERK, 360000);
events.ScheduleEvent(EVENT_HEALTH_CHECK, 1000);
events.ScheduleEvent(EVENT_HATEFUL_STRIKE, 1500ms);
events.ScheduleEvent(EVENT_BERSERK, 6min);
events.ScheduleEvent(EVENT_HEALTH_CHECK, 1s);
if (pInstance)
{
pInstance->DoStartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_TIMED_START_EVENT);
@ -167,17 +167,17 @@ public:
{
me->CastSpell(finalTarget, RAID_MODE(SPELL_HATEFUL_STRIKE_10, SPELL_HATEFUL_STRIKE_25), false);
}
events.RepeatEvent(1000);
events.Repeat(1s);
break;
}
case EVENT_BERSERK:
Talk(EMOTE_BERSERK);
me->CastSpell(me, SPELL_BERSERK, true);
events.ScheduleEvent(EVENT_SLIME_BOLT, 3000);
events.ScheduleEvent(EVENT_SLIME_BOLT, 3s);
break;
case EVENT_SLIME_BOLT:
me->CastSpell(me, SPELL_SLIME_BOLT, false);
events.RepeatEvent(3000);
events.Repeat(3s);
break;
case EVENT_HEALTH_CHECK:
if (me->GetHealthPct() <= 5)
@ -186,7 +186,7 @@ public:
me->CastSpell(me, SPELL_FRENZY, true);
break;
}
events.RepeatEvent(1000);
events.Repeat(1s);
break;
}
DoMeleeAttackIfReady();

View file

@ -136,9 +136,9 @@ public:
{
BossAI::JustEngagedWith(who);
Talk(SAY_AGGRO);
events.ScheduleEvent(EVENT_UNBALANCING_STRIKE, 20000);
events.ScheduleEvent(EVENT_DISRUPTING_SHOUT, 15000);
events.ScheduleEvent(EVENT_JAGGED_KNIFE, 10000);
events.ScheduleEvent(EVENT_UNBALANCING_STRIKE, 20s);
events.ScheduleEvent(EVENT_DISRUPTING_SHOUT, 15s);
events.ScheduleEvent(EVENT_JAGGED_KNIFE, 10s);
summons.DoZoneInCombat();
}
@ -155,18 +155,18 @@ public:
{
case EVENT_UNBALANCING_STRIKE:
me->CastSpell(me->GetVictim(), SPELL_UNBALANCING_STRIKE, false);
events.RepeatEvent(20000);
events.Repeat(20s);
break;
case EVENT_DISRUPTING_SHOUT:
me->CastSpell(me, RAID_MODE(SPELL_DISRUPTING_SHOUT_10, SPELL_DISRUPTING_SHOUT_25), false);
events.RepeatEvent(15000);
events.Repeat(15s);
break;
case EVENT_JAGGED_KNIFE:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 45.0f))
{
me->CastSpell(target, SPELL_JAGGED_KNIFE, false);
}
events.RepeatEvent(10000);
events.Repeat(10s);
break;
}
DoMeleeAttackIfReady();

View file

@ -163,13 +163,13 @@ public:
BossAI::JustEngagedWith(who);
EnterCombatSelfFunction();
me->CastSpell(me, RAID_MODE(SPELL_FROST_AURA_10, SPELL_FROST_AURA_25), true);
events.ScheduleEvent(EVENT_BERSERK, 900000);
events.ScheduleEvent(EVENT_CLEAVE, 5000);
events.ScheduleEvent(EVENT_TAIL_SWEEP, 10000);
events.ScheduleEvent(EVENT_LIFE_DRAIN, 17000);
events.ScheduleEvent(EVENT_BLIZZARD, 17000);
events.ScheduleEvent(EVENT_FLIGHT_START, 45000);
events.ScheduleEvent(EVENT_HUNDRED_CLUB, 5000);
events.ScheduleEvent(EVENT_BERSERK, 15min);
events.ScheduleEvent(EVENT_CLEAVE, 5s);
events.ScheduleEvent(EVENT_TAIL_SWEEP, 10s);
events.ScheduleEvent(EVENT_LIFE_DRAIN, 17s);
events.ScheduleEvent(EVENT_BLIZZARD, 17s);
events.ScheduleEvent(EVENT_FLIGHT_START, 45s);
events.ScheduleEvent(EVENT_HUNDRED_CLUB, 5s);
}
void JustDied(Unit* killer) override
@ -190,7 +190,7 @@ public:
{
if (type == POINT_MOTION_TYPE && id == POINT_CENTER)
{
events.ScheduleEvent(EVENT_FLIGHT_LIFTOFF, 500);
events.ScheduleEvent(EVENT_FLIGHT_LIFTOFF, 500ms);
}
}
@ -259,15 +259,15 @@ public:
return;
case EVENT_CLEAVE:
me->CastSpell(me->GetVictim(), SPELL_CLEAVE, false);
events.RepeatEvent(10000);
events.Repeat(10s);
return;
case EVENT_TAIL_SWEEP:
me->CastSpell(me, RAID_MODE(SPELL_TAIL_SWEEP_10, SPELL_TAIL_SWEEP_25), false);
events.RepeatEvent(10000);
events.Repeat(10s);
return;
case EVENT_LIFE_DRAIN:
me->CastCustomSpell(RAID_MODE(SPELL_LIFE_DRAIN_10, SPELL_LIFE_DRAIN_25), SPELLVALUE_MAX_TARGETS, RAID_MODE(2, 5), me, false);
events.RepeatEvent(24000);
events.Repeat(24s);
return;
case EVENT_BLIZZARD:
{
@ -292,8 +292,8 @@ public:
{
return;
}
events.RepeatEvent(45000);
events.DelayEvents(35000);
events.Repeat(45s);
events.DelayEvents(35s);
me->SetReactState(REACT_PASSIVE);
me->AttackStop();
float x, y, z, o;
@ -307,7 +307,7 @@ public:
me->HandleEmoteCommand(EMOTE_ONESHOT_LIFTOFF);
me->SetDisableGravity(true);
currentTarget.Clear();
events.ScheduleEvent(EVENT_FLIGHT_ICEBOLT, 3000);
events.ScheduleEvent(EVENT_FLIGHT_ICEBOLT, 3s);
iceboltCount = RAID_MODE(2, 3);
return;
case EVENT_FLIGHT_ICEBOLT:
@ -357,7 +357,7 @@ public:
}
else
{
events.ScheduleEvent(EVENT_FLIGHT_BREATH, 1000);
events.ScheduleEvent(EVENT_FLIGHT_BREATH, 1s);
}
return;
}
@ -365,11 +365,11 @@ public:
currentTarget.Clear();
Talk(EMOTE_BREATH);
me->CastSpell(me, SPELL_FROST_MISSILE, false);
events.ScheduleEvent(EVENT_FLIGHT_SPELL_EXPLOSION, 8500);
events.ScheduleEvent(EVENT_FLIGHT_SPELL_EXPLOSION, 8500ms);
return;
case EVENT_FLIGHT_SPELL_EXPLOSION:
me->CastSpell(me, SPELL_FROST_EXPLOSION, true);
events.ScheduleEvent(EVENT_FLIGHT_START_LAND, 3000);
events.ScheduleEvent(EVENT_FLIGHT_START_LAND, 3s);
return;
case EVENT_FLIGHT_START_LAND:
if (!blockList.empty())
@ -384,12 +384,12 @@ public:
}
blockList.clear();
me->RemoveAllGameObjects();
events.ScheduleEvent(EVENT_LAND, 1000);
events.ScheduleEvent(EVENT_LAND, 1s);
return;
case EVENT_LAND:
me->HandleEmoteCommand(EMOTE_ONESHOT_LAND);
me->SetDisableGravity(false);
events.ScheduleEvent(EVENT_GROUND, 1500);
events.ScheduleEvent(EVENT_GROUND, 1500ms);
return;
case EVENT_GROUND:
Talk(EMOTE_GROUND_PHASE);
@ -407,7 +407,7 @@ public:
return;
}
}
events.RepeatEvent(5000);
events.Repeat(5s);
return;
}
}

View file

@ -277,7 +277,7 @@ public:
}
}
reviveTimer = 0;
events.ScheduleEvent(EVENT_THADDIUS_INIT, 750);
events.ScheduleEvent(EVENT_THADDIUS_INIT, 750ms);
}
return;
}
@ -324,7 +324,7 @@ public:
go->SetGoState(GO_STATE_READY);
}
me->CastSpell(me, SPELL_THADDIUS_VISUAL_LIGHTNING, true);
events.ScheduleEvent(EVENT_THADDIUS_ENTER_COMBAT, 1000);
events.ScheduleEvent(EVENT_THADDIUS_ENTER_COMBAT, 1s);
break;
}
case EVENT_THADDIUS_ENTER_COMBAT:
@ -332,21 +332,21 @@ public:
me->SetReactState(REACT_AGGRESSIVE);
me->SetControlled(false, UNIT_STATE_STUNNED);
me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
events.ScheduleEvent(EVENT_THADDIUS_CHAIN_LIGHTNING, 14000);
events.ScheduleEvent(EVENT_THADDIUS_BERSERK, 360000);
events.ScheduleEvent(EVENT_THADDIUS_POLARITY_SHIFT, 30000);
events.ScheduleEvent(EVENT_ALLOW_BALL_LIGHTNING, 5000);
events.ScheduleEvent(EVENT_THADDIUS_CHAIN_LIGHTNING, 14s);
events.ScheduleEvent(EVENT_THADDIUS_BERSERK, 6min);
events.ScheduleEvent(EVENT_THADDIUS_POLARITY_SHIFT, 30s);
events.ScheduleEvent(EVENT_ALLOW_BALL_LIGHTNING, 5s);
return;
case EVENT_THADDIUS_BERSERK:
me->CastSpell(me, SPELL_BERSERK, true);
break;
case EVENT_THADDIUS_CHAIN_LIGHTNING:
me->CastSpell(me->GetVictim(), RAID_MODE(SPELL_CHAIN_LIGHTNING_10, SPELL_CHAIN_LIGHTNING_25), false);
events.RepeatEvent(15000);
events.Repeat(15s);
break;
case EVENT_THADDIUS_POLARITY_SHIFT:
me->CastSpell(me, SPELL_POLARITY_SHIFT, false);
events.RepeatEvent(30000);
events.Repeat(30s);
break;
case EVENT_ALLOW_BALL_LIGHTNING:
ballLightningEnabled = true;
@ -423,19 +423,19 @@ public:
}
if (me->GetEntry() == NPC_STALAGG)
{
events.ScheduleEvent(EVENT_MINION_POWER_SURGE, 10000);
events.ScheduleEvent(EVENT_MINION_POWER_SURGE, 10s);
Talk(SAY_STAL_AGGRO);
}
else
{
events.ScheduleEvent(EVENT_MINION_STATIC_FIELD, 5000);
events.ScheduleEvent(EVENT_MINION_STATIC_FIELD, 5s);
Talk(SAY_FEUG_AGGRO);
}
events.ScheduleEvent(EVENT_MINION_CHECK_DISTANCE, 5000);
events.ScheduleEvent(EVENT_MINION_CHECK_DISTANCE, 5s);
if (me->GetEntry() == NPC_STALAGG) // This event needs synchronisation, called for stalagg only
{
events.ScheduleEvent(EVENT_MINION_MAGNETIC_PULL, 20000);
events.ScheduleEvent(EVENT_MINION_MAGNETIC_PULL, 20s);
}
if (pInstance)
{
@ -538,14 +538,14 @@ public:
{
case EVENT_MINION_POWER_SURGE:
me->CastSpell(me, RAID_MODE(SPELL_POWER_SURGE_10, SPELL_POWER_SURGE_25), false);
events.RepeatEvent(19000);
events.Repeat(19s);
break;
case EVENT_MINION_STATIC_FIELD:
me->CastSpell(me, RAID_MODE(SPELL_STATIC_FIELD_10, SPELL_STATIC_FIELD_25), false);
events.RepeatEvent(3000);
events.Repeat(3s);
break;
case EVENT_MINION_MAGNETIC_PULL:
events.RepeatEvent(20000);
events.Repeat(20s);
if (pInstance)
{
if (Creature* feugen = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(DATA_FEUGEN_BOSS)))
@ -587,7 +587,7 @@ public:
cr->CastStop(SPELL_TESLA_SHOCK);
cr->CastSpell(target, SPELL_TESLA_SHOCK, true);
}
events.RepeatEvent(1500);
events.Repeat(1500ms);
break;
}
else
@ -596,7 +596,7 @@ public:
cr->CastSpell(cr, me->GetEntry() == NPC_STALAGG ? SPELL_STALAGG_CHAIN : SPELL_FEUGEN_CHAIN, false);
}
}
events.RepeatEvent(5000);
events.Repeat(5s);
break;
}
DoMeleeAttackIfReady();

View file

@ -855,7 +855,7 @@ public:
{
go->SetGoState(GO_STATE_ACTIVE);
}
events.ScheduleEvent(EVENT_KELTHUZAD_WING_TAUNT, 6000);
events.ScheduleEvent(EVENT_KELTHUZAD_WING_TAUNT, 6s);
break;
case BOSS_ANUB:
if (GameObject* go = instance->GetGameObject(_anubGateGUID))
@ -895,7 +895,7 @@ public:
{
go->SetGoState(GO_STATE_ACTIVE);
}
events.ScheduleEvent(EVENT_KELTHUZAD_WING_TAUNT, 6000);
events.ScheduleEvent(EVENT_KELTHUZAD_WING_TAUNT, 6s);
break;
case BOSS_GOTHIK:
if (GameObject* go = instance->GetGameObject(_gothikEnterGateGUID))
@ -912,7 +912,7 @@ public:
}
break;
case BOSS_SAPPHIRON:
events.ScheduleEvent(EVENT_FROSTWYRM_WATERFALL_DOOR, 5000);
events.ScheduleEvent(EVENT_FROSTWYRM_WATERFALL_DOOR, 5s);
break;
case BOSS_THADDIUS:
if (GameObject* go = instance->GetGameObject(_thaddiusPortalGUID))
@ -928,7 +928,7 @@ public:
{
go->SetGoState(GO_STATE_ACTIVE);
}
events.ScheduleEvent(EVENT_KELTHUZAD_WING_TAUNT, 6000);
events.ScheduleEvent(EVENT_KELTHUZAD_WING_TAUNT, 6s);
break;
case BOSS_HORSEMAN:
if (GameObject* go = instance->GetGameObject(_horsemanPortalGUID))
@ -944,7 +944,7 @@ public:
{
go->SetGoState(GO_STATE_ACTIVE);
}
events.ScheduleEvent(EVENT_KELTHUZAD_WING_TAUNT, 6000);
events.ScheduleEvent(EVENT_KELTHUZAD_WING_TAUNT, 6s);
break;
default:
break;

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;
}

View file

@ -171,22 +171,22 @@ public:
me->SetInCombatWithZone();
Talk(SAY_AGGRO);
events.ScheduleEvent(EVENT_BJARNGRIM_CHANGE_STANCE, 20000, 0);
events.ScheduleEvent(EVENT_BJARNGRIM_CHANGE_STANCE, 20s, 0);
// DEFENSIVE STANCE
events.ScheduleEvent(EVENT_BJARNGRIM_REFLECTION, 8000, STANCE_DEFENSIVE);
events.ScheduleEvent(EVENT_BJARNGRIM_PUMMEL, 5000, STANCE_DEFENSIVE);
events.ScheduleEvent(EVENT_BJARNGRIM_KNOCK, 16000, STANCE_DEFENSIVE);
events.ScheduleEvent(EVENT_BJARNGRIM_IRONFORM, 12000, STANCE_DEFENSIVE);
events.ScheduleEvent(EVENT_BJARNGRIM_REFLECTION, 8s, STANCE_DEFENSIVE);
events.ScheduleEvent(EVENT_BJARNGRIM_PUMMEL, 5s, STANCE_DEFENSIVE);
events.ScheduleEvent(EVENT_BJARNGRIM_KNOCK, 16s, STANCE_DEFENSIVE);
events.ScheduleEvent(EVENT_BJARNGRIM_IRONFORM, 12s, STANCE_DEFENSIVE);
// BERSERKER STANCE
events.ScheduleEvent(EVENT_BJARNGRIM_MORTAL_STRIKE, 20000 + 4000, STANCE_BERSERKER);
events.ScheduleEvent(EVENT_BJARNGRIM_WHIRLWIND, 20000 + 6000, STANCE_BERSERKER);
events.ScheduleEvent(EVENT_BJARNGRIM_MORTAL_STRIKE, 24s, STANCE_BERSERKER);
events.ScheduleEvent(EVENT_BJARNGRIM_WHIRLWIND, 26s, STANCE_BERSERKER);
// BATTLE STANCE
events.ScheduleEvent(EVENT_BJARNGRIM_INTERCEPT, 20000 + 3000, STANCE_BATTLE);
events.ScheduleEvent(EVENT_BJARNGRIM_CLEAVE, 20000 + 5000, STANCE_BATTLE);
events.ScheduleEvent(EVENT_BJARNGRIM_SLAM, 20000 + 10000, STANCE_BATTLE);
events.ScheduleEvent(EVENT_BJARNGRIM_INTERCEPT, 23s, STANCE_BATTLE);
events.ScheduleEvent(EVENT_BJARNGRIM_CLEAVE, 25s, STANCE_BATTLE);
events.ScheduleEvent(EVENT_BJARNGRIM_SLAM, 30s, STANCE_BATTLE);
if (m_pInstance)
{
@ -311,7 +311,7 @@ public:
// roll new stance
RemoveStanceAura(m_uiStance);
RollStance(m_uiStance);
events.RepeatEvent(20000);
events.Repeat(20s);
break;
///////////////////////////////////////////////////////
@ -319,19 +319,19 @@ public:
///////////////////////////////////////////////////////
case EVENT_BJARNGRIM_REFLECTION:
me->CastSpell(me, SPELL_BJARNGRIM_REFLETION, true);
events.RepeatEvent(8000 + rand() % 1000);
events.Repeat(8s, 9s);
break;
case EVENT_BJARNGRIM_PUMMEL:
me->CastSpell(me->GetVictim(), SPELL_PUMMEL, false);
events.RepeatEvent(10000 + rand() % 1000);
events.Repeat(10s, 11s);
break;
case EVENT_BJARNGRIM_KNOCK:
me->CastSpell(me, SPELL_KNOCK_AWAY, false);
events.RepeatEvent(20000 + rand() % 1000);
events.Repeat(20s, 21s);
break;
case EVENT_BJARNGRIM_IRONFORM:
me->CastSpell(me, SPELL_IRONFORM, true);
events.RepeatEvent(18000 + rand() % 5000);
events.Repeat(18s, 23s);
break;
///////////////////////////////////////////////////////
@ -339,11 +339,11 @@ public:
///////////////////////////////////////////////////////
case EVENT_BJARNGRIM_MORTAL_STRIKE:
me->CastSpell(me->GetVictim(), SPELL_MORTAL_STRIKE, false);
events.RepeatEvent(10000);
events.Repeat(10s);
break;
case EVENT_BJARNGRIM_WHIRLWIND:
me->CastSpell(me, SPELL_WHIRLWIND, true);
events.RepeatEvent(25000);
events.Repeat(25s);
break;
///////////////////////////////////////////////////////
@ -353,15 +353,15 @@ public:
if (Unit* target = SelectTarget(SelectTargetMethod::Random))
me->CastSpell(target, SPELL_INTERCEPT, true);
events.RepeatEvent(30000);
events.Repeat(30s);
break;
case EVENT_BJARNGRIM_CLEAVE:
me->CastSpell(me->GetVictim(), SPELL_CLEAVE, false);
events.RepeatEvent(25000);
events.Repeat(25s);
break;
case EVENT_BJARNGRIM_SLAM:
me->CastSpell(me->GetVictim(), SPELL_SLAM, false);
events.RepeatEvent(10000 + rand() % 2000);
events.Repeat(10s, 12s);
break;
}
@ -397,8 +397,8 @@ public:
void JustEngagedWith(Unit*) override
{
events.ScheduleEvent(EVENT_ARC_WELD, 2000);
events.ScheduleEvent(EVENT_RENEW_STEEL, 10000 + rand() % 1000);
events.ScheduleEvent(EVENT_ARC_WELD, 2s);
events.ScheduleEvent(EVENT_RENEW_STEEL, 10s, 11s);
}
void UpdateAI(uint32 diff) override
@ -416,14 +416,14 @@ public:
{
case EVENT_ARC_WELD:
me->CastSpell(me->GetVictim(), SPELL_ARC_WELD, true);
events.RepeatEvent(20000);
events.Repeat(20s);
break;
case EVENT_RENEW_STEEL:
if (Creature* bjarngrim = ObjectAccessor::GetCreature(*me, BjarngrimGUID))
if (bjarngrim->IsAlive())
me->CastSpell(bjarngrim, me->GetMap()->IsHeroic() ? SPELL_RENEW_STEEL_H : SPELL_RENEW_STEEL_N, true);
events.RepeatEvent(10000 + rand() % 4000);
events.Repeat(10s, 14s);
break;
}

View file

@ -106,10 +106,10 @@ public:
{
events.SetPhase(1);
if (!spark)
events.RescheduleEvent(EVENT_CHECK_HEALTH, 1000, 0, 1);
events.RescheduleEvent(EVENT_CHECK_HEALTH, 1s, 0, 1);
events.RescheduleEvent(EVENT_BALL_LIGHTNING, 10000, 0, 1);
events.RescheduleEvent(EVENT_STATIC_OVERLOAD, 5000, 0, 1);
events.RescheduleEvent(EVENT_BALL_LIGHTNING, 10s, 0, 1);
events.RescheduleEvent(EVENT_STATIC_OVERLOAD, 5s, 0, 1);
}
void JustEngagedWith(Unit*) override
@ -171,7 +171,7 @@ public:
me->SetControlled(true, UNIT_STATE_STUNNED);
events.SetPhase(2);
events.ScheduleEvent(EVENT_CALL_SPARKS, 15000, 0, 2);
events.ScheduleEvent(EVENT_CALL_SPARKS, 15s, 0, 2);
}
void UpdateAI(uint32 diff) override
@ -190,25 +190,25 @@ public:
if (Unit* target = SelectTarget(SelectTargetMethod::Random))
me->CastSpell(target, me->GetMap()->IsHeroic() ? SPELL_BALL_LIGHTNING_H : SPELL_BALL_LIGHTNING_N, false);
events.RepeatEvent(10000 + rand() % 1000);
events.Repeat(10s, 11s);
break;
case EVENT_STATIC_OVERLOAD:
if (Unit* target = SelectTarget(SelectTargetMethod::Random))
me->CastSpell(target, me->GetMap()->IsHeroic() ? SPELL_STATIC_OVERLOAD_H : SPELL_STATIC_OVERLOAD_N, false);
events.RepeatEvent(5000 + rand() % 1000);
events.Repeat(5s, 6s);
break;
case EVENT_CHECK_HEALTH:
if (HealthBelowPct(HealthCheck))
me->CastSpell(me, SPELL_DISPERSE, false);
events.RepeatEvent(1000);
events.Repeat(1s);
return;
case EVENT_CALL_SPARKS:
{
EntryCheckPredicate pred(NPC_SPARK_OF_IONAR);
summons.DoAction(ACTION_CALLBACK, pred);
events.ScheduleEvent(EVENT_RESTORE, 2000, 0, 2);
events.ScheduleEvent(EVENT_RESTORE, 2s, 0, 2);
return;
}
case EVENT_RESTORE:

View file

@ -117,9 +117,9 @@ public:
me->SetInCombatWithZone();
Talk(SAY_AGGRO);
events.ScheduleEvent(EVENT_ARC_LIGHTNING, 10000);
events.ScheduleEvent(EVENT_SHOCKWAVE, 3000);
events.ScheduleEvent(EVENT_LIGHTNING_NOVA, 15000);
events.ScheduleEvent(EVENT_ARC_LIGHTNING, 10s);
events.ScheduleEvent(EVENT_SHOCKWAVE, 3s);
events.ScheduleEvent(EVENT_LIGHTNING_NOVA, 15s);
if (m_pInstance)
{
@ -222,15 +222,15 @@ public:
HealthCheck -= 25;
}
events.RepeatEvent(1000);
events.Repeat(1s);
break;
case EVENT_LIGHTNING_NOVA:
events.RepeatEvent(15000);
events.Repeat(15s);
me->CastSpell(me, SPELL_LIGHTNING_NOVA_VISUAL, true);
me->CastSpell(me, SPELL_LIGHTNING_NOVA_THUNDERS, true);
events.DelayEvents(5001);
events.ScheduleEvent(EVENT_AURA_REMOVE, me->GetMap()->IsHeroic() ? 4000 : 5000);
events.DelayEvents(5s);
events.ScheduleEvent(EVENT_AURA_REMOVE, me->GetMap()->IsHeroic() ? 4s : 5s);
me->CastSpell(me, me->GetMap()->IsHeroic() ? SPELL_LIGHTNING_NOVA_H : SPELL_LIGHTNING_NOVA_N, false);
break;
@ -241,7 +241,7 @@ public:
if (Unit* target = SelectTargetFromPlayerList(100, SPELL_ARC_LIGHTNING))
me->CastSpell(target, SPELL_ARC_LIGHTNING, false);
events.RepeatEvent(12000);
events.Repeat(12s);
break;
case EVENT_AURA_REMOVE:
me->RemoveAura(SPELL_LIGHTNING_NOVA_THUNDERS);

View file

@ -192,10 +192,10 @@ public:
void ScheduleEvents(bool anvil)
{
events.SetPhase(1);
events.RescheduleEvent(EVENT_HEAT, 8000, 0, 1);
events.RescheduleEvent(EVENT_SHATTER, 10000, 0, 1);
events.RescheduleEvent(EVENT_CHECK_HEALTH, anvil ? 1000 : 6000, 0, 1);
events.RescheduleEvent(EVENT_POSITION, 4000, 0, 1);
events.RescheduleEvent(EVENT_HEAT, 8s, 0, 1);
events.RescheduleEvent(EVENT_SHATTER, 10s, 0, 1);
events.RescheduleEvent(EVENT_CHECK_HEALTH, anvil ? 1s : 6s, 0, 1);
events.RescheduleEvent(EVENT_POSITION, 4s, 0, 1);
}
void JustSummoned(Creature* summon) override
@ -243,7 +243,7 @@ public:
me->SetControlled(true, UNIT_STATE_ROOT);
}
else
events.ScheduleEvent(EVENT_MOVE_TO_ANVIL, 0, 0, 2);
events.ScheduleEvent(EVENT_MOVE_TO_ANVIL, 0ms, 0, 2);
}
void SpellHitTarget(Unit* /*who*/, SpellInfo const* spellInfo) override
@ -269,7 +269,7 @@ public:
if (me->GetMotionMaster()->GetCurrentMovementGeneratorType() == CHASE_MOTION_TYPE)
me->GetMotionMaster()->MovementExpired();
events.ScheduleEvent(EVENT_MOVE_TO_ANVIL, 0, 0, 2);
events.ScheduleEvent(EVENT_MOVE_TO_ANVIL, 0ms, 0, 2);
}
void UpdateAI(uint32 diff) override
@ -287,17 +287,17 @@ public:
{
case EVENT_HEAT:
me->CastSpell(me, me->GetMap()->IsHeroic() ? SPELL_HEAT_H : SPELL_HEAT_N, true);
events.RepeatEvent(8000);
events.Repeat(8s);
break;
case EVENT_CHECK_HEALTH:
if (HealthBelowPct(HealthCheck))
GoToAnvil();
events.RepeatEvent(1000);
events.Repeat(1s);
return;
case EVENT_SHATTER:
{
events.RepeatEvent(10000);
events.Repeat(10s);
summons.DoAction(ACTION_SHATTER);
break;
}
@ -309,7 +309,7 @@ public:
if (me->GetDistance(1331.9f, -106, 56) > 95)
EnterEvadeMode();
else
events.RepeatEvent(4000);
events.Repeat(4s);
return;
}
@ -342,8 +342,8 @@ public:
void Reset() override
{
events.Reset();
events.ScheduleEvent(EVENT_BLAST, 7000);
events.ScheduleEvent(EVENT_IMMOLATION, 3000);
events.ScheduleEvent(EVENT_BLAST, 7s);
events.ScheduleEvent(EVENT_IMMOLATION, 3s);
}
void DamageTaken(Unit*, uint32& uiDamage, DamageEffectType, SpellSchoolMask) override
@ -397,11 +397,11 @@ public:
{
case EVENT_BLAST:
me->CastSpell(me, SPELL_BLAST_WAVE, false);
events.RepeatEvent(14000);
events.Repeat(14s);
break;
case EVENT_IMMOLATION:
me->CastSpell(me->GetVictim(), me->GetMap()->IsHeroic() ? SPELL_IMMOLATION_STRIKE_H : SPELL_IMMOLATION_STRIKE_N, false);
events.RepeatEvent(5000);
events.Repeat(5s);
break;
}
@ -482,7 +482,7 @@ public:
_isActive = false;
_attackGUID = who->GetGUID();
events.Reset();
events.RescheduleEvent(EVENT_UNFREEZE, 5000);
events.RescheduleEvent(EVENT_UNFREEZE, 5s);
}
}
}
@ -492,16 +492,16 @@ public:
events.Reset();
if (me->GetEntry() == 28961) // NPC_TITANIUM_SIEGEBREAKER
{
events.ScheduleEvent(EVENT_PIERCING_HOWL, 10000 + rand() % 15000);
events.ScheduleEvent(EVENT_PENETRATING_STRIKE, 5000 + rand() % 5000);
events.ScheduleEvent(EVENT_FRIGHTENING_SHOUT, 20000 + rand() % 8000);
events.ScheduleEvent(EVENT_BLADE_TURNING, 12000);
events.ScheduleEvent(EVENT_PIERCING_HOWL, 10s, 25s);
events.ScheduleEvent(EVENT_PENETRATING_STRIKE, 5s, 10s);
events.ScheduleEvent(EVENT_FRIGHTENING_SHOUT, 20s, 28s);
events.ScheduleEvent(EVENT_BLADE_TURNING, 12s);
}
else
{
events.ScheduleEvent(EVENT_THROW, 10000 + rand() % 15000);
events.ScheduleEvent(EVENT_DEADLY_THROW, 15000 + rand() % 15000);
events.ScheduleEvent(EVENT_DEFLECTION, 15000);
events.ScheduleEvent(EVENT_THROW, 10s, 25s);
events.ScheduleEvent(EVENT_DEADLY_THROW, 15s, 30s);
events.ScheduleEvent(EVENT_DEFLECTION, 15s);
}
}
@ -542,31 +542,31 @@ public:
{
case EVENT_PIERCING_HOWL:
me->CastSpell(me->GetVictim(), SPELL_PIERCING_HOWL, false);
events.RepeatEvent(10000 + rand() % 1500);
events.Repeat(10s, 25s);
break;
case EVENT_PENETRATING_STRIKE:
me->CastSpell(me->GetVictim(), SPELL_PENETRATING_STRIKE, false);
events.RepeatEvent(5000 + rand() % 5000);
events.Repeat(5s, 10s);
break;
case EVENT_FRIGHTENING_SHOUT:
me->CastSpell(me->GetVictim(), SPELL_FRIGHTENING_SHOUT, false);
events.RepeatEvent(20000 + rand() % 8000);
events.Repeat(20s, 28s);
break;
case EVENT_BLADE_TURNING:
me->CastSpell(me->GetVictim(), me->GetMap()->IsHeroic() ? SPELL_BLADE_TURNING_H : SPELL_BLADE_TURNING_N, false);
events.RepeatEvent(12000);
events.Repeat(12s);
break;
case EVENT_THROW:
me->CastSpell(SelectTarget(SelectTargetMethod::Random, 0, 50.0f, true, 0), me->GetMap()->IsHeroic() ? SPELL_THROW_H : SPELL_THROW_N, true);
events.RepeatEvent(10000 + rand() % 15000);
events.Repeat(10s, 25s);
break;
case EVENT_DEADLY_THROW:
me->CastSpell(SelectTarget(SelectTargetMethod::Random, 0, 50.0f, true, 0), me->GetMap()->IsHeroic() ? SPELL_DEADLY_THROW_H : SPELL_DEADLY_THROW_N, true);
events.RepeatEvent(15000 + rand() % 15000);
events.Repeat(15s, 30s);
break;
case EVENT_DEFLECTION:
me->CastSpell(me, me->GetMap()->IsHeroic() ? SPELL_DEFLECTION_H : SPELL_DEFLECTION_N, false);
events.RepeatEvent(15000);
events.Repeat(15s);
break;
}

View file

@ -84,11 +84,11 @@ public:
void JustEngagedWith(Unit* /*who*/) override
{
events.Reset();
events.RescheduleEvent(EVENT_BOULDER, 8000);
events.RescheduleEvent(EVENT_STOMP, 5000);
events.RescheduleEvent(EVENT_GROUND_SLAM, 15000);
events.RescheduleEvent(EVENT_BOULDER, 8s);
events.RescheduleEvent(EVENT_STOMP, 5s);
events.RescheduleEvent(EVENT_GROUND_SLAM, 15s);
if (me->GetMap()->IsHeroic())
events.RescheduleEvent(EVENT_GROUND_SPIKE, 10000);
events.RescheduleEvent(EVENT_GROUND_SPIKE, 10s);
if (pInstance)
pInstance->SetData(BOSS_KRYSTALLUS, IN_PROGRESS);
@ -125,34 +125,34 @@ public:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 50.0f, true, 0))
me->CastSpell(target, DUNGEON_MODE(BOULDER_TOSS, BOULDER_TOSS_H), false);
events.RepeatEvent(5000 + rand() % 2000);
events.Repeat(5s, 7s);
break;
}
case EVENT_GROUND_SPIKE:
{
me->CastSpell(me->GetVictim(), GROUND_SPIKE_H, false); // current enemy target
events.RepeatEvent(8000 + rand() % 3000);
events.Repeat(8s, 11s);
break;
}
case EVENT_STOMP:
{
me->CastSpell(me, DUNGEON_MODE(STOMP, STOMP_H), false);
events.RepeatEvent(13000 + rand() % 5000);
events.Repeat(13s, 18s);
break;
}
case EVENT_GROUND_SLAM:
{
events.RepeatEvent(10000 + rand() % 3000);
events.Repeat(10s, 13s);
me->CastSpell(me->GetVictim(), GROUND_SLAM, true);
events.DelayEvents(10000);
events.RescheduleEvent(EVENT_SHATTER, 8000);
events.DelayEvents(10s);
events.RescheduleEvent(EVENT_SHATTER, 8s);
break;
}
case EVENT_SHATTER:
{
me->CastSpell((Unit*)nullptr, DUNGEON_MODE(SHATTER, SHATTER_H), false);
Talk(SAY_SHATTER);
events.RescheduleEvent(EVENT_REMOVE_STONED, 1500);
events.RescheduleEvent(EVENT_REMOVE_STONED, 1500ms);
break;
}
case EVENT_REMOVE_STONED:

View file

@ -80,10 +80,10 @@ public:
void JustEngagedWith(Unit* /*who*/) override
{
events.ScheduleEvent(EVENT_STORM, 5000);
events.ScheduleEvent(EVENT_SHOCK, 26000 + rand() % 6000);
events.ScheduleEvent(EVENT_PILLAR, 12000 + rand() % 8000);
events.ScheduleEvent(EVENT_PARTING, 8000);
events.ScheduleEvent(EVENT_STORM, 5s);
events.ScheduleEvent(EVENT_SHOCK, 26s, 32s);
events.ScheduleEvent(EVENT_PILLAR, 12s, 20s);
events.ScheduleEvent(EVENT_PARTING, 8s);
Talk(SAY_AGGRO);
if (pInstance)
@ -108,7 +108,7 @@ public:
case EVENT_STORM:
{
me->CastSpell(me->GetVictim(), DUNGEON_MODE(STORM_OF_GRIEF, STORM_OF_GRIEF_H), true);
events.RepeatEvent(10000);
events.Repeat(10s);
break;
}
case EVENT_SHOCK:
@ -116,7 +116,7 @@ public:
me->CastSpell(me->GetVictim(), DUNGEON_MODE(SHOCK_OF_SORROW, SHOCK_OF_SORROW_H), false);
Talk(SAY_STUN);
events.RepeatEvent(16000 + rand() % 6000);
events.Repeat(16s, 22s);
break;
}
case EVENT_PILLAR:
@ -124,7 +124,7 @@ public:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 50.0f, true, 0))
me->CastSpell(target, DUNGEON_MODE(PILLAR_OF_WOE, PILLAR_OF_WOE_H), false);
events.RepeatEvent(12000 + rand() % 8000);
events.Repeat(12s, 20s);
break;
}
case EVENT_PARTING:
@ -132,7 +132,7 @@ public:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 50.0f, true, 0))
me->CastSpell(target, PARTING_SORROW, false);
events.RepeatEvent(6000 + rand() % 10000);
events.Repeat(6s, 16s);
break;
}
}

View file

@ -165,14 +165,14 @@ public:
{
Talk(SAY_AGGRO);
events.ScheduleEvent(EVENT_CHECK_HEALTH, 1000);
events.ScheduleEvent(EVENT_SHIELD, 14000 + rand() % 5000);
events.ScheduleEvent(EVENT_CHAIN_LIGHTNING, 6000 + rand() % 6000);
events.ScheduleEvent(EVENT_STATIC_CHARGE, 24000);
events.ScheduleEvent(EVENT_LIGHTNING_RING, 25000 + rand() % 6000);
events.ScheduleEvent(EVENT_SUMMON, 20000);
events.ScheduleEvent(EVENT_SUMMON, 21500);
events.ScheduleEvent(EVENT_SUMMON_SPEACH, 20000);
events.ScheduleEvent(EVENT_CHECK_HEALTH, 1s);
events.ScheduleEvent(EVENT_SHIELD, 14s, 19s);
events.ScheduleEvent(EVENT_CHAIN_LIGHTNING, 6s, 12s);
events.ScheduleEvent(EVENT_STATIC_CHARGE, 24s);
events.ScheduleEvent(EVENT_LIGHTNING_RING, 25s, 31s);
events.ScheduleEvent(EVENT_SUMMON, 20s);
events.ScheduleEvent(EVENT_SUMMON, 21s + 500ms);
events.ScheduleEvent(EVENT_SUMMON_SPEACH, 20s);
if (pInstance)
{
@ -214,8 +214,8 @@ public:
{
SummonPhase = PHASE_SUMMON_OOZE;
events.CancelEvent(EVENT_SUMMON);
events.ScheduleEvent(EVENT_SUMMON, 0);
events.ScheduleEvent(EVENT_SUMMON, 1500);
events.ScheduleEvent(EVENT_SUMMON, 0ms);
events.ScheduleEvent(EVENT_SUMMON, 1500ms);
if (pInstance)
if (Creature* brann = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(NPC_BRANN)))
@ -236,17 +236,17 @@ public:
me->CastSpell(me, SPELL_FRENZY, false);
events.CancelEvent(EVENT_SUMMON);
events.ScheduleEvent(EVENT_SUMMON, 0);
events.ScheduleEvent(EVENT_SUMMON, 0ms);
break;
}
events.RepeatEvent(1000);
events.Repeat(1s);
break;
}
case EVENT_SHIELD:
{
me->CastSpell(me, DUNGEON_MODE(SPELL_LIGHTNING_SHIELD, SPELL_LIGHTNING_SHIELD_H), false);
events.RepeatEvent(14000 + rand() % 5000);
events.Repeat(14s, 19s);
break;
}
case EVENT_CHAIN_LIGHTNING:
@ -254,7 +254,7 @@ public:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 50.0f, true, 0))
me->CastSpell(target, DUNGEON_MODE(SPELL_CHAIN_LIGHTNING, SPELL_CHAIN_LIGHTNING_H), false);
events.RepeatEvent(6000 + rand() % 6000);
events.Repeat(6s, 12s);
break;
}
case EVENT_STATIC_CHARGE:
@ -262,14 +262,14 @@ public:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 50.0f, true, 0))
me->CastSpell(target, DUNGEON_MODE(SPELL_STATIC_CHARGE, SPELL_STATIC_CHARGE_H), false);
events.RepeatEvent(20000);
events.Repeat(20s);
break;
}
case EVENT_LIGHTNING_RING:
{
me->CastSpell(me, DUNGEON_MODE(SPELL_LIGHTNING_RING, SPELL_LIGHTNING_RING_H), false);
events.RepeatEvent(25000 + rand() % 6000);
events.DelayEvents(10000); // Channel duration
events.Repeat(25s, 31s);
events.DelayEvents(10s); // Channel duration
break;
}
case EVENT_SUMMON_SPEACH:
@ -289,7 +289,7 @@ public:
case PHASE_SUMMON_UNFRIENDLY_DWARFES:
{
SummonDwarfes(false);
events.RepeatEvent(20000);
events.Repeat(20s);
break;
}
case PHASE_SUMMON_OOZE:
@ -303,7 +303,7 @@ public:
summons.Summon(ooze);
}
}
events.RepeatEvent(10000);
events.Repeat(10s);
break;
}
case PHASE_SUMMON_FRIENDLY_DWARFES:
@ -454,7 +454,7 @@ public:
case EVENT_TOXIC_VOLLEY:
{
me->CastSpell(me, DUNGEON_MODE(SPELL_TOXIC_VOLLEY, SPELL_TOXIC_VOLLEY_H), false);
events.RepeatEvent(5000);
events.Repeat(5s);
break;
}
}
@ -483,7 +483,7 @@ public:
void MovementInform(uint32 type, uint32 point) override
{
if (type == POINT_MOTION_TYPE && point == 0)
events.RescheduleEvent(EVENT_MALFORMED_OOZE_CHECK, 1000);
events.RescheduleEvent(EVENT_MALFORMED_OOZE_CHECK, 1s);
}
void JustEngagedWith(Unit*) override { }
@ -508,7 +508,7 @@ public:
break;
}
events.RepeatEvent(1000);
events.Repeat(1s);
break;
}
}

View file

@ -424,8 +424,8 @@ public:
kaddrak->CastSpell(plr, DUNGEON_MODE(SPELL_GLARE_OF_THE_TRIBUNAL, SPELL_GLARE_OF_THE_TRIBUNAL_H), true);
}
events.RescheduleEvent(EVENT_KADDRAK_SWITCH_EYE, 1500);
events.RepeatEvent(2000 + urand(0, 2000));
events.RescheduleEvent(EVENT_KADDRAK_SWITCH_EYE, 1500ms);
events.Repeat(2s, 4s);
break;
}
case EVENT_KADDRAK_SWITCH_EYE:
@ -456,7 +456,7 @@ public:
}
}
}
events.RepeatEvent(20000);
events.Repeat(20s);
break;
}
case EVENT_ABEDNEUM_HEAD: // Third
@ -474,7 +474,7 @@ public:
cr->CastSpell(cr, DUNGEON_MODE(SPELL_SEARING_GAZE, SPELL_SEARING_GAZE_H), true);
}
}
events.RepeatEvent(30000);
events.Repeat(30s);
break;
}
case EVENT_SUMMON_MONSTERS:
@ -519,7 +519,7 @@ public:
plr->GroupEventHappens(QUEST_HALLS_OF_STONE, me);
}
events.ScheduleEvent(EVENT_GO_TO_SJONNIR, 279000);
events.ScheduleEvent(EVENT_GO_TO_SJONNIR, 279s);
break;
}
case EVENT_GO_TO_SJONNIR:
@ -634,16 +634,16 @@ void brann_bronzebeard::brann_bronzebeardAI::InitializeEvent()
TalkEvent = true;
events.Reset();
events.ScheduleEvent(EVENT_SUMMON_MONSTERS, 21000);
events.ScheduleEvent(EVENT_KADDRAK_HEAD, 20000);
events.ScheduleEvent(EVENT_MARNAK_HEAD, 105000);
events.ScheduleEvent(EVENT_ABEDNEUM_HEAD, 205000);
events.ScheduleEvent(EVENT_TRIBUNAL_END, 315000);
events.ScheduleEvent(EVENT_SUMMON_MONSTERS, 21s);
events.ScheduleEvent(EVENT_KADDRAK_HEAD, 20s);
events.ScheduleEvent(EVENT_MARNAK_HEAD, 105s);
events.ScheduleEvent(EVENT_ABEDNEUM_HEAD, 205s);
events.ScheduleEvent(EVENT_TRIBUNAL_END, 315s);
// Viusals
events.ScheduleEvent(EVENT_KADDRAK_VISUAL, 20000);
events.ScheduleEvent(EVENT_MARNAK_VISUAL, 105000);
events.ScheduleEvent(EVENT_ABEDNEUM_VISUAL, 205000);
events.ScheduleEvent(EVENT_KADDRAK_VISUAL, 20s);
events.ScheduleEvent(EVENT_MARNAK_VISUAL, 105s);
events.ScheduleEvent(EVENT_ABEDNEUM_VISUAL, 205s);
}
void brann_bronzebeard::brann_bronzebeardAI::WaypointReached(uint32 id)
@ -717,8 +717,8 @@ public:
void JustEngagedWith(Unit*) override
{
events.ScheduleEvent(EVENT_DRP_CHARGE, 10000);
events.ScheduleEvent(EVENT_DRP_CLEAVE, 7000);
events.ScheduleEvent(EVENT_DRP_CHARGE, 10s);
events.ScheduleEvent(EVENT_DRP_CLEAVE, 7s);
}
void UpdateAI(uint32 diff) override
@ -737,13 +737,13 @@ public:
if (Unit* tgt = SelectTarget(SelectTargetMethod::Random, 0))
me->CastSpell(tgt, SPELL_DRP_CHARGE, false);
events.RepeatEvent(10000);
events.Repeat(10s);
break;
}
case EVENT_DRP_CLEAVE:
{
me->CastSpell(me->GetVictim(), SPELL_DRP_CLEAVE, false);
events.RepeatEvent(7000);
events.Repeat(7s);
break;
}
}
@ -775,8 +775,8 @@ public:
void JustEngagedWith(Unit*) override
{
events.ScheduleEvent(EVENT_DRS_LIGHTNING_BOLD, 5000);
events.ScheduleEvent(EVENT_DRS_SHADOW_WORD_PAIN, 12000);
events.ScheduleEvent(EVENT_DRS_LIGHTNING_BOLD, 5s);
events.ScheduleEvent(EVENT_DRS_SHADOW_WORD_PAIN, 12s);
}
void UpdateAI(uint32 diff) override
@ -793,13 +793,13 @@ public:
case EVENT_DRS_LIGHTNING_BOLD:
{
me->CastSpell(me->GetVictim(), IsHeroic() ? SPELL_DRS_LIGHTING_BOLT_H : SPELL_DRS_LIGHTING_BOLT, false);
events.RepeatEvent(5000);
events.Repeat(5s);
break;
}
case EVENT_DRS_SHADOW_WORD_PAIN:
{
me->CastSpell(me->GetVictim(), IsHeroic() ? SPELL_DRS_SHADOW_WORD_PAIN_H : SPELL_DRS_SHADOW_WORD_PAIN, false);
events.RepeatEvent(12000);
events.Repeat(12s);
break;
}
}
@ -830,8 +830,8 @@ public:
void JustEngagedWith(Unit*) override
{
events.ScheduleEvent(EVENT_IGC_CRUSH, 6000);
events.ScheduleEvent(EVENT_IGC_GROUND_SMASH, 4000);
events.ScheduleEvent(EVENT_IGC_CRUSH, 6s);
events.ScheduleEvent(EVENT_IGC_GROUND_SMASH, 4s);
}
void UpdateAI(uint32 diff) override
{
@ -847,13 +847,13 @@ public:
case EVENT_IGC_CRUSH:
{
me->CastSpell(me->GetVictim(), SPELL_IGC_CRUSH_ARMOR, false);
events.RepeatEvent(6000);
events.Repeat(6s);
break;
}
case EVENT_IGC_GROUND_SMASH:
{
me->CastSpell(me->GetVictim(), IsHeroic() ? SPELL_IGC_GROUND_SMASH_H : SPELL_IGC_GROUND_SMASH, false);
events.RepeatEvent(5000);
events.Repeat(5s);
break;
}
}

View file

@ -416,10 +416,10 @@ public:
init.Launch();
events.Reset();
events.SetPhase(PHASE_ROLE_PLAY);
events.ScheduleEvent(EVENT_INTRO_1, 5000, 0, PHASE_ROLE_PLAY);
events.ScheduleEvent(EVENT_INTRO_2, 15000, 0, PHASE_ROLE_PLAY);
events.ScheduleEvent(EVENT_INTRO_3, 23000, 0, PHASE_ROLE_PLAY);
events.ScheduleEvent(EVENT_INTRO_FINISH, 36000, 0, PHASE_ROLE_PLAY);
events.ScheduleEvent(EVENT_INTRO_1, 5s, 0, PHASE_ROLE_PLAY);
events.ScheduleEvent(EVENT_INTRO_2, 15s, 0, PHASE_ROLE_PLAY);
events.ScheduleEvent(EVENT_INTRO_3, 23s, 0, PHASE_ROLE_PLAY);
events.ScheduleEvent(EVENT_INTRO_FINISH, 36s, 0, PHASE_ROLE_PLAY);
break;
}
case ACTION_DESPAWN_ALGALON:
@ -427,12 +427,12 @@ public:
events.Reset();
summons.DespawnAll();
events.SetPhase(PHASE_ROLE_PLAY);
events.ScheduleEvent(EVENT_DESPAWN_ALGALON_1, 5000);
events.ScheduleEvent(EVENT_DESPAWN_ALGALON_2, 17000);
events.ScheduleEvent(EVENT_DESPAWN_ALGALON_3, 26000);
events.ScheduleEvent(EVENT_DESPAWN_ALGALON_1, 5s);
events.ScheduleEvent(EVENT_DESPAWN_ALGALON_2, 17s);
events.ScheduleEvent(EVENT_DESPAWN_ALGALON_3, 26s);
if (me->IsInCombat())
events.ScheduleEvent(EVENT_DESPAWN_ALGALON_4, 26000);
events.ScheduleEvent(EVENT_DESPAWN_ALGALON_5, 32000);
events.ScheduleEvent(EVENT_DESPAWN_ALGALON_4, 26s);
events.ScheduleEvent(EVENT_DESPAWN_ALGALON_5, 32s);
me->DespawnOrUnsummon(39000);
me->SetReactState(REACT_PASSIVE);
@ -451,7 +451,7 @@ public:
case ACTION_ASCEND:
summons.DespawnAll();
events.SetPhase(PHASE_BIG_BANG);
events.ScheduleEvent(EVENT_ASCEND_TO_THE_HEAVENS, 1500);
events.ScheduleEvent(EVENT_ASCEND_TO_THE_HEAVENS, 1500ms);
break;
case ACTION_FEEDS_ON_TEARS_FAILED:
_fedOnTears = false;
@ -484,7 +484,7 @@ public:
if (!_firstPull)
{
events.ScheduleEvent(EVENT_START_COMBAT, 0);
events.ScheduleEvent(EVENT_START_COMBAT, 0ms);
introDelay = 8000;
}
else
@ -493,7 +493,7 @@ public:
_firstPull = false;
Talk(SAY_ALGALON_START_TIMER);
introDelay = 22000;
events.ScheduleEvent(EVENT_START_COMBAT, 14000);
events.ScheduleEvent(EVENT_START_COMBAT, 14s);
m_pInstance->SetData(DATA_DESPAWN_ALGALON, 0);
}
@ -507,7 +507,7 @@ public:
events.ScheduleEvent(EVENT_BIG_BANG, 90000 + introDelay);
events.ScheduleEvent(EVENT_ASCEND_TO_THE_HEAVENS, 360000 + introDelay);
events.ScheduleEvent(EVENT_CHECK_HERALD_ITEMS, 5000);
events.ScheduleEvent(EVENT_CHECK_HERALD_ITEMS, 5s);
DoCheckHeraldOfTheTitans();
}
@ -521,15 +521,15 @@ public:
else if (pointId == POINT_ALGALON_OUTRO)
{
me->SetFacingTo(1.605703f);
events.ScheduleEvent(EVENT_OUTRO_3, 1200);
events.ScheduleEvent(EVENT_OUTRO_4, 2400);
events.ScheduleEvent(EVENT_OUTRO_5, 8500);
events.ScheduleEvent(EVENT_OUTRO_6, 15500);
events.ScheduleEvent(EVENT_OUTRO_7, 55500);
events.ScheduleEvent(EVENT_OUTRO_8, 73500);
events.ScheduleEvent(EVENT_OUTRO_9, 85500);
events.ScheduleEvent(EVENT_OUTRO_10, 101500);
events.ScheduleEvent(EVENT_OUTRO_11, 117500);
events.ScheduleEvent(EVENT_OUTRO_3, 1200ms);
events.ScheduleEvent(EVENT_OUTRO_4, 2400ms);
events.ScheduleEvent(EVENT_OUTRO_5, 8500ms);
events.ScheduleEvent(EVENT_OUTRO_6, 15s + 500ms);
events.ScheduleEvent(EVENT_OUTRO_7, 55s + 500ms);
events.ScheduleEvent(EVENT_OUTRO_8, 73s + 500ms);
events.ScheduleEvent(EVENT_OUTRO_9, 85s + 500ms);
events.ScheduleEvent(EVENT_OUTRO_10, 101s + 500ms);
events.ScheduleEvent(EVENT_OUTRO_11, 117s + 500ms);
}
}
@ -609,9 +609,9 @@ public:
summons.DespawnAll();
me->InterruptNonMeleeSpells(false);
events.SetPhase(PHASE_ROLE_PLAY);
events.ScheduleEvent(EVENT_OUTRO_START, 1500);
events.ScheduleEvent(EVENT_OUTRO_1, 7200);
events.ScheduleEvent(EVENT_OUTRO_2, 8700);
events.ScheduleEvent(EVENT_OUTRO_START, 1500ms);
events.ScheduleEvent(EVENT_OUTRO_1, 7200ms);
events.ScheduleEvent(EVENT_OUTRO_2, 8700ms);
}
}
@ -678,34 +678,34 @@ public:
break;
case EVENT_QUANTUM_STRIKE:
me->CastSpell(me->GetVictim(), SPELL_QUANTUM_STRIKE, false);
events.RepeatEvent(urand(3000, 4500));
events.Repeat(3000ms, 4500ms);
break;
case EVENT_PHASE_PUNCH:
me->CastSpell(me->GetVictim(), SPELL_PHASE_PUNCH, false);
events.RepeatEvent(15500);
events.Repeat(15s + 500ms);
break;
case EVENT_SUMMON_COLLAPSING_STAR:
Talk(SAY_ALGALON_COLLAPSING_STAR);
Talk(EMOTE_ALGALON_COLLAPSING_STAR);
for (uint8 i = 0; i < COLLAPSING_STAR_COUNT; ++i)
me->SummonCreature(NPC_COLLAPSING_STAR, CollapsingStarPos[i], TEMPSUMMON_CORPSE_TIMED_DESPAWN, 2000);
events.RepeatEvent(60000);
events.Repeat(1min);
break;
case EVENT_COSMIC_SMASH:
Talk(EMOTE_ALGALON_COSMIC_SMASH);
me->CastCustomSpell(SPELL_COSMIC_SMASH, SPELLVALUE_MAX_TARGETS, RAID_MODE(1, 3), (Unit*)nullptr);
events.RepeatEvent(25500);
events.Repeat(25s + 500ms);
break;
case EVENT_ACTIVATE_LIVING_CONSTELLATION:
{
if (events.GetPhaseMask() & PHASE_MASK_NO_UPDATE)
{
events.RepeatEvent(4000);
events.Repeat(4s);
break;
}
CallConstellations();
//me->CastSpell(me, SPELL_TRIGGER_3_ADDS, true);
events.RepeatEvent(50000);
events.Repeat(50s);
break;
}
case EVENT_BIG_BANG:
@ -717,13 +717,13 @@ public:
summons.DoAction(ACTION_BIG_BANG, pred);
me->CastSpell((Unit*)nullptr, SPELL_BIG_BANG, false);
events.RepeatEvent(90500);
events.Repeat(90s + 500ms);
break;
}
case EVENT_ASCEND_TO_THE_HEAVENS:
Talk(SAY_ALGALON_ASCEND);
me->CastSpell((Unit*)nullptr, SPELL_ASCEND_TO_THE_HEAVENS, false);
events.ScheduleEvent(EVENT_EVADE, 2500);
events.ScheduleEvent(EVENT_EVADE, 2500ms);
break;
case EVENT_EVADE:
events.Reset();
@ -806,7 +806,7 @@ public:
break;
case EVENT_CHECK_HERALD_ITEMS:
if (!DoCheckHeraldOfTheTitans())
events.RepeatEvent(5000);
events.Repeat(5s);
break;
}
@ -842,16 +842,16 @@ public:
me->SetWalk(false);
_currentPoint = 0;
events.Reset();
events.ScheduleEvent(EVENT_BRANN_MOVE_INTRO, 1);
events.ScheduleEvent(EVENT_BRANN_MOVE_INTRO, 1ms);
break;
case ACTION_FINISH_INTRO:
Talk(SAY_BRANN_ALGALON_INTRO_2);
events.ScheduleEvent(EVENT_BRANN_MOVE_INTRO, 1);
events.ScheduleEvent(EVENT_BRANN_MOVE_INTRO, 1ms);
break;
case ACTION_OUTRO:
me->GetMotionMaster()->MovePoint(POINT_BRANN_OUTRO, BrannOutroPos[1]);
events.ScheduleEvent(EVENT_BRANN_OUTRO_1, 87500);
events.ScheduleEvent(EVENT_BRANN_OUTRO_2, 116500);
events.ScheduleEvent(EVENT_BRANN_OUTRO_1, 87s + 500ms);
events.ScheduleEvent(EVENT_BRANN_OUTRO_2, 116s + 500ms);
break;
}
}
@ -873,7 +873,7 @@ public:
me->SetFacingTo(4.6156f);
me->SetWalk(false);
Talk(SAY_BRANN_ALGALON_INTRO_1);
events.ScheduleEvent(EVENT_SUMMON_ALGALON, 7500);
events.ScheduleEvent(EVENT_SUMMON_ALGALON, 7500ms);
return;
case 10:
me->DespawnOrUnsummon(1);
@ -972,7 +972,7 @@ public:
void Reset() override
{
events.Reset();
events.ScheduleEvent(EVENT_ARCANE_BARRAGE, 2500);
events.ScheduleEvent(EVENT_ARCANE_BARRAGE, 2500ms);
_isActive = false;
}
@ -1001,7 +1001,7 @@ public:
case ACTION_BIG_BANG:
events.SetPhase(PHASE_BIG_BANG);
events.DelayEvents(9500);
events.ScheduleEvent(EVENT_RESUME_UPDATING, 9500);
events.ScheduleEvent(EVENT_RESUME_UPDATING, 9500ms);
break;
}
}
@ -1031,7 +1031,7 @@ public:
{
case EVENT_ARCANE_BARRAGE:
me->CastCustomSpell(SPELL_ARCANE_BARRAGE, SPELLVALUE_MAX_TARGETS, 1, (Unit*)nullptr, true);
events.RepeatEvent(2500);
events.Repeat(2500ms);
break;
case EVENT_RESUME_UPDATING:
events.SetPhase(0);
@ -1136,7 +1136,7 @@ public:
_locked = true;
// Start Algalon event
me->SetGameObjectFlag(GO_FLAG_IN_USE);
events.ScheduleEvent(EVENT_DESPAWN_CONSOLE, 5000);
events.ScheduleEvent(EVENT_DESPAWN_CONSOLE, 5000ms);
if (Creature* brann = me->SummonCreature(NPC_BRANN_BRONZBEARD_ALG, BrannIntroSpawnPos))
brann->AI()->DoAction(ACTION_START_INTRO);

View file

@ -237,7 +237,7 @@ public:
me->setActive(true);
me->SetInCombatWithZone();
me->CastSpell(me, SPELL_HIGH_VOLTAGE, true);
events.ScheduleEvent(EVENT_ENRAGE, 900000);
events.ScheduleEvent(EVENT_ENRAGE, 15min);
UpdatePhase();
if (!pInstance)
@ -275,14 +275,14 @@ public:
switch (_phase)
{
case 1:
events.RescheduleEvent(EVENT_FUSION_PUNCH, 15000);
events.RescheduleEvent(EVENT_FUSION_PUNCH, 15s);
break;
case 2:
events.RescheduleEvent(EVENT_STATIC_DISRUPTION, 20000);
events.RescheduleEvent(EVENT_STATIC_DISRUPTION, 20s);
break;
case 3:
me->ResetLootMode();
events.RescheduleEvent(EVENT_OVERWHELMING_POWER, 8000);
events.RescheduleEvent(EVENT_OVERWHELMING_POWER, 8s);
break;
}
}
@ -342,13 +342,13 @@ public:
{
case EVENT_FUSION_PUNCH:
me->CastSpell(me->GetVictim(), SPELL_FUSION_PUNCH, false);
events.RepeatEvent(urand(15000, 20000));
events.Repeat(15s, 20s);
break;
case EVENT_STATIC_DISRUPTION:
if (Unit* pTarget = SelectTarget(SelectTargetMethod::MinDistance, 0, 0, true))
me->CastSpell(pTarget, SPELL_STATIC_DISRUPTION, false);
events.RepeatEvent(urand(20000, 40000));
events.Repeat(20s, 40s);
break;
case EVENT_OVERWHELMING_POWER:
Talk(SAY_STEELBREAKER_POWER);
@ -430,7 +430,7 @@ public:
me->InterruptNonMeleeSpells(false);
me->setActive(true);
me->SetInCombatWithZone();
events.ScheduleEvent(EVENT_ENRAGE, 900000);
events.ScheduleEvent(EVENT_ENRAGE, 15min);
UpdatePhase();
if (!pInstance)
@ -452,15 +452,15 @@ public:
switch (_phase)
{
case 1:
events.RescheduleEvent(EVENT_SHIELD_OF_RUNES, 20000);
events.RescheduleEvent(EVENT_RUNE_OF_POWER, 30000);
events.RescheduleEvent(EVENT_SHIELD_OF_RUNES, 20s);
events.RescheduleEvent(EVENT_RUNE_OF_POWER, 30s);
break;
case 2:
events.RescheduleEvent(EVENT_RUNE_OF_DEATH, 35000);
events.RescheduleEvent(EVENT_RUNE_OF_DEATH, 35s);
break;
case 3:
me->ResetLootMode();
events.RescheduleEvent(EVENT_RUNE_OF_SUMMONING, urand(20000, 30000));
events.RescheduleEvent(EVENT_RUNE_OF_SUMMONING, 20s, 30s);
break;
}
}
@ -516,25 +516,25 @@ public:
target = me;
me->CastSpell(target, SPELL_RUNE_OF_POWER, true);
events.RepeatEvent(60000);
events.Repeat(1min);
break;
}
case EVENT_SHIELD_OF_RUNES:
me->CastSpell(me, SPELL_SHIELD_OF_RUNES, false);
events.RescheduleEvent(EVENT_SHIELD_OF_RUNES, urand(27000, 34000));
events.RescheduleEvent(EVENT_SHIELD_OF_RUNES, 27s, 34s);
break;
case EVENT_RUNE_OF_DEATH:
if (Unit* target = SelectTarget(SelectTargetMethod::Random))
me->CastSpell(target, SPELL_RUNE_OF_DEATH, true);
Talk(SAY_MOLGEIM_RUNE_DEATH);
events.RepeatEvent(urand(30000, 40000));
events.Repeat(30s, 40s);
break;
case EVENT_RUNE_OF_SUMMONING:
Talk(SAY_MOLGEIM_SUMMON);
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
me->CastSpell(target, SPELL_RUNE_OF_SUMMONING);
events.RepeatEvent(urand(30000, 45000));
events.Repeat(30s, 45s);
break;
case EVENT_ENRAGE:
me->CastSpell(me, SPELL_BERSERK, true);
@ -647,7 +647,7 @@ public:
me->InterruptNonMeleeSpells(false);
me->setActive(true);
me->SetInCombatWithZone();
events.ScheduleEvent(EVENT_ENRAGE, 900000);
events.ScheduleEvent(EVENT_ENRAGE, 15min);
UpdatePhase();
if (!pInstance)
@ -669,16 +669,16 @@ public:
switch (_phase)
{
case 1:
events.RescheduleEvent(EVENT_CHAIN_LIGHTNING, urand(9000, 17000));
events.RescheduleEvent(EVENT_OVERLOAD, urand(25000, 40000));
events.RescheduleEvent(EVENT_CHAIN_LIGHTNING, 9s, 17s);
events.RescheduleEvent(EVENT_OVERLOAD, 25s, 40s);
break;
case 2:
events.RescheduleEvent(EVENT_LIGHTNING_WHIRL, urand(20000, 40000));
events.RescheduleEvent(EVENT_LIGHTNING_WHIRL, 20s, 40s);
break;
case 3:
me->ResetLootMode();
me->CastSpell(me, SPELL_STORMSHIELD, true);
events.RescheduleEvent(EVENT_LIGHTNING_TENDRILS, urand(15000, 16000));
events.RescheduleEvent(EVENT_LIGHTNING_TENDRILS, 15s, 16s);
break;
}
}
@ -763,23 +763,23 @@ public:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
me->CastSpell(target, SPELL_CHAIN_LIGHTNING, false);
events.RepeatEvent(urand(9000, 17000));
events.Repeat(9s, 17s);
break;
case EVENT_OVERLOAD:
Talk(EMOTE_BRUNDIR_OVERLOAD);
me->CastSpell(me, SPELL_OVERLOAD, true);
events.RescheduleEvent(EVENT_OVERLOAD, urand(25000, 40000));
events.RescheduleEvent(EVENT_OVERLOAD, 25s, 40s);
break;
case EVENT_LIGHTNING_WHIRL:
Talk(SAY_BRUNDIR_SPECIAL);
me->CastSpell(me, SPELL_LIGHTNING_WHIRL, true);
events.RepeatEvent(urand(10000, 25000));
events.Repeat(10s, 25s);
break;
case EVENT_LIGHTNING_TENDRILS:
{
// Reschedule old
events.RepeatEvent(35000);
events.DelayEvents(18000);
events.Repeat(35s);
events.DelayEvents(18s);
Talk(SAY_BRUNDIR_FLIGHT);
Unit* oldVictim = me->GetVictim();
@ -796,7 +796,7 @@ public:
me->CastSpell(me, SPELL_LIGHTNING_TENDRILS, true);
me->CastSpell(me, 61883, true);
events.ScheduleEvent(EVENT_LIGHTNING_LAND, 16000);
events.ScheduleEvent(EVENT_LIGHTNING_LAND, 16s);
events.ScheduleEvent(EVENT_LIGHTNING_FLIGHT, 1s);
break;
}
@ -804,7 +804,7 @@ public:
{
float speed = me->GetDistance(me->GetPositionX(), me->GetPositionY(), me->GetPositionZ()) / (1000.0f * 0.001f);
me->MonsterMoveWithSpeed(me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), speed);
events.ScheduleEvent(EVENT_LAND_LAND, 1000);
events.ScheduleEvent(EVENT_LAND_LAND, 1s);
break;
}
case EVENT_LAND_LAND:

View file

@ -177,12 +177,12 @@ public:
if (m_pInstance)
m_pInstance->SetData(TYPE_AURIAYA, IN_PROGRESS);
events.ScheduleEvent(EVENT_TERRIFYING_SCREECH, 35000);
events.ScheduleEvent(EVENT_SONIC_SCREECH, 45000);
events.ScheduleEvent(EVENT_GUARDIAN_SWARM, 70000);
events.ScheduleEvent(EVENT_SUMMON_FERAL_DEFENDER, 60000);
events.ScheduleEvent(EVENT_SENTINEL_BLAST, 36000);
events.ScheduleEvent(EVENT_ENRAGE, 600000);
events.ScheduleEvent(EVENT_TERRIFYING_SCREECH, 35s);
events.ScheduleEvent(EVENT_SONIC_SCREECH, 45s);
events.ScheduleEvent(EVENT_GUARDIAN_SWARM, 70s);
events.ScheduleEvent(EVENT_SUMMON_FERAL_DEFENDER, 60s);
events.ScheduleEvent(EVENT_SENTINEL_BLAST, 36s);
events.ScheduleEvent(EVENT_ENRAGE, 10min);
summons.DoZoneInCombat(NPC_SANCTUM_SENTRY);
@ -212,7 +212,7 @@ public:
void DoAction(int32 param) override
{
if (param == ACTION_FERAL_DEATH_WITH_STACK)
events.ScheduleEvent(EVENT_RESPAWN_FERAL_DEFENDER, 25000);
events.ScheduleEvent(EVENT_RESPAWN_FERAL_DEFENDER, 25s);
else if (param == ACTION_FERAL_DEATH)
_nineLives = true;
}
@ -232,7 +232,7 @@ public:
Talk(EMOTE_DEFFENDER);
me->CastSpell(me, SPELL_ACTIVATE_FERAL_DEFENDER, true);
me->ApplySpellImmune(0, IMMUNITY_EFFECT, SPELL_EFFECT_INTERRUPT_CAST, true);
events.ScheduleEvent(EVENT_REMOVE_IMMUNE, 3000);
events.ScheduleEvent(EVENT_REMOVE_IMMUNE, 3s);
break;
case EVENT_REMOVE_IMMUNE:
me->ApplySpellImmune(0, IMMUNITY_EFFECT, SPELL_EFFECT_INTERRUPT_CAST, false);
@ -240,19 +240,19 @@ public:
case EVENT_TERRIFYING_SCREECH:
Talk(EMOTE_FEAR);
me->CastSpell(me, SPELL_TERRIFYING_SCREECH, false);
events.RepeatEvent(35000);
events.Repeat(35s);
break;
case EVENT_SONIC_SCREECH:
me->CastSpell(me, SPELL_SONIC_SCREECH, false);
events.RepeatEvent(50000);
events.Repeat(50s);
break;
case EVENT_GUARDIAN_SWARM:
me->CastSpell(me->GetVictim(), SPELL_GUARDIAN_SWARM, false);
events.RepeatEvent(40000);
events.Repeat(40s);
break;
case EVENT_SENTINEL_BLAST:
me->CastSpell(me, SPELL_SENTINEL_BLAST, false);
events.RepeatEvent(35000);
events.Repeat(35s);
events.DelayEvents(5000, 0);
break;
case EVENT_RESPAWN_FERAL_DEFENDER:

View file

@ -382,7 +382,7 @@ public:
if (!me->GetVictim())
{
me->CastSpell(me, SPELL_PURSUED, false);
events.RescheduleEvent(EVENT_PURSUE, 31000);
events.RescheduleEvent(EVENT_PURSUE, 31s);
}
_speakTimer = 0;
}
@ -404,31 +404,31 @@ public:
EnterEvadeMode();
return;
}
events.RepeatEvent(5000);
events.Repeat(5s);
break;
case EVENT_PURSUE:
Talk(FLAME_LEVIATHAN_SAY_PURSUE);
me->CastSpell(me, SPELL_PURSUED, false);
events.RescheduleEvent(EVENT_PURSUE, 31000);
events.RescheduleEvent(EVENT_PURSUE, 31s);
return;
case EVENT_SPEED:
me->CastSpell(me, SPELL_GATHERING_SPEED, false);
events.RepeatEvent(15000);
events.Repeat(15s);
return;
case EVENT_MISSILE:
me->CastSpell(me, SPELL_MISSILE_BARRAGE, true);
events.RepeatEvent(4000);
events.Repeat(4s);
return;
case EVENT_VENT:
me->CastSpell(me, SPELL_FLAME_VENTS, false);
events.RepeatEvent(20000);
events.Repeat(20s);
return;
case EVENT_SUMMON:
if(summons.size() < 20)
if (Creature* lift = DoSummonFlyer(NPC_MECHANOLIFT, me, 30.0f, 50.0f, 0))
lift->GetMotionMaster()->MoveRandom(100);
events.RepeatEvent(4000);
events.Repeat(4s);
return;
case EVENT_SOUND_BEGINNING:
if (_towersCount)
@ -445,7 +445,7 @@ public:
return;
case EVENT_THORIMS_HAMMER:
SummonTowerHelpers(TOWER_OF_STORMS);
events.RepeatEvent(60000 + rand() % 60000);
events.Repeat(1min, 2min);
Talk(FLAME_LEVIATHAN_EMOTE_STORM);
Talk(FLAME_LEVIATHAN_SAY_TOWER_STORM);
return;
@ -520,19 +520,19 @@ void boss_flame_leviathan::boss_flame_leviathanAI::ActivateTowers()
{
case EVENT_TOWER_OF_LIFE_DESTROYED:
me->AddAura(SPELL_TOWER_OF_LIFE, me);
events.RescheduleEvent(EVENT_FREYA, 30000);
events.RescheduleEvent(EVENT_FREYA, 30s);
break;
case EVENT_TOWER_OF_STORM_DESTROYED:
me->AddAura(SPELL_TOWER_OF_STORMS, me);
events.RescheduleEvent(EVENT_THORIMS_HAMMER, 60000);
events.RescheduleEvent(EVENT_THORIMS_HAMMER, 1min);
break;
case EVENT_TOWER_OF_FROST_DESTROYED:
me->AddAura(SPELL_TOWER_OF_FROST, me);
events.RescheduleEvent(EVENT_HODIRS_FURY, 20000);
events.RescheduleEvent(EVENT_HODIRS_FURY, 20s);
break;
case EVENT_TOWER_OF_FLAMES_DESTROYED:
me->AddAura(SPELL_TOWER_OF_FLAMES, me);
events.RescheduleEvent(EVENT_MIMIRONS_INFERNO, 42000);
events.RescheduleEvent(EVENT_MIMIRONS_INFERNO, 42s);
break;
}
}
@ -599,14 +599,14 @@ void boss_flame_leviathan::boss_flame_leviathanAI::TurnHealStations(bool _apply)
void boss_flame_leviathan::boss_flame_leviathanAI::ScheduleEvents()
{
events.RescheduleEvent(EVENT_MISSILE, 5000);
events.RescheduleEvent(EVENT_VENT, 20000);
events.RescheduleEvent(EVENT_SPEED, 15000);
events.RescheduleEvent(EVENT_SUMMON, 10000);
events.RescheduleEvent(EVENT_SOUND_BEGINNING, 10000);
events.RescheduleEvent(EVENT_POSITION_CHECK, 5000);
events.RescheduleEvent(EVENT_MISSILE, 5s);
events.RescheduleEvent(EVENT_VENT, 20s);
events.RescheduleEvent(EVENT_SPEED, 15s);
events.RescheduleEvent(EVENT_SUMMON, 10s);
events.RescheduleEvent(EVENT_SOUND_BEGINNING, 10s);
events.RescheduleEvent(EVENT_POSITION_CHECK, 5s);
events.RescheduleEvent(EVENT_PURSUE, 0);
events.RescheduleEvent(EVENT_PURSUE, 0ms);
}
void boss_flame_leviathan::boss_flame_leviathanAI::SpellHit(Unit* /*caster*/, SpellInfo const* spellInfo)
@ -619,8 +619,8 @@ void boss_flame_leviathan::boss_flame_leviathanAI::SpellHit(Unit* /*caster*/, S
Talk(FLAME_LEVIATHAN_EMOTE_REPAIR);
Talk(FLAME_LEVIATHAN_SAY_OVERLOAD);
events.DelayEvents(20 * IN_MILLISECONDS + 1);
events.ScheduleEvent(EVENT_REINSTALL, 20 * IN_MILLISECONDS);
events.DelayEvents(21ms);
events.ScheduleEvent(EVENT_REINSTALL, 20ms);
}
else if (spellInfo->Id == 62522 /*SPELL_ELECTROSHOCK*/)
me->InterruptNonMeleeSpells(false);
@ -647,7 +647,7 @@ void boss_flame_leviathan::boss_flame_leviathanAI::JustDied(Unit*)
void boss_flame_leviathan::boss_flame_leviathanAI::KilledUnit(Unit* who)
{
if (who == me->GetVictim())
events.RescheduleEvent(EVENT_PURSUE, 0);
events.RescheduleEvent(EVENT_PURSUE, 0ms);
if (who->GetTypeId() == TYPEID_PLAYER)
Talk(FLAME_LEVIATHAN_SAY_SLAY);

View file

@ -421,7 +421,7 @@ public:
if (!_respawningTrio)
{
_respawningTrio = true;
events.ScheduleEvent(EVENT_FREYA_RESPAWN_TRIO, 10000);
events.ScheduleEvent(EVENT_FREYA_RESPAWN_TRIO, 10s);
}
++_trioKilled;
@ -447,7 +447,7 @@ public:
aur->SetStackAmount(aur->GetStackAmount() - param);
else // Aura out of stack
{
events.ScheduleEvent(EVENT_FREYA_NATURE_BOMB, 5000);
events.ScheduleEvent(EVENT_FREYA_NATURE_BOMB, 5s);
events.SetPhase(EVENT_PHASE_FINAL);
aur->Remove();
return;
@ -482,10 +482,10 @@ public:
if (Aura* aur = me->AddAura(SPELL_ATTUNED_TO_NATURE, me))
aur->SetStackAmount(150);
events.ScheduleEvent(EVENT_FREYA_ADDS_SPAM, 10000, 0, EVENT_PHASE_ADDS);
events.ScheduleEvent(EVENT_FREYA_LIFEBINDER, 30000);
events.ScheduleEvent(EVENT_FREYA_SUNBEAM, 17000);
events.ScheduleEvent(EVENT_FREYA_BERSERK, 600000);
events.ScheduleEvent(EVENT_FREYA_ADDS_SPAM, 10s, 0, EVENT_PHASE_ADDS);
events.ScheduleEvent(EVENT_FREYA_LIFEBINDER, 30s);
events.ScheduleEvent(EVENT_FREYA_SUNBEAM, 17s);
events.ScheduleEvent(EVENT_FREYA_BERSERK, 10min);
events.SetPhase(EVENT_PHASE_ADDS);
if( !m_pInstance )
@ -502,7 +502,7 @@ public:
elder->CastSpell(elder, SPELL_STONEBARK_ESSENCE, true);
elder->SetInCombatWithZone();
events.ScheduleEvent(EVENT_FREYA_GROUND_TREMOR, 35000);
events.ScheduleEvent(EVENT_FREYA_GROUND_TREMOR, 35s);
_elderGUID[0] = elder->GetGUID();
}
@ -513,7 +513,7 @@ public:
elder->CastSpell(elder, SPELL_IRONBRANCH_ESSENCE, true);
elder->SetInCombatWithZone();
events.ScheduleEvent(EVENT_FREYA_IRON_ROOT, 20000);
events.ScheduleEvent(EVENT_FREYA_IRON_ROOT, 20s);
_elderGUID[1] = elder->GetGUID();
}
@ -524,7 +524,7 @@ public:
elder->CastSpell(elder, SPELL_BRIGHTLEAF_ESSENCE, true);
elder->SetInCombatWithZone();
events.ScheduleEvent(EVENT_FREYA_UNSTABLE_SUN_BEAM, 60000);
events.ScheduleEvent(EVENT_FREYA_UNSTABLE_SUN_BEAM, 1min);
_elderGUID[2] = elder->GetGUID();
}
@ -561,17 +561,17 @@ public:
else if (me->GetAura(SPELL_ATTUNED_TO_NATURE))
{
me->RemoveAura(SPELL_ATTUNED_TO_NATURE);
events.ScheduleEvent(EVENT_FREYA_NATURE_BOMB, 5000);
events.ScheduleEvent(EVENT_FREYA_NATURE_BOMB, 5s);
events.SetPhase(EVENT_PHASE_FINAL);
return;
}
_spawnedAmount++;
events.RepeatEvent(60000);
events.Repeat(1min);
break;
case EVENT_FREYA_LIFEBINDER:
{
Talk(EMOTE_LIFEBINDERS_GIFT);
events.RepeatEvent(45000);
events.Repeat(45s);
float x, y, z;
for (uint8 i = 0; i < 10; ++i)
{
@ -591,7 +591,7 @@ public:
case EVENT_FREYA_SUNBEAM:
if (Unit* target = SelectTarget(SelectTargetMethod::Random))
me->CastSpell(target, SPELL_SUNBEAM, false);
events.RepeatEvent(15000 + urand(0, 5000));
events.Repeat(15s, 20s);
break;
case EVENT_FREYA_RESPAWN_TRIO:
_deforestation = 0;
@ -615,7 +615,7 @@ public:
if (!(--_minCount))
break;
}
events.RepeatEvent(18000);
events.Repeat(18s);
break;
}
case EVENT_FREYA_BERSERK:
@ -625,12 +625,12 @@ public:
case EVENT_FREYA_GROUND_TREMOR:
Talk(EMOTE_GROUND_TREMOR);
me->CastSpell(me, SPELL_GROUND_TREMOR_FREYA, false);
events.RepeatEvent(25000 + urand(0, 10000));
events.Repeat(25s, 35s);
break;
case EVENT_FREYA_IRON_ROOT:
Talk(EMOTE_IRON_ROOTS);
me->CastCustomSpell(SPELL_IRON_ROOTS_FREYA, SPELLVALUE_MAX_TARGETS, 1, me, false);
events.RepeatEvent(45000 + urand(0, 10000));
events.Repeat(45s, 55s);
break;
case EVENT_FREYA_UNSTABLE_SUN_BEAM:
me->SummonCreature(NPC_FREYA_UNSTABLE_SUN_BEAM, me->GetPositionX() + urand(7, 25), me->GetPositionY() + urand(7, 25), me->GetMapHeight(me->GetPositionX(), me->GetPositionY(), me->GetPositionZ()), 0, TEMPSUMMON_TIMED_DESPAWN, 10000);
@ -639,7 +639,7 @@ public:
me->SummonCreature(NPC_FREYA_UNSTABLE_SUN_BEAM, me->GetPositionX() + urand(7, 25), me->GetPositionY() + urand(7, 25), me->GetMapHeight(me->GetPositionX(), me->GetPositionY(), me->GetPositionZ()), 0, TEMPSUMMON_TIMED_DESPAWN, 10000);
me->SummonCreature(NPC_FREYA_UNSTABLE_SUN_BEAM, me->GetPositionX() + urand(7, 25), me->GetPositionY() + urand(7, 25), me->GetMapHeight(me->GetPositionX(), me->GetPositionY(), me->GetPositionZ()), 0, TEMPSUMMON_TIMED_DESPAWN, 10000);
}
events.RepeatEvent(38000 + urand(0, 10000));
events.Repeat(38s, 48s);
break;
}
@ -700,9 +700,9 @@ public:
void JustEngagedWith(Unit*) override
{
events.ScheduleEvent(EVENT_STONEBARK_FISTS_OF_STONE, 40000);
events.ScheduleEvent(EVENT_STONEBARK_GROUND_TREMOR, 5000);
events.ScheduleEvent(EVENT_STONEBARK_PETRIFIED_BARK, 20000);
events.ScheduleEvent(EVENT_STONEBARK_FISTS_OF_STONE, 40s);
events.ScheduleEvent(EVENT_STONEBARK_GROUND_TREMOR, 5s);
events.ScheduleEvent(EVENT_STONEBARK_PETRIFIED_BARK, 20s);
if (!me->HasAura(SPELL_DRAINED_OF_POWER)) // Prevents speech if combat is initiated by hardmode activation
Talk(SAY_ELDER_AGGRO);
@ -730,17 +730,17 @@ public:
{
case EVENT_STONEBARK_FISTS_OF_STONE:
me->CastSpell(me, SPELL_FISTS_OF_STONE, false);
events.RepeatEvent(60000);
events.Repeat(1min);
break;
case EVENT_STONEBARK_GROUND_TREMOR:
if (!me->HasAura(SPELL_FISTS_OF_STONE))
me->CastSpell(me, SPELL_GROUND_TREMOR, false);
events.RepeatEvent(20000);
events.Repeat(20s);
break;
case EVENT_STONEBARK_PETRIFIED_BARK:
_chargesCount = RAID_MODE(60, 120);
me->CastSpell(me, SPELL_PETRIFIED_BARK, false);
events.RepeatEvent(30000);
events.Repeat(30s);
break;
}
@ -796,9 +796,9 @@ public:
void JustEngagedWith(Unit*) override
{
events.ScheduleEvent(EVENT_BRIGHTLEAF_FLUX, 10000);
events.ScheduleEvent(EVENT_BRIGHTLEAF_SOLAR_FLARE, 5000);
events.ScheduleEvent(EVENT_BRIGHTLEAF_UNSTABLE_SUN_BEAM, 8000);
events.ScheduleEvent(EVENT_BRIGHTLEAF_FLUX, 10s);
events.ScheduleEvent(EVENT_BRIGHTLEAF_SOLAR_FLARE, 5s);
events.ScheduleEvent(EVENT_BRIGHTLEAF_UNSTABLE_SUN_BEAM, 8s);
if (!me->HasAura(SPELL_DRAINED_OF_POWER)) // Prevents speech if combat is initiated by hardmode activation
Talk(SAY_ELDER_AGGRO);
@ -818,7 +818,7 @@ public:
case EVENT_BRIGHTLEAF_FLUX:
if (Aura* aur = me->AddAura(SPELL_BRIGHTLEAF_FLUX, me))
aur->SetStackAmount(urand(1, 10));
events.RepeatEvent(10000);
events.Repeat(10s);
break;
case EVENT_BRIGHTLEAF_SOLAR_FLARE:
if (Aura* aur = me->GetAura(SPELL_BRIGHTLEAF_FLUX))
@ -826,10 +826,10 @@ public:
me->CastCustomSpell(SPELL_SOLAR_FLARE, SPELLVALUE_MAX_TARGETS, aur->GetStackAmount(), me, false);
me->RemoveAura(aur);
}
events.RepeatEvent(15000);
events.Repeat(15s);
break;
case EVENT_BRIGHTLEAF_UNSTABLE_SUN_BEAM:
events.ScheduleEvent(EVENT_BRIGHTLEAF_DESPAWN_SUN_BEAM, 15000);
events.ScheduleEvent(EVENT_BRIGHTLEAF_DESPAWN_SUN_BEAM, 15s);
if (Creature* beam = me->SummonCreature(NPC_UNSTABLE_SUN_BRIGHTLEAF, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ()))
{
beam->CastSpell(beam, SPELL_UNSTABLE_SUN_BEAM_AURA, true);
@ -842,7 +842,7 @@ public:
beam->CastSpell(beam, SPELL_PHOTOSYNTHESIS, true);
summons.Summon(beam);
}
events.RepeatEvent(20000);
events.Repeat(20s);
break;
case EVENT_BRIGHTLEAF_DESPAWN_SUN_BEAM:
for (SummonList::iterator i = summons.begin(); i != summons.end();)
@ -907,9 +907,9 @@ public:
void JustEngagedWith(Unit*) override
{
events.ScheduleEvent(EVENT_IRONBRANCH_IMPALE, 10000);
events.ScheduleEvent(EVENT_IRONBRANCH_IRON_ROOT, 15000);
events.ScheduleEvent(EVENT_IRONBRANCH_THORN_SWARM, 3000);
events.ScheduleEvent(EVENT_IRONBRANCH_IMPALE, 10s);
events.ScheduleEvent(EVENT_IRONBRANCH_IRON_ROOT, 15s);
events.ScheduleEvent(EVENT_IRONBRANCH_THORN_SWARM, 3s);
if (!me->HasAura(SPELL_DRAINED_OF_POWER)) // Prevents speech if combat is initiated by hardmode activation
Talk(SAY_ELDER_AGGRO);
@ -928,16 +928,16 @@ public:
{
case EVENT_IRONBRANCH_IMPALE:
me->CastSpell(me->GetVictim(), SPELL_IMPALE, false);
events.RepeatEvent(17000);
events.Repeat(17s);
break;
case EVENT_IRONBRANCH_IRON_ROOT:
me->CastCustomSpell(SPELL_IRON_ROOTS, SPELLVALUE_MAX_TARGETS, 1, me, false);
events.RepeatEvent(20000);
events.Repeat(20s);
break;
case EVENT_IRONBRANCH_THORN_SWARM:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
me->CastSpell(target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), SPELL_THORN_SWARM, false);
events.RepeatEvent(14000);
events.Repeat(14s);
break;
}
@ -1119,24 +1119,24 @@ public:
if (me->GetEntry() == NPC_ANCIENT_CONSERVATOR)
{
me->CastSpell(me, SPELL_HEALTHY_SPORE_SUMMON, true);
events.ScheduleEvent(EVENT_ANCIENT_CONSERVATOR_GRIP, 6000);
events.ScheduleEvent(EVENT_ANCIENT_CONSERVATOR_NATURE_FURY, 14000);
events.ScheduleEvent(EVENT_ANCIENT_CONSERVATOR_GRIP, 6s);
events.ScheduleEvent(EVENT_ANCIENT_CONSERVATOR_NATURE_FURY, 14s);
_stackCount = ACTION_REMOVE_25_STACK;
}
else if (me->GetEntry() == NPC_ANCIENT_WATER_SPIRIT)
{
events.ScheduleEvent(EVENT_WATER_SPIRIT_CHARGE, 12000);
events.ScheduleEvent(EVENT_WATER_SPIRIT_CHARGE, 12s);
_stackCount = ACTION_REMOVE_10_STACK;
}
else if (me->GetEntry() == NPC_STORM_LASHER)
{
events.ScheduleEvent(EVENT_STORM_LASHER_LIGHTNING_LASH, 10000);
events.ScheduleEvent(EVENT_STORM_LASHER_STORMBOLT, 6000);
events.ScheduleEvent(EVENT_STORM_LASHER_LIGHTNING_LASH, 10s);
events.ScheduleEvent(EVENT_STORM_LASHER_STORMBOLT, 6s);
_stackCount = ACTION_REMOVE_10_STACK;
}
else if (me->GetEntry() == NPC_DETONATING_LASHER)
{
events.ScheduleEvent(EVENT_DETONATING_LASHER_FLAME_LASH, 10000);
events.ScheduleEvent(EVENT_DETONATING_LASHER_FLAME_LASH, 10s);
_stackCount = ACTION_REMOVE_2_STACK;
}
else if (me->GetEntry() == NPC_SNAPLASHER)
@ -1159,7 +1159,7 @@ public:
{
case EVENT_ANCIENT_CONSERVATOR_NATURE_FURY:
me->CastSpell(me->GetVictim(), SPELL_NATURE_FURY, false);
events.RepeatEvent(14000);
events.Repeat(14s);
break;
case EVENT_ANCIENT_CONSERVATOR_GRIP:
me->CastSpell(me, SPELL_CONSERVATOR_GRIP, true);
@ -1167,8 +1167,8 @@ public:
case EVENT_WATER_SPIRIT_CHARGE:
me->CastSpell(me, SPELL_TIDAL_WAVE_AURA, true);
me->CastSpell(me->GetVictim(), SPELL_TIDAL_WAVE, false);
events.RepeatEvent(12000);
events.ScheduleEvent(EVENT_WATER_SPIRIT_DAMAGE, 3000);
events.Repeat(12s);
events.ScheduleEvent(EVENT_WATER_SPIRIT_DAMAGE, 3s);
break;
case EVENT_WATER_SPIRIT_DAMAGE:
me->CastSpell(me, SPELL_TIDAL_WAVE_DAMAGE, false);
@ -1176,11 +1176,11 @@ public:
case EVENT_STORM_LASHER_LIGHTNING_LASH:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
me->CastSpell(target, SPELL_LIGHTNING_LASH, false);
events.RepeatEvent(10000);
events.Repeat(10s);
break;
case EVENT_STORM_LASHER_STORMBOLT:
me->CastSpell(me->GetVictim(), SPELL_STORMBOLT, false);
events.RepeatEvent(6000);
events.Repeat(6s);
break;
case EVENT_DETONATING_LASHER_FLAME_LASH:
me->CastSpell(me->GetVictim(), SPELL_FLAME_LASH, false);
@ -1189,7 +1189,7 @@ public:
AttackStart(target);
else
me->DespawnOrUnsummon(1);
events.RepeatEvent(10000);
events.Repeat(10s);
break;
}

View file

@ -157,12 +157,12 @@ public:
me->SetInCombatWithZone();
events.Reset();
events.RescheduleEvent(EVENT_SPELL_VEZAX_SHADOW_CRASH, 13000);
events.RescheduleEvent(EVENT_SPELL_SEARING_FLAMES, 10000, 1);
events.RescheduleEvent(EVENT_SPELL_SURGE_OF_DARKNESS, 63000);
events.RescheduleEvent(EVENT_SPELL_MARK_OF_THE_FACELESS, 20000);
events.RescheduleEvent(EVENT_SPELL_SUMMON_SARONITE_VAPORS, 30000);
events.RescheduleEvent(EVENT_BERSERK, 600000);
events.RescheduleEvent(EVENT_SPELL_VEZAX_SHADOW_CRASH, 13s);
events.RescheduleEvent(EVENT_SPELL_SEARING_FLAMES, 10s, 1);
events.RescheduleEvent(EVENT_SPELL_SURGE_OF_DARKNESS, 63s);
events.RescheduleEvent(EVENT_SPELL_MARK_OF_THE_FACELESS, 20s);
events.RescheduleEvent(EVENT_SPELL_SUMMON_SARONITE_VAPORS, 30s);
events.RescheduleEvent(EVENT_BERSERK, 10min);
Talk(SAY_AGGRO);
@ -210,7 +210,7 @@ public:
return;
if( !berserk && (me->GetPositionX() < 1720.0f || me->GetPositionX() > 1940.0f || me->GetPositionY() < 20.0f || me->GetPositionY() > 210.0f) )
events.RescheduleEvent(EVENT_BERSERK, 1);
events.RescheduleEvent(EVENT_BERSERK, 1ms);
events.Update(diff);
@ -228,7 +228,7 @@ public:
break;
case EVENT_SPELL_VEZAX_SHADOW_CRASH:
{
events.RepeatEvent(10000);
events.Repeat(10s);
std::vector<Player*> players;
Map::PlayerList const& pl = me->GetMap()->GetPlayers();
@ -244,7 +244,7 @@ public:
Player* target = players.at(urand(0, players.size() - 1));
me->SetGuidValue(UNIT_FIELD_TARGET, target->GetGUID());
me->CastSpell(target, SPELL_VEZAX_SHADOW_CRASH, false);
events.ScheduleEvent(EVENT_RESTORE_TARGET, 750);
events.ScheduleEvent(EVENT_RESTORE_TARGET, 750ms);
}
}
break;
@ -255,13 +255,13 @@ public:
case EVENT_SPELL_SEARING_FLAMES:
if(!me->HasAura(SPELL_SARONITE_BARRIER))
me->CastSpell(me->GetVictim(), SPELL_SEARING_FLAMES, false);
events.RepeatEvent( me->GetMap()->Is25ManRaid() ? 8000 : 15000 );
events.Repeat(me->GetMap()->Is25ManRaid() ? 8s : 15s);
break;
case EVENT_SPELL_SURGE_OF_DARKNESS:
Talk(SAY_SURGE_OF_DARKNESS);
Talk(SAY_EMOTE_SURGE_OF_DARKNESS);
me->CastSpell(me, SPELL_SURGE_OF_DARKNESS, false);
events.RepeatEvent(63000);
events.Repeat(63s);
events.DelayEvents(10000, 1);
break;
case EVENT_SPELL_MARK_OF_THE_FACELESS:
@ -288,7 +288,7 @@ public:
if (t)
me->CastSpell(t, SPELL_MARK_OF_THE_FACELESS_AURA, false);
events.RepeatEvent(40000);
events.Repeat(40s);
}
break;
case EVENT_SPELL_SUMMON_SARONITE_VAPORS:
@ -297,7 +297,7 @@ public:
me->CastSpell(me, SPELL_SUMMON_SARONITE_VAPORS, false);
if( vaporsCount < 6 || !hardmodeAvailable )
events.RepeatEvent(30000);
events.Repeat(30s);
else
{
for (ObjectGuid const& guid : summons)
@ -310,7 +310,7 @@ public:
events.DelayEvents(12000, 0);
events.DelayEvents(12000, 1);
events.ScheduleEvent(EVENT_SARONITE_VAPORS_SWIRL, 6000);
events.ScheduleEvent(EVENT_SARONITE_VAPORS_SWIRL, 6s);
}
}
break;
@ -321,7 +321,7 @@ public:
if( Creature* sv = ObjectAccessor::GetCreature(*me, *(summons.begin())) )
sv->CastSpell(sv, SPELL_SARONITE_ANIMUS_FORMATION_VISUAL, true);
events.ScheduleEvent(EVENT_SPELL_SUMMON_SARONITE_ANIMUS, 2000);
events.ScheduleEvent(EVENT_SPELL_SUMMON_SARONITE_ANIMUS, 2s);
break;
}
break;
@ -334,7 +334,7 @@ public:
if( Creature* sv = ObjectAccessor::GetCreature(*me, *(summons.begin())) )
sv->CastSpell(sv, SPELL_SUMMON_SARONITE_ANIMUS, true);
events.ScheduleEvent(EVENT_DESPAWN_SARONITE_VAPORS, 2500);
events.ScheduleEvent(EVENT_DESPAWN_SARONITE_VAPORS, 2500ms);
break;
}
break;

View file

@ -269,10 +269,10 @@ public:
me->CastSpell(me, SPELL_BITING_COLD_BOSS_AURA, true);
SmallIcicles(true);
events.Reset();
events.ScheduleEvent(EVENT_FLASH_FREEZE, urand(48000, 49000));
events.ScheduleEvent(EVENT_FREEZE, urand(17000,20000));
events.ScheduleEvent(EVENT_BERSERK, 480000);
events.ScheduleEvent(EVENT_HARD_MODE_MISSED, 180000);
events.ScheduleEvent(EVENT_FLASH_FREEZE, 48s, 49s);
events.ScheduleEvent(EVENT_FREEZE, 17s, 20s);
events.ScheduleEvent(EVENT_BERSERK, 8min);
events.ScheduleEvent(EVENT_HARD_MODE_MISSED, 3min);
Talk(TEXT_AGGRO);
if (pInstance && pInstance->GetData(TYPE_HODIR) != DONE)
@ -298,7 +298,7 @@ public:
if (GameObject* go = pInstance->instance->GetGameObject(pInstance->GetGuidData(GO_HODIR_CHEST_HARD)))
{
go->SetGoState(GO_STATE_ACTIVE);
events.ScheduleEvent(EVENT_DESPAWN_CHEST, 3000);
events.ScheduleEvent(EVENT_DESPAWN_CHEST, 3s);
}
}
break;
@ -461,10 +461,10 @@ public:
Talk(TEXT_FLASH_FREEZE);
Talk(TEXT_EMOTE_FREEZE);
SmallIcicles(false);
events.ScheduleEvent(EVENT_FLASH_FREEZE, urand(48000, 49000));
events.ScheduleEvent(EVENT_SMALL_ICICLES_ENABLE, Is25ManRaid() ? 12000 : 24000);
events.ScheduleEvent(EVENT_FROZEN_BLOWS, 15000);
events.RescheduleEvent(EVENT_FREEZE, urand(17000, 20000));
events.ScheduleEvent(EVENT_FLASH_FREEZE, 48s, 49s);
events.ScheduleEvent(EVENT_SMALL_ICICLES_ENABLE, Is25ManRaid() ? 12s : 24s);
events.ScheduleEvent(EVENT_FROZEN_BLOWS, 15s);
events.RescheduleEvent(EVENT_FREEZE, 17s, 20s);
}
break;
case EVENT_SMALL_ICICLES_ENABLE:
@ -488,7 +488,7 @@ public:
{
me->CastSpell(target, SPELL_FREEZE, false);
}
events.RescheduleEvent(EVENT_FREEZE, urand(17000, 20000));
events.RescheduleEvent(EVENT_FREEZE, 17s, 20s);
break;
}
@ -781,9 +781,9 @@ public:
void ScheduleAbilities()
{
events.ScheduleEvent(EVENT_PRIEST_DISPELL_MAGIC, 7000);
events.ScheduleEvent(EVENT_PRIEST_GREAT_HEAL, urand(6000, 7000));
events.ScheduleEvent(EVENT_PRIEST_SMITE, 2100);
events.ScheduleEvent(EVENT_PRIEST_DISPELL_MAGIC, 7s);
events.ScheduleEvent(EVENT_PRIEST_GREAT_HEAL, 6s, 7s);
events.ScheduleEvent(EVENT_PRIEST_SMITE, 2100ms);
}
void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override
@ -791,7 +791,7 @@ public:
if(spell->Id == SPELL_FLASH_FREEZE_TRAPPED_NPC)
{
events.Reset();
events.ScheduleEvent(EVENT_TRY_FREE_HELPER, 2000);
events.ScheduleEvent(EVENT_TRY_FREE_HELPER, 2s);
}
}
@ -817,21 +817,21 @@ public:
ScheduleAbilities();
break;
}
events.RepeatEvent(2000);
events.Repeat(2s);
}
break;
case EVENT_PRIEST_DISPELL_MAGIC:
me->CastCustomSpell(SPELL_PRIEST_DISPELL_MAGIC, SPELLVALUE_MAX_TARGETS, 1, (Unit*)nullptr, false);
events.RepeatEvent(7000);
events.Repeat(7s);
break;
case EVENT_PRIEST_GREAT_HEAL:
me->CastSpell(me, SPELL_PRIEST_GREAT_HEAL, false);
events.RepeatEvent(urand(6000, 7000));
events.Repeat(6s, 7s);
break;
case EVENT_PRIEST_SMITE:
if (Unit* victim = me->GetVictim())
me->CastSpell(victim, SPELL_PRIEST_SMITE, false);
events.RepeatEvent(2100);
events.Repeat(2100ms);
break;
}
}
@ -879,8 +879,8 @@ public:
void ScheduleAbilities()
{
events.ScheduleEvent(EVENT_DRUID_WRATH, 1600);
events.ScheduleEvent(EVENT_DRUID_STARLIGHT, 10000);
events.ScheduleEvent(EVENT_DRUID_WRATH, 1600ms);
events.ScheduleEvent(EVENT_DRUID_STARLIGHT, 10s);
}
void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override
@ -888,7 +888,7 @@ public:
if(spell->Id == SPELL_FLASH_FREEZE_TRAPPED_NPC)
{
events.Reset();
events.ScheduleEvent(EVENT_TRY_FREE_HELPER, 2000);
events.ScheduleEvent(EVENT_TRY_FREE_HELPER, 2s);
}
}
@ -914,22 +914,22 @@ public:
ScheduleAbilities();
break;
}
events.RepeatEvent(2000);
events.Repeat(2s);
}
break;
case EVENT_DRUID_WRATH:
if (Unit* victim = me->GetVictim())
me->CastSpell(victim, SPELL_DRUID_WRATH, false);
events.RepeatEvent(1600);
events.Repeat(1600ms);
break;
case EVENT_DRUID_STARLIGHT:
if (me->GetPositionZ() < 433.0f) // ensure npc is on the ground
{
me->CastSpell(me, SPELL_DRUID_STARLIGHT_AREA_AURA, false);
events.RepeatEvent(15000);
events.Repeat(15s);
break;
}
events.RepeatEvent(3000);
events.Repeat(3s);
break;
}
}
@ -977,8 +977,8 @@ public:
void ScheduleAbilities()
{
events.ScheduleEvent(EVENT_SHAMAN_LAVA_BURST, 2600);
events.ScheduleEvent(EVENT_SHAMAN_STORM_CLOUD, 10000);
events.ScheduleEvent(EVENT_SHAMAN_LAVA_BURST, 2600ms);
events.ScheduleEvent(EVENT_SHAMAN_STORM_CLOUD, 10s);
}
void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override
@ -986,7 +986,7 @@ public:
if(spell->Id == SPELL_FLASH_FREEZE_TRAPPED_NPC)
{
events.Reset();
events.ScheduleEvent(EVENT_TRY_FREE_HELPER, 2000);
events.ScheduleEvent(EVENT_TRY_FREE_HELPER, 2s);
}
}
@ -1019,18 +1019,18 @@ public:
ScheduleAbilities();
break;
}
events.RepeatEvent(2000);
events.Repeat(2s);
}
break;
case EVENT_SHAMAN_LAVA_BURST:
if (Unit* victim = me->GetVictim())
me->CastSpell(victim, SPELL_SHAMAN_LAVA_BURST, false);
events.RepeatEvent(2600);
events.Repeat(2600ms);
break;
case EVENT_SHAMAN_STORM_CLOUD:
if (Player* target = ScriptedAI::SelectTargetFromPlayerList(35.0f, SPELL_SHAMAN_STORM_CLOUD))
me->CastSpell(target, SPELL_SHAMAN_STORM_CLOUD, false);
events.RepeatEvent(30000);
events.Repeat(30s);
break;
}
}
@ -1078,9 +1078,9 @@ public:
void ScheduleAbilities()
{
events.ScheduleEvent(EVENT_MAGE_FIREBALL, 3100);
events.ScheduleEvent(EVENT_MAGE_TOASTY_FIRE, 6000);
events.ScheduleEvent(EVENT_MAGE_MELT_ICE, 1000);
events.ScheduleEvent(EVENT_MAGE_FIREBALL, 3100ms);
events.ScheduleEvent(EVENT_MAGE_TOASTY_FIRE, 6s);
events.ScheduleEvent(EVENT_MAGE_MELT_ICE, 1s);
}
void SpellHit(Unit* /*caster*/, SpellInfo const* spell) override
@ -1088,7 +1088,7 @@ public:
if(spell->Id == SPELL_FLASH_FREEZE_TRAPPED_NPC)
{
events.Reset();
events.ScheduleEvent(EVENT_TRY_FREE_HELPER, 2000);
events.ScheduleEvent(EVENT_TRY_FREE_HELPER, 2s);
}
}
@ -1114,17 +1114,17 @@ public:
ScheduleAbilities();
break;
}
events.RepeatEvent(2000);
events.Repeat(2s);
}
break;
case EVENT_MAGE_FIREBALL:
if (Unit* victim = me->GetVictim())
me->CastSpell(victim, SPELL_MAGE_FIREBALL, false);
events.RepeatEvent(3100);
events.Repeat(3100ms);
break;
case EVENT_MAGE_TOASTY_FIRE:
me->CastSpell(me, SPELL_MAGE_CONJURE_TOASTY_FIRE, false);
events.RepeatEvent(10000);
events.Repeat(10s);
break;
case EVENT_MAGE_MELT_ICE:
{
@ -1141,11 +1141,11 @@ public:
if( found )
{
events.DelayEvents(2000);
events.RepeatEvent(1999);
events.DelayEvents(2s);
events.Repeat(2s);
break;
}
events.RepeatEvent(5000);
events.Repeat(5s);
}
break;
}

View file

@ -247,9 +247,9 @@ public:
lastShatterMSTime = 0;
events.Reset();
events.ScheduleEvent(EVENT_ACTIVATE_CONSTRUCT, RAID_MODE(40000, 30000));
events.ScheduleEvent(EVENT_SPELL_SCORCH, 10000);
events.ScheduleEvent(EVENT_SPELL_FLAME_JETS, 32000);
events.ScheduleEvent(EVENT_GRAB, 25000);
events.ScheduleEvent(EVENT_SPELL_SCORCH, 10s);
events.ScheduleEvent(EVENT_SPELL_FLAME_JETS, 32s);
events.ScheduleEvent(EVENT_GRAB, 25s);
Talk(SAY_AGGRO);
DoZoneInCombat();
@ -354,8 +354,8 @@ public:
me->DisableRotate(true);
me->SendMovementFlagUpdate();
me->CastSpell(me->GetVictim(), S_SCORCH, false);
events.RepeatEvent(20000);
events.RescheduleEvent(EVENT_ENABLE_ROTATE, 3001);
events.Repeat(20s);
events.RescheduleEvent(EVENT_ENABLE_ROTATE, 3s);
break;
case EVENT_ENABLE_ROTATE:
me->SetControlled(false, UNIT_STATE_ROOT);
@ -364,7 +364,7 @@ public:
case EVENT_SPELL_FLAME_JETS:
Talk(EMOTE_JETS);
me->CastSpell(me->GetVictim(), S_FLAME_JETS, false);
events.RepeatEvent(25000);
events.Repeat(25s);
break;
case EVENT_GRAB:
{
@ -406,8 +406,8 @@ public:
}
}
events.RepeatEvent(24000); // +6000 below
events.DelayEvents(6000);
events.Repeat(24s);
events.DelayEvents(6s);
}
break;
}

Some files were not shown because too many files have changed in this diff Show more