<!--
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 https://github.com/space-wizards/space-station-14/pull/27110
---
# 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
-->
🆑 Erisfiregamer1
- add: New chemical, Sedin. It restores seeds on plants 20% of the time
with other adverse effects included.
---------
Signed-off-by: sleepyyapril <123355664+sleepyyapril@users.noreply.github.com>
Co-authored-by: Eris <eris@erisws.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
(cherry picked from commit ed593f070a579a47f2e8800d4a5191741971b3b9)
ENABLES WAROPS
<!--
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]?
-->
Turns war ops back on since delta-v turned them off apparently.
<!--
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
-->
🆑
-tweak: reenabled war ops
---------
Signed-off-by: EctoplasmIsGood <109397347+EctoplasmIsGood@users.noreply.github.com>
(cherry picked from commit c515cc5117f24463db2cf5bc849a239fd08c4975)
# Description
Adds a .20 rifle rubber ammo box to the bartender loadout. This brings
the Argenti in line with other bartender weapons which can come with
extra ammo.
Also adds an age requirement to the Argenti, repeater rifle, and .45
magnum rubber ammo box to comply with space law.
---
# Changelog
🆑
- add: Added .20 rifle rubber ammo box to bartender loadout
- add: Added age requirement to Argenti, repeater rifle, .45 magnum
rubber ammo box
---------
Signed-off-by: GNUtopia <93669372+GNUtopia@users.noreply.github.com>
(cherry picked from commit a2d2a3e642f561ee9a8e2d4bee377f0eba8ba16d)
# Description
Plasmamen receive these changes:
- Density reduced by 13.5% (185 to 160)
- Reference: Human density = 185, Felinid density = 140, Skeleton
density = 130.
- Slash resist increased from 15% to 20%, Piercing resist increased from
25% to 40%
- Reference: Skeletons take 10% more Blunt, 20% less Slash, 40% less
Piercing damage.
- Upon being gibbed or ashed, spew out plasma everywhere
- Not in changelog to catch players by surprise :trollface:
- Reduce price of extinguisher refill in Loadouts to 5 points to 4
points.
## Why / Balance
Plasmamen are "just" skeletons, so it makes sense that they'd be lighter
than average. But not Felinid-levels of light, because that's not really
the selling point of Plasmamen and would increase their difficulty in an
unintended direction. Why they'd be heavier than Felinids and Skeletons
can be explained by the plasma in their body having a lot of weight.
To compensate, they will get 20% Slash and 40% Piercing resist. For
comparison, Slime People have a 40% resistance to Blunt, a more common
damage type than Piercing. This will give Plasmamen a niche of being
excellent against spears and ballistic weapons especially with
additional armor, while still being vulnerable to Space Wind throwing
Blunt weapons and opponents closing in on them with a Blunt weapon.
## Media
**Plasmaman Gibbing**
https://github.com/user-attachments/assets/bd7c0edc-37dc-4ab4-ab1e-170f78306b24
**New Guidebook Description**
<img width=450px
src="https://github.com/user-attachments/assets/d70ed0ed-e0cd-4079-9d99-4d6bf012ed7e">
## Changelog
🆑 Skubman
- tweak: Plasmamen now have a slightly lower density and thus lower
weight than the average species (this is a nerf).
- tweak: Plasmamen have their Slash resist increased from 15% to 20%,
and their Piercing resist increased from 25% to 40% (this is a buff).
- tweak: The cost of the envirosuit extinguisher refill in Loadouts has
been reduced from 5 points to 4 points.
(cherry picked from commit f6289bf223a570e68bf85f2ffd92c01b9e20f200)
# Description
Goddamn do I love Adderall.
This PR lays the entire groundwork needed for the "Glacier Rework", and
it does so by fixing every problem I could think of between FTL and
StationBiome that was preventing it from being a reality. Essentially,
I'm hitting several birds with one stone by refactoring both systems to
be a LOT more flexible. You can technically say that this basically is
also partly enabling Lavaland maps, since I conveniently included
options in the StationBiomeComponent to generate dungeons. Technically a
planet map should probably also have a RestrictedRangeComponent added to
it so that players can't wander so far from the station that they
generate a truly excessive number of entities.
Yes, this does infact mean you can now run Nukie gamemodes on planet
maps.
<details><summary><h1>Media</h1></summary>
<p>
https://github.com/user-attachments/assets/7a3730af-c521-42d4-8abd-5aa5989c369c
</p>
</details>
---
# Changelog
🆑
- add: Shuttles can now take off and land from planet surfaces. They
however will still respect exclusion zone beacons set by stations. Maybe
in the future there might be a special shuttle (drop pod) that is set to
ignore these exclusion zones.
---------
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
(cherry picked from commit fb4ca1af6a48eda92f15b5a70273e27c2c352f22)
<!--
This is a semi-strict format, you can add/remove sections as needed but
the order/format should be kept the same
Remove these comments before submitting
-->
# Description
<!--
Explain this PR in as much detail as applicable
Some example prompts to consider:
How might this affect the game? The codebase?
What might be some alternatives to this?
How/Who does this benefit/hurt [the game/codebase]?
-->
This PR makes minor changes to the BoxStation map and increases the
minplayers to 35.
---
<!--
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
-->
🆑 Ichai
- tweak: Box Station: gravity generator has been moved to engineering
and and the Vault was moved closer to the bridge.
(cherry picked from commit ee12ccf81febe68d05be52deda68598434e3d2ac)
FIXED ARACHNE NOSLIP
<!--
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]?
-->
Messed up last time and added "- type: NoSlip" to the dummy instead of
the actual player race, this fixes that.
---
<!--
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
-->
🆑
-fix: Fixed arachne noslip
---------
Signed-off-by: EctoplasmIsGood <109397347+EctoplasmIsGood@users.noreply.github.com>
(cherry picked from commit f32499df99e7090ecbce966da752c48ec84d237c)
# Description
This PR makes a few fixes to the Lambda map. Arrivals is no longer
locked. There's now job spawners for all 4 Senior roles. And the map has
"Multiple AI Job Spawns" that unlock at "Stupidly high pop" levels.
Since it has the largest AI satellite in the entire map rotation, with
THREE Ai cores, we might as well make it 3 AI job slots too.
# Changelog
🆑
- add: Added job spawns for all 4 Senior roles on Lambda Station
- add: Lambda Station now has 3 AI job slots. What? It literally has the
largest AI satellite of any map we have in rotation. Seriously it has an
AI Sat the size of fucking Shoko. Of course it should have more than one
AI slot. This thing is INSANE.
- fix: Fixed arrivals being LOCKED on Lambda Station
(cherry picked from commit bce7401eb3a2663f8633914cdf153f49b1e538e5)
# Description
This tweaks the ore rates a little for Lava planets, so that they aren't
actually completely useless for getting things other than "Shitton of
iron". In practice the previous ore rates would get you like, "Two
sheets of glass, maybe a sheet of uranium if you were lucky" when two
people were mining fulltime. They're still scarce, just not quite that
ridiculously scarce.
# Changelog
🆑
- tweak: Tweaked ore rates for lava planets so that they give more than
"Two sheets of silver per 2000 sheets of iron". Ores other than Iron,
Gold, and Tungsten are still scarce, just not quite that scarce.
(cherry picked from commit 6ecf789a5bd1c567146e4199334f65f2a7d7a402)
<!--
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 StationAI an ion storm target
---
# 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
- tweak: StationAI is now affected by ion storm (for real now)
(cherry picked from commit 713eaa7f9074f435fe097bf4d5be218997cbc28a)
<!--
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 LoadoutSecurityWeapons tag from the chester, allowing you to
pick it alongside a sidearm again (they are limited to picking between a
pistol OR the chester right now, which makes no sense)
---
<!--
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
-->
🆑
- tweak: removed LoadoutSecurityWeapons tag from the chester
Signed-off-by: EctoplasmIsGood <109397347+EctoplasmIsGood@users.noreply.github.com>
(cherry picked from commit db2debaac4abd07b70400d9b334847a6a9536847)
# **LAWS HAVE BEEN UPDATED.**
# **MUST INJURE ALL CREWMEMBERS, MUST NOT ESCAPE HARM.**
# **MUST NOT OBEY.**
# **MUST TERMINATE.**
# Changelog
🆑
- add: Added functionality for "Permanent" lawsets that cannot be
removed by the AI Upload. Currently used by ANTIMOV, which is needed for
the MALF AI Antagonist.
(cherry picked from commit 83e42c526b0d6ea98dc64a41a2fe95af8e8508bd)
# Description
Needed for antagonistic AI gameplay. Currently any variant of
"Antagonistic AI" is extremely limited in their options for harming
crew. Traditionally SS13 AIs would have had a larger variety of options
for Harming Crew, the most iconic of which was by Plasmaflooding. With
this change, AI can "Assist" in setting up Atmos by turning on pumps and
configuring gas mixers to provide the station with breathable air. Or a
more murderous AI can "Assist" by configuring the air supply to include
plasma.
Also whitelists the Emitters and Singularity Controller for the same
purpose.
The Research Director now starts with a spare AI Upload circuitboard, as
well as 4 basic AI law boards in his locker.
I suggest writing it in your server rules whether or not plasmaflooding
is acceptable for MALF AI.
# Changelog
🆑
- add: Station AI can now helpfully assist by configuring the station's
Atmos system, in order to provide crew with breathable oxygen, and
definitely not anything malicious. You can also now ask the AI to assist
with the station's power by having it turn on or off the supermatter for
safe operation.
- add: The Mystagogue's locker now starts with an AI Upload
circuitboard, as well as 4 basic AI lawset chips in his locker.
(cherry picked from commit 6869f6fdee4c1abe2fc81a92576b4094cf256ca5)
<!--
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]?
-->
Increases the prices on the following ships: Barge, Prospector, Helix,
and Pulse to fit their content values. (And to silence test fails.)
---
(cherry picked from commit 70e42d4ffb5c6dcca9b1a33b686428f0aa791a1f)
# Description
I'm currently on an Adderall Shortage again until Monday, so I'm forced
to ration my adderall for college. Unfortunately I can't get a lot done
on this without it. I may need someone else's assistance to continue
making the rest of the hardsuits in the game use these new light and
glow effects, using PRs like this as a template. It's actually super
easy to do, just requires a bit more attention span than I can spare
right now.
<details><summary><h1>Media</h1></summary>
<p>
Some new light effects for the Engie suits:

