Fixes runtime when a borg is reset.
Fixes issue where /proc/select_active_ai_with_fewest_borgs() would not always return the intended AI.
Fixes issues with new borgs spamming the master AI with creation messages under some circumstances.
Related:
Cleans up airlock Topic()
Power and electricity is now also handled by process instead of sleeps().
Wires, remote door controls, etc. now use airlock procs instead of manhandling variables directly.
Error messages are now displayed in the NanoUI interface, instead of going to
the text log. Wire UI now consistent with other wire-enabled wire devices
that use NanoUI.
Remove some redundant procs and /obj/machinery/vending members. Rework the way
product lists and advert lists are stored within /obj/machinery/vending.
/obj/machinery/vending now uses a simpler way of storing the product list. The
old variables, `products`, `contraband`, etc., are still used for initialization
of the new list, but are not used beyond that.
This commit removes colors from vending lists in anticipation of introducing
NanoUI.
Fixes airlock doors being able to be opened and closed remotely (by
buttons, airlocks, or docking) when broken. Also removes some redundant
code, and refactors a few checks.
Kills unecessary photo datum which wasn't even used correctly anymore.
Photos have a global id for ease of synth syncing.
Changes how law/photo syncing is handled when pulsing the appropriate borg wire.
Also ensures re-synced borgs are added/removed from the appropriate AIs.
- Pulsing input/output wires now toggles the input/output settings, instead of disabling for 60s
- Pulsing grounding wire now disables grounding until the wire is cut and mended again.
- Allows remote control of SMES units and Breaker Boxes.
- Adds wires to SMES units. Wires may be cut/pulsed for various effects. Signallers are supported.
- RCON console(s) may be used to monitor the SMES units (which have RCON enabled) remotely, showing output loads and charge percentages.
- SMESs may be quickly discharged by cutting the grounding wire. This however comes with little risk of overload which may damage APCs on output powernet.
Fixes being able to show papers to AIs through deactivated cameras.
Fixes being able to break doors with TOX, OXY, and CLONE damage.
Fixes camera alarms persisting after the camera is deleted.
Fixes#7021.
Some camera cleanup.
Telecommunication interruption no longer permanently disables the ability for synths to state laws if they attempt it during the downtime.
If a synth attempts to state laws during telecommunication interruption it now receives a clear feedback message about its impossibility.
Fixes runtime errors when AIs uses shortcut keys to operate APCs/turret controls when the corresponding window isn't open.
Adds missing AI-restriction check for turret controls.
Airlocks no longer lie about dropping bolts when they cannot be dropped.
Continues the wiring upgrade. Now cameras, airlocks, robots, and air alarms also use the new wire datum system.
Global wiring code is now removed but there are sneaky objects which didn't rely on them such as mulebots and autolathes.
Fixes a few issues from the previous upgrade.