aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/common/Utilities/Timer.h16
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp28
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_high_inquisitor_fairbanks.cpp6
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp12
4 files changed, 37 insertions, 25 deletions
diff --git a/src/common/Utilities/Timer.h b/src/common/Utilities/Timer.h
index a197c5cfbb4..1af967f886a 100644
--- a/src/common/Utilities/Timer.h
+++ b/src/common/Utilities/Timer.h
@@ -155,11 +155,18 @@ public:
{
}
+ TimeTrackerSmall(Milliseconds expiry) : i_expiryTime(expiry.count()) { }
+
void Update(int32 diff)
{
i_expiryTime -= diff;
}
+ void Update(Milliseconds diff)
+ {
+ Update(diff.count());
+ }
+
bool Passed() const
{
return i_expiryTime <= 0;
@@ -170,9 +177,14 @@ public:
i_expiryTime = interval;
}
- int32 GetExpiry() const
+ void Reset(Milliseconds expiry)
{
- return i_expiryTime;
+ Reset(expiry.count());
+ }
+
+ Milliseconds GetExpiry() const
+ {
+ return Milliseconds(i_expiryTime);
}
private:
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp
index 2379123678d..28a8dfe30bb 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp
@@ -170,7 +170,7 @@ static char const* HeadlessHorsemanInitialPlayerTexts[] =
struct npc_wisp_invis : public ScriptedAI
{
- npc_wisp_invis(Creature* creature) : ScriptedAI(creature), _timer(0), _creatureType(0), _firstSpell(0), _secondSpell(0)
+ npc_wisp_invis(Creature* creature) : ScriptedAI(creature), _timer(0s), _creatureType(0), _firstSpell(0), _secondSpell(0)
{
creature->SetDisplayId(DISPLAYID_INVIS_WISP_INVISIBLE);
}
@@ -186,16 +186,16 @@ struct npc_wisp_invis : public ScriptedAI
_firstSpell = SPELL_HEADLESS_HORSEMAN___PUMPKIN_AURA;
break;
case INVIS_WISP_CREATURE_TYPE_FLAME:
- _timer.Reset(15 * IN_MILLISECONDS);
+ _timer.Reset(15s);
_firstSpell = SPELL_HEADLESS_HORSEMAN___FIRE;
_secondSpell = SPELL_HEADLESS_HORSEMAN_CLIMAX___HEAD_IS_DEAD;
break;
case INVIS_WISP_CREATURE_TYPE_SMOKE:
- _timer.Reset(15 * IN_MILLISECONDS);
+ _timer.Reset(15s);
_firstSpell = SPELL_HEADLESS_HORSEMAN___SMOKE;
break;
case INVIS_WISP_CREATURE_TYPE_BLUE:
- _timer.Reset(7 * IN_MILLISECONDS);
+ _timer.Reset(7s);
_secondSpell = SPELL_HEADLESS_HORSEMAN___WISP_FLIGHT_MISSILE;
break;
default:
@@ -231,7 +231,7 @@ struct npc_wisp_invis : public ScriptedAI
me->RemoveAurasDueToSpell(SPELL_HEADLESS_HORSEMAN___SMOKE);
if (_secondSpell)
DoCast(me, _secondSpell);
- _timer.Reset(0);
+ _timer.Reset(0s);
}
}
@@ -244,7 +244,7 @@ private:
struct npc_head : public ScriptedAI
{
- npc_head(Creature* creature) : ScriptedAI(creature), _laughTimer(urand(15 * IN_MILLISECONDS, 30 * IN_MILLISECONDS))
+ npc_head(Creature* creature) : ScriptedAI(creature), _laughTimer(randtime(15s, 30s))
{
creature->SetReactState(REACT_PASSIVE);
Initialize();
@@ -261,7 +261,7 @@ struct npc_head : public ScriptedAI
void Reset() override
{
Initialize();
- _laughTimer.Reset(urand(15 * IN_MILLISECONDS, 30 * IN_MILLISECONDS));
+ _laughTimer.Reset(randtime(15s, 30s));
_scheduler.CancelAll();
// Just to be sure it's MOTION_SLOT_DEFAULT is static
@@ -383,7 +383,7 @@ struct npc_head : public ScriptedAI
if (_laughTimer.Passed())
{
- _laughTimer.Reset(urand(15 * IN_MILLISECONDS, 30 * IN_MILLISECONDS));
+ _laughTimer.Reset(randtime(15s, 30s));
DoPlaySoundToSet(me, Trinity::Containers::SelectRandomContainerElement(HeadlessHorsemanRandomLaughSound));
@@ -421,7 +421,7 @@ private:
void DoTalk(uint32 entry)
{
Talk(entry);
- _laughTimer.Reset(3 * IN_MILLISECONDS);
+ _laughTimer.Reset(3s);
if (Creature* speaker = DoSpawnCreature(NPC_HELPER, 0.f, 0.f, 0.f, 0.f, TEMPSUMMON_TIMED_DESPAWN, 1s))
speaker->CastSpell(speaker, SPELL_HEADLESS_HORSEMAN___SPEAKS, false);
@@ -437,7 +437,7 @@ private:
struct boss_headless_horseman : public ScriptedAI
{
- boss_headless_horseman(Creature* creature) : ScriptedAI(creature), _instance(creature->GetInstanceScript()), _laughTimer(0), _phase(0), _id(0)
+ boss_headless_horseman(Creature* creature) : ScriptedAI(creature), _instance(creature->GetInstanceScript()), _laughTimer(0s), _phase(0), _id(0)
{
Initialize();
@@ -460,7 +460,7 @@ struct boss_headless_horseman : public ScriptedAI
void Reset() override
{
- _laughTimer.Reset(0);
+ _laughTimer.Reset(0s);
Initialize();
DoCastSelf(SPELL_HEADLESS_HORSEMAN_CLIMAX___HEAD_VISUAL);
@@ -653,7 +653,7 @@ struct boss_headless_horseman : public ScriptedAI
if (spellInfo->Id != SPELL_HEADLESS_HORSEMAN_CLIMAX___SEND_HEAD)
return;
- _laughTimer.Reset(urand(2 * IN_MILLISECONDS, 5 * IN_MILLISECONDS));
+ _laughTimer.Reset(randtime(2s, 5s));
_withHead = true;
_scheduler.CancelGroup(TASK_GROUP_WITHOUT_HEAD);
@@ -782,7 +782,7 @@ struct boss_headless_horseman : public ScriptedAI
if (_withHead && _laughTimer.Passed())
{
- _laughTimer.Reset(urand(11 * IN_MILLISECONDS, 22 * IN_MILLISECONDS));
+ _laughTimer.Reset(randtime(11s, 22s));
DoPlaySoundToSet(me, Trinity::Containers::SelectRandomContainerElement(HeadlessHorsemanRandomLaughSound));
}
@@ -802,7 +802,7 @@ private:
void DoTalk(uint8 textEntry, Unit* target = nullptr)
{
Talk(textEntry, target);
- _laughTimer.Reset(std::min<uint32>(10 * IN_MILLISECONDS, _laughTimer.GetExpiry() + 4 * IN_MILLISECONDS));
+ _laughTimer.Reset(std::min(std::chrono::duration_cast<Milliseconds>(10s), _laughTimer.GetExpiry() + 4s));
}
InstanceScript* _instance;
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_high_inquisitor_fairbanks.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_high_inquisitor_fairbanks.cpp
index c6532c4209c..2f74d20bc49 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_high_inquisitor_fairbanks.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_high_inquisitor_fairbanks.cpp
@@ -63,12 +63,12 @@ private:
struct boss_high_inquisitor_fairbanks : public BossAI
{
- boss_high_inquisitor_fairbanks(Creature* creature) : BossAI(creature, DATA_HIGH_INQUISITOR_FAIRBANKS), _healTimer(0), _powerWordShield(false) { }
+ boss_high_inquisitor_fairbanks(Creature* creature) : BossAI(creature, DATA_HIGH_INQUISITOR_FAIRBANKS), _healTimer(0s), _powerWordShield(false) { }
void Reset() override
{
_Reset();
- _healTimer.Reset(0);
+ _healTimer.Reset(0s);
_powerWordShield = false;
me->SetStandState(UNIT_STAND_STATE_DEAD);
}
@@ -95,7 +95,7 @@ struct boss_high_inquisitor_fairbanks : public BossAI
if (!me->IsNonMeleeSpellCast(false) && _healTimer.Passed())
{
- _healTimer.Reset(30 * IN_MILLISECONDS);
+ _healTimer.Reset(30s);
DoCastSelf(SPELL_HEAL);
}
}
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp
index 3f2c21135c6..54a52074021 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp
@@ -77,7 +77,7 @@ Position const WhitemaneIntroMovePos = { 1163.113370f, 1398.856812f, 32.527786f,
struct boss_scarlet_commander_mograine : public BossAI
{
public:
- boss_scarlet_commander_mograine(Creature* creature) : BossAI(creature, DATA_MOGRAINE_AND_WHITE_EVENT), _killYellTimer(0)
+ boss_scarlet_commander_mograine(Creature* creature) : BossAI(creature, DATA_MOGRAINE_AND_WHITE_EVENT), _killYellTimer(0s)
{
Initialize();
}
@@ -93,7 +93,7 @@ public:
Initialize();
_Reset();
- _killYellTimer.Reset(0);
+ _killYellTimer.Reset(0s);
DoCastSelf(SPELL_RETRIBUTION_AURA, true);
me->RemoveUnitFlag(UnitFlags(UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NON_ATTACKABLE));
@@ -128,7 +128,7 @@ public:
if (_killYellTimer.Passed())
{
Talk(SAY_MO_KILL);
- _killYellTimer.Reset(5 * IN_MILLISECONDS);
+ _killYellTimer.Reset(5s);
}
}
@@ -241,7 +241,7 @@ private:
struct boss_high_inquisitor_whitemane : public ScriptedAI
{
public:
- boss_high_inquisitor_whitemane(Creature* creature) : ScriptedAI(creature), _instance(creature->GetInstanceScript()), _killYellTimer(0)
+ boss_high_inquisitor_whitemane(Creature* creature) : ScriptedAI(creature), _instance(creature->GetInstanceScript()), _killYellTimer(0s)
{
Initialize();
}
@@ -258,7 +258,7 @@ public:
_events.Reset();
_scheduler.CancelAll();
- _killYellTimer.Reset(0);
+ _killYellTimer.Reset(0s);
DoCastSelf(SPELL_RETRIBUTION_AURA);
me->SetReactState(REACT_AGGRESSIVE);
@@ -288,7 +288,7 @@ public:
if (_killYellTimer.Passed())
{
Talk(SAY_WH_KILL);
- _killYellTimer.Reset(5 * IN_MILLISECONDS);
+ _killYellTimer.Reset(5s);
}
}