refactor(Scripts): Update vanilla scripts to std::chrono (#14876)

Co-authored-by: Maelthyrr <AmanThul-Project@proton.me>
Co-authored-by: Skjalf <47818697+Nyeriah@users.noreply.github.com>
This commit is contained in:
Maelthyr
2023-02-05 16:35:48 +01:00
committed by GitHub
parent b80470545d
commit afb071bb04
69 changed files with 822 additions and 831 deletions

View File

@@ -95,12 +95,12 @@ public:
void Reset() override
{
events.Reset();
events.ScheduleEvent(EVENT_CHARGE_TARGET, urand(2 * IN_MILLISECONDS, 12 * IN_MILLISECONDS));
events.ScheduleEvent(EVENT_CLEAVE, urand(1 * IN_MILLISECONDS, 11 * IN_MILLISECONDS));
events.ScheduleEvent(EVENT_DEMORALIZING_SHOUT, 2000);
events.ScheduleEvent(EVENT_WHIRLWIND, urand(5 * IN_MILLISECONDS, 20 * IN_MILLISECONDS));
events.ScheduleEvent(EVENT_ENRAGE, urand(5 * IN_MILLISECONDS, 20 * IN_MILLISECONDS));
events.ScheduleEvent(EVENT_CHECK_RESET, 5000);
events.ScheduleEvent(EVENT_CHARGE_TARGET, 2s, 12s);
events.ScheduleEvent(EVENT_CLEAVE, 1s, 11s);
events.ScheduleEvent(EVENT_DEMORALIZING_SHOUT, 2s);
events.ScheduleEvent(EVENT_WHIRLWIND, 5s, 20s);
events.ScheduleEvent(EVENT_ENRAGE, 5s, 20s);
events.ScheduleEvent(EVENT_CHECK_RESET, 5s);
_hasAura = false;
_attacked = false;
@@ -187,23 +187,23 @@ public:
{
case EVENT_CHARGE_TARGET:
DoCastVictim(SPELL_CHARGE);
events.ScheduleEvent(EVENT_CHARGE, urand(10 * IN_MILLISECONDS, 25 * IN_MILLISECONDS));
events.ScheduleEvent(EVENT_CHARGE, 10s, 25s);
break;
case EVENT_CLEAVE:
DoCastVictim(SPELL_CLEAVE);
events.ScheduleEvent(EVENT_CLEAVE, urand(10 * IN_MILLISECONDS, 16 * IN_MILLISECONDS));
events.ScheduleEvent(EVENT_CLEAVE, 10s, 16s);
break;
case EVENT_DEMORALIZING_SHOUT:
DoCast(me, SPELL_DEMORALIZING_SHOUT);
events.ScheduleEvent(EVENT_DEMORALIZING_SHOUT, urand(10 * IN_MILLISECONDS, 15 * IN_MILLISECONDS));
events.ScheduleEvent(EVENT_DEMORALIZING_SHOUT, 10s, 15s);
break;
case EVENT_WHIRLWIND:
DoCast(me, SPELL_WHIRLWIND);
events.ScheduleEvent(EVENT_WHIRLWIND, urand(10 * IN_MILLISECONDS, 25 * IN_MILLISECONDS));
events.ScheduleEvent(EVENT_WHIRLWIND, 10s, 25s);
break;
case EVENT_ENRAGE:
DoCast(me, SPELL_ENRAGE);
events.ScheduleEvent(EVENT_ENRAGE, urand(10 * IN_MILLISECONDS, 30 * IN_MILLISECONDS));
events.ScheduleEvent(EVENT_ENRAGE, 10s, 30s);
break;
case EVENT_CHECK_RESET:
{

View File

@@ -80,7 +80,7 @@ public:
switch (param)
{
case EVENT_SUMMON_SPIRITS:
_events.ScheduleEvent(EVENT_SUMMON_SPIRITS, urand(12, 14)*IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_SUMMON_SPIRITS, 12s, 14s);
break;
}
}
@@ -106,11 +106,11 @@ public:
void EnterCombat(Unit* /*who*/) override
{
_events.ScheduleEvent(EVENT_SPELL_FIREBLAST, 2 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_SPELL_FIREBLAST, 2s);
// Spawn 7 Embers initially
for (int i = 0; i < 4; ++i)
_events.ScheduleEvent(EVENT_SUMMON_SPIRITS, 4 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_SUMMON_SPIRITS, 4s);
// Activate the runes (Start burning)
TurnRunes(true);
@@ -183,7 +183,7 @@ public:
{
// Make the Spirits chase Ambassador Flamelash
me->SummonCreature(NPC_FIRE_SPIRIT, SummonPositions[getValidRandomPosition()], TEMPSUMMON_CORPSE_TIMED_DESPAWN, 60 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_SUMMON_SPIRITS, urand(12, 14) * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_SUMMON_SPIRITS, 12s, 14s);
}
void UpdateAI(uint32 diff) override
@@ -198,7 +198,7 @@ public:
{
case EVENT_SPELL_FIREBLAST:
DoCastVictim(SPELL_FIREBLAST);
_events.ScheduleEvent(EVENT_SPELL_FIREBLAST, 7 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_SPELL_FIREBLAST, 7s);
break;
case EVENT_SUMMON_SPIRITS:
SummonSpirits();

View File

@@ -63,8 +63,8 @@ public:
}
me->CallForHelp(VISIBLE_RANGE);
events.ScheduleEvent(SPELL_HANDOFTHAURISSAN, urand(4000, 7000));
events.ScheduleEvent(SPELL_AVATAROFFLAME, urand(10000, 12000));
events.ScheduleEvent(SPELL_HANDOFTHAURISSAN, 4s, 7s);
events.ScheduleEvent(SPELL_AVATAROFFLAME, 10s, 12s);
}
void KilledUnit(Unit* /*victim*/) override
@@ -118,11 +118,11 @@ public:
case SPELL_HANDOFTHAURISSAN:
DoCast(SelectTarget(SelectTargetMethod::Random), SPELL_HANDOFTHAURISSAN);
//DoCastVictim(SPELL_HANDOFTHAURISSAN);
events.ScheduleEvent(SPELL_HANDOFTHAURISSAN, urand(4000, 7000));
events.ScheduleEvent(SPELL_HANDOFTHAURISSAN, 4s, 7s);
break;
case SPELL_AVATAROFFLAME:
DoCastSelf(SPELL_AVATAROFFLAME);
events.ScheduleEvent(SPELL_AVATAROFFLAME, urand(23000, 27000));
events.ScheduleEvent(SPELL_AVATAROFFLAME, 23s, 27s);
break;
default:
break;

View File

@@ -25,14 +25,6 @@ enum Spells
SPELL_WARSTOMP = 24375
};
enum SpellTimers
{
SPELL_FIERYBURST_MIN = 4000,
SPELL_FIERYBURST_MAX = 8000,
SPELL_WARSTOMP_MIN = 8000,
SPELL_WARSTOMP_MAX = 12000
};
class boss_magmus : public CreatureScript
{
public:
@@ -57,9 +49,8 @@ public:
{
instance->SetData(TYPE_IRON_HALL, IN_PROGRESS);
_EnterCombat();
events.ScheduleEvent(SPELL_FIERYBURST, urand(SPELL_FIERYBURST_MIN, SPELL_FIERYBURST_MAX));
events.ScheduleEvent(SPELL_WARSTOMP, urand(SPELL_WARSTOMP_MIN, SPELL_WARSTOMP_MAX));
events.ScheduleEvent(SPELL_WARSTOMP, 8s, 12s);
events.ScheduleEvent(SPELL_FIERYBURST, 4s, 8s);
}
void UpdateAI(uint32 diff) override
@@ -77,11 +68,11 @@ public:
{
case SPELL_WARSTOMP:
DoCastVictim(SPELL_WARSTOMP);
events.ScheduleEvent(SPELL_WARSTOMP, urand(SPELL_WARSTOMP_MIN, SPELL_WARSTOMP_MAX));
events.ScheduleEvent(SPELL_WARSTOMP, 8s, 12s);
break;
case SPELL_FIERYBURST:
DoCastVictim(SPELL_FIERYBURST);
events.ScheduleEvent(SPELL_FIERYBURST, urand(SPELL_FIERYBURST_MIN, SPELL_FIERYBURST_MAX));
events.ScheduleEvent(SPELL_FIERYBURST, 4s, 8s);
break;
default:
break;

View File

@@ -193,11 +193,11 @@ public:
void EnterCombat(Unit* /*who*/) override
{
_events.ScheduleEvent(EVENT_SPELL_SHADOWBOLTVOLLEY, 10000);
_events.ScheduleEvent(EVENT_SPELL_IMMOLATE, 18000);
_events.ScheduleEvent(EVENT_SPELL_CURSEOFWEAKNESS, 5000);
_events.ScheduleEvent(EVENT_SPELL_DEMONARMOR, 16000);
_events.ScheduleEvent(EVENT_SPELL_SUMMON_VOIDWALKERS, 1000);
_events.ScheduleEvent(EVENT_SPELL_SHADOWBOLTVOLLEY, 10s);
_events.ScheduleEvent(EVENT_SPELL_IMMOLATE, 18s);
_events.ScheduleEvent(EVENT_SPELL_CURSEOFWEAKNESS, 5s);
_events.ScheduleEvent(EVENT_SPELL_DEMONARMOR, 16s);
_events.ScheduleEvent(EVENT_SPELL_SUMMON_VOIDWALKERS, 1s);
}
void EnterEvadeMode(EvadeReason /*why*/) override
@@ -222,24 +222,24 @@ public:
{
case EVENT_SPELL_SHADOWBOLTVOLLEY:
DoCastVictim(SPELL_SHADOWBOLTVOLLEY);
_events.ScheduleEvent(EVENT_SPELL_SHADOWBOLTVOLLEY, 12000);
_events.ScheduleEvent(EVENT_SPELL_SHADOWBOLTVOLLEY, 12s);
break;
case EVENT_SPELL_IMMOLATE:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 100, true))
{
DoCast(target, SPELL_IMMOLATE);
_events.ScheduleEvent(EVENT_SPELL_IMMOLATE, 25000);
_events.ScheduleEvent(EVENT_SPELL_IMMOLATE, 25s);
}
// Didn't get a target, try again in 1s
_events.ScheduleEvent(EVENT_SPELL_IMMOLATE, 1000);
_events.ScheduleEvent(EVENT_SPELL_IMMOLATE, 1s);
break;
case EVENT_SPELL_CURSEOFWEAKNESS:
DoCastVictim(SPELL_CURSEOFWEAKNESS);
_events.ScheduleEvent(EVENT_SPELL_CURSEOFWEAKNESS, 45000);
_events.ScheduleEvent(EVENT_SPELL_CURSEOFWEAKNESS, 45s);
break;
case EVENT_SPELL_DEMONARMOR:
DoCast(me, SPELL_DEMONARMOR);
_events.ScheduleEvent(EVENT_SPELL_DEMONARMOR, 300000);
_events.ScheduleEvent(EVENT_SPELL_DEMONARMOR, 300s);
break;
case EVENT_SPELL_SUMMON_VOIDWALKERS:
if (!Voidwalkers && HealthBelowPct(51))
@@ -248,7 +248,7 @@ public:
Voidwalkers = true;
}
// Not ready yet, try again in 1s
_events.ScheduleEvent(EVENT_SPELL_SUMMON_VOIDWALKERS, 1000);
_events.ScheduleEvent(EVENT_SPELL_SUMMON_VOIDWALKERS, 1s);
break;
}

View File

@@ -55,12 +55,12 @@ public:
void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
events.ScheduleEvent(EVENT_FLAMESTRIKE, 6000);
events.ScheduleEvent(EVENT_CLEAVE, 8000);
events.ScheduleEvent(EVENT_CONFLAGRATION, 15000);
events.ScheduleEvent(EVENT_THUNDERCLAP, 17000);
events.ScheduleEvent(EVENT_PIERCE_ARMOR, 5000);
events.ScheduleEvent(EVENT_RAGE, 1000);
events.ScheduleEvent(EVENT_FLAMESTRIKE, 6s);
events.ScheduleEvent(EVENT_CLEAVE, 8s);
events.ScheduleEvent(EVENT_CONFLAGRATION, 15s);
events.ScheduleEvent(EVENT_THUNDERCLAP, 17s);
events.ScheduleEvent(EVENT_PIERCE_ARMOR, 5s);
events.ScheduleEvent(EVENT_RAGE, 1s);
}
void UpdateAI(uint32 diff) override
@@ -79,11 +79,11 @@ public:
{
case EVENT_FLAMESTRIKE:
DoCastAOE(SPELL_FLAMESTRIKE);
events.ScheduleEvent(EVENT_FLAMESTRIKE, 10000);
events.ScheduleEvent(EVENT_FLAMESTRIKE, 10s);
break;
case EVENT_CLEAVE:
DoCastVictim(SPELL_CLEAVE);
events.ScheduleEvent(EVENT_CLEAVE, 8000);
events.ScheduleEvent(EVENT_CLEAVE, 8s);
break;
case EVENT_CONFLAGRATION:
DoCastVictim(SPELL_CONFLAGRATION);
@@ -94,20 +94,20 @@ public:
_conflagrateThreat = me->GetThreatMgr().GetThreat(me->GetVictim());
me->GetThreatMgr().ModifyThreatByPercent(target, -100);
}
events.ScheduleEvent(EVENT_CONFLAGRATION, urand(10000, 13000));
events.ScheduleEvent(EVENT_CHECK_CONFLAGRATION_TARGET, 10000);
events.ScheduleEvent(EVENT_CONFLAGRATION, 10s, 13s);
events.ScheduleEvent(EVENT_CHECK_CONFLAGRATION_TARGET, 10s);
break;
case EVENT_THUNDERCLAP:
DoCastVictim(SPELL_THUNDERCLAP);
events.ScheduleEvent(EVENT_THUNDERCLAP, 20000);
events.ScheduleEvent(EVENT_THUNDERCLAP, 20s);
break;
case EVENT_PIERCE_ARMOR:
DoCastVictim(SPELL_PIERCE_ARMOR);
events.ScheduleEvent(EVENT_PIERCE_ARMOR, 40000);
events.ScheduleEvent(EVENT_PIERCE_ARMOR, 40s);
break;
case EVENT_RAGE:
DoCastSelf(SPELL_RAGE);
events.ScheduleEvent(EVENT_RAGE, 35000);
events.ScheduleEvent(EVENT_RAGE, 35s);
break;
case EVENT_CHECK_CONFLAGRATION_TARGET:
if (Unit* target = ObjectAccessor::GetUnit(*me, _conflagrateTarget))

View File

@@ -74,10 +74,10 @@ public:
{
_EnterCombat();
events.ScheduleEvent(EVENT_CORROSIVE_ACID, urand(8000, 16000));
events.ScheduleEvent(EVENT_FREEZE, urand(8000, 16000));
events.ScheduleEvent(EVENT_FLAME_BREATH, urand(8000, 16000));
events.ScheduleEvent(EVENT_KNOCK_AWAY, urand(12000, 18000));
events.ScheduleEvent(EVENT_CORROSIVE_ACID, 8s, 16s);
events.ScheduleEvent(EVENT_FREEZE, 8s, 16s);
events.ScheduleEvent(EVENT_FLAME_BREATH, 8s, 16s);
events.ScheduleEvent(EVENT_KNOCK_AWAY, 12s, 18s);
}
void EnterEvadeMode(EvadeReason why) override
@@ -132,7 +132,7 @@ public:
me->AddAura(SPELL_REND_MOUNTS, me);
if (GameObject* portcullis = me->FindNearestGameObject(GO_DR_PORTCULLIS, 40.0f))
portcullis->UseDoorOrButton();
events.ScheduleEvent(EVENT_SUMMONED_2, 2000);
events.ScheduleEvent(EVENT_SUMMONED_2, 2s);
break;
case EVENT_SUMMONED_2:
me->GetMotionMaster()->MovePath(GYTH_PATH_1, false);
@@ -152,19 +152,19 @@ public:
{
case EVENT_CORROSIVE_ACID:
DoCast(me, SPELL_CORROSIVE_ACID);
events.ScheduleEvent(EVENT_CORROSIVE_ACID, urand(10000, 16000));
events.ScheduleEvent(EVENT_CORROSIVE_ACID, 10s, 16s);
break;
case EVENT_FREEZE:
DoCast(me, SPELL_FREEZE);
events.ScheduleEvent(EVENT_FREEZE, urand(10000, 16000));
events.ScheduleEvent(EVENT_FREEZE, 10s, 16s);
break;
case EVENT_FLAME_BREATH:
DoCast(me, SPELL_FLAMEBREATH);
events.ScheduleEvent(EVENT_FLAME_BREATH, urand(10000, 16000));
events.ScheduleEvent(EVENT_FLAME_BREATH, 10s, 16s);
break;
case EVENT_KNOCK_AWAY:
DoCastVictim(SPELL_KNOCK_AWAY);
events.ScheduleEvent(EVENT_KNOCK_AWAY, urand(14000, 20000));
events.ScheduleEvent(EVENT_KNOCK_AWAY, 14s, 20s);
break;
default:
break;

View File

@@ -55,8 +55,8 @@ public:
void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
events.ScheduleEvent(EVENT_REND, urand(17000, 20000));
events.ScheduleEvent(EVENT_THRASH, urand(10000, 12000));
events.ScheduleEvent(EVENT_REND, 17s, 20s);
events.ScheduleEvent(EVENT_THRASH, 10s, 12s);
}
void JustDied(Unit* /*killer*/) override
@@ -82,7 +82,7 @@ public:
{
case EVENT_REND:
DoCastVictim(SPELL_REND);
events.ScheduleEvent(EVENT_REND, urand(8000, 10000));
events.ScheduleEvent(EVENT_REND, 8s, 10s);
break;
case EVENT_THRASH:
DoCast(me, SPELL_THRASH);

View File

@@ -53,8 +53,8 @@ public:
void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
events.ScheduleEvent(EVENT_FRENZY, 20000);
events.ScheduleEvent(EVENT_KNOCK_AWAY, 18000);
events.ScheduleEvent(EVENT_FRENZY, 20s);
events.ScheduleEvent(EVENT_KNOCK_AWAY, 18s);
}
void JustDied(Unit* /*killer*/) override
@@ -78,11 +78,11 @@ public:
{
case EVENT_FRENZY:
DoCastVictim(SPELL_FRENZY);
events.ScheduleEvent(EVENT_FRENZY, 60000);
events.ScheduleEvent(EVENT_FRENZY, 60s);
break;
case EVENT_KNOCK_AWAY:
DoCastVictim(SPELL_KNOCK_AWAY);
events.ScheduleEvent(EVENT_KNOCK_AWAY, 12000);
events.ScheduleEvent(EVENT_KNOCK_AWAY, 12s);
break;
default:
break;

View File

@@ -81,8 +81,8 @@ public:
Talk(TALK_AGGRO);
events.SetPhase(EVENT_PHASE_FIGHT);
events.ScheduleEvent(EVENT_SUMMON_SPECTRAL_ASSASSIN, urand(6 * IN_MILLISECONDS, 8 * IN_MILLISECONDS), 0, EVENT_PHASE_FIGHT);
events.ScheduleEvent(EVENT_SHADOW_WRATH, urand(9 * IN_MILLISECONDS, 18 * IN_MILLISECONDS), 0, EVENT_PHASE_FIGHT);
events.ScheduleEvent(EVENT_SUMMON_SPECTRAL_ASSASSIN, 6s, 8s, 0, EVENT_PHASE_FIGHT);
events.ScheduleEvent(EVENT_SHADOW_WRATH, 9s, 18s, 0, EVENT_PHASE_FIGHT);
}
void JustDied(Unit* killer) override
@@ -130,7 +130,7 @@ public:
{
frenzy15 = true;
events.ScheduleEvent(EVENT_SHADOW_BOLT_VOLLEY, urand(12 * IN_MILLISECONDS, 19 * IN_MILLISECONDS), 0, EVENT_PHASE_FIGHT);
events.ScheduleEvent(EVENT_SHADOW_BOLT_VOLLEY, 12s, 19s, 0, EVENT_PHASE_FIGHT);
StartTalking(TALK_15_HP, 5 * IN_MILLISECONDS);
}
@@ -159,15 +159,15 @@ public:
break;
case EVENT_SUMMON_SPECTRAL_ASSASSIN:
DoCast(me, SPELL_SUMMON_SPECTRAL_ASSASSIN);
events.ScheduleEvent(EVENT_SUMMON_SPECTRAL_ASSASSIN, urand(30 * IN_MILLISECONDS, 35 * IN_MILLISECONDS), 0, EVENT_PHASE_FIGHT);
events.ScheduleEvent(EVENT_SUMMON_SPECTRAL_ASSASSIN, 30s, 35s, 0, EVENT_PHASE_FIGHT);
break;
case EVENT_SHADOW_BOLT_VOLLEY:
DoCastVictim(SPELL_SHADOW_BOLT_VOLLEY);
events.ScheduleEvent(EVENT_SHADOW_BOLT_VOLLEY, urand(4 * IN_MILLISECONDS, 6 * IN_MILLISECONDS), 0, EVENT_PHASE_FIGHT);
events.ScheduleEvent(EVENT_SHADOW_BOLT_VOLLEY, 4s, 6s, 0, EVENT_PHASE_FIGHT);
break;
case EVENT_SHADOW_WRATH:
DoCastVictim(SPELL_SHADOW_WRATH);
events.ScheduleEvent(EVENT_SHADOW_WRATH, urand(19 * IN_MILLISECONDS, 24 * IN_MILLISECONDS), 0, EVENT_PHASE_FIGHT);
events.ScheduleEvent(EVENT_SHADOW_WRATH, 19s, 24s, 0, EVENT_PHASE_FIGHT);
break;
default:
break;

View File

@@ -71,10 +71,10 @@ public:
void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
events.ScheduleEvent(EVENT_BLAST_WAVE, 20 * IN_MILLISECONDS);
events.ScheduleEvent(EVENT_SHOUT, 2 * IN_MILLISECONDS);
events.ScheduleEvent(EVENT_CLEAVE, 6 * IN_MILLISECONDS);
events.ScheduleEvent(EVENT_KNOCK_AWAY, 12 * IN_MILLISECONDS);
events.ScheduleEvent(EVENT_BLAST_WAVE, 20s);
events.ScheduleEvent(EVENT_SHOUT, 2s);
events.ScheduleEvent(EVENT_CLEAVE, 6s);
events.ScheduleEvent(EVENT_KNOCK_AWAY, 12s);
}
void JustDied(Unit* /*killer*/) override
@@ -111,19 +111,19 @@ public:
{
case EVENT_BLAST_WAVE:
DoCastVictim(SPELL_BLASTWAVE);
events.ScheduleEvent(EVENT_BLAST_WAVE, 20 * IN_MILLISECONDS);
events.ScheduleEvent(EVENT_BLAST_WAVE, 20s);
break;
case EVENT_SHOUT:
DoCastVictim(SPELL_SHOUT);
events.ScheduleEvent(EVENT_SHOUT, 10 * IN_MILLISECONDS);
events.ScheduleEvent(EVENT_SHOUT, 10s);
break;
case EVENT_CLEAVE:
DoCastVictim(SPELL_CLEAVE);
events.ScheduleEvent(EVENT_CLEAVE, 7 * IN_MILLISECONDS);
events.ScheduleEvent(EVENT_CLEAVE, 7s);
break;
case EVENT_KNOCK_AWAY:
DoCastVictim(SPELL_KNOCKAWAY);
events.ScheduleEvent(EVENT_KNOCK_AWAY, 14 * IN_MILLISECONDS);
events.ScheduleEvent(EVENT_KNOCK_AWAY, 14s);
break;
}
}

View File

