Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

More wooden floors #1074

Merged
merged 6 commits into from
Feb 1, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions code/datums/elements/decals/_decal.dm
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,11 @@
/datum/element/decal/proc/apply_overlay(atom/source, list/overlay_list)
SIGNAL_HANDLER

// BANDASTATION ADDITION - GRAYSCALE WOODEN FLOORS - START
var/atom/atom_source = source
if(istype(atom_source, /turf/open/floor/wood))
pic.appearance_flags = RESET_COLOR | KEEP_APART
// BANDASTATION ADDITION - GRAYSCALE WOODEN FLOORS - END
overlay_list += pic

/datum/element/decal/proc/clean_react(datum/source, clean_types)
Expand Down
2 changes: 1 addition & 1 deletion modular_bandastation/aesthetics/_aesthetics.dm
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/datum/modpack/aesthetics
name = "Эстетика"
desc = "Обновление визуального ряда"
author = "larentoun, Aylong220"
author = "larentoun, Aylong"
55 changes: 54 additions & 1 deletion modular_bandastation/objects/_objects.dm
Original file line number Diff line number Diff line change
@@ -1,10 +1,16 @@
/datum/modpack/objects
name = "Объекты"
desc = "В основном включает в себя портированные объекты и всякие мелочи, которым не нужен отдельный модпак."
author = "dj-34, Chorden"
author = "dj-34, Chorden, Aylong"

/datum/modpack/objects/initialize()
. = ..()
for(var/datum/stack_recipe/recipe in GLOB.wood_recipes)
if(recipe.result_type == /obj/item/stack/tile/wood)
GLOB.wood_recipes -= recipe
qdel(recipe)
break

GLOB.autodrobe_fancy_items += list(
/obj/item/clothing/under/carnival/formal = 2,
/obj/item/clothing/under/carnival/jacket = 2,
Expand All @@ -15,16 +21,63 @@
/obj/item/clothing/mask/carnival/triangles = 2,
/obj/item/clothing/mask/carnival/colored = 2,
)

GLOB.autodrobe_other_items += list(
/obj/item/clothing/suit/ny_sweater = 5,
/obj/item/clothing/suit/garland = 5,
/obj/item/clothing/neck/cloak/ny_cloak = 5,
/obj/item/clothing/neck/garland = 5,
)

GLOB.all_autodrobe_items |= (
GLOB.autodrobe_fancy_items \
+ GLOB.autodrobe_other_items
)

GLOB.wood_recipes += list(
null,
new /datum/stack_recipe_list("Деревянный пол", list(
new /datum/stack_recipe("Обычный", /obj/item/stack/tile/wood, 1, 4, 20),
new /datum/stack_recipe("Дубовый", /obj/item/stack/tile/wood/oak, 1, 4, 20),
new /datum/stack_recipe("Берёзовый", /obj/item/stack/tile/wood/birch, 1, 4, 20),
new /datum/stack_recipe("Вишнёвый", /obj/item/stack/tile/wood/cherry, 1, 4, 20),
new /datum/stack_recipe("Амарантовый", /obj/item/stack/tile/wood/amaranth, 1, 4, 20),
new /datum/stack_recipe("Эбонитовый", /obj/item/stack/tile/wood/ebonite, 5, 4, 20),
new /datum/stack_recipe("Умниниевый", /obj/item/stack/tile/wood/pink_ivory, 5, 4, 20),
new /datum/stack_recipe("Бакаутовый", /obj/item/stack/tile/wood/guaiacum, 5, 4, 20),
)),
new /datum/stack_recipe_list("Деревянный пол (Цельный)", list(
new /datum/stack_recipe("Обычный", /obj/item/stack/tile/wood/large, 1, 4, 20),
new /datum/stack_recipe("Дубовый", /obj/item/stack/tile/wood/large/oak, 1, 4, 20),
new /datum/stack_recipe("Берёзовый", /obj/item/stack/tile/wood/large/birch, 1, 4, 20),
new /datum/stack_recipe("Вишнёвый", /obj/item/stack/tile/wood/large/cherry, 1, 4, 20),
new /datum/stack_recipe("Амарантовый ", /obj/item/stack/tile/wood/large/amaranth, 1, 4, 20),
new /datum/stack_recipe("Эбонитовый ", /obj/item/stack/tile/wood/large/ebonite, 5, 4, 20),
new /datum/stack_recipe("Умниниевый ", /obj/item/stack/tile/wood/large/pink_ivory, 5, 4, 20),
new /datum/stack_recipe("Бакаутовый ", /obj/item/stack/tile/wood/large/guaiacum, 5, 4, 20),
)),
new /datum/stack_recipe_list("Паркет", list(
new /datum/stack_recipe("Обычный", /obj/item/stack/tile/wood/parquet, 1, 4, 20),
new /datum/stack_recipe("Дубовый", /obj/item/stack/tile/wood/parquet/oak, 1, 4, 20),
new /datum/stack_recipe("Берёзовый", /obj/item/stack/tile/wood/parquet/birch, 1, 4, 20),
new /datum/stack_recipe("Вишнёвый", /obj/item/stack/tile/wood/parquet/cherry, 1, 4, 20),
new /datum/stack_recipe("Амарантовый", /obj/item/stack/tile/wood/parquet/amaranth, 1, 4, 20),
new /datum/stack_recipe("Эбонитовый", /obj/item/stack/tile/wood/parquet/ebonite, 5, 4, 20),
new /datum/stack_recipe("Умниниевый", /obj/item/stack/tile/wood/parquet/pink_ivory, 5, 4, 20),
new /datum/stack_recipe("Бакаутовый", /obj/item/stack/tile/wood/parquet/guaiacum, 5, 4, 20),
)),
new /datum/stack_recipe_list("Паркет (Классический)", list(
new /datum/stack_recipe("Обычный", /obj/item/stack/tile/wood/tile, 1, 4, 20),
new /datum/stack_recipe("Дубовый", /obj/item/stack/tile/wood/tile/oak, 1, 4, 20),
new /datum/stack_recipe("Берёзовый", /obj/item/stack/tile/wood/tile/birch, 1, 4, 20),
new /datum/stack_recipe("Вишнёвый", /obj/item/stack/tile/wood/tile/cherry, 1, 4, 20),
new /datum/stack_recipe("Амарантовый", /obj/item/stack/tile/wood/tile/amaranth, 1, 4, 20),
new /datum/stack_recipe("Эбонитовый", /obj/item/stack/tile/wood/tile/ebonite, 5, 4, 20),
new /datum/stack_recipe("Умниниевый", /obj/item/stack/tile/wood/tile/pink_ivory, 5, 4, 20),
new /datum/stack_recipe("Бакаутовый", /obj/item/stack/tile/wood/tile/guaiacum, 5, 4, 20),
)),
null)

