From d342870bd8b9c0aaa84320fecf6845ab63e392e3 Mon Sep 17 00:00:00 2001 From: Citinited Date: Sun, 16 Feb 2020 00:49:06 +0000 Subject: [PATCH 1/4] Fixes some doubling up of sounds on tools --- code/game/machinery/doors/door.dm | 2 ++ code/game/machinery/machinery.dm | 9 ++++++--- code/game/machinery/vending.dm | 7 +++---- code/game/objects/objs.dm | 2 +- 4 files changed, 12 insertions(+), 8 deletions(-) diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index e1a9e78f5b3..83ce512ebd9 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -202,6 +202,8 @@ if(user.a_intent == INTENT_HARM) return . = TRUE + if(operating) + return if(!I.use_tool(src, user, 0, volume = I.tool_volume)) return try_to_crowbar(I, user) diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm index 5991bf0006f..e054ae59ace 100644 --- a/code/game/machinery/machinery.dm +++ b/code/game/machinery/machinery.dm @@ -402,18 +402,19 @@ Class Procs: /obj/machinery/proc/default_deconstruction_crowbar(user, obj/item/I, ignore_panel = 0) if(I.tool_behaviour != TOOL_CROWBAR) return FALSE - if(!I.use_tool(src, user, 0, volume = I.tool_volume)) + if(!I.use_tool(src, user, 0, volume = 0)) return FALSE if((panel_open || ignore_panel) && !(flags & NODECONSTRUCT)) deconstruct(TRUE) to_chat(user, "You disassemble [src].") + I.play_tool_sound(user, I.tool_volume) return 1 return 0 /obj/machinery/proc/default_deconstruction_screwdriver(mob/user, icon_state_open, icon_state_closed, obj/item/I) if(I.tool_behaviour != TOOL_SCREWDRIVER) return FALSE - if(!I.use_tool(src, user, 0, volume = I.tool_volume)) + if(!I.use_tool(src, user, 0, volume = 0)) return FALSE if(!(flags & NODECONSTRUCT)) if(!panel_open) @@ -424,17 +425,19 @@ Class Procs: panel_open = 0 icon_state = icon_state_closed to_chat(user, "You close the maintenance hatch of [src].") + I.play_tool_sound(user, I.tool_volume) return 1 return 0 /obj/machinery/proc/default_change_direction_wrench(mob/user, obj/item/I) if(I.tool_behaviour != TOOL_WRENCH) return FALSE - if(!I.use_tool(src, user, 0, volume = I.tool_volume)) + if(!I.use_tool(src, user, 0, volume = 0)) return FALSE if(panel_open) dir = turn(dir,-90) to_chat(user, "You rotate [src].") + I.play_tool_sound(user, I.tool_volume) return TRUE return FALSE diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index 7a0cd5e8f03..00d9f94a356 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -307,13 +307,12 @@ /obj/machinery/vending/wirecutter_act(mob/user, obj/item/I) . = TRUE - if(!I.use_tool(src, user, 0, volume = I.tool_volume)) - return - wires.Interact(user) + if(I.use_tool(src, user, 0, volume = 0)) + wires.Interact(user) /obj/machinery/vending/wrench_act(mob/user, obj/item/I) . = TRUE - if(!I.use_tool(src, user, 0, volume = I.tool_volume)) + if(!I.use_tool(src, user, 0, volume = 0)) return default_unfasten_wrench(user, I, time = 60) diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index 355bb7c89b7..0d0a8ff8d36 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -293,7 +293,7 @@ a { return FALSE if(I.tool_behaviour != TOOL_WRENCH) return FALSE - if(!I.use_tool(src, user, 0, volume = I.tool_volume)) + if(!I.tool_use_check(user, 0)) return FALSE if(!(flags & NODECONSTRUCT)) to_chat(user, "Now [anchored ? "un" : ""]securing [name].") From b5ef242d929fec0f8b06e24a4875c48a7cccaef2 Mon Sep 17 00:00:00 2001 From: Citinited Date: Sun, 16 Feb 2020 11:52:22 +0000 Subject: [PATCH 2/4] Dismantling tables using a screwdriver will leave a table frame --- code/game/objects/structures/tables_racks.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index 264c5afd088..1f7fd24d803 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -241,7 +241,7 @@ return TOOL_ATTEMPT_DISMANTLE_MESSAGE if(I.use_tool(src, user, 20, volume = I.tool_volume) && deconstruction_ready) - deconstruct(TRUE, 1) + deconstruct(TRUE) TOOL_DISMANTLE_SUCCESS_MESSAGE /obj/structure/table/wrench_act(mob/user, obj/item/I) From 0f39edbe5d13c92da9eb71bdafb8bde117fe7af9 Mon Sep 17 00:00:00 2001 From: Citinited Date: Sun, 16 Feb 2020 23:25:12 +0000 Subject: [PATCH 3/4] Firelock construction fix, ORM wrenching fix --- code/game/machinery/doors/firedoor.dm | 1 + code/game/machinery/machinery.dm | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index 43dada83ca9..17b5756e581 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -360,6 +360,7 @@ constructionStep = CONSTRUCTION_WIRES_EXPOSED update_icon() return + if(CONSTRUCTION_NOCIRCUIT) if(istype(C, /obj/item/firelock_electronics)) user.visible_message("[user] starts adding [C] to [src]...", \ "You begin adding a circuit board to [src]...") diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm index e054ae59ace..f1ac4e88bbb 100644 --- a/code/game/machinery/machinery.dm +++ b/code/game/machinery/machinery.dm @@ -442,7 +442,8 @@ Class Procs: return FALSE /obj/machinery/default_unfasten_wrench(mob/user, obj/item/I, time) - if(..()) + . = ..() + if(.) power_change() /obj/machinery/proc/exchange_parts(mob/user, obj/item/storage/part_replacer/W) From 40521a643beabb62d4a601f88a395611a09be905 Mon Sep 17 00:00:00 2001 From: Citinited Date: Fri, 21 Feb 2020 23:57:33 +0000 Subject: [PATCH 4/4] detective revolver can now screwdriver_act --- .../projectiles/guns/projectile/revolver.dm | 60 ++++++++++--------- 1 file changed, 31 insertions(+), 29 deletions(-) diff --git a/code/modules/projectiles/guns/projectile/revolver.dm b/code/modules/projectiles/guns/projectile/revolver.dm index 21992f43704..b29544c5755 100644 --- a/code/modules/projectiles/guns/projectile/revolver.dm +++ b/code/modules/projectiles/guns/projectile/revolver.dm @@ -114,36 +114,38 @@ return 0 ..() -/obj/item/gun/projectile/revolver/detective/attackby(obj/item/A, mob/user, params) - if(istype(A, /obj/item/screwdriver)) - if(magazine.caliber == "38") - to_chat(user, "You begin to reinforce the barrel of [src]...") - if(magazine.ammo_count()) - afterattack(user, user) //you know the drill - user.visible_message("[src] goes off!", "[src] goes off in your face!") - return - if(do_after(user, 30 * A.toolspeed, target = src)) - if(magazine.ammo_count()) - to_chat(user, "You can't modify it!") - return - magazine.caliber = "357" - desc = "The barrel and chamber assembly seems to have been modified." - to_chat(user, "You reinforce the barrel of [src]. Now it will fire .357 rounds.") - else - to_chat(user, "You begin to revert the modifications to [src]...") - if(magazine.ammo_count()) - afterattack(user, user) //and again - user.visible_message("[src] goes off!", "[src] goes off in your face!") - return - if(do_after(user, 30 * A.toolspeed, target = src)) - if(magazine.ammo_count()) - to_chat(user, "You can't modify it!") - return - magazine.caliber = "38" - desc = initial(desc) - to_chat(user, "You remove the modifications on [src]. Now it will fire .38 rounds.") +/obj/item/gun/projectile/revolver/detective/screwdriver_act(mob/user, obj/item/I) + . = TRUE + if(!I.tool_use_check(user, 0)) + return + if(magazine.caliber == "38") + to_chat(user, "You begin to reinforce the barrel of [src]...") + if(magazine.ammo_count()) + afterattack(user, user) //you know the drill + user.visible_message("[src] goes off!", "[src] goes off in your face!") + return + if(!I.use_tool(src, user, 30, volume = I.tool_volume)) + return + if(magazine.ammo_count()) + to_chat(user, "You can't modify it!") + return + magazine.caliber = "357" + desc = "The barrel and chamber assembly seems to have been modified." + to_chat(user, "You reinforce the barrel of [src]. Now it will fire .357 rounds.") else - return ..() + to_chat(user, "You begin to revert the modifications to [src]...") + if(magazine.ammo_count()) + afterattack(user, user) //and again + user.visible_message("[src] goes off!", "[src] goes off in your face!") + return + if(!I.use_tool(src, user, 30, volume = I.tool_volume)) + return + if(magazine.ammo_count()) + to_chat(user, "You can't modify it!") + return + magazine.caliber = "38" + desc = initial(desc) + to_chat(user, "You remove the modifications on [src]. Now it will fire .38 rounds.") /obj/item/gun/projectile/revolver/fingergun //Summoned by the Finger Gun spell, from advanced mimery traitor item name = "\improper finger gun"