From d3f6886433bd4509e669fac5c985c4f522b8134c Mon Sep 17 00:00:00 2001 From: variableundefined <40092670+variableundefined@users.noreply.github.com> Date: Mon, 5 Aug 2019 00:08:49 +0800 Subject: [PATCH] Hydroponic, food and reagent taste mult --- .../food_and_drinks/food/foods/ethnic.dm | 2 +- .../food_and_drinks/food/foods/meat.dm | 7 +- .../food_and_drinks/food/foods/seafood.dm | 2 +- code/modules/hydroponics/grown/cereals.dm | 4 + code/modules/hydroponics/grown/chili.dm | 3 + code/modules/hydroponics/grown/citrus.dm | 4 + .../hydroponics/grown/cocoa_vanilla.dm | 2 + code/modules/hydroponics/grown/corn.dm | 1 + code/modules/hydroponics/grown/eggplant.dm | 2 + code/modules/hydroponics/grown/flowers.dm | 5 ++ .../modules/hydroponics/grown/grass_carpet.dm | 2 + code/modules/hydroponics/grown/herbals.dm | 2 + code/modules/hydroponics/grown/kudzu.dm | 1 + code/modules/hydroponics/grown/melon.dm | 2 + code/modules/hydroponics/grown/misc.dm | 4 + code/modules/hydroponics/grown/mushrooms.dm | 11 +++ code/modules/hydroponics/grown/onion.dm | 4 + code/modules/hydroponics/grown/peanut.dm | 1 + code/modules/hydroponics/grown/pineapple.dm | 1 + code/modules/hydroponics/grown/potato.dm | 3 + code/modules/hydroponics/grown/pumpkin.dm | 2 + code/modules/hydroponics/grown/root.dm | 16 ++-- code/modules/hydroponics/grown/tea_coffee.dm | 6 ++ code/modules/hydroponics/grown/tobacco.dm | 2 + code/modules/hydroponics/grown/tomato.dm | 4 + code/modules/mob/living/taste.dm | 30 +++++++ code/modules/reagents/chemistry/holder.dm | 87 ++++++++++--------- .../reagents/chemistry/reagents/disease.dm | 1 + .../reagents/chemistry/reagents/misc.dm | 3 + .../chemistry/reagents/pyrotechnic.dm | 2 + .../reagents/chemistry/reagents/toxins.dm | 5 ++ .../reagents/chemistry/reagents/water.dm | 1 + 32 files changed, 170 insertions(+), 52 deletions(-) create mode 100644 code/modules/mob/living/taste.dm diff --git a/code/modules/food_and_drinks/food/foods/ethnic.dm b/code/modules/food_and_drinks/food/foods/ethnic.dm index 79e7cc8a4fb..0a160967858 100644 --- a/code/modules/food_and_drinks/food/foods/ethnic.dm +++ b/code/modules/food_and_drinks/food/foods/ethnic.dm @@ -105,7 +105,7 @@ trash = /obj/item/trash/snack_bowl filling_color = "#F0F2E4" list_reagents = list("nutriment" = 5) - taste = list("custard" = 1) + tastes = list("custard" = 1) /obj/item/reagent_containers/food/snacks/yakiimo name = "yaki imo" diff --git a/code/modules/food_and_drinks/food/foods/meat.dm b/code/modules/food_and_drinks/food/foods/meat.dm index c7ee445911f..ff4707d884d 100644 --- a/code/modules/food_and_drinks/food/foods/meat.dm +++ b/code/modules/food_and_drinks/food/foods/meat.dm @@ -111,12 +111,14 @@ filling_color = "#43DE18" bitesize = 3 list_reagents = list("protein" = 3, "toxin" = 3) + tastes = list("tough meat" = 1) -tastes = list("berry" = 1)/obj/item/reagent_containers/food/snacks/spiderleg +/obj/item/reagent_containers/food/snacks/spiderleg name = "spider leg" desc = "A still twitching leg of a giant spider. You don't really want to eat this, do you?" icon_state = "spiderleg" list_reagents = list("protein" = 2, "toxin" = 2) + tastes = list("cobwebs" = 1, "creepy motion" = 1) /obj/item/reagent_containers/food/snacks/raw_bacon name = "raw bacon" @@ -130,13 +132,14 @@ tastes = list("berry" = 1)/obj/item/reagent_containers/food/snacks/spiderleg desc = "A cluster of juicy spider eggs. A great side dish for when you don't care about your health." icon_state = "spidereggs" list_reagents = list("protein" = 2, "toxin" = 2) - tastes = list("cobwebs" = 1) + tastes = list("cobwebs" = 1, "spider juice" = 1) /obj/item/reagent_containers/food/snacks/goliath name = "goliath meat" desc = "A slab of goliath meat. It's not very edible now, but it cooks great in lava." icon_state = "goliathmeat" list_reagents = list("protein" = 3, "toxin" = 5) + tastes = list("tough meat" = 1) /obj/item/reagent_containers/food/snacks/goliath/burn() visible_message("[src] finishes cooking!") diff --git a/code/modules/food_and_drinks/food/foods/seafood.dm b/code/modules/food_and_drinks/food/foods/seafood.dm index 4947644bdd4..007af8f6eb9 100644 --- a/code/modules/food_and_drinks/food/foods/seafood.dm +++ b/code/modules/food_and_drinks/food/foods/seafood.dm @@ -197,7 +197,7 @@ slices_num = 4 bitesize = 3 list_reagents = list("nutriment" = 8) - tastes = list("smoked salmon" = 1, "rice" = 1, "seaweed" = 1)) + tastes = list("smoked salmon" = 1, "rice" = 1, "seaweed" = 1) /obj/item/reagent_containers/food/snacks/sushi_SmokedSalmon name = "smoked salmon sushi" diff --git a/code/modules/hydroponics/grown/cereals.dm b/code/modules/hydroponics/grown/cereals.dm index e864687a551..89b462a19e1 100644 --- a/code/modules/hydroponics/grown/cereals.dm +++ b/code/modules/hydroponics/grown/cereals.dm @@ -20,6 +20,7 @@ gender = PLURAL icon_state = "wheat" filling_color = "#F0E68C" + tastes = list("wheat" = 1) bitesize_mod = 2 distill_reagent = "beer" @@ -40,6 +41,7 @@ gender = PLURAL icon_state = "oat" filling_color = "#556B2F" + tastes = list("oat" = 1) bitesize_mod = 2 distill_reagent = "ale" @@ -62,6 +64,7 @@ icon_state = "rice" filling_color = "#FAFAD2" bitesize_mod = 2 + tastes = list("rice" = 1) distill_reagent = "sake" //Meatwheat - grows into synthetic meat @@ -83,6 +86,7 @@ filling_color = rgb(150, 0, 0) bitesize_mod = 2 seed = /obj/item/seeds/wheat/meat + tastes = list("meatwheat" = 1) can_distill = FALSE /obj/item/reagent_containers/food/snacks/grown/meatwheat/attack_self(mob/living/user) diff --git a/code/modules/hydroponics/grown/chili.dm b/code/modules/hydroponics/grown/chili.dm index 5f4621eff16..1a2b5142e37 100644 --- a/code/modules/hydroponics/grown/chili.dm +++ b/code/modules/hydroponics/grown/chili.dm @@ -25,6 +25,7 @@ icon_state = "chilipepper" filling_color = "#FF0000" bitesize_mod = 2 + tastes = list("chili" = 1) wine_power = 0.2 // Ice Chili @@ -50,6 +51,7 @@ filling_color = "#0000CD" bitesize_mod = 2 origin_tech = "biotech=4" + tastes = list("chilli" = 1) wine_power = 0.3 // Ghost Chili @@ -76,4 +78,5 @@ filling_color = "#F8F8FF" bitesize_mod = 4 origin_tech = "biotech=4;magnets=5" + tastes = list("ghost chili" = 1) wine_power = 0.5 diff --git a/code/modules/hydroponics/grown/citrus.dm b/code/modules/hydroponics/grown/citrus.dm index b6e4a36d164..38e4104c4a7 100644 --- a/code/modules/hydroponics/grown/citrus.dm +++ b/code/modules/hydroponics/grown/citrus.dm @@ -30,6 +30,7 @@ desc = "It's so sour, your face will twist." icon_state = "lime" filling_color = "#00FF00" + tastes = list("lime" = 1) distill_reagent = "triple_sec" // Orange @@ -56,6 +57,7 @@ name = "orange" desc = "It's an tangy fruit." icon_state = "orange" + tastes = list("orange" = 1) filling_color = "#FFA500" // Lemon @@ -81,6 +83,7 @@ name = "lemon" desc = "When life gives you lemons, make lemonade." icon_state = "lemon" + tastes = list("lemonade" = 1) filling_color = "#FFD700" // Combustible lemon @@ -107,6 +110,7 @@ icon_state = "firelemon" bitesize_mod = 2 wine_power = 0.7 + tastes = list("burning lemon" = 1) wine_flavor = "fire" /obj/item/reagent_containers/food/snacks/grown/firelemon/attack_self(mob/living/user) diff --git a/code/modules/hydroponics/grown/cocoa_vanilla.dm b/code/modules/hydroponics/grown/cocoa_vanilla.dm index 745aa006498..744300d9daa 100644 --- a/code/modules/hydroponics/grown/cocoa_vanilla.dm +++ b/code/modules/hydroponics/grown/cocoa_vanilla.dm @@ -25,6 +25,7 @@ icon_state = "cocoapod" filling_color = "#FFD700" bitesize_mod = 2 + tastes = list("cocoa" = 1) distill_reagent = "creme_de_cacao" // Vanilla Pod @@ -45,4 +46,5 @@ desc = "Fattening... Mmmmm... vanilla." icon_state = "vanillapod" filling_color = "#FFD700" + tastes = list("vanilla" = 1) distill_reagent = "vanilla" //Takes longer, but you can get even more vanilla from it. \ No newline at end of file diff --git a/code/modules/hydroponics/grown/corn.dm b/code/modules/hydroponics/grown/corn.dm index dca121d1acb..cf7c185c147 100644 --- a/code/modules/hydroponics/grown/corn.dm +++ b/code/modules/hydroponics/grown/corn.dm @@ -24,6 +24,7 @@ filling_color = "#FFFF00" trash = /obj/item/grown/corncob bitesize_mod = 2 + tastes = list("corn" = 1) distill_reagent = "whiskey" wine_power = 0.4 diff --git a/code/modules/hydroponics/grown/eggplant.dm b/code/modules/hydroponics/grown/eggplant.dm index b9244bfd3ec..2ed28f76226 100644 --- a/code/modules/hydroponics/grown/eggplant.dm +++ b/code/modules/hydroponics/grown/eggplant.dm @@ -22,6 +22,7 @@ icon_state = "eggplant" filling_color = "#800080" bitesize_mod = 2 + tastes = list("eggplant" = 1) wine_power = 0.2 // Egg-Plant @@ -43,4 +44,5 @@ trash = /obj/item/reagent_containers/food/snacks/egg filling_color = "#F8F8FF" bitesize_mod = 2 + tastes = list("egg-plant" = 1) distill_reagent = "eggnog" \ No newline at end of file diff --git a/code/modules/hydroponics/grown/flowers.dm b/code/modules/hydroponics/grown/flowers.dm index 2b5817788a6..d662a77e08a 100644 --- a/code/modules/hydroponics/grown/flowers.dm +++ b/code/modules/hydroponics/grown/flowers.dm @@ -25,6 +25,7 @@ slot_flags = SLOT_HEAD filling_color = "#FF6347" bitesize_mod = 3 + tastes = list("poppy" = 1) distill_reagent = "vermouth" // Lily @@ -42,6 +43,7 @@ name = "lily" desc = "A beautiful orange flower" icon_state = "lily" + tastes = list("lily" = 1) filling_color = "#FFA500" // Geranium @@ -59,6 +61,7 @@ name = "geranium" desc = "A beautiful blue flower" icon_state = "geranium" + tastes = list("geranium" = 1) filling_color = "#008B8B" @@ -88,6 +91,7 @@ icon_state = "harebell" slot_flags = SLOT_HEAD filling_color = "#E6E6FA" + tastes = list("harebell" = 1) bitesize_mod = 3 distill_reagent = "vermouth" @@ -147,6 +151,7 @@ slot_flags = SLOT_HEAD filling_color = "#E6E6FA" bitesize_mod = 2 + tastes = list("moonflower" = 1) distill_reagent = "absinthe" // Novaflower diff --git a/code/modules/hydroponics/grown/grass_carpet.dm b/code/modules/hydroponics/grown/grass_carpet.dm index c45899a310b..dee15bf75b2 100644 --- a/code/modules/hydroponics/grown/grass_carpet.dm +++ b/code/modules/hydroponics/grown/grass_carpet.dm @@ -27,6 +27,7 @@ bitesize_mod = 2 var/stacktype = /obj/item/stack/tile/grass var/tile_coefficient = 0.02 // 1/50 + tastes = list("grass" = 1) wine_power = 0.15 /obj/item/reagent_containers/food/snacks/grown/grass/attack_self(mob/user) @@ -66,4 +67,5 @@ desc = "The textile industry's dark secret." icon_state = "carpetclump" stacktype = /obj/item/stack/tile/carpet + tastes = list("carpet" = 1) can_distill = FALSE diff --git a/code/modules/hydroponics/grown/herbals.dm b/code/modules/hydroponics/grown/herbals.dm index 07734aa268f..6a0ad441ad3 100644 --- a/code/modules/hydroponics/grown/herbals.dm +++ b/code/modules/hydroponics/grown/herbals.dm @@ -17,6 +17,7 @@ desc = "Mash to turn into a poultice." icon_state = "tea_astra_leaves" color = "#378C61" + tastes = list("comfrey" = 1) bitesize_mod = 2 /obj/item/reagent_containers/food/snacks/grown/comfrey/attack_self(mob/user) @@ -43,6 +44,7 @@ desc = "Mash to turn into a poultice." icon_state = "ambrosiavulgaris" color = "#4CC5C7" + tastes = list("aloe" = 1) bitesize_mod = 2 /obj/item/reagent_containers/food/snacks/grown/aloe/attack_self(mob/user) diff --git a/code/modules/hydroponics/grown/kudzu.dm b/code/modules/hydroponics/grown/kudzu.dm index 64b84649770..41ce7ae957e 100644 --- a/code/modules/hydroponics/grown/kudzu.dm +++ b/code/modules/hydroponics/grown/kudzu.dm @@ -95,4 +95,5 @@ icon_state = "kudzupod" filling_color = "#6B8E23" bitesize_mod = 2 + tastes = list("kudzu" = 1) wine_power = 0.2 diff --git a/code/modules/hydroponics/grown/melon.dm b/code/modules/hydroponics/grown/melon.dm index ed7608e21b9..09952a2a405 100644 --- a/code/modules/hydroponics/grown/melon.dm +++ b/code/modules/hydroponics/grown/melon.dm @@ -24,6 +24,7 @@ dried_type = null w_class = WEIGHT_CLASS_NORMAL filling_color = "#008000" + tastes = list("watermelon" = 1) bitesize_mod = 3 wine_power = 0.4 @@ -47,4 +48,5 @@ filling_color = "#FFD700" dried_type = null wine_power = 0.7 //Water to wine, baby. + tastes = list("melon" = 1, "divinity" = 1) wine_flavor = "divinity" diff --git a/code/modules/hydroponics/grown/misc.dm b/code/modules/hydroponics/grown/misc.dm index 0d60c7d864f..f2adfab0f20 100644 --- a/code/modules/hydroponics/grown/misc.dm +++ b/code/modules/hydroponics/grown/misc.dm @@ -53,6 +53,7 @@ icon_state = "cabbage" filling_color = "#90EE90" bitesize_mod = 2 + tastes = list("cabbage" = 1) wine_power = 0.2 @@ -79,6 +80,7 @@ icon_state = "sugarcane" filling_color = "#FFD700" bitesize_mod = 2 + tastes = list("sugarcane" = 1) distill_reagent = "rum" @@ -109,6 +111,7 @@ icon_state = "gatfruit" origin_tech = "combat=6" trash = /obj/item/gun/projectile/revolver + tastes = list("2nd amendment" = 1, "freedom" = 1) bitesize_mod = 2 wine_power = 0.9 //It burns going down, too. @@ -131,6 +134,7 @@ filling_color = rgb(20, 20, 20) seed = /obj/item/seeds/cherry/bomb bitesize_mod = 2 + tastes = list("cherry" = 1, "explosion" = 1) volume = 125 //Gives enough room for the black powder at max potency wine_power = 0.8 diff --git a/code/modules/hydroponics/grown/mushrooms.dm b/code/modules/hydroponics/grown/mushrooms.dm index 14c4b2a252a..68331c664c9 100644 --- a/code/modules/hydroponics/grown/mushrooms.dm +++ b/code/modules/hydroponics/grown/mushrooms.dm @@ -28,6 +28,7 @@ name = "reishi" desc = "Ganoderma lucidum: A special fungus known for its medicinal and stress relieving properties." icon_state = "reishi" + tastes = list("reishi" = 1) filling_color = "#FF4500" @@ -55,6 +56,7 @@ name = "fly amanita" desc = "Amanita Muscaria: Learn poisonous mushrooms by heart. Only pick mushrooms you know." icon_state = "amanita" + tastes = list("amanita" = 1) filling_color = "#FF0000" @@ -85,6 +87,7 @@ desc = "Amanita Virosa: Deadly poisonous basidiomycete fungus filled with alpha amanitin." icon_state = "angel" filling_color = "#C0C0C0" + tastes = list("destroying angel" = 1) wine_power = 0.6 @@ -112,6 +115,7 @@ icon_state = "libertycap" filling_color = "#DAA520" wine_power = 0.8 + tastes = list("liberty-cap" = 1) wine_flavor = "freedom" @@ -139,6 +143,7 @@ desc = "Plumus Hellmus: Plump, soft and s-so inviting~" icon_state = "plumphelmet" filling_color = "#9370DB" + tastes = list("plump helmet" = 1, "dwarven hardiness" = 1) distill_reagent = "manlydorf" @@ -166,6 +171,7 @@ icon_state = "walkingmushroom" filling_color = "#9370DB" origin_tech = "biotech=4;programming=5" + tastes = list("walking mushroom" = 1, "motion" = 1) can_distill = FALSE /obj/item/reagent_containers/food/snacks/grown/mushroom/walkingmushroom/attack_self(mob/user) @@ -205,6 +211,7 @@ name = "chanterelle cluster" desc = "Cantharellus Cibarius: These jolly yellow little shrooms sure look tasty!" icon_state = "chanterelle" + tastes = list("chanterelle" = 1) filling_color = "#FFA500" @@ -238,6 +245,7 @@ var/effect_path = /obj/structure/glowshroom origin_tech = "biotech=4;plasmatech=6" light_color = "#006622" + tastes = list("warmth" = 1, "light" = 1, "glowshroom" = 1) wine_power = 0.5 /obj/item/reagent_containers/food/snacks/grown/mushroom/glowshroom/attack_self(mob/user) @@ -287,6 +295,7 @@ effect_path = /obj/structure/glowshroom/glowcap origin_tech = "biotech=4;powerstorage=6;plasmatech=4" light_color = "#8E0300" + tastes = list("warmth" = 1, "light" = 1, "glowscap" = 1) wine_power = 0.6 wine_flavor = "warmth" @@ -311,6 +320,7 @@ name = "fungus" desc = "A fungus ideal for making antibacterials." icon_state = "angel" + tastes = list("fungus" = 1) color = "#4f4331" //Shadowshroom @@ -335,5 +345,6 @@ icon_state = "shadowshroom" effect_path = /obj/structure/glowshroom/shadowshroom origin_tech = "biotech=4;plasmatech=4;magnets=4" + tastes = list("strange coldness" = 1, "shadowshroom" = 1) wine_power = 0.6 wine_flavor = "strange coldness" diff --git a/code/modules/hydroponics/grown/onion.dm b/code/modules/hydroponics/grown/onion.dm index e39548d9e7c..597d5c70660 100644 --- a/code/modules/hydroponics/grown/onion.dm +++ b/code/modules/hydroponics/grown/onion.dm @@ -24,6 +24,7 @@ filling_color = "#C0C9A0" bitesize_mod = 2 slice_path = /obj/item/reagent_containers/food/snacks/onion_slice + tastes = list("onion" = 1, "pungentness" = 1) slices_num = 2 wine_power = 0.2 wine_flavor = "pungentness" @@ -45,6 +46,7 @@ icon_state = "onion_red" filling_color = "#C29ACF" slice_path = /obj/item/reagent_containers/food/snacks/onion_slice/red + tastes = list("red onion" = 1, "pungentness" = 3) wine_power = 0.6 wine_flavor = "powerful pungentness" @@ -54,6 +56,7 @@ icon_state = "onionslice" list_reagents = list("plantmatter" = 5, "vitamin" = 2) filling_color = "#C0C9A0" + tastes = list("onion" = 1, "pungentness" = 1) gender = PLURAL cooked_type = /obj/item/reagent_containers/food/snacks/onionrings @@ -62,4 +65,5 @@ desc = "They shine like exceptionally low quality amethyst." icon_state = "onionslice_red" filling_color = "#C29ACF" + tastes = list("red onion" = 1, "pungentness" = 3) list_reagents = list("plantmatter" = 5, "vitamin" = 2, "onionjuice" = 2.5) \ No newline at end of file diff --git a/code/modules/hydroponics/grown/peanut.dm b/code/modules/hydroponics/grown/peanut.dm index 2a02754d4fc..52b74ab795b 100644 --- a/code/modules/hydroponics/grown/peanut.dm +++ b/code/modules/hydroponics/grown/peanut.dm @@ -22,4 +22,5 @@ name = "patch of peanuts" desc = "Best avoided if you have spess allergies." icon_state = "peanuts" + tastes = list("peanut" = 1, "nuttiness" = 1) gender = PLURAL \ No newline at end of file diff --git a/code/modules/hydroponics/grown/pineapple.dm b/code/modules/hydroponics/grown/pineapple.dm index 589f9456bc2..4a2975fae42 100644 --- a/code/modules/hydroponics/grown/pineapple.dm +++ b/code/modules/hydroponics/grown/pineapple.dm @@ -25,4 +25,5 @@ filling_color = "#e5b437" w_class = WEIGHT_CLASS_NORMAL bitesize_mod = 3 + tastes = list("pineapple" = 1) wine_power = 0.4 \ No newline at end of file diff --git a/code/modules/hydroponics/grown/potato.dm b/code/modules/hydroponics/grown/potato.dm index 655cb6d69bd..c02b8f72119 100644 --- a/code/modules/hydroponics/grown/potato.dm +++ b/code/modules/hydroponics/grown/potato.dm @@ -24,6 +24,7 @@ desc = "Boil 'em! Mash 'em! Stick 'em in a stew!" icon_state = "potato" filling_color = "#E9967A" + tastes = list("potato" = 1) bitesize = 100 distill_reagent = "vodka" @@ -33,6 +34,7 @@ desc = "Slices of neatly cut potato." icon_state = "potato_wedges" filling_color = "#E9967A" + tastes = list("potato" = 1) bitesize = 100 distill_reagent = "sbiten" @@ -64,4 +66,5 @@ seed = /obj/item/seeds/potato/sweet name = "sweet potato" desc = "It's sweet." + tastes = list("sweet potato" = 1) icon_state = "sweetpotato" \ No newline at end of file diff --git a/code/modules/hydroponics/grown/pumpkin.dm b/code/modules/hydroponics/grown/pumpkin.dm index f05a6847dc2..aa7030bc6db 100644 --- a/code/modules/hydroponics/grown/pumpkin.dm +++ b/code/modules/hydroponics/grown/pumpkin.dm @@ -23,6 +23,7 @@ icon_state = "pumpkin" filling_color = "#FFA500" bitesize_mod = 2 + tastes = list("pumpkin" = 1) wine_power = 0.2 /obj/item/reagent_containers/food/snacks/grown/pumpkin/attackby(obj/item/W as obj, mob/user as mob, params) @@ -53,4 +54,5 @@ icon_state = "blumpkin" filling_color = "#87CEFA" bitesize_mod = 2 + tastes = list("blumpkin" = 1) wine_power = 0.5 diff --git a/code/modules/hydroponics/grown/root.dm b/code/modules/hydroponics/grown/root.dm index 35bb5ee195c..e7cdcee2cad 100644 --- a/code/modules/hydroponics/grown/root.dm +++ b/code/modules/hydroponics/grown/root.dm @@ -21,6 +21,7 @@ icon_state = "carrot" filling_color = "#FFA500" bitesize_mod = 2 + tastes = list("carrot" = 1) wine_power = 0.3 /obj/item/reagent_containers/food/snacks/grown/carrot/wedges @@ -60,16 +61,17 @@ desc = "Closely related to carrots." icon_state = "parsnip" bitesize_mod = 2 + tastes = list("parsnip" = 1) wine_power = 0.35 // White-Beet /obj/item/seeds/whitebeet - name = "pack of white-beet seeds" + name = "pack of white beet seeds" desc = "These seeds grow into sugary beet producing plants." icon_state = "seed-whitebeet" species = "whitebeet" - plantname = "White-Beet Plants" + plantname = "White Beet Plants" product = /obj/item/reagent_containers/food/snacks/grown/whitebeet lifespan = 60 endurance = 50 @@ -81,20 +83,21 @@ /obj/item/reagent_containers/food/snacks/grown/whitebeet seed = /obj/item/seeds/whitebeet - name = "white-beet" - desc = "You can't beat white-beet." + name = "white beet" + desc = "You can't beat white beet." icon_state = "whitebeet" filling_color = "#F4A460" bitesize_mod = 2 + tastes = list("white beet" = 1) wine_power = 0.4 // Red Beet /obj/item/seeds/redbeet name = "pack of redbeet seeds" desc = "These seeds grow into red beet producing plants." - icon_state = "seed-redbeet" + icon_state = "seedredbeet" species = "redbeet" - plantname = "Red-Beet Plants" + plantname = "Red Beet Plants" product = /obj/item/reagent_containers/food/snacks/grown/redbeet lifespan = 60 endurance = 50 @@ -109,5 +112,6 @@ name = "red beet" desc = "You can't beat red beet." icon_state = "redbeet" + tastes = list("red beet" = 1) bitesize_mod = 2 wine_power = 0.6 diff --git a/code/modules/hydroponics/grown/tea_coffee.dm b/code/modules/hydroponics/grown/tea_coffee.dm index 1139c03cad5..cec0a8598e0 100644 --- a/code/modules/hydroponics/grown/tea_coffee.dm +++ b/code/modules/hydroponics/grown/tea_coffee.dm @@ -21,6 +21,7 @@ name = "Tea Aspera tips" desc = "These aromatic tips of the tea plant can be dried to make tea." icon_state = "tea_aspera_leaves" + tastes = list("tea leaves" = 1) filling_color = "#008000" can_distill = FALSE @@ -28,6 +29,7 @@ /obj/item/seeds/tea/astra name = "pack of tea astra seeds" icon_state = "seed-teaastra" + desc = "These seeds grow into Tea Astra, a more potent variant of tea" species = "teaastra" plantname = "Tea Astra Plant" product = /obj/item/reagent_containers/food/snacks/grown/tea/astra @@ -38,7 +40,9 @@ /obj/item/reagent_containers/food/snacks/grown/tea/astra seed = /obj/item/seeds/tea/astra name = "Tea Astra tips" + desc = "Knock away your fatigue!" icon_state = "tea_astra_leaves" + tastes = list("tea leaves" = 1, "pure energy" = 1) filling_color = "#4582B4" @@ -67,6 +71,7 @@ desc = "Dry them out to make coffee." icon_state = "coffee_arabica" filling_color = "#DC143C" + tastes = list("coffee beans" = 1) bitesize_mod = 2 distill_reagent = "kahlua" @@ -86,4 +91,5 @@ seed = /obj/item/seeds/coffee/robusta name = "coffee robusta beans" desc = "Increases robustness by 37 percent!" + tastes = list("coffee beans" = 1, "robustness" = 1) icon_state = "coffee_robusta" \ No newline at end of file diff --git a/code/modules/hydroponics/grown/tobacco.dm b/code/modules/hydroponics/grown/tobacco.dm index 95333bba31a..09d7d484f53 100644 --- a/code/modules/hydroponics/grown/tobacco.dm +++ b/code/modules/hydroponics/grown/tobacco.dm @@ -20,6 +20,7 @@ name = "tobacco leaves" desc = "Dry them out to make some smokes." icon_state = "tobacco_leaves" + tastes = list("tobacco" = 1) filling_color = "#008000" distill_reagent = "creme_de_menthe" //Menthol, I guess. @@ -40,5 +41,6 @@ name = "space tobacco leaves" desc = "Dry them out to make some space-smokes." icon_state = "stobacco_leaves" + tastes = list("space tobacco" = 1) distill_reagent = null wine_power = 0.5 \ No newline at end of file diff --git a/code/modules/hydroponics/grown/tomato.dm b/code/modules/hydroponics/grown/tomato.dm index 58bf18057ad..873b08f151e 100644 --- a/code/modules/hydroponics/grown/tomato.dm +++ b/code/modules/hydroponics/grown/tomato.dm @@ -21,6 +21,7 @@ icon_state = "tomato" splat_type = /obj/effect/decal/cleanable/tomato_smudge filling_color = "#FF6347" + tastes = list("tomato" = 1) bitesize_mod = 2 distill_reagent = "enzyme" @@ -43,6 +44,7 @@ icon_state = "bloodtomato" splat_type = /obj/effect/gibspawner/generic filling_color = "#FF0000" + tastes = list("tomato" = 1, "blood" = 2) origin_tech = "biotech=5" distill_reagent = "bloodymary" @@ -67,6 +69,7 @@ name = "blue-tomato" desc = "I say blue-mah-to, you say blue-mae-to." icon_state = "bluetomato" + tastes = list("bluemato" = 1) splat_type = /obj/effect/decal/cleanable/blood/oil filling_color = "#0000FF" @@ -90,6 +93,7 @@ name = "bluespace tomato" desc = "So lubricated, you might slip through space-time." icon_state = "bluespacetomato" + tastes = list("bluemato" = 1, "taste bud dislocation" = 1) origin_tech = "biotech=4;bluespace=5" distill_reagent = null wine_power = 0.8 diff --git a/code/modules/mob/living/taste.dm b/code/modules/mob/living/taste.dm new file mode 100644 index 00000000000..794d7a642ee --- /dev/null +++ b/code/modules/mob/living/taste.dm @@ -0,0 +1,30 @@ +/mob/living + var/last_taste_time + var/last_taste_text + +/mob/living/proc/get_taste_sensitivity() + return TASTE_SENSITIVITY_NORMAL + +/mob/living/carbon/get_taste_sensitivity() + if(dna.species) + return dna.species.taste_sensitivity + else + return TASTE_SENSITIVITY_NORMAL + +// non destructively tastes a reagent container +/mob/living/proc/taste(datum/reagents/from) + if(last_taste_time + 50 < world.time) + var/taste_sensitivity = get_taste_sensitivity() + var/text_output = from.generate_taste_message(taste_sensitivity) + // We dont want to spam the same message over and over again at the + // person. Give it a bit of a buffer. + if(hallucination > 50 && prob(25)) + text_output = pick("spiders","dreams","nightmares","the future","the past","victory",\ + "defeat","pain","bliss","revenge","poison","time","space","death","life","truth","lies","justice","memory",\ + "regrets","your soul","suffering","music","noise","blood","hunger","the american way") + if(text_output != last_taste_text || last_taste_time + 100 < world.time) + to_chat(src, "You can taste [text_output].") + // "something indescribable" -> too many tastes, not enough flavor. + + last_taste_time = world.time + last_taste_text = text_output \ No newline at end of file diff --git a/code/modules/reagents/chemistry/holder.dm b/code/modules/reagents/chemistry/holder.dm index e03ee49f6cb..7aba1924446 100644 --- a/code/modules/reagents/chemistry/holder.dm +++ b/code/modules/reagents/chemistry/holder.dm @@ -784,51 +784,54 @@ var/const/INGEST = 2 temp.Add(v.Copy()) trans_data["viruses"] = temp return trans_data - -/datum/reagents/proc/generate_0(minimum_percent=15) -// the lower the minimum percent, the more sensitive the message is. +/datum/reagents/proc/generate_taste_message(minimum_percent = TASTE_SENSITIVITY_NORMAL) var/list/out = list() - var/list/tastes = list() //descriptor = strength - if(minimum_percent <= 100) - for(var/datum/reagent/R in reagent_list) - if(!R.taste_mult) - continue - - if(istype(R, /datum/reagent/consumable/nutriment)) - var/list/taste_data = R.data - for(var/taste in taste_data) - var/ratio = taste_data[taste] - var/amount = ratio * R.taste_mult * R.volume - if(taste in tastes) - tastes[taste] += amount - else - tastes[taste] = amount + var/list/reagent_tastes = list() //in the form reagent_tastes["descriptor"] = strength + //mobs should get this message when either they cannot taste, the tastes are all too weak for them to detect, or the tastes somehow don't have any strength + var/no_taste_text = "something indescribable" + if(minimum_percent > 100) + return no_taste_text + for(var/datum/reagent/R in reagent_list) + if(!R.taste_mult) + continue + //nutriment carries a list of tastes that originates from the snack food that the nutriment came from + if(istype(R, /datum/reagent/consumable/nutriment)) + var/list/nutriment_taste_data = R.data + for(var/nutriment_taste in nutriment_taste_data) + var/ratio = nutriment_taste_data[nutriment_taste] + var/amount = ratio * R.taste_mult * R.volume + if(nutriment_taste in reagent_tastes) + reagent_tastes[nutriment_taste] += amount + else + reagent_tastes[nutriment_taste] = amount + else + var/taste_desc = R.taste_description + var/taste_amount = R.volume * R.taste_mult + if(taste_desc in reagent_tastes) + reagent_tastes[taste_desc] += taste_amount else - var/taste_desc = R.taste_description - var/taste_amount = R.volume * R.taste_mult - if(taste_desc in tastes) - tastes[taste_desc] += taste_amount - else - tastes[taste_desc] = taste_amount - //deal with percentages - // TODO it would be great if we could sort these from strong to weak - var/total_taste = counterlist_sum(tastes) - if(total_taste > 0) - for(var/taste_desc in tastes) - var/percent = tastes[taste_desc]/total_taste * 100 - if(percent < minimum_percent) - continue - var/intensity_desc = "a hint of" - if(percent > minimum_percent * 2 || percent == 100) - intensity_desc = "" - else if(percent > minimum_percent * 3) - intensity_desc = "the strong flavor of" - if(intensity_desc != "") - out += "[intensity_desc] [taste_desc]" - else - out += "[taste_desc]" + reagent_tastes[taste_desc] = taste_amount + //deal with percentages + //TODO: may want to sort these from strong to weak + var/total_taste = counterlist_sum(reagent_tastes) + if(total_taste <= 0) + return no_taste_text + for(var/taste_desc in reagent_tastes) + var/percent = (reagent_tastes[taste_desc] / total_taste) * 100 + if(percent < minimum_percent) //the lower the minimum percent, the more sensitive the message is + continue + var/intensity_desc = "a hint of" + if(percent > minimum_percent * 3 && percent != 100) + intensity_desc = "a strong flavor of" + else if(percent > minimum_percent * 2 || percent == 100) + intensity_desc = "" - return english_list(out, "something indescribable") + if(intensity_desc != "") + out += "[intensity_desc] [taste_desc]" + else + out += "[taste_desc]" + + return english_list(out, no_taste_text) /////////////////////////////////////////////////////////////////////////////////// diff --git a/code/modules/reagents/chemistry/reagents/disease.dm b/code/modules/reagents/chemistry/reagents/disease.dm index 9ce636b466a..27fe0dacc40 100644 --- a/code/modules/reagents/chemistry/reagents/disease.dm +++ b/code/modules/reagents/chemistry/reagents/disease.dm @@ -181,6 +181,7 @@ name = "sucrose agar" id = "sugarvirusfood" color = "#41B0C0" // rgb: 65,176,192 + taste_mult = 1.5 /datum/reagent/medicine/diphenhydramine/diphenhydraminevirusfood name = "virus rations" diff --git a/code/modules/reagents/chemistry/reagents/misc.dm b/code/modules/reagents/chemistry/reagents/misc.dm index 66f58a55003..5db2805beae 100644 --- a/code/modules/reagents/chemistry/reagents/misc.dm +++ b/code/modules/reagents/chemistry/reagents/misc.dm @@ -39,6 +39,7 @@ reagent_state = GAS color = "#808080" // rgb: 128, 128, 128 taste_description = null + taste_mult = 0 /datum/reagent/nitrogen name = "Nitrogen" @@ -47,6 +48,7 @@ reagent_state = GAS color = "#808080" // rgb: 128, 128, 128 taste_description = null + taste_mult = 0 /datum/reagent/hydrogen name = "Hydrogen" @@ -55,6 +57,7 @@ reagent_state = GAS color = "#808080" // rgb: 128, 128, 128 taste_description = null + taste_mult = 0 /datum/reagent/potassium name = "Potassium" diff --git a/code/modules/reagents/chemistry/reagents/pyrotechnic.dm b/code/modules/reagents/chemistry/reagents/pyrotechnic.dm index e1161bf9a7d..982433f8ee1 100644 --- a/code/modules/reagents/chemistry/reagents/pyrotechnic.dm +++ b/code/modules/reagents/chemistry/reagents/pyrotechnic.dm @@ -141,6 +141,7 @@ reagent_state = LIQUID color = "#7A2B94" taste_description = "corporate assets going to waste" + taste_mult = 1.5 /datum/reagent/plasma/reaction_temperature(exposed_temperature, exposed_volume) if(exposed_temperature >= T0C + 100) @@ -407,6 +408,7 @@ description = "A fine dust of plasma. This chemical has unusual mutagenic properties for viruses and slimes alike." color = "#500064" // rgb: 80, 0, 100 taste_description = "corporate assets going to waste" + taste_mult = 1.5 /datum/reagent/plasma_dust/reaction_temperature(exposed_temperature, exposed_volume) if(exposed_temperature >= T0C + 100) diff --git a/code/modules/reagents/chemistry/reagents/toxins.dm b/code/modules/reagents/chemistry/reagents/toxins.dm index 72c6135cad1..0d052daa76e 100644 --- a/code/modules/reagents/chemistry/reagents/toxins.dm +++ b/code/modules/reagents/chemistry/reagents/toxins.dm @@ -4,6 +4,7 @@ description = "A Toxic chemical." reagent_state = LIQUID color = "#CF3600" // rgb: 207, 54, 0 + taste_mult = 1.2 /datum/reagent/toxin/on_mob_life(mob/living/M) var/update_flags = STATUS_UPDATE_NONE @@ -42,6 +43,7 @@ reagent_state = LIQUID color = "#801E28" // rgb: 128, 30, 40 taste_description = "slimes" + taste_mult = 1.3 /datum/reagent/slimejelly/on_mob_life(mob/living/M) var/update_flags = STATUS_UPDATE_NONE @@ -94,6 +96,7 @@ metabolization_rate = 0.2 penetrates_skin = TRUE taste_description = "metal" + taste_mult = 0 // elemental mercury is tasteless /datum/reagent/mercury/on_mob_life(mob/living/M) var/update_flags = STATUS_UPDATE_NONE @@ -156,6 +159,7 @@ reagent_state = LIQUID color = "#04DF27" metabolization_rate = 0.3 + taste_mult = 0.9 /datum/reagent/mutagen/reaction_mob(mob/living/M, method=TOUCH, volume) if(!..()) @@ -681,6 +685,7 @@ color = "#1E4664" metabolization_rate = 0.2 taste_description = null + taste_mult = 0 /datum/reagent/pancuronium/on_mob_life(mob/living/M) var/update_flags = STATUS_UPDATE_NONE diff --git a/code/modules/reagents/chemistry/reagents/water.dm b/code/modules/reagents/chemistry/reagents/water.dm index 32b26755ab2..335f2ba1647 100644 --- a/code/modules/reagents/chemistry/reagents/water.dm +++ b/code/modules/reagents/chemistry/reagents/water.dm @@ -124,6 +124,7 @@ drink_name = "Glass of Tomato juice" drink_desc = "Are you sure this is tomato juice?" taste_description = "blood" + taste_mult = 1.3 /datum/reagent/blood/reaction_mob(mob/living/M, method=TOUCH, volume) if(data && data["viruses"])