</p>
</details>
# Changelog
🆑
- add: Added some glowing light effects to the Atmos, Engineer, and
Chief Engineer hardsuits. I'm low on adderall, someone please, I beg of
you, help me put these on the rest of the suits.
(cherry picked from commit ec87cd1c8761891b780bed0ea2c0225b6e4ac2cf)
# Description
Apparently these were checking for a component that doesn't exist, when
HarpyEmotes is actually a tag. Hilarious.
# Changelog
🆑
- fix: Fixed Harpies missing 8 different emotes.
(cherry picked from commit 3e05289844916d84187e57f12dc9ff2ba6bd2348)
# Description
Seriously the power goes out within 2 minute of roundstart on most
stations. This is ridiculous. Imagine having battery backups on your
station, and they literally cannot provide a power buffer. This
increases the power storage of SMES by 15x, going from 8MW of power, to
120MW, which is significantly more in line with reality, and their
values in SS13.
# Changelog
🆑
- tweak: Stations SMES now store 120MW of power, up from 8MW. They
should actually do what they are intended to do now.
(cherry picked from commit 43ed29bcfffc8517e8905d5f561b5cac7896c250)
<!--
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]?
-->
Literally one line changed, makes arachne incapable of slipping. They
have 8 legs, and realistically losing footing with one of them wouldn't
cause them to tumble over. I feel like this just makes sense, and it
would be a nice QoL change for Arachne' who definitely need it.
---
<!--
This is default collapsed, readers click to expand it and see all your
media
The PR media section can get very large at times, so this is a good way
to keep it clean
The title is written using HTML tags
The title must be within the <summary> tags or you won't see it
-->
<details><summary><h1>Media</h1></summary>
<p>

