From e331eedf07550aab4e926d7ac10920b2099c9687 Mon Sep 17 00:00:00 2001 From: SaberShip Date: Thu, 14 Aug 2025 23:06:15 -0500 Subject: [PATCH] Round skill slider to nearest percent --- Source/PatsMortarAccuracy/Settings.cs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/Source/PatsMortarAccuracy/Settings.cs b/Source/PatsMortarAccuracy/Settings.cs index 99bdfdc..ac64d13 100644 --- a/Source/PatsMortarAccuracy/Settings.cs +++ b/Source/PatsMortarAccuracy/Settings.cs @@ -1,4 +1,5 @@ -using UnityEngine; +using System; +using UnityEngine; using Verse; namespace MortarAccuracy @@ -43,12 +44,12 @@ public override void DoSettingsWindowContents(Rect inRect) listingStandard.CheckboxLabeled(Translator.Translate("OptionSkillIntellectual"), ref Settings.intellectualAffectsMortarAccuracy); listingStandard.CheckboxLabeled(Translator.Translate("OptionSkillShooting"), ref Settings.shootingAffectsMortarAccuracy); - listingStandard.Label(TranslatorFormattedStringExtensions.Translate("OptionBestAccuracy", (int)(Settings.maxSkillSpreadReduction * 100))); - Settings.maxSkillSpreadReduction = listingStandard.Slider(Settings.maxSkillSpreadReduction, 0f, 1f); + listingStandard.Label(TranslatorFormattedStringExtensions.Translate("OptionBestAccuracy", (int)Math.Round(Settings.maxSkillSpreadReduction * 100f))); + Settings.maxSkillSpreadReduction = (float)(Math.Round(listingStandard.Slider(Settings.maxSkillSpreadReduction, 0f, 1f) * 100d) / 100f); string modifierString = Settings.minSkillSpreadReduction < 0 ? Translator.Translate("Reduced") : Translator.Translate("Improved"); - listingStandard.Label(TranslatorFormattedStringExtensions.Translate("OptionWorstAccuracy", modifierString, (int)(Settings.minSkillSpreadReduction * 100))); - Settings.minSkillSpreadReduction = listingStandard.Slider(Settings.minSkillSpreadReduction, -1f, 1f); + listingStandard.Label(TranslatorFormattedStringExtensions.Translate("OptionWorstAccuracy", modifierString, (int)Math.Round(Settings.minSkillSpreadReduction * 100f))); + Settings.minSkillSpreadReduction = (float)(Math.Round(listingStandard.Slider(Settings.minSkillSpreadReduction, -1f, 1f) * 100d) / 100f); if (Settings.minSkillSpreadReduction > Settings.maxSkillSpreadReduction) Settings.minSkillSpreadReduction = Settings.maxSkillSpreadReduction;