RimWorld

RimWorld

655 ratings
Get Out Of My Chair!
6
2
2
6
3
5
2
2
   
Award
Favorite
Favorited
Unfavorite
Mod, 1.4, 1.5, 1.6
File Size
Posted
Updated
307.986 KB
21 Dec, 2023 @ 6:02pm
13 Jun @ 7:08pm
8 Change Notes ( view )

Subscribe to download
Get Out Of My Chair!

In 1 collection by Aelanna
The Eccentric's Angels [1.4]
148 items
Description
Stop colonists from using chairs that don't belong to them!

Mod Content

This mini-mod adds a toggle on all "sittable" furniture that allows you to specify them as Public, Colonist, Slave, Private, Guest, or Disallowed. This includes all vanilla chairs as well as modded chairs, sofas, thrones, and even toilets!

  • When set to Colonist, only player-controlled colonists and slaves can use the chair.
  • When set to Slave, only player-controlled slaves can use the chair.
  • When set to Private, colonists will only use the specified chair if their assigned bed is in the same room as the chair. This works for both couples and barracks.
  • Additional, when set to Private, you can assign a specific colonist or slave to the chair. No one else will be allowed to use it.
  • When set to Guest, then anyone that is not a player-controlled colonist or slave can use the chair.
  • When set to Disallowed, no one can use this chair.

For convenience, there is also a toggle on tables to set the use permissions of all chairs adjacent to it.

Technical Details

Get Out Of My Chair! uses a single postfix on ReservationUtility.CanReserve() to disallow pawns that do not meet its use permissions from reserving it for jobs.

Get Out Of My Chair! also uses three postfixes on CompGatherSpot.CompGetGizmosExtra(), Building.GetGizmos(), and Building.ExposeData() to display the dining policy toggle and save and load chair settings.

Get Out Of My Chair! has one final postfix on MemoryUtility.ClearAllMapsAndWorld() to clear its cached data when loading a new game or returning to the main menu.

This mod operates on chairs instead of tables because many jobs such as eating actually search for unreserved chairs first before validating that they are in fact adjacent to a table surface. Policy data is kept in a Dictionary<int, enum> that uses the chair's thingIDNumber as the key for its use mode and a second Dictionary<int, int> for specific owners in Private use mode.

Compatibility

Get Out Of My Chair! is potentially incompatible with Table Diner, which appears to use a destructive prefix on the vanilla chair-finding code.

Get Out Of My Chair! mostly works with Multiplayer except for assigning specific colonists to chairs. Doing so will cause a desync when a colonist attempts to use the chair.

Known Issues

  • When a chair is designated to be Deconstructed, Uninstalled, Painted, or Paint Removed, then permissions are disabled. This is done because otherwise no one but the permitted users would be able to perform these jobs, and specifically limiting the permissions check to specific jobs would both be a more invasive patch and not be able to catch modded jobs.

Links

Furniture in the preview image is from Eccentric Tech - Spacer Furniture. Please check out the entire Eccentric Tech collection!
112 Comments
Sir Rolin 24 Jun @ 1:09pm 
@Bazill, There is no russian translation mod of this mod.
Bazill 24 Jun @ 3:11am 
Скиньте, пожалуйста, ссылку на русификатор. Заранее спасибо
Eokai 14 Jun @ 1:54am 
Thank you Aelanna, it's all fixed now :)
Aelanna  [author] 13 Jun @ 7:09pm 
@Eokai @lecljz - I just pushed v1.4.1 which should fix those issues. Apologies for the inconvenience, please let me know if the error persists!
lecljz 13 Jun @ 6:59pm 
Yea having the same issue as Eokai, they won't use the chair, they can't pick up and place the chair somewhere else, ect...
Eokai 13 Jun @ 3:58am 
Hi Aelanna, I love this mod, but since 1.6 update any chairs set to public aren't being used by my colonists, I have to set all my workbench chairs to colonist or they can't use the workbench. Thanks for all your hard work
Dizzy Ioeuy 1 Feb @ 2:27pm 
Just had to come back to say it again- BEST solution for this I've seen in the mods! THANK YOU!!!!!!!!!
Dizzy Ioeuy 6 Jan @ 6:52pm 
GREAT MOD! Here's an odd request- "Guest" setting, so that only non player pawns (not slaves though) sit there. You know for guests only.

Thanks for the mod core use already!
laika 6 Dec, 2024 @ 9:37am 
This mod is beautiful. Thank you. No more walking in someone's bedroom while they sleep just to eat at their desk and stare into their soul like a sleep paralysis demon
ponpeco 27 Nov, 2024 @ 5:30am 
Hello, I'm Japanese player.

I’m writing to share an unusual behavior I’ve observed.
"Furniture with a dyeing reservation using Tinctoria seems to ignore the settings of Get Out Of My Chair!"

This behavior has been reproduced not only in my environment but also in the environments of other players who helped me verify it. If this is an intended behavior, I apologize for any inconvenience caused by this report.

There were no error logs displayed, but I’ve attached the HugsLib log and a screenshot for your reference.
https://gist.github.com/HugsLibRecordKeeper/273b5643b7ad64eb432d3a1333ffab63
https://imgur.com/AMXFskn
If you need any additional data, please feel free to let me know.

I always enjoy using Get Out Of My Chair! It’s an incredibly helpful mod. Thank you so much for creating it, and I look forward to continuing to use it!