diff options
Diffstat (limited to 'src/server/game/Handlers/AuthHandler.cpp')
-rw-r--r-- | src/server/game/Handlers/AuthHandler.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/server/game/Handlers/AuthHandler.cpp b/src/server/game/Handlers/AuthHandler.cpp index 01ce89b2471..081d986d6f6 100644 --- a/src/server/game/Handlers/AuthHandler.cpp +++ b/src/server/game/Handlers/AuthHandler.cpp @@ -124,5 +124,18 @@ void WorldSession::SendFeatureSystemStatusGlueScreen() features.EuropaTicketSystemStatus->ComplaintsEnabled = sWorld->getBoolConfig(CONFIG_SUPPORT_COMPLAINTS_ENABLED); features.EuropaTicketSystemStatus->SuggestionsEnabled = sWorld->getBoolConfig(CONFIG_SUPPORT_SUGGESTIONS_ENABLED); + for (World::GameRule const& gameRule : sWorld->GetGameRules()) + { + WorldPackets::System::GameRuleValuePair& rule = features.GameRules.emplace_back(); + rule.Rule = AsUnderlyingType(gameRule.Rule); + std::visit([&]<typename T>(T value) + { + if constexpr (std::is_same_v<T, float>) + rule.ValueF = value; + else + rule.Value = value; + }, gameRule.Value); + } + SendPacket(features.Write()); } |