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 132482b4874..0f9a6fe173e 100644 Binary files a/icons/obj/fence.dmi and b/icons/obj/fence.dmi differ