[1.3.0] Hospitality

Started by Orion, March 13, 2015, 11:19:16 AM

Previous topic - Next topic

Sivitri

Hello! I just want to say I love this mod, and I never seem to want to play Rimworld without it. I have a question I can't seem to find the answer to. I don't want to disable the mod, but I want to be able to "turn away" guests, at least at the start of the game, so they don't end up sleeping outside. Is there any way to do this, something that I may have missed?

Thanks in advance, and thanks for the mod!

Orion

Yes, just select a guest and click the "Send away" button on the guest tab.

SpaceDorf

Quote from: Orion on July 09, 2017, 07:09:00 AM
Maybe one day I'll make an options menu for the mod, then this could be an option...

Yes please :)
Maxim 1   : Pillage, then burn
Maxim 37 : There is no overkill. There is only open fire and reload.
Rule 34 of Rimworld :There is a mod for that.
Avatar Made by Chickenplucker

leeadriancatfox

Is it fix now~ that error that won't let me save unless I have to disable guest beds?

Orion

@leeadriancatfox: Why don't you tell me?


Update
1.17f - 11.07.2017
- New: Guests won't buy back items the player bought from them
- Fix: Error when allies can't reach player base
- Fix: When recruited, guest's timetable will be default
- Tweak: Sleeping spots now don't count as beds for mood
- Fix: Animal bed def error

Orion

Update
1.17g - 15.07.2017
- Fix: Visitors won't gift stuff they bought from the colony
- Fix: Visitors are not being interacted with

Wraithling

Thanks for the update Orion! Keep the fixes (and tweaks!) coming!  ;D

viperwasp

Will this be harmful to update mid save/game? Thanks.
•  Lian Li Lancool II MESH RGB
•  Intel Core i7-12700K Alder Lake 12-Core
•  64 GB Corsair Vengeance LPX 3600Mhz
•  WD Black SN850 2TB GEN4
•  2x WD Black 8TB
•  Windows 10 OS
•  RTX 4080 GIGABYTE Gaming OC 16GB
•  Dark Rock Pro 4 (CPU Cooler)
•  TUF Gaming Z690-Plus- WIFI D4

SpaceDorf

Quote from: viperwasp on July 15, 2017, 10:51:02 AM
Will this be harmful to update mid save/game? Thanks.

It should not.
Most modders give out a warning, if they changed something that could break savegames.
Or if adding/removing the mod does.

In this instance for example Orion changed some code that describes how pawns interact with each other, or what they do in
certain cases. This are Methods called during the game and have no influence on the savegame or the colony at all.

Removing hospitality on the other hand, while there are guest beds left in your colony, or maybe even guests created by it
will break your savegame. Because then there is leftover code in your savegame the game itself can't identify anymore and will cause errors.
Maxim 1   : Pillage, then burn
Maxim 37 : There is no overkill. There is only open fire and reload.
Rule 34 of Rimworld :There is a mod for that.
Avatar Made by Chickenplucker

bolbies

I am getting these errors constantly. Any ideas on how to fix them?

