aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Server
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Server')
-rw-r--r--src/server/game/Server/Packets/SystemPackets.cpp7
-rw-r--r--src/server/game/Server/Packets/SystemPackets.h12
-rw-r--r--src/server/game/Server/Protocol/Opcodes.cpp3
-rw-r--r--src/server/game/Server/Protocol/Opcodes.h3
4 files changed, 21 insertions, 4 deletions
diff --git a/src/server/game/Server/Packets/SystemPackets.cpp b/src/server/game/Server/Packets/SystemPackets.cpp
index 31b5d00a58d..9ceca6444e8 100644
--- a/src/server/game/Server/Packets/SystemPackets.cpp
+++ b/src/server/game/Server/Packets/SystemPackets.cpp
@@ -23,12 +23,16 @@ WorldPacket const* WorldPackets::System::FeatureSystemStatus::Write()
_worldPacket << uint32(ScrollOfResurrectionRequestsRemaining);
_worldPacket << uint32(ScrollOfResurrectionMaxRequestsPerDay);
+
_worldPacket << uint32(CfgRealmID);
_worldPacket << int32(CfgRealmRecID);
+
_worldPacket << uint32(TwitterPostThrottleLimit);
_worldPacket << uint32(TwitterPostThrottleCooldown);
+
_worldPacket << uint32(TokenPollTimeSeconds);
_worldPacket << uint32(TokenRedeemIndex);
+ _worldPacket << int64(TokenBalanceAmount);
_worldPacket.WriteBit(VoiceEnabled);
_worldPacket.WriteBit(EuropaTicketSystemStatus.is_initialized());
@@ -51,6 +55,7 @@ WorldPacket const* WorldPackets::System::FeatureSystemStatus::Write()
_worldPacket.WriteBit(KioskModeEnabled);
_worldPacket.WriteBit(CompetitiveModeEnabled);
_worldPacket.WriteBit(RaceClassExpansionLevels.is_initialized());
+ _worldPacket.WriteBit(TokenBalanceEnabled);
_worldPacket.FlushBits();
@@ -124,10 +129,12 @@ WorldPacket const* WorldPackets::System::FeatureSystemStatusGlueScreen::Write()
_worldPacket.WriteBit(CompetitiveModeEnabled);
_worldPacket.WriteBit(false); // not accessed in handler
_worldPacket.WriteBit(TrialBoostEnabled);
+ _worldPacket.WriteBit(TokenBalanceEnabled);
_worldPacket.FlushBits();
_worldPacket << int32(TokenPollTimeSeconds);
_worldPacket << int32(TokenRedeemIndex);
+ _worldPacket << int64(TokenBalanceAmount);
return &_worldPacket;
}
diff --git a/src/server/game/Server/Packets/SystemPackets.h b/src/server/game/Server/Packets/SystemPackets.h
index c31e6fcd8cc..362fdb3af8b 100644
--- a/src/server/game/Server/Packets/SystemPackets.h
+++ b/src/server/game/Server/Packets/SystemPackets.h
@@ -96,10 +96,11 @@ namespace WorldPackets
uint32 CfgRealmID = 0;
uint8 ComplaintStatus = 0;
int32 CfgRealmRecID = 0;
- int32 TwitterPostThrottleLimit = 0; ///< Number of twitter posts the client can send before they start being throttled
- int32 TwitterPostThrottleCooldown = 0; ///< Time in seconds the client has to wait before posting again after hitting post limit
- int32 TokenPollTimeSeconds = 0;
- int32 TokenRedeemIndex = 0;
+ uint32 TwitterPostThrottleLimit = 0; ///< Number of twitter posts the client can send before they start being throttled
+ uint32 TwitterPostThrottleCooldown = 0; ///< Time in seconds the client has to wait before posting again after hitting post limit
+ uint32 TokenPollTimeSeconds = 0;
+ uint32 TokenRedeemIndex = 0;
+ int64 TokenBalanceAmount = 0;
bool ItemRestorationButtonEnabled = false;
bool CharUndeleteEnabled = false; ///< Implemented
bool BpayStoreDisabledByParentalControls = false;
@@ -113,6 +114,7 @@ namespace WorldPackets
bool NPETutorialsEnabled = false;
bool KioskModeEnabled = false;
bool CompetitiveModeEnabled = false;
+ bool TokenBalanceEnabled = false;
Optional<std::vector<uint8>> RaceClassExpansionLevels;
SocialQueueConfig QuickJoinConfig;
@@ -136,8 +138,10 @@ namespace WorldPackets
bool KioskModeEnabled = false; // NYI
bool CompetitiveModeEnabled = false; // NYI
bool TrialBoostEnabled = false; // NYI
+ bool TokenBalanceEnabled = false; // NYI
int32 TokenPollTimeSeconds = 0; // NYI
int32 TokenRedeemIndex = 0; // NYI
+ int64 TokenBalanceAmount = 0; // NYI
};
class MOTD final : public ServerPacket
diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp
index 2990bb75673..26f151a5d2b 100644
--- a/src/server/game/Server/Protocol/Opcodes.cpp
+++ b/src/server/game/Server/Protocol/Opcodes.cpp
@@ -238,6 +238,7 @@ void OpcodeTable::Initialize()
DEFINE_HANDLER(CMSG_CANCEL_TEMP_ENCHANTMENT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleCancelTempEnchantmentOpcode);
DEFINE_HANDLER(CMSG_CANCEL_TRADE, STATUS_LOGGEDIN_OR_RECENTLY_LOGGOUT, PROCESS_THREADUNSAFE, &WorldSession::HandleCancelTradeOpcode);
DEFINE_HANDLER(CMSG_CAN_DUEL, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleCanDuel);
+ DEFINE_HANDLER(CMSG_CAN_REDEEM_WOW_TOKEN_FOR_BALANCE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_CAST_SPELL, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleCastSpellOpcode);
DEFINE_HANDLER(CMSG_CHALLENGE_MODE_REQUEST_LEADERS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_CHALLENGE_MODE_REQUEST_MAP_STATS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
@@ -1552,6 +1553,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_POI_CHANGED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_POI_QUERY_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_PUSH_RESULT, STATUS_NEVER, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_SPAWN_TRACKING_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_UNIGNORED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_UPDATE_ADD_CREDIT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUEST_UPDATE_ADD_CREDIT_SIMPLE, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
@@ -1778,6 +1780,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_WOW_TOKEN_AUCTION_SOLD, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_WOW_TOKEN_BUY_REQUEST_CONFIRMATION, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_WOW_TOKEN_BUY_RESULT_CONFIRMATION, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_WOW_TOKEN_CAN_REDEEM_FOR_BALANCE_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_WOW_TOKEN_CAN_VETERAN_BUY_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_WOW_TOKEN_DISTRIBUTION_GLUE_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_WOW_TOKEN_DISTRIBUTION_UPDATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
diff --git a/src/server/game/Server/Protocol/Opcodes.h b/src/server/game/Server/Protocol/Opcodes.h
index d7bfab62dad..2a15ec60ca5 100644
--- a/src/server/game/Server/Protocol/Opcodes.h
+++ b/src/server/game/Server/Protocol/Opcodes.h
@@ -154,6 +154,7 @@ enum OpcodeClient : uint32
CMSG_CANCEL_TEMP_ENCHANTMENT = 0x34EA,
CMSG_CANCEL_TRADE = 0x315C,
CMSG_CAN_DUEL = 0x3665,
+ CMSG_CAN_REDEEM_WOW_TOKEN_FOR_BALANCE = 0x3707,
CMSG_CAST_SPELL = 0x3278,
CMSG_CHALLENGE_MODE_REQUEST_LEADERS = 0x308F,
CMSG_CHALLENGE_MODE_REQUEST_MAP_STATS = 0x308E,
@@ -1470,6 +1471,7 @@ enum OpcodeServer : uint32
SMSG_QUEST_POI_CHANGED = 0x2A9E,
SMSG_QUEST_POI_QUERY_RESPONSE = 0x2A9B,
SMSG_QUEST_PUSH_RESULT = 0x2A8F,
+ SMSG_QUEST_SPAWN_TRACKING_UPDATE = 0x2A9D,
SMSG_QUEST_UNIGNORED = 0x2AA0,
SMSG_QUEST_UPDATE_ADD_CREDIT = 0x2A8B,
SMSG_QUEST_UPDATE_ADD_CREDIT_SIMPLE = 0x2A8C,
@@ -1698,6 +1700,7 @@ enum OpcodeServer : uint32
SMSG_WOW_TOKEN_AUCTION_SOLD = 0x2811,
SMSG_WOW_TOKEN_BUY_REQUEST_CONFIRMATION = 0x2813,
SMSG_WOW_TOKEN_BUY_RESULT_CONFIRMATION = 0x2814,
+ SMSG_WOW_TOKEN_CAN_REDEEM_FOR_BALANCE_RESULT = 0x2848,
SMSG_WOW_TOKEN_CAN_VETERAN_BUY_RESULT = 0x2812,
SMSG_WOW_TOKEN_DISTRIBUTION_GLUE_UPDATE = 0x280C,
SMSG_WOW_TOKEN_DISTRIBUTION_UPDATE = 0x280D,