diff --git a/Projects/AgainstTheStorm/AgainstTheStorm.sln.DotSettings.user b/Projects/AgainstTheStorm/AgainstTheStorm.sln.DotSettings.user
index caf3465..38dd5c1 100644
--- a/Projects/AgainstTheStorm/AgainstTheStorm.sln.DotSettings.user
+++ b/Projects/AgainstTheStorm/AgainstTheStorm.sln.DotSettings.user
@@ -18,4 +18,11 @@
True
True
True
- True
\ No newline at end of file
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
\ No newline at end of file
diff --git a/Projects/AgainstTheStorm/AgainstTheStorm/Class1.cs b/Projects/AgainstTheStorm/AgainstTheStorm/Class1.cs
index dff0789..129feb6 100644
--- a/Projects/AgainstTheStorm/AgainstTheStorm/Class1.cs
+++ b/Projects/AgainstTheStorm/AgainstTheStorm/Class1.cs
@@ -1,91 +1,92 @@
-using System.Linq;
-using BepInEx;
-using BepInEx.Configuration;
-using HarmonyLib;
-using HarmonyLib.Tools;
-
-namespace AgainstTheStorm {
- [BepInPlugin(pluginGuid, pluginName, pluginVersion)]
- public class Main : BaseUnityPlugin {
- private const string pluginGuid = "CykaMod";
- private const string pluginName = "CykaMod";
- private const string pluginVersion = "1.0.0";
-
- public static ConfigEntry ProductionMultiplier;
- public static ConfigEntry DepositChargesMultiplier;
- public static ConfigEntry VillagerSpeedMultiplier;
- public static ConfigEntry ProductionSpeedMultiplier;
- public static ConfigEntry NewcomverRateMultiplier;
- public static ConfigEntry VillagerCapacityMultiplier;
- public static ConfigEntry TraderRateMultiplier;
- public static ConfigEntry TraderMerchMultiplier;
- public static ConfigEntry HearthRangeMultiplier;
- public static ConfigEntry HouseCapacityMultiplier;
- public static ConfigEntry NewcomerBonusMultiplier;
- public static ConfigEntry GameSpeedMultiplier;
- public static ConfigEntry AdditionalNewcomerBonus;
- public static ConfigEntry MetaCurrencyMultiplier;
- public static ConfigEntry TradeRouteSpeedMultiplier;
- // public static ConfigEntry wheelTorqueMultiplier;
- // public static ConfigEntry wheelSpeedMultiplier;
- // public static ConfigEntry jetThrustMultiplier;
-
- public void Awake() {
- ProductionMultiplier = Config.Bind("General", "ProductionMultiplier", 1,
- new ConfigDescription("ProductionMultiplier", new AcceptableValueRange(1, 512)));
- DepositChargesMultiplier = Config.Bind("General", "DepositChargesMultiplier", 1,
- new ConfigDescription("DepositChargesMultiplier", new AcceptableValueRange(1, 512)));
- VillagerSpeedMultiplier = Config.Bind("General", "VillagerSpeedMultiplier", 1f,
- new ConfigDescription("VillagerSpeedMultiplier", new AcceptableValueRange(1f, 128f)));
- ProductionSpeedMultiplier = Config.Bind("General", "ProductionSpeedMultiplier", 1f,
- new ConfigDescription("ProductionSpeedMultiplier", new AcceptableValueRange(1f, 256f)));
- NewcomverRateMultiplier = Config.Bind("General", "NewcomverRateMultiplier", 1f,
- new ConfigDescription("NewcomverRateMultiplier", new AcceptableValueRange(1f, 128f)));
- VillagerCapacityMultiplier = Config.Bind("General", "VillagerCapacityMultiplier", 1,
- new ConfigDescription("VillagerCapacityMultiplier", new AcceptableValueRange(1, 32)));
- TraderRateMultiplier = Config.Bind("General", "TraderRateMultiplier", 1f,
- new ConfigDescription("TraderRateMultiplier", new AcceptableValueRange(1f, 128f)));
- TraderMerchMultiplier = Config.Bind("General", "TraderMerchMultiplier", 1,
- new ConfigDescription("TraderMerchMultiplier", new AcceptableValueRange(1, 128)));
- HearthRangeMultiplier = Config.Bind("General", "HearthRangeMultiplier", 1f,
- new ConfigDescription("HearthRangeMultiplier", new AcceptableValueRange(1f, 128f)));
- HouseCapacityMultiplier = Config.Bind("General", "HouseCapacityMultiplier", 1f,
- new ConfigDescription("HouseCapacityMultiplier", new AcceptableValueRange(1f, 32f)));
- NewcomerBonusMultiplier = Config.Bind("General", "NewcomerBonusMultiplier", 1f,
- new ConfigDescription("NewcomerBonusMultiplier", new AcceptableValueRange(1f, 32f)));
- GameSpeedMultiplier = Config.Bind("General", "GameSpeedMultiplier", 1,
- new ConfigDescription("GameSpeedMultiplier", new AcceptableValueRange(1, 32)));
- AdditionalNewcomerBonus = Config.Bind("General", "AdditionalNewcomerBonus", 0,
- new ConfigDescription("AdditionalNewcomerBonus", new AcceptableValueRange(0, 512)));
- MetaCurrencyMultiplier = Config.Bind("General", "MetaCurrencyMultiplier", 1f,
- new ConfigDescription("MetaCurrencyMultiplier", new AcceptableValueRange(1f, 512f)));
- TradeRouteSpeedMultiplier = Config.Bind("General", "TradeRouteSpeedMultiplier", 1f,
- new ConfigDescription("TradeRouteSpeedMultiplier", new AcceptableValueRange(1f, 512f)));
- // 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);
-
- // shootingSpeedMultiplier.SettingChanged += (sender, args) => WeaponPropertiesManager.DoPatch();
- // energyGenMultiplier.SettingChanged += (sender, args) => GeneratorPropertiesManager.DoPatch();
- // magnetStrenghtMultiplier.SettingChanged += (sender, args) => MagnetPropertiesManager.DoPatch();
- // magnetRadiusMultiplier.SettingChanged += (sender, args) => MagnetPropertiesManager.DoPatch();
- // beamStrenghtMultiplier.SettingChanged += (sender, args) => BeamPropertiesManager.DoPatch();
- // beamRadiusMultiplier.SettingChanged += (sender, args) => BeamPropertiesManager.DoPatch();
- // fuelTankRefillMultiplier.SettingChanged += (sender, args) => FuelPropertiesManager.DoPatch();
- // fuelTankCapacityMultiplier.SettingChanged += (sender, args) => FuelPropertiesManager.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();
-
- Logger.LogInfo("Cyka mod loaded");
- HarmonyFileLog.Enabled = true;
- Harmony harmony = new Harmony(pluginGuid);
- harmony.PatchAll();
- var originalMethods = harmony.GetPatchedMethods();
- Logger.LogInfo("Patched " + originalMethods.Count() + " methods");
- }
- }
-}
+using System.Linq;
+using BepInEx;
+using BepInEx.Configuration;
+using HarmonyLib;
+using HarmonyLib.Tools;
+
+namespace AgainstTheStorm {
+ [BepInPlugin(pluginGuid, pluginName, pluginVersion)]
+ public class Main : BaseUnityPlugin {
+ private const string pluginGuid = "CykaMod";
+ private const string pluginName = "CykaMod";
+ private const string pluginVersion = "1.0.0";
+
+ public static ConfigEntry ProductionMultiplier;
+ public static ConfigEntry DepositChargesMultiplier;
+ public static ConfigEntry VillagerSpeedMultiplier;
+ public static ConfigEntry ProductionSpeedMultiplier;
+ public static ConfigEntry NewcomverRateMultiplier;
+ public static ConfigEntry VillagerCapacityMultiplier;
+ public static ConfigEntry TraderRateMultiplier;
+ public static ConfigEntry TraderMerchMultiplier;
+ public static ConfigEntry HearthRangeMultiplier;
+ public static ConfigEntry HouseCapacityMultiplier;
+ public static ConfigEntry NewcomerBonusMultiplier;
+ public static ConfigEntry GameSpeedMultiplier;
+ public static ConfigEntry AdditionalNewcomerBonus;
+ public static ConfigEntry MetaCurrencyMultiplier;
+ public static ConfigEntry TradeRouteSpeedMultiplier;
+
+ // public static ConfigEntry wheelTorqueMultiplier;
+ // public static ConfigEntry wheelSpeedMultiplier;
+ // public static ConfigEntry jetThrustMultiplier;
+
+ public void Awake() {
+ ProductionMultiplier = Config.Bind("General", "ProductionMultiplier", 1,
+ new ConfigDescription("ProductionMultiplier", new AcceptableValueRange(1, 512)));
+ DepositChargesMultiplier = Config.Bind("General", "DepositChargesMultiplier", 1,
+ new ConfigDescription("DepositChargesMultiplier", new AcceptableValueRange(1, 512)));
+ VillagerSpeedMultiplier = Config.Bind("General", "VillagerSpeedMultiplier", 1f,
+ new ConfigDescription("VillagerSpeedMultiplier", new AcceptableValueRange(1f, 128f)));
+ ProductionSpeedMultiplier = Config.Bind("General", "ProductionSpeedMultiplier", 1f,
+ new ConfigDescription("ProductionSpeedMultiplier", new AcceptableValueRange(1f, 256f)));
+ NewcomverRateMultiplier = Config.Bind("General", "NewcomverRateMultiplier", 1f,
+ new ConfigDescription("NewcomverRateMultiplier", new AcceptableValueRange(1f, 128f)));
+ VillagerCapacityMultiplier = Config.Bind("General", "VillagerCapacityMultiplier", 1,
+ new ConfigDescription("VillagerCapacityMultiplier", new AcceptableValueRange(1, 32)));
+ TraderRateMultiplier = Config.Bind("General", "TraderRateMultiplier", 1f,
+ new ConfigDescription("TraderRateMultiplier", new AcceptableValueRange(1f, 128f)));
+ TraderMerchMultiplier = Config.Bind("General", "TraderMerchMultiplier", 1,
+ new ConfigDescription("TraderMerchMultiplier", new AcceptableValueRange(1, 128)));
+ HearthRangeMultiplier = Config.Bind("General", "HearthRangeMultiplier", 1f,
+ new ConfigDescription("HearthRangeMultiplier", new AcceptableValueRange(1f, 128f)));
+ HouseCapacityMultiplier = Config.Bind("General", "HouseCapacityMultiplier", 1f,
+ new ConfigDescription("HouseCapacityMultiplier", new AcceptableValueRange(1f, 32f)));
+ NewcomerBonusMultiplier = Config.Bind("General", "NewcomerBonusMultiplier", 1f,
+ new ConfigDescription("NewcomerBonusMultiplier", new AcceptableValueRange(1f, 32f)));
+ GameSpeedMultiplier = Config.Bind("General", "GameSpeedMultiplier", 1,
+ new ConfigDescription("GameSpeedMultiplier", new AcceptableValueRange(1, 32)));
+ AdditionalNewcomerBonus = Config.Bind("General", "AdditionalNewcomerBonus", 0,
+ new ConfigDescription("AdditionalNewcomerBonus", new AcceptableValueRange(0, 512)));
+ MetaCurrencyMultiplier = Config.Bind("General", "MetaCurrencyMultiplier", 1f,
+ new ConfigDescription("MetaCurrencyMultiplier", new AcceptableValueRange(1f, 512f)));
+ TradeRouteSpeedMultiplier = Config.Bind("General", "TradeRouteSpeedMultiplier", 1f,
+ new ConfigDescription("TradeRouteSpeedMultiplier", new AcceptableValueRange(1f, 512f)));
+ // 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);
+
+ // shootingSpeedMultiplier.SettingChanged += (sender, args) => WeaponPropertiesManager.DoPatch();
+ // energyGenMultiplier.SettingChanged += (sender, args) => GeneratorPropertiesManager.DoPatch();
+ // magnetStrenghtMultiplier.SettingChanged += (sender, args) => MagnetPropertiesManager.DoPatch();
+ // magnetRadiusMultiplier.SettingChanged += (sender, args) => MagnetPropertiesManager.DoPatch();
+ // beamStrenghtMultiplier.SettingChanged += (sender, args) => BeamPropertiesManager.DoPatch();
+ // beamRadiusMultiplier.SettingChanged += (sender, args) => BeamPropertiesManager.DoPatch();
+ // fuelTankRefillMultiplier.SettingChanged += (sender, args) => FuelPropertiesManager.DoPatch();
+ // fuelTankCapacityMultiplier.SettingChanged += (sender, args) => FuelPropertiesManager.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();
+
+ Logger.LogInfo("Cyka mod loaded");
+ HarmonyFileLog.Enabled = true;
+ Harmony harmony = new Harmony(pluginGuid);
+ harmony.PatchAll();
+ var originalMethods = harmony.GetPatchedMethods();
+ Logger.LogInfo("Patched " + originalMethods.Count() + " methods");
+ }
+ }
+}
diff --git a/Projects/AgainstTheStorm/AgainstTheStorm/Patches.cs b/Projects/AgainstTheStorm/AgainstTheStorm/Patches.cs
index f9fac42..3ac02f4 100644
--- a/Projects/AgainstTheStorm/AgainstTheStorm/Patches.cs
+++ b/Projects/AgainstTheStorm/AgainstTheStorm/Patches.cs
@@ -1,458 +1,458 @@
-using System;
-using System.Collections.Generic;
-using Eremite.Buildings;
-using Eremite.Model;
-using Eremite.Model.Meta;
-using Eremite.Services;
-using HarmonyLib;
-
-// Patch maxSupPoints in PlatoonSupplyModule
-// Patch Operational Authority point gain
-
-namespace AgainstTheStorm {
- [HarmonyPatch]
- public class Patches {
- static Dictionary baseValues = new Dictionary();
-
- [HarmonyPrefix]
- [HarmonyPatch(typeof(BonusEmbarkRangeMetaRewardModel), "OnConsume")]
- static void Test(BonusEmbarkRangeMetaRewardModel __instance) {
- DoPatch(__instance);
- }
-
- [HarmonyPrefix]
- [HarmonyPatch(typeof(BonusFarmAreaMetaRewardModel), "OnConsume")]
- static void Test(BonusFarmAreaMetaRewardModel __instance) {
- DoPatch(__instance);
- }
-
- [HarmonyPrefix]
- [HarmonyPatch(typeof(ConstructionSpeedMetaRewardModel), "OnConsume")]
- static void Test(ConstructionSpeedMetaRewardModel __instance) {
- DoPatch(__instance);
- }
-
- [HarmonyPrefix]
- [HarmonyPatch(typeof(CornerstonesRerollsMetaRewardModel), "OnConsume")]
- static void Test(CornerstonesRerollsMetaRewardModel __instance) {
- DoPatch(__instance);
- }
-
- [HarmonyPrefix]
- [HarmonyPatch(typeof(CurrencyMultiplayerMetaRewardModel), "OnConsume")]
- static void Test(CurrencyMultiplayerMetaRewardModel __instance) {
- DoPatch(__instance);
- }
-
- [HarmonyPrefix]
- [HarmonyPatch(typeof(EmbarkGoodsAmountMetaRewardModel), "OnConsume")]
- static void Test(EmbarkGoodsAmountMetaRewardModel __instance) {
- DoPatch(__instance);
- }
-
- [HarmonyPrefix]
- [HarmonyPatch(typeof(FarmingRateMetaRewardModel), "OnConsume")]
- static void Test(FarmingRateMetaRewardModel __instance) {
- DoPatch(__instance);
- }
-
- [HarmonyPrefix]
- [HarmonyPatch(typeof(FuelRateMetaRewardModel), "OnConsume")]
- static void Test(FuelRateMetaRewardModel __instance) {
- DoPatch(__instance);
- }
-
- [HarmonyPrefix]
- [HarmonyPatch(typeof(GlobalBuildingStorageMetaRewardModel), "OnConsume")]
- static void Test(GlobalBuildingStorageMetaRewardModel __instance) {
- DoPatch(__instance);
- }
-
- [HarmonyPrefix]
- [HarmonyPatch(typeof(GlobalCapacityMetaRewardModel), "OnConsume")]
- static void Test(GlobalCapacityMetaRewardModel __instance) {
- DoPatch(__instance);
- }
-
- [HarmonyPrefix]
- [HarmonyPatch(typeof(GlobalExtraProductionChanceMetaRewardModel), "OnConsume")]
- static void Test(GlobalExtraProductionChanceMetaRewardModel __instance) {
- DoPatch(__instance);
- }
-
- [HarmonyPrefix]
- [HarmonyPatch(typeof(GlobalProductionSpeedMetaRewardModel), "OnConsume")]
- static void Test(GlobalProductionSpeedMetaRewardModel __instance) {
- DoPatch(__instance);
- }
-
- [HarmonyPrefix]
- [HarmonyPatch(typeof(GracePeriodMetaRewardModel), "OnConsume")]
- static void Test(GracePeriodMetaRewardModel __instance) {
- DoPatch(__instance);
- }
-
- [HarmonyPrefix]
- [HarmonyPatch(typeof(GrassAmountMetaRewardModel), "OnConsume")]
- static void Test(GrassAmountMetaRewardModel __instance) {
- DoPatch(__instance);
- }
-
- [HarmonyPrefix]
- [HarmonyPatch(typeof(HearthSacraficeTimeRateMetaRewardModel), "OnConsume")]
- static void Test(HearthSacraficeTimeRateMetaRewardModel __instance) {
- DoPatch(__instance);
- }
-
- [HarmonyPrefix]
- [HarmonyPatch(typeof(NewcommersGoodsRateMetaRewardModel), "OnConsume")]
- static void Test(NewcommersGoodsRateMetaRewardModel __instance) {
- DoPatch(__instance);
- }
-
- [HarmonyPrefix]
- [HarmonyPatch(typeof(PreparationPointsMetaRewardModel), "OnConsume")]
- static void Test(PreparationPointsMetaRewardModel __instance) {
- DoPatch(__instance);
- }
-
- [HarmonyPrefix]
- [HarmonyPatch(typeof(RawDepositsChargesMetaRewardModel), "OnConsume")]
- static void Test(RawDepositsChargesMetaRewardModel __instance) {
- DoPatch(__instance);
- }
-
- [HarmonyPrefix]
- [HarmonyPatch(typeof(RelicsWorkingSpeedMetaRewardModel), "OnConsume")]
- static void Test(RelicsWorkingSpeedMetaRewardModel __instance) {
- DoPatch(__instance);
- }
-
- [HarmonyPrefix]
- [HarmonyPatch(typeof(ReputationPenaltyRateMetaRewardModel), "OnConsume")]
- static void Test(ReputationPenaltyRateMetaRewardModel __instance) {
- DoPatch(__instance);
- }
-
- [HarmonyPrefix]
- [HarmonyPatch(typeof(ReputationRewardPicksMetaRewardModel), "OnConsume")]
- static void Test(ReputationRewardPicksMetaRewardModel __instance) {
- DoPatch(__instance);
- }
-
- [HarmonyPrefix]
- [HarmonyPatch(typeof(SeasonRewardsAmountMetaRewardModel), "OnConsume")]
- static void Test(SeasonRewardsAmountMetaRewardModel __instance) {
- DoPatch(__instance);
- }
-
- [HarmonyPrefix]
- [HarmonyPatch(typeof(TownsVisionRangeMetaRewardModel), "OnConsume")]
- static void Test(TownsVisionRangeMetaRewardModel __instance) {
- DoPatch(__instance);
- }
-
- [HarmonyPrefix]
- [HarmonyPatch(typeof(TraderIntervalMetaRewardModel), "OnConsume")]
- static void Test(TraderIntervalMetaRewardModel __instance) {
- DoPatch(__instance);
- }
-
- [HarmonyPrefix]
- [HarmonyPatch(typeof(TraderMerchAmountMetaRewardModel), "OnConsume")]
- static void Test(TraderMerchAmountMetaRewardModel __instance) {
- DoPatch(__instance);
- }
-
- [HarmonyPrefix]
- [HarmonyPatch(typeof(TraderMerchandisePriceReductionMetaRewardModel), "OnConsume")]
- static void Test(TraderMerchandisePriceReductionMetaRewardModel __instance) {
- DoPatch(__instance);
- }
-
- [HarmonyPrefix]
- [HarmonyPatch(typeof(TradeRoutesLimitMetaReward), "OnConsume")]
- static void Test(TradeRoutesLimitMetaReward __instance) {
- DoPatch(__instance);
- }
-
- [HarmonyPrefix]
- [HarmonyPatch(typeof(TraderSellPriceMetaRewardModel), "OnConsume")]
- static void Test(TraderSellPriceMetaRewardModel __instance) {
- DoPatch(__instance);
- }
-
- [HarmonyPrefix]
- [HarmonyPatch(typeof(VillagersSpeedMetaRewardModel), "OnConsume")]
- static void Test(VillagersSpeedMetaRewardModel __instance) {
- DoPatch(__instance);
- }
-
- [HarmonyPostfix]
- [HarmonyPatch(typeof(ProductionCalculator), nameof(ProductionCalculator.GetProductionMultiplier))]
- static void PatchProductionCalculator(ref int __result) {
- // Console.WriteLine("ProdMulti {0}", __result);
- __result *= Main.ProductionMultiplier.Value;
- }
-
- // There seems to be a lot of good shit in effetsService!!
- [HarmonyPostfix]
- [HarmonyPatch(typeof(EffectsService), nameof(EffectsService.GetRawDepositsChargesBonus))]
- static void PatchEffectsService(ref int __result) {
- __result *= Main.DepositChargesMultiplier.Value;
- }
-
- [HarmonyPostfix]
- [HarmonyPatch(typeof(EffectsService), nameof(EffectsService.GetActorSpeed))]
- static void PatchEffectsService2(ref float __result) {
- __result *= Main.VillagerSpeedMultiplier.Value;
- }
-
- [HarmonyPostfix]
- [HarmonyPatch(typeof(EffectsService), nameof(EffectsService.GetBuildingProductionRate))]
- static void PatchEffectsService3(ref float __result) {
- __result *= Main.ProductionSpeedMultiplier.Value;
- }
-
- [HarmonyPostfix]
- [HarmonyPatch(typeof(EffectsService), nameof(EffectsService.GetNewcomersIntervalRate))]
- static void PatchEffectsService4(ref float __result) {
- __result *= Main.NewcomverRateMultiplier.Value;
- }
-
- [HarmonyPostfix]
- [HarmonyPatch(typeof(EffectsService), nameof(EffectsService.GetVillagerCapacity))]
- static void PatchEffectsService5(ref int __result) {
- __result *= Main.VillagerCapacityMultiplier.Value;
- }
-
- [HarmonyPostfix]
- [HarmonyPatch(typeof(EffectsService), nameof(EffectsService.GetTraderIntervalRate))]
- static void PatchEffectsService6(ref float __result) {
- __result *= Main.TraderRateMultiplier.Value;
- }
-
- [HarmonyPostfix]
- [HarmonyPatch(typeof(EffectsService), nameof(EffectsService.GetTraderMerchsAmount))]
- static void PatchEffectsService7(ref int __result) {
- __result *= Main.TraderMerchMultiplier.Value;
- }
-
- [HarmonyPostfix]
- [HarmonyPatch(typeof(EffectsService), nameof(EffectsService.GetHearthRange))]
- static void PatchEffectsService8(ref float __result) {
- __result *= Main.HearthRangeMultiplier.Value;
- }
-
- [HarmonyPostfix]
- [HarmonyPatch(typeof(EffectsService), nameof(EffectsService.GetHouseCapacity), typeof(HouseModel))]
- static void PatchEffectsService9(ref int __result) {
- __result = (int)(Main.HouseCapacityMultiplier.Value * __result);
- }
-
- [HarmonyPostfix]
- [HarmonyPatch(typeof(EffectsService), nameof(EffectsService.GetHouseCapacity), typeof(House))]
- static void PatchEffectsService9_2(ref int __result) {
- __result = (int)(Main.HouseCapacityMultiplier.Value * __result);
- }
-
- [HarmonyPostfix]
- [HarmonyPatch(typeof(EffectsService), nameof(EffectsService.GetNewcomersBonus))]
- static void PatchEffectsService10(ref int __result) {
- __result = (int)(Main.NewcomerBonusMultiplier.Value * __result);
- }
-
- [HarmonyPostfix]
- [HarmonyPatch(typeof(EffectsService), nameof(EffectsService.GetNewcomersRaceBonus))]
- static void PatchEffectsService11(ref int __result) {
- __result += Main.AdditionalNewcomerBonus.Value;
- }
-
- [HarmonyPostfix]
- [HarmonyPatch(typeof(EffectsService), nameof(EffectsService.GetTradeRoutesSpeed))]
- static void PatchEffectsService12(ref float __result) {
- __result += Main.TradeRouteSpeedMultiplier.Value;
- }
-
- [HarmonyPrefix]
- [HarmonyPatch(typeof(TimeScaleService), "SetScale")]
- static void PatchGameSpeeds(ref float scale) {
- scale *= Main.GameSpeedMultiplier.Value;
- }
-
- [HarmonyPrefix]
- [HarmonyPatch(typeof(MetaEconomyService), nameof(MetaEconomyService.Add))]
- static void PatchMetaCurrencyGain(ref MetaCurrency currency) {
- currency.amount = (int)(currency.amount * Main.MetaCurrencyMultiplier.Value);
- }
-
- static void DoPatch(BasePercentageMetaReward model) {
- string upgName = model.displayName.ToString();
- if (!baseValues.ContainsKey(upgName)) {
- Console.WriteLine("Base value does not exist yet for {0} (class: {1}), adding", upgName,
- model.GetType().Name);
- baseValues.Add(upgName, model.amount);
- }
-
- if (Math.Abs(baseValues[upgName] - model.amount) < 0.01f) {
- float newValue = baseValues[upgName] * 64;
- Console.WriteLine("Base value is different for {0}, updating from {1} to {2}", upgName,
- baseValues[upgName],
- newValue);
- baseValues[upgName] = newValue;
- }
- else {
- Console.WriteLine("Base value is the same for {0}, skipping {1}", upgName, baseValues[upgName]);
- }
- }
-
- static void DoPatch(BaseFlatMetaReward model) {
- string upgName = model.displayName.ToString();
- if (!baseValues.ContainsKey(upgName)) {
- Console.WriteLine("Base value does not exist yet for {0} (class: {1}), adding", upgName,
- model.GetType().Name);
- baseValues.Add(upgName, model.amount);
- }
-
- if (Math.Abs(baseValues[upgName] - model.amount) < 0.01f) {
- float newValue = baseValues[upgName] * 64;
- Console.WriteLine("Base value is different for {0}, updating from {1} to {2}", upgName,
- baseValues[upgName],
- newValue);
- baseValues[upgName] = newValue;
- }
- else {
- Console.WriteLine("Base value is the same for {0}, skipping {1}", upgName, baseValues[upgName]);
- }
- }
-
- // [HarmonyPrefix]
- // [HarmonyPatch(typeof(TacAidPointsController), "AddTP")]
- // static void TpMultiplier(ref float val) {
- // if (val == 0) {
- // return;
- // }
- //
- // float multiplier = Main.TPMultiplier.Value;
- // // Console.WriteLine("Multiplying TP {0} by {1}", val, multiplier);
- // val *= multiplier;
- // }
- //
- // [HarmonyPrefix]
- // [HarmonyPatch(typeof(MapZoneFactory), "MakeRefitZone")]
- // static void SupplyAoeMultiplier(ref eSides side, ref Vector3 position, ref float size) {
- // float multiplier = Main.SupplyAOEMultiplier.Value;
- // Console.WriteLine("Multiplying supply aoe {0} by {1}", size, multiplier);
- // size *= multiplier;
- // }
- //
- // [HarmonyPrefix]
- // [HarmonyPatch(typeof(PlatoonHQVisuals), "Start")]
- // static void HqAoeMultiplier(PlatoonHQVisuals __instance) {
- // Console.WriteLine("Patching HQ radius - base range {0}", baseHqValue);
- // if (baseHqValue == 0) {
- // baseHqValue = __instance.platoon.parameters.HQRadius;
- // Console.WriteLine("Base range is 0, assigning new: {0}", baseHqValue);
- // }
- //
- // __instance.platoon.parameters.HQRadius = baseHqValue * Main.HQAOEMultiplier.Value;
- // Console.WriteLine("HQ radius patched to: {0}", __instance.platoon.parameters.HQRadius);
- // }
- //
- // [HarmonyPrefix]
- // [HarmonyPatch(typeof(PlatoonSupplyModule), "Start")]
- // static void SupplyAoeMultiplier(PlatoonSupplyModule __instance) {
- // Console.WriteLine("Patching supply amount - base amount {0}", baseSupplyValue);
- // if (baseSupplyValue == 0) {
- // baseSupplyValue = __instance.platoon.parameters.supplyPointsPerUnit;
- // Console.WriteLine("Base amount is 0, assigning new: {0}", baseSupplyValue);
- // }
- //
- // __instance.platoon.parameters.supplyPointsPerUnit =
- // (int)(baseSupplyValue * Main.SupplyAmountMultiplier.Value);
- // Console.WriteLine("Supply amount patched to: {0}", __instance.platoon.parameters.supplyPointsPerUnit);
- // }
- //
- // [HarmonyPostfix]
- // [HarmonyPatch(typeof(WeaponAttackBase), "GetReloadInterval")]
- // static void FireRateMultiplier(ref float __result) {
- // Console.WriteLine("Patching fire rate");
- //
- // __result *= Main.FireRateMultiplier.Value;
- // Console.WriteLine("Fire rate patched to: {0}", __result);
- // }
- //
- // [HarmonyPostfix]
- // [HarmonyPatch(typeof(WeaponAttackBase), "GetAimInterval")]
- // static void AimingIntervalMultiplier(ref float __result) {
- // Console.WriteLine("Patching aim interval - base amount {0}", baseSupplyValue);
- //
- // __result *= Main.AimIntervalMultiplier.Value;
- // Console.WriteLine("Aim interval patched to: {0}", __result);
- // }
- //
- // [HarmonyPrefix]
- // [HarmonyPatch(typeof(TimerManager), "GetPersistentTimer")]
- // static void Transpiler(ref float interval, ref string hint) {
- // if (hint == "burst") {
- // Console.WriteLine("Patching burst interval from: {0}", interval);
- // interval *= Main.FireRateMultiplier.Value;
- // Console.WriteLine("Burst interval patched to: {0}", interval);
- // }
- // }
- //
- // [HarmonyPostfix]
- // [HarmonyPatch(typeof(RefitZone), "OnRefitStep")]
- // static void SupplyRateMultiplier(ref float hpVal, ref float ammoVal) {
- // Console.WriteLine("Patching refit step from: {0} {1}", hpVal, ammoVal);
- // hpVal *= Main.SupplyRateMultiplier.Value;
- // ammoVal *= Main.SupplyRateMultiplier.Value;
- // Console.WriteLine("Patching refit step to: {0} {1}", hpVal, ammoVal);
- // }
- //
- // // [HarmonyPatch(typeof(AdvancedRulesData), "Validate")]
- // // static IEnumerable Transpiler(IEnumerable instructions) {
- // // var codes = new List(instructions);
- // //
- // // foreach (var code in codes) {
- // // if (code.opcode == OpCodes.Ldc_R4) {
- // // Console.WriteLine("Changing " + code);
- // // code.operand = (float)code.operand * 2;
- // // Console.WriteLine("Changed " + code);
- // // }
- // // }
- // //
- // // return codes.AsEnumerable();
- // // }
- //
- // // [HarmonyPatch(typeof(AdvancedRulesData), "IsWithinLimits")]
- // // static IEnumerable Transpiler2(IEnumerable instructions) {
- // // var codes = new List(instructions);
- // //
- // // foreach (var code in codes) {
- // // if (code.opcode == OpCodes.Ldc_R4) {
- // // Console.WriteLine("Changing " + code);
- // // code.operand = (float)code.operand * 2;
- // // Console.WriteLine("Changed " + code);
- // // }
- // // }
- // //
- // // return codes.AsEnumerable();
- // // }
- //
- // // private static float baseAccuracy;
- // //
- // // [HarmonyPostfix]
- // // [HarmonyPatch(typeof(SkirmishAdvancedRules), "Update")]
- // // static void AccuracyPatch(SkirmishAdvancedRules __instance) {
- // // var accMod = Traverse.Create(__instance).Field("currentARD").Field("accuracyModifier");
- // // if (baseAccuracy == 0) {
- // // baseAccuracy = (float)accMod.GetValue();
- // // Console.WriteLine("Base accuracy set to {0}", baseAccuracy);
- // // }
- // //
- // // accMod.SetValue(baseAccuracy * 4f);
- // // Console.WriteLine("Accuracy now: {0}", accMod.GetValue());
- // // }
- }
-}
+using System;
+using System.Collections.Generic;
+using Eremite.Buildings;
+using Eremite.Model;
+using Eremite.Model.Meta;
+using Eremite.Services;
+using HarmonyLib;
+
+// Patch maxSupPoints in PlatoonSupplyModule
+// Patch Operational Authority point gain
+
+namespace AgainstTheStorm {
+ [HarmonyPatch]
+ public class Patches {
+ static Dictionary baseValues = new Dictionary();
+
+ [HarmonyPrefix]
+ [HarmonyPatch(typeof(BonusEmbarkRangeMetaRewardModel), "OnConsume")]
+ static void Test(BonusEmbarkRangeMetaRewardModel __instance) {
+ DoPatch(__instance);
+ }
+
+ [HarmonyPrefix]
+ [HarmonyPatch(typeof(BonusFarmAreaMetaRewardModel), "OnConsume")]
+ static void Test(BonusFarmAreaMetaRewardModel __instance) {
+ DoPatch(__instance);
+ }
+
+ [HarmonyPrefix]
+ [HarmonyPatch(typeof(ConstructionSpeedMetaRewardModel), "OnConsume")]
+ static void Test(ConstructionSpeedMetaRewardModel __instance) {
+ DoPatch(__instance);
+ }
+
+ [HarmonyPrefix]
+ [HarmonyPatch(typeof(CornerstonesRerollsMetaRewardModel), "OnConsume")]
+ static void Test(CornerstonesRerollsMetaRewardModel __instance) {
+ DoPatch(__instance);
+ }
+
+ [HarmonyPrefix]
+ [HarmonyPatch(typeof(CurrencyMultiplayerMetaRewardModel), "OnConsume")]
+ static void Test(CurrencyMultiplayerMetaRewardModel __instance) {
+ DoPatch(__instance);
+ }
+
+ [HarmonyPrefix]
+ [HarmonyPatch(typeof(EmbarkGoodsAmountMetaRewardModel), "OnConsume")]
+ static void Test(EmbarkGoodsAmountMetaRewardModel __instance) {
+ DoPatch(__instance);
+ }
+
+ [HarmonyPrefix]
+ [HarmonyPatch(typeof(FarmingRateMetaRewardModel), "OnConsume")]
+ static void Test(FarmingRateMetaRewardModel __instance) {
+ DoPatch(__instance);
+ }
+
+ [HarmonyPrefix]
+ [HarmonyPatch(typeof(FuelRateMetaRewardModel), "OnConsume")]
+ static void Test(FuelRateMetaRewardModel __instance) {
+ DoPatch(__instance);
+ }
+
+ [HarmonyPrefix]
+ [HarmonyPatch(typeof(GlobalBuildingStorageMetaRewardModel), "OnConsume")]
+ static void Test(GlobalBuildingStorageMetaRewardModel __instance) {
+ DoPatch(__instance);
+ }
+
+ [HarmonyPrefix]
+ [HarmonyPatch(typeof(GlobalCapacityMetaRewardModel), "OnConsume")]
+ static void Test(GlobalCapacityMetaRewardModel __instance) {
+ DoPatch(__instance);
+ }
+
+ [HarmonyPrefix]
+ [HarmonyPatch(typeof(GlobalExtraProductionChanceMetaRewardModel), "OnConsume")]
+ static void Test(GlobalExtraProductionChanceMetaRewardModel __instance) {
+ DoPatch(__instance);
+ }
+
+ [HarmonyPrefix]
+ [HarmonyPatch(typeof(GlobalProductionSpeedMetaRewardModel), "OnConsume")]
+ static void Test(GlobalProductionSpeedMetaRewardModel __instance) {
+ DoPatch(__instance);
+ }
+
+ [HarmonyPrefix]
+ [HarmonyPatch(typeof(GracePeriodMetaRewardModel), "OnConsume")]
+ static void Test(GracePeriodMetaRewardModel __instance) {
+ DoPatch(__instance);
+ }
+
+ [HarmonyPrefix]
+ [HarmonyPatch(typeof(GrassAmountMetaRewardModel), "OnConsume")]
+ static void Test(GrassAmountMetaRewardModel __instance) {
+ DoPatch(__instance);
+ }
+
+ [HarmonyPrefix]
+ [HarmonyPatch(typeof(HearthSacraficeTimeRateMetaRewardModel), "OnConsume")]
+ static void Test(HearthSacraficeTimeRateMetaRewardModel __instance) {
+ DoPatch(__instance);
+ }
+
+ [HarmonyPrefix]
+ [HarmonyPatch(typeof(NewcommersGoodsRateMetaRewardModel), "OnConsume")]
+ static void Test(NewcommersGoodsRateMetaRewardModel __instance) {
+ DoPatch(__instance);
+ }
+
+ // [HarmonyPrefix]
+ // [HarmonyPatch(typeof(PreparationPointsMetaRewardModel), "OnConsume")]
+ // static void Test(PreparationPointsMetaRewardModel __instance) {
+ // DoPatch(__instance);
+ // }
+
+ [HarmonyPrefix]
+ [HarmonyPatch(typeof(RawDepositsChargesMetaRewardModel), "OnConsume")]
+ static void Test(RawDepositsChargesMetaRewardModel __instance) {
+ DoPatch(__instance);
+ }
+
+ [HarmonyPrefix]
+ [HarmonyPatch(typeof(RelicsWorkingSpeedMetaRewardModel), "OnConsume")]
+ static void Test(RelicsWorkingSpeedMetaRewardModel __instance) {
+ DoPatch(__instance);
+ }
+
+ [HarmonyPrefix]
+ [HarmonyPatch(typeof(ReputationPenaltyRateMetaRewardModel), "OnConsume")]
+ static void Test(ReputationPenaltyRateMetaRewardModel __instance) {
+ DoPatch(__instance);
+ }
+
+ [HarmonyPrefix]
+ [HarmonyPatch(typeof(ReputationRewardPicksMetaRewardModel), "OnConsume")]
+ static void Test(ReputationRewardPicksMetaRewardModel __instance) {
+ DoPatch(__instance);
+ }
+
+ [HarmonyPrefix]
+ [HarmonyPatch(typeof(SeasonRewardsAmountMetaRewardModel), "OnConsume")]
+ static void Test(SeasonRewardsAmountMetaRewardModel __instance) {
+ DoPatch(__instance);
+ }
+
+ [HarmonyPrefix]
+ [HarmonyPatch(typeof(TownsVisionRangeMetaRewardModel), "OnConsume")]
+ static void Test(TownsVisionRangeMetaRewardModel __instance) {
+ DoPatch(__instance);
+ }
+
+ [HarmonyPrefix]
+ [HarmonyPatch(typeof(TraderIntervalMetaRewardModel), "OnConsume")]
+ static void Test(TraderIntervalMetaRewardModel __instance) {
+ DoPatch(__instance);
+ }
+
+ [HarmonyPrefix]
+ [HarmonyPatch(typeof(TraderMerchAmountMetaRewardModel), "OnConsume")]
+ static void Test(TraderMerchAmountMetaRewardModel __instance) {
+ DoPatch(__instance);
+ }
+
+ [HarmonyPrefix]
+ [HarmonyPatch(typeof(TraderMerchandisePriceReductionMetaRewardModel), "OnConsume")]
+ static void Test(TraderMerchandisePriceReductionMetaRewardModel __instance) {
+ DoPatch(__instance);
+ }
+
+ [HarmonyPrefix]
+ [HarmonyPatch(typeof(TradeRoutesLimitMetaReward), "OnConsume")]
+ static void Test(TradeRoutesLimitMetaReward __instance) {
+ DoPatch(__instance);
+ }
+
+ [HarmonyPrefix]
+ [HarmonyPatch(typeof(TraderSellPriceMetaRewardModel), "OnConsume")]
+ static void Test(TraderSellPriceMetaRewardModel __instance) {
+ DoPatch(__instance);
+ }
+
+ [HarmonyPrefix]
+ [HarmonyPatch(typeof(VillagersSpeedMetaRewardModel), "OnConsume")]
+ static void Test(VillagersSpeedMetaRewardModel __instance) {
+ DoPatch(__instance);
+ }
+
+ [HarmonyPostfix]
+ [HarmonyPatch(typeof(ProductionCalculator), nameof(ProductionCalculator.GetProductionMultiplier))]
+ static void PatchProductionCalculator(ref int __result) {
+ // Console.WriteLine("ProdMulti {0}", __result);
+ __result *= Main.ProductionMultiplier.Value;
+ }
+
+ // There seems to be a lot of good shit in effetsService!!
+ [HarmonyPostfix]
+ [HarmonyPatch(typeof(EffectsService), nameof(EffectsService.GetRawDepositsChargesBonus))]
+ static void PatchEffectsService(ref int __result) {
+ __result *= Main.DepositChargesMultiplier.Value;
+ }
+
+ [HarmonyPostfix]
+ [HarmonyPatch(typeof(EffectsService), nameof(EffectsService.GetActorSpeed))]
+ static void PatchEffectsService2(ref float __result) {
+ __result *= Main.VillagerSpeedMultiplier.Value;
+ }
+
+ [HarmonyPostfix]
+ [HarmonyPatch(typeof(EffectsService), nameof(EffectsService.GetBuildingProductionRate))]
+ static void PatchEffectsService3(ref float __result) {
+ __result *= Main.ProductionSpeedMultiplier.Value;
+ }
+
+ [HarmonyPostfix]
+ [HarmonyPatch(typeof(EffectsService), nameof(EffectsService.GetNewcomersIntervalRate))]
+ static void PatchEffectsService4(ref float __result) {
+ __result *= Main.NewcomverRateMultiplier.Value;
+ }
+
+ [HarmonyPostfix]
+ [HarmonyPatch(typeof(EffectsService), nameof(EffectsService.GetVillagerCapacity))]
+ static void PatchEffectsService5(ref int __result) {
+ __result *= Main.VillagerCapacityMultiplier.Value;
+ }
+
+ [HarmonyPostfix]
+ [HarmonyPatch(typeof(EffectsService), nameof(EffectsService.GetTraderIntervalRate))]
+ static void PatchEffectsService6(ref float __result) {
+ __result *= Main.TraderRateMultiplier.Value;
+ }
+
+ [HarmonyPostfix]
+ [HarmonyPatch(typeof(EffectsService), nameof(EffectsService.GetTraderMerchsAmount))]
+ static void PatchEffectsService7(ref int __result) {
+ __result *= Main.TraderMerchMultiplier.Value;
+ }
+
+ [HarmonyPostfix]
+ [HarmonyPatch(typeof(EffectsService), nameof(EffectsService.GetHearthRange))]
+ static void PatchEffectsService8(ref float __result) {
+ __result *= Main.HearthRangeMultiplier.Value;
+ }
+
+ [HarmonyPostfix]
+ [HarmonyPatch(typeof(EffectsService), nameof(EffectsService.GetHouseCapacity), typeof(HouseModel))]
+ static void PatchEffectsService9(ref int __result) {
+ __result = (int)(Main.HouseCapacityMultiplier.Value * __result);
+ }
+
+ [HarmonyPostfix]
+ [HarmonyPatch(typeof(EffectsService), nameof(EffectsService.GetHouseCapacity), typeof(House))]
+ static void PatchEffectsService9_2(ref int __result) {
+ __result = (int)(Main.HouseCapacityMultiplier.Value * __result);
+ }
+
+ [HarmonyPostfix]
+ [HarmonyPatch(typeof(EffectsService), nameof(EffectsService.GetNewcomersBonus))]
+ static void PatchEffectsService10(ref int __result) {
+ __result = (int)(Main.NewcomerBonusMultiplier.Value * __result);
+ }
+
+ [HarmonyPostfix]
+ [HarmonyPatch(typeof(EffectsService), nameof(EffectsService.GetNewcomersRaceBonus))]
+ static void PatchEffectsService11(ref int __result) {
+ __result += Main.AdditionalNewcomerBonus.Value;
+ }
+
+ [HarmonyPostfix]
+ [HarmonyPatch(typeof(EffectsService), nameof(EffectsService.GetTradeRoutesSpeed))]
+ static void PatchEffectsService12(ref float __result) {
+ __result += Main.TradeRouteSpeedMultiplier.Value;
+ }
+
+ [HarmonyPrefix]
+ [HarmonyPatch(typeof(TimeScaleService), "SetScale")]
+ static void PatchGameSpeeds(ref float scale) {
+ scale *= Main.GameSpeedMultiplier.Value;
+ }
+
+ [HarmonyPrefix]
+ [HarmonyPatch(typeof(MetaEconomyService), nameof(MetaEconomyService.Add))]
+ static void PatchMetaCurrencyGain(ref MetaCurrency currency) {
+ currency.amount = (int)(currency.amount * Main.MetaCurrencyMultiplier.Value);
+ }
+
+ static void DoPatch(BasePercentageMetaReward model) {
+ string upgName = model.displayName.ToString();
+ if (!baseValues.ContainsKey(upgName)) {
+ Console.WriteLine("Base value does not exist yet for {0} (class: {1}), adding", upgName,
+ model.GetType().Name);
+ baseValues.Add(upgName, model.amount);
+ }
+
+ if (Math.Abs(baseValues[upgName] - model.amount) < 0.01f) {
+ float newValue = baseValues[upgName] * 64;
+ Console.WriteLine("Base value is different for {0}, updating from {1} to {2}", upgName,
+ baseValues[upgName],
+ newValue);
+ baseValues[upgName] = newValue;
+ }
+ else {
+ Console.WriteLine("Base value is the same for {0}, skipping {1}", upgName, baseValues[upgName]);
+ }
+ }
+
+ static void DoPatch(BaseFlatMetaReward model) {
+ string upgName = model.displayName.ToString();
+ if (!baseValues.ContainsKey(upgName)) {
+ Console.WriteLine("Base value does not exist yet for {0} (class: {1}), adding", upgName,
+ model.GetType().Name);
+ baseValues.Add(upgName, model.amount);
+ }
+
+ if (Math.Abs(baseValues[upgName] - model.amount) < 0.01f) {
+ float newValue = baseValues[upgName] * 64;
+ Console.WriteLine("Base value is different for {0}, updating from {1} to {2}", upgName,
+ baseValues[upgName],
+ newValue);
+ baseValues[upgName] = newValue;
+ }
+ else {
+ Console.WriteLine("Base value is the same for {0}, skipping {1}", upgName, baseValues[upgName]);
+ }
+ }
+
+ // [HarmonyPrefix]
+ // [HarmonyPatch(typeof(TacAidPointsController), "AddTP")]
+ // static void TpMultiplier(ref float val) {
+ // if (val == 0) {
+ // return;
+ // }
+ //
+ // float multiplier = Main.TPMultiplier.Value;
+ // // Console.WriteLine("Multiplying TP {0} by {1}", val, multiplier);
+ // val *= multiplier;
+ // }
+ //
+ // [HarmonyPrefix]
+ // [HarmonyPatch(typeof(MapZoneFactory), "MakeRefitZone")]
+ // static void SupplyAoeMultiplier(ref eSides side, ref Vector3 position, ref float size) {
+ // float multiplier = Main.SupplyAOEMultiplier.Value;
+ // Console.WriteLine("Multiplying supply aoe {0} by {1}", size, multiplier);
+ // size *= multiplier;
+ // }
+ //
+ // [HarmonyPrefix]
+ // [HarmonyPatch(typeof(PlatoonHQVisuals), "Start")]
+ // static void HqAoeMultiplier(PlatoonHQVisuals __instance) {
+ // Console.WriteLine("Patching HQ radius - base range {0}", baseHqValue);
+ // if (baseHqValue == 0) {
+ // baseHqValue = __instance.platoon.parameters.HQRadius;
+ // Console.WriteLine("Base range is 0, assigning new: {0}", baseHqValue);
+ // }
+ //
+ // __instance.platoon.parameters.HQRadius = baseHqValue * Main.HQAOEMultiplier.Value;
+ // Console.WriteLine("HQ radius patched to: {0}", __instance.platoon.parameters.HQRadius);
+ // }
+ //
+ // [HarmonyPrefix]
+ // [HarmonyPatch(typeof(PlatoonSupplyModule), "Start")]
+ // static void SupplyAoeMultiplier(PlatoonSupplyModule __instance) {
+ // Console.WriteLine("Patching supply amount - base amount {0}", baseSupplyValue);
+ // if (baseSupplyValue == 0) {
+ // baseSupplyValue = __instance.platoon.parameters.supplyPointsPerUnit;
+ // Console.WriteLine("Base amount is 0, assigning new: {0}", baseSupplyValue);
+ // }
+ //
+ // __instance.platoon.parameters.supplyPointsPerUnit =
+ // (int)(baseSupplyValue * Main.SupplyAmountMultiplier.Value);
+ // Console.WriteLine("Supply amount patched to: {0}", __instance.platoon.parameters.supplyPointsPerUnit);
+ // }
+ //
+ // [HarmonyPostfix]
+ // [HarmonyPatch(typeof(WeaponAttackBase), "GetReloadInterval")]
+ // static void FireRateMultiplier(ref float __result) {
+ // Console.WriteLine("Patching fire rate");
+ //
+ // __result *= Main.FireRateMultiplier.Value;
+ // Console.WriteLine("Fire rate patched to: {0}", __result);
+ // }
+ //
+ // [HarmonyPostfix]
+ // [HarmonyPatch(typeof(WeaponAttackBase), "GetAimInterval")]
+ // static void AimingIntervalMultiplier(ref float __result) {
+ // Console.WriteLine("Patching aim interval - base amount {0}", baseSupplyValue);
+ //
+ // __result *= Main.AimIntervalMultiplier.Value;
+ // Console.WriteLine("Aim interval patched to: {0}", __result);
+ // }
+ //
+ // [HarmonyPrefix]
+ // [HarmonyPatch(typeof(TimerManager), "GetPersistentTimer")]
+ // static void Transpiler(ref float interval, ref string hint) {
+ // if (hint == "burst") {
+ // Console.WriteLine("Patching burst interval from: {0}", interval);
+ // interval *= Main.FireRateMultiplier.Value;
+ // Console.WriteLine("Burst interval patched to: {0}", interval);
+ // }
+ // }
+ //
+ // [HarmonyPostfix]
+ // [HarmonyPatch(typeof(RefitZone), "OnRefitStep")]
+ // static void SupplyRateMultiplier(ref float hpVal, ref float ammoVal) {
+ // Console.WriteLine("Patching refit step from: {0} {1}", hpVal, ammoVal);
+ // hpVal *= Main.SupplyRateMultiplier.Value;
+ // ammoVal *= Main.SupplyRateMultiplier.Value;
+ // Console.WriteLine("Patching refit step to: {0} {1}", hpVal, ammoVal);
+ // }
+ //
+ // // [HarmonyPatch(typeof(AdvancedRulesData), "Validate")]
+ // // static IEnumerable Transpiler(IEnumerable instructions) {
+ // // var codes = new List(instructions);
+ // //
+ // // foreach (var code in codes) {
+ // // if (code.opcode == OpCodes.Ldc_R4) {
+ // // Console.WriteLine("Changing " + code);
+ // // code.operand = (float)code.operand * 2;
+ // // Console.WriteLine("Changed " + code);
+ // // }
+ // // }
+ // //
+ // // return codes.AsEnumerable();
+ // // }
+ //
+ // // [HarmonyPatch(typeof(AdvancedRulesData), "IsWithinLimits")]
+ // // static IEnumerable Transpiler2(IEnumerable instructions) {
+ // // var codes = new List(instructions);
+ // //
+ // // foreach (var code in codes) {
+ // // if (code.opcode == OpCodes.Ldc_R4) {
+ // // Console.WriteLine("Changing " + code);
+ // // code.operand = (float)code.operand * 2;
+ // // Console.WriteLine("Changed " + code);
+ // // }
+ // // }
+ // //
+ // // return codes.AsEnumerable();
+ // // }
+ //
+ // // private static float baseAccuracy;
+ // //
+ // // [HarmonyPostfix]
+ // // [HarmonyPatch(typeof(SkirmishAdvancedRules), "Update")]
+ // // static void AccuracyPatch(SkirmishAdvancedRules __instance) {
+ // // var accMod = Traverse.Create(__instance).Field("currentARD").Field("accuracyModifier");
+ // // if (baseAccuracy == 0) {
+ // // baseAccuracy = (float)accMod.GetValue();
+ // // Console.WriteLine("Base accuracy set to {0}", baseAccuracy);
+ // // }
+ // //
+ // // accMod.SetValue(baseAccuracy * 4f);
+ // // Console.WriteLine("Accuracy now: {0}", accMod.GetValue());
+ // // }
+ }
+}
diff --git a/Projects/AgainstTheStorm/AgainstTheStorm/libs/0Harmony.dll b/Projects/AgainstTheStorm/AgainstTheStorm/libs/0Harmony.dll
new file mode 100644
index 0000000..99daef7
Binary files /dev/null and b/Projects/AgainstTheStorm/AgainstTheStorm/libs/0Harmony.dll differ
diff --git a/Projects/AgainstTheStorm/AgainstTheStorm/libs/Assembly-CSharp.dll b/Projects/AgainstTheStorm/AgainstTheStorm/libs/Assembly-CSharp.dll
new file mode 100644
index 0000000..5a5ab98
Binary files /dev/null and b/Projects/AgainstTheStorm/AgainstTheStorm/libs/Assembly-CSharp.dll differ
diff --git a/Projects/AgainstTheStorm/AgainstTheStorm/libs/BepInEx.dll b/Projects/AgainstTheStorm/AgainstTheStorm/libs/BepInEx.dll
new file mode 100644
index 0000000..2cb66f8
Binary files /dev/null and b/Projects/AgainstTheStorm/AgainstTheStorm/libs/BepInEx.dll differ
diff --git a/Projects/AgainstTheStorm/AgainstTheStorm/libs/ConfigurationManager.dll b/Projects/AgainstTheStorm/AgainstTheStorm/libs/ConfigurationManager.dll
new file mode 100644
index 0000000..9f55bad
Binary files /dev/null and b/Projects/AgainstTheStorm/AgainstTheStorm/libs/ConfigurationManager.dll differ
diff --git a/Projects/AgainstTheStorm/AgainstTheStorm/libs/Sirenix.Serialization.dll b/Projects/AgainstTheStorm/AgainstTheStorm/libs/Sirenix.Serialization.dll
new file mode 100644
index 0000000..9d7b6f5
Binary files /dev/null and b/Projects/AgainstTheStorm/AgainstTheStorm/libs/Sirenix.Serialization.dll differ
diff --git a/Projects/AgainstTheStorm/AgainstTheStorm/libs/UnityEngine.CoreModule.dll b/Projects/AgainstTheStorm/AgainstTheStorm/libs/UnityEngine.CoreModule.dll
new file mode 100644
index 0000000..22b4309
Binary files /dev/null and b/Projects/AgainstTheStorm/AgainstTheStorm/libs/UnityEngine.CoreModule.dll differ
diff --git a/Projects/AgainstTheStorm/AgainstTheStorm/libs/UnityEngine.dll b/Projects/AgainstTheStorm/AgainstTheStorm/libs/UnityEngine.dll
new file mode 100644
index 0000000..ec505d8
Binary files /dev/null and b/Projects/AgainstTheStorm/AgainstTheStorm/libs/UnityEngine.dll differ
diff --git a/Projects/AgainstTheStorm/AgainstTheStorm/libs/copyLibs.sh b/Projects/AgainstTheStorm/AgainstTheStorm/libs/copyLibs.sh
index e828291..3c58797 100644
--- a/Projects/AgainstTheStorm/AgainstTheStorm/libs/copyLibs.sh
+++ b/Projects/AgainstTheStorm/AgainstTheStorm/libs/copyLibs.sh
@@ -1 +1 @@
-for lib in $(cat libs.txt); do find 'C:\Games\Against.the.Storm.v1.0.2r' -name "$lib" | sed 's|\\|/|g' | xargs -I% -- cp '%' .; done
+for lib in $(cat libs.txt); do find $1 -name "$lib" | sed 's|\\|/|g' | xargs -I% -- cp '%' .; done
diff --git a/Projects/AgainstTheStorm/AgainstTheStorm/obj/Debug/.NETFramework,Version=v4.8.1.AssemblyAttributes.cs b/Projects/AgainstTheStorm/AgainstTheStorm/obj/Debug/.NETFramework,Version=v4.8.1.AssemblyAttributes.cs
index 0af6d86..0851892 100644
--- a/Projects/AgainstTheStorm/AgainstTheStorm/obj/Debug/.NETFramework,Version=v4.8.1.AssemblyAttributes.cs
+++ b/Projects/AgainstTheStorm/AgainstTheStorm/obj/Debug/.NETFramework,Version=v4.8.1.AssemblyAttributes.cs
@@ -1,4 +1,4 @@
-//
-using System;
-using System.Reflection;
-[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.8.1", FrameworkDisplayName = ".NET Framework 4.8.1")]
+//
+using System;
+using System.Reflection;
+[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.8.1", FrameworkDisplayName = ".NET Framework 4.8.1")]
diff --git a/Projects/AgainstTheStorm/AgainstTheStorm/obj/Debug/AgainstTheStorm.csproj.AssemblyReference.cache b/Projects/AgainstTheStorm/AgainstTheStorm/obj/Debug/AgainstTheStorm.csproj.AssemblyReference.cache
index d9736af..540faca 100644
Binary files a/Projects/AgainstTheStorm/AgainstTheStorm/obj/Debug/AgainstTheStorm.csproj.AssemblyReference.cache and b/Projects/AgainstTheStorm/AgainstTheStorm/obj/Debug/AgainstTheStorm.csproj.AssemblyReference.cache differ
diff --git a/Projects/AgainstTheStorm/AgainstTheStorm/obj/Release/.NETFramework,Version=v4.8.1.AssemblyAttributes.cs b/Projects/AgainstTheStorm/AgainstTheStorm/obj/Release/.NETFramework,Version=v4.8.1.AssemblyAttributes.cs
index 0af6d86..0851892 100644
--- a/Projects/AgainstTheStorm/AgainstTheStorm/obj/Release/.NETFramework,Version=v4.8.1.AssemblyAttributes.cs
+++ b/Projects/AgainstTheStorm/AgainstTheStorm/obj/Release/.NETFramework,Version=v4.8.1.AssemblyAttributes.cs
@@ -1,4 +1,4 @@
-//
-using System;
-using System.Reflection;
-[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.8.1", FrameworkDisplayName = ".NET Framework 4.8.1")]
+//
+using System;
+using System.Reflection;
+[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.8.1", FrameworkDisplayName = ".NET Framework 4.8.1")]
diff --git a/Projects/AgainstTheStorm/AgainstTheStorm/obj/Release/AgainstTheStorm.csproj.AssemblyReference.cache b/Projects/AgainstTheStorm/AgainstTheStorm/obj/Release/AgainstTheStorm.csproj.AssemblyReference.cache
index 209083b..dc2defb 100644
Binary files a/Projects/AgainstTheStorm/AgainstTheStorm/obj/Release/AgainstTheStorm.csproj.AssemblyReference.cache and b/Projects/AgainstTheStorm/AgainstTheStorm/obj/Release/AgainstTheStorm.csproj.AssemblyReference.cache differ
diff --git a/Projects/AgainstTheStorm/AgainstTheStorm/obj/Release/AgainstTheStorm.csproj.CoreCompileInputs.cache b/Projects/AgainstTheStorm/AgainstTheStorm/obj/Release/AgainstTheStorm.csproj.CoreCompileInputs.cache
index a970dfe..713a6d6 100644
--- a/Projects/AgainstTheStorm/AgainstTheStorm/obj/Release/AgainstTheStorm.csproj.CoreCompileInputs.cache
+++ b/Projects/AgainstTheStorm/AgainstTheStorm/obj/Release/AgainstTheStorm.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
-ef6aa2e7dd51f8c26904ab7a46caec336a18dcec6a799e1d69986db92f6c2b64
+4baf00dfc139a92b75b2a9b95a0819a23a33a039ecbb07edab3f692cd134a7da
diff --git a/Projects/AgainstTheStorm/AgainstTheStorm/obj/Release/AgainstTheStorm.csproj.FileListAbsolute.txt b/Projects/AgainstTheStorm/AgainstTheStorm/obj/Release/AgainstTheStorm.csproj.FileListAbsolute.txt
index c8dd06d..c4040d8 100644
--- a/Projects/AgainstTheStorm/AgainstTheStorm/obj/Release/AgainstTheStorm.csproj.FileListAbsolute.txt
+++ b/Projects/AgainstTheStorm/AgainstTheStorm/obj/Release/AgainstTheStorm.csproj.FileListAbsolute.txt
@@ -1,14 +1,28 @@
-C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\bin\Release\AgainstTheStorm.dll
-C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\bin\Release\AgainstTheStorm.pdb
-C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\bin\Release\0Harmony.dll
-C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\bin\Release\Assembly-CSharp.dll
-C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\bin\Release\BepInEx.dll
-C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\bin\Release\ConfigurationManager.dll
-C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\bin\Release\Sirenix.Serialization.dll
-C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\bin\Release\UnityEngine.CoreModule.dll
-C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\bin\Release\UnityEngine.dll
-C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\obj\Release\AgainstTheStorm.csproj.AssemblyReference.cache
-C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\obj\Release\AgainstTheStorm.csproj.CoreCompileInputs.cache
-C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\obj\Release\AgainstTheStorm.csproj.CopyComplete
-C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\obj\Release\AgainstTheStorm.dll
-C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\obj\Release\AgainstTheStorm.pdb
+C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\bin\Release\AgainstTheStorm.dll
+C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\bin\Release\AgainstTheStorm.pdb
+C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\bin\Release\0Harmony.dll
+C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\bin\Release\Assembly-CSharp.dll
+C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\bin\Release\BepInEx.dll
+C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\bin\Release\ConfigurationManager.dll
+C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\bin\Release\Sirenix.Serialization.dll
+C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\bin\Release\UnityEngine.CoreModule.dll
+C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\bin\Release\UnityEngine.dll
+C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\obj\Release\AgainstTheStorm.csproj.AssemblyReference.cache
+C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\obj\Release\AgainstTheStorm.csproj.CoreCompileInputs.cache
+C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\obj\Release\AgainstTheStorm.csproj.CopyComplete
+C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\obj\Release\AgainstTheStorm.dll
+C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\obj\Release\AgainstTheStorm.pdb
+C:\Users\Administrator\Seafile\Projects-Rider\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\bin\Release\AgainstTheStorm.dll
+C:\Users\Administrator\Seafile\Projects-Rider\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\bin\Release\AgainstTheStorm.pdb
+C:\Users\Administrator\Seafile\Projects-Rider\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\bin\Release\0Harmony.dll
+C:\Users\Administrator\Seafile\Projects-Rider\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\bin\Release\Assembly-CSharp.dll
+C:\Users\Administrator\Seafile\Projects-Rider\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\bin\Release\BepInEx.dll
+C:\Users\Administrator\Seafile\Projects-Rider\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\bin\Release\ConfigurationManager.dll
+C:\Users\Administrator\Seafile\Projects-Rider\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\bin\Release\Sirenix.Serialization.dll
+C:\Users\Administrator\Seafile\Projects-Rider\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\bin\Release\UnityEngine.CoreModule.dll
+C:\Users\Administrator\Seafile\Projects-Rider\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\bin\Release\UnityEngine.dll
+C:\Users\Administrator\Seafile\Projects-Rider\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\obj\Release\AgainstTheStorm.csproj.AssemblyReference.cache
+C:\Users\Administrator\Seafile\Projects-Rider\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\obj\Release\AgainstTheStorm.csproj.CoreCompileInputs.cache
+C:\Users\Administrator\Seafile\Projects-Rider\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\obj\Release\AgainstTheStorm.csproj.CopyComplete
+C:\Users\Administrator\Seafile\Projects-Rider\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\obj\Release\AgainstTheStorm.dll
+C:\Users\Administrator\Seafile\Projects-Rider\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\obj\Release\AgainstTheStorm.pdb