refactor(Core/EventMap): Refactor EventMap and related scripts (#23121)
Co-authored-by: Kelno <3866946+kelno@users.noreply.github.com> Co-authored-by: Peter Keresztes Schmidt <carbenium@outlook.com>
This commit is contained in:
@@ -114,7 +114,7 @@ class boss_anub_arak : public CreatureScript
|
||||
|
||||
void KilledUnit(Unit* /*victim*/) override
|
||||
{
|
||||
if (events.GetNextEventTime(EVENT_KILL_TALK) == 0)
|
||||
if (!events.HasTimeUntilEvent(EVENT_KILL_TALK))
|
||||
{
|
||||
Talk(SAY_SLAY);
|
||||
events.ScheduleEvent(EVENT_KILL_TALK, 6s);
|
||||
|
||||
@@ -111,7 +111,7 @@ public:
|
||||
uint32 GetData(uint32 data) const override
|
||||
{
|
||||
if (data == me->GetEntry())
|
||||
return !me->isActiveObject() || events.GetNextEventTime(EVENT_HADRONOX_MOVE4) != 0;
|
||||
return !me->isActiveObject() || events.HasTimeUntilEvent(EVENT_HADRONOX_MOVE4) ? 1 : 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -583,7 +583,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
events.RepeatEvent((below11PctReached ? urand(1400, 2000) : urand(5000, 20000)));
|
||||
events.Repeat((below11PctReached ? randtime(1400ms, 2s) : randtime(5s, 20s)));
|
||||
break;
|
||||
}
|
||||
case EVENT_SARTHARION_BERSERK:
|
||||
@@ -1086,7 +1086,7 @@ public:
|
||||
Talk(SAY_TENEBRON_BREATH);
|
||||
}
|
||||
DoCastVictim(SPELL_SHADOW_BREATH, false);
|
||||
events.RepeatEvent(17500);
|
||||
events.Repeat(17500ms);
|
||||
break;
|
||||
}
|
||||
case EVENT_MINIBOSS_SHADOW_FISSURE:
|
||||
@@ -1095,7 +1095,7 @@ public:
|
||||
{
|
||||
DoCast(target, SPELL_SHADOW_FISSURE, false);
|
||||
}
|
||||
events.RepeatEvent(22500);
|
||||
events.Repeat(22500ms);
|
||||
break;
|
||||
}
|
||||
case EVENT_MINIBOSS_OPEN_PORTAL:
|
||||
@@ -1270,7 +1270,7 @@ public:
|
||||
}
|
||||
|
||||
DoCastVictim(SPELL_SHADOW_BREATH, false);
|
||||
events.RepeatEvent(17500);
|
||||
events.Repeat(17500ms);
|
||||
break;
|
||||
}
|
||||
case EVENT_MINIBOSS_SHADOW_FISSURE:
|
||||
@@ -1279,7 +1279,7 @@ public:
|
||||
{
|
||||
DoCast(target, SPELL_SHADOW_FISSURE, false);
|
||||
}
|
||||
events.RepeatEvent(22500);
|
||||
events.Repeat(22500ms);
|
||||
break;
|
||||
}
|
||||
case EVENT_MINIBOSS_OPEN_PORTAL:
|
||||
|
||||
+1
-1
@@ -191,7 +191,7 @@ public:
|
||||
|
||||
void KilledUnit(Unit* /*victim*/) override
|
||||
{
|
||||
if (events.GetNextEventTime(EVENT_KILL_TALK) == 0)
|
||||
if (!events.HasTimeUntilEvent(EVENT_KILL_TALK))
|
||||
{
|
||||
Talk(SAY_KILL);
|
||||
events.ScheduleEvent(EVENT_KILL_TALK, 6s);
|
||||
|
||||
+1
-1
@@ -136,7 +136,7 @@ public:
|
||||
|
||||
void KilledUnit(Unit* /*victim*/) override
|
||||
{
|
||||
if (events.GetNextEventTime(EVENT_KILL_TALK) == 0)
|
||||
if (!events.HasTimeUntilEvent(EVENT_KILL_TALK))
|
||||
{
|
||||
Talk(SAY_KILL);
|
||||
events.ScheduleEvent(EVENT_KILL_TALK, 6s);
|
||||
|
||||
@@ -310,7 +310,7 @@ public:
|
||||
|
||||
void KilledUnit(Unit* victim) override
|
||||
{
|
||||
if (victim->IsPlayer() && events.GetNextEventTime(EVENT_KILL_TALK) == 0)
|
||||
if (victim->IsPlayer() && !events.HasTimeUntilEvent(EVENT_KILL_TALK))
|
||||
{
|
||||
Talk(SAY_KILL);
|
||||
events.ScheduleEvent(EVENT_KILL_TALK, 6s);
|
||||
@@ -335,7 +335,7 @@ public:
|
||||
|
||||
void DamageTaken(Unit* attacker, uint32& damage, DamageEffectType, SpellSchoolMask) override
|
||||
{
|
||||
if (events.GetNextEventTime(EVENT_CHECK_HEALTH) != 0)
|
||||
if (events.HasTimeUntilEvent(EVENT_CHECK_HEALTH))
|
||||
return;
|
||||
|
||||
if (!attacker || !me->InSamePhase(attacker))
|
||||
@@ -477,7 +477,7 @@ public:
|
||||
|
||||
void KilledUnit(Unit* victim) override
|
||||
{
|
||||
if (victim->IsPlayer() && _events.GetNextEventTime(EVENT_KILL_TALK) == 0)
|
||||
if (victim->IsPlayer() && !_events.HasTimeUntilEvent(EVENT_KILL_TALK))
|
||||
{
|
||||
Talk(SAY_KILL);
|
||||
_events.ScheduleEvent(EVENT_KILL_TALK, 6s);
|
||||
@@ -598,7 +598,7 @@ public:
|
||||
|
||||
void SetData(uint32 id, uint32 value) override
|
||||
{
|
||||
if (_events.GetNextEventTime(EVENT_CHECK_CORPOREALITY) == 0)
|
||||
if (!events.HasTimeUntilEvent(EVENT_CHECK_CORPOREALITY))
|
||||
return;
|
||||
|
||||
if (id == DATA_MATERIAL_DAMAGE_TAKEN)
|
||||
|
||||
@@ -121,7 +121,7 @@ public:
|
||||
|
||||
void KilledUnit(Unit* /*victim*/) override
|
||||
{
|
||||
if (events.GetNextEventTime(EVENT_KILL_TALK) == 0)
|
||||
if (!events.HasTimeUntilEvent(EVENT_KILL_TALK))
|
||||
{
|
||||
Talk(SAY_KILL);
|
||||
events.ScheduleEvent(EVENT_KILL_TALK, 6s);
|
||||
|
||||
+2
-2
@@ -125,8 +125,8 @@ public:
|
||||
void JustEngagedWith(Unit* /*who*/) override
|
||||
{
|
||||
events.Reset();
|
||||
events.ScheduleEvent(EVENT_SPELL_RADIANCE, 16000);
|
||||
events.ScheduleEvent(EVENT_SPELL_HAMMER_RIGHTEOUS, 25000);
|
||||
events.ScheduleEvent(EVENT_SPELL_RADIANCE, 16s);
|
||||
events.ScheduleEvent(EVENT_SPELL_HAMMER_RIGHTEOUS, 25s);
|
||||
Talk(SAY_EADRIC_AGGRO);
|
||||
me->CastSpell(me, SPELL_VENGEANCE, false);
|
||||
if (pInstance)
|
||||
|
||||
+2
-2
@@ -182,7 +182,7 @@ public:
|
||||
events.Reset();
|
||||
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_ICY_TOUCH, 3500ms, 7s);
|
||||
events.ScheduleEvent(EVENT_SPELL_DEATH_RESPITE, 13s, 15s);
|
||||
events.ScheduleEvent(EVENT_SPELL_OBLITERATE, 11s, 19s);
|
||||
}
|
||||
@@ -214,7 +214,7 @@ public:
|
||||
|
||||
events.Reset();
|
||||
events.ScheduleEvent(EVENT_SPELL_PLAGUE_STRIKE, 7s, 9s);
|
||||
events.ScheduleEvent(EVENT_SPELL_ICY_TOUCH, 3500ms, 7000ms);
|
||||
events.ScheduleEvent(EVENT_SPELL_ICY_TOUCH, 3500ms, 7s);
|
||||
events.ScheduleEvent(EVENT_SPELL_OBLITERATE, 11s, 19s);
|
||||
events.ScheduleEvent(EVENT_SPELL_DESECRATION, 2s, 3s);
|
||||
break;
|
||||
|
||||
+5
-5
@@ -255,7 +255,7 @@ public:
|
||||
void JustEngagedWith(Unit* /*who*/) override
|
||||
{
|
||||
events.Reset();
|
||||
events.ScheduleEvent(EVENT_MOUNT_CHARGE, 2500ms, 4000ms);
|
||||
events.ScheduleEvent(EVENT_MOUNT_CHARGE, 2500ms, 4s);
|
||||
events.ScheduleEvent(EVENT_SHIELD_BREAKER, 5s, 8s);
|
||||
events.ScheduleEvent(EVENT_THRUST, 3s, 5s);
|
||||
me->CastSpell(me, SPELL_TRAMPLE_AURA, true);
|
||||
@@ -311,7 +311,7 @@ public:
|
||||
me->CastSpell(target, SPELL_MINIONS_CHARGE, false);
|
||||
}
|
||||
}
|
||||
events.Repeat(4500ms, 6000ms);
|
||||
events.Repeat(4500ms, 6s);
|
||||
}
|
||||
break;
|
||||
case EVENT_SHIELD_BREAKER:
|
||||
@@ -372,7 +372,7 @@ public:
|
||||
me->CastSpell(me, SPELL_BOSS_DEFEND_PERIODIC, true);
|
||||
|
||||
events.Reset();
|
||||
events.ScheduleEvent(EVENT_MOUNT_CHARGE, 2500ms, 4000ms);
|
||||
events.ScheduleEvent(EVENT_MOUNT_CHARGE, 2500ms, 4s);
|
||||
events.ScheduleEvent(EVENT_SHIELD_BREAKER, 5s, 8s);
|
||||
events.ScheduleEvent(EVENT_THRUST, 3s, 5s);
|
||||
|
||||
@@ -640,7 +640,7 @@ public:
|
||||
me->CastSpell(me, SPELL_BOSS_DEFEND_PERIODIC, true);
|
||||
me->SetRegeneratingHealth(true);
|
||||
events.Reset();
|
||||
events.ScheduleEvent(EVENT_MOUNT_CHARGE, 2500ms, 4000ms);
|
||||
events.ScheduleEvent(EVENT_MOUNT_CHARGE, 2500ms, 4s);
|
||||
events.ScheduleEvent(EVENT_SHIELD_BREAKER, 5s, 8s);
|
||||
events.ScheduleEvent(EVENT_THRUST, 3s, 5s);
|
||||
me->SetReactState(REACT_AGGRESSIVE);
|
||||
@@ -766,7 +766,7 @@ public:
|
||||
me->CastSpell(target, SPELL_MINIONS_CHARGE, false);
|
||||
}
|
||||
}
|
||||
events.Repeat(4500ms, 6000ms);
|
||||
events.Repeat(4500ms, 6s);
|
||||
}
|
||||
break;
|
||||
case EVENT_SHIELD_BREAKER:
|
||||
|
||||
+5
-6
@@ -23,7 +23,6 @@
|
||||
#include "trial_of_the_champion.h"
|
||||
|
||||
const Position SpawnPosition = {746.67f, 684.08f, 412.5f, 4.65f};
|
||||
#define CLEANUP_CHECK_INTERVAL 5000
|
||||
|
||||
/**
|
||||
* @todo: Missing dialog/RP (already populated in DB) && spawns (can use ToC25 locations?) for:
|
||||
@@ -88,7 +87,7 @@ public:
|
||||
VehicleList.clear();
|
||||
CLEANED = false;
|
||||
events.Reset();
|
||||
events.RescheduleEvent(EVENT_CHECK_PLAYERS, 0);
|
||||
events.RescheduleEvent(EVENT_CHECK_PLAYERS, 0ms);
|
||||
Counter = 0;
|
||||
temp1 = 0;
|
||||
temp2 = 0;
|
||||
@@ -268,7 +267,7 @@ public:
|
||||
if (DoNeedCleanup(player))
|
||||
InstanceCleanup();
|
||||
|
||||
events.RescheduleEvent(EVENT_CHECK_PLAYERS, CLEANUP_CHECK_INTERVAL);
|
||||
events.RescheduleEvent(EVENT_CHECK_PLAYERS, 5s);
|
||||
}
|
||||
|
||||
bool DoNeedCleanup(Player* ignoredPlayer = nullptr)
|
||||
@@ -443,7 +442,7 @@ public:
|
||||
Counter = 0;
|
||||
SaveToDB();
|
||||
events.Reset();
|
||||
events.RescheduleEvent(EVENT_CHECK_PLAYERS, CLEANUP_CHECK_INTERVAL);
|
||||
events.RescheduleEvent(EVENT_CHECK_PLAYERS, 5s);
|
||||
|
||||
CLEANED = true;
|
||||
}
|
||||
@@ -785,7 +784,7 @@ public:
|
||||
{
|
||||
InstanceCleanup();
|
||||
}
|
||||
events.RepeatEvent(CLEANUP_CHECK_INTERVAL);
|
||||
events.Repeat(5s);
|
||||
}
|
||||
break;
|
||||
case EVENT_SUMMON_GRAND_CHAMPION_1:
|
||||
@@ -812,7 +811,7 @@ public:
|
||||
while( number == temp1 || number == temp2 );
|
||||
DoSummonGrandChampion(number, 2);
|
||||
HandleGameObject(GO_MainGateGUID, true);
|
||||
events.ScheduleEvent(EVENT_CLOSE_GATE, 6000);
|
||||
events.ScheduleEvent(EVENT_CLOSE_GATE, 6s);
|
||||
}
|
||||
break;
|
||||
case EVENT_CLOSE_GATE:
|
||||
|
||||
+1
-1
@@ -655,7 +655,7 @@ public:
|
||||
me->NearTeleportTo(target->GetPositionX() + cos(o) * 5.0f, target->GetPositionY() + std::sin(o) * 5.0f, target->GetPositionZ() + 0.6f, target->GetOrientation());
|
||||
AttackStart(target);
|
||||
me->GetMotionMaster()->MoveChase(target);
|
||||
events.DelayEvents(3000);
|
||||
events.DelayEvents(3s);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+109
-109
@@ -119,7 +119,7 @@ struct boss_faction_championsAI : public ScriptedAI
|
||||
}
|
||||
|
||||
/// @todo - Convert to std::chrono
|
||||
void EventMapGCD(EventMap& e, uint32 delay, uint32 gcd = 0)
|
||||
void EventMapGCD(EventMap& e, Milliseconds delay, uint32 gcd = 0)
|
||||
{
|
||||
e.DelayEventsToMax(delay, gcd);
|
||||
}
|
||||
@@ -316,43 +316,43 @@ public:
|
||||
if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_LIFEBLOOM, 40.0f))
|
||||
me->CastSpell(target, SPELL_LIFEBLOOM, false);
|
||||
events.Repeat(10s, 15s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
case EVENT_SPELL_NOURISH:
|
||||
if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_NOURISH, 40.0f))
|
||||
me->CastSpell(target, SPELL_NOURISH, false);
|
||||
events.Repeat(10s, 15s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
case EVENT_SPELL_REGROWTH:
|
||||
if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_REGROWTH, 40.0f))
|
||||
me->CastSpell(target, SPELL_REGROWTH, false);
|
||||
events.Repeat(10s, 15s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
case EVENT_SPELL_REJUVENATION:
|
||||
if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_REJUVENATION, 40.0f))
|
||||
me->CastSpell(target, SPELL_REJUVENATION, false);
|
||||
events.Repeat(10s, 15s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
case EVENT_SPELL_THORNS:
|
||||
if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_THORNS, 30.0f))
|
||||
me->CastSpell(target, SPELL_THORNS, false);
|
||||
events.Repeat(10s, 15s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
case EVENT_SPELL_TRANQUILITY:
|
||||
me->CastSpell(me, SPELL_TRANQUILITY, false);
|
||||
events.Repeat(2min, 3min);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
case EVENT_SPELL_BARKSKIN:
|
||||
if (HealthBelowPct(50))
|
||||
{
|
||||
me->CastSpell(me, SPELL_BARKSKIN, false);
|
||||
events.Repeat(1min);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
}
|
||||
else
|
||||
events.Repeat(6s);
|
||||
@@ -360,7 +360,7 @@ public:
|
||||
case EVENT_SPELL_NATURE_GRASP:
|
||||
me->CastSpell(me, SPELL_NATURE_GRASP, false);
|
||||
events.Repeat(1min);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -445,19 +445,19 @@ public:
|
||||
if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_HEALING_WAVE, 40.0f))
|
||||
me->CastSpell(target, SPELL_HEALING_WAVE, false);
|
||||
events.Repeat(10s, 15s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
case EVENT_SPELL_RIPTIDE:
|
||||
if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_RIPTIDE, 40.0f))
|
||||
me->CastSpell(target, SPELL_RIPTIDE, false);
|
||||
events.Repeat(10s, 15s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
case EVENT_SPELL_SPIRIT_CLEANSE:
|
||||
if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_SPIRIT_CLEANSE, 40.0f))
|
||||
me->CastSpell(target, SPELL_SPIRIT_CLEANSE, false);
|
||||
events.Repeat(10s, 15s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
case EVENT_SPELL_HEROISM_OR_BLOODLUST:
|
||||
if (me->GetEntry() == NPC_ALLIANCE_SHAMAN_RESTORATION )
|
||||
@@ -465,25 +465,25 @@ public:
|
||||
else
|
||||
me->CastSpell((Unit*)nullptr, SPELL_BLOODLUST, true);
|
||||
events.Repeat(10min);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
case EVENT_SPELL_HEX:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 20.0f, true))
|
||||
me->CastSpell(target, SPELL_HEX, false);
|
||||
events.Repeat(45s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
case EVENT_SPELL_EARTH_SHIELD:
|
||||
if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_EARTH_SHIELD, 40.0f))
|
||||
me->CastSpell(target, SPELL_EARTH_SHIELD, false);
|
||||
events.Repeat(10s, 15s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
case EVENT_SPELL_EARTH_SHOCK:
|
||||
if (me->GetVictim())
|
||||
me->CastSpell(me->GetVictim(), SPELL_EARTH_SHOCK, false);
|
||||
events.Repeat(5s, 10s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -568,14 +568,14 @@ public:
|
||||
if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_HAND_OF_FREEDOM, 30.0f))
|
||||
me->CastSpell(target, SPELL_HAND_OF_FREEDOM, false);
|
||||
events.Repeat(25s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
case EVENT_SPELL_BUBBLE:
|
||||
if (HealthBelowPct(25))
|
||||
{
|
||||
me->CastSpell(me, SPELL_BUBBLE, false);
|
||||
events.Repeat(5min);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
}
|
||||
else
|
||||
events.Repeat(10s);
|
||||
@@ -584,32 +584,32 @@ public:
|
||||
if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_CLEANSE, 40.0f))
|
||||
me->CastSpell(target, SPELL_CLEANSE, false);
|
||||
events.Repeat(10s, 15s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
case EVENT_SPELL_FLASH_OF_LIGHT:
|
||||
if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_FLASH_OF_LIGHT, 40.0f))
|
||||
me->CastSpell(target, SPELL_FLASH_OF_LIGHT, false);
|
||||
events.Repeat(10s, 15s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
case EVENT_SPELL_HOLY_LIGHT:
|
||||
if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_HOLY_LIGHT, 40.0f))
|
||||
me->CastSpell(target, SPELL_HOLY_LIGHT, false);
|
||||
events.Repeat(10s, 15s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
case EVENT_SPELL_HOLY_SHOCK:
|
||||
if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_HOLY_SHOCK, 40.0f))
|
||||
me->CastSpell(target, SPELL_HOLY_SHOCK, false);
|
||||
events.Repeat(10s, 15s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
case EVENT_SPELL_HAND_OF_PROTECTION:
|
||||
if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_HAND_OF_PROTECTION, 40.0f))
|
||||
{
|
||||
me->CastSpell(target, SPELL_HAND_OF_PROTECTION, false);
|
||||
events.Repeat(5min);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
}
|
||||
else
|
||||
events.Repeat(10s);
|
||||
@@ -619,7 +619,7 @@ public:
|
||||
{
|
||||
me->CastSpell(target, SPELL_HAMMER_OF_JUSTICE, false);
|
||||
events.Repeat(40s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
}
|
||||
else
|
||||
events.Repeat(10s);
|
||||
@@ -701,32 +701,32 @@ public:
|
||||
if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_RENEW, 40.0f))
|
||||
me->CastSpell(target, SPELL_RENEW, false);
|
||||
events.Repeat(10s, 15s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
case EVENT_SPELL_SHIELD:
|
||||
if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_SHIELD, 40.0f))
|
||||
me->CastSpell(target, SPELL_SHIELD, false);
|
||||
events.Repeat(10s, 15s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
case EVENT_SPELL_FLASH_HEAL:
|
||||
if (Creature* target = SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_FLASH_HEAL, 40.0f))
|
||||
me->CastSpell(target, SPELL_FLASH_HEAL, false);
|
||||
events.Repeat(10s, 15s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
case EVENT_SPELL_DISPEL:
|
||||
if (Unit* target = (urand(0, 1) ? SelectTarget(SelectTargetMethod::MaxThreat, 0, 30.0f, true) : SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_DISPEL, 40.0f)))
|
||||
me->CastSpell(target, SPELL_DISPEL, false);
|
||||
events.Repeat(10s, 15s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
case EVENT_SPELL_MANA_BURN:
|
||||
if (Unit* target = SelectEnemyCaster(false, 30.0f))
|
||||
{
|
||||
me->CastSpell(target, SPELL_MANA_BURN, false);
|
||||
events.Repeat(10s, 15s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
}
|
||||
else
|
||||
events.Repeat(6s);
|
||||
@@ -736,7 +736,7 @@ public:
|
||||
{
|
||||
me->CastSpell((Unit*)nullptr, SPELL_PSYCHIC_SCREAM, false);
|
||||
events.Repeat(30s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
}
|
||||
else
|
||||
events.Repeat(6s);
|
||||
@@ -825,7 +825,7 @@ public:
|
||||
{
|
||||
me->CastSpell(target, SPELL_SILENCE, false);
|
||||
events.Repeat(45s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
}
|
||||
else
|
||||
@@ -835,32 +835,32 @@ public:
|
||||
if (me->GetVictim())
|
||||
me->CastSpell(me->GetVictim(), SPELL_VAMPIRIC_TOUCH, false);
|
||||
events.Repeat(10s, 15s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
case EVENT_SPELL_SW_PAIN:
|
||||
if (me->GetVictim())
|
||||
me->CastSpell(me->GetVictim(), SPELL_SW_PAIN, false);
|
||||
events.Repeat(10s, 15s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
case EVENT_SPELL_MIND_FLAY:
|
||||
if (me->GetVictim())
|
||||
me->CastSpell(me->GetVictim(), SPELL_MIND_FLAY, false);
|
||||
events.Repeat(10s, 15s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
case EVENT_SPELL_MIND_BLAST:
|
||||
if (me->GetVictim())
|
||||
me->CastSpell(me->GetVictim(), SPELL_MIND_BLAST, false);
|
||||
events.Repeat(10s, 15s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
case EVENT_SPELL_HORROR:
|
||||
if (me->GetVictim() && me->GetExactDist2d(me->GetVictim()) <= 30.0f )
|
||||
{
|
||||
me->CastSpell(me->GetVictim(), SPELL_HORROR, false);
|
||||
events.Repeat(2min);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
}
|
||||
else
|
||||
events.Repeat(10s);
|
||||
@@ -870,7 +870,7 @@ public:
|
||||
{
|
||||
me->CastSpell(me, SPELL_DISPERSION, false);
|
||||
events.Repeat(3min);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
}
|
||||
else
|
||||
events.Repeat(6s);
|
||||
@@ -879,14 +879,14 @@ public:
|
||||
if (Unit* target = (urand(0, 1) ? SelectTarget(SelectTargetMethod::MaxThreat, 0, 30.0f, true) : SelectTarget_MostHPLostFriendlyMissingBuff(SPELL_DISPEL, 40.0f)))
|
||||
me->CastSpell(target, SPELL_DISPEL, false);
|
||||
events.Repeat(10s, 15s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
case EVENT_SPELL_PSYCHIC_SCREAM:
|
||||
if (EnemiesInRange(8.0f) >= 3 )
|
||||
{
|
||||
me->CastSpell((Unit*)nullptr, SPELL_PSYCHIC_SCREAM, false);
|
||||
events.Repeat(30s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
}
|
||||
else
|
||||
events.Repeat(6s);
|
||||
@@ -989,7 +989,7 @@ public:
|
||||
{
|
||||
me->CastSpell((Unit*)nullptr, SPELL_HELLFIRE, false);
|
||||
events.Repeat(30s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
}
|
||||
else
|
||||
events.Repeat(6s);
|
||||
@@ -998,43 +998,43 @@ public:
|
||||
if (me->GetVictim())
|
||||
me->CastSpell(me->GetVictim(), SPELL_CORRUPTION, false);
|
||||
events.Repeat(10s, 20s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
case EVENT_SPELL_CURSE_OF_AGONY:
|
||||
if (me->GetVictim())
|
||||
me->CastSpell(me->GetVictim(), SPELL_CURSE_OF_AGONY, false);
|
||||
events.Repeat(10s, 20s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
case EVENT_SPELL_CURSE_OF_EXHAUSTION:
|
||||
if (me->GetVictim())
|
||||
me->CastSpell(me->GetVictim(), SPELL_CURSE_OF_EXHAUSTION, false);
|
||||
events.Repeat(10s, 20s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
case EVENT_SPELL_FEAR:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 20.0f, true))
|
||||
me->CastSpell(target, SPELL_FEAR, false);
|
||||
events.Repeat(10s, 15s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
case EVENT_SPELL_SEARING_PAIN:
|
||||
if (me->GetVictim())
|
||||
me->CastSpell(me->GetVictim(), SPELL_SEARING_PAIN, false);
|
||||
events.Repeat(5s, 15s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
case EVENT_SPELL_SHADOW_BOLT:
|
||||
if (me->GetVictim())
|
||||
me->CastSpell(me->GetVictim(), SPELL_SHADOW_BOLT, false);
|
||||
events.Repeat(5s, 15s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
case EVENT_SPELL_UNSTABLE_AFFLICTION:
|
||||
if (me->GetVictim())
|
||||
me->CastSpell(me->GetVictim(), SPELL_UNSTABLE_AFFLICTION, false);
|
||||
events.Repeat(5s, 15s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1121,20 +1121,20 @@ public:
|
||||
if (me->GetVictim())
|
||||
me->CastSpell(me->GetVictim(), SPELL_ARCANE_BARRAGE, false);
|
||||
events.Repeat(5s, 15s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
case EVENT_SPELL_ARCANE_BLAST:
|
||||
if (me->GetVictim())
|
||||
me->CastSpell(me->GetVictim(), SPELL_ARCANE_BLAST, false);
|
||||
events.Repeat(5s, 15s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
case EVENT_SPELL_ARCANE_EXPLOSION:
|
||||
if (EnemiesInRange(9.0f) >= 3 )
|
||||
{
|
||||
me->CastSpell((Unit*)nullptr, SPELL_ARCANE_EXPLOSION, false);
|
||||
events.Repeat(6s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
}
|
||||
else
|
||||
events.Repeat(6s);
|
||||
@@ -1144,7 +1144,7 @@ public:
|
||||
{
|
||||
me->CastSpell((Unit*)nullptr, SPELL_FROST_NOVA, false);
|
||||
events.Repeat(15s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
// blink disabled, movement not working
|
||||
}
|
||||
else
|
||||
@@ -1155,7 +1155,7 @@ public:
|
||||
{
|
||||
me->CastSpell(target, SPELL_COUNTERSPELL, false);
|
||||
events.Repeat(24s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
}
|
||||
else
|
||||
events.Repeat(6s);
|
||||
@@ -1164,14 +1164,14 @@ public:
|
||||
if (me->GetVictim())
|
||||
me->CastSpell(me->GetVictim(), SPELL_FROSTBOLT, false);
|
||||
events.Repeat(5s, 15s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
case EVENT_SPELL_ICE_BLOCK:
|
||||
if (HealthBelowPct(25))
|
||||
{
|
||||
me->CastSpell(me, SPELL_ICE_BLOCK, false);
|
||||
events.Repeat(5min);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
}
|
||||
else
|
||||
events.Repeat(6s);
|
||||
@@ -1180,7 +1180,7 @@ public:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 30.0f, true))
|
||||
me->CastSpell(target, SPELL_POLYMORPH, false);
|
||||
events.Repeat(15s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1279,14 +1279,14 @@ public:
|
||||
if (me->GetVictim())
|
||||
me->CastSpell(me->GetVictim(), SPELL_AIMED_SHOT, false);
|
||||
events.Repeat(5s, 15s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
case EVENT_SPELL_DETERRENCE:
|
||||
if (HealthBelowPct(25))
|
||||
{
|
||||
me->CastSpell(me, SPELL_DETERRENCE, false);
|
||||
events.Repeat(90s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
}
|
||||
else
|
||||
events.Repeat(6s);
|
||||
@@ -1296,7 +1296,7 @@ public:
|
||||
{
|
||||
me->CastSpell(me, SPELL_DISENGAGE, false);
|
||||
events.Repeat(20s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
}
|
||||
else
|
||||
events.Repeat(6s);
|
||||
@@ -1305,31 +1305,31 @@ public:
|
||||
if (me->GetVictim())
|
||||
me->CastSpell(me->GetVictim(), SPELL_EXPLOSIVE_SHOT, false);
|
||||
events.Repeat(5s, 15s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
case EVENT_SPELL_FROST_TRAP:
|
||||
me->CastSpell(me, SPELL_FROST_TRAP, false);
|
||||
events.Repeat(30s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
case EVENT_SPELL_STEADY_SHOT:
|
||||
if (me->GetVictim())
|
||||
me->CastSpell(me->GetVictim(), SPELL_STEADY_SHOT, false);
|
||||
events.Repeat(5s, 15s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
case EVENT_SPELL_WING_CLIP:
|
||||
if (me->GetVictim() && me->GetDistance2d(me->GetVictim()) <= 5.0f )
|
||||
me->CastSpell(me->GetVictim(), SPELL_WING_CLIP, false);
|
||||
events.Repeat(8s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
case EVENT_SPELL_WYVERN_STING:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 35.0f, true))
|
||||
{
|
||||
me->CastSpell(target, SPELL_WYVERN_STING, false);
|
||||
events.Repeat(1min);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
}
|
||||
events.Repeat(10s);
|
||||
@@ -1429,7 +1429,7 @@ public:
|
||||
{
|
||||
me->CastSpell(me, SPELL_BARKSKIN, false);
|
||||
events.Repeat(1min);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
}
|
||||
else
|
||||
events.Repeat(6s);
|
||||
@@ -1438,48 +1438,48 @@ public:
|
||||
if (me->GetVictim())
|
||||
me->CastSpell(me->GetVictim(), SPELL_WRATH, false);
|
||||
events.Repeat(5s, 15s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
case EVENT_SPELL_MOONFIRE:
|
||||
if (me->GetVictim())
|
||||
me->CastSpell(me->GetVictim(), SPELL_MOONFIRE, false);
|
||||
events.Repeat(5s, 15s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
case EVENT_SPELL_STARFIRE:
|
||||
if (me->GetVictim())
|
||||
me->CastSpell(me->GetVictim(), SPELL_STARFIRE, false);
|
||||
events.Repeat(5s, 15s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
case EVENT_SPELL_INSECT_SWARM:
|
||||
if (me->GetVictim())
|
||||
me->CastSpell(me->GetVictim(), SPELL_INSECT_SWARM, false);
|
||||
events.Repeat(5s, 15s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
case EVENT_SPELL_ENTANGLING_ROOTS:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 30.0f, true))
|
||||
me->CastSpell(target, SPELL_ENTANGLING_ROOTS, false);
|
||||
events.Repeat(10s, 15s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
case EVENT_SPELL_FAERIE_FIRE:
|
||||
if (me->GetVictim())
|
||||
me->CastSpell(me->GetVictim(), SPELL_FAERIE_FIRE, false);
|
||||
events.Repeat(15s, 20s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
case EVENT_SPELL_CYCLONE:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::MaxDistance, 0, 20.0f, true))
|
||||
me->CastSpell(target, SPELL_CYCLONE, false);
|
||||
events.Repeat(25s, 40s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
case EVENT_SPELL_FORCE_OF_NATURE:
|
||||
me->CastSpell((Unit*)nullptr, SPELL_FORCE_OF_NATURE, false);
|
||||
events.Repeat(3min);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1583,7 +1583,7 @@ public:
|
||||
{
|
||||
me->CastSpell((Unit*)nullptr, SPELL_INTIMIDATING_SHOUT, false);
|
||||
events.Repeat(2min);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
}
|
||||
else
|
||||
events.Repeat(5s);
|
||||
@@ -1597,14 +1597,14 @@ public:
|
||||
if (me->GetVictim())
|
||||
me->CastSpell(me->GetVictim(), SPELL_MORTAL_STRIKE, false);
|
||||
events.Repeat(6s, 8s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
case EVENT_SPELL_CHARGE:
|
||||
if (me->GetVictim() && me->GetDistance2d(me->GetVictim()) > 8.0f && me->GetDistance2d(me->GetVictim()) < 25.0f )
|
||||
{
|
||||
me->CastSpell(me->GetVictim(), SPELL_CHARGE, false);
|
||||
events.Repeat(10s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
}
|
||||
else
|
||||
events.Repeat(5s);
|
||||
@@ -1614,7 +1614,7 @@ public:
|
||||
{
|
||||
me->CastSpell(me->GetVictim(), SPELL_DISARM, false);
|
||||
events.Repeat(1min);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
}
|
||||
else
|
||||
events.Repeat(5s);
|
||||
@@ -1629,7 +1629,7 @@ public:
|
||||
{
|
||||
me->CastSpell(me->GetVictim(), SPELL_OVERPOWER, false);
|
||||
events.Repeat(10s, 15s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
}
|
||||
else
|
||||
events.Repeat(5s);
|
||||
@@ -1644,7 +1644,7 @@ public:
|
||||
{
|
||||
me->CastSpell(me->GetVictim(), SPELL_SUNDER_ARMOR, false);
|
||||
events.Repeat(10s, 15s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
}
|
||||
else
|
||||
events.Repeat(5s);
|
||||
@@ -1659,7 +1659,7 @@ public:
|
||||
{
|
||||
me->CastSpell(me->GetVictim(), SPELL_SHATTERING_THROW, false);
|
||||
events.Repeat(5min);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
}
|
||||
else
|
||||
events.Repeat(6s);
|
||||
@@ -1674,7 +1674,7 @@ public:
|
||||
{
|
||||
me->CastSpell(me, SPELL_RETALIATION, false);
|
||||
events.Repeat(5min);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
}
|
||||
else
|
||||
events.Repeat(5s);
|
||||
@@ -1760,7 +1760,7 @@ public:
|
||||
{
|
||||
me->CastSpell(me->GetVictim(), SPELL_CHAINS_OF_ICE, false);
|
||||
events.Repeat(10s, 15s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
}
|
||||
else
|
||||
events.Repeat(5s);
|
||||
@@ -1770,7 +1770,7 @@ public:
|
||||
{
|
||||
me->CastSpell(me->GetVictim(), SPELL_DEATH_COIL, false);
|
||||
events.Repeat(5s, 8s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
}
|
||||
else
|
||||
events.Repeat(5s);
|
||||
@@ -1785,7 +1785,7 @@ public:
|
||||
pos.Relocate(x, y, z);
|
||||
me->GetVictim()->CastSpell(pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ(), 49575, true);
|
||||
events.Repeat(35s);
|
||||
EventMapGCD(events, 2000);
|
||||
EventMapGCD(events, 2s);
|
||||
}
|
||||
else
|
||||
events.Repeat(5s);
|
||||
@@ -1800,7 +1800,7 @@ public:
|
||||
{
|
||||
me->CastSpell(me->GetVictim(), SPELL_FROST_STRIKE, false);
|
||||
events.Repeat(6s, 10s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
}
|
||||
else
|
||||
events.Repeat(5s);
|
||||
@@ -1810,7 +1810,7 @@ public:
|
||||
{
|
||||
me->CastSpell(me, SPELL_ICEBOUND_FORTITUDE, false);
|
||||
events.Repeat(1min);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
}
|
||||
else
|
||||
events.Repeat(6s);
|
||||
@@ -1820,7 +1820,7 @@ public:
|
||||
{
|
||||
me->CastSpell(me->GetVictim(), SPELL_ICY_TOUCH, false);
|
||||
events.Repeat(10s, 15s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
}
|
||||
else
|
||||
events.Repeat(5s);
|
||||
@@ -1830,7 +1830,7 @@ public:
|
||||
{
|
||||
me->CastSpell(me->GetVictim(), SPELL_STRANGULATE, false);
|
||||
events.Repeat(2min);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
}
|
||||
else
|
||||
events.Repeat(5s);
|
||||
@@ -1922,7 +1922,7 @@ public:
|
||||
{
|
||||
me->CastSpell(me->GetVictim(), SPELL_FAN_OF_KNIVES, false);
|
||||
events.Repeat(6s, 10s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
}
|
||||
else
|
||||
events.Repeat(5s);
|
||||
@@ -1932,7 +1932,7 @@ public:
|
||||
{
|
||||
me->CastSpell(target, SPELL_BLIND, false);
|
||||
events.Repeat(2min);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
}
|
||||
else
|
||||
events.Repeat(5s);
|
||||
@@ -1942,7 +1942,7 @@ public:
|
||||
{
|
||||
me->CastSpell(me, SPELL_CLOAK, false);
|
||||
events.Repeat(90s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
}
|
||||
else
|
||||
events.Repeat(6s);
|
||||
@@ -1954,7 +1954,7 @@ public:
|
||||
{
|
||||
me->CastSpell(me, SPELL_BLADE_FLURRY, false);
|
||||
events.Repeat(2min);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
}
|
||||
break;
|
||||
case EVENT_SPELL_SHADOWSTEP:
|
||||
@@ -1962,7 +1962,7 @@ public:
|
||||
{
|
||||
me->CastSpell(me->GetVictim(), SPELL_SHADOWSTEP, false);
|
||||
events.Repeat(30s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
}
|
||||
else
|
||||
events.Repeat(5s);
|
||||
@@ -1977,7 +1977,7 @@ public:
|
||||
{
|
||||
me->CastSpell(me->GetVictim(), SPELL_HEMORRHAGE, false);
|
||||
events.Repeat(5s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
}
|
||||
else
|
||||
events.Repeat(5s);
|
||||
@@ -1992,7 +1992,7 @@ public:
|
||||
{
|
||||
me->CastSpell(me->GetVictim(), SPELL_EVISCERATE, false);
|
||||
events.Repeat(15s, 25s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
}
|
||||
else
|
||||
events.Repeat(5s);
|
||||
@@ -2080,7 +2080,7 @@ public:
|
||||
{
|
||||
me->CastSpell(target, SPELL_EARTH_SHOCK_ENH, false);
|
||||
events.Repeat(6s, 8s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
}
|
||||
else
|
||||
events.Repeat(5s);
|
||||
@@ -2095,7 +2095,7 @@ public:
|
||||
{
|
||||
me->CastSpell(target, SPELL_LAVA_LASH, false);
|
||||
events.Repeat(6s, 8s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
}
|
||||
else
|
||||
events.Repeat(5s);
|
||||
@@ -2110,7 +2110,7 @@ public:
|
||||
{
|
||||
me->CastSpell(target, SPELL_STORMSTRIKE, false);
|
||||
events.Repeat(8s, 9s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
}
|
||||
else
|
||||
events.Repeat(5s);
|
||||
@@ -2121,12 +2121,12 @@ public:
|
||||
else
|
||||
me->CastSpell((Unit*)nullptr, SPELL_BLOODLUST, true);
|
||||
events.Repeat(10min);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
case EVENT_SUMMON_TOTEM:
|
||||
me->CastSpell((Unit*)nullptr, RAND(SPELL_GROUNDING_TOTEM, SPELL_WINDFURY_TOTEM, SPELL_TREMOR_TOTEM), false);
|
||||
events.Repeat(30s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -2211,7 +2211,7 @@ public:
|
||||
case EVENT_SPELL_AVENGING_WRATH:
|
||||
me->CastSpell(me, SPELL_AVENGING_WRATH, false);
|
||||
events.Repeat(3min);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
case EVENT_SPELL_CRUSADER_STRIKE:
|
||||
if (me->HasUnitFlag(UNIT_FLAG_DISARMED))
|
||||
@@ -2223,7 +2223,7 @@ public:
|
||||
{
|
||||
me->CastSpell(target, SPELL_CRUSADER_STRIKE, false);
|
||||
events.Repeat(6s, 8s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
}
|
||||
else
|
||||
events.Repeat(5s);
|
||||
@@ -2233,7 +2233,7 @@ public:
|
||||
{
|
||||
me->CastSpell(me, SPELL_DIVINE_SHIELD, false);
|
||||
events.Repeat(5min);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
}
|
||||
else
|
||||
events.Repeat(5s);
|
||||
@@ -2248,7 +2248,7 @@ public:
|
||||
{
|
||||
me->CastSpell((Unit*)nullptr, SPELL_DIVINE_STORM, false);
|
||||
events.Repeat(10s, 15s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
}
|
||||
else
|
||||
events.Repeat(5s);
|
||||
@@ -2258,7 +2258,7 @@ public:
|
||||
{
|
||||
me->CastSpell(target, SPELL_HAMMER_OF_JUSTICE_RET, false);
|
||||
events.Repeat(40s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
}
|
||||
else
|
||||
events.Repeat(5s);
|
||||
@@ -2268,7 +2268,7 @@ public:
|
||||
{
|
||||
me->CastSpell(target, SPELL_HAND_OF_PROTECTION_RET, false);
|
||||
events.Repeat(5min);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
}
|
||||
else
|
||||
events.Repeat(5s);
|
||||
@@ -2278,7 +2278,7 @@ public:
|
||||
{
|
||||
me->CastSpell(target, SPELL_JUDGEMENT_OF_COMMAND, false);
|
||||
events.Repeat(10s, 15s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
}
|
||||
else
|
||||
events.Repeat(5s);
|
||||
@@ -2288,7 +2288,7 @@ public:
|
||||
{
|
||||
me->CastSpell(target, SPELL_REPENTANCE, false);
|
||||
events.Repeat(1min);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
}
|
||||
else
|
||||
events.Repeat(5s);
|
||||
@@ -2357,13 +2357,13 @@ public:
|
||||
if (me->GetVictim())
|
||||
me->CastSpell(me->GetVictim(), SPELL_DEVOUR_MAGIC, false);
|
||||
events.Repeat(8s, 15s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
case EVENT_SPELL_SPELL_LOCK:
|
||||
if (me->GetVictim())
|
||||
me->CastSpell(me->GetVictim(), SPELL_SPELL_LOCK, false);
|
||||
events.Repeat(24s);
|
||||
EventMapGCD(events, 1500);
|
||||
EventMapGCD(events, 1500ms);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -848,7 +848,7 @@ public:
|
||||
me->CastSpell(me, SPELL_STAGGERED_DAZE, true);
|
||||
me->CastSpell((Unit*)nullptr, SPELL_TRAMPLE, true);
|
||||
Talk(EMOTE_TRAMPLE_CRASH);
|
||||
events.DelayEvents(15000);
|
||||
events.DelayEvents(15s);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
+2
-2
@@ -384,7 +384,7 @@ struct boss_twin_valkyrAI : public ScriptedAI
|
||||
/*
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 0.0f, true, essenceId))
|
||||
me->CastSpell(target, me->GetEntry()==NPC_LIGHTBANE ? SPELL_LIGHT_TOUCH : SPELL_DARK_TOUCH, false);
|
||||
events.RepeatEvent(urand(45000,50000));
|
||||
events.Repeat(45s,50s);
|
||||
*/
|
||||
|
||||
GuidVector tList;
|
||||
@@ -458,7 +458,7 @@ struct boss_twin_valkyrAI : public ScriptedAI
|
||||
if ((SpecialMask & 0xF) == 0xF )
|
||||
SpecialMask = 0;
|
||||
events.Repeat(45s);
|
||||
events.DelayEventsToMax(15000, 1); // no touch of light/darkness during special abilities!
|
||||
events.DelayEventsToMax(15s, 1); // no touch of light/darkness during special abilities!
|
||||
}
|
||||
break;
|
||||
case EVENT_REMOVE_DUAL_WIELD:
|
||||
|
||||
+68
-68
@@ -175,7 +175,7 @@ public:
|
||||
bSwitcher = false;
|
||||
bNooneDied = true;
|
||||
events.Reset();
|
||||
events.RescheduleEvent(EVENT_CHECK_PLAYERS, 0);
|
||||
events.RescheduleEvent(EVENT_CHECK_PLAYERS, 0ms);
|
||||
|
||||
NPC_ChampionGUIDs.clear();
|
||||
}
|
||||
@@ -295,22 +295,22 @@ public:
|
||||
switch (InstanceProgress)
|
||||
{
|
||||
case INSTANCE_PROGRESS_INITIAL:
|
||||
events.RescheduleEvent(EVENT_SCENE_001, 0);
|
||||
events.RescheduleEvent(EVENT_SCENE_001, 0ms);
|
||||
break;
|
||||
case INSTANCE_PROGRESS_INTRO_DONE:
|
||||
events.RescheduleEvent(EVENT_SCENE_004, 0);
|
||||
events.RescheduleEvent(EVENT_SCENE_004, 0ms);
|
||||
break;
|
||||
case INSTANCE_PROGRESS_BEASTS_DEAD:
|
||||
events.RescheduleEvent(EVENT_SCENE_101, 0);
|
||||
events.RescheduleEvent(EVENT_SCENE_101, 0ms);
|
||||
break;
|
||||
case INSTANCE_PROGRESS_JARAXXUS_DEAD:
|
||||
events.RescheduleEvent(EVENT_SCENE_201, 0);
|
||||
events.RescheduleEvent(EVENT_SCENE_201, 0ms);
|
||||
break;
|
||||
case INSTANCE_PROGRESS_FACTION_CHAMPIONS_DEAD:
|
||||
events.RescheduleEvent(EVENT_SCENE_301, 0);
|
||||
events.RescheduleEvent(EVENT_SCENE_301, 0ms);
|
||||
break;
|
||||
case INSTANCE_PROGRESS_VALKYR_DEAD:
|
||||
events.RescheduleEvent(EVENT_SCENE_401, 0);
|
||||
events.RescheduleEvent(EVENT_SCENE_401, 0ms);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
@@ -331,7 +331,7 @@ public:
|
||||
if ((northrendBeastsMask & 7) == 7)
|
||||
SetData(TYPE_NORTHREND_BEASTS_ALL, DONE);
|
||||
else if ((northrendBeastsMask & 16) == 0)
|
||||
events.RescheduleEvent(EVENT_SCENE_005, 2500);
|
||||
events.RescheduleEvent(EVENT_SCENE_005, 2500ms);
|
||||
}
|
||||
break;
|
||||
case TYPE_JORMUNGAR:
|
||||
@@ -363,7 +363,7 @@ public:
|
||||
else if ((northrendBeastsMask & 32) == 0)
|
||||
{
|
||||
Counter = 0;
|
||||
events.RescheduleEvent(EVENT_SCENE_006, 2500);
|
||||
events.RescheduleEvent(EVENT_SCENE_006, 2500ms);
|
||||
}
|
||||
}
|
||||
else // first one died, start timer for achievement
|
||||
@@ -390,7 +390,7 @@ public:
|
||||
InstanceProgress = INSTANCE_PROGRESS_BEASTS_DEAD;
|
||||
HandleGameObject(GO_EnterGateGUID, true);
|
||||
events.CancelEvent(EVENT_NORTHREND_BEASTS_ENRAGE);
|
||||
events.RescheduleEvent(EVENT_SCENE_BEASTS_DONE, 2500);
|
||||
events.RescheduleEvent(EVENT_SCENE_BEASTS_DONE, 2500ms);
|
||||
SaveToDB();
|
||||
}
|
||||
break;
|
||||
@@ -402,7 +402,7 @@ public:
|
||||
{
|
||||
HandleGameObject(GO_EnterGateGUID, true);
|
||||
InstanceProgress = INSTANCE_PROGRESS_JARAXXUS_DEAD;
|
||||
events.RescheduleEvent(EVENT_SCENE_110, 2500);
|
||||
events.RescheduleEvent(EVENT_SCENE_110, 2500ms);
|
||||
SaveToDB();
|
||||
}
|
||||
break;
|
||||
@@ -416,7 +416,7 @@ public:
|
||||
Counter = 0;
|
||||
EncounterStatus = NOT_STARTED;
|
||||
InstanceProgress = INSTANCE_PROGRESS_FACTION_CHAMPIONS_DEAD;
|
||||
events.RescheduleEvent(EVENT_SCENE_FACTION_CHAMPIONS_DEAD, 2500);
|
||||
events.RescheduleEvent(EVENT_SCENE_FACTION_CHAMPIONS_DEAD, 2500ms);
|
||||
|
||||
for (ObjectGuid const& guid : NPC_ChampionGUIDs)
|
||||
if (Creature* c = instance->GetCreature(guid))
|
||||
@@ -491,7 +491,7 @@ public:
|
||||
InstanceProgress = INSTANCE_PROGRESS_VALKYR_DEAD;
|
||||
DoUpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE, 34497, 1); // Lightbane
|
||||
DoUpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE, 34496, 1); // Darkbane
|
||||
events.RescheduleEvent(EVENT_SCENE_VALKYR_DEAD, 2500);
|
||||
events.RescheduleEvent(EVENT_SCENE_VALKYR_DEAD, 2500ms);
|
||||
HandleGameObject(GO_EnterGateGUID, true);
|
||||
SaveToDB();
|
||||
}
|
||||
@@ -516,7 +516,7 @@ public:
|
||||
c->UpdatePosition(Locs[LOC_TIRION_FINAL], true);
|
||||
c->StopMovingOnCurrentPos();
|
||||
c->SetFacingTo(Locs[LOC_TIRION_FINAL].GetOrientation());
|
||||
events.RescheduleEvent(EVENT_SCENE_501, 20000);
|
||||
events.RescheduleEvent(EVENT_SCENE_501, 20s);
|
||||
}
|
||||
if (GameObject* floor = instance->GetGameObject(GO_FloorGUID))
|
||||
floor->SetDestructibleState(GO_DESTRUCTIBLE_REBUILDING, nullptr, true);
|
||||
@@ -591,7 +591,7 @@ public:
|
||||
if (Creature* c = instance->GetCreature(NPC_TirionGUID))
|
||||
c->AI()->Talk(SAY_STAGE_0_01);
|
||||
|
||||
events.RescheduleEvent(EVENT_SCENE_002, 22000);
|
||||
events.RescheduleEvent(EVENT_SCENE_002, 22s);
|
||||
}
|
||||
break;
|
||||
case EVENT_SCENE_002:
|
||||
@@ -599,7 +599,7 @@ public:
|
||||
if (Creature* c = instance->GetCreature(NPC_VarianGUID))
|
||||
c->AI()->Talk(SAY_STAGE_0_03a);
|
||||
|
||||
events.RescheduleEvent(EVENT_SCENE_003, 5000);
|
||||
events.RescheduleEvent(EVENT_SCENE_003, 5s);
|
||||
}
|
||||
break;
|
||||
case EVENT_SCENE_003:
|
||||
@@ -607,7 +607,7 @@ public:
|
||||
if (Creature* c = instance->GetCreature(NPC_GarroshGUID))
|
||||
c->AI()->Talk(SAY_STAGE_0_03h);
|
||||
|
||||
events.RescheduleEvent(EVENT_SCENE_004, 8000);
|
||||
events.RescheduleEvent(EVENT_SCENE_004, 8s);
|
||||
}
|
||||
break;
|
||||
case EVENT_SCENE_004:
|
||||
@@ -620,12 +620,12 @@ public:
|
||||
HandleGameObject(GO_MainGateGUID, true);
|
||||
HandleGameObject(GO_EnterGateGUID, false);
|
||||
|
||||
events.RescheduleEvent(EVENT_SUMMON_GORMOK, 1000);
|
||||
events.RescheduleEvent(EVENT_SUMMON_GORMOK, 1s);
|
||||
if (instance->IsHeroic())
|
||||
{
|
||||
events.RescheduleEvent(EVENT_SCENE_005, 150000);
|
||||
events.RescheduleEvent(EVENT_SCENE_006, 340000);
|
||||
events.RescheduleEvent(EVENT_NORTHREND_BEASTS_ENRAGE, 520000);
|
||||
events.RescheduleEvent(EVENT_SCENE_005, 150s);
|
||||
events.RescheduleEvent(EVENT_SCENE_006, 340s);
|
||||
events.RescheduleEvent(EVENT_NORTHREND_BEASTS_ENRAGE, 520s);
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -650,8 +650,8 @@ public:
|
||||
if (Creature* gormok = c->SummonCreature(NPC_GORMOK, Locs[LOC_BEHIND_GATE].GetPositionX(), Locs[LOC_BEHIND_GATE].GetPositionY(), Locs[LOC_BEHIND_GATE].GetPositionZ(), Locs[LOC_BEHIND_GATE].GetOrientation(), TEMPSUMMON_CORPSE_TIMED_DESPAWN, 30000))
|
||||
gormok->GetMotionMaster()->MovePoint(0, Locs[LOC_GATE_FRONT].GetPositionX(), Locs[LOC_GATE_FRONT].GetPositionY(), Locs[LOC_GATE_FRONT].GetPositionZ());
|
||||
|
||||
events.RescheduleEvent(EVENT_GORMOK_ATTACK, 10000);
|
||||
events.RescheduleEvent(EVENT_CLOSE_GATE, 6000);
|
||||
events.RescheduleEvent(EVENT_GORMOK_ATTACK, 10s);
|
||||
events.RescheduleEvent(EVENT_CLOSE_GATE, 6s);
|
||||
}
|
||||
break;
|
||||
case EVENT_GORMOK_ATTACK:
|
||||
@@ -676,8 +676,8 @@ public:
|
||||
if (Creature* c = instance->GetCreature(NPC_TirionGUID))
|
||||
c->AI()->Talk(SAY_STAGE_0_04);
|
||||
|
||||
events.RescheduleEvent(EVENT_OPEN_GATE, 3000);
|
||||
events.RescheduleEvent(EVENT_SUMMON_ACIDMAW_AND_DREADSCALE, 4000);
|
||||
events.RescheduleEvent(EVENT_OPEN_GATE, 3s);
|
||||
events.RescheduleEvent(EVENT_SUMMON_ACIDMAW_AND_DREADSCALE, 4s);
|
||||
break;
|
||||
}
|
||||
case EVENT_SUMMON_ACIDMAW_AND_DREADSCALE:
|
||||
@@ -690,7 +690,7 @@ public:
|
||||
acidmaw->AddAura(53421, acidmaw);
|
||||
}
|
||||
|
||||
events.RescheduleEvent(EVENT_SCENE_005_2, 4000);
|
||||
events.RescheduleEvent(EVENT_SCENE_005_2, 4s);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -699,7 +699,7 @@ public:
|
||||
if (Creature* dreadscale = instance->GetCreature(NPC_DreadscaleGUID))
|
||||
dreadscale->GetMotionMaster()->MovePoint(0, Locs[LOC_DREADSCALE].GetPositionX(), Locs[LOC_DREADSCALE].GetPositionY(), Locs[LOC_DREADSCALE].GetPositionZ());
|
||||
|
||||
events.RescheduleEvent(EVENT_ACIDMAW_AND_DREADSCALE_ATTACK, 7000);
|
||||
events.RescheduleEvent(EVENT_ACIDMAW_AND_DREADSCALE_ATTACK, 7s);
|
||||
break;
|
||||
}
|
||||
case EVENT_ACIDMAW_AND_DREADSCALE_ATTACK:
|
||||
@@ -737,8 +737,8 @@ public:
|
||||
if (Creature* c = instance->GetCreature(NPC_TirionGUID))
|
||||
c->AI()->Talk(SAY_STAGE_0_05);
|
||||
|
||||
events.RescheduleEvent(EVENT_OPEN_GATE, 2000);
|
||||
events.RescheduleEvent(EVENT_SUMMON_ICEHOWL, 3000);
|
||||
events.RescheduleEvent(EVENT_OPEN_GATE, 2s);
|
||||
events.RescheduleEvent(EVENT_SUMMON_ICEHOWL, 3s);
|
||||
break;
|
||||
}
|
||||
case EVENT_SUMMON_ICEHOWL:
|
||||
@@ -747,8 +747,8 @@ public:
|
||||
if (Creature* icehowl = c->SummonCreature(NPC_ICEHOWL, Locs[LOC_BEHIND_GATE].GetPositionX(), Locs[LOC_BEHIND_GATE].GetPositionY(), Locs[LOC_BEHIND_GATE].GetPositionZ(), Locs[LOC_BEHIND_GATE].GetOrientation(), TEMPSUMMON_CORPSE_TIMED_DESPAWN, 630000000))
|
||||
icehowl->GetMotionMaster()->MovePoint(0, Locs[LOC_GATE_FRONT].GetPositionX(), Locs[LOC_GATE_FRONT].GetPositionY(), Locs[LOC_GATE_FRONT].GetPositionZ());
|
||||
|
||||
events.RescheduleEvent(EVENT_ICEHOWL_ATTACK, 10000);
|
||||
events.RescheduleEvent(EVENT_CLOSE_GATE, 6000);
|
||||
events.RescheduleEvent(EVENT_ICEHOWL_ATTACK, 10s);
|
||||
events.RescheduleEvent(EVENT_CLOSE_GATE, 6s);
|
||||
break;
|
||||
}
|
||||
case EVENT_ICEHOWL_ATTACK:
|
||||
@@ -785,7 +785,7 @@ public:
|
||||
fizzlebang->AddUnitMovementFlag(MOVEMENTFLAG_WALKING);
|
||||
fizzlebang->GetMotionMaster()->MovePoint(0, Locs[LOC_BEHIND_GATE].GetPositionX(), Locs[LOC_BEHIND_GATE].GetPositionY() - 65.0f, Locs[LOC_BEHIND_GATE].GetPositionZ() - 1.0f);
|
||||
}
|
||||
events.RescheduleEvent(EVENT_SCENE_102, 20000);
|
||||
events.RescheduleEvent(EVENT_SCENE_102, 20s);
|
||||
|
||||
// move Icehowl to side, can't remove corpse because of loot!
|
||||
if (Creature* icehowl = instance->GetCreature(NPC_IcehowlGUID))
|
||||
@@ -803,7 +803,7 @@ public:
|
||||
if (Creature* c = instance->GetCreature(NPC_FizzlebangGUID))
|
||||
c->AI()->Talk(SAY_STAGE_1_02);
|
||||
|
||||
events.RescheduleEvent(EVENT_SCENE_103, 11000);
|
||||
events.RescheduleEvent(EVENT_SCENE_103, 11s);
|
||||
break;
|
||||
}
|
||||
case EVENT_SCENE_103:
|
||||
@@ -816,7 +816,7 @@ public:
|
||||
NPC_PurpleGroundGUID = trigger->GetGUID();
|
||||
}
|
||||
|
||||
events.RescheduleEvent(EVENT_SCENE_104, 5000);
|
||||
events.RescheduleEvent(EVENT_SCENE_104, 5s);
|
||||
break;
|
||||
}
|
||||
case EVENT_SCENE_104:
|
||||
@@ -833,7 +833,7 @@ public:
|
||||
c->HandleEmoteCommand(EMOTE_STATE_SPELL_PRECAST);
|
||||
}
|
||||
|
||||
events.RescheduleEvent(EVENT_SUMMON_JARAXXUS, 5000);
|
||||
events.RescheduleEvent(EVENT_SUMMON_JARAXXUS, 5s);
|
||||
break;
|
||||
}
|
||||
case EVENT_SUMMON_JARAXXUS:
|
||||
@@ -846,7 +846,7 @@ public:
|
||||
c->AI()->Talk(SAY_STAGE_1_04);
|
||||
}
|
||||
|
||||
events.RescheduleEvent(EVENT_SCENE_105, 3000);
|
||||
events.RescheduleEvent(EVENT_SCENE_105, 3s);
|
||||
break;
|
||||
}
|
||||
case EVENT_SCENE_105:
|
||||
@@ -860,7 +860,7 @@ public:
|
||||
c->DespawnOrUnsummon();
|
||||
NPC_PortalGUID.Clear();
|
||||
|
||||
events.RescheduleEvent(EVENT_SCENE_106, 10000);
|
||||
events.RescheduleEvent(EVENT_SCENE_106, 10s);
|
||||
break;
|
||||
}
|
||||
case EVENT_SCENE_106:
|
||||
@@ -868,7 +868,7 @@ public:
|
||||
if (Creature* c = instance->GetCreature(NPC_JaraxxusGUID))
|
||||
c->AI()->Talk(SAY_STAGE_1_05);
|
||||
|
||||
events.RescheduleEvent(EVENT_SCENE_107, 5000);
|
||||
events.RescheduleEvent(EVENT_SCENE_107, 5s);
|
||||
break;
|
||||
}
|
||||
case EVENT_SCENE_107:
|
||||
@@ -876,7 +876,7 @@ public:
|
||||
if (Creature* c = instance->GetCreature(NPC_FizzlebangGUID))
|
||||
c->AI()->Talk(SAY_STAGE_1_06);
|
||||
|
||||
events.RescheduleEvent(EVENT_SCENE_108, 800);
|
||||
events.RescheduleEvent(EVENT_SCENE_108, 800ms);
|
||||
break;
|
||||
}
|
||||
case EVENT_SCENE_108:
|
||||
@@ -891,7 +891,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
events.RescheduleEvent(EVENT_SCENE_109, 5000);
|
||||
events.RescheduleEvent(EVENT_SCENE_109, 5s);
|
||||
break;
|
||||
}
|
||||
case EVENT_SCENE_109:
|
||||
@@ -901,7 +901,7 @@ public:
|
||||
if (Creature* c = instance->GetCreature(NPC_TirionGUID))
|
||||
c->AI()->Talk(SAY_STAGE_1_07);
|
||||
|
||||
events.RescheduleEvent(EVENT_JARAXXUS_ATTACK, 6000);
|
||||
events.RescheduleEvent(EVENT_JARAXXUS_ATTACK, 6s);
|
||||
break;
|
||||
}
|
||||
case EVENT_JARAXXUS_ATTACK:
|
||||
@@ -925,7 +925,7 @@ public:
|
||||
if (Creature* c = instance->GetCreature(NPC_TirionGUID))
|
||||
c->AI()->Talk(SAY_STAGE_1_08);
|
||||
|
||||
events.RescheduleEvent(EVENT_SCENE_111, 18000);
|
||||
events.RescheduleEvent(EVENT_SCENE_111, 18s);
|
||||
break;
|
||||
}
|
||||
case EVENT_SCENE_111:
|
||||
@@ -933,7 +933,7 @@ public:
|
||||
if (Creature* c = instance->GetCreature(NPC_GarroshGUID))
|
||||
c->AI()->Talk(SAY_STAGE_1_09);
|
||||
|
||||
events.RescheduleEvent(EVENT_SCENE_112, 9000);
|
||||
events.RescheduleEvent(EVENT_SCENE_112, 9s);
|
||||
break;
|
||||
}
|
||||
case EVENT_SCENE_112:
|
||||
@@ -941,7 +941,7 @@ public:
|
||||
if (Creature* c = instance->GetCreature(NPC_VarianGUID))
|
||||
c->AI()->Talk(SAY_STAGE_1_10);
|
||||
|
||||
events.RescheduleEvent(EVENT_SCENE_113, 5000);
|
||||
events.RescheduleEvent(EVENT_SCENE_113, 5s);
|
||||
break;
|
||||
}
|
||||
case EVENT_SCENE_113:
|
||||
@@ -965,7 +965,7 @@ public:
|
||||
if (Creature* c = instance->GetCreature(NPC_TirionGUID))
|
||||
c->AI()->Talk(SAY_STAGE_2_01);
|
||||
|
||||
events.RescheduleEvent(EVENT_SCENE_202, 9000);
|
||||
events.RescheduleEvent(EVENT_SCENE_202, 9s);
|
||||
break;
|
||||
}
|
||||
case EVENT_SCENE_202:
|
||||
@@ -974,13 +974,13 @@ public:
|
||||
{
|
||||
if (Creature* c = instance->GetCreature(NPC_GarroshGUID))
|
||||
c->AI()->Talk(SAY_STAGE_2_02h);
|
||||
events.RescheduleEvent(EVENT_SCENE_203, 15000);
|
||||
events.RescheduleEvent(EVENT_SCENE_203, 15s);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (Creature* c = instance->GetCreature(NPC_VarianGUID))
|
||||
c->AI()->Talk(SAY_STAGE_2_02a);
|
||||
events.RescheduleEvent(EVENT_SCENE_203, 18000);
|
||||
events.RescheduleEvent(EVENT_SCENE_203, 18s);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -989,7 +989,7 @@ public:
|
||||
if (Creature* c = instance->GetCreature(NPC_TirionGUID))
|
||||
c->AI()->Talk(SAY_STAGE_2_03);
|
||||
|
||||
events.RescheduleEvent(EVENT_SCENE_204, 5000);
|
||||
events.RescheduleEvent(EVENT_SCENE_204, 5s);
|
||||
break;
|
||||
}
|
||||
case EVENT_SCENE_204:
|
||||
@@ -998,16 +998,16 @@ public:
|
||||
{
|
||||
if (Creature* c = instance->GetCreature(NPC_GarroshGUID))
|
||||
c->AI()->Talk(SAY_STAGE_2_04h);
|
||||
events.RescheduleEvent(EVENT_SCENE_205, 6000);
|
||||
events.RescheduleEvent(EVENT_SCENE_205, 6s);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (Creature* c = instance->GetCreature(NPC_VarianGUID))
|
||||
c->AI()->Talk(SAY_STAGE_2_04a);
|
||||
events.RescheduleEvent(EVENT_SCENE_205, 5000);
|
||||
events.RescheduleEvent(EVENT_SCENE_205, 5s);
|
||||
}
|
||||
|
||||
events.RescheduleEvent(EVENT_SUMMON_CHAMPIONS, 2500);
|
||||
events.RescheduleEvent(EVENT_SUMMON_CHAMPIONS, 2500ms);
|
||||
break;
|
||||
}
|
||||
case EVENT_SCENE_205:
|
||||
@@ -1089,7 +1089,7 @@ public:
|
||||
}
|
||||
|
||||
HandleGameObject(GO_EnterGateGUID, false);
|
||||
events.RescheduleEvent(EVENT_CHAMPIONS_ATTACK, 4000);
|
||||
events.RescheduleEvent(EVENT_CHAMPIONS_ATTACK, 4s);
|
||||
break;
|
||||
}
|
||||
case EVENT_CHAMPIONS_ATTACK:
|
||||
@@ -1122,7 +1122,7 @@ public:
|
||||
if (Creature* c = instance->GetCreature(NPC_TirionGUID))
|
||||
c->AI()->Talk(SAY_STAGE_3_01);
|
||||
|
||||
events.RescheduleEvent(EVENT_SCENE_302, 13000);
|
||||
events.RescheduleEvent(EVENT_SCENE_302, 13s);
|
||||
break;
|
||||
}
|
||||
case EVENT_SCENE_302:
|
||||
@@ -1130,7 +1130,7 @@ public:
|
||||
if (Creature* c = instance->GetCreature(NPC_TirionGUID))
|
||||
c->AI()->Talk(SAY_STAGE_3_02);
|
||||
|
||||
events.RescheduleEvent(EVENT_SCENE_303, 3000);
|
||||
events.RescheduleEvent(EVENT_SCENE_303, 3s);
|
||||
break;
|
||||
}
|
||||
case EVENT_SCENE_303:
|
||||
@@ -1145,7 +1145,7 @@ public:
|
||||
t->GetMotionMaster()->MovePoint(0, Locs[LOC_VALKYR_DEST_LEFT].GetPositionX(), Locs[LOC_VALKYR_DEST_LEFT].GetPositionY(), Locs[LOC_VALKYR_DEST_LEFT].GetPositionZ());
|
||||
}
|
||||
|
||||
events.RescheduleEvent(EVENT_SCENE_304, 6250);
|
||||
events.RescheduleEvent(EVENT_SCENE_304, 6250ms);
|
||||
break;
|
||||
}
|
||||
case EVENT_SCENE_304:
|
||||
@@ -1157,7 +1157,7 @@ public:
|
||||
if (Creature* c = instance->GetCreature(NPC_DarkbaneGUID))
|
||||
c->GetMotionMaster()->MovePoint(0, Locs[LOC_VALKYR_DEST_2_LEFT].GetPositionX(), Locs[LOC_VALKYR_DEST_2_LEFT].GetPositionY(), Locs[LOC_VALKYR_DEST_2_LEFT].GetPositionZ());
|
||||
|
||||
events.RescheduleEvent(EVENT_VALKYRIES_ATTACK, 3250);
|
||||
events.RescheduleEvent(EVENT_VALKYRIES_ATTACK, 3250ms);
|
||||
break;
|
||||
}
|
||||
case EVENT_VALKYRIES_ATTACK:
|
||||
@@ -1189,7 +1189,7 @@ public:
|
||||
if (Creature* c = instance->GetCreature(GetTeamIdInInstance() == TEAM_ALLIANCE ? NPC_VarianGUID : NPC_GarroshGUID))
|
||||
c->AI()->Talk((GetTeamIdInInstance() == TEAM_ALLIANCE ? SAY_STAGE_3_03a : SAY_STAGE_3_03h));
|
||||
|
||||
events.RescheduleEvent(EVENT_SCENE_401, 60000);
|
||||
events.RescheduleEvent(EVENT_SCENE_401, 60s);
|
||||
break;
|
||||
}
|
||||
case EVENT_SCENE_401:
|
||||
@@ -1197,7 +1197,7 @@ public:
|
||||
if (Creature* c = instance->GetCreature(NPC_TirionGUID))
|
||||
c->AI()->Talk(SAY_STAGE_4_01);
|
||||
|
||||
events.RescheduleEvent(EVENT_SCENE_402, 20000);
|
||||
events.RescheduleEvent(EVENT_SCENE_402, 20s);
|
||||
break;
|
||||
}
|
||||
case EVENT_SCENE_402:
|
||||
@@ -1214,7 +1214,7 @@ public:
|
||||
t->SetVisible(false);
|
||||
}
|
||||
|
||||
events.RescheduleEvent(EVENT_SCENE_403, 2000);
|
||||
events.RescheduleEvent(EVENT_SCENE_403, 2s);
|
||||
break;
|
||||
}
|
||||
case EVENT_SCENE_403:
|
||||
@@ -1226,7 +1226,7 @@ public:
|
||||
t->CastSpell(t, 51807, true);
|
||||
}
|
||||
|
||||
events.RescheduleEvent(EVENT_SCENE_404, 2000);
|
||||
events.RescheduleEvent(EVENT_SCENE_404, 2s);
|
||||
break;
|
||||
}
|
||||
case EVENT_SCENE_404:
|
||||
@@ -1238,7 +1238,7 @@ public:
|
||||
c->GetMotionMaster()->MovePoint(0, Locs[LOC_ARTHAS]);
|
||||
}
|
||||
|
||||
events.RescheduleEvent(EVENT_SCENE_405, 3000);
|
||||
events.RescheduleEvent(EVENT_SCENE_405, 3s);
|
||||
break;
|
||||
}
|
||||
case EVENT_SCENE_405:
|
||||
@@ -1246,7 +1246,7 @@ public:
|
||||
if (Creature* c = instance->GetCreature(NPC_TirionGUID))
|
||||
c->AI()->Talk(SAY_STAGE_4_03);
|
||||
|
||||
events.RescheduleEvent(EVENT_SCENE_406, 7000);
|
||||
events.RescheduleEvent(EVENT_SCENE_406, 7s);
|
||||
break;
|
||||
}
|
||||
case EVENT_SCENE_406:
|
||||
@@ -1257,8 +1257,8 @@ public:
|
||||
c->HandleEmoteCommand(EMOTE_ONESHOT_LAUGH);
|
||||
}
|
||||
|
||||
events.RescheduleEvent(EVENT_SCENE_406_2, 2500);
|
||||
events.RescheduleEvent(EVENT_SCENE_407, 12000);
|
||||
events.RescheduleEvent(EVENT_SCENE_406_2, 2500ms);
|
||||
events.RescheduleEvent(EVENT_SCENE_407, 12s);
|
||||
break;
|
||||
}
|
||||
case EVENT_SCENE_406_2:
|
||||
@@ -1276,7 +1276,7 @@ public:
|
||||
if (Creature* c = instance->GetCreature(NPC_LichKingGUID))
|
||||
c->HandleEmoteCommand(EMOTE_ONESHOT_EXCLAMATION);
|
||||
|
||||
events.RescheduleEvent(EVENT_SCENE_408, 4000);
|
||||
events.RescheduleEvent(EVENT_SCENE_408, 4s);
|
||||
break;
|
||||
}
|
||||
case EVENT_SCENE_408:
|
||||
@@ -1286,7 +1286,7 @@ public:
|
||||
c->HandleEmoteCommand(EMOTE_ONESHOT_KNEEL);
|
||||
}
|
||||
|
||||
events.RescheduleEvent(EVENT_SCENE_409, 1500);
|
||||
events.RescheduleEvent(EVENT_SCENE_409, 1500ms);
|
||||
break;
|
||||
}
|
||||
case EVENT_SCENE_409:
|
||||
@@ -1305,7 +1305,7 @@ public:
|
||||
SpawnAnubArak();
|
||||
}
|
||||
|
||||
events.RescheduleEvent(EVENT_SCENE_410, 2000);
|
||||
events.RescheduleEvent(EVENT_SCENE_410, 2s);
|
||||
break;
|
||||
}
|
||||
case EVENT_SCENE_410:
|
||||
@@ -1328,7 +1328,7 @@ public:
|
||||
c->SummonGameObject(195682, 668.15f, 134.57f, 142.12f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 630000000);
|
||||
}
|
||||
|
||||
events.RescheduleEvent(EVENT_SCENE_502, 20000);
|
||||
events.RescheduleEvent(EVENT_SCENE_502, 20s);
|
||||
break;
|
||||
}
|
||||
case EVENT_SCENE_502:
|
||||
|
||||
@@ -167,7 +167,7 @@ public:
|
||||
|
||||
void KilledUnit(Unit* /*victim*/) override
|
||||
{
|
||||
if (events.GetNextEventTime(EVENT_KILL_TALK) == 0)
|
||||
if (!events.HasTimeUntilEvent(EVENT_KILL_TALK))
|
||||
{
|
||||
Talk(SAY_KILL);
|
||||
events.ScheduleEvent(EVENT_KILL_TALK, 6s);
|
||||
|
||||
@@ -104,7 +104,7 @@ public:
|
||||
|
||||
void KilledUnit(Unit* /*victim*/) override
|
||||
{
|
||||
if (events.GetNextEventTime(EVENT_KILL_TALK) == 0)
|
||||
if (!events.HasTimeUntilEvent(EVENT_KILL_TALK))
|
||||
{
|
||||
Talk(SAY_KILL);
|
||||
events.ScheduleEvent(EVENT_KILL_TALK, 6s);
|
||||
|
||||
@@ -102,7 +102,7 @@ public:
|
||||
|
||||
void KilledUnit(Unit* /*victim*/) override
|
||||
{
|
||||
if (events.GetNextEventTime(EVENT_KILL_TALK) == 0)
|
||||
if (!events.HasTimeUntilEvent(EVENT_KILL_TALK))
|
||||
{
|
||||
Talk(SAY_KILL);
|
||||
events.ScheduleEvent(EVENT_KILL_TALK, 6s);
|
||||
|
||||
@@ -115,7 +115,7 @@ public:
|
||||
me->GetMotionMaster()->MoveIdle();
|
||||
me->CastSpell(me, SPELL_TELEPORT, false);
|
||||
events.CancelEvent(EVENT_SPELL_CORRUPT_SOUL);
|
||||
events.DelayEvents(6000);
|
||||
events.DelayEvents(6s);
|
||||
events.RescheduleEvent(EVENT_SPELL_FEAR, 8s, 14s);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -225,14 +225,14 @@ public:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 40.0f, true))
|
||||
me->CastSpell(target, SPELL_WELL_OF_SOULS, false);
|
||||
events.Repeat(25s, 30s);
|
||||
events.DelayEventsToMax(4000, 0);
|
||||
events.DelayEventsToMax(4s, 0);
|
||||
break;
|
||||
case EVENT_SPELL_UNLEASHED_SOULS:
|
||||
me->CastSpell(me, SPELL_UNLEASHED_SOULS, false);
|
||||
Talk(SAY_FACE_UNLEASH_SOUL);
|
||||
Talk(EMOTE_UNLEASH_SOUL);
|
||||
events.Repeat(30s, 40s);
|
||||
events.DelayEventsToMax(5000, 0);
|
||||
events.DelayEventsToMax(5s, 0);
|
||||
me->setAttackTimer(BASE_ATTACK, 5500);
|
||||
break;
|
||||
case EVENT_SPELL_WAILING_SOULS:
|
||||
@@ -241,7 +241,7 @@ public:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 0.0f, true))
|
||||
me->CastCustomSpell(SPELL_WAILING_SOULS_TARGETING, SPELLVALUE_MAX_TARGETS, 1, target, false);
|
||||
events.Repeat(80s);
|
||||
events.DelayEventsToMax(20000, 0);
|
||||
events.DelayEventsToMax(20s, 0);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -131,7 +131,7 @@ public:
|
||||
Talk(SAY_DEFILING_HORROR);
|
||||
me->CastSpell((Unit*)nullptr, SPELL_DEFILING_HORROR, false);
|
||||
me->SetControlled(true, UNIT_STATE_ROOT);
|
||||
events.DelayEventsToMax(5000, 0);
|
||||
events.DelayEventsToMax(5s, 0);
|
||||
events.ScheduleEvent(EVENT_UNROOT, 4s);
|
||||
events.ScheduleEvent(EVENT_DEFILING_HORROR, 20s);
|
||||
break;
|
||||
|
||||
@@ -658,7 +658,7 @@ public:
|
||||
pLichKing->SendMovementFlagUpdate();
|
||||
pLichKing->CastSpell(pLichKing, SPELL_FROSTMOURNE_EQUIP, false);
|
||||
pInstance->HandleGameObject(pInstance->GetGuidData(GO_FROSTMOURNE), false);
|
||||
events.ScheduleEvent(EVENT_INTRO_LK_4_3, 1750);
|
||||
events.ScheduleEvent(EVENT_INTRO_LK_4_3, 1750ms);
|
||||
}
|
||||
events.ScheduleEvent(EVENT_INTRO_LK_5, 6s);
|
||||
break;
|
||||
@@ -1732,7 +1732,7 @@ public:
|
||||
{
|
||||
|
||||
++reqKillCount;
|
||||
if (events.GetNextEventTime(EVENT_DECREASE_REQ_COUNT_BY_100))
|
||||
if (events.HasTimeUntilEvent(EVENT_DECREASE_REQ_COUNT_BY_100))
|
||||
events.RescheduleEvent(EVENT_DECREASE_REQ_COUNT_BY_100, 10s);
|
||||
summons.Summon(s);
|
||||
s->SetHomePosition(PathWaypoints[WP_STOP[currentWall + 1]]);
|
||||
|
||||
@@ -112,7 +112,7 @@ public:
|
||||
|
||||
Talk(SAY_AGGRO);
|
||||
DoZoneInCombat();
|
||||
events.RescheduleEvent(EVENT_SPELL_THROW_SARONITE, 5000ms, 7500ms);
|
||||
events.RescheduleEvent(EVENT_SPELL_THROW_SARONITE, 5s, 7500ms);
|
||||
|
||||
if (pInstance)
|
||||
pInstance->SetData(DATA_GARFROST, IN_PROGRESS);
|
||||
@@ -178,7 +178,7 @@ public:
|
||||
}
|
||||
if (spell->Id == uint32(SPELL_FORGE_BLADE))
|
||||
{
|
||||
events.RescheduleEvent(EVENT_SPELL_CHILLING_WAVE, 10000);
|
||||
events.RescheduleEvent(EVENT_SPELL_CHILLING_WAVE, 10s);
|
||||
SetEquipmentSlots(false, EQUIP_ID_SWORD);
|
||||
me->SetReactState(REACT_AGGRESSIVE);
|
||||
me->SetControlled(false, UNIT_STATE_ROOT);
|
||||
|
||||
@@ -298,7 +298,7 @@ public:
|
||||
if (a == 1)
|
||||
{
|
||||
me->setActive(true);
|
||||
events.RescheduleEvent(20, 0);
|
||||
events.RescheduleEvent(20, 0ms);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -404,7 +404,7 @@ public:
|
||||
case 8:
|
||||
Talk(SAY_OUTRO_KRICK_4);
|
||||
|
||||
events.RescheduleEvent(9, 1500);
|
||||
events.RescheduleEvent(9, 1500ms);
|
||||
break;
|
||||
case 9:
|
||||
if (pInstance)
|
||||
@@ -430,7 +430,7 @@ public:
|
||||
if (Creature* c = pInstance->instance->GetCreature(pInstance->GetGuidData(DATA_TYRANNUS_EVENT_GUID)))
|
||||
c->AI()->Talk(SAY_TYRANNUS_KRICK_2);
|
||||
|
||||
events.RescheduleEvent(11, 9000);
|
||||
events.RescheduleEvent(11, 9s);
|
||||
break;
|
||||
case 11:
|
||||
if (pInstance)
|
||||
|
||||
@@ -161,7 +161,7 @@ public:
|
||||
events.RescheduleEvent(EVENT_SPELL_UNHOLY_POWER, 1s);
|
||||
break;
|
||||
}
|
||||
events.RepeatEvent(3000);
|
||||
events.Repeat(3s);
|
||||
break;
|
||||
case EVENT_SPELL_UNHOLY_POWER:
|
||||
Talk(SAY_DARK_MIGHT);
|
||||
|
||||
@@ -1082,7 +1082,7 @@ public:
|
||||
s->AddThreat(c, 0.0f);
|
||||
}
|
||||
}
|
||||
events.RescheduleEvent(10, 3000);
|
||||
events.RescheduleEvent(10, 3s);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -161,7 +161,7 @@ public:
|
||||
summon->SetRegeneratingHealth(false);
|
||||
summon->SetReactState(REACT_PASSIVE);
|
||||
summon->m_Events.AddEvent(new RestoreFight(summon), summon->m_Events.CalculateTime(3000));
|
||||
if (events.GetNextEventTime(EVENT_COLOSSUS_HEALTH_2) == 0)
|
||||
if (!events.HasTimeUntilEvent(EVENT_COLOSSUS_HEALTH_2))
|
||||
{
|
||||
summon->SetHealth(summon->GetMaxHealth() / 2);
|
||||
summon->LowerPlayerDamageReq(summon->GetMaxHealth() / 2);
|
||||
|
||||
@@ -149,7 +149,7 @@ public:
|
||||
|
||||
void KilledUnit(Unit*) override
|
||||
{
|
||||
if (events.GetNextEventTime(EVENT_KILL_TALK) == 0)
|
||||
if (!events.HasTimeUntilEvent(EVENT_KILL_TALK))
|
||||
{
|
||||
Talk(SAY_SLAY);
|
||||
events.ScheduleEvent(EVENT_KILL_TALK, 6s);
|
||||
|
||||
@@ -125,7 +125,7 @@ public:
|
||||
|
||||
void KilledUnit(Unit*) override
|
||||
{
|
||||
if (events.GetNextEventTime(EVENT_KILL_TALK) == 0)
|
||||
if (!events.HasTimeUntilEvent(EVENT_KILL_TALK))
|
||||
{
|
||||
Talk(SAY_SLAY);
|
||||
events.ScheduleEvent(EVENT_KILL_TALK, 6s);
|
||||
|
||||
@@ -137,7 +137,7 @@ public:
|
||||
|
||||
void KilledUnit(Unit*) override
|
||||
{
|
||||
if (events.GetNextEventTime(EVENT_KILL_TALK) == 0)
|
||||
if (!events.HasTimeUntilEvent(EVENT_KILL_TALK))
|
||||
{
|
||||
Talk(SAY_SLAY);
|
||||
events.ScheduleEvent(EVENT_KILL_TALK, 6s);
|
||||
|
||||
@@ -588,9 +588,9 @@ public:
|
||||
(*itr)->AI()->DoAction(ACTION_DESPAWN);
|
||||
|
||||
/*Talk(SAY_OUTRO_HORDE_1);
|
||||
_events.ScheduleEvent(EVENT_OUTRO_HORDE_1, 10000);
|
||||
_events.ScheduleEvent(EVENT_OUTRO_HORDE_2, 18000);
|
||||
_events.ScheduleEvent(EVENT_OUTRO_HORDE_3, 24000);*/
|
||||
_events.ScheduleEvent(EVENT_OUTRO_HORDE_1, 10s);
|
||||
_events.ScheduleEvent(EVENT_OUTRO_HORDE_2, 18s);
|
||||
_events.ScheduleEvent(EVENT_OUTRO_HORDE_3, 24s);*/
|
||||
}
|
||||
break;
|
||||
case ACTION_EVADE:
|
||||
@@ -651,8 +651,8 @@ public:
|
||||
deathbringer->SetUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
|
||||
deathbringer->setDeathState(DeathState::Alive);
|
||||
}
|
||||
_events.ScheduleEvent(EVENT_OUTRO_HORDE_4, 1000);
|
||||
_events.ScheduleEvent(EVENT_OUTRO_HORDE_5, 4000);
|
||||
_events.ScheduleEvent(EVENT_OUTRO_HORDE_4, 1s);
|
||||
_events.ScheduleEvent(EVENT_OUTRO_HORDE_5, 4s);
|
||||
break;
|
||||
case POINT_FINAL:
|
||||
if (Creature* deathbringer = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_DEATHBRINGER_SAURFANG)))
|
||||
|
||||
@@ -233,7 +233,7 @@ public:
|
||||
Talk(EMOTE_GAS_SPORE);
|
||||
me->CastCustomSpell(SPELL_GAS_SPORE, SPELLVALUE_MAX_TARGETS, RAID_MODE<int32>(2, 3, 2, 3), me);
|
||||
events.ScheduleEvent(EVENT_GAS_SPORE, 40s, 45s);
|
||||
events.DelayEventsToMax(20000, 1); // delay EVENT_VILE_GAS
|
||||
events.DelayEventsToMax(20s, 1); // delay EVENT_VILE_GAS
|
||||
break;
|
||||
case EVENT_VILE_GAS:
|
||||
{
|
||||
|
||||
@@ -847,7 +847,7 @@ public:
|
||||
{
|
||||
time_t now = GameTime::GetGameTime().count();
|
||||
if (_firstMageCooldown > now)
|
||||
_events.ScheduleEvent(EVENT_SUMMON_MAGE, (_firstMageCooldown - now) * IN_MILLISECONDS);
|
||||
_events.ScheduleEvent(EVENT_SUMMON_MAGE, Seconds(_firstMageCooldown - now));
|
||||
else
|
||||
_events.ScheduleEvent(EVENT_SUMMON_MAGE, 1ms);
|
||||
}
|
||||
@@ -1183,7 +1183,7 @@ public:
|
||||
{
|
||||
time_t now = GameTime::GetGameTime().count();
|
||||
if (_firstMageCooldown > now)
|
||||
_events.ScheduleEvent(EVENT_SUMMON_MAGE, (_firstMageCooldown - now) * IN_MILLISECONDS);
|
||||
_events.ScheduleEvent(EVENT_SUMMON_MAGE, Seconds(_firstMageCooldown - now));
|
||||
else
|
||||
_events.ScheduleEvent(EVENT_SUMMON_MAGE, 1ms);
|
||||
}
|
||||
|
||||
@@ -206,8 +206,8 @@ public:
|
||||
if (Aura* pStorm = me->GetAura(SPELL_BONE_STORM))
|
||||
pStorm->SetDuration(int32(_boneStormDuration));
|
||||
events.ScheduleEvent(EVENT_BONE_STORM_MOVE, 0ms);
|
||||
events.ScheduleEvent(EVENT_END_BONE_STORM, _boneStormDuration + 1);
|
||||
}
|
||||
events.ScheduleEvent(EVENT_END_BONE_STORM, Milliseconds(_boneStormDuration + 1));
|
||||
}
|
||||
break;
|
||||
case EVENT_BONE_STORM_MOVE:
|
||||
{
|
||||
@@ -429,7 +429,7 @@ public:
|
||||
summonerUnit->SetPetGUID(petGUID);
|
||||
summonerUnit->GetMotionMaster()->Clear();
|
||||
summonerUnit->StopMoving();
|
||||
events.ScheduleEvent(1, 8000);
|
||||
events.ScheduleEvent(1, 8s);
|
||||
hasTrappedUnit = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -566,14 +566,14 @@ public:
|
||||
{
|
||||
SpellInfo const* spell = sSpellMgr->GetSpellInfo(SPELL_CREATE_CONCOCTION);
|
||||
me->CastSpell(me, SPELL_CREATE_CONCOCTION, false);
|
||||
events.ScheduleEvent(EVENT_PHASE_TRANSITION, sSpellMgr->GetSpellForDifficultyFromSpell(spell, me)->CalcCastTime() + 2250);
|
||||
events.ScheduleEvent(EVENT_PHASE_TRANSITION, Milliseconds(sSpellMgr->GetSpellForDifficultyFromSpell(spell, me)->CalcCastTime() + 2250));
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
SpellInfo const* spell = sSpellMgr->GetSpellInfo(SPELL_GUZZLE_POTIONS);
|
||||
me->CastSpell(me, SPELL_GUZZLE_POTIONS, false);
|
||||
events.ScheduleEvent(EVENT_PHASE_TRANSITION, sSpellMgr->GetSpellForDifficultyFromSpell(spell, me)->CalcCastTime() + 2250);
|
||||
events.ScheduleEvent(EVENT_PHASE_TRANSITION, Milliseconds(sSpellMgr->GetSpellForDifficultyFromSpell(spell, me)->CalcCastTime() + 2250));
|
||||
break;
|
||||
}
|
||||
default:
|
||||
@@ -670,8 +670,8 @@ public:
|
||||
|
||||
void ChangePhase()
|
||||
{
|
||||
uint32 heroicDelay = (IsHeroic() ? 25000 : 0);
|
||||
events.DelayEvents(24000 + heroicDelay, EVENT_GROUP_ABILITIES);
|
||||
Milliseconds heroicDelay = (IsHeroic() ? 25s : 0ms);
|
||||
events.DelayEvents(24s + heroicDelay, EVENT_GROUP_ABILITIES);
|
||||
me->AttackStop();
|
||||
if (!IsHeroic())
|
||||
{
|
||||
@@ -715,8 +715,8 @@ public:
|
||||
{
|
||||
case 1:
|
||||
_phase = 2;
|
||||
events.ScheduleEvent(EVENT_MALLEABLE_GOO, urand(25000, 28000) + heroicDelay, EVENT_GROUP_ABILITIES);
|
||||
events.ScheduleEvent(EVENT_CHOKING_GAS_BOMB, urand(35000, 40000) + heroicDelay, EVENT_GROUP_ABILITIES);
|
||||
events.ScheduleEvent(EVENT_MALLEABLE_GOO, randtime(25s, 28s) + heroicDelay, EVENT_GROUP_ABILITIES);
|
||||
events.ScheduleEvent(EVENT_CHOKING_GAS_BOMB, randtime(35s, 40s) + heroicDelay, EVENT_GROUP_ABILITIES);
|
||||
break;
|
||||
case 2:
|
||||
_phase = 3;
|
||||
|
||||
@@ -131,13 +131,13 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
uint32 infectionCooldown;
|
||||
Milliseconds infectionCooldown;
|
||||
ObjectGuid _oozeFloodDummyGUIDs[4][2];
|
||||
uint8 _oozeFloodStage;
|
||||
|
||||
void Reset() override
|
||||
{
|
||||
infectionCooldown = 14000;
|
||||
infectionCooldown = 14s;
|
||||
|
||||
for (uint8 i = 0; i < 4; ++i)
|
||||
for (uint8 j = 0; j < 2; ++j)
|
||||
@@ -283,14 +283,14 @@ public:
|
||||
DoCastSelf(SPELL_SLIME_SPRAY);
|
||||
}
|
||||
}
|
||||
events.DelayEvents(1);
|
||||
events.DelayEvents(1ms);
|
||||
events.ScheduleEvent(EVENT_SLIME_SPRAY, 20s);
|
||||
events.ScheduleEvent(EVENT_UNROOT, 0ms);
|
||||
break;
|
||||
case EVENT_HASTEN_INFECTIONS:
|
||||
if (infectionCooldown >= 8000)
|
||||
if (infectionCooldown >= 8s)
|
||||
{
|
||||
infectionCooldown -= 2000;
|
||||
infectionCooldown -= 2s;
|
||||
events.ScheduleEvent(EVENT_HASTEN_INFECTIONS, 90s);
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -523,7 +523,7 @@ public:
|
||||
me->SetControlled(true, UNIT_STATE_ROOT);
|
||||
me->SendMovementFlagUpdate();
|
||||
me->CastSpell(me->GetVictim(), SPELL_TAIL_SMASH, false);
|
||||
events.DelayEventsToMax(1, 0);
|
||||
events.DelayEventsToMax(1ms, 0);
|
||||
events.ScheduleEvent(EVENT_UNROOT, 0ms);
|
||||
events.ScheduleEvent(EVENT_TAIL_SMASH, 22s, 27s, EVENT_GROUP_LAND_PHASE);
|
||||
break;
|
||||
@@ -532,7 +532,7 @@ public:
|
||||
me->SetControlled(true, UNIT_STATE_ROOT);
|
||||
me->SendMovementFlagUpdate();
|
||||
me->CastSpell(me->GetVictim(), _isThirdPhase ? SPELL_FROST_BREATH_P2 : SPELL_FROST_BREATH_P1, false);
|
||||
events.DelayEventsToMax(1, 0);
|
||||
events.DelayEventsToMax(1ms, 0);
|
||||
events.ScheduleEvent(EVENT_UNROOT, 0ms);
|
||||
events.ScheduleEvent(EVENT_FROST_BREATH, 20s, 25s, EVENT_GROUP_LAND_PHASE);
|
||||
break;
|
||||
@@ -547,11 +547,10 @@ public:
|
||||
break;
|
||||
case EVENT_ICY_GRIP:
|
||||
me->CastSpell((Unit*)nullptr, SPELL_ICY_GRIP, false);
|
||||
events.DelayEventsToMax(1001, 0);
|
||||
events.DelayEventsToMax(1001ms, 0);
|
||||
events.ScheduleEvent(EVENT_BLISTERING_COLD, 1s, EVENT_GROUP_LAND_PHASE);
|
||||
if (uint32 evTime = events.GetNextEventTime(EVENT_ICE_TOMB))
|
||||
if (events.GetTimer() > evTime || evTime - events.GetTimer() < 7000)
|
||||
events.RescheduleEvent(EVENT_ICE_TOMB, 7s);
|
||||
if (events.GetTimeUntilEvent(EVENT_ICE_TOMB) < 7s)
|
||||
events.RescheduleEvent(EVENT_ICE_TOMB, 7s);
|
||||
break;
|
||||
case EVENT_BLISTERING_COLD:
|
||||
Talk(EMOTE_WARN_BLISTERING_COLD);
|
||||
@@ -652,9 +651,8 @@ public:
|
||||
Talk(EMOTE_WARN_FROZEN_ORB, target);
|
||||
me->CastSpell(target, SPELL_ICE_TOMB_DUMMY, true);
|
||||
me->CastSpell(target, SPELL_FROST_BEACON, true);
|
||||
if (uint32 evTime = events.GetNextEventTime(EVENT_ICY_GRIP))
|
||||
if (events.GetTimer() > evTime || evTime - events.GetTimer() < 8000)
|
||||
events.RescheduleEvent(EVENT_ICY_GRIP, 8s, EVENT_GROUP_LAND_PHASE);
|
||||
if (events.GetTimeUntilEvent(EVENT_ICY_GRIP) < 8s)
|
||||
events.RescheduleEvent(EVENT_ICY_GRIP, 8s, EVENT_GROUP_LAND_PHASE);
|
||||
}
|
||||
events.ScheduleEvent(EVENT_ICE_TOMB, 18s, 22s);
|
||||
break;
|
||||
@@ -1451,8 +1449,8 @@ public:
|
||||
else destZ = me->GetPositionZ() + 25.0f;
|
||||
me->GetMotionMaster()->MoveTakeoff(0, me->GetPositionX(), me->GetPositionY(), destZ, me->GetSpeed(MOVE_RUN));
|
||||
float moveTime = std::fabs(destZ - me->GetPositionZ()) / (me->GetSpeed(MOVE_RUN) * 0.001f);
|
||||
_events.ScheduleEvent(EVENT_ICY_BLAST, uint32(moveTime) + urand(60000, 70000));
|
||||
_events.ScheduleEvent(EVENT_ICY_BLAST_CAST, uint32(moveTime) + 250);
|
||||
_events.Repeat(Milliseconds(uint32(moveTime) + urand(60000, 70000)));
|
||||
_events.ScheduleEvent(EVENT_ICY_BLAST_CAST, Milliseconds(uint32(moveTime) + 250));
|
||||
break;
|
||||
}
|
||||
case EVENT_ICY_BLAST_CAST:
|
||||
|
||||
@@ -885,7 +885,7 @@ public:
|
||||
summon->StopMovingOnCurrentPos();
|
||||
break;
|
||||
case NPC_VALKYR_SHADOWGUARD:
|
||||
if (_phase == PHASE_THREE || events.GetNextEventTime(EVENT_QUAKE_2))
|
||||
if (_phase == PHASE_THREE || events.HasTimeUntilEvent(EVENT_QUAKE_2))
|
||||
summon->DespawnOrUnsummon(1);
|
||||
break;
|
||||
default:
|
||||
@@ -944,7 +944,7 @@ public:
|
||||
Talk(SAY_LK_REMORSELESS_WINTER);
|
||||
me->GetMap()->SetZoneMusic(AREA_THE_FROZEN_THRONE, MUSIC_SPECIAL);
|
||||
me->CastSpell(me, SPELL_REMORSELESS_WINTER_1, false);
|
||||
//events.DelayEvents(62500, EVENT_GROUP_BERSERK); // delay berserk timer, its not ticking during phase transitions, 15mins on movies
|
||||
//events.DelayEvents(62500ms, EVENT_GROUP_BERSERK); // delay berserk timer, its not ticking during phase transitions, 15mins on movies
|
||||
events.ScheduleEvent(EVENT_QUAKE, 62s + 500ms);
|
||||
events.ScheduleEvent(EVENT_PAIN_AND_SUFFERING, 3500ms, EVENT_GROUP_ABILITIES);
|
||||
events.ScheduleEvent(EVENT_SUMMON_ICE_SPHERE, 8s, EVENT_GROUP_ABILITIES);
|
||||
@@ -956,7 +956,7 @@ public:
|
||||
me->GetMap()->SetZoneMusic(AREA_THE_FROZEN_THRONE, MUSIC_SPECIAL);
|
||||
me->CastSpell(me, SPELL_REMORSELESS_WINTER_2, false);
|
||||
summons.DespawnEntry(NPC_VALKYR_SHADOWGUARD);
|
||||
//events.DelayEvents(62500, EVENT_GROUP_BERSERK); // delay berserk timer, its not ticking during phase transitions, 15 mins on movies
|
||||
//events.DelayEvents(62500ms, EVENT_GROUP_BERSERK); // delay berserk timer, its not ticking during phase transitions, 15 mins on movies
|
||||
events.ScheduleEvent(EVENT_QUAKE_2, 62s + 500ms);
|
||||
events.ScheduleEvent(EVENT_PAIN_AND_SUFFERING, 3500ms, EVENT_GROUP_ABILITIES);
|
||||
events.ScheduleEvent(EVENT_SUMMON_ICE_SPHERE, 8s, EVENT_GROUP_ABILITIES);
|
||||
@@ -1081,11 +1081,11 @@ public:
|
||||
case EVENT_PAIN_AND_SUFFERING:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 0.0f, true))
|
||||
{
|
||||
//events.DelayEventsToMax(500, EVENT_GROUP_ABILITIES);
|
||||
//events.DelayEventsToMax(500ms, EVENT_GROUP_ABILITIES);
|
||||
me->SetFacingTo(me->GetAngle(target));
|
||||
me->CastSpell(target, SPELL_PAIN_AND_SUFFERING, false);
|
||||
}
|
||||
events.ScheduleEvent(EVENT_PAIN_AND_SUFFERING, (IsHeroic() ? urand(1250, 1750) : urand(1750, 2250)), EVENT_GROUP_ABILITIES);
|
||||
events.Repeat((IsHeroic() ? randtime(1250ms, 1750ms) : randtime(1750ms, 2250ms)));
|
||||
break;
|
||||
case EVENT_SUMMON_ICE_SPHERE:
|
||||
me->CastSpell((Unit*)nullptr, SPELL_SUMMON_ICE_SPHERE, false);
|
||||
@@ -1098,21 +1098,21 @@ public:
|
||||
break;
|
||||
case EVENT_DEFILE:
|
||||
{
|
||||
uint32 evTime = events.GetNextEventTime(EVENT_SUMMON_VALKYR);
|
||||
Milliseconds evTime = events.GetTimeUntilEvent(EVENT_SUMMON_VALKYR);
|
||||
// if defile (cast time 2sec) is less than 3 before valkyr appears
|
||||
// we've to decide
|
||||
if (evTime && (events.GetTimer() > evTime || evTime - events.GetTimer() < 5000))
|
||||
if (evTime < 5s)
|
||||
{
|
||||
// if valkyr is less than 1.5 secs after defile (cast time 2 sec) then we've a sync issue, so
|
||||
// we need to cancel it (break) and schedule a defile to be casted 5 or 4 seconds after valkyr
|
||||
if (events.GetTimer() > evTime || evTime - events.GetTimer() < 3500)
|
||||
if (evTime < 3500ms)
|
||||
{
|
||||
uint32 t = events.GetTimer() > evTime ? 0 : evTime - events.GetTimer();
|
||||
events.ScheduleEvent(EVENT_DEFILE, t + (Is25ManRaid() ? 5000 : 4000), EVENT_GROUP_ABILITIES);
|
||||
Milliseconds t = evTime > 0ms ? evTime : 0ms;
|
||||
events.ScheduleEvent(EVENT_DEFILE, t + (Is25ManRaid() ? 5s : 4s), EVENT_GROUP_ABILITIES);
|
||||
break;
|
||||
}
|
||||
|
||||
// if valkyr is coming between 1.5 and 3 seconds after defile then we've to
|
||||
// if valkyr is coming within 2,5 seconds after defile then we've to
|
||||
// delay valkyr just a bit
|
||||
events.RescheduleEvent(EVENT_SUMMON_VALKYR, 5s, EVENT_GROUP_ABILITIES);
|
||||
}
|
||||
@@ -1150,12 +1150,9 @@ public:
|
||||
|
||||
// schedule a defile (or reschedule it) if next defile event
|
||||
// doesn't exist ( now > next defile ) or defile is coming too soon
|
||||
uint32 minTime = (Is25ManRaid() ? 5000 : 4000);
|
||||
if (uint32 evTime = events.GetNextEventTime(EVENT_DEFILE))
|
||||
if (events.GetTimer() > evTime || evTime - events.GetTimer() < minTime)
|
||||
{
|
||||
events.RescheduleEvent(EVENT_DEFILE, minTime, EVENT_GROUP_ABILITIES);
|
||||
}
|
||||
Milliseconds minTime = (Is25ManRaid() ? 5s : 4s);
|
||||
if (events.GetTimeUntilEvent(EVENT_DEFILE) < minTime)
|
||||
events.RescheduleEvent(EVENT_DEFILE, minTime, EVENT_GROUP_ABILITIES);
|
||||
}
|
||||
break;
|
||||
case EVENT_VILE_SPIRITS:
|
||||
@@ -1180,7 +1177,7 @@ public:
|
||||
me->SetReactState(REACT_PASSIVE);
|
||||
me->AttackStop();
|
||||
events.ScheduleEvent(EVENT_START_ATTACK, 55s);
|
||||
events.DelayEvents(52500, EVENT_GROUP_VILE_SPIRITS);
|
||||
events.DelayEvents(52500ms, EVENT_GROUP_VILE_SPIRITS);
|
||||
events.CancelEvent(EVENT_DEFILE);
|
||||
events.CancelEvent(EVENT_SOUL_REAPER);
|
||||
events.ScheduleEvent(EVENT_FROSTMOURNE_HEROIC, 6s, EVENT_GROUP_ABILITIES);
|
||||
@@ -1508,9 +1505,9 @@ public:
|
||||
theLichKing->GetMotionMaster()->MovePoint(0, CenterPosition);
|
||||
uint32 travelTime = 1000 * theLichKing->GetExactDist(&CenterPosition) / theLichKing->GetSpeed(MOVE_WALK) + 1000;
|
||||
|
||||
_events.ScheduleEvent(EVENT_OUTRO_LK_TALK_4, 1 + travelTime);
|
||||
_events.ScheduleEvent(EVENT_OUTRO_LK_RAISE_DEAD, 1000 + travelTime);
|
||||
_events.ScheduleEvent(EVENT_OUTRO_LK_TALK_5, 29000 + travelTime);
|
||||
_events.ScheduleEvent(EVENT_OUTRO_LK_TALK_4, Milliseconds(1 + travelTime));
|
||||
_events.ScheduleEvent(EVENT_OUTRO_LK_RAISE_DEAD, Milliseconds(1000 + travelTime));
|
||||
_events.ScheduleEvent(EVENT_OUTRO_LK_TALK_5, Milliseconds(29000 + travelTime));
|
||||
}
|
||||
break;
|
||||
case EVENT_OUTRO_LK_TALK_4:
|
||||
@@ -2620,7 +2617,7 @@ public:
|
||||
me->GetMotionMaster()->Clear();
|
||||
me->StopMovingOnCurrentPos();
|
||||
|
||||
_events.ScheduleEvent(EVENT_MOVE_TO_DROP_POS, 0);
|
||||
_events.ScheduleEvent(EVENT_MOVE_TO_DROP_POS, 0ms);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -679,7 +679,7 @@ public:
|
||||
{
|
||||
case 1000:
|
||||
case 11000:
|
||||
_events.ScheduleEvent(EVENT_ACTIVATE_TRAP, uint32(action));
|
||||
_events.ScheduleEvent(EVENT_ACTIVATE_TRAP, Milliseconds(action));
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@@ -2796,38 +2796,38 @@ class SeveredEssenceSpellInfo
|
||||
public:
|
||||
uint8 Class;
|
||||
uint32 id;
|
||||
uint32 cooldown_ms;
|
||||
Milliseconds cooldown_ms;
|
||||
uint8 targetType;
|
||||
float range;
|
||||
};
|
||||
|
||||
SeveredEssenceSpellInfo sesi_spells[] =
|
||||
{
|
||||
{CLASS_SHAMAN, 71938, 5000, 1, 0.0f},
|
||||
{CLASS_PALADIN, 57767, 8000, 2, 30.0f},
|
||||
{CLASS_WARLOCK, 71937, 10000, 1, 0.0f},
|
||||
{CLASS_DEATH_KNIGHT, 49576, 15000, 1, 30.0f},
|
||||
{CLASS_ROGUE, 71933, 8000, 1, 0.0f},
|
||||
{CLASS_MAGE, 71928, 4000, 1, 40.0f},
|
||||
{CLASS_PALADIN, 71930, 5000, 2, 40.0f},
|
||||
{CLASS_ROGUE, 71955, 40000, 1, 30.0f},
|
||||
{CLASS_PRIEST, 71931, 5000, 2, 40.0f},
|
||||
{CLASS_SHAMAN, 71934, 7000, 1, 0.0f},
|
||||
{CLASS_DRUID, 71925, 5000, 1, 0.0f},
|
||||
{CLASS_DEATH_KNIGHT, 71951, 8000, 1, 0.0f},
|
||||
{CLASS_DEATH_KNIGHT, 71924, 8000, 1, 0.0f},
|
||||
{CLASS_WARLOCK, 71965, 20000, 0, 0.0f},
|
||||
{CLASS_PRIEST, 71932, 8000, 2, 40.0f},
|
||||
{CLASS_DRUID, 71926, 10000, 1, 0.0f},
|
||||
{CLASS_WARLOCK, 71936, 9000, 1, 0.0f},
|
||||
{CLASS_ROGUE, 57640, 3000, 1, 0.0f},
|
||||
{CLASS_WARRIOR, 71961, 5000, 1, 0.0f},
|
||||
{CLASS_MAGE, 71929, 10000, 1, 0.0f},
|
||||
{CLASS_WARRIOR, 53395, 5000, 1, 0.0f},
|
||||
{CLASS_WARRIOR, 71552, 5000, 1, 0.0f},
|
||||
{CLASS_HUNTER, 36984, 7000, 1, 0.0f},
|
||||
{CLASS_HUNTER, 29576, 5000, 1, 0.0f},
|
||||
{0, 0, 0, 0, 0.0f},
|
||||
{ CLASS_SHAMAN, 71938, 5s, 1, 0.0f },
|
||||
{ CLASS_PALADIN, 57767, 8s, 2, 30.0f },
|
||||
{ CLASS_WARLOCK, 71937, 10s, 1, 0.0f },
|
||||
{ CLASS_DEATH_KNIGHT, 49576, 15s, 1, 30.0f },
|
||||
{ CLASS_ROGUE, 71933, 8s, 1, 0.0f },
|
||||
{ CLASS_MAGE, 71928, 4s, 1, 40.0f },
|
||||
{ CLASS_PALADIN, 71930, 5s, 2, 40.0f },
|
||||
{ CLASS_ROGUE, 71955, 40s, 1, 30.0f },
|
||||
{ CLASS_PRIEST, 71931, 5s, 2, 40.0f },
|
||||
{ CLASS_SHAMAN, 71934, 7s, 1, 0.0f },
|
||||
{ CLASS_DRUID, 71925, 5s, 1, 0.0f },
|
||||
{ CLASS_DEATH_KNIGHT, 71951, 8s, 1, 0.0f },
|
||||
{ CLASS_DEATH_KNIGHT, 71924, 8s, 1, 0.0f },
|
||||
{ CLASS_WARLOCK, 71965, 20s, 0, 0.0f },
|
||||
{ CLASS_PRIEST, 71932, 8s, 2, 40.0f },
|
||||
{ CLASS_DRUID, 71926, 10s, 1, 0.0f },
|
||||
{ CLASS_WARLOCK, 71936, 9s, 1, 0.0f },
|
||||
{ CLASS_ROGUE, 57640, 3s, 1, 0.0f },
|
||||
{ CLASS_WARRIOR, 71961, 5s, 1, 0.0f },
|
||||
{ CLASS_MAGE, 71929, 10s, 1, 0.0f },
|
||||
{ CLASS_WARRIOR, 53395, 5s, 1, 0.0f },
|
||||
{ CLASS_WARRIOR, 71552, 5s, 1, 0.0f },
|
||||
{ CLASS_HUNTER, 36984, 7s, 1, 0.0f },
|
||||
{ CLASS_HUNTER, 29576, 5s, 1, 0.0f },
|
||||
{ 0, 0, 0ms, 0, 0.0f }
|
||||
};
|
||||
|
||||
class npc_icc_severed_essence : public CreatureScript
|
||||
@@ -2862,7 +2862,7 @@ public:
|
||||
if (sesi_spells[i].id)
|
||||
{
|
||||
if (Class == sesi_spells[i].Class)
|
||||
events.ScheduleEvent(i + 1, sesi_spells[i].cooldown_ms / 4);
|
||||
events.ScheduleEvent(i + 1, Milliseconds(sesi_spells[i].cooldown_ms / 4));
|
||||
}
|
||||
else
|
||||
break;
|
||||
@@ -2895,7 +2895,7 @@ public:
|
||||
if (target)
|
||||
me->CastSpell(target, sesi_spells[e - 1].id, TRIGGERED_IGNORE_SHAPESHIFT);
|
||||
|
||||
events.RepeatEvent(sesi_spells[e - 1].cooldown_ms);
|
||||
events.Repeat(sesi_spells[e - 1].cooldown_ms);
|
||||
}
|
||||
|
||||
if (Class == CLASS_HUNTER)
|
||||
@@ -3337,7 +3337,7 @@ public:
|
||||
void ScheduleBroodlings()
|
||||
{
|
||||
for (uint8 i = 0; i < 30; ++i)
|
||||
events.ScheduleEvent(EVENT_SUMMON_BROODLING, 10000 + i * 350);
|
||||
events.ScheduleEvent(EVENT_SUMMON_BROODLING, Milliseconds(10000 + i * 350));
|
||||
}
|
||||
|
||||
void SummonBroodling()
|
||||
@@ -3521,7 +3521,7 @@ public:
|
||||
me->CastSpell(me, SPELL_GIANT_INSECT_SWARM, true);
|
||||
|
||||
for (uint8 i = 0; i < 60; ++i)
|
||||
events.ScheduleEvent(EVENT_GAUNTLET_PHASE1, i * 1000);
|
||||
events.ScheduleEvent(EVENT_GAUNTLET_PHASE1, Seconds(i));
|
||||
events.ScheduleEvent(EVENT_GAUNTLET_PHASE2, 1min);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -268,7 +268,7 @@ public:
|
||||
if (GetBossState(DATA_LADY_DEATHWHISPER) == DONE && GetBossState(DATA_ICECROWN_GUNSHIP_BATTLE) != DONE)
|
||||
SpawnGunship();
|
||||
|
||||
if (GetBossState(DATA_SINDRAGOSA) != DONE && IsSindragosaIntroDone && !GetCreature(DATA_SINDRAGOSA) && Events.GetTimeUntilEvent(EVENT_RESPAWN_SINDRAGOSA) == Milliseconds::max())
|
||||
if (GetBossState(DATA_SINDRAGOSA) != DONE && IsSindragosaIntroDone && !GetCreature(DATA_SINDRAGOSA) && !Events.HasTimeUntilEvent(EVENT_RESPAWN_SINDRAGOSA))
|
||||
{
|
||||
Events.ScheduleEvent(EVENT_RESPAWN_SINDRAGOSA, 30s);
|
||||
}
|
||||
|
||||
@@ -115,7 +115,7 @@ public:
|
||||
me->SetInCombatWithZone();
|
||||
events.ScheduleEvent(EVENT_MORTAL_WOUND, 10s);
|
||||
events.ScheduleEvent(EVENT_ENRAGE, 22s);
|
||||
events.ScheduleEvent(EVENT_DECIMATE, RAID_MODE(110000, 90000));
|
||||
events.ScheduleEvent(EVENT_DECIMATE, RAID_MODE(110s, 90s));
|
||||
events.ScheduleEvent(EVENT_BERSERK, 6min);
|
||||
events.ScheduleEvent(EVENT_SUMMON_ZOMBIE, 10s);
|
||||
events.ScheduleEvent(EVENT_CAN_EAT_ZOMBIE, 1s);
|
||||
@@ -194,7 +194,7 @@ public:
|
||||
case EVENT_DECIMATE:
|
||||
Talk(EMOTE_DECIMATE);
|
||||
me->CastSpell(me, RAID_MODE(SPELL_DECIMATE_10, SPELL_DECIMATE_25), false);
|
||||
events.RepeatEvent(RAID_MODE(110000, 90000));
|
||||
events.Repeat(RAID_MODE(110s, 90s));
|
||||
break;
|
||||
case EVENT_SUMMON_ZOMBIE:
|
||||
{
|
||||
@@ -218,7 +218,7 @@ public:
|
||||
break;
|
||||
}
|
||||
case EVENT_CAN_EAT_ZOMBIE:
|
||||
events.RepeatEvent(1000);
|
||||
events.Repeat(1s);
|
||||
if (me->GetVictim()->GetEntry() == NPC_ZOMBIE_CHOW && me->IsWithinMeleeRange(me->GetVictim()))
|
||||
{
|
||||
me->CastCustomSpell(SPELL_CHOW_SEARCHER, SPELLVALUE_RADIUS_MOD, 20000, me, true);
|
||||
|
||||
@@ -440,7 +440,7 @@ public:
|
||||
if (gothikWaves[waveCount][0])
|
||||
{
|
||||
SummonHelpers(gothikWaves[waveCount][0]);
|
||||
events.RepeatEvent(gothikWaves[waveCount][1]);
|
||||
events.Repeat(Milliseconds(gothikWaves[waveCount][1]));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -522,7 +522,7 @@ public:
|
||||
events.ScheduleEvent(EVENT_SHADOW_BOLT_VOLLEY, 3s);
|
||||
break;
|
||||
case NPC_DEAD_RIDER:
|
||||
events.ScheduleEvent(EVENT_DRAIN_LIFE, 2000ms, 3500ms);
|
||||
events.ScheduleEvent(EVENT_DRAIN_LIFE, 2s, 3500ms);
|
||||
events.ScheduleEvent(EVENT_UNHOLY_FRENZY, 5s, 9s);
|
||||
break;
|
||||
case NPC_DEAD_HORSE:
|
||||
|
||||
@@ -102,7 +102,7 @@ public:
|
||||
events.ScheduleEvent(EVENT_POISON_CLOUD, 15s);
|
||||
events.ScheduleEvent(EVENT_MUTATING_INJECTION, 20s);
|
||||
events.ScheduleEvent(EVENT_SLIME_SPRAY, 10s);
|
||||
events.ScheduleEvent(EVENT_BERSERK, RAID_MODE(720000, 540000));
|
||||
events.ScheduleEvent(EVENT_BERSERK, RAID_MODE(720s, 540s));
|
||||
}
|
||||
|
||||
void SpellHitTarget(Unit* target, SpellInfo const* spellInfo) override
|
||||
@@ -177,7 +177,7 @@ public:
|
||||
{
|
||||
me->CastSpell(target, SPELL_MUTATING_INJECTION, false);
|
||||
}
|
||||
events.RepeatEvent(6000 + uint32(120 * me->GetHealthPct()));
|
||||
events.Repeat(Milliseconds(6000 + uint32(120 * me->GetHealthPct())));
|
||||
break;
|
||||
}
|
||||
DoMeleeAttackIfReady();
|
||||
|
||||
@@ -451,7 +451,7 @@ public:
|
||||
cr->AI()->Talk(SAY_ANSWER_REQUEST);
|
||||
|
||||
for (uint8 i = 0 ; i < RAID_MODE(2, 4); ++i)
|
||||
events.ScheduleEvent(EVENT_SUMMON_GUARDIAN_OF_ICECROWN, 10000 + (i * 5000));
|
||||
events.ScheduleEvent(EVENT_SUMMON_GUARDIAN_OF_ICECROWN, Milliseconds(10000 + (i * 5000)));
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -280,7 +280,7 @@ public:
|
||||
{
|
||||
cr->GetMotionMaster()->MoveRandom(40);
|
||||
}
|
||||
events.RepeatEvent(RAID_MODE(8000, 6500));
|
||||
events.Repeat(RAID_MODE(8000ms, 6500ms));
|
||||
return;
|
||||
}
|
||||
case EVENT_FLIGHT_START:
|
||||
@@ -349,7 +349,7 @@ public:
|
||||
blockList.push_back((*itr)->GetGUID());
|
||||
currentTarget = (*itr)->GetGUID();
|
||||
--iceboltCount;
|
||||
events.ScheduleEvent(EVENT_FLIGHT_ICEBOLT, (me->GetExactDist(*itr) / 13.0f)*IN_MILLISECONDS);
|
||||
events.ScheduleEvent(EVENT_FLIGHT_ICEBOLT, Seconds(uint32(me->GetExactDist(*itr) / 13.0f)));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -471,7 +471,7 @@ public:
|
||||
me->SetDisableGravity(true);
|
||||
me->GetMotionMaster()->MoveTakeoff(MI_POINT_VORTEX_TAKEOFF, me->GetPositionX(), me->GetPositionY(), CenterPos.GetPositionZ() + 20.0f, 7.0f);
|
||||
|
||||
events.DelayEvents(25000, 1); // don't delay berserk (group 0)
|
||||
events.DelayEvents(25s, 1); // don't delay berserk (group 0)
|
||||
}
|
||||
break;
|
||||
case EVENT_VORTEX_FLY_TO_CENTER:
|
||||
@@ -674,7 +674,7 @@ public:
|
||||
case EVENT_CHECK_TRASH_DEAD:
|
||||
{
|
||||
if (me->FindNearestCreature(NPC_SCION_OF_ETERNITY, 250.0f, true) || me->FindNearestCreature(NPC_NEXUS_LORD, 250.0f, true))
|
||||
events.RepeatEvent(3000);
|
||||
events.Repeat(3s);
|
||||
else
|
||||
{
|
||||
me->SendMeleeAttackStop();
|
||||
|
||||
@@ -94,7 +94,7 @@ struct boss_anomalus : public BossAI
|
||||
{
|
||||
if (activeRifts > 0 && --activeRifts == 0 && me->HasAura(SPELL_RIFT_SHIELD))
|
||||
{
|
||||
events.DelayEvents(me->GetAura(SPELL_RIFT_SHIELD)->GetDuration() - 46000);
|
||||
events.DelayEvents(Milliseconds(me->GetAura(SPELL_RIFT_SHIELD)->GetDuration() - 46000));
|
||||
me->RemoveAura(SPELL_RIFT_SHIELD);
|
||||
me->InterruptNonMeleeSpells(false);
|
||||
}
|
||||
@@ -114,7 +114,6 @@ struct boss_anomalus : public BossAI
|
||||
BossAI::JustEngagedWith(who);
|
||||
|
||||
activeRifts = 0;
|
||||
events.SetTimer(45000);
|
||||
events.ScheduleEvent(EVENT_ANOMALUS_SPARK, 5s);
|
||||
events.ScheduleEvent(EVENT_ANOMALUS_HEALTH, 1s);
|
||||
events.ScheduleEvent(EVENT_ANOMALUS_SPAWN_RIFT, IsHeroic() ? 15s : 25s);
|
||||
@@ -164,7 +163,7 @@ struct boss_anomalus : public BossAI
|
||||
Talk(EMOTE_RIFT);
|
||||
me->CastSpell(me, SPELL_CREATE_RIFT, false);
|
||||
//Once we hit 51% hp mark, after each rift we spawn an empowered
|
||||
events.ScheduleEvent(me->HealthBelowPct(51) ? EVENT_ANOMALUS_SPAWN_RIFT_EMPOWERED : EVENT_ANOMALUS_SPAWN_RIFT, IsHeroic() ? 15000 : 25000);
|
||||
events.ScheduleEvent(me->HealthBelowPct(51) ? EVENT_ANOMALUS_SPAWN_RIFT_EMPOWERED : EVENT_ANOMALUS_SPAWN_RIFT, IsHeroic() ? 15s : 25s);
|
||||
break;
|
||||
case EVENT_ANOMALUS_SPAWN_RIFT_EMPOWERED:
|
||||
Talk(SAY_RIFT);
|
||||
|
||||
@@ -75,7 +75,7 @@ struct boss_keristrasza : public BossAI
|
||||
|
||||
me->CastSpell(me, SPELL_INTENSE_COLD, true);
|
||||
events.ScheduleEvent(EVENT_CRYSTALFIRE_BREATH, 14s);
|
||||
events.ScheduleEvent(EVENT_CRYSTAL_CHAINS, DUNGEON_MODE(20000, 11000));
|
||||
events.ScheduleEvent(EVENT_CRYSTAL_CHAINS, DUNGEON_MODE(20s, 11s));
|
||||
events.ScheduleEvent(EVENT_TAIL_SWEEP, 5s);
|
||||
events.ScheduleEvent(EVENT_HEALTH_CHECK, 1s);
|
||||
events.ScheduleEvent(EVENT_ACHIEVEMENT_CHECK, 1s);
|
||||
@@ -89,7 +89,7 @@ struct boss_keristrasza : public BossAI
|
||||
|
||||
void KilledUnit(Unit*) override
|
||||
{
|
||||
if (events.GetNextEventTime(EVENT_KILL_TALK) == 0)
|
||||
if (!events.HasTimeUntilEvent(EVENT_KILL_TALK))
|
||||
{
|
||||
Talk(SAY_SLAY);
|
||||
events.ScheduleEvent(EVENT_KILL_TALK, 6s);
|
||||
@@ -174,7 +174,7 @@ struct boss_keristrasza : public BossAI
|
||||
me->CastSpell(me, SPELL_CRYSTALIZE, false);
|
||||
else if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 40.0f, true))
|
||||
me->CastSpell(target, SPELL_CRYSTAL_CHAINS, false);
|
||||
events.ScheduleEvent(EVENT_CRYSTAL_CHAINS, DUNGEON_MODE(20000, 11000));
|
||||
events.ScheduleEvent(EVENT_CRYSTAL_CHAINS, DUNGEON_MODE(20s, 11s));
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -132,7 +132,7 @@ struct boss_magus_telestra : public BossAI
|
||||
|
||||
void KilledUnit(Unit*) override
|
||||
{
|
||||
if (events.GetNextEventTime(EVENT_KILL_TALK) == 0)
|
||||
if (!events.HasTimeUntilEvent(EVENT_KILL_TALK))
|
||||
{
|
||||
Talk(SAY_KILL);
|
||||
events.ScheduleEvent(EVENT_KILL_TALK, 6s);
|
||||
|
||||
@@ -93,7 +93,7 @@ struct boss_ormorok : public BossAI
|
||||
|
||||
void KilledUnit(Unit* /*victim*/) override
|
||||
{
|
||||
if (events.GetNextEventTime(EVENT_KILL_TALK) == 0)
|
||||
if (!events.HasTimeUntilEvent(EVENT_KILL_TALK))
|
||||
{
|
||||
Talk(SAY_KILL);
|
||||
events.ScheduleEvent(EVENT_KILL_TALK, 6s);
|
||||
|
||||
@@ -208,7 +208,7 @@ public:
|
||||
break;
|
||||
case EVENT_SUMMON_WHELPS:
|
||||
for( uint8 i = 0; i < 5; ++i )
|
||||
events.ScheduleEvent(EVENT_SUMMON_SINGLE_WHELP, urand(0, 8000));
|
||||
events.ScheduleEvent(EVENT_SUMMON_SINGLE_WHELP, 0ms, 8s);
|
||||
events.Repeat(40s);
|
||||
break;
|
||||
case EVENT_SUMMON_SINGLE_WHELP:
|
||||
|
||||
@@ -300,7 +300,7 @@ public:
|
||||
me->ClearUnitState(UNIT_STATE_CASTING);
|
||||
DoCastAOE(DUNGEON_MODE(SPELL_EMPOWERED_ARCANE_EXPLOSION_N, SPELL_EMPOWERED_ARCANE_EXPLOSION_H));
|
||||
me->AddUnitState(UNIT_STATE_CASTING);
|
||||
events.RescheduleEvent(EVENT_TELE_BACK, DUNGEON_MODE(9000, 7000));
|
||||
events.RescheduleEvent(EVENT_TELE_BACK, DUNGEON_MODE(9s, 7s));
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -252,8 +252,8 @@ public:
|
||||
me->CastSpell(me, SPELL_DEFENSIVE_STANCE, true);
|
||||
me->CastSpell(me, SPELL_DEFENSIVE_AURA, true);
|
||||
|
||||
events.DelayEvents(20000, STANCE_BERSERKER);
|
||||
events.DelayEvents(20000, STANCE_BATTLE);
|
||||
events.DelayEvents(20s, STANCE_BERSERKER);
|
||||
events.DelayEvents(20s, STANCE_BATTLE);
|
||||
|
||||
SetEquipmentSlots(false, EQUIP_SWORD, EQUIP_SHIELD, EQUIP_NO_CHANGE);
|
||||
break;
|
||||
@@ -263,8 +263,8 @@ public:
|
||||
me->CastSpell(me, SPELL_BERSERKER_STANCE, true);
|
||||
me->CastSpell(me, SPELL_BERSERKER_AURA, true);
|
||||
|
||||
events.DelayEvents(20000, STANCE_DEFENSIVE);
|
||||
events.DelayEvents(20000, STANCE_BATTLE);
|
||||
events.DelayEvents(20s, STANCE_DEFENSIVE);
|
||||
events.DelayEvents(20s, STANCE_BATTLE);
|
||||
|
||||
SetEquipmentSlots(false, EQUIP_SWORD, EQUIP_SWORD, EQUIP_NO_CHANGE);
|
||||
break;
|
||||
@@ -274,8 +274,8 @@ public:
|
||||
me->CastSpell(me, SPELL_BATTLE_STANCE, true);
|
||||
me->CastSpell(me, SPELL_BATTLE_AURA, true);
|
||||
|
||||
events.DelayEvents(20000, STANCE_BERSERKER);
|
||||
events.DelayEvents(20000, STANCE_DEFENSIVE);
|
||||
events.DelayEvents(20s, STANCE_BERSERKER);
|
||||
events.DelayEvents(20s, STANCE_DEFENSIVE);
|
||||
|
||||
SetEquipmentSlots(false, EQUIP_MACE, EQUIP_UNEQUIP, EQUIP_NO_CHANGE);
|
||||
break;
|
||||
|
||||
@@ -426,7 +426,7 @@ public:
|
||||
|
||||
void JustEngagedWith(Unit*) override
|
||||
{
|
||||
events.ScheduleEvent(EVENT_TOXIC_VOLLEY, 5000);
|
||||
events.ScheduleEvent(EVENT_TOXIC_VOLLEY, 5s);
|
||||
}
|
||||
void JustDied(Unit* /*killer*/) override
|
||||
{
|
||||
|
||||
@@ -443,8 +443,8 @@ public:
|
||||
me->ReplaceAllNpcFlags(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER);
|
||||
me->SetOrientation(3.132660f);
|
||||
me->SendMovementFlagUpdate();
|
||||
events.ScheduleEvent(EVENT_SJONNIR_END_BRANN_YELL, 10000ms);
|
||||
events.ScheduleEvent(EVENT_SJONNIR_END_BRANN_LAST_YELL, 22000ms);
|
||||
events.ScheduleEvent(EVENT_SJONNIR_END_BRANN_YELL, 10s);
|
||||
events.ScheduleEvent(EVENT_SJONNIR_END_BRANN_LAST_YELL, 22s);
|
||||
break;
|
||||
case ACTION_SJONNIR_WIPE_START:
|
||||
Reset();
|
||||
@@ -508,7 +508,7 @@ public:
|
||||
kaddrak->CastSpell(plr, DUNGEON_MODE(SPELL_GLARE_OF_THE_TRIBUNAL, SPELL_GLARE_OF_THE_TRIBUNAL_H), true);
|
||||
}
|
||||
|
||||
events.RescheduleEvent(EVENT_KADDRAK_SWITCH_EYE, 1000ms);
|
||||
events.RescheduleEvent(EVENT_KADDRAK_SWITCH_EYE, 1s);
|
||||
events.Repeat(1500ms);
|
||||
break;
|
||||
}
|
||||
@@ -550,7 +550,7 @@ public:
|
||||
|
||||
darkMatterTargetGUID = cr->GetGUID();
|
||||
|
||||
events.RescheduleEvent(EVENT_DARK_MATTER_START, 5000ms);
|
||||
events.RescheduleEvent(EVENT_DARK_MATTER_START, 5s);
|
||||
}
|
||||
}
|
||||
events.Repeat(30s);
|
||||
@@ -575,7 +575,7 @@ public:
|
||||
|
||||
if (darkMatterTarget->GetDistance(plr) < 15.0f)
|
||||
{
|
||||
events.RescheduleEvent(EVENT_DARK_MATTER_END, 3000ms);
|
||||
events.RescheduleEvent(EVENT_DARK_MATTER_END, 3s);
|
||||
}
|
||||
else if (darkMatterTarget->GetDistance(plr) < 30.0f)
|
||||
{
|
||||
@@ -625,12 +625,12 @@ public:
|
||||
uint32 Time = 40000 - (2500 * WaveNum);
|
||||
SummonCreatures(NPC_DARK_RUNE_PROTECTOR, 3, 0);
|
||||
if (WaveNum > 2)
|
||||
events.ScheduleEvent(EVENT_SUMMON_STORMCALLER, urand(10 - WaveNum, 15 - WaveNum) * 1000);
|
||||
events.ScheduleEvent(EVENT_SUMMON_STORMCALLER, Seconds(urand(10 - WaveNum, 15 - WaveNum)));
|
||||
if (WaveNum > 5)
|
||||
events.ScheduleEvent(EVENT_SUMMON_CUSTODIAN, urand(10 - WaveNum, 15 - WaveNum) * 1000);
|
||||
events.ScheduleEvent(EVENT_SUMMON_CUSTODIAN, Seconds(urand(10 - WaveNum, 15 - WaveNum)));
|
||||
|
||||
WaveNum++;
|
||||
events.RepeatEvent(Time);
|
||||
events.Repeat(Milliseconds(Time));
|
||||
break;
|
||||
}
|
||||
case EVENT_SUMMON_STORMCALLER:
|
||||
@@ -931,10 +931,10 @@ void brann_bronzebeard::brann_bronzebeardAI::WaypointReached(uint32 id)
|
||||
SetEscortPaused(true);
|
||||
me->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_USE_STANDING);
|
||||
me->SendMovementFlagUpdate();
|
||||
events.ScheduleEvent(EVENT_DOOR_OPEN, 1500);
|
||||
events.ScheduleEvent(EVENT_DOOR_OPEN, 1500ms);
|
||||
me->SetWalk(false);
|
||||
me->SetSpeed(MOVE_RUN, 1.0f, false);
|
||||
events.ScheduleEvent(EVENT_RESUME_ESCORT, 3500);
|
||||
events.ScheduleEvent(EVENT_RESUME_ESCORT, 3500ms);
|
||||
break;
|
||||
//Brann stops in front of Sjonnir and awaits the start of the battle.
|
||||
case 36:
|
||||
|
||||
@@ -484,7 +484,7 @@ public:
|
||||
return;
|
||||
}
|
||||
|
||||
uint32 introDelay = 0;
|
||||
Milliseconds introDelay = 0ms;
|
||||
me->setActive(true);
|
||||
me->SetInCombatWithZone();
|
||||
me->SetUnitFlag(UNIT_FLAG_NOT_SELECTABLE);
|
||||
@@ -495,27 +495,27 @@ public:
|
||||
if (!_firstPull)
|
||||
{
|
||||
events.ScheduleEvent(EVENT_START_COMBAT, 0ms);
|
||||
introDelay = 8000;
|
||||
introDelay = 8s;
|
||||
}
|
||||
else
|
||||
{
|
||||
summons.DespawnEntry(NPC_AZEROTH);
|
||||
_firstPull = false;
|
||||
Talk(SAY_ALGALON_START_TIMER);
|
||||
introDelay = 22000;
|
||||
introDelay = 22s;
|
||||
events.ScheduleEvent(EVENT_START_COMBAT, 14s);
|
||||
m_pInstance->SetData(DATA_DESPAWN_ALGALON, 0);
|
||||
}
|
||||
|
||||
events.ScheduleEvent(EVENT_REMOVE_UNNATTACKABLE, introDelay - 500);
|
||||
events.ScheduleEvent(EVENT_REMOVE_UNNATTACKABLE, introDelay - 500ms);
|
||||
events.ScheduleEvent(EVENT_INTRO_TIMER_DONE, introDelay);
|
||||
events.ScheduleEvent(EVENT_QUANTUM_STRIKE, 3500 + introDelay);
|
||||
events.ScheduleEvent(EVENT_PHASE_PUNCH, 15500 + introDelay);
|
||||
events.ScheduleEvent(EVENT_SUMMON_COLLAPSING_STAR, 16500 + introDelay);
|
||||
events.ScheduleEvent(EVENT_COSMIC_SMASH, 25000 + introDelay);
|
||||
events.ScheduleEvent(EVENT_ACTIVATE_LIVING_CONSTELLATION, 50500 + introDelay);
|
||||
events.ScheduleEvent(EVENT_BIG_BANG, 90000 + introDelay);
|
||||
events.ScheduleEvent(EVENT_ASCEND_TO_THE_HEAVENS, 360000 + introDelay);
|
||||
events.ScheduleEvent(EVENT_QUANTUM_STRIKE, 3500ms + introDelay);
|
||||
events.ScheduleEvent(EVENT_PHASE_PUNCH, 15500ms + introDelay);
|
||||
events.ScheduleEvent(EVENT_SUMMON_COLLAPSING_STAR, 16500ms + introDelay);
|
||||
events.ScheduleEvent(EVENT_COSMIC_SMASH, 25s + introDelay);
|
||||
events.ScheduleEvent(EVENT_ACTIVATE_LIVING_CONSTELLATION, 50500ms + introDelay);
|
||||
events.ScheduleEvent(EVENT_BIG_BANG, 90s + introDelay);
|
||||
events.ScheduleEvent(EVENT_ASCEND_TO_THE_HEAVENS, 360s + introDelay);
|
||||
|
||||
events.ScheduleEvent(EVENT_CHECK_HERALD_ITEMS, 5s);
|
||||
DoCheckHeraldOfTheTitans();
|
||||
@@ -688,7 +688,7 @@ public:
|
||||
break;
|
||||
case EVENT_QUANTUM_STRIKE:
|
||||
me->CastSpell(me->GetVictim(), SPELL_QUANTUM_STRIKE, false);
|
||||
events.Repeat(3000ms, 4500ms);
|
||||
events.Repeat(3s, 4500ms);
|
||||
break;
|
||||
case EVENT_PHASE_PUNCH:
|
||||
me->CastSpell(me->GetVictim(), SPELL_PHASE_PUNCH, false);
|
||||
@@ -871,12 +871,12 @@ public:
|
||||
if (movementType != POINT_MOTION_TYPE)
|
||||
return;
|
||||
|
||||
uint32 delay = 1;
|
||||
Milliseconds delay = 1ms;
|
||||
_currentPoint = pointId + 1;
|
||||
switch (pointId)
|
||||
{
|
||||
case 2:
|
||||
delay = 8000;
|
||||
delay = 8s;
|
||||
me->SetWalk(true);
|
||||
break;
|
||||
case 6:
|
||||
@@ -1010,7 +1010,7 @@ public:
|
||||
break;
|
||||
case ACTION_BIG_BANG:
|
||||
events.SetPhase(PHASE_BIG_BANG);
|
||||
events.DelayEvents(9500);
|
||||
events.DelayEvents(9500ms);
|
||||
events.ScheduleEvent(EVENT_RESUME_UPDATING, 9500ms);
|
||||
break;
|
||||
}
|
||||
@@ -1146,7 +1146,7 @@ public:
|
||||
_locked = true;
|
||||
// Start Algalon event
|
||||
me->SetGameObjectFlag(GO_FLAG_IN_USE);
|
||||
events.ScheduleEvent(EVENT_DESPAWN_CONSOLE, 5000ms);
|
||||
events.ScheduleEvent(EVENT_DESPAWN_CONSOLE, 5s);
|
||||
if (Creature* brann = me->SummonCreature(NPC_BRANN_BRONZBEARD_ALG, BrannIntroSpawnPos))
|
||||
brann->AI()->DoAction(ACTION_START_INTRO);
|
||||
|
||||
|
||||
@@ -355,7 +355,7 @@ public:
|
||||
case EVENT_OVERWHELMING_POWER:
|
||||
Talk(SAY_STEELBREAKER_POWER);
|
||||
me->CastSpell(me->GetVictim(), SPELL_OVERWHELMING_POWER, true);
|
||||
events.RepeatEvent(RAID_MODE(61000, 36000));
|
||||
events.Repeat(RAID_MODE(61s, 36s));
|
||||
break;
|
||||
case EVENT_ENRAGE:
|
||||
Talk(SAY_STEELBREAKER_BERSERK);
|
||||
|
||||
@@ -255,7 +255,7 @@ public:
|
||||
case EVENT_SENTINEL_BLAST:
|
||||
me->CastSpell(me, SPELL_SENTINEL_BLAST, false);
|
||||
events.Repeat(35s);
|
||||
events.DelayEvents(5000, 0);
|
||||
events.DelayEvents(5s, 0);
|
||||
break;
|
||||
case EVENT_RESPAWN_FERAL_DEFENDER:
|
||||
{
|
||||
|
||||
@@ -266,7 +266,7 @@ public:
|
||||
Talk(SAY_EMOTE_SURGE_OF_DARKNESS);
|
||||
me->CastSpell(me, SPELL_SURGE_OF_DARKNESS, false);
|
||||
events.Repeat(63s);
|
||||
events.DelayEvents(10000, 1);
|
||||
events.DelayEvents(10s, 1);
|
||||
break;
|
||||
case EVENT_SPELL_MARK_OF_THE_FACELESS:
|
||||
{
|
||||
@@ -312,8 +312,8 @@ public:
|
||||
sv->GetMotionMaster()->MoveCharge(1852.78f, 81.38f, 342.461f, 28.0f);
|
||||
}
|
||||
|
||||
events.DelayEvents(12000, 0);
|
||||
events.DelayEvents(12000, 1);
|
||||
events.DelayEvents(12s, 0);
|
||||
events.DelayEvents(12s, 1);
|
||||
events.ScheduleEvent(EVENT_SARONITE_VAPORS_SWIRL, 6s);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -247,7 +247,7 @@ public:
|
||||
bShattered = false;
|
||||
lastShatterMSTime = 0;
|
||||
events.Reset();
|
||||
events.ScheduleEvent(EVENT_ACTIVATE_CONSTRUCT, RAID_MODE(40000, 30000));
|
||||
events.ScheduleEvent(EVENT_ACTIVATE_CONSTRUCT, RAID_MODE(40s, 30s));
|
||||
events.ScheduleEvent(EVENT_SPELL_SCORCH, 10s);
|
||||
events.ScheduleEvent(EVENT_SPELL_FLAME_JETS, 32s);
|
||||
events.ScheduleEvent(EVENT_GRAB, 25s);
|
||||
@@ -347,7 +347,7 @@ public:
|
||||
me->CastSpell(me, SPELL_BERSERK, true);
|
||||
break;
|
||||
}
|
||||
events.RepeatEvent(RAID_MODE(40000, 30000));
|
||||
events.Repeat(RAID_MODE(40s, 30s));
|
||||
break;
|
||||
case EVENT_SPELL_SCORCH:
|
||||
Talk(SAY_SCORCH);
|
||||
|
||||
@@ -378,8 +378,8 @@ public:
|
||||
events.ScheduleEvent(EVENT_COMPUTER_SAY_MINUTES, 3s);
|
||||
minutesTalkNum = Is25ManRaid() ? TALK_COMPUTER_TEN : TALK_COMPUTER_EIGHT;
|
||||
for (uint32 i = 0; i < uint32(TALK_COMPUTER_ZERO - minutesTalkNum - 1); ++i)
|
||||
events.ScheduleEvent(EVENT_COMPUTER_SAY_MINUTES, (i + 1)*MINUTE * IN_MILLISECONDS);
|
||||
events.ScheduleEvent(EVENT_COMPUTER_SAY_MINUTES, (TALK_COMPUTER_ZERO - minutesTalkNum)*MINUTE * IN_MILLISECONDS + 6000);
|
||||
events.ScheduleEvent(EVENT_COMPUTER_SAY_MINUTES, Milliseconds((i + 1) * 60000));
|
||||
events.ScheduleEvent(EVENT_COMPUTER_SAY_MINUTES, Milliseconds((TALK_COMPUTER_ZERO - minutesTalkNum) * 60000));
|
||||
}
|
||||
|
||||
// ensure LMK2 is at proper position
|
||||
|
||||
@@ -696,11 +696,11 @@ public:
|
||||
yoggb->AI()->Talk(EMOTE_YOGG_SARON_BRAIN_SHATTERED);
|
||||
}
|
||||
|
||||
uint32 timer = events.GetNextEventTime(EVENT_SARA_P2_OPEN_PORTALS);
|
||||
uint32 portalTime = (timer > events.GetTimer() ? timer - events.GetTimer() : 0);
|
||||
events.DelayEvents(param + 100);
|
||||
Milliseconds timer = events.GetTimeUntilEvent(EVENT_SARA_P2_OPEN_PORTALS);
|
||||
Milliseconds portalTime = (timer > 0ms ? timer : 0ms);
|
||||
events.DelayEvents(Milliseconds(param + 100));
|
||||
events.RescheduleEvent(EVENT_SARA_P2_OPEN_PORTALS, portalTime, 0, EVENT_PHASE_TWO);
|
||||
events.ScheduleEvent(EVENT_SARA_P2_REMOVE_STUN, param, 0, EVENT_PHASE_TWO);
|
||||
events.ScheduleEvent(EVENT_SARA_P2_REMOVE_STUN, Milliseconds(param), 0, EVENT_PHASE_TWO);
|
||||
me->CastSpell(me, SPELL_SHATTERED_ILLUSION, true);
|
||||
}
|
||||
|
||||
@@ -804,7 +804,7 @@ public:
|
||||
events.ScheduleEvent(EVENT_SARA_P1_SPELLS, 0ms, 1, EVENT_PHASE_ONE);
|
||||
break;
|
||||
case EVENT_SARA_P1_SUMMON:
|
||||
events.RepeatEvent(20000 - (std::min(_summonedGuardiansCount, (uint8)5) * 2000));
|
||||
events.Repeat(Milliseconds(20000 - (std::min(_summonedGuardiansCount, (uint8)5) * 2000)));
|
||||
++_summonedGuardiansCount;
|
||||
InformCloud();
|
||||
break;
|
||||
@@ -824,14 +824,14 @@ public:
|
||||
}
|
||||
|
||||
me->CastCustomSpell(spell, SPELLVALUE_MAX_TARGETS, 1, nullptr, false);
|
||||
events.RepeatEvent(me->GetMap()->Is25ManRaid() ? urand(0, 3000) : 4000 + urand(0, 2000));
|
||||
events.Repeat(me->GetMap()->Is25ManRaid() ? randtime(0ms, 3s) : randtime(4s, 6s));
|
||||
break;
|
||||
}
|
||||
case EVENT_SARA_P2_START:
|
||||
{
|
||||
EntryCheckPredicate pred(NPC_YOGG_SARON);
|
||||
summons.DoAction(ACTION_YOGG_SARON_APPEAR, pred);
|
||||
events.RescheduleEvent(EVENT_SARA_P2_SPAWN_START_TENTACLES, 500, 0, EVENT_PHASE_TWO);
|
||||
events.RescheduleEvent(EVENT_SARA_P2_SPAWN_START_TENTACLES, 500ms, 0, EVENT_PHASE_TWO);
|
||||
|
||||
// Spawn Brain!
|
||||
me->SummonCreature(NPC_BRAIN_OF_YOGG_SARON, 1981.3f, -25.43f, 265);
|
||||
@@ -856,15 +856,15 @@ public:
|
||||
break;
|
||||
case EVENT_SARA_P2_SUMMON_T1: // CRUSHER
|
||||
SpawnTentacle(NPC_CRUSHER_TENTACLE);
|
||||
events.RepeatEvent((50000 + urand(0, 10000)) * _summonSpeed);
|
||||
events.Repeat(Milliseconds(uint32((50000 + urand(0, 10000)) * _summonSpeed)));
|
||||
break;
|
||||
case EVENT_SARA_P2_SUMMON_T2: // CONSTRICTOR
|
||||
SpawnTentacle(NPC_CONSTRICTOR_TENTACLE);
|
||||
events.RepeatEvent((15000 + urand(0, 5000)) * _summonSpeed);
|
||||
events.Repeat(Milliseconds(uint32((15000 + urand(0, 5000))* _summonSpeed)));
|
||||
break;
|
||||
case EVENT_SARA_P2_SUMMON_T3: // CORRUPTOR
|
||||
SpawnTentacle(NPC_CORRUPTOR_TENTACLE);
|
||||
events.RepeatEvent((30000 + urand(0, 10000)) * _summonSpeed);
|
||||
events.Repeat(Milliseconds(uint32((30000 + urand(0, 10000))* _summonSpeed)));
|
||||
break;
|
||||
case EVENT_SARA_P2_BRAIN_LINK:
|
||||
me->CastCustomSpell(SPELL_BRAIN_LINK, SPELLVALUE_MAX_TARGETS, 1, me, false);
|
||||
@@ -901,9 +901,9 @@ public:
|
||||
events.ScheduleEvent(EVENT_SARA_P2_DEATH_RAY, 15s, 0, EVENT_PHASE_TWO);
|
||||
events.ScheduleEvent(EVENT_SARA_P2_SUMMON_T1, 50s, 60s, 0, EVENT_PHASE_TWO);
|
||||
events.ScheduleEvent(EVENT_SARA_P2_SUMMON_T2, 15s, 20s, 0, EVENT_PHASE_TWO);
|
||||
events.ScheduleEvent(EVENT_SARA_P2_SUMMON_T3, 30000 + urand(0, 10000), 0, EVENT_PHASE_TWO);
|
||||
events.ScheduleEvent(EVENT_SARA_P2_BRAIN_LINK, 0, 0, EVENT_PHASE_TWO);
|
||||
events.ScheduleEvent(EVENT_SARA_P2_OPEN_PORTALS, 60000, 0, EVENT_PHASE_TWO);
|
||||
events.ScheduleEvent(EVENT_SARA_P2_SUMMON_T3, 30s + randtime(0ms, 10s), 0, EVENT_PHASE_TWO);
|
||||
events.ScheduleEvent(EVENT_SARA_P2_BRAIN_LINK, 0ms, 0, EVENT_PHASE_TWO);
|
||||
events.ScheduleEvent(EVENT_SARA_P2_OPEN_PORTALS, 60s, 0, EVENT_PHASE_TWO);
|
||||
break;
|
||||
case EVENT_SARA_P1_BERSERK:
|
||||
if (me->GetInstanceScript())
|
||||
@@ -1167,20 +1167,20 @@ public:
|
||||
|
||||
me->RemoveAura(SPELL_SHADOW_BARRIER);
|
||||
|
||||
events.ScheduleEvent(EVENT_YS_LUNATIC_GAZE, 7000);
|
||||
events.ScheduleEvent(EVENT_YS_SHADOW_BEACON, 20000);
|
||||
events.ScheduleEvent(EVENT_YS_SUMMON_GUARDIAN, 0);
|
||||
events.ScheduleEvent(EVENT_YS_LUNATIC_GAZE, 7s);
|
||||
events.ScheduleEvent(EVENT_YS_SHADOW_BEACON, 20s);
|
||||
events.ScheduleEvent(EVENT_YS_SUMMON_GUARDIAN, 0ms);
|
||||
_thirdPhase = true;
|
||||
|
||||
Talk(SAY_YOGG_SARON_PHASE_3);
|
||||
}
|
||||
else if (param == ACTION_YOGG_SARON_HARD_MODE)
|
||||
{
|
||||
events.ScheduleEvent(EVENT_YS_DEAFENING_ROAR, 50000);
|
||||
events.ScheduleEvent(EVENT_YS_DEAFENING_ROAR, 50s);
|
||||
}
|
||||
else if (param == ACTION_YOGG_SARON_SHADOW_BEACON)
|
||||
{
|
||||
events.RescheduleEvent(EVENT_YS_SHADOW_BEACON, 40000);
|
||||
events.RescheduleEvent(EVENT_YS_SHADOW_BEACON, 40s);
|
||||
}
|
||||
else if (param == ACTION_REMOVE_STUN)
|
||||
{
|
||||
|
||||
@@ -111,8 +111,8 @@ struct npc_enslaved_proto_drake : public ScriptedAI
|
||||
{
|
||||
_events.Reset();
|
||||
_events.ScheduleEvent(EVENT_REND, 2s, 3s);
|
||||
_events.ScheduleEvent(EVENT_FLAME_BREATH, 5500ms, 7000ms);
|
||||
_events.ScheduleEvent(EVENT_KNOCKAWAY, 3500ms, 6000ms);
|
||||
_events.ScheduleEvent(EVENT_FLAME_BREATH, 5500ms, 7s);
|
||||
_events.ScheduleEvent(EVENT_KNOCKAWAY, 3500ms, 6s);
|
||||
}
|
||||
|
||||
void MovementInform(uint32 type, uint32 id) override
|
||||
@@ -167,7 +167,7 @@ struct npc_enslaved_proto_drake : public ScriptedAI
|
||||
break;
|
||||
case EVENT_KNOCKAWAY:
|
||||
DoCast(SPELL_KNOCK_AWAY);
|
||||
_events.ScheduleEvent(EVENT_KNOCKAWAY, 7000ms, 8500ms);
|
||||
_events.ScheduleEvent(EVENT_KNOCKAWAY, 7s, 8500ms);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
@@ -157,7 +157,7 @@ public:
|
||||
me->SetImmuneToAll(true);
|
||||
Started = true;
|
||||
me->setActive(true);
|
||||
events2.ScheduleEvent(EVENT_SVALA_START, 5000);
|
||||
events2.ScheduleEvent(EVENT_SVALA_START, 5s);
|
||||
if (Creature* pArthas = me->SummonCreature(NPC_ARTHAS, 295.81f, -366.16f, 92.57f, 1.58f, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 59000))
|
||||
ArthasGUID = pArthas->GetGUID();
|
||||
|
||||
@@ -339,7 +339,7 @@ public:
|
||||
me->SetControlled(true, UNIT_STATE_ROOT);
|
||||
}
|
||||
|
||||
events.DelayEvents(25001); // +1 just to be sure
|
||||
events.DelayEvents(25001ms); // +1 just to be sure
|
||||
events.ScheduleEvent(EVENT_SORROWGRAVE_RITUAL_SPELLS, 0ms);
|
||||
events.ScheduleEvent(EVENT_SORROWGRAVE_FINISH_RITUAL, 25s);
|
||||
return;
|
||||
|
||||
@@ -217,7 +217,7 @@ public:
|
||||
{
|
||||
if (me->GetHealth() < std::max(0.0f, float(me->GetMaxHealth() * (1.0f - (IsHeroic() ? 0.2f : 0.334f)*float(BoatNum + 1)))))
|
||||
{
|
||||
events.DelayEvents(12000);
|
||||
events.DelayEvents(12s);
|
||||
me->SetUnitFlag(UNIT_FLAG_NON_ATTACKABLE);
|
||||
me->InterruptNonMeleeSpells(true);
|
||||
me->CastSpell(me, SPELL_SCREAMS_OF_THE_DEAD, true);
|
||||
|
||||
@@ -121,7 +121,7 @@ public:
|
||||
while (entry1 == entry2);
|
||||
me->CastSpell((Unit*)nullptr, entry2, true);
|
||||
}
|
||||
events.RepeatEvent(45000);
|
||||
events.Repeat(45s);
|
||||
events.RescheduleEvent(EVENT_SPELL_ARCANE_BUFFET, 5s);
|
||||
events.RescheduleEvent(EVENT_CHECK_DISTANCE, 6s);
|
||||
}
|
||||
|
||||
@@ -92,7 +92,7 @@ public:
|
||||
uiFirstBoss = 0;
|
||||
uiSecondBoss = 0;
|
||||
events.Reset();
|
||||
events.RescheduleEvent(EVENT_CHECK_PLAYERS, 0);
|
||||
events.RescheduleEvent(EVENT_CHECK_PLAYERS, 0ms);
|
||||
GateHealth = 100;
|
||||
WaveCount = 0;
|
||||
PortalLocation = 0;
|
||||
@@ -666,7 +666,7 @@ public:
|
||||
EncounterStatus = NOT_STARTED;
|
||||
CLEANED = false;
|
||||
events.Reset();
|
||||
events.RescheduleEvent(EVENT_CHECK_PLAYERS, 0);
|
||||
events.RescheduleEvent(EVENT_CHECK_PLAYERS, 0ms);
|
||||
|
||||
data >> m_auiEncounter[0];
|
||||
data >> m_auiEncounter[1];
|
||||
|
||||
@@ -1198,11 +1198,11 @@ struct npc_violet_hold_defense_system : public ScriptedAI
|
||||
{
|
||||
case EVENT_ARCANE_LIGHTNING:
|
||||
DoCastAOE(RAND(SPELL_ARCANE_LIGHTNING, SPELL_ARCANE_LIGHTNING_VISUAL));
|
||||
events.RepeatEvent(2000);
|
||||
events.Repeat(2s);
|
||||
break;
|
||||
case EVENT_ARCANE_LIGHTNING_INSTAKILL:
|
||||
DoCastAOE(SPELL_ARCANE_LIGHTNING_INSTAKILL);
|
||||
events.RepeatEvent(1000);
|
||||
events.Repeat(1s);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -609,7 +609,7 @@ struct npc_beryl_sorcererAI : public CreatureAI
|
||||
AttackStart(who);
|
||||
}
|
||||
|
||||
_events.ScheduleEvent(EVENT_FROSTBOLT, 3000, 4000);
|
||||
_events.ScheduleEvent(EVENT_FROSTBOLT, 3s, 4s);
|
||||
}
|
||||
|
||||
void SpellHit(Unit* unit, SpellInfo const* spell) override
|
||||
@@ -1431,7 +1431,7 @@ public:
|
||||
if (Player* player = ObjectAccessor::GetPlayer(*me, _playerGUID))
|
||||
me->SetFacingToObject(player);
|
||||
|
||||
_events.ScheduleEvent(EVENT_TALK, 1000);
|
||||
_events.ScheduleEvent(EVENT_TALK, 1s);
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff) override
|
||||
@@ -1557,7 +1557,7 @@ public:
|
||||
void Reset() override
|
||||
{
|
||||
me->SetImmuneToAll(true);
|
||||
_events.ScheduleEvent(EVENT_THASSARIAN_CAST, 1000);
|
||||
_events.ScheduleEvent(EVENT_THASSARIAN_CAST, 1s);
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff) override
|
||||
|
||||
@@ -1095,7 +1095,7 @@ public:
|
||||
|
||||
void SetGUID(ObjectGuid guid, int32 /*id*/) override
|
||||
{
|
||||
if (playerGUID || events.GetNextEventTime(998) || events.GetNextEventTime(2))
|
||||
if (playerGUID || events.HasTimeUntilEvent(998) || events.HasTimeUntilEvent(2))
|
||||
return;
|
||||
|
||||
me->setActive(true);
|
||||
@@ -2114,8 +2114,8 @@ public:
|
||||
|
||||
void JustEngagedWith(Unit* who) override
|
||||
{
|
||||
_events.ScheduleEvent(EVENT_HEMORRHAGE, urand(5000, 8000));
|
||||
_events.ScheduleEvent(EVENT_KIDNEY_SHOT, urand(12000, 15000));
|
||||
_events.ScheduleEvent(EVENT_HEMORRHAGE, 5s, 8s);
|
||||
_events.ScheduleEvent(EVENT_KIDNEY_SHOT, 12s, 15s);
|
||||
|
||||
if (Player* player = who->ToPlayer())
|
||||
Talk (SAY_AGGRO, player);
|
||||
|
||||
@@ -1257,8 +1257,8 @@ public:
|
||||
|
||||
player->CastSpell(player, SPELL_WAITING_FOR_A_BOMBER, true);
|
||||
player->CastSpell(player, SPELL_FLIGHT_ORDERS, true);
|
||||
events.ScheduleEvent(EVENT_START_FLIGHT, 0);
|
||||
events.ScheduleEvent(EVENT_TAKE_PASSENGER, 3000);
|
||||
events.ScheduleEvent(EVENT_START_FLIGHT, 0ms);
|
||||
events.ScheduleEvent(EVENT_TAKE_PASSENGER, 3s);
|
||||
me->SetCanFly(true);
|
||||
me->AddUnitMovementFlag(MOVEMENTFLAG_FLYING);
|
||||
me->SetSpeed(MOVE_FLIGHT, 0.1f);
|
||||
|
||||
Reference in New Issue
Block a user