Files
Bubberstation/code/datums/components
Useroth 22bcdbf5f9 Nova ports batch 1 (#26273)
* Map votes are no longer random (#43)

* Disables the annoying fear of Santa from the claustrophobia quirk (#51)

* Removes the job locks from all armbands except the sec armbands, and reflavors all armbands to not directly state this person is a member of x department (#62)

* [MODULAR] Removes Arbitrary Loadout Restrictions (#58)

* Removes an AM template from NorthStar as well as the prison curtain logic (#72)

* Bilingual now let's you take common (if you don't already have it) (#78)

* Period Era Re-Enactment: Basic autopunctuation (#84)

* [Semi-modular] Gives Xeno-hybrids some xeno-organs in trade for high temperature weakness (#91)

* The Thrill of the Hunt: Hemophage blood digestion changes (#93)

* Removes the ability for shocks to stop your heart (#116)

* Ghost cafe turf fixes (#161)

* ungatekeeps headshots (#170)

* Lo(v)re Wins: Mothic Language return (#186)

* Add Bone Greaves As Foot Clothing For Tribals (#197)

* Saving Private Oversized: Quirk balancing adjustments (#199)

* Over(sized) and Under: Oversized combat adjustments (#202)

* Shuttles no longer bolt their doors on transit (#203)

* Increases PAI description and OOC notes limit (#207)

* Makes headset sounds not insane (WHY DO THEY HAVE A RANGE OF 17 TI:LES?) (#215)

* Add Bone D6 For Tribals. (#217)

---------

Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
Co-authored-by: Name <w4rd3nn@gmail.com>
Co-authored-by: Ephemeralis <Ephemeralis@users.noreply.github.com>
Co-authored-by: lila <sheepwiththemask@gmail.com>
Co-authored-by: nikothedude <59709059+nikothedude@users.noreply.github.com>
Co-authored-by: Sable <102194057+Thlumyn@users.noreply.github.com>
Co-authored-by: goobliner <141452834+goobliner@users.noreply.github.com>
Co-authored-by: Lutowski <136726218+Lutowski@users.noreply.github.com>
Co-authored-by: FearfulFurnishing <139661819+FearfulFurnishing@users.noreply.github.com>
Co-authored-by: SomeRandomOwl <2568378+SomeRandomOwl@users.noreply.github.com>
Co-authored-by: Paxilmaniac <82386923+Paxilmaniac@users.noreply.github.com>
2024-01-29 20:13:27 +00:00
..
2024-01-29 20:13:27 +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 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