From b4411c93674701c52cc66ceec53ba7f8375e74f9 Mon Sep 17 00:00:00 2001 From: Soar Qin Date: Fri, 5 Jan 2024 02:14:48 +0800 Subject: [PATCH] CheatEnabler v2.3.9 --- CheatEnabler/CheatEnabler.csproj | 6 +++--- CheatEnabler/DysonSpherePatch.cs | 19 ++++++++++++------- CheatEnabler/README.md | 4 ++++ CheatEnabler/package/manifest.json | 2 +- 4 files changed, 20 insertions(+), 11 deletions(-) diff --git a/CheatEnabler/CheatEnabler.csproj b/CheatEnabler/CheatEnabler.csproj index 00b179c..9c5bc01 100644 --- a/CheatEnabler/CheatEnabler.csproj +++ b/CheatEnabler/CheatEnabler.csproj @@ -5,7 +5,7 @@ net472 org.soardev.cheatenabler DSP MOD - CheatEnabler - 2.3.8 + 2.3.9 true latest CheatEnabler @@ -16,14 +16,14 @@ - + - + diff --git a/CheatEnabler/DysonSpherePatch.cs b/CheatEnabler/DysonSpherePatch.cs index 60ff5e4..09b2d9c 100644 --- a/CheatEnabler/DysonSpherePatch.cs +++ b/CheatEnabler/DysonSpherePatch.cs @@ -237,6 +237,8 @@ public static class DysonSpherePatch var sphere = __instance.dysonSphere; var layers = sphere.layersSorted; var llen = sphere.layerCount; + var sphereProductRegister = sphere.productRegister; + var sphereConsumeRegister = sphere.consumeRegister; if (llen > 0) { var lidx = ((int)time >> 4) % llen; @@ -258,9 +260,9 @@ public static class DysonSpherePatch if (node.ConstructCp() == null) break; if (idx == 0) { - sphere.productRegister[11901] += len; - sphere.consumeRegister[11901] += len; - sphere.productRegister[11903] += len; + sphereProductRegister[11901] += len; + sphereConsumeRegister[11901] += len; + sphereProductRegister[11903] += len; return; } idx--; @@ -269,9 +271,12 @@ public static class DysonSpherePatch } } var absorbCnt = len - 1 - idx; - sphere.productRegister[11901] += absorbCnt; - sphere.consumeRegister[11901] += absorbCnt; - sphere.productRegister[11903] += absorbCnt; + if (absorbCnt > 0) + { + sphereProductRegister[11901] += absorbCnt; + sphereConsumeRegister[11901] += absorbCnt; + sphereProductRegister[11903] += absorbCnt; + } } for (; idx >= 0; idx--) { @@ -314,7 +319,7 @@ public static class DysonSpherePatch new CodeInstruction(OpCodes.Brfalse_S, label1), new CodeInstruction(OpCodes.Ldarg_0), new CodeInstruction(OpCodes.Ldfld, AccessTools.Field(typeof(DysonSwarm), nameof(DysonSwarm.dysonSphere))), - new CodeInstruction(OpCodes.Ldfld, AccessTools.Field(typeof(DysonSphere), nameof(DysonSphere.productRegister))), + new CodeInstruction(OpCodes.Call, AccessTools.PropertyGetter(typeof(DysonSphere), nameof(DysonSphere.productRegister))), new CodeInstruction(OpCodes.Ldc_I4, 11903), new CodeInstruction(OpCodes.Ldelema, typeof(int)), new CodeInstruction(OpCodes.Dup), diff --git a/CheatEnabler/README.md b/CheatEnabler/README.md index 6613a8b..6d68753 100644 --- a/CheatEnabler/README.md +++ b/CheatEnabler/README.md @@ -4,6 +4,8 @@ #### 添加一些作弊功能,同时屏蔽异常检测 ## Changlog +* 2.3.9 + + Support game version 0.10.28.21219 * 2.3.8 + Fix a crash on starting new games while `Finish build immediately` is enabled. + Fix UI button width. @@ -118,6 +120,8 @@ * [Multifunction_mod](https://github.com/blacksnipebiu/Multifunction_mod): Some cheat functions ## 更新日志 +* 2.3.9 + + 支持游戏版本0.10.28.21219 * 2.3.8 + 修复了启用`建造秒完成`时开新游戏可能导致崩溃的问题 + 修复了UI按钮宽度 diff --git a/CheatEnabler/package/manifest.json b/CheatEnabler/package/manifest.json index 89f0086..9ceaf85 100644 --- a/CheatEnabler/package/manifest.json +++ b/CheatEnabler/package/manifest.json @@ -1,6 +1,6 @@ { "name": "CheatEnabler", - "version_number": "2.3.8", + "version_number": "2.3.9", "website_url": "https://github.com/soarqin/DSP_Mods/tree/master/CheatEnabler", "description": "Add various cheat functions while disabling abnormal determinants / 添加一些作弊功能,同时屏蔽异常检测", "dependencies": [