Skip to content

Commit

Permalink
Primitive storage 2: food and flower boogaloo (#25377)
Browse files Browse the repository at this point in the history
* Add files via upload

* Add files via upload

* Update storage_structures.dm

* Update sheet_types.dm

* Update ash_flora.dm

* Update storage_structures.dm
  • Loading branch information
xXPawnStarrXx authored and FFMirrorBot committed Dec 6, 2023
1 parent c369352 commit 250320e
Show file tree
Hide file tree
Showing 5 changed files with 77 additions and 1 deletion.
13 changes: 13 additions & 0 deletions code/modules/mining/lavaland/ash_flora.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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 ..()
Binary file modified icons/obj/mining_zones/ash_flora.dmi
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Binary file modified modular_skyrat/modules/primitive_structures/icons/storage.dmi
Binary file not shown.

0 comments on commit 250320e

Please sign in to comment.