diff --git a/code/game/objects/items/weapons/storage/bags.dm b/code/game/objects/items/weapons/storage/bags.dm index 1635f7dabfb..e61a0a8ad49 100644 --- a/code/game/objects/items/weapons/storage/bags.dm +++ b/code/game/objects/items/weapons/storage/bags.dm @@ -112,7 +112,7 @@ max_combined_w_class = 100 //Doesn't matter what this is, so long as it's more or equal to storage_slots * plants.w_class max_w_class = WEIGHT_CLASS_NORMAL w_class = WEIGHT_CLASS_TINY - can_hold = list(/obj/item/weapon/reagent_containers/food/snacks/grown,/obj/item/seeds,/obj/item/weapon/grown,/obj/item/weapon/reagent_containers/food/snacks/ash_flora,/obj/item/weapon/reagent_containers/honeycomb) + can_hold = list(/obj/item/weapon/reagent_containers/food/snacks/grown,/obj/item/seeds,/obj/item/weapon/grown,/obj/item/weapon/reagent_containers/honeycomb) resistance_flags = FLAMMABLE //////// diff --git a/code/modules/hydroponics/gene_modder.dm b/code/modules/hydroponics/gene_modder.dm index c614aa423b3..00d2e099a1c 100644 --- a/code/modules/hydroponics/gene_modder.dm +++ b/code/modules/hydroponics/gene_modder.dm @@ -368,6 +368,7 @@ seed.genes += disk.gene.Copy() if(istype(disk.gene, /datum/plant_gene/reagent)) seed.reagents_from_genes() + disk.gene.apply_vars(seed) repaint_seed() diff --git a/code/modules/hydroponics/grown/misc.dm b/code/modules/hydroponics/grown/misc.dm index 3f89618c09c..4581f676feb 100644 --- a/code/modules/hydroponics/grown/misc.dm +++ b/code/modules/hydroponics/grown/misc.dm @@ -154,3 +154,15 @@ playsound(src, 'sound/effects/fuse.ogg', seed.potency, 0) reagents.chem_temp = 1000 //Sets off the black powder reagents.handle_reactions() + +// Lavaland cactus + +/obj/item/seeds/lavaland/cactus + name = "pack of fruiting cactus seeds" + desc = "These seeds grow into fruiting cacti." + icon_state = "seed-cactus" + species = "cactus" + plantname = "Fruiting Cactus" + product = /obj/item/weapon/reagent_containers/food/snacks/grown/ash_flora/cactus_fruit + growing_icon = 'icons/obj/hydroponics/growing_fruits.dmi' + growthstages = 2 \ No newline at end of file diff --git a/code/modules/hydroponics/grown/mushrooms.dm b/code/modules/hydroponics/grown/mushrooms.dm index fc34fbad835..7b52562ff03 100644 --- a/code/modules/hydroponics/grown/mushrooms.dm +++ b/code/modules/hydroponics/grown/mushrooms.dm @@ -308,3 +308,66 @@ if(.) investigate_log("was planted by [key_name(user)] at [COORD(user)]", INVESTIGATE_BOTANY) +//// LAVALAND MUSHROOMS //// + +// Bracket (Shaving mushroom) + +/obj/item/seeds/lavaland + name = "lavaland seeds" + desc = "You should never see this." + lifespan = 50 + endurance = 25 + maturation = 7 + production = 4 + yield = 4 + potency = 15 + growthstages = 3 + rarity = 20 + reagents_add = list("nutriment" = 0.1) + resistance_flags = FIRE_PROOF + +/obj/item/seeds/lavaland/polypore + name = "pack of polypore mycelium" + desc = "This mycelium grows into bracket mushrooms, also known as polypores. Woody and firm, shaft miners often use them for makeshift crafts." + icon_state = "mycelium-polypore" + species = "polypore" + plantname = "Polypore Mushrooms" + product = /obj/item/weapon/reagent_containers/food/snacks/grown/ash_flora/shavings + genes = list(/datum/plant_gene/trait/plant_type/fungal_metabolism) + growing_icon = 'icons/obj/hydroponics/growing_mushrooms.dmi' + +// Porcini (Leafy mushroom) + +/obj/item/seeds/lavaland/porcini + name = "pack of porcini mycelium" + desc = "This mycelium grows into Boletus edulus, also known as porcini. Native to the late Earth, but discovered on Lavaland. Has culinary, medicinal and relaxant effects." + icon_state = "mycelium-porcini" + species = "porcini" + plantname = "Porcini Mushrooms" + product = /obj/item/weapon/reagent_containers/food/snacks/grown/ash_flora/mushroom_leaf + genes = list(/datum/plant_gene/trait/plant_type/fungal_metabolism) + growing_icon = 'icons/obj/hydroponics/growing_mushrooms.dmi' + +// Inocybe (Mushroom caps) + +/obj/item/seeds/lavaland/inocybe + name = "pack of inocybe mycelium" + desc = "This mycelium grows into an inocybe mushroom, a species of Lavaland origin with hallucinatory and toxic effects." + icon_state = "mycelium-inocybe" + species = "inocybe" + plantname = "Inocybe Mushrooms" + product = /obj/item/weapon/reagent_containers/food/snacks/grown/ash_flora/mushroom_cap + genes = list(/datum/plant_gene/trait/plant_type/fungal_metabolism) + growing_icon = 'icons/obj/hydroponics/growing_mushrooms.dmi' + +// Embershroom (Mushroom stem) + +/obj/item/seeds/lavaland/ember + name = "pack of embershroom mycelium" + desc = "This mycelium grows into embershrooms, a species of bioluminescent mushrooms native to Lavaland." + icon_state = "mycelium-ember" + species = "ember" + plantname = "Embershroom Mushrooms" + product = /obj/item/weapon/reagent_containers/food/snacks/grown/ash_flora/mushroom_stem + genes = list(/datum/plant_gene/trait/plant_type/fungal_metabolism, /datum/plant_gene/trait/glow) + growing_icon = 'icons/obj/hydroponics/growing_mushrooms.dmi' \ No newline at end of file diff --git a/code/modules/hydroponics/hydroponics.dm b/code/modules/hydroponics/hydroponics.dm index 9fc6b27d94a..2e011565c07 100644 --- a/code/modules/hydroponics/hydroponics.dm +++ b/code/modules/hydroponics/hydroponics.dm @@ -601,9 +601,10 @@ // why, just why if(S.has_reagent("napalm", 1)) - adjustHealth(-round(S.get_reagent_amount("napalm") * 6)) - adjustToxic(round(S.get_reagent_amount("napalm") * 7)) - adjustWeeds(-rand(5,9)) + if(!(myseed.resistance_flags & FIRE_PROOF)) + adjustHealth(-round(S.get_reagent_amount("napalm") * 6)) + adjustToxic(round(S.get_reagent_amount("napalm") * 7)) + adjustWeeds(-rand(5,9)) //Weed Spray if(S.has_reagent("weedkiller", 1)) diff --git a/code/modules/hydroponics/plant_genes.dm b/code/modules/hydroponics/plant_genes.dm index 0842d9a7bbb..5b6c91bccd7 100644 --- a/code/modules/hydroponics/plant_genes.dm +++ b/code/modules/hydroponics/plant_genes.dm @@ -10,8 +10,8 @@ /datum/plant_gene/proc/Copy() return new type - - +/datum/plant_gene/proc/apply_vars(obj/item/seeds/S) // currently used for fire resist, can prob. be further refactored + return // Core plant genes store 5 main variables: lifespan, endurance, production, yield, potency /datum/plant_gene/core @@ -410,6 +410,17 @@ S.start() G.reagents.clear_reagents() +/datum/plant_gene/trait/fire_resistance // Lavaland + name = "Fire Resistance" + +/datum/plant_gene/trait/fire_resistance/apply_vars(obj/item/seeds/S) + if(!(S.resistance_flags & FIRE_PROOF)) + S.resistance_flags |= FIRE_PROOF + +/datum/plant_gene/trait/fire_resistance/on_new(obj/item/weapon/reagent_containers/food/snacks/grown/G, newloc) + if(!(G.resistance_flags & FIRE_PROOF)) + G.resistance_flags |= FIRE_PROOF + /datum/plant_gene/trait/plant_type // Parent type name = "you shouldn't see this" trait_id = "plant_type" diff --git a/code/modules/mining/lavaland/ash_flora.dm b/code/modules/mining/lavaland/ash_flora.dm index e426bb368f0..1551adc2181 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/weapon/reagent_containers/food/snacks/ash_flora/shavings + var/harvest = /obj/item/weapon/reagent_containers/food/snacks/grown/ash_flora/shavings var/harvest_amount_low = 1 var/harvest_amount_high = 3 var/harvest_time = 60 @@ -80,7 +80,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/weapon/reagent_containers/food/snacks/ash_flora/mushroom_leaf + harvest = /obj/item/weapon/reagent_containers/food/snacks/grown/ash_flora/mushroom_leaf needs_sharp_harvest = FALSE harvest_amount_high = 4 harvest_time = 20 @@ -96,7 +96,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/weapon/reagent_containers/food/snacks/ash_flora/mushroom_cap + harvest = /obj/item/weapon/reagent_containers/food/snacks/grown/ash_flora/mushroom_cap harvest_amount_high = 4 harvest_time = 50 harvest_message_low = "You slice the cap off a mushroom." @@ -112,7 +112,7 @@ 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/weapon/reagent_containers/food/snacks/ash_flora/mushroom_stem + harvest = /obj/item/weapon/reagent_containers/food/snacks/grown/ash_flora/mushroom_stem harvest_amount_high = 4 harvest_time = 40 harvest_message_low = "You pick and slice the cap off a mushroom, leaving the stem." @@ -127,7 +127,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/weapon/reagent_containers/food/snacks/ash_flora/cactus_fruit + harvest = /obj/item/weapon/reagent_containers/food/snacks/grown/ash_flora/cactus_fruit needs_sharp_harvest = FALSE harvest_amount_high = 2 harvest_time = 10 @@ -150,7 +150,7 @@ H.visible_message("[H] steps on a cactus!", \ "You step on a cactus!") -/obj/item/weapon/reagent_containers/food/snacks/ash_flora +/obj/item/weapon/reagent_containers/food/snacks/grown/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' @@ -160,43 +160,46 @@ resistance_flags = FLAMMABLE obj_integrity = 100 max_integrity = 100 + seed = /obj/item/seeds/lavaland/polypore -/obj/item/weapon/reagent_containers/food/snacks/ash_flora/New() +/obj/item/weapon/reagent_containers/food/snacks/grown/ash_flora/New() ..() pixel_x = rand(-4, 4) pixel_y = rand(-4, 4) -/obj/item/weapon/reagent_containers/food/snacks/ash_flora/shavings //for actual crafting +/obj/item/weapon/reagent_containers/food/snacks/grown/ash_flora/shavings //for actual crafting - -/obj/item/weapon/reagent_containers/food/snacks/ash_flora/mushroom_leaf +/obj/item/weapon/reagent_containers/food/snacks/grown/ash_flora/mushroom_leaf name = "mushroom leaf" desc = "A leaf, from a mushroom." list_reagents = list("nutriment" = 3, "vitfro" = 2, "nicotine" = 2) icon_state = "mushroom_leaf" + seed = /obj/item/seeds/lavaland/porcini - -/obj/item/weapon/reagent_containers/food/snacks/ash_flora/mushroom_cap +/obj/item/weapon/reagent_containers/food/snacks/grown/ash_flora/mushroom_cap name = "mushroom cap" desc = "The cap of a large mushroom." list_reagents = list("mindbreaker" = 2, "entpoly" = 4, "mushroomhallucinogen" = 2) icon_state = "mushroom_cap" + seed = /obj/item/seeds/lavaland/inocybe -/obj/item/weapon/reagent_containers/food/snacks/ash_flora/mushroom_stem +/obj/item/weapon/reagent_containers/food/snacks/grown/ash_flora/mushroom_stem name = "mushroom stem" desc = "A long mushroom stem. It's slightly glowing." list_reagents = list("tinlux" = 2, "vitamin" = 1, "space_drugs" = 1) icon_state = "mushroom_stem" luminosity = 1 + seed = /obj/item/seeds/lavaland/ember -/obj/item/weapon/reagent_containers/food/snacks/ash_flora/cactus_fruit +/obj/item/weapon/reagent_containers/food/snacks/grown/ash_flora/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" + seed = /obj/item/seeds/lavaland/cactus /obj/item/mushroom_bowl @@ -213,6 +216,6 @@ /datum/crafting_recipe/mushroom_bowl name = "Mushroom Bowl" result = /obj/item/weapon/reagent_containers/food/drinks/mushroom_bowl - reqs = list(/obj/item/weapon/reagent_containers/food/snacks/ash_flora/shavings = 5) + reqs = list(/obj/item/weapon/reagent_containers/food/snacks/grown/ash_flora/shavings = 5) time = 30 category = CAT_PRIMAL diff --git a/icons/obj/hydroponics/growing_fruits.dmi b/icons/obj/hydroponics/growing_fruits.dmi index ac8adc5a069..7207733b14f 100644 Binary files a/icons/obj/hydroponics/growing_fruits.dmi and b/icons/obj/hydroponics/growing_fruits.dmi differ diff --git a/icons/obj/hydroponics/growing_mushrooms.dmi b/icons/obj/hydroponics/growing_mushrooms.dmi index 7a0eedbdae7..3a10c0dab84 100644 Binary files a/icons/obj/hydroponics/growing_mushrooms.dmi and b/icons/obj/hydroponics/growing_mushrooms.dmi differ diff --git a/icons/obj/hydroponics/seeds.dmi b/icons/obj/hydroponics/seeds.dmi index 18bd0cc4e94..8ce90d87d47 100644 Binary files a/icons/obj/hydroponics/seeds.dmi and b/icons/obj/hydroponics/seeds.dmi differ diff --git a/icons/obj/lavaland/ash_flora.dmi b/icons/obj/lavaland/ash_flora.dmi index b9ebfbfb662..9a9382ce1ea 100644 Binary files a/icons/obj/lavaland/ash_flora.dmi and b/icons/obj/lavaland/ash_flora.dmi differ