mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-26 00:51:23 +00:00
* Adds support for "realistic" public elevators (elevator doors, elevator panel, etc) (#68888) * Elevators are a bit more friendly part 1 - Emaggable elevator buttons / support for emaggable device assemblies - Delayed travel between floors - Elevators can now show a warning sign to areas below while travelling - Elevators can now optionally wound heavily instead of gibbing * Adds supoprt for "lift doors" * Comment tweak * Splitting these variables * Functional prototype * multiz debug * Elevator button framework * Unifies these behaviors * Emergency doors * Lift button framework * UI closes on floor change * Testing changes * Fix * UI Tweaks * Panel works pretty swell * Minor tweaks * Move to static * Bonus tram change * User experience * Slight tweak to mapload stuff * This is silly * Some UI tweaks, need to update css * CSS and ui overhaul * Documentation updates. * Multi-z lift support * Multitile lift fix * Adds support for "realistic" public elevators (elevator doors, elevator panel, etc) Co-authored-by: MrMelbert <51863163+MrMelbert@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.