mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-27 15:46:24 +00:00
refactor(Scripts/Northrend): conversion to std::chrono (#15269)
Co-authored-by: Maelthyrr <maelthyrr@users.noreply.github.com>
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -349,7 +349,7 @@ public:
|
||||
if (me->IsInCombat())
|
||||
{
|
||||
Talk(SAY_LEFT_ARM_GONE);
|
||||
events.ScheduleEvent(EVENT_RESTORE_ARM_LEFT, 50000);
|
||||
events.ScheduleEvent(EVENT_RESTORE_ARM_LEFT, 50s);
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -358,13 +358,13 @@ public:
|
||||
if (me->IsInCombat())
|
||||
{
|
||||
Talk(SAY_RIGHT_ARM_GONE);
|
||||
events.ScheduleEvent(EVENT_RESTORE_ARM_RIGHT, 50000);
|
||||
events.ScheduleEvent(EVENT_RESTORE_ARM_RIGHT, 50s);
|
||||
}
|
||||
}
|
||||
|
||||
me->CastSpell(me, SPELL_ARM_DEAD, true);
|
||||
if (!_right && !_left)
|
||||
events.ScheduleEvent(EVENT_STONE_SHOUT, 5000);
|
||||
events.ScheduleEvent(EVENT_STONE_SHOUT, 5s);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -382,11 +382,11 @@ public:
|
||||
if (m_pInstance)
|
||||
m_pInstance->SetData(TYPE_KOLOGARN, IN_PROGRESS);
|
||||
|
||||
events.ScheduleEvent(EVENT_SMASH, 8000);
|
||||
events.ScheduleEvent(EVENT_SWEEP, 17000);
|
||||
events.ScheduleEvent(EVENT_GRIP, 15000);
|
||||
events.ScheduleEvent(EVENT_FOCUSED_EYEBEAM, 10000);
|
||||
events.ScheduleEvent(EVENT_PREPARE_BREATH, 3000);
|
||||
events.ScheduleEvent(EVENT_SMASH, 8s);
|
||||
events.ScheduleEvent(EVENT_SWEEP, 17s);
|
||||
events.ScheduleEvent(EVENT_GRIP, 15s);
|
||||
events.ScheduleEvent(EVENT_FOCUSED_EYEBEAM, 10s);
|
||||
events.ScheduleEvent(EVENT_PREPARE_BREATH, 3s);
|
||||
//events.ScheduleEvent(EVENT_ENRAGE, x); no info
|
||||
|
||||
Talk(SAY_AGGRO);
|
||||
@@ -426,7 +426,7 @@ public:
|
||||
}
|
||||
|
||||
me->CastSpell(me->GetVictim(), SPELL_STONE_SHOUT, false);
|
||||
events.ScheduleEvent(EVENT_STONE_SHOUT, 2000);
|
||||
events.ScheduleEvent(EVENT_STONE_SHOUT, 2s);
|
||||
break;
|
||||
case EVENT_SMASH:
|
||||
if (_left && _right)
|
||||
@@ -434,8 +434,8 @@ public:
|
||||
else if (_left || _right)
|
||||
me->CastSpell(me->GetVictim(), SPELL_ONEARMED_OVERHEAD_SMASH, false);
|
||||
|
||||
events.DelayEvents(1000);
|
||||
events.ScheduleEvent(EVENT_SMASH, 14000);
|
||||
events.DelayEvents(1s);
|
||||
events.ScheduleEvent(EVENT_SMASH, 14s);
|
||||
return;
|
||||
case EVENT_SWEEP:
|
||||
if (_left)
|
||||
@@ -447,11 +447,11 @@ public:
|
||||
Talk(SAY_SHOCKWAVE);
|
||||
}
|
||||
|
||||
events.DelayEvents(1000);
|
||||
events.ScheduleEvent(EVENT_SWEEP, 17000);
|
||||
events.DelayEvents(1s);
|
||||
events.ScheduleEvent(EVENT_SWEEP, 17s);
|
||||
return;
|
||||
case EVENT_GRIP:
|
||||
events.ScheduleEvent(EVENT_GRIP, 25000);
|
||||
events.ScheduleEvent(EVENT_GRIP, 25s);
|
||||
if (!_right)
|
||||
break;
|
||||
|
||||
@@ -461,7 +461,7 @@ public:
|
||||
return;
|
||||
case EVENT_FOCUSED_EYEBEAM:
|
||||
{
|
||||
events.ScheduleEvent(EVENT_FOCUSED_EYEBEAM, 20000);
|
||||
events.ScheduleEvent(EVENT_FOCUSED_EYEBEAM, 20s);
|
||||
|
||||
if ((eyebeamTarget = SelectTarget(SelectTargetMethod::MinDistance, 0, 0, true)))
|
||||
{
|
||||
|
||||
@@ -361,16 +361,16 @@ public:
|
||||
if (!hardmode)
|
||||
{
|
||||
Talk(SAY_MKII_ACTIVATE);
|
||||
events.ScheduleEvent(EVENT_SIT_LMK2, 6000);
|
||||
events.ScheduleEvent(EVENT_BERSERK, 900000);
|
||||
events.ScheduleEvent(EVENT_SIT_LMK2, 6s);
|
||||
events.ScheduleEvent(EVENT_BERSERK, 15min);
|
||||
}
|
||||
else
|
||||
{
|
||||
events.ScheduleEvent(EVENT_MIMIRON_SAY_HARDMODE, 7000);
|
||||
events.ScheduleEvent(EVENT_BERSERK, Is25ManRaid() ? 10 * MINUTE* IN_MILLISECONDS : 8 * MINUTE * IN_MILLISECONDS);
|
||||
events.ScheduleEvent(EVENT_MIMIRON_SAY_HARDMODE, 7s);
|
||||
events.ScheduleEvent(EVENT_BERSERK, Is25ManRaid() ? 10min : 8min);
|
||||
|
||||
events.ScheduleEvent(EVENT_COMPUTER_SAY_INITIATED, 0);
|
||||
events.ScheduleEvent(EVENT_COMPUTER_SAY_MINUTES, 3000);
|
||||
events.ScheduleEvent(EVENT_COMPUTER_SAY_INITIATED, 0ms);
|
||||
events.ScheduleEvent(EVENT_COMPUTER_SAY_MINUTES, 3s);
|
||||
minutesTalkNum = Is25ManRaid() ? TALK_COMPUTER_TEN : TALK_COMPUTER_EIGHT;
|
||||
for (uint32 i = 0; i < uint32(TALK_COMPUTER_ZERO - minutesTalkNum - 1); ++i)
|
||||
events.ScheduleEvent(EVENT_COMPUTER_SAY_MINUTES, (i + 1)*MINUTE * IN_MILLISECONDS);
|
||||
@@ -426,8 +426,8 @@ public:
|
||||
break;
|
||||
case EVENT_MIMIRON_SAY_HARDMODE:
|
||||
Talk(SAY_HARDMODE_ON);
|
||||
events.ScheduleEvent(EVENT_SPAWN_FLAMES_INITIAL, 0);
|
||||
events.ScheduleEvent(EVENT_SIT_LMK2, 4000);
|
||||
events.ScheduleEvent(EVENT_SPAWN_FLAMES_INITIAL, 0ms);
|
||||
events.ScheduleEvent(EVENT_SIT_LMK2, 4s);
|
||||
break;
|
||||
case EVENT_SPAWN_FLAMES_INITIAL:
|
||||
{
|
||||
@@ -456,7 +456,7 @@ public:
|
||||
pg.erase(pg.begin() + index);
|
||||
}
|
||||
|
||||
events.RepeatEvent(30000);
|
||||
events.Repeat(30s);
|
||||
}
|
||||
break;
|
||||
case EVENT_BERSERK:
|
||||
@@ -464,7 +464,7 @@ public:
|
||||
Talk(SAY_BERSERK);
|
||||
if( hardmode )
|
||||
me->SummonCreature(33576, 2744.78f, 2569.47f, 364.32f, 0.0f, TEMPSUMMON_TIMED_DESPAWN, 120000);
|
||||
events.ScheduleEvent(EVENT_BERSERK_2, 0);
|
||||
events.ScheduleEvent(EVENT_BERSERK_2, 0ms);
|
||||
break;
|
||||
case EVENT_BERSERK_2:
|
||||
{
|
||||
@@ -477,14 +477,14 @@ public:
|
||||
LMK2->CastSpell(LMK2, SPELL_BERSERK, true);
|
||||
if ((ACU = GetACU()))
|
||||
ACU->CastSpell(ACU, SPELL_BERSERK, true);
|
||||
events.RepeatEvent(30000);
|
||||
events.Repeat(30s);
|
||||
}
|
||||
break;
|
||||
case EVENT_SIT_LMK2:
|
||||
if(Creature* LMK2 = GetLMK2())
|
||||
{
|
||||
me->EnterVehicle(LMK2, 6);
|
||||
events.ScheduleEvent(EVENT_SIT_LMK2_INTERVAL, 2000);
|
||||
events.ScheduleEvent(EVENT_SIT_LMK2_INTERVAL, 2s);
|
||||
break;
|
||||
}
|
||||
EnterEvadeMode(EVADE_REASON_OTHER);
|
||||
@@ -510,7 +510,7 @@ public:
|
||||
me->EnterVehicle(LMK2, 1);
|
||||
Talk(SAY_MKII_DEATH);
|
||||
LMK2->SetFacingTo(3.58f);
|
||||
events.ScheduleEvent(EVENT_ELEVATOR_INTERVAL_0, 6000);
|
||||
events.ScheduleEvent(EVENT_ELEVATOR_INTERVAL_0, 6s);
|
||||
break;
|
||||
}
|
||||
EnterEvadeMode(EVADE_REASON_OTHER);
|
||||
@@ -522,7 +522,7 @@ public:
|
||||
elevator->UseDoorOrButton(0, false);
|
||||
elevator->EnableCollision(false);
|
||||
}
|
||||
events.ScheduleEvent(EVENT_ELEVATOR_INTERVAL_1, 6000);
|
||||
events.ScheduleEvent(EVENT_ELEVATOR_INTERVAL_1, 6s);
|
||||
break;
|
||||
case EVENT_ELEVATOR_INTERVAL_1:
|
||||
if(me->SummonCreature(NPC_VX001, 2744.65f, 2569.46f, 364.40f, 3.14f, TEMPSUMMON_MANUAL_DESPAWN))
|
||||
@@ -533,7 +533,7 @@ public:
|
||||
elevator->UseDoorOrButton(0, true);
|
||||
elevator->EnableCollision(false);
|
||||
}
|
||||
events.ScheduleEvent(EVENT_ELEVATOR_INTERVAL_2, 18000);
|
||||
events.ScheduleEvent(EVENT_ELEVATOR_INTERVAL_2, 18s);
|
||||
break;
|
||||
}
|
||||
EnterEvadeMode(EVADE_REASON_OTHER);
|
||||
@@ -542,20 +542,20 @@ public:
|
||||
if (Creature* VX001 = GetVX001())
|
||||
{
|
||||
me->EnterVehicle(VX001, 0);
|
||||
events.ScheduleEvent(EVENT_SITTING_ON_VX001, 4000);
|
||||
events.ScheduleEvent(EVENT_SITTING_ON_VX001, 4s);
|
||||
break;
|
||||
}
|
||||
EnterEvadeMode(EVADE_REASON_OTHER);
|
||||
break;
|
||||
case EVENT_SITTING_ON_VX001:
|
||||
Talk(SAY_VX001_ACTIVATE);
|
||||
events.ScheduleEvent(EVENT_ENTER_VX001, 5000);
|
||||
events.ScheduleEvent(EVENT_ENTER_VX001, 5s);
|
||||
break;
|
||||
case EVENT_ENTER_VX001:
|
||||
if( Creature* VX001 = GetVX001() )
|
||||
{
|
||||
me->EnterVehicle(VX001, 1);
|
||||
events.ScheduleEvent(EVENT_EMOTE_VX001, 2000);
|
||||
events.ScheduleEvent(EVENT_EMOTE_VX001, 2s);
|
||||
break;
|
||||
}
|
||||
EnterEvadeMode(EVADE_REASON_OTHER);
|
||||
@@ -564,7 +564,7 @@ public:
|
||||
if( Creature* VX001 = GetVX001() )
|
||||
{
|
||||
VX001->HandleEmoteCommand(EMOTE_ONESHOT_EMERGE);
|
||||
events.ScheduleEvent(EVENT_VX001_START_FIGHT, 1750);
|
||||
events.ScheduleEvent(EVENT_VX001_START_FIGHT, 1750ms);
|
||||
break;
|
||||
}
|
||||
EnterEvadeMode(EVADE_REASON_OTHER);
|
||||
@@ -585,7 +585,7 @@ public:
|
||||
{
|
||||
VX001->HandleEmoteCommand(EMOTE_STATE_DROWNED);
|
||||
VX001->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_DROWNED);
|
||||
events.ScheduleEvent(EVENT_GET_OUT_VX001, 2500);
|
||||
events.ScheduleEvent(EVENT_GET_OUT_VX001, 2500ms);
|
||||
break;
|
||||
}
|
||||
EnterEvadeMode(EVADE_REASON_OTHER);
|
||||
@@ -598,7 +598,7 @@ public:
|
||||
float speed = ACU->GetDistance(2737.75f, 2574.22f, 381.34f) / 2.0f;
|
||||
ACU->MonsterMoveWithSpeed(2737.75f, 2574.22f, 381.34f, speed);
|
||||
ACU->SetPosition(2737.75f, 2574.22f, 381.34f, M_PI);
|
||||
events.ScheduleEvent(EVENT_SAY_VX001_DEAD, 2000);
|
||||
events.ScheduleEvent(EVENT_SAY_VX001_DEAD, 2s);
|
||||
break;
|
||||
}
|
||||
EnterEvadeMode(EVADE_REASON_OTHER);
|
||||
@@ -606,20 +606,20 @@ public:
|
||||
case EVENT_SAY_VX001_DEAD:
|
||||
changeAllowedFlameSpreadTime = true;
|
||||
Talk(SAY_VX001_DEATH);
|
||||
events.ScheduleEvent(EVENT_ENTER_ACU, 7000);
|
||||
events.ScheduleEvent(EVENT_ENTER_ACU, 7s);
|
||||
break;
|
||||
case EVENT_ENTER_ACU:
|
||||
if( Creature* ACU = GetACU() )
|
||||
{
|
||||
me->EnterVehicle(ACU, 0);
|
||||
events.ScheduleEvent(EVENT_SAY_ACU_ACTIVATE, 6000);
|
||||
events.ScheduleEvent(EVENT_SAY_ACU_ACTIVATE, 6s);
|
||||
break;
|
||||
}
|
||||
EnterEvadeMode(EVADE_REASON_OTHER);
|
||||
break;
|
||||
case EVENT_SAY_ACU_ACTIVATE:
|
||||
Talk(SAY_AERIAL_ACTIVATE);
|
||||
events.ScheduleEvent(EVENT_ACU_START_ATTACK, 4000);
|
||||
events.ScheduleEvent(EVENT_ACU_START_ATTACK, 4s);
|
||||
break;
|
||||
case EVENT_ACU_START_ATTACK:
|
||||
if( Creature* ACU = GetACU() )
|
||||
@@ -634,13 +634,13 @@ public:
|
||||
break;
|
||||
case EVENT_SAY_ACU_DEAD:
|
||||
Talk(SAY_AERIAL_DEATH);
|
||||
events.ScheduleEvent(EVENT_LEVIATHAN_COME_CLOSER, 5000);
|
||||
events.ScheduleEvent(EVENT_LEVIATHAN_COME_CLOSER, 5s);
|
||||
break;
|
||||
case EVENT_LEVIATHAN_COME_CLOSER:
|
||||
if (Creature* LMK2 = GetLMK2())
|
||||
{
|
||||
LMK2->GetMotionMaster()->MoveCharge(2755.77f, 2574.95f, 364.31f, 21.0f);
|
||||
events.ScheduleEvent(EVENT_VX001_EMOTE_JUMP, 4000);
|
||||
events.ScheduleEvent(EVENT_VX001_EMOTE_JUMP, 4s);
|
||||
break;
|
||||
}
|
||||
EnterEvadeMode(EVADE_REASON_OTHER);
|
||||
@@ -658,7 +658,7 @@ public:
|
||||
VX001->SendMeleeAttackStop();
|
||||
VX001->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_CUSTOM_SPELL_02);
|
||||
VX001->HandleEmoteCommand(EMOTE_ONESHOT_CUSTOM_SPELL_02);
|
||||
events.ScheduleEvent(EVENT_LEVIATHAN_RIDE_MIDDLE, 4800);
|
||||
events.ScheduleEvent(EVENT_LEVIATHAN_RIDE_MIDDLE, 4800ms);
|
||||
}
|
||||
break;
|
||||
case EVENT_LEVIATHAN_RIDE_MIDDLE:
|
||||
@@ -675,7 +675,7 @@ public:
|
||||
VX001->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_CUSTOM_SPELL_01);
|
||||
VX001->HandleEmoteCommand(EMOTE_STATE_CUSTOM_SPELL_01);
|
||||
VX001->EnterVehicle(LMK2, 3);
|
||||
events.ScheduleEvent(EVENT_JOIN_TOGETHER, 3000);
|
||||
events.ScheduleEvent(EVENT_JOIN_TOGETHER, 3s);
|
||||
}
|
||||
break;
|
||||
case EVENT_JOIN_TOGETHER:
|
||||
@@ -692,7 +692,7 @@ public:
|
||||
ACU->EnterVehicle(VX001, 3);
|
||||
me->EnterVehicle(VX001, 1);
|
||||
Talk(SAY_V07TRON_ACTIVATE);
|
||||
events.ScheduleEvent(EVENT_START_PHASE4, 10000);
|
||||
events.ScheduleEvent(EVENT_START_PHASE4, 10s);
|
||||
}
|
||||
break;
|
||||
case EVENT_START_PHASE4:
|
||||
@@ -780,7 +780,7 @@ public:
|
||||
computer->AI()->Talk(TALK_COMPUTER_TERMINATED);
|
||||
|
||||
events.Reset();
|
||||
events.ScheduleEvent(EVENT_SAY_VOLTRON_DEAD, 6000);
|
||||
events.ScheduleEvent(EVENT_SAY_VOLTRON_DEAD, 6s);
|
||||
}
|
||||
break;
|
||||
case EVENT_SAY_VOLTRON_DEAD:
|
||||
@@ -794,7 +794,7 @@ public:
|
||||
go->SetLootRecipient(me->GetMap());
|
||||
}
|
||||
}
|
||||
events.ScheduleEvent(EVENT_DISAPPEAR, 15000);
|
||||
events.ScheduleEvent(EVENT_DISAPPEAR, 15s);
|
||||
break;
|
||||
case EVENT_DISAPPEAR:
|
||||
if( pInstance )
|
||||
@@ -903,13 +903,13 @@ public:
|
||||
switch (value) // end of phase 1-3, 4-6 for voltron
|
||||
{
|
||||
case 1:
|
||||
events.ScheduleEvent(EVENT_LMK2_RETREAT_INTERVAL, 5000);
|
||||
events.ScheduleEvent(EVENT_LMK2_RETREAT_INTERVAL, 5s);
|
||||
break;
|
||||
case 2:
|
||||
events.ScheduleEvent(EVENT_VX001_EMOTESTATE_DEATH, 2500);
|
||||
events.ScheduleEvent(EVENT_VX001_EMOTESTATE_DEATH, 2500ms);
|
||||
break;
|
||||
case 3:
|
||||
events.ScheduleEvent(EVENT_SAY_ACU_DEAD, 5000);
|
||||
events.ScheduleEvent(EVENT_SAY_ACU_DEAD, 5s);
|
||||
break;
|
||||
case 4:
|
||||
case 5:
|
||||
@@ -928,7 +928,7 @@ public:
|
||||
Spell* s2 = VX001->GetCurrentSpell(CURRENT_GENERIC_SPELL);
|
||||
Spell* s3 = ACU->GetCurrentSpell(CURRENT_GENERIC_SPELL);
|
||||
if (s1 && s2 && s3 && s1->GetSpellInfo()->Id == SPELL_SELF_REPAIR && s2->GetSpellInfo()->Id == SPELL_SELF_REPAIR && s3->GetSpellInfo()->Id == SPELL_SELF_REPAIR)
|
||||
events.ScheduleEvent(EVENT_FINISH, 0);
|
||||
events.ScheduleEvent(EVENT_FINISH, 0ms);
|
||||
}
|
||||
break;
|
||||
case 7:
|
||||
@@ -1023,13 +1023,13 @@ public:
|
||||
AttackStart(target);
|
||||
DoZoneInCombat();
|
||||
events.Reset();
|
||||
events.ScheduleEvent(EVENT_SPELL_NAPALM_SHELL, 3000);
|
||||
events.ScheduleEvent(EVENT_SPELL_PLASMA_BLAST, 10000);
|
||||
events.ScheduleEvent(EVENT_SPELL_SHOCK_BLAST, 20000);
|
||||
events.ScheduleEvent(EVENT_PROXIMITY_MINES_1, 6000);
|
||||
events.ScheduleEvent(EVENT_SPELL_NAPALM_SHELL, 3s);
|
||||
events.ScheduleEvent(EVENT_SPELL_PLASMA_BLAST, 10s);
|
||||
events.ScheduleEvent(EVENT_SPELL_SHOCK_BLAST, 20s);
|
||||
events.ScheduleEvent(EVENT_PROXIMITY_MINES_1, 6s);
|
||||
if (Creature* c = GetMimiron())
|
||||
if (c->AI()->GetData(1))
|
||||
events.ScheduleEvent(EVENT_FLAME_SUPPRESSION_50000, 60000);
|
||||
events.ScheduleEvent(EVENT_FLAME_SUPPRESSION_50000, 60s);
|
||||
break;
|
||||
case 4:
|
||||
me->SetReactState(REACT_AGGRESSIVE);
|
||||
@@ -1040,8 +1040,8 @@ public:
|
||||
AttackStart(target);
|
||||
DoZoneInCombat();
|
||||
events.Reset();
|
||||
events.ScheduleEvent(EVENT_SPELL_SHOCK_BLAST, 20000);
|
||||
events.ScheduleEvent(EVENT_PROXIMITY_MINES_1, 6000);
|
||||
events.ScheduleEvent(EVENT_SPELL_SHOCK_BLAST, 20s);
|
||||
events.ScheduleEvent(EVENT_PROXIMITY_MINES_1, 6s);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -1130,7 +1130,7 @@ public:
|
||||
if( pTarget )
|
||||
cannon->CastSpell(pTarget, SPELL_NAPALM_SHELL, false);
|
||||
|
||||
events.RepeatEvent(14000);
|
||||
events.Repeat(14s);
|
||||
}
|
||||
break;
|
||||
case EVENT_SPELL_PLASMA_BLAST:
|
||||
@@ -1139,12 +1139,12 @@ public:
|
||||
Talk(EMOTE_PLASMA_BLAST);
|
||||
cannon->CastSpell(victim, SPELL_PLASMA_BLAST, false);
|
||||
}
|
||||
events.RepeatEvent(22000);
|
||||
events.Repeat(22s);
|
||||
break;
|
||||
case EVENT_SPELL_SHOCK_BLAST:
|
||||
me->CastSpell(me->GetVictim(), SPELL_SHOCK_BLAST, false);
|
||||
events.RepeatEvent(30000);
|
||||
events.ScheduleEvent(EVENT_PROXIMITY_MINES_1, 8000);
|
||||
events.Repeat(30s);
|
||||
events.ScheduleEvent(EVENT_PROXIMITY_MINES_1, 8s);
|
||||
break;
|
||||
case EVENT_PROXIMITY_MINES_1:
|
||||
for (uint8 i = 0; i < 10; ++i)
|
||||
@@ -1278,16 +1278,16 @@ public:
|
||||
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_SPELL_CAST_OMNI);
|
||||
me->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
|
||||
events.Reset();
|
||||
events.ScheduleEvent(EVENT_SPELL_HEAT_WAVE, 10000);
|
||||
events.ScheduleEvent(EVENT_SPELL_ROCKET_STRIKE, 16000);
|
||||
events.ScheduleEvent(EVENT_SPELL_RAPID_BURST, 0);
|
||||
events.ScheduleEvent(EVENT_SPELL_SPINNING_UP, 30000);
|
||||
events.ScheduleEvent(EVENT_REINSTALL_ROCKETS, 3000);
|
||||
events.ScheduleEvent(EVENT_SPELL_HEAT_WAVE, 10s);
|
||||
events.ScheduleEvent(EVENT_SPELL_ROCKET_STRIKE, 16s);
|
||||
events.ScheduleEvent(EVENT_SPELL_RAPID_BURST, 0ms);
|
||||
events.ScheduleEvent(EVENT_SPELL_SPINNING_UP, 30s);
|
||||
events.ScheduleEvent(EVENT_REINSTALL_ROCKETS, 3s);
|
||||
if (Creature* c = GetMimiron())
|
||||
if (c->AI()->GetData(1))
|
||||
{
|
||||
events.ScheduleEvent(EVENT_FLAME_SUPPRESSION_10, 7000);
|
||||
events.ScheduleEvent(EVENT_FROST_BOMB, 1000);
|
||||
events.ScheduleEvent(EVENT_FLAME_SUPPRESSION_10, 7s);
|
||||
events.ScheduleEvent(EVENT_FROST_BOMB, 1s);
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
@@ -1295,13 +1295,13 @@ public:
|
||||
fighting = true;
|
||||
me->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
|
||||
events.Reset();
|
||||
events.ScheduleEvent(EVENT_REINSTALL_ROCKETS, 3000);
|
||||
events.ScheduleEvent(EVENT_SPELL_ROCKET_STRIKE, 16000);
|
||||
events.ScheduleEvent(EVENT_HAND_PULSE, 1);
|
||||
events.ScheduleEvent(EVENT_SPELL_SPINNING_UP, 30000);
|
||||
events.ScheduleEvent(EVENT_REINSTALL_ROCKETS, 3s);
|
||||
events.ScheduleEvent(EVENT_SPELL_ROCKET_STRIKE, 16s);
|
||||
events.ScheduleEvent(EVENT_HAND_PULSE, 1ms);
|
||||
events.ScheduleEvent(EVENT_SPELL_SPINNING_UP, 30s);
|
||||
if (Creature* c = GetMimiron())
|
||||
if (c->AI()->GetData(1))
|
||||
events.ScheduleEvent(EVENT_FROST_BOMB, 1000);
|
||||
events.ScheduleEvent(EVENT_FROST_BOMB, 1s);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -1395,7 +1395,7 @@ public:
|
||||
break;
|
||||
case EVENT_SPELL_HEAT_WAVE:
|
||||
me->CastSpell(me, SPELL_HEAT_WAVE, true);
|
||||
events.RepeatEvent(10000);
|
||||
events.Repeat(10s);
|
||||
break;
|
||||
case EVENT_SPELL_ROCKET_STRIKE:
|
||||
if( Vehicle* vk = me->GetVehicleKit() )
|
||||
@@ -1418,8 +1418,8 @@ public:
|
||||
r->ToCreature()->AI()->SetData(0, 0);
|
||||
}
|
||||
}
|
||||
events.RepeatEvent(20000);
|
||||
events.ScheduleEvent(EVENT_REINSTALL_ROCKETS, 10000);
|
||||
events.Repeat(20s);
|
||||
events.ScheduleEvent(EVENT_REINSTALL_ROCKETS, 10s);
|
||||
}
|
||||
break;
|
||||
case EVENT_REINSTALL_ROCKETS:
|
||||
@@ -1438,7 +1438,7 @@ public:
|
||||
me->CastSpell(p, SPELL_RAPID_BURST, true);
|
||||
me->SetFacingToObject(p);
|
||||
}
|
||||
events.RepeatEvent(3200);
|
||||
events.Repeat(3200ms);
|
||||
break;
|
||||
case EVENT_HAND_PULSE:
|
||||
if (Player* p = SelectTargetFromPlayerList(80.0f))
|
||||
@@ -1463,10 +1463,10 @@ public:
|
||||
|
||||
leftarm = !leftarm;
|
||||
}
|
||||
events.RepeatEvent(1750);
|
||||
events.Repeat(1750ms);
|
||||
break;
|
||||
case EVENT_SPELL_SPINNING_UP:
|
||||
events.RepeatEvent(45000);
|
||||
events.Repeat(45s);
|
||||
if (Player* p = SelectTargetFromPlayerList(80.0f))
|
||||
{
|
||||
float angle = me->GetAngle(p);
|
||||
@@ -1480,16 +1480,16 @@ public:
|
||||
vehicle->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_CUSTOM_SPELL_01);
|
||||
vehicle->HandleEmoteCommand(EMOTE_STATE_CUSTOM_SPELL_01);
|
||||
}
|
||||
events.RescheduleEvent((Phase == 2 ? EVENT_SPELL_RAPID_BURST : EVENT_HAND_PULSE), 14500);
|
||||
events.RescheduleEvent((Phase == 2 ? EVENT_SPELL_RAPID_BURST : EVENT_HAND_PULSE), 14s + 500ms);
|
||||
}
|
||||
break;
|
||||
case EVENT_FLAME_SUPPRESSION_10:
|
||||
me->CastSpell(me, SPELL_FLAME_SUPPRESSANT_10yd, false);
|
||||
events.RepeatEvent(10000);
|
||||
events.Repeat(10s);
|
||||
break;
|
||||
case EVENT_FROST_BOMB:
|
||||
me->CastCustomSpell(SPELL_VX001_FROST_BOMB, SPELLVALUE_MAX_TARGETS, 1, (Unit*)nullptr, false);
|
||||
events.RepeatEvent(45000);
|
||||
events.Repeat(45s);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -1603,13 +1603,13 @@ public:
|
||||
AttackStart(target);
|
||||
DoZoneInCombat();
|
||||
events.Reset();
|
||||
events.ScheduleEvent(EVENT_SPELL_PLASMA_BALL, 0);
|
||||
events.ScheduleEvent(EVENT_SUMMON_BOMB_BOT, 15000);
|
||||
events.ScheduleEvent(EVENT_SUMMON_ASSAULT_BOT, 1000);
|
||||
events.ScheduleEvent(EVENT_SUMMON_JUNK_BOT, 10000);
|
||||
events.ScheduleEvent(EVENT_SPELL_PLASMA_BALL, 0ms);
|
||||
events.ScheduleEvent(EVENT_SUMMON_BOMB_BOT, 15s);
|
||||
events.ScheduleEvent(EVENT_SUMMON_ASSAULT_BOT, 1s);
|
||||
events.ScheduleEvent(EVENT_SUMMON_JUNK_BOT, 10s);
|
||||
if (Creature* c = GetMimiron())
|
||||
if (c->AI()->GetData(1))
|
||||
events.ScheduleEvent(EVENT_SUMMON_EMERGENCY_FIRE_BOTS, 0);
|
||||
events.ScheduleEvent(EVENT_SUMMON_EMERGENCY_FIRE_BOTS, 0ms);
|
||||
break;
|
||||
case 4:
|
||||
me->SetReactState(REACT_AGGRESSIVE);
|
||||
@@ -1620,13 +1620,13 @@ public:
|
||||
AttackStart(target);
|
||||
DoZoneInCombat();
|
||||
events.Reset();
|
||||
events.ScheduleEvent(EVENT_SPELL_PLASMA_BALL, 0);
|
||||
events.ScheduleEvent(EVENT_SPELL_PLASMA_BALL, 0ms);
|
||||
}
|
||||
}
|
||||
else if (id == 2 && !immobilized && Phase == 3) // magnetic core
|
||||
{
|
||||
immobilized = true;
|
||||
events.ScheduleEvent(EVENT_MAGNETIC_CORE_PULL_DOWN, 2000);
|
||||
events.ScheduleEvent(EVENT_MAGNETIC_CORE_PULL_DOWN, 2s);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1751,24 +1751,24 @@ public:
|
||||
}
|
||||
}
|
||||
}
|
||||
events.RepeatEvent(3000);
|
||||
events.Repeat(3s);
|
||||
break;
|
||||
case EVENT_SUMMON_BOMB_BOT:
|
||||
if( !immobilized )
|
||||
me->CastSpell(me, SPELL_SUMMON_BOMB_BOT, false);
|
||||
events.RepeatEvent(15000);
|
||||
events.Repeat(15s);
|
||||
break;
|
||||
case EVENT_SUMMON_ASSAULT_BOT:
|
||||
if( GameObject* pad = me->FindNearestGameObject(RAND(194742, 194746, 194745), 200.0f) )
|
||||
if (Creature* trigger = me->SummonCreature(NPC_BOT_SUMMON_TRIGGER, *pad, TEMPSUMMON_TIMED_DESPAWN, 15000))
|
||||
trigger->AI()->DoAction(2);
|
||||
events.RepeatEvent(30000);
|
||||
events.Repeat(30s);
|
||||
break;
|
||||
case EVENT_SUMMON_JUNK_BOT:
|
||||
if( GameObject* pad = me->FindNearestGameObject(RAND(194741, 194744, 194747), 200.0f) )
|
||||
if (Creature* trigger = me->SummonCreature(NPC_BOT_SUMMON_TRIGGER, *pad, TEMPSUMMON_TIMED_DESPAWN, 15000))
|
||||
trigger->AI()->DoAction(1);
|
||||
events.RepeatEvent(10000);
|
||||
events.Repeat(10s);
|
||||
break;
|
||||
case EVENT_SUMMON_EMERGENCY_FIRE_BOTS:
|
||||
{
|
||||
@@ -1777,7 +1777,7 @@ public:
|
||||
if( GameObject* pad = me->FindNearestGameObject(ids[i], 200.0f) )
|
||||
if (Creature* trigger = me->SummonCreature(NPC_BOT_SUMMON_TRIGGER, *pad, TEMPSUMMON_MANUAL_DESPAWN))
|
||||
trigger->AI()->DoAction(3);
|
||||
events.RepeatEvent(45000);
|
||||
events.Repeat(45s);
|
||||
}
|
||||
break;
|
||||
case EVENT_MAGNETIC_CORE_PULL_DOWN:
|
||||
@@ -1785,13 +1785,13 @@ public:
|
||||
me->CastSpell(me, SPELL_SPINNING, true);
|
||||
me->MonsterMoveWithSpeed(me->GetPositionX(), me->GetPositionY(), 365.34f, me->GetExactDist(me->GetPositionX(), me->GetPositionY(), 365.34f));
|
||||
me->UpdatePosition(me->GetPositionX(), me->GetPositionY(), 365.34f, me->GetOrientation(), false);
|
||||
events.ScheduleEvent(EVENT_MAGNETIC_CORE_FREE, 20000);
|
||||
events.ScheduleEvent(EVENT_MAGNETIC_CORE_FREE, 20s);
|
||||
break;
|
||||
case EVENT_MAGNETIC_CORE_FREE:
|
||||
me->RemoveAura(SPELL_SPINNING);
|
||||
me->MonsterMoveWithSpeed(me->GetPositionX(), me->GetPositionY(), 381.34f, me->GetDistance(me->GetPositionX(), me->GetPositionY(), 381.34f));
|
||||
me->UpdatePosition(me->GetPositionX(), me->GetPositionY(), 381.34f, me->GetOrientation(), false);
|
||||
events.ScheduleEvent(EVENT_MAGNETIC_CORE_REMOVE_IMMOBILIZE, 1000);
|
||||
events.ScheduleEvent(EVENT_MAGNETIC_CORE_REMOVE_IMMOBILIZE, 1s);
|
||||
break;
|
||||
case EVENT_MAGNETIC_CORE_REMOVE_IMMOBILIZE:
|
||||
immobilized = false;
|
||||
@@ -2205,7 +2205,7 @@ public:
|
||||
{
|
||||
CreateTime = GameTime::GetGameTime().count();
|
||||
events.Reset();
|
||||
events.ScheduleEvent(EVENT_FLAMES_SPREAD, 5750);
|
||||
events.ScheduleEvent(EVENT_FLAMES_SPREAD, 5750ms);
|
||||
if( Creature* flame = me->SummonCreature(NPC_FLAMES_SPREAD, me->GetPositionX(), me->GetPositionY(), 364.32f, 0.0f) )
|
||||
{
|
||||
FlameList.push_back(flame->GetGUID());
|
||||
@@ -2301,7 +2301,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
events.RepeatEvent(5750);
|
||||
events.Repeat(5750ms);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -2366,7 +2366,7 @@ public:
|
||||
npc_ulduar_emergency_fire_botAI(Creature* pCreature) : ScriptedAI(pCreature)
|
||||
{
|
||||
events.Reset();
|
||||
events.ScheduleEvent(EVENT_EMERGENCY_BOT_CHECK, 1000);
|
||||
events.ScheduleEvent(EVENT_EMERGENCY_BOT_CHECK, 1s);
|
||||
}
|
||||
|
||||
EventMap events;
|
||||
@@ -2377,7 +2377,7 @@ public:
|
||||
void MovementInform(uint32 type, uint32 id) override
|
||||
{
|
||||
if (type == POINT_MOTION_TYPE && id == 1)
|
||||
events.ScheduleEvent(EVENT_EMERGENCY_BOT_ATTACK, 0);
|
||||
events.ScheduleEvent(EVENT_EMERGENCY_BOT_ATTACK, 0ms);
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff) override
|
||||
@@ -2388,20 +2388,20 @@ public:
|
||||
case 0:
|
||||
break;
|
||||
case EVENT_EMERGENCY_BOT_CHECK:
|
||||
events.RepeatEvent(15000); // just in case, will be rescheduled
|
||||
events.Repeat(15s);
|
||||
if (Creature* flame = me->FindNearestCreature(NPC_FLAMES_SPREAD, 150.0f, true))
|
||||
{
|
||||
me->SetOrientation(me->GetAngle(flame->GetPositionX(), flame->GetPositionY()));
|
||||
float dist = me->GetExactDist2d(flame);
|
||||
if (dist <= 5.0f)
|
||||
events.ScheduleEvent(EVENT_EMERGENCY_BOT_ATTACK, 0);
|
||||
events.ScheduleEvent(EVENT_EMERGENCY_BOT_ATTACK, 0ms);
|
||||
else
|
||||
me->GetMotionMaster()->MovePoint(1, me->GetPositionX() + (dist - 5.0f)*cos(me->GetOrientation()), me->GetPositionY() + (dist - 5.0f)*sin(me->GetOrientation()), 364.32f);
|
||||
}
|
||||
break;
|
||||
case EVENT_EMERGENCY_BOT_ATTACK:
|
||||
me->CastSpell((Unit*)nullptr, SPELL_WATER_SPRAY, false);
|
||||
events.RescheduleEvent(EVENT_EMERGENCY_BOT_CHECK, 5000);
|
||||
events.RescheduleEvent(EVENT_EMERGENCY_BOT_CHECK, 5s);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -209,12 +209,12 @@ public:
|
||||
{
|
||||
me->SetInCombatWithZone();
|
||||
events.Reset();
|
||||
events.ScheduleEvent(EVENT_COMMANDER_SAY_AGGRO, 5000);
|
||||
events.ScheduleEvent(EVENT_EE_SAY_MOVE_OUT, 10000);
|
||||
events.ScheduleEvent(EVENT_ENRAGE, 600000);
|
||||
events.ScheduleEvent(EVENT_SPELL_FIREBALL, 6000);
|
||||
events.ScheduleEvent(EVENT_SPELL_DEVOURING_FLAME, 13000);
|
||||
events.ScheduleEvent(EVENT_SUMMON_MOLE_MACHINES, 11000);
|
||||
events.ScheduleEvent(EVENT_COMMANDER_SAY_AGGRO, 5s);
|
||||
events.ScheduleEvent(EVENT_EE_SAY_MOVE_OUT, 10s);
|
||||
events.ScheduleEvent(EVENT_ENRAGE, 10min);
|
||||
events.ScheduleEvent(EVENT_SPELL_FIREBALL, 6s);
|
||||
events.ScheduleEvent(EVENT_SPELL_DEVOURING_FLAME, 13s);
|
||||
events.ScheduleEvent(EVENT_SUMMON_MOLE_MACHINES, 11s);
|
||||
|
||||
std::list<Creature*> eeList;
|
||||
me->GetCreaturesWithEntryInRange(eeList, 300.0f, NPC_EXPEDITION_ENGINEER);
|
||||
@@ -310,7 +310,7 @@ public:
|
||||
if (me->GetPositionZ() > 440.0f) // protection, razorscale is attackable (so harpoons can hit him, etc.), but should not receive dmg while in air
|
||||
damage = 0;
|
||||
else if (!bGroundPhase && ((me->GetHealth() * 100) / me->GetMaxHealth() < 50) && me->HasAura(62794)) // already below 50%, but still in chains and stunned
|
||||
events.RescheduleEvent(EVENT_WARN_DEEP_BREATH, 0);
|
||||
events.RescheduleEvent(EVENT_WARN_DEEP_BREATH, 0ms);
|
||||
}
|
||||
|
||||
void MovementInform(uint32 type, uint32 id) override
|
||||
@@ -336,13 +336,13 @@ public:
|
||||
me->SetFacingTo(M_PI / 2);
|
||||
me->SetDisableGravity(false);
|
||||
me->CastSpell(me, 62794, true);
|
||||
events.ScheduleEvent(EVENT_WARN_DEEP_BREATH, 30000);
|
||||
events.ScheduleEvent(EVENT_WARN_DEEP_BREATH, 30s);
|
||||
}
|
||||
else if (id == 1) // flied up
|
||||
{
|
||||
events.ScheduleEvent(EVENT_SPELL_FIREBALL, 2000);
|
||||
events.ScheduleEvent(EVENT_SPELL_DEVOURING_FLAME, 4000);
|
||||
events.ScheduleEvent(EVENT_SUMMON_MOLE_MACHINES, 5000);
|
||||
events.ScheduleEvent(EVENT_SPELL_FIREBALL, 2s);
|
||||
events.ScheduleEvent(EVENT_SPELL_DEVOURING_FLAME, 4s);
|
||||
events.ScheduleEvent(EVENT_SUMMON_MOLE_MACHINES, 5s);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -397,12 +397,12 @@ public:
|
||||
case EVENT_SPELL_FIREBALL:
|
||||
if( Unit* pTarget = SelectTarget(SelectTargetMethod::Random, 0, 200.0f, true) )
|
||||
me->CastSpell(pTarget, SPELL_FIREBALL, false);
|
||||
events.RepeatEvent(4000);
|
||||
events.Repeat(4s);
|
||||
break;
|
||||
case EVENT_SPELL_DEVOURING_FLAME:
|
||||
if( Unit* pTarget = SelectTarget(SelectTargetMethod::Random, 0, 200.0f, true) )
|
||||
me->CastSpell(pTarget, SPELL_DEVOURINGFLAME, false);
|
||||
events.RepeatEvent(13000);
|
||||
events.Repeat(13s);
|
||||
break;
|
||||
case EVENT_SUMMON_MOLE_MACHINES:
|
||||
{
|
||||
@@ -423,8 +423,8 @@ public:
|
||||
drill->SetGoAnimProgress(0);
|
||||
}
|
||||
}
|
||||
events.RepeatEvent(45000);
|
||||
events.RescheduleEvent(EVENT_SUMMON_ADDS, 4000);
|
||||
events.Repeat(45s);
|
||||
events.RescheduleEvent(EVENT_SUMMON_ADDS, 4s);
|
||||
}
|
||||
break;
|
||||
case EVENT_SUMMON_ADDS:
|
||||
@@ -486,11 +486,11 @@ public:
|
||||
case EVENT_WARN_DEEP_BREATH:
|
||||
Talk(EMOTE_BREATH);
|
||||
me->RemoveAura(62794);
|
||||
events.ScheduleEvent(EVENT_PHASE2_FLAME_BREATH, 2500);
|
||||
events.ScheduleEvent(EVENT_PHASE2_FLAME_BREATH, 2500ms);
|
||||
break;
|
||||
case EVENT_PHASE2_FLAME_BREATH:
|
||||
me->CastSpell(me, SPELL_FLAMEBREATH, true);
|
||||
events.ScheduleEvent(EVENT_FLY_UP, 2000);
|
||||
events.ScheduleEvent(EVENT_FLY_UP, 2s);
|
||||
break;
|
||||
case EVENT_FLY_UP:
|
||||
me->SetInCombatWithZone(); // just in case
|
||||
@@ -532,10 +532,10 @@ public:
|
||||
events.CancelEvent(EVENT_SPELL_DEVOURING_FLAME);
|
||||
events.CancelEvent(EVENT_SUMMON_MOLE_MACHINES);
|
||||
|
||||
events.ScheduleEvent(EVENT_SPELL_FLAME_BREATH, 20000);
|
||||
events.ScheduleEvent(EVENT_SPELL_DEVOURING_FLAME_GROUND, 5000);
|
||||
events.ScheduleEvent(EVENT_SPELL_FUSE_ARMOR, 10000);
|
||||
events.ScheduleEvent(EVENT_SPELL_FLAME_BUFFET, 3000);
|
||||
events.ScheduleEvent(EVENT_SPELL_FLAME_BREATH, 20s);
|
||||
events.ScheduleEvent(EVENT_SPELL_DEVOURING_FLAME_GROUND, 5s);
|
||||
events.ScheduleEvent(EVENT_SPELL_FUSE_ARMOR, 10s);
|
||||
events.ScheduleEvent(EVENT_SPELL_FLAME_BUFFET, 3s);
|
||||
|
||||
break;
|
||||
}
|
||||
@@ -549,7 +549,7 @@ public:
|
||||
me->StopMoving();
|
||||
me->SetDisableGravity(true);
|
||||
me->GetMotionMaster()->MoveTakeoff(1, CORDS_AIR, 25.0f);
|
||||
events.ScheduleEvent(EVENT_RESUME_FIXING, 22000);
|
||||
events.ScheduleEvent(EVENT_RESUME_FIXING, 22s);
|
||||
}
|
||||
|
||||
break;
|
||||
@@ -564,11 +564,11 @@ public:
|
||||
break;
|
||||
case EVENT_SPELL_FLAME_BREATH:
|
||||
me->CastSpell(me->GetVictim(), SPELL_FLAMEBREATH, false);
|
||||
events.RepeatEvent(20000);
|
||||
events.Repeat(20s);
|
||||
break;
|
||||
case EVENT_SPELL_DEVOURING_FLAME_GROUND:
|
||||
me->CastSpell(me->GetVictim(), SPELL_DEVOURINGFLAME, false);
|
||||
events.RepeatEvent(13000);
|
||||
events.Repeat(13s);
|
||||
break;
|
||||
case EVENT_SPELL_FUSE_ARMOR:
|
||||
if (Unit* victim = me->GetVictim())
|
||||
@@ -578,14 +578,14 @@ public:
|
||||
if (Aura* aur = victim->GetAura(SPELL_FUSEARMOR))
|
||||
if (aur->GetStackAmount() == 5)
|
||||
victim->CastSpell(victim, SPELL_FUSED_ARMOR, true);
|
||||
events.RepeatEvent(10000);
|
||||
events.Repeat(10s);
|
||||
break;
|
||||
}
|
||||
events.RepeatEvent(2000);
|
||||
events.Repeat(2s);
|
||||
break;
|
||||
case EVENT_SPELL_FLAME_BUFFET:
|
||||
me->CastSpell(me->GetVictim(), SPELL_FLAMEBUFFET, false);
|
||||
events.RepeatEvent(7000);
|
||||
events.Repeat(7s);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -494,9 +494,9 @@ public:
|
||||
if (GameObject* go = GetThorimObject(DATA_THORIM_LEVER))
|
||||
go->RemoveGameObjectFlag((GameObjectFlags)48);
|
||||
|
||||
events.ScheduleEvent(EVENT_THORIM_AGGRO, 0);
|
||||
events.ScheduleEvent(EVENT_THORIM_AGGRO, 0ms);
|
||||
events.SetPhase(EVENT_PHASE_START);
|
||||
events.ScheduleEvent(EVENT_THORIM_START_PHASE1, 20000);
|
||||
events.ScheduleEvent(EVENT_THORIM_START_PHASE1, 20s);
|
||||
_trashCounter = 0;
|
||||
}
|
||||
}
|
||||
@@ -530,10 +530,10 @@ public:
|
||||
DisableThorim(false);
|
||||
|
||||
events.SetPhase(EVENT_PHASE_RING);
|
||||
events.ScheduleEvent(EVENT_THORIM_UNBALANCING_STRIKE, 8000, 0, EVENT_PHASE_RING);
|
||||
events.ScheduleEvent(EVENT_THORIM_LIGHTNING_CHARGE, 12500, 0, EVENT_PHASE_RING);
|
||||
events.ScheduleEvent(EVENT_THORIM_CHAIN_LIGHTNING, 13000, 0, EVENT_PHASE_RING);
|
||||
events.ScheduleEvent(EVENT_THORIM_BERSERK, 300000, 0, EVENT_PHASE_RING);
|
||||
events.ScheduleEvent(EVENT_THORIM_UNBALANCING_STRIKE, 8s, 0, EVENT_PHASE_RING);
|
||||
events.ScheduleEvent(EVENT_THORIM_LIGHTNING_CHARGE, 12s + 500ms, 0, EVENT_PHASE_RING);
|
||||
events.ScheduleEvent(EVENT_THORIM_CHAIN_LIGHTNING, 13s, 0, EVENT_PHASE_RING);
|
||||
events.ScheduleEvent(EVENT_THORIM_BERSERK, 5min, 0, EVENT_PHASE_RING);
|
||||
|
||||
me->GetMotionMaster()->MoveChase(me->GetVictim());
|
||||
me->GetMotionMaster()->MoveJump(Middle.GetPositionX(), Middle.GetPositionY(), Middle.GetPositionZ(), 20, 20);
|
||||
@@ -574,7 +574,7 @@ public:
|
||||
Talk(SAY_DEATH);
|
||||
|
||||
events.SetPhase(EVENT_PHASE_OUTRO);
|
||||
events.ScheduleEvent(EVENT_THORIM_OUTRO1, 2000, 0, EVENT_PHASE_OUTRO);
|
||||
events.ScheduleEvent(EVENT_THORIM_OUTRO1, 2s, 0, EVENT_PHASE_OUTRO);
|
||||
|
||||
GameObject* go = nullptr;
|
||||
if ((go = GetThorimObject(DATA_THORIM_FENCE)))
|
||||
@@ -625,7 +625,7 @@ public:
|
||||
me->SetOrientation(me->GetAngle(caster));
|
||||
me->CastSpell(caster, SPELL_LIGHTNING_CHARGE_DAMAGE, true);
|
||||
me->CastSpell(me, SPELL_LIGHTNING_CHARGE_BUFF, true);
|
||||
events.RescheduleEvent(EVENT_THORIM_LIGHTNING_CHARGE, 10000, 0, EVENT_PHASE_RING);
|
||||
events.RescheduleEvent(EVENT_THORIM_LIGHTNING_CHARGE, 10s, 0, EVENT_PHASE_RING);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -658,7 +658,7 @@ public:
|
||||
{
|
||||
case EVENT_THORIM_AGGRO:
|
||||
Talk(SAY_AGGRO_1);
|
||||
events.ScheduleEvent(EVENT_THORIM_AGGRO2, 9000);
|
||||
events.ScheduleEvent(EVENT_THORIM_AGGRO2, 9s);
|
||||
|
||||
if (GameObject* go = GetThorimObject(DATA_THORIM_FENCE))
|
||||
go->SetGoState(GO_STATE_READY);
|
||||
@@ -674,11 +674,11 @@ public:
|
||||
}
|
||||
case EVENT_THORIM_START_PHASE1:
|
||||
{
|
||||
events.ScheduleEvent(EVENT_THORIM_STORMHAMMER, 8000, 0, EVENT_PHASE_START);
|
||||
events.ScheduleEvent(EVENT_THORIM_CHARGE_ORB, 14000, 0, EVENT_PHASE_START);
|
||||
events.ScheduleEvent(EVENT_THORIM_FILL_ARENA, 0, 0, EVENT_PHASE_START);
|
||||
events.ScheduleEvent(EVENT_THORIM_LIGHTNING_ORB, 5000, 0, EVENT_PHASE_START); // checked every 5 secs if there are players on arena
|
||||
events.ScheduleEvent(EVENT_THORIM_NOT_REACH_IN_TIME, 300000, 0, EVENT_PHASE_START);
|
||||
events.ScheduleEvent(EVENT_THORIM_STORMHAMMER, 8s, 0, EVENT_PHASE_START);
|
||||
events.ScheduleEvent(EVENT_THORIM_CHARGE_ORB, 14s, 0, EVENT_PHASE_START);
|
||||
events.ScheduleEvent(EVENT_THORIM_FILL_ARENA, 0ms, 0, EVENT_PHASE_START);
|
||||
events.ScheduleEvent(EVENT_THORIM_LIGHTNING_ORB, 5s, 0, EVENT_PHASE_START); // checked every 5 secs if there are players on arena
|
||||
events.ScheduleEvent(EVENT_THORIM_NOT_REACH_IN_TIME, 5min, 0, EVENT_PHASE_START);
|
||||
|
||||
EntryCheckPredicate pred(NPC_SIF);
|
||||
summons.DoAction(ACTION_SIF_START_DOMINION, pred);
|
||||
@@ -686,18 +686,18 @@ public:
|
||||
}
|
||||
case EVENT_THORIM_STORMHAMMER:
|
||||
me->CastCustomSpell(SPELL_STORMHAMMER, SPELLVALUE_MAX_TARGETS, 1, me->GetVictim(), false);
|
||||
events.RepeatEvent(16000);
|
||||
events.Repeat(16s);
|
||||
break;
|
||||
case EVENT_THORIM_CHARGE_ORB:
|
||||
me->CastCustomSpell(SPELL_CHARGE_ORB, SPELLVALUE_MAX_TARGETS, 1, me, false);
|
||||
events.RepeatEvent(16000);
|
||||
events.Repeat(16s);
|
||||
break;
|
||||
case EVENT_THORIM_LIGHTNING_ORB:
|
||||
{
|
||||
if (GetArenaPlayer())
|
||||
{
|
||||
// Player found, repeat and return
|
||||
events.RepeatEvent(5000);
|
||||
events.Repeat(5s);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -717,11 +717,11 @@ public:
|
||||
break;
|
||||
case EVENT_THORIM_FILL_ARENA:
|
||||
SpawnArenaNPCs();
|
||||
events.RepeatEvent(10000);
|
||||
events.Repeat(10s);
|
||||
break;
|
||||
case EVENT_THORIM_UNBALANCING_STRIKE:
|
||||
me->CastSpell(me->GetVictim(), SPELL_UNBALANCING_STRIKE, false);
|
||||
events.RepeatEvent(20000);
|
||||
events.Repeat(20s);
|
||||
break;
|
||||
case EVENT_THORIM_LIGHTNING_CHARGE:
|
||||
me->CastSpell(me, SPELL_LIGHTNING_PILLAR_P2, true);
|
||||
@@ -729,7 +729,7 @@ public:
|
||||
case EVENT_THORIM_CHAIN_LIGHTNING:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||
me->CastSpell(target, SPELL_CHAIN_LIGHTNING, false);
|
||||
events.RepeatEvent(15000);
|
||||
events.Repeat(15s);
|
||||
break;
|
||||
case EVENT_THORIM_BERSERK:
|
||||
me->CastSpell(me, SPELL_BERSERK, true);
|
||||
@@ -739,26 +739,26 @@ public:
|
||||
if (_hardMode)
|
||||
{
|
||||
Talk(SAY_END_HARD_1);
|
||||
events.ScheduleEvent(EVENT_THORIM_OUTRO2, 5000, 0, 3);
|
||||
events.ScheduleEvent(EVENT_THORIM_OUTRO2, 5s, 0, 3);
|
||||
EntryCheckPredicate pred(NPC_SIF);
|
||||
summons.DoAction(ACTION_SIF_TRANSFORM, pred);
|
||||
}
|
||||
else
|
||||
{
|
||||
Talk(SAY_END_NORMAL_1);
|
||||
events.ScheduleEvent(EVENT_THORIM_OUTRO2, 9000, 0, 3);
|
||||
events.ScheduleEvent(EVENT_THORIM_OUTRO2, 9s, 0, 3);
|
||||
}
|
||||
break;
|
||||
case EVENT_THORIM_OUTRO2:
|
||||
if (_hardMode)
|
||||
{
|
||||
Talk(SAY_END_HARD_2);
|
||||
events.ScheduleEvent(EVENT_THORIM_OUTRO3, 12000, 0, 3);
|
||||
events.ScheduleEvent(EVENT_THORIM_OUTRO3, 12s, 0, 3);
|
||||
}
|
||||
else
|
||||
{
|
||||
Talk(SAY_END_NORMAL_2);
|
||||
events.ScheduleEvent(EVENT_THORIM_OUTRO3, 10000, 0, 3);
|
||||
events.ScheduleEvent(EVENT_THORIM_OUTRO3, 10s, 0, 3);
|
||||
}
|
||||
break;
|
||||
case EVENT_THORIM_OUTRO3:
|
||||
@@ -815,19 +815,19 @@ public:
|
||||
void DoAction(int32 param) override
|
||||
{
|
||||
if (param == ACTION_SIF_START_TALK)
|
||||
events.ScheduleEvent(EVENT_SIF_START_TALK, 9000);
|
||||
events.ScheduleEvent(EVENT_SIF_START_TALK, 9s);
|
||||
else if (param == ACTION_SIF_START_DOMINION)
|
||||
{
|
||||
if (me->GetInstanceScript())
|
||||
if (Creature* cr = ObjectAccessor::GetCreature(*me, me->GetInstanceScript()->GetGuidData(TYPE_THORIM)))
|
||||
me->CastSpell(cr, SPELL_TOUCH_OF_DOMINION, false);
|
||||
|
||||
events.ScheduleEvent(EVENT_SIF_FINISH_DOMINION, 150000);
|
||||
events.ScheduleEvent(EVENT_SIF_FINISH_DOMINION, 150s);
|
||||
}
|
||||
else if (param == ACTION_SIF_JOIN_FIGHT)
|
||||
{
|
||||
me->InterruptNonMeleeSpells(false);
|
||||
events.ScheduleEvent(EVENT_SIF_JOIN_TALK, 9000);
|
||||
events.ScheduleEvent(EVENT_SIF_JOIN_TALK, 9s);
|
||||
events.CancelEvent(EVENT_SIF_START_TALK);
|
||||
events.CancelEvent(EVENT_SIF_FINISH_DOMINION);
|
||||
}
|
||||
@@ -857,23 +857,23 @@ public:
|
||||
break;
|
||||
case EVENT_SIF_JOIN_TALK:
|
||||
Talk(SAY_SIF_HM_REACHED);
|
||||
events.ScheduleEvent(EVENT_SIF_FROST_NOVA_START, 1000);
|
||||
events.ScheduleEvent(EVENT_SIF_FROSTBOLT_VALLEY, 11000);
|
||||
events.ScheduleEvent(EVENT_SIF_BLIZZARD, 15000);
|
||||
events.ScheduleEvent(EVENT_SIF_FROST_NOVA_START, 1s);
|
||||
events.ScheduleEvent(EVENT_SIF_FROSTBOLT_VALLEY, 11s);
|
||||
events.ScheduleEvent(EVENT_SIF_BLIZZARD, 15s);
|
||||
break;
|
||||
case EVENT_SIF_FROSTBOLT_VALLEY:
|
||||
me->CastSpell(me, SPELL_FROSTBOLT_VALLEY, false);
|
||||
events.RepeatEvent(13000);
|
||||
events.Repeat(13s);
|
||||
return;
|
||||
case EVENT_SIF_BLIZZARD:
|
||||
me->SummonCreature(NPC_SIF_BLIZZARD, 2108.7f, -280.04f, 419.42f, 0, TEMPSUMMON_TIMED_DESPAWN, 30000);
|
||||
events.RepeatEvent(30000);
|
||||
events.Repeat(30s);
|
||||
return;
|
||||
case EVENT_SIF_FROST_NOVA_START:
|
||||
me->NearTeleportTo(2108 + urand(0, 42), -238 - irand(0, 46), 420.02f, me->GetAngle(&Middle));
|
||||
events.RepeatEvent(20000);
|
||||
events.DelayEvents(5001);
|
||||
events.ScheduleEvent(EVENT_SIF_FROST_NOVA_CAST, 2500);
|
||||
events.Repeat(20s);
|
||||
events.DelayEvents(5s);
|
||||
events.ScheduleEvent(EVENT_SIF_FROST_NOVA_CAST, 2500ms);
|
||||
_allowCast = false;
|
||||
return;
|
||||
case EVENT_SIF_FROST_NOVA_CAST:
|
||||
@@ -1133,25 +1133,25 @@ public:
|
||||
{
|
||||
if (me->GetEntry() == NPC_DARK_RUNE_ACOLYTE_I)
|
||||
{
|
||||
events.ScheduleEvent(EVENT_DR_ACOLYTE_GH, 10000);
|
||||
events.ScheduleEvent(EVENT_DR_ACOLYTE_HS, 5000);
|
||||
events.ScheduleEvent(EVENT_DR_ACOLYTE_R, 7000);
|
||||
events.ScheduleEvent(EVENT_DR_ACOLYTE_GH, 10s);
|
||||
events.ScheduleEvent(EVENT_DR_ACOLYTE_HS, 5s);
|
||||
events.ScheduleEvent(EVENT_DR_ACOLYTE_R, 7s);
|
||||
}
|
||||
else if (me->GetEntry() == NPC_CAPTURED_MERCENARY_SOLDIER_ALLY || me->GetEntry() == NPC_CAPTURED_MERCENARY_SOLDIER_HORDE)
|
||||
{
|
||||
events.ScheduleEvent(EVENT_CM_SOLDIER_BS, 9000);
|
||||
events.ScheduleEvent(EVENT_CM_SOLDIER_WC, 5000);
|
||||
events.ScheduleEvent(EVENT_CM_SOLDIER_S, 0);
|
||||
events.ScheduleEvent(EVENT_CM_SOLDIER_BS, 9s);
|
||||
events.ScheduleEvent(EVENT_CM_SOLDIER_WC, 5s);
|
||||
events.ScheduleEvent(EVENT_CM_SOLDIER_S, 0ms);
|
||||
}
|
||||
else if (me->GetEntry() == NPC_CAPTURED_MERCENARY_CAPTAIN_ALLY || me->GetEntry() == NPC_CAPTURED_MERCENARY_CAPTAIN_HORDE)
|
||||
{
|
||||
events.ScheduleEvent(EVENT_CM_CAPTAIN_D, 9000);
|
||||
events.ScheduleEvent(EVENT_CM_CAPTAIN_HC, 5000);
|
||||
events.ScheduleEvent(EVENT_CM_CAPTAIN_D, 9s);
|
||||
events.ScheduleEvent(EVENT_CM_CAPTAIN_HC, 5s);
|
||||
}
|
||||
else if (me->GetEntry() == NPC_JORMUNGAR_BEHEMOT)
|
||||
{
|
||||
events.ScheduleEvent(EVENT_JB_ACID_BREATH, 12000);
|
||||
events.ScheduleEvent(EVENT_JB_SWEEP, 5000);
|
||||
events.ScheduleEvent(EVENT_JB_ACID_BREATH, 12s);
|
||||
events.ScheduleEvent(EVENT_JB_SWEEP, 5s);
|
||||
}
|
||||
|
||||
me->CallForHelp(10);
|
||||
@@ -1173,49 +1173,49 @@ public:
|
||||
me->CastSpell(me, SPELL_GREATER_HEAL, false);
|
||||
else if (Unit* target = DoSelectLowestHpFriendly(60.0f, 20))
|
||||
me->CastSpell(target, SPELL_GREATER_HEAL, false);
|
||||
events.RepeatEvent(10000);
|
||||
events.Repeat(10s);
|
||||
break;
|
||||
case EVENT_DR_ACOLYTE_HS:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||
me->CastSpell(target, SPELL_HOLY_SMITE, false);
|
||||
events.RepeatEvent(1600);
|
||||
events.Repeat(1600ms);
|
||||
break;
|
||||
case EVENT_DR_ACOLYTE_R:
|
||||
if (HealthBelowPct(75) && !me->HasAura(SPELL_RENEW))
|
||||
me->CastSpell(me, SPELL_GREATER_HEAL, false);
|
||||
else if (Unit* target = DoSelectLowestHpFriendly(60.0f, 10))
|
||||
me->CastSpell(target, SPELL_RENEW, false);
|
||||
events.RepeatEvent(7000);
|
||||
events.Repeat(7s);
|
||||
break;
|
||||
case EVENT_CM_SOLDIER_BS:
|
||||
me->CastSpell(me->GetVictim(), SPELL_BARBED_SHOT, false);
|
||||
events.RepeatEvent(9000);
|
||||
events.Repeat(9s);
|
||||
break;
|
||||
case EVENT_CM_SOLDIER_WC:
|
||||
me->CastSpell(me->GetVictim(), SPELL_WING_CLIP, false);
|
||||
events.RepeatEvent(5000);
|
||||
events.Repeat(5s);
|
||||
break;
|
||||
case EVENT_CM_SOLDIER_S:
|
||||
if (me->GetDistance(me->GetVictim()) > 8)
|
||||
me->CastSpell(me->GetVictim(), SPELL_SHOOT, false);
|
||||
|
||||
events.RepeatEvent(1500);
|
||||
events.Repeat(1500ms);
|
||||
break;
|
||||
case EVENT_CM_CAPTAIN_D:
|
||||
me->CastSpell(me->GetVictim(), SPELL_DEVASTATE, false);
|
||||
events.RepeatEvent(9000);
|
||||
events.Repeat(9s);
|
||||
break;
|
||||
case EVENT_CM_CAPTAIN_HC:
|
||||
me->CastSpell(me->GetVictim(), SPELL_HEROIC_STRIKE, false);
|
||||
events.RepeatEvent(5000);
|
||||
events.Repeat(5s);
|
||||
break;
|
||||
case EVENT_JB_ACID_BREATH:
|
||||
me->CastSpell(me->GetVictim(), SPELL_ACID_BREATH, false);
|
||||
events.RepeatEvent(12000);
|
||||
events.Repeat(12s);
|
||||
break;
|
||||
case EVENT_JB_SWEEP:
|
||||
me->CastSpell(me->GetVictim(), SPELL_SWEEP, false);
|
||||
events.RepeatEvent(5000);
|
||||
events.Repeat(5s);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1252,20 +1252,20 @@ public:
|
||||
{
|
||||
if (me->GetEntry() == NPC_IRON_RING_GUARD)
|
||||
{
|
||||
events.ScheduleEvent(EVENT_IR_GUARD_IMPALE, 12000);
|
||||
events.ScheduleEvent(EVENT_IR_GUARD_WHIRL, 5000);
|
||||
events.ScheduleEvent(EVENT_IR_GUARD_IMPALE, 12s);
|
||||
events.ScheduleEvent(EVENT_IR_GUARD_WHIRL, 5s);
|
||||
}
|
||||
else if (me->GetEntry() == NPC_DARK_RUNE_ACOLYTE_I)
|
||||
{
|
||||
events.ScheduleEvent(EVENT_DR_ACOLYTE_GH, 10000);
|
||||
events.ScheduleEvent(EVENT_DR_ACOLYTE_HS, 5000);
|
||||
events.ScheduleEvent(EVENT_DR_ACOLYTE_R, 7000);
|
||||
events.ScheduleEvent(EVENT_DR_ACOLYTE_GH, 10s);
|
||||
events.ScheduleEvent(EVENT_DR_ACOLYTE_HS, 5s);
|
||||
events.ScheduleEvent(EVENT_DR_ACOLYTE_R, 7s);
|
||||
}
|
||||
else if (me->GetEntry() == NPC_IRON_HONOR_GUARD)
|
||||
{
|
||||
events.ScheduleEvent(EVENT_IH_GUARD_CLEAVE, 6000);
|
||||
events.ScheduleEvent(EVENT_IH_GUARD_HAMSTRING, 9000);
|
||||
events.ScheduleEvent(EVENT_IH_GUARD_SHIELD_SMASH, 15000);
|
||||
events.ScheduleEvent(EVENT_IH_GUARD_CLEAVE, 6s);
|
||||
events.ScheduleEvent(EVENT_IH_GUARD_HAMSTRING, 9s);
|
||||
events.ScheduleEvent(EVENT_IH_GUARD_SHIELD_SMASH, 15s);
|
||||
|
||||
if (Creature* runeGiant = me->FindNearestCreature(NPC_ANCIENT_RUNE_GIANT, 200.0f))
|
||||
runeGiant->AI()->DoAction(ACTION_IRON_HONOR_DIED);
|
||||
@@ -1287,42 +1287,42 @@ public:
|
||||
{
|
||||
case EVENT_IR_GUARD_IMPALE:
|
||||
me->CastSpell(me->GetVictim(), SPELL_IMPALE, false);
|
||||
events.RepeatEvent(12000);
|
||||
events.Repeat(12s);
|
||||
break;
|
||||
case EVENT_IR_GUARD_WHIRL:
|
||||
me->CastSpell(me->GetVictim(), SPELL_WHIRLING_TRIP, false);
|
||||
events.RepeatEvent(5000);
|
||||
events.Repeat(5s);
|
||||
break;
|
||||
case EVENT_DR_ACOLYTE_GH:
|
||||
if (HealthBelowPct(60))
|
||||
me->CastSpell(me, SPELL_GREATER_HEAL, false);
|
||||
else if (Unit* target = DoSelectLowestHpFriendly(60.0f, 20))
|
||||
me->CastSpell(target, SPELL_GREATER_HEAL, false);
|
||||
events.RepeatEvent(10000);
|
||||
events.Repeat(10s);
|
||||
break;
|
||||
case EVENT_DR_ACOLYTE_HS:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||
me->CastSpell(target, SPELL_HOLY_SMITE, false);
|
||||
events.RepeatEvent(1600);
|
||||
events.Repeat(1600ms);
|
||||
break;
|
||||
case EVENT_DR_ACOLYTE_R:
|
||||
if (HealthBelowPct(75) && !me->HasAura(SPELL_RENEW))
|
||||
me->CastSpell(me, SPELL_GREATER_HEAL, false);
|
||||
else if (Unit* target = DoSelectLowestHpFriendly(60.0f, 10))
|
||||
me->CastSpell(target, SPELL_RENEW, false);
|
||||
events.RepeatEvent(7000);
|
||||
events.Repeat(7s);
|
||||
break;
|
||||
case EVENT_IH_GUARD_CLEAVE:
|
||||
me->CastSpell(me->GetVictim(), SPELL_CLEAVE, false);
|
||||
events.RepeatEvent(6000);
|
||||
events.Repeat(6s);
|
||||
break;
|
||||
case EVENT_IH_GUARD_HAMSTRING:
|
||||
me->CastSpell(me->GetVictim(), SPELL_HAMSTRING, false);
|
||||
events.RepeatEvent(9000);
|
||||
events.Repeat(9s);
|
||||
break;
|
||||
case EVENT_IH_GUARD_SHIELD_SMASH:
|
||||
me->CastSpell(me->GetVictim(), SPELL_SHIELD_SMASH, false);
|
||||
events.RepeatEvent(15000);
|
||||
events.Repeat(15s);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1358,7 +1358,7 @@ public:
|
||||
_leftHand = false;
|
||||
_checkTarget = false;
|
||||
events.Reset();
|
||||
events.ScheduleEvent(EVENT_RC_RUNIC_SMASH, 0);
|
||||
events.ScheduleEvent(EVENT_RC_RUNIC_SMASH, 0ms);
|
||||
Creature* c;
|
||||
|
||||
if ((c = me->SummonCreature(33140, 2221, -385, me->GetPositionZ())))
|
||||
@@ -1387,9 +1387,9 @@ public:
|
||||
void JustEngagedWith(Unit*) override
|
||||
{
|
||||
events.CancelEvent(EVENT_RC_RUNIC_SMASH);
|
||||
events.ScheduleEvent(EVENT_RC_RUNIC_BARRIER, 10000);
|
||||
events.ScheduleEvent(EVENT_RC_SMASH, 18000);
|
||||
events.ScheduleEvent(EVENT_RC_CHARGE, 15000);
|
||||
events.ScheduleEvent(EVENT_RC_RUNIC_BARRIER, 10s);
|
||||
events.ScheduleEvent(EVENT_RC_SMASH, 18s);
|
||||
events.ScheduleEvent(EVENT_RC_CHARGE, 15s);
|
||||
|
||||
me->InterruptNonMeleeSpells(false);
|
||||
_checkTarget = true;
|
||||
@@ -1400,7 +1400,7 @@ public:
|
||||
if (spellInfo->Id == SPELL_RUNIC_SMASH_LEFT || spellInfo->Id == SPELL_RUNIC_SMASH_RIGHT)
|
||||
{
|
||||
_leftHand = spellInfo->Id == SPELL_RUNIC_SMASH_LEFT;
|
||||
events.RescheduleEvent(EVENT_RC_RUNIC_SMASH_TRIGGER, 1000);
|
||||
events.RescheduleEvent(EVENT_RC_RUNIC_SMASH_TRIGGER, 1s);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1437,7 +1437,7 @@ public:
|
||||
_nextTriggerPos += 16.0f;
|
||||
if (_nextTriggerPos <= -260.0f)
|
||||
{
|
||||
events.RescheduleEvent(EVENT_RC_RUNIC_SMASH_TRIGGER, 500);
|
||||
events.RescheduleEvent(EVENT_RC_RUNIC_SMASH_TRIGGER, 500ms);
|
||||
}
|
||||
|
||||
RunRunicSmash(true);
|
||||
@@ -1450,21 +1450,21 @@ public:
|
||||
|
||||
_nextTriggerPos = -385.0f;
|
||||
RunRunicSmash(false);
|
||||
events.RepeatEvent(11000);
|
||||
events.Repeat(11s);
|
||||
break;
|
||||
case EVENT_RC_RUNIC_BARRIER:
|
||||
me->CastSpell(me, SPELL_RUNIC_BARRIER, false);
|
||||
Talk(SAY_COLOSSUS_RUNIC_BARRIER);
|
||||
events.RepeatEvent(20000);
|
||||
events.Repeat(20s);
|
||||
break;
|
||||
case EVENT_RC_SMASH:
|
||||
me->CastSpell(me->GetVictim(), SPELL_SMASH, false);
|
||||
events.RepeatEvent(10000);
|
||||
events.Repeat(10s);
|
||||
break;
|
||||
case EVENT_RC_CHARGE:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||
me->CastSpell(target, SPELL_CHARGE, false);
|
||||
events.RepeatEvent(15000);
|
||||
events.Repeat(15s);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1500,8 +1500,8 @@ public:
|
||||
{
|
||||
_isInCombat = true;
|
||||
events.CancelEvent(EVENT_ARG_SPAWN);
|
||||
events.ScheduleEvent(EVENT_ARG_RD, 12000);
|
||||
events.ScheduleEvent(EVENT_ARG_STOMP, 8000);
|
||||
events.ScheduleEvent(EVENT_ARG_RD, 12s);
|
||||
events.ScheduleEvent(EVENT_ARG_STOMP, 8s);
|
||||
|
||||
me->CastSpell(me, SPELL_RUNIC_FORTIFICATION, false);
|
||||
Talk(SAY_GIANT_RUNIC_MIGHT);
|
||||
@@ -1522,7 +1522,7 @@ public:
|
||||
void DoAction(int32 param) override
|
||||
{
|
||||
if (param == ACTION_IRON_HONOR_DIED)
|
||||
events.RescheduleEvent(EVENT_ARG_SPAWN, 20000);
|
||||
events.RescheduleEvent(EVENT_ARG_SPAWN, 20s);
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff) override
|
||||
@@ -1539,17 +1539,17 @@ public:
|
||||
case EVENT_ARG_RD:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||
me->CastSpell(target, SPELL_RUNE_DETONATION, false);
|
||||
events.RepeatEvent(12000);
|
||||
events.Repeat(12s);
|
||||
break;
|
||||
case EVENT_ARG_STOMP:
|
||||
me->CastSpell(me->GetVictim(), SPELL_STOMP, false);
|
||||
events.RepeatEvent(8000);
|
||||
events.Repeat(8s);
|
||||
break;
|
||||
case EVENT_ARG_SPAWN:
|
||||
if (Creature* cr = me->SummonCreature(NPC_IRON_HONOR_GUARD, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 20000))
|
||||
if (Unit* target = SelectTargetFromPlayerList(150.0f))
|
||||
cr->AI()->AttackStart(target);
|
||||
events.RepeatEvent(10000);
|
||||
events.Repeat(10s);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1587,24 +1587,24 @@ public:
|
||||
{
|
||||
if (me->GetEntry() == NPC_DARK_RUNE_WARBRINGER)
|
||||
{
|
||||
events.ScheduleEvent(EVENT_DR_WARBRINGER_RS, 8000);
|
||||
events.ScheduleEvent(EVENT_DR_WARBRINGER_RS, 8s);
|
||||
}
|
||||
else if (me->GetEntry() == NPC_DARK_RUNE_EVOKER)
|
||||
{
|
||||
events.ScheduleEvent(EVENT_DR_EVOKER_RL, 2500);
|
||||
events.ScheduleEvent(EVENT_DR_EVOKER_RM, 4000);
|
||||
events.ScheduleEvent(EVENT_DR_EVOKER_RS, 10000);
|
||||
events.ScheduleEvent(EVENT_DR_EVOKER_RL, 2500ms);
|
||||
events.ScheduleEvent(EVENT_DR_EVOKER_RM, 4s);
|
||||
events.ScheduleEvent(EVENT_DR_EVOKER_RS, 10s);
|
||||
}
|
||||
else if (me->GetEntry() == NPC_DARK_RUNE_CHAMPION)
|
||||
{
|
||||
events.ScheduleEvent(EVENT_DR_CHAMPION_WH, 6000);
|
||||
events.ScheduleEvent(EVENT_DR_CHAMPION_CH, 12000);
|
||||
events.ScheduleEvent(EVENT_DR_CHAMPION_MS, 8000);
|
||||
events.ScheduleEvent(EVENT_DR_CHAMPION_WH, 6s);
|
||||
events.ScheduleEvent(EVENT_DR_CHAMPION_CH, 12s);
|
||||
events.ScheduleEvent(EVENT_DR_CHAMPION_MS, 8s);
|
||||
}
|
||||
else if (me->GetEntry() == NPC_DARK_RUNE_COMMONER)
|
||||
{
|
||||
events.ScheduleEvent(EVENT_DR_COMMONER_LB, 5000);
|
||||
events.ScheduleEvent(EVENT_DR_COMMONER_PM, 6000);
|
||||
events.ScheduleEvent(EVENT_DR_COMMONER_LB, 5s);
|
||||
events.ScheduleEvent(EVENT_DR_COMMONER_PM, 6s);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1656,45 +1656,45 @@ public:
|
||||
{
|
||||
case EVENT_DR_WARBRINGER_RS:
|
||||
me->CastSpell(me->GetVictim(), SPELL_RUNIC_STRIKE, false);
|
||||
events.RepeatEvent(8000);
|
||||
events.Repeat(8s);
|
||||
break;
|
||||
case EVENT_DR_EVOKER_RL:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||
me->CastSpell(target, SPELL_RUNIC_LIGHTNING, false);
|
||||
events.RepeatEvent(2500);
|
||||
events.Repeat(2500ms);
|
||||
break;
|
||||
case EVENT_DR_EVOKER_RM:
|
||||
if (Unit* target = DoSelectLowestHpFriendly(40.0f, 15))
|
||||
me->CastSpell(target, SPELL_RUNIC_MENDING, false);
|
||||
else
|
||||
me->CastSpell(me, SPELL_RUNIC_MENDING, false);
|
||||
events.RepeatEvent(4000);
|
||||
events.Repeat(4s);
|
||||
break;
|
||||
case EVENT_DR_EVOKER_RS:
|
||||
me->CastSpell(me, SPELL_RUNIC_SHIELD, false);
|
||||
events.RepeatEvent(10000);
|
||||
events.Repeat(10s);
|
||||
break;
|
||||
case EVENT_DR_CHAMPION_CH:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
|
||||
me->CastSpell(target, SPELL_CHARGE, false);
|
||||
events.RepeatEvent(12000);
|
||||
events.Repeat(12s);
|
||||
break;
|
||||
case EVENT_DR_CHAMPION_WH:
|
||||
if (!me->HasUnitFlag(UNIT_FLAG_DISARMED))
|
||||
me->CastSpell(me, SPELL_WHIRLWIND, false);
|
||||
events.RepeatEvent(6000);
|
||||
events.Repeat(6s);
|
||||
break;
|
||||
case EVENT_DR_CHAMPION_MS:
|
||||
me->CastSpell(me->GetVictim(), SPELL_MORTAL_STRIKE, false);
|
||||
events.RepeatEvent(8000);
|
||||
events.Repeat(8s);
|
||||
break;
|
||||
case EVENT_DR_COMMONER_LB:
|
||||
me->CastSpell(me->GetVictim(), SPELL_LOW_BLOW, false);
|
||||
events.RepeatEvent(5000);
|
||||
events.Repeat(5s);
|
||||
break;
|
||||
case EVENT_DR_COMMONER_PM:
|
||||
me->CastSpell(me->GetVictim(), SPELL_PUMMEL, false);
|
||||
events.RepeatEvent(6000);
|
||||
events.Repeat(6s);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -148,10 +148,10 @@ public:
|
||||
|
||||
void RescheduleEvents()
|
||||
{
|
||||
events.RescheduleEvent(EVENT_GRAVITY_BOMB, 1000, 1);
|
||||
events.RescheduleEvent(EVENT_TYMPANIC_TANTARUM, 60000, 1);
|
||||
events.RescheduleEvent(EVENT_GRAVITY_BOMB, 1s, 1);
|
||||
events.RescheduleEvent(EVENT_TYMPANIC_TANTARUM, 1min, 1);
|
||||
if (!_hardMode)
|
||||
events.RescheduleEvent(EVENT_HEALTH_CHECK, 2000, 1);
|
||||
events.RescheduleEvent(EVENT_HEALTH_CHECK, 2s, 1);
|
||||
}
|
||||
|
||||
void Reset() override
|
||||
@@ -201,8 +201,8 @@ public:
|
||||
void JustEngagedWith(Unit*) override
|
||||
{
|
||||
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE);
|
||||
events.ScheduleEvent(EVENT_ENRAGE, 600000, 0, 0);
|
||||
events.ScheduleEvent(EVENT_CHECK_ROOM, 5000, 0, 0);
|
||||
events.ScheduleEvent(EVENT_ENRAGE, 10min, 0, 0);
|
||||
events.ScheduleEvent(EVENT_CHECK_ROOM, 5s, 0, 0);
|
||||
RescheduleEvents(); // Other events are scheduled here
|
||||
|
||||
me->setActive(true);
|
||||
@@ -272,7 +272,7 @@ public:
|
||||
me->CastSpell(me, SPELL_HEARTBREAK, true);
|
||||
|
||||
Talk(EMOTE_HEART_CLOSED);
|
||||
events.ScheduleEvent(EVENT_REMOVE_EMOTE, 4000);
|
||||
events.ScheduleEvent(EVENT_REMOVE_EMOTE, 4s);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -324,13 +324,13 @@ public:
|
||||
Talk(SAY_HEART_OPENED);
|
||||
|
||||
events.CancelEventGroup(1);
|
||||
events.ScheduleEvent(EVENT_START_SECOND_PHASE, 5000);
|
||||
events.ScheduleEvent(EVENT_START_SECOND_PHASE, 5s);
|
||||
return;
|
||||
}
|
||||
events.RepeatEvent(1000);
|
||||
events.Repeat(1s);
|
||||
break;
|
||||
case EVENT_CHECK_ROOM:
|
||||
events.RepeatEvent(5000);
|
||||
events.Repeat(5s);
|
||||
if (me->GetPositionX() < 722 || me->GetPositionX() > 987 || me->GetPositionY() < -139 || me->GetPositionY() > 124)
|
||||
EnterEvadeMode();
|
||||
|
||||
@@ -339,17 +339,17 @@ public:
|
||||
// Abilities events
|
||||
case EVENT_GRAVITY_BOMB:
|
||||
me->CastCustomSpell(SPELL_GRAVITY_BOMB, SPELLVALUE_MAX_TARGETS, 1, me, true);
|
||||
events.ScheduleEvent(EVENT_SEARING_LIGHT, 10000, 1);
|
||||
events.ScheduleEvent(EVENT_SEARING_LIGHT, 10s, 1);
|
||||
break;
|
||||
case EVENT_SEARING_LIGHT:
|
||||
me->CastCustomSpell(SPELL_SEARING_LIGHT, SPELLVALUE_MAX_TARGETS, 1, me, true);
|
||||
events.ScheduleEvent(EVENT_GRAVITY_BOMB, 10000, 1);
|
||||
events.ScheduleEvent(EVENT_GRAVITY_BOMB, 10s, 1);
|
||||
break;
|
||||
case EVENT_TYMPANIC_TANTARUM:
|
||||
Talk(EMOTE_TYMPANIC_TANTRUM);
|
||||
Talk(SAY_TYMPANIC_TANTRUM);
|
||||
me->CastSpell(me, SPELL_TYMPANIC_TANTARUM, true);
|
||||
events.RepeatEvent(60000);
|
||||
events.Repeat(1min);
|
||||
return;
|
||||
case EVENT_ENRAGE:
|
||||
Talk(SAY_BERSERK);
|
||||
@@ -363,7 +363,7 @@ public:
|
||||
if (Unit* heart = me->GetVehicleKit() ? me->GetVehicleKit()->GetPassenger(HEART_VEHICLE_SEAT) : nullptr)
|
||||
heart->GetAI()->DoAction(ACTION_AWAKEN_HEART);
|
||||
|
||||
events.ScheduleEvent(EVENT_RESTORE, 30000);
|
||||
events.ScheduleEvent(EVENT_RESTORE, 30s);
|
||||
return;
|
||||
// Restore from heartbreak
|
||||
case EVENT_RESTORE:
|
||||
@@ -379,7 +379,7 @@ public:
|
||||
if (Unit* heart = me->GetVehicleKit() ? me->GetVehicleKit()->GetPassenger(HEART_VEHICLE_SEAT) : nullptr)
|
||||
heart->GetAI()->DoAction(ACTION_HIDE_HEART);
|
||||
|
||||
events.ScheduleEvent(EVENT_REMOVE_EMOTE, 4000);
|
||||
events.ScheduleEvent(EVENT_REMOVE_EMOTE, 4s);
|
||||
return;
|
||||
case EVENT_REMOVE_EMOTE:
|
||||
me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE);
|
||||
|
||||
@@ -479,9 +479,9 @@ public:
|
||||
|
||||
SaveKeepers();
|
||||
|
||||
events.ScheduleEvent(EVENT_SARA_P1_DOORS_CLOSE, 15000, 0, EVENT_PHASE_ONE);
|
||||
events.ScheduleEvent(EVENT_SARA_P1_BERSERK, 900000, 0, 0);
|
||||
events.ScheduleEvent(EVENT_SARA_P1_SUMMON, 0, 0, EVENT_PHASE_ONE);
|
||||
events.ScheduleEvent(EVENT_SARA_P1_DOORS_CLOSE, 15s, 0, EVENT_PHASE_ONE);
|
||||
events.ScheduleEvent(EVENT_SARA_P1_BERSERK, 15min, 0, 0);
|
||||
events.ScheduleEvent(EVENT_SARA_P1_SUMMON, 0ms, 0, EVENT_PHASE_ONE);
|
||||
events.SetPhase(EVENT_PHASE_ONE);
|
||||
|
||||
me->Yell("The time to strike at the head of the beast will soon be upon us! Focus your anger and hatred on his minions!", LANG_UNIVERSAL);
|
||||
@@ -766,7 +766,7 @@ public:
|
||||
EntryCheckPredicate pred(NPC_YOGG_SARON);
|
||||
summons.DoAction(ACTION_YOGG_SARON_START_YELL, pred);
|
||||
_p2TalkTimer = 0;
|
||||
events.ScheduleEvent(EVENT_SARA_P2_START, 500, 0, EVENT_PHASE_TWO);
|
||||
events.ScheduleEvent(EVENT_SARA_P2_START, 500ms, 0, EVENT_PHASE_TWO);
|
||||
}
|
||||
return;
|
||||
}
|
||||
@@ -785,7 +785,7 @@ public:
|
||||
if (GameObject* go = ObjectAccessor::GetGameObject(*me, m_pInstance->GetGuidData(GO_YOGG_SARON_DOORS)))
|
||||
go->SetGoState(GO_STATE_READY);
|
||||
|
||||
events.ScheduleEvent(EVENT_SARA_P1_SPELLS, 0, 1, EVENT_PHASE_ONE);
|
||||
events.ScheduleEvent(EVENT_SARA_P1_SPELLS, 0ms, 1, EVENT_PHASE_ONE);
|
||||
break;
|
||||
case EVENT_SARA_P1_SUMMON:
|
||||
events.RepeatEvent(20000 - (std::min(_summonedGuardiansCount, (uint8)5) * 2000));
|
||||
@@ -812,16 +812,16 @@ public:
|
||||
}
|
||||
case EVENT_SARA_P2_MALADY:
|
||||
me->CastCustomSpell(SPELL_MALADY_OF_THE_MIND, SPELLVALUE_MAX_TARGETS, 1, me, false);
|
||||
events.RepeatEvent(20000);
|
||||
events.Repeat(20s);
|
||||
break;
|
||||
case EVENT_SARA_P2_PSYCHOSIS:
|
||||
SpellSounds();
|
||||
me->CastCustomSpell(SPELL_PSYCHOSIS, SPELLVALUE_MAX_TARGETS, 1, me, false);
|
||||
events.RepeatEvent(3500);
|
||||
events.Repeat(3500ms);
|
||||
break;
|
||||
case EVENT_SARA_P2_DEATH_RAY:
|
||||
SummonDeathOrbs();
|
||||
events.RepeatEvent(20000);
|
||||
events.Repeat(20s);
|
||||
break;
|
||||
case EVENT_SARA_P2_SUMMON_T1: // CRUSHER
|
||||
SpawnTentacle(NPC_CRUSHER_TENTACLE);
|
||||
@@ -837,14 +837,14 @@ public:
|
||||
break;
|
||||
case EVENT_SARA_P2_BRAIN_LINK:
|
||||
me->CastCustomSpell(SPELL_BRAIN_LINK, SPELLVALUE_MAX_TARGETS, 1, me, false);
|
||||
events.RepeatEvent(30000);
|
||||
events.Repeat(30s);
|
||||
break;
|
||||
case EVENT_SARA_P2_OPEN_PORTALS:
|
||||
{
|
||||
AddPortals();
|
||||
EntryCheckPredicate pred(NPC_YOGG_SARON);
|
||||
summons.DoAction(ACTION_YOGG_SARON_OPEN_PORTAL_YELL, pred);
|
||||
events.RepeatEvent(80000);
|
||||
events.Repeat(80s);
|
||||
break;
|
||||
}
|
||||
case EVENT_SARA_P2_REMOVE_STUN:
|
||||
@@ -865,18 +865,18 @@ public:
|
||||
SpawnTentacle(NPC_CORRUPTOR_TENTACLE);
|
||||
SpawnTentacle(NPC_CORRUPTOR_TENTACLE);
|
||||
|
||||
events.ScheduleEvent(EVENT_SARA_P2_MALADY, 7000, 0, EVENT_PHASE_TWO);
|
||||
events.ScheduleEvent(EVENT_SARA_P2_PSYCHOSIS, 3000, 0, EVENT_PHASE_TWO);
|
||||
events.ScheduleEvent(EVENT_SARA_P2_DEATH_RAY, 15000, 0, EVENT_PHASE_TWO);
|
||||
events.ScheduleEvent(EVENT_SARA_P2_SUMMON_T1, 50000 + urand(0, 10000), 0, EVENT_PHASE_TWO);
|
||||
events.ScheduleEvent(EVENT_SARA_P2_SUMMON_T2, 15000 + urand(0, 5000), 0, EVENT_PHASE_TWO);
|
||||
events.ScheduleEvent(EVENT_SARA_P2_MALADY, 7s, 0, EVENT_PHASE_TWO);
|
||||
events.ScheduleEvent(EVENT_SARA_P2_PSYCHOSIS, 3s, 0, EVENT_PHASE_TWO);
|
||||
events.ScheduleEvent(EVENT_SARA_P2_DEATH_RAY, 15s, 0, EVENT_PHASE_TWO);
|
||||
events.ScheduleEvent(EVENT_SARA_P2_SUMMON_T1, 50s, 60s, 0, EVENT_PHASE_TWO);
|
||||
events.ScheduleEvent(EVENT_SARA_P2_SUMMON_T2, 15s, 20s, 0, EVENT_PHASE_TWO);
|
||||
events.ScheduleEvent(EVENT_SARA_P2_SUMMON_T3, 30000 + urand(0, 10000), 0, EVENT_PHASE_TWO);
|
||||
events.ScheduleEvent(EVENT_SARA_P2_BRAIN_LINK, 0, 0, EVENT_PHASE_TWO);
|
||||
events.ScheduleEvent(EVENT_SARA_P2_OPEN_PORTALS, 60000, 0, EVENT_PHASE_TWO);
|
||||
break;
|
||||
case EVENT_SARA_P1_BERSERK:
|
||||
me->CastSpell(me, SPELL_EXTINGUISH_ALL_LIFE, true);
|
||||
events.RepeatEvent(5000);
|
||||
events.Repeat(5s);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -1184,22 +1184,22 @@ public:
|
||||
me->Yell("Hoohehehahahaha... AHAHAHAHAHAHA!", LANG_UNIVERSAL);
|
||||
me->PlayDirectSound(YS_P3_LUNATIC_GAZE);
|
||||
me->CastSpell(me, SPELL_LUNATIC_GAZE_YS, true);
|
||||
events.RepeatEvent(12000);
|
||||
events.Repeat(12s);
|
||||
break;
|
||||
case EVENT_YS_DEAFENING_ROAR:
|
||||
me->TextEmote("Yogg-Saron opens his mouth wide!", nullptr, true);
|
||||
me->Yell("Eternal suffering awaits!", LANG_UNIVERSAL);
|
||||
me->PlayDirectSound(YS_P3_DEAFENING_ROAR);
|
||||
me->CastSpell(me, SPELL_DEAFENING_ROAR, false);
|
||||
events.RepeatEvent(50000);
|
||||
events.Repeat(50s);
|
||||
break;
|
||||
case EVENT_YS_SHADOW_BEACON:
|
||||
events.RepeatEvent(5000);
|
||||
events.Repeat(5s);
|
||||
me->CastCustomSpell(SPELL_SHADOW_BEACON, SPELLVALUE_MAX_TARGETS, RAID_MODE(1, 3), me, false);
|
||||
break;
|
||||
case EVENT_YS_SUMMON_GUARDIAN:
|
||||
SummonImmortalGuardian();
|
||||
events.RepeatEvent(10000);
|
||||
events.Repeat(10s);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -180,7 +180,7 @@ public:
|
||||
|
||||
if (m_algalonTimer <= 60)
|
||||
{
|
||||
_events.RescheduleEvent(EVENT_UPDATE_ALGALON_TIMER, 60000);
|
||||
_events.RescheduleEvent(EVENT_UPDATE_ALGALON_TIMER, 1min);
|
||||
algalon->AI()->DoAction(ACTION_INIT_ALGALON);
|
||||
}
|
||||
else // if (m_algalonTimer = TIMER_ALGALON_TO_SUMMON)
|
||||
@@ -750,7 +750,7 @@ public:
|
||||
DoUpdateWorldState(WORLD_STATE_ALGALON_TIMER_ENABLED, 1);
|
||||
DoUpdateWorldState(WORLD_STATE_ALGALON_DESPAWN_TIMER, 60);
|
||||
m_algalonTimer = 60;
|
||||
_events.RescheduleEvent(EVENT_UPDATE_ALGALON_TIMER, 60000);
|
||||
_events.RescheduleEvent(EVENT_UPDATE_ALGALON_TIMER, 1min);
|
||||
SaveToDB();
|
||||
return;
|
||||
case DATA_ALGALON_SUMMON_STATE:
|
||||
@@ -1126,7 +1126,7 @@ public:
|
||||
DoUpdateWorldState(WORLD_STATE_ALGALON_DESPAWN_TIMER, --m_algalonTimer);
|
||||
if (m_algalonTimer)
|
||||
{
|
||||
_events.RepeatEvent(60000);
|
||||
_events.Repeat(1min);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -233,9 +233,9 @@ public:
|
||||
void JustEngagedWith(Unit* /*who*/) override
|
||||
{
|
||||
events.Reset();
|
||||
events.ScheduleEvent(1, 2000); // checking Separation Anxiety, Charged Sphere
|
||||
events.ScheduleEvent(2, urand(5000, 8000)); // Forked Lightning
|
||||
events.ScheduleEvent(3, (me->GetEntry() == 33722 ? 20000 : 50000)); // Summon Charged Sphere
|
||||
events.ScheduleEvent(1, 2s); // checking Separation Anxiety, Charged Sphere
|
||||
events.ScheduleEvent(2, 5s, 8s); // Forked Lightning
|
||||
events.ScheduleEvent(3, (me->GetEntry() == 33722 ? 20s : 50s)); // Summon Charged Sphere
|
||||
if (Creature* c = me->FindNearestCreature((me->GetEntry() == 33722 ? 33699 : 33722), 30.0f, true))
|
||||
otherGUID = c->GetGUID();
|
||||
else
|
||||
@@ -276,16 +276,16 @@ public:
|
||||
if (c->IsSummon())
|
||||
if (c->ToTempSummon()->GetSummonerGUID() != me->GetGUID())
|
||||
me->CastSpell(me, 63528, true);
|
||||
events.RepeatEvent(2000);
|
||||
events.Repeat(2s);
|
||||
break;
|
||||
case 2:
|
||||
me->CastSpell(me->GetVictim(), 63541, false);
|
||||
events.RepeatEvent(urand(10000, 14000));
|
||||
events.Repeat(10s, 14s);
|
||||
break;
|
||||
case 3:
|
||||
if (!me->HasAura(63630))
|
||||
me->CastSpell(me, 63527, false);
|
||||
events.RepeatEvent(60000);
|
||||
events.Repeat(1min);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -318,9 +318,9 @@ public:
|
||||
void Reset() override
|
||||
{
|
||||
events.Reset();
|
||||
events.ScheduleEvent(1, urand(5000, 8000)); // Flame Spray
|
||||
events.ScheduleEvent(2, urand(3000, 6000)); // Machine Gun
|
||||
events.ScheduleEvent(3, 1000); // Charged Leap
|
||||
events.ScheduleEvent(1, 5s, 8s); // Flame Spray
|
||||
events.ScheduleEvent(2, 3s, 6s); // Machine Gun
|
||||
events.ScheduleEvent(3, 1s); // Charged Leap
|
||||
}
|
||||
|
||||
void PassengerBoarded(Unit* p, int8 /*seat*/, bool /*apply*/) override
|
||||
@@ -383,11 +383,11 @@ public:
|
||||
break;
|
||||
case 1:
|
||||
me->CastSpell(me->GetVictim(), RAID_MODE(64717, 65241), false);
|
||||
events.RepeatEvent(urand(15000, 25000));
|
||||
events.Repeat(15s, 25s);
|
||||
break;
|
||||
case 2:
|
||||
me->CastSpell(me->GetVictim(), RAID_MODE(64776, 65240), false);
|
||||
events.RepeatEvent(urand(10000, 15000));
|
||||
events.Repeat(10s, 15s);
|
||||
break;
|
||||
case 3:
|
||||
{
|
||||
@@ -395,10 +395,10 @@ public:
|
||||
if (dist > 10.0f && dist < 40.0f)
|
||||
{
|
||||
me->CastSpell(me->GetVictim(), 64779, false);
|
||||
events.RepeatEvent(25000);
|
||||
events.Repeat(25s);
|
||||
}
|
||||
else
|
||||
events.RepeatEvent(3000);
|
||||
events.Repeat(3s);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user