mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-20 17:27:36 +01:00
add opcode handler CMSG_MOVE_GRAVITY_DISABLE_ACK, CMSG_MOVE_GRAVITY_E…
…NABLE_ACK to supress the missing ack handler message.. from Arkcore
This commit is contained in:
@@ -574,6 +574,15 @@ void WorldSession::HandleMoveKnockBackAck(WorldPacket& recvData)
|
||||
_player->SendMessageToSet(&data, false);
|
||||
}
|
||||
|
||||
void WorldSession::HandleGravityAckMessage(WorldPacket& recvData)
|
||||
{
|
||||
MovementInfo movementInfo;
|
||||
GetPlayer()->ReadMovementInfo(recvData, &movementInfo);
|
||||
if (movementInfo.guid != _player->m_mover->GetGUID())
|
||||
TC_LOG_ERROR("network", "HandleGravityAckMessage: incorrect mover guid: mover is " UI64FMTD " (%s - Entry: %u) and should be " UI64FMTD, uint64(movementInfo.guid), GetLogNameForGuid(movementInfo.guid), GUID_ENPART(movementInfo.guid), _player->m_mover->GetGUID());
|
||||
|
||||
}
|
||||
|
||||
void WorldSession::HandleMoveHoverAck(WorldPacket& recvData)
|
||||
{
|
||||
TC_LOG_DEBUG("network", "CMSG_MOVE_HOVER_ACK");
|
||||
|
||||
@@ -5360,6 +5360,50 @@ MovementStatusElements const CastSpellEmbeddedMovement[] =
|
||||
MSEEnd,
|
||||
};
|
||||
|
||||
MovementStatusElements const MoveGravityDisable[] =
|
||||
{
|
||||
MSEHasGuidByte0,
|
||||
MSEHasGuidByte1,
|
||||
MSEHasGuidByte5,
|
||||
MSEHasGuidByte7,
|
||||
MSEHasGuidByte6,
|
||||
MSEHasGuidByte4,
|
||||
MSEHasGuidByte3,
|
||||
MSEHasGuidByte2,
|
||||
MSEGuidByte7,
|
||||
MSEGuidByte2,
|
||||
MSEGuidByte0,
|
||||
MSECounter,
|
||||
MSEGuidByte5,
|
||||
MSEGuidByte1,
|
||||
MSEGuidByte3,
|
||||
MSEGuidByte4,
|
||||
MSEGuidByte6,
|
||||
MSEEnd,
|
||||
};
|
||||
|
||||
MovementStatusElements const MoveGravityEnable[] =
|
||||
{
|
||||
MSEHasGuidByte1,
|
||||
MSEHasGuidByte4,
|
||||
MSEHasGuidByte7,
|
||||
MSEHasGuidByte5,
|
||||
MSEHasGuidByte2,
|
||||
MSEHasGuidByte0,
|
||||
MSEHasGuidByte3,
|
||||
MSEHasGuidByte6,
|
||||
MSEGuidByte3,
|
||||
MSECounter,
|
||||
MSEGuidByte7,
|
||||
MSEGuidByte6,
|
||||
MSEGuidByte4,
|
||||
MSEGuidByte0,
|
||||
MSEGuidByte1,
|
||||
MSEGuidByte5,
|
||||
MSEGuidByte2,
|
||||
MSEEnd,
|
||||
};
|
||||
|
||||
void Movement::ExtraMovementStatusElement::ReadNextElement(ByteBuffer& packet)
|
||||
{
|
||||
MovementStatusElements const element = _elements[_index++];
|
||||
@@ -5699,6 +5743,10 @@ MovementStatusElements const* GetMovementStatusElementsSequence(Opcodes opcode)
|
||||
case CMSG_PET_CAST_SPELL:
|
||||
case CMSG_USE_ITEM:
|
||||
return CastSpellEmbeddedMovement;
|
||||
case SMSG_MOVE_GRAVITY_DISABLE:
|
||||
return MoveGravityDisable;
|
||||
case SMSG_MOVE_GRAVITY_ENABLE:
|
||||
return MoveGravityEnable;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -369,8 +369,8 @@ void OpcodeTable::Initialize()
|
||||
DEFINE_OPCODE_HANDLER(CMSG_MOVE_FORCE_SWIM_SPEED_CHANGE_ACK, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleForceSpeedChangeAck );
|
||||
DEFINE_OPCODE_HANDLER(CMSG_MOVE_FORCE_TURN_RATE_CHANGE_ACK, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleForceSpeedChangeAck );
|
||||
DEFINE_OPCODE_HANDLER(CMSG_MOVE_FORCE_WALK_SPEED_CHANGE_ACK, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleForceSpeedChangeAck );
|
||||
DEFINE_OPCODE_HANDLER(CMSG_MOVE_GRAVITY_DISABLE_ACK, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
|
||||
DEFINE_OPCODE_HANDLER(CMSG_MOVE_GRAVITY_ENABLE_ACK, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
|
||||
DEFINE_OPCODE_HANDLER(CMSG_MOVE_GRAVITY_DISABLE_ACK, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleGravityAckMessage );
|
||||
DEFINE_OPCODE_HANDLER(CMSG_MOVE_GRAVITY_ENABLE_ACK, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleGravityAckMessage );
|
||||
DEFINE_OPCODE_HANDLER(CMSG_MOVE_HOVER_ACK, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleMoveHoverAck );
|
||||
DEFINE_OPCODE_HANDLER(CMSG_MOVE_KNOCK_BACK_ACK, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMoveKnockBackAck );
|
||||
DEFINE_OPCODE_HANDLER(CMSG_MOVE_NOT_ACTIVE_MOVER, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMoveNotActiveMover );
|
||||
|
||||
@@ -506,7 +506,7 @@ class TC_GAME_API WorldSession
|
||||
|
||||
// Knockback
|
||||
void HandleMoveKnockBackAck(WorldPacket& recvPacket);
|
||||
|
||||
void HandleGravityAckMessage(WorldPacket & recvData);
|
||||
void HandleMoveTeleportAck(WorldPacket& recvPacket);
|
||||
void HandleForceSpeedChangeAck(WorldPacket& recvData);
|
||||
void HandleSetCollisionHeightAck(WorldPacket& recvPacket);
|
||||
|
||||
Reference in New Issue
Block a user