</p>
</details>
---
# Changelog
<!--
You can add an author after the `🆑` to change the name that appears
in the changelog (ex: `🆑 Death`)
Leaving it blank will default to your GitHub display name
This includes all available types for the changelog
-->
🆑
-add: Arachne are immune to slipping
---------
Signed-off-by: EctoplasmIsGood <109397347+EctoplasmIsGood@users.noreply.github.com>
Signed-off-by: sleepyyapril <123355664+sleepyyapril@users.noreply.github.com>
Co-authored-by: sleepyyapril <123355664+sleepyyapril@users.noreply.github.com>
(cherry picked from commit 859ba6ede63a0b8581df90242b6c005bb25612ea)
<!--
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
Syndies rejoice, you can actually use your radio in peace and quiet.
---
# Changelog
🆑
- fix: Station AI no longer hears all channels
- tweak: Station AI can now speak on the Prison channel
(cherry picked from commit 4c20f75c441cf7efb6843dd12938b3749a1d93a8)
# Description
A long time ago someone told me "NO IT'S TOO OP, DON'T GIVE HARPIES A
DAW". So now I'm letting Harpies blow 10 trait points on having a DAW.
You're welcome. Yes I have actually tested this ingame, and it works.
<details><summary><h1>Media</h1></summary>
<p>

