RimWorld

RimWorld

700 arvostelua
Get Out Of My Chair!
6
2
2
7
3
5
2
2
   
Palkinto
Lisää suosikkeihin
Lisätty suosikkeihin
Poista suosikeista
Mod, 1.4, 1.5, 1.6
Tiedostokoko
Julkaistu
Päivitetty
307.986 KB
21.12.2023 klo 18.02
13.6. klo 19.08
8 muutosilmoitusta ( näytä )

Tilaa ladataksesi
Get Out Of My Chair!

2 kokoelmassa, tekijä Aelanna
The Eccentric's Angels [1.4]
148 luomusta
The Eccentric's Angels [1.6]
123 luomusta
Kuvaus
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!
129 kommenttia
MedvePapus 24.11. klo 10.24 
I'll check it out in the next few weeks and get back to you, thanks for your reply!
Aelanna  [tekijä] 22.11. klo 8.55 
@MedvePapus - This mod does not alter the prioritization or search process for finding a chair to use, only what chairs a pawn is allowed to use. In general, they should still use the closest chair they're allowed to use; anything beyond that might be the result of interaction with another mod and I would need more information to go on to diagnose that.
MedvePapus 22.11. klo 8.51 
Is it normal that the pawns will go to their assigned chairs no matter what? So like he's in the top right, his room with his specifically assigned chair is in the bottom left, diner with the colonist chairs in the middle, and he walks to his assigned chair in his bedroom to eat All the time. No exceptions. Even if I build a maze around his assigned chair, and put a colonist chair right next to him, he will walk to his assigned chair.
Aelanna  [tekijä] 29.9. klo 5.52 
@V∆ŁĶẎŘĒΞ - Various locks mods have existed for years, I would definitely take a look at those. :)
V∆ŁĶẎŘĒΞ 28.9. klo 6.39 
Hi, is it possible to make the same mod, but not for a chair, but for doors?
Sir Rolin 10.9. klo 11.01 
Test it out, though it looks like a compatibility that they'd have to introduce.
Sir Rolin 10.8. klo 7.51 
@Quiana and @QOMRADEQUEER,
Does Prisoner Common not limmit chairs to prisoners?
https://psteamcommunity.yuanyoumao.com/sharedfiles/filedetails/?id=2898000489
Quiana 10.8. klo 6.19 
Hi Aelanna, would it be possible to have a toggle for chairs to allow only prisoners to use them? I know there is one for guests, but I don't want random guests using the chairs/table in my prison area.
QOMRADEQUEER 4.8. klo 15.34 
What about a prisoner toggle?