tgstation/-tg-station — pull request #1712 by havocx42 (2013-11-06 20:21:39+00:00)
Title: Update for power code to remove some bugs and fix some functionality

Functionality
========
* Cables can now be placed across each other and not connect, just like cables placed in the map editor.
* Alternately by leaving a "node" or "dot" in both cables you can have these cables connect

Bugs Fixed
=======
* Unconnected cable networks which share the same powernet and power are no longer created when adding cable to nodes or removing nodes on top of smooth cable

Code changes:
==========
* Adds denode proc that should be called when a wire is added to causing it to no longer be a "node" (i.e. terminates in the centre of the turf)
* Adds propagate_network proc that traverses the graph adding every cable to a new network while removing the old one
* Adds call to denode in the cable_join proc
* Fixes mergeConnectedNetworksOnTurf() to only connect cables that are both nodes
* Adds a get_marked_connections() proc to cable which finds all edges connected to it's endpoints regardless of whether they have a powernet(as opposed to get_connections())