From 0e1ae09e92c1b03a151c66e6930dfa0bb559b7d4 Mon Sep 17 00:00:00 2001 From: c0 Date: Wed, 2 Mar 2016 07:30:06 +0300 Subject: [PATCH 1/3] Plant Refactor: Revenge of the Grown --- .../kitchen machinery/processor.dm | 7 +- .../recipes/tablecraft/recipes_bread.dm | 2 +- .../recipes/tablecraft/recipes_pie.dm | 2 +- .../recipes/tablecraft/recipes_soup.dm | 2 +- code/modules/hydroponics/grown.dm | 1051 ++--------------- code/modules/hydroponics/grown/apple.dm | 25 + code/modules/hydroponics/grown/banana.dm | 43 + code/modules/hydroponics/grown/berries.dm | 57 + code/modules/hydroponics/grown/chili.dm | 50 + code/modules/hydroponics/grown/citrus.dm | 34 + code/modules/hydroponics/grown/flowers.dm | 52 + code/modules/hydroponics/grown/mushrooms.dm | 163 +++ code/modules/hydroponics/grown/tomato.dm | 113 ++ code/modules/hydroponics/growninedible.dm | 25 +- code/modules/hydroponics/seeds.dm | 10 +- .../chemistry/machinery/reagentgrinder.dm | 12 +- tgstation.dme | 8 + 17 files changed, 701 insertions(+), 955 deletions(-) create mode 100644 code/modules/hydroponics/grown/apple.dm create mode 100644 code/modules/hydroponics/grown/banana.dm create mode 100644 code/modules/hydroponics/grown/berries.dm create mode 100644 code/modules/hydroponics/grown/chili.dm create mode 100644 code/modules/hydroponics/grown/citrus.dm create mode 100644 code/modules/hydroponics/grown/flowers.dm create mode 100644 code/modules/hydroponics/grown/mushrooms.dm create mode 100644 code/modules/hydroponics/grown/tomato.dm diff --git a/code/modules/food&drinks/kitchen machinery/processor.dm b/code/modules/food&drinks/kitchen machinery/processor.dm index 67712fede24..bb2b48a8653 100644 --- a/code/modules/food&drinks/kitchen machinery/processor.dm +++ b/code/modules/food&drinks/kitchen machinery/processor.dm @@ -45,6 +45,10 @@ input = /obj/item/weapon/reagent_containers/food/snacks/meat/slab output = /obj/item/weapon/reagent_containers/food/snacks/faggot +/datum/food_processor_process/sweetpotato + input = /obj/item/weapon/reagent_containers/food/snacks/grown/potato/sweet + output = /obj/item/weapon/reagent_containers/food/snacks/yakiimo + /datum/food_processor_process/potato input = /obj/item/weapon/reagent_containers/food/snacks/grown/potato output = /obj/item/weapon/reagent_containers/food/snacks/fries @@ -69,9 +73,6 @@ input = /obj/item/weapon/reagent_containers/food/snacks/grown/parsnip output = /obj/item/weapon/reagent_containers/food/snacks/roastparsnip -/datum/food_processor_process/sweetpotato - input = /obj/item/weapon/reagent_containers/food/snacks/grown/sweetpotato - output = /obj/item/weapon/reagent_containers/food/snacks/yakiimo /* mobs */ diff --git a/code/modules/food&drinks/recipes/tablecraft/recipes_bread.dm b/code/modules/food&drinks/recipes/tablecraft/recipes_bread.dm index bd110dd8940..083deaf6f20 100644 --- a/code/modules/food&drinks/recipes/tablecraft/recipes_bread.dm +++ b/code/modules/food&drinks/recipes/tablecraft/recipes_bread.dm @@ -70,7 +70,7 @@ /datum/reagent/consumable/soymilk = 5, /obj/item/weapon/reagent_containers/food/snacks/store/bread/plain = 1, /obj/item/weapon/reagent_containers/food/snacks/tofu = 3, - /obj/item/weapon/reagent_containers/food/snacks/grown/mimana = 1 + /obj/item/weapon/reagent_containers/food/snacks/grown/banana/mime = 1 ) result = /obj/item/weapon/reagent_containers/food/snacks/store/bread/mimana category = CAT_FOOD diff --git a/code/modules/food&drinks/recipes/tablecraft/recipes_pie.dm b/code/modules/food&drinks/recipes/tablecraft/recipes_pie.dm index d8eeb9e01e3..19c72203735 100644 --- a/code/modules/food&drinks/recipes/tablecraft/recipes_pie.dm +++ b/code/modules/food&drinks/recipes/tablecraft/recipes_pie.dm @@ -146,7 +146,7 @@ reqs = list( /datum/reagent/consumable/vanilla = 5, /datum/reagent/water = 5, - /obj/item/weapon/reagent_containers/food/snacks/grown/sweetpotato = 2 + /obj/item/weapon/reagent_containers/food/snacks/grown/potato/sweet = 2 ) result = /obj/item/weapon/reagent_containers/food/snacks/pie/dulcedebatata category = CAT_FOOD diff --git a/code/modules/food&drinks/recipes/tablecraft/recipes_soup.dm b/code/modules/food&drinks/recipes/tablecraft/recipes_soup.dm index 37733685285..082fb2b352f 100644 --- a/code/modules/food&drinks/recipes/tablecraft/recipes_soup.dm +++ b/code/modules/food&drinks/recipes/tablecraft/recipes_soup.dm @@ -209,7 +209,7 @@ /datum/reagent/water = 10, /datum/reagent/consumable/sugar = 5, /obj/item/weapon/reagent_containers/glass/bowl = 1, - /obj/item/weapon/reagent_containers/food/snacks/grown/sweetpotato = 2 + /obj/item/weapon/reagent_containers/food/snacks/grown/potato/sweet = 2 ) result = /obj/item/weapon/reagent_containers/food/snacks/soup/sweetpotato category = CAT_FOOD diff --git a/code/modules/hydroponics/grown.dm b/code/modules/hydroponics/grown.dm index 82831a817f0..2a67c8d7499 100644 --- a/code/modules/hydroponics/grown.dm +++ b/code/modules/hydroponics/grown.dm @@ -1,5 +1,3 @@ - - // *********************************************************** // Foods that are produced from hydroponics ~~~~~~~~~~ // Data from the seeds carry over to these grown foods @@ -7,7 +5,8 @@ //Grown foods //Subclass so we can pass on values -/obj/item/weapon/reagent_containers/food/snacks/grown/ +/obj/item/weapon/reagent_containers/food/snacks/grown + icon = 'icons/obj/hydroponics/harvest.dmi' var/seed = null var/plantname = "" var/product //a type path @@ -17,9 +16,17 @@ var/production = 0 var/yield = 0 var/plant_type = 0 - icon = 'icons/obj/hydroponics/harvest.dmi' + var/bitesize_mod = 0 + // If set, bitesize = 1 + round(reagents.total_volume / bitesize_mod) + var/list/reagents_add = list() + // A list of reagents to add. + // Format: "reagent_id" = potency multiplier + // Stronger reagents must always come first to avoid being displaced by weaker ones. + // Total amount of any reagent in plant is calculated by formula: 1 + round(potency * multiplier) potency = -1 - dried_type = -1 //bit different. saves us from having to define each stupid grown's dried_type as itself. If you don't want a plant to be driable (watermelons) set this to null in the time definition. + dried_type = -1 + // Saves us from having to define each stupid grown's dried_type as itself. + // If you don't want a plant to be driable (watermelons) set this to null in the time definition. burn_state = FLAMMABLE /obj/item/weapon/reagent_containers/food/snacks/grown/New(newloc, new_potency = 50) @@ -31,7 +38,8 @@ if(dried_type == -1) dried_type = src.type - if(seed && lifespan == 0) //This is for adminspawn or map-placed growns. They get the default stats of their seed type. This feels like a hack but people insist on putting these things on the map... + if(seed && lifespan == 0) + // This is for adminspawn or map-placed growns. They get the default stats of their seed type. This feels like a hack but people insist on putting these things on the map... var/obj/item/seeds/S = new seed(src) lifespan = S.lifespan endurance = S.endurance @@ -46,6 +54,10 @@ /obj/item/weapon/reagent_containers/food/snacks/grown/proc/add_juice() if(reagents) + for(var/reagent_id in reagents_add) + reagents.add_reagent(reagent_id, 1 + round(potency * reagents_add[reagent_id])) + if(bitesize_mod) + bitesize = 1 + round(reagents.total_volume / bitesize_mod) return 1 return 0 @@ -69,30 +81,24 @@ msg += "- Nutritional value: [reagents.get_reagent_amount("nutriment")]\n" msg += "- Other substances: [reagents.total_volume-reagents.get_reagent_amount("nutriment")]\n" msg += "*---------*" - usr << msg + + var/list/scannable_reagents = list("charcoal" = "Anti-Toxin", "morphine" = "Morphine", "amatoxin" = "Amatoxins", + "toxin" = "Toxins", "mushroomhallucinogen" = "Mushroom Hallucinogen", "condensedcapsaicin" = "Condensed Capsaicin", + "capsaicin" = "Capsaicin", "frostoil" = "Frost Oil", "gold" = "Mineral Content", + "radium" = "Radioactive Material", "uranium" = "Radioactive Material") + var/reag_txt = "" + for(var/reagent_id in scannable_reagents) + if(reagent_id in reagents_add) + var/amt = reagents.get_reagent_amount(reagent_id) + reag_txt += "- [scannable_reagents[reagent_id]]: [amt*100/reagents.maximum_volume]%\n" + + user << msg + if(reag_txt) + user << reag_txt + user << "*---------*" return return -/obj/item/weapon/grown/attackby(obj/item/O, mob/user, params) - ..() - if (istype(O, /obj/item/device/analyzer/plant_analyzer)) - var/msg - msg = "*---------*\n This is \a [src]\n" - switch(plant_type) - if(0) - msg += "- Plant type: Normal plant\n" - if(1) - msg += "- Plant type: Weed. Can grow in nutrient-poor soil.\n" - if(2) - msg += "- Plant type: Mushroom. Can grow in dry soil.\n" - msg += "- Potency: [potency]\n" - msg += "- Yield: [yield]\n" - msg += "- Maturation speed: [maturation]\n" - msg += "- Production speed: [production]\n" - msg += "- Endurance: [endurance]\n" - msg += "*---------*" - usr << msg - return /obj/item/weapon/reagent_containers/food/snacks/grown/corn seed = /obj/item/seeds/cornseed @@ -102,12 +108,8 @@ cooked_type = /obj/item/weapon/reagent_containers/food/snacks/popcorn filling_color = "#FFFF00" trash = /obj/item/weapon/grown/corncob - -/obj/item/weapon/reagent_containers/food/snacks/grown/corn/add_juice() - if(..()) - reagents.add_reagent("nutriment", 1 + round((potency / 10), 1)) - reagents.add_reagent("vitamin", 1 + round((potency / 25), 1)) - bitesize = 1 + round(reagents.total_volume / 2, 1) + reagents_add = list("vitamin" = 0.04, "nutriment" = 0.1) + bitesize_mod = 2 /obj/item/weapon/reagent_containers/food/snacks/grown/cherries @@ -117,12 +119,9 @@ icon_state = "cherry" gender = PLURAL filling_color = "#FF0000" + reagents_add = list("nutriment" = 0.07, "sugar" = 0.07) + bitesize_mod = 2 -/obj/item/weapon/reagent_containers/food/snacks/grown/cherries/add_juice() - if(..()) - reagents.add_reagent("nutriment", 1 + round((potency / 15), 1)) - reagents.add_reagent("sugar", 1 + round((potency / 15), 1)) - bitesize = 1 + round(reagents.total_volume / 2, 1) /obj/item/weapon/reagent_containers/food/snacks/grown/bluecherries seed = /obj/item/seeds/bluecherryseed @@ -130,54 +129,8 @@ desc = "They're cherries that are blue." icon_state = "bluecherry" filling_color = "#6495ED" - -/obj/item/weapon/reagent_containers/food/snacks/grown/bluecherries/add_juice() - if(..()) - reagents.add_reagent("nutriment", 1 + round((potency / 15), 1)) - reagents.add_reagent("sugar", 1 + round((potency / 50), 1)) - bitesize = 1 + round(reagents.total_volume / 2, 1) - - -/obj/item/weapon/reagent_containers/food/snacks/grown/poppy - seed = /obj/item/seeds/poppyseed - name = "poppy" - desc = "Long-used as a symbol of rest, peace, and death." - icon_state = "poppy" - slot_flags = SLOT_HEAD - filling_color = "#FF6347" - -/obj/item/weapon/reagent_containers/food/snacks/grown/poppy/add_juice() - if(..()) - reagents.add_reagent("nutriment", 1 + round((potency / 20), 1)) - reagents.add_reagent("salglu_solution", 1 + round((potency / 20), 1)) - bitesize = 1 + round(reagents.total_volume / 3, 1) - -/obj/item/weapon/reagent_containers/food/snacks/grown/poppy/lily - seed = /obj/item/seeds/lilyseed - name = "lily" - desc = "A beautiful orange flower" - icon_state = "lily" - filling_color = "#FFA500" - -/obj/item/weapon/reagent_containers/food/snacks/grown/poppy/geranium - seed = /obj/item/seeds/geraniumseed - name = "geranium" - desc = "A beautiful blue flower" - icon_state = "geranium" - filling_color = "#008B8B" - -/obj/item/weapon/reagent_containers/food/snacks/grown/harebell - seed = /obj/item/seeds/harebell - name = "harebell" - desc = "\"I'll sweeten thy sad grave: thou shalt not lack the flower that's like thy face, pale primrose, nor the azured hare-bell, like thy veins; no, nor the leaf of eglantine, whom not to slander, out-sweeten'd not thy breath.\"" - icon_state = "harebell" - slot_flags = SLOT_HEAD - filling_color = "#E6E6FA" - -/obj/item/weapon/reagent_containers/food/snacks/grown/harebell/add_juice() - if(..()) - reagents.add_reagent("nutriment", 1 + round((potency / 20), 1)) - bitesize = 1 + round(reagents.total_volume / 3, 1) + reagents_add = list("nutriment" = 0.07, "sugar" = 0.07) + bitesize_mod = 2 /obj/item/weapon/reagent_containers/food/snacks/grown/potato @@ -186,12 +139,8 @@ desc = "Boil 'em! Mash 'em! Stick 'em in a stew!" icon_state = "potato" filling_color = "#E9967A" - -/obj/item/weapon/reagent_containers/food/snacks/grown/potato/add_juice() - if(..()) - reagents.add_reagent("nutriment", 1 + round((potency / 10), 1)) - reagents.add_reagent("vitamin", 1 + round((potency / 25), 1)) - bitesize = reagents.total_volume + reagents_add = list("vitamin" = 0.04, "nutriment" = 0.1) + bitesize = 100 /obj/item/weapon/reagent_containers/food/snacks/grown/potato/attackby(obj/item/weapon/W, mob/user, params) ..() @@ -200,7 +149,7 @@ if (C.use(5)) user << "You add some cable to the potato and slide it inside the battery encasing." var/obj/item/weapon/stock_parts/cell/potato/pocell = new /obj/item/weapon/stock_parts/cell/potato(user.loc) - pocell.maxcharge = src.potency * 10 + pocell.maxcharge = src.potency * 20 pocell.charge = pocell.maxcharge qdel(src) return @@ -208,6 +157,13 @@ user << "You need five lengths of cable to make a potato battery!" return +/obj/item/weapon/reagent_containers/food/snacks/grown/potato/sweet + seed = /obj/item/seeds/sweetpotatoseed + name = "sweet potato" + desc = "It's sweet." + icon_state = "sweetpotato" + reagents_add = list("vitamin" = 0.1, "sugar" = 0.1, "nutriment" = 0.1) + /obj/item/weapon/reagent_containers/food/snacks/grown/grapes seed = /obj/item/seeds/grapeseed @@ -216,13 +172,8 @@ icon_state = "grapes" dried_type = /obj/item/weapon/reagent_containers/food/snacks/no_raisin filling_color = "#FF1493" - -/obj/item/weapon/reagent_containers/food/snacks/grown/grapes/add_juice() - if(..()) - reagents.add_reagent("nutriment", 1 + round((potency / 10), 1)) - reagents.add_reagent("sugar", 1 + round((potency / 10), 1)) - reagents.add_reagent("vitamin", 1 + round((potency / 25), 1)) - bitesize = 1 + round(reagents.total_volume / 2, 1) + reagents_add = list("vitamin" = 0.04, "nutriment" = 0.1, "sugar" = 0.1) + bitesize_mod = 2 /obj/item/weapon/reagent_containers/food/snacks/grown/grapes/green seed = /obj/item/seeds/greengrapeseed @@ -231,10 +182,7 @@ icon_state = "greengrapes" dried_type = /obj/item/weapon/reagent_containers/food/snacks/no_raisin filling_color = "#7FFF00" - -/obj/item/weapon/reagent_containers/food/snacks/grown/grapes/green/add_juice() - ..() - reagents.add_reagent("salglu_solution", 3 + round((potency / 5), 1)) + reagents_add = list("salglu_solution" = 0.25, "vitamin" = 0.04, "nutriment" = 0.1, "sugar" = 0.1) /obj/item/weapon/reagent_containers/food/snacks/grown/cabbage @@ -243,79 +191,8 @@ desc = "Ewwwwwwwwww. Cabbage." icon_state = "cabbage" filling_color = "#90EE90" - -/obj/item/weapon/reagent_containers/food/snacks/grown/cabbage/add_juice() - if(..()) - reagents.add_reagent("nutriment", 1 + round((potency / 10), 1)) - reagents.add_reagent("vitamin", 1 + round((potency / 25), 1)) - bitesize = 1 + round(reagents.total_volume / 2, 1) - - -/obj/item/weapon/reagent_containers/food/snacks/grown/berries - seed = /obj/item/seeds/berryseed - name = "bunch of berries" - desc = "Nutritious!" - icon_state = "berrypile" - gender = PLURAL - filling_color = "#FF00FF" - -/obj/item/weapon/reagent_containers/food/snacks/grown/berries/add_juice() - if(..()) - reagents.add_reagent("nutriment", 1 + round((potency / 10), 1)) - reagents.add_reagent("vitamin", 1 + round((potency / 25), 1)) - bitesize = 1 + round(reagents.total_volume / 2, 1) - -/obj/item/weapon/reagent_containers/food/snacks/grown/berries/poison - seed = /obj/item/seeds/poisonberryseed - name = "bunch of poison-berries" - desc = "Taste so good, you could die!" - icon_state = "poisonberrypile" - filling_color = "#C71585" - -/obj/item/weapon/reagent_containers/food/snacks/grown/berries/poison/add_juice() - ..() - reagents.add_reagent("toxin", 3 + round(potency / 5, 1)) - -/obj/item/weapon/reagent_containers/food/snacks/grown/berries/death - seed = /obj/item/seeds/deathberryseed - name = "bunch of death-berries" - desc = "Taste so good, you could die!" - icon_state = "deathberrypile" - filling_color = "#708090" - -/obj/item/weapon/reagent_containers/food/snacks/grown/berries/death/add_juice() - ..() - reagents.add_reagent("toxin", 3 + round(potency / 3, 1)) - reagents.add_reagent("lexorin", 1 + round(potency / 5, 1)) - -/obj/item/weapon/reagent_containers/food/snacks/grown/berries/glow - seed = /obj/item/seeds/glowberryseed - name = "bunch of glow-berries" - desc = "Nutritious!" - var/on = 1 - var/brightness_on = 2 //luminosity when on - icon_state = "glowberrypile" - filling_color = "#7CFC00" - -/obj/item/weapon/reagent_containers/food/snacks/grown/berries/glow/add_juice() - ..() - reagents.add_reagent("uranium", 3 + round(potency / 5, 1)) - bitesize = 1 + round(reagents.total_volume / 2, 1) - -/obj/item/weapon/reagent_containers/food/snacks/grown/berries/glow/Destroy() - if(istype(loc,/mob)) - loc.AddLuminosity(round(-potency / 5,1)) - return ..() - -/obj/item/weapon/reagent_containers/food/snacks/grown/berries/glow/pickup(mob/user) - ..() - src.SetLuminosity(0) - user.AddLuminosity(round(potency / 5,1)) - -/obj/item/weapon/reagent_containers/food/snacks/grown/berries/glow/dropped(mob/user) - ..() - user.AddLuminosity(round(-potency / 5,1)) - src.SetLuminosity(round(potency / 5,1)) + reagents_add = list("vitamin" = 0.04, "nutriment" = 0.1) + bitesize_mod = 2 /obj/item/weapon/reagent_containers/food/snacks/grown/cocoapod @@ -324,12 +201,8 @@ desc = "Fattening... Mmmmm... chucklate." icon_state = "cocoapod" filling_color = "#FFD700" - -/obj/item/weapon/reagent_containers/food/snacks/grown/cocoapod/add_juice() - if(..()) - reagents.add_reagent("nutriment", 1 + round((potency / 10), 1)) - reagents.add_reagent("cocoa", 4 + round((potency / 5), 1)) - bitesize = 1 + round(reagents.total_volume / 2, 1) + reagents_add = list("cocoa" = 0.25, "nutriment" = 0.1) + bitesize_mod = 2 /obj/item/weapon/reagent_containers/food/snacks/grown/vanillapod seed = /obj/item/seeds/vanillapodseed @@ -337,12 +210,7 @@ desc = "Fattening... Mmmmm... vanilla." icon_state = "vanillapod" filling_color = "#FFD700" - -/obj/item/weapon/reagent_containers/food/snacks/grown/vanillapod/add_juice() - if(..()) - reagents.add_reagent("nutriment", 1 + round((potency / 10), 1)) - reagents.add_reagent("vanilla", 4 + round((potency / 5), 1)) - bitesize = 1 + round(reagents.total_volume / 2, 1) + reagents_add = list("vanilla" = 0.25, "nutriment" = 0.1) /obj/item/weapon/reagent_containers/food/snacks/grown/sugarcane seed = /obj/item/seeds/sugarcaneseed @@ -350,12 +218,8 @@ desc = "Sickly sweet." icon_state = "sugarcane" filling_color = "#FFD700" - -/obj/item/weapon/reagent_containers/food/snacks/grown/sugarcane/add_juice() - if(..()) - reagents.add_reagent("sugar", 4 + round((potency / 5), 1)) - bitesize = 1 + round(reagents.total_volume / 2, 1) - + reagents_add = list("sugar" = 0.25) + bitesize_mod = 2 /obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia //abstract type name = "ambrosia branch" @@ -363,26 +227,15 @@ icon_state = "ambrosiavulgaris" slot_flags = SLOT_HEAD filling_color = "#008000" - -/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia/add_juice() - if(..()) - reagents.add_reagent("nutriment", 1) - bitesize = 1 + round(reagents.total_volume / 2, 1) - + reagents_add = list("nutriment" = 0) + // It means 1 nutriment no matter how low or high potency is + bitesize_mod = 2 /obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia/vulgaris seed = /obj/item/seeds/ambrosiavulgarisseed name = "ambrosia vulgaris branch" desc = "This is a plant containing various healing chemicals." - -/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia/vulgaris/add_juice() - ..() - reagents.add_reagent("space_drugs", 1 + round(potency / 8, 1)) - reagents.add_reagent("salglu_solution", 1 + round(potency / 8, 1)) - reagents.add_reagent("salglu_solution", 1 + round(potency / 10, 1)) - reagents.add_reagent("toxin", 1 + round(potency / 10, 1)) - reagents.add_reagent("vitamin", 1 + round((potency / 25), 1)) - + reagents_add = list("space_drugs" = 0.15, "salglu_solution" = 0.25, "vitamin" = 0.04, "nutriment" = 0, "toxin" = 0.1) /obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia/deus seed = /obj/item/seeds/ambrosiadeusseed @@ -390,56 +243,7 @@ desc = "Eating this makes you feel immortal!" icon_state = "ambrosiadeus" filling_color = "#008B8B" - -/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia/deus/add_juice() - ..() - reagents.add_reagent("omnizine", 1 + round(potency / 8, 1)) - reagents.add_reagent("synaptizine", 1 + round(potency / 8, 1)) - reagents.add_reagent("space_drugs", 1 + round(potency / 10, 1)) - reagents.add_reagent("vitamin", 1 + round((potency / 25), 1)) - - -/obj/item/weapon/reagent_containers/food/snacks/grown/apple - seed = /obj/item/seeds/appleseed - name = "apple" - desc = "It's a little piece of Eden." - icon_state = "apple" - filling_color = "#FF4500" - -/obj/item/weapon/reagent_containers/food/snacks/grown/apple/add_juice() - if(..()) - reagents.maximum_volume = 20 - reagents.add_reagent("nutriment", 1 + round((potency / 10), 1)) - reagents.add_reagent("vitamin", 1 + round((potency / 25), 1)) - bitesize = reagents.maximum_volume // Always eat the apple in one - - -/obj/item/weapon/reagent_containers/food/snacks/grown/apple/poisoned - seed = /obj/item/seeds/poisonedappleseed - name = "apple" - desc = "It's a little piece of Eden." - icon_state = "apple" - -/obj/item/weapon/reagent_containers/food/snacks/grown/apple/poisoned/add_juice() - ..() - reagents.add_reagent("cyanide", 1 + round((potency / 5), 1)) - - -/obj/item/weapon/reagent_containers/food/snacks/grown/apple/gold - seed = /obj/item/seeds/goldappleseed - name = "golden apple" - desc = "Emblazoned upon the apple is the word 'Kallisti'." - icon_state = "goldapple" - filling_color = "#FFD700" - -/obj/item/weapon/reagent_containers/food/snacks/grown/apple/gold/add_juice() - ..() - reagents.add_reagent("gold", 1 + round((potency / 5), 1)) - -/obj/item/weapon/reagent_containers/food/snacks/grown/apple/gold/attackby(var/obj/item/O as obj, var/mob/user as mob, params) - . = ..() - if (istype(O, /obj/item/device/analyzer/plant_analyzer)) - user << "- Mineral Content: [reagents.get_reagent_amount("gold")]%" + reagents_add = list("omnizine" = 0.15, "synaptizine" = 0.15, "space_drugs" = 0.1, "vitamin" = 0.04, "nutriment" = 0) /obj/item/weapon/reagent_containers/food/snacks/grown/watermelon @@ -452,12 +256,8 @@ dried_type = null w_class = 3 filling_color = "#008000" - -/obj/item/weapon/reagent_containers/food/snacks/grown/watermelon/add_juice() - if(..()) - reagents.add_reagent("nutriment", 1 + round((potency / 6), 1)) - reagents.add_reagent("vitamin", 1 + round((potency / 25), 1)) - bitesize = 1 + round(reagents.total_volume / 2, 1) + reagents_add = list("vitamin" = 0.04, "nutriment" = 0.2, "water" = 0.1) + bitesize_mod = 3 /obj/item/weapon/reagent_containers/food/snacks/grown/holymelon seed = /obj/item/seeds/holymelonseed @@ -466,13 +266,7 @@ icon_state = "holymelon" filling_color = "#FFD700" dried_type = null - -/obj/item/weapon/reagent_containers/food/snacks/grown/holymelon/add_juice() - if(..()) - reagents.add_reagent("nutriment", 1 + round((potency / 15), 1)) - reagents.add_reagent("vitamin", 1 + round((potency / 25), 1)) - reagents.add_reagent("holywater", 1 + round((potency / 6), 1)) - bitesize = 1 + round(reagents.total_volume / 2, 1) + reagents_add = list("holywater" = 0.2, "vitamin" = 0.04, "nutriment" = 0.1) /obj/item/weapon/reagent_containers/food/snacks/grown/pumpkin seed = /obj/item/seeds/pumpkinseed @@ -480,18 +274,14 @@ desc = "It's large and scary." icon_state = "pumpkin" filling_color = "#FFA500" - -/obj/item/weapon/reagent_containers/food/snacks/grown/pumpkin/add_juice() - if(..()) - reagents.add_reagent("nutriment", 1 + round((potency / 6), 1)) - reagents.add_reagent("vitamin", 1 + round((potency / 25), 1)) - bitesize = 1 + round(reagents.total_volume / 2, 1) + reagents_add = list("vitamin" = 0.04, "nutriment" = 0.2) + bitesize_mod = 2 /obj/item/weapon/reagent_containers/food/snacks/grown/pumpkin/attackby(obj/item/weapon/W as obj, mob/user as mob, params) ..() if(W.is_sharp()) user.show_message("You carve a face into [src]!", 1) - new /obj/item/clothing/head/hardhat/pumpkinhead (user.loc) + new /obj/item/clothing/head/hardhat/pumpkinhead(user.loc) qdel(src) return @@ -501,45 +291,8 @@ desc = "The pumpkin's toxic sibling." icon_state = "blumpkin" filling_color = "#87CEFA" - -/obj/item/weapon/reagent_containers/food/snacks/grown/blumpkin/add_juice() - if(..()) - reagents.add_reagent("nutriment", 1 + round((potency / 6), 1)) - reagents.add_reagent("ammonia", 1 + round((potency / 6), 1)) - bitesize = 1 + round(reagents.total_volume / 2, 1) - -/obj/item/weapon/reagent_containers/food/snacks/grown/citrus/ //abstract type - seed = /obj/item/seeds/limeseed - name = "citrus" - desc = "It's so sour, your face will twist." - icon_state = "lime" - -/obj/item/weapon/reagent_containers/food/snacks/grown/citrus/add_juice() - if(..()) - reagents.add_reagent("nutriment", 1 + round((potency / 20), 1)) - reagents.add_reagent("vitamin", 1 + round((potency / 25), 1)) - bitesize = 1 + round(reagents.total_volume / 2, 1) - -/obj/item/weapon/reagent_containers/food/snacks/grown/citrus/lime - seed = /obj/item/seeds/limeseed - name = "lime" - desc = "It's so sour, your face will twist." - icon_state = "lime" - filling_color = "#00FF00" - -/obj/item/weapon/reagent_containers/food/snacks/grown/citrus/lemon - seed = /obj/item/seeds/lemonseed - name = "lemon" - desc = "When life gives you lemons, be grateful they aren't limes." - icon_state = "lemon" - filling_color = "#FFD700" - -/obj/item/weapon/reagent_containers/food/snacks/grown/citrus/orange - seed = /obj/item/seeds/orangeseed - name = "orange" - desc = "It's an tangy fruit." - icon_state = "orange" - filling_color = "#FFA500" + reagents_add = list("ammonia" = 0.2, "nutriment" = 0.2) + bitesize_mod = 2 /obj/item/weapon/reagent_containers/food/snacks/grown/whitebeet @@ -548,186 +301,25 @@ desc = "You can't beat white-beet." icon_state = "whitebeet" filling_color = "#F4A460" - -/obj/item/weapon/reagent_containers/food/snacks/grown/whitebeet/add_juice() - if(..()) - reagents.add_reagent("nutriment", round((potency / 20), 1)) - reagents.add_reagent("vitamin", 1 + round((potency / 25), 1)) - reagents.add_reagent("sugar", 1 + round((potency / 5), 1)) - bitesize = 1 + round(reagents.total_volume / 2, 1) - -/obj/item/weapon/reagent_containers/food/snacks/grown/sweetpotato - seed = /obj/item/seeds/sweetpotatoseed - name = "sweet potato" - desc = "It's sweet." - icon_state = "sweetpotato" - -/obj/item/weapon/reagent_containers/food/snacks/grown/sweetpotato/add_juice() - if(..()) - reagents.add_reagent("nutriment", 1 + round((potency / 10), 1)) - reagents.add_reagent("vitamin", 1 + round((potency / 10), 1)) - reagents.add_reagent("sugar", 1 + round((potency / 10), 1)) - bitesize = reagents.total_volume + reagents_add = list("vitamin" = 0.04, "sugar" = 0.2, "nutriment" = 0.05) + bitesize_mod = 2 /obj/item/weapon/reagent_containers/food/snacks/grown/parsnip seed = /obj/item/seeds/parsnipseed name = "parsnip" desc = "Closely related to carrots." icon_state = "parsnip" - -/obj/item/weapon/reagent_containers/food/snacks/grown/parsnip/add_juice() - if(..()) - reagents.add_reagent("nutriment", 1 + round((potency / 20), 1)) - reagents.add_reagent("vitamin", 1 + round((potency / 20), 1)) - bitesize = 1 + round(reagents.total_volume / 2, 1) + reagents_add = list("vitamin" = 0.05, "nutriment" = 0.05) + bitesize_mod = 2 /obj/item/weapon/reagent_containers/food/snacks/grown/redbeet seed = /obj/item/seeds/redbeetseed name = "red beet" desc = "You can't beat red beet." icon_state = "redbeet" + reagents_add = list("vitamin" = 0.05, "nutriment" = 0.05) + bitesize_mod = 2 -/obj/item/weapon/reagent_containers/food/snacks/grown/redbeet/add_juice() - if(..()) - reagents.add_reagent("nutriment", round((potency / 20), 1)) - reagents.add_reagent("vitamin", 1 + round((potency / 20), 1)) - bitesize = 1 + round(reagents.total_volume / 2, 1) - -/obj/item/weapon/reagent_containers/food/snacks/grown/banana - seed = /obj/item/seeds/bananaseed - name = "banana" - desc = "It's an excellent prop for a clown." - icon = 'icons/obj/items.dmi' - icon_state = "banana" - item_state = "banana" - trash = /obj/item/weapon/grown/bananapeel - filling_color = "#FFFF00" - -/obj/item/weapon/reagent_containers/food/snacks/grown/banana/add_juice() - if(..()) - reagents.add_reagent("nutriment", 1 + round((potency / 50), 1)) - reagents.add_reagent("banana", 1 + round((potency / 10), 1)) - reagents.add_reagent("vitamin", 1 + round((potency / 25), 1)) - bitesize = 5 - -/obj/item/weapon/reagent_containers/food/snacks/grown/banana/suicide_act(mob/user) - user.visible_message("[user] is aiming the [src.name] at themself! It looks like \he's trying to commit suicide.") - playsound(loc, 'sound/items/bikehorn.ogg', 50, 1, -1) - sleep(25) - user.say("BANG!") - sleep(25) - user.visible_message("[user] laughs so hard they begin to suffocate!") - return (OXYLOSS) - -/obj/item/weapon/reagent_containers/food/snacks/grown/bluespacebanana - seed = /obj/item/seeds/bluespacebananaseed - name = "bluespace banana" - desc = "It's an excellent prank for a clown." - icon_state = "banana_blue" - trash = /obj/item/weapon/grown/bananapeel/bluespace - filling_color = "#0000FF" - origin_tech = "bluespace=3" - -/obj/item/weapon/reagent_containers/food/snacks/grown/bluespacebanana/add_juice() - if(..()) - reagents.add_reagent("nutriment", 1 + round((potency / 50), 1)) - reagents.add_reagent("banana", 1 + round((potency / 10), 1)) - reagents.add_reagent("vitamin", 1 + round((potency / 25), 1)) - reagents.add_reagent("singulo", 1 + round((potency / 5), 1)) - bitesize = 5 - -/obj/item/weapon/reagent_containers/food/snacks/grown/mimana - seed = /obj/item/seeds/mimanaseed - name = "mimana" - desc = "It's an excellent prop for a mime." - icon_state = "mimana" - trash = /obj/item/weapon/grown/bananapeel/mimanapeel - filling_color = "#FFFFEE" - -/obj/item/weapon/reagent_containers/food/snacks/grown/mimana/add_juice() - if(..()) - reagents.add_reagent("nutriment", 1 + round((potency / 50), 1)) - reagents.add_reagent("nothing", 2 + round((potency / 10), 1)) - reagents.add_reagent("mutetoxin", 2 + round((potency / 10), 1)) - bitesize = 5 - -/obj/item/weapon/reagent_containers/food/snacks/grown/chili - seed = /obj/item/seeds/chiliseed - name = "chili" - desc = "It's spicy! Wait... IT'S BURNING ME!!" - icon_state = "chilipepper" - filling_color = "#FF0000" - -/obj/item/weapon/reagent_containers/food/snacks/grown/chili/add_juice() - if(..()) - reagents.add_reagent("nutriment", 1 + round((potency / 25), 1)) - reagents.add_reagent("capsaicin", 3+round(potency / 5, 1)) - reagents.add_reagent("vitamin", 1 + round((potency / 25), 1)) - bitesize = 1 + round(reagents.total_volume / 2, 1) - -/obj/item/weapon/reagent_containers/food/snacks/grown/chili/attackby(obj/item/O, mob/user, params) - . = ..() - if (istype(O, /obj/item/device/analyzer/plant_analyzer)) - user << "- Capsaicin: [reagents.get_reagent_amount("capsaicin")]%" - - -/obj/item/weapon/reagent_containers/food/snacks/grown/icepepper - seed = /obj/item/seeds/icepepperseed - name = "ice pepper" - desc = "It's a mutant strain of chili" - icon_state = "icepepper" - filling_color = "#0000CD" - -/obj/item/weapon/reagent_containers/food/snacks/grown/icepepper/add_juice() - ..() - reagents.add_reagent("nutriment", 1 + round((potency / 50), 1)) - reagents.add_reagent("vitamin", 1 + round((potency / 50), 1)) - reagents.add_reagent("frostoil", 3+round(potency / 5, 1)) - bitesize = 1 + round(reagents.total_volume / 2, 1) - -/obj/item/weapon/reagent_containers/food/snacks/grown/icepepper/attackby(obj/item/O, mob/user, params) - . = ..() - if (istype(O, /obj/item/device/analyzer/plant_analyzer)) - user << "- Frost Oil: [reagents.get_reagent_amount("frostoil")]%" - - -/obj/item/weapon/reagent_containers/food/snacks/grown/ghost_chili - seed = /obj/item/seeds/chilighost - name = "ghost chili" - desc = "It seems to be vibrating gently." - icon_state = "ghostchilipepper" - var/mob/held_mob - filling_color = "#F8F8FF" - -/obj/item/weapon/reagent_containers/food/snacks/grown/ghost_chili/add_juice() - ..() - reagents.add_reagent("nutriment", 1 + round((potency / 25), 1)) - reagents.add_reagent("capsaicin", 8+round(potency / 2, 1)) - reagents.add_reagent("condensedcapsaicin", 4+round(potency / 4, 1)) - bitesize = 1 + round(reagents.total_volume / 4, 1) - -/obj/item/weapon/reagent_containers/food/snacks/grown/ghost_chili/attackby(obj/item/O, mob/user, params) - . = ..() - if (istype(O, /obj/item/device/analyzer/plant_analyzer)) - user << "- Capsaicin: [reagents.get_reagent_amount("capsaicin")]%" - -/obj/item/weapon/reagent_containers/food/snacks/grown/ghost_chili/attack_hand(mob/user) - ..() - if( istype(src.loc, /mob) ) - held_mob = src.loc - SSobj.processing |= src - -/obj/item/weapon/reagent_containers/food/snacks/grown/ghost_chili/process() - if(held_mob && src.loc == held_mob) - if( (held_mob.l_hand == src) || (held_mob.r_hand == src)) - if(hasvar(held_mob,"gloves") && held_mob:gloves) - return - held_mob.bodytemperature += 15 * TEMPERATURE_DAMAGE_COEFFICIENT - if(prob(10)) - held_mob << "Your hand holding [src] burns!" - else - held_mob = null - ..() /obj/item/weapon/reagent_containers/food/snacks/grown/eggplant seed = /obj/item/seeds/eggplantseed @@ -735,15 +327,11 @@ desc = "Maybe there's a chicken inside?" icon_state = "eggplant" filling_color = "#800080" - -/obj/item/weapon/reagent_containers/food/snacks/grown/eggplant/add_juice() - if(..()) - reagents.add_reagent("nutriment", 1 + round((potency / 10), 1)) - reagents.add_reagent("vitamin", 1 + round((potency / 25), 1)) - bitesize = 1 + round(reagents.total_volume / 2, 1) + reagents_add = list("vitamin" = 0.04, "nutriment" = 0.1) + bitesize_mod = 2 -/obj/item/weapon/reagent_containers/food/snacks/grown/shell/ +/obj/item/weapon/reagent_containers/food/snacks/grown/shell var/inside_type = null /obj/item/weapon/reagent_containers/food/snacks/grown/shell/attack_self(mob/user as mob) @@ -752,18 +340,15 @@ user.unEquip(src) qdel(src) -obj/item/weapon/reagent_containers/food/snacks/grown/shell/eggy +/obj/item/weapon/reagent_containers/food/snacks/grown/shell/eggy seed = /obj/item/seeds/eggyseed name = "Egg-plant" desc = "There MUST be a chicken inside." icon_state = "eggyplant" inside_type = /obj/item/weapon/reagent_containers/food/snacks/egg filling_color = "#F8F8FF" - -obj/item/weapon/reagent_containers/food/snacks/grown/shell/eggy/add_juice() - ..() - reagents.add_reagent("nutriment", 1 + round((potency / 10), 1)) - bitesize = 1 + round(reagents.total_volume / 2, 1) + reagents_add = list("nutriment" = 0.1) + bitesize_mod = 2 /obj/item/weapon/reagent_containers/food/snacks/grown/soybeans @@ -773,12 +358,8 @@ obj/item/weapon/reagent_containers/food/snacks/grown/shell/eggy/add_juice() gender = PLURAL icon_state = "soybeans" filling_color = "#F0E68C" - -/obj/item/weapon/reagent_containers/food/snacks/grown/soybeans/add_juice() - if(..()) - reagents.add_reagent("nutriment", 1 + round((potency / 20), 1)) - reagents.add_reagent("vitamin", 1 + round((potency / 25), 1)) - bitesize = 1 + round(reagents.total_volume / 2, 1) + reagents_add = list("vitamin" = 0.04, "nutriment" = 0.05) + bitesize_mod = 2 /obj/item/weapon/reagent_containers/food/snacks/grown/koibeans seed = /obj/item/seeds/koiseed @@ -786,147 +367,15 @@ obj/item/weapon/reagent_containers/food/snacks/grown/shell/eggy/add_juice() desc = "Something about these seems fishy." icon_state = "koibeans" filling_color = "#F0E68C" - -/obj/item/weapon/reagent_containers/food/snacks/grown/koibeans/add_juice() - if(..()) - reagents.add_reagent("nutriment", 1 + round((potency / 30), 1)) - reagents.add_reagent("carpotoxin", 1 + round((potency / 20), 1)) - reagents.add_reagent("vitamin", 1 + round((potency / 25), 1)) - bitesize = 1 + round(reagents.total_volume / 2, 1) - -/obj/item/weapon/reagent_containers/food/snacks/grown/moonflower - seed = /obj/item/seeds/moonflowerseed - name = "moonflower" - desc = "Store in a location at least 50 yards away from werewolves." - icon_state = "moonflower" - slot_flags = SLOT_HEAD - filling_color = "#E6E6FA" - -/obj/item/weapon/reagent_containers/food/snacks/grown/moonflower/add_juice() - if(..()) - reagents.add_reagent("nutriment", 1 + round((potency / 50), 1)) - reagents.add_reagent("moonshine", 1 + round((potency / 10), 1)) - reagents.add_reagent("vitamin", 1 + round((potency / 50), 1)) - bitesize = 1 + round(reagents.total_volume / 2, 1) - -//tomaters -/obj/item/weapon/reagent_containers/food/snacks/grown/tomato - seed = /obj/item/seeds/tomatoseed - name = "tomato" - desc = "I say to-mah-to, you say tom-mae-to." - icon_state = "tomato" - var/splat = /obj/effect/decal/cleanable/tomato_smudge - filling_color = "#FF6347" - -/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/add_juice() - if(..()) - reagents.add_reagent("nutriment", 1 + round((potency / 10), 1)) - reagents.add_reagent("vitamin", 1 + round((potency / 25), 1)) - bitesize = 1 + round(reagents.total_volume / 2, 1) - -/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/proc/squish(atom/target) - var/turf/T = get_turf(target) - new splat(T) - visible_message("The [src.name] has been squashed.","You hear a smack.") - for(var/atom/A in get_turf(target)) - reagents.reaction(A) - -/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/throw_impact(atom/hit_atom) - if(!..()) //was it caught by a mob? - squish(hit_atom) - qdel(src) - -/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/killer - seed = /obj/item/seeds/killertomatoseed - name = "killer-tomato" - desc = "I say to-mah-to, you say tom-mae-to... OH GOD IT'S EATING MY LEGS!!" - icon_state = "killertomato" - var/awakening = 0 - filling_color = "#FF0000" - -/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/killer/attack(mob/M, mob/user, def_zone) - if(awakening) - user << "The tomato is twitching and shaking, preventing you from eating it." - return - ..() - -/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/killer/attack_self(mob/user) - if(awakening || istype(user.loc,/turf/space)) - return - user << "You begin to awaken the Killer Tomato..." - awakening = 1 - - spawn(30) - if(!gc_destroyed) - var/mob/living/simple_animal/hostile/killertomato/K = new /mob/living/simple_animal/hostile/killertomato(get_turf(src.loc)) - K.maxHealth += round(endurance / 3) - K.melee_damage_lower += round(potency / 10) - K.melee_damage_upper += round(potency / 10) - K.move_to_delay -= round(production / 50) - K.health = K.maxHealth - K.visible_message("The Killer Tomato growls as it suddenly awakens.") - if(user) - user.unEquip(src) - qdel(src) + reagents_add = list("carpotoxin" = 0.05, "vitamin" = 0.04, "nutriment" = 0.05) + bitesize_mod = 2 -/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/blood - seed = /obj/item/seeds/bloodtomatoseed - name = "blood-tomato" - desc = "So bloody...so...very...bloody....AHHHH!!!!" - icon_state = "bloodtomato" - splat = /obj/effect/gibspawner/generic - filling_color = "#FF0000" - -/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/blood/add_juice(loc, potency = 10) - ..() - reagents.add_reagent("blood", 1 + round((potency / 5)), list("blood_type"="O-")) -/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/blue - seed = /obj/item/seeds/bluetomatoseed - name = "blue-tomato" - desc = "I say blue-mah-to, you say blue-mae-to." - icon_state = "bluetomato" - splat = /obj/effect/decal/cleanable/oil - filling_color = "#0000FF" -/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/blue/add_juice() - ..() - reagents.add_reagent("lube", 1 + round((potency / 5), 1)) -/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/blue/Crossed(AM as mob|obj) - if (istype(AM, /mob/living/carbon)) - var/mob/living/carbon/M = AM - var/stun = Clamp(potency / 10, 1, 10) - var/weaken = Clamp(potency / 20, 0.5, 5) - M.slip(stun, weaken, src) - -/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/blue/bluespace - seed = /obj/item/seeds/bluespacetomatoseed - name = "blue-space tomato" - desc = "So lubricated, you might slip through space-time." - icon_state = "bluespacetomato" - origin_tech = "bluespace=3" - -/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/blue/bluespace/add_juice() - ..() - reagents.add_reagent("singulo", 1 + round((potency / 5), 1)) - -/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/blue/bluespace/attack_self(mob/user) - squish(user) - user.unEquip(src) - src.visible_message("[user] squashes the [src.name].","You hear a smack.") - qdel(src) - -/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/blue/bluespace/squish(atom/squishee) - ..() - var/teleport_radius = potency / 10 - if(isliving(squishee)) - var/turf/T = get_turf(squishee) - new /obj/effect/decal/cleanable/molten_item(T) //Leave a pile of goo behind for dramatic effect... - do_teleport(squishee, get_turf(squishee), teleport_radius) /obj/item/weapon/reagent_containers/food/snacks/grown/wheat @@ -936,11 +385,8 @@ obj/item/weapon/reagent_containers/food/snacks/grown/shell/eggy/add_juice() gender = PLURAL icon_state = "wheat" filling_color = "#F0E68C" - -/obj/item/weapon/reagent_containers/food/snacks/grown/wheat/add_juice() - if(..()) - reagents.add_reagent("nutriment", 1 + round((potency / 25), 1)) - bitesize = 1 + round(reagents.total_volume / 2, 1) + bitesize_mod = 2 + reagents_add = list("nutriment" = 0.04) /obj/item/weapon/reagent_containers/food/snacks/grown/oat seed = /obj/item/seeds/oatseed @@ -949,11 +395,8 @@ obj/item/weapon/reagent_containers/food/snacks/grown/shell/eggy/add_juice() gender = PLURAL icon_state = "oat" filling_color = "#556B2F" - -/obj/item/weapon/reagent_containers/food/snacks/grown/oat/add_juice() - if(..()) - reagents.add_reagent("nutriment", 1 + round((potency / 25), 1)) - bitesize = 1 + round(reagents.total_volume / 2, 1) + bitesize_mod = 2 + reagents_add = list("nutriment" = 0.04) /obj/item/weapon/reagent_containers/food/snacks/grown/rice seed = /obj/item/seeds/riceseed @@ -962,11 +405,8 @@ obj/item/weapon/reagent_containers/food/snacks/grown/shell/eggy/add_juice() gender = PLURAL icon_state = "rice" filling_color = "#FAFAD2" - -/obj/item/weapon/reagent_containers/food/snacks/grown/rice/add_juice() - if(..()) - reagents.add_reagent("rice", 1 + round((potency / 6), 1)) - bitesize = 1 + round(reagents.total_volume / 2, 1) + bitesize_mod = 2 + reagents_add = list("nutriment" = 0.04) /obj/item/weapon/reagent_containers/food/snacks/grown/grass seed = /obj/item/seeds/grassseed @@ -974,11 +414,8 @@ obj/item/weapon/reagent_containers/food/snacks/grown/shell/eggy/add_juice() desc = "Green and lush." icon_state = "grassclump" filling_color = "#32CD32" - -/obj/item/weapon/reagent_containers/food/snacks/grown/grass/add_juice() - if(..()) - reagents.add_reagent("nutriment", 1 + round((potency / 50), 1)) - bitesize = 1 + round(reagents.total_volume / 2, 1) + bitesize_mod = 2 + reagents_add = list("nutriment" = 0.02) /obj/item/weapon/reagent_containers/food/snacks/grown/grass/attack_self(mob/user) user << "You prepare the astroturf." @@ -1031,12 +468,8 @@ obj/item/weapon/reagent_containers/food/snacks/grown/shell/eggy/add_juice() icon_state = "kudzupod" var/list/mutations = list() filling_color = "#6B8E23" - -/obj/item/weapon/reagent_containers/food/snacks/grown/kudzupod/add_juice() - if(..()) - reagents.add_reagent("nutriment", 1 + round((potency / 50), 1)) - reagents.add_reagent("charcoal", 1 + round((potency / 25), 1)) - bitesize = 1 + round(reagents.total_volume / 2, 1) + bitesize_mod = 2 + reagents_add = list("charcoal" = 0.04, "nutriment" = 0.02) /obj/item/weapon/reagent_containers/food/snacks/grown/carrot @@ -1045,13 +478,8 @@ obj/item/weapon/reagent_containers/food/snacks/grown/shell/eggy/add_juice() desc = "It's good for the eyes!" icon_state = "carrot" filling_color = "#FFA500" - -/obj/item/weapon/reagent_containers/food/snacks/grown/carrot/add_juice() - if(..()) - reagents.add_reagent("nutriment", 1 + round((potency / 20), 1)) - reagents.add_reagent("vitamin", 1 + round((potency / 25), 1)) - reagents.add_reagent("oculine", 3+round(potency / 5, 1)) - bitesize = 1 + round(reagents.total_volume / 2, 1) + bitesize_mod = 2 + reagents_add = list("oculine" = 0.25, "vitamin" = 0.04, "nutriment" = 0.05) /obj/item/weapon/reagent_containers/food/snacks/grown/carrot/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/weapon/kitchen/knife) || istype(I, /obj/item/weapon/hatchet)) @@ -1063,215 +491,7 @@ obj/item/weapon/reagent_containers/food/snacks/grown/shell/eggy/add_juice() qdel(src) else return ..() -/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom - name = "mushroom" -/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/reishi - seed = /obj/item/seeds/reishimycelium - name = "reishi" - desc = "Ganoderma lucidum: A special fungus known for its medicinal and stress relieving properties." - icon_state = "reishi" - filling_color = "#FF4500" - -/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/reishi/add_juice() - ..() - reagents.add_reagent("nutriment", 1) - reagents.add_reagent("charcoal", 3+round(potency / 3, 1)) - reagents.add_reagent("morphine", 3+round(potency / 3, 1)) - bitesize = 1 + round(reagents.total_volume / 2, 1) - -/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/reishi/attackby(obj/item/O, mob/user, params) - . = ..() - if (istype(O, /obj/item/device/analyzer/plant_analyzer)) - user << "- Anti-Toxin: [reagents.get_reagent_amount("charcoal")]%" - user << "- Morphine: [reagents.get_reagent_amount("morphine")]%" - -/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/amanita - seed = /obj/item/seeds/amanitamycelium - name = "fly amanita" - desc = "Amanita Muscaria: Learn poisonous mushrooms by heart. Only pick mushrooms you know." - icon_state = "amanita" - filling_color = "#FF0000" - -/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/amanita/add_juice() - ..() - reagents.add_reagent("nutriment", 1) - reagents.add_reagent("amatoxin", 3+round(potency / 3, 1)) - reagents.add_reagent("mushroomhallucinogen", 1 + round(potency / 25, 1)) - bitesize = 1 + round(reagents.total_volume / 2, 1) - -/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/amanita/attackby(obj/item/O, mob/user, params) - . = ..() - if (istype(O, /obj/item/device/analyzer/plant_analyzer)) - user << "- Amatoxins: [reagents.get_reagent_amount("amatoxin")]%" - user << "- Mushroom Hallucinogen: [reagents.get_reagent_amount("mushroomhallucinogen")]%" - -/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/angel - seed = /obj/item/seeds/angelmycelium - name = "destroying angel" - desc = "Amanita Virosa: Deadly poisonous basidiomycete fungus filled with alpha amatoxins." - icon_state = "angel" - filling_color = "#C0C0C0" - -/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/angel/add_juice() - ..() - reagents.add_reagent("nutriment", 1 + round((potency / 50), 1)) - reagents.add_reagent("amatoxin", 13+round(potency / 3, 1)) - reagents.add_reagent("mushroomhallucinogen", 1 + round(potency / 25, 1)) - bitesize = 1 + round(reagents.total_volume / 2, 1) - -/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/angel/attackby(obj/item/O, mob/user, params) - . = ..() - if (istype(O, /obj/item/device/analyzer/plant_analyzer)) - user << "- Amatoxins: [reagents.get_reagent_amount("amatoxin")]%" - user << "- Mushroom Hallucinogen: [reagents.get_reagent_amount("mushroomhallucinogen")]%" - -/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/libertycap - seed = /obj/item/seeds/libertymycelium - name = "liberty-cap" - desc = "Psilocybe Semilanceata: Liberate yourself!" - icon_state = "libertycap" - filling_color = "#DAA520" - -/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/libertycap/add_juice(loc, potency = 15) - ..() - reagents.add_reagent("nutriment", 1 + round((potency / 50), 1)) - reagents.add_reagent("mushroomhallucinogen", 3+round(potency / 5, 1)) - bitesize = 1 + round(reagents.total_volume / 2, 1) - -/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/libertycap/attackby(obj/item/O, mob/user, params) - . = ..() - if (istype(O, /obj/item/device/analyzer/plant_analyzer)) - user << "- Mushroom Hallucinogen: [reagents.get_reagent_amount("mushroomhallucinogen")]%" - -/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/plumphelmet - seed = /obj/item/seeds/plumpmycelium - name = "plump-helmet" - desc = "Plumus Hellmus: Plump, soft and s-so inviting~" - icon_state = "plumphelmet" - filling_color = "#9370DB" - -/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/plumphelmet/add_juice() - ..() - reagents.add_reagent("nutriment", 2+round((potency / 10), 1)) - reagents.add_reagent("vitamin", 1 + round((potency / 25), 1)) - bitesize = 1 + round(reagents.total_volume / 2, 1) - - -/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/walkingmushroom - seed = /obj/item/seeds/walkingmushroommycelium - name = "walking mushroom" - desc = "Plumus Locomotus: The beginning of the great walk." - icon_state = "walkingmushroom" - filling_color = "#9370DB" - -/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/walkingmushroom/add_juice() - ..() - reagents.add_reagent("nutriment", 2+round((potency / 10), 1)) - bitesize = 1 + round(reagents.total_volume / 2, 1) - -/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/walkingmushroom/attack_self(mob/user) - if(istype(user.loc,/turf/space)) - return - var/mob/living/simple_animal/hostile/mushroom/M = new /mob/living/simple_animal/hostile/mushroom(user.loc) - M.maxHealth += round(endurance / 4) - M.melee_damage_lower += round(potency / 20) - M.melee_damage_upper += round(potency / 20) - M.move_to_delay -= round(production / 50) - M.health = M.maxHealth - qdel(src) - user << "You plant the walking mushroom." - - -/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/chanterelle - seed = /obj/item/seeds/chantermycelium - name = "chanterelle cluster" - desc = "Cantharellus Cibarius: These jolly yellow little shrooms sure look tasty!" - icon_state = "chanterelle" - filling_color = "#FFA500" - -/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/chanterelle/add_juice() - ..() - reagents.add_reagent("nutriment", 1 + round((potency / 25), 1)) - bitesize = 1 + round(reagents.total_volume / 2, 1) - -/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom - seed = /obj/item/seeds/glowshroom - name = "glowshroom cluster" - desc = "Mycena Bregprox: This species of mushroom glows in the dark." - icon_state = "glowshroom" - filling_color = "#00FA9A" - var/effect_path = /obj/effect/glowshroom - -/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/New(var/loc, var/new_potency = 10) - ..() - if(lifespan == 0) //basically, if you're spawning these via admin or on the map, then set up some default stats. - lifespan = 120 - endurance = 30 - maturation = 15 - production = 1 - yield = 3 - potency = 30 - plant_type = 2 - if(istype(src.loc,/mob)) - pickup(src.loc)//adjusts the lighting on the mob - else - src.SetLuminosity(round(potency / 10,1)) - -/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/add_juice() - ..() - reagents.add_reagent("nutriment", 1 + round((potency / 25), 1)) - reagents.add_reagent("radium", 1 + round((potency / 20), 1)) - bitesize = 1 + round(reagents.total_volume / 2, 1) - -/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/attack_self(mob/user) - if(istype(user.loc,/turf/space)) - return - var/obj/effect/glowshroom/planted = new effect_path(user.loc) - planted.delay = planted.delay - production * 100 //So the delay goes DOWN with better stats instead of up. :I - planted.endurance = endurance - planted.yield = yield - planted.potency = potency - user << "You plant [src]." - qdel(src) - -/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/Destroy() - if(istype(loc,/mob)) - loc.AddLuminosity(round(-potency / 10,1)) - return ..() - -/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/pickup(mob/user) - ..() - SetLuminosity(0) - user.AddLuminosity(round(potency / 10,1)) - -/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/dropped(mob/user) - ..() - user.AddLuminosity(round(-potency / 10,1)) - SetLuminosity(round(potency / 10,1)) - -/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/glowcap - seed = /obj/item/seeds/glowcap - name = "glowcap cluster" - desc = "Mycena Ruthenia: This species of mushroom glows in the dark, but aren't bioluminescent. They're warm to the touch..." - icon_state = "glowcap" - filling_color = "#00FA9A" - effect_path = /obj/effect/glowshroom/glowcap - -/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/glowcap/On_Consume() - if(!reagents.total_volume) - var/batteries_recharged = 0 - for(var/obj/item/weapon/stock_parts/cell/C in usr.GetAllContents()) - var/newcharge = (potency*0.01)*C.maxcharge - if(C.charge < newcharge) - C.charge = newcharge - if(isobj(C.loc)) - var/obj/O = C.loc - O.update_icon() //update power meters and such - batteries_recharged = 1 - if(batteries_recharged) - usr << "Battery has recovered." - ..() /obj/item/weapon/reagent_containers/food/snacks/grown/shell/moneyfruit seed = /obj/item/seeds/cashseed @@ -1279,14 +499,14 @@ obj/item/weapon/reagent_containers/food/snacks/grown/shell/eggy/add_juice() desc = "Looks like a lemon with someone buldging from the inside." icon_state = "moneyfruit" inside_type = null + reagents_add = list("nutriment" = 0.05) + bitesize_mod = 2 /obj/item/weapon/reagent_containers/food/snacks/grown/shell/moneyfruit/add_juice() ..() - reagents.add_reagent("nutriment", 1 + round((potency / 20), 1)) - bitesize = 1 + round(reagents.total_volume / 2, 1) switch(potency) if(0 to 10) - inside_type = /obj/item/stack/spacecash/ + inside_type = /obj/item/stack/spacecash if(11 to 20) inside_type = /obj/item/stack/spacecash/c10 if(21 to 30) @@ -1310,43 +530,25 @@ obj/item/weapon/reagent_containers/food/snacks/grown/shell/eggy/add_juice() icon_state = "gatfruit" origin_tech = "combat=3" trash = /obj/item/weapon/gun/projectile/revolver + bitesize_mod = 2 + reagents_add = list("sulfur" = 0.1, "carbon" = 0.1, "nitrogen" = 0.07, "potassium" = 0.05) -/obj/item/weapon/reagent_containers/food/snacks/grown/gatfruit/add_juice() - if(..()) - reagents.add_reagent("sulfur", 1 + round((potency / 10), 1)) - reagents.add_reagent("carbon", 1 + round((potency / 10), 1)) - reagents.add_reagent("nitrogen", 1 + round((potency / 15), 1)) - reagents.add_reagent("potassium", 1 + round((potency / 20), 1)) - bitesize = 1 + round(reagents.total_volume / 2, 1) /obj/item/weapon/reagent_containers/food/snacks/grown/coffee //abstract type - seed = /obj/item/seeds/coffee_arabica_seed - name = "coffee beans" - desc = "Dry them out to make coffee." - icon_state = "coffee_arabica" - filling_color = "#DC143C" - -/obj/item/weapon/reagent_containers/food/snacks/grown/coffee/add_juice() - if(..()) - reagents.add_reagent("coffeepowder", 1 + round((potency / 10), 2)) - reagents.add_reagent("vitamin", 1 + round((potency / 25), 1)) - bitesize = 1 + round(reagents.total_volume / 2, 1) - -/obj/item/weapon/reagent_containers/food/snacks/grown/coffee/arabica seed = /obj/item/seeds/coffee_arabica_seed name = "coffee arabica beans" desc = "Dry them out to make coffee." icon_state = "coffee_arabica" + filling_color = "#DC143C" + bitesize_mod = 2 + reagents_add = list("vitamin" = 0.04, "coffeepowder" = 0.1) /obj/item/weapon/reagent_containers/food/snacks/grown/coffee/robusta seed = /obj/item/seeds/coffee_robusta_seed name = "coffee robusta beans" - desc = "Dry them out to make coffee." icon_state = "coffee_robusta" + reagents_add = list("morphine" = 0.05, "vitamin" = 0.04, "coffeepowder" = 0.1) -/obj/item/weapon/reagent_containers/food/snacks/grown/coffee/robusta/add_juice(loc, potency = 20) - ..() - reagents.add_reagent("morphine", 1 + round((potency / 20), 1)) /obj/item/weapon/reagent_containers/food/snacks/grown/tobacco seed = /obj/item/seeds/tobacco_seed @@ -1354,12 +556,7 @@ obj/item/weapon/reagent_containers/food/snacks/grown/shell/eggy/add_juice() desc = "Dry them out to make some smokes." icon_state = "tobacco_leaves" filling_color = "#008000" - -/obj/item/weapon/reagent_containers/food/snacks/grown/tobacco/add_juice() - if(..()) - reagents.add_reagent("nutriment", 1 + round((potency / 40), 1)) - reagents.add_reagent("nicotine", 1 + round((potency / 40), 1)) - + reagents_add = list("nicotine" = 0.03, "nutriment" = 0.03) /obj/item/weapon/reagent_containers/food/snacks/grown/tobacco/space seed = /obj/item/seeds/tobacco_space_seed @@ -1367,36 +564,20 @@ obj/item/weapon/reagent_containers/food/snacks/grown/shell/eggy/add_juice() desc = "Dry them out to make some space-smokes." icon_state = "stobacco_leaves" filling_color = "#008000" - -/obj/item/weapon/reagent_containers/food/snacks/grown/tobacco/space/add_juice() - ..() - reagents.add_reagent("salbutamol", 1 + round((potency / 20), 1)) - reagents.add_reagent("nicotine", 1 + round((potency / 20), 1)) - -/obj/item/weapon/reagent_containers/food/snacks/grown/tea //abstract type - seed = /obj/item/seeds/tea_aspera_seed - name = "Tea tips" - desc = "These aromatic tips of the tea plant can be dried to make tea." - icon_state = "tea_aspera_leaves" - -/obj/item/weapon/reagent_containers/food/snacks/grown/tea/add_juice() - if(..()) - reagents.add_reagent("teapowder", 1 + round((potency / 10), 2)) - reagents.add_reagent("vitamin", 1 + round((potency / 25), 1)) + reagents_add = list("salbutamol" = 0.05, "nicotine" = 0.08, "nutriment" = 0.03) -/obj/item/weapon/reagent_containers/food/snacks/grown/tea/aspera +/obj/item/weapon/reagent_containers/food/snacks/grown/tea seed = /obj/item/seeds/tea_aspera_seed name = "Tea Aspera tips" + desc = "These aromatic tips of the tea plant can be dried to make tea." + icon_state = "tea_aspera_leaves" filling_color = "#008000" + reagents_add = list("vitamin" = 0.04, "teapowder" = 0.1) /obj/item/weapon/reagent_containers/food/snacks/grown/tea/astra seed = /obj/item/seeds/tea_astra_seed name = "Tea Astra tips" - desc = "These aromatic tips of the tea plant can be dried to make tea." icon_state = "tea_astra_leaves" filling_color = "#4582B4" - -/obj/item/weapon/reagent_containers/food/snacks/grown/tea/astra/add_juice() - ..() - reagents.add_reagent("salglu_solution", 1 + round((potency / 20), 1)) + reagents_add = list("salglu_solution" = 0.05, "vitamin" = 0.04, "teapowder" = 0.1) diff --git a/code/modules/hydroponics/grown/apple.dm b/code/modules/hydroponics/grown/apple.dm new file mode 100644 index 00000000000..c7b9c646373 --- /dev/null +++ b/code/modules/hydroponics/grown/apple.dm @@ -0,0 +1,25 @@ +// Apple +/obj/item/weapon/reagent_containers/food/snacks/grown/apple + seed = /obj/item/seeds/appleseed + name = "apple" + desc = "It's a little piece of Eden." + icon_state = "apple" + filling_color = "#FF4500" + reagents_add = list("vitamin" = 0.04, "nutriment" = 0.1) + bitesize = 100 // Always eat the apple in one bite + + +// Posioned Apple +/obj/item/weapon/reagent_containers/food/snacks/grown/apple/poisoned + seed = /obj/item/seeds/poisonedappleseed + reagents_add = list("cyanide" = 0.2, "vitamin" = 0.04, "nutriment" = 0.1) + + +// Gold Apple +/obj/item/weapon/reagent_containers/food/snacks/grown/apple/gold + seed = /obj/item/seeds/goldappleseed + name = "golden apple" + desc = "Emblazoned upon the apple is the word 'Kallisti'." + icon_state = "goldapple" + filling_color = "#FFD700" + reagents_add = list("gold" = 0.2, "vitamin" = 0.04, "nutriment" = 0.1) \ No newline at end of file diff --git a/code/modules/hydroponics/grown/banana.dm b/code/modules/hydroponics/grown/banana.dm new file mode 100644 index 00000000000..1d8db934b97 --- /dev/null +++ b/code/modules/hydroponics/grown/banana.dm @@ -0,0 +1,43 @@ +// Banana +/obj/item/weapon/reagent_containers/food/snacks/grown/banana + seed = /obj/item/seeds/bananaseed + name = "banana" + desc = "It's an excellent prop for a clown." + icon = 'icons/obj/items.dmi' + icon_state = "banana" + item_state = "banana" + trash = /obj/item/weapon/grown/bananapeel + filling_color = "#FFFF00" + reagents_add = list("banana" = 0.1, "vitamin" = 0.04, "nutriment" = 0.02) + bitesize = 5 + +/obj/item/weapon/reagent_containers/food/snacks/grown/banana/suicide_act(mob/user) + user.visible_message("[user] is aiming the [src.name] at themself! It looks like \he's trying to commit suicide.") + playsound(loc, 'sound/items/bikehorn.ogg', 50, 1, -1) + sleep(25) + user.say("BANG!") + sleep(25) + user.visible_message("[user] laughs so hard they begin to suffocate!") + return (OXYLOSS) + + +// Mimana +/obj/item/weapon/reagent_containers/food/snacks/grown/banana/mime + seed = /obj/item/seeds/mimanaseed + name = "mimana" + desc = "It's an excellent prop for a mime." + icon_state = "mimana" + trash = /obj/item/weapon/grown/bananapeel/mimanapeel + filling_color = "#FFFFEE" + reagents_add = list("nothing" = 0.1, "mutetoxin" = 0.1, "nutriment" = 0.02) + + +// Bluespace Banana +/obj/item/weapon/reagent_containers/food/snacks/grown/banana/bluespace + seed = /obj/item/seeds/bluespacebananaseed + name = "bluespace banana" + icon_state = "banana_blue" + trash = /obj/item/weapon/grown/bananapeel/bluespace + filling_color = "#0000FF" + origin_tech = "bluespace=3" + reagents_add = list("singulo" = 0.2, "banana" = 0.1, "vitamin" = 0.04, "nutriment" = 0.02) \ No newline at end of file diff --git a/code/modules/hydroponics/grown/berries.dm b/code/modules/hydroponics/grown/berries.dm new file mode 100644 index 00000000000..9278b57b8a9 --- /dev/null +++ b/code/modules/hydroponics/grown/berries.dm @@ -0,0 +1,57 @@ +// Berries +/obj/item/weapon/reagent_containers/food/snacks/grown/berries + seed = /obj/item/seeds/berryseed + name = "bunch of berries" + desc = "Nutritious!" + icon_state = "berrypile" + gender = PLURAL + filling_color = "#FF00FF" + reagents_add = list("vitamin" = 0.04, "nutriment" = 0.1) + bitesize_mod = 2 + + +// Poison Berries +/obj/item/weapon/reagent_containers/food/snacks/grown/berries/poison + seed = /obj/item/seeds/poisonberryseed + name = "bunch of poison-berries" + desc = "Taste so good, you could die!" + icon_state = "poisonberrypile" + filling_color = "#C71585" + reagents_add = list("toxin" = 0.25, "vitamin" = 0.04, "nutriment" = 0.1) + + +// Death Berries +/obj/item/weapon/reagent_containers/food/snacks/grown/berries/death + seed = /obj/item/seeds/deathberryseed + name = "bunch of death-berries" + desc = "Taste so good, you could die!" + icon_state = "deathberrypile" + filling_color = "#708090" + reagents_add = list("lexorin" = 0.25, "toxin" = 0.35, "vitamin" = 0.04, "nutriment" = 0.1) + + +// Glow Berries +/obj/item/weapon/reagent_containers/food/snacks/grown/berries/glow + seed = /obj/item/seeds/glowberryseed + name = "bunch of glow-berries" + desc = "Nutritious!" + var/on = 1 + var/brightness_on = 2 //luminosity when on + icon_state = "glowberrypile" + filling_color = "#7CFC00" + reagents_add = list("uranium" = 0.25, "vitamin" = 0.04, "nutriment" = 0.1) + +/obj/item/weapon/reagent_containers/food/snacks/grown/berries/glow/Destroy() + if(istype(loc,/mob)) + loc.AddLuminosity(round(-potency / 5)) + return ..() + +/obj/item/weapon/reagent_containers/food/snacks/grown/berries/glow/pickup(mob/user) + ..() + src.SetLuminosity(0) + user.AddLuminosity(round(potency / 5)) + +/obj/item/weapon/reagent_containers/food/snacks/grown/berries/glow/dropped(mob/user) + ..() + user.AddLuminosity(round(-potency / 5)) + src.SetLuminosity(round(potency / 5)) \ No newline at end of file diff --git a/code/modules/hydroponics/grown/chili.dm b/code/modules/hydroponics/grown/chili.dm new file mode 100644 index 00000000000..85182c9a2d6 --- /dev/null +++ b/code/modules/hydroponics/grown/chili.dm @@ -0,0 +1,50 @@ +// Chili +/obj/item/weapon/reagent_containers/food/snacks/grown/chili + seed = /obj/item/seeds/chiliseed + name = "chili" + desc = "It's spicy! Wait... IT'S BURNING ME!!" + icon_state = "chilipepper" + filling_color = "#FF0000" + reagents_add = list("capsaicin" = 0.25, "vitamin" = 0.04, "nutriment" = 0.04) + bitesize_mod = 2 + + +// Ice Chili +/obj/item/weapon/reagent_containers/food/snacks/grown/icepepper + seed = /obj/item/seeds/icepepperseed + name = "ice pepper" + desc = "It's a mutant strain of chili" + icon_state = "icepepper" + filling_color = "#0000CD" + reagents_add = list("frostoil" = 0.25, "vitamin" = 0.02, "nutriment" = 0.02) + bitesize_mod = 2 + + +// Ghost Chili +/obj/item/weapon/reagent_containers/food/snacks/grown/ghost_chili + seed = /obj/item/seeds/chilighost + name = "ghost chili" + desc = "It seems to be vibrating gently." + icon_state = "ghostchilipepper" + var/mob/held_mob + filling_color = "#F8F8FF" + reagents_add = list("condensedcapsaicin" = 0.3, "capsaicin" = 0.55, "nutriment" = 0.04) + bitesize_mod = 4 + +/obj/item/weapon/reagent_containers/food/snacks/grown/ghost_chili/attack_hand(mob/user) + ..() + if( istype(src.loc, /mob) ) + held_mob = src.loc + SSobj.processing |= src + +/obj/item/weapon/reagent_containers/food/snacks/grown/ghost_chili/process() + if(held_mob && src.loc == held_mob) + if( (held_mob.l_hand == src) || (held_mob.r_hand == src)) + if(hasvar(held_mob,"gloves") && held_mob:gloves) + return + held_mob.bodytemperature += 15 * TEMPERATURE_DAMAGE_COEFFICIENT + if(prob(10)) + held_mob << "Your hand holding [src] burns!" + else + held_mob = null + ..() \ No newline at end of file diff --git a/code/modules/hydroponics/grown/citrus.dm b/code/modules/hydroponics/grown/citrus.dm new file mode 100644 index 00000000000..519ac1b75f2 --- /dev/null +++ b/code/modules/hydroponics/grown/citrus.dm @@ -0,0 +1,34 @@ +/obj/item/weapon/reagent_containers/food/snacks/grown/citrus/ //abstract type + seed = /obj/item/seeds/limeseed + name = "citrus" + desc = "It's so sour, your face will twist." + icon_state = "lime" + reagents_add = list("vitamin" = 0.04, "nutriment" = 0.05) + bitesize_mod = 2 + + +// Lime +/obj/item/weapon/reagent_containers/food/snacks/grown/citrus/lime + seed = /obj/item/seeds/limeseed + name = "lime" + desc = "It's so sour, your face will twist." + icon_state = "lime" + filling_color = "#00FF00" + + +// Lemon +/obj/item/weapon/reagent_containers/food/snacks/grown/citrus/lemon + seed = /obj/item/seeds/lemonseed + name = "lemon" + desc = "When life gives you lemons, be grateful they aren't limes." + icon_state = "lemon" + filling_color = "#FFD700" + + +// Orange +/obj/item/weapon/reagent_containers/food/snacks/grown/citrus/orange + seed = /obj/item/seeds/orangeseed + name = "orange" + desc = "It's an tangy fruit." + icon_state = "orange" + filling_color = "#FFA500" \ No newline at end of file diff --git a/code/modules/hydroponics/grown/flowers.dm b/code/modules/hydroponics/grown/flowers.dm new file mode 100644 index 00000000000..530207d1567 --- /dev/null +++ b/code/modules/hydroponics/grown/flowers.dm @@ -0,0 +1,52 @@ +// Poppy +/obj/item/weapon/reagent_containers/food/snacks/grown/poppy + seed = /obj/item/seeds/poppyseed + name = "poppy" + desc = "Long-used as a symbol of rest, peace, and death." + icon_state = "poppy" + slot_flags = SLOT_HEAD + filling_color = "#FF6347" + reagents_add = list("salglu_solution" = 0.05, "nutriment" = 0.05) + bitesize_mod = 3 + + +// Lily +/obj/item/weapon/reagent_containers/food/snacks/grown/poppy/lily + seed = /obj/item/seeds/lilyseed + name = "lily" + desc = "A beautiful orange flower" + icon_state = "lily" + filling_color = "#FFA500" + + +// Geranium +/obj/item/weapon/reagent_containers/food/snacks/grown/poppy/geranium + seed = /obj/item/seeds/geraniumseed + name = "geranium" + desc = "A beautiful blue flower" + icon_state = "geranium" + filling_color = "#008B8B" + + +// Harebell +/obj/item/weapon/reagent_containers/food/snacks/grown/harebell + seed = /obj/item/seeds/harebell + name = "harebell" + desc = "\"I'll sweeten thy sad grave: thou shalt not lack the flower that's like thy face, pale primrose, nor the azured hare-bell, like thy veins; no, nor the leaf of eglantine, whom not to slander, out-sweeten'd not thy breath.\"" + icon_state = "harebell" + slot_flags = SLOT_HEAD + filling_color = "#E6E6FA" + reagents_add = list("nutriment" = 0.05) + bitesize_mod = 3 + + +// Moonflower +/obj/item/weapon/reagent_containers/food/snacks/grown/moonflower + seed = /obj/item/seeds/moonflowerseed + name = "moonflower" + desc = "Store in a location at least 50 yards away from werewolves." + icon_state = "moonflower" + slot_flags = SLOT_HEAD + filling_color = "#E6E6FA" + reagents_add = list("moonshine" = 0.1, "vitamin" = 0.02, "nutriment" = 0.02) + bitesize_mod = 2 \ No newline at end of file diff --git a/code/modules/hydroponics/grown/mushrooms.dm b/code/modules/hydroponics/grown/mushrooms.dm new file mode 100644 index 00000000000..9679bc74081 --- /dev/null +++ b/code/modules/hydroponics/grown/mushrooms.dm @@ -0,0 +1,163 @@ +/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom + name = "mushroom" + bitesize_mod = 2 + + +// Reishi +/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/reishi + seed = /obj/item/seeds/reishimycelium + name = "reishi" + desc = "Ganoderma lucidum: A special fungus known for its medicinal and stress relieving properties." + icon_state = "reishi" + filling_color = "#FF4500" + reagents_add = list("morphine" = 0.35, "charcoal" = 0.35, "nutriment" = 0) + + +// Fly Amanita +/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/amanita + seed = /obj/item/seeds/amanitamycelium + name = "fly amanita" + desc = "Amanita Muscaria: Learn poisonous mushrooms by heart. Only pick mushrooms you know." + icon_state = "amanita" + filling_color = "#FF0000" + reagents_add = list("mushroomhallucinogen" = 0.04, "amatoxin" = 0.35, "nutriment" = 0) + + +// Destroying Angel +/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/angel + seed = /obj/item/seeds/angelmycelium + name = "destroying angel" + desc = "Amanita Virosa: Deadly poisonous basidiomycete fungus filled with alpha amatoxins." + icon_state = "angel" + filling_color = "#C0C0C0" + reagents_add = list("mushroomhallucinogen" = 0.04, "amatoxin" = 0.8, "nutriment" = 0) + + +// Liberty Cap +/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/libertycap + seed = /obj/item/seeds/libertymycelium + name = "liberty-cap" + desc = "Psilocybe Semilanceata: Liberate yourself!" + icon_state = "libertycap" + filling_color = "#DAA520" + reagents_add = list("mushroomhallucinogen" = 0.25, "nutriment" = 0.02) + + +// Plump Helmet +/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/plumphelmet + seed = /obj/item/seeds/plumpmycelium + name = "plump-helmet" + desc = "Plumus Hellmus: Plump, soft and s-so inviting~" + icon_state = "plumphelmet" + filling_color = "#9370DB" + reagents_add = list("vitamin" = 0.04, "nutriment" = 0.1) + + +// Walking Mushroom +/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/walkingmushroom + seed = /obj/item/seeds/walkingmushroommycelium + name = "walking mushroom" + desc = "Plumus Locomotus: The beginning of the great walk." + icon_state = "walkingmushroom" + filling_color = "#9370DB" + reagents_add = list("vitamin" = 0.05, "nutriment" = 0.12) + +/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/walkingmushroom/attack_self(mob/user) + if(istype(user.loc,/turf/space)) + return + var/mob/living/simple_animal/hostile/mushroom/M = new /mob/living/simple_animal/hostile/mushroom(user.loc) + M.maxHealth += round(endurance / 4) + M.melee_damage_lower += round(potency / 20) + M.melee_damage_upper += round(potency / 20) + M.move_to_delay -= round(production / 50) + M.health = M.maxHealth + qdel(src) + user << "You plant the walking mushroom." + + +// Chanterelle +/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/chanterelle + seed = /obj/item/seeds/chantermycelium + name = "chanterelle cluster" + desc = "Cantharellus Cibarius: These jolly yellow little shrooms sure look tasty!" + icon_state = "chanterelle" + filling_color = "#FFA500" + reagents_add = list("nutriment" = 0.1) + + +// Glowshroom +/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom + seed = /obj/item/seeds/glowshroom + name = "glowshroom cluster" + desc = "Mycena Bregprox: This species of mushroom glows in the dark." + icon_state = "glowshroom" + filling_color = "#00FA9A" + var/effect_path = /obj/effect/glowshroom + reagents_add = list("radium" = 0.05, "nutriment" = 0.04) + +/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/New(var/loc, var/new_potency = 10) + ..() + if(lifespan == 0) //basically, if you're spawning these via admin or on the map, then set up some default stats. + lifespan = 120 + endurance = 30 + maturation = 15 + production = 1 + yield = 3 + potency = 30 + plant_type = 2 + if(istype(src.loc,/mob)) + pickup(src.loc)//adjusts the lighting on the mob + else + src.SetLuminosity(round(potency / 10,1)) + +/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/attack_self(mob/user) + if(istype(user.loc,/turf/space)) + return + var/obj/effect/glowshroom/planted = new effect_path(user.loc) + planted.delay = planted.delay - production * 100 //So the delay goes DOWN with better stats instead of up. :I + planted.endurance = endurance + planted.yield = yield + planted.potency = potency + user << "You plant [src]." + qdel(src) + +/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/Destroy() + if(istype(loc,/mob)) + loc.AddLuminosity(round(-potency / 10,1)) + return ..() + +/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/pickup(mob/user) + ..() + SetLuminosity(0) + user.AddLuminosity(round(potency / 10,1)) + +/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/dropped(mob/user) + ..() + user.AddLuminosity(round(-potency / 10,1)) + SetLuminosity(round(potency / 10,1)) + + +// Glowcap +/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/glowcap + seed = /obj/item/seeds/glowcap + name = "glowcap cluster" + desc = "Mycena Ruthenia: This species of mushroom glows in the dark, but aren't bioluminescent. They're warm to the touch..." + icon_state = "glowcap" + filling_color = "#00FA9A" + effect_path = /obj/effect/glowshroom/glowcap + reagents_add = list("teslium" = 0.02, "nutriment" = 0.04) + +/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/glowcap/On_Consume() + if(!reagents.total_volume) + var/batteries_recharged = 0 + for(var/obj/item/weapon/stock_parts/cell/C in usr.GetAllContents()) + var/newcharge = (potency*0.01)*C.maxcharge + if(C.charge < newcharge) + C.charge = newcharge + if(isobj(C.loc)) + var/obj/O = C.loc + O.update_icon() //update power meters and such + batteries_recharged = 1 + if(batteries_recharged) + usr << "Battery has recovered." + ..() \ No newline at end of file diff --git a/code/modules/hydroponics/grown/tomato.dm b/code/modules/hydroponics/grown/tomato.dm new file mode 100644 index 00000000000..887c268fc67 --- /dev/null +++ b/code/modules/hydroponics/grown/tomato.dm @@ -0,0 +1,113 @@ +// Tomato +/obj/item/weapon/reagent_containers/food/snacks/grown/tomato + seed = /obj/item/seeds/tomatoseed + name = "tomato" + desc = "I say to-mah-to, you say tom-mae-to." + icon_state = "tomato" + var/splat = /obj/effect/decal/cleanable/tomato_smudge + filling_color = "#FF6347" + reagents_add = list("vitamin" = 0.04, "nutriment" = 0.1) + bitesize_mod = 2 + +/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/proc/squish(atom/target) + var/turf/T = get_turf(target) + new splat(T) + visible_message("The [src.name] has been squashed.","You hear a smack.") + for(var/atom/A in get_turf(target)) + reagents.reaction(A) + +/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/throw_impact(atom/hit_atom) + if(!..()) //was it caught by a mob? + squish(hit_atom) + qdel(src) + + +// Blood Tomato +/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/blood + seed = /obj/item/seeds/bloodtomatoseed + name = "blood-tomato" + desc = "So bloody...so...very...bloody....AHHHH!!!!" + icon_state = "bloodtomato" + splat = /obj/effect/gibspawner/generic + filling_color = "#FF0000" + +/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/blood/add_juice(loc, potency = 10) + ..() + reagents.add_reagent("blood", 1 + round(potency / 5), list("blood_type"="O-")) + + +// Blue Tomato +/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/blue + seed = /obj/item/seeds/bluetomatoseed + name = "blue-tomato" + desc = "I say blue-mah-to, you say blue-mae-to." + icon_state = "bluetomato" + splat = /obj/effect/decal/cleanable/oil + filling_color = "#0000FF" + reagents_add = list("lube" = 0.2, "vitamin" = 0.04, "nutriment" = 0.1) + +/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/blue/Crossed(AM as mob|obj) + if (istype(AM, /mob/living/carbon)) + var/mob/living/carbon/M = AM + var/stun = Clamp(potency / 10, 1, 10) + var/weaken = Clamp(potency / 20, 0.5, 5) + M.slip(stun, weaken, src) + + +// Bluespace Tomato +/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/blue/bluespace + seed = /obj/item/seeds/bluespacetomatoseed + name = "blue-space tomato" + desc = "So lubricated, you might slip through space-time." + icon_state = "bluespacetomato" + origin_tech = "bluespace=3" + reagents_add = list("lube" = 0.2, "singulo" = 0.2, "vitamin" = 0.04, "nutriment" = 0.1) + +/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/blue/bluespace/attack_self(mob/user) + squish(user) + user.unEquip(src) + src.visible_message("[user] squashes the [src.name].","You hear a smack.") + qdel(src) + +/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/blue/bluespace/squish(atom/squishee) + ..() + var/teleport_radius = potency / 10 + if(isliving(squishee)) + var/turf/T = get_turf(squishee) + new /obj/effect/decal/cleanable/molten_item(T) //Leave a pile of goo behind for dramatic effect... + do_teleport(squishee, get_turf(squishee), teleport_radius) + + +// Killer Tomato +/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/killer + seed = /obj/item/seeds/killertomatoseed + name = "killer-tomato" + desc = "I say to-mah-to, you say tom-mae-to... OH GOD IT'S EATING MY LEGS!!" + icon_state = "killertomato" + var/awakening = 0 + filling_color = "#FF0000" + +/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/killer/attack(mob/M, mob/user, def_zone) + if(awakening) + user << "The tomato is twitching and shaking, preventing you from eating it." + return + ..() + +/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/killer/attack_self(mob/user) + if(awakening || istype(user.loc,/turf/space)) + return + user << "You begin to awaken the Killer Tomato..." + awakening = 1 + + spawn(30) + if(!gc_destroyed) + var/mob/living/simple_animal/hostile/killertomato/K = new /mob/living/simple_animal/hostile/killertomato(get_turf(src.loc)) + K.maxHealth += round(endurance / 3) + K.melee_damage_lower += round(potency / 10) + K.melee_damage_upper += round(potency / 10) + K.move_to_delay -= round(production / 50) + K.health = K.maxHealth + K.visible_message("The Killer Tomato growls as it suddenly awakens.") + if(user) + user.unEquip(src) + qdel(src) \ No newline at end of file diff --git a/code/modules/hydroponics/growninedible.dm b/code/modules/hydroponics/growninedible.dm index 3778025bf7d..725df4dd4ce 100644 --- a/code/modules/hydroponics/growninedible.dm +++ b/code/modules/hydroponics/growninedible.dm @@ -37,6 +37,27 @@ create_reagents(50) add_juice() +/obj/item/weapon/grown/attackby(obj/item/O, mob/user, params) + ..() + if (istype(O, /obj/item/device/analyzer/plant_analyzer)) + var/msg + msg = "*---------*\n This is \a [src]\n" + switch(plant_type) + if(0) + msg += "- Plant type: Normal plant\n" + if(1) + msg += "- Plant type: Weed. Can grow in nutrient-poor soil.\n" + if(2) + msg += "- Plant type: Mushroom. Can grow in dry soil.\n" + msg += "- Potency: [potency]\n" + msg += "- Yield: [yield]\n" + msg += "- Maturation speed: [maturation]\n" + msg += "- Production speed: [production]\n" + msg += "- Endurance: [endurance]\n" + msg += "*---------*" + usr << msg + return + /obj/item/weapon/grown/proc/add_juice() if(reagents) return 1 @@ -59,7 +80,7 @@ var/plank_name = "wooden planks" var/list/accepted = list(/obj/item/weapon/reagent_containers/food/snacks/grown/tobacco, /obj/item/weapon/reagent_containers/food/snacks/grown/tobacco/space, - /obj/item/weapon/reagent_containers/food/snacks/grown/tea/aspera, + /obj/item/weapon/reagent_containers/food/snacks/grown/tea, /obj/item/weapon/reagent_containers/food/snacks/grown/tea/astra, /obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia/vulgaris, /obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia/deus, @@ -229,7 +250,7 @@ /obj/item/weapon/grown/nettle/death seed = /obj/item/seeds/deathnettleseed name = "deathnettle" - desc = "The glowing \black nettle incites rage\black in you just from looking at it!" + desc = "The glowing nettle incites rage in you just from looking at it!" icon_state = "deathnettle" force = 30 throwforce = 15 diff --git a/code/modules/hydroponics/seeds.dm b/code/modules/hydroponics/seeds.dm index ba1dc468649..66867d27ef3 100644 --- a/code/modules/hydroponics/seeds.dm +++ b/code/modules/hydroponics/seeds.dm @@ -225,7 +225,7 @@ icon_state = "seed-banana-blue" species = "bluespacebanana" plantname = "Bluespace Banana Tree" - product = /obj/item/weapon/reagent_containers/food/snacks/grown/bluespacebanana + product = /obj/item/weapon/reagent_containers/food/snacks/grown/banana/bluespace lifespan = 50 endurance = 30 maturation = 6 @@ -241,7 +241,7 @@ icon_state = "seed-mimana" species = "mimana" plantname = "Mimana Tree" - product = /obj/item/weapon/reagent_containers/food/snacks/grown/mimana + product = /obj/item/weapon/reagent_containers/food/snacks/grown/banana/mime lifespan = 50 endurance = 30 maturation = 6 @@ -484,7 +484,7 @@ icon_state = "seed-sweetpotato" species = "sweetpotato" plantname = "Sweet Potato Plants" - product = /obj/item/weapon/reagent_containers/food/snacks/grown/sweetpotato + product = /obj/item/weapon/reagent_containers/food/snacks/grown/potato/sweet lifespan = 30 endurance = 15 maturation = 10 @@ -1486,7 +1486,7 @@ icon_state = "seed-coffeea" species = "coffeea" plantname = "Coffee Arabica Bush" - product = /obj/item/weapon/reagent_containers/food/snacks/grown/coffee/arabica + product = /obj/item/weapon/reagent_containers/food/snacks/grown/coffee lifespan = 30 endurance = 20 maturation = 5 @@ -1556,7 +1556,7 @@ icon_state = "seed-teaaspera" species = "teaaspera" plantname = "Tea Aspera Plant" - product = /obj/item/weapon/reagent_containers/food/snacks/grown/tea/aspera + product = /obj/item/weapon/reagent_containers/food/snacks/grown/tea lifespan = 20 endurance = 15 maturation = 5 diff --git a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm index 781caeab690..cd3814ddc58 100644 --- a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm +++ b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm @@ -49,11 +49,10 @@ /obj/item/weapon/reagent_containers/food/snacks/egg = list("eggyolk" = -5), //Grinder stuff, but only if dry - /obj/item/weapon/reagent_containers/food/snacks/grown/coffee/arabica = list("coffeepowder" = 0), /obj/item/weapon/reagent_containers/food/snacks/grown/coffee/robusta = list("coffeepowder" = 0, "morphine" = 0), - /obj/item/weapon/reagent_containers/food/snacks/grown/tea/aspera = list("teapowder" = 0), + /obj/item/weapon/reagent_containers/food/snacks/grown/coffee = list("coffeepowder" = 0), /obj/item/weapon/reagent_containers/food/snacks/grown/tea/astra = list("teapowder" = 0, "salglu_solution" = 0), - + /obj/item/weapon/reagent_containers/food/snacks/grown/tea = list("teapowder" = 0), //All types that you can put into the grinder to transfer the reagents to the beaker. !Put all recipes above this.! @@ -81,12 +80,11 @@ ) var/list/dried_items = list( - - //Grinder stuff, but only if dry - /obj/item/weapon/reagent_containers/food/snacks/grown/coffee/arabica = list("coffeepowder" = 0), + //Grinder stuff, but only if dry, /obj/item/weapon/reagent_containers/food/snacks/grown/coffee/robusta = list("coffeepowder" = 0, "morphine" = 0), - /obj/item/weapon/reagent_containers/food/snacks/grown/tea/aspera = list("teapowder" = 0), + /obj/item/weapon/reagent_containers/food/snacks/grown/coffee = list("coffeepowder" = 0), /obj/item/weapon/reagent_containers/food/snacks/grown/tea/astra = list("teapowder" = 0, "salglu_solution" = 0), + /obj/item/weapon/reagent_containers/food/snacks/grown/tea = list("teapowder" = 0) ) var/list/holdingitems = list() diff --git a/tgstation.dme b/tgstation.dme index 4fa2f0362d1..798f198d081 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -1092,6 +1092,14 @@ #include "code\modules\hydroponics\hydroponics.dm" #include "code\modules\hydroponics\seed_extractor.dm" #include "code\modules\hydroponics\seeds.dm" +#include "code\modules\hydroponics\grown\apple.dm" +#include "code\modules\hydroponics\grown\banana.dm" +#include "code\modules\hydroponics\grown\berries.dm" +#include "code\modules\hydroponics\grown\chili.dm" +#include "code\modules\hydroponics\grown\citrus.dm" +#include "code\modules\hydroponics\grown\flowers.dm" +#include "code\modules\hydroponics\grown\mushrooms.dm" +#include "code\modules\hydroponics\grown\tomato.dm" #include "code\modules\jobs\access.dm" #include "code\modules\jobs\jobs.dm" #include "code\modules\jobs\whitelist.dm" From 5ba08b51514a7de85239357b299cac351c3a0a4f Mon Sep 17 00:00:00 2001 From: c0 Date: Wed, 2 Mar 2016 08:53:06 +0300 Subject: [PATCH 2/3] fuck birdstation, box is the best --- _maps/map_files/BirdStation/BirdStation.dmm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_maps/map_files/BirdStation/BirdStation.dmm b/_maps/map_files/BirdStation/BirdStation.dmm index 5006624507c..c2708d47cb2 100644 --- a/_maps/map_files/BirdStation/BirdStation.dmm +++ b/_maps/map_files/BirdStation/BirdStation.dmm @@ -1424,7 +1424,7 @@ "aBt" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plasteel,/area/engine/gravity_generator) "aBu" = (/obj/structure/table/glass,/obj/machinery/reagentgrinder{pixel_y = 12},/turf/simulated/floor/plasteel/whitegreen/side{icon_state = "whitegreen"; dir = 1},/area/hydroponics) "aBv" = (/obj/structure/table/glass,/obj/item/weapon/shovel/spade,/obj/item/weapon/storage/bag/plants,/obj/item/weapon/storage/bag/plants,/obj/machinery/light{dir = 1},/turf/simulated/floor/plasteel/whitegreen/side{icon_state = "whitegreen"; dir = 1},/area/hydroponics) -"aBw" = (/obj/structure/closet/crate/hydroponics,/obj/item/weapon/reagent_containers/food/snacks/grown/blumpkin,/obj/item/weapon/reagent_containers/food/snacks/grown/cabbage,/obj/item/weapon/reagent_containers/food/snacks/grown/carrot,/obj/item/weapon/reagent_containers/food/snacks/grown/chili,/obj/item/weapon/reagent_containers/food/snacks/grown/ghost_chili,/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/chanterelle,/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/walkingmushroom,/obj/item/weapon/reagent_containers/food/snacks/grown/poppy/lily,/obj/item/weapon/reagent_containers/food/snacks/grown/rice,/obj/item/weapon/reagent_containers/food/snacks/grown/tomato,/obj/item/weapon/reagent_containers/food/snacks/grown/wheat,/obj/item/weapon/reagent_containers/food/snacks/grown/potato,/obj/item/weapon/reagent_containers/food/snacks/grown/parsnip,/obj/item/weapon/reagent_containers/food/snacks/grown/eggplant,/obj/item/weapon/reagent_containers/food/snacks/grown/corn,/obj/item/weapon/reagent_containers/food/snacks/grown/cocoapod,/obj/item/weapon/reagent_containers/food/snacks/grown/holymelon,/obj/item/weapon/reagent_containers/food/snacks/grown/bluecherries,/obj/item/weapon/reagent_containers/food/snacks/grown/sweetpotato,/turf/simulated/floor/plasteel/whitegreen/side{icon_state = "whitegreen"; dir = 1},/area/hydroponics) +"aBw" = (/obj/structure/closet/crate/hydroponics,/obj/item/weapon/reagent_containers/food/snacks/grown/blumpkin,/obj/item/weapon/reagent_containers/food/snacks/grown/cabbage,/obj/item/weapon/reagent_containers/food/snacks/grown/carrot,/obj/item/weapon/reagent_containers/food/snacks/grown/chili,/obj/item/weapon/reagent_containers/food/snacks/grown/ghost_chili,/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/chanterelle,/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/walkingmushroom,/obj/item/weapon/reagent_containers/food/snacks/grown/poppy/lily,/obj/item/weapon/reagent_containers/food/snacks/grown/rice,/obj/item/weapon/reagent_containers/food/snacks/grown/tomato,/obj/item/weapon/reagent_containers/food/snacks/grown/wheat,/obj/item/weapon/reagent_containers/food/snacks/grown/potato,/obj/item/weapon/reagent_containers/food/snacks/grown/parsnip,/obj/item/weapon/reagent_containers/food/snacks/grown/eggplant,/obj/item/weapon/reagent_containers/food/snacks/grown/corn,/obj/item/weapon/reagent_containers/food/snacks/grown/cocoapod,/obj/item/weapon/reagent_containers/food/snacks/grown/holymelon,/obj/item/weapon/reagent_containers/food/snacks/grown/bluecherries,/obj/item/weapon/reagent_containers/food/snacks/grown/potato/sweet,/turf/simulated/floor/plasteel/whitegreen/side{icon_state = "whitegreen"; dir = 1},/area/hydroponics) "aBx" = (/obj/structure/closet/secure_closet/hydroponics,/obj/item/weapon/watertank,/turf/simulated/floor/plasteel/whitegreen/side{icon_state = "whitegreen"; dir = 1},/area/hydroponics) "aBy" = (/obj/structure/closet/wardrobe/botanist,/turf/simulated/floor/plasteel/whitegreen/side{icon_state = "whitegreen"; dir = 5},/area/hydroponics) "aBz" = (/turf/simulated/floor/plating,/area/maintenance/maintcentral{name = "Central Maintenance"}) From b6ff8f5919384da9875cd3d563ca7403a37cd1d0 Mon Sep 17 00:00:00 2001 From: c0 Date: Thu, 3 Mar 2016 06:13:12 +0300 Subject: [PATCH 3/3] Splits grown.dm into subfiles completely --- code/modules/hydroponics/grown.dm | 489 +----------------- code/modules/hydroponics/grown/ambrosia.dm | 23 + code/modules/hydroponics/grown/beans.dm | 18 + code/modules/hydroponics/grown/berries.dm | 42 +- code/modules/hydroponics/grown/cereals.dm | 31 ++ code/modules/hydroponics/grown/citrus.dm | 33 +- .../modules/hydroponics/grown/grass_carpet.dm | 53 ++ code/modules/hydroponics/grown/melon.dm | 22 + code/modules/hydroponics/grown/misc.dm | 125 +++++ code/modules/hydroponics/grown/potato.dm | 30 ++ code/modules/hydroponics/grown/root.dm | 44 ++ code/modules/hydroponics/grown/tea_coffee.dm | 30 ++ code/modules/hydroponics/grown/tobacco.dm | 15 + tgstation.dme | 10 + 14 files changed, 477 insertions(+), 488 deletions(-) create mode 100644 code/modules/hydroponics/grown/ambrosia.dm create mode 100644 code/modules/hydroponics/grown/beans.dm create mode 100644 code/modules/hydroponics/grown/cereals.dm create mode 100644 code/modules/hydroponics/grown/grass_carpet.dm create mode 100644 code/modules/hydroponics/grown/melon.dm create mode 100644 code/modules/hydroponics/grown/misc.dm create mode 100644 code/modules/hydroponics/grown/potato.dm create mode 100644 code/modules/hydroponics/grown/root.dm create mode 100644 code/modules/hydroponics/grown/tea_coffee.dm create mode 100644 code/modules/hydroponics/grown/tobacco.dm diff --git a/code/modules/hydroponics/grown.dm b/code/modules/hydroponics/grown.dm index 2a67c8d7499..b5606b7b0bf 100644 --- a/code/modules/hydroponics/grown.dm +++ b/code/modules/hydroponics/grown.dm @@ -3,8 +3,7 @@ // Data from the seeds carry over to these grown foods // *********************************************************** -//Grown foods -//Subclass so we can pass on values +// Base type. Subtypes are found in /grown. /obj/item/weapon/reagent_containers/food/snacks/grown icon = 'icons/obj/hydroponics/harvest.dmi' var/seed = null @@ -49,6 +48,7 @@ qdel(S) //Foods drop their contents when eaten, so delete the default seed. add_juice() + transform *= TransformUsingVariable(potency, 100, 0.5) //Makes the resulting produce's sprite larger or smaller based on potency! @@ -97,487 +97,4 @@ user << reag_txt user << "*---------*" return - return - - -/obj/item/weapon/reagent_containers/food/snacks/grown/corn - seed = /obj/item/seeds/cornseed - name = "ear of corn" - desc = "Needs some butter!" - icon_state = "corn" - cooked_type = /obj/item/weapon/reagent_containers/food/snacks/popcorn - filling_color = "#FFFF00" - trash = /obj/item/weapon/grown/corncob - reagents_add = list("vitamin" = 0.04, "nutriment" = 0.1) - bitesize_mod = 2 - - -/obj/item/weapon/reagent_containers/food/snacks/grown/cherries - seed = /obj/item/seeds/cherryseed - name = "cherries" - desc = "Great for toppings!" - icon_state = "cherry" - gender = PLURAL - filling_color = "#FF0000" - reagents_add = list("nutriment" = 0.07, "sugar" = 0.07) - bitesize_mod = 2 - - -/obj/item/weapon/reagent_containers/food/snacks/grown/bluecherries - seed = /obj/item/seeds/bluecherryseed - name = "blue cherries" - desc = "They're cherries that are blue." - icon_state = "bluecherry" - filling_color = "#6495ED" - reagents_add = list("nutriment" = 0.07, "sugar" = 0.07) - bitesize_mod = 2 - - -/obj/item/weapon/reagent_containers/food/snacks/grown/potato - seed = /obj/item/seeds/potatoseed - name = "potato" - desc = "Boil 'em! Mash 'em! Stick 'em in a stew!" - icon_state = "potato" - filling_color = "#E9967A" - reagents_add = list("vitamin" = 0.04, "nutriment" = 0.1) - bitesize = 100 - -/obj/item/weapon/reagent_containers/food/snacks/grown/potato/attackby(obj/item/weapon/W, mob/user, params) - ..() - if(istype(W, /obj/item/stack/cable_coil)) - var/obj/item/stack/cable_coil/C = W - if (C.use(5)) - user << "You add some cable to the potato and slide it inside the battery encasing." - var/obj/item/weapon/stock_parts/cell/potato/pocell = new /obj/item/weapon/stock_parts/cell/potato(user.loc) - pocell.maxcharge = src.potency * 20 - pocell.charge = pocell.maxcharge - qdel(src) - return - else - user << "You need five lengths of cable to make a potato battery!" - return - -/obj/item/weapon/reagent_containers/food/snacks/grown/potato/sweet - seed = /obj/item/seeds/sweetpotatoseed - name = "sweet potato" - desc = "It's sweet." - icon_state = "sweetpotato" - reagents_add = list("vitamin" = 0.1, "sugar" = 0.1, "nutriment" = 0.1) - - -/obj/item/weapon/reagent_containers/food/snacks/grown/grapes - seed = /obj/item/seeds/grapeseed - name = "bunch of grapes" - desc = "Nutritious!" - icon_state = "grapes" - dried_type = /obj/item/weapon/reagent_containers/food/snacks/no_raisin - filling_color = "#FF1493" - reagents_add = list("vitamin" = 0.04, "nutriment" = 0.1, "sugar" = 0.1) - bitesize_mod = 2 - -/obj/item/weapon/reagent_containers/food/snacks/grown/grapes/green - seed = /obj/item/seeds/greengrapeseed - name = "bunch of green grapes" - desc = "Nutritious!" - icon_state = "greengrapes" - dried_type = /obj/item/weapon/reagent_containers/food/snacks/no_raisin - filling_color = "#7FFF00" - reagents_add = list("salglu_solution" = 0.25, "vitamin" = 0.04, "nutriment" = 0.1, "sugar" = 0.1) - - -/obj/item/weapon/reagent_containers/food/snacks/grown/cabbage - seed = /obj/item/seeds/cabbageseed - name = "cabbage" - desc = "Ewwwwwwwwww. Cabbage." - icon_state = "cabbage" - filling_color = "#90EE90" - reagents_add = list("vitamin" = 0.04, "nutriment" = 0.1) - bitesize_mod = 2 - - -/obj/item/weapon/reagent_containers/food/snacks/grown/cocoapod - seed = /obj/item/seeds/cocoapodseed - name = "cocoa pod" - desc = "Fattening... Mmmmm... chucklate." - icon_state = "cocoapod" - filling_color = "#FFD700" - reagents_add = list("cocoa" = 0.25, "nutriment" = 0.1) - bitesize_mod = 2 - -/obj/item/weapon/reagent_containers/food/snacks/grown/vanillapod - seed = /obj/item/seeds/vanillapodseed - name = "vanilla pod" - desc = "Fattening... Mmmmm... vanilla." - icon_state = "vanillapod" - filling_color = "#FFD700" - reagents_add = list("vanilla" = 0.25, "nutriment" = 0.1) - -/obj/item/weapon/reagent_containers/food/snacks/grown/sugarcane - seed = /obj/item/seeds/sugarcaneseed - name = "sugarcane" - desc = "Sickly sweet." - icon_state = "sugarcane" - filling_color = "#FFD700" - reagents_add = list("sugar" = 0.25) - bitesize_mod = 2 - -/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia //abstract type - name = "ambrosia branch" - desc = "This is a plant." - icon_state = "ambrosiavulgaris" - slot_flags = SLOT_HEAD - filling_color = "#008000" - reagents_add = list("nutriment" = 0) - // It means 1 nutriment no matter how low or high potency is - bitesize_mod = 2 - -/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia/vulgaris - seed = /obj/item/seeds/ambrosiavulgarisseed - name = "ambrosia vulgaris branch" - desc = "This is a plant containing various healing chemicals." - reagents_add = list("space_drugs" = 0.15, "salglu_solution" = 0.25, "vitamin" = 0.04, "nutriment" = 0, "toxin" = 0.1) - -/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia/deus - seed = /obj/item/seeds/ambrosiadeusseed - name = "ambrosia deus branch" - desc = "Eating this makes you feel immortal!" - icon_state = "ambrosiadeus" - filling_color = "#008B8B" - reagents_add = list("omnizine" = 0.15, "synaptizine" = 0.15, "space_drugs" = 0.1, "vitamin" = 0.04, "nutriment" = 0) - - -/obj/item/weapon/reagent_containers/food/snacks/grown/watermelon - seed = /obj/item/seeds/watermelonseed - name = "watermelon" - desc = "It's full of watery goodness." - icon_state = "watermelon" - slice_path = /obj/item/weapon/reagent_containers/food/snacks/watermelonslice - slices_num = 5 - dried_type = null - w_class = 3 - filling_color = "#008000" - reagents_add = list("vitamin" = 0.04, "nutriment" = 0.2, "water" = 0.1) - bitesize_mod = 3 - -/obj/item/weapon/reagent_containers/food/snacks/grown/holymelon - seed = /obj/item/seeds/holymelonseed - name = "holymelon" - desc = "The water within this melon has been blessed by some deity that's particularly fond of watermelon." - icon_state = "holymelon" - filling_color = "#FFD700" - dried_type = null - reagents_add = list("holywater" = 0.2, "vitamin" = 0.04, "nutriment" = 0.1) - -/obj/item/weapon/reagent_containers/food/snacks/grown/pumpkin - seed = /obj/item/seeds/pumpkinseed - name = "pumpkin" - desc = "It's large and scary." - icon_state = "pumpkin" - filling_color = "#FFA500" - reagents_add = list("vitamin" = 0.04, "nutriment" = 0.2) - bitesize_mod = 2 - -/obj/item/weapon/reagent_containers/food/snacks/grown/pumpkin/attackby(obj/item/weapon/W as obj, mob/user as mob, params) - ..() - if(W.is_sharp()) - user.show_message("You carve a face into [src]!", 1) - new /obj/item/clothing/head/hardhat/pumpkinhead(user.loc) - qdel(src) - return - -/obj/item/weapon/reagent_containers/food/snacks/grown/blumpkin - seed = /obj/item/seeds/blumpkinseed - name = "blumpkin" - desc = "The pumpkin's toxic sibling." - icon_state = "blumpkin" - filling_color = "#87CEFA" - reagents_add = list("ammonia" = 0.2, "nutriment" = 0.2) - bitesize_mod = 2 - - -/obj/item/weapon/reagent_containers/food/snacks/grown/whitebeet - seed = /obj/item/seeds/whitebeetseed - name = "white-beet" - desc = "You can't beat white-beet." - icon_state = "whitebeet" - filling_color = "#F4A460" - reagents_add = list("vitamin" = 0.04, "sugar" = 0.2, "nutriment" = 0.05) - bitesize_mod = 2 - -/obj/item/weapon/reagent_containers/food/snacks/grown/parsnip - seed = /obj/item/seeds/parsnipseed - name = "parsnip" - desc = "Closely related to carrots." - icon_state = "parsnip" - reagents_add = list("vitamin" = 0.05, "nutriment" = 0.05) - bitesize_mod = 2 - -/obj/item/weapon/reagent_containers/food/snacks/grown/redbeet - seed = /obj/item/seeds/redbeetseed - name = "red beet" - desc = "You can't beat red beet." - icon_state = "redbeet" - reagents_add = list("vitamin" = 0.05, "nutriment" = 0.05) - bitesize_mod = 2 - - -/obj/item/weapon/reagent_containers/food/snacks/grown/eggplant - seed = /obj/item/seeds/eggplantseed - name = "eggplant" - desc = "Maybe there's a chicken inside?" - icon_state = "eggplant" - filling_color = "#800080" - reagents_add = list("vitamin" = 0.04, "nutriment" = 0.1) - bitesize_mod = 2 - - -/obj/item/weapon/reagent_containers/food/snacks/grown/shell - var/inside_type = null - -/obj/item/weapon/reagent_containers/food/snacks/grown/shell/attack_self(mob/user as mob) - if(inside_type) - new inside_type(user.loc) - user.unEquip(src) - qdel(src) - -/obj/item/weapon/reagent_containers/food/snacks/grown/shell/eggy - seed = /obj/item/seeds/eggyseed - name = "Egg-plant" - desc = "There MUST be a chicken inside." - icon_state = "eggyplant" - inside_type = /obj/item/weapon/reagent_containers/food/snacks/egg - filling_color = "#F8F8FF" - reagents_add = list("nutriment" = 0.1) - bitesize_mod = 2 - - -/obj/item/weapon/reagent_containers/food/snacks/grown/soybeans - seed = /obj/item/seeds/soyaseed - name = "soybeans" - desc = "It's pretty bland, but oh the possibilities..." - gender = PLURAL - icon_state = "soybeans" - filling_color = "#F0E68C" - reagents_add = list("vitamin" = 0.04, "nutriment" = 0.05) - bitesize_mod = 2 - -/obj/item/weapon/reagent_containers/food/snacks/grown/koibeans - seed = /obj/item/seeds/koiseed - name = "koibean" - desc = "Something about these seems fishy." - icon_state = "koibeans" - filling_color = "#F0E68C" - reagents_add = list("carpotoxin" = 0.05, "vitamin" = 0.04, "nutriment" = 0.05) - bitesize_mod = 2 - - - - - - - - - -/obj/item/weapon/reagent_containers/food/snacks/grown/wheat - seed = /obj/item/seeds/wheatseed - name = "wheat" - desc = "Sigh... wheat... a-grain?" - gender = PLURAL - icon_state = "wheat" - filling_color = "#F0E68C" - bitesize_mod = 2 - reagents_add = list("nutriment" = 0.04) - -/obj/item/weapon/reagent_containers/food/snacks/grown/oat - seed = /obj/item/seeds/oatseed - name = "oat" - desc = "Eat oats, do squats." - gender = PLURAL - icon_state = "oat" - filling_color = "#556B2F" - bitesize_mod = 2 - reagents_add = list("nutriment" = 0.04) - -/obj/item/weapon/reagent_containers/food/snacks/grown/rice - seed = /obj/item/seeds/riceseed - name = "rice" - desc = "Rice to meet you." - gender = PLURAL - icon_state = "rice" - filling_color = "#FAFAD2" - bitesize_mod = 2 - reagents_add = list("nutriment" = 0.04) - -/obj/item/weapon/reagent_containers/food/snacks/grown/grass - seed = /obj/item/seeds/grassseed - name = "grass" - desc = "Green and lush." - icon_state = "grassclump" - filling_color = "#32CD32" - bitesize_mod = 2 - reagents_add = list("nutriment" = 0.02) - -/obj/item/weapon/reagent_containers/food/snacks/grown/grass/attack_self(mob/user) - user << "You prepare the astroturf." - var/grassAmt = 1 + round(potency / 50) // The grass we're holding - for(var/obj/item/weapon/reagent_containers/food/snacks/grown/grass/G in user.loc) // The grass on the floor - grassAmt += 1 + round(G.potency / 50) - qdel(G) - while(grassAmt > 0) - var/obj/item/stack/tile/GT = new /obj/item/stack/tile/grass(user.loc) - if(grassAmt >= GT.max_amount) - GT.amount = GT.max_amount - else - GT.amount = grassAmt - for(var/obj/item/stack/tile/grass/GR in user.loc) - if(GR != GT && GR.amount < GR.max_amount) - GR.attackby(GT, user) //we try to transfer all old unfinished stacks to the new stack we created. - grassAmt -= GT.max_amount - qdel(src) - return - -/obj/item/weapon/reagent_containers/food/snacks/grown/carpet - seed = /obj/item/seeds/carpetseed - name = "carpet" - desc = "The textile industry's dark secret." - icon_state = "carpetclump" - -/obj/item/weapon/reagent_containers/food/snacks/grown/carpet/attack_self(mob/user) - user << "You roll out the red carpet." - var/carpetAmt = 1 + round(potency / 50) // The carpet we're holding - for(var/obj/item/weapon/reagent_containers/food/snacks/grown/carpet/C in user.loc) // The carpet on the floor - carpetAmt += 1 + round(C.potency / 50) - qdel(C) - while(carpetAmt > 0) - var/obj/item/stack/tile/CT = new /obj/item/stack/tile/carpet(user.loc) - if(carpetAmt >= CT.max_amount) - CT.amount = CT.max_amount - else - CT.amount = carpetAmt - for(var/obj/item/stack/tile/carpet/CA in user.loc) - if(CA != CT && CA.amount < CA.max_amount) - CA.attackby(CT, user) //we try to transfer all old unfinished stacks to the new stack we created. - carpetAmt -= CT.max_amount - qdel(src) - return - -/obj/item/weapon/reagent_containers/food/snacks/grown/kudzupod - seed = /obj/item/seeds/kudzuseed - name = "kudzu pod" - desc = "Pueraria Virallis: An invasive species with vines that rapidly creep and wrap around whatever they contact." - icon_state = "kudzupod" - var/list/mutations = list() - filling_color = "#6B8E23" - bitesize_mod = 2 - reagents_add = list("charcoal" = 0.04, "nutriment" = 0.02) - - -/obj/item/weapon/reagent_containers/food/snacks/grown/carrot - seed = /obj/item/seeds/carrotseed - name = "carrot" - desc = "It's good for the eyes!" - icon_state = "carrot" - filling_color = "#FFA500" - bitesize_mod = 2 - reagents_add = list("oculine" = 0.25, "vitamin" = 0.04, "nutriment" = 0.05) - -/obj/item/weapon/reagent_containers/food/snacks/grown/carrot/attackby(obj/item/I, mob/user, params) - if(istype(I, /obj/item/weapon/kitchen/knife) || istype(I, /obj/item/weapon/hatchet)) - user << "You sharpen the carrot into a shiv with [I]." - var/obj/item/weapon/kitchen/knife/carrotshiv/Shiv = new /obj/item/weapon/kitchen/knife/carrotshiv - if(!remove_item_from_storage(user)) - user.unEquip(src) - user.put_in_hands(Shiv) - qdel(src) - else - return ..() - - -/obj/item/weapon/reagent_containers/food/snacks/grown/shell/moneyfruit - seed = /obj/item/seeds/cashseed - name = "Money Fruit" - desc = "Looks like a lemon with someone buldging from the inside." - icon_state = "moneyfruit" - inside_type = null - reagents_add = list("nutriment" = 0.05) - bitesize_mod = 2 - -/obj/item/weapon/reagent_containers/food/snacks/grown/shell/moneyfruit/add_juice() - ..() - switch(potency) - if(0 to 10) - inside_type = /obj/item/stack/spacecash - if(11 to 20) - inside_type = /obj/item/stack/spacecash/c10 - if(21 to 30) - inside_type = /obj/item/stack/spacecash/c20 - if(31 to 40) - inside_type = /obj/item/stack/spacecash/c50 - if(41 to 50) - inside_type = /obj/item/stack/spacecash/c100 - if(51 to 60) - inside_type = /obj/item/stack/spacecash/c200 - if(61 to 80) - inside_type = /obj/item/stack/spacecash/c500 - else - inside_type = /obj/item/stack/spacecash/c1000 - - -/obj/item/weapon/reagent_containers/food/snacks/grown/gatfruit - seed = /obj/item/seeds/gatfruit - name = "gatfruit" - desc = "It smells like burning." - icon_state = "gatfruit" - origin_tech = "combat=3" - trash = /obj/item/weapon/gun/projectile/revolver - bitesize_mod = 2 - reagents_add = list("sulfur" = 0.1, "carbon" = 0.1, "nitrogen" = 0.07, "potassium" = 0.05) - - -/obj/item/weapon/reagent_containers/food/snacks/grown/coffee //abstract type - seed = /obj/item/seeds/coffee_arabica_seed - name = "coffee arabica beans" - desc = "Dry them out to make coffee." - icon_state = "coffee_arabica" - filling_color = "#DC143C" - bitesize_mod = 2 - reagents_add = list("vitamin" = 0.04, "coffeepowder" = 0.1) - -/obj/item/weapon/reagent_containers/food/snacks/grown/coffee/robusta - seed = /obj/item/seeds/coffee_robusta_seed - name = "coffee robusta beans" - icon_state = "coffee_robusta" - reagents_add = list("morphine" = 0.05, "vitamin" = 0.04, "coffeepowder" = 0.1) - - -/obj/item/weapon/reagent_containers/food/snacks/grown/tobacco - seed = /obj/item/seeds/tobacco_seed - name = "tobacco leaves" - desc = "Dry them out to make some smokes." - icon_state = "tobacco_leaves" - filling_color = "#008000" - reagents_add = list("nicotine" = 0.03, "nutriment" = 0.03) - -/obj/item/weapon/reagent_containers/food/snacks/grown/tobacco/space - seed = /obj/item/seeds/tobacco_space_seed - name = "space tobacco leaves" - desc = "Dry them out to make some space-smokes." - icon_state = "stobacco_leaves" - filling_color = "#008000" - reagents_add = list("salbutamol" = 0.05, "nicotine" = 0.08, "nutriment" = 0.03) - - -/obj/item/weapon/reagent_containers/food/snacks/grown/tea - seed = /obj/item/seeds/tea_aspera_seed - name = "Tea Aspera tips" - desc = "These aromatic tips of the tea plant can be dried to make tea." - icon_state = "tea_aspera_leaves" - filling_color = "#008000" - reagents_add = list("vitamin" = 0.04, "teapowder" = 0.1) - -/obj/item/weapon/reagent_containers/food/snacks/grown/tea/astra - seed = /obj/item/seeds/tea_astra_seed - name = "Tea Astra tips" - icon_state = "tea_astra_leaves" - filling_color = "#4582B4" - reagents_add = list("salglu_solution" = 0.05, "vitamin" = 0.04, "teapowder" = 0.1) + return \ No newline at end of file diff --git a/code/modules/hydroponics/grown/ambrosia.dm b/code/modules/hydroponics/grown/ambrosia.dm new file mode 100644 index 00000000000..0264ce94fa3 --- /dev/null +++ b/code/modules/hydroponics/grown/ambrosia.dm @@ -0,0 +1,23 @@ +/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia //abstract type + name = "ambrosia branch" + desc = "This is a plant." + icon_state = "ambrosiavulgaris" + slot_flags = SLOT_HEAD + filling_color = "#008000" + reagents_add = list("nutriment" = 0) + // It means 1 nutriment no matter how low or high potency is + bitesize_mod = 2 + +/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia/vulgaris + seed = /obj/item/seeds/ambrosiavulgarisseed + name = "ambrosia vulgaris branch" + desc = "This is a plant containing various healing chemicals." + reagents_add = list("space_drugs" = 0.15, "salglu_solution" = 0.25, "vitamin" = 0.04, "nutriment" = 0, "toxin" = 0.1) + +/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia/deus + seed = /obj/item/seeds/ambrosiadeusseed + name = "ambrosia deus branch" + desc = "Eating this makes you feel immortal!" + icon_state = "ambrosiadeus" + filling_color = "#008B8B" + reagents_add = list("omnizine" = 0.15, "synaptizine" = 0.15, "space_drugs" = 0.1, "vitamin" = 0.04, "nutriment" = 0) \ No newline at end of file diff --git a/code/modules/hydroponics/grown/beans.dm b/code/modules/hydroponics/grown/beans.dm new file mode 100644 index 00000000000..936b1ca1696 --- /dev/null +++ b/code/modules/hydroponics/grown/beans.dm @@ -0,0 +1,18 @@ +/obj/item/weapon/reagent_containers/food/snacks/grown/soybeans + seed = /obj/item/seeds/soyaseed + name = "soybeans" + desc = "It's pretty bland, but oh the possibilities..." + gender = PLURAL + icon_state = "soybeans" + filling_color = "#F0E68C" + reagents_add = list("vitamin" = 0.04, "nutriment" = 0.05) + bitesize_mod = 2 + +/obj/item/weapon/reagent_containers/food/snacks/grown/koibeans + seed = /obj/item/seeds/koiseed + name = "koibean" + desc = "Something about these seems fishy." + icon_state = "koibeans" + filling_color = "#F0E68C" + reagents_add = list("carpotoxin" = 0.05, "vitamin" = 0.04, "nutriment" = 0.05) + bitesize_mod = 2 \ No newline at end of file diff --git a/code/modules/hydroponics/grown/berries.dm b/code/modules/hydroponics/grown/berries.dm index 9278b57b8a9..b1dc16d34ef 100644 --- a/code/modules/hydroponics/grown/berries.dm +++ b/code/modules/hydroponics/grown/berries.dm @@ -54,4 +54,44 @@ /obj/item/weapon/reagent_containers/food/snacks/grown/berries/glow/dropped(mob/user) ..() user.AddLuminosity(round(-potency / 5)) - src.SetLuminosity(round(potency / 5)) \ No newline at end of file + src.SetLuminosity(round(potency / 5)) + + +// Cherries +/obj/item/weapon/reagent_containers/food/snacks/grown/cherries + seed = /obj/item/seeds/cherryseed + name = "cherries" + desc = "Great for toppings!" + icon_state = "cherry" + gender = PLURAL + filling_color = "#FF0000" + reagents_add = list("nutriment" = 0.07, "sugar" = 0.07) + bitesize_mod = 2 + +/obj/item/weapon/reagent_containers/food/snacks/grown/bluecherries + seed = /obj/item/seeds/bluecherryseed + name = "blue cherries" + desc = "They're cherries that are blue." + icon_state = "bluecherry" + filling_color = "#6495ED" + reagents_add = list("nutriment" = 0.07, "sugar" = 0.07) + bitesize_mod = 2 + + +// Grapes +/obj/item/weapon/reagent_containers/food/snacks/grown/grapes + seed = /obj/item/seeds/grapeseed + name = "bunch of grapes" + desc = "Nutritious!" + icon_state = "grapes" + dried_type = /obj/item/weapon/reagent_containers/food/snacks/no_raisin + filling_color = "#FF1493" + reagents_add = list("vitamin" = 0.04, "nutriment" = 0.1, "sugar" = 0.1) + bitesize_mod = 2 + +/obj/item/weapon/reagent_containers/food/snacks/grown/grapes/green + seed = /obj/item/seeds/greengrapeseed + name = "bunch of green grapes" + icon_state = "greengrapes" + filling_color = "#7FFF00" + reagents_add = list("salglu_solution" = 0.25, "vitamin" = 0.04, "nutriment" = 0.1, "sugar" = 0.1) \ No newline at end of file diff --git a/code/modules/hydroponics/grown/cereals.dm b/code/modules/hydroponics/grown/cereals.dm new file mode 100644 index 00000000000..8d328ff394d --- /dev/null +++ b/code/modules/hydroponics/grown/cereals.dm @@ -0,0 +1,31 @@ +/obj/item/weapon/reagent_containers/food/snacks/grown/wheat + seed = /obj/item/seeds/wheatseed + name = "wheat" + desc = "Sigh... wheat... a-grain?" + gender = PLURAL + icon_state = "wheat" + filling_color = "#F0E68C" + bitesize_mod = 2 + reagents_add = list("nutriment" = 0.04) + + +/obj/item/weapon/reagent_containers/food/snacks/grown/oat + seed = /obj/item/seeds/oatseed + name = "oat" + desc = "Eat oats, do squats." + gender = PLURAL + icon_state = "oat" + filling_color = "#556B2F" + bitesize_mod = 2 + reagents_add = list("nutriment" = 0.04) + + +/obj/item/weapon/reagent_containers/food/snacks/grown/rice + seed = /obj/item/seeds/riceseed + name = "rice" + desc = "Rice to meet you." + gender = PLURAL + icon_state = "rice" + filling_color = "#FAFAD2" + bitesize_mod = 2 + reagents_add = list("nutriment" = 0.04) \ No newline at end of file diff --git a/code/modules/hydroponics/grown/citrus.dm b/code/modules/hydroponics/grown/citrus.dm index 519ac1b75f2..2ced7418afe 100644 --- a/code/modules/hydroponics/grown/citrus.dm +++ b/code/modules/hydroponics/grown/citrus.dm @@ -31,4 +31,35 @@ name = "orange" desc = "It's an tangy fruit." icon_state = "orange" - filling_color = "#FFA500" \ No newline at end of file + filling_color = "#FFA500" + + +// Money Lemon +/obj/item/weapon/reagent_containers/food/snacks/grown/shell/moneyfruit + seed = /obj/item/seeds/cashseed + name = "Money Fruit" + desc = "Looks like a lemon with someone buldging from the inside." + icon_state = "moneyfruit" + inside_type = null + reagents_add = list("nutriment" = 0.05) + bitesize_mod = 2 + +/obj/item/weapon/reagent_containers/food/snacks/grown/shell/moneyfruit/add_juice() + ..() + switch(potency) + if(0 to 10) + inside_type = /obj/item/stack/spacecash + if(11 to 20) + inside_type = /obj/item/stack/spacecash/c10 + if(21 to 30) + inside_type = /obj/item/stack/spacecash/c20 + if(31 to 40) + inside_type = /obj/item/stack/spacecash/c50 + if(41 to 50) + inside_type = /obj/item/stack/spacecash/c100 + if(51 to 60) + inside_type = /obj/item/stack/spacecash/c200 + if(61 to 80) + inside_type = /obj/item/stack/spacecash/c500 + else + inside_type = /obj/item/stack/spacecash/c1000 \ No newline at end of file diff --git a/code/modules/hydroponics/grown/grass_carpet.dm b/code/modules/hydroponics/grown/grass_carpet.dm new file mode 100644 index 00000000000..c351893109b --- /dev/null +++ b/code/modules/hydroponics/grown/grass_carpet.dm @@ -0,0 +1,53 @@ +/obj/item/weapon/reagent_containers/food/snacks/grown/grass + seed = /obj/item/seeds/grassseed + name = "grass" + desc = "Green and lush." + icon_state = "grassclump" + filling_color = "#32CD32" + bitesize_mod = 2 + reagents_add = list("nutriment" = 0.02) + +/obj/item/weapon/reagent_containers/food/snacks/grown/grass/attack_self(mob/user) + user << "You prepare the astroturf." + var/grassAmt = 1 + round(potency / 50) // The grass we're holding + for(var/obj/item/weapon/reagent_containers/food/snacks/grown/grass/G in user.loc) // The grass on the floor + grassAmt += 1 + round(G.potency / 50) + qdel(G) + while(grassAmt > 0) + var/obj/item/stack/tile/GT = new /obj/item/stack/tile/grass(user.loc) + if(grassAmt >= GT.max_amount) + GT.amount = GT.max_amount + else + GT.amount = grassAmt + for(var/obj/item/stack/tile/grass/GR in user.loc) + if(GR != GT && GR.amount < GR.max_amount) + GR.attackby(GT, user) //we try to transfer all old unfinished stacks to the new stack we created. + grassAmt -= GT.max_amount + qdel(src) + return + + +/obj/item/weapon/reagent_containers/food/snacks/grown/carpet + seed = /obj/item/seeds/carpetseed + name = "carpet" + desc = "The textile industry's dark secret." + icon_state = "carpetclump" + +/obj/item/weapon/reagent_containers/food/snacks/grown/carpet/attack_self(mob/user) + user << "You roll out the red carpet." + var/carpetAmt = 1 + round(potency / 50) // The carpet we're holding + for(var/obj/item/weapon/reagent_containers/food/snacks/grown/carpet/C in user.loc) // The carpet on the floor + carpetAmt += 1 + round(C.potency / 50) + qdel(C) + while(carpetAmt > 0) + var/obj/item/stack/tile/CT = new /obj/item/stack/tile/carpet(user.loc) + if(carpetAmt >= CT.max_amount) + CT.amount = CT.max_amount + else + CT.amount = carpetAmt + for(var/obj/item/stack/tile/carpet/CA in user.loc) + if(CA != CT && CA.amount < CA.max_amount) + CA.attackby(CT, user) //we try to transfer all old unfinished stacks to the new stack we created. + carpetAmt -= CT.max_amount + qdel(src) + return \ No newline at end of file diff --git a/code/modules/hydroponics/grown/melon.dm b/code/modules/hydroponics/grown/melon.dm new file mode 100644 index 00000000000..4f6d17c0ab6 --- /dev/null +++ b/code/modules/hydroponics/grown/melon.dm @@ -0,0 +1,22 @@ +/obj/item/weapon/reagent_containers/food/snacks/grown/watermelon + seed = /obj/item/seeds/watermelonseed + name = "watermelon" + desc = "It's full of watery goodness." + icon_state = "watermelon" + slice_path = /obj/item/weapon/reagent_containers/food/snacks/watermelonslice + slices_num = 5 + dried_type = null + w_class = 3 + filling_color = "#008000" + reagents_add = list("vitamin" = 0.04, "nutriment" = 0.2, "water" = 0.1) + bitesize_mod = 3 + + +/obj/item/weapon/reagent_containers/food/snacks/grown/holymelon + seed = /obj/item/seeds/holymelonseed + name = "holymelon" + desc = "The water within this melon has been blessed by some deity that's particularly fond of watermelon." + icon_state = "holymelon" + filling_color = "#FFD700" + dried_type = null + reagents_add = list("holywater" = 0.2, "vitamin" = 0.04, "nutriment" = 0.1) \ No newline at end of file diff --git a/code/modules/hydroponics/grown/misc.dm b/code/modules/hydroponics/grown/misc.dm new file mode 100644 index 00000000000..64fcb25a627 --- /dev/null +++ b/code/modules/hydroponics/grown/misc.dm @@ -0,0 +1,125 @@ +/obj/item/weapon/reagent_containers/food/snacks/grown/corn + seed = /obj/item/seeds/cornseed + name = "ear of corn" + desc = "Needs some butter!" + icon_state = "corn" + cooked_type = /obj/item/weapon/reagent_containers/food/snacks/popcorn + filling_color = "#FFFF00" + trash = /obj/item/weapon/grown/corncob + reagents_add = list("vitamin" = 0.04, "nutriment" = 0.1) + bitesize_mod = 2 + + +/obj/item/weapon/reagent_containers/food/snacks/grown/cabbage + seed = /obj/item/seeds/cabbageseed + name = "cabbage" + desc = "Ewwwwwwwwww. Cabbage." + icon_state = "cabbage" + filling_color = "#90EE90" + reagents_add = list("vitamin" = 0.04, "nutriment" = 0.1) + bitesize_mod = 2 + + +/obj/item/weapon/reagent_containers/food/snacks/grown/cocoapod + seed = /obj/item/seeds/cocoapodseed + name = "cocoa pod" + desc = "Fattening... Mmmmm... chucklate." + icon_state = "cocoapod" + filling_color = "#FFD700" + reagents_add = list("cocoa" = 0.25, "nutriment" = 0.1) + bitesize_mod = 2 + +/obj/item/weapon/reagent_containers/food/snacks/grown/vanillapod + seed = /obj/item/seeds/vanillapodseed + name = "vanilla pod" + desc = "Fattening... Mmmmm... vanilla." + icon_state = "vanillapod" + filling_color = "#FFD700" + reagents_add = list("vanilla" = 0.25, "nutriment" = 0.1) + +/obj/item/weapon/reagent_containers/food/snacks/grown/sugarcane + seed = /obj/item/seeds/sugarcaneseed + name = "sugarcane" + desc = "Sickly sweet." + icon_state = "sugarcane" + filling_color = "#FFD700" + reagents_add = list("sugar" = 0.25) + bitesize_mod = 2 + +/obj/item/weapon/reagent_containers/food/snacks/grown/pumpkin + seed = /obj/item/seeds/pumpkinseed + name = "pumpkin" + desc = "It's large and scary." + icon_state = "pumpkin" + filling_color = "#FFA500" + reagents_add = list("vitamin" = 0.04, "nutriment" = 0.2) + bitesize_mod = 2 + +/obj/item/weapon/reagent_containers/food/snacks/grown/pumpkin/attackby(obj/item/weapon/W as obj, mob/user as mob, params) + ..() + if(W.is_sharp()) + user.show_message("You carve a face into [src]!", 1) + new /obj/item/clothing/head/hardhat/pumpkinhead(user.loc) + qdel(src) + return + +/obj/item/weapon/reagent_containers/food/snacks/grown/blumpkin + seed = /obj/item/seeds/blumpkinseed + name = "blumpkin" + desc = "The pumpkin's toxic sibling." + icon_state = "blumpkin" + filling_color = "#87CEFA" + reagents_add = list("ammonia" = 0.2, "nutriment" = 0.2) + bitesize_mod = 2 + + +/obj/item/weapon/reagent_containers/food/snacks/grown/eggplant + seed = /obj/item/seeds/eggplantseed + name = "eggplant" + desc = "Maybe there's a chicken inside?" + icon_state = "eggplant" + filling_color = "#800080" + reagents_add = list("vitamin" = 0.04, "nutriment" = 0.1) + bitesize_mod = 2 + + +/obj/item/weapon/reagent_containers/food/snacks/grown/shell + var/inside_type = null + +/obj/item/weapon/reagent_containers/food/snacks/grown/shell/attack_self(mob/user as mob) + if(inside_type) + new inside_type(user.loc) + user.unEquip(src) + qdel(src) + +/obj/item/weapon/reagent_containers/food/snacks/grown/shell/eggy + seed = /obj/item/seeds/eggyseed + name = "Egg-plant" + desc = "There MUST be a chicken inside." + icon_state = "eggyplant" + inside_type = /obj/item/weapon/reagent_containers/food/snacks/egg + filling_color = "#F8F8FF" + reagents_add = list("nutriment" = 0.1) + bitesize_mod = 2 + + +/obj/item/weapon/reagent_containers/food/snacks/grown/kudzupod + seed = /obj/item/seeds/kudzuseed + name = "kudzu pod" + desc = "Pueraria Virallis: An invasive species with vines that rapidly creep and wrap around whatever they contact." + icon_state = "kudzupod" + var/list/mutations = list() + filling_color = "#6B8E23" + bitesize_mod = 2 + reagents_add = list("charcoal" = 0.04, "nutriment" = 0.02) + + +/obj/item/weapon/reagent_containers/food/snacks/grown/gatfruit + seed = /obj/item/seeds/gatfruit + name = "gatfruit" + desc = "It smells like burning." + icon_state = "gatfruit" + origin_tech = "combat=3" + trash = /obj/item/weapon/gun/projectile/revolver + bitesize_mod = 2 + reagents_add = list("sulfur" = 0.1, "carbon" = 0.1, "nitrogen" = 0.07, "potassium" = 0.05) \ No newline at end of file diff --git a/code/modules/hydroponics/grown/potato.dm b/code/modules/hydroponics/grown/potato.dm new file mode 100644 index 00000000000..a1d34cb3040 --- /dev/null +++ b/code/modules/hydroponics/grown/potato.dm @@ -0,0 +1,30 @@ +/obj/item/weapon/reagent_containers/food/snacks/grown/potato + seed = /obj/item/seeds/potatoseed + name = "potato" + desc = "Boil 'em! Mash 'em! Stick 'em in a stew!" + icon_state = "potato" + filling_color = "#E9967A" + reagents_add = list("vitamin" = 0.04, "nutriment" = 0.1) + bitesize = 100 + +/obj/item/weapon/reagent_containers/food/snacks/grown/potato/attackby(obj/item/weapon/W, mob/user, params) + ..() + if(istype(W, /obj/item/stack/cable_coil)) + var/obj/item/stack/cable_coil/C = W + if (C.use(5)) + user << "You add some cable to the potato and slide it inside the battery encasing." + var/obj/item/weapon/stock_parts/cell/potato/pocell = new /obj/item/weapon/stock_parts/cell/potato(user.loc) + pocell.maxcharge = src.potency * 20 + pocell.charge = pocell.maxcharge + qdel(src) + return + else + user << "You need five lengths of cable to make a potato battery!" + return + +/obj/item/weapon/reagent_containers/food/snacks/grown/potato/sweet + seed = /obj/item/seeds/sweetpotatoseed + name = "sweet potato" + desc = "It's sweet." + icon_state = "sweetpotato" + reagents_add = list("vitamin" = 0.1, "sugar" = 0.1, "nutriment" = 0.1) \ No newline at end of file diff --git a/code/modules/hydroponics/grown/root.dm b/code/modules/hydroponics/grown/root.dm new file mode 100644 index 00000000000..e97874ffba2 --- /dev/null +++ b/code/modules/hydroponics/grown/root.dm @@ -0,0 +1,44 @@ +/obj/item/weapon/reagent_containers/food/snacks/grown/carrot + seed = /obj/item/seeds/carrotseed + name = "carrot" + desc = "It's good for the eyes!" + icon_state = "carrot" + filling_color = "#FFA500" + bitesize_mod = 2 + reagents_add = list("oculine" = 0.25, "vitamin" = 0.04, "nutriment" = 0.05) + +/obj/item/weapon/reagent_containers/food/snacks/grown/carrot/attackby(obj/item/I, mob/user, params) + if(istype(I, /obj/item/weapon/kitchen/knife) || istype(I, /obj/item/weapon/hatchet)) + user << "You sharpen the carrot into a shiv with [I]." + var/obj/item/weapon/kitchen/knife/carrotshiv/Shiv = new /obj/item/weapon/kitchen/knife/carrotshiv + if(!remove_item_from_storage(user)) + user.unEquip(src) + user.put_in_hands(Shiv) + qdel(src) + else + return ..() + +/obj/item/weapon/reagent_containers/food/snacks/grown/whitebeet + seed = /obj/item/seeds/whitebeetseed + name = "white-beet" + desc = "You can't beat white-beet." + icon_state = "whitebeet" + filling_color = "#F4A460" + reagents_add = list("vitamin" = 0.04, "sugar" = 0.2, "nutriment" = 0.05) + bitesize_mod = 2 + +/obj/item/weapon/reagent_containers/food/snacks/grown/parsnip + seed = /obj/item/seeds/parsnipseed + name = "parsnip" + desc = "Closely related to carrots." + icon_state = "parsnip" + reagents_add = list("vitamin" = 0.05, "nutriment" = 0.05) + bitesize_mod = 2 + +/obj/item/weapon/reagent_containers/food/snacks/grown/redbeet + seed = /obj/item/seeds/redbeetseed + name = "red beet" + desc = "You can't beat red beet." + icon_state = "redbeet" + reagents_add = list("vitamin" = 0.05, "nutriment" = 0.05) + bitesize_mod = 2 \ No newline at end of file diff --git a/code/modules/hydroponics/grown/tea_coffee.dm b/code/modules/hydroponics/grown/tea_coffee.dm new file mode 100644 index 00000000000..f015fdc671c --- /dev/null +++ b/code/modules/hydroponics/grown/tea_coffee.dm @@ -0,0 +1,30 @@ +/obj/item/weapon/reagent_containers/food/snacks/grown/tea + seed = /obj/item/seeds/tea_aspera_seed + name = "Tea Aspera tips" + desc = "These aromatic tips of the tea plant can be dried to make tea." + icon_state = "tea_aspera_leaves" + filling_color = "#008000" + reagents_add = list("vitamin" = 0.04, "teapowder" = 0.1) + +/obj/item/weapon/reagent_containers/food/snacks/grown/tea/astra + seed = /obj/item/seeds/tea_astra_seed + name = "Tea Astra tips" + icon_state = "tea_astra_leaves" + filling_color = "#4582B4" + reagents_add = list("salglu_solution" = 0.05, "vitamin" = 0.04, "teapowder" = 0.1) + + +/obj/item/weapon/reagent_containers/food/snacks/grown/coffee + seed = /obj/item/seeds/coffee_arabica_seed + name = "coffee arabica beans" + desc = "Dry them out to make coffee." + icon_state = "coffee_arabica" + filling_color = "#DC143C" + bitesize_mod = 2 + reagents_add = list("vitamin" = 0.04, "coffeepowder" = 0.1) + +/obj/item/weapon/reagent_containers/food/snacks/grown/coffee/robusta + seed = /obj/item/seeds/coffee_robusta_seed + name = "coffee robusta beans" + icon_state = "coffee_robusta" + reagents_add = list("morphine" = 0.05, "vitamin" = 0.04, "coffeepowder" = 0.1) \ No newline at end of file diff --git a/code/modules/hydroponics/grown/tobacco.dm b/code/modules/hydroponics/grown/tobacco.dm new file mode 100644 index 00000000000..e5c8c8af071 --- /dev/null +++ b/code/modules/hydroponics/grown/tobacco.dm @@ -0,0 +1,15 @@ +/obj/item/weapon/reagent_containers/food/snacks/grown/tobacco + seed = /obj/item/seeds/tobacco_seed + name = "tobacco leaves" + desc = "Dry them out to make some smokes." + icon_state = "tobacco_leaves" + filling_color = "#008000" + reagents_add = list("nicotine" = 0.03, "nutriment" = 0.03) + + +/obj/item/weapon/reagent_containers/food/snacks/grown/tobacco/space + seed = /obj/item/seeds/tobacco_space_seed + name = "space tobacco leaves" + desc = "Dry them out to make some space-smokes." + icon_state = "stobacco_leaves" + reagents_add = list("salbutamol" = 0.05, "nicotine" = 0.08, "nutriment" = 0.03) \ No newline at end of file diff --git a/tgstation.dme b/tgstation.dme index 798f198d081..3b13be50511 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -1092,13 +1092,23 @@ #include "code\modules\hydroponics\hydroponics.dm" #include "code\modules\hydroponics\seed_extractor.dm" #include "code\modules\hydroponics\seeds.dm" +#include "code\modules\hydroponics\grown\ambrosia.dm" #include "code\modules\hydroponics\grown\apple.dm" #include "code\modules\hydroponics\grown\banana.dm" +#include "code\modules\hydroponics\grown\beans.dm" #include "code\modules\hydroponics\grown\berries.dm" +#include "code\modules\hydroponics\grown\cereals.dm" #include "code\modules\hydroponics\grown\chili.dm" #include "code\modules\hydroponics\grown\citrus.dm" #include "code\modules\hydroponics\grown\flowers.dm" +#include "code\modules\hydroponics\grown\grass_carpet.dm" +#include "code\modules\hydroponics\grown\melon.dm" +#include "code\modules\hydroponics\grown\misc.dm" #include "code\modules\hydroponics\grown\mushrooms.dm" +#include "code\modules\hydroponics\grown\potato.dm" +#include "code\modules\hydroponics\grown\root.dm" +#include "code\modules\hydroponics\grown\tea_coffee.dm" +#include "code\modules\hydroponics\grown\tobacco.dm" #include "code\modules\hydroponics\grown\tomato.dm" #include "code\modules\jobs\access.dm" #include "code\modules\jobs\jobs.dm"