@@ -87,9 +87,9 @@ public:
me->RemoveAura(SPELL_EMBERSEER_FULL_STRENGTH);
me->RemoveAura(SPELL_EMBERSEER_GROWING);
me->RemoveAura(SPELL_EMBERSEER_GROWING_TRIGGER);
events.ScheduleEvent(EVENT_RESPAWN, 5000);
events.ScheduleEvent(EVENT_RESPAWN, 5s);
// Hack for missing trigger spell
events.ScheduleEvent(EVENT_FIRE_SHIELD, 3000);
events.ScheduleEvent(EVENT_FIRE_SHIELD, 3s);
// Open doors on reset
if (instance->GetBossState(DATA_PYROGAURD_EMBERSEER) == IN_PROGRESS)
@@ -101,7 +101,7 @@ public:
switch (data)
{
case 1:
events.ScheduleEvent(EVENT_PLAYER_CHECK, 5000);
events.ScheduleEvent(EVENT_PLAYER_CHECK, 5s);
break;
case 2:
// Close these two doors on Blackhand Incarcerators aggro
@@ -123,9 +123,9 @@ public:
void EnterCombat(Unit* /*who*/) override
{
// ### TODO Check combat timing ###
events.ScheduleEvent(EVENT_FIRENOVA, 6000);
events.ScheduleEvent(EVENT_FLAMEBUFFET, 3000);
events.ScheduleEvent(EVENT_PYROBLAST, 14000);
events.ScheduleEvent(EVENT_FIRENOVA, 6s);
events.ScheduleEvent(EVENT_FLAMEBUFFET, 3s);
events.ScheduleEvent(EVENT_PYROBLAST, 14s);
}
void JustDied(Unit* /*killer*/) override
@@ -160,7 +160,7 @@ public:
Talk(YELL_FREE_OF_BONDS);
me->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
me->SetImmuneToPC(false);
events.ScheduleEvent(EVENT_ENTER_COMBAT, 2000);
events.ScheduleEvent(EVENT_ENTER_COMBAT, 2s);
}
}
}
@@ -235,7 +235,7 @@ public:
if (Creature* creature = *itr)
creature->AI()->SetData(1, 1);
}
events.ScheduleEvent(EVENT_PRE_FIGHT_2, 32000);
events.ScheduleEvent(EVENT_PRE_FIGHT_2, 32s);
break;
}
case EVENT_PRE_FIGHT_2:
@@ -246,7 +246,7 @@ public:
case EVENT_FIRE_SHIELD:
// #### Spell isn't doing any damage ??? ####
DoCast(me, SPELL_FIRE_SHIELD);
events.ScheduleEvent(EVENT_FIRE_SHIELD, 3000);
events.ScheduleEvent(EVENT_FIRE_SHIELD, 3s);
break;
case EVENT_PLAYER_CHECK:
{
@@ -260,7 +260,7 @@ public:
if (_hasAura)
{
events.ScheduleEvent(EVENT_PRE_FIGHT_1, 1000);
events.ScheduleEvent(EVENT_PRE_FIGHT_1, 1s);
instance->SetBossState(DATA_PYROGAURD_EMBERSEER, IN_PROGRESS);
}
break;
@@ -283,19 +283,19 @@ public:
{
case EVENT_FIRE_SHIELD:
DoCast(me, SPELL_FIRE_SHIELD);
events.ScheduleEvent(EVENT_FIRE_SHIELD, 3000);
events.ScheduleEvent(EVENT_FIRE_SHIELD, 3s);
break;
case EVENT_FIRENOVA:
DoCast(me, SPELL_FIRENOVA);
events.ScheduleEvent(EVENT_FIRENOVA, 6000);
events.ScheduleEvent(EVENT_FIRENOVA, 6s);
break;
case EVENT_FLAMEBUFFET:
DoCast(me, SPELL_FLAMEBUFFET);
events.ScheduleEvent(EVENT_FLAMEBUFFET, 14000);
events.ScheduleEvent(EVENT_FLAMEBUFFET, 14s);
break;
case EVENT_PYROBLAST:
DoCastRandomTarget(SPELL_PYROBLAST, 0, 100.0f);
events.ScheduleEvent(EVENT_PYROBLAST, 15000);
events.ScheduleEvent(EVENT_PYROBLAST, 15s);
break;
default:
break;
@@ -373,7 +373,7 @@ public:
}
if (data == 1 && value == 2)
_events.ScheduleEvent(EVENT_ENCAGED_EMBERSEER, 1000);
_events.ScheduleEvent(EVENT_ENCAGED_EMBERSEER, 1s);
}
void EnterCombat(Unit* /*who*/) override
@@ -391,8 +391,8 @@ public:
creature->SetInCombatWithZone(); // AI()->AttackStart(me->GetVictim());
}
_events.ScheduleEvent(EVENT_STRIKE, urand(8000, 16000));
_events.ScheduleEvent(EVENT_ENCAGE, urand(10000, 20000));
_events.ScheduleEvent(EVENT_STRIKE, 8s, 16s);
_events.ScheduleEvent(EVENT_ENCAGE, 10s, 20s);
}
void UpdateAI(uint32 diff) override
@@ -426,11 +426,11 @@ public:
{
case EVENT_STRIKE:
DoCastVictim(SPELL_STRIKE, true);
_events.ScheduleEvent(EVENT_STRIKE, urand(14000, 23000));
_events.ScheduleEvent(EVENT_STRIKE, 14s, 23s);
break;
case EVENT_ENCAGE:
DoCast(SelectTarget(SelectTargetMethod::Random, 0, 100, true), EVENT_ENCAGE, true);
_events.ScheduleEvent(EVENT_ENCAGE, urand(6000, 12000));
_events.ScheduleEvent(EVENT_ENCAGE, 6s, 12s);
break;
default:
break;

View File

@@ -52,9 +52,9 @@ struct boss_quartermaster_zigris : public BossAI
void EnterCombat(Unit* who) override
{
BossAI::EnterCombat(who);
events.ScheduleEvent(EVENT_STUN_BOMB, 16000);
events.ScheduleEvent(EVENT_HOOKED_NET, 14000);
events.ScheduleEvent(EVENT_SHOOT, 1000);
events.ScheduleEvent(EVENT_STUN_BOMB, 16s);
events.ScheduleEvent(EVENT_HOOKED_NET, 14s);
events.ScheduleEvent(EVENT_SHOOT, 1s);
}
void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*effType*/, SpellSchoolMask /*schoolMask*/) override
@@ -102,7 +102,7 @@ struct boss_quartermaster_zigris : public BossAI
{
case EVENT_STUN_BOMB:
DoCastVictim(SPELL_STUNBOMB);
events.ScheduleEvent(EVENT_STUN_BOMB, 14000);
events.ScheduleEvent(EVENT_STUN_BOMB, 14s);
break;
case EVENT_HOOKED_NET:
if (me->IsWithinMeleeRange(me->GetVictim()))

View File

@@ -141,7 +141,7 @@ public:
{
if (!summons.IsAnyCreatureAlive())
{
events.ScheduleEvent(EVENT_WAVES_TEXT_1 + _currentWave, 10 * IN_MILLISECONDS);
events.ScheduleEvent(EVENT_WAVES_TEXT_1 + _currentWave, 10s);
}
}
@@ -161,9 +161,9 @@ public:
void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
events.ScheduleEvent(EVENT_WHIRLWIND, urand(13000, 15000));
events.ScheduleEvent(EVENT_CLEAVE, urand(15000, 17000));
events.ScheduleEvent(EVENT_MORTAL_STRIKE, urand(17000, 19000));
events.ScheduleEvent(EVENT_WHIRLWIND, 13s, 15s);
events.ScheduleEvent(EVENT_CLEAVE, 15s, 17s);
events.ScheduleEvent(EVENT_MORTAL_STRIKE, 17s, 19s);
}
void EnterEvadeMode(EvadeReason why) override
@@ -223,7 +223,7 @@ public:
waveDoorGUID = portcullis->GetGUID();
events.ScheduleEvent(EVENT_TURN_TO_PLAYER, 0);
events.ScheduleEvent(EVENT_START_1, 1000);
events.ScheduleEvent(EVENT_START_1, 1s);
}
}
}
@@ -235,7 +235,7 @@ public:
switch (id)
{
case 5:
events.ScheduleEvent(EVENT_TELEPORT_1, 2000);
events.ScheduleEvent(EVENT_TELEPORT_1, 2s);
break;
}
}
@@ -261,19 +261,19 @@ public:
if (GameObject* door2 = me->GetMap()->GetGameObject(instance->GetGuidData(GO_GYTH_ENTRY_DOOR)))
door2->SetGoState(GO_STATE_READY);
events.ScheduleEvent(EVENT_START_2, 4000);
events.ScheduleEvent(EVENT_START_2, 4s);
break;
case EVENT_START_2:
events.ScheduleEvent(EVENT_TURN_TO_PLAYER, 0);
if (Creature* victor = ObjectAccessor::GetCreature(*me, victorGUID))
victor->HandleEmoteCommand(EMOTE_ONESHOT_POINT);
events.ScheduleEvent(EVENT_START_3, 4000);
events.ScheduleEvent(EVENT_START_3, 4s);
break;
case EVENT_START_3:
if (Creature* victor = ObjectAccessor::GetCreature(*me, victorGUID))
victor->AI()->Talk(SAY_NEFARIUS_1);
events.ScheduleEvent(EVENT_SPAWN_WAVE, 2000);
events.ScheduleEvent(EVENT_TURN_TO_REND, 4000);
events.ScheduleEvent(EVENT_SPAWN_WAVE, 2s);
events.ScheduleEvent(EVENT_TURN_TO_REND, 4s);
break;
case EVENT_TURN_TO_REND:
if (Creature* victor = ObjectAccessor::GetCreature(*me, victorGUID))
@@ -305,60 +305,60 @@ public:
me->HandleEmoteCommand(EMOTE_ONESHOT_ROAR);
break;
case EVENT_WAVES_TEXT_1:
events.ScheduleEvent(EVENT_TURN_TO_PLAYER, 0);
events.ScheduleEvent(EVENT_TURN_TO_PLAYER, 0ms);
if (Creature* victor = ObjectAccessor::GetCreature(*me, victorGUID))
victor->AI()->Talk(SAY_NEFARIUS_2);
me->HandleEmoteCommand(EMOTE_ONESHOT_TALK);
events.ScheduleEvent(EVENT_TURN_TO_FACING_1, 4000);
events.ScheduleEvent(EVENT_WAVES_EMOTE_1, 5000);
events.ScheduleEvent(EVENT_SPAWN_WAVE, 3000);
events.ScheduleEvent(EVENT_TURN_TO_FACING_1, 4s);
events.ScheduleEvent(EVENT_WAVES_EMOTE_1, 5s);
events.ScheduleEvent(EVENT_SPAWN_WAVE, 3s);
break;
case EVENT_WAVES_TEXT_2:
events.ScheduleEvent(EVENT_TURN_TO_PLAYER, 0);
if (Creature* victor = ObjectAccessor::GetCreature(*me, victorGUID))
victor->AI()->Talk(SAY_NEFARIUS_3);
events.ScheduleEvent(EVENT_TURN_TO_FACING_1, 4000);
events.ScheduleEvent(EVENT_SPAWN_WAVE, 3000);
events.ScheduleEvent(EVENT_TURN_TO_FACING_1, 4s);
events.ScheduleEvent(EVENT_SPAWN_WAVE, 3s);
break;
case EVENT_WAVES_TEXT_3:
events.ScheduleEvent(EVENT_TURN_TO_PLAYER, 0);
if (Creature* victor = ObjectAccessor::GetCreature(*me, victorGUID))
victor->AI()->Talk(SAY_NEFARIUS_4);
events.ScheduleEvent(EVENT_TURN_TO_FACING_1, 4000);
events.ScheduleEvent(EVENT_SPAWN_WAVE, 3000);
events.ScheduleEvent(EVENT_TURN_TO_FACING_1, 4s);
events.ScheduleEvent(EVENT_SPAWN_WAVE, 3s);
break;
case EVENT_WAVES_TEXT_4:
Talk(SAY_BLACKHAND_1);
events.ScheduleEvent(EVENT_WAVES_EMOTE_2, 4000);
events.ScheduleEvent(EVENT_TURN_TO_FACING_3, 8000);
events.ScheduleEvent(EVENT_SPAWN_WAVE, 3000);
events.ScheduleEvent(EVENT_WAVES_EMOTE_2, 4s);
events.ScheduleEvent(EVENT_TURN_TO_FACING_3, 8s);
events.ScheduleEvent(EVENT_SPAWN_WAVE, 3s);
break;
case EVENT_WAVES_TEXT_5:
events.ScheduleEvent(EVENT_TURN_TO_PLAYER, 0);
if (Creature* victor = ObjectAccessor::GetCreature(*me, victorGUID))
victor->AI()->Talk(SAY_NEFARIUS_5);
events.ScheduleEvent(EVENT_TURN_TO_FACING_1, 4000);
events.ScheduleEvent(EVENT_SPAWN_WAVE, 3000);
events.ScheduleEvent(EVENT_TURN_TO_FACING_1, 4s);
events.ScheduleEvent(EVENT_SPAWN_WAVE, 3s);
break;
case EVENT_WAVES_COMPLETE_TEXT_1:
events.ScheduleEvent(EVENT_TURN_TO_PLAYER, 0);
if (Creature* victor = ObjectAccessor::GetCreature(*me, victorGUID))
victor->AI()->Talk(SAY_NEFARIUS_6);
events.ScheduleEvent(EVENT_TURN_TO_FACING_1, 4000);
events.ScheduleEvent(EVENT_WAVES_COMPLETE_TEXT_2, 13000);
events.ScheduleEvent(EVENT_TURN_TO_FACING_1, 4s);
events.ScheduleEvent(EVENT_WAVES_COMPLETE_TEXT_2, 13s);
break;
case EVENT_WAVES_COMPLETE_TEXT_2:
if (Creature* victor = ObjectAccessor::GetCreature(*me, victorGUID))
victor->AI()->Talk(SAY_NEFARIUS_7);
Talk(SAY_BLACKHAND_2);
events.ScheduleEvent(EVENT_PATH_REND, 1000);
events.ScheduleEvent(EVENT_WAVES_COMPLETE_TEXT_3, 4000);
events.ScheduleEvent(EVENT_PATH_REND, 1s);
events.ScheduleEvent(EVENT_WAVES_COMPLETE_TEXT_3, 4s);
break;
case EVENT_WAVES_COMPLETE_TEXT_3:
if (Creature* victor = ObjectAccessor::GetCreature(*me, victorGUID))
victor->AI()->Talk(SAY_NEFARIUS_8);
events.ScheduleEvent(EVENT_PATH_NEFARIUS, 1000);
events.ScheduleEvent(EVENT_PATH_REND, 1000);
events.ScheduleEvent(EVENT_PATH_NEFARIUS, 1s);
events.ScheduleEvent(EVENT_PATH_REND, 1s);
break;
case EVENT_PATH_NEFARIUS:
if (Creature* victor = ObjectAccessor::GetCreature(*me, victorGUID))
@@ -369,7 +369,7 @@ public:
break;
case EVENT_TELEPORT_1:
me->NearTeleportTo(194.2993f, -474.0814f, 121.4505f, -0.01225555f);
events.ScheduleEvent(EVENT_TELEPORT_2, 13000);
events.ScheduleEvent(EVENT_TELEPORT_2, 13s);
break;
case EVENT_TELEPORT_2:
me->NearTeleportTo(216.485f, -434.93f, 110.888f, -0.01225555f);
@@ -398,15 +398,15 @@ public:
{
case EVENT_WHIRLWIND:
DoCast(SPELL_WHIRLWIND);
events.ScheduleEvent(EVENT_WHIRLWIND, urand(13000, 18000));
events.ScheduleEvent(EVENT_WHIRLWIND, 13s, 18s);
break;
case EVENT_CLEAVE:
DoCastVictim(SPELL_CLEAVE);
events.ScheduleEvent(EVENT_CLEAVE, urand(10000, 14000));
events.ScheduleEvent(EVENT_CLEAVE, 10s, 14s);
break;
case EVENT_MORTAL_STRIKE:
DoCastVictim(SPELL_MORTAL_STRIKE);
events.ScheduleEvent(EVENT_MORTAL_STRIKE, urand(14000, 16000));
events.ScheduleEvent(EVENT_MORTAL_STRIKE, 14s, 18s);
break;
}
}

View File

@@ -67,7 +67,7 @@ public:
void EnterCombat(Unit* /*who*/) override
{
events.ScheduleEvent(SPELL_HATCH_EGG, 1000);
events.ScheduleEvent(SPELL_HATCH_EGG, 1s);
}
void UpdateAI(uint32 diff) override
@@ -138,7 +138,7 @@ public:
targetPosition = me->GetPosition();
DoCast(SPELL_HATCH_EGG);
targetEgg = nullptr;
events.ScheduleEvent(SPELL_HATCH_EGG, urand(6000, 8000));
events.ScheduleEvent(SPELL_HATCH_EGG, 6s, 8s);
}
else if (!me->HasUnitState(UNIT_STATE_CASTING) && !targetEgg)
{
@@ -184,7 +184,7 @@ public:
void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
events.ScheduleEvent(SPELL_WAR_STOMP, urand(17000, 20000));
events.ScheduleEvent(SPELL_WAR_STOMP, 17s, 20s);
resetTimer = 0;
}
@@ -200,7 +200,7 @@ public:
{
case SPELL_WAR_STOMP:
DoCastVictim(SPELL_WAR_STOMP);
events.ScheduleEvent(SPELL_WAR_STOMP, urand(17000, 20000));
events.ScheduleEvent(SPELL_WAR_STOMP, 17s, 20s);
break;
default:

View File

@@ -116,12 +116,12 @@ public:
void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
events.ScheduleEvent(EVENT_FLAME_BREAK, 12 * IN_MILLISECONDS);
events.ScheduleEvent(EVENT_IMMOLATE, 3 * IN_MILLISECONDS);
events.ScheduleEvent(EVENT_TERRIFYING_ROAR, 23 * IN_MILLISECONDS);
events.ScheduleEvent(EVENT_BERSERKER_CHARGE, 2 * IN_MILLISECONDS);
events.ScheduleEvent(EVENT_FIREBALL, 8 * IN_MILLISECONDS, 21 * IN_MILLISECONDS);
events.ScheduleEvent(EVENT_FIREBLAST, 5 * IN_MILLISECONDS, 8 * IN_MILLISECONDS);
events.ScheduleEvent(EVENT_FLAME_BREAK, 12s);
events.ScheduleEvent(EVENT_IMMOLATE, 3s);
events.ScheduleEvent(EVENT_TERRIFYING_ROAR, 23s);
events.ScheduleEvent(EVENT_BERSERKER_CHARGE, 2s);
events.ScheduleEvent(EVENT_FIREBALL, 8s, 21s);
events.ScheduleEvent(EVENT_FIREBLAST, 5s, 8s);
}
void SetData(uint32 type, uint32 /*data*/) override
@@ -206,37 +206,37 @@ public:
{
case EVENT_FLAME_BREAK:
DoCastVictim(SPELL_FLAMEBREAK);
events.ScheduleEvent(EVENT_FLAME_BREAK, 10 * IN_MILLISECONDS);
events.ScheduleEvent(EVENT_FLAME_BREAK, 10s);
break;
case EVENT_IMMOLATE:
DoCastRandomTarget(SPELL_IMMOLATE, 0, 100.0f);
events.ScheduleEvent(EVENT_IMMOLATE, 8 * IN_MILLISECONDS);
events.ScheduleEvent(EVENT_IMMOLATE, 8s);
break;
case EVENT_TERRIFYING_ROAR:
DoCastVictim(SPELL_TERRIFYINGROAR);
events.ScheduleEvent(EVENT_TERRIFYING_ROAR, 20 * IN_MILLISECONDS);
events.ScheduleEvent(EVENT_TERRIFYING_ROAR, 20s);
break;
case EVENT_BERSERKER_CHARGE:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 38.f, true))
{
DoCast(target, SPELL_BERSERKER_CHARGE);
}
events.ScheduleEvent(EVENT_BERSERKER_CHARGE, 15 * IN_MILLISECONDS, 23 * IN_MILLISECONDS);
events.ScheduleEvent(EVENT_BERSERKER_CHARGE, 15s, 23s);
break;
case EVENT_FIREBALL:
DoCastVictim(SPELL_FIREBALL);
events.ScheduleEvent(EVENT_FIREBALL, 8 * IN_MILLISECONDS, 21 * IN_MILLISECONDS);
events.ScheduleEvent(EVENT_FIREBALL, 8s, 21s);
if (events.GetNextEventTime(EVENT_FIREBLAST) < 3 * IN_MILLISECONDS)
{
events.RescheduleEvent(EVENT_FIREBLAST, 3 * IN_MILLISECONDS);
events.RescheduleEvent(EVENT_FIREBLAST, 3s);
}
break;
case EVENT_FIREBLAST:
DoCastVictim(SPELL_FIREBLAST);
events.ScheduleEvent(EVENT_FIREBLAST, 5 * IN_MILLISECONDS, 8 * IN_MILLISECONDS);
events.ScheduleEvent(EVENT_FIREBLAST, 5s, 8s);
if (events.GetNextEventTime(EVENT_FIREBALL) < 3 * IN_MILLISECONDS)
{
events.RescheduleEvent(EVENT_FIREBALL, 3 * IN_MILLISECONDS);
events.RescheduleEvent(EVENT_FIREBALL, 3s);
}
break;
}

View File

@@ -70,9 +70,9 @@ public:
void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
events.ScheduleEvent(SPELL_REND, urand(17000, 20000));
events.ScheduleEvent(SPELL_STRIKE, urand(10000, 12000));
events.ScheduleEvent(SPELL_INTIMIDATING_ROAR, urand(25000, 30000));
events.ScheduleEvent(SPELL_REND, 17s, 20s);
events.ScheduleEvent(SPELL_STRIKE, 10s, 12s);
events.ScheduleEvent(SPELL_INTIMIDATING_ROAR, 25s, 30s);
}
void UpdateAI(uint32 diff) override
@@ -91,15 +91,15 @@ public:
{
case SPELL_REND:
DoCastVictim(SPELL_REND);
events.ScheduleEvent(SPELL_REND, urand(8000, 10000));
events.ScheduleEvent(SPELL_REND, 8s, 10s);
break;
case SPELL_STRIKE:
DoCastVictim(SPELL_STRIKE);
events.ScheduleEvent(SPELL_STRIKE, urand(8000, 10000));
events.ScheduleEvent(SPELL_STRIKE, 8s, 10s);
break;
case SPELL_INTIMIDATING_ROAR:
DoCastVictim(SPELL_INTIMIDATING_ROAR);
events.ScheduleEvent(SPELL_INTIMIDATING_ROAR, urand(40000, 45000));
events.ScheduleEvent(SPELL_INTIMIDATING_ROAR, 40s, 45s);
break;
default:
break;

View File

@@ -69,8 +69,8 @@ public:
_EnterCombat();
events.SetPhase(PHASE_BRAWLER);
events.ScheduleEvent(EVENT_THRASH, 3 * IN_MILLISECONDS, GROUP_BRAWLER, PHASE_BRAWLER);
events.ScheduleEvent(EVENT_THROW_AXE, 1 * IN_MILLISECONDS, GROUP_BRAWLER, PHASE_BRAWLER);
events.ScheduleEvent(EVENT_THRASH, 3s, GROUP_BRAWLER, PHASE_BRAWLER);
events.ScheduleEvent(EVENT_THROW_AXE, 1s, GROUP_BRAWLER, PHASE_BRAWLER);
}
void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*type*/, SpellSchoolMask /*school*/) override
@@ -79,16 +79,16 @@ public:
{
events.SetPhase(PHASE_THRASHER);
events.CancelEventGroup(GROUP_BRAWLER);
events.ScheduleEvent(EVENT_CLEAVE, 14 * IN_MILLISECONDS, GROUP_THRASHER, PHASE_THRASHER);
events.ScheduleEvent(EVENT_MORTAL_STRIKE, 12 * IN_MILLISECONDS, GROUP_THRASHER, PHASE_THRASHER);
events.ScheduleEvent(EVENT_CLEAVE, 14s, GROUP_THRASHER, PHASE_THRASHER);
events.ScheduleEvent(EVENT_MORTAL_STRIKE, 12s, GROUP_THRASHER, PHASE_THRASHER);
}
else if (me->HealthBelowPctDamaged(40, damage) && events.IsInPhase(PHASE_THRASHER))
{
events.SetPhase(PHASE_WARMASTER);
events.CancelEventGroup(GROUP_THRASHER);
events.ScheduleEvent(EVENT_SNAP_KICK, 8 * IN_MILLISECONDS, GROUP_WARMASTER, PHASE_WARMASTER);
events.ScheduleEvent(EVENT_UPPERCUT, 20 * IN_MILLISECONDS, GROUP_WARMASTER, PHASE_WARMASTER);
events.ScheduleEvent(EVENT_PUMMEL, 32 * IN_MILLISECONDS, GROUP_WARMASTER, PHASE_WARMASTER);
events.ScheduleEvent(EVENT_SNAP_KICK, 8s, GROUP_WARMASTER, PHASE_WARMASTER);
events.ScheduleEvent(EVENT_UPPERCUT, 20s, GROUP_WARMASTER, PHASE_WARMASTER);
events.ScheduleEvent(EVENT_PUMMEL, 32s, GROUP_WARMASTER, PHASE_WARMASTER);
}
}

View File

@@ -351,7 +351,7 @@ public:
if (data == AREATRIGGER_DRAGONSPIRE_HALL)
{
if (GetBossState(DATA_DRAGONSPIRE_ROOM) != DONE)
Events.ScheduleEvent(EVENT_DARGONSPIRE_ROOM_STORE, 1000);
Events.ScheduleEvent(EVENT_DARGONSPIRE_ROOM_STORE, 1s);
}
break;
case DATA_SOLAKAR_FLAMEWREATH:
@@ -360,7 +360,7 @@ public:
case IN_PROGRESS:
if (SolakarState == NOT_STARTED)
{
Events.ScheduleEvent(EVENT_SOLAKAR_WAVE, 500);
Events.ScheduleEvent(EVENT_SOLAKAR_WAVE, 500ms);
}
break;
case FAIL:
@@ -556,12 +556,12 @@ public:
{
case EVENT_DARGONSPIRE_ROOM_STORE:
Dragonspireroomstore();
Events.ScheduleEvent(EVENT_DARGONSPIRE_ROOM_CHECK, 3000);
Events.ScheduleEvent(EVENT_DARGONSPIRE_ROOM_CHECK, 3s);
break;
case EVENT_DARGONSPIRE_ROOM_CHECK:
Dragonspireroomcheck();
if ((GetBossState(DATA_DRAGONSPIRE_ROOM) != DONE))
Events.ScheduleEvent(EVENT_DARGONSPIRE_ROOM_CHECK, 3000);
Events.ScheduleEvent(EVENT_DARGONSPIRE_ROOM_CHECK, 3s);
break;
case EVENT_SOLAKAR_WAVE:
SummonSolakarWave(CurrentSolakarWave);

View File

@@ -70,11 +70,11 @@ public:
BossAI::EnterCombat(who);
Talk(SAY_AGGRO);
events.ScheduleEvent(EVENT_CLEAVE, 8000);
events.ScheduleEvent(EVENT_BLASTWAVE, 12000);
events.ScheduleEvent(EVENT_MORTALSTRIKE, 20000);
events.ScheduleEvent(EVENT_KNOCKBACK, 30000);
events.ScheduleEvent(EVENT_CHECK, 1000);
events.ScheduleEvent(EVENT_CLEAVE, 8s);
events.ScheduleEvent(EVENT_BLASTWAVE, 12s);
events.ScheduleEvent(EVENT_MORTALSTRIKE, 20s);
events.ScheduleEvent(EVENT_KNOCKBACK, 30s);
events.ScheduleEvent(EVENT_CHECK, 1s);
}
void JustDied(Unit* /*killer*/) override
@@ -102,21 +102,21 @@ public:
{
case EVENT_CLEAVE:
DoCastVictim(SPELL_CLEAVE);
events.ScheduleEvent(EVENT_CLEAVE, 7000);
events.ScheduleEvent(EVENT_CLEAVE, 7s);
break;
case EVENT_BLASTWAVE:
DoCastVictim(SPELL_BLASTWAVE);
events.ScheduleEvent(EVENT_BLASTWAVE, 20000, 35000);
events.ScheduleEvent(EVENT_BLASTWAVE, 20s, 35s);
break;
case EVENT_MORTALSTRIKE:
DoCastVictim(SPELL_MORTALSTRIKE);
events.ScheduleEvent(EVENT_MORTALSTRIKE, 25000, 35000);
events.ScheduleEvent(EVENT_MORTALSTRIKE, 25s, 35s);
break;
case EVENT_KNOCKBACK:
DoCastVictim(SPELL_KNOCKBACK);
if (DoGetThreat(me->GetVictim()))
DoModifyThreatByPercent(me->GetVictim(), -50);
events.ScheduleEvent(EVENT_KNOCKBACK, 15000, 30000);
events.ScheduleEvent(EVENT_KNOCKBACK, 15s, 30s);
break;
case EVENT_CHECK:
if (me->GetDistance(me->GetHomePosition()) > 150.0f)
@@ -124,7 +124,7 @@ public:
Talk(SAY_LEASH);
EnterEvadeMode();
}
events.ScheduleEvent(EVENT_CHECK, 1000);
events.ScheduleEvent(EVENT_CHECK, 1s);
break;
}
}
@@ -169,7 +169,7 @@ class go_suppression_device : public GameObjectScript
return;
}
_events.ScheduleEvent(EVENT_SUPPRESSION_CAST, 5000);
_events.ScheduleEvent(EVENT_SUPPRESSION_CAST, 5s);
}
void UpdateAI(uint32 diff) override
@@ -186,7 +186,7 @@ class go_suppression_device : public GameObjectScript
me->CastSpell(nullptr, SPELL_SUPPRESSION_AURA);
me->SendCustomAnim(0);
}
_events.ScheduleEvent(EVENT_SUPPRESSION_CAST, 5000);
_events.ScheduleEvent(EVENT_SUPPRESSION_CAST, 5s);
break;
case EVENT_SUPPRESSION_RESET:
Activate();
@@ -208,7 +208,7 @@ class go_suppression_device : public GameObjectScript
if (_instance->GetBossState(DATA_BROODLORD_LASHLAYER) != DONE)
{
_events.ScheduleEvent(EVENT_SUPPRESSION_RESET, urand(30000, 120000));
_events.ScheduleEvent(EVENT_SUPPRESSION_RESET, 30s, 120s);
}
}
}
@@ -222,7 +222,7 @@ class go_suppression_device : public GameObjectScript
me->SetGoState(GO_STATE_READY);
me->SetLootState(GO_READY);
me->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
_events.ScheduleEvent(EVENT_SUPPRESSION_CAST, 5000);
_events.ScheduleEvent(EVENT_SUPPRESSION_CAST, 5s);
me->Respawn();
}

View File

@@ -104,11 +104,11 @@ public:
{
BossAI::EnterCombat(victim);
events.ScheduleEvent(EVENT_SHIMMER, 1000);
events.ScheduleEvent(EVENT_BREATH, 30000);
events.ScheduleEvent(EVENT_BREATH, 60000);
events.ScheduleEvent(EVENT_AFFLICTION, 10000);
events.ScheduleEvent(EVENT_FRENZY, 15000);
events.ScheduleEvent(EVENT_SHIMMER, 1s);
events.ScheduleEvent(EVENT_BREATH, 30s);
events.ScheduleEvent(EVENT_BREATH, 60s);
events.ScheduleEvent(EVENT_AFFLICTION, 10s);
events.ScheduleEvent(EVENT_FRENZY, 15s);
}
bool CanAIAttack(Unit const* victim) const override
@@ -153,13 +153,13 @@ public:
// Cast new random vulnerabilty on self
DoCast(me, SPELL_ELEMENTAL_SHIELD);
Talk(EMOTE_SHIMMER);
events.ScheduleEvent(EVENT_SHIMMER, urand(17000, 25000));
events.ScheduleEvent(EVENT_SHIMMER, 17s, 25s);
break;
}
case EVENT_BREATH:
DoCastVictim(_breathSpells.front());
_breathSpells.reverse();
events.ScheduleEvent(EVENT_BREATH, 60000);
events.ScheduleEvent(EVENT_BREATH, 60s);
break;
case EVENT_AFFLICTION:
{
@@ -193,11 +193,11 @@ public:
}
}
}
events.ScheduleEvent(EVENT_AFFLICTION, 10000);
events.ScheduleEvent(EVENT_AFFLICTION, 10s);
break;
case EVENT_FRENZY:
DoCast(me, SPELL_FRENZY);
events.ScheduleEvent(EVENT_FRENZY, 10000, 15000);
events.ScheduleEvent(EVENT_FRENZY, 10s, 15s);
break;
}

View File

