diff --git a/code/__HELPERS/_lists.dm b/code/__HELPERS/_lists.dm index 59d2ff4e51a..65dd14bf57b 100644 --- a/code/__HELPERS/_lists.dm +++ b/code/__HELPERS/_lists.dm @@ -465,4 +465,35 @@ #define LAZYADD(L, I) if(!L) { L = list(); } L += I; #define LAZYACCESS(L, I) (L ? (isnum(I) ? (I > 0 && I <= L.len ? L[I] : null) : L[I]) : null) #define LAZYLEN(L) length(L) -#define LAZYCLEARLIST(L) if(L) L.Cut() \ No newline at end of file +#define LAZYCLEARLIST(L) if(L) L.Cut() + +/* Definining a counter as a series of key -> numeric value entries + + * All these procs modify in place. +*/ + +/proc/counterlist_scale(list/L, scalar) + var/list/out = list() + for(var/key in L) + out[key] = L[key] * scalar + . = out + +/proc/counterlist_sum(list/L) + . = 0 + for(var/key in L) + . += L[key] + +/proc/counterlist_normalise(list/L) + var/avg = counterlist_sum(L) + if(avg != 0) + . = counterlist_scale(L, 1 / avg) + else + . = L + +/proc/counterlist_combine(list/L1, list/L2) + for(var/key in L2) + var/other_value = L2[key] + if(key in L1) + L1[key] += other_value + else + L1[key] = other_value diff --git a/code/game/objects/items/taster.dm b/code/game/objects/items/taster.dm new file mode 100644 index 00000000000..e555f6a92cb --- /dev/null +++ b/code/game/objects/items/taster.dm @@ -0,0 +1,20 @@ +/obj/item/taster + name = "taster" + desc = "Tastes things, so you don't have to!" + icon = 'icons/obj/surgery.dmi' + icon_state = "tonguenormal" + + w_class = WEIGHT_CLASS_TINY + + var/taste_sensitivity = 15 + +/obj/item/taster/get_spans() + return list() + +/obj/item/taster/afterattack(atom/O, mob/user, proximity) + if(!proximity) + return + + if(O.reagents) + var/message = O.reagents.generate_taste_message(taste_sensitivity) + user << "[src] tastes [message] in [O]." diff --git a/code/modules/food_and_drinks/food/snacks.dm b/code/modules/food_and_drinks/food/snacks.dm index c817f240dea..c1a5928299f 100644 --- a/code/modules/food_and_drinks/food/snacks.dm +++ b/code/modules/food_and_drinks/food/snacks.dm @@ -16,11 +16,24 @@ var/filling_color = "#FFFFFF" //color to use when added to custom food. var/custom_food_type = null //for food customizing. path of the custom food to create var/junkiness = 0 //for junk food. used to lower human satiety. - var/list/bonus_reagents = list() //the amount of reagents (usually nutriment and vitamin) added to crafted/cooked snacks, on top of the ingredients reagents. + var/list/bonus_reagents //the amount of reagents (usually nutriment and vitamin) added to crafted/cooked snacks, on top of the ingredients reagents. var/customfoodfilling = 1 // whether it can be used as filling in custom food + var/list/tastes // for example list("crisps" = 2, "salt" = 1) //Placeholder for effect that trigger on eating that aren't tied to reagents. +/obj/item/weapon/reagent_containers/food/snacks/add_initial_reagents() + if(tastes && tastes.len) + if(list_reagents) + for(var/rid in list_reagents) + var/amount = list_reagents[rid] + if(rid == "nutriment" || rid == "vitamin") + reagents.add_reagent(rid, amount, tastes.Copy()) + else + reagents.add_reagent(rid, amount) + else + ..() + /obj/item/weapon/reagent_containers/food/snacks/proc/On_Consume() if(!usr) return @@ -147,7 +160,7 @@ //Called when you finish tablecrafting a snack. /obj/item/weapon/reagent_containers/food/snacks/CheckParts(list/parts_list, datum/crafting_recipe/food/R) ..() - reagents.reagent_list.Cut() + reagents.clear_reagents() for(var/obj/item/weapon/reagent_containers/RC in contents) RC.reagents.trans_to(reagents, RC.reagents.maximum_volume) if(istype(R)) @@ -158,10 +171,14 @@ continue contents_loop qdel(A) feedback_add_details("food_made","[type]") - if(bonus_reagents.len) + + if(bonus_reagents && bonus_reagents.len) for(var/r_id in bonus_reagents) var/amount = bonus_reagents[r_id] - reagents.add_reagent(r_id, amount) + if(r_id == "nutriment" || r_id == "vitamin") + reagents.add_reagent(r_id, amount, tastes) + else + reagents.add_reagent(r_id, amount) /obj/item/weapon/reagent_containers/food/snacks/proc/slice(accuracy, obj/item/weapon/W, mob/user) if((slices_num <= 0 || !slices_num) || !slice_path) //is the food sliceable? @@ -198,7 +215,6 @@ /obj/item/weapon/reagent_containers/food/snacks/proc/initialize_slice(obj/item/weapon/reagent_containers/food/snacks/slice, reagents_per_slice) slice.create_reagents(slice.volume) reagents.trans_to(slice,reagents_per_slice) - return /obj/item/weapon/reagent_containers/food/snacks/proc/generate_trash(atom/location) if(trash) @@ -228,10 +244,13 @@ S.create_reagents(S.volume) if(reagents) reagents.trans_to(S, reagents.total_volume) - if(S.bonus_reagents.len) + if(S.bonus_reagents && S.bonus_reagents.len) for(var/r_id in S.bonus_reagents) var/amount = S.bonus_reagents[r_id] * cooking_efficiency - S.reagents.add_reagent(r_id, amount) + if(r_id == "nutriment" || r_id == "vitamin") + S.reagents.add_reagent(r_id, amount, tastes) + else + S.reagents.add_reagent(r_id, amount) /obj/item/weapon/reagent_containers/food/snacks/microwave_act(obj/machinery/microwave/M) if(cooked_type) @@ -256,9 +275,11 @@ /obj/item/weapon/reagent_containers/food/snacks/attack_animal(mob/M) if(isanimal(M)) if(iscorgi(M)) + var/mob/living/L = M if(bitecount == 0 || prob(50)) M.emote("me", 1, "nibbles away at \the [src]") bitecount++ + L.taste(reagents) // why should carbons get all the fun? if(bitecount >= 5) var/sattisfaction_text = pick("burps from enjoyment", "yaps for more", "woofs twice", "looks at the area where \the [src] was") if(sattisfaction_text) diff --git a/code/modules/food_and_drinks/food/snacks/dough.dm b/code/modules/food_and_drinks/food/snacks/dough.dm index 7e0939a08a4..5d412c05c1b 100644 --- a/code/modules/food_and_drinks/food/snacks/dough.dm +++ b/code/modules/food_and_drinks/food/snacks/dough.dm @@ -10,6 +10,7 @@ cooked_type = /obj/item/weapon/reagent_containers/food/snacks/store/bread/plain list_reagents = list("nutriment" = 6) w_class = WEIGHT_CLASS_NORMAL + tastes = list("dough" = 1) // Dough + rolling pin = flat dough @@ -36,6 +37,7 @@ cooked_type = /obj/item/weapon/reagent_containers/food/snacks/pizzabread list_reagents = list("nutriment" = 6) w_class = WEIGHT_CLASS_NORMAL + tastes = list("dough" = 1) /obj/item/weapon/reagent_containers/food/snacks/pizzabread name = "pizza bread" @@ -45,6 +47,7 @@ custom_food_type = /obj/item/weapon/reagent_containers/food/snacks/customizable/pizza list_reagents = list("nutriment" = 7) w_class = WEIGHT_CLASS_NORMAL + tastes = list("bread" = 1) /obj/item/weapon/reagent_containers/food/snacks/doughslice @@ -54,6 +57,7 @@ icon_state = "doughslice" cooked_type = /obj/item/weapon/reagent_containers/food/snacks/bun filling_color = "#CD853F" + tastes = list("dough" = 1) /obj/item/weapon/reagent_containers/food/snacks/bun @@ -64,6 +68,7 @@ list_reagents = list("nutriment" = 1) custom_food_type = /obj/item/weapon/reagent_containers/food/snacks/customizable/burger filling_color = "#CD853F" + tastes = list("bun" = 1) // the bun tastes of bun. /obj/item/weapon/reagent_containers/food/snacks/cakebatter name = "cake batter" @@ -73,6 +78,7 @@ cooked_type = /obj/item/weapon/reagent_containers/food/snacks/store/cake/plain list_reagents = list("nutriment" = 9) w_class = WEIGHT_CLASS_NORMAL + tastes = list("batter" = 1) // Cake batter + rolling pin = pie dough /obj/item/weapon/reagent_containers/food/snacks/cakebatter/attackby(obj/item/I, mob/user, params) @@ -96,6 +102,7 @@ cooked_type = /obj/item/weapon/reagent_containers/food/snacks/pie/plain list_reagents = list("nutriment" = 9) w_class = WEIGHT_CLASS_NORMAL + tastes = list("dough" = 1) /obj/item/weapon/reagent_containers/food/snacks/rawpastrybase name = "raw pastry base" @@ -105,6 +112,7 @@ cooked_type = /obj/item/weapon/reagent_containers/food/snacks/pastrybase filling_color = "#CD853F" list_reagents = list("nutriment" = 1) + tastes = list("raw pastry" = 1) /obj/item/weapon/reagent_containers/food/snacks/pastrybase name = "pastry base" @@ -113,4 +121,5 @@ icon_state = "pastrybase" list_reagents = list("nutriment" = 1) filling_color = "#CD853F" + tastes = list("pastry" = 1) diff --git a/code/modules/food_and_drinks/food/snacks/meat.dm b/code/modules/food_and_drinks/food/snacks/meat.dm index 8b8d48ec1dc..625a0bfd560 100644 --- a/code/modules/food_and_drinks/food/snacks/meat.dm +++ b/code/modules/food_and_drinks/food/snacks/meat.dm @@ -13,6 +13,7 @@ slice_path = /obj/item/weapon/reagent_containers/food/snacks/meat/rawcutlet/plain slices_num = 3 filling_color = "#FF0000" + tastes = list("meat" = 1) /obj/item/weapon/reagent_containers/food/snacks/meat/slab/initialize_slice(obj/item/weapon/reagent_containers/food/snacks/meat/rawcutlet/slice, reagents_per_slice) ..() @@ -34,6 +35,7 @@ name = " meat" cooked_type = /obj/item/weapon/reagent_containers/food/snacks/meat/steak/plain/human slice_path = /obj/item/weapon/reagent_containers/food/snacks/meat/rawcutlet/plain/human + tastes = list("tender meat" = 1) /obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/initialize_slice(obj/item/weapon/reagent_containers/food/snacks/meat/rawcutlet/plain/human/slice, reagents_per_slice) ..() @@ -59,12 +61,14 @@ desc = "Because jello wasn't offensive enough to vegans." list_reagents = list("nutriment" = 3, "slimejelly" = 3) filling_color = "#00FFFF" + tastes = list("slime" = 1, "jelly" = 1) /obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/golem icon_state = "golemmeat" desc = "Edible rocks, welcome to the future." list_reagents = list("nutriment" = 3, "iron" = 3) filling_color = "#A9A9A9" + tastes = list("rock" = 1) /obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/golem/adamantine icon_state = "agolemmeat" @@ -75,27 +79,32 @@ icon_state = "lizardmeat" desc = "Delicious dino damage" filling_color = "#6B8E23" + tastes = list("meat" = 4, "scales" = 1) /obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/plant icon_state = "plantmeat" desc = "All the joys of healthy eating with all the fun of cannibalism." filling_color = "#E9967A" + tastes = list("salad" = 1, "wood" = 1) /obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/shadow icon_state = "shadowmeat" desc = "Ow, the edge" filling_color = "#202020" + tastes = list("darkness" = 1, "meat" = 1) /obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/fly icon_state = "flymeat" desc = "Nothing says tasty like maggot filled radioactive mutant flesh." list_reagents = list("nutriment" = 3, "uranium" = 3) + tastes = list("maggots" = 1, "the inside of a reactor" = 1) /obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/skeleton name = "-bone" icon_state = "skeletonmeat" desc = "There's a point where this needs to stop, and clearly we have passed it." filling_color = "#F0F0F0" + tastes = list("bone" = 1) slice_path = null //can't slice a bone into cutlets /obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/zombie @@ -103,9 +112,7 @@ icon_state = "lizardmeat" //Close enough. desc = "Halfway to becoming fertilizer for your garden." filling_color = "#6B8E23" - - - + tastes = list("brains" = 1, "meat" = 1) @@ -126,6 +133,7 @@ /obj/item/weapon/reagent_containers/food/snacks/meat/slab/corgi name = "corgi meat" desc = "Tastes like... well you know..." + tastes = list("meat" = 4, "a fondness for wearing hats" = 1) /obj/item/weapon/reagent_containers/food/snacks/meat/slab/pug name = "pug meat" @@ -139,6 +147,7 @@ filling_color = "#FF0000" cooked_type = /obj/item/weapon/reagent_containers/food/snacks/meat/steak/killertomato slice_path = /obj/item/weapon/reagent_containers/food/snacks/meat/rawcutlet/killertomato + tastes = list("tomato" = 1) /obj/item/weapon/reagent_containers/food/snacks/meat/slab/bear name = "bear meat" @@ -148,6 +157,7 @@ filling_color = "#FFB6C1" cooked_type = /obj/item/weapon/reagent_containers/food/snacks/meat/steak/bear slice_path = /obj/item/weapon/reagent_containers/food/snacks/meat/rawcutlet/bear + tastes = list("meat" = 1, "salmon" = 1) /obj/item/weapon/reagent_containers/food/snacks/meat/slab/xeno @@ -159,6 +169,7 @@ filling_color = "#32CD32" cooked_type = /obj/item/weapon/reagent_containers/food/snacks/meat/steak/xeno slice_path = /obj/item/weapon/reagent_containers/food/snacks/meat/rawcutlet/xeno + tastes = list("meat" = 1, "acid" = 1) /obj/item/weapon/reagent_containers/food/snacks/meat/slab/spider name = "spider meat" @@ -168,6 +179,7 @@ filling_color = "#7CFC00" cooked_type = /obj/item/weapon/reagent_containers/food/snacks/meat/steak/spider slice_path = /obj/item/weapon/reagent_containers/food/snacks/meat/rawcutlet/spider + tastes = list("cobwebs" = 1) /obj/item/weapon/reagent_containers/food/snacks/meat/slab/goliath @@ -175,6 +187,7 @@ desc = "A slab of goliath meat. It's not very edible now, but it cooks great in lava." list_reagents = list("nutriment" = 3, "toxin" = 5) icon_state = "goliathmeat" + tastes = list("meat" = 1) /obj/item/weapon/reagent_containers/food/snacks/meat/slab/goliath/burn() visible_message("[src] finishes cooking!") @@ -188,6 +201,7 @@ filling_color = rgb(150, 0, 0) icon_state = "meatwheat_clump" bitesize = 4 + tastes = list("meat" = 1, "wheat" = 1) /obj/item/weapon/reagent_containers/food/snacks/meat/rawbacon name = "raw piece of bacon" @@ -197,6 +211,7 @@ bitesize = 2 list_reagents = list("nutriment" = 1) filling_color = "#B22222" + tastes = list("bacon" = 1) /obj/item/weapon/reagent_containers/food/snacks/meat/bacon name = "piece of bacon" @@ -205,6 +220,7 @@ list_reagents = list("nutriment" = 2) bonus_reagents = list("nutriment" = 1, "vitamin" = 1) filling_color = "#854817" + tastes = list("bacon" = 1) ////////////////////////////////////// MEAT STEAKS /////////////////////////////////////////////////////////// @@ -217,22 +233,28 @@ bonus_reagents = list("nutriment" = 2, "vitamin" = 1) trash = /obj/item/trash/plate filling_color = "#B22222" + tastes = list("meat" = 1) /obj/item/weapon/reagent_containers/food/snacks/meat/steak/plain /obj/item/weapon/reagent_containers/food/snacks/meat/steak/plain/human + tastes = list("tender meat" = 1) /obj/item/weapon/reagent_containers/food/snacks/meat/steak/killertomato name = "killer tomato steak" + tastes = list("tomato" = 1) /obj/item/weapon/reagent_containers/food/snacks/meat/steak/bear name = "bear steak" + tastes = list("meat" = 1, "salmon" = 1) /obj/item/weapon/reagent_containers/food/snacks/meat/steak/xeno name = "xeno steak" + tastes = list("meat" = 1, "acid" = 1) /obj/item/weapon/reagent_containers/food/snacks/meat/steak/spider name = "spider steak" + tastes = list("cobwebs" = 1) /obj/item/weapon/reagent_containers/food/snacks/meat/steak/goliath name = "goliath steak" @@ -240,6 +262,7 @@ resistance_flags = LAVA_PROOF | FIRE_PROOF icon_state = "goliathsteak" trash = null + tastes = list("meat" = 1, "rock" = 1) //////////////////////////////// MEAT CUTLETS /////////////////////////////////////////////////////// @@ -253,6 +276,7 @@ bitesize = 2 list_reagents = list("nutriment" = 1) filling_color = "#B22222" + tastes = list("meat" = 1) var/meat_type = "meat" /obj/item/weapon/reagent_containers/food/snacks/meat/rawcutlet/initialize_cooked_food(obj/item/weapon/reagent_containers/food/snacks/S, cooking_efficiency) @@ -264,6 +288,7 @@ /obj/item/weapon/reagent_containers/food/snacks/meat/rawcutlet/plain/human cooked_type = /obj/item/weapon/reagent_containers/food/snacks/meat/cutlet/plain/human + tastes = list("tender meat" = 1) /obj/item/weapon/reagent_containers/food/snacks/meat/rawcutlet/plain/human/initialize_cooked_food(obj/item/weapon/reagent_containers/food/snacks/S, cooking_efficiency) ..() @@ -275,18 +300,22 @@ /obj/item/weapon/reagent_containers/food/snacks/meat/rawcutlet/killertomato name = "raw killer tomato cutlet" cooked_type = /obj/item/weapon/reagent_containers/food/snacks/meat/cutlet/killertomato + tastes = list("tomato" = 1) /obj/item/weapon/reagent_containers/food/snacks/meat/rawcutlet/bear name = "raw bear cutlet" cooked_type = /obj/item/weapon/reagent_containers/food/snacks/meat/cutlet/bear + tastes = list("meat" = 1, "salmon" = 1) /obj/item/weapon/reagent_containers/food/snacks/meat/rawcutlet/xeno name = "raw xeno cutlet" cooked_type = /obj/item/weapon/reagent_containers/food/snacks/meat/cutlet/xeno + tastes = list("meat" = 1, "acid" = 1) /obj/item/weapon/reagent_containers/food/snacks/meat/rawcutlet/spider name = "raw spider cutlet" cooked_type = /obj/item/weapon/reagent_containers/food/snacks/meat/cutlet/spider + tastes = list("cobwebs" = 1) //Cooked cutlets @@ -298,19 +327,25 @@ list_reagents = list("nutriment" = 2) bonus_reagents = list("nutriment" = 1, "vitamin" = 1) filling_color = "#B22222" + tastes = list("meat" = 1) /obj/item/weapon/reagent_containers/food/snacks/meat/cutlet/plain /obj/item/weapon/reagent_containers/food/snacks/meat/cutlet/plain/human + tastes = list("tender meat" = 1) /obj/item/weapon/reagent_containers/food/snacks/meat/cutlet/killertomato name = "killer tomato cutlet" + tastes = list("tomato" = 1) /obj/item/weapon/reagent_containers/food/snacks/meat/cutlet/bear name = "bear cutlet" + tastes = list("meat" = 1, "salmon" = 1) /obj/item/weapon/reagent_containers/food/snacks/meat/cutlet/xeno name = "xeno cutlet" + tastes = list("meat" = 1, "acid" = 1) /obj/item/weapon/reagent_containers/food/snacks/meat/cutlet/spider - name = "spider cutlet" \ No newline at end of file + name = "spider cutlet" + tastes = list("cobwebs" = 1) diff --git a/code/modules/food_and_drinks/food/snacks_bread.dm b/code/modules/food_and_drinks/food/snacks_bread.dm index ef7a59c6665..b2664e5b5ab 100644 --- a/code/modules/food_and_drinks/food/snacks_bread.dm +++ b/code/modules/food_and_drinks/food/snacks_bread.dm @@ -3,6 +3,7 @@ icon = 'icons/obj/food/burgerbread.dmi' volume = 80 slices_num = 5 + tastes = list("bread" = 10) /obj/item/weapon/reagent_containers/food/snacks/breadslice @@ -22,6 +23,7 @@ list_reagents = list("nutriment" = 10) custom_food_type = /obj/item/weapon/reagent_containers/food/snacks/customizable/bread slice_path = /obj/item/weapon/reagent_containers/food/snacks/breadslice/plain + tastes = list("bread" = 10) /obj/item/weapon/reagent_containers/food/snacks/breadslice/plain name = "bread slice" @@ -36,6 +38,7 @@ slice_path = /obj/item/weapon/reagent_containers/food/snacks/breadslice/meat bonus_reagents = list("nutriment" = 5, "vitamin" = 10) list_reagents = list("nutriment" = 30, "vitamin" = 5) + tastes = list("bread" = 10, "meat" = 10) /obj/item/weapon/reagent_containers/food/snacks/breadslice/meat name = "meatbread slice" @@ -49,6 +52,7 @@ slice_path = /obj/item/weapon/reagent_containers/food/snacks/breadslice/xenomeat bonus_reagents = list("nutriment" = 5, "vitamin" = 10) list_reagents = list("nutriment" = 30, "vitamin" = 5) + tastes = list("bread" = 10, "acid" = 10) /obj/item/weapon/reagent_containers/food/snacks/breadslice/xenomeat name = "xenomeatbread slice" @@ -64,6 +68,7 @@ slice_path = /obj/item/weapon/reagent_containers/food/snacks/breadslice/spidermeat bonus_reagents = list("nutriment" = 5, "vitamin" = 10) list_reagents = list("nutriment" = 30, "toxin" = 15, "vitamin" = 5) + tastes = list("bread" = 10, "cobwebs" = 5) /obj/item/weapon/reagent_containers/food/snacks/breadslice/spidermeat name = "spider meat bread slice" @@ -79,6 +84,7 @@ slice_path = /obj/item/weapon/reagent_containers/food/snacks/breadslice/banana bonus_reagents = list("nutriment" = 5, "banana" = 20) list_reagents = list("nutriment" = 20, "banana" = 20) + tastes = list("bread" = 10) // bananjuice will also flavour /obj/item/weapon/reagent_containers/food/snacks/breadslice/banana @@ -95,6 +101,7 @@ slice_path = /obj/item/weapon/reagent_containers/food/snacks/breadslice/tofu bonus_reagents = list("nutriment" = 5, "vitamin" = 10) list_reagents = list("nutriment" = 20, "vitamin" = 5) + tastes = list("bread" = 10, "tofu" = 10) /obj/item/weapon/reagent_containers/food/snacks/breadslice/tofu name = "tofubread slice" @@ -110,6 +117,7 @@ slice_path = /obj/item/weapon/reagent_containers/food/snacks/breadslice/creamcheese bonus_reagents = list("nutriment" = 5, "vitamin" = 5) list_reagents = list("nutriment" = 20, "vitamin" = 5) + tastes = list("bread" = 10, "cheese" = 10) /obj/item/weapon/reagent_containers/food/snacks/breadslice/creamcheese name = "cream cheese bread slice" @@ -125,6 +133,7 @@ slice_path = /obj/item/weapon/reagent_containers/food/snacks/breadslice/mimana bonus_reagents = list("nutriment" = 5, "vitamin" = 5) list_reagents = list("nutriment" = 20, "mutetoxin" = 5, "nothing" = 5, "vitamin" = 5) + tastes = list("bread" = 10, "silence" = 10) /obj/item/weapon/reagent_containers/food/snacks/breadslice/mimana name = "mimana bread slice" @@ -147,6 +156,7 @@ list_reagents = list("nutriment" = 6, "vitamin" = 1) bitesize = 3 w_class = WEIGHT_CLASS_NORMAL + tastes = list("bread" = 1) /obj/item/weapon/reagent_containers/food/snacks/deepfryholder name = "Deep Fried Foods Holder Obj" diff --git a/code/modules/food_and_drinks/food/snacks_burgers.dm b/code/modules/food_and_drinks/food/snacks_burgers.dm index 4324dba9fea..16e96435d25 100644 --- a/code/modules/food_and_drinks/food/snacks_burgers.dm +++ b/code/modules/food_and_drinks/food/snacks_burgers.dm @@ -1,10 +1,10 @@ - /obj/item/weapon/reagent_containers/food/snacks/burger filling_color = "#CD853F" icon = 'icons/obj/food/burgerbread.dmi' icon_state = "hburger" bitesize = 3 list_reagents = list("nutriment" = 6, "vitamin" = 1) + tastes = list("bun" = 4) /obj/item/weapon/reagent_containers/food/snacks/burger/plain name = "burger" @@ -41,18 +41,21 @@ desc = "Tastes like appendicitis." bonus_reagents = list("nutriment" = 6, "vitamin" = 6) icon_state = "appendixburger" + tastes = list("bun" = 4, "grass" = 2) /obj/item/weapon/reagent_containers/food/snacks/burger/fish name = "fillet -o- carp sandwich" desc = "Almost like a carp is yelling somewhere... Give me back that fillet -o- carp, give me that carp." icon_state = "fishburger" bonus_reagents = list("nutriment" = 2, "vitamin" = 3) + tastes = list("bun" = 4, "fish" = 4) /obj/item/weapon/reagent_containers/food/snacks/burger/tofu name = "tofu burger" desc = "What.. is that meat?" icon_state = "tofuburger" bonus_reagents = list("nutriment" = 2, "vitamin" = 2) + tastes = list("bun" = 4, "tofu" = 4) /obj/item/weapon/reagent_containers/food/snacks/burger/roburger name = "roburger" @@ -60,6 +63,7 @@ icon_state = "roburger" bonus_reagents = list("nutriment" = 2, "nanomachines" = 2, "vitamin" = 5) list_reagents = list("nutriment" = 6, "nanomachines" = 5, "vitamin" = 1) + tastes = list("bun" = 4, "lettuce" = 2, "sludge" = 1) /obj/item/weapon/reagent_containers/food/snacks/burger/roburgerbig name = "roburger" @@ -68,12 +72,14 @@ volume = 120 bonus_reagents = list("nutriment" = 5, "nanomachines" = 70, "vitamin" = 10) list_reagents = list("nutriment" = 6, "nanomachines" = 70, "vitamin" = 5) + tastes = list("bun" = 4, "lettuce" = 2, "sludge" = 1) /obj/item/weapon/reagent_containers/food/snacks/burger/xeno name = "xenoburger" desc = "Smells caustic. Tastes like heresy." icon_state = "xburger" bonus_reagents = list("nutriment" = 2, "vitamin" = 6) + tastes = list("bun" = 4, "acid" = 4) /obj/item/weapon/reagent_containers/food/snacks/burger/bearger name = "bearger" @@ -99,12 +105,14 @@ icon_state = "brainburger" bonus_reagents = list("nutriment" = 6, "mannitol" = 6, "vitamin" = 5) list_reagents = list("nutriment" = 6, "mannitol" = 5, "vitamin" = 1) + tastes = list("bun" = 4, "brains" = 2) /obj/item/weapon/reagent_containers/food/snacks/burger/ghost name = "ghost burger" desc = "Too Spooky!" alpha = 125 bonus_reagents = list("nutriment" = 5, "vitamin" = 12) + tastes = list("bun" = 4, "ectoplasm" = 2) /obj/item/weapon/reagent_containers/food/snacks/burger/red name = "red burger" @@ -153,6 +161,7 @@ desc = "This is absolutely Ei Nath." icon_state = "spellburger" bonus_reagents = list("nutriment" = 6, "vitamin" = 10) + tastes = list("bun" = 4, "magic" = 2) /obj/item/weapon/reagent_containers/food/snacks/burger/bigbite name = "big bite burger" @@ -166,6 +175,7 @@ name = "jelly burger" desc = "Culinary delight..?" icon_state = "jellyburger" + tastes = list("bun" = 4, "jelly" = 2) /obj/item/weapon/reagent_containers/food/snacks/burger/jelly/slime bonus_reagents = list("slimejelly" = 5, "vitamin" = 5) @@ -184,6 +194,7 @@ w_class = WEIGHT_CLASS_NORMAL bitesize = 7 volume = 100 + tastes = list("bun" = 4, "type two diabetes" = 10) /obj/item/weapon/reagent_containers/food/snacks/burger/fivealarm name = "five alarm burger" @@ -209,3 +220,4 @@ desc = "The perfect combination of all things American." icon_state = "baconburger" bonus_reagents = list("nutriment" = 8, "vitamin" = 1) + tastes = list("bun" = 4, "bacon" = 2) diff --git a/code/modules/food_and_drinks/food/snacks_cake.dm b/code/modules/food_and_drinks/food/snacks_cake.dm index 0d287060996..2cac29be965 100644 --- a/code/modules/food_and_drinks/food/snacks_cake.dm +++ b/code/modules/food_and_drinks/food/snacks_cake.dm @@ -1,4 +1,3 @@ - /obj/item/weapon/reagent_containers/food/snacks/store/cake icon = 'icons/obj/food/piecake.dmi' slice_path = /obj/item/weapon/reagent_containers/food/snacks/cakeslice/plain @@ -6,12 +5,14 @@ bitesize = 3 volume = 80 list_reagents = list("nutriment" = 20, "vitamin" = 5) + tastes = list("cake" = 1) /obj/item/weapon/reagent_containers/food/snacks/cakeslice icon = 'icons/obj/food/piecake.dmi' trash = /obj/item/trash/plate list_reagents = list("nutriment" = 4, "vitamin" = 1) customfoodfilling = 0 //to avoid infinite cake-ception + tastes = list("cake" = 1) /obj/item/weapon/reagent_containers/food/snacks/store/cake/plain name = "vanilla cake" @@ -19,6 +20,7 @@ icon_state = "plaincake" custom_food_type = /obj/item/weapon/reagent_containers/food/snacks/customizable/cake bonus_reagents = list("nutriment" = 10, "vitamin" = 2) + tastes = list("vanilla" = 1, "sweetness" = 2,"cake" = 5) /obj/item/weapon/reagent_containers/food/snacks/cakeslice/plain name = "vanilla cake slice" @@ -26,6 +28,7 @@ icon_state = "plaincake_slice" filling_color = "#FFD700" customfoodfilling = 1 + tastes = list("vanilla" = 1, "sweetness" = 2,"cake" = 5) /obj/item/weapon/reagent_containers/food/snacks/store/cake/carrot name = "carrot cake" @@ -35,6 +38,7 @@ slices_num = 5 bonus_reagents = list("nutriment" = 3, "oculine" = 5, "vitamin" = 10) list_reagents = list("nutriment" = 20, "oculine" = 10, "vitamin" = 5) + tastes = list("cake" = 5, "sweetness" = 2, "carrot" = 1) /obj/item/weapon/reagent_containers/food/snacks/cakeslice/carrot name = "carrot cake slice" @@ -42,6 +46,7 @@ icon_state = "carrotcake_slice" filling_color = "#FFA500" list_reagents = list("nutriment" = 4, "oculine" = 2, "vitamin" = 1) + tastes = list("cake" = 5, "sweetness" = 2, "carrot" = 1) /obj/item/weapon/reagent_containers/food/snacks/store/cake/brain @@ -52,6 +57,7 @@ slices_num = 5 bonus_reagents = list("nutriment" = 5, "mannitol" = 10, "vitamin" = 10) list_reagents = list("nutriment" = 20, "mannitol" = 10, "vitamin" = 5) + tastes = list("cake" = 5, "sweetness" = 2, "brains" = 1) /obj/item/weapon/reagent_containers/food/snacks/cakeslice/brain @@ -60,6 +66,7 @@ icon_state = "braincakeslice" filling_color = "#FF69B4" list_reagents = list("nutriment" = 4, "mannitol" = 2, "vitamin" = 1) + tastes = list("cake" = 5, "sweetness" = 2, "brains" = 1) /obj/item/weapon/reagent_containers/food/snacks/store/cake/cheese name = "cheese cake" @@ -68,6 +75,7 @@ slice_path = /obj/item/weapon/reagent_containers/food/snacks/cakeslice/cheese slices_num = 5 bonus_reagents = list("vitamin" = 10) + tastes = list("cake" = 4, "cream cheese" = 3) /obj/item/weapon/reagent_containers/food/snacks/cakeslice/cheese @@ -75,6 +83,7 @@ desc = "Slice of pure cheestisfaction." icon_state = "cheesecake_slice" filling_color = "#FFFACD" + tastes = list("cake" = 4, "cream cheese" = 3) /obj/item/weapon/reagent_containers/food/snacks/store/cake/orange @@ -84,12 +93,14 @@ slice_path = /obj/item/weapon/reagent_containers/food/snacks/cakeslice/orange slices_num = 5 bonus_reagents = list("nutriment" = 3, "vitamin" = 10) + tastes = list("cake" = 5, "sweetness" = 2, "oranges" = 2) /obj/item/weapon/reagent_containers/food/snacks/cakeslice/orange name = "orange cake slice" desc = "Just a slice of cake, it is enough for everyone." icon_state = "orangecake_slice" filling_color = "#FFA500" + tastes = list("cake" = 5, "sweetness" = 2, "oranges" = 2) /obj/item/weapon/reagent_containers/food/snacks/store/cake/lime name = "lime cake" @@ -98,12 +109,14 @@ slice_path = /obj/item/weapon/reagent_containers/food/snacks/cakeslice/lime slices_num = 5 bonus_reagents = list("nutriment" = 3, "vitamin" = 10) + tastes = list("cake" = 5, "sweetness" = 2, "unbearable sourness" = 2) /obj/item/weapon/reagent_containers/food/snacks/cakeslice/lime name = "lime cake slice" desc = "Just a slice of cake, it is enough for everyone." icon_state = "limecake_slice" filling_color = "#00FF00" + tastes = list("cake" = 5, "sweetness" = 2, "unbearable sourness" = 2) /obj/item/weapon/reagent_containers/food/snacks/store/cake/lemon @@ -113,6 +126,7 @@ slice_path = /obj/item/weapon/reagent_containers/food/snacks/cakeslice/lemon slices_num = 5 bonus_reagents = list("nutriment" = 3, "vitamin" = 10) + tastes = list("cake" = 5, "sweetness" = 2, "sourness" = 2) /obj/item/weapon/reagent_containers/food/snacks/cakeslice/lemon @@ -120,6 +134,7 @@ desc = "Just a slice of cake, it is enough for everyone." icon_state = "lemoncake_slice" filling_color = "#FFEE00" + tastes = list("cake" = 5, "sweetness" = 2, "sourness" = 2) /obj/item/weapon/reagent_containers/food/snacks/store/cake/chocolate @@ -129,6 +144,7 @@ slice_path = /obj/item/weapon/reagent_containers/food/snacks/cakeslice/chocolate slices_num = 5 bonus_reagents = list("nutriment" = 3, "vitamin" = 10) + tastes = list("cake" = 5, "sweetness" = 1, "chocolate" = 4) /obj/item/weapon/reagent_containers/food/snacks/cakeslice/chocolate @@ -136,6 +152,7 @@ desc = "Just a slice of cake, it is enough for everyone." icon_state = "chocolatecake_slice" filling_color = "#A0522D" + tastes = list("cake" = 5, "sweetness" = 1, "chocolate" = 4) /obj/item/weapon/reagent_containers/food/snacks/store/cake/birthday @@ -146,6 +163,7 @@ slices_num = 5 bonus_reagents = list("nutriment" = 7, "sprinkles" = 10, "vitamin" = 5) list_reagents = list("nutriment" = 20, "sprinkles" = 10, "vitamin" = 5) + tastes = list("cake" = 5, "sweetness" = 1) /obj/item/weapon/reagent_containers/food/snacks/cakeslice/birthday name = "birthday cake slice" @@ -153,6 +171,7 @@ icon_state = "birthdaycakeslice" filling_color = "#DC143C" list_reagents = list("nutriment" = 4, "sprinkles" = 2, "vitamin" = 1) + tastes = list("cake" = 5, "sweetness" = 1) /obj/item/weapon/reagent_containers/food/snacks/store/cake/apple @@ -162,12 +181,14 @@ slice_path = /obj/item/weapon/reagent_containers/food/snacks/cakeslice/apple slices_num = 5 bonus_reagents = list("nutriment" = 3, "vitamin" = 10) + tastes = list("cake" = 5, "sweetness" = 1, "apple" = 1) /obj/item/weapon/reagent_containers/food/snacks/cakeslice/apple name = "apple cake slice" desc = "A slice of heavenly cake." icon_state = "applecakeslice" filling_color = "#FF4500" + tastes = list("cake" = 5, "sweetness" = 1, "apple" = 1) /obj/item/weapon/reagent_containers/food/snacks/cakeslice/custom name = "cake slice" @@ -180,12 +201,14 @@ icon_state = "slimecake" slice_path = /obj/item/weapon/reagent_containers/food/snacks/cakeslice/slimecake bonus_reagents = list("nutriment" = 1, "vitamin" = 3) + tastes = list("cake" = 5, "sweetness" = 1, "slime" = 1) /obj/item/weapon/reagent_containers/food/snacks/cakeslice/slimecake name = "slime cake slice" desc = "A slice of slime cake." icon_state = "slimecake_slice" filling_color = "#00FFFF" + tastes = list("cake" = 5, "sweetness" = 1, "slime" = 1) /obj/item/weapon/reagent_containers/food/snacks/store/cake/pumpkinspice name = "pumpkin spice cake" @@ -193,9 +216,11 @@ icon_state = "pumpkinspicecake" slice_path = /obj/item/weapon/reagent_containers/food/snacks/cakeslice/pumpkinspice bonus_reagents = list("nutriment" = 3, "vitamin" = 5) + tastes = list("cake" = 5, "sweetness" = 1, "pumpkin" = 1) /obj/item/weapon/reagent_containers/food/snacks/cakeslice/pumpkinspice name = "pumpkin spice cake slice" desc = "A spicy slice of pumpkin goodness." icon_state = "pumpkinspicecakeslice" - filling_color = "#FFD700" \ No newline at end of file + filling_color = "#FFD700" + tastes = list("cake" = 5, "sweetness" = 1, "pumpkin" = 1) diff --git a/code/modules/food_and_drinks/food/snacks_egg.dm b/code/modules/food_and_drinks/food/snacks_egg.dm index df17ef87905..fb82a4ad114 100644 --- a/code/modules/food_and_drinks/food/snacks_egg.dm +++ b/code/modules/food_and_drinks/food/snacks_egg.dm @@ -8,6 +8,7 @@ bonus_reagents = list("nutriment" = 1, "vitamin" = 1) list_reagents = list("nutriment" = 4, "sugar" = 2, "cocoa" = 2) filling_color = "#A0522D" + tastes = list("chocolate" = 4, "sweetness" = 1) /obj/item/weapon/reagent_containers/food/snacks/egg name = "egg" @@ -16,6 +17,7 @@ list_reagents = list("nutriment" = 1) cooked_type = /obj/item/weapon/reagent_containers/food/snacks/boiledegg filling_color = "#F0E68C" + tastes = list("egg" = 1) /obj/item/weapon/reagent_containers/food/snacks/egg/throw_impact(atom/hit_atom) if(!..()) //was it caught by a mob? @@ -42,34 +44,42 @@ /obj/item/weapon/reagent_containers/food/snacks/egg/blue icon_state = "egg-blue" item_color = "blue" + tastes = list("egg" = 4, "the back of class" = 1) /obj/item/weapon/reagent_containers/food/snacks/egg/green icon_state = "egg-green" item_color = "green" + tastes = list("egg" = 4, "the back of class" = 1) /obj/item/weapon/reagent_containers/food/snacks/egg/mime icon_state = "egg-mime" item_color = "mime" + tastes = list("egg" = 4, "the back of class" = 1) /obj/item/weapon/reagent_containers/food/snacks/egg/orange icon_state = "egg-orange" item_color = "orange" + tastes = list("egg" = 4, "the back of class" = 1) /obj/item/weapon/reagent_containers/food/snacks/egg/purple icon_state = "egg-purple" item_color = "purple" + tastes = list("egg" = 4, "the back of class" = 1) /obj/item/weapon/reagent_containers/food/snacks/egg/rainbow icon_state = "egg-rainbow" item_color = "rainbow" + tastes = list("egg" = 4, "the back of class" = 1) /obj/item/weapon/reagent_containers/food/snacks/egg/red icon_state = "egg-red" item_color = "red" + tastes = list("egg" = 4, "the back of class" = 1) /obj/item/weapon/reagent_containers/food/snacks/egg/yellow icon_state = "egg-yellow" item_color = "yellow" + tastes = list("egg" = 4, "the back of class" = 1) /obj/item/weapon/reagent_containers/food/snacks/friedegg name = "fried egg" @@ -79,6 +89,7 @@ bitesize = 1 filling_color = "#FFFFF0" list_reagents = list("nutriment" = 3) + tastes = list("egg" = 4, "salt" = 1, "pepper" = 1) /obj/item/weapon/reagent_containers/food/snacks/boiledegg name = "boiled egg" @@ -87,6 +98,7 @@ bonus_reagents = list("nutriment" = 1, "vitamin" = 1) filling_color = "#FFFFF0" list_reagents = list("nutriment" = 2, "vitamin" = 1) + tastes = list("egg" = 1) /obj/item/weapon/reagent_containers/food/snacks/omelette //FUCK THIS name = "omelette du fromage" @@ -97,6 +109,7 @@ list_reagents = list("nutriment" = 8, "vitamin" = 1) bitesize = 1 w_class = WEIGHT_CLASS_NORMAL + tastes = list("egg" = 1, "cheese" = 1) /obj/item/weapon/reagent_containers/food/snacks/omelette/attackby(obj/item/weapon/W, mob/user, params) if(istype(W,/obj/item/weapon/kitchen/fork)) @@ -123,4 +136,5 @@ bonus_reagents = list("vitamin" = 4) trash = /obj/item/trash/plate w_class = WEIGHT_CLASS_NORMAL - list_reagents = list("nutriment" = 6, "vitamin" = 4) \ No newline at end of file + list_reagents = list("nutriment" = 6, "vitamin" = 4) + tastes = list("egg" = 1, "bacon" = 1, "bun" = 1) diff --git a/code/modules/food_and_drinks/food/snacks_meat.dm b/code/modules/food_and_drinks/food/snacks_meat.dm index 0321dedc4d9..d7ebd364a33 100644 --- a/code/modules/food_and_drinks/food/snacks_meat.dm +++ b/code/modules/food_and_drinks/food/snacks_meat.dm @@ -12,6 +12,7 @@ bitesize = 3 filling_color = "#CD853F" list_reagents = list("nutriment" = 6, "capsaicin" = 1) + tastes = list("fish" = 4, "batter" = 1, "hot peppers" = 1) /obj/item/weapon/reagent_containers/food/snacks/carpmeat name = "carp fillet" @@ -20,6 +21,7 @@ list_reagents = list("nutriment" = 3, "carpotoxin" = 2, "vitamin" = 2) bitesize = 6 filling_color = "#FA8072" + tastes = list("fish" = 1) /obj/item/weapon/reagent_containers/food/snacks/carpmeat/New() ..() @@ -37,6 +39,7 @@ list_reagents = list("nutriment" = 4) bitesize = 1 filling_color = "#CD853F" + tastes = list("fish" = 1, "breadcrumbs" = 1) /obj/item/weapon/reagent_containers/food/snacks/fishandchips name = "fish and chips" @@ -45,6 +48,7 @@ bonus_reagents = list("nutriment" = 1, "vitamin" = 2) list_reagents = list("nutriment" = 6) filling_color = "#FA8072" + tastes = list("fish" = 1, "chips" = 1) ////////////////////////////////////////////MEATS AND ALIKE//////////////////////////////////////////// @@ -54,6 +58,7 @@ icon_state = "tofu" list_reagents = list("nutriment" = 2) filling_color = "#F0E68C" + tastes = list("tofu" = 1) /obj/item/weapon/reagent_containers/food/snacks/spiderleg name = "spider leg" @@ -62,6 +67,7 @@ list_reagents = list("nutriment" = 2, "toxin" = 2) cooked_type = /obj/item/weapon/reagent_containers/food/snacks/boiledspiderleg filling_color = "#000000" + tastes = list("cobwebs" = 1) /obj/item/weapon/reagent_containers/food/snacks/cornedbeef name = "corned beef and cabbage" @@ -70,6 +76,7 @@ trash = /obj/item/trash/plate bonus_reagents = list("nutriment" = 1, "vitamin" = 4) list_reagents = list("nutriment" = 5) + tastes = list("meat" = 1, "cabbage" = 1) /obj/item/weapon/reagent_containers/food/snacks/bearsteak name = "Filet migrawr" @@ -78,6 +85,7 @@ trash = /obj/item/trash/plate bonus_reagents = list("nutriment" = 2, "vitamin" = 6) list_reagents = list("nutriment" = 2, "vitamin" = 5, "manlydorf" = 5) + tastes = list("meat" = 1, "salmon" = 1) /obj/item/weapon/reagent_containers/food/snacks/faggot name = "faggot" @@ -85,6 +93,7 @@ icon_state = "faggot" list_reagents = list("nutriment" = 4, "vitamin" = 1) filling_color = "#800000" + tastes = list("meat" = 1) /obj/item/weapon/reagent_containers/food/snacks/sausage name = "sausage" @@ -93,6 +102,7 @@ filling_color = "#CD5C5C" bonus_reagents = list("nutriment" = 1, "vitamin" = 1) list_reagents = list("nutriment" = 6, "vitamin" = 1) + tastes = list("meat" = 1) /obj/item/weapon/reagent_containers/food/snacks/sausage/New() ..() @@ -103,26 +113,31 @@ icon_state = "kebab" w_class = WEIGHT_CLASS_NORMAL list_reagents = list("nutriment" = 8) + tastes = list("meat" = 3, "metal" = 1) /obj/item/weapon/reagent_containers/food/snacks/kebab/human name = "human-kebab" desc = "A human meat, on a stick." bonus_reagents = list("nutriment" = 1, "vitamin" = 6) + tastes = list("tender meat" = 3, "metal" = 1) /obj/item/weapon/reagent_containers/food/snacks/kebab/monkey name = "meat-kebab" desc = "Delicious meat, on a stick." bonus_reagents = list("nutriment" = 1, "vitamin" = 2) + tastes = list("meat" = 3, "metal" = 1) /obj/item/weapon/reagent_containers/food/snacks/kebab/tofu name = "tofu-kebab" desc = "Vegan meat, on a stick." bonus_reagents = list("nutriment" = 1) + tastes = list("tofu" = 3, "metal" = 1) /obj/item/weapon/reagent_containers/food/snacks/kebab/tail name = "lizard-tail kebab" desc = "Severed lizard tail on a stick." bonus_reagents = list("nutriment" = 1, "vitamin" = 4) + tastes = list("meat" = 8, "metal" = 4, "scales" = 1) /obj/item/weapon/reagent_containers/food/snacks/rawkhinkali name = "raw khinkali" @@ -130,6 +145,7 @@ icon_state = "khinkali" list_reagents = list("nutriment" = 1, "vitamin" = 1) cooked_type = /obj/item/weapon/reagent_containers/food/snacks/khinkali + tastes = list("meat" = 1, "onions" = 1, "garlic" = 1) /obj/item/weapon/reagent_containers/food/snacks/khinkali name = "khinkali" @@ -138,6 +154,7 @@ list_reagents = list("nutriment" = 4, "vitamin" = 2) bitesize = 3 filling_color = "#F0F0F0" + tastes = list("meat" = 1, "onions" = 1, "garlic" = 1) /obj/item/weapon/reagent_containers/food/snacks/monkeycube name = "monkey cube" @@ -146,6 +163,7 @@ bitesize = 12 list_reagents = list("nutriment" = 2) filling_color = "#CD853F" + tastes = list("the jungle" = 1, "bananas" = 1) /obj/item/weapon/reagent_containers/food/snacks/monkeycube/proc/Expand() visible_message("[src] expands!") @@ -160,6 +178,7 @@ bitesize = 4 filling_color = "#FFA07A" list_reagents = list("nutriment" = 8, "capsaicin" = 6) + tastes = list("hot peppers" = 1, "meat" = 3, "cheese" = 1, "sour cream" = 1) /obj/item/weapon/reagent_containers/food/snacks/stewedsoymeat name = "stewed soy meat" @@ -169,6 +188,7 @@ bonus_reagents = list("nutriment" = 1) list_reagents = list("nutriment" = 8) filling_color = "#D2691E" + tastes = list("soy" = 1, "vegetables" = 1) /obj/item/weapon/reagent_containers/food/snacks/stewedsoymeat/New() ..() @@ -182,6 +202,7 @@ bonus_reagents = list("nutriment" = 1, "capsaicin" = 2, "vitamin" = 2) list_reagents = list("nutriment" = 3, "capsaicin" = 2) filling_color = "#000000" + tastes = list("hot peppers" = 1, "cobwebs" = 1) /obj/item/weapon/reagent_containers/food/snacks/spidereggsham name = "green eggs and ham" @@ -192,6 +213,7 @@ list_reagents = list("nutriment" = 6) bitesize = 4 filling_color = "#7FFF00" + tastes = list("meat" = 1, "the colour green" = 1) /obj/item/weapon/reagent_containers/food/snacks/sashimi name = "carp sashimi" @@ -200,25 +222,17 @@ bonus_reagents = list("nutriment" = 1, "capsaicin" = 4, "vitamin" = 4) list_reagents = list("nutriment" = 6, "capsaicin" = 5) filling_color = "#FA8072" - -#define LUMP "lump" -#define STAR "star" -#define LIZARD "lizard" -#define CORGI "corgi" + tastes = list("fish" = 1, "hot peppers" = 1) /obj/item/weapon/reagent_containers/food/snacks/nugget - name = "chicken nugget" - filling_color = "#B22222" - bonus_reagents = list("nutriment" = 1, "vitamin" = 1) - list_reagents = list("nutriment" = 2) + name = "chicken nugget" + filling_color = "#B22222" + bonus_reagents = list("nutriment" = 1, "vitamin" = 1) + list_reagents = list("nutriment" = 2) + tastes = list("\"chicken\"" = 1) /obj/item/weapon/reagent_containers/food/snacks/nugget/New() - ..() - var/shape = pick(LUMP, STAR, LIZARD, CORGI) - desc = "A 'chicken' nugget vaguely shaped like a [shape]." - icon_state = "nugget_[shape]" - -#undef LUMP -#undef STAR -#undef LIZARD -#undef CORGI \ No newline at end of file + ..() + var/shape = pick("lump", "star", "lizard", "corgi") + desc = "A 'chicken' nugget vaguely shaped like a [shape]." + icon_state = "nugget_[shape]" diff --git a/code/modules/food_and_drinks/food/snacks_other.dm b/code/modules/food_and_drinks/food/snacks_other.dm index b9cfedccf7f..4a9001c68f6 100644 --- a/code/modules/food_and_drinks/food/snacks_other.dm +++ b/code/modules/food_and_drinks/food/snacks_other.dm @@ -9,6 +9,7 @@ slices_num = 5 list_reagents = list("nutriment" = 15, "vitamin" = 5) w_class = WEIGHT_CLASS_NORMAL + tastes = list("cheese" = 1) /obj/item/weapon/reagent_containers/food/snacks/cheesewedge name = "cheese wedge" @@ -16,12 +17,14 @@ icon_state = "cheesewedge" filling_color = "#FFD700" list_reagents = list("nutriment" = 3, "vitamin" = 1) + tastes = list("cheese" = 1) /obj/item/weapon/reagent_containers/food/snacks/watermelonslice name = "watermelon slice" desc = "A slice of watery goodness." icon_state = "watermelonslice" filling_color = "#FF1493" + tastes = list("watermelon" = 1) /obj/item/weapon/reagent_containers/food/snacks/candy_corn name = "candy corn" @@ -29,6 +32,7 @@ icon_state = "candy_corn" list_reagents = list("nutriment" = 4, "sugar" = 2) filling_color = "#FF8C00" + tastes = list("candy corn" = 1) /obj/item/weapon/reagent_containers/food/snacks/chocolatebar name = "chocolate bar" @@ -36,12 +40,14 @@ icon_state = "chocolatebar" list_reagents = list("nutriment" = 2, "sugar" = 2, "cocoa" = 2) filling_color = "#A0522D" + tastes = list("chocolate" = 1) /obj/item/weapon/reagent_containers/food/snacks/hugemushroomslice name = "huge mushroom slice" desc = "A slice from a huge mushroom." icon_state = "hugemushroomslice" list_reagents = list("nutriment" = 3, "vitamin" = 1) + tastes = list("mushroom" = 1) /obj/item/weapon/reagent_containers/food/snacks/popcorn name = "popcorn" @@ -51,6 +57,7 @@ list_reagents = list("nutriment" = 2) bitesize = 0.1 //this snack is supposed to be eating during looooong time. And this it not dinner food! --rastaf0 filling_color = "#FFEFD5" + tastes = list("popcorn" = 3, "butter" = 1) /obj/item/weapon/reagent_containers/food/snacks/popcorn/New() ..() @@ -63,6 +70,7 @@ bonus_reagents = list("nutriment" = 1, "vitamin" = 2) list_reagents = list("nutriment" = 6) filling_color = "#D2B48C" + tastes = list("potato" = 1) /obj/item/weapon/reagent_containers/food/snacks/fries name = "space fries" @@ -71,6 +79,7 @@ trash = /obj/item/trash/plate list_reagents = list("nutriment" = 4) filling_color = "#FFD700" + tastes = list("fries" = 3, "salt" = 1) /obj/item/weapon/reagent_containers/food/snacks/tatortot name = "tator tot" @@ -78,6 +87,7 @@ icon_state = "tatortot" list_reagents = list("nutriment" = 4) filling_color = "FFD700" + tastes = list("potato" = 3, "valids" = 1) /obj/item/weapon/reagent_containers/food/snacks/soydope name = "soy dope" @@ -86,6 +96,7 @@ trash = /obj/item/trash/plate list_reagents = list("nutriment" = 2) filling_color = "#DEB887" + tastes = list("soy" = 1) /obj/item/weapon/reagent_containers/food/snacks/cheesyfries name = "cheesy fries" @@ -95,6 +106,7 @@ bonus_reagents = list("nutriment" = 1, "vitamin" = 2) list_reagents = list("nutriment" = 6) filling_color = "#FFD700" + tastes = list("fries" = 3, "cheese" = 1) /obj/item/weapon/reagent_containers/food/snacks/badrecipe name = "burned mess" @@ -110,6 +122,7 @@ trash = /obj/item/trash/plate list_reagents = list("nutriment" = 3, "oculine" = 3, "vitamin" = 2) filling_color = "#FFA500" + tastes = list("carrots" = 3, "salt" = 1) /obj/item/weapon/reagent_containers/food/snacks/candiedapple name = "candied apple" @@ -119,6 +132,7 @@ bonus_reagents = list("nutriment" = 2, "sugar" = 3) list_reagents = list("nutriment" = 3, "sugar" = 2) filling_color = "#FF4500" + tastes = list("apple" = 2, "sweetness" = 2) /obj/item/weapon/reagent_containers/food/snacks/mint name = "mint" @@ -136,6 +150,7 @@ bonus_reagents = list("nutriment" = 1, "vitamin" = 3) list_reagents = list("nutriment" = 5) filling_color = "#F0E68C" + tastes = list("egg" = 1) /obj/item/weapon/reagent_containers/food/snacks/beans name = "tin of beans" @@ -144,6 +159,7 @@ bonus_reagents = list("nutriment" = 1, "vitamin" = 1) list_reagents = list("nutriment" = 10) filling_color = "#B22222" + tastes = list("beans" = 1) /obj/item/weapon/reagent_containers/food/snacks/spidereggs name = "spider eggs" @@ -151,6 +167,7 @@ icon_state = "spidereggs" list_reagents = list("nutriment" = 2, "toxin" = 2) filling_color = "#008000" + tastes = list("cobwebs" = 1) /obj/item/weapon/reagent_containers/food/snacks/chococoin name = "chocolate coin" @@ -159,6 +176,7 @@ bonus_reagents = list("nutriment" = 1, "sugar" = 1) list_reagents = list("nutriment" = 3, "cocoa" = 1) filling_color = "#A0522D" + tastes = list("chocolate" = 1) /obj/item/weapon/reagent_containers/food/snacks/fudgedice name = "fudge dice" @@ -168,6 +186,7 @@ list_reagents = list("nutriment" = 3, "cocoa" = 1) filling_color = "#A0522D" trash = /obj/item/weapon/dice/fudge + tastes = list("fudge" = 1) /obj/item/weapon/reagent_containers/food/snacks/chocoorange name = "chocolate orange" @@ -176,6 +195,7 @@ bonus_reagents = list("nutriment" = 1, "sugar" = 1) list_reagents = list("nutriment" = 3, "sugar" = 1) filling_color = "#A0522D" + tastes = list("chocolate" = 3, "oranges" = 1) /obj/item/weapon/reagent_containers/food/snacks/eggplantparm name = "eggplant parmigiana" @@ -185,6 +205,7 @@ bonus_reagents = list("nutriment" = 1, "vitamin" = 3) list_reagents = list("nutriment" = 6, "vitamin" = 2) filling_color = "#BA55D3" + tastes = list("eggplant" = 3, "cheese" = 1) /obj/item/weapon/reagent_containers/food/snacks/tortilla name = "tortilla" @@ -193,6 +214,7 @@ icon_state = "tortilla" list_reagents = list("nutriment" = 3, "vitamin" = 1) filling_color = "#FFEFD5" + tastes = list("tortilla" = 1) /obj/item/weapon/reagent_containers/food/snacks/burrito name = "burrito" @@ -201,6 +223,7 @@ bonus_reagents = list("nutriment" = 2, "vitamin" = 2) list_reagents = list("nutriment" = 4, "vitamin" = 1) filling_color = "#FFEFD5" + tastes = list("torilla" = 2, "meat" = 3) /obj/item/weapon/reagent_containers/food/snacks/cheesyburrito name = "cheesy burrito" @@ -209,6 +232,7 @@ bonus_reagents = list("nutriment" = 1, "vitamin" = 2) list_reagents = list("nutriment" = 4, "vitamin" = 2) filling_color = "#FFD800" + tastes = list("torilla" = 2, "meat" = 3, "cheese" = 1) /obj/item/weapon/reagent_containers/food/snacks/carneburrito name = "carne asada burrito" @@ -217,6 +241,7 @@ bonus_reagents = list("nutriment" = 2, "vitamin" = 1) list_reagents = list("nutriment" = 5, "vitamin" = 1) filling_color = "#A0522D" + tastes = list("torilla" = 2, "meat" = 4) /obj/item/weapon/reagent_containers/food/snacks/fuegoburrito name = "fuego plasma burrito" @@ -225,6 +250,7 @@ bonus_reagents = list("nutriment" = 2, "vitamin" = 3) list_reagents = list("nutriment" = 4, "capsaicin" = 5, "vitamin" = 3) filling_color = "#FF2000" + tastes = list("torilla" = 2, "meat" = 3, "hot peppers" = 1) /obj/item/weapon/reagent_containers/food/snacks/yakiimo name = "yaki imo" @@ -233,6 +259,7 @@ trash = /obj/item/trash/plate list_reagents = list("nutriment" = 5, "vitamin" = 4) filling_color = "#8B1105" + tastes = list("sweet potato" = 1) /obj/item/weapon/reagent_containers/food/snacks/roastparsnip name = "roast parsnip" @@ -241,6 +268,7 @@ trash = /obj/item/trash/plate list_reagents = list("nutriment" = 3, "vitamin" = 4) filling_color = "#FF5500" + tastes = list("parsnip" = 1) /obj/item/weapon/reagent_containers/food/snacks/melonfruitbowl name = "melon fruit bowl" @@ -250,6 +278,7 @@ list_reagents = list("nutriment" = 6, "vitamin" = 4) filling_color = "#FF5500" w_class = WEIGHT_CLASS_NORMAL + tastes = list("melon" = 1) /obj/item/weapon/reagent_containers/food/snacks/spacefreezy name = "space freezy" @@ -258,6 +287,7 @@ bonus_reagents = list("nutriment" = 2, "vitamin" = 2) list_reagents = list("nutriment" = 6, "bluecherryjelly" = 5, "vitamin" = 4) filling_color = "#87CEFA" + tastes = list("blue cherries" = 2, "ice cream" = 2) /obj/item/weapon/reagent_containers/food/snacks/sundae name = "sundae" @@ -266,6 +296,7 @@ bonus_reagents = list("nutriment" = 2, "vitamin" = 1) list_reagents = list("nutriment" = 6, "banana" = 5, "vitamin" = 2) filling_color = "#FFFACD" + tastes = list("ice cream" = 1, "banana" = 1) /obj/item/weapon/reagent_containers/food/snacks/honkdae name = "honkdae" @@ -274,6 +305,7 @@ bonus_reagents = list("nutriment" = 2, "vitamin" = 2) list_reagents = list("nutriment" = 6, "banana" = 10, "vitamin" = 4) filling_color = "#FFFACD" + tastes = list("ice cream" = 1, "banana" = 1, "a bad joke" = 1) /obj/item/weapon/reagent_containers/food/snacks/nachos name = "nachos" @@ -282,6 +314,7 @@ bonus_reagents = list("nutriment" = 1, "vitamin" = 1) list_reagents = list("nutriment" = 6, "vitamin" = 2) filling_color = "#F4A460" + tastes = list("nachos" = 1) /obj/item/weapon/reagent_containers/food/snacks/cheesynachos name = "cheesy nachos" @@ -290,6 +323,7 @@ bonus_reagents = list("nutriment" = 1, "vitamin" = 2) list_reagents = list("nutriment" = 6, "vitamin" = 3) filling_color = "#FFD700" + tastes = list("nachos" = 2, "cheese" = 1) /obj/item/weapon/reagent_containers/food/snacks/cubannachos name = "cuban nachos" @@ -298,6 +332,7 @@ bonus_reagents = list("nutriment" = 2, "vitamin" = 3) list_reagents = list("nutriment" = 7, "capsaicin" = 8, "vitamin" = 4) filling_color = "#DC143C" + tastes = list("nachos" = 2, "hot pepper" = 1) /obj/item/weapon/reagent_containers/food/snacks/melonkeg name = "melon keg" @@ -308,6 +343,7 @@ filling_color = "#FFD700" volume = 80 bitesize = 5 + tastes = list("grain alcohol" = 1, "fruit" = 1) /obj/item/weapon/reagent_containers/food/snacks/honeybar name = "honey nut bar" @@ -316,6 +352,7 @@ bonus_reagents = list("nutriment" = 2, "honey" = 2, "vitamin" = 2) list_reagents = list("nutriment" = 5, "honey" = 5) filling_color = "#F2CE91" + tastes = list("oats" = 3, "nuts" = 2, "honey" = 1) /obj/item/weapon/reagent_containers/food/snacks/stuffedlegion name = "stuffed legion" @@ -323,6 +360,7 @@ icon_state = "stuffed_legion" bonus_reagents = list("vitamin" = 3, "capsaicin" = 1, "tricordrazine" = 5) list_reagents = list("nutriment" = 5, "vitamin" = 5, "capsaicin" = 2, "tricordrazine" = 10) + tastes = list("death" = 2, "rock" = 1, "meat" = 1, "hot peppers" = 1) /obj/item/weapon/reagent_containers/food/snacks/powercrepe @@ -337,6 +375,7 @@ armour_penetration = 75 attack_verb = list("slapped", "slathered") w_class = WEIGHT_CLASS_BULKY + tastes = list("cherry" = 1, "crepe" = 1) /obj/item/weapon/reagent_containers/food/snacks/lollipop name = "lollipop" @@ -346,6 +385,7 @@ list_reagents = list("nutriment" = 1, "vitamin" = 1, "iron" = 10, "sugar" = 5, "omnizine" = 2) //Honk var/image/head var/headcolor = rgb(0, 0, 0) + tastes = list("candy" = 1) /obj/item/weapon/reagent_containers/food/snacks/lollipop/New() ..() @@ -384,6 +424,7 @@ icon = 'icons/obj/lollipop.dmi' icon_state = "gumball" list_reagents = list("sugar" = 5, "bicaridine" = 2, "kelotane" = 2) //Kek + tastes = list("candy") /obj/item/weapon/reagent_containers/food/snacks/gumball/New() ..() @@ -411,12 +452,14 @@ bonus_reagents = list("nutriment" = 3, "vitamin" = 2) list_reagents = list("nutriment" = 4, "vitamin" = 2) filling_color = "F0D830" + tastes = list("taco" = 4, "meat" = 2, "cheese" = 2, "lettuce" = 1) /obj/item/weapon/reagent_containers/food/snacks/taco/plain desc = "A traditional taco with meat and cheese, minus the rabbit food." icon_state = "taco_plain" bonus_reagents = list("nutriment" = 2, "vitamin" = 2) list_reagents = list("nutriment" = 3, "vitamin" = 1) + tastes = list("taco" = 4, "meat" = 2, "cheese" = 2) /obj/item/weapon/reagent_containers/food/snacks/branrequests name = "Bran Requests Cereal" @@ -424,3 +467,4 @@ icon_state = "bran_requests" list_reagents = list("nutriment" = 3, "vitamin" = 2, "sodiumchloride" = 5) bonus_reagents = list("sodiumchloride" = 10) + tastes = list("bran" = 4, "raisins" = 3, "salt" = 1) diff --git a/code/modules/food_and_drinks/food/snacks_pastry.dm b/code/modules/food_and_drinks/food/snacks_pastry.dm index 58c69868080..76ef327bb6e 100644 --- a/code/modules/food_and_drinks/food/snacks_pastry.dm +++ b/code/modules/food_and_drinks/food/snacks_pastry.dm @@ -11,6 +11,7 @@ list_reagents = list("nutriment" = 3, "sugar" = 2) var/extra_reagent = null filling_color = "#D2691E" + tastes = list("donut" = 1) /obj/item/weapon/reagent_containers/food/snacks/donut/New() ..() @@ -25,6 +26,7 @@ name = "chaos donut" desc = "Like life, it never quite tastes the same." bitesize = 10 + tastes = list("donut" = 3, "chaos" = 1) /obj/item/weapon/reagent_containers/food/snacks/donut/chaos/New() ..() @@ -44,6 +46,7 @@ icon_state = "jdonut1" bonus_reagents = list("sugar" = 1, "vitamin" = 1) extra_reagent = "berryjuice" + tastes = list("jelly" = 1, "donut" = 3) /obj/item/weapon/reagent_containers/food/snacks/donut/jelly/New() ..() @@ -77,17 +80,20 @@ bonus_reagents = list("vitamin" = 1) list_reagents = list("nutriment" = 6) filling_color = "#F4A460" + tastes = list("muffin" = 1) /obj/item/weapon/reagent_containers/food/snacks/muffin/berry name = "berry muffin" icon_state = "berrymuffin" desc = "A delicious and spongy little cake, with berries." + tastes = list("muffin" = 3, "berry" = 1) /obj/item/weapon/reagent_containers/food/snacks/muffin/booberry name = "booberry muffin" icon_state = "berrymuffin" alpha = 125 desc = "My stomach is a graveyard! No living being can quench my bloodthirst!" + tastes = list("muffin" = 3, "spookiness" = 1) /obj/item/weapon/reagent_containers/food/snacks/chawanmushi name = "chawanmushi" @@ -96,6 +102,7 @@ bonus_reagents = list("vitamin" = 1) list_reagents = list("nutriment" = 5) filling_color = "#FFE4E1" + tastes = list("custard" = 1) ////////////////////////////////////////////WAFFLES//////////////////////////////////////////// @@ -107,6 +114,7 @@ bonus_reagents = list("vitamin" = 1) list_reagents = list("nutriment" = 8, "vitamin" = 1) filling_color = "#D2691E" + tastes = list("waffles" = 1) /obj/item/weapon/reagent_containers/food/snacks/soylentgreen name = "\improper Soylent Green" @@ -116,6 +124,7 @@ bonus_reagents = list("vitamin" = 1) list_reagents = list("nutriment" = 10, "vitamin" = 1) filling_color = "#9ACD32" + tastes = list("waffles" = 7, "people" = 1) /obj/item/weapon/reagent_containers/food/snacks/soylenviridians name = "\improper Soylent Virdians" @@ -125,6 +134,7 @@ bonus_reagents = list("vitamin" = 1) list_reagents = list("nutriment" = 10, "vitamin" = 1) filling_color = "#9ACD32" + tastes = list("waffles" = 7, "the colour green" = 1) /obj/item/weapon/reagent_containers/food/snacks/rofflewaffles name = "roffle waffles" @@ -135,6 +145,7 @@ bonus_reagents = list("vitamin" = 2) list_reagents = list("nutriment" = 8, "mushroomhallucinogen" = 2, "vitamin" = 2) filling_color = "#00BFFF" + tastes = list("waffle" = 1, "mushrooms" = 1) ////////////////////////////////////////////OTHER//////////////////////////////////////////// @@ -146,6 +157,7 @@ bonus_reagents = list("nutriment" = 1) list_reagents = list("nutriment" = 1) filling_color = "#F0E68C" + tastes = list("cookie" = 1) /obj/item/weapon/reagent_containers/food/snacks/donkpocket name = "\improper Donk-pocket" @@ -154,12 +166,14 @@ list_reagents = list("nutriment" = 4) cooked_type = /obj/item/weapon/reagent_containers/food/snacks/donkpocket/warm filling_color = "#CD853F" + tastes = list("meat" = 2, "dough" = 2, "laziness" = 1) /obj/item/weapon/reagent_containers/food/snacks/donkpocket/warm name = "warm Donk-pocket" desc = "The heated food of choice for the seasoned traitor." bonus_reagents = list("omnizine" = 3) list_reagents = list("nutriment" = 4, "omnizine" = 3) + tastes = list("meat" = 2, "dough" = 2, "laziness" = 1) /obj/item/weapon/reagent_containers/food/snacks/dankpocket name = "\improper Dank-pocket" @@ -167,6 +181,7 @@ icon_state = "dankpocket" list_reagents = list("lipolicide" = 3, "space_drugs" = 3, "nutriment" = 4) filling_color = "#00FF00" + tastes = list("meat" = 2, "dough" = 2) /obj/item/weapon/reagent_containers/food/snacks/fortunecookie name = "fortune cookie" @@ -175,6 +190,7 @@ bonus_reagents = list("nutriment" = 2) list_reagents = list("nutriment" = 3) filling_color = "#F4A460" + tastes = list("cookie" = 1) /obj/item/weapon/reagent_containers/food/snacks/poppypretzel name = "poppy pretzel" @@ -183,6 +199,7 @@ bonus_reagents = list("nutriment" = 1, "vitamin" = 2) list_reagents = list("nutriment" = 5) filling_color = "#F0E68C" + tastes = list("pretzel" = 1) /obj/item/weapon/reagent_containers/food/snacks/plumphelmetbiscuit name = "plump helmet biscuit" @@ -191,14 +208,17 @@ bonus_reagents = list("nutriment" = 1, "vitamin" = 1) list_reagents = list("nutriment" = 5) filling_color = "#F0E68C" + tastes = list("mushroom" = 1, "biscuit" = 1) /obj/item/weapon/reagent_containers/food/snacks/plumphelmetbiscuit/New() - ..() - if(prob(10)) + var/fey = prob(10) + if(fey) name = "exceptional plump helmet biscuit" desc = "Microwave is taken by a fey mood! It has cooked an exceptional plump helmet biscuit!" - reagents.add_reagent("omnizine", 5) bonus_reagents = list("omnizine" = 5, "nutriment" = 1, "vitamin" = 1) + ..() + if(fey) + reagents.add_reagent("omnizine", 5) /obj/item/weapon/reagent_containers/food/snacks/cracker name = "cracker" @@ -208,6 +228,7 @@ bonus_reagents = list("nutriment" = 1) list_reagents = list("nutriment" = 1) filling_color = "#F0E68C" + tastes = list("cracker" = 1) /obj/item/weapon/reagent_containers/food/snacks/hotdog name = "hotdog" @@ -217,6 +238,7 @@ bonus_reagents = list("nutriment" = 1, "vitamin" = 3) list_reagents = list("nutriment" = 6, "ketchup" = 3, "vitamin" = 3) filling_color = "#8B0000" + tastes = list("bun" = 3, "meat" = 2) /obj/item/weapon/reagent_containers/food/snacks/meatbun name = "meat bun" @@ -225,6 +247,7 @@ bonus_reagents = list("nutriment" = 1, "vitamin" = 2) list_reagents = list("nutriment" = 6, "vitamin" = 2) filling_color = "#8B0000" + tastes = list("bun" = 3, "meat" = 2) /obj/item/weapon/reagent_containers/food/snacks/khachapuri name = "khachapuri" @@ -232,6 +255,7 @@ icon_state = "khachapuri" list_reagents = list("nutriment" = 12, "vitamin" = 2) filling_color = "#FFFF4D" + tastes = list("bread" = 1, "egg" = 1, "cheese" = 1) /obj/item/weapon/reagent_containers/food/snacks/sugarcookie @@ -241,6 +265,7 @@ bonus_reagents = list("nutriment" = 1, "sugar" = 3) list_reagents = list("nutriment" = 3, "sugar" = 3) filling_color = "#CD853F" + tastes = list("sweetness" = 1) /obj/item/weapon/reagent_containers/food/snacks/chococornet name = "chocolate cornet" @@ -249,6 +274,7 @@ bonus_reagents = list("nutriment" = 1, "vitamin" = 1) list_reagents = list("nutriment" = 5, "vitamin" = 1) filling_color = "#FFE4C4" + tastes = list("biscuit" = 3, "chocolate" = 1) /obj/item/weapon/reagent_containers/food/snacks/oatmealcookie name = "oatmeal cookie" @@ -257,6 +283,7 @@ bonus_reagents = list("nutriment" = 1, "vitamin" = 1) list_reagents = list("nutriment" = 5, "vitamin" = 1) filling_color = "#D2691E" + tastes = list("cookie" = 2, "oat" = 1) /obj/item/weapon/reagent_containers/food/snacks/raisincookie name = "raisin cookie" @@ -265,6 +292,7 @@ bonus_reagents = list("nutriment" = 1, "vitamin" = 1) list_reagents = list("nutriment" = 5, "vitamin" = 1) filling_color = "#F0E68C" + tastes = list("cookie" = 1, "raisins" = 1) /obj/item/weapon/reagent_containers/food/snacks/cherrycupcake name = "cherry cupcake" @@ -273,6 +301,7 @@ bonus_reagents = list("nutriment" = 1, "vitamin" = 1) list_reagents = list("nutriment" = 5, "vitamin" = 1) filling_color = "#F0E68C" + tastes = list("cake" = 3, "cherry" = 1) /obj/item/weapon/reagent_containers/food/snacks/bluecherrycupcake name = "blue cherry cupcake" @@ -281,6 +310,7 @@ bonus_reagents = list("nutriment" = 1, "vitamin" = 3) list_reagents = list("nutriment" = 5, "vitamin" = 1) filling_color = "#F0E68C" + tastes = list("cake" = 3, "blue cherry" = 1) /obj/item/weapon/reagent_containers/food/snacks/honeybun name = "honey bun" @@ -288,4 +318,5 @@ icon_state = "honeybun" bonus_reagents = list("nutriment" = 1, "honey" = 1) list_reagents = list("nutriment" = 5, "honey" = 5) - filling_color = "#F2CE91" \ No newline at end of file + filling_color = "#F2CE91" + tastes = list("pastry" = 1, "sweetness" = 1) diff --git a/code/modules/food_and_drinks/food/snacks_pie.dm b/code/modules/food_and_drinks/food/snacks_pie.dm index 2626c3b679d..68ccce9f2f4 100644 --- a/code/modules/food_and_drinks/food/snacks_pie.dm +++ b/code/modules/food_and_drinks/food/snacks_pie.dm @@ -6,6 +6,7 @@ w_class = WEIGHT_CLASS_NORMAL volume = 80 list_reagents = list("nutriment" = 10, "vitamin" = 2) + tastes = list("pie" = 1) /obj/item/weapon/reagent_containers/food/snacks/pie/plain name = "plain pie" @@ -13,6 +14,7 @@ icon_state = "pie" custom_food_type = /obj/item/weapon/reagent_containers/food/snacks/customizable/pie bonus_reagents = list("nutriment" = 8, "vitamin" = 1) + tastes = list("pie" = 1) /obj/item/weapon/reagent_containers/food/snacks/pie/cream name = "banana cream pie" @@ -21,6 +23,7 @@ trash = /obj/item/trash/plate bonus_reagents = list("nutriment" = 2, "vitamin" = 2) list_reagents = list("nutriment" = 6, "banana" = 5, "vitamin" = 2) + tastes = list("pie" = 1) /obj/item/weapon/reagent_containers/food/snacks/pie/cream/throw_impact(atom/hit_atom) if(!..()) //was it caught by a mob? @@ -49,6 +52,7 @@ icon_state = "berryclafoutis" bonus_reagents = list("nutriment" = 1, "vitamin" = 2) list_reagents = list("nutriment" = 10, "berryjuice" = 5, "vitamin" = 2) + tastes = list("pie" = 1, "blackberries" = 1) /obj/item/weapon/reagent_containers/food/snacks/pie/bearypie name = "beary pie" @@ -56,12 +60,14 @@ icon_state = "bearypie" bonus_reagents = list("nutriment" = 2, "vitamin" = 3) list_reagents = list("nutriment" = 2, "vitamin" = 3) + tastes = list("pie" = 1, "meat" = 1, "salmon" = 1) /obj/item/weapon/reagent_containers/food/snacks/pie/meatpie name = "meat-pie" icon_state = "meatpie" desc = "An old barber recipe, very delicious!" bonus_reagents = list("nutriment" = 1, "vitamin" = 5) + tastes = list("pie" = 1, "meat" = 1) /obj/item/weapon/reagent_containers/food/snacks/pie/tofupie @@ -69,6 +75,7 @@ icon_state = "meatpie" desc = "A delicious tofu pie." bonus_reagents = list("nutriment" = 1, "vitamin" = 2) + tastes = list("pie" = 1, "tofu" = 1) /obj/item/weapon/reagent_containers/food/snacks/pie/amanita_pie @@ -78,6 +85,7 @@ bitesize = 4 bonus_reagents = list("nutriment" = 1, "vitamin" = 4) list_reagents = list("nutriment" = 6, "amatoxin" = 3, "mushroomhallucinogen" = 1, "vitamin" = 4) + tastes = list("pie" = 1, "mushroom" = 1) /obj/item/weapon/reagent_containers/food/snacks/pie/plump_pie @@ -85,14 +93,18 @@ desc = "I bet you love stuff made out of plump helmets!" icon_state = "plump_pie" bonus_reagents = list("nutriment" = 1, "vitamin" = 4) + tastes = list("pie" = 1, "mushroom" = 1) + /obj/item/weapon/reagent_containers/food/snacks/pie/plump_pie/New() - ..() - if(prob(10)) + var/fey = prob(10) + if(fey) name = "exceptional plump pie" desc = "Microwave is taken by a fey mood! It has cooked an exceptional plump pie!" - reagents.add_reagent("omnizine", 5) bonus_reagents = list("nutriment" = 1, "omnizine" = 5, "vitamin" = 4) + ..() + if(fey) + reagents.add_reagent("omnizine", 5) /obj/item/weapon/reagent_containers/food/snacks/pie/xemeatpie @@ -101,6 +113,7 @@ desc = "A delicious meatpie. Probably heretical." trash = /obj/item/trash/plate bonus_reagents = list("nutriment" = 1, "vitamin" = 5) + tastes = list("pie" = 1, "meat" = 1, "acid" = 1) /obj/item/weapon/reagent_containers/food/snacks/pie/applepie @@ -108,6 +121,7 @@ desc = "A pie containing sweet sweet love...or apple." icon_state = "applepie" bonus_reagents = list("nutriment" = 1, "vitamin" = 3) + tastes = list("pie" = 1, "apple" = 1) @@ -116,6 +130,7 @@ desc = "Taste so good, make a grown man cry." icon_state = "cherrypie" bonus_reagents = list("nutriment" = 1, "vitamin" = 2) + tastes = list("pie" = 7, "Nicole Paige Brooks" = 2) /obj/item/weapon/reagent_containers/food/snacks/pie/pumpkinpie @@ -125,6 +140,7 @@ slice_path = /obj/item/weapon/reagent_containers/food/snacks/pumpkinpieslice slices_num = 5 bonus_reagents = list("nutriment" = 1, "vitamin" = 5) + tastes = list("pie" = 1, "pumpkin" = 1) /obj/item/weapon/reagent_containers/food/snacks/pumpkinpieslice name = "pumpkin pie slice" @@ -134,6 +150,7 @@ trash = /obj/item/trash/plate filling_color = "#FFA500" list_reagents = list("nutriment" = 2) + tastes = list("pie" = 1, "pumpkin" = 1) /obj/item/weapon/reagent_containers/food/snacks/pie/appletart name = "golden apple streusel tart" @@ -141,6 +158,7 @@ icon_state = "gappletart" bonus_reagents = list("nutriment" = 1, "vitamin" = 4) list_reagents = list("nutriment" = 8, "gold" = 5, "vitamin" = 4) + tastes = list("pie" = 1, "apple" = 1, "expensive metal" = 1) /obj/item/weapon/reagent_containers/food/snacks/pie/grapetart name = "grape tart" @@ -148,6 +166,7 @@ icon_state = "grapetart" bonus_reagents = list("nutriment" = 1, "vitamin" = 4) list_reagents = list("nutriment" = 4, "vitamin" = 4) + tastes = list("pie" = 1, "grape" = 1) /obj/item/weapon/reagent_containers/food/snacks/pie/blumpkinpie name = "blumpkin pie" @@ -156,6 +175,7 @@ slice_path = /obj/item/weapon/reagent_containers/food/snacks/blumpkinpieslice slices_num = 5 bonus_reagents = list("nutriment" = 3, "vitamin" = 6) + tastes = list("pie" = 1, "a mouthful of pool water" = 1) /obj/item/weapon/reagent_containers/food/snacks/blumpkinpieslice name = "blumpkin pie slice" @@ -165,6 +185,7 @@ trash = /obj/item/trash/plate filling_color = "#1E90FF" list_reagents = list("nutriment" = 2) + tastes = list("pie" = 1, "a mouthful of pool water" = 1) /obj/item/weapon/reagent_containers/food/snacks/pie/dulcedebatata name = "dulce de batata" @@ -173,6 +194,7 @@ slice_path = /obj/item/weapon/reagent_containers/food/snacks/dulcedebatataslice slices_num = 5 bonus_reagents = list("nutriment" = 4, "vitamin" = 8) + tastes = list("jelly" = 1, "sweet potato" = 1) /obj/item/weapon/reagent_containers/food/snacks/dulcedebatataslice name = "dulce de batata slice" @@ -182,9 +204,11 @@ trash = /obj/item/trash/plate filling_color = "#8B4513" list_reagents = list("nutriment" = 2) + tastes = list("jelly" = 1, "sweet potato" = 1) /obj/item/weapon/reagent_containers/food/snacks/pie/frostypie name = "frosty pie" desc = "Tastes like blue and cold." icon_state = "frostypie" bonus_reagents = list("nutriment" = 4, "vitamin" = 6) + tastes = list("mint" = 1, "pie" = 1) diff --git a/code/modules/food_and_drinks/food/snacks_pizza.dm b/code/modules/food_and_drinks/food/snacks_pizza.dm index b701fb1916f..ab476c10441 100644 --- a/code/modules/food_and_drinks/food/snacks_pizza.dm +++ b/code/modules/food_and_drinks/food/snacks_pizza.dm @@ -7,6 +7,7 @@ slices_num = 6 volume = 80 list_reagents = list("nutriment" = 30, "tomatojuice" = 6, "vitamin" = 5) + tastes = list("crust" = 1, "tomato" = 1, "cheese" = 1) /obj/item/weapon/reagent_containers/food/snacks/pizzaslice icon = 'icons/obj/food/pizzaspaghetti.dmi' @@ -18,12 +19,14 @@ icon_state = "pizzamargherita" slice_path = /obj/item/weapon/reagent_containers/food/snacks/pizzaslice/margherita bonus_reagents = list("nutriment" = 5, "vitamin" = 5) + tastes = list("crust" = 1, "tomato" = 1, "cheese" = 1) /obj/item/weapon/reagent_containers/food/snacks/pizzaslice/margherita name = "margherita slice" desc = "A slice of the most cheezy pizza in galaxy." icon_state = "pizzamargheritaslice" filling_color = "#FFA500" + tastes = list("crust" = 1, "tomato" = 1, "cheese" = 1) /obj/item/weapon/reagent_containers/food/snacks/pizza/meat name = "meatpizza" @@ -32,12 +35,14 @@ slice_path = /obj/item/weapon/reagent_containers/food/snacks/pizzaslice/meat bonus_reagents = list("nutriment" = 5, "vitamin" = 8) list_reagents = list("nutriment" = 30, "tomatojuice" = 6, "vitamin" = 8) + tastes = list("crust" = 1, "tomato" = 1, "cheese" = 1, "meat" = 1) /obj/item/weapon/reagent_containers/food/snacks/pizzaslice/meat name = "meatpizza slice" desc = "A nutritious slice of meatpizza." icon_state = "meatpizzaslice" filling_color = "#A52A2A" + tastes = list("crust" = 1, "tomato" = 1, "cheese" = 1, "meat" = 1) /obj/item/weapon/reagent_containers/food/snacks/pizza/mushroom name = "mushroom pizza" @@ -46,12 +51,14 @@ slice_path = /obj/item/weapon/reagent_containers/food/snacks/pizzaslice/mushroom bonus_reagents = list("nutriment" = 5, "vitamin" = 5) list_reagents = list("nutriment" = 30, "vitamin" = 5) + tastes = list("crust" = 1, "tomato" = 1, "cheese" = 1, "mushroom" = 1) /obj/item/weapon/reagent_containers/food/snacks/pizzaslice/mushroom name = "mushroom pizza slice" desc = "Maybe it is the last slice of pizza in your life." icon_state = "mushroompizzaslice" filling_color = "#FFE4C4" + tastes = list("crust" = 1, "tomato" = 1, "cheese" = 1, "mushroom" = 1) /obj/item/weapon/reagent_containers/food/snacks/pizza/vegetable name = "vegetable pizza" @@ -60,12 +67,14 @@ slice_path = /obj/item/weapon/reagent_containers/food/snacks/pizzaslice/vegetable bonus_reagents = list("nutriment" = 5, "vitamin" = 5) list_reagents = list("nutriment" = 25, "tomatojuice" = 6, "oculine" = 12, "vitamin" = 5) + tastes = list("crust" = 1, "tomato" = 2, "cheese" = 1, "carrot" = 1) /obj/item/weapon/reagent_containers/food/snacks/pizzaslice/vegetable name = "vegetable pizza slice" desc = "A slice of the most green pizza of all pizzas not containing green ingredients." icon_state = "vegetablepizzaslice" filling_color = "#FFA500" + tastes = list("crust" = 1, "tomato" = 2, "cheese" = 1, "carrot" = 1) /obj/item/weapon/reagent_containers/food/snacks/pizza/donkpocket name = "donkpocket pizza" @@ -74,12 +83,14 @@ slice_path = /obj/item/weapon/reagent_containers/food/snacks/pizzaslice/donkpocket bonus_reagents = list("nutriment" = 5, "vitamin" = 5) list_reagents = list("nutriment" = 25, "tomatojuice" = 6, "omnizine" = 10, "vitamin" = 5) + tastes = list("crust" = 1, "tomato" = 1, "cheese" = 1, "meat" = 1, "laziness" = 1) /obj/item/weapon/reagent_containers/food/snacks/pizzaslice/donkpocket name = "donkpocket pizza slice" desc = "Smells like donkpocket." icon_state = "donkpocketpizzaslice" filling_color = "#FFA500" + tastes = list("crust" = 1, "tomato" = 1, "cheese" = 1, "meat" = 1, "laziness" = 1) /obj/item/weapon/reagent_containers/food/snacks/pizza/dank name = "dank pizza" @@ -88,12 +99,14 @@ slice_path = /obj/item/weapon/reagent_containers/food/snacks/pizzaslice/dank bonus_reagents = list("nutriment" = 2, "vitamin" = 6) list_reagents = list("nutriment" = 25, "doctorsdelight" = 5, "tomatojuice" = 6, "vitamin" = 5) + tastes = list("crust" = 1, "tomato" = 1, "cheese" = 1, "meat" = 1) /obj/item/weapon/reagent_containers/food/snacks/pizzaslice/dank name = "dank pizza slice" desc = "So good, man..." icon_state = "dankpizzaslice" filling_color = "#2E8B57" + tastes = list("crust" = 1, "tomato" = 1, "cheese" = 1, "meat" = 1) /obj/item/weapon/reagent_containers/food/snacks/pizza/sassysage name = "sassysage pizza" @@ -101,12 +114,14 @@ icon_state = "sassysagepizza" slice_path = /obj/item/weapon/reagent_containers/food/snacks/pizzaslice/sassysage bonus_reagents = list("nutriment" = 6, "vitamin" = 6) + tastes = list("crust" = 1, "tomato" = 1, "cheese" = 1, "meat" = 1) /obj/item/weapon/reagent_containers/food/snacks/pizzaslice/sassysage name = "sassysage pizza slice" desc = "Deliciously sassy." icon_state = "sassysagepizzaslice" filling_color = "#FF4500" + tastes = list("crust" = 1, "tomato" = 1, "cheese" = 1, "meat" = 1) /obj/item/weapon/reagent_containers/food/snacks/pizzaslice/custom name = "pizza slice" diff --git a/code/modules/food_and_drinks/food/snacks_salad.dm b/code/modules/food_and_drinks/food/snacks_salad.dm index 5b0192d541c..f167452ef0a 100644 --- a/code/modules/food_and_drinks/food/snacks_salad.dm +++ b/code/modules/food_and_drinks/food/snacks_salad.dm @@ -6,6 +6,7 @@ bitesize = 3 w_class = WEIGHT_CLASS_NORMAL list_reagents = list("nutriment" = 7, "vitamin" = 2) + tastes = list("leaves" = 1) /obj/item/weapon/reagent_containers/food/snacks/salad/New() ..() @@ -17,6 +18,7 @@ icon_state = "aesirsalad" bonus_reagents = list("omnizine" = 2, "vitamin" = 6) list_reagents = list("nutriment" = 8, "omnizine" = 8, "vitamin" = 6) + tastes = list("leaves" = 1) /obj/item/weapon/reagent_containers/food/snacks/salad/herbsalad name = "herb salad" @@ -24,6 +26,7 @@ icon_state = "herbsalad" bonus_reagents = list("vitamin" = 4) list_reagents = list("nutriment" = 8, "vitamin" = 2) + tastes = list("leaves" = 1, "apple" = 1) /obj/item/weapon/reagent_containers/food/snacks/salad/validsalad name = "valid salad" @@ -31,6 +34,7 @@ icon_state = "validsalad" bonus_reagents = list("doctorsdelight" = 5, "vitamin" = 4) list_reagents = list("nutriment" = 8, "doctorsdelight" = 5, "vitamin" = 2) + tastes = list("leaves" = 1, "potato" = 1, "meat" = 1, "valids" = 1) /obj/item/weapon/reagent_containers/food/snacks/salad/oatmeal name = "oatmeal" @@ -38,12 +42,14 @@ icon_state = "oatmeal" bonus_reagents = list("nutriment" = 4, "vitamin" = 4) list_reagents = list("nutriment" = 7, "milk" = 10, "vitamin" = 2) + tastes = list("oats" = 1, "milk" = 1) /obj/item/weapon/reagent_containers/food/snacks/salad/fruit name = "fruit salad" desc = "Your standard fruit salad." icon_state = "fruitsalad" bonus_reagents = list("nutriment" = 2, "vitamin" = 4) + tastes = list("fruit" = 1) /obj/item/weapon/reagent_containers/food/snacks/salad/jungle name = "jungle salad" @@ -51,6 +57,7 @@ icon_state = "junglesalad" bonus_reagents = list("nutriment" = 4, "vitamin" = 4) list_reagents = list("nutriment" = 7, "banana" = 5, "vitamin" = 4) + tastes = list("fruit" = 1, "the jungle" = 1) /obj/item/weapon/reagent_containers/food/snacks/salad/citrusdelight name = "citrus delight" @@ -58,6 +65,7 @@ icon_state = "citrusdelight" bonus_reagents = list("nutriment" = 4, "vitamin" = 4) list_reagents = list("nutriment" = 7, "vitamin" = 5) + tastes = list("sourness" = 1, "leaves" = 1) /obj/item/weapon/reagent_containers/food/snacks/salad/ricebowl name = "ricebowl" @@ -65,6 +73,7 @@ icon_state = "ricebowl" cooked_type = /obj/item/weapon/reagent_containers/food/snacks/salad/boiledrice list_reagents = list("nutriment" = 4) + tastes = list("rice" = 1) /obj/item/weapon/reagent_containers/food/snacks/salad/boiledrice name = "boiled rice" @@ -72,21 +81,25 @@ icon_state = "boiledrice" bonus_reagents = list("nutriment" = 1, "vitamin" = 1) list_reagents = list("nutriment" = 5, "vitamin" = 1) + tastes = list("rice" = 1) /obj/item/weapon/reagent_containers/food/snacks/salad/ricepudding name = "rice pudding" desc = "Everybody loves rice pudding!" icon_state = "ricepudding" bonus_reagents = list("nutriment" = 4, "vitamin" = 2) + tastes = list("rice" = 1, "sweetness" = 1) /obj/item/weapon/reagent_containers/food/snacks/salad/ricepork name = "rice and pork" desc = "Well, it looks like pork..." icon_state = "riceporkbowl" bonus_reagents = list("nutriment" = 4, "vitamin" = 4) + tastes = list("rice" = 1, "meat" = 1) /obj/item/weapon/reagent_containers/food/snacks/salad/eggbowl name = "egg bowl" desc = "A bowl of rice with a fried egg." icon_state = "eggbowl" bonus_reagents = list("nutriment" = 4, "vitamin" = 4) + tastes = list("rice" = 1, "egg" = 1) diff --git a/code/modules/food_and_drinks/food/snacks_sandwichtoast.dm b/code/modules/food_and_drinks/food/snacks_sandwichtoast.dm index 0bbd127c103..9618ad28754 100644 --- a/code/modules/food_and_drinks/food/snacks_sandwichtoast.dm +++ b/code/modules/food_and_drinks/food/snacks_sandwichtoast.dm @@ -1,4 +1,3 @@ - /obj/item/weapon/reagent_containers/food/snacks/sandwich name = "sandwich" desc = "A grand creation of meat, cheese, bread, and several leaves of lettuce! Arthur Dent would be proud." @@ -8,6 +7,7 @@ bonus_reagents = list("nutriment" = 1, "vitamin" = 1) list_reagents = list("nutriment" = 6, "vitamin" = 1) cooked_type = /obj/item/weapon/reagent_containers/food/snacks/toastedsandwich + tastes = list("meat" = 2, "cheese" = 1, "bread" = 2, "lettuce" = 1) /obj/item/weapon/reagent_containers/food/snacks/toastedsandwich name = "toasted sandwich" @@ -17,6 +17,7 @@ trash = /obj/item/trash/plate bonus_reagents = list("nutriment" = 1, "carbon" = 2) list_reagents = list("nutriment" = 6, "carbon" = 2) + tastes = list("toast" = 1) /obj/item/weapon/reagent_containers/food/snacks/grilledcheese name = "grilled cheese sandwich" @@ -26,6 +27,7 @@ trash = /obj/item/trash/plate bonus_reagents = list("nutriment" = 1, "vitamin" = 1) list_reagents = list("nutriment" = 7, "vitamin" = 1) + tastes = list("toast" = 1, "cheese" = 1) /obj/item/weapon/reagent_containers/food/snacks/jellysandwich name = "jelly sandwich" @@ -34,6 +36,7 @@ icon_state = "jellysandwich" trash = /obj/item/trash/plate bitesize = 3 + tastes = list("bread" = 1, "jelly" = 1) /obj/item/weapon/reagent_containers/food/snacks/jellysandwich/slime bonus_reagents = list("slimejelly" = 5, "vitamin" = 2) @@ -50,6 +53,7 @@ icon_state = "icecreamsandwich" bonus_reagents = list("nutriment" = 1, "ice" = 2) list_reagents = list("nutriment" = 2, "ice" = 2) + tastes = list("ice cream" = 1) /obj/item/weapon/reagent_containers/food/snacks/notasandwich name = "not-a-sandwich" @@ -59,14 +63,16 @@ trash = /obj/item/trash/plate bonus_reagents = list("vitamin" = 6) list_reagents = list("nutriment" = 6, "vitamin" = 6) + tastes = list("nothing suspicious" = 1) /obj/item/weapon/reagent_containers/food/snacks/jelliedtoast name = "jellied toast" - desc = "A slice of bread covered with delicious jam." + desc = "A slice of toast covered with delicious jam." icon = 'icons/obj/food/burgerbread.dmi' icon_state = "jellytoast" trash = /obj/item/trash/plate bitesize = 3 + tastes = list("toast" = 1, "jelly" = 1) /obj/item/weapon/reagent_containers/food/snacks/jelliedtoast/cherry bonus_reagents = list("cherryjelly" = 5, "vitamin" = 2) @@ -83,3 +89,4 @@ icon_state = "twobread" bonus_reagents = list("nutriment" = 1, "vitamin" = 2) list_reagents = list("nutriment" = 2, "vitamin" = 2) + tastes = list("bread" = 2) diff --git a/code/modules/food_and_drinks/food/snacks_soup.dm b/code/modules/food_and_drinks/food/snacks_soup.dm index 6ded3dfcc2f..79df428ebb7 100644 --- a/code/modules/food_and_drinks/food/snacks_soup.dm +++ b/code/modules/food_and_drinks/food/snacks_soup.dm @@ -5,6 +5,7 @@ bitesize = 5 volume = 80 list_reagents = list("nutriment" = 8, "water" = 5, "vitamin" = 4) + tastes = list("tasteless soup" = 1) /obj/item/weapon/reagent_containers/food/snacks/soup/New() ..() @@ -15,20 +16,24 @@ desc = "I wish this was soup." icon_state = "wishsoup" list_reagents = list("water" = 10) + tastes = list("wishes" = 1) /obj/item/weapon/reagent_containers/food/snacks/soup/wish/New() - ..() - if(prob(25)) + var/wish_true = prob(25) + if(wish_true) desc = "A wish come true!" + bonus_reagents = list("nutriment" = 9, "vitamin" = 1) + ..() + if(wish_true) reagents.add_reagent("nutriment", 9) reagents.add_reagent("vitamin", 1) - bonus_reagents = list("nutriment" = 9, "vitamin" = 1) /obj/item/weapon/reagent_containers/food/snacks/soup/meatball name = "meatball soup" desc = "You've got balls kid, BALLS!" icon_state = "meatballsoup" bonus_reagents = list("nutriment" = 1, "vitamin" = 5) + tastes = list("meat" = 1) /obj/item/weapon/reagent_containers/food/snacks/soup/slime name = "slime soup" @@ -36,6 +41,7 @@ icon_state = "slimesoup" bonus_reagents = list("nutriment" = 1, "slimejelly" = 5, "vitamin" = 5) list_reagents = list("nutriment" = 5, "slimejelly" = 5, "water" = 5, "vitamin" = 4) + tastes = list("slime" = 1) /obj/item/weapon/reagent_containers/food/snacks/soup/blood name = "tomato soup" @@ -43,6 +49,7 @@ icon_state = "tomatosoup" bonus_reagents = list("nutriment" = 1, "vitamin" = 6) list_reagents = list("nutriment" = 2, "blood" = 10, "water" = 5, "vitamin" = 4) + tastes = list("iron" = 1) /obj/item/weapon/reagent_containers/food/snacks/soup/wingfangchu name = "wing fang chu" @@ -51,6 +58,7 @@ trash = /obj/item/weapon/reagent_containers/glass/bowl bonus_reagents = list("nutriment" = 1, "vitamin" = 2) list_reagents = list("nutriment" = 6, "soysauce" = 5, "vitamin" = 2) + tastes = list("soy" = 1) /obj/item/weapon/reagent_containers/food/snacks/soup/clownstears name = "clown's tears" @@ -58,18 +66,21 @@ icon_state = "clownstears" bonus_reagents = list("nutriment" = 1, "banana" = 5, "vitamin" = 8) list_reagents = list("nutriment" = 4, "banana" = 5, "water" = 5, "vitamin" = 8) + tastes = list("a bad joke" = 1) /obj/item/weapon/reagent_containers/food/snacks/soup/vegetable name = "vegetable soup" desc = "A true vegan meal." icon_state = "vegetablesoup" bonus_reagents = list("nutriment" = 1, "vitamin" = 4) + tastes = list("vegetables" = 1) /obj/item/weapon/reagent_containers/food/snacks/soup/nettle name = "nettle soup" desc = "To think, the botanist would've beat you to death with one of these." icon_state = "nettlesoup" bonus_reagents = list("nutriment" = 1, "omnizine" = 5, "vitamin" = 5) + tastes = list("nettles" = 1) /obj/item/weapon/reagent_containers/food/snacks/soup/mystery name = "mystery soup" @@ -77,12 +88,13 @@ icon_state = "mysterysoup" var/extra_reagent = null list_reagents = list("nutriment" = 6) + tastes = list("chaos" = 1) /obj/item/weapon/reagent_containers/food/snacks/soup/mystery/New() - ..() extra_reagent = pick("capsaicin", "frostoil", "omnizine", "banana", "blood", "slimejelly", "toxin", "banana", "carbon", "oculine") - reagents.add_reagent("[extra_reagent]", 5) bonus_reagents = list("[extra_reagent]" = 5, "nutriment" = 6) + ..() + reagents.add_reagent("[extra_reagent]", 5) /obj/item/weapon/reagent_containers/food/snacks/soup/hotchili name = "hot chili" @@ -90,6 +102,7 @@ icon_state = "hotchili" bonus_reagents = list("nutriment" = 1, "tomatojuice" = 2, "vitamin" = 2) list_reagents = list("nutriment" = 5, "capsaicin" = 1, "tomatojuice" = 2, "vitamin" = 2) + tastes = list("hot peppers" = 1) /obj/item/weapon/reagent_containers/food/snacks/soup/coldchili name = "cold chili" @@ -97,6 +110,7 @@ icon_state = "coldchili" bonus_reagents = list("nutriment" = 1, "tomatojuice" = 2, "vitamin" = 2) list_reagents = list("nutriment" = 5, "frostoil" = 1, "tomatojuice" = 2, "vitamin" = 2) + tastes = list("tomato" = 1, "mint" = 1) /obj/item/weapon/reagent_containers/food/snacks/soup/monkeysdelight name = "monkey's delight" @@ -104,6 +118,7 @@ icon_state = "monkeysdelight" bonus_reagents = list("nutriment" = 1, "vitamin" = 5) list_reagents = list("nutriment" = 10, "banana" = 5, "vitamin" = 5) + tastes = list("the jungle" = 1, "banana" = 1) /obj/item/weapon/reagent_containers/food/snacks/soup/tomato name = "tomato soup" @@ -111,12 +126,14 @@ icon_state = "tomatosoup" bonus_reagents = list("nutriment" = 1, "tomatojuice" = 10, "vitamin" = 3) list_reagents = list("nutriment" = 5, "tomatojuice" = 10, "vitamin" = 3) + tastes = list("tomato" = 1) /obj/item/weapon/reagent_containers/food/snacks/soup/milo name = "milosoup" desc = "The universes best soup! Yum!!!" icon_state = "milosoup" bonus_reagents = list("nutriment" = 1, "vitamin" = 3) + tastes = list("milo" = 1) // wtf is milo /obj/item/weapon/reagent_containers/food/snacks/soup/mushroom name = "chantrelle soup" @@ -124,6 +141,7 @@ icon_state = "mushroomsoup" bonus_reagents = list("nutriment" = 1, "vitamin" = 5) list_reagents = list("nutriment" = 8, "vitamin" = 4) + tastes = list("mushroom" = 1) /obj/item/weapon/reagent_containers/food/snacks/soup/beet name = "beet soup" @@ -134,6 +152,7 @@ /obj/item/weapon/reagent_containers/food/snacks/soup/beet/New() ..() name = pick("borsch","bortsch","borstch","borsh","borshch","borscht") + tastes = list(name = 1) /obj/item/weapon/reagent_containers/food/snacks/soup/spacylibertyduff @@ -143,6 +162,7 @@ bitesize = 3 bonus_reagents = list("nutriment" = 1, "vitamin" = 5) list_reagents = list("nutriment" = 6, "mushroomhallucinogen" = 6) + tastes = list("jelly" = 1, "mushroom" = 1) /obj/item/weapon/reagent_containers/food/snacks/soup/amanitajelly name = "amanita jelly" @@ -151,6 +171,7 @@ bitesize = 3 bonus_reagents = list("nutriment" = 1, "vitamin" = 5) list_reagents = list("nutriment" = 6, "mushroomhallucinogen" = 3, "amatoxin" = 6) + tastes = list("jelly" = 1, "mushroom" = 1) /obj/item/weapon/reagent_containers/food/snacks/soup/stew name = "stew" @@ -160,17 +181,20 @@ list_reagents = list("nutriment" = 10, "oculine" = 5, "tomatojuice" = 5, "vitamin" = 5) bitesize = 7 volume = 100 + tastes = list("tomato" = 1, "carrot" = 1) /obj/item/weapon/reagent_containers/food/snacks/soup/sweetpotato name = "sweet potato soup" desc = "Delicious sweet potato in soup form." icon_state = "sweetpotatosoup" bonus_reagents = list("nutriment" = 4, "vitamin" = 5) + tastes = list("sweet potato" = 1) /obj/item/weapon/reagent_containers/food/snacks/soup/beet/red name = "red beet soup" desc = "Quite a delicacy." icon_state = "redbeetsoup" bonus_reagents = list("nutriment" = 4, "vitamin" = 6) + tastes = list("beet" = 1) diff --git a/code/modules/food_and_drinks/food/snacks_spaghetti.dm b/code/modules/food_and_drinks/food/snacks_spaghetti.dm index 251217a54ed..fd17c0ebd56 100644 --- a/code/modules/food_and_drinks/food/snacks_spaghetti.dm +++ b/code/modules/food_and_drinks/food/snacks_spaghetti.dm @@ -7,6 +7,7 @@ list_reagents = list("nutriment" = 1, "vitamin" = 1) cooked_type = /obj/item/weapon/reagent_containers/food/snacks/boiledspaghetti filling_color = "#F0E68C" + tastes = list("pasta" = 1) /obj/item/weapon/reagent_containers/food/snacks/boiledspaghetti name = "boiled spaghetti" @@ -18,6 +19,7 @@ list_reagents = list("nutriment" = 2, "vitamin" = 1) custom_food_type = /obj/item/weapon/reagent_containers/food/snacks/customizable/pasta filling_color = "#F0E68C" + tastes = list("pasta" = 1) /obj/item/weapon/reagent_containers/food/snacks/pastatomato name = "spaghetti" @@ -29,6 +31,7 @@ bonus_reagents = list("nutriment" = 1, "tomatojuice" = 10, "vitamin" = 4) list_reagents = list("nutriment" = 6, "tomatojuice" = 10, "vitamin" = 4) filling_color = "#DC143C" + tastes = list("pasta" = 1, "tomato" = 1) /obj/item/weapon/reagent_containers/food/snacks/copypasta name = "copypasta" @@ -40,6 +43,7 @@ bonus_reagents = list("nutriment" = 1, "vitamin" = 4) list_reagents = list("nutriment" = 12, "tomatojuice" = 20, "vitamin" = 8) filling_color = "#DC143C" + tastes = list("pasta" = 1, "tomato" = 1) /obj/item/weapon/reagent_containers/food/snacks/meatballspaghetti name = "spaghetti and meatballs" @@ -50,6 +54,7 @@ bonus_reagents = list("nutriment" = 1, "vitamin" = 4) list_reagents = list("nutriment" = 8, "vitamin" = 4) filling_color = "#F0E68C" + tastes = list("pasta" = 1, "tomato" = 1, "meat" = 1) /obj/item/weapon/reagent_containers/food/snacks/spesslaw name = "spesslaw" @@ -60,6 +65,7 @@ bonus_reagents = list("nutriment" = 1, "vitamin" = 6) list_reagents = list("nutriment" = 8, "vitamin" = 6) filling_color = "#F0E68C" + tastes = list("pasta" = 1, "tomato" = 1, "meat" = 1) /obj/item/weapon/reagent_containers/food/snacks/chowmein name = "chow mein" @@ -69,6 +75,7 @@ trash = /obj/item/trash/plate bonus_reagents = list("nutriment" = 3, "vitamin" = 4) list_reagents = list("nutriment" = 7, "vitamin" = 6) + tastes = list("noodle" = 1, "tomato" = 1) /obj/item/weapon/reagent_containers/food/snacks/beefnoodle name = "beef noodle" @@ -76,4 +83,5 @@ icon = 'icons/obj/food/pizzaspaghetti.dmi' icon_state = "beefnoodle" trash = /obj/item/weapon/reagent_containers/glass/bowl - bonus_reagents = list("nutriment" = 5, "vitamin" = 6) \ No newline at end of file + bonus_reagents = list("nutriment" = 5, "vitamin" = 6) + tastes = list("noodle" = 1, "meat" = 1) diff --git a/code/modules/food_and_drinks/food/snacks_vend.dm b/code/modules/food_and_drinks/food/snacks_vend.dm index 74ee9ba99b8..200659ac0eb 100644 --- a/code/modules/food_and_drinks/food/snacks_vend.dm +++ b/code/modules/food_and_drinks/food/snacks_vend.dm @@ -10,6 +10,7 @@ list_reagents = list("nutriment" = 1, "sugar" = 3) junkiness = 25 filling_color = "#D2691E" + tastes = list("candy" = 1) /obj/item/weapon/reagent_containers/food/snacks/sosjerky name = "\improper Scaredy's Private Reserve Beef Jerky" @@ -19,6 +20,7 @@ list_reagents = list("nutriment" = 1, "sugar" = 3) junkiness = 25 filling_color = "#8B0000" + tastes = list("dried meat" = 1) /obj/item/weapon/reagent_containers/food/snacks/sosjerky/healthy name = "homemade beef jerky" @@ -35,6 +37,7 @@ list_reagents = list("nutriment" = 1, "sugar" = 3) junkiness = 20 filling_color = "#FFD700" + tastes = list("salt" = 1, "crisps" = 1) /obj/item/weapon/reagent_containers/food/snacks/no_raisin name = "4no raisins" @@ -44,6 +47,7 @@ list_reagents = list("nutriment" = 2, "sugar" = 4) junkiness = 25 filling_color = "#8B0000" + tastes = list("dried raisins" = 1) /obj/item/weapon/reagent_containers/food/snacks/no_raisin/healthy name = "homemade raisins" @@ -67,6 +71,7 @@ list_reagents = list("nutriment" = 1, "sugar" = 3) junkiness = 25 filling_color = "#FFD700" + tastes = list("cheese" = 5, "crisps" = 2) /obj/item/weapon/reagent_containers/food/snacks/syndicake name = "syndi-cakes" @@ -75,3 +80,4 @@ trash = /obj/item/trash/syndi_cakes list_reagents = list("nutriment" = 4, "doctorsdelight" = 5) filling_color = "#F5F5DC" + tastes = list("sweetness" = 3, "cake" = 1) diff --git a/code/modules/hydroponics/grown.dm b/code/modules/hydroponics/grown.dm index b839cbe0d96..2d6db948e52 100644 --- a/code/modules/hydroponics/grown.dm +++ b/code/modules/hydroponics/grown.dm @@ -18,6 +18,7 @@ origin_tech = "biotech=1" /obj/item/weapon/reagent_containers/food/snacks/grown/New(newloc, var/obj/item/seeds/new_seed = null) + tastes = list(name = 1) // apples taste of apple, silly. ..() if(new_seed) seed = new_seed.Copy() diff --git a/code/modules/mob/living/taste.dm b/code/modules/mob/living/taste.dm new file mode 100644 index 00000000000..4a4c741fc81 --- /dev/null +++ b/code/modules/mob/living/taste.dm @@ -0,0 +1,31 @@ +#define DEFAULT_TASTE_SENSITIVITY 15 + +/mob/living + var/last_taste_time + var/last_taste_text + +/mob/living/proc/get_taste_sensitivity() + return DEFAULT_TASTE_SENSITIVITY + +/mob/living/carbon/get_taste_sensitivity() + var/obj/item/organ/tongue/tongue = getorganslot("tongue") + if(istype(tongue)) + . = tongue.taste_sensitivity + else + . = 101 // can't taste anything without a tongue + +// 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(text_output != last_taste_text || last_taste_time + 100 < world.time) + src << "You can taste [text_output]." + // "somthing indescribable" -> too many tastes, not enough flavor. + + last_taste_time = world.time + last_taste_text = text_output + +#undef DEFAULT_TASTE_SENSITIVITY diff --git a/code/modules/reagents/chemistry/holder.dm b/code/modules/reagents/chemistry/holder.dm index 8d8c43a417c..e351af87432 100644 --- a/code/modules/reagents/chemistry/holder.dm +++ b/code/modules/reagents/chemistry/holder.dm @@ -168,11 +168,17 @@ var/const/INJECT = 5 //injection var/list/cached_reagents = reagent_list if(!target) return - if(!target.reagents || src.total_volume<=0) - return + + var/datum/reagents/R + if(istype(target, /datum/reagents)) + R = target + else + if(!target.reagents || src.total_volume<=0) + return + R = target.reagents + if(amount < 0) return - var/datum/reagents/R = target.reagents amount = min(min(amount, total_volume), R.maximum_volume-R.total_volume) var/part = amount / total_volume var/trans_data = null @@ -483,6 +489,9 @@ var/const/INJECT = 5 //injection var/react_type if(isliving(A)) react_type = "LIVING" + if(method == INGEST) + var/mob/living/L = A + L.taste(src) else if(isturf(A)) react_type = "TURF" else if(isobj(A)) @@ -518,14 +527,13 @@ var/const/INJECT = 5 //injection chem_temp = round(((amount * reagtemp) + (total_volume * chem_temp)) / (total_volume + amount)) //equalize with new chems for(var/A in cached_reagents) - var/datum/reagent/R = A if (R.id == reagent) R.volume += amount update_total() if(my_atom) my_atom.on_reagent_change() - R.on_merge(data) + R.on_merge(data, amount) if(!no_react) handle_reactions() return TRUE @@ -549,7 +557,7 @@ var/const/INJECT = 5 //injection return TRUE else - WARNING("[my_atom] attempted to add a reagent called ' [reagent] ' which doesn't exist. ([usr])") + WARNING("[my_atom] attempted to add a reagent called '[reagent]' which doesn't exist. ([usr])") return FALSE /datum/reagents/proc/add_reagent_list(list/list_reagents, list/data=null) // Like add_reagent but you can enter a list. Format it like this: list("toxin" = 10, "beer" = 15) @@ -685,6 +693,50 @@ var/const/INJECT = 5 //injection var/list/cached_reagents = reagent_list . = locate(type) in cached_reagents +/datum/reagents/proc/generate_taste_message(minimum_percent=15) + // the lower the minimum percent, the more sensitive the message is. + 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 + 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]" + + return english_list(out, "something indescribable") /////////////////////////////////////////////////////////////////////////////////// diff --git a/code/modules/reagents/chemistry/reagents.dm b/code/modules/reagents/chemistry/reagents.dm index 52d9ad7142f..c6ab051a059 100644 --- a/code/modules/reagents/chemistry/reagents.dm +++ b/code/modules/reagents/chemistry/reagents.dm @@ -12,6 +12,8 @@ var/name = "Reagent" var/id = "reagent" var/description = "" + var/taste_description = "metaphorical salt" + var/taste_mult = 1 //how this taste compares to others. Higher values means it is more noticable var/datum/reagents/holder = null var/reagent_state = LIQUID var/list/data diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm index bbbdc7e4c4c..484f710b088 100644 --- a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm @@ -11,6 +11,7 @@ description = "A well-known alcohol with a variety of applications." color = "#404030" // rgb: 64, 64, 48 nutriment_factor = 0 + taste_description = "alcohol" var/boozepwr = 65 //Higher numbers equal higher hardness, higher hardness equals more intense alcohol poisoning /* @@ -77,12 +78,14 @@ All effects don't start immediately, but rather get worse over time; the rate is color = "#664300" // rgb: 102, 67, 0 nutriment_factor = 1 * REAGENTS_METABOLISM boozepwr = 25 + taste_description = "piss water" /datum/reagent/consumable/ethanol/beer/green name = "Green Beer" id = "greenbeer" description = "An alcoholic beverage brewed since ancient times on Old Earth. This variety is dyed a festive green." color = "#A8E61D" + taste_description = "green piss water" /datum/reagent/consumable/ethanol/beer/green/on_mob_life(mob/living/M) if(M.color != color) @@ -112,6 +115,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "A superb and well-aged single-malt whiskey. Damn." color = "#664300" // rgb: 102, 67, 0 boozepwr = 75 + taste_description = "molasses" /datum/reagent/consumable/ethanol/thirteenloko name = "Thirteen Loko" @@ -120,6 +124,7 @@ All effects don't start immediately, but rather get worse over time; the rate is color = "#102000" // rgb: 16, 32, 0 nutriment_factor = 1 * REAGENTS_METABOLISM boozepwr = 80 + taste_description = "jitters and death" /datum/reagent/consumable/ethanol/thirteenloko/on_mob_life(mob/living/M) M.drowsyness = max(0,M.drowsyness-7) @@ -135,6 +140,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "Number one drink AND fueling choice for Russians worldwide." color = "#0064C8" // rgb: 0, 100, 200 boozepwr = 65 + taste_description = "grain alcohol" /datum/reagent/consumable/ethanol/vodka/on_mob_life(mob/living/M) M.radiation = max(M.radiation-2,0) @@ -147,6 +153,7 @@ All effects don't start immediately, but rather get worse over time; the rate is color = "#895C4C" // rgb: 137, 92, 76 nutriment_factor = 2 * REAGENTS_METABOLISM boozepwr = 15 + taste_description = "desperation and lactate" /datum/reagent/consumable/ethanol/bilk/on_mob_life(mob/living/M) if(M.getBruteLoss() && prob(10)) @@ -160,6 +167,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "Made for a woman, strong enough for a man." color = "#666340" // rgb: 102, 99, 64 boozepwr = 10 + taste_description = "dryness" /datum/reagent/consumable/ethanol/threemileisland/on_mob_life(mob/living/M) M.set_drugginess(50) @@ -171,6 +179,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "It's gin. In space. I say, good sir." color = "#664300" // rgb: 102, 67, 0 boozepwr = 45 + taste_description = "an alcoholic christmas tree" /datum/reagent/consumable/ethanol/rum name = "Rum" @@ -178,6 +187,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "Yohoho and all that." color = "#664300" // rgb: 102, 67, 0 boozepwr = 60 + taste_description = "spiked butterscotch" /datum/reagent/consumable/ethanol/tequila name = "Tequila" @@ -185,6 +195,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "A strong and mildly flavoured, Mexican produced spirit. Feeling thirsty, hombre?" color = "#FFFF91" // rgb: 255, 255, 145 boozepwr = 70 + taste_description = "paint stripper" /datum/reagent/consumable/ethanol/vermouth name = "Vermouth" @@ -192,6 +203,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "You suddenly feel a craving for a martini..." color = "#91FF91" // rgb: 145, 255, 145 boozepwr = 45 + taste_description = "dry alcohol" /datum/reagent/consumable/ethanol/wine name = "Wine" @@ -199,6 +211,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "A premium alcoholic beverage made from distilled grape juice." color = "#7E4043" // rgb: 126, 64, 67 boozepwr = 35 + taste_description = "bitter sweetness" /datum/reagent/consumable/ethanol/lizardwine name = "Lizard wine" @@ -206,6 +219,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "An alcoholic beverage from Space China, made by infusing lizard tails in ethanol." color = "#7E4043" // rgb: 126, 64, 67 boozepwr = 45 + taste_description = "scaley sweetness" /datum/reagent/consumable/ethanol/grappa name = "Grappa" @@ -213,6 +227,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "A fine Italian brandy, for when regular wine just isn't alcoholic enough for you." color = "#F8EBF1" boozepwr = 45 + taste_description = "classy bitter sweetness" /datum/reagent/consumable/ethanol/cognac name = "Cognac" @@ -220,6 +235,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "A sweet and strongly alcoholic drink, made after numerous distillations and years of maturing. Classy as fornication." color = "#AB3C05" // rgb: 171, 60, 5 boozepwr = 75 + taste_description = "angry and irish" /datum/reagent/consumable/ethanol/absinthe name = "Absinthe" @@ -227,6 +243,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "A powerful alcoholic drink. Rumored to cause hallucinations but does not." color = rgb(10, 206, 0) boozepwr = 80 //Very strong even by default + taste_description = "death and licorice" /datum/reagent/consumable/ethanol/absinthe/on_mob_life(mob/living/M) if(prob(10)) @@ -239,6 +256,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "Either someone's failure at cocktail making or attempt in alcohol production. In any case, do you really want to drink that?" color = "#664300" // rgb: 102, 67, 0 boozepwr = 100 + taste_description = "pure resignation" /datum/reagent/consumable/ethanol/ale name = "Ale" @@ -246,6 +264,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "A dark alcoholic beverage made with malted barley and yeast." color = "#664300" // rgb: 102, 67, 0 boozepwr = 65 + taste_description = "hearty barley ale" /datum/reagent/consumable/ethanol/goldschlager name = "Goldschlager" @@ -253,6 +272,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "100 proof cinnamon schnapps, made for alcoholic teen girls on spring break." color = "#FFFF91" // rgb: 255, 255, 145 boozepwr = 25 + taste_description = "burning cinnamon" /datum/reagent/consumable/ethanol/patron name = "Patron" @@ -260,6 +280,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "Tequila with silver in it, a favorite of alcoholic women in the club scene." color = "#585840" // rgb: 88, 88, 64 boozepwr = 60 + taste_description = "metallic and expensive" /datum/reagent/consumable/ethanol/gintonic name = "Gin and Tonic" @@ -267,6 +288,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "An all time classic, mild cocktail." color = "#664300" // rgb: 102, 67, 0 boozepwr = 25 + taste_description = "mild and tart" /datum/reagent/consumable/ethanol/cuba_libre name = "Cuba Libre" @@ -274,6 +296,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "Rum, mixed with cola. Viva la revolucion." color = "#3E1B00" // rgb: 62, 27, 0 boozepwr = 50 + taste_description = "cola" /datum/reagent/consumable/ethanol/cuba_libre/on_mob_life(mob/living/M) if(M.mind && M.mind.special_role in list("Revolutionary", "Head Revolutionary")) //Cuba Libre, the traditional drink of revolutions! Heals revolutionaries. @@ -290,6 +313,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "Whiskey, mixed with cola. Surprisingly refreshing." color = "#3E1B00" // rgb: 62, 27, 0 boozepwr = 70 + taste_description = "cola" /datum/reagent/consumable/ethanol/martini name = "Classic Martini" @@ -297,6 +321,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "Vermouth with Gin. Not quite how 007 enjoyed it, but still delicious." color = "#664300" // rgb: 102, 67, 0 boozepwr = 60 + taste_description = "dry class" /datum/reagent/consumable/ethanol/vodkamartini name = "Vodka Martini" @@ -304,6 +329,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "Vodka with Gin. Not quite how 007 enjoyed it, but still delicious." color = "#664300" // rgb: 102, 67, 0 boozepwr = 65 + taste_description = "shaken, not stirred" /datum/reagent/consumable/ethanol/white_russian name = "White Russian" @@ -311,6 +337,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "That's just, like, your opinion, man..." color = "#A68340" // rgb: 166, 131, 64 boozepwr = 50 + taste_description = "bitter cream" /datum/reagent/consumable/ethanol/screwdrivercocktail name = "Screwdriver" @@ -318,6 +345,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "Vodka, mixed with plain ol' orange juice. The result is surprisingly delicious." color = "#A68310" // rgb: 166, 131, 16 boozepwr = 55 + taste_description = "oranges" /datum/reagent/consumable/ethanol/screwdrivercocktail/on_mob_life(mob/living/M) if(M.mind && M.mind.assigned_role in list("Station Engineer", "Atmospheric Technician", "Chief Engineer")) //Engineers lose radiation poisoning at a massive rate. @@ -330,6 +358,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "Ewww..." color = "#8CFF8C" // rgb: 140, 255, 140 boozepwr = 45 + taste_description = "sweet 'n creamy" /datum/reagent/consumable/ethanol/bloody_mary name = "Bloody Mary" @@ -337,6 +366,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "A strange yet pleasurable mixture made of vodka, tomato and lime juice. Or at least you THINK the red stuff is tomato juice." color = "#664300" // rgb: 102, 67, 0 boozepwr = 55 + taste_description = "tomatoes with a hint of lime" /datum/reagent/consumable/ethanol/brave_bull name = "Brave Bull" @@ -344,6 +374,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "It's just as effective as Dutch-Courage!" color = "#664300" // rgb: 102, 67, 0 boozepwr = 80 + taste_description = "alcoholic bravery" /datum/reagent/consumable/ethanol/brave_bull/on_mob_life(mob/living/M) if(M.maxHealth == initial(M.maxHealth)) //Brave Bull makes you sturdier, and thus capable of withstanding a tiny bit more punishment. @@ -361,6 +392,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "Tequila and orange juice. Much like a Screwdriver, only Mexican~" color = "#FFE48C" // rgb: 255, 228, 140 boozepwr = 45 + taste_description = "oranges" /datum/reagent/consumable/ethanol/toxins_special name = "Toxins Special" @@ -368,6 +400,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "This thing is ON FIRE! CALL THE DAMN SHUTTLE!" color = "#664300" // rgb: 102, 67, 0 boozepwr = 25 + taste_description = "spicy toxins" /datum/reagent/consumable/ethanol/toxins_special/on_mob_life(var/mob/living/M as mob) if (M.bodytemperature < 330) @@ -381,6 +414,7 @@ All effects don't start immediately, but rather get worse over time; the rate is color = "#664300" // rgb: 102, 67, 0 boozepwr = 90 //THE FIST OF THE LAW IS STRONG AND HARD metabolization_rate = 0.8 + taste_description = "JUSTICE" /datum/reagent/consumable/ethanol/beepsky_smash/on_mob_life(mob/living/M) M.Stun(2, 0) @@ -392,6 +426,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "Whiskey-imbued cream, what else would you expect from the Irish?" color = "#664300" // rgb: 102, 67, 0 boozepwr = 70 + taste_description = "creamy alcohol" /datum/reagent/consumable/ethanol/manly_dorf name = "The Manly Dorf" @@ -399,6 +434,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "Beer and Ale, brought together in a delicious mix. Intended for true men only." color = "#664300" // rgb: 102, 67, 0 boozepwr = 100 //For the manly only + taste_description = "hair on your chest and your chin" /datum/reagent/consumable/ethanol/longislandicedtea name = "Long Island Iced Tea" @@ -406,6 +442,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "The liquor cabinet, brought together in a delicious mix. Intended for middle-aged alcoholic women only." color = "#664300" // rgb: 102, 67, 0 boozepwr = 35 + taste_description = "a mixture of cola and alcohol" /datum/reagent/consumable/ethanol/moonshine name = "Moonshine" @@ -413,6 +450,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "You've really hit rock bottom now... your liver packed its bags and left last night." color = "#664300" // rgb: 102, 67, 0 boozepwr = 95 + taste_description = "bitterness" /datum/reagent/consumable/ethanol/b52 name = "B-52" @@ -420,6 +458,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "Coffee, Irish Cream, and cognac. You will get bombed." color = "#664300" // rgb: 102, 67, 0 boozepwr = 85 + taste_description = "angry and irish" /datum/reagent/consumable/ethanol/irishcoffee name = "Irish Coffee" @@ -427,6 +466,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "Coffee, and alcohol. More fun than a Mimosa to drink in the morning." color = "#664300" // rgb: 102, 67, 0 boozepwr = 35 + taste_description = "giving up on the day" /datum/reagent/consumable/ethanol/margarita name = "Margarita" @@ -434,6 +474,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "On the rocks with salt on the rim. Arriba~!" color = "#8CFF8C" // rgb: 140, 255, 140 boozepwr = 35 + taste_description = "dry and salty" /datum/reagent/consumable/ethanol/black_russian name = "Black Russian" @@ -441,6 +482,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "For the lactose-intolerant. Still as classy as a White Russian." color = "#360000" // rgb: 54, 0, 0 boozepwr = 70 + taste_description = "bitterness" /datum/reagent/consumable/ethanol/manhattan name = "Manhattan" @@ -448,6 +490,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "The Detective's undercover drink of choice. He never could stomach gin..." color = "#664300" // rgb: 102, 67, 0 boozepwr = 30 + taste_description = "mild dryness" /datum/reagent/consumable/ethanol/manhattan_proj name = "Manhattan Project" @@ -455,6 +498,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "A scientist's drink of choice, for pondering ways to blow up the station." color = "#664300" // rgb: 102, 67, 0 boozepwr = 45 + taste_description = "death, the destroyer of worlds" /datum/reagent/consumable/ethanol/manhattan_proj/on_mob_life(mob/living/M) M.set_drugginess(30) @@ -466,6 +510,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "For the more refined griffon." color = "#664300" // rgb: 102, 67, 0 boozepwr = 70 + taste_description = "soda" /datum/reagent/consumable/ethanol/antifreeze name = "Anti-freeze" @@ -473,6 +518,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "The ultimate refreshment. Not what it sounds like." color = "#664300" // rgb: 102, 67, 0 boozepwr = 35 + taste_description = "Jack Frost's piss" /datum/reagent/consumable/ethanol/antifreeze/on_mob_life(mob/living/M) if (M.bodytemperature < 330) @@ -485,6 +531,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "Barefoot and pregnant." color = "#664300" // rgb: 102, 67, 0 boozepwr = 45 + taste_description = "creamy berries" /datum/reagent/consumable/ethanol/barefoot/on_mob_life(mob/living/M) if(ishuman(M)) //Barefoot causes the imbiber to quickly regenerate brute trauma if they're not wearing shoes. @@ -500,6 +547,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "A cold refreshment." color = "#FFFFFF" // rgb: 255, 255, 255 boozepwr = 35 + taste_description = "refreshing cold" /datum/reagent/consumable/ethanol/demonsblood //Prevents the imbiber from being dragged into a pool of blood by a slaughter demon. name = "Demon's Blood" @@ -507,6 +555,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "AHHHH!!!!" color = "#820000" // rgb: 130, 0, 0 boozepwr = 75 + taste_description = "sweet tasting iron" /datum/reagent/consumable/ethanol/devilskiss //If eaten by a slaughter demon, the demon will regret it. name = "Devil's Kiss" @@ -514,6 +563,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "Creepy time!" color = "#A68310" // rgb: 166, 131, 16 boozepwr = 70 + taste_description = "bitter iron" /datum/reagent/consumable/ethanol/vodkatonic name = "Vodka and Tonic" @@ -521,6 +571,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "For when a gin and tonic isn't Russian enough." color = "#0064C8" // rgb: 0, 100, 200 boozepwr = 70 + taste_description = "tart bitterness" /datum/reagent/consumable/ethanol/ginfizz name = "Gin Fizz" @@ -528,6 +579,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "Refreshingly lemony, deliciously dry." color = "#664300" // rgb: 102, 67, 0 boozepwr = 45 + taste_description = "dry, tart lemons" /datum/reagent/consumable/ethanol/bahama_mama name = "Bahama Mama" @@ -535,6 +587,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "Tropical cocktail." color = "#FF7F3B" // rgb: 255, 127, 59 boozepwr = 35 + taste_description = "lime and orange" /datum/reagent/consumable/ethanol/singulo name = "Singulo" @@ -542,6 +595,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "A blue-space beverage!" color = "#2E6671" // rgb: 46, 102, 113 boozepwr = 35 + taste_description = "concentrated matter" /datum/reagent/consumable/ethanol/sbiten name = "Sbiten" @@ -549,6 +603,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "A spicy Vodka! Might be a little hot for the little guys!" color = "#664300" // rgb: 102, 67, 0 boozepwr = 70 + taste_description = "hot and spice" /datum/reagent/consumable/ethanol/sbiten/on_mob_life(mob/living/M) if (M.bodytemperature < 360) @@ -561,6 +616,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "The true Viking drink! Even though it has a strange red color." color = "#C73C00" // rgb: 199, 60, 0 boozepwr = 51 //Red drinks are stronger + taste_description = "sweet and salty alcohol" /datum/reagent/consumable/ethanol/mead name = "Mead" @@ -569,6 +625,7 @@ All effects don't start immediately, but rather get worse over time; the rate is color = "#664300" // rgb: 102, 67, 0 nutriment_factor = 1 * REAGENTS_METABOLISM boozepwr = 50 + taste_description = "sweet, sweet alcohol" /datum/reagent/consumable/ethanol/iced_beer name = "Iced Beer" @@ -576,6 +633,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "A beer which is so cold the air around it freezes." color = "#664300" // rgb: 102, 67, 0 boozepwr = 15 + taste_description = "refreshingly cold" /datum/reagent/consumable/ethanol/iced_beer/on_mob_life(mob/living/M) if(M.bodytemperature > 270) @@ -588,6 +646,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "Watered down rum, Nanotrasen approves!" color = "#664300" // rgb: 102, 67, 0 boozepwr = 1 //Basically nothing + taste_description = "a poor excuse for alcohol" /datum/reagent/consumable/ethanol/aloe name = "Aloe" @@ -595,6 +654,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "So very, very, very good." color = "#664300" // rgb: 102, 67, 0 boozepwr = 35 + taste_description = "sweet 'n creamy" /datum/reagent/consumable/ethanol/andalusia name = "Andalusia" @@ -602,6 +662,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "A nice, strangely named drink." color = "#664300" // rgb: 102, 67, 0 boozepwr = 40 + taste_description = "lemons" /datum/reagent/consumable/ethanol/alliescocktail name = "Allies Cocktail" @@ -609,6 +670,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "A drink made from your allies. Not as sweet as those made from your enemies." color = "#664300" // rgb: 102, 67, 0 boozepwr = 45 + taste_description = "bitter yet free" /datum/reagent/consumable/ethanol/acid_spit name = "Acid Spit" @@ -616,6 +678,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "A drink for the daring, can be deadly if incorrectly prepared!" color = "#365000" // rgb: 54, 80, 0 boozepwr = 80 + taste_description = "stomach acid" /datum/reagent/consumable/ethanol/amasec name = "Amasec" @@ -623,6 +686,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "Official drink of the Nanotrasen Gun-Club!" color = "#664300" // rgb: 102, 67, 0 boozepwr = 35 + taste_description = "dark and metallic" /datum/reagent/consumable/ethanol/changelingsting name = "Changeling Sting" @@ -630,6 +694,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "You take a tiny sip and feel a burning sensation..." color = "#2E6671" // rgb: 46, 102, 113 boozepwr = 95 + taste_description = "your brain coming out your nose" /datum/reagent/consumable/ethanol/changelingsting/on_mob_life(mob/living/M) if(M.mind && M.mind.changeling) //Changeling Sting assists in the recharging of changeling chemicals. @@ -643,6 +708,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "Mmm, tastes like chocolate cake..." color = "#2E6671" // rgb: 46, 102, 113 boozepwr = 25 + taste_description = "delicious anger" /datum/reagent/consumable/ethanol/syndicatebomb name = "Syndicate Bomb" @@ -650,6 +716,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "Tastes like terrorism!" color = "#2E6671" // rgb: 46, 102, 113 boozepwr = 90 + taste_description = "purified antagonism" /datum/reagent/consumable/ethanol/syndicatebomb/on_mob_life(mob/living/M) if(prob(5)) @@ -662,6 +729,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "The surprise is, it's green!" color = "#2E6671" // rgb: 46, 102, 113 boozepwr = 35 + taste_description = "tartness and bananas" /datum/reagent/consumable/ethanol/driestmartini name = "Driest Martini" @@ -670,6 +738,7 @@ All effects don't start immediately, but rather get worse over time; the rate is nutriment_factor = 1 * REAGENTS_METABOLISM color = "#2E6671" // rgb: 46, 102, 113 boozepwr = 65 + taste_description = "a beach" /datum/reagent/consumable/ethanol/bananahonk name = "Banana Mama" @@ -678,6 +747,7 @@ All effects don't start immediately, but rather get worse over time; the rate is nutriment_factor = 1 * REAGENTS_METABOLISM color = "#FFFF91" // rgb: 255, 255, 140 boozepwr = 60 + taste_description = "a bad joke" /datum/reagent/consumable/ethanol/bananahonk/on_mob_life(mob/living/M) if((ishuman(M) && M.job in list("Clown") ) || ismonkey(M)) @@ -692,6 +762,7 @@ All effects don't start immediately, but rather get worse over time; the rate is nutriment_factor = 1 * REAGENTS_METABOLISM color = "#664300" // rgb: 102, 67, 0 boozepwr = 59 //Proof that clowns are better than mimes right here + taste_description = "a pencil eraser" /datum/reagent/consumable/ethanol/silencer/on_mob_life(mob/living/M) if(ishuman(M) && M.job in list("Mime")) @@ -705,6 +776,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "A weird mix of whiskey and blumpkin juice." color = "#1EA0FF" // rgb: 102, 67, 0 boozepwr = 50 + taste_description = "molasses and a mouthful of pool water" /datum/reagent/consumable/ethanol/whiskey_sour //Requested since we had whiskey cola and soda but not sour. name = "Whiskey Sour" @@ -712,6 +784,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "Lemon juice/whiskey/sugar mixture. Moderate alcohol content." color = rgb(255, 201, 49) boozepwr = 35 + taste_description = "sour lemons" /datum/reagent/consumable/ethanol/hcider name = "Hard Cider" @@ -720,6 +793,7 @@ All effects don't start immediately, but rather get worse over time; the rate is color = "#CD6839" nutriment_factor = 1 * REAGENTS_METABOLISM boozepwr = 25 + taste_description = "apples" /datum/reagent/consumable/ethanol/fetching_fizz //A reference to one of my favorite games of all time. Pulls nearby ores to the imbiber! @@ -729,6 +803,7 @@ All effects don't start immediately, but rather get worse over time; the rate is color = rgb(255, 91, 15) boozepwr = 10 metabolization_rate = 0.1 * REAGENTS_METABOLISM + taste_description = "charged metal" // the same as teslium, honk honk. /datum/reagent/consumable/ethanol/fetching_fizz/on_mob_life(mob/living/M) for(var/obj/item/weapon/ore/O in orange(3, M)) @@ -743,6 +818,7 @@ All effects don't start immediately, but rather get worse over time; the rate is color = rgb(140, 0, 0) boozepwr = 10 metabolization_rate = 0.1 * REAGENTS_METABOLISM + taste_description = "bravado in the face of disaster" /datum/reagent/consumable/ethanol/hearty_punch/on_mob_life(mob/living/M) if(M.stat == UNCONSCIOUS && M.health <= 0) @@ -760,6 +836,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "Unidentifiable mixture. Unmeasurably high alcohol content." color = rgb(51, 19, 3) //Sickly brown boozepwr = 300 //I warned you + taste_description = "a wall of bricks" /datum/reagent/consumable/ethanol/atomicbomb @@ -768,6 +845,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "Nuclear proliferation never tasted so good." color = "#666300" // rgb: 102, 99, 0 boozepwr = 0 //custom drunk effect + taste_description = "da bomb" /datum/reagent/consumable/ethanol/atomicbomb/on_mob_life(mob/living/M) M.set_drugginess(50) @@ -792,6 +870,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "Whoah, this stuff looks volatile!" color = "#664300" // rgb: 102, 67, 0 boozepwr = 0 //custom drunk effect + taste_description = "your brains smashed out by a lemon wrapped around a gold brick" /datum/reagent/consumable/ethanol/gargle_blaster/on_mob_life(mob/living/M) M.dizziness +=6 @@ -816,6 +895,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "A strong neurotoxin that puts the subject into a death-like state." color = "#2E2E61" // rgb: 46, 46, 97 boozepwr = 0 //custom drunk effect + taste_description = "a numbing sensation" /datum/reagent/consumable/ethanol/neurotoxin/on_mob_life(mob/living/carbon/M) M.Weaken(3, 1, 0) @@ -843,6 +923,7 @@ All effects don't start immediately, but rather get worse over time; the rate is nutriment_factor = 0 boozepwr = 0 //custom drunk effect metabolization_rate = 0.2 * REAGENTS_METABOLISM + taste_description = "giving peace a chance" /datum/reagent/consumable/ethanol/hippies_delight/on_mob_life(mob/living/M) if (!M.slurring) @@ -882,4 +963,5 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "For enjoying the most wonderful time of the year." color = "#fcfdc6" // rgb: 252, 253, 198 nutriment_factor = 2 * REAGENTS_METABOLISM - boozepwr = 1 \ No newline at end of file + boozepwr = 1 + taste_description = "custard and alcohol" diff --git a/code/modules/reagents/chemistry/reagents/blob_reagents.dm b/code/modules/reagents/chemistry/reagents/blob_reagents.dm index f60c7f38a60..3f7a7c2a856 100644 --- a/code/modules/reagents/chemistry/reagents/blob_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/blob_reagents.dm @@ -3,6 +3,7 @@ name = "Unknown" description = "shouldn't exist and you should adminhelp immediately." color = "#FFFFFF" + taste_description = "slime and errors" var/complementary_color = "#000000" //a color that's complementary to the normal blob color var/shortdesc = null //just damage and on_mob effects, doesn't include special, blob-tile only effects var/effectdesc = null //any long, blob-tile specific effects diff --git a/code/modules/reagents/chemistry/reagents/drink_reagents.dm b/code/modules/reagents/chemistry/reagents/drink_reagents.dm index 196aca498c5..bbb2ac17db8 100644 --- a/code/modules/reagents/chemistry/reagents/drink_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drink_reagents.dm @@ -9,6 +9,7 @@ id = "orangejuice" description = "Both delicious AND rich in Vitamin C, what more do you need?" color = "#E78108" // rgb: 231, 129, 8 + taste_description = "oranges" /datum/reagent/consumable/orangejuice/on_mob_life(mob/living/M) if(M.getOxyLoss() && prob(30)) @@ -21,6 +22,7 @@ id = "tomatojuice" description = "Tomatoes made into juice. What a waste of big, juicy tomatoes, huh?" color = "#731008" // rgb: 115, 16, 8 + taste_description = "tomatoes" /datum/reagent/consumable/tomatojuice/on_mob_life(mob/living/M) if(M.getFireLoss() && prob(20)) @@ -33,6 +35,7 @@ id = "limejuice" description = "The sweet-sour juice of limes." color = "#365E30" // rgb: 54, 94, 48 + taste_description = "unbearable sourness" /datum/reagent/consumable/limejuice/on_mob_life(mob/living/M) if(M.getToxLoss() && prob(20)) @@ -45,6 +48,7 @@ id = "carrotjuice" description = "It is just like a carrot but without crunching." color = "#973800" // rgb: 151, 56, 0 + taste_description = "carrots" /datum/reagent/consumable/carrotjuice/on_mob_life(mob/living/M) M.adjust_blurriness(-1) @@ -63,18 +67,21 @@ id = "berryjuice" description = "A delicious blend of several different kinds of berries." color = "#863333" // rgb: 134, 51, 51 + taste_description = "berries" /datum/reagent/consumable/applejuice name = "Apple Juice" id = "applejuice" description = "The sweet juice of an apple, fit for all ages." color = "#ECFF56" // rgb: 236, 255, 86 + taste_description = "apples" /datum/reagent/consumable/poisonberryjuice name = "Poison Berry Juice" id = "poisonberryjuice" description = "A tasty juice blended from various kinds of very deadly and toxic berries." color = "#863353" // rgb: 134, 51, 83 + taste_description = "berries" /datum/reagent/consumable/poisonberryjuice/on_mob_life(mob/living/M) M.adjustToxLoss(1, 0) @@ -86,18 +93,21 @@ id = "watermelonjuice" description = "Delicious juice made from watermelon." color = "#863333" // rgb: 134, 51, 51 + taste_description = "juicy watermelon" /datum/reagent/consumable/lemonjuice name = "Lemon Juice" id = "lemonjuice" description = "This juice is VERY sour." color = "#863333" // rgb: 175, 175, 0 + taste_description = "sourness" /datum/reagent/consumable/banana name = "Banana Juice" id = "banana" description = "The raw essence of a banana. HONK" color = "#863333" // rgb: 175, 175, 0 + taste_description = "banana" /datum/reagent/consumable/banana/on_mob_life(mob/living/M) if((ishuman(M) && M.job in list("Clown") ) || ismonkey(M)) @@ -109,6 +119,7 @@ name = "Nothing" id = "nothing" description = "Absolutely nothing." + taste_description = "nothing" /datum/reagent/consumable/nothing/on_mob_life(mob/living/M) if(ishuman(M) && M.job in list("Mime")) @@ -122,6 +133,7 @@ description = "Some say that this is the best medicine, but recent studies have proven that to be untrue." metabolization_rate = INFINITY color = "#FF4DD2" + taste_description = "laughter" /datum/reagent/consumable/laughter/on_mob_life(mob/living/carbon/M) if(!iscarbon(M)) @@ -146,18 +158,21 @@ description = "Juice of the potato. Bleh." nutriment_factor = 2 * REAGENTS_METABOLISM color = "#302000" // rgb: 48, 32, 0 + taste_description = "irish sadness" /datum/reagent/consumable/grapejuice name = "Grape Juice" id = "grapejuice" description = "The juice of a bunch of grapes. Guaranteed non-alcoholic." color = "#290029" // dark purple + taste_description = "grape soda" /datum/reagent/consumable/milk name = "Milk" id = "milk" description = "An opaque white liquid produced by the mammary glands of mammals." color = "#DFDFDF" // rgb: 223, 223, 223 + taste_description = "milk" /datum/reagent/consumable/milk/on_mob_life(mob/living/M) if(M.getBruteLoss() && prob(20)) @@ -176,6 +191,7 @@ id = "soymilk" description = "An opaque white liquid made from soybeans." color = "#DFDFC7" // rgb: 223, 223, 199 + taste_description = "soy milk" /datum/reagent/consumable/soymilk/on_mob_life(mob/living/M) if(M.getBruteLoss() && prob(20)) @@ -188,6 +204,7 @@ id = "cream" description = "The fatty, still liquid part of milk. Why don't you mix this with sum scotch, eh?" color = "#DFD7AF" // rgb: 223, 215, 175 + taste_description = "creamy milk" /datum/reagent/consumable/cream/on_mob_life(mob/living/M) if(M.getBruteLoss() && prob(20)) @@ -202,6 +219,7 @@ color = "#482000" // rgb: 72, 32, 0 nutriment_factor = 0 overdose_threshold = 80 + taste_description = "bitterness" /datum/reagent/consumable/coffee/overdose_process(mob/living/M) M.Jitter(5) @@ -224,6 +242,7 @@ description = "Tasty black tea, it has antioxidants, it's good for you!" color = "#101000" // rgb: 16, 16, 0 nutriment_factor = 0 + taste_description = "tart black tea" /datum/reagent/consumable/tea/on_mob_life(mob/living/M) M.dizziness = max(0,M.dizziness-2) @@ -243,6 +262,7 @@ description = "Encourages the patient to go golfing." color = "#FFB766" nutriment_factor = 2 + taste_description = "bitter tea" /datum/reagent/consumable/tea/arnold_palmer/on_mob_life(mob/living/M) if(prob(5)) @@ -256,6 +276,7 @@ description = "Coffee and ice, refreshing and cool." color = "#102838" // rgb: 16, 40, 56 nutriment_factor = 0 + taste_description = "bitter coldness" /datum/reagent/consumable/icecoffee/on_mob_life(mob/living/M) M.dizziness = max(0,M.dizziness-5) @@ -273,6 +294,7 @@ description = "No relation to a certain rap artist/actor." color = "#104038" // rgb: 16, 64, 56 nutriment_factor = 0 + taste_description = "sweet tea" /datum/reagent/consumable/icetea/on_mob_life(mob/living/M) M.dizziness = max(0,M.dizziness-2) @@ -290,6 +312,7 @@ id = "cola" description = "A refreshing beverage." color = "#100800" // rgb: 16, 8, 0 + taste_description = "cola" /datum/reagent/consumable/space_cola/on_mob_life(mob/living/M) M.drowsyness = max(0,M.drowsyness-5) @@ -302,6 +325,7 @@ id = "nuka_cola" description = "Cola, cola never changes." color = "#100800" // rgb: 16, 8, 0 + taste_description = "the future" /datum/reagent/consumable/nuka_cola/on_mob_life(mob/living/M) M.Jitter(20) @@ -320,6 +344,7 @@ id = "spacemountainwind" description = "Blows right through you like a space wind." color = "#102000" // rgb: 16, 32, 0 + taste_description = "sweet citrus soda" /datum/reagent/consumable/spacemountainwind/on_mob_life(mob/living/M) M.drowsyness = max(0,M.drowsyness-7) @@ -335,6 +360,7 @@ id = "dr_gibb" description = "A delicious blend of 42 different flavours." color = "#102000" // rgb: 16, 32, 0 + taste_description = "cherry soda" // FALSE ADVERTISING /datum/reagent/consumable/dr_gibb/on_mob_life(mob/living/M) M.drowsyness = max(0,M.drowsyness-6) @@ -347,6 +373,7 @@ id = "space_up" description = "Tastes like a hull breach in your mouth." color = "#00FF00" // rgb: 0, 255, 0 + taste_description = "cherry soda" /datum/reagent/consumable/space_up/on_mob_life(mob/living/M) if (M.bodytemperature > 310) @@ -358,6 +385,7 @@ description = "A tangy substance made of 0.5% natural citrus!" id = "lemon_lime" color = "#8CFF00" // rgb: 135, 255, 0 + taste_description = "tangy lime and lemon soda" /datum/reagent/consumable/lemon_lime/on_mob_life(mob/living/M) if (M.bodytemperature > 310) @@ -369,6 +397,7 @@ id = "sodawater" description = "A can of club soda. Why not make a scotch and soda?" color = "#619494" // rgb: 97, 148, 148 + taste_description = "carbonated water" /datum/reagent/consumable/sodawater/on_mob_life(mob/living/M) M.dizziness = max(0,M.dizziness-5) @@ -382,6 +411,7 @@ id = "tonic" description = "It tastes strange but at least the quinine keeps the Space Malaria at bay." color = "#0064C8" // rgb: 0, 100, 200 + taste_description = "tart and fresh" /datum/reagent/consumable/tonic/on_mob_life(mob/living/M) M.dizziness = max(0,M.dizziness-5) @@ -398,6 +428,7 @@ description = "Frozen water, your dentist wouldn't like you chewing this." reagent_state = SOLID color = "#619494" // rgb: 97, 148, 148 + taste_description = "ice" /datum/reagent/consumable/ice/on_mob_life(mob/living/M) M.bodytemperature = max( M.bodytemperature - 5 * TEMPERATURE_DAMAGE_COEFFICIENT, 0) @@ -408,6 +439,7 @@ id = "soy_latte" description = "A nice and tasty beverage while you are reading your hippie books." color = "#664300" // rgb: 102, 67, 0 + taste_description = "creamy coffee" /datum/reagent/consumable/soy_latte/on_mob_life(mob/living/M) M.dizziness = max(0,M.dizziness-5) @@ -426,6 +458,7 @@ id = "cafe_latte" description = "A nice, strong and tasty beverage while you are reading." color = "#664300" // rgb: 102, 67, 0 + taste_description = "bitter cream" /datum/reagent/consumable/cafe_latte/on_mob_life(mob/living/M) M.dizziness = max(0,M.dizziness-5) @@ -444,6 +477,7 @@ id = "doctorsdelight" description = "A gulp a day keeps the Medibot away! A mixture of juices that heals most damage types fairly quickly at the cost of hunger." color = "#FF8CFF" // rgb: 255, 140, 255 + taste_description = "homely fruit" /datum/reagent/consumable/doctor_delight/on_mob_life(mob/living/M) M.adjustBruteLoss(-0.5, 0) @@ -462,6 +496,7 @@ description = "A great dessert for chocolate lovers." color = "#800000" nutriment_factor = 4 * REAGENTS_METABOLISM + taste_description = "sweet chocolate" /datum/reagent/consumable/vanillapudding name = "Vanilla Pudding" @@ -469,6 +504,7 @@ description = "A great dessert for vanilla lovers." color = "#FAFAD2" nutriment_factor = 4 * REAGENTS_METABOLISM + taste_description = "sweet vanilla" /datum/reagent/consumable/cherryshake name = "Cherry Shake" @@ -476,6 +512,7 @@ description = "A cherry flavored milkshake." color = "#FFB6C1" nutriment_factor = 4 * REAGENTS_METABOLISM + taste_description = "creamy cherry" /datum/reagent/consumable/bluecherryshake name = "Blue Cherry Shake" @@ -483,6 +520,7 @@ description = "An exotic milkshake." color = "#00F1FF" nutriment_factor = 4 * REAGENTS_METABOLISM + taste_description = "creamy blue cherry" /datum/reagent/consumable/pumpkin_latte name = "Pumpkin Latte" @@ -490,6 +528,7 @@ description = "A mix of pumpkin juice and coffee." color = "#F4A460" nutriment_factor = 3 * REAGENTS_METABOLISM + taste_description = "creamy pumpkin" /datum/reagent/consumable/gibbfloats name = "Gibb Floats" @@ -497,33 +536,39 @@ description = "Ice cream on top of a Dr. Gibb glass." color = "#B22222" nutriment_factor = 3 * REAGENTS_METABOLISM + taste_description = "creamy cherry" /datum/reagent/consumable/pumpkinjuice name = "Pumpkin Juice" id = "pumpkinjuice" description = "Juiced from real pumpkin." color = "#FFA500" + taste_description = "pumpkin" /datum/reagent/consumable/blumpkinjuice name = "Blumpkin Juice" id = "blumpkinjuice" description = "Juiced from real blumpkin." color = "#00BFFF" + taste_description = "a mouthful of pool water" /datum/reagent/consumable/triple_citrus name = "Triple Citrus" id = "triple_citrus" description = "A solution." color = "#C8A5DC" + taste_description = "extreme bitterness" /datum/reagent/consumable/grape_soda name = "Grape soda" id = "grapesoda" description = "Beloved of children and teetotalers." color = "#E6CDFF" + taste_description = "grape soda" /datum/reagent/consumable/milk/chocolate_milk name = "Chocolate Milk" id = "chocolate_milk" description = "Milk for cool kids." color = "#7D4E29" + taste_description = "chocolate milk" diff --git a/code/modules/reagents/chemistry/reagents/drug_reagents.dm b/code/modules/reagents/chemistry/reagents/drug_reagents.dm index 50058e1d230..c1c75a9d526 100644 --- a/code/modules/reagents/chemistry/reagents/drug_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drug_reagents.dm @@ -2,6 +2,7 @@ name = "Drug" id = "drug" metabolization_rate = 0.5 * REAGENTS_METABOLISM + taste_description = "bitterness" /datum/reagent/drug/space_drugs name = "Space drugs" @@ -35,6 +36,7 @@ reagent_state = LIQUID color = "#60A584" // rgb: 96, 165, 132 addiction_threshold = 30 + taste_description = "smoke" /datum/reagent/drug/nicotine/on_mob_life(mob/living/M) if(prob(1)) @@ -230,6 +232,7 @@ color = "#FAFAFA" overdose_threshold = 20 addiction_threshold = 10 + taste_description = "salt" // because they're bathsalts? /datum/reagent/drug/bath_salts/on_mob_life(mob/living/M) diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm index 2021ac98033..1180415607e 100644 --- a/code/modules/reagents/chemistry/reagents/food_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm @@ -10,6 +10,8 @@ /datum/reagent/consumable name = "Consumable" id = "consumable" + taste_description = "generic food" + taste_mult = 4 var/nutriment_factor = 1 * REAGENTS_METABOLISM /datum/reagent/consumable/on_mob_life(mob/living/M) @@ -25,34 +27,64 @@ nutriment_factor = 15 * REAGENTS_METABOLISM color = "#664330" // rgb: 102, 67, 48 + var/brute_heal = 1 + var/burn_heal = 0 + var/blood_gain = 0.4 + /datum/reagent/consumable/nutriment/on_mob_life(mob/living/M) if(prob(50)) - M.heal_bodypart_damage(1,0, 0) + M.heal_bodypart_damage(brute_heal,burn_heal, 0) . = 1 if(iscarbon(M)) var/mob/living/carbon/C = M if(C.blood_volume < BLOOD_VOLUME_NORMAL) - C.blood_volume += 0.4 + C.blood_volume += blood_gain ..() -/datum/reagent/consumable/vitamin +/datum/reagent/consumable/nutriment/on_new(list/supplied_data) + // taste data can sometimes be ("salt" = 3, "chips" = 1) + // and we want it to be in the form ("salt" = 0.75, "chips" = 0.25) + // which is called "normalizing" + if(!supplied_data) + supplied_data = data + + // if data isn't an associative list, this has some WEIRD side effects + // TODO probably check for assoc list? + + data = counterlist_normalise(supplied_data) + +/datum/reagent/consumable/nutriment/on_merge(list/newdata, newvolume) + if(!islist(newdata) || !newdata.len) + return + + // data for nutriment is one or more (flavour -> ratio) + // where all the ratio values adds up to 1 + + var/list/taste_amounts = data.Copy() + counterlist_scale(taste_amounts, volume) + + var/list/other_taste_amounts = newdata.Copy() + counterlist_scale(other_taste_amounts, newvolume) + + counterlist_combine(taste_amounts, other_taste_amounts) + + counterlist_normalise(taste_amounts) + + data = taste_amounts + +/datum/reagent/consumable/nutriment/vitamin name = "Vitamin" id = "vitamin" description = "All the best vitamins, minerals, and carbohydrates the body needs in pure form." - reagent_state = SOLID - color = "#664330" // rgb: 102, 67, 48 -/datum/reagent/consumable/vitamin/on_mob_life(mob/living/M) - if(prob(50)) - M.heal_bodypart_damage(1,1, 0) - . = 1 + brute_heal = 1 + burn_heal = 1 + blood_gain = 0.5 + +/datum/reagent/consumable/nutriment/vitamin/on_mob_life(mob/living/M) if(M.satiety < 600) M.satiety += 30 - if(iscarbon(M)) - var/mob/living/carbon/C = M - if(C.blood_volume < BLOOD_VOLUME_NORMAL) - C.blood_volume += 0.5 - ..() + . = ..() /datum/reagent/consumable/sugar name = "Sugar" @@ -60,9 +92,11 @@ description = "The organic compound commonly known as table sugar and sometimes called saccharose. This white, odorless, crystalline powder has a pleasing, sweet taste." reagent_state = SOLID color = "#FFFFFF" // rgb: 255, 255, 255 + taste_mult = 1.5 // stop sugar drowning out other flavours nutriment_factor = 10 * REAGENTS_METABOLISM metabolization_rate = 2 * REAGENTS_METABOLISM overdose_threshold = 200 // Hyperglycaemic shock + taste_description = "sweetness" /datum/reagent/consumable/sugar/overdose_start(mob/living/M) M << "You go into hyperglycaemic shock! Lay off the twinkies!" @@ -80,6 +114,7 @@ description = "A mixture of water and milk. Virus cells can use this mixture to reproduce." nutriment_factor = 2 * REAGENTS_METABOLISM color = "#899613" // rgb: 137, 150, 19 + taste_description = "watery milk" /datum/reagent/consumable/soysauce name = "Soysauce" @@ -87,6 +122,7 @@ description = "A salty sauce made from the soy plant." nutriment_factor = 2 * REAGENTS_METABOLISM color = "#792300" // rgb: 121, 35, 0 + taste_description = "umami" /datum/reagent/consumable/ketchup name = "Ketchup" @@ -94,6 +130,7 @@ description = "Ketchup, catsup, whatever. It's tomato paste." nutriment_factor = 5 * REAGENTS_METABOLISM color = "#731008" // rgb: 115, 16, 8 + taste_description = "ketchup" /datum/reagent/consumable/capsaicin @@ -101,6 +138,8 @@ id = "capsaicin" description = "This is what makes chilis hot." color = "#B31008" // rgb: 179, 16, 8 + taste_description = "hot peppers" + taste_mult = 1.5 /datum/reagent/consumable/capsaicin/on_mob_life(mob/living/M) switch(current_cycle) @@ -129,6 +168,7 @@ id = "frostoil" description = "A special oil that noticably chills the body. Extracted from Icepeppers and slimes." color = "#8BA6E9" // rgb: 139, 166, 233 + taste_description = "mint" /datum/reagent/consumable/frostoil/on_mob_life(mob/living/M) switch(current_cycle) @@ -171,6 +211,7 @@ id = "condensedcapsaicin" description = "A chemical agent used for self-defense and in police work." color = "#B31008" // rgb: 179, 16, 8 + taste_description = "scorching agony" /datum/reagent/consumable/condensedcapsaicin/reaction_mob(mob/living/M, method=TOUCH, reac_volume) if(!ishuman(M) && !ismonkey(M)) @@ -246,6 +287,7 @@ description = "A salt made of sodium chloride. Commonly used to season food." reagent_state = SOLID color = "#FFFFFF" // rgb: 255,255,255 + taste_description = "salt" /datum/reagent/consumable/sodiumchloride/reaction_mob(mob/living/M, method=TOUCH, reac_volume) if(!istype(M)) @@ -266,6 +308,7 @@ description = "A powder ground from peppercorns. *AAAACHOOO*" reagent_state = SOLID // no color (ie, black) + taste_description = "pepper" /datum/reagent/consumable/coco name = "Coco Powder" @@ -274,6 +317,7 @@ reagent_state = SOLID nutriment_factor = 5 * REAGENTS_METABOLISM color = "#302000" // rgb: 48, 32, 0 + taste_description = "bitterness" /datum/reagent/consumable/hot_coco name = "Hot Chocolate" @@ -281,6 +325,7 @@ description = "Made with love! And coco beans." nutriment_factor = 3 * REAGENTS_METABOLISM color = "#403010" // rgb: 64, 48, 16 + taste_description = "creamy chocolate" /datum/reagent/consumable/hot_coco/on_mob_life(mob/living/M) if (M.bodytemperature < 310)//310 is the normal bodytemp. 310.055 @@ -293,6 +338,7 @@ description = "A strong hallucinogenic drug derived from certain species of mushroom." color = "#E700E7" // rgb: 231, 0, 231 metabolization_rate = 0.2 * REAGENTS_METABOLISM + taste_description = "mushroom" /datum/reagent/mushroomhallucinogen/on_mob_life(mob/living/M) if(!M.slurring) @@ -322,6 +368,7 @@ id = "sprinkles" description = "Multi-colored little bits of sugar, commonly found on donuts. Loved by cops." color = "#FF00FF" // rgb: 255, 0, 255 + taste_description = "childhood whimsy" /datum/reagent/consumable/sprinkles/on_mob_life(mob/living/M) if(ishuman(M) && M.job in list("Security Officer", "Head of Security", "Detective", "Warden")) @@ -335,6 +382,7 @@ description = "An oil derived from various types of corn." nutriment_factor = 20 * REAGENTS_METABOLISM color = "#302000" // rgb: 48, 32, 0 + taste_description = "slime" /datum/reagent/consumable/cornoil/reaction_turf(turf/open/T, reac_volume) if (!istype(T)) @@ -353,6 +401,7 @@ id = "enzyme" description = "A universal enzyme used in the preperation of certain chemicals and foods." color = "#365E30" // rgb: 54, 94, 48 + taste_description = "sweetness" /datum/reagent/consumable/dry_ramen name = "Dry Ramen" @@ -360,6 +409,7 @@ description = "Space age food, since August 25, 1958. Contains dried noodles, vegetables, and chemicals that boil in contact with water." reagent_state = SOLID color = "#302000" // rgb: 48, 32, 0 + taste_description = "dry and cheap noodles" /datum/reagent/consumable/hot_ramen name = "Hot Ramen" @@ -367,6 +417,7 @@ description = "The noodles are boiled, the flavors are artificial, just like being back in school." nutriment_factor = 5 * REAGENTS_METABOLISM color = "#302000" // rgb: 48, 32, 0 + taste_description = "wet and cheap noodles" /datum/reagent/consumable/hot_ramen/on_mob_life(mob/living/M) if (M.bodytemperature < 310)//310 is the normal bodytemp. 310.055 @@ -379,6 +430,7 @@ description = "The noodles are boiled, the flavors are artificial, just like being back in school." nutriment_factor = 5 * REAGENTS_METABOLISM color = "#302000" // rgb: 48, 32, 0 + taste_description = "wet and cheap noodles on fire" /datum/reagent/consumable/hell_ramen/on_mob_life(mob/living/M) M.bodytemperature += 10 * TEMPERATURE_DAMAGE_COEFFICIENT @@ -390,6 +442,7 @@ description = "This is what you rub all over yourself to pretend to be a ghost." reagent_state = SOLID color = "#FFFFFF" // rgb: 0, 0, 0 + taste_description = "chalky wheat" /datum/reagent/consumable/flour/reaction_turf(turf/T, reac_volume) if(!isspaceturf(T)) @@ -401,12 +454,14 @@ id = "cherryjelly" description = "Totally the best. Only to be spread on foods with excellent lateral symmetry." color = "#801E28" // rgb: 128, 30, 40 + taste_description = "cherry" /datum/reagent/consumable/bluecherryjelly name = "Blue Cherry Jelly" id = "bluecherryjelly" description = "Blue and tastier kind of cherry jelly." color = "#00F0FF" + taste_description = "blue cherry" /datum/reagent/consumable/rice name = "Rice" @@ -415,6 +470,7 @@ reagent_state = SOLID nutriment_factor = 3 * REAGENTS_METABOLISM color = "#FFFFFF" // rgb: 0, 0, 0 + taste_description = "rice" /datum/reagent/consumable/vanilla name = "Vanilla Powder" @@ -423,18 +479,21 @@ reagent_state = SOLID nutriment_factor = 5 * REAGENTS_METABOLISM color = "#FFFACD" + taste_description = "vanilla" /datum/reagent/consumable/eggyolk name = "Egg Yolk" id = "eggyolk" description = "It's full of protein." color = "#FFB500" + taste_description = "egg" /datum/reagent/consumable/corn_starch name = "Corn Starch" id = "corn_starch" description = "A slippery solution." color = "#C8A5DC" + taste_description = "slime" /datum/reagent/consumable/corn_syrup name = "Corn Syrup" @@ -442,6 +501,7 @@ description = "Decays into sugar." color = "#C8A5DC" metabolization_rate = 3 * REAGENTS_METABOLISM + taste_description = "sweet slime" /datum/reagent/consumable/corn_syrup/on_mob_life(mob/living/M) holder.add_reagent("sugar", 3) @@ -453,6 +513,7 @@ description = "Sweet sweet honey, decays into sugar." color = "#d3a308" nutriment_factor = 15 * REAGENTS_METABOLISM + taste_description = "sweetness" /datum/reagent/consumable/honey/on_mob_life(mob/living/M) M.reagents.add_reagent("sugar",3) @@ -469,6 +530,8 @@ id = "entpoly" description = "An ichor, derived from a certain mushroom, makes for a bad time." color = "#1d043d" + taste_description = "bitter mushroom" + /datum/reagent/consumable/entpoly/on_mob_life(mob/living/M) if(current_cycle >= 10) M.Paralyse(2, 0) @@ -487,6 +550,7 @@ id = "tinlux" description = "A stimulating ichor which causes luminescent fungi to grow on the skin. " color = "#b5a213" + taste_description = "tingling mushroom" /datum/reagent/consumable/tinlux/reaction_mob(mob/living/M) M.AddLuminosity(2) @@ -500,10 +564,11 @@ description = "A bubbly paste that heals wounds of the skin." color = "#d3a308" nutriment_factor = 3 * REAGENTS_METABOLISM + taste_description = "fruity mushroom" /datum/reagent/consumable/vitfro/on_mob_life(mob/living/M) if(prob(80)) M.adjustBruteLoss(-1*REM, 0) M.adjustFireLoss(-1*REM, 0) . = TRUE - ..() \ No newline at end of file + ..() diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm index 67fc0608607..60a96d2d247 100644 --- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -8,6 +8,7 @@ /datum/reagent/medicine name = "Medicine" id = "medicine" + taste_description = "bitterness" /datum/reagent/medicine/on_mob_life(mob/living/M) current_cycle++ @@ -32,6 +33,7 @@ description = "It's magic. We don't have to explain it." color = "#C8A5DC" // rgb: 200, 165, 220 can_synth = 0 + taste_description = "badmins" /datum/reagent/medicine/adminordrazine/on_mob_life(mob/living/carbon/M) M.reagents.remove_all_type(/datum/reagent/toxin, 5*REM, 0, 1) @@ -70,6 +72,7 @@ name = "Nanites" id = "nanites" description = "Tiny nanomachines capable of rapid cellular regeneration." + taste_description = "sludge" /datum/reagent/medicine/synaptizine name = "Synaptizine" @@ -123,6 +126,7 @@ id = "cryoxadone" description = "A chemical mixture with almost magical healing powers. Its main limitation is that the patient's body temperature must be under 270K for it to metabolise correctly." color = "#0000C8" + taste_description = "sludge" /datum/reagent/medicine/cryoxadone/on_mob_life(mob/living/M) switch(M.bodytemperature) // Low temperatures are required to take effect. @@ -160,6 +164,7 @@ reagent_state = SOLID color = "#669900" // rgb: 102, 153, 0 overdose_threshold = 30 + taste_description = "fish" /datum/reagent/medicine/rezadone/on_mob_life(mob/living/M) M.setCloneLoss(0) //Rezadone is almost never used in favor of cryoxadone. Hopefully this will change that. @@ -264,6 +269,7 @@ reagent_state = LIQUID color = "#DCDCDC" metabolization_rate = 0.5 * REAGENTS_METABOLISM + taste_description = "sweetness and salt" /datum/reagent/medicine/salglu_solution/on_mob_life(mob/living/M) if(prob(33)) @@ -351,6 +357,7 @@ reagent_state = LIQUID color = "#000000" metabolization_rate = 0.5 * REAGENTS_METABOLISM + taste_description = "ash" /datum/reagent/medicine/charcoal/on_mob_life(mob/living/M) M.adjustToxLoss(-2*REM, 0) @@ -392,6 +399,7 @@ reagent_state = LIQUID color = "#19C832" metabolization_rate = 0.5 * REAGENTS_METABOLISM + taste_description = "acid" /datum/reagent/medicine/calomel/on_mob_life(mob/living/M) for(var/datum/reagent/R in M.reagents.reagent_list) @@ -640,6 +648,7 @@ reagent_state = LIQUID color = "#FFFFFF" metabolization_rate = 0.25 * REAGENTS_METABOLISM + taste_description = "dull toxin" /datum/reagent/medicine/oculine/on_mob_life(mob/living/M) if(M.disabilities & BLIND) @@ -733,6 +742,7 @@ reagent_state = LIQUID color = "#A0E85E" metabolization_rate = 0.5 * REAGENTS_METABOLISM + taste_description = "magnets" /datum/reagent/medicine/strange_reagent/reaction_mob(mob/living/carbon/human/M, method=TOUCH, reac_volume) if(M.stat == DEAD) @@ -776,6 +786,7 @@ id = "mutadone" description = "Removes jitteriness and restores genetic defects." color = "#5096C8" + taste_description = "acid" /datum/reagent/medicine/mutadone/on_mob_life(mob/living/carbon/human/M) M.jitteriness = 0 @@ -788,6 +799,7 @@ id = "antihol" description = "Purges alcoholic substance from the patient's body and eliminates its side effects." color = "#00B4C8" + taste_description = "raw egg" /datum/reagent/medicine/antihol/on_mob_life(mob/living/M) M.dizziness = 0 @@ -947,6 +959,7 @@ reagent_state = LIQUID color = "#C8A5DC" overdose_threshold = 30 + taste_description = "a roll of gauze" /datum/reagent/medicine/antitoxin/on_mob_life(mob/living/M) M.adjustToxLoss(-2*REM, 0) @@ -980,6 +993,7 @@ reagent_state = LIQUID color = "#C8A5DC" overdose_threshold = 30 + taste_description = "grossness" /datum/reagent/medicine/tricordrazine/on_mob_life(mob/living/M) if(prob(80)) diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index c9b674f49a5..b8a02e0b0e0 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -1,10 +1,11 @@ - /datum/reagent/blood data = list("donor"=null,"viruses"=null,"blood_DNA"=null,"blood_type"=null,"resistances"=null,"trace_chem"=null,"mind"=null,"ckey"=null,"gender"=null,"real_name"=null,"cloneable"=null,"factions"=null) name = "Blood" id = "blood" color = "#C80000" // rgb: 200, 0, 0 metabolization_rate = 5 //fast rate so it disappears fast. + taste_description = "iron" + taste_mult = 1.3 /datum/reagent/blood/reaction_mob(mob/M, method=TOUCH, reac_volume) if(data && data["viruses"]) @@ -79,12 +80,14 @@ id = "liquidgibs" color = "#FF9966" description = "You don't even want to think about what's in here." + taste_description = "gross iron" /datum/reagent/vaccine //data must contain virus type name = "Vaccine" id = "vaccine" color = "#C81040" // rgb: 200, 16, 64 + taste_description = "slime" /datum/reagent/vaccine/reaction_mob(mob/M, method=TOUCH, reac_volume) if(islist(data) && (method == INGEST || method == INJECT)) @@ -102,6 +105,7 @@ id = "water" description = "A ubiquitous chemical substance that is composed of hydrogen and oxygen." color = "#AAAAAA77" // rgb: 170, 170, 170, 77 (alpha) + taste_description = "water" var/cooling_temperature = 2 /* @@ -214,6 +218,7 @@ name = "Unholy Water" id = "unholywater" description = "Something that shouldn't exist on this plane of existence." + taste_description = "suffering" /datum/reagent/fuel/unholywater/reaction_mob(mob/living/M, method=TOUCH, reac_volume) if(method == TOUCH || method == VAPOR) @@ -244,6 +249,7 @@ name = "Hell Water" id = "hell_water" description = "YOUR FLESH! IT BURNS!" + taste_description = "burning" /datum/reagent/hellwater/on_mob_life(mob/living/M) M.fire_stacks = min(5,M.fire_stacks + 3) @@ -264,6 +270,7 @@ id = "lube" description = "Lubricant is a substance introduced between two moving surfaces to reduce the friction and wear between them. giggity." color = "#009CA8" // rgb: 0, 156, 168 + taste_description = "cherry" // by popular demand /datum/reagent/lube/reaction_turf(turf/open/T, reac_volume) if (!istype(T)) @@ -278,6 +285,7 @@ color = "#FFC080" // rgb: 255, 196, 128 Bright orange metabolization_rate = 10 * REAGENTS_METABOLISM // very fast, so it can be applied rapidly. But this changes on an overdose overdose_threshold = 11 //Slightly more than one un-nozzled spraybottle. + taste_description = "sour oranges" /datum/reagent/spraytan/reaction_mob(mob/living/M, method=TOUCH, reac_volume, show_message = 1) if(ishuman(M)) @@ -370,6 +378,7 @@ description = "A humanizing toxin produced by slimes." color = "#5EFF3B" //RGB: 94, 255, 59 metabolization_rate = INFINITY //So it instantly removes all of itself + taste_description = "slime" var/datum/species/race = /datum/species/human var/mutationtext = "The pain subsides. You feel... human." @@ -523,6 +532,7 @@ description = "This toxin will rapidly change the DNA of human beings. Commonly used by Syndicate spies and assassins in need of an emergency ID change." color = "#5EFF3B" //RGB: 94, 255, 59 metabolization_rate = INFINITY + taste_description = "slime" /datum/reagent/mulligan/on_mob_life(mob/living/carbon/human/H) H << "You grit your teeth in pain as your body rapidly mutates!" @@ -535,6 +545,7 @@ id = "amutationtoxin" description = "An advanced corruptive toxin produced by slimes." color = "#13BC5E" // rgb: 19, 188, 94 + taste_description = "slime" /datum/reagent/aslimetoxin/reaction_mob(mob/M, method=TOUCH, reac_volume) if(method != TOUCH) @@ -546,6 +557,7 @@ description = "An advanced corruptive toxin produced by something terrible." color = "#5EFF3B" //RGB: 94, 255, 59 can_synth = 0 + taste_description = "decay" /datum/reagent/gluttonytoxin/reaction_mob(mob/M, method=TOUCH, reac_volume) M.ForceContractDisease(new /datum/disease/transformation/morph(0)) @@ -556,6 +568,7 @@ description = "A chemical compound that promotes concentrated production of the serotonin neurotransmitter in humans." color = "#202040" // rgb: 20, 20, 40 metabolization_rate = 0.25 * REAGENTS_METABOLISM + taste_description = "bitterness" /datum/reagent/serotrotium/on_mob_life(mob/living/M) if(ishuman(M)) @@ -569,6 +582,7 @@ description = "A colorless, odorless gas. Grows on trees but is still pretty valuable." reagent_state = GAS color = "#808080" // rgb: 128, 128, 128 + taste_mult = 0 // oderless and tasteless /datum/reagent/oxygen/reaction_obj(obj/O, reac_volume) if((!O) || (!reac_volume)) @@ -586,6 +600,7 @@ description = "A highly ductile metal. Things made out of copper aren't very durable, but it makes a decent material for electrical wiring." reagent_state = SOLID color = "#6E3B08" // rgb: 110, 59, 8 + taste_description = "metal" /datum/reagent/nitrogen name = "Nitrogen" @@ -593,6 +608,7 @@ description = "A colorless, odorless, tasteless gas. A simple asphyxiant that can silently displace vital oxygen." reagent_state = GAS color = "#808080" // rgb: 128, 128, 128 + taste_mult = 0 /datum/reagent/nitrogen/reaction_obj(obj/O, reac_volume) if((!O) || (!reac_volume)) @@ -610,6 +626,7 @@ description = "A colorless, odorless, nonmetallic, tasteless, highly combustible diatomic gas." reagent_state = GAS color = "#808080" // rgb: 128, 128, 128 + taste_mult = 0 /datum/reagent/potassium name = "Potassium" @@ -617,12 +634,14 @@ description = "A soft, low-melting solid that can easily be cut with a knife. Reacts violently with water." reagent_state = SOLID color = "#A0A0A0" // rgb: 160, 160, 160 + taste_description = "sweetness" /datum/reagent/mercury name = "Mercury" id = "mercury" description = "A curious metal that's a liquid at room temperature. Neurodegenerative and very bad for the mind." - color = "#484848" // rgb: 72, 72, 72 + color = "#484848" // rgb: 72, 72, 72A + taste_mult = 0 // apparently tasteless. /datum/reagent/mercury/on_mob_life(mob/living/M) if(M.canmove && isspaceturf(M.loc)) @@ -638,6 +657,7 @@ description = "A sickly yellow solid mostly known for its nasty smell. It's actually much more helpful than it looks in biochemisty." reagent_state = SOLID color = "#BF8C00" // rgb: 191, 140, 0 + taste_description = "rotten eggs" /datum/reagent/carbon name = "Carbon" @@ -645,6 +665,7 @@ description = "A crumbly black solid that, while unexciting on an physical level, forms the base of all known life. Kind of a big deal." reagent_state = SOLID color = "#1C1300" // rgb: 30, 20, 0 + taste_description = "sour chalk" /datum/reagent/carbon/reaction_turf(turf/T, reac_volume) if(!isspaceturf(T)) @@ -658,6 +679,7 @@ description = "A pale yellow gas that's well known as an oxidizer. While it forms many harmless molecules in its elemental form it is far from harmless." reagent_state = GAS color = "#808080" // rgb: 128, 128, 128 + taste_description = "chlorine" /datum/reagent/chlorine/on_mob_life(mob/living/M) M.take_bodypart_damage(1*REM, 0, 0) @@ -670,6 +692,7 @@ description = "A comically-reactive chemical element. The universe does not want this stuff to exist in this form in the slightest." reagent_state = GAS color = "#808080" // rgb: 128, 128, 128 + taste_description = "acid" /datum/reagent/fluorine/on_mob_life(mob/living/M) M.adjustToxLoss(1*REM, 0) @@ -682,6 +705,7 @@ description = "A soft silver metal that can easily be cut with a knife. It's not salt just yet, so refrain from putting in on your chips." reagent_state = SOLID color = "#808080" // rgb: 128, 128, 128 + taste_description = "salty metal" /datum/reagent/phosphorus name = "Phosphorus" @@ -689,6 +713,7 @@ description = "A ruddy red powder that burns readily. Though it comes in many colors, the general theme is always the same." reagent_state = SOLID color = "#832828" // rgb: 131, 40, 40 + taste_description = "vinegar" /datum/reagent/lithium name = "Lithium" @@ -696,6 +721,7 @@ description = "A silver metal, its claim to fame is its remarkably low density. Using it is a bit too effective in calming oneself down." reagent_state = SOLID color = "#808080" // rgb: 128, 128, 128 + taste_description = "metal" /datum/reagent/lithium/on_mob_life(mob/living/M) if(M.canmove && isspaceturf(M.loc)) @@ -709,6 +735,7 @@ id = "glycerol" description = "Glycerol is a simple polyol compound. Glycerol is sweet-tasting and of low toxicity." color = "#808080" // rgb: 128, 128, 128 + taste_description = "sweetness" /datum/reagent/radium name = "Radium" @@ -716,6 +743,7 @@ description = "Radium is an alkaline earth metal. It is extremely radioactive." reagent_state = SOLID color = "#C7C7C7" // rgb: 199,199,199 + taste_description = "the colour blue and regret" /datum/reagent/radium/on_mob_life(mob/living/M) M.apply_effect(2*REM/M.metabolism_efficiency,IRRADIATE,0) @@ -734,6 +762,7 @@ id = "sterilizine" description = "Sterilizes wounds in preparation for surgery." color = "#C8A5DC" // rgb: 200, 165, 220 + taste_description = "bitterness" /datum/reagent/space_cleaner/sterilizine/reaction_mob(mob/living/M, method=TOUCH, reac_volume) if(iscarbon(M) && (method in list(TOUCH, VAPOR, PATCH))) @@ -749,6 +778,7 @@ id = "iron" description = "Pure iron is a metal." reagent_state = SOLID + taste_description = "iron" color = "#C8A5DC" // rgb: 200, 165, 220 @@ -773,6 +803,7 @@ description = "Gold is a dense, soft, shiny metal and the most malleable and ductile metal known." reagent_state = SOLID color = "#F7C430" // rgb: 247, 196, 48 + taste_description = "expensive metal" /datum/reagent/silver name = "Silver" @@ -780,6 +811,7 @@ description = "A soft, white, lustrous transition metal, it has the highest electrical conductivity of any element and the highest thermal conductivity of any metal." reagent_state = SOLID color = "#D0D0D0" // rgb: 208, 208, 208 + taste_description = "expensive yet reasonable metal" /datum/reagent/silver/reaction_mob(mob/living/M, method=TOUCH, reac_volume) if(!isliving(M)) @@ -794,6 +826,7 @@ description = "A silvery-white metallic chemical element in the actinide series, weakly radioactive." reagent_state = SOLID color = "#B8B8C0" // rgb: 184, 184, 192 + taste_description = "the inside of a reactor" /datum/reagent/uranium/on_mob_life(mob/living/M) M.apply_effect(1/M.metabolism_efficiency,IRRADIATE,0) @@ -813,6 +846,7 @@ description = "A dust composed of microscopic bluespace crystals, with minor space-warping properties." reagent_state = SOLID color = "#0000CC" + taste_description = "fizzling blue" /datum/reagent/bluespace/reaction_mob(mob/living/M, method=TOUCH, reac_volume) if(method == TOUCH || method == VAPOR) @@ -833,6 +867,7 @@ description = "A silvery white and ductile member of the boron group of chemical elements." reagent_state = SOLID color = "#A8A8A8" // rgb: 168, 168, 168 + taste_description = "metal" /datum/reagent/silicon name = "Silicon" @@ -840,12 +875,14 @@ description = "A tetravalent metalloid, silicon is less reactive than its chemical analog carbon." reagent_state = SOLID color = "#A8A8A8" // rgb: 168, 168, 168 + taste_mult = 0 /datum/reagent/fuel name = "Welding fuel" id = "welding_fuel" description = "Required for welders. Flamable." color = "#660000" // rgb: 102, 0, 0 + taste_description = "gross metal" /datum/reagent/fuel/reaction_mob(mob/living/M, method=TOUCH, reac_volume)//Splashing people with welding fuel to make them easy to ignite! if(!isliving(M)) @@ -865,6 +902,7 @@ id = "cleaner" description = "A compound used to clean things. Now with 50% more sodium hypochlorite!" color = "#A5F0EE" // rgb: 165, 240, 238 + taste_description = "sourness" /datum/reagent/space_cleaner/reaction_obj(obj/O, reac_volume) if(istype(O,/obj/effect/decal/cleanable)) @@ -921,6 +959,7 @@ id = "ez_clean" description = "A powerful, acidic cleaner sold by Waffle Co. Affects organic matter while leaving other objects unaffected." metabolization_rate = 1.5 * REAGENTS_METABOLISM + taste_description = "acid" /datum/reagent/space_cleaner/ez_clean/on_mob_life(mob/living/M) M.adjustBruteLoss(3.33) @@ -940,6 +979,7 @@ description = "Cryptobiolin causes confusion and dizziness." color = "#C8A5DC" // rgb: 200, 165, 220 metabolization_rate = 1.5 * REAGENTS_METABOLISM + taste_description = "sourness" /datum/reagent/cryptobiolin/on_mob_life(mob/living/M) M.Dizzy(1) @@ -952,7 +992,8 @@ name = "Impedrezene" id = "impedrezene" description = "Impedrezene is a narcotic that impedes one's ability by slowing down the higher brain cell functions." - color = "#C8A5DC" // rgb: 200, 165, 220 + color = "#C8A5DC" // rgb: 200, 165, 220A + taste_description = "numbness" /datum/reagent/impedrezene/on_mob_life(mob/living/M) M.jitteriness = max(M.jitteriness-5,0) @@ -970,6 +1011,7 @@ description = "Microscopic construction robots." color = "#535E66" // rgb: 83, 94, 102 can_synth = 0 + taste_description = "sludge" /datum/reagent/nanites/reaction_mob(mob/M, method=TOUCH, reac_volume, show_message = 1, touch_protection = 0) if(method==PATCH || method==INGEST || method==INJECT || (method == VAPOR && prob(min(reac_volume,100)*(1 - touch_protection)))) @@ -981,6 +1023,7 @@ description = "Microbes with an entirely alien cellular structure." color = "#535E66" // rgb: 83, 94, 102 can_synth = 0 + taste_description = "sludge" /datum/reagent/xenomicrobes/reaction_mob(mob/M, method=TOUCH, reac_volume, show_message = 1, touch_protection = 0) if(method==PATCH || method==INGEST || method==INJECT || (method == VAPOR && prob(min(reac_volume,100)*(1 - touch_protection)))) @@ -991,6 +1034,7 @@ id = "fungalspores" description = "Active fungal spores." color = "#92D17D" // rgb: 146, 209, 125 + taste_description = "slime" /datum/reagent/fungalspores/reaction_mob(mob/M, method=TOUCH, reac_volume, show_message = 1, touch_protection = 0) if(method==PATCH || method==INGEST || method==INJECT || (method == VAPOR && prob(min(reac_volume,100)*(1 - touch_protection)))) @@ -1001,6 +1045,7 @@ id = "fluorosurfactant" description = "A perfluoronated sulfonic acid that forms a foam when mixed with water." color = "#9E6B38" // rgb: 158, 107, 56 + taste_description = "metal" /datum/reagent/foaming_agent// Metal foaming agent. This is lithium hydride. Add other recipes (e.g. LiH + H2O -> LiOH + H2) eventually. name = "Foaming agent" @@ -1008,6 +1053,7 @@ description = "A agent that yields metallic foam when mixed with light metal and a strong acid." reagent_state = SOLID color = "#664B63" // rgb: 102, 75, 99 + taste_description = "metal" /datum/reagent/ammonia name = "Ammonia" @@ -1015,12 +1061,14 @@ description = "A caustic substance commonly used in fertilizer or household cleaners." reagent_state = GAS color = "#404030" // rgb: 64, 64, 48 + taste_description = "mordant" /datum/reagent/diethylamine name = "Diethylamine" id = "diethylamine" description = "A secondary amine, mildly corrosive." color = "#604030" // rgb: 96, 64, 48 + taste_description = "iron" /datum/reagent/carbondioxide name = "Carbon Dioxide" @@ -1028,6 +1076,7 @@ reagent_state = GAS description = "A gas commonly produced by burning carbon fuels. You're constantly producing this in your lungs." color = "#B0B0B0" // rgb : 192, 192, 192 + taste_description = "something unknowable" /datum/reagent/carbondioxide/reaction_obj(obj/O, reac_volume) if((!O) || (!reac_volume)) @@ -1045,6 +1094,7 @@ description = "A potent oxidizer used as fuel in rockets and as an anaesthetic during surgery." reagent_state = LIQUID color = "#808080" + taste_description = "numbness" /datum/reagent/nitrous_oxide/reaction_obj(obj/O, reac_volume) if((!O) || (!reac_volume)) @@ -1054,7 +1104,6 @@ /datum/reagent/nitrous_oxide/reaction_turf(turf/open/T, reac_volume) if(istype(T)) T.atmos_spawn_air("n2o=[reac_volume/5];TEMP=[T20C]") - return @@ -1069,6 +1118,7 @@ description = "A powder made by grinding down crayons, good for colouring chemical reagents." reagent_state = SOLID color = "#FFFFFF" // rgb: 207, 54, 0 + taste_description = "the back of class" /datum/reagent/crayonpowder/New() description = "\an [colorname] powder made by grinding down crayons, good for colouring chemical reagents." @@ -1126,6 +1176,7 @@ description = "Some kind of nutriment. You can't really tell what it is. You should probably report it, along with how you obtained it." color = "#000000" // RBG: 0, 0, 0 var/tox_prob = 0 + taste_description = "plant food" /datum/reagent/plantnutriment/on_mob_life(mob/living/M) if(prob(tox_prob)) @@ -1170,6 +1221,7 @@ description = "Burns in a small smoky fire, mostly used to get Ash." reagent_state = LIQUID color = "#C8A5DC" + taste_description = "oil" /datum/reagent/stable_plasma name = "Stable Plasma" @@ -1177,6 +1229,8 @@ description = "Non-flammable plasma locked into a liquid form that cannot ignite or become gaseous/solid." reagent_state = LIQUID color = "#C8A5DC" + taste_description = "bitterness" + taste_mult = 1.5 /datum/reagent/stable_plasma/on_mob_life(mob/living/M) if(iscarbon(M)) @@ -1191,6 +1245,7 @@ description = "Commonly added to table salt as a nutrient. On its own it tastes far less pleasing." reagent_state = LIQUID color = "#C8A5DC" + taste_description = "metal" /datum/reagent/carpet name = "Carpet" @@ -1198,6 +1253,7 @@ description = "For those that need a more creative way to roll out a red carpet." reagent_state = LIQUID color = "#C8A5DC" + taste_description = "carpet" // Your tounge feels furry. /datum/reagent/carpet/reaction_turf(turf/T, reac_volume) if(istype(T, /turf/open/floor/plating) || istype(T, /turf/open/floor/plasteel)) @@ -1212,6 +1268,7 @@ description = "A brownish liquid that's highly reactive. Useful for stopping free radicals, but not intended for human consumption." reagent_state = LIQUID color = "#C8A5DC" + taste_description = "chemicals" /datum/reagent/phenol name = "Phenol" @@ -1219,6 +1276,7 @@ description = "An aromatic ring of carbon with a hydroxyl group. A useful precursor to some medicines, but has no healing properties on its own." reagent_state = LIQUID color = "#C8A5DC" + taste_description = "acid" /datum/reagent/ash name = "Ash" @@ -1226,6 +1284,7 @@ description = "Supposedly phoenixes rise from these, but you've never seen it." reagent_state = LIQUID color = "#C8A5DC" + taste_description = "ash" /datum/reagent/acetone name = "Acetone" @@ -1233,6 +1292,7 @@ description = "A slick, slightly carcinogenic liquid. Has a multitude of mundane uses in everyday life." reagent_state = LIQUID color = "#C8A5DC" + taste_description = "acid" /datum/reagent/colorful_reagent name = "Colorful Reagent" @@ -1241,13 +1301,13 @@ reagent_state = LIQUID color = "#C8A5DC" var/list/random_color_list = list("#00aedb","#a200ff","#f47835","#d41243","#d11141","#00b159","#00aedb","#f37735","#ffc425","#008744","#0057e7","#d62d20","#ffa700") + taste_description = "rainbows" /datum/reagent/colorful_reagent/on_mob_life(mob/living/M) if(M && isliving(M)) M.add_atom_colour(pick(random_color_list), WASHABLE_COLOUR_PRIORITY) ..() - return /datum/reagent/colorful_reagent/reaction_mob(mob/living/M, reac_volume) if(M && isliving(M)) @@ -1271,6 +1331,7 @@ reagent_state = LIQUID color = "#C8A5DC" var/list/potential_colors = list("0ad","a0f","f73","d14","d14","0b5","0ad","f73","fc2","084","05e","d22","fa0") // fucking hair code + taste_description = "sourness" /datum/reagent/hair_dye/reaction_mob(mob/living/M, method=TOUCH, reac_volume) if(method == TOUCH || method == VAPOR) @@ -1286,6 +1347,7 @@ description = "A solution to hair loss across the world." reagent_state = LIQUID color = "#C8A5DC" + taste_description = "sourness" /datum/reagent/barbers_aid/reaction_mob(mob/living/M, method=TOUCH, reac_volume) if(method == TOUCH || method == VAPOR) @@ -1303,6 +1365,7 @@ description = "A concentrated solution to hair loss across the world." reagent_state = LIQUID color = "#C8A5DC" + taste_description = "sourness" /datum/reagent/concentrated_barbers_aid/reaction_mob(mob/living/M, method=TOUCH, reac_volume) if(method == TOUCH || method == VAPOR) @@ -1318,6 +1381,7 @@ description = "Volatile. Controversial. Third Thing." reagent_state = LIQUID color = "#60A584" // rgb: 96, 165, 132 + taste_description = "cool salt" /datum/reagent/lye name = "Lye" @@ -1325,6 +1389,7 @@ description = "Also known as sodium hydroxide. As a profession making this is somewhat underwhelming." reagent_state = LIQUID color = "#FFFFD6" // very very light yellow + taste_description = "acid" /datum/reagent/drying_agent name = "Drying agent" @@ -1332,6 +1397,7 @@ description = "A desiccant. Can be used to dry things." reagent_state = LIQUID color = "#A70FFF" + taste_description = "dryness" /datum/reagent/drying_agent/reaction_turf(turf/open/T, reac_volume) if(istype(T) && T.wet) @@ -1350,41 +1416,51 @@ name = "mutagenic agar" id = "mutagenvirusfood" color = "#A3C00F" // rgb: 163,192,15 + taste_description = "sourness" /datum/reagent/toxin/mutagen/mutagenvirusfood/sugar name = "sucrose agar" id = "sugarvirusfood" color = "#41B0C0" // rgb: 65,176,192 + taste_description = "sweetness" /datum/reagent/medicine/synaptizine/synaptizinevirusfood name = "virus rations" id = "synaptizinevirusfood" color = "#D18AA5" // rgb: 209,138,165 + taste_description = "bitterness" /datum/reagent/toxin/plasma/plasmavirusfood name = "virus plasma" id = "plasmavirusfood" color = "#A69DA9" // rgb: 166,157,169 + taste_description = "bitterness" + taste_mult = 1.5 /datum/reagent/toxin/plasma/plasmavirusfood/weak name = "weakened virus plasma" id = "weakplasmavirusfood" color = "#CEC3C6" // rgb: 206,195,198 + taste_description = "bitterness" + taste_mult = 1.5 /datum/reagent/uranium/uraniumvirusfood name = "decaying uranium gel" id = "uraniumvirusfood" color = "#67ADBA" // rgb: 103,173,186 + taste_description = "the inside of a reactor" /datum/reagent/uranium/uraniumvirusfood/unstable name = "unstable uranium gel" id = "uraniumplasmavirusfood_unstable" color = "#2FF2CB" // rgb: 47,242,203 + taste_description = "the inside of a reactor" /datum/reagent/uranium/uraniumvirusfood/stable name = "stable uranium gel" id = "uraniumplasmavirusfood_stable" color = "#04506C" // rgb: 4,80,108 + taste_description = "the inside of a reactor" // Bee chemicals @@ -1393,6 +1469,7 @@ id = "royal_bee_jelly" description = "Royal Bee Jelly, if injected into a Queen Space Bee said bee will split into two bees." color = "#00ff80" + taste_description = "strange honey" /datum/reagent/royal_bee_jelly/on_mob_life(mob/living/M) if(prob(2)) @@ -1413,6 +1490,7 @@ color = "#123524" // RGB (18, 53, 36) metabolization_rate = INFINITY can_synth = 0 + taste_description = "brains" /datum/reagent/romerol/on_mob_life(mob/living/carbon/human/H) // Silently add the zombie infection organ to be activated upon death @@ -1425,6 +1503,7 @@ description = "A commercial chemical designed to help older men in the bedroom."//not really it just makes you a giant color = "#ff0000"//strong red. rgb 255, 0, 0 var/current_size = 1 + taste_description = "bitterness" // apparently what viagra tastes like /datum/reagent/growthserum/on_mob_life(mob/living/carbon/H) var/newsize = current_size diff --git a/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm b/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm index 85f553fcc28..5c244e8c340 100644 --- a/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm @@ -5,6 +5,7 @@ description = "Thermite produces an aluminothermic reaction known as a thermite reaction. Can be used to melt walls." reagent_state = SOLID color = "#550000" + taste_description = "sweet tasting metal" /datum/reagent/thermite/reaction_turf(turf/T, reac_volume) if(reac_volume >= 1 && iswallturf(T)) @@ -26,6 +27,7 @@ id = "nitroglycerin" description = "Nitroglycerin is a heavy, colorless, oily, explosive liquid obtained by nitrating glycerol." color = "#808080" // rgb: 128, 128, 128 + taste_description = "oil" /datum/reagent/stabilizing_agent name = "Stabilizing Agent" @@ -33,6 +35,7 @@ description = "Keeps unstable chemicals stable. This does not work on everything." reagent_state = LIQUID color = "#FFFF00" + taste_description = "metal" /datum/reagent/clf3 name = "Chlorine Trifluoride" @@ -41,6 +44,7 @@ reagent_state = LIQUID color = "#FFC8C8" metabolization_rate = 4 + taste_description = "burning" /datum/reagent/clf3/on_mob_life(mob/living/M) M.adjust_fire_stacks(2) @@ -83,6 +87,7 @@ description = "Sends everything flying from the detonation point." reagent_state = LIQUID color = "#5A64C8" + taste_description = "air and bitterness" /datum/reagent/liquid_dark_matter name = "Liquid Dark Matter" @@ -90,6 +95,7 @@ description = "Sucks everything into the detonation point." reagent_state = LIQUID color = "#210021" + taste_description = "compressed bitterness" /datum/reagent/blackpowder name = "Black Powder" @@ -98,6 +104,7 @@ reagent_state = LIQUID color = "#000000" metabolization_rate = 0.05 + taste_description = "salt" /datum/reagent/blackpowder/on_ex_act() var/location = get_turf(holder.my_atom) @@ -112,6 +119,7 @@ description = "Makes a very bright flash." reagent_state = LIQUID color = "#C8C8C8" + taste_description = "salt" /datum/reagent/smoke_powder name = "Smoke Powder" @@ -119,6 +127,7 @@ description = "Makes a large cloud of smoke that can carry reagents." reagent_state = LIQUID color = "#C8C8C8" + taste_description = "smoke" /datum/reagent/sonic_powder name = "Sonic Powder" @@ -126,6 +135,7 @@ description = "Makes a deafening noise." reagent_state = LIQUID color = "#C8C8C8" + taste_description = "loud noises" /datum/reagent/phlogiston name = "Phlogiston" @@ -133,6 +143,7 @@ description = "Catches you on fire and makes you ignite." reagent_state = LIQUID color = "#FA00AF" + taste_description = "burning" /datum/reagent/phlogiston/reaction_mob(mob/living/M, method=TOUCH, reac_volume) M.IgniteMob() @@ -151,6 +162,7 @@ description = "Very flammable." reagent_state = LIQUID color = "#FA00AF" + taste_description = "burning" /datum/reagent/napalm/on_mob_life(mob/living/M) M.adjust_fire_stacks(1) @@ -167,6 +179,7 @@ description = "Comes into existence at 20K. As long as there is sufficient oxygen for it to react with, Cryostylane slowly cools all other reagents in the container 0K." color = "#0000DC" metabolization_rate = 0.5 * REAGENTS_METABOLISM + taste_description = "bitterness" /datum/reagent/cryostylane/on_mob_life(mob/living/M) //TODO: code freezing into an ice cube @@ -193,6 +206,7 @@ description = "Comes into existence at 20K. As long as there is sufficient oxygen for it to react with, Pyrosium slowly heats all other reagents in the container." color = "#64FAC8" metabolization_rate = 0.5 * REAGENTS_METABOLISM + taste_description = "bitterness" /datum/reagent/pyrosium/on_mob_life(mob/living/M) if(M.reagents.has_reagent("oxygen")) @@ -214,6 +228,7 @@ reagent_state = LIQUID color = "#20324D" //RGB: 32, 50, 77 metabolization_rate = 0.5 * REAGENTS_METABOLISM + taste_description = "charged metal" var/shock_timer = 0 /datum/reagent/teslium/on_mob_life(mob/living/M) @@ -222,4 +237,4 @@ shock_timer = 0 M.electrocute_act(rand(5,20), "Teslium in their body", 1, 1) //Override because it's caused from INSIDE of you playsound(M, "sparks", 50, 1) - ..() \ No newline at end of file + ..() diff --git a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm index 24ca24a3d3f..657704cf1d0 100644 --- a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm @@ -6,6 +6,8 @@ id = "toxin" description = "A toxic chemical." color = "#CF3600" // rgb: 207, 54, 0 + taste_description = "bitterness" + taste_mult = 1.2 var/toxpwr = 1.5 /datum/reagent/toxin/on_mob_life(mob/living/M) @@ -20,6 +22,7 @@ description = "A powerful poison derived from certain species of mushroom." color = "#792300" // rgb: 121, 35, 0 toxpwr = 2.5 + taste_description = "mushroom" /datum/reagent/toxin/mutagen name = "Unstable mutagen" @@ -27,6 +30,8 @@ description = "Might cause unpredictable mutations. Keep away from children." color = "#00FF00" toxpwr = 0 + taste_description = "slime" + taste_mult = 0.9 /datum/reagent/toxin/mutagen/reaction_mob(mob/living/carbon/M, method=TOUCH, reac_volume) if(!..()) @@ -52,6 +57,8 @@ name = "Plasma" id = "plasma" description = "Plasma in its liquid form." + taste_description = "bitterness" + taste_mult = 1.5 color = "#8228A0" toxpwr = 3 @@ -87,6 +94,7 @@ description = "A powerful poison used to stop respiration." color = "#7DC3A0" toxpwr = 0 + taste_description = "acid" /datum/reagent/toxin/lexorin/on_mob_life(mob/living/M) . = TRUE @@ -111,6 +119,8 @@ description = "A gooey semi-liquid produced from one of the deadliest lifeforms in existence. SO REAL." color = "#801E28" // rgb: 128, 30, 40 toxpwr = 0 + taste_description = "slime" + taste_mult = 1.3 /datum/reagent/toxin/slimejelly/on_mob_life(mob/living/M) if(prob(10)) @@ -128,6 +138,7 @@ description = "Useful for dealing with undesirable customers." color = "#CF3600" // rgb: 207, 54, 0 toxpwr = 0 + taste_description = "mint" /datum/reagent/toxin/minttoxin/on_mob_life(mob/living/M) if(M.disabilities & FAT) @@ -140,6 +151,7 @@ description = "A deadly neurotoxin produced by the dreaded spess carp." color = "#003333" // rgb: 0, 51, 51 toxpwr = 2 + taste_description = "fish" /datum/reagent/toxin/zombiepowder name = "Zombie Powder" @@ -148,6 +160,7 @@ reagent_state = SOLID color = "#669900" // rgb: 102, 153, 0 toxpwr = 0.5 + taste_description = "death" /datum/reagent/toxin/zombiepowder/on_mob_life(mob/living/carbon/M) M.status_flags |= FAKEDEATH @@ -168,6 +181,7 @@ description = "A powerful hallucinogen. Not a thing to be messed with." color = "#B31008" // rgb: 139, 166, 233 toxpwr = 0 + taste_description = "sourness" /datum/reagent/toxin/mindbreaker/on_mob_life(mob/living/M) M.hallucination += 10 @@ -179,6 +193,7 @@ description = "A harmful toxic mixture to kill plantlife. Do not ingest!" color = "#49002E" // rgb: 73, 0, 46 toxpwr = 1 + taste_mult = 1 /datum/reagent/toxin/plantbgone/reaction_obj(obj/O, reac_volume) if(istype(O,/obj/structure/alien/weeds)) @@ -238,6 +253,7 @@ description = "A natural toxin produced by blob spores that induces combustion in its victim." color = "#9ACD32" toxpwr = 0.5 + taste_description = "burning" /datum/reagent/toxin/spore_burning/on_mob_life(mob/living/M) M.adjust_fire_stacks(2) @@ -287,6 +303,7 @@ description = "A specially-engineered sedative disguised as beer. It induces instant sleep in its target." color = "#664300" // rgb: 102, 67, 0 metabolization_rate = 1.5 * REAGENTS_METABOLISM + taste_description = "piss water" /datum/reagent/toxin/beer2/on_mob_life(mob/living/M) switch(current_cycle) @@ -319,6 +336,7 @@ description = "A nonlethal poison that inhibits speech in its victim." color = "#F0F8FF" // rgb: 240, 248, 255 toxpwr = 0 + taste_description = "silence" /datum/reagent/toxin/mutetoxin/on_mob_life(mob/living/carbon/M) M.silent = max(M.silent, 3) @@ -465,6 +483,7 @@ color = "#d6d6d8" metabolization_rate = 0.25 * REAGENTS_METABOLISM toxpwr = 0.5 + taste_description = "bad cooking" /datum/reagent/toxin/itching_powder name = "Itching Powder" @@ -540,6 +559,7 @@ color = "#195096" metabolization_rate = 0.25 * REAGENTS_METABOLISM toxpwr = 0 + taste_mult = 0 // undetectable, I guess? /datum/reagent/toxin/pancuronium/on_mob_life(mob/living/M) if(current_cycle >= 10) @@ -599,6 +619,7 @@ name = "Lipolicide" id = "lipolicide" description = "A powerful toxin that will destroy fat cells, massively reducing body weight in a short time. More deadly to those without nutriment in their body." + taste_description = "mothballs" reagent_state = LIQUID color = "#F0FFF0" metabolization_rate = 0.5 * REAGENTS_METABOLISM @@ -666,6 +687,7 @@ color = "#AC88CA" //RGB: 172, 136, 202 metabolization_rate = 0.6 * REAGENTS_METABOLISM toxpwr = 0.5 + taste_description = "spinning" /datum/reagent/toxin/rotatium/on_mob_life(mob/living/M) if(M.hud_used) @@ -692,6 +714,7 @@ color = "#ADBDCD" metabolization_rate = 0.8 * REAGENTS_METABOLISM toxpwr = 0.25 + taste_description = "skewing" /datum/reagent/toxin/skewium/on_mob_life(mob/living/M) if(M.hud_used) @@ -746,6 +769,7 @@ color = "#00FF32" toxpwr = 1 var/acidpwr = 10 //the amount of protection removed from the armour + taste_description = "acid" /datum/reagent/toxin/acid/reaction_mob(mob/living/carbon/C, method=TOUCH, reac_volume) if(!istype(C)) @@ -790,6 +814,7 @@ description = "Makes the target off balance and dizzy" toxpwr = 0 metabolization_rate = 1.5 * REAGENTS_METABOLISM + taste_description = "dizziness" /datum/reagent/toxin/peaceborg/confuse/on_mob_life(mob/living/M) if(M.confused < 6) @@ -806,6 +831,7 @@ description = "An extremely weak stamina-toxin that tires out the target. Completely harmless." toxpwr = 0 metabolization_rate = 1.5 * REAGENTS_METABOLISM + taste_description = "tiredness" /datum/reagent/toxin/peaceborg/tire/on_mob_life(mob/living/M) var/healthcomp = (100 - M.health) //DOES NOT ACCOUNT FOR ADMINBUS THINGS THAT MAKE YOU HAVE MORE THAN 200/210 HEALTH, OR SOMETHING OTHER THAN A HUMAN PROCESSING THIS. diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers.dm index 8f06c581c59..2aa6b3f6cd9 100644 --- a/code/modules/reagents/reagent_containers.dm +++ b/code/modules/reagents/reagent_containers.dm @@ -21,6 +21,10 @@ var/datum/disease/F = new spawned_disease(0) var/list/data = list("viruses"= list(F)) reagents.add_reagent("blood", disease_amount, data) + + add_initial_reagents() + +/obj/item/weapon/reagent_containers/proc/add_initial_reagents() if(list_reagents) reagents.add_reagent_list(list_reagents) diff --git a/code/modules/surgery/organs/organ_internal.dm b/code/modules/surgery/organs/organ_internal.dm index da4ab4725f7..9b34f72812a 100644 --- a/code/modules/surgery/organs/organ_internal.dm +++ b/code/modules/surgery/organs/organ_internal.dm @@ -507,8 +507,9 @@ icon_state = "tonguenormal" zone = "mouth" slot = "tongue" - var/say_mod = null attack_verb = list("licked", "slobbered", "slapped", "frenched", "tongued") + var/say_mod = null + var/taste_sensitivity = 15 // lower is more sensitive. /obj/item/organ/tongue/get_spans() return list() @@ -531,6 +532,7 @@ desc = "A thin and long muscle typically found in reptilian races, apparently moonlights as a nose." icon_state = "tonguelizard" say_mod = "hisses" + taste_sensitivity = 10 // combined nose + tongue, extra sensitive /obj/item/organ/tongue/lizard/TongueSpeech(var/message) var/regex/lizard_hiss = new("s+", "g") @@ -545,6 +547,7 @@ desc = "A freakish looking meat tube that apparently can take in liquids." icon_state = "tonguefly" say_mod = "buzzes" + taste_sensitivity = 25 // you eat vomit, this is a mercy /obj/item/organ/tongue/fly/TongueSpeech(var/message) var/regex/fly_buzz = new("z+", "g") @@ -559,6 +562,7 @@ desc = "A mysterious structure that allows for instant communication between users. Pretty impressive until you need to eat something." icon_state = "tongueayylmao" say_mod = "gibbers" + taste_sensitivity = 101 // ayys cannot taste anything. /obj/item/organ/tongue/abductor/TongueSpeech(var/message) //Hacks @@ -584,6 +588,7 @@ desc = "Between the decay and the fact that it's just lying there you doubt a tongue has ever seemed less sexy." icon_state = "tonguezombie" say_mod = "moans" + taste_sensitivity = 32 /obj/item/organ/tongue/zombie/TongueSpeech(var/message) var/list/message_list = splittext(message, " ") @@ -606,6 +611,7 @@ desc = "According to leading xenobiologists the evolutionary benefit of having a second mouth in your mouth is \"that it looks badass\"." icon_state = "tonguexeno" say_mod = "hisses" + taste_sensitivity = 10 // LIZARDS ARE ALIENS CONFIRMED /obj/item/organ/tongue/alien/TongueSpeech(var/message) playsound(owner, "hiss", 25, 1, 1) @@ -619,6 +625,7 @@ icon_state = "tonguebone" say_mod = "rattles" attack_verb = list("bitten", "chattered", "chomped", "enamelled", "boned") + taste_sensitivity = 101 // skeletons cannot taste anything var/chattering = FALSE var/phomeme_type = "sans" @@ -655,6 +662,7 @@ icon_state = "tonguerobot" say_mod = "states" attack_verb = list("beeped", "booped") + taste_sensitivity = 25 // not as good as an organic tongue /obj/item/organ/tongue/robot/get_spans() return ..() | SPAN_ROBOT diff --git a/tgstation.dme b/tgstation.dme index ef45f56a02f..056f2cb2bf1 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -683,6 +683,7 @@ #include "code\game\objects\items\nuke_tools.dm" #include "code\game\objects\items\religion.dm" #include "code\game\objects\items\shooting_range.dm" +#include "code\game\objects\items\taster.dm" #include "code\game\objects\items\toys.dm" #include "code\game\objects\items\trash.dm" #include "code\game\objects\items\devices\aicard.dm" @@ -1413,6 +1414,7 @@ #include "code\modules\mob\living\logout.dm" #include "code\modules\mob\living\say.dm" #include "code\modules\mob\living\status_procs.dm" +#include "code\modules\mob\living\taste.dm" #include "code\modules\mob\living\ventcrawling.dm" #include "code\modules\mob\living\brain\brain.dm" #include "code\modules\mob\living\brain\brain_item.dm"