April sync (#360)

* Maps and things no code/icons

* helpers defines globalvars

* Onclick world.dm orphaned_procs

* subsystems

Round vote and shuttle autocall done here too

* datums

* Game folder

* Admin - chatter modules

* clothing - mining

* modular computers - zambies

* client

* mob level 1

* mob stage 2 + simple_animal

* silicons n brains

* mob stage 3 + Alien/Monkey

* human mobs

* icons updated

* some sounds

* emitter y u no commit

* update tgstation.dme

* compile fixes

* travis fixes

Also removes Fast digest mode, because reasons.

* tweaks for travis Mentors are broke again

Also fixes Sizeray guns

* oxygen loss fix for vore code.

* removes unused code

* some code updates

* bulk fixes

* further fixes

* outside things

* whoops.

* Maint bar ported

* GLOBs.
This commit is contained in:
Poojawa
2017-04-13 23:37:00 -05:00
committed by GitHub
parent cdc32c98fa
commit 7e9b96a00f
1322 changed files with 174827 additions and 23888 deletions
+2 -2
View File
@@ -42,7 +42,7 @@
for(var/turf/T in (orange(i, epicenter) - orange(i-1, epicenter)))
turflist |= T
for(var/turf/T in turflist)
if( !(get_dir(T,epicenter) in cardinal) && (abs(T.x - epicenter.x) == abs(T.y - epicenter.y) ))
if( !(get_dir(T,epicenter) in GLOB.cardinal) && (abs(T.x - epicenter.x) == abs(T.y - epicenter.y) ))
turflist.Remove(T)
turflist.Add(T) // we move the purely diagonal turfs to the end of the list.
for(var/turf/T in turflist)
@@ -52,7 +52,7 @@
var/turf/NT = thing
if(!(NT in accessible))
continue
if(!(get_dir(T,NT) in cardinal))
if(!(get_dir(T,NT) in GLOB.cardinal))
continue
accessible[T] = 1
break
+23 -17
View File
@@ -1,11 +1,5 @@
var/const/TOUCH = 1 //splashing
var/const/INGEST = 2 //ingestion
var/const/VAPOR = 3 //foam, spray, blob attack
var/const/PATCH = 4 //patches
var/const/INJECT = 5 //injection
///////////////////////////////////////////////////////////////////////////////////
/datum/reagents
@@ -26,21 +20,21 @@ var/const/INJECT = 5 //injection
START_PROCESSING(SSobj, src)
//I dislike having these here but map-objects are initialised before world/New() is called. >_>
if(!chemical_reagents_list)
if(!GLOB.chemical_reagents_list)
//Chemical Reagents - Initialises all /datum/reagent into a list indexed by reagent id
var/paths = subtypesof(/datum/reagent)
chemical_reagents_list = list()
GLOB.chemical_reagents_list = list()
for(var/path in paths)
var/datum/reagent/D = new path()
chemical_reagents_list[D.id] = D
if(!chemical_reactions_list)
GLOB.chemical_reagents_list[D.id] = D
if(!GLOB.chemical_reactions_list)
//Chemical Reactions - Initialises all /datum/chemical_reaction into a list
// It is filtered into multiple lists within a list.
// For example:
// chemical_reaction_list["plasma"] is a list of all reactions relating to plasma
var/paths = subtypesof(/datum/chemical_reaction)
chemical_reactions_list = list()
GLOB.chemical_reactions_list = list()
for(var/path in paths)
@@ -53,9 +47,9 @@ var/const/INJECT = 5 //injection
// Create filters based on each reagent id in the required reagents list
for(var/id in reaction_ids)
if(!chemical_reactions_list[id])
chemical_reactions_list[id] = list()
chemical_reactions_list[id] += D
if(!GLOB.chemical_reactions_list[id])
GLOB.chemical_reactions_list[id] = list()
GLOB.chemical_reactions_list[id] += D
break // Don't bother adding ourselves to other reagent ids, it is redundant.
/datum/reagents/Destroy()
@@ -132,6 +126,18 @@ var/const/INJECT = 5 //injection
return id
/datum/reagents/proc/get_master_reagent()
var/list/cached_reagents = reagent_list
var/datum/reagent/master
var/max_volume = 0
for(var/reagent in cached_reagents)
var/datum/reagent/R = reagent
if(R.volume > max_volume)
max_volume = R.volume
master = R
return master
/datum/reagents/proc/trans_to(obj/target, amount=1, multiplier=1, preserve_data=1, no_react = 0)//if preserve_data=0, the reagents data will be lost. Usefull if you use data for some strange stuff and don't want it to be transferred.
var/list/cached_reagents = reagent_list
if(!target || !total_volume)
@@ -232,7 +238,7 @@ var/const/INJECT = 5 //injection
var/need_mob_update = 0
for(var/reagent in cached_reagents)
var/datum/reagent/R = reagent
if(!R.holder)
if(QDELETED(R.holder))
continue
if(!C)
C = R.holder.my_atom
@@ -318,7 +324,7 @@ var/const/INJECT = 5 //injection
/datum/reagents/proc/handle_reactions()
var/list/cached_reagents = reagent_list
var/list/cached_reactions = chemical_reactions_list
var/list/cached_reactions = GLOB.chemical_reactions_list
var/datum/cached_my_atom = my_atom
if(flags & REAGENT_NOREACT)
return //Yup, no reactions here. No siree.
@@ -543,7 +549,7 @@ var/const/INJECT = 5 //injection
handle_reactions()
return TRUE
var/datum/reagent/D = chemical_reagents_list[reagent]
var/datum/reagent/D = GLOB.chemical_reagents_list[reagent]
if(D)
var/datum/reagent/R = new D.type(data)
@@ -97,7 +97,7 @@
cut_overlays()
/obj/machinery/chem_dispenser/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = 0, \
datum/tgui/master_ui = null, datum/ui_state/state = default_state)
datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state)
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
if(!ui)
ui = new(user, src, ui_key, "chem_dispenser", name, 550, 550, master_ui, state)
@@ -129,7 +129,7 @@
var chemicals[0]
for(var/re in dispensable_reagents)
var/datum/reagent/temp = chemical_reagents_list[re]
var/datum/reagent/temp = GLOB.chemical_reagents_list[re]
if(temp)
chemicals.Add(list(list("title" = temp.name, "id" = temp.id)))
data["chemicals"] = chemicals
@@ -73,7 +73,7 @@
eject_beaker()
/obj/machinery/chem_heater/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = 0, \
datum/tgui/master_ui = null, datum/ui_state/state = default_state)
datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state)
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
if(!ui)
ui = new(user, src, ui_key, "chem_heater", name, 275, 400, master_ui, state)
@@ -137,7 +137,7 @@
/obj/machinery/chem_master/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = 0, \
datum/tgui/master_ui = null, datum/ui_state/state = default_state)
datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state)
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
if(!ui)
ui = new(user, src, ui_key, "chem_master", name, 500, 550, master_ui, state)
@@ -321,7 +321,7 @@
. = TRUE
if("analyze")
var/datum/reagent/R = chemical_reagents_list[params["id"]]
var/datum/reagent/R = GLOB.chemical_reagents_list[params["id"]]
if(R)
var/state = "Unknown"
if(initial(R.reagent_state) == 1)
@@ -81,8 +81,8 @@
var/vaccine_name = "Unknown"
if(!ispath(vaccine_type))
if(archive_diseases[path])
var/datum/disease/D = archive_diseases[path]
if(SSdisease.archive_diseases[path])
var/datum/disease/D = SSdisease.archive_diseases[path]
if(D)
vaccine_name = D.name
vaccine_type = path
@@ -106,11 +106,11 @@
var/datum/disease/D = null
if(!ispath(type))
D = GetVirusByIndex(text2num(href_list["create_virus_culture"]))
var/datum/disease/advance/A = archive_diseases[D.GetDiseaseID()]
var/datum/disease/advance/A = SSdisease.archive_diseases[D.GetDiseaseID()]
if(A)
D = new A.type(0, A)
else if(type)
if(type in diseases) // Make sure this is a disease
if(type in SSdisease.diseases) // Make sure this is a disease
D = new type(0, null)
if(!D)
return
@@ -159,8 +159,8 @@
if(..())
return
var/id = GetVirusTypeByIndex(text2num(href_list["name_disease"]))
if(archive_diseases[id])
var/datum/disease/advance/A = archive_diseases[id]
if(SSdisease.archive_diseases[id])
var/datum/disease/advance/A = SSdisease.archive_diseases[id]
A.AssignName(new_name)
for(var/datum/disease/advance/AD in SSdisease.processing)
AD.Refresh()
@@ -215,7 +215,7 @@
if(istype(D, /datum/disease/advance))
var/datum/disease/advance/A = D
D = archive_diseases[A.GetDiseaseID()]
D = SSdisease.archive_diseases[A.GetDiseaseID()]
if(D && D.name == "Unknown")
dat += "<b><a href='?src=\ref[src];name_disease=[i]'>Name Disease</a></b><BR>"
@@ -255,7 +255,7 @@
var/disease_name = "Unknown"
if(!ispath(type))
var/datum/disease/advance/A = archive_diseases[type]
var/datum/disease/advance/A = SSdisease.archive_diseases[type]
if(A)
disease_name = A.name
else
@@ -37,6 +37,8 @@
/obj/item/weapon/reagent_containers/food/snacks/grown/tomato = list("ketchup" = 0),
/obj/item/weapon/reagent_containers/food/snacks/grown/wheat = list("flour" = -5),
/obj/item/weapon/reagent_containers/food/snacks/grown/oat = list("flour" = -5),
/obj/item/weapon/reagent_containers/food/snacks/grown/rice = list("rice" = -5),
/obj/item/weapon/reagent_containers/food/snacks/donut/New = list("sprinkles" = -2, "sugar" = 1),
/obj/item/weapon/reagent_containers/food/snacks/grown/cherries = list("cherryjelly" = 0),
/obj/item/weapon/reagent_containers/food/snacks/grown/bluecherries = list("bluecherryjelly" = 0),
/obj/item/weapon/reagent_containers/food/snacks/egg = list("eggyolk" = -5),
@@ -14,6 +14,10 @@
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/glass_name = "glass of ...what?" // use for specialty drinks.
var/glass_desc = "You can't really tell what this is."
var/glass_icon_state = null // Otherwise just sets the icon to a normal glass with the mixture of the reagents in the glass.
var/shot_glass_icon_state = null
var/datum/reagents/holder = null
var/reagent_state = LIQUID
var/list/data
@@ -79,6 +79,8 @@ All effects don't start immediately, but rather get worse over time; the rate is
nutriment_factor = 1 * REAGENTS_METABOLISM
boozepwr = 25
taste_description = "piss water"
glass_name = "glass of beer"
glass_desc = "A freezing pint of beer."
/datum/reagent/consumable/ethanol/beer/green
name = "Green Beer"
@@ -86,6 +88,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
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"
glass_icon_state = "greenbeerglass"
glass_name = "glass of green beer"
glass_desc = "A freezing pint of green beer. Festive."
/datum/reagent/consumable/ethanol/beer/green/on_mob_life(mob/living/M)
if(M.color != color)
@@ -101,6 +106,10 @@ All effects don't start immediately, but rather get worse over time; the rate is
description = "A widely known, Mexican coffee-flavoured liqueur. In production since 1936!"
color = "#664300" // rgb: 102, 67, 0
boozepwr = 45
glass_icon_state = "kahluaglass"
glass_name = "glass of RR Coffee Liquor"
glass_desc = "DAMN, THIS THING LOOKS ROBUST!"
shot_glass_icon_state = "shotglasscream"
/datum/reagent/consumable/ethanol/kahlua/on_mob_life(mob/living/M)
M.dizziness = max(0,M.dizziness-5)
@@ -116,6 +125,10 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#664300" // rgb: 102, 67, 0
boozepwr = 75
taste_description = "molasses"
glass_icon_state = "whiskeyglass"
glass_name = "glass of whiskey"
glass_desc = "The silky, smokey whiskey goodness inside the glass makes the drink look very classy."
shot_glass_icon_state = "shotglassbrown"
/datum/reagent/consumable/ethanol/thirteenloko
name = "Thirteen Loko"
@@ -125,6 +138,10 @@ All effects don't start immediately, but rather get worse over time; the rate is
nutriment_factor = 1 * REAGENTS_METABOLISM
boozepwr = 80
taste_description = "jitters and death"
glass_icon_state = "thirteen_loko_glass"
glass_name = "glass of Thirteen Loko"
glass_desc = "This is a glass of Thirteen Loko, it appears to be of the highest quality. The drink, not the glass."
/datum/reagent/consumable/ethanol/thirteenloko/on_mob_life(mob/living/M)
M.drowsyness = max(0,M.drowsyness-7)
@@ -141,6 +158,10 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#0064C8" // rgb: 0, 100, 200
boozepwr = 65
taste_description = "grain alcohol"
glass_icon_state = "ginvodkaglass"
glass_name = "glass of vodka"
glass_desc = "The glass contain wodka. Xynta."
shot_glass_icon_state = "shotglassclear"
/datum/reagent/consumable/ethanol/vodka/on_mob_life(mob/living/M)
M.radiation = max(M.radiation-2,0)
@@ -154,6 +175,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
nutriment_factor = 2 * REAGENTS_METABOLISM
boozepwr = 15
taste_description = "desperation and lactate"
glass_icon_state = "glass_brown"
glass_name = "glass of bilk"
glass_desc = "A brew of milk and beer. For those alcoholics who fear osteoporosis."
/datum/reagent/consumable/ethanol/bilk/on_mob_life(mob/living/M)
if(M.getBruteLoss() && prob(10))
@@ -168,6 +192,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#666340" // rgb: 102, 99, 64
boozepwr = 10
taste_description = "dryness"
glass_icon_state = "threemileislandglass"
glass_name = "Three Mile Island Ice Tea"
glass_desc = "A glass of this is sure to prevent a meltdown."
/datum/reagent/consumable/ethanol/threemileisland/on_mob_life(mob/living/M)
M.set_drugginess(50)
@@ -180,6 +207,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#664300" // rgb: 102, 67, 0
boozepwr = 45
taste_description = "an alcoholic christmas tree"
glass_icon_state = "ginvodkaglass"
glass_name = "glass of gin"
glass_desc = "A crystal clear glass of Griffeater gin."
/datum/reagent/consumable/ethanol/rum
name = "Rum"
@@ -188,6 +218,10 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#664300" // rgb: 102, 67, 0
boozepwr = 60
taste_description = "spiked butterscotch"
glass_icon_state = "rumglass"
glass_name = "glass of rum"
glass_desc = "Now you want to Pray for a pirate suit, don't you?"
shot_glass_icon_state = "shotglassbrown"
/datum/reagent/consumable/ethanol/tequila
name = "Tequila"
@@ -196,6 +230,10 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#FFFF91" // rgb: 255, 255, 145
boozepwr = 70
taste_description = "paint stripper"
glass_icon_state = "tequilaglass"
glass_name = "glass of tequila"
glass_desc = "Now all that's missing is the weird colored shades!"
shot_glass_icon_state = "shotglassgold"
/datum/reagent/consumable/ethanol/vermouth
name = "Vermouth"
@@ -204,6 +242,10 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#91FF91" // rgb: 145, 255, 145
boozepwr = 45
taste_description = "dry alcohol"
glass_icon_state = "vermouthglass"
glass_name = "glass of vermouth"
glass_desc = "You wonder why you're even drinking this straight."
shot_glass_icon_state = "shotglassclear"
/datum/reagent/consumable/ethanol/wine
name = "Wine"
@@ -212,6 +254,10 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#7E4043" // rgb: 126, 64, 67
boozepwr = 35
taste_description = "bitter sweetness"
glass_icon_state = "wineglass"
glass_name = "glass of wine"
glass_desc = "A very classy looking drink."
shot_glass_icon_state = "shotglassred"
/datum/reagent/consumable/ethanol/lizardwine
name = "Lizard wine"
@@ -228,6 +274,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#F8EBF1"
boozepwr = 45
taste_description = "classy bitter sweetness"
glass_icon_state = "grappa"
glass_name = "glass of grappa"
glass_desc = "A fine drink originally made to prevent waste by using the leftovers from winemaking."
/datum/reagent/consumable/ethanol/cognac
name = "Cognac"
@@ -236,6 +285,10 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#AB3C05" // rgb: 171, 60, 5
boozepwr = 75
taste_description = "angry and irish"
glass_icon_state = "cognacglass"
glass_name = "glass of cognac"
glass_desc = "Damn, you feel like some kind of French aristocrat just by holding this."
shot_glass_icon_state = "shotglassbrown"
/datum/reagent/consumable/ethanol/absinthe
name = "Absinthe"
@@ -244,6 +297,10 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = rgb(10, 206, 0)
boozepwr = 80 //Very strong even by default
taste_description = "death and licorice"
glass_icon_state = "absinthe"
glass_name = "glass of absinthe"
glass_desc = "It's as strong as it smells."
shot_glass_icon_state = "shotglassgreen"
/datum/reagent/consumable/ethanol/absinthe/on_mob_life(mob/living/M)
if(prob(10))
@@ -257,6 +314,10 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#664300" // rgb: 102, 67, 0
boozepwr = 100
taste_description = "pure resignation"
glass_icon_state = "glass_brown2"
glass_name = "Hooch"
glass_desc = "You've really hit rock bottom now... your liver packed its bags and left last night."
/datum/reagent/consumable/ethanol/ale
name = "Ale"
@@ -265,6 +326,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#664300" // rgb: 102, 67, 0
boozepwr = 65
taste_description = "hearty barley ale"
glass_icon_state = "aleglass"
glass_name = "glass of ale"
glass_desc = "A freezing pint of delicious Ale."
/datum/reagent/consumable/ethanol/goldschlager
name = "Goldschlager"
@@ -273,6 +337,10 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#FFFF91" // rgb: 255, 255, 145
boozepwr = 25
taste_description = "burning cinnamon"
glass_icon_state = "goldschlagerglass"
glass_name = "glass of Goldschlager"
glass_desc = "100% proof that teen girls will drink anything with gold in it."
shot_glass_icon_state = "shotglassgold"
/datum/reagent/consumable/ethanol/patron
name = "Patron"
@@ -281,6 +349,10 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#585840" // rgb: 88, 88, 64
boozepwr = 60
taste_description = "metallic and expensive"
glass_icon_state = "patronglass"
glass_name = "glass of patron"
glass_desc = "Drinking patron in the bar, with all the subpar ladies."
shot_glass_icon_state = "shotglassclear"
/datum/reagent/consumable/ethanol/gintonic
name = "Gin and Tonic"
@@ -289,6 +361,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#664300" // rgb: 102, 67, 0
boozepwr = 25
taste_description = "mild and tart"
glass_icon_state = "gintonicglass"
glass_name = "Gin and Tonic"
glass_desc = "A mild but still great cocktail. Drink up, like a true Englishman."
/datum/reagent/consumable/ethanol/cuba_libre
name = "Cuba Libre"
@@ -297,6 +372,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#3E1B00" // rgb: 62, 27, 0
boozepwr = 50
taste_description = "cola"
glass_icon_state = "cubalibreglass"
glass_name = "Cuba Libre"
glass_desc = "A classic mix of rum and 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.
@@ -314,6 +392,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#3E1B00" // rgb: 62, 27, 0
boozepwr = 70
taste_description = "cola"
glass_icon_state = "whiskeycolaglass"
glass_name = "Whiskey Cola"
glass_desc = "An innocent-looking mixture of cola and Whiskey. Delicious."
/datum/reagent/consumable/ethanol/martini
name = "Classic Martini"
@@ -322,6 +403,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#664300" // rgb: 102, 67, 0
boozepwr = 60
taste_description = "dry class"
glass_icon_state = "martiniglass"
glass_name = "Classic Martini"
glass_desc = "Damn, the bartender even stirred it, not shook it."
/datum/reagent/consumable/ethanol/vodkamartini
name = "Vodka Martini"
@@ -330,6 +414,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#664300" // rgb: 102, 67, 0
boozepwr = 65
taste_description = "shaken, not stirred"
glass_icon_state = "martiniglass"
glass_name = "Vodka martini"
glass_desc ="A bastardisation of the classic martini. Still great."
/datum/reagent/consumable/ethanol/white_russian
name = "White Russian"
@@ -338,6 +425,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#A68340" // rgb: 166, 131, 64
boozepwr = 50
taste_description = "bitter cream"
glass_icon_state = "whiterussianglass"
glass_name = "White Russian"
glass_desc = "A very nice looking drink. But that's just, like, your opinion, man."
/datum/reagent/consumable/ethanol/screwdrivercocktail
name = "Screwdriver"
@@ -346,6 +436,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#A68310" // rgb: 166, 131, 16
boozepwr = 55
taste_description = "oranges"
glass_icon_state = "screwdriverglass"
glass_name = "Screwdriver"
glass_desc = "A simple, yet superb mixture of Vodka and orange juice. Just the thing for the tired engineer."
/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.
@@ -359,6 +452,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#8CFF8C" // rgb: 140, 255, 140
boozepwr = 45
taste_description = "sweet 'n creamy"
glass_icon_state = "booger"
glass_name = "Booger"
glass_desc = "Ewww..."
/datum/reagent/consumable/ethanol/bloody_mary
name = "Bloody Mary"
@@ -367,6 +463,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#664300" // rgb: 102, 67, 0
boozepwr = 55
taste_description = "tomatoes with a hint of lime"
glass_icon_state = "bloodymaryglass"
glass_name = "Bloody Mary"
glass_desc = "Tomato juice, mixed with Vodka and a lil' bit of lime. Tastes like liquid murder."
/datum/reagent/consumable/ethanol/brave_bull
name = "Brave Bull"
@@ -375,6 +474,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#664300" // rgb: 102, 67, 0
boozepwr = 80
taste_description = "alcoholic bravery"
glass_icon_state = "bravebullglass"
glass_name = "Brave Bull"
glass_desc = "Tequila and Coffee liqueur, brought together in a mouthwatering mixture. Drink up."
/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.
@@ -393,6 +495,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#FFE48C" // rgb: 255, 228, 140
boozepwr = 45
taste_description = "oranges"
glass_icon_state = "tequilasunriseglass"
glass_name = "tequila Sunrise"
glass_desc = "Oh great, now you feel nostalgic about sunrises back on Terra..."
/datum/reagent/consumable/ethanol/toxins_special
name = "Toxins Special"
@@ -401,6 +506,10 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#664300" // rgb: 102, 67, 0
boozepwr = 25
taste_description = "spicy toxins"
glass_icon_state = "toxinsspecialglass"
glass_name = "Toxins Special"
glass_desc = "Whoah, this thing is on FIRE!"
shot_glass_icon_state = "toxinsspecialglass"
/datum/reagent/consumable/ethanol/toxins_special/on_mob_life(var/mob/living/M as mob)
if (M.bodytemperature < 330)
@@ -415,6 +524,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
boozepwr = 90 //THE FIST OF THE LAW IS STRONG AND HARD
metabolization_rate = 0.8
taste_description = "JUSTICE"
glass_icon_state = "beepskysmashglass"
glass_name = "Beepsky Smash"
glass_desc = "Heavy, hot and strong. Just like the Iron fist of the LAW."
/datum/reagent/consumable/ethanol/beepsky_smash/on_mob_life(mob/living/M)
M.Stun(2, 0)
@@ -427,6 +539,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#664300" // rgb: 102, 67, 0
boozepwr = 70
taste_description = "creamy alcohol"
glass_icon_state = "irishcreamglass"
glass_name = "Irish Cream"
glass_desc = "It's cream, mixed with whiskey. What else would you expect from the Irish?"
/datum/reagent/consumable/ethanol/manly_dorf
name = "The Manly Dorf"
@@ -435,6 +550,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#664300" // rgb: 102, 67, 0
boozepwr = 100 //For the manly only
taste_description = "hair on your chest and your chin"
glass_icon_state = "manlydorfglass"
glass_name = "The Manly Dorf"
glass_desc = "A manly concoction made from Ale and Beer. Intended for true men only."
/datum/reagent/consumable/ethanol/longislandicedtea
name = "Long Island Iced Tea"
@@ -443,6 +561,10 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#664300" // rgb: 102, 67, 0
boozepwr = 35
taste_description = "a mixture of cola and alcohol"
glass_icon_state = "longislandicedteaglass"
glass_name = "Long Island Iced Tea"
glass_desc = "The liquor cabinet, brought together in a delicious mix. Intended for middle-aged alcoholic women only."
/datum/reagent/consumable/ethanol/moonshine
name = "Moonshine"
@@ -451,6 +573,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#664300" // rgb: 102, 67, 0
boozepwr = 95
taste_description = "bitterness"
glass_icon_state = "glass_clear"
glass_name = "Moonshine"
glass_desc = "You've really hit rock bottom now... your liver packed its bags and left last night."
/datum/reagent/consumable/ethanol/b52
name = "B-52"
@@ -459,6 +584,10 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#664300" // rgb: 102, 67, 0
boozepwr = 85
taste_description = "angry and irish"
glass_icon_state = "b52glass"
glass_name = "B-52"
glass_desc = "Kahlua, Irish Cream, and cognac. You will get bombed."
shot_glass_icon_state = "b52glass"
/datum/reagent/consumable/ethanol/irishcoffee
name = "Irish Coffee"
@@ -467,6 +596,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#664300" // rgb: 102, 67, 0
boozepwr = 35
taste_description = "giving up on the day"
glass_icon_state = "irishcoffeeglass"
glass_name = "Irish Coffee"
glass_desc = "Coffee and alcohol. More fun than a Mimosa to drink in the morning."
/datum/reagent/consumable/ethanol/margarita
name = "Margarita"
@@ -475,6 +607,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#8CFF8C" // rgb: 140, 255, 140
boozepwr = 35
taste_description = "dry and salty"
glass_icon_state = "margaritaglass"
glass_name = "Margarita"
glass_desc = "On the rocks with salt on the rim. Arriba~!"
/datum/reagent/consumable/ethanol/black_russian
name = "Black Russian"
@@ -483,6 +618,10 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#360000" // rgb: 54, 0, 0
boozepwr = 70
taste_description = "bitterness"
glass_icon_state = "blackrussianglass"
glass_name = "Black Russian"
glass_desc = "For the lactose-intolerant. Still as classy as a White Russian."
/datum/reagent/consumable/ethanol/manhattan
name = "Manhattan"
@@ -491,6 +630,10 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#664300" // rgb: 102, 67, 0
boozepwr = 30
taste_description = "mild dryness"
glass_icon_state = "manhattanglass"
glass_name = "Manhattan"
glass_desc = "The Detective's undercover drink of choice. He never could stomach gin..."
/datum/reagent/consumable/ethanol/manhattan_proj
name = "Manhattan Project"
@@ -499,6 +642,10 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#664300" // rgb: 102, 67, 0
boozepwr = 45
taste_description = "death, the destroyer of worlds"
glass_icon_state = "proj_manhattanglass"
glass_name = "Manhattan Project"
glass_desc = "A scientist's drink of choice, for thinking how to blow up the station."
/datum/reagent/consumable/ethanol/manhattan_proj/on_mob_life(mob/living/M)
M.set_drugginess(30)
@@ -511,6 +658,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#664300" // rgb: 102, 67, 0
boozepwr = 70
taste_description = "soda"
glass_icon_state = "whiskeysodaglass2"
glass_name = "Whiskey Soda"
glass_desc = "Ultimate refreshment."
/datum/reagent/consumable/ethanol/antifreeze
name = "Anti-freeze"
@@ -519,6 +669,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#664300" // rgb: 102, 67, 0
boozepwr = 35
taste_description = "Jack Frost's piss"
glass_icon_state = "antifreeze"
glass_name = "Anti-freeze"
glass_desc = "The ultimate refreshment."
/datum/reagent/consumable/ethanol/antifreeze/on_mob_life(mob/living/M)
if (M.bodytemperature < 330)
@@ -532,6 +685,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#664300" // rgb: 102, 67, 0
boozepwr = 45
taste_description = "creamy berries"
glass_icon_state = "b&p"
glass_name = "Barefoot"
glass_desc = "Barefoot and pregnant."
/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.
@@ -548,6 +704,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#FFFFFF" // rgb: 255, 255, 255
boozepwr = 35
taste_description = "refreshing cold"
glass_icon_state = "snowwhite"
glass_name = "Snow White"
glass_desc = "A cold refreshment."
/datum/reagent/consumable/ethanol/demonsblood //Prevents the imbiber from being dragged into a pool of blood by a slaughter demon.
name = "Demon's Blood"
@@ -556,6 +715,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#820000" // rgb: 130, 0, 0
boozepwr = 75
taste_description = "sweet tasting iron"
glass_icon_state = "demonsblood"
glass_name = "Demons Blood"
glass_desc = "Just looking at this thing makes the hair at the back of your neck stand up."
/datum/reagent/consumable/ethanol/devilskiss //If eaten by a slaughter demon, the demon will regret it.
name = "Devil's Kiss"
@@ -564,6 +726,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#A68310" // rgb: 166, 131, 16
boozepwr = 70
taste_description = "bitter iron"
glass_icon_state = "devilskiss"
glass_name = "Devils Kiss"
glass_desc = "Creepy time!"
/datum/reagent/consumable/ethanol/vodkatonic
name = "Vodka and Tonic"
@@ -572,6 +737,10 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#0064C8" // rgb: 0, 100, 200
boozepwr = 70
taste_description = "tart bitterness"
glass_icon_state = "vodkatonicglass"
glass_name = "Vodka and Tonic"
glass_desc = "For when a gin and tonic isn't Russian enough."
/datum/reagent/consumable/ethanol/ginfizz
name = "Gin Fizz"
@@ -580,6 +749,10 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#664300" // rgb: 102, 67, 0
boozepwr = 45
taste_description = "dry, tart lemons"
glass_icon_state = "ginfizzglass"
glass_name = "Gin Fizz"
glass_desc = "Refreshingly lemony, deliciously dry."
/datum/reagent/consumable/ethanol/bahama_mama
name = "Bahama Mama"
@@ -588,6 +761,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#FF7F3B" // rgb: 255, 127, 59
boozepwr = 35
taste_description = "lime and orange"
glass_icon_state = "bahama_mama"
glass_name = "Bahama Mama"
glass_desc = "Tropical cocktail."
/datum/reagent/consumable/ethanol/singulo
name = "Singulo"
@@ -596,6 +772,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#2E6671" // rgb: 46, 102, 113
boozepwr = 35
taste_description = "concentrated matter"
glass_icon_state = "singulo"
glass_name = "Singulo"
glass_desc = "A blue-space beverage."
/datum/reagent/consumable/ethanol/sbiten
name = "Sbiten"
@@ -604,6 +783,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#664300" // rgb: 102, 67, 0
boozepwr = 70
taste_description = "hot and spice"
glass_icon_state = "sbitenglass"
glass_name = "Sbiten"
glass_desc = "A spicy mix of Vodka and Spice. Very hot."
/datum/reagent/consumable/ethanol/sbiten/on_mob_life(mob/living/M)
if (M.bodytemperature < 360)
@@ -617,6 +799,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#C73C00" // rgb: 199, 60, 0
boozepwr = 51 //Red drinks are stronger
taste_description = "sweet and salty alcohol"
glass_icon_state = "red_meadglass"
glass_name = "Red Mead"
glass_desc = "A True Viking's Beverage, though its color is strange."
/datum/reagent/consumable/ethanol/mead
name = "Mead"
@@ -626,6 +811,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
nutriment_factor = 1 * REAGENTS_METABOLISM
boozepwr = 50
taste_description = "sweet, sweet alcohol"
glass_icon_state = "meadglass"
glass_name = "Mead"
glass_desc = "A Viking's Beverage, though a cheap one."
/datum/reagent/consumable/ethanol/iced_beer
name = "Iced Beer"
@@ -634,6 +822,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#664300" // rgb: 102, 67, 0
boozepwr = 15
taste_description = "refreshingly cold"
glass_icon_state = "iced_beerglass"
glass_name = "Iced Beer"
glass_desc = "A beer so frosty, the air around it freezes."
/datum/reagent/consumable/ethanol/iced_beer/on_mob_life(mob/living/M)
if(M.bodytemperature > 270)
@@ -647,6 +838,10 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#664300" // rgb: 102, 67, 0
boozepwr = 1 //Basically nothing
taste_description = "a poor excuse for alcohol"
glass_icon_state = "grogglass"
glass_name = "Grog"
glass_desc = "A fine and cepa drink for Space."
/datum/reagent/consumable/ethanol/aloe
name = "Aloe"
@@ -655,6 +850,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#664300" // rgb: 102, 67, 0
boozepwr = 35
taste_description = "sweet 'n creamy"
glass_icon_state = "aloe"
glass_name = "Aloe"
glass_desc = "Very, very, very good."
/datum/reagent/consumable/ethanol/andalusia
name = "Andalusia"
@@ -663,6 +861,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#664300" // rgb: 102, 67, 0
boozepwr = 40
taste_description = "lemons"
glass_icon_state = "andalusia"
glass_name = "Andalusia"
glass_desc = "A nice, strangely named drink."
/datum/reagent/consumable/ethanol/alliescocktail
name = "Allies Cocktail"
@@ -671,6 +872,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#664300" // rgb: 102, 67, 0
boozepwr = 45
taste_description = "bitter yet free"
glass_icon_state = "alliescocktail"
glass_name = "Allies cocktail"
glass_desc = "A drink made from your allies."
/datum/reagent/consumable/ethanol/acid_spit
name = "Acid Spit"
@@ -679,6 +883,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#365000" // rgb: 54, 80, 0
boozepwr = 80
taste_description = "stomach acid"
glass_icon_state = "acidspitglass"
glass_name = "Acid Spit"
glass_desc = "A drink from Nanotrasen. Made from live aliens."
/datum/reagent/consumable/ethanol/amasec
name = "Amasec"
@@ -687,6 +894,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#664300" // rgb: 102, 67, 0
boozepwr = 35
taste_description = "dark and metallic"
glass_icon_state = "amasecglass"
glass_name = "Amasec"
glass_desc = "Always handy before COMBAT!!!"
/datum/reagent/consumable/ethanol/changelingsting
name = "Changeling Sting"
@@ -695,6 +905,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#2E6671" // rgb: 46, 102, 113
boozepwr = 95
taste_description = "your brain coming out your nose"
glass_icon_state = "changelingsting"
glass_name = "Changeling Sting"
glass_desc = "A stingy drink."
/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.
@@ -709,6 +922,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#2E6671" // rgb: 46, 102, 113
boozepwr = 25
taste_description = "delicious anger"
glass_icon_state = "irishcarbomb"
glass_name = "Irish Car Bomb"
glass_desc = "An Irish car bomb."
/datum/reagent/consumable/ethanol/syndicatebomb
name = "Syndicate Bomb"
@@ -717,6 +933,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#2E6671" // rgb: 46, 102, 113
boozepwr = 90
taste_description = "purified antagonism"
glass_icon_state = "syndicatebomb"
glass_name = "Syndicate Bomb"
glass_desc = "A syndicate bomb."
/datum/reagent/consumable/ethanol/syndicatebomb/on_mob_life(mob/living/M)
if(prob(5))
@@ -730,6 +949,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#2E6671" // rgb: 46, 102, 113
boozepwr = 35
taste_description = "tartness and bananas"
glass_icon_state = "erikasurprise"
glass_name = "Erika Surprise"
glass_desc = "The surprise is, it's green!"
/datum/reagent/consumable/ethanol/driestmartini
name = "Driest Martini"
@@ -739,6 +961,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#2E6671" // rgb: 46, 102, 113
boozepwr = 65
taste_description = "a beach"
glass_icon_state = "driestmartiniglass"
glass_name = "Driest Martini"
glass_desc = "Only for the experienced. You think you see sand floating in the glass."
/datum/reagent/consumable/ethanol/bananahonk
name = "Banana Mama"
@@ -748,6 +973,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#FFFF91" // rgb: 255, 255, 140
boozepwr = 60
taste_description = "a bad joke"
glass_icon_state = "bananahonkglass"
glass_name = "Banana Honk"
glass_desc = "A drink from Clown Heaven."
/datum/reagent/consumable/ethanol/bananahonk/on_mob_life(mob/living/M)
if((ishuman(M) && M.job in list("Clown") ) || ismonkey(M))
@@ -763,6 +991,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#664300" // rgb: 102, 67, 0
boozepwr = 59 //Proof that clowns are better than mimes right here
taste_description = "a pencil eraser"
glass_icon_state = "silencerglass"
glass_name = "Silencer"
glass_desc = "A drink from Mime Heaven."
/datum/reagent/consumable/ethanol/silencer/on_mob_life(mob/living/M)
if(ishuman(M) && M.job in list("Mime"))
@@ -777,6 +1008,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#1EA0FF" // rgb: 102, 67, 0
boozepwr = 50
taste_description = "molasses and a mouthful of pool water"
glass_icon_state = "drunkenblumpkin"
glass_name = "Drunken Blumpkin"
glass_desc = "A drink for the drunks."
/datum/reagent/consumable/ethanol/whiskey_sour //Requested since we had whiskey cola and soda but not sour.
name = "Whiskey Sour"
@@ -785,6 +1019,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = rgb(255, 201, 49)
boozepwr = 35
taste_description = "sour lemons"
glass_icon_state = "whiskey_sour"
glass_name = "Whiskey Sour"
glass_desc = "Lemon juice mixed with whiskey and a dash of sugar. Surprisingly satisfying."
/datum/reagent/consumable/ethanol/hcider
name = "Hard Cider"
@@ -794,6 +1031,10 @@ All effects don't start immediately, but rather get worse over time; the rate is
nutriment_factor = 1 * REAGENTS_METABOLISM
boozepwr = 25
taste_description = "apples"
glass_icon_state = "whiskeyglass"
glass_name = "Hard Cider"
glass_desc = "Tastes like autumn."
shot_glass_icon_state = "shotglassbrown"
/datum/reagent/consumable/ethanol/fetching_fizz //A reference to one of my favorite games of all time. Pulls nearby ores to the imbiber!
@@ -804,6 +1045,10 @@ All effects don't start immediately, but rather get worse over time; the rate is
boozepwr = 10
metabolization_rate = 0.1 * REAGENTS_METABOLISM
taste_description = "charged metal" // the same as teslium, honk honk.
glass_icon_state = "fetching_fizz"
glass_name = "Fetching Fizz"
glass_desc = "Induces magnetism in the imbiber. Started as a barroom prank but evolved to become popular with miners and scrappers. Metallic aftertaste."
/datum/reagent/consumable/ethanol/fetching_fizz/on_mob_life(mob/living/M)
for(var/obj/item/weapon/ore/O in orange(3, M))
@@ -819,6 +1064,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
boozepwr = 10
metabolization_rate = 0.1 * REAGENTS_METABOLISM
taste_description = "bravado in the face of disaster"
glass_icon_state = "hearty_punch"
glass_name = "Hearty Punch"
glass_desc = "Aromatic beverage served piping hot. According to folk tales it can almost wake the dead."
/datum/reagent/consumable/ethanol/hearty_punch/on_mob_life(mob/living/M)
if(M.stat == UNCONSCIOUS && M.health <= 0)
@@ -837,6 +1085,10 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = rgb(51, 19, 3) //Sickly brown
boozepwr = 300 //I warned you
taste_description = "a wall of bricks"
glass_icon_state = "glass_brown2"
glass_name = "Bacchus' Blessing"
glass_desc = "You didn't think it was possible for a liquid to be so utterly revolting. Are you sure about this...?"
/datum/reagent/consumable/ethanol/atomicbomb
@@ -846,6 +1098,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#666300" // rgb: 102, 99, 0
boozepwr = 0 //custom drunk effect
taste_description = "da bomb"
glass_icon_state = "atomicbombglass"
glass_name = "Atomic Bomb"
glass_desc = "Nanotrasen cannot take legal responsibility for your actions after imbibing."
/datum/reagent/consumable/ethanol/atomicbomb/on_mob_life(mob/living/M)
M.set_drugginess(50)
@@ -871,6 +1126,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
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"
glass_icon_state = "gargleblasterglass"
glass_name = "Pan-Galactic Gargle Blaster"
glass_desc = "Like having your brain smashed out by a slice of lemon wrapped around a large gold brick."
/datum/reagent/consumable/ethanol/gargle_blaster/on_mob_life(mob/living/M)
M.dizziness +=6
@@ -896,6 +1154,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
color = "#2E2E61" // rgb: 46, 46, 97
boozepwr = 0 //custom drunk effect
taste_description = "a numbing sensation"
glass_icon_state = "neurotoxinglass"
glass_name = "Neurotoxin"
glass_desc = "A drink that is guaranteed to knock you silly."
/datum/reagent/consumable/ethanol/neurotoxin/on_mob_life(mob/living/carbon/M)
M.Weaken(3, 1, 0)
@@ -924,6 +1185,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
boozepwr = 0 //custom drunk effect
metabolization_rate = 0.2 * REAGENTS_METABOLISM
taste_description = "giving peace a chance"
glass_icon_state = "hippiesdelightglass"
glass_name = "Hippie's Delight"
glass_desc = "A drink enjoyed by people during the 1960's."
/datum/reagent/consumable/ethanol/hippies_delight/on_mob_life(mob/living/M)
if (!M.slurring)
@@ -965,3 +1229,6 @@ All effects don't start immediately, but rather get worse over time; the rate is
nutriment_factor = 2 * REAGENTS_METABOLISM
boozepwr = 1
taste_description = "custard and alcohol"
glass_icon_state = "glass_yellow"
glass_name = "Eggnog"
glass_desc = "For enjoying the most wonderful time of the year."
@@ -164,7 +164,7 @@
M.emote("scream")
/datum/reagent/blob/blazing_oil/extinguish_reaction(obj/structure/blob/B)
B.take_damage(rand(1, 3), BURN, "energy")
B.take_damage(1.5, BURN, "energy")
/datum/reagent/blob/blazing_oil/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag)
if(damage_type == BURN && damage_flag != "energy")
@@ -10,6 +10,9 @@
description = "Both delicious AND rich in Vitamin C, what more do you need?"
color = "#E78108" // rgb: 231, 129, 8
taste_description = "oranges"
glass_icon_state = "glass_orange"
glass_name = "glass of orange juice"
glass_desc = "Vitamins! Yay!"
/datum/reagent/consumable/orangejuice/on_mob_life(mob/living/M)
if(M.getOxyLoss() && prob(30))
@@ -23,6 +26,9 @@
description = "Tomatoes made into juice. What a waste of big, juicy tomatoes, huh?"
color = "#731008" // rgb: 115, 16, 8
taste_description = "tomatoes"
glass_icon_state = "glass_red"
glass_name = "glass of tomato juice"
glass_desc = "Are you sure this is tomato juice?"
/datum/reagent/consumable/tomatojuice/on_mob_life(mob/living/M)
if(M.getFireLoss() && prob(20))
@@ -36,6 +42,9 @@
description = "The sweet-sour juice of limes."
color = "#365E30" // rgb: 54, 94, 48
taste_description = "unbearable sourness"
glass_icon_state = "glass_green"
glass_name = "glass of lime juice"
glass_desc = "A glass of sweet-sour lime juice."
/datum/reagent/consumable/limejuice/on_mob_life(mob/living/M)
if(M.getToxLoss() && prob(20))
@@ -49,6 +58,9 @@
description = "It is just like a carrot but without crunching."
color = "#973800" // rgb: 151, 56, 0
taste_description = "carrots"
glass_icon_state = "carrotjuice"
glass_name = "glass of carrot juice"
glass_desc = "It's just like a carrot but without crunching."
/datum/reagent/consumable/carrotjuice/on_mob_life(mob/living/M)
M.adjust_blurriness(-1)
@@ -68,6 +80,9 @@
description = "A delicious blend of several different kinds of berries."
color = "#863333" // rgb: 134, 51, 51
taste_description = "berries"
glass_icon_state = "berryjuice"
glass_name = "glass of berry juice"
glass_desc = "Berry juice. Or maybe it's jam. Who cares?"
/datum/reagent/consumable/applejuice
name = "Apple Juice"
@@ -82,6 +97,9 @@
description = "A tasty juice blended from various kinds of very deadly and toxic berries."
color = "#863353" // rgb: 134, 51, 83
taste_description = "berries"
glass_icon_state = "poisonberryjuice"
glass_name = "glass of berry juice"
glass_desc = "Berry juice. Or maybe it's poison. Who cares?"
/datum/reagent/consumable/poisonberryjuice/on_mob_life(mob/living/M)
M.adjustToxLoss(1, 0)
@@ -94,6 +112,9 @@
description = "Delicious juice made from watermelon."
color = "#863333" // rgb: 134, 51, 51
taste_description = "juicy watermelon"
glass_icon_state = "glass_red"
glass_name = "glass of watermelon juice"
glass_desc = "A glass of watermelon juice."
/datum/reagent/consumable/lemonjuice
name = "Lemon Juice"
@@ -101,6 +122,9 @@
description = "This juice is VERY sour."
color = "#863333" // rgb: 175, 175, 0
taste_description = "sourness"
glass_icon_state = "lemonglass"
glass_name = "glass of lemon juice"
glass_desc = "Sour..."
/datum/reagent/consumable/banana
name = "Banana Juice"
@@ -108,6 +132,9 @@
description = "The raw essence of a banana. HONK"
color = "#863333" // rgb: 175, 175, 0
taste_description = "banana"
glass_icon_state = "banana"
glass_name = "glass of banana juice"
glass_desc = "The raw essence of a banana. HONK."
/datum/reagent/consumable/banana/on_mob_life(mob/living/M)
if((ishuman(M) && M.job in list("Clown") ) || ismonkey(M))
@@ -120,6 +147,10 @@
id = "nothing"
description = "Absolutely nothing."
taste_description = "nothing"
glass_icon_state = "nothing"
glass_name = "Nothing"
glass_desc = "Absolutely nothing."
shot_glass_icon_state = "shotglass"
/datum/reagent/consumable/nothing/on_mob_life(mob/living/M)
if(ishuman(M) && M.job in list("Mime"))
@@ -159,6 +190,9 @@
nutriment_factor = 2 * REAGENTS_METABOLISM
color = "#302000" // rgb: 48, 32, 0
taste_description = "irish sadness"
glass_icon_state = "glass_brown"
glass_name = "glass of potato juice"
glass_desc = "Bleh..."
/datum/reagent/consumable/grapejuice
name = "Grape Juice"
@@ -173,6 +207,9 @@
description = "An opaque white liquid produced by the mammary glands of mammals."
color = "#DFDFDF" // rgb: 223, 223, 223
taste_description = "milk"
glass_icon_state = "glass_white"
glass_name = "glass of milk"
glass_desc = "White and nutritious goodness!"
/datum/reagent/consumable/milk/on_mob_life(mob/living/M)
if(M.getBruteLoss() && prob(20))
@@ -192,6 +229,9 @@
description = "An opaque white liquid made from soybeans."
color = "#DFDFC7" // rgb: 223, 223, 199
taste_description = "soy milk"
glass_icon_state = "glass_white"
glass_name = "glass of soy milk"
glass_desc = "White and nutritious soy goodness!"
/datum/reagent/consumable/soymilk/on_mob_life(mob/living/M)
if(M.getBruteLoss() && prob(20))
@@ -205,6 +245,9 @@
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"
glass_icon_state = "glass_white"
glass_name = "glass of cream"
glass_desc = "Ewwww..."
/datum/reagent/consumable/cream/on_mob_life(mob/living/M)
if(M.getBruteLoss() && prob(20))
@@ -220,6 +263,9 @@
nutriment_factor = 0
overdose_threshold = 80
taste_description = "bitterness"
glass_icon_state = "glass_brown"
glass_name = "glass of coffee"
glass_desc = "Don't drop it, or you'll send scalding liquid and glass shards everywhere."
/datum/reagent/consumable/coffee/overdose_process(mob/living/M)
M.Jitter(5)
@@ -243,6 +289,9 @@
color = "#101000" // rgb: 16, 16, 0
nutriment_factor = 0
taste_description = "tart black tea"
glass_icon_state = "teaglass"
glass_name = "glass of tea"
glass_desc = "Drinking it from here would not seem right."
/datum/reagent/consumable/tea/on_mob_life(mob/living/M)
M.dizziness = max(0,M.dizziness-2)
@@ -263,6 +312,9 @@
color = "#FFB766"
nutriment_factor = 2
taste_description = "bitter tea"
glass_icon_state = "arnold_palmer"
glass_name = "Arnold Palmer"
glass_desc = "You feel like taking a few golf swings after a few swigs of this."
/datum/reagent/consumable/tea/arnold_palmer/on_mob_life(mob/living/M)
if(prob(5))
@@ -277,6 +329,9 @@
color = "#102838" // rgb: 16, 40, 56
nutriment_factor = 0
taste_description = "bitter coldness"
glass_icon_state = "icedcoffeeglass"
glass_name = "Iced Coffee"
glass_desc = "A drink to perk you up and refresh you!"
/datum/reagent/consumable/icecoffee/on_mob_life(mob/living/M)
M.dizziness = max(0,M.dizziness-5)
@@ -295,6 +350,9 @@
color = "#104038" // rgb: 16, 64, 56
nutriment_factor = 0
taste_description = "sweet tea"
glass_icon_state = "icedteaglass"
glass_name = "Iced Tea"
glass_desc = "All natural, antioxidant-rich flavour sensation."
/datum/reagent/consumable/icetea/on_mob_life(mob/living/M)
M.dizziness = max(0,M.dizziness-2)
@@ -313,6 +371,9 @@
description = "A refreshing beverage."
color = "#100800" // rgb: 16, 8, 0
taste_description = "cola"
glass_icon_state = "glass_brown"
glass_name = "glass of space Cola"
glass_desc = "A glass of refreshing Space Cola."
/datum/reagent/consumable/space_cola/on_mob_life(mob/living/M)
M.drowsyness = max(0,M.drowsyness-5)
@@ -326,6 +387,9 @@
description = "Cola, cola never changes."
color = "#100800" // rgb: 16, 8, 0
taste_description = "the future"
glass_icon_state = "nuka_colaglass"
glass_name = "Nuka Cola"
glass_desc = "Don't cry, Don't raise your eye, It's only nuclear wasteland."
/datum/reagent/consumable/nuka_cola/on_mob_life(mob/living/M)
M.Jitter(20)
@@ -345,6 +409,9 @@
description = "Blows right through you like a space wind."
color = "#102000" // rgb: 16, 32, 0
taste_description = "sweet citrus soda"
glass_icon_state = "Space_mountain_wind_glass"
glass_name = "glass of Space Mountain Wind"
glass_desc = "Space Mountain Wind. As you know, there are no mountains in space, only wind."
/datum/reagent/consumable/spacemountainwind/on_mob_life(mob/living/M)
M.drowsyness = max(0,M.drowsyness-7)
@@ -361,6 +428,9 @@
description = "A delicious blend of 42 different flavours."
color = "#102000" // rgb: 16, 32, 0
taste_description = "cherry soda" // FALSE ADVERTISING
glass_icon_state = "dr_gibb_glass"
glass_name = "glass of Dr. Gibb"
glass_desc = "Dr. Gibb. Not as dangerous as the glass_name might imply."
/datum/reagent/consumable/dr_gibb/on_mob_life(mob/living/M)
M.drowsyness = max(0,M.drowsyness-6)
@@ -374,6 +444,10 @@
description = "Tastes like a hull breach in your mouth."
color = "#00FF00" // rgb: 0, 255, 0
taste_description = "cherry soda"
glass_icon_state = "space-up_glass"
glass_name = "glass of Space-up"
glass_desc = "Space-up. It helps you keep your cool."
/datum/reagent/consumable/space_up/on_mob_life(mob/living/M)
if (M.bodytemperature > 310)
@@ -386,6 +460,10 @@
id = "lemon_lime"
color = "#8CFF00" // rgb: 135, 255, 0
taste_description = "tangy lime and lemon soda"
glass_icon_state = "glass_yellow"
glass_name = "glass of Lemon-Lime"
glass_desc = "You're pretty certain a real fruit has never actually touched this."
/datum/reagent/consumable/lemon_lime/on_mob_life(mob/living/M)
if (M.bodytemperature > 310)
@@ -398,6 +476,9 @@
id = "pwr_game"
color = "#9385bf" // rgb: 58, 52, 75
taste_description = "sweet and salty tang"
glass_icon_state = "glass_red"
glass_name = "glass of Pwr Game"
glass_desc = "Goes well with a Vlad's salad."
/datum/reagent/consumable/pwr_game/on_mob_life(mob/living/M)
if (M.bodytemperature > 310)
@@ -410,6 +491,9 @@
id = "shamblers"
color = "#f00060" // rgb: 94, 0, 38
taste_description = "carbonated metallic soda"
glass_icon_state = "glass_red"
glass_name = "glass of Shambler's Juice"
glass_desc = "Mmm mm, shambly."
/datum/reagent/consumable/shamblers/on_mob_life(mob/living/M)
if (M.bodytemperature > 310)
@@ -421,6 +505,9 @@
description = "A can of club soda. Why not make a scotch and soda?"
color = "#619494" // rgb: 97, 148, 148
taste_description = "carbonated water"
glass_icon_state = "glass_clear"
glass_name = "glass of Soda Water"
glass_desc = "Soda water. Why not make a scotch and soda?"
/datum/reagent/consumable/sodawater/on_mob_life(mob/living/M)
M.dizziness = max(0,M.dizziness-5)
@@ -435,6 +522,9 @@
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"
glass_icon_state = "glass_clear"
glass_name = "glass of Tonic Water"
glass_desc = "Quinine tastes funny, but at least it'll keep that Space Malaria away."
/datum/reagent/consumable/tonic/on_mob_life(mob/living/M)
M.dizziness = max(0,M.dizziness-5)
@@ -452,6 +542,9 @@
reagent_state = SOLID
color = "#619494" // rgb: 97, 148, 148
taste_description = "ice"
glass_icon_state = "iceglass"
glass_name = "glass of ice"
glass_desc = "Generally, you're supposed to put something else in there too..."
/datum/reagent/consumable/ice/on_mob_life(mob/living/M)
M.bodytemperature = max( M.bodytemperature - 5 * TEMPERATURE_DAMAGE_COEFFICIENT, 0)
@@ -463,6 +556,9 @@
description = "A nice and tasty beverage while you are reading your hippie books."
color = "#664300" // rgb: 102, 67, 0
taste_description = "creamy coffee"
glass_icon_state = "soy_latte"
glass_name = "Soy Latte"
glass_desc = "A nice and refreshing beverage while you're reading."
/datum/reagent/consumable/soy_latte/on_mob_life(mob/living/M)
M.dizziness = max(0,M.dizziness-5)
@@ -482,6 +578,9 @@
description = "A nice, strong and tasty beverage while you are reading."
color = "#664300" // rgb: 102, 67, 0
taste_description = "bitter cream"
glass_icon_state = "cafe_latte"
glass_name = "Cafe Latte"
glass_desc = "A nice, strong and refreshing beverage while you're reading."
/datum/reagent/consumable/cafe_latte/on_mob_life(mob/living/M)
M.dizziness = max(0,M.dizziness-5)
@@ -501,6 +600,9 @@
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"
glass_icon_state = "doctorsdelightglass"
glass_name = "Doctor's Delight"
glass_desc = "The space doctor's favorite. Guaranteed to restore bodily injury; side effects include cravings and hunger."
/datum/reagent/consumable/doctor_delight/on_mob_life(mob/living/M)
M.adjustBruteLoss(-0.5, 0)
@@ -520,6 +622,9 @@
color = "#800000"
nutriment_factor = 4 * REAGENTS_METABOLISM
taste_description = "sweet chocolate"
glass_icon_state = "chocolatepudding"
glass_name = "Chocolate Pudding"
glass_desc = "Tasty."
/datum/reagent/consumable/vanillapudding
name = "Vanilla Pudding"
@@ -528,6 +633,9 @@
color = "#FAFAD2"
nutriment_factor = 4 * REAGENTS_METABOLISM
taste_description = "sweet vanilla"
glass_icon_state = "vanillapudding"
glass_name = "Vanilla Pudding"
glass_desc = "Tasty."
/datum/reagent/consumable/cherryshake
name = "Cherry Shake"
@@ -536,6 +644,9 @@
color = "#FFB6C1"
nutriment_factor = 4 * REAGENTS_METABOLISM
taste_description = "creamy cherry"
glass_icon_state = "cherryshake"
glass_name = "Cherry Shake"
glass_desc = "A cherry flavored milkshake."
/datum/reagent/consumable/bluecherryshake
name = "Blue Cherry Shake"
@@ -544,6 +655,9 @@
color = "#00F1FF"
nutriment_factor = 4 * REAGENTS_METABOLISM
taste_description = "creamy blue cherry"
glass_icon_state = "bluecherryshake"
glass_name = "Blue Cherry Shake"
glass_desc = "An exotic blue milkshake."
/datum/reagent/consumable/pumpkin_latte
name = "Pumpkin Latte"
@@ -552,6 +666,9 @@
color = "#F4A460"
nutriment_factor = 3 * REAGENTS_METABOLISM
taste_description = "creamy pumpkin"
glass_icon_state = "pumpkin_latte"
glass_name = "Pumpkin Latte"
glass_desc = "A mix of coffee and pumpkin juice."
/datum/reagent/consumable/gibbfloats
name = "Gibb Floats"
@@ -560,6 +677,9 @@
color = "#B22222"
nutriment_factor = 3 * REAGENTS_METABOLISM
taste_description = "creamy cherry"
glass_icon_state = "gibbfloats"
glass_name = "Gibbfloat"
glass_desc = "Dr. Gibb with ice cream on top."
/datum/reagent/consumable/pumpkinjuice
name = "Pumpkin Juice"
@@ -581,6 +701,9 @@
description = "A solution."
color = "#C8A5DC"
taste_description = "extreme bitterness"
glass_icon_state = "triplecitrus" //needs own sprite mine are trash
glass_name = "glass of triple citrus"
glass_desc = "A mixture of citrus juices. Tangy, yet smooth."
/datum/reagent/consumable/grape_soda
name = "Grape soda"
@@ -588,6 +711,8 @@
description = "Beloved of children and teetotalers."
color = "#E6CDFF"
taste_description = "grape soda"
glass_name = "glass of grape juice"
glass_desc = "It's grape (soda)!"
/datum/reagent/consumable/milk/chocolate_milk
name = "Chocolate Milk"
@@ -15,7 +15,7 @@
M.set_drugginess(15)
if(isturf(M.loc) && !isspaceturf(M.loc))
if(M.canmove)
if(prob(10)) step(M, pick(cardinal))
if(prob(10)) step(M, pick(GLOB.cardinal))
if(prob(7))
M.emote(pick("twitch","drool","moan","giggle"))
..()
@@ -49,6 +49,14 @@
..()
. = 1
/datum/reagent/drug/menthol
name = "Menthol"
id = "menthol"
description = "Tastes naturally minty, and imparts a very mild numbing sensation."
taste_description = "mint"
reagent_state = LIQUID
color = "#80AF9C"
/datum/reagent/drug/crank
name = "Crank"
id = "crank"
@@ -176,7 +184,7 @@
/datum/reagent/drug/methamphetamine/overdose_process(mob/living/M)
if(M.canmove && !istype(M.loc, /atom/movable))
for(var/i in 1 to 4)
step(M, pick(cardinal))
step(M, pick(GLOB.cardinal))
if(prob(20))
M.emote("laugh")
if(prob(33))
@@ -205,7 +213,7 @@
/datum/reagent/drug/methamphetamine/addiction_act_stage3(mob/living/M)
if(M.canmove && !istype(M.loc, /atom/movable))
for(var/i = 0, i < 4, i++)
step(M, pick(cardinal))
step(M, pick(GLOB.cardinal))
M.Jitter(15)
M.Dizzy(15)
if(prob(40))
@@ -215,7 +223,7 @@
/datum/reagent/drug/methamphetamine/addiction_act_stage4(mob/living/carbon/human/M)
if(M.canmove && !istype(M.loc, /atom/movable))
for(var/i = 0, i < 8, i++)
step(M, pick(cardinal))
step(M, pick(GLOB.cardinal))
M.Jitter(20)
M.Dizzy(20)
M.adjustToxLoss(5, 0)
@@ -247,8 +255,8 @@
M.adjustToxLoss(0.1, 0)
M.hallucination += 10
if(M.canmove && !istype(M.loc, /atom/movable))
step(M, pick(cardinal))
step(M, pick(cardinal))
step(M, pick(GLOB.cardinal))
step(M, pick(GLOB.cardinal))
..()
. = 1
@@ -256,7 +264,7 @@
M.hallucination += 10
if(M.canmove && !istype(M.loc, /atom/movable))
for(var/i in 1 to 8)
step(M, pick(cardinal))
step(M, pick(GLOB.cardinal))
if(prob(20))
M.emote(pick("twitch","drool","moan"))
if(prob(33))
@@ -269,7 +277,7 @@
M.hallucination += 10
if(M.canmove && !istype(M.loc, /atom/movable))
for(var/i = 0, i < 8, i++)
step(M, pick(cardinal))
step(M, pick(GLOB.cardinal))
M.Jitter(5)
M.adjustBrainLoss(10)
if(prob(20))
@@ -280,7 +288,7 @@
M.hallucination += 20
if(M.canmove && !istype(M.loc, /atom/movable))
for(var/i = 0, i < 8, i++)
step(M, pick(cardinal))
step(M, pick(GLOB.cardinal))
M.Jitter(10)
M.Dizzy(10)
M.adjustBrainLoss(10)
@@ -292,7 +300,7 @@
M.hallucination += 30
if(M.canmove && !istype(M.loc, /atom/movable))
for(var/i = 0, i < 12, i++)
step(M, pick(cardinal))
step(M, pick(GLOB.cardinal))
M.Jitter(15)
M.Dizzy(15)
M.adjustBrainLoss(10)
@@ -304,7 +312,7 @@
M.hallucination += 40
if(M.canmove && !istype(M.loc, /atom/movable))
for(var/i = 0, i < 16, i++)
step(M, pick(cardinal))
step(M, pick(GLOB.cardinal))
M.Jitter(50)
M.Dizzy(50)
M.adjustToxLoss(5, 0)
@@ -326,6 +326,9 @@
nutriment_factor = 3 * REAGENTS_METABOLISM
color = "#403010" // rgb: 64, 48, 16
taste_description = "creamy chocolate"
glass_icon_state = "chocolateglass"
glass_name = "glass of chocolate"
glass_desc = "Tasty."
/datum/reagent/consumable/hot_coco/on_mob_life(mob/living/M)
if (M.bodytemperature < 310)//310 is the normal bodytemp. 310.055
@@ -6,6 +6,10 @@
metabolization_rate = 5 //fast rate so it disappears fast.
taste_description = "iron"
taste_mult = 1.3
glass_icon_state = "glass_red"
glass_name = "glass of tomato juice"
glass_desc = "Are you sure this is tomato juice?"
shot_glass_icon_state = "shotglassred"
/datum/reagent/blood/reaction_mob(mob/M, method=TOUCH, reac_volume)
if(data && data["viruses"])
@@ -81,6 +85,7 @@
color = "#FF9966"
description = "You don't even want to think about what's in here."
taste_description = "gross iron"
shot_glass_icon_state = "shotglassred"
/datum/reagent/vaccine
//data must contain virus type
@@ -107,6 +112,10 @@
color = "#AAAAAA77" // rgb: 170, 170, 170, 77 (alpha)
taste_description = "water"
var/cooling_temperature = 2
glass_icon_state = "glass_clear"
glass_name = "glass of Water"
glass_desc = "The father of all refreshments."
shot_glass_icon_state = "shotglassclear"
/*
* Water reaction to turf
@@ -168,6 +177,9 @@
id = "holywater"
description = "Water blessed by some deity."
color = "#E0E8EF" // rgb: 224, 232, 239
glass_icon_state = "glass_clear"
glass_name = "glass of Holy Water"
glass_desc = "A glass of holy water."
/datum/reagent/water/holywater/reaction_mob(mob/living/M, method=TOUCH, reac_volume)
if(is_servant_of_ratvar(M))
@@ -197,7 +209,7 @@
if(data >= 75) // 30 units, 135 seconds
if(iscultist(M) || is_servant_of_ratvar(M))
if(iscultist(M))
ticker.mode.remove_cultist(M.mind, 1, 1)
SSticker.mode.remove_cultist(M.mind, 1, 1)
else if(is_servant_of_ratvar(M))
remove_servant_of_ratvar(M)
holder.remove_reagent(id, volume) // maybe this is a little too perfect and a max() cap on the statuses would be better??
@@ -645,7 +657,7 @@
/datum/reagent/mercury/on_mob_life(mob/living/M)
if(M.canmove && isspaceturf(M.loc))
step(M, pick(cardinal))
step(M, pick(GLOB.cardinal))
if(prob(5))
M.emote(pick("twitch","drool","moan"))
M.adjustBrainLoss(2)
@@ -725,7 +737,7 @@
/datum/reagent/lithium/on_mob_life(mob/living/M)
if(M.canmove && isspaceturf(M.loc))
step(M, pick(cardinal))
step(M, pick(GLOB.cardinal))
if(prob(5))
M.emote(pick("twitch","drool","moan"))
..()
@@ -858,7 +870,7 @@
to_chat(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)
addtimer(CALLBACK(GLOBAL_PROC, .proc/do_teleport, M, get_turf(M), 5, null, null, null, 'sound/effects/phasein.ogg'), 30)
..()
/datum/reagent/aluminium
@@ -883,6 +895,9 @@
description = "Required for welders. Flamable."
color = "#660000" // rgb: 102, 0, 0
taste_description = "gross metal"
glass_icon_state = "dr_gibb_glass"
glass_name = "glass of welder fuel"
glass_desc = "Unless you're an industrial tool, this is probably not safe for consumption."
/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))
@@ -1353,8 +1368,8 @@
if(method == TOUCH || method == VAPOR)
if(M && ishuman(M))
var/mob/living/carbon/human/H = M
var/datum/sprite_accessory/hair/picked_hair = pick(hair_styles_list)
var/datum/sprite_accessory/facial_hair/picked_beard = pick(facial_hair_styles_list)
var/datum/sprite_accessory/hair/picked_hair = pick(GLOB.hair_styles_list)
var/datum/sprite_accessory/facial_hair/picked_beard = pick(GLOB.facial_hair_styles_list)
H.hair_style = picked_hair
H.facial_hair_style = picked_beard
H.update_hair()
@@ -146,6 +146,9 @@
taste_description = "burning"
/datum/reagent/phlogiston/reaction_mob(mob/living/M, method=TOUCH, reac_volume)
M.adjust_fire_stacks(1)
var/burndmg = max(0.3*M.fire_stacks, 0.3)
M.adjustFireLoss(burndmg, 0)
M.IgniteMob()
..()
@@ -304,6 +304,9 @@
color = "#664300" // rgb: 102, 67, 0
metabolization_rate = 1.5 * REAGENTS_METABOLISM
taste_description = "piss water"
glass_icon_state = "beerglass"
glass_name = "glass of beer"
glass_desc = "A freezing pint of beer."
/datum/reagent/toxin/beer2/on_mob_life(mob/living/M)
switch(current_cycle)
+2 -2
View File
@@ -21,9 +21,9 @@
return
//I recommend you set the result amount to the total volume of all components.
var/list/chemical_mob_spawn_meancritters = list() // list of possible hostile mobs
var/list/chemical_mob_spawn_nicecritters = list() // and possible friendly mobs
/datum/chemical_reaction/proc/chemical_mob_spawn(datum/reagents/holder, amount_to_spawn, reaction_name, mob_faction = "chemicalsummon")
var/static/list/chemical_mob_spawn_meancritters = list() // list of possible hostile mobs
var/static/list/chemical_mob_spawn_nicecritters = list() // and possible friendly mobs
if(holder && holder.my_atom)
if (chemical_mob_spawn_meancritters.len <= 0 || chemical_mob_spawn_nicecritters.len <= 0)
for (var/T in typesof(/mob/living/simple_animal))
@@ -61,8 +61,8 @@
strengthdiv = 8
for(var/mob/living/simple_animal/revenant/R in get_hearers_in_view(7,get_turf(holder.my_atom)))
var/deity
if(SSreligion.Bible_deity_name)
deity = SSreligion.Bible_deity_name
if(SSreligion.deity)
deity = SSreligion.deity
else
deity = "Christ"
to_chat(R, "<span class='userdanger'>The power of [deity] compels you!</span>")
@@ -110,7 +110,7 @@ Borg Hypospray
return
mode = chosen_reagent
playsound(loc, 'sound/effects/pop.ogg', 50, 0)
var/datum/reagent/R = chemical_reagents_list[reagent_ids[mode]]
var/datum/reagent/R = GLOB.chemical_reagents_list[reagent_ids[mode]]
to_chat(user, "<span class='notice'>[src] is now dispensing '[R.name]'.</span>")
return
@@ -41,8 +41,8 @@
..()
update_icon()
/obj/item/weapon/reagent_containers/syringe/attack_paw()
return attack_hand()
/obj/item/weapon/reagent_containers/syringe/attack_paw(mob/user)
return attack_hand(user)
/obj/item/weapon/reagent_containers/syringe/attackby(obj/item/I, mob/user, params)
return
@@ -80,7 +80,7 @@
target.visible_message("<span class='danger'>[user] is trying to take a blood sample from [target]!</span>", \
"<span class='userdanger'>[user] is trying to take a blood sample from [target]!</span>")
busy = 1
if(!do_mob(user, target))
if(!do_mob(user, target, extra_checks=CALLBACK(L, /mob/living/proc/can_inject,user,1)))
busy = 0
return
if(reagents.total_volume >= reagents.maximum_volume)
@@ -123,13 +123,12 @@
if(L != user)
L.visible_message("<span class='danger'>[user] is trying to inject [L]!</span>", \
"<span class='userdanger'>[user] is trying to inject [L]!</span>")
if(!do_mob(user, L))
if(!do_mob(user, L, extra_checks=CALLBACK(L, /mob/living/proc/can_inject,user,1)))
return
if(!reagents.total_volume)
return
if(L.reagents.total_volume >= L.reagents.maximum_volume)
return
L.visible_message("<span class='danger'>[user] injects [L] with the syringe!", \
"<span class='userdanger'>[user] injects [L] with the syringe!")
+2 -2
View File
@@ -87,7 +87,7 @@
if(!QDELETED(src)) //wasn't deleted by the projectile's effects.
if(!P.nodamage && ((P.damage_type == BURN) || (P.damage_type == BRUTE)))
var/boom_message = "[key_name_admin(P.firer)] triggered a fueltank explosion via projectile."
bombers += boom_message
GLOB.bombers += boom_message
message_admins(boom_message)
var/log_message = "triggered a fueltank explosion via projectile."
P.firer.log_message(log_message, INDIVIDUAL_ATTACK_LOG)
@@ -111,7 +111,7 @@
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_admins = "[key_name_admin(user)] triggered a fueltank explosion via welding tool."
bombers += message_admins
GLOB.bombers += message_admins
message_admins(message_admins)
var/message_log = "triggered a fueltank explosion via welding tool."
user.log_message(message_log, INDIVIDUAL_ATTACK_LOG)