Files
Bubberstation/code/datums/components
Hatterhat cae0e53145 spawner legion corpses disappear in storms (#93276)
## About The Pull Request

About what it says on the tin. Corpses from spawner legions (e.g. vent
legions, tendril legions) have the storm-hating component, which means
that when a storm starts the body is deleted.

Also makes it so that the `storm_hating` component clears itself when
the atom it's attached to is logged into, so skeletons you do decide to
brainswap into/bodyjack/etc. won't Thanos snap and turn into dust if you
get stormed on.

## Why It's Good For The Game

Ashes to ashes, dust to dust. Prevents corpses from piling up that
badly. I swear this was a feature but I don't know whatever happened to
it.

## Changelog

🆑
qol: The skeletal corpses left from spawner legions (e.g. from ore vent
defenses and legion necropolis tendrils) now disappear during ash
storms. This does not apply if the body gets brainswapped into.
/🆑

---------

Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com>
2025-10-09 04:25:52 +02:00
..
2025-10-07 20:28:59 +02:00
2025-10-02 18:15:25 +02:00
2025-09-07 09:24:34 +02:00
2025-09-07 09:24:34 +02:00
2025-10-07 20:28:59 +02:00
2025-04-05 22:27:05 +02:00
2025-10-07 20:28:59 +02:00
2025-02-22 13:24:53 +00:00
2025-01-22 20:50:07 -07:00
2025-01-28 03:12:59 +01:00
2025-07-11 07:21:02 +00:00
2025-10-07 20:28:59 +02:00
2025-10-02 18:17:38 +00:00

Datum Component System (DCS)

Concept

Loosely adapted from /vg/. This is an entity component system for adding behaviours to datums when inheritance doesn't quite cut it. By using signals and events instead of direct inheritance, you can inject behaviours without hacky overloads. It requires a different method of thinking, but is not hard to use correctly. If a behaviour can have application across more than one thing. Make it generic, make it a component. Atom/mob/obj event? Give it a signal, and forward its arguments with a SendSignal() call. Now every component that want's to can also know about this happening.

HackMD page for an introduction to the system as a whole.

See/Define signals and their arguments in __DEFINES\components.dm