Skip to content

Commit 37a182c

Browse files
Merge pull request #5230 from out-of-phaze/codequality/debug-power
Make power debug machines not use the power subtype
2 parents afcafb9 + b4f6be0 commit 37a182c

File tree

7 files changed

+29
-23
lines changed

7 files changed

+29
-23
lines changed

code/modules/power/debug_items.dm

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,18 @@
1-
/obj/machinery/power/debug_items
2-
abstract_type = /obj/machinery/power/debug_items
1+
/obj/machinery/debug_items
2+
abstract_type = /obj/machinery/debug_items
33
icon = 'icons/obj/power.dmi'
44
icon_state = "tracker"
55
anchored = TRUE
66
density = TRUE
77
var/show_extended_information = 1 // Set to 0 to disable extra information on examining (for example, when used on admin events)
88

9-
/obj/machinery/power/debug_items/examined_by(mob/user)
9+
/obj/machinery/debug_items/examined_by(mob/user)
1010
. = ..()
1111
if(show_extended_information)
1212
show_info(user)
1313

14-
/obj/machinery/power/debug_items/proc/show_info(var/mob/user)
14+
/obj/machinery/debug_items/proc/show_info(var/mob/user)
15+
var/datum/powernet/powernet = get_powernet()
1516
if(!powernet)
1617
to_chat(user, "This device is not connected to a powernet.")
1718
return
@@ -25,42 +26,43 @@
2526

2627

2728
// An infinite power generator. Adds energy to connected cable.
28-
/obj/machinery/power/debug_items/infinite_generator
29+
/obj/machinery/debug_items/infinite_generator
2930
name = "Fractal Energy Reactor"
3031
desc = "An experimental power generator"
3132
var/power_generation_rate = 1000000
3233

33-
/obj/machinery/power/debug_items/infinite_generator/Process()
34-
add_avail(power_generation_rate)
34+
/obj/machinery/debug_items/infinite_generator/Process()
35+
generate_power(power_generation_rate)
3536

36-
/obj/machinery/power/debug_items/infinite_generator/show_info(var/mob/user)
37+
/obj/machinery/debug_items/infinite_generator/show_info(var/mob/user)
3738
..()
3839
to_chat(user, "Generator is providing [num2text(power_generation_rate, 20)] W")
3940

4041

4142
// A cable powersink, without the explosion/network alarms normal powersink causes.
42-
/obj/machinery/power/debug_items/infinite_cable_powersink
43+
/obj/machinery/debug_items/infinite_cable_powersink
4344
name = "Null Point Core"
4445
desc = "An experimental device that disperses energy, used for grid testing purposes."
4546
var/power_usage_rate = 0
4647
var/last_used = 0
4748

48-
/obj/machinery/power/debug_items/infinite_cable_powersink/Process()
49-
last_used = draw_power(power_usage_rate)
49+
/obj/machinery/debug_items/infinite_cable_powersink/Process()
50+
var/datum/powernet/powernet = get_powernet()
51+
last_used = powernet.draw_power(power_usage_rate)
5052

51-
/obj/machinery/power/debug_items/infinite_cable_powersink/show_info(var/mob/user)
53+
/obj/machinery/debug_items/infinite_cable_powersink/show_info(var/mob/user)
5254
..()
5355
to_chat(user, "Power sink is demanding [num2text(power_usage_rate, 20)] W")
5456
to_chat(user, "[num2text(last_used, 20)] W was actually used last tick")
5557

5658

57-
/obj/machinery/power/debug_items/infinite_apc_powersink
59+
/obj/machinery/debug_items/infinite_apc_powersink
5860
name = "APC Dummy Load"
5961
desc = "A dummy load that connects to an APC, used for load testing purposes."
6062
use_power = POWER_USE_ACTIVE
6163
active_power_usage = 0
6264

63-
/obj/machinery/power/debug_items/infinite_apc_powersink/show_info(var/mob/user)
65+
/obj/machinery/debug_items/infinite_apc_powersink/show_info(var/mob/user)
6466
..()
6567
to_chat(user, "Dummy load is using [num2text(active_power_usage, 20)] W")
6668
to_chat(user, "Powered: [!(stat & NOPOWER) ? "YES" : "NO"]")

