From 55ce177c01aecb98d8f4bfb0d8db9ebc687293f0 Mon Sep 17 00:00:00 2001 From: Robson Richards Date: Mon, 16 Jun 2014 20:58:23 +0100 Subject: [PATCH 1/3] Airlocks take time to weld and unweld + Feedback messages and sound --- code/game/machinery/doors/airlock.dm | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index fe8e972b78a..cf1d6e4fab2 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -868,7 +868,6 @@ About the new airlock wires panel: return /obj/machinery/door/airlock/attackby(C as obj, mob/user as mob) - //world << text("airlock attackby src [] obj [] mob []", src, C, user) if(!istype(usr, /mob/living/silicon)) if(src.isElectrified()) if(src.shock(user, 75)) @@ -879,12 +878,16 @@ About the new airlock wires panel: src.add_fingerprint(user) if((istype(C, /obj/item/weapon/weldingtool) && !( src.operating ) && src.density)) var/obj/item/weapon/weldingtool/W = C - if(W.remove_fuel(0,user)) - if(!src.welded) - src.welded = 1 - else - src.welded = null - src.update_icon() + user << "You begin [welded ? "unwelding":"welding"] the airlock..." + if(do_after(user,40,5,1)) + if(W.remove_fuel(0,user)) + playsound(loc, 'sound/items/welder.ogg', 50, 1, -6) + if(!src.welded) + src.welded = 1 + else + src.welded = null + user << "You [welded ? "welded the airlock shut":"unwelded the airlock"]" + src.update_icon() return else return From a9fcc025123f586f716442d7148ed3bee6a2c381 Mon Sep 17 00:00:00 2001 From: Robson Richards Date: Tue, 17 Jun 2014 16:15:53 +0100 Subject: [PATCH 2/3] adds "start" sound to welding, un-gimps the range of the "ending" weld sound --- code/game/machinery/doors/airlock.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index cf1d6e4fab2..2caa118eb63 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -879,9 +879,10 @@ About the new airlock wires panel: if((istype(C, /obj/item/weapon/weldingtool) && !( src.operating ) && src.density)) var/obj/item/weapon/weldingtool/W = C user << "You begin [welded ? "unwelding":"welding"] the airlock..." + playsound(loc, 'sound/items/Welder2.ogg', 40, 1) if(do_after(user,40,5,1)) if(W.remove_fuel(0,user)) - playsound(loc, 'sound/items/welder.ogg', 50, 1, -6) + playsound(loc, 'sound/items/welder.ogg', 50, 1) if(!src.welded) src.welded = 1 else From 96354bb56d3c0dc939b21bfad9a94c898aecd369 Mon Sep 17 00:00:00 2001 From: Robson Richards Date: Thu, 19 Jun 2014 16:13:10 +0100 Subject: [PATCH 3/3] Lockers now take 40 ticks to weld + Sounds + Feedback messages Minor reformat of code for Locker welding --- code/game/machinery/doors/airlock.dm | 14 ++++++-------- .../structures/crates_lockers/closets.dm | 19 ++++++++++++------- 2 files changed, 18 insertions(+), 15 deletions(-) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 2caa118eb63..b1ab5887bd9 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -883,15 +883,13 @@ About the new airlock wires panel: if(do_after(user,40,5,1)) if(W.remove_fuel(0,user)) playsound(loc, 'sound/items/welder.ogg', 50, 1) - if(!src.welded) - src.welded = 1 - else - src.welded = null + welded = !welded user << "You [welded ? "welded the airlock shut":"unwelded the airlock"]" - src.update_icon() - return - else - return + update_icon() + user.visible_message("[src] has been [welded? "welded shut":"unwelded"] by [user.name].") + else + user << "You need more welding fuel to complete this task." + return else if(istype(C, /obj/item/weapon/screwdriver)) src.p_open = !( src.p_open ) user << "You [p_open ? "open":"close"] the maintenance panel of the airlock." diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index 97d55bedaab..de0021c4f96 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -198,13 +198,18 @@ return else if(istype(W, /obj/item/weapon/weldingtool)) var/obj/item/weapon/weldingtool/WT = W - if(!WT.remove_fuel(0,user)) - user << "You need more welding fuel to complete this task." - return - src.welded =! src.welded - src.update_icon() - for(var/mob/M in viewers(src)) - M.show_message("[src] has been [welded?"welded shut":"unwelded"] by [user.name].", 3, "You hear welding.", 2) + user << "You begin [welded ? "unwelding":"welding"] the [src]..." + playsound(loc, 'sound/items/Welder2.ogg', 40, 1) + if(do_after(user,40,5,1)) + if(WT.remove_fuel(0,user)) + playsound(loc, 'sound/items/welder.ogg', 50, 1) + welded = !welded + user << "You [welded ? "welded the [src] shut":"unwelded the [src]"]" + update_icon() + user.visible_message("[src] has been [welded? "welded shut":"unwelded"] by [user.name].") + else + user << "You need more welding fuel to complete this task." + return else if(!place(user, W)) src.attack_hand(user) return