Fixes the gravity generator (#3590)

Fixes the gravity generator using the wrong processing, the event not working, and overlays.
Closes #3589
This commit is contained in:
Ron
2017-10-06 19:26:44 -04:00
committed by Lohikar
parent 8db472ae15
commit 153fd130de
2 changed files with 12 additions and 16 deletions
-10
View File
@@ -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")
+12 -6
View File
@@ -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)