From 3dd7922ff49527214fb57089d3ebfc2aafc27cc2 Mon Sep 17 00:00:00 2001 From: GDN <96800819+GDNgit@users.noreply.github.com> Date: Fri, 14 Jul 2023 16:12:15 -0500 Subject: [PATCH] fixes a lag exploit (#21689) --- code/game/machinery/doors/airlock.dm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 0c2189cd313..660e0969e8c 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -88,6 +88,8 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays) var/prying_so_hard = FALSE var/paintable = TRUE // If the airlock type can be painted with an airlock painter var/heat_resistance = 1500 + /// Have we created sparks too recently? + var/on_spark_cooldown = FALSE var/mutable_appearance/old_buttons_underlay var/mutable_appearance/old_lights_underlay @@ -757,10 +759,12 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays) return FALSE living_mover.forceMove(get_turf(src)) return TRUE - if(isElectrified() && density && isitem(mover)) + if(isElectrified() && density && isitem(mover) && !on_spark_cooldown) var/obj/item/I = mover if(I.flags & CONDUCT) + on_spark_cooldown = TRUE do_sparks(5, 1, src) + addtimer(VARSET_CALLBACK(src, on_spark_cooldown, FALSE), 1 SECONDS) return ..() /obj/machinery/door/airlock/attack_animal(mob/user)