Billa started 10 jobs in one tick. newJob=GuestImproveRelationship A=Thing_Human14062047 jobGiver=RimWorld.JobGiver_Work jobList=(GuestImproveRelationship A=Thing_Human14062047) (GuestImproveRelationship A=Thing_Human14062047) (GuestImproveRelationship A=Thing_Human14062047) (GuestImproveRelationship A=Thing_Human14062047) (GuestImproveRelationship A=Thing_Human14062047) (GuestImproveRelationship A=Thing_Human14062047) (GuestImproveRelationship A=Thing_Human14062047) (GuestImproveRelationship A=Thing_Human14062047) (GuestImproveRelationship A=Thing_Human14062047) (GuestImproveRelationship A=Thing_Human14062047) (GuestImproveRelationship A=Thing_Human14062047)  lastJobGiver=RimWorld.JobGiver_Work
Verse.Log:Error(String)
Verse.AI.Pawn_JobTracker:StartErrorRecoverJob(String)
Verse.AI.Pawn_JobTracker:StartJob(Job, JobCondition, ThinkNode, Boolean, Boolean, ThinkTreeDef, Nullable`1)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob()
Verse.AI.Pawn_JobTracker:EndCurrentJob_Patch1(Object, JobCondition, Boolean)
Verse.AI.JobDriver:EndJobWith(JobCondition)
Verse.AI.JobDriver:CheckCurrentToilEndOrFail()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
RimWorld.<WaitToBeAbleToInteract>c__AnonStorey26B:<>m__DC()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.JobDriver:Notify_PatherArrived()
Verse.AI.Pawn_PathFollower:PatherArrived()
Verse.AI.Pawn_PathFollower:StartPath(LocalTargetInfo, PathEndMode)
Hospitality.<>c__DisplayClass3:<GotoGuest>b__1()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.Pawn_JobTracker:StartJob(Job, JobCondition, ThinkNode, Boolean, Boolean, ThinkTreeDef, Nullable`1)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob()
Verse.AI.Pawn_JobTracker:EndCurrentJob_Patch1(Object, JobCondition, Boolean)
Verse.AI.JobDriver:EndJobWith(JobCondition)
Verse.AI.JobDriver:CheckCurrentToilEndOrFail()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
RimWorld.<WaitToBeAbleToInteract>c__AnonStorey26B:<>m__DC()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.JobDriver:Notify_PatherArrived()
Verse.AI.Pawn_PathFollower:PatherArrived()
Verse.AI.Pawn_PathFollower:StartPath(LocalTargetInfo, PathEndMode)
Hospitality.<>c__DisplayClass3:<GotoGuest>b__1()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.Pawn_JobTracker:StartJob(Job, JobCondition, ThinkNode, Boolean, Boolean, ThinkTreeDef, Nullable`1)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob()
Verse.AI.Pawn_JobTracker:EndCurrentJob_Patch1(Object, JobCondition, Boolean)
Verse.AI.JobDriver:EndJobWith(JobCondition)
Verse.AI.JobDriver:CheckCurrentToilEndOrFail()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
RimWorld.<WaitToBeAbleToInteract>c__AnonStorey26B:<>m__DC()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.JobDriver:Notify_PatherArrived()
Verse.AI.Pawn_PathFollower:PatherArrived()
Verse.AI.Pawn_PathFollower:StartPath(LocalTargetInfo, PathEndMode)
Hospitality.<>c__DisplayClass3:<GotoGuest>b__1()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.Pawn_JobTracker:StartJob(Job, JobCondition, ThinkNode, Boolean, Boolean, ThinkTreeDef, Nullable`1)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob()
Verse.AI.Pawn_JobTracker:EndCurrentJob_Patch1(Object, JobCondition, Boolean)
Verse.AI.JobDriver:EndJobWith(JobCondition)
Verse.AI.JobDriver:CheckCurrentToilEndOrFail()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
RimWorld.<WaitToBeAbleToInteract>c__AnonStorey26B:<>m__DC()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.JobDriver:Notify_PatherArrived()
Verse.AI.Pawn_PathFollower:PatherArrived()
Verse.AI.Pawn_PathFollower:StartPath(LocalTargetInfo, PathEndMode)
Hospitality.<>c__DisplayClass3:<GotoGuest>b__1()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.Pawn_JobTracker:StartJob(Job, JobCondition, ThinkNode, Boolean, Boolean, ThinkTreeDef, Nullable`1)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob()
Verse.AI.Pawn_JobTracker:EndCurrentJob_Patch1(Object, JobCondition, Boolean)
Verse.AI.JobDriver:EndJobWith(JobCondition)
Verse.AI.JobDriver:CheckCurrentToilEndOrFail()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
RimWorld.<WaitToBeAbleToInteract>c__AnonStorey26B:<>m__DC()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.JobDriver:Notify_PatherArrived()
Verse.AI.Pawn_PathFollower:PatherArrived()
Verse.AI.Pawn_PathFollower:StartPath(LocalTargetInfo, PathEndMode)
Hospitality.<>c__DisplayClass3:<GotoGuest>b__1()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.Pawn_JobTracker:StartJob(Job, JobCondition, ThinkNode, Boolean, Boolean, ThinkTreeDef, Nullable`1)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob()
Verse.AI.Pawn_JobTracker:EndCurrentJob_Patch1(Object, JobCondition, Boolean)
Verse.AI.JobDriver:EndJobWith(JobCondition)
Verse.AI.JobDriver:CheckCurrentToilEndOrFail()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
RimWorld.<WaitToBeAbleToInteract>c__AnonStorey26B:<>m__DC()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.JobDriver:Notify_PatherArrived()
Verse.AI.Pawn_PathFollower:PatherArrived()
Verse.AI.Pawn_PathFollower:StartPath(LocalTargetInfo, PathEndMode)
Hospitality.<>c__DisplayClass3:<GotoGuest>b__1()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.Pawn_JobTracker:StartJob(Job, JobCondition, ThinkNode, Boolean, Boolean, ThinkTreeDef, Nullable`1)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob()
Verse.AI.Pawn_JobTracker:EndCurrentJob_Patch1(Object, JobCondition, Boolean)
Verse.AI.JobDriver:EndJobWith(JobCondition)
Verse.AI.JobDriver:CheckCurrentToilEndOrFail()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
RimWorld.<WaitToBeAbleToInteract>c__AnonStorey26B:<>m__DC()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.JobDriver:Notify_PatherArrived()
Verse.AI.Pawn_PathFollower:PatherArrived()
Verse.AI.Pawn_PathFollower:StartPath(LocalTargetInfo, PathEndMode)
Hospitality.<>c__DisplayClass3:<GotoGuest>b__1()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.Pawn_JobTracker:StartJob(Job, JobCondition, ThinkNode, Boolean, Boolean, ThinkTreeDef, Nullable`1)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob()
Verse.AI.Pawn_JobTracker:EndCurrentJob_Patch1(Object, JobCondition, Boolean)
Verse.AI.JobDriver:EndJobWith(JobCondition)
Verse.AI.JobDriver:CheckCurrentToilEndOrFail()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
RimWorld.<WaitToBeAbleToInteract>c__AnonStorey26B:<>m__DC()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.JobDriver:Notify_PatherArrived()
Verse.AI.Pawn_PathFollower:PatherArrived()
Verse.AI.Pawn_PathFollower:StartPath(LocalTargetInfo, PathEndMode)
Hospitality.<>c__DisplayClass3:<GotoGuest>b__1()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.Pawn_JobTracker:StartJob(Job, JobCondition, ThinkNode, Boolean, Boolean, ThinkTreeDef, Nullable`1)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob()
Verse.AI.Pawn_JobTracker:EndCurrentJob_Patch1(Object, JobCondition, Boolean)
Verse.AI.JobDriver:EndJobWith(JobCondition)
Verse.AI.JobDriver:CheckCurrentToilEndOrFail()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
RimWorld.<WaitToBeAbleToInteract>c__AnonStorey26B:<>m__DC()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.JobDriver:Notify_PatherArrived()
Verse.AI.Pawn_PathFollower:PatherArrived()
Verse.AI.Pawn_PathFollower:StartPath(LocalTargetInfo, PathEndMode)
Hospitality.<>c__DisplayClass3:<GotoGuest>b__1()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.Pawn_JobTracker:StartJob(Job, JobCondition, ThinkNode, Boolean, Boolean, ThinkTreeDef, Nullable`1)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob()
Verse.AI.Pawn_JobTracker:EndCurrentJob_Patch1(Object, JobCondition, Boolean)
Verse.AI.JobDriver:EndJobWith(JobCondition)
Verse.AI.JobDriver:CheckCurrentToilEndOrFail()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
RimWorld.<WaitToBeAbleToInteract>c__AnonStorey26B:<>m__DC()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.JobDriver:Notify_PatherArrived()
Verse.AI.Pawn_PathFollower:PatherArrived()
Verse.AI.Pawn_PathFollower:StartPath(LocalTargetInfo, PathEndMode)
Hospitality.<>c__DisplayClass3:<GotoGuest>b__1()
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
Verse.AI.Pawn_JobTracker:StartJob(Job, JobCondition, ThinkNode, Boolean, Boolean, ThinkTreeDef, Nullable`1)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob()
Verse.AI.Pawn_JobTracker:EndCurrentJob_Patch1(Object, JobCondition, Boolean)
Verse.AI.JobDriver:EndJobWith(JobCondition)
Verse.AI.JobDriver:CheckCurrentToilEndOrFail()
Verse.AI.JobDriver:DriverTick()
Verse.AI.Pawn_JobTracker:JobTrackerTick()
Verse.Pawn:Tick()
Verse.TickList:Tick()
Verse.TickManager:DoSingleTick()
Verse.TickManager:TickManagerUpdate()
Verse.Game:UpdatePlay()
Verse.Root_Play:Update()


Object reference not set to an instance of an object
Verse.Log:Warning(String)
Hospitality.ThoughtWorker_Beds:CurrentStateInternal(Pawn)
RimWorld.ThoughtWorker:CurrentState(Pawn)
RimWorld.SituationalThoughtHandler:TryCreateThought(ThoughtDef)
RimWorld.SituationalThoughtHandler:CheckRecalculateMoodThoughts()
RimWorld.SituationalThoughtHandler:AppendMoodThoughts(List`1)
RimWorld.ThoughtHandler:GetAllMoodThoughts(List`1)
RimWorld.ThoughtHandler:GetDistinctMoodThoughtGroups(List`1)
RimWorld.ThoughtHandler:TotalMoodOffset()
RimWorld.Need_Mood:get_CurInstantLevel()
RimWorld.Need_Seeker:NeedInterval()
RimWorld.Need_Mood:NeedInterval()
RimWorld.Pawn_NeedsTracker:NeedsTrackerTick()
Verse.Pawn:Tick()
Verse.TickList:Tick()
Verse.TickManager:DoSingleTick()
Verse.TickManager:TickManagerUpdate()
Verse.Game:UpdatePlay()
Verse.Root_Play:Update()

