diff --git a/code/modules/food_and_drinks/recipes/drinks_recipes.dm b/code/modules/food_and_drinks/recipes/drinks_recipes.dm index df581f658..a2804effe 100644 --- a/code/modules/food_and_drinks/recipes/drinks_recipes.dm +++ b/code/modules/food_and_drinks/recipes/drinks_recipes.dm @@ -916,4 +916,11 @@ name = "Orange Creamsical" id = /datum/reagent/consumable/orange_creamsicle results = list(/datum/reagent/consumable/orange_creamsicle = 4) - required_reagents = list(/datum/reagent/consumable/vanilla = 1, /datum/reagent/consumable/milk = 1, /datum/reagent/consumable/ice = 1, /datum/reagent/consumable/orangejuice = 1) \ No newline at end of file + required_reagents = list(/datum/reagent/consumable/vanilla = 1, /datum/reagent/consumable/milk = 1, /datum/reagent/consumable/ice = 1, /datum/reagent/consumable/orangejuice = 1) + +/datum/chemical_reaction/criticality_coffee + name = "1964 Criticality Accident Leftover Coffee" + id = /datum/reagent/consumable/criticality_coffee + results = list(/datum/reagent/consumable/criticality_coffee = 4) + required_reagents = list(/datum/reagent/consumable/coffee = 1, /datum/reagent/radium = 1, /datum/reagent/iron = 1, /datum/reagent/uranium = 1) + mix_message = "All drinks inevitably come at a cost." diff --git a/code/modules/reagents/chemistry/reagents/drink_reagents.dm b/code/modules/reagents/chemistry/reagents/drink_reagents.dm index 2cb562cff..324c5cd4a 100644 --- a/code/modules/reagents/chemistry/reagents/drink_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drink_reagents.dm @@ -1002,4 +1002,28 @@ glass_name = "Orange Creamsicle" hydration = 4 +/datum/reagent/consumable/criticality_coffee + name = "1964 Criticality Accident Leftover Coffee" + description = "That thang bleedin' to the-... ya know I mean?" + color = "#4dc4be" + quality = DRINK_VERYGOOD + taste_description = "like graphite, but there's none there" + glass_icon_state = "1964" + glass_name = "1964 Criticality Accident Leftover Coffee" + glass_desc = "Vyx's special blend. In some other stations it is known as The Dyatlov Special. 'Two grains is all you need to see the thin fabric of reality.'" + hydration = 4 +/datum/reagent/consumable/criticality_coffee/on_mob_life(mob/living/carbon/M) + M.dizziness = max(0,M.dizziness-5) + M.drowsyness = 0 + M.AdjustSleeping(-40, FALSE) + M.Jitter(2) + //310.15 is the normal bodytemp. + M.adjust_bodytemperature(25 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, BODYTEMP_NORMAL) + var/datum/component/glow_harmless/gl = M.GetComponent(/datum/component/glow_harmless) + if(!gl) + M.AddComponent(/datum/component/glow_harmless, "#37ff1438") + if(holder.has_reagent(/datum/reagent/consumable/frostoil)) + holder.remove_reagent(/datum/reagent/consumable/frostoil, 5) + ..() + . = 1 diff --git a/hyperstation/code/datums/components/glow_harmless.dm b/hyperstation/code/datums/components/glow_harmless.dm new file mode 100644 index 000000000..2d76c08b6 --- /dev/null +++ b/hyperstation/code/datums/components/glow_harmless.dm @@ -0,0 +1,36 @@ +//Add this component to things to make them 'glowy' +//(smh my head it just gives them an outline and randomizes the shit out of its animation) + +/datum/component/glow_harmless + dupe_mode = COMPONENT_DUPE_UNIQUE_PASSARGS + var/color = "#39ff1430" //Defaults to this color if a color is not given by addcomponent + +/datum/component/glow_harmless/Initialize(_color) + if(!istype(parent, /atom)) + CRASH("Something that wasn't an atom was given /datum/component/glow_harmless") + + //Let's make er glow + //This relies on parent not being a turf or something. IF YOU CHANGE THAT, CHANGE THIS + var/atom/movable/master = parent + if(_color) + color = _color + master.add_filter("glow_harmless", 2, list("type" = "outline", "color" = color, "size" = 2)) + addtimer(CALLBACK(src, .proc/glow_loop, master), rand(1,19))//Things should look uneven + START_PROCESSING(SSradiation, src) + +/datum/component/glow_harmless/process() + if(!prob(50)) + return + +/datum/component/glow_harmless/Destroy() + STOP_PROCESSING(SSradiation, src) + var/atom/movable/master = parent + master.remove_filter("glow_harmless") + return ..() + +/datum/component/glow_harmless/proc/glow_loop(atom/movable/master) + var/filter = master.get_filter("glow_harmless") + if(filter) + animate(filter, alpha = 110, time = 15, loop = -1) + animate(alpha = 40, time = 25) + addtimer(CALLBACK(src, .proc/glow_loop, master), rand(1,19)) diff --git a/icons/obj/drinks.dmi b/icons/obj/drinks.dmi index 250fb561a..c7b25aa1e 100644 Binary files a/icons/obj/drinks.dmi and b/icons/obj/drinks.dmi differ diff --git a/tgstation.dme b/tgstation.dme index 9a724dcfc..7df96e48e 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -3103,6 +3103,7 @@ #include "hyperstation\code\datums\ert_hazard_cleanup.dm" #include "hyperstation\code\datums\actions\sysuit.dm" #include "hyperstation\code\datums\actions\zaocorp.dm" +#include "hyperstation\code\datums\components\glow_harmless.dm" #include "hyperstation\code\datums\components\crafting\bounties.dm" #include "hyperstation\code\datums\components\crafting\recipes.dm" #include "hyperstation\code\datums\elements\holder_micro.dm"