RimWorld

RimWorld

Psychology (unofficial) v1.1-1.5
AECo Aug 3, 2021 @ 4:18am
Circadian Half Cycler & Want To Sleep With Lover Conflict Bug
I have a pawn that had a spouse and a half cycler, and because she can't sleep, she can't sleep with her spouse. This causes a bug that pauses the game every time she thinks about it.

I confirmed this was the cause of the bug by Remove Hediff on her half cycler, which fixed the issue. As soon as I Add Hediff the cycler back in, the bug returned.

Thanks! And here's the debug report below



Exception while recalculating WantToSleepWithSpouseOrLover thought state for pawn Armadillo: System.NullReferenceException: Object reference not set to an instance of an object
at Verse.RegionAndRoomQuery.GetDistrict (Verse.Thing thing, Verse.RegionType allowedRegionTypes) [0x00000] in <f429400e900f434099af71800afbc07e>:0
at Verse.RegionAndRoomQuery.GetRoom (Verse.Thing thing, Verse.RegionType allowedRegionTypes) [0x00000] in <f429400e900f434099af71800afbc07e>:0
at Psychology.Harmony.ThoughtWorker_WantToSleepWithSpouseOrLoverPatch.CurrentStateInternal (RimWorld.ThoughtState& __result, Verse.Pawn p) [0x00081] in <4ab2d196b3104860991eb3446739bd55>:0
at (wrapper dynamic-method) RimWorld.ThoughtWorker_WantToSleepWithSpouseOrLover.RimWorld.ThoughtWorker_WantToSleepWithSpouseOrLover.CurrentStateInternal_Patch1(RimWorld.ThoughtWorker_WantToSleepWithSpouseOrLover,Verse.Pawn)
at RimWorld.ThoughtWorker.CurrentState (Verse.Pawn p) [0x00000] in <f429400e900f434099af71800afbc07e>:0
at RimWorld.SituationalThoughtHandler.TryCreateThought (RimWorld.ThoughtDef def) [0x0001e] in <f429400e900f434099af71800afbc07e>:0
UnityEngine.StackTraceUtility:ExtractStackTrace ()
Verse.Log:Error (string)
RimWorld.SituationalThoughtHandler:TryCreateThought (RimWorld.ThoughtDef)
RimWorld.SituationalThoughtHandler:CheckRecalculateMoodThoughts ()
RimWorld.SituationalThoughtHandler:AppendMoodThoughts (System.Collections.Generic.List`1<RimWorld.Thought>)
RimWorld.ThoughtHandler:GetAllMoodThoughts (System.Collections.Generic.List`1<RimWorld.Thought>)
RimWorld.ThoughtHandler:GetDistinctMoodThoughtGroups (System.Collections.Generic.List`1<RimWorld.Thought>)
RimWorld.ThoughtHandler:TotalMoodOffset ()
RimWorld.Need_Mood:get_CurInstantLevel ()
RimWorld.Need:get_CurInstantLevelPercentage ()
Moody.Models.NeedData:.ctor (RimWorld.Need,Verse.Pawn)
Moody.DataCache:UpdateMood (Verse.Pawn)
Moody.DataCache:Recalculate (Verse.Pawn)
Moody.DataCache:UpdateCache (bool)
Moody.MoodyWindow:WindowUpdate ()
Verse.WindowStack:WindowsUpdate ()
Verse.UIRoot:UIRootUpdate ()
RimWorld.UIRoot_Play:UIRootUpdate ()
(wrapper dynamic-method) Verse.Root:Verse.Root.Update_Patch1 (Verse.Root)
Verse.Root_Play:Update ()
Last edited by AECo; Aug 3, 2021 @ 4:37am
< >
Showing 1-4 of 4 comments
I'm having the same issues. For me, my colonist had an affair and now the other pawn is throwing errors. Here's my error message

Exception while recalculating WantToSleepWithSpouseOrLover thought state for pawn Romado: System.NullReferenceException: Object reference not set to an instance of an object at Verse.RegionAndRoomQuery.GetDistrict (Verse.Thing thing, Verse.RegionType allowedRegionTypes) [0x00000] in <1b9c4c73530448bcbb33283e1d4d7d05>:0 at Verse.RegionAndRoomQuery.GetRoom (Verse.Thing thing, Verse.RegionType allowedRegionTypes) [0x00000] in <1b9c4c73530448bcbb33283e1d4d7d05>:0 at Psychology.Harmony.ThoughtWorker_WantToSleepWithSpouseOrLoverPatch.CurrentStateInternal (RimWorld.ThoughtState& __result, Verse.Pawn p) [0x00081] in <4ab2d196b3104860991eb3446739bd55>:0 at (wrapper dynamic-method) RimWorld.ThoughtWorker_WantToSleepWithSpouseOrLover.RimWorld.ThoughtWorker_WantToSleepWithSpouseOrLover.CurrentStateInternal_Patch1(RimWorld.ThoughtWorker_WantToSleepWithSpouseOrLover,Verse.Pawn) at (wrapper dynamic-method) RimWorld.ThoughtWorker.RimWorld.ThoughtWorker.CurrentState_Patch1(RimWorld.ThoughtWorker,Verse.Pawn) at (wrapper dynamic-method) RimWorld.SituationalThoughtHandler.RimWorld.SituationalThoughtHandler.TryCreateThought_Patch1(RimWorld.SituationalThoughtHandler,RimWorld.ThoughtDef) UnityEngine.StackTraceUtility:ExtractStackTrace () (wrapper dynamic-method) Verse.Log:Verse.Log.Error_Patch0 (string) (wrapper dynamic-method) RimWorld.SituationalThoughtHandler:RimWorld.SituationalThoughtHandler.TryCreateThought_Patch1 (RimWorld.SituationalThoughtHandler,RimWorld.ThoughtDef) RimWorld.SituationalThoughtHandler:CheckRecalculateMoodThoughts () RimWorld.SituationalThoughtHandler:AppendMoodThoughts (System.Collections.Generic.List`1<RimWorld.Thought>) RimWorld.ThoughtHandler:GetAllMoodThoughts (System.Collections.Generic.List`1<RimWorld.Thought>) RimWorld.ThoughtHandler:GetDistinctMoodThoughtGroups (System.Collections.Generic.List`1<RimWorld.Thought>) RimWorld.ThoughtHandler:TotalMoodOffset () RimWorld.Need_Mood:get_CurInstantLevel () RimWorld.Need_Seeker:NeedInterval () RimWorld.Need_Mood:NeedInterval () RimWorld.Pawn_NeedsTracker:NeedsTrackerTick () Verse.Pawn:Tick () (wrapper dynamic-method) Verse.TickList:Verse.TickList.Tick_Patch0 (Verse.TickList) (wrapper dynamic-method) Verse.TickManager:Verse.TickManager.DoSingleTick_Patch0 (Verse.TickManager) Verse.TickManager:TickManagerUpdate () Verse.Game:UpdatePlay () (wrapper dynamic-method) Verse.Root_Play:Verse.Root_Play.Update_Patch0 (Verse.Root_Play)
The Word-Mule Aug 11, 2021 @ 11:43pm 
Ninja debug for KEMPER: Tynan must have changed something in GetRoom() that's breaking this; you'd have to look at the decompiled code for GetDistrict() to be sure. This is the line that's throwing the error, which checks that the pawn sleeps in the same room as their favorite partner: https://github.com/rwpsychology/Psychology/blob/c92f9dcc9b01c5701bf2755831389951e8516c7c/Source/Psychology/Harmony/ThoughtWorker_WantToSleepWithSpouseOrLover.cs#L24
che_lovek  [developer] Aug 12, 2021 @ 3:18am 
@The Word-Mule Thanks
che_lovek  [developer] Aug 13, 2021 @ 7:11am 
@AECo @The Cache Thrasher Fixed in the next update.
Meanwhile you can just assign the problematic pawn a bed to stop the errors.
< >
Showing 1-4 of 4 comments
Per page: 1530 50