Commit Graph

164 Commits

Author SHA1 Message Date
Leon Friedrich
7046d80f16 Hide role entities in the spawn menu (#32798)
(cherry picked from commit 2d60a4684c771b350d9c3c0dab794aa21de624e5)
2025-07-20 20:36:57 +10:00
TemporalOroboros
de0001f725 Relocate TemperatureProtectionComponent (#30437)
Moves it from the atmos module to the temperature module where it is actually used.

(cherry picked from commit bea8c1a0b8b9c9915657ecaeafcac8b8eb31ebd7)
2025-07-18 20:08:26 +10:00
Kara
0e9ac91ed3 Resolve 'EntitySystem.Get<T>()' is obsolete in content (#27936)
* PROJECT 0 WARNINGS: Resolve `'EntitySystem.Get<T>()' is obsolete` in content

* pass entman

* dog ass test

* webeditor

(cherry picked from commit 993eef1e7c22b2b79e528967ef5bb669f50236b1)
2025-07-12 01:31:53 +10:00
Gersoon
908e0ab9cd MakeRespriteGreatAgainPart1 (#644)
* UltraMegaCommit

* Fix1

* Fix2

* Fix3

* Update monotile_frame.yml

* Fix4

* Fix5
2025-06-28 11:30:19 +03:00
vanx
1d953e0928 [Fix] FIREEEEEEEEE (#594)
* wow much fire

* drop children (in code)

* fix

* oops

* fix

* TemperatureProtection

* Update Resources/Prototypes/_White/Body/Parts/resomi.yml

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

---------

Co-authored-by: vanx <discord@vanxxxx>
Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>
2025-06-19 19:53:51 +03:00
Spatison
672f9d7ec6 [Revert] Magboots Refactor (#495)
* Revert "Magboots Refactor (#2273)"

This reverts commit b9e2c6f34d.

* revert speedboots fix

* no more modify stun time on magboots

* Revert "Stop Ectoplasms Complaining (#2245)"

This reverts commit ee5bc2b261.

* Revert "The Magmantle! (#2295)"

This reverts commit 581088f3

* Revert "Integrated Jetpacks For Syndicate Modsuits (#2300)"

This reverts commit 5ee67e380b.
2025-05-17 14:27:53 +03:00
Remuchi
1e363c7346 Revert "Merge pull request #462 from WWhiteDreamProject/revert-460-upstream"
This reverts commit 092dba42e5, reversing
changes made to e6315c2320.
2025-04-20 11:15:45 +07:00
DVONIKS
6c19771020 Revert "Upstream 04.04-18.04" 2025-04-20 06:34:09 +03:00
VMSolidus
ee5bc2b261 Stop Ectoplasms Complaining (#2245)
# Description

This PR adds a mechanic to various hardsuits and tacsuits, which can now
include optional features such as Integrated Thrusters, or Integrated
Magboots. All the syndicate tacsuits and "Advanced" crew tacsuits have
both. Hardsuits typically have one or the other, rarely both. Vacsuits
never have either, get a jetpack nerd.

While I was at it, I fixed various bugs making these features obnoxious
to interact with, such as hardsuits helmet toggles not showing the
helmet, or turning on your integrated magboots also causing you to start
sucking the air out of your integrated thrusters.

Finally to address players incessantly complaining that "waaah space
wind is too unfair it keeps me in the air too long", I lowered the
maximum time player characters can go without being updated by space
wind to 1 second, down from 2. Base items are untouched, so they'll
remain in the air as per normal.

# Changelog

🆑
- add: Added "Integrated Thrusters" and "Integrated Magboots" as
features that hardsuits and tacsuits can sometimes have. Hardsuits
rarely have both, and sometimes have neither, while the more "Advanced"
Tacsuits such as the CSA series of suits will always have both.
- tweak: Reduced the maximum amount of time player characters can remain
in the air without being touched by space wind again to 1 second, down
from 2. This does nothing if you're actively being thrown.
- fix: Fixed a bug where the hardsuit action to toggle your helmet
wasn't displaying the helmet icon.

(cherry picked from commit b6be634252745fa61e3db3094d94c7f3c234a094)
2025-04-18 19:47:45 +03:00
VMSolidus
af499da8af Last Bugfixes For Space Wind (#2089)
# Description

This PR fixes all remaining bugs with Space Wind, while providing
extremely significant performance improvements by way of aggressive
early exits, and also completely reworking how pressure moved entities
are tracked(The server now caches entities under active air movements).
I haven't profiled it yet, but the performance improvements are
extremely noticeable on the machine I'm running in comparison to before,
which is particularly noteworthy since previous versions of space wind
caused significant frame drops in testing on my monster rig. While this
new update to space wind straight up doesn't even budge the tickrate on
my machine anymore.

I had to also rip out some of Monstermos' Guts, and deprecate the
tileripping system. In the future, Tile-ripping will be handled by MAS.
Also, MAS outright no longer requires Monstermos to work, and can
operate entirely off of the much cheaper LINDA system. However, while
LINDA is cheaper, Monstermos is needed for handling "Extra violent air".

Eventually I can do away with Monstermos entirely, and have it replaced
with an airflow system that outright does not require pathfinding
algorithms.

# Changelog

🆑
- fix: Fixed a bug where items thrown by space wind could remain in air
for as long as 500 seconds. Items thrown by space wind can now remain in
the air for a maximum of 2 seconds past the last time they were thrown.
- fix: DRAMATICALLY IMPROVED SPACE WIND PERFORMANCE.
- tweak: ShowAtmos command now shows vectors representing the exact
direction space wind at a given tile is trying to throw objects! The
length of the lines shown directly correspond to how powerful the flow
of air is at that tile. Shorter lines = shorter throws. Longer lines =
more powerful throws. These are also no longer restricted to compass
directions, and can point in arbitrarily any direction on a circle.
- tweak: Space Wind now no longer has Monstermos as a hard requirement.
It'll be as weak as a toddler without it, but if you're running your
server on a toaster, you can turn off Monstermos and still have working
space wind.
- tweak: Wreckages in space are now never airtight. I'm sorry, but this
was basically the cost I had to pay in exchange for making Atmos no
longer even on the top 20 systems for server tickrate cost.

(cherry picked from commit 2fcc806423a259fd75977b78350c2232a823739b)
2025-03-29 16:45:43 +03:00
Spatison
a3a8c195e5 Upstream 09.03-15.03 (#349)
* Trait Cost Balancing (#1906)

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

Makes a lot of disabilities give more points (based off community and
personal opinions), and makes some very strong traits cost more points.

# Changelog

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

🆑
- tweak: Narcolepsy gives 6 points instead of 2
- tweak: Pacifist gives 8 points instead of 6
- tweak: Muted gives 6 points instead of 4
- tweak: Sluggish gives 5 points instead of 3
- tweak: Snail Paced gives 8 points instead of 5
- tweak: Blood Deficiency gives 6 points instead of 5
- tweak: Hemophilia gives 4 points instead of 2
- tweak: Clumsy gives 4 points instead of 1
- tweak: Bad knees gives 5 points instead of 3
- tweak: Will to live costs 3 points instead of 1
- tweak: Tenacity costs 4 points instead of 3
- tweak: Steadfast costs 6 points instead of 4
- tweak: Bionic Arm costs 10 points instead of 8
- tweak: Bionic leg costs 8 points instead of 6

---------

Signed-off-by: EctoplasmIsGood <109397347+EctoplasmIsGood@users.noreply.github.com>

(cherry picked from commit d38eb0b536a34475feefa8253b9a3ed128e57f4d)

* Automatic Changelog Update (#1906)

(cherry picked from commit 8a2626ef6b62508a6479525555522b516e090feb)

* Lightbehaviour Bug Fix (#1908)

<!--
This is a semi-strict format, you can add/remove sections as needed but
the order/format should be kept the same
Remove these comments before submitting
-->

# Description

<!--
Explain this PR in as much detail as applicable

Some example prompts to consider:
How might this affect the game? The codebase?
What might be some alternatives to this?
How/Who does this benefit/hurt [the game/codebase]?
-->

Description.

Fix bug affecting torches, flares and glowsticks that made them not emit
light when turned on as described by [this
issue.](https://github.com/Simple-Station/Einstein-Engines/issues/1685)

<!--
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/799631e0-bcf1-4008-9683-3d0ba7c02a24

</p>
</details>

---

# Changelog

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

🆑
- fix: Torches, flares, glowsticks now able to emit light again

(cherry picked from commit b25e3447148948ee658d1b81dac0d1e076641fcc)

* Automatic Changelog Update (#1908)

(cherry picked from commit 83fbb13c3aab8fedb1e56f73b949ac1a458eee41)

* Mining Shuttle & Dignitary Stuff for Arena (#1893)

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

<p>
Adds the mining dock & mining shuttle console for travel to lavaland.
Adds NTR office with the NTR locker mapped. Also adds the BSO locker to
bridge without an office cause BSO is not worthy.
Map render under images. NTR office is south east of brig. Just has a
desk and a bed. No fax as the NTR already has their own fax, I feel like
having a second fax would increase where the NTR would need to look for
faxes.
Referring to the shuttle that takes one to lavaland as mining shuttle,
not the pathfinder.
</p>

<!--
This is default collapsed, readers click to expand it and see all your
media
The PR media section can get very large at times, so this is a good way
to keep it clean
The title is written using HTML tags
The title must be within the <summary> tags or you won't see it
-->

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

![Arena](https://github.com/user-attachments/assets/a9719209-becd-4315-8b57-e0179b8eb8d7)

</p>
</details>

---

# Changelog

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

🆑
no cl no fun

(cherry picked from commit e481e2f182f162b78e22524dfe6988b2135bd32f)

* Automatic Changelog Update (#1893)

(cherry picked from commit f59bd7df32f6942f3b2646c1e3a08ee88343301d)

* Fireplace Construction (#1897)

# Description

Porting - Allow Construction of Fireplaces and Bonfires

Ported from - https://github.com/Goob-Station/Goob-Station/pull/1646

Yeah it's a port of a port. Yes there was sofas, benches and banners,
I've very lazily stolen just the fires. Sofa might be nice but that's
lot more code pinching.

---

# TODO

- [ ] Pray it works

---

# Changelog

🆑
- add: Recipes to build Fireplaces and Bonfires

---------

Signed-off-by: Raikyr0 <Kurohana@hotmail.com.au>
(cherry picked from commit 90485d5a0c49f76950d61e42c3cc596f988dc982)

* Automatic Changelog Update (#1897)

(cherry picked from commit c7327f55f8576267f30a384d4a84fd85f357d52f)

* Terminus (#1881)

# Description

<!--
Explain this PR in as much detail as applicable

Some example prompts to consider:
How might this affect the game? The codebase?
What might be some alternatives to this?
How/Who does this benefit/hurt [the game/codebase]?
-->

Added a new weapon, the DT-8 "Terminus"
It's a large melee weapon capable of firing a spread of disabler rounds
on alternate fire.
It's an arsenal tech research, and uniquely can only be wielded by onis.

(I'm being bribed to make this)
Also, I had to move the OniComponent.cs file to shared. I'm not sure if
that borked anything but tell me if it does.

(PS. Thank you VMSolidus for helping me make this ten times less
shitcoded.)

---

# 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] Textures complete
- [x] Add lathe recipe
- [x] Add to research

---

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

!![image](https://github.com/user-attachments/assets/cf02d64a-53a8-4454-9312-010fa92cf597)

</p>
</details>

---

# Changelog

🆑 SolsticeOfTheWinter, OtherPersonPlaceHolder
- add: Added a new weapon for oni security players, the terminus.

---------

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

(cherry picked from commit 3fdf1102dc20af7bd724e449808d2d38571e62c2)

* Automatic Changelog Update (#1881)

(cherry picked from commit 9de8ab79e61227620833b88f5c616c63f38c9a86)

* Add RPD and Pipe Stacking (#1857)

# Summary

To add the RPD into the game for both atmos and CE's to use. Introduce
pipe stacking as well since the RPD will introduce better atmos
configuration. Most of the code was ported over from goob LRP. With some
of it being touched up on and adding a bit of quality of life to the
RPD.

This was a PR originally made for goob-mrp but requested to be moved to
EE. Check out the detailed commits here:
https://github.com/Goob-Station/Goob-Station-MRP/pull/96

---

# Description

## RPD
From the original PR made on goob-station the RPD has been ported over.
It is similar to the RCD where you will be able to make
pipes/vents/pumps/mixers quickly. Each dial on the main radial will
bring up specific pipes like ie pipes-> corner, t-shape -cross shape.

The RPD starts out in the CE and Atmos lockers with 50 charges. Each
construction and deconstruction cost 1 charge. There is also one extra
compressed matter in the starting lockers for both CE and Atmos for the
RPD.

You can research the recipe of the RPD with the reverse engineering
machine. The recipe cost of the RPD is a bit more compared to the RCD.

![RPD_UI](https://github.com/user-attachments/assets/ed2fe76b-009a-4081-abe4-7c431f21ab27)

## Pipe Stacking

With the introduction of the RPD, it was fair to check for pipes that
overlapped when making new pipes. But with introducing the code from LRP
goob station it was decided to bring over the pipe stacking feature too.
You can make certain components pipe stackable or allow if you can put
multiple of the same pipe on the same tile. If you want you change a
pipe to be non-stackable by using the component type:
PipeRestrictOverlap

Here's an example of pipe stacking. You can make a simple scrub loob
tighter or keep it normal. The freedom is given.
![pipe-stacking
example](https://github.com/user-attachments/assets/69aa19d4-2ff4-4cee-a2d1-b6709884c6e0)

Here is an extreme example. This compact design creates a ton of frezon.
Obviously, replace the trit miner with an actual burn chamber.

![image](https://github.com/user-attachments/assets/4db7b627-0d3a-4c78-b5a1-8d52551b3127)

## Belt overlay

I decided to add a simple belt overlay sprite to the game for the RPD.

Here's what it looks like outside the belt and inside the belt

![RPD](https://github.com/user-attachments/assets/d599dbed-56d0-42c7-acee-20fa23f04f2c)

## RPD Borg Module

I decided to add experimental RPD that will self-charge. The only way to
get this RPD is through admeme spawn or being a borg. The starting
charge of the Borg module is 25 and will self-charge at the same rate at
10 seconds per charge. I also added an admeme version that charges at 1
second per charge.

Here is what the borg module looks like
![Borg
module](https://github.com/user-attachments/assets/6fd1bcff-fdb7-49ad-a8f5-e4bab86bd8f4)

The borg module can be researched in the t2 industrial branch as the
same research for the RCD module.

![Research-rpd](https://github.com/user-attachments/assets/d325dd3f-eed9-4744-9003-3b7d51387432)

---

# credit
Original RPD PR: https://github.com/Goob-Station/Goob-Station/pull/1203
Original Pipe Stacking PRs:
https://github.com/Goob-Station/Goob-Station/pull/391
https://github.com/Goob-Station/Goob-Station/pull/389
Prevent stacking pipes (#28308) - Original Link is dead.

---

# TODO
- [X] Add RPD
- [X] Add RPD to reverse engineering
- [x] Add toolbelt equipped sprites
- [x] Add Pipe Stacking
- [x] Add an experimental RPD module for engie borgs.

---

# Changelog

🆑
- add: Added RPD, glory to atmosia!
- tweak: RPD now spawns in Atmos and CE lockers
- tweak: Extra compressed matter has been added into both Atmos/CE
lockers for more RPD/RCD uses
- add: You can research RPD with the reverse engineering machine.
- add: A belt overlay sprite to the CE and utility toolbelt.
- add: Pipe Stacking ported over from LRP Goob station. Compress those
frezon factories!
- add: Toolbelt overlay sprite for the RPD.
- add: RPD Borg module researched in t-2 industrial advanced tools.

---------

Co-authored-by: Nathaniel Adams <60526456+Nathaniel-Adams@users.noreply.github.com>

(cherry picked from commit b32710c94628f90e4b2c43796ac3ab81892926f3)

* Automatic Changelog Update (#1857)

(cherry picked from commit 3270ee0327054fd0187cb03756d23a1a84d7916c)

* SS13 Combat Parity Part 0.5: Stun Meta [PREREQUISITE] (#1914)

# Description
Ports Stun Meta from
[/Goob-Station#788](https://github.com/Goob-Station/Goob-Station/pull/788)
Splits stuncrit into knockdown and paralysis, like on 13. knockdown lets
you crawl on the floor, and paralysis is the same as current stamcrit.
The stun baton has been buffed, doing 15 stamina damage per swing, and
40 stamina damage overtime.
This lets you stamcrit someone in two baton swings, but it takes a few
seconds before they actually fall down to the ground. About the same
amount of time as 4 baton swings back to back.

This PR also reverts #809, since I plan on reworking shoving entirely
soon.
(also for my sanity. wouldn't have been able to port stunmeta
otherwise.)

## Condemn Trillions
Required for the rest of the SS13 Combat Parity changes listed
[here](https://discord.com/channels/1218698320155906090/1348171706061033502)

# TODO
* [x] Await merge
* [x] Gaming

# Media

![shitcurity](https://github.com/user-attachments/assets/4f83937f-7eaa-4d6d-a446-4044f9ec0286)

# Changelog
🆑 Eagle

* tweak: Stamina Crit has been split into Knockdown and Paralysis
* tweak: Stun batons now do 15 stamina damage on hit, and 40 over time

(cherry picked from commit b8045750e91b8e43fcf91deaeb49b295a0984cdc)

* Automatic Changelog Update (#1914)

(cherry picked from commit cbadf45b9e1bbb8cbb122a579e9c37a3234d506b)

* Miscellaneous Fixes From White Dream (#1911)

# Description

Ports the following PRs:
https://github.com/WWhiteDreamProject/wwdpublic/pull/271
https://github.com/WWhiteDreamProject/wwdpublic/pull/282
https://github.com/WWhiteDreamProject/wwdpublic/pull/255
https://github.com/WWhiteDreamProject/wwdpublic/pull/254
https://github.com/WWhiteDreamProject/wwdpublic/pull/246
https://github.com/WWhiteDreamProject/wwdpublic/pull/223
https://github.com/WWhiteDreamProject/wwdpublic/pull/220
https://github.com/WWhiteDreamProject/wwdpublic/pull/219
https://github.com/WWhiteDreamProject/wwdpublic/pull/213

This is a rather huge variety of fixes to be honest.

# Changelog

🆑 White Dream
- fix: Fixed airlock opening and closing visuals
- fix: Fixed Weather spamming infinite sounds.
- fix: Cockroaches no longer spam organs when stepped on.
- fix: Fixed the timer on the Return To Round button
- fix: Fixed Return to Round not remembering how long it's been since
you died if you re-enter your body.
- fix: Fixed harpy flight visuals not showing for other people.
- fix: Fixed disabler bolts not going through windows like other kinds
of lasers.
- fix: Fixed Vim Harness being free
- fix: Fixed handcuffs not respecting your arm length.
- fix: Made tending wounds not as message spammy.
- fix: Fixed shuttle windows not preventing you from being electrocuted
by grills under them.

---------

Co-authored-by: vanx <61917534+Vaaankas@users.noreply.github.com>
Co-authored-by: vanx <discord@vanxxxx>
Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>
Co-authored-by: Repo <47093363+Titian3@users.noreply.github.com>

(cherry picked from commit ced8a565a32cfa340140674c073d90a2a6002799)

* Automatic Changelog Update (#1911)

(cherry picked from commit 89f27f4b2f3882ba97132d69f9d6477cea3195d1)

* Faction Clothing Bug Fix (#1917)

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

Fixed bug that made ClothingAddFactionComponent not add the faction of
the clothing to the mob when the clothing is equipped.

The bug is described in greater detail in [this
issue](https://github.com/Simple-Station/Einstein-Engines/issues/1228).

---

<!--
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/41fe9411-0eac-478d-956c-b094f211f565

</p>
</details>

---

# Changelog

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

🆑
- fix: Fixed bug that made ClothingAddFactionComponent not work.

(cherry picked from commit 639f46a68b84ad6d0655ec318ccc62fa3061c5cd)

* Automatic Changelog Update (#1917)

(cherry picked from commit b4c488af30ad9e21e41b409282aeac1f8ae37c9e)

* Crafting Curtains and Tables No Longer Consumes Entire Stack (#1916)

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

Stolen from https://github.com/Fansana/floofstation1/pull/152, courtesy
of cynical24. When you craft a curtain or make a table into a _fancy_
table, it doesn't take the entire stack of carpet. This should hopefully
stop me from having to return to the HoP to ask for another 10 carpet.

---

# 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] general thievery of text (with permission)

---

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

![curtains](https://github.com/user-attachments/assets/0c960653-311a-40e7-bcbe-53e50d771c63)

</p>
</details>

---

# Changelog

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

🆑
- tweak: you don't use the entire stack of carpet now when crafting
colored curtains or fancy tables.

(cherry picked from commit 508dbc35d3576be768122604d39194ee715ab02a)

* Automatic Changelog Update (#1916)

(cherry picked from commit f4641de5073d3cf1ccc54a5599281bb6025149fc)

* Markings From Impstation 2 (#1925)

what the funny title says

<!--
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 some markings from Impstation (Again, who would have thought it'd
be Impstation again?), ports the merciful IPC wings from Goob LRP, adds
some markings to arachnids, a bunch of markings for Reptilians, and a
new hairstyle.

---

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

- [ ] Task
- [x] Completed Task

---

<!--
This is default collapsed, readers click to expand it and see all your
media
The PR media section can get very large at times, so this is a good way
to keep it clean
The title is written using HTML tags
The title must be within the <summary> tags or you won't see it
-->

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

</p>
</details>

---

# Changelog

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

🆑 Diggy
- add: New markings for arachnids, reptilians.
- tweak: Allows IPCs to pick up overlay markings such as the gauze
stuff, Onis can now have the curved horn marking humans can have.

(cherry picked from commit b955652cf18f1a11e7d48206f32c8d3e24e819bd)

* Automatic Changelog Update (#1925)

(cherry picked from commit 78149f74ac386a81b4ecb46679db29c9e5f1946e)

* Fix Vulpkanin Markings (#1894)

# Description

Vulpkanin no longer wear their undergarments "Superman Style"

# Changelog

🆑
- fix: After lengthy retraining, NanoTrasen has taught Vulpkanin that
underwear is meant to be worn inside pants, not outside them.

(cherry picked from commit 190dddf7c59537ffc2781f3d8f7bcb16e5a449fb)

* Automatic Changelog Update (#1894)

(cherry picked from commit a7138473115dfe767b822eb2b24179a04f6133e5)

* Fairer Turrets (#1923)

# Description

It had basically always bothered me, and evidently a lot of other people
that turrets were previously "Unfair enemies". They had perfect aimbot
accuracy, tracked targets instantly at any angle, and were
nigh-indestructible. It was telling that players were pretty much only
ever killed by turrets once or twice, and then they figure out that the
turrets are outright impossible to beat in a fair fight, so they end up
resorting to underhanded tactics like using an RCD to wall the turret
off. Or use a pickaxe to go around them.

I previously added a new turret for the SAN dropship, and with it had
tried out a very different approach for "Fairer Turret" balancing. A
more reasonable healthbar, no instant tracking, and no perfect accuracy,
The players enjoyed these a lot more than the original turrets. Plus
they were more visually interesting firing an inaccurate spray at their
targets.

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

I'm on my lunch break at college right now, so no media.

</p>
</details>

# Changelog

🆑
- tweak: Adjusted turrets to be a more "Fair" fight. They no longer have
perfect aimbot accuracy, they don't track targets instantly, and they
also have a "More fair" healthbar that can reasonably be shot through by
someone with good enough weapons and armor,

(cherry picked from commit 6bdd73efe210d6e556e6accbc89cb9134f716e2e)

* Automatic Changelog Update (#1923)

(cherry picked from commit bedcd65d4d8324a651101a978ba90d46d4199cfa)

* Fix A Minor Test Fail (#1902)

Just a random event that had a tiny chance to spawn an Abstract entity.

(cherry picked from commit f49712f82569d7e5f0a486d00130216dc73520bd)

* Throw Errant Into The Spider Pit (#1896)

# Description

@Errant-4 by request in your comment.
I had annihilated this before during the NyanoCombat reworks, but during
a recent wizmerge most of said reworks were accidentally reverted. This
is the one that was brought back, comment and all. So this PR fixes for
a second time a problem left by the old combat system.

# Changelog

🆑
- fix: Power attack and light attack damages are no longer swapped.

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

(cherry picked from commit 4b988b2b01e379d5a2c6c8eae72f70c00876d024)

* Automatic Changelog Update (#1896)

(cherry picked from commit 505765017a164ca20582571f92f5ec95ff3e5579)

* Nerf .45 (#1895)

# Description

Somehow I didn't realize that .45 magnum, despite being a common ammo
type available to a lot of people, deals literally double the damage of
all other comparable smallarms. No wonder people were complaining about
the Universals being comically overpowered. This PR normalizes their
damage so that it's still "More than other equivalent small arms
calibers", but not ".45 is more than double the damage of 9mm".

# Changelog

🆑
- tweak: Nerfed universals and other .45 auto guns. I get the meme that
.45 is better than 9mm, but not "More than double" the damage of 9mm.

(cherry picked from commit f7f49f67d69e6a19a3b83eec1d4cb4b0b7ca93a1)

* Automatic Changelog Update (#1895)

(cherry picked from commit cfd95ca7c4237030cebba16cf1d81798a5d801a6)

* More Lavaland Fixes (#1892)

# Description

Apparently the lavaland ore crates are supposed to have an ore magnet,
but this didn't work because they're missing something from the ore
bags. So this fixes that. Also I made sure the lavaland's ores actually
have the same naming conventions as our regular ores.

# Changelog

🆑
- tweak: Ores mined from lavaland now have names matching their
real-world counterparts.
- fix: Fixed the lavaland ore crates not having working ore magnets.

(cherry picked from commit 2f02dd1a0621437587d143641b4a66ef59d87bab)

* R25 Rifle Tweaks (#1869)

# Description

This PR tweaks the stats of the R25 rifle so that it isn't completely
useless. Its accuracy when wielded has been improved so that it can more
consistently hit targets at between half and a full screen length away.
As a tradeoff, its cooldown between bursts has been increased so that
its DPS isn't comically overtuned.

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

https://github.com/user-attachments/assets/7b862f2a-09c3-450b-9482-a6ce69b4c971

</p>
</details>

# Changelog

🆑
- tweak: Increased the accuracy-when-wielded of the BRDI-R25 rifle. As a
tradeoff, it has a longer cooldown between hyperbursts.

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

- **Gameplay Adjustments**
	- Updated the weapon's handling by refining its firing angles.
	- Adjusted the burst cooldown period to alter the firing rhythm.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

(cherry picked from commit be595f4fbe52e612dbaf58363287e9d483442a12)

* Automatic Changelog Update (#1892)

(cherry picked from commit 2cc6e37b996d5074affebd7d8813778b3f9824d2)

* Automatic Changelog Update (#1869)

(cherry picked from commit fd9c5bb1bfddb94e8aa8d4ecfcb4587629110949)

* Footstep Netcode Fixes (#1909)

# Description

Port of https://github.com/WWhiteDreamProject/wwdpublic/pull/298

---------

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

(cherry picked from commit 36627e2e655471e118867c1ae05870b1cb9c0be4)

* Automatic Changelog Update (#1915)

(cherry picked from commit a8994b38b0ade548152a5868a0ab87fd727da81d)

* Embeddable Projectile Fixes (Courtesy Of White Dream) (#1907)

* embed children

* locale

* fix

* Update Resources/Locale/ru-RU/weapons/throwing/throwing.ftl

* // WWDP MY BELOVED

# Description

This is a port (and general cleanup of)
https://github.com/WWhiteDreamProject/wwdpublic/pull/278
Plus clearing a bunch of compiler warning causing things, and also a fix
for one of our Heisentests. This PR mainly fixes issues with embeddable
projectiles being potentially unintentionally destroyed when the thing
they are embedded in gets destroyed. Which can be disastrous for example
if my energy sword embeds into a wall, and also destroys that wall,
which destroys my precious energy sword...

# Changelog

🆑 Spatison
- fix: Embeddeable projectiles are no longer always destroyed when the
thing they are embedded in gets destroyed. Energy Sword throwing
enthusiasts may rejoice now that their precious sword is safe.

Co-authored-by: vanx <61917534+Vaaankas@users.noreply.github.com>
Co-authored-by: vanx <discord@vanxxxx>
Co-authored-by: Spatison <137375981+Spatison@users.noreply.github.com>

(cherry picked from commit 2c30abbb072238ed7478c9716a66db58f69ddc67)

* Automatic Changelog Update (#1907)

(cherry picked from commit a97ae4aa2fdaf1bf70149fa994682debd2162779)

* Health Analyzer UI Fix (#1928)

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

Fix the bug described by [this
issue.](https://github.com/Simple-Station/Einstein-Engines/issues/1820)

---

<!--
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/567f62e6-bdae-4a9b-a4eb-bd8c15fae8c9)

</p>
</details>

---

# Changelog

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

🆑
- fix: Health analyzer's doll is now in the normal size.

(cherry picked from commit ce489662c54195cd3f5865f5003d40fe3ba7c0d3)

* Automatic Changelog Update (#1928)

(cherry picked from commit 0b4b338af37f2222065063364b76db3c63fa8025)

* Magma Hand (#1927)

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

Sprited by Greenwall, YML'd by myself. The Magma Hand is a slime-like
creature that you can encounter in Lavaland. It's very hostile, but you
_can_ pet it!

---

# TODO

<!--
A list of everything you have to do before this PR is "complete"
You probably won't have to complete everything before merging but it's
good to leave future references
-->

- [x] Add to Lavaland spawning list

---

<!--
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>
Its blood is sulfur!

![image](https://github.com/user-attachments/assets/7008c190-5502-4e7e-800a-a1027e2ef9f8)

Its attacks burn you!

https://github.com/user-attachments/assets/0bf21207-1dc2-4cf5-9b9b-89a558488963

Ice makes it die very quickly!

https://github.com/user-attachments/assets/4c742c6e-ac5e-462f-9f1e-e05ce0fcaa0b

![image](https://github.com/user-attachments/assets/feb78377-179c-47bd-991a-b88e37af7c95)

![image](https://github.com/user-attachments/assets/92a875cd-fdb2-4edf-843b-a26c671fbd99)

</p>
</details>

---

# Changelog

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

🆑 Greenwall
- add: Magma Hand! Sprite by Greenwall, YML by Timfa. Bring a water gun
filled with ice, and you'll be fine!

(cherry picked from commit 545a20fd19a25f833cc32e21c6f0f53f7f872e22)

* Automatic Changelog Update (#1927)

(cherry picked from commit f8c127f1432d24f98e5eeeb4099fa2899db74c15)

* Cyber Eye Changes (#1876)

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

Removes the flare shielding trait, instead adding welding arc protection
to the diagnostics hud, and giving the medical hud a built in chem
scanner.

No trait will give you access to immunity to flashes however, and you
will instead be required to have proper eye protection on again to
counteract it. This makes securities lives a lot better, and makes the
flash a viable tool again.

# Changelog

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

🆑
- remove: Removes flare shielding
- tweak: Adds eye protection to diagnostics hud
- tweak: Adds chemical analyser to med hud
- tweak: Increases med hud and diagnostics hud costs to 2

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

- **Gameplay Balance**
- Reduced the negative impact for the `FlareShielding` trait, offering a
milder penalty.
- Removed the flash immunity effect from the `FlareShielding` trait to
streamline its behavior while retaining it in the
`FlareShieldingModule`.
- Updated requirements for the `Blindness`, `Nearsighted`, and
`Photophobia` traits by removing the dependency on the
`FlareShieldingModule`.
- Adjusted point values for several traits, reflecting a more
significant negative impact for others.
- Introduced new components, enhancing the functionality of various
traits.
- **Feature Enhancements**
- Expanded the description of the `CyberEyesMedical` trait to include a
Chemical Analysis Hud.
- Updated the `CyberEyesDiagnostic` trait description to incorporate
flare shielding for improved eye protection.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Signed-off-by: EctoplasmIsGood <109397347+EctoplasmIsGood@users.noreply.github.com>

(cherry picked from commit 516c53e8ea97680b8029b79dae9fab0a229d0709)

* Automatic Changelog Update (#1876)

(cherry picked from commit 085163904a3bc64c2217553afe5e43a8938cfc8c)

* Space Wind Version 5 (FINAL) (#1765)

# Description

MY ASCENSION IS COMPLETE, I HAVE DEFEATED THE ATMOS SYSTEM. MY POWERS
HAVE GROWN TO NEW AND UNFATHOMABLE HEIGHTS. THE EQUATIONS FOR SPACE WIND
ARE NOW PERFECTED. I HAVE BECOME THE PHYSICS CHAD THAT CAN NOW ACCOUNT
FOR FRICTION AND AIR RESISTANCE.

SPACE WIND HAS BEEN PERFECTED. THERE IS NO MORE WORK FOR ME TO DO ON IT.

# TODO

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

PROOF THAT MY EQUATIONS HAVE BEEN PERFECTED.

https://github.com/user-attachments/assets/b3eb43b2-e8db-4f75-a142-2c86308e8113

</p>
</details>

# Changelog

🆑
- add: Added Space Wind V5. This version of space wind now accounts for
the coefficients of friction and gravity as a calculated way to resist
space wind. There is no more guesswork on if space wind should be able
to throw an object. Additionally, thanks to a standalone module from
Matrix Airflow System, space wind is capable of calculating airflow at
arbitrarily any point in a room, regardless of whatever garbage
Monstermos is saying.

(cherry picked from commit a5151c7622c424af6fd7e4c0b916e8ddda75c3df)

* Automatic Changelog Update (#1765)

(cherry picked from commit ba32a82331ffba42919ff57b48c1d80ba02c1343)

* Fix Oni (#1935)

# Description

I didn't notice during the last PR that someone added an override for
the Tags component of Oni, otherwise I'd have said something about it.
You can't add a tag component to a species because it overrides a
massive shitton of tags that are needed for player characters to be able
to do certain things, such as DoorBumpOpener...

# Changelog

🆑
- fix: Fixed Oni not being able to do a ton of things that required
hardcoded tags. I fucking hate the tag system.

(cherry picked from commit 3950fb0a6c9cbb9febb30b00f183a8d049f0ca0c)

* Automatic Changelog Update (#1935)

(cherry picked from commit 12876a1ce113a68a79d2cae79e99a6748446c13e)

* Rev Manifesto Inhand Use Cooldown (#1936)

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

Add a two second cooldown on the Revolutionary Manifesto's secondary use
(the purely cosmetic one) to not make it cause chat spam.
I made this change from web and have NOT tested it yet (unless I checked
the checkbox below in the TODO section!

---

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

- [ ] TEST IF IT WORKS

---

# Changelog

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

🆑
- tweak: Tweaked rev manifesto to not spam chat anymore

(cherry picked from commit 3a6634125445a3a71ab33dae090942ce3216d340)

* Automatic Changelog Update (#1936)

(cherry picked from commit 0ba6aae78f5ee3804f8eaf30afc2e35bafc8e17c)

* More Tolerable Default CVars (#1945)

# Description

I can't believe we never cleaned these up. Yea so our codebase made an
astoundingly fucking poor first impression on BPL during their huge
playtest, and most of these CVars were to blame. In particular is the
godawful Ramping Event Scheduler having "Murder the station with
ventcritters every 10 seconds at the 30 minute mark" as its settings.

# Changelog

🆑
- tweak: Disabled Monstermos Tile Ripping by default.
- tweak: Default settings for Ramping Event Scheduler no longer throws
"Ventcritters every 10 seconds, 30 minutes into the round".

(cherry picked from commit ef5dc3441aa3b7c62d771039c3e1a93ba04a0d32)

* Automatic Changelog Update (#1945)

(cherry picked from commit 0fce50daf5ba999e3bc9b8c97e8e7b8791fb7f7e)

* BRDI Repaints (#1957)

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

A downstream port of https://github.com/TheDenSS14/TheDen/pull/306
providing Blue and Red paintjobs for the Blueshield and Head of Security
BRDIs respectively.

---

# Changelog

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

🆑
- tweak: Gave the BSO and HoS BRDIs a fancy paintjob.

(cherry picked from commit 4f23e0d40549fc3780d1dd94f7fea2ff83e37c24)

* Automatic Changelog Update (#1957)

(cherry picked from commit 2d7e39eca59cee8c8c883501c8f185bcb8bff4cb)

* ADT Markings Port (#1951)

Truly the PR of all time...

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

The markings by themselves have localization or whatev. When you color
them they will however appear as marking_etc_etc.
Yes, i'm aware it's lazy, but i'm not doing it for over 80 markings,
just not feeling it, this is really just a test to see if it gets
allowed without some locale files setup.

---

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

- [ ] Task
- [x] Completed Task

---

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

---

# Changelog

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

🆑 Diggy
- add: Most markings from ADT, along with two new hairstyles, new
markings for Shadowkin (Despite all my hate for them).
- fix: Shadowkin ears are now colorable again, fuck around and find out
if you want your Shadowkin's ears to be pink with red or something.

(cherry picked from commit a36b5dc2404578c64a93a9881714f00180c1da02)

* Automatic Changelog Update (#1951)

(cherry picked from commit cd81f90db975061f9d968b45beab9a461834f4c1)

* Cyberiad 1.0: Service Rework (#1938)

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

Changes Box to Cyberiad, with the service area receiving a rework, in
the future there will be more updates in the depts, with the next one
probably being the Sec.
Make some fixes on Gax and Bagel.

I changed the maintainer of some maps from "Estação Pirata" to "Ichai".
I am not part of the Estação Pirata

---

<!--
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/e18d2441-8c01-49b9-9c6a-9d2c2c4672b6)

</p>
</details>

---

# Changelog

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

🆑 Ichai
- add: Cyberiad added to the rotation.
- fix: Gax: Fixed missing window in CE office, Fixed walls in SM to
prevent radiation leaks.
- tweak: Port changes to Bagel from GoobStation
- remove: Box is no more.

---------

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

(cherry picked from commit 3da2771a5509b189b4599a2323e9df5d7b9fb562)

* Automatic Changelog Update (#1938)

(cherry picked from commit 755fc9912d4152dca446477ea2693ed91aac59c1)

* R-25 BRDI Back Slot Sprites (#1962)

<!--
This is a semi-strict format, you can add/remove sections as needed but
the order/format should be kept the same
Remove these comments before submitting
-->

# Description

<!--
Explain this PR in as much detail as applicable

Some example prompts to consider:
How might this affect the game? The codebase?
What might be some alternatives to this?
How/Who does this benefit/hurt [the game/codebase]?
-->

Added back slot and suit storage sprites for the R-25 BRDI.

---

# Changelog

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

🆑
- add: Added back worn sprites for the R-25 BRDI.

(cherry picked from commit 2cf4957ccd3ed2e0a673c7a7c774f4d779428cb5)

* Automatic Changelog Update (#1962)

(cherry picked from commit d6ba9f7c0da450e0b8ae6623b33e6933360ae43c)

* Remove Random Stencil Clear On Left Leg (#1955)

<!--
This is a semi-strict format, you can add/remove sections as needed but
the order/format should be kept the same
Remove these comments before submitting
-->

# Description

<!--
Explain this PR in as much detail as applicable

Some example prompts to consider:
How might this affect the game? The codebase?
What might be some alternatives to this?
How/Who does this benefit/hurt [the game/codebase]?
-->

I don't know why this was being done, but it didn't seem to do anything
and I know for a fact it was causing issues with shaders that were
applied on all humanoid layers, so... "Imaginary Technique: Shitcode
Removal" go.

If anything breaks, it's this.

---

# 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] Check that the game didn't incinerate itself.

---

<!--
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/ff7f41e5-827e-4fdf-98e2-b5885aadf467)

</p>
</details>

---

# Changelog

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

no cl

Signed-off-by: Eris <eris@erisws.com>

(cherry picked from commit e674f782e24da7a7825520ca650473f155e9e4c1)

* fix upstream

---------

Co-authored-by: EctoplasmIsGood <109397347+ectoplasmisgood@users.noreply.github.com>
Co-authored-by: SimpleStation Changelogs <SimpleStation14@users.noreply.github.com>
Co-authored-by: Paulo Artur Pinheiro Viana Villaça <112904295+algumcorrupto@users.noreply.github.com>
Co-authored-by: astriloqua <129308840+astriloqua@users.noreply.github.com>
Co-authored-by: Raikyr0 <Kurohana@hotmail.com.au>
Co-authored-by: Solstice <solsticeofthewinter@gmail.com>
Co-authored-by: Solaris <60526456+solarisbirb@users.noreply.github.com>
Co-authored-by: Eagle-0 <114363363+eagle-0@users.noreply.github.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: Tirochora <leotabletdb@gmail.com>
Co-authored-by: BloodfiendishOperator <141253729+Diggy0@users.noreply.github.com>
Co-authored-by: Timfa <timfalken@hotmail.com>
Co-authored-by: Rosycup <178287475+Rosycup@users.noreply.github.com>
Co-authored-by: Ichaie <167008606+ichaie@users.noreply.github.com>
Co-authored-by: Eris <eris@erisws.com>
2025-03-15 16:05:58 +02:00
Spatison
8a95ee85bf Upstream 28.02-03.03 (#268)
* More Tajaran Markings (#1834)

<!--
This is a semi-strict format, you can add/remove sections as needed but
the order/format should be kept the same
Remove these comments before submitting
-->

# Description

<!--
Explain this PR in as much detail as applicable

Some example prompts to consider:
How might this affect the game? The codebase?
What might be some alternatives to this?
How/Who does this benefit/hurt [the game/codebase]?
-->

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

<!--
A list of everything you have to do before this PR is "complete"
You probably won't have to complete everything before merging but it's
good to leave future references
-->

---

<!--
This is default collapsed, readers click to expand it and see all your
media
The PR media section can get very large at times, so this is a good way
to keep it clean
The title is written using HTML tags
The title must be within the <summary> tags or you won't see it
-->

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

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

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

</p>
</details>

---

# Changelog

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

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

---------

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

* Automatic Changelog Update (#1834)

(cherry picked from commit 0091c1ebdc4bc768c0906049fa9d417d962d1839)

* Cybernetics Trait Changes (#1828)

# Description

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

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

---

# TODO

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

---

# Changelog

🆑

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

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

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

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

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

---------

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

(cherry picked from commit a480c6605ebdfdd32d87a9001f2aef8303433a8d)

* Automatic Changelog Update (#1828)

(cherry picked from commit 365dd4353a06854120e0a38ff05f193bad48bbc7)

* Shadowkin Age Fixes & Plus Plushies (#1684)

# Description

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

---

# TODO

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

---

# Changelog

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

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

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

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

---------

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

* Automatic Changelog Update (#1684)

(cherry picked from commit caf8572352d38f51b15d21f0e1f92434f869dd14)

* Trait Add Tag (#1846)

# Description

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

# Changelog

🆑
- add: TraitAddTag Function

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

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

---------

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

* Automatic Changelog Update (#1846)

(cherry picked from commit 9622d443d5308eda14231c3b3bb3130884465272)

* Arachne SpiderCrafting (#1847)

# Description

Added SpiderCraft Tag to Arachne

# Changelog

🆑
- add: Added SpiderCraft to Arachne

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

## Summary by CodeRabbit

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

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

---------

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

* Automatic Changelog Update (#1847)

(cherry picked from commit 91d40483c2c49f86d7b2609a5ac9cd7b30d16c00)

* Add Centcom Disabler (#1845)

<!--
This is a semi-strict format, you can add/remove sections as needed but
the order/format should be kept the same
Remove these comments before submitting
-->

# Description

<!--
Explain this PR in as much detail as applicable

Some example prompts to consider:
How might this affect the game? The codebase?
What might be some alternatives to this?
How/Who does this benefit/hurt [the game/codebase]?
-->

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

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

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

---

<!--
This is default collapsed, readers click to expand it and see all your
media
The PR media section can get very large at times, so this is a good way
to keep it clean
The title is written using HTML tags
The title must be within the <summary> tags or you won't see it
-->

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

![image](https://github.com/user-attachments/assets/e1e36ae6-8888-4d60-b946-50c90af16f9f)

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

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

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

</p>
</details>

---

# Changelog

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

🆑
- add: Added CentCom disabler as loadout option for the Nanotrasen
Representative.

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

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

(cherry picked from commit 143d24951a200ab94f3e4e88d3a3a90eeb8856ca)

* Automatic Changelog Update (#1845)

(cherry picked from commit 7ca0757334ee9a1d87c9cbf1f9cc02a860ecc136)

* Plant Analyzer Port (#1849)

<!--
This is a semi-strict format, you can add/remove sections as needed but
the order/format should be kept the same
Remove these comments before submitting
-->

# Description

<!--
Explain this PR in as much detail as applicable

Some example prompts to consider:
How might this affect the game? The codebase?
What might be some alternatives to this?
How/Who does this benefit/hurt [the game/codebase]?
-->

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

---

<!--
This is default collapsed, readers click to expand it and see all your
media
The PR media section can get very large at times, so this is a good way
to keep it clean
The title is written using HTML tags
The title must be within the <summary> tags or you won't see it
-->

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

![image](https://github.com/user-attachments/assets/18e93d53-9537-49fd-9dfb-b4983d2630f0)

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

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

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

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

</p>
</details>

---

# Changelog

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

🆑
- add: Port Plant Analyzer from botanySupremacist, who took it from
ian321

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

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

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

---------

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

* Automatic Changelog Update (#1849)

(cherry picked from commit 4da1efdfd293d5df1c8bd889c621eea94ed5fed8)

* Mind Role Entities (#31318)

* Mind Role Entities wip

* headrev count fix

* silicon stuff, cleanup

* exclusive antag config, cleanup

* jobroleadd overwerite

* logging stuff

* MindHasRole cleanup, admin log stuff

* last second cleanup

* ocd

* minor cleanup

* remove createdTime datafield

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

* weh

(cherry picked from commit 24fae223e698b09cf9928c4a0f2f1dc774f266ab)

* Fix error

(cherry picked from commit d33bf89a62ae2f5d51f3af01b4ae2ef54341b5c5)

* Update SharedContentIoC.cs

(cherry picked from commit a50fed2fee56b57d0507a58ebf7bc13de82ad9d2)

* dragon antag refactor (#28217)

* remove dragon system usage of GenericAntag

* add AntagRandomSpawn for making antags spawn at a random tile

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

* add antag prototype for dragon since it never had one

* make dragon spawner a GhostRoleAntagSpawner, remove GenericAntag

* make dragon rule use AntagSelection and stuff

* remove dragon GenericAntag rule

* add back to spawn menu

---------

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

* Cultist Mind Roles

(cherry picked from commit 585e26103a67cc2bd185faaa468ddc5840a8e9c3)

* Update midround.yml

(cherry picked from commit b78d24ce6bb7f8cb4a85a89f6f974fbce1d83055)

* Update ghost_roles.yml

(cherry picked from commit 22df7509b5c5113afc8f1ba168223b0756de5d47)

* Solarian Alliance Content (#1851)

# Description

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

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

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

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

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

</p>
</details>

# Changelog

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

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

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

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

---------

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

* Automatic Changelog Update (#1851)

(cherry picked from commit ffaf99ca4b01e63f6bb98731e630f066fad25909)

* Supermatter Atmos Mapping Assets (#1859)

# Description

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

# Changelog

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

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

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

(cherry picked from commit b9c3c8b366c15b5f09cfd641c90b09254f06de94)

* Automatic Changelog Update (#1859)

(cherry picked from commit 468a263863f17772e6233032e5099d6c83764616)

* Rerotate Arena (#1853)

<!--
This is a semi-strict format, you can add/remove sections as needed but
the order/format should be kept the same
Remove these comments before submitting
-->

# Description

<!--
Explain this PR in as much detail as applicable

Some example prompts to consider:
How might this affect the game? The codebase?
What might be some alternatives to this?
How/Who does this benefit/hurt [the game/codebase]?
-->

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

---

# TODO

<!--
A list of everything you have to do before this PR is "complete"
You probably won't have to complete everything before merging but it's
good to leave future references
-->

- [x] Space cleanup
- [x] Psionic Registry Computers
- [x] AI Satellite & Related Stuff

---

<!--
This is default collapsed, readers click to expand it and see all your
media
The PR media section can get very large at times, so this is a good way
to keep it clean
The title is written using HTML tags
The title must be within the <summary> tags or you won't see it
-->

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

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

</p>
</details>

---

# Changelog

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

🆑
- add: Arena is back

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

## Summary by CodeRabbit

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

(cherry picked from commit 534a058eb489ceb4abaadac7e4943ed2baaa8c67)

* Automatic Changelog Update (#1853)

(cherry picked from commit 3b30c0a1fe8dc5e10c3cb0536e26d101893663a2)

* Port Grab Intent From Goob (#1856)

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

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

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

# Media

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

* add: Ported Grab Intent from Goobstation

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

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

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

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

---------

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

* Automatic Changelog Update (#1856)

(cherry picked from commit 309ab74013fed2be64d9fb0457631210d860644b)

* Port Role Types (#1860)

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

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

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

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

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

---------

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

* Rock And Stone

<!--
This is a semi-strict format, you can add/remove sections as needed but
the order/format should be kept the same
Remove these comments before submitting
-->

# Description

<!--
Explain this PR in as much detail as applicable

Some example prompts to consider:
How might this affect the game? The codebase?
What might be some alternatives to this?
How/Who does this benefit/hurt [the game/codebase]?
-->

Ports Lavaland and required systems from Goobstation.

---

# TODO

<!--
A list of everything you have to do before this PR is "complete"
You probably won't have to complete everything before merging but it's
good to leave future references
-->

- [X] Port over _Lavaland
- [x] Port over required codepatches
- [-] Test locally (Should be fine)
- [X] Pass tests

---

<!--
This is default collapsed, readers click to expand it and see all your
media
The PR media section can get very large at times, so this is a good way
to keep it clean
The title is written using HTML tags
The title must be within the <summary> tags or you won't see it
-->

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

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

</p>
</details>

---

# Changelog

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

🆑
- add: Lavaland has been ported!

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

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

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

---------

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

(cherry picked from commit f2f5d4610db795a124b37780230eec5d5ca0264a)

* Automatic Changelog Update (#1844)

(cherry picked from commit 990878b9ed60b4e22388038b63714ec2dc693bbf)

* fixs

* fix

* fuck

---------

Co-authored-by: Tonk-GCR <190437025+Tonk-GCR@users.noreply.github.com>
Co-authored-by: SimpleStation Changelogs <SimpleStation14@users.noreply.github.com>
Co-authored-by: Raikyr0 <kurohana@hotmail.com.au>
Co-authored-by: SixplyDev <einlichen@gmail.com>
Co-authored-by: Timfa <timfalken@hotmail.com>
Co-authored-by: Errant <35878406+errant-4@users.noreply.github.com>
Co-authored-by: sleepyyapril <123355664+sleepyyapril@users.noreply.github.com>
Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: astriloqua <129308840+astriloqua@users.noreply.github.com>
Co-authored-by: Eagle-0 <114363363+Eagle-0@users.noreply.github.com>
Co-authored-by: Eris <eris@erisws.com>
2025-03-03 18:02:48 +02:00
Skubman
a46b4f2b5a New Species: Plasmaman (#1291)
# Description

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

## Species Guidebook

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

**SPECIAL:**

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

## Shitmed Integration

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

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

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

## Technical Details

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

## TODO

### RELEASE-NECESSARY

<details>

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

</details>

### Low Importance

<details>

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

</details>

## Media

**Custom Plasmaman Outfits**

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

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

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

**Plasmaman Melee Attack**

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

**Chat bubble**

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

**Plasmaman Body**

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

With different colors:

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

**Skeleton Language**

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

**(Bonus) Skeleton chat bubble**

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

**Self-Extinguish**

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

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

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

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

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

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

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

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

**Envirosuit Extinguisher Refill**

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

**Loadouts**

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

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

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

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

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

**Glow In The Dark**

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

## Changelog

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

---------

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

(cherry picked from commit e68e0c3f4b9cf263e07efc888b32a091df62fb51)
2025-01-29 20:19:20 +03:00
sleepyyapril
885ee5a831 Wizmerge for Station AI (#1351)
<!--
This is a semi-strict format, you can add/remove sections as needed but
the order/format should be kept the same
Remove these comments before submitting
-->

# Description

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

---------

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

(cherry picked from commit 93ed70acfeda357133a701f637d3faeec02749bb)
2025-01-14 00:13:42 +03:00
Spatison
a2557f75a6 Upstream (#129) 2024-11-21 17:49:04 +07:00
DEATHB4DEFEAT
47b10a01b0 Catch-Up Cherry Pick 2 (#944)
# Description

Picked 400 commits (and skipped many, many more) from WizDen since #540.
Stopped at commit 332f54a3aebe669f6e50d26e7b047f0bdc28e0fb (Lobby
Refactor).

---

# TODO

- [x] Pick
- [x] Compile
- [x] Fix runtime errors
- [ ] Fix up humanoid profile editor
- [ ] Test everything

---

# Changelog

🆑
- add: Merged 400 WizDen PRs. Happy testing!

---------

Co-authored-by: Plykiya <58439124+Plykiya@users.noreply.github.com>
Co-authored-by: FungiFellow <151778459+FungiFellow@users.noreply.github.com>
Co-authored-by: osjarw <62134478+osjarw@users.noreply.github.com>
Co-authored-by: Ubaser <134914314+UbaserB@users.noreply.github.com>
Co-authored-by: beck-thompson <107373427+beck-thompson@users.noreply.github.com>
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
Co-authored-by: Magnus Larsen <i.am.larsenml@gmail.com>
Co-authored-by: Hanz <41141796+Hanzdegloker@users.noreply.github.com>
Co-authored-by: Kukutis96513 <146854220+Kukutis96513@users.noreply.github.com>
Co-authored-by: potato1234_x <79580518+potato1234x@users.noreply.github.com>
Co-authored-by: Gotimanga <127038462+Gotimanga@users.noreply.github.com>
Co-authored-by: Mangohydra <156087924+Mangohydra@users.noreply.github.com>
Co-authored-by: TsjipTsjip <19798667+TsjipTsjip@users.noreply.github.com>
Co-authored-by: lzk <124214523+lzk228@users.noreply.github.com>
Co-authored-by: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
Co-authored-by: Morb <14136326+Morb0@users.noreply.github.com>
Co-authored-by: MilenVolf <63782763+MilenVolf@users.noreply.github.com>
Co-authored-by: KrasnoshchekovPavel <119816022+KrasnoshchekovPavel@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
Co-authored-by: DrSmugleaf <10968691+DrSmugleaf@users.noreply.github.com>
Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: KittenColony <149278380+KittenColony@users.noreply.github.com>
Co-authored-by: ShadowCommander <shadowjjt@gmail.com>
Co-authored-by: Mr. 27 <45323883+Dutch-VanDerLinde@users.noreply.github.com>
Co-authored-by: T-Stalker <43253663+DogZeroX@users.noreply.github.com>
Co-authored-by: ERROR404 <100093430+ERORR404V1@users.noreply.github.com>
Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>
Co-authored-by: Jezithyr <jezithyr@gmail.com>
Co-authored-by: Psychpsyo <60073468+Psychpsyo@users.noreply.github.com>
Co-authored-by: no <165581243+pissdemon@users.noreply.github.com>
Co-authored-by: K-Dynamic <20566341+K-Dynamic@users.noreply.github.com>
Co-authored-by: Ciac32 <aknoxlor@gmail.com>
Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: NotSoDana <75203942+NotSoDana@users.noreply.github.com>
Co-authored-by: Simon <63975668+Simyon264@users.noreply.github.com>
Co-authored-by: Repo <47093363+Titian3@users.noreply.github.com>
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
Co-authored-by: nao fujiwara <awkwarddryad@gmail.com>
Co-authored-by: Michael <107807667+Doc-Michael@users.noreply.github.com>
Co-authored-by: Vasilis <vasilis@pikachu.systems>
Co-authored-by: Lamrr <96937466+Lamrr@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: Jay <67732946+DuskyJay@users.noreply.github.com>
Co-authored-by: Just-a-Unity-Dev <67359748+Just-a-Unity-Dev@users.noreply.github.com>
Co-authored-by: nikthechampiongr <32041239+nikthechampiongr@users.noreply.github.com>
Co-authored-by: Flareguy <78941145+Flareguy@users.noreply.github.com>
Co-authored-by: Tyzemol <85772526+Tyzemol@users.noreply.github.com>
Co-authored-by: Alzore <140123969+Blackern5000@users.noreply.github.com>
Co-authored-by: Pok <113675512+Pok27@users.noreply.github.com>
Co-authored-by: RumiTiger <154005209+RumiTiger@users.noreply.github.com>
Co-authored-by: Verm <32827189+Vermidia@users.noreply.github.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
Co-authored-by: Killerqu00 <47712032+Killerqu00@users.noreply.github.com>
Co-authored-by: Ty Ashley <42426760+TyAshley@users.noreply.github.com>
Co-authored-by: exincore <me@exin.xyz>
Co-authored-by: 0x6273 <0x40@keemail.me>
Co-authored-by: Kara <lunarautomaton6@gmail.com>
Co-authored-by: Ygg01 <y.laughing.man.y@gmail.com>
Co-authored-by: Łukasz Mędrek <lukasz@lukaszm.xyz>
Co-authored-by: Hannah Giovanna Dawson <karakkaraz@gmail.com>
Co-authored-by: TurboTracker <130304754+TurboTrackerss14@users.noreply.github.com>
Co-authored-by: OnsenCapy <101037138+LGRuthes@users.noreply.github.com>
Co-authored-by: pigeonpeas <147350443+pigeonpeas@users.noreply.github.com>
Co-authored-by: Cojoke <83733158+Cojoke-dot@users.noreply.github.com>
Co-authored-by: Tornado Tech <54727692+Tornado-Technology@users.noreply.github.com>
Co-authored-by: Rio <110139251+Riolume@users.noreply.github.com>
Co-authored-by: vorkathbruh <152932728+vorkathbruh@users.noreply.github.com>
Co-authored-by: Sphiral <145869023+SphiraI@users.noreply.github.com>
Co-authored-by: PrPleGoo <PrPleGoo@users.noreply.github.com>
Co-authored-by: Moomoobeef <62638182+Moomoobeef@users.noreply.github.com>
Co-authored-by: username <113782077+whateverusername0@users.noreply.github.com>
Co-authored-by: Boaz1111 <149967078+Boaz1111@users.noreply.github.com>
Co-authored-by: Джексон Миссиссиппи <tripwiregamer@gmail.com>
Co-authored-by: Brandon Li <48413902+aspiringLich@users.noreply.github.com>
Co-authored-by: Jajsha <101492056+Zap527@users.noreply.github.com>
Co-authored-by: RiceMar1244 <138547931+RiceMar1244@users.noreply.github.com>
Co-authored-by: IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com>
Co-authored-by: youtissoum <51883137+youtissoum@users.noreply.github.com>
Co-authored-by: ike709 <ike709@users.noreply.github.com>
Co-authored-by: icekot8 <93311212+icekot8@users.noreply.github.com>
Co-authored-by: keronshb <54602815+keronshb@users.noreply.github.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: Geekyhobo <66805063+Geekyhobo@users.noreply.github.com>
Co-authored-by: FoxxoTrystan <45297731+FoxxoTrystan@users.noreply.github.com>
# Conflicts:
#	Content.Client/Input/ContentContexts.cs
#	Content.Client/Lobby/LobbyState.cs
#	Content.Client/Lobby/UI/HumanoidProfileEditor.xaml
#	Content.Client/Lobby/UI/LobbyGui.xaml
#	Content.Client/Lobby/UI/LobbyGui.xaml.cs
#	Content.Client/Preferences/UI/CharacterSetupGui.xaml.cs
#	Content.Client/UserInterface/Systems/MenuBar/Widgets/GameTopMenuBar.xaml
#	Content.Server/Disposal/Unit/EntitySystems/DisposalUnitSystem.cs
#	Content.Server/Fluids/EntitySystems/PuddleSystem.Spillable.cs
#	Content.Server/GameTicking/GameTicker.Spawning.cs
#	Content.Shared/Alert/AlertType.cs
#	Content.Shared/Input/ContentKeyFunctions.cs
#	Content.Shared/Preferences/HumanoidCharacterProfile.cs
#	Content.Shared/Weapons/Melee/MeleeWeaponComponent.cs
#	Resources/ConfigPresets/EinsteinEngines/default.toml
#	Resources/Prototypes/Alerts/alerts.yml
#	Resources/Prototypes/Entities/Clothing/OuterClothing/coats.yml
#	Resources/Prototypes/Entities/Clothing/OuterClothing/hardsuits.yml
#	Resources/Prototypes/Entities/Clothing/Uniforms/jumpskirts.yml
#	Resources/Prototypes/Entities/Objects/Weapons/Melee/e_sword.yml
#	Resources/Prototypes/Entities/Objects/Weapons/Melee/sword.yml
#	Resources/Prototypes/Recipes/Crafting/Graphs/improvised/makeshiftstunprod.yml
#	Resources/Prototypes/Voice/speech_emotes.yml
#	Resources/keybinds.yml
2024-10-19 14:53:37 +07:00
Angelo Fallaria
a9280bb920 Vulpkanin Rework: Number Changes (#713)
# Description

Per #711, this PR adds new stat changes to Vulpkanins to make them more
mechanically interesting and distinct from Humans.

- Receive the Voracious trait by default, giving them 2x eating/drinking
speed.
- Takes 30% less Cold damage
- Takes 30% more Heat damage, up from 15%.
- Hunger rate increased by 25%.
- Receive 25% more fire stacks, increasing the Heat damage and duration
of being on fire.
- Flash duration has been increased by 50%.
  - The duration of flashes, 5 seconds, will become 7.5 seconds.

**Only merge** alongside #715.

## Media

<details><summary>Expand</summary>

**New flash duration**


https://github.com/user-attachments/assets/afafd890-d40b-4c63-9259-53ae6a355e53

</details>

## Changelog

🆑 Skubman
- add: Vulpkanins receive the Voracious trait for free, giving them 2x
eating/drinking speed, but Vulpkanins get hungrier 25% faster.
- tweak: Vulpkanins gain a 30% Cold resistance, but their Heat
vulnerability has increased from 15% to 30%. Vulpkanins also receive 25%
more Fire stacks, amplifying the damage and duration of being on fire.
- tweak: Flash duration against Vulpkanins has been increased by 50%.

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
2024-08-14 01:30:36 -04:00
SimpleStation14
2138b8ac18 Mirror 26441: Fix atmos NaN error (#449)
## Mirror of PR #26441: [Fix atmos NaN
error](https://github.com/space-wizards/space-station-14/pull/26441)
from <img src="https://avatars.githubusercontent.com/u/10567778?v=4"
alt="space-wizards" width="22"/>
[space-wizards](https://github.com/space-wizards)/[space-station-14](https://github.com/space-wizards/space-station-14)

###### `fdb4a61487db9fc67714c913832427063abdea42`

PR opened by <img
src="https://avatars.githubusercontent.com/u/60421075?v=4"
width="16"/><a href="https://github.com/ElectroJr"> ElectroJr</a> at
2024-03-26 04:27:08 UTC - merged at 2024-03-26 04:44:56 UTC

---

PR changed 16 files with 43 additions and 25 deletions.

The PR had the following labels:
- Status: Needs Review


---

<details open="true"><summary><h1>Original Body</h1></summary>

> - Fixes a bug I introduced in #22521 that caused the temperature to be
set to `NaN`. I don't know for sure, but I assume this is causing the
current atmos issues
> - Fixes `FixVacuum` not working after #22521
> - Removes some redundant yaml that was setting FixVacuum to its
default value
> 
> 🆑
> - fix: Fixed an atmos bug, which was (probably) causing atmospherics
on the station to behave incorrectly.


</details>

Co-authored-by: SimpleStation14 <Unknown>
2024-06-13 15:30:31 -04:00
SimpleStation14
6e0ffe81bc Mirror: Partial atmos refactor (#312)
## Mirror of PR #22521: [Partial atmos
refactor](https://github.com/space-wizards/space-station-14/pull/22521)
from <img src="https://avatars.githubusercontent.com/u/10567778?v=4"
alt="space-wizards" width="22"/>
[space-wizards](https://github.com/space-wizards)/[space-station-14](https://github.com/space-wizards/space-station-14)

###### `18a35e7e83b2b71ee84b054d44d9ed5e595dd618`

PR opened by <img
src="https://avatars.githubusercontent.com/u/60421075?v=4"
width="16"/><a href="https://github.com/ElectroJr"> ElectroJr</a> at
2023-12-15 03:45:42 UTC

---

PR changed 43 files with 891 additions and 635 deletions.

The PR had the following labels:
- Status: Needs Review


---

<details open="true"><summary><h1>Original Body</h1></summary>

> This PR reworks how some parts of atmos code work. Originally it was
just meant to be a performance and bugfix PR, but it has ballooned in
scope. I'm not sure about some of my changes largely because I'm not
sure if some things were an oversight or an intentional decision for
some reason.
> 
> List of changes:
> - The `MolesArchived float[]` field is now read-only
> - It simply gets zeroed whenever the `GasMixture` is set to null
instead of constantly reallocating
> - Airtight query information is now cached in `TileAtmosphere`
> - This means that it should only iterate over anchored entities once
per update.
> - Previously an invalidated atmos tile would cause
`ProcessRevalidate()` to query airtight entities on the same tile six
times by calling a combination of `GridIsTileAirBlocked()`,
`NeedsVacuumFixing()`, and `GridIsTileAirBlocked()`. So this should help
significantly reduce component lookups & entity enumeration.
> - This does change some behaviour. In particular blocked directions
are now only updated if the tile was invalidated prior to the current
atmos-update, and will only ever be updated once per atmos-update.
> - AFAIK this only has an effect if the invalid tile processing is
deferred over multiple ticks, and I don't think it should cause any
issues?
> - Fixes a potential bug, where tiles might not dispose of their
excited group if their direction flags changed.
> - `MapAtmosphereComponent.Mixture` is now always immutable and no
longer nullable
> - I'm not sure why the mixture was nullable before? AFAICT the
component is meaningless if its null?
> - Space "gas" was always immutable, but there was nothing that
required planet atmospheres to be immutable. Requiring that it be
immutable gets rid of the constant gas mixture cloning.
> - I don't know if there was a reason for why they weren't immutable to
begin with.
> - Fixes lungs removing too much air from a gas mixture, resulting in
negative moles.
> - `GasMixture.Moles` is now `[Access]` restricted to the atmosphere
system.
> - This is to prevent people from improperly modifying the gas mixtures
(e.g., lungs), or accidentally modifying immutable mixtures.
> - Fixes an issue where non-grid atmosphere tiles would fail to update
their adjacent tiles, resulting in null reference exception spam
>   - Fixes #21732
>   - Fixes #21210 (probably) 
> - Disconnected atmosphere tiles, i.e., tiles that aren't on or
adjacent to a grid tile, will now get removed from the tile set.
Previously the tile set would just always increase, with tiles never
getting removed.
> - Removes various redundant component and tile-definition queries.
> - Removes some method events in favour of just using methods.
> - Map-exposded tiles now get updated when a map's atmosphere changes
(or the grid moves across maps).
> - Adds a `setmapatmos` command for adding map-wide atmospheres.
> - Fixed (non-planet) map atmospheres rendering over grids.
> 
> ## Media
> 
> This PR also includes changes to the atmos debug overlay, though I've
also split that off into a separate PR to make reviewing easier
(#22520).
> 
> Below is a video showing that atmos still seems to work, and that
trimming of disconnected tiles works:
> 
>
https://github.com/space-wizards/space-station-14/assets/60421075/4da46992-19e6-4354-8ecd-3cd67be4d0ed
> 
> For comparison, here is a video showing how current master works
(disconnected tiles never get removed):
> 
>
https://github.com/space-wizards/space-station-14/assets/60421075/54590777-e11c-41dc-b49d-fd7e53bfeed7
> 
> 🆑
> - fix: Fixed a bug where partially airtight entities (e.g., thin
windows or doors) could let air leak out into space.
> 


</details>

Co-authored-by: SimpleStation14 <Unknown>
2024-05-20 02:33:00 -04:00
Nemanja
c3f420815f Add events for TemperatureProtection and PressureProtection (#25165)
(cherry picked from commit 8ed32a1e42d768322ccb6dc6f5311bd58fd0dea3)
2024-02-18 23:11:15 +01:00
Arendian
0bb967bcfd Incendiary projectiles and lava firestack reduction (#23479)
* Firestack reduction and FireStackOnHit added

* Slight lava tweak

* Remove component and tweaked incendiary pellets

* Incendiary grenade tweak

* Now ignites on projectile fixture or ignition fixture + incendiary grenade tweak

* flare shells now  ignite entities again

* Comment

* undo flare gun ignite

(cherry picked from commit 6bf699429818c15a72ea5bb073a98ca0559b59a7)
2024-01-26 22:11:45 +01:00
SapphicOverload
405349cf48 Hardsuit and EVA helmets allow using internals without a mask (#22716) 2023-12-22 22:59:07 +01:00
Leon Friedrich
05ed1723fa Rebalance fireaxe (#22731)
* Rebalance Fireaxe

* Nerf it a bit
2023-12-22 22:59:07 +01:00
metalgearsloth
b1ee2d48ff Unrevert audio (#21330)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2023-12-02 20:16:36 +01:00
Leon Friedrich
945a00e385 Re-use atmos queues (#21803) 2023-12-02 18:59:48 +01:00
LordEclipse
33537f03eb Make more fields VV-writeable (#21754) 2023-11-19 22:23:30 +01:00
Leon Friedrich
82aa1d6a0f Flammable system bug fixes. (#21594) 2023-11-19 22:07:43 +01:00
deltanedas
21923cb2e6 mech nitrogen filtering 2 (#19868)
* target oxygen logic

* filter out nitrogen when low on oxygen

* vvrw and datafield for everything

* :trollface:

* bruh does work

* tagless chicken

* move into atmos, make it not depend on mech

* update mech prototype

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-11-12 20:45:18 +01:00
Ed
6995cd257f Candles (#21087)
Co-authored-by: faint <46868845+ficcialfaint@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
2023-11-12 20:35:48 +01:00
DrSmugleaf
9cc8a7fc81 Remove 700 usages of Component.Owner (#21100) 2023-10-20 15:31:13 +02:00
liltenhead
ffe960b891 nerf maxcaps (#20226) 2023-09-27 21:59:12 +02:00
DrSmugleaf
c71f97e3a2 Refactor actions to be entities with components (#19900) 2023-09-08 18:16:05 -07:00
Errant
63c7bca04e Add pressure limit to gas tanks (#19879) 2023-09-06 21:37:23 -08:00
Slava0135
81388f77ed Add gas tank valve (#19830) 2023-09-05 09:20:05 -08:00
Ilya246
6cf15177b3 Rebalance radiator cooling and material cost (#18823) 2023-08-24 09:36:16 -08:00
DrSmugleaf
a88e747a0b Refactor serialization copying to use source generators (#19412) 2023-08-22 18:14:33 -07:00
mhamster
5ce47fbb03 Add ability to burn papers +Flammable tweaks. (#18955) 2023-08-14 15:45:55 -04:00
Kevin Zheng
db5dee6db3 Add radiators (#18728)
* Add radiators

* Limit heat transfer to fluid heat capacity

* Adjust datafield names

* Fix material arbitrage

* This code has been debugged, and so there are no more bugs. Debugging code is therefore unnecessary

* Adjust radiator layer subfloor visibility

* Cache CVars

* No default

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

* Like and unsubscribe

* Fix CVar caching

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2023-08-06 02:21:05 -06:00
Nemanja
37e6d99e49 Gas analyzer compref removal (#17992)
* Gas analyzer compref removal

* don't question it
2023-07-12 13:47:45 -06:00
metalgearsloth
44a3db398b Draw MapAtmosphere gasses (#17688) 2023-06-28 21:22:03 +10:00
metalgearsloth
06efff2b2d Flare gun 1984 (#15807) 2023-05-04 12:46:02 +10:00
Ilya246
ca6a92a746 [tweak] make maxcaps sqrt-scaling (#16016) 2023-05-02 16:12:09 -06:00
Menshin
76903dd145 Cached barotrauma resistance and immunity values instead of computing them each Update() (#15055) 2023-05-01 03:58:26 +10:00
eclips_e
21fd9ddacf Silly value change (#14180) 2023-02-19 23:12:26 +11:00
Visne
5a5a3afbb1 Remove some obsolete AppearanceComponent method usages (#13726) 2023-02-02 12:34:53 -04:00
metalgearsloth
bf79d76666 Content update for ECS physics (#13291) 2023-01-15 15:38:59 +11:00
DrSmugleaf
7fbc2608e8 Remove redundant read-only VV from datafields (#12626) 2022-11-16 20:22:11 +01:00
Bright0
ecc969d8f4 Internals alert fix and adjustment (#12517)
* add low pressure data field

* resolve CheckSeverity bug, replace logic

* add configurable low pressure threshhold
2022-11-09 19:02:14 -06:00
Paul Ritter
c5e5729bd4 removes beforeserialization hook (#12319) 2022-11-03 12:41:12 +11:00
theashtronaut
868abaca5c Gas Analyzer can now scan pipes/devices along with the environment (#10976) 2022-09-08 07:22:14 -07:00