RimWorld

RimWorld

611 ratings
Get Out Of My Chair!
6
2
2
6
3
5
2
2
   
Award
Favorite
Favorited
Unfavorite
Mod, 1.4, 1.5
File Size
Posted
Updated
281.406 KB
Dec 21, 2023 @ 6:02pm
Mar 14, 2024 @ 8:40pm
6 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, 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 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.

Links

Furniture in the preview image is from Eccentric Tech - Spacer Furniture. Please check out the entire Eccentric Tech collection!
106 Comments
Dizzy Ioeuy Feb 1 @ 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 Jan 6 @ 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 Dec 6, 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 Nov 27, 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!
Yoann Nov 24, 2024 @ 11:33am 
"When set to Colonist, only player-controlled colonists and slaves can use the chair." For me, the slaves can't use the chair (so I can't disallow visitors/traders to use my dinner room if I want my slave to use it).

Also, a chair set to Private cannot be Reinstalled by non-owner pawn (maybe also true for other configs/tasks).
blackrave Nov 11, 2024 @ 12:17am 
Yes, yes
BUT
is this CE compatible???
SSS-class Principled Pragmatist Oct 7, 2024 @ 12:42am 
Imagine asking if this is CE compatible
Whiskey Jun 5, 2024 @ 7:10pm 
Possible to add compatibility to hospitality, so there's a colonists & guests/visitors? Would be nice to strictly have chairs avail for **non** colonists and visitors, or to mark them as trader-only.
Leanfrog May 30, 2024 @ 2:43pm 
I've found that if you set chairs in workspots to be colonist only it prevents mechanoids from working at that station. This led to a series of troubleshooting efforts for something that was so simple to fix.
(≡◉‿‿◉≡) May 11, 2024 @ 6:05am 
I've been waiting for soooo long for this mod. Now I can have an Arena where the royalty can now sit in the private chairs and watch em slaves kill themselves or fight and be eaten by a hungry cat with bionic limbs. 🥹 🥹