diff --git a/modular_zubbers/code/modules/food_and_drinks/recipes/drinks/drinks_alcoholic.dm b/modular_zubbers/code/modules/food_and_drinks/recipes/drinks/drinks_alcoholic.dm new file mode 100644 index 00000000000..bf88e781bca --- /dev/null +++ b/modular_zubbers/code/modules/food_and_drinks/recipes/drinks/drinks_alcoholic.dm @@ -0,0 +1,24 @@ + +//Hemophage / Vampire drinks + +/datum/chemical_reaction/drink/venetianwaltz + results = list(/datum/reagent/consumable/ethanol/venetianwaltz = 9) + required_reagents = list(/datum/reagent/consumable/caramel = 1, /datum/reagent/consumable/ethanol/creme_de_cacao = 2, /datum/reagent/consumable/ethanol/amaretto = 3, /datum/reagent/blood = 3) + +/datum/chemical_reaction/drink/cranberrycadillac + results = list(/datum/reagent/consumable/ethanol/cranberrycadillac = 5) + required_reagents = list(/datum/reagent/consumable/sugar = 1, /datum/reagent/consumable/ethanol/champagne = 2, /datum/reagent/consumable/ethanol/cognac = 1, /datum/reagent/blood = 1) + required_temp = 373.15 //Roughly the temp to boil sugar to make sugar crystals + mix_message = "The sugar melts then crystalizes around the blood, making candy rocks..." + +/datum/chemical_reaction/drink/jubokko + results = list(/datum/reagent/consumable/ethanol/jubokko = 4) + required_reagents = list(/datum/reagent/consumable/ethanol/sake = 1, /datum/reagent/consumable/ethanol/yuyake = 1, /datum/reagent/blood = 3) + +/datum/chemical_reaction/drink/moroccocoffin + results = list(/datum/reagent/consumable/ethanol/moroccocoffin = 4) + required_reagents = list(/datum/reagent/consumable/icecoffee = 2, /datum/reagent/consumable/ethanol/rum = 1, /datum/reagent/blood = 1) + +/datum/chemical_reaction/drink/batouttahell + results = list(/datum/reagent/consumable/ethanol/batouttahell = 10) + required_reagents = list(/datum/reagent/consumable/ethanol/absinthe = 1, /datum/reagent/consumable/ethanol/brave_bull = 6, /datum/reagent/blood = 3) diff --git a/modular_zubbers/code/modules/food_and_drinks/recipes/drinks/drinks_non-alcoholic.dm b/modular_zubbers/code/modules/food_and_drinks/recipes/drinks/drinks_non-alcoholic.dm index 9f991f4a623..651f191468b 100644 --- a/modular_zubbers/code/modules/food_and_drinks/recipes/drinks/drinks_non-alcoholic.dm +++ b/modular_zubbers/code/modules/food_and_drinks/recipes/drinks/drinks_non-alcoholic.dm @@ -5,3 +5,8 @@ /datum/chemical_reaction/drink/blood_coffee results = list(/datum/reagent/consumable/coffee/blood_coffee = 2) //Results in 2u instead of 3 required_reagents = list(/datum/reagent/consumable/coffee = 1, /datum/reagent/blood = 2) + +/datum/chemical_reaction/drink/intraverde + results = list(/datum/reagent/consumable/intraverde = 5) + required_reagents = list(/datum/reagent/consumable/melon_soda = 1, /datum/reagent/consumable/cream = 1, /datum/reagent/consumable/ice = 1, /datum/reagent/blood = 2) + diff --git a/modular_zubbers/code/modules/reagents/drink_reagents.dm b/modular_zubbers/code/modules/reagents/drink_reagents.dm index 26e7891ae7e..ec1eb9ae7ca 100644 --- a/modular_zubbers/code/modules/reagents/drink_reagents.dm +++ b/modular_zubbers/code/modules/reagents/drink_reagents.dm @@ -1,3 +1,7 @@ +/datum/glass_style/has_foodtype/drinking_glass/eggnog //Eggnog doesn't have a custom glass in the dm where + icon = 'modular_zubbers/icons/obj/drinks/mixed_drinks.dmi' //it should (mixed_alcohol.dm), so this exists to give it a glass. + icon_state = "eggnog" + /datum/reagent/consumable/moth_milk name = "Moth Milk" description = "Whoever thought that milking moths is a good idea was totally wrong. Is it even milk?" @@ -69,3 +73,190 @@ icon_state = "bloodcoffeeglass" name = "mug of blood coffee" desc = "A mug of hot black coffee mixed with fresh blood." + + +/datum/reagent/consumable/intraverde + name = "Intraverde" + description = "A melon soda float topped with blood-infused whipped cream." + color = "#40e729" + quality = DRINK_GOOD + taste_description = "tart sugar and a bit lip." + chemical_flags_skyrat = REAGENT_BLOOD_REGENERATING + +/datum/reagent/consumable/intraverde/expose_mob(mob/living/exposed_mob, methods, reac_volume) + . = ..() + if(!(methods & INGEST)) + return + var/obj/item/organ/stomach/stomach = exposed_mob.get_organ_slot(ORGAN_SLOT_STOMACH) + if(!istype(stomach) || !ishemophage(exposed_mob) || reac_volume <= 0) + return + exposed_mob.blood_volume = min(exposed_mob.blood_volume + reac_volume, BLOOD_VOLUME_MAXIMUM) + +/datum/glass_style/drinking_glass/intraverde + required_drink_type = /datum/reagent/consumable/intraverde + icon = 'modular_zubbers/icons/obj/drinks/mixed_drinks.dmi' + icon_state = "intraverde" + name = "glass of intraverde" + desc = "A fang-rotting float, often requested by hemophage fledglings who have yet grown the taste for ichor. The whipped cream top is infused with blood." + + +/datum/reagent/consumable/ethanol/venetianwaltz + name = "Venetian Waltz" + description = "A chocolate-caramel dessert cocktail, made for blood-drinkers." + color = "#38210b" + boozepwr = 15 + quality = DRINK_GOOD + taste_description = "dark and bloody chocolate" + chemical_flags_skyrat = REAGENT_BLOOD_REGENERATING + +/datum/reagent/consumable/ethanol/venetianwaltz/expose_mob(mob/living/exposed_mob, methods, reac_volume) + . = ..() + if(!(methods & INGEST)) + return + var/obj/item/organ/stomach/stomach = exposed_mob.get_organ_slot(ORGAN_SLOT_STOMACH) + if(!istype(stomach) || !ishemophage(exposed_mob) || reac_volume <= 0) + return + exposed_mob.blood_volume = min(exposed_mob.blood_volume + reac_volume, BLOOD_VOLUME_MAXIMUM) + +/datum/glass_style/drinking_glass/venetianwaltz + required_drink_type = /datum/reagent/consumable/ethanol/venetianwaltz + icon = 'modular_zubbers/icons/obj/drinks/mixed_drinks.dmi' + icon_state = "venetianwaltz" + name = "glass of venetian waltz" + desc = "Despite the presentation, its scoffed at by older generations for its dessert-like flavour, and is relegated to the tables of sororities and heemoboos as punishment." + + +/datum/reagent/consumable/ethanol/cranberrycadillac + name = "Cranberry Cadillac" + description = "A bubbly, candy-rimmed cocktail." + color = "#ac1e2a" + boozepwr = 45 + quality = DRINK_GOOD + taste_description = "a hit-and-run made of candy" + chemical_flags_skyrat = REAGENT_BLOOD_REGENERATING + +/datum/reagent/consumable/ethanol/cranberrycadillac/expose_mob(mob/living/exposed_mob, methods, reac_volume) + . = ..() + if(!(methods & INGEST)) + return + var/obj/item/organ/stomach/stomach = exposed_mob.get_organ_slot(ORGAN_SLOT_STOMACH) + if(!istype(stomach) || !ishemophage(exposed_mob) || reac_volume <= 0) + return + exposed_mob.blood_volume = min(exposed_mob.blood_volume + reac_volume, BLOOD_VOLUME_MAXIMUM) + +/datum/glass_style/drinking_glass/cranberrycadillac + required_drink_type = /datum/reagent/consumable/ethanol/cranberrycadillac + icon = 'modular_zubbers/icons/obj/drinks/mixed_drinks.dmi' + icon_state = "cranberrycadillac" + name = "coupe of cranberry cadillac" + desc = "The sugar crystals that rim the glass are red with real blood, inviting the hungry to lick it clean. Served with half a lemon slice to counter the sweetness." + + +/datum/reagent/consumable/ethanol/jubokko + name = "Jubokko" + description = "A drink set of sake, and yukake mixed with blood." + color = "#ac1e2a" + boozepwr = 30 + quality = DRINK_GOOD + taste_description = "danger looming above you" + chemical_flags_skyrat = REAGENT_BLOOD_REGENERATING + +/datum/reagent/consumable/ethanol/jubokko/expose_mob(mob/living/exposed_mob, methods, reac_volume) + . = ..() + if(!(methods & INGEST)) + return + var/obj/item/organ/stomach/stomach = exposed_mob.get_organ_slot(ORGAN_SLOT_STOMACH) + if(!istype(stomach) || !ishemophage(exposed_mob) || reac_volume <= 0) + return + exposed_mob.blood_volume = min(exposed_mob.blood_volume + reac_volume, BLOOD_VOLUME_MAXIMUM) + +/datum/glass_style/drinking_glass/jubokko + required_drink_type = /datum/reagent/consumable/ethanol/jubokko + icon = 'modular_zubbers/icons/obj/drinks/mixed_drinks.dmi' + icon_state = "jubokko" + name = "serving of jubokko" + desc = "The martian, blood-drinking chaebol serve this to their guests. Tasteful as it appears, any good poet knows foreshadowing when it's put in front of them." + + +/datum/reagent/consumable/ethanol/moroccocoffin + name = "Morocco Coffin" + description = "A cold pressed coffee with a tinge of iron." + color = "#200608" + boozepwr = 20 + overdose_threshold = 75 + quality = DRINK_GOOD + taste_description = "waking up at midnight" + chemical_flags_skyrat = REAGENT_BLOOD_REGENERATING + metabolized_traits = list(TRAIT_STIMULATED) + +/datum/reagent/consumable/ethanol/moroccocoffin/overdose_process(mob/living/affected_mob, seconds_per_tick, times_fired) + . = ..() + affected_mob.set_jitter_if_lower(10 SECONDS * REM * seconds_per_tick) + +/datum/reagent/consumable/ethanol/moroccocoffin/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) + . = ..() + affected_mob.adjust_dizzy(-10 SECONDS * REM * seconds_per_tick) + affected_mob.adjust_drowsiness(-6 SECONDS * REM * seconds_per_tick) + affected_mob.AdjustSleeping(-4 SECONDS * REM * seconds_per_tick) + affected_mob.adjust_bodytemperature(-5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, affected_mob.get_body_temp_normal()) + +/datum/reagent/consumable/ethanol/moroccocoffin/expose_mob(mob/living/exposed_mob, methods, reac_volume) + . = ..() + if(!(methods & INGEST)) + return + var/obj/item/organ/stomach/stomach = exposed_mob.get_organ_slot(ORGAN_SLOT_STOMACH) + if(!istype(stomach) || !ishemophage(exposed_mob) || reac_volume <= 0) + return + exposed_mob.blood_volume = min(exposed_mob.blood_volume + reac_volume, BLOOD_VOLUME_MAXIMUM) + +/datum/glass_style/drinking_glass/moroccocoffin + required_drink_type = /datum/reagent/consumable/ethanol/moroccocoffin + icon = 'modular_zubbers/icons/obj/drinks/mixed_drinks.dmi' + icon_state = "moroccocoffin" + name = "glass of morocco coffin" + desc = "For waking up when the sun goes down. Cools you down and wakes you up." + + +/datum/reagent/consumable/ethanol/batouttahell + name = "Bat Outta' Hell" + description = "Brave bull mixed with blood, with an absinthe 'varnish' sitting on top." + color = "#3d1013" + boozepwr = 70 + overdose_threshold = 47 + quality = DRINK_VERYGOOD + taste_description = "the blinding thrill of a HOME RUN, BABY!!" + chemical_flags_skyrat = REAGENT_BLOOD_REGENERATING + metabolization_rate = 1.2 * REAGENTS_METABOLISM + +/datum/reagent/consumable/ethanol/batouttahell/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) + . = ..() + affected_mob.remove_status_effect(/datum/status_effect/drowsiness) + affected_mob.AdjustSleeping(-2 SECONDS * REM * seconds_per_tick) + +/datum/reagent/consumable/ethanol/batouttahell/overdose_process(mob/living/affected_mob, seconds_per_tick, times_fired) + . = ..() + affected_mob.add_traits(list(TRAIT_GOOD_HEARING, TRAIT_MINOR_NIGHT_VISION),"Overdose:/datum/reagent/consumable/ethanol/batouttahell") + metabolization_rate = 4.5 * REAGENTS_METABOLISM + affected_mob.set_jitter_if_lower(5 SECONDS * REM * seconds_per_tick) + affected_mob.set_dizzy_if_lower(5 SECONDS * REM * seconds_per_tick) + affected_mob.set_temp_blindness_if_lower(5 SECONDS * REM * seconds_per_tick) + +/datum/reagent/consumable/ethanol/batouttahell/on_mob_end_metabolize(mob/living/affected_mob) + . = ..() + affected_mob.remove_traits(list(TRAIT_GOOD_HEARING, TRAIT_MINOR_NIGHT_VISION),"Overdose:/datum/reagent/consumable/ethanol/batouttahell") + +/datum/reagent/consumable/ethanol/batouttahell/expose_mob(mob/living/exposed_mob, methods, reac_volume) + . = ..() + if(!(methods & INGEST)) + return + var/obj/item/organ/stomach/stomach = exposed_mob.get_organ_slot(ORGAN_SLOT_STOMACH) + if(!istype(stomach) || !ishemophage(exposed_mob) || reac_volume <= 0) + return + exposed_mob.blood_volume = min(exposed_mob.blood_volume + reac_volume, BLOOD_VOLUME_MAXIMUM) + +/datum/glass_style/drinking_glass/batouttahell + required_drink_type = /datum/reagent/consumable/ethanol/batouttahell + icon = 'modular_zubbers/icons/obj/drinks/mixed_drinks.dmi' + icon_state = "batouttahell" + name = "glass of bat outta' hell" + desc = "Strong enough to send you flyin' out of the park! Or maybe stumbling..." diff --git a/modular_zubbers/icons/obj/drinks/mixed_drinks.dmi b/modular_zubbers/icons/obj/drinks/mixed_drinks.dmi index b66b8ddd711..ac9c2ffbc38 100644 Binary files a/modular_zubbers/icons/obj/drinks/mixed_drinks.dmi and b/modular_zubbers/icons/obj/drinks/mixed_drinks.dmi differ diff --git a/tgstation.dme b/tgstation.dme index dc27de2285d..209135b0c2a 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -9453,6 +9453,7 @@ #include "modular_zubbers\code\modules\experisci\experiment\types\scanning_fish.dm" #include "modular_zubbers\code\modules\fluff\flora\ash_flora.dm" #include "modular_zubbers\code\modules\food_and_drinks\machinery\stove.dm" +#include "modular_zubbers\code\modules\food_and_drinks\recipes\drinks\drinks_alcoholic.dm" #include "modular_zubbers\code\modules\food_and_drinks\recipes\drinks\drinks_non-alcoholic.dm" #include "modular_zubbers\code\modules\food_and_drinks\recipes\tablecraft\recipes_pizza.dm" #include "modular_zubbers\code\modules\food_and_drinks\recipes\tablecraft\recipes_seafood.dm"