aboutsummaryrefslogtreecommitdiff
path: root/src/common/Utilities/EventProcessor.cpp
diff options
context:
space:
mode:
authorxinef1 <w.szyszko2@gmail.com>2017-02-06 01:10:15 +0100
committerShauren <shauren.trinity@gmail.com>2019-06-15 18:41:09 +0200
commit3f7fe6f8a51f61083b4940eaadddc3b390f8e238 (patch)
treeca293817d626010fc8c92692863a549fb5bcf429 /src/common/Utilities/EventProcessor.cpp
parentc53df2adb0d22acbaeaa02638edb5fafea5ba61e (diff)
Core/Spells: Remade trajectory target selection (#19048)
* Remade trajectory target selection * Added possibility to apply conditions to trajectory spells * Properly recalculate delay time if CMSG_UPDATE_PROJECTILE_POSITION is received (cherrypicked from c6060dd0c511ddad3cb1f0423aa9ccf2de7aedec)
Diffstat (limited to 'src/common/Utilities/EventProcessor.cpp')
-rw-r--r--src/common/Utilities/EventProcessor.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/common/Utilities/EventProcessor.cpp b/src/common/Utilities/EventProcessor.cpp
index 41fcc1fe8f7..9df76f96438 100644
--- a/src/common/Utilities/EventProcessor.cpp
+++ b/src/common/Utilities/EventProcessor.cpp
@@ -119,6 +119,20 @@ void EventProcessor::AddEvent(BasicEvent* Event, uint64 e_time, bool set_addtime
m_events.insert(std::pair<uint64, BasicEvent*>(e_time, Event));
}
+void EventProcessor::ModifyEventTime(BasicEvent* Event, uint64 newTime)
+{
+ for (auto itr = m_events.begin(); itr != m_events.end(); ++itr)
+ {
+ if (itr->second != Event)
+ continue;
+
+ Event->m_execTime = newTime;
+ m_events.erase(itr);
+ m_events.insert(std::pair<uint64, BasicEvent*>(newTime, Event));
+ break;
+ }
+}
+
uint64 EventProcessor::CalculateTime(uint64 t_offset) const
{
return(m_time + t_offset);