diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm index 36e0bbd2486..bfbc7d11f38 100644 --- a/code/__HELPERS/global_lists.dm +++ b/code/__HELPERS/global_lists.dm @@ -191,6 +191,8 @@ var/datum/tech/T = path GLOB.rnd_tech_id_to_name[initial(T.id)] = initial(T.name) + populate_global_drink_lists() + /* // Uncomment to debug chemical reaction list. /client/verb/debug_chemical_list() diff --git a/code/_globalvars/lists/reagents_lists.dm b/code/_globalvars/lists/reagents_lists.dm index d2539652980..bbb538e57ab 100644 --- a/code/_globalvars/lists/reagents_lists.dm +++ b/code/_globalvars/lists/reagents_lists.dm @@ -9,25 +9,28 @@ GLOBAL_LIST_INIT(standard_medicines, list("charcoal","toxin","cyanide","morphine // Rare medicines GLOBAL_LIST_INIT(rare_medicines, list("syndicate_nanites","minttoxin","blood", "xenomicrobes")) // Drinks -GLOBAL_LIST_INIT(drinks, list("beer2","hot_coco","orangejuice","tomatojuice","limejuice","carrotjuice", - "berryjuice","poisonberryjuice","watermelonjuice","lemonjuice","banana", "bungojuice", - "nothing","potato","milk","soymilk","cream","coffee","tea","icecoffee", - "icetea","cola","nuka_cola","spacemountainwind","thirteenloko","dr_gibb", - "space_up","lemon_lime","triple_citrus","beer","whiskey","gin","rum","vodka","holywater", - "tequila","vermouth","wine","tonic","kahlua","cognac","ale","sodawater", - "ice","bilk","atomicbomb","threemileisland","goldschlager","patron","gintonic", - "cubalibre","whiskeycola","martini","vodkamartini","whiterussian","screwdrivercocktail", - "booger","bloodymary","gargleblaster","bravebull","tequilasunrise","toxinsspecial", - "beepskysmash","salglu_solution","irishcream","manlydorf","longislandicedtea", - "moonshine","b52","irishcoffee","margarita","blackrussian","manhattan", - "manhattan_proj","whiskeysoda","adminfreeze","antifreeze","barefoot","snowwhite","demonsblood", - "vodkatonic","ginfizz","bahama_mama","singulo","sbiten","devilskiss","red_mead", - "mead","iced_beer","grog","aloe","andalusia","alliescocktail","soy_latte", - "cafe_latte","acidspit","amasec","neurotoxin","hippiesdelight","bananahonk", - "silencer","changelingsting","dublindrop","syndicatebomb","erikasurprise","driestmartini", "flamingmoe", - "arnold_palmer","gimlet","sidecar","whiskeysour","mintjulep","pinacolada","sontse","ahdomaieclipse", - "beachfeast","fyrsskartears","junglevox","slimemold","dieseife","aciddreams","islaywhiskey","ultramatter", - "durkehiet", "dionasmash")) +GLOBAL_LIST_EMPTY(alcoholic_drinks) +GLOBAL_LIST_EMPTY(soft_drinks) +GLOBAL_LIST_EMPTY(synthanolic_drinks) +GLOBAL_LIST_EMPTY(synthetic_soft_drinks) + +/proc/populate_global_drink_lists() + for(var/path in subtypesof(/datum/reagent/consumable)) + var/datum/reagent/consumable/beverage = path + if(beverage.description == ABSTRACT_TYPE_DESC || beverage.id == "bacchus_blessing") + // Skip abstract drinks that we shouldn't be spawning + continue + if(ispath(beverage, /datum/reagent/consumable/ethanol/synthanol)) + GLOB.synthanolic_drinks += beverage.id + continue + if(ispath(beverage, /datum/reagent/consumable/ethanol)) + GLOB.alcoholic_drinks += beverage.id + continue + if(beverage.taste_flag == SYNTHETIC) + GLOB.synthetic_soft_drinks += beverage.id + continue + if(ispath(beverage, /datum/reagent/consumable/drink)) + GLOB.soft_drinks += beverage.id //Liver Toxins list GLOBAL_LIST_INIT(liver_toxins, list("toxin", "plasma", "sacid", "facid", "cyanide","amanitin", "carpotoxin")) diff --git a/code/datums/diseases/advance/advance.dm b/code/datums/diseases/advance/advance.dm index b0c2e6ef19b..d526065f467 100644 --- a/code/datums/diseases/advance/advance.dm +++ b/code/datums/diseases/advance/advance.dm @@ -413,7 +413,7 @@ GLOBAL_LIST_INIT(plant_cures,list( if(2) cures += cure_pick(GLOB.plant_cures) if(3) - cures += cure_pick(GLOB.drinks) + cures += cure_pick(GLOB.alcoholic_drinks | GLOB.soft_drinks) for(var/cure in cures) // Get the cure name from the cure_id var/datum/reagent/D = GLOB.chemical_reagents_list[cure] diff --git a/code/game/objects/items/random_items.dm b/code/game/objects/items/random_items.dm index d3fcc301cf3..e5f7d78e72d 100644 --- a/code/game/objects/items/random_items.dm +++ b/code/game/objects/items/random_items.dm @@ -30,7 +30,7 @@ /obj/item/reagent_containers/drinks/bottle/random_drink/Initialize(mapload) . = ..() - var/list/possible_drinks = GLOB.drinks.Copy() + var/list/possible_drinks = GLOB.alcoholic_drinks | GLOB.synthanolic_drinks | GLOB.soft_drinks | GLOB.synthetic_soft_drinks if(prob(50)) possible_drinks += list("pancuronium","lsd","omnizine","blood") diff --git a/code/modules/reagents/chemistry/reagents/drinks_reagents.dm b/code/modules/reagents/chemistry/reagents/drinks_reagents.dm index c830c68acb4..3436b545423 100644 --- a/code/modules/reagents/chemistry/reagents/drinks_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drinks_reagents.dm @@ -162,7 +162,7 @@ update_flags |= M.adjustToxLoss(1, FALSE) return ..() | update_flags -/datum/reagent/consumable/applejuice +/datum/reagent/consumable/drink/applejuice name = "Apple Juice" id = "applejuice" description = "The sweet juice of an apple, fit for all ages." @@ -171,7 +171,7 @@ drink_desc = "Apple juice. Maybe it would have been better in a pie..." taste_description = "apple juice" -/datum/reagent/consumable/bungojuice +/datum/reagent/consumable/drink/bungojuice name = "Bungo Juice" id = "bungojuice" description = "Exotic! You feel like you are on vacation already."