mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-19 17:05:44 +01:00
Core/PacketIO: Enabled and updated client chat packets
This commit is contained in:
@@ -85,39 +85,30 @@ void WorldSession::HandleMessagechatOpcode(WorldPacket& recvData)
|
||||
case CMSG_MESSAGECHAT_GUILD:
|
||||
type = CHAT_MSG_GUILD;
|
||||
break;
|
||||
//case CMSG_MESSAGECHAT_OFFICER:
|
||||
// type = CHAT_MSG_OFFICER;
|
||||
// break;
|
||||
case CMSG_MESSAGECHAT_OFFICER:
|
||||
type = CHAT_MSG_OFFICER;
|
||||
break;
|
||||
case CMSG_MESSAGECHAT_AFK:
|
||||
type = CHAT_MSG_AFK;
|
||||
break;
|
||||
//case CMSG_MESSAGECHAT_DND:
|
||||
// type = CHAT_MSG_DND;
|
||||
// break;
|
||||
//case CMSG_MESSAGECHAT_EMOTE:
|
||||
// type = CHAT_MSG_EMOTE;
|
||||
// break;
|
||||
//case CMSG_MESSAGECHAT_PARTY:
|
||||
// type = CHAT_MSG_PARTY;
|
||||
// break;
|
||||
//case CMSG_MESSAGECHAT_PARTY_LEADER:
|
||||
// type = CHAT_MSG_PARTY_LEADER;
|
||||
// break;
|
||||
//case CMSG_MESSAGECHAT_RAID:
|
||||
// type = CHAT_MSG_RAID;
|
||||
// break;
|
||||
//case CMSG_MESSAGECHAT_RAID_LEADER:
|
||||
// type = CHAT_MSG_RAID_LEADER;
|
||||
// break;
|
||||
//case CMSG_MESSAGECHAT_BATTLEGROUND:
|
||||
// type = CHAT_MSG_BATTLEGROUND;
|
||||
// break;
|
||||
//case CMSG_MESSAGECHAT_BATTLEGROUND_LEADER:
|
||||
// type = CHAT_MSG_BATTLEGROUND_LEADER;
|
||||
// break;
|
||||
//case CMSG_MESSAGECHAT_RAID_WARNING:
|
||||
// type = CHAT_MSG_RAID_WARNING;
|
||||
// break;
|
||||
case CMSG_MESSAGECHAT_DND:
|
||||
type = CHAT_MSG_DND;
|
||||
break;
|
||||
case CMSG_MESSAGECHAT_EMOTE:
|
||||
type = CHAT_MSG_EMOTE;
|
||||
break;
|
||||
case CMSG_MESSAGECHAT_PARTY:
|
||||
type = CHAT_MSG_PARTY;
|
||||
break;
|
||||
case CMSG_MESSAGECHAT_RAID:
|
||||
type = CHAT_MSG_RAID;
|
||||
break;
|
||||
case CMSG_MESSAGECHAT_BATTLEGROUND:
|
||||
type = CHAT_MSG_BATTLEGROUND;
|
||||
break;
|
||||
case CMSG_MESSAGECHAT_RAID_WARNING:
|
||||
type = CHAT_MSG_RAID_WARNING;
|
||||
break;
|
||||
default:
|
||||
sLog->outDetail("HandleMessagechatOpcode : Unknown chat opcode (%u)", recvData.GetOpcode());
|
||||
recvData.hexlike();
|
||||
@@ -136,7 +127,7 @@ void WorldSession::HandleMessagechatOpcode(WorldPacket& recvData)
|
||||
//sLog->outDebug("CHAT: packet received. type %u, lang %u", type, lang);
|
||||
|
||||
// no language sent with emote packet.
|
||||
if (type != CHAT_MSG_EMOTE)
|
||||
if (type != CHAT_MSG_EMOTE && type != CHAT_MSG_AFK && type != CHAT_MSG_DND)
|
||||
{
|
||||
recvData >> lang;
|
||||
|
||||
@@ -232,21 +223,18 @@ void WorldSession::HandleMessagechatOpcode(WorldPacket& recvData)
|
||||
recvData.rfinish(); // Prevent warnings
|
||||
return;
|
||||
}
|
||||
|
||||
if (type != CHAT_MSG_AFK && type != CHAT_MSG_DND)
|
||||
sender->UpdateSpeakTime();
|
||||
}
|
||||
}
|
||||
|
||||
if (sender->HasAura(1852) && type != CHAT_MSG_WHISPER)
|
||||
{
|
||||
std::string msg="";
|
||||
recvData >> msg;
|
||||
|
||||
recvData.rfinish();
|
||||
SendNotification(GetTrinityString(LANG_GM_SILENCE), sender->GetName());
|
||||
return;
|
||||
}
|
||||
|
||||
uint32 textLength = 0;
|
||||
uint32 receiverLength = 0;
|
||||
std::string to, channel, msg;
|
||||
bool ignoreChecks = false;
|
||||
switch (type)
|
||||
@@ -255,27 +243,30 @@ void WorldSession::HandleMessagechatOpcode(WorldPacket& recvData)
|
||||
case CHAT_MSG_EMOTE:
|
||||
case CHAT_MSG_YELL:
|
||||
case CHAT_MSG_PARTY:
|
||||
case CHAT_MSG_PARTY_LEADER:
|
||||
case CHAT_MSG_GUILD:
|
||||
case CHAT_MSG_OFFICER:
|
||||
case CHAT_MSG_RAID:
|
||||
case CHAT_MSG_RAID_LEADER:
|
||||
case CHAT_MSG_RAID_WARNING:
|
||||
case CHAT_MSG_BATTLEGROUND:
|
||||
case CHAT_MSG_BATTLEGROUND_LEADER:
|
||||
recvData >> msg;
|
||||
textLength = recvData.ReadBits(9);
|
||||
msg = recvData.ReadString(textLength);
|
||||
break;
|
||||
case CHAT_MSG_WHISPER:
|
||||
recvData >> msg;
|
||||
recvData >> to;
|
||||
receiverLength = recvData.ReadBits(10);
|
||||
textLength = recvData.ReadBits(9);
|
||||
to = recvData.ReadString(receiverLength);
|
||||
msg = recvData.ReadString(textLength);
|
||||
break;
|
||||
case CHAT_MSG_CHANNEL:
|
||||
recvData >> msg;
|
||||
recvData >> channel;
|
||||
receiverLength = recvData.ReadBits(10);
|
||||
textLength = recvData.ReadBits(9);
|
||||
msg = recvData.ReadString(textLength);
|
||||
channel = recvData.ReadString(receiverLength);
|
||||
break;
|
||||
case CHAT_MSG_AFK:
|
||||
case CHAT_MSG_DND:
|
||||
recvData >> msg;
|
||||
textLength = recvData.ReadBits(9);
|
||||
msg = recvData.ReadString(textLength);
|
||||
ignoreChecks = true;
|
||||
break;
|
||||
}
|
||||
@@ -368,8 +359,8 @@ void WorldSession::HandleMessagechatOpcode(WorldPacket& recvData)
|
||||
return;
|
||||
}
|
||||
|
||||
if (type == CHAT_MSG_PARTY_LEADER && !group->IsLeader(_player->GetGUID()))
|
||||
return;
|
||||
if (group->IsLeader(GetPlayer()->GetGUID()))
|
||||
type = CHAT_MSG_PARTY_LEADER;
|
||||
|
||||
sScriptMgr->OnPlayerChat(GetPlayer(), type, lang, msg, group);
|
||||
|
||||
@@ -402,6 +393,7 @@ void WorldSession::HandleMessagechatOpcode(WorldPacket& recvData)
|
||||
}
|
||||
} break;
|
||||
case CHAT_MSG_RAID:
|
||||
case CHAT_MSG_RAID_LEADER:
|
||||
{
|
||||
// if player is in battleground, he cannot say to battleground members by /ra
|
||||
Group* group = GetPlayer()->GetOriginalGroup();
|
||||
@@ -412,27 +404,13 @@ void WorldSession::HandleMessagechatOpcode(WorldPacket& recvData)
|
||||
return;
|
||||
}
|
||||
|
||||
sScriptMgr->OnPlayerChat(GetPlayer(), type, lang, msg, group);
|
||||
|
||||
WorldPacket data;
|
||||
ChatHandler::FillMessageData(&data, this, CHAT_MSG_RAID, lang, "", 0, msg.c_str(), NULL);
|
||||
group->BroadcastPacket(&data, false);
|
||||
} break;
|
||||
case CHAT_MSG_RAID_LEADER:
|
||||
{
|
||||
// if player is in battleground, he cannot say to battleground members by /ra
|
||||
Group* group = GetPlayer()->GetOriginalGroup();
|
||||
if (!group)
|
||||
{
|
||||
group = GetPlayer()->GetGroup();
|
||||
if (!group || group->isBGGroup() || !group->isRaidGroup() || !group->IsLeader(_player->GetGUID()))
|
||||
return;
|
||||
}
|
||||
if (group->IsLeader(GetPlayer()->GetGUID()))
|
||||
type = CHAT_MSG_RAID_LEADER;
|
||||
|
||||
sScriptMgr->OnPlayerChat(GetPlayer(), type, lang, msg, group);
|
||||
|
||||
WorldPacket data;
|
||||
ChatHandler::FillMessageData(&data, this, CHAT_MSG_RAID_LEADER, lang, "", 0, msg.c_str(), NULL);
|
||||
ChatHandler::FillMessageData(&data, this, uint8(type), lang, "", 0, msg.c_str(), NULL);
|
||||
group->BroadcastPacket(&data, false);
|
||||
} break;
|
||||
case CHAT_MSG_RAID_WARNING:
|
||||
@@ -449,29 +427,20 @@ void WorldSession::HandleMessagechatOpcode(WorldPacket& recvData)
|
||||
group->BroadcastPacket(&data, false);
|
||||
} break;
|
||||
case CHAT_MSG_BATTLEGROUND:
|
||||
{
|
||||
//battleground raid is always in Player->GetGroup(), never in GetOriginalGroup()
|
||||
Group* group = GetPlayer()->GetGroup();
|
||||
if (!group || !group->isBGGroup())
|
||||
return;
|
||||
|
||||
sScriptMgr->OnPlayerChat(GetPlayer(), type, lang, msg, group);
|
||||
|
||||
WorldPacket data;
|
||||
ChatHandler::FillMessageData(&data, this, CHAT_MSG_BATTLEGROUND, lang, "", 0, msg.c_str(), NULL);
|
||||
group->BroadcastPacket(&data, false);
|
||||
} break;
|
||||
case CHAT_MSG_BATTLEGROUND_LEADER:
|
||||
{
|
||||
// battleground raid is always in Player->GetGroup(), never in GetOriginalGroup()
|
||||
Group* group = GetPlayer()->GetGroup();
|
||||
if (!group || !group->isBGGroup() || !group->IsLeader(GetPlayer()->GetGUID()))
|
||||
if (!group || !group->isBGGroup())
|
||||
return;
|
||||
|
||||
if (group->IsLeader(GetPlayer()->GetGUID()))
|
||||
type = CHAT_MSG_BATTLEGROUND_LEADER;
|
||||
|
||||
sScriptMgr->OnPlayerChat(GetPlayer(), type, lang, msg, group);
|
||||
|
||||
WorldPacket data;
|
||||
ChatHandler::FillMessageData(&data, this, CHAT_MSG_BATTLEGROUND_LEADER, lang, "", 0, msg.c_str(), NULL);
|
||||
ChatHandler::FillMessageData(&data, this, uint8(type), lang, "", 0, msg.c_str(), NULL);
|
||||
group->BroadcastPacket(&data, false);
|
||||
} break;
|
||||
case CHAT_MSG_CHANNEL:
|
||||
@@ -551,6 +520,9 @@ void WorldSession::HandleAddonMessagechatOpcode(WorldPacket& recvData)
|
||||
case CMSG_MESSAGECHAT_ADDON_GUILD:
|
||||
type = CHAT_MSG_GUILD;
|
||||
break;
|
||||
case CMSG_MESSAGECHAT_ADDON_OFFICER:
|
||||
type = CHAT_MSG_OFFICER;
|
||||
break;
|
||||
case CMSG_MESSAGECHAT_ADDON_PARTY:
|
||||
type = CHAT_MSG_PARTY;
|
||||
break;
|
||||
|
||||
@@ -407,25 +407,23 @@ void InitOpcodes()
|
||||
//DEFINE_OPCODE_HANDLER(CMSG_MEETINGSTONE_INFO, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
|
||||
DEFINE_OPCODE_HANDLER(CMSG_MESSAGECHAT_ADDON_BATTLEGROUND, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAddonMessagechatOpcode );
|
||||
DEFINE_OPCODE_HANDLER(CMSG_MESSAGECHAT_ADDON_GUILD, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAddonMessagechatOpcode );
|
||||
DEFINE_OPCODE_HANDLER(CMSG_MESSAGECHAT_ADDON_OFFICER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAddonMessagechatOpcode );
|
||||
DEFINE_OPCODE_HANDLER(CMSG_MESSAGECHAT_ADDON_PARTY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAddonMessagechatOpcode );
|
||||
DEFINE_OPCODE_HANDLER(CMSG_MESSAGECHAT_ADDON_RAID, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAddonMessagechatOpcode );
|
||||
DEFINE_OPCODE_HANDLER(CMSG_MESSAGECHAT_ADDON_WHISPER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleAddonMessagechatOpcode );
|
||||
//DEFINE_OPCODE_HANDLER(CMSG_MESSAGECHAT_AFK, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleMessagechatOpcode );
|
||||
//DEFINE_OPCODE_HANDLER(CMSG_MESSAGECHAT_BATTLEGROUND, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleMessagechatOpcode );
|
||||
//DEFINE_OPCODE_HANDLER(CMSG_MESSAGECHAT_BATTLEGROUND_LEADER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleMessagechatOpcode );
|
||||
//DEFINE_OPCODE_HANDLER(CMSG_MESSAGECHAT_CHANNEL, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleMessagechatOpcode );
|
||||
//DEFINE_OPCODE_HANDLER(CMSG_MESSAGECHAT_DND, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleMessagechatOpcode );
|
||||
//DEFINE_OPCODE_HANDLER(CMSG_MESSAGECHAT_EMOTE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleMessagechatOpcode );
|
||||
//DEFINE_OPCODE_HANDLER(CMSG_MESSAGECHAT_GUILD, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleMessagechatOpcode );
|
||||
//DEFINE_OPCODE_HANDLER(CMSG_MESSAGECHAT_OFFICER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleMessagechatOpcode );
|
||||
//DEFINE_OPCODE_HANDLER(CMSG_MESSAGECHAT_PARTY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleMessagechatOpcode );
|
||||
//DEFINE_OPCODE_HANDLER(CMSG_MESSAGECHAT_PARTY_LEADER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleMessagechatOpcode );
|
||||
//DEFINE_OPCODE_HANDLER(CMSG_MESSAGECHAT_RAID, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleMessagechatOpcode );
|
||||
//DEFINE_OPCODE_HANDLER(CMSG_MESSAGECHAT_RAID_LEADER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleMessagechatOpcode );
|
||||
//DEFINE_OPCODE_HANDLER(CMSG_MESSAGECHAT_RAID_WARNING, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleMessagechatOpcode );
|
||||
//DEFINE_OPCODE_HANDLER(CMSG_MESSAGECHAT_SAY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleMessagechatOpcode );
|
||||
//DEFINE_OPCODE_HANDLER(CMSG_MESSAGECHAT_WHISPER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleMessagechatOpcode );
|
||||
//DEFINE_OPCODE_HANDLER(CMSG_MESSAGECHAT_YELL, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleMessagechatOpcode );
|
||||
DEFINE_OPCODE_HANDLER(CMSG_MESSAGECHAT_AFK, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleMessagechatOpcode );
|
||||
DEFINE_OPCODE_HANDLER(CMSG_MESSAGECHAT_BATTLEGROUND, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleMessagechatOpcode );
|
||||
DEFINE_OPCODE_HANDLER(CMSG_MESSAGECHAT_CHANNEL, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleMessagechatOpcode );
|
||||
DEFINE_OPCODE_HANDLER(CMSG_MESSAGECHAT_DND, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleMessagechatOpcode );
|
||||
DEFINE_OPCODE_HANDLER(CMSG_MESSAGECHAT_EMOTE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleMessagechatOpcode );
|
||||
DEFINE_OPCODE_HANDLER(CMSG_MESSAGECHAT_GUILD, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleMessagechatOpcode );
|
||||
DEFINE_OPCODE_HANDLER(CMSG_MESSAGECHAT_OFFICER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleMessagechatOpcode );
|
||||
DEFINE_OPCODE_HANDLER(CMSG_MESSAGECHAT_PARTY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleMessagechatOpcode );
|
||||
DEFINE_OPCODE_HANDLER(CMSG_MESSAGECHAT_RAID, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleMessagechatOpcode );
|
||||
DEFINE_OPCODE_HANDLER(CMSG_MESSAGECHAT_RAID_WARNING, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleMessagechatOpcode );
|
||||
DEFINE_OPCODE_HANDLER(CMSG_MESSAGECHAT_SAY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleMessagechatOpcode );
|
||||
DEFINE_OPCODE_HANDLER(CMSG_MESSAGECHAT_WHISPER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleMessagechatOpcode );
|
||||
DEFINE_OPCODE_HANDLER(CMSG_MESSAGECHAT_YELL, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleMessagechatOpcode );
|
||||
//DEFINE_OPCODE_HANDLER(CMSG_MINIGAME_MOVE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
|
||||
//DEFINE_OPCODE_HANDLER(CMSG_MOUNTSPECIAL_ANIM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleMountSpecialAnimOpcode );
|
||||
//DEFINE_OPCODE_HANDLER(CMSG_MOVE_CHARACTER_CHEAT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
|
||||
@@ -933,7 +931,7 @@ void InitOpcodes()
|
||||
//DEFINE_OPCODE_HANDLER(SMSG_DEBUG_LIST_TARGETS, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
//DEFINE_OPCODE_HANDLER(SMSG_DEBUG_SERVER_GEO, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
//DEFINE_OPCODE_HANDLER(SMSG_DEFENSE_MESSAGE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
//DEFINE_OPCODE_HANDLER(SMSG_DESTROY_OBJECT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
DEFINE_OPCODE_HANDLER(SMSG_DESTROY_OBJECT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
//DEFINE_OPCODE_HANDLER(SMSG_DESTRUCTIBLE_BUILDING_DAMAGE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
//DEFINE_OPCODE_HANDLER(SMSG_DISMOUNT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
//DEFINE_OPCODE_HANDLER(SMSG_DISMOUNTRESULT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide );
|
||||
|
||||
@@ -275,21 +275,19 @@ enum Opcodes
|
||||
CMSG_MEETINGSTONE_INFO = 0x0000,
|
||||
CMSG_MESSAGECHAT_ADDON_BATTLEGROUND = 0x0D46,
|
||||
CMSG_MESSAGECHAT_ADDON_GUILD = 0x0544,
|
||||
CMSG_MESSAGECHAT_ADDON_OFFICER = 0x3954,
|
||||
CMSG_MESSAGECHAT_ADDON_PARTY = 0x0546,
|
||||
CMSG_MESSAGECHAT_ADDON_RAID = 0x1D56,
|
||||
CMSG_MESSAGECHAT_ADDON_WHISPER = 0x2146,
|
||||
CMSG_MESSAGECHAT_AFK = 0x0D44,
|
||||
CMSG_MESSAGECHAT_BATTLEGROUND = 0x2156,
|
||||
CMSG_MESSAGECHAT_BATTLEGROUND_LEADER = 0x0000,
|
||||
CMSG_MESSAGECHAT_CHANNEL = 0x1D44,
|
||||
CMSG_MESSAGECHAT_DND = 0x2946,
|
||||
CMSG_MESSAGECHAT_EMOTE = 0x0000,
|
||||
CMSG_MESSAGECHAT_EMOTE = 0x1156,
|
||||
CMSG_MESSAGECHAT_GUILD = 0x3956,
|
||||
CMSG_MESSAGECHAT_OFFICER = 0x1946,
|
||||
CMSG_MESSAGECHAT_PARTY = 0x1D46,
|
||||
CMSG_MESSAGECHAT_PARTY_LEADER = 0x0000,
|
||||
CMSG_MESSAGECHAT_RAID = 0x2D44,
|
||||
CMSG_MESSAGECHAT_RAID_LEADER = 0x0000,
|
||||
CMSG_MESSAGECHAT_RAID_WARNING = 0x0944,
|
||||
CMSG_MESSAGECHAT_SAY = 0x1154,
|
||||
CMSG_MESSAGECHAT_WHISPER = 0x0D56,
|
||||
|
||||
Reference in New Issue
Block a user