@@ -61,9 +61,9 @@ public:
{
BossAI::EnterCombat(who);
events.ScheduleEvent(EVENT_SHADOWFLAME, 18000);
events.ScheduleEvent(EVENT_WINGBUFFET, 30000);
events.ScheduleEvent(EVENT_SHADOWOFEBONROC, 8000, 10000);
events.ScheduleEvent(EVENT_SHADOWFLAME, 18s);
events.ScheduleEvent(EVENT_WINGBUFFET, 30s);
events.ScheduleEvent(EVENT_SHADOWOFEBONROC, 8s, 10s);
}
void UpdateAI(uint32 diff) override
@@ -82,15 +82,15 @@ public:
{
case EVENT_SHADOWFLAME:
DoCastVictim(SPELL_SHADOWFLAME);
events.ScheduleEvent(EVENT_SHADOWFLAME, urand(15000, 25000));
events.ScheduleEvent(EVENT_SHADOWFLAME, 15s, 25s);
break;
case EVENT_WINGBUFFET:
DoCastVictim(SPELL_WINGBUFFET);
events.ScheduleEvent(EVENT_WINGBUFFET, 30000);
events.ScheduleEvent(EVENT_WINGBUFFET, 30s);
break;
case EVENT_SHADOWOFEBONROC:
DoCastVictim(SPELL_SHADOWOFEBONROC);
events.ScheduleEvent(EVENT_SHADOWOFEBONROC, 8000, 10000);
events.ScheduleEvent(EVENT_SHADOWOFEBONROC, 8s, 10s);
break;
}

View File

@@ -46,9 +46,9 @@ public:
{
BossAI::EnterCombat(who);
events.ScheduleEvent(EVENT_SHADOWFLAME, 18000);
events.ScheduleEvent(EVENT_WINGBUFFET, 30000);
events.ScheduleEvent(EVENT_FLAMEBUFFET, 5000);
events.ScheduleEvent(EVENT_SHADOWFLAME, 18s);
events.ScheduleEvent(EVENT_WINGBUFFET, 30s);
events.ScheduleEvent(EVENT_FLAMEBUFFET, 5s);
}
void UpdateAI(uint32 diff) override
@@ -67,17 +67,17 @@ public:
{
case EVENT_SHADOWFLAME:
DoCastVictim(SPELL_SHADOWFLAME);
events.ScheduleEvent(EVENT_SHADOWFLAME, urand(15000, 25000));
events.ScheduleEvent(EVENT_SHADOWFLAME, 15s, 25s);
break;
case EVENT_WINGBUFFET:
DoCastVictim(SPELL_WINGBUFFET);
if (DoGetThreat(me->GetVictim()))
DoModifyThreatByPercent(me->GetVictim(), -75);
events.ScheduleEvent(EVENT_WINGBUFFET, 30000);
events.ScheduleEvent(EVENT_WINGBUFFET, 30s);
break;
case EVENT_FLAMEBUFFET:
DoCastVictim(SPELL_FLAMEBUFFET);
events.ScheduleEvent(EVENT_FLAMEBUFFET, 5000);
events.ScheduleEvent(EVENT_FLAMEBUFFET, 5s);
break;
}

View File

@@ -51,9 +51,9 @@ public:
{
BossAI::EnterCombat(victim);
events.ScheduleEvent(EVENT_SHADOWFLAME, 18000);
events.ScheduleEvent(EVENT_WINGBUFFET, 30000);
events.ScheduleEvent(EVENT_FRENZY, 10000);
events.ScheduleEvent(EVENT_SHADOWFLAME, 18s);
events.ScheduleEvent(EVENT_WINGBUFFET, 30s);
events.ScheduleEvent(EVENT_FRENZY, 10s);
}
void UpdateAI(uint32 diff) override
@@ -72,18 +72,18 @@ public:
{
case EVENT_SHADOWFLAME:
DoCastVictim(SPELL_SHADOWFLAME);
events.ScheduleEvent(EVENT_SHADOWFLAME, urand(15000, 25000));
events.ScheduleEvent(EVENT_SHADOWFLAME, 15s, 25s);
break;
case EVENT_WINGBUFFET:
DoCastVictim(SPELL_WINGBUFFET);
if (DoGetThreat(me->GetVictim()))
DoModifyThreatByPercent(me->GetVictim(), -75);
events.ScheduleEvent(EVENT_WINGBUFFET, 30000);
events.ScheduleEvent(EVENT_WINGBUFFET, 30s);
break;
case EVENT_FRENZY:
Talk(EMOTE_FRENZY);
DoCast(me, SPELL_FRENZY);
events.ScheduleEvent(EVENT_FRENZY, 8000, 10000);
events.ScheduleEvent(EVENT_FRENZY, 80s, 10s);
break;
}

View File

@@ -360,13 +360,13 @@ public:
SetCombatMovement(false);
me->SetImmuneToPC(false);
AttackStart(SelectTarget(SelectTargetMethod::Random, 0, 200.f, true));
events.ScheduleEvent(EVENT_SHADOWBLINK, 500);
events.ScheduleEvent(EVENT_SHADOW_BOLT, 3000);
events.ScheduleEvent(EVENT_SHADOW_BOLT_VOLLEY, urand(13000, 15000));
events.ScheduleEvent(EVENT_FEAR, urand(10000, 20000));
events.ScheduleEvent(EVENT_SILENCE, urand(20000, 25000));
events.ScheduleEvent(EVENT_MIND_CONTROL, urand(30000, 35000));
events.ScheduleEvent(EVENT_SPAWN_ADDS, 10000);
events.ScheduleEvent(EVENT_SHADOWBLINK, 500ms);
events.ScheduleEvent(EVENT_SHADOW_BOLT, 3s);
events.ScheduleEvent(EVENT_SHADOW_BOLT_VOLLEY, 13s, 15s);
events.ScheduleEvent(EVENT_FEAR, 10s, 20s);
events.ScheduleEvent(EVENT_SILENCE, 20s, 25s);
events.ScheduleEvent(EVENT_MIND_CONTROL, 30s, 35s);
events.ScheduleEvent(EVENT_SPAWN_ADDS, 10s);
}
void SetData(uint32 type, uint32 data) override
@@ -374,11 +374,11 @@ public:
if (type == 1 && data == 1)
{
me->StopMoving();
events.ScheduleEvent(EVENT_PATH_2, 9000);
events.ScheduleEvent(EVENT_PATH_2, 9s);
}
if (type == 1 && data == 2)
events.ScheduleEvent(EVENT_SUCCESS_1, 5000);
events.ScheduleEvent(EVENT_SUCCESS_1, 5s);
}
void UpdateAI(uint32 diff) override
@@ -393,7 +393,7 @@ public:
{
case EVENT_PATH_2:
me->GetMotionMaster()->MovePath(NEFARIUS_PATH_2, false);
events.ScheduleEvent(EVENT_CHAOS_1, 7000);
events.ScheduleEvent(EVENT_CHAOS_1, 7s);
break;
case EVENT_CHAOS_1:
if (Creature* gyth = me->FindNearestCreature(NPC_GYTH, 75.0f, true))
@@ -401,7 +401,7 @@ public:
me->SetFacingToObject(gyth);
Talk(SAY_CHAOS_SPELL);
}
events.ScheduleEvent(EVENT_CHAOS_2, 2000);
events.ScheduleEvent(EVENT_CHAOS_2, 2s);
break;
case EVENT_CHAOS_2:
DoCast(SPELL_CHROMATIC_CHAOS);
@@ -417,7 +417,7 @@ public:
if (GameObject* portcullis2 = me->FindNearestGameObject(GO_PORTCULLIS_TOBOSSROOMS, 80.0f))
portcullis2->SetGoState(GO_STATE_ACTIVE);
}
events.ScheduleEvent(EVENT_SUCCESS_2, 4000);
events.ScheduleEvent(EVENT_SUCCESS_2, 4s);
break;
case EVENT_SUCCESS_2:
DoCast(me, SPELL_VAELASTRASZZ_SPAWN);
@@ -450,27 +450,27 @@ public:
{
case EVENT_SHADOW_BOLT:
DoCastRandomTarget(SPELL_SHADOWBOLT, 0, 150.f);
events.ScheduleEvent(EVENT_SHADOW_BOLT, urand(2000, 4000));
events.ScheduleEvent(EVENT_SHADOW_BOLT, 2s, 4s);
break;
case EVENT_SHADOW_BOLT_VOLLEY:
DoCastAOE(SPELL_SHADOWBOLT_VOLLEY);
events.ScheduleEvent(EVENT_SHADOW_BOLT_VOLLEY, 19000, 25000);
events.ScheduleEvent(EVENT_SHADOW_BOLT_VOLLEY, 19s, 25s);
break;
case EVENT_FEAR:
DoCastRandomTarget(SPELL_FEAR, 0, 40.0f);
events.ScheduleEvent(EVENT_FEAR, urand(10000, 20000));
events.ScheduleEvent(EVENT_FEAR, 10s, 20s);
break;
case EVENT_SILENCE:
DoCastRandomTarget(SPELL_SILENCE, 0, 150.f);
events.ScheduleEvent(EVENT_SILENCE, urand(14000, 23000));
events.ScheduleEvent(EVENT_SILENCE, 14s,23s);
break;
case EVENT_MIND_CONTROL:
DoCastRandomTarget(SPELL_SHADOW_COMMAND, 0, 40.0f);
events.ScheduleEvent(EVENT_MIND_CONTROL, urand(24000, 30000));
events.ScheduleEvent(EVENT_MIND_CONTROL, 24s, 30s);
break;
case EVENT_SHADOWBLINK:
DoCastSelf(SPELL_SHADOWBLINK);
events.ScheduleEvent(EVENT_SHADOWBLINK, urand(30000, 40000));
events.ScheduleEvent(EVENT_SHADOWBLINK, 30s, 40s);
break;
case EVENT_SPAWN_ADDS:
// Spawn the spawners.
@@ -496,7 +496,7 @@ public:
CloseGossipMenuFor(player);
Talk(SAY_GAMESBEGIN_1);
events.ScheduleEvent(EVENT_START_EVENT, 4000);
events.ScheduleEvent(EVENT_START_EVENT, 4s);
me->SetFaction(FACTION_DRAGONFLIGHT_BLACK);
me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
me->SetStandState(UNIT_STAND_STATE_STAND);
@@ -605,12 +605,12 @@ struct boss_nefarian : public BossAI
AttackStart(me->GetVictim());
}
events.ScheduleEvent(EVENT_SHADOWFLAME, 12000);
events.ScheduleEvent(EVENT_FEAR, urand(25000, 35000));
events.ScheduleEvent(EVENT_VEILOFSHADOW, urand(25000, 35000));
events.ScheduleEvent(EVENT_CLEAVE, 7000);
events.ScheduleEvent(EVENT_TAILLASH, 10000);
events.ScheduleEvent(EVENT_CLASSCALL, urand(30000, 35000));
events.ScheduleEvent(EVENT_SHADOWFLAME, 12s);
events.ScheduleEvent(EVENT_FEAR, 25s, 35s);
events.ScheduleEvent(EVENT_VEILOFSHADOW, 25s, 35s);
events.ScheduleEvent(EVENT_CLEAVE, 7s);
events.ScheduleEvent(EVENT_TAILLASH, 10s);
events.ScheduleEvent(EVENT_CLASSCALL, 30s, 35s);
_introDone = true;
}
@@ -657,24 +657,24 @@ struct boss_nefarian : public BossAI
{
case EVENT_SHADOWFLAME:
DoCastVictim(SPELL_SHADOWFLAME);
events.ScheduleEvent(EVENT_SHADOWFLAME, 12000);
events.ScheduleEvent(EVENT_SHADOWFLAME, 12s);
break;
case EVENT_FEAR:
DoCastVictim(SPELL_BELLOWINGROAR);
events.ScheduleEvent(EVENT_FEAR, urand(25000, 35000));
events.ScheduleEvent(EVENT_FEAR, 25s, 35s);
break;
case EVENT_VEILOFSHADOW:
DoCastVictim(SPELL_VEILOFSHADOW);
events.ScheduleEvent(EVENT_VEILOFSHADOW, urand(25000, 35000));
events.ScheduleEvent(EVENT_VEILOFSHADOW, 25s, 35s);
break;
case EVENT_CLEAVE:
DoCastVictim(SPELL_CLEAVE);
events.ScheduleEvent(EVENT_CLEAVE, 7000);
events.ScheduleEvent(EVENT_CLEAVE, 7s);
break;
case EVENT_TAILLASH:
// Cast NYI since we need a better check for behind target
DoCastAOE(SPELL_TAILLASH);
events.ScheduleEvent(EVENT_TAILLASH, 10000);
events.ScheduleEvent(EVENT_TAILLASH, 10s);
break;
case EVENT_CLASSCALL:
if (classesPresent.empty())
@@ -746,7 +746,7 @@ struct boss_nefarian : public BossAI
break;
}
}
events.ScheduleEvent(EVENT_CLASSCALL, urand(30000, 35000));
events.ScheduleEvent(EVENT_CLASSCALL, 30s, 35s);
break;
}

View File

@@ -133,10 +133,10 @@ public:
{
_EnterCombat();
events.ScheduleEvent(EVENT_CLEAVE, 15000);
events.ScheduleEvent(EVENT_STOMP, 35000);
events.ScheduleEvent(EVENT_FIREBALL, 7000);
events.ScheduleEvent(EVENT_CONFLAGRATION, 12000);
events.ScheduleEvent(EVENT_CLEAVE, 15s);
events.ScheduleEvent(EVENT_STOMP, 35s);
events.ScheduleEvent(EVENT_FIREBALL, 7s);
events.ScheduleEvent(EVENT_CONFLAGRATION, 12s);
instance->SetData(DATA_EGG_EVENT, IN_PROGRESS);
}
@@ -250,19 +250,19 @@ public:
{
case EVENT_CLEAVE:
DoCastVictim(SPELL_CLEAVE);
events.ScheduleEvent(EVENT_CLEAVE, urand(7000, 10000));
events.ScheduleEvent(EVENT_CLEAVE, 7s, 10s);
break;
case EVENT_STOMP:
DoCastVictim(SPELL_WARSTOMP);
events.ScheduleEvent(EVENT_STOMP, urand(15000, 25000));
events.ScheduleEvent(EVENT_STOMP, 15s, 25s);
break;
case EVENT_FIREBALL:
DoCastVictim(SPELL_FIREBALLVOLLEY);
events.ScheduleEvent(EVENT_FIREBALL, urand(12000, 15000));
events.ScheduleEvent(EVENT_FIREBALL, 12s, 15s);
break;
case EVENT_CONFLAGRATION:
DoCastVictim(SPELL_CONFLAGRATION);
events.ScheduleEvent(EVENT_CONFLAGRATION, 30000);
events.ScheduleEvent(EVENT_CONFLAGRATION, 30s);
break;
}
}

View File

@@ -122,18 +122,18 @@ public:
// now drop damage requirement to be able to take loot
me->ResetPlayerDamageReq();
events.ScheduleEvent(EVENT_CLEAVE, 10000);
events.ScheduleEvent(EVENT_FLAME_BREATH, 15000);
events.ScheduleEvent(EVENT_FIRE_NOVA, 5000);
events.ScheduleEvent(EVENT_TAIL_SWEEP, 11000);
events.ScheduleEvent(EVENT_BURNING_ADRENALINE, 15000);
events.ScheduleEvent(EVENT_CLEAVE, 10s);
events.ScheduleEvent(EVENT_FLAME_BREATH, 15s);
events.ScheduleEvent(EVENT_FIRE_NOVA, 5s);
events.ScheduleEvent(EVENT_TAIL_SWEEP, 11s);
events.ScheduleEvent(EVENT_BURNING_ADRENALINE, 15s);
}
void BeginSpeech(Unit* target)
{
PlayerGUID = target->GetGUID();
me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
_eventsIntro.ScheduleEvent(EVENT_SPEECH_1, 1000);
_eventsIntro.ScheduleEvent(EVENT_SPEECH_1, 1s);
}
void KilledUnit(Unit* victim) override
@@ -159,7 +159,7 @@ public:
case EVENT_SPEECH_1:
me->SetStandState(UNIT_STAND_STATE_STAND);
me->SummonCreature(NPC_VICTOR_NEFARIUS, aNefariusSpawnLoc[0], aNefariusSpawnLoc[1], aNefariusSpawnLoc[2], aNefariusSpawnLoc[3], TEMPSUMMON_TIMED_DESPAWN, 26000);
_eventsIntro.ScheduleEvent(EVENT_SPEECH_2, 1000);
_eventsIntro.ScheduleEvent(EVENT_SPEECH_2, 1s);
me->SetUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
break;
case EVENT_SPEECH_2:
@@ -169,27 +169,27 @@ public:
nefarius->Yell(SAY_NEFARIAN_VAEL_INTRO);
nefarius->SetStandState(UNIT_STAND_STATE_STAND);
}
_eventsIntro.ScheduleEvent(EVENT_SPEECH_3, 18000);
_eventsIntro.ScheduleEvent(EVENT_SPEECH_3, 18s);
break;
case EVENT_SPEECH_3:
if (Creature* nefarius = me->GetMap()->GetCreature(m_nefariusGuid))
nefarius->CastSpell(me, SPELL_RED_LIGHTNING, TRIGGERED_NONE);
_eventsIntro.ScheduleEvent(EVENT_SPEECH_4, 2000);
_eventsIntro.ScheduleEvent(EVENT_SPEECH_4, 2s);
break;
case EVENT_SPEECH_4:
Talk(SAY_LINE1);
me->HandleEmoteCommand(EMOTE_ONESHOT_TALK);
_eventsIntro.ScheduleEvent(EVENT_SPEECH_5, 12000);
_eventsIntro.ScheduleEvent(EVENT_SPEECH_5, 12s);
break;
case EVENT_SPEECH_5:
Talk(SAY_LINE2);
me->HandleEmoteCommand(EMOTE_ONESHOT_TALK);
_eventsIntro.ScheduleEvent(EVENT_SPEECH_6, 12000);
_eventsIntro.ScheduleEvent(EVENT_SPEECH_6, 12s);
break;
case EVENT_SPEECH_6:
Talk(SAY_LINE3);
me->HandleEmoteCommand(EMOTE_ONESHOT_TALK);
_eventsIntro.ScheduleEvent(EVENT_SPEECH_7, 17000);
_eventsIntro.ScheduleEvent(EVENT_SPEECH_7, 17s);
me->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
break;
case EVENT_SPEECH_7:
@@ -211,20 +211,20 @@ public:
switch (eventId)
{
case EVENT_CLEAVE:
events.ScheduleEvent(EVENT_CLEAVE, 15000);
events.ScheduleEvent(EVENT_CLEAVE, 15s);
DoCastVictim(SPELL_CLEAVE);
break;
case EVENT_FLAME_BREATH:
DoCastVictim(SPELL_FLAME_BREATH);
events.ScheduleEvent(EVENT_FLAME_BREATH, 8000, 14000);
events.ScheduleEvent(EVENT_FLAME_BREATH, 8s, 14s);
break;
case EVENT_FIRE_NOVA:
DoCastVictim(SPELL_FIRE_NOVA);
events.ScheduleEvent(EVENT_FIRE_NOVA, urand(3000, 5000));
events.ScheduleEvent(EVENT_FIRE_NOVA, 3s, 5s);
break;
case EVENT_TAIL_SWEEP:
DoCastAOE(SPELL_TAIL_SWEEP);
events.ScheduleEvent(EVENT_TAIL_SWEEP, 15000);
events.ScheduleEvent(EVENT_TAIL_SWEEP, 15s);
break;
case EVENT_BURNING_ADRENALINE:
{
@@ -244,7 +244,7 @@ public:
me->CastSpell(me->GetVictim(), SPELL_BURNING_ADRENALINE, true);
_burningAdrenalineCast = 0;
}
events.ScheduleEvent(EVENT_BURNING_ADRENALINE, 15000);
events.ScheduleEvent(EVENT_BURNING_ADRENALINE, 15s);
break;
}
}

View File

@@ -241,7 +241,7 @@ public:
switch (state)
{
case FAIL:
_events.ScheduleEvent(EVENT_RESPAWN_NEFARIUS, 15 * 60 * IN_MILLISECONDS); //15min
_events.ScheduleEvent(EVENT_RESPAWN_NEFARIUS, 15min);
[[fallthrough]];
case NOT_STARTED:
if (Creature* nefarian = instance->GetCreature(nefarianGUID))
@@ -270,7 +270,7 @@ public:
_events.CancelEvent(EVENT_RAZOR_SPAWN);
break;
case IN_PROGRESS:
_events.ScheduleEvent(EVENT_RAZOR_SPAWN, 45 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_RAZOR_SPAWN, 45s);
EggEvent = data;
EggCount = 0;
addsCount.fill(0);
@@ -305,7 +305,7 @@ public:
razor->RemoveAurasDueToSpell(19832); // MindControl
DoRemoveAurasDueToSpellOnPlayers(19832);
}
_events.ScheduleEvent(EVENT_RAZOR_PHASE_TWO, 1000);
_events.ScheduleEvent(EVENT_RAZOR_PHASE_TWO, 1s);
_events.CancelEvent(EVENT_RAZOR_SPAWN);
}
break;

View File

@@ -63,9 +63,9 @@ public:
void EnterCombat(Unit* /*attacker*/) override
{
_EnterCombat();
events.ScheduleEvent(EVENT_INFERNO, urand(13000, 15000));
events.ScheduleEvent(EVENT_IGNITE_MANA, urand(7000, 19000));
events.ScheduleEvent(EVENT_LIVING_BOMB, urand(11000, 16000));
events.ScheduleEvent(EVENT_INFERNO, 13s, 15s);
events.ScheduleEvent(EVENT_IGNITE_MANA, 7s, 19s);
events.ScheduleEvent(EVENT_LIVING_BOMB, 11s, 16s);
}
void DamageTaken(Unit* /*attacker*/, uint32& damage, DamageEffectType /*dmgType*/, SpellSchoolMask /*school*/) override

View File

@@ -73,8 +73,8 @@ public:
{
_EnterCombat();
DoCastSelf(SPELL_SEPARATION_ANXIETY, true);
events.ScheduleEvent(EVENT_ANTIMAGIC_PULSE, 15000);
events.ScheduleEvent(EVENT_MAGMA_SHACKLES, 10000);
events.ScheduleEvent(EVENT_ANTIMAGIC_PULSE, 15s);
events.ScheduleEvent(EVENT_MAGMA_SHACKLES, 10s);
massEruptionTimer = 600000; // 10 mins
}

View File

@@ -46,9 +46,9 @@ public:
void EnterCombat(Unit* /*attacker*/) override
{
_EnterCombat();
events.ScheduleEvent(EVENT_GEHENNAS_CURSE, urand(6000, 9000));
events.ScheduleEvent(EVENT_RAIN_OF_FIRE, 10000);
events.ScheduleEvent(EVENT_SHADOW_BOLT, urand(3000, 5000));
events.ScheduleEvent(EVENT_GEHENNAS_CURSE, 6s, 9s);
events.ScheduleEvent(EVENT_RAIN_OF_FIRE, 10s);
events.ScheduleEvent(EVENT_SHADOW_BOLT, 3s, 5s);
}
void ExecuteEvent(uint32 eventId) override

View File

@@ -45,9 +45,9 @@ public:
void EnterCombat(Unit* /*victim*/) override
{
_EnterCombat();
events.ScheduleEvent(EVENT_IMPENDING_DOOM, urand(6000, 11000));
events.ScheduleEvent(EVENT_LUCIFRON_CURSE, urand(11000, 14000));
events.ScheduleEvent(EVENT_SHADOW_SHOCK, 5000);
events.ScheduleEvent(EVENT_IMPENDING_DOOM, 6s, 11s);
events.ScheduleEvent(EVENT_LUCIFRON_CURSE, 11s, 14s);
events.ScheduleEvent(EVENT_SHADOW_SHOCK, 5s);
}
void ExecuteEvent(uint32 eventId) override

View File

@@ -58,10 +58,10 @@ public:
void EnterCombat(Unit* /*victim*/) override
{
_EnterCombat();
events.ScheduleEvent(EVENT_FRENZY, 8500);
events.ScheduleEvent(EVENT_PANIC, 9500);
events.ScheduleEvent(EVENT_LAVA_BOMB, 12000);
events.ScheduleEvent(EVENT_LAVA_BOMB_RANGED, 15000);
events.ScheduleEvent(EVENT_FRENZY, 8500ms);
events.ScheduleEvent(EVENT_PANIC, 9500ms);
events.ScheduleEvent(EVENT_LAVA_BOMB, 12s);
events.ScheduleEvent(EVENT_LAVA_BOMB_RANGED, 15s);
}
void ExecuteEvent(uint32 eventId) override

View File

@@ -249,9 +249,9 @@ public:
Talk(SAY_AGGRO);
DoCastSelf(SPELL_AEGIS_OF_RAGNAROS, true);
events.ScheduleEvent(EVENT_SHIELD_REFLECTION, 30000, PHASE_COMBAT, PHASE_COMBAT);
events.ScheduleEvent(EVENT_TELEPORT_RANDOM, 25000, PHASE_COMBAT, PHASE_COMBAT);
events.ScheduleEvent(EVENT_TELEPORT_TARGET, 15000, PHASE_COMBAT, PHASE_COMBAT);
events.ScheduleEvent(EVENT_SHIELD_REFLECTION, 30s, PHASE_COMBAT, PHASE_COMBAT);
events.ScheduleEvent(EVENT_TELEPORT_RANDOM, 25s, PHASE_COMBAT, PHASE_COMBAT);
events.ScheduleEvent(EVENT_TELEPORT_TARGET, 15s, PHASE_COMBAT, PHASE_COMBAT);
aliveMinionsGUIDS.clear();
aliveMinionsGUIDS = static_minionsGUIDS;
@@ -302,7 +302,7 @@ public:
{
events.Reset();
events.SetPhase(PHASE_DEFEAT_OUTRO);
events.ScheduleEvent(EVENT_DEFEAT_OUTRO_1, 7500, PHASE_DEFEAT_OUTRO, PHASE_DEFEAT_OUTRO);
events.ScheduleEvent(EVENT_DEFEAT_OUTRO_1, 7500ms, PHASE_DEFEAT_OUTRO, PHASE_DEFEAT_OUTRO);
}
}
@@ -389,13 +389,13 @@ public:
case EVENT_DEFEAT_OUTRO_1:
{
Talk(SAY_DEFEAT_2);
events.ScheduleEvent(EVENT_DEFEAT_OUTRO_2, 8000, PHASE_DEFEAT_OUTRO, PHASE_DEFEAT_OUTRO);
events.ScheduleEvent(EVENT_DEFEAT_OUTRO_2, 8s, PHASE_DEFEAT_OUTRO, PHASE_DEFEAT_OUTRO);
break;
}
case EVENT_DEFEAT_OUTRO_2:
{
Talk(SAY_DEFEAT_3);
events.ScheduleEvent(EVENT_DEFEAT_OUTRO_3, 21500, PHASE_DEFEAT_OUTRO, PHASE_DEFEAT_OUTRO);
events.ScheduleEvent(EVENT_DEFEAT_OUTRO_3, 21500ms, PHASE_DEFEAT_OUTRO, PHASE_DEFEAT_OUTRO);
break;
}
case EVENT_DEFEAT_OUTRO_3:
@@ -440,8 +440,8 @@ public:
}
Talk(SAY_SUMMON_MAJ);
events.ScheduleEvent(EVENT_RAGNAROS_SUMMON_3, 16700, PHASE_RAGNAROS_SUMMONING, PHASE_RAGNAROS_SUMMONING);
events.ScheduleEvent(EVENT_RAGNAROS_EMERGE, 15000, PHASE_RAGNAROS_SUMMONING, PHASE_RAGNAROS_SUMMONING);
events.ScheduleEvent(EVENT_RAGNAROS_SUMMON_3, 16700ms, PHASE_RAGNAROS_SUMMONING, PHASE_RAGNAROS_SUMMONING);
events.ScheduleEvent(EVENT_RAGNAROS_EMERGE, 15s, PHASE_RAGNAROS_SUMMONING, PHASE_RAGNAROS_SUMMONING);
break;
}
case EVENT_RAGNAROS_SUMMON_3:
@@ -450,13 +450,13 @@ public:
{
ragnaros->AI()->Talk(SAY_ARRIVAL1_RAG);
}
events.ScheduleEvent(EVENT_RAGNAROS_SUMMON_4, 11700, PHASE_RAGNAROS_SUMMONING, PHASE_RAGNAROS_SUMMONING);
events.ScheduleEvent(EVENT_RAGNAROS_SUMMON_4, 11700ms, PHASE_RAGNAROS_SUMMONING, PHASE_RAGNAROS_SUMMONING);
break;
}
case EVENT_RAGNAROS_SUMMON_4:
{
Talk(SAY_ARRIVAL2_MAJ);
events.ScheduleEvent(EVENT_RAGNAROS_SUMMON_5, 8700, PHASE_RAGNAROS_SUMMONING, PHASE_RAGNAROS_SUMMONING);
events.ScheduleEvent(EVENT_RAGNAROS_SUMMON_5, 8700ms, PHASE_RAGNAROS_SUMMONING, PHASE_RAGNAROS_SUMMONING);
break;
}
case EVENT_RAGNAROS_SUMMON_5:
@@ -466,7 +466,7 @@ public:
ragnaros->AI()->Talk(SAY_ARRIVAL3_RAG);
}
events.ScheduleEvent(EVENT_RAGNAROS_SUMMON_6, 16500, PHASE_RAGNAROS_SUMMONING, PHASE_RAGNAROS_SUMMONING);
events.ScheduleEvent(EVENT_RAGNAROS_SUMMON_6, 16500ms, PHASE_RAGNAROS_SUMMONING, PHASE_RAGNAROS_SUMMONING);
break;
}
case EVENT_RAGNAROS_SUMMON_6:
@@ -499,7 +499,7 @@ public:
if (type == POINT_MOTION_TYPE && pointId == POINT_RAGNAROS_SUMMON)
{
DoCastAOE(SPELL_SUMMON_RAGNAROS);
events.ScheduleEvent(EVENT_RAGNAROS_SUMMON_2, 11500, PHASE_RAGNAROS_SUMMONING, PHASE_RAGNAROS_SUMMONING);
events.ScheduleEvent(EVENT_RAGNAROS_SUMMON_2, 11500ms, PHASE_RAGNAROS_SUMMONING, PHASE_RAGNAROS_SUMMONING);
}
}
@@ -519,7 +519,7 @@ public:
if (action == ACTION_START_RAGNAROS_INTRO && !events.IsInPhase(PHASE_RAGNAROS_SUMMONING))
{
events.SetPhase(PHASE_RAGNAROS_SUMMONING);
events.ScheduleEvent(EVENT_RAGNAROS_SUMMON_1, 5000, PHASE_RAGNAROS_SUMMONING, PHASE_RAGNAROS_SUMMONING);
events.ScheduleEvent(EVENT_RAGNAROS_SUMMON_1, 5s, PHASE_RAGNAROS_SUMMONING, PHASE_RAGNAROS_SUMMONING);
}
}
private:

