[09:18:04] Runtime in card_slot.dm, line 72: Cannot execute 1.put in hands().
Usage of the try_eject proc is an eclectic mix of unimplemented behaviour and incorrect argument order, with behaviour that can cause runtimes.
Prototype for the try_eject proc wasn't even implemented properly by children. Nothing implemented it used the slots arg, so I modified the base prototype. Cleaned up various proc calls. Should no longer have incorrect arg-based runtimes.
Implements the ?. operator, replacing code like A && A.B with A?.B
BYOND Ref:
When reading A?.B, it's equivalent to A && A.B except that A is only evaluated once, even if it's a complex expression like a proc call.
All ui_act procs should call parent by default. All procs should preserve the value of the parent proc when it's TRUTHY and pass it down the call stack. No UI should be interactible when its flags or state indicate it should not be, except when explicity overriden by child procs intentionally disregarding parent return values to achieve a specific goal.
* Had to put this on hold due to critical FUCK from hydriponics
* Another thing I'm being dragged away from
* Finally finished and happy with the result
* Merge issues: IRRADICATED.
* Made the UI a Labeled List per Stylesugestion
* Apply suggestions from code review
Co-Authored-By: Bobbahbrown <bobbahbrown@gmail.com>
* Fixes up compile issues and tweaks tooltip/disable
* Rebuild tgui
Co-authored-by: Bobbahbrown <bobbahbrown@gmail.com>
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>