diff --git a/code/game/objects/items/stacks/tiles/tile_types.dm b/code/game/objects/items/stacks/tiles/tile_types.dm index e0c9f4ee18c..4ccd5e90e4a 100644 --- a/code/game/objects/items/stacks/tiles/tile_types.dm +++ b/code/game/objects/items/stacks/tiles/tile_types.dm @@ -76,6 +76,7 @@ icon_state = "tile-carpet" turf_type = /turf/simulated/floor/carpet resistance_flags = FLAMMABLE + var/fancy_table_type = /obj/structure/table/wood/fancy //Decides what table will be built with what carpet tile /obj/item/stack/tile/carpet/twenty amount = 20 @@ -84,6 +85,7 @@ name = "black carpet" icon_state = "tile-carpet-black" turf_type = /turf/simulated/floor/carpet/black + fancy_table_type = /obj/structure/table/wood/fancy/black /obj/item/stack/tile/carpet/black/twenty amount = 20 @@ -92,6 +94,7 @@ name = "blue carpet" icon_state = "tile-carpet-blue" turf_type = /turf/simulated/floor/carpet/blue + fancy_table_type = /obj/structure/table/wood/fancy/blue /obj/item/stack/tile/carpet/blue/twenty amount = 20 @@ -100,6 +103,7 @@ name = "cyan carpet" icon_state = "tile-carpet-cyan" turf_type = /turf/simulated/floor/carpet/cyan + fancy_table_type = /obj/structure/table/wood/fancy/cyan /obj/item/stack/tile/carpet/cyan/twenty amount = 20 @@ -108,6 +112,7 @@ name = "green carpet" icon_state = "tile-carpet-green" turf_type = /turf/simulated/floor/carpet/green + fancy_table_type = /obj/structure/table/wood/fancy/green /obj/item/stack/tile/carpet/green/twenty amount = 20 @@ -116,6 +121,7 @@ name = "orange carpet" icon_state = "tile-carpet-orange" turf_type = /turf/simulated/floor/carpet/orange + fancy_table_type = /obj/structure/table/wood/fancy/orange /obj/item/stack/tile/carpet/orange/twenty amount = 20 @@ -124,6 +130,7 @@ name = "purple carpet" icon_state = "tile-carpet-purple" turf_type = /turf/simulated/floor/carpet/purple + fancy_table_type = /obj/structure/table/wood/fancy/purple /obj/item/stack/tile/carpet/purple/twenty amount = 20 @@ -132,6 +139,7 @@ name = "red carpet" icon_state = "tile-carpet-red" turf_type = /turf/simulated/floor/carpet/red + fancy_table_type = /obj/structure/table/wood/fancy/red /obj/item/stack/tile/carpet/red/twenty amount = 20 @@ -140,7 +148,10 @@ name = "royal black carpet" icon_state = "tile-carpet-royalblack" turf_type = /turf/simulated/floor/carpet/royalblack + fancy_table_type = /obj/structure/table/wood/fancy/royalblack +/obj/item/stack/tile/carpet/royalblack/ten + amount = 10 /obj/item/stack/tile/carpet/royalblack/twenty amount = 20 @@ -148,6 +159,10 @@ name = "royal blue carpet" icon_state = "tile-carpet-royalblue" turf_type = /turf/simulated/floor/carpet/royalblue + fancy_table_type = /obj/structure/table/wood/fancy/royalblue + +/obj/item/stack/tile/carpet/royalblue/ten + amount = 10 /obj/item/stack/tile/carpet/royalblue/twenty amount = 20 diff --git a/code/game/objects/structures/table_frames.dm b/code/game/objects/structures/table_frames.dm index 966c3f313b4..c6bff2f0205 100644 --- a/code/game/objects/structures/table_frames.dm +++ b/code/game/objects/structures/table_frames.dm @@ -30,6 +30,7 @@ to_chat(user, "You start adding [P] to [src]...") if(do_after(user, 50, target = src) && P.use(1)) make_new_table(/obj/structure/table/reinforced) + else if(istype(I, /obj/item/stack/sheet/metal)) var/obj/item/stack/sheet/metal/M = I if(M.get_amount() < 1) @@ -38,6 +39,7 @@ to_chat(user, "You start adding [M] to [src]...") if(do_after(user, 20, target = src) && M.use(1)) make_new_table(/obj/structure/table) + else if(istype(I, /obj/item/stack/sheet/glass)) var/obj/item/stack/sheet/glass/G = I if(G.get_amount() < 1) @@ -46,22 +48,16 @@ to_chat(user, "You start adding [G] to [src]...") if(do_after(user, 20, target = src) && G.use(1)) make_new_table(/obj/structure/table/glass) - else if(istype(I, /obj/item/stack/tile/carpet/black)) - var/obj/item/stack/tile/carpet/black/C = I - if(C.get_amount() < 1) - to_chat(user, "You need one black carpet sheet to do this!") - return - to_chat(user, "You start adding [C] to [src]...") - if(do_after(user, 20, target = src) && C.use(1)) - make_new_table(/obj/structure/table/wood/fancy/black) - else if(istype(I, /obj/item/stack/tile/carpet)) + + if(istype(I, /obj/item/stack/tile/carpet)) var/obj/item/stack/tile/carpet/C = I if(C.get_amount() < 1) - to_chat(user, "You need one carpet sheet to do this!") + to_chat(user, "You need one [C.name] sheet to do this!") return to_chat(user, "You start adding [C] to [src]...") if(do_after(user, 20, target = src) && C.use(1)) - make_new_table(/obj/structure/table/wood/fancy) + make_new_table(C.fancy_table_type) + else return ..() diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index 2810e9d21e3..6dd727c6bbd 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -498,24 +498,85 @@ /obj/structure/table/wood/fancy name = "fancy table" desc = "A standard metal table frame covered with an amazingly fancy, patterned cloth." - icon = 'icons/obj/structures.dmi' + icon = 'icons/obj/smooth_structures/fancy_table.dmi' icon_state = "fancy_table" frame = /obj/structure/table_frame framestack = /obj/item/stack/rods buildstack = /obj/item/stack/tile/carpet - canSmoothWith = list(/obj/structure/table/wood/fancy, /obj/structure/table/wood/fancy/black) + canSmoothWith = list(/obj/structure/table/wood/fancy, + /obj/structure/table/wood/fancy/black, + /obj/structure/table/wood/fancy/blue, + /obj/structure/table/wood/fancy/cyan, + /obj/structure/table/wood/fancy/green, + /obj/structure/table/wood/fancy/orange, + /obj/structure/table/wood/fancy/purple, + /obj/structure/table/wood/fancy/red, + /obj/structure/table/wood/fancy/royalblack, + /obj/structure/table/wood/fancy/royalblue) + var/smooth_icon = 'icons/obj/smooth_structures/fancy_table.dmi' -/obj/structure/table/wood/fancy/Initialize(mapload) +/obj/structure/table/wood/fancy/flip(direction) + return FALSE + +/obj/structure/table/wood/fancy/Initialize() . = ..() - icon = 'icons/obj/smooth_structures/fancy_table.dmi' //so that the tables place correctly in the map editor + icon = smooth_icon /obj/structure/table/wood/fancy/black icon_state = "fancy_table_black" buildstack = /obj/item/stack/tile/carpet/black + icon = 'icons/obj/smooth_structures/fancy_table_black.dmi' + smooth_icon = 'icons/obj/smooth_structures/fancy_table_black.dmi' -/obj/structure/table/wood/fancy/black/Initialize(mapload) - . = ..() - icon = 'icons/obj/smooth_structures/fancy_table_black.dmi' //so that the tables place correctly in the map editor + +/obj/structure/table/wood/fancy/blue + icon_state = "fancy_table_blue" + buildstack = /obj/item/stack/tile/carpet/blue + icon = 'icons/obj/smooth_structures/fancy_table_blue.dmi' + smooth_icon = 'icons/obj/smooth_structures/fancy_table_blue.dmi' + +/obj/structure/table/wood/fancy/cyan + icon_state = "fancy_table_cyan" + buildstack = /obj/item/stack/tile/carpet/cyan + icon = 'icons/obj/smooth_structures/fancy_table_cyan.dmi' + smooth_icon = 'icons/obj/smooth_structures/fancy_table_cyan.dmi' + +/obj/structure/table/wood/fancy/green + icon_state = "fancy_table_green" + buildstack = /obj/item/stack/tile/carpet/green + icon = 'icons/obj/smooth_structures/fancy_table_green.dmi' + smooth_icon = 'icons/obj/smooth_structures/fancy_table_green.dmi' + +/obj/structure/table/wood/fancy/orange + icon_state = "fancy_table_orange" + buildstack = /obj/item/stack/tile/carpet/orange + icon = 'icons/obj/smooth_structures/fancy_table_orange.dmi' + smooth_icon = 'icons/obj/smooth_structures/fancy_table_orange.dmi' + +/obj/structure/table/wood/fancy/purple + icon_state = "fancy_table_purple" + buildstack = /obj/item/stack/tile/carpet/purple + icon = 'icons/obj/smooth_structures/fancy_table_purple.dmi' + smooth_icon = 'icons/obj/smooth_structures/fancy_table_purple.dmi' + +/obj/structure/table/wood/fancy/red + icon_state = "fancy_table_red" + buildstack = /obj/item/stack/tile/carpet/red + icon = 'icons/obj/smooth_structures/fancy_table_red.dmi' + smooth_icon = 'icons/obj/smooth_structures/fancy_table_red.dmi' + +/obj/structure/table/wood/fancy/royalblack + icon_state = "fancy_table_royalblack" + buildstack = /obj/item/stack/tile/carpet/royalblack + icon = 'icons/obj/smooth_structures/fancy_table_royalblack.dmi' + smooth_icon = 'icons/obj/smooth_structures/fancy_table_royalblack.dmi' + + +/obj/structure/table/wood/fancy/royalblue + icon_state = "fancy_table_royalblue" + buildstack = /obj/item/stack/tile/carpet/royalblue + icon = 'icons/obj/smooth_structures/fancy_table_royalblue.dmi' + smooth_icon = 'icons/obj/smooth_structures/fancy_table_royalblue.dmi' /* * Reinforced tables diff --git a/code/modules/crafting/recipes.dm b/code/modules/crafting/recipes.dm index 6d7ffbf829f..d9ef3e9b075 100644 --- a/code/modules/crafting/recipes.dm +++ b/code/modules/crafting/recipes.dm @@ -371,7 +371,7 @@ /datum/crafting_recipe/blackcarpet name = "Black Carpet" result = list(/obj/item/stack/tile/carpet/black) - time = 20 + time = 10 reqs = list(/obj/item/stack/tile/carpet = 1) pathtools = list(/obj/item/toy/crayon/black) category = CAT_MISC @@ -379,7 +379,7 @@ /datum/crafting_recipe/bluecarpet name = "Blue Carpet" result = list(/obj/item/stack/tile/carpet/blue) - time = 20 + time = 10 reqs = list(/obj/item/stack/tile/carpet = 1) pathtools = list(/obj/item/toy/crayon/blue) category = CAT_MISC @@ -387,7 +387,7 @@ /datum/crafting_recipe/cyancarpet name = "Cyan Carpet" result = list(/obj/item/stack/tile/carpet/cyan) - time = 20 + time = 10 reqs = list(/obj/item/stack/tile/carpet = 1) pathtools = list(/obj/item/toy/crayon/blue, /obj/item/toy/crayon/green) category = CAT_MISC @@ -395,7 +395,7 @@ /datum/crafting_recipe/greencarpet name = "Green Carpet" result = list(/obj/item/stack/tile/carpet/green) - time = 20 + time = 10 reqs = list(/obj/item/stack/tile/carpet = 1) pathtools = list(/obj/item/toy/crayon/green) category = CAT_MISC @@ -403,41 +403,41 @@ /datum/crafting_recipe/orangecarpet name = "Orange Carpet" result = list(/obj/item/stack/tile/carpet/orange) - time = 20 + time = 10 reqs = list(/obj/item/stack/tile/carpet = 1) - pathtools = list(/obj/item/toy/crayon/yellow, /obj/item/toy/crayon/red) + pathtools = list(/obj/item/toy/crayon/orange) category = CAT_MISC /datum/crafting_recipe/purplecarpet name = "Purple Carpet" result = list(/obj/item/stack/tile/carpet/purple) - time = 20 + time = 10 reqs = list(/obj/item/stack/tile/carpet = 1) - pathtools = list(/obj/item/toy/crayon/red, /obj/item/toy/crayon/blue) + pathtools = list(/obj/item/toy/crayon/purple) category = CAT_MISC /datum/crafting_recipe/redcarpet name = "Red Carpet" result = list(/obj/item/stack/tile/carpet/red) - time = 20 + time = 10 reqs = list(/obj/item/stack/tile/carpet = 1) pathtools = list(/obj/item/toy/crayon/red) category = CAT_MISC /datum/crafting_recipe/royalblackcarpet name = "Royal Black Carpet" - result = list(/obj/item/stack/tile/carpet/royalblack = 10) + result = list(/obj/item/stack/tile/carpet/royalblack/ten) time = 20 reqs = list(/obj/item/stack/tile/carpet/black = 10, - /obj/item/stack/sheet/mineral/gold = 2) + /obj/item/stack/sheet/mineral/gold = 1) category = CAT_MISC /datum/crafting_recipe/royalbluecarpet name = "Royal Blue Carpet" - result = list(/obj/item/stack/tile/carpet/royalblue = 10) + result = list(/obj/item/stack/tile/carpet/royalblue/ten) time = 20 reqs = list(/obj/item/stack/tile/carpet/blue = 10, - /obj/item/stack/sheet/mineral/gold = 2) + /obj/item/stack/sheet/mineral/gold = 1) category = CAT_MISC /datum/crafting_recipe/showercurtain diff --git a/icons/obj/smooth_structures/fancy_table.dmi b/icons/obj/smooth_structures/fancy_table.dmi index c844ec5cedd..a08fd3212cc 100644 Binary files a/icons/obj/smooth_structures/fancy_table.dmi and b/icons/obj/smooth_structures/fancy_table.dmi differ diff --git a/icons/obj/smooth_structures/fancy_table_black.dmi b/icons/obj/smooth_structures/fancy_table_black.dmi index 7932c0465b9..f9b8d3eb83e 100644 Binary files a/icons/obj/smooth_structures/fancy_table_black.dmi and b/icons/obj/smooth_structures/fancy_table_black.dmi differ diff --git a/icons/obj/smooth_structures/fancy_table_blue.dmi b/icons/obj/smooth_structures/fancy_table_blue.dmi new file mode 100644 index 00000000000..07e13e99e64 Binary files /dev/null and b/icons/obj/smooth_structures/fancy_table_blue.dmi differ diff --git a/icons/obj/smooth_structures/fancy_table_cyan.dmi b/icons/obj/smooth_structures/fancy_table_cyan.dmi new file mode 100644 index 00000000000..4f1a90e33b2 Binary files /dev/null and b/icons/obj/smooth_structures/fancy_table_cyan.dmi differ diff --git a/icons/obj/smooth_structures/fancy_table_green.dmi b/icons/obj/smooth_structures/fancy_table_green.dmi new file mode 100644 index 00000000000..ea7f8daa99f Binary files /dev/null and b/icons/obj/smooth_structures/fancy_table_green.dmi differ diff --git a/icons/obj/smooth_structures/fancy_table_orange.dmi b/icons/obj/smooth_structures/fancy_table_orange.dmi new file mode 100644 index 00000000000..fe0375ddbb8 Binary files /dev/null and b/icons/obj/smooth_structures/fancy_table_orange.dmi differ diff --git a/icons/obj/smooth_structures/fancy_table_purple.dmi b/icons/obj/smooth_structures/fancy_table_purple.dmi new file mode 100644 index 00000000000..c404a9eb5f4 Binary files /dev/null and b/icons/obj/smooth_structures/fancy_table_purple.dmi differ diff --git a/icons/obj/smooth_structures/fancy_table_red.dmi b/icons/obj/smooth_structures/fancy_table_red.dmi new file mode 100644 index 00000000000..8bca0ca8c94 Binary files /dev/null and b/icons/obj/smooth_structures/fancy_table_red.dmi differ diff --git a/icons/obj/smooth_structures/fancy_table_royalblack.dmi b/icons/obj/smooth_structures/fancy_table_royalblack.dmi new file mode 100644 index 00000000000..064b7c1945e Binary files /dev/null and b/icons/obj/smooth_structures/fancy_table_royalblack.dmi differ diff --git a/icons/obj/smooth_structures/fancy_table_royalblue.dmi b/icons/obj/smooth_structures/fancy_table_royalblue.dmi new file mode 100644 index 00000000000..9d0eba7265e Binary files /dev/null and b/icons/obj/smooth_structures/fancy_table_royalblue.dmi differ