View File

@@ -165,7 +165,7 @@ public:
if (action == ACTION_FINISH_RAGNAROS_INTRO)
{
extraEvents.SetPhase(PHASE_INTRO);
extraEvents.ScheduleEvent(EVENT_INTRO_SAY, 5000, 0, PHASE_INTRO);
extraEvents.ScheduleEvent(EVENT_INTRO_SAY, 5s, 0, PHASE_INTRO);
}
}
@@ -242,7 +242,7 @@ public:
{
// Boss try to evade, but still got some targets on threat list - it means that none of these targets are in melee range - cast magma blast
_processingMagmaBurst = true;
events.ScheduleEvent(EVENT_MAGMA_BLAST, 4000, PHASE_EMERGED, PHASE_EMERGED);
events.ScheduleEvent(EVENT_MAGMA_BLAST, 4s, PHASE_EMERGED, PHASE_EMERGED);
}
}
else
@@ -270,7 +270,7 @@ public:
case EVENT_INTRO_SAY:
{
Talk(SAY_ARRIVAL5_RAG);
extraEvents.ScheduleEvent(EVENT_INTRO_MAKE_ATTACKABLE, 2500, 0, PHASE_INTRO);
extraEvents.ScheduleEvent(EVENT_INTRO_MAKE_ATTACKABLE, 2500ms, 0, PHASE_INTRO);
break;
}
case EVENT_INTRO_MAKE_ATTACKABLE:
@@ -312,7 +312,7 @@ public:
}
else
{
events.RescheduleEvent(EVENT_LAVA_BURST, 10000, PHASE_EMERGED, PHASE_EMERGED);
events.RescheduleEvent(EVENT_LAVA_BURST, 10s, PHASE_EMERGED, PHASE_EMERGED);
}
break;
@@ -359,7 +359,7 @@ public:
{
Talk(SAY_KNOCKBACK);
_isKnockbackEmoteAllowed = false;
extraEvents.RescheduleEvent(EVENT_RESET_KNOCKBACK_EMOTE, 5000);
extraEvents.RescheduleEvent(EVENT_RESET_KNOCKBACK_EMOTE, 5s);
}
events.RepeatEvent(20000);
break;
@@ -397,7 +397,7 @@ public:
{
Talk(SAY_KNOCKBACK, me);
_isKnockbackEmoteAllowed = false;
extraEvents.RescheduleEvent(EVENT_RESET_KNOCKBACK_EMOTE, 5000);
extraEvents.RescheduleEvent(EVENT_RESET_KNOCKBACK_EMOTE, 5s);
}
}
events.RepeatEvent(urand(11000, 30000));
@@ -426,7 +426,7 @@ public:
_hasSubmergedOnce = true;
}
extraEvents.ScheduleEvent(EVENT_EMERGE, 90000, PHASE_SUBMERGED, PHASE_SUBMERGED);
extraEvents.ScheduleEvent(EVENT_EMERGE, 90s, PHASE_SUBMERGED, PHASE_SUBMERGED);
break;
}
}
@@ -477,12 +477,12 @@ public:
void ScheduleCombatEvents()
{
events.RescheduleEvent(EVENT_ERUPTION, 15000, PHASE_EMERGED, PHASE_EMERGED);
events.RescheduleEvent(EVENT_WRATH_OF_RAGNAROS, 30000, PHASE_EMERGED, PHASE_EMERGED);
events.RescheduleEvent(EVENT_HAND_OF_RAGNAROS, 25000, PHASE_EMERGED, PHASE_EMERGED);
events.RescheduleEvent(EVENT_LAVA_BURST, 10000, PHASE_EMERGED, PHASE_EMERGED);
events.RescheduleEvent(EVENT_SUBMERGE, 180000, PHASE_EMERGED, PHASE_EMERGED);
events.RescheduleEvent(EVENT_MIGHT_OF_RAGNAROS, 11000, PHASE_EMERGED, PHASE_EMERGED);
events.RescheduleEvent(EVENT_ERUPTION, 15s, PHASE_EMERGED, PHASE_EMERGED);
events.RescheduleEvent(EVENT_WRATH_OF_RAGNAROS, 30s, PHASE_EMERGED, PHASE_EMERGED);
events.RescheduleEvent(EVENT_HAND_OF_RAGNAROS, 25s, PHASE_EMERGED, PHASE_EMERGED);
events.RescheduleEvent(EVENT_LAVA_BURST, 10s, PHASE_EMERGED, PHASE_EMERGED);
events.RescheduleEvent(EVENT_SUBMERGE, 18s, PHASE_EMERGED, PHASE_EMERGED);
events.RescheduleEvent(EVENT_MIGHT_OF_RAGNAROS, 11s, PHASE_EMERGED, PHASE_EMERGED);
}
bool IsVictimWithinMeleeRange() const

View File

@@ -52,11 +52,11 @@ public:
void EnterCombat(Unit* /*target*/) override
{
_EnterCombat();
events.ScheduleEvent(EVENT_ARCANE_EXPLOSION, urand(2000, 4000));
events.ScheduleEvent(EVENT_SHAZZRAH_CURSE, urand(7000, 11000));
events.ScheduleEvent(EVENT_MAGIC_GROUNDING, urand(14000, 19000));
events.ScheduleEvent(EVENT_COUNTERSPELL, urand(9000, 10000));
events.ScheduleEvent(EVENT_SHAZZRAH_GATE, 30000);
events.ScheduleEvent(EVENT_ARCANE_EXPLOSION, 2s, 4s);
events.ScheduleEvent(EVENT_SHAZZRAH_CURSE, 7s,11s);
events.ScheduleEvent(EVENT_MAGIC_GROUNDING, 14s, 19s);
events.ScheduleEvent(EVENT_COUNTERSPELL, 9s, 10s);
events.ScheduleEvent(EVENT_SHAZZRAH_GATE, 30s);
}
void ExecuteEvent(uint32 eventId) override
@@ -93,7 +93,7 @@ public:
case EVENT_SHAZZRAH_GATE:
{
DoCastAOE(SPELL_SHAZZRAH_GATE_DUMMY);
events.RescheduleEvent(EVENT_ARCANE_EXPLOSION, urand(3000, 6000));
events.RescheduleEvent(EVENT_ARCANE_EXPLOSION, 3s, 6s);
events.RepeatEvent(45000);
break;
}

View File

@@ -59,10 +59,10 @@ public:
void EnterCombat(Unit* /*victim*/) override
{
_EnterCombat();
events.ScheduleEvent(EVENT_DEMORALIZING_SHOUT, urand(6000, 20000));
events.ScheduleEvent(EVENT_INSPIRE, urand(7000, 10000));
events.ScheduleEvent(EVENT_KNOCKDOWN, 6000);
events.ScheduleEvent(EVENT_FLAMESPEAR, 2000);
events.ScheduleEvent(EVENT_DEMORALIZING_SHOUT, 6s, 20s);
events.ScheduleEvent(EVENT_INSPIRE, 7s, 10s);
events.ScheduleEvent(EVENT_KNOCKDOWN, 6s);
events.ScheduleEvent(EVENT_FLAMESPEAR, 2s);
}
void ExecuteEvent(uint32 eventId) override
@@ -130,10 +130,10 @@ public:
void EnterCombat(Unit* /*victim*/) override
{
events.ScheduleEvent(EVENT_DARK_STRIKE, urand(4000, 7000));
events.ScheduleEvent(EVENT_DARK_MENDING, urand(15000, 30000));
events.ScheduleEvent(EVENT_SHADOW_WORD_PAIN, urand(2000, 4000));
events.ScheduleEvent(EVENT_IMMOLATE, urand(3500, 6000));
events.ScheduleEvent(EVENT_DARK_STRIKE, 4s, 7s);
events.ScheduleEvent(EVENT_DARK_MENDING, 15s, 30s);
events.ScheduleEvent(EVENT_SHADOW_WORD_PAIN, 2s, 4s);
events.ScheduleEvent(EVENT_IMMOLATE, 3500ms, 6000ms);
}
void UpdateAI(uint32 diff) override

View File

@@ -73,9 +73,9 @@ public:
void EnterCombat(Unit* /*who*/) override
{
events.ScheduleEvent(EVENT_CHECK_HEALTH1, 500);
events.ScheduleEvent(EVENT_CHECK_HEALTH2, 500);
events.ScheduleEvent(EVENT_SMITE_SLAM, 3000);
events.ScheduleEvent(EVENT_CHECK_HEALTH1, 500ms);
events.ScheduleEvent(EVENT_CHECK_HEALTH2, 500ms);
events.ScheduleEvent(EVENT_SMITE_SLAM, 3s);
}
void UpdateAI(uint32 diff) override
@@ -99,7 +99,7 @@ public:
health67 = true;
break;
}
events.ScheduleEvent(EVENT_CHECK_HEALTH1, 500);
events.ScheduleEvent(EVENT_CHECK_HEALTH1, 500ms);
break;
case EVENT_CHECK_HEALTH2:
if (me->HealthBelowPct(34) && !health34)
@@ -114,16 +114,16 @@ public:
health34 = true;
break;
}
events.ScheduleEvent(EVENT_CHECK_HEALTH2, 500);
events.ScheduleEvent(EVENT_CHECK_HEALTH2, 500ms);
break;
case EVENT_SMITE_SLAM:
if (me->HealthBelowPct(33))
{
me->CastSpell(me->GetVictim(), SPELL_SMITE_SLAM, false);
events.ScheduleEvent(EVENT_SMITE_SLAM, 6000);
events.ScheduleEvent(EVENT_SMITE_SLAM, 6s);
break;
}
events.ScheduleEvent(EVENT_SMITE_SLAM, 500);
events.ScheduleEvent(EVENT_SMITE_SLAM, 500ms);
break;
case EVENT_SWAP_WEAPON1:
me->LoadEquipment(EQUIP_TWO_SWORDS);
@@ -160,9 +160,9 @@ public:
me->SetTarget();
me->SetFacingTo(5.558f);
me->SetStandState(UNIT_STAND_STATE_KNEEL);
events.ScheduleEvent(point == EQUIP_TWO_SWORDS ? EVENT_SWAP_WEAPON1 : EVENT_SWAP_WEAPON2, 1500);
events.ScheduleEvent(EVENT_RESTORE_COMBAT, 3000);
events.ScheduleEvent(EVENT_KNEEL, 0);
events.ScheduleEvent(point == EQUIP_TWO_SWORDS ? EVENT_SWAP_WEAPON1 : EVENT_SWAP_WEAPON2, 1500ms);
events.ScheduleEvent(EVENT_RESTORE_COMBAT, 3s);
events.ScheduleEvent(EVENT_KNEEL, 0ms);
}
};
};

View File

@@ -290,12 +290,12 @@ public:
timer = 600000; // clear playerGUIDs after 10 minutes if no one initiates a duel
me->GetMotionMaster()->MoveFollow(caster, 2.0f, 0.0f);
events.ScheduleEvent(EVENT_SPEAK, 3000);
events.ScheduleEvent(EVENT_SPEAK + 1, 7000);
events.ScheduleEvent(EVENT_SPEAK + 2, 8000);
events.ScheduleEvent(EVENT_SPEAK + 3, 9000);
events.ScheduleEvent(EVENT_SPEAK + 4, 10000);
events.ScheduleEvent(EVENT_SPEAK + 5, 11000);
events.ScheduleEvent(EVENT_SPEAK, 3s);
events.ScheduleEvent(EVENT_SPEAK + 1, 7s);
events.ScheduleEvent(EVENT_SPEAK + 2, 8s);
events.ScheduleEvent(EVENT_SPEAK + 3, 9s);
events.ScheduleEvent(EVENT_SPEAK + 4, 10s);
events.ScheduleEvent(EVENT_SPEAK + 5, 11s);
}
}
@@ -308,8 +308,8 @@ public:
else if (damage >= me->GetHealth())
{
damage = 0;
events.ScheduleEvent(EVENT_DUEL_LOST, 2000);
events.ScheduleEvent(EVENT_DUEL_LOST + 1, 6000);
events.ScheduleEvent(EVENT_DUEL_LOST, 2s);
events.ScheduleEvent(EVENT_DUEL_LOST + 1, 6s);
_duelGUID.Clear();
_duelInProgress = 0;
@@ -491,8 +491,8 @@ public:
ScriptedAI::InitializeAI();
me->SetReactState(REACT_PASSIVE);
events.ScheduleEvent(EVENT_GHOUL_EMOTE, 1);
events.ScheduleEvent(EVENT_GHOUL_RESTORE_STATE, 3500);
events.ScheduleEvent(EVENT_GHOUL_EMOTE, 1ms);
events.ScheduleEvent(EVENT_GHOUL_RESTORE_STATE, 3500ms);
}
void OwnerAttackedBy(Unit* attacker) override
@@ -504,7 +504,7 @@ public:
void SetGUID(ObjectGuid guid, int32) override
{
gothikGUID = guid;
events.ScheduleEvent(EVENT_GHOUL_MOVE_TO_PIT, 3000);
events.ScheduleEvent(EVENT_GHOUL_MOVE_TO_PIT, 3s);
me->GetMotionMaster()->Clear(false);
}
@@ -535,7 +535,7 @@ public:
me->RemoveUnitFlag(UNIT_FLAG_DISABLE_MOVE);
if (Player* owner = me->GetCharmerOrOwnerPlayerOrPlayerItself())
me->GetMotionMaster()->MoveFollow(owner, PET_FOLLOW_DIST, frand(0.0f, 2 * M_PI));
events.ScheduleEvent(EVENT_GHOUL_CHECK_COMBAT, 1000);
events.ScheduleEvent(EVENT_GHOUL_CHECK_COMBAT, 1s);
return;
case EVENT_GHOUL_CHECK_COMBAT:
if (!me->IsInCombat())
@@ -750,10 +750,10 @@ public:
void EnterCombat(Unit* /*who*/) override
{
events.ScheduleEvent(EVENT_ICY_TOUCH, 1000, GCD_CAST);
events.ScheduleEvent(EVENT_PLAGUE_STRIKE, 3000, GCD_CAST);
events.ScheduleEvent(EVENT_BLOOD_STRIKE, 2000, GCD_CAST);
events.ScheduleEvent(EVENT_DEATH_COIL, 5000, GCD_CAST);
events.ScheduleEvent(EVENT_ICY_TOUCH, 1s, GCD_CAST);
events.ScheduleEvent(EVENT_PLAGUE_STRIKE, 3s, GCD_CAST);
events.ScheduleEvent(EVENT_BLOOD_STRIKE, 2s, GCD_CAST);
events.ScheduleEvent(EVENT_DEATH_COIL, 5s, GCD_CAST);
}
void MovementInform(uint32 type, uint32 id) override
@@ -866,22 +866,22 @@ public:
case EVENT_ICY_TOUCH:
DoCastVictim(SPELL_ICY_TOUCH);
events.DelayEvents(1000, GCD_CAST);
events.ScheduleEvent(EVENT_ICY_TOUCH, 5000, GCD_CAST);
events.ScheduleEvent(EVENT_ICY_TOUCH, 5s, GCD_CAST);
break;
case EVENT_PLAGUE_STRIKE:
DoCastVictim(SPELL_PLAGUE_STRIKE);
events.DelayEvents(1000, GCD_CAST);
events.ScheduleEvent(EVENT_PLAGUE_STRIKE, 5000, GCD_CAST);
events.ScheduleEvent(EVENT_PLAGUE_STRIKE, 5s, GCD_CAST);
break;
case EVENT_BLOOD_STRIKE:
DoCastVictim(SPELL_BLOOD_STRIKE);
events.DelayEvents(1000, GCD_CAST);
events.ScheduleEvent(EVENT_BLOOD_STRIKE, 5000, GCD_CAST);
events.ScheduleEvent(EVENT_BLOOD_STRIKE, 5s, GCD_CAST);
break;
case EVENT_DEATH_COIL:
DoCastVictim(SPELL_DEATH_COIL);
events.DelayEvents(1000, GCD_CAST);
events.ScheduleEvent(EVENT_DEATH_COIL, 5000, GCD_CAST);
events.ScheduleEvent(EVENT_DEATH_COIL, 5s, GCD_CAST);
break;
}
}

View File

@@ -392,20 +392,20 @@ public:
SendInitialWorldStates();
events.Reset();
events.ScheduleEvent(EVENT_START_COUNTDOWN_1, 60000);
events.ScheduleEvent(EVENT_START_COUNTDOWN_2, 120000);
events.ScheduleEvent(EVENT_START_COUNTDOWN_3, 180000);
events.ScheduleEvent(EVENT_START_COUNTDOWN_4, 240000);
events.ScheduleEvent(EVENT_START_COUNTDOWN_5, 300000);
events.ScheduleEvent(EVENT_START_COUNTDOWN_6, 308000);
events.ScheduleEvent(EVENT_START_COUNTDOWN_7, 312000);
events.ScheduleEvent(EVENT_START_COUNTDOWN_8, 316000);
events.ScheduleEvent(EVENT_START_COUNTDOWN_9, 320000);
events.ScheduleEvent(EVENT_START_COUNTDOWN_10, 324000);
events.ScheduleEvent(EVENT_START_COUNTDOWN_11, 332000);
events.ScheduleEvent(EVENT_START_COUNTDOWN_12, 335000);
events.ScheduleEvent(EVENT_START_COUNTDOWN_13, 337500);
events.ScheduleEvent(EVENT_START_COUNTDOWN_14, 345000);
events.ScheduleEvent(EVENT_START_COUNTDOWN_1, 60s);
events.ScheduleEvent(EVENT_START_COUNTDOWN_2, 120s);
events.ScheduleEvent(EVENT_START_COUNTDOWN_3, 180s);
events.ScheduleEvent(EVENT_START_COUNTDOWN_4, 240s);
events.ScheduleEvent(EVENT_START_COUNTDOWN_5, 300s);
events.ScheduleEvent(EVENT_START_COUNTDOWN_6, 308s);
events.ScheduleEvent(EVENT_START_COUNTDOWN_7, 312s);
events.ScheduleEvent(EVENT_START_COUNTDOWN_8, 316s);
events.ScheduleEvent(EVENT_START_COUNTDOWN_9, 320s);
events.ScheduleEvent(EVENT_START_COUNTDOWN_10, 324s);
events.ScheduleEvent(EVENT_START_COUNTDOWN_11, 332s);
events.ScheduleEvent(EVENT_START_COUNTDOWN_12, 335s);
events.ScheduleEvent(EVENT_START_COUNTDOWN_13, 337s + 500ms);
events.ScheduleEvent(EVENT_START_COUNTDOWN_14, 345s);
}
}
@@ -507,11 +507,11 @@ public:
tirion->LoadEquipment(0, true);
tirion->AI()->Talk(SAY_LIGHT_OF_DAWN25);
events.Reset();
events.ScheduleEvent(EVENT_FINISH_FIGHT_1, 10000);
events.ScheduleEvent(EVENT_FINISH_FIGHT_2, 20000);
events.ScheduleEvent(EVENT_FINISH_FIGHT_3, 22000);
events.ScheduleEvent(EVENT_FINISH_FIGHT_4, 23000);
events.ScheduleEvent(EVENT_FINISH_FIGHT_5, 24000);
events.ScheduleEvent(EVENT_FINISH_FIGHT_1, 10s);
events.ScheduleEvent(EVENT_FINISH_FIGHT_2, 20s);
events.ScheduleEvent(EVENT_FINISH_FIGHT_3, 22s);
events.ScheduleEvent(EVENT_FINISH_FIGHT_4, 23s);
events.ScheduleEvent(EVENT_FINISH_FIGHT_5, 24s);
tirion->SummonGameObject(GO_HOLY_LIGHTNING, 2254.84f, -5298.75f, 82.168f, 1.134f, 0, 0, 0.537102f, 0.843517f, 20);
tirion->SummonGameObject(GO_HOLY_LIGHTNING, 2296.24f, -5296.44f, 81.9964f, 5.3398f, 0, 0, 0.454395f, -0.8908f, 20);
@@ -579,25 +579,25 @@ public:
Talk(EMOTE_LIGHT_OF_DAWN05);
events.Reset();
events.ScheduleEvent(EVENT_OUTRO_SCENE_1, 2000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_2, 19000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_3, 38000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_4, 50000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_5, 62000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_6, 68000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_7, 71000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_8, 72000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_9, 74000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_10, 77000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_11, 79000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_12, 82000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_13, 85000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_14, 92000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_15, 98000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_16, 105000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_17, 120000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_18, 131000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_19, 158000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_1, 2s);
events.ScheduleEvent(EVENT_OUTRO_SCENE_2, 19s);
events.ScheduleEvent(EVENT_OUTRO_SCENE_3, 38s);
events.ScheduleEvent(EVENT_OUTRO_SCENE_4, 50s);
events.ScheduleEvent(EVENT_OUTRO_SCENE_5, 62s);
events.ScheduleEvent(EVENT_OUTRO_SCENE_6, 68s);
events.ScheduleEvent(EVENT_OUTRO_SCENE_7, 71s);
events.ScheduleEvent(EVENT_OUTRO_SCENE_8, 72s);
events.ScheduleEvent(EVENT_OUTRO_SCENE_9, 74s);
events.ScheduleEvent(EVENT_OUTRO_SCENE_10, 77s);
events.ScheduleEvent(EVENT_OUTRO_SCENE_11, 79s);
events.ScheduleEvent(EVENT_OUTRO_SCENE_12, 82s);
events.ScheduleEvent(EVENT_OUTRO_SCENE_13, 85s);
events.ScheduleEvent(EVENT_OUTRO_SCENE_14, 92s);
events.ScheduleEvent(EVENT_OUTRO_SCENE_15, 98s);
events.ScheduleEvent(EVENT_OUTRO_SCENE_16, 105s);
events.ScheduleEvent(EVENT_OUTRO_SCENE_17, 120s);
events.ScheduleEvent(EVENT_OUTRO_SCENE_18, 131s);
events.ScheduleEvent(EVENT_OUTRO_SCENE_19, 158s);
}
}
@@ -843,23 +843,23 @@ public:
alex->AI()->Talk(SAY_LIGHT_OF_DAWN42);
events.Reset();
events.ScheduleEvent(EVENT_OUTRO_SCENE_20, 4000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_21, 4500);
events.ScheduleEvent(EVENT_OUTRO_SCENE_22, 7000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_23, 9000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_24, 14000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_25, 21200);
events.ScheduleEvent(EVENT_OUTRO_SCENE_26, 22500);
events.ScheduleEvent(EVENT_OUTRO_SCENE_27, 24000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_28, 28000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_29, 34000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_30, 36000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_31, 51000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_32, 68000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_33, 73000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_34, 76000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_35, 77000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_36, 81000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_20, 4s);
events.ScheduleEvent(EVENT_OUTRO_SCENE_21, 4s + 500ms);
events.ScheduleEvent(EVENT_OUTRO_SCENE_22, 7s);
events.ScheduleEvent(EVENT_OUTRO_SCENE_23, 9s);
events.ScheduleEvent(EVENT_OUTRO_SCENE_24, 14s);
events.ScheduleEvent(EVENT_OUTRO_SCENE_25, 21s + 200ms);
events.ScheduleEvent(EVENT_OUTRO_SCENE_26, 22s + 500ms);
events.ScheduleEvent(EVENT_OUTRO_SCENE_27, 24s);
events.ScheduleEvent(EVENT_OUTRO_SCENE_28, 28s);
events.ScheduleEvent(EVENT_OUTRO_SCENE_29, 34s);
events.ScheduleEvent(EVENT_OUTRO_SCENE_30, 36s);
events.ScheduleEvent(EVENT_OUTRO_SCENE_31, 51s);
events.ScheduleEvent(EVENT_OUTRO_SCENE_32, 68s);
events.ScheduleEvent(EVENT_OUTRO_SCENE_33, 73s);
events.ScheduleEvent(EVENT_OUTRO_SCENE_34, 76s);
events.ScheduleEvent(EVENT_OUTRO_SCENE_35, 77s);
events.ScheduleEvent(EVENT_OUTRO_SCENE_36, 81s);
break;
case EVENT_OUTRO_SCENE_20:
if (Creature* lk = me->SummonCreature(NPC_THE_LICH_KING, LightOfDawnPos[12].GetPositionX(), LightOfDawnPos[12].GetPositionY(), LightOfDawnPos[12].GetPositionZ(), LightOfDawnPos[12].GetOrientation(), TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 300000))
@@ -971,23 +971,23 @@ public:
me->SetFacingToObject(tirion);
events.Reset();
events.ScheduleEvent(EVENT_OUTRO_SCENE_37, 1000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_38, 5000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_39, 7000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_40, 9000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_41, 13000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_42, 16000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_43, 17000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_44, 19000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_45, 25000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_46, 32000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_47, 42000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_48, 52000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_49, 54000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_50, 58000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_51, 65000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_52, 70000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_53, 84000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_37, 1s);
events.ScheduleEvent(EVENT_OUTRO_SCENE_38, 5s);
events.ScheduleEvent(EVENT_OUTRO_SCENE_39, 7s);
events.ScheduleEvent(EVENT_OUTRO_SCENE_40, 9s);
events.ScheduleEvent(EVENT_OUTRO_SCENE_41, 13s);
events.ScheduleEvent(EVENT_OUTRO_SCENE_42, 16s);
events.ScheduleEvent(EVENT_OUTRO_SCENE_43, 17s);
events.ScheduleEvent(EVENT_OUTRO_SCENE_44, 19s);
events.ScheduleEvent(EVENT_OUTRO_SCENE_45, 25s);
events.ScheduleEvent(EVENT_OUTRO_SCENE_46, 32s);
events.ScheduleEvent(EVENT_OUTRO_SCENE_47, 42s);
events.ScheduleEvent(EVENT_OUTRO_SCENE_48, 52s);
events.ScheduleEvent(EVENT_OUTRO_SCENE_49, 54s);
events.ScheduleEvent(EVENT_OUTRO_SCENE_50, 58s);
events.ScheduleEvent(EVENT_OUTRO_SCENE_51, 65s);
events.ScheduleEvent(EVENT_OUTRO_SCENE_52, 70s);
events.ScheduleEvent(EVENT_OUTRO_SCENE_53, 84s);
break;
case EVENT_OUTRO_SCENE_37:
me->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 0, uint32(EQUIP_UNEQUIP));
@@ -1089,14 +1089,14 @@ public:
tirion->AI()->Talk(SAY_LIGHT_OF_DAWN62);
events.Reset();
events.ScheduleEvent(EVENT_OUTRO_SCENE_54, 6000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_55, 14000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_56, 27000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_57, 37000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_58, 44000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_59, 50000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_60, 63000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_61, 150000);
events.ScheduleEvent(EVENT_OUTRO_SCENE_54, 6s);
events.ScheduleEvent(EVENT_OUTRO_SCENE_55, 14s);
events.ScheduleEvent(EVENT_OUTRO_SCENE_56, 27s);
events.ScheduleEvent(EVENT_OUTRO_SCENE_57, 37s);
events.ScheduleEvent(EVENT_OUTRO_SCENE_58, 44s);
events.ScheduleEvent(EVENT_OUTRO_SCENE_59, 50s);
events.ScheduleEvent(EVENT_OUTRO_SCENE_60, 63s);
events.ScheduleEvent(EVENT_OUTRO_SCENE_61, 150s);
break;
case EVENT_OUTRO_SCENE_54:
if (Creature* tirion = GetEntryFromSummons(NPC_HIGHLORD_TIRION_FORDRING))
@@ -1151,23 +1151,23 @@ public:
{
case EVENT_SPELL_ANTI_MAGIC_ZONE:
DoCast(me, SPELL_ANTI_MAGIC_ZONE1);
events.RescheduleEvent(eventId, urand(25000, 30000));
events.RescheduleEvent(eventId, 25s, 30s);
break;
case EVENT_SPELL_DEATH_STRIKE:
DoCastVictim(SPELL_DEATH_STRIKE);
events.RescheduleEvent(eventId, urand(5000, 10000));
events.RescheduleEvent(eventId, 5s, 10s);
break;
case EVENT_SPELL_DEATH_EMBRACE:
DoCastVictim(SPELL_DEATH_EMBRACE);
events.RescheduleEvent(eventId, urand(15000, 20000));
events.RescheduleEvent(eventId, 15s, 20s);
break;
case EVENT_SPELL_UNHOLY_BLIGHT:
DoCast(me, SPELL_UNHOLY_BLIGHT);
events.RescheduleEvent(eventId, 60000);
events.RescheduleEvent(eventId, 60s);
break;
case EVENT_SPELL_TALK:
Talk(SAY_LIGHT_OF_DAWN09);
events.RescheduleEvent(eventId, urand(15000, 20000));
events.RescheduleEvent(eventId, 15s, 20s);
break;
}

View File

@@ -412,9 +412,9 @@ public:
{
Talk(SAY_MO_AGGRO);
me->CastSpell(me, SPELL_RETRIBUTION_AURA, true);
events.ScheduleEvent(EVENT_PULL_CATHEDRAL, 1000); // Has to be done via event, otherwise mob aggroing Mograine DOES NOT aggro the room
events.ScheduleEvent(EVENT_SPELL_CRUSADER_STRIKE, urand(1000, 5000));
events.ScheduleEvent(EVENT_SPELL_HAMMER_OF_JUSTICE, urand(6000, 11000));
events.ScheduleEvent(EVENT_PULL_CATHEDRAL, 1s); // Has to be done via event, otherwise mob aggroing Mograine DOES NOT aggro the room
events.ScheduleEvent(EVENT_SPELL_CRUSADER_STRIKE, 1s, 5s);
events.ScheduleEvent(EVENT_SPELL_HAMMER_OF_JUSTICE, 6s, 11s);
}
void DamageTaken(Unit* /*doneBy*/, uint32& damage, DamageEffectType, SpellSchoolMask) override
@@ -487,8 +487,8 @@ public:
me->RemoveAurasDueToSpell(SPELL_PERMANENT_FEIGN_DEATH);
me->CastSpell(me, SPELL_RETRIBUTION_AURA, true);
me->CastSpell(Whitemane, SPELL_LAY_ON_HANDS, true);
events.ScheduleEvent(EVENT_SPELL_CRUSADER_STRIKE, urand(1000, 5000));
events.ScheduleEvent(EVENT_SPELL_HAMMER_OF_JUSTICE, urand(6000, 11000));
events.ScheduleEvent(EVENT_SPELL_CRUSADER_STRIKE, 1s, 5s);
events.ScheduleEvent(EVENT_SPELL_HAMMER_OF_JUSTICE, 6s, 11s);
if (me->GetVictim())
me->GetMotionMaster()->MoveChase(me->GetVictim());
heal = true;
@@ -509,11 +509,11 @@ public:
{
case EVENT_SPELL_CRUSADER_STRIKE:
me->CastSpell(me->GetVictim(), SPELL_CRUSADER_STRIKE, true);
events.ScheduleEvent(EVENT_SPELL_CRUSADER_STRIKE, 10000);
events.ScheduleEvent(EVENT_SPELL_CRUSADER_STRIKE, 10s);
break;
case EVENT_SPELL_HAMMER_OF_JUSTICE:
me->CastSpell(me->GetVictim(), SPELL_HAMMER_OF_JUSTICE, true);
events.ScheduleEvent(EVENT_SPELL_HAMMER_OF_JUSTICE, 60000);
events.ScheduleEvent(EVENT_SPELL_HAMMER_OF_JUSTICE, 60s);
break;
case EVENT_PULL_CATHEDRAL:
PullCathedral();
@@ -568,9 +568,9 @@ public:
void EnterCombat(Unit* /*who*/) override
{
Talk(SAY_WH_INTRO);
events.ScheduleEvent(EVENT_SPELL_HOLY_SMITE, urand(1000, 3000));
events.ScheduleEvent(EVENT_SPELL_POWER_WORLD_SHIELD, 6000);
events.ScheduleEvent(EVENT_SPELL_HEAL, 9000);
events.ScheduleEvent(EVENT_SPELL_HOLY_SMITE, 1s, 3s);
events.ScheduleEvent(EVENT_SPELL_POWER_WORLD_SHIELD, 6s);
events.ScheduleEvent(EVENT_SPELL_HEAL, 9s);
}
void DamageTaken(Unit* /*doneBy*/, uint32& damage, DamageEffectType, SpellSchoolMask) override
@@ -652,11 +652,11 @@ public:
{
case EVENT_SPELL_POWER_WORLD_SHIELD:
me->CastSpell(me, SPELL_POWER_WORD_SHIELD, false);
events.ScheduleEvent(EVENT_SPELL_POWER_WORLD_SHIELD, 15000);
events.ScheduleEvent(EVENT_SPELL_POWER_WORLD_SHIELD, 15s);
break;
case EVENT_SPELL_HOLY_SMITE:
me->CastSpell(me->GetVictim(), SPELL_HOLY_SMITE, false);
events.ScheduleEvent(EVENT_SPELL_HOLY_SMITE, 6000);
events.ScheduleEvent(EVENT_SPELL_HOLY_SMITE, 6s);
break;
case EVENT_SPELL_HEAL:
me->CastSpell(me, SPELL_HEAL, false);

View File

@@ -90,9 +90,9 @@ public:
TransformsCount = 0;
events.Reset();
events.ScheduleEvent(EVENT_SHADOW_BOLT_VOLLEY, 2000);
events.ScheduleEvent(EVENT_CURSE_OF_TONGUES, 6000);
events.ScheduleEvent(EVENT_KIRTONOS_TRANSFORM, 20000);
events.ScheduleEvent(EVENT_SHADOW_BOLT_VOLLEY, 2s);
events.ScheduleEvent(EVENT_CURSE_OF_TONGUES, 6s);
events.ScheduleEvent(EVENT_KIRTONOS_TRANSFORM, 20s);
}
void JustDied(Unit* /*killer*/) override
@@ -109,7 +109,7 @@ public:
void IsSummonedBy(WorldObject* /*summoner*/) override
{
events2.Reset();
events2.ScheduleEvent(INTRO_1, 1000);
events2.ScheduleEvent(INTRO_1, 1s);
me->SetDisableGravity(true);
me->SetReactState(REACT_PASSIVE);
me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
@@ -120,11 +120,11 @@ public:
{
if (type == WAYPOINT_MOTION_TYPE && id == POINT_KIRTONOS_LAND)
{
events2.ScheduleEvent(INTRO_2, 1500);
events2.ScheduleEvent(INTRO_3, 2500);
events2.ScheduleEvent(INTRO_4, 5500);
events2.ScheduleEvent(INTRO_5, 6500);
events2.ScheduleEvent(INTRO_6, 11500);
events2.ScheduleEvent(INTRO_2, 1500ms);
events2.ScheduleEvent(INTRO_3, 2500ms);
events2.ScheduleEvent(INTRO_4, 5500ms);
events2.ScheduleEvent(INTRO_5, 6500ms);
events2.ScheduleEvent(INTRO_6, 11500ms);
}
}
@@ -179,27 +179,27 @@ public:
{
case EVENT_SWOOP:
me->CastSpell(me->GetVictim(), SPELL_SWOOP, false);
events.ScheduleEvent(EVENT_SWOOP, 15000);
events.ScheduleEvent(EVENT_SWOOP, 15s);
break;
case EVENT_WING_FLAP:
me->CastSpell(me, SPELL_WING_FLAP, false);
events.ScheduleEvent(EVENT_WING_FLAP, 13000);
events.ScheduleEvent(EVENT_WING_FLAP, 13s);
break;
case EVENT_PIERCE_ARMOR:
me->CastSpell(me->GetVictim(), SPELL_PIERCE_ARMOR, false);
events.ScheduleEvent(EVENT_PIERCE_ARMOR, 12000);
events.ScheduleEvent(EVENT_PIERCE_ARMOR, 12s);
break;
case EVENT_DISARM:
me->CastSpell(me->GetVictim(), SPELL_DISARM, false);
events.ScheduleEvent(EVENT_DISARM, 11000);
events.ScheduleEvent(EVENT_DISARM, 11s);
break;
case EVENT_SHADOW_BOLT_VOLLEY:
me->CastSpell(me, SPELL_SHADOW_BOLT_VOLLEY, false);
events.ScheduleEvent(EVENT_SHADOW_BOLT_VOLLEY, 10000);
events.ScheduleEvent(EVENT_SHADOW_BOLT_VOLLEY, 10s);
break;
case EVENT_CURSE_OF_TONGUES:
me->CastSpell(me, SPELL_CURSE_OF_TONGUES, false);
events.ScheduleEvent(EVENT_CURSE_OF_TONGUES, 20000);
events.ScheduleEvent(EVENT_CURSE_OF_TONGUES, 20s);
break;
case EVENT_DOMINATE_MIND:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 1, 20.0f, true))
@@ -213,10 +213,10 @@ public:
if (me->HasAura(SPELL_KIRTONOS_TRANSFORM))
{
events.Reset();
events.ScheduleEvent(EVENT_SWOOP, 4000);
events.ScheduleEvent(EVENT_WING_FLAP, 7000);
events.ScheduleEvent(EVENT_PIERCE_ARMOR, 11000);
events.ScheduleEvent(EVENT_DISARM, 15000);
events.ScheduleEvent(EVENT_SWOOP, 4s);
events.ScheduleEvent(EVENT_WING_FLAP, 7s);
events.ScheduleEvent(EVENT_PIERCE_ARMOR, 11s);
events.ScheduleEvent(EVENT_DISARM, 15s);
// show shape-shift animation before aura removal
me->CastSpell(me, SPELL_TRANSFORM_VISUAL, true);
me->RemoveAura(SPELL_KIRTONOS_TRANSFORM);
@@ -225,19 +225,19 @@ public:
else
{
events.Reset();
events.ScheduleEvent(EVENT_SHADOW_BOLT_VOLLEY, 2000);
events.ScheduleEvent(EVENT_CURSE_OF_TONGUES, 6000);
events.ScheduleEvent(EVENT_WING_FLAP, 13000);
events.ScheduleEvent(EVENT_SHADOW_BOLT_VOLLEY, 2s);
events.ScheduleEvent(EVENT_CURSE_OF_TONGUES, 6s);
events.ScheduleEvent(EVENT_WING_FLAP, 13s);
me->CastSpell(me, SPELL_KIRTONOS_TRANSFORM, true);
me->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 0, uint32(WEAPON_KIRTONOS_STAFF));
// Schedule Dominate Mind on every 2nd caster transform
if ((TransformsCount - 2) % 4 == 0)
{
events.ScheduleEvent(EVENT_DOMINATE_MIND, urand(4000, 8000));
events.ScheduleEvent(EVENT_DOMINATE_MIND, 4s, 8s);
}
}
events.ScheduleEvent(EVENT_KIRTONOS_TRANSFORM, 20000);
events.ScheduleEvent(EVENT_KIRTONOS_TRANSFORM, 20s);
break;
}

View File

@@ -400,9 +400,9 @@ public:
originalDisplayId = me->GetDisplayId();
events.Reset();
events.RescheduleEvent(1, urand(1000, 7000));
events.RescheduleEvent(2, 400);
events.RescheduleEvent(3, urand(6000, 15000));
events.RescheduleEvent(1, 1s, 7s);
events.RescheduleEvent(2, 400ms);
events.RescheduleEvent(3, 6s, 15s);
}
void UpdateAI(uint32 diff) override
@@ -419,7 +419,7 @@ public:
events.Reset();
me->InterruptNonMeleeSpells(false);
me->UpdateEntry(DARK_SHADE_ENTRY, nullptr, false);
events.RescheduleEvent(4, urand(2000, 10000));
events.RescheduleEvent(4, 2s, 10s);
}
if (me->HasUnitState(UNIT_STATE_CASTING))

View File

@@ -498,9 +498,9 @@ public:
}
if (_baronRunTime > 0)
events.ScheduleEvent(EVENT_BARON_TIME, 60000);
events.ScheduleEvent(EVENT_BARON_TIME, 60s);
else
events.ScheduleEvent(EVENT_EXECUTE_PRISONER, 0);
events.ScheduleEvent(EVENT_EXECUTE_PRISONER, 0ms);
SaveToDB();
break;
@@ -518,7 +518,7 @@ public:
Unit::Kill(baron, ysida);
}
else
events.ScheduleEvent(EVENT_EXECUTE_PRISONER, 1000);
events.ScheduleEvent(EVENT_EXECUTE_PRISONER, 1s);
}
break;
}
@@ -540,7 +540,7 @@ public:
return;
}
events.ScheduleEvent(EVENT_FORCE_SLAUGHTER_EVENT, 3000);
events.ScheduleEvent(EVENT_FORCE_SLAUGHTER_EVENT, 3s);
break;
}
case EVENT_SPAWN_BLACK_GUARD:

View File

@@ -107,7 +107,7 @@ public:
switch (type)
{
case DATA_STATUES:
_events.ScheduleEvent(DATA_STATUES, 0);
_events.ScheduleEvent(DATA_STATUES, 0ms);
break;
case DATA_DEFENDER_KILLED:
++_defendersKilled;

View File

@@ -118,11 +118,11 @@ public:
void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
events.ScheduleEvent(EVENT_SHADOW_WORD_PAIN, urand(7000, 9000), 0, PHASE_ONE);
events.ScheduleEvent(EVENT_GOUGE, urand(12000, 15000), 0, PHASE_ONE);
events.ScheduleEvent(EVENT_SUMMON_PROWLERS, 6000, 0, PHASE_ALL);
events.ScheduleEvent(EVENT_MARK_OF_ARLOKK, urand(9000, 11000), 0, PHASE_ALL);
events.ScheduleEvent(EVENT_TRANSFORM, 30000, 0, PHASE_ONE);
events.ScheduleEvent(EVENT_SHADOW_WORD_PAIN, 7s, 9s, 0, PHASE_ONE);
events.ScheduleEvent(EVENT_GOUGE, 12s, 15s, 0, PHASE_ONE);
events.ScheduleEvent(EVENT_SUMMON_PROWLERS, 6s, 0, PHASE_ALL);
events.ScheduleEvent(EVENT_MARK_OF_ARLOKK, 9s, 11s, 0, PHASE_ALL);
events.ScheduleEvent(EVENT_TRANSFORM, 30s, 0, PHASE_ONE);
Talk(SAY_AGGRO);
// Sets up list of Panther spawners to cast on
@@ -189,7 +189,7 @@ public:
{
case EVENT_SHADOW_WORD_PAIN:
DoCastVictim(SPELL_SHADOW_WORD_PAIN, true);
events.ScheduleEvent(EVENT_SHADOW_WORD_PAIN, urand(5000, 7000), 0, PHASE_ONE);
events.ScheduleEvent(EVENT_SHADOW_WORD_PAIN, 5s, 7s, 0, PHASE_ONE);
break;
case EVENT_GOUGE:
DoCastVictim(SPELL_GOUGE, true);
@@ -211,7 +211,7 @@ public:
++_summonCountB;
}
}
events.ScheduleEvent(EVENT_SUMMON_PROWLERS, 6000, 0, PHASE_ALL);
events.ScheduleEvent(EVENT_SUMMON_PROWLERS, 6s, 0, PHASE_ALL);
break;
case EVENT_MARK_OF_ARLOKK:
{
@@ -223,7 +223,7 @@ public:
DoCast(target, SPELL_MARK_OF_ARLOKK, true);
Talk(SAY_FEAST_PROWLER, target);
}
events.ScheduleEvent(EVENT_MARK_OF_ARLOKK, urand(120000, 130000));
events.ScheduleEvent(EVENT_MARK_OF_ARLOKK, 120s, 130s);
break;
}
case EVENT_TRANSFORM:
@@ -237,19 +237,19 @@ public:
me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE);
DoCastSelf(SPELL_VANISH_VISUAL);
DoCastSelf(SPELL_VANISH);
events.ScheduleEvent(EVENT_VANISH, 1000, 0, PHASE_ONE);
events.ScheduleEvent(EVENT_VANISH, 1s, 0, PHASE_ONE);
break;
}
case EVENT_VANISH:
DoCastSelf(SPELL_SUPER_INVIS);
me->SetWalk(false);
me->GetMotionMaster()->MovePoint(0, frand(-11551.0f, -11508.0f), frand(-1638.0f, -1617.0f), me->GetPositionZ());
events.ScheduleEvent(EVENT_VANISH_2, 9000, 0, PHASE_ONE);
events.ScheduleEvent(EVENT_VANISH_2, 9s, 0, PHASE_ONE);
break;
case EVENT_VANISH_2:
DoCastSelf(SPELL_VANISH);
DoCastSelf(SPELL_SUPER_INVIS);
events.ScheduleEvent(EVENT_VISIBLE, urand(41000, 47000), 0, PHASE_ONE);
events.ScheduleEvent(EVENT_VISIBLE, 41s, 47s, 0, PHASE_ONE);
break;
case EVENT_VISIBLE:
me->SetReactState(REACT_AGGRESSIVE);
@@ -258,14 +258,14 @@ public:
AttackStart(target);
me->RemoveAura(SPELL_SUPER_INVIS);
me->RemoveAura(SPELL_VANISH);
events.ScheduleEvent(EVENT_RAVAGE, urand(10000, 14000), 0, PHASE_TWO);
events.ScheduleEvent(EVENT_TRANSFORM_BACK, urand(30000, 40000), 0, PHASE_TWO);
events.ScheduleEvent(EVENT_RAVAGE, 10s, 14s, 0, PHASE_TWO);
events.ScheduleEvent(EVENT_TRANSFORM_BACK, 30s, 40s, 0, PHASE_TWO);
events.SetPhase(PHASE_TWO);
me->HandleStatModifier(UNIT_MOD_DAMAGE_MAINHAND, TOTAL_PCT, 35.0f, true); // hack
break;
case EVENT_RAVAGE:
DoCastVictim(SPELL_RAVAGE, true);
events.ScheduleEvent(EVENT_RAVAGE, urand(10000, 14000), 0, PHASE_TWO);
events.ScheduleEvent(EVENT_RAVAGE, 10s, 14s, 0, PHASE_TWO);
break;
case EVENT_TRANSFORM_BACK:
{
@@ -274,9 +274,9 @@ public:
me->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 0, uint32(WEAPON_DAGGER));
me->SetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID + 1, uint32(WEAPON_DAGGER));
me->HandleStatModifier(UNIT_MOD_DAMAGE_MAINHAND, TOTAL_PCT, 35.0f, false); // hack
events.ScheduleEvent(EVENT_SHADOW_WORD_PAIN, urand(4000, 7000), 0, PHASE_ONE);
events.ScheduleEvent(EVENT_GOUGE, urand(12000, 15000), 0, PHASE_ONE);
events.ScheduleEvent(EVENT_TRANSFORM, 30000, 0, PHASE_ONE);
events.ScheduleEvent(EVENT_SHADOW_WORD_PAIN, 4s, 7s, 0, PHASE_ONE);
events.ScheduleEvent(EVENT_GOUGE, 12s, 15s, 0, PHASE_ONE);
events.ScheduleEvent(EVENT_TRANSFORM, 30s, 0, PHASE_ONE);
events.SetPhase(PHASE_ONE);
break;
}

View File

@@ -76,9 +76,9 @@ public:
{
_EnterCombat();
me->AddAura(SPELL_THRASH, me);
events.ScheduleEvent(EVENT_FROSTBREATH, 8000);
events.ScheduleEvent(EVENT_MASSIVEGEYSER, 25000);
events.ScheduleEvent(EVENT_SLAM, 15000);
events.ScheduleEvent(EVENT_FROSTBREATH, 8s);
events.ScheduleEvent(EVENT_MASSIVEGEYSER, 25s);
events.ScheduleEvent(EVENT_SLAM, 15s);
}
void UpdateAI(uint32 diff) override
@@ -97,15 +97,15 @@ public:
{
case EVENT_FROSTBREATH:
DoCastVictim(SPELL_FROSTBREATH);
events.ScheduleEvent(EVENT_FROSTBREATH, urand(8000, 20000));
events.ScheduleEvent(EVENT_FROSTBREATH, 8s, 20s);
break;
case EVENT_MASSIVEGEYSER:
DoCastVictim(SPELL_MASSIVEGEYSER);
events.ScheduleEvent(EVENT_MASSIVEGEYSER, urand(22000, 32000));
events.ScheduleEvent(EVENT_MASSIVEGEYSER, 22s, 32s);
break;
case EVENT_SLAM:
DoCastVictim(SPELL_SLAM, true);
events.ScheduleEvent(EVENT_SLAM, urand(12000, 20000));
events.ScheduleEvent(EVENT_SLAM, 12s, 20s);
break;
default:
break;

View File

@@ -113,20 +113,20 @@ public:
void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
events.ScheduleEvent(EVENT_BLOOD_SIPHON, 90000);
events.ScheduleEvent(EVENT_CORRUPTED_BLOOD, 25000);
events.ScheduleEvent(EVENT_CAUSE_INSANITY, 17000);
events.ScheduleEvent(EVENT_ENRAGE, 600000);
events.ScheduleEvent(EVENT_BLOOD_SIPHON, 90s);
events.ScheduleEvent(EVENT_CORRUPTED_BLOOD, 25s);
events.ScheduleEvent(EVENT_CAUSE_INSANITY, 17s);
events.ScheduleEvent(EVENT_ENRAGE, 1min);
if (instance->GetBossState(DATA_JEKLIK) != DONE)
events.ScheduleEvent(EVENT_ASPECT_OF_JEKLIK, 21000);
events.ScheduleEvent(EVENT_ASPECT_OF_JEKLIK, 21s);
if (instance->GetBossState(DATA_VENOXIS) != DONE)
events.ScheduleEvent(EVENT_ASPECT_OF_VENOXIS, 14000);
events.ScheduleEvent(EVENT_ASPECT_OF_VENOXIS, 14s);
if (instance->GetBossState(DATA_MARLI) != DONE)
events.ScheduleEvent(EVENT_ASPECT_OF_MARLI, 15000);
events.ScheduleEvent(EVENT_ASPECT_OF_MARLI, 15s);
if (instance->GetBossState(DATA_THEKAL) != DONE)
events.ScheduleEvent(EVENT_ASPECT_OF_THEKAL, 10000);
events.ScheduleEvent(EVENT_ASPECT_OF_THEKAL, 10s);
if (instance->GetBossState(DATA_ARLOKK) != DONE)
events.ScheduleEvent(EVENT_ASPECT_OF_ARLOKK, 18000);
events.ScheduleEvent(EVENT_ASPECT_OF_ARLOKK, 18s);
Talk(SAY_AGGRO);
}
@@ -153,11 +153,11 @@ public:
{
case EVENT_BLOOD_SIPHON:
DoCastAOE(SPELL_BLOOD_SIPHON, true);
events.ScheduleEvent(EVENT_BLOOD_SIPHON, 90000);
events.ScheduleEvent(EVENT_BLOOD_SIPHON, 90s);
break;
case EVENT_CORRUPTED_BLOOD:
DoCastVictim(SPELL_CORRUPTED_BLOOD, true);
events.ScheduleEvent(EVENT_CORRUPTED_BLOOD, urand(30000, 45000));
events.ScheduleEvent(EVENT_CORRUPTED_BLOOD, 30s, 40s);
break;
case EVENT_CAUSE_INSANITY:
if (me->GetThreatMgr().GetThreatListSize() > 1)
@@ -167,20 +167,20 @@ public:
DoCast(victim, SPELL_CAUSE_INSANITY);
}
}
events.ScheduleEvent(EVENT_CAUSE_INSANITY, urand(35000, 45000));
events.ScheduleEvent(EVENT_CAUSE_INSANITY, 35s, 40s);
break;
case EVENT_ENRAGE:
if (!me->HasAura(SPELL_ENRAGE))
DoCastSelf(SPELL_ENRAGE);
events.ScheduleEvent(EVENT_ENRAGE, 90000);
events.ScheduleEvent(EVENT_ENRAGE, 90s);
break;
case EVENT_ASPECT_OF_JEKLIK:
DoCastVictim(SPELL_ASPECT_OF_JEKLIK, true);
events.ScheduleEvent(EVENT_ASPECT_OF_JEKLIK, 24000);
events.ScheduleEvent(EVENT_ASPECT_OF_JEKLIK, 24s);
break;
case EVENT_ASPECT_OF_VENOXIS:
DoCastVictim(SPELL_ASPECT_OF_VENOXIS, true);
events.ScheduleEvent(EVENT_ASPECT_OF_VENOXIS, urand(16000, 18000));
events.ScheduleEvent(EVENT_ASPECT_OF_VENOXIS, 16s, 18s);
break;
case EVENT_ASPECT_OF_MARLI:
if (Unit* victim = SelectTarget(SelectTargetMethod::MaxThreat, 0, 5.f, true))
@@ -188,11 +188,11 @@ public:
DoCast(victim, SPELL_ASPECT_OF_MARLI, true);
me->GetThreatMgr().ModifyThreatByPercent(victim, -100.f);
}
events.ScheduleEvent(EVENT_ASPECT_OF_MARLI, 45000);
events.ScheduleEvent(EVENT_ASPECT_OF_MARLI, 45s);
break;
case EVENT_ASPECT_OF_THEKAL:
DoCastVictim(SPELL_ASPECT_OF_THEKAL, true);
events.ScheduleEvent(EVENT_ASPECT_OF_THEKAL, 15000);
events.ScheduleEvent(EVENT_ASPECT_OF_THEKAL, 15s);
break;
case EVENT_ASPECT_OF_ARLOKK:
if (Unit* victim = SelectTarget(SelectTargetMethod::MaxThreat, 0, 5.f, true))
@@ -200,7 +200,7 @@ public:
DoCast(victim, SPELL_ASPECT_OF_ARLOKK, true);
me->GetThreatMgr().ModifyThreatByPercent(victim, -100.f);
}
events.ScheduleEvent(EVENT_ASPECT_OF_ARLOKK, urand(10000, 15000));
events.ScheduleEvent(EVENT_ASPECT_OF_ARLOKK, 10s, 15s);
break;
default:
break;

View File

