diff options
author | xinef1 <w.szyszko2@gmail.com> | 2017-02-06 01:10:15 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2019-06-15 18:41:09 +0200 |
commit | 3f7fe6f8a51f61083b4940eaadddc3b390f8e238 (patch) | |
tree | ca293817d626010fc8c92692863a549fb5bcf429 /src/common/Utilities/EventProcessor.cpp | |
parent | c53df2adb0d22acbaeaa02638edb5fafea5ba61e (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.cpp | 14 |
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); |