Files
Bubberstation/code/datums/components
HometownFunky be589f46c3 Makes it so having WALKMODE on doesn't crush people with the micro quirks (#4212)
## About The Pull Request

Having WALK MODE on makes it so you don't give micros any wounds/damage.
Knockdown still applies.
## Why It's Good For The Game
Giving people a way to not accidentally squish micros is good, having it
tied to walkmode which everyone can turn on willingly and not just a
quirk like before (Pacifism) is also good. The knockdown is still there.
## Proof Of Testing

Tested it on a localhost
![it
works](https://github.com/user-attachments/assets/a81bd5a4-1244-45e3-b488-8e25cbe0fde5)
<details>
<summary>Screenshots/Videos</summary>

</details>

## Changelog
🆑
balance: Having WALK mode on makes you not squish micros.
/🆑
2025-07-13 22:47:26 -04:00
..
2024-11-25 18:54:51 -05:00
2025-05-15 16:10:48 -04:00
2025-07-11 18:07:40 -04:00
2025-06-15 15:52:11 -04:00
2025-04-14 15:51:24 -04:00
2025-01-11 11:38:00 -08:00
2025-03-12 16:43:07 -04:00
2025-01-22 20:50:07 -07:00
2025-01-28 03:12:59 +01:00
2025-07-11 18:07:40 -04:00
2025-06-04 20:01:33 -04:00
2025-05-08 19:21:08 -04: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