diff 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"); |