refactor(Scripts/Northrend): conversion to std::chrono (#15269)

Co-authored-by: Maelthyrr <maelthyrr@users.noreply.github.com>
This commit is contained in:
Maelthyr
2023-03-07 13:23:33 +01:00
committed by GitHub
parent 527f462826
commit 0200a288cd
140 changed files with 3306 additions and 3371 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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