OrionFive / Hospitality

Orion's "Hospitality" and more
https://www.patreon.com/orionmods
GNU General Public License v3.0
91 stars 54 forks source link

Hospitality: guests choose double bed but cannot lie down. #764

Closed Dedekay1 closed 1 year ago

Dedekay1 commented 1 year ago

guests choose double beds but cannot lie down. 10 jobs in one tick error. Also tried it on a new world with just Hugslib and Hospitality. But then the error occurs.

Console log Valerie started 10 jobs in one tick. newJob=LayDown (Job_25588463) A=Thing_RoyalBedGuest2600763 jobGiver=Hospitality.JobGiver_Sleep jobList=(LayDown (Job_25588453) A=Thing_RoyalBedGuest2600763) (LayDown (Job_25588454) A=Thing_RoyalBedGuest2600763) (LayDown (Job_25588455) A=Thing_RoyalBedGuest2600763) (LayDown (Job_25588456) A=Thing_RoyalBedGuest2600763) (LayDown (Job_25588457) A=Thing_RoyalBedGuest2600763) (LayDown (Job_25588458) A=Thing_RoyalBedGuest2600763) (LayDown (Job_25588459) A=Thing_RoyalBedGuest2600763) (LayDown (Job_25588460) A=Thing_RoyalBedGuest2600763) (LayDown (Job_25588461) A=Thing_RoyalBedGuest2600763) (LayDown (Job_25588462) A=Thing_RoyalBedGuest2600763) (LayDown (Job_25588463) A=Thing_RoyalBedGuest2600763) UnityEngine.StackTraceUtility:ExtractStackTrace () (wrapper dynamic-method) Verse.Log:Verse.Log.Error_Patch1 (string) (wrapper dynamic-method) Verse.AI.JobUtility:Verse.AI.JobUtility.TryStartErrorRecoverJob_Patch1 (Verse.Pawn,string,System.Exception,Verse.AI.JobDriver) (wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.StartJob_Patch3 (Verse.AI.Pawn_JobTracker,Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable1<Verse.AI.JobTag>,bool,bool,System.Nullable1,bool,bool) Verse.AI.Pawn_JobTracker:TryFindAndStartJob () (wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.EndCurrentJob_Patch1 (Verse.AI.Pawn_JobTracker,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_Patch3 (Verse.AI.Pawn_JobTracker,Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable1<Verse.AI.JobTag>,bool,bool,System.Nullable1,bool,bool) Verse.AI.Pawn_JobTracker:TryFindAndStartJob () (wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.EndCurrentJob_Patch1 (Verse.AI.Pawn_JobTracker,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_Patch3 (Verse.AI.Pawn_JobTracker,Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable1<Verse.AI.JobTag>,bool,bool,System.Nullable1,bool,bool) Verse.AI.Pawn_JobTracker:TryFindAndStartJob () (wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.EndCurrentJob_Patch1 (Verse.AI.Pawn_JobTracker,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_Patch3 (Verse.AI.Pawn_JobTracker,Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable1<Verse.AI.JobTag>,bool,bool,System.Nullable1,bool,bool) Verse.AI.Pawn_JobTracker:TryFindAndStartJob () (wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.EndCurrentJob_Patch1 (Verse.AI.Pawn_JobTracker,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_Patch3 (Verse.AI.Pawn_JobTracker,Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable1<Verse.AI.JobTag>,bool,bool,System.Nullable1,bool,bool) Verse.AI.Pawn_JobTracker:TryFindAndStartJob () (wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.EndCurrentJob_Patch1 (Verse.AI.Pawn_JobTracker,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_Patch3 (Verse.AI.Pawn_JobTracker,Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable1<Verse.AI.JobTag>,bool,bool,System.Nullable1,bool,bool) Verse.AI.Pawn_JobTracker:TryFindAndStartJob () (wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.EndCurrentJob_Patch1 (Verse.AI.Pawn_JobTracker,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_Patch3 (Verse.AI.Pawn_JobTracker,Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable1<Verse.AI.JobTag>,bool,bool,System.Nullable1,bool,bool) Verse.AI.Pawn_JobTracker:TryFindAndStartJob () (wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.EndCurrentJob_Patch1 (Verse.AI.Pawn_JobTracker,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_Patch3 (Verse.AI.Pawn_JobTracker,Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable1<Verse.AI.JobTag>,bool,bool,System.Nullable1,bool,bool) Verse.AI.Pawn_JobTracker:TryFindAndStartJob () (wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.EndCurrentJob_Patch1 (Verse.AI.Pawn_JobTracker,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_Patch3 (Verse.AI.Pawn_JobTracker,Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable1<Verse.AI.JobTag>,bool,bool,System.Nullable1,bool,bool) Verse.AI.Pawn_JobTracker:TryFindAndStartJob () (wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.EndCurrentJob_Patch1 (Verse.AI.Pawn_JobTracker,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_Patch3 (Verse.AI.Pawn_JobTracker,Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable1<Verse.AI.JobTag>,bool,bool,System.Nullable1,bool,bool) Verse.AI.Pawn_JobTracker:TryFindAndStartJob () (wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.EndCurrentJob_Patch1 (Verse.AI.Pawn_JobTracker,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_Patch3 (Verse.AI.Pawn_JobTracker,Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable1<Verse.AI.JobTag>,bool,bool,System.Nullable1,bool,bool) Verse.AI.Pawn_JobTracker:TryFindAndStartJob () (wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.EndCurrentJob_Patch1 (Verse.AI.Pawn_JobTracker,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_Patch4 (Verse.TickManager) (wrapper dynamic-method) Verse.TickManager:Verse.TickManager.TickManagerUpdate_Patch2 (Verse.TickManager) (wrapper dynamic-method) Verse.Game:Verse.Game.UpdatePlay_Patch1 (Verse.Game) (wrapper dynamic-method) Verse.Root_Play:Verse.Root_Play.Update_Patch1 (Verse.Root_Play)

OrionFive commented 1 year ago

So you're saying if I start a new game, build a double guest bed and let guests use it it will break?I can try and reproduce that. Maybe some vanilla code changed that messes things up.

OrionFive commented 1 year ago

Okay, so given your instructions, I can't reproduce this in a normal game: image