@@ -151,12 +151,12 @@ struct boss_jeklik : public BossAI
SetCombatMovement(true);
me->SetReactState(REACT_AGGRESSIVE);
events.SetPhase(PHASE_ONE);
events.ScheduleEvent(EVENT_CHARGE_JEKLIK, urand(10000, 20000), PHASE_ONE);
events.ScheduleEvent(EVENT_PIERCE_ARMOR, urand(5000, 15000), PHASE_ONE);
events.ScheduleEvent(EVENT_BLOOD_LEECH, urand(5000, 15000), PHASE_ONE);
events.ScheduleEvent(EVENT_SONIC_BURST, urand(5000, 15000), PHASE_ONE);
events.ScheduleEvent(EVENT_SWOOP, 20000, PHASE_ONE);
events.ScheduleEvent(EVENT_SPAWN_BATS, 30000, PHASE_ONE);
events.ScheduleEvent(EVENT_CHARGE_JEKLIK, 10s, 20s, PHASE_ONE);
events.ScheduleEvent(EVENT_PIERCE_ARMOR, 5s, 15s, PHASE_ONE);
events.ScheduleEvent(EVENT_BLOOD_LEECH, 5s, 15s, PHASE_ONE);
events.ScheduleEvent(EVENT_SONIC_BURST, 5s, 15s, PHASE_ONE);
events.ScheduleEvent(EVENT_SWOOP, 20s, PHASE_ONE);
events.ScheduleEvent(EVENT_SPAWN_BATS, 30s, PHASE_ONE);
}
void DamageTaken(Unit* /*who*/, uint32& /*damage*/, DamageEffectType, SpellSchoolMask) override
@@ -168,12 +168,12 @@ struct boss_jeklik : public BossAI
events.SetPhase(PHASE_TWO);
events.CancelEventGroup(PHASE_ONE);
events.ScheduleEvent(EVENT_CURSE_OF_BLOOD, urand(5000, 15000), PHASE_TWO);
events.ScheduleEvent(EVENT_SHADOW_WORD_PAIN, urand(10000, 15000), PHASE_TWO);
events.ScheduleEvent(EVENT_PSYCHIC_SCREAM, urand(25000, 35000), PHASE_TWO);
events.ScheduleEvent(EVENT_MIND_FLAY, urand(10000, 30000), PHASE_TWO);
events.ScheduleEvent(EVENT_GREATER_HEAL, 25000, PHASE_TWO);
events.ScheduleEvent(EVENT_SPAWN_FLYING_BATS, 10000, PHASE_TWO);
events.ScheduleEvent(EVENT_CURSE_OF_BLOOD, 5s, 15s, PHASE_TWO);
events.ScheduleEvent(EVENT_SHADOW_WORD_PAIN, 10s, 15s, PHASE_TWO);
events.ScheduleEvent(EVENT_PSYCHIC_SCREAM, 25s, 35s, PHASE_TWO);
events.ScheduleEvent(EVENT_MIND_FLAY, 10s, 30s, PHASE_TWO);
events.ScheduleEvent(EVENT_GREATER_HEAL, 25s, PHASE_TWO);
events.ScheduleEvent(EVENT_SPAWN_FLYING_BATS, 10s, PHASE_TWO);
return;
}
@@ -200,23 +200,23 @@ struct boss_jeklik : public BossAI
DoCast(target, SPELL_CHARGE);
AttackStart(target);
}
events.ScheduleEvent(EVENT_CHARGE_JEKLIK, urand(15000, 30000), PHASE_ONE);
events.ScheduleEvent(EVENT_CHARGE_JEKLIK, 15s, 30s, PHASE_ONE);
break;
case EVENT_PIERCE_ARMOR:
DoCastVictim(SPELL_PIERCE_ARMOR);
events.ScheduleEvent(EVENT_PIERCE_ARMOR, urand(20000, 30000), PHASE_ONE);
events.ScheduleEvent(EVENT_PIERCE_ARMOR, 20s, 30s, PHASE_ONE);
break;
case EVENT_BLOOD_LEECH:
DoCastVictim(SPELL_BLOOD_LEECH);
events.ScheduleEvent(EVENT_BLOOD_LEECH, urand(10000, 20000), PHASE_ONE);
events.ScheduleEvent(EVENT_BLOOD_LEECH, 10s, 20s, PHASE_ONE);
break;
case EVENT_SONIC_BURST:
DoCastVictim(SPELL_SONIC_BURST);
events.ScheduleEvent(EVENT_SONIC_BURST, urand(20000, 30000), PHASE_ONE);
events.ScheduleEvent(EVENT_SONIC_BURST, 20s, 30s, PHASE_ONE);
break;
case EVENT_SWOOP:
DoCastVictim(SPELL_SWOOP);
events.ScheduleEvent(EVENT_SWOOP, urand(20000, 30000), PHASE_ONE);
events.ScheduleEvent(EVENT_SWOOP, 20s, 30s, PHASE_ONE);
break;
case EVENT_SPAWN_BATS:
Talk(EMOTE_SUMMON_BATS);
@@ -224,37 +224,37 @@ struct boss_jeklik : public BossAI
for (uint8 i = 0; i < 6; ++i)
if (Creature* bat = me->SummonCreature(NPC_BLOODSEEKER_BAT, SpawnBat[i], TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000))
bat->AI()->AttackStart(target);
events.ScheduleEvent(EVENT_SPAWN_BATS, 30000, PHASE_ONE);
events.ScheduleEvent(EVENT_SPAWN_BATS, 30s, PHASE_ONE);
break;
//Phase two
case EVENT_CURSE_OF_BLOOD:
DoCastSelf(SPELL_CURSE_OF_BLOOD);
events.ScheduleEvent(EVENT_CURSE_OF_BLOOD, urand(25000, 30000), PHASE_TWO);
events.ScheduleEvent(EVENT_CURSE_OF_BLOOD, 25s, 30s, PHASE_TWO);
break;
case EVENT_PSYCHIC_SCREAM:
DoCastVictim(SPELL_PSYCHIC_SCREAM);
events.ScheduleEvent(EVENT_PSYCHIC_SCREAM, urand(35000, 45000), PHASE_TWO);
events.ScheduleEvent(EVENT_PSYCHIC_SCREAM, 35s, 45s, PHASE_TWO);
break;
case EVENT_SHADOW_WORD_PAIN:
DoCastRandomTarget(SPELL_SHADOW_WORD_PAIN, 0, true);
events.ScheduleEvent(EVENT_SHADOW_WORD_PAIN, urand(12000, 18000), PHASE_TWO);
events.ScheduleEvent(EVENT_SHADOW_WORD_PAIN, 12s, 18s, PHASE_TWO);
break;
case EVENT_MIND_FLAY:
DoCastVictim(SPELL_MIND_FLAY);
events.ScheduleEvent(EVENT_MIND_FLAY, urand(20000, 40000), PHASE_TWO);
events.ScheduleEvent(EVENT_MIND_FLAY, 20s, 40s, PHASE_TWO);
break;
case EVENT_GREATER_HEAL:
Talk(EMOTE_GREAT_HEAL);
me->InterruptNonMeleeSpells(false);
DoCastSelf(SPELL_GREATER_HEAL);
events.ScheduleEvent(EVENT_GREATER_HEAL, 25000, PHASE_TWO);
events.ScheduleEvent(EVENT_GREATER_HEAL, 25s, PHASE_TWO);
break;
case EVENT_SPAWN_FLYING_BATS:
Talk(SAY_CALL_RIDERS);
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
if (Creature* flyingBat = me->SummonCreature(NPC_FRENZIED_BAT, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ() + 15.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 15000))
flyingBat->AI()->DoZoneInCombat();
events.ScheduleEvent(EVENT_SPAWN_FLYING_BATS, urand(10000, 15000), PHASE_TWO);
events.ScheduleEvent(EVENT_SPAWN_FLYING_BATS, 10s, 15s, PHASE_TWO);
break;
default:
break;

View File

@@ -61,11 +61,11 @@ struct boss_jindo : public BossAI
void EnterCombat(Unit* who) override
{
BossAI::EnterCombat(who);
events.ScheduleEvent(EVENT_BRAIN_WASH_TOTEM, 20000);
events.ScheduleEvent(EVENT_POWERFULL_HEALING_WARD, 16000);
events.ScheduleEvent(EVENT_HEX, 8000);
events.ScheduleEvent(EVENT_DELUSIONS_OF_JINDO, 10000);
events.ScheduleEvent(EVENT_TELEPORT, 5000);
events.ScheduleEvent(EVENT_BRAIN_WASH_TOTEM, 20s);
events.ScheduleEvent(EVENT_POWERFULL_HEALING_WARD, 16s);
events.ScheduleEvent(EVENT_HEX, 8s);
events.ScheduleEvent(EVENT_DELUSIONS_OF_JINDO, 10s);
events.ScheduleEvent(EVENT_TELEPORT, 5s);
Talk(SAY_AGGRO);
@@ -125,24 +125,24 @@ struct boss_jindo : public BossAI
{
case EVENT_BRAIN_WASH_TOTEM:
DoCastSelf(SPELL_BRAIN_WASH_TOTEM);
events.ScheduleEvent(EVENT_BRAIN_WASH_TOTEM, urand(18000, 26000));
events.ScheduleEvent(EVENT_BRAIN_WASH_TOTEM, 18s, 26s);
break;
case EVENT_POWERFULL_HEALING_WARD:
DoCastSelf(SPELL_POWERFULL_HEALING_WARD, true);
events.ScheduleEvent(EVENT_POWERFULL_HEALING_WARD, urand(14000, 20000));
events.ScheduleEvent(EVENT_POWERFULL_HEALING_WARD, 14s, 20s);
break;
case EVENT_HEX:
if (me->GetThreatMgr().GetThreatListSize() > 1)
DoCastVictim(SPELL_HEX, true);
events.ScheduleEvent(EVENT_HEX, urand(12000, 20000));
events.ScheduleEvent(EVENT_HEX, 12s, 20s);
break;
case EVENT_DELUSIONS_OF_JINDO:
DoCastRandomTarget(SPELL_DELUSIONS_OF_JINDO);
events.ScheduleEvent(EVENT_DELUSIONS_OF_JINDO, urand(4000, 12000));
events.ScheduleEvent(EVENT_DELUSIONS_OF_JINDO, 4s, 12s);
break;
case EVENT_TELEPORT:
DoCastRandomTarget(SPELL_BANISH);
events.ScheduleEvent(EVENT_TELEPORT, urand(15000, 23000));
events.ScheduleEvent(EVENT_TELEPORT, 15s, 23s);
break;
default:
break;

View File

@@ -187,13 +187,13 @@ public:
void EnterCombat(Unit* /*who*/) override
{
_EnterCombat();
events.ScheduleEvent(EVENT_OVERPOWER, 1000);
events.ScheduleEvent(EVENT_MORTAL_STRIKE, urand(14000, 28000));
events.ScheduleEvent(EVENT_WHIRLWIND, urand(24000, 30000));
events.ScheduleEvent(EVENT_CHECK_OHGAN, 1000);
events.ScheduleEvent(EVENT_WATCH_PLAYER, urand(12000, 24000));
events.ScheduleEvent(EVENT_CHARGE_PLAYER, urand(30000, 40000));
events.ScheduleEvent(EVENT_CLEAVE, 1000);
events.ScheduleEvent(EVENT_OVERPOWER, 1s);
events.ScheduleEvent(EVENT_MORTAL_STRIKE, 14s, 28s);
events.ScheduleEvent(EVENT_WHIRLWIND, 24s, 30s);
events.ScheduleEvent(EVENT_CHECK_OHGAN, 1s);
events.ScheduleEvent(EVENT_WATCH_PLAYER, 12s, 24s);
events.ScheduleEvent(EVENT_CHARGE_PLAYER, 30s, 40s);
events.ScheduleEvent(EVENT_CLEAVE, 1s);
me->SetHomePosition(me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), me->GetOrientation());
Talk(SAY_AGGRO);
me->Dismount();
@@ -302,7 +302,7 @@ public:
if (!_useExecute)
{
_useExecute = true;
events.ScheduleEvent(EVENT_EXECUTE, 1000);
events.ScheduleEvent(EVENT_EXECUTE, 1s);
}
}
else if (_useExecute)
@@ -372,11 +372,11 @@ public:
if (instance->GetBossState(DATA_MANDOKIR) == SPECIAL)
{
me->GetMotionMaster()->MovePoint(0, PosMandokir[1].m_positionX, PosMandokir[1].m_positionY, PosMandokir[1].m_positionZ);
events.ScheduleEvent(EVENT_STARTED, 6000);
events.ScheduleEvent(EVENT_STARTED, 6s);
}
else
{
events.ScheduleEvent(EVENT_CHECK_START, 1000);
events.ScheduleEvent(EVENT_CHECK_START, 1s);
}
break;
case EVENT_STARTED:
@@ -408,20 +408,20 @@ public:
case EVENT_OVERPOWER:
if (DoCastVictim(SPELL_OVERPOWER) == SPELL_CAST_OK)
{
events.ScheduleEvent(EVENT_OVERPOWER, urand(6000, 8000));
events.ScheduleEvent(EVENT_OVERPOWER, 6s, 8s);
}
else
{
events.ScheduleEvent(EVENT_OVERPOWER, 1000);
events.ScheduleEvent(EVENT_OVERPOWER, 1s);
}
break;
case EVENT_MORTAL_STRIKE:
DoCastVictim(SPELL_MORTAL_STRIKE);
events.ScheduleEvent(EVENT_MORTAL_STRIKE, urand(14000, 28000));
events.ScheduleEvent(EVENT_MORTAL_STRIKE, 14s, 28s);
break;
case EVENT_WHIRLWIND:
DoCast(me, SPELL_WHIRLWIND);
events.ScheduleEvent(EVENT_WHIRLWIND, urand(22000, 26000));
events.ScheduleEvent(EVENT_WHIRLWIND, 22s, 26s);
break;
case EVENT_CHECK_OHGAN:
if (instance->GetBossState(DATA_OHGAN) == DONE)
@@ -431,7 +431,7 @@ public:
}
else
{
events.ScheduleEvent(EVENT_CHECK_OHGAN, 1000);
events.ScheduleEvent(EVENT_CHECK_OHGAN, 1s);
}
break;
case EVENT_WATCH_PLAYER:
@@ -441,7 +441,7 @@ public:
Talk(SAY_WATCH, player);
_chargeTarget = std::make_pair(player->GetGUID(), 0.f);
}
events.ScheduleEvent(EVENT_WATCH_PLAYER, urand(12000, 24000));
events.ScheduleEvent(EVENT_WATCH_PLAYER, 12s, 24s);
break;
case EVENT_CHARGE_PLAYER:
if (Unit* target = SelectTarget(SelectTargetMethod::MinDistance, 0, [this](Unit const* target)
@@ -454,17 +454,17 @@ public:
}))
{
DoCast(target, SPELL_CHARGE);
events.DelayEvents(1500);
events.DelayEvents(1500ms);
if (Unit* mainTarget = SelectTarget(SelectTargetMethod::MaxThreat, 0, 100.0f))
{
me->GetThreatMgr().ModifyThreatByPercent(mainTarget, -100);
}
}
events.ScheduleEvent(EVENT_CHARGE_PLAYER, urand(30000, 40000));
events.ScheduleEvent(EVENT_CHARGE_PLAYER, 30s, 40s);
break;
case EVENT_EXECUTE:
DoCastVictim(SPELL_EXECUTE, true);
events.ScheduleEvent(EVENT_EXECUTE, urand(7000, 14000));
events.ScheduleEvent(EVENT_EXECUTE, 7s, 14s);
break;
case EVENT_CLEAVE:
{
@@ -481,11 +481,11 @@ public:
if (meleeRangeTargets.size() >= 5)
{
DoCastVictim(SPELL_MANDOKIR_CLEAVE);
events.ScheduleEvent(EVENT_CLEAVE, urand(10000, 20000));
events.ScheduleEvent(EVENT_CLEAVE, 10s, 20s);
}
else
{
events.ScheduleEvent(EVENT_CLEAVE, 1000);
events.ScheduleEvent(EVENT_CLEAVE, 1s);
}
break;
}

View File

@@ -125,7 +125,7 @@ struct boss_marli : public BossAI
void EnterCombat(Unit* who) override
{
BossAI::EnterCombat(who);
events.ScheduleEvent(EVENT_SPAWN_START_SPIDERS, 1000, 0, PHASE_ONE);
events.ScheduleEvent(EVENT_SPAWN_START_SPIDERS, 1s, 0, PHASE_ONE);
Talk(SAY_AGGRO);
}
@@ -144,14 +144,14 @@ struct boss_marli : public BossAI
switch (eventId)
{
case EVENT_SPAWN_START_SPIDERS:
events.ScheduleEvent(EVENT_TALK_FIRST_SPIDERS, 500, 0, PHASE_TWO);
events.ScheduleEvent(EVENT_TALK_FIRST_SPIDERS, 500ms, 0, PHASE_TWO);
DoCastAOE(SPELL_HATCH_EGGS);
events.ScheduleEvent(EVENT_TRANSFORM, 60000, 0, PHASE_TWO);
events.ScheduleEvent(EVENT_POISON_VOLLEY, 15000, 0, PHASE_TWO);
events.ScheduleEvent(EVENT_HATCH_SPIDER_EGG, 30000, 0, PHASE_TWO);
events.ScheduleEvent(EVENT_DRAIN_LIFE, 30000, 0, PHASE_TWO);
events.ScheduleEvent(EVENT_THRASH, urand(4000, 6000)); // all phases
events.ScheduleEvent(EVENT_ENLARGE, urand(10000, 20000), 0, PHASE_TWO);
events.ScheduleEvent(EVENT_TRANSFORM, 1min, 0, PHASE_TWO);
events.ScheduleEvent(EVENT_POISON_VOLLEY, 15s, 0, PHASE_TWO);
events.ScheduleEvent(EVENT_HATCH_SPIDER_EGG, 30s, 0, PHASE_TWO);
events.ScheduleEvent(EVENT_DRAIN_LIFE, 30s, 0, PHASE_TWO);
events.ScheduleEvent(EVENT_THRASH, 4s, 6s); // all phases
events.ScheduleEvent(EVENT_ENLARGE, 10s, 20s, 0, PHASE_TWO);
events.SetPhase(PHASE_TWO);
break;
case EVENT_TALK_FIRST_SPIDERS:
@@ -159,39 +159,39 @@ struct boss_marli : public BossAI
break;
case EVENT_POISON_VOLLEY:
DoCastVictim(SPELL_POISON_VOLLEY, true);
events.ScheduleEvent(EVENT_POISON_VOLLEY, urand(10000, 20000), 0, PHASE_TWO);
events.ScheduleEvent(EVENT_POISON_VOLLEY, 10s, 20s, 0, PHASE_TWO);
break;
case EVENT_HATCH_SPIDER_EGG:
DoCastSelf(SPELL_HATCH_SPIDER_EGG, true);
events.ScheduleEvent(EVENT_HATCH_SPIDER_EGG, 20000, 0, PHASE_TWO);
events.ScheduleEvent(EVENT_HATCH_SPIDER_EGG, 20s, 0, PHASE_TWO);
break;
case EVENT_DRAIN_LIFE:
DoCastRandomTarget(SPELL_DRAIN_LIFE);
events.ScheduleEvent(EVENT_DRAIN_LIFE, urand(20000, 50000), 0, PHASE_TWO);
events.ScheduleEvent(EVENT_DRAIN_LIFE, 20s, 50s, 0, PHASE_TWO);
break;
case EVENT_ENLARGE:
{
std::list<Creature*> targets = DoFindFriendlyMissingBuff(100.f, SPELL_ENLARGE);
if (targets.size() > 0)
DoCast(*(targets.begin()), SPELL_ENLARGE);
events.ScheduleEvent(EVENT_ENLARGE, urand(20000, 40000), 0, PHASE_TWO);
events.ScheduleEvent(EVENT_ENLARGE, 20s, 40s, 0, PHASE_TWO);
break;
}
case EVENT_TRANSFORM:
Talk(SAY_TRANSFORM);
DoCastSelf(SPELL_SPIDER_FORM, true);
me->HandleStatModifier(UNIT_MOD_DAMAGE_MAINHAND, TOTAL_PCT, 35.0f, true); // hack
events.ScheduleEvent(EVENT_ENVELOPING_WEB, 5000, 0, PHASE_THREE);
events.ScheduleEvent(EVENT_CHARGE_PLAYER, 6000, 0, PHASE_THREE);
events.ScheduleEvent(EVENT_CORROSIVE_POISON, 1000, 0, PHASE_THREE);
events.ScheduleEvent(EVENT_POISON_SHOCK, urand(5000, 10000), 0, PHASE_THREE);
events.ScheduleEvent(EVENT_TRANSFORM_BACK, 60000, 0, PHASE_THREE);
events.ScheduleEvent(EVENT_ENVELOPING_WEB, 5s, 0, PHASE_THREE);
events.ScheduleEvent(EVENT_CHARGE_PLAYER, 6s, 0, PHASE_THREE);
events.ScheduleEvent(EVENT_CORROSIVE_POISON, 1s, 0, PHASE_THREE);
events.ScheduleEvent(EVENT_POISON_SHOCK, 5s, 10s, 0, PHASE_THREE);
events.ScheduleEvent(EVENT_TRANSFORM_BACK, 1min, 0, PHASE_THREE);
events.SetPhase(PHASE_THREE);
break;
case EVENT_ENVELOPING_WEB:
DoCastAOE(SPELL_ENVELOPING_WEB);
events.ScheduleEvent(EVENT_CHARGE_PLAYER, 500, 0, PHASE_THREE);
events.ScheduleEvent(EVENT_ENVELOPING_WEB, urand(15000, 20000), 0, PHASE_THREE);
events.ScheduleEvent(EVENT_CHARGE_PLAYER, 500ms, 0, PHASE_THREE);
events.ScheduleEvent(EVENT_ENVELOPING_WEB, 15s, 20s, 0, PHASE_THREE);
break;
case EVENT_CHARGE_PLAYER:
{
@@ -212,27 +212,27 @@ struct boss_marli : public BossAI
}
case EVENT_CORROSIVE_POISON:
DoCastVictim(SPELL_CORROSIVE_POISON);
events.ScheduleEvent(EVENT_CORROSIVE_POISON, urand(25000, 35000), 0, PHASE_THREE);
events.ScheduleEvent(EVENT_CORROSIVE_POISON, 25s, 35s, 0, PHASE_THREE);
break;
case EVENT_POISON_SHOCK:
DoCastRandomTarget(SPELL_POISON_SHOCK);
events.ScheduleEvent(EVENT_POISON_SHOCK, 10000, 0, PHASE_THREE);
events.ScheduleEvent(EVENT_POISON_SHOCK, 10s, 0, PHASE_THREE);
break;
case EVENT_TRANSFORM_BACK:
me->RemoveAura(SPELL_SPIDER_FORM);
DoCastSelf(SPELL_TRANSFORM_BACK, true);
Talk(SAY_TRANSFORM_BACK);
me->HandleStatModifier(UNIT_MOD_DAMAGE_MAINHAND, TOTAL_PCT, 35.0f, false); // hack
events.ScheduleEvent(EVENT_TRANSFORM, 60000, 0, PHASE_TWO);
events.ScheduleEvent(EVENT_POISON_VOLLEY, 15000, 0, PHASE_TWO);
events.ScheduleEvent(EVENT_HATCH_SPIDER_EGG, 30000, 0, PHASE_TWO);
events.ScheduleEvent(EVENT_DRAIN_LIFE, 30000, 0, PHASE_TWO);
events.ScheduleEvent(EVENT_ENLARGE, urand(10000, 20000), 0, PHASE_TWO);
events.ScheduleEvent(EVENT_TRANSFORM, 1min, 0, PHASE_TWO);
events.ScheduleEvent(EVENT_POISON_VOLLEY, 15s, 0, PHASE_TWO);
events.ScheduleEvent(EVENT_HATCH_SPIDER_EGG, 30s, 0, PHASE_TWO);
events.ScheduleEvent(EVENT_DRAIN_LIFE, 30s, 0, PHASE_TWO);
events.ScheduleEvent(EVENT_ENLARGE, 10s, 20s, 0, PHASE_TWO);
events.SetPhase(PHASE_TWO);
break;
case EVENT_THRASH:
DoCastVictim(SPELL_THRASH);
events.ScheduleEvent(EVENT_THRASH, urand(10000, 20000));
events.ScheduleEvent(EVENT_THRASH, 10s, 20s);
break;
default:
break;

View File

@@ -143,13 +143,13 @@ public:
_EnterCombat();
me->SetReactState(REACT_AGGRESSIVE);
// Always running events
events.ScheduleEvent(EVENT_THRASH, 5000);
events.ScheduleEvent(EVENT_THRASH, 5s);
// Phase one events (regular form)
events.ScheduleEvent(EVENT_HOLY_NOVA, urand(5000, 15000), 0, PHASE_ONE);
events.ScheduleEvent(EVENT_DISPEL_MAGIC, 35000, 0, PHASE_ONE);
events.ScheduleEvent(EVENT_HOLY_FIRE, urand(10000,20000), 0, PHASE_ONE);
events.ScheduleEvent(EVENT_RENEW, 30000, 0, PHASE_ONE);
events.ScheduleEvent(EVENT_HOLY_WRATH, urand(15000, 25000), 0, PHASE_ONE);
events.ScheduleEvent(EVENT_HOLY_NOVA, 5s, 15s, 0, PHASE_ONE);
events.ScheduleEvent(EVENT_DISPEL_MAGIC, 35s, 0, PHASE_ONE);
events.ScheduleEvent(EVENT_HOLY_FIRE, 10s, 20s, 0, PHASE_ONE);
events.ScheduleEvent(EVENT_RENEW, 30s, 0, PHASE_ONE);
events.ScheduleEvent(EVENT_HOLY_WRATH, 15s, 25s, 0, PHASE_ONE);
events.SetPhase(PHASE_ONE);
@@ -165,13 +165,13 @@ public:
{
_transformed = true;
// schedule the event that changes our phase
events.ScheduleEvent(EVENT_TRANSFORM, 100);
events.ScheduleEvent(EVENT_TRANSFORM, 100ms);
}
// we're losing health, bad, go frenzy
else if (!_frenzied && !HealthAbovePct(20))
{
_frenzied = true;
events.ScheduleEvent(EVENT_FRENZY, 100);
events.ScheduleEvent(EVENT_FRENZY, 100ms);
}
}
@@ -193,31 +193,31 @@ public:
// thrash is available in all phases
case EVENT_THRASH:
DoCast(me, SPELL_THRASH, true);
events.ScheduleEvent(EVENT_THRASH, urand(10000, 20000));
events.ScheduleEvent(EVENT_THRASH, 10s, 20s);
break;
// troll form spells and Actions (first part)
case EVENT_DISPEL_MAGIC:
DoCast(me, SPELL_DISPEL_MAGIC);
events.ScheduleEvent(EVENT_DISPEL_MAGIC, urand(15000, 20000), 0, PHASE_ONE);
events.ScheduleEvent(EVENT_DISPEL_MAGIC, 15s, 20s, 0, PHASE_ONE);
break;
case EVENT_RENEW:
DoCast(me, SPELL_RENEW);
events.ScheduleEvent(EVENT_RENEW, urand(25000, 30000), 0, PHASE_ONE);
events.ScheduleEvent(EVENT_RENEW, 25s, 30s, 0, PHASE_ONE);
break;
case EVENT_HOLY_WRATH:
if (Unit* target = SelectTarget(SelectTargetMethod::MaxThreat))
DoCast(target, SPELL_HOLY_WRATH);
events.ScheduleEvent(EVENT_HOLY_WRATH, urand(12000, 22000), 0, PHASE_ONE);
events.ScheduleEvent(EVENT_HOLY_WRATH, 12s, 22s, 0, PHASE_ONE);
break;
case EVENT_HOLY_FIRE:
if (Unit* target = SelectTarget(SelectTargetMethod::Random))
DoCast(target, SPELL_HOLY_FIRE);
events.ScheduleEvent(EVENT_HOLY_FIRE, urand(10000, 24000), 0, PHASE_ONE);
events.ScheduleEvent(EVENT_HOLY_FIRE, 10s, 24s, 0, PHASE_ONE);
break;
case EVENT_HOLY_NOVA:
DoCastSelf(SPELL_HOLY_NOVA);
events.ScheduleEvent(EVENT_HOLY_NOVA, urand(10000, 24000), 0, PHASE_ONE);
events.ScheduleEvent(EVENT_HOLY_NOVA, 10s, 24s, 0, PHASE_ONE);
break;
//
@@ -227,17 +227,17 @@ public:
case EVENT_VENOM_SPIT:
if (Unit* target = SelectTarget(SelectTargetMethod::Random))
DoCast(target, SPELL_VENOM_SPIT);
events.ScheduleEvent(EVENT_VENOM_SPIT, urand(5000, 15000), 0, PHASE_TWO);
events.ScheduleEvent(EVENT_VENOM_SPIT, 5s, 15s, 0, PHASE_TWO);
break;
case EVENT_POISON_CLOUD:
if (Unit* target = SelectTarget(SelectTargetMethod::Random))
DoCast(target, SPELL_POISON_CLOUD);
events.ScheduleEvent(EVENT_POISON_CLOUD, urand(15000, 20000), 0, PHASE_TWO);
events.ScheduleEvent(EVENT_POISON_CLOUD, 15s, 20s, 0, PHASE_TWO);
break;
case EVENT_PARASITIC_SERPENT:
if (Unit* target = SelectTarget(SelectTargetMethod::Random))
DoCast(target, SPELL_SUMMON_PARASITIC_SERPENT);
events.ScheduleEvent(EVENT_PARASITIC_SERPENT, 15000, 0, PHASE_TWO);
events.ScheduleEvent(EVENT_PARASITIC_SERPENT, 15s, 0, PHASE_TWO);
break;
case EVENT_FRENZY:
// frenzy at 20% health
@@ -255,9 +255,9 @@ public:
DoResetThreatList();
// phase two events (snakeform)
events.ScheduleEvent(EVENT_VENOM_SPIT, 5000, 0, PHASE_TWO);
events.ScheduleEvent(EVENT_POISON_CLOUD, 10000, 0, PHASE_TWO);
events.ScheduleEvent(EVENT_PARASITIC_SERPENT, 30000, 0, PHASE_TWO);
events.ScheduleEvent(EVENT_VENOM_SPIT, 5s, 0, PHASE_TWO);
events.ScheduleEvent(EVENT_POISON_CLOUD, 10s, 0, PHASE_TWO);
events.ScheduleEvent(EVENT_PARASITIC_SERPENT, 30s, 0, PHASE_TWO);
// transformed, start phase two
events.SetPhase(PHASE_TWO);
@@ -301,7 +301,7 @@ public:
void EnterCombat(Unit*)
{
events.ScheduleEvent(EVENT_POISON, 8 * IN_MILLISECONDS);
events.ScheduleEvent(EVENT_POISON, 8ms);
if (Creature* Venoxis = GetVenoxis())
{
@@ -331,7 +331,7 @@ public:
case EVENT_POISON:
{
me->CastSpell(me->GetVictim(), SPELL_POISON);
events.ScheduleEvent(EVENT_POISON, 15 * IN_MILLISECONDS);
events.ScheduleEvent(EVENT_POISON, 15ms);
break;
}
}

View File

@@ -117,9 +117,9 @@ public:
events.Reset();
summons.DespawnAll();
events.ScheduleEvent(EVENT_CHECK_PLAYER, 1000);
events.ScheduleEvent(EVENT_SUMMON_ARCHERS, 4000);
events.ScheduleEvent(EVENT_SUMMON_PEASANTS, 8000);
events.ScheduleEvent(EVENT_CHECK_PLAYER, 1s);
events.ScheduleEvent(EVENT_SUMMON_ARCHERS, 4s);
events.ScheduleEvent(EVENT_SUMMON_PEASANTS, 8s);
}
bool CanBeSeen(Player const* player) override

