Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
SUMMARY: Features "NPC jobs at camps"
Purpose of change
Fixes #34402
This allows NPCs to be assigned jobs at camp, then they will periodically scan for multi-activities that they can do, thats their job and they will keep doing it until told otherwise.
Describe the solution
Adds a UI to the bulletin board - under "assign jobs" entry, which will allow you to give each NPC stationed at that camp a job, this job will have a list of activity types that it will go through periodically ( every 30 minutes currently whilst testing impact on performance ), otherwise theyll hang around the camp waiting for the next moment they check if theres something to do.
To support this ive changed how "assign to camp" works, previously anyone asked to guard , whilst they were at a camp, were considered "stationed" there, now you have to explicitly say tht you want them to be assigned to this camp.
They will then act similar to an NPC on guard, they will be stationary ( pending future work in NPC being idle and getting food/drink in their downtime etc ), until they find work to do.
There is no priority currently to the list of activities per job category, it just checks a random one every checking interval, some sort of priority queue to work through would be ideal eventually.
I would like eventually some feedback on why the NPC dosnt complete their task, there are a lot of reasons why the work isnt possible, but often it just looks like the NPC stands there and dosnt move, because no feedback is given as to why.
The problem with this is that if it did a message every time they discounted a tile to work on, the message log would have horrendous spam, so im going to eventually work out a way to feed the activity code failure reasons into a seperate UI , like a basecamp work log, where you can search for why the NPC didnt have the skills to repair that vehicle, or the tools to build that wall.
Describe alternatives you've considered
N/A
Additional context
N/A