From 3db565f553f9e9e7c011204855d5041361101779 Mon Sep 17 00:00:00 2001 From: Venuska1117 <89580971+Venuska1117@users.noreply.github.com> Date: Wed, 16 Aug 2023 20:58:57 +0200 Subject: [PATCH] Add Railings "Caps" for Aesthetic Use. (#21803) * Add railing caps -subtype of railing corners * Batch of changes: - Fixed cap sprite - Added 2 more instances of caps (left and right) - Added caps to rods crafting menu - Changed cost of corner from 3 to 2 - Added cost to cap, it cost 2 rods * Woops: - Apparently railings corners and such borrow code from normal railing so they always drop 3 rods. * Change railings to list * removed density/climbable - they inhert it from railing --- code/game/objects/items/stacks/rods.dm | 11 +++++++---- code/game/objects/structures/railings.dm | 20 ++++++++++++++++++++ icons/obj/fence.dmi | Bin 7603 -> 9490 bytes 3 files changed, 27 insertions(+), 4 deletions(-) diff --git a/code/game/objects/items/stacks/rods.dm b/code/game/objects/items/stacks/rods.dm index 0d10558a264..10f8768f8ed 100644 --- a/code/game/objects/items/stacks/rods.dm +++ b/code/game/objects/items/stacks/rods.dm @@ -3,10 +3,13 @@ GLOBAL_LIST_INIT(rod_recipes, list ( new /datum/stack_recipe("table frame", /obj/structure/table_frame, 2, time = 1 SECONDS, one_per_turf = TRUE, on_floor = TRUE), new /datum/stack_recipe("catwalk tile", /obj/item/stack/tile/catwalk, 2, 4, 20), null, - new /datum/stack_recipe("railing", /obj/structure/railing, 3, time = 1 SECONDS, one_per_turf = TRUE, on_floor = TRUE), - new /datum/stack_recipe("railing corner", /obj/structure/railing/corner, 3, time = 1 SECONDS, one_per_turf = TRUE, on_floor = TRUE), - null, - new /datum/stack_recipe_list("chainlink fence", list( + new /datum/stack_recipe_list("railings...", list( + new /datum/stack_recipe("railing", /obj/structure/railing, 3, time = 1 SECONDS, one_per_turf = TRUE, on_floor = TRUE), + new /datum/stack_recipe("railing corner", /obj/structure/railing/corner, 3, time = 1 SECONDS, one_per_turf = TRUE, on_floor = TRUE), + new /datum/stack_recipe("railing cap (left)", /obj/structure/railing/cap/normal, 3, time = 1 SECONDS, one_per_turf = TRUE, on_floor = TRUE), + new /datum/stack_recipe("railing cap (right)", /obj/structure/railing/cap/reversed, 3, time = 1 SECONDS, one_per_turf = TRUE, on_floor = TRUE), + )), + new /datum/stack_recipe_list("chainlink fence...", list( new /datum/stack_recipe("chainlink fence", /obj/structure/fence, 5, time = 1 SECONDS, one_per_turf = TRUE, on_floor = TRUE), new /datum/stack_recipe("chainlink fence post", /obj/structure/fence/post, 5, time = 1 SECONDS, one_per_turf = TRUE, on_floor = TRUE), new /datum/stack_recipe("chainlink fence corner", /obj/structure/fence/corner, 5, time = 1 SECONDS, one_per_turf = TRUE, on_floor = TRUE), diff --git a/code/game/objects/structures/railings.dm b/code/game/objects/structures/railings.dm index a5271b3ac33..3ff5c263535 100644 --- a/code/game/objects/structures/railings.dm +++ b/code/game/objects/structures/railings.dm @@ -17,6 +17,17 @@ density = FALSE climbable = FALSE +/obj/structure/railing/cap //aestetic "end" for railing + icon_state = "railing_cap" + density = FALSE + climbable = FALSE + +/obj/structure/railing/cap/normal + icon_state = "railing_cap_normal" + +/obj/structure/railing/cap/reversed + icon_state = "railing_cap_reversed" + /obj/structure/railing/attackby(obj/item/I, mob/living/user, params) ..() add_fingerprint(user) @@ -74,6 +85,15 @@ /obj/structure/railing/corner/CheckExit() return TRUE +/obj/structure/railing/cap/CanPass() + return TRUE + +/obj/structure/railing/cap/CanPathfindPass(obj/item/card/id/ID, to_dir, caller, no_id = FALSE) + return TRUE + +/obj/structure/railing/cap/CheckExit() + return TRUE + /obj/structure/railing/CanPass(atom/movable/mover, turf/target) if(istype(mover) && mover.checkpass(PASSFENCE)) return TRUE diff --git a/icons/obj/fence.dmi b/icons/obj/fence.dmi index 132482b4874ecafc382bb8f0a0695f31d1ad09f9..0f9a6fe173e2f18f558feecf79a04d7e8b93f15e 100644 GIT binary patch literal 9490 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 literal 7603 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