Core/Packets: Updated some of the movement flag opcodes

This commit is contained in:
Intel
2014-11-30 01:38:27 +02:00
parent 96f9451b85
commit a00307ac36
7 changed files with 167 additions and 51 deletions
+1 -1
View File
@@ -95,7 +95,7 @@ struct ItemSparseEntry
{
uint32 ID; // 0
uint32 Quality; // 1
uint32 Flags[3]; // 2-4
uint32 Flags[MAX_ITEM_PROTO_FLAGS]; // 2-4
float Unk1; // 5
float Unk2; // 6
uint32 BuyCount; // 7
+118 -33
View File
@@ -10730,17 +10730,18 @@ void Unit::SetSpeed(UnitMoveType mtype, float rate, bool forced)
propagateSpeedChange();
static OpcodeServer const moveTypeToOpcode[MAX_MOVE_TYPE][3] =
// Spline packets are for creatures and move_update are for players
static OpcodeServer const moveTypeToOpcode[MAX_MOVE_TYPE][2] =
{
{SMSG_SPLINE_MOVE_SET_WALK_SPEED, SMSG_MOVE_SET_WALK_SPEED, SMSG_MOVE_UPDATE_WALK_SPEED },
{SMSG_SPLINE_MOVE_SET_RUN_SPEED, SMSG_MOVE_SET_RUN_SPEED, SMSG_MOVE_UPDATE_RUN_SPEED },
{SMSG_SPLINE_MOVE_SET_RUN_BACK_SPEED, SMSG_MOVE_SET_RUN_BACK_SPEED, SMSG_MOVE_UPDATE_RUN_BACK_SPEED },
{SMSG_SPLINE_MOVE_SET_SWIM_SPEED, SMSG_MOVE_SET_SWIM_SPEED, SMSG_MOVE_UPDATE_SWIM_SPEED },
{SMSG_SPLINE_MOVE_SET_SWIM_BACK_SPEED, SMSG_MOVE_SET_SWIM_BACK_SPEED, SMSG_MOVE_UPDATE_SWIM_BACK_SPEED },
{SMSG_SPLINE_MOVE_SET_TURN_RATE, SMSG_MOVE_SET_TURN_RATE, SMSG_MOVE_UPDATE_TURN_RATE },
{SMSG_SPLINE_MOVE_SET_FLIGHT_SPEED, SMSG_MOVE_SET_FLIGHT_SPEED, SMSG_MOVE_UPDATE_FLIGHT_SPEED },
{SMSG_SPLINE_MOVE_SET_FLIGHT_BACK_SPEED, SMSG_MOVE_SET_FLIGHT_BACK_SPEED, SMSG_MOVE_UPDATE_FLIGHT_BACK_SPEED},
{SMSG_SPLINE_MOVE_SET_PITCH_RATE, SMSG_MOVE_SET_PITCH_RATE, SMSG_MOVE_UPDATE_PITCH_RATE },
{SMSG_SPLINE_MOVE_SET_WALK_SPEED, SMSG_MOVE_UPDATE_WALK_SPEED },
{SMSG_SPLINE_MOVE_SET_RUN_SPEED, SMSG_MOVE_UPDATE_RUN_SPEED },
{SMSG_SPLINE_MOVE_SET_RUN_BACK_SPEED, SMSG_MOVE_UPDATE_RUN_BACK_SPEED },
{SMSG_SPLINE_MOVE_SET_SWIM_SPEED, SMSG_MOVE_UPDATE_SWIM_SPEED },
{SMSG_SPLINE_MOVE_SET_SWIM_BACK_SPEED, SMSG_MOVE_UPDATE_SWIM_BACK_SPEED },
{SMSG_SPLINE_MOVE_SET_TURN_RATE, SMSG_MOVE_UPDATE_TURN_RATE },
{SMSG_SPLINE_MOVE_SET_FLIGHT_SPEED, SMSG_MOVE_UPDATE_FLIGHT_SPEED },
{SMSG_SPLINE_MOVE_SET_FLIGHT_BACK_SPEED, SMSG_MOVE_UPDATE_FLIGHT_BACK_SPEED},
{SMSG_SPLINE_MOVE_SET_PITCH_RATE, SMSG_MOVE_UPDATE_PITCH_RATE },
};
if (GetTypeId() == TYPEID_PLAYER)
@@ -10756,12 +10757,10 @@ void Unit::SetSpeed(UnitMoveType mtype, float rate, bool forced)
if (GetTypeId() == TYPEID_PLAYER && ToPlayer()->m_mover->GetTypeId() == TYPEID_PLAYER)
{
/// @todo fix SMSG_MOVE_SET packets (were they removed?)
//_selfOpcode = playerControl;
WorldPackets::Movement::MoveUpdate packet(moveTypeToOpcode[mtype][2]);
WorldPackets::Movement::MoveUpdate packet(moveTypeToOpcode[mtype][1]);
packet.movementInfo = m_movementInfo;
packet.Speed = rate;
SendMessageToSet(packet.Write(), false);
SendMessageToSet(packet.Write(), true);
}
else
{
@@ -16255,10 +16254,27 @@ bool Unit::SetDisableGravity(bool disable, bool packetOnly /*= false*/)
}
}
if (disable)
Movement::PacketSender(this, SMSG_SPLINE_MOVE_GRAVITY_DISABLE, SMSG_MOVE_GRAVITY_DISABLE).Send();
static OpcodeServer const gravityOpcodeTable[2][2] =
{
{SMSG_SPLINE_MOVE_GRAVITY_ENABLE, SMSG_MOVE_GRAVITY_ENABLE },
{SMSG_SPLINE_MOVE_GRAVITY_DISABLE, SMSG_MOVE_GRAVITY_DISABLE }
};
bool player = GetTypeId() == TYPEID_PLAYER && ToPlayer()->m_mover->GetTypeId() == TYPEID_PLAYER;
if (player)
{
WorldPackets::Movement::MoveSetFlag packet(gravityOpcodeTable[disable][1]);
packet.MoverGUID = GetGUID();
packet.SequenceIndex = m_movementCounter++;
SendMessageToSet(packet.Write(), true);
}
else
Movement::PacketSender(this, SMSG_SPLINE_MOVE_GRAVITY_ENABLE, SMSG_MOVE_GRAVITY_ENABLE).Send();
{
WorldPackets::Movement::MoveSplineSetFlag packet(gravityOpcodeTable[disable][0]);
packet.MoverGUID = GetGUID();
SendMessageToSet(packet.Write(), true);
}
return true;
}
@@ -16289,10 +16305,11 @@ bool Unit::SetSwim(bool enable)
else
RemoveUnitMovementFlag(MOVEMENTFLAG_SWIMMING);
if (enable)
Movement::PacketSender(this, SMSG_SPLINE_MOVE_START_SWIM, static_cast<OpcodeServer>(NULL_OPCODE)).Send();
else
Movement::PacketSender(this, SMSG_SPLINE_MOVE_STOP_SWIM, static_cast<OpcodeServer>(NULL_OPCODE)).Send();
static OpcodeServer const swimOpcodeTable[2] = {SMSG_SPLINE_MOVE_STOP_SWIM, SMSG_SPLINE_MOVE_START_SWIM};
WorldPackets::Movement::MoveSplineSetFlag packet(swimOpcodeTable[enable]);
packet.MoverGUID = GetGUID();
SendMessageToSet(packet.Write(), true);
return true;
}
@@ -16315,10 +16332,27 @@ bool Unit::SetCanFly(bool enable)
SetFall(true);
}
if (enable)
Movement::PacketSender(this, SMSG_SPLINE_MOVE_SET_FLYING, SMSG_MOVE_SET_CAN_FLY).Send();
static OpcodeServer const flyOpcodeTable[2][2] =
{
{SMSG_SPLINE_MOVE_UNSET_FLYING, SMSG_MOVE_UNSET_CAN_FLY },
{SMSG_SPLINE_MOVE_SET_FLYING, SMSG_MOVE_SET_CAN_FLY }
};
bool player = GetTypeId() == TYPEID_PLAYER && ToPlayer()->m_mover->GetTypeId() == TYPEID_PLAYER;
if (player)
{
WorldPackets::Movement::MoveSetFlag packet(flyOpcodeTable[enable][1]);
packet.MoverGUID = GetGUID();
packet.SequenceIndex = m_movementCounter++;
SendMessageToSet(packet.Write(), true);
}
else
Movement::PacketSender(this, SMSG_SPLINE_MOVE_UNSET_FLYING, SMSG_MOVE_UNSET_CAN_FLY).Send();
{
WorldPackets::Movement::MoveSplineSetFlag packet(flyOpcodeTable[enable][0]);
packet.MoverGUID = GetGUID();
SendMessageToSet(packet.Write(), true);
}
return true;
}
@@ -16336,10 +16370,27 @@ bool Unit::SetWaterWalking(bool enable, bool packetOnly /*= false */)
RemoveUnitMovementFlag(MOVEMENTFLAG_WATERWALKING);
}
if (enable)
Movement::PacketSender(this, SMSG_SPLINE_MOVE_SET_WATER_WALK, SMSG_MOVE_WATER_WALK).Send();
static OpcodeServer const waterWalkingOpcodeTable[2][2] =
{
{SMSG_SPLINE_MOVE_SET_LAND_WALK, SMSG_MOVE_LAND_WALK },
{SMSG_SPLINE_MOVE_SET_WATER_WALK, SMSG_MOVE_WATER_WALK}
};
bool player = GetTypeId() == TYPEID_PLAYER && ToPlayer()->m_mover->GetTypeId() == TYPEID_PLAYER;
if (player)
{
WorldPackets::Movement::MoveSetFlag packet(waterWalkingOpcodeTable[enable][1]);
packet.MoverGUID = GetGUID();
packet.SequenceIndex = m_movementCounter++;
SendMessageToSet(packet.Write(), true);
}
else
Movement::PacketSender(this, SMSG_SPLINE_MOVE_SET_LAND_WALK, SMSG_MOVE_LAND_WALK).Send();
{
WorldPackets::Movement::MoveSplineSetFlag packet(waterWalkingOpcodeTable[enable][0]);
packet.MoverGUID = GetGUID();
SendMessageToSet(packet.Write(), true);
}
return true;
}
@@ -16357,10 +16408,27 @@ bool Unit::SetFeatherFall(bool enable, bool packetOnly /*= false */)
RemoveUnitMovementFlag(MOVEMENTFLAG_FALLING_SLOW);
}
if (enable)
Movement::PacketSender(this, SMSG_SPLINE_MOVE_SET_FEATHER_FALL, SMSG_MOVE_FEATHER_FALL).Send();
static OpcodeServer const featherFallOpcodeTable[2][2] =
{
{SMSG_SPLINE_MOVE_SET_NORMAL_FALL, SMSG_MOVE_NORMAL_FALL },
{SMSG_SPLINE_MOVE_SET_FEATHER_FALL, SMSG_MOVE_FEATHER_FALL }
};
bool player = GetTypeId() == TYPEID_PLAYER && ToPlayer()->m_mover->GetTypeId() == TYPEID_PLAYER;
if (player)
{
WorldPackets::Movement::MoveSetFlag packet(featherFallOpcodeTable[enable][1]);
packet.MoverGUID = GetGUID();
packet.SequenceIndex = m_movementCounter++;
SendMessageToSet(packet.Write(), true);
}
else
Movement::PacketSender(this, SMSG_SPLINE_MOVE_SET_NORMAL_FALL, SMSG_MOVE_NORMAL_FALL).Send();
{
WorldPackets::Movement::MoveSplineSetFlag packet(featherFallOpcodeTable[enable][0]);
packet.MoverGUID = GetGUID();
SendMessageToSet(packet.Write(), true);
}
return true;
}
@@ -16393,10 +16461,27 @@ bool Unit::SetHover(bool enable, bool packetOnly /*= false*/)
}
}
if (enable)
Movement::PacketSender(this, SMSG_SPLINE_MOVE_SET_HOVER, SMSG_MOVE_SET_HOVER).Send();
static OpcodeServer const hoverOpcodeTable[2][2] =
{
{SMSG_SPLINE_MOVE_UNSET_HOVER, SMSG_MOVE_UNSET_HOVER },
{SMSG_SPLINE_MOVE_SET_HOVER, SMSG_MOVE_SET_HOVER }
};
bool player = GetTypeId() == TYPEID_PLAYER && ToPlayer()->m_mover->GetTypeId() == TYPEID_PLAYER;
if (player)
{
WorldPackets::Movement::MoveSetFlag packet(hoverOpcodeTable[enable][1]);
packet.MoverGUID = GetGUID();
packet.SequenceIndex = m_movementCounter++;
SendMessageToSet(packet.Write(), true);
}
else
Movement::PacketSender(this, SMSG_SPLINE_MOVE_UNSET_HOVER, SMSG_MOVE_UNSET_HOVER).Send();
{
WorldPackets::Movement::MoveSplineSetFlag packet(hoverOpcodeTable[enable][0]);
packet.MoverGUID = GetGUID();
SendMessageToSet(packet.Write(), true);
}
return true;
}
@@ -33,11 +33,8 @@ namespace Movement
class MoveSpline;
class PacketBuilder
{
static void WriteCommonMonsterMovePart(const MoveSpline& mov, WorldPacket& data);
public:
static void WriteMonsterMove(const MoveSpline& mov, WorldPackets::Movement::MovementMonsterSpline& movementMonsterSpline);
static void WriteStopMovement(Vector3 const& loc, uint32 splineId, ByteBuffer& data);
static void WriteCreate(MoveSpline const& moveSpline, ByteBuffer& data);
};
}
@@ -277,6 +277,19 @@ WorldPacket const* WorldPackets::Movement::MoveUpdate::Write()
return &_worldPacket;
}
WorldPacket const* WorldPackets::Movement::MoveSplineSetFlag::Write()
{
_worldPacket << MoverGUID;
return &_worldPacket;
}
WorldPacket const* WorldPackets::Movement::MoveSetFlag::Write()
{
_worldPacket << MoverGUID;
_worldPacket << SequenceIndex;
return &_worldPacket;
}
WorldPacket const* WorldPackets::Movement::ServerPlayerMovement::Write()
{
MovementInfo movementInfo = mover->m_movementInfo;
@@ -126,6 +126,27 @@ namespace WorldPackets
float Speed;
};
class MoveSplineSetFlag final : public ServerPacket
{
public:
MoveSplineSetFlag(OpcodeServer opcode) : ServerPacket(opcode, 8) { }
WorldPacket const* Write() override;
ObjectGuid MoverGUID;
};
class MoveSetFlag final : public ServerPacket
{
public:
MoveSetFlag(OpcodeServer opcode) : ServerPacket(opcode, 12) { }
WorldPacket const* Write() override;
ObjectGuid MoverGUID;
uint32 SequenceIndex = 0; ///< Unit movement packet index, incremented each time
};
class TransferPending final : public ServerPacket
{
struct ShipTransferPending
+8 -8
View File
@@ -1101,20 +1101,20 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_FEATHER_FALL, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_FORCE_RUN_SPEED_CHANGE, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_FORCE_SWIM_SPEED_CHANGE, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_GRAVITY_DISABLE, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_GRAVITY_DISABLE, STATUS_NEVER);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_GRAVITY_ENABLE, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_KNOCK_BACK, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_LAND_WALK, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_LAND_WALK, STATUS_NEVER);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_NORMAL_FALL, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_ROOT, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_ACTIVE_MOVER, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_CAN_FLY, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_CAN_FLY, STATUS_NEVER);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_CAN_TRANSITION_BETWEEN_SWIM_AND_FLY, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_COLLISION_HEIGHT, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_COMPOUND_STATE, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_FLIGHT_BACK_SPEED, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_FLIGHT_SPEED, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_HOVER, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_HOVER, STATUS_NEVER);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_PITCH_RATE, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_RUN_BACK_SPEED, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_RUN_SPEED, STATUS_UNHANDLED);
@@ -1124,9 +1124,9 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_SET_WALK_SPEED, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_TELEPORT, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_UNROOT, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_UNSET_CAN_FLY, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_UNSET_CAN_FLY, STATUS_NEVER);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_UNSET_CAN_TRANSITION_BETWEEN_SWIM_AND_FLY, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_UNSET_HOVER, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_UNSET_HOVER, STATUS_NEVER);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_UPDATE_COLLISION_HEIGHT, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_UPDATE_FLIGHT_BACK_SPEED, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_UPDATE_FLIGHT_SPEED, STATUS_UNHANDLED);
@@ -1139,7 +1139,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_UPDATE_TELEPORT, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_UPDATE_TURN_RATE, STATUS_NEVER);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_UPDATE_WALK_SPEED, STATUS_NEVER);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_WATER_WALK, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOVE_WATER_WALK, STATUS_NEVER);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_MULTIPLE_PACKETS, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_NAME_QUERY_RESPONSE, STATUS_NEVER);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_NEW_TAXI_PATH, STATUS_UNHANDLED);
@@ -1324,7 +1324,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPIRIT_HEALER_CONFIRM, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPLINE_MOVE_COLLISION_DISABLE, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPLINE_MOVE_COLLISION_ENABLE, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPLINE_MOVE_GRAVITY_DISABLE, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPLINE_MOVE_GRAVITY_DISABLE, STATUS_NEVER);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPLINE_MOVE_GRAVITY_ENABLE, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPLINE_MOVE_ROOT, STATUS_UNHANDLED);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SPLINE_MOVE_SET_ANIM, STATUS_UNHANDLED);
+6 -6
View File
@@ -1119,17 +1119,17 @@ enum OpcodeServer : uint32
SMSG_MOVE_GRAVITY_DISABLE = 0x02C6,
SMSG_MOVE_GRAVITY_ENABLE = 0xBADD,
SMSG_MOVE_KNOCK_BACK = 0xBADD,
SMSG_MOVE_LAND_WALK = 0xBADD,
SMSG_MOVE_LAND_WALK = 0x13DA,
SMSG_MOVE_NORMAL_FALL = 0xBADD,
SMSG_MOVE_ROOT = 0x1B5A,
SMSG_MOVE_SET_ACTIVE_MOVER = 0xBADD,
SMSG_MOVE_SET_CAN_FLY = 0xBADD,
SMSG_MOVE_SET_CAN_FLY = 0x01F6,
SMSG_MOVE_SET_CAN_TRANSITION_BETWEEN_SWIM_AND_FLY = 0xBADD,
SMSG_MOVE_SET_COLLISION_HEIGHT = 0x008D,
SMSG_MOVE_SET_COMPOUND_STATE = 0xBADD,
SMSG_MOVE_SET_FLIGHT_BACK_SPEED = 0xBADD,
SMSG_MOVE_SET_FLIGHT_SPEED = 0xBADD,
SMSG_MOVE_SET_HOVER = 0xBADD,
SMSG_MOVE_SET_HOVER = 0x0296,
SMSG_MOVE_SET_PITCH_RATE = 0xBADD,
SMSG_MOVE_SET_RUN_BACK_SPEED = 0xBADD,
SMSG_MOVE_SET_RUN_SPEED = 0xBADD,
@@ -1141,9 +1141,9 @@ enum OpcodeServer : uint32
SMSG_MOVE_SET_WALK_SPEED = 0xBADD,
SMSG_MOVE_TELEPORT = 0x03A6,
SMSG_MOVE_UNROOT = 0xBADD,
SMSG_MOVE_UNSET_CAN_FLY = 0xBADD,
SMSG_MOVE_UNSET_CAN_FLY = 0x0BAE,
SMSG_MOVE_UNSET_CAN_TRANSITION_BETWEEN_SWIM_AND_FLY = 0xBADD,
SMSG_MOVE_UNSET_HOVER = 0xBADD,
SMSG_MOVE_UNSET_HOVER = 0x01A5,
SMSG_MOVE_UNSET_WALK_IN_AIR = 0xBADD,
SMSG_MOVE_UPDATE_COLLISION_HEIGHT = 0xBADD,
SMSG_MOVE_UPDATE_FLIGHT_BACK_SPEED = 0xBADD,
@@ -1157,7 +1157,7 @@ enum OpcodeServer : uint32
SMSG_MOVE_UPDATE_TELEPORT = 0x03D5,
SMSG_MOVE_UPDATE_TURN_RATE = 0x08BE,
SMSG_MOVE_UPDATE_WALK_SPEED = 0x01E5,
SMSG_MOVE_WATER_WALK = 0xBADD,
SMSG_MOVE_WATER_WALK = 0x02A6,
SMSG_MULTIPLE_PACKETS = 0xBADD,
SMSG_NAME_QUERY_RESPONSE = 0x0828,
SMSG_NEW_TAXI_PATH = 0xBADD,