View File

@@ -125,21 +125,21 @@ struct npc_cameron : public ScriptedAI
{
case STORMWIND_PATH:
{
_events.ScheduleEvent(EVENT_RANDOM_MOVEMENT, 2000);
_events.ScheduleEvent(EVENT_WP_START_GOLDSHIRE, 660000); // 11 minutes
_events.ScheduleEvent(EVENT_RANDOM_MOVEMENT, 2s);
_events.ScheduleEvent(EVENT_WP_START_GOLDSHIRE, 11min);
break;
}
case GOLDSHIRE_PATH:
{
_events.ScheduleEvent(EVENT_RANDOM_MOVEMENT, 2000);
_events.ScheduleEvent(EVENT_WP_START_WOODS, 900000); // 15 minutes
_events.ScheduleEvent(EVENT_RANDOM_MOVEMENT, 2s);
_events.ScheduleEvent(EVENT_WP_START_WOODS, 15min);
break;
}
case WOODS_PATH:
{
_events.ScheduleEvent(EVENT_RANDOM_MOVEMENT, 2000);
_events.ScheduleEvent(EVENT_WP_START_HOUSE, 360000); // 6 minutes
_events.ScheduleEvent(EVENT_WP_START_LISA, 362000);
_events.ScheduleEvent(EVENT_RANDOM_MOVEMENT, 2s);
_events.ScheduleEvent(EVENT_WP_START_HOUSE, 6min); // 6 minutes
_events.ScheduleEvent(EVENT_WP_START_LISA, 362s);
break;
}
case HOUSE_PATH:
@@ -147,7 +147,7 @@ struct npc_cameron : public ScriptedAI
// Move childeren at last point
MoveTheChildren();
// After 30 seconds a random sound should play
_events.ScheduleEvent(EVENT_PLAY_SOUNDS, 30000);
_events.ScheduleEvent(EVENT_PLAY_SOUNDS, 30s);
break;
}
}
@@ -159,7 +159,7 @@ struct npc_cameron : public ScriptedAI
{
// Start event at 7 am
// Begin pathing
_events.ScheduleEvent(EVENT_BEGIN_EVENT, 2000);
_events.ScheduleEvent(EVENT_BEGIN_EVENT, 2s);
_started = true;
}
else if (!start && eventId == GAME_EVENT_CHILDREN_OF_GOLDSHIRE)
@@ -273,7 +273,7 @@ struct npc_supervisor_raelen : public ScriptedAI
{
_PeasentId = 0;
peasentGUIDs.clear();
_events.ScheduleEvent(EVENT_FIND_PEASENTS, 4000);
_events.ScheduleEvent(EVENT_FIND_PEASENTS, 4s);
}
void SetData(uint32 /*type*/, uint32 data) override
@@ -282,7 +282,7 @@ struct npc_supervisor_raelen : public ScriptedAI
{
++_PeasentId;
if (_PeasentId == 5) _PeasentId = 0;
_events.ScheduleEvent(EVENT_NEXT_PEASENT, urand(2000, 6000));
_events.ScheduleEvent(EVENT_NEXT_PEASENT, 2s, 6s);
}
}
@@ -314,7 +314,7 @@ struct npc_supervisor_raelen : public ScriptedAI
peasentGUIDs.push_back(tempGUIDs[0]);
peasentGUIDs.push_back(tempGUIDs[1]);
peasentGUIDs.push_back(tempGUIDs[4]);
_events.ScheduleEvent(EVENT_NEXT_PEASENT, 1000);
_events.ScheduleEvent(EVENT_NEXT_PEASENT, 1s);
break;
}
case EVENT_NEXT_PEASENT:
@@ -397,11 +397,11 @@ struct npc_eastvale_peasent : public ScriptedAI
CreatureTemplate const* cinfo = sObjectMgr->GetCreatureTemplate(me->GetEntry());
me->SetSpeed(MOVE_WALK, cinfo->speed_walk);
me->RemoveAura(SPELL_TRANSFORM_PEASENT_WITH_WOOD);
_events.ScheduleEvent(EVENT_MOVETORAELEN, 3000);
_events.ScheduleEvent(EVENT_MOVETORAELEN, 3s);
}
else if (pathId == _path + 1)
{
_events.ScheduleEvent(EVENT_TALKTORAELEN1, 1000);
_events.ScheduleEvent(EVENT_TALKTORAELEN1, 1s);
}
else if (pathId == _path + 2)
{
@@ -430,35 +430,35 @@ struct npc_eastvale_peasent : public ScriptedAI
{
case PATH_PEASENT_0:
me->PlayDirectSound(SOUND_PEASENT_GREETING_1);
_events.ScheduleEvent(EVENT_TALKTORAELEN2, 2000);
_events.ScheduleEvent(EVENT_TALKTORAELEN2, 2s);
break;
case PATH_PEASENT_1:
case PATH_PEASENT_3:
me->PlayDirectSound(SOUND_PEASENT_GREETING_3);
_events.ScheduleEvent(EVENT_RAELENTALK, 2000);
_events.ScheduleEvent(EVENT_RAELENTALK, 2s);
break;
case PATH_PEASENT_2:
case PATH_PEASENT_4:
me->PlayDirectSound(SOUND_PEASENT_GREETING_2);
_events.ScheduleEvent(EVENT_RAELENTALK, 2000);
_events.ScheduleEvent(EVENT_RAELENTALK, 2s);
break;
}
}
else
{
// Path back if realen cannot be found alive
_events.ScheduleEvent(EVENT_PATHBACK, 2000);
_events.ScheduleEvent(EVENT_PATHBACK, 2s);
}
break;
case EVENT_TALKTORAELEN2:
me->PlayDirectSound(SOUND_PEASENT_GREETING_2);
_events.ScheduleEvent(EVENT_RAELENTALK, 2000);
_events.ScheduleEvent(EVENT_RAELENTALK, 2s);
break;
case EVENT_RAELENTALK:
if (Creature* realen = ObjectAccessor::GetCreature(*me, _realenGUID))
{
realen->AI()->Talk(SAY_RAELEN);
_events.ScheduleEvent(EVENT_TALKTORAELEN3, 5000);
_events.ScheduleEvent(EVENT_TALKTORAELEN3, 5s);
}
break;
case EVENT_TALKTORAELEN3:
@@ -467,27 +467,27 @@ struct npc_eastvale_peasent : public ScriptedAI
{
case PATH_PEASENT_0:
me->PlayDirectSound(SOUND_PEASENT_LEAVING_1);
_events.ScheduleEvent(EVENT_PATHBACK, 2000);
_events.ScheduleEvent(EVENT_PATHBACK, 2s);
break;
case PATH_PEASENT_1:
case PATH_PEASENT_3:
me->PlayDirectSound(SOUND_PEASENT_LEAVING_4);
_events.ScheduleEvent(EVENT_TALKTORAELEN4, 2000);
_events.ScheduleEvent(EVENT_TALKTORAELEN4, 2s);
break;
case PATH_PEASENT_2:
me->PlayDirectSound(SOUND_PEASENT_LEAVING_3);
_events.ScheduleEvent(EVENT_PATHBACK, 2000);
_events.ScheduleEvent(EVENT_PATHBACK, 2s);
break;
case PATH_PEASENT_4:
me->PlayDirectSound(SOUND_PEASENT_LEAVING_2);
_events.ScheduleEvent(EVENT_PATHBACK, 2000);
_events.ScheduleEvent(EVENT_PATHBACK, 2s);
break;
}
}
break;
case EVENT_TALKTORAELEN4:
me->PlayDirectSound(SOUND_PEASENT_LEAVING_5);
_events.ScheduleEvent(EVENT_PATHBACK, 2000);
_events.ScheduleEvent(EVENT_PATHBACK, 2s);
break;
case EVENT_PATHBACK:
if (Creature* realen = ObjectAccessor::GetCreature(*me, _realenGUID))

View File

@@ -41,7 +41,7 @@ struct npc_partygoer_pather : public ScriptedAI
void Reset() override
{
_events.ScheduleEvent(EVENT_RANDOM_ACTION_PATHER, urand(11000, 14000));
_events.ScheduleEvent(EVENT_RANDOM_ACTION_PATHER, 11s, 14s);
}
void PathEndReached(uint32 /*pathId*/) override
@@ -50,7 +50,7 @@ struct npc_partygoer_pather : public ScriptedAI
if (_path > 594444)
_path = 594440;
_events.ScheduleEvent(EVENT_RANDOM_ACTION_PATHER, urand(11000,14000));
_events.ScheduleEvent(EVENT_RANDOM_ACTION_PATHER, 11s, 14s);
}
void UpdateAI(uint32 diff) override
@@ -72,35 +72,35 @@ struct npc_partygoer_pather : public ScriptedAI
{
case 1:
me->HandleEmoteCommand(EMOTE_ONESHOT_TALK);
_events.ScheduleEvent(EVENT_PATH, 11000);
_events.ScheduleEvent(EVENT_PATH, 11s);
break;
case 2:
me->HandleEmoteCommand(EMOTE_ONESHOT_EXCLAMATION);
_events.ScheduleEvent(EVENT_PATH, 11000);
_events.ScheduleEvent(EVENT_PATH, 11s);
break;
case 3:
me->HandleEmoteCommand(EMOTE_ONESHOT_LAUGH);
_events.ScheduleEvent(EVENT_PATH, 11000);
_events.ScheduleEvent(EVENT_PATH, 11s);
break;
case 4:
me->LoadEquipment(urand(1, 2));
me->HandleEmoteCommand(EMOTE_ONESHOT_EAT_NO_SHEATHE);
_events.ScheduleEvent(EVENT_REMOVE_EQUIPMENT_PATHER, 4000);
_events.ScheduleEvent(EVENT_REMOVE_EQUIPMENT_PATHER, 4s);
break;
case 5:
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_DANCE);
_events.ScheduleEvent(EVENT_STOP_DANCING_PATHER, 6000);
_events.ScheduleEvent(EVENT_STOP_DANCING_PATHER, 6s);
break;
}
break;
}
case EVENT_REMOVE_EQUIPMENT_PATHER:
me->LoadEquipment(0, true);
_events.ScheduleEvent(EVENT_PATH, 8000);
_events.ScheduleEvent(EVENT_PATH, 8s);
break;
case EVENT_STOP_DANCING_PATHER:
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE);
_events.ScheduleEvent(EVENT_PATH, 5000);
_events.ScheduleEvent(EVENT_PATH, 5s);
break;
break;
}
@@ -160,48 +160,48 @@ struct npc_partygoer : public ScriptedAI
{
case 1:
me->HandleEmoteCommand(EMOTE_ONESHOT_TALK);
_events.ScheduleEvent(EVENT_RANDOM_ACTION, urand(13000, 20000));
_events.ScheduleEvent(EVENT_RANDOM_ACTION, 13s, 20s);
break;
case 2:
me->HandleEmoteCommand(EMOTE_ONESHOT_EXCLAMATION);
_events.ScheduleEvent(EVENT_RANDOM_ACTION, urand(13000, 20000));
_events.ScheduleEvent(EVENT_RANDOM_ACTION, 13s, 20s);
break;
case 3:
me->HandleEmoteCommand(EMOTE_ONESHOT_LAUGH);
_events.ScheduleEvent(EVENT_RANDOM_ACTION, urand(13000, 20000));
_events.ScheduleEvent(EVENT_RANDOM_ACTION, 13s, 20s);
break;
case 4:
me->LoadEquipment(urand(1, 2));
me->HandleEmoteCommand(EMOTE_ONESHOT_EAT_NO_SHEATHE);
_events.ScheduleEvent(EVENT_REMOVE_EQUIPMENT, 4000);
_events.ScheduleEvent(EVENT_REMOVE_EQUIPMENT, 4s);
break;
case 5:
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_DANCE);
_events.ScheduleEvent(EVENT_STOP_DANCING, urand(8000, 16000));
_events.ScheduleEvent(EVENT_STOP_DANCING, 8s, 16s);
break;
case 6:
if (GameObject* launcher = me->FindNearestGameObject(GO_FIREWORKS_LAUNCHER, 20.0f))
me->SetFacingToObject(launcher);
_events.ScheduleEvent(EVENT_THROW_FIREWORKS, 1000);
_events.ScheduleEvent(EVENT_THROW_FIREWORKS, 1s);
break;
}
break;
}
case EVENT_REMOVE_EQUIPMENT:
me->LoadEquipment(0, true);
_events.ScheduleEvent(EVENT_RANDOM_ACTION, urand(10000, 20000));
_events.ScheduleEvent(EVENT_RANDOM_ACTION, 10s, 20s);
break;
case EVENT_STOP_DANCING:
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_ONESHOT_NONE);
_events.ScheduleEvent(EVENT_RANDOM_ACTION, urand(10000, 20000));
_events.ScheduleEvent(EVENT_RANDOM_ACTION, 10s, 20s);
break;
case EVENT_THROW_FIREWORKS:
me->CastSpell(me, 26295);
_events.ScheduleEvent(EVENT_RESET_FACING, 3000);
_events.ScheduleEvent(EVENT_RESET_FACING, 3s);
break;
case EVENT_RESET_FACING:
me->SetFacingTo(_facing);
_events.ScheduleEvent(EVENT_RANDOM_ACTION, urand(12000, 20000));
_events.ScheduleEvent(EVENT_RANDOM_ACTION, 12s, 20s);
break;
}
}

View File

@@ -161,7 +161,7 @@ struct npc_sentinel_leader : public ScriptedAI
{
me->HandleEmoteCommand(EMOTE_ONESHOT_SALUTE);
SentinelSpy->HandleEmoteCommand(EMOTE_ONESHOT_SALUTE);
_events.ScheduleEvent(EVENT_QUESTION, 5000);
_events.ScheduleEvent(EVENT_QUESTION, 5s);
}
break;
}
@@ -170,8 +170,8 @@ struct npc_sentinel_leader : public ScriptedAI
void EnterCombat(Unit* /*who*/) override
{
_events.ScheduleEvent(EVENT_SINISTER_STRIKE, urand(5000, 9000));
_events.ScheduleEvent(EVENT_BACKSTAB, urand(3000, 5000));
_events.ScheduleEvent(EVENT_SINISTER_STRIKE, 5s, 9s);
_events.ScheduleEvent(EVENT_BACKSTAB, 3s, 5s);
}
void UpdateAI(uint32 diff) override
@@ -187,7 +187,7 @@ struct npc_sentinel_leader : public ScriptedAI
case EVENT_QUESTION:
{
me->HandleEmoteCommand(EMOTE_ONESHOT_QUESTION);
_events.ScheduleEvent(EVENT_TALK, 1000);
_events.ScheduleEvent(EVENT_TALK, 1s);
break;
}
case EVENT_TALK:
@@ -212,11 +212,11 @@ struct npc_sentinel_leader : public ScriptedAI
{
case EVENT_SINISTER_STRIKE:
DoCastVictim(SPELL_SINISTER_STRIKE, true);
_events.ScheduleEvent(EVENT_SINISTER_STRIKE, urand(5000, 9000));
_events.ScheduleEvent(EVENT_SINISTER_STRIKE, 5s, 9s);
break;
case EVENT_BACKSTAB:
DoCastVictim(SPELL_BACKSTAB, true);
_events.ScheduleEvent(EVENT_BACKSTAB, urand(7000, 11000));
_events.ScheduleEvent(EVENT_BACKSTAB, 7s, 11s);
break;
default:
break;
@@ -291,7 +291,7 @@ struct npc_sentinel_infiltrator : public ScriptedAI
{
me->HandleEmoteCommand(EMOTE_ONESHOT_SALUTE);
SentinelInfiltrator->HandleEmoteCommand(EMOTE_ONESHOT_SALUTE);
_events.ScheduleEvent(EVENT_TALK2, 2000);
_events.ScheduleEvent(EVENT_TALK2, 2s);
}
break;
}
@@ -308,7 +308,7 @@ struct npc_sentinel_infiltrator : public ScriptedAI
{
me->HandleEmoteCommand(EMOTE_ONESHOT_SALUTE);
SentinelInfiltrator->HandleEmoteCommand(EMOTE_ONESHOT_SALUTE);
_events.ScheduleEvent(EVENT_TALK, 2000);
_events.ScheduleEvent(EVENT_TALK, 2s);
}
break;
}
@@ -319,8 +319,8 @@ struct npc_sentinel_infiltrator : public ScriptedAI
void EnterCombat(Unit* /*who*/) override
{
_events.ScheduleEvent(EVENT_GOUGE2, urand(9000, 15000));
_events.ScheduleEvent(EVENT_BACKSTAB2, urand(3000, 5000));
_events.ScheduleEvent(EVENT_GOUGE2, 9s, 15s);
_events.ScheduleEvent(EVENT_BACKSTAB2, 3s, 5s);
}
void UpdateAI(uint32 diff) override
@@ -340,13 +340,13 @@ struct npc_sentinel_infiltrator : public ScriptedAI
{
SentinelInfiltrator->HandleEmoteCommand(EMOTE_ONESHOT_TALK);
}
_events.ScheduleEvent(EVENT_QUESTION, 2000);
_events.ScheduleEvent(EVENT_QUESTION, 2s);
break;
}
case EVENT_QUESTION2:
{
me->HandleEmoteCommand(EMOTE_ONESHOT_QUESTION);
_events.ScheduleEvent(EVENT_EXCLAMATION, 1000);
_events.ScheduleEvent(EVENT_EXCLAMATION, 1s);
break;
}
case EVENT_EXCLAMATION:
@@ -356,7 +356,7 @@ struct npc_sentinel_infiltrator : public ScriptedAI
{
SentinelInfiltrator->HandleEmoteCommand(EMOTE_ONESHOT_EXCLAMATION);
}
_events.ScheduleEvent(EVENT_SALUTE, 3000);
_events.ScheduleEvent(EVENT_SALUTE, 3s);
break;
}
case EVENT_SALUTE:
@@ -382,11 +382,11 @@ struct npc_sentinel_infiltrator : public ScriptedAI
{
case EVENT_GOUGE2:
DoCastVictim(SPELL_GOUGE, true);
_events.ScheduleEvent(EVENT_GOUGE2, urand(9000, 15000));
_events.ScheduleEvent(EVENT_GOUGE2, 9s, 15s);
break;
case EVENT_BACKSTAB2:
DoCastVictim(SPELL_BACKSTAB, true);
_events.ScheduleEvent(EVENT_BACKSTAB, urand(7000, 11000));
_events.ScheduleEvent(EVENT_BACKSTAB, 7s, 11s);
break;
default:
break;

View File

@@ -123,11 +123,11 @@ public:
void EnterCombat(Unit* /*who*/) override
{
_events.ScheduleEvent(EVENT_FADE, 30000);
_events.ScheduleEvent(EVENT_SUMMON_SKELETON, 20000);
_events.ScheduleEvent(EVENT_BLACK_ARROW, 15000);
_events.ScheduleEvent(EVENT_SHOOT, 8000);
_events.ScheduleEvent(EVENT_MULTI_SHOT, 10000);
_events.ScheduleEvent(EVENT_FADE, 30s);
_events.ScheduleEvent(EVENT_SUMMON_SKELETON, 20s);
_events.ScheduleEvent(EVENT_BLACK_ARROW, 15s);
_events.ScheduleEvent(EVENT_SHOOT, 8s);
_events.ScheduleEvent(EVENT_MULTI_SHOT, 10s);
}
void SetGUID(ObjectGuid guid, int32 type) override
@@ -143,8 +143,8 @@ public:
for (uint8 i = 0; i < 4; ++i)
me->SummonCreature(NPC_HIGHBORNE_LAMENTER, HighborneLoc[i][0], HighborneLoc[i][1], HIGHBORNE_LOC_Y, HighborneLoc[i][2], TEMPSUMMON_TIMED_DESPAWN, 160000);
_events.ScheduleEvent(EVENT_LAMENT_OF_THE_HIGHBORN, 2000);
_events.ScheduleEvent(EVENT_SUNSORROW_WHISPER, 10000);
_events.ScheduleEvent(EVENT_LAMENT_OF_THE_HIGHBORN, 2s);
_events.ScheduleEvent(EVENT_SUNSORROW_WHISPER, 10s);
}
}
@@ -181,26 +181,26 @@ public:
if (Unit* victim = me->GetVictim())
if (me->GetDistance(victim) > 10.0f)
DoCast(victim, SPELL_MULTI_SHOT);
_events.ScheduleEvent(EVENT_FADE, urand(30000, 35000));
_events.ScheduleEvent(EVENT_FADE, 30s, 35s);
break;
case EVENT_SUMMON_SKELETON:
DoCast(me, SPELL_SUMMON_SKELETON);
_events.ScheduleEvent(EVENT_SUMMON_SKELETON, urand(20000, 30000));
_events.ScheduleEvent(EVENT_SUMMON_SKELETON, 20s, 30s);
break;
case EVENT_BLACK_ARROW:
if (Unit* victim = me->GetVictim())
DoCast(victim, SPELL_BLACK_ARROW);
_events.ScheduleEvent(EVENT_BLACK_ARROW, urand(15000, 20000));
_events.ScheduleEvent(EVENT_BLACK_ARROW, 15s, 20s);
break;
case EVENT_SHOOT:
if (Unit* victim = me->GetVictim())
DoCast(victim, SPELL_SHOT);
_events.ScheduleEvent(EVENT_SHOOT, urand(8000, 10000));
_events.ScheduleEvent(EVENT_SHOOT, 8s, 10s);
break;
case EVENT_MULTI_SHOT:
if (Unit* victim = me->GetVictim())
DoCast(victim, SPELL_MULTI_SHOT);
_events.ScheduleEvent(EVENT_MULTI_SHOT, urand(10000, 13000));
_events.ScheduleEvent(EVENT_MULTI_SHOT, 10s, 13s);
break;
case EVENT_LAMENT_OF_THE_HIGHBORN:
if (!me->HasAura(SPELL_SYLVANAS_CAST))
@@ -214,7 +214,7 @@ public:
else
{
DoSummon(NPC_HIGHBORNE_BUNNY, me, 10.0f, 3000, TEMPSUMMON_TIMED_DESPAWN);
_events.ScheduleEvent(EVENT_LAMENT_OF_THE_HIGHBORN, 2000);
_events.ScheduleEvent(EVENT_LAMENT_OF_THE_HIGHBORN, 2s);
}
break;
case EVENT_SUNSORROW_WHISPER:
@@ -1041,10 +1041,10 @@ public:
step = 0;
phaseTimer = 0;
jainaGUID.Clear();
_events.ScheduleEvent(EVENT_WHIRLWIND, 5 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_HEROIC_LEAP, 10 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_AGGRO_JAINA, 2 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_WRYNN_BUFF, 2 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_WHIRLWIND, 5s);
_events.ScheduleEvent(EVENT_HEROIC_LEAP, 10s);
_events.ScheduleEvent(EVENT_AGGRO_JAINA, 2s);
_events.ScheduleEvent(EVENT_WRYNN_BUFF, 2s);
me->ApplySpellImmune(0, IMMUNITY_ID, SPELL_SYLVANAS_BUFF, true);
if (Creature* putress = ObjectAccessor::GetCreature(*me, putressGUID))
@@ -2043,11 +2043,11 @@ public:
{
case EVENT_WHIRLWIND:
DoCast(me, SPELL_WHIRLWIND);
_events.ScheduleEvent(EVENT_WHIRLWIND, 20 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_WHIRLWIND, 20s);
break;
case EVENT_HEROIC_LEAP:
DoCastVictim(SPELL_HEROIC_LEAP);
_events.ScheduleEvent(EVENT_HEROIC_LEAP, urand(15, 30) * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_HEROIC_LEAP, 15s, 30s);
break;
case EVENT_AGGRO_JAINA:
if (me->GetVictim())
@@ -2058,11 +2058,11 @@ public:
}
}
DoCast(me, SPELL_THUNDER);
_events.ScheduleEvent(EVENT_AGGRO_JAINA, 2 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_AGGRO_JAINA, 2s);
break;
case EVENT_WRYNN_BUFF:
DoCast(me, SPELL_WRYNN_BUFF);
_events.ScheduleEvent(EVENT_WRYNN_BUFF, 10 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_WRYNN_BUFF, 10s);
break;
default:
break;
@@ -2099,9 +2099,9 @@ public:
{
me->SetCorpseDelay(1);
me->SetRespawnTime(1);
_events.ScheduleEvent(EVENT_FIREBALL, 1 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_BLIZZARD, 8 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_ELEMENTAL, 30 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_FIREBALL, 1s);
_events.ScheduleEvent(EVENT_BLIZZARD, 8s);
_events.ScheduleEvent(EVENT_ELEMENTAL, 30s);
me->ApplySpellImmune(0, IMMUNITY_ID, SPELL_THRALL_BUFF, true);
me->ApplySpellImmune(0, IMMUNITY_ID, SPELL_SYLVANAS_BUFF, true);
}
@@ -2123,15 +2123,15 @@ public:
case EVENT_FIREBALL:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
DoCast(target, SPELL_FIREBALL);
_events.ScheduleEvent(EVENT_FIREBALL, 3 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_FIREBALL, 3s);
break;
case EVENT_BLIZZARD:
DoCast(SPELL_BLIZZARD);
_events.ScheduleEvent(EVENT_BLIZZARD, 15 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_BLIZZARD, 15s);
break;
case EVENT_ELEMENTAL:
DoCast(SPELL_ELEMENTALS);
_events.ScheduleEvent(EVENT_ELEMENTAL, 90 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_ELEMENTAL, 90s);
break;
default:
break;
@@ -2173,8 +2173,8 @@ public:
void Reset() override
{
_events.ScheduleEvent(EVENT_INFEST, 2 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_BLIGHT_BREATH, 7.5 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_INFEST, 2s);
_events.ScheduleEvent(EVENT_BLIGHT_BREATH, 750ms);
}
void UpdateAI(uint32 diff) override
@@ -2194,11 +2194,11 @@ public:
case EVENT_INFEST:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 0, true))
DoCast(target, SPELL_INGEST);
_events.ScheduleEvent(EVENT_INFEST, 20 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_INFEST, 20s);
break;
case EVENT_BLIGHT_BREATH:
DoCast(SPELL_BLIGHT_BREATH);
_events.ScheduleEvent(EVENT_BLIGHT_BREATH, 15 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_BLIGHT_BREATH, 15s);
break;
default:
break;
@@ -2382,11 +2382,11 @@ public:
step = 0;
phaseTimer = 0;
sylvanasfollowGUID.Clear();
_events.ScheduleEvent(EVENT_CHAIN_LIGHTNING, 3 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_LAVA_BURST, 5 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_THUNDER, 8 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_AGGRO_SYLVANAS, 2 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_THRALL_BUFF, 2 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_CHAIN_LIGHTNING, 3s);
_events.ScheduleEvent(EVENT_LAVA_BURST, 5s);
_events.ScheduleEvent(EVENT_THUNDER, 8s);
_events.ScheduleEvent(EVENT_AGGRO_SYLVANAS, 2s);
_events.ScheduleEvent(EVENT_THRALL_BUFF, 2s);
if (Creature* valimathras = ObjectAccessor::GetCreature(*me, ValimathrasGUID))
{
@@ -3929,25 +3929,25 @@ public:
{
case EVENT_CHAIN_LIGHTNING:
DoCastVictim(SPELL_CHAIN_LIGHTNING);
_events.ScheduleEvent(EVENT_CHAIN_LIGHTNING, urand(5, 8) * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_CHAIN_LIGHTNING, 5s, 8s);
break;
case EVENT_LAVA_BURST:
DoCastVictim(SPELL_LAVA_BURST);
_events.ScheduleEvent(EVENT_LAVA_BURST, urand(3, 5) * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_LAVA_BURST, 3s, 5s);
break;
case EVENT_THUNDER:
DoCast(me, SPELL_THUNDER);
_events.ScheduleEvent(EVENT_THUNDER, 15 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_THUNDER, 15s);
break;
case EVENT_AGGRO_SYLVANAS:
if (me->GetVictim())
if (Creature* sylvanas = ObjectAccessor::GetCreature(*me, sylvanasfollowGUID))
sylvanas->AI()->AttackStart(me->GetVictim());
_events.ScheduleEvent(EVENT_AGGRO_SYLVANAS, 2 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_AGGRO_SYLVANAS, 2s);
break;
case EVENT_THRALL_BUFF:
DoCast(me, SPELL_THRALL_BUFF);
_events.ScheduleEvent(EVENT_THRALL_BUFF, 10 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_THRALL_BUFF, 10s);
break;
default:
break;
@@ -3994,12 +3994,12 @@ public:
{
me->SetCorpseDelay(1);
me->SetRespawnTime(1);
_events.ScheduleEvent(EVENT_SUMMON_SKELETON, 20 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_BLACK_ARROW, 15 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_SHOOT, 5 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_MULTI_SHOT, 6 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_SHRIEK_OF_HIGHBORN, 3 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_SYLVANAS_BUFF, 1 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_SUMMON_SKELETON, 20s);
_events.ScheduleEvent(EVENT_BLACK_ARROW, 15s);
_events.ScheduleEvent(EVENT_SHOOT, 5s);
_events.ScheduleEvent(EVENT_MULTI_SHOT, 6s);
_events.ScheduleEvent(EVENT_SHRIEK_OF_HIGHBORN, 3s);
_events.ScheduleEvent(EVENT_SYLVANAS_BUFF, 1s);
me->ApplySpellImmune(0, IMMUNITY_ID, SPELL_WRYNN_BUFF, true);
me->ApplySpellImmune(0, IMMUNITY_STATE, SPELL_AURA_MOD_INCREASE_SPEED, true);
}
@@ -4025,26 +4025,26 @@ public:
{
case EVENT_SUMMON_SKELETON:
DoCast(me, SPELL_SUMMON_SKELETON);
_events.ScheduleEvent(EVENT_SUMMON_SKELETON, urand(20, 30) * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_SUMMON_SKELETON, 20s, 30s);
break;
case EVENT_BLACK_ARROW:
if (Unit* victim = me->GetVictim())
DoCast(victim, SPELL_BLACK_ARROW);
_events.ScheduleEvent(EVENT_BLACK_ARROW, urand(6, 9) * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_BLACK_ARROW,6s, 9s);
break;
case EVENT_SHOOT:
if (Unit* victim = me->GetVictim())
DoCast(victim, SPELL_SHOT);
_events.ScheduleEvent(EVENT_SHOOT, urand(5, 10) * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_SHOOT, 5s, 10s);
break;
case EVENT_MULTI_SHOT:
if (Unit* victim = me->GetVictim())
DoCast(victim, SPELL_MULTI_SHOT);
_events.ScheduleEvent(EVENT_MULTI_SHOT, urand(10, 13) * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_MULTI_SHOT, 10s, 13s);
break;
case EVENT_SHRIEK_OF_HIGHBORN:
DoCastVictim(SPELL_SHRIEK_OF_HIGHBORN);
_events.ScheduleEvent(EVENT_SHRIEK_OF_HIGHBORN, 3 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_SHRIEK_OF_HIGHBORN, 3s);
break;
case EVENT_SYLVANAS_BUFF:
DoCast(me, SPELL_SYLVANAS_BUFF, true);

View File

@@ -328,7 +328,7 @@ struct npc_dark_iron_attack_generator : public ScriptedAI
summons.DespawnAll();
events.Reset();
events.ScheduleEvent(EVENT_CHECK_HOUR, 2000);
events.ScheduleEvent(EVENT_CHECK_HOUR, 2s);
kegCounter = 0;
guzzlerCounter = 0;
thrown = 0;
@@ -396,13 +396,13 @@ struct npc_dark_iron_attack_generator : public ScriptedAI
case EVENT_PRE_FINISH_ATTACK:
{
events.CancelEvent(EVENT_SPAWN_MOLE_MACHINE);
events.ScheduleEvent(EVENT_FINISH_ATTACK, 20000);
events.ScheduleEvent(EVENT_FINISH_ATTACK, 20s);
break;
}
case EVENT_FINISH_ATTACK:
{
FinishAttackDueToWin();
events.RescheduleEvent(EVENT_CHECK_HOUR, 60000);
events.RescheduleEvent(EVENT_CHECK_HOUR, 1min);
break;
}
case EVENT_BARTENDER_SAY:
@@ -443,7 +443,7 @@ struct npc_dark_iron_attack_generator : public ScriptedAI
}
Reset();
events.RescheduleEvent(EVENT_CHECK_HOUR, 60000);
events.RescheduleEvent(EVENT_CHECK_HOUR, 1min);
}
void FinishAttackDueToWin()
@@ -521,9 +521,9 @@ struct npc_dark_iron_attack_generator : public ScriptedAI
guzzlerCounter = 0;
thrown = 0;
events.ScheduleEvent(EVENT_SPAWN_MOLE_MACHINE, 1500);
events.ScheduleEvent(EVENT_PRE_FINISH_ATTACK, 280000);
events.ScheduleEvent(EVENT_BARTENDER_SAY, 5000);
events.ScheduleEvent(EVENT_SPAWN_MOLE_MACHINE, 1500ms);
events.ScheduleEvent(EVENT_PRE_FINISH_ATTACK, 280s);
events.ScheduleEvent(EVENT_BARTENDER_SAY, 5s);
}
bool AllowStart()
@@ -1588,7 +1588,7 @@ struct npc_coren_direbrew : public ScriptedAI
}
_events.SetPhase(PHASE_INTRO);
_events.ScheduleEvent(EVENT_INTRO_1, 6 * IN_MILLISECONDS, 0, PHASE_INTRO);
_events.ScheduleEvent(EVENT_INTRO_1, 6s, 0, PHASE_INTRO);
Talk(SAY_INTRO);
}
@@ -1609,8 +1609,8 @@ struct npc_coren_direbrew : public ScriptedAI
EntryCheckPredicate pred(NPC_ANTAGONIST);
_summons.DoAction(ACTION_ANTAGONIST_HOSTILE, pred);
_events.ScheduleEvent(EVENT_SUMMON_MOLE_MACHINE, 15 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_DIREBREW_DISARM, 20 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_SUMMON_MOLE_MACHINE, 15s);
_events.ScheduleEvent(EVENT_DIREBREW_DISARM, 20s);
}
}
@@ -1632,11 +1632,11 @@ struct npc_coren_direbrew : public ScriptedAI
{
if (summon->GetEntry() == NPC_ILSA_DIREBREW)
{
_events.ScheduleEvent(EVENT_RESPAWN_ILSA, 1 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_RESPAWN_ILSA, 1s);
}
else if (summon->GetEntry() == NPC_URSULA_DIREBREW)
{
_events.ScheduleEvent(EVENT_RESPAWN_URSULA, 1 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_RESPAWN_URSULA, 1s);
}
}
@@ -1686,13 +1686,13 @@ struct npc_coren_direbrew : public ScriptedAI
{
case EVENT_INTRO_1:
Talk(SAY_INTRO1);
_events.ScheduleEvent(EVENT_INTRO_2, 4 * IN_MILLISECONDS, 0, PHASE_INTRO);
_events.ScheduleEvent(EVENT_INTRO_2, 4s, 0, PHASE_INTRO);
break;
case EVENT_INTRO_2:
{
EntryCheckPredicate pred(NPC_ANTAGONIST);
_summons.DoAction(ACTION_ANTAGONIST_SAY_1, pred);
_events.ScheduleEvent(EVENT_INTRO_3, 3 * IN_MILLISECONDS, 0, PHASE_INTRO);
_events.ScheduleEvent(EVENT_INTRO_3, 3s, 0, PHASE_INTRO);
break;
}
case EVENT_INTRO_3:

View File

@@ -679,10 +679,10 @@ struct npc_hallows_end_soh : public ScriptedAI
unitList.push_back((*itr)->GetGUID());
}
events.ScheduleEvent(1, 3000);
events.ScheduleEvent(2, 25000);
events.ScheduleEvent(2, 43000);
events.ScheduleEvent(3, 63000);
events.ScheduleEvent(1, 3s);
events.ScheduleEvent(2, 25s);
events.ScheduleEvent(2, 43s);
events.ScheduleEvent(3, 63s);
me->SetReactState(REACT_PASSIVE);
me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
@@ -1034,7 +1034,7 @@ struct boss_headless_horseman : public ScriptedAI
if (spellInfo->Id == SPELL_SUMMONING_RHYME_TARGET)
{
playerGUID = target->GetGUID();
events.ScheduleEvent(EVENT_HH_PLAYER_TALK, 2000);
events.ScheduleEvent(EVENT_HH_PLAYER_TALK, 2s);
}
}
@@ -1055,9 +1055,9 @@ struct boss_headless_horseman : public ScriptedAI
me->Yell("Here's my body, fit and pure! Now, your blackened souls I'll cure!", LANG_UNIVERSAL);
if (phase == 1)
events.ScheduleEvent(EVENT_HORSEMAN_CONFLAGRATION, 6000);
events.ScheduleEvent(EVENT_HORSEMAN_CONFLAGRATION, 6s);
else if (phase == 2)
events.ScheduleEvent(EVENT_SUMMON_PUMPKIN, 6000);
events.ScheduleEvent(EVENT_SUMMON_PUMPKIN, 6s);
}
}
@@ -1074,8 +1074,8 @@ struct boss_headless_horseman : public ScriptedAI
me->SetInCombatWithZone();
inFight = true;
events.ScheduleEvent(EVENT_HORSEMAN_FOLLOW, 500);
events.ScheduleEvent(EVENT_HORSEMAN_CLEAVE, 7000);
events.ScheduleEvent(EVENT_HORSEMAN_FOLLOW, 500ms);
events.ScheduleEvent(EVENT_HORSEMAN_CLEAVE, 7s);
}
}
}
@@ -1109,8 +1109,8 @@ struct boss_headless_horseman : public ScriptedAI
if (phase < 2)
phase++;
events.ScheduleEvent(EVENT_HORSEMAN_WHIRLWIND, 6000);
events.ScheduleEvent(EVENT_HORSEMAN_CHECK_HEALTH, 1000);
events.ScheduleEvent(EVENT_HORSEMAN_WHIRLWIND, 6s);
events.ScheduleEvent(EVENT_HORSEMAN_CHECK_HEALTH, 1s);
}
}
}

