From 6ba41ca7a79b1b39c8efafa3f7b559ef215b67cf Mon Sep 17 00:00:00 2001 From: kingofkosmos Date: Tue, 14 Apr 2015 19:45:08 +0300 Subject: [PATCH] Do_afters now use "target = src", removed oldloc-stuff. False wall construction had a bug if you had exactly 2 sheets in your hand, it wouldn't work - fixed it. --- code/game/machinery/constructable_frame.dm | 20 ++----- code/game/objects/structures/girders.dm | 66 ++++++++-------------- 2 files changed, 29 insertions(+), 57 deletions(-) diff --git a/code/game/machinery/constructable_frame.dm b/code/game/machinery/constructable_frame.dm index c691d7159e1..eba44acf399 100644 --- a/code/game/machinery/constructable_frame.dm +++ b/code/game/machinery/constructable_frame.dm @@ -67,10 +67,7 @@ if(C.get_amount() >= 5) playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1) user << "You start to add cables to the frame..." - var oldloc = src.loc - if(do_after(user, 20)) - if(src.loc!=oldloc) - return + if(do_after(user, 20, target = src)) if(C.get_amount() >= 5 && state == 1) C.use(5) user << "You add cables to the frame." @@ -85,12 +82,9 @@ playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1) user.visible_message("[user] disassembles the frame.", \ "You start to disassemble the frame...", "You hear welding and clanking.") - var oldloc = src.loc - if(do_after(user, 40)) + if(do_after(user, 40, target = src)) if( !WT.isOn() ) return - if(src.loc!=oldloc) - return user << "You disassemble the frame." var/obj/item/stack/sheet/metal/M = new (loc, 5) M.add_fingerprint(user) @@ -98,10 +92,7 @@ if(istype(P, /obj/item/weapon/wrench)) user << "You start [anchored ? "un" : ""]securing [name]..." playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1) - var oldloc = src.loc - if(do_after(user, 40)) - if(src.loc!=oldloc) - return + if(do_after(user, 40, target = src)) user << "You [anchored ? "un" : ""]secure [name]." anchored = !anchored @@ -109,10 +100,7 @@ if(istype(P, /obj/item/weapon/wrench)) user << "You start [anchored ? "un" : ""]securing [name]..." playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1) - var oldloc = src.loc - if(do_after(user, 40)) - if(src.loc!=oldloc) - return + if(do_after(user, 40, target = src)) user << "You [anchored ? "un" : ""]secure [name]." anchored = !anchored diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm index d310b401e82..49aa0a97127 100644 --- a/code/game/objects/structures/girders.dm +++ b/code/game/objects/structures/girders.dm @@ -20,12 +20,9 @@ playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1) user.visible_message("[user] disassembles the girder.", \ "You start to disassemble the girder...", "You hear welding and clanking.") - var/oldloc = src.loc - if(do_after(user, 40)) + if(do_after(user, 40, target = src)) if( !WT.isOn() ) return - if(src.loc!=oldloc) - return user << "You disassemble the girder." var/obj/item/stack/sheet/metal/M = new (loc, 2) M.add_fingerprint(user) @@ -37,10 +34,7 @@ return playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1) user << "You start securing the girder..." - var/oldloc = src.loc - if(do_after(user, 40)) - if(src.loc!=oldloc) - return + if(do_after(user, 40, target = src)) user << "You secure the girder." var/obj/structure/girder/G = new (loc) transfer_fingerprints_to(G) @@ -48,9 +42,7 @@ else if(istype(W, /obj/item/weapon/gun/energy/plasmacutter)) user << "You start slicing apart the girder..." - if(do_after(user,30)) - if(!src.loc) - return + if(do_after(user, 30, target = src)) user << "You slice apart the girder." var/obj/item/stack/sheet/metal/M = new (loc, 2) M.add_fingerprint(user) @@ -70,18 +62,14 @@ else if(istype(W, /obj/item/weapon/screwdriver) && state == GIRDER_REINF) playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1) user << "You start unsecuring support struts..." - if(do_after(user,40)) - if(!src.loc) - return + if(do_after(user, 40, target = src)) user << "You unsecure the support struts." state = GIRDER_REINF_STRUTS else if(istype(W, /obj/item/weapon/wirecutters) && state == GIRDER_REINF_STRUTS) playsound(src.loc, 'sound/items/Wirecutter.ogg', 100, 1) user << "You start removing support struts..." - if(do_after(user,40)) - if(!src.loc) - return + if(do_after(user, 40, target = src)) user << "You remove the support struts." new /obj/item/stack/sheet/plasteel(get_turf(src)) var/obj/structure/girder/G = new (loc) @@ -91,9 +79,7 @@ else if(istype(W, /obj/item/weapon/wrench) && state == GIRDER_NORMAL && anchored ) playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1) user << "You start unsecuring the girder..." - if(do_after(user, 40)) - if(!src.loc) - return + if(do_after(user, 40, target = src)) user << "You unsecure the girder." var/obj/structure/girder/displaced/D = new (loc) transfer_fingerprints_to(D) @@ -109,19 +95,18 @@ if(/obj/item/stack/sheet/metal, /obj/item/stack/sheet/metal/cyborg) if(!anchored) - if (S.use(2)) - user << "You start building a false wall..." - var/oldloc = src.loc - if(do_after(user, 20)) - if(src.loc!=oldloc) - return + if(S.get_amount() < 2) + user << "You need two sheets of metal to create a false wall!" + return + user << "You start building a false wall..." + if(do_after(user, 20, target = src)) + if(!src.loc || !S || S.amount < 2) + return + S.use(2) user << "You create a false wall. Push on it to open or close the passage." var/obj/structure/falsewall/F = new (loc) transfer_fingerprints_to(F) qdel(src) - else - user << "You need two sheets of metal to create a false wall!" - return else if(S.get_amount() < 2) user << "You need two sheets of metal to finish a wall!" @@ -145,16 +130,15 @@ if(S.amount < 2) user << "You need at least two sheets to create a false wall!" return - S.use(2) user << "You start building a reinforced false wall..." - var/oldloc = src.loc - if(do_after(user, 20)) - if(src.loc!=oldloc) + if(do_after(user, 20, target = src)) + if(!src.loc || !S || S.amount < 2) return - user << "You create a reinforced false wall. Push on it to open or close the passage." - var/obj/structure/falsewall/reinforced/FW = new (loc) - transfer_fingerprints_to(FW) - qdel(src) + S.use(2) + user << "You create a reinforced false wall. Push on it to open or close the passage." + var/obj/structure/falsewall/reinforced/FW = new (loc) + transfer_fingerprints_to(FW) + qdel(src) else if (src.icon_state == "reinforced") //I cant believe someone would actually write this line of code... if(S.amount < 1) return ..() @@ -173,7 +157,7 @@ else if(S.amount < 1) return ..() user << "You start reinforcing the girder..." - if (do_after(user,60)) + if (do_after(user, 60)) if(!src.loc || !S || S.amount < 1) return S.use(1) @@ -187,7 +171,7 @@ var/M = S.sheettype if(!anchored) if(S.amount < 2) - user << "You need at least two sheets to create a false wall." + user << "You need at least two sheets to create a false wall!" return S.use(2) user << "You create a false wall. Push on it to open or close the passage." @@ -198,7 +182,7 @@ else if(S.amount < 2) return ..() user << "You start adding plating..." - if (do_after(user,40)) + if (do_after(user, 40)) if(!src.loc || !S || S.amount < 2) return S.use(2) @@ -315,7 +299,7 @@ else if(istype(W, /obj/item/weapon/gun/energy/plasmacutter)) user << "You start slicing apart the girder..." - if(do_after(user,30)) + if(do_after(user, 30)) user << "You slice apart the girder." var/obj/effect/decal/remains/human/R = new (get_turf(src)) transfer_fingerprints_to(R)