Makes APCs with different cells specific types.
Replaces arrival's APC with a higher-capacity cell variant to avoid people being unable to leave due to power failure at 12:15.
The engine core now begins without oxygen but still requires cooling and everything else.
- Cleanup of SMES attackby() code
- Buildable SMESs now have option to override safety circuit by using multitool while the hatch is open.
- Disabling safeties lets you disassemble SMES even if it's charged above 1%.
- If charge is above 5% stored energy may discharge violently. This is percentage based (more energy = higher chance of this occuring + more severe consequences)
- Larger discharges affect whole powernet, burning out some lights and even completely destroying APCs!
- Substation PSUs act as surge protection. Thus, if set up properly damage is limited to few areas which are directly on the main grid (= maintenance mostly)
- STILL NEEDS TESTING. Pushing so other people can review the code and give further suggestions. And because i need to access it on second computer.
This was probably bound to happen either way the previous version was based upon a faulty understanding of how the areas worked this is much more robust and only messes with the master areas
and master areas needing power updates call power updates for the each of it's child areas. Also added where messing with SMESes called for an update on all areas power consumption, probably
not required but doing so either way.
We also rebuild the active_areas list every 5 minutes, if you get a engineer that wants to build a new area off of the station with APC's set rebuild_all_areas in the master controller and it will
update instantly, otherwise wait 5 minutes. The only downside to this 5 minutes is you might get free energy until that area becomes active.
We no longer run auto_use_power() on every machine every tick.
We now have a global list of areas, and areas that have an APC in them (all_areas and active_areas) no more looping through world bullshit.
A bunch of snowflakey as fuck machines won't use_power() in their process, you get two options, active and idle, use them!
This means a lot of machines won't double dip on power as well so power usage for the station has dropped about 20%
Because everything is snowflakey as fuck we're going to have some machines that don't force an update on their power usage. Fuck them.
We should catch them with the root obj/machine/proc's forcing updates.
Before: If you turned off the breaker and fiddled with on/off states and turned on the breaker it wouldn't update the overlay because the check_updates wasn't doing an if(operating) check and would think it didn't need to update the overlays once you turned on the breaker.
After: Check_update() is doing a check for the breaker being on or off and taking that into account with the update_overlay flags and will update the overlays properly.
Thanks Razharas from /tg/ #coderbus for bringing this to my attention.
- Added a debugger device that can figure out when an object has been hacked/emagged
- Hacked APCs no longer display blue screen
- You can now disassemble emagged airlocks, they will yield a fried airlock electronic.
-Added a solars_list. The sun will use this list instead of the machines list. I made a proc which decided on whether to use this list or the powernet nodes list depending on what is smallest. I replaced some loops to use this proc.
-The sun will reference this list for debugging purposes. The sun will also remove solar equipment in the list which are not connected to a powernet.
-Cut down on some duplicated code.
-Fixed an issue with solar panels not updating their direction correctly.
-Changed the proc updateicon()'s name to update_icon()
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5418 316c924e-a436-60f5-8080-3fe189b3f50e
General work to advance diseases.
-Changed the possible cures to a list which is ordered from easiest to cure to -hardest to cure.
-Some tweak valuables to symptoms.
-Air alarms will update their window when you cut/pulse wires.
-Re-added analysers to mechanical (blue) toolboxes.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5125 316c924e-a436-60f5-8080-3fe189b3f50e