mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 10:12:45 +00:00
Implements better powernet warning system (as suggested by mwerezak)
This commit is contained in:
@@ -957,7 +957,7 @@ ________________________________________________________________________________
|
||||
var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread()
|
||||
spark_system.set_up(5, 0, A.loc)
|
||||
while(G.candrain&&A.cell.charge>0&&!maxcapacity)
|
||||
A.terminal.powernet.newproblem = 1
|
||||
A.terminal.powernet.trigger_warning()
|
||||
drain = rand(G.mindrain,G.maxdrain)
|
||||
if(A.cell.charge<drain)
|
||||
drain = A.cell.charge
|
||||
@@ -1083,7 +1083,7 @@ ________________________________________________________________________________
|
||||
var/obj/structure/cable/A = target
|
||||
var/datum/powernet/PN = A.get_powernet()
|
||||
while(G.candrain&&!maxcapacity&&!isnull(A))
|
||||
PN.newproblem = 1
|
||||
PN.trigger_warning()
|
||||
drain = (round((rand(G.mindrain,G.maxdrain))/2))
|
||||
var/drained = 0
|
||||
if(PN&&do_after(U,10))
|
||||
|
||||
@@ -95,7 +95,7 @@
|
||||
var/datum/powernet/PN = attached.get_powernet()
|
||||
if(PN)
|
||||
SetLuminosity(12)
|
||||
PN.newproblem = 1
|
||||
PN.trigger_warning()
|
||||
// found a powernet, so drain up to max power from it
|
||||
var/drained = PN.draw_power(drain_rate)
|
||||
|
||||
|
||||
@@ -13,8 +13,6 @@
|
||||
var/netexcess = 0 // excess power on the powernet (typically avail-load)
|
||||
|
||||
var/problem = 0 // If either of these is set to 1 there is some sort of issue at the powernet.
|
||||
var/newproblem = 0 // At time of implementation this may be: Powersink, Spess Ninja recharging
|
||||
|
||||
|
||||
/datum/powernet/New()
|
||||
powernets += src
|
||||
@@ -76,13 +74,18 @@
|
||||
M.powernet = src
|
||||
nodes[M] = M
|
||||
|
||||
// Triggers warning for certain amount of ticks
|
||||
/datum/powernet/proc/trigger_warning(var/duration_ticks = 20)
|
||||
problem = max(duration_ticks, problem)
|
||||
|
||||
|
||||
//handles the power changes in the powernet
|
||||
//called every ticks by the powernet controller
|
||||
/datum/powernet/proc/reset()
|
||||
var/numapc = 0
|
||||
|
||||
problem = newproblem
|
||||
newproblem = 0
|
||||
if(problem > 0)
|
||||
problem = max(problem - 1, 0)
|
||||
|
||||
if(nodes && nodes.len) // Added to fix a bad list bug -- TLE
|
||||
for(var/obj/machinery/power/terminal/term in nodes)
|
||||
|
||||
@@ -78,7 +78,7 @@
|
||||
else
|
||||
textavail += " W"
|
||||
|
||||
if(powernet.problem || powernet.newproblem)
|
||||
if(powernet.problem)
|
||||
out += "<br><b>WARNING: Abnormal grid activity detected!</b>"
|
||||
out += "<br><b>TOTAL GRID LOAD: [total_load]</b>"
|
||||
out += "<br><b>TOTAL AVAILABLE: [textavail]</b>"
|
||||
|
||||
Reference in New Issue
Block a user