Orion

Since when are you getting them? Which version do you use? Constantly as in "every frame" or "every couple of minutes"? Immediately when you load your game or so you have to do something? Are guests present in your game when it happens? Do you have beds? What if you destroy them all? What if you send the guests away?

PreDiabetic

Why I can FORCE drop Visitors inventory? Is this suppose to be happen like this? Because my inner cheater wants to do always.

Orion

There's another mod that causes this to be possible. Could you post your console log or mod list?

bolbies

#1783
Quote from: Orion on July 16, 2017, 05:23:46 AM
Since when are you getting them? Which version do you use? Constantly as in "every frame" or "every couple of minutes"? Immediately when you load your game or so you have to do something? Are guests present in your game when it happens? Do you have beds? What if you destroy them all? What if you send the guests away?

I've been getting them for a little while but now that big groups of visitors come it becomes quite common. It seems to occur only when my colonists attempt charming visitors. When visitors aren't there, there aren't any errors. I will try destroying the beds and send the guests away and get back to you.

Edit: I deleted the beds and sent the guests away separately, then together, and I still get the errors. But when the visitors get out of the home area and my pawns stop trying to charm them, the errors stop.

Dal2kDemon

Is it normal that when guests are killed by wild animals, the faction relation drops by -5 ?

Because I use the mod that makes the map fills with many predators and guests are attacked to death quite often.