diff --git a/code/game/objects/items/stacks/rods.dm b/code/game/objects/items/stacks/rods.dm index 11d96de6459..7a804bbc20f 100644 --- a/code/game/objects/items/stacks/rods.dm +++ b/code/game/objects/items/stacks/rods.dm @@ -1,5 +1,6 @@ var/global/list/datum/stack_recipe/rod_recipes = list ( \ new/datum/stack_recipe("grille", /obj/structure/grille, 2, time = 10, one_per_turf = 1, on_floor = 1), \ + new/datum/stack_recipe("table frame", /obj/structure/table_frame, 2, time = 10, one_per_turf = 1, on_floor = 1), \ ) /obj/item/stack/rods diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 15c4ab31162..34c8445a8d5 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -17,7 +17,6 @@ var/global/list/datum/stack_recipe/metal_recipes = list ( \ new/datum/stack_recipe("comfy chair", /obj/structure/stool/bed/chair/comfy/beige, 2, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("bed", /obj/structure/stool/bed, 2, one_per_turf = 1, on_floor = 1), \ null, \ - new/datum/stack_recipe("table parts", /obj/item/weapon/table_parts, 2), \ new/datum/stack_recipe("rack parts", /obj/item/weapon/rack_parts), \ new/datum/stack_recipe("closet", /obj/structure/closet, 2, time = 15, one_per_turf = 1, on_floor = 1), \ null, \ @@ -91,7 +90,7 @@ var/global/list/datum/stack_recipe/plasteel_recipes = list ( \ var/global/list/datum/stack_recipe/wood_recipes = list ( \ new/datum/stack_recipe("wooden sandals", /obj/item/clothing/shoes/sandal, 1), \ new/datum/stack_recipe("wood floor tile", /obj/item/stack/tile/wood, 1, 4, 20), \ - new/datum/stack_recipe("table parts", /obj/item/weapon/table_parts/wood, 2), \ + new/datum/stack_recipe("wood table frame", /obj/structure/table_frame/wood, 2, time = 10), \ new/datum/stack_recipe("rifle stock", /obj/item/weaponcrafting/stock, 10, time = 40), \ new/datum/stack_recipe("wooden chair", /obj/structure/stool/bed/chair/wood/normal, 3, time = 10, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("wooden barricade", /obj/structure/barricade/wooden, 5, time = 50, one_per_turf = 1, on_floor = 1), \ diff --git a/code/game/objects/structures/table_frames.dm b/code/game/objects/structures/table_frames.dm index 33c404d136e..ab3fd5579ef 100644 --- a/code/game/objects/structures/table_frames.dm +++ b/code/game/objects/structures/table_frames.dm @@ -2,7 +2,6 @@ * Contains: * Frames * Wooden Frames - * Reinforced Frames */ @@ -19,7 +18,35 @@ anchored = 0 layer = 2.8 -/obj/structure/table_frame/attackby() +/obj/structure/table_frame/attackby(var/obj/item/I, mob/user) + if(istype(I, /obj/item/weapon/wrench)) + user << "Now disassembling [src]." + playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1) + if(do_after(user, 40)) + new /obj/item/stack/rods(src.loc) + qdel(src) + return + if(istype(I, /obj/item/stack/sheet/plasteel)) + user << "Now adding the [I] to the [src]." + if(do_after(user, 50)) + new /obj/structure/table/reinforced(src.loc) + qdel(src) + I.use(1) + return + if(istype(I, /obj/item/stack/sheet/metal)) + user << "Now adding the [I] to the [src]." + if(do_after(user, 20)) + new /obj/structure/table(src.loc) + qdel(src) + I.use(1) + return + if(istype(I, /obj/item/stack/sheet/glass)) + user << "Now adding the [I] to the [src]." + if(do_after(user, 20)) + new /obj/structure/table/glass(src.loc) + qdel(src) + I.use(1) + return /* * Wooden Frames @@ -30,14 +57,25 @@ desc = "Four wooden legs with four framing wooden rods for a wooden table. You could easily pass through this." icon_state = "wood_frame" - /* - * Reinforced Frames - */ - -/obj/structure/table_frame/reinforced - name = "reinforced table frame" - desc = "Four metal legs with four framing rods for a table. They seem especially reinforced." - icon_state = "reinforced_frame" - density = 1 - anchored = 1 - throwpass = 1 \ No newline at end of file +/obj/structure/table_frame/wood/attackby(var/obj/item/I, mob/user) + if(istype(I, /obj/item/weapon/wrench)) + user << "Now disassembling [src]." + playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1) + if(do_after(user, 40)) + new /obj/item/stack/sheet/mineral/wood(src.loc) + qdel(src) + return + if(istype(I, /obj/item/stack/sheet/mineral/wood)) + user << "Now adding the [I] to the [src]." + if(do_after(user, 20)) + new /obj/structure/table/wood(src.loc) + qdel(src) + I.use(1) + return + if(istype(I, /obj/item/stack/tile/carpet)) + user << "Now adding the [I] to the [src]." + if(do_after(user, 20)) + new /obj/structure/table/wood/poker(src.loc) + qdel(src) + I.use(1) + return \ No newline at end of file diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index 58c92f4338a..ef25f4c0fce 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -346,9 +346,9 @@ Destroy type values: return if(destroy_type == 2) - user << "Now disassembling [src]" + user << "Now disassembling [src]." playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) - if (do_after(user, 50)) + if (do_after(user, 30)) new frame(src.loc) if(istype(src, /obj/structure/table/reinforced)) new /obj/item/stack/sheet/plasteel(src.loc) @@ -401,7 +401,7 @@ Destroy type values: name = "wooden table" desc = "Do not apply fire to this. Rumour says it burns easily." icon_state = "woodtable" - frame = /obj/item/weapon/table_frame/wood + frame = /obj/structure/table_frame/wood /obj/structure/table/wood/poker //No specialties, Just a mapping object. @@ -416,7 +416,6 @@ Destroy type values: name = "reinforced table" desc = "A reinforced version of the four legged table, much harder to simply deconstruct." icon_state = "reinftable" - frame = /obj/item/weapon/table_frame/reinforced var/status = 2 @@ -453,6 +452,7 @@ Destroy type values: else return + /* * Racks */ diff --git a/icons/obj/structures.dmi b/icons/obj/structures.dmi index 37cb31eb248..6492be0537a 100644 Binary files a/icons/obj/structures.dmi and b/icons/obj/structures.dmi differ