Skip to content

Add interaction between the Schedule tab and Work tab. #211

@basicsmods

Description

@basicsmods

What I'm mainly curious about is whether you think this is reasonably feasible. If you think it is, I'd like to try working on it myself. If you don't think it's possible or you think it would be a massive undertaking then I'll just forget about it.

The idea is basically to give your scheduled "jobs" (so for example a 4 hour time range in the Schedule tab being set to sleep/recreation/meditation) a priority that interacts with the work tab priorities.

Let's say that you want to prioritize growing anima grass so you want your pawns to be meditating as much as possible. You want one of your pawns to be set to Meditate for 18h per day (with the other 6h set to sleep) so you set that in the Schedule tab. But that pawn is also your cook. So you want them to go cook whenever there's cooking jobs and to meditate / sleep otherwise. Using this hypothetical feature, you set the "Schedule priority" to 2 and you set that pawn's Cooking priority to 1.

Another example is with doctoring. It's very annoying to have someone bleeding out in the bed 2 feet away from your sleeping / meditating doctor and your doctor's like "damn that pawn could really use a doctor, but it's bed / meditation time for me rip". This feature would fix this issue (as long as the doctor was actually sleeping / meditating due to the Schedule tab and not because of their basic needs). (I know there are other mods that try to specifically fix this "lazy doctoring" issue, but a) they don't seem to work all that well, and b) this is just an example for a feature that would be more generally useful than just this example.)

More generally, you give the Schedule tab itself a priority. Anytime a pawn is doing something specifically because the schedule tab is "telling" them to do it they will ignore the schedule tabs wishes if there is an available job with higher priority.

Pawns still do some of those things (meditate, recreation, sleep) even when they are not scheduled. The pawn reached a threshold and decided they need to do those things. Those times should be unaffected by this feature. This feature should only "commandeer" the pawn's current task when they are doing something specifically due to a schedule tab node.

This could potentially be tuned to be a bit smarter (and maybe more efficient from a CPU perspective) by only checking once every half hour (or any arbitrary time length that seems appropriate) so the pawn isn't constantly running back and forth between their bed / meditation spot and a "job-site" that keeps getting a new task available.

So anyways, do you think this is reasonably achievable?

PS. Thanks for the incredible mod and all the other mods you've made and maintain. It cannot be overstated how huge of an impact your work (and the work of other large scale modders) have on this game. The community is in debt to you all.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions