<!--
This is a semi-strict format, you can add/remove sections as needed but
the order/format should be kept the same
Remove these comments before submitting
-->
# Description
<!--
Explain this PR in as much detail as applicable
Some example prompts to consider:
How might this affect the game? The codebase?
What might be some alternatives to this?
How/Who does this benefit/hurt [the game/codebase]?
-->
This PR does not have any effects on the game from a player-perspective.
It does, however, allow us to add CharacterRequirements to
ExtendDescriptions, which allows us to add contextual information to
items that only show up if characters know about them, for example. It
has an optional field that can also show text if your character does
_not_ meet requirements.
---
# TODO
<!--
A list of everything you have to do before this PR is "complete"
You probably won't have to complete everything before merging but it's
good to leave future references
-->
- [x] Add a bunch of CharacterRequirements to new and existing
ExtendDescriptions for contraband or other neat info
---
<!--
This is default collapsed, readers click to expand it and see all your
media
The PR media section can get very large at times, so this is a good way
to keep it clean
The title is written using HTML tags
The title must be within the <summary> tags or you won't see it
-->
<details><summary><h1>Media</h1></summary>
<p>
Example of how to add a requirement:

https://github.com/user-attachments/assets/67ad6ecd-1886-4f71-85c0-fdd035a9f5c9

</p>
</details>
---
# Changelog
<!--
You can add an author after the `🆑` to change the name that appears
in the changelog (ex: `🆑 Death`)
Leaving it blank will default to your GitHub display name
This includes all available types for the changelog
-->
🆑
- tweak: Tweaked Extended Descriptions to be able to require
CharacterRequirements before being shown to the player. Currently not
actually implemented anywhere except for the emag and some posters.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
## Summary by CodeRabbit
- **New Features**
- Enhanced character creation and role-validation systems now
incorporate playtime tracking and additional criteria, providing a more
tailored experience.
- In-game items—such as hacking devices, weapons, and posters—feature
extended, lore-rich descriptions that adjust based on character
attributes.
- New localized texts enrich the narrative by offering clear feedback
when character requirements are or aren’t met.
- New character requirements related to antagonists and mindshields have
been introduced, enhancing gameplay dynamics.
- A new method for validating character requirements has been added,
improving the accuracy of checks during character creation.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
(cherry picked from commit 0640f1f54619a95a4360a79b870654b2c4a1e433)
# Description
- Makes jobs use CharacterRequirements
- Makes antags use CharReqs
- Splits CharReqs into multiple files
- Adds a Whitelist CharReq
- Prays the tests pass
---
---------
Signed-off-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
Description copied from my Wizard's Den PR
Resolves https://github.com/Simple-Station/Einstein-Engines/issues/32
# TODO
- [x] CVars
- [x] Server side loadout point validation
- Make tabContainer less bad
- [x] Move head clothes to loadouts from lockers
- [x] Move job starting equipment to loadouts
- [x] Loadout item preview
- [x] Fix loadouts duplicating on server restart
- [x] Make sure everything is localized -- Components and Tags are an
odd thing to display to the player in the whitelist and are very
unrealistic to make localizations for, so.. not doing that, what do I
do?
- [x] Fix all items going into the bag no matter their size
- [x] Add min/cur/max points to the bar
- [x] Use buttons instead of checkboxes
- [x] "Show Unusable" button to hide things your character currently
doesn't match the whitelists for
- [x] Time whitelist option
- [x] Species whitelist option
- [x] Trait whitelist option instead of EntityWhitelist for the sake of
localization
- [ ] More loadouts (filler things while waiting for review)
- [ ] - Golden or themed items for Command roles with an undecided
amount of playtime on their respective jobs
- [x] - Goliath cloak for playing a lot of Salvage
- [x] - Senior items for playing a lot of its respective role
- [ ] - Varying materials of pocket watches for people with varying
overall playtime
- [x] Fix loadout selectors not updating to match current preferences
<details><summary><h1>Media (Click Me!)</h1></summary>
<p>
I need to rerecord these
https://github.com/space-wizards/space-station-14/assets/77995199/59713874-b043-4813-848e-56b2951b6935https://github.com/space-wizards/space-station-14/assets/77995199/40180aee-bfe3-4f30-9df8-0f628e7e4514
</p>
</details>
# Changelog
🆑
- add: Added a new character customization tab for selecting items to
start your shift with, loadouts!
- remove: Removed some default job equipment in favor of loadouts
- remove: Removed several clothing items from Command lockers in favor
of loadouts
---------
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
## Mirror of PR #25964: [Fix game.role_timers not effecting the antag
menu](https://github.com/space-wizards/space-station-14/pull/25964) from
<img src="https://avatars.githubusercontent.com/u/10567778?v=4"
alt="space-wizards" width="22"/>
[space-wizards](https://github.com/space-wizards)/[space-station-14](https://github.com/space-wizards/space-station-14)
###### `1eb2bcf45532c4200c1f2606d1759fe335a636f7`
PR opened by <img
src="https://avatars.githubusercontent.com/u/34938708?v=4"
width="16"/><a href="https://github.com/VasilisThePikachu">
VasilisThePikachu</a> at 2024-03-10 14:11:20 UTC
PR merged by <img
src="https://avatars.githubusercontent.com/u/19864447?v=4"
width="16"/><a href="https://github.com/web-flow"> web-flow</a> at
2024-03-10 16:30:16 UTC
---
PR changed 1 files with 1 additions and 7 deletions.
The PR had the following labels:
---
<details open="true"><summary><h1>Original Body</h1></summary>
> <!-- Please read these guidelines before opening your PR:
https://docs.spacestation14.io/en/getting-started/pr-guideline -->
> <!-- The text between the arrows are comments - they will not be
visible on your PR. -->
>
> ## About the PR
> <!-- What did you change in this PR? -->
> Closes#21404
>
> The server checked this fine and would let you join correctly as the
antag. Just the client prevented you.
>
> ## Media
> <!--
> PRs which make ingame changes (adding clothing, items, new features,
etc) are required to have media attached that showcase the changes.
> Small fixes/refactors are exempt.
> Any media may be used in SS14 progress reports, with clear credit
given.
>
> If you're unsure whether your PR will require media, ask a maintainer.
>
> Check the box below to confirm that you have in fact seen this (put an
X in the brackets, like [X]):
> -->
>
> - [x] I have added screenshots/videos to this PR showcasing its
changes ingame, **or** this PR does not require an ingame showcase
</details>
Co-authored-by: Vasilis <vasilis@pikachu.systems>
* Use new Subs.CVar helper
Removes manual config OnValueChanged calls, removes need to remember to manually unsubscribe.
This both reduces boilerplate and fixes many issues where subscriptions weren't removed on entity system shutdown.
* Fix a bunch of warnings
* More warning fixes
* Use new DateTime serializer to get rid of ISerializationHooks in changelog code.
* Get rid of some more ISerializationHooks for enums
* And a little more
* Apply suggestions from code review
Co-authored-by: 0x6273 <0x40@keemail.me>
---------
Co-authored-by: 0x6273 <0x40@keemail.me>
(cherry picked from commit 68ce53ae17985876d6d112b764b2144964a9f42e)