From 153fd130de1405f2a85f8a49a2a97daf3d1deaa0 Mon Sep 17 00:00:00 2001 From: Ron Date: Fri, 6 Oct 2017 19:26:44 -0400 Subject: [PATCH] Fixes the gravity generator (#3590) Fixes the gravity generator using the wrong processing, the event not working, and overlays. Closes #3589 --- code/modules/events/gravity.dm | 10 ---------- code/modules/power/gravitygenerator.dm | 18 ++++++++++++------ 2 files changed, 12 insertions(+), 16 deletions(-) diff --git a/code/modules/events/gravity.dm b/code/modules/events/gravity.dm index 463ea75d10a..6249632e0af 100644 --- a/code/modules/events/gravity.dm +++ b/code/modules/events/gravity.dm @@ -13,13 +13,3 @@ for(var/A in SSmachinery.gravity_generators) var/obj/machinery/gravity_generator/main/B = A B.eventshutofftoggle() - -/datum/event/gravity/end() - if(!gravity_is_on) - gravity_is_on = 1 - - for(var/A in SSmachinery.gravity_generators) - var/obj/machinery/gravity_generator/main/B = A - B.eventshutofftoggle() - - command_announcement.Announce("Gravity generators are again functioning within normal parameters. Sorry for any inconvenience.", "Gravity Restored") diff --git a/code/modules/power/gravitygenerator.dm b/code/modules/power/gravitygenerator.dm index 0b920a3beed..b62f290c040 100644 --- a/code/modules/power/gravitygenerator.dm +++ b/code/modules/power/gravitygenerator.dm @@ -81,7 +81,7 @@ /obj/machinery/gravity_generator/main/station/Initialize() . = ..() setup_parts() - middle.overlays += "activated" + middle.add_overlay("activated") update_list() addtimer(CALLBACK(src, .proc/round_startset), 100) @@ -132,7 +132,13 @@ return ..() /obj/machinery/gravity_generator/main/proc/eventshutofftoggle() // Used by the gravity event. Bypasses charging and all of that stuff. + breaker = 0 set_state(eventon) + sleep(20) + charge_count = 0 + breaker = 1 + charging_state = POWER_UP + set_power() eventon = !eventon /obj/machinery/gravity_generator/main/proc/setup_parts() @@ -163,7 +169,7 @@ for(var/obj/machinery/gravity_generator/M in parts) if(!(M.stat & BROKEN)) M.set_broken() - middle.overlays.Cut() + middle.cut_overlays() charge_count = 0 breaker = 0 set_power() @@ -287,7 +293,7 @@ pulse_radiation(100) set_state(0) if(middle) - middle.overlays.Cut() + middle.cut_overlays() if(prob(1)) //It will spawn a small one and eat the generator. Won't cause any other issues considering it's a 1x1 and will go away on it's own. new /obj/singularity(src.loc) if(prob(33)) //Releasing all that power at once is dangerous. @@ -344,7 +350,7 @@ // Charge/Discharge and turn on/off gravity when you reach 0/100 percent. // Also emit radiation and handle the overlays. -/obj/machinery/gravity_generator/main/process() +/obj/machinery/gravity_generator/main/machinery_process() if(stat & BROKEN) return if(charging_state != POWER_IDLE) @@ -380,9 +386,9 @@ if(overlay_state != current_overlay) if(middle) - middle.overlays.Cut() + middle.cut_overlays() if(overlay_state) - middle.overlays += overlay_state + middle.add_overlay(overlay_state) current_overlay = overlay_state /obj/machinery/gravity_generator/main/proc/pulse_radiation(var/amount = 20)