Commit Graph

5128 Commits

Author SHA1 Message Date
metalgearsloth
c66688f8c5 Add delay to AutoOrient (#33479)
It functions identically to how V1 of orientation worked and it's incredibly annoying.

(cherry picked from commit 11dbf50ed62040c832941f3c46fc159497eca525)
Signed-off-by: Spatison <137375981+Spatison@users.noreply.github.com>
2025-07-20 15:10:18 +10:00
Tayrtahn
3e6d3856de Fix followers getting sent to nullspace when target is polymorphed (#33878)
* Add an event for polymorph actions

* Subscribe FollowerSystem to the event

* Add check that unfollow target is actually current target.

* Make followers try to follow on state update; Dirty follower on follow.

(cherry picked from commit 46b19291eae7311c3ee946e45432f0552328792d)
2025-07-20 15:08:44 +10:00
metalgearsloth
c5fa970c58 Make followed session-specific (#30770)
* Make followed session-specific

* misimport

(cherry picked from commit 9be61bfaa5a4bee1ca4f3d5e5c40a69d66e4cc2a)
2025-07-20 15:08:31 +10:00
Plykiya
5cc6504d81 Replace DetachParentToNull() with DetachEntity() (#29992)
DETACH PARENT TO ENTITY

Co-authored-by: plykiya <plykiya@protonmail.com>
(cherry picked from commit 6c1d1057d5d45e49e8d4262c495219b89c1bcf38)
2025-07-20 15:07:01 +10:00
themias
cd9a278d1f Fix wielding while pulling (#29781)
(cherry picked from commit 60ef7848fb270117c0d89fea31d014307c9e5655)
Signed-off-by: Spatison <137375981+Spatison@users.noreply.github.com>
2025-07-20 15:07:00 +10:00
MilenVolf
8643496b9a Localize planet dataset names (#33398)
* Localize planet names (borer)

* DatasetPrototype -> LocalizedDatasetPrototype

* Apply requested changes

(cherry picked from commit 2002de9bb01e53e70b00fea5b3f4ffeed55a3cfa)
Signed-off-by: Spatison <137375981+Spatison@users.noreply.github.com>
2025-07-20 15:06:47 +10:00
lzk
36503c1acd don't apply traits for borg and ai (#31990)
* doesn't apply traits for borg or ai

* add some comment and summaries

* weh

weh

* well ok

Signed-off-by: Spatison <137375981+Spatison@users.noreply.github.com>
2025-07-20 14:59:17 +10:00
ScarKy0
0fab35bb11 Ion storm refactor (#33311)
Signed-off-by: Spatison <137375981+Spatison@users.noreply.github.com>
2025-07-20 14:58:55 +10:00
Zachary Higgs
04fda905d8 Add Silicon Law cues to Every method a Silicon can have their laws change (#32887)
* Silicon Law Sound cue refactor

- Added CueEntityMind to Silicon Law system to more uniformally
send sounds to minds

- Switch all previous MindPlaySound to instead call to the new method

* Change SiliconLawEui to cue the mind

* CR: TryGetComponent and Change the Documentation

- Remove GetComponentOrNull for  _entityManager.TryGetComponent

- Change SiliconLawProviderComponent.LawUploadSound to be more general
rather than just referencing lawboards

* Update Content.Server/Silicons/Laws/SiliconLawEui.cs

* Update Content.Shared/Silicons/Laws/Components/SiliconLawProviderComponent.cs

* Silicon-law-cue-refactor - CR:

- Roll the cuing into NotifyLawsChanged via an optional variable for the
cue

- Modify "SetLaws" to take in an optional soundProvider for the cue

- modify Emagged, Ion, Eui and SetLaws to instead send the sound cue via
NotifyLawsChanged

---------

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

(cherry picked from commit a3f10ccfbb01616d08559950b5de4dc1c6df7f6d)
2025-07-20 14:54:20 +10:00
Winkarst
e2894dee52 Update IdExaminableSystem.cs to use TryFromMarkup (#29957)
* Change FromMarkup to TryFromMarkup method in IdExaminableSystem.cs

* Update

(cherry picked from commit f68712431263fb2d2240fdf3bb9e0cbb278bd61d)
2025-07-20 14:50:47 +10:00
nikthechampiongr
2b729395ef Rename fix (#31654)
* Localize RenameCommand and delegate most of the process to MetaDataSystem.SetEntityName()

* Make renaming rely on the EntityRenamedEvent. Fix issue where renaming would keep old Examine text

Requires engine change

* Fix localisation strings

* Make PDA search be based on a renamed entity's Uid instead of its old name

To do this the pda component now has an PdaOwner field which gets
assigned when it is given as a loadout to a player

* Fix bad merge???

huh

* Use AllEntityQuery

(cherry picked from commit ee434e397d483c10b1dbf29e736de6a134e82746)
2025-07-20 14:50:45 +10:00
Eris
75a463cf5d Saving changes 1 2025-07-20 14:37:13 +10:00
Eris
110e22aa2f a 2025-07-20 14:25:39 +10:00
Eris
157b3dcf3d fix Content.Shared 2025-07-20 14:24:17 +10:00
nikthechampiongr
04d5f5b5ad Fix RA0032 (#32514) 2025-07-20 14:22:41 +10:00
Ed
fe145357cb Fix Anomaly infections infinity growing after curing (#32259)
(cherry picked from commit 61089355f047da92b8e2e19c70a26fbd73715d60)
2025-07-20 14:20:15 +10:00
deltanedas
74f2623bae fix ninja hacking not affecting sechud (#28021)
minor refactor and fix

Co-authored-by: deltanedas <@deltanedas:kde.org>
(cherry picked from commit b453b9414810ed927228eb563c6b1c491532c5e3)
2025-07-20 14:20:12 +10:00
Partmedia
e93f886ff7 Update PA admin warnings (#28911)
With singulo fixed, PA strength 3 and below (level 2) are now safe.
Update the admin logging to reflect this.

(cherry picked from commit dc0327c3c0c7834823aeaf7e11eef6993e5fdc77)
2025-07-20 14:20:11 +10:00
themias
fed8b840c3 Save unpublished news articles (#31491)
* Add draft saving to news consoles

* fix after bui changes

* comments + rename vars

* no

(cherry picked from commit ec4d59f6088ecc14b9231d51df18a4a4334d28ff)
2025-07-20 14:20:10 +10:00
metalgearsloth
5ab011513f Add access to gun components (#30688)
* Add access to gun components

Found from an rmc14 PR.

* Admin verbs proving why access needs to exist

* Someone is probably going to post this pr to le reddit and complain about self-merges.

(cherry picked from commit 1649ed45bd395c850bd531752f7146ca073b04cd)
2025-07-20 14:20:00 +10:00
SpeltIncorrectyl
69b65ec514 Mime can no longer write on paper without breaking their vow (#35043)
Co-authored-by: Simon <63975668+Simyon264@users.noreply.github.com>

(cherry picked from commit e86770f5a03231e3189920c5d7ad93542d48e922)
2025-07-20 14:18:34 +10:00
Spatison
74b96fc9df remove DV CanEdit paper 2025-07-20 14:18:31 +10:00
SlamBamActionman
e3259c077e Add a Walking alert (#32954)
* Initial commit

* Review feedback changes

* ProtoId

* TempCommit

* First attempt to have client alerts

* Review changes

(cherry picked from commit 1e368ae30076606501332f34ab786c14e25c477a)
2025-07-20 14:17:46 +10:00
Errant
d33556daf1 movercontroller namespace (#31749)
(cherry picked from commit 1c6b9aaae7b2dd64ca7e53aeeeb8ebb1438adb4a)
2025-07-20 14:14:34 +10:00
Nemanja
d98012880a offgrid mob friction (#29383)
* offgrid mob friction

* save the world...

(cherry picked from commit 2528231ad194cbb973942a8e6ad5cae70e1c1ab4)
2025-07-20 14:14:34 +10:00
DrSmugleaf
24a921929a Use EntityQuery for footstep modifier and map grid in SharedMoverController (#30575) 2025-07-20 14:14:34 +10:00
themias
113cc383b4 Fix crayon losing durability on stamped paper (#34202) 2025-07-20 14:14:33 +10:00
eoineoineoin
98de4c91e1 Paper QOL improvements (#32418)
* Don't add newlines (fixes #32357)

* Improve UI around max paper length (Fixes #32344)

* Display a "fill progress" indicator so users know how close they are to filling it
* Don't allow users to save a paper which went over the limit, to avoid them losing data they want to keep.

---------

Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es>
(cherry picked from commit 594aad0fa978fb9a625f41f537a866348ee019ed)
2025-07-20 14:14:32 +10:00
Mr. 27
926edcab69 Don't disable collision on dead mobs, fixes an issue with pulling (#30532)
Update MobStateSystem.Subscribers.cs

(cherry picked from commit d4ad2e473a398319a891df7b5b64493aa7708e20)
2025-07-20 14:12:32 +10:00
Pieter-Jan Briers
de98315595 Extend shuttle dock time if the shuttle doesn't dock at evac. (#31496)
* Extend shuttle dock time if the shuttle doesn't dock at evac.

If the shuttle can't dock at evac for *some reason*, it will instead try to dock at another port on the station. And if that fails it goes somewhere random on the station.

Because of the chaos and confusion caused by this, many people will frequently not get to the shuttle in time under these circumstances. This sucks for everybody.

To alleviate this, the shuttle launch timer will now be extended if the station doesn't dock at its ideal spot. The default values (controlled via CVar) are 1.667x and 2x respectively for "wrong dock" and "no dock at all" scenarios.

The code around here was a mess, so I fixed that too. "CallEmergencyShuttle" has been renamed to "DockEmergencyShuttle", the overload that did the actual docking has been renamed to DockSingleEmergencyShuttle. Code has been split into separate dock -> announce methods so we can calculate shuttle delay in between the case of multiple stations.

Also made the "shuttle couldn't find a dock" text announce the time until it launches and fix the shuttle timers not triggering for it.

* Minor review
2025-07-20 14:08:47 +10:00
Mervill
d772904f06 Remove unused IoC dependency references. (#31704)
Remove unused IoC dependencies

(cherry picked from commit 3414abb970bc1cd31f1653c82da5ede40e94b10e)
2025-07-20 14:08:43 +10:00
DrSmugleaf
b30c7bbb85 Use EntityQuery for mob state system resolves (#29021)
(cherry picked from commit 32e1d1a3b5bac3b81ad4f580d1001459ed7e2556)
2025-07-20 14:08:42 +10:00
Errant
c435260ac0 Namespace cleanup around Mind Roles (#30965)
* namespaces

* Comment does not need a semicolon

---------

Co-authored-by: Vasilis <vascreeper@yahoo.com>

(cherry picked from commit 40b9fd4ea3b1e06558d8e510c527169965193ccc)
2025-07-20 14:08:40 +10:00
Hannah Giovanna Dawson
b5285bc180 Panic Bunker uses minutes not hours (#28805)
* Panic Bunker uses minutes not hours

* Fixing an instance of hours
2025-07-20 14:08:38 +10:00
deltanedas
85447520d7 fire extinguisher using item toggle (#29906)
* move SprayAttemptEvent to shared

* add SolutionTransferredEvent

* replace FireExtinguisher with SpraySafety

* update fire extinguisher yml

* invert visuals

* always handle event in solution transfer, it makes popups

* instantly fill it

* untroll

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
(cherry picked from commit 7b590122b652096528ec69921924b3db22b27f6a)
2025-07-20 14:05:22 +10:00
deltanedas
13ddbe63d2 make RefillableSolution optional for SolutionTransfer (#28830)
Co-authored-by: deltanedas <@deltanedas:kde.org>
(cherry picked from commit 9e4d19118900d31270f2c725da684a95137fb9cb)
2025-07-20 14:05:22 +10:00
Brandon Li
9e5d0d44e1 Reagent dispenser UI (Again) (#27958)
* reagent dispenser: fancy window

* reagent dispenser: dispense button grid

* reagent dispenser: rearrange containers & info

* reagent dispenser: remove `reagent-dispenser-window-container-label`

* reagent dispenser: add `Scrollcontainer` on right side

* reagent dispenser: get rid of pointless actions

* reagent dispenser: cleanup actions and `inventory` field on bound ui state

* reagent dispenser: cool reagent cards & finishing touches

* reagent dispenser: final cleanup and formatting

* reagent dispenser: `ButtonGrid` and `ReagentDispenserSetDispenseAmountMessage` refactor

* reagent dispenser: cleanup code & address minor concerns

* reagent dispenser: text in reagent cards no longer clips

* reagent dispenser: oh wait i forgot to change this and thats why the builds keep failing probably

* reagent dispenser mayybe this

* reagent dispenser: remove `using FastAccessors;`

* delete unused classes

* disable reagent button when container is empty

* Make things a bit bigger

* remove obsolete text color override

(cherry picked from commit bfed85aff288630300b40133c025f73de71924b8)
2025-07-20 14:05:21 +10:00
Cojoke
d3556ca645 Prevent Quantum Spin Inverter from Teleporting Things into Microwaves (#29200)
* Prevent Quantum Spin Inverter from Teleporting Things into Microwaves

* Simplifies code, GetTeleportingEntity instead of TryGet, adds failed teleport message

* remove using Linguini.Syntax.Ast;

* capital...

* re-add CanInsert and Fixes microwave issue

* beb

* beeb

(cherry picked from commit 95b56ad4ce8cd9f1be995c5d9a02a612e5434316)
2025-07-20 14:05:18 +10:00
Ed
7292da506b clean up weather systems (#28792)
* clean up weather systems

* Update WeatherComponent.cs

* Update SharedWeatherSystem.cs

* some fix

* Update SharedWeatherSystem.cs

* Update WeatherComponent.cs

* Update WeatherComponent.cs

* revert autoPause

* Update SharedWeatherSystem.cs

(cherry picked from commit a1e66cfbb40229a9b90edbc2b5ca3a3076cf0b9b)
2025-07-20 14:05:17 +10:00
Ed
5612161011 Ambient music rules refactor (#29921)
* refactor

* dutypo

(cherry picked from commit 1c74ffb8e475d619e188864194333ca8890509e4)
2025-07-20 14:05:17 +10:00
Centronias
77dbc19281 Reduce network burden of the hunger system (#32986)
* reduce network burden of the hunger system

* explicit start + last updated

* remove auto reformat changes to otherwise untouched code

add clamp helper

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

* comments

* Remove unused net manager in hunger system
Remove lastAuthoritativeHungerValue from prototypes
2025-07-20 14:05:15 +10:00
IProduceWidgets
e9b7da71db refactor event schedulers to use explicit game rules (#29320)
* works, still has testing values, im sure I did stupid shit.

* shitvent crapfactor

* snap extra word out of existence

* shit I died of old

* remove useless inaccurate design comments

* Oopsie, handle requirement params in RandomRuleSystem too

* I'm a slash slinging hasher

* Address reviews, add admin alerts I forgor

* EntityMan saves the day

* address reviews 1

* eh, I actually don't care about the cargo gifts thing.

* started

* Do reviews

* you actually meant 1.2 lmao

* dependency inheritance is a fickle bitch

* I have no idea.

* Threads are for sheets not computers.

* fix traitor rule test

* fix round type tattling

* break things

* It worky

* Toolshed makes we want to drink depresso.

* Finished?

* remove debug values

* timings

* use defaults

* alphabetize

* bobby drop tables

* Float required fr fr

* continue

* more continence

* uno mas

* obsolution

* cleanup and documentations

* Yell at self

* use the right value defaults

* housekeeping

(cherry picked from commit 07ec00ed05394f0d6c8929d8d015854b8dbbc3bb)
2025-07-20 13:53:36 +10:00
Kai5
ae1c1c39dd Port Devil (#2454)
<!--
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
-->

<!--
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 ports
https://github.com/Goob-Station/Goob-Station/pull/2409
https://github.com/Goob-Station/Goob-Station/pull/2591
https://github.com/Goob-Station/Goob-Station/pull/2599

This PR was initially intended to be merged into White Dream repo, so my
changes are marked as WD edit.

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

- [ ] Port pain numbness
- [ ] Port nullrods
- [ ] Port tile movement

---

<!--
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/ee4679d1-fc07-4dc3-8063-e0220bc0d728)

![image](https://github.com/user-attachments/assets/25f590b9-6bf3-43bd-aca3-80452f27b0dd)

![image](https://github.com/user-attachments/assets/1ffb5bb3-e0c7-4827-8193-83bd8480e555)

![image](https://github.com/user-attachments/assets/4ed8c762-1e51-4bd8-9800-6495c12ac68f)

</p>
</details>

---

<!--
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: Ported Devil antag from Goobstation

---------

Signed-off-by: Kai5 <68296202+Kai518@users.noreply.github.com>
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: Solstice <solsticeofthewinter@gmail.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
2025-07-20 13:37:35 +10:00
Carlen White
aa0b01518c Fix Saving Prefered Quick Store Item Locations (space-wizards/space-station-14#32480) (#2484)
# Description
Comes from: space-wizards/space-station-14#32480

Upstream/downstream cherry-pick that fixes item saving. Sometimes bound
to Ctrl+I, pressing it over an item in an inventory saves that location
for when the item is placed into the bag by clicking on it or quick
equipped (Shift+E), but it was broken for a while.

# Changelog

🆑
- fix: Saving item locations are working again

Co-authored-by: Callmore <22885888+Callmore@users.noreply.github.com>
2025-07-20 13:24:10 +10:00
VMSolidus
1286253729 More Drain System Perf Tweaks (#2471)
# Description

Actually the bulk of this system's cost was in having these expensive
entity querries running on every frame, so instead of interrupting the
drain logic on a per drain basis, we interrupt the entire system of
querries itself globally, and cut off the main expense of the system at
its root source.

# Changelog

🆑
- tweak: Made some significant performance improvements to Drains.
2025-07-20 13:24:09 +10:00
VMSolidus
edf9b969f3 Pretty Big Atmos Fixes PR (#2486)
# Description

This PR ports some fixes to the order of operations for air pressure
processing, which will help fix issues with temperature not correctly
diffusing, as well as errors in the order of operations processing that
made it so that Space Wind was receiving wildly incorrect pressure
values.

Additionally, this fixes a math error that made it so that the diagonal
airflows were contributing 41% more to airflows, making diagonal motion
unusually harsh. There's still two more bugs I need to fix though.
2025-07-20 13:21:40 +10:00
Will-Oliver-Br
07d2610a86 Port Medical Patches (#2185)
Port medical patches from
[Goob-Station](https://github.com/Goob-Station/Goob-Station).
Prs:
https://github.com/space-wizards/space-station-14/pull/30230
https://github.com/Goob-Station/Goob-Station/pull/493
https://github.com/Goob-Station/Goob-Station/pull/663
https://github.com/Goob-Station/Goob-Station/pull/1086
https://github.com/Goob-Station/Goob-Station/pull/1072
https://github.com/Goob-Station/Goob-Station/pull/1243
https://github.com/Goob-Station/Goob-Station/pull/1246
https://github.com/Goob-Station/Goob-Station/pull/1707

---

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

![Captura de tela 2025-04-06
132934](https://github.com/user-attachments/assets/914fc728-b4cd-452f-9f71-1300d836895a)

</p>
</details>

---

🆑 deltanedas, jorgun, fishbait_x, Huffs-The-Frezone, Teapug, Speebr0,
CerberusWolfie, yglop, botanySupremist, Will-Oliver-Br
- add: Added medical patches
- add: Added a guidebook entry for medical patches.

---------

Signed-off-by: Will-Oliver-Br <164823659+Will-Oliver-Br@users.noreply.github.com>
Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: fishbait <gnesse@gmail.com>
Co-authored-by: unknown <Administrator@DESKTOP-PMRIVVA.kommune.indresogn.no>
Co-authored-by: Fishbait <Fishbait@git.ml>
Co-authored-by: Theapug <159912420+Teapug@users.noreply.github.com>
Co-authored-by: Speebro <100388782+Speebr0@users.noreply.github.com>
Co-authored-by: Speebro <speebro@notreal.com>
Co-authored-by: John Willis <143434770+CerberusWolfie@users.noreply.github.com>
Co-authored-by: yglop <95057024+yglop@users.noreply.github.com>
Co-authored-by: botanySupremist <160211017+botanySupremist@users.noreply.github.com>
Co-authored-by: botanySupremist <definitelyrealBotSupremist@gmail.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-07-20 13:21:18 +10:00
Tirochora
1156acd2f4 No More Instant Grab Combos (#2199)
<!--
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
-->

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

So, as it stands before this PR, somebody could do a combo like, say,
the judo throw, by ctrl-clicking and then instantly rightclicking,
throwing somebody else to the ground within the blink of an eye. With
this PR, that shouldn't happen - grabbing follows the same rules as
attacking (either punching or shoving), and uses the same cooldown.

---

<!--
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] Grabbing people puts your unarmed attacks on cooldown
- [x] Unarmed attacking someone puts your grab on cooldown

---

<!--
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/22d4eadb-2ec1-4e6c-9ad3-dbdd36c6f3cd

</p>
</details>

---

<!--
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: grabbing somebody mid-combo now obeys the same laws as every
other attack, so no more instant judo throws

---------

Co-authored-by: VMSolidus <evilexecutive@gmail.com>
2025-07-20 13:18:01 +10:00
GNUtopia
31457e3f85 Chem Tweaks (#2293)
Makes an assortment of changes related to chems.
Morphine has been made more accessible at roundstart, adding a pain pen
to the prefilled advanced medical belt and swapping a pain pen for a
morphine bottle in the prefilled syringe case. Morphine also now blocks
pain for longer, hopefully alleviating an issue where the effect would
wear off during heart transplants. Also fixes an error which required
the patient to have *both* ForcedSleep and NoScream to block the surgery
pain moodlet. Additionally adds a morphine autoinjector cartridge.
Adds enunciase, which removes stuttering statuses and temporarily
disables all accents, and formic acid, which can react to make water or
enunciase.
Haloperidol also now removes less severe stuttering and ousiana dust now
removes psionic insulation and power blocking statuses.
Salicylic acid now works on corpses to reflect the description.
Additionally fixes a missing locale from the Goob chem port and tweaks
the text for the proto medical multitool.

---

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

![formic
acid](https://github.com/user-attachments/assets/7344bfec-4bb0-4b6c-9182-0b3ca2bce111)

![enunciase](https://github.com/user-attachments/assets/46ded0e3-39ea-4943-bcd8-d1721de81052)

![haloperidol](https://github.com/user-attachments/assets/04d67bc9-ce7b-49b8-82b5-fbc9ee5b83b1)
![ousiana
dust](https://github.com/user-attachments/assets/5cb1a0b4-5591-492d-88ce-9717b6606cbb)

![morphine](https://github.com/user-attachments/assets/78893dc4-805d-4adf-8804-1db5aeb9020f)
![updated stamina change
text](https://github.com/user-attachments/assets/acba97d3-35a8-4b52-a04f-f76aeea4e183)
![tweaked appearances for morphine and
artiplates](https://github.com/user-attachments/assets/09864b45-25af-4dda-b61b-91fbe114d5dc)
(dylovene to the left for comparison)
![enunciase being
used](https://github.com/user-attachments/assets/99f1fdac-9c9c-4746-9994-9b31a2eaede9)
![formic acid reacting with sulfuric
acid](https://github.com/user-attachments/assets/f530fdf6-be8f-4add-aa9b-4e606f572907)
![morphine ACTUALLY blocking the moodlet this
time](https://github.com/user-attachments/assets/919c70f0-8ab0-4ffa-be70-da7114194322)

</p>

</details>

---

🆑
- add: Added formic acid
- add: Added enunciase
- add: Added morphine autoinjector cartridge
- tweak: Haloperidol now counteracts stuttering from chems
- tweak: Ousiana dust now counteracts psionic insulation/blocking
statuses
- tweak: Morphine blocks pain for longer
- tweak: Morphine and artiplates are more visually distinct
- tweak: Increased distribution of morphine roundstart
- tweak: Changed wording of stamina change effect
- tweak: Salicylic acid works on corpses
- fix: Fixed missing locale text for some stamina-affecting chems
- fix: Fixed guidebook falsely saying effects accumulate
- fix: Fixed capitalisation of proto medical multitool
- fix: Fixed morphine not blocking surgery pain moodlet

---------

Signed-off-by: GNUtopia <93669372+GNUtopia@users.noreply.github.com>

      - CartridgePain # Morphine Tweaks#
2025-07-20 13:09:28 +10:00
Lumminal
16ea61f52f Shadowling Antagonist (SS13 Port and Remake) (#2207)
<!--
Explain this PR in as much detail as applicable

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

Ports Shadowlings from SS13 to SS14 with a remake to make them fun to
play.

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

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

---

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

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

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

</p>
</details>

---

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

---------

Signed-off-by: Lumminal <81829924+Lumminal@users.noreply.github.com>
2025-07-20 12:05:11 +10:00