diff --git a/1.6/1.6/Assemblies/ArachnaeSwarm.dll b/1.6/1.6/Assemblies/ArachnaeSwarm.dll index 389feb2..95065ab 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/Defs/ThingDef_Races/ARA_RaceMutant.xml b/1.6/1.6/Defs/ThingDef_Races/ARA_RaceMutant.xml index 82e54a0..ca57ffe 100644 --- a/1.6/1.6/Defs/ThingDef_Races/ARA_RaceMutant.xml +++ b/1.6/1.6/Defs/ThingDef_Races/ARA_RaceMutant.xml @@ -41,6 +41,9 @@ Pawn_Shambler_Attack Pawn_Shambler_Wounded Pawn_Shambler_Killed + +
  • ARA_MimicNematode
  • +
  • diff --git a/Source/ArachnaeSwarm/Hediff_ConfigurableMutant.cs b/Source/ArachnaeSwarm/Hediff_ConfigurableMutant.cs index 6498f1a..d41a322 100644 --- a/Source/ArachnaeSwarm/Hediff_ConfigurableMutant.cs +++ b/Source/ArachnaeSwarm/Hediff_ConfigurableMutant.cs @@ -146,7 +146,6 @@ namespace ArachnaeSwarm { pawn.mindState.enemyTarget = alertedTarget; pawn.mindState.lastEngageTargetTick = Find.TickManager.TicksGame; // 直接给public字段赋值,绕过internal方法 - pawn.jobs.EndCurrentJob(JobCondition.InterruptForced); alertedTarget = null; if (DebugViewSettings.drawShamblerAlertMote) { diff --git a/Source/ArachnaeSwarm/NecroticTransformationUtility.cs b/Source/ArachnaeSwarm/NecroticTransformationUtility.cs index f3bdf0b..190d4b8 100644 --- a/Source/ArachnaeSwarm/NecroticTransformationUtility.cs +++ b/Source/ArachnaeSwarm/NecroticTransformationUtility.cs @@ -35,8 +35,11 @@ namespace ArachnaeSwarm // 创建并附加Pawn_MutantTracker,使用我们从XML传入的mutantDef pawn.mutant = new Pawn_MutantTracker(pawn, mutantDef, rotStage); - // 添加变异体核心Hediff - Hediff hediff = pawn.health.AddHediff(mutantDef.hediff); + // **调用原版健康再生方法,此方法会读取MutantDef中的配置(如removeAllInjuries)并执行** + MutantUtility.RegenerateHealth(pawn); + + // 添加变异体核心Hediff + Hediff hediff = pawn.health.AddHediff(mutantDef.hediff); // 如果是我们自己的可配置变异体Hediff,则调用其上升动画 if (hediff is Hediff_ConfigurableMutant configurableMutant)