mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-27 22:17:32 +01:00
Power Code Cleanup + Conversion to Regional Powernets [Refactor Only] (#20598)
* initial edits * more cleanup, yipee * moving shit around * dme fixes * fixes file ticking issue * more dme fixes + duplicate files??? * Apply suggestions from code review Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> * glass floor fixes * Apply suggestions from code review Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com> * requested reviews * the most painful bugfix of my life * forgot to remove some debug stuff * fixed issues with excess power * fuck powernets (fix) * Update code/modules/power/powernets/README.md Co-authored-by: SteelSlayer <42044220+SteelSlayer@users.noreply.github.com> --------- Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com> Co-authored-by: SteelSlayer <42044220+SteelSlayer@users.noreply.github.com>
This commit is contained in:
co-authored by
Henri215
Contrabang
SteelSlayer
parent
0541604174
commit
11717823df
@@ -11,6 +11,7 @@ SUBSYSTEM_DEF(machines)
|
||||
|
||||
var/list/processing = list()
|
||||
var/list/currentrun = list()
|
||||
/// All regional powernets (/datum/regional_powernet) in the world
|
||||
var/list/powernets = list()
|
||||
var/list/deferred_powernet_rebuilds = list()
|
||||
|
||||
@@ -27,15 +28,15 @@ SUBSYSTEM_DEF(machines)
|
||||
.["custom"] = cust
|
||||
|
||||
/datum/controller/subsystem/machines/proc/makepowernets()
|
||||
for(var/datum/powernet/PN in powernets)
|
||||
for(var/datum/regional_powernet/PN in powernets)
|
||||
qdel(PN)
|
||||
powernets.Cut()
|
||||
|
||||
for(var/obj/structure/cable/PC in GLOB.cable_list)
|
||||
if(!PC.powernet)
|
||||
var/datum/powernet/NewPN = new()
|
||||
NewPN.add_cable(PC)
|
||||
propagate_network(PC,PC.powernet)
|
||||
var/datum/regional_powernet/new_pn = new()
|
||||
new_pn.add_cable(PC)
|
||||
propagate_network(PC, PC.powernet)
|
||||
|
||||
/datum/controller/subsystem/machines/get_stat_details()
|
||||
return "Machines: [processing.len] | Powernets: [powernets.len] | Deferred: [deferred_powernet_rebuilds.len]"
|
||||
@@ -49,7 +50,7 @@ SUBSYSTEM_DEF(machines)
|
||||
var/obj/O = currentrun[currentrun.len]
|
||||
currentrun.len--
|
||||
if(O && !QDELETED(O))
|
||||
var/datum/powernet/newPN = new() // create a new powernet...
|
||||
var/datum/regional_powernet/newPN = new() // create a new powernet...
|
||||
propagate_network(O, newPN)//... and propagate it to the other side of the cable
|
||||
|
||||
deferred_powernet_rebuilds.Remove(O)
|
||||
@@ -62,10 +63,10 @@ SUBSYSTEM_DEF(machines)
|
||||
//cache for sanid speed (lists are references anyways)
|
||||
var/list/currentrun = src.currentrun
|
||||
while(currentrun.len)
|
||||
var/datum/powernet/P = currentrun[currentrun.len]
|
||||
var/datum/regional_powernet/P = currentrun[currentrun.len]
|
||||
currentrun.len--
|
||||
if(P)
|
||||
P.reset() // reset the power state
|
||||
P.process_power() // reset the power state
|
||||
else
|
||||
powernets.Remove(P)
|
||||
if(MC_TICK_CHECK)
|
||||
@@ -117,7 +118,7 @@ SUBSYSTEM_DEF(machines)
|
||||
for(var/A in cables)
|
||||
var/obj/structure/cable/PC = A
|
||||
if(!PC.powernet)
|
||||
var/datum/powernet/NewPN = new()
|
||||
var/datum/regional_powernet/NewPN = new()
|
||||
NewPN.add_cable(PC)
|
||||
propagate_network(PC,PC.powernet)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user