diff --git a/code/game/gamemodes/wizard/artefact.dm b/code/game/gamemodes/wizard/artefact.dm index 984da66a75e..1b5857d166c 100644 --- a/code/game/gamemodes/wizard/artefact.dm +++ b/code/game/gamemodes/wizard/artefact.dm @@ -819,3 +819,38 @@ GLOBAL_LIST_EMPTY(multiverse) heal_brute = 25 heal_burn = 25 heal_oxy = 25 + +/obj/item/reagent_containers/food/drinks/everfull + name = "everfull mug" + desc = "An enchanted mug which can be filled with any of various liquids on command." + icon_state = "evermug" + +/obj/item/reagent_containers/food/drinks/everfull/attack_self(mob/user) + var/static/list/options = list("Omnizine" = image(icon = 'icons/obj/storage.dmi', icon_state = "firstaid"), + "Ale" = image(icon = 'icons/obj/drinks.dmi', icon_state = "alebottle"), + "Wine" = image(icon = 'icons/obj/drinks.dmi', icon_state = "wineglass"), + "Holy Water" = image(icon = 'icons/obj/drinks.dmi', icon_state = "holyflask"), + "Welder Fuel" = image(icon = 'icons/obj/objects.dmi', icon_state = "fuel"), + "Vomit" = image(icon = 'icons/effects/blood.dmi', icon_state = "vomit_1")) + var/static/list/options_to_reagent = list("Omnizine" = "omnizine", + "Ale" = "ale", + "Wine" = "wine", + "Holy Water" = "holywater", + "Welder Fuel" = "fuel", + "Vomit" = "vomit") + var/static/list/options_to_descriptions = list("Omnizine" = "a strange pink-white liquid", + "Ale" = "foamy amber ale", + "Wine" = "deep red wine", + "Holy Water" = "sparkling clear water", + "Welder Fuel" = "a dark, pungent, oily substance", + "Vomit" = "warm chunky vomit") + + var/choice = show_radial_menu(user, src, options) + if(!choice || user.stat || !in_range(user, src) || QDELETED(src)) + return + to_chat(user, "The [name] fills to brimming with [options_to_descriptions[choice]].") + magic_fill(options_to_reagent[choice]) + +/obj/item/reagent_containers/food/drinks/everfull/proc/magic_fill(reagent_choice) + reagents.clear_reagents() + reagents.add_reagent(reagent_choice, volume) diff --git a/code/game/gamemodes/wizard/spellbook.dm b/code/game/gamemodes/wizard/spellbook.dm index 4f2b63ce285..39d87c57293 100644 --- a/code/game/gamemodes/wizard/spellbook.dm +++ b/code/game/gamemodes/wizard/spellbook.dm @@ -473,6 +473,14 @@ spawn_on_floor = TRUE // breaks if spawned in hand category = "Artefacts" +/datum/spellbook_entry/item/everfull_mug + name = "Everfull Mug" + desc = "A magical mug that can be filled with omnizine at will, though beware of addiction! It can also produce alchohol and other less useful substances." + item_path = /obj/item/reagent_containers/food/drinks/everfull + log_name = "EM" + cost = 1 + category = "Artefacts" + //Weapons and Armors /datum/spellbook_entry/item/battlemage name = "Battlemage Armour" diff --git a/icons/obj/drinks.dmi b/icons/obj/drinks.dmi index 34b05367147..0aebd86db33 100644 Binary files a/icons/obj/drinks.dmi and b/icons/obj/drinks.dmi differ