diff options
| author | Meji <alvaro.megias@outlook.com> | 2023-02-14 22:26:50 +0100 |
|---|---|---|
| committer | Ovahlord <dreadkiller@gmx.de> | 2024-11-03 12:11:48 +0100 |
| commit | f38eca4d3f1c3079c3239bd51033202635f0c6e1 (patch) | |
| tree | cbcf7590f016a564ab2b83699bc752c5d8c36118 /src | |
| parent | 5e538e49f04343fde13bb08127b0e4c249412a9c (diff) | |
Core/Transports: Fixed event timestamps for edge cases
Closes #28815
(cherry picked from commit 5872f032c906bdee5f292919808bd221994fad5e)
Diffstat (limited to 'src')
| -rw-r--r-- | src/server/game/Maps/TransportMgr.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/server/game/Maps/TransportMgr.cpp b/src/server/game/Maps/TransportMgr.cpp index 450171d3b48..5407b23bb5d 100644 --- a/src/server/game/Maps/TransportMgr.cpp +++ b/src/server/game/Maps/TransportMgr.cpp @@ -429,14 +429,14 @@ static void InitializeLeg(TransportPathLeg* leg, std::vector<TransportPathEvent> if ((*eventPointItr)->ArrivalEventID) { TransportPathEvent& event = outEvents->emplace_back(); - event.Timestamp = totalTime + splineTime + leg->Duration; + event.Timestamp = totalTime + splineTime + leg->Duration + delaySum; event.EventId = (*eventPointItr)->ArrivalEventID; } if ((*eventPointItr)->DepartureEventID) { TransportPathEvent& event = outEvents->emplace_back(); - event.Timestamp = totalTime + splineTime + leg->Duration + (pausePointItr == eventPointItr ? (*eventPointItr)->Delay * IN_MILLISECONDS : 0); + event.Timestamp = totalTime + splineTime + leg->Duration + delaySum + (pausePointItr == eventPointItr ? (*eventPointItr)->Delay * IN_MILLISECONDS : 0); event.EventId = (*eventPointItr)->DepartureEventID; } } @@ -475,14 +475,14 @@ static void InitializeLeg(TransportPathLeg* leg, std::vector<TransportPathEvent> if ((*eventPointItr)->ArrivalEventID) { TransportPathEvent& event = outEvents->emplace_back(); - event.Timestamp = totalTime + splineTime + leg->Duration; + event.Timestamp = totalTime + splineTime + leg->Duration + delaySum; event.EventId = (*eventPointItr)->ArrivalEventID; } if ((*eventPointItr)->DepartureEventID) { TransportPathEvent& event = outEvents->emplace_back(); - event.Timestamp = totalTime + splineTime + leg->Duration; + event.Timestamp = totalTime + splineTime + leg->Duration + delaySum; event.EventId = (*eventPointItr)->DepartureEventID; } } |
