mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-07-12 16:37:19 +01:00
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:
@@ -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")
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user