Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Atmospheric network monitor #32294

Merged

Conversation

chromiumboy
Copy link
Contributor

@chromiumboy chromiumboy commented Sep 19, 2024

About the PR

This PR introduces the atmospheric network monitor. The atmospheric network monitor is a new engineering console. It displays the layout of the station's gas pipe network as well as any information gathered from powered gas pipe sensors

This PR requires #33128 to be merged in order to be fully functional (PRs were split to make the review process easier)

Why / Balance

Sabotaging the station's atmos network is a relatively easy feat, but it is very challenging to locate the resultant damage and repair it. Many game rounds have ended prematurely in evacuation due to this fact

Much like the power monitoring console, these new devices will give engineers the tools they need to maintain the station's air supply and increase the likelihood of the round continuing even after it has been damaged

Technical details

Overall there is a high degree of conceptual overlap between this console and the power monitoring console

Server.AtmosMonitoringConsoleSystem handles the tracking of the grid pipe nets and atmos devices (entities with a Shared.AtmosMonitoringConsoleDeviceComponent). Pipe net data is contained in bit masks. The bit masks are indexed by their network ID and the color of the pipe; the associated ulong bit mask contains cardinal pipe orientations for a 4x4 chunk of tiles

The bit masks are passed to the client in Shared.SharedAtmosMonitoringConsoleSystem via delta states to reduce the volume of data that needs to be sent. The atmos device data that is sent to the client consists of their positions, network IDs, and blip prototype ID so that their markers can be drawn the nav map

Client.AtmosMonitoringConsoleSystem handles the data on the client side and updates the Shared.AtmosMonitoringConsoleComponent with the received data

The console rendering is handled by Client.AtmosMonitoringConsoleWindow.xml(.cs), Client.AtmosMonitoringEntryContainer.xml(.cs), and Client.AtmosMonitoringConsoleNavMapControl. The nav map control includes functions to automatically combine pipe net lines of the same color to reduce the number of draw calls required to render them

Mapping details

Mappers should note that, in order to be fully functional, the atmospheric network monitor also requires gas pipe sensors (introduced in PR #33128) to be mapped onto the same grid; they will relay important information about the current status of the grid's pipe network to the monitor

Gas pipe sensors should be treated like regular gas pipes; they cannot be placed over an existing pipe that has the same orientation. At a minimum, one gas pipe sensor should be connected to the distro loop and another to the waste loop. Only one sensor is necessary per pipe subnetwork; pipe subnetworks are comprised of the stretch of pipes that lie between pairs of atmos devices, such as filters, mixers, and pumps. Gas pipe sensors will not cause a split in a subnetwork, but you should note that valves will combine/split the subnetworks they connect when they are open/closed, respectively

By default, the monitor status panel will display a list of entries, one for each gas pipe sensor, with the names of the gas pipe sensors and their network addresses in the entry header. If the sensors are labelled (i.e., with a hand labeller), only the label on the gas pipe sensor will be displayed. Several prototype variants for the gas pipe sensor have been included in the PR which have different labels; these include 'distribution loop', 'waste loop', 'mixed air', as well for the different parts of the TEG. The header of each entry in the subpanel also has a colored stripe on the left-hand side; the color of this strip can be changed by spray painting the gas pipe sensor with the desired color

Gas pipe sensors are listed on the monitor in the order that they are attached to the grid. Note that there is no need to link them with the monitors, it's all handled automatically in the code

Media

Video demonstration of the console in action

Screenshot of the console

atmos_network_monitor_ingame_wide

atmos_network_monitor_ingame

Requirements

Breaking changes

N/A

Changelog

🆑

  • add: Added the atmospheric network monitor. Use these consoles to monitor the network of pipes that supply the crew with a breathable atmosphere

@github-actions github-actions bot added S: Needs Review Status: Requires additional reviews before being fully accepted and removed S: Awaiting Changes Status: Changes are required before another review can happen labels Dec 15, 2024
Copy link
Member

@SlamBamActionman SlamBamActionman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code looks good, though personally I wouldn't have shading on the icons. Doesn't show on the zoomed out view, and when zoomed in it doesn't match the UI.

That being said, I don't think that needs to be a blocker since it's so minor. I was a bit worried about how it impacts performance but when I tried it on Meta station it wasn't any worse than using the Cargo request console. It wasn't until I filled the entire station with pipe bends that it started performing worse, which doesn't seem particularly realistic.

@slarticodefast
Copy link
Member

slarticodefast commented Dec 16, 2024

Posting this here as well before Slam merges
grafik
Otherwise it looks good to me. Maybe someone else can look at the chunking and networking since that is something I am not very familiar with (but Slam gave the ok, so it is probably fine).

@chromiumboy
Copy link
Contributor Author

Posting this here as well before Slam merges grafik Otherwise it looks good to me. Maybe someone else can look at the chunking and networking since that is something I am not very familiar with (but Slam gave the ok, so it is probably fine).

Thanks, I identified the cause of the toggling delay and have fixed it

@slarticodefast
Copy link
Member

Thanks, I identified the cause of the toggling delay and have fixed it

lol
I have stared at these two functions for at least 15 minutes and did not see the difference with one using return and the other continue.

Copy link
Member

@slarticodefast slarticodefast left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested and works as intended now.
Time to give all atmos mains a nice christmas present :)

@slarticodefast slarticodefast merged commit 27e59d3 into space-wizards:master Dec 17, 2024
12 checks passed
@slarticodefast
Copy link
Member

Can you open an issue for how the sensors and monitors should be mapped?

@chromiumboy chromiumboy deleted the atmos-monitoring-console-updated branch December 17, 2024 04:16
@chromiumboy
Copy link
Contributor Author

Can you open an issue for how the sensors and monitors should be mapped?

All the info needed by the mappers is the PR description, is opening an issue for it necessary?

@slarticodefast
Copy link
Member

It allows it to be added to the individual projects for better tracking.

@chromiumboy
Copy link
Contributor Author

It allows it to be added to the individual projects for better tracking.

OK. An issue has been raised, see #33903

sleepyyapril added a commit to Simple-Station/Einstein-Engines that referenced this pull request Jan 20, 2025
# 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 space-wizards/space-station-14#32294
Ports ss14-harmony/ss14-harmony#310 (and
everything needed for it to function)
Early-merges
space-wizards/space-station-14#34302

Adds the ability for multiple central command maps that get randomly
selected.
Tested and works.

---

# Changelog

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

:cl: Several contributors
- add: Added a new central command map that is randomly picked alongside
the old one (thank you to Spanky from Harmony)
- add: Added Advanced SMES for mappers.
- add: Added the atmospheric network monitor for seeing what the
temperature, moles, and pressure is on every pipe everywhere through a
computer.
- add: Nukie med bundle now contains a compact defibrillator.
- add: Ported a better mapping editor.
- add: Added the throngler plushie.
- remove: Removed the Throngler as a possible loot spawn for gamble
crates.

---------

Signed-off-by: sleepyyapril <123355664+sleepyyapril@users.noreply.github.com>
rosieposieeee pushed a commit to rosieposieeee/Delta-v-rebase that referenced this pull request Jan 20, 2025
<!--
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 space-wizards/space-station-14#32294
Ports ss14-harmony/ss14-harmony#310 (and
everything needed for it to function)
Early-merges
space-wizards/space-station-14#34302

Adds the ability for multiple central command maps that get randomly
selected.
Tested and works.

---

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

:cl: Several contributors
- add: Added a new central command map that is randomly picked alongside
the old one (thank you to Spanky from Harmony)
- add: Added Advanced SMES for mappers.
- add: Added the atmospheric network monitor for seeing what the
temperature, moles, and pressure is on every pipe everywhere through a
computer.
- add: Nukie med bundle now contains a compact defibrillator.
- add: Ported a better mapping editor.
- add: Added the throngler plushie.
- remove: Removed the Throngler as a possible loot spawn for gamble
crates.

---------

Signed-off-by: sleepyyapril <123355664+sleepyyapril@users.noreply.github.com>
Spatison pushed a commit to Spatison/wwdpublic that referenced this pull request Jan 21, 2025
# 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 space-wizards/space-station-14#32294
Ports ss14-harmony/ss14-harmony#310 (and
everything needed for it to function)
Early-merges
space-wizards/space-station-14#34302

Adds the ability for multiple central command maps that get randomly
selected.
Tested and works.

---

# Changelog

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

:cl: Several contributors
- add: Added a new central command map that is randomly picked alongside
the old one (thank you to Spanky from Harmony)
- add: Added Advanced SMES for mappers.
- add: Added the atmospheric network monitor for seeing what the
temperature, moles, and pressure is on every pipe everywhere through a
computer.
- add: Nukie med bundle now contains a compact defibrillator.
- add: Ported a better mapping editor.
- add: Added the throngler plushie.
- remove: Removed the Throngler as a possible loot spawn for gamble
crates.

---------

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

(cherry picked from commit 9272f65b64392f66a7cd4fd7c84bb152dc93b65a)
Doctor-Cpu pushed a commit to Doctor-Cpu/space-station-14 that referenced this pull request Jan 24, 2025
* Updated to latest master version

* Added gas pipe analyzer

* Completed prototype

* Playing with UI display

* Refinement of the main UI

* Renamed gas pipe analyzer to gas pipe sensor

* Added focus network highlighting and map icons for gas pipe sensors

* Added construction graph for gas pipe sensor

* Improved efficiency of atmos pipe and focus pipe network data storage

* Added gas pipe sensor variants

* Fixed gas pipe sensor nav map icon not highlighting on focus

* Rendered pipe lines now get merged together

* Set up appearance handling for the gas pipe sensor, but setting the layers is bugged

* Gas pipe sensor lights turn off when the device is unpowered

* Renamed console

* The gas pipe sensor is now a pipe. Redistributed components between it and its assembly

* AtmosMonitors can now optionally monitor their internal pipe network instead of the surrounding atmosphere

* Massive code clean up

* Added delta states to handle pipe net updates, fixed entity deletion handling

* Nav map blip data has been replaced with prototypes

* Nav map blip fixes

* Nav map colors are now set by the console component

* Made the nav map more responsive to changes in focus

* Updated nav map icons

* Reverted unnecessary namespace changes

* Code tidy up

* Updated sprites and construction graph for gas pipe sensor

* Updated localization files

* Misc bug fixes

* Added missing comment

* Fixed issue with the circuit board for the monitor

* Embellished the background of the console network entries

* Updated console to account for PR space-wizards#32273

* Removed gas pipe sensor

* Fixing merge conflict

* Update

* Addressing reviews part 1

* Addressing review part 2

* Addressing reviews part 3

* Removed unnecessary references

* Side panel values will be grayed out if there is no gas present in the pipe network

* Declaring colors at the start of some files

* Added a colored stripe to the side of the atmos network entries

* Fixed an issue with pipe sensor blip coloration

* Fixed delay that occurs when toggling gas sensors on/off
Doctor-Cpu pushed a commit to Doctor-Cpu/space-station-14 that referenced this pull request Jan 24, 2025
* Updated to latest master version

* Added gas pipe analyzer

* Completed prototype

* Playing with UI display

* Refinement of the main UI

* Renamed gas pipe analyzer to gas pipe sensor

* Added focus network highlighting and map icons for gas pipe sensors

* Added construction graph for gas pipe sensor

* Improved efficiency of atmos pipe and focus pipe network data storage

* Added gas pipe sensor variants

* Fixed gas pipe sensor nav map icon not highlighting on focus

* Rendered pipe lines now get merged together

* Set up appearance handling for the gas pipe sensor, but setting the layers is bugged

* Gas pipe sensor lights turn off when the device is unpowered

* Renamed console

* The gas pipe sensor is now a pipe. Redistributed components between it and its assembly

* AtmosMonitors can now optionally monitor their internal pipe network instead of the surrounding atmosphere

* Massive code clean up

* Added delta states to handle pipe net updates, fixed entity deletion handling

* Nav map blip data has been replaced with prototypes

* Nav map blip fixes

* Nav map colors are now set by the console component

* Made the nav map more responsive to changes in focus

* Updated nav map icons

* Reverted unnecessary namespace changes

* Code tidy up

* Updated sprites and construction graph for gas pipe sensor

* Updated localization files

* Misc bug fixes

* Added missing comment

* Fixed issue with the circuit board for the monitor

* Embellished the background of the console network entries

* Updated console to account for PR space-wizards#32273

* Removed gas pipe sensor

* Fixing merge conflict

* Update

* Addressing reviews part 1

* Addressing review part 2

* Addressing reviews part 3

* Removed unnecessary references

* Side panel values will be grayed out if there is no gas present in the pipe network

* Declaring colors at the start of some files

* Added a colored stripe to the side of the atmos network entries

* Fixed an issue with pipe sensor blip coloration

