Is your feature request related to a problem? Please describe.
I dont like how my followers rest on sub optimal places, especially when beds are nearby, i saw one of them sleep on a brazier...
Describe the solution you'd like
Let us desginate beds/resting areas for companions
Additional context
If a companion has a resting area desginated, they will go there if tired. If guarding, and you are nearby or they have a radio, they will ask you if they can get off guard duty to rest
Assigning seats in a vehicle would be nice too.
You can assign seats in a vehicle, and the NPC tutorial even specifically mentions how to do it.
NPC sleep areas can probably be implemented with a new zone.
It might be worth loosening up their checks for nearby beds. Currently they'll stop looking at a couple of tiles for a stock bed, and a few more for one with a sleep aid. When I fixed #27507 I set it close to the original (short search) behavior, figuring people didn't want their NPCs walking twenty tiles down the hall and sleeping in the PC's master bedroom, and players could just set NPCs to guard near the chosen beds as a de facto assignment method.
By this I mean, do you guys think that would be a good idea? I'm familiar with that part of the code and could rework it if it'd help.
It might be worth loosening up their checks for nearby beds. Currently they'll stop looking at a couple of tiles for a stock bed, and a few more for one with a sleep aid. When I fixed #27507 I set it close to the original (short search) behavior, figuring people didn't want their NPCs walking twenty tiles down the hall and sleeping in the PC's master bedroom, and players could just set NPCs to guard near the chosen beds as a de facto assignment method.
By this I mean, do you guys think that would be a good idea? I'm familiar with that part of the code and could rework it if it'd help.
it would be really nice if you could tell npcs exactly where they need to go, so they wont have to search, and so you can put them at usefull guard positions
@jeremyshannon if you can contribute a fix, please do. This is just annoying enough to me that I may fix it soon, but I am really trying to fix 0.E bugs now.
Sure, I can do so, but I'm not sure if these nice folks would consider just extending the search range to be a "fix" for this. I'll be back this afternoon and see what you guys think.
Placing sleep aids makes a bed more comfortable, and the more comfortable the farther they will go to get to it, but I think maybe distance is overpenalized.
I think extending search range would just be a bandaid fix
Also, why would a npc consider a brazier as a good sleeping space
Well, it's a bandaid, but it's pretty simple code to do. The tough part is testing various values to see what produces the most reasonable behavior. I'll see if I can't do so tomorrow.
Update: The relevant code was hairier than I remembered, but now I see the problems are even worse than they seemed. The brazier isn't the only inappropriate bed choice, I had an NPC decide that a tulip tile was a better place to sleep than a bed just four tiles away from it.
Assigning beds is definitely a better solution for now, because NPCs are too dumb to reliably find beds on their own. I suspect we need JSON tags for comfortable/semi-comfortable sleeping places.
I suspect we need JSON tags for comfortable/semi-comfortable sleeping places.
Well, we already have floor_bedding_warmth and comfort fields for furniture.
Derp, that's right, the bit I was thinking of is for vehicles, which is hard-coded.
I'd assume that setting a bed vs having an NPC have to search for a nearby bed would have less overhead as well.
You end up having to search for the zones so you don't gain all that much, plus you need the old code as a fallback.
assuming its gonna be a zone thing and not a assign seats in vehicle thing
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. Please do not \'bump\' or comment on this issue unless you are actively working on it. Stale issues, and stale issues that are closed are still considered.
This issue has been automatically closed due to lack of activity. This does not mean that we do not value the issue. Feel free to request that it be re-opened if you are going to actively work on it