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)