[MIRROR] EMP cleanup (#11939)

Co-authored-by: Cameron Lennox <killer65311@gmail.com>
This commit is contained in:
CHOMPStation2StaffMirrorBot
2025-11-08 02:48:48 -07:00
committed by GitHub
parent 18997e2c84
commit e98a9f484a
122 changed files with 222 additions and 358 deletions

View File

@@ -427,7 +427,7 @@
return
go_out()
/obj/machinery/sleeper/emp_act(var/severity)
/obj/machinery/sleeper/emp_act(severity, recursive)
if(filtering)
toggle_filter()
@@ -435,13 +435,13 @@
toggle_pump()
if(stat & (BROKEN|NOPOWER))
..(severity)
..(severity, recursive)
return
if(occupant)
go_out()
..(severity)
..(severity, recursive)
/obj/machinery/sleeper/proc/toggle_filter()
if(!occupant || !beaker)
filtering = 0

View File

@@ -120,7 +120,7 @@
add_overlay("lasergen-cool")
/obj/machinery/power/thermoregulator/proc/turn_off()
on = 0
on = FALSE
change_mode(MODE_IDLE)
update_icon()
@@ -130,12 +130,12 @@
mode = new_mode
update_icon()
/obj/machinery/power/thermoregulator/emp_act(severity)
/obj/machinery/power/thermoregulator/emp_act(severity, recursive)
if(!on)
on = 1
on = TRUE
target_temp += rand(0, 1000)
update_icon()
..(severity)
..(severity, recursive)
/obj/machinery/power/thermoregulator/overload(var/obj/machinery/power/source)
if(!anchored || !powernet)

View File

@@ -109,7 +109,7 @@
disable_field()
update_icon()
/obj/machinery/atmospheric_field_generator/emp_act()
/obj/machinery/atmospheric_field_generator/emp_act(severity, recursive)
if(!(stat & EMPED))
stat |= EMPED
disable_field() //shutting dowwwwwwn

View File

@@ -48,9 +48,9 @@
return
/obj/machinery/portable_atmospherics/powered/pump/emp_act(severity)
/obj/machinery/portable_atmospherics/powered/pump/emp_act(severity, recursive)
if(stat & (BROKEN|NOPOWER))
..(severity)
..(severity, recursive)
return
if(prob(50/severity))
@@ -62,7 +62,7 @@
target_pressure = rand(0,1300)
update_icon()
..(severity)
..(severity, recursive)
/obj/machinery/portable_atmospherics/powered/pump/process()
..()

View File

@@ -26,16 +26,16 @@
cell = new/obj/item/cell/apc(src)
AddElement(/datum/element/climbable)
/obj/machinery/portable_atmospherics/powered/scrubber/emp_act(severity)
/obj/machinery/portable_atmospherics/powered/scrubber/emp_act(severity, recursive)
if(stat & (BROKEN|NOPOWER))
..(severity)
..(severity, recursive)
return
if(prob(50/severity))
on = !on
update_icon()
..(severity)
..(severity, recursive)
/obj/machinery/portable_atmospherics/powered/scrubber/update_icon()
cut_overlays()

View File

@@ -92,7 +92,7 @@
/obj/machinery/camera/proc/internal_process()
return
/obj/machinery/camera/emp_act(severity)
/obj/machinery/camera/emp_act(severity, recursive)
if(!isEmpProof() && prob(100/severity))
if(!affected_by_emp_until || (world.time > affected_by_emp_until))
affected_by_emp_until = max(affected_by_emp_until, world.time + (90 SECONDS / severity))

View File

@@ -108,14 +108,6 @@
charging = null
update_icon()
/obj/machinery/cell_charger/emp_act(severity)
if(stat & (BROKEN|NOPOWER))
return
if(charging)
charging.emp_act(severity)
..(severity)
/obj/machinery/cell_charger/process()
//to_world("ccpt [charging] [stat]")
if((stat & (BROKEN|NOPOWER)) || !anchored)

View File

@@ -399,7 +399,7 @@
return
go_out()
/obj/machinery/clonepod/emp_act(severity)
/obj/machinery/clonepod/emp_act(severity, recursive)
if(prob(100/severity))
malfunction()
..()

View File

@@ -61,9 +61,9 @@
return attack_hand(user)
/obj/machinery/computer/arcade/emp_act(severity)
/obj/machinery/computer/arcade/emp_act(severity, recursive)
if(stat & (NOPOWER|BROKEN))
..(severity)
..(severity, recursive)
return
var/empprize = null
var/num_of_prizes = 0
@@ -80,7 +80,7 @@
empprize = pickweight(prizes)
new empprize(src.loc)
..(severity)
..(severity, recursive)
///////////////////
// BATTLE HERE //

View File

@@ -29,7 +29,7 @@
return 0
return 1
/obj/machinery/computer/emp_act(severity)
/obj/machinery/computer/emp_act(severity, recursive)
if(prob(20/severity)) set_broken()
..()

View File

@@ -478,9 +478,9 @@
if(update_now)
SStgui.update_uis(src)
/obj/machinery/computer/med_data/emp_act(severity)
/obj/machinery/computer/med_data/emp_act(severity, recursive)
if(stat & (BROKEN|NOPOWER))
..(severity)
..(severity, recursive)
return
for(var/datum/data/record/R in GLOB.data_core.medical)
@@ -506,7 +506,7 @@
qdel(R)
continue
..(severity)
..(severity, recursive)
/obj/machinery/computer/med_data/laptop //[TO DO] Change name to PCU and update mapdata to include replacement computers

View File

@@ -489,9 +489,9 @@
if (selection)
return selection.img
/obj/machinery/computer/secure_data/emp_act(severity)
/obj/machinery/computer/secure_data/emp_act(severity, recursive)
if(stat & (BROKEN|NOPOWER))
..(severity)
..(severity, recursive)
return
for(var/datum/data/record/R in GLOB.data_core.security)
@@ -517,7 +517,7 @@
qdel(R)
continue
..(severity)
..(severity, recursive)
/obj/machinery/computer/secure_data/detective_computer
icon_state = "forensic"

View File

@@ -366,9 +366,9 @@
if(update_now)
SStgui.update_uis(src)
/obj/machinery/computer/skills/emp_act(severity)
/obj/machinery/computer/skills/emp_act(severity, recursive)
if(stat & (BROKEN|NOPOWER))
..(severity)
..(severity, recursive)
return
for(var/datum/data/record/R in GLOB.data_core.security)
@@ -394,7 +394,7 @@
qdel(R)
continue
..(severity)
..(severity, recursive)
#undef GENERAL_RECORD_LIST
#undef GENERAL_RECORD_MAINT

View File

@@ -97,7 +97,7 @@ Deployable items
CheckHealth()
return
/obj/machinery/deployable/barrier/emp_act(severity)
/obj/machinery/deployable/barrier/emp_act(severity, recursive)
if(stat & (BROKEN|NOPOWER))
return
if(prob(50/severity))

View File

@@ -1079,7 +1079,7 @@ About the new airlock wires panel:
electronics.conf_access = req_one_access
electronics.one_access = 1
/obj/machinery/door/airlock/emp_act(var/severity)
/obj/machinery/door/airlock/emp_act(severity, recursive)
if(prob(40/severity))
var/duration = world.time + ((30 / severity) SECONDS)
if(duration > electrified_until)

View File

@@ -409,7 +409,7 @@
return
/obj/machinery/door/emp_act(severity)
/obj/machinery/door/emp_act(severity, recursive)
if(prob(20/severity) && (istype(src,/obj/machinery/door/airlock) || istype(src,/obj/machinery/door/window)) )
open()
..()

View File

@@ -85,10 +85,10 @@
noisy = TRUE // CHOMPStation Add: Hummy noises
update_icon()
// Proc: emp_act()
// Proc: emp_act(severity, recursive)
// Parameters: 1 (severity - how strong the EMP is, with lower numbers being stronger)
// Description: Shuts off the machine for awhile if an EMP hits it. Ion anomalies also call this to turn it off.
/obj/machinery/exonet_node/emp_act(severity)
/obj/machinery/exonet_node/emp_act(severity, recursive)
if(!(stat & EMPED))
stat |= EMPED
var/duration = (300 * 10)/severity

View File

@@ -133,7 +133,7 @@ FIRE ALARM
/obj/machinery/firealarm/bullet_act()
return alarm()
/obj/machinery/firealarm/emp_act(severity)
/obj/machinery/firealarm/emp_act(severity, recursive)
if(prob(50 / severity))
alarm(rand(30 / severity, 60 / severity))
..()

View File

@@ -99,13 +99,13 @@
L.flash_eyes()
O.Weaken(flash_time)
/obj/machinery/flasher/emp_act(severity)
/obj/machinery/flasher/emp_act(severity, recursive)
if(stat & (BROKEN|NOPOWER))
..(severity)
..(severity, recursive)
return
if(prob(75/severity))
flash()
..(severity)
..(severity, recursive)
/obj/machinery/flasher/portable/HasProximity(turf/T, datum/weakref/WF, oldloc)
if(isnull(WF))

View File

@@ -111,6 +111,6 @@ GLOBAL_LIST_EMPTY(holoposters)
if(wasUnpowered != (stat & NOPOWER))
update_icon()
/obj/machinery/holoposter/emp_act()
/obj/machinery/holoposter/emp_act(severity, recursive)
stat |= BROKEN
update_icon()

View File

@@ -107,12 +107,12 @@
location.hotspot_expose(1000,500,1)
return 1
/obj/machinery/sparker/emp_act(severity)
/obj/machinery/sparker/emp_act(severity, recursive)
if(stat & (BROKEN|NOPOWER))
..(severity)
..(severity, recursive)
return
ignite()
..(severity)
..(severity, recursive)
/obj/machinery/button/ignition
name = "ignition switch"

View File

@@ -374,7 +374,7 @@
return
/obj/machinery/media/jukebox/ghost/power_change()
return
/obj/machinery/media/jukebox/ghost/emp_act(severity)
/obj/machinery/media/jukebox/ghost/emp_act(severity, recursive)
return
/obj/machinery/media/jukebox/ghost/emag_act(remaining_charges, mob/user)
return

View File

@@ -81,12 +81,12 @@
update_icon()
/obj/machinery/light_switch/emp_act(severity)
/obj/machinery/light_switch/emp_act(severity, recursive)
if(stat & (BROKEN|NOPOWER))
..(severity)
..(severity, recursive)
return
power_change()
..(severity)
..(severity, recursive)
//Breakers for event maps

View File

@@ -162,7 +162,7 @@ Class Procs:
/obj/machinery/process() // Steady power usage is handled separately. If you dont use process why are you here?
return PROCESS_KILL
/obj/machinery/emp_act(severity)
/obj/machinery/emp_act(severity, recursive)
if(use_power && stat == 0)
use_power(7500/severity)
@@ -172,9 +172,7 @@ Class Procs:
pulse2.name = "emp sparks"
pulse2.anchored = TRUE
pulse2.set_dir(pick(GLOB.cardinal))
spawn(10)
qdel(pulse2)
QDEL_IN(pulse2, 1 SECOND)
..()
/obj/machinery/ex_act(severity)

View File

@@ -55,8 +55,8 @@
flick("mass_driver1", src)
return
/obj/machinery/mass_driver/emp_act(severity)
/obj/machinery/mass_driver/emp_act(severity, recursive)
if(stat & (BROKEN|NOPOWER))
return
drive()
..(severity)
..(severity, recursive)

View File

@@ -111,7 +111,7 @@
/obj/machinery/pda_multicaster/process()
update_power()
/obj/machinery/pda_multicaster/emp_act(severity)
/obj/machinery/pda_multicaster/emp_act(severity, recursive)
if(!(stat & EMPED))
stat |= EMPED
var/duration = (300 * 10)/severity

View File

@@ -605,7 +605,7 @@
take_damage(damage)
/obj/machinery/porta_turret/emp_act(severity)
/obj/machinery/porta_turret/emp_act(severity, recursive)
if(enabled)
//if the turret is on, the EMP no matter how severe disables the turret for a while
//and scrambles its settings, with a slight chance of having an emag effect
@@ -624,12 +624,12 @@
..()
/obj/machinery/porta_turret/ai_defense/emp_act(severity)
/obj/machinery/porta_turret/ai_defense/emp_act(severity, recursive)
if(prob(33)) // One in three chance to resist an EMP. This is significant if an AoE EMP is involved against multiple turrets.
return
..()
/obj/machinery/porta_turret/alien/emp_act(severity) // This is overrided to give an EMP resistance as well as avoid scambling the turret settings.
/obj/machinery/porta_turret/alien/emp_act(severity, recursive) // This is overrided to give an EMP resistance as well as avoid scambling the turret settings.
if(prob(75)) // Superior alien technology, I guess.
return
enabled = FALSE

View File

@@ -283,18 +283,6 @@ GLOBAL_LIST_INIT(recharger_battery_exempt, list(
return
/obj/machinery/recharger/emp_act(severity)
if(stat & (NOPOWER|BROKEN) || !anchored)
..(severity)
return
if(charging)
var/obj/item/cell/C = charging.get_cell()
if(istype(C))
C.emp_act(severity)
..(severity)
/obj/machinery/recharger/update_icon() //we have an update_icon() in addition to the stuff in process to make it feel a tiny bit snappier.
if(charging)
icon_state = icon_state_charging

View File

@@ -156,14 +156,6 @@
go_out()
return
/obj/machinery/recharge_station/emp_act(severity)
if(occupant)
occupant.emp_act(severity)
go_out()
if(cell)
cell.emp_act(severity)
..(severity)
/obj/machinery/recharge_station/attackby(var/obj/item/O as obj, var/mob/user as mob)
if(!occupant)
if(default_deconstruction_screwdriver(user, O))

View File

@@ -95,14 +95,6 @@
return 1
return 0
/obj/machinery/space_heater/emp_act(severity)
if(stat & (BROKEN|NOPOWER))
..(severity)
return
if(cell)
cell.emp_act(severity)
..(severity)
/obj/machinery/space_heater/attackby(obj/item/I, mob/user)
if(istype(I, /obj/item/cell))
if(panel_open)

View File

@@ -77,12 +77,12 @@
return
update()
/obj/machinery/status_display/emp_act(severity)
/obj/machinery/status_display/emp_act(severity, recursive)
if(stat & (BROKEN|NOPOWER))
..(severity)
..(severity, recursive)
return
set_picture("ai_bsod")
..(severity)
..(severity, recursive)
// set what is displayed
/obj/machinery/status_display/proc/update()

View File

@@ -209,7 +209,7 @@
if(traffic > 0)
traffic -= netspeed
/obj/machinery/telecomms/emp_act(severity)
/obj/machinery/telecomms/emp_act(severity, recursive)
if(prob(100/severity))
if(!(stat & EMPED))
stat |= EMPED

View File

@@ -224,7 +224,7 @@
icon_state = "control_standby"
set_light(1.5, 1,"#003300")
/obj/machinery/turretid/emp_act(severity)
/obj/machinery/turretid/emp_act(severity, recursive)
if(enabled)
//if the turret is on, the EMP no matter how severe disables the turret for a while
//and scrambles its settings, with a slight chance of having an emag effect
@@ -235,12 +235,12 @@
check_access = pick(0, 0, 0, 0, 1) // check_access is a pretty big deal, so it's least likely to get turned on
check_anomalies = pick(0, 1)
enabled=0
enabled = FALSE
updateTurrets()
spawn(rand(60,600))
if(!enabled)
enabled=1
enabled = TRUE
updateTurrets()
..()

View File

@@ -118,9 +118,9 @@
/obj/machinery/vr_sleeper/emp_act(var/severity)
/obj/machinery/vr_sleeper/emp_act(severity, recursive)
if(stat & (BROKEN|NOPOWER))
..(severity)
..(severity, recursive)
return
if(occupant)
@@ -134,7 +134,7 @@
smoke.start("#202020")
perform_exit()
..(severity)
..(severity, recursive)
/obj/machinery/vr_sleeper/verb/eject()
set src in view(1)