aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Server
diff options
context:
space:
mode:
authorDuarte Duarte <dnpd.dd@gmail.com>2015-03-12 23:45:01 +0000
committerDuarte Duarte <dnpd.dd@gmail.com>2015-03-12 23:45:01 +0000
commit50be8a4f01c9a82e0b509b67e20d7f1f4b72592b (patch)
tree60967fd4ccf40aebbaa807c2098d19450e3f5be4 /src/server/game/Server
parentba2d06a71b9eb020a1e8b9df6c08b490356bd9ef (diff)
parent5dddfbdb7b4619d5f65aa0e009dbe14b5c6a2a3f (diff)
Merge pull request #14342 from DJScias/opcodes_emotes
Core/Packets: update & enable CMSG_RANDOM_ROLL, SMSG_RANDOM_ROLL, CMSG_E...
Diffstat (limited to 'src/server/game/Server')
-rw-r--r--src/server/game/Server/Packets/ChatPackets.cpp5
-rw-r--r--src/server/game/Server/Packets/ChatPackets.h4
-rw-r--r--src/server/game/Server/Packets/MiscPackets.cpp18
-rw-r--r--src/server/game/Server/Packets/MiscPackets.h26
-rw-r--r--src/server/game/Server/Protocol/Opcodes.cpp8
-rw-r--r--src/server/game/Server/Protocol/Opcodes.h10
-rw-r--r--src/server/game/Server/WorldSession.h3
7 files changed, 56 insertions, 18 deletions
diff --git a/src/server/game/Server/Packets/ChatPackets.cpp b/src/server/game/Server/Packets/ChatPackets.cpp
index 0494d31d646..50b89790226 100644
--- a/src/server/game/Server/Packets/ChatPackets.cpp
+++ b/src/server/game/Server/Packets/ChatPackets.cpp
@@ -196,8 +196,3 @@ WorldPacket const* WorldPackets::Chat::PrintNotification::Write()
_worldPacket.WriteString(NotifyText);
return &_worldPacket;
}
-
-void WorldPackets::Chat::EmoteClient::Read()
-{
- _worldPacket >> EmoteID;
-}
diff --git a/src/server/game/Server/Packets/ChatPackets.h b/src/server/game/Server/Packets/ChatPackets.h
index 7fa25107dac..29679d2c25c 100644
--- a/src/server/game/Server/Packets/ChatPackets.h
+++ b/src/server/game/Server/Packets/ChatPackets.h
@@ -213,9 +213,7 @@ namespace WorldPackets
public:
EmoteClient(WorldPacket&& packet) : ClientPacket(CMSG_EMOTE, std::move(packet)) { }
- void Read() override;
-
- uint32 EmoteID = 0;
+ void Read() override { }
};
}
}
diff --git a/src/server/game/Server/Packets/MiscPackets.cpp b/src/server/game/Server/Packets/MiscPackets.cpp
index 61a008f0e9b..1905ab3e3ce 100644
--- a/src/server/game/Server/Packets/MiscPackets.cpp
+++ b/src/server/game/Server/Packets/MiscPackets.cpp
@@ -361,3 +361,21 @@ WorldPacket const* WorldPackets::Misc::PlayMusic::Write()
return &_worldPacket;
}
+
+void WorldPackets::Misc::RandomRollClient::Read()
+{
+ _worldPacket >> Min;
+ _worldPacket >> Max;
+ _worldPacket >> PartyIndex;
+}
+
+WorldPacket const* WorldPackets::Misc::RandomRoll::Write()
+{
+ _worldPacket << Roller;
+ _worldPacket << RollerWowAccount;
+ _worldPacket << int32(Min);
+ _worldPacket << int32(Max);
+ _worldPacket << int32(Result);
+
+ return &_worldPacket;
+}
diff --git a/src/server/game/Server/Packets/MiscPackets.h b/src/server/game/Server/Packets/MiscPackets.h
index 58409ff4282..e2b097900a1 100644
--- a/src/server/game/Server/Packets/MiscPackets.h
+++ b/src/server/game/Server/Packets/MiscPackets.h
@@ -504,6 +504,32 @@ namespace WorldPackets
uint32 SoundKitID = 0;
};
+
+ class RandomRollClient final : public ClientPacket
+ {
+ public:
+ RandomRollClient(WorldPacket&& packet) : ClientPacket(CMSG_RANDOM_ROLL, std::move(packet)) { }
+
+ void Read() override;
+
+ int32 Min = 0;
+ int32 Max = 0;
+ uint8 PartyIndex = 0;
+ };
+
+ class RandomRoll final : public ServerPacket
+ {
+ public:
+ RandomRoll() : ServerPacket(SMSG_RANDOM_ROLL, 16 + 16 + 4 + 4 + 4) { }
+
+ WorldPacket const* Write() override;
+
+ ObjectGuid Roller;
+ ObjectGuid RollerWowAccount;
+ int32 Min = 0;
+ int32 Max = 0;
+ int32 Result = 0;
+ };
}
}
diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp
index 79f9a599074..15a96c5c621 100644
--- a/src/server/game/Server/Protocol/Opcodes.cpp
+++ b/src/server/game/Server/Protocol/Opcodes.cpp
@@ -679,7 +679,7 @@ void OpcodeTable::Initialize()
DEFINE_HANDLER(CMSG_QUEST_QUERY, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Quest::QueryQuestInfo, &WorldSession::HandleQuestQueryOpcode);
DEFINE_OPCODE_HANDLER_OLD(CMSG_QUEUED_MESSAGES_END, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_HANDLER(CMSG_RANDOMIZE_CHAR_NAME, STATUS_AUTHED, PROCESS_THREADUNSAFE, WorldPackets::Character::GenerateRandomCharacterName, &WorldSession::HandleRandomizeCharNameOpcode);
- DEFINE_OPCODE_HANDLER_OLD(CMSG_RANDOM_ROLL, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleRandomRollOpcode );
+ DEFINE_HANDLER(CMSG_RANDOM_ROLL, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Misc::RandomRollClient, &WorldSession::HandleRandomRollOpcode);
DEFINE_OPCODE_HANDLER_OLD(CMSG_READY_CHECK_RESPONSE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_OPCODE_HANDLER_OLD(CMSG_READ_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleReadItem );
DEFINE_OPCODE_HANDLER_OLD(CMSG_REAGENT_BANK_BUY_TAB, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
@@ -818,7 +818,7 @@ void OpcodeTable::Initialize()
DEFINE_OPCODE_HANDLER_OLD(CMSG_TAXI_NODE_STATUS_QUERY, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleTaxiNodeStatusQueryOpcode );
DEFINE_OPCODE_HANDLER_OLD(CMSG_TAXI_QUERY_AVAILABLE_NODES, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleTaxiQueryAvailableNodes );
DEFINE_OPCODE_HANDLER_OLD(CMSG_TELEPORT_TO_UNIT, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
- DEFINE_HANDLER(CMSG_TEXT_EMOTE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Chat::CTextEmote, &WorldSession::HandleTextEmoteOpcode);
+ DEFINE_HANDLER(CMSG_TEXT_EMOTE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Chat::CTextEmote, &WorldSession::HandleTextEmoteOpcode);
DEFINE_OPCODE_HANDLER_OLD(CMSG_TIME_ADJUSTMENT_RESPONSE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
DEFINE_HANDLER(CMSG_TIME_SYNC_RESPONSE, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Misc::TimeSyncResponse, &WorldSession::HandleTimeSyncResponse);
DEFINE_OPCODE_HANDLER_OLD(CMSG_TIME_SYNC_RESPONSE_DROPPED, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL );
@@ -1654,7 +1654,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_RAID_INSTANCE_MESSAGE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_RAID_MARKERS_CHANGED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_RANDOMIZE_CHAR_NAME, STATUS_NEVER, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_RANDOM_ROLL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_RANDOM_ROLL, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_RATED_BG_RATING, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_RATED_BG_STATS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_READY_CHECK_COMPLETED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1814,7 +1814,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_TALENTS_INVOLUNTARILY_RESET, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_TAXINODE_STATUS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_TEST_DROP_RATE_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_TEXT_EMOTE, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_TEXT_EMOTE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_THREAT_CLEAR, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_THREAT_REMOVE, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_THREAT_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
diff --git a/src/server/game/Server/Protocol/Opcodes.h b/src/server/game/Server/Protocol/Opcodes.h
index 9d0babeab36..910c1892f83 100644
--- a/src/server/game/Server/Protocol/Opcodes.h
+++ b/src/server/game/Server/Protocol/Opcodes.h
@@ -247,7 +247,7 @@ enum OpcodeClient : uint32
CMSG_DO_READY_CHECK = 0xBADD,
CMSG_DUEL_RESPONSE = 0x01A1,
CMSG_EJECT_PASSENGER = 0xBADD,
- CMSG_EMOTE = 0x0B2B,
+ CMSG_EMOTE = 0x0B2C,
CMSG_ENABLE_NAGLE = 0xBADD,
CMSG_ENABLE_TAXI_NODE = 0xBADD,
CMSG_EQUIPMENT_SET_SAVE = 0x0A7C,
@@ -588,7 +588,7 @@ enum OpcodeClient : uint32
CMSG_QUEST_QUERY = 0xBADD,
CMSG_QUEUED_MESSAGES_END = 0x147B,
CMSG_RANDOMIZE_CHAR_NAME = 0x17FA,
- CMSG_RANDOM_ROLL = 0xBADD,
+ CMSG_RANDOM_ROLL = 0x1BE2,
CMSG_READY_CHECK_RESPONSE = 0xBADD,
CMSG_READ_ITEM = 0xBADD,
CMSG_REAGENT_BANK_BUY_TAB = 0xBADD,
@@ -727,7 +727,7 @@ enum OpcodeClient : uint32
CMSG_TAXI_NODE_STATUS_QUERY = 0xBADD,
CMSG_TAXI_QUERY_AVAILABLE_NODES = 0xBADD,
CMSG_TELEPORT_TO_UNIT = 0xBADD,
- CMSG_TEXT_EMOTE = 0xBADD,
+ CMSG_TEXT_EMOTE = 0x0B2B,
CMSG_TIME_ADJUSTMENT_RESPONSE = 0xBADD,
CMSG_TIME_SYNC_RESPONSE = 0x0B8C,
CMSG_TIME_SYNC_RESPONSE_DROPPED = 0xBADD,
@@ -1599,7 +1599,7 @@ enum OpcodeServer : uint32
SMSG_RAID_INSTANCE_MESSAGE = 0xBADD,
SMSG_RAID_MARKERS_CHANGED = 0xBADD,
SMSG_RANDOMIZE_CHAR_NAME = 0x195B,
- SMSG_RANDOM_ROLL = 0xBADD,
+ SMSG_RANDOM_ROLL = 0x04C1,
SMSG_RATED_BG_RATING = 0xBADD,
SMSG_RATED_BG_STATS = 0xBADD,
SMSG_READY_CHECK_COMPLETED = 0xBADD,
@@ -1767,7 +1767,7 @@ enum OpcodeServer : uint32
SMSG_TALENTS_INVOLUNTARILY_RESET = 0xBADD,
SMSG_TAXINODE_STATUS = 0xBADD,
SMSG_TEST_DROP_RATE_RESULT = 0xBADD,
- SMSG_TEXT_EMOTE = 0xBADD,
+ SMSG_TEXT_EMOTE = 0x158A,
SMSG_THREAT_CLEAR = 0xBADD,
SMSG_THREAT_REMOVE = 0xBADD,
SMSG_THREAT_UPDATE = 0xBADD,
diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h
index c7ea26b7adf..092827f96ec 100644
--- a/src/server/game/Server/WorldSession.h
+++ b/src/server/game/Server/WorldSession.h
@@ -278,6 +278,7 @@ namespace WorldPackets
class ResurrectResponse;
class StandStateChange;
class UITimeRequest;
+ class RandomRollClient;
}
namespace Movement
@@ -1196,7 +1197,7 @@ class WorldSession
void HandleWardenDataOpcode(WorldPacket& recvData);
void HandleWorldTeleportOpcode(WorldPacket& recvData);
void HandleMinimapPingOpcode(WorldPacket& recvData);
- void HandleRandomRollOpcode(WorldPacket& recvData);
+ void HandleRandomRollOpcode(WorldPackets::Misc::RandomRollClient& packet);
void HandleFarSightOpcode(WorldPacket& recvData);
void HandleSetDungeonDifficultyOpcode(WorldPackets::Misc::SetDungeonDifficulty& setDungeonDifficulty);
void HandleSetRaidDifficultyOpcode(WorldPackets::Misc::SetRaidDifficulty& setRaidDifficulty);