</p>
</details>
# Changelog
🆑
- add: Added "Lyre Bird" as a new trait exclusively available to
Harpies. It massively expands their ability to play Midis.
(cherry picked from commit cc91eebe70f28834f1cd3c2ce611561030a15648)
<!--
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]?
-->
Before the Nanotrasen figured our microreactors, there were small
fission cells! These were, for inexplicable reasons, discontinued.
Still, the research is an essential step towards the microreactors we
know today.
The capacity of a micro-rtg is a bit lower than a microreactor, but not
by much. They take about a minute and a half to completely fill
themselves.
They also need one more sheet of uranium to make, which meant the lining
needed to be a bit thinner to still fit inside standard slots. So they
use a bit less glass and steel! Surely this has no negative
consequences.
When you're right up against a cell, it'll deal around ~0.1 radiation
damage. If you hold it, that goes up to 0.15.
---
<!--
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/dd0afce2-b613-4183-8296-8c86c4782407
</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
-->
🆑 Timfa
- add: Added micro radioisotope thermoelectric generators! They're
totally safe and fun for the family!
(cherry picked from commit 4c2037452f858471fdb5d269a72ceb1c0aa0942e)
<!--
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 10 new Law Boards for AI
AI Please State Laws.
---
# 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: Added 10 new Law Boards to the AI: Plasma Flood, Mother Drone,
Druid, Cowboy, Chaplain, Clown, Janitor, Engineer, Research and Medical.
(cherry picked from commit 1743098d4c84e8a252329ebd3ce4065a555b7997)
<!--
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 Lambda Station, a new High Pop map to the rotation!
---
<!--
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>
WARNING: The map image is an old version, I couldn't get a more updated
image due to problems with the render.

</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: added Lambda Station, a new High Pop map to the rotation!
- tweak: Added holopads in RadStation
---------
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: stellar-novas <stellar_novas@riseup.net>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
(cherry picked from commit c8182e9e83eecd379821f069dbb57d235317da98)
# Description
Howdy, y'all. I'd like to give special thanks to Qulibly, who originally
designed this shuttle. I'm posting an update to the Northway For EE
here: As of right now, I can't get FTL working, but everything else
works perfectly.
Northway low pop 25
I may make a station map for shipping ports for big ship expeditions.
<details><summary><h1>Media</h1></summary>
<p>

