diff options
author | xinef1 <w.szyszko2@gmail.com> | 2017-02-06 01:10:15 +0100 |
---|---|---|
committer | ariel- <ariel-@users.noreply.github.com> | 2017-02-05 21:10:15 -0300 |
commit | c6060dd0c511ddad3cb1f0423aa9ccf2de7aedec (patch) | |
tree | f418ab2a2b7f12bf5384e8653eeb3481370108b6 /src/common/Utilities/EventProcessor.cpp | |
parent | d06391d0628ffbf43da471c83653853b0926b4ab (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
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 07fce187ad3..039ca37b9d7 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); |