mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-01-21 06:52:07 +00:00
* WIP - Clown Car, Bugged key insert, buckle, driver can't drive * WIP - Needs Movement, Testing * Compiles * Sealed port * Car * Clown Car Cannon * Formats for comments * Linters * Linters again * Linters * Attack chains * Dump mobs on supermatter dust, instead of dusting everything * Supermatter bump change for clown car * Headlights fix * Fixes runechat for car, fixes opening trunk do-after, removed excess code * Another do-after fix * Fixed squishing prone people, fixed buckle bug * Better trait handling, fixes some silicon issues * Fixes emergency lube foam * Fixes AI getting nullspaced on eject * Fixes hands remaining bound when ejected after using cannon mode, fixes cannon mode, adds var-editable thing * Updated clown car actions * Update code/modules/vehicle/tg_vehicles/cars/clowncar.dm Signed-off-by: Burzah <116982774+Burzah@users.noreply.github.com> --------- Signed-off-by: Burzah <116982774+Burzah@users.noreply.github.com> Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
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.