Files
VOREStation/code/datums/components
Cameron LennoxandGitHub 3c622885c8 Changing changeling (Refactor) (#17749)
* Begin antag component

* Initial changeling move

* Slow...And...Steady...

* Initial

* remove  toworld testing

* More adjustments

* Update absorb.dm

Changelings get a genetic point per person absorbed

* Fixes losing your markings

* wa

* Update modularchangling.dm

* BETTER LING

WITH TGUI

* Gives all stings a global 1 second cd

Need to come up with a better way for this.

* snake_case

* Update epinephrine_overdose.dm

* Update changeling.dm

* Absorption/digestion absorbs people

Also disabled death sting because gtfo with that, it's unfun for everyone involved.

* prey ling

also DELETES death sting...It didn't even KILL properly

* fixes EMP shriek

* Update vorestation.dme

* Ling

* Unfat sting lowers nutrition more

* Update visible_camouflage.dm

* Update visible_camouflage.dm

* Changeling blades NOT embed

* Armblade fix

* Changeling spacesuit free

* Updates the armor

* Updates

* awa

* More

* Update blind_sting.dm

* Update blind_sting.dm

* Update boost_range.dm

* More adjustments

* Update _reagents.dm

* Update bioelectrogenesis.dm

* more

* all done

* awa

* shhh

* Update visible_camouflage.dm

* Update visible_camouflage.dm

* Update visible_camouflage.dm

* decon

* gets rid of AB+ blood

* Blood rejection and better checks

* changeling holder

* proper del

* Changeling lock

* Stops bodytheft

* yeah

* its reviving time

* Lets them shapeshift

* ah

* check

* Update negative.dm

* Update examine.dm
2025-07-04 21:08:03 +02:00
..
2025-05-15 00:59:47 -07:00
2025-03-28 21:25:08 +01:00
2025-05-17 06:44:56 -07: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 it's 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