From f5d5d2a3b1f098693d326b0986f35e13080379ee Mon Sep 17 00:00:00 2001
From: Tlaltecuhtli <33834933+Tlaltecuhtli@users.noreply.github.com>
Date: Thu, 7 Mar 2019 10:49:43 +0100
Subject: [PATCH] fixes some edge cases in rcd building (#42960)
New RCD interactions
---
code/game/objects/structures/lattice.dm | 14 ++++++++++++++
code/game/turfs/simulated/floor/plating.dm | 11 +++++++++++
2 files changed, 25 insertions(+)
diff --git a/code/game/objects/structures/lattice.dm b/code/game/objects/structures/lattice.dm
index db84d02446e..89bdc95d59d 100644
--- a/code/game/objects/structures/lattice.dm
+++ b/code/game/objects/structures/lattice.dm
@@ -51,6 +51,20 @@
new /obj/item/stack/rods(get_turf(src), number_of_rods)
qdel(src)
+/obj/structure/lattice/rcd_vals(mob/user, obj/item/construction/rcd/the_rcd)
+ if(the_rcd.mode == RCD_FLOORWALL)
+ return list("mode" = RCD_FLOORWALL, "delay" = 0, "cost" = 2)
+
+/obj/structure/lattice/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, passed_mode)
+ if(passed_mode == RCD_FLOORWALL)
+ to_chat(user, "You build a floor.")
+ var/turf/T = src.loc
+ if(isspaceturf(T))
+ T.PlaceOnTop(/turf/open/floor/plating)
+ qdel(src)
+ return TRUE
+ return FALSE
+
/obj/structure/lattice/singularity_pull(S, current_size)
if(current_size >= STAGE_FOUR)
deconstruct()
diff --git a/code/game/turfs/simulated/floor/plating.dm b/code/game/turfs/simulated/floor/plating.dm
index 2a252ba308a..dcfae717353 100644
--- a/code/game/turfs/simulated/floor/plating.dm
+++ b/code/game/turfs/simulated/floor/plating.dm
@@ -129,6 +129,17 @@
else
to_chat(user, "You hit [src], to no effect!")
+/turf/open/floor/plating/foam/rcd_vals(mob/user, obj/item/construction/rcd/the_rcd)
+ if(the_rcd.mode == RCD_FLOORWALL)
+ return list("mode" = RCD_FLOORWALL, "delay" = 0, "cost" = 1)
+
+/turf/open/floor/plating/foam/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, passed_mode)
+ if(passed_mode == RCD_FLOORWALL)
+ to_chat(user, "You build a floor.")
+ ChangeTurf(/turf/open/floor/plating)
+ return TRUE
+ return FALSE
+
/turf/open/floor/plating/foam/ex_act()
..()
ScrapeAway()