Files
Bubberstation/code/datums/components
Xander3359 a8ff61beb8 Fixes burning a bible giving you an infinite amount of curses. (#81248)
## About The Pull Request
Burning a bible now gives you 1 curse, instead of INFINITY curses.
## Why It's Good For The Game
It looks like https://github.com/tgstation/tgstation/pull/78899 forgot
about bible curses.
I think this was an oversight.
## Changelog
🆑
fix: burning a bible no longer gives you INFINITY curses
/🆑
2024-02-04 08:39:51 +01:00
..
2023-10-16 16:14:31 +02:00
2023-10-11 16:58:29 -06:00
2023-12-25 13:00:50 +01:00
2023-12-04 14:42:43 -08:00
2023-11-12 09:25:59 +00:00
2023-10-21 23:36:48 +00:00
2024-01-26 02:23:24 +01:00
2023-10-08 03:04:35 +01:00
2023-12-04 14:42:43 -08:00
2023-10-05 13:20:16 -06:00
2023-10-16 16:14:31 +02:00
2023-08-14 12:39:30 -06:00
2023-12-09 13:31:50 +01: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