diff --git a/code/__DEFINES/icon_smoothing.dm b/code/__DEFINES/icon_smoothing.dm index 88f81aa6e7b..9711198b3b2 100644 --- a/code/__DEFINES/icon_smoothing.dm +++ b/code/__DEFINES/icon_smoothing.dm @@ -112,6 +112,7 @@ DEFINE_BITFIELD(smoothing_flags, list( #define SMOOTH_GROUP_BRASS_TABLES S_OBJ(53) ///obj/structure/table/brass #define SMOOTH_GROUP_ABDUCTOR_TABLES S_OBJ(54) ///obj/structure/table/abductor #define SMOOTH_GROUP_GLASS_TABLES S_OBJ(55) ///obj/structure/table/glass +#define SMOOTH_GROUP_REINFORCED_TABLES S_OBJ(56) ///obj/structure/table/reinforced, /obj/structure/table/glass/reinforced #define SMOOTH_GROUP_ALIEN_RESIN S_OBJ(60) ///obj/structure/alien/resin #define SMOOTH_GROUP_ALIEN_WALLS S_OBJ(61) ///obj/structure/alien/resin/wall, /obj/structure/alien/resin/membrane diff --git a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm index bae43ab4428..b6be18b0af5 100644 --- a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm +++ b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm @@ -717,7 +717,7 @@ Congratulations! You are now trained for invasive xenobiology research!"} /obj/structure/table/abductor name = "alien table" desc = "Advanced flat surface technology at work!" - icon = 'icons/obj/smooth_structures/alien_table.dmi' + icon = 'icons/obj/smooth_structures/tables/alien_table.dmi' icon_state = "alien_table-0" base_icon_state = "alien_table" buildstack = /obj/item/stack/sheet/mineral/abductor diff --git a/code/game/machinery/computer/HolodeckControl.dm b/code/game/machinery/computer/HolodeckControl.dm index 3cec8d3bd60..2c6855d79cc 100644 --- a/code/game/machinery/computer/HolodeckControl.dm +++ b/code/game/machinery/computer/HolodeckControl.dm @@ -390,7 +390,7 @@ /obj/structure/table/holotable/wood name = "wooden table" desc = "A square piece of wood standing on four wooden legs. It can not move." - icon = 'icons/obj/smooth_structures/wood_table.dmi' + icon = 'icons/obj/smooth_structures/tables/wood_table.dmi' icon_state = "wood_table-0" base_icon_state = "wood_table" smoothing_groups = list(SMOOTH_GROUP_WOOD_TABLES) //Don't smooth with SMOOTH_GROUP_TABLES @@ -408,8 +408,8 @@ /obj/structure/holowindow name = "reinforced window" - icon = 'icons/obj/structures.dmi' - icon_state = "rwindow" + icon = 'icons/obj/smooth_structures/reinforced_window.dmi' + icon_state = "reinforced_window-0" desc = "A window." density = TRUE layer = 3.2//Just above doors diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index 712bc602826..ac1ea5a9e7b 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -15,7 +15,7 @@ /obj/structure/table name = "table" desc = "A square piece of metal standing on four metal legs. It can not move." - icon = 'icons/obj/smooth_structures/table.dmi' + icon = 'icons/obj/smooth_structures/tables/table.dmi' icon_state = "table-0" base_icon_state = "table" density = TRUE @@ -399,7 +399,7 @@ /obj/structure/table/glass name = "glass table" desc = "Looks fragile. You should totally flip it. It is begging for it." - icon = 'icons/obj/smooth_structures/glass_table.dmi' + icon = 'icons/obj/smooth_structures/tables/glass_table.dmi' icon_state = "glass_table-0" base_icon_state = "glass_table" buildstack = /obj/item/stack/sheet/glass @@ -409,11 +409,12 @@ resistance_flags = ACID_PROOF armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 80, ACID = 100) var/list/debris = list() + var/shardtype = /obj/item/shard /obj/structure/table/glass/Initialize(mapload) . = ..() debris += new frame - debris += new /obj/item/shard + debris += new shardtype /obj/structure/table/glass/Destroy() for(var/i in debris) @@ -490,13 +491,90 @@ for(var/obj/item/shard/S in debris) S.color = NARSIE_WINDOW_COLOUR +/obj/structure/table/glass/plasma + name = "plasma glass table" + desc = "A table made from the blood, sweat, and tears of miners." + icon = 'icons/obj/smooth_structures/tables/plasmaglass_table.dmi' + icon_state = "plasmaglass_table-0" + base_icon_state = "plasmaglass_table" + buildstack = /obj/item/stack/sheet/plasmaglass + max_integrity = 140 + shardtype = /obj/item/shard/plasma + +/obj/structure/table/glass/reinforced + name = "reinforced glass table" + desc = "Looks robust. You should totally flip it. It is begging for it." + icon = 'icons/obj/smooth_structures/tables/rglass_table.dmi' + icon_state = "rglass_table-0" + base_icon_state = "rglass_table" + buildstack = /obj/item/stack/sheet/rglass + max_integrity = 100 + integrity_failure = 50 + deconstruction_ready = FALSE + armor = list(MELEE = 10, BULLET = 30, LASER = 30, ENERGY = 100, BOMB = 20, BIO = 0, RAD = 0, FIRE = 80, ACID = 70) + smoothing_groups = list(SMOOTH_GROUP_REINFORCED_TABLES) + canSmoothWith = list(SMOOTH_GROUP_REINFORCED_TABLES) + +/obj/structure/table/reinforced/deconstruction_hints(mob/user) //look, it was either copy paste these 3 procs, or copy paste all of the glass stuff + if(deconstruction_ready) + to_chat(user, "The top cover has been welded loose and the main frame's bolts are exposed.") + else + to_chat(user, "The top cover is firmly welded on.") + +/obj/structure/table/reinforced/flip(direction) + if(!deconstruction_ready) + return FALSE + else + return ..() + +/obj/structure/table/reinforced/welder_act(mob/user, obj/item/I) + . = TRUE + if(!I.tool_use_check(user, 0)) + return + to_chat(user, "You start [deconstruction_ready ? "strengthening" : "weakening"] the reinforced table...") + if(I.use_tool(src, user, 50, volume = I.tool_volume)) + to_chat(user, "You [deconstruction_ready ? "strengthen" : "weaken"] the table.") + deconstruction_ready = !deconstruction_ready + +/obj/structure/table/glass/reinforced/check_break(mob/living/M) + if(has_gravity(M) && M.mob_size > MOB_SIZE_SMALL && (obj_integrity < (max_integrity / 2))) //big tables for big boys, only breaks under 50% hp + table_shatter(M) + +/obj/structure/table/glass/reinforced/plasma + name = "reinforced plasma glass table" + desc = "Seems a bit overkill for a table." + icon = 'icons/obj/smooth_structures/tables/rplasmaglass_table.dmi' + icon_state = "rplasmaglass_table-0" + base_icon_state = "rplasmaglass_table" + buildstack = /obj/item/stack/sheet/plasmarglass + max_integrity = 180 + shardtype = /obj/item/shard/plasma + +/obj/structure/table/glass/reinforced/titanium + name = "reinforced titanium glass table" + desc = "A very sleek looking glass table, neat!" + icon = 'icons/obj/smooth_structures/tables/titaniumglass_table.dmi' + icon_state = "titaniumglass_table-0" + base_icon_state = "titaniumglass_table" + buildstack = /obj/item/stack/sheet/titaniumglass + max_integrity = 180 + +/obj/structure/table/glass/reinforced/plastitanium + name = "reinforced plastitanium glass table" + desc = "The mother of all glass tables." + icon = 'icons/obj/smooth_structures/tables/plastitaniumglass_table.dmi' + icon_state = "plastitaniumglass_table-0" + base_icon_state = "plastitaniumglass_table" + buildstack = /obj/item/stack/sheet/plastitaniumglass + max_integrity = 200 + /* * Wooden tables */ /obj/structure/table/wood name = "wooden table" desc = "Do not apply fire to this. Rumour says it burns easily." - icon = 'icons/obj/smooth_structures/wood_table.dmi' + icon = 'icons/obj/smooth_structures/tables/wood_table.dmi' icon_state = "wood_table-0" base_icon_state = "wood_table" frame = /obj/structure/table_frame/wood @@ -514,7 +592,7 @@ /obj/structure/table/wood/poker //No specialties, Just a mapping object. name = "gambling table" desc = "A seedy table for seedy dealings in seedy places." - icon = 'icons/obj/smooth_structures/poker_table.dmi' + icon = 'icons/obj/smooth_structures/tables/poker_table.dmi' icon_state = "poker_table-0" base_icon_state = "poker_table" buildstack = /obj/item/stack/tile/carpet @@ -529,7 +607,7 @@ /obj/structure/table/wood/fancy name = "fancy table" desc = "A standard metal table frame covered with an amazingly fancy, patterned cloth." - icon = 'icons/obj/smooth_structures/fancy_table.dmi' + icon = 'icons/obj/smooth_structures/tables/fancy/fancy_table.dmi' icon_state = "fancy_table-0" base_icon_state = "fancy_table" frame = /obj/structure/table_frame @@ -549,57 +627,57 @@ icon_state = "fancy_table_black-0" base_icon_state = "fancy_table_black" buildstack = /obj/item/stack/tile/carpet/black - icon = 'icons/obj/smooth_structures/fancy_table_black.dmi' + icon = 'icons/obj/smooth_structures/tables/fancy/fancy_table_black.dmi' /obj/structure/table/wood/fancy/blue icon_state = "fancy_table_blue-0" base_icon_state = "fancy_table_blue" buildstack = /obj/item/stack/tile/carpet/blue - icon = 'icons/obj/smooth_structures/fancy_table_blue.dmi' + icon = 'icons/obj/smooth_structures/tables/fancy/fancy_table_blue.dmi' /obj/structure/table/wood/fancy/cyan icon_state = "fancy_table_cyan-0" base_icon_state = "fancy_table_cyan" buildstack = /obj/item/stack/tile/carpet/cyan - icon = 'icons/obj/smooth_structures/fancy_table_cyan.dmi' + icon = 'icons/obj/smooth_structures/tables/fancy/fancy_table_cyan.dmi' /obj/structure/table/wood/fancy/green icon_state = "fancy_table_green-0" base_icon_state = "fancy_table_green" buildstack = /obj/item/stack/tile/carpet/green - icon = 'icons/obj/smooth_structures/fancy_table_green.dmi' + icon = 'icons/obj/smooth_structures/tables/fancy/fancy_table_green.dmi' /obj/structure/table/wood/fancy/orange icon_state = "fancy_table_orange-0" base_icon_state = "fancy_table_orange" buildstack = /obj/item/stack/tile/carpet/orange - icon = 'icons/obj/smooth_structures/fancy_table_orange.dmi' + icon = 'icons/obj/smooth_structures/tables/fancy/fancy_table_orange.dmi' /obj/structure/table/wood/fancy/purple icon_state = "fancy_table_purple-0" base_icon_state = "fancy_table_purple" buildstack = /obj/item/stack/tile/carpet/purple - icon = 'icons/obj/smooth_structures/fancy_table_purple.dmi' + icon = 'icons/obj/smooth_structures/tables/fancy/fancy_table_purple.dmi' /obj/structure/table/wood/fancy/red icon_state = "fancy_table_red-0" base_icon_state = "fancy_table_red" buildstack = /obj/item/stack/tile/carpet/red - icon = 'icons/obj/smooth_structures/fancy_table_red.dmi' + icon = 'icons/obj/smooth_structures/tables/fancy/fancy_table_red.dmi' /obj/structure/table/wood/fancy/royalblack icon_state = "fancy_table_royalblack-0" base_icon_state = "fancy_table_royalblack" buildstack = /obj/item/stack/tile/carpet/royalblack - icon = 'icons/obj/smooth_structures/fancy_table_royalblack.dmi' + icon = 'icons/obj/smooth_structures/tables/fancy/fancy_table_royalblack.dmi' /obj/structure/table/wood/fancy/royalblue icon_state = "fancy_table_royalblue-0" base_icon_state = "fancy_table_royalblue" buildstack = /obj/item/stack/tile/carpet/royalblue - icon = 'icons/obj/smooth_structures/fancy_table_royalblue.dmi' + icon = 'icons/obj/smooth_structures/tables/fancy/fancy_table_royalblue.dmi' /* * Reinforced tables @@ -607,12 +685,13 @@ /obj/structure/table/reinforced name = "reinforced table" desc = "A reinforced version of the four legged table." - icon = 'icons/obj/smooth_structures/reinforced_table.dmi' + icon = 'icons/obj/smooth_structures/tables/reinforced_table.dmi' icon_state = "reinforced_table-0" base_icon_state = "reinforced_table" deconstruction_ready = FALSE buildstack = /obj/item/stack/sheet/plasteel - canSmoothWith = list(SMOOTH_GROUP_TABLES) + smoothing_groups = list(SMOOTH_GROUP_REINFORCED_TABLES) + canSmoothWith = list(SMOOTH_GROUP_REINFORCED_TABLES) max_integrity = 200 integrity_failure = 50 armor = list(MELEE = 10, BULLET = 30, LASER = 30, ENERGY = 100, BOMB = 20, BIO = 0, RAD = 0, FIRE = 80, ACID = 70) @@ -641,7 +720,7 @@ /obj/structure/table/reinforced/brass name = "brass table" desc = "A solid, slightly beveled brass table." - icon = 'icons/obj/smooth_structures/brass_table.dmi' + icon = 'icons/obj/smooth_structures/tables/brass_table.dmi' icon_state = "brass_table-0" base_icon_state = "brass_table" resistance_flags = FIRE_PROOF | ACID_PROOF diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index 4725565e171..fe700c82697 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -504,7 +504,7 @@ /obj/structure/window/reinforced/tinted/frosted name = "frosted window" desc = "It looks rather strong and frosted over. Looks like it might take a few less hits then a normal reinforced window." - icon_state = "fwindow" + icon_state = "twindow" max_integrity = 30 /obj/structure/window/reinforced/polarized diff --git a/icons/obj/smooth_structures/glass_table.dmi b/icons/obj/smooth_structures/glass_table.dmi deleted file mode 100644 index 747aaac3359..00000000000 Binary files a/icons/obj/smooth_structures/glass_table.dmi and /dev/null differ diff --git a/icons/obj/smooth_structures/poker_table.dmi b/icons/obj/smooth_structures/poker_table.dmi deleted file mode 100644 index b34193035d0..00000000000 Binary files a/icons/obj/smooth_structures/poker_table.dmi and /dev/null differ diff --git a/icons/obj/smooth_structures/reinforced_table.dmi b/icons/obj/smooth_structures/reinforced_table.dmi deleted file mode 100644 index 79f2042564b..00000000000 Binary files a/icons/obj/smooth_structures/reinforced_table.dmi and /dev/null differ diff --git a/icons/obj/smooth_structures/table.dmi b/icons/obj/smooth_structures/table.dmi deleted file mode 100644 index 526f8900a97..00000000000 Binary files a/icons/obj/smooth_structures/table.dmi and /dev/null differ diff --git a/icons/obj/smooth_structures/table_greyscale.dmi b/icons/obj/smooth_structures/table_greyscale.dmi deleted file mode 100644 index 988e41d9e4e..00000000000 Binary files a/icons/obj/smooth_structures/table_greyscale.dmi and /dev/null differ diff --git a/icons/obj/smooth_structures/alien_table.dmi b/icons/obj/smooth_structures/tables/alien_table.dmi similarity index 100% rename from icons/obj/smooth_structures/alien_table.dmi rename to icons/obj/smooth_structures/tables/alien_table.dmi diff --git a/icons/obj/smooth_structures/brass_table.dmi b/icons/obj/smooth_structures/tables/brass_table.dmi similarity index 100% rename from icons/obj/smooth_structures/brass_table.dmi rename to icons/obj/smooth_structures/tables/brass_table.dmi diff --git a/icons/obj/smooth_structures/fancy_table.dmi b/icons/obj/smooth_structures/tables/fancy/fancy_table.dmi similarity index 100% rename from icons/obj/smooth_structures/fancy_table.dmi rename to icons/obj/smooth_structures/tables/fancy/fancy_table.dmi diff --git a/icons/obj/smooth_structures/fancy_table_black.dmi b/icons/obj/smooth_structures/tables/fancy/fancy_table_black.dmi similarity index 100% rename from icons/obj/smooth_structures/fancy_table_black.dmi rename to icons/obj/smooth_structures/tables/fancy/fancy_table_black.dmi diff --git a/icons/obj/smooth_structures/fancy_table_blue.dmi b/icons/obj/smooth_structures/tables/fancy/fancy_table_blue.dmi similarity index 100% rename from icons/obj/smooth_structures/fancy_table_blue.dmi rename to icons/obj/smooth_structures/tables/fancy/fancy_table_blue.dmi diff --git a/icons/obj/smooth_structures/fancy_table_cyan.dmi b/icons/obj/smooth_structures/tables/fancy/fancy_table_cyan.dmi similarity index 100% rename from icons/obj/smooth_structures/fancy_table_cyan.dmi rename to icons/obj/smooth_structures/tables/fancy/fancy_table_cyan.dmi diff --git a/icons/obj/smooth_structures/fancy_table_green.dmi b/icons/obj/smooth_structures/tables/fancy/fancy_table_green.dmi similarity index 100% rename from icons/obj/smooth_structures/fancy_table_green.dmi rename to icons/obj/smooth_structures/tables/fancy/fancy_table_green.dmi diff --git a/icons/obj/smooth_structures/fancy_table_orange.dmi b/icons/obj/smooth_structures/tables/fancy/fancy_table_orange.dmi similarity index 100% rename from icons/obj/smooth_structures/fancy_table_orange.dmi rename to icons/obj/smooth_structures/tables/fancy/fancy_table_orange.dmi diff --git a/icons/obj/smooth_structures/fancy_table_purple.dmi b/icons/obj/smooth_structures/tables/fancy/fancy_table_purple.dmi similarity index 100% rename from icons/obj/smooth_structures/fancy_table_purple.dmi rename to icons/obj/smooth_structures/tables/fancy/fancy_table_purple.dmi diff --git a/icons/obj/smooth_structures/fancy_table_red.dmi b/icons/obj/smooth_structures/tables/fancy/fancy_table_red.dmi similarity index 100% rename from icons/obj/smooth_structures/fancy_table_red.dmi rename to icons/obj/smooth_structures/tables/fancy/fancy_table_red.dmi diff --git a/icons/obj/smooth_structures/fancy_table_royalblack.dmi b/icons/obj/smooth_structures/tables/fancy/fancy_table_royalblack.dmi similarity index 100% rename from icons/obj/smooth_structures/fancy_table_royalblack.dmi rename to icons/obj/smooth_structures/tables/fancy/fancy_table_royalblack.dmi diff --git a/icons/obj/smooth_structures/fancy_table_royalblue.dmi b/icons/obj/smooth_structures/tables/fancy/fancy_table_royalblue.dmi similarity index 100% rename from icons/obj/smooth_structures/fancy_table_royalblue.dmi rename to icons/obj/smooth_structures/tables/fancy/fancy_table_royalblue.dmi diff --git a/icons/obj/smooth_structures/tables/glass_table.dmi b/icons/obj/smooth_structures/tables/glass_table.dmi new file mode 100644 index 00000000000..09ecbc1bb44 Binary files /dev/null and b/icons/obj/smooth_structures/tables/glass_table.dmi differ diff --git a/icons/obj/smooth_structures/tables/plasmaglass_table.dmi b/icons/obj/smooth_structures/tables/plasmaglass_table.dmi new file mode 100644 index 00000000000..5dfe68d0673 Binary files /dev/null and b/icons/obj/smooth_structures/tables/plasmaglass_table.dmi differ diff --git a/icons/obj/smooth_structures/tables/plastitaniumglass_table.dmi b/icons/obj/smooth_structures/tables/plastitaniumglass_table.dmi new file mode 100644 index 00000000000..4c4a6438690 Binary files /dev/null and b/icons/obj/smooth_structures/tables/plastitaniumglass_table.dmi differ diff --git a/icons/obj/smooth_structures/tables/poker_table.dmi b/icons/obj/smooth_structures/tables/poker_table.dmi new file mode 100644 index 00000000000..64cc790947d Binary files /dev/null and b/icons/obj/smooth_structures/tables/poker_table.dmi differ diff --git a/icons/obj/smooth_structures/tables/reinforced_table.dmi b/icons/obj/smooth_structures/tables/reinforced_table.dmi new file mode 100644 index 00000000000..b2867b57994 Binary files /dev/null and b/icons/obj/smooth_structures/tables/reinforced_table.dmi differ diff --git a/icons/obj/smooth_structures/tables/rglass_table.dmi b/icons/obj/smooth_structures/tables/rglass_table.dmi new file mode 100644 index 00000000000..3b645c72ad3 Binary files /dev/null and b/icons/obj/smooth_structures/tables/rglass_table.dmi differ diff --git a/icons/obj/smooth_structures/tables/rplasmaglass_table.dmi b/icons/obj/smooth_structures/tables/rplasmaglass_table.dmi new file mode 100644 index 00000000000..4e812c79c7a Binary files /dev/null and b/icons/obj/smooth_structures/tables/rplasmaglass_table.dmi differ diff --git a/icons/obj/smooth_structures/tables/table.dmi b/icons/obj/smooth_structures/tables/table.dmi new file mode 100644 index 00000000000..3b6b1aab0ad Binary files /dev/null and b/icons/obj/smooth_structures/tables/table.dmi differ diff --git a/icons/obj/smooth_structures/tables/titaniumglass_table.dmi b/icons/obj/smooth_structures/tables/titaniumglass_table.dmi new file mode 100644 index 00000000000..76dc30163f0 Binary files /dev/null and b/icons/obj/smooth_structures/tables/titaniumglass_table.dmi differ diff --git a/icons/obj/smooth_structures/tables/wood_table.dmi b/icons/obj/smooth_structures/tables/wood_table.dmi new file mode 100644 index 00000000000..84f1fd30ce2 Binary files /dev/null and b/icons/obj/smooth_structures/tables/wood_table.dmi differ diff --git a/icons/obj/smooth_structures/wood_table.dmi b/icons/obj/smooth_structures/wood_table.dmi deleted file mode 100644 index 8991b4a3a94..00000000000 Binary files a/icons/obj/smooth_structures/wood_table.dmi and /dev/null differ diff --git a/icons/obj/structures.dmi b/icons/obj/structures.dmi index ec4facd953b..a80d009bab9 100644 Binary files a/icons/obj/structures.dmi and b/icons/obj/structures.dmi differ