diff --git a/code/modules/power/debug_items.dm b/code/modules/power/debug_items.dm new file mode 100644 index 0000000000..b21470358c --- /dev/null +++ b/code/modules/power/debug_items.dm @@ -0,0 +1,65 @@ +/obj/machinery/power/debug_items/ + icon = 'icons/obj/power.dmi' + icon_state = "tracker" + anchored = 1 + density = 1 + var/show_extended_information = 1 // Set to 0 to disable extra information on examining (for example, when used on admin events) + +/obj/machinery/power/debug_items/examine(mob/user) + . = ..() + if(show_extended_information) + show_info(user) + +/obj/machinery/power/debug_items/proc/show_info(var/mob/user) + if(!powernet) + to_chat(user, "This device is not connected to a powernet") + return + + to_chat(user, "Connected to powernet: [powernet]") + to_chat(user, "Available power: [num2text(powernet.avail, 20)] W") + to_chat(user, "Load: [num2text(powernet.viewload, 20)] W") + to_chat(user, "Has alert: [powernet.problem ? "YES" : "NO"]") + to_chat(user, "Cables: [powernet.cables.len]") + to_chat(user, "Nodes: [powernet.nodes.len]") + + +// An infinite power generator. Adds energy to connected cable. +/obj/machinery/power/debug_items/infinite_generator + name = "Fractal Energy Reactor" + desc = "An experimental power generator capable of generating massive amounts of energy from subspace vacuum." + var/power_generation_rate = 1000000 + +/obj/machinery/power/debug_items/infinite_generator/process() + add_avail(power_generation_rate) + +/obj/machinery/power/debug_items/infinite_generator/show_info(var/mob/user) + ..() + to_chat(user, "Generator is providing [num2text(power_generation_rate, 20)] W") + + +// A cable powersink, without the explosion/network alarms normal powersink causes. +/obj/machinery/power/debug_items/infinite_cable_powersink + name = "Null Point Core" + desc = "An experimental device that disperses energy, used for grid stress-testing purposes." + var/power_usage_rate = 0 + var/last_used = 0 + +/obj/machinery/power/debug_items/infinite_cable_powersink/process() + last_used = draw_power(power_usage_rate) + +/obj/machinery/power/debug_items/infinite_cable_powersink/show_info(var/mob/user) + ..() + to_chat(user, "Power sink is demanding [num2text(power_usage_rate, 20)] W") + to_chat(user, "[num2text(last_used, 20)] W was actually used last tick") + + +/obj/machinery/power/debug_items/infinite_apc_powersink + name = "APC Dummy Load" + desc = "A dummy load that connects to an APC, used for load testing purposes." + use_power = USE_POWER_ACTIVE + active_power_usage = 0 + +/obj/machinery/power/debug_items/infinite_apc_powersink/show_info(var/mob/user) + ..() + to_chat(user, "Dummy load is using [num2text(active_power_usage, 20)] W") + to_chat(user, "Powered: [powered() ? "YES" : "NO"]") \ No newline at end of file diff --git a/code/modules/power/fractal_reactor.dm b/code/modules/power/fractal_reactor.dm deleted file mode 100644 index 59b6196d30..0000000000 --- a/code/modules/power/fractal_reactor.dm +++ /dev/null @@ -1,29 +0,0 @@ -// ############################################################################### -// # ITEM: FRACTAL ENERGY REACTOR # -// # FUNCTION: Generate infinite electricity. Used for map testing. # -// ############################################################################### - -/obj/machinery/power/fractal_reactor - name = "Fractal Energy Reactor" - desc = "This thing drains power from fractal-subspace." // (DEBUG ITEM: INFINITE POWERSOURCE FOR MAP TESTING. CONTACT DEVELOPERS IF FOUND.)" - icon = 'icons/obj/power.dmi' - icon_state = "tracker" //ICON stolen from solar tracker. There is no need to make new texture for debug item - anchored = 1 - density = 1 - var/power_generation_rate = 1000000 //Defaults to 1MW of power. - var/powernet_connection_failed = 0 - var/mapped_in = 0 //Do not announce creation when it's mapped in. - - // This should be only used on Dev for testing purposes. -/obj/machinery/power/fractal_reactor/New() - ..() - if(!mapped_in) - to_world("WARNING: Map testing power source activated at: X:[src.loc.x] Y:[src.loc.y] Z:[src.loc.z]") - -/obj/machinery/power/fractal_reactor/process() - if(!powernet && !powernet_connection_failed) - if(!connect_to_network()) - powernet_connection_failed = 1 - spawn(150) // Error! Check again in 15 seconds. - powernet_connection_failed = 0 - add_avail(power_generation_rate) \ No newline at end of file diff --git a/polaris.dme b/polaris.dme index f93eba2b36..ab1676dd69 100644 --- a/polaris.dme +++ b/polaris.dme @@ -2481,7 +2481,7 @@ #include "code\modules\power\cable_ender.dm" #include "code\modules\power\cable_heavyduty.dm" #include "code\modules\power\cell.dm" -#include "code\modules\power\fractal_reactor.dm" +#include "code\modules\power\debug_items.dm" #include "code\modules\power\generator.dm" #include "code\modules\power\generator_type2.dm" #include "code\modules\power\gravitygenerator.dm"