diff options
author | Carbenium <keresztesschmidt@gmail.com> | 2015-02-03 18:11:38 +0100 |
---|---|---|
committer | Nayd <dnpd.dd@gmail.com> | 2015-02-04 20:48:12 +0000 |
commit | 6751ac29403c1e834ebff12255a1ff35b8be246e (patch) | |
tree | acf55552bf04e1f8d8c9272e72afb4b73a6f67b7 /src/server/game/Handlers/CharacterHandler.cpp | |
parent | 19a09c2763e773fb700aad643f0af8e651087d86 (diff) |
Core/Packets: Add structure for CMSG_GM_TICKET_GET_CASE_STATUS, SMSG_GM_TICKET_CASE_STATUS, CMSG_GM_TICKET_ACKNOWLEDGE_SURVEY and SMSG_GM_TICKET_RESPONSE_ERROR
Implement CMSG_GM_TICKET_GET_TICKET and SMSG_GM_TICKET_GET_TICKET_RESPONSE
Update SMSG_FEATURE_SYSTEM_STATUS to support customizable ticket system and add config options
Diffstat (limited to 'src/server/game/Handlers/CharacterHandler.cpp')
-rw-r--r-- | src/server/game/Handlers/CharacterHandler.cpp | 47 |
1 files changed, 30 insertions, 17 deletions
diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp index 16fb72c88a4..44f8ec9ea9c 100644 --- a/src/server/game/Handlers/CharacterHandler.cpp +++ b/src/server/game/Handlers/CharacterHandler.cpp @@ -868,23 +868,7 @@ void WorldSession::HandlePlayerLogin(LoginQueryHolder* holder) SendPacket(accountDataTimes.Write()); /// Send FeatureSystemStatus - { - WorldPackets::System::FeatureSystemStatus features; - - /// START OF DUMMY VALUES - features.ComplaintStatus = 2; - features.ScrollOfResurrectionRequestsRemaining = 1; - features.ScrollOfResurrectionMaxRequestsPerDay = 1; - features.CfgRealmID = 2; - features.CfgRealmRecID = 0; - features.VoiceEnabled = false; - /// END OF DUMMY VALUES - - features.CharUndeleteEnabled = sWorld->getBoolConfig(CONFIG_FEATURE_SYSTEM_CHARACTER_UNDELETE_ENABLED); - features.BpayStoreEnabled = sWorld->getBoolConfig(CONFIG_FEATURE_SYSTEM_BPAY_STORE_ENABLED); - - SendPacket(features.Write()); - } + SendFeatureSystemStatus(); // Send MOTD { @@ -1091,6 +1075,35 @@ void WorldSession::HandlePlayerLogin(LoginQueryHolder* holder) delete holder; } +void WorldSession::SendFeatureSystemStatus() +{ + WorldPackets::System::FeatureSystemStatus features; + + /// START OF DUMMY VALUES + features.ComplaintStatus = 2; + features.ScrollOfResurrectionRequestsRemaining = 1; + features.ScrollOfResurrectionMaxRequestsPerDay = 1; + features.CfgRealmID = 2; + features.CfgRealmRecID = 0; + features.VoiceEnabled = false; + features.BrowserEnabled = false; // Has to be false, otherwise client will crash if "Customer Support" is opened + + features.EuropaTicketSystemStatus.HasValue = true; + features.EuropaTicketSystemStatus.Value.ThrottleState.MaxTries = 5; + features.EuropaTicketSystemStatus.Value.ThrottleState.PerMilliseconds = 5; + features.EuropaTicketSystemStatus.Value.ThrottleState.TryCount = 0; + features.EuropaTicketSystemStatus.Value.ThrottleState.LastResetTimeBeforeNow = time(nullptr) - 5000; + /// END OF DUMMY VALUES + + features.EuropaTicketSystemStatus.Value.SubmitBugEnabled = sWorld->getBoolConfig(CONFIG_TICKET_SUBMIT_BUG); + features.EuropaTicketSystemStatus.Value.TicketSystemEnabled = sWorld->getBoolConfig(CONFIG_TICKET_SUBMIT_TICKET); + features.CharUndeleteEnabled = sWorld->getBoolConfig(CONFIG_FEATURE_SYSTEM_CHARACTER_UNDELETE_ENABLED); + features.BpayStoreEnabled = sWorld->getBoolConfig(CONFIG_FEATURE_SYSTEM_BPAY_STORE_ENABLED); + + SendPacket(features.Write()); + TC_LOG_DEBUG("misc", "SMSG_FEATURE_SYSTEM_STATUS [%s]", GetPlayerInfo().c_str()); +} + void WorldSession::HandleSetFactionAtWar(WorldPacket& recvData) { TC_LOG_DEBUG("network", "WORLD: Received CMSG_SET_FACTION_AT_WAR"); |