diff --git a/code/game/objects/items/stacks/cash.dm b/code/game/objects/items/stacks/cash.dm index 94f6fca2..a10c28de 100644 --- a/code/game/objects/items/stacks/cash.dm +++ b/code/game/objects/items/stacks/cash.dm @@ -11,6 +11,7 @@ w_class = WEIGHT_CLASS_TINY full_w_class = WEIGHT_CLASS_TINY resistance_flags = FLAMMABLE + grind_results = list(/datum/reagent/cellulose = 10) var/value = 0 /obj/item/stack/spacecash/Initialize() diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index 4ba3f287..987f8580 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -142,6 +142,7 @@ stop_bleeding = 1800 self_delay = 20 max_amount = 12 + grind_results = list(/datum/reagent/cellulose = 3) /obj/item/stack/medical/gauze/attackby(obj/item/I, mob/user, params) @@ -196,10 +197,10 @@ desc = "A healing paste you can apply on wounds." icon_state = "aloe_paste" - self_delay = 20 + self_delay = 25 novariants = TRUE amount = 20 max_amount = 20 - heal_brute = 3 - heal_burn = 3 - grind_results = list(/datum/reagent/consumable/aloejuice = 1) \ No newline at end of file + heal_brute = 25 + heal_burn = 30 + grind_results = list(/datum/reagent/consumable/aloejuice = 1) diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 9763eeda..07e84449 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -247,7 +247,7 @@ GLOBAL_LIST_INIT(wood_recipes, list ( \ resistance_flags = FLAMMABLE merge_type = /obj/item/stack/sheet/mineral/wood novariants = TRUE - grind_results = list(/datum/reagent/carbon = 20) + grind_results = list(/datum/reagent/cellulose = 10) /obj/item/stack/sheet/mineral/wood/Initialize(mapload, new_amount, merge = TRUE) recipes = GLOB.wood_recipes @@ -277,7 +277,7 @@ GLOBAL_LIST_INIT(bamboo_recipes, list ( \ armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 0) resistance_flags = FLAMMABLE merge_type = /obj/item/stack/sheet/mineral/bamboo - grind_results = list(/datum/reagent/carbon = 5) + grind_results = list(/datum/reagent/cellulose = 10) /obj/item/stack/sheet/mineral/wood/attackby(obj/item/W, mob/user, params) // NOTE: sheet_types.dm is where the WOOD stack lives. Maybe move this over there. // Taken from /obj/item/stack/rods/attackby in [rods.dm] @@ -355,6 +355,7 @@ GLOBAL_LIST_INIT(cloth_recipes, list ( \ is_fabric = TRUE loom_result = /obj/item/stack/sheet/silk merge_type = /obj/item/stack/sheet/cloth + grind_results = list(/datum/reagent/cellulose = 4) /obj/item/stack/sheet/cloth/Initialize(mapload, new_amount, merge = TRUE) recipes = GLOB.cloth_recipes @@ -374,6 +375,7 @@ GLOBAL_LIST_INIT(cloth_recipes, list ( \ item_state = "sheet-cloth" novariants = TRUE merge_type = /obj/item/stack/sheet/silk + grind_results = list(/datum/reagent/cellulose = 2) //obj/item/stack/sheet/silk/Initialize(mapload, new_amount, merge = TRUE) // recipes = GLOB.silk_recipes @@ -398,6 +400,7 @@ GLOBAL_LIST_INIT(durathread_recipes, list ( \ force = 0 throwforce = 0 merge_type = /obj/item/stack/sheet/durathread + grind_results = list(/datum/reagent/cellulose = 10) /obj/item/stack/sheet/durathread/Initialize(mapload, new_amount, merge = TRUE) recipes = GLOB.durathread_recipes diff --git a/code/game/objects/items/stacks/wrap.dm b/code/game/objects/items/stacks/wrap.dm index 10240e90..9ad60df4 100644 --- a/code/game/objects/items/stacks/wrap.dm +++ b/code/game/objects/items/stacks/wrap.dm @@ -13,6 +13,7 @@ amount = 25 max_amount = 25 resistance_flags = FLAMMABLE + grind_results = list(/datum/reagent/cellulose = 3) /obj/item/stack/wrapping_paper/use(used, transfer) var/turf/T = get_turf(src) diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index e38a7a6e..d4e337d2 100644 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -889,10 +889,10 @@ obj/item/storage/belt/slut/ComponentInitialize() content_overlays = TRUE /obj/item/storage/belt/botany/New() - . = ..() if(prob(1)) new/obj/item/storage/belt/botany/fancy(loc) qdel(src) + . = ..() /obj/item/storage/belt/botany/ComponentInitialize() . = ..() @@ -915,4 +915,4 @@ obj/item/storage/belt/slut/ComponentInitialize() /obj/item/storage/belt/botany/fancy //I like citadel's botany belt but I also wanna keep the default desc = "A belt made for holding hydroponics supplies. Oddly enough, it's not green." icon_state = "botanybelt_extra" - item_state = "botanybelt_extra" \ No newline at end of file + item_state = "botanybelt_extra" diff --git a/code/modules/cargo/packs.dm b/code/modules/cargo/packs.dm index 4c9ddfe3..b5e73c7f 100644 --- a/code/modules/cargo/packs.dm +++ b/code/modules/cargo/packs.dm @@ -8,6 +8,7 @@ var/access_any = FALSE //Do we care about access? var/list/contains = null //What items are in the crate var/crate_name = "crate" //The crate that comes with each order + var/crate_desc = "" //Crate's description var/desc = ""//no desc by default var/crate_type = /obj/structure/closet/crate //what kind of crate - Locked crates needed for access locked crates var/dangerous = FALSE // Should we message admins? @@ -19,6 +20,8 @@ /datum/supply_pack/proc/generate(atom/A) var/obj/structure/closet/crate/C = new crate_type(A) C.name = crate_name + if(crate_desc) + C.desc = crate_desc if(access) C.req_access = list(access) if(access_any) diff --git a/code/modules/cargo/packs/misc.dm b/code/modules/cargo/packs/misc.dm index 42d70fa3..af4a633f 100644 --- a/code/modules/cargo/packs/misc.dm +++ b/code/modules/cargo/packs/misc.dm @@ -267,7 +267,7 @@ /datum/supply_pack/misc/lewd name = "Lewd Crate" // OwO - desc = "Psss want to have a good time with your sluts? Well I got what you want! Maid clothing, dildos, collars and more!" + desc = "Psst, want to have a good time with your sluts? Well I got what you want! Maid clothing, dildos, collars and more!" cost = 5000 contraband = TRUE contains = list(/obj/item/dildo/custom, diff --git a/code/modules/cargo/packs/organic.dm b/code/modules/cargo/packs/organic.dm index 0aee666e..05a91ab7 100644 --- a/code/modules/cargo/packs/organic.dm +++ b/code/modules/cargo/packs/organic.dm @@ -196,6 +196,188 @@ /obj/item/reagent_containers/food/snacks/grown/strawberry) crate_name = "fruit crate" + +//ALIEN-ESQUE SEEDS CRATE +/datum/supply_pack/organic/rareseeds + name = "Galactic Seeds Crate" + desc = "Feel the need to explore the vastness of space, condensed into a single crate! Contains at least 4 seeds from random regions of space." + cost = 9500 //See fill proc. I know this costs a lot + contains = list() + crate_name = "galactic seeds crate" + crate_desc = "A rectangular steel crate." + crate_type = /obj/structure/closet/crate/hydroponics + +/datum/supply_pack/organic/rareseeds/fill(obj/structure/closet/crate/C) + . = ..() + var/iteration = 0 + var/common_seeds = list( + /obj/item/seeds/wheat, + /obj/item/seeds/wheat/oat, + /obj/item/seeds/peas, + /obj/item/seeds/tea, + /obj/item/seeds/coffee, + /obj/item/seeds/poppy, + /obj/item/seeds/sunflower, + /obj/item/seeds/grass, + /obj/item/seeds/glowshroom, + /obj/item/seeds/cotton, + /obj/item/seeds/reishi, + /obj/item/seeds/kudzu, //For some sort of realism that kudzu generally grows everywhere, have it a common seed + /obj/item/seeds/starthistle) + var/uncommon_seeds = list( + /obj/item/seeds/chanterelle/jupitercup, + /obj/item/seeds/sunflower/moonflower, + /obj/item/seeds/bee_balm, + /obj/item/seeds/random, + /obj/item/seeds/tea/astra, + /obj/item/seeds/peas/laugh, + /obj/item/seeds/galaxythistle, + /obj/item/seeds/coconut, + /obj/item/seeds/ambrosia/deus, + /obj/item/seeds/aloe, + /obj/item/seeds/cannabis/rainbow, + /obj/item/seeds/cannabis/ultimate, + /obj/item/seeds/angel, + /obj/item/seeds/liberty, + /obj/item/seeds/plump/walkingmushroom, + /obj/item/seeds/chanterelle, + /obj/item/seeds/glowshroom/shadowshroom) + var/xenoarch_seeds = list( + /obj/item/seeds/amauri, + /obj/item/seeds/gelthi, + /obj/item/seeds/jurlmah, + /obj/item/seeds/nofruit, + /obj/item/seeds/shand, + /obj/item/seeds/surik, + /obj/item/seeds/telriis, + /obj/item/seeds/thaadra, + /obj/item/seeds/vale, + /obj/item/seeds/vaporsac) + var/lavaland_seeds = list( + /obj/item/seeds/lavaland/polypore, + /obj/item/seeds/lavaland/porcini, + /obj/item/seeds/lavaland/inocybe, + /obj/item/seeds/lavaland/ember, + /obj/item/seeds/lavaland/cactus) + while((prob(68) || iteration <= 4) && iteration <= 15) + iteration++ + var/obj/item/seeds/chosen_seed = null + var/obj/item/seeds/cache = null + switch(iteration) + if(1 to 3) + chosen_seed = pick(common_seeds) + if(4) + if(prob(25)) + chosen_seed = pick(lavaland_seeds) + else + chosen_seed = pick(common_seeds) + if(5) + if(prob(40)) + chosen_seed = pick(lavaland_seeds) + else + chosen_seed = pick(common_seeds) + if(6) + if(prob(70)) + chosen_seed = pick(common_seeds) + else + chosen_seed = pick(uncommon_seeds) + if(7) + if(prob(3)) + chosen_seed = pick(xenoarch_seeds) + else if(prob(40)) + chosen_seed = pick(common_seeds) + else + chosen_seed = pick(uncommon_seeds) + if(8 to 10) + if(prob(8)) + chosen_seed = pick(xenoarch_seeds) + else + chosen_seed = pick(uncommon_seeds) + if(11 to INFINITY) + if(prob(15)) + chosen_seed = pick(xenoarch_seeds) + else if (prob(50)) + chosen_seed = pick(uncommon_seeds) + else + chosen_seed = pick(lavaland_seeds) + + + cache = chosen_seed + + if(istype(chosen_seed,/obj/item/seeds/starthistle) + new chosen_seed(C) + continue + //Make it actually seem like it's from another galaxy with all this stuff + if(prob(15) && !istype(chosen_seed, /obj/item/seeds/starthistle) + chosen_seed.rarity += 1 + + var/mutated = FALSE + for(var/datum/plant_gene/G in cache.genes) + if(locate(G) in chosen_seed.genes && prob(60)) + if(prob(50)) + chosen_seed.unset_mutability(G, PLANT_GENE_EXTRACTABLE) + chosen_seed.rarity += 5 + else if(prob(70)) + chosen_seed.unset_mutability(G, PLANT_GENE_REMOVABLE) + chosen_seed.rarity += 5 + else if(!istype(G, /datum/plant_gene/core)) + chosen_seed.forbiddengenes += G.type //Has the slim chance to make this plant unable to produce anything it started out with + chosen_seed.genes -= locate(G) in chosen_seed.genes //Sanity check + chosen_seed.rarity += 10 + + if(prob(65)) //To make this seem even more otherworldly + //Our own version of add_random_reagents + var/random_amount = round(rand(0, 25), 5) * 0.01 + if(random_amount <= 0) random_amount = 0.02 + var/datum/plant_gene/reagent/R = new(get_random_reagent_id(), random_amount) + + if(R.can_add(chosen_seed)) + chosen_seed.genes += R + chosen_seed.rarity += 5 + else + qdel(R) + chosen_seed.reagents_from_genes() + + if(prob(3)) //This is insanely rare, but we will use different grow sprites. Probably will fuck something up + var/obj/item/seeds/S = pick(subtypesof(/obj/item/seeds)) + if(prob(85)) + chosen_seed.plantname = "[pick("Alien", "Supernatural", "Artificial", "Modified")] [S.plantname]" + chosen_seed.rarity += 20*(!mutated) + else + chosen_seed.plantname = S.plantname + chosen_seed.growing_icon = S.growing_icon + chosen_seed.species = S.species + chosen_seed.icon_grow = S.icon_grow + chosen_seed.icon_harvest = S.icon_harvest + chosen_seed.icon_dead = S.icon_dead + chosen_seed.rarity += 35*(!mutated) //woah nelly + mutated = TRUE + + else if(prob(70)) //Add basic reagents from grounded sheets, but only small amounts + var/A = rand(1, 5) + var/chosen_reagent + switch(A) + if(1) + chosen_reagent = /datum/reagent/toxin/plasma + if(2) + chosen_reagent = /datum/reagent/uranium + if(3) + chosen_reagent = /datum/reagent/iron + if(4) + chosen_reagent = /datum/reagent/gold + if(5) + chosen_reagent = /datum/reagent/cellulose + var/datum/plant_gene/reagent/R = new(chosen_reagent, A*0.02) + if(R.can_add(chosen_seed)) + chosen_seed.genes += R + chosen_seed.rarity += 5 + else + qdel(R) + chosen_seed.reagents_from_genes() + + new chosen_seed(C) + //All in a while() loop! Very efficient I know + /datum/supply_pack/organic/grill name = "Grilling Starter Kit" desc = "Hey dad I'm Hungry. Hi Hungry I'm THE NEW GRILLING STARTER KIT ONLY 5000 BUX GET NOW! Contains a cooking grill and five fuel coal sheets." @@ -277,11 +459,9 @@ /datum/supply_pack/organic/hydroponics name = "Hydroponics Crate" - desc = "Supplies for growing a great garden! Contains two bottles of ammonia, two Plant-B-Gone spray bottles, a hatchet, cultivator, plant analyzer, as well as a pair of leather gloves and a botanist's apron." + desc = "Supplies for growing a great garden! Contains two bottles of ammonia, a hatchet, cultivator, plant analyzer, as well as a pair of leather gloves and a botanist's apron." cost = 1750 - contains = list(/obj/item/reagent_containers/spray/plantbgone, - /obj/item/reagent_containers/spray/plantbgone, - /obj/item/reagent_containers/glass/bottle/ammonia, + contains = list(/obj/item/reagent_containers/glass/bottle/ammonia, /obj/item/reagent_containers/glass/bottle/ammonia, /obj/item/hatchet, /obj/item/cultivator, @@ -326,6 +506,33 @@ /obj/item/reagent_containers/food/drinks/drinkingglass/shotglass) crate_name = "kitchen cutlery deluxe set" +/datum/supply_pack/organic/hydroponics/maintgarden + name = "Maintenance Garden Crate" + desc = "Set up your own tiny paradise with do-it-yourself botany kit. Contains sandstone for dirt plots, pest spray, ammonia, a portable seed generator, basic botanical tools, and some seeds to start off with." + cost = 2700 + contains = list(/obj/item/storage/bag/plants/portaseeder, + /obj/item/reagent_containers/spray/pestspray, + /obj/item/stack/sheet/mineral/sandstone/twelve, + /obj/item/reagent_containers/glass/bucket, + /obj/item/reagent_containers/glass/bottle/ammonia, + /obj/item/reagent_containers/glass/bottle/ammonia, + /obj/item/hatchet, + /obj/item/cultivator, + /obj/item/plant_analyzer, + /obj/item/clothing/gloves/botanic_leather, + /obj/item/clothing/suit/apron, + /obj/item/flashlight, + /obj/item/seeds/carrot, + /obj/item/seeds/carrot, + /obj/item/seeds/tower, + /obj/item/seeds/tower, + /obj/item/seeds/watermelon, + /obj/item/seeds/watermelon, + /obj/item/seeds/grass, + /obj/item/seeds/grass) + crate_name = "maint garden crate" + crate_type = /obj/structure/closet/crate/hydroponics + /datum/supply_pack/organic/mre name = "MRE supply kit (emergency rations)" desc = "The lights are out. Oxygen's running low. You've run out of food except space weevils. Don't let this be you! Order our NT branded MRE kits today! This pack contains 5 MRE packs with a randomized menu and an oxygen tank." @@ -398,7 +605,7 @@ /obj/item/seeds/wheat/rice, /obj/item/seeds/carrot, /obj/item/seeds/sunflower, - /obj/item/seeds/chanter, + /obj/item/seeds/chanterelle, /obj/item/seeds/potato, /obj/item/seeds/sugarcane) crate_name = "seeds crate" diff --git a/code/modules/cargo/packs/service.dm b/code/modules/cargo/packs/service.dm index 249d1aa8..d2656e29 100644 --- a/code/modules/cargo/packs/service.dm +++ b/code/modules/cargo/packs/service.dm @@ -314,6 +314,14 @@ crate_name = "games supply crate" crate_type = /obj/structure/closet/crate +/datum/supply_pack/vending/hydro + name = "Hydroponics Supply Crate" + desc = "Arnt you glad you dont have to do it the natural way? Contains a megaseed and nutrimax vending machine refill." + cost = 5000 + contains = list(/obj/item/vending_refill/hydroseeds, + /obj/item/vending_refill/hydronutrients) + crate_name = "hydroponics supply crate" + /datum/supply_pack/service/vending/snack name = "Snack Supply Crate" desc = "One vending machine refill of cavity-bringin' goodness! The number one dentist recommended order!" diff --git a/code/modules/crafting/craft.dm b/code/modules/crafting/craft.dm index 1f4bf900..52843dcf 100644 --- a/code/modules/crafting/craft.dm +++ b/code/modules/crafting/craft.dm @@ -111,6 +111,10 @@ for(var/datum/reagent/A in RC.reagents.reagent_list) .["other"][A.type] += A.volume .["other"][I.type] += 1 + if(istype(I, /obj/item/reagent_containers/food/snacks/grown) && !.["color"]) //First we find has priority + var/obj/item/reagent_containers/food/snacks/grown/G = I + if(G.modified_colors) + .["color"] = G.color /datum/personal_crafting/proc/check_tools(mob/user, datum/crafting_recipe/R, list/contents) if(!R.tools.len) @@ -146,6 +150,9 @@ /datum/personal_crafting/proc/construct_item(mob/user, datum/crafting_recipe/R) var/list/contents = get_surroundings(user) var/send_feedback = 1 + var/cached_color = null + if(contents["color"]) //From plants + cached_color = contents["color"] if(check_contents(R, contents)) if(check_tools(user, R, contents)) if(do_after(user, R.time, target = user)) @@ -157,6 +164,7 @@ var/list/parts = del_reqs(R, user) var/atom/movable/I = new R.result (get_turf(user.loc)) I.CheckParts(parts, R) + I.color = cached_color if(send_feedback) SSblackbox.record_feedback("tally", "object_crafted", 1, I.type) return 0 diff --git a/code/modules/hydroponics/gene_modder.dm b/code/modules/hydroponics/gene_modder.dm index 1d34d15c..950277ce 100644 --- a/code/modules/hydroponics/gene_modder.dm +++ b/code/modules/hydroponics/gene_modder.dm @@ -307,6 +307,17 @@ seed.genes -= G if(istype(G, /datum/plant_gene/reagent)) seed.reagents_from_genes() + if(istype(G, /datum/plant_gene/trait/modified_color)) + var/datum/plant_gene/trait/modified_color/found + for(var/datum/plant_gene/trait/modified_color/T in seed.genes) + if(istype(T, /datum/plant_gene/trait/modified_color) && T.type != G.type) + found = T + break + if(found) + seed.color = found.color + else + seed.color = null + seed.modified_colors = FALSE repaint_seed() if("extract") if(disk && !disk.read_only) @@ -343,6 +354,10 @@ seed.genes += disk.gene.Copy() if(istype(disk.gene, /datum/plant_gene/reagent)) seed.reagents_from_genes() + if(istype(disk.gene, /datum/plant_gene/trait/modified_color) && !seed.modified_colors) + var/datum/plant_gene/trait/modified_color/M = disk.gene + seed.color = M.color + seed.modified_colors = TRUE disk.gene.apply_vars(seed) repaint_seed() diff --git a/code/modules/hydroponics/grown.dm b/code/modules/hydroponics/grown.dm index 9dddb622..5895c6de 100644 --- a/code/modules/hydroponics/grown.dm +++ b/code/modules/hydroponics/grown.dm @@ -20,6 +20,7 @@ var/distill_reagent //If NULL and this object can be distilled, it uses a generic fruit_wine reagent and adjusts its variables. var/wine_flavor //If NULL, this is automatically set to the fruit's flavor. Determines the flavor of the wine if distill_reagent is NULL. var/wine_power = 10 //Determines the boozepwr of the wine if distill_reagent is NULL. + var/modified_colors = FALSE /obj/item/reagent_containers/food/snacks/grown/Initialize(mapload, obj/item/seeds/new_seed) . = ..() diff --git a/code/modules/hydroponics/grown/banana.dm b/code/modules/hydroponics/grown/banana.dm index 162bbbc5..ae76f581 100644 --- a/code/modules/hydroponics/grown/banana.dm +++ b/code/modules/hydroponics/grown/banana.dm @@ -30,8 +30,7 @@ /obj/item/reagent_containers/food/snacks/grown/banana/generate_trash(atom/location) . = ..() var/obj/item/grown/bananapeel/peel = . - if(istype(peel)) - peel.grind_results = list(/datum/reagent/consumable/banana_peel = seed.potency * 0.2) + peel.grind_results = list(/datum/reagent/consumable/banana_peel = seed.potency * 0.2) /obj/item/reagent_containers/food/snacks/grown/banana/suicide_act(mob/user) user.visible_message("[user] is aiming [src] at [user.p_them()]self! It looks like [user.p_theyre()] trying to commit suicide!") diff --git a/code/modules/hydroponics/grown/cereals.dm b/code/modules/hydroponics/grown/cereals.dm index 1d1309ac..946831c1 100644 --- a/code/modules/hydroponics/grown/cereals.dm +++ b/code/modules/hydroponics/grown/cereals.dm @@ -29,7 +29,7 @@ // Oat /obj/item/seeds/wheat/oat name = "pack of oat seeds" - desc = "These may, or may not, grow into oat." + desc = "Oat's just a matter of time..." icon_state = "seed-oat" species = "oat" plantname = "Oat Stalks" @@ -53,7 +53,7 @@ // Rice /obj/item/seeds/wheat/rice name = "pack of rice seeds" - desc = "These may, or may not, grow into rice." + desc = "Rice, rice, baby!" icon_state = "seed-rice" species = "rice" plantname = "Rice Stalks" diff --git a/code/modules/hydroponics/grown/citrus.dm b/code/modules/hydroponics/grown/citrus.dm index b220956a..18bde6e4 100644 --- a/code/modules/hydroponics/grown/citrus.dm +++ b/code/modules/hydroponics/grown/citrus.dm @@ -114,7 +114,6 @@ icon_grow = "lime-grow" icon_dead = "lime-dead" genes = list(/datum/plant_gene/trait/repeated_harvest) - mutatelist = list(/obj/item/seeds/firelemon) reagents_add = list(/datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/consumable/nutriment = 0.05) /obj/item/reagent_containers/food/snacks/grown/citrus/lemon diff --git a/code/modules/hydroponics/grown/mushrooms.dm b/code/modules/hydroponics/grown/mushrooms.dm index 3f61dcdf..1098ad5d 100644 --- a/code/modules/hydroponics/grown/mushrooms.dm +++ b/code/modules/hydroponics/grown/mushrooms.dm @@ -22,6 +22,37 @@ genes = list(/datum/plant_gene/trait/plant_type/fungal_metabolism) growing_icon = 'icons/obj/hydroponics/growing_mushrooms.dmi' reagents_add = list(/datum/reagent/medicine/morphine = 0.35, /datum/reagent/medicine/charcoal = 0.35, /datum/reagent/consumable/nutriment = 0) + mutatelist = list(/obj/item/seeds/reishi/negative) + +/* +/obj/item/seeds/reishi/dark + name = "pack of dark reishi mycelium" + desc = "This mycelium grows into something that'll put you into a trance." + plantname = "Dark Reishi" + lifespan = 2 + endurance = 8 + maturation = 6 + production = 1 + yield = 0 + potency = 0 + genes = list(/datum/plant_gene/trait/plant_type/fungal_metabolism, /datum/plant_gene/trait/modified_color/bw) + reagents_add = list(/datum/reagent/medicine/morphine = 0.2, /datum/reagent/consumable/nutriment = 0.1, /datum/reagent/consumable/nutriment/vitamin = 0.02) + mutatelist = list(/obj/item/seeds/reishi/negative) +*/ + +/obj/item/seeds/reishi/negative + name = "pack of light-abosrbing reishi mycelium" + desc = "This mycelium grows into something so tranquil, you'll never want to wake up from its trance." + plantname = "Light-Absorbing Reishi" + lifespan = 1 + endurance = 2 //Better use that enduro grow + maturation = 10 + production = 6 + yield = 0 + potency = 0 + genes = list(/datum/plant_gene/trait/plant_type/fungal_metabolism, /datum/plant_gene/trait/modified_color) + reagents_add = list(/datum/reagent/medicine/morphine = 0.2, /datum/reagent/toxin/amanitin = 0.05, /datum/reagent/consumable/nutriment = 0.04, /datum/reagent/consumable/nutriment/vitamin = 0.02) + mutatelist = list(/obj/item/seeds/reishi) /obj/item/reagent_containers/food/snacks/grown/mushroom/reishi seed = /obj/item/seeds/reishi @@ -173,7 +204,7 @@ to_chat(user, "You plant the walking mushroom.") // Chanterelle -/obj/item/seeds/chanter +/obj/item/seeds/chanterelle name = "pack of chanterelle mycelium" desc = "This mycelium grows into chanterelle mushrooms." icon_state = "mycelium-chanter" @@ -190,10 +221,10 @@ genes = list(/datum/plant_gene/trait/plant_type/fungal_metabolism) growing_icon = 'icons/obj/hydroponics/growing_mushrooms.dmi' reagents_add = list(/datum/reagent/consumable/nutriment = 0.1) - mutatelist = list(/obj/item/seeds/chanterelle/jupitercup) + mutatelist = list(/obj/item/seeds/chanterelle/jupitercup, /obj/item/seeds/chanterelle/jupitercup/hollow, /obj/item/seeds/chanterelle/jupitercup/monochrome) /obj/item/reagent_containers/food/snacks/grown/mushroom/chanterelle - seed = /obj/item/seeds/chanter + seed = /obj/item/seeds/chanterelle name = "chanterelle cluster" desc = "Cantharellus Cibarius: These jolly yellow little shrooms sure look tasty!" icon_state = "chanterelle" @@ -215,6 +246,7 @@ genes = list(/datum/plant_gene/trait/plant_type/fungal_metabolism, /datum/plant_gene/reagent/teslium, /datum/plant_gene/trait/plant_type/carnivory) growing_icon = 'icons/obj/hydroponics/growing_mushrooms.dmi' reagents_add = list(/datum/reagent/consumable/nutriment = 0.1) + mutatelist = list() /obj/item/seeds/chanterelle/jupitercup/Initialize(mapload, nogenes = FALSE) . = ..() @@ -222,6 +254,36 @@ unset_mutability(/datum/plant_gene/reagent/teslium, PLANT_GENE_EXTRACTABLE) unset_mutability(/datum/plant_gene/trait/plant_type/carnivory, PLANT_GENE_REMOVABLE) +/obj/item/seeds/chanterelle/jupitercup/hollow + name = "pack of hollow-cup mycelium" + desc = "This mycelium grows into hollow-cup mushrooms. These mushrooms require only the upmost attention." + plantname = "Hollow-cup Mushrooms" + lifespan = 1 //starts decaying before it can even be harvested once + production = 4 + endurance = 5 + yield = 0 + genes = list(/datum/plant_gene/trait/plant_type/fungal_metabolism, /datum/plant_gene/trait/plant_type/carnivory, /datum/plant_gene/trait/modified_color/opaque) + growing_icon = 'icons/obj/hydroponics/growing_mushrooms.dmi' + reagents_add = list(/datum/reagent/consumable/nutriment = 0.1) + mutatelist = list(/obj/item/seeds/chanterelle/jupitercup) + color = list(1,0,0,0, 0,1,0,0, 0,0,1,0, 0.66,0.66,0.66,0.66, 0,0,0,0) + modified_colors = TRUE + +/obj/item/seeds/chanterelle/jupitercup/monochrome + name = "pack of silver-cup mycelium" + desc = "This mycelium grows into silver-cup mushrooms. These mushrooms require only the upmost attention." + plantname = "Silver-cup Mushrooms" + lifespan = 1 + production = 5 + endurance = 7 + yield = 0 + genes = list(/datum/plant_gene/trait/plant_type/fungal_metabolism, /datum/plant_gene/trait/plant_type/carnivory, /datum/plant_gene/trait/modified_color/monochrome) + growing_icon = 'icons/obj/hydroponics/growing_mushrooms.dmi' + reagents_add = list(/datum/reagent/consumable/nutriment = 0.1, /datum/reagent/consumable/nothing = 0.02) + mutatelist = list(/obj/item/seeds/chanterelle/jupitercup) + color = list(0.5,0.5,0.5,0, 0.5,0.5,0.5,0, 0.5,0.5,0.5,0, 0,0,0,1, 0,0,0,0) + modified_colors = TRUE + /obj/item/reagent_containers/food/snacks/grown/mushroom/jupitercup seed = /obj/item/seeds/chanterelle/jupitercup name = "jupiter cup" @@ -386,6 +448,24 @@ product = /obj/item/reagent_containers/food/snacks/grown/ash_flora/mushroom_cap genes = list(/datum/plant_gene/trait/plant_type/fungal_metabolism) growing_icon = 'icons/obj/hydroponics/growing_mushrooms.dmi' + mutatelist = list(/obj/item/seeds/lavaland/inocybe/magenta) + +/obj/item/seeds/lavaland/inocybe/magenta + name = "pack of dilated inocybe mycelium" + desc = "This mycelium grows into a specially-colored inocybe mushroom, their shifted cells make them appear red." + plantname = "Magenta Inocybe Mushrooms" + lifespan = 4 + endurance = 5 + maturation = 3 + genes = list(/datum/plant_gene/trait/plant_type/fungal_metabolism, /datum/plant_gene/trait/modified_color/magenta) + mutatelist = list() + color = list( + 0.25, 0.5, 1, 0, + 1, 0.25, 0.5, 0, + 0.5, 1, 0.25, 0, + 0,0,0,1, + 0,0,0,0) + modified_colors = TRUE // Embershroom (Mushroom stem) @@ -398,3 +478,23 @@ product = /obj/item/reagent_containers/food/snacks/grown/ash_flora/mushroom_stem genes = list(/datum/plant_gene/trait/plant_type/fungal_metabolism, /datum/plant_gene/trait/glow) growing_icon = 'icons/obj/hydroponics/growing_mushrooms.dmi' + mutatelist = list(/obj/item/seeds/lavaland/ember/cyan) + +/obj/item/seeds/lavaland/ember/cyan + name = "pack of dilated embershroom mycelium" + desc = "This mycelium grows into a specially-colored embershroom mushroom, their shifted cells make them appear blue." + plantname = "Magenta Embershroom Mushrooms" + lifespan = 6 + endurance = 10 + maturation = 4 + yield = 2 + potency = 25 + genes = list(/datum/plant_gene/trait/plant_type/fungal_metabolism, /datum/plant_gene/trait/glow/blue, /datum/plant_gene/trait/modified_color/cyan) + mutatelist = list() + color = list( + 0.25, 1, 0.5, 0, + 0.5, 0.25, 1, 0, + 1, 0.5, 0.25, 0, + 0,0,0,1, + 0,0,0,0) + modified_colors = TRUE diff --git a/code/modules/hydroponics/hydroitemdefines.dm b/code/modules/hydroponics/hydroitemdefines.dm index 4537d91b..ad5d2d76 100644 --- a/code/modules/hydroponics/hydroitemdefines.dm +++ b/code/modules/hydroponics/hydroitemdefines.dm @@ -198,4 +198,56 @@ /obj/item/reagent_containers/glass/bottle/killer/pestkiller name = "bottle of pest spray" desc = "Contains a pesticide." - list_reagents = list(/datum/reagent/toxin/pestkiller = 50) \ No newline at end of file + list_reagents = list(/datum/reagent/toxin/pestkiller = 50) + +/* +/obj/item/plant_debugger + name = "plant debugger" + desc = "You should never be able to see this." + icon = 'icons/obj/device.dmi' + icon_state = "hydro" + flags_1 = ABSTRACT + var/mode = 0 + var/list/traits_list = list( + /datum/plant_gene/trait/modified_color/monochrome/yellow, + /datum/plant_gene/trait/modified_color/monochrome/green, + /datum/plant_gene/trait/modified_color/vibrant, + /datum/plant_gene/trait/modified_color/random, + /datum/plant_gene/trait/modified_color/monochrome/dark/, + /datum/plant_gene/trait/modified_color/monochrome/dark/red, + /datum/plant_gene/trait/modified_color/monochrome/dark/green, + /datum/plant_gene/trait/modified_color/monochrome/dark/blue) + var/trait_to_add = null + +/obj/item/plant_debugger/attack_self(mob/user) + . = ..() + mode++ + if(mode > traits_list.len) + mode = 1 + trait_to_add = traits_list[mode] + to_chat(user, "Now injecting: [trait_to_add]") + +/obj/item/plant_debugger/pre_attack(atom/A, mob/living/user, params) + if(!istype(A, /obj/machinery/hydroponics)) + return + var/obj/machinery/hydroponics/H = A + if(!H.myseed) + to_chat(user, "This tray does not have a seed in it!") + return + for(var/G in H.myseed.genes) + if(istype(G, /datum/plant_gene/trait/modified_color)) + var/datum/plant_gene/trait/T = new trait_to_add + G = T + T.apply_vars(H.myseed) + H.update_icon() + to_chat(user, "Converted old modified_color to [trait_to_add]") + return + var/datum/plant_gene/trait/T = new trait_to_add + H.myseed.genes += T + T.apply_vars(H.myseed) + H.update_icon() + to_chat(user, "Added [trait_to_add]") + +/obj/item/plant_debugger/attack() + return +*/ diff --git a/code/modules/hydroponics/hydroponics.dm b/code/modules/hydroponics/hydroponics.dm index fcfcf0f9..70e1280e 100644 --- a/code/modules/hydroponics/hydroponics.dm +++ b/code/modules/hydroponics/hydroponics.dm @@ -310,6 +310,8 @@ else var/t_growthstate = clamp(round((age / myseed.maturation) * myseed.growthstages), 1, myseed.growthstages) plant_overlay.icon_state = "[myseed.icon_grow][t_growthstate]" + if(myseed.modified_colors) //In case we get a different color from other things + plant_overlay.color = myseed.color add_overlay(plant_overlay) /obj/machinery/hydroponics/proc/update_icon_lights() @@ -374,7 +376,7 @@ if(10 to 11) myseed = new /obj/item/seeds/amanita(src) if(8 to 9) - myseed = new /obj/item/seeds/chanter(src) + myseed = new /obj/item/seeds/chanterelle(src) if(6 to 7) myseed = new /obj/item/seeds/tower(src) if(4 to 5) @@ -554,6 +556,8 @@ age = 1 plant_health = myseed.endurance lastcycle = world.time + for(var/datum/plant_gene/trait/G in myseed.genes) + G.apply_vars(myseed) update_icon() return else diff --git a/code/modules/hydroponics/plant_genes.dm b/code/modules/hydroponics/plant_genes.dm index 604fa3e4..6d7263fc 100644 --- a/code/modules/hydroponics/plant_genes.dm +++ b/code/modules/hydroponics/plant_genes.dm @@ -337,6 +337,164 @@ datum/plant_gene/trait/glow/white name = "Pink Bioluminescence" glow_color = "#FFB3DA" +//Change grow, harvest, and crafted food's color +//Made for mostly being fancy with stuff. Should be rare or hard to obtain, with the exception of strange seeds +/datum/plant_gene/trait/modified_color + name = "Dilated Light (Negative)" + var/color = list(-1,0,0,0, 0,-1,0,0, 0,0,-1,0, 0,0,0,1, 1,1,1,0) //Negative Colors + var/long_calculation = FALSE //For advanced color matrices + +/datum/plant_gene/trait/modified_color/on_new(obj/item/reagent_containers/food/snacks/grown/G, newloc) + if(G.modified_colors) + return + for(var/datum/plant_gene/trait/I in G.seed.genes) //Have ones first added give priority + if(istype(I, /datum/plant_gene/trait/modified_color) && I.type != type) + return + if(long_calculation) + calculate() + G.color = color + G.modified_colors = TRUE + +//same as above but for the gene modder +/datum/plant_gene/trait/modified_color/apply_vars(obj/item/seeds/S) + S.color = color + S.modified_colors = TRUE + +/datum/plant_gene/trait/modified_color/proc/calculate() + return + +/datum/plant_gene/trait/modified_color/opaque + name = "Dilated Light (Flimsy)" + color = list(1,0,0,0, 0,1,0,0, 0,0,1,0, -0.3,-0.3,-0.3,0.7, 0,0,0,0) + +/datum/plant_gene/trait/modified_color/monochrome + name = "Dilated Light (Monochrome)" + color = list(0.5,0.5,0.5,0, 0.5,0.5,0.5,0, 0.5,0.5,0.5,0, 0,0,0,1, 0,0,0,0) + +/datum/plant_gene/trait/modified_color/monochrome/red + name = "Dilated Light (Red)" + color = list(0.8,0,0,0, 0.8,0.5,0.5,0, 0.8,0.5,0.5,0, 0,0,0,1, 0,0,0,0) + +/datum/plant_gene/trait/modified_color/monochrome/green + name = "Dilated Light (Green)" + color = list(0.5,0.8,0.5,0, 0,0.8,0,0, 0.5,0.8,0.5,0, 0,0,0,1, 0,0,0,0) + +/datum/plant_gene/trait/modified_color/monochrome/blue + name = "Dilated Light (Blue)" + color = list(0.5,0.5,0.8,0, 0.5,0.5,0.8,0, 0,0,0.8,0, 0,0,0,1, 0,0,0,0) + +/* +/datum/plant_gene/trait/modified_color/monochrome/yellow + name = "Dilated Light (Yellow)" + color = list(0.8,0,0,0, 0,0.4,0,0, 0.8,0.4,0.5,0, 0,0,0,1, 0,0,0,0) + +/datum/plant_gene/trait/modified_color/monochrome/green + name = "Dilated Light (Green)" + color = list(0.5,0.8,0.4,0, 0,0.8,0,0, 0,0,0.4,0, 0,0,0,1, 0,0,0,0) +*/ + +/datum/plant_gene/trait/modified_color/monochrome/dark/ + name = "Dilated Light (Dark)" + color = list(1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1, -0.3, -0.3, -0.3, 0) + +/* +/datum/plant_gene/trait/modified_color/monochrome/dark/red //for vyx + name = "Dilated Light (Dark Red)" + color = list(1,0,0,0, 0.5,0.5,0.5,0, 0.5,0.5,0.5,0, 0,0,0,1, 0,0,0,0) + +/datum/plant_gene/trait/modified_color/monochrome/dark/green + name = "Dilated Light (Dark Green)" + color = list(0.5,0.5,0.5,0, 0,1,0,0, 0.5,0.5,0.5,0, 0,0,0,1, 0,0,0,0) + +/datum/plant_gene/trait/modified_color/monochrome/dark/blue + name = "Dilated Light (Dark Blue)" + color = list(0.5,0.5,0.,0, 0.5,0.5,0.5,0, 0,0,1,0, 0,0,0,1, 0,0,0,0) +*/ + +/datum/plant_gene/trait/modified_color/vibrant + name = "Dilated Light (Strong)" + color = list(2,-1,-1,0, -1,2,-1,0, -1,-1,2,0, 0,0,0,1, 0,0,0,0) //Any higher starts to look like clown vomit + +/datum/plant_gene/trait/modified_color/cyan + name = "Dilated Light (Shift R)" + color = list( + 0.25, 1, 0.5, 0, + 0.5, 0.25, 1, 0, + 1, 0.5, 0.25, 0, + 0,0,0,1, + 0,0,0,0) + +/datum/plant_gene/trait/modified_color/magenta + name = "Dilated Light (Shift L)" + color = list( + 0.25, 0.5, 1, 0, + 1, 0.25, 0.5, 0, + 0.5, 1, 0.25, 0, + 0,0,0,1, + 0,0,0,0) + +/datum/plant_gene/trait/modified_color/sunset + name = "Dilated Light (Shift S)" + color = list( + 1, 0.25, 0, 0, + 0.25, 1, 0, 0, + 0.25, 0.125, 0.35,0, + 0,0,0,1, + 0,0,0,0) + +/datum/plant_gene/trait/modified_color/random + name = "Dilated Light (Shift C)" + color = list() + long_calculation = TRUE + + +//Calculations +/* +/datum/plant_gene/trait/modified_color/shift_red/calculate() + var/list/M = color + M[5] += 0.5 * M[1] + M[6] += 0.5 * M[2] + M[7] += 0.5 * M[3] + color = M + +/datum/plant_gene/trait/modified_color/shift_green/calculate() + var/list/M = color + M[9] += 0.5 * M[5] + M[10] += 0.5 * M[6] + M[11] += 0.5 * M[7] + color = M + +/datum/plant_gene/trait/modified_color/shift_blue/calculate() + var/list/M = color + M[13] += 0.5 * M[9] + M[14] += 0.5 * M[10] + M[15] += 0.5 * M[11] + color = M +*/ + +/datum/plant_gene/trait/modified_color/random/calculate() + var/R = rand(0,255) / 255 + var/G = rand(0,255) / 255 + var/B = rand(0,255) / 255 + var/A = rand(200,255)/ 255 + + if(prob(50)) + color = list(R,0,0,0, + 0,G,0,0, + 0,0,B,0, + 0,0,0,1, + 0,0,0,0) + else + color = list(R,0,0,0, + 0,G,0,0, + 0,0,B,0, + 0,0,0,A, + 0,0,0,0) + var/D = rand(1,20) + if(color[D] != 0) + color[D] *= 1.5 + else + color[D] = rand(-100, 100) * 0.01 /datum/plant_gene/trait/teleport // Makes plant teleport people when squashed or slipped on. diff --git a/code/modules/hydroponics/sample.dm b/code/modules/hydroponics/sample.dm index fff4c646..7fb92e8f 100644 --- a/code/modules/hydroponics/sample.dm +++ b/code/modules/hydroponics/sample.dm @@ -18,4 +18,4 @@ /obj/item/seeds/sample/alienweed name = "alien weed sample" icon_state = "alienweed" - sample_color = null \ No newline at end of file + sample_color = null diff --git a/code/modules/hydroponics/seeds.dm b/code/modules/hydroponics/seeds.dm index d0bec3ec..b7a188aa 100644 --- a/code/modules/hydroponics/seeds.dm +++ b/code/modules/hydroponics/seeds.dm @@ -36,6 +36,7 @@ var/weed_rate = 1 //If the chance below passes, then this many weeds sprout during growth var/weed_chance = 5 //Percentage chance per tray update to grow weeds + var/modified_colors = FALSE /obj/item/seeds/Initialize(mapload, nogenes = 0) . = ..() @@ -73,6 +74,8 @@ /obj/item/seeds/examine(mob/user) . = ..() + if(modified_colors) + . += "It looks a bit funky..." . += "Use a pen on it to rename it or change its description." if(reagents_add && user.can_see_reagents()) . += "- Plant Reagents -" @@ -99,6 +102,9 @@ var/datum/plant_gene/G = g S.genes += G.Copy() S.reagents_add = reagents_add.Copy() // Faster than grabbing the list from genes. + if(modified_colors) + S.modified_colors = TRUE + S.color = color return S /obj/item/seeds/proc/get_gene(typepath) @@ -191,6 +197,10 @@ result.Add(t_prod) // User gets a consumable if(!t_prod) return + + if(modified_colors) + t_prod.color = color + t_prod.modified_colors = TRUE t_amount++ product_name = parent.myseed.plantname if(getYield() >= 1) @@ -470,10 +480,16 @@ /obj/item/seeds/proc/add_random_traits(lower = 0, upper = 2) var/amount_random_traits = rand(lower, upper) for(var/i in 1 to amount_random_traits) - var/random_trait = pick((subtypesof(/datum/plant_gene/trait)-typesof(/datum/plant_gene/trait/plant_type))) + var/random_trait + if(!istype(src, /obj/item/seeds/random) || prob(30)) //70% chance to not get modified_color when rolling traits as strange seeds + random_trait = pick((subtypesof(/datum/plant_gene/trait)-typesof(/datum/plant_gene/trait/plant_type))) + else + random_trait = pick((subtypesof(/datum/plant_gene/trait)-typesof(/datum/plant_gene/trait/plant_type)-typesof(/datum/plant_gene/trait/modified_color))) + var/datum/plant_gene/trait/T = new random_trait if(T.can_add(src) && !is_gene_forbidden(random_trait)) genes += T + T.apply_vars(src) else qdel(T) diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index 3ecbac0d..a9ffe70c 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -21,6 +21,7 @@ resistance_flags = FLAMMABLE max_integrity = 50 dog_fashion = /datum/dog_fashion/head + grind_results = list(/datum/reagent/cellulose = 2) var/info //What's actually written on the paper. var/info_links //A different version of the paper which includes html links at fields and EOF diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm index d565c7fe..bb200cdc 100644 --- a/code/modules/reagents/chemistry/reagents/food_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm @@ -788,7 +788,7 @@ /datum/reagent/consumable/secretsauce name = "secret sauce" - description = "What could it be." + description = "What could it be?" nutriment_factor = 2 * REAGENTS_METABOLISM color = "#792300" taste_description = "indescribable" diff --git a/code/modules/reagents/chemistry/recipes/others.dm b/code/modules/reagents/chemistry/recipes/others.dm index b06eff62..9c67fc5e 100644 --- a/code/modules/reagents/chemistry/recipes/others.dm +++ b/code/modules/reagents/chemistry/recipes/others.dm @@ -69,6 +69,11 @@ for(var/i = 1, i <= created_volume, i++) new /obj/item/stack/sheet/mineral/gold(location) +/datum/chemical_reaction/cellulose_carbonization + results = list(/datum/reagent/carbon = 1) + required_reagents = list(/datum/reagent/cellulose = 1) + required_temp = 512 + /datum/chemical_reaction/capsaicincondensation name = "Capsaicincondensation" id = /datum/reagent/consumable/condensedcapsaicin @@ -235,7 +240,7 @@ var/datum/disease/advance/D = locate(/datum/disease/advance) in B.data["viruses"] if(D) D.Evolve(level_min, level_max) - + /datum/chemical_reaction/mix_virus/mix_virus_2 name = "Mix Virus 2" diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm index a0070273..e4269405 100644 --- a/code/modules/reagents/reagent_containers/spray.dm +++ b/code/modules/reagents/reagent_containers/spray.dm @@ -310,5 +310,5 @@ item_state = "plantbgone" lefthand_file = 'icons/mob/inhands/equipment/hydroponics_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/hydroponics_righthand.dmi' - volume = 100 - list_reagents = list(/datum/reagent/toxin/plantbgone = 100) + volume = 50 + list_reagents = list(/datum/reagent/toxin/plantbgone = 50) diff --git a/code/modules/vending/megaseed.dm b/code/modules/vending/megaseed.dm index d48da5b1..3bcff190 100644 --- a/code/modules/vending/megaseed.dm +++ b/code/modules/vending/megaseed.dm @@ -4,14 +4,15 @@ product_slogans = "THIS'S WHERE TH' SEEDS LIVE! GIT YOU SOME!;Hands down the best seed selection on the station!;Also certain mushroom varieties available, more for experts! Get certified today!" product_ads = "We like plants!;Grow some crops!;Grow, baby, growww!;Aw h'yeah son!" icon_state = "seeds" - products = list(/obj/item/seeds/ambrosia = 3, - /obj/item/seeds/apple = 3, - /obj/item/seeds/banana = 3, - /obj/item/seeds/berry = 3, + products = list(/obj/item/seeds/aloe = 3, + /obj/item/seeds/ambrosia = 3, + /obj/item/seeds/apple = 3, + /obj/item/seeds/banana = 3, + /obj/item/seeds/berry = 3, /obj/item/seeds/cabbage = 3, /obj/item/seeds/carrot = 3, /obj/item/seeds/cherry = 3, - /obj/item/seeds/chanter = 3, + /obj/item/seeds/chanterelle = 3, /obj/item/seeds/chili = 3, /obj/item/seeds/cocoapod = 3, /obj/item/seeds/coconut = 3, @@ -19,7 +20,6 @@ /obj/item/seeds/cotton = 3, /obj/item/seeds/corn = 3, /obj/item/seeds/eggplant = 3, - /obj/item/seeds/garlic = 3, /obj/item/seeds/grape = 3, /obj/item/seeds/grass = 3, /obj/item/seeds/lemon = 3, @@ -28,6 +28,7 @@ /obj/item/seeds/orange = 3, /obj/item/seeds/peach = 3, /obj/item/seeds/peanutseed = 3, + /obj/item/seeds/peas = 3, /obj/item/seeds/pineapple = 3, /obj/item/seeds/potato = 3, /obj/item/seeds/poppy = 3, @@ -45,15 +46,20 @@ /obj/item/seeds/watermelon = 3, /obj/item/seeds/wheat = 3, /obj/item/seeds/whitebeet = 3) - contraband = list(/obj/item/seeds/amanita = 2, - /obj/item/seeds/glowshroom = 2, - /obj/item/seeds/liberty = 2, - /obj/item/seeds/nettle = 2, - /obj/item/seeds/plump = 2, - /obj/item/seeds/reishi = 2, - /obj/item/seeds/cannabis = 3, - /obj/item/seeds/starthistle = 2, - /obj/item/seeds/random = 2) + + contraband=list(/obj/item/seeds/amanita = 2, + /obj/item/seeds/glowshroom = 2, + /obj/item/seeds/liberty = 2, + /obj/item/seeds/nettle = 2, + /obj/item/seeds/plump = 2, + /obj/item/seeds/reishi = 2, + /obj/item/seeds/cannabis = 3, + /obj/item/seeds/starthistle = 2, + /obj/item/seeds/random = 2) premium = list(/obj/item/reagent_containers/spray/waterflower = 1) armor = list("melee" = 100, "bullet" = 100, "laser" = 100, "energy" = 100, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 50) resistance_flags = FIRE_PROOF + refill_canister = /obj/item/vending_refill/hydroseeds + +/obj/item/vending_refill/hydroseeds + icon_state = "refill_hydro" diff --git a/code/modules/vending/nutrimax.dm b/code/modules/vending/nutrimax.dm index b82c95b8..74edeadd 100644 --- a/code/modules/vending/nutrimax.dm +++ b/code/modules/vending/nutrimax.dm @@ -18,3 +18,7 @@ /obj/item/reagent_containers/glass/bottle/diethylamine = 5) armor = list("melee" = 100, "bullet" = 100, "laser" = 100, "energy" = 100, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 50) resistance_flags = FIRE_PROOF + refill_canister = /obj/item/vending_refill/hydronutrients + +/obj/item/vending_refill/hydronutrients + icon_state = "refill_hydro" diff --git a/icons/obj/hydroponics/growing_vegetables.dmi b/icons/obj/hydroponics/growing_vegetables.dmi index 01ffbb06..ed5e186f 100644 Binary files a/icons/obj/hydroponics/growing_vegetables.dmi and b/icons/obj/hydroponics/growing_vegetables.dmi differ diff --git a/icons/obj/hydroponics/harvest.dmi b/icons/obj/hydroponics/harvest.dmi index cf335c23..2e3094f9 100644 Binary files a/icons/obj/hydroponics/harvest.dmi and b/icons/obj/hydroponics/harvest.dmi differ diff --git a/icons/obj/hydroponics/seeds.dmi b/icons/obj/hydroponics/seeds.dmi index 0ab6ac84..9758af30 100644 Binary files a/icons/obj/hydroponics/seeds.dmi and b/icons/obj/hydroponics/seeds.dmi differ