- Added: /datum/power_connection components, allows machinery to have cable connections without being /obj/machinery/power + more flexibility
- Bugfix: Broadcaster doesn't use area power anymore, requires a direct cable connection to grid.
- Bugfix: Broadcaster can be unwrenched again
- Bugfix: Broadcaster cannot be on while unanchored
NOTE: Didn't fuck around with adding cables to the broadcaster's lair on the maps. Mappers will need to fix that.
Tested locally, eradicated some related funtimes.
SMESs now fall under a battery type, which is a charge-storing power machine.
The battery charges and outputs in an OOP way.
SMESs now make terminals in the general way, which is also used for APCs.
Terminal is now a power machinery level var.
Currently impossible to get but fully functional are portable batteries.
Portable batteries:
- Only work when connected to battery ports, but can be pushed around otherwise
- Charge from the battery port's terminal, and output onto its tile, like SMESs.
- That's basically it. What more do you want? It's a movable SMES, essentially.
Known issue with the portable batteries: they don't show load in the UI, because they never proc resolve(), but it's not major.
Painstakingly goes through the 'in world' commit again to use the proper lists for all objects that are autoremoved from the machines list.
Also removes an extremely laggy proc called get_apc() which called locate throughout all related areas until it found an apc, links the apc to the area as only one is allowed per area.
Included:
-The process lists use |= instead of += due to the increased stability of the former against double additions.
-Atmospherics machinery is moved under the pipenet processing.
-Modified the atmospherics processes to return 1 when theyve done something, and 0 if they aint done jack shit. Then called scheck() if they return 1, possibly reducing unnecessary scheck calls while still managing to smooth out the atmospherics processing.
-If a powernet happens to get rebuilt by either powernets or power machinery scheck() is also called