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