From fa685bb4be94c20ae7dba4adeffd48d0907c0bf0 Mon Sep 17 00:00:00 2001
From: cacogen <25089914+cacogen@users.noreply.github.com>
Date: Sun, 16 Feb 2020 23:47:31 +1300
Subject: [PATCH 1/3] RCD can now deconstruct airlock assemblies
Get through the pile of work left by explosions slightly quicker.
---
code/game/objects/structures/door_assembly.dm | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/code/game/objects/structures/door_assembly.dm b/code/game/objects/structures/door_assembly.dm
index 5791d9527ba..43a39dbd2f0 100644
--- a/code/game/objects/structures/door_assembly.dm
+++ b/code/game/objects/structures/door_assembly.dm
@@ -323,3 +323,17 @@
var/obj/item/stack/sheet/mineral/mineral_path = text2path("/obj/item/stack/sheet/mineral/[mineral]")
new mineral_path(T, 2)
qdel(src)
+
+
+/obj/structure/door_assembly/rcd_vals(mob/user, obj/item/construction/rcd/the_rcd)
+ if(the_rcd.mode == RCD_DECONSTRUCT)
+ return list("mode" = RCD_DECONSTRUCT, "delay" = 50, "cost" = 32)
+ return FALSE
+
+/obj/structure/door_assembly/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, passed_mode)
+ switch(passed_mode)
+ if(RCD_DECONSTRUCT)
+ to_chat(user, "You deconstruct the airlock.")
+ qdel(src)
+ return TRUE
+ return FALSE
From 458b783d3c8af03ee5bfc07b7e5994014b9e5bc6 Mon Sep 17 00:00:00 2001
From: cacogen <25089914+cacogen@users.noreply.github.com>
Date: Mon, 17 Feb 2020 03:39:34 +1300
Subject: [PATCH 2/3] Change airlock assembly deletion cost to 16
Add the ability to delete firelock frames
---
code/game/machinery/doors/firedoor.dm | 6 ++++++
code/game/objects/structures/door_assembly.dm | 4 ++--
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm
index 9b59c5c5df1..bf16fec6b5c 100644
--- a/code/game/machinery/doors/firedoor.dm
+++ b/code/game/machinery/doors/firedoor.dm
@@ -454,6 +454,8 @@
/obj/structure/firelock_frame/rcd_vals(mob/user, obj/item/construction/rcd/the_rcd)
if((constructionStep == CONSTRUCTION_NOCIRCUIT) && (the_rcd.upgrade & RCD_UPGRADE_SIMPLE_CIRCUITS))
return list("mode" = RCD_UPGRADE_SIMPLE_CIRCUITS, "delay" = 20, "cost" = 1)
+ else if(the_rcd.mode == RCD_DECONSTRUCT)
+ return list("mode" = RCD_DECONSTRUCT, "delay" = 50, "cost" = 16)
return FALSE
/obj/structure/firelock_frame/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, passed_mode)
@@ -464,6 +466,10 @@
constructionStep = CONSTRUCTION_GUTTED
update_icon()
return TRUE
+ else if(RCD_DECONSTRUCT)
+ to_chat(user, "You deconstruct [src].")
+ qdel(src)
+ return TRUE
return FALSE
/obj/structure/firelock_frame/heavy
diff --git a/code/game/objects/structures/door_assembly.dm b/code/game/objects/structures/door_assembly.dm
index 43a39dbd2f0..6e70a13a261 100644
--- a/code/game/objects/structures/door_assembly.dm
+++ b/code/game/objects/structures/door_assembly.dm
@@ -327,13 +327,13 @@
/obj/structure/door_assembly/rcd_vals(mob/user, obj/item/construction/rcd/the_rcd)
if(the_rcd.mode == RCD_DECONSTRUCT)
- return list("mode" = RCD_DECONSTRUCT, "delay" = 50, "cost" = 32)
+ return list("mode" = RCD_DECONSTRUCT, "delay" = 50, "cost" = 16)
return FALSE
/obj/structure/door_assembly/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, passed_mode)
switch(passed_mode)
if(RCD_DECONSTRUCT)
- to_chat(user, "You deconstruct the airlock.")
+ to_chat(user, "You deconstruct [src].")
qdel(src)
return TRUE
return FALSE
From 113d1c599cd3659f614d06682f59ba0a96d28667 Mon Sep 17 00:00:00 2001
From: cacogen <25089914+cacogen@users.noreply.github.com>
Date: Tue, 18 Feb 2020 04:02:00 +1300
Subject: [PATCH 3/3] No longer need to upgrade to destroy firelock if you can
---
code/game/machinery/doors/firedoor.dm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm
index bf16fec6b5c..addce4d0be1 100644
--- a/code/game/machinery/doors/firedoor.dm
+++ b/code/game/machinery/doors/firedoor.dm
@@ -452,10 +452,10 @@
return ..()
/obj/structure/firelock_frame/rcd_vals(mob/user, obj/item/construction/rcd/the_rcd)
- if((constructionStep == CONSTRUCTION_NOCIRCUIT) && (the_rcd.upgrade & RCD_UPGRADE_SIMPLE_CIRCUITS))
- return list("mode" = RCD_UPGRADE_SIMPLE_CIRCUITS, "delay" = 20, "cost" = 1)
- else if(the_rcd.mode == RCD_DECONSTRUCT)
+ if(the_rcd.mode == RCD_DECONSTRUCT)
return list("mode" = RCD_DECONSTRUCT, "delay" = 50, "cost" = 16)
+ else if((constructionStep == CONSTRUCTION_NOCIRCUIT) && (the_rcd.upgrade & RCD_UPGRADE_SIMPLE_CIRCUITS))
+ return list("mode" = RCD_UPGRADE_SIMPLE_CIRCUITS, "delay" = 20, "cost" = 1)
return FALSE
/obj/structure/firelock_frame/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, passed_mode)