mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-07-22 05:17:38 +01:00
d313f70906
The /tg/-style movespeed_modifier datums were not incorporated into the original smooth movement PR. While https://github.com/Aurorastation/Aurora.3/pull/22043 restores that functionality, the original values no longer feel good now that we're on smooth movement. This PR halves ALL movespeed_modifier/slowdown datums, with the exception of species-native, as a baseline before more individual adjustments are made.
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.
See this thread for an introduction to the system as a whole.