From 875e05fae3ef97fee3c44eb591a1ea99a502b079 Mon Sep 17 00:00:00 2001 From: beu Date: Tue, 8 Jul 2025 21:47:06 +0200 Subject: [PATCH] add a setting to disable chat message to all when changing gamemode setting --- core/Configurator/GameModeSettings.php | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/core/Configurator/GameModeSettings.php b/core/Configurator/GameModeSettings.php index d30c42dd..3bda4e2d 100644 --- a/core/Configurator/GameModeSettings.php +++ b/core/Configurator/GameModeSettings.php @@ -50,6 +50,7 @@ class GameModeSettings implements ConfiguratorMenu, CallbackListener, Communicat const DESCRIPTION_HIDDEN = ''; const SETTING_HIDE_SETTINGS_WITH_DESCRIPTION_HIDDEN = 'Hide Settings with Description "' . self::DESCRIPTION_HIDDEN . '"'; + const SETTING_SEND_SETTINGS_CHAT_ONLY_TO_ADMINS = 'Only send GameMode-Settings changes in the chat to admins'; const SETTING_LOAD_DEFAULT_SETTINGS_STARTUP = 'Load Stored GameMode-Settings on Startup'; const SETTING_LOAD_DEFAULT_SETTINGS_MAP_BEGIN = 'Load Stored GameMode-Settings on Map-Begin'; const SETTING_PERMISSION_CHANGE_MODE_SETTINGS = 'Change GameMode-Settings'; @@ -78,6 +79,7 @@ class GameModeSettings implements ConfiguratorMenu, CallbackListener, Communicat // Settings $this->maniaControl->getSettingManager()->initSetting($this, self::SETTING_HIDE_SETTINGS_WITH_DESCRIPTION_HIDDEN, true); + $this->maniaControl->getSettingManager()->initSetting($this, self::SETTING_SEND_SETTINGS_CHAT_ONLY_TO_ADMINS, false); $this->maniaControl->getSettingManager()->initSetting($this, self::SETTING_LOAD_DEFAULT_SETTINGS_STARTUP, false); $this->maniaControl->getSettingManager()->initSetting($this, self::SETTING_LOAD_DEFAULT_SETTINGS_MAP_BEGIN, false); $this->maniaControl->getSettingManager()->initSetting($this, self::SETTING_SORT_SETTINGS, true); @@ -627,7 +629,14 @@ class GameModeSettings implements ConfiguratorMenu, CallbackListener, Communicat $this->maniaControl->getCallbackManager()->triggerCallback(self::CB_GAMEMODESETTINGS_CHANGED); $chatMessage .= '!'; - $this->maniaControl->getChat()->sendInformation($chatMessage); + + $sendSettingsToAdminsOnly = $this->maniaControl->getSettingManager()->getSettingValue($this, self::SETTING_SEND_SETTINGS_CHAT_ONLY_TO_ADMINS); + if ($sendSettingsToAdminsOnly) { + $this->maniaControl->getChat()->sendInformationToAdmins($chatMessage); + } else { + $this->maniaControl->getChat()->sendInformation($chatMessage); + } + return true; }