Description
A pawn who lost his genital in battle. After that battle, the error keeps pop-up all the time.
I tried to remove the whole genital completely by Character Editor, and no more errors.
Tried to add health diff to missing part BodyPartRecord(Genitals parts.Count=0) UnityEngine.StackTraceUtility:ExtractStackTrace () (wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Log.Error_Patch3 (string) (wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.HediffSet.AddDirect_Patch1 (Verse.HediffSet,Verse.Hediff,System.Nullable1<Verse.DamageInfo>,Verse.DamageWorker/DamageResult)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Pawn_HealthTracker.AddHediff_Patch5 (Verse.Pawn_HealthTracker,Verse.Hediff,Verse.BodyPartRecord,System.Nullable1<Verse.DamageInfo>,Verse.DamageWorker/DamageResult) Cumpilation.Cumflation.CumflationUtility:GetOrCreateCumflationHediff (Verse.Pawn) Cumpilation.Leaking.ThinkNode_ConditionalCumflationSeverity:Satisfied (Verse.Pawn) Verse.AI.ThinkNode_Conditional:TryIssueJobPackage (Verse.Pawn,Verse.AI.JobIssueParams) Verse.AI.ThinkNode_SubtreesByTag:TryIssueJobPackage (Verse.Pawn,Verse.AI.JobIssueParams) Verse.AI.ThinkNode_Priority:TryIssueJobPackage (Verse.Pawn,Verse.AI.JobIssueParams) (wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.AI.Pawn_JobTracker.DetermineNextJob_Patch1 (Verse.AI.Pawn_JobTracker,Verse.ThinkTreeDef&,bool) (wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Glue:AbiFixup<Verse.AI.ThinkResult Verse.AI.Pawn_JobTracker:DetermineNextJob(Verse.ThinkTreeDef&, System.Boolean),Verse.AI.ThinkResult Verse.AI.Pawn_JobTracker.DetermineNextJob_Patch1(Verse.AI.Pawn_JobTracker, Verse.ThinkTreeDef&, System.Boolean)> (Verse.AI.Pawn_JobTracker,Verse.AI.ThinkResult&,Verse.ThinkTreeDef&,bool) Verse.AI.Pawn_JobTracker:TryFindAndStartJob () (wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.AI.Pawn_JobTracker.EndCurrentJob_Patch2 (Verse.AI.Pawn_JobTracker,Verse.AI.JobCondition,bool,bool) Verse.AI.JobDriver:EndJobWith (Verse.AI.JobCondition) Verse.AI.JobDriver:CheckCurrentToilEndOrFail () Verse.AI.JobDriver:DriverTick () Verse.AI.Pawn_JobTracker:JobTrackerTick () Verse.Pawn:Tick () Verse.TickList:Tick () (wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.TickManager.DoSingleTick_Patch5 (Verse.TickManager) (wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.TickManager.TickManagerUpdate_Patch0 (Verse.TickManager) (wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Game.UpdatePlay_Patch1 (Verse.Game) Verse.Root_Play:Update ()
To Reproduce
Steps to reproduce the behavior:
- Destory a man's genital. (Genital Status: Missing Part)
- Wait and the error shuold pop-up
This is a cum leaking check bug, I had a look at the codebase, found out this two files may cause the issue: CumflationUtility.cs | ThinkNode_ConditionalCumflationSeverity.cs
Description
A pawn who lost his genital in battle. After that battle, the error keeps pop-up all the time.
I tried to remove the whole genital completely by Character Editor, and no more errors.
Tried to add health diff to missing part BodyPartRecord(Genitals parts.Count=0) UnityEngine.StackTraceUtility:ExtractStackTrace () (wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Log.Error_Patch3 (string) (wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.HediffSet.AddDirect_Patch1 (Verse.HediffSet,Verse.Hediff,System.Nullable1<Verse.DamageInfo>,Verse.DamageWorker/DamageResult)(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Pawn_HealthTracker.AddHediff_Patch5 (Verse.Pawn_HealthTracker,Verse.Hediff,Verse.BodyPartRecord,System.Nullable
1<Verse.DamageInfo>,Verse.DamageWorker/DamageResult) Cumpilation.Cumflation.CumflationUtility:GetOrCreateCumflationHediff (Verse.Pawn) Cumpilation.Leaking.ThinkNode_ConditionalCumflationSeverity:Satisfied (Verse.Pawn) Verse.AI.ThinkNode_Conditional:TryIssueJobPackage (Verse.Pawn,Verse.AI.JobIssueParams) Verse.AI.ThinkNode_SubtreesByTag:TryIssueJobPackage (Verse.Pawn,Verse.AI.JobIssueParams) Verse.AI.ThinkNode_Priority:TryIssueJobPackage (Verse.Pawn,Verse.AI.JobIssueParams) (wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.AI.Pawn_JobTracker.DetermineNextJob_Patch1 (Verse.AI.Pawn_JobTracker,Verse.ThinkTreeDef&,bool) (wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Glue:AbiFixup<Verse.AI.ThinkResult Verse.AI.Pawn_JobTracker:DetermineNextJob(Verse.ThinkTreeDef&, System.Boolean),Verse.AI.ThinkResult Verse.AI.Pawn_JobTracker.DetermineNextJob_Patch1(Verse.AI.Pawn_JobTracker, Verse.ThinkTreeDef&, System.Boolean)> (Verse.AI.Pawn_JobTracker,Verse.AI.ThinkResult&,Verse.ThinkTreeDef&,bool) Verse.AI.Pawn_JobTracker:TryFindAndStartJob () (wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.AI.Pawn_JobTracker.EndCurrentJob_Patch2 (Verse.AI.Pawn_JobTracker,Verse.AI.JobCondition,bool,bool) Verse.AI.JobDriver:EndJobWith (Verse.AI.JobCondition) Verse.AI.JobDriver:CheckCurrentToilEndOrFail () Verse.AI.JobDriver:DriverTick () Verse.AI.Pawn_JobTracker:JobTrackerTick () Verse.Pawn:Tick () Verse.TickList:Tick () (wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.TickManager.DoSingleTick_Patch5 (Verse.TickManager) (wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.TickManager.TickManagerUpdate_Patch0 (Verse.TickManager) (wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Game.UpdatePlay_Patch1 (Verse.Game) Verse.Root_Play:Update ()To Reproduce
Steps to reproduce the behavior:
This is a cum leaking check bug, I had a look at the codebase, found out this two files may cause the issue: CumflationUtility.cs | ThinkNode_ConditionalCumflationSeverity.cs