diff --git a/Projects/TerraTech/.clang-format b/Projects/TerraTech/.clang-format new file mode 100644 index 0000000..d53bf86 --- /dev/null +++ b/Projects/TerraTech/.clang-format @@ -0,0 +1,3 @@ +BasedOnStyle: Google +IndentWidth: 4 +ColumnLimit: 120 \ No newline at end of file diff --git a/Projects/TerraTech/TerraTech/BeamPropertiesManager.cs b/Projects/TerraTech/TerraTech/BeamPropertiesManager.cs index 4d98c9c..e57fae3 100644 --- a/Projects/TerraTech/TerraTech/BeamPropertiesManager.cs +++ b/Projects/TerraTech/TerraTech/BeamPropertiesManager.cs @@ -5,7 +5,8 @@ using HarmonyLib; namespace TerraTech { [HarmonyPatch] public class BeamPropertiesManager { - private static Dictionary strenghts = new Dictionary(); + private static Dictionary strenghts = + new Dictionary(); private static Dictionary radii = new Dictionary(); [HarmonyPrefix] @@ -15,9 +16,13 @@ namespace TerraTech { if (!strenghts.ContainsKey(__instance)) { strenghts.Add(__instance, GetStrength(__instance)); radii.Add(__instance, GetRadius(__instance)); - // Console.WriteLine("Patching {0}; m_BeamStrength: {1}; m_Pickup.m_PickupRange: {2}", __instance.name, GetStrength(__instance), GetRadius(__instance)); + // Console.WriteLine("Patching {0}; m_BeamStrength: {1}; + // m_Pickup.m_PickupRange: {2}", __instance.name, GetStrength(__instance), + // GetRadius(__instance)); DoPatchSingle(__instance); - // Console.WriteLine("Patched {0}; m_BeamStrength: {1}; m_Pickup.m_PickupRange: {2}", __instance.name, GetStrength(__instance), GetRadius(__instance)); + // Console.WriteLine("Patched {0}; m_BeamStrength: {1}; + // m_Pickup.m_PickupRange: {2}", __instance.name, GetStrength(__instance), + // GetRadius(__instance)); } } @@ -25,9 +30,13 @@ namespace TerraTech { [HarmonyPatch(typeof(ModuleItemHolderBeam), "OnDetaching")] static void PostfixDestroy(ModuleItemHolderBeam __instance) { // Console.WriteLine("ModuleItemHolderBeam.OnDetaching"); - // Console.WriteLine("Restoring {0}; m_BeamStrength: {1}; m_Pickup.m_PickupRange: {2}", __instance.name, GetStrength(__instance), GetRadius(__instance)); + // Console.WriteLine("Restoring {0}; m_BeamStrength: {1}; + // m_Pickup.m_PickupRange: {2}", __instance.name, GetStrength(__instance), + // GetRadius(__instance)); DoRestoreSingle(__instance); - // Console.WriteLine("Restored {0}; m_BeamStrength: {1}; m_Pickup.m_PickupRange: {2}", __instance.name, GetStrength(__instance), GetRadius(__instance)); + // Console.WriteLine("Restored {0}; m_BeamStrength: {1}; + // m_Pickup.m_PickupRange: {2}", __instance.name, GetStrength(__instance), + // GetRadius(__instance)); strenghts.Remove(__instance); radii.Remove(__instance); } @@ -53,7 +62,7 @@ namespace TerraTech { } private static float GetStrength(ModuleItemHolderBeam moduleItemHolderBeam) { - return Traverse.Create(moduleItemHolderBeam).Field("m_BeamStrength").GetValue() as float? ?? 0f; + return Traverse.Create(moduleItemHolderBeam).Field("m_BeamStrength").GetValue() as float ? ?? 0f; } private static void SetStrength(ModuleItemHolderBeam moduleItemHolderBeam, float value) { @@ -61,16 +70,18 @@ namespace TerraTech { } private static float GetRadius(ModuleItemHolderBeam moduleItemHolderBeam) { - ModuleItemPickup moduleItemPickup = Traverse.Create(moduleItemHolderBeam).Field("m_Pickup").GetValue() as ModuleItemPickup; + ModuleItemPickup moduleItemPickup = + Traverse.Create(moduleItemHolderBeam).Field("m_Pickup").GetValue() as ModuleItemPickup; if (moduleItemPickup) { - float radius = Traverse.Create(moduleItemPickup).Field("m_PickupRange").GetValue() as float? ?? 0f; + float radius = Traverse.Create(moduleItemPickup).Field("m_PickupRange").GetValue() as float ? ?? 0f; return radius; } return 0f; } private static void SetRadius(ModuleItemHolderBeam moduleItemHolderBeam, float value) { - ModuleItemPickup moduleItemPickup = Traverse.Create(moduleItemHolderBeam).Field("m_Pickup").GetValue() as ModuleItemPickup; + ModuleItemPickup moduleItemPickup = + Traverse.Create(moduleItemHolderBeam).Field("m_Pickup").GetValue() as ModuleItemPickup; if (moduleItemPickup) { Traverse.Create(moduleItemPickup).Field("m_PickupRange").SetValue(value); } diff --git a/Projects/TerraTech/TerraTech/Class1.cs b/Projects/TerraTech/TerraTech/Class1.cs index 9670c73..5ad530d 100644 --- a/Projects/TerraTech/TerraTech/Class1.cs +++ b/Projects/TerraTech/TerraTech/Class1.cs @@ -14,6 +14,7 @@ namespace TerraTech { private const string pluginName = "CykaMod"; private const string pluginVersion = "1.0.0"; + public static ConfigEntry debug; public static ConfigEntry xpMultiplier; public static ConfigEntry moneyMultiplier; public static ConfigEntry energyGenMultiplier; @@ -38,58 +39,93 @@ namespace TerraTech { public static ConfigEntry wirelessChargingRadiusMultiplier; public static ConfigEntry wirelessChargingPowerPerArcMultiplier; public static ConfigEntry wirelessChargingArcFiringIntervalMultiplier; + public static ConfigEntry weaponRotationSpeedMultiplier; public void Awake() { - xpMultiplier = Config.Bind("General", "XP Multiplier", 1f, new ConfigDescription("XP Multiplier", new AcceptableValueRange(1f, 32f))); - moneyMultiplier = Config.Bind("General", "Money Multiplier", 1f, - new ConfigDescription("Money Multiplier", new AcceptableValueRange(1f, 32f))); - energyGenMultiplier = Config.Bind("General", "Energy Generation Multiplier", 1f, + debug = Config.Bind("General", "Debug", false); + + xpMultiplier = + Config.Bind("General", "XP Multiplier", 1f, + new ConfigDescription("XP Multiplier", new AcceptableValueRange(1f, 32f))); + moneyMultiplier = + Config.Bind("General", "Money Multiplier", 1f, + new ConfigDescription("Money Multiplier", new AcceptableValueRange(1f, 32f))); + energyGenMultiplier = Config.Bind( + "General", "Energy Generation Multiplier", 1f, new ConfigDescription("Energy Generation Multiplier", new AcceptableValueRange(1f, 64f))); - heartbeatIntervalMultiplier = Config.Bind("General", "Heartbeat Interval Multiplier", 1f, + heartbeatIntervalMultiplier = Config.Bind( + "General", "Heartbeat Interval Multiplier", 1f, new ConfigDescription("Heartbeat Interval Multiplier", new AcceptableValueRange(0.1f, 2f))); - shootingSpeedMultiplier = Config.Bind("Weapons", "Shooting Speed Multiplier", 1f, + shootingSpeedMultiplier = Config.Bind( + "Weapons", "Shooting Speed Multiplier", 1f, new ConfigDescription("Shooting Speed Multiplier", new AcceptableValueRange(0.2f, 8f))); - muzzleVelocityMultiplier = Config.Bind("Weapons", "Muzzle Velocity Multiplier", 1f, + weaponRotationSpeedMultiplier = Config.Bind( + "Weapons", "Weapon Rotation Speed Multiplier", 1f, + new ConfigDescription("Weapon Rotation Speed Multiplier", new AcceptableValueRange(0.2f, 64f))); + muzzleVelocityMultiplier = Config.Bind( + "Weapons", "Muzzle Velocity Multiplier", 1f, new ConfigDescription("Muzzle Velocity Multiplier", new AcceptableValueRange(0.2f, 32f))); - seekingProjectileVisionConeAngleMultiplier = Config.Bind("Weapons", "Seeking Projectile Cone Vision Angle Multiplier", 1f, - new ConfigDescription("Seeking Projectile Cone Vision Angle Multiplier", new AcceptableValueRange(0.2f, 32f))); - seekingProjectileVisionRangeMultiplier = Config.Bind("Weapons", "Seeking Projectile Vision Range Multiplier", 1f, - new ConfigDescription("Seeking Projectile Vision Range Multiplier", new AcceptableValueRange(0.2f, 32f))); - seekingProjectileTurningSpeedMultiplier = Config.Bind("Weapons", "Seeking Projectile Turn Speed Multiplier", 1f, - new ConfigDescription("Seeking Projectile Turn Speed Multiplier", new AcceptableValueRange(0.2f, 32f))); + seekingProjectileVisionConeAngleMultiplier = + Config.Bind("Weapons", "Seeking Projectile Cone Vision Angle Multiplier", 1f, + new ConfigDescription("Seeking Projectile Cone Vision Angle Multiplier", + new AcceptableValueRange(0.2f, 32f))); + seekingProjectileVisionRangeMultiplier = + Config.Bind("Weapons", "Seeking Projectile Vision Range Multiplier", 1f, + new ConfigDescription("Seeking Projectile Vision Range Multiplier", + new AcceptableValueRange(0.2f, 32f))); + seekingProjectileTurningSpeedMultiplier = + Config.Bind("Weapons", "Seeking Projectile Turn Speed Multiplier", 1f, + new ConfigDescription("Seeking Projectile Turn Speed Multiplier", + new AcceptableValueRange(0.2f, 32f))); - magnetStrenghtMultiplier = Config.Bind("Attractors", "Magnet Strength Multiplier", 1f, + magnetStrenghtMultiplier = Config.Bind( + "Attractors", "Magnet Strength Multiplier", 1f, new ConfigDescription("Magnet Strength Multiplier", new AcceptableValueRange(1f, 16f))); - magnetRadiusMultiplier = Config.Bind("Attractors", "Magnet Radius Multiplier", 1f, + magnetRadiusMultiplier = Config.Bind( + "Attractors", "Magnet Radius Multiplier", 1f, new ConfigDescription("Magnet Radius Multiplier", new AcceptableValueRange(1f, 16f))); - beamStrenghtMultiplier = Config.Bind("Attractors", "Beam Strength Multiplier", 1f, + beamStrenghtMultiplier = Config.Bind( + "Attractors", "Beam Strength Multiplier", 1f, new ConfigDescription("Beam Strength Multiplier", new AcceptableValueRange(1f, 16f))); - beamRadiusMultiplier = Config.Bind("Attractors", "Beam Radius Multiplier", 1f, - new ConfigDescription("Beam Radius Multiplier", new AcceptableValueRange(1f, 16f))); - - wirelessChargingRadiusMultiplier = Config.Bind("Power", "Wireless Charger Radius Multiplier", 1f, - new ConfigDescription("Wireless Charger Radius Multiplier", new AcceptableValueRange(0.2f, 16f))); - wirelessChargingArcFiringIntervalMultiplier = Config.Bind("Power", "Wireless Charger Arc Firing Interval", 1f, - new ConfigDescription("Wireless Charger Arc Firing Interval", new AcceptableValueRange(0.02f, 16f))); - wirelessChargingPowerPerArcMultiplier = Config.Bind("Power", "Wireless Charger Power Per Arc", 1f, + beamRadiusMultiplier = + Config.Bind("Attractors", "Beam Radius Multiplier", 1f, + new ConfigDescription("Beam Radius Multiplier", new AcceptableValueRange(1f, 16f))); + + wirelessChargingRadiusMultiplier = + Config.Bind("Power", "Wireless Charger Radius Multiplier", 1f, + new ConfigDescription("Wireless Charger Radius Multiplier", + new AcceptableValueRange(0.2f, 16f))); + wirelessChargingArcFiringIntervalMultiplier = + Config.Bind("Power", "Wireless Charger Arc Firing Interval", 1f, + new ConfigDescription("Wireless Charger Arc Firing Interval", + new AcceptableValueRange(0.02f, 16f))); + wirelessChargingPowerPerArcMultiplier = Config.Bind( + "Power", "Wireless Charger Power Per Arc", 1f, new ConfigDescription("Wireless Charger Power Per Arc", new AcceptableValueRange(0.2f, 16f))); - fuelTankRefillMultiplier = Config.Bind("Propulsion", "Fuel Tank Refill Rate Multiplier", 1f, + fuelTankRefillMultiplier = Config.Bind( + "Propulsion", "Fuel Tank Refill Rate Multiplier", 1f, new ConfigDescription("Fuel Tank Refill Rate Multiplier", new AcceptableValueRange(1f, 32f))); - fuelTankCapacityMultiplier = Config.Bind("Propulsion", "Fuel Tank Capacity Multiplier", 1f, + fuelTankCapacityMultiplier = Config.Bind( + "Propulsion", "Fuel Tank Capacity Multiplier", 1f, new ConfigDescription("Fuel Tank Capacity Multiplier", new AcceptableValueRange(1f, 32f))); - wheelTorqueMultiplier = Config.Bind("Propulsion", "Wheel Torque Multiplier", 1f, - new ConfigDescription("Wheel Torque Multiplier", new AcceptableValueRange(1f, 32f))); - wheelSpeedMultiplier = Config.Bind("Propulsion", "Wheel Max RPM Multiplier", 1f, + wheelTorqueMultiplier = + Config.Bind("Propulsion", "Wheel Torque Multiplier", 1f, + new ConfigDescription("Wheel Torque Multiplier", new AcceptableValueRange(1f, 32f))); + wheelSpeedMultiplier = Config.Bind( + "Propulsion", "Wheel Max RPM Multiplier", 1f, new ConfigDescription("Wheel Max RPM Multiplier", new AcceptableValueRange(1f, 32f))); - jetThrustMultiplier = Config.Bind("Propulsion", "Jet Thrust Multiplier", 1f, - new ConfigDescription("Jet Thrust Multiplier", new AcceptableValueRange(1f, 32f))); + jetThrustMultiplier = + Config.Bind("Propulsion", "Jet Thrust Multiplier", 1f, + new ConfigDescription("Jet Thrust Multiplier", new AcceptableValueRange(1f, 32f))); - minerGroundArea = Config.Bind("Production", "Miner Ground Deposit Scan Area", 1f, + minerGroundArea = Config.Bind( + "Production", "Miner Ground Deposit Scan Area", 1f, new ConfigDescription("Miner Ground Deposit Scan Area", new AcceptableValueRange(1f, 32f))); - minerMiningSpeed = Config.Bind("Production", "Miner Mining Speed", 1f, - new ConfigDescription("Miner Mining Speed", new AcceptableValueRange(1f, 32f))); + minerMiningSpeed = + Config.Bind("Production", "Miner Mining Speed", 1f, + new ConfigDescription("Miner Mining Speed", new AcceptableValueRange(1f, 32f))); allProjectilesHoming = Config.Bind("General", "Make All Projectiles Home", false); @@ -100,15 +136,18 @@ namespace TerraTech { beamStrenghtMultiplier.SettingChanged += (sender, args) => BeamPropertiesManager.DoPatch(); beamRadiusMultiplier.SettingChanged += (sender, args) => BeamPropertiesManager.DoPatch(); fuelTankRefillMultiplier.SettingChanged += (sender, args) => FuelPropertiesManager.DoPatch(); - fuelTankCapacityMultiplier.SettingChanged += (sender, args) => FuelPropertiesManager.DoPatch(); + fuelTankCapacityMultiplier.SettingChanged += (sender, args) => FuelPropertiesManag er.DoPatch(); wheelTorqueMultiplier.SettingChanged += (sender, args) => WheelPropertiesManager.DoPatch(); wheelSpeedMultiplier.SettingChanged += (sender, args) => WheelPropertiesManager.DoPatch(); jetThrustMultiplier.SettingChanged += (sender, args) => ThrusterPropertiesManager.DoPatch(); minerGroundArea.SettingChanged += (sender, args) => MinerPropertiesManager.DoPatch(); minerMiningSpeed.SettingChanged += (sender, args) => MinerPropertiesManager.DoPatch(); - wirelessChargingPowerPerArcMultiplier.SettingChanged += (sender, args) => WirelessChargerPropertiesManager.DoPatch(); - wirelessChargingArcFiringIntervalMultiplier.SettingChanged += (sender, args) => WirelessChargerPropertiesManager.DoPatch(); - wirelessChargingRadiusMultiplier.SettingChanged += (sender, args) => WirelessChargerPropertiesManager.DoPatch(); + wirelessChargingPowerPerArcMultiplier.SettingChanged += (sender, args) => + WirelessChargerPropertiesManager.DoPatch(); + wirelessChargingArcFiringIntervalMultiplier.SettingChanged += (sender, args) => + WirelessChargerPropertiesManager.DoPatch(); + wirelessChargingRadiusMultiplier.SettingChanged += (sender, args) => + WirelessChargerPropertiesManager.DoPatch(); Logger.LogInfo("Cyka mod loaded"); HarmonyFileLog.Enabled = true; diff --git a/Projects/TerraTech/TerraTech/FuelPropertiesManager.cs b/Projects/TerraTech/TerraTech/FuelPropertiesManager.cs index 6246ca8..37e0449 100644 --- a/Projects/TerraTech/TerraTech/FuelPropertiesManager.cs +++ b/Projects/TerraTech/TerraTech/FuelPropertiesManager.cs @@ -15,9 +15,11 @@ namespace TerraTech { if (!refillRate.ContainsKey(__instance)) { refillRate.Add(__instance, __instance.m_RefillRate); capacity.Add(__instance, __instance.m_Capacity); - // Console.WriteLine("Patching {0}; m_RefillRate: {1}; m_Capacity: {2}", __instance.name, __instance.m_RefillRate, __instance.m_Capacity); + // Console.WriteLine("Patching {0}; m_RefillRate: {1}; m_Capacity: {2}", + // __instance.name, __instance.m_RefillRate, __instance.m_Capacity); DoPatchSingle(__instance); - // Console.WriteLine("Patched {0}; m_RefillRate: {1}; m_Capacity: {2}", __instance.name, __instance.m_RefillRate, __instance.m_Capacity); + // Console.WriteLine("Patched {0}; m_RefillRate: {1}; m_Capacity: {2}", + // __instance.name, __instance.m_RefillRate, __instance.m_Capacity); } } @@ -25,9 +27,11 @@ namespace TerraTech { [HarmonyPatch(typeof(ModuleFuelTank), "OnDetaching")] static void PostfixDestroy(ModuleFuelTank __instance) { // Console.WriteLine("ModuleFuelTank.OnAttached"); - // Console.WriteLine("Restoring {0}; m_RefillRate: {1}; m_Capacity: {2}", __instance.name, __instance.m_RefillRate, __instance.m_Capacity); + // Console.WriteLine("Restoring {0}; m_RefillRate: {1}; m_Capacity: {2}", + // __instance.name, __instance.m_RefillRate, __instance.m_Capacity); DoRestoreSingle(__instance); - // Console.WriteLine("Restored {0}; m_RefillRate: {1}; m_Capacity: {2}", __instance.name, __instance.m_RefillRate, __instance.m_Capacity); + // Console.WriteLine("Restored {0}; m_RefillRate: {1}; m_Capacity: {2}", + // __instance.name, __instance.m_RefillRate, __instance.m_Capacity); refillRate.Remove(__instance); capacity.Remove(__instance); } diff --git a/Projects/TerraTech/TerraTech/GeneratorPropertiesManager.cs b/Projects/TerraTech/TerraTech/GeneratorPropertiesManager.cs index dfd6ed0..e2c831e 100644 --- a/Projects/TerraTech/TerraTech/GeneratorPropertiesManager.cs +++ b/Projects/TerraTech/TerraTech/GeneratorPropertiesManager.cs @@ -13,9 +13,11 @@ namespace TerraTech { // Console.WriteLine("ModuleEnergy.OnAttached"); if (!generators.ContainsKey(__instance)) { generators.Add(__instance, GetValue(__instance)); - // Console.WriteLine("Patching {0}; m_OutputPerSecond: {1}", __instance.name, GetValue(__instance)); + // Console.WriteLine("Patching {0}; m_OutputPerSecond: {1}", + // __instance.name, GetValue(__instance)); DoPatchSingle(__instance); - // Console.WriteLine("Patched {0}; m_OutputPerSecond: {1}", __instance.name, GetValue(__instance)); + // Console.WriteLine("Patched {0}; m_OutputPerSecond: {1}", + // __instance.name, GetValue(__instance)); } } @@ -23,9 +25,11 @@ namespace TerraTech { [HarmonyPatch(typeof(ModuleEnergy), "OnDetaching")] static void PostfixDestroy(ModuleEnergy __instance) { // Console.WriteLine("ModuleEnergy.OnDetaching"); - // Console.WriteLine("Restoring {0}; m_OutputPerSecond: {1}", __instance.name, GetValue(__instance)); + // Console.WriteLine("Restoring {0}; m_OutputPerSecond: {1}", + // __instance.name, GetValue(__instance)); DoRestoreSingle(__instance); - // Console.WriteLine("Restored {0}; m_OutputPerSecond: {1}", __instance.name, GetValue(__instance)); + // Console.WriteLine("Restored {0}; m_OutputPerSecond: {1}", + // __instance.name, GetValue(__instance)); generators.Remove(__instance); } @@ -48,7 +52,7 @@ namespace TerraTech { } private static float GetValue(ModuleEnergy moduleEnergy) { - return Traverse.Create(moduleEnergy).Field("m_OutputPerSecond").GetValue() as float? ?? 0f; + return Traverse.Create(moduleEnergy).Field("m_OutputPerSecond").GetValue() as float ? ?? 0f; } private static void SetValue(ModuleEnergy moduleEnergy, float value) { diff --git a/Projects/TerraTech/TerraTech/HomingAndVelocityProjectilePatch.cs b/Projects/TerraTech/TerraTech/HomingAndVelocityProjectilePatch.cs index cc8bbbe..60c33bf 100644 --- a/Projects/TerraTech/TerraTech/HomingAndVelocityProjectilePatch.cs +++ b/Projects/TerraTech/TerraTech/HomingAndVelocityProjectilePatch.cs @@ -7,7 +7,8 @@ namespace TerraTech { public class HomingAndVelocityProjectilePatch { private static Dictionary velocities = new Dictionary(); - static void Prefix(Vector3 fireDirection, ref FireData fireData, ref ModuleWeaponGun weapon, Tank shooter, ref bool seekingRounds, bool replayRounds) { + static void Prefix(Vector3 fireDirection, ref FireData fireData, ref ModuleWeaponGun weapon, Tank shooter, + ref bool seekingRounds, bool replayRounds) { if (Main.allProjectilesHoming.Value) { seekingRounds = true; } diff --git a/Projects/TerraTech/TerraTech/MagnetPropertiesManager.cs b/Projects/TerraTech/TerraTech/MagnetPropertiesManager.cs index 23a74c1..d5c6377 100644 --- a/Projects/TerraTech/TerraTech/MagnetPropertiesManager.cs +++ b/Projects/TerraTech/TerraTech/MagnetPropertiesManager.cs @@ -5,8 +5,10 @@ using HarmonyLib; namespace TerraTech { [HarmonyPatch] public class MagnetPropertiesManager { - private static Dictionary strenghts = new Dictionary(); - private static Dictionary radii = new Dictionary(); + private static Dictionary strenghts = + new Dictionary(); + private static Dictionary radii = + new Dictionary(); [HarmonyPrefix] [HarmonyPatch(typeof(ModuleItemHolderMagnet), "OnAttached")] @@ -15,9 +17,13 @@ namespace TerraTech { if (!strenghts.ContainsKey(__instance)) { strenghts.Add(__instance, GetStrength(__instance)); radii.Add(__instance, GetRadius(__instance)); - // Console.WriteLine("Patching {0}; m_Strength: {1}; m_Pickup.m_PickupRange: {2}", __instance.name, GetStrength(__instance), GetRadius(__instance)); + // Console.WriteLine("Patching {0}; m_Strength: {1}; + // m_Pickup.m_PickupRange: {2}", __instance.name, GetStrength(__instance), + // GetRadius(__instance)); DoPatchSingle(__instance); - // Console.WriteLine("Patched {0}; m_Strength: {1}; m_Pickup.m_PickupRange: {2}", __instance.name, GetStrength(__instance), GetRadius(__instance)); + // Console.WriteLine("Patched {0}; m_Strength: {1}; + // m_Pickup.m_PickupRange: {2}", __instance.name, GetStrength(__instance), + // GetRadius(__instance)); } } @@ -25,15 +31,19 @@ namespace TerraTech { [HarmonyPatch(typeof(ModuleItemHolderMagnet), "OnDetaching")] static void PostfixDestroy(ModuleItemHolderMagnet __instance) { // Console.WriteLine("ModuleItemHolderMagnet.OnDetaching"); - // Console.WriteLine("Restoring {0}; m_Strength: {1}; m_Pickup.m_PickupRange: {2}", __instance.name, GetStrength(__instance), GetRadius(__instance)); + // Console.WriteLine("Restoring {0}; m_Strength: {1}; + // m_Pickup.m_PickupRange: {2}", __instance.name, GetStrength(__instance), + // GetRadius(__instance)); DoRestoreSingle(__instance); - // Console.WriteLine("Restored {0}; m_Strength: {1}; m_Pickup.m_PickupRange: {2}", __instance.name, GetStrength(__instance), GetRadius(__instance)); + // Console.WriteLine("Restored {0}; m_Strength: {1}; m_Pickup.m_PickupRange: + // {2}", __instance.name, GetStrength(__instance), GetRadius(__instance)); strenghts.Remove(__instance); radii.Remove(__instance); } public static void DoPatch() { - // Console.WriteLine("Modifying {0} ModuleItemHolderMagnet", strenghts.Count); + // Console.WriteLine("Modifying {0} ModuleItemHolderMagnet", + // strenghts.Count); foreach (KeyValuePair keyValuePair in strenghts) { DoRestoreSingle(keyValuePair.Key); DoPatchSingle(keyValuePair.Key); @@ -41,7 +51,8 @@ namespace TerraTech { } static void DoPatchSingle(ModuleItemHolderMagnet moduleItemHolderMagnet) { - SetStrength(moduleItemHolderMagnet, strenghts[moduleItemHolderMagnet] * Main.magnetStrenghtMultiplier.Value); + SetStrength(moduleItemHolderMagnet, + strenghts[moduleItemHolderMagnet] * Main.magnetStrenghtMultiplier.Value); SetRadius(moduleItemHolderMagnet, radii[moduleItemHolderMagnet] * Main.magnetRadiusMultiplier.Value); } @@ -55,7 +66,7 @@ namespace TerraTech { } private static float GetStrength(ModuleItemHolderMagnet moduleItemHolderMagnet) { - return Traverse.Create(moduleItemHolderMagnet).Field("m_Strength").GetValue() as float? ?? 0f; + return Traverse.Create(moduleItemHolderMagnet).Field("m_Strength").GetValue() as float ? ?? 0f; } private static void SetStrength(ModuleItemHolderMagnet moduleItemHolderMagnet, float value) { @@ -63,16 +74,18 @@ namespace TerraTech { } private static float GetRadius(ModuleItemHolderMagnet moduleItemHolderMagnet) { - ModuleItemPickup moduleItemPickup = Traverse.Create(moduleItemHolderMagnet).Field("m_Pickup").GetValue() as ModuleItemPickup; + ModuleItemPickup moduleItemPickup = + Traverse.Create(moduleItemHolderMagnet).Field("m_Pickup").GetValue() as ModuleItemPickup; if (moduleItemPickup) { - float radius = Traverse.Create(moduleItemPickup).Field("m_PickupRange").GetValue() as float? ?? 0f; + float radius = Traverse.Create(moduleItemPickup).Field("m_PickupRange").GetValue() as float ? ?? 0f; return radius; } return 0f; } private static void SetRadius(ModuleItemHolderMagnet moduleItemHolderMagnet, float value) { - ModuleItemPickup moduleItemPickup = Traverse.Create(moduleItemHolderMagnet).Field("m_Pickup").GetValue() as ModuleItemPickup; + ModuleItemPickup moduleItemPickup = + Traverse.Create(moduleItemHolderMagnet).Field("m_Pickup").GetValue() as ModuleItemPickup; if (moduleItemPickup) { Traverse.Create(moduleItemPickup).Field("m_PickupRange").SetValue(value); } diff --git a/Projects/TerraTech/TerraTech/MinerPropertiesManager.cs b/Projects/TerraTech/TerraTech/MinerPropertiesManager.cs index 4335a10..c1f4c83 100644 --- a/Projects/TerraTech/TerraTech/MinerPropertiesManager.cs +++ b/Projects/TerraTech/TerraTech/MinerPropertiesManager.cs @@ -15,24 +15,30 @@ namespace TerraTech { if (!area.ContainsKey(__instance)) { area.Add(__instance, GetArea(__instance)); speed.Add(__instance, GetSpeed(__instance)); - // Console.WriteLine("Patching {0}; m_ResourceGroundRadius: {1}; m_SecPerItemProduced: {2}", __instance.name, GetArea(__instance), + // Console.WriteLine("Patching {0}; m_ResourceGroundRadius: {1}; + // m_SecPerItemProduced: {2}", __instance.name, GetArea(__instance), // GetSpeed(__instance)); DoPatchSingle(__instance); - // Console.WriteLine("Patched {0}; m_ResourceGroundRadius: {1}; m_SecPerItemProduced: {2}", __instance.name, GetArea(__instance), + // Console.WriteLine("Patched {0}; m_ResourceGroundRadius: {1}; + // m_SecPerItemProduced: {2}", __instance.name, GetArea(__instance), // GetSpeed(__instance)); } else { if (GetArea(__instance) == area[__instance]) { - // Console.WriteLine("{0} area reset, patching again... m_ResourceGroundRadius: {1}; m_SecPerItemProduced: {2}", __instance.name, - // GetArea(__instance), GetSpeed(__instance)); + // Console.WriteLine("{0} area reset, patching again... + // m_ResourceGroundRadius: {1}; m_SecPerItemProduced: {2}", + // __instance.name, GetArea(__instance), GetSpeed(__instance)); DoPatchSingle(__instance); - // Console.WriteLine("Patched {0}; m_ResourceGroundRadius: {1}; m_SecPerItemProduced: {2}", __instance.name, GetArea(__instance), + // Console.WriteLine("Patched {0}; m_ResourceGroundRadius: {1}; + // m_SecPerItemProduced: {2}", __instance.name, GetArea(__instance), // GetSpeed(__instance)); } if (GetSpeed(__instance) == speed[__instance]) { - // Console.WriteLine("{0} speed reset, patching again... m_ResourceGroundRadius: {1}; m_SecPerItemProduced: {2}", __instance.name, - // GetArea(__instance), GetSpeed(__instance)); + // Console.WriteLine("{0} speed reset, patching again... + // m_ResourceGroundRadius: {1}; m_SecPerItemProduced: {2}", + // __instance.name, GetArea(__instance), GetSpeed(__instance)); DoPatchSingle(__instance); - // Console.WriteLine("Patched {0}; m_ResourceGroundRadius: {1}; m_SecPerItemProduced: {2}", __instance.name, GetArea(__instance), + // Console.WriteLine("Patched {0}; m_ResourceGroundRadius: {1}; + // m_SecPerItemProduced: {2}", __instance.name, GetArea(__instance), // GetSpeed(__instance)); } } @@ -68,7 +74,7 @@ namespace TerraTech { } private static float GetArea(ModuleItemProducer moduleItemProducer) { - return Traverse.Create(moduleItemProducer).Field("m_ResourceGroundRadius").GetValue() as float? ?? 0f; + return Traverse.Create(moduleItemProducer).Field("m_ResourceGroundRadius").GetValue() as float ? ?? 0f; } private static void SetArea(ModuleItemProducer moduleItemProducer, float value) { @@ -76,7 +82,7 @@ namespace TerraTech { } private static float GetSpeed(ModuleItemProducer moduleItemProducer) { - return Traverse.Create(moduleItemProducer).Field("m_SecPerItemProduced").GetValue() as float? ?? 0f; + return Traverse.Create(moduleItemProducer).Field("m_SecPerItemProduced").GetValue() as float ? ?? 0f; } private static void SetSpeed(ModuleItemProducer moduleItemProducer, float value) { diff --git a/Projects/TerraTech/TerraTech/Patches.cs b/Projects/TerraTech/TerraTech/Patches.cs index 99769e9..9ea80c0 100644 --- a/Projects/TerraTech/TerraTech/Patches.cs +++ b/Projects/TerraTech/TerraTech/Patches.cs @@ -1,24 +1,30 @@ using HarmonyLib; namespace TerraTech { - [HarmonyPatch] - public class Patches { - [HarmonyPrefix] - [HarmonyPatch(typeof(ManLicenses), "AddXP")] - static void XPMulti(FactionSubTypes corporation, ref int xp, bool showUI = true) { - xp = (int)(xp * Main.xpMultiplier.Value); - } + [HarmonyPatch] + public class Patches { + [HarmonyPrefix] + [HarmonyPatch(typeof(ManLicenses), "AddXP")] + static void XPMulti(FactionSubTypes corporation, ref int xp, bool showUI = true) { + xp = (int)(xp * Main.xpMultiplier.Value); + } - [HarmonyPrefix] - [HarmonyPatch(typeof(ManPlayer), "AddMoney")] - static void MoneyMulti(ref int amount) { - amount = (int)(amount * Main.moneyMultiplier.Value); - } + [HarmonyPrefix] + [HarmonyPatch(typeof(ManPlayer), "AddMoney")] + static void MoneyMulti(ref int amount) { + amount = (int)(amount * Main.moneyMultiplier.Value); + } - [HarmonyPrefix] - [HarmonyPatch(typeof(TechHolders), "SetHeartbeatInterval")] - static void HeartbeatMulti(ref float interval) { - interval *= Main.heartbeatIntervalMultiplier.Value; - } - } -} \ No newline at end of file + [HarmonyPrefix] + [HarmonyPatch(typeof(TechHolders), "SetHeartbeatInterval")] + static void HeartbeatMulti(ref float interval) { + interval *= Main.heartbeatIntervalMultiplier.Value; + } + + [HarmonyPostfix] + [HarmonyPatch(typeof(ModuleWeaponGun), "RotateSpeed", MethodType.Getter)] + static void WeaponRotationSpeedMulti(ref float __result) { + __result *= Main.weaponRotationSpeedMultiplier.Value; + } + } +} diff --git a/Projects/TerraTech/TerraTech/SeekingProjectileManager.cs b/Projects/TerraTech/TerraTech/SeekingProjectileManager.cs index b0e1c63..336c34a 100644 --- a/Projects/TerraTech/TerraTech/SeekingProjectileManager.cs +++ b/Projects/TerraTech/TerraTech/SeekingProjectileManager.cs @@ -7,14 +7,18 @@ namespace TerraTech { class Patch { static void Postfix(SeekingProjectile __instance) { Console.WriteLine("SeekingProjectile created"); - SetField(__instance, "m_VisionConeAngle", Main.seekingProjectileVisionConeAngleMultiplier.Value * GetField(__instance, "m_VisionConeAngle")); - SetField(__instance, "m_VisionRange", Main.seekingProjectileVisionRangeMultiplier.Value * GetField(__instance, "m_VisionRange")); - SetField(__instance, "m_TurnSpeed", Main.seekingProjectileTurningSpeedMultiplier.Value * GetField(__instance, "m_TurnSpeed")); + SetField( + __instance, "m_VisionConeAngle", + Main.seekingProjectileVisionConeAngleMultiplier.Value * GetField(__instance, "m_VisionConeAngle")); + SetField(__instance, "m_VisionRange", + Main.seekingProjectileVisionRangeMultiplier.Value * GetField(__instance, "m_VisionRange")); + SetField(__instance, "m_TurnSpeed", + Main.seekingProjectileTurningSpeedMultiplier.Value * GetField(__instance, "m_TurnSpeed")); } } private static float GetField(SeekingProjectile seekingProjectile, string field) { - return Traverse.Create(seekingProjectile).Field(field).GetValue() as float? ?? 0f; + return Traverse.Create(seekingProjectile).Field(field).GetValue() as float ? ?? 0f; } private static void SetField(SeekingProjectile seekingProjectile, string field, float value) { diff --git a/Projects/TerraTech/TerraTech/ThrusterPropertiesManager.cs b/Projects/TerraTech/TerraTech/ThrusterPropertiesManager.cs index 0b45476..25f17a1 100644 --- a/Projects/TerraTech/TerraTech/ThrusterPropertiesManager.cs +++ b/Projects/TerraTech/TerraTech/ThrusterPropertiesManager.cs @@ -5,7 +5,8 @@ using HarmonyLib; namespace TerraTech { [HarmonyPatch] public class ThrusterPropertiesManager { - private static Dictionary> boosters = new Dictionary>(); + private static Dictionary> boosters = + new Dictionary>(); [HarmonyPrefix] [HarmonyPatch(typeof(ModuleBooster), "OnAttached")] @@ -13,9 +14,11 @@ namespace TerraTech { // Console.WriteLine("ModuleBooster.OnAttached"); if (!boosters.ContainsKey(__instance)) { boosters.Add(__instance, Map(__instance)); - // Console.WriteLine("Patching {0}; force: {1}", __instance.name, GetForceAsString(__instance)); + // Console.WriteLine("Patching {0}; force: {1}", __instance.name, + // GetForceAsString(__instance)); DoPatchSingle(__instance); - // Console.WriteLine("Patched {0}; force: {1}", __instance.name, GetForceAsString(__instance)); + // Console.WriteLine("Patched {0}; force: {1}", __instance.name, + // GetForceAsString(__instance)); } } @@ -23,9 +26,11 @@ namespace TerraTech { [HarmonyPatch(typeof(ModuleBooster), "OnDetaching")] static void PostfixDestroy(ModuleBooster __instance) { // Console.WriteLine("ModuleBooster.OnDetaching"); - // Console.WriteLine("Restoring {0}; force: {1}", __instance.name, GetForceAsString(__instance)); + // Console.WriteLine("Restoring {0}; force: {1}", __instance.name, + // GetForceAsString(__instance)); DoRestoreSingle(__instance); - // Console.WriteLine("Restored {0}; force: {1}", __instance.name, GetForceAsString(__instance)); + // Console.WriteLine("Restored {0}; force: {1}", __instance.name, + // GetForceAsString(__instance)); boosters.Remove(__instance); } @@ -71,13 +76,13 @@ namespace TerraTech { } private static float GetValue(BoosterJet boosterJet) { - return Traverse.Create(boosterJet).Field("m_Force").GetValue() as float? ?? 0f; + return Traverse.Create(boosterJet).Field("m_Force").GetValue() as float ? ?? 0f; } private static void SetValue(BoosterJet boosterJet, float value) { Traverse.Create(boosterJet).Field("m_Force").SetValue(value); } - + private static string GetForceAsString(ModuleBooster moduleBooster) { string result = ""; foreach (BoosterJet boosterJet in GetValue(moduleBooster)) { diff --git a/Projects/TerraTech/TerraTech/WeaponPropertiesManager.cs b/Projects/TerraTech/TerraTech/WeaponPropertiesManager.cs index 50dc882..6806bfa 100644 --- a/Projects/TerraTech/TerraTech/WeaponPropertiesManager.cs +++ b/Projects/TerraTech/TerraTech/WeaponPropertiesManager.cs @@ -14,9 +14,11 @@ namespace TerraTech { // Console.WriteLine("ModuleWeaponGun.OnAttached"); if (!shotCooldown.ContainsKey(__instance)) { shotCooldown.Add(__instance, __instance.m_ShotCooldown); - // Console.WriteLine("Patching {0}; m_ShotCooldown: {1}", __instance.name, __instance.m_ShotCooldown); + // Console.WriteLine("Patching {0}; m_ShotCooldown: {1}", __instance.name, + // __instance.m_ShotCooldown); DoPatchSingle(__instance); - // Console.WriteLine("Patched {0}; m_ShotCooldown: {1}", __instance.name, __instance.m_ShotCooldown); + // Console.WriteLine("Patched {0}; m_ShotCooldown: {1}", __instance.name, + // __instance.m_ShotCooldown); } } @@ -24,9 +26,11 @@ namespace TerraTech { [HarmonyPatch(typeof(ModuleWeaponGun), "OnDetaching")] static void PostfixDestroy(ModuleWeaponGun __instance) { // Console.WriteLine("ModuleWeaponGun.OnDetaching"); - // Console.WriteLine("Restoring {0}; m_ShotCooldown: {1}", __instance.name, __instance.m_ShotCooldown); + // Console.WriteLine("Restoring {0}; m_ShotCooldown: {1}", __instance.name, + // __instance.m_ShotCooldown); DoRestoreSingle(__instance); - // Console.WriteLine("Restored {0}; m_ShotCooldown: {1}", __instance.name, __instance.m_ShotCooldown); + // Console.WriteLine("Restored {0}; m_ShotCooldown: {1}", __instance.name, + // __instance.m_ShotCooldown); shotCooldown.Remove(__instance); } diff --git a/Projects/TerraTech/TerraTech/WheelPropertiesManager.cs b/Projects/TerraTech/TerraTech/WheelPropertiesManager.cs index 75dec0b..b151a6b 100644 --- a/Projects/TerraTech/TerraTech/WheelPropertiesManager.cs +++ b/Projects/TerraTech/TerraTech/WheelPropertiesManager.cs @@ -15,13 +15,15 @@ namespace TerraTech { if (!torques.ContainsKey(__instance)) { torques.Add(__instance, __instance.m_TorqueParams.torqueCurveMaxTorque); maxRpm.Add(__instance, __instance.m_TorqueParams.torqueCurveMaxRpm); - // Console.WriteLine("Patching {0}; m_TorqueParams.torqueCurveMaxTorque: {1}; m_TorqueParams.torqueCurveMaxRpm: {2}", __instance.name, - // __instance.m_TorqueParams.torqueCurveMaxTorque, - // __instance.m_TorqueParams.torqueCurveMaxRpm); + // Console.WriteLine("Patching {0}; m_TorqueParams.torqueCurveMaxTorque: + // {1}; m_TorqueParams.torqueCurveMaxRpm: {2}", __instance.name, + // __instance.m_TorqueParams.torqueCurveMaxTorque, + // __instance.m_TorqueParams.torqueCurveMaxRpm); DoPatchSingle(__instance); - // Console.WriteLine("Patched {0}; m_TorqueParams.torqueCurveMaxTorque: {1}; m_TorqueParams.torqueCurveMaxRpm: {2}", __instance.name, - // __instance.m_TorqueParams.torqueCurveMaxTorque, - // __instance.m_TorqueParams.torqueCurveMaxRpm); + // Console.WriteLine("Patched {0}; m_TorqueParams.torqueCurveMaxTorque: + // {1}; m_TorqueParams.torqueCurveMaxRpm: {2}", __instance.name, + // __instance.m_TorqueParams.torqueCurveMaxTorque, + // __instance.m_TorqueParams.torqueCurveMaxRpm); } } @@ -29,13 +31,15 @@ namespace TerraTech { [HarmonyPatch(typeof(ModuleWheels), "OnDetaching")] static void PostfixDestroy(ModuleWheels __instance) { // Console.WriteLine("ModuleWheels.OnDetaching"); - // Console.WriteLine("Restoring {0}; m_TorqueParams.torqueCurveMaxTorque: {1}; m_TorqueParams.torqueCurveMaxRpm: {2}", __instance.name, - // __instance.m_TorqueParams.torqueCurveMaxTorque, - // __instance.m_TorqueParams.torqueCurveMaxRpm); + // Console.WriteLine("Restoring {0}; m_TorqueParams.torqueCurveMaxTorque: + // {1}; m_TorqueParams.torqueCurveMaxRpm: {2}", __instance.name, + // __instance.m_TorqueParams.torqueCurveMaxTorque, + // __instance.m_TorqueParams.torqueCurveMaxRpm); DoRestoreSingle(__instance); - // Console.WriteLine("Restored {0}; m_TorqueParams.torqueCurveMaxTorque: {1}; m_TorqueParams.torqueCurveMaxRpm: {2}", __instance.name, - // __instance.m_TorqueParams.torqueCurveMaxTorque, - // __instance.m_TorqueParams.torqueCurveMaxRpm); + // Console.WriteLine("Restored {0}; m_TorqueParams.torqueCurveMaxTorque: + // {1}; m_TorqueParams.torqueCurveMaxRpm: {2}", __instance.name, + // __instance.m_TorqueParams.torqueCurveMaxTorque, + // __instance.m_TorqueParams.torqueCurveMaxRpm); torques.Remove(__instance); maxRpm.Remove(__instance); } diff --git a/Projects/TerraTech/TerraTech/WirelessChargerPropertiesManager.cs b/Projects/TerraTech/TerraTech/WirelessChargerPropertiesManager.cs index d80193b..12fb45c 100644 --- a/Projects/TerraTech/TerraTech/WirelessChargerPropertiesManager.cs +++ b/Projects/TerraTech/TerraTech/WirelessChargerPropertiesManager.cs @@ -6,8 +6,10 @@ namespace TerraTech { [HarmonyPatch] public class WirelessChargerPropertiesManager { private static Dictionary radius = new Dictionary(); - private static Dictionary transferPerArc = new Dictionary(); - private static Dictionary arcFiringInterval = new Dictionary(); + private static Dictionary transferPerArc = + new Dictionary(); + private static Dictionary arcFiringInterval = + new Dictionary(); [HarmonyPrefix] [HarmonyPatch(typeof(ModuleRemoteCharger), "OnAttached")] @@ -17,9 +19,11 @@ namespace TerraTech { radius.Add(__instance, __instance.m_ChargingRadius); transferPerArc.Add(__instance, __instance.m_PowerTransferPerArc); arcFiringInterval.Add(__instance, __instance.m_ArcFiringInterval); - // Console.WriteLine("Patching {0}; m_RefillRate: {1}; m_Capacity: {2}", __instance.name, __instance.m_RefillRate, __instance.m_Capacity); + // Console.WriteLine("Patching {0}; m_RefillRate: {1}; m_Capacity: {2}", + // __instance.name, __instance.m_RefillRate, __instance.m_Capacity); DoPatchSingle(__instance); - // Console.WriteLine("Patched {0}; m_RefillRate: {1}; m_Capacity: {2}", __instance.name, __instance.m_RefillRate, __instance.m_Capacity); + // Console.WriteLine("Patched {0}; m_RefillRate: {1}; m_Capacity: {2}", + // __instance.name, __instance.m_RefillRate, __instance.m_Capacity); } } @@ -27,9 +31,11 @@ namespace TerraTech { [HarmonyPatch(typeof(ModuleRemoteCharger), "OnDetaching")] static void PostfixDestroy(ModuleRemoteCharger __instance) { // Console.WriteLine("ModuleRemoteCharger.OnAttached"); - // Console.WriteLine("Restoring {0}; m_RefillRate: {1}; m_Capacity: {2}", __instance.name, __instance.m_RefillRate, __instance.m_Capacity); + // Console.WriteLine("Restoring {0}; m_RefillRate: {1}; m_Capacity: {2}", + // __instance.name, __instance.m_RefillRate, __instance.m_Capacity); DoRestoreSingle(__instance); - // Console.WriteLine("Restored {0}; m_RefillRate: {1}; m_Capacity: {2}", __instance.name, __instance.m_RefillRate, __instance.m_Capacity); + // Console.WriteLine("Restored {0}; m_RefillRate: {1}; m_Capacity: {2}", + // __instance.name, __instance.m_RefillRate, __instance.m_Capacity); radius.Remove(__instance); transferPerArc.Remove(__instance); arcFiringInterval.Remove(__instance); @@ -44,9 +50,12 @@ namespace TerraTech { } static void DoPatchSingle(ModuleRemoteCharger moduleRemoteCharger) { - moduleRemoteCharger.m_ChargingRadius = radius[moduleRemoteCharger] * Main.wirelessChargingRadiusMultiplier.Value; - moduleRemoteCharger.m_PowerTransferPerArc = radius[moduleRemoteCharger] * Main.wirelessChargingPowerPerArcMultiplier.Value; - moduleRemoteCharger.m_ArcFiringInterval = radius[moduleRemoteCharger] * Main.wirelessChargingArcFiringIntervalMultiplier.Value; + moduleRemoteCharger.m_ChargingRadius = + radius[moduleRemoteCharger] * Main.wirelessChargingRadiusMultiplier.Value; + moduleRemoteCharger.m_PowerTransferPerArc = + radius[moduleRemoteCharger] * Main.wirelessChargingPowerPerArcMultiplier.Value; + moduleRemoteCharger.m_ArcFiringInterval = + radius[moduleRemoteCharger] * Main.wirelessChargingArcFiringIntervalMultiplier.Value; } static void DoRestoreSingle(ModuleRemoteCharger moduleRemoteCharger) { diff --git a/Projects/TerraTech/format.sh b/Projects/TerraTech/format.sh new file mode 100644 index 0000000..406fa8a --- /dev/null +++ b/Projects/TerraTech/format.sh @@ -0,0 +1 @@ +clang-format -i TerraTech/*.cs