diff --git a/1.6/1.6/Assemblies/ArachnaeSwarm.dll b/1.6/1.6/Assemblies/ArachnaeSwarm.dll index 3af92f5..c9e3266 100644 Binary files a/1.6/1.6/Assemblies/ArachnaeSwarm.dll and b/1.6/1.6/Assemblies/ArachnaeSwarm.dll differ diff --git a/1.6/1.6/Assemblies/ArachnaeSwarm.pdb b/1.6/1.6/Assemblies/ArachnaeSwarm.pdb index 0c08ab8..b320b7d 100644 Binary files a/1.6/1.6/Assemblies/ArachnaeSwarm.pdb and b/1.6/1.6/Assemblies/ArachnaeSwarm.pdb differ diff --git a/Source/ArachnaeSwarm/Pawn_Comps/ARA_UniquePawn/Patch_UniquePawn.cs b/Source/ArachnaeSwarm/Pawn_Comps/ARA_UniquePawn/Patch_UniquePawn.cs index 61a6fd8..bbb70d0 100644 --- a/Source/ArachnaeSwarm/Pawn_Comps/ARA_UniquePawn/Patch_UniquePawn.cs +++ b/Source/ArachnaeSwarm/Pawn_Comps/ARA_UniquePawn/Patch_UniquePawn.cs @@ -81,7 +81,7 @@ namespace ArachnaeSwarm } [HarmonyPrefix] - public static bool Prefix(Pawn pawn, ref bool __result) + public static bool Prefix(Pawn pawn) { try { @@ -110,7 +110,7 @@ namespace ArachnaeSwarm ArachnaeLog.Debug($"阻止复活 {pawn.Label},因为全局变量 '{variable}' 已存在"); } - __result = false; // 返回 false 表示复活失败 + // __result = false; // void methods cannot return a value return false; // 跳过原始方法 } } @@ -136,12 +136,13 @@ namespace ArachnaeSwarm } [HarmonyPrefix] - public static bool Prefix(Pawn pawn, ref bool __result) + public static bool Prefix(Pawn pawn) { try { // 检查 pawn 是否有 CompUniquePawn 组件 - var comp = pawn?.GetComp(); + if (pawn == null) return true; + var comp = pawn.GetComp(); if (comp != null && !string.IsNullOrEmpty(comp.Props?.globalVariable)) { string variable = comp.Props.globalVariable; @@ -165,7 +166,7 @@ namespace ArachnaeSwarm ArachnaeLog.Debug($"阻止复活 {pawn.Label},因为全局变量 '{variable}' 已存在"); } - __result = false; // 返回 false 表示复活失败 + // __result = false; // void methods cannot return a value return false; // 跳过原始方法 } }