aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMeji <alvaro.megias@outlook.com>2023-02-14 22:26:50 +0100
committerShauren <shauren.trinity@gmail.com>2024-11-03 12:03:41 +0100
commit5872f032c906bdee5f292919808bd221994fad5e (patch)
tree9b8f0a3fdf7992d037a03aa0d91637c15706ad6a /src
parent0435f22d0d58589d0d6a4c9c764ce20a01e196e5 (diff)
Core/Transports: Fixed event timestamps for edge cases
Closes #28815
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 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;
}
}