Overhauls and 2/28 sync (#244)

* map tweaks/shuttle engines

* helpers and defines

* global/onclick

* controllers and datums

* mapping

* game folder

* some other stuff

* some modules

* modules that aren't mobs

* some mob stuff

* new player stuff

* mob living

* silicon stuff

* simple animal things

* carbon/ayylmao

* update_icons

* carbon/human

* sounds and tools

* icons and stuff

* hippie grinder changes + tgui

* kitchen.dmi

* compile issues fixed

* mapfix

* Mapfixes 2.0

* mapedit2.0

* mapmerger pls

* Revert "mapedit2.0"

This reverts commit 74139a3cacea10df7aafca06c0a10bd3daf3a481.

* clean up vore folder + 2 hotfixes

* admin ticket refinement

* Blob tweaks and LAZYADD

* LAZYADD IS LAZY

* Magic strings purged

* DEFINES NEED HIGHER PRIORITIES

* Only a sleepless idiot deals in absolute TRUE|FALSE

* u h g

* progress bar fix

* reverts ticket logs

* there's always that one guy

* fixes and stuff

* 2/27 fixes

* game folder stuff

* stats

* some modules again

* clothing stuff

gets vg clothing out of the main files

* everything not mobs again

* mob stuff

* maps, tgui, sql stuff

* icons

* additional fixes and compile errors

* don't need this anymore

* Oh right this isn't needed anymore

* maint bar re-added

* that doesn't need to be here

* stupid events

* wtfeven

* probably makes Travis happy

* don't care to fix the grinder atm

* fixes vending sprites, changes turret

* lethal, not lethals

* overylays are finicky creatures

* lazy fix for bleeding edgy (#252)

* map tweaks/shuttle engines

* helpers and defines

* global/onclick

* controllers and datums

* mapping

* game folder

* some other stuff

* some modules

* modules that aren't mobs

* some mob stuff

* new player stuff

* mob living

* silicon stuff

* simple animal things

* carbon/ayylmao

* update_icons

* carbon/human

* sounds and tools

* icons and stuff

* hippie grinder changes + tgui

* kitchen.dmi

* compile issues fixed

* mapfix

* Mapfixes 2.0

* mapedit2.0

* mapmerger pls

* Revert "mapedit2.0"

This reverts commit 74139a3cacea10df7aafca06c0a10bd3daf3a481.

* clean up vore folder + 2 hotfixes

* admin ticket refinement

* Blob tweaks and LAZYADD

* LAZYADD IS LAZY

* Magic strings purged

* DEFINES NEED HIGHER PRIORITIES

* Only a sleepless idiot deals in absolute TRUE|FALSE

* u h g

* progress bar fix

* reverts ticket logs

* there's always that one guy

* fixes and stuff

* 2/27 fixes

* game folder stuff

* stats

* some modules again

* clothing stuff

gets vg clothing out of the main files

* everything not mobs again

* mob stuff

* maps, tgui, sql stuff

* icons

* additional fixes and compile errors

* don't need this anymore

* Oh right this isn't needed anymore

* maint bar re-added

* that doesn't need to be here

* stupid events

* wtfeven

* probably makes Travis happy

* don't care to fix the grinder atm

* fixes vending sprites, changes turret

* lethal, not lethals

* overylays are finicky creatures
This commit is contained in:
Poojawa
2017-02-28 09:30:49 -06:00
committed by GitHub
parent 93782cf716
commit 0bca862419
544 changed files with 309981 additions and 81206 deletions
+58 -6
View File
@@ -168,11 +168,17 @@ var/const/INJECT = 5 //injection
var/list/cached_reagents = reagent_list
if(!target)
return
if(!target.reagents || src.total_volume<=0)
return
var/datum/reagents/R
if(istype(target, /datum/reagents))
R = target
else
if(!target.reagents || src.total_volume<=0)
return
R = target.reagents
if(amount < 0)
return
var/datum/reagents/R = target.reagents
amount = min(min(amount, total_volume), R.maximum_volume-R.total_volume)
var/part = amount / total_volume
var/trans_data = null
@@ -483,6 +489,9 @@ var/const/INJECT = 5 //injection
var/react_type
if(isliving(A))
react_type = "LIVING"
if(method == INGEST)
var/mob/living/L = A
L.taste(src)
else if(isturf(A))
react_type = "TURF"
else if(isobj(A))
@@ -518,14 +527,13 @@ var/const/INJECT = 5 //injection
chem_temp = round(((amount * reagtemp) + (total_volume * chem_temp)) / (total_volume + amount)) //equalize with new chems
for(var/A in cached_reagents)
var/datum/reagent/R = A
if (R.id == reagent)
R.volume += amount
update_total()
if(my_atom)
my_atom.on_reagent_change()
R.on_merge(data)
R.on_merge(data, amount)
if(!no_react)
handle_reactions()
return TRUE
@@ -549,7 +557,7 @@ var/const/INJECT = 5 //injection
return TRUE
else
WARNING("[my_atom] attempted to add a reagent called ' [reagent] ' which doesn't exist. ([usr])")
WARNING("[my_atom] attempted to add a reagent called '[reagent]' which doesn't exist. ([usr])")
return FALSE
/datum/reagents/proc/add_reagent_list(list/list_reagents, list/data=null) // Like add_reagent but you can enter a list. Format it like this: list("toxin" = 10, "beer" = 15)
@@ -685,6 +693,50 @@ var/const/INJECT = 5 //injection
var/list/cached_reagents = reagent_list
. = locate(type) in cached_reagents
/datum/reagents/proc/generate_taste_message(minimum_percent=15)
// the lower the minimum percent, the more sensitive the message is.
var/list/out = list()
var/list/tastes = list() //descriptor = strength
if(minimum_percent <= 100)
for(var/datum/reagent/R in reagent_list)
if(!R.taste_mult)
continue
if(istype(R, /datum/reagent/consumable/nutriment))
var/list/taste_data = R.data
for(var/taste in taste_data)
var/ratio = taste_data[taste]
var/amount = ratio * R.taste_mult * R.volume
if(taste in tastes)
tastes[taste] += amount
else
tastes[taste] = amount
else
var/taste_desc = R.taste_description
var/taste_amount = R.volume * R.taste_mult
if(taste_desc in tastes)
tastes[taste_desc] += taste_amount
else
tastes[taste_desc] = taste_amount
//deal with percentages
// TODO it would be great if we could sort these from strong to weak
var/total_taste = counterlist_sum(tastes)
if(total_taste > 0)
for(var/taste_desc in tastes)
var/percent = tastes[taste_desc]/total_taste * 100
if(percent < minimum_percent)
continue
var/intensity_desc = "a hint of"
if(percent > minimum_percent * 2 || percent == 100)
intensity_desc = ""
else if(percent > minimum_percent * 3)
intensity_desc = "the strong flavor of"
if(intensity_desc != "")
out += "[intensity_desc] [taste_desc]"
else
out += "[taste_desc]"
return english_list(out, "something indescribable")
///////////////////////////////////////////////////////////////////////////////////
@@ -317,6 +317,8 @@
"tonic",
"sodawater",
"lemon_lime",
"pwr_game",
"shamblers",
"sugar",
"orangejuice",
"limejuice",
@@ -15,7 +15,7 @@
var/screen = "home"
var/analyzeVars[0]
var/useramount = 30 // Last used amount
layer = 2.9
layer = BELOW_OBJ_LAYER
/obj/machinery/chem_master/New()
create_reagents(100)
@@ -26,6 +26,8 @@
/obj/item/stack/sheet/mineral/bananium = list("banana" = 20),
/obj/item/stack/sheet/mineral/silver = list("silver" = 20),
/obj/item/stack/sheet/mineral/gold = list("gold" = 20),
/obj/item/stack/sheet/bluespace_crystal = list("bluespace" = 20),
/obj/item/weapon/ore/bluespace_crystal = list("bluespace" = 20),
/obj/item/weapon/grown/nettle/basic = list("sacid" = 0),
/obj/item/weapon/grown/nettle/death = list("facid" = 0, "sacid" = 0),
/obj/item/weapon/grown/novaflower = list("capsaicin" = 0, "condensedcapsaicin" = 0),
@@ -12,6 +12,8 @@
var/name = "Reagent"
var/id = "reagent"
var/description = ""
var/taste_description = "metaphorical salt"
var/taste_mult = 1 //how this taste compares to others. Higher values means it is more noticable
var/datum/reagents/holder = null
var/reagent_state = LIQUID
var/list/data
@@ -11,6 +11,7 @@
description = "A well-known alcohol with a variety of applications."
color = "#404030" // rgb: 64, 64, 48
nutriment_factor = 0
taste_description = "alcohol"
var/boozepwr = 65 //Higher numbers equal higher hardness, higher hardness equals more intense alcohol poisoning
/*
@@ -43,14 +44,14 @@ All effects don't start immediately, but rather get worse over time; the rate is
if(istype(O,/obj/item/weapon/paper))
var/obj/item/weapon/paper/paperaffected = O
paperaffected.clearpaper()
O.visible_message("<span class='notice'>[paperaffected]'s ink washes away.</span>")
usr << "<span class='notice'>[paperaffected]'s ink washes away.</span>"
if(istype(O,/obj/item/weapon/book))
if(reac_volume >= 5)
var/obj/item/weapon/book/affectedbook = O
affectedbook.dat = null
O.visible_message("<span class='notice'>[affectedbook]'s writing washes away.</span>")
usr << "<span class='notice'>Through thorough application, you wash away [affectedbook]'s writing.</span>"
else
O.visible_message("<span class='warning'>The ink smears, but doesn't wash away!</span>")
usr << "<span class='warning'>The ink smears, but doesn't wash away!</span>"
return
/datum/reagent/consumable/ethanol/reaction_mob(mob/living/M, method=TOUCH, reac_volume)//Splashing people with ethanol isn't quite as good as fuel.
@@ -77,12 +78,14 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#664300" // rgb: 102, 67, 0
nutriment_factor = 1 * REAGENTS_METABOLISM
boozepwr = 25
taste_description = "piss water"
/datum/reagent/consumable/ethanol/beer/green
name = "Green Beer"
id = "greenbeer"
description = "An alcoholic beverage brewed since ancient times on Old Earth. This variety is dyed a festive green."
color = "#A8E61D"
taste_description = "green piss water"
/datum/reagent/consumable/ethanol/beer/green/on_mob_life(mob/living/M)
if(M.color != color)
@@ -112,6 +115,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "A superb and well-aged single-malt whiskey. Damn."
color = "#664300" // rgb: 102, 67, 0
boozepwr = 75
taste_description = "molasses"
/datum/reagent/consumable/ethanol/thirteenloko
name = "Thirteen Loko"
@@ -120,6 +124,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#102000" // rgb: 16, 32, 0
nutriment_factor = 1 * REAGENTS_METABOLISM
boozepwr = 80
taste_description = "jitters and death"
/datum/reagent/consumable/ethanol/thirteenloko/on_mob_life(mob/living/M)
M.drowsyness = max(0,M.drowsyness-7)
@@ -135,6 +140,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "Number one drink AND fueling choice for Russians worldwide."
color = "#0064C8" // rgb: 0, 100, 200
boozepwr = 65
taste_description = "grain alcohol"
/datum/reagent/consumable/ethanol/vodka/on_mob_life(mob/living/M)
M.radiation = max(M.radiation-2,0)
@@ -147,6 +153,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#895C4C" // rgb: 137, 92, 76
nutriment_factor = 2 * REAGENTS_METABOLISM
boozepwr = 15
taste_description = "desperation and lactate"
/datum/reagent/consumable/ethanol/bilk/on_mob_life(mob/living/M)
if(M.getBruteLoss() && prob(10))
@@ -160,6 +167,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "Made for a woman, strong enough for a man."
color = "#666340" // rgb: 102, 99, 64
boozepwr = 10
taste_description = "dryness"
/datum/reagent/consumable/ethanol/threemileisland/on_mob_life(mob/living/M)
M.set_drugginess(50)
@@ -171,6 +179,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "It's gin. In space. I say, good sir."
color = "#664300" // rgb: 102, 67, 0
boozepwr = 45
taste_description = "an alcoholic christmas tree"
/datum/reagent/consumable/ethanol/rum
name = "Rum"
@@ -178,6 +187,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "Yohoho and all that."
color = "#664300" // rgb: 102, 67, 0
boozepwr = 60
taste_description = "spiked butterscotch"
/datum/reagent/consumable/ethanol/tequila
name = "Tequila"
@@ -185,6 +195,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "A strong and mildly flavoured, Mexican produced spirit. Feeling thirsty, hombre?"
color = "#FFFF91" // rgb: 255, 255, 145
boozepwr = 70
taste_description = "paint stripper"
/datum/reagent/consumable/ethanol/vermouth
name = "Vermouth"
@@ -192,6 +203,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "You suddenly feel a craving for a martini..."
color = "#91FF91" // rgb: 145, 255, 145
boozepwr = 45
taste_description = "dry alcohol"
/datum/reagent/consumable/ethanol/wine
name = "Wine"
@@ -199,6 +211,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "A premium alcoholic beverage made from distilled grape juice."
color = "#7E4043" // rgb: 126, 64, 67
boozepwr = 35
taste_description = "bitter sweetness"
/datum/reagent/consumable/ethanol/lizardwine
name = "Lizard wine"
@@ -206,6 +219,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "An alcoholic beverage from Space China, made by infusing lizard tails in ethanol."
color = "#7E4043" // rgb: 126, 64, 67
boozepwr = 45
taste_description = "scaley sweetness"
/datum/reagent/consumable/ethanol/grappa
name = "Grappa"
@@ -213,6 +227,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "A fine Italian brandy, for when regular wine just isn't alcoholic enough for you."
color = "#F8EBF1"
boozepwr = 45
taste_description = "classy bitter sweetness"
/datum/reagent/consumable/ethanol/cognac
name = "Cognac"
@@ -220,6 +235,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "A sweet and strongly alcoholic drink, made after numerous distillations and years of maturing. Classy as fornication."
color = "#AB3C05" // rgb: 171, 60, 5
boozepwr = 75
taste_description = "angry and irish"
/datum/reagent/consumable/ethanol/absinthe
name = "Absinthe"
@@ -227,6 +243,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "A powerful alcoholic drink. Rumored to cause hallucinations but does not."
color = rgb(10, 206, 0)
boozepwr = 80 //Very strong even by default
taste_description = "death and licorice"
/datum/reagent/consumable/ethanol/absinthe/on_mob_life(mob/living/M)
if(prob(10))
@@ -239,6 +256,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "Either someone's failure at cocktail making or attempt in alcohol production. In any case, do you really want to drink that?"
color = "#664300" // rgb: 102, 67, 0
boozepwr = 100
taste_description = "pure resignation"
/datum/reagent/consumable/ethanol/ale
name = "Ale"
@@ -246,6 +264,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "A dark alcoholic beverage made with malted barley and yeast."
color = "#664300" // rgb: 102, 67, 0
boozepwr = 65
taste_description = "hearty barley ale"
/datum/reagent/consumable/ethanol/goldschlager
name = "Goldschlager"
@@ -253,6 +272,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "100 proof cinnamon schnapps, made for alcoholic teen girls on spring break."
color = "#FFFF91" // rgb: 255, 255, 145
boozepwr = 25
taste_description = "burning cinnamon"
/datum/reagent/consumable/ethanol/patron
name = "Patron"
@@ -260,6 +280,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "Tequila with silver in it, a favorite of alcoholic women in the club scene."
color = "#585840" // rgb: 88, 88, 64
boozepwr = 60
taste_description = "metallic and expensive"
/datum/reagent/consumable/ethanol/gintonic
name = "Gin and Tonic"
@@ -267,6 +288,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "An all time classic, mild cocktail."
color = "#664300" // rgb: 102, 67, 0
boozepwr = 25
taste_description = "mild and tart"
/datum/reagent/consumable/ethanol/cuba_libre
name = "Cuba Libre"
@@ -274,6 +296,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "Rum, mixed with cola. Viva la revolucion."
color = "#3E1B00" // rgb: 62, 27, 0
boozepwr = 50
taste_description = "cola"
/datum/reagent/consumable/ethanol/cuba_libre/on_mob_life(mob/living/M)
if(M.mind && M.mind.special_role in list("Revolutionary", "Head Revolutionary")) //Cuba Libre, the traditional drink of revolutions! Heals revolutionaries.
@@ -290,6 +313,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "Whiskey, mixed with cola. Surprisingly refreshing."
color = "#3E1B00" // rgb: 62, 27, 0
boozepwr = 70
taste_description = "cola"
/datum/reagent/consumable/ethanol/martini
name = "Classic Martini"
@@ -297,6 +321,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "Vermouth with Gin. Not quite how 007 enjoyed it, but still delicious."
color = "#664300" // rgb: 102, 67, 0
boozepwr = 60
taste_description = "dry class"
/datum/reagent/consumable/ethanol/vodkamartini
name = "Vodka Martini"
@@ -304,6 +329,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "Vodka with Gin. Not quite how 007 enjoyed it, but still delicious."
color = "#664300" // rgb: 102, 67, 0
boozepwr = 65
taste_description = "shaken, not stirred"
/datum/reagent/consumable/ethanol/white_russian
name = "White Russian"
@@ -311,6 +337,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "That's just, like, your opinion, man..."
color = "#A68340" // rgb: 166, 131, 64
boozepwr = 50
taste_description = "bitter cream"
/datum/reagent/consumable/ethanol/screwdrivercocktail
name = "Screwdriver"
@@ -318,6 +345,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "Vodka, mixed with plain ol' orange juice. The result is surprisingly delicious."
color = "#A68310" // rgb: 166, 131, 16
boozepwr = 55
taste_description = "oranges"
/datum/reagent/consumable/ethanol/screwdrivercocktail/on_mob_life(mob/living/M)
if(M.mind && M.mind.assigned_role in list("Station Engineer", "Atmospheric Technician", "Chief Engineer")) //Engineers lose radiation poisoning at a massive rate.
@@ -330,6 +358,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "Ewww..."
color = "#8CFF8C" // rgb: 140, 255, 140
boozepwr = 45
taste_description = "sweet 'n creamy"
/datum/reagent/consumable/ethanol/bloody_mary
name = "Bloody Mary"
@@ -337,6 +366,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "A strange yet pleasurable mixture made of vodka, tomato and lime juice. Or at least you THINK the red stuff is tomato juice."
color = "#664300" // rgb: 102, 67, 0
boozepwr = 55
taste_description = "tomatoes with a hint of lime"
/datum/reagent/consumable/ethanol/brave_bull
name = "Brave Bull"
@@ -344,6 +374,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "It's just as effective as Dutch-Courage!"
color = "#664300" // rgb: 102, 67, 0
boozepwr = 80
taste_description = "alcoholic bravery"
/datum/reagent/consumable/ethanol/brave_bull/on_mob_life(mob/living/M)
if(M.maxHealth == initial(M.maxHealth)) //Brave Bull makes you sturdier, and thus capable of withstanding a tiny bit more punishment.
@@ -361,6 +392,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "Tequila and orange juice. Much like a Screwdriver, only Mexican~"
color = "#FFE48C" // rgb: 255, 228, 140
boozepwr = 45
taste_description = "oranges"
/datum/reagent/consumable/ethanol/toxins_special
name = "Toxins Special"
@@ -368,6 +400,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "This thing is ON FIRE! CALL THE DAMN SHUTTLE!"
color = "#664300" // rgb: 102, 67, 0
boozepwr = 25
taste_description = "spicy toxins"
/datum/reagent/consumable/ethanol/toxins_special/on_mob_life(var/mob/living/M as mob)
if (M.bodytemperature < 330)
@@ -381,6 +414,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#664300" // rgb: 102, 67, 0
boozepwr = 90 //THE FIST OF THE LAW IS STRONG AND HARD
metabolization_rate = 0.8
taste_description = "JUSTICE"
/datum/reagent/consumable/ethanol/beepsky_smash/on_mob_life(mob/living/M)
M.Stun(2, 0)
@@ -392,6 +426,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "Whiskey-imbued cream, what else would you expect from the Irish?"
color = "#664300" // rgb: 102, 67, 0
boozepwr = 70
taste_description = "creamy alcohol"
/datum/reagent/consumable/ethanol/manly_dorf
name = "The Manly Dorf"
@@ -399,6 +434,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "Beer and Ale, brought together in a delicious mix. Intended for true men only."
color = "#664300" // rgb: 102, 67, 0
boozepwr = 100 //For the manly only
taste_description = "hair on your chest and your chin"
/datum/reagent/consumable/ethanol/longislandicedtea
name = "Long Island Iced Tea"
@@ -406,6 +442,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "The liquor cabinet, brought together in a delicious mix. Intended for middle-aged alcoholic women only."
color = "#664300" // rgb: 102, 67, 0
boozepwr = 35
taste_description = "a mixture of cola and alcohol"
/datum/reagent/consumable/ethanol/moonshine
name = "Moonshine"
@@ -413,6 +450,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "You've really hit rock bottom now... your liver packed its bags and left last night."
color = "#664300" // rgb: 102, 67, 0
boozepwr = 95
taste_description = "bitterness"
/datum/reagent/consumable/ethanol/b52
name = "B-52"
@@ -420,6 +458,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "Coffee, Irish Cream, and cognac. You will get bombed."
color = "#664300" // rgb: 102, 67, 0
boozepwr = 85
taste_description = "angry and irish"
/datum/reagent/consumable/ethanol/irishcoffee
name = "Irish Coffee"
@@ -427,6 +466,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "Coffee, and alcohol. More fun than a Mimosa to drink in the morning."
color = "#664300" // rgb: 102, 67, 0
boozepwr = 35
taste_description = "giving up on the day"
/datum/reagent/consumable/ethanol/margarita
name = "Margarita"
@@ -434,6 +474,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "On the rocks with salt on the rim. Arriba~!"
color = "#8CFF8C" // rgb: 140, 255, 140
boozepwr = 35
taste_description = "dry and salty"
/datum/reagent/consumable/ethanol/black_russian
name = "Black Russian"
@@ -441,6 +482,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "For the lactose-intolerant. Still as classy as a White Russian."
color = "#360000" // rgb: 54, 0, 0
boozepwr = 70
taste_description = "bitterness"
/datum/reagent/consumable/ethanol/manhattan
name = "Manhattan"
@@ -448,6 +490,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "The Detective's undercover drink of choice. He never could stomach gin..."
color = "#664300" // rgb: 102, 67, 0
boozepwr = 30
taste_description = "mild dryness"
/datum/reagent/consumable/ethanol/manhattan_proj
name = "Manhattan Project"
@@ -455,6 +498,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "A scientist's drink of choice, for pondering ways to blow up the station."
color = "#664300" // rgb: 102, 67, 0
boozepwr = 45
taste_description = "death, the destroyer of worlds"
/datum/reagent/consumable/ethanol/manhattan_proj/on_mob_life(mob/living/M)
M.set_drugginess(30)
@@ -466,6 +510,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "For the more refined griffon."
color = "#664300" // rgb: 102, 67, 0
boozepwr = 70
taste_description = "soda"
/datum/reagent/consumable/ethanol/antifreeze
name = "Anti-freeze"
@@ -473,6 +518,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "The ultimate refreshment. Not what it sounds like."
color = "#664300" // rgb: 102, 67, 0
boozepwr = 35
taste_description = "Jack Frost's piss"
/datum/reagent/consumable/ethanol/antifreeze/on_mob_life(mob/living/M)
if (M.bodytemperature < 330)
@@ -485,6 +531,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "Barefoot and pregnant."
color = "#664300" // rgb: 102, 67, 0
boozepwr = 45
taste_description = "creamy berries"
/datum/reagent/consumable/ethanol/barefoot/on_mob_life(mob/living/M)
if(ishuman(M)) //Barefoot causes the imbiber to quickly regenerate brute trauma if they're not wearing shoes.
@@ -500,6 +547,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "A cold refreshment."
color = "#FFFFFF" // rgb: 255, 255, 255
boozepwr = 35
taste_description = "refreshing cold"
/datum/reagent/consumable/ethanol/demonsblood //Prevents the imbiber from being dragged into a pool of blood by a slaughter demon.
name = "Demon's Blood"
@@ -507,6 +555,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "AHHHH!!!!"
color = "#820000" // rgb: 130, 0, 0
boozepwr = 75
taste_description = "sweet tasting iron"
/datum/reagent/consumable/ethanol/devilskiss //If eaten by a slaughter demon, the demon will regret it.
name = "Devil's Kiss"
@@ -514,6 +563,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "Creepy time!"
color = "#A68310" // rgb: 166, 131, 16
boozepwr = 70
taste_description = "bitter iron"
/datum/reagent/consumable/ethanol/vodkatonic
name = "Vodka and Tonic"
@@ -521,6 +571,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "For when a gin and tonic isn't Russian enough."
color = "#0064C8" // rgb: 0, 100, 200
boozepwr = 70
taste_description = "tart bitterness"
/datum/reagent/consumable/ethanol/ginfizz
name = "Gin Fizz"
@@ -528,6 +579,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "Refreshingly lemony, deliciously dry."
color = "#664300" // rgb: 102, 67, 0
boozepwr = 45
taste_description = "dry, tart lemons"
/datum/reagent/consumable/ethanol/bahama_mama
name = "Bahama Mama"
@@ -535,6 +587,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "Tropical cocktail."
color = "#FF7F3B" // rgb: 255, 127, 59
boozepwr = 35
taste_description = "lime and orange"
/datum/reagent/consumable/ethanol/singulo
name = "Singulo"
@@ -542,6 +595,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "A blue-space beverage!"
color = "#2E6671" // rgb: 46, 102, 113
boozepwr = 35
taste_description = "concentrated matter"
/datum/reagent/consumable/ethanol/sbiten
name = "Sbiten"
@@ -549,6 +603,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "A spicy Vodka! Might be a little hot for the little guys!"
color = "#664300" // rgb: 102, 67, 0
boozepwr = 70
taste_description = "hot and spice"
/datum/reagent/consumable/ethanol/sbiten/on_mob_life(mob/living/M)
if (M.bodytemperature < 360)
@@ -561,6 +616,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "The true Viking drink! Even though it has a strange red color."
color = "#C73C00" // rgb: 199, 60, 0
boozepwr = 51 //Red drinks are stronger
taste_description = "sweet and salty alcohol"
/datum/reagent/consumable/ethanol/mead
name = "Mead"
@@ -569,6 +625,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#664300" // rgb: 102, 67, 0
nutriment_factor = 1 * REAGENTS_METABOLISM
boozepwr = 50
taste_description = "sweet, sweet alcohol"
/datum/reagent/consumable/ethanol/iced_beer
name = "Iced Beer"
@@ -576,6 +633,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "A beer which is so cold the air around it freezes."
color = "#664300" // rgb: 102, 67, 0
boozepwr = 15
taste_description = "refreshingly cold"
/datum/reagent/consumable/ethanol/iced_beer/on_mob_life(mob/living/M)
if(M.bodytemperature > 270)
@@ -588,6 +646,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "Watered down rum, Nanotrasen approves!"
color = "#664300" // rgb: 102, 67, 0
boozepwr = 1 //Basically nothing
taste_description = "a poor excuse for alcohol"
/datum/reagent/consumable/ethanol/aloe
name = "Aloe"
@@ -595,6 +654,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "So very, very, very good."
color = "#664300" // rgb: 102, 67, 0
boozepwr = 35
taste_description = "sweet 'n creamy"
/datum/reagent/consumable/ethanol/andalusia
name = "Andalusia"
@@ -602,6 +662,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "A nice, strangely named drink."
color = "#664300" // rgb: 102, 67, 0
boozepwr = 40
taste_description = "lemons"
/datum/reagent/consumable/ethanol/alliescocktail
name = "Allies Cocktail"
@@ -609,6 +670,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "A drink made from your allies. Not as sweet as those made from your enemies."
color = "#664300" // rgb: 102, 67, 0
boozepwr = 45
taste_description = "bitter yet free"
/datum/reagent/consumable/ethanol/acid_spit
name = "Acid Spit"
@@ -616,6 +678,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "A drink for the daring, can be deadly if incorrectly prepared!"
color = "#365000" // rgb: 54, 80, 0
boozepwr = 80
taste_description = "stomach acid"
/datum/reagent/consumable/ethanol/amasec
name = "Amasec"
@@ -623,6 +686,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "Official drink of the Nanotrasen Gun-Club!"
color = "#664300" // rgb: 102, 67, 0
boozepwr = 35
taste_description = "dark and metallic"
/datum/reagent/consumable/ethanol/changelingsting
name = "Changeling Sting"
@@ -630,6 +694,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "You take a tiny sip and feel a burning sensation..."
color = "#2E6671" // rgb: 46, 102, 113
boozepwr = 95
taste_description = "your brain coming out your nose"
/datum/reagent/consumable/ethanol/changelingsting/on_mob_life(mob/living/M)
if(M.mind && M.mind.changeling) //Changeling Sting assists in the recharging of changeling chemicals.
@@ -643,6 +708,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "Mmm, tastes like chocolate cake..."
color = "#2E6671" // rgb: 46, 102, 113
boozepwr = 25
taste_description = "delicious anger"
/datum/reagent/consumable/ethanol/syndicatebomb
name = "Syndicate Bomb"
@@ -650,6 +716,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "Tastes like terrorism!"
color = "#2E6671" // rgb: 46, 102, 113
boozepwr = 90
taste_description = "purified antagonism"
/datum/reagent/consumable/ethanol/syndicatebomb/on_mob_life(mob/living/M)
if(prob(5))
@@ -662,6 +729,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "The surprise is, it's green!"
color = "#2E6671" // rgb: 46, 102, 113
boozepwr = 35
taste_description = "tartness and bananas"
/datum/reagent/consumable/ethanol/driestmartini
name = "Driest Martini"
@@ -670,6 +738,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
nutriment_factor = 1 * REAGENTS_METABOLISM
color = "#2E6671" // rgb: 46, 102, 113
boozepwr = 65
taste_description = "a beach"
/datum/reagent/consumable/ethanol/bananahonk
name = "Banana Mama"
@@ -678,6 +747,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
nutriment_factor = 1 * REAGENTS_METABOLISM
color = "#FFFF91" // rgb: 255, 255, 140
boozepwr = 60
taste_description = "a bad joke"
/datum/reagent/consumable/ethanol/bananahonk/on_mob_life(mob/living/M)
if((ishuman(M) && M.job in list("Clown") ) || ismonkey(M))
@@ -692,6 +762,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
nutriment_factor = 1 * REAGENTS_METABOLISM
color = "#664300" // rgb: 102, 67, 0
boozepwr = 59 //Proof that clowns are better than mimes right here
taste_description = "a pencil eraser"
/datum/reagent/consumable/ethanol/silencer/on_mob_life(mob/living/M)
if(ishuman(M) && M.job in list("Mime"))
@@ -705,6 +776,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "A weird mix of whiskey and blumpkin juice."
color = "#1EA0FF" // rgb: 102, 67, 0
boozepwr = 50
taste_description = "molasses and a mouthful of pool water"
/datum/reagent/consumable/ethanol/whiskey_sour //Requested since we had whiskey cola and soda but not sour.
name = "Whiskey Sour"
@@ -712,6 +784,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "Lemon juice/whiskey/sugar mixture. Moderate alcohol content."
color = rgb(255, 201, 49)
boozepwr = 35
taste_description = "sour lemons"
/datum/reagent/consumable/ethanol/hcider
name = "Hard Cider"
@@ -720,6 +793,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#CD6839"
nutriment_factor = 1 * REAGENTS_METABOLISM
boozepwr = 25
taste_description = "apples"
/datum/reagent/consumable/ethanol/fetching_fizz //A reference to one of my favorite games of all time. Pulls nearby ores to the imbiber!
@@ -729,6 +803,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = rgb(255, 91, 15)
boozepwr = 10
metabolization_rate = 0.1 * REAGENTS_METABOLISM
taste_description = "charged metal" // the same as teslium, honk honk.
/datum/reagent/consumable/ethanol/fetching_fizz/on_mob_life(mob/living/M)
for(var/obj/item/weapon/ore/O in orange(3, M))
@@ -743,6 +818,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = rgb(140, 0, 0)
boozepwr = 10
metabolization_rate = 0.1 * REAGENTS_METABOLISM
taste_description = "bravado in the face of disaster"
/datum/reagent/consumable/ethanol/hearty_punch/on_mob_life(mob/living/M)
if(M.stat == UNCONSCIOUS && M.health <= 0)
@@ -760,6 +836,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "Unidentifiable mixture. Unmeasurably high alcohol content."
color = rgb(51, 19, 3) //Sickly brown
boozepwr = 300 //I warned you
taste_description = "a wall of bricks"
/datum/reagent/consumable/ethanol/atomicbomb
@@ -768,6 +845,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "Nuclear proliferation never tasted so good."
color = "#666300" // rgb: 102, 99, 0
boozepwr = 0 //custom drunk effect
taste_description = "da bomb"
/datum/reagent/consumable/ethanol/atomicbomb/on_mob_life(mob/living/M)
M.set_drugginess(50)
@@ -792,6 +870,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "Whoah, this stuff looks volatile!"
color = "#664300" // rgb: 102, 67, 0
boozepwr = 0 //custom drunk effect
taste_description = "your brains smashed out by a lemon wrapped around a gold brick"
/datum/reagent/consumable/ethanol/gargle_blaster/on_mob_life(mob/living/M)
M.dizziness +=6
@@ -816,6 +895,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "A strong neurotoxin that puts the subject into a death-like state."
color = "#2E2E61" // rgb: 46, 46, 97
boozepwr = 0 //custom drunk effect
taste_description = "a numbing sensation"
/datum/reagent/consumable/ethanol/neurotoxin/on_mob_life(mob/living/carbon/M)
M.Weaken(3, 1, 0)
@@ -843,6 +923,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
nutriment_factor = 0
boozepwr = 0 //custom drunk effect
metabolization_rate = 0.2 * REAGENTS_METABOLISM
taste_description = "giving peace a chance"
/datum/reagent/consumable/ethanol/hippies_delight/on_mob_life(mob/living/M)
if (!M.slurring)
@@ -882,4 +963,5 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "For enjoying the most wonderful time of the year."
color = "#fcfdc6" // rgb: 252, 253, 198
nutriment_factor = 2 * REAGENTS_METABOLISM
boozepwr = 1
boozepwr = 1
taste_description = "custard and alcohol"
@@ -3,6 +3,7 @@
name = "Unknown"
description = "shouldn't exist and you should adminhelp immediately."
color = "#FFFFFF"
taste_description = "slime and errors"
var/complementary_color = "#000000" //a color that's complementary to the normal blob color
var/shortdesc = null //just damage and on_mob effects, doesn't include special, blob-tile only effects
var/effectdesc = null //any long, blob-tile specific effects
@@ -9,6 +9,7 @@
id = "orangejuice"
description = "Both delicious AND rich in Vitamin C, what more do you need?"
color = "#E78108" // rgb: 231, 129, 8
taste_description = "oranges"
/datum/reagent/consumable/orangejuice/on_mob_life(mob/living/M)
if(M.getOxyLoss() && prob(30))
@@ -21,6 +22,7 @@
id = "tomatojuice"
description = "Tomatoes made into juice. What a waste of big, juicy tomatoes, huh?"
color = "#731008" // rgb: 115, 16, 8
taste_description = "tomatoes"
/datum/reagent/consumable/tomatojuice/on_mob_life(mob/living/M)
if(M.getFireLoss() && prob(20))
@@ -33,6 +35,7 @@
id = "limejuice"
description = "The sweet-sour juice of limes."
color = "#365E30" // rgb: 54, 94, 48
taste_description = "unbearable sourness"
/datum/reagent/consumable/limejuice/on_mob_life(mob/living/M)
if(M.getToxLoss() && prob(20))
@@ -45,6 +48,7 @@
id = "carrotjuice"
description = "It is just like a carrot but without crunching."
color = "#973800" // rgb: 151, 56, 0
taste_description = "carrots"
/datum/reagent/consumable/carrotjuice/on_mob_life(mob/living/M)
M.adjust_blurriness(-1)
@@ -63,18 +67,21 @@
id = "berryjuice"
description = "A delicious blend of several different kinds of berries."
color = "#863333" // rgb: 134, 51, 51
taste_description = "berries"
/datum/reagent/consumable/applejuice
name = "Apple Juice"
id = "applejuice"
description = "The sweet juice of an apple, fit for all ages."
color = "#ECFF56" // rgb: 236, 255, 86
taste_description = "apples"
/datum/reagent/consumable/poisonberryjuice
name = "Poison Berry Juice"
id = "poisonberryjuice"
description = "A tasty juice blended from various kinds of very deadly and toxic berries."
color = "#863353" // rgb: 134, 51, 83
taste_description = "berries"
/datum/reagent/consumable/poisonberryjuice/on_mob_life(mob/living/M)
M.adjustToxLoss(1, 0)
@@ -86,18 +93,21 @@
id = "watermelonjuice"
description = "Delicious juice made from watermelon."
color = "#863333" // rgb: 134, 51, 51
taste_description = "juicy watermelon"
/datum/reagent/consumable/lemonjuice
name = "Lemon Juice"
id = "lemonjuice"
description = "This juice is VERY sour."
color = "#863333" // rgb: 175, 175, 0
taste_description = "sourness"
/datum/reagent/consumable/banana
name = "Banana Juice"
id = "banana"
description = "The raw essence of a banana. HONK"
color = "#863333" // rgb: 175, 175, 0
taste_description = "banana"
/datum/reagent/consumable/banana/on_mob_life(mob/living/M)
if((ishuman(M) && M.job in list("Clown") ) || ismonkey(M))
@@ -109,6 +119,7 @@
name = "Nothing"
id = "nothing"
description = "Absolutely nothing."
taste_description = "nothing"
/datum/reagent/consumable/nothing/on_mob_life(mob/living/M)
if(ishuman(M) && M.job in list("Mime"))
@@ -122,6 +133,7 @@
description = "Some say that this is the best medicine, but recent studies have proven that to be untrue."
metabolization_rate = INFINITY
color = "#FF4DD2"
taste_description = "laughter"
/datum/reagent/consumable/laughter/on_mob_life(mob/living/carbon/M)
if(!iscarbon(M))
@@ -146,18 +158,21 @@
description = "Juice of the potato. Bleh."
nutriment_factor = 2 * REAGENTS_METABOLISM
color = "#302000" // rgb: 48, 32, 0
taste_description = "irish sadness"
/datum/reagent/consumable/grapejuice
name = "Grape Juice"
id = "grapejuice"
description = "The juice of a bunch of grapes. Guaranteed non-alcoholic."
color = "#290029" // dark purple
taste_description = "grape soda"
/datum/reagent/consumable/milk
name = "Milk"
id = "milk"
description = "An opaque white liquid produced by the mammary glands of mammals."
color = "#DFDFDF" // rgb: 223, 223, 223
taste_description = "milk"
/datum/reagent/consumable/milk/on_mob_life(mob/living/M)
if(M.getBruteLoss() && prob(20))
@@ -176,6 +191,7 @@
id = "soymilk"
description = "An opaque white liquid made from soybeans."
color = "#DFDFC7" // rgb: 223, 223, 199
taste_description = "soy milk"
/datum/reagent/consumable/soymilk/on_mob_life(mob/living/M)
if(M.getBruteLoss() && prob(20))
@@ -188,6 +204,7 @@
id = "cream"
description = "The fatty, still liquid part of milk. Why don't you mix this with sum scotch, eh?"
color = "#DFD7AF" // rgb: 223, 215, 175
taste_description = "creamy milk"
/datum/reagent/consumable/cream/on_mob_life(mob/living/M)
if(M.getBruteLoss() && prob(20))
@@ -202,6 +219,7 @@
color = "#482000" // rgb: 72, 32, 0
nutriment_factor = 0
overdose_threshold = 80
taste_description = "bitterness"
/datum/reagent/consumable/coffee/overdose_process(mob/living/M)
M.Jitter(5)
@@ -224,6 +242,7 @@
description = "Tasty black tea, it has antioxidants, it's good for you!"
color = "#101000" // rgb: 16, 16, 0
nutriment_factor = 0
taste_description = "tart black tea"
/datum/reagent/consumable/tea/on_mob_life(mob/living/M)
M.dizziness = max(0,M.dizziness-2)
@@ -243,6 +262,7 @@
description = "Encourages the patient to go golfing."
color = "#FFB766"
nutriment_factor = 2
taste_description = "bitter tea"
/datum/reagent/consumable/tea/arnold_palmer/on_mob_life(mob/living/M)
if(prob(5))
@@ -256,6 +276,7 @@
description = "Coffee and ice, refreshing and cool."
color = "#102838" // rgb: 16, 40, 56
nutriment_factor = 0
taste_description = "bitter coldness"
/datum/reagent/consumable/icecoffee/on_mob_life(mob/living/M)
M.dizziness = max(0,M.dizziness-5)
@@ -273,6 +294,7 @@
description = "No relation to a certain rap artist/actor."
color = "#104038" // rgb: 16, 64, 56
nutriment_factor = 0
taste_description = "sweet tea"
/datum/reagent/consumable/icetea/on_mob_life(mob/living/M)
M.dizziness = max(0,M.dizziness-2)
@@ -290,6 +312,7 @@
id = "cola"
description = "A refreshing beverage."
color = "#100800" // rgb: 16, 8, 0
taste_description = "cola"
/datum/reagent/consumable/space_cola/on_mob_life(mob/living/M)
M.drowsyness = max(0,M.drowsyness-5)
@@ -302,6 +325,7 @@
id = "nuka_cola"
description = "Cola, cola never changes."
color = "#100800" // rgb: 16, 8, 0
taste_description = "the future"
/datum/reagent/consumable/nuka_cola/on_mob_life(mob/living/M)
M.Jitter(20)
@@ -320,6 +344,7 @@
id = "spacemountainwind"
description = "Blows right through you like a space wind."
color = "#102000" // rgb: 16, 32, 0
taste_description = "sweet citrus soda"
/datum/reagent/consumable/spacemountainwind/on_mob_life(mob/living/M)
M.drowsyness = max(0,M.drowsyness-7)
@@ -335,6 +360,7 @@
id = "dr_gibb"
description = "A delicious blend of 42 different flavours."
color = "#102000" // rgb: 16, 32, 0
taste_description = "cherry soda" // FALSE ADVERTISING
/datum/reagent/consumable/dr_gibb/on_mob_life(mob/living/M)
M.drowsyness = max(0,M.drowsyness-6)
@@ -347,6 +373,7 @@
id = "space_up"
description = "Tastes like a hull breach in your mouth."
color = "#00FF00" // rgb: 0, 255, 0
taste_description = "cherry soda"
/datum/reagent/consumable/space_up/on_mob_life(mob/living/M)
if (M.bodytemperature > 310)
@@ -358,17 +385,42 @@
description = "A tangy substance made of 0.5% natural citrus!"
id = "lemon_lime"
color = "#8CFF00" // rgb: 135, 255, 0
taste_description = "tangy lime and lemon soda"
/datum/reagent/consumable/lemon_lime/on_mob_life(mob/living/M)
if (M.bodytemperature > 310)
M.bodytemperature = max(310, M.bodytemperature - (8 * TEMPERATURE_DAMAGE_COEFFICIENT)) //310 is the normal bodytemp. 310.055
..()
/datum/reagent/consumable/pwr_game
name = "Pwr Game"
description = "The only drink with the PWR that true gamers crave."
id = "pwr_game"
color = "#9385bf" // rgb: 58, 52, 75
taste_description = "sweet and salty tang"
/datum/reagent/consumable/pwr_game/on_mob_life(mob/living/M)
if (M.bodytemperature > 310)
M.bodytemperature = max(310, M.bodytemperature - (8 * TEMPERATURE_DAMAGE_COEFFICIENT)) //310 is the normal bodytemp. 310.055
..()
/datum/reagent/consumable/shamblers
name = "Shambler's Juice"
description = "~Shake me up some of that Shambler's Juice!~"
id = "shamblers"
color = "#f00060" // rgb: 94, 0, 38
taste_description = "carbonated metallic soda"
/datum/reagent/consumable/shamblers/on_mob_life(mob/living/M)
if (M.bodytemperature > 310)
M.bodytemperature = max(310, M.bodytemperature - (8 * TEMPERATURE_DAMAGE_COEFFICIENT)) //310 is the normal bodytemp. 310.055
..()
/datum/reagent/consumable/sodawater
name = "Soda Water"
id = "sodawater"
description = "A can of club soda. Why not make a scotch and soda?"
color = "#619494" // rgb: 97, 148, 148
taste_description = "carbonated water"
/datum/reagent/consumable/sodawater/on_mob_life(mob/living/M)
M.dizziness = max(0,M.dizziness-5)
@@ -382,6 +434,7 @@
id = "tonic"
description = "It tastes strange but at least the quinine keeps the Space Malaria at bay."
color = "#0064C8" // rgb: 0, 100, 200
taste_description = "tart and fresh"
/datum/reagent/consumable/tonic/on_mob_life(mob/living/M)
M.dizziness = max(0,M.dizziness-5)
@@ -398,6 +451,7 @@
description = "Frozen water, your dentist wouldn't like you chewing this."
reagent_state = SOLID
color = "#619494" // rgb: 97, 148, 148
taste_description = "ice"
/datum/reagent/consumable/ice/on_mob_life(mob/living/M)
M.bodytemperature = max( M.bodytemperature - 5 * TEMPERATURE_DAMAGE_COEFFICIENT, 0)
@@ -408,6 +462,7 @@
id = "soy_latte"
description = "A nice and tasty beverage while you are reading your hippie books."
color = "#664300" // rgb: 102, 67, 0
taste_description = "creamy coffee"
/datum/reagent/consumable/soy_latte/on_mob_life(mob/living/M)
M.dizziness = max(0,M.dizziness-5)
@@ -426,6 +481,7 @@
id = "cafe_latte"
description = "A nice, strong and tasty beverage while you are reading."
color = "#664300" // rgb: 102, 67, 0
taste_description = "bitter cream"
/datum/reagent/consumable/cafe_latte/on_mob_life(mob/living/M)
M.dizziness = max(0,M.dizziness-5)
@@ -444,6 +500,7 @@
id = "doctorsdelight"
description = "A gulp a day keeps the Medibot away! A mixture of juices that heals most damage types fairly quickly at the cost of hunger."
color = "#FF8CFF" // rgb: 255, 140, 255
taste_description = "homely fruit"
/datum/reagent/consumable/doctor_delight/on_mob_life(mob/living/M)
M.adjustBruteLoss(-0.5, 0)
@@ -462,6 +519,7 @@
description = "A great dessert for chocolate lovers."
color = "#800000"
nutriment_factor = 4 * REAGENTS_METABOLISM
taste_description = "sweet chocolate"
/datum/reagent/consumable/vanillapudding
name = "Vanilla Pudding"
@@ -469,6 +527,7 @@
description = "A great dessert for vanilla lovers."
color = "#FAFAD2"
nutriment_factor = 4 * REAGENTS_METABOLISM
taste_description = "sweet vanilla"
/datum/reagent/consumable/cherryshake
name = "Cherry Shake"
@@ -476,6 +535,7 @@
description = "A cherry flavored milkshake."
color = "#FFB6C1"
nutriment_factor = 4 * REAGENTS_METABOLISM
taste_description = "creamy cherry"
/datum/reagent/consumable/bluecherryshake
name = "Blue Cherry Shake"
@@ -483,6 +543,7 @@
description = "An exotic milkshake."
color = "#00F1FF"
nutriment_factor = 4 * REAGENTS_METABOLISM
taste_description = "creamy blue cherry"
/datum/reagent/consumable/pumpkin_latte
name = "Pumpkin Latte"
@@ -490,6 +551,7 @@
description = "A mix of pumpkin juice and coffee."
color = "#F4A460"
nutriment_factor = 3 * REAGENTS_METABOLISM
taste_description = "creamy pumpkin"
/datum/reagent/consumable/gibbfloats
name = "Gibb Floats"
@@ -497,33 +559,39 @@
description = "Ice cream on top of a Dr. Gibb glass."
color = "#B22222"
nutriment_factor = 3 * REAGENTS_METABOLISM
taste_description = "creamy cherry"
/datum/reagent/consumable/pumpkinjuice
name = "Pumpkin Juice"
id = "pumpkinjuice"
description = "Juiced from real pumpkin."
color = "#FFA500"
taste_description = "pumpkin"
/datum/reagent/consumable/blumpkinjuice
name = "Blumpkin Juice"
id = "blumpkinjuice"
description = "Juiced from real blumpkin."
color = "#00BFFF"
taste_description = "a mouthful of pool water"
/datum/reagent/consumable/triple_citrus
name = "Triple Citrus"
id = "triple_citrus"
description = "A solution."
color = "#C8A5DC"
taste_description = "extreme bitterness"
/datum/reagent/consumable/grape_soda
name = "Grape soda"
id = "grapesoda"
description = "Beloved of children and teetotalers."
color = "#E6CDFF"
taste_description = "grape soda"
/datum/reagent/consumable/milk/chocolate_milk
name = "Chocolate Milk"
id = "chocolate_milk"
description = "Milk for cool kids."
color = "#7D4E29"
taste_description = "chocolate milk"
@@ -2,6 +2,7 @@
name = "Drug"
id = "drug"
metabolization_rate = 0.5 * REAGENTS_METABOLISM
taste_description = "bitterness"
/datum/reagent/drug/space_drugs
name = "Space drugs"
@@ -35,6 +36,7 @@
reagent_state = LIQUID
color = "#60A584" // rgb: 96, 165, 132
addiction_threshold = 30
taste_description = "smoke"
/datum/reagent/drug/nicotine/on_mob_life(mob/living/M)
if(prob(1))
@@ -230,6 +232,7 @@
color = "#FAFAFA"
overdose_threshold = 20
addiction_threshold = 10
taste_description = "salt" // because they're bathsalts?
/datum/reagent/drug/bath_salts/on_mob_life(mob/living/M)
@@ -10,6 +10,8 @@
/datum/reagent/consumable
name = "Consumable"
id = "consumable"
taste_description = "generic food"
taste_mult = 4
var/nutriment_factor = 1 * REAGENTS_METABOLISM
/datum/reagent/consumable/on_mob_life(mob/living/M)
@@ -25,34 +27,64 @@
nutriment_factor = 15 * REAGENTS_METABOLISM
color = "#664330" // rgb: 102, 67, 48
var/brute_heal = 1
var/burn_heal = 0
var/blood_gain = 0.4
/datum/reagent/consumable/nutriment/on_mob_life(mob/living/M)
if(prob(50))
M.heal_bodypart_damage(1,0, 0)
M.heal_bodypart_damage(brute_heal,burn_heal, 0)
. = 1
if(iscarbon(M))
var/mob/living/carbon/C = M
if(C.blood_volume < BLOOD_VOLUME_NORMAL)
C.blood_volume += 0.4
C.blood_volume += blood_gain
..()
/datum/reagent/consumable/vitamin
/datum/reagent/consumable/nutriment/on_new(list/supplied_data)
// taste data can sometimes be ("salt" = 3, "chips" = 1)
// and we want it to be in the form ("salt" = 0.75, "chips" = 0.25)
// which is called "normalizing"
if(!supplied_data)
supplied_data = data
// if data isn't an associative list, this has some WEIRD side effects
// TODO probably check for assoc list?
data = counterlist_normalise(supplied_data)
/datum/reagent/consumable/nutriment/on_merge(list/newdata, newvolume)
if(!islist(newdata) || !newdata.len)
return
// data for nutriment is one or more (flavour -> ratio)
// where all the ratio values adds up to 1
var/list/taste_amounts = data.Copy()
counterlist_scale(taste_amounts, volume)
var/list/other_taste_amounts = newdata.Copy()
counterlist_scale(other_taste_amounts, newvolume)
counterlist_combine(taste_amounts, other_taste_amounts)
counterlist_normalise(taste_amounts)
data = taste_amounts
/datum/reagent/consumable/nutriment/vitamin
name = "Vitamin"
id = "vitamin"
description = "All the best vitamins, minerals, and carbohydrates the body needs in pure form."
reagent_state = SOLID
color = "#664330" // rgb: 102, 67, 48
/datum/reagent/consumable/vitamin/on_mob_life(mob/living/M)
if(prob(50))
M.heal_bodypart_damage(1,1, 0)
. = 1
brute_heal = 1
burn_heal = 1
blood_gain = 0.5
/datum/reagent/consumable/nutriment/vitamin/on_mob_life(mob/living/M)
if(M.satiety < 600)
M.satiety += 30
if(iscarbon(M))
var/mob/living/carbon/C = M
if(C.blood_volume < BLOOD_VOLUME_NORMAL)
C.blood_volume += 0.5
..()
. = ..()
/datum/reagent/consumable/sugar
name = "Sugar"
@@ -60,9 +92,11 @@
description = "The organic compound commonly known as table sugar and sometimes called saccharose. This white, odorless, crystalline powder has a pleasing, sweet taste."
reagent_state = SOLID
color = "#FFFFFF" // rgb: 255, 255, 255
taste_mult = 1.5 // stop sugar drowning out other flavours
nutriment_factor = 10 * REAGENTS_METABOLISM
metabolization_rate = 2 * REAGENTS_METABOLISM
overdose_threshold = 200 // Hyperglycaemic shock
taste_description = "sweetness"
/datum/reagent/consumable/sugar/overdose_start(mob/living/M)
M << "<span class='userdanger'>You go into hyperglycaemic shock! Lay off the twinkies!</span>"
@@ -80,6 +114,7 @@
description = "A mixture of water and milk. Virus cells can use this mixture to reproduce."
nutriment_factor = 2 * REAGENTS_METABOLISM
color = "#899613" // rgb: 137, 150, 19
taste_description = "watery milk"
/datum/reagent/consumable/soysauce
name = "Soysauce"
@@ -87,6 +122,7 @@
description = "A salty sauce made from the soy plant."
nutriment_factor = 2 * REAGENTS_METABOLISM
color = "#792300" // rgb: 121, 35, 0
taste_description = "umami"
/datum/reagent/consumable/ketchup
name = "Ketchup"
@@ -94,6 +130,7 @@
description = "Ketchup, catsup, whatever. It's tomato paste."
nutriment_factor = 5 * REAGENTS_METABOLISM
color = "#731008" // rgb: 115, 16, 8
taste_description = "ketchup"
/datum/reagent/consumable/capsaicin
@@ -101,6 +138,8 @@
id = "capsaicin"
description = "This is what makes chilis hot."
color = "#B31008" // rgb: 179, 16, 8
taste_description = "hot peppers"
taste_mult = 1.5
/datum/reagent/consumable/capsaicin/on_mob_life(mob/living/M)
switch(current_cycle)
@@ -129,6 +168,7 @@
id = "frostoil"
description = "A special oil that noticably chills the body. Extracted from Icepeppers and slimes."
color = "#8BA6E9" // rgb: 139, 166, 233
taste_description = "mint"
/datum/reagent/consumable/frostoil/on_mob_life(mob/living/M)
switch(current_cycle)
@@ -171,6 +211,7 @@
id = "condensedcapsaicin"
description = "A chemical agent used for self-defense and in police work."
color = "#B31008" // rgb: 179, 16, 8
taste_description = "scorching agony"
/datum/reagent/consumable/condensedcapsaicin/reaction_mob(mob/living/M, method=TOUCH, reac_volume)
if(!ishuman(M) && !ismonkey(M))
@@ -246,6 +287,7 @@
description = "A salt made of sodium chloride. Commonly used to season food."
reagent_state = SOLID
color = "#FFFFFF" // rgb: 255,255,255
taste_description = "salt"
/datum/reagent/consumable/sodiumchloride/reaction_mob(mob/living/M, method=TOUCH, reac_volume)
if(!istype(M))
@@ -266,6 +308,7 @@
description = "A powder ground from peppercorns. *AAAACHOOO*"
reagent_state = SOLID
// no color (ie, black)
taste_description = "pepper"
/datum/reagent/consumable/coco
name = "Coco Powder"
@@ -274,6 +317,7 @@
reagent_state = SOLID
nutriment_factor = 5 * REAGENTS_METABOLISM
color = "#302000" // rgb: 48, 32, 0
taste_description = "bitterness"
/datum/reagent/consumable/hot_coco
name = "Hot Chocolate"
@@ -281,6 +325,7 @@
description = "Made with love! And coco beans."
nutriment_factor = 3 * REAGENTS_METABOLISM
color = "#403010" // rgb: 64, 48, 16
taste_description = "creamy chocolate"
/datum/reagent/consumable/hot_coco/on_mob_life(mob/living/M)
if (M.bodytemperature < 310)//310 is the normal bodytemp. 310.055
@@ -293,6 +338,7 @@
description = "A strong hallucinogenic drug derived from certain species of mushroom."
color = "#E700E7" // rgb: 231, 0, 231
metabolization_rate = 0.2 * REAGENTS_METABOLISM
taste_description = "mushroom"
/datum/reagent/mushroomhallucinogen/on_mob_life(mob/living/M)
if(!M.slurring)
@@ -322,6 +368,7 @@
id = "sprinkles"
description = "Multi-colored little bits of sugar, commonly found on donuts. Loved by cops."
color = "#FF00FF" // rgb: 255, 0, 255
taste_description = "childhood whimsy"
/datum/reagent/consumable/sprinkles/on_mob_life(mob/living/M)
if(ishuman(M) && M.job in list("Security Officer", "Head of Security", "Detective", "Warden"))
@@ -335,6 +382,7 @@
description = "An oil derived from various types of corn."
nutriment_factor = 20 * REAGENTS_METABOLISM
color = "#302000" // rgb: 48, 32, 0
taste_description = "slime"
/datum/reagent/consumable/cornoil/reaction_turf(turf/open/T, reac_volume)
if (!istype(T))
@@ -353,6 +401,7 @@
id = "enzyme"
description = "A universal enzyme used in the preperation of certain chemicals and foods."
color = "#365E30" // rgb: 54, 94, 48
taste_description = "sweetness"
/datum/reagent/consumable/dry_ramen
name = "Dry Ramen"
@@ -360,6 +409,7 @@
description = "Space age food, since August 25, 1958. Contains dried noodles, vegetables, and chemicals that boil in contact with water."
reagent_state = SOLID
color = "#302000" // rgb: 48, 32, 0
taste_description = "dry and cheap noodles"
/datum/reagent/consumable/hot_ramen
name = "Hot Ramen"
@@ -367,6 +417,7 @@
description = "The noodles are boiled, the flavors are artificial, just like being back in school."
nutriment_factor = 5 * REAGENTS_METABOLISM
color = "#302000" // rgb: 48, 32, 0
taste_description = "wet and cheap noodles"
/datum/reagent/consumable/hot_ramen/on_mob_life(mob/living/M)
if (M.bodytemperature < 310)//310 is the normal bodytemp. 310.055
@@ -379,6 +430,7 @@
description = "The noodles are boiled, the flavors are artificial, just like being back in school."
nutriment_factor = 5 * REAGENTS_METABOLISM
color = "#302000" // rgb: 48, 32, 0
taste_description = "wet and cheap noodles on fire"
/datum/reagent/consumable/hell_ramen/on_mob_life(mob/living/M)
M.bodytemperature += 10 * TEMPERATURE_DAMAGE_COEFFICIENT
@@ -390,6 +442,7 @@
description = "This is what you rub all over yourself to pretend to be a ghost."
reagent_state = SOLID
color = "#FFFFFF" // rgb: 0, 0, 0
taste_description = "chalky wheat"
/datum/reagent/consumable/flour/reaction_turf(turf/T, reac_volume)
if(!isspaceturf(T))
@@ -401,12 +454,14 @@
id = "cherryjelly"
description = "Totally the best. Only to be spread on foods with excellent lateral symmetry."
color = "#801E28" // rgb: 128, 30, 40
taste_description = "cherry"
/datum/reagent/consumable/bluecherryjelly
name = "Blue Cherry Jelly"
id = "bluecherryjelly"
description = "Blue and tastier kind of cherry jelly."
color = "#00F0FF"
taste_description = "blue cherry"
/datum/reagent/consumable/rice
name = "Rice"
@@ -415,6 +470,7 @@
reagent_state = SOLID
nutriment_factor = 3 * REAGENTS_METABOLISM
color = "#FFFFFF" // rgb: 0, 0, 0
taste_description = "rice"
/datum/reagent/consumable/vanilla
name = "Vanilla Powder"
@@ -423,18 +479,21 @@
reagent_state = SOLID
nutriment_factor = 5 * REAGENTS_METABOLISM
color = "#FFFACD"
taste_description = "vanilla"
/datum/reagent/consumable/eggyolk
name = "Egg Yolk"
id = "eggyolk"
description = "It's full of protein."
color = "#FFB500"
taste_description = "egg"
/datum/reagent/consumable/corn_starch
name = "Corn Starch"
id = "corn_starch"
description = "A slippery solution."
color = "#C8A5DC"
taste_description = "slime"
/datum/reagent/consumable/corn_syrup
name = "Corn Syrup"
@@ -442,6 +501,7 @@
description = "Decays into sugar."
color = "#C8A5DC"
metabolization_rate = 3 * REAGENTS_METABOLISM
taste_description = "sweet slime"
/datum/reagent/consumable/corn_syrup/on_mob_life(mob/living/M)
holder.add_reagent("sugar", 3)
@@ -453,6 +513,7 @@
description = "Sweet sweet honey, decays into sugar."
color = "#d3a308"
nutriment_factor = 15 * REAGENTS_METABOLISM
taste_description = "sweetness"
/datum/reagent/consumable/honey/on_mob_life(mob/living/M)
M.reagents.add_reagent("sugar",3)
@@ -469,6 +530,8 @@
id = "entpoly"
description = "An ichor, derived from a certain mushroom, makes for a bad time."
color = "#1d043d"
taste_description = "bitter mushroom"
/datum/reagent/consumable/entpoly/on_mob_life(mob/living/M)
if(current_cycle >= 10)
M.Paralyse(2, 0)
@@ -487,6 +550,7 @@
id = "tinlux"
description = "A stimulating ichor which causes luminescent fungi to grow on the skin. "
color = "#b5a213"
taste_description = "tingling mushroom"
/datum/reagent/consumable/tinlux/reaction_mob(mob/living/M)
M.AddLuminosity(2)
@@ -500,10 +564,11 @@
description = "A bubbly paste that heals wounds of the skin."
color = "#d3a308"
nutriment_factor = 3 * REAGENTS_METABOLISM
taste_description = "fruity mushroom"
/datum/reagent/consumable/vitfro/on_mob_life(mob/living/M)
if(prob(80))
M.adjustBruteLoss(-1*REM, 0)
M.adjustFireLoss(-1*REM, 0)
. = TRUE
..()
..()
@@ -8,6 +8,7 @@
/datum/reagent/medicine
name = "Medicine"
id = "medicine"
taste_description = "bitterness"
/datum/reagent/medicine/on_mob_life(mob/living/M)
current_cycle++
@@ -32,6 +33,7 @@
description = "It's magic. We don't have to explain it."
color = "#C8A5DC" // rgb: 200, 165, 220
can_synth = 0
taste_description = "badmins"
/datum/reagent/medicine/adminordrazine/on_mob_life(mob/living/carbon/M)
M.reagents.remove_all_type(/datum/reagent/toxin, 5*REM, 0, 1)
@@ -70,6 +72,7 @@
name = "Nanites"
id = "nanites"
description = "Tiny nanomachines capable of rapid cellular regeneration."
taste_description = "sludge"
/datum/reagent/medicine/synaptizine
name = "Synaptizine"
@@ -123,6 +126,7 @@
id = "cryoxadone"
description = "A chemical mixture with almost magical healing powers. Its main limitation is that the patient's body temperature must be under 270K for it to metabolise correctly."
color = "#0000C8"
taste_description = "sludge"
/datum/reagent/medicine/cryoxadone/on_mob_life(mob/living/M)
switch(M.bodytemperature) // Low temperatures are required to take effect.
@@ -160,6 +164,7 @@
reagent_state = SOLID
color = "#669900" // rgb: 102, 153, 0
overdose_threshold = 30
taste_description = "fish"
/datum/reagent/medicine/rezadone/on_mob_life(mob/living/M)
M.setCloneLoss(0) //Rezadone is almost never used in favor of cryoxadone. Hopefully this will change that.
@@ -264,6 +269,7 @@
reagent_state = LIQUID
color = "#DCDCDC"
metabolization_rate = 0.5 * REAGENTS_METABOLISM
taste_description = "sweetness and salt"
/datum/reagent/medicine/salglu_solution/on_mob_life(mob/living/M)
if(prob(33))
@@ -351,6 +357,7 @@
reagent_state = LIQUID
color = "#000000"
metabolization_rate = 0.5 * REAGENTS_METABOLISM
taste_description = "ash"
/datum/reagent/medicine/charcoal/on_mob_life(mob/living/M)
M.adjustToxLoss(-2*REM, 0)
@@ -392,6 +399,7 @@
reagent_state = LIQUID
color = "#19C832"
metabolization_rate = 0.5 * REAGENTS_METABOLISM
taste_description = "acid"
/datum/reagent/medicine/calomel/on_mob_life(mob/living/M)
for(var/datum/reagent/R in M.reagents.reagent_list)
@@ -640,6 +648,7 @@
reagent_state = LIQUID
color = "#FFFFFF"
metabolization_rate = 0.25 * REAGENTS_METABOLISM
taste_description = "dull toxin"
/datum/reagent/medicine/oculine/on_mob_life(mob/living/M)
if(M.disabilities & BLIND)
@@ -733,6 +742,7 @@
reagent_state = LIQUID
color = "#A0E85E"
metabolization_rate = 0.5 * REAGENTS_METABOLISM
taste_description = "magnets"
/datum/reagent/medicine/strange_reagent/reaction_mob(mob/living/carbon/human/M, method=TOUCH, reac_volume)
if(M.stat == DEAD)
@@ -776,6 +786,7 @@
id = "mutadone"
description = "Removes jitteriness and restores genetic defects."
color = "#5096C8"
taste_description = "acid"
/datum/reagent/medicine/mutadone/on_mob_life(mob/living/carbon/human/M)
M.jitteriness = 0
@@ -788,6 +799,7 @@
id = "antihol"
description = "Purges alcoholic substance from the patient's body and eliminates its side effects."
color = "#00B4C8"
taste_description = "raw egg"
/datum/reagent/medicine/antihol/on_mob_life(mob/living/M)
M.dizziness = 0
@@ -947,6 +959,7 @@
reagent_state = LIQUID
color = "#C8A5DC"
overdose_threshold = 30
taste_description = "a roll of gauze"
/datum/reagent/medicine/antitoxin/on_mob_life(mob/living/M)
M.adjustToxLoss(-2*REM, 0)
@@ -980,6 +993,7 @@
reagent_state = LIQUID
color = "#C8A5DC"
overdose_threshold = 30
taste_description = "grossness"
/datum/reagent/medicine/tricordrazine/on_mob_life(mob/living/M)
if(prob(80))
@@ -1116,3 +1130,11 @@
M.adjustToxLoss(2, 0)
. = 1
..()
/datum/reagent/medicine/corazone
// Heart attack code will not do as damage if corazone is present
// because it's SPACE MAGIC ASPIRIN
name = "Corazone"
id = "corazone"
description = "A medication used to treat pain, fever, and inflammation, along with heart attacks."
color = "#F5F5F5"
@@ -1,10 +1,11 @@
/datum/reagent/blood
data = list("donor"=null,"viruses"=null,"blood_DNA"=null,"blood_type"=null,"resistances"=null,"trace_chem"=null,"mind"=null,"ckey"=null,"gender"=null,"real_name"=null,"cloneable"=null,"factions"=null)
name = "Blood"
id = "blood"
color = "#C80000" // rgb: 200, 0, 0
metabolization_rate = 5 //fast rate so it disappears fast.
taste_description = "iron"
taste_mult = 1.3
/datum/reagent/blood/reaction_mob(mob/M, method=TOUCH, reac_volume)
if(data && data["viruses"])
@@ -79,12 +80,14 @@
id = "liquidgibs"
color = "#FF9966"
description = "You don't even want to think about what's in here."
taste_description = "gross iron"
/datum/reagent/vaccine
//data must contain virus type
name = "Vaccine"
id = "vaccine"
color = "#C81040" // rgb: 200, 16, 64
taste_description = "slime"
/datum/reagent/vaccine/reaction_mob(mob/M, method=TOUCH, reac_volume)
if(islist(data) && (method == INGEST || method == INJECT))
@@ -102,6 +105,7 @@
id = "water"
description = "A ubiquitous chemical substance that is composed of hydrogen and oxygen."
color = "#AAAAAA77" // rgb: 170, 170, 170, 77 (alpha)
taste_description = "water"
var/cooling_temperature = 2
/*
@@ -214,6 +218,7 @@
name = "Unholy Water"
id = "unholywater"
description = "Something that shouldn't exist on this plane of existence."
taste_description = "suffering"
/datum/reagent/fuel/unholywater/reaction_mob(mob/living/M, method=TOUCH, reac_volume)
if(method == TOUCH || method == VAPOR)
@@ -244,6 +249,7 @@
name = "Hell Water"
id = "hell_water"
description = "YOUR FLESH! IT BURNS!"
taste_description = "burning"
/datum/reagent/hellwater/on_mob_life(mob/living/M)
M.fire_stacks = min(5,M.fire_stacks + 3)
@@ -264,6 +270,7 @@
id = "lube"
description = "Lubricant is a substance introduced between two moving surfaces to reduce the friction and wear between them. giggity."
color = "#009CA8" // rgb: 0, 156, 168
taste_description = "cherry" // by popular demand
/datum/reagent/lube/reaction_turf(turf/open/T, reac_volume)
if (!istype(T))
@@ -278,6 +285,7 @@
color = "#FFC080" // rgb: 255, 196, 128 Bright orange
metabolization_rate = 10 * REAGENTS_METABOLISM // very fast, so it can be applied rapidly. But this changes on an overdose
overdose_threshold = 11 //Slightly more than one un-nozzled spraybottle.
taste_description = "sour oranges"
/datum/reagent/spraytan/reaction_mob(mob/living/M, method=TOUCH, reac_volume, show_message = 1)
if(ishuman(M))
@@ -370,6 +378,7 @@
description = "A humanizing toxin produced by slimes."
color = "#5EFF3B" //RGB: 94, 255, 59
metabolization_rate = INFINITY //So it instantly removes all of itself
taste_description = "slime"
var/datum/species/race = /datum/species/human
var/mutationtext = "<span class='danger'>The pain subsides. You feel... human.</span>"
@@ -523,6 +532,7 @@
description = "This toxin will rapidly change the DNA of human beings. Commonly used by Syndicate spies and assassins in need of an emergency ID change."
color = "#5EFF3B" //RGB: 94, 255, 59
metabolization_rate = INFINITY
taste_description = "slime"
/datum/reagent/mulligan/on_mob_life(mob/living/carbon/human/H)
H << "<span class='warning'><b>You grit your teeth in pain as your body rapidly mutates!</b></span>"
@@ -535,6 +545,7 @@
id = "amutationtoxin"
description = "An advanced corruptive toxin produced by slimes."
color = "#13BC5E" // rgb: 19, 188, 94
taste_description = "slime"
/datum/reagent/aslimetoxin/reaction_mob(mob/M, method=TOUCH, reac_volume)
if(method != TOUCH)
@@ -546,6 +557,7 @@
description = "An advanced corruptive toxin produced by something terrible."
color = "#5EFF3B" //RGB: 94, 255, 59
can_synth = 0
taste_description = "decay"
/datum/reagent/gluttonytoxin/reaction_mob(mob/M, method=TOUCH, reac_volume)
M.ForceContractDisease(new /datum/disease/transformation/morph(0))
@@ -556,6 +568,7 @@
description = "A chemical compound that promotes concentrated production of the serotonin neurotransmitter in humans."
color = "#202040" // rgb: 20, 20, 40
metabolization_rate = 0.25 * REAGENTS_METABOLISM
taste_description = "bitterness"
/datum/reagent/serotrotium/on_mob_life(mob/living/M)
if(ishuman(M))
@@ -569,6 +582,7 @@
description = "A colorless, odorless gas. Grows on trees but is still pretty valuable."
reagent_state = GAS
color = "#808080" // rgb: 128, 128, 128
taste_mult = 0 // oderless and tasteless
/datum/reagent/oxygen/reaction_obj(obj/O, reac_volume)
if((!O) || (!reac_volume))
@@ -586,6 +600,7 @@
description = "A highly ductile metal. Things made out of copper aren't very durable, but it makes a decent material for electrical wiring."
reagent_state = SOLID
color = "#6E3B08" // rgb: 110, 59, 8
taste_description = "metal"
/datum/reagent/nitrogen
name = "Nitrogen"
@@ -593,6 +608,7 @@
description = "A colorless, odorless, tasteless gas. A simple asphyxiant that can silently displace vital oxygen."
reagent_state = GAS
color = "#808080" // rgb: 128, 128, 128
taste_mult = 0
/datum/reagent/nitrogen/reaction_obj(obj/O, reac_volume)
if((!O) || (!reac_volume))
@@ -610,6 +626,7 @@
description = "A colorless, odorless, nonmetallic, tasteless, highly combustible diatomic gas."
reagent_state = GAS
color = "#808080" // rgb: 128, 128, 128
taste_mult = 0
/datum/reagent/potassium
name = "Potassium"
@@ -617,12 +634,14 @@
description = "A soft, low-melting solid that can easily be cut with a knife. Reacts violently with water."
reagent_state = SOLID
color = "#A0A0A0" // rgb: 160, 160, 160
taste_description = "sweetness"
/datum/reagent/mercury
name = "Mercury"
id = "mercury"
description = "A curious metal that's a liquid at room temperature. Neurodegenerative and very bad for the mind."
color = "#484848" // rgb: 72, 72, 72
color = "#484848" // rgb: 72, 72, 72A
taste_mult = 0 // apparently tasteless.
/datum/reagent/mercury/on_mob_life(mob/living/M)
if(M.canmove && isspaceturf(M.loc))
@@ -638,6 +657,7 @@
description = "A sickly yellow solid mostly known for its nasty smell. It's actually much more helpful than it looks in biochemisty."
reagent_state = SOLID
color = "#BF8C00" // rgb: 191, 140, 0
taste_description = "rotten eggs"
/datum/reagent/carbon
name = "Carbon"
@@ -645,6 +665,7 @@
description = "A crumbly black solid that, while unexciting on an physical level, forms the base of all known life. Kind of a big deal."
reagent_state = SOLID
color = "#1C1300" // rgb: 30, 20, 0
taste_description = "sour chalk"
/datum/reagent/carbon/reaction_turf(turf/T, reac_volume)
if(!isspaceturf(T))
@@ -658,6 +679,7 @@
description = "A pale yellow gas that's well known as an oxidizer. While it forms many harmless molecules in its elemental form it is far from harmless."
reagent_state = GAS
color = "#808080" // rgb: 128, 128, 128
taste_description = "chlorine"
/datum/reagent/chlorine/on_mob_life(mob/living/M)
M.take_bodypart_damage(1*REM, 0, 0)
@@ -670,6 +692,7 @@
description = "A comically-reactive chemical element. The universe does not want this stuff to exist in this form in the slightest."
reagent_state = GAS
color = "#808080" // rgb: 128, 128, 128
taste_description = "acid"
/datum/reagent/fluorine/on_mob_life(mob/living/M)
M.adjustToxLoss(1*REM, 0)
@@ -682,6 +705,7 @@
description = "A soft silver metal that can easily be cut with a knife. It's not salt just yet, so refrain from putting in on your chips."
reagent_state = SOLID
color = "#808080" // rgb: 128, 128, 128
taste_description = "salty metal"
/datum/reagent/phosphorus
name = "Phosphorus"
@@ -689,6 +713,7 @@
description = "A ruddy red powder that burns readily. Though it comes in many colors, the general theme is always the same."
reagent_state = SOLID
color = "#832828" // rgb: 131, 40, 40
taste_description = "vinegar"
/datum/reagent/lithium
name = "Lithium"
@@ -696,6 +721,7 @@
description = "A silver metal, its claim to fame is its remarkably low density. Using it is a bit too effective in calming oneself down."
reagent_state = SOLID
color = "#808080" // rgb: 128, 128, 128
taste_description = "metal"
/datum/reagent/lithium/on_mob_life(mob/living/M)
if(M.canmove && isspaceturf(M.loc))
@@ -709,6 +735,7 @@
id = "glycerol"
description = "Glycerol is a simple polyol compound. Glycerol is sweet-tasting and of low toxicity."
color = "#808080" // rgb: 128, 128, 128
taste_description = "sweetness"
/datum/reagent/radium
name = "Radium"
@@ -716,6 +743,7 @@
description = "Radium is an alkaline earth metal. It is extremely radioactive."
reagent_state = SOLID
color = "#C7C7C7" // rgb: 199,199,199
taste_description = "the colour blue and regret"
/datum/reagent/radium/on_mob_life(mob/living/M)
M.apply_effect(2*REM/M.metabolism_efficiency,IRRADIATE,0)
@@ -734,6 +762,7 @@
id = "sterilizine"
description = "Sterilizes wounds in preparation for surgery."
color = "#C8A5DC" // rgb: 200, 165, 220
taste_description = "bitterness"
/datum/reagent/space_cleaner/sterilizine/reaction_mob(mob/living/M, method=TOUCH, reac_volume)
if(iscarbon(M) && (method in list(TOUCH, VAPOR, PATCH)))
@@ -749,6 +778,7 @@
id = "iron"
description = "Pure iron is a metal."
reagent_state = SOLID
taste_description = "iron"
color = "#C8A5DC" // rgb: 200, 165, 220
@@ -773,6 +803,7 @@
description = "Gold is a dense, soft, shiny metal and the most malleable and ductile metal known."
reagent_state = SOLID
color = "#F7C430" // rgb: 247, 196, 48
taste_description = "expensive metal"
/datum/reagent/silver
name = "Silver"
@@ -780,6 +811,7 @@
description = "A soft, white, lustrous transition metal, it has the highest electrical conductivity of any element and the highest thermal conductivity of any metal."
reagent_state = SOLID
color = "#D0D0D0" // rgb: 208, 208, 208
taste_description = "expensive yet reasonable metal"
/datum/reagent/silver/reaction_mob(mob/living/M, method=TOUCH, reac_volume)
if(!isliving(M))
@@ -794,6 +826,7 @@
description = "A silvery-white metallic chemical element in the actinide series, weakly radioactive."
reagent_state = SOLID
color = "#B8B8C0" // rgb: 184, 184, 192
taste_description = "the inside of a reactor"
/datum/reagent/uranium/on_mob_life(mob/living/M)
M.apply_effect(1/M.metabolism_efficiency,IRRADIATE,0)
@@ -807,12 +840,34 @@
GG = new/obj/effect/decal/cleanable/greenglow(T)
GG.reagents.add_reagent("uranium", reac_volume)
/datum/reagent/bluespace
name = "Bluespace Dust"
id = "bluespace"
description = "A dust composed of microscopic bluespace crystals, with minor space-warping properties."
reagent_state = SOLID
color = "#0000CC"
taste_description = "fizzling blue"
/datum/reagent/bluespace/reaction_mob(mob/living/M, method=TOUCH, reac_volume)
if(method == TOUCH || method == VAPOR)
do_teleport(M, get_turf(M), (reac_volume / 5), asoundin = 'sound/effects/phasein.ogg') //4 tiles per crystal
..()
/datum/reagent/bluespace/on_mob_life(mob/living/M)
if(current_cycle > 10 && prob(15))
M << "<span class='warning'>You feel unstable...</span>"
M.Jitter(2)
current_cycle = 1
addtimer(CALLBACK(GLOBAL_PROC, .proc/do_teleport, M, get_turf(M), 5, asoundin = 'sound/effects/phasein.ogg'), 30)
..()
/datum/reagent/aluminium
name = "Aluminium"
id = "aluminium"
description = "A silvery white and ductile member of the boron group of chemical elements."
reagent_state = SOLID
color = "#A8A8A8" // rgb: 168, 168, 168
taste_description = "metal"
/datum/reagent/silicon
name = "Silicon"
@@ -820,12 +875,14 @@
description = "A tetravalent metalloid, silicon is less reactive than its chemical analog carbon."
reagent_state = SOLID
color = "#A8A8A8" // rgb: 168, 168, 168
taste_mult = 0
/datum/reagent/fuel
name = "Welding fuel"
id = "welding_fuel"
description = "Required for welders. Flamable."
color = "#660000" // rgb: 102, 0, 0
taste_description = "gross metal"
/datum/reagent/fuel/reaction_mob(mob/living/M, method=TOUCH, reac_volume)//Splashing people with welding fuel to make them easy to ignite!
if(!isliving(M))
@@ -845,6 +902,7 @@
id = "cleaner"
description = "A compound used to clean things. Now with 50% more sodium hypochlorite!"
color = "#A5F0EE" // rgb: 165, 240, 238
taste_description = "sourness"
/datum/reagent/space_cleaner/reaction_obj(obj/O, reac_volume)
if(istype(O,/obj/effect/decal/cleanable))
@@ -901,6 +959,7 @@
id = "ez_clean"
description = "A powerful, acidic cleaner sold by Waffle Co. Affects organic matter while leaving other objects unaffected."
metabolization_rate = 1.5 * REAGENTS_METABOLISM
taste_description = "acid"
/datum/reagent/space_cleaner/ez_clean/on_mob_life(mob/living/M)
M.adjustBruteLoss(3.33)
@@ -920,6 +979,7 @@
description = "Cryptobiolin causes confusion and dizziness."
color = "#C8A5DC" // rgb: 200, 165, 220
metabolization_rate = 1.5 * REAGENTS_METABOLISM
taste_description = "sourness"
/datum/reagent/cryptobiolin/on_mob_life(mob/living/M)
M.Dizzy(1)
@@ -932,7 +992,8 @@
name = "Impedrezene"
id = "impedrezene"
description = "Impedrezene is a narcotic that impedes one's ability by slowing down the higher brain cell functions."
color = "#C8A5DC" // rgb: 200, 165, 220
color = "#C8A5DC" // rgb: 200, 165, 220A
taste_description = "numbness"
/datum/reagent/impedrezene/on_mob_life(mob/living/M)
M.jitteriness = max(M.jitteriness-5,0)
@@ -950,6 +1011,7 @@
description = "Microscopic construction robots."
color = "#535E66" // rgb: 83, 94, 102
can_synth = 0
taste_description = "sludge"
/datum/reagent/nanites/reaction_mob(mob/M, method=TOUCH, reac_volume, show_message = 1, touch_protection = 0)
if(method==PATCH || method==INGEST || method==INJECT || (method == VAPOR && prob(min(reac_volume,100)*(1 - touch_protection))))
@@ -961,6 +1023,7 @@
description = "Microbes with an entirely alien cellular structure."
color = "#535E66" // rgb: 83, 94, 102
can_synth = 0
taste_description = "sludge"
/datum/reagent/xenomicrobes/reaction_mob(mob/M, method=TOUCH, reac_volume, show_message = 1, touch_protection = 0)
if(method==PATCH || method==INGEST || method==INJECT || (method == VAPOR && prob(min(reac_volume,100)*(1 - touch_protection))))
@@ -971,6 +1034,7 @@
id = "fungalspores"
description = "Active fungal spores."
color = "#92D17D" // rgb: 146, 209, 125
taste_description = "slime"
/datum/reagent/fungalspores/reaction_mob(mob/M, method=TOUCH, reac_volume, show_message = 1, touch_protection = 0)
if(method==PATCH || method==INGEST || method==INJECT || (method == VAPOR && prob(min(reac_volume,100)*(1 - touch_protection))))
@@ -981,6 +1045,7 @@
id = "fluorosurfactant"
description = "A perfluoronated sulfonic acid that forms a foam when mixed with water."
color = "#9E6B38" // rgb: 158, 107, 56
taste_description = "metal"
/datum/reagent/foaming_agent// Metal foaming agent. This is lithium hydride. Add other recipes (e.g. LiH + H2O -> LiOH + H2) eventually.
name = "Foaming agent"
@@ -988,6 +1053,7 @@
description = "A agent that yields metallic foam when mixed with light metal and a strong acid."
reagent_state = SOLID
color = "#664B63" // rgb: 102, 75, 99
taste_description = "metal"
/datum/reagent/ammonia
name = "Ammonia"
@@ -995,12 +1061,14 @@
description = "A caustic substance commonly used in fertilizer or household cleaners."
reagent_state = GAS
color = "#404030" // rgb: 64, 64, 48
taste_description = "mordant"
/datum/reagent/diethylamine
name = "Diethylamine"
id = "diethylamine"
description = "A secondary amine, mildly corrosive."
color = "#604030" // rgb: 96, 64, 48
taste_description = "iron"
/datum/reagent/carbondioxide
name = "Carbon Dioxide"
@@ -1008,6 +1076,7 @@
reagent_state = GAS
description = "A gas commonly produced by burning carbon fuels. You're constantly producing this in your lungs."
color = "#B0B0B0" // rgb : 192, 192, 192
taste_description = "something unknowable"
/datum/reagent/carbondioxide/reaction_obj(obj/O, reac_volume)
if((!O) || (!reac_volume))
@@ -1025,6 +1094,7 @@
description = "A potent oxidizer used as fuel in rockets and as an anaesthetic during surgery."
reagent_state = LIQUID
color = "#808080"
taste_description = "numbness"
/datum/reagent/nitrous_oxide/reaction_obj(obj/O, reac_volume)
if((!O) || (!reac_volume))
@@ -1034,7 +1104,6 @@
/datum/reagent/nitrous_oxide/reaction_turf(turf/open/T, reac_volume)
if(istype(T))
T.atmos_spawn_air("n2o=[reac_volume/5];TEMP=[T20C]")
return
@@ -1049,6 +1118,7 @@
description = "A powder made by grinding down crayons, good for colouring chemical reagents."
reagent_state = SOLID
color = "#FFFFFF" // rgb: 207, 54, 0
taste_description = "the back of class"
/datum/reagent/crayonpowder/New()
description = "\an [colorname] powder made by grinding down crayons, good for colouring chemical reagents."
@@ -1106,6 +1176,7 @@
description = "Some kind of nutriment. You can't really tell what it is. You should probably report it, along with how you obtained it."
color = "#000000" // RBG: 0, 0, 0
var/tox_prob = 0
taste_description = "plant food"
/datum/reagent/plantnutriment/on_mob_life(mob/living/M)
if(prob(tox_prob))
@@ -1150,6 +1221,7 @@
description = "Burns in a small smoky fire, mostly used to get Ash."
reagent_state = LIQUID
color = "#C8A5DC"
taste_description = "oil"
/datum/reagent/stable_plasma
name = "Stable Plasma"
@@ -1157,6 +1229,8 @@
description = "Non-flammable plasma locked into a liquid form that cannot ignite or become gaseous/solid."
reagent_state = LIQUID
color = "#C8A5DC"
taste_description = "bitterness"
taste_mult = 1.5
/datum/reagent/stable_plasma/on_mob_life(mob/living/M)
if(iscarbon(M))
@@ -1171,6 +1245,7 @@
description = "Commonly added to table salt as a nutrient. On its own it tastes far less pleasing."
reagent_state = LIQUID
color = "#C8A5DC"
taste_description = "metal"
/datum/reagent/carpet
name = "Carpet"
@@ -1178,6 +1253,7 @@
description = "For those that need a more creative way to roll out a red carpet."
reagent_state = LIQUID
color = "#C8A5DC"
taste_description = "carpet" // Your tounge feels furry.
/datum/reagent/carpet/reaction_turf(turf/T, reac_volume)
if(istype(T, /turf/open/floor/plating) || istype(T, /turf/open/floor/plasteel))
@@ -1192,6 +1268,7 @@
description = "A brownish liquid that's highly reactive. Useful for stopping free radicals, but not intended for human consumption."
reagent_state = LIQUID
color = "#C8A5DC"
taste_description = "chemicals"
/datum/reagent/phenol
name = "Phenol"
@@ -1199,6 +1276,7 @@
description = "An aromatic ring of carbon with a hydroxyl group. A useful precursor to some medicines, but has no healing properties on its own."
reagent_state = LIQUID
color = "#C8A5DC"
taste_description = "acid"
/datum/reagent/ash
name = "Ash"
@@ -1206,6 +1284,7 @@
description = "Supposedly phoenixes rise from these, but you've never seen it."
reagent_state = LIQUID
color = "#C8A5DC"
taste_description = "ash"
/datum/reagent/acetone
name = "Acetone"
@@ -1213,6 +1292,7 @@
description = "A slick, slightly carcinogenic liquid. Has a multitude of mundane uses in everyday life."
reagent_state = LIQUID
color = "#C8A5DC"
taste_description = "acid"
/datum/reagent/colorful_reagent
name = "Colorful Reagent"
@@ -1221,13 +1301,13 @@
reagent_state = LIQUID
color = "#C8A5DC"
var/list/random_color_list = list("#00aedb","#a200ff","#f47835","#d41243","#d11141","#00b159","#00aedb","#f37735","#ffc425","#008744","#0057e7","#d62d20","#ffa700")
taste_description = "rainbows"
/datum/reagent/colorful_reagent/on_mob_life(mob/living/M)
if(M && isliving(M))
M.add_atom_colour(pick(random_color_list), WASHABLE_COLOUR_PRIORITY)
..()
return
/datum/reagent/colorful_reagent/reaction_mob(mob/living/M, reac_volume)
if(M && isliving(M))
@@ -1251,6 +1331,7 @@
reagent_state = LIQUID
color = "#C8A5DC"
var/list/potential_colors = list("0ad","a0f","f73","d14","d14","0b5","0ad","f73","fc2","084","05e","d22","fa0") // fucking hair code
taste_description = "sourness"
/datum/reagent/hair_dye/reaction_mob(mob/living/M, method=TOUCH, reac_volume)
if(method == TOUCH || method == VAPOR)
@@ -1266,6 +1347,7 @@
description = "A solution to hair loss across the world."
reagent_state = LIQUID
color = "#C8A5DC"
taste_description = "sourness"
/datum/reagent/barbers_aid/reaction_mob(mob/living/M, method=TOUCH, reac_volume)
if(method == TOUCH || method == VAPOR)
@@ -1283,6 +1365,7 @@
description = "A concentrated solution to hair loss across the world."
reagent_state = LIQUID
color = "#C8A5DC"
taste_description = "sourness"
/datum/reagent/concentrated_barbers_aid/reaction_mob(mob/living/M, method=TOUCH, reac_volume)
if(method == TOUCH || method == VAPOR)
@@ -1298,6 +1381,7 @@
description = "Volatile. Controversial. Third Thing."
reagent_state = LIQUID
color = "#60A584" // rgb: 96, 165, 132
taste_description = "cool salt"
/datum/reagent/lye
name = "Lye"
@@ -1305,6 +1389,7 @@
description = "Also known as sodium hydroxide. As a profession making this is somewhat underwhelming."
reagent_state = LIQUID
color = "#FFFFD6" // very very light yellow
taste_description = "acid"
/datum/reagent/drying_agent
name = "Drying agent"
@@ -1312,6 +1397,7 @@
description = "A desiccant. Can be used to dry things."
reagent_state = LIQUID
color = "#A70FFF"
taste_description = "dryness"
/datum/reagent/drying_agent/reaction_turf(turf/open/T, reac_volume)
if(istype(T) && T.wet)
@@ -1330,41 +1416,51 @@
name = "mutagenic agar"
id = "mutagenvirusfood"
color = "#A3C00F" // rgb: 163,192,15
taste_description = "sourness"
/datum/reagent/toxin/mutagen/mutagenvirusfood/sugar
name = "sucrose agar"
id = "sugarvirusfood"
color = "#41B0C0" // rgb: 65,176,192
taste_description = "sweetness"
/datum/reagent/medicine/synaptizine/synaptizinevirusfood
name = "virus rations"
id = "synaptizinevirusfood"
color = "#D18AA5" // rgb: 209,138,165
taste_description = "bitterness"
/datum/reagent/toxin/plasma/plasmavirusfood
name = "virus plasma"
id = "plasmavirusfood"
color = "#A69DA9" // rgb: 166,157,169
taste_description = "bitterness"
taste_mult = 1.5
/datum/reagent/toxin/plasma/plasmavirusfood/weak
name = "weakened virus plasma"
id = "weakplasmavirusfood"
color = "#CEC3C6" // rgb: 206,195,198
taste_description = "bitterness"
taste_mult = 1.5
/datum/reagent/uranium/uraniumvirusfood
name = "decaying uranium gel"
id = "uraniumvirusfood"
color = "#67ADBA" // rgb: 103,173,186
taste_description = "the inside of a reactor"
/datum/reagent/uranium/uraniumvirusfood/unstable
name = "unstable uranium gel"
id = "uraniumplasmavirusfood_unstable"
color = "#2FF2CB" // rgb: 47,242,203
taste_description = "the inside of a reactor"
/datum/reagent/uranium/uraniumvirusfood/stable
name = "stable uranium gel"
id = "uraniumplasmavirusfood_stable"
color = "#04506C" // rgb: 4,80,108
taste_description = "the inside of a reactor"
// Bee chemicals
@@ -1373,6 +1469,7 @@
id = "royal_bee_jelly"
description = "Royal Bee Jelly, if injected into a Queen Space Bee said bee will split into two bees."
color = "#00ff80"
taste_description = "strange honey"
/datum/reagent/royal_bee_jelly/on_mob_life(mob/living/M)
if(prob(2))
@@ -1393,6 +1490,7 @@
color = "#123524" // RGB (18, 53, 36)
metabolization_rate = INFINITY
can_synth = 0
taste_description = "brains"
/datum/reagent/romerol/on_mob_life(mob/living/carbon/human/H)
// Silently add the zombie infection organ to be activated upon death
@@ -1405,6 +1503,7 @@
description = "A commercial chemical designed to help older men in the bedroom."//not really it just makes you a giant
color = "#ff0000"//strong red. rgb 255, 0, 0
var/current_size = 1
taste_description = "bitterness" // apparently what viagra tastes like
/datum/reagent/growthserum/on_mob_life(mob/living/carbon/H)
var/newsize = current_size
@@ -5,6 +5,7 @@
description = "Thermite produces an aluminothermic reaction known as a thermite reaction. Can be used to melt walls."
reagent_state = SOLID
color = "#550000"
taste_description = "sweet tasting metal"
/datum/reagent/thermite/reaction_turf(turf/T, reac_volume)
if(reac_volume >= 1 && iswallturf(T))
@@ -26,6 +27,7 @@
id = "nitroglycerin"
description = "Nitroglycerin is a heavy, colorless, oily, explosive liquid obtained by nitrating glycerol."
color = "#808080" // rgb: 128, 128, 128
taste_description = "oil"
/datum/reagent/stabilizing_agent
name = "Stabilizing Agent"
@@ -33,6 +35,7 @@
description = "Keeps unstable chemicals stable. This does not work on everything."
reagent_state = LIQUID
color = "#FFFF00"
taste_description = "metal"
/datum/reagent/clf3
name = "Chlorine Trifluoride"
@@ -41,6 +44,7 @@
reagent_state = LIQUID
color = "#FFC8C8"
metabolization_rate = 4
taste_description = "burning"
/datum/reagent/clf3/on_mob_life(mob/living/M)
M.adjust_fire_stacks(2)
@@ -83,6 +87,7 @@
description = "Sends everything flying from the detonation point."
reagent_state = LIQUID
color = "#5A64C8"
taste_description = "air and bitterness"
/datum/reagent/liquid_dark_matter
name = "Liquid Dark Matter"
@@ -90,6 +95,7 @@
description = "Sucks everything into the detonation point."
reagent_state = LIQUID
color = "#210021"
taste_description = "compressed bitterness"
/datum/reagent/blackpowder
name = "Black Powder"
@@ -98,6 +104,7 @@
reagent_state = LIQUID
color = "#000000"
metabolization_rate = 0.05
taste_description = "salt"
/datum/reagent/blackpowder/on_ex_act()
var/location = get_turf(holder.my_atom)
@@ -112,6 +119,7 @@
description = "Makes a very bright flash."
reagent_state = LIQUID
color = "#C8C8C8"
taste_description = "salt"
/datum/reagent/smoke_powder
name = "Smoke Powder"
@@ -119,6 +127,7 @@
description = "Makes a large cloud of smoke that can carry reagents."
reagent_state = LIQUID
color = "#C8C8C8"
taste_description = "smoke"
/datum/reagent/sonic_powder
name = "Sonic Powder"
@@ -126,6 +135,7 @@
description = "Makes a deafening noise."
reagent_state = LIQUID
color = "#C8C8C8"
taste_description = "loud noises"
/datum/reagent/phlogiston
name = "Phlogiston"
@@ -133,6 +143,7 @@
description = "Catches you on fire and makes you ignite."
reagent_state = LIQUID
color = "#FA00AF"
taste_description = "burning"
/datum/reagent/phlogiston/reaction_mob(mob/living/M, method=TOUCH, reac_volume)
M.IgniteMob()
@@ -151,6 +162,7 @@
description = "Very flammable."
reagent_state = LIQUID
color = "#FA00AF"
taste_description = "burning"
/datum/reagent/napalm/on_mob_life(mob/living/M)
M.adjust_fire_stacks(1)
@@ -167,6 +179,7 @@
description = "Comes into existence at 20K. As long as there is sufficient oxygen for it to react with, Cryostylane slowly cools all other reagents in the container 0K."
color = "#0000DC"
metabolization_rate = 0.5 * REAGENTS_METABOLISM
taste_description = "bitterness"
/datum/reagent/cryostylane/on_mob_life(mob/living/M) //TODO: code freezing into an ice cube
@@ -193,6 +206,7 @@
description = "Comes into existence at 20K. As long as there is sufficient oxygen for it to react with, Pyrosium slowly heats all other reagents in the container."
color = "#64FAC8"
metabolization_rate = 0.5 * REAGENTS_METABOLISM
taste_description = "bitterness"
/datum/reagent/pyrosium/on_mob_life(mob/living/M)
if(M.reagents.has_reagent("oxygen"))
@@ -214,6 +228,7 @@
reagent_state = LIQUID
color = "#20324D" //RGB: 32, 50, 77
metabolization_rate = 0.5 * REAGENTS_METABOLISM
taste_description = "charged metal"
var/shock_timer = 0
/datum/reagent/teslium/on_mob_life(mob/living/M)
@@ -222,4 +237,4 @@
shock_timer = 0
M.electrocute_act(rand(5,20), "Teslium in their body", 1, 1) //Override because it's caused from INSIDE of you
playsound(M, "sparks", 50, 1)
..()
..()
@@ -6,6 +6,8 @@
id = "toxin"
description = "A toxic chemical."
color = "#CF3600" // rgb: 207, 54, 0
taste_description = "bitterness"
taste_mult = 1.2
var/toxpwr = 1.5
/datum/reagent/toxin/on_mob_life(mob/living/M)
@@ -20,6 +22,7 @@
description = "A powerful poison derived from certain species of mushroom."
color = "#792300" // rgb: 121, 35, 0
toxpwr = 2.5
taste_description = "mushroom"
/datum/reagent/toxin/mutagen
name = "Unstable mutagen"
@@ -27,6 +30,8 @@
description = "Might cause unpredictable mutations. Keep away from children."
color = "#00FF00"
toxpwr = 0
taste_description = "slime"
taste_mult = 0.9
/datum/reagent/toxin/mutagen/reaction_mob(mob/living/carbon/M, method=TOUCH, reac_volume)
if(!..())
@@ -52,6 +57,8 @@
name = "Plasma"
id = "plasma"
description = "Plasma in its liquid form."
taste_description = "bitterness"
taste_mult = 1.5
color = "#8228A0"
toxpwr = 3
@@ -87,6 +94,7 @@
description = "A powerful poison used to stop respiration."
color = "#7DC3A0"
toxpwr = 0
taste_description = "acid"
/datum/reagent/toxin/lexorin/on_mob_life(mob/living/M)
. = TRUE
@@ -111,6 +119,8 @@
description = "A gooey semi-liquid produced from one of the deadliest lifeforms in existence. SO REAL."
color = "#801E28" // rgb: 128, 30, 40
toxpwr = 0
taste_description = "slime"
taste_mult = 1.3
/datum/reagent/toxin/slimejelly/on_mob_life(mob/living/M)
if(prob(10))
@@ -128,6 +138,7 @@
description = "Useful for dealing with undesirable customers."
color = "#CF3600" // rgb: 207, 54, 0
toxpwr = 0
taste_description = "mint"
/datum/reagent/toxin/minttoxin/on_mob_life(mob/living/M)
if(M.disabilities & FAT)
@@ -140,6 +151,7 @@
description = "A deadly neurotoxin produced by the dreaded spess carp."
color = "#003333" // rgb: 0, 51, 51
toxpwr = 2
taste_description = "fish"
/datum/reagent/toxin/zombiepowder
name = "Zombie Powder"
@@ -148,6 +160,7 @@
reagent_state = SOLID
color = "#669900" // rgb: 102, 153, 0
toxpwr = 0.5
taste_description = "death"
/datum/reagent/toxin/zombiepowder/on_mob_life(mob/living/carbon/M)
M.status_flags |= FAKEDEATH
@@ -168,6 +181,7 @@
description = "A powerful hallucinogen. Not a thing to be messed with."
color = "#B31008" // rgb: 139, 166, 233
toxpwr = 0
taste_description = "sourness"
/datum/reagent/toxin/mindbreaker/on_mob_life(mob/living/M)
M.hallucination += 10
@@ -179,6 +193,7 @@
description = "A harmful toxic mixture to kill plantlife. Do not ingest!"
color = "#49002E" // rgb: 73, 0, 46
toxpwr = 1
taste_mult = 1
/datum/reagent/toxin/plantbgone/reaction_obj(obj/O, reac_volume)
if(istype(O,/obj/structure/alien/weeds))
@@ -238,6 +253,7 @@
description = "A natural toxin produced by blob spores that induces combustion in its victim."
color = "#9ACD32"
toxpwr = 0.5
taste_description = "burning"
/datum/reagent/toxin/spore_burning/on_mob_life(mob/living/M)
M.adjust_fire_stacks(2)
@@ -287,6 +303,7 @@
description = "A specially-engineered sedative disguised as beer. It induces instant sleep in its target."
color = "#664300" // rgb: 102, 67, 0
metabolization_rate = 1.5 * REAGENTS_METABOLISM
taste_description = "piss water"
/datum/reagent/toxin/beer2/on_mob_life(mob/living/M)
switch(current_cycle)
@@ -319,6 +336,7 @@
description = "A nonlethal poison that inhibits speech in its victim."
color = "#F0F8FF" // rgb: 240, 248, 255
toxpwr = 0
taste_description = "silence"
/datum/reagent/toxin/mutetoxin/on_mob_life(mob/living/carbon/M)
M.silent = max(M.silent, 3)
@@ -465,6 +483,7 @@
color = "#d6d6d8"
metabolization_rate = 0.25 * REAGENTS_METABOLISM
toxpwr = 0.5
taste_description = "bad cooking"
/datum/reagent/toxin/itching_powder
name = "Itching Powder"
@@ -522,8 +541,8 @@
if(3)
if(ishuman(M))
var/mob/living/carbon/human/H = M
if(!H.heart_attack)
H.heart_attack = 1 // rip in pepperoni
if(!H.undergoing_cardiac_arrest() && H.can_heartattack())
H.set_heartattack(TRUE)
if(H.stat == CONSCIOUS)
H.visible_message("<span class='userdanger'>[H] clutches at [H.p_their()] chest as if [H.p_their()] heart stopped!</span>")
else
@@ -540,6 +559,7 @@
color = "#195096"
metabolization_rate = 0.25 * REAGENTS_METABOLISM
toxpwr = 0
taste_mult = 0 // undetectable, I guess?
/datum/reagent/toxin/pancuronium/on_mob_life(mob/living/M)
if(current_cycle >= 10)
@@ -599,6 +619,7 @@
name = "Lipolicide"
id = "lipolicide"
description = "A powerful toxin that will destroy fat cells, massively reducing body weight in a short time. More deadly to those without nutriment in their body."
taste_description = "mothballs"
reagent_state = LIQUID
color = "#F0FFF0"
metabolization_rate = 0.5 * REAGENTS_METABOLISM
@@ -666,6 +687,7 @@
color = "#AC88CA" //RGB: 172, 136, 202
metabolization_rate = 0.6 * REAGENTS_METABOLISM
toxpwr = 0.5
taste_description = "spinning"
/datum/reagent/toxin/rotatium/on_mob_life(mob/living/M)
if(M.hud_used)
@@ -692,6 +714,7 @@
color = "#ADBDCD"
metabolization_rate = 0.8 * REAGENTS_METABOLISM
toxpwr = 0.25
taste_description = "skewing"
/datum/reagent/toxin/skewium/on_mob_life(mob/living/M)
if(M.hud_used)
@@ -746,6 +769,7 @@
color = "#00FF32"
toxpwr = 1
var/acidpwr = 10 //the amount of protection removed from the armour
taste_description = "acid"
/datum/reagent/toxin/acid/reaction_mob(mob/living/carbon/C, method=TOUCH, reac_volume)
if(!istype(C))
@@ -790,6 +814,7 @@
description = "Makes the target off balance and dizzy"
toxpwr = 0
metabolization_rate = 1.5 * REAGENTS_METABOLISM
taste_description = "dizziness"
/datum/reagent/toxin/peaceborg/confuse/on_mob_life(mob/living/M)
if(M.confused < 6)
@@ -806,6 +831,7 @@
description = "An extremely weak stamina-toxin that tires out the target. Completely harmless."
toxpwr = 0
metabolization_rate = 1.5 * REAGENTS_METABOLISM
taste_description = "tiredness"
/datum/reagent/toxin/peaceborg/tire/on_mob_life(mob/living/M)
var/healthcomp = (100 - M.health) //DOES NOT ACCOUNT FOR ADMINBUS THINGS THAT MAKE YOU HAVE MORE THAN 200/210 HEALTH, OR SOMETHING OTHER THAN A HUMAN PROCESSING THIS.
@@ -833,4 +859,4 @@
if(prob(10))
M.Weaken(1, 0)
. = 1
..()
..()
@@ -212,4 +212,10 @@
name = "Tricordrazine"
id = "tricordrazine"
results = list("tricordrazine" = 3)
required_reagents = list("bicaridine" = 1, "kelotane" = 1, "antitoxin" = 1)
required_reagents = list("bicaridine" = 1, "kelotane" = 1, "antitoxin" = 1)
/datum/chemical_reaction/corazone
name = "Corazone"
id = "corazone"
results = list("corazone" = 3)
required_reagents = list("phenol" = 2, "lithium" = 1)
@@ -21,6 +21,10 @@
var/datum/disease/F = new spawned_disease(0)
var/list/data = list("viruses"= list(F))
reagents.add_reagent("blood", disease_amount, data)
add_initial_reagents()
/obj/item/weapon/reagent_containers/proc/add_initial_reagents()
if(list_reagents)
reagents.add_reagent_list(list_reagents)
@@ -37,7 +37,7 @@
filling.icon_state = "[icon_state]100"
filling.color = mix_color_from_reagents(reagents.reagent_list)
overlays += filling
add_overlay(filling)
/obj/item/weapon/reagent_containers/glass/bottle/epinephrine
@@ -81,6 +81,9 @@
user << "<span class='warning'>[src] is empty!</span>"
return
..()
if(!iscyborg(user))
reagents.maximum_volume = 0 //Makes them useless afterwards
container_type = 0
update_icon()
spawn(80)
if(iscyborg(user) && !reagents.total_volume)
+9 -5
View File
@@ -89,7 +89,9 @@
var/boom_message = "[key_name_admin(P.firer)] triggered a fueltank explosion via projectile."
bombers += boom_message
message_admins(boom_message)
log_game("[key_name(P.firer)] triggered a fueltank explosion via projectile.")
var/log_message = "[key_name(P.firer)] triggered a fueltank explosion via projectile."
P.firer.attack_log += "\[[time_stamp()]\] [log_message]"
log_attack(log_message)
boom()
/obj/structure/reagent_dispensers/fueltank/attackby(obj/item/I, mob/living/user, params)
@@ -108,10 +110,12 @@
update_icon()
else
user.visible_message("<span class='warning'>[user] catastrophically fails at refilling [user.p_their()] [W.name]!</span>", "<span class='userdanger'>That was stupid of you.</span>")
var/message = "[key_name_admin(user)] triggered a fueltank explosion via welding tool."
bombers += message
message_admins(message)
log_game("[key_name(user)] triggered a fueltank explosion via welding tool.")
var/message_admins = "[key_name_admin(user)] triggered a fueltank explosion via welding tool."
bombers += message_admins
message_admins(message_admins)
var/message_log = "[key_name(user)] triggered a fueltank explosion via welding tool."
user.attack_log += "\[[time_stamp()]\] [message_log]"
log_attack(message_log)
boom()
return
return ..()