Commit Graph

16 Commits

Author SHA1 Message Date
Atlantis
2220ad7c56 SMES Load Balancing
- SMESs will now try to balance their inputs and outputs. This will correct the situations where some SMESs charge at full rate, starving other SMESs who are trying to charge from the same power net. In terms of output, multiple SMESs (such as, solar SMESs) will try to provide equal amount of power to the powernet.
- SMESs processing is now slightly different. UI now displays a "Disconnected or No Charge" error when the SMES does not have cable connection to output to, or when stored charge is zero. Once this problem is resolved (either by charging the SMES or by connecting it via wires) it will automatically begin outputting again.
- The only tiny bug i have registered so far is related to number precision. It is possible that powernets may gain or lose few watts (talking about 1-5 watts per powernet at most, it is negligible)
2016-01-12 21:38:23 +01:00
PsiOmegaDelta
b22d7c58bb Makes it possible to connect to cable nodes on shuttle plating.
Fixes #11852.
2016-01-03 12:49:27 +01:00
PsiOmegaDelta
f8a38ec7cf Improves powernet destruction.
While we currently do hard del datums this is a step towards a better world.
2015-09-16 08:00:22 +02:00
Atlantis
a4c29238aa Refactors get_apc()
- Fixes #9536
- Area now has APC variable, instead of list. APC construction, etc. should have checks to allow one APC per area only, so situations with multi-APC areas are unlikely, unless adminbus occurs. Either way, with or without this commit, one of the APCs would be unoperational (no load)
- get_apc() no longer uses very laggy locate() in contents of area. In situations where get_apc() is called repeately this brings massive increase in performance (from 0.120 to 0.000, depending on area size and amount of things in contents of that area) as it now only returns the apc variable.
2015-05-28 17:11:26 +02:00
Mloc
e602a7e286 remove the sub-area system
Removes area/list/related and area/master.
They were only used by the old lighting subarea system.

Signed-off-by: Mloc <colmohici@gmail.com>
2015-05-10 17:06:29 +01:00
PsiOmega
1ae0ad6d92 Updates the atom_pool, now datum_pool, to handle any datum object.
Makes the garbage collector similarly robust. Continues the whole Destroy/qdel porting.
2015-04-24 09:59:05 +02:00
Atlantiscze
8dbe6d2f35 Fixes two powernet related issues:
- First issue is power monitoring consoles showing slightly inaccurate values. The code calculated some sort of level average which resulted in stupid values being reported (like load 500kW available 300kW). This also fixes APC load partially showing as Other load on the console.
- Second fixed issue (Fixes #7869) resolved gamebreaking bug that caused total irreversible failure of all powernets if makepowernets() was called. This, for example, includes large enough explosions, via admin command, or few other cases.
2015-01-20 21:12:52 +01:00
Atlantiscze
835d04290c Modifications to sensors code
- More stuff now triggers powernet warnings: People getting shocked by machinery (primarily door, but can be anything else powered by APC), and grilles. Thanks to @mwerezak for suggestion.
- Monitoring computer now has slightly different icon_state when it detects powernet warning. This is checked and updated every 5 MC ticks (ie, slightly delayed)
- Fixes ocassional runtime in powernet_sensor.dm
- Powersinks buffed a bit more. Drain rate changed from 0.6MW to 1MW. 1MW is full output of main engine SMES.
- Powersinks also dissipate small amount of internal energy charge over time. (20kW)
2014-11-12 14:54:56 +01:00
Atlantiscze
f29cd211e6 Implements better powernet warning system (as suggested by mwerezak) 2014-11-12 12:33:23 +01:00
Atlantiscze
ddaac3e175 Powernet Sensor
- Adds remote powernet sensors, power monitoring computers use these by default to monitor power around the station. Default range is 1 Z level + long range versions of sensors
- Powernet sensors mapped in, each subgrid has it's own one (ie: substations compatible)
- Telecomms, mining, research and engineering outposts have long range versions installed, visible even cross-Zlevels
- Powersinks and ninja gloves now trigger problem warning in powernets they affect. This warning is visible to anyone using power monitoring console. TODO: Add more stuff that triggers warnings.
- Powersinks now properly drain APC cells using CELLRATE (@2000W per APC max.)
- Powersinks buffed a bit, to compensate for CELLRATE change (previous line)
2014-11-12 07:07:08 +01:00
PsiOmega
5dc3e40b34 Restores APC load balancing and the autoflag system. 2014-10-25 15:18:42 +02:00
PsiOmega
3a7066c6c1 Replaces add_load with draw_power. Issue about silly battery handling remains. Fixes the build-error. 2014-10-20 19:18:27 +02:00
PsiOmega
1cabbbf5a6 Master controller no longer annihilate powernets, powernets annihilate themselves.
Some misc. changes.
2014-10-15 09:44:15 +02:00
PsiOmega
a1ee4e766b Basically ripped over /tg/'s powernet and cable code into our own codebase.
Keeps Z-level code as it was.
Modifies/restores powernet procs as necessary to match our own implementation changes.
2014-10-13 17:13:04 +02:00
PsiOmega
36c9f65bb1 Ports /tg's cable and powernet code to our code base. 2014-10-10 14:59:44 +02:00
mwerezak
d12a09addb Powernets
Moved powernet datum definition to powernet.dm
Improved APC load balancing.
Updated SMES charging to work better with new APC/powernet code.
2014-09-07 01:10:22 -04:00