Commit Graph

138 Commits

Author SHA1 Message Date
metalgearsloth
640d8b4c11 Add sprite exporting (#29874)
* Redo of code

* Dump IDs on lobby exports
2025-07-17 11:32:57 +10:00
ShadowCommander
b80c7a5d53 Fix profile editor save buttons disappearing at small resolutions (#28001)
(cherry picked from commit 63c551b20d28e7572833d7e3b5b6e706947167ae)
2025-07-16 17:32:17 +10:00
Winkarst-cpu
82ebe4a360 Character menu asks if you want to save your character on exit (#29875)
* Character menu asks if you want to save your character on exit

* Fix

* Another fix, little mistake by me

* Update Content.Client/Lobby/UI/CharacterSetupGuiSavePanel.xaml.cs

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

(cherry picked from commit adcbe8d0be2ccdc76dd5e17af0206c623786874b)
2025-07-16 17:22:59 +10:00
Ilya246
01e7f1f2ca remove backpack and clothing from HumanoidCharacterProfile 2025-07-14 18:52:06 +10:00
Spatison
ed336144ab content change for JobRequirementOverride 2025-07-14 17:22:07 +10:00
Leon Friedrich
6849be2d9c Add Job preference tests (#28625) 2025-07-14 12:27:43 +10:00
ilmenwe
bfe577b9c7 Unused Varibles and Localization Fixes (#2424)
Removed all unused variables i could find, built and tested on a simple
upstart and clicking trough most systems.
Change Loc references to localization.

<!--
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>

"using Robust.Shared.Prototypes;"
to
""

"[dependency] private readonly ISpriteComponent"
to
""

</p>
</details>

---

No CL this isn't player facing.

---------

Co-authored-by: ilmenwe <no@mail.com>
2025-07-12 02:20:02 +10:00
Spatison
54086988e3 Mass clean up (#587)
* mass clean up

(cherry picked from commit 12bb873b02c1ef50e20763542b030452cc0613da)

* Revert "Centrifuge buff (#393)"

This reverts commit 2a59a18230.

(cherry picked from commit 9ee495ab4bb365e1ccd3dc627ecb55114fea6944)

* Shoving merge conflict

* fix rich traitor

* fix test

* yml

* fix test

* fix test

* ohh
2025-06-16 20:35:48 +03:00
Cinkafox
65208f0165 [Add] new ui (#497)
* - add: StyleSheetify

* - add: APC style

* - tweak: Select only APC now!

* - fix: Window positioning

* - fix: animations

* - add: Fancy chat

* - tweak: change some margin think

* - fix: add assemblies of stylesheetify for packaging

* - tweak: update StyleSheetify

* - add: custom LauncherConnection

* - tweak: change to paper

* - tweak: Update StyleSheetify

* - add: fancy lobby screen

* - tweak: some beauty think in lobby screen

* - add: new icons

* - tweak: change icons

* - tweak: //WWDP EDIT

* - fix: disable style while testing

* - fix: Channel Popup button style revert

* - fix: test again

* - tweak: Update StyleSheetify
2025-05-17 14:30:12 +03:00
ilmenwe
432042e945 Logger Sawmill Cleanup (#2413)
# Description
Cleaned up Logger obsolete compiler warnings in non robust code.
Should probably be changed to a ISawmill reference in classes to avoid
repeated lookups in heavy logging logic.
---

# Changelog

🆑

- tweak: Logger to Logger.GetSawmill("name");

---------

Co-authored-by: ilmenwe <no@mail.com>

(cherry picked from commit 2e8ffd971716d38dc6d5a520bebdf88b743045a3)
2025-05-10 01:00:05 +03:00
DEATHB4DEFEAT
b7a8f31167 Character Editor Fixes (#2332)
(cherry picked from commit 1bd872222d8221afa42469675642192b7980f4c6)
2025-05-09 23:56:44 +03:00
Spatison
03b978754f big nope 2025-04-26 15:20:25 +03:00
DEATHB4DEFEAT
dd52b11780 General Character Editor Improvements (#2252)
# Description

This sucked, this sucks less now.

---

# TODO

- [x] Use ABGC on Jobs
- [x] Use ABGC on Antags
- [x] Improve marking editor
	- [x] Make it use real toggleable Buttons
	- [x] Remove the enabled/sort order side
	- [x] Make buttons bigger and improve previews
- Move it to the Appearance tab
https://github.com/Simple-Station/Einstein-Engines/pull/2241
	- [x] Add a Clear button to the search
- [x] Display all 4 sprite directions at once instead of using the
stupid rotation thing
- [x] Move import/export/save buttons
- [x] Move name somewhere within the tabs
- Load markings after other stuff in the profile

<!--
Another PR
CharacterRequirements don't need to be given dependencies
Markings use CharacterRequirements
-->

---

<details><summary><h1>Media</h1></summary>
<p>

![image](https://github.com/user-attachments/assets/c2d0e8dd-7f8a-4a21-a7f2-c1ca93f20a74)

![image](https://github.com/user-attachments/assets/3024b84d-2114-4659-92d1-fd22a75cac78)

![image](https://github.com/user-attachments/assets/f471ab02-eabb-4d1b-92d7-22e15b74110b)

![image](https://github.com/user-attachments/assets/225ab764-40d7-4c64-825a-d88e0aeab4c9)

![image](https://github.com/user-attachments/assets/e5ccc05c-3c86-43ec-bbc7-9cbf500044a0)

![image](https://github.com/user-attachments/assets/e1e3562f-9bcc-405a-82e4-a35838e63b8a)

</p>
</details>

---

# Changelog

🆑
- tweak: Improved readability of many parts of the character editor with
colored rows
- tweak: Cleaned up some little bits of the character editor, most
notably removing a tiny margin that was shrinking every tab
- fix: Fixed the style of the Background tab of the character editor
being very wonky due to misplaced UI elements
- tweak: Made the Jobs tab use proper headers for the department titles
- tweak: Improved the Marking editor
- tweak: Improved the layout of the character editor
- tweak: Improved some button names in the character editor
- add: The character editor now shows all 4 directions of your character
preview at once

---------

Co-authored-by: VMSolidus <evilexecutive@gmail.com>

(cherry picked from commit 7e5b3345409dfdabde4ea56d3ecdd34a5ecdd46f)
2025-04-26 12:12:47 +03:00
Remuchi
1e363c7346 Revert "Merge pull request #462 from WWhiteDreamProject/revert-460-upstream"
This reverts commit 092dba42e5, reversing
changes made to e6315c2320.
2025-04-20 11:15:45 +07:00
DVONIKS
6c19771020 Revert "Upstream 04.04-18.04" 2025-04-20 06:34:09 +03:00
VMSolidus
59e061de63 Bonus Traits (#2222)
# Description

Adds a datafield for Species to define having bonus trait points or
penalty trait points. Currently only used by Human because they have
literally nothing. But you could for example make a particularly
"powerful' species such as Oni have negative bonus trait points.

# TODO

<details><summary><h1>Media</h1></summary>
<p>
Felinid(Default 10 points):

![image](https://github.com/user-attachments/assets/1fe4ba3d-f8f5-4bb9-903e-23db534cef5b)

Human: (+2 trait points)

![image](https://github.com/user-attachments/assets/cba0c006-b059-4f7f-b461-ed40fdc94576)

</p>
</details>

# Changelog

🆑
- add: Humans now have +2 bonus trait points. It's also possible now for
"overpowered" species to have fewer trait points, although this is not
currently used.

(cherry picked from commit f1c29573cbe9918c833f180a121f26a2d2ad5a94)
2025-04-18 19:33:54 +03:00
Spatison
a069c5d076 trait disable fix 2025-04-18 19:30:22 +03:00
DEATHB4DEFEAT
af6125fbbb Cooler More Readable Loadout Tooltips (#2221)
# Description

I like doing stupid stuff with UI

---

<details><summary><h1>Media</h1></summary>
<p>

I can't take a picture of tooltip, so I got this through a video

![image](https://github.com/user-attachments/assets/3bcee967-2626-4d79-9a03-e32cca219d62)

</p>
</details>

---

# Changelog

🆑
- tweak: Loadouts' and traits' tooltips are much easier to read and look
better (and cooler of course)

(cherry picked from commit 5ae4b44e9fff1b6ca53df9f3795ef47e357e9b75)
2025-04-18 19:23:34 +03:00
ilmenwe
283b816d56 RA0032 Warning Fix. Reference to Type Already Exist. (#2211)
# Description

Removed RA0032 warnings,
They triggered when a dependency already exist with a different name in
a parent class.

---

# Changelog

🆑
- add: removed references where a reference already existed
- tweak: Tweaked the names of old refences to match the existing
reference.

Co-authored-by: ilmenwe <no@mail.com>
(cherry picked from commit 4a2cb04199c33e1e373aba1d7e5eba55b7650306)
2025-04-18 19:15:17 +03:00
VMSolidus
b6d96474b8 Loadout And Trait Slot Cost (#2170)
# Description

This PR gently reworks the traits and loadouts system to where both
systems have a new Datafield for "Slots", which declares how many
selections the trait/loadout occupies. The actual implementation of
these differs between the two, since Traits has an actual selection
limit, while Loadouts do not(but instead respect CharacterItemGroups).
In both cases, Slots are defaulted to 1, and can be omitted in most
cases.

Where this shines particularly is in Traits, where it serves as a new
second line for trait balancing. Traits such as Accents, which are
completely worthless, otherwise would never be taken at all since they
compete with other traits for Opportunity Cost. Conversely, there's only
so many points we can increase a powerful trait to, (literally, they
cannot cost more than the current trait maximum). So traits can be made
to occupy >1 slot selections.

Slots can be defined for Item Groups as well, which is what this
datafield does on Loadouts, which both of these share. But since Traits
have two different places that their slots are used, I've opted to
create a split slot datafield for Traits. To simplify things, their
ItemGroupSlots defaults to their Slots datafield, but can be
independently changed as desired.

<details><summary><h1>Media</h1></summary>
<p>

https://github.com/user-attachments/assets/99dddfe1-76d2-445a-a94a-1998d3d39c51

</p>
</details>

# Changelog

🆑
- tweak: Accents no longer cost trait slots.

(cherry picked from commit d760c5813d5dd29b3eddebd8d671bf3ed6e86b3e)
2025-04-18 17:40:59 +03:00
VMSolidus
cd52641be9 Various Bugfixes (Mostly Traits System) (#2154)
# Description

![faridaiscute](https://github.com/user-attachments/assets/a251d7d5-b80c-4ba5-9d03-3071ffdb8c94)

Mfw a downstream fixes things only for themselves, leaving me to hear
hundreds of complaints constantly about bugs that I don't have the time
or manpower to fix upstream.

# Changelog

🆑
- fix: Fixed an issue that prevented players from saving item
customizations if they didn't have enough loadout points to buy the item
a second time.
- add: Traits can now define the order in which they are applied.
- fix: Fixed RGBee pushie not working.

(cherry picked from commit bf3a0ec705acb9781ca5f5c2d200857b6a964a07)
2025-04-18 17:01:09 +03:00
Kutosss
a54f0a4ebc [ADD] Кличка клоуна йопт (#433)
* Кличка клоуна йопт

* фикс

* Update HumanoidProfileEditor.xaml.cs

* Update HumanoidProfileEditor.xaml.cs

* Update GameTicker.Spawning.cs

* Update HumanoidCharacterProfile.cs

* еще фикс

* кролик посоветовал

* Update Content.Client/Lobby/UI/HumanoidProfileEditor.xaml

Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>

* Update Content.Client/Lobby/UI/HumanoidProfileEditor.xaml.cs

Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>

* Update Content.Client/Lobby/UI/HumanoidProfileEditor.xaml.cs

Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>

* Update Content.Client/Lobby/UI/HumanoidProfileEditor.xaml.cs

Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>

* Update Content.Client/Lobby/UI/HumanoidProfileEditor.xaml.cs

Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>

* Update Content.Client/Lobby/UI/HumanoidProfileEditor.xaml.cs

Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>

* Update Content.Server.Database/Model.cs

Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>

* Update Content.Shared/Preferences/HumanoidCharacterProfile.cs

Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>

* Update Resources/Locale/ru-RU/_white/clownname.ftl

Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>

* Update Content.Client/Lobby/UI/HumanoidProfileEditor.xaml.cs

Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>

* Update Content.Client/Lobby/UI/HumanoidProfileEditor.xaml.cs

Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>

* Update Content.Client/Lobby/UI/HumanoidProfileEditor.xaml.cs

Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>

* Update Content.Server/Database/ServerDbBase.cs

Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>

* Update Content.Server/Database/ServerDbBase.cs

Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>

* Update Content.Server/GameTicking/GameTicker.Spawning.cs

Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>

* Update Content.Shared/Preferences/HumanoidCharacterProfile.cs

Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>

* Update Resources/Locale/en-US/_white/clownname.ftl

Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>

* Update Content.Shared/Preferences/HumanoidCharacterProfile.cs

Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>

* Update Content.Shared/Preferences/HumanoidCharacterProfile.cs

Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>

* То что спатион прописал

* Update Content.Client/Lobby/UI/HumanoidProfileEditor.xaml.cs

Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>

* Update Content.Client/Lobby/UI/HumanoidProfileEditor.xaml.cs

Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>

* Update Content.Client/Lobby/UI/HumanoidProfileEditor.xaml.cs

Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>

* Update Content.Client/Lobby/UI/HumanoidProfileEditor.xaml.cs

Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>

* Update Content.Client/Lobby/UI/HumanoidProfileEditor.xaml.cs

Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>

* Update Content.Shared/Humanoid/NamingSystem.cs

Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>

* Update Content.Shared/Humanoid/NamingSystem.cs

Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>

* фиксим

* Update Content.Server/GameTicking/GameTicker.Spawning.cs

---------

Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>
2025-04-18 08:18:56 +03:00
Spatison
9f2a8733e4 Lobby ui tweak 2025-04-04 16:31:36 +03:00
Timfa
60053a10d4 Coat and Scrubs Restricted to Respective Employers (#2134)
<!--
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]?
-->

Some coats and scrubs in loadout are branded with specific corporation
logo's.
This PR restricts specifically those items to the employers that they
are from.

Note that we have coats from other companies currently not listed as
available employers too. Perhaps we should consider adding them?

# Updated:
This PR now also includes CCVars that can disable a part, or the
entirety, of Contractors for downstreams that prefer free-form RP over
gameplay.
While I was at it, I made it so that AI and Borgs don't get Passports.

---

# 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: Restricted some corporate jackets and scrubs to that specific
corporation.
- tweak: Downstreams can now disable Contractors entirely or partially
if they prefer freeform-rp over gameplay facilitating RP
- tweak: Station AI and Borg are no longer people and don't get
passports.

(cherry picked from commit 445bdc5c1b04c9f41460fb1cc6986e736732508e)
2025-04-04 15:01:26 +03:00
Will-Oliver-Br
7d77f79b83 Port Ready Manifest to Pre-Round Lobby (#2058)
# Description

Port ready manifest to pre-round lobby from [Imp
Station](https://github.com/impstation/imp-station-14)
Prs:
https://github.com/impstation/imp-station-14/pull/43
https://github.com/impstation/imp-station-14/pull/63

---

<details><summary><h1>Media</h1></summary>
<p>

![Captura de tela 2025-03-22
230115](https://github.com/user-attachments/assets/b923d8a4-2104-40da-9aba-63ba303c6a40)
![Captura de tela 2025-03-22
230131](https://github.com/user-attachments/assets/774bf6eb-ce2b-465d-bc9f-67c7b770f22b)

</p>
</details>

---

# Changelog

🆑 12rabbits and Will-Oliver-Br
add: Added a ready manifest display to the pre-round lobby.

---------

Co-authored-by: 12rabbits <53499656+12rabbits@users.noreply.github.com>

(cherry picked from commit 6f69f5a80188e73980b24d5f8a127146a98965d1)
2025-04-04 14:45:36 +03:00
DEATHB4DEFEAT
32f538d2ba Fix Buttons Being Yellow Instead of Red (#2129)
# Description

I changed something so long ago but didn't make sure others were changed
to follow.

---

<details><summary><h1>Media</h1></summary>
<p>

![image](https://github.com/user-attachments/assets/9328cf6f-907f-4051-a972-5ae6579e6b01)

![image](https://github.com/user-attachments/assets/fa9e3e7d-3d0a-4193-b51f-20449c068751)

![image](https://github.com/user-attachments/assets/301debf9-0623-4a69-8334-0205ac8ae2a0)

![image](https://github.com/user-attachments/assets/afcc12a4-8068-4091-aa3f-427559b7d1ac)

![image](https://github.com/user-attachments/assets/77c62f0c-8356-4772-ab01-8af543b0f050)

</p>
</details>

---

# Changelog

🆑
- fix: Fixed many buttons being yellow instead of red

---------

Signed-off-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
Co-authored-by: Timfa <timfalken@hotmail.com>
(cherry picked from commit ca703ab8d367bbdfc4ab115af4a01964ff597e5f)
2025-04-04 14:31:36 +03:00
Timfa
b17f94712a Show the Description (#2113)
<!--
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]?
-->

Adds a description to your chosen lifepath, employer or nationality.

---

<!--
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>

![image](https://github.com/user-attachments/assets/5f7b0120-babb-4fe0-b825-2a547e80ed6d)

</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
-->

🆑
- add: Moved Nationality, Employer, and Lifepath to a new Background
tab. They now also show descriptions for the chosen selections.

(cherry picked from commit 862b95e92b44f34379187111c8505395ff9f3473)
2025-04-04 14:21:36 +03:00
Timfa
e3cc62ef8c Contractors V1 (#2030)
<!--
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]?
-->

Contractors v1 is the first version of a system that will allow you to
set a nationality and an employer to your character. Initially, this
will determine the availability of some loadout items, jobs and traits,
but this is built to expand upon later.

As of this moment, the PR will let you select a nationality, an employer
and a lifepath. Nationalities give you a language and a passport, while
the other two don't do a lot yet. (except Command can only be NanoTrasen
and most other jobs can't be unemployed)

The passport functions, and the CharacterRequirements do as well.

there's still a lot more that can be done--tying jobs to certain
employers, items or traits to nationalities or lifepaths, but the reason
I want to merge it before that's done is primarily so that I don't need
to be the sole person working on it anymore. The C# is done, the rest is
YAML, and we have a bunch of competent YAML warriors who will do great
stuff with this, no doubt.

---

# 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] Create Nationality and Employer Prototype code
- [x] Create Nationality and Employer Character Requirements
- [x] Add both fields to the Character Creation menu
- [x] Create Nationality and Employer Prototypes
- [x] Create Nationality and Employer Prototypes YAML
- [x] Add requirements to a few jobs
- [ ] Add requirements to a few traits
- [ ] Add requirements to a few loadout items
- [x] create a passport item that can be opened and closed
- [x] Give each nationality a passport item valid for their species

---

<!--
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>

![image](https://github.com/user-attachments/assets/9c44cf11-766b-4368-af69-8655048e992a)

https://github.com/user-attachments/assets/9e61aed8-2e07-4d44-89c7-595a170df8c7

</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
-->

🆑
- add: Contractors. Be sure to edit your character to set an employer
and nationality!
- add: Nationality, Lifepath, and Employer have been added to character
creation. These don't currently do much except spawn a passport
containing information about where your character is from and who they
are, but they are fully integrated with Character Requirements, and by
extension can be used for and alongside Traits, Loadouts, Jobs,
Antagonists, etc.

---------

Signed-off-by: Timfa <timfalken@hotmail.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>

(cherry picked from commit c3b12c62ee3bd226b57022690d1b24cb7cf54e3f)
2025-03-29 17:52:53 +03:00
dootythefrooty
8daaea40f5 why
(cherry picked from commit 0e22c0a4e33c923f83bc8410f6088a75fe5c6d82)
2025-03-29 17:36:10 +03:00
dootythefrooty
bf4b410d0e ouch
(cherry picked from commit 8400584b9df029b7cb8980a6af068a2d119de398)
2025-03-29 17:35:53 +03:00
dootythefrooty
d8ba4f62f6 i don't know what is wrong
(cherry picked from commit 0cd4e7500c3fe18146d1228b333d9438fd5d8114)
2025-03-29 17:35:36 +03:00
deltanedas
5da13889a5 prevent borgs unlocking eachother and robotics console (#27888)
* prevent borgs from using locks

* e

* bru

* a

* blacklist borgs and robotics console

* frogro

* add IsAllowed to EntityWhitelistSystem

* use IsAllowed

* move thing to new LockingWhitelistSystem

* :trollface:

* review

* use renamed CheckBoth in locking whitelist

* remove unused stuff and add more to doc

* Use target entity instead to remove self check

* Rename to _whitelistSystem

* Add deny lock toggle popup

* Prevent duplicate checks and popups

* Fix wrong entity in popup when toggling another borg

* Make new event

* Update comment to user for new event

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>

(cherry picked from commit 8f6326c3e0b04af30171d2435962b89105d67f31)
(cherry picked from commit 78afbb211026afeefc20c253de5e8d03f8d0f9b0)
2025-03-29 17:35:24 +03:00
dootythefrooty
b93d7a936d how did i forget that
(cherry picked from commit 86225de6d86056d7e7e07ede65f5f2da83912291)
2025-03-29 17:34:21 +03:00
dootythefrooty
592d6e230c bug fixes
(cherry picked from commit 843f96aa167e238076120533883bc87ba11270d3)
2025-03-29 17:34:05 +03:00
Leon Friedrich
3738303535 Give jobs & antags prototypes a guide field (#28614)
* Give jobs & antags prototypes a guide field

* A

* space

Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>

* Add todo

* Fix merge errors

---------

Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>

(cherry picked from commit e7f2ae52ab24dddc8f3c94cb84b751482700e3da)
(cherry picked from commit 4cee20b913a1de0cd6f8ee7d02c2bf55e3e75298)
2025-03-29 17:33:51 +03:00
vanx
7d6b224d8b [Tweak] Character Creation Cleanup (#334)
* roles

* ui

---------

Co-authored-by: vanx <discord@vanxxxx>
2025-03-13 15:06:33 +03:00
Spatison
c9b961c300 Update HumanoidProfileEditor.xaml.cs 2025-03-11 17:10:00 +03:00
Spatison
7ad215a5a9 traits 2025-03-11 17:05:26 +03:00
Spatison
2549ec061e [Feature] Body Types (#180)
* feature: body types

# Conflicts:
#	Content.Shared/Humanoid/Markings/MarkingManager.cs
#	Resources/Prototypes/Nyanotrasen/Species/Oni.yml
#	Resources/Prototypes/Nyanotrasen/Species/felinid.yml
#	Resources/Prototypes/Species/arachne.yml
#	Resources/Prototypes/Species/dwarf.yml
#	Resources/Prototypes/Species/harpy.yml
#	Resources/Prototypes/Species/human.yml
#	Resources/Prototypes/Species/ipc.yml
#	Resources/Textures/Clothing/OuterClothing/Armor/armor_reflec.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Armor/bulletproof.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Armor/cult_armour.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Armor/heavy.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Armor/heavygreen.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Armor/heavyred.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Armor/lingarmor.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Armor/magusblue.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Armor/magusred.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Armor/riot.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Armor/security.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Armor/security_slim.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Bio/virology.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Coats/bomber.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Coats/brigmedic.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Coats/detective.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Coats/gentlecoat.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Coats/jensencoat.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Coats/labcoat_gene.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Coats/labcoat_robo.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Coats/pirate.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Coats/windbreaker_paramedic.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Hardsuits/ERTSuits/ertengineer.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Hardsuits/ERTSuits/ertjanitor.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Hardsuits/ERTSuits/ertleader.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Hardsuits/ERTSuits/ertmedical.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Hardsuits/ERTSuits/ertsecurity.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Hardsuits/basic.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Hardsuits/capspace.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Hardsuits/cburn.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Hardsuits/cybersun.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Hardsuits/lingspacesuit.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Hardsuits/luxury.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Hardsuits/medical.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Hardsuits/paramed.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Hardsuits/rd.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Hardsuits/salvage.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Hardsuits/spatio.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Hardsuits/syndicate.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Hardsuits/syndiecommander.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Hardsuits/syndieelite.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Hardsuits/wizard.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Misc/apron.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Misc/apronbotanist.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Misc/apronchef.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Misc/cardborg.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Misc/chaplain_hoodie.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Misc/chef.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Misc/classicponcho.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Misc/cultrobes.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Misc/grey_hoodie.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Misc/judge.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Misc/plaguedoctorsuit.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Misc/redwizard.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Misc/santa.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Misc/skubbody.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Misc/straight_jacket.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Misc/violetwizard.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Misc/wizard.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Suits/atmos_firesuit.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Suits/bombsuit.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Suits/chicken.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Suits/fire.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Suits/monkey.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Suits/rad.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Suits/shrine-maiden.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Vests/mercwebvest.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Vests/vest.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/Vests/webvest.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coat.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coatatmos.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coatbar.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coatcap.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coatcargo.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coatce.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coatcentcom.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coatchef.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coatchem.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coatcmo.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coatengi.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coatgen.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coathop.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coathos.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coathydro.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coatjani.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coatmed.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coatmime.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coatminer.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coatnomi.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coatparamed.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coatqm.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coatrd.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coatrobo.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coatsci.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coatsec.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coatviro.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coatwarden.rsi/meta.json
#	Resources/Textures/Clothing/OuterClothing/WinterCoats/coatwardenarmored.rsi/meta.json

* feature: body types: 2

* add: loc

* fix: rsi validate

* tweak: displasment jumpsuit

* tweak: clean up

* tweak: displasment shoes

* tweak: displasment gloves

* tweak: clean up

* tweak: displasment outerClothing

* Revert "tweak: displasment outerClothing"

This reverts commit 698fd688591a6c00a4cd19eebac7a204dce18e98.

* fix

* fix

* fix

* fix

* tweak: dwarf, Oni and Felenid now can choose slim body type

* add: outer displacement

* some fix

* some fix

* no more tags shitcode

* Reptilian body type

* harpy body type

* some fix

* rsi validator fix

* Update ClientClothingSystem.cs

* Update Model.cs

* Update MarkingManager.cs

* Update ClientClothingSystem.cs

* Update reptilian.yml
2025-03-03 18:03:18 +02:00
SX-7
ff3595de9e Tajara (#1647)
# Description

~~On user end Felinids are removed and replaced with Tajara, mostly
inspired by the ParadiseStation sprites.~~

~~Most things from Felinids are ported over, either being untouched (in
which case they're left in the nyanotrasen directory), or somewhat
modified and copied to tajara directories. This is done because both
shadowkin and humans reference these files quite a bit, so we don't want
to break anything forwards/backwards,~~

~~Under the hood, felinid components are untouched, just simply set to
`abstract: true` and `roundstart: false`, once again to prevent any
breakage.~~

There's been like 50 changes all the ways, but basically, felinids are
staying, tajara get a few languages, they also are more "specialized"
than felinids due to big upsides and downsides (funny :)

---

# TODO

- [X] Add tajara
~~- [X] Hide felinids~~
~~- [x] Analyze and find now-orphaned felinid
protorypes/textures/references and remove them (optional)~~
- [x] Fix graphical bugs (if any)
- [x] Ensure the code structure is compliant with repo practices

---

<details><summary><h1>Media</h1></summary>
<p>

In captain attire

![{3169C46E-BABB-466F-BD75-D8A00D8F9105}](https://github.com/user-attachments/assets/74a7c43f-9d5d-440f-9c18-f1eb386ad3d7)
Testing emotes and languages

![{7EE18197-E788-46BF-9DA3-97B0718A2F0B}](https://github.com/user-attachments/assets/74dd9c17-92a2-4760-99f8-1bb893fa969d)
Emotes still working, same with hairballs

![{346EB863-EF92-4D82-8E72-409437372DC3}](https://github.com/user-attachments/assets/91b61aae-d460-4373-a0ba-79cbd64f8ec4)
Few character selector pictures
- The previously shown off tajaran

![{559C39A8-5333-4787-A3B7-2F882EB6B5E2}](https://github.com/user-attachments/assets/38d77c48-caa2-461f-858a-a6b1a235cc0f)
- Markingless male body

![{9D762061-C1F8-40A5-9F14-5809E803820C}](https://github.com/user-attachments/assets/719c18ba-0230-4b17-9166-fdd15cb67526)

![{98AFAEF1-D49A-4951-A18E-5E55ACC05A26}](https://github.com/user-attachments/assets/6f848c0a-9a1e-4aed-aeb7-0bbf7c1dab62)
- Markingless female body

![{8F42252C-DDC4-43FD-8B8F-BFF0FBD971CD}](https://github.com/user-attachments/assets/92ea11bc-2ddc-4569-b166-0380b34ee946)

![{EE2B152D-97AD-4C39-B51E-8D89E4C4B097}](https://github.com/user-attachments/assets/c6f3a8ee-20be-486a-bea8-b862cf2ea12e)
- Traits are updated, as is the case with other texts

![{6F1E0309-7262-48BA-ABF6-C2048E087437}](https://github.com/user-attachments/assets/778ede7d-3069-4b81-b09d-32aadb6c6b76)
~~- And a neon colored specimen to show off some markings~~ No longer
the case, fur hue is clamped to some reasonable colors

![{381F7D38-1ABE-4434-8F29-95908E8F1A4B}](https://github.com/user-attachments/assets/1ef52004-db37-4127-a113-0b5640087cc1)

</p>
</details>

---

# Changelog

🆑
- add: Added Tajara and related content

---------

Signed-off-by: SX-7 <92227810+SX-7@users.noreply.github.com>
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: sleepyyapril <123355664+sleepyyapril@users.noreply.github.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
(cherry picked from commit b7660b95566c8e138cb458a3d70732c1d3ea4602)
2025-01-29 20:19:56 +03:00
Skubman
a46b4f2b5a New Species: Plasmaman (#1291)
# Description

Adds the Plasmamen as a playable species. Plasmamen are a skeletal
species who depend on Plasma to live, and oxygen is highly fatal to
them. Being exposed to oxygen will set them on fire, unless they wear
their envirosuits.

## Species Guidebook

<img width=500px
src="https://github.com/user-attachments/assets/a1ef91ef-87b2-4ae0-8b5c-922a0c34777f">
<img width=500px
src="https://github.com/user-attachments/assets/110f0fa0-7dc4-410b-a2c0-a517f0311484">

**SPECIAL:**

- Plasmamen speak the language Calcic, a language they share with
Skeletons.

## Shitmed Integration

Plasmamen are the first ever species designed with Shitmed in mind, with
one of their core mechanics (self-ignition) powered entirely by Shitmed.

Whether or not a Plasmaman ignites from oxygen exposure depends only on
their body parts. A Plasmaman with only their head exposed will not burn
as much as an entirely naked Plasmaman. You can **transfer** Plasmaman
body parts to non-Plasmamen through **surgery** so that they also ignite
from oxygen exposure. Meanwhile, a Plasmaman with a non-Plasmaman head
can expose their head without self-igniting.

https://github.com/user-attachments/assets/0aa33070-04be-4ded-b668-3afb9f4ddd7c

## Technical Details

This also cherry-picks
https://github.com/space-wizards/space-station-14/pull/28595 as a
quality-of-life feature to ensure Plasmamen keep their internals on upon
toggling their helmet with a breath mask on.

## TODO

### RELEASE-NECESSARY

<details>

- [x] Port more envirosuits / enviro helms (job-specific) and their
sprites
- [x] Remove breath masks from default plasmaman loadouts because the
envirohelms already allow them to breathe internals
- [x] Change default plasma tank to higher-capacity version
- [x] Prevent plasmamen from buying jumpsuits and helmets other than
envirosuits
- ~~[ ] **Client UI update for loadout groups min/max items and default
items**~~
- [x] Plasmaman-specific mask sprites from TG
- [x] Disable too cold alert for plasmamen
- [x] Create/port sprites for these jobs
  - [x] Courier
  - [x] Forensic Mantis
  - [x] Corpsman (Resprite security envirosuit)
  - [x] Prison Guard (Resprite security envirosuit)
- [x] Magistrate (No Paradise envirosuit so use new colorable
envirosuit)
  - [x] Blueshield (Port from Paradise and tg-ify?)
- [x] NanoTrasen Representative (No Paradise envirosuit so use new
colorable envirosuit)
- [x] Martial Artist (use new colorable envirosuit and make pure white)
  - [x] Musician (use new colorable envirosuit)
  - [x] Reporter (use new colorable envirosuit)
  - [x] Zookeeper (use new colorable envirosuit)
  - [x] Service Worker (use new colorable envirosuit)
  - [x] Gladiator
  - [x] Technical Assistant
  - [x] Medical Intern
  - [x] Acolyte / Research Assistant
  - [x] Security Cadet
  - [x] Assistant
- You know what. These intern jobs are fine. They can use their normal
equivalent's envirosuits.
  - [x] Logistics Officer (use new colorable envirosuit)
- [x] Adjust sprites to be closer to actual job
  - [x] Captain (Shift color to be closer to ss14 captain)
  - [x] ~~CMO (Remove yellow accents)~~
  - [x] Port HoP envirogloves sprite
- [x] unique sprite for self-extinguish verb
- [x] Refactor conditional gear stuff to live only in
StartingGearPrototype with `SubGear`
`List<ProtoId<StartingGearPrototype>>` field and `List<Requirement>`
field for sub-gear requirements
- [x] Add starting gear for paradox anomaly, and antags and ghost roles
  - [x] Paradox
  - [x] Nukies
  - [x] Disaster victims
  - [x] Listening post operative
- [x] Make all envirosuit helmets have a glowing (unshaded) visor
- [x] Envirosuit extinguish visuals
- [x] JobPrototype: AfterLoadoutSpecial
- [x] Set prisoner envirohelm battery to potato, command/sec/dignitary
to high-powered
  - [x] Set base envirosuit extinguishes to 4, sec 6 and command 8
- [x] Improve plasmaman organ extraction experience
  - [x] Body parts now give 1 plasma sheet each, while Torso gives 3
  - [x] Organs can be juiced to get plasma
- [x] Make envirohelm flashlights battery-powered
- [x] Plasmamen visuals
- [x] Grayscale sprites for color customization, and set default
skintone color to Plasmaman classic skintone
  - [x] Plasmaman eye organ sprite
- [x] Add basic loadouts
- [x] Add way to refill envirosuit charges (refill at medical protolathe
after some research)

</details>

### Low Importance

<details>

- [x] Envirogloves
- [ ] (SCOPE CREEP) Plasma tanks sprite (only normal emergency/extended,
rather low priority)
- [ ] (SCOPE CREEP) Modify envirosuit helmet sprites to have a
transparent visor
- [ ] Glowing eyes/mouth marking
- [x] More cargo content with plasma tanks / envirosuits
  - [x] Plasmaman survival kit like slime
  - [x] Additional plasma tanks
  - [ ] (SCOPE CREEP) Plasmaman EVA suits
- [x] ~~Add envirosuits to clothesmate~~
- [x] Add more plasma tanks to random lockers and job lockers
- [x] Turn envirosuit auto-extinguish into extinguish action
- [x] move self-extinguish verb stuff to shared for prediction of the
verb
- [x] move self-extinguisher stuff away from extinguisher namespace
- [x] unique sprite for self-extinguish icon
  - [x] ~~IDEA: purple glowy fire extinguisher ~~
- [x] on self-extinguish, check for pressure immunity OR ignite from gas
immunity properly
- [x] See envirosuit extinguish charges in examine
- [x] Milk heals on ingestion
- [x] Plasma heals on ingestion
- [x] Self-ignition doesn't occur on a stasis bed
- [x] ~~Self-ignition doesn't occur when dead~~
- [x] Guidebook entry
- [x] Make self-ignition ignore damage resistances from fire suits
- [x] ~~Make self-ignition ignore damage resistances from armor~~
- [x] ~~Unable to rot?~~
- [x] Make the envirosuit helmet toggle on for the character dummy in
lobby
- [ ] (SCOPE CREEP) One additional Plasmaman trait
- [x] ~~Showers extinguish water as well as water tiles~~
- Unnecessary as stasis beds now prevent ignition, allowing surgery on a
plasmaman on stasis beds.
- [x] Unique punch animations for Plasmafire Punch/Toxoplasmic Punch
traits
- [x] Actually remove toxoplasmic it's just slop filler tbh
- [ ] Talk sounds
  - [ ] Normal
  - [ ] Question
  - [ ] Yell
- [x] Positive moodlet for drinking milk / more positive moodlet for
drinking plasma
- [x] Increase moodlet bonus and also minimum reagent required for the
plasma/milk moodlets
- [x] Increase fire rate base stacks on ignite cause putting out your
helmet for a few secs isn't that dangerous due to the fire stacks
immediately decaying
- [x] I think halving firestack fade from -0.1 to -0.05 might work to do
the same thing too
- [ ] (SCOPE CREEP) Get bone laugh sounds from monke
'monkestation/sound/voice/laugh/skeleton/skeleton_laugh.ogg'
- [ ] (SCOPE CREEP) When EVA plasmaman suit is added, 25% caustic resist
- [x]  Envirosuit helmet
  - [x] Equivalent of 100% bio / 100% fire / 75% acid resist
- [x] Envirosuit
  - [x] Equivalent of 100% bio / 100% fire / 75% acid resist
- [x] Envirogloves
  - [x] Equivalent of 100% bio / 95% fire / 95% acid resist
- [x] Put breath mask back on
- [x] Refactor: put body parts covered data into component instead of
being hardcoded

</details>

## Media

**Custom Plasmaman Outfits**

All of these use the same **absolutely massive** [envirosuit
RSI](0c3af432df/Resources/Textures/Clothing/Uniforms/Envirosuits/color.rsi)
and [envirohelm
RSI](0c3af432df/Resources/Textures/Clothing/Head/Envirohelms/color.rsi)
to quickly create the envirosuits that didn't exist in SS13 where the
envirosuit sprites were ported.

From Left to Right: Magistrate, Prison Guard, Boxer, Reporter, Logistics
Officer

<img width=200px
src="https://github.com/user-attachments/assets/bf990841-7d9e-4f4e-abae-8f29a3980ca1">
<img width=200px
src="https://github.com/user-attachments/assets/07ca7af7-4f43-4504-9eac-4ca9188ae98e">
<img width=200px
src="https://github.com/user-attachments/assets/0d20332c-826f-4fec-8396-74e84c23b074">
<img width=200px
src="https://github.com/user-attachments/assets/1634364e-7cb3-457b-b638-e1b562b7c0c5">
<img width=200px
src="https://github.com/user-attachments/assets/c2881764-f2fa-4e40-9fbf-35d1b717c432">

**Plasmaman Melee Attack**

https://github.com/user-attachments/assets/6e694f2c-3e03-40bf-ae27-fc58a3e4cb6c

**Chat bubble**

<img width=240px
src="https://github.com/user-attachments/assets/e3c17e6d-5050-410f-a42c-339f0bfa30a1">

**Plasmaman Body**

<img width=140px
src="https://github.com/user-attachments/assets/7ed90a47-9c33-487d-bd44-c50cec9f16dd">

With different colors:

<img width=140px
src="https://github.com/user-attachments/assets/0a28068e-7392-4062-950b-f60d2602da84">
<img width=140px
src="https://github.com/user-attachments/assets/9b652311-0305-4ec0-be60-e404697617a2">

**Skeleton Language**

![image](https://github.com/user-attachments/assets/89b2b047-3bfa-4106-926e-6c412ed6e57c)

**(Bonus) Skeleton chat bubble**

<img width=240px
src="https://github.com/user-attachments/assets/a2e2be5c-f3ae-49d9-b655-8688de45b512">

**Self-Extinguish**

https://github.com/user-attachments/assets/6c68e2ef-8010-4f00-8c24-dce8a8065be8

The self-extinguish is also accessible as a verb, which also means that
others can activate your self-extinguish if they open the strip menu.

<img width=200px
src="https://github.com/user-attachments/assets/291ab86d-2250-46ec-ae0c-80084ab04407">

The self-extinguish action has different icons depending on the status
of the self extinguish.

Left to right: Ready, On Cooldown, Out Of Charges

<img
src="https://github.com/user-attachments/assets/0340de8a-9440-43b1-8bff-1c8f962faa0c">

<img
src="https://github.com/user-attachments/assets/11f73558-6dc1-444d-b2ef-2f15f55174ca">

<img
src="https://github.com/user-attachments/assets/030ed737-f178-4c60-ba0c-109659e7d9cb">

**Envirosuit Extinguisher Refill**

<img width=300px
src="https://github.com/user-attachments/assets/9379294b-e3f3-436d-81bc-2584631869ef">
<img width=300px
src="https://github.com/user-attachments/assets/807b9e9e-7b4b-4593-aa1f-d9d24ac6985c">

**Loadouts**

<img width=400px
src="https://github.com/user-attachments/assets/55713b87-29bb-41b3-b7a3-88fbc6e5e797">
<img width=400px
src="https://github.com/user-attachments/assets/ab1757fa-9b70-4a66-b5ae-20fd9cabe935">
<img width=400px
src="https://github.com/user-attachments/assets/aacc4cf7-9ce1-4099-b8c7-108bef1f3bde">
<img width=400px
src="https://github.com/user-attachments/assets/58604dc2-82ef-4d42-b9e2-639548c93f40">

**Plasma Envirosuit Crate**
<img width=400px
src="https://github.com/user-attachments/assets/fa362387-9c10-47c3-b1af-2c11e6b00163">

<img width=400px
src="https://github.com/user-attachments/assets/bf773722-9034-4469-967d-e00dbf8c77a7">

**Internals Crate (Plasma)**
<img width=400px
src="https://github.com/user-attachments/assets/fcd4ff2e-09e9-423a-9b21-96817f6042a4">

<img width=400px
src="https://github.com/user-attachments/assets/bf773722-9034-4469-967d-e00dbf8c77a7">

**Glow In The Dark**

![image](https://github.com/user-attachments/assets/9728eb33-55d5-4f82-92ac-3a7756068577)

## Changelog

🆑 Skubman
- add: The Plasmaman species has arrived! They need to breathe plasma to
live, and a special jumpsuit to prevent oxygen from igniting them. In
exchange, they deal formidable unarmed Heat damage, are never hungry nor
thirsty, and are immune to cold and radiation damage. Read more about
Plasmamen in their Guidebook entry.
- tweak: Internals are no longer toggled off if you take your helmet off
but still have a gas mask on and vice versa.
- tweak: Paradox Anomalies will now spawn with the original person's
Loadout items.
- fix: Fixed prisoners not being able to have custom Loadout names and
descriptions, and heirlooms if they didn't have a backpack when joining.

---------

Signed-off-by: Skubman <ba.fallaria@gmail.com>
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: Plykiya <58439124+Plykiya@users.noreply.github.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>

(cherry picked from commit e68e0c3f4b9cf263e07efc888b32a091df62fb51)
2025-01-29 20:19:20 +03:00
sleepyyapril
529420cc05 Player Customization (#1626)
<!--
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]?
-->

Adds cosmetic pronouns, visible through examining people (if they have
any) as a PushMarkup.
Adds Station AI/borg name customization.

CCVars:
customize.allow_cosmetic_pronouns (default false)
customize.allow_custom_station_ai_name (default false)
customize.allow_custom_cyborg_name (default false, for borgs, mediborgs,
etc)

---

# 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
-->

🆑
- add: Added cosmetic pronouns. (disabled by default)
- add: Added Station AI name customization through character
customization. (disabled by default)
- add: Added Cyborg name customization through character customization.
(disabled by default)

(cherry picked from commit 07fb6bc9a1a770f969bf44690676128970cb9eb7)
2025-01-23 08:08:54 +03:00
Spatison
0eb98e8e63 fix upstream 2025-01-21 14:57:03 +03:00
Piras314
3b4af08ad6 Lobby Background Credits (#1558)
<!--
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 adds credits for lobby screens, the same as lobby songs have.
This works by adding `name` and `artist` to the LobbyBackground
prototype and storing the prototype rather than just the path to the
texture.

---

<!--
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>

![image](https://github.com/user-attachments/assets/6a348060-0ef2-4775-9adb-39a576a1c21e)

</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
-->

🆑
- add: Added credits for lobby screens.

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>

(cherry picked from commit 86f9dfd53ea28d382156b2fd2b999f26330d0de4)
2025-01-20 21:01:09 +03:00
NeLepus
1dd823f071 Label Rendering For Vending Machines and Item Preferences Menus (#1538)
# Description

This PR removes label duplicates from item names in order to make actual
labels work properly and make them visible in vending machines' menus as
well as loadout preferences.

As we can see in Fig 1, the aluminium jug is not only labelled as
"aluminium 10u" but contains "(aluminium 10u)" in the item name, which
drives chemists homicidal when it comes to labelling the jugs.
This issue also appears with other labelled items such as pill canisters
in item preferences (see Fig 2), which led to a row of nameless pill
canisters being present in our server's menu.

My solution is to fetch the item's LabelComponent in the menu so this
redundancy is no more needed.
See Fig 3 for an example.

The VendingMachineMenu.xaml.cs code fetches and localizes the text from
the LabelComponent from the prototype the same way it fetches sprites,
and in the LoadoutPreferenceSelector.xaml.cs the task is pretty
straightforward since the item is spawned in the Nullspace anyway.

---

- [x] Added label rendering for VendingMachineMenu.xaml.cs
- [x] Stripped reagent jugs' names off their fake labels
- [x] Added label rendering for LoadoutPreferenceSelector.xaml.cs
- [x] Stripped pill canisters' names off their fake labels
- [x] Reformatted pills *that do not have explicit descriptions* to
match "pill (label)" format

---

<!--
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>

Fig 1, the issue with ChemVend's reagent jugs:
![Fig
1](https://github.com/user-attachments/assets/05983f8d-1bc6-4352-b13c-194a6ea172e9)

Fig 2, the issue with pill canisters:
![Fig
2](https://github.com/user-attachments/assets/5afec42f-ef55-4b9d-af2f-2cef6174225d)

Fig 3, demonstration of the solution:
![Fig
3](https://github.com/user-attachments/assets/bbc2d1b3-e773-4654-a32a-ab5d7205e0e9)

</p>
</details>

---

# Changelog

🆑 NeLepus
- add: Added label rendering for vending machines & item preferences
- tweak: Formatted pill without descriptions to follow  "pill (label)"
- remove: Fake label duplicates in reagent jugs and pill canisters

(cherry picked from commit f0f9512b491fefa2416f661e8f6b20fab215fa2f)
2025-01-15 23:56:04 +03:00
Skubman
49a55085a0 The Fashion Update (#1526)
# Description

Adds **almost two hundred** (192) new items to Loadouts, vastly
increasing the fashion content available to players. Most of them are
colorable, allowing for an insane amount of customization.

Most of the new clothing comes from Aurora Station, with ports from
World Server and Nuclear 14 as well. Also added were some unused clothes
to loadouts.

New loadout items count:
**Uniform:** 85
**Outer:** 31
**Head:** 18
**Neck:** 17
**Eyes:** 14
**Shoes:** 14
**Belt:** 7
**Security Eyewear:** 3
**Back:** 2
**Hands:** 1

## Technical Details

I had to touch C# for high heels, because I had to make sure they were
hiding the left foot and right foot layers and avoid a bug where the
Shitmed body part system enabled the feet layers again after the high
heels were equipped by the loadout system.

I added two new layers to all species, `innerBelt` and `innerNeck` which
are rendered below outer clothing so that the new belts and the neck tie
aren't rendered above jackets, coats and such.

## Lookbook

### New Outfits

![image](https://github.com/user-attachments/assets/80ff1567-f921-4386-ac54-ff03ccd25b02)

Outfit information:

<details><summary>
[Top Left] Summer Days
</summary>
<b>Head:</b> fedora (colorable)

<b>Neck:</b> necklace (colorable)
<b>Outer:</b> slim cardigan, opened (colorable)
<b>Uniform:</b> long-sleeve A-line dress (colorable)
<b>Belt:</b> waist belt (colorable)
<b>Back:</b> purse, flipped (colorable)
<b>Shoes:</b> flip flops, alternative (colorable)

Note how the waist belt is covered by the slim cardigan, due to being in
the `innerBelt` layer.

</details>

<details><summary>
[Top Middle] Formalwear
</summary>
<b>Head:</b> small hair bow (colorable)

<b>Neck:</b> necklace (colorable)
<b>Uniform:</b> asymmetric dress (colorable)
<b>Hands:</b> evening gloves (colorable)
<b>Belt:</b> thin waist belt (colorable)
<b>Back:</b> purse (colorable)
<b>Shoes:</b> high heels (colorable)

</details>

<details><summary>
[Top Right] Boho-Chic
</summary>
<b>Head:</b> hair flower (colorable)

<b>Neck:</b> small necklace (colorable)
<b>Outer:</b> asymmetric coat, opened (colorable)
<b>Uniform:</b> midi dress (colorable)
<b>Belt:</b> waist belt (colorable)
<b>Back:</b> purse (colorable)
<b>Shoes:</b> flats (colorable)

</details>

<details><summary>
[Bottom Left] Nurse
</summary>
<b>Head:</b> nurse hat

<b>Neck:</b> round necklace (colorable)
<b>Uniform:</b> club dress (colorable)
<b>Hands:</b> evening gloves (colorable)
<b>Back:</b> purse (colorable)
<b>Shoes:</b> flats (colorable)

</details>

<details><summary>
[Bottom Middle] Smart Casual
</summary>
<b>Outer:</b> modern coat (colorable)

<b>Uniform:</b> pencil skirt and gym bra (colorable)
<b>Back:</b> purse (colorable)
<b>Shoes:</b> high heels (colorable)

</details>

<details><summary>
[Bottom Right] Slaycurity Officer
</summary>
<b>Head:</b> security beret

<b>Neck:</b> gold necklace
<b>Uniform:</b> evening gown (colorable)
<b>Hands:</b> evening glovs (colorable)
<b>Belt:</b> security belt
<b>Back:</b> purse, flipped (colorable)
<b>Shoes:</b> high heels (colorable)

</details>

### High Heels Footsteps

https://github.com/user-attachments/assets/c4b99407-0f9b-4fb5-910e-603c024d9598

The high heels footsteps are also present on the high-heeled boots, long
high heels and flats. Pets are now colorable too (look at the pink
mothroach in the video). Reasons why they'd be a specific color could be
a natural variation, being dyed by their owner, or genetic modifications
(however unethical the last two may be).

<b>Cowboy</b>

![verde](https://github.com/user-attachments/assets/ce09bf56-9c03-42b1-819c-e6dba6476471)
<b>Head:</b> slouch hat (colorable)
<b>Eyes:</b> hipster glasses (colorable)
<b>Neck:</b> suit tie (colorable)
<b>Outer:</b> vest (colorable)
<b>Uniform:</b> grey cowboy outfit (from Nuclear 14!)
<b>Hands:</b> gloves (colorable)
<b>Belt:</b> belt (colorable)
<b>Back:</b> leather satchel
<b>Shoes:</b> workboots (colorable

### Security Glasses Skins

<img width=240px
src="https://github.com/user-attachments/assets/b7c5dd03-ab00-4cff-9018-145271e48229">

Security now have three alternative skins for the security glasses to
personalize their looks. Thus, they should no longer have the problem
where every sec member's face looks samey because everyone had the same
security glasses.

![secglasses](https://github.com/user-attachments/assets/d16a83d9-fb03-42bd-93dc-85625f3a45df)

From left to right: base security glasses, security aviators, big
security glasses, security visor glasses

<details><summary>
More Images
</summary>

<b>Skubsuit</b>

![skubmansuit](https://github.com/user-attachments/assets/a3da4def-3c28-4a43-80b6-7308341a7620)
<b>Head:</b> artist beret (colorable)
<b>Eyes:</b> monocle (colorable)
<b>Neck:</b> suit tie (colorable)
<b>Outer:</b> blazer (colorable)
<b>Uniform:</b> amish suit (colorable)
<b>Belt:</b> belt (colorable)
<b>Shoes:</b> ankle boots (colorable)

Huh, skub.

<b>Rugged</b>

![citizenn](https://github.com/user-attachments/assets/e4ae374d-1cf0-4e68-b009-0bf7db410635)
<b>Head:</b> green beanie (from Nuclear 14!)
<b>Eyes:</b> eyepatch (colorable)
<b>Neck:</b> small necklace (colorable)
<b>Outer:</b> sweater cardigan, opened (colorable)
<b>Uniform:</b> black flannel shirt and jeans (from Nuclear 14)
<b>Back:</b> grey satchel (colorable)
<b>Shoes:</b> workboots (colorable)

<b>The Rig Was Gamed From The Start</b>

![checkered](https://github.com/user-attachments/assets/8b546a9d-9f22-473d-a907-2c2b9870789c)
<b>Eyes:</b> eyepatch, flipped (colorable)
<b>Neck:</b> short tie (colorable)
<b>Uniform:</b> checkered suit (from Nuclear 14!)
<b>Shoes:</b> fashion jackboots (colorable)

<b>New Dresses</b>

<img width=300px
src="https://github.com/user-attachments/assets/5289465a-b297-4bb2-b9be-27695ee36d2b">
<img width=300px
src="https://github.com/user-attachments/assets/e39e0acb-69ee-447b-ba78-5ccb9eac2497">
<img width=300px
src="https://github.com/user-attachments/assets/01c39422-3571-43ea-987d-e13e21dd6078">
<img width=300px
src="https://github.com/user-attachments/assets/02dc10f2-56da-440f-9b19-aa38e9cb9942">

About 48 new dresses/jumpskirts were added to loadouts.

</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
-->

🆑 Skubman
- add: The Fashion Update is here. Almost two hundred brand-new clothes
have been added to Loadouts, like colorable suits, dresses, coats,
blazers, boots, necklaces, hats, glasses (including new Security
glasses), belts, a purse and more!
- add: Pets in the loadouts are now colorable. Go wild with pink
mothroaches, blue mice, green cockroaches and more!

(cherry picked from commit 6ba53e2ab9d648c05a943713af3d597347def3da)
2025-01-14 02:29:32 +03:00
Peptide90
547e993d48 Hiding and clearing department prototype code (#28114)
(cherry picked from commit 07dfefc4a29927aa74cfd5c7e75c6cb344d713f6)
(cherry picked from commit d662644e750dcad05c1d1f7214a17ff967c79710)
2025-01-14 02:09:11 +03:00
sleepyyapril
885ee5a831 Wizmerge for Station AI (#1351)
<!--
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

the adding AI is now up to y'all because i'm not touching loadout code
for name datasets, but it shouldn't be too bad from here

---------

Signed-off-by: sleepyyapril <123355664+sleepyyapril@users.noreply.github.com>
Signed-off-by: SolStar <44028047+ewokswagger@users.noreply.github.com>
Signed-off-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: themias <89101928+themias@users.noreply.github.com>
Co-authored-by: Verm <32827189+Vermidia@users.noreply.github.com>
Co-authored-by: DrSmugleaf <10968691+DrSmugleaf@users.noreply.github.com>
Co-authored-by: Sphiral <145869023+SphiraI@users.noreply.github.com>
Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: Mr. 27 <45323883+Dutch-VanDerLinde@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
Co-authored-by: Alzore <140123969+Blackern5000@users.noreply.github.com>
Co-authored-by: ravage <142820619+ravage123321@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: Intoxicating-Innocence <188202277+Intoxicating-Innocence@users.noreply.github.com>
Co-authored-by: Saphire <lattice@saphi.re>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
Co-authored-by: CaasGit <87243814+CaasGit@users.noreply.github.com>
Co-authored-by: BramvanZijp <56019239+BramvanZijp@users.noreply.github.com>
Co-authored-by: Boaz1111 <149967078+Boaz1111@users.noreply.github.com>
Co-authored-by: NakataRin <45946146+NakataRin@users.noreply.github.com>
Co-authored-by: Kara <lunarautomaton6@gmail.com>
Co-authored-by: Plykiya <58439124+Plykiya@users.noreply.github.com>
Co-authored-by: SlamBamActionman <slambamactionman@gmail.com>
Co-authored-by: Doomsdrayk <robotdoughnut@comcast.net>
Co-authored-by: Brandon Hu <103440971+Brandon-Huu@users.noreply.github.com>
Co-authored-by: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
Co-authored-by: Julian Giebel <juliangiebel@live.de>
Co-authored-by: nikthechampiongr <32041239+nikthechampiongr@users.noreply.github.com>
Co-authored-by: Repo <47093363+Titian3@users.noreply.github.com>
Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
Co-authored-by: icekot8 <93311212+icekot8@users.noreply.github.com>
Co-authored-by: AJCM-git <60196617+AJCM-git@users.noreply.github.com>
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
Co-authored-by: no <165581243+pissdemon@users.noreply.github.com>
Co-authored-by: Tornado Tech <54727692+Tornado-Technology@users.noreply.github.com>
Co-authored-by: osjarw <62134478+osjarw@users.noreply.github.com>
Co-authored-by: Simon <63975668+Simyon264@users.noreply.github.com>
Co-authored-by: TGRCDev <tgrc@tgrc.dev>
Co-authored-by: Milon <milonpl.git@proton.me>
Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
Co-authored-by: Fildrance <fildrance@gmail.com>
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
Co-authored-by: chavonadelal <156101927+chavonadelal@users.noreply.github.com>
Co-authored-by: SolStar <44028047+ewokswagger@users.noreply.github.com>
Co-authored-by: K-Dynamic <20566341+K-Dynamic@users.noreply.github.com>
Co-authored-by: lzk <124214523+lzk228@users.noreply.github.com>
Co-authored-by: ArchRBX <5040911+ArchRBX@users.noreply.github.com>
Co-authored-by: archrbx <punk.gear5260@fastmail.com>
Co-authored-by: Radezolid <snappednexus@gmail.com>
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
Co-authored-by: EmoGarbage404 <retron404@gmail.com>
Co-authored-by: MilenVolf <63782763+MilenVolf@users.noreply.github.com>
Co-authored-by: Velcroboy <107660393+IamVelcroboy@users.noreply.github.com>
Co-authored-by: Velcroboy <velcroboy333@hotmail.com>
Co-authored-by: neuPanda <chriseparton@gmail.com>
Co-authored-by: neuPanda <spainman0@yahoo.com>
Co-authored-by: Dvir <39403717+dvir001@users.noreply.github.com>
Co-authored-by: Whatstone <whatston3@gmail.com>
Co-authored-by: VideoKompany <135313844+VlaDOS1408@users.noreply.github.com>

(cherry picked from commit 93ed70acfeda357133a701f637d3faeec02749bb)
2025-01-14 00:13:42 +03:00
Sapphire
25080a9ac3 Fix the Width Slider Not Translating Smoothly (#1391)
# Description

The slider would jump around to fix the constraints because a division
symbol was mistakenly replaced with a multiplication symbol, this fixes
that.

---

<details><summary><h1>Media</h1></summary>
<p>

![edf53e72db6e17d97df08940f04e72d7](https://github.com/user-attachments/assets/b4ebcca5-e56b-41ab-8200-a2235d9b6f7c)

</p>
</details>

---

# Changelog

🆑
- fix: The width slider in the profile editor view now moves correctly
regarding the height slider.

Co-authored-by: sleepyyapril <123355664+sleepyyapril@users.noreply.github.com>
(cherry picked from commit 6dd8c09c27de60cfcfc399080e64c2b0340acaf8)
2025-01-13 23:02:53 +03:00
Spatison
afaceb8a42 Upstream 12.12-26.12 (#208)
* Pistol-Whipping (Guns as Melee Weapons) (#1335)

# Description

Adds the ability to use guns as melee weapons and throwing weapons.

The gun melee attack is a Light Attack done with a right click. The
attack rate is slower than average melee weapons.

The cooldown on melee attacks after shooting has been removed entirely,
so you can right-click immediately after shooting (like in hero shooters
😎). The cooldown on shooting after a melee attack has been set to a
constant 0.5 seconds.

## Balance

Technically speaking, weaving shooting and pistol-whipping lowers your
overall DPS in most cases, because you can't shoot for 0.5 seconds after
doing a melee attack. With _skillful_ usage, however, it provides some
key tactical advantages:
- Preserving ammo by dealing damage without firing a shot.
- Deal stamina damage as a natural effect of dealing melee Blunt damage.
- Most non-pistol guns have increased blunt stamina damage factors to
help with this.
- Bypassing Piercing resists of armors with a higher Piercing resist
than Blunt resist like plate carriers.
- Doing the combo of right-clicking immediately after shooting deals a
big burst of damage.

Pistol-whipping also helps as a last resort when you run out of ammo.
However, it's almost always better to use a proper melee weapon instead
of a gun as a pure melee weapon, because you can't power attack with
guns and the guns' melee attack rate are slower by design than most
melee weapons.

Shotguns benefit the most from pistol-whipping, because their ideal
range is close-range where a melee attack can be performed, and their
low fire rate means they're not affected too much by the 0.5s shooting
cooldown.

Guns have received throwing damage. You can throw guns at the enemy once
you're out of ammo to deal extra damage. I think this makes fights a
little more spectacular to watch.

Melee damage sorted by group (from least to greatest):

1. Revolver
2. Pistol (+ Energy Pistol)
3. Sniper rifle
4. Rifle  (+ Energy Rifle)
5. Sub Machine Gun
6. Shotgun
7. Light Machine Gun (L6 saw)
8. Heavy Machine Gun

## Media

**mk 58**

![image](https://github.com/user-attachments/assets/d17bc1c7-7ec5-4124-93c3-306026f7a23f)

**Kardashev-Mosin (Wielded)**

![image](https://github.com/user-attachments/assets/52132262-48ae-48fa-a72c-3df5ae6bfd17)

**Basic Combat**

https://github.com/user-attachments/assets/922998d1-0cd0-4fea-8f0b-365bcff3c12b

**Particle Decelerator Combo (80 damage)**

https://github.com/user-attachments/assets/ce62334a-13dd-46d9-9c0e-453e26bf1261

Combo: Shoot + Power Attack, wait 1.6s then Power Attack + Throw

This combo costs 90 stamina which almost depletes 100 stamina leaving
you vulnerable, so the Vigor trait can help you pull off this combo.

## Changelog

🆑 Skubman
- add: Pistol-whipping has been added. You can press right click with a
gun to perform a Light Attack. Most guns will deal Blunt damage, apart
from the Kardashev-Mosin dealing Piercing/Slash damage with its bayonet.
Weaving bullets and melee attacks correctly will give you the upper hand
in combat.
- add: Guns can now be thrown to deal the same damage as their melee
damage.

(cherry picked from commit 5899f4ea5a978ded0362bdf46185f8fbb1a2607c)

* local #1335

* Fix Interact Verb (#1346)

Finally fixed it.

Interact verbs weren't appearing because this is required in BaseMob.

(cherry picked from commit 3e3ca59850f1a21f2bb8e249455d655ec6b63d2c)

* Fix Ripley Hydraulic Clamp (#1344)

# Description

Fix a bug in `MechGrabberSystem` causing the hydraulic clamps in Ripley
to drop items far away.

---

<details><summary><h1>Media</h1></summary>
<p>

https://github.com/user-attachments/assets/d2c8e951-e391-42d7-b45d-78a275dc8bf2

</p>
</details>

---

# Changelog

🆑
- fix: Hydraulic clamps now drop entities correctly

(cherry picked from commit f0e4612612fe18a126cdf47d712b63bc083b5483)

* Automatic Changelog Update (#1344)

(cherry picked from commit 6dcb367adb769f51bcaf1a647a4ca6c886a10be7)

* Salvage Magnet UI and Character Switching Height/Width Bug Fix (#1347)

<!--
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]?
-->

i fixed it

also added a button "Connect & Go to Lobby" for people testing lobby
stuff!

Resolves #1131

---

# 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
-->

🆑
- fix: Fixed the bug where switching characters made your width/height
change to incorrect values.
- fix: Fixed the salvage magnet opening ten times.

---------

Signed-off-by: sleepyyapril <123355664+sleepyyapril@users.noreply.github.com>

(cherry picked from commit c4c3e4283ae077fd0f55e4cce31710f31de046f7)

* Automatic Changelog Update (#1347)

(cherry picked from commit 8ff70215d9f6e2a73150b55313333b9d5ca87749)

* Update Credits (#1350)

This is an automated Pull Request. This PR updates the GitHub
contributors in the credits section.

Co-authored-by: SimpleStation Changelogs <SimpleStation14@users.noreply.github.com>
(cherry picked from commit 2a7a4719d39b51ffd232c667b1ca49dbce68dce6)

* Fix Bartender Mosin (#1337)

Bartender Mosin was replacing their duffel bag at roundstart.

(cherry picked from commit 3aa430f486dcdf40629468c715092aee0089187c)

* Trait Purchasable Mentalic Powers (#1343)

# Description

This PR adds a few of the "Mentalic" category of psionic abilities to
the Traits System, allowing them to be purchased by any character that
is also a Latent Psychic. These powers are:
- Dispel
- Metapsionic Pulse
- Xenoglossy (Also requires Natural Telepath)
- Psychognomy (Also requires Natural Telepath)

These are all quite expensive, so to help address the "Expensive trait
proliferation", I've increased the points granted by the Blindness trait
to 10. Have fun being a blind wizard. From this point on, we're going to
need to start adding more "High point value" negative traits.

# Changelog

🆑
- add: Dispel, Metapsionic Pulse, Xenoglossy, and Psychognomy can all be
purchased during character creation using trait points.
- tweak: Blindness now grants 10 trait points instead of 6.

(cherry picked from commit acec14d08879ebaf16e5425fccd26d8f066eda55)

* Automatic Changelog Update (#1343)

(cherry picked from commit adddc1df27184f74e5e48e5220e0cd4eeb57084c)

* Pointy Ears For Harpies And Arachne (#1348)

# Description

Like half the art references I have for Harpies have them with elf-like
pointed ears, another half have them with their feather tufts. We have
pointy ears markings, so this PR makes it so that Harpies can have them.
Actually it also gives them to Arachne, for similar reasons(It's an
oddly common thing on Arachne/Lamia art depictions).

# Changelog

🆑
- add: Added a variety of Pointy Ears markings for Harpy and Arachne
characters.

(cherry picked from commit 59a55c9d6ae6772d4ead0e73d5dab7b24c539e53)

* Automatic Changelog Update (#1348)

(cherry picked from commit 99d616953af89462d827fd8ca6e50a92e63e8203)

* Port Cosmatic Drift Arrivals (#1340)

# Description

Done after a lengthy discussion with @OldDanceJacket about mapping
issues, namely the existence of "Walk-In Closets" on maps that take up
an inordinate amount of space that would otherwise be usable for other
purposes. Seriously, Saltern has a 4x6 room that contains >200 medical
uniforms, and is on a map intended only for 15 people(And maximum of 6
medbay personnel). Every map in rotation is like this.

Ostensibly, Loadouts were created to provide a solution to this problem,
by making it so that players choose their DRIP before spawning in, so
that mappers don't need to put in a whole ass room dedicated to medical
uniforms. But Mappers ended up keeping the "Walk-in Closets" even after
Loadouts were introduced to serve as a "Sanity check" in case of events
such as people not choosing their loadouts, or getting hired during the
round by the HoP to work in the medbay, etc. To solve this, me and ODJ
agreed upon adopting Cosmatic Drift's solution to this, by making it so
that the Arrivals Terminal serves as the "Walk-in Closet Hotel" that
every map can just piggyback off of. Nobody needs to make the stupid
closet rooms, on ANY map, because every map is fully guaranteed to have
every closet the players could ever need in arrivals.

# Media
<details><summary><h1>Media</h1></summary>
<p>

Dock

![image](https://github.com/user-attachments/assets/af28d549-83ab-4da0-9a4f-a5ec4bb52c7c)

Dorms(Spawn points)

![image](https://github.com/user-attachments/assets/b3d57428-ea91-4c4d-ab99-28a46e647b17)

Medbay:

![image](https://github.com/user-attachments/assets/ebd47dce-5fb3-45fc-858d-39680d5c511a)

Security

![image](https://github.com/user-attachments/assets/0f26a112-eeff-48da-b916-15d69ede601d)

Captain/HOP

![image](https://github.com/user-attachments/assets/74ec295f-154e-4743-b36f-8161a966ee4e)

Cargo:

![image](https://github.com/user-attachments/assets/ae9f7ee1-c6c8-4c94-8dd1-13731eeb1036)

Epistemics:

![image](https://github.com/user-attachments/assets/68293436-9b69-4157-a8eb-8471c18d4f73)

</p>
</details>

# Changelog

🆑
- add: Ported Cosmatic Drift's version of the Arrivals Terminal.
Terminal now includes every version of department clothing and material
lockers that players could ever need, allowing them to try on their
chosen job equipment and drip before departing for the station.

(cherry picked from commit 4509a9d030efb7eb45378824559a3f88c4caf4b4)

* Automatic Changelog Update (#1340)

(cherry picked from commit 9a1cda889a085974f666adb99c753ba4e1392355)

* More Dangerous Mindbreaking (#1249)

# Description

Somehow people weren't getting the memo despite the **HORRIFYING** texts
associated with Mindbreaking, that doing so is an almost comically evil
act akin to murder. So this PR fixes that. By making it even more
obvious.

<details><summary><h1>Media</h1></summary>
<p>

![image](https://github.com/user-attachments/assets/cf3280a5-42b3-4137-9191-f1ad26773ced)

</p>
</details>

# Changelog

🆑
- add: Added a server option for "Scarier Mindbreaking". Mindbreaking
now irreversibly converts a player character into a non-sentient NPC.
- fix: Mindbreaking now only works on Psychics.

---------

Signed-off-by: sleepyyapril <123355664+sleepyyapril@users.noreply.github.com>
Co-authored-by: sleepyyapril <123355664+sleepyyapril@users.noreply.github.com>
(cherry picked from commit 80f83484e9653f159581ea0dfc82d56256e4947c)

* Automatic Changelog Update (#1249)

(cherry picked from commit 4d87be6ea66356156cdac6e7e9cd70af36daae24)

* Redshirt And Brittle Bone Traits (#1352)

# Description

This PR adds two additional "High Value" physical negative traits, to
help address a growing need for more high point value negatives, since
there is also a very large number of high point positive traits. These
two traits are fairly simple, the first is Redshirt, which decreases
your Dead threshold by 100, and Brittle Bone Disease , which reduces
your Crit threshold by 50. Taking both on an ordinary human would give
+18 trait points to work with, but would in turn give a healthbar of
only 50/100, compared with the standard healthbar of 100/200.

# Changelog

🆑
- add: Added Redshirt and Brittle Bone Disease traits. These give
extremely large negative modifiers to your healthbar, but also grant a
large amount of trait points to work with.

(cherry picked from commit 88edcd05aef76acb10e3d0924dd874eef22c7f71)

* Automatic Changelog Update (#1352)

(cherry picked from commit ed0e56aa446ea9ad9ecae1a1a1685438378b1814)

* Jackboots Slowdown Mitigation (PORT) (#1342)

<!--
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]?
-->

Ports jackboot slowdown mitigation from [space-wizards
github](https://github.com/space-wizards/space-station-14/pull/30586).
Adds fake version for civilian use.

---

# 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
-->

🆑
- add: Added slowdown mitigation to jackboots
- add: Added fake jackboots for style outside of sec

---------

Co-authored-by: sleepyyapril <123355664+sleepyyapril@users.noreply.github.com>
(cherry picked from commit f5d45d790d793acbba7d21258cd206568fe79f99)

* Automatic Changelog Update (#1342)

(cherry picked from commit 03dc85aa7071c70cd9f01392cabf7cb7fb2fa6ac)

* Fix Redshirt & Brittle Bone Traits (#1355)

These were supposed to be negative traits(They give you points), but I
accidentally made them positive traits(They cost points).

(cherry picked from commit ec60940fe5eae5d7d3e969bac132e1da2a659272)

* Example Hub Ad List (#1356)

# Description

this PR extends the list of default advertiser hubs to include every
existing hub except for SSMV(Which is mutually exclusive with the
others). If there are more hubs I have missed, please let me know. This
will allow our servers to appear on as many hubs as possible.

(cherry picked from commit 577126f987ff70ba213f2898ea9e5170b0dc5ea6)

* Saltern Update (#1357)

# Description

I would like to offer my thanks to the Singularity Network Mapping Team
for this update, they've done some great work! This PR launches Saltern
with a significant rework to everything on it except for arrivals.

<details><summary><h1>Media</h1></summary>
<p>

Sorry, Map Renderer is dead right now.

![image](https://github.com/user-attachments/assets/53ad601b-087e-4525-b6b6-74b16c5e4dbd)

![image](https://github.com/user-attachments/assets/25bbbed0-18c4-4757-a966-c919379dc5e1)

</p>
</details>

# Changelog
Death do NOT change the name given for the Changelog author, the mappers
here have requested that "SiN Mapping Team" be given as the name for
this PR.

🆑 SiN Mapping Team
- add: Saltern has been fully reworked!

(cherry picked from commit a06b4661b08abe6f64460655962b98f4ccb9db07)

* Automatic Changelog Update (#1357)

(cherry picked from commit aab36bfe65d82cff13bb6d8b6a55c2b70a031aa2)

* v237.3.0 (#1354)

the robust toolbox updater!!

https://github.com/space-wizards/RobustToolbox/blob/v237.3.0/RELEASE-NOTES.md
(cherry picked from commit bf1b0d03aede161d62aedfc9166589335a5d7c4c)

* Hotfix Saltern (#1359)

# Description

Small maintenance to do. Bridge needed FixGridAtmos done, and a single
light in dorms needed wiring.

# Changelog

🆑
- fix: Fixed the Saltern bridge being a hard vacuum at roundstart.

(cherry picked from commit 3c1ed56ed3122866b32249006496c37be825c82a)

* Automatic Changelog Update (#1359)

(cherry picked from commit 48413d6a435de700197a4f6ceb1290d61f5130b4)

* Loadouts Debloating (Colorable Items) (#1364)

# Description

This PR cuts down significantly on Loadouts bloat by removing all
specific color versions of colorable items from the loadouts. I left the
original items untouched for compatibility reasons since certain things
in the game still need to be able to spawn a "Blue jumpsuit" etc.

Additionally, to help aid in clarity for players, I've added
localizations for all the generic colorable items so that they have
(colorable) in the loadout names, so that players can tell which items
have the option without needing to click into the customize button on
every item.

<details><summary><h1>Media</h1></summary>
<p>

![image](https://github.com/user-attachments/assets/7ab30002-c7d4-4eeb-b018-45a9fda80ae6)

</p>
</details>

# Changelog

🆑
- add: Added labels to all generic colorable items in loadouts, so that
players can see which items have custom colors as customization options.
- remove: Removed all 'specific color' variants of colorable items from
Loadouts, such as "Blue Jumpsuit" when a colorable jumpsuit exists.

(cherry picked from commit 452b9113f61790e8258b95904361de5ed34a034f)

* Automatic Changelog Update (#1364)

(cherry picked from commit cd5a6f8b5743904dbecbf04e5d70614e4444d149)

* More Colorable Items (#1365)

# Description

This PR adds even more colorable items to loadouts, this time making
entirely new whitescale versions of existing items that did not have one
previously. This replaces several more options for items that had a
whole bunch of specific color entries with a single item that can take
any color.

<details><summary><h1>Media</h1></summary>
<p>

![image](https://github.com/user-attachments/assets/31438bf7-6ca3-45d2-bf10-af5db5f6e4c4)

</p>
</details>

# Changelog

🆑
- add: Added colorable variants of fingerless gloves, headbands, berets,
hairflowers, cloth masks, and the neck gaiter.

(cherry picked from commit 0674895a3b6a84c2761eb13c7b5f35bc826fe19c)

* Automatic Changelog Update (#1365)

(cherry picked from commit cc1e52c47c7b27b8da9be5da701580efe42590ca)

* Make the EE Logo Match the Banner (#1361)

# Description

Light mode logo

(cherry picked from commit 35c95a5da3ccb7d23620eaa1aad43022be3d6673)

* Loadout Modular Functions (And Loadout Pets) (#1366)

# Description

This PR implements a reflection based system for applying functions
directly to entities spawned by loadouts. In order to provide an
"Example" use of this system, I have created a "LoadoutMakeFollower"
function, which can be applied to a loadout entity that happens to be an
NPC with the Follower blackboard, making it follow the player who
purchased that loadout.

Basically. Pet mouse. The pet mouse will follow its owner.

Yes I actually have tested this ingame, and it works great. The longest
part about coding this was me spending almost 30 minutes straight
wondering why the mouse wasn't following my character, until I
remembered that I had to make a special "Pet" mouse variant that had the
right HTN root task.

This could be extended to other things. I happen to know that Nuclear14
wanted something like this for a Pet Dog.

<details><summary><h1>Media</h1></summary>
<p>

![image](https://github.com/user-attachments/assets/a18b026b-07a3-4ad7-8cce-4ea4dc4c3036)

</p>
</details>

# Changelog

🆑
- add: Loadouts can now apply modular functions to items upon spawning
in.
- add: A new LoadoutMakeFollower function, which lets you buy NPC
followers in loadouts.
- add: added Pet Mice, Cockroach, Mothroach, and Hamster to Loadouts.
All of which use the new LoadoutMakeFollower function.

Co-authored-by: sleepyyapril <123355664+sleepyyapril@users.noreply.github.com>
(cherry picked from commit 311b86e012ac7d40363b5027ab51b09c9d2285e2)

* Automatic Changelog Update (#1366)

(cherry picked from commit 18a751d5c3d53cd4ff36728dd585ada37e9175b9)

* Plushies! (#1369)

<!--
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]?
-->

Added two new plushies to the game! A harpy plushie and a plushie for
the beloved station pet Morty!

![image](https://github.com/user-attachments/assets/3e202da2-3571-4c67-82c9-54a6aaf3c91f)

![mortplush](https://github.com/user-attachments/assets/9f131eb9-ed89-4818-b54c-e9da949e8ce2)

![harpyplushie](https://github.com/user-attachments/assets/47aa5b91-0747-4a2c-8c5c-18c5429ab570)

---

# 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
-->

🆑
- add: two new cuddly friends to the station! (harpy and morty plush)

---------

Signed-off-by: sleepyyapril <123355664+sleepyyapril@users.noreply.github.com>
Co-authored-by: juniwoofs <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>
Co-authored-by: sleepyyapril <123355664+sleepyyapril@users.noreply.github.com>
(cherry picked from commit 6fb12233d48de476c2b06415031fa2e9c9a1d327)

* Automatic Changelog Update (#1369)

(cherry picked from commit 5293b92007f7ca81375d9806cccf9be38846c8d3)

* Traits System Anticheat (#1358)

# Description

It turns out that there was no system in place for serverside fact
checking of whether or not people have a legal traits list. Last night a
bug was reported whereby a player used Cheat Engine to give himself
every trait in the game, bypassing the points system entirely. It's not
actually possible to reduce a trait selection down to a legal list
without creating interesting race conditions, which limits my options on
how to deal with it.

So I made it a vote on the Einstein Engines discord, and the vote was
unanimous. PUNISH THE CHEATERS.

<details><summary><h1>Media</h1></summary>
<p>

https://www.youtube.com/watch?v=X2QMN0a_TrA

</p>
</details>

# Changelog

🆑
- add: Implemented Anti-cheat for Traits. Attempting to join a round
with an illegal traits list will result in hilarious consequences.

(cherry picked from commit 2fc1f25bc0daa29e2017490adbdf41f9db4f4927)

* Automatic Changelog Update (#1358)

(cherry picked from commit 9d738c8f36c0762e0ba3942fb26ef25735ade327)

* Make Prisoner Not Shitter Role (#1341)

# Description

Prisoner is consistently the most problematic role in this entire game,
being seen as "The Self Antagging Role", which produces endless amounts
of administrative burden. This is especially a problem with lowpop
servers, or servers that are understaffed with admins. Players just join
as Prisoner, *immediately* break out of the permabrig, and then go on a
self antagging spree. The solution to this was staring us in the face
the whole time. Just give them the same Pacified component that the
Thief antag has. Now it's impossible for them to smash the permabrig
windows, someone has to intentionally let them out, and even if they do,
they will be hard pressed to selfantag when they can't turn on harm
intent.

# Changelog

🆑
- add: Prisoners now spawn with a Pacifier Implant.

(cherry picked from commit 7f8d76ea6f63d334c894fc0f7ada6fd1359408f1)

* Automatic Changelog Update (#1341)

(cherry picked from commit 68cb9ea4888c16056c6cfe9fea17de1a78420374)

* Fix Jittering (#1334)

<!--
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]?
-->

Title.
Ported from https://github.com/Fansana/floofstation1/pull/393
Resolves #1277

---

# 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
-->

🆑
- fix: Fixed jittering displacing your character when shaken.

(cherry picked from commit a13d9640ec77e07b532b729ac540dc95b689c557)

* Automatic Changelog Update (#1334)

(cherry picked from commit bfb32cf24eda47ff3dbd5d4b15b58e25ae597947)

* Basic Soft-Crit Implementation (#1370)

# Description

This PR adds a simple server configuration option for enabling basic
"Soft-Crit", and not much else because oh my god this system is horribly
complicated. When enabled, characters can crawl around very slowly while
in crit, and really not much else. This more or less mirrors how crit
affects character movement in SS13, where you can at least crawl to
relative safety while bleeding to death.

# Changelog

🆑
- add: Added server config options for basic "Soft-Crit". When enabled,
characters who are critically injured can still slowly crawl, but are
otherwise still helpless and dying.

(cherry picked from commit dff8c69f2afff6714b893a7c9572a84bd384ff89)

* Automatic Changelog Update (#1370)

(cherry picked from commit 9430b9046a9a40cc2f96bb3c66251aabbaf9e80a)

* local upstream

* Revert "Make Prisoner Not Shitter Role (#1341)"

This reverts commit c7d0eddc96.

* RobustToolbox 237.3.0

* fix: snowball testfailing fix

---------

Co-authored-by: Skubman <ba.fallaria@gmail.com>
Co-authored-by: sleepyyapril <123355664+sleepyyapril@users.noreply.github.com>
Co-authored-by: Kyoth25f <41803390+Kyoth25f@users.noreply.github.com>
Co-authored-by: SimpleStation Changelogs <SimpleStation14@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: Blu <79374236+BlueHNT@users.noreply.github.com>
Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
Co-authored-by: juniwoofs <jakbroeder@gmail.com>
Co-authored-by: Remuchi <72476615+Remuchi@users.noreply.github.com>
2024-12-31 08:58:44 +02:00