Commit Graph

731 Commits

Author SHA1 Message Date
lzk
f87b1dc280 Special latejoin message for captain (#31991)
* Special latejoin message for captain

* fix gender in locale

* remove this for now

* shame

* not really shame

* change

* do that

(cherry picked from commit f2b67fc76b5b3f68fd4dd39691710d1f425f3178)
2025-07-20 14:50:37 +10:00
Eris
d1abb827ae h 2025-07-20 14:39:25 +10:00
Eris
75a463cf5d Saving changes 1 2025-07-20 14:37:13 +10:00
Eris
110e22aa2f a 2025-07-20 14:25:39 +10:00
Thomas
65fca27321 Disable Arrivals message for Cryosleep (#30888)
* Disable arrivals message for cryosleep late arrivals

* Provide silent to PlayerSpawnCompleteEvent

* Fix typo

* Move message to event and into arrivals system
2025-07-20 14:22:55 +10:00
nikthechampiongr
04d5f5b5ad Fix RA0032 (#32514) 2025-07-20 14:22:41 +10:00
Brandon Hu
b17cfa6ecf fix(Commands): Improve Localization of commands. Standardize some behaviors. (#30362)
* I should be studying for school but that is sofucking boring, I will pass my class no matter, however getting an A might be a challenge. My gpa is important but is the tourture for 1 point of GPA worth it? The american government says yes but they are responsible for the majority of all genocides that have ever been conducted since the dawn of man

* ugh

* ugh

(cherry picked from commit 31c5d3555ea97e6f6a317c5b208763e4f12a67c6)
2025-07-20 14:18:35 +10:00
Repo
00e173e2b2 Fix late join & observe to de-admin admins. (#28319)
(cherry picked from commit eb3f27526bc8748a45c3f56de97a982747e51842)
2025-07-20 14:18:35 +10:00
Winkarst
4fe82b22f6 Move OnGhostAttempt to GhostSystem (#31445)
* Move OnGhostAttempt to GhostSystem

* Remove unused dependencies and sort them

(cherry picked from commit 2d85b4e7e9d5d37f4ebd3c4ffd249dc6381efad6)
2025-07-20 14:14:24 +10:00
Errant
ca02358347 Aghosts can now /ghost (#29360)
I will not be subjected to criminal abuse

(cherry picked from commit 49128ba9d3492e41f64a3ad12f40226015a22387)
2025-07-20 14:12:41 +10:00
DrSmugleaf
562ea14e83 Add cvar to disable ghosting killing your crit mob (#28945)
* Add cvar to disable ghosting killing your crit mob

* Update Content.Shared/CCVar/CCVars.cs

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

---------

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

(cherry picked from commit 4954b6d79e194a4dd8b7f2d9942fa707e259493d)
2025-07-20 14:12:40 +10:00
Mervill
d772904f06 Remove unused IoC dependency references. (#31704)
Remove unused IoC dependencies

(cherry picked from commit 3414abb970bc1cd31f1653c82da5ede40e94b10e)
2025-07-20 14:08:43 +10:00
nikthechampiongr
224dac29e0 Allow for respawn and erase verb to be used on offline players. Also minor  rewrite on respawn command and new erase command (#30433)
* Localize respawn command, allow for it to use userids, and make it use [Dependency] attributes

* Make respawn verb available for offline players

* Make erase available for offline players

A thousand admins rejoice

* Reorder verbs in code

* Add erase command

* Fix localisation for erase command

* Address reviews and add completion to respawn command

* Complete reviews which I forgor
2025-07-20 14:08:41 +10:00
Lumminal
16ea61f52f Shadowling Antagonist (SS13 Port and Remake) (#2207)
<!--
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 Shadowlings from SS13 to SS14 with a remake to make them fun to
play.

Minimal Design Doc (not up-to-date, read comments in this repo for
updates):

https://github.com/Lumminal/SS14-Design-Docs-Lumminal/blob/main/Shadowling.md

---

- Abilities
  - [X] Hatch
  - [x] Glare
  - [X] Enthrall
  - [x] Veil
  - [x] Shadow Walk
  - [x] Icy Veins
  - [x] Collective Mind
  - [x] Rapid Re-Hatch
  - [x] Destroy Engines
  - [x] Sonic Screech
  - [x] Blindness Smoke
  - [x] Null Charge
  - [x] Black Recuperation
  - [x] Empowered Enthrall
  - [x] Nox Imperii
  - [x] Ascension
  - [x] Annihilate
  - [x] Hypnosis
  - [x] Plane-Shift
  - [x] Lighting Storm
  - [x] Ascendant Broadcast
- Antags
  - [X] Thrall
      - [x] Guise
      - [x] Thrall Darksight
  - [x] Lesser Shadowling
- Passive
  - [x] Light Resistance Scaling
  - [x] Shadowmind
  - [x] Damage on Light
- Other
  - [x] Sounds
  - [x] Sprites
  - [x] Psionic Interactions
  - [x] Handle Edge Cases
---

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

https://www.youtube.com/watch?v=H-Ee5wuRINc

</p>
</details>

---

🆑
- add: The shadows have awakened, and their ascendance is soon to
follow. Do not enter maints.

---------

Signed-off-by: Lumminal <81829924+Lumminal@users.noreply.github.com>
2025-07-20 12:05:11 +10:00
Mervill
e6fa747f95 Don't show Station Event announcements to players in the lobby. (#30886) 2025-07-19 15:08:00 +10:00
SlamBamActionman
23184e69b3 Change Thief Syndie & Chameleon kit contents, add Syndie codeword paper (#30446)
* Initial commit

* more like bYE

* Fix exception during test

(cherry picked from commit bf06d0e869e78ae7f8ac51922a1e3f23bf59a39f)
2025-07-15 16:35:53 +10:00
Cojoke
8c6a64e5ac Remove all Assigned Values that are Never Used (#30110)
Remove all Assigned Values that are never used

(cherry picked from commit b57174007c8d455d10cfa6a2e8563993e935838e)
2025-07-14 14:13:59 +10:00
Nemanja
5485b8af04 Missing meteor presets (#29044) 2025-07-14 14:04:40 +10:00
Repo
39469c971d Fix gamerule display issues (#28178)
* A comprehensive rule list for joining admins and mid round command to get rule list added

* Fix up for when a rule is added vs started and some logging

* fix command help localization, fix admin flags and spam anouncement.

* Send admin message only to the joining player not all admins.

* Bit better formatting in chat box

(cherry picked from commit 90d3699c1df2d0de21e887c893b9f17aaebcfced)
2025-07-14 14:04:38 +10:00
IProduceWidgets
ff34d18219 Nukie Outpost is no longer a station map (#30090)
* I dunno, break shit I guess.

* Actually fix some shit for once.

* test flakey or me flakey?

* Test were not flakey, they just didnt make any sense anymore.

* more stationy tests

* undo abuncha shit I can set in yml instead

* forgor an assert

* unneeded usings

* 1984

* I made github angy

* yoink

* the end is never the end is never the end is never the end is never the end is never the end is never the

* Im going to commit sudoku

(cherry picked from commit c7ff647cb324839e7c853d61d29c6e7204390ec1)
2025-07-14 13:24:49 +10:00
Jezithyr
b897317faf Re-enabling nukie species(except vox), added antag species blacklisting 2025-07-14 13:24:48 +10:00
Spatison
2d11396fe0 Fix RespawnRuleSystem.cs 2025-07-14 13:12:59 +10:00
AJCM-git
fe4c21eb0c RespawnRuleSystem tweaks. (#28528)
(cherry picked from commit 509e3aedf7b91c1e1d11e5a885608bc92909f552)
2025-07-14 12:33:06 +10:00
metalgearsloth
55aa0c71e5 Replace StationRandomTransform (#29149) 2025-07-14 12:33:06 +10:00
Tayrtahn
5ffcef157c Fix nukeops ending early if an operative dies at base (#29642)
Fix nukeops ending early if an operative died at base

(cherry picked from commit 340332cf5b473543a48487efc5d68dded394f375)
2025-07-14 12:33:05 +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
Kara
0e9ac91ed3 Resolve 'EntitySystem.Get<T>()' is obsolete in content (#27936)
* PROJECT 0 WARNINGS: Resolve `'EntitySystem.Get<T>()' is obsolete` in content

* pass entman

* dog ass test

* webeditor

(cherry picked from commit 993eef1e7c22b2b79e528967ef5bb669f50236b1)
2025-07-12 01:31:53 +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
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
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
dootythefrooty
717f8404f0 Abductor Port (#2234)
<!--
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 the lone abductor and possibly(?) the duo abductors.

---

# 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] Figure out why abductors aren't spawning as the abductor race.
- [X] Make sure it's not a buggy mess.

---

<!--
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/81292bde-ad96-4d08-a30e-87c9bc2df8aa)
</p>
</details>

---
# Credits
Thank to [Starlight ](https://discord.com/invite/wAyQKB78fH)for the
original version!
Darkrell, Rinary, and Landosaur made the funny little guys.

![image](https://github.com/user-attachments/assets/1c62afe9-7fb9-458e-bc61-5745ba3a2a6b)

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

🆑 Darkrell, Rinary, Landosaur
- add: The Abductors are here to replace your organs. Gleep Glorp!

---------

Co-authored-by: gluesniffler <159397573+gluesniffler@users.noreply.github.com>
Co-authored-by: Solstice <solsticeofthewinter@gmail.com>
Co-authored-by: SX_7 <sn1.test.preria.2002@gmail.com>
Co-authored-by: Theodore Lukin <66275205+pheenty@users.noreply.github.com>
Co-authored-by: Piras314 <p1r4s@proton.me>
Co-authored-by: Ilya246 <57039557+ilya246@users.noreply.github.com>

(cherry picked from commit ea9f1526868289d20832989cb02f79c76c240918)
2025-04-19 01:45:58 +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
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
vanx
4f6c3a44ad rev locale lololo 2025-03-12 14:33:53 +03:00
vanx
efa79e80ae min ops for WAR 2025-03-11 14:25:05 +03:00
Timfa
63773c7218 Revolutionary Manifesto (#1878)
<!--
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]?
-->

With protection against flashes a bit more easily obtainable than before
(welding masks, sunglasses, engineering goggles, cyber eye traits, etc.)
and having thought about this idea before, I'd like to do a quick poll
on an idea I've had and would be willing to implement:
Instead of a Flash, give HeadRevolutionaries a Manifesto. They use this
(with a short doafter) on a person to convert them, spouting Rev
Ideology at them as the doafter runs. This will only be blockable by
* Mindshields
* Not being an intelligent creature

As a side-effect, Epistemics won't necessarily be the Prime First Target
to Rev anymore. Unless they want more books and they're in the library.

A head revolutionary will spawn with this book. It may also be found in
maintenance or bookshelves, though this is not common. This is to ensure
that _having_ the book does not immediately out you as a revolutionary.

The book has no charges, as opposed to flashes. This is balanced out by
the fact that you audibly spout revolutionary ideology and propaganda at
a target and that it takes a few seconds to do the conversion.

---

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

https://github.com/user-attachments/assets/089d707b-9178-45b1-a38a-99f06ae5d9b1

</p>
</details>

---

# Changelog

<!--
You can add an author after the `🆑` to change the name that appears
in the changelog (ex: `🆑 Death`)
Leaving it blank will default to your GitHub display name
This includes all available types for the changelog
-->

🆑
- tweak: Changed the way Revolutionaries convert people. Instead of
flashes, they now use the Revolutionary Manifesto to 'persuade' new
conspirators. This has a small delay (three seconds) and will make you
speak propaganda at the target. Note that the book itself is not
contraband, and may also be found in other places. Only a Head
Revolutionary will be able to make use of its persuasive power,
however...

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Introduced a new in-game item—the Revolutionary Manifesto—which
replaces previous flash-based conversion tools. It features distinctive
visual design and sound effects.
- Added a new method for sending in-game chat messages to all users,
enhancing communication capabilities.

- **Gameplay Updates**
- Head Revolutionary roles now convert others using the manifesto, with
updated narrative text, motivational speeches, and revised starting
gear.

- **Communication Enhancements**
- Improved in-game messaging systems streamline chat interactions for a
smoother experience.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

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 4f4c5be744332ba03245de0a5da8fd36255855f5)
2025-03-08 14:51:36 +03:00
Spatison
8a95ee85bf Upstream 28.02-03.03 (#268)
* More Tajaran Markings (#1834)

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

Description.
Adds separate eye colors to Tajaran and makes most of the markings from
"Fashion Update: Earrings & Makeup" available to Tajarans
---

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

---

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

![image1](https://github.com/user-attachments/assets/4ceace8e-c1bd-4ee8-833a-19cf2cf9626d)

![image2](https://github.com/user-attachments/assets/7b2d6d25-4335-4f5e-96eb-8f0ae187e459)

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

🆑 Tonk
- add: Tajarans now have separate eye, wrist, tattoo, and makeup
markings

---------

Co-authored-by: VMSolidus <evilexecutive@gmail.com>
(cherry picked from commit e45008ddf8a529c2126907ecac8ffff2a74058de)

* Automatic Changelog Update (#1834)

(cherry picked from commit 0091c1ebdc4bc768c0906049fa9d417d962d1839)

* Cybernetics Trait Changes (#1828)

# Description

Changes/buffs to Cybernetic Traits.
Some lesser used traits get some love, while some other stuff gets some
logical re-balancing.

Feel free to point out if some shitcode is broken or need explaining.

---

# TODO

- [ ] I got ideas cooking that I don't know how to code

---

# Changelog

🆑

tweak: Striking Calluses no longer require you to be one of 3 jobs and
Human. Also increased the +1 damage to +2.
tweak: Bionic Spinarette SHOULD no longer have a hunger penalty and
costs less.
tweak: Platelet Factories heal rate buffed from 0.07 to 0.35, airloss
from 0.7 to 0.25 and healing cap increased from 200 to 400.
tweak: Decreased the cost of Thermal Vision to be in line with Night
Vision.
    tweak: IPC Platelet Factories healing cap increased from 200 to 250
    tweak: Cyber-Eyes Omnihud now pickable by Command too.
fix: Fixed name and description of Cyber-Eyes Modules for Night Vision
and Thermal Vision.
    remove: Mind over Machine from Cyber-Eyes Modules.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- "Striking Calluses" now delivers increased unarmed strike damage,
enhancing combat performance.

- **Documentation**
- Trait names and descriptions have been updated for greater clarity and
consistency, including changes to "Cyber-Eyes" terminology.

- **Chores**
- Redundant trait options were removed from the selection pool to
streamline gameplay.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Signed-off-by: Raikyr0 <Kurohana@hotmail.com.au>
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>

(cherry picked from commit a480c6605ebdfdd32d87a9001f2aef8303433a8d)

* Automatic Changelog Update (#1828)

(cherry picked from commit 365dd4353a06854120e0a38ff05f193bad48bbc7)

* Shadowkin Age Fixes & Plus Plushies (#1684)

# Description

Shadowkin middle-aged increased to 80, old age lowered to 175, max age
lowered to 250. Shadowkin can now collect their goofy little plushie
from a variety of sources

---

# TODO

- [x] Adjust Shadowkin age brackets
- [x] Add Shadowkin plushie to crates and stuff

---

# Changelog

🆑 ShirouAjisai
- add: Added Shadowkin plushie to crates and stuff
- tweak: Tweaked Shadowkin age brackets

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Introduced a new "shadowkin plushie" loadout item, enhancing
customization options.
- Expanded the collectible pool by adding a new plushie available in
multiple game areas, including reward systems and random spawners.
- Enhanced the variety of items available for the `PresentRandom` entity
with the addition of the "shadowkin plushie."

- **Adjustments**
- Refined life-stage parameters for the Shadowkin species, adjusting age
thresholds to better define maturity.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Signed-off-by: SixplyDev <einlichen@gmail.com>
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: ShirouAjisai <zaneromeave319@gmail.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
(cherry picked from commit fb3d00036f6a21d7fa3c4b41341cd61b1e41e0d0)

* Automatic Changelog Update (#1684)

(cherry picked from commit caf8572352d38f51b15d21f0e1f92434f869dd14)

* Trait Add Tag (#1846)

# Description

Added TraitAddTag Function, which for example can be used to add
Spidercraft to the Spinerette trait.

# Changelog

🆑
- add: TraitAddTag Function

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Entities now receive automatic tag assignments at spawn, enhancing the
system's trait interaction and overall categorization capabilities.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Signed-off-by: Raikyr0 <Kurohana@hotmail.com.au>
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
(cherry picked from commit b1acdc4017dc1181b7f557351e82ef1df93635c2)

* Automatic Changelog Update (#1846)

(cherry picked from commit 9622d443d5308eda14231c3b3bb3130884465272)

* Arachne SpiderCrafting (#1847)

# Description

Added SpiderCraft Tag to Arachne

# Changelog

🆑
- add: Added SpiderCraft to Arachne

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Introduced a new "SpiderCraft" classification for the Urist McArachne
entity, expanding its behavior and interactions related to
spider-specific mechanisms.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Signed-off-by: Raikyr0 <Kurohana@hotmail.com.au>
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
(cherry picked from commit ff4146f879d397993eee22a2a4807e986e404641)

* Automatic Changelog Update (#1847)

(cherry picked from commit 91d40483c2c49f86d7b2609a5ac9cd7b30d16c00)

* Add Centcom Disabler (#1845)

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

it self recharges a bit. It's also green. It's also a steal target,
because it's green.

I noticed the Nanotrasen Representative has a disabler in his locker by
default, but does not get to pick one in a loadout. I figured I'd remedy
this, by giving him a shiny green Disabler that slightly recharges on
its own.

It deals the same stamina damage as the normal Disabler. The only
differences are:
- Green
- Steal Target
- Slightly higher rate of fire
- Slightly recharges itself (half as slow as the antique pistol)
- Admits Centcom doesn't trust you with lethals in its description

---

<!--
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/e1e36ae6-8888-4d60-b946-50c90af16f9f)

![image](https://github.com/user-attachments/assets/887aa64f-53cd-4e91-bea5-23f83243bfbc)

https://github.com/user-attachments/assets/f7eaff3d-b8b9-4954-9688-fb9ef0d04588

![image](https://github.com/user-attachments/assets/15dcb85c-7675-4477-bda3-c790e26aebd6)

</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 CentCom disabler as loadout option for the Nanotrasen
Representative.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Expanded loadout options for the Nanotrasen Representative role with a
dedicated weapon configuration.
- Introduced the "CentCom disabler," a new self-defense weapon option
with advanced features.
- Updated localization entries to reflect the new representative weapon
grouping.
- Added a new steal target group for the Nanotrasen representative's
weapon.
- Enhanced visual assets with updated animations and states for the new
weapon.
- Introduced new objectives related to the Nanotrasen Representative
role, enhancing gameplay experiences.
	- Added the "Nanotrasen Representative" job title to localization.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

(cherry picked from commit 143d24951a200ab94f3e4e88d3a3a90eeb8856ca)

* Automatic Changelog Update (#1845)

(cherry picked from commit 7ca0757334ee9a1d87c9cbf1f9cc02a860ecc136)

* Plant Analyzer Port (#1849)

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

Ported directly from
https://github.com/Goob-Station/Goob-Station/pull/1685
I tweaked the sprite, and changed its usage of a Papersystem. I can't
speak for the code quality, since I didn't write it, but I'm willing to
fix things so long as I have the capability to do so.

---

<!--
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/18e93d53-9537-49fd-9dfb-b4983d2630f0)

![image](https://github.com/user-attachments/assets/91ceaaca-7441-4afc-be2e-489b00c320d4)

![image](https://github.com/user-attachments/assets/e03cc8b6-6b07-449b-918f-2eb7783dcfac)

https://github.com/user-attachments/assets/0189567a-57ca-4e9d-ba0d-74e622e1d30d

https://github.com/user-attachments/assets/25ea6100-1458-4804-98e4-5f70b6bfcd45

</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: Port Plant Analyzer from botanySupremacist, who took it from
ian321

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Introduced a comprehensive plant analyzer interface that displays
detailed plant health, tray data, and environmental conditions.
- Added an in-game report printing feature for easy access to analysis
results.

- **Enhancements**
  - Refined yield calculations and plant metabolism behaviors.
- Integrated the analyzer item into crafting recipes, vending machines,
and locker inventories.
- Expanded localization for clearer, user-friendly plant analysis
information.
  - Added new localization strings for printer status feedback.
- Introduced new classes and messages for improved data handling and
user interaction within the plant analyzer system.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Signed-off-by: Timfa <timfalken@hotmail.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
(cherry picked from commit 47a55408ad92af463159dea3325edd0c9c9611ce)

* Automatic Changelog Update (#1849)

(cherry picked from commit 4da1efdfd293d5df1c8bd889c621eea94ed5fed8)

* Mind Role Entities (#31318)

* Mind Role Entities wip

* headrev count fix

* silicon stuff, cleanup

* exclusive antag config, cleanup

* jobroleadd overwerite

* logging stuff

* MindHasRole cleanup, admin log stuff

* last second cleanup

* ocd

* minor cleanup

* remove createdTime datafield

* now actually using the event replacement I made for role time tracking

* weh

(cherry picked from commit 24fae223e698b09cf9928c4a0f2f1dc774f266ab)

* Fix error

(cherry picked from commit d33bf89a62ae2f5d51f3af01b4ae2ef54341b5c5)

* Update SharedContentIoC.cs

(cherry picked from commit a50fed2fee56b57d0507a58ebf7bc13de82ad9d2)

* dragon antag refactor (#28217)

* remove dragon system usage of GenericAntag

* add AntagRandomSpawn for making antags spawn at a random tile

* add AntagSpawner to make an antag spawner just spawn an entity

* add antag prototype for dragon since it never had one

* make dragon spawner a GhostRoleAntagSpawner, remove GenericAntag

* make dragon rule use AntagSelection and stuff

* remove dragon GenericAntag rule

* add back to spawn menu

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
(cherry picked from commit c0a56377bc5b9563de973d04f92d7d6923ca9145)

* Cultist Mind Roles

(cherry picked from commit 585e26103a67cc2bd185faaa468ddc5840a8e9c3)

* Update midround.yml

(cherry picked from commit b78d24ce6bb7f8cb4a85a89f6f974fbce1d83055)

* Update ghost_roles.yml

(cherry picked from commit 22df7509b5c5113afc8f1ba168223b0756de5d47)

* Solarian Alliance Content (#1851)

# Description

This PR acts as a proper introduction to players for the Sol Aliance
faction, a major antagonist group from my old home server's lore. To do
so, I've ported a large number of assets from Aurora.3 to this repo, as
well as created a new Midround Antagonist called "Deserters", which
shows off this group to players.

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

![image](https://github.com/user-attachments/assets/c57f48d7-ecf9-4099-998f-4ea3e3e95008)

![image](https://github.com/user-attachments/assets/b0fcd092-4072-4c2f-a61d-9118bc1ab140)

![image](https://github.com/user-attachments/assets/9fc2049f-1197-4eb8-93ea-7c2be2531085)

</p>
</details>

# Changelog

🆑
- add: A new Midround Antagonist has been added to the game. The
"Solarian Deserters" are a group of highly trained soldiers who haven't
been paid for far too long, whom have come to the station to loot it for
everything valuable.
- add: Lore guidebook entry for the Solarian Alliance, a majorly
antagonistic faction.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Introduced the "Solarian Navy Deserter" role with detailed
localization, objectives, and traits.
- Launched a dynamic shuttle event featuring interactive elements like
secure doors, turret defenses, and specialized equipment.
- Expanded gameplay with new storage options, tactical helmets,
uniforms, identification cards, and door access tailored for the Sol
Alliance.
- Added a new NPC faction and game events enhancing combat and role-play
dynamics.
- Introduced various clothing items and uniforms associated with the Sol
Alliance, including tactical gear and dress uniforms.
- Added new metadata and structured entries for various clothing and
equipment assets.

- **Documentation**
- Enriched lore and guidebook entries with expanded nation details,
emphasizing the Solarian Alliance.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
(cherry picked from commit 6d919038f3845bb4008a17e1d068196779162f4a)

* Automatic Changelog Update (#1851)

(cherry picked from commit ffaf99ca4b01e63f6bb98731e630f066fad25909)

* Supermatter Atmos Mapping Assets (#1859)

# Description

This adds "High Flow" variants of all existing atmos devices, which are
useful for supermatter engines. I also added the ability for
FixAtmosMarkers to optionally accept a gas mixture directly, as opposed
to the stupid hardcoded gas mixes that they were limited to using
previously.

# Changelog

🆑
- add: Added high pressure variants of atmos devices intended for
supermatter engines.
- add: Added engineering locked high security doors, also for use in
supermatter engines.
- add: Fix Atmos markers can now accept a gas mixture directly for
modifying their tile.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Enhanced atmospheric commands now dynamically use specific gas
mixtures for more flexible performance.
- Introduced a new supermatter coolant entity, offering an alternative
liquid nitrogen-like option.
- Added several high-pressure and high-flow gas components, including
pumps, filters, mixers, vents, and injectors.
- Updated map elements by refining door access prototypes and labels for
improved in-game clarity.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

(cherry picked from commit b9c3c8b366c15b5f09cfd641c90b09254f06de94)

* Automatic Changelog Update (#1859)

(cherry picked from commit 468a263863f17772e6233032e5099d6c83764616)

* Rerotate Arena (#1853)

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

Rerotates Arena. Adds an AI satellite, and maps a few station maps,
cameras, and psionic registry computers.
Adds myself as the maintainer for it. Do note that I am still learning
how to map. Please state any changes that is wished to be seen before it
is ready to merge.
It is 3AM, I need sleep.

---

# 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] Space cleanup
- [x] Psionic Registry Computers
- [x] AI Satellite & Related Stuff

---

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

![Arena](https://github.com/user-attachments/assets/883ce04f-70c4-4628-8b2c-2ad75439421a)

</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: Arena is back

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- The Arena map is now reactivated with updated configurations and
active maintenance.
- Enhanced gameplay details and role assignments have been enabled for a
more engaging experience.
- The configuration for the Arena map has been fully activated,
including various roles and attributes.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

(cherry picked from commit 534a058eb489ceb4abaadac7e4943ed2baaa8c67)

* Automatic Changelog Update (#1853)

(cherry picked from commit 3b30c0a1fe8dc5e10c3cb0536e26d101893663a2)

* Port Grab Intent From Goob (#1856)

# Description
After months, Grab intent is finally ported to EE, as a result of a 4
hour Adderall induced code binge.

##  This PR is more shit than code.
Required for CQC, an attempt to port that will come later.
@Erisfiregamer1 requires this for
[Changelings](https://github.com/Simple-Station/Einstein-Engines/pull/1855).

Thanks to Gus for the Goobstation pr, and to Spatison for the original
port on WWDP
Tests on my local repo worked.
# TODO
* [ ]  Await review
* [ ]  pain

# Media

![dqt2naw4ox651](https://github.com/user-attachments/assets/9a97cea7-d2c8-47df-85e1-de243409bbe6)
# Changelog
🆑 Eagle

* add: Ported Grab Intent from Goobstation

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Enhanced pulling and grabbing interactions now feature multiple stages
that impact how actions and collisions feel.
- Virtual item handling during throws and drops has been refined for
more dynamic in-game outcomes.
- Alert visuals have been updated to provide nuanced feedback depending
on the intensity of pulls and grabs.
- Player movement and breathing mechanics have been fine-tuned for more
realistic behavior.
- New localization strings deliver clearer, context-sensitive
notifications for grab-related actions.
- Introduced a new component and system for managing entities thrown
while grabbed, including damage handling and visual effects.
- New event classes enhance interaction handling for virtual items
during grabbing actions.

- **Bug Fixes**
- Improved logic for stopping pull actions to ignore grab states when
necessary.

- **Chores**
- Added metadata for new textures related to alerts in the user
interface.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: VMSolidus <evilexecutive@gmail.com>
(cherry picked from commit 18722e86f3190632026127af111dcc0d10d4af49)

* Automatic Changelog Update (#1856)

(cherry picked from commit 309ab74013fed2be64d9fb0457631210d860644b)

* Port Role Types (#1860)

Ports https://github.com/space-wizards/space-station-14/pull/33420

This is the last requirement before we can start mass-porting new
antags.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Enhanced role displays in player and character interfaces with a new
"Role Type" column.
  - Updated admin overlay options, including a classic antagonist label.
- Expanded ghost role behaviors for various entities, offering more
dynamic gameplay.
- New localization entries for role types and UI settings for sounds and
layout customization.
- Added new mind roles and role types, improving role management and
gameplay interactions.
- Introduced new events for player spawning processes to enhance
gameplay scenarios.

- **Refactor**
- Streamlined role management and update processes for improved
reliability and performance.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: DrSmugleaf <drsmugleaf@gmail.com>
(cherry picked from commit e10c51cdb39845ed1f2bb9b08f0b226cefbd402e)

* Rock And Stone

<!--
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 Lavaland and required systems from Goobstation.

---

# 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] Port over _Lavaland
- [x] Port over required codepatches
- [-] Test locally (Should be fine)
- [X] Pass tests

---

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

![No](https://github.com/user-attachments/assets/cfede61a-80c9-4ecd-9473-5170d080ac34)

</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: Lavaland has been ported!

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Introduced a dynamic mining voucher interface allowing players to
redeem various mining kits.
- Enhanced shuttle docking systems with an updated console interface for
smoother FTL transitions.
- Added immersive boss music management for enhanced in-game boss
encounters.
- Expanded Lavaland gameplay with new procedural map generation, weather
events, and storm scheduling.
- Integrated new interactive commands and UI improvements for advanced
weapon upgrades, Hierophant boss actions, and research features.
- Added new components and systems for managing various gameplay
elements, including damage squares, tendrils, and block charges.
- Implemented new localization entries for improved player experience
across various game features.
- Introduced new components for managing mining vendors and vouchers,
enhancing the interaction with mining kits.
- Added a new system for managing the deployment of shelter capsules in
the Lavaland environment.

- **Tests**
- Added integration tests to validate Lavaland planet generation and map
initialization.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

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

(cherry picked from commit f2f5d4610db795a124b37780230eec5d5ca0264a)

* Automatic Changelog Update (#1844)

(cherry picked from commit 990878b9ed60b4e22388038b63714ec2dc693bbf)

* fixs

* fix

* fuck

---------

Co-authored-by: Tonk-GCR <190437025+Tonk-GCR@users.noreply.github.com>
Co-authored-by: SimpleStation Changelogs <SimpleStation14@users.noreply.github.com>
Co-authored-by: Raikyr0 <kurohana@hotmail.com.au>
Co-authored-by: SixplyDev <einlichen@gmail.com>
Co-authored-by: Timfa <timfalken@hotmail.com>
Co-authored-by: Errant <35878406+errant-4@users.noreply.github.com>
Co-authored-by: sleepyyapril <123355664+sleepyyapril@users.noreply.github.com>
Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: astriloqua <129308840+astriloqua@users.noreply.github.com>
Co-authored-by: Eagle-0 <114363363+Eagle-0@users.noreply.github.com>
Co-authored-by: Eris <eris@erisws.com>
2025-03-03 18:02:48 +02:00
Spatison
db71c83aad Revert "Update TraitorRuleComponent.cs (#1808)"
This reverts commit cba566f449400ba11f0c090e12879dba7dc683ce.
2025-02-28 16:29:28 +03:00
VMSolidus
e5de99109d Cherrypick Wizden Pr 29151 (#1825)
Cherrypicks https://github.com/space-wizards/space-station-14/pull/29151
by Durk's request

---------

Co-authored-by: DrSmugleaf <10968691+DrSmugleaf@users.noreply.github.com>
(cherry picked from commit eca41970164cd538de7f0ce7a70381a8dab4ff21)
2025-02-28 16:25:47 +03:00
sleepyyapril
08c1cc95e5 Prevent SecretRule From Picking Invalid Presets (#27456) (#1805)
trying to fix the prelobby heisentest

we use votes anyway! fuck it, we ball

---------

Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
(cherry picked from commit d5d071a6d974a72357830821364dd906fa4d948d)
2025-02-28 16:23:29 +03:00
VMSolidus
2e62c68b63 Update TraitorRuleComponent.cs (#1808)
Hotfix for traitors not spawning with the correct TC Amount.

(cherry picked from commit 69b8b2921e366fc028e26980b8ffc34f97aaacc6)
2025-02-28 16:23:16 +03:00
sleepyyapril
3330acd9f2 Revert ""Proper" "Softcrit" "Support" (#1545)" (#1741)
traits need to be updated with new "params"

@RedFoxIV

(cherry picked from commit d62392b2fe2c3e651ad1f8492bbceef6dad5138e)
2025-02-15 00:15:22 +03:00
RedFoxIV
daf4f66414 "Proper" "Softcrit" "Support" (#1545)
# Description

Implements the softcrit functionality.
Similiar to critical state but spessmen will be able to communicate and
crawl around, but not pick up items.
Also supports configuring what is and isn't allowed in different
MobStates (per mob prototype): you can enable picking up items while in
softcrit so people can pick up their lasgun and continue shooting after
taking a 40x46mm to their ass cheeks from the guest nukies while being
dragged to safety.

![escape-from-tarkov-raid](https://github.com/user-attachments/assets/7f31702d-5677-4daf-a13d-8a9525fd3f9f)

<details> <summary><h1>Technical details</h1></summary>
New prototype type: "mobStateParams" (`MobStateParametersPrototype`)
Used to specify what can and can't be done when in a certain mobstate.
Of note that they are not actually bound to any `MobState` by
themselves. To assign a params prototype to a mobstate, use
`InitMobStateParams` in `MobStateComponent`.
It has to be a prototype because if I just did something akin to
`Dictionary<MobState, Dictionary<string, bool>>`, you'd have to check
the parent and copy every flag besides the one you wish to modify. That
is, if I understand how the prototype system works correctly, which I
frankly doubt. <!-- Working on softcrit made me hate prototypes. -->

MobStateComponent now has:
- `Dictionary<string, string> InitMobStateParams`, for storing "mobstate
- parameter prototype" pairs. `<string, string>` because it has to be
editable via mob prototypes. Named "mobStateParams" for mob prototypes.
- `public Dictionary<MobState, MobStateParametersPrototype>
MobStateParams` for actually storing the params for each state
- `public Dictionary<MobState, MobStateParametersOverride>
MobStateParamsOverrides` for storing overrides.
`MobStateParametersOverride` is a struct which mirrors all
`MobStateParametersPrototype`'s fields, except they're all nullable.
This is meant for code which wants to temporarily override some setting,
like a spell which allows dead people to talk. This is not the best
solution, but it should do at first. A better option would be tracking
each change separately, instead of hoping different systems overriding
the same flag will play nicely with eachother.
- a shitton of getter methods

TraitModifyMobState now has:
- `public Dictionary<string, string> Params` to specify a new prototype
to use.
- Important note: All values of `MobStateParametersPrototype` are
nullable, which is a hack to support `TraitModifyMobState`. This trait
takes one `MobStateParametersPrototype` per mobstate and applies all of
its non-null values. This way, a params prototype can be created which
will only have `pointing: true` and the trait can apply it (e.g. to
critstate, so we can spam pointing while dying like it's a game of turbo
dota)
- The above is why that wall of getters exists: They check the relevant
override struct, then the relevant prototype. If both are null, they
default to false (0f for floats.) The only exception is
OxyDamageOverlay, because it's used both for oxy damage overlay (if
null) and as a vision-limiting black void in crit..

MobStateSystem now has:
- a bunch of new "IsSomething"/"CanDoSomething" methods to check the
various flags, alongside rewritten old ones.
-
![image](https://github.com/user-attachments/assets/33a6b296-c12c-4311-9abe-90ca4288e871)
lookin ahh predicate factory

</details>
---

# TODO

done:
- [x] Make proper use of `MobStateSystem.IsIncapacitated()`.
done: some checks were changed, some left as they did what was (more or
less) intended.
<details>Previous `IsIncapacitated()` implementation simply checked if
person was in crit or dead. Now there is a `IsIncapacitated` flag in the
parameters, but it's heavily underutilized. I may need some help on this
one, since I don't know where would be a good place to check for it and
I absolutely will not just scour the entire build in search for them.
</details>

- [x] Separate force-dropping items from being downed
done: dropItemsOnEntering bool field. If true, will drop items upon
entering linked mobstate.
- [x] Don't drop items if `ForceDown` is true but `PickingUp` is also
true.
done: dropItemsOnEntering bool field. If true, will drop items upon
entering linked mobstate.
- [x] Actually check what are "conscious attempts" are used for
done: whether or not mob is conscious. Renamed the bool field
accordingly.
- [x] Look into adding a way to make people choke "slowly" in softcrit
as opposed to choking at "regular speed" in crit. Make that into a param
option? Make that into a float so the speed can be finetuned?
done: `BreathingMultiplier` float field added.
<details>
1f is regular breathing, 0.25 is "quarter-breathing". Air taken is
multiplied by `BreathingMultiplier` and suffocation damage taken (that
is dealt by RespiratorSystem, not all oxy damage) is multiplied by
`1-BreathingMultiplier`.
</details>

- [x] make sure the serializer actually does its job
done: it doesn't. Removed.
- [x] Make an option to prohibit using radio headsets while in softcrit
done: Requires Incapacitated parameter to be false to be able to use
headset radio.
- [x] Make sure it at least compiles

not done:
- [ ] probably move some other stuff to Params if it makes sense. Same
thing as with `IsIncapacitated` though: I kinda don't want to, at least
for now.

---

<details><summary><h1>No media</h1></summary>
<p>

:p

</p>
</details>

---

# Changelog

🆑
- add: Soft critical state. Crawl to safety, or to your doom - whatever
is closer.

---------

Signed-off-by: RedFoxIV <38788538+RedFoxIV@users.noreply.github.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>

(cherry picked from commit 9a357c1774f1a783844a07b5414f504ca574d84c)
2025-02-15 00:12:50 +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
sleepyyapril
be866b9cdd Fix RoundLevel Test Fail (#1635)
(cherry picked from commit e0f07e12e8bdf4631d1719d2111f80a57af0a463)
2025-01-23 08:06:48 +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
sleepyyapril
67ea5d8c3e Station AI Features and Fixes (Also General Fixes) (#1525)
<!--
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]?
-->

Check the changelog for the full list.

---

# 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 Holopads (unmapped)
- add: Intellicards are now useful for removing/adding a Station AI's
brain.
- add: Added the Communications Console to Station AI actions.
- add: AI now has a warp point.
- add: Added more things for the AI to press.
- add: More AI laws have been added.
- fix: Fixed the mail system
- fix: Fixed AI actions
- fix: Fixed invalid spawns for station AI breaking and ruining your
ability to play it.
- fix: The Station AI's name will now properly send in "arrived to the
station" announcements.
- fix: Changed the CPR sound to simply not loop until fixed.
- fix: Fixed unlocalized messages being sent for the random sentience
event.

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
Co-authored-by: Zachary Higgs <compgeek223@gmail.com>
Co-authored-by: MendaxxDev <153332064+MendaxxDev@users.noreply.github.com>
Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

(cherry picked from commit 3e8a7d9b00e19e160321eb81d69a884189dfa4e6)
2025-01-15 00:12:29 +03:00