* Fixed delay that occurs when toggling gas sensors on/off
Doctor-Cpu added a commit to Doctor-Cpu/space-station-14 that referenced this pull request Jan 24, 2025
* Cluster grenade refactor and contra markings (space-wizards#31108)

* Cluster grenade refactor

* oopsies on the name

* Solve client-side errors

* reviews addressed

* filling scattering grenades is now predicted

* reviews addressed

* Automatic changelog update

* Wizard Mind Swap Spell (space-wizards#33416)

* working mind swap spell

* Removing unncessary spacing

Co-authored-by: Thomas <87614336+Aeshus@users.noreply.github.com>

* Changing mind swap speech

Co-authored-by: keronshb <54602815+keronshb@users.noreply.github.com>

* All requested changes in review

* Stores owned by mind instead of body

* Requested changes, traitor uplink fixed

* Revert "Requested changes, traitor uplink fixed"

This reverts commit 2ceac67.

* Revert "Stores owned by mind instead of body"

This reverts commit dfb72ab.

* Separate target and performer stun duration

---------

Co-authored-by: Thomas <87614336+Aeshus@users.noreply.github.com>
Co-authored-by: keronshb <54602815+keronshb@users.noreply.github.com>

* add SpawnTableOnUse (space-wizards#32620)

* add SpawnTableOnUse

* make BaseEmitSound more flexible and remove sound from spawntable

* add log

* :trollface:

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>

* LightOnCollide entityquery (space-wizards#33886)

* Add generator scrap (Plasma / uranium scrap) (space-wizards#32198)

* First commit

* Forgot the shading!

* tweaked  values

* sprite update

* Radiation

* Add a test to check that lathe recipes are possible (space-wizards#33868)

* Add a test to check that all lathes accept the materials for all their recipesy

* Add check for storage limit

* Track total recipe material volume

* Check dynamic and emag recipes too

* Move AllLatheRecipesValidTest from ResearchTest to LatheTest

* Extremely minor modernization

* Automatic changelog update

* Fix udder wooly reagent creation V2 (space-wizards#32905)

* Changed comments to be more clear and uniform.
EggLayer uses NextGrowth instead of frame accumulation.
Egglayer uses much less energy to make eggs, and lay time is randomized for player and AI chicken.

* UdderComponent ReagentId can be changed now
UdderSystem and WoolySystem use SharedSolutionContainerSystem now

* Entities with udders can be examined to see a rough hunger level
udders and wooly stop reagent generation/extra nutrient usage once the solution container is full

* Moved stuff to Shared
AutoPausedField now

* Cleanup moving stuff to Shared

* Oops. Make UdderSystem sealed instead of abstract.

* Switch PopupEntity for PopupClient

* Didn't mean to delete Access

* new() instead of default! prototype
revert egglayer balance change
NextGrowth += timespan   in egglayer

* forgot [Datafield] for NextGrowth

* forgot NetworkedComponent again...

* Renaming Shared Animal to Shared Animals to match Server
Hopefully also resolve merge conflicts.

* Fix incorrect filename

* Update with requested changes
Put UdderSystem dependencies in alphabetical order.
Initialise NextGrowth for Udder and Wooly components on MapInitEvent.
Clean-up EggLayerSystem a little.
Re-write OnExamine function for UdderSystem, improving clarity.
Add full stops to end of udder examine locales.
And more :)

* Add some additional descriptions for cow hunger levels.

* Add Udder and Wooly quantity to AutoNetworkedField

* Account for less than starving threshold.

---------

Co-authored-by: sirionaut <sirionaut@gmail.com>
Co-authored-by: Sirionaut <148076704+Sirionaut@users.noreply.github.com>
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>

* Automatic changelog update

* Prevent pulling when teleporting (space-wizards#33252)

* No more teleporting pulling

* pulled dash

* Update Content.Shared/Ninja/Systems/DashAbilitySystem.cs

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Update Content.Server/Implants/SubdermalImplantSystem.cs

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Automatic changelog update

* Add an in-hand sprite for the lizard plushie (space-wizards#32583)

* add hold sprites for lizard plushie

* make the lizard plushie sprites slightly chonkier for those who are not wearing winter clothes.

* me when i hit the noise button and pretend it's shading.

* lizard plushie is not legally-distinct green dinosaur with a long tongue™ (front sprite tongue has been shortened)

* update meta.json

* Automatic changelog update

* Makes admins not count towards the playercount cap (space-wizards#33424)

* Makes admins not count towards the playercount cap

* Update Content.Shared/CCVar/CCVars.Admin.cs (thx Aeshus

Co-authored-by: Thomas <87614336+Aeshus@users.noreply.github.com>

* Actually fixes whitespace on the comments
Thanks VScode very good IDE

---------

Co-authored-by: Thomas <87614336+Aeshus@users.noreply.github.com>

* Automatic changelog update

* Add the Zombie, a new cocktail (space-wizards#32802)

* Automatic changelog update

* Add Holy damage (space-wizards#32755)

* Initial commit

* hoili moili

* now to add sherlock and doctor who

* funny stick

* Oops it was meant to be called metaphysical

* Attribution

* Even BETTER attribution

* Automatic changelog update

* Add Explosion Resistance to SecBelts (space-wizards#33253)

Added explosion resistance to secbelt

* Automatic changelog update

* Chem master UI (space-wizards#33328)

* chemmaster buffer has colors now

* I have saved chemists everywhere

* implimented panelcontainers instead of labels, slight visual rework

* added UI changes to input buffer

* fixed some unsightly indentation on brackets and removed redundant minheight specification from verticalstretch elements

* Formatting and code cleanup

* pills still not rendering correctly

* more tinkering, entities finally display correctly

* entities display correctly, pill fields default to max now

* fixed stripes

* fixed excess pillCount bug

* removed cache, fixed tab swapping

---------

Co-authored-by: Saphire <lattice@saphi.re>

* Spaceshroom grilling (space-wizards#31872)

* make spaceshroom cookable on grill

* remove microwave recipe

* Automatic changelog update

* Figures can now be activated remotely (space-wizards#32769)

* First commit

* I'm silly

* weh

* will this work?

* Better design

* Fixes!

* rider :(

* L rider

* Automatic changelog update

* Flora clean up (space-wizards#33839)

* first migrate

* clean up prototypes

* Update polymorph.yml

* Update flora.yml

* and this one

* and this one x2

* and this one x3

* Update migration.yml

* Christmas anomaly (space-wizards#33889)

* santa anomaly

* Update anomaly.yml

* injection

* Update anomaly.yml

* Update Resources/Locale/en-US/anomaly/inner_anomaly.ftl

Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>

* Update Resources/Textures/Structures/Specific/Anomalies/Cores/santa_core.rsi/meta.json

Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>

* Update Resources/Textures/Structures/Specific/Anomalies/santa_anom.rsi/meta.json

Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>

---------

Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>

* Automatic changelog update

* Atmospheric network monitor (space-wizards#32294)

* Updated to latest master version

* Added gas pipe analyzer

* Completed prototype

* Playing with UI display

* Refinement of the main UI

* Renamed gas pipe analyzer to gas pipe sensor

* Added focus network highlighting and map icons for gas pipe sensors

* Added construction graph for gas pipe sensor

* Improved efficiency of atmos pipe and focus pipe network data storage

* Added gas pipe sensor variants

* Fixed gas pipe sensor nav map icon not highlighting on focus

* Rendered pipe lines now get merged together

* Set up appearance handling for the gas pipe sensor, but setting the layers is bugged

* Gas pipe sensor lights turn off when the device is unpowered

* Renamed console

* The gas pipe sensor is now a pipe. Redistributed components between it and its assembly

* AtmosMonitors can now optionally monitor their internal pipe network instead of the surrounding atmosphere

* Massive code clean up

* Added delta states to handle pipe net updates, fixed entity deletion handling

* Nav map blip data has been replaced with prototypes

* Nav map blip fixes

* Nav map colors are now set by the console component

* Made the nav map more responsive to changes in focus

* Updated nav map icons

* Reverted unnecessary namespace changes

* Code tidy up

* Updated sprites and construction graph for gas pipe sensor

* Updated localization files

* Misc bug fixes

* Added missing comment

* Fixed issue with the circuit board for the monitor

* Embellished the background of the console network entries

* Updated console to account for PR space-wizards#32273

* Removed gas pipe sensor

* Fixing merge conflict

* Update

* Addressing reviews part 1

* Addressing review part 2

* Addressing reviews part 3

* Removed unnecessary references

* Side panel values will be grayed out if there is no gas present in the pipe network

* Declaring colors at the start of some files

* Added a colored stripe to the side of the atmos network entries

* Fixed an issue with pipe sensor blip coloration

* Fixed delay that occurs when toggling gas sensors on/off

* Automatic changelog update

* Amber station updates (space-wizards#33899)

* Fixed various issued identified during playtests.

* Fixed a firelock stuck closed

* Added more cameras and moved others

* Fixed an issue with disposals

* Modified the map a bit after watching some matches and listening to feedback

* Reworked sec some more. Moved perma out into its own separate ship (another design from Frontier) Also performed various improvements to the station.

* Added final touches, ready to PR

* Added some more loot rooms throughout the map

* Changed up some areas in maints that I didn't like

* Removed footprints outside detective's room and wrenched down the logic gates in the ship building airlock

* I totally didn't forget to add the lights

* Gate map (space-wizards#32032)

* import

* remove perma asteroid

* remove cyrillic

* ok

* Remove Chromite island, Move AI, add cameras

* remove mapped garbage

* add station anchors

* admeme teleporter

* remove wapr points, add nav beacons

* telecomm, camera servers, some atmos fix

* crew server

* remove white plating, fix MANY pipestacking

* playtest bugs fixing

* big update

* bunch minor fixes

* Update gate.yml

* out of rotation

* Automatic changelog update

* Zombies keep their anomalies on zombification (space-wizards#33867)

* Zombies keep their anomalies on zombification

* Refactor anombies to isolate anomalies and zombies

InnerBodyAnomalies now send an event when the host dies.
Zombies cancels this event if the host is turning into a zombie.

* Anomazombies: deprecate CancellableEntityEventArgs

CancellableEntityEventArgs is deprecated. Use structs
with bool Cancelled instead.

* Automatic changelog update

* Anomaly Scanner In-hand Sprites (space-wizards#33427)

* Adds in-hand sprites to the Anomaly Scanner.

* Revert "Adds in-hand sprites to the Anomaly Scanner."

This reverts commit 257efd0.

im very stupid and need to undo my dumb commit.

* okay actually making sure these are committed this time like a smart boi

* Better version of the sprites based off of /tg station's health analyzer.

* Updated copyright to include link to sprite

* Updated copyright license and commit link

* Update Resources/Textures/Objects/Specific/Research/anomalyscanner.rsi/meta.json

Co-authored-by: Thomas <87614336+Aeshus@users.noreply.github.com>

* Update Resources/Textures/Objects/Specific/Research/anomalyscanner.rsi/meta.json

Aeshus adjusted indentation to better match original file.

Co-authored-by: Thomas <87614336+Aeshus@users.noreply.github.com>

---------

Co-authored-by: Thomas <87614336+Aeshus@users.noreply.github.com>

* Automatic changelog update

* HOTFIX: Add [MRP] tag to the hostname for Salamander (space-wizards#33909)

* Oasis - remove vox box (space-wizards#33912)

remove oasis vox box

* Core - remove vox box (space-wizards#33911)

remove Core vox box

* Holopads (space-wizards#32711)

* Initial resources commit

* Initial code commit

* Added additional resources

* Continuing to build holopad and telephone systems

* Added hologram shader

* Added hologram system and entity

* Holo calls now have a hologram of the user appear on them

* Initial implementation of holopads transmitting nearby chatter

* Added support for linking across multiple telephones/holopads/entities

* Fixed a bunch of bugs

* Tried simplifying holopad entity dependence, added support for mid-call user switching

* Replaced PVS expansion with manually networked sprite states

* Adjusted volume of ring tone

* Added machine board

* Minor features and tweaks

* Resolving merge conflict

* Recommit audio attributions

* Telephone chat adjustments

* Added support for AI interactions with holopads

* Building the holopad UI

* Holopad UI finished

* Further UI tweaks

* Station AI can hear local chatter when being projected from a holopad

* Minor bug fixes

* Added wire panels to holopads

* Basic broadcasting

* Start of emergency broadcasting code

* Fixing issues with broadcasting

* More work on emergency broadcasting

* Updated holopad visuals

* Added cooldown text to emergency broadcast and control lock out screen

* Code clean up

* Fixed issue with timing

* Broadcasting now requires command access

* Fixed some bugs

* Added multiple holopad prototypes with different ranges

* The AI no longer requires power to interact with holopads

* Fixed some additional issues

* Addressing more issues

* Added emote support for holograms

* Changed the broadcast lockout durations to their proper values

* Added AI vision wire to holopads

* Bug fixes

* AI vision and interaction wires can be added to the same wire panel

* Fixed error

* More bug fixes

* Fixed test fail

* Embellished the emergency call lock out window

* Holopads play borg sounds when speaking

* Borg and AI names are listed as the caller ID on the holopad

* Borg chassis can now be seen on holopad holograms

* Holopad returns to a machine frame when badly damaged

* Clarified some text

* Fix merge conflict

* Fixed merge conflict

* Fixing merge conflict

* Fixing merge conflict

* Fixing merge conflict

* Offset menu on open

* AI can alt click on holopads to activate the projector

* Bug fixes for intellicard interactions

* Fixed speech issue with intellicards

* The UI automatically opens for the AI when it alt-clicks on the holopad

* Simplified shader math

* Telephones will auto hang up 60 seconds after the last person on a call stops speaking

* Added better support for AI requests when multiple AI cores are on the station

* The call controls pop up for the AI when they accept a summons from a holopad

* Compatibility mode fix for the hologram shader

* Further shader fixes for compatibility mode

* File clean up

* More cleaning up

* Removed access requirements from quantum holopads so they can used by nukies

* The title of the holopad window now reflects the name of the device

* Linked telephones will lose their connection if both move out of range of each other

* Automatic changelog update

* Test can now run on stable prs (space-wizards#33914)

Make tests also run on stable and staging

* Fix horrible lag in Zombies mode (space-wizards#33818)

* Gate map: Holopads added (space-wizards#33918)

Update gate.yml

* Holopads + Atmos Network Console for Bagel (space-wizards#33921)

Holopads!

* Update PR size labeler line counts (space-wizards#33915)

new numbers

* Fix AME power generation (space-wizards#32825)

* Change AME power generation

* Fix negative power, change formula slightly

* Automatic changelog update

* Adds Advanced SMES, an SMES with higher capacity for mapping (space-wizards#33757)

* Adds Advanced SMES machine and board to autolathe roundstart

* Make Advanced SMES T2 Advanced Powercells research, reduce cost, remove from random spawner, add sprites by augustsun

* fix attribution formatting

* Update smes.yml to address review

Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>

* add new sprites and change naming scheme, testing something

* address review, tested it a bit more, works ingame

---------

Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>

* Automatic changelog update

* Ground Light Post Crafting Description Fix (space-wizards#33920)

Updates ground light post's crafting description

* Fix admins not being able to health scan slimes (space-wizards#33884)

* Automatic changelog update

* Amber Station - Added Holopads, Atmos Monitoring, and Advanced SMESes (space-wizards#33923)

* Added holopads and atmos network monitoring.

* Added the advanced SMESes to the station and evac shuttle

* Removed an accidentally mapped vox air alarm

* Fixed invalids in the escape shuttle

* Bagel Power Rebalance + Gas Pipe Sensors (space-wizards#33925)

* Balances bagel power

* Adds gas pipe sensors

* remove invalids :)

* Omega Update (Holopads & Engi Stuff) (space-wizards#33926)

Omega Update

Add holopads, atmospheric network monitors & sensors, and advanced SMES's.

* Box Power Rebalance + Holopads, Gas Pipe Sensors (space-wizards#33929)

* fix power

* Rebalance power, add holopads, add pipenet sensors

* recolor that one pipe I missed + remove invalids

* resave map, if this fails tests one more time, no more cake

* Cargo Shuttle/ATS Update (space-wizards#33927)

Update Cargo Shuttle/ATS

Adds holopads to the cargo shuttle and ATS. Also replaces the blast door buttons on the cargo shuttle with locked variants.

* Cog Power Rebalance + Holopads, Gas Pipe Sensors (space-wizards#33930)

* fix cog power

* double fix cog power

* trial 3

* fourth go

* i stopped counting

* Fland Power Rebalance + Gas Pipe Sensors (space-wizards#33933)

fix fland power

* Make safes craftable (space-wizards#32694)

* Made the Armory Gun Safe craftable with 10 steel, 10 plasteel, and 5 LV cables.

* Changed gun safe price to 335, to match the cost of its material components. Changed gun safe to start with no accesses when constructed.

* adress the review

* yeah

* wrah

* test fail is not real

---------

Co-authored-by: Ty Ashley <42426760+TyAshley@users.noreply.github.com>

* Automatic changelog update

* Holopad prototypes for mapping (space-wizards#33931)

* Init

* fix

* Atmosn't

* ID fixes

* locale

* Reduce network burden of the hunger system (space-wizards#32986)

* reduce network burden of the hunger system

* explicit start + last updated

* remove auto reformat changes to otherwise untouched code

add clamp helper

* imagine making breaking changes, documenting them, and then not thinking to check the yaml

* comments

* Remove unused net manager in hunger system
Remove lastAuthoritativeHungerValue from prototypes

* Only disable panicbunker for admins with AdminFlags.Admin (space-wizards#33879)

* Only disable panicbunker for admins with AdminFlags.Admin

* nicer curly braces

* Automatic changelog update

* Fix hugging buckled mobs instead of unbuckling (space-wizards#33635)

* Check buckle.BuckledTo value before hugging interaction

* Make InteractHandEvent to be used by BuckleSystem before InteractionPopupSystem instead of after

* Automatic changelog update

* Replace Cellular Slime mob damage with Caustic (space-wizards#33104)

Cellular gone

* Automatic changelog update

* Mercenary gear contraband tweaks. (space-wizards#33647)

* Mercenary gear contraband tweaks.

* Fixed Mercenary Combat Gloves to have basic Combat Gloves as a parent again.

* Update Resources/Prototypes/Entities/Clothing/OuterClothing/vests.yml

---------

Co-authored-by: RedBookcase <Usualmoves@gmail.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Automatic changelog update

* Sprite Movement working with AI movement (space-wizards#33494)

* FINALLY

* Update animals.yml

* New Drazil plushie (inverse lizard plushie) (space-wizards#33776)

* Hew

* properly attribute hew.ogg

* add to maints locker plushie pool with low chance, clear up grammar

* shhhh nobody saw that linter failure

* adds localization support for Weh and Hew emotes

* fix capitalization error present since circa 2/25/2024

* resolve conflicts, fix sprite, add reversed inhands

* clear up cursed formatting

* Automatic changelog update

* Localized holopads for Cog (space-wizards#33937)

* coggers

* Requested changes

* Marathon Power Rebalance + Gas Pipe Sensors, Holopads (space-wizards#33938)

* fix marathon power

* add holopads

* add requested changes

* Localized holopads for Bagel (space-wizards#33934)

* Stuff

* Requested changes

* Packed Update (Holopads & Engi Stuff) (space-wizards#33940)

Packed Holopad & Engi Update

Added holopads, atmos network monitor and sensors, advanced SMES, and revamped TEG setup.

* Localized holopads + atmos network for Oasis (space-wizards#33941)

Oasis stuff

* Reach/Cargo Update (Holopads & Atmos) (space-wizards#33943)

* Reach/Cargo Update

Adds holopads and new atmos tech to Reach, and replaces cargo shuttle/ATS holopads with localized versions.

* Fix Invalid

invalidinvalidinvalidinvalidinvalidinvalid

* [Christmas] Y'all want a Smite Cranberry? (space-wizards#33922)

* Add a festive lemon-lime soda variant: cranberry!

* Gave lemon-lime a brand name

* Make the CrateFoodSoftdrinksLarge slightly larger to accomodate the extra drinks.

* Extend the Christmas anomaly with extra jolliness

* Minor spelling mistake. Jollyness will not be denied.

* Removed redundant delay from meta file

* Automatic changelog update

* Comment LogTypes (space-wizards#33497)

* Comment LogTypes

* Uncomment unused types

---------

Co-authored-by: Winkarst <74284083+Winkarst-cpu@users.noreply.github.co>

* Show battery level for selected devices in Power Monitoring Console (space-wizards#33854)

* Use class instead of out variables

* Show battery level in power monitoring console

* Better color contrast for battery level + localized string

* Add visualization to battery percentage

* Reverts random ChatSystem.cs whitespace change

* Address review

* Show BatteryLevel stats in child view when selecting devices

---------

Co-authored-by: Crotalus <crotalus@users.noreply.github.com>

* Automatic changelog update

* Omega Update (Localized Holopads) (space-wizards#33946)

* Omega Update (Localized Holopads)

Replaced all holopads with localized versions and a couple tiny misc

* Remove engi protolathe

* Forgot to rename engi fax whoops

* Amber Statio - Localized Holopads and Balance Updates (space-wizards#33948)

* Added loc versions of holopads to Amber, and made some adjustments given Acorn's feedback

* fixed the name of the gameroom

* Fixed it in the map file

* Meta Power Rebalance + Gas Pipe Sensors, Holopads (space-wizards#33949)

power fixes, sensors, dim lights

* Packed Power Rebalance + Gas Sensors Adjustments (space-wizards#33955)

* fix packed power

* fix that

* fix that as well

* even more fixes

* fix power, again

* Omega Power Rebalance (space-wizards#33956)

* fix packed power

* Revert "fix packed power"

This reverts commit 4f44d06.

* fic the entire thing again

* New mid pop station: Loop (space-wizards#33697)

* many changes

* contentingregrationtests

* serialized invalid removed

* blank

* "Changes and fixes as suggested"

* blank

* blank

* added desk bells

* engi rework rework rework

* added gate to content integration

* tweaks

* aaa

* bbb

* added holopads

* ccc

* Update default.yml

---------

Co-authored-by: Emisse <99158783+Emisse@users.noreply.github.com>

* Automatic changelog update

* Food Container Size Increase (space-wizards#33842)

* Stuff

* hehe

* moar.

* Logic Gate Compatibility with Non-Logic Signals bugfix (space-wizards#33792)

:)

* Automatic changelog update

* Remove plushie_lizard_mirrored.png (space-wizards#33855)

* Remove plushie_lizard_mirrored.png

* Remove from meta.json

* Replace mirrored state from yml

---------

Co-authored-by: LevitatingTree <None>

* Tweaks for the holopad (space-wizards#33928)

* Initial commit

* AIs get a warning when trying to answer long distance calls

* Better handling of ending telephone calls

* Fixed issue with duplicated holopad window when an AI answers a summons

* Changed how ranges are handled, added the bluespace holopad

* Bug fixes

* More bug fixes

* More bug fixes

* Update Resources/Prototypes/Entities/Structures/Machines/holopad.yml

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Update Resources/Prototypes/Entities/Structures/Machines/holopad.yml

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Fix: Update armor crate description (space-wizards#33414)

Update armor crate

* Automatic changelog update

* Loopstation hotfix (space-wizards#33958)

Co-authored-by: Emisse <99158783+Emisse@users.noreply.github.com>

* Update Fland for holopads (space-wizards#33962)

* update fland for holopads

* fix duplicate holopad name

* Fixes/removes borg spawnpoint from Oasis Engineering, added one to Robotics (space-wizards#33960)

removed borg spawnpoint from engineering, added one to robotics

Co-authored-by: august-sun <45527070+august.sun@users.noreply.github.com>

* Update Credits (space-wizards#33865)

Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>

* Minor fixes for the holopad (space-wizards#33969)

Initial commit

* add man-o-war shuttle (space-wizards#32105)

manowar

* Add MovementSound (space-wizards#31313)

Mainly useful for medicalborg so you can get a looping sound and not footsteps playing over and over.

Didn't actually update medborg because footsteps need updating.

Not needed for AI.

* Remove Clearly Nuclear on Author's Request (space-wizards#33971)

Revert "New Nukie Song (space-wizards#25765)"

This reverts commit 806c0d1.

* Automatic changelog update

* Fix communication console menu (space-wizards#33655)

fix Communication console

* Automatic changelog update

* combine licence files for StationEvents audio (space-wizards#33972)

* merge licence files

* actual commit

* whoops

* All hostile turret (space-wizards#33970)

* All hostile turret

* Other factions are now hostile against "all hostile" too

* Automatic changelog update

* Add clearer defib cooldowns! (space-wizards#31251)

* First commit

* Fix silly test

* Swiched stuff up

* Update Content.Shared/Medical/DefibrillatorComponent.cs

* remove unneeded visuals

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Automatic changelog update

* Nanotrasen, Syndicate factions are now hostile to Dragons and Carps (space-wizards#32515)

* Weh

Weh

* Now hostiles too!

Added Dragon to hostile factions for Hostiles

* Nah

Better not do this, I think

* Automatic changelog update

* Add description of tool qualities to entity (space-wizards#32436)

* Add description of tool qualities to entity

* LMAO I FORGOT FUCKING FTL FILE

* minor cleanup

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Automatic changelog update

* Diona chirping & Nymph vocals (space-wizards#32511)

* Adds chirping to adult diona

* Added vocals for diona nymph

* Nymphs now have a speechsound

* Automatic changelog update

* Increase syndicate uplink discount amount to 6. (space-wizards#33950)

* Increase uplink discounts from 3 to 7

* nevermind, 6

* Automatic changelog update

* Wood walls from barricades (space-wizards#33902)

* Wood wall is now built from barricade congraph and on top of a barricade instead of using rods

* Fixed construction instructions for wooden wall

* Wood wall is now built from barricade congraph and on top of a barricade instead of using rods

* Fixed construction instructions for wooden wall

* fixed linter error

* Update Resources/Prototypes/Entities/Structures/Walls/walls.yml

Reasonable suggestion

Co-authored-by: Thomas <87614336+Aeshus@users.noreply.github.com>

* Update Resources/Prototypes/Entities/Structures/Walls/walls.yml

spelling error

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* removed ability to build wall from 'junk' wood barrier'

* fixed ability to pry overlay barricades and not allow them to extend to full wood walls

* renamed incorrectly named entity

* fixed default entity graph so as to not complain for unit tests

* corrected my incorrect assumptions and fixed destroy cost

---------

Co-authored-by: Thomas <87614336+Aeshus@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Automatic changelog update

* Implement some field-level deltas (space-wizards#28242)

* Update GasTileOverlayState

* Update DecalGridState

* Update NavMapState

* poke

* poke2

* poke3

* Implement field deltas for guns

* Content done

* Update

---------

Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>

* Update submodule to 237.4.0 (space-wizards#33976)

* Toolshed refactor (space-wizards#33598)

* Content changes for engine toolshed PR

* add contains command

* more permissive commands

* Automatic changelog update

* Update engine to v238.0.0 (space-wizards#33980)

* Automatic changelog update

* adjust eshotgun recharge delay (space-wizards#33996)

* Specify privacy policy for Wizard's Den (space-wizards#34013)

* Localized holopads for Box (space-wizards#34011)

I love holopads

* Train: fix problematic atmos setup (space-wizards#34018)

fix atmos setup

* silent footsteps for ninja (space-wizards#33280)

* waow

* nice suggestion

* nullable sound

* fix stuff

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Automatic changelog update

* minor fix to "silent footsteps for ninja" (space-wizards#34040)

minor fix

* Fix the sensor monitoring console (space-wizards#34035)

Still isn't really suitable to just map but at least it doesn't outright NRE anymore.

Alternative to space-wizards#34032

* Fix borgs being able to drink from buckets and spray bottles. (space-wizards#32964)

* Added a check for if the entity trying to drink is a borg.

* Fixed missing namespace issue.

* Improved code conciseness.

* Removed borg chassis check, added stomach check.

* Removed unused namespace

---------

Co-authored-by: dankeaj <andrewjdanke@gmail.com>

* Automatic changelog update

* Remove cog cargo protolathe (space-wizards#34026)

* Removed protolathe from cargo on Amber

* Removed protolathe from cargo on Cog

* Revert "Removed protolathe from cargo on Amber"

This reverts commit 422db6e.

revert commit that should have been done on another branch

* Removed protolathe from cargo on Amber (space-wizards#34027)

* Automatic changelog update

* Increases Marathon cryosleep size, added meteor shielding to Marathon chapelroid (space-wizards#34044)

Increases Marathon cryosleep size, added meteor shielding to chapelroid

Co-authored-by: august-sun <45527070+august.sun@users.noreply.github.com>

* Fix race condition causing disconnected admins to appear in adminwho (space-wizards#34033)

* Adds more air alarms and sensors throughout Oasis, linked unlinked air devices (space-wizards#34046)

Adds more air alarms and sensors throughout Oasis

Co-authored-by: august-sun <45527070+august.sun@users.noreply.github.com>

* Multiple items in loadouts (space-wizards#33193)

* loadouts update

* Update loadout_groups.yml

* darts to candles

* Update Resources/Prototypes/Loadouts/dummy_entities.yml

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Automatic changelog update

* Add crazybrain23 to CODEOWNERS (space-wizards#34038)

Add myself to CODEOWNERS

Basically just added myself where Nik was since I am also doing headmin things.

* Update Credits (space-wizards#33998)

Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>

* Allow to paint multiple airlocks (space-wizards#34001)

* Allow to paint multiple airlocks

* oh right

* Automatic changelog update

* Link Core cargo shuttle atmos devices (space-wizards#34061)

* Link Core cargo shuttle atmos devices

* Remove configurator lines

This matches what the DeviceNetworks in core.yml look like now. Hopefully it works?

* bagel update (space-wizards#34062)

* bagel update

* fixgridatmos

* fdsafds

* Loop Station update and fixes (space-wizards#34067)

* many changes

* contentingregrationtests

* serialized invalid removed

* blank

* "Changes and fixes as suggested"

* blank

* blank

* added desk bells

* engi rework rework rework

* added gate to content integration

* tweaks

* aaa

* bbb

* added holopads

* ccc

* Update default.yml

* hotfix

* aaa

* bbb

* many many tweaks and fixes

* aaa

---------

Co-authored-by: Emisse <99158783+Emisse@users.noreply.github.com>

* Amber Station - Fixed evac shuttle screens (space-wizards#34071)

Added Devicenetwork component to ensure the screens work

* bagel update (space-wizards#34073)

* Reinforced tables require welding to construct/deconstruct (space-wizards#33992)

* Automatic changelog update

* Arrivals blacklist for bluespace lockers and QSIs (space-wizards#34072)

* Ensure Arrivals Blacklist in Bluespace Locker rule

* While I'm at it, stop the QSI too

* fix thing I broke somehow

* Every bluespace locker arrivals blacklisted

* Add ArrivalsBlacklist to the prototypes too

* Automatic changelog update

* Fix popup on handcuffing for person being handcuffed (space-wizards#33639)

* Fix popup on handcuffing for person being handcuffed

* wrap onto newlines to appease the style gods

* Automatic changelog update

* Ignore audio entities in SpawnAndDeleteEntityCountTest (space-wizards#34021)

* Fix wagging action name and desc (space-wizards#34089)

* Removed Power Monitoring Computer boards from research and lathe recipes. Added default engineering sprites for atmos computer boards. (space-wizards#34078)

* Defined sprites for Atmospheric Alerts and Monitoring computer boards. Added research unlocks and lathe recipes for them.

* Defined default engineering sprite for atmospherics computer boards. Removed Power Monitoring Computer board from research and lathe recipes.

* Defined engineering sprite for atmos computer boards. Removed Power Monitoring Computer board from research and lathe recipes.

* Automatic changelog update

* Traitor can no longer get multiple objectives to save/help/kill the same person (space-wizards#33704)

* Deduplicate traitor objectives

* Remove redundant check

* Automatic changelog update

* Removes weh.txt from Textures/Parallaxes (space-wizards#34097)

Removes Unneeded File

* UI improvements for holopads (space-wizards#34055)

* Initial commit

* Minor update

* Automatic changelog update

* Update Credits (space-wizards#34109)

Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>

* Added support so that smile can use hats (space-wizards#33924)

* Added support so that smile can use hats

Changed Prototypes/Entities/Mobs/NPCs/pets.yml
Added smile_inventory_template.yml in Resources/Prototypes/inventoryTemplates
Added dir smile_displacement.rsi inside Resources/Textures/Mobs/Pets/smile.rsi
Added smile_displacement.rsi/meta.json
Added smile_displacement.rsi/head.png

* Fixed sprite path in ProtoTypes/Entities/Mobs/NPCs/pets.yml mapping to wrong smile_displacement.rsi
Fixed smile_inventory_template.yml using uiWindowPos as 1,2 instead of 0,1

Moved Resources/Textures/Mobs/Pets/smile.rsi/ to .../Pets/smile/smile.rsi/
Moved Resources/Textures/Mobs/Pets/smile.rsi/smile_displacement.rsi to .../Pets/smile/smile_displacement.rsi

* Minor fixes: removing comments and change naming

Renamed Resources/Textures/Mobs/Pets/smile/smile.rsi To .../Mobs/Pets/Smile/smile.rsi

* Removed smile_inventory_template.yml and used head_inventory_template.yml instead

* Automatic changelog update

* Add a guaranteed cotton pizza to pizza crates (space-wizards#33997)

* add guaranteed cotton pizza to pizza crates

* saner parenting

* Use clearer suffix on cotton pizza box

* Automatic changelog update

* Corrected Cotton Dough Recipe (space-wizards#33988)

* New cotton baguette, crostini, chevre-chaud, bagel, and croissant foods for moffs (space-wizards#33508)

* A looooooooot of new cotton foods for the moffs

* address slam's comments on the food for moffs not having any moff food in the food (the food that's intended for moffs)

* alternative sprites for bagel-cottondough.png, baguette-cotton.png, and croissant-cotton.png

* update requested sprites

* change requested sprites

* address part of sloth's review, awaiting response

* address second half of review, fix magical food nutriment mitosis bug

* Automatic changelog update

* Rolling joints no longer requires a filter (space-wizards#34106)

* Remove filters from joint crafting

* err

* hmmm

* guhhh

* yyyy

* whitespace

---------

Co-authored-by: Velcroboy <velcroboy333@hotmail.com>

* Automatic changelog update

* fix interdimensional teleporter desc (space-wizards#34108)

Update hand_teleporter.yml

* Adds kitchen/botany-locked maints airlock (space-wizards#34116)

Co-authored-by: Velcroboy <velcroboy333@hotmail.com>

* Added ID entry for captain on Bagel (space-wizards#34120)

added id for captain

Co-authored-by: dylanhunter <dylan2.whittingham@live.uwe.ac.uk>

* Amber Station Overhaul (space-wizards#34113)

* Step 01: Remade arrivals

* Nearly finished, also added new beacons and a holopad

* Wrapped up all changes, also added a beacon for the docking arm

* Box Station - Dechristmassified (space-wizards#34135)

* dechrismassified

* removed camera from shower

* Marathon Station - Dechristmassified (space-wizards#34136)

* dechristmassified

* further dechristmassified

* Loop Station Decal and maints additions (space-wizards#34103)

* many changes

* contentingregrationtests

* serialized invalid removed

* blank

* "Changes and fixes as suggested"

* blank

* blank

* added desk bells

* engi rework rework rework

* added gate to content integration

* tweaks

* aaa

* bbb

* added holopads

* ccc

* Update default.yml

* hotfix

* aaa

* bbb

* many many tweaks and fixes

* aaa

* decals and maints

* aaa

* bbb

* ccc

---------

Co-authored-by: Emisse <99158783+Emisse@users.noreply.github.com>

* Rename cryobed yml file (space-wizards#34134)

renamed cryopod.yml to cryogenic_sleep_unit.yml

* Cog update (not very merry) (space-wizards#34144)

removed christmas merry

* bagel update (space-wizards#34145)

* Add hair pulato (space-wizards#34117)

* add sprite pulato

* update

* add pulato hair

* add pulato hair

* add pulato hair

* update meta "pulato"

* Automatic changelog update

* Holopad UI tweak for incoming calls (space-wizards#34137)

* Initial commit

* Update

* Comment correction

* Minor margin increase

* Holopads no longer log broadcasted speech and emotes in the chat (space-wizards#34114)

Initial commit

* Automatic changelog update

* Fixes borgs not being able to check their laws in crit (space-wizards#34133)

* fix

* fix2

* Add contraband parent to laser gun safe (space-wizards#34132)

* Automatic changelog update

* Add Holopad Circuit Board to A/V Communication Technology (space-wizards#34150)

Added the holopad circuit board to the AV Communication technology and circuit imprinter lathe.

* Automatic changelog update

* Fix disposal signal routers sprites (space-wizards#34139)

* Fix disposal signal routers sprites

* Remove old shitcode

* Automatic changelog update

* Meta station overhaul (space-wizards#33506)

* added mail, moved some things around, and fixed a lot of APCs

* fixed my mistakes

* Fixed a few mistakes and AI camera names

* Redid south medbay and more wiring

* Finished sci overhaul, and fixed all issues that I could find.

* rebuilt botany, removed vox box, fixed all known issues.

* Overhauled security

* Minor commit as I prepare to update my copy

* Rebalanced role counts

* Final changes, ready for review!

* Emisse and other people fixed issues with the station

* Finalized changes (for real this time)!

* Standardize shotgun ammo in storagefills (space-wizards#34156)

shotgun ammo changes

* Automatic changelog update

* meta update (space-wizards#34158)

* Amber Station Adjustments (space-wizards#34126)

* Made a couple fixes to various decals, cleaned up some entities, gave the clown their bag and the bartender a handlabeler

* Several changes, more cameras, lighting fixes, adjusted hydro a bit, gave sec a bunch of shutters

* Added new random spawners for science and added them to Amber

* fixed the science spawners and modified amber slightly

* Fixed the random instrument entry

* Fix friendly vent spiders (space-wizards#34153)

Swapped order of parents for MobGiantSpiderAngry

* Removed UseDelay component from RCD (space-wizards#34149)

* Automatic changelog update

* Decrease hp for rusted walls (space-wizards#34043)

* Automatic changelog update

* FIX: Thief beacon doubled steal targets (space-wizards#33750)

* Automatic changelog update

* remove nukemass song (space-wizards#34066)

* Automatic changelog update

* Corrected all ghost role names to title case. (space-wizards#34155)

* Corrected all ghost role names to title case.

* Removes full stop from Hamlet's title.

* Updated ghost role names not in the main ghost roles .ftl

* Two capitals corrections

* Packed Update (Remove Christmas & New Evac) (space-wizards#34168)

* Packed update (remove christmas, new shuttle)

* Fix invalid

* the voices

* Omega Update (Remove Christmas) (space-wizards#34174)

omega soap

* Renamed "Irish Car Bomb" drink to "Irish Slammer" (space-wizards#34107)

* Renamed "Irish Car Bomb" drink to "Irish Slammer", due to concerns over insensitivity.

* Fixing some missed references

* Added prototype id changes to migration.yml. Removed any reference to the troubles (and corrected ale to stout for flavour text).

* Corrected description back to "Irish Cream"

* Removed non-entities from migration.yml

* Automatic changelog update

* Bugfix for the AI player's eye getting stuck when their broadcast is interrupted (space-wizards#34093)

Initial commit

* Speech is relayed by holopad holograms (space-wizards#33978)

* Initial commit

* Corrected a field attribute

* Make JPEG a PNG (space-wizards#34176)

Make 3.png a PNG

* Removed Undesirable Ion Storm Verbs (space-wizards#34175)

* Remove Undesirable Laws

* empty

* added basic admin logs for PDA notekeeper notes (space-wizards#34118)

* added basic admin logs for PDA notekeeper notes

* formatting

* added new LogType 'PdaInteract' and changed PDA notekeeper logs to it

---------

Co-authored-by: dylanhunter <dylan2.whittingham@live.uwe.ac.uk>

* Automatic changelog update

* Sprites defined for all non-generic computer boards. Added new syndicate computer board sprite. (space-wizards#34104)

* Defined sprites for non-generic computer boards. Added new syndicate computer board sprite.

* Added new sprite to meta.json and updated attribution.

* Reformatted module.rsi meta.json to match other meta file styles.

* Syndicate board sprite made less yellow/gold, changed outer chips to black. Using grey/silver for CPU centre, akin to syndie agent PDA theme, and to keep distinctive from security board.

* Corrected indentation spacing for currently edited entities.

* Update Resources/Prototypes/Entities/Objects/Devices/Circuitboards/computer.yml

* add pr link to attribution

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>

* Added pricegun sound (space-wizards#34119)

added pricegun sound

Co-authored-by: dylanhunter <dylan2.whittingham@live.uwe.ac.uk>

* Automatic changelog update

* Separate Tables n' Counters  (space-wizards#32673)

* Update tables.yml

* Remove Extra base: state_

* Update tables.yml

* Automatic changelog update

* Add Chameleon PDA (space-wizards#30514)

* V1 commit

* Remove PDA name and unnecessary pda state

* Adds PDA to Chameleon backpack & thief toolbox

* Change to use AppearanceDataInit

* Add basic PDA state to ensure there's always a sprite before AppearanceData can be applied

* Revert PDA name (this will be changed to another way later)

* Update PDA name updating to new system

* Fix yaml, and fix Agent ID chameleon

* Updated based on review

* Automatic changelog update

* Add some ion storm actions to replace removed ones (space-wizards#34180)

* Add some ion storm actions to replace removed ones

* Remove other country references, replace

* Some more tuning of the storm values, removing real-world countries

* boldy basics

* Automatic changelog update

* fix misc shit

---------

Co-authored-by: Plykiya <58439124+Plykiya@users.noreply.github.com>
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
Co-authored-by: ActiveMammmoth <140334666+ActiveMammmoth@users.noreply.github.com>
Co-authored-by: Thomas <87614336+Aeshus@users.noreply.github.com>
Co-authored-by: keronshb <54602815+keronshb@users.noreply.github.com>
Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: beck-thompson <107373427+beck-thompson@users.noreply.github.com>
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
Co-authored-by: Baa <9057997+Baa14453@users.noreply.github.com>
Co-authored-by: sirionaut <sirionaut@gmail.com>
Co-authored-by: Sirionaut <148076704+Sirionaut@users.noreply.github.com>
Co-authored-by: Preston Smith <92108534+thetolbean@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: KieueCaprie <103897346+KieueCaprie@users.noreply.github.com>
Co-authored-by: deathride58 <deathride58@users.noreply.github.com>
Co-authored-by: dragonryan06 <71857681+dragonryan06@users.noreply.github.com>
Co-authored-by: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
Co-authored-by: Vexerot <71985089+Vexerot@users.noreply.github.com>
Co-authored-by: Intoxicating-Innocence <188202277+Intoxicating-Innocence@users.noreply.github.com>
Co-authored-by: Saphire <lattice@saphi.re>
Co-authored-by: goet <6637097+goet@users.noreply.github.com>
Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>
Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com>
Co-authored-by: Southbridge <7013162+southbridge-fur@users.noreply.github.com>
Co-authored-by: Patrik Caes-Sayrs <heartofgoldfish@gmail.com>
Co-authored-by: Tiniest Shark <head.rebel@yahoo.com>
Co-authored-by: Myra <vasilis@pikachu.systems>
Co-authored-by: psykana <36602558+psykana@users.noreply.github.com>
Co-authored-by: Golinth <amh2023@gmail.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
Co-authored-by: Spanky <scott@wearejacob.com>
Co-authored-by: lzk <124214523+lzk228@users.noreply.github.com>
Co-authored-by: Ty Ashley <42426760+TyAshley@users.noreply.github.com>
Co-authored-by: Centronias <me@centronias.com>
Co-authored-by: MilenVolf <63782763+MilenVolf@users.noreply.github.com>
Co-authored-by: RedBookcase <crazykid1590@gmail.com>
Co-authored-by: RedBookcase <Usualmoves@gmail.com>
Co-authored-by: Hannah Giovanna Dawson <karakkaraz@gmail.com>
Co-authored-by: Winkarst <74284083+Winkarst-cpu@users.noreply.github.com>
Co-authored-by: Winkarst <74284083+Winkarst-cpu@users.noreply.github.co>
Co-authored-by: Crotalus <crotalus@users.noreply.github.com>
Co-authored-by: TytosB <54259736+TytosB@users.noreply.github.com>
Co-authored-by: Emisse <99158783+Emisse@users.noreply.github.com>
Co-authored-by: SpaceLizard <the.justice.league.of.canada@gmail.com>
Co-authored-by: LevitatingTree <114672939+LevitatingTree@users.noreply.github.com>
Co-authored-by: August Sun <45527070+august-sun@users.noreply.github.com>
Co-authored-by: august-sun <45527070+august.sun@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com>
Co-authored-by: Piras314 <p1r4s@proton.me>
Co-authored-by: VideoKompany <135313844+VlaDOS1408@users.noreply.github.com>
Co-authored-by: CaptainMaru <124701378+CaptainMaru@users.noreply.github.com>
Co-authored-by: AverageNotDoingAnythingEnjoyer <113719989+AverageNotDoingAnythingEnjoyer@users.noreply.github.com>
Co-authored-by: pocl v <24708225+Pinkbat5@users.noreply.github.com>
Co-authored-by: JustinWinningham <justinmwinningham@gmail.com>
Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
Co-authored-by: mubururu_ <139181059+muburu@users.noreply.github.com>
Co-authored-by: amatwiedle <amatwiedle@gmail.com>
Co-authored-by: dankeaj <andrewjdanke@gmail.com>
Co-authored-by: Booblesnoot42 <108703193+Booblesnoot42@users.noreply.github.com>
Co-authored-by: crazybrain23 <44417085+crazybrain23@users.noreply.github.com>
Co-authored-by: War Pigeon <54217755+minus1over12@users.noreply.github.com>
Co-authored-by: Alpaccalypse <llamageddon@llamageddon.net>
Co-authored-by: PursuitInAshes <pursuitinashes@gmail.com>
Co-authored-by: zHonys <69396539+zHonys@users.noreply.github.com>
Co-authored-by: SolStar <44028047+ewokswagger@users.noreply.github.com>
Co-authored-by: Velcroboy <107660393+IamVelcroboy@users.noreply.github.com>
Co-authored-by: Velcroboy <velcroboy333@hotmail.com>
Co-authored-by: Dylan Hunter Whittingham <45404433+DylanWhittingham@users.noreply.github.com>
Co-authored-by: dylanhunter <dylan2.whittingham@live.uwe.ac.uk>
Co-authored-by: Spessmann <156740760+Spessmann@users.noreply.github.com>
Co-authored-by: ~DreamlyJack~ <148849095+DreamlyJack@users.noreply.github.com>
Co-authored-by: PopGamer46 <yt1popgamer@gmail.com>
Co-authored-by: justdie12 <125140938+justdie12@users.noreply.github.com>
Co-authored-by: Nox <nebulousnox38@gmail.com>
Co-authored-by: ReeZer2 <63300653+ReeZer2@users.noreply.github.com>
Co-authored-by: Alpaccalypse <21291379+Alpaccalypse@users.noreply.github.com>
Co-authored-by: Ps3Moira <113228053+ps3moira@users.noreply.github.com>
Aidenkrz added a commit to Goob-Station/Goob-Station-MRP that referenced this pull request Jan 27, 2025
* Fix verb sub (#30667)

* Fix verb sub

Mapping casualty, verbs are weird.

* also this

* Fix Hissing & Another Airlock Error (#1596)

errors/test fail ops

---------

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

* Update miningrock.yml (#1595)

Yeets a heisentest.

* There's literally no reason to do this because it impacts only the people who don't know.

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

* 1984 "Unobtainium Chemistry" (#1600)

# Description

Making chems use Unobtainium Reagents doesn't make chemistry
interesting, it makes medical gameplay boring. This PR replaces the
unobtainium recipes with suitably expensive and/or complicated recipes.
Have fun memorizing how to make Acetone, Ammonia and Impedrezine.

# Changelog

:cl:
- remove: 1984'd most instances of "Unobtainium" chemistry. Chems like
Necrosol that previously required normally unobtainable reagents such as
Cognizine or Vestine now instead have long production chains of chems
that are obtainable, but complicated to produce. Check the chemistry
menu for more information.

* Automatic Changelog Update (#1600)

* Update CargoTest.cs

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

* Consolidate Arsenal Research

* Update arsenal.yml

* aaaaaaaa

* aaaaaaaa

* Consolidate Civilian Research

* Automatic Changelog Update (#1602)

* Automatic Changelog Update (#1603)

* Arsenal Tacsuit Research (#1604)

# Description

This PR fills in the basics for the previously commented placeholders
for "Advanced Tacsuits" and "Prototype Tacsuits", both new Arsenal
researches. These both unlock recipes for manufacturing tacsuits at a
Security Techfab, and are an alternative method to making them outside
of buying them through Cargo. Here's a genuine reason for Epistemics to
consider doing Arsenal T3.

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


![image](https://github.com/user-attachments/assets/697e70cb-e1da-4590-aa2b-01555b88f40d)


![image](https://github.com/user-attachments/assets/60977362-18aa-4253-9045-61129866fad7)


![image](https://github.com/user-attachments/assets/79ed2ffd-19a3-4a4d-9412-51ba96de82ac)


![image](https://github.com/user-attachments/assets/070e99d0-48d6-40ad-add5-a1e51b23f77b)

</p>
</details>

# Changelog

:cl:
- add: Added Advanced Tacsuits, and Prototype Tacsuits to Arsenal
research. Along with them comes Security Techfab recipes for said
tacsuits.

* Automatic Changelog Update (#1604)

* Replace Tech Lockout With Softcap (#1605)

# Description

This PR fully replaces the "Tier 3 Tech Lockout" with a research
softcap. How it works is that technologies are allowed to set a softcap
contribution, meaning that they multiplicatively increase the cost of
all other research by a certain amount. By default, this is done by all
Tier 3 Technologies. Essentially, this means that you're no longer
limited to a single research category's tier 3 selections. Instead the
costs of research increase the more capstones you unlock. The current
cost increase for research is displayed on the console.

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


![image](https://github.com/user-attachments/assets/e65fa1ee-c849-489c-b690-f7ce8d98b678)

</p>
</details>

# Changelog

:cl:
- remove: Removed the "Tier 3 Tech Lockout" mechanic. You are no longer
limited to 1 discipline worth of t3 research.
- add: Research is now "Softcapped" by Tier 3 unlocks. Each unlocked
Tier 3 technology multiplicatively increases the cost of all other
research. Rushing a capstone can be quite expensive, as will be getting
multiple capstones. I hope you're glad that you can build more than one
prober now without guaranteeing the station will explode.

* Automatic Changelog Update (#1605)

* Fix Possible Loadout Related Crash (#1607)

# Description

Servers are occasionally experiencing roundstart crashes, and the logs I
received concerning this crash imply that LoadoutSystem is SOMEHOW being
handed a player character that doesn't actually exist. Well an easy
solution I guess is to just make LoadoutSystem check if the entity
*factually* exists, before attempting to apply a loadout to it.

# Changelog

:cl:
- fix: Possibly fixed a crash related to Loadouts being applied to
entities that don't exist.

* Automatic Changelog Update (#1607)

* Augustine Lawset (#1609)

# Description
New lawset, see media.


![image](https://github.com/user-attachments/assets/4a6bcb72-17df-416c-8c66-663107754b37)


---

# Changelog

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

:cl: Rane
- add: Added Augustine lawset as a middle ground between Asimov and
Crewsimov.

* Automatic Changelog Update (#1609)

* v240.1.0 (#1606)

it's an engine update folks

---------

Co-authored-by: Tobias Berger <toby@tobot.dev>

* Make CODEOWNERS (#1608)

maintainers get over here

---------

Signed-off-by: sleepyyapril <123355664+sleepyyapril@users.noreply.github.com>
Signed-off-by: Skubman <ba.fallaria@gmail.com>
Co-authored-by: Skubman <ba.fallaria@gmail.com>

* ATS V2 (#1612)

# Description

Howdy, y'all, I just wanted to give you a quick update on the ATS. I've
added the proper tiny fan, add snacks, and drinks vendors, and some
lighting.

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

![Example Media Embed](https://example.com/thisimageisntreal.png)
![Screenshot 2025-01-19
204215](https://github.com/user-attachments/assets/c81ad460-b9fe-461a-b2e7-713c78798c06)


</p>
</details>

---

# Changelog

:cl: Mike32oz
- add: ATS, light post, snacks/drinks vendors.
- tweak: ATS, tiny fan, convenient belt.
- remove: ATS, spawn-MobBear in the Maintenance room.

* Automatic Changelog Update (#1612)

* Modular Computers Part 2: Disk Burner (#1580)

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

This is **Part 2** of the Modular Computers system, adding the
functional player facing stuff- the modular computer itself, a way to
make and burn disks via the Disk Burner and a related research.

Also comes with some cleanup changes to fix parts of the system that
broke in testing.

---

# 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] Actually run through this thing when my laptop is out of battery
(everything worked except CONSTRUCTING the disk burner)
- [ ] Add disk burning delay, make it more intuitive? Maybe a guidebook
entry?

---

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

</p>
</details>

---

# Changelog

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

:cl:
- add: Added the Disk Burner, the Modular Computer as a board and a way
to make computer disks.

---------

Signed-off-by: sleepyyapril <123355664+sleepyyapril@users.noreply.github.com>
Signed-off-by: Eris <erisfiregamer1@gmail.com>
Signed-off-by: Eris <eris@erisws.com>
Co-authored-by: sleepyyapril <123355664+sleepyyapril@users.noreply.github.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>

* Automatic Changelog Update (#1580)

* Update CODEOWNERS (#1613)

* Mapping Mini-Wizmerge & New Central Command (#1610)

# 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 https://github.com/space-wizards/space-station-14/pull/32294
Ports https://github.com/ss14-harmony/ss14-harmony/pull/310 (and
everything needed for it to function)
Early-merges
https://github.com/space-wizards/space-station-14/pull/34302

Adds the ability for multiple central command maps that get randomly
selected.
Tested and works.

---

# Changelog

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

:cl: Several contributors
- add: Added a new central command map that is randomly picked alongside
the old one (thank you to Spanky from Harmony)
- add: Added Advanced SMES for mappers.
- add: Added the atmospheric network monitor for seeing what the
temperature, moles, and pressure is on every pipe everywhere through a
computer.
- add: Nukie med bundle now contains a compact defibrillator.
- add: Ported a better mapping editor.
- add: Added the throngler plushie.
- remove: Removed the Throngler as a possible loot spawn for gamble
crates.

---------

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

* Automatic Changelog Update (#1610)

* Update Credits (#1594)

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

Co-authored-by: SimpleStation Changelogs <SimpleStation14@users.noreply.github.com>
Co-authored-by: sleepyyapril <123355664+sleepyyapril@users.noreply.github.com>

* Fix Fent Zombies in Medbay (#1614)

(fix medbays making people go up/down if they speak)

# Changelog

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

:cl:
- fix: The medbay fent zombie epidemic is now fixed.

Co-authored-by: BarryNorfolk <barrynorfolkman@protonmail.com>

* Automatic Changelog Update (#1614)

* Psionics Registry Computer, PsiWatch, and Epi-Glasses/Epi-HUD (#1598)

# Description
This adds the wonderful `Psionics Registry Computer` which allows you
to, just like Criminal Records, mark people that will show their icons
to other individuals wearing the appropriate gear, and will allow you to
keep track of such individuals in a similar way by making a `PsiWatch`
app that will show the reasons.

For the purposes of easement, I've left the fingerprints and DNA in
there, but individuals will not show up with it in the actual file. The
game would just crash when I removed the filters, so I left them in. The
dropdown also just looked cleaner when it was there instead of removing
it and replacing it with a label.

I've recolored the sprites for the sec-glasses and sec-HUD to make the
epi-glasses and epi-HUD using Epistemics colors.
I've recolored the sprite for the CriminalRecords computer to look
different and be cool.

---

# TODO
A list of things I've done split into categories.

### Spriting
- [x] (Recolor) Sprite the epi-glasses and epi-HUD.
- [x] Sprite the PsionicsRecords computer screen.
- [x] Sprite the Psionics Status icons.
- [x] Change the sprite for the Psionics Abusing (it is hard to tell any
difference from suspected right now).

### Records
- [x] Set up records XAML that basically duplicates the Criminal
Records.
- [x] Remove History (not necessary).
- [x] Change all the naming schema to match.
- [x] Change the categories and setup reason-requirement for each
submission type.
- [x] Change the "reason" to "psionics" so it is more intuitive.

### Computer Setup
- [x] Setup computer to show UI.
- [x] Setup system to report to report to Epistemics (Science) radio
when anything is changed.
- [x] Setup the system to only accept Epistemics (Research) access.
- [x] Setup the computer board.
- [x] Setup the sprites for the computers.

### Equipment and Icons
- [x] Create the icons and ensure the ShowPsionicsRecordIcons prototype
works.
- [x] Create the entity prototypes for the glasses and HUD in the game
to show textures.
- [x] Set it up so the glasses and HUD show the user the icons when
they're wearing them (having hard time fixing this at 06:00 in the
morning).

### PDA App
- [x] Setup the PDA app to mimic the SecWatch app as its own (PsiWatch).
- [x] Add the PDA app cartridge to Chaplain, Mantis, Cataloguer, and
Mystagogue.
- [x] Add cartridge to the Mystagogue locker (so they can give others
it).

### Loadouts
- [x] Add the epi-HUD to the Chaplain, Mantis, Cataloguer and
Mystagogue.
- [x] Add the epi-glasses to the Mystagogue.
- [x] Add the epi-glasses to Chaplain, Mantis, and Cataloguer (for 3
points).

### Mapping
- [x] Add the Psionics Registry Computer to every map.

### Miscellaneous Fixes/Changes
- [x] Make the computer only work for Chaplain (Chapel), Cataloguer
(Library), Mantis (Mantis), and Mystagogue (ResearchDirector).
- [x] Fix Chaplain PDA (did not have any programs installed
automatically, now it does).

---

# Media
I will add more media when I finish the rest. For now, it's just us.

<details><summary><h3>Registry Working</h3></summary>
<p>


https://github.com/user-attachments/assets/f534a1b6-6873-4bcd-9fe5-c7138069ecc0

</p>
</details>
<details><summary><h3>Loadouts and PsiWatch</h3></summary>
<p>

Cataloguer

![image](https://github.com/user-attachments/assets/3a5c3b2c-13e8-470f-8ea7-cff828f03e8d)
Chaplain

![image](https://github.com/user-attachments/assets/35a1255c-9447-4aeb-b200-48f2d00782e1)
Mantis

![image](https://github.com/user-attachments/assets/155ac859-10fd-4233-a84d-31f8f32b2f71)
Mystagogue

![image](https://github.com/user-attachments/assets/ddfd178f-2d79-4e1f-9226-51352eb8c0c9)

---

No Users in PsiWatch

![image](https://github.com/user-attachments/assets/63186e30-8c04-409b-8478-eb6bc9006f5f)
Suspected in PsiWatch

![image](https://github.com/user-attachments/assets/e9009714-0ed5-496f-a836-04f01f9e13e8)
Registered in PsiWatch

![image](https://github.com/user-attachments/assets/5f565ec6-4f5f-4303-89cc-f9201de01568)
Abusing in PsiWatch

![image](https://github.com/user-attachments/assets/d2f623b4-f2fa-419b-9b3e-a77001aff8ae)
PsiWatch in PDA

![image](https://github.com/user-attachments/assets/262ffd2e-f798-41db-8e45-4b64613aac0d)
Picture of the PDAs and PsiWatch Cartridge

![image](https://github.com/user-attachments/assets/ed334e8d-6236-4252-82b8-327f59609751)

---

Mystagogue Lockers with PsiWatch Cartridge

![image](https://github.com/user-attachments/assets/e56cef9c-2d9e-46bb-87ca-3e6cd2c85240)

</p>
</details>
<details><summary><h3>Mapping Locations</h3></summary>
<p>

Arena

![image](https://github.com/user-attachments/assets/b24e997d-051d-4def-a28c-dc1029566f0d)
Asterisk

![image](https://github.com/user-attachments/assets/6e2faf02-350e-4608-b629-c402d8c2a0fc)
Core

![image](https://github.com/user-attachments/assets/0d43e3a0-36c2-4c51-9745-d2a4e1d70217)
Edge

![image](https://github.com/user-attachments/assets/478180e2-e63a-4d9a-bf13-365b2648778b)
Europa

![image](https://github.com/user-attachments/assets/a385fc48-016e-40bd-8dbc-dc3904b62f05)
Gaxstation

![image](https://github.com/user-attachments/assets/207c267b-bf01-4ba5-b829-034ad26d48ef)
Glacier

![image](https://github.com/user-attachments/assets/2432840a-2ecc-4957-b82e-ed8406453fbc)
Hive

![image](https://github.com/user-attachments/assets/d03ec8a0-de82-4f0f-af90-3bb3e76c1ff7)
Lighthouse

![image](https://github.com/user-attachments/assets/3a6b8cc0-5692-4e12-a90f-8d0427469cd5)
Meta

![image](https://github.com/user-attachments/assets/c8092fd1-a2cb-4b07-966c-c13a673f16ac)
Pebble

![image](https://github.com/user-attachments/assets/084d76a1-b458-4693-a22e-3787a00f69fd)
Radstation

![image](https://github.com/user-attachments/assets/a98b48dc-70e3-429c-b2f5-99ba2a5f194a)
Saltern

![image](https://github.com/user-attachments/assets/b7e52f6f-8d55-476f-9991-de72c559fc16)
Shoukou

![image](https://github.com/user-attachments/assets/2495e13f-f07a-414d-993e-7e29e48c7f9c)
Submarine

![image](https://github.com/user-attachments/assets/08a92a84-513f-40d2-8ed3-313189805838)
Tortuga

![image](https://github.com/user-attachments/assets/0009b512-ff07-4d17-8825-71a182cb67dc)

</p>
</details>

---

# Changelog
:cl:
- add: Added Psionics Registry Computer. Now you can record Psionics
users in Epistemics.
- add: Added epi-glasses and epi-HUD to see Psionics Users icons.
(Chaplain, Cataloguer, Mantis, and Mystagogue have access in loadout).
- add: Added PsiWatch. Now you can see the Psionics Records data on your
PDA!
- fix: Fixed Chaplain not having any programs in their PDA on spawn.

---------

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

* Automatic Changelog Update (#1598)

* Update Redshirt Trait Description (#1616)

# Changelog

:cl:
- tweak: Made the Redshirt trait's description say what it does

Signed-off-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>

* Automatic Changelog Update (#1616)

* BSO Changes - Headset and MedTek (#1617)

# Description
This gives the Blueshield Officer a Central Command Headset and gives
them MedTek as well (by giving ERT Leader MedTek).

The Blueshield Officer should have access to a Central Command Headset
to communicate with the other Dignitaries (NTR and MAG) and to
communicate with Central Command if they are the only acting Dignitary
as well.

The Blueshield Officer should have access to MedTek since they already
have access to their sunglasses so that they can check the injuries of
an injured command without needing a health analyzer.

---

# Changelog
:cl:
- add: Added MedTek to Blushield Officer PDA.
- tweak: Blueshield Officer now has a Central Command Headset instead of
an All-Access Command Headset.

* Automatic Changelog Update (#1617)

* Supermatter Fixes (#1618)

# Description

Supermatter was essentially interacting with atmos about 20 to 60 times
faster than the atmos system was doing its own calculations, since *at
least some of atmos* is differentiated with respect to time, whereas
Supermatter was not. Thus supermatter was updating atmos fully every
single tick, whereas elsewhere these variables were being divided by the
delta time(multiply by Update(frameTime)). You can think of these
equations as, "How much it is modified per unit of time", and
multiplying by frameTime is the same as making it, "Per second".

This should rather dramatically cut down on the problem Supermatter has
where its seemingly going to explode every single round if even the
tiniest thing goes wrong, and that nothing you could do could save it if
it catches fire.

# Changelog

:cl:
- fix: Fixed the Supermatter engine math so that it actually respects
the server's tickrate. It should now be SIGNIFICANTLY less likely to
enter a plasma fire death spiral. If it does catch fire, just make sure
coolant is being pumped into the engine, and start blasting it with a
fire extinguisher.

* Automatic Changelog Update (#1618)

* Show Puddles and Footsteps in Context Menu (#1620)

for our janitors

:cl:
- tweak: Tweaked puddles and footsteps to be able to see them in context
menu.

---------

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

* Automatic Changelog Update (#1620)

* Newtonian Singularity (#1619)

# Description

By request from the very same person who assisted with
https://github.com/Simple-Station/Einstein-Engines/pull/1618
This PR ports(and fixes)
https://github.com/space-wizards/space-station-14/pull/23372 such that
it works on modern Robust Toolbox.

This PR essentially makes it so that the Singularity (And Tesla by
extension) inherit some of the momentum of objects thrown into them. Im
practice it means that they now work more like they do in SS13, whereby
if a traitor does not actively intervene in a Singuloose(such as by
using a Singularity Beacon), the singularity will usually be "Blown back
into space" by space wind throwing objects at it in retaliation to it
eating engineering.

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


https://github.com/user-attachments/assets/04e9e5b9-d873-4425-b19a-b854b57db486

</p>
</details>

# Changelog

:cl:
- add: Singularity and Tesla are now affected by objects thrown into
them, causing them to change directions. Unless a traitor intervenes
(with a Singularity Beacon), a "Singuloose" is extremely likely to be
blown out to space.

---------

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

* Automatic Changelog Update (#1619)

* Yet Another "OnPlayerSpawn" Crash Fix Attempt (#1621)

There absolutely should not be something deleting the player characters
when starting a round.

---------

Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>

* Use System (#1622)

yes this is a system

i dont know why it's not better named

* Kill Mana (#1623)

it is genuinely so bad

:cl:
- remove: Remove mana.

* Automatic Changelog Update (#1623)

* Only Use Roundstart Species for RandomHumanoid (#1624)

it will no longer choose vox or lamia.

* Update MacOS Logo (#1625)

# Description

Updated the MacOS logo to the EE one.

Also, the base logo was 256x258, which caused me physical distress, so I
fixed that too.

# Changelog

None

* Revert "Update MacOS Logo (#1625)" (#1628)

This reverts commit 881ae3be0ad5e0c8f1311738b12ebd1e142f4c82.

not a valid png

* Gladiabot (#1548)

Co-authored-by: stellar-novas <stellar_novas@riseup.net>
Co-authored-by: RedFoxIV <38788538+RedFoxIV@users.noreply.github.com>

* Automatic Changelog Update (#1548)

* Update MacOS Logo (#1629)

This is the same as #1625, but it doesn't use symlinks, which are broken
on Windows.

# Changelog

None

* Loadouts Item Failed to Spawn Check (#1630)

* Harpy Displacement Map (#1633)

# Description

Adds a displacement map for Harpies so that they can now wear pants.

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


![image](https://github.com/user-attachments/assets/265fdbc2-66ff-4dfb-a55f-16baf946e4a2)

</p>
</details>

---

# Changelog

:cl:
- add: Harpies can now wear pants, and have a displacement map to make
them look less terrible when doing so.

* Automatic Changelog Update (#1633)

* Engine Update v240.1.3 (#1634)

* v240.1.2 (#1636)

accidentally used sourcegen

* Hotfix AI Being Eaten by Singulo (#1637)

ports #31556

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>

* Goob Mechs (#1611)

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

We like mechs here, yeah?

---

# Changelog

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

:cl: Mocho, John Space
- tweak: The H.O.N.K. has received an airtight cabin for honk operations
in outer space.
- add: Added the Ripley MK-II, a heavy, slow all-purpose mech, featuring
a pressurized cabin for space operations.
- add: Added the Clarke, A fast moving mech for space travel, with built
in thrusters (not certain if they work properly though :trollface:)
- add: Added the Gygax, a lightly armored and highly mobile mech with
enough force to rip walls, or someone's head off.
- add: Added the Durand, a slow but beefy combat suit that you dont want
to fight in close quarters.
- add: Added the Marauder, a specialized mech issued to ERT operatives.
- add: Added the Seraph, a specialized combat suit issued to ???
operatives.
- add: The syndicate has started issuing units under the codenames "Dark
Gygax" and "Mauler" to syndicate agents at an introductory price.
- add: The exosuit fabricator can now be emagged to reveal new recipes.
- add: There are 4 new bounties cargo can fulfill for mechs. Feedback on
the cost/reward is welcome!

---------

Signed-off-by: sleepyyapril <123355664+sleepyyapril@users.noreply.github.com>
Co-authored-by: John Space <bigdumb421@gmail.com>
Co-authored-by: gluesniffler <159397573+gluesniffler@users.noreply.github.com>
Co-authored-by: ScyronX <166930367+ScyronX@users.noreply.github.com>

* Automatic Changelog Update (#1611)

* Fix Gun Contests (#1638)

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

* Fix RoundLevel Test Fail (#1635)

* 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 `:cl:` to change the name that appears
in the changelog (ex: `:cl: Death`)
Leaving it blank will default to your GitHub display name
This includes all available types for the changelog
-->

:cl:
- 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)

* Remove Gamerule Count Test  (#1639)

* Automatic Changelog Update (#1626)

* Adds Veterancy Weapons to Sec, Removes Ion (Broken), Fixes Cutlass Sp… (#1599)

# Description

Adds some more expensive weapons to security which eat up more value.
idea from [goob
MRP](https://discord.com/channels/1323488536501944350/1330495398137298975)

---

# Changelog

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

:cl:
- add: Added 2 new security loadout items
- tweak: Tweaked BSO's ammo
- fix: Fixed energy cutlass sprite
- remove: Removed broken Ion component

---------

Co-authored-by: sleepyyapril <123355664+sleepyyapril@users.noreply.github.com>

* Automatic Changelog Update (#1599)

* Box Station For EE (#1615)

# Description
Howdy, y'all, I apologize for the delay, but I've finally completed the
Box Station for EE. I've added a few things, including the supermatter
crystal (SM) with the thermal-electric generator (TEG) near the Atmos
Department TEG-KIT. I've also added all the job spawn points that were
available for now: NanotrasenRepresentative, BlueshieldOfficer,
Magistrate, AdministrativeAssistant, SeniorEngineer, SeniorPhysician,
SeniorResearcher, SeniorOfficer, MailCarrier, ForensicMantis,
Roboticist, MailCarrier, Reporter, StationAI, and MedicalBorg. Finally,
I added holopads in all departments with AI upload (all law circuit
boards).




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

![Screenshot 2025-01-20
075641](https://github.com/user-attachments/assets/b41d0518-5bd8-48fd-ab7f-fcd3b4b8a585)
![Screenshot 2025-01-20
075630](https://github.com/user-attachments/assets/725d5af0-c238-4da3-8e8d-3944b1ecbbc3)
![Screenshot 2025-01-20
075617](https://github.com/user-attachments/assets/80e7c6f4-52b6-4754-80af-a4a1f9cafdf7)
![Screenshot 2025-01-20
075606](https://github.com/user-attachments/assets/e92b4c84-88e8-4aca-8f19-f1970406eeac)
![Screenshot 2025-01-20
075558](https://github.com/user-attachments/assets/fdbb4277-2982-4c77-81b2-73a7ee335340)
![Screenshot 2025-01-20
075552](https://github.com/user-attachments/assets/b298326e-132c-42c0-abce-3259a6d589b6)
![Screenshot 2025-01-20
075546](https://github.com/user-attachments/assets/66cda318-167f-4728-8e8c-e273f108bcbd)
![Screenshot 2025-01-20
075541](https://github.com/user-attachments/assets/22a586c8-7205-4caf-b87f-a55361c87015)
![Screenshot 2025-01-20
075535](https://github.com/user-attachments/assets/3413741d-574a-45ab-aba0-5c5bb8b315ee)
![Screenshot 2025-01-20
075521](https://github.com/user-attachments/assets/13dd5158-1956-4a16-b780-79a8b06e8efe)
![Screenshot 2025-01-20
075511](https://github.com/user-attachments/assets/efd8bd4a-8ddc-4c75-83fb-d20927f13487)
![Screenshot 2025-01-20
075505](https://github.com/user-attachments/assets/ccfb7557-dc62-4437-8472-3277973c9951)
![Screenshot 2025-01-20
075455](https://github.com/user-attachments/assets/6dd6b99b-c060-4fb8-b8d8-e7b007997f0e)
![Screenshot 2025-01-20
075449](https://github.com/user-attachments/assets/156f21d7-2856-48d0-b151-5b11d7d2f772)
![Screenshot 2025-01-20
075445](https://github.com/user-attachments/assets/2b30ddb3-1a9a-44b4-b57c-c3a6bc0deb33)
![Screenshot 2025-01-20
075433](https://github.com/user-attachments/assets/e0b22201-9cc7-48a0-abb2-da8a2b35673b)
![Screenshot 2025-01-20
075423](https://github.com/user-attachments/assets/4f2eb824-a9b1-4823-8215-361ee5d51240)
![Screenshot 2025-01-20
075400](https://github.com/user-attachments/assets/6dedfd3b-bb9d-418d-8138-dc42bb9edf80)
![Screenshot 2025-01-20
075339](https://github.com/user-attachments/assets/5b786512-7005-4a7e-b356-407734cee759)
![Screenshot 2025-01-20
075320](https://github.com/user-attachments/assets/0e6ecf0b-1a79-429e-96a0-ff9ba9185644)
![Screenshot 2025-01-20
075308](https://github.com/user-attachments/assets/e9954ada-ac51-4696-ae05-72a6bb6aac86)
![Screenshot 2025-01-20
044511](https://github.com/user-attachments/assets/b10ee8fd-9989-433a-be58-96e361e3f284)
![Screenshot 2025-01-20
044343](https://github.com/user-attachments/assets/9fcf6d20-c9ee-44d9-83e5-a2708fee750c)


</p>
</details>

---

# Changelog

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

:cl: Mike32oz
- add: Box Station, supermatter crystal, holopads, and Thermal-electric
generator.
- tweak: Box Station, Engineer, Medical, Epistemics, Cargo, Security,
and Service Departments.
- remove: Box Station, Particle Accelerator Room in Engineer
Departments.

---------

Signed-off-by: sleepyyapril <123355664+sleepyyapril@users.noreply.github.com>
Co-authored-by: stellar-novas <stellar_novas@riseup.net>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: sleepyyapril <123355664+sleepyyapril@users.noreply.github.com>

* Automatic Changelog Update (#1615)

* Add MathNet.Numerics To The Project (#1641)

# Description

The documentation for it can be found here:
https://numerics.mathdotnet.com/api/MathNet.Numerics/index.htm
This adds an entire massive library of academic/scientific/engineering
math functions.

I basically need this going forwards to start comprehensively fixing
this game's terrible math.

# Changelog
Not player facing, but it deserves to be here:

:cl:
- add: (For Developers): Added the MathNet.Numerics library. It contains
a great number of scientific and engineering math related functions. For
more information, its documentation can be found here,
https://numerics.mathdotnet.com/api/MathNet.Numerics/index.htm

* Automatic Changelog Update (#1641)

* Update SupermatterSystem.Processing.cs (#1642)

# Description

Mirror of a bugfix from
https://github.com/Goob-Station/Goob-Station/pull/1469

* MathNet.Numerics Apparently Needed To Be In Server And Client Too (#1643)

Whoops. To be fair it's my first time adding something like this to a
project. :)

* Better Progress Bar (#1648)

# Description

DoAfter progress bar like in ss13 forks.

---


![2025-01-24_01-04_2](https://github.com/user-attachments/assets/df524426-cecd-4a32-a3b3-f588f11684b1)

![2025-01-24_01-03](https://github.com/user-attachments/assets/62dcb13a-4259-4980-8aa2-87de6e77a226)

![2025-01-24_01-04](https://github.com/user-attachments/assets/493c0c54-4225-40c9-8518-4da613bb2e12)

---

# Changelog

Fuck it, no need this, im not a contributor.

---------

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

* Removes Asphyxiation From Lamia in Favor of Pierce/Poison (#1645)

# Description

The asphyxiation damage was extremely temporary and it took less than a
cycle to get it healed up. In the current stage where you can't strangle
someone, this kind of damage is irrelevant.

Thus I have moved the 2 points of asphyx equaly to piercing and poison
instead, making the lamia melee feel a bit stronger.

---

# Changelog

:cl:
- tweak: Tweaked lamia bite

* Automatic Changelog Update (#1645)

* Change Time Requirements for Command Positions & Mystagogue (#1649)

# Description
Normalizes the time requirements for some of the command positions,
specifically the `Logistics Officer`, `Chief Engineer`, `Chief Medical
Officer`, and `Mystagogue`.

The Logistics Officer has too much overall time requirement. 40 hours
compared to other positions that only have 30 and 25? Lowered it.
The Chief Engineer and CMO have their times raised since Chief Engineer
should know more and CMO now has Surgery that they should know and be
familiar with as well.
The Mystagogue should have a slightly higher time requirement with
Psionics and should also be required to be a Mantis and Cataloguer for a
minimum of 5 hours so they know how their innate abilities and how to
deal with Psionics.

---

# Changelog
:cl:
- tweak: Logistics Officer now has 30 hours instead of 40 hours of time
requirement overall.
- tweak: Chief Engineer and CMO have 25 hours instead of 30 hours of
time requirement.
- tweak: Mystagogue now has 5 hours of time requirement as Mantis and
Cataloguer.

* Automatic Changelog Update (#1649)

* HideSpawnMenu Harpy Dummy (#1651)

fuc u tcj

---------

Signed-off-by: Aiden <aiden@djkraz.com>

* Port Stunbot and Disablerbot From Floofstation PR (#1631)

Taken from: https://github.com/Fansana/floofstation1/pull/501

<!--
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 the Batonbot and the Disablerbot. Both of these will idle around
until they encounter hostile wildlife, such as angry slimes, and will
then liberally apply their respective weapon until the threat is no
more.

The Batonbot has a weakened version of the Baton, applying 15 less
Stamins damage and only 4 burn damage
The Disablerbot uses the SMG Disabler bullet with a significant spread
at a fire rate of 1
This means that both of them are less powerful than a normal baton or
disabler.

They are built with:
- Proximity Sensor
- Security Helmet
- Stunbaton/Disabler
As such requiring co-operation from Security to construct.

Also included are Spawners, for if we want them on stations on
round-start.

The recipes necessitated a few new tags, which have been marked with #
Floofstation, along with the reason they were added to the entities.

---

<!--
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/8e6c9861-004c-4138-abcc-f0fe203ed9d0



https://github.com/user-attachments/assets/7c7cd08d-3c8e-4896-8f25-ce8cd5a4fb0e



</p>
</details>

---

# Changelog

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

:cl: Timfa
- add: Add Batonbot
- add: Add Disablerbot

---------

Co-authored-by: stellar-novas <stellar_novas@riseup.net>

* Automatic Changelog Update (#1631)

* MODsuits (Port From Goob #1242) (#1640)

# Description

Ports MODsuits from Goobstation PR
https://github.com/Goob-Station/Goob-Station/pull/1242. The PR author
has confirmed that he is okay with me doing this.

---

# TODO

- [X] Port in sprites
- [x] Port in YMLs
- [X] Port code
- [x] Port code PATCHES
- [x] Update EE with required fixes

---

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

## Modsuit crafting


https://github.com/user-attachments/assets/8ff03d3a-0fc1-4818-b710-bfc43f0e2a68

## Modsuit sealing


https://github.com/user-attachments/assets/6671459a-7767-499b-8678-062fc1db7134

</p>
</details>

---

# Changelog

:cl:
- add: Modsuits have been ported from Goobstation!

---------

Signed-off-by: Eris <erisfiregamer1@gmail.com>
Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>

* Automatic Changelog Update (#1640)

* ChemMaster Improvements (#1650)

Hate having to use the same buffer for pills? Want sorting and container
solutions for output? No need to wait _any_ longer! A brand new pill
buffer, a sort feature _for_ the new pill buffer **and** you have your
amount buttons back!

Showcase:
https://ptb.discord.com/channels/1218698320155906090/1218698321053356060/1332224976803074123

:cl:
- add: A new ChemMaster experience has been granted to the people of
Einstein Engines. Includes a pill buffer!

* Automatic Changelog Update (#1650)

* Hardsuits Fire Protection (#1445)

# Description

I have incredibly vivid memories from SS13 over a decade ago. In
particular, every time the Supermatter delaminated, one of the Engineers
would inevitably end up heroically sacrificing themself by walking
directly into the supermatter core in order to drag the crystal to
space. This was made only possible because the engineering suits made
you immune to fire damage. It's currently not possible for engineers to
do this, since fire damage is ABSURD, and having an 80% reduction to 400
damage per second is still death in less than 3 seconds.

So this PR corrects the injustice. Now the chief engineer gets to
heroically sacrifice himself by dragging the supermatter crystal out to
space.

# Changelog

:cl:
- add: Engineering Hardsuits, Maxim Hardsuit, and Cybersun's Elite
Tacsuit now all make the wearer immune to atmos fires. Have fun walking
directly into the supermatter engine. Play out your heroic engineer
fantasy by dragging the supermatter crystal to space in order to save
the station.

---------

Co-authored-by: sleepyyapril <123355664+sleepyyapril@users.noreply.github.com>

* Automatic Changelog Update (#1445)

* [Port] Playing Cards (#1451)

# Description


This ports Playing Cards from:
Estacao Pirata...
Frontier...
and GoobStation...

More specifically, ports
https://github.com/Goob-Station/Goob-Station/pull/1215 and
https://github.com/Goob-Station/Goob-Station/pull/1311 sequentially.

In short...
 - Adds 3 skins of the playing cards: Nanotrasen, Syndicate, and Black.
- NT can be obtained as an item in your loadout but is locked behind a
command job.
 - Syndicate can be obtained as a pointless item in the uplink for 1 TC.
- Black can be obtained both as an item in your loadout and from the
Games Vendor.

---

# TODO before review

<!--
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] De-namespace all of (_)EstacaoPirata? (not required, it is an EE
fork)
- [X] **_TO MAINTAINERS/CONTRIBS, NEED YOUR INPUT!!!_**: See
`Content.Client/Inventory/StrippableBoundUserInterface.cs:220`'s "DRAFT
TODO". Basically its me asking how to involve the thieving trait in the
omission of the playing cards in the strip menu. Currently, it does not
take into account the trait and simply obscures. (prolly dont take the
trait into account, obscure regardless)
- [X] Figure out what to do with the Nanotrasen deck variant: should it
remain free like the black deck or restricted like the syndicate? Locked
behind any command job? (prolly this)
- [X] Get media actually filled in

---

<!--
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/66c94a1d-4389-4a65-a547-c11c54efac42)

</p>
</details>

---

# Changelog

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

:cl:
- add: Playing Cards. You may get one in the Games Vendor or as an item
in your loadout.

---------

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

* Automatic Changelog Update (#1451)

* Try Fix Loadouts, Again (#1652)

more than likely this is just because of invalid loadouts

* Chitinid (From Delta-V) (#1644)

port https://github.com/DeltaV-Station/Delta-v/pull/2707 (with
permission)

:cl: ElusiveCoin
- add: Added a new species, the Chitinid.

---------

Signed-off-by: sleepyyapril <123355664+sleepyyapril@users.noreply.github.com>
Co-authored-by: ElusiveCoin <elusivecoin@gmail.com>
Co-authored-by: rosieposie <52761126+rosieposieeee@users.noreply.github.com>
Co-authored-by: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com>
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>

* Automatic Changelog Update (#1644)

* Change "Kill" To "Teach a Lesson" (#1654)

better for MRP
this code is originally by me anyway, they just made it better

:cl:
- tweak: Kill random person objective has been replaced by teaching them
a lesson, removing the need to RR a random person.

---------

Signed-off-by: sleepyyapril <123355664+sleepyyapril@users.noreply.github.com>
Co-authored-by: Lyndomen <49795619+Lyndomen@users.noreply.github.com>
Co-authored-by: Milon <milonpl.git@proton.me>
Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>

* Automatic Changelog Update (#1654)

* Fix Melee Attack Speed Again (#1653)

# Description

Melee Weapons were accidentally given the wrong attack speed formula
again. It took me awhile of reviewing the entire history, but eventually
I found the line where the wizmerge introduced a new check that used the
old formula.

Also to help prevent this from happening again, I've put in a request to
be set as codeowner for the relevant systems I have significantly
modified.

# Changelog

:cl:
- fix: Fixed melee weapons having the wrong attack speed
calculations(again)

* Automatic Changelog Update (#1653)

* New Species: Plasmaman (#1291)

# Description

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

## Species Guidebook

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

**SPECIAL:**

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

## Shitmed Integration

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

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


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

## Technical Details

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

## TODO

### RELEASE-NECESSARY

<details>

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

</details>

### Low Importance

<details>

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

</details>

## Media

**Custom Plasmaman Outfits**

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

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

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

**Plasmaman Melee Attack**


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

**Chat bubble**

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

**Plasmaman Body**

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

With different colors:

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

**Skeleton Language**


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

**(Bonus) Skeleton chat bubble**

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

**Self-Extinguish**


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

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

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

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

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

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

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

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


**Envirosuit Extinguisher Refill**

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

**Loadouts**

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

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

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

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

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

**Glow In The Dark**

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


## Changelog

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

---------

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

* Automatic Changelog Update (#1291)

* Don't Assume Sessions Are Real (#1655)

# Description

This system was just blindly assuming a session couldn't be null without
proving it wasn't, and two different functions both incorrectly made
this assumption. I have no idea how the hell they managed to sneak it
past the compiler's null reference test.

* Hotfix for Disk Burner Examine (#1656)

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

Had an aneurysm seeing this live on arcadis and webedited a fix. Fixes
an issue on examining a disk burner without a board.

---

# Changelog

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

no

Signed-off-by: Eris <erisfiregamer1@gmail.com>

* Better Teach Lesson Code (#1657)

# Description

Thanks to Router for pointing out we can actually reuse code that is
apparently just always running exclusively on player characters. So it
turns out that this game actually has a system for tracking who the
killer is. We can skip enumeration outright if the killer was the one
who downed the player. There's still BETTER ways to do this, like
subscribing to KillReportedEvent instead of MobStateChanged, but I'm a
bit too zonked out to pursue that right now.

* Tajara (#1647)

# Description

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

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

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

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

---

# TODO

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

---

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

In captain attire

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

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

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

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

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

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

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

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

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

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


</p>
</details>

---

# Changelog

:cl:
- add: Added Tajara and related content

---------

Signed-off-by: SX-7 <92227810+SX-7@users.noreply.github.com>
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: sleepyyapril <123355664+sleepyyapril@users.noreply.github.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>

* Automatic Changelog Update (#1647)

* Markings Port Wave 1 (#1658)

# Description

Added a ton of markings to the game, ported from other codebases:

- All Goob LRP hairstyles
- Wizden hairstyles (including Pulato
https://github.com/space-wizards/space-station-14/pull/34117, Shaped and
Long Bow https://github.com/space-wizards/space-station-14/pull/31010)
- `HumanHairClassicLong2` and `HumanHairClassicLong3` have been
upstreamed from DV to Wizden so I'm doing the same here.
https://github.com/space-wizards/space-station-14/pull/30963
- Iron Jaw face augmentation from Adventure Time
- Adventure Time hairstyles and facial hair
- Some Corvax hairstyles and facial hair
- IPC wings (https://github.com/Goob-Station/Goob-Station/pull/1145)
- Plasmaman wings (from SimpleStation14)
- _B-b-b-but they get set on fire by oxyg-_ Counterpoint: Plasmamen with
wings look cool as heck.

Also cherry-picked
https://github.com/space-wizards/space-station-14/pull/30786 and
https://github.com/space-wizards/space-station-14/pull/30852.

I was initially going to include new Oni markings like horns, ears and
tails from Adventure Time here but due to what I think is quality issues
with some of them I've postponed adding them until I have the time to
correct them. I gotta put out the markings I can put out now cause I
know everyone's gonna want to immediately upstream merge all the other
content we've added today.

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

**Pulato (from Wizden) + Iron Jaw (from Adventure Time)**


![image](https://github.com/user-attachments/assets/71251ef6-394f-4f7e-bd23-6d66248b3cb4)

**Side Comb + Beard (Short) (all from Adventure Time)**


![image](https://github.com/user-attachments/assets/34d3427b-edef-4abc-8d19-b883a24e663f)

**Front Braids (Medium) (from Goob LRP) + Gauze Head Wrap (from
Wizden)**


![image](https://github.com/user-attachments/assets/da7f26ac-53bb-4985-84a3-09759ce37500)

**IPC Wings (from SimpleStation) + Long Pompadour (from Goob LRP) +
Moustache (Handlebar 2) (from Corvax)**

<img width=394px
src="https://github.com/user-attachments/assets/13ea3638-d9b8-4470-88b5-7b91ef671ded">
<img width=290px
src="https://github.com/user-attachments/assets/c116ce27-d19f-49af-878c-75fb9f8b354b">

**Plasmaman Wings (from SimpleStation)**

<img width=278px
src="https://github.com/user-attachments/assets/82a767f2-cbe0-4f40-b585-4f496fafe51d">
<img width=250px
src="https://github.com/user-attachments/assets/bee96e6d-c105-46ac-8a1e-dd103af145b9">

</p>
</details>

# Changelog

:cl: Skubman
- add: New hairstyles have arrived, in…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A: Engineering Area: Engineering department, including Atmospherics. Changes: Atmospherics Code Changes: Might require knowledge of atmospherics code & calculations. Changes: Sprites Changes: Might require knowledge of spriting or visual design. Changes: UI Changes: Might require knowledge of UI design or code. D2: Medium Difficulty: A good amount of codebase knowledge required. P2: Raised Priority: Item has a raised priority, indicating it might get increased maintainer attention. S: Approved Status: Reviewed and approved by at least one maintainer; a PR may require another approval. S: Needs Review Status: Requires additional reviews before being fully accepted size/XL Denotes a PR that changes 5000+ lines. T: New Feature Type: New feature or content, or extending existing content T: UI / UX Improvement Type: UI and player facing interactive graphical interfaces
Projects
None yet
Development

Successfully merging this pull request may close these issues.