diff --git a/code/modules/mining/lavaland/ash_flora.dm b/code/modules/mining/lavaland/ash_flora.dm index 950af6e8b8f..59866e73aec 100644 --- a/code/modules/mining/lavaland/ash_flora.dm +++ b/code/modules/mining/lavaland/ash_flora.dm @@ -405,3 +405,16 @@ if(!reagents.total_volume) icon_state = "mushroom_bowl" return ..() + +/obj/item/reagent_containers/cup/bowl/wood_bowl + name = "wooden bowl" + desc = "A bowl made out of wood. Primitive, but effective." + icon = 'icons/obj/mining_zones/ash_flora.dmi' + icon_state = "wood_bowl" + fill_icon_state = "fullbowl" + fill_icon = 'icons/obj/mining_zones/ash_flora.dmi' + +/obj/item/reagent_containers/cup/bowl/mushroom_bowl/update_icon_state() + if(!reagents.total_volume) + icon_state = "wood_bowl" + return ..() diff --git a/icons/obj/mining_zones/ash_flora.dmi b/icons/obj/mining_zones/ash_flora.dmi index d796c200071..1f4aa469e13 100644 Binary files a/icons/obj/mining_zones/ash_flora.dmi and b/icons/obj/mining_zones/ash_flora.dmi differ diff --git a/modular_skyrat/master_files/code/game/objects/items/stacks/sheets/sheet_types.dm b/modular_skyrat/master_files/code/game/objects/items/stacks/sheets/sheet_types.dm index 3a59d18fc52..2b4b7cca870 100644 --- a/modular_skyrat/master_files/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/modular_skyrat/master_files/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -76,13 +76,16 @@ GLOBAL_LIST_INIT(skyrat_wood_recipes, list( new/datum/stack_recipe("wooden shelf", /obj/structure/rack/wooden, 2, time = 2 SECONDS, one_per_turf = TRUE, on_solid_ground = FALSE, category = CAT_STRUCTURE), new/datum/stack_recipe("seed shelf", /obj/machinery/smartfridge/seedshelf, 10, time = 2 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_STRUCTURE), new/datum/stack_recipe("produce bin", /obj/machinery/smartfridge/producebin, 10, time = 2 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_STRUCTURE), + new/datum/stack_recipe("produce display", /obj/machinery/smartfridge/producedisplay, 10, time = 2 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_STRUCTURE), + new/datum/stack_recipe("ration shelf", /obj/machinery/smartfridge/rationshelf, 10, time = 2 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_STRUCTURE), new/datum/stack_recipe("storage barrel", /obj/structure/closet/crate/wooden/storage_barrel, 4, time = 2 SECONDS, one_per_turf = TRUE, on_solid_ground = FALSE, category = CAT_STRUCTURE), new/datum/stack_recipe("worm barrel", /obj/structure/wormfarm, 5, time = 2 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_TOOLS), - new/datum/stack_recipe("gutlunch trough", /obj/structure/ore_container/gutlunch_trough, 5, time = 2 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_STRUCTURE), new/datum/stack_recipe("sturdy wooden fence", /obj/structure/railing/wooden_fencing, 5, time = 2 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_TOOLS), new/datum/stack_recipe("sturdy wooden fence gate", /obj/structure/railing/wooden_fencing/gate, 5, time = 2 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_TOOLS), + new/datum/stack_recipe("wooden bowl", /obj/item/reagent_containers/cup/bowl/wood_bowl, 3, time = 2 SECONDS, check_density = FALSE, category = CAT_TOOLS), )) + /obj/item/stack/sheet/mineral/wood/get_main_recipes() . = ..() . += GLOB.skyrat_wood_recipes diff --git a/modular_skyrat/modules/primitive_structures/code/storage_structures.dm b/modular_skyrat/modules/primitive_structures/code/storage_structures.dm index a9c1ce0b9fb..3a0b605fe36 100644 --- a/modular_skyrat/modules/primitive_structures/code/storage_structures.dm +++ b/modular_skyrat/modules/primitive_structures/code/storage_structures.dm @@ -111,3 +111,63 @@ new /obj/item/stack/sheet/mineral/wood(drop_location(), 10) deconstruct(TRUE) return TOOL_ACT_TOOLTYPE_SUCCESS + +/obj/machinery/smartfridge/rationshelf + name = "Ration shelf" + desc = "A wooden shelf, used to store food... preferably preserved." + icon_state = "rationshelf" + icon = 'modular_skyrat/modules/primitive_structures/icons/storage.dmi' + resistance_flags = FLAMMABLE + base_build_path = /obj/machinery/smartfridge/rationshelf + contents_icon_state = "ration" + use_power = NO_POWER_USE + light_power = 0 + idle_power_usage = 0 + circuit = null + has_emissive = FALSE + can_atmos_pass = ATMOS_PASS_YES + visible_contents = TRUE + +/obj/machinery/smartfridge/rationshelf/accept_check(obj/item/weapon) + return (IS_EDIBLE(weapon) || (istype(weapon,/obj/item/reagent_containers/cup/bowl) && length(weapon.reagents?.reagent_list))) + +/obj/machinery/smartfridge/rationshelf/structure_examine() + . = span_info("The whole rack can be [EXAMINE_HINT("pried")] apart.") + +/obj/machinery/smartfridge/rationshelf/crowbar_act(mob/living/user, obj/item/tool) + user.balloon_alert_to_viewers("disassembling...") + if(!tool.use_tool(src, user, 2 SECONDS, volume = 100)) + return + new /obj/item/stack/sheet/mineral/wood(drop_location(), 10) + deconstruct(TRUE) + return TOOL_ACT_TOOLTYPE_SUCCESS + +/obj/machinery/smartfridge/producedisplay + name = "Produce display" + desc = "A wooden table with awning, used to display produce items." + icon_state = "producedisplay" + icon = 'modular_skyrat/modules/primitive_structures/icons/storage.dmi' + resistance_flags = FLAMMABLE + base_build_path = /obj/machinery/smartfridge/producedisplay + contents_icon_state = "nonfood" + use_power = NO_POWER_USE + light_power = 0 + idle_power_usage = 0 + circuit = null + has_emissive = FALSE + can_atmos_pass = ATMOS_PASS_YES + visible_contents = TRUE + +/obj/machinery/smartfridge/producedisplay/accept_check(obj/item/weapon) + return (istype(weapon, /obj/item/grown) || istype(weapon, /obj/item/bouquet) || istype(weapon, /obj/item/clothing/head/costume/garland)) + +/obj/machinery/smartfridge/producedisplay/structure_examine() + . = span_info("The whole rack can be [EXAMINE_HINT("pried")] apart.") + +/obj/machinery/smartfridge/producedisplay/crowbar_act(mob/living/user, obj/item/tool) + user.balloon_alert_to_viewers("disassembling...") + if(!tool.use_tool(src, user, 2 SECONDS, volume = 100)) + return + new /obj/item/stack/sheet/mineral/wood(drop_location(), 10) + deconstruct(TRUE) + return TOOL_ACT_TOOLTYPE_SUCCESS diff --git a/modular_skyrat/modules/primitive_structures/icons/storage.dmi b/modular_skyrat/modules/primitive_structures/icons/storage.dmi index 1c2c3626321..413a49e7eaa 100644 Binary files a/modular_skyrat/modules/primitive_structures/icons/storage.dmi and b/modular_skyrat/modules/primitive_structures/icons/storage.dmi differ