* updated BruteLevel to be PainLevel with burn damage checks in DamageOverlayUiController.cs
* dehardcoded pain level by adding damage groups to paindamagegroups to affect
* re-added the name for painDamageGroups
* fixed overlay default and added minimum limit to component check first
* renamed to PainDamageGroups and removed obsolete tag
(cherry picked from commit 913894a0416f49303b72867b725653749b6b5419)
* added pain-numbness component and system
* added numb as a trait that pulls the pain numbness component
* removed new event as mob threshold event as already being fired
* checked for MobThresholdsComponent first before running VerifyThresholds
* refacted force say to using LocalizedDatasetPrototype and added numb messages
* added severity check alert
* added comment for BeforeForceSayEvent
* removed space formatting
* changed Cancelled to CancelUpdate, fixed spacing and added two more damage-force-say-numb
* changed prefix damage-force-say-numb to 5 (whoops)
(cherry picked from commit 012c8355594823bc327fc42693a43a7c00f0caf9)
* Remove storage hotbar GUI bandaid
With BUI deferred opens it also happened to fix this issue which is nice.
* Update Content.Client/Storage/StorageBoundUserInterface.cs
(cherry picked from commit abb20c0256b933f787069fbc30c82cf8ee9bc8eb)
* Organize Sandbox Panel
* Map Editing -> Editing
* Unset ToggleMode on Suicide button. Can hardly un-suicide, no?
* Remove 'Link machines' button that has done nothing for 3 years
* Remember Sandbox window's position instead of forcing to center
* Shows Spawns -> Show Spawns
* Remove SandboxSystem.MachineLinking
(cherry picked from commit 20be8298b7d7b8132d26f6386c2110b8b3dc9d06)
* Update ActionUIController.cs
* renamed some inconsistent arguments.
* removed a redundant check.
* revert some variable renames to reduce the diff.
(cherry picked from commit 7d64599d2d60c16303c46327b9ae2739bde81128)
* Add option to disable bwoink sound.
* Now it's working only with active admin status.
* No bwoink, only "notification sound"
* Moar changes
* Another one
(cherry picked from commit 4809ee25ff5e8e51d4dccf113e2b81488a9c0d7c)
* Open the guidebook when people with less than an hour playing join the round
* Filter for gameplayState
* Fix tests
* tweaks
* saltern update (#28773)
Co-authored-by: deltanedas <@deltanedas:kde.org>
* Fix admin menu objects list (#28787)
* Make `MakeAntag()` log errors instead of throwing exceptions (#28771)
Make `MakeAntag()` log errors instead of throw
* add default page support for the guidebook (#28772)
* Probably a better way to handle this
---------
Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
(cherry picked from commit 346ac44a28dca541139a87ac367bf9d8f9dbc54c)
Begging people to learn how this programming language works before throwing random syntax into a file.
None of these finalizers ever worked. I also checked whether they were memory leaks and needed *proper* shutdown logic, but they're all instantiated-once UI controls that last for the entire lifetime of the program so it's probably fine.
(cherry picked from commit cf8fcb170a185c06c966c1a1dcf7eec7ada52745)
* GET WORLD POSITON, ROTATION
* Missing parentheses
* ui system depndency
* the issue
* Unused
* Let the function do the transform
---------
Co-authored-by: plykiya <plykiya@protonmail.com>
(cherry picked from commit a87efd7d0157a0c4074e639b1da923f5c335f663)
# 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)
* Уэээээээ
* Почти настрадались
* Скоро конец....
* СКОРО
* Мышки плакали, кололись, но продолжали упорно жрать кактус
* Все ближе!
* Это такой конец?
* Книжка говна
* фиксики
* ОНО ЖИВОЕ
* Телепорт
* разное
* Added byond
* ивенты теперь работают
* Разфикс телепорта
* Свет мой зеркальце скажи, да всю правду доложи - Я ль робастней всех на свете?
* Разное
* Еще многа всего
* Многа разнава
* Скоро конец....
* ЭТО КОНЕЦ
* Фикс линтера (ну, или я на это надеюсь)
* Еще один фикс линтера
* Победа!
* фиксики
* пу пу пу
* Фикс подмастерья
* Мисклик
* Высокочастотный меч
* Неймспейсы
* Пул способностей мага
<!--
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]?
-->
Originally started because I wanted to add some stuff to salvage, but
ended up with me porting over whitelisted borg hands, the PKA module,
and some other stuff.
---
# 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: Engi borgs can now carry electronics, and medical borgs can carry
organs
- add: Salvage borgs now get a PKA module
- tweak: All mining drills have had their damage turned to piercing and
have received a moderate damage buff
- tweak: Exosuit drills now swing at the same speed as normal drills
(why were they worse???)
- tweak: The RPD and RCD modules for borg have been merged into one
- tweak: Salvage can now purchase drills from their vendor
- tweak: Salvage borgs mining module no longer contains a shovel
---------
Co-authored-by: Your Name <EctoplasmIsGood@users.noreply.github.com>
Co-authored-by: Whatstone <whatston3@gmail.com>
Co-authored-by: RatherUncreative <RatherUncreativeName@proton.me>
Co-authored-by: Aidenkrz <aiden@djkraz.com>
(cherry picked from commit ed8850e551bd9c0d533d69cad262a8743442a62a)
* 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)
# Description
~~finally figured out how to cherry-pick across repos jfc~~
Cherry-picks
https://github.com/space-wizards/space-station-14/pull/34845.
Essentially fixes most of the issues with Storage V2 when it initially
got merged into EE, finally.
Or, TL;DR, fixes:
- storage stars always being golden
- windows always resetting to its default position on reopening- now
saves its position instead
- hotkeys not being ergonomic enough (which was really disrupting)
- and some other things regarding 1-tick delays between containers
- and the back button being illegaly visible
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- **PDA Menu Improvement:** Streamlined the PDA menu display for more
consistent and intuitive access.
- **Enhanced Storage UI:** Storage windows now open at dynamic positions
for smoother transitions and easier navigation.
- **Nested Storage Management:** Improved handling of nested storage
interfaces reduces clutter and simplifies user interactions.
- **Improved Item Interaction:** Updated item selection displays and
automatic parent window adjustments for a more cohesive experience.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit 3021de3ee6fd88d82b3f090ea4d17398a0c01f64)
* 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>


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


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

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



https://github.com/user-attachments/assets/0189567a-57ca-4e9d-ba0d-74e622e1d30dhttps://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>



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

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

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

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

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

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)