Woodstravaganza (#18814)

* woodstravaganza

* floor color handling

* woodstravaganza

* woodstravaganza: sivian edition

* woodstravaganza: vertical tiles

---------

Co-authored-by: Cameron Lennox <killer65311@gmail.com>
This commit is contained in:
Killian
2025-11-27 21:17:10 -05:00
committed by GitHub
co-authored by Cameron Lennox
parent 68dfc60980
commit d871b645fa
20 changed files with 1373 additions and 80 deletions
+40 -1
View File
@@ -104,6 +104,26 @@
name = "stack of hardwood"
type_to_spawn = /obj/item/stack/material/wood/hard
/obj/fiftyspawner/birchwood
name = "stack of birchwood"
type_to_spawn = /obj/item/stack/material/wood/birch
/obj/fiftyspawner/pinewood
name = "stack of pinewood"
type_to_spawn = /obj/item/stack/material/wood/pine
/obj/fiftyspawner/oakwood
name = "stack of oakwood"
type_to_spawn = /obj/item/stack/material/wood/oak
/obj/fiftyspawner/acaciawood
name = "stack of acaciawood"
type_to_spawn = /obj/item/stack/material/wood/acacia
/obj/fiftyspawner/redwood
name = "stack of redwood"
type_to_spawn = /obj/item/stack/material/wood/redwood
/obj/fiftyspawner/log
name = "stack of logs"
type_to_spawn = /obj/item/stack/material/log
@@ -152,7 +172,26 @@
name = "stack of stable glamour"
type_to_spawn = /obj/item/stack/material/glamour
//R-UST port
/obj/fiftyspawner/deuterium
name = "stack of deuterium"
type_to_spawn = /obj/item/stack/material/deuterium
/obj/fiftyspawner/titanium
name = "stack of titanium"
type_to_spawn = /obj/item/stack/material/titanium
/obj/fiftyspawner/titanium_glass
name = "stack of ti-glass"
type_to_spawn = /obj/item/stack/material/glass/titanium
/obj/fiftyspawner/plastitanium
name = "stack of plastitanium"
type_to_spawn = /obj/item/stack/material/plastitanium
/obj/fiftyspawner/plastitanium_hull
name = "stack of plastitanium"
type_to_spawn = /obj/item/stack/material/plastitanium/hull
/obj/fiftyspawner/plastitanium_glass
name = "stack of plastitanium glass"
type_to_spawn = /obj/item/stack/material/glass/plastitanium
@@ -1,19 +0,0 @@
/obj/fiftyspawner/titanium
name = "stack of titanium"
type_to_spawn = /obj/item/stack/material/titanium
/obj/fiftyspawner/titanium_glass
name = "stack of ti-glass"
type_to_spawn = /obj/item/stack/material/glass/titanium
/obj/fiftyspawner/plastitanium
name = "stack of plastitanium"
type_to_spawn = /obj/item/stack/material/plastitanium
/obj/fiftyspawner/plastitanium_hull
name = "stack of plastitanium"
type_to_spawn = /obj/item/stack/material/plastitanium/hull
/obj/fiftyspawner/plastitanium_glass
name = "stack of plastitanium glass"
type_to_spawn = /obj/item/stack/material/glass/plastitanium
@@ -30,7 +30,12 @@
new /datum/stack_recipe("wooden sandals", /obj/item/clothing/shoes/sandal, 1, pass_stack_color = TRUE, recycle_material = "[name]"),
new /datum/stack_recipe("wood circlet", /obj/item/clothing/head/woodcirclet, 1, pass_stack_color = TRUE, recycle_material = "[name]"),
new /datum/stack_recipe("clipboard", /obj/item/clipboard, 1, pass_stack_color = TRUE, recycle_material = "[name]"),
new /datum/stack_recipe("wood floor tile", /obj/item/stack/tile/wood, 1, 4, 20, pass_stack_color = TRUE, recycle_material = "[name]"),
new /datum/stack_recipe("wood floor tile", /obj/item/stack/tile/wood, 1, 4, 20, pass_stack_color = FALSE, recycle_material = "[name]"),
new /datum/stack_recipe("large wood floor tile", /obj/item/stack/tile/wood/panel, 1, 4, 20, pass_stack_color = FALSE, recycle_material = "[name]"),
new /datum/stack_recipe("parquet wood floor tile", /obj/item/stack/tile/wood/parquet, 1, 4, 20, pass_stack_color = FALSE, recycle_material = "[name]"),
new /datum/stack_recipe("tiled wood floor tile", /obj/item/stack/tile/wood/tile, 1, 4, 20, pass_stack_color = FALSE, recycle_material = "[name]"),
new /datum/stack_recipe("vertical wood floor tile", /obj/item/stack/tile/wood/vert, 1, 4, 20, pass_stack_color = FALSE, recycle_material = "[name]"),
new /datum/stack_recipe("vertical large wood floor tile", /obj/item/stack/tile/wood/vert_panel, 1, 4, 20, pass_stack_color = FALSE, recycle_material = "[name]"),
new /datum/stack_recipe("wooden chair", /obj/structure/bed/chair/wood, 3, time = 10, one_per_turf = 1, on_floor = 1, pass_stack_color = TRUE, recycle_material = "[name]"),
new /datum/stack_recipe("crossbow frame", /obj/item/crossbowframe, 5, time = 25, one_per_turf = 0, on_floor = 0, pass_stack_color = TRUE, recycle_material = "[name]"),
new /datum/stack_recipe("coffin", /obj/structure/closet/coffin, 5, time = 15, one_per_turf = 1, on_floor = 1, pass_stack_color = TRUE, recycle_material = "[name]"),
@@ -58,11 +63,31 @@
/datum/material/wood/sif/generate_recipes()
..()
recipes += new /datum/stack_recipe("alien wood floor tile", /obj/item/stack/tile/wood/sif, 1, 4, 20, pass_stack_color = TRUE)
recipes += new /datum/stack_recipe("alien wood floor tile", /obj/item/stack/tile/wood/sif, 1, 4, 20, pass_stack_color = FALSE)
recipes += new /datum/stack_recipe("large alien wood floor tile", /obj/item/stack/tile/wood/sif/panel, 1, 4, 20, pass_stack_color = FALSE)
recipes += new /datum/stack_recipe("alien wood parquet tile", /obj/item/stack/tile/wood/sif/parquet, 1, 4, 20, pass_stack_color = FALSE)
recipes += new /datum/stack_recipe("tiled alien wood floor tile", /obj/item/stack/tile/wood/sif/tile, 1, 4, 20, pass_stack_color = FALSE)
recipes += new /datum/stack_recipe("vertical alien wood floor tile", /obj/item/stack/tile/wood/sif/vert, 1, 4, 20, pass_stack_color = FALSE)
recipes += new /datum/stack_recipe("vertical large alien wood floor tile", /obj/item/stack/tile/wood/sif/vert_panel, 1, 4, 20, pass_stack_color = FALSE)
for(var/datum/stack_recipe/r_recipe in recipes)
if(r_recipe.title == "wood floor tile")
recipes -= r_recipe
continue
if(r_recipe.title == "large wood floor tile")
recipes -= r_recipe
continue
if(r_recipe.title == "parquet wood floor tile")
recipes -= r_recipe
continue
if(r_recipe.title == "tiled wood floor tile")
recipes -= r_recipe
continue
if(r_recipe.title == "vertical wood floor tile")
recipes -= r_recipe
continue
if(r_recipe.title == "vertical large wood floor tile")
recipes -= r_recipe
continue
if(r_recipe.title == "wooden chair")
recipes -= r_recipe
continue
@@ -80,11 +105,31 @@
/datum/material/wood/hardwood/generate_recipes()
..()
recipes += new /datum/stack_recipe("parquet wood floor tile", /obj/item/stack/tile/wood/parquet, 1, 4, 20, pass_stack_color = FALSE)
recipes += new /datum/stack_recipe("hardwood floor tile", /obj/item/stack/tile/wood/hardwood, 1, 4, 20, pass_stack_color = FALSE, recycle_material = "[name]")
recipes += new /datum/stack_recipe("large hardwood floor tile", /obj/item/stack/tile/wood/hardwood/panel, 1, 4, 20, pass_stack_color = FALSE, recycle_material = "[name]")
recipes += new /datum/stack_recipe("parquet hardwood floor tile", /obj/item/stack/tile/wood/hardwood/parquet, 1, 4, 20, pass_stack_color = FALSE, recycle_material = "[name]")
recipes += new /datum/stack_recipe("tiled hardwood floor tile", /obj/item/stack/tile/wood/hardwood/tile, 1, 4, 20, pass_stack_color = FALSE, recycle_material = "[name]")
recipes += new /datum/stack_recipe("vertical hardwood floor tile", /obj/item/stack/tile/wood/hardwood/vert, 1, 4, 20, pass_stack_color = FALSE)
recipes += new /datum/stack_recipe("vertical large hardwood floor tile", /obj/item/stack/tile/wood/hardwood/vert_panel, 1, 4, 20, pass_stack_color = FALSE)
for(var/datum/stack_recipe/r_recipe in recipes)
if(r_recipe.title == "wood floor tile")
recipes -= r_recipe
continue
if(r_recipe.title == "large wood floor tile")
recipes -= r_recipe
continue
if(r_recipe.title == "parquet wood floor tile")
recipes -= r_recipe
continue
if(r_recipe.title == "tiled wood floor tile")
recipes -= r_recipe
continue
if(r_recipe.title == "vertical wood floor tile")
recipes -= r_recipe
continue
if(r_recipe.title == "vertical large wood floor tile")
recipes -= r_recipe
continue
if(r_recipe.title == "wooden chair")
recipes -= r_recipe
continue
@@ -121,7 +166,6 @@
icon_colour = "#6f432a"
stack_type = /obj/item/stack/material/log/hard
//VOREStation Addition Start
/datum/material/wood/stick
name = "wooden stick"
icon_colour = "#824B28"
@@ -136,4 +180,224 @@
/datum/material/wood/stick/generate_recipes()
return
//VOREStation Addition End
/datum/material/wood/birch
name = MAT_BIRCHWOOD
stack_type = /obj/item/stack/material/wood/birch
icon_colour = "#f6dec0"
icon_base = "wood"
icon_reinf = "reinf_stone"
integrity = 65
hardness = 20
weight = 20
/datum/material/wood/birch/generate_recipes()
..()
recipes += new /datum/stack_recipe("birch floor tile", /obj/item/stack/tile/wood/birch, 1, 4, 20, pass_stack_color = FALSE, recycle_material = "[name]")
recipes += new /datum/stack_recipe("large birch floor tile", /obj/item/stack/tile/wood/birch/panel, 1, 4, 20, pass_stack_color = FALSE, recycle_material = "[name]")
recipes += new /datum/stack_recipe("parquet birch floor tile", /obj/item/stack/tile/wood/birch/parquet, 1, 4, 20, pass_stack_color = FALSE, recycle_material = "[name]")
recipes += new /datum/stack_recipe("tiled birch floor tile", /obj/item/stack/tile/wood/birch/tile, 1, 4, 20, pass_stack_color = FALSE, recycle_material = "[name]")
recipes += new /datum/stack_recipe("vertical birch floor tile", /obj/item/stack/tile/wood/birch/vert, 1, 4, 20, pass_stack_color = FALSE)
recipes += new /datum/stack_recipe("vertical large birch floor tile", /obj/item/stack/tile/wood/birch/vert_panel, 1, 4, 20, pass_stack_color = FALSE)
for(var/datum/stack_recipe/r_recipe in recipes)
if(r_recipe.title == "wood floor tile")
recipes -= r_recipe
continue
if(r_recipe.title == "large wood floor tile")
recipes -= r_recipe
continue
if(r_recipe.title == "parquet wood floor tile")
recipes -= r_recipe
continue
if(r_recipe.title == "tiled wood floor tile")
recipes -= r_recipe
continue
if(r_recipe.title == "vertical wood floor tile")
recipes -= r_recipe
continue
if(r_recipe.title == "vertical large wood floor tile")
recipes -= r_recipe
continue
if(r_recipe.title == "wooden chair")
recipes -= r_recipe
continue
if(r_recipe.title == "wooden standup figure")
recipes -= r_recipe
continue
/datum/material/wood/pine
name = MAT_PINEWOOD
stack_type = /obj/item/stack/material/wood/pine
icon_colour = "#cd9d6f"
icon_base = "wood"
icon_reinf = "reinf_stone"
integrity = 65
hardness = 20
weight = 20
/datum/material/wood/pine/generate_recipes()
..()
recipes += new /datum/stack_recipe("pine floor tile", /obj/item/stack/tile/wood/pine, 1, 4, 20, pass_stack_color = FALSE, recycle_material = "[name]")
recipes += new /datum/stack_recipe("large pine floor tile", /obj/item/stack/tile/wood/pine/panel, 1, 4, 20, pass_stack_color = FALSE, recycle_material = "[name]")
recipes += new /datum/stack_recipe("parquet pine floor tile", /obj/item/stack/tile/wood/pine/parquet, 1, 4, 20, pass_stack_color = FALSE, recycle_material = "[name]")
recipes += new /datum/stack_recipe("tiled pine floor tile", /obj/item/stack/tile/wood/pine/tile, 1, 4, 20, pass_stack_color = FALSE, recycle_material = "[name]")
recipes += new /datum/stack_recipe("vertical pine floor tile", /obj/item/stack/tile/wood/pine/vert, 1, 4, 20, pass_stack_color = FALSE)
recipes += new /datum/stack_recipe("vertical large pine floor tile", /obj/item/stack/tile/wood/pine/vert_panel, 1, 4, 20, pass_stack_color = FALSE)
for(var/datum/stack_recipe/r_recipe in recipes)
if(r_recipe.title == "wood floor tile")
recipes -= r_recipe
continue
if(r_recipe.title == "large wood floor tile")
recipes -= r_recipe
continue
if(r_recipe.title == "parquet wood floor tile")
recipes -= r_recipe
continue
if(r_recipe.title == "tiled wood floor tile")
recipes -= r_recipe
continue
if(r_recipe.title == "vertical wood floor tile")
recipes -= r_recipe
continue
if(r_recipe.title == "vertical large wood floor tile")
recipes -= r_recipe
continue
if(r_recipe.title == "wooden chair")
recipes -= r_recipe
continue
if(r_recipe.title == "wooden standup figure")
recipes -= r_recipe
continue
/datum/material/wood/oak
name = MAT_OAKWOOD
stack_type = /obj/item/stack/material/wood/oak
icon_colour = "#674928"
icon_base = "wood"
icon_reinf = "reinf_stone"
integrity = 65
hardness = 20
weight = 20
/datum/material/wood/oak/generate_recipes()
..()
recipes += new /datum/stack_recipe("oak floor tile", /obj/item/stack/tile/wood/oak, 1, 4, 20, pass_stack_color = FALSE, recycle_material = "[name]")
recipes += new /datum/stack_recipe("large oak floor tile", /obj/item/stack/tile/wood/oak/panel, 1, 4, 20, pass_stack_color = FALSE, recycle_material = "[name]")
recipes += new /datum/stack_recipe("parquet oak floor tile", /obj/item/stack/tile/wood/oak/parquet, 1, 4, 20, pass_stack_color = FALSE, recycle_material = "[name]")
recipes += new /datum/stack_recipe("tiled oak floor tile", /obj/item/stack/tile/wood/oak/tile, 1, 4, 20, pass_stack_color = FALSE, recycle_material = "[name]")
recipes += new /datum/stack_recipe("vertical oak floor tile", /obj/item/stack/tile/wood/oak/vert, 1, 4, 20, pass_stack_color = FALSE)
recipes += new /datum/stack_recipe("vertical large oak floor tile", /obj/item/stack/tile/wood/oak/vert_panel, 1, 4, 20, pass_stack_color = FALSE)
for(var/datum/stack_recipe/r_recipe in recipes)
if(r_recipe.title == "wood floor tile")
recipes -= r_recipe
continue
if(r_recipe.title == "large wood floor tile")
recipes -= r_recipe
continue
if(r_recipe.title == "parquet wood floor tile")
recipes -= r_recipe
continue
if(r_recipe.title == "tiled wood floor tile")
recipes -= r_recipe
continue
if(r_recipe.title == "vertical wood floor tile")
recipes -= r_recipe
continue
if(r_recipe.title == "vertical large wood floor tile")
recipes -= r_recipe
continue
if(r_recipe.title == "wooden chair")
recipes -= r_recipe
continue
if(r_recipe.title == "wooden standup figure")
recipes -= r_recipe
continue
/datum/material/wood/acacia
name = MAT_ACACIAWOOD
stack_type = /obj/item/stack/material/wood/acacia
icon_colour = "#b75e12"
icon_base = "wood"
icon_reinf = "reinf_stone"
integrity = 65
hardness = 20
weight = 20
/datum/material/wood/acacia/generate_recipes()
..()
recipes += new /datum/stack_recipe("acacia floor tile", /obj/item/stack/tile/wood/acacia, 1, 4, 20, pass_stack_color = FALSE, recycle_material = "[name]")
recipes += new /datum/stack_recipe("large acacia floor tile", /obj/item/stack/tile/wood/acacia/panel, 1, 4, 20, pass_stack_color = FALSE, recycle_material = "[name]")
recipes += new /datum/stack_recipe("parquet acacia floor tile", /obj/item/stack/tile/wood/acacia/parquet, 1, 4, 20, pass_stack_color = FALSE, recycle_material = "[name]")
recipes += new /datum/stack_recipe("tiled acacia floor tile", /obj/item/stack/tile/wood/acacia/tile, 1, 4, 20, pass_stack_color = FALSE, recycle_material = "[name]")
recipes += new /datum/stack_recipe("vertical acacia floor tile", /obj/item/stack/tile/wood/acacia/vert, 1, 4, 20, pass_stack_color = FALSE)
recipes += new /datum/stack_recipe("vertical large acacia floor tile", /obj/item/stack/tile/wood/acacia/vert_panel, 1, 4, 20, pass_stack_color = FALSE)
for(var/datum/stack_recipe/r_recipe in recipes)
if(r_recipe.title == "wood floor tile")
recipes -= r_recipe
continue
if(r_recipe.title == "large wood floor tile")
recipes -= r_recipe
continue
if(r_recipe.title == "parquet wood floor tile")
recipes -= r_recipe
continue
if(r_recipe.title == "tiled wood floor tile")
recipes -= r_recipe
continue
if(r_recipe.title == "vertical wood floor tile")
recipes -= r_recipe
continue
if(r_recipe.title == "vertical large wood floor tile")
recipes -= r_recipe
continue
if(r_recipe.title == "wooden chair")
recipes -= r_recipe
continue
if(r_recipe.title == "wooden standup figure")
recipes -= r_recipe
continue
/datum/material/wood/redwood
name = MAT_REDWOOD
stack_type = /obj/item/stack/material/wood/redwood
icon_colour = "#a45a52"
icon_base = "wood"
table_icon_base = "stone"
icon_reinf = "reinf_stone"
integrity = 65
hardness = 20
weight = 20
/datum/material/wood/redwood/generate_recipes()
..()
recipes += new /datum/stack_recipe("redwood floor tile", /obj/item/stack/tile/wood/redwood, 1, 4, 20, pass_stack_color = FALSE, recycle_material = "[name]")
recipes += new /datum/stack_recipe("large redwood floor tile", /obj/item/stack/tile/wood/redwood/panel, 1, 4, 20, pass_stack_color = FALSE, recycle_material = "[name]")
recipes += new /datum/stack_recipe("parquet redwood floor tile", /obj/item/stack/tile/wood/redwood/parquet, 1, 4, 20, pass_stack_color = FALSE, recycle_material = "[name]")
recipes += new /datum/stack_recipe("tiled redwood floor tile", /obj/item/stack/tile/wood/redwood/tile, 1, 4, 20, pass_stack_color = FALSE, recycle_material = "[name]")
recipes += new /datum/stack_recipe("vertical redwood floor tile", /obj/item/stack/tile/wood/redwood/vert, 1, 4, 20, pass_stack_color = FALSE)
recipes += new /datum/stack_recipe("vertical large redwood floor tile", /obj/item/stack/tile/wood/redwood/vert_panel, 1, 4, 20, pass_stack_color = FALSE)
for(var/datum/stack_recipe/r_recipe in recipes)
if(r_recipe.title == "wood floor tile")
recipes -= r_recipe
continue
if(r_recipe.title == "large wood floor tile")
recipes -= r_recipe
continue
if(r_recipe.title == "parquet wood floor tile")
recipes -= r_recipe
continue
if(r_recipe.title == "tiled wood floor tile")
recipes -= r_recipe
continue
if(r_recipe.title == "vertical wood floor tile")
recipes -= r_recipe
continue
if(r_recipe.title == "vertical large wood floor tile")
recipes -= r_recipe
continue
if(r_recipe.title == "wooden chair")
recipes -= r_recipe
continue
if(r_recipe.title == "wooden standup figure")
recipes -= r_recipe
continue
+33 -3
View File
@@ -1,5 +1,5 @@
/obj/item/stack/material/wood
name = "wooden plank"
name = MAT_WOOD + " plank"
icon_state = "sheet-wood"
default_type = MAT_WOOD
strict_color_stacking = TRUE
@@ -9,16 +9,46 @@
no_variants = FALSE
/obj/item/stack/material/wood/sif
name = "alien wooden plank"
name = MAT_SIFWOOD + " plank"
color = "#0099cc"
default_type = MAT_SIFWOOD
/obj/item/stack/material/wood/hard
name = "hardwood plank"
name = MAT_HARDWOOD + " plank"
color = "#42291a"
default_type = MAT_HARDWOOD
description_info = "Rich, lustrous hardwood, imported from offworld at moderate expense. Mostly used for luxurious furniture, and not very good for weapons or other structures."
/obj/item/stack/material/wood/birch
name = MAT_BIRCHWOOD + " plank"
color = "#f6dec0"
default_type = MAT_BIRCHWOOD
description_info = "Sturdy hardwood, birch makes for beautiful furniture but also has many secondary applications. It's also an exceptionally good choice for firewood."
/obj/item/stack/material/wood/pine
name = MAT_PINEWOOD + " plank"
color = "#cd9d6f"
default_type = MAT_PINEWOOD
description_info = "Planks from tall, fast-growing coniferous pine trees, dense and mostly used for construction or furnishings."
/obj/item/stack/material/wood/oak
name = MAT_OAKWOOD + " plank"
color = "#674928"
default_type = MAT_OAKWOOD
description_info = "A sturdy, fairly common hardwood. A good choice for furnishings and structures. Oak barrels can be used to age alcohol, whilst oakwood chips are often used for smoking meats and cheeses."
/obj/item/stack/material/wood/acacia
name = MAT_ACACIAWOOD + " plank"
color = "#b75e12"
default_type = MAT_ACACIAWOOD
description_info = "Vibrant reddish-orange acacia makes a striking statement wherever it's used, and the bark of some acacia species is useful for tanning leather."
/obj/item/stack/material/wood/redwood
name = MAT_REDWOOD + " plank"
color = "#a45a52"
default_type = MAT_REDWOOD
description_info = "Blazing orange-red redwood planks. The trees used to make this can grow for centuries, and are often protected. This wood has been sustainably harvested from special tree nurseries, rather than chopping down ancient giants."
/obj/item/stack/material/log
name = MAT_LOG
icon_state = "sheet-log"