Core/PacketIO: Updated and enabled MSG_MOVE_TELEPORT, MSG_MOVE_TELEPORT_ACK, MSG_MOVE_WORLDPORT_ACK, SMSG_NEW_WORLD and SMSG_TRANSFER_PENDING
This commit is contained in:
@@ -2039,89 +2039,64 @@ uint8 Player::GetChatTag() const
|
||||
|
||||
void Player::SendTeleportPacket(Position &oldPos)
|
||||
{
|
||||
WorldPacket data(SMSG_MOVE_TELEPORT, 38);
|
||||
ObjectGuid guid = GetGUID();
|
||||
ObjectGuid transGuid = GetTransGUID();
|
||||
|
||||
uint64 guid = GetGUID();
|
||||
uint8* bytes = (uint8*)&guid;
|
||||
WorldPacket data(MSG_MOVE_TELEPORT, 38);
|
||||
data.WriteBit(guid[6]);
|
||||
data.WriteBit(guid[0]);
|
||||
data.WriteBit(guid[3]);
|
||||
data.WriteBit(guid[2]);
|
||||
data.WriteBit(0); // unknown
|
||||
data.WriteBit(uint64(transGuid));
|
||||
data.WriteBit(guid[1]);
|
||||
if (transGuid)
|
||||
{
|
||||
data.WriteBit(transGuid[1]);
|
||||
data.WriteBit(transGuid[3]);
|
||||
data.WriteBit(transGuid[2]);
|
||||
data.WriteBit(transGuid[5]);
|
||||
data.WriteBit(transGuid[0]);
|
||||
data.WriteBit(transGuid[7]);
|
||||
data.WriteBit(transGuid[6]);
|
||||
data.WriteBit(transGuid[4]);
|
||||
}
|
||||
|
||||
data.WriteBit(GetTransGUID());
|
||||
data.WriteBit(bytes[0]);
|
||||
data.WriteBit(bytes[2]);
|
||||
data.WriteBit(bytes[6]);
|
||||
data.WriteBit(bytes[7]);
|
||||
data.WriteBit(bytes[4]);
|
||||
data.WriteBit(bytes[5]);
|
||||
data.WriteBit(bytes[3]);
|
||||
data.WriteBit(bytes[1]);
|
||||
data.WriteBit(0); //unk byte's bit
|
||||
data << GetPositionX();
|
||||
data << GetPositionY();
|
||||
data << GetPositionZ();
|
||||
data.WriteByteSeq(bytes[5]);
|
||||
data.WriteByteSeq(bytes[4]);
|
||||
if (GetTransGUID()) data << GetTransGUID();
|
||||
data.WriteByteSeq(bytes[2]);
|
||||
data.WriteByteSeq(bytes[7]);
|
||||
data << uint32(0); //unk int
|
||||
data.WriteByteSeq(bytes[1]);
|
||||
data.WriteByteSeq(bytes[0]);
|
||||
data.WriteByteSeq(bytes[6]);
|
||||
data.WriteByteSeq(bytes[3]);
|
||||
// unk byte, only if bit is set
|
||||
data << GetOrientation();
|
||||
data.WriteBit(guid[4]);
|
||||
data.WriteBit(guid[7]);
|
||||
data.WriteBit(guid[5]);
|
||||
data.FlushBits();
|
||||
|
||||
if (transGuid)
|
||||
{
|
||||
data.WriteByteSeq(transGuid[6]);
|
||||
data.WriteByteSeq(transGuid[5]);
|
||||
data.WriteByteSeq(transGuid[1]);
|
||||
data.WriteByteSeq(transGuid[7]);
|
||||
data.WriteByteSeq(transGuid[0]);
|
||||
data.WriteByteSeq(transGuid[2]);
|
||||
data.WriteByteSeq(transGuid[4]);
|
||||
data.WriteByteSeq(transGuid[3]);
|
||||
}
|
||||
|
||||
data << uint32(0); // counter
|
||||
data.WriteByteSeq(guid[1]);
|
||||
data.WriteByteSeq(guid[2]);
|
||||
data.WriteByteSeq(guid[3]);
|
||||
data.WriteByteSeq(guid[5]);
|
||||
data << float(GetPositionX());
|
||||
data.WriteByteSeq(guid[4]);
|
||||
data << float(GetOrientation());
|
||||
data.WriteByteSeq(guid[7]);
|
||||
data << float(GetPositionZMinusOffset());
|
||||
data.WriteByteSeq(guid[0]);
|
||||
data.WriteByteSeq(guid[6]);
|
||||
data << float(GetPositionY());
|
||||
|
||||
Relocate(&oldPos);
|
||||
SendDirectMessage(&data);
|
||||
}
|
||||
|
||||
void Player::SendSetFlyPacket(bool apply)
|
||||
{
|
||||
WorldPacket data(apply ? SMSG_MOVE_SET_CAN_FLY : SMSG_MOVE_UNSET_CAN_FLY, 12);
|
||||
uint64 guid = GetGUID();
|
||||
uint8* bytes = (uint8*)&guid;
|
||||
if (apply)
|
||||
{
|
||||
data.WriteBit(bytes[4]);
|
||||
data.WriteBit(bytes[3]);
|
||||
data.WriteBit(bytes[6]);
|
||||
data.WriteBit(bytes[0]);
|
||||
data.WriteBit(bytes[1]);
|
||||
data.WriteBit(bytes[2]);
|
||||
data.WriteBit(bytes[7]);
|
||||
data.WriteBit(bytes[5]);
|
||||
data.WriteByteSeq(bytes[3]);
|
||||
data.WriteByteSeq(bytes[7]);
|
||||
data.WriteByteSeq(bytes[5]);
|
||||
data.WriteByteSeq(bytes[0]);
|
||||
data.WriteByteSeq(bytes[1]);
|
||||
data.WriteByteSeq(bytes[4]);
|
||||
data << uint32(sWorld->GetGameTime());
|
||||
data.WriteByteSeq(bytes[6]);
|
||||
data.WriteByteSeq(bytes[2]);
|
||||
}
|
||||
else
|
||||
{
|
||||
data.WriteBit(bytes[1]);
|
||||
data.WriteBit(bytes[6]);
|
||||
data.WriteBit(bytes[0]);
|
||||
data.WriteBit(bytes[2]);
|
||||
data.WriteBit(bytes[4]);
|
||||
data.WriteBit(bytes[5]);
|
||||
data.WriteBit(bytes[7]);
|
||||
data.WriteBit(bytes[3]);
|
||||
data.WriteByteSeq(bytes[7]);
|
||||
data.WriteByteSeq(bytes[6]);
|
||||
data.WriteByteSeq(bytes[5]);
|
||||
data.WriteByteSeq(bytes[0]);
|
||||
data << uint32(sWorld->GetGameTime());
|
||||
data.WriteByteSeq(bytes[3]);
|
||||
data.WriteByteSeq(bytes[1]);
|
||||
data.WriteByteSeq(bytes[2]);
|
||||
data.WriteByteSeq(bytes[4]);
|
||||
}
|
||||
SendDirectMessage(&data);
|
||||
}
|
||||
|
||||
bool Player::TeleportTo(uint32 mapid, float x, float y, float z, float orientation, uint32 options)
|
||||
{
|
||||
if (!MapManager::IsValidMapCoord(mapid, x, y, z, orientation))
|
||||
@@ -2316,10 +2291,16 @@ bool Player::TeleportTo(uint32 mapid, float x, float y, float z, float orientati
|
||||
{
|
||||
// send transfer packets
|
||||
WorldPacket data(SMSG_TRANSFER_PENDING, 4 + 4 + 4);
|
||||
data << uint32(mapid);
|
||||
data.WriteBit(0); // unknown
|
||||
if (m_transport)
|
||||
data << m_transport->GetEntry() << GetMapId();
|
||||
{
|
||||
data.WriteBit(1); // has transport
|
||||
data << GetMapId() << m_transport->GetEntry();
|
||||
}
|
||||
else
|
||||
data.WriteBit(0); // has transport
|
||||
|
||||
data << uint32(mapid);
|
||||
GetSession()->SendPacket(&data);
|
||||
}
|
||||
|
||||
@@ -2349,17 +2330,11 @@ bool Player::TeleportTo(uint32 mapid, float x, float y, float z, float orientati
|
||||
if (!GetSession()->PlayerLogout())
|
||||
{
|
||||
WorldPacket data(SMSG_NEW_WORLD, 4 + 4 + 4 + 4 + 4);
|
||||
if (m_transport)
|
||||
data << m_movementInfo.t_pos.PositionXYZStream();
|
||||
else
|
||||
data << m_teleport_dest.PositionXYZStream();
|
||||
|
||||
data << float(m_teleport_dest.GetPositionX());
|
||||
data << float(m_teleport_dest.GetOrientation());
|
||||
data << float(m_teleport_dest.GetPositionZ());
|
||||
data << uint32(mapid);
|
||||
|
||||
if (m_transport)
|
||||
data << m_movementInfo.t_pos.GetOrientation();
|
||||
else
|
||||
data << m_teleport_dest.GetOrientation();
|
||||
data << float(m_teleport_dest.GetPositionY());
|
||||
|
||||
GetSession()->SendPacket(&data);
|
||||
SendSavedInstances();
|
||||
|
||||
@@ -2024,7 +2024,6 @@ class Player : public Unit, public GridObject<Player>
|
||||
void SendMessageToSet(WorldPacket* data, Player const* skipped_rcvr);
|
||||
|
||||
void SendTeleportPacket(Position &oldPos);
|
||||
void SendSetFlyPacket(bool apply);
|
||||
|
||||
Corpse* GetCorpse() const;
|
||||
void SpawnCorpseBones();
|
||||
|
||||
@@ -32,9 +32,9 @@
|
||||
#include "ObjectMgr.h"
|
||||
#include "MovementStructures.h"
|
||||
|
||||
void WorldSession::HandleMoveWorldportAckOpcode(WorldPacket & /*recv_data*/)
|
||||
void WorldSession::HandleMoveWorldportAckOpcode(WorldPacket& /*recvPacket*/)
|
||||
{
|
||||
sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: got CMSG_WORLD_PORT_RESPONSE.");
|
||||
sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: got MSG_MOVE_WORLDPORT_ACK.");
|
||||
HandleMoveWorldportAckOpcode();
|
||||
}
|
||||
|
||||
@@ -188,20 +188,33 @@ void WorldSession::HandleMoveWorldportAckOpcode()
|
||||
GetPlayer()->ProcessDelayedOperations();
|
||||
}
|
||||
|
||||
void WorldSession::HandleMoveTeleportAck(WorldPacket& recv_data)
|
||||
void WorldSession::HandleMoveTeleportAck(WorldPacket& recvPacket)
|
||||
{
|
||||
sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_MOVE_TELEPORT_ACK");
|
||||
|
||||
recv_data.rfinish();
|
||||
return;
|
||||
sLog->outDebug(LOG_FILTER_NETWORKIO, "MSG_MOVE_TELEPORT_ACK");
|
||||
|
||||
ObjectGuid guid;
|
||||
uint32 flags, time;
|
||||
recv_data >> flags >> time;
|
||||
recvPacket >> flags >> time;
|
||||
|
||||
guid[5] = recvPacket.ReadBit();
|
||||
guid[0] = recvPacket.ReadBit();
|
||||
guid[1] = recvPacket.ReadBit();
|
||||
guid[6] = recvPacket.ReadBit();
|
||||
guid[3] = recvPacket.ReadBit();
|
||||
guid[7] = recvPacket.ReadBit();
|
||||
guid[2] = recvPacket.ReadBit();
|
||||
guid[4] = recvPacket.ReadBit();
|
||||
|
||||
uint64 guid = 0;
|
||||
recvPacket.ReadByteSeq(guid[4]);
|
||||
recvPacket.ReadByteSeq(guid[2]);
|
||||
recvPacket.ReadByteSeq(guid[7]);
|
||||
recvPacket.ReadByteSeq(guid[6]);
|
||||
recvPacket.ReadByteSeq(guid[5]);
|
||||
recvPacket.ReadByteSeq(guid[1]);
|
||||
recvPacket.ReadByteSeq(guid[3]);
|
||||
recvPacket.ReadByteSeq(guid[0]);
|
||||
|
||||
sLog->outStaticDebug("Guid " UI64FMTD, guid);
|
||||
sLog->outStaticDebug("Guid " UI64FMTD, uint64(guid));
|
||||
sLog->outStaticDebug("Flags %u, time %u", flags, time/IN_MILLISECONDS);
|
||||
|
||||
Player* plMover = _player->m_mover->ToPlayer();
|
||||
@@ -243,9 +256,9 @@ void WorldSession::HandleMoveTeleportAck(WorldPacket& recv_data)
|
||||
GetPlayer()->ProcessDelayedOperations();
|
||||
}
|
||||
|
||||
void WorldSession::HandleMovementOpcodes(WorldPacket & recvData)
|
||||
void WorldSession::HandleMovementOpcodes(WorldPacket& recvPacket)
|
||||
{
|
||||
uint16 opcode = recvData.GetOpcode();
|
||||
uint16 opcode = recvPacket.GetOpcode();
|
||||
|
||||
Unit* mover = _player->m_mover;
|
||||
|
||||
@@ -256,13 +269,13 @@ void WorldSession::HandleMovementOpcodes(WorldPacket & recvData)
|
||||
// ignore, waiting processing in WorldSession::HandleMoveWorldportAckOpcode and WorldSession::HandleMoveTeleportAck
|
||||
if (plrMover && plrMover->IsBeingTeleported())
|
||||
{
|
||||
recvData.rfinish(); // prevent warnings spam
|
||||
recvPacket.rfinish(); // prevent warnings spam
|
||||
return;
|
||||
}
|
||||
|
||||
/* extract packet */
|
||||
MovementInfo movementInfo;
|
||||
ReadMovementInfo(recvData, &movementInfo);
|
||||
ReadMovementInfo(recvPacket, &movementInfo);
|
||||
|
||||
// prevent tampered movement data
|
||||
if (movementInfo.guid != mover->GetGUID())
|
||||
@@ -283,14 +296,14 @@ void WorldSession::HandleMovementOpcodes(WorldPacket & recvData)
|
||||
// (also received at zeppelin leave by some reason with t_* as absolute in continent coordinates, can be safely skipped)
|
||||
if (movementInfo.t_pos.GetPositionX() > 50 || movementInfo.t_pos.GetPositionY() > 50 || movementInfo.t_pos.GetPositionZ() > 50)
|
||||
{
|
||||
recvData.rfinish(); // prevent warnings spam
|
||||
recvPacket.rfinish(); // prevent warnings spam
|
||||
return;
|
||||
}
|
||||
|
||||
if (!Trinity::IsValidMapCoord(movementInfo.pos.GetPositionX() + movementInfo.t_pos.GetPositionX(), movementInfo.pos.GetPositionY() + movementInfo.t_pos.GetPositionY(),
|
||||
movementInfo.pos.GetPositionZ() + movementInfo.t_pos.GetPositionZ(), movementInfo.pos.GetOrientation() + movementInfo.t_pos.GetOrientation()))
|
||||
{
|
||||
recvData.rfinish(); // prevent warnings spam
|
||||
recvPacket.rfinish(); // prevent warnings spam
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -364,7 +377,7 @@ void WorldSession::HandleMovementOpcodes(WorldPacket & recvData)
|
||||
/*----------------------*/
|
||||
|
||||
/* process position-change */
|
||||
WorldPacket data(SMSG_PLAYER_MOVE, recvData.size());
|
||||
WorldPacket data(SMSG_PLAYER_MOVE, recvPacket.size());
|
||||
movementInfo.time = getMSTime();
|
||||
movementInfo.guid = mover->GetGUID();
|
||||
WriteMovementInfo(data, &movementInfo);
|
||||
|
||||
@@ -455,8 +455,6 @@ void InitOpcodes()
|
||||
//DEFINE_OPCODE_HANDLER(CMSG_MOVE_SPLINE_DONE, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMoveSplineDoneOpcode );
|
||||
//DEFINE_OPCODE_HANDLER(CMSG_MOVE_START_SWIM_CHEAT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
|
||||
//DEFINE_OPCODE_HANDLER(CMSG_MOVE_STOP_SWIM_CHEAT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
|
||||
//DEFINE_OPCODE_HANDLER(CMSG_MOVE_TELEPORT_ACK, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMoveTeleportAck );
|
||||
//DEFINE_OPCODE_HANDLER(CMSG_MOVE_TELEPORT_CHEAT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
|
||||
//DEFINE_OPCODE_HANDLER(CMSG_MOVE_TIME_SKIPPED, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleMoveTimeSkippedOpcode );
|
||||
//DEFINE_OPCODE_HANDLER(CMSG_MOVE_WATER_WALK_ACK, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMoveWaterWalkAck );
|
||||
//DEFINE_OPCODE_HANDLER(CMSG_NAME_QUERY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleNameQueryOpcode );
|
||||
@@ -682,7 +680,6 @@ void InitOpcodes()
|
||||
//DEFINE_OPCODE_HANDLER(CMSG_WEATHER_SPEED_CHEAT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
|
||||
//DEFINE_OPCODE_HANDLER(CMSG_WHO, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleWhoOpcode );
|
||||
//DEFINE_OPCODE_HANDLER(CMSG_WHOIS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleWhoisOpcode );
|
||||
//DEFINE_OPCODE_HANDLER(CMSG_WORLD_PORT_RESPONSE, STATUS_TRANSFER, PROCESS_THREADUNSAFE, &WorldSession::HandleMoveWorldportAckOpcode );
|
||||
//DEFINE_OPCODE_HANDLER(CMSG_WORLD_STATE_UI_TIMER_UPDATE, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleWorldStateUITimerUpdate );
|
||||
//DEFINE_OPCODE_HANDLER(CMSG_WORLD_TELEPORT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleWorldTeleportOpcode );
|
||||
//DEFINE_OPCODE_HANDLER(CMSG_WRAP_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleWrapItemOpcode );
|
||||
@@ -750,6 +747,9 @@ void InitOpcodes()
|
||||
DEFINE_OPCODE_HANDLER(MSG_MOVE_STOP_SWIM, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMovementOpcodes );
|
||||
//DEFINE_OPCODE_HANDLER(MSG_MOVE_STOP_SWIM_CHEAT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
|
||||
DEFINE_OPCODE_HANDLER(MSG_MOVE_STOP_TURN, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMovementOpcodes );
|
||||
DEFINE_OPCODE_HANDLER(MSG_MOVE_TELEPORT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
|
||||
DEFINE_OPCODE_HANDLER(MSG_MOVE_TELEPORT_ACK, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMoveTeleportAck );
|
||||
//DEFINE_OPCODE_HANDLER(MSG_MOVE_TELEPORT_CHEAT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
|
||||
//DEFINE_OPCODE_HANDLER(MSG_MOVE_TOGGLE_COLLISION_CHEAT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
|
||||
//DEFINE_OPCODE_HANDLER(MSG_MOVE_TOGGLE_FALL_LOGGING, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
|
||||
//DEFINE_OPCODE_HANDLER(MSG_MOVE_TOGGLE_LOGGING, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
|
||||
@@ -757,6 +757,7 @@ void InitOpcodes()
|
||||
//DEFINE_OPCODE_HANDLER(MSG_MOVE_UPDATE_CAN_FLY, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
|
||||
//DEFINE_OPCODE_HANDLER(MSG_MOVE_UPDATE_CAN_TRANSITION_BETWEEN_SWIM_AND_FLY, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
|
||||
//DEFINE_OPCODE_HANDLER(MSG_MOVE_WATER_WALK, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
|
||||
DEFINE_OPCODE_HANDLER(MSG_MOVE_WORLDPORT_ACK, STATUS_TRANSFER, PROCESS_THREADUNSAFE, &WorldSession::HandleMoveWorldportAckOpcode );
|
||||
//DEFINE_OPCODE_HANDLER(MSG_NOTIFY_PARTY_SQUELCH, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
|
||||
//DEFINE_OPCODE_HANDLER(MSG_NULL_ACTION, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
|
||||
//DEFINE_OPCODE_HANDLER(MSG_PARTY_ASSIGNMENT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandlePartyAssignmentOpcode );
|
||||
@@ -1129,7 +1130,7 @@ void InitOpcodes()
|
||||
//DEFINE_OPCODE_HANDLER(SMSG_MULTIPLE_PACKETS, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
//DEFINE_OPCODE_HANDLER(SMSG_NAME_QUERY_RESPONSE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
//DEFINE_OPCODE_HANDLER(SMSG_NEW_TAXI_PATH, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
//DEFINE_OPCODE_HANDLER(SMSG_NEW_WORLD, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
DEFINE_OPCODE_HANDLER(SMSG_NEW_WORLD, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
DEFINE_OPCODE_HANDLER(SMSG_NOTIFICATION, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
//DEFINE_OPCODE_HANDLER(SMSG_NOTIFY_DANCE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
//DEFINE_OPCODE_HANDLER(SMSG_NOTIFY_DEST_LOC_SPELL_CAST, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
@@ -1352,7 +1353,7 @@ void InitOpcodes()
|
||||
//DEFINE_OPCODE_HANDLER(SMSG_TRAINER_BUY_SUCCEEDED, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
//DEFINE_OPCODE_HANDLER(SMSG_TRAINER_LIST, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
//DEFINE_OPCODE_HANDLER(SMSG_TRANSFER_ABORTED, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
//DEFINE_OPCODE_HANDLER(SMSG_TRANSFER_PENDING, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
DEFINE_OPCODE_HANDLER(SMSG_TRANSFER_PENDING, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
//DEFINE_OPCODE_HANDLER(SMSG_TRIGGER_CINEMATIC, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
//DEFINE_OPCODE_HANDLER(SMSG_TRIGGER_MOVIE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
//DEFINE_OPCODE_HANDLER(SMSG_TURN_IN_PETITION_RESULTS, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
|
||||
@@ -316,8 +316,6 @@ enum Opcodes
|
||||
CMSG_MOVE_SET_RELATIVE_POSITION = 0x0000,
|
||||
CMSG_MOVE_SET_VEHICLE_REC_ID_ACK = 0x0000,
|
||||
CMSG_MOVE_SPLINE_DONE = 0x790E,
|
||||
CMSG_MOVE_TELEPORT_ACK = 0x0000,
|
||||
CMSG_MOVE_TELEPORT_CHEAT = 0x0000,
|
||||
CMSG_MOVE_TIME_SKIPPED = 0x7A0A,
|
||||
CMSG_MOVE_TOGGLE_COLLISION_ACK = 0x0000,
|
||||
CMSG_MOVE_WATER_WALK_ACK = 0x0000,
|
||||
@@ -479,7 +477,6 @@ enum Opcodes
|
||||
CMSG_WARDEN_DATA = 0x25A2,
|
||||
CMSG_WHO = 0x6C15,
|
||||
CMSG_WHOIS = 0x6B05,
|
||||
CMSG_WORLD_PORT_RESPONSE = 0x2411,
|
||||
CMSG_WORLD_STATE_UI_TIMER_UPDATE = 0x4605,
|
||||
CMSG_WORLD_TELEPORT = 0x3330,
|
||||
CMSG_WRAP_ITEM = 0x0000,
|
||||
@@ -550,6 +547,7 @@ enum Opcodes
|
||||
MSG_MOVE_UPDATE_RUN_SPEED = 0x14A6,
|
||||
MSG_MOVE_UPDATE_TELEPORT = 0x50B2,
|
||||
MSG_MOVE_WATER_WALK = 0x0000,
|
||||
MSG_MOVE_WORLDPORT_ACK = 0x2411,
|
||||
MSG_NOTIFY_PARTY_SQUELCH = 0x0000,
|
||||
MSG_PARTY_ASSIGNMENT = 0x0000,
|
||||
MSG_PETITION_DECLINE = 0x31E0,
|
||||
|
||||
@@ -98,9 +98,9 @@ public:
|
||||
|
||||
WorldPacket data;
|
||||
if (strncmp(args, "on", 3) == 0)
|
||||
target->SendSetFlyPacket(true);
|
||||
target->SendMovementSetCanFly(true);
|
||||
else if (strncmp(args, "off", 4) == 0)
|
||||
target->SendSetFlyPacket(false);
|
||||
target->SendMovementSetCanFly(false);
|
||||
else
|
||||
{
|
||||
handler->SendSysMessage(LANG_USE_BOL);
|
||||
|
||||
Reference in New Issue
Block a user