aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCarbenium <carbenium@outlook.com>2020-07-25 23:51:30 +0200
committerShauren <shauren.trinity@gmail.com>2022-01-24 12:06:56 +0100
commita7cbb16229cb48057fd8ef38b6db205beeb30b4e (patch)
tree9b6dc7ce0a9f0ebbdaf26cfdac2e2c2c814e7687 /src
parenteeffb310de3f91a1c456a3c118eb01311557a00b (diff)
Core/EventProcessor: std::chrono-ify the remaining public API
(cherry picked from commit 1d8782e3566393f71fbc091de57c96a9a15972cb)
Diffstat (limited to 'src')
-rw-r--r--src/common/Utilities/EventProcessor.cpp12
-rw-r--r--src/common/Utilities/EventProcessor.h12
-rw-r--r--src/server/game/Spells/Spell.cpp8
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp4
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp4
5 files changed, 20 insertions, 20 deletions
diff --git a/src/common/Utilities/EventProcessor.cpp b/src/common/Utilities/EventProcessor.cpp
index e48b622822d..3789810787d 100644
--- a/src/common/Utilities/EventProcessor.cpp
+++ b/src/common/Utilities/EventProcessor.cpp
@@ -110,24 +110,24 @@ void EventProcessor::KillAllEvents(bool force)
m_events.clear();
}
-void EventProcessor::AddEvent(BasicEvent* event, uint64 e_time, bool set_addtime)
+void EventProcessor::AddEvent(BasicEvent* event, Milliseconds e_time, bool set_addtime)
{
if (set_addtime)
event->m_addTime = m_time;
- event->m_execTime = e_time;
- m_events.insert(std::pair<uint64, BasicEvent*>(e_time, event));
+ event->m_execTime = e_time.count();
+ m_events.insert(std::pair<uint64, BasicEvent*>(e_time.count(), event));
}
-void EventProcessor::ModifyEventTime(BasicEvent* event, uint64 newTime)
+void EventProcessor::ModifyEventTime(BasicEvent* event, Milliseconds newTime)
{
for (auto itr = m_events.begin(); itr != m_events.end(); ++itr)
{
if (itr->second != event)
continue;
- event->m_execTime = newTime;
+ event->m_execTime = newTime.count();
m_events.erase(itr);
- m_events.insert(std::pair<uint64, BasicEvent*>(newTime, event));
+ m_events.insert(std::pair<uint64, BasicEvent*>(newTime.count(), event));
break;
}
}
diff --git a/src/common/Utilities/EventProcessor.h b/src/common/Utilities/EventProcessor.h
index 1d734aa203f..3a5cea0bd94 100644
--- a/src/common/Utilities/EventProcessor.h
+++ b/src/common/Utilities/EventProcessor.h
@@ -99,17 +99,17 @@ class TC_COMMON_API EventProcessor
void Update(uint32 p_time);
void KillAllEvents(bool force);
- void AddEvent(BasicEvent* event, uint64 e_time, bool set_addtime = true);
- void AddEvent(BasicEvent* event, Milliseconds e_time, bool set_addtime = true) { AddEvent(event, e_time.count(), set_addtime); };
+
+ void AddEvent(BasicEvent* event, Milliseconds e_time, bool set_addtime = true);
template<typename T>
- is_lambda_event<T> AddEvent(T&& event, uint64 e_time, bool set_addtime = true) { AddEvent(new LambdaBasicEvent<T>(std::move(event)), e_time, set_addtime); }
- void AddEventAtOffset(BasicEvent* event, Milliseconds offset) { AddEvent(event, CalculateTime(offset).count()); }
- void AddEventAtOffset(BasicEvent* event, Milliseconds offset, Milliseconds offset2) { AddEvent(event, CalculateTime(randtime(offset, offset2)).count()); }
+ is_lambda_event<T> AddEvent(T&& event, Milliseconds e_time, bool set_addtime = true) { AddEvent(new LambdaBasicEvent<T>(std::move(event)), e_time, set_addtime); }
+ void AddEventAtOffset(BasicEvent* event, Milliseconds offset) { AddEvent(event, CalculateTime(offset)); }
+ void AddEventAtOffset(BasicEvent* event, Milliseconds offset, Milliseconds offset2) { AddEvent(event, CalculateTime(randtime(offset, offset2))); }
template<typename T>
is_lambda_event<T> AddEventAtOffset(T&& event, Milliseconds offset) { AddEventAtOffset(new LambdaBasicEvent<T>(std::move(event)), offset); }
template<typename T>
is_lambda_event<T> AddEventAtOffset(T&& event, Milliseconds offset, Milliseconds offset2) { AddEventAtOffset(new LambdaBasicEvent<T>(std::move(event)), offset, offset2); }
- void ModifyEventTime(BasicEvent* event, uint64 newTime);
+ void ModifyEventTime(BasicEvent* event, Milliseconds newTime);
Milliseconds CalculateTime(Milliseconds t_offset) const { return Milliseconds(m_time) + t_offset; }
std::multimap<uint64, BasicEvent*> const& GetEvents() const { return m_events; }
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp
index 7d26474c4c1..d1415153575 100644
--- a/src/server/game/Spells/Spell.cpp
+++ b/src/server/game/Spells/Spell.cpp
@@ -828,7 +828,7 @@ uint64 Spell::CalculateDelayMomentForDst(float launchDelay) const
void Spell::RecalculateDelayMomentForDst()
{
m_delayMoment = CalculateDelayMomentForDst(0.0f);
- m_caster->m_Events.ModifyEventTime(_spellEvent, GetDelayStart() + m_delayMoment);
+ m_caster->m_Events.ModifyEventTime(_spellEvent, Milliseconds(GetDelayStart() + m_delayMoment));
}
void Spell::SelectEffectImplicitTargets(SpellEffectInfo const& spellEffectInfo, SpellImplicitTargetInfo const& targetType, uint32& processedEffectMask)
@@ -7838,7 +7838,7 @@ bool SpellEvent::Execute(uint64 e_time, uint32 p_time)
if (n_offset)
{
// re-add us to the queue
- m_Spell->GetCaster()->m_Events.AddEvent(this, m_Spell->GetDelayStart() + n_offset, false);
+ m_Spell->GetCaster()->m_Events.AddEvent(this, Milliseconds(m_Spell->GetDelayStart() + n_offset), false);
return false; // event not complete
}
// event complete
@@ -7856,7 +7856,7 @@ bool SpellEvent::Execute(uint64 e_time, uint32 p_time)
else
ASSERT(n_offset == m_Spell->GetDelayMoment());
// re-plan the event for the delay moment
- m_Spell->GetCaster()->m_Events.AddEvent(this, e_time + m_Spell->GetDelayMoment(), false);
+ m_Spell->GetCaster()->m_Events.AddEvent(this, Milliseconds(e_time + m_Spell->GetDelayMoment()), false);
return false; // event not complete
}
break;
@@ -7870,7 +7870,7 @@ bool SpellEvent::Execute(uint64 e_time, uint32 p_time)
}
// spell processing not complete, plan event on the next update interval
- m_Spell->GetCaster()->m_Events.AddEvent(this, e_time + 1, false);
+ m_Spell->GetCaster()->m_Events.AddEvent(this, Milliseconds(e_time + 1), false);
return false; // event not complete
}
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp
index 45dadc8122d..0ba329d82a5 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_algalon_the_observer.cpp
@@ -243,7 +243,7 @@ class ActivateLivingConstellation : public BasicEvent
return true; // delete event
_owner->CastSpell(nullptr, SPELL_TRIGGER_3_ADDS, TRIGGERED_FULL_MASK);
- _owner->m_Events.AddEvent(this, execTime + urand(45000, 50000));
+ _owner->m_Events.AddEvent(this, Milliseconds(execTime) + randtime(45s, 50s));
return false;
}
@@ -275,7 +275,7 @@ class SummonUnleashedDarkMatter : public BasicEvent
bool Execute(uint64 execTime, uint32 /*diff*/) override
{
_caster->CastSpell(nullptr, SPELL_SUMMON_UNLEASHED_DARK_MATTER, TRIGGERED_FULL_MASK);
- _caster->m_Events.AddEvent(this, execTime + 30000);
+ _caster->m_Events.AddEvent(this, Milliseconds(execTime) + 30s);
return false;
}
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp
index 06ae5f3ac0f..2d523415e21 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_thorim.cpp
@@ -392,7 +392,7 @@ class TrashJumpEvent : public BasicEvent
case 0:
_owner->CastSpell(nullptr, SPELL_LEAP);
++_stage;
- _owner->m_Events.AddEvent(this, eventTime + 2000);
+ _owner->m_Events.AddEvent(this, Milliseconds(eventTime) + 2s);
return false;
case 1:
_owner->SetReactState(REACT_AGGRESSIVE);
@@ -423,7 +423,7 @@ class LightningFieldEvent : public BasicEvent
if (instance->GetBossState(BOSS_THORIM) == IN_PROGRESS)
{
_owner->CastSpell(nullptr, SPELL_LIGHTNING_FIELD);
- _owner->m_Events.AddEvent(this, eventTime + 1000);
+ _owner->m_Events.AddEvent(this, Milliseconds(eventTime) + 1s);
return false;
}
}