OOC Patron Color Toggle (#26653)
* Adds the option for you to toggle your OOC Patron color visibility to yourself and others. * Makes the button magically disappear if you arent a patron
This commit is contained in:
@@ -49,6 +49,7 @@
|
|||||||
<Label Text="{Loc 'ui-options-general-speech'}"
|
<Label Text="{Loc 'ui-options-general-speech'}"
|
||||||
FontColorOverride="{xNamespace:Static s:StyleNano.NanoGold}"
|
FontColorOverride="{xNamespace:Static s:StyleNano.NanoGold}"
|
||||||
StyleClasses="LabelKeyText"/>
|
StyleClasses="LabelKeyText"/>
|
||||||
|
<CheckBox Name="ShowOocPatronColor" Text="{Loc 'ui-options-show-ooc-patron-color'}" />
|
||||||
<CheckBox Name="ShowLoocAboveHeadCheckBox" Text="{Loc 'ui-options-show-looc-on-head'}" />
|
<CheckBox Name="ShowLoocAboveHeadCheckBox" Text="{Loc 'ui-options-show-looc-on-head'}" />
|
||||||
<CheckBox Name="FancySpeechBubblesCheckBox" Text="{Loc 'ui-options-fancy-speech'}" />
|
<CheckBox Name="FancySpeechBubblesCheckBox" Text="{Loc 'ui-options-fancy-speech'}" />
|
||||||
<CheckBox Name="FancyNameBackgroundsCheckBox" Text="{Loc 'ui-options-fancy-name-background'}" />
|
<CheckBox Name="FancyNameBackgroundsCheckBox" Text="{Loc 'ui-options-fancy-name-background'}" />
|
||||||
|
|||||||
@@ -3,11 +3,14 @@ using Content.Client.UserInterface.Screens;
|
|||||||
using Content.Shared.CCVar;
|
using Content.Shared.CCVar;
|
||||||
using Content.Shared.HUD;
|
using Content.Shared.HUD;
|
||||||
using Robust.Client.AutoGenerated;
|
using Robust.Client.AutoGenerated;
|
||||||
|
using Robust.Client.Player;
|
||||||
using Robust.Client.UserInterface;
|
using Robust.Client.UserInterface;
|
||||||
using Robust.Client.UserInterface.Controls;
|
using Robust.Client.UserInterface.Controls;
|
||||||
using Robust.Client.UserInterface.XAML;
|
using Robust.Client.UserInterface.XAML;
|
||||||
using Robust.Shared;
|
using Robust.Shared;
|
||||||
using Robust.Shared.Configuration;
|
using Robust.Shared.Configuration;
|
||||||
|
using Robust.Shared.Network;
|
||||||
|
using Robust.Shared.Player;
|
||||||
using Robust.Shared.Prototypes;
|
using Robust.Shared.Prototypes;
|
||||||
using Range = Robust.Client.UserInterface.Controls.Range;
|
using Range = Robust.Client.UserInterface.Controls.Range;
|
||||||
|
|
||||||
@@ -16,6 +19,7 @@ namespace Content.Client.Options.UI.Tabs
|
|||||||
[GenerateTypedNameReferences]
|
[GenerateTypedNameReferences]
|
||||||
public sealed partial class MiscTab : Control
|
public sealed partial class MiscTab : Control
|
||||||
{
|
{
|
||||||
|
[Dependency] private readonly IPlayerManager _playerManager = default!;
|
||||||
[Dependency] private readonly IConfigurationManager _cfg = default!;
|
[Dependency] private readonly IConfigurationManager _cfg = default!;
|
||||||
[Dependency] private readonly IPrototypeManager _prototypeManager = default!;
|
[Dependency] private readonly IPrototypeManager _prototypeManager = default!;
|
||||||
|
|
||||||
@@ -55,8 +59,11 @@ namespace Content.Client.Options.UI.Tabs
|
|||||||
UpdateApplyButton();
|
UpdateApplyButton();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
ShowOocPatronColor.Visible = _playerManager.LocalSession?.Channel.UserData.PatronTier is { } patron;
|
||||||
|
|
||||||
HudThemeOption.OnItemSelected += OnHudThemeChanged;
|
HudThemeOption.OnItemSelected += OnHudThemeChanged;
|
||||||
DiscordRich.OnToggled += OnCheckBoxToggled;
|
DiscordRich.OnToggled += OnCheckBoxToggled;
|
||||||
|
ShowOocPatronColor.OnToggled += OnCheckBoxToggled;
|
||||||
ShowLoocAboveHeadCheckBox.OnToggled += OnCheckBoxToggled;
|
ShowLoocAboveHeadCheckBox.OnToggled += OnCheckBoxToggled;
|
||||||
ShowHeldItemCheckBox.OnToggled += OnCheckBoxToggled;
|
ShowHeldItemCheckBox.OnToggled += OnCheckBoxToggled;
|
||||||
ShowCombatModeIndicatorsCheckBox.OnToggled += OnCheckBoxToggled;
|
ShowCombatModeIndicatorsCheckBox.OnToggled += OnCheckBoxToggled;
|
||||||
@@ -73,6 +80,7 @@ namespace Content.Client.Options.UI.Tabs
|
|||||||
|
|
||||||
HudThemeOption.SelectId(_hudThemeIdToIndex.GetValueOrDefault(_cfg.GetCVar(CVars.InterfaceTheme), 0));
|
HudThemeOption.SelectId(_hudThemeIdToIndex.GetValueOrDefault(_cfg.GetCVar(CVars.InterfaceTheme), 0));
|
||||||
DiscordRich.Pressed = _cfg.GetCVar(CVars.DiscordEnabled);
|
DiscordRich.Pressed = _cfg.GetCVar(CVars.DiscordEnabled);
|
||||||
|
ShowOocPatronColor.Pressed = _cfg.GetCVar(CCVars.ShowOocPatronColor);
|
||||||
ShowLoocAboveHeadCheckBox.Pressed = _cfg.GetCVar(CCVars.LoocAboveHeadShow);
|
ShowLoocAboveHeadCheckBox.Pressed = _cfg.GetCVar(CCVars.LoocAboveHeadShow);
|
||||||
ShowHeldItemCheckBox.Pressed = _cfg.GetCVar(CCVars.HudHeldItemShow);
|
ShowHeldItemCheckBox.Pressed = _cfg.GetCVar(CCVars.HudHeldItemShow);
|
||||||
ShowCombatModeIndicatorsCheckBox.Pressed = _cfg.GetCVar(CCVars.CombatModeIndicatorsPointShow);
|
ShowCombatModeIndicatorsCheckBox.Pressed = _cfg.GetCVar(CCVars.CombatModeIndicatorsPointShow);
|
||||||
@@ -130,6 +138,7 @@ namespace Content.Client.Options.UI.Tabs
|
|||||||
_cfg.SetCVar(CCVars.HudHeldItemShow, ShowHeldItemCheckBox.Pressed);
|
_cfg.SetCVar(CCVars.HudHeldItemShow, ShowHeldItemCheckBox.Pressed);
|
||||||
_cfg.SetCVar(CCVars.CombatModeIndicatorsPointShow, ShowCombatModeIndicatorsCheckBox.Pressed);
|
_cfg.SetCVar(CCVars.CombatModeIndicatorsPointShow, ShowCombatModeIndicatorsCheckBox.Pressed);
|
||||||
_cfg.SetCVar(CCVars.OpaqueStorageWindow, OpaqueStorageWindowCheckBox.Pressed);
|
_cfg.SetCVar(CCVars.OpaqueStorageWindow, OpaqueStorageWindowCheckBox.Pressed);
|
||||||
|
_cfg.SetCVar(CCVars.ShowOocPatronColor, ShowOocPatronColor.Pressed);
|
||||||
_cfg.SetCVar(CCVars.LoocAboveHeadShow, ShowLoocAboveHeadCheckBox.Pressed);
|
_cfg.SetCVar(CCVars.LoocAboveHeadShow, ShowLoocAboveHeadCheckBox.Pressed);
|
||||||
_cfg.SetCVar(CCVars.ChatEnableFancyBubbles, FancySpeechBubblesCheckBox.Pressed);
|
_cfg.SetCVar(CCVars.ChatEnableFancyBubbles, FancySpeechBubblesCheckBox.Pressed);
|
||||||
_cfg.SetCVar(CCVars.ChatFancyNameBackground, FancyNameBackgroundsCheckBox.Pressed);
|
_cfg.SetCVar(CCVars.ChatFancyNameBackground, FancyNameBackgroundsCheckBox.Pressed);
|
||||||
@@ -158,6 +167,7 @@ namespace Content.Client.Options.UI.Tabs
|
|||||||
var isShowHeldItemSame = ShowHeldItemCheckBox.Pressed == _cfg.GetCVar(CCVars.HudHeldItemShow);
|
var isShowHeldItemSame = ShowHeldItemCheckBox.Pressed == _cfg.GetCVar(CCVars.HudHeldItemShow);
|
||||||
var isCombatModeIndicatorsSame = ShowCombatModeIndicatorsCheckBox.Pressed == _cfg.GetCVar(CCVars.CombatModeIndicatorsPointShow);
|
var isCombatModeIndicatorsSame = ShowCombatModeIndicatorsCheckBox.Pressed == _cfg.GetCVar(CCVars.CombatModeIndicatorsPointShow);
|
||||||
var isOpaqueStorageWindow = OpaqueStorageWindowCheckBox.Pressed == _cfg.GetCVar(CCVars.OpaqueStorageWindow);
|
var isOpaqueStorageWindow = OpaqueStorageWindowCheckBox.Pressed == _cfg.GetCVar(CCVars.OpaqueStorageWindow);
|
||||||
|
var isOocPatronColorShowSame = ShowOocPatronColor.Pressed == _cfg.GetCVar(CCVars.ShowOocPatronColor);
|
||||||
var isLoocShowSame = ShowLoocAboveHeadCheckBox.Pressed == _cfg.GetCVar(CCVars.LoocAboveHeadShow);
|
var isLoocShowSame = ShowLoocAboveHeadCheckBox.Pressed == _cfg.GetCVar(CCVars.LoocAboveHeadShow);
|
||||||
var isFancyChatSame = FancySpeechBubblesCheckBox.Pressed == _cfg.GetCVar(CCVars.ChatEnableFancyBubbles);
|
var isFancyChatSame = FancySpeechBubblesCheckBox.Pressed == _cfg.GetCVar(CCVars.ChatEnableFancyBubbles);
|
||||||
var isFancyBackgroundSame = FancyNameBackgroundsCheckBox.Pressed == _cfg.GetCVar(CCVars.ChatFancyNameBackground);
|
var isFancyBackgroundSame = FancyNameBackgroundsCheckBox.Pressed == _cfg.GetCVar(CCVars.ChatFancyNameBackground);
|
||||||
@@ -175,6 +185,7 @@ namespace Content.Client.Options.UI.Tabs
|
|||||||
isShowHeldItemSame &&
|
isShowHeldItemSame &&
|
||||||
isCombatModeIndicatorsSame &&
|
isCombatModeIndicatorsSame &&
|
||||||
isOpaqueStorageWindow &&
|
isOpaqueStorageWindow &&
|
||||||
|
isOocPatronColorShowSame &&
|
||||||
isLoocShowSame &&
|
isLoocShowSame &&
|
||||||
isFancyChatSame &&
|
isFancyChatSame &&
|
||||||
isFancyBackgroundSame &&
|
isFancyBackgroundSame &&
|
||||||
|
|||||||
@@ -244,8 +244,7 @@ namespace Content.Server.Chat.Managers
|
|||||||
var prefs = _preferencesManager.GetPreferences(player.UserId);
|
var prefs = _preferencesManager.GetPreferences(player.UserId);
|
||||||
colorOverride = prefs.AdminOOCColor;
|
colorOverride = prefs.AdminOOCColor;
|
||||||
}
|
}
|
||||||
if (player.Channel.UserData.PatronTier is { } patron &&
|
if ( _netConfigManager.GetClientCVar(player.Channel, CCVars.ShowOocPatronColor) && player.Channel.UserData.PatronTier is { } patron && PatronOocColors.TryGetValue(patron, out var patronColor))
|
||||||
PatronOocColors.TryGetValue(patron, out var patronColor))
|
|
||||||
{
|
{
|
||||||
wrappedMessage = Loc.GetString("chat-manager-send-ooc-patron-wrap-message", ("patronColor", patronColor),("playerName", player.Name), ("message", FormattedMessage.EscapeText(message)));
|
wrappedMessage = Loc.GetString("chat-manager-send-ooc-patron-wrap-message", ("patronColor", patronColor),("playerName", player.Name), ("message", FormattedMessage.EscapeText(message)));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -726,7 +726,7 @@ namespace Content.Shared.CCVar
|
|||||||
|
|
||||||
public static readonly CVarDef<bool> CombatModeIndicatorsPointShow =
|
public static readonly CVarDef<bool> CombatModeIndicatorsPointShow =
|
||||||
CVarDef.Create("hud.combat_mode_indicators_point_show", true, CVar.ARCHIVE | CVar.CLIENTONLY);
|
CVarDef.Create("hud.combat_mode_indicators_point_show", true, CVar.ARCHIVE | CVar.CLIENTONLY);
|
||||||
|
|
||||||
public static readonly CVarDef<bool> LoocAboveHeadShow =
|
public static readonly CVarDef<bool> LoocAboveHeadShow =
|
||||||
CVarDef.Create("hud.show_looc_above_head", true, CVar.ARCHIVE | CVar.CLIENTONLY);
|
CVarDef.Create("hud.show_looc_above_head", true, CVar.ARCHIVE | CVar.CLIENTONLY);
|
||||||
|
|
||||||
@@ -1224,6 +1224,9 @@ namespace Content.Shared.CCVar
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public static readonly CVarDef<bool> OocEnableDuringRound =
|
public static readonly CVarDef<bool> OocEnableDuringRound =
|
||||||
CVarDef.Create("ooc.enable_during_round", false, CVar.NOTIFY | CVar.REPLICATED | CVar.SERVER);
|
CVarDef.Create("ooc.enable_during_round", false, CVar.NOTIFY | CVar.REPLICATED | CVar.SERVER);
|
||||||
|
|
||||||
|
public static readonly CVarDef<bool> ShowOocPatronColor =
|
||||||
|
CVarDef.Create("ooc.show_ooc_patron_color", true, CVar.ARCHIVE | CVar.REPLICATED | CVar.CLIENT);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* LOOC
|
* LOOC
|
||||||
|
|||||||
@@ -42,6 +42,7 @@ ui-options-volume-percent = { TOSTRING($volume, "P0") }
|
|||||||
ui-options-show-held-item = Show held item next to cursor
|
ui-options-show-held-item = Show held item next to cursor
|
||||||
ui-options-show-combat-mode-indicators = Show combat mode indicators with cursor
|
ui-options-show-combat-mode-indicators = Show combat mode indicators with cursor
|
||||||
ui-options-opaque-storage-window = Opaque storage window
|
ui-options-opaque-storage-window = Opaque storage window
|
||||||
|
ui-options-show-ooc-patron-color = Show OOC Patreon color
|
||||||
ui-options-show-looc-on-head = Show LOOC chat above characters head
|
ui-options-show-looc-on-head = Show LOOC chat above characters head
|
||||||
ui-options-fancy-speech = Show names in speech bubbles
|
ui-options-fancy-speech = Show names in speech bubbles
|
||||||
ui-options-fancy-name-background = Add background to speech bubble names
|
ui-options-fancy-name-background = Add background to speech bubble names
|
||||||
|
|||||||
Reference in New Issue
Block a user