From c9e70ffbc8e5caecc0a2b69fa2c9a49b9fdeaadb Mon Sep 17 00:00:00 2001 From: SabreML <57483089+SabreML@users.noreply.github.com> Date: Mon, 10 Aug 2020 20:29:44 +0100 Subject: [PATCH 01/10] Allows dressers to be deconstructed --- code/game/objects/structures/dresser.dm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/code/game/objects/structures/dresser.dm b/code/game/objects/structures/dresser.dm index 4531613610e..acc6041581f 100644 --- a/code/game/objects/structures/dresser.dm +++ b/code/game/objects/structures/dresser.dm @@ -56,12 +56,13 @@ /obj/structure/dresser/crowbar_act(mob/user, obj/item/I) . = TRUE - if(!I.tool_start_check(src, user, 0)) + if(!I.use_tool(src, user, 0)) return TOOL_ATTEMPT_DISMANTLE_MESSAGE if(I.use_tool(src, user, 50, volume = I.tool_volume)) TOOL_DISMANTLE_SUCCESS_MESSAGE - + new /obj/item/stack/sheet/wood(loc, 30) + qdel(src) /obj/structure/dresser/wrench_act(mob/user, obj/item/I) . = TRUE From 0f872121f4a788a8e4ede22d7ef8f49b0f7c8441 Mon Sep 17 00:00:00 2001 From: SabreML <57483089+SabreML@users.noreply.github.com> Date: Mon, 10 Aug 2020 20:30:12 +0100 Subject: [PATCH 02/10] Allows looms to be deconstructed --- code/game/objects/structures/loom.dm | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/code/game/objects/structures/loom.dm b/code/game/objects/structures/loom.dm index d0bcd07f92f..afddc136fad 100644 --- a/code/game/objects/structures/loom.dm +++ b/code/game/objects/structures/loom.dm @@ -17,6 +17,17 @@ return return ..() +/obj/structure/loom/crowbar_act(mob/user, obj/item/I) + . = TRUE + if(!I.use_tool(src, user, 0)) + return + TOOL_ATTEMPT_DISMANTLE_MESSAGE + if(I.use_tool(src, user, 50, volume = I.tool_volume)) + TOOL_DISMANTLE_SUCCESS_MESSAGE + new /obj/item/stack/sheet/wood(loc, 40) + qdel(src) + + ///Handles the weaving. /obj/structure/loom/proc/weave(obj/item/stack/sheet/cotton/W, mob/user) if(!istype(W)) From 5f8d0573edcae093d2a3057c5a6085511dc97127 Mon Sep 17 00:00:00 2001 From: SabreML <57483089+SabreML@users.noreply.github.com> Date: Mon, 10 Aug 2020 20:30:48 +0100 Subject: [PATCH 03/10] Allows apiaries to be deconstructed Not tested with bees inside, so this may not work. --- code/modules/hydroponics/beekeeping/beebox.dm | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/code/modules/hydroponics/beekeeping/beebox.dm b/code/modules/hydroponics/beekeeping/beebox.dm index 612146e579a..6f1d28fa887 100644 --- a/code/modules/hydroponics/beekeeping/beebox.dm +++ b/code/modules/hydroponics/beekeeping/beebox.dm @@ -198,6 +198,16 @@ return return ..() +/obj/structure/beebox/crowbar_act(mob/user, obj/item/I) + . = TRUE + if(!I.use_tool(src, user, 0)) + return + TOOL_ATTEMPT_DISMANTLE_MESSAGE + if(I.use_tool(src, user, 50, volume = I.tool_volume)) + TOOL_DISMANTLE_SUCCESS_MESSAGE + new /obj/item/stack/sheet/wood(loc, 40) + qdel(src) + /obj/structure/beebox/wrench_act(mob/user, obj/item/I) . = TRUE if(!I.tool_use_check(user, 0)) From 4559b00f257fccf3cc9c4c667a4726cefa412662 Mon Sep 17 00:00:00 2001 From: SabreML <57483089+SabreML@users.noreply.github.com> Date: Mon, 10 Aug 2020 20:31:07 +0100 Subject: [PATCH 04/10] Allows fermenting barrels to be deconstructed, and anchored. --- code/modules/hydroponics/fermenting_barrel.dm | 26 ++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/code/modules/hydroponics/fermenting_barrel.dm b/code/modules/hydroponics/fermenting_barrel.dm index f194c48e019..aff7d389ffe 100644 --- a/code/modules/hydroponics/fermenting_barrel.dm +++ b/code/modules/hydroponics/fermenting_barrel.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/objects.dmi' icon_state = "barrel" density = TRUE - anchored = FALSE + anchored = TRUE container_type = DRAINABLE | AMOUNT_VISIBLE pressure_resistance = 2 * ONE_ATMOSPHERE max_integrity = 300 @@ -65,6 +65,30 @@ to_chat(user, "You close [src], letting you draw from its tap.") update_icon() +/obj/structure/fermenting_barrel/crowbar_act(mob/living/user, obj/item/I) + . = TRUE + if(!I.use_tool(src, user, 0)) + return + TOOL_ATTEMPT_DISMANTLE_MESSAGE + if(I.use_tool(src, user, 50, volume = I.tool_volume)) + TOOL_DISMANTLE_SUCCESS_MESSAGE + new /obj/item/stack/sheet/wood(loc, 30) + qdel(src) + +/obj/structure/fermenting_barrel/wrench_act(mob/living/user, obj/item/I) + . = TRUE + if(!I.use_tool(src, user, 0, volume = I.tool_volume)) + return + if(anchored) + WRENCH_UNANCHOR_MESSAGE + anchored = FALSE + else + if(!isfloorturf(loc)) + user.visible_message("A floor must be present to secure [src]!") + return + WRENCH_ANCHOR_MESSAGE + anchored = TRUE + /obj/structure/fermenting_barrel/update_icon() if(open) icon_state = "barrel_open" From 007b5acc1aeb9e390bde4b918bc09959b01fab18 Mon Sep 17 00:00:00 2001 From: SabreML <57483089+SabreML@users.noreply.github.com> Date: Mon, 10 Aug 2020 20:37:45 +0100 Subject: [PATCH 05/10] Fix loom wood quantity --- code/game/objects/structures/loom.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/structures/loom.dm b/code/game/objects/structures/loom.dm index afddc136fad..ea4ad309aa1 100644 --- a/code/game/objects/structures/loom.dm +++ b/code/game/objects/structures/loom.dm @@ -24,7 +24,7 @@ TOOL_ATTEMPT_DISMANTLE_MESSAGE if(I.use_tool(src, user, 50, volume = I.tool_volume)) TOOL_DISMANTLE_SUCCESS_MESSAGE - new /obj/item/stack/sheet/wood(loc, 40) + new /obj/item/stack/sheet/wood(loc, 10) qdel(src) From 67631d0dadd26f33f022e9143429cdc9c23adca6 Mon Sep 17 00:00:00 2001 From: SabreML <57483089+SabreML@users.noreply.github.com> Date: Mon, 10 Aug 2020 21:14:01 +0100 Subject: [PATCH 06/10] Changed message to 'to_chat' --- code/game/objects/structures/dresser.dm | 2 +- code/modules/hydroponics/fermenting_barrel.dm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/objects/structures/dresser.dm b/code/game/objects/structures/dresser.dm index acc6041581f..d4d0e92e546 100644 --- a/code/game/objects/structures/dresser.dm +++ b/code/game/objects/structures/dresser.dm @@ -73,7 +73,7 @@ anchored = FALSE else if(!isfloorturf(loc)) - user.visible_message("A floor must be present to secure [src]!") + to_chat(user, "A floor must be present to secure [src]!") return WRENCH_ANCHOR_MESSAGE anchored = TRUE diff --git a/code/modules/hydroponics/fermenting_barrel.dm b/code/modules/hydroponics/fermenting_barrel.dm index aff7d389ffe..d2a7f79cc2d 100644 --- a/code/modules/hydroponics/fermenting_barrel.dm +++ b/code/modules/hydroponics/fermenting_barrel.dm @@ -84,7 +84,7 @@ anchored = FALSE else if(!isfloorturf(loc)) - user.visible_message("A floor must be present to secure [src]!") + to_chat(user, "A floor must be present to secure [src]!") return WRENCH_ANCHOR_MESSAGE anchored = TRUE From 09fc4918c4d15f3ccd9386cf28f89e8c334bf0c5 Mon Sep 17 00:00:00 2001 From: SabreML <57483089+SabreML@users.noreply.github.com> Date: Mon, 10 Aug 2020 21:20:45 +0100 Subject: [PATCH 07/10] Allows looms to be wrenched --- code/game/objects/structures/loom.dm | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/code/game/objects/structures/loom.dm b/code/game/objects/structures/loom.dm index ea4ad309aa1..6fe1cf9f035 100644 --- a/code/game/objects/structures/loom.dm +++ b/code/game/objects/structures/loom.dm @@ -26,7 +26,20 @@ TOOL_DISMANTLE_SUCCESS_MESSAGE new /obj/item/stack/sheet/wood(loc, 10) qdel(src) - + +/obj/structure/loom/wrench_act(mob/user, obj/item/I) + . = TRUE + if(!I.use_tool(src, user, 0, volume = I.tool_volume)) + return + if(anchored) + WRENCH_UNANCHOR_MESSAGE + anchored = FALSE + else + if(!isfloorturf(loc)) + to_chat(user, "A floor must be present to secure [src]!") + return + WRENCH_ANCHOR_MESSAGE + anchored = TRUE ///Handles the weaving. /obj/structure/loom/proc/weave(obj/item/stack/sheet/cotton/W, mob/user) From 5f6f54429d8a5cc9e34a4c4e547d4269ee94972d Mon Sep 17 00:00:00 2001 From: SabreML <57483089+SabreML@users.noreply.github.com> Date: Tue, 11 Aug 2020 05:27:27 +0100 Subject: [PATCH 08/10] Fixed wood drop oversight --- code/game/objects/structures/dresser.dm | 10 ++++++---- code/game/objects/structures/loom.dm | 12 ++++++++---- code/modules/hydroponics/beekeeping/beebox.dm | 10 ++++++---- code/modules/hydroponics/fermenting_barrel.dm | 10 ++++++++-- 4 files changed, 28 insertions(+), 14 deletions(-) diff --git a/code/game/objects/structures/dresser.dm b/code/game/objects/structures/dresser.dm index d4d0e92e546..0dafbb53ee3 100644 --- a/code/game/objects/structures/dresser.dm +++ b/code/game/objects/structures/dresser.dm @@ -61,8 +61,7 @@ TOOL_ATTEMPT_DISMANTLE_MESSAGE if(I.use_tool(src, user, 50, volume = I.tool_volume)) TOOL_DISMANTLE_SUCCESS_MESSAGE - new /obj/item/stack/sheet/wood(loc, 30) - qdel(src) + deconstruct(disassembled = TRUE) /obj/structure/dresser/wrench_act(mob/user, obj/item/I) . = TRUE @@ -78,6 +77,9 @@ WRENCH_ANCHOR_MESSAGE anchored = TRUE -/obj/structure/dresser/deconstruct(disassembled = TRUE) - new /obj/item/stack/sheet/wood(drop_location(), 30) +obj/structure/dresser/deconstruct(disassembled = FALSE) + var/mat_drop = 15 + if(disassembled) + mat_drop = 30 + new /obj/item/stack/sheet/wood(drop_location(), mat_drop) qdel(src) diff --git a/code/game/objects/structures/loom.dm b/code/game/objects/structures/loom.dm index 6fe1cf9f035..a1764310eec 100644 --- a/code/game/objects/structures/loom.dm +++ b/code/game/objects/structures/loom.dm @@ -11,8 +11,6 @@ anchored = TRUE /obj/structure/loom/attackby(obj/item/I, mob/user) - if(default_unfasten_wrench(user, I, 5)) - return if(weave(I, user)) return return ..() @@ -24,8 +22,7 @@ TOOL_ATTEMPT_DISMANTLE_MESSAGE if(I.use_tool(src, user, 50, volume = I.tool_volume)) TOOL_DISMANTLE_SUCCESS_MESSAGE - new /obj/item/stack/sheet/wood(loc, 10) - qdel(src) + deconstruct(disassembled = TRUE) /obj/structure/loom/wrench_act(mob/user, obj/item/I) . = TRUE @@ -41,6 +38,13 @@ WRENCH_ANCHOR_MESSAGE anchored = TRUE +/obj/structure/loom/deconstruct(disassembled = FALSE) + var/mat_drop = 5 + if(disassembled) + mat_drop = 10 + new /obj/item/stack/sheet/wood(drop_location(), mat_drop) + qdel(src) + ///Handles the weaving. /obj/structure/loom/proc/weave(obj/item/stack/sheet/cotton/W, mob/user) if(!istype(W)) diff --git a/code/modules/hydroponics/beekeeping/beebox.dm b/code/modules/hydroponics/beekeeping/beebox.dm index 6f1d28fa887..931587dd965 100644 --- a/code/modules/hydroponics/beekeeping/beebox.dm +++ b/code/modules/hydroponics/beekeeping/beebox.dm @@ -205,8 +205,7 @@ TOOL_ATTEMPT_DISMANTLE_MESSAGE if(I.use_tool(src, user, 50, volume = I.tool_volume)) TOOL_DISMANTLE_SUCCESS_MESSAGE - new /obj/item/stack/sheet/wood(loc, 40) - qdel(src) + deconstruct(disassembled = TRUE) /obj/structure/beebox/wrench_act(mob/user, obj/item/I) . = TRUE @@ -271,8 +270,11 @@ visible_message("[user] removes the queen from the apiary.") queen_bee = null -/obj/structure/beebox/deconstruct(disassembled = TRUE) - new /obj/item/stack/sheet/wood(loc, 20) +/obj/structure/beebox/deconstruct(disassembled = FALSE) + var/mat_drop = 20 + if(disassembled) + mat_drop = 40 + new /obj/item/stack/sheet/wood(loc, mat_drop) for(var/mob/living/simple_animal/hostile/poison/bees/B in bees) if(B.loc == src) B.forceMove(drop_location()) diff --git a/code/modules/hydroponics/fermenting_barrel.dm b/code/modules/hydroponics/fermenting_barrel.dm index d2a7f79cc2d..cb400709448 100644 --- a/code/modules/hydroponics/fermenting_barrel.dm +++ b/code/modules/hydroponics/fermenting_barrel.dm @@ -72,8 +72,7 @@ TOOL_ATTEMPT_DISMANTLE_MESSAGE if(I.use_tool(src, user, 50, volume = I.tool_volume)) TOOL_DISMANTLE_SUCCESS_MESSAGE - new /obj/item/stack/sheet/wood(loc, 30) - qdel(src) + deconstruct(disassembled = TRUE) /obj/structure/fermenting_barrel/wrench_act(mob/living/user, obj/item/I) . = TRUE @@ -89,6 +88,13 @@ WRENCH_ANCHOR_MESSAGE anchored = TRUE +/obj/structure/fermenting_barrel/deconstruct(disassembled = FALSE) + var/mat_drop = 15 + if(disassembled) + mat_drop = 30 + new /obj/item/stack/sheet/wood(drop_location(), mat_drop) + qdel(src) + /obj/structure/fermenting_barrel/update_icon() if(open) icon_state = "barrel_open" From 79b68e0696c11955a9f5b29d94a4c8e65b68ccfd Mon Sep 17 00:00:00 2001 From: SabreML <57483089+SabreML@users.noreply.github.com> Date: Tue, 11 Aug 2020 05:34:53 +0100 Subject: [PATCH 09/10] Better wrenching code Probably --- code/game/objects/structures/dresser.dm | 12 ++---------- code/game/objects/structures/loom.dm | 12 ++---------- code/modules/hydroponics/fermenting_barrel.dm | 12 ++---------- 3 files changed, 6 insertions(+), 30 deletions(-) diff --git a/code/game/objects/structures/dresser.dm b/code/game/objects/structures/dresser.dm index 0dafbb53ee3..aa53a18f0c0 100644 --- a/code/game/objects/structures/dresser.dm +++ b/code/game/objects/structures/dresser.dm @@ -65,17 +65,9 @@ /obj/structure/dresser/wrench_act(mob/user, obj/item/I) . = TRUE - if(!I.use_tool(src, user, 0, volume = I.tool_volume)) + if(!I.tool_use_check(user, 0)) return - if(anchored) - WRENCH_UNANCHOR_MESSAGE - anchored = FALSE - else - if(!isfloorturf(loc)) - to_chat(user, "A floor must be present to secure [src]!") - return - WRENCH_ANCHOR_MESSAGE - anchored = TRUE + default_unfasten_wrench(user, I, time = 20) obj/structure/dresser/deconstruct(disassembled = FALSE) var/mat_drop = 15 diff --git a/code/game/objects/structures/loom.dm b/code/game/objects/structures/loom.dm index a1764310eec..d8b54e27b9b 100644 --- a/code/game/objects/structures/loom.dm +++ b/code/game/objects/structures/loom.dm @@ -26,17 +26,9 @@ /obj/structure/loom/wrench_act(mob/user, obj/item/I) . = TRUE - if(!I.use_tool(src, user, 0, volume = I.tool_volume)) + if(!I.tool_use_check(user, 0)) return - if(anchored) - WRENCH_UNANCHOR_MESSAGE - anchored = FALSE - else - if(!isfloorturf(loc)) - to_chat(user, "A floor must be present to secure [src]!") - return - WRENCH_ANCHOR_MESSAGE - anchored = TRUE + default_unfasten_wrench(user, I, time = 20) /obj/structure/loom/deconstruct(disassembled = FALSE) var/mat_drop = 5 diff --git a/code/modules/hydroponics/fermenting_barrel.dm b/code/modules/hydroponics/fermenting_barrel.dm index cb400709448..5b347d1be54 100644 --- a/code/modules/hydroponics/fermenting_barrel.dm +++ b/code/modules/hydroponics/fermenting_barrel.dm @@ -76,17 +76,9 @@ /obj/structure/fermenting_barrel/wrench_act(mob/living/user, obj/item/I) . = TRUE - if(!I.use_tool(src, user, 0, volume = I.tool_volume)) + if(!I.tool_use_check(user, 0)) return - if(anchored) - WRENCH_UNANCHOR_MESSAGE - anchored = FALSE - else - if(!isfloorturf(loc)) - to_chat(user, "A floor must be present to secure [src]!") - return - WRENCH_ANCHOR_MESSAGE - anchored = TRUE + default_unfasten_wrench(user, I, time = 20) /obj/structure/fermenting_barrel/deconstruct(disassembled = FALSE) var/mat_drop = 15 From 8b55cd99650f56c9d251b8527cf11d0a44141427 Mon Sep 17 00:00:00 2001 From: SabreML <57483089+SabreML@users.noreply.github.com> Date: Tue, 11 Aug 2020 10:10:19 +0100 Subject: [PATCH 10/10] Review tweaks --- code/game/objects/structures/dresser.dm | 4 +--- code/game/objects/structures/loom.dm | 4 +--- code/modules/hydroponics/beekeeping/beebox.dm | 4 +--- code/modules/hydroponics/fermenting_barrel.dm | 4 +--- 4 files changed, 4 insertions(+), 12 deletions(-) diff --git a/code/game/objects/structures/dresser.dm b/code/game/objects/structures/dresser.dm index aa53a18f0c0..0c0a7f5e4dd 100644 --- a/code/game/objects/structures/dresser.dm +++ b/code/game/objects/structures/dresser.dm @@ -65,8 +65,6 @@ /obj/structure/dresser/wrench_act(mob/user, obj/item/I) . = TRUE - if(!I.tool_use_check(user, 0)) - return default_unfasten_wrench(user, I, time = 20) obj/structure/dresser/deconstruct(disassembled = FALSE) @@ -74,4 +72,4 @@ obj/structure/dresser/deconstruct(disassembled = FALSE) if(disassembled) mat_drop = 30 new /obj/item/stack/sheet/wood(drop_location(), mat_drop) - qdel(src) + ..() diff --git a/code/game/objects/structures/loom.dm b/code/game/objects/structures/loom.dm index d8b54e27b9b..4742a2c3c0c 100644 --- a/code/game/objects/structures/loom.dm +++ b/code/game/objects/structures/loom.dm @@ -26,8 +26,6 @@ /obj/structure/loom/wrench_act(mob/user, obj/item/I) . = TRUE - if(!I.tool_use_check(user, 0)) - return default_unfasten_wrench(user, I, time = 20) /obj/structure/loom/deconstruct(disassembled = FALSE) @@ -35,7 +33,7 @@ if(disassembled) mat_drop = 10 new /obj/item/stack/sheet/wood(drop_location(), mat_drop) - qdel(src) + ..() ///Handles the weaving. /obj/structure/loom/proc/weave(obj/item/stack/sheet/cotton/W, mob/user) diff --git a/code/modules/hydroponics/beekeeping/beebox.dm b/code/modules/hydroponics/beekeeping/beebox.dm index 931587dd965..5a73313601a 100644 --- a/code/modules/hydroponics/beekeeping/beebox.dm +++ b/code/modules/hydroponics/beekeeping/beebox.dm @@ -209,8 +209,6 @@ /obj/structure/beebox/wrench_act(mob/user, obj/item/I) . = TRUE - if(!I.tool_use_check(user, 0)) - return default_unfasten_wrench(user, I, time = 20) /obj/structure/beebox/attack_hand(mob/user) @@ -281,7 +279,7 @@ for(var/obj/item/honey_frame/HF in honey_frames) HF.forceMove(drop_location()) honey_frames -= HF - qdel(src) + ..() /obj/structure/beebox/unwrenched anchored = FALSE diff --git a/code/modules/hydroponics/fermenting_barrel.dm b/code/modules/hydroponics/fermenting_barrel.dm index 5b347d1be54..5031ac71373 100644 --- a/code/modules/hydroponics/fermenting_barrel.dm +++ b/code/modules/hydroponics/fermenting_barrel.dm @@ -76,8 +76,6 @@ /obj/structure/fermenting_barrel/wrench_act(mob/living/user, obj/item/I) . = TRUE - if(!I.tool_use_check(user, 0)) - return default_unfasten_wrench(user, I, time = 20) /obj/structure/fermenting_barrel/deconstruct(disassembled = FALSE) @@ -85,7 +83,7 @@ if(disassembled) mat_drop = 30 new /obj/item/stack/sheet/wood(drop_location(), mat_drop) - qdel(src) + ..() /obj/structure/fermenting_barrel/update_icon() if(open)