Files
Bubberstation/code/datums/components
Ghom 7eb93ed00b Holy skateboard improvement + actually fixing space movement with hoverboards. (#84790)
## About The Pull Request
Added anti-magic support for things that mob can buckle to, so that we
don't have to add the anti-magic component to the mob riding the holy
skateboard but the skateboard itself.

Also, made it possible for the holy skateboard to soar space and open
space with no support without falling, at the cost of a moderate
slowdown.

## Why It's Good For The Game
It's a first-time contributor that added this skateboard to the game,
and it looked like he couldn't find a solution to some of the issues I
brought on in my review. Plus the holy skateboard being usable in spess
has some real Space Jesus vibes to it.

## Changelog

🆑
fix: ACTUALLY fixed hoverboards being able to be used in space.
balance: However, you can soar space with the holy skateboard. at a
slower speed.
/🆑
2024-07-15 14:04:15 +01:00
..
2024-07-13 16:51:29 +02:00
2024-04-09 03:21:51 -05:00
2024-05-16 19:54:00 -07:00
2024-02-11 03:17:55 +01:00
2024-06-05 10:17:34 -04:00
2023-12-04 14:42:43 -08:00
2024-05-16 19:54:00 -07:00
2024-06-13 13:29:45 -07:00
2024-04-20 01:39:50 -06:00
2024-04-16 17:48:03 -06:00
2024-05-16 19:54:00 -07:00
2024-05-16 19:54:00 -07:00
2023-10-21 23:36:48 +00:00
2023-12-04 14:42:43 -08:00
2024-03-29 22:26:35 -06:00
2024-03-27 16:49:46 -06:00
2024-05-16 19:54:00 -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