code/modules/power/power.dm

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
// POWER MACHINERY BASE CLASS
33
// This subtype is for machinery which needs to be directly referenced by its parent powernet during powernet processing.
44
// This subtype does not encompass all power generating machinery, or machinery that needs to draw from a powernet in general.
5+
// If you try using this, make sure you can't just use get_powernet() instead. Ideally either the powernet needs to know about it (APCs)
6+
// or we need to run logic when we connect or disconnect from a powernet (solar panels/trackers).
57
//////////////////////////////
68

79
/////////////////////////////

maps/example/example-1.dmm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -334,7 +334,7 @@
334334
/turf/floor/tiled/dark/monotile,
335335
/area/example/first)
336336
"qR" = (
337-
/obj/machinery/power/debug_items/infinite_generator,
337+
/obj/machinery/debug_items/infinite_generator,
338338
/obj/structure/cable/yellow,
339339
/turf/floor,
340340
/area/example/first)

maps/example/example-2.dmm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -436,7 +436,7 @@
436436
/turf/floor/tiled/steel_grid,
437437
/area/example/second)
438438
"Ci" = (
439-
/obj/machinery/power/debug_items/infinite_generator,
439+
/obj/machinery/debug_items/infinite_generator,
440440
/obj/structure/cable/yellow,
441441
/turf/floor/tiled/white,
442442
/area/example/second)

maps/example/example-3.dmm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@
198198
/turf/floor/tiled/steel_grid,
199199
/area/example/third)
200200
"GA" = (
201-
/obj/machinery/power/debug_items/infinite_generator,
201+
/obj/machinery/debug_items/infinite_generator,
202202
/obj/structure/cable/yellow{
203203
icon_state = "0-2"
204204
},

mods/species/ascent/machines/ship_machines.dm

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ MANTIDIFY(/obj/item/chems/chem_disp_cartridge, "canister", "chemical storage")
149149

150150
// This is an absolutely stupid machine. Basically the same as the debug one with some alterations.
151151
// It is a placeholder for a proper reactor setup (probably a RUST descendant)
152-
/obj/machinery/power/ascent_reactor
152+
/obj/machinery/ascent_reactor
153153
name = "mantid fusion stack"
154154
desc = "A tall, gleaming assemblage of advanced alien machinery. It hums and crackles with restrained power."
155155
icon = 'icons/obj/machines/power/fusion_core.dmi'
@@ -159,7 +159,7 @@ MANTIDIFY(/obj/item/chems/chem_disp_cartridge, "canister", "chemical storage")
159159
var/output_power = 9000 KILOWATTS
160160
var/image/field_image
161161

162-
/obj/machinery/power/ascent_reactor/attack_hand(mob/user)
162+
/obj/machinery/ascent_reactor/attack_hand(mob/user)
163163
if(!user.check_dexterity(DEXTERITY_COMPLEX_TOOLS, TRUE))
164164
return ..()
165165
if(ishuman(user))
@@ -175,7 +175,7 @@ MANTIDIFY(/obj/item/chems/chem_disp_cartridge, "canister", "chemical storage")
175175
update_icon()
176176
return TRUE
177177

178-
/obj/machinery/power/ascent_reactor/on_update_icon()
178+
/obj/machinery/ascent_reactor/on_update_icon()
179179
. = ..()
180180

181181
if(!field_image)
@@ -198,13 +198,13 @@ MANTIDIFY(/obj/item/chems/chem_disp_cartridge, "canister", "chemical storage")
198198
set_light(0)
199199
icon_state = "core0"
200200

201-
/obj/machinery/power/ascent_reactor/Initialize()
201+
/obj/machinery/ascent_reactor/Initialize()
202202
. = ..()
203203
update_icon()
204204

205-
/obj/machinery/power/ascent_reactor/Process()
205+
/obj/machinery/ascent_reactor/Process()
206206
if(on)
207-
add_avail(output_power)
207+
generate_power(output_power)
208208

209209
/obj/machinery/power/smes/buildable/power_shuttle/ascent
210210
name = "mantid battery"
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
/obj/machinery/power/debug_items/@SUBTYPES : /obj/machinery/debug_items/@SUBTYPES{@OLD}
2+
/obj/machinery/power/ascent_reactor/@SUBTYPES : /obj/machinery/ascent_reactor/@SUBTYPES{@OLD}

0 commit comments

Comments
 (0)