diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm
index 5fa24f9834a..6a340caac7f 100644
--- a/code/game/objects/items/weapons/storage/belt.dm
+++ b/code/game/objects/items/weapons/storage/belt.dm
@@ -185,7 +185,8 @@
/obj/item/weapon/ore,
/obj/item/weapon/reagent_containers/food/drinks,
/obj/item/organ/hivelord_core,
- /obj/item/device/wormhole_jaunter
+ /obj/item/device/wormhole_jaunter,
+ /obj/item/weapon/storage/bag/plants,
)
diff --git a/code/modules/food_and_drinks/drinks/drinks.dm b/code/modules/food_and_drinks/drinks/drinks.dm
index 2ef1faca034..41077807377 100644
--- a/code/modules/food_and_drinks/drinks/drinks.dm
+++ b/code/modules/food_and_drinks/drinks/drinks.dm
@@ -257,6 +257,17 @@
volume = 30
spillable = 1
+///Lavaland bowls and bottles///
+
+/obj/item/reagent_containers/food/drinks/mushroom_bowl
+ name = "mushroom bowl"
+ desc = "A bowl made out of mushrooms. Not food, though it might have contained some at some point."
+ icon = 'icons/obj/lavaland/ash_flora.dmi'
+ icon_state = "mushroom_bowl"
+ w_class = 2
+ resistance_flags = 0
+
+
//////////////////////////soda_cans//
//These are in their own group to be used as IED's in /obj/item/weapon/grenade/ghettobomb.dm
@@ -329,3 +340,5 @@
desc = "A delicious mixture of 42 different flavors."
icon_state = "dr_gibb"
list_reagents = list("dr_gibb" = 30)
+
+
diff --git a/code/modules/food_and_drinks/food/snacks_other.dm b/code/modules/food_and_drinks/food/snacks_other.dm
index db9aacf6ce2..93803d6b5aa 100644
--- a/code/modules/food_and_drinks/food/snacks_other.dm
+++ b/code/modules/food_and_drinks/food/snacks_other.dm
@@ -329,4 +329,6 @@
block_chance = 50
armour_penetration = 75
attack_verb = list("slapped", "slathered")
- w_class = 4
\ No newline at end of file
+ w_class = 4
+
+
diff --git a/code/modules/mining/lavaland/ash_flora.dm b/code/modules/mining/lavaland/ash_flora.dm
index 4a6c74c82b8..36e52dfa54a 100644
--- a/code/modules/mining/lavaland/ash_flora.dm
+++ b/code/modules/mining/lavaland/ash_flora.dm
@@ -8,7 +8,7 @@
var/harvested_name = "shortened mushrooms"
var/harvested_desc = "Some quickly regrowing mushrooms, formerly known to be quite large."
var/needs_sharp_harvest = TRUE
- var/harvest = /obj/item/ash_flora/shavings
+ var/harvest = /obj/item/weapon/reagent_containers/food/snacks/ash_flora/shavings
var/harvest_amount_low = 1
var/harvest_amount_high = 3
var/harvest_time = 60
@@ -77,7 +77,7 @@
desc = "A number of mushrooms, each of which surrounds a greenish sporangium with a number of leaf-like structures."
harvested_name = "leafless mushrooms"
harvested_desc = "A bunch of formerly-leafed mushrooms, with their sporangiums exposed. Scandalous?"
- harvest = /obj/item/ash_flora/mushroom_leaf
+ harvest = /obj/item/weapon/reagent_containers/food/snacks/ash_flora/mushroom_leaf
needs_sharp_harvest = FALSE
harvest_amount_high = 4
harvest_time = 20
@@ -93,7 +93,7 @@
desc = "Several mushrooms, the larger of which have a ring of conks at the midpoint of their stems."
harvested_name = "small mushrooms"
harvested_desc = "Several small mushrooms near the stumps of what likely were larger mushrooms."
- harvest = /obj/item/ash_flora/mushroom_cap
+ harvest = /obj/item/weapon/reagent_containers/food/snacks/ash_flora/mushroom_cap
harvest_amount_high = 4
harvest_time = 50
harvest_message_low = "You slice the cap off of a mushroom."
@@ -105,10 +105,11 @@
/obj/structure/flora/ash/stem_shroom
icon_state = "t_mushroom"
name = "numerous mushrooms"
- desc = "A large number of mushrooms, some of which have long, fleshy stems."
+ desc = "A large number of mushrooms, some of which have long, fleshy stems. They're radiating light!"
+ luminosity = 1
harvested_name = "tiny mushrooms"
harvested_desc = "A few tiny mushrooms around larger stumps. You can already see them growing back."
- harvest = /obj/item/ash_flora/mushroom_stem
+ harvest = /obj/item/weapon/reagent_containers/food/snacks/ash_flora/mushroom_stem
harvest_amount_high = 4
harvest_time = 40
harvest_message_low = "You pick and slice the cap off of a mushroom, leaving the stem."
@@ -123,7 +124,7 @@
desc = "Several prickly cacti, brimming with ripe fruit and covered in a thin layer of ash."
harvested_name = "cacti"
harvested_desc = "A bunch of prickly cacti. You can see fruits slowly growing beneath the covering of ash."
- harvest = /obj/item/ash_flora/cactus_fruit
+ harvest = /obj/item/weapon/reagent_containers/food/snacks/ash_flora/cactus_fruit
needs_sharp_harvest = FALSE
harvest_amount_high = 2
harvest_time = 10
@@ -146,94 +147,71 @@
H.visible_message("[H] steps on a cactus!", \
"You step on a cactus!")
-/obj/item/ash_flora
+/obj/item/weapon/reagent_containers/food/snacks/ash_flora/
name = "mushroom shavings"
desc = "Some shavings from a tall mushroom. With enough, might serve as a bowl."
icon = 'icons/obj/lavaland/ash_flora.dmi'
icon_state = "mushroom_shavings"
+ list_reagents = list("sugar" = 3, "ethanol" = 2, "stabilizing_agent" = 3, "minttoxin" = 2)
w_class = 1
resistance_flags = FLAMMABLE
obj_integrity = 100
max_integrity = 100
- var/prepared = FALSE
- var/prepared_type = /obj/item/ash_flora/shavings
- var/standard_prep = TRUE
-/obj/item/ash_flora/New()
+/obj/item/weapon/reagent_containers/food/snacks/ash_flora/New()
..()
pixel_x = rand(-4, 4)
pixel_y = rand(-4, 4)
-/obj/item/ash_flora/attackby(obj/item/weapon/W, mob/user, params)
- if(!standard_prep || !W.sharpness || !prepare(user))
- return ..()
-/obj/item/ash_flora/proc/prepare(mob/user)
- if(!prepared)
- prepared = TRUE
- user << "You prepare [src]."
- var/obj/item/ash_flora/A = new prepared_type(get_turf(src))
- if(user.is_holding(src))
- user.unEquip(src, TRUE)
- user.put_in_hands(A)
- qdel(src)
- . = 1
+/obj/item/weapon/reagent_containers/food/snacks/ash_flora/shavings //for actual crafting
-/obj/item/ash_flora/shavings //for actual crafting
- prepared = TRUE
-/obj/item/ash_flora/mushroom_leaf
+/obj/item/weapon/reagent_containers/food/snacks/ash_flora/mushroom_leaf
name = "mushroom leaf"
- desc = "A leaflike structure from a mushroom. You should probably wash the ash off."
+ desc = "A leaf, from a mushroom."
+ list_reagents = list("nutriment" = 3, "vitfro" = 2, "nicotine" = 2)
icon_state = "mushroom_leaf"
- standard_prep = FALSE
- prepared_type = /obj/item/ash_flora/mushroom_leaf/prepared
-
-/obj/item/ash_flora/mushroom_leaf/afterattack(atom/target, mob/user, proximity_flag)
- if(proximity_flag && (istype(target, /turf/open/floor/plating/ashplanet/wateryrock) || istype(target, /obj/structure/sink)))
- prepare(user)
-
-/obj/item/ash_flora/mushroom_leaf/prepared
+/obj/item/weapon/reagent_containers/food/snacks/ash_flora/mushroom_leaf/prepared
name = "washed mushroom leaf"
desc = "A greenish leaflike structure from a mushroom. Kind of like lettuce?"
icon_state = "mushroom_leaf_p"
- prepared = TRUE
-/obj/item/ash_flora/mushroom_cap
+
+/obj/item/weapon/reagent_containers/food/snacks/ash_flora/mushroom_cap
name = "mushroom cap"
- desc = "A mushroom cap. Possibly delicious, at least if you cut it up a bit first."
+ desc = "The cap of a large mushroom."
+ list_reagents = list("mindbreaker" = 2, "entpoly" = 4, "mushroomhallucinogen" = 2)
icon_state = "mushroom_cap"
- prepared_type = /obj/item/ash_flora/mushroom_cap/prepared
-/obj/item/ash_flora/mushroom_cap/prepared
+/obj/item/weapon/reagent_containers/food/snacks/ash_flora/mushroom_cap/prepared
name = "sliced mushroom cap"
desc = "A sliced-up mushroom cap, revealing pale yellow innards. It smells faintly salty."
icon_state = "mushroom_cap_p"
- prepared = TRUE
-/obj/item/ash_flora/mushroom_stem
+/obj/item/weapon/reagent_containers/food/snacks/ash_flora/mushroom_stem
name = "mushroom stem"
- desc = "A mushroom stem. Slice it up, throw it in a stew."
+ desc = "A long mushroom stem. It's slightly glowing."
+ list_reagents = list("tinlux" = 2, "vitamin" = 1, "space_drugs" = 1)
icon_state = "mushroom_stem"
- prepared_type = /obj/item/ash_flora/mushroom_stem/prepared
+ luminosity = 1
-/obj/item/ash_flora/mushroom_stem/prepared
+/obj/item/weapon/reagent_containers/food/snacks/ash_flora/mushroom_stem/prepared
name = "sliced mushroom stem"
desc = "A mushroom stem, cut in half to reveal orange flesh. Smells almost like potatos, but with a sour undertone."
icon_state = "mushroom_stem_p"
- prepared = TRUE
-/obj/item/ash_flora/cactus_fruit
+/obj/item/weapon/reagent_containers/food/cactus_fruit
name = "cactus fruit"
+ list_reagents = list("vitamin" = 2, "nutriment" = 2, "vitfro" = 4)
desc = "A cactus fruit covered in a thick, reddish skin. And some ash."
icon_state = "cactus_fruit"
- prepared_type = /obj/item/ash_flora/cactus_fruit/prepared
-/obj/item/ash_flora/cactus_fruit/prepared
+/obj/item/weapon/reagent_containers/food/snacks/ash_flora/cactus_fruit/prepared
name = "peeled cactus fruit"
desc = "A cactus fruit with the skin and ash carefully scraped off, revealing a faintly sweet-smelling yellow center."
icon_state = "cactus_fruit_p"
- prepared = TRUE
+
/obj/item/mushroom_bowl
name = "mushroom bowl"
@@ -248,7 +226,7 @@
//what you can craft with these things
/datum/crafting_recipe/mushroom_bowl
name = "Mushroom Bowl"
- result = /obj/item/mushroom_bowl
- reqs = list(/obj/item/ash_flora/shavings = 5)
+ result = /obj/item/reagent_containers/food/drinks/mushroom_bowl
+ reqs = list(/obj/item/weapon/reagent_containers/food/snacks/ash_flora/shavings = 5)
time = 30
- //category = CAT_PRIMAL //uncomment once ashplanet exists and this wouldn't just take up space fnr
+ category = CAT_PRIMAL
diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm
index e3c54e6290c..fcfd1f05717 100644
--- a/code/modules/mining/mine_items.dm
+++ b/code/modules/mining/mine_items.dm
@@ -46,6 +46,7 @@
new /obj/item/weapon/shovel(src)
new /obj/item/weapon/pickaxe/mini(src)
new /obj/item/device/radio/headset/headset_cargo/mining(src)
+ new /obj/item/weapon/storage/bag/plants(src)
new /obj/item/weapon/storage/bag/ore(src)
new /obj/item/device/t_scanner/adv_mining_scanner/lesser(src)
new /obj/item/weapon/gun/energy/kinetic_accelerator(src)
diff --git a/code/modules/mining/mine_turfs.dm b/code/modules/mining/mine_turfs.dm
index a3199707bd5..ef5da5bb2af 100644
--- a/code/modules/mining/mine_turfs.dm
+++ b/code/modules/mining/mine_turfs.dm
@@ -268,6 +268,7 @@
/turf/open/floor/plating/asteroid/airless/cave
var/length = 100
var/mob_spawn_list = list(/mob/living/simple_animal/hostile/asteroid/goldgrub = 1, /mob/living/simple_animal/hostile/asteroid/goliath = 5, /mob/living/simple_animal/hostile/asteroid/basilisk = 4, /mob/living/simple_animal/hostile/asteroid/hivelord = 3)
+ var/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 = 2)
var/sanity = 1
var/forward_cave_dir = 1
var/backward_cave_dir = 2
@@ -367,6 +368,7 @@
break
if(!sanity)
return
+ SpawnFlora(T)
SpawnMonster(T)
T.ChangeTurf(turf_type)
@@ -385,6 +387,15 @@
var/randumb = pickweight(mob_spawn_list)
new randumb(T)
return
+/turf/open/floor/plating/asteroid/airless/cave/proc/SpawnFlora(turf/T)
+ if(prob(12))
+ if(istype(loc, /area/mine/explored) || istype(loc, /area/lavaland/surface/outdoors/explored))
+ return
+ for(var/obj/structure/flora/ash/F in urange(3,T)) //Allows for growing patches, but not ridiculous stacks of flora
+ return
+ var/randumb = pickweight(flora_spawn_list)
+ new randumb(T)
+
/turf/closed/mineral/attackby(obj/item/weapon/pickaxe/P, mob/user, params)
diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm
index a74eef6c892..b70598692e5 100644
--- a/code/modules/reagents/chemistry/reagents/food_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm
@@ -459,3 +459,48 @@
if(prob(20))
M.heal_bodypart_damage(3,1)
..()
+
+
+////Lavaland Flora Reagents////
+
+
+/datum/reagent/consumable/entpoly
+ name = "Entropic Polypnium"
+ id = "entpoly"
+ description = "An ichor, derived from a certain mushroom, makes for a bad time."
+ color = "#1d043d"
+/datum/reagent/consumable/entpoly/on_mob_life(mob/living/M)
+ if(current_cycle >= 10)
+ M.Paralyse(2, 0)
+ . = 1
+ if(prob(20))
+ M.losebreath += 4
+ M.adjustBrainLoss(2*REM)
+ M.adjustToxLoss(3*REM,0)
+ M.adjustStaminaLoss(10*REM,0)
+ M.blur_eyes(5)
+ ..()
+
+/datum/reagent/consumable/tinlux
+ name = "Tinea Luxor"
+ id = "tinlux"
+ description = "A stimulating ichor which causes luminescent fungi to grow on the skin. "
+ color = "#b5a213"
+
+/datum/reagent/consumable/tinlux/reaction_mob(mob/living/M)
+ M.AddLuminosity(2)
+
+/datum/reagent/consumable/tinlux/on_mob_delete(mob/living/M)
+ M.AddLuminosity(-2)
+
+/datum/reagent/consumable/vitfro
+ name = "Vitrium Froth"
+ id = "vitfro"
+ description = "A bubbly paste that heals wounds of the skin."
+ color = "#d3a308"
+ nutriment_factor = 3 * REAGENTS_METABOLISM
+
+datum/reagent/consumable/vitfro/on_mob_life(mob/living/M)
+ if(prob(80))
+ M.adjustBruteLoss(-1*REM, 0)
+ M.adjustFireLoss(-1*REM, 0)