tgstation/-tg-station — pull request #4063 by Menshin (2014-07-04 20:10:11+00:00)
Title: Solar control refactoring

Switched the control and handling of the solar panels and trackers to the Solar Control Computers instead of the Sun controller.

__Player-wise :__
You must manually check for connected panels and tracker (yeah one tracker per computer, no need for hoarding) after the wiring.
Some cosmetics adjustments to the computer panel.

__Images :__
![solar_refact_1](https://cloud.githubusercontent.com/assets/7117411/3484755/ee3785e8-03b4-11e4-9e5b-c0b0216cdaba.PNG)
![solar_refact_2](https://cloud.githubusercontent.com/assets/7117411/3484756/eeec6d32-03b4-11e4-8b33-6e28bdd12012.PNG)

__Code-wise :__
* Solar Control Computers now have a list containing all connected panels and a variable with connected tracker. They now handle updating them every sun controller update (~one game minute),
* the manual updating is done so that we don't recheck for new panels/tracker in a powernet each time someone fiddles with the wires,
* panels/tracker is only connected if closer then a set distance (40 squares by default),
* panels/tracker are automatically removed from the controller computer if they arere disconnected (i.e are in another powernet),
* the tracker, if connected, now only set the facing angle of the computer,
* the panels are, then, rotated to this angle and the power generated is updated,
* the solar_list now only contains Solar Control Computers (so instead of going through every panel, trackers and computers each Sun update, we only check for Computers).
Uncontrolled panels and trackers are now ignored.
* removed listing all nodes in a powernet for trackers/panels/control_computers/etc,
* added procs for handling control setting/unsetting,
* that fix some bugs with not updated/weird behavior of solar panels,
* the check for _if_obscured_ is now a solar panel proc (instead of the Sun datum one),