diff options
author | Meji <alvaro.megias@outlook.com> | 2023-02-14 22:26:50 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2024-11-03 12:03:41 +0100 |
commit | 5872f032c906bdee5f292919808bd221994fad5e (patch) | |
tree | 9b8f0a3fdf7992d037a03aa0d91637c15706ad6a /src | |
parent | 0435f22d0d58589d0d6a4c9c764ce20a01e196e5 (diff) |
Core/Transports: Fixed event timestamps for edge cases
Closes #28815
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 58b8b7f6342..c27b14b3673 100644 --- a/src/server/game/Maps/TransportMgr.cpp +++ b/src/server/game/Maps/TransportMgr.cpp @@ -406,14 +406,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; } } @@ -452,14 +452,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; } } |