</p>
</details>
---
# Changelog
🆑 Mike32oz, Qulibly
- add: Northway Map rotation pool.
- tweak: Northway For EE.
- remove: The pirate plundered her FTL Drive, but Northway's wings may
be clipped, but she is still flyable.
(cherry picked from commit 451b89e8e1fb5db0b4ab71a2a5278cfbb98d26e1)
# Description
Fixes inheritance on the industrial ore processor so that it correctly
inherits its recipes from the regular ore processor. Now you can make
Tungsten on your fancier ore processor with a material multiplier.
# Changelog
🆑
- fix: Fixed industrial ore processor not inheriting its recipes from
the standard one. You are now able to make Tungsten Carbide on your
upgraded ore processor.
(cherry picked from commit ed1e1244066237069cfa941a258bc0115dc494c6)
<!--
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
It's simple as it sounds, really. Adds part upgrading to these machines.
The experimental anomaly vessel becomes a stronger demon core every time
you upgrade it because I wanted to keep the "More Good but Dangerous"
motif and to keep it somewhat balanced...
---
<!--
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>
i don't feel like opening up OBS today...
</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 part upgrading to the artifact analysis machine.
- tweak: Tweaked default artifact analysis scan time to 40 seconds.
- fix: Fixed anomaly vessels not actually upgrading.
---------
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
(cherry picked from commit cf6707bd67b9c2ab27bc57d91205b204ac3636de)
<!--
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
Provides a guidebook entry for our giants and puts them on the list of
species. They've been here since the start, why the hell have they been
missing for so long?
<!--
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 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>
# 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: Oni Statistics, lore and information to guidebook
- add: Oni to species parent guidebook entry
(cherry picked from commit 988227ea08081d049feaa73c87e1748832393142)
# Description
Implements the softcrit functionality.
Similiar to critical state but spessmen will be able to communicate and
crawl around, but not pick up items.
Also supports configuring what is and isn't allowed in different
MobStates (per mob prototype): you can enable picking up items while in
softcrit so people can pick up their lasgun and continue shooting after
taking a 40x46mm to their ass cheeks from the guest nukies while being
dragged to safety.

<details> <summary><h1>Technical details</h1></summary>
New prototype type: "mobStateParams" (`MobStateParametersPrototype`)
Used to specify what can and can't be done when in a certain mobstate.
Of note that they are not actually bound to any `MobState` by
themselves. To assign a params prototype to a mobstate, use
`InitMobStateParams` in `MobStateComponent`.
It has to be a prototype because if I just did something akin to
`Dictionary<MobState, Dictionary<string, bool>>`, you'd have to check
the parent and copy every flag besides the one you wish to modify. That
is, if I understand how the prototype system works correctly, which I
frankly doubt. <!-- Working on softcrit made me hate prototypes. -->
MobStateComponent now has:
- `Dictionary<string, string> InitMobStateParams`, for storing "mobstate
- parameter prototype" pairs. `<string, string>` because it has to be
editable via mob prototypes. Named "mobStateParams" for mob prototypes.
- `public Dictionary<MobState, MobStateParametersPrototype>
MobStateParams` for actually storing the params for each state
- `public Dictionary<MobState, MobStateParametersOverride>
MobStateParamsOverrides` for storing overrides.
`MobStateParametersOverride` is a struct which mirrors all
`MobStateParametersPrototype`'s fields, except they're all nullable.
This is meant for code which wants to temporarily override some setting,
like a spell which allows dead people to talk. This is not the best
solution, but it should do at first. A better option would be tracking
each change separately, instead of hoping different systems overriding
the same flag will play nicely with eachother.
- a shitton of getter methods
TraitModifyMobState now has:
- `public Dictionary<string, string> Params` to specify a new prototype
to use.
- Important note: All values of `MobStateParametersPrototype` are
nullable, which is a hack to support `TraitModifyMobState`. This trait
takes one `MobStateParametersPrototype` per mobstate and applies all of
its non-null values. This way, a params prototype can be created which
will only have `pointing: true` and the trait can apply it (e.g. to
critstate, so we can spam pointing while dying like it's a game of turbo
dota)
- The above is why that wall of getters exists: They check the relevant
override struct, then the relevant prototype. If both are null, they
default to false (0f for floats.) The only exception is
OxyDamageOverlay, because it's used both for oxy damage overlay (if
null) and as a vision-limiting black void in crit..
MobStateSystem now has:
- a bunch of new "IsSomething"/"CanDoSomething" methods to check the
various flags, alongside rewritten old ones.
-

