Files
Bubberstation/code/datums/components
Mickyan 7e4e9d432d Adds rollerskates, wheely can do tricks (#53497)
This turns wheelys into a skateboard subtype so they are no longer a copy paste of old skateboard code. They have lower stability compared to skateboards.
I've also made a whole bunch of small adjustments in the process to make skateboard code cleaner and more modular, such as turning the improvised skateboard to its own subtype so that construction steps don't need to be overwritten for all subtypes

Adds two subtypes of wheelys:
-Rollerskates: more stable than wheelys but slow you down when the wheels are retracted
-Skishoes: For skiing! Only work on snow, obviously

I wanted to add some fun alternatives to skateboards with their own drawbacks, and the ski shoes were an opportunity to do something fun for icemoon maps
2020-09-11 04:14:00 +01:00
..
2020-08-29 23:33:47 -03:00
2020-09-05 16:18:55 -03:00
2020-09-05 16:18:55 -03:00
2020-09-05 16:18:55 -03:00
2020-09-05 16:18:55 -03:00
2020-09-05 16:18:55 -03:00
2020-08-19 13:24:20 +12:00
2020-08-28 14:26:37 -07:00
2020-08-23 02:05:35 +02:00
2020-09-05 16:18:55 -03:00
2020-08-24 13:56:07 -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.

See this thread for an introduction to the system as a whole.

See/Define signals and their arguments in __DEFINES\components.dm