From b6ff8f5919384da9875cd3d563ca7403a37cd1d0 Mon Sep 17 00:00:00 2001 From: c0 Date: Thu, 3 Mar 2016 06:13:12 +0300 Subject: [PATCH] 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"