There will be times that may require you to strip someone down to nudity.
This makes me deeply uncomfortable. I’d rather a toggle for always present underclothing in settings so I don’t have to think about it.
(Yes, somehow this is my biggest gripe with the game.)
2 Likes
This is being worked on actively actually.
space-wizards:master
← SlamBamActionman:undergarments
opened 12:17AM - 06 Nov 24 UTC
## About the PR
This PR adds the ability to equip undergarments to characte… rs, as well as a Censor Nudity Toggle. This toggle is available as a client option in the Accessibility tab of the Options menu, and as a server variable.
There are 4 top and 3 bottom undergarments added:
> Tanktop (default with toggle)
> Binder
> Classic Bra
> Sports Bra
> Boxers (default with toggle)
> Briefs
> Satin
These undergarments can be found as markings in the character creator.
The Censor Nudity Toggle is available under the Accessibility tab in Options. If enabled, characters *who have not selected a top/bottom undergarment* will be outfitted with a default selection (Tanktop + Boxers). This default selection is overridden if another undergarment has been selected to that slot. Note that this option is clientside-only, and will not be replicated on other clients.
Servers have the ability to override the client selection via the CCvar `server_nudity_toggle`, which when set to true makes all clients behave as if they have the Censor Nudity Toggle option selected. If the CCvar is set to false, the client selection will take priority.
This PR is inspired by #31221.
## Why / Balance
Nudity, even if it is just a single pixel or two, may cause discomfort for some players. This can manifest as discomfort at having their own character bared nude for other players, or other characters being nude around them. A nudity toggle allows for said players to engage with the game without impacting the game for other players.
Streamers may also have issues with nudity due to streaming platform Terms of Services.
Since nudity is not supposed to be a focus in the game (at least upstream) the selection of undergarments have been made intentionally very limited and lacks customization options. The selection should be enough for a player to select undergarments that is suitable for their character's presentation without putting undue focus on using it as a means of expression.
Reptilians and Vox have custom undergarments due to differences in sprites (Vox are self-explanatory, Reptilians have a higher-up crotch area).
**Note that the specific sprites are not necessarily final representations, and are open to be resprited.**
## Technical details
`LayerColoringType` has been made nullable, as there was no option for a type that has a single color without a slider that isn't dependent on another property (unlike how eye/skincolor is). If it's null, it just uses the default color and won't allow it to be changed.
There's some basic options code and cvars, what's important is what happens in `HumanoidAppearanceSystem.cs`:
In `UpdateSprite()`, it checks whether nudity censoring is toggled either client- or serverside; if there already exists a marking that matches `UndergarmentTop`/`UndergarmentBottom` all is well and not much more happens, but if one is missing `AddUndergarments()` is ran and applies a marking set via `HumanoidAppearanceComponent`. These markings are also added to `ClientOldMarkings` so that they can be removed should the toggle turn off/a marking be selected in the character menu.
## Media
<!-- Attach media if the PR makes ingame changes (clothing, items, features, etc).
Small fixes/refactors are exempt. Media may be used in SS14 progress reports with credit. -->
Tanktop + Boxers; the default, which displays when Censor Nudity Toggle is enabled:

Classic Bra + Briefs:

Sports Bra + Satin:

Binder + Boxers:

Example lizard clothing, Tanktop + Boxers:

Example vox clothing, Tanktop + Boxers:



## How to test
1. Boot up Dev map
2. Go into Options menu, Accessibility tab, toggle Censor Nudity Toggle on.
3. Observe how Urists in the Dev map have clothing.
4. Use the Command `golobby` to go to the lobby.
5. Enter character creation, select Hide Clothes and go to the Markings tab
6. Select a combination of undergarments and notice how they override the default clothing.
7. Save, go back to Options and toggle it off. Notice how the selected undergarments remain.
8. Go back into the Dev map, see that Urists are naked.
9. Type the Command `> cvar accessibility.server_censor_nudity True`.
10. Observe how Urists in the Dev map have clothing again.
## Requirements
- [x] I have read and am following the [Pull Request and Changelog Guidelines](https://docs.spacestation14.com/en/general-development/codebase-info/pull-request-guidelines.html).
- [x] I have added media to this PR or it does not require an ingame showcase.
## Breaking changes
<!-- List any breaking changes, including namespaces, public class/method/field changes, prototype renames; and provide instructions for fixing them.
This will be posted in #codebase-changes. -->
**Changelog**
<!-- Add a Changelog entry to make players aware of new features or changes that could affect gameplay.
Make sure to read the guidelines and take this Changelog template out of the comment block in order for it to show up.
Changelog must have a :cl: symbol, so the bot recognizes the changes and adds them to the game's changelog. -->
:cl:
- add: Added top and bottom undergarments, which can be found in the Markings tab of the character creator.
- add: Added a Censor Nudity Toggle under the Accessibility tab of Options, which adds undergarments to all characters on your client. Undergarments selected in the character creator take priority.
2 Likes
I’m actually really glad this is being working on currently, there have been a LOOOOOT of scenarios as Security where I had to switch someone to prisoner garbs for Perma and they were NSFW towards me.
So as someone who played a lot of Sec… nice.
Simyon
March 2, 2025, 10:14pm
4
If anyone makes you feel uncomfortable playing the game (Especially stuff that gets near to ERP territory, even if you are not engaging) you should be using Admin Help (F1) to report it.
1 Like
This PR should be merged eventually though.
Simyon
March 2, 2025, 10:49pm
6
I’ll check back with Slam so they can fix the conflicts and then take a look and get this merged. This is important accessibility.
Simyon
March 5, 2025, 9:15am
7
The PR has been merged. It’ll land on Vulture later and on stable in a week-ish.