aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMeji <alvaro.megias@outlook.com>2023-02-14 22:26:50 +0100
committerOvahlord <dreadkiller@gmx.de>2024-11-03 12:11:48 +0100
commitf38eca4d3f1c3079c3239bd51033202635f0c6e1 (patch)
treecbcf7590f016a564ab2b83699bc752c5d8c36118 /src
parent5e538e49f04343fde13bb08127b0e4c249412a9c (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.cpp8
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;
}
}