GLOB.arcade_prize_pool += list(
/obj/item/storage/box/id_stickers = 2
)
2 changes: 2 additions & 0 deletions modular_bandastation/objects/_objects.dme
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
#include "code/effects/spawners.dm"
#include "code/effects/turf_decal.dm"

#include "code/floors/wooden.dm"

#include "code/greyscale/config_types/greyscale_clothes.dm"

#include "code/items/banners.dm"
Expand Down
178 changes: 178 additions & 0 deletions modular_bandastation/objects/code/floors/wooden.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,178 @@
#define COLOR_WOOD "#864A2D"
#define COLOR_OAK "#644526"
#define COLOR_BIRCH "#FFECB3"
#define COLOR_CHERRY "#643412"
#define COLOR_AMARANTH "#6B2E3E"
#define COLOR_EBONITE "#363649"
#define COLOR_PINK_IVORY "#D78575"
#define COLOR_GUAIACUM "#5C6250"

/// Automatically generates all subtypes for a wooden floor with tiles.
#define WOODEN_FLOOR_HELPER(path, tile)\
##path/oak {\
color = COLOR_OAK;\
floor_tile = ##tile/oak;\
}\
##tile/oak {\
name = "oak floor tiles";\
singular_name = "oak floor tile";\
color = COLOR_OAK;\
turf_type = ##path/oak;\
merge_type = ##tile/oak;\
}\
##path/birch {\
color = COLOR_BIRCH;\
floor_tile = ##tile/birch;\
}\
##tile/birch {\
name = "birch floor tiles";\
singular_name = "birch floor tile";\
color = COLOR_BIRCH;\
turf_type = ##path/birch;\
merge_type = ##tile/birch;\
}\
##path/cherry {\
color = COLOR_CHERRY;\
floor_tile = ##tile/cherry;\
}\
##tile/cherry {\
name = "cherry floor tiles";\
singular_name = "cherry floor tile";\
color = COLOR_CHERRY;\
turf_type = ##path/cherry;\
merge_type = ##tile/cherry;\
}\
##path/amaranth {\
color = COLOR_AMARANTH;\
floor_tile = ##tile/amaranth;\
}\
##tile/amaranth {\
name = "amaranth floor tiles";\
singular_name = "amaranth floor tile";\
color = COLOR_AMARANTH;\
turf_type = ##path/amaranth;\
merge_type = ##tile/amaranth;\
}\
##path/ebonite {\
color = COLOR_EBONITE;\
floor_tile = ##tile/ebonite;\
}\
##tile/ebonite {\
name = "ebonite floor tiles";\
singular_name = "ebonite floor tile";\
color = COLOR_EBONITE;\
turf_type = ##path/ebonite;\
merge_type = ##tile/ebonite;\
}\
##path/pink_ivory {\
color = COLOR_PINK_IVORY;\
floor_tile = ##tile/pink_ivory;\
}\
##tile/pink_ivory {\
name = "pink ivory floor tiles";\
singular_name = "pink ivory floor tile";\
color = COLOR_PINK_IVORY;\
turf_type = ##path/pink_ivory;\
merge_type = ##tile/pink_ivory;\
}\
##path/guaiacum {\
color = COLOR_GUAIACUM;\
floor_tile = ##tile/guaiacum;\
}\
##tile/guaiacum {\
name = "guaiacum floor tiles";\
singular_name = "guaiacum floor tile";\
color = COLOR_GUAIACUM;\
turf_type = ##path/guaiacum;\
merge_type = ##tile/guaiacum;\
}\

