From 9e4eda256ffacb9718033d9262abcbb6726d1300 Mon Sep 17 00:00:00 2001 From: "ProjectKoi-Kalo\\Kalo" Date: Tue, 2 Sep 2025 21:49:46 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E8=B4=A8=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 1.6/1.6/Assemblies/ArachnaeSwarm.dll | Bin 41984 -> 43520 bytes Source/ArachnaeSwarm/ArachnaeSwarm.csproj | 1 + Source/ArachnaeSwarm/Patch_QualityUtility.cs | 62 +++++++++++++++++++ 3 files changed, 63 insertions(+) create mode 100644 Source/ArachnaeSwarm/Patch_QualityUtility.cs diff --git a/1.6/1.6/Assemblies/ArachnaeSwarm.dll b/1.6/1.6/Assemblies/ArachnaeSwarm.dll index 86d134aa5d75d2ec08342cbc42e3559db1c3b4e0..95b125e582bce96677027e1813f07acff062d828 100644 GIT binary patch delta 14239 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 delta 13192 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 EALiY9KmY&$ diff --git a/Source/ArachnaeSwarm/ArachnaeSwarm.csproj b/Source/ArachnaeSwarm/ArachnaeSwarm.csproj index 70224f4..36a0e15 100644 --- a/Source/ArachnaeSwarm/ArachnaeSwarm.csproj +++ b/Source/ArachnaeSwarm/ArachnaeSwarm.csproj @@ -88,6 +88,7 @@ + diff --git a/Source/ArachnaeSwarm/Patch_QualityUtility.cs b/Source/ArachnaeSwarm/Patch_QualityUtility.cs new file mode 100644 index 0000000..dfa742e --- /dev/null +++ b/Source/ArachnaeSwarm/Patch_QualityUtility.cs @@ -0,0 +1,62 @@ +using HarmonyLib; +using RimWorld; +using Verse; +using System.Reflection; // For MethodInfo + +namespace ArachnaeSwarm +{ + [StaticConstructorOnStartup] + public static class QualityUtilityPatch + { + static QualityUtilityPatch() + { + var harmony = new Harmony("com.yourname.qualityutilitypatch"); + harmony.Patch( + original: AccessTools.Method(typeof(QualityUtility), nameof(QualityUtility.GenerateQualityCreatedByPawn), new[] { typeof(Pawn), typeof(SkillDef), typeof(bool) }), + prefix: new HarmonyMethod(typeof(QualityUtilityPatch), nameof(GenerateQualityCreatedByPawn_Prefix)) + ); + } + + public static bool GenerateQualityCreatedByPawn_Prefix(Pawn pawn, SkillDef relevantSkill, bool consumeInspiration, ref QualityCategory __result) + { + // 检查当前 Pawn 是否是我们的自定义动物(通过检查其 ThingDef 是否拥有 CompProperties_WorkForNonMechs) + if (pawn != null && pawn.def.comps != null && ShouldEnableWorkSystem(pawn)) + { + // 如果是,强制使用 mechFixedSkillLevel + int relevantSkillLevel = pawn.RaceProps.mechFixedSkillLevel; + bool inspired = consumeInspiration && pawn.InspirationDef == InspirationDefOf.Inspired_Creativity; + + // 调用 QualityUtility.GenerateQualityCreatedByPawn 的 int 重载 + __result = QualityUtility.GenerateQualityCreatedByPawn(relevantSkillLevel, inspired); + + // 消耗灵感(如果适用) + if (inspired) + { + pawn.mindState.inspirationHandler.EndInspiration(InspirationDefOf.Inspired_Creativity); + } + + // 返回 false,跳过原版方法执行 + return false; + } + + // 返回 true,执行原版方法 + return true; + } + + private static bool ShouldEnableWorkSystem(Pawn pawn) + { + // 检查 ThingDef 中是否有 CompProperties_WorkForNonMechs 配置 + if (pawn.def.comps != null) + { + foreach (var compProperties in pawn.def.comps) + { + if (compProperties is CompProperties_WorkForNonMechs) + { + return true; + } + } + } + return false; + } + } +} \ No newline at end of file