Hardcore-SK
Hardcore-SK copied to clipboard
creating a caravan lowers the fps to 1 on game speed > 1 and the game stutters.
Development version 2022dec09 01:01:18 and the two versions prior to that are affected.
post your hugslib log, i havnt encountered this, there could be a conflict or error in the background
https://gist.github.com/5439828241d826dc5fc6b36853397405
Here is my hugslib log.
https://gist.github.com/e1ee0b9fbe9c9eef54493a392b8fa1d0
AlienRace encountered an error processing food
Pawn: dromedary 2 | Dromedary
Food: Rawsugarcane | Rawsugarcane | Core SK
System.NullReferenceException: Object reference not set to an instance of an object
at (wrapper dynamic-method) AlienRace.HarmonyPatches.AlienRace.HarmonyPatches.ThoughtsFromIngestingPostfix_Patch0(Verse.Pawn,Verse.Thing,Verse.ThingDef,System.Collections.Generic.List1<RimWorld.FoodUtility/ThoughtFromIngesting>&) UnityEngine.StackTraceUtility:ExtractStackTrace () (wrapper dynamic-method) Verse.Log:Verse.Log.Error_Patch4 (string) (wrapper dynamic-method) AlienRace.HarmonyPatches:AlienRace.HarmonyPatches.ThoughtsFromIngestingPostfix_Patch0 (Verse.Pawn,Verse.Thing,Verse.ThingDef,System.Collections.Generic.List
1<RimWorld.FoodUtility/ThoughtFromIngesting>&)
(wrapper dynamic-method) RimWorld.FoodUtility:RimWorld.FoodUtility.ThoughtsFromIngesting_Patch1 (Verse.Pawn,Verse.Thing,Verse.ThingDef)
RimWorld.FoodUtility:WillGiveNegativeThoughts (Verse.Thing,Verse.Pawn)
(wrapper dynamic-method) RimWorld.Dialog_FormCaravan:RimWorld.Dialog_FormCaravan.GetFoodScore_Patch0 (RimWorld.Dialog_FormCaravan,Verse.Pawn,Verse.Thing,System.Collections.Generic.List1<Verse.Pair
2<int, int>>)
RimWorld.Dialog_FormCaravan:BestFoodItemFor (Verse.Pawn,System.Collections.Generic.IEnumerable1<RimWorld.TransferableOneWay>,System.Collections.Generic.List
1<Verse.Pair`2<int, int>>)
RimWorld.Dialog_FormCaravan:SelectApproximateBestTravelSupplies ()
RimWorld.Dialog_FormCaravan:CountToTransferChanged ()
RimWorld.Dialog_FormCaravan:DoWindowContents (UnityEngine.Rect)
Verse.Window:InnerWindowOnGUI (int)
UnityEngine.GUI:CallWindowDelegate (UnityEngine.GUI/WindowFunction,int,int,UnityEngine.GUISkin,int,single,single,UnityEngine.GUIStyle)
Here is a hugslib log where I managed to capture errors that makes the game lag.
Rhino_Wooly118217 started 10 jobs in one tick. newJob=Ingest (Job_375605) A=Thing_Rawonion118265 jobGiver=RimWorld.JobGiver_GetFood jobList=
UnityEngine.StackTraceUtility:ExtractStackTrace ()
(wrapper dynamic-method) Verse.Log:Verse.Log.Error_Patch4 (string)
Verse.AI.JobUtility:TryStartErrorRecoverJob (Verse.Pawn,string,System.Exception,Verse.AI.JobDriver)
(wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.StartJob_Patch1 (Verse.AI.Pawn_JobTracker,Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable1<Verse.AI.JobTag>,bool,bool) Verse.AI.Pawn_JobTracker:TryFindAndStartJob () Verse.AI.Pawn_JobTracker:EndCurrentJob (Verse.AI.JobCondition,bool,bool) Verse.AI.JobDriver:EndJobWith (Verse.AI.JobCondition) (wrapper dynamic-method) Verse.AI.JobDriver:Verse.AI.JobDriver.CheckCurrentToilEndOrFail_Patch2 (Verse.AI.JobDriver) Verse.AI.JobDriver:TryActuallyStartNextToil () Verse.AI.JobDriver:ReadyForNextToil () Verse.AI.JobDriver:TryActuallyStartNextToil () Verse.AI.JobDriver:ReadyForNextToil () (wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.StartJob_Patch1 (Verse.AI.Pawn_JobTracker,Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable
1<Verse.AI.JobTag>,bool,bool)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob ()
Verse.AI.Pawn_JobTracker:EndCurrentJob (Verse.AI.JobCondition,bool,bool)
Verse.AI.JobDriver:EndJobWith (Verse.AI.JobCondition)
(wrapper dynamic-method) Verse.AI.JobDriver:Verse.AI.JobDriver.CheckCurrentToilEndOrFail_Patch2 (Verse.AI.JobDriver)
Verse.AI.JobDriver:TryActuallyStartNextToil ()
Verse.AI.JobDriver:ReadyForNextToil ()
Verse.AI.JobDriver:TryActuallyStartNextToil ()
Verse.AI.JobDriver:ReadyForNextToil ()
(wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.StartJob_Patch1 (Verse.AI.Pawn_JobTracker,Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable1<Verse.AI.JobTag>,bool,bool) Verse.AI.Pawn_JobTracker:TryFindAndStartJob () Verse.AI.Pawn_JobTracker:EndCurrentJob (Verse.AI.JobCondition,bool,bool) Verse.AI.JobDriver:EndJobWith (Verse.AI.JobCondition) (wrapper dynamic-method) Verse.AI.JobDriver:Verse.AI.JobDriver.CheckCurrentToilEndOrFail_Patch2 (Verse.AI.JobDriver) Verse.AI.JobDriver:TryActuallyStartNextToil () Verse.AI.JobDriver:ReadyForNextToil () Verse.AI.JobDriver:TryActuallyStartNextToil () Verse.AI.JobDriver:ReadyForNextToil () (wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.StartJob_Patch1 (Verse.AI.Pawn_JobTracker,Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable
1<Verse.AI.JobTag>,bool,bool)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob ()
Verse.AI.Pawn_JobTracker:EndCurrentJob (Verse.AI.JobCondition,bool,bool)
Verse.AI.JobDriver:EndJobWith (Verse.AI.JobCondition)
(wrapper dynamic-method) Verse.AI.JobDriver:Verse.AI.JobDriver.CheckCurrentToilEndOrFail_Patch2 (Verse.AI.JobDriver)
Verse.AI.JobDriver:TryActuallyStartNextToil ()
Verse.AI.JobDriver:ReadyForNextToil ()
Verse.AI.JobDriver:TryActuallyStartNextToil ()
Verse.AI.JobDriver:ReadyForNextToil ()
(wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.StartJob_Patch1 (Verse.AI.Pawn_JobTracker,Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable1<Verse.AI.JobTag>,bool,bool) Verse.AI.Pawn_JobTracker:TryFindAndStartJob () Verse.AI.Pawn_JobTracker:EndCurrentJob (Verse.AI.JobCondition,bool,bool) Verse.AI.JobDriver:EndJobWith (Verse.AI.JobCondition) (wrapper dynamic-method) Verse.AI.JobDriver:Verse.AI.JobDriver.CheckCurrentToilEndOrFail_Patch2 (Verse.AI.JobDriver) Verse.AI.JobDriver:TryActuallyStartNextToil () Verse.AI.JobDriver:ReadyForNextToil () Verse.AI.JobDriver:TryActuallyStartNextToil () Verse.AI.JobDriver:ReadyForNextToil () (wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.StartJob_Patch1 (Verse.AI.Pawn_JobTracker,Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable
1<Verse.AI.JobTag>,bool,bool)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob ()
Verse.AI.Pawn_JobTracker:EndCurrentJob (Verse.AI.JobCondition,bool,bool)
Verse.AI.JobDriver:EndJobWith (Verse.AI.JobCondition)
(wrapper dynamic-method) Verse.AI.JobDriver:Verse.AI.JobDriver.CheckCurrentToilEndOrFail_Patch2 (Verse.AI.JobDriver)
Verse.AI.JobDriver:TryActuallyStartNextToil ()
Verse.AI.JobDriver:ReadyForNextToil ()
Verse.AI.JobDriver:TryActuallyStartNextToil ()
Verse.AI.JobDriver:ReadyForNextToil ()
(wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.StartJob_Patch1 (Verse.AI.Pawn_JobTracker,Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable1<Verse.AI.JobTag>,bool,bool) Verse.AI.Pawn_JobTracker:TryFindAndStartJob () Verse.AI.Pawn_JobTracker:EndCurrentJob (Verse.AI.JobCondition,bool,bool) Verse.AI.JobDriver:EndJobWith (Verse.AI.JobCondition) (wrapper dynamic-method) Verse.AI.JobDriver:Verse.AI.JobDriver.CheckCurrentToilEndOrFail_Patch2 (Verse.AI.JobDriver) Verse.AI.JobDriver:TryActuallyStartNextToil () Verse.AI.JobDriver:ReadyForNextToil () Verse.AI.JobDriver:TryActuallyStartNextToil () Verse.AI.JobDriver:ReadyForNextToil () (wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.StartJob_Patch1 (Verse.AI.Pawn_JobTracker,Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable
1<Verse.AI.JobTag>,bool,bool)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob ()
Verse.AI.Pawn_JobTracker:EndCurrentJob (Verse.AI.JobCondition,bool,bool)
Verse.AI.JobDriver:EndJobWith (Verse.AI.JobCondition)
(wrapper dynamic-method) Verse.AI.JobDriver:Verse.AI.JobDriver.CheckCurrentToilEndOrFail_Patch2 (Verse.AI.JobDriver)
Verse.AI.JobDriver:TryActuallyStartNextToil ()
Verse.AI.JobDriver:ReadyForNextToil ()
Verse.AI.JobDriver:TryActuallyStartNextToil ()
Verse.AI.JobDriver:ReadyForNextToil ()
(wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.StartJob_Patch1 (Verse.AI.Pawn_JobTracker,Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable1<Verse.AI.JobTag>,bool,bool) Verse.AI.Pawn_JobTracker:TryFindAndStartJob () Verse.AI.Pawn_JobTracker:EndCurrentJob (Verse.AI.JobCondition,bool,bool) Verse.AI.JobDriver:EndJobWith (Verse.AI.JobCondition) (wrapper dynamic-method) Verse.AI.JobDriver:Verse.AI.JobDriver.CheckCurrentToilEndOrFail_Patch2 (Verse.AI.JobDriver) Verse.AI.JobDriver:TryActuallyStartNextToil () Verse.AI.JobDriver:ReadyForNextToil () Verse.AI.JobDriver:TryActuallyStartNextToil () Verse.AI.JobDriver:ReadyForNextToil () (wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.StartJob_Patch1 (Verse.AI.Pawn_JobTracker,Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable
1<Verse.AI.JobTag>,bool,bool)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob ()
Verse.AI.Pawn_JobTracker:EndCurrentJob (Verse.AI.JobCondition,bool,bool)
Verse.AI.JobDriver:EndJobWith (Verse.AI.JobCondition)
(wrapper dynamic-method) Verse.AI.JobDriver:Verse.AI.JobDriver.CheckCurrentToilEndOrFail_Patch2 (Verse.AI.JobDriver)
Verse.AI.JobDriver:TryActuallyStartNextToil ()
Verse.AI.JobDriver:ReadyForNextToil ()
Verse.AI.JobDriver:TryActuallyStartNextToil ()
Verse.AI.JobDriver:ReadyForNextToil ()
(wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.StartJob_Patch1 (Verse.AI.Pawn_JobTracker,Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable`1<Verse.AI.JobTag>,bool,bool)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob ()
Verse.AI.Pawn_JobTracker:EndCurrentJob (Verse.AI.JobCondition,bool,bool)
(wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.JobTrackerTick_Patch0 (Verse.AI.Pawn_JobTracker)
(wrapper dynamic-method) Verse.Pawn:Verse.Pawn.Tick_Patch2 (Verse.Pawn)
Verse.TickList:Tick ()
(wrapper dynamic-method) Verse.TickManager:Verse.TickManager.DoSingleTick_Patch1 (Verse.TickManager)
Verse.TickManager:TickManagerUpdate ()
(wrapper dynamic-method) Verse.Game:Verse.Game.UpdatePlay_Patch1 (Verse.Game)
Verse.Root_Play:Update ()
Does this error occur when you create a caravan with food? Because I encounter the same error, because hungry animals try to eat the nearest available food and the nearest in their own inventory, which they can't access.
Hmm, I'll have a look at Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.StartJob_Patch1
At some point, see if i can see something that patch is messing up
this is related to a animal trying ot eat food in its inventory. you have to do some patch tp prevent them from checking inventory. think something in HSK cause this
this is related to a animal trying ot eat food in its inventory. you have to do some patch tp prevent them from checking inventory. think something in HSK cause this
Yes, I think the first error message is that, however the other one "Rhino_Wooly118217 started 10 jobs in one tick." occured when there were no caravan on the map, so that one must be caused by something else.
This issue is stale because it has been open for 14 days with no activity.
This issue was closed because it has been inactive for 1 days since being marked as stale.