Core/Packets: update & enabled CMSG_EMOTE
Documentation Used: - Thank you @MitchesD for providing some extra information, much appreciated. Core/Packets: Fix CMSG_EMOTE opcode handler Documentation used: - Thanks thumsoul from TC IRC for providing extra information.
This commit is contained in:
@@ -524,15 +524,13 @@ void WorldSession::HandleChatMessageDNDOpcode(WorldPackets::Chat::ChatMessageDND
|
||||
sScriptMgr->OnPlayerChat(sender, CHAT_MSG_DND, LANG_UNIVERSAL, packet.Text);
|
||||
}
|
||||
|
||||
void WorldSession::HandleEmoteOpcode(WorldPacket& recvData)
|
||||
void WorldSession::HandleEmoteOpcode(WorldPackets::Chat::EmoteClient& packet)
|
||||
{
|
||||
if (!GetPlayer()->IsAlive() || GetPlayer()->HasUnitState(UNIT_STATE_DIED))
|
||||
return;
|
||||
|
||||
uint32 emote;
|
||||
recvData >> emote;
|
||||
sScriptMgr->OnPlayerEmote(GetPlayer(), emote);
|
||||
GetPlayer()->HandleEmoteCommand(emote);
|
||||
sScriptMgr->OnPlayerEmote(GetPlayer(), packet.EmoteID);
|
||||
GetPlayer()->HandleEmoteCommand(packet.EmoteID);
|
||||
}
|
||||
|
||||
void WorldSession::HandleTextEmoteOpcode(WorldPackets::Chat::CTextEmote& packet)
|
||||
|
||||
@@ -196,3 +196,8 @@ WorldPacket const* WorldPackets::Chat::PrintNotification::Write()
|
||||
_worldPacket.WriteString(NotifyText);
|
||||
return &_worldPacket;
|
||||
}
|
||||
|
||||
void WorldPackets::Chat::EmoteClient::Read()
|
||||
{
|
||||
_worldPacket >> EmoteID;
|
||||
}
|
||||
|
||||
@@ -207,6 +207,16 @@ namespace WorldPackets
|
||||
|
||||
std::string NotifyText;
|
||||
};
|
||||
|
||||
class EmoteClient final : public ClientPacket
|
||||
{
|
||||
public:
|
||||
EmoteClient(WorldPacket&& packet) : ClientPacket(CMSG_EMOTE, std::move(packet)) { }
|
||||
|
||||
void Read() override;
|
||||
|
||||
uint32 EmoteID = 0;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -345,7 +345,7 @@ void OpcodeTable::Initialize()
|
||||
DEFINE_OPCODE_HANDLER_OLD(CMSG_DO_READY_CHECK, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleRaidReadyCheckOpcode );
|
||||
DEFINE_HANDLER(CMSG_DUEL_RESPONSE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Duel::DuelResponse, &WorldSession::HandleDuelResponseOpcode);
|
||||
DEFINE_OPCODE_HANDLER_OLD(CMSG_EJECT_PASSENGER, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
|
||||
DEFINE_OPCODE_HANDLER_OLD(CMSG_EMOTE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleEmoteOpcode );
|
||||
DEFINE_HANDLER(CMSG_EMOTE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::EmoteClient, &WorldSession::HandleEmoteOpcode);
|
||||
DEFINE_HANDLER(CMSG_ENABLE_NAGLE, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPacket, &WorldSession::Handle_EarlyProccess);
|
||||
DEFINE_OPCODE_HANDLER_OLD(CMSG_ENABLE_TAXI_NODE, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleTaxiQueryAvailableNodes );
|
||||
DEFINE_HANDLER(CMSG_EQUIPMENT_SET_SAVE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::EquipmentSet::SaveEquipmentSet, &WorldSession::HandleEquipmentSetSave);
|
||||
|
||||
@@ -249,7 +249,7 @@ enum OpcodeClient : uint32
|
||||
CMSG_DO_READY_CHECK = 0xBADD,
|
||||
CMSG_DUEL_RESPONSE = 0x01A1,
|
||||
CMSG_EJECT_PASSENGER = 0xBADD,
|
||||
CMSG_EMOTE = 0xBADD,
|
||||
CMSG_EMOTE = 0x0B2B,
|
||||
CMSG_ENABLE_NAGLE = 0xBADD,
|
||||
CMSG_ENABLE_TAXI_NODE = 0xBADD,
|
||||
CMSG_EQUIPMENT_SET_SAVE = 0x0A7C,
|
||||
|
||||
@@ -149,6 +149,7 @@ namespace WorldPackets
|
||||
class ChatMessageDND;
|
||||
class ChatMessageEmote;
|
||||
class CTextEmote;
|
||||
class EmoteClient;
|
||||
}
|
||||
|
||||
namespace Combat
|
||||
@@ -854,7 +855,7 @@ class WorldSession
|
||||
void HandleZoneUpdateOpcode(WorldPacket& recvPacket);
|
||||
void HandleSetSelectionOpcode(WorldPackets::Misc::SetSelection& packet);
|
||||
void HandleStandStateChangeOpcode(WorldPackets::Misc::StandStateChange& packet);
|
||||
void HandleEmoteOpcode(WorldPacket& recvPacket);
|
||||
void HandleEmoteOpcode(WorldPackets::Chat::EmoteClient& packet);
|
||||
|
||||
// Social
|
||||
void HandleContactListOpcode(WorldPackets::Social::SendContactList& packet);
|
||||
|
||||
Reference in New Issue
Block a user