Теперь можно настраивать тряску экрана в настройках доступности (#126)

* Теперь можно настраивать тряску экрана

* минимум 20%
This commit is contained in:
banumbas 2025-11-30 01:05:56 +03:00 • committed by GitHub
parent 7456dd8fb2
commit 7a977ad62c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 7 additions and 6 deletions

View file

@ -21,7 +21,7 @@ public sealed class CameraRecoilSystem : SharedCameraRecoilSystem
private void OnCvarChanged(float value)
{
_intensity = value;
_intensity = Math.Max(0.2f, value); // Fish-Edit
}
private void OnCameraKick(CameraKickEvent ev)
@ -31,8 +31,8 @@ public sealed class CameraRecoilSystem : SharedCameraRecoilSystem
public override void KickCamera(EntityUid uid, Vector2 recoil, CameraRecoilComponent? component = null)
{
if (_intensity == 0)
return;
if (_intensity < 0.2f) // Fish-Edit
_intensity = 0.2f; // Fish-Edit
if (!Resolve(uid, ref component, false))
return;

View file

@ -9,7 +9,7 @@
<CheckBox Name="ReducedMotionCheckBox" Text="{Loc 'ui-options-reduced-motion'}" />
<CheckBox Name="EnableColorNameCheckBox" Text="{Loc 'ui-options-enable-color-name'}" />
<CheckBox Name="ColorblindFriendlyCheckBox" Text="{Loc 'ui-options-colorblind-friendly'}" />
<!--><ui:OptionSlider Name="ScreenShakeIntensitySlider" Title="{Loc 'ui-options-screen-shake-intensity'}" /> <-->
<ui:OptionSlider Name="ScreenShakeIntensitySlider" Title="{Loc 'ui-options-screen-shake-intensity'}" />
<ui:OptionSlider Name="ChatWindowOpacitySlider" Title="{Loc 'ui-options-chat-window-opacity'}" />
<ui:OptionSlider Name="SpeechBubbleTextOpacitySlider" Title="{Loc 'ui-options-speech-bubble-text-opacity'}" />
<ui:OptionSlider Name="SpeechBubbleSpeakerOpacitySlider" Title="{Loc 'ui-options-speech-bubble-speaker-opacity'}" />

View file

@ -15,6 +15,7 @@ public sealed partial class AccessibilityTab : Control
Control.AddOptionCheckBox(CCVars.ChatEnableColorName, EnableColorNameCheckBox);
Control.AddOptionCheckBox(CCVars.AccessibilityColorblindFriendly, ColorblindFriendlyCheckBox);
Control.AddOptionCheckBox(CCVars.ReducedMotion, ReducedMotionCheckBox);
Control.AddOptionPercentSlider(CCVars.ScreenShakeIntensity, ScreenShakeIntensitySlider, min: 0.2f); // Fish-Edit
Control.AddOptionPercentSlider(CCVars.ChatWindowOpacity, ChatWindowOpacitySlider);
Control.AddOptionPercentSlider(CCVars.SpeechBubbleTextOpacity, SpeechBubbleTextOpacitySlider);
Control.AddOptionPercentSlider(CCVars.SpeechBubbleSpeakerOpacity, SpeechBubbleSpeakerOpacitySlider);

View file

@ -27,10 +27,10 @@ public sealed partial class CCVars
/// <summary>
/// Screen shake intensity slider, controlling the intensity of the CameraRecoilSystem.
/// Goes from 0 (no recoil at all) to 1 (regular amounts of recoil)
/// Goes from 0.2 (20% minimum) to 1 (regular amounts of recoil) // Fish-Edit
/// </summary>
public static readonly CVarDef<float> ScreenShakeIntensity =
CVarDef.Create("accessibility.screen_shake_intensity", 0.5f, CVar.REPLICATED | CVar.SERVER);
CVarDef.Create("accessibility.screen_shake_intensity", 0.5f, CVar.CLIENTONLY | CVar.ARCHIVE);
/// <summary>
/// A generic toggle for various visual effects that are color sensitive.