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"])