Use IsTransport() to also handle type 11 (TRANSPORT) Currently grid objects are not updated if there are no nearby players, this causes clients to receive different PathProgress resulting in players seeing the object in a different position
340 bool NoBirthAnim =
false;
341 bool EnablePortals =
false;
342 bool PlayHoverAnim =
false;
343 bool IsSuppressingGreetings =
false;
352 bool HasAreaTrigger =
false;
353 bool HasGameObject =
false;
355 bool ReplaceActive =
false;
356 bool SceneObjCreate =
false;
357 bool ScenePendingInstances =
false;
358 uint32 PauseTimesCount = 0;
361 PauseTimesCount = go->GetGOValue()->Transport.StopFrames->size();
366 data->
WriteBit(IsSuppressingGreetings);
368 data->
WriteBit(HasMovementTransport);
380 data->
WriteBit(ScenePendingInstances);
381 *data <<
uint32(PauseTimesCount);
383 if (HasMovementUpdate)
401 uint32 removeMovementForcesCount = 0;
402 *data <<
uint32(removeMovementForcesCount);
424 if (data->
WriteBit(HasFallDirection))
442 uint32 MovementForceCount = 0;
443 *data <<
uint32(MovementForceCount);
460 if (HasMovementTransport)
463 *data <<
self->m_movementInfo.transport;
469 *data << float(self->GetStationaryX());
470 *data << float(self->GetStationaryY());
471 *data << float(self->GetStationaryZ());
472 *data << float(self->GetStationaryO());
502 *data <<
uint16(self->GetAIAnimKitId());
503 *data <<
uint16(self->GetMovementAnimKitId());
504 *data <<
uint16(self->GetMeleeAnimKitId());
743 for (
uint32 i = 0; i < PauseTimesCount; ++i)
Definition: UpdateData.h:39
bool HasUnitMovementFlag(uint32 f) const
Definition: Unit.h:2109
VehicleEntry const * GetVehicleInfo() const
Definition: Vehicle.h:50
uint32 fallTime
Definition: Object.h:309
uint32 GetUnitMovementFlags() const
Definition: Unit.h:2110
float GetSpeed(UnitMoveType mtype) const
Definition: Unit.cpp:10526
MovementInfo m_movementInfo
Definition: Object.h:612
float cosAngle
Definition: Object.h:311
Movement::MoveSpline * movespline
Definition: Unit.h:2213
Definition: UpdateData.h:46
uint32 getMSTime()
Definition: Timer.h:24
struct MovementInfo::JumpInfo jump
Definition: UpdateData.h:45
struct GameObjectValue::@273 Transport
void FlushBits()
Definition: ByteBuffer.h:150
uint64_t uint64
Definition: g3dmath.h:170
Definition: UpdateData.h:41
Definition: UpdateData.h:47
uint16_t uint16
Definition: g3dmath.h:166
bool WriteBit(uint32 bit)
Definition: ByteBuffer.h:170
GameObject * ToGameObject()
Definition: Object.h:200
struct MovementInfo::TransportInfo transport
uint32 time
Definition: Object.h:274
static void WriteCreateObjectSplineDataBlock(::Movement::MoveSpline const &moveSpline, ByteBuffer &data)
Definition: MovementPackets.cpp:271
float zspeed
Definition: Object.h:311
uint32 ID
Definition: DBCStructure.h:1273
float GetOrientation() const
Definition: Position.h:107
Unit * GetVictim() const
Definition: Unit.h:1379
float GetPositionY() const
Definition: Position.h:105
float GetPositionZ() const
Definition: Position.h:106
uint32_t uint32
Definition: Define.h:150
float pitch
Definition: Object.h:298
Transport * ToTransport()
Definition: GameObject.h:1073
PackedGuid const & GetPackGUID() const
Definition: Object.h:106
Definition: GameObject.h:880
Definition: UpdateData.h:44
std::vector< uint32 > * StopFrames
Definition: GameObject.h:782
Definition: UpdateData.h:40
float splineElevation
Definition: Object.h:316
float sinAngle
Definition: Object.h:311
Definition: UpdateData.h:42
ObjectGuid const & GetGUID() const
Definition: Object.h:105
bool IsSplineEnabled() const
Definition: Unit.cpp:16132
Definition: UpdateData.h:43
uint32 PathProgress
Definition: GameObject.h:779
ObjectGuid guid
Definition: Object.h:289
GameObjectValue const * GetGOValue() const
Definition: GameObject.h:896
uint32_t uint32
Definition: g3dmath.h:168
uint8 flags
Definition: DisableMgr.cpp:44
#define const
Definition: zconf.h:217
float GetPositionX() const
Definition: Position.h:104
Definition: SharedDefines.h:2076
Unit * ToUnit()
Definition: Object.h:197
bool IsEmpty() const
Definition: ObjectGuid.h:242
uint16 GetExtraUnitMovementFlags() const
Definition: Unit.h:2116
float xyspeed
Definition: Object.h:311
void WriteBits(T value, int32 bits)
Definition: ByteBuffer.h:198
Vehicle * GetVehicleKit() const
Definition: Unit.h:2165