diff --git a/code/game/objects/effects/spawners/random/food_or_drink.dm b/code/game/objects/effects/spawners/random/food_or_drink.dm index a1b9976cab2..b9d01e8081a 100644 --- a/code/game/objects/effects/spawners/random/food_or_drink.dm +++ b/code/game/objects/effects/spawners/random/food_or_drink.dm @@ -155,6 +155,7 @@ /obj/item/reagent_containers/cup/glass/bottle/sake = 5, /obj/item/reagent_containers/cup/glass/bottle/grappa = 5, /obj/item/reagent_containers/cup/glass/bottle/applejack = 5, + /obj/item/reagent_containers/cup/glass/bottle/wine_voltaic = 5, /obj/item/reagent_containers/cup/bottle/ethanol = 2, /obj/item/reagent_containers/cup/glass/bottle/fernet = 2, /obj/item/reagent_containers/cup/glass/bottle/champagne = 2, diff --git a/code/modules/food_and_drinks/recipes/drinks/drinks_alcoholic.dm b/code/modules/food_and_drinks/recipes/drinks/drinks_alcoholic.dm index ec3813cfd56..076587b0cd9 100644 --- a/code/modules/food_and_drinks/recipes/drinks/drinks_alcoholic.dm +++ b/code/modules/food_and_drinks/recipes/drinks/drinks_alcoholic.dm @@ -570,3 +570,15 @@ /datum/chemical_reaction/drink/gin_garden results = list(/datum/reagent/consumable/ethanol/gin_garden = 15) required_reagents = list(/datum/reagent/consumable/limejuice = 1, /datum/reagent/consumable/sugar = 1, /datum/reagent/consumable/ethanol/gin = 3, /datum/reagent/consumable/cucumberjuice = 3, /datum/reagent/consumable/sol_dry = 5, /datum/reagent/consumable/ice = 2) + +/datum/chemical_reaction/drink/telepole + results = list(/datum/reagent/consumable/ethanol/telepole = 5) + required_reagents = list(/datum/reagent/consumable/ethanol/wine_voltaic = 1, /datum/reagent/consumable/ethanol/dark_and_stormy = 2, /datum/reagent/consumable/ethanol/sake = 1) + mix_message = "You swear you saw a spark fly from the glass..." + +/datum/chemical_reaction/drink/pod_tesla + results = list(/datum/reagent/consumable/ethanol/pod_tesla = 15) + required_reagents = list(/datum/reagent/consumable/ethanol/telepole = 5, /datum/reagent/consumable/ethanol/brave_bull = 3, /datum/reagent/consumable/ethanol/admiralty = 5) + mix_message = "Arcs of lightning fly from the mixture." + mix_sound = 'sound/weapons/zapbang.ogg' + diff --git a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm index eb04fbf615d..23a411172ac 100644 --- a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm +++ b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm @@ -500,6 +500,7 @@ /datum/reagent/consumable/shamblers, /datum/reagent/consumable/spacemountainwind, /datum/reagent/consumable/sodawater, + /datum/reagent/consumable/sol_dry, /datum/reagent/consumable/space_up, /datum/reagent/consumable/sugar, /datum/reagent/consumable/tea, diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm index 77c2903044a..29f00d80f34 100644 --- a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm @@ -3675,5 +3675,97 @@ doll.adjust_bodytemperature(-5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, doll.get_body_temp_normal()) ..() +/datum/reagent/consumable/ethanol/wine_voltaic + name = "Voltaic Yellow Wine" + description = "Electrically charged wine. Recharges etherials, but also nontoxic." + boozepwr = 30 + color = "#FFAA00" + taste_description = "static with a hint of sweetness" + chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + +/datum/glass_style/drinking_glass/wine_voltaic + required_drink_type = /datum/reagent/consumable/ethanol/wine_voltaic + name = "Voltaic Yellow Wine" + desc = "Electrically charged wine. Recharges etherials, but also nontoxic." + icon = 'icons/obj/drinks/mixed_drinks.dmi' + icon_state = "wine_voltaic" + +/datum/reagent/consumable/ethanol/wine_voltaic/expose_mob(mob/living/exposed_mob, methods=TOUCH, reac_volume) //can't be on life because of the way blood works. + . = ..() + if(!(methods & (INGEST|INJECT|PATCH)) || !iscarbon(exposed_mob)) + return + + var/mob/living/carbon/exposed_carbon = exposed_mob + var/obj/item/organ/internal/stomach/ethereal/stomach = exposed_carbon.get_organ_slot(ORGAN_SLOT_STOMACH) + if(istype(stomach)) + stomach.adjust_charge(reac_volume * 3) + +/datum/reagent/consumable/ethanol/telepole + name = "Telepole" + description = "A grounding rod in the form of a drink. Recharges etherials, and gives temporary shock resistance." + boozepwr = 50 + color = "#b300ff" + quality = DRINK_NICE + taste_description = "the howling storm" + chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + +/datum/glass_style/drinking_glass/telepole + required_drink_type = /datum/reagent/consumable/ethanol/telepole + name = "Telepole" + desc = "A liquid grounding rod. Recharges etherials and grants temporary shock resistance." + icon = 'icons/obj/drinks/mixed_drinks.dmi' + icon_state = "telepole" + +/datum/reagent/consumable/ethanol/telepole/on_mob_metabolize(mob/living/affected_mob) + . = ..() + ADD_TRAIT(affected_mob, TRAIT_SHOCKIMMUNE, type) + +/datum/reagent/consumable/ethanol/telepole/on_mob_end_metabolize(mob/living/affected_mob) + REMOVE_TRAIT(affected_mob, TRAIT_SHOCKIMMUNE, type) + return ..() + +/datum/reagent/consumable/ethanol/telepole/expose_mob(mob/living/exposed_mob, methods=TOUCH, reac_volume) //can't be on life because of the way blood works. + . = ..() + if(!(methods & (INGEST|INJECT|PATCH)) || !iscarbon(exposed_mob)) + return + + var/mob/living/carbon/exposed_carbon = exposed_mob + var/obj/item/organ/internal/stomach/ethereal/stomach = exposed_carbon.get_organ_slot(ORGAN_SLOT_STOMACH) + if(istype(stomach)) + stomach.adjust_charge(reac_volume * 2) + +/datum/reagent/consumable/ethanol/pod_tesla + name = "Pod Tesla" + description = "Ride the lightning! Recharges etherials, suppresses phobias, and gives strong temporary shock resistance." + boozepwr = 80 + color = "#00fbff" + quality = DRINK_FANTASTIC + taste_description = "victory, with a hint of insanity" + chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + +/datum/glass_style/drinking_glass/pod_tesla + required_drink_type = /datum/reagent/consumable/ethanol/pod_tesla + name = "Pod Tesla" + desc = "Ride the lightning! Recharges etherials, suppresses phobias, and grants strong temporary shock resistance." + icon = 'icons/obj/drinks/mixed_drinks.dmi' + icon_state = "pod_tesla" + +/datum/reagent/consumable/ethanol/pod_tesla/on_mob_metabolize(mob/living/affected_mob) + ..() + affected_mob.add_traits(list(TRAIT_SHOCKIMMUNE,TRAIT_TESLA_SHOCKIMMUNE,TRAIT_FEARLESS), type) + + +/datum/reagent/consumable/ethanol/pod_tesla/on_mob_end_metabolize(mob/living/affected_mob) + affected_mob.remove_traits(list(TRAIT_SHOCKIMMUNE,TRAIT_TESLA_SHOCKIMMUNE,TRAIT_FEARLESS), type) + +/datum/reagent/consumable/ethanol/pod_tesla/expose_mob(mob/living/exposed_mob, methods=TOUCH, reac_volume) //can't be on life because of the way blood works. + . = ..() + if(!(methods & (INGEST|INJECT|PATCH)) || !iscarbon(exposed_mob)) + return + + var/mob/living/carbon/exposed_carbon = exposed_mob + var/obj/item/organ/internal/stomach/ethereal/stomach = exposed_carbon.get_organ_slot(ORGAN_SLOT_STOMACH) + if(istype(stomach)) + stomach.adjust_charge(reac_volume * 5) #undef ALCOHOL_EXPONENT #undef ALCOHOL_THRESHOLD_MODIFIER diff --git a/code/modules/reagents/reagent_containers/cups/glassbottle.dm b/code/modules/reagents/reagent_containers/cups/glassbottle.dm index 9194ddd775c..05244baa6d9 100644 --- a/code/modules/reagents/reagent_containers/cups/glassbottle.dm +++ b/code/modules/reagents/reagent_containers/cups/glassbottle.dm @@ -526,6 +526,14 @@ list_reagents = list(/datum/reagent/consumable/ethanol/applejack = 100) drink_type = FRUIT +/obj/item/reagent_containers/cup/glass/bottle/wine_voltaic + name = "Voltaic Yellow Wine" + desc = "Electrically infused wine! Recharges etherials, safe for consumption." + custom_price = PAYCHECK_CREW + icon_state = "wine_voltaic_bottle" + list_reagents = list(/datum/reagent/consumable/ethanol/wine_voltaic = 100) + drink_type = FRUIT + /obj/item/reagent_containers/cup/glass/bottle/champagne name = "Eau d' Dandy Brut Champagne" desc = "Finely sourced from only the most pretentious French vineyards." diff --git a/code/modules/vending/boozeomat.dm b/code/modules/vending/boozeomat.dm index 1421c0cbf36..55ebae147f6 100644 --- a/code/modules/vending/boozeomat.dm +++ b/code/modules/vending/boozeomat.dm @@ -12,6 +12,7 @@ "products" = list( /obj/item/reagent_containers/cup/glass/bottle/curacao = 5, /obj/item/reagent_containers/cup/glass/bottle/applejack = 5, + /obj/item/reagent_containers/cup/glass/bottle/wine_voltaic = 5, /obj/item/reagent_containers/cup/glass/bottle/tequila = 5, /obj/item/reagent_containers/cup/glass/bottle/rum = 5, /obj/item/reagent_containers/cup/glass/bottle/cognac = 5, diff --git a/icons/obj/drinks/bottles.dmi b/icons/obj/drinks/bottles.dmi index fbdf45d3edc..6f362217954 100644 Binary files a/icons/obj/drinks/bottles.dmi and b/icons/obj/drinks/bottles.dmi differ diff --git a/icons/obj/drinks/mixed_drinks.dmi b/icons/obj/drinks/mixed_drinks.dmi index 3e636d9476b..9d11040d0ab 100644 Binary files a/icons/obj/drinks/mixed_drinks.dmi and b/icons/obj/drinks/mixed_drinks.dmi differ