View File

@@ -101,8 +101,8 @@ public:
Talk(SAY_WATCH_OUT, who);
else
{
events.ScheduleEvent(EVENT_FIREBALL, 1000);
events.ScheduleEvent(EVENT_FROST_NOVA, urand(8000, 12000));
events.ScheduleEvent(EVENT_FIREBALL, 1s);
events.ScheduleEvent(EVENT_FROST_NOVA, 8s, 12s);
if (urand(0, 100) > 40)
Talk(SAY_AGGRO, who);
}
@@ -130,7 +130,7 @@ public:
if (type == WAYPOINT_MOTION_TYPE && id == POINT_REACH_IDOL)
{
channeling = true;
events.ScheduleEvent(EVENT_CHANNEL, 2000);
events.ScheduleEvent(EVENT_CHANNEL, 2s);
}
}
@@ -148,15 +148,15 @@ public:
case EVENT_CHANNEL:
Talk(SAY_EVENT_START);
DoCast(me, SPELL_IDOL_SHUTDOWN_VISUAL);
events.ScheduleEvent(EVENT_IDOL_ROOM_SPAWNER, 100);
events.ScheduleEvent(EVENT_PROGRESS, 120000);
events.ScheduleEvent(EVENT_IDOL_ROOM_SPAWNER, 100ms);
events.ScheduleEvent(EVENT_PROGRESS, 120s);
me->SetReactState(REACT_PASSIVE);
break;
case EVENT_IDOL_ROOM_SPAWNER:
if (Creature* creature = me->SummonCreature(NPC_IDOL_ROOM_SPAWNER, PosSummonSpawner[urand(0, 2)], TEMPSUMMON_TIMED_DESPAWN, 4000))
creature->AI()->SetData(0, spawnerCount);
if (++spawnerCount < 8)
events.ScheduleEvent(EVENT_IDOL_ROOM_SPAWNER, 35000);
events.ScheduleEvent(EVENT_IDOL_ROOM_SPAWNER, 35s);
break;
case EVENT_PROGRESS:
{
@@ -165,23 +165,23 @@ public:
case 0:
Talk(SAY_EVENT_THREE_MIN_LEFT);
++eventProgress;
events.ScheduleEvent(EVENT_PROGRESS, 60000);
events.ScheduleEvent(EVENT_PROGRESS, 1min);
break;
case 1:
Talk(SAY_EVENT_TWO_MIN_LEFT);
++eventProgress;
events.ScheduleEvent(EVENT_PROGRESS, 60000);
events.ScheduleEvent(EVENT_PROGRESS, 1min);
break;
case 2:
Talk(SAY_EVENT_ONE_MIN_LEFT);
++eventProgress;
events.ScheduleEvent(EVENT_PROGRESS, 60000);
events.ScheduleEvent(EVENT_PROGRESS, 1min);
break;
case 3:
events.CancelEvent(EVENT_IDOL_ROOM_SPAWNER);
me->InterruptSpell(CURRENT_CHANNELED_SPELL);
Talk(SAY_EVENT_END);
events.ScheduleEvent(EVENT_COMPLETE, 3000);
events.ScheduleEvent(EVENT_COMPLETE, 3s);
break;
}
break;
@@ -215,13 +215,13 @@ public:
if (me->HasUnitState(UNIT_STATE_CASTING) || !UpdateVictim())
return;
DoCastVictim(SPELL_FIREBALL);
events.ScheduleEvent(EVENT_FIREBALL, 8000);
events.ScheduleEvent(EVENT_FIREBALL, 8s);
break;
case EVENT_FROST_NOVA:
if (me->HasUnitState(UNIT_STATE_CASTING) || !UpdateVictim())
return;
DoCast(me, SPELL_FROST_NOVA);
events.ScheduleEvent(EVENT_FROST_NOVA, 15000);
events.ScheduleEvent(EVENT_FROST_NOVA, 15s);
break;
}
}

View File

@@ -221,9 +221,9 @@ struct npc_general_andorov : public npc_escortAI
void EnterCombat(Unit* /*who*/) override
{
events.ScheduleEvent(EVENT_BASH, urand(8, 11) * IN_MILLISECONDS);
events.ScheduleEvent(EVENT_COMMAND_AURA, urand(1, 3) * IN_MILLISECONDS);
events.ScheduleEvent(EVENT_STRIKE, urand(2, 5) * IN_MILLISECONDS);
events.ScheduleEvent(EVENT_BASH, 8s, 11s);
events.ScheduleEvent(EVENT_COMMAND_AURA, 1s, 3s);
events.ScheduleEvent(EVENT_STRIKE, 2s, 5s);
}
void WaypointReached(uint32 waypointId) override
@@ -348,15 +348,15 @@ struct npc_general_andorov : public npc_escortAI
{
case EVENT_BASH:
DoCastVictim(SPELL_BASH);
events.ScheduleEvent(EVENT_BASH, urand(25, 38) * IN_MILLISECONDS);
events.ScheduleEvent(EVENT_BASH, 25s, 38s);
break;
case EVENT_COMMAND_AURA:
DoCastSelf(SPELL_AURA_OF_COMMAND, true);
events.ScheduleEvent(EVENT_COMMAND_AURA, urand(10, 20) * IN_MILLISECONDS);
events.ScheduleEvent(EVENT_COMMAND_AURA, 10s, 20s);
break;
case EVENT_STRIKE:
DoCastVictim(SPELL_STRIKE);
events.ScheduleEvent(EVENT_STRIKE, urand(4, 6) * IN_MILLISECONDS);
events.ScheduleEvent(EVENT_STRIKE, 4s, 6s);
break;
default:
break;

View File

@@ -255,7 +255,7 @@ public:
if (quest->GetQuestId() == QUEST_A_CRY_FOR_HELP)
{
_player = player->GetGUID();
_events.ScheduleEvent(EVENT_ACCEPT_QUEST, 2000);
_events.ScheduleEvent(EVENT_ACCEPT_QUEST, 2s);
}
}
@@ -270,7 +270,7 @@ public:
break;
case 28:
player->GroupEventHappens(QUEST_A_CRY_FOR_HELP, me);
_events.ScheduleEvent(EVENT_TALK_END, 2000);
_events.ScheduleEvent(EVENT_TALK_END, 2s);
SetRun(true);
break;
case 29:
@@ -297,14 +297,14 @@ public:
Talk(SAY_START, player);
}
me->SetFaction(FACTION_ESCORTEE_N_NEUTRAL_PASSIVE);
_events.ScheduleEvent(EVENT_START_ESCORT, 1000);
_events.ScheduleEvent(EVENT_START_ESCORT, 1s);
break;
case EVENT_START_ESCORT:
if (Player* player = ObjectAccessor::GetPlayer(*me, _player))
{
npc_escortAI::Start(true, false, player->GetGUID());
}
_events.ScheduleEvent(EVENT_STAND, 2000);
_events.ScheduleEvent(EVENT_STAND, 2s);
break;
case EVENT_STAND: // Remove kneel standstate. Using a separate delayed event because it causes unwanted delay before starting waypoint movement.
me->SetByteValue(UNIT_FIELD_BYTES_1, UNIT_BYTES_1_OFFSET_STAND_STATE, UNIT_STAND_STATE_STAND);
@@ -314,7 +314,7 @@ public:
{
Talk(SAY_END1, player);
}
_events.ScheduleEvent(EVENT_COWLEN_TALK, 2000);
_events.ScheduleEvent(EVENT_COWLEN_TALK, 2s);
break;
case EVENT_COWLEN_TALK:
if (Creature* cowlen = me->FindNearestCreature(NPC_COWLEN, 50.0f, true))
@@ -475,7 +475,7 @@ public:
player->KilledMonsterCredit(me->GetEntry(), me->GetGUID());
_movementComplete = true;
_events.ScheduleEvent(EVENT_DESPAWN, 3500);
_events.ScheduleEvent(EVENT_DESPAWN, 3500ms);
}
void UpdateAI(uint32 diff) override

View File

@@ -78,8 +78,8 @@ public:
void EnterCombat(Unit*) override
{
events.Reset();
events.ScheduleEvent(EVENT_SPELL_SUNDER_ARMOR, 5000);
events.ScheduleEvent(EVENT_SPELL_NET, 10000);
events.ScheduleEvent(EVENT_SPELL_SUNDER_ARMOR, 5s);
events.ScheduleEvent(EVENT_SPELL_NET, 10s);
}
void UpdateAI(uint32 diff) override
@@ -146,11 +146,11 @@ public:
{
case EVENT_SPELL_SUNDER_ARMOR:
me->CastSpell(me->GetVictim(), SPELL_SUNDER_ARMOR, false);
events.ScheduleEvent(EVENT_SPELL_SUNDER_ARMOR, 15000);
events.ScheduleEvent(EVENT_SPELL_SUNDER_ARMOR, 15s);
break;
case EVENT_SPELL_NET:
me->CastSpell(me->GetVictim(), SPELL_NET, false);
events.ScheduleEvent(EVENT_SPELL_NET, 25000);
events.ScheduleEvent(EVENT_SPELL_NET, 25s);
break;
}
@@ -469,7 +469,7 @@ public:
me->SetFaction(FACTION_FRIENDLY);
me->GetMotionMaster()->MoveFollow(player, 1.0f, PET_FOLLOW_ANGLE - (PET_FOLLOW_ANGLE / 4));
_events.Reset();
_events.ScheduleEvent(EVENT_CHECK_FOLLOWING, 1000);
_events.ScheduleEvent(EVENT_CHECK_FOLLOWING, 1s);
player->KilledMonsterCredit(NPC_CAPTURED_RABID_THISTLE_BEAR);
me->DespawnOrUnsummon(240000);
}
@@ -496,7 +496,7 @@ public:
{
me->DespawnOrUnsummon();
}
_events.ScheduleEvent(EVENT_CHECK_FOLLOWING, 1000);
_events.ScheduleEvent(EVENT_CHECK_FOLLOWING, 1s);
break;
}
}
@@ -568,7 +568,7 @@ public:
{
_bearGUID = bear->GetGUID();
_scriptRunning = true;
_events.ScheduleEvent(EVENT_POST_QUEST_ONE, 1000);
_events.ScheduleEvent(EVENT_POST_QUEST_ONE, 1s);
}
}
}
@@ -586,14 +586,14 @@ public:
Talk(SAY_BE_CLEANSED);
me->CastSpell(bear, SPELL_THARNARIUMS_HEAL);
}
_events.ScheduleEvent(EVENT_POST_QUEST_TWO, 4000);
_events.ScheduleEvent(EVENT_POST_QUEST_TWO, 4s);
break;
case EVENT_POST_QUEST_TWO:
if (Creature* bear = ObjectAccessor::GetCreature(*me, _bearGUID))
{
bear->SetUInt32Value(UNIT_FIELD_BYTES_1, 7);
}
_events.ScheduleEvent(EVENT_POST_QUEST_THREE, 1000);
_events.ScheduleEvent(EVENT_POST_QUEST_THREE, 1s);
break;
case EVENT_POST_QUEST_THREE:
if (Creature* bear = ObjectAccessor::GetCreature(*me, _bearGUID))

View File

@@ -101,7 +101,7 @@ public:
_faction = 35;
headNorth = true;
me->setActive(true);
events.ScheduleEvent(EVENT_RESTART_ESCORT, 0);
events.ScheduleEvent(EVENT_RESTART_ESCORT, 0ms);
}
void JustRespawned() override
@@ -383,7 +383,7 @@ public:
break;
}
case 282:
events.ScheduleEvent(EVENT_RESTART_ESCORT, 1000);
events.ScheduleEvent(EVENT_RESTART_ESCORT, 1s);
break;
}
}

View File

@@ -99,7 +99,7 @@ public:
npc_tiger_matriarch_creditAI(Creature* creature) : ScriptedAI(creature)
{
SetCombatMovement(false);
events.ScheduleEvent(EVENT_CHECK_SUMMON_AURA, 2000);
events.ScheduleEvent(EVENT_CHECK_SUMMON_AURA, 2s);
}
void UpdateAI(uint32 diff) override
@@ -129,7 +129,7 @@ public:
}
}
events.ScheduleEvent(EVENT_CHECK_SUMMON_AURA, 5000);
events.ScheduleEvent(EVENT_CHECK_SUMMON_AURA, 5s);
}
}
@@ -157,8 +157,8 @@ public:
void EnterCombat(Unit* /*target*/) override
{
_events.Reset();
_events.ScheduleEvent(EVENT_POUNCE, 100);
_events.ScheduleEvent(EVENT_NOSUMMON, 50000);
_events.ScheduleEvent(EVENT_POUNCE, 100ms);
_events.ScheduleEvent(EVENT_NOSUMMON, 50s);
}
void IsSummonedBy(WorldObject* summoner) override
@@ -232,7 +232,7 @@ public:
{
case EVENT_POUNCE:
DoCastVictim(SPELL_POUNCE);
_events.ScheduleEvent(EVENT_POUNCE, 30000);
_events.ScheduleEvent(EVENT_POUNCE, 30s);
break;
case EVENT_NOSUMMON: // Reapply SPELL_NO_SUMMON_AURA
if (Unit* tiger = ObjectAccessor::GetUnit(*me, _tigerGuid))
@@ -241,7 +241,7 @@ public:
if (Unit* vehSummoner = tiger->ToTempSummon()->GetSummonerUnit())
me->AddAura(SPELL_NO_SUMMON_AURA, vehSummoner);
}
_events.ScheduleEvent(EVENT_NOSUMMON, 50000);
_events.ScheduleEvent(EVENT_NOSUMMON, 50s);
break;
default:
break;

View File

@@ -146,7 +146,7 @@ public:
}
_events.CancelEvent(EVENT_WANDERING_START);
_events.ScheduleEvent(EVENT_FINAL_TALK, 5 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_FINAL_TALK, 5s);
}
void EnterEvadeMode(EvadeReason why) override
@@ -207,8 +207,8 @@ public:
me->SetFaction(FACTION_ESCORT_N_NEUTRAL_ACTIVE);
me->GetMotionMaster()->MoveFollow(player, 3.f, M_PI);
_events.ScheduleEvent(EVENT_WANDERING_START, urand(40 * IN_MILLISECONDS, 70 * IN_MILLISECONDS));
_events.ScheduleEvent(EVENT_CHECK_FOLLOWER, 30 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_WANDERING_START, 40s, 70s);
_events.ScheduleEvent(EVENT_CHECK_FOLLOWER, 30s);
}
}
@@ -243,9 +243,9 @@ public:
Position pos = me->GetFirstCollisionPosition(15.f, rand_norm() * static_cast<float>(2 * M_PI));
me->GetMotionMaster()->MovePoint(0, pos);
Talk(TALK_2);
_events.ScheduleEvent(EVENT_WANDERING_START, urand(60 * IN_MILLISECONDS, 70 * IN_MILLISECONDS));
_events.ScheduleEvent(EVENT_WANDERING_TALK, 3 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_WANDERING_RANDOM, 8 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_WANDERING_START, 60s, 70s);
_events.ScheduleEvent(EVENT_WANDERING_TALK, 3s);
_events.ScheduleEvent(EVENT_WANDERING_RANDOM, 8s);
break;
}
case EVENT_WANDERING_TALK:

View File

@@ -607,8 +607,8 @@ public:
void EnterCombat(Unit* /*attacker*/) override
{
events.Reset();
events.ScheduleEvent(EVENT_CAST_CLEAVE, urand(3000, 5000));
events.ScheduleEvent(EVENT_CAST_STARFALL, urand(8000, 10000));
events.ScheduleEvent(EVENT_CAST_CLEAVE, 3s, 5s);
events.ScheduleEvent(EVENT_CAST_STARFALL, 8s, 10s);
}
void JustDied(Unit* /*killer*/) override
@@ -623,7 +623,7 @@ public:
if (me->HasAura(SPELL_OMEN_STARFALL))
me->RemoveAurasDueToSpell(SPELL_OMEN_STARFALL);
events.RescheduleEvent(EVENT_CAST_STARFALL, urand(14000, 16000));
events.RescheduleEvent(EVENT_CAST_STARFALL, 14s, 16s);
}
}
@@ -638,12 +638,12 @@ public:
{
case EVENT_CAST_CLEAVE:
DoCastVictim(SPELL_OMEN_CLEAVE);
events.ScheduleEvent(EVENT_CAST_CLEAVE, urand(8000, 10000));
events.ScheduleEvent(EVENT_CAST_CLEAVE, 8s, 10s);
break;
case EVENT_CAST_STARFALL:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
DoCast(target, SPELL_OMEN_STARFALL);
events.ScheduleEvent(EVENT_CAST_STARFALL, urand(14000, 16000));
events.ScheduleEvent(EVENT_CAST_STARFALL, 14s, 16s);
break;
}
@@ -671,7 +671,7 @@ public:
void Reset() override
{
events.Reset();
events.ScheduleEvent(EVENT_DESPAWN, 5 * MINUTE * IN_MILLISECONDS);
events.ScheduleEvent(EVENT_DESPAWN, 5min);
me->SetUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
}

View File

@@ -435,7 +435,7 @@ public:
SetEscortPaused(true);
DoSummonPriestess();
Talk(SAY_RANSHALLA_ALTAR_2);
events.ScheduleEvent(EVENT_RESUME, 2000);
events.ScheduleEvent(EVENT_RESUME, 2s);
break;
case 44:
// Stop the escort and turn towards the altar