265 std::vector<uint32>
const* PauseTimes =
nullptr;
267 PauseTimes = go->GetPauseTimes();
340 if (data->
WriteBit(HasFallDirection))
360 *data <<
uint32(movementForces->GetForces()->size());
361 *data << float(movementForces->GetModMagnitude());
366 *data << float(1.0f);
373 for (
MovementForce const& force : *movementForces->GetForces())
380 *data <<
uint32(PauseTimes ? PauseTimes->size() : 0);
385 *data << float(self->GetStationaryX());
386 *data << float(self->GetStationaryY());
387 *data << float(self->GetStationaryZ());
388 *data << float(self->GetStationaryO());
407 *data <<
uint16(self->GetAIAnimKitId());
408 *data <<
uint16(self->GetMovementAnimKitId());
409 *data <<
uint16(self->GetMeleeAnimKitId());
415 if (PauseTimes && !PauseTimes->empty())
416 data->
append(PauseTimes->data(), PauseTimes->size());
421 *data <<
self->m_movementInfo.transport;
442 bool hasScaleCurveID = createProperties && createProperties->
ScaleCurveId != 0;
443 bool hasMorphCurveID = createProperties && createProperties->
MorphCurveId != 0;
444 bool hasFacingCurveID = createProperties && createProperties->
FacingCurveId != 0;
445 bool hasMoveCurveID = createProperties && createProperties->
MoveCurveId != 0;
446 bool hasAreaTriggerSphere = shape.
IsSphere();
447 bool hasAreaTriggerBox = shape.
IsBox();
448 bool hasAreaTriggerPolygon = createProperties && shape.
IsPolygon();
449 bool hasAreaTriggerCylinder = shape.
IsCylinder();
450 bool hasDisk = shape.
IsDisk();
451 bool hasAreaTriggerSpline = areaTrigger->
HasSplines();
452 bool hasOrbit = areaTrigger->
HasOrbit();
453 bool hasMovementScript =
false;
455 data->
WriteBit(hasAbsoluteOrientation);
461 data->
WriteBit(hasTargetRollPitchYaw);
466 data->
WriteBit(hasAreaTriggerSphere);
468 data->
WriteBit(hasAreaTriggerPolygon);
469 data->
WriteBit(hasAreaTriggerCylinder);
471 data->
WriteBit(hasAreaTriggerSpline);
477 if (hasAreaTriggerSpline)
485 if (hasTargetRollPitchYaw)
494 if (hasFacingCurveID)
500 if (hasAreaTriggerSphere)
506 if (hasAreaTriggerBox)
508 *data << float(shape.
BoxDatas.Extents[0]);
509 *data << float(shape.
BoxDatas.Extents[1]);
510 *data << float(shape.
BoxDatas.Extents[2]);
511 *data << float(shape.
BoxDatas.ExtentsTarget[0]);
512 *data << float(shape.
BoxDatas.ExtentsTarget[1]);
513 *data << float(shape.
BoxDatas.ExtentsTarget[2]);
516 if (hasAreaTriggerPolygon)
530 if (hasAreaTriggerCylinder)
542 *data << float(shape.
DiskDatas.InnerRadius);
543 *data << float(shape.
DiskDatas.InnerRadiusTarget);
544 *data << float(shape.
DiskDatas.OuterRadius);
545 *data << float(shape.
DiskDatas.OuterRadiusTarget);
547 *data << float(shape.
DiskDatas.HeightTarget);
548 *data << float(shape.
DiskDatas.LocationZOffset);
549 *data << float(shape.
DiskDatas.LocationZOffsetTarget);
577 ASSERT(smoothPhasingInfo);
704 data->
WriteBit(HasSceneInstanceIDs);
707 if (HasSceneInstanceIDs)
711 *data <<
uint32(itr.first);
718 *data <<
uint8((1 << maxRunes) - 1);
720 *data <<
uint32(maxRunes);
721 for (
uint32 i = 0; i < maxRunes; ++i)
729 if (data->
WriteBit(self->GetTextureKitId() != 0))
730 *data <<
uint32(self->GetTextureKitId());
Streamer< XYZ > PositionXYZStream()
Definition: Position.h:89
Optional< ObjectGuid > ReplaceObject
Definition: SmoothPhasing.h:29
uint8 GetRunesState() const
Definition: Player.cpp:26422
Definition: AreaTriggerTemplate.h:37
Definition: UnitDefines.h:108
Position const & GetTargetRollPitchYaw() const
Definition: AreaTrigger.h:118
struct AreaTriggerShapeInfo::@199::@206 DiskDatas
AreaTriggerTemplate const * GetTemplate() const
Definition: AreaTrigger.cpp:542
Definition: AreaTriggerTemplate.h:33
bool IsSphere() const
Definition: AreaTriggerTemplate.h:123
uint32 GetUnitMovementFlags() const
Definition: Unit.h:1748
Definition: SmoothPhasing.h:26
Definition: AreaTriggerTemplate.h:35
bool Conversation
Definition: Object.h:97
bool IsSplineEnabled() const
Definition: Unit.cpp:13180
uint32 fallTime
Definition: MovementInfo.h:81
uint32 MorphCurveId
Definition: AreaTriggerTemplate.h:228
bool SceneObject
Definition: Object.h:95
bool HasUnitMovementFlag(uint32 f) const
Definition: Unit.h:1747
Definition: AreaTriggerTemplate.h:38
bool GameObject
Definition: Object.h:92
Definition: AreaTriggerTemplate.h:214
MovementInfo m_movementInfo
Definition: Object.h:690
static ObjectGuid GetGUID(Object const *o)
Definition: Object.h:156
float cosAngle
Definition: MovementInfo.h:83
Movement::MoveSpline * movespline
Definition: Unit.h:1857
Definition: AreaTriggerTemplate.h:34
uint32 GetRuneCooldown(uint8 index) const
Definition: Player.h:2612
Vehicle * GetVehicleKit() const
Definition: Unit.h:1800
Conversation * ToConversation()
Definition: Object.h:248
Definition: UnitDefines.h:116
bool Rotation
Definition: Object.h:90
std::vector< TaggedPosition< Position::XY > > PolygonVertices
Definition: AreaTriggerTemplate.h:243
bool MovementUpdate
Definition: Object.h:83
uint32 ScaleCurveId
Definition: AreaTriggerTemplate.h:227
struct MovementInfo::JumpInfo jump
float GetOrientation() const
Definition: Position.h:80
Optional< Inertia > inertia
Definition: MovementInfo.h:70
VehicleEntry const * GetVehicleInfo() const
Definition: Vehicle.h:53
uint32 GetGameTimeMS()
Definition: GameTime.cpp:44
void FlushBits()
Definition: ByteBuffer.h:155
uint32 GetWorldEffectID() const
Definition: GameObject.h:376
Definition: SharedDefines.h:291
::Movement::Spline< int32 > const & GetSpline() const
Definition: AreaTrigger.h:122
Definition: UnitDefines.h:114
struct AreaTriggerShapeInfo::@199::@204 PolygonDatas
SceneMgr & GetSceneMgr()
Definition: Player.h:2684
bool ServerTime
Definition: Object.h:87
GameObject * ToGameObject()
Definition: Object.h:218
uint32 GetElapsedTimeForMovement() const
Definition: AreaTrigger.h:123
struct MovementInfo::TransportInfo transport
Definition: MovementInfo.h:149
bool HasFlag(uint32 flag) const
Definition: AreaTriggerTemplate.h:207
bool WriteBit(bool bit)
Definition: ByteBuffer.h:175
Player * ToPlayer()
Definition: Object.h:200
static void WriteMovementForceWithDirection(MovementForce const &movementForce, ByteBuffer &data, Position const *objectPosition=nullptr)
Definition: MovementPackets.cpp:456
uint32 time
Definition: MovementInfo.h:35
float GetPositionY() const
Definition: Position.h:78
Optional< AreaTriggerOrbitInfo > const & GetCircularMovementInfo() const
Definition: AreaTrigger.h:127
static void WriteCreateObjectAreaTriggerSpline(::Movement::Spline< int32 > const &spline, ByteBuffer &data)
Definition: MovementPackets.cpp:450
static void WriteCreateObjectSplineDataBlock(::Movement::MoveSpline const &moveSpline, ByteBuffer &data)
Definition: MovementPackets.cpp:343
bool MovementTransport
Definition: Object.h:84
ObjectGuid const & GetGUID() const
Definition: Object.h:157
float zspeed
Definition: MovementInfo.h:83
Definition: UnitDefines.h:109
uint32 ID
Definition: DB2Structure.h:3930
bool IsDisk() const
Definition: AreaTriggerTemplate.h:127
bool StopAnimKits
Definition: SmoothPhasing.h:31
Definition: UnitDefines.h:348
float GetSpeed(UnitMoveType mtype) const
Definition: Unit.cpp:8242
uint32 GetTimeToTarget() const
Definition: AreaTrigger.h:95
bool CombatVictim
Definition: Object.h:86
uint32 GetExtraUnitMovementFlags() const
Definition: Unit.h:1754
bool ActivePlayer
Definition: Object.h:96
Definition: UnitDefines.h:111
bool EnablePortals
Definition: Object.h:81
int32_t int32
Definition: Define.h:139
Definition: UnitDefines.h:115
uint32_t uint32
Definition: Define.h:143
uint64_t uint64
Definition: Define.h:142
float pitch
Definition: MovementInfo.h:59
uint16_t uint16
Definition: Define.h:144
Definition: GameObject.h:125
uint32 FacingCurveId
Definition: AreaTriggerTemplate.h:229
float GetPositionZ() const
Definition: Position.h:79
bool Vehicle
Definition: Object.h:88
bool AnimKit
Definition: Object.h:89
uint32 GetRuneBaseCooldown() const
Definition: Player.cpp:26427
float splineElevation
Definition: MovementInfo.h:88
float sinAngle
Definition: MovementInfo.h:83
bool AreaTrigger
Definition: Object.h:91
virtual uint32 GetPowerIndex(Powers power) const =0
bool IsPolygon() const
Definition: AreaTriggerTemplate.h:125
void append(T value)
Definition: ByteBuffer.h:143
Unit * GetVictim() const
Definition: Unit.h:833
Definition: AreaTriggerTemplate.h:201
bool NoBirthAnim
Definition: Object.h:80
std::vector< TaggedPosition< Position::XY > > PolygonVerticesTarget
Definition: AreaTriggerTemplate.h:244
Definition: AreaTriggerTemplate.h:32
SceneTemplateByInstance const & GetSceneTemplateByInstanceMap() const
Definition: SceneMgr.h:69
float GetPositionX() const
Definition: Position.h:77
bool IsEmpty() const
Definition: ObjectGuid.h:310
bool IsCylinder() const
Definition: AreaTriggerTemplate.h:126
struct AreaTriggerShapeInfo::@199::@202 SphereDatas
int32 GetMaxPower(Powers power) const
Definition: Unit.cpp:9089
uint32 MoveCurveId
Definition: AreaTriggerTemplate.h:226
Definition: Conversation.h:29
bool HasOrbit() const
Definition: AreaTrigger.cpp:845
MovementForces const * GetMovementForces() const
Definition: Unit.h:1241
uint32 GetExtraUnitMovementFlags2() const
Definition: Unit.h:1760
Definition: SharedDefines.h:277
bool HasSplines() const
Definition: AreaTrigger.cpp:813
uint8_t uint8
Definition: Define.h:145
#define ASSERT
Definition: Errors.h:68
AreaTriggerShapeInfo const & GetShape() const
Definition: AreaTrigger.h:115
AreaTriggerCreateProperties const * GetCreateProperties() const
Definition: AreaTrigger.h:104
bool ReplaceActive
Definition: SmoothPhasing.h:30
ObjectGuid guid
Definition: MovementInfo.h:50
bool SmoothPhasing
Definition: Object.h:93
uint32 GetTimeSinceCreated() const
Definition: AreaTrigger.h:94
Definition: AreaTriggerTemplate.h:119
Definition: UnitDefines.h:113
Definition: MovementInfo.h:138
bool PlayHoverAnim
Definition: Object.h:82
bool Stationary
Definition: Object.h:85
bool ThisIsYou
Definition: Object.h:94
Definition: AreaTriggerTemplate.h:36
AreaTrigger * ToAreaTrigger()
Definition: Object.h:236
struct AreaTriggerShapeInfo::@199::@205 CylinderDatas
bool IsBox() const
Definition: AreaTriggerTemplate.h:124
Definition: Player.h:1131
Definition: UnitDefines.h:112
Unit * ToUnit()
Definition: Object.h:212
float xyspeed
Definition: MovementInfo.h:83
Position const & GetRollPitchYaw() const
Definition: AreaTrigger.h:117
Definition: AreaTrigger.h:42
struct AreaTriggerShapeInfo::@199::@203 BoxDatas
Definition: UnitDefines.h:110