diff --git a/Projects/TerraTech/TerraTech/Class1.cs b/Projects/TerraTech/TerraTech/Class1.cs index 83a3c39..173aabd 100644 --- a/Projects/TerraTech/TerraTech/Class1.cs +++ b/Projects/TerraTech/TerraTech/Class1.cs @@ -49,9 +49,6 @@ namespace TerraTech { public static ConfigEntry aerofoilAngleTurnSpeedMultiplier; public static ConfigEntry aerofoilLiftStrengthMultiplier; - public static ConfigEntry fireDataKickbackStrengthMultiplier; - public static ConfigEntry fireDataMuzzleVelocityMultiplier; - public static ConfigEntry boosterFanThrustMultiplier; public static ConfigEntry boosterJetThrustMultiplier; @@ -82,17 +79,6 @@ namespace TerraTech { "General", "Heartbeat Interval Multiplier", 1f, new ConfigDescription("Heartbeat Interval Multiplier", new AcceptableValueRange(min, max))); - fireDataKickbackStrengthMultiplier = - Config.Bind("FireData", "Fire Data Kickback Strength Multiplier", 1f, - new ConfigDescription("Fire Data Kickback Strength Multiplier", - new AcceptableValueRange(min, max))); - fireDataKickbackStrengthMultiplier.SettingChanged += (sender, args) => FireDataManager.DoPatch(); - fireDataMuzzleVelocityMultiplier = - Config.Bind("FireData", "Fire Data Muzzle Velocity Multiplier", 1f, - new ConfigDescription("Fire Data Muzzle Velocity Multiplier", - new AcceptableValueRange(min, max))); - fireDataMuzzleVelocityMultiplier.SettingChanged += (sender, args) => FireDataManager.DoPatch(); - shootingSpeedMultiplier = Config.Bind( "Weapons", "Shooting Speed Multiplier", 1f, new ConfigDescription("Shooting Speed Multiplier", new AcceptableValueRange(min, max))); diff --git a/Projects/TerraTech/TerraTech/FireDataManager.cs b/Projects/TerraTech/TerraTech/FireDataManager.cs index f0825d6..159fc7d 100644 --- a/Projects/TerraTech/TerraTech/FireDataManager.cs +++ b/Projects/TerraTech/TerraTech/FireDataManager.cs @@ -1,4 +1,5 @@ using System; +using BepInEx.Configuration; using HarmonyLib; namespace TerraTech { @@ -7,9 +8,31 @@ namespace TerraTech { private static readonly MultipliedObjectManager manager = new MultipliedObjectManager(ConfigureFireData); + public static ConfigEntry fireDataKickbackStrengthMultiplier; + public static ConfigEntry fireDataMuzzleVelocityMultiplier; + + public static void Setup(ConfigFile config) { + float min = 0.01f; + float max = 32f; + + fireDataKickbackStrengthMultiplier = + config.Bind("FireData", "Fire Data Kickback Strength Multiplier", 1f, + new ConfigDescription("Fire Data Kickback Strength Multiplier", + new AcceptableValueRange(min, max))); + fireDataKickbackStrengthMultiplier.SettingChanged += (sender, args) => FireDataManager.DoPatch(); + + fireDataMuzzleVelocityMultiplier = + config.Bind("FireData", "Fire Data Muzzle Velocity Multiplier", 1f, + new ConfigDescription("Fire Data Muzzle Velocity Multiplier", + new AcceptableValueRange(min, max))); + fireDataMuzzleVelocityMultiplier.SettingChanged += (sender, args) => FireDataManager.DoPatch(); + } + private static void ConfigureFireData(MultipliedObject obj) { - obj.AddField(new FieldConfiguration("m_MuzzleVelocity", Main.fireDataMuzzleVelocityMultiplier)); - obj.AddField(new FieldConfiguration("m_KickbackStrength", Main.fireDataKickbackStrengthMultiplier)); + obj.AddField( + new FieldConfiguration("m_MuzzleVelocity", FireDataManager.fireDataMuzzleVelocityMultiplier)); + obj.AddField(new FieldConfiguration("m_KickbackStrength", + FireDataManager.fireDataKickbackStrengthMultiplier)); } [HarmonyPrefix] diff --git a/Projects/TerraTech/TerraTech/ModuleShieldGeneratorManager.cs b/Projects/TerraTech/TerraTech/ModuleShieldGeneratorManager.cs index 223f093..94aaf85 100644 --- a/Projects/TerraTech/TerraTech/ModuleShieldGeneratorManager.cs +++ b/Projects/TerraTech/TerraTech/ModuleShieldGeneratorManager.cs @@ -7,6 +7,7 @@ namespace TerraTech { public class ModuleShieldGeneratorManager { private static readonly MultipliedObjectManager manager = new MultipliedObjectManager(ConfigureShieldGenerator); + public static ConfigEntry shieldRadiusMultiplier; public static ConfigEntry shieldRadiusMultiplierHealing; public static ConfigEntry shieldHeartbeatIntervalMultiplier; diff --git a/Projects/TerraTech/TerraTech/ModuleWingManager.cs b/Projects/TerraTech/TerraTech/ModuleWingManager.cs index 09e4bce..4c3bb78 100644 --- a/Projects/TerraTech/TerraTech/ModuleWingManager.cs +++ b/Projects/TerraTech/TerraTech/ModuleWingManager.cs @@ -7,6 +7,7 @@ namespace TerraTech { public class ModuleWingManager { private static readonly MultipliedObjectManager manager = new MultipliedObjectManager(ConfigureAerofoil); + public static ConfigEntry aerofoilAngleRangeMultiplier; public static ConfigEntry aerofoilAngleTurnSpeedMultiplier; public static ConfigEntry aerofoilLiftStrengthMultiplier;