diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm
index e5ba3b8d..3c94563d 100644
--- a/code/game/objects/items/stacks/sheets/sheet_types.dm
+++ b/code/game/objects/items/stacks/sheets/sheet_types.dm
@@ -11,6 +11,9 @@
* Brass (clockwork cult)
* Bronze (bake brass)
* Cotton/Duracotton
+ * Shwadon
+ *
+ *
*/
/*
@@ -769,3 +772,95 @@ new /datum/stack_recipe("paper frame door", /obj/structure/mineral_door/paperfra
merge_type = /obj/item/stack/sheet/cotton/durathread
pull_effort = 70
loom_result = /obj/item/stack/sheet/durathread
+
+/*
+ * Shadow Wood
+ */
+GLOBAL_LIST_INIT(shadoww_recipes, list ( \
+ new/datum/stack_recipe("Shadow wood floor tile", /obj/item/stack/tile/shadoww, 1, 4, 20), \
+ new/datum/stack_recipe("Shadow wood table frame", /obj/structure/table_frame/shadoww, 2, time = 10), \
+ null, \
+ ))
+
+/obj/item/stack/sheet/mineral/shadoww
+ name = "shadow wood"
+ desc = "An purplish wood, it has nothing of special besides its color."
+ singular_name = "shadow wood plank"
+ icon_state = "sheet-shadoww"
+ item_state = "sheet-shadoww"
+ icon = 'icons/obj/stack_objects.dmi'
+ sheettype = "shadoww"
+ armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 0)
+ resistance_flags = FLAMMABLE
+ merge_type = /obj/item/stack/sheet/mineral/shadoww
+ novariants = TRUE
+ grind_results = list(/datum/reagent/carbon = 20)
+
+/obj/item/stack/sheet/mineral/shadoww/Initialize(mapload, new_amount, merge = TRUE)
+ recipes = GLOB.shadoww_recipes
+ return ..()
+
+/obj/item/stack/sheet/mineral/shadoww/fifty
+ amount = 50
+
+/*
+ * Giant mushroom
+ */
+GLOBAL_LIST_INIT(gmushroom_recipes, list ( \
+ new/datum/stack_recipe("Mushroom floor tile", /obj/item/stack/tile/gmushroom, 1, 4, 20), \
+ new/datum/stack_recipe("Mushroom table frame", /obj/structure/table_frame/gmushroom, 2, time = 10), \
+ null, \
+ ))
+
+/obj/item/stack/sheet/mineral/gmushroom
+ name = "mushroom 'wood'"
+ desc = "A material similar to wood, except for being fireproof."
+ singular_name = "mushroom plank"
+ icon_state = "sheet-gmushroom"
+ item_state = "sheet-gmushroom"
+ icon = 'icons/obj/stack_objects.dmi'
+ sheettype = "gmushroom"
+ armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 0)
+ resistance_flags = FIRE_PROOF
+ merge_type = /obj/item/stack/sheet/mineral/gmushroom
+ novariants = TRUE
+ grind_results = list(/datum/reagent/carbon = 20)
+
+/obj/item/stack/sheet/mineral/gmushroom/Initialize(mapload, new_amount, merge = TRUE)
+ recipes = GLOB.gmushroom_recipes
+ return ..()
+
+/obj/item/stack/sheet/mineral/gmushroom/fifty
+ amount = 50
+
+/*
+ * Plaswood
+ */
+GLOBAL_LIST_INIT(plaswood_recipes, list ( \
+ new/datum/stack_recipe("Plaswood floor tile", /obj/item/stack/tile/plaswood, 1, 4, 20), \
+ new/datum/stack_recipe("Plaswood table frame", /obj/structure/table_frame/plaswood, 2, time = 10), \
+ null, \
+ ))
+
+/obj/item/stack/sheet/mineral/plaswood
+ name = "plaswood"
+ desc = "A type of resistant wood acquired from Plasma Trees. It amost looks like metal!"
+ singular_name = "plaswood plank"
+ icon_state = "sheet-plaswood"
+ item_state = "sheet-plaswood"
+ icon = 'icons/obj/stack_objects.dmi'
+ sheettype = "plaswood"
+ armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 80)
+ resistance_flags = FLAMMABLE | ACID_PROOF
+ throwforce = 10
+ merge_type = /obj/item/stack/sheet/mineral/plaswood
+ novariants = TRUE
+ grind_results = list(/datum/reagent/carbon = 20, /datum/reagent/toxin/plasma = 20)
+ point_value = 23
+
+/obj/item/stack/sheet/mineral/plaswood/Initialize(mapload, new_amount, merge = TRUE)
+ recipes = GLOB.plaswood_recipes
+ return ..()
+
+/obj/item/stack/sheet/mineral/plaswood/fifty
+ amount = 50
\ No newline at end of file
diff --git a/code/game/objects/items/stacks/tiles/tile_types.dm b/code/game/objects/items/stacks/tiles/tile_types.dm
index e1d06aa2..f035bff0 100644
--- a/code/game/objects/items/stacks/tiles/tile_types.dm
+++ b/code/game/objects/items/stacks/tiles/tile_types.dm
@@ -270,3 +270,30 @@
materials = list() // All other Borg versions of items have no Metal or Glass - RR
is_cyborg = 1
cost = 125
+
+//Mushroom
+/obj/item/stack/tile/gmushroom
+ name = "mushroom floor tile"
+ singular_name = "mushroom floor tile"
+ desc = "An easy to fit mushroom floor tile."
+ icon_state = "tile-gmushroom"
+ turf_type = /turf/open/floor/gmushroom
+ resistance_flags = FIRE_PROOF
+
+//Shadown Wood
+/obj/item/stack/tile/shadoww
+ name = "shadow wood floor tile"
+ singular_name = "shadow wood floor tile"
+ desc = "An easy to fit wood floor tile."
+ icon_state = "tile-shadoww"
+ turf_type = /turf/open/floor/shadoww
+ resistance_flags = FLAMMABLE
+
+//Plaswood
+/obj/item/stack/tile/plaswood
+ name = "plaswood floor tile"
+ singular_name = "plaswood floor tile"
+ desc = "An easy to fit wood floor tile."
+ icon_state = "tile-plaswood"
+ turf_type = /turf/open/floor/plaswood
+ resistance_flags = FLAMMABLE | ACID_PROOF
diff --git a/code/game/objects/structures/flora.dm b/code/game/objects/structures/flora.dm
index 0150fbf5..f2fdcf5c 100644
--- a/code/game/objects/structures/flora.dm
+++ b/code/game/objects/structures/flora.dm
@@ -435,3 +435,18 @@
/obj/structure/flora/rock/pile/largejungle/Initialize()
. = ..()
icon_state = "[initial(icon_state)][rand(1,3)]"
+
+
+//lavaland grass
+/obj/structure/flora/redgrass
+ name = "tall grass"
+ desc = "A patch of overgrown red grass."
+ icon = 'icons/obj/lavaland/redgrass.dmi'
+ gender = PLURAL //"this is grass" not "this is a grass"
+
+/obj/structure/flora/redgrass/redg
+ icon_state = "tallgrass1bb"
+
+/obj/structure/flora/redgrass/redg/Initialize()
+ icon_state = "tallgrass[rand(1, 4)]bb"
+ . = ..()
diff --git a/code/game/objects/structures/table_frames.dm b/code/game/objects/structures/table_frames.dm
index f62bed87..25e98d2b 100644
--- a/code/game/objects/structures/table_frames.dm
+++ b/code/game/objects/structures/table_frames.dm
@@ -2,6 +2,9 @@
* Contains:
* Frames
* Wooden Frames
+ * Shadow Wood Frames
+ * Plaswood Frames
+ * Mushroom Frames
*/
@@ -126,3 +129,90 @@
color = "#960000"
animate(src, color = previouscolor, time = 8)
addtimer(CALLBACK(src, /atom/proc/update_atom_colour), 8)
+
+/*
+ * Plaswood Frames
+ */
+
+/obj/structure/table_frame/plaswood
+ name = "Plaswood table frame"
+ desc = "Four wooden legs with four framing wooden rods for a wooden table. You could easily pass through this."
+ icon_state = "plaswood_frame"
+ framestack = /obj/item/stack/sheet/mineral/plaswood
+ framestackamount = 2
+ resistance_flags = FLAMMABLE | ACID_PROOF
+
+/obj/structure/table_frame/plaswood/attackby(obj/item/I, mob/user, params)
+ if (istype(I, /obj/item/stack))
+ var/obj/item/stack/material = I
+ var/toConstruct // stores the table variant
+ if(istype(I, /obj/item/stack/sheet/mineral/plaswood))
+ toConstruct = /obj/structure/table/plaswood
+
+ if (toConstruct)
+ if(material.get_amount() < 1)
+ to_chat(user, "You need one [material.name] sheet to do this!")
+ return
+ to_chat(user, "You start adding [material] to [src]...")
+ if(do_after(user, 20, target = src) && material.use(1))
+ make_new_table(toConstruct)
+ else
+ return ..()
+
+/*
+ * Mushroom Frames
+ */
+
+/obj/structure/table_frame/gmushroom
+ name = "mushroom table frame"
+ desc = "Four wooden legs with four framing wooden rods for a wooden table. You could easily pass through this."
+ icon_state = "gmushroom_frame"
+ framestack = /obj/item/stack/sheet/mineral/gmushroom
+ framestackamount = 2
+ resistance_flags = FIRE_PROOF
+
+/obj/structure/table_frame/gmushroom/attackby(obj/item/I, mob/user, params)
+ if (istype(I, /obj/item/stack))
+ var/obj/item/stack/material = I
+ var/toConstruct // stores the table variant
+ if(istype(I, /obj/item/stack/sheet/mineral/gmushroom))
+ toConstruct = /obj/structure/table/gmushroom
+
+ if (toConstruct)
+ if(material.get_amount() < 1)
+ to_chat(user, "You need one [material.name] sheet to do this!")
+ return
+ to_chat(user, "You start adding [material] to [src]...")
+ if(do_after(user, 20, target = src) && material.use(1))
+ make_new_table(toConstruct)
+ else
+ return ..()
+
+/*
+ * Shadow Wood Frames
+ */
+
+/obj/structure/table_frame/shadoww
+ name = "shadow wood frame"
+ desc = "Four wooden legs with four framing wooden rods for a wooden table. You could easily pass through this."
+ icon_state = "shadoww_frame"
+ framestack = /obj/item/stack/sheet/mineral/shadoww
+ framestackamount = 2
+ resistance_flags = FLAMMABLE
+
+/obj/structure/table_frame/shadoww/attackby(obj/item/I, mob/user, params)
+ if (istype(I, /obj/item/stack))
+ var/obj/item/stack/material = I
+ var/toConstruct // stores the table variant
+ if(istype(I, /obj/item/stack/sheet/mineral/shadoww))
+ toConstruct = /obj/structure/table/shadoww
+
+ if (toConstruct)
+ if(material.get_amount() < 1)
+ to_chat(user, "You need one [material.name] sheet to do this!")
+ return
+ to_chat(user, "You start adding [material] to [src]...")
+ if(do_after(user, 20, target = src) && material.use(1))
+ make_new_table(toConstruct)
+ else
+ 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 c2578322..03585d92 100644
--- a/code/game/objects/structures/tables_racks.dm
+++ b/code/game/objects/structures/tables_racks.dm
@@ -318,6 +318,56 @@
for(var/obj/item/shard/S in debris)
S.color = NARSIE_WINDOW_COLOUR
+/*
+ * Shadow wood tables
+ */
+
+/obj/structure/table/shadoww
+ name = "Shadow wood table"
+ desc = "Do not apply fire to this. Rumour says it burns easily."
+ icon = 'icons/obj/smooth_structures/shadoww_table.dmi'
+ icon_state = "wood_table"
+ frame = /obj/structure/table_frame/shadoww
+ framestack = /obj/item/stack/sheet/mineral/shadoww
+ buildstack = /obj/item/stack/sheet/mineral/shadoww
+ resistance_flags = FLAMMABLE
+ max_integrity = 70
+ canSmoothWith = null
+
+/*
+ * Plaswood tables
+ */
+
+/obj/structure/table/plaswood
+ name = "plaswood table"
+ desc = "An strong and grey wooden table."
+ icon = 'icons/obj/smooth_structures/plaswood_table.dmi'
+ icon_state = "wood_table"
+ frame = /obj/structure/table_frame/wood
+ framestack = /obj/item/stack/sheet/mineral/plaswood
+ buildstack = /obj/item/stack/sheet/mineral/plaswood
+ resistance_flags = FLAMMABLE
+ 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)
+ canSmoothWith = null
+
+/*
+ * Mushroom tables
+ */
+
+/obj/structure/table/gmushroom
+ name = "Mushroom table"
+ desc = "A pinkish table. And is fireproof!"
+ icon = 'icons/obj/smooth_structures/gmushroom_table.dmi'
+ icon_state = "gmushroom_table"
+ frame = /obj/structure/table_frame/gmushroom
+ framestack = /obj/item/stack/sheet/mineral/gmushroom
+ buildstack = /obj/item/stack/sheet/mineral/gmushroom
+ resistance_flags = FIRE_PROOF
+ max_integrity = 70
+ canSmoothWith = null
+
/*
* Wooden tables
*/
diff --git a/code/game/turfs/simulated/floor/fancy_floor.dm b/code/game/turfs/simulated/floor/fancy_floor.dm
index 6d2ed071..c734b89e 100644
--- a/code/game/turfs/simulated/floor/fancy_floor.dm
+++ b/code/game/turfs/simulated/floor/fancy_floor.dm
@@ -5,6 +5,9 @@
* Carpet floor
* Fake pits
* Fake space
+ * Plaswood floor
+ * Shadow wood floor
+ * Giant mushroom floor
*/
/turf/open/floor/wood
@@ -309,3 +312,166 @@
underlay_appearance.icon_state = SPACE_ICON_STATE
underlay_appearance.plane = PLANE_SPACE
return TRUE
+
+
+/turf/open/floor/shadoww
+ desc = "Stylish shadown wood."
+ icon_state = "shadoww"
+ floor_tile = /obj/item/stack/tile/shadoww
+ broken_states = list("shadoww-broken", "shadoww-broken2", "shadoww-broken3", "shadoww-broken4", "shadoww-broken5", "shadoww-broken6", "shadoww-broken7")
+ footstep = FOOTSTEP_WOOD
+ barefootstep = FOOTSTEP_WOOD_BAREFOOT
+ clawfootstep = FOOTSTEP_WOOD_CLAW
+ heavyfootstep = FOOTSTEP_GENERIC_HEAVY
+ tiled_dirt = FALSE
+
+/turf/open/floor/shadoww/examine(mob/user)
+ . = ..()
+ . += "There's a few screws and a small crack visible."
+
+/turf/open/floor/shadoww/screwdriver_act(mob/living/user, obj/item/I)
+ if(..())
+ return TRUE
+ return pry_tile(I, user)
+
+/turf/open/floor/shadoww/try_replace_tile(obj/item/stack/tile/T, mob/user, params)
+ if(T.turf_type == type)
+ return
+ var/obj/item/tool = user.is_holding_item_of_type(/obj/item/screwdriver)
+ if(!tool)
+ tool = user.is_holding_item_of_type(/obj/item/crowbar)
+ if(!tool)
+ return
+ var/turf/open/floor/plating/P = pry_tile(tool, user, TRUE)
+ if(!istype(P))
+ return
+ P.attackby(T, user, params)
+
+/turf/open/floor/shadoww/pry_tile(obj/item/C, mob/user, silent = FALSE)
+ C.play_tool_sound(src, 80)
+ return remove_tile(user, silent, (C.tool_behaviour == TOOL_SCREWDRIVER))
+
+/turf/open/floor/shadoww/remove_tile(mob/user, silent = FALSE, make_tile = TRUE, forced = FALSE)
+ if(broken || burnt)
+ broken = 0
+ burnt = 0
+ if(user && !silent)
+ to_chat(user, "You remove the broken planks.")
+ else
+ if(make_tile)
+ if(user && !silent)
+ to_chat(user, "You unscrew the planks.")
+ if(floor_tile)
+ new floor_tile(src)
+ else
+ if(user && !silent)
+ to_chat(user, "You forcefully pry off the planks, destroying them in the process.")
+ return make_plating()
+
+/turf/open/floor/gmushroom
+ desc = "Stylish mushroom 'wood'."
+ icon_state = "gmushroom"
+ floor_tile = /obj/item/stack/tile/gmushroom
+ broken_states = list("gmushroom-broken", "gmushroom-broken2", "gmushroom-broken3", "gmushroom-broken4", "gmushroom-broken5", "gmushroom-broken6", "gmushroom-broken7")
+ footstep = FOOTSTEP_WOOD
+ barefootstep = FOOTSTEP_WOOD_BAREFOOT
+ clawfootstep = FOOTSTEP_WOOD_CLAW
+ heavyfootstep = FOOTSTEP_GENERIC_HEAVY
+ tiled_dirt = FALSE
+
+/turf/open/floor/gmushroom/examine(mob/user)
+ . = ..()
+ . += "There's a few screws and a small crack visible."
+
+/turf/open/floor/gmushroom/screwdriver_act(mob/living/user, obj/item/I)
+ if(..())
+ return TRUE
+ return pry_tile(I, user)
+
+/turf/open/floor/gmushroom/try_replace_tile(obj/item/stack/tile/T, mob/user, params)
+ if(T.turf_type == type)
+ return
+ var/obj/item/tool = user.is_holding_item_of_type(/obj/item/screwdriver)
+ if(!tool)
+ tool = user.is_holding_item_of_type(/obj/item/crowbar)
+ if(!tool)
+ return
+ var/turf/open/floor/plating/P = pry_tile(tool, user, TRUE)
+ if(!istype(P))
+ return
+ P.attackby(T, user, params)
+
+/turf/open/floor/gmushroom/pry_tile(obj/item/C, mob/user, silent = FALSE)
+ C.play_tool_sound(src, 80)
+ return remove_tile(user, silent, (C.tool_behaviour == TOOL_SCREWDRIVER))
+
+/turf/open/floor/gmushroom/remove_tile(mob/user, silent = FALSE, make_tile = TRUE, forced = FALSE)
+ if(broken || burnt)
+ broken = 0
+ burnt = 0
+ if(user && !silent)
+ to_chat(user, "You remove the broken planks.")
+ else
+ if(make_tile)
+ if(user && !silent)
+ to_chat(user, "You unscrew the planks.")
+ if(floor_tile)
+ new floor_tile(src)
+ else
+ if(user && !silent)
+ to_chat(user, "You forcefully pry off the planks, destroying them in the process.")
+ return make_plating()
+
+/turf/open/floor/plaswood
+ desc = "Stylish plaswood."
+ icon_state = "plaswood"
+ floor_tile = /obj/item/stack/tile/plaswood
+ broken_states = list("plaswood-broken", "plaswood-broken2", "plaswood-broken3", "plaswood-broken4", "plaswood-broken5", "plaswood-broken6", "plaswood-broken7")
+ footstep = FOOTSTEP_WOOD
+ barefootstep = FOOTSTEP_WOOD_BAREFOOT
+ clawfootstep = FOOTSTEP_WOOD_CLAW
+ heavyfootstep = FOOTSTEP_GENERIC_HEAVY
+ tiled_dirt = FALSE
+
+/turf/open/floor/plaswood/examine(mob/user)
+ . = ..()
+ . += "There's a few screws and a small crack visible."
+
+/turf/open/floor/plaswood/screwdriver_act(mob/living/user, obj/item/I)
+ if(..())
+ return TRUE
+ return pry_tile(I, user)
+
+/turf/open/floor/plaswood/try_replace_tile(obj/item/stack/tile/T, mob/user, params)
+ if(T.turf_type == type)
+ return
+ var/obj/item/tool = user.is_holding_item_of_type(/obj/item/screwdriver)
+ if(!tool)
+ tool = user.is_holding_item_of_type(/obj/item/crowbar)
+ if(!tool)
+ return
+ var/turf/open/floor/plating/P = pry_tile(tool, user, TRUE)
+ if(!istype(P))
+ return
+ P.attackby(T, user, params)
+
+/turf/open/floor/plaswood/pry_tile(obj/item/C, mob/user, silent = FALSE)
+ C.play_tool_sound(src, 80)
+ return remove_tile(user, silent, (C.tool_behaviour == TOOL_SCREWDRIVER))
+
+/turf/open/floor/plaswood/remove_tile(mob/user, silent = FALSE, make_tile = TRUE, forced = FALSE)
+ if(broken || burnt)
+ broken = 0
+ burnt = 0
+ if(user && !silent)
+ to_chat(user, "You remove the broken planks.")
+ else
+ if(make_tile)
+ if(user && !silent)
+ to_chat(user, "You unscrew the planks.")
+ if(floor_tile)
+ new floor_tile(src)
+ else
+ if(user && !silent)
+ to_chat(user, "You forcefully pry off the planks, destroying them in the process.")
+ return make_plating()
diff --git a/code/game/turfs/simulated/floor/plating/asteroid.dm b/code/game/turfs/simulated/floor/plating/asteroid.dm
index b0753751..bbb1afcd 100644
--- a/code/game/turfs/simulated/floor/plating/asteroid.dm
+++ b/code/game/turfs/simulated/floor/plating/asteroid.dm
@@ -169,7 +169,7 @@
if (!megafauna_spawn_list)
megafauna_spawn_list = list(/mob/living/simple_animal/hostile/megafauna/dragon = 4, /mob/living/simple_animal/hostile/megafauna/colossus = 2, /mob/living/simple_animal/hostile/megafauna/bubblegum = SPAWN_BUBBLEGUM)
if (!flora_spawn_list)
- flora_spawn_list = list(/obj/structure/flora/ash/leaf_shroom = 2 , /obj/structure/flora/ash/cap_shroom = 2 , /obj/structure/flora/ash/stem_shroom = 2 , /obj/structure/flora/ash/cacti = 1, /obj/structure/flora/ash/tall_shroom = 2)
+ flora_spawn_list = list(/obj/structure/flora/ash/leaf_shroom = 2 , /obj/structure/flora/ash/cap_shroom = 2 , /obj/structure/flora/ash/stem_shroom = 2 , /obj/structure/flora/ash/cacti = 1, /obj/structure/flora/ash/tall_shroom = 2, /obj/structure/flora/redgrass/redg = 1)
. = ..()
@@ -283,7 +283,7 @@
return //if the random is a standard mob, avoid spawning if there's another one within 12 tiles
if((ispath(randumb, /obj/structure/spawner/lavaland) || istype(H, /obj/structure/spawner/lavaland)) && get_dist(src, H) <= 2)
return //prevents tendrils spawning in each other's collapse range
-
+
for (var/area/L in range(8, T))
if (istype(L, /area/lavaland/surface/outdoors/) && !istype(L, /area/lavaland/surface/outdoors/unexplored)\
&& istype(L, /area/ruin) && istype(randumb, /mob/living/simple_animal/hostile/megafauna))
diff --git a/icons/mob/inhands/misc/tiles_lefthand.dmi b/icons/mob/inhands/misc/tiles_lefthand.dmi
index d7903fcd..0b977093 100644
Binary files a/icons/mob/inhands/misc/tiles_lefthand.dmi and b/icons/mob/inhands/misc/tiles_lefthand.dmi differ
diff --git a/icons/mob/inhands/misc/tiles_righthand.dmi b/icons/mob/inhands/misc/tiles_righthand.dmi
index 9295ac73..2adb6cef 100644
Binary files a/icons/mob/inhands/misc/tiles_righthand.dmi and b/icons/mob/inhands/misc/tiles_righthand.dmi differ
diff --git a/icons/obj/lavaland/redgrass.dmi b/icons/obj/lavaland/redgrass.dmi
new file mode 100644
index 00000000..ee73118f
Binary files /dev/null and b/icons/obj/lavaland/redgrass.dmi differ
diff --git a/icons/obj/smooth_structures/gmushroom_table.dmi b/icons/obj/smooth_structures/gmushroom_table.dmi
new file mode 100644
index 00000000..42feccf2
Binary files /dev/null and b/icons/obj/smooth_structures/gmushroom_table.dmi differ
diff --git a/icons/obj/smooth_structures/plaswood_table.dmi b/icons/obj/smooth_structures/plaswood_table.dmi
new file mode 100644
index 00000000..4710cea4
Binary files /dev/null and b/icons/obj/smooth_structures/plaswood_table.dmi differ
diff --git a/icons/obj/smooth_structures/shadoww_table.dmi b/icons/obj/smooth_structures/shadoww_table.dmi
new file mode 100644
index 00000000..2d62fe8f
Binary files /dev/null and b/icons/obj/smooth_structures/shadoww_table.dmi differ
diff --git a/icons/obj/stack_objects.dmi b/icons/obj/stack_objects.dmi
index e0de2142..76583326 100644
Binary files a/icons/obj/stack_objects.dmi and b/icons/obj/stack_objects.dmi differ
diff --git a/icons/obj/structures.dmi b/icons/obj/structures.dmi
index 8650e7be..2a0f066e 100644
Binary files a/icons/obj/structures.dmi and b/icons/obj/structures.dmi differ
diff --git a/icons/obj/tiles.dmi b/icons/obj/tiles.dmi
index 0f48bb14..d42dbbfd 100644
Binary files a/icons/obj/tiles.dmi and b/icons/obj/tiles.dmi differ
diff --git a/icons/turf/floors.dmi b/icons/turf/floors.dmi
index bcdfa026..08cb371c 100644
Binary files a/icons/turf/floors.dmi and b/icons/turf/floors.dmi differ