diff options
author | Vincent-Michael <Vincent_Michael@gmx.de> | 2015-04-19 17:06:44 +0200 |
---|---|---|
committer | Vincent-Michael <Vincent_Michael@gmx.de> | 2015-04-19 17:06:44 +0200 |
commit | c3c8b7c2a638b9f9c0a79dac7c3b0025e4bed84c (patch) | |
tree | 301f803016cf99963159e4eeeb8a1d36754656be | |
parent | bfca8246d84cdb529a4b326e0a5ab8901e1af276 (diff) |
Core/PacketIO: Updated and enabled CMSG_REQUEST_WOW_TOKEN_MARKET_PRICE / SMSG_REQUEST_WOW_TOKEN_MARKET_PRICE_RESPONSE
-rw-r--r-- | src/server/game/Handlers/TokenHandler.cpp | 17 | ||||
-rw-r--r-- | src/server/game/Miscellaneous/SharedDefines.h | 18 | ||||
-rw-r--r-- | src/server/game/Server/Packets/TokenPackets.cpp | 15 | ||||
-rw-r--r-- | src/server/game/Server/Packets/TokenPackets.h | 23 | ||||
-rw-r--r-- | src/server/game/Server/Protocol/Opcodes.cpp | 3 | ||||
-rw-r--r-- | src/server/game/Server/Protocol/Opcodes.h | 1 | ||||
-rw-r--r-- | src/server/game/Server/WorldSession.h | 2 |
7 files changed, 67 insertions, 12 deletions
diff --git a/src/server/game/Handlers/TokenHandler.cpp b/src/server/game/Handlers/TokenHandler.cpp index 6b2dd06a44b..a71d9b6e3a7 100644 --- a/src/server/game/Handlers/TokenHandler.cpp +++ b/src/server/game/Handlers/TokenHandler.cpp @@ -23,9 +23,22 @@ void WorldSession::HandleUpdateListedAuctionableTokens(WorldPackets::Token::Upda { WorldPackets::Token::UpdateListedAuctionableTokensResponse response; - /// @todo: fix 6.x implementation + /// @todo: 6.x fix implementation response.UnkInt = updateListedAuctionableTokens.UnkInt; - response.Result = TOKEN_RESULT_ERROR_DISABLED; + response.Result = TOKEN_RESULT_SUCCESS; + + SendPacket(response.Write()); +} + +void WorldSession::HandleRequestWowTokenMarketPrice(WorldPackets::Token::RequestWowTokenMarketPrice& requestWowTokenMarketPrice) +{ + WorldPackets::Token::RequestWowTokenMarketPriceResponse response; + + /// @todo: 6.x fix implementation + response.CurrentMarketPrice = 300000000; + response.UnkInt = requestWowTokenMarketPrice.UnkInt; + response.Result = TOKEN_RESULT_SUCCESS; + //packet.ReadUInt32("UnkInt32"); SendPacket(response.Write()); } diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h index 28705b36c65..58a44f0e72d 100644 --- a/src/server/game/Miscellaneous/SharedDefines.h +++ b/src/server/game/Miscellaneous/SharedDefines.h @@ -4921,15 +4921,15 @@ enum DiminishingLevels enum TokenResult { - TOKEN_RESULT_SUCCESS = 1, - TOKEN_RESULT_ERROR_DISABLED = 2, - TOKEN_RESULT_ERROR_OTHER = 3, - TOKEN_RESULT_ERROR_NONE_FOR_SALE = 4, - TOKEN_RESULT_ERROR_TOO_MANY_TOKENS = 5, - TOKEN_RESULT_SUCCESS_NO = 6, - TOKEN_RESULT_ERROR_TRANSACTION_IN_PROGRESS = 7, - TOKEN_RESULT_ERROR_AUCTIONABLE_TOKEN_OWNED = 8, - TOKEN_RESULT_ERROR_TRIAL_RESTRICTED = 9 + TOKEN_RESULT_SUCCESS = 0, + TOKEN_RESULT_ERROR_DISABLED = 1, + TOKEN_RESULT_ERROR_OTHER = 2, + TOKEN_RESULT_ERROR_NONE_FOR_SALE = 3, + TOKEN_RESULT_ERROR_TOO_MANY_TOKENS = 4, + TOKEN_RESULT_SUCCESS_NO = 5, + TOKEN_RESULT_ERROR_TRANSACTION_IN_PROGRESS = 6, + TOKEN_RESULT_ERROR_AUCTIONABLE_TOKEN_OWNED = 7, + TOKEN_RESULT_ERROR_TRIAL_RESTRICTED = 8 }; #endif diff --git a/src/server/game/Server/Packets/TokenPackets.cpp b/src/server/game/Server/Packets/TokenPackets.cpp index af186a1cf4b..8b1910c55bb 100644 --- a/src/server/game/Server/Packets/TokenPackets.cpp +++ b/src/server/game/Server/Packets/TokenPackets.cpp @@ -38,3 +38,18 @@ WorldPacket const* WorldPackets::Token::UpdateListedAuctionableTokensResponse::W return &_worldPacket; } + +void WorldPackets::Token::RequestWowTokenMarketPrice::Read() +{ + _worldPacket >> UnkInt; +} + +WorldPacket const* WorldPackets::Token::RequestWowTokenMarketPriceResponse::Write() +{ + _worldPacket << CurrentMarketPrice; + _worldPacket << UnkInt; + _worldPacket << Result; + _worldPacket << UnkInt2; + + return &_worldPacket; +}
\ No newline at end of file diff --git a/src/server/game/Server/Packets/TokenPackets.h b/src/server/game/Server/Packets/TokenPackets.h index 126fbe59982..c905be26bcb 100644 --- a/src/server/game/Server/Packets/TokenPackets.h +++ b/src/server/game/Server/Packets/TokenPackets.h @@ -54,6 +54,29 @@ namespace WorldPackets uint32 Result = 0; std::vector<AuctionableTokenAuctionable> AuctionableTokenAuctionableList; }; + + class RequestWowTokenMarketPrice final : public ClientPacket + { + public: + RequestWowTokenMarketPrice(WorldPacket&& packet) : ClientPacket(CMSG_REQUEST_WOW_TOKEN_MARKET_PRICE, std::move(packet)) { } + + void Read() override; + + uint32 UnkInt = 0; + }; + + class RequestWowTokenMarketPriceResponse final : public ServerPacket + { + public: + RequestWowTokenMarketPriceResponse() : ServerPacket(SMSG_REQUEST_WOW_TOKEN_MARKET_PRICE_RESPONSE, 20) { } + + WorldPacket const* Write() override; + + uint64 CurrentMarketPrice = 0; + uint32 UnkInt = 0; // send CMSG_REQUEST_WOW_TOKEN_MARKET_PRICE + uint32 Result = 0; + uint32 UnkInt2 = 0; + }; } } diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp index 30442711a8a..97c583287ca 100644 --- a/src/server/game/Server/Protocol/Opcodes.cpp +++ b/src/server/game/Server/Protocol/Opcodes.cpp @@ -687,7 +687,7 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_REQUEST_VEHICLE_NEXT_SEAT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Vehicle::RequestVehicleNextSeat, &WorldSession::HandleRequestVehicleNextSeat); DEFINE_HANDLER(CMSG_REQUEST_VEHICLE_PREV_SEAT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Vehicle::RequestVehiclePrevSeat, &WorldSession::HandleRequestVehiclePrevSeat); DEFINE_HANDLER(CMSG_REQUEST_VEHICLE_SWITCH_SEAT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Vehicle::RequestVehicleSwitchSeat, &WorldSession::HandleRequestVehicleSwitchSeat); - DEFINE_HANDLER(CMSG_REQUEST_WOW_TOKEN_MARKET_PRICE, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); + DEFINE_HANDLER(CMSG_REQUEST_WOW_TOKEN_MARKET_PRICE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Token::RequestWowTokenMarketPrice, &WorldSession::HandleRequestWowTokenMarketPrice); DEFINE_HANDLER(CMSG_RESET_CHALLENGE_MODE, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_OPCODE_HANDLER_OLD(CMSG_RESET_INSTANCES, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleResetInstancesOpcode ); DEFINE_HANDLER(CMSG_RESURRECT_RESPONSE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Misc::ResurrectResponse, &WorldSession::HandleResurrectResponse); @@ -1558,6 +1558,7 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_REPORT_PVP_PLAYER_AFK_RESULT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_REQUEST_CEMETERY_LIST_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_REQUEST_PVP_REWARDS_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_REQUEST_WOW_TOKEN_MARKET_PRICE_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_RESEARCH_COMPLETE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_RESET_COMPRESSION_CONTEXT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_RESET_FAILED_NOTIFY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); diff --git a/src/server/game/Server/Protocol/Opcodes.h b/src/server/game/Server/Protocol/Opcodes.h index ab59edf68c0..4c1e631fe7a 100644 --- a/src/server/game/Server/Protocol/Opcodes.h +++ b/src/server/game/Server/Protocol/Opcodes.h @@ -1451,6 +1451,7 @@ enum OpcodeServer : uint32 SMSG_REPORT_PVP_PLAYER_AFK_RESULT = 0x12B2, SMSG_REQUEST_CEMETERY_LIST_RESPONSE = 0x1398, SMSG_REQUEST_PVP_REWARDS_RESPONSE = 0x0218, + SMSG_REQUEST_WOW_TOKEN_MARKET_PRICE_RESPONSE = 0x1215, SMSG_RESEARCH_COMPLETE = 0x1335, SMSG_RESET_COMPRESSION_CONTEXT = 0x0059, SMSG_RESET_FAILED_NOTIFY = 0x040D, diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h index 29a0a0dba4e..97db720c32e 100644 --- a/src/server/game/Server/WorldSession.h +++ b/src/server/game/Server/WorldSession.h @@ -452,6 +452,7 @@ namespace WorldPackets namespace Token { class UpdateListedAuctionableTokens; + class RequestWowTokenMarketPrice; } namespace Trade @@ -1445,6 +1446,7 @@ class WorldSession // Token void HandleUpdateListedAuctionableTokens(WorldPackets::Token::UpdateListedAuctionableTokens& updateListedAuctionableTokens); + void HandleRequestWowTokenMarketPrice(WorldPackets::Token::RequestWowTokenMarketPrice& requestWowTokenMarketPrice); // Compact Unit Frames (4.x) void HandleSaveCUFProfiles(WorldPacket& recvPacket); |