aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVincent-Michael <Vincent_Michael@gmx.de>2015-04-19 17:06:44 +0200
committerVincent-Michael <Vincent_Michael@gmx.de>2015-04-19 17:06:44 +0200
commitc3c8b7c2a638b9f9c0a79dac7c3b0025e4bed84c (patch)
tree301f803016cf99963159e4eeeb8a1d36754656be
parentbfca8246d84cdb529a4b326e0a5ab8901e1af276 (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.cpp17
-rw-r--r--src/server/game/Miscellaneous/SharedDefines.h18
-rw-r--r--src/server/game/Server/Packets/TokenPackets.cpp15
-rw-r--r--src/server/game/Server/Packets/TokenPackets.h23
-rw-r--r--src/server/game/Server/Protocol/Opcodes.cpp3
-rw-r--r--src/server/game/Server/Protocol/Opcodes.h1
-rw-r--r--src/server/game/Server/WorldSession.h2
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);