RimWorld

RimWorld

662 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!
119 Comments
Kyle McTexas 28 Jul @ 7:47pm 
@Aelanna I made a Fabricor and made a bill on the fabrication bench. Fabricor did not want to do work unless the chair was place in 'Public' mode. I haven't tried with other workbenches or other mechs but it most definitely messes up fabricor from interacting with the fabrication bench.
Aelanna  [author] 28 Jul @ 7:05pm 
@Kyle McTexas - This is happening with chairs attached to workbenches? Or what do you mean by tables here?
LeafLover21 28 Jul @ 6:43pm 
For hospitality gastronomy continued
LeafLover21 28 Jul @ 6:43pm 
Oh its just that I found this in the Known incompatible mods section




Known incompatible mods: [MOST OF THESE ARE UNTESTED IN 1.6]
There are only few incompatible mods known yet (please let me know if you find any). Probably crazy stuff like special prisoners and babies and what-not will cause issues. We'll see.
- Room Food (patrons will not order) - not 1.6
- Impassable Furniture (waiters stop moving if tables are impassable)
- Vampires and werewolves from Jecrell's mods (cause errors)
- Save Our Ship 2: Tables set for dining prevent ship movement - not 1.6


- Get Out Of My Chair (tables stop working)
Kyle McTexas 28 Jul @ 5:38pm 
Hey @Aelanna, your mod makes any Mech not do any bills if you don't have the chair set to 'Public'. Is there any way you can fix this? Love the mod but I don't want to set my stuff to 'Public' or else everyone thinks my table is suddenly free real estate.
Aelanna  [author] 28 Jul @ 4:58pm 
@LeafLover21 - Should be, but exactly what kind of issues are you seeing? Would be nice to be able to fix it if there's any compatibility issues.
LeafLover21 28 Jul @ 4:14pm 
Hello I was wondering if this mod is safe to uninstall because this mod is causing me issues with hospitality gastronomy continued
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 :)