From 3bbf35905e5c4e5688ad96efeb169c793aa57120 Mon Sep 17 00:00:00 2001 From: Hatterhat <31829017+Hatterhat@users.noreply.github.com> Date: Sat, 28 Mar 2026 06:25:53 -0500 Subject: [PATCH] Installing/moving windoor electronics only happens after the do-after (#95518) Co-authored-by: Hatterhat --- code/game/objects/structures/windoor_assembly.dm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code/game/objects/structures/windoor_assembly.dm b/code/game/objects/structures/windoor_assembly.dm index 9107d6180c0..508d1f00480 100644 --- a/code/game/objects/structures/windoor_assembly.dm +++ b/code/game/objects/structures/windoor_assembly.dm @@ -220,21 +220,21 @@ //Adding airlock electronics for access. Step 6 complete. else if(istype(W, /obj/item/electronics/airlock)) - if(!user.transferItemToLoc(W, src)) - return + W.play_tool_sound(src, 100) user.visible_message(span_notice("[user] installs the electronics into the airlock assembly."), span_notice("You start to install electronics into the airlock assembly...")) if(do_after(user, 4 SECONDS, target = src)) + + if(!user.transferItemToLoc(W, src)) + return if(!src || electronics) W.forceMove(drop_location()) return to_chat(user, span_notice("You install the airlock electronics.")) name = "near finished windoor assembly" electronics = W - else - W.forceMove(drop_location()) //Screwdriver to remove airlock electronics. Step 6 undone. else if(W.tool_behaviour == TOOL_SCREWDRIVER)