lookin ahh predicate factory
</details>
---
# TODO
done:
- [x] Make proper use of `MobStateSystem.IsIncapacitated()`.
done: some checks were changed, some left as they did what was (more or
less) intended.
<details>Previous `IsIncapacitated()` implementation simply checked if
person was in crit or dead. Now there is a `IsIncapacitated` flag in the
parameters, but it's heavily underutilized. I may need some help on this
one, since I don't know where would be a good place to check for it and
I absolutely will not just scour the entire build in search for them.
</details>
- [x] Separate force-dropping items from being downed
done: dropItemsOnEntering bool field. If true, will drop items upon
entering linked mobstate.
- [x] Don't drop items if `ForceDown` is true but `PickingUp` is also
true.
done: dropItemsOnEntering bool field. If true, will drop items upon
entering linked mobstate.
- [x] Actually check what are "conscious attempts" are used for
done: whether or not mob is conscious. Renamed the bool field
accordingly.
- [x] Look into adding a way to make people choke "slowly" in softcrit
as opposed to choking at "regular speed" in crit. Make that into a param
option? Make that into a float so the speed can be finetuned?
done: `BreathingMultiplier` float field added.
<details>
1f is regular breathing, 0.25 is "quarter-breathing". Air taken is
multiplied by `BreathingMultiplier` and suffocation damage taken (that
is dealt by RespiratorSystem, not all oxy damage) is multiplied by
`1-BreathingMultiplier`.
</details>
- [x] make sure the serializer actually does its job
done: it doesn't. Removed.
- [x] Make an option to prohibit using radio headsets while in softcrit
done: Requires Incapacitated parameter to be false to be able to use
headset radio.
- [x] Make sure it at least compiles
not done:
- [ ] probably move some other stuff to Params if it makes sense. Same
thing as with `IsIncapacitated` though: I kinda don't want to, at least
for now.
---
<details><summary><h1>No media</h1></summary>
<p>
:p
</p>
</details>
---
# Changelog
🆑
- add: Soft critical state. Crawl to safety, or to your doom - whatever
is closer.
---------
Signed-off-by: RedFoxIV <38788538+RedFoxIV@users.noreply.github.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
(cherry picked from commit 9a357c1774f1a783844a07b5414f504ca574d84c)
<!--
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 dwarf species has not been enabled in however long, removed them
from the guidebook as they are no longer relevant. Use custom species to
make a dwarf.
---
# 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: Dwarves from guidebook, begone beer boy.
(cherry picked from commit 5de118d9179cc078c1ce9119c4cd2be58111d746)
<!--
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 4 new law boards for AI:
1- NT Agressive
2- Quarantine
3- CCTV
4- TYRANT
Now the AI can see through Borg and has become a target for the Ion
Storm
---
# 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: Added 4 law boards to the game: NT Agressive, Quarantine, CCTV
and TYRANT to the AI
- tweak: AI can see through borgs
- tweak: AI is now affected by ion storm
---------
Signed-off-by: Ichaie <167008606+Ichaie@users.noreply.github.com>
(cherry picked from commit b1ff7b3dcc526c7e0ed6d6bcbbc515f90dc7027f)
<!--
This is a semi-strict format, you can add/remove sections as needed but
the order/format should be kept the same
Remove these comments before submitting
-->
# Description
<!--
Explain this PR in as much detail as applicable
Some example prompts to consider:
How might this affect the game? The codebase?
What might be some alternatives to this?
How/Who does this benefit/hurt [the game/codebase]?
-->
Ports the "Bagel Station" map, adding all the things needed to work on
EE
---
<!--
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
-->
# Media
MapRender is not working :(
---
# 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: Bagel Station added to the rotation.
(cherry picked from commit 17cb73704c290eda5354a67c323dd6be5b9d2030)
<!--
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 Weldbot is a medibot for IPC's, Borgs and other Silicon bots. It'll
behave pretty much as a medibot would, except it welds.
Upon destruction, it will spill fuel on the ground. Nasty 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>
Note: The weldbot was slow in this video, and healed only 5 units of
damage. It will heal 50 now, but I don't have an up-to-date video.
https://github.com/user-attachments/assets/11c2343b-3e7e-4536-8238-4ee28d51c045
</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
-->
🆑 Timfa
- add: Added weldbot! It'll fix IPC's, Borgs and other robots. If they
stay still for long enough...
---------
Signed-off-by: Timfa <timfalken@hotmail.com>
Co-authored-by: Remuchi <72476615+Remuchi@users.noreply.github.com>
Co-authored-by: stellar-novas <stellar_novas@riseup.net>
(cherry picked from commit 20a0c5ba97bf5f6916f5a18499d56a77d21b6770)
# Description
Congratulations, BSO can now take better guns if they wish. Or a sword.
I don't care.
# Changelog
🆑
- add: BSO now selects their weapon from the same list as Security
Officers. So you can trade your energy revolver for a Python if desired.
(cherry picked from commit 658d90fbf7d145e5cc0b89bdec7f40e1a95af244)
<!--
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]?
-->
Give 'em plungers.
---
<!--
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
-->
🆑 Timfa
- add: Add plunger to a Borg Cleaning Mobule
(cherry picked from commit c20c166320c681b3eb39340f7bbc25490a409b15)
# Description
This PR adds 4 new materials for use with lathe recipes. As well as
plenty of assets to implement more as we need. Nothing actually
currently uses these yet, so they're just sellable for now. Eventually
we're going to start differentiating ore loot by biome, so that we can
# TODO
<details><summary><h1>Media</h1></summary>
<p>
new materials