// Wood
/obj/item/stack/tile/wood
icon = 'modular_bandastation/objects/icons/turf/wooden/tiles.dmi'
icon_state = "tile-wood"
color = COLOR_WOOD

/turf/open/floor/wood
icon = 'modular_bandastation/objects/icons/turf/wooden/wooden.dmi'
icon_state = "wood"
damaged_dmi = 'modular_bandastation/objects/icons/turf/wooden/wooden.dmi'
color = COLOR_WOOD
appearance_flags = RESET_COLOR

/turf/open/floor/wood/broken_states()
return list("wood-broken", "wood-broken2", "wood-broken3", "wood-broken4", "wood-broken5", "wood-broken6", "wood-broken7")

/turf/open/floor/wood/Initialize(mapload)
. = ..()
add_atom_colour(color, FIXED_COLOUR_PRIORITY)

WOODEN_FLOOR_HELPER(/turf/open/floor/wood, /obj/item/stack/tile/wood)

// Fancy Wood
/obj/item/stack/tile/wood/large
name = "fancy wood floor tiles"
singular_name = "fancy wood floor tile"
icon_state = "tile-wood-fancy"
color = COLOR_WOOD
turf_type = /turf/open/floor/wood/large
merge_type = /obj/item/stack/tile/wood/large

/turf/open/floor/wood/large
icon_state = "wood_fancy"
color = COLOR_WOOD
floor_tile = /obj/item/stack/tile/wood/large

/turf/open/floor/wood/large/broken_states()
return list("wood_fancy-broken", "wood_fancy-broken2", "wood_fancy-broken3")

WOODEN_FLOOR_HELPER(/turf/open/floor/wood/large, /obj/item/stack/tile/wood/large)

// Parquet
/obj/item/stack/tile/wood/parquet
name = "parquet floor tiles"
singular_name = "parquet floor tile"
icon_state = "tile-wood-parquet"
color = COLOR_WOOD
turf_type = /turf/open/floor/wood/parquet
merge_type = /obj/item/stack/tile/wood/parquet

/turf/open/floor/wood/parquet
icon_state = "wood_parquet"
color = COLOR_WOOD
floor_tile = /obj/item/stack/tile/wood/parquet

/turf/open/floor/wood/parquet/broken_states()
return list("wood_parquet-broken", "wood_parquet-broken2", "wood_parquet-broken3", "wood_parquet-broken4", "wood_parquet-broken5", "wood_parquet-broken6", "wood_parquet-broken7")

WOODEN_FLOOR_HELPER(/turf/open/floor/wood/parquet, /obj/item/stack/tile/wood/parquet)

// Tiled Parquet
/obj/item/stack/tile/wood/tile
name = "tiled parquet floor tiles"
singular_name = "tiled parquet floor tile"
icon_state = "tile-wood-tile"
color = COLOR_WOOD
turf_type = /turf/open/floor/wood/tile
merge_type = /obj/item/stack/tile/wood/tile

/turf/open/floor/wood/tile
icon_state = "wood_tile"
color = COLOR_WOOD
floor_tile = /obj/item/stack/tile/wood/tile

/turf/open/floor/wood/tile/broken_states()
return list("wood_tile-broken", "wood_tile-broken2", "wood_tile-broken3")

WOODEN_FLOOR_HELPER(/turf/open/floor/wood/tile, /obj/item/stack/tile/wood/tile)

#undef COLOR_WOOD
#undef COLOR_OAK
#undef COLOR_BIRCH
#undef COLOR_CHERRY
#undef COLOR_AMARANTH
#undef COLOR_EBONITE
#undef COLOR_PINK_IVORY
#undef COLOR_GUAIACUM

#undef WOODEN_FLOOR_HELPER
Binary file not shown.
Binary file not shown.
Loading