aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Movement
diff options
context:
space:
mode:
authorSubv <s.v.h21@hotmail.com>2012-12-29 15:20:57 -0500
committerSubv <s.v.h21@hotmail.com>2012-12-29 15:22:37 -0500
commit9a9fbb87de5ac67b2004fe3fe0b5e7c4aeab5422 (patch)
treeeb28ee53c7e2f5c8584d3330633a43330cfc7050 /src/server/game/Movement
parentae47b641e10a5af32ba7858504ebeac1915f6841 (diff)
Entities/Movement: Correctly send MSG_MOVE_TELEPORT to the player when it is teleported, send MSG_MOVE_UPDATE_TELEPORT to nearby players when such thing happens.
Allow the usage of WriteMovementInfo on non-player units.
Diffstat (limited to 'src/server/game/Movement')
-rw-r--r--src/server/game/Movement/MovementStructures.h85
1 files changed, 85 insertions, 0 deletions
diff --git a/src/server/game/Movement/MovementStructures.h b/src/server/game/Movement/MovementStructures.h
index d2a6e8ea8f6..29b7fb5dfe6 100644
--- a/src/server/game/Movement/MovementStructures.h
+++ b/src/server/game/Movement/MovementStructures.h
@@ -2094,6 +2094,89 @@ MovementStatusElements DismissControlledVehicle[] =
MSEEnd,
};
+// 4.3.4
+MovementStatusElements MoveUpdateTeleport[] =
+{
+ MSEPositionZ,
+ MSEPositionY,
+ MSEPositionX,
+ MSEHasOrientation,
+
+ MSEHasSpline,
+ MSEHasMovementFlags,
+ MSEHasGuidByte2,
+ MSEHasGuidByte4,
+ MSEHasGuidByte6,
+ MSEHasFallData,
+ MSEHasGuidByte0,
+ MSEHasTransportData,
+ MSEHasGuidByte5,
+
+ MSEHasTransportGuidByte1,
+ MSEHasTransportGuidByte4,
+ MSEHasTransportGuidByte5,
+ MSEHasTransportGuidByte3,
+ MSEHasTransportGuidByte0,
+ MSEHasTransportTime2,
+ MSEHasTransportGuidByte7,
+ MSEHasTransportGuidByte6,
+ MSEHasTransportTime3,
+ MSEHasTransportGuidByte2,
+
+ MSEZeroBit,
+
+ MSEHasGuidByte7,
+ MSEHasGuidByte3,
+ MSEHasPitch,
+ MSEHasMovementFlags2,
+ MSEHasTimestamp,
+
+ MSEHasFallDirection,
+ MSEMovementFlags2,
+ MSEHasSplineElevation,
+ MSEMovementFlags,
+ MSEHasGuidByte1,
+
+ MSEGuidByte7,
+ MSETransportGuidByte3,
+ MSETransportGuidByte4,
+ MSETransportOrientation,
+ MSETransportTime3,
+ MSETransportGuidByte1,
+ MSETransportTime2,
+ MSETransportPositionZ,
+ MSETransportGuidByte7,
+ MSETransportGuidByte0,
+ MSETransportGuidByte6,
+ MSETransportGuidByte5,
+ MSETransportGuidByte2,
+ MSETransportSeat,
+ MSETransportTime,
+ MSETransportPositionY,
+ MSETransportPositionX,
+
+ MSEGuidByte6,
+ MSEPitch,
+ MSESplineElevation,
+ MSEOrientation,
+ MSEGuidByte2,
+ MSEGuidByte3,
+ MSEGuidByte1,
+
+ MSEFallTime,
+ MSEFallHorizontalSpeed,
+ MSEFallSinAngle,
+ MSEFallCosAngle,
+ MSEFallVerticalSpeed,
+
+ MSEGuidByte5,
+ MSEGuidByte4,
+ MSETimestamp,
+ MSEGuidByte0,
+
+ MSEEnd,
+};
+
MovementStatusElements* GetMovementStatusElementsSequence(Opcodes opcode)
{
switch (opcode)
@@ -2152,6 +2235,8 @@ MovementStatusElements* GetMovementStatusElementsSequence(Opcodes opcode)
return MoveNotActiveMover;
case CMSG_DISMISS_CONTROLLED_VEHICLE:
return DismissControlledVehicle;
+ case MSG_MOVE_UPDATE_TELEPORT:
+ return MoveUpdateTeleport;
default:
break;
}