RimWorld

RimWorld

484 ratings
Get Out Of My Chair!
6
2
2
3
5
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 @ 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!
100 Comments
Whiskey Jun 5 @ 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 @ 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 @ 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. 🥹 🥹
Fayren Apr 28 @ 7:01am 
stupid traders always prevent my colonists from having a meal by having all the chairs be taken. Like bruh wtf are u doing in my house go eat outside.
Heart Eyes Apr 23 @ 9:43pm 
was trying to get the lock mods for this exact purpose and they wouldnt update but this is perfect, thank you
RocketRacoon Apr 19 @ 1:28am 
@Sir Rolin not really, I'm using that mod already. But my colonist still use the chairs from prison commons.
Sprankles Apr 3 @ 2:41am 
Finally I can stop colonists from sitting on the throne to read books!
Estalagmita Mar 19 @ 4:55am 
The artwork of this mod should be Sheldon cooper
Futstub Mar 15 @ 6:11am 
I second the request for a) @RocketRacoon "prisoner category" and b) @The Blind One "*not*-function for specific categories.
Thanks for the mod my dude!
Sir Rolin Mar 7 @ 5:03pm 
@RocketRacoon,
This is probably the mod you need: https://steamcommunity.com/sharedfiles/filedetails/?id=2898000489