mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-29 16:43:47 +00:00
refactor(Scripts/Northrend): conversion to std::chrono (#15269)
Co-authored-by: Maelthyrr <maelthyrr@users.noreply.github.com>
This commit is contained in:
@@ -96,9 +96,9 @@ public:
|
||||
|
||||
DoZoneInCombat();
|
||||
events.Reset();
|
||||
events.RescheduleEvent(EVENT_SPELL_SHADOW_BOLT, 2000);
|
||||
events.RescheduleEvent(EVENT_SPELL_MAGICS_BANE, urand(5000, 10000));
|
||||
events.RescheduleEvent(EVENT_SPELL_CORRUPT_SOUL, urand(14000, 20000));
|
||||
events.RescheduleEvent(EVENT_SPELL_SHADOW_BOLT, 2s);
|
||||
events.RescheduleEvent(EVENT_SPELL_MAGICS_BANE, 5s, 10s);
|
||||
events.RescheduleEvent(EVENT_SPELL_CORRUPT_SOUL, 14s, 20s);
|
||||
|
||||
if (pInstance)
|
||||
pInstance->SetData(DATA_BRONJAHM, IN_PROGRESS);
|
||||
@@ -114,7 +114,7 @@ public:
|
||||
me->CastSpell(me, SPELL_TELEPORT, false);
|
||||
events.CancelEvent(EVENT_SPELL_CORRUPT_SOUL);
|
||||
events.DelayEvents(6000);
|
||||
events.RescheduleEvent(EVENT_SPELL_FEAR, urand(8000, 14000));
|
||||
events.RescheduleEvent(EVENT_SPELL_FEAR, 8s, 14s);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -123,7 +123,7 @@ public:
|
||||
if (spell->Id == SPELL_TELEPORT)
|
||||
{
|
||||
me->CastSpell(me, SPELL_TELEPORT_VISUAL, true);
|
||||
events.RescheduleEvent(EVENT_START_SOULSTORM, 1);
|
||||
events.RescheduleEvent(EVENT_START_SOULSTORM, 1ms);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -148,16 +148,16 @@ public:
|
||||
case EVENT_SPELL_SHADOW_BOLT:
|
||||
if (!me->IsWithinMeleeRange(me->GetVictim()))
|
||||
me->CastSpell(me->GetVictim(), SPELL_SHADOW_BOLT, false);
|
||||
events.RepeatEvent(2000);
|
||||
events.Repeat(2s);
|
||||
break;
|
||||
case EVENT_SPELL_FEAR:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 10.0f, true))
|
||||
me->CastCustomSpell(SPELL_FEAR, SPELLVALUE_MAX_TARGETS, 1, target, false);
|
||||
events.RepeatEvent(urand(8000, 12000));
|
||||
events.Repeat(8s, 12s);
|
||||
break;
|
||||
case EVENT_SPELL_MAGICS_BANE:
|
||||
me->CastSpell(me->GetVictim(), SPELL_MAGICS_BANE, false);
|
||||
events.RepeatEvent(urand(10000, 15000));
|
||||
events.Repeat(10s, 15s);
|
||||
break;
|
||||
case EVENT_SPELL_CORRUPT_SOUL:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 100.0f, true))
|
||||
@@ -165,7 +165,7 @@ public:
|
||||
Talk(SAY_CORRUPT_SOUL);
|
||||
me->CastSpell(target, SPELL_CORRUPT_SOUL, false);
|
||||
}
|
||||
events.RepeatEvent(urand(20000, 25000));
|
||||
events.Repeat(20s, 25s);
|
||||
break;
|
||||
case EVENT_START_SOULSTORM:
|
||||
Talk(SAY_SOUL_STORM);
|
||||
|
||||
@@ -121,11 +121,11 @@ public:
|
||||
Talk(SAY_FACE_AGGRO);
|
||||
DoZoneInCombat();
|
||||
events.Reset();
|
||||
events.RescheduleEvent(EVENT_SPELL_PHANTOM_BLAST, 5000);
|
||||
events.RescheduleEvent(EVENT_SPELL_MIRRORED_SOUL, 9000);
|
||||
events.RescheduleEvent(EVENT_SPELL_WELL_OF_SOULS, urand(6000, 8000));
|
||||
events.RescheduleEvent(EVENT_SPELL_UNLEASHED_SOULS, urand(18000, 20000));
|
||||
events.RescheduleEvent(EVENT_SPELL_WAILING_SOULS, 65000);
|
||||
events.RescheduleEvent(EVENT_SPELL_PHANTOM_BLAST, 5s);
|
||||
events.RescheduleEvent(EVENT_SPELL_MIRRORED_SOUL, 9s);
|
||||
events.RescheduleEvent(EVENT_SPELL_WELL_OF_SOULS, 6s, 8s);
|
||||
events.RescheduleEvent(EVENT_SPELL_UNLEASHED_SOULS, 18s, 20s);
|
||||
events.RescheduleEvent(EVENT_SPELL_WAILING_SOULS, 65s);
|
||||
|
||||
if (pInstance)
|
||||
pInstance->SetData(DATA_DEVOURER, IN_PROGRESS);
|
||||
@@ -183,10 +183,10 @@ public:
|
||||
break;
|
||||
case EVENT_SPELL_PHANTOM_BLAST:
|
||||
me->CastSpell(me->GetVictim(), SPELL_PHANTOM_BLAST, false);
|
||||
events.RepeatEvent(5000);
|
||||
events.Repeat(5s);
|
||||
break;
|
||||
default:
|
||||
events.RepeatEvent(1000);
|
||||
events.Repeat(1s);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -209,7 +209,7 @@ public:
|
||||
break;
|
||||
case EVENT_SPELL_PHANTOM_BLAST:
|
||||
me->CastSpell(me->GetVictim(), SPELL_PHANTOM_BLAST, false);
|
||||
events.RepeatEvent(5000);
|
||||
events.Repeat(5s);
|
||||
break;
|
||||
case EVENT_SPELL_MIRRORED_SOUL:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 90.0f, true))
|
||||
@@ -218,19 +218,19 @@ public:
|
||||
me->setAttackTimer(BASE_ATTACK, 2500);
|
||||
Talk(EMOTE_MIRRORED_SOUL);
|
||||
}
|
||||
events.RepeatEvent(urand(20000, 30000));
|
||||
events.Repeat(20s, 30s);
|
||||
break;
|
||||
case EVENT_SPELL_WELL_OF_SOULS:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 40.0f, true))
|
||||
me->CastSpell(target, SPELL_WELL_OF_SOULS, false);
|
||||
events.RepeatEvent(urand(25000, 30000));
|
||||
events.Repeat(25s, 30s);
|
||||
events.DelayEventsToMax(4000, 0);
|
||||
break;
|
||||
case EVENT_SPELL_UNLEASHED_SOULS:
|
||||
me->CastSpell(me, SPELL_UNLEASHED_SOULS, false);
|
||||
Talk(SAY_FACE_UNLEASH_SOUL);
|
||||
Talk(EMOTE_UNLEASH_SOUL);
|
||||
events.RepeatEvent(urand(30000, 40000));
|
||||
events.Repeat(30s, 40s);
|
||||
events.DelayEventsToMax(5000, 0);
|
||||
me->setAttackTimer(BASE_ATTACK, 5500);
|
||||
break;
|
||||
@@ -239,7 +239,7 @@ public:
|
||||
Talk(EMOTE_WAILING_SOUL);
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 0.0f, true))
|
||||
me->CastCustomSpell(SPELL_WAILING_SOULS_TARGETING, SPELLVALUE_MAX_TARGETS, 1, target, false);
|
||||
events.RepeatEvent(80000);
|
||||
events.Repeat(80s);
|
||||
events.DelayEventsToMax(20000, 0);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -73,7 +73,7 @@ public:
|
||||
{
|
||||
me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
|
||||
events.Reset();
|
||||
events.ScheduleEvent(1, 1000);
|
||||
events.ScheduleEvent(1, 1s);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -89,12 +89,12 @@ public:
|
||||
if (me->GetEntry() == NPC_JAINA_PART1)
|
||||
{
|
||||
Talk(SAY_JAINA_INTRO_1);
|
||||
events.ScheduleEvent(2, 8000);
|
||||
events.ScheduleEvent(2, 8s);
|
||||
}
|
||||
else
|
||||
{
|
||||
Talk(SAY_SYLVANAS_INTRO_1);
|
||||
events.ScheduleEvent(2, 11500);
|
||||
events.ScheduleEvent(2, 11s + 500ms);
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
@@ -102,12 +102,12 @@ public:
|
||||
if (me->GetEntry() == NPC_JAINA_PART1)
|
||||
{
|
||||
Talk(SAY_JAINA_INTRO_2);
|
||||
events.ScheduleEvent(3, 9000);
|
||||
events.ScheduleEvent(3, 9s);
|
||||
}
|
||||
else
|
||||
{
|
||||
Talk(SAY_SYLVANAS_INTRO_2);
|
||||
events.ScheduleEvent(3, 10500);
|
||||
events.ScheduleEvent(3, 10s + 500ms);
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
@@ -115,12 +115,12 @@ public:
|
||||
if (me->GetEntry() == NPC_JAINA_PART1)
|
||||
{
|
||||
Talk(SAY_JAINA_INTRO_3);
|
||||
events.ScheduleEvent(4, 8000);
|
||||
events.ScheduleEvent(4, 8s);
|
||||
}
|
||||
else
|
||||
{
|
||||
Talk(SAY_SYLVANAS_INTRO_3);
|
||||
events.ScheduleEvent(4, 10500);
|
||||
events.ScheduleEvent(4, 10s + 500ms);
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
@@ -128,12 +128,12 @@ public:
|
||||
if (me->GetEntry() == NPC_JAINA_PART1)
|
||||
{
|
||||
Talk(SAY_JAINA_INTRO_4);
|
||||
events.ScheduleEvent(5, 10000);
|
||||
events.ScheduleEvent(5, 10s);
|
||||
}
|
||||
else
|
||||
{
|
||||
Talk(SAY_SYLVANAS_INTRO_4);
|
||||
events.ScheduleEvent(5, 11000);
|
||||
events.ScheduleEvent(5, 11s);
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
@@ -141,12 +141,12 @@ public:
|
||||
if (me->GetEntry() == NPC_JAINA_PART1)
|
||||
{
|
||||
Talk(SAY_JAINA_INTRO_5);
|
||||
events.ScheduleEvent(6, 8000);
|
||||
events.ScheduleEvent(6, 8s);
|
||||
}
|
||||
else
|
||||
{
|
||||
Talk(SAY_SYLVANAS_INTRO_5);
|
||||
events.ScheduleEvent(6, 9500);
|
||||
events.ScheduleEvent(6, 9500ms);
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
@@ -154,7 +154,7 @@ public:
|
||||
if (me->GetEntry() == NPC_JAINA_PART1)
|
||||
{
|
||||
Talk(SAY_JAINA_INTRO_6);
|
||||
events.ScheduleEvent(7, 12000);
|
||||
events.ScheduleEvent(7, 12s);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -166,7 +166,7 @@ public:
|
||||
if (me->GetEntry() == NPC_JAINA_PART1)
|
||||
{
|
||||
Talk(SAY_JAINA_INTRO_7);
|
||||
events.ScheduleEvent(8, 8000);
|
||||
events.ScheduleEvent(8, 8s);
|
||||
}
|
||||
break;
|
||||
case 8:
|
||||
|
||||
@@ -76,9 +76,9 @@ public:
|
||||
{
|
||||
me->SetImmuneToAll(false);
|
||||
|
||||
events.ScheduleEvent(EVENT_QUIVERING_STRIKE, 5000);
|
||||
events.ScheduleEvent(EVENT_IMPENDING_DESPAIR, 11000);
|
||||
events.ScheduleEvent(EVENT_DEFILING_HORROR, 20000);
|
||||
events.ScheduleEvent(EVENT_QUIVERING_STRIKE, 5s);
|
||||
events.ScheduleEvent(EVENT_IMPENDING_DESPAIR, 11s);
|
||||
events.ScheduleEvent(EVENT_DEFILING_HORROR, 20s);
|
||||
}
|
||||
|
||||
void DoAction(int32 a) override
|
||||
@@ -115,7 +115,7 @@ public:
|
||||
{
|
||||
case EVENT_QUIVERING_STRIKE:
|
||||
me->CastSpell(me->GetVictim(), SPELL_QUIVERING_STRIKE, false);
|
||||
events.ScheduleEvent(EVENT_QUIVERING_STRIKE, 5000);
|
||||
events.ScheduleEvent(EVENT_QUIVERING_STRIKE, 5s);
|
||||
break;
|
||||
case EVENT_IMPENDING_DESPAIR:
|
||||
if (Unit* target = SelectTargetFromPlayerList(45.0f, 0, true))
|
||||
@@ -123,15 +123,15 @@ public:
|
||||
Talk(SAY_IMPENDING_DESPAIR);
|
||||
me->CastSpell(target, SPELL_IMPENDING_DESPAIR, false);
|
||||
}
|
||||
events.ScheduleEvent(EVENT_IMPENDING_DESPAIR, 12000);
|
||||
events.ScheduleEvent(EVENT_IMPENDING_DESPAIR, 12s);
|
||||
break;
|
||||
case EVENT_DEFILING_HORROR:
|
||||
Talk(SAY_DEFILING_HORROR);
|
||||
me->CastSpell((Unit*)nullptr, SPELL_DEFILING_HORROR, false);
|
||||
me->SetControlled(true, UNIT_STATE_ROOT);
|
||||
events.DelayEventsToMax(5000, 0);
|
||||
events.ScheduleEvent(EVENT_UNROOT, 4000);
|
||||
events.ScheduleEvent(EVENT_DEFILING_HORROR, 20000);
|
||||
events.ScheduleEvent(EVENT_UNROOT, 4s);
|
||||
events.ScheduleEvent(EVENT_DEFILING_HORROR, 20s);
|
||||
break;
|
||||
case EVENT_UNROOT:
|
||||
me->SetControlled(false, UNIT_STATE_ROOT);
|
||||
|
||||
@@ -72,10 +72,10 @@ public:
|
||||
{
|
||||
me->SetImmuneToAll(false);
|
||||
|
||||
events.ScheduleEvent(EVENT_OBLITERATE, 15000);
|
||||
events.ScheduleEvent(EVENT_WELL_OF_CORRUPTION, 13000);
|
||||
events.ScheduleEvent(EVENT_CORRUPTED_FLESH, 20000);
|
||||
events.ScheduleEvent(EVENT_SHARED_SUFFERING, 5000);
|
||||
events.ScheduleEvent(EVENT_OBLITERATE, 15s);
|
||||
events.ScheduleEvent(EVENT_WELL_OF_CORRUPTION, 13s);
|
||||
events.ScheduleEvent(EVENT_CORRUPTED_FLESH, 20s);
|
||||
events.ScheduleEvent(EVENT_SHARED_SUFFERING, 5s);
|
||||
}
|
||||
|
||||
void DoAction(int32 a) override
|
||||
@@ -114,26 +114,26 @@ public:
|
||||
if (me->IsWithinMeleeRange(me->GetVictim()))
|
||||
{
|
||||
me->CastSpell(me->GetVictim(), SPELL_OBLITERATE, false);
|
||||
events.ScheduleEvent(EVENT_OBLITERATE, 15000);
|
||||
events.ScheduleEvent(EVENT_OBLITERATE, 15s);
|
||||
}
|
||||
else
|
||||
events.ScheduleEvent(EVENT_OBLITERATE, 3000);
|
||||
events.ScheduleEvent(EVENT_OBLITERATE, 3s);
|
||||
break;
|
||||
case EVENT_WELL_OF_CORRUPTION:
|
||||
Talk(SAY_CORRUPTED_WELL);
|
||||
if (Unit* target = SelectTargetFromPlayerList(40.0f, 0, true))
|
||||
me->CastSpell(target, SPELL_WELL_OF_CORRUPTION, false);
|
||||
events.ScheduleEvent(EVENT_WELL_OF_CORRUPTION, 13000);
|
||||
events.ScheduleEvent(EVENT_WELL_OF_CORRUPTION, 13s);
|
||||
break;
|
||||
case EVENT_CORRUPTED_FLESH:
|
||||
Talk(SAY_CORRUPTED_FLESH);
|
||||
me->CastSpell((Unit*)nullptr, SPELL_CORRUPTED_FLESH, false);
|
||||
events.ScheduleEvent(EVENT_CORRUPTED_FLESH, 20000);
|
||||
events.ScheduleEvent(EVENT_CORRUPTED_FLESH, 20s);
|
||||
break;
|
||||
case EVENT_SHARED_SUFFERING:
|
||||
if (Unit* target = SelectTargetFromPlayerList(200.0f, 0, true))
|
||||
me->CastSpell(target, SPELL_SHARED_SUFFERING, true);
|
||||
events.ScheduleEvent(EVENT_SHARED_SUFFERING, 15000);
|
||||
events.ScheduleEvent(EVENT_SHARED_SUFFERING, 15s);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -196,9 +196,9 @@ public:
|
||||
if (first)
|
||||
{
|
||||
first = false;
|
||||
events.ScheduleEvent(EVENT_PRE_INTRO_1, 10000);
|
||||
events.ScheduleEvent(EVENT_PRE_INTRO_2, 11000);
|
||||
events.ScheduleEvent(EVENT_PRE_INTRO_3, 17000);
|
||||
events.ScheduleEvent(EVENT_PRE_INTRO_1, 10s);
|
||||
events.ScheduleEvent(EVENT_PRE_INTRO_2, 11s);
|
||||
events.ScheduleEvent(EVENT_PRE_INTRO_3, 17s);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -207,10 +207,10 @@ public:
|
||||
switch(actionId)
|
||||
{
|
||||
case ACTION_START_INTRO:
|
||||
events.ScheduleEvent(EVENT_START_INTRO, 0);
|
||||
events.ScheduleEvent(EVENT_START_INTRO, 0ms);
|
||||
break;
|
||||
case ACTION_SKIP_INTRO:
|
||||
events.ScheduleEvent(EVENT_SKIP_INTRO, 0);
|
||||
events.ScheduleEvent(EVENT_SKIP_INTRO, 0ms);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -247,9 +247,9 @@ public:
|
||||
c->GetMotionMaster()->MovePoint(0, LoralenFollowPos);
|
||||
// Begining of intro is differents between factions as the speech sequence and timers are differents.
|
||||
if (me->GetEntry() == NPC_JAINA_PART1)
|
||||
events.ScheduleEvent(EVENT_INTRO_A2_1, 10000);
|
||||
events.ScheduleEvent(EVENT_INTRO_A2_1, 10s);
|
||||
else
|
||||
events.ScheduleEvent(EVENT_INTRO_H2_2, 10000);
|
||||
events.ScheduleEvent(EVENT_INTRO_H2_2, 10s);
|
||||
break;
|
||||
case EVENT_SKIP_INTRO:
|
||||
shortver = true;
|
||||
@@ -257,23 +257,23 @@ public:
|
||||
me->GetMotionMaster()->MovePoint(0, MoveThronePos);
|
||||
if (Creature* c = pInstance->instance->GetCreature(pInstance->GetGuidData(NPC_DARK_RANGER_LORALEN)))
|
||||
c->GetMotionMaster()->MovePoint(0, LoralenFollowPos);
|
||||
events.ScheduleEvent(EVENT_INTRO_LK_1, 0);
|
||||
events.ScheduleEvent(EVENT_INTRO_LK_1, 0ms);
|
||||
break;
|
||||
|
||||
// A2 Intro Events
|
||||
case EVENT_INTRO_A2_1:
|
||||
Talk(SAY_JAINA_INTRO_3);
|
||||
events.ScheduleEvent(EVENT_INTRO_A2_2, 5000);
|
||||
events.ScheduleEvent(EVENT_INTRO_A2_2, 5s);
|
||||
break;
|
||||
case EVENT_INTRO_A2_2:
|
||||
Talk(SAY_JAINA_INTRO_4);
|
||||
events.ScheduleEvent(EVENT_INTRO_A2_3, 10000);
|
||||
events.ScheduleEvent(EVENT_INTRO_A2_3, 10s);
|
||||
break;
|
||||
case EVENT_INTRO_A2_3:
|
||||
pInstance->HandleGameObject(pInstance->GetGuidData(GO_FROSTMOURNE), true);
|
||||
me->CastSpell(me, SPELL_FROSTMOURNE_SPAWN_SOUND, true);
|
||||
me->CastSpell(me, SPELL_ARCANE_CAST_VISUAL, false);
|
||||
events.ScheduleEvent(EVENT_INTRO_A2_4, 10000);
|
||||
events.ScheduleEvent(EVENT_INTRO_A2_4, 10s);
|
||||
break;
|
||||
case EVENT_INTRO_A2_4:
|
||||
if (Creature* pUther = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(NPC_UTHER)))
|
||||
@@ -283,66 +283,66 @@ public:
|
||||
if (Aura* a = pUther->AddAura(SPELL_SHADOWMOURNE_VISUAL, pUther))
|
||||
a->SetDuration(8000);
|
||||
}
|
||||
events.ScheduleEvent(EVENT_INTRO_A2_5, 2000);
|
||||
events.ScheduleEvent(EVENT_INTRO_A2_5, 2s);
|
||||
break;
|
||||
case EVENT_INTRO_A2_5:
|
||||
if (Creature* pUther = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(NPC_UTHER)))
|
||||
pUther->AI()->Talk(SAY_UTHER_INTRO_A2_1);
|
||||
events.ScheduleEvent(EVENT_INTRO_A2_6, 3000);
|
||||
events.ScheduleEvent(EVENT_INTRO_A2_6, 3s);
|
||||
break;
|
||||
case EVENT_INTRO_A2_6:
|
||||
Talk(SAY_JAINA_INTRO_5);
|
||||
events.ScheduleEvent(EVENT_INTRO_A2_7, 6000);
|
||||
events.ScheduleEvent(EVENT_INTRO_A2_7, 6s);
|
||||
break;
|
||||
case EVENT_INTRO_A2_7:
|
||||
if (Creature* pUther = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(NPC_UTHER)))
|
||||
pUther->AI()->Talk(SAY_UTHER_INTRO_A2_2);
|
||||
events.ScheduleEvent(EVENT_INTRO_A2_8, 6500);
|
||||
events.ScheduleEvent(EVENT_INTRO_A2_8, 6500ms);
|
||||
break;
|
||||
case EVENT_INTRO_A2_8:
|
||||
Talk(SAY_JAINA_INTRO_6);
|
||||
events.ScheduleEvent(EVENT_INTRO_A2_9, 2000);
|
||||
events.ScheduleEvent(EVENT_INTRO_A2_9, 2s);
|
||||
break;
|
||||
case EVENT_INTRO_A2_9:
|
||||
if (Creature* pUther = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(NPC_UTHER)))
|
||||
pUther->AI()->Talk(SAY_UTHER_INTRO_A2_3);
|
||||
events.ScheduleEvent(EVENT_INTRO_A2_10, 9000);
|
||||
events.ScheduleEvent(EVENT_INTRO_A2_10, 9s);
|
||||
break;
|
||||
case EVENT_INTRO_A2_10:
|
||||
Talk(SAY_JAINA_INTRO_7);
|
||||
events.ScheduleEvent(EVENT_INTRO_A2_11, 5000);
|
||||
events.ScheduleEvent(EVENT_INTRO_A2_11, 5s);
|
||||
break;
|
||||
case EVENT_INTRO_A2_11:
|
||||
if (Creature* pUther = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(NPC_UTHER)))
|
||||
pUther->AI()->Talk(SAY_UTHER_INTRO_A2_4);
|
||||
events.ScheduleEvent(EVENT_INTRO_A2_12, 11000);
|
||||
events.ScheduleEvent(EVENT_INTRO_A2_12, 11s);
|
||||
break;
|
||||
case EVENT_INTRO_A2_12:
|
||||
Talk(SAY_JAINA_INTRO_8);
|
||||
events.ScheduleEvent(EVENT_INTRO_A2_13, 4000);
|
||||
events.ScheduleEvent(EVENT_INTRO_A2_13, 4s);
|
||||
break;
|
||||
case EVENT_INTRO_A2_13:
|
||||
if (Creature* pUther = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(NPC_UTHER)))
|
||||
pUther->AI()->Talk(SAY_UTHER_INTRO_A2_5);
|
||||
events.ScheduleEvent(EVENT_INTRO_A2_14, 12500);
|
||||
events.ScheduleEvent(EVENT_INTRO_A2_14, 12s + 500ms);
|
||||
break;
|
||||
case EVENT_INTRO_A2_14:
|
||||
Talk(SAY_JAINA_INTRO_9);
|
||||
events.ScheduleEvent(EVENT_INTRO_A2_15, 10000);
|
||||
events.ScheduleEvent(EVENT_INTRO_A2_15, 10s);
|
||||
break;
|
||||
case EVENT_INTRO_A2_15:
|
||||
if (Creature* pUther = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(NPC_UTHER)))
|
||||
pUther->AI()->Talk(SAY_UTHER_INTRO_A2_6);
|
||||
events.ScheduleEvent(EVENT_INTRO_A2_16, 24000);
|
||||
events.ScheduleEvent(EVENT_INTRO_A2_16, 24s);
|
||||
break;
|
||||
case EVENT_INTRO_A2_16:
|
||||
if (Creature* pUther = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(NPC_UTHER)))
|
||||
pUther->AI()->Talk(SAY_UTHER_INTRO_A2_7);
|
||||
events.ScheduleEvent(EVENT_INTRO_A2_17, 4000);
|
||||
events.ScheduleEvent(EVENT_INTRO_A2_17, 4s);
|
||||
break;
|
||||
case EVENT_INTRO_A2_17:
|
||||
Talk(SAY_JAINA_INTRO_10);
|
||||
events.ScheduleEvent(EVENT_INTRO_A2_18, 2000);
|
||||
events.ScheduleEvent(EVENT_INTRO_A2_18, 2s);
|
||||
break;
|
||||
case EVENT_INTRO_A2_18:
|
||||
if (Creature* pUther = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(NPC_UTHER)))
|
||||
@@ -350,24 +350,24 @@ public:
|
||||
pUther->HandleEmoteCommand(EMOTE_ONESHOT_NO);
|
||||
pUther->AI()->Talk(SAY_UTHER_INTRO_A2_8);
|
||||
}
|
||||
events.ScheduleEvent(EVENT_INTRO_A2_19, 11000);
|
||||
events.ScheduleEvent(EVENT_INTRO_A2_19, 11s);
|
||||
break;
|
||||
case EVENT_INTRO_A2_19:
|
||||
Talk(SAY_JAINA_INTRO_11);
|
||||
events.ScheduleEvent(EVENT_INTRO_LK_1, 2000);
|
||||
events.ScheduleEvent(EVENT_INTRO_LK_1, 2s);
|
||||
break;
|
||||
|
||||
// H2 Intro Events
|
||||
case EVENT_INTRO_H2_2:
|
||||
Talk(SAY_SYLVANAS_INTRO_2);
|
||||
events.ScheduleEvent(EVENT_INTRO_H2_3, 6000);
|
||||
events.ScheduleEvent(EVENT_INTRO_H2_3, 6s);
|
||||
break;
|
||||
case EVENT_INTRO_H2_3:
|
||||
Talk(SAY_SYLVANAS_INTRO_3);
|
||||
pInstance->HandleGameObject(pInstance->GetGuidData(GO_FROSTMOURNE), true);
|
||||
me->CastSpell(me, SPELL_FROSTMOURNE_SPAWN_SOUND, true);
|
||||
me->CastSpell(me, SPELL_ARCANE_CAST_VISUAL, false);
|
||||
events.ScheduleEvent(EVENT_INTRO_H2_4, 6000);
|
||||
events.ScheduleEvent(EVENT_INTRO_H2_4, 6s);
|
||||
break;
|
||||
case EVENT_INTRO_H2_4:
|
||||
if (Creature* pUther = pInstance->instance->GetCreature(pInstance->GetGuidData(NPC_UTHER)))
|
||||
@@ -377,43 +377,43 @@ public:
|
||||
if (Aura* a = pUther->AddAura(SPELL_SHADOWMOURNE_VISUAL, pUther))
|
||||
a->SetDuration(8000);
|
||||
}
|
||||
events.ScheduleEvent(EVENT_INTRO_H2_5, 2000);
|
||||
events.ScheduleEvent(EVENT_INTRO_H2_5, 2s);
|
||||
break;
|
||||
case EVENT_INTRO_H2_5:
|
||||
if (Creature* pUther = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(NPC_UTHER)))
|
||||
pUther->AI()->Talk(SAY_UTHER_INTRO_H2_1);
|
||||
events.ScheduleEvent(EVENT_INTRO_H2_6, 11000);
|
||||
events.ScheduleEvent(EVENT_INTRO_H2_6, 11s);
|
||||
break;
|
||||
case EVENT_INTRO_H2_6:
|
||||
Talk(SAY_SYLVANAS_INTRO_4);
|
||||
events.ScheduleEvent(EVENT_INTRO_H2_7, 3000);
|
||||
events.ScheduleEvent(EVENT_INTRO_H2_7, 3s);
|
||||
break;
|
||||
case EVENT_INTRO_H2_7:
|
||||
if (Creature* pUther = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(NPC_UTHER)))
|
||||
pUther->AI()->Talk(SAY_UTHER_INTRO_H2_2);
|
||||
events.ScheduleEvent(EVENT_INTRO_H2_8, 6000);
|
||||
events.ScheduleEvent(EVENT_INTRO_H2_8, 6s);
|
||||
break;
|
||||
case EVENT_INTRO_H2_8:
|
||||
Talk(SAY_SYLVANAS_INTRO_5);
|
||||
events.ScheduleEvent(EVENT_INTRO_H2_9, 5000);
|
||||
events.ScheduleEvent(EVENT_INTRO_H2_9, 5s);
|
||||
break;
|
||||
case EVENT_INTRO_H2_9:
|
||||
if (Creature* pUther = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(NPC_UTHER)))
|
||||
pUther->AI()->Talk(SAY_UTHER_INTRO_H2_3);
|
||||
events.ScheduleEvent(EVENT_INTRO_H2_10, 19000);
|
||||
events.ScheduleEvent(EVENT_INTRO_H2_10, 19s);
|
||||
break;
|
||||
case EVENT_INTRO_H2_10:
|
||||
Talk(SAY_SYLVANAS_INTRO_6);
|
||||
events.ScheduleEvent(EVENT_INTRO_H2_11, 1500);
|
||||
events.ScheduleEvent(EVENT_INTRO_H2_11, 1500ms);
|
||||
break;
|
||||
case EVENT_INTRO_H2_11:
|
||||
if (Creature* pUther = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(NPC_UTHER)))
|
||||
pUther->AI()->Talk(SAY_UTHER_INTRO_H2_4);
|
||||
events.ScheduleEvent(EVENT_INTRO_H2_12, 19500);
|
||||
events.ScheduleEvent(EVENT_INTRO_H2_12, 19s + 500ms);
|
||||
break;
|
||||
case EVENT_INTRO_H2_12:
|
||||
Talk(SAY_SYLVANAS_INTRO_7);
|
||||
events.ScheduleEvent(EVENT_INTRO_H2_13, 2000);
|
||||
events.ScheduleEvent(EVENT_INTRO_H2_13, 2s);
|
||||
break;
|
||||
case EVENT_INTRO_H2_13:
|
||||
if (Creature* pUther = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(NPC_UTHER)))
|
||||
@@ -421,16 +421,16 @@ public:
|
||||
pUther->HandleEmoteCommand(EMOTE_ONESHOT_NO);
|
||||
pUther->AI()->Talk(SAY_UTHER_INTRO_H2_5);
|
||||
}
|
||||
events.ScheduleEvent(EVENT_INTRO_H2_14, 12000);
|
||||
events.ScheduleEvent(EVENT_INTRO_H2_14, 12s);
|
||||
break;
|
||||
case EVENT_INTRO_H2_14:
|
||||
if (Creature* pUther = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(NPC_UTHER)))
|
||||
pUther->AI()->Talk(SAY_UTHER_INTRO_H2_6);
|
||||
events.ScheduleEvent(EVENT_INTRO_H2_15, 8000);
|
||||
events.ScheduleEvent(EVENT_INTRO_H2_15, 8s);
|
||||
break;
|
||||
case EVENT_INTRO_H2_15:
|
||||
Talk(SAY_SYLVANAS_INTRO_8);
|
||||
events.ScheduleEvent(EVENT_INTRO_LK_1, 2000);
|
||||
events.ScheduleEvent(EVENT_INTRO_LK_1, 2s);
|
||||
break;
|
||||
|
||||
// Remaining Intro Events common for both faction
|
||||
@@ -451,9 +451,9 @@ public:
|
||||
pUther->AI()->Talk(SAY_UTHER_INTRO_H2_7);
|
||||
}
|
||||
|
||||
events.ScheduleEvent(EVENT_INTRO_LK_1_2, 2000);
|
||||
events.ScheduleEvent(EVENT_INTRO_LK_1_3, 4000);
|
||||
events.ScheduleEvent(EVENT_INTRO_LK_2, 11000);
|
||||
events.ScheduleEvent(EVENT_INTRO_LK_1_2, 2s);
|
||||
events.ScheduleEvent(EVENT_INTRO_LK_1_3, 4s);
|
||||
events.ScheduleEvent(EVENT_INTRO_LK_2, 11s);
|
||||
break;
|
||||
|
||||
case EVENT_INTRO_LK_1_2:
|
||||
@@ -470,20 +470,20 @@ public:
|
||||
if (!shortver)
|
||||
if (Creature* pLichKing = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(NPC_LICH_KING_EVENT)))
|
||||
pLichKing->AI()->Talk(SAY_LK_INTRO_1);
|
||||
events.ScheduleEvent(EVENT_INTRO_LK_3, 2000);
|
||||
events.ScheduleEvent(EVENT_INTRO_LK_3, 2s);
|
||||
break;
|
||||
|
||||
case EVENT_INTRO_LK_3:
|
||||
if (!shortver)
|
||||
if (Creature* pUther = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(NPC_UTHER)))
|
||||
pUther->SetVisible(false);
|
||||
events.ScheduleEvent(EVENT_INTRO_LK_4, 4000);
|
||||
events.ScheduleEvent(EVENT_INTRO_LK_4, 4s);
|
||||
break;
|
||||
|
||||
case EVENT_INTRO_LK_4:
|
||||
if (Creature* pLichKing = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(NPC_LICH_KING_EVENT)))
|
||||
pLichKing->AI()->Talk(SAY_LK_INTRO_2);
|
||||
events.ScheduleEvent(EVENT_INTRO_LK_4_2, 10000);
|
||||
events.ScheduleEvent(EVENT_INTRO_LK_4_2, 10s);
|
||||
break;
|
||||
|
||||
case EVENT_INTRO_LK_4_2:
|
||||
@@ -495,7 +495,7 @@ public:
|
||||
pInstance->HandleGameObject(pInstance->GetGuidData(GO_FROSTMOURNE), false);
|
||||
events.ScheduleEvent(EVENT_INTRO_LK_4_3, 1750);
|
||||
}
|
||||
events.ScheduleEvent(EVENT_INTRO_LK_5, 6000);
|
||||
events.ScheduleEvent(EVENT_INTRO_LK_5, 6s);
|
||||
break;
|
||||
|
||||
case EVENT_INTRO_LK_4_3:
|
||||
@@ -531,8 +531,8 @@ public:
|
||||
if (Creature* pLichKing = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(NPC_LICH_KING_EVENT)))
|
||||
pLichKing->AI()->Talk(SAY_LK_INTRO_3);
|
||||
|
||||
events.ScheduleEvent(EVENT_INTRO_LK_5_2, 5000);
|
||||
events.ScheduleEvent(EVENT_INTRO_LK_6, 8000);
|
||||
events.ScheduleEvent(EVENT_INTRO_LK_5_2, 5s);
|
||||
events.ScheduleEvent(EVENT_INTRO_LK_6, 8s);
|
||||
break;
|
||||
|
||||
case EVENT_INTRO_LK_5_2:
|
||||
@@ -544,14 +544,14 @@ public:
|
||||
if (Creature* pFalric = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(DATA_FALRIC)))
|
||||
pFalric->AI()->Talk(SAY_FALRIC_INTRO_1);
|
||||
|
||||
events.ScheduleEvent(EVENT_INTRO_LK_7, 2000);
|
||||
events.ScheduleEvent(EVENT_INTRO_LK_7, 2s);
|
||||
break;
|
||||
|
||||
case EVENT_INTRO_LK_7:
|
||||
if (Creature* pMarwyn = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(DATA_MARWYN)))
|
||||
pMarwyn->AI()->Talk(SAY_MARWYN_INTRO_1);
|
||||
|
||||
events.ScheduleEvent(EVENT_INTRO_LK_8, 2000);
|
||||
events.ScheduleEvent(EVENT_INTRO_LK_8, 2s);
|
||||
break;
|
||||
|
||||
case EVENT_INTRO_LK_8:
|
||||
@@ -561,7 +561,7 @@ public:
|
||||
|
||||
pInstance->HandleGameObject(pInstance->GetGuidData(GO_ARTHAS_DOOR), true);
|
||||
|
||||
events.ScheduleEvent(EVENT_INTRO_LK_9, 5000);
|
||||
events.ScheduleEvent(EVENT_INTRO_LK_9, 5s);
|
||||
break;
|
||||
|
||||
case EVENT_INTRO_LK_9:
|
||||
@@ -573,13 +573,13 @@ public:
|
||||
me->GetMotionMaster()->MovePoint(0, LichKingMoveAwayPos, false);
|
||||
if (Creature* c = pInstance->instance->GetCreature(pInstance->GetGuidData(NPC_DARK_RANGER_LORALEN)))
|
||||
c->GetMotionMaster()->MovePoint(0, LichKingMoveAwayPos, false);
|
||||
events.ScheduleEvent(EVENT_INTRO_END, 14000);
|
||||
events.ScheduleEvent(EVENT_INTRO_END, 14s);
|
||||
break;
|
||||
|
||||
case EVENT_INTRO_END:
|
||||
pInstance->HandleGameObject(pInstance->GetGuidData(GO_ARTHAS_DOOR), false);
|
||||
pInstance->HandleGameObject(pInstance->GetGuidData(GO_FRONT_DOOR), false);
|
||||
events.ScheduleEvent(EVENT_INTRO_END_SET, 10000);
|
||||
events.ScheduleEvent(EVENT_INTRO_END_SET, 10s);
|
||||
break;
|
||||
case EVENT_INTRO_END_SET:
|
||||
if (Creature* pLichKing = ObjectAccessor::GetCreature(*me, pInstance->GetGuidData(NPC_LICH_KING_EVENT)))
|
||||
@@ -698,10 +698,10 @@ public:
|
||||
|
||||
void JustEngagedWith(Unit* /*who*/) override
|
||||
{
|
||||
events.ScheduleEvent(EVENT_SHADOW_WORD_PAIN, 5000);
|
||||
events.ScheduleEvent(EVENT_CIRCLE_OF_DESTRUCTION, 8000);
|
||||
events.ScheduleEvent(EVENT_COWER_IN_FEAR, 10000);
|
||||
events.ScheduleEvent(EVENT_DARK_MENDING, 8000);
|
||||
events.ScheduleEvent(EVENT_SHADOW_WORD_PAIN, 5s);
|
||||
events.ScheduleEvent(EVENT_CIRCLE_OF_DESTRUCTION, 8s);
|
||||
events.ScheduleEvent(EVENT_COWER_IN_FEAR, 10s);
|
||||
events.ScheduleEvent(EVENT_DARK_MENDING, 8s);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/) override
|
||||
@@ -734,26 +734,26 @@ public:
|
||||
case EVENT_SHADOW_WORD_PAIN:
|
||||
if (Unit* target = SelectTargetFromPlayerList(40.0f, 0, true))
|
||||
me->CastSpell(target, SPELL_SHADOW_WORD_PAIN, false);
|
||||
events.ScheduleEvent(EVENT_SHADOW_WORD_PAIN, 5000);
|
||||
events.ScheduleEvent(EVENT_SHADOW_WORD_PAIN, 5s);
|
||||
break;
|
||||
case EVENT_CIRCLE_OF_DESTRUCTION:
|
||||
if (Unit* target = SelectTargetFromPlayerList(10.0f, 0, true))
|
||||
me->CastSpell(target, SPELL_CIRCLE_OF_DESTRUCTION, false);
|
||||
events.ScheduleEvent(EVENT_CIRCLE_OF_DESTRUCTION, 12000);
|
||||
events.ScheduleEvent(EVENT_CIRCLE_OF_DESTRUCTION, 12s);
|
||||
break;
|
||||
case EVENT_COWER_IN_FEAR:
|
||||
if (Unit* target = SelectTargetFromPlayerList(20.0f, 0, true))
|
||||
me->CastSpell(target, SPELL_COWER_IN_FEAR, false);
|
||||
events.ScheduleEvent(EVENT_COWER_IN_FEAR, 10000);
|
||||
events.ScheduleEvent(EVENT_COWER_IN_FEAR, 10s);
|
||||
break;
|
||||
case EVENT_DARK_MENDING:
|
||||
if (Unit* target = DoSelectLowestHpFriendly(35.0f, DUNGEON_MODE(20000, 35000)))
|
||||
{
|
||||
me->CastSpell(target, SPELL_DARK_MENDING, false);
|
||||
events.ScheduleEvent(EVENT_DARK_MENDING, 6000);
|
||||
events.ScheduleEvent(EVENT_DARK_MENDING, 6s);
|
||||
}
|
||||
else
|
||||
events.ScheduleEvent(EVENT_DARK_MENDING, 3000);
|
||||
events.ScheduleEvent(EVENT_DARK_MENDING, 3s);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -805,11 +805,11 @@ public:
|
||||
|
||||
void JustEngagedWith(Unit* /*who*/) override
|
||||
{
|
||||
events.ScheduleEvent(EVENT_FIREBALL, 3000);
|
||||
events.ScheduleEvent(EVENT_FLAMESTRIKE, 6000);
|
||||
events.ScheduleEvent(EVENT_FROSTBOLT, 9000);
|
||||
events.ScheduleEvent(EVENT_CHAINS_OF_ICE, 12000);
|
||||
events.ScheduleEvent(EVENT_HALLUCINATION, 40000);
|
||||
events.ScheduleEvent(EVENT_FIREBALL, 3s);
|
||||
events.ScheduleEvent(EVENT_FLAMESTRIKE, 6s);
|
||||
events.ScheduleEvent(EVENT_FROSTBOLT, 9s);
|
||||
events.ScheduleEvent(EVENT_CHAINS_OF_ICE, 12s);
|
||||
events.ScheduleEvent(EVENT_HALLUCINATION, 40s);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/) override
|
||||
@@ -841,21 +841,21 @@ public:
|
||||
{
|
||||
case EVENT_FIREBALL:
|
||||
me->CastSpell(me->GetVictim(), SPELL_FIREBALL, false);
|
||||
events.ScheduleEvent(EVENT_FIREBALL, 6000);
|
||||
events.ScheduleEvent(EVENT_FIREBALL, 6s);
|
||||
break;
|
||||
case EVENT_FLAMESTRIKE:
|
||||
me->CastSpell(me->GetVictim(), SPELL_FLAMESTRIKE, false);
|
||||
events.ScheduleEvent(EVENT_FLAMESTRIKE, 15000);
|
||||
events.ScheduleEvent(EVENT_FLAMESTRIKE, 15s);
|
||||
break;
|
||||
case EVENT_FROSTBOLT:
|
||||
if (Unit* target = SelectTargetFromPlayerList(40.0f, 0, true))
|
||||
me->CastSpell(target, SPELL_FROSTBOLT, false);
|
||||
events.ScheduleEvent(EVENT_FROSTBOLT, 9000);
|
||||
events.ScheduleEvent(EVENT_FROSTBOLT, 9s);
|
||||
break;
|
||||
case EVENT_CHAINS_OF_ICE:
|
||||
if (Unit* target = SelectTargetFromPlayerList(100.0f, 0, true))
|
||||
me->CastSpell(target, SPELL_CHAINS_OF_ICE, false);
|
||||
events.ScheduleEvent(EVENT_CHAINS_OF_ICE, 12000);
|
||||
events.ScheduleEvent(EVENT_CHAINS_OF_ICE, 12s);
|
||||
break;
|
||||
case EVENT_HALLUCINATION:
|
||||
//me->CastSpell(me, SPELL_HALLUCINATION, false);
|
||||
@@ -960,10 +960,10 @@ public:
|
||||
|
||||
void JustEngagedWith(Unit* /*who*/) override
|
||||
{
|
||||
events.ScheduleEvent(EVENT_SHADOW_STEP, 4000);
|
||||
events.ScheduleEvent(EVENT_DEADLY_POISON, 6000);
|
||||
events.ScheduleEvent(EVENT_ENVENOMED_DAGGER_THROW, 10000);
|
||||
events.ScheduleEvent(EVENT_KIDNEY_SHOT, 5000);
|
||||
events.ScheduleEvent(EVENT_SHADOW_STEP, 4s);
|
||||
events.ScheduleEvent(EVENT_DEADLY_POISON, 6s);
|
||||
events.ScheduleEvent(EVENT_ENVENOMED_DAGGER_THROW, 10s);
|
||||
events.ScheduleEvent(EVENT_KIDNEY_SHOT, 5s);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/) override
|
||||
@@ -1001,20 +1001,20 @@ public:
|
||||
AttackStart(target);
|
||||
me->CastSpell(target, SPELL_SHADOW_STEP, false);
|
||||
}
|
||||
events.ScheduleEvent(EVENT_SHADOW_STEP, 20000);
|
||||
events.ScheduleEvent(EVENT_SHADOW_STEP, 20s);
|
||||
break;
|
||||
case EVENT_DEADLY_POISON:
|
||||
me->CastSpell(me->GetVictim(), SPELL_DEADLY_POISON, false);
|
||||
events.ScheduleEvent(EVENT_DEADLY_POISON, 4000);
|
||||
events.ScheduleEvent(EVENT_DEADLY_POISON, 4s);
|
||||
break;
|
||||
case EVENT_ENVENOMED_DAGGER_THROW:
|
||||
if (Unit* target = SelectTargetFromPlayerList(40.0f, 0, true))
|
||||
me->CastSpell(target, SPELL_ENVENOMED_DAGGER_THROW, false);
|
||||
events.ScheduleEvent(EVENT_ENVENOMED_DAGGER_THROW, 10000);
|
||||
events.ScheduleEvent(EVENT_ENVENOMED_DAGGER_THROW, 10s);
|
||||
break;
|
||||
case EVENT_KIDNEY_SHOT:
|
||||
me->CastSpell(me->GetVictim(), SPELL_KIDNEY_SHOT, false);
|
||||
events.ScheduleEvent(EVENT_KIDNEY_SHOT, 10000);
|
||||
events.ScheduleEvent(EVENT_KIDNEY_SHOT, 10s);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1066,9 +1066,9 @@ public:
|
||||
|
||||
void JustEngagedWith(Unit* /*who*/) override
|
||||
{
|
||||
events.ScheduleEvent(EVENT_SPECTRAL_STRIKE, 5000);
|
||||
events.ScheduleEvent(EVENT_SHIELD_BASH, 6000);
|
||||
events.ScheduleEvent(EVENT_TORTURED_ENRAGE, 15000);
|
||||
events.ScheduleEvent(EVENT_SPECTRAL_STRIKE, 5s);
|
||||
events.ScheduleEvent(EVENT_SHIELD_BASH, 6s);
|
||||
events.ScheduleEvent(EVENT_TORTURED_ENRAGE, 15s);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/) override
|
||||
@@ -1100,15 +1100,15 @@ public:
|
||||
{
|
||||
case EVENT_SPECTRAL_STRIKE:
|
||||
me->CastSpell(me->GetVictim(), SPELL_SPECTRAL_STRIKE, false);
|
||||
events.ScheduleEvent(EVENT_SPECTRAL_STRIKE, 5000);
|
||||
events.ScheduleEvent(EVENT_SPECTRAL_STRIKE, 5s);
|
||||
break;
|
||||
case EVENT_SHIELD_BASH:
|
||||
me->CastSpell(me->GetVictim(), SPELL_SHIELD_BASH, false);
|
||||
events.ScheduleEvent(EVENT_SHIELD_BASH, 6000);
|
||||
events.ScheduleEvent(EVENT_SHIELD_BASH, 6s);
|
||||
break;
|
||||
case EVENT_TORTURED_ENRAGE:
|
||||
me->CastSpell(me, SPELL_TORTURED_ENRAGE, false);
|
||||
events.ScheduleEvent(EVENT_TORTURED_ENRAGE, 15000);
|
||||
events.ScheduleEvent(EVENT_TORTURED_ENRAGE, 15s);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1160,9 +1160,9 @@ public:
|
||||
|
||||
void JustEngagedWith(Unit* /*who*/) override
|
||||
{
|
||||
events.ScheduleEvent(EVENT_CURSED_ARROW, 10000);
|
||||
events.ScheduleEvent(EVENT_FROST_TRAP, 15000);
|
||||
events.ScheduleEvent(EVENT_ICE_SHOT, 15000);
|
||||
events.ScheduleEvent(EVENT_CURSED_ARROW, 10s);
|
||||
events.ScheduleEvent(EVENT_FROST_TRAP, 15s);
|
||||
events.ScheduleEvent(EVENT_ICE_SHOT, 15s);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/) override
|
||||
@@ -1194,16 +1194,16 @@ public:
|
||||
{
|
||||
case EVENT_CURSED_ARROW:
|
||||
me->CastSpell(me->GetVictim(), SPELL_CURSED_ARROW, false);
|
||||
events.ScheduleEvent(EVENT_CURSED_ARROW, 10000);
|
||||
events.ScheduleEvent(EVENT_CURSED_ARROW, 10s);
|
||||
break;
|
||||
case EVENT_FROST_TRAP:
|
||||
me->CastSpell((Unit*)nullptr, SPELL_FROST_TRAP, false);
|
||||
events.ScheduleEvent(EVENT_FROST_TRAP, 30000);
|
||||
events.ScheduleEvent(EVENT_FROST_TRAP, 30s);
|
||||
break;
|
||||
case EVENT_ICE_SHOT:
|
||||
if (Unit* target = SelectTargetFromPlayerList(40.0f, 0, true))
|
||||
me->CastSpell(target, SPELL_ICE_SHOT, false);
|
||||
events.ScheduleEvent(EVENT_ICE_SHOT, 8000);
|
||||
events.ScheduleEvent(EVENT_ICE_SHOT, 8s);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1245,8 +1245,8 @@ public:
|
||||
void JustEngagedWith(Unit* /*who*/) override
|
||||
{
|
||||
Talk(SAY_FROSTSWORN_GENERAL_AGGRO);
|
||||
events.ScheduleEvent(EVENT_ACTIVATE_REFLECTIONS, 8000);
|
||||
events.ScheduleEvent(EVENT_THROW_SHIELD, 6000);
|
||||
events.ScheduleEvent(EVENT_ACTIVATE_REFLECTIONS, 8s);
|
||||
events.ScheduleEvent(EVENT_THROW_SHIELD, 6s);
|
||||
pInstance->SetData(ACTION_SPIRITUAL_REFLECTIONS_COPY, 1);
|
||||
}
|
||||
|
||||
@@ -1276,7 +1276,7 @@ public:
|
||||
case EVENT_THROW_SHIELD:
|
||||
if (Unit* target = SelectTargetFromPlayerList(40.0f, 0, true))
|
||||
me->CastSpell(target, SPELL_THROW_SHIELD, false);
|
||||
events.ScheduleEvent(EVENT_THROW_SHIELD, 10000);
|
||||
events.ScheduleEvent(EVENT_THROW_SHIELD, 10s);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1323,7 +1323,7 @@ public:
|
||||
|
||||
void JustEngagedWith(Unit* /*who*/) override
|
||||
{
|
||||
events.ScheduleEvent(EVENT_BALEFUL_STRIKE, urand(4000, 7000));
|
||||
events.ScheduleEvent(EVENT_BALEFUL_STRIKE, 4s, 7s);
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff) override
|
||||
@@ -1340,7 +1340,7 @@ public:
|
||||
{
|
||||
case EVENT_BALEFUL_STRIKE:
|
||||
me->CastSpell(me->GetVictim(), SPELL_BALEFUL_STRIKE, false);
|
||||
events.ScheduleEvent(EVENT_BALEFUL_STRIKE, urand(4000, 7000));
|
||||
events.ScheduleEvent(EVENT_BALEFUL_STRIKE, 4s, 7s);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1442,13 +1442,13 @@ public:
|
||||
currentWall = 0;
|
||||
reqKillCount = 0;
|
||||
events.Reset();
|
||||
events.RescheduleEvent(EVENT_LK_CHECK_COMBAT, 1000);
|
||||
events.RescheduleEvent(EVENT_LK_CHECK_COMBAT, 1s);
|
||||
}
|
||||
|
||||
void DoAction(int32 a) override
|
||||
{
|
||||
if (a == ACTION_START_LK_FIGHT_REAL)
|
||||
events.ScheduleEvent(EVENT_LK_START_FOLLOWING, 1500);
|
||||
events.ScheduleEvent(EVENT_LK_START_FOLLOWING, 1500ms);
|
||||
else if ((a == ACTION_INFORM_TRASH_DIED && reqKillCount) || a == ACTION_CHECK_TRASH_DIED)
|
||||
{
|
||||
if ((a == ACTION_CHECK_TRASH_DIED && reqKillCount == 0) || (a == ACTION_INFORM_TRASH_DIED && (--reqKillCount) == 0))
|
||||
@@ -1458,8 +1458,8 @@ public:
|
||||
pInstance->SetData(ACTION_DELETE_ICE_WALL, 1);
|
||||
if (currentWall <= 3)
|
||||
{
|
||||
events.ScheduleEvent(EVENT_LK_SUMMON_NEXT_ICE_WALL, 1000);
|
||||
events.ScheduleEvent(EVENT_LK_SUMMON, currentWall == 3 ? 11000 : 7500);
|
||||
events.ScheduleEvent(EVENT_LK_SUMMON_NEXT_ICE_WALL, 1s);
|
||||
events.ScheduleEvent(EVENT_LK_SUMMON, currentWall == 3 ? 11s : 7500ms);
|
||||
}
|
||||
else
|
||||
me->RemoveAura(SPELL_REMORSELESS_WINTER);
|
||||
@@ -1483,7 +1483,7 @@ public:
|
||||
if (Creature* c = pInstance->instance->GetCreature(pInstance->GetGuidData(NPC_ICE_WALL_TARGET)))
|
||||
{
|
||||
me->CastSpell(c, SPELL_SUMMON_ICE_WALL, false);
|
||||
events.ScheduleEvent(EVENT_LK_REMORSELESS_WINTER, 4000);
|
||||
events.ScheduleEvent(EVENT_LK_REMORSELESS_WINTER, 4s);
|
||||
}
|
||||
}
|
||||
else if (currentWall == 4)
|
||||
@@ -1498,7 +1498,7 @@ public:
|
||||
{
|
||||
++reqKillCount;
|
||||
if (events.GetNextEventTime(EVENT_DECREASE_REQ_COUNT_BY_100))
|
||||
events.RescheduleEvent(EVENT_DECREASE_REQ_COUNT_BY_100, 10000);
|
||||
events.RescheduleEvent(EVENT_DECREASE_REQ_COUNT_BY_100, 10s);
|
||||
summons.Summon(s);
|
||||
s->SetHomePosition(PathWaypoints[WP_STOP[currentWall + 1]]);
|
||||
s->GetMotionMaster()->MovePoint(0, PathWaypoints[WP_STOP[currentWall + 1]]);
|
||||
@@ -1545,8 +1545,8 @@ public:
|
||||
reqKillCount = 255;
|
||||
leader->InterruptNonMeleeSpells(true);
|
||||
me->CastSpell(leader, SPELL_HARVEST_SOUL, false);
|
||||
events.ScheduleEvent(EVENT_LK_KILL_LEADER, 3000);
|
||||
events.ScheduleEvent(EVENT_LK_CHECK_COMBAT, 1000);
|
||||
events.ScheduleEvent(EVENT_LK_KILL_LEADER, 3s);
|
||||
events.ScheduleEvent(EVENT_LK_CHECK_COMBAT, 1s);
|
||||
break;
|
||||
}
|
||||
if (pInstance->instance->HavePlayers())
|
||||
@@ -1572,7 +1572,7 @@ public:
|
||||
pInstance->SetData(ACTION_STOP_LK_FIGHT, 1);
|
||||
}
|
||||
}
|
||||
events.ScheduleEvent(EVENT_LK_CHECK_COMBAT, 1000);
|
||||
events.ScheduleEvent(EVENT_LK_CHECK_COMBAT, 1s);
|
||||
break;
|
||||
case EVENT_LK_KILL_LEADER:
|
||||
if (Creature* leader = pInstance->instance->GetCreature(pInstance->GetGuidData(NPC_SYLVANAS_PART2)))
|
||||
@@ -1604,45 +1604,45 @@ public:
|
||||
path.push_back(G3D::Vector3(PathWaypoints[i].GetPositionX(), PathWaypoints[i].GetPositionY(), PathWaypoints[i].GetPositionZ()));
|
||||
me->GetMotionMaster()->MoveSplinePath(&path);
|
||||
me->GetMotionMaster()->propagateSpeedChange();
|
||||
events.ScheduleEvent(EVENT_LK_SUMMON, 1000);
|
||||
events.ScheduleEvent(EVENT_LK_SUMMON, 1s);
|
||||
}
|
||||
break;
|
||||
case EVENT_LK_SUMMON:
|
||||
switch (currentWall)
|
||||
{
|
||||
case 0:
|
||||
events.ScheduleEvent(EVENT_LK_SUMMON_GHOULS, 0);
|
||||
events.ScheduleEvent(EVENT_LK_SUMMON_RWD, 4000);
|
||||
events.ScheduleEvent(EVENT_LK_SUMMON_GHOULS, 0ms);
|
||||
events.ScheduleEvent(EVENT_LK_SUMMON_RWD, 4s);
|
||||
break;
|
||||
case 1:
|
||||
events.ScheduleEvent(EVENT_LK_SUMMON_LA, 0);
|
||||
events.ScheduleEvent(EVENT_LK_SUMMON_GHOULS, 100);
|
||||
events.ScheduleEvent(EVENT_LK_SUMMON_RWD, 4000);
|
||||
events.ScheduleEvent(EVENT_LK_SUMMON_RWD, 5100);
|
||||
events.ScheduleEvent(EVENT_LK_SUMMON_LA, 0ms);
|
||||
events.ScheduleEvent(EVENT_LK_SUMMON_GHOULS, 100ms);
|
||||
events.ScheduleEvent(EVENT_LK_SUMMON_RWD, 4s);
|
||||
events.ScheduleEvent(EVENT_LK_SUMMON_RWD, 5100ms);
|
||||
break;
|
||||
case 2:
|
||||
events.ScheduleEvent(EVENT_LK_SUMMON_LA, 0);
|
||||
events.ScheduleEvent(EVENT_LK_SUMMON_GHOULS, 100);
|
||||
events.ScheduleEvent(EVENT_LK_SUMMON_LA, 4000);
|
||||
events.ScheduleEvent(EVENT_LK_SUMMON_RWD, 4100);
|
||||
events.ScheduleEvent(EVENT_LK_SUMMON_RWD, 5200);
|
||||
events.ScheduleEvent(EVENT_LK_SUMMON_LA, 0ms);
|
||||
events.ScheduleEvent(EVENT_LK_SUMMON_GHOULS, 100ms);
|
||||
events.ScheduleEvent(EVENT_LK_SUMMON_LA, 4s);
|
||||
events.ScheduleEvent(EVENT_LK_SUMMON_RWD, 4100ms);
|
||||
events.ScheduleEvent(EVENT_LK_SUMMON_RWD, 5200ms);
|
||||
break;
|
||||
case 3:
|
||||
events.ScheduleEvent(EVENT_LK_SUMMON_LA, 0);
|
||||
events.ScheduleEvent(EVENT_LK_SUMMON_RWD, 100);
|
||||
events.ScheduleEvent(EVENT_LK_SUMMON_GHOULS, 1200);
|
||||
events.ScheduleEvent(EVENT_LK_SUMMON_RWD, 5300);
|
||||
events.ScheduleEvent(EVENT_LK_SUMMON_RWD, 6400);
|
||||
events.ScheduleEvent(EVENT_LK_SUMMON_GHOULS, 12500);
|
||||
events.ScheduleEvent(EVENT_LK_SUMMON_LA, 16500);
|
||||
events.ScheduleEvent(EVENT_LK_SUMMON_RWD, 16600);
|
||||
events.ScheduleEvent(EVENT_LK_SUMMON_LA, 17700);
|
||||
events.ScheduleEvent(EVENT_LK_SUMMON_LA, 0ms);
|
||||
events.ScheduleEvent(EVENT_LK_SUMMON_RWD, 100ms);
|
||||
events.ScheduleEvent(EVENT_LK_SUMMON_GHOULS, 1200ms);
|
||||
events.ScheduleEvent(EVENT_LK_SUMMON_RWD, 5300ms);
|
||||
events.ScheduleEvent(EVENT_LK_SUMMON_RWD, 6400ms);
|
||||
events.ScheduleEvent(EVENT_LK_SUMMON_GHOULS, 12s + 500ms);
|
||||
events.ScheduleEvent(EVENT_LK_SUMMON_LA, 16s + 500ms);
|
||||
events.ScheduleEvent(EVENT_LK_SUMMON_RWD, 16s + 600ms);
|
||||
events.ScheduleEvent(EVENT_LK_SUMMON_LA, 17s + 700ms);
|
||||
break;
|
||||
}
|
||||
if (currentWall <= 3)
|
||||
{
|
||||
reqKillCount = 100;
|
||||
events.RescheduleEvent(EVENT_DECREASE_REQ_COUNT_BY_100, 10000);
|
||||
events.RescheduleEvent(EVENT_DECREASE_REQ_COUNT_BY_100, 10s);
|
||||
}
|
||||
break;
|
||||
case EVENT_DECREASE_REQ_COUNT_BY_100:
|
||||
@@ -1720,15 +1720,15 @@ public:
|
||||
switch(actionId)
|
||||
{
|
||||
case ACTION_START_INTRO:
|
||||
events.ScheduleEvent(EVENT_LK_SAY_AGGRO, 0);
|
||||
events.ScheduleEvent(EVENT_LK_SAY_AGGRO, 0ms);
|
||||
break;
|
||||
case ACTION_START_LK_FIGHT_REAL:
|
||||
events.ScheduleEvent(EVENT_START_RUN, 0);
|
||||
events.ScheduleEvent(EVENT_START_RUN, 0ms);
|
||||
break;
|
||||
case ACTION_INFORM_WALL_DESTROYED:
|
||||
MoveToNextStopPoint();
|
||||
if (currentStopPoint == 5)
|
||||
events.ScheduleEvent(EVENT_SAY_OPENING, 3000);
|
||||
events.ScheduleEvent(EVENT_SAY_OPENING, 3s);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -1753,7 +1753,7 @@ public:
|
||||
void MovementInform(uint32 type, uint32 /*id*/) override
|
||||
{
|
||||
if (type == ESCORT_MOTION_TYPE && me->movespline->Finalized())
|
||||
events.ScheduleEvent(EVENT_SAY_LEADER_STOP_TEXT, 1000);
|
||||
events.ScheduleEvent(EVENT_SAY_LEADER_STOP_TEXT, 1s);
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff) override
|
||||
@@ -1764,7 +1764,7 @@ public:
|
||||
case EVENT_LK_SAY_AGGRO:
|
||||
if (Creature* c = pInstance->instance->GetCreature(pInstance->GetGuidData(NPC_LICH_KING_BOSS)))
|
||||
c->AI()->Talk(me->GetEntry() == NPC_JAINA_PART2 ? SAY_LK_AGGRO_ALLY : SAY_LK_AGGRO_HORDE);
|
||||
events.ScheduleEvent(me->GetEntry() == NPC_JAINA_PART2 ? EVENT_JAINA_IMMOBILIZE_LK : EVENT_SYLVANAS_IMMOBILIZE_JUMP, 12000);
|
||||
events.ScheduleEvent(me->GetEntry() == NPC_JAINA_PART2 ? EVENT_JAINA_IMMOBILIZE_LK : EVENT_SYLVANAS_IMMOBILIZE_JUMP, 12s);
|
||||
break;
|
||||
case EVENT_JAINA_IMMOBILIZE_LK:
|
||||
if (Creature* c = pInstance->instance->GetCreature(pInstance->GetGuidData(NPC_LICH_KING_BOSS)))
|
||||
@@ -1772,7 +1772,7 @@ public:
|
||||
c->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE);
|
||||
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE);
|
||||
me->CastSpell(c, SPELL_JAINA_ICE_PRISON, false);
|
||||
events.ScheduleEvent(EVENT_SAY_LEAVE, 5000);
|
||||
events.ScheduleEvent(EVENT_SAY_LEAVE, 5s);
|
||||
}
|
||||
break;
|
||||
case EVENT_SYLVANAS_IMMOBILIZE_JUMP:
|
||||
@@ -1781,13 +1781,13 @@ public:
|
||||
c->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE);
|
||||
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE);
|
||||
me->KnockbackFrom(c->GetPositionX(), c->GetPositionY(), 10.0f, 3.0f);
|
||||
events.ScheduleEvent(EVENT_SYLVANAS_DARK_BINDING, 1500);
|
||||
events.ScheduleEvent(EVENT_SYLVANAS_DARK_BINDING, 1500ms);
|
||||
}
|
||||
break;
|
||||
case EVENT_SYLVANAS_DARK_BINDING:
|
||||
if (Creature* c = pInstance->instance->GetCreature(pInstance->GetGuidData(NPC_LICH_KING_BOSS)))
|
||||
me->CastSpell(c, SPELL_SYLVANAS_DARK_BINDING, false);
|
||||
events.ScheduleEvent(EVENT_SAY_LEAVE, 3500);
|
||||
events.ScheduleEvent(EVENT_SAY_LEAVE, 3500ms);
|
||||
break;
|
||||
case EVENT_SAY_LEAVE:
|
||||
{
|
||||
@@ -1798,7 +1798,7 @@ public:
|
||||
|
||||
Talk(me->GetEntry() == NPC_JAINA_PART2 ? SAY_JAINA_AGGRO : SAY_SYLVANA_AGGRO);
|
||||
me->GetMotionMaster()->MovePoint(0, LeaderEscapePos);
|
||||
events.ScheduleEvent(EVENT_ADD_GOSSIP, 8000);
|
||||
events.ScheduleEvent(EVENT_ADD_GOSSIP, 8s);
|
||||
}
|
||||
break;
|
||||
case EVENT_ADD_GOSSIP:
|
||||
@@ -1927,9 +1927,9 @@ public:
|
||||
|
||||
void JustEngagedWith(Unit* /*who*/) override
|
||||
{
|
||||
events.ScheduleEvent(1, 10000);
|
||||
events.ScheduleEvent(2, 4500);
|
||||
events.ScheduleEvent(3, 9000);
|
||||
events.ScheduleEvent(1, 10s);
|
||||
events.ScheduleEvent(2, 4500ms);
|
||||
events.ScheduleEvent(3, 9s);
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff) override
|
||||
@@ -1947,16 +1947,16 @@ public:
|
||||
case 1:
|
||||
if (Unit* target = SelectTargetFromPlayerList(30.0f, 0, true))
|
||||
me->CastSpell(target, 70144, false);
|
||||
events.ScheduleEvent(1, 12000);
|
||||
events.ScheduleEvent(1, 12s);
|
||||
break;
|
||||
case 2:
|
||||
me->CastSpell(me->GetVictim(), 70080, false);
|
||||
events.ScheduleEvent(2, 4500);
|
||||
events.ScheduleEvent(2, 4500ms);
|
||||
break;
|
||||
case 3:
|
||||
if (SelectTargetFromPlayerList(30.0f, 0, true))
|
||||
me->CastSpell(me->GetVictim(), 70145, false);
|
||||
events.ScheduleEvent(3, 9000);
|
||||
events.ScheduleEvent(3, 9s);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1996,7 +1996,7 @@ public:
|
||||
|
||||
void JustEngagedWith(Unit* /*who*/) override
|
||||
{
|
||||
events.ScheduleEvent(1, 5000);
|
||||
events.ScheduleEvent(1, 5s);
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff) override
|
||||
@@ -2015,10 +2015,10 @@ public:
|
||||
if (me->IsWithinMeleeRange(me->GetVictim()))
|
||||
{
|
||||
me->CastSpell(me->GetVictim(), 70176, false);
|
||||
events.ScheduleEvent(1, 18000);
|
||||
events.ScheduleEvent(1, 18s);
|
||||
}
|
||||
else
|
||||
events.ScheduleEvent(1, 3000);
|
||||
events.ScheduleEvent(1, 3s);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -113,7 +113,7 @@ public:
|
||||
|
||||
Talk(SAY_AGGRO);
|
||||
DoZoneInCombat();
|
||||
events.RescheduleEvent(EVENT_SPELL_THROW_SARONITE, urand(5000, 7500));
|
||||
events.RescheduleEvent(EVENT_SPELL_THROW_SARONITE, 5000ms, 7500ms);
|
||||
|
||||
if (pInstance)
|
||||
pInstance->SetData(DATA_GARFROST, IN_PROGRESS);
|
||||
@@ -127,9 +127,9 @@ public:
|
||||
me->SetReactState(REACT_PASSIVE);
|
||||
me->SetTarget();
|
||||
me->SendMeleeAttackStop(me->GetVictim());
|
||||
events.DelayEvents(8000);
|
||||
events.DelayEvents(8s);
|
||||
me->CastSpell(me, SPELL_THUNDERING_STOMP, false);
|
||||
events.RescheduleEvent(EVENT_JUMP, 1250);
|
||||
events.RescheduleEvent(EVENT_JUMP, 1250ms);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -140,9 +140,9 @@ public:
|
||||
me->SetReactState(REACT_PASSIVE);
|
||||
me->SetTarget();
|
||||
me->SendMeleeAttackStop(me->GetVictim());
|
||||
events.DelayEvents(8000);
|
||||
events.DelayEvents(8s);
|
||||
me->CastSpell(me, SPELL_THUNDERING_STOMP, false);
|
||||
events.RescheduleEvent(EVENT_JUMP, 1250);
|
||||
events.RescheduleEvent(EVENT_JUMP, 1250ms);
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -192,7 +192,7 @@ public:
|
||||
}
|
||||
else if (spell->Id == uint32(SPELL_FORGE_MACE))
|
||||
{
|
||||
events.RescheduleEvent(EVENT_SPELL_DEEP_FREEZE, 10000);
|
||||
events.RescheduleEvent(EVENT_SPELL_DEEP_FREEZE, 10s);
|
||||
SetEquipmentSlots(false, EQUIP_ID_MACE);
|
||||
me->SetReactState(REACT_AGGRESSIVE);
|
||||
me->SetControlled(false, UNIT_STATE_ROOT);
|
||||
@@ -245,7 +245,7 @@ public:
|
||||
Talk(WHISPER_BOULDER, target);
|
||||
me->CastSpell(target, SPELL_THROW_SARONITE, false);
|
||||
}
|
||||
events.RepeatEvent(urand(12500, 20000));
|
||||
events.Repeat(12s + 500ms, 20s);
|
||||
break;
|
||||
case EVENT_JUMP:
|
||||
me->DisableRotate(true);
|
||||
@@ -257,7 +257,7 @@ public:
|
||||
break;
|
||||
case EVENT_SPELL_CHILLING_WAVE:
|
||||
me->CastSpell(me->GetVictim(), SPELL_CHILLING_WAVE, false);
|
||||
events.RepeatEvent(35000);
|
||||
events.Repeat(35s);
|
||||
break;
|
||||
case EVENT_SPELL_DEEP_FREEZE:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 0.0f, true))
|
||||
@@ -265,7 +265,7 @@ public:
|
||||
Talk(EMOTE_DEEP_FREEZE, target);
|
||||
me->CastSpell(target, SPELL_DEEP_FREEZE, false);
|
||||
}
|
||||
events.RepeatEvent(35000);
|
||||
events.Repeat(35s);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -103,10 +103,10 @@ public:
|
||||
k->AI()->Talk(SAY_AGGRO);
|
||||
DoZoneInCombat();
|
||||
events.Reset();
|
||||
events.RescheduleEvent(EVENT_SPELL_TOXIC_WASTE, urand(3000, 5000));
|
||||
events.RescheduleEvent(EVENT_SPELL_MIGHTY_KICK, urand(10000, 20000));
|
||||
events.RescheduleEvent(EVENT_SPELL_SHADOW_BOLT, 10000);
|
||||
events.RescheduleEvent(EVENT_SPECIAL, 25000);
|
||||
events.RescheduleEvent(EVENT_SPELL_TOXIC_WASTE, 3s, 5s);
|
||||
events.RescheduleEvent(EVENT_SPELL_MIGHTY_KICK, 10s, 20s);
|
||||
events.RescheduleEvent(EVENT_SPELL_SHADOW_BOLT, 10s);
|
||||
events.RescheduleEvent(EVENT_SPECIAL, 25s);
|
||||
|
||||
if (pInstance)
|
||||
pInstance->SetData(DATA_ICK, IN_PROGRESS);
|
||||
@@ -121,7 +121,7 @@ public:
|
||||
Talk(EMOTE_ICK_CHASE, target);
|
||||
AttackStart(target);
|
||||
me->SetReactState(REACT_PASSIVE);
|
||||
events.RescheduleEvent(EVENT_SET_REACT_AGGRESSIVE, 12000);
|
||||
events.RescheduleEvent(EVENT_SET_REACT_AGGRESSIVE, 12s);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -186,14 +186,14 @@ public:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 40.0f, true))
|
||||
{
|
||||
k->CastSpell(target, SPELL_TOXIC_WASTE);
|
||||
events.RepeatEvent(urand(7000, 10000));
|
||||
events.Repeat(7s, 10s);
|
||||
break;
|
||||
}
|
||||
events.RepeatEvent(2500);
|
||||
events.Repeat(2500ms);
|
||||
break;
|
||||
case EVENT_SPELL_MIGHTY_KICK:
|
||||
me->CastSpell(me->GetVictim(), SPELL_MIGHTY_KICK, false);
|
||||
events.RepeatEvent(urand(20000, 25000));
|
||||
events.Repeat(20s, 25s);
|
||||
break;
|
||||
case EVENT_SPELL_SHADOW_BOLT:
|
||||
if (Creature* k = GetKrick())
|
||||
@@ -201,10 +201,10 @@ public:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 35.0f, true))
|
||||
{
|
||||
k->CastSpell(target, SPELL_SHADOW_BOLT);
|
||||
events.RepeatEvent(14000);
|
||||
events.Repeat(14s);
|
||||
break;
|
||||
}
|
||||
events.RepeatEvent(2500);
|
||||
events.Repeat(2500ms);
|
||||
break;
|
||||
case EVENT_SET_REACT_AGGRESSIVE:
|
||||
me->SetReactState(REACT_AGGRESSIVE);
|
||||
@@ -239,10 +239,10 @@ public:
|
||||
k->CastSpell(k, SPELL_EXPLOSIVE_BARRAGE_KRICK, false);
|
||||
me->CastSpell(me, SPELL_EXPLOSIVE_BARRAGE_ICK, false);
|
||||
}
|
||||
events.DelayEvents(20000);
|
||||
events.DelayEvents(20s);
|
||||
break;
|
||||
}
|
||||
events.RepeatEvent(urand(25000, 30000));
|
||||
events.Repeat(25s, 30s);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -324,7 +324,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
events.RescheduleEvent(1, 3000);
|
||||
events.RescheduleEvent(1, 3s);
|
||||
break;
|
||||
case 1:
|
||||
Talk(SAY_OUTRO_KRICK_1);
|
||||
@@ -344,7 +344,7 @@ public:
|
||||
c->DespawnOrUnsummon();
|
||||
}
|
||||
|
||||
events.RescheduleEvent(2, 7000);
|
||||
events.RescheduleEvent(2, 7s);
|
||||
break;
|
||||
case 2:
|
||||
if (pInstance)
|
||||
@@ -359,12 +359,12 @@ public:
|
||||
c->AI()->Talk(c->GetEntry() == NPC_JAINA_PART1 ? SAY_JAINA_KRICK_1 : SAY_SYLVANAS_KRICK_1);
|
||||
}
|
||||
|
||||
events.RescheduleEvent(3, 6500);
|
||||
events.RescheduleEvent(3, 6500ms);
|
||||
break;
|
||||
case 3:
|
||||
Talk(SAY_OUTRO_KRICK_2);
|
||||
|
||||
events.RescheduleEvent(4, 17000);
|
||||
events.RescheduleEvent(4, 17s);
|
||||
break;
|
||||
case 4:
|
||||
if (pInstance)
|
||||
@@ -375,12 +375,12 @@ public:
|
||||
c->AI()->Talk(c->GetEntry() == NPC_JAINA_PART1 ? SAY_JAINA_KRICK_2 : SAY_SYLVANAS_KRICK_2);
|
||||
}
|
||||
|
||||
events.RescheduleEvent(5, 6500);
|
||||
events.RescheduleEvent(5, 6500ms);
|
||||
break;
|
||||
case 5:
|
||||
Talk(SAY_OUTRO_KRICK_3);
|
||||
|
||||
events.RescheduleEvent(6, 6500);
|
||||
events.RescheduleEvent(6, 6500ms);
|
||||
break;
|
||||
case 6:
|
||||
if (pInstance)
|
||||
@@ -390,7 +390,7 @@ public:
|
||||
c->AI()->Talk(SAY_TYRANNUS_KRICK_1);
|
||||
}
|
||||
|
||||
events.RescheduleEvent(7, 4000);
|
||||
events.RescheduleEvent(7, 4s);
|
||||
break;
|
||||
case 7:
|
||||
me->CastSpell(me, 69413, true);
|
||||
@@ -400,7 +400,7 @@ public:
|
||||
me->SendMovementFlagUpdate();
|
||||
me->GetMotionMaster()->MoveTakeoff(0, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ() + 9.0f, 0.5f * 7.0f);
|
||||
|
||||
events.RescheduleEvent(8, 2000);
|
||||
events.RescheduleEvent(8, 2s);
|
||||
break;
|
||||
case 8:
|
||||
Talk(SAY_OUTRO_KRICK_4);
|
||||
@@ -424,7 +424,7 @@ public:
|
||||
me->RemoveAllAuras();
|
||||
me->GetMotionMaster()->MoveFall(0, true);
|
||||
|
||||
events.RescheduleEvent(10, 5000);
|
||||
events.RescheduleEvent(10, 5s);
|
||||
break;
|
||||
case 10:
|
||||
if (pInstance)
|
||||
|
||||
@@ -121,10 +121,10 @@ public:
|
||||
me->CastSpell(me, 43979, true);
|
||||
Talk(SAY_AGGRO);
|
||||
events.Reset();
|
||||
events.RescheduleEvent(EVENT_SPELL_FORCEFUL_SMASH, urand(14000, 16000));
|
||||
events.RescheduleEvent(EVENT_SPELL_OVERLORDS_BRAND, urand(4000, 6000));
|
||||
events.RescheduleEvent(EVENT_RIMEFANG_SPELL_ICY_BLAST, 5000);
|
||||
events.RescheduleEvent(EVENT_SPELL_MARK_OF_RIMEFANG, 25000);
|
||||
events.RescheduleEvent(EVENT_SPELL_FORCEFUL_SMASH, 14s, 16s);
|
||||
events.RescheduleEvent(EVENT_SPELL_OVERLORDS_BRAND, 4s, 6s);
|
||||
events.RescheduleEvent(EVENT_RIMEFANG_SPELL_ICY_BLAST, 5s);
|
||||
events.RescheduleEvent(EVENT_SPELL_MARK_OF_RIMEFANG, 25s);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -159,7 +159,7 @@ public:
|
||||
{
|
||||
me->CastSpell(me->GetVictim(), SPELL_FORCEFUL_SMASH, false);
|
||||
|
||||
events.RescheduleEvent(EVENT_SPELL_UNHOLY_POWER, 1000);
|
||||
events.RescheduleEvent(EVENT_SPELL_UNHOLY_POWER, 1s);
|
||||
break;
|
||||
}
|
||||
events.RepeatEvent(3000);
|
||||
@@ -169,18 +169,18 @@ public:
|
||||
Talk(EMOTE_DARK_MIGHT);
|
||||
me->CastSpell(me, SPELL_UNHOLY_POWER, false);
|
||||
|
||||
events.ScheduleEvent(EVENT_SPELL_FORCEFUL_SMASH, urand(40000, 48000));
|
||||
events.ScheduleEvent(EVENT_SPELL_FORCEFUL_SMASH, 40s, 48s);
|
||||
break;
|
||||
case EVENT_SPELL_OVERLORDS_BRAND:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 95.0f, true))
|
||||
me->CastSpell(target, SPELL_OVERLORDS_BRAND, false);
|
||||
events.RepeatEvent(urand(11000, 12000));
|
||||
events.Repeat(11s, 12s);
|
||||
break;
|
||||
case EVENT_RIMEFANG_SPELL_ICY_BLAST:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 190.0f, true))
|
||||
if (Creature* c = pInstance->instance->GetCreature(pInstance->GetGuidData(DATA_RIMEFANG_GUID)))
|
||||
c->CastSpell(target, RIMEFANG_SPELL_ICY_BLAST, false);
|
||||
events.RepeatEvent(5000);
|
||||
events.Repeat(5s);
|
||||
break;
|
||||
case EVENT_SPELL_MARK_OF_RIMEFANG:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 190.0f, true))
|
||||
@@ -190,8 +190,8 @@ public:
|
||||
Talk(EMOTE_MARK, target);
|
||||
c->CastSpell(target, RIMEFANG_SPELL_HOARFROST, false);
|
||||
}
|
||||
events.RepeatEvent(25000);
|
||||
events.RescheduleEvent(EVENT_RIMEFANG_SPELL_ICY_BLAST, 10000);
|
||||
events.Repeat(25s);
|
||||
events.RescheduleEvent(EVENT_RIMEFANG_SPELL_ICY_BLAST, 10s);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -64,7 +64,7 @@ public:
|
||||
if (type == DATA_START_INTRO && pInstance->GetData(DATA_INSTANCE_PROGRESS) == INSTANCE_PROGRESS_NONE && counter == 0 && !me->IsVisible())
|
||||
{
|
||||
me->setActive(true);
|
||||
events.RescheduleEvent(1, 0);
|
||||
events.RescheduleEvent(1, 0ms);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -97,11 +97,11 @@ public:
|
||||
}
|
||||
|
||||
++counter;
|
||||
events.RepeatEvent(150);
|
||||
events.Repeat(150ms);
|
||||
}
|
||||
else
|
||||
{
|
||||
events.RescheduleEvent(2, 2500);
|
||||
events.RescheduleEvent(2, 2500ms);
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -113,14 +113,14 @@ public:
|
||||
c->AI()->Talk(SAY_TYRANNUS_INTRO_1);
|
||||
}
|
||||
|
||||
events.RescheduleEvent(3, 7000);
|
||||
events.RescheduleEvent(3, 7s);
|
||||
break;
|
||||
case 3:
|
||||
if (pInstance)
|
||||
if (Creature* c = pInstance->instance->GetCreature(pInstance->GetGuidData(DATA_TYRANNUS_EVENT_GUID)))
|
||||
c->AI()->Talk(SAY_TYRANNUS_INTRO_2);
|
||||
|
||||
events.RescheduleEvent(4, 14000);
|
||||
events.RescheduleEvent(4, 14s);
|
||||
break;
|
||||
case 4:
|
||||
if (pInstance)
|
||||
@@ -161,19 +161,19 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
events.RescheduleEvent(5, 1);
|
||||
events.RescheduleEvent(5, 1ms);
|
||||
break;
|
||||
case 5:
|
||||
Talk(me->GetEntry() == NPC_JAINA_PART1 ? SAY_JAINA_INTRO_1 : SAY_SYLVANAS_INTRO_1);
|
||||
|
||||
events.RescheduleEvent(6, 1000);
|
||||
events.RescheduleEvent(6, 1s);
|
||||
break;
|
||||
case 6:
|
||||
if (pInstance)
|
||||
if (Creature* c = pInstance->instance->GetCreature(pInstance->GetGuidData(DATA_TYRANNUS_EVENT_GUID)))
|
||||
c->AI()->Talk(SAY_TYRANNUS_INTRO_3);
|
||||
|
||||
events.RescheduleEvent(7, 5000);
|
||||
events.RescheduleEvent(7, 5s);
|
||||
break;
|
||||
case 7: /// @todo: (Initial RP, when zoning in the instance) is not complete.
|
||||
if (pInstance)
|
||||
@@ -202,14 +202,14 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
events.RescheduleEvent(8, 7000);
|
||||
events.RescheduleEvent(8, 7s);
|
||||
break;
|
||||
case 8:
|
||||
if (pInstance)
|
||||
if (Creature* c = pInstance->instance->GetCreature(pInstance->GetGuidData(DATA_TYRANNUS_EVENT_GUID)))
|
||||
c->CastSpell(c, 69753, false);
|
||||
|
||||
events.RescheduleEvent(9, 400);
|
||||
events.RescheduleEvent(9, 400ms);
|
||||
break;
|
||||
case 9:
|
||||
if (pInstance)
|
||||
@@ -223,12 +223,12 @@ public:
|
||||
c->GetMotionMaster()->MoveFall(0, true);
|
||||
}
|
||||
|
||||
events.RescheduleEvent(10, 1000);
|
||||
events.RescheduleEvent(10, 1s);
|
||||
break;
|
||||
case 10:
|
||||
Talk(me->GetEntry() == NPC_JAINA_PART1 ? SAY_JAINA_INTRO_2 : SAY_SYLVANAS_INTRO_2);
|
||||
|
||||
events.RescheduleEvent(11, 1000);
|
||||
events.RescheduleEvent(11, 1s);
|
||||
break;
|
||||
case 11:
|
||||
if (pInstance)
|
||||
@@ -243,7 +243,7 @@ public:
|
||||
c->CastSpell(c, 69350, true);
|
||||
}
|
||||
|
||||
events.RescheduleEvent(12, 2000);
|
||||
events.RescheduleEvent(12, 2s);
|
||||
break;
|
||||
case 12:
|
||||
if (pInstance)
|
||||
@@ -264,7 +264,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
events.RescheduleEvent(13, 3000);
|
||||
events.RescheduleEvent(13, 3s);
|
||||
break;
|
||||
case 13:
|
||||
if (pInstance)
|
||||
@@ -284,7 +284,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
events.RescheduleEvent(14, 2000);
|
||||
events.RescheduleEvent(14, 2s);
|
||||
break;
|
||||
case 14:
|
||||
if (pInstance)
|
||||
@@ -303,7 +303,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
events.RescheduleEvent(15, 2000);
|
||||
events.RescheduleEvent(15, 2s);
|
||||
break;
|
||||
case 15:
|
||||
if (pInstance)
|
||||
@@ -319,7 +319,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
events.RescheduleEvent(16, 3000);
|
||||
events.RescheduleEvent(16, 3s);
|
||||
break;
|
||||
case 16:
|
||||
Talk(me->GetEntry() == NPC_JAINA_PART1 ? SAY_JAINA_INTRO_4 : SAY_SYLVANAS_INTRO_3);
|
||||
@@ -344,7 +344,7 @@ public:
|
||||
pInstance->SetData(DATA_INSTANCE_PROGRESS, INSTANCE_PROGRESS_FINISHED_INTRO);
|
||||
}
|
||||
|
||||
events.RescheduleEvent(17, 5000);
|
||||
events.RescheduleEvent(17, 5s);
|
||||
break;
|
||||
case 17:
|
||||
me->setActive(false);
|
||||
@@ -438,8 +438,8 @@ public:
|
||||
// if (SPELL_NECROLYTE_CHANNELING)
|
||||
me->RemoveAura(SPELL_NECROLYTE_CHANNELING);
|
||||
events.Reset();
|
||||
events.RescheduleEvent(1, 0);
|
||||
events.RescheduleEvent(2, urand(5000, 9000));
|
||||
events.RescheduleEvent(1, 0ms);
|
||||
events.RescheduleEvent(2, 5s, 9s);
|
||||
|
||||
if (Creature* c = pInstance->instance->GetCreature(pInstance->GetGuidData(DATA_LEADER_FIRST_GUID)))
|
||||
c->AI()->SetData(DATA_START_INTRO, 0);
|
||||
@@ -473,12 +473,12 @@ public:
|
||||
break;
|
||||
case 1: // Shadow Bolt
|
||||
me->CastSpell(me->GetVictim(), 69577, false);
|
||||
events.RepeatEvent(4000);
|
||||
events.Repeat(4s);
|
||||
break;
|
||||
case 2: // Conversion Beam
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 30.0f, true))
|
||||
me->CastSpell(target, 69578, false);
|
||||
events.RepeatEvent(urand(20000, 25000));
|
||||
events.Repeat(20s, 25s);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -522,7 +522,7 @@ public:
|
||||
switch(id)
|
||||
{
|
||||
case 1:
|
||||
events.RescheduleEvent(id, 0);
|
||||
events.RescheduleEvent(id, 0ms);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -552,14 +552,14 @@ public:
|
||||
c->GetMotionMaster()->MovePath(FBSData[i].pathId, false);
|
||||
++i;
|
||||
}
|
||||
events.RescheduleEvent(2, 3000);
|
||||
events.RescheduleEvent(2, 3s);
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
if (Creature* c = me->SummonCreature(NPC_TYRANNUS_VOICE, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ() - 10.0f, me->GetOrientation(), TEMPSUMMON_TIMED_DESPAWN, 1))
|
||||
c->AI()->Talk(SAY_TYRANNUS_GARFROST);
|
||||
|
||||
events.RescheduleEvent(3, 4000);
|
||||
events.RescheduleEvent(3, 4s);
|
||||
break;
|
||||
case 3:
|
||||
Talk(SAY_GENERAL_GARFROST);
|
||||
@@ -603,18 +603,18 @@ public:
|
||||
me->setActive(false);
|
||||
break;
|
||||
case 1:
|
||||
events.ScheduleEvent(1, 0);
|
||||
events.ScheduleEvent(1, 0ms);
|
||||
break;
|
||||
case 2:
|
||||
events.ScheduleEvent(2, 0);
|
||||
events.ScheduleEvent(2, 0ms);
|
||||
break;
|
||||
case 3:
|
||||
events.ScheduleEvent(4, 0);
|
||||
events.ScheduleEvent(4, 0ms);
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if (type == EFFECT_MOTION_TYPE && id == 10)
|
||||
events.ScheduleEvent(6, 0);
|
||||
events.ScheduleEvent(6, 0ms);
|
||||
}
|
||||
|
||||
void SetData(uint32 type, uint32 id) override
|
||||
@@ -639,8 +639,8 @@ public:
|
||||
pInstance->SetData(DATA_INSTANCE_PROGRESS, INSTANCE_PROGRESS_AFTER_WARN_1);
|
||||
Talk(SAY_TYRANNUS_AMBUSH_1);
|
||||
killsLeft = 10;
|
||||
events.ScheduleEvent(30, 0);
|
||||
events.ScheduleEvent(3, 25000);
|
||||
events.ScheduleEvent(30, 0ms);
|
||||
events.ScheduleEvent(3, 25s);
|
||||
break;
|
||||
case 2:
|
||||
if (pInstance->GetData(DATA_INSTANCE_PROGRESS) != INSTANCE_PROGRESS_AFTER_WARN_1)
|
||||
@@ -650,8 +650,8 @@ public:
|
||||
pInstance->SetData(DATA_INSTANCE_PROGRESS, INSTANCE_PROGRESS_AFTER_WARN_2);
|
||||
Talk(SAY_TYRANNUS_AMBUSH_2);
|
||||
killsLeft = (Difficulty(me->GetMap()->GetSpawnMode()) == DUNGEON_DIFFICULTY_HEROIC ? 12 : 6);
|
||||
events.ScheduleEvent(60, 0);
|
||||
events.ScheduleEvent(5, 20000);
|
||||
events.ScheduleEvent(60, 0ms);
|
||||
events.ScheduleEvent(5, 20s);
|
||||
break;
|
||||
break;
|
||||
case 3:
|
||||
@@ -716,8 +716,8 @@ public:
|
||||
path.push_back(G3D::Vector3(883.15f, 54.6254f, 528.5f));
|
||||
c->GetMotionMaster()->MoveSplinePath(&path);
|
||||
}
|
||||
events.ScheduleEvent(31, 500);
|
||||
events.ScheduleEvent(32, 500);
|
||||
events.ScheduleEvent(31, 500ms);
|
||||
events.ScheduleEvent(32, 500ms);
|
||||
}
|
||||
break;
|
||||
case 31:
|
||||
@@ -725,34 +725,34 @@ public:
|
||||
if (c->GetMotionMaster()->GetCurrentMovementGeneratorType() != ESCORT_MOTION_TYPE)
|
||||
{
|
||||
c->CastSpell(c, 69516, false);
|
||||
events.ScheduleEvent(33, 3000);
|
||||
events.ScheduleEvent(33, 3s);
|
||||
break;
|
||||
}
|
||||
events.ScheduleEvent(31, 500);
|
||||
events.ScheduleEvent(31, 500ms);
|
||||
break;
|
||||
case 32:
|
||||
if (Creature* c = pInstance->instance->GetCreature(deathbringerGUID[1]))
|
||||
if (c->GetMotionMaster()->GetCurrentMovementGeneratorType() != ESCORT_MOTION_TYPE)
|
||||
{
|
||||
c->CastSpell(c, 69516, false);
|
||||
events.ScheduleEvent(34, 3000);
|
||||
events.ScheduleEvent(34, 3s);
|
||||
break;
|
||||
}
|
||||
events.ScheduleEvent(32, 500);
|
||||
events.ScheduleEvent(32, 500ms);
|
||||
break;
|
||||
case 33:
|
||||
me->SummonCreature(NPC_YMIRJAR_WRATHBRINGER, 919.733f, 89.0972f, 558.959f, 3.85718f);
|
||||
me->SummonCreature(NPC_YMIRJAR_WRATHBRINGER, 911.936f, 63.3542f, 547.698f, 3.735f);
|
||||
me->SummonCreature(NPC_YMIRJAR_FLAMEBEARER, 909.356f, 83.1684f, 551.717f, 3.57792f);
|
||||
me->SummonCreature(NPC_YMIRJAR_FLAMEBEARER, 920.946f, 69.1667f, 557.594f, 3.1765f);
|
||||
events.ScheduleEvent(35, 3500);
|
||||
events.ScheduleEvent(35, 3500ms);
|
||||
break;
|
||||
case 34:
|
||||
me->SummonCreature(NPC_YMIRJAR_WRATHBRINGER, 879.464f, 41.1997f, 521.394f, 3.735f);
|
||||
me->SummonCreature(NPC_YMIRJAR_WRATHBRINGER, 885.715f, 65.5156f, 533.631f, 3.85718f);
|
||||
me->SummonCreature(NPC_YMIRJAR_FLAMEBEARER, 876.884f, 61.0139f, 527.715f, 3.57792f);
|
||||
me->SummonCreature(NPC_YMIRJAR_FLAMEBEARER, 889.49f, 45.2865f, 527.233f, 3.97935f);
|
||||
events.ScheduleEvent(36, 3500);
|
||||
events.ScheduleEvent(36, 3500ms);
|
||||
break;
|
||||
case 35:
|
||||
if (Creature* c = pInstance->instance->GetCreature(deathbringerGUID[0]))
|
||||
@@ -923,8 +923,8 @@ public:
|
||||
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_READY1H);
|
||||
i = 0;
|
||||
events.Reset();
|
||||
events.RescheduleEvent(1, 500);
|
||||
events.RescheduleEvent(2, 15000);
|
||||
events.RescheduleEvent(1, 500ms);
|
||||
events.RescheduleEvent(2, 15s);
|
||||
|
||||
if (pInstance)
|
||||
if (Creature* c = pInstance->instance->GetCreature(pInstance->GetGuidData(DATA_TYRANNUS_GUID)))
|
||||
@@ -950,7 +950,7 @@ public:
|
||||
{
|
||||
if (type == POINT_MOTION_TYPE && id == 2)
|
||||
{
|
||||
events.RescheduleEvent(5, 1000);
|
||||
events.RescheduleEvent(5, 1s);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1024,12 +1024,12 @@ public:
|
||||
c->GetMotionMaster()->MovePoint(0, TSData[i].x, TSData[i].y, TSHeight);
|
||||
}
|
||||
++i;
|
||||
events.ScheduleEvent(1, 150);
|
||||
events.ScheduleEvent(1, 150ms);
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
Talk(me->GetEntry() == NPC_MARTIN_VICTUS_2 ? SAY_GENERAL_ALLIANCE_TRASH : SAY_GENERAL_HORDE_TRASH);
|
||||
events.RescheduleEvent(3, 8000);
|
||||
events.RescheduleEvent(3, 8s);
|
||||
break;
|
||||
case 3:
|
||||
if (pInstance)
|
||||
@@ -1046,9 +1046,9 @@ public:
|
||||
c->SetOrientation(5.26f);
|
||||
c->SetHomePosition(*c);
|
||||
}
|
||||
events.RescheduleEvent(10, 15000);
|
||||
events.RescheduleEvent(10, 15s);
|
||||
|
||||
events.RescheduleEvent(4, 15000);
|
||||
events.RescheduleEvent(4, 15s);
|
||||
break;
|
||||
case 4:
|
||||
if (pInstance)
|
||||
@@ -1176,8 +1176,8 @@ public:
|
||||
{
|
||||
if (p == 1)
|
||||
{
|
||||
events.RescheduleEvent(1, me->GetEntry() == NPC_JAINA_PART2 ? 15500 : 18000);
|
||||
events.RescheduleEvent(2, me->GetEntry() == NPC_JAINA_PART2 ? 16500 : 19000);
|
||||
events.RescheduleEvent(1, me->GetEntry() == NPC_JAINA_PART2 ? 15s + 500ms : 18s);
|
||||
events.RescheduleEvent(2, me->GetEntry() == NPC_JAINA_PART2 ? 16s + 500ms : 19s);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1238,20 +1238,20 @@ public:
|
||||
if (Creature* c = pInstance->instance->GetCreature(pInstance->GetGuidData(DATA_MARTIN_OR_GORKUN_GUID)))
|
||||
c->AI()->Talk(SAY_GENERAL_OUTRO_2);
|
||||
|
||||
events.RescheduleEvent(3, me->GetEntry() == NPC_JAINA_PART2 ? 7000 : 8000);
|
||||
events.RescheduleEvent(3, me->GetEntry() == NPC_JAINA_PART2 ? 7s : 8s);
|
||||
break;
|
||||
case 3:
|
||||
Talk(me->GetEntry() == NPC_JAINA_PART2 ? SAY_JAINA_OUTRO_1 : SAY_SYLVANAS_OUTRO_1);
|
||||
me->CastSpell(me, me->GetEntry() == NPC_JAINA_PART2 ? SPELL_TELEPORT_JAINA_VISUAL : SPELL_TELEPORT_SYLVANAS_VISUAL, true);
|
||||
|
||||
events.RescheduleEvent(4, 2000);
|
||||
events.RescheduleEvent(4, 2s);
|
||||
break;
|
||||
case 4:
|
||||
me->CastSpell(me, me->GetEntry() == NPC_JAINA_PART2 ? SPELL_TELEPORT_JAINA : SPELL_TELEPORT_SYLVANAS, true);
|
||||
if (GameObject* barrier = me->SummonGameObject(203005, 1055.49f, 115.03f, 628.15f, 2.08f, 0.0f, 0.0f, 0.0f, 0.0f, 86400, false))
|
||||
barrierGUID = barrier->GetGUID();
|
||||
|
||||
events.RescheduleEvent(5, 1500);
|
||||
events.RescheduleEvent(5, 1500ms);
|
||||
break;
|
||||
case 5:
|
||||
if (pInstance)
|
||||
@@ -1261,15 +1261,15 @@ public:
|
||||
c->CastSpell(x->GetPositionX(), x->GetPositionY(), x->GetPositionZ(), SPELL_SINDRAGOSA_FROST_BOMB_POS, true);
|
||||
}
|
||||
|
||||
events.RescheduleEvent(6, 5000);
|
||||
events.RescheduleEvent(10, 2000);
|
||||
events.RescheduleEvent(6, 5s);
|
||||
events.RescheduleEvent(10, 2s);
|
||||
break;
|
||||
case 6:
|
||||
if (pInstance)
|
||||
if (Creature* c = pInstance->instance->GetCreature(pInstance->GetGuidData(DATA_SINDRAGOSA_GUID)))
|
||||
c->GetMotionMaster()->MovePoint(0, TSSindragosaPos1);
|
||||
|
||||
events.RescheduleEvent(7, 4500);
|
||||
events.RescheduleEvent(7, 4500ms);
|
||||
break;
|
||||
case 7:
|
||||
if (pInstance)
|
||||
@@ -1279,7 +1279,7 @@ public:
|
||||
barrier->Delete();
|
||||
barrierGUID.Clear();
|
||||
|
||||
events.RescheduleEvent(8, 2000);
|
||||
events.RescheduleEvent(8, 2s);
|
||||
break;
|
||||
case 8:
|
||||
me->GetMotionMaster()->MovePath(me->GetEntry() == NPC_JAINA_PART2 ? PATH_BEGIN_VALUE + 16 : PATH_BEGIN_VALUE + 17, false);
|
||||
|
||||
Reference in New Issue
Block a user