mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-02-15 00:06:11 +00:00
refactor(Scripts/Northrend): conversion to std::chrono (#15269)
Co-authored-by: Maelthyrr <maelthyrr@users.noreply.github.com>
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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);
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user