mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-09 16:12:17 +00:00
[MIRROR] EMP cleanup (#11939)
Co-authored-by: Cameron Lennox <killer65311@gmail.com>
This commit is contained in:
committed by
GitHub
parent
18997e2c84
commit
e98a9f484a
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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()
|
||||
..()
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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()
|
||||
..()
|
||||
|
||||
@@ -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 //
|
||||
|
||||
@@ -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()
|
||||
..()
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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()
|
||||
..()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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))
|
||||
..()
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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()
|
||||
|
||||
..()
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user