diff --git a/code/modules/materials/material_recipes.dm b/code/modules/materials/material_recipes.dm index 3cc43ed85a9..24cdb519477 100644 --- a/code/modules/materials/material_recipes.dm +++ b/code/modules/materials/material_recipes.dm @@ -140,6 +140,8 @@ recipes += new /datum/stack_recipe_list("[display_name] recipes", list( new /datum/stack_recipe("plastic rack", /obj/structure/table/rack, BUILD_AMT, time = 5, one_per_turf = 1, on_floor = 1), + new /datum/stack_recipe("clothing rack", /obj/structure/table/rack/clothing, BUILD_AMT, time = 5, one_per_turf = 1, on_floor = 1), + new /datum/stack_recipe("retail shelf", /obj/structure/table/rack/retail_shelf, BUILD_AMT, time = 5, one_per_turf = 1, on_floor = 1), new /datum/stack_recipe("plastic crate", /obj/structure/closet/crate/plastic, BUILD_AMT, one_per_turf = 1, on_floor = 1), new /datum/stack_recipe("plastic bag", /obj/item/storage/bag/plasticbag, 3, on_floor = 1), new /datum/stack_recipe("IV bag", /obj/item/reagent_containers/blood/empty, 4, on_floor = 0), diff --git a/code/modules/tables/rack.dm b/code/modules/tables/rack.dm index 5135f067995..31ced2b5bca 100644 --- a/code/modules/tables/rack.dm +++ b/code/modules/tables/rack.dm @@ -9,6 +9,7 @@ can_reinforce = 0 flipped = -1 table_mat = DEFAULT_TABLE_MATERIAL + dismantle_mat = /obj/item/stack/material/plastic /obj/structure/table/rack/New() ..() diff --git a/code/modules/tables/tables.dm b/code/modules/tables/tables.dm index 2e46f3557fc..46322f4a968 100644 --- a/code/modules/tables/tables.dm +++ b/code/modules/tables/tables.dm @@ -26,6 +26,7 @@ var/manipulating = 0 var/material/reinforced = null + var/obj/item/stack/dismantle_mat = /obj/item/stack/rods // Gambling tables. I'd prefer reinforced with carpet/felt/cloth/whatever, but AFAIK it's either harder or impossible to get /obj/item/stack/material of those. // Convert if/when you can easily get stacks of these. @@ -269,7 +270,7 @@ return user.visible_message("\The [user] dismantles \the [src].", SPAN_NOTICE("You dismantle \the [src].")) - new /obj/item/stack/rods(src.loc, 2) + new dismantle_mat(src.loc) qdel(src) // Returns a list of /obj/item/material/shard objects that were created as a result of this table's breakage. @@ -298,9 +299,7 @@ if(carpeted && (full_return || prob(50))) // Higher chance to get the carpet back intact, since there's no non-intact option new /obj/item/stack/tile/carpet(src.loc) if(full_return || prob(20)) - new /obj/item/stack/rods(src.loc, 2) - else - new /obj/item/stack/rods(src.loc) + new dismantle_mat(src.loc) qdel(src) return shards diff --git a/html/changelogs/ShelfCrafting.yml b/html/changelogs/ShelfCrafting.yml new file mode 100644 index 00000000000..68958bef85b --- /dev/null +++ b/html/changelogs/ShelfCrafting.yml @@ -0,0 +1,8 @@ +author: TheGreyWolf + +delete-after: True + +changes: + - rscadd: "Added the ability to make retail shelves and clothing racks from plastic." + - bugfix: "Fixed table frames giving duplicate rods when dismantled." + - bugfix: "Fixed racks giving back rods when they were made with plastic."