diff --git a/Projects/TerraTech/TerraTech.sln.DotSettings.user b/Projects/TerraTech/TerraTech.sln.DotSettings.user index 5020169..8320613 100644 --- a/Projects/TerraTech/TerraTech.sln.DotSettings.user +++ b/Projects/TerraTech/TerraTech.sln.DotSettings.user @@ -5,6 +5,7 @@ True True True + ForceIncluded <AssemblyExplorer /> C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe 262144 diff --git a/Projects/TerraTech/TerraTech/Class1.cs b/Projects/TerraTech/TerraTech/Class1.cs index 570bf5d..9286865 100644 --- a/Projects/TerraTech/TerraTech/Class1.cs +++ b/Projects/TerraTech/TerraTech/Class1.cs @@ -57,11 +57,23 @@ namespace TerraTech { public static ConfigEntry fireDataKickbackStrengthMultiplier; public static ConfigEntry fireDataMuzzleVelocityMultiplier; + public static ConfigEntry boosterFanThrustMultiplier; + public static ConfigEntry boosterJetThrustMultiplier; + + public static ConfigEntry energyOutputMultiplier; + public static ConfigEntry powerUpDelayMultiplier; + + public static ConfigEntry batteryCapacityMultiplier; + + public static ConfigEntry shopBlocksGeneratedTotalMultiplier; + public void Awake() { debug = Config.Bind("General", "Debug", false); float min = 0.01f; float max = 32f; + ModuleWingManager.Setup(Config); + xpMultiplier = Config.Bind("General", "XP Multiplier", 1f, new ConfigDescription("XP Multiplier", new AcceptableValueRange(min, max))); @@ -94,20 +106,6 @@ namespace TerraTech { new ConfigDescription("Shield Radius Multiplier Healing", new AcceptableValueRange(min, max))); shieldRadiusMultiplierHealing.SettingChanged += (sender, args) => ModuleShieldGeneratorManager.DoPatch(); - aerofoilAngleRangeMultiplier = Config.Bind( - "Aerofoil", "Aerofoil Angle Range Multiplier", 1f, - new ConfigDescription("Aerofoil Angle Range Multiplier", new AcceptableValueRange(min, max))); - aerofoilAngleRangeMultiplier.SettingChanged += (sender, args) => ModuleWingManager.DoPatch(); - aerofoilAngleTurnSpeedMultiplier = - Config.Bind("Aerofoil", "Aerofoil Angle Turn Speed Multiplier", 1f, - new ConfigDescription("Aerofoil Angle Turn Speed Multiplier", - new AcceptableValueRange(min, max))); - aerofoilAngleTurnSpeedMultiplier.SettingChanged += (sender, args) => ModuleWingManager.DoPatch(); - aerofoilLiftStrengthMultiplier = Config.Bind( - "Aerofoil", "Aerofoil Lift Strength Multiplier", 1f, - new ConfigDescription("Aerofoil Lift Strength Multiplier", new AcceptableValueRange(min, max))); - aerofoilLiftStrengthMultiplier.SettingChanged += (sender, args) => ModuleWingManager.DoPatch(); - fireDataKickbackStrengthMultiplier = Config.Bind("FireData", "Fire Data Kickback Strength Multiplier", 1f, new ConfigDescription("Fire Data Kickback Strength Multiplier", diff --git a/Projects/TerraTech/TerraTech/ModuleWingManager.cs b/Projects/TerraTech/TerraTech/ModuleWingManager.cs index bb986cf..09e4bce 100644 --- a/Projects/TerraTech/TerraTech/ModuleWingManager.cs +++ b/Projects/TerraTech/TerraTech/ModuleWingManager.cs @@ -1,4 +1,5 @@ using System; +using BepInEx.Configuration; using HarmonyLib; namespace TerraTech { @@ -6,13 +7,41 @@ 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; + + public static void Setup(ConfigFile config) { + float min = 0.01f; + float max = 32f; + + aerofoilAngleRangeMultiplier = config.Bind( + "Aerofoil", "Aerofoil Angle Range Multiplier", 1f, + new ConfigDescription("Aerofoil Angle Range Multiplier", new AcceptableValueRange(min, max))); + aerofoilAngleRangeMultiplier.SettingChanged += (sender, args) => ModuleWingManager.DoPatch(); + + aerofoilAngleTurnSpeedMultiplier = + config.Bind("Aerofoil", "Aerofoil Angle Turn Speed Multiplier", 1f, + new ConfigDescription("Aerofoil Angle Turn Speed Multiplier", + new AcceptableValueRange(min, max))); + aerofoilAngleTurnSpeedMultiplier.SettingChanged += (sender, args) => ModuleWingManager.DoPatch(); + + aerofoilLiftStrengthMultiplier = config.Bind( + "Aerofoil", "Aerofoil Lift Strength Multiplier", 1f, + new ConfigDescription("Aerofoil Lift Strength Multiplier", new AcceptableValueRange(min, max))); + aerofoilLiftStrengthMultiplier.SettingChanged += (sender, args) => ModuleWingManager.DoPatch(); + } private static void ConfigureAerofoil(MultipliedObject obj) { - obj.AddField(new FieldConfiguration("flipAngleRangeActual", Main.aerofoilAngleRangeMultiplier)); - obj.AddField(new FieldConfiguration("flipAngleRangeVisual", Main.aerofoilAngleRangeMultiplier)); + obj.AddField( + new FieldConfiguration("flipAngleRangeActual", ModuleWingManager.aerofoilAngleRangeMultiplier)); + obj.AddField( + new FieldConfiguration("flipAngleRangeVisual", ModuleWingManager.aerofoilAngleRangeMultiplier)); - obj.AddField(new FieldConfiguration("flipAngleTurnSpeed", Main.aerofoilAngleTurnSpeedMultiplier)); - obj.AddField(new FieldConfiguration("liftStrength", Main.aerofoilLiftStrengthMultiplier)); + obj.AddField(new FieldConfiguration("flipAngleTurnSpeed", + ModuleWingManager.aerofoilAngleTurnSpeedMultiplier)); + obj.AddField( + new FieldConfiguration("liftStrength", ModuleWingManager.aerofoilLiftStrengthMultiplier)); } [HarmonyPrefix]