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)