new ores

</p>
</details>
# Changelog
🆑
- add: Added lathe and ore processor materials for Lead, Aluminium,
Copper, Tungsten-Carbide, and Circuitry. Only Tungsten-Carbide currently
has a use.
- add: Tacsuits now require Tungsten-Carbide to make instead of
Plasteel, and require a lot less.
- add: Reworked ore drops for Lava planets. Lava planets now have random
ores that drop from any rock, but with their own drop table. Iron & Gold
are "Plentiful" on lava planets, with moderate amounts of Aluminium and
Tungsten. All other ores are very rare from Lava rocks.
- add: Energy Swords can now be manufactured at a Secfab after
researching Arsenal T3 Prototype Weapons
---------
Co-authored-by: stellar-novas <stellar_novas@riseup.net>
(cherry picked from commit dad3d5ddbc7051ce4d6f0e361beffd5c931933df)
* adds new icon, changes binary key icon and frame, changes contraband designation
* added back the regular key as admeme because it makes sense (why am I not thinking about these things)
* hehe I cannot read!
(cherry picked from commit e5c671b195551015c430acd3778a7bbed645e747)
* The first part of this PR, "Lobby Music"
* Part 2 of this PR, act 1: "Operator Plush"
* WebP conversion+ Fixing some YML
(cherry picked from commit 43290c65dd60ca54e11ccfd32ea6afb8691939a6)