Core/Transports: Fixed clientside position of stoppable transports

Port From (https://github.com/TrinityCore/TrinityCore/commit/96026bfc58faa65aeef5cb1430aa2e442a43b115)
This commit is contained in:
Hondacrx
2025-08-10 17:08:30 -04:00
parent 9340c89bb1
commit f27087d61b
2 changed files with 6 additions and 4 deletions
+5 -3
View File
@@ -649,9 +649,11 @@ namespace Game.Entities
data.FlushBits();
if (transport != null)
{
data.WriteUInt32(transport.GetTransportPeriod());
data.WriteUInt32(transport.GetTimer());
data.WriteBit(transport.IsStopRequested());
uint period = transport.GetTransportPeriod();
data.WriteUInt32((uint)((((long)transport.GetTimer() - (long)GameTime.GetGameTimeMS()) % period) + period) % period); // TimeOffset
data.WriteUInt32(transport.GetNextStopTimestamp().GetValueOrDefault(0));
data.WriteBit(transport.GetNextStopTimestamp().HasValue);
data.WriteBit(transport.IsStopped());
data.WriteBit(false);
data.FlushBits();