From 0514ffe337fefc51c1c7d439383eda01f75f1999 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Majdand=C5=BEi=C4=87?= Date: Mon, 10 Apr 2023 18:33:55 +0200 Subject: [PATCH] Implement beam patcher --- Projects/TerraTech/TerraTech/Class1.cs | 140 ++++++++++++++---- .../TerraTech/bin/Debug/TerraTech.dll | Bin 12800 -> 14336 bytes .../TerraTech/bin/Debug/TerraTech.pdb | Bin 28160 -> 32256 bytes .../TerraTech/obj/Debug/TerraTech.dll | Bin 12800 -> 14336 bytes .../TerraTech/obj/Debug/TerraTech.pdb | Bin 28160 -> 32256 bytes 5 files changed, 110 insertions(+), 30 deletions(-) diff --git a/Projects/TerraTech/TerraTech/Class1.cs b/Projects/TerraTech/TerraTech/Class1.cs index 116f030..a92e5c6 100644 --- a/Projects/TerraTech/TerraTech/Class1.cs +++ b/Projects/TerraTech/TerraTech/Class1.cs @@ -19,31 +19,37 @@ namespace TerraTech { private const string pluginName = "CykaMod"; private const string pluginVersion = "1.0.0"; - public static ConfigEntry xpMultiplier; - public static ConfigEntry moneyMultiplier; + public static ConfigEntry xpMultiplier; + public static ConfigEntry moneyMultiplier; public static ConfigEntry energyGenMultiplier; - public static ConfigEntry magnetStrenghtMultiplier; - public static ConfigEntry magnetRadiusMultiplier; - public static ConfigEntry allProjectilesHoming; + public static ConfigEntry heartbeatIntervalMultiplier; public static ConfigEntry shootingSpeedMultiplier; public static ConfigEntry muzzleVelocityMultiplier; - public static ConfigEntry heartbeatIntervalMultiplier; + public static ConfigEntry allProjectilesHoming; + public static ConfigEntry magnetStrenghtMultiplier; + public static ConfigEntry magnetRadiusMultiplier; + public static ConfigEntry beamStrenghtMultiplier; + public static ConfigEntry beamRadiusMultiplier; public void Awake() { - xpMultiplier = Config.Bind("General", "XP Multiplier", 1, new ConfigDescription("XP Multiplier", new AcceptableValueRange(1, 32))); - moneyMultiplier = Config.Bind("General", "Money Multiplier", 1, new ConfigDescription("Money Multiplier", new AcceptableValueRange(1, 32))); + xpMultiplier = Config.Bind("General", "XP Multiplier", 1f, new ConfigDescription("XP Multiplier", new AcceptableValueRange(1f, 32f))); + moneyMultiplier = Config.Bind("General", "Money Multiplier", 1f, new ConfigDescription("Money Multiplier", new AcceptableValueRange(1f, 32f))); energyGenMultiplier = Config.Bind("General", "Energy Generation Multiplier", 1f, new ConfigDescription("Energy Generation Multiplier", new AcceptableValueRange(1f, 64f))); + heartbeatIntervalMultiplier = Config.Bind("General", "Heartbeat Interval Multiplier", 1f, + new ConfigDescription("Heartbeat Interval Multiplier", new AcceptableValueRange(0.1f, 2f))); shootingSpeedMultiplier = Config.Bind("General", "Shooting Speed Multiplier", 1f, new ConfigDescription("Shooting Speed Multiplier", new AcceptableValueRange(0.5f, 8f))); + muzzleVelocityMultiplier = Config.Bind("General", "Muzzle Velocity Multiplier", 1f, + new ConfigDescription("Muzzle Velocity Multiplier", new AcceptableValueRange(1f, 32f))); magnetStrenghtMultiplier = Config.Bind("General", "Magnet Strength Multiplier", 1f, new ConfigDescription("Magnet Strength Multiplier", new AcceptableValueRange(1f, 16f))); magnetRadiusMultiplier = Config.Bind("General", "Magnet Radius Multiplier", 1f, new ConfigDescription("Magnet Radius Multiplier", new AcceptableValueRange(1f, 16f))); - muzzleVelocityMultiplier = Config.Bind("General", "Muzzle Velocity Multiplier", 1f, - new ConfigDescription("Muzzle Velocity Multiplier", new AcceptableValueRange(1f, 32f))); - heartbeatIntervalMultiplier = Config.Bind("General", "Heartbeat Interval Multiplier", 1f, - new ConfigDescription("Heartbeat Interval Multiplier", new AcceptableValueRange(0.1f, 2f))); + beamStrenghtMultiplier = Config.Bind("General", "Beam Strength Multiplier", 1f, + new ConfigDescription("Beam Strength Multiplier", new AcceptableValueRange(1f, 16f))); + beamRadiusMultiplier = Config.Bind("General", "Beam Radius Multiplier", 1f, + new ConfigDescription("Beam Radius Multiplier", new AcceptableValueRange(1f, 16f))); allProjectilesHoming = Config.Bind("General", "Make All Projectiles Home", false); @@ -65,12 +71,12 @@ namespace TerraTech { public class Patches { [HarmonyPatch(typeof(ManLicenses), "AddXP")] static void XPMulti(FactionSubTypes corporation, ref int xp, bool showUI = true) { - xp *= Main.xpMultiplier.Value; + xp = (int)(xp * Main.xpMultiplier.Value); } [HarmonyPatch(typeof(ManPlayer), "AddMoney")] static void MoneyMulti(ref int amount) { - amount *= Main.moneyMultiplier.Value; + amount = (int)(amount * Main.moneyMultiplier.Value); } [HarmonyPatch(typeof(TechHolders), "SetHeartbeatInterval")] @@ -219,33 +225,33 @@ namespace TerraTech { } } - static void DoPatchSingle(ModuleItemHolderMagnet moduleEnergy) { + static void DoPatchSingle(ModuleItemHolderMagnet moduleItemHolderMagnet) { // Console.WriteLine("Patching " + moduleEnergy.name); // Console.WriteLine("Old value " + GetValue(moduleEnergy)); - SetStrength(moduleEnergy, GetStrength(moduleEnergy) * Main.magnetStrenghtMultiplier.Value); - SetRadius(moduleEnergy, GetRadius(moduleEnergy) * Main.magnetRadiusMultiplier.Value); + SetStrength(moduleItemHolderMagnet, GetStrength(moduleItemHolderMagnet) * Main.magnetStrenghtMultiplier.Value); + SetRadius(moduleItemHolderMagnet, GetRadius(moduleItemHolderMagnet) * Main.magnetRadiusMultiplier.Value); // Console.WriteLine("New value " + GetValue(moduleEnergy)); } - static void DoRestoreSingle(ModuleItemHolderMagnet moduleEnergy) { - if (strenghts.ContainsKey(moduleEnergy)) { - SetStrength(moduleEnergy, strenghts[moduleEnergy]); + static void DoRestoreSingle(ModuleItemHolderMagnet moduleItemHolderMagnet) { + if (strenghts.ContainsKey(moduleItemHolderMagnet)) { + SetStrength(moduleItemHolderMagnet, strenghts[moduleItemHolderMagnet]); } - if (radii.ContainsKey(moduleEnergy)) { - SetRadius(moduleEnergy, radii[moduleEnergy]); + if (radii.ContainsKey(moduleItemHolderMagnet)) { + SetRadius(moduleItemHolderMagnet, radii[moduleItemHolderMagnet]); } } - private static float GetStrength(ModuleItemHolderMagnet moduleEnergy) { - return Traverse.Create(moduleEnergy).Field("m_Strength").GetValue() as float? ?? 0f; + private static float GetStrength(ModuleItemHolderMagnet moduleItemHolderMagnet) { + return Traverse.Create(moduleItemHolderMagnet).Field("m_Strength").GetValue() as float? ?? 0f; } - private static void SetStrength(ModuleItemHolderMagnet moduleEnergy, float value) { - Traverse.Create(moduleEnergy).Field("m_Strength").SetValue(value); + private static void SetStrength(ModuleItemHolderMagnet moduleItemHolderMagnet, float value) { + Traverse.Create(moduleItemHolderMagnet).Field("m_Strength").SetValue(value); } - private static float GetRadius(ModuleItemHolderMagnet moduleEnergy) { - ModuleItemPickup moduleItemPickup = Traverse.Create(moduleEnergy).Field("m_Pickup").GetValue() as ModuleItemPickup; + private static float GetRadius(ModuleItemHolderMagnet moduleItemHolderMagnet) { + ModuleItemPickup moduleItemPickup = Traverse.Create(moduleItemHolderMagnet).Field("m_Pickup").GetValue() as ModuleItemPickup; if (moduleItemPickup) { float radius = Traverse.Create(moduleItemPickup).Field("m_PickupRange").GetValue() as float? ?? 0f; return radius; @@ -253,8 +259,82 @@ namespace TerraTech { return 0f; } - private static void SetRadius(ModuleItemHolderMagnet moduleEnergy, float value) { - ModuleItemPickup moduleItemPickup = Traverse.Create(moduleEnergy).Field("m_Pickup").GetValue() as ModuleItemPickup; + private static void SetRadius(ModuleItemHolderMagnet moduleItemHolderMagnet, float value) { + ModuleItemPickup moduleItemPickup = Traverse.Create(moduleItemHolderMagnet).Field("m_Pickup").GetValue() as ModuleItemPickup; + if (moduleItemPickup) { + Traverse.Create(moduleItemPickup).Field("m_PickupRange").SetValue(value); + } + } + } + + [HarmonyPatch] + public class BeamPropertiesManager { + private static Dictionary strenghts = new Dictionary(); + private static Dictionary radii = new Dictionary(); + + [HarmonyPostfix] + [HarmonyPatch(typeof(ModuleItemHolderBeam), "OnAttached")] + static void PostfixCreate(ModuleItemHolderBeam __instance) { + if (!strenghts.ContainsKey(__instance)) { + strenghts.Add(__instance, GetStrength(__instance)); + radii.Add(__instance, GetRadius(__instance)); + DoPatchSingle(__instance); + } + } + + [HarmonyPostfix] + [HarmonyPatch(typeof(ModuleItemHolderBeam), "OnDetaching")] + static void PostfixDestroy(ModuleItemHolderBeam __instance) { + DoRestoreSingle(__instance); + strenghts.Remove(__instance); + radii.Remove(__instance); + } + + public static void DoPatch() { + // Console.WriteLine("Modifying " + generators.Count + " generators"); + // Console.WriteLine("Should patch: " + ShouldPatch()); + foreach (KeyValuePair keyValuePair in strenghts) { + DoRestoreSingle(keyValuePair.Key); + DoPatchSingle(keyValuePair.Key); + } + } + + static void DoPatchSingle(ModuleItemHolderBeam moduleItemHolderBeam) { + // Console.WriteLine("Patching " + moduleEnergy.name); + // Console.WriteLine("Old value " + GetValue(moduleEnergy)); + SetStrength(moduleItemHolderBeam, GetStrength(moduleItemHolderBeam) * Main.beamStrenghtMultiplier.Value); + SetRadius(moduleItemHolderBeam, GetRadius(moduleItemHolderBeam) * Main.beamRadiusMultiplier.Value); + // Console.WriteLine("New value " + GetValue(moduleEnergy)); + } + + static void DoRestoreSingle(ModuleItemHolderBeam moduleItemHolderBeam) { + if (strenghts.ContainsKey(moduleItemHolderBeam)) { + SetStrength(moduleItemHolderBeam, strenghts[moduleItemHolderBeam]); + } + if (radii.ContainsKey(moduleItemHolderBeam)) { + SetRadius(moduleItemHolderBeam, radii[moduleItemHolderBeam]); + } + } + + private static float GetStrength(ModuleItemHolderBeam moduleItemHolderBeam) { + return Traverse.Create(moduleItemHolderBeam).Field("m_Strength").GetValue() as float? ?? 0f; + } + + private static void SetStrength(ModuleItemHolderBeam moduleItemHolderBeam, float value) { + Traverse.Create(moduleItemHolderBeam).Field("m_Strength").SetValue(value); + } + + private static float GetRadius(ModuleItemHolderBeam moduleItemHolderBeam) { + ModuleItemPickup moduleItemPickup = Traverse.Create(moduleItemHolderBeam).Field("m_Pickup").GetValue() as ModuleItemPickup; + if (moduleItemPickup) { + float radius = Traverse.Create(moduleItemPickup).Field("m_PickupRange").GetValue() as float? ?? 0f; + return radius; + } + return 0f; + } + + private static void SetRadius(ModuleItemHolderBeam moduleItemHolderBeam, float value) { + ModuleItemPickup moduleItemPickup = Traverse.Create(moduleItemHolderBeam).Field("m_Pickup").GetValue() as ModuleItemPickup; if (moduleItemPickup) { Traverse.Create(moduleItemPickup).Field("m_PickupRange").SetValue(value); } diff --git a/Projects/TerraTech/TerraTech/bin/Debug/TerraTech.dll b/Projects/TerraTech/TerraTech/bin/Debug/TerraTech.dll index 43e7169d0e33325b6649d8de5511e3dde5607284..53cb99a465e8d41170c24884b161271cbbf6fffe 100644 GIT binary patch literal 14336 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 DTjB2#-LhL=o^&8*4&xfk;Sb5-d2-2~%`z z$GV&~xLR9WwWFP(t({euv|~rR#5LB@R$HCg)~?Yh?bsRZYOA)kqcf=U`|roO=boH< z31C`B^T9vg+3&r-z4y1jz0bav%7OcPwCQmOXtifZCJa!bYXc#Me)c9%hm?a z5c5B{fXC{TJc8i;mJR-W7f7J=cW=G*`L_n?y()omMM2OM1TVi=+y7o~_o(kwrWQ$$ zjdp;I3Ep~(VZq-M_&Z4NW(g$q|EYuh|8DN`oVLBT{*ntG8TNycTh;~#FTQig7ap#= z@U|EK^IuDDxxl(d-G0NBB^!QF@~zoH@Y?W|-)j21j@s|H{>7?qyu9S;-Cciwo79Hr zhK8=i`|e*j=AmD_d~dqy_m6wMdKY0;K$;{C&I09N9;g7rz$h>hNau_I#o#3HKA`+d zz{%hgFb13o#)8wpI4~Ye0H=eA;0!PcoC!+7WH1Fx1=GL`Fbm8CG%J_`=7Qniy+%p% zUws$V|8h$%asFPD)w{91gZ=+*?A4=dleYD2^NlW+4wMd-K9*iS5#-awN7BQEbZ{B@ zP6u8WNA+-gji@A^Uqhsqh61f6S|_v~NZ(7B&j+O-uJ08VFGqO{QdRTJk!>&pI( zugU#ckG1BjzciM#hHHHuq<5ACPXBpDs+TIAvgnyRAKmK5$+B(|0d%Bu?I=dRz zw6$isR(Ew?lWFPcZd{Vt+SZZT-WYnU%XD=$ugkP-YRo<@ZEx=Gt}JiqHkocSnKtKS z+NDgl`b^imOhb}W{R zm+c@fh@$g<|4GXi4bFcnmv`b{&7_)OwwCAc{Z4cYus1eKg6Z3H7k{*QbLRZ@S6{8I zJA3dGN|gRE@M#opWH7Dd(zQFfdoo+thlkJQOFP@!Q6X)e9o^+CG98(&wifpF+3;0u z9Umb%_9lL)nUx)N+vT1Rag#~MhPI8{P!8nd;?_5JZRzaTv8ru7bs}xnUB0ffvmGU5 z%el0pt!GDF$42y*@*P6cs)C}T$1eEgBlmvrM=KvF8!_bmuN-JnSVOSP*qlW)NNv

CTR%s|(t4(%Jq_PIpcu-3NlrIq7WQC8y(^ zZdlLyNO^M+oRxFR$Xprf+^tkXg{F{Bk5l1#M@+kWcfreoVE6s-8SvNPoVV>>NJPf; z?rm_!?e2TwoCEHD1)}h_H^P^~&p;~`2cHFZf-cYlwnoswv(OH%2Ajb(&MiI<%mE8Q zDYyV!%)WVK@G5PUj-W|~WCx2R!)mY^Yyx}0K5!p+5sjIcl#cS`PI{-{;F|=aW-==aT-*bVLPbzE=*@t>zC4Ho7d;oqj{6hGZ!H4Lhny`>+)C!*Vw{(?yU|MkVkFexE)8F!(a@Rmky{0O<*VR z>wY`o8$gqj=Om|xnWj$UMZwaw)2gRcK*ZBp*1!I==T4L9E1SlSPp!qGQI?s%%!l+N zzCX)bTG+4jvkW^neHoJB0btvbGVM|UI``PG2MD{?^yTGny_?YdRG-SNv3vzwy77Z> z$?r-y`pU#ZPZ>9Qirx=;Wg|DjTj5v1Gw=_?KOfvdnP@|(3T;@zDVgSTvD-Co2sYxk z22>k=-~W=Yl|%A8SHJ5VMs*(H@_H4w=D)XPd^=S~Pm<3g!`=K}-Pzr

6xpt_)kV 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 DTjB2#-LhL=o^&8*4&xfk;Sb5-d2-2~%`z z$GV&~xLR9WwWFP(t({euv|~rR#5LB@R$HCg)~?Yh?bsRZYOA)kqcf=U`|roO=boH< z31C`B^T9vg+3&r-z4y1jz0bav%7OcPwCQmOXtifZCJa!bYXc#Me)c9%hm?a z5c5B{fXC{TJc8i;mJR-W7f7J=cW=G*`L_n?y()omMM2OM1TVi=+y7o~_o(kwrWQ$$ zjdp;I3Ep~(VZq-M_&Z4NW(g$q|EYuh|8DN`oVLBT{*ntG8TNycTh;~#FTQig7ap#= z@U|EK^IuDDxxl(d-G0NBB^!QF@~zoH@Y?W|-)j21j@s|H{>7?qyu9S;-Cciwo79Hr zhK8=i`|e*j=AmD_d~dqy_m6wMdKY0;K$;{C&I09N9;g7rz$h>hNau_I#o#3HKA`+d zz{%hgFb13o#)8wpI4~Ye0H=eA;0!PcoC!+7WH1Fx1=GL`Fbm8CG%J_`=7Qniy+%p% zUws$V|8h$%asFPD)w{91gZ=+*?A4=dleYD2^NlW+4wMd-K9*iS5#-awN7BQEbZ{B@ zP6u8WNA+-gji@A^Uqhsqh61f6S|_v~NZ(7B&j+O-uJ08VFGqO{QdRTJk!>&pI( zugU#ckG1BjzciM#hHHHuq<5ACPXBpDs+TIAvgnyRAKmK5$+B(|0d%Bu?I=dRz zw6$isR(Ew?lWFPcZd{Vt+SZZT-WYnU%XD=$ugkP-YRo<@ZEx=Gt}JiqHkocSnKtKS z+NDgl`b^imOhb}W{R zm+c@fh@$g<|4GXi4bFcnmv`b{&7_)OwwCAc{Z4cYus1eKg6Z3H7k{*QbLRZ@S6{8I zJA3dGN|gRE@M#opWH7Dd(zQFfdoo+thlkJQOFP@!Q6X)e9o^+CG98(&wifpF+3;0u z9Umb%_9lL)nUx)N+vT1Rag#~MhPI8{P!8nd;?_5JZRzaTv8ru7bs}xnUB0ffvmGU5 z%el0pt!GDF$42y*@*P6cs)C}T$1eEgBlmvrM=KvF8!_bmuN-JnSVOSP*qlW)NNv

CTR%s|(t4(%Jq_PIpcu-3NlrIq7WQC8y(^ zZdlLyNO^M+oRxFR$Xprf+^tkXg{F{Bk5l1#M@+kWcfreoVE6s-8SvNPoVV>>NJPf; z?rm_!?e2TwoCEHD1)}h_H^P^~&p;~`2cHFZf-cYlwnoswv(OH%2Ajb(&MiI<%mE8Q zDYyV!%)WVK@G5PUj-W|~WCx2R!)mY^Yyx}0K5!p+5sjIcl#cS`PI{-{;F|=aW-==aT-*bVLPbzE=*@t>zC4Ho7d;oqj{6hGZ!H4Lhny`>+)C!*Vw{(?yU|MkVkFexE)8F!(a@Rmky{0O<*VR z>wY`o8$gqj=Om|xnWj$UMZwaw)2gRcK*ZBp*1!I==T4L9E1SlSPp!qGQI?s%%!l+N zzCX)bTG+4jvkW^neHoJB0btvbGVM|UI``PG2MD{?^yTGny_?YdRG-SNv3vzwy77Z> z$?r-y`pU#ZPZ>9Qirx=;Wg|DjTj5v1Gw=_?KOfvdnP@|(3T;@zDVgSTvD-Co2sYxk z22>k=-~W=Yl|%A8SHJ5VMs*(H@_H4w=D)XPd^=S~Pm<3g!`=K}-Pzr

6xpt_)kV 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