diff options
| author | Shauren <shauren.trinity@gmail.com> | 2022-06-07 16:02:51 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2022-06-07 16:02:51 +0200 |
| commit | a2c1b699e6e4d30c752b65241bc23191920a86fd (patch) | |
| tree | 7e580185397acd299326a714da71406f15c30ddc /src/server/game/Entities/Object | |
| parent | b9353041a6cce58d972b63d5138517274a1bb6d6 (diff) | |
Core/Transports: Path generation rewrite v2
* No TaxiPathNode row is skipped anymore (events/delays on first node now work)
* Fixed transport animation synchronization with client
* Fixed stoppable transports randomly resuming their path after relogging
Closes #27985
Diffstat (limited to 'src/server/game/Entities/Object')
| -rw-r--r-- | src/server/game/Entities/Object/Updates/ViewerDependentValues.h | 14 |
1 files changed, 2 insertions, 12 deletions
diff --git a/src/server/game/Entities/Object/Updates/ViewerDependentValues.h b/src/server/game/Entities/Object/Updates/ViewerDependentValues.h index 755006262bd..564b31a9b86 100644 --- a/src/server/game/Entities/Object/Updates/ViewerDependentValues.h +++ b/src/server/game/Entities/Object/Updates/ViewerDependentValues.h @@ -26,7 +26,6 @@ #include "Player.h" #include "SpellInfo.h" #include "SpellMgr.h" -#include "Transport.h" #include "World.h" #include "WorldSession.h" @@ -86,21 +85,12 @@ public: dynFlags |= GO_DYNFLAG_LO_SPARKLE | GO_DYNFLAG_LO_HIGHLIGHT; break; case GAMEOBJECT_TYPE_TRANSPORT: + case GAMEOBJECT_TYPE_MAP_OBJ_TRANSPORT: { dynFlags = dynamicFlags & 0xFFFF; pathProgress = dynamicFlags >> 16; break; } - case GAMEOBJECT_TYPE_MAP_OBJ_TRANSPORT: - { - Transport const* transport = gameObject->ToTransport(); - if (uint32 transportPeriod = transport->GetTransportPeriod()) - { - float timer = float(transport->GetTimer() % transportPeriod); - pathProgress = uint16(timer / float(transportPeriod) * 65535.0f); - } - break; - } case GAMEOBJECT_TYPE_CAPTURE_POINT: if (!gameObject->CanInteractWithCapturePoint(receiver)) dynFlags |= GO_DYNFLAG_LO_NO_INTERACT; @@ -111,7 +101,7 @@ public: break; } - dynamicFlags = (pathProgress << 16) | dynFlags; + dynamicFlags = (uint32(pathProgress) << 16) | uint32(dynFlags); } return dynamicFlags; |
