From b095659cde021fec7abec75dff08690ee95053b7 Mon Sep 17 00:00:00 2001 From: jimmyl <70376633+mc-oofert@users.noreply.github.com> Date: Fri, 7 Jul 2023 00:53:52 +0200 Subject: [PATCH] makes the rcd able to make girders (#76515) ## About The Pull Request rcd can make girders at half the cost of making a wall in 1.3 seconds ## Why It's Good For The Game more "rapid" than using iron for girders and putting whatever material on it ## Changelog :cl: add: rcd can make girders now /:cl: --- code/__DEFINES/construction.dm | 1 + code/game/objects/items/rcd/RCD.dm | 1 + code/game/turfs/open/floor.dm | 7 +++++++ code/game/turfs/open/misc.dm | 7 +++++++ code/modules/asset_cache/assets/rcd.dm | 2 +- 5 files changed, 17 insertions(+), 1 deletion(-) diff --git a/code/__DEFINES/construction.dm b/code/__DEFINES/construction.dm index 89dcf9c36ad..c31775afb24 100644 --- a/code/__DEFINES/construction.dm +++ b/code/__DEFINES/construction.dm @@ -188,6 +188,7 @@ GLOBAL_LIST_INIT(crafting_category, list( #define RCD_FLOODLIGHT 8 #define RCD_WALLFRAME 9 #define RCD_REFLECTOR 10 +#define RCD_GIRDER 11 #define RCD_UPGRADE_FRAMES (1<<0) diff --git a/code/game/objects/items/rcd/RCD.dm b/code/game/objects/items/rcd/RCD.dm index 0ddc3163162..37ba6ee091d 100644 --- a/code/game/objects/items/rcd/RCD.dm +++ b/code/game/objects/items/rcd/RCD.dm @@ -48,6 +48,7 @@ list(CONSTRUCTION_MODE = RCD_WINDOWGRILLE, WINDOW_TYPE = /obj/structure/window/reinforced/fulltile, ICON = "rwindow0", TITLE = "Full Tile Reinforced Window"), list(CONSTRUCTION_MODE = RCD_CATWALK, ICON = "catwalk-0", TITLE = "Catwalk"), list(CONSTRUCTION_MODE = RCD_REFLECTOR, ICON = "reflector_base", TITLE = "Reflector"), + list(CONSTRUCTION_MODE = RCD_GIRDER, ICON = "girder", TITLE = "Girder"), ), //Computers & Machine Frames diff --git a/code/game/turfs/open/floor.dm b/code/game/turfs/open/floor.dm index f2234981f48..8e319ef0d81 100644 --- a/code/game/turfs/open/floor.dm +++ b/code/game/turfs/open/floor.dm @@ -232,6 +232,8 @@ return list("mode" = RCD_COMPUTER, "delay" = 20, "cost" = 25) if(RCD_FLOODLIGHT) return list("mode" = RCD_FLOODLIGHT, "delay" = 30, "cost" = 35) + if(RCD_GIRDER) + return list("mode" = RCD_GIRDER, "delay" = 1.3 SECONDS, "cost" = 8) if(RCD_FURNISHING) var/cost = 0 var/delay = 0 @@ -365,6 +367,11 @@ new_floodlight.icon_state = "floodlight_c3" new_floodlight.state = FLOODLIGHT_NEEDS_LIGHTS return TRUE + if(RCD_GIRDER) + if(locate(/obj/structure/girder) in src) + return FALSE + new /obj/structure/girder(src) + return TRUE if(RCD_FURNISHING) if(locate(the_rcd.furnish_type) in src) return FALSE diff --git a/code/game/turfs/open/misc.dm b/code/game/turfs/open/misc.dm index a3c3433ab6b..134e81c1014 100644 --- a/code/game/turfs/open/misc.dm +++ b/code/game/turfs/open/misc.dm @@ -101,6 +101,8 @@ return list("mode" = RCD_COMPUTER, "delay" = 20, "cost" = 25) if(RCD_FLOODLIGHT) return list("mode" = RCD_FLOODLIGHT, "delay" = 30, "cost" = 35) + if(RCD_GIRDER) + return list("mode" = RCD_GIRDER, "delay" = 1.3 SECONDS, "cost" = 8) if(RCD_FURNISHING) var/cost = 0 var/delay = 0 @@ -222,6 +224,11 @@ new_floodlight.icon_state = "floodlight_c3" new_floodlight.state = FLOODLIGHT_NEEDS_LIGHTS return TRUE + if(RCD_GIRDER) + if(locate(/obj/structure/girder) in src) + return FALSE + new /obj/structure/girder(src) + return TRUE if(RCD_FURNISHING) if(locate(the_rcd.furnish_type) in src) return FALSE diff --git a/code/modules/asset_cache/assets/rcd.dm b/code/modules/asset_cache/assets/rcd.dm index bbb46986090..8050a86c766 100644 --- a/code/modules/asset_cache/assets/rcd.dm +++ b/code/modules/asset_cache/assets/rcd.dm @@ -15,7 +15,7 @@ 'icons/obj/objects.dmi' = list("bed"), 'icons/obj/smooth_structures/catwalk.dmi' = list("catwalk-0"), 'icons/hud/radial.dmi' = list("cnorth", "csouth", "ceast", "cwest", "chair", "secure_windoor", "stool", "wallfloor", "windowsize", "windowtype", "windoor"), - 'icons/obj/structures.dmi' = list("glass_table", "rack", "rwindow0", "reflector_base", "table", "window0"), + 'icons/obj/structures.dmi' = list("glass_table", "rack", "rwindow0", "reflector_base", "table", "window0", "girder"), ) var/icon/icon