mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-02-16 16:56:07 +00:00
refactor(Scripts/Northrend): conversion to std::chrono (#15269)
Co-authored-by: Maelthyrr <maelthyrr@users.noreply.github.com>
This commit is contained in:
@@ -154,8 +154,8 @@ public:
|
||||
me->StopMoving();
|
||||
FeignDeath(true);
|
||||
events.Reset();
|
||||
events.RescheduleEvent(EVENT_START_RESURRECTION, 1000);
|
||||
events.RescheduleEvent(EVENT_YELL_DEAD_1, 0);
|
||||
events.RescheduleEvent(EVENT_START_RESURRECTION, 1s);
|
||||
events.RescheduleEvent(EVENT_YELL_DEAD_1, 0ms);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -163,10 +163,10 @@ public:
|
||||
{
|
||||
events.Reset();
|
||||
// schedule Phase 1 abilities
|
||||
events.RescheduleEvent(EVENT_SPELL_ROAR, 15000);
|
||||
events.RescheduleEvent(EVENT_SPELL_CLEAVE_OR_WOE_STRIKE, 2000);
|
||||
events.RescheduleEvent(EVENT_SPELL_SMASH, 5000);
|
||||
events.RescheduleEvent(EVENT_SPELL_ENRAGE_OR_SHADOW_AXE, 10000);
|
||||
events.RescheduleEvent(EVENT_SPELL_ROAR, 15s);
|
||||
events.RescheduleEvent(EVENT_SPELL_CLEAVE_OR_WOE_STRIKE, 2s);
|
||||
events.RescheduleEvent(EVENT_SPELL_SMASH, 5s);
|
||||
events.RescheduleEvent(EVENT_SPELL_ENRAGE_OR_SHADOW_AXE, 10s);
|
||||
|
||||
Talk(YELL_AGGRO_1);
|
||||
me->LowerPlayerDamageReq(me->GetMaxHealth());
|
||||
@@ -258,9 +258,9 @@ public:
|
||||
break;
|
||||
case EVENT_START_RESURRECTION:
|
||||
me->CastSpell(me, SPELL_SUMMON_VALKYR, true);
|
||||
events.RescheduleEvent(EVENT_VALKYR_BEAM, 7000);
|
||||
events.RescheduleEvent(EVENT_VALKYR_MOVE, 1);
|
||||
events.RescheduleEvent(EVENT_ANNHYLDE_YELL, 3000);
|
||||
events.RescheduleEvent(EVENT_VALKYR_BEAM, 7s);
|
||||
events.RescheduleEvent(EVENT_VALKYR_MOVE, 1ms);
|
||||
events.RescheduleEvent(EVENT_ANNHYLDE_YELL, 3s);
|
||||
break;
|
||||
case EVENT_VALKYR_MOVE:
|
||||
if( Creature* s = ObjectAccessor::GetCreature(*me, ValkyrGUID) )
|
||||
@@ -274,21 +274,21 @@ public:
|
||||
me->RemoveAura(SPELL_SUMMON_VALKYR);
|
||||
if( Creature* c = ObjectAccessor::GetCreature(*me, ValkyrGUID) )
|
||||
c->CastSpell(me, SPELL_RESURRECTION_BEAM, false);
|
||||
events.RescheduleEvent(EVENT_RESURRECTION_BALL, 4000);
|
||||
events.RescheduleEvent(EVENT_RESURRECTION_BALL, 4s);
|
||||
break;
|
||||
case EVENT_RESURRECTION_BALL:
|
||||
me->CastSpell(me, SPELL_RESURRECTION_BALL, true);
|
||||
events.RescheduleEvent(EVENT_RESURRECTION_HEAL, 4000);
|
||||
events.RescheduleEvent(EVENT_RESURRECTION_HEAL, 4s);
|
||||
break;
|
||||
case EVENT_RESURRECTION_HEAL:
|
||||
me->RemoveAura(SPELL_RESURRECTION_BALL);
|
||||
me->CastSpell(me, SPELL_RESURRECTION_HEAL, true);
|
||||
FeignDeath(false);
|
||||
events.RescheduleEvent(EVENT_MORPH_TO_UNDEAD, 3000);
|
||||
events.RescheduleEvent(EVENT_MORPH_TO_UNDEAD, 3s);
|
||||
break;
|
||||
case EVENT_MORPH_TO_UNDEAD:
|
||||
me->CastSpell(me, SPELL_INGVAR_TRANSFORM, true);
|
||||
events.RescheduleEvent(EVENT_START_PHASE_2, 1000);
|
||||
events.RescheduleEvent(EVENT_START_PHASE_2, 1s);
|
||||
break;
|
||||
case EVENT_START_PHASE_2:
|
||||
if( Creature* c = ObjectAccessor::GetCreature(*me, ValkyrGUID) )
|
||||
@@ -302,10 +302,10 @@ public:
|
||||
Talk(YELL_AGGRO_2);
|
||||
|
||||
// schedule Phase 2 abilities
|
||||
events.RescheduleEvent(EVENT_SPELL_ROAR, 15000);
|
||||
events.RescheduleEvent(EVENT_SPELL_CLEAVE_OR_WOE_STRIKE, 2000);
|
||||
events.RescheduleEvent(EVENT_SPELL_SMASH, 5000);
|
||||
events.RescheduleEvent(EVENT_SPELL_ENRAGE_OR_SHADOW_AXE, 10000);
|
||||
events.RescheduleEvent(EVENT_SPELL_ROAR, 15s);
|
||||
events.RescheduleEvent(EVENT_SPELL_CLEAVE_OR_WOE_STRIKE, 2s);
|
||||
events.RescheduleEvent(EVENT_SPELL_SMASH, 5s);
|
||||
events.RescheduleEvent(EVENT_SPELL_ENRAGE_OR_SHADOW_AXE, 10s);
|
||||
|
||||
break;
|
||||
|
||||
@@ -324,24 +324,24 @@ public:
|
||||
me->CastSpell((Unit*)nullptr, SPELL_STAGGERING_ROAR, false);
|
||||
else
|
||||
me->CastSpell((Unit*)nullptr, SPELL_DREADFUL_ROAR, false);
|
||||
events.RepeatEvent(urand(15000, 20000));
|
||||
events.Repeat(15s, 20s);
|
||||
break;
|
||||
case EVENT_SPELL_CLEAVE_OR_WOE_STRIKE:
|
||||
if( me->GetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID) == 0 )
|
||||
{
|
||||
events.RepeatEvent(3000);
|
||||
events.Repeat(3s);
|
||||
break;
|
||||
}
|
||||
if (me->GetDisplayId() == DISPLAYID_DEFAULT)
|
||||
me->CastSpell(me->GetVictim(), SPELL_CLEAVE, false);
|
||||
else
|
||||
me->CastSpell(me->GetVictim(), SPELL_WOE_STRIKE, false);
|
||||
events.RepeatEvent(urand(0, 4000) + 3000);
|
||||
events.Repeat(3s, 7s);
|
||||
break;
|
||||
case EVENT_SPELL_SMASH:
|
||||
if( me->GetUInt32Value(UNIT_VIRTUAL_ITEM_SLOT_ID) == 0 )
|
||||
{
|
||||
events.RepeatEvent(3000);
|
||||
events.Repeat(3s);
|
||||
break;
|
||||
}
|
||||
me->SetControlled(true, UNIT_STATE_ROOT);
|
||||
@@ -351,27 +351,27 @@ public:
|
||||
me->CastSpell((Unit*)nullptr, SPELL_SMASH, false);
|
||||
else
|
||||
me->CastSpell((Unit*)nullptr, SPELL_DARK_SMASH, false);
|
||||
events.RepeatEvent(urand(9000, 11000));
|
||||
events.RescheduleEvent(EVENT_UNROOT, 3750);
|
||||
events.Repeat(9s, 11s);
|
||||
events.RescheduleEvent(EVENT_UNROOT, 3750ms);
|
||||
break;
|
||||
case EVENT_SPELL_ENRAGE_OR_SHADOW_AXE:
|
||||
if (me->GetDisplayId() == DISPLAYID_DEFAULT)
|
||||
{
|
||||
me->CastSpell(me, SPELL_ENRAGE, false);
|
||||
events.RepeatEvent(10000);
|
||||
events.Repeat(10s);
|
||||
}
|
||||
else
|
||||
{
|
||||
me->CastSpell((Unit*)nullptr, SPELL_SHADOW_AXE, true);
|
||||
SetEquipmentSlots(false, EQUIP_UNEQUIP, EQUIP_NO_CHANGE, EQUIP_NO_CHANGE);
|
||||
events.RepeatEvent(35000);
|
||||
events.RescheduleEvent(EVENT_AXE_RETURN, 10000);
|
||||
events.Repeat(35s);
|
||||
events.RescheduleEvent(EVENT_AXE_RETURN, 10s);
|
||||
}
|
||||
break;
|
||||
case EVENT_AXE_RETURN:
|
||||
if (Creature* c = ObjectAccessor::GetCreature(*me, ThrowGUID))
|
||||
c->GetMotionMaster()->MoveCharge(me->GetPositionX(), me->GetPositionY(), me->GetPositionZ());
|
||||
events.RescheduleEvent(EVENT_AXE_PICKUP, 1500);
|
||||
events.RescheduleEvent(EVENT_AXE_PICKUP, 1500ms);
|
||||
break;
|
||||
case EVENT_AXE_PICKUP:
|
||||
if (Creature* c = ObjectAccessor::GetCreature(*me, ThrowGUID))
|
||||
|
||||
@@ -159,9 +159,9 @@ public:
|
||||
void JustEngagedWith(Unit* /*who*/) override
|
||||
{
|
||||
events.Reset();
|
||||
events.RescheduleEvent(EVENT_SPELL_SHADOWBOLT, 0);
|
||||
events.RescheduleEvent(EVENT_FROST_TOMB, 28000);
|
||||
events.RescheduleEvent(EVENT_SUMMON_SKELETONS, 4000);
|
||||
events.RescheduleEvent(EVENT_SPELL_SHADOWBOLT, 0ms);
|
||||
events.RescheduleEvent(EVENT_FROST_TOMB, 28s);
|
||||
events.RescheduleEvent(EVENT_SUMMON_SKELETONS, 4s);
|
||||
|
||||
Talk(SAY_START_COMBAT);
|
||||
DoZoneInCombat();
|
||||
@@ -194,7 +194,7 @@ public:
|
||||
break;
|
||||
case EVENT_SPELL_SHADOWBOLT:
|
||||
me->CastSpell(me->GetVictim(), SPELL_SHADOWBOLT, false);
|
||||
events.RepeatEvent(urand(4000, 5000));
|
||||
events.Repeat(4s, 5s);
|
||||
break;
|
||||
case EVENT_FROST_TOMB:
|
||||
if( Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 0.0f, true, true) )
|
||||
@@ -203,10 +203,10 @@ public:
|
||||
Talk(SAY_FROST_TOMB_EMOTE, target);
|
||||
Talk(SAY_FROST_TOMB);
|
||||
me->CastSpell(target, SPELL_FROST_TOMB, false);
|
||||
events.RepeatEvent(15000);
|
||||
events.Repeat(15s);
|
||||
break;
|
||||
}
|
||||
events.RepeatEvent(1000);
|
||||
events.Repeat(1s);
|
||||
break;
|
||||
case EVENT_SUMMON_SKELETONS:
|
||||
Talk(SAY_SUMMON_SKELETONS);
|
||||
@@ -264,9 +264,9 @@ public:
|
||||
void Reset() override
|
||||
{
|
||||
events.Reset();
|
||||
events.RescheduleEvent(EVENT_SPELL_DECREPIFY, urand(10000, 20000));
|
||||
events.RescheduleEvent(EVENT_SPELL_DECREPIFY, 10s, 20s);
|
||||
if( IsHeroic() )
|
||||
events.RescheduleEvent(EVENT_SPELL_BONE_ARMOR, urand(25000, 120000));
|
||||
events.RescheduleEvent(EVENT_SPELL_BONE_ARMOR, 25s, 120s);
|
||||
}
|
||||
|
||||
void DamageTaken(Unit*, uint32& damage, DamageEffectType, SpellSchoolMask) override
|
||||
@@ -285,7 +285,7 @@ public:
|
||||
me->SetUnitFlag(UNIT_FLAG_PREVENT_EMOTES_FROM_CHAT_TEXT);
|
||||
me->SetUnitFlag2(UNIT_FLAG2_FEIGN_DEATH);
|
||||
me->SetDynamicFlag(UNIT_DYNFLAG_DEAD);
|
||||
events.RescheduleEvent(EVENT_RESURRECT, 12000);
|
||||
events.RescheduleEvent(EVENT_RESURRECT, 12s);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -313,21 +313,21 @@ public:
|
||||
case EVENT_SPELL_DECREPIFY:
|
||||
if( !me->HasUnitFlag(UNIT_FLAG_NON_ATTACKABLE) )
|
||||
me->CastSpell(me->GetVictim(), SPELL_DECREPIFY, false);
|
||||
events.RepeatEvent(urand(15000, 25000));
|
||||
events.Repeat(15s, 25s);
|
||||
break;
|
||||
case EVENT_SPELL_BONE_ARMOR:
|
||||
if( !me->HasUnitFlag(UNIT_FLAG_NON_ATTACKABLE) )
|
||||
me->CastSpell((Unit*)nullptr, SPELL_BONE_ARMOR, false);
|
||||
events.RepeatEvent(urand(40000, 120000));
|
||||
events.Repeat(40s, 120s);
|
||||
break;
|
||||
case EVENT_RESURRECT:
|
||||
events.DelayEvents(3500);
|
||||
events.DelayEvents(3500ms);
|
||||
DoCast(me, SPELL_SCOURGE_RESURRECTION, true);
|
||||
me->SetStandState(UNIT_STAND_STATE_STAND);
|
||||
me->RemoveUnitFlag(UNIT_FLAG_PREVENT_EMOTES_FROM_CHAT_TEXT);
|
||||
me->RemoveUnitFlag2(UNIT_FLAG2_FEIGN_DEATH);
|
||||
me->RemoveDynamicFlag(UNIT_DYNFLAG_DEAD);
|
||||
events.RescheduleEvent(EVENT_RESURRECT_2, 3000);
|
||||
events.RescheduleEvent(EVENT_RESURRECT_2, 3s);
|
||||
break;
|
||||
case EVENT_RESURRECT_2:
|
||||
me->RemoveUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
|
||||
|
||||
@@ -112,7 +112,7 @@ public:
|
||||
switch (param)
|
||||
{
|
||||
case 1:
|
||||
events.RescheduleEvent(EVENT_MATE_DIED, 3500);
|
||||
events.RescheduleEvent(EVENT_MATE_DIED, 3500ms);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -120,14 +120,14 @@ public:
|
||||
void JustEngagedWith(Unit* who) override
|
||||
{
|
||||
events.Reset();
|
||||
events.RescheduleEvent(EVENT_SHARVALD_CHARGE, 5000);
|
||||
events.RescheduleEvent(EVENT_STONE_STRIKE, 10000);
|
||||
events.RescheduleEvent(EVENT_SHARVALD_CHARGE, 5s);
|
||||
events.RescheduleEvent(EVENT_STONE_STRIKE, 10s);
|
||||
if (me->GetEntry() == NPC_SKARVALD)
|
||||
{
|
||||
Talk(YELL_SKARVALD_AGGRO);
|
||||
if (IsHeroic())
|
||||
{
|
||||
events.ScheduleEvent(EVENT_ENRAGE, 1000);
|
||||
events.ScheduleEvent(EVENT_ENRAGE, 1s);
|
||||
}
|
||||
}
|
||||
if (pInstance)
|
||||
@@ -202,17 +202,17 @@ public:
|
||||
me->AddThreat(target, 10000.0f);
|
||||
me->CastSpell(target, SPELL_CHARGE, false);
|
||||
}
|
||||
events.RepeatEvent(urand(5000, 10000));
|
||||
events.Repeat(5s, 10s);
|
||||
break;
|
||||
case EVENT_STONE_STRIKE:
|
||||
if (me->GetVictim() && me->IsWithinMeleeRange(me->GetVictim()))
|
||||
{
|
||||
me->CastSpell(me->GetVictim(), SPELL_STONE_STRIKE, false);
|
||||
events.RepeatEvent(urand(5000, 10000));
|
||||
events.Repeat(5s, 10s);
|
||||
}
|
||||
else
|
||||
{
|
||||
events.RepeatEvent(3000);
|
||||
events.Repeat(3s);
|
||||
}
|
||||
break;
|
||||
case EVENT_ENRAGE:
|
||||
@@ -221,7 +221,7 @@ public:
|
||||
me->CastSpell(me, SPELL_ENRAGE, true);
|
||||
break;
|
||||
}
|
||||
events.RepeatEvent(1000);
|
||||
events.Repeat(1s);
|
||||
break;
|
||||
}
|
||||
DoMeleeAttackIfReady();
|
||||
@@ -280,7 +280,7 @@ public:
|
||||
summons.DespawnAll();
|
||||
break;
|
||||
case 1:
|
||||
events.RescheduleEvent(EVENT_MATE_DIED, 3500);
|
||||
events.RescheduleEvent(EVENT_MATE_DIED, 3500ms);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -288,15 +288,15 @@ public:
|
||||
void JustEngagedWith(Unit* who) override
|
||||
{
|
||||
events.Reset();
|
||||
events.RescheduleEvent(EVENT_SHADOW_BOLT, 1000);
|
||||
events.RescheduleEvent(EVENT_DEBILITATE, 5000);
|
||||
events.RescheduleEvent(EVENT_SHADOW_BOLT, 1s);
|
||||
events.RescheduleEvent(EVENT_DEBILITATE, 5s);
|
||||
if (IsHeroic())
|
||||
{
|
||||
events.RescheduleEvent(EVENT_SUMMON_SKELETONS, 10000);
|
||||
events.RescheduleEvent(EVENT_SUMMON_SKELETONS, 10s);
|
||||
}
|
||||
if (me->GetEntry() == NPC_DALRONN)
|
||||
{
|
||||
events.RescheduleEvent(EVENT_YELL_DALRONN_AGGRO, 4999);
|
||||
events.RescheduleEvent(EVENT_YELL_DALRONN_AGGRO, 5s);
|
||||
}
|
||||
if (pInstance)
|
||||
{
|
||||
@@ -376,22 +376,22 @@ public:
|
||||
{
|
||||
me->CastSpell(target, DUNGEON_MODE(SPELL_SHADOW_BOLT_N, SPELL_SHADOW_BOLT_H), false);
|
||||
}
|
||||
events.RepeatEvent(2050);
|
||||
events.Repeat(2s);
|
||||
break;
|
||||
case EVENT_DEBILITATE:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 45.0f, true))
|
||||
{
|
||||
me->CastSpell(target, SPELL_DEBILITATE, false);
|
||||
events.RepeatEvent(urand(5000, 10000));
|
||||
events.Repeat(5s, 10s);
|
||||
}
|
||||
else
|
||||
{
|
||||
events.RepeatEvent(3000);
|
||||
events.Repeat(3s);
|
||||
}
|
||||
break;
|
||||
case EVENT_SUMMON_SKELETONS:
|
||||
me->CastSpell((Unit*)nullptr, SPELL_SUMMON_SKELETONS, false);
|
||||
events.RepeatEvent(urand(20000, 30000));
|
||||
events.Repeat(20s, 30s);
|
||||
break;
|
||||
}
|
||||
DoMeleeAttackIfReady();
|
||||
|
||||
@@ -124,9 +124,9 @@ public:
|
||||
void Reset() override
|
||||
{
|
||||
_events.Reset();
|
||||
_events.ScheduleEvent(EVENT_REND, urand(2000, 3000));
|
||||
_events.ScheduleEvent(EVENT_FLAME_BREATH, urand(5500, 7000));
|
||||
_events.ScheduleEvent(EVENT_KNOCKAWAY, urand(3500, 6000));
|
||||
_events.ScheduleEvent(EVENT_REND, 2s, 3s);
|
||||
_events.ScheduleEvent(EVENT_FLAME_BREATH, 5500ms, 7000ms);
|
||||
_events.ScheduleEvent(EVENT_KNOCKAWAY, 3500ms, 6000ms);
|
||||
}
|
||||
|
||||
void MovementInform(uint32 type, uint32 id) override
|
||||
@@ -173,15 +173,15 @@ public:
|
||||
{
|
||||
case EVENT_REND:
|
||||
DoCast(SPELL_REND);
|
||||
_events.ScheduleEvent(EVENT_REND, urand(15000, 20000));
|
||||
_events.ScheduleEvent(EVENT_REND, 15s, 20s);
|
||||
break;
|
||||
case EVENT_FLAME_BREATH:
|
||||
DoCast(SPELL_FLAME_BREATH);
|
||||
_events.ScheduleEvent(EVENT_FLAME_BREATH, urand(11000, 12000));
|
||||
_events.ScheduleEvent(EVENT_FLAME_BREATH, 11s, 12s);
|
||||
break;
|
||||
case EVENT_KNOCKAWAY:
|
||||
DoCast(SPELL_KNOCK_AWAY);
|
||||
_events.ScheduleEvent(EVENT_KNOCKAWAY, urand(7000, 8500));
|
||||
_events.ScheduleEvent(EVENT_KNOCKAWAY, 7000ms, 8500ms);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
@@ -197,7 +197,7 @@ public:
|
||||
summons.Summon(cr);
|
||||
cr->SetDisableGravity(true);
|
||||
cr->GetMotionMaster()->MovePoint(0, 275.4f, -453, 110); // ROOM CENTER
|
||||
events.RescheduleEvent(EVENT_UNFREEZE_MONSTER, 10000);
|
||||
events.RescheduleEvent(EVENT_UNFREEZE_MONSTER, 10s);
|
||||
me->SetInCombatWithZone();
|
||||
me->SetControlled(true, UNIT_STATE_STUNNED);
|
||||
}
|
||||
@@ -205,9 +205,9 @@ public:
|
||||
else if (param == ACTION_MINIBOSS_DIED)
|
||||
{
|
||||
if (Counter > (IsHeroic() ? 3 : 1))
|
||||
events.RescheduleEvent(EVENT_PALEHOOF_START, 3000);
|
||||
events.RescheduleEvent(EVENT_PALEHOOF_START, 3s);
|
||||
else
|
||||
events.RescheduleEvent(EVENT_UNFREEZE_MONSTER, 3000);
|
||||
events.RescheduleEvent(EVENT_UNFREEZE_MONSTER, 3s);
|
||||
}
|
||||
}
|
||||
void JustEngagedWith(Unit* /*pWho*/) override
|
||||
@@ -246,7 +246,7 @@ public:
|
||||
Counter++;
|
||||
miniBoss->AI()->DoAction(ACTION_UNFREEZE);
|
||||
orb->CastSpell(miniBoss, SPELL_AWAKEN_SUBBOSS, true);
|
||||
events.ScheduleEvent(EVENT_UNFREEZE_MONSTER2, 6000);
|
||||
events.ScheduleEvent(EVENT_UNFREEZE_MONSTER2, 6s);
|
||||
}
|
||||
else
|
||||
EnterEvadeMode();
|
||||
@@ -272,7 +272,7 @@ public:
|
||||
if (Creature* orb = ObjectAccessor::GetCreature(*me, OrbGUID))
|
||||
{
|
||||
orb->CastSpell(me, SPELL_AWAKEN_SUBBOSS, true);
|
||||
events.ScheduleEvent(EVENT_PALEHOOF_START2, 6000);
|
||||
events.ScheduleEvent(EVENT_PALEHOOF_START2, 6s);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -288,15 +288,15 @@ public:
|
||||
// SETINCOMBATWITHZONE
|
||||
|
||||
// schedule combat events
|
||||
events.ScheduleEvent(EVENT_PALEHOOF_WITHERING_ROAR, 10000);
|
||||
events.ScheduleEvent(EVENT_PALEHOOF_IMPALE, 12000);
|
||||
events.ScheduleEvent(EVENT_PALEHOOF_ARCING_SMASH, 15000);
|
||||
events.ScheduleEvent(EVENT_PALEHOOF_WITHERING_ROAR, 10s);
|
||||
events.ScheduleEvent(EVENT_PALEHOOF_IMPALE, 12s);
|
||||
events.ScheduleEvent(EVENT_PALEHOOF_ARCING_SMASH, 15s);
|
||||
break;
|
||||
}
|
||||
case EVENT_PALEHOOF_WITHERING_ROAR:
|
||||
{
|
||||
me->CastSpell(me, IsHeroic() ? SPELL_WITHERING_ROAR_H : SPELL_WITHERING_ROAR_N, false);
|
||||
events.RepeatEvent(8000 + rand() % 4000);
|
||||
events.Repeat(8s, 12s);
|
||||
break;
|
||||
}
|
||||
case EVENT_PALEHOOF_IMPALE:
|
||||
@@ -304,13 +304,13 @@ public:
|
||||
if (Unit* tgt = SelectTarget(SelectTargetMethod::Random, 0))
|
||||
me->CastSpell(tgt, IsHeroic() ? SPELL_IMPALE_H : SPELL_IMPALE_N, false);
|
||||
|
||||
events.RepeatEvent(8000 + rand() % 4000);
|
||||
events.Repeat(8s, 12s);
|
||||
break;
|
||||
}
|
||||
case EVENT_PALEHOOF_ARCING_SMASH:
|
||||
{
|
||||
me->CastSpell(me->GetVictim(), SPELL_ARCING_SMASH, false);
|
||||
events.RepeatEvent(13000 + rand() % 4000);
|
||||
events.Repeat(13s, 17s);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -381,9 +381,9 @@ public:
|
||||
me->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
|
||||
me->SetInCombatWithZone();
|
||||
|
||||
events.ScheduleEvent(EVENT_JORMUNGAR_ACID_SPIT, 3000);
|
||||
events.ScheduleEvent(EVENT_JORMUNGAR_ACID_SPLATTER, 12000);
|
||||
events.ScheduleEvent(EVENT_JORMUNGAR_POISON_BREATH, 10000);
|
||||
events.ScheduleEvent(EVENT_JORMUNGAR_ACID_SPIT, 3s);
|
||||
events.ScheduleEvent(EVENT_JORMUNGAR_ACID_SPLATTER, 12s);
|
||||
events.ScheduleEvent(EVENT_JORMUNGAR_POISON_BREATH, 10s);
|
||||
}
|
||||
else if (param == ACTION_DESPAWN_ADDS)
|
||||
summons.DespawnAll();
|
||||
@@ -418,7 +418,7 @@ public:
|
||||
if (Unit* tgt = SelectTarget(SelectTargetMethod::Random, 0))
|
||||
me->CastSpell(tgt, SPELL_ACID_SPIT, false);
|
||||
|
||||
events.RepeatEvent(2000 + rand() % 2000);
|
||||
events.Repeat(2s, 4s);
|
||||
break;
|
||||
}
|
||||
case EVENT_JORMUNGAR_ACID_SPLATTER:
|
||||
@@ -436,7 +436,7 @@ public:
|
||||
pJormungarWorm->SetInCombatWithZone();
|
||||
}
|
||||
}
|
||||
events.RepeatEvent(10000 + rand() % 4000);
|
||||
events.Repeat(10s, 15s);
|
||||
break;
|
||||
}
|
||||
case EVENT_JORMUNGAR_POISON_BREATH:
|
||||
@@ -444,7 +444,7 @@ public:
|
||||
if (Unit* tgt = SelectTarget(SelectTargetMethod::Random, 0))
|
||||
me->CastSpell(tgt, IsHeroic() ? SPELL_POISON_BREATH_H : SPELL_POISON_BREATH_N, false);
|
||||
|
||||
events.RepeatEvent(8000 + rand() % 4000);
|
||||
events.Repeat(8s, 12s);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -507,9 +507,9 @@ public:
|
||||
me->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
|
||||
me->SetInCombatWithZone();
|
||||
|
||||
events.ScheduleEvent(EVENT_RHINO_STOMP, 3000);
|
||||
events.ScheduleEvent(EVENT_RHINO_GORE, 12000);
|
||||
events.ScheduleEvent(EVENT_RHINO_WOUND, 10000);
|
||||
events.ScheduleEvent(EVENT_RHINO_STOMP, 3s);
|
||||
events.ScheduleEvent(EVENT_RHINO_GORE, 12s);
|
||||
events.ScheduleEvent(EVENT_RHINO_WOUND, 10s);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -540,13 +540,13 @@ public:
|
||||
case EVENT_RHINO_STOMP:
|
||||
{
|
||||
me->CastSpell(me->GetVictim(), SPELL_STOMP, false);
|
||||
events.RepeatEvent(8000 + rand() % 4000);
|
||||
events.Repeat(8s, 12s);
|
||||
break;
|
||||
}
|
||||
case EVENT_RHINO_GORE:
|
||||
{
|
||||
me->CastSpell(me->GetVictim(), IsHeroic() ? SPELL_GORE_H : SPELL_GORE_N, false);
|
||||
events.RepeatEvent(13000 + rand() % 4000);
|
||||
events.Repeat(13s, 17s);
|
||||
break;
|
||||
}
|
||||
case EVENT_RHINO_WOUND:
|
||||
@@ -554,7 +554,7 @@ public:
|
||||
if (Unit* tgt = SelectTarget(SelectTargetMethod::Random, 0))
|
||||
me->CastSpell(tgt, IsHeroic() ? SPELL_GRIEVOUS_WOUND_H : SPELL_GRIEVOUS_WOUND_N, false);
|
||||
|
||||
events.RepeatEvent(18000 + rand() % 4000);
|
||||
events.Repeat(18s, 22s);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -617,9 +617,9 @@ public:
|
||||
me->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
|
||||
me->SetInCombatWithZone();
|
||||
|
||||
events.ScheduleEvent(EVENT_FURBOLG_CHAIN, 3000);
|
||||
events.ScheduleEvent(EVENT_FURBOLG_CRAZED, 12000);
|
||||
events.ScheduleEvent(EVENT_FURBOLG_ROAR, 10000);
|
||||
events.ScheduleEvent(EVENT_FURBOLG_CHAIN, 3s);
|
||||
events.ScheduleEvent(EVENT_FURBOLG_CRAZED, 12s);
|
||||
events.ScheduleEvent(EVENT_FURBOLG_ROAR, 10s);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -650,19 +650,19 @@ public:
|
||||
case EVENT_FURBOLG_CHAIN:
|
||||
{
|
||||
me->CastSpell(me->GetVictim(), IsHeroic() ? SPELL_CHAIN_LIGHTING_H : SPELL_CHAIN_LIGHTING_N, false);
|
||||
events.RepeatEvent(4000 + rand() % 3000);
|
||||
events.Repeat(4s, 7s);
|
||||
break;
|
||||
}
|
||||
case EVENT_FURBOLG_CRAZED:
|
||||
{
|
||||
me->CastSpell(me, SPELL_CRAZED, false);
|
||||
events.RepeatEvent(8000 + rand() % 4000);
|
||||
events.Repeat(8s, 12s);
|
||||
break;
|
||||
}
|
||||
case EVENT_FURBOLG_ROAR:
|
||||
{
|
||||
me->CastSpell(me, SPELL_TERRIFYING_ROAR, false);
|
||||
events.RepeatEvent(10000 + rand() % 5000);
|
||||
events.Repeat(10s, 15s);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -725,9 +725,9 @@ public:
|
||||
me->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
|
||||
me->SetInCombatWithZone();
|
||||
|
||||
events.ScheduleEvent(EVENT_WORGEN_MORTAL, 3000);
|
||||
events.ScheduleEvent(EVENT_WORGEN_ENRAGE1, 12000);
|
||||
events.ScheduleEvent(EVENT_WORGEN_ENRAGE2, 10000);
|
||||
events.ScheduleEvent(EVENT_WORGEN_MORTAL, 3s);
|
||||
events.ScheduleEvent(EVENT_WORGEN_ENRAGE1, 12s);
|
||||
events.ScheduleEvent(EVENT_WORGEN_ENRAGE2, 10s);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -758,19 +758,19 @@ public:
|
||||
case EVENT_WORGEN_MORTAL:
|
||||
{
|
||||
me->CastSpell(me->GetVictim(), IsHeroic() ? SPELL_MORTAL_WOUND_H : SPELL_MORTAL_WOUND_N, false);
|
||||
events.RepeatEvent(4000 + rand() % 3000);
|
||||
events.Repeat(4s, 7s);
|
||||
break;
|
||||
}
|
||||
case EVENT_WORGEN_ENRAGE1:
|
||||
{
|
||||
me->CastSpell(me, SPELL_ENRAGE_1, false);
|
||||
events.RepeatEvent(15000);
|
||||
events.Repeat(15s);
|
||||
break;
|
||||
}
|
||||
case EVENT_WORGEN_ENRAGE2:
|
||||
{
|
||||
me->CastSpell(me, SPELL_ENRAGE_2, false);
|
||||
events.RepeatEvent(10000);
|
||||
events.Repeat(10s);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -175,7 +175,7 @@ public:
|
||||
|
||||
me->SetControlled(true, UNIT_STATE_ROOT);
|
||||
me->SetInCombatWithZone();
|
||||
events.RescheduleEvent(EVENT_SKADI_START, 2000);
|
||||
events.RescheduleEvent(EVENT_SKADI_START, 2s);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -184,9 +184,9 @@ public:
|
||||
if (param == ACTION_PHASE2)
|
||||
{
|
||||
SecondPhase = true;
|
||||
events.ScheduleEvent(EVENT_SKADI_CRUSH, 8000);
|
||||
events.ScheduleEvent(EVENT_SKADI_SPEAR, 10000);
|
||||
events.ScheduleEvent(EVENT_SKADI_WHIRLWIND, 15000);
|
||||
events.ScheduleEvent(EVENT_SKADI_CRUSH, 8s);
|
||||
events.ScheduleEvent(EVENT_SKADI_SPEAR, 10s);
|
||||
events.ScheduleEvent(EVENT_SKADI_WHIRLWIND, 15s);
|
||||
|
||||
if (me->GetVictim())
|
||||
me->GetMotionMaster()->MoveChase(me->GetVictim());
|
||||
@@ -222,7 +222,7 @@ public:
|
||||
case EVENT_SKADI_CRUSH:
|
||||
{
|
||||
me->CastSpell(me->GetVictim(), IsHeroic() ? SPELL_CRUSH_H : SPELL_CRUSH_N, false);
|
||||
events.RepeatEvent(8000);
|
||||
events.Repeat(8s);
|
||||
break;
|
||||
}
|
||||
case EVENT_SKADI_SPEAR:
|
||||
@@ -230,14 +230,14 @@ public:
|
||||
if (Unit* tgt = SelectTarget(SelectTargetMethod::Random, 0))
|
||||
me->CastSpell(tgt, IsHeroic() ? SPELL_POISONED_SPEAR_H : SPELL_POISONED_SPEAR_N, false);
|
||||
|
||||
events.RepeatEvent(10000);
|
||||
events.Repeat(10s);
|
||||
break;
|
||||
}
|
||||
case EVENT_SKADI_WHIRLWIND:
|
||||
{
|
||||
me->CastSpell(me, IsHeroic() ? SPELL_WHIRLWIND_H : SPELL_WHIRLWIND_N, false);
|
||||
events.RepeatEvent(15000 + rand() % 5000);
|
||||
events.DelayEvents(10000);
|
||||
events.Repeat(15s, 20s);
|
||||
events.DelayEvents(10s);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -303,8 +303,8 @@ public:
|
||||
{
|
||||
if (param == ACTION_START_EVENT)
|
||||
{
|
||||
events.RescheduleEvent(EVENT_GRAUF_CHECK, 5000);
|
||||
events.RescheduleEvent(EVENT_GRAUF_START, 2000);
|
||||
events.RescheduleEvent(EVENT_GRAUF_CHECK, 5s);
|
||||
events.RescheduleEvent(EVENT_GRAUF_START, 2s);
|
||||
}
|
||||
else if (param == ACTION_REMOVE_SKADI)
|
||||
{
|
||||
@@ -312,7 +312,7 @@ public:
|
||||
if (Creature* skadi = passenger->ToCreature())
|
||||
skadi->AI()->Talk(SAY_DRAKE_DEATH);
|
||||
me->GetMotionMaster()->MovePoint(10, 480.0f, -513.0f, 108.0f);
|
||||
events.ScheduleEvent(EVENT_GRAUF_REMOVE_SKADI, 2000);
|
||||
events.ScheduleEvent(EVENT_GRAUF_REMOVE_SKADI, 2s);
|
||||
}
|
||||
else if (param == ACTION_MYGIRL_ACHIEVEMENT)
|
||||
{
|
||||
@@ -445,7 +445,7 @@ public:
|
||||
case EVENT_GRAUF_CHECK:
|
||||
{
|
||||
CheckPlayers();
|
||||
events.RepeatEvent(2000);
|
||||
events.Repeat(2s);
|
||||
break;
|
||||
}
|
||||
case EVENT_GRAUF_START:
|
||||
@@ -455,8 +455,8 @@ public:
|
||||
|
||||
SpawnHelpers(0);
|
||||
SpawnHelpers(0);
|
||||
events.ScheduleEvent(EVENT_GRAUF_MOVE, 15000);
|
||||
events.ScheduleEvent(EVENT_GRAUF_SUMMON_HELPERS, 20000);
|
||||
events.ScheduleEvent(EVENT_GRAUF_MOVE, 15s);
|
||||
events.ScheduleEvent(EVENT_GRAUF_SUMMON_HELPERS, 20s);
|
||||
break;
|
||||
}
|
||||
case EVENT_GRAUF_MOVE:
|
||||
@@ -475,13 +475,13 @@ public:
|
||||
m_pInstance->SetData(SKADI_IN_RANGE, 0);
|
||||
|
||||
currentPos = targetPoint;
|
||||
events.RepeatEvent(25000);
|
||||
events.Repeat(25s);
|
||||
break;
|
||||
}
|
||||
case EVENT_GRAUF_SUMMON_HELPERS:
|
||||
{
|
||||
SpawnHelpers(1);
|
||||
events.RepeatEvent(15000);
|
||||
events.Repeat(15s);
|
||||
break;
|
||||
}
|
||||
case EVENT_GRAUF_REMOVE_SKADI:
|
||||
|
||||
@@ -180,9 +180,9 @@ public:
|
||||
me->SetInCombatWithZone();
|
||||
Talk(SAY_AGGRO);
|
||||
|
||||
events.ScheduleEvent(EVENT_SORROWGRAVE_SS, 3000);
|
||||
events.ScheduleEvent(EVENT_SORROWGRAVE_FLAMES, 11000);
|
||||
events.ScheduleEvent(EVENT_SORROWGRAVE_RITUAL, 25000);
|
||||
events.ScheduleEvent(EVENT_SORROWGRAVE_SS, 3s);
|
||||
events.ScheduleEvent(EVENT_SORROWGRAVE_FLAMES, 11s);
|
||||
events.ScheduleEvent(EVENT_SORROWGRAVE_RITUAL, 25s);
|
||||
|
||||
if (instance)
|
||||
instance->SetData(DATA_SVALA_SORROWGRAVE, IN_PROGRESS);
|
||||
@@ -215,25 +215,25 @@ public:
|
||||
{
|
||||
case EVENT_SVALA_START:
|
||||
Talk(TALK_INTRO_S1);
|
||||
events2.ScheduleEvent(EVENT_SVALA_TALK1, 8000);
|
||||
events2.ScheduleEvent(EVENT_SVALA_TALK1, 8s);
|
||||
break;
|
||||
case EVENT_SVALA_TALK1:
|
||||
if (Creature* Arthas = ObjectAccessor::GetCreature(*me, ArthasGUID))
|
||||
Arthas->AI()->Talk(TALK_INTRO_A1);
|
||||
events2.ScheduleEvent(EVENT_SVALA_TALK2, 9000);
|
||||
events2.ScheduleEvent(EVENT_SVALA_TALK2, 9s);
|
||||
break;
|
||||
case EVENT_SVALA_TALK2:
|
||||
if (Creature* Arthas = ObjectAccessor::GetCreature(*me, ArthasGUID))
|
||||
Arthas->CastSpell(me, SPELL_ARTHAS_TRANSFORMING_SVALA, false);
|
||||
me->CastSpell(me, SPELL_SVALA_TRANSFORMING2, true);
|
||||
events2.ScheduleEvent(EVENT_SVALA_TALK3, 3000);
|
||||
events2.ScheduleEvent(EVENT_SVALA_TALK3, 3s);
|
||||
break;
|
||||
case EVENT_SVALA_TALK3:
|
||||
me->SetFloatValue(UNIT_FIELD_HOVERHEIGHT, 6.0f);
|
||||
me->SetHover(true);
|
||||
me->AddUnitState(UNIT_STATE_NO_ENVIRONMENT_UPD);
|
||||
events2.ScheduleEvent(30, 1000);
|
||||
events2.ScheduleEvent(EVENT_SVALA_TALK4, 9000);
|
||||
events2.ScheduleEvent(30, 1s);
|
||||
events2.ScheduleEvent(EVENT_SVALA_TALK4, 9s);
|
||||
break;
|
||||
case 30:
|
||||
{
|
||||
@@ -253,7 +253,7 @@ public:
|
||||
Arthas->InterruptNonMeleeSpells(false);
|
||||
me->RemoveAllAuras();
|
||||
me->SetWalk(false);
|
||||
events2.ScheduleEvent(EVENT_SVALA_TALK5, 2000);
|
||||
events2.ScheduleEvent(EVENT_SVALA_TALK5, 2s);
|
||||
|
||||
std::list<Creature*> creatureList;
|
||||
me->GetCreaturesWithEntryInRange(creatureList, 100.0f, NPC_DRAGONFLAYER_SPECTATOR);
|
||||
@@ -264,23 +264,23 @@ public:
|
||||
}
|
||||
case EVENT_SVALA_TALK5:
|
||||
Talk(TALK_INTRO_S2);
|
||||
events2.ScheduleEvent(EVENT_SVALA_TALK6, 12000);
|
||||
events2.ScheduleEvent(EVENT_SVALA_TALK6, 12s);
|
||||
break;
|
||||
case EVENT_SVALA_TALK6:
|
||||
if (Creature* Arthas = ObjectAccessor::GetCreature(*me, ArthasGUID))
|
||||
Arthas->AI()->Talk(TALK_INTRO_A2);
|
||||
events2.ScheduleEvent(EVENT_SVALA_TALK7, 9000);
|
||||
events2.ScheduleEvent(EVENT_SVALA_TALK7, 9s);
|
||||
break;
|
||||
case EVENT_SVALA_TALK7:
|
||||
me->SetFacingTo(M_PI / 2.0f);
|
||||
Talk(TALK_INTRO_S3);
|
||||
if (GameObject* mirror = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(GO_SVALA_MIRROR)))
|
||||
mirror->SetGoState(GO_STATE_ACTIVE);
|
||||
events2.ScheduleEvent(EVENT_SVALA_TALK8, 13000);
|
||||
events2.ScheduleEvent(EVENT_SVALA_TALK8, 13s);
|
||||
break;
|
||||
case EVENT_SVALA_TALK8:
|
||||
me->GetMotionMaster()->MoveFall(0, true);
|
||||
events2.ScheduleEvent(EVENT_SVALA_TALK9, 2000);
|
||||
events2.ScheduleEvent(EVENT_SVALA_TALK9, 2s);
|
||||
break;
|
||||
case EVENT_SVALA_TALK9:
|
||||
me->SetFloatValue(UNIT_FIELD_HOVERHEIGHT, 3.0f);
|
||||
@@ -303,14 +303,14 @@ public:
|
||||
{
|
||||
case EVENT_SORROWGRAVE_SS:
|
||||
me->CastSpell(me->GetVictim(), IsHeroic() ? SPELL_SINSTER_STRIKE_H : SPELL_SINSTER_STRIKE_N, false);
|
||||
events.ScheduleEvent(EVENT_SORROWGRAVE_SS, urand(3000, 5000));
|
||||
events.ScheduleEvent(EVENT_SORROWGRAVE_SS, 3s, 5s);
|
||||
break;
|
||||
case EVENT_SORROWGRAVE_FLAMES:
|
||||
summons.DespawnAll();
|
||||
me->CastSpell(me, SPELL_CALL_FLAMES, false);
|
||||
events.ScheduleEvent(EVENT_SORROWGRAVE_FLAMES2, 500);
|
||||
events.ScheduleEvent(EVENT_SORROWGRAVE_FLAMES2, 1000);
|
||||
events.ScheduleEvent(EVENT_SORROWGRAVE_FLAMES, urand(8000, 12000));
|
||||
events.ScheduleEvent(EVENT_SORROWGRAVE_FLAMES2, 500ms);
|
||||
events.ScheduleEvent(EVENT_SORROWGRAVE_FLAMES2, 1s);
|
||||
events.ScheduleEvent(EVENT_SORROWGRAVE_FLAMES, 8s, 12s);
|
||||
break;
|
||||
case EVENT_SORROWGRAVE_FLAMES2:
|
||||
{
|
||||
@@ -342,8 +342,8 @@ public:
|
||||
}
|
||||
|
||||
events.DelayEvents(25001); // +1 just to be sure
|
||||
events.ScheduleEvent(EVENT_SORROWGRAVE_RITUAL_SPELLS, 0);
|
||||
events.ScheduleEvent(EVENT_SORROWGRAVE_FINISH_RITUAL, 25000);
|
||||
events.ScheduleEvent(EVENT_SORROWGRAVE_RITUAL_SPELLS, 0ms);
|
||||
events.ScheduleEvent(EVENT_SORROWGRAVE_FINISH_RITUAL, 25s);
|
||||
return;
|
||||
case EVENT_SORROWGRAVE_RITUAL_SPELLS:
|
||||
//me->CastSpell(me, SPELL_RITUAL_OF_THE_SWORD, false);
|
||||
|
||||
@@ -175,10 +175,10 @@ public:
|
||||
me->RemoveUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
|
||||
}
|
||||
|
||||
events.RescheduleEvent(EVENT_YMIRON_BANE, 18000);
|
||||
events.RescheduleEvent(EVENT_YMIRON_FETID_ROT, 8000);
|
||||
events.RescheduleEvent(EVENT_YMIRON_DARK_SLASH, 28000);
|
||||
events.RescheduleEvent(EVENT_YMIRON_HEALTH_CHECK, 1000);
|
||||
events.RescheduleEvent(EVENT_YMIRON_BANE, 18s);
|
||||
events.RescheduleEvent(EVENT_YMIRON_FETID_ROT, 8s);
|
||||
events.RescheduleEvent(EVENT_YMIRON_DARK_SLASH, 28s);
|
||||
events.RescheduleEvent(EVENT_YMIRON_HEALTH_CHECK, 1s);
|
||||
}
|
||||
|
||||
void MovementInform(uint32 uiType, uint32 point) override
|
||||
@@ -192,7 +192,7 @@ public:
|
||||
if (Creature* cr = me->FindNearestCreature(BoatStructure[BoatOrder[BoatNum - 1]].trigger, 50.0f))
|
||||
me->CastSpell(cr, SPELL_CHANNEL_YMIRON_TO_SPIRIT, true);
|
||||
|
||||
events.ScheduleEvent(EVENT_YMIRON_ACTIVATE_BOAT, 6000);
|
||||
events.ScheduleEvent(EVENT_YMIRON_ACTIVATE_BOAT, 6s);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -237,26 +237,26 @@ public:
|
||||
BoatNum++;
|
||||
}
|
||||
|
||||
events.RepeatEvent(1000);
|
||||
events.Repeat(1s);
|
||||
break;
|
||||
}
|
||||
case EVENT_YMIRON_BANE:
|
||||
{
|
||||
me->CastSpell(me, IsHeroic() ? SPELL_BANE_H : SPELL_BANE_N, false);
|
||||
events.RepeatEvent(20000 + rand() % 5000);
|
||||
events.Repeat(20s, 25s);
|
||||
break;
|
||||
}
|
||||
case EVENT_YMIRON_FETID_ROT:
|
||||
{
|
||||
me->CastSpell(me->GetVictim(), IsHeroic() ? SPELL_FETID_ROT_H : SPELL_FETID_ROT_N, false);
|
||||
events.RepeatEvent(10000 + rand() % 3000);
|
||||
events.Repeat(10s, 13s);
|
||||
break;
|
||||
}
|
||||
case EVENT_YMIRON_DARK_SLASH:
|
||||
{
|
||||
int32 dmg = me->GetVictim()->GetHealth() / 2;
|
||||
me->CastCustomSpell(me->GetVictim(), SPELL_DARK_SLASH, &dmg, 0, 0, false);
|
||||
events.RepeatEvent(30000 + rand() % 5000);
|
||||
events.Repeat(30s, 35s);
|
||||
break;
|
||||
}
|
||||
case EVENT_YMIRON_ACTIVATE_BOAT:
|
||||
@@ -274,16 +274,16 @@ public:
|
||||
switch(BoatOrder[BoatNum - 1])
|
||||
{
|
||||
case 0:
|
||||
events.ScheduleEvent(EVENT_YMIRON_RANULF_ABILITY, 3000, 1);
|
||||
events.ScheduleEvent(EVENT_YMIRON_RANULF_ABILITY, 3s, 1);
|
||||
break;
|
||||
case 1:
|
||||
events.ScheduleEvent(EVENT_YMIRON_TORGYN_ABILITY, 3000, 1);
|
||||
events.ScheduleEvent(EVENT_YMIRON_TORGYN_ABILITY, 3s, 1);
|
||||
break;
|
||||
case 2:
|
||||
events.ScheduleEvent(EVENT_YMIRON_BJORN_ABILITY, 3000, 1);
|
||||
events.ScheduleEvent(EVENT_YMIRON_BJORN_ABILITY, 3s, 1);
|
||||
break;
|
||||
case 3:
|
||||
events.ScheduleEvent(EVENT_YMIRON_HALDOR_ABILITY, 3000, 1);
|
||||
events.ScheduleEvent(EVENT_YMIRON_HALDOR_ABILITY, 3s, 1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -305,13 +305,13 @@ public:
|
||||
case EVENT_YMIRON_HALDOR_ABILITY:
|
||||
{
|
||||
me->CastSpell(me->GetVictim(), IsHeroic() ? SPELL_SPIRIT_STRIKE_H : SPELL_SPIRIT_STRIKE_N, false);
|
||||
events.RepeatEvent(5000);
|
||||
events.Repeat(5s);
|
||||
break;
|
||||
}
|
||||
case EVENT_YMIRON_RANULF_ABILITY:
|
||||
{
|
||||
me->CastSpell(me, IsHeroic() ? SPELL_SPIRIT_BURST_H : SPELL_SPIRIT_BURST_N, false);
|
||||
events.RepeatEvent(10000);
|
||||
events.Repeat(10s);
|
||||
break;
|
||||
}
|
||||
case EVENT_YMIRON_TORGYN_ABILITY:
|
||||
@@ -324,7 +324,7 @@ public:
|
||||
as->SetInCombatWithZone();
|
||||
}
|
||||
}
|
||||
events.RepeatEvent(15000);
|
||||
events.Repeat(15s);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user