mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 10:43:20 +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()
|
var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread()
|
||||||
spark_system.set_up(5, 0, A.loc)
|
spark_system.set_up(5, 0, A.loc)
|
||||||
while(G.candrain&&A.cell.charge>0&&!maxcapacity)
|
while(G.candrain&&A.cell.charge>0&&!maxcapacity)
|
||||||
A.terminal.powernet.newproblem = 1
|
A.terminal.powernet.trigger_warning()
|
||||||
drain = rand(G.mindrain,G.maxdrain)
|
drain = rand(G.mindrain,G.maxdrain)
|
||||||
if(A.cell.charge<drain)
|
if(A.cell.charge<drain)
|
||||||
drain = A.cell.charge
|
drain = A.cell.charge
|
||||||
@@ -1083,7 +1083,7 @@ ________________________________________________________________________________
|
|||||||
var/obj/structure/cable/A = target
|
var/obj/structure/cable/A = target
|
||||||
var/datum/powernet/PN = A.get_powernet()
|
var/datum/powernet/PN = A.get_powernet()
|
||||||
while(G.candrain&&!maxcapacity&&!isnull(A))
|
while(G.candrain&&!maxcapacity&&!isnull(A))
|
||||||
PN.newproblem = 1
|
PN.trigger_warning()
|
||||||
drain = (round((rand(G.mindrain,G.maxdrain))/2))
|
drain = (round((rand(G.mindrain,G.maxdrain))/2))
|
||||||
var/drained = 0
|
var/drained = 0
|
||||||
if(PN&&do_after(U,10))
|
if(PN&&do_after(U,10))
|
||||||
|
|||||||
@@ -95,7 +95,7 @@
|
|||||||
var/datum/powernet/PN = attached.get_powernet()
|
var/datum/powernet/PN = attached.get_powernet()
|
||||||
if(PN)
|
if(PN)
|
||||||
SetLuminosity(12)
|
SetLuminosity(12)
|
||||||
PN.newproblem = 1
|
PN.trigger_warning()
|
||||||
// found a powernet, so drain up to max power from it
|
// found a powernet, so drain up to max power from it
|
||||||
var/drained = PN.draw_power(drain_rate)
|
var/drained = PN.draw_power(drain_rate)
|
||||||
|
|
||||||
|
|||||||
@@ -13,8 +13,6 @@
|
|||||||
var/netexcess = 0 // excess power on the powernet (typically avail-load)
|
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/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()
|
/datum/powernet/New()
|
||||||
powernets += src
|
powernets += src
|
||||||
@@ -76,13 +74,18 @@
|
|||||||
M.powernet = src
|
M.powernet = src
|
||||||
nodes[M] = M
|
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
|
//handles the power changes in the powernet
|
||||||
//called every ticks by the powernet controller
|
//called every ticks by the powernet controller
|
||||||
/datum/powernet/proc/reset()
|
/datum/powernet/proc/reset()
|
||||||
var/numapc = 0
|
var/numapc = 0
|
||||||
|
|
||||||
problem = newproblem
|
if(problem > 0)
|
||||||
newproblem = 0
|
problem = max(problem - 1, 0)
|
||||||
|
|
||||||
if(nodes && nodes.len) // Added to fix a bad list bug -- TLE
|
if(nodes && nodes.len) // Added to fix a bad list bug -- TLE
|
||||||
for(var/obj/machinery/power/terminal/term in nodes)
|
for(var/obj/machinery/power/terminal/term in nodes)
|
||||||
|
|||||||
@@ -78,7 +78,7 @@
|
|||||||
else
|
else
|
||||||
textavail += " W"
|
textavail += " W"
|
||||||
|
|
||||||
if(powernet.problem || powernet.newproblem)
|
if(powernet.problem)
|
||||||
out += "<br><b>WARNING: Abnormal grid activity detected!</b>"
|
out += "<br><b>WARNING: Abnormal grid activity detected!</b>"
|
||||||
out += "<br><b>TOTAL GRID LOAD: [total_load]</b>"
|
out += "<br><b>TOTAL GRID LOAD: [total_load]</b>"
|
||||||
out += "<br><b>TOTAL AVAILABLE: [textavail]</b>"
|
out += "<br><b>TOTAL AVAILABLE: [textavail]</b>"
|
||||||
|
|||||||
Reference in New Issue
Block a user