Converts Reagents to Typepaths and Centralises Reagent Spawning (#9140)

Converts reagents to use typepaths instead of IDs.
    Centralises reagent spawning in a lot of places to use reagents_to_add instead of a variety of custom methods or initialise overrides.
This commit is contained in:
MarinaGryphon
2020-07-05 20:47:48 +03:00
committed by GitHub
parent 0867971810
commit 37c80988ce
177 changed files with 3151 additions and 4767 deletions
+3 -3
View File
@@ -66,7 +66,7 @@
F.create_reagents(10)
if(reagents)
for(var/datum/reagent/R in reagents.reagent_list)
F.reagents.add_reagent(R.id, 1, safety = 1) //added safety check since reagents in the foam have already had a chance to react
F.reagents.add_reagent(R.type, 1, safety = 1) //added safety check since reagents in the foam have already had a chance to react
/obj/effect/effect/foam/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) // foam disolves when heated, except metal foams
if(!metal && prob(max(0, exposed_temperature - 475)))
@@ -100,7 +100,7 @@
if(carry && !metal)
for(var/datum/reagent/R in carry.reagent_list)
carried_reagents += R.id
carried_reagents += R.type
/datum/effect/effect/system/foam_spread/start()
set waitfor = FALSE
@@ -119,7 +119,7 @@
for(var/id in carried_reagents)
F.reagents.add_reagent(id, 1, safety = 1) //makes a safety call because all reagents should have already reacted anyway
else
F.reagents.add_reagent("water", 1, safety = 1)
F.reagents.add_reagent(/datum/reagent/water, 1, safety = 1)
// wall formed by metal foams, dense and opaque, but easy to break
+3 -4
View File
@@ -33,14 +33,13 @@
/obj/item/reagent_containers/food/snacks/honeycomb/Initialize()
. = ..()
reagents.add_reagent("honey",10)
reagents.add_reagent("nutriment", 0.5)
reagents.add_reagent("sugar", 2)
reagents.add_reagent(/datum/reagent/honey,10)
reagents.add_reagent(/datum/reagent/nutriment, 0.5)
reagents.add_reagent(/datum/reagent/sugar, 2)
bitesize = 2
/datum/reagent/honey
name = "Honey"
id = "honey"
description = "A golden yellow syrup, loaded with sugary sweetness."
color = "#FFFF00"
fallback_specific_heat = 0.75
+6 -6
View File
@@ -13,14 +13,14 @@
/obj/item/reagent_containers/glass/beaker/vial/random
flags = 0
var/list/random_reagent_list = list(list("water" = 15) = 1, list("cleaner" = 15) = 1)
var/list/random_reagent_list = list(list(/datum/reagent/water = 15) = 1, list(/datum/reagent/spacecleaner = 15) = 1)
/obj/item/reagent_containers/glass/beaker/vial/random/toxin
random_reagent_list = list(
list("mindbreaker" = 10, "space_drugs" = 20) = 3,
list("carpotoxin" = 15) = 2,
list("impedrezene" = 15) = 2,
list("dextrotoxin" = 10) = 1)
list(/datum/reagent/mindbreaker = 10, /datum/reagent/space_drugs = 20) = 3,
list(/datum/reagent/toxin/carpotoxin = 15) = 2,
list(/datum/reagent/impedrezene = 15) = 2,
list(/datum/reagent/toxin/dextrotoxin = 10) = 1)
/obj/item/reagent_containers/glass/beaker/vial/random/Initialize()
. = ..()
@@ -46,6 +46,6 @@
. = ..()
if(is_open_container())
flags ^= OPENCONTAINER
reagents.add_reagent("venenum",volume)
reagents.add_reagent(/datum/reagent/venenum,volume)
desc = "Contains venenum."
update_icon()
+12 -13
View File
@@ -3,42 +3,42 @@
colour = "#DA0000"
shadeColour = "#810C0C"
colourName = "red"
dust = "crayon_dust_red"
reagents_to_add = list(/datum/reagent/crayon_dust/red = 10)
/obj/item/pen/crayon/orange
icon_state = "crayonorange"
colour = "#FF9300"
shadeColour = "#A55403"
colourName = "orange"
dust = "crayon_dust_orange"
reagents_to_add = list(/datum/reagent/crayon_dust/orange = 10)
/obj/item/pen/crayon/yellow
icon_state = "crayonyellow"
colour = "#FFF200"
shadeColour = "#886422"
colourName = "yellow"
dust = "crayon_dust_yellow"
reagents_to_add = list(/datum/reagent/crayon_dust/yellow = 10)
/obj/item/pen/crayon/green
icon_state = "crayongreen"
colour = "#A8E61D"
shadeColour = "#61840F"
colourName = "green"
dust = "crayon_dust_green"
reagents_to_add = list(/datum/reagent/crayon_dust/green = 10)
/obj/item/pen/crayon/blue
icon_state = "crayonblue"
colour = "#00B7EF"
shadeColour = "#0082A8"
colourName = "blue"
dust = "crayon_dust_blue"
reagents_to_add = list(/datum/reagent/crayon_dust/blue = 10)
/obj/item/pen/crayon/purple
icon_state = "crayonpurple"
colour = "#DA00FF"
shadeColour = "#810CFF"
colourName = "purple"
dust = "crayon_dust_purple"
reagents_to_add = list(/datum/reagent/crayon_dust/purple = 10)
/obj/item/pen/crayon/mime
icon_state = "crayonmime"
@@ -46,8 +46,7 @@
colour = "#FFFFFF"
shadeColour = "#000000"
colourName = "mime"
dust = "crayon_dust_grey"
chem_volume = 15
reagents_to_add = list(/datum/reagent/crayon_dust/grey = 15)
/obj/item/pen/crayon/mime/attack_self(mob/living/user as mob) //inversion
if(colour != "#FFFFFF" && shadeColour != "#000000")
@@ -65,8 +64,7 @@
colour = "#FFF000"
shadeColour = "#000FFF"
colourName = "rainbow"
dust = "crayon_dust_brown"
chem_volume = 20
reagents_to_add = list(/datum/reagent/crayon_dust/brown = 20)
/obj/item/pen/crayon/rainbow/attack_self(mob/living/user as mob)
colour = input(user, "Please select the main colour.", "Crayon colour") as color
@@ -97,9 +95,10 @@
new /obj/effect/decal/cleanable/crayon(target,colour,shadeColour,drawtype)
to_chat(user, "You finish drawing.")
target.add_fingerprint(user) // Adds their fingerprints to the floor the crayon is drawn on.
if(reagents)
reagents.remove_reagent(dust,0.5) //using crayons reduces crayon dust in it.
if(reagents.total_volume <= 0)
if(reagents && LAZYLEN(reagents_to_add))
for(var/datum/reagent/R in reagents_to_add)
reagents.remove_reagent(R,0.5/LAZYLEN(reagents_to_add)) //using crayons reduces crayon dust in it.
if(!reagents.has_all_reagents(reagents_to_add))
to_chat(user, "<span class='warning'>You used up your crayon!</span>")
qdel(src)
return
@@ -109,8 +109,8 @@
if(M.getBrainLoss() > 15)
to_chat(user, span("notice", "There's visible lag between left and right pupils' reactions."))
var/list/pinpoint = list("oxycodone"=1,"tramadol"=5)
var/list/dilating = list("space_drugs"=5,"mindbreaker"=1)
var/list/pinpoint = list(/datum/reagent/oxycodone=1,/datum/reagent/tramadol=5)
var/list/dilating = list(/datum/reagent/space_drugs=5,/datum/reagent/mindbreaker=1)
var/datum/reagents/ingested = H.get_ingested_reagents()
if(H.reagents.has_any_reagent(pinpoint) || ingested.has_any_reagent(pinpoint))
to_chat(user, span("notice", "\The [M]'s pupils are already pinpoint and cannot narrow any more."))
+2 -2
View File
@@ -248,7 +248,7 @@ BREATH ANALYZER
var/datum/reagent/R = A
if(R.scannable)
print_reagent_default_message = FALSE
reagentdata["[R.id]"] = "<span class='notice'> [round(H.reagents.get_reagent_amount(R.id), 1)]u [R.name]</span>"
reagentdata["[R.type]"] = "<span class='notice'> [round(H.reagents.get_reagent_amount(R.type), 1)]u [R.name]</span>"
else
unknown++
if(reagentdata.len)
@@ -370,7 +370,7 @@ BREATH ANALYZER
if(reagents.total_volume)
var/list/blood_traces = list()
for(var/datum/reagent/R in reagents.reagent_list)
if(R.id != "blood")
if(R.type != /datum/reagent/blood)
reagents.clear_reagents()
to_chat(user, "<span class='warning'>The sample was contaminated! Please insert another sample</span>")
return
+1 -1
View File
@@ -66,7 +66,7 @@
if(O.reagents.total_volume < 1)
to_chat(user, "The [O] is empty.")
else if(O.reagents.total_volume >= 1)
if(O.reagents.has_reagent("pacid", 1))
if(O.reagents.has_reagent(/datum/reagent/acid/polyacid, 1))
to_chat(user, "The acid chews through the balloon!")
O.reagents.splash(user, reagents.total_volume)
qdel(src)
+14 -17
View File
@@ -10,7 +10,6 @@
var/chem_volume = 0
var/chewtime = 0
var/brand
var/list/filling = list()
var/wrapped = FALSE
/obj/item/clothing/mask/chewable/attack_self(mob/user)
@@ -29,11 +28,9 @@
add_overlay(base_overlay)
obj/item/clothing/mask/chewable/Initialize()
create_reagents(chem_volume) // making the cigarrete a chemical holder with a maximum volume of 15
. = ..()
flags |= NOREACT // so it doesn't react until you light it
create_reagents(chem_volume) // making the cigarrete a chemical holder with a maximum volume of 15
for(var/R in filling)
reagents.add_reagent(R, filling[R])
if(wrapped)
slot_flags = null
update_icon()
@@ -105,22 +102,22 @@ obj/item/clothing/mask/chewable/Destroy()
/obj/item/clothing/mask/chewable/tobacco/bad
name = "chewing tobacco"
desc = "A chewy wad of cheap tobacco. Cut in long strands and treated with syrup so it tastes less like an ash-tray when you stuff it into your face."
filling = list("tobaccobad" = 2)
reagents_to_add = list(/datum/reagent/toxin/tobacco/fake = 2)
/obj/item/clothing/mask/chewable/tobacco/generic
name = "chewing tobacco"
desc = "A chewy wad of tobacco. Cut in long strands and treated with syrup so it doesn't taste like an ash-tray when you stuff it into your face."
filling = list("tobacco" = 2)
reagents_to_add = list(/datum/reagent/toxin/tobacco = 2)
/obj/item/clothing/mask/chewable/tobacco/fine
name = "chewing tobacco"
desc = "A chewy wad of fine tobacco. Cut in long strands and treated with syrup so it doesn't taste like an ash-tray when you stuff it into your face."
filling = list("tobaccofine" = 2)
reagents_to_add = list(/datum/reagent/toxin/tobacco/rich = 2)
/obj/item/clothing/mask/chewable/tobacco/nico
name = "nicotine gum"
desc = "A chewy wad of synthetic rubber, laced with nicotine. Possibly the least disgusting method of nicotine delivery."
filling = list("nicotine" = 2)
reagents_to_add = list(/datum/reagent/mental/nicotine = 2)
icon_state = "nic_gum"
type_butt = /obj/item/trash/spitgum
wrapped = TRUE
@@ -135,7 +132,7 @@ obj/item/clothing/mask/chewable/Destroy()
slot_flags = SLOT_EARS | SLOT_MASK
chem_volume = 50
chewtime = 300
filling = list("sugar" = 2)
reagents_to_add = list(/datum/reagent/sugar = 2)
/obj/item/trash/spitgum
name = "old gum"
@@ -152,7 +149,7 @@ obj/item/clothing/mask/chewable/Destroy()
/obj/item/clothing/mask/chewable/candy/gum/Initialize()
. = ..()
reagents.add_reagent(pick("banana","berryjuice","grapejuice","lemonjuice","limejuice","orangejuice","watermelonjuice"),10)
reagents.add_reagent(pick(/datum/reagent/drink/banana,/datum/reagent/drink/berryjuice,/datum/reagent/drink/grapejuice,/datum/reagent/drink/lemonjuice,/datum/reagent/drink/limejuice,/datum/reagent/drink/orangejuice,/datum/reagent/drink/watermelonjuice),10)
color = reagents.get_color()
update_icon()
@@ -197,7 +194,7 @@ obj/item/clothing/mask/chewable/Destroy()
/obj/item/clothing/mask/chewable/candy/lolli/Initialize()
. = ..()
reagents.add_reagent(pick("banana","berryjuice","grapejuice","lemonjuice","limejuice","orangejuice","watermelonjuice"),20)
reagents.add_reagent(pick(/datum/reagent/drink/banana,/datum/reagent/drink/berryjuice,/datum/reagent/drink/grapejuice,/datum/reagent/drink/lemonjuice,/datum/reagent/drink/limejuice,/datum/reagent/drink/orangejuice,/datum/reagent/drink/watermelonjuice),20)
color = reagents.get_color()
update_icon()
@@ -210,9 +207,9 @@ obj/item/clothing/mask/chewable/Destroy()
/obj/item/clothing/mask/chewable/candy/lolli/meds/Initialize()
. = ..()
var/datum/reagent/payload = pick(list(
"paracetamol",
"tramadol",
"dylovene"))
/datum/reagent/paracetamol,
/datum/reagent/tramadol,
/datum/reagent/dylovene))
reagents.add_reagent(payload, 15)
color = reagents.get_color()
desc = "[desc] This one is labeled '[initial(payload.name)]'."
@@ -220,13 +217,13 @@ obj/item/clothing/mask/chewable/Destroy()
/obj/item/clothing/mask/chewable/candy/lolli/weak_meds
name = "medicine lollipop"
desc = "A sucrose sphere on a small handle, it has been infused with medication."
filling = list("sugar" = 6)
reagents_to_add = list(/datum/reagent/sugar = 6)
/obj/item/clothing/mask/chewable/candy/lolli/weak_meds/Initialize()
. = ..()
var/datum/reagent/payload = pick(list(
"dylovene",
"norepinephrine"))
/datum/reagent/dylovene,
/datum/reagent/norepinephrine))
reagents.add_reagent(payload, 15)
color = reagents.get_color()
desc = "[desc] This one is labeled '[initial(payload.name)]'."
@@ -135,15 +135,15 @@ CIGARETTE PACKETS ARE IN FANCY.DM
playsound(src, 'sound/items/cigs_lighters/cig_light.ogg', 75, 1, -1)
src.reagents.set_temperature(T0C + 45)
damtype = "fire"
if(reagents.get_reagent_amount("phoron")) // the phoron explodes when exposed to fire
if(reagents.get_reagent_amount(/datum/reagent/toxin/phoron)) // the phoron explodes when exposed to fire
var/datum/effect/effect/system/reagents_explosion/e = new()
e.set_up(round(reagents.get_reagent_amount("phoron") / 2.5, 1), get_turf(src), 0, 0)
e.set_up(round(reagents.get_reagent_amount(/datum/reagent/toxin/phoron) / 2.5, 1), get_turf(src), 0, 0)
e.start()
qdel(src)
return
if(reagents.get_reagent_amount("fuel")) // the fuel explodes, too, but much less violently
if(reagents.get_reagent_amount(/datum/reagent/fuel)) // the fuel explodes, too, but much less violently
var/datum/effect/effect/system/reagents_explosion/e = new()
e.set_up(round(reagents.get_reagent_amount("fuel") / 5, 1), get_turf(src), 0, 0)
e.set_up(round(reagents.get_reagent_amount(/datum/reagent/fuel) / 5, 1), get_turf(src), 0, 0)
e.start()
qdel(src)
return
@@ -239,8 +239,8 @@ CIGARETTE PACKETS ARE IN FANCY.DM
/obj/item/clothing/mask/smokable/cigarette/Initialize()
. = ..()
reagents.add_reagent("tobacco",10)
reagents.add_reagent("nicotine",5) // 2/3 ratio, Adds 0.03 units per second
reagents.add_reagent(/datum/reagent/toxin/tobacco,10)
reagents.add_reagent(/datum/reagent/mental/nicotine,5) // 2/3 ratio, Adds 0.03 units per second
/obj/item/clothing/mask/smokable/cigarette/attackby(obj/item/W as obj, mob/user as mob)
@@ -296,7 +296,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
/obj/item/clothing/mask/smokable/cigarette/vanilla/Initialize()
. = ..()
reagents.clear_reagents()
reagents.add_reagent("tobacco",15)
reagents.add_reagent(/datum/reagent/toxin/tobacco,15)
/obj/item/clothing/mask/smokable/cigarette/acmeco
burn_rate = 0.015
@@ -304,10 +304,10 @@ CIGARETTE PACKETS ARE IN FANCY.DM
/obj/item/clothing/mask/smokable/cigarette/acmeco/Initialize()
. = ..()
reagents.clear_reagents()
reagents.add_reagent("tobacco",5)
reagents.add_reagent("nicotine",5)
reagents.add_reagent("lexorin",2)
reagents.add_reagent("serotrotium",3)
reagents.add_reagent(/datum/reagent/toxin/tobacco,5)
reagents.add_reagent(/datum/reagent/mental/nicotine,5)
reagents.add_reagent(/datum/reagent/lexorin,2)
reagents.add_reagent(/datum/reagent/serotrotium,3)
/obj/item/clothing/mask/smokable/cigarette/blank
burn_rate = 0.003 //300 seconds
@@ -322,24 +322,24 @@ CIGARETTE PACKETS ARE IN FANCY.DM
/obj/item/clothing/mask/smokable/cigarette/dromedaryco/Initialize()
. = ..()
reagents.clear_reagents()
reagents.add_reagent("tobacco",5)
reagents.add_reagent("nicotine",10)
reagents.add_reagent(/datum/reagent/toxin/tobacco,5)
reagents.add_reagent(/datum/reagent/mental/nicotine,10)
/obj/item/clothing/mask/smokable/cigarette/nicotine
/obj/item/clothing/mask/smokable/cigarette/nicotine/Initialize()
. = ..()
reagents.clear_reagents()
reagents.add_reagent("tobaccofine",5)
reagents.add_reagent("nicotine",10)
reagents.add_reagent(/datum/reagent/toxin/tobacco/rich,5)
reagents.add_reagent(/datum/reagent/mental/nicotine,10)
/obj/item/clothing/mask/smokable/cigarette/rugged
/obj/item/clothing/mask/smokable/cigarette/rugged/Initialize()
. = ..()
reagents.clear_reagents()
reagents.add_reagent("tobaccobad",10)
reagents.add_reagent("nicotine",5)
reagents.add_reagent(/datum/reagent/toxin/tobacco/fake,10)
reagents.add_reagent(/datum/reagent/mental/nicotine,5)
/obj/item/clothing/mask/smokable/cigarette/adhomai
name = "adhomian cigarette"
@@ -348,8 +348,8 @@ CIGARETTE PACKETS ARE IN FANCY.DM
/obj/item/clothing/mask/smokable/cigarette/adhomai/Initialize()
. = ..()
reagents.clear_reagents()
reagents.add_reagent("tobacco",5)
reagents.add_reagent("nicotine",5)
reagents.add_reagent(/datum/reagent/toxin/tobacco,5)
reagents.add_reagent(/datum/reagent/mental/nicotine,5)
////////////
// CIGARS //
@@ -376,8 +376,8 @@ CIGARETTE PACKETS ARE IN FANCY.DM
/obj/item/clothing/mask/smokable/cigarette/cigar/Initialize()
. = ..()
reagents.clear_reagents()
reagents.add_reagent("tobaccorich",25)
reagents.add_reagent("nicotine",5) // 1/5 Ratio
reagents.add_reagent(/datum/reagent/toxin/tobacco/rich,25)
reagents.add_reagent(/datum/reagent/mental/nicotine,5) // 1/5 Ratio
/obj/item/clothing/mask/smokable/cigarette/cigar/havana
name = "premium Havanian cigar"
@@ -391,9 +391,9 @@ CIGARETTE PACKETS ARE IN FANCY.DM
/obj/item/clothing/mask/smokable/cigarette/cigar/havana/Initialize()
. = ..()
reagents.clear_reagents()
reagents.add_reagent("tobaccorich",15)
reagents.add_reagent("nicotine",5) // 1/6 Ratio
reagents.add_reagent("tricordrazine",10)
reagents.add_reagent(/datum/reagent/toxin/tobacco/rich,15)
reagents.add_reagent(/datum/reagent/mental/nicotine,5) // 1/6 Ratio
reagents.add_reagent(/datum/reagent/tricordrazine,10)
/obj/item/clothing/mask/smokable/cigarette/cigar/cohiba
name = "\improper Cohiba robusto cigar"
@@ -407,9 +407,9 @@ CIGARETTE PACKETS ARE IN FANCY.DM
/obj/item/clothing/mask/smokable/cigarette/cigar/cohiba/Initialize()
. = ..()
reagents.clear_reagents()
reagents.add_reagent("tobaccorich",30)
reagents.add_reagent("nicotine",10) //1/6 Ratio
reagents.add_reagent("tricordrazine",20)
reagents.add_reagent(/datum/reagent/toxin/tobacco/rich,30)
reagents.add_reagent(/datum/reagent/mental/nicotine,10) //1/6 Ratio
reagents.add_reagent(/datum/reagent/tricordrazine,20)
/obj/item/trash/cigbutt
name = "cigarette butt"
@@ -453,7 +453,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
/obj/item/clothing/mask/smokable/cigarette/rolled/sausage/Initialize()
. = ..()
reagents.clear_reagents()
reagents.add_reagent("protein",6)
reagents.add_reagent(/datum/reagent/nutriment/protein,6)
/obj/item/trash/cigbutt/sausagebutt
name = "sausage butt"
@@ -76,7 +76,7 @@
/obj/item/reagent_containers/extinguisher_refill/filled/Initialize()
. =..()
reagents.add_reagent("monoammoniumphosphate", volume)
reagents.add_reagent(/datum/reagent/toxin/fertilizer/monoammoniumphosphate, volume)
flags &= ~OPENCONTAINER
return
@@ -124,7 +124,7 @@
/obj/item/extinguisher/New()
create_reagents(max_water)
reagents.add_reagent("monoammoniumphosphate", max_water)
reagents.add_reagent(/datum/reagent/toxin/fertilizer/monoammoniumphosphate, max_water)
..()
/obj/item/extinguisher/examine(mob/user)
@@ -201,9 +201,9 @@
var/obj/item/reagent_containers/glass/beaker/B1 = new(src)
var/obj/item/reagent_containers/glass/beaker/B2 = new(src)
B1.reagents.add_reagent("aluminum", 30)
B2.reagents.add_reagent("foaming_agent", 10)
B2.reagents.add_reagent("pacid", 10)
B1.reagents.add_reagent(/datum/reagent/aluminum, 30)
B2.reagents.add_reagent(/datum/reagent/foaming_agent, 10)
B2.reagents.add_reagent(/datum/reagent/acid/polyacid, 10)
detonator = new/obj/item/device/assembly_holder/timer_igniter(src)
@@ -222,11 +222,11 @@
var/obj/item/reagent_containers/glass/beaker/B1 = new(src)
var/obj/item/reagent_containers/glass/beaker/B2 = new(src)
B1.reagents.add_reagent("aluminum", 15)
B1.reagents.add_reagent("fuel",20)
B2.reagents.add_reagent("phoron", 15)
B2.reagents.add_reagent("sacid", 15)
B1.reagents.add_reagent("fuel",20)
B1.reagents.add_reagent(/datum/reagent/aluminum, 15)
B1.reagents.add_reagent(/datum/reagent/fuel,20)
B2.reagents.add_reagent(/datum/reagent/toxin/phoron, 15)
B2.reagents.add_reagent(/datum/reagent/acid, 15)
B1.reagents.add_reagent(/datum/reagent/fuel,20)
detonator = new/obj/item/device/assembly_holder/timer_igniter(src)
@@ -245,10 +245,10 @@
var/obj/item/reagent_containers/glass/beaker/B1 = new(src)
var/obj/item/reagent_containers/glass/beaker/B2 = new(src)
B1.reagents.add_reagent("plantbgone", 25)
B1.reagents.add_reagent("potassium", 25)
B2.reagents.add_reagent("phosphorus", 25)
B2.reagents.add_reagent("sugar", 25)
B1.reagents.add_reagent(/datum/reagent/toxin/plantbgone, 25)
B1.reagents.add_reagent(/datum/reagent/potassium, 25)
B2.reagents.add_reagent(/datum/reagent/phosphorus, 25)
B2.reagents.add_reagent(/datum/reagent/sugar, 25)
detonator = new/obj/item/device/assembly_holder/timer_igniter(src)
@@ -267,12 +267,12 @@
var/obj/item/reagent_containers/glass/beaker/B1 = new(src)
var/obj/item/reagent_containers/glass/beaker/B2 = new(src)
B1.reagents.add_reagent("sugar", 20)
B1.reagents.add_reagent("potassium",20)
B1.reagents.add_reagent("stoxin", 10)
B1.reagents.add_reagent("dylovene", 10)
B2.reagents.add_reagent("chloralhydrate",40)
B2.reagents.add_reagent("phosphorus",20)
B1.reagents.add_reagent(/datum/reagent/sugar, 20)
B1.reagents.add_reagent(/datum/reagent/potassium,20)
B1.reagents.add_reagent(/datum/reagent/soporific, 10)
B1.reagents.add_reagent(/datum/reagent/dylovene, 10)
B2.reagents.add_reagent(/datum/reagent/chloralhydrate,40)
B2.reagents.add_reagent(/datum/reagent/phosphorus,20)
detonator = new/obj/item/device/assembly_holder/timer_igniter(src)
@@ -291,9 +291,9 @@
var/obj/item/reagent_containers/glass/beaker/B1 = new(src)
var/obj/item/reagent_containers/glass/beaker/B2 = new(src)
B1.reagents.add_reagent("surfactant", 40)
B2.reagents.add_reagent("water", 40)
B2.reagents.add_reagent("cleaner", 10)
B1.reagents.add_reagent(/datum/reagent/surfactant, 40)
B2.reagents.add_reagent(/datum/reagent/water, 40)
B2.reagents.add_reagent(/datum/reagent/spacecleaner, 10)
detonator = new/obj/item/device/assembly_holder/timer_igniter(src)
@@ -312,10 +312,10 @@
var/obj/item/reagent_containers/glass/beaker/large/B1 = new(src)
var/obj/item/reagent_containers/glass/beaker/large/B2 = new(src)
B1.reagents.add_reagent("cardox", 40)
B1.reagents.add_reagent("potassium", 40)
B2.reagents.add_reagent("phosphorus", 40)
B2.reagents.add_reagent("sugar", 40)
B1.reagents.add_reagent(/datum/reagent/toxin/cardox, 40)
B1.reagents.add_reagent(/datum/reagent/potassium, 40)
B2.reagents.add_reagent(/datum/reagent/phosphorus, 40)
B2.reagents.add_reagent(/datum/reagent/sugar, 40)
detonator = new/obj/item/device/assembly_holder/timer_igniter(src)
@@ -335,11 +335,11 @@
var/obj/item/reagent_containers/glass/beaker/large/B1 = new(src)
var/obj/item/reagent_containers/glass/beaker/large/B2 = new(src)
B1.reagents.add_reagent("phosphorus", 40)
B1.reagents.add_reagent("potassium", 40)
B1.reagents.add_reagent("condensedcapsaicin", 40)
B2.reagents.add_reagent("sugar", 40)
B2.reagents.add_reagent("condensedcapsaicin", 80)
B1.reagents.add_reagent(/datum/reagent/phosphorus, 40)
B1.reagents.add_reagent(/datum/reagent/potassium, 40)
B1.reagents.add_reagent(/datum/reagent/capsaicin/condensed, 40)
B2.reagents.add_reagent(/datum/reagent/sugar, 40)
B2.reagents.add_reagent(/datum/reagent/capsaicin/condensed, 80)
detonator = new/obj/item/device/assembly_holder/timer_igniter(src)
@@ -358,10 +358,10 @@
var/obj/item/reagent_containers/glass/beaker/B1 = new(src)
var/obj/item/reagent_containers/glass/beaker/B2 = new(src)
B1.reagents.add_reagent("surfactant", 40)
B1.reagents.add_reagent("monoammoniumphosphate", 20)
B2.reagents.add_reagent("water", 40)
B2.reagents.add_reagent("monoammoniumphosphate", 20)
B1.reagents.add_reagent(/datum/reagent/surfactant, 40)
B1.reagents.add_reagent(/datum/reagent/toxin/fertilizer/monoammoniumphosphate, 20)
B2.reagents.add_reagent(/datum/reagent/water, 40)
B2.reagents.add_reagent(/datum/reagent/toxin/fertilizer/monoammoniumphosphate, 20)
detonator = new/obj/item/device/assembly_holder/timer_igniter(src)
@@ -343,7 +343,7 @@
applies_material_colour = 0
default_material = "steel"
parry_chance = 5
var/fuel_type = "fuel"
var/fuel_type = /datum/reagent/fuel
var/opendelay = 30 // How long it takes to perform a door opening action with this chainsaw, in seconds.
var/max_fuel = 300 // The maximum amount of fuel the chainsaw stores.
var/fuel_cost = 1 // Multiplier for fuel cost.
@@ -488,7 +488,7 @@
PowerDown(user)
else if(!wielded)
to_chat(user, "<span class='notice'>You need to hold this with two hands to turn this on.</span>")
else if(reagents.get_reagent_amount("fuel") <= 0)
else if(reagents.get_reagent_amount(/datum/reagent/fuel) <= 0)
user.visible_message(\
"<span class='notice'>[user] pulls the cord on the [src], but nothing happens.</span>",\
"<span class='notice'>You pull the cord on the [src], but nothing happens.</span>",\
+1 -1
View File
@@ -81,7 +81,7 @@
cleantime = 15
var/refill_enabled = TRUE //Self-refill toggle for when a janitor decides to mop with something other than water.
var/refill_rate = 0.5 //Rate per process() tick mop refills itself
var/refill_reagent = "water" //Determins what reagent to use for refilling, just in case someone wanted to make a HOLY MOP OF PURGING
var/refill_reagent = /datum/reagent/water //Determins what reagent to use for refilling, just in case someone wanted to make a HOLY MOP OF PURGING
/obj/item/mop/advanced/New()
..()
+12 -12
View File
@@ -17,16 +17,16 @@
no_shatter = TRUE
var/paint_reagent = null //name of the reagent responsible for colouring the paint
var/paint_type = null //used for colouring detective technicolor coat and hat
reagents_to_add = list(/datum/reagent/water = 3/5, /datum/reagent/toxin/plasticide = 1/5)
/obj/item/reagent_containers/glass/paint/Initialize()
reagents_to_add[paint_reagent] = 1/5
for(var/datum/reagent/R in reagents_to_add)
reagents_to_add[R] *= volume
. = ..()
reagents.handle_reactions()
if(paint_type && length(paint_type) > 0)
name = paint_type + " " + name
reagents.add_reagent("water", volume*3/5)
reagents.add_reagent("plasticide", volume/5)
if(paint_reagent)
reagents.add_reagent(paint_reagent, volume/5)
reagents.handle_reactions()
update_icon()
/obj/item/reagent_containers/glass/paint/update_icon()
@@ -54,29 +54,29 @@
update_icon()
/obj/item/reagent_containers/glass/paint/red
paint_reagent = "crayon_dust_red"
paint_reagent = /datum/reagent/crayon_dust/red
paint_type = "red"
/obj/item/reagent_containers/glass/paint/yellow
paint_reagent = "crayon_dust_yellow"
paint_reagent = /datum/reagent/crayon_dust/yellow
paint_type = "yellow"
/obj/item/reagent_containers/glass/paint/green
paint_reagent = "crayon_dust_green"
paint_reagent = /datum/reagent/crayon_dust/green
paint_type = "green"
/obj/item/reagent_containers/glass/paint/blue
paint_reagent = "crayon_dust_blue"
paint_reagent = /datum/reagent/crayon_dust/blue
paint_type = "blue"
/obj/item/reagent_containers/glass/paint/purple
paint_reagent = "crayon_dust_purple"
paint_reagent = /datum/reagent/crayon_dust/purple
paint_type = "purple"
/obj/item/reagent_containers/glass/paint/black
paint_reagent = "carbon"
paint_reagent = /datum/reagent/carbon
paint_type = "black"
/obj/item/reagent_containers/glass/paint/white
paint_reagent = "aluminum"
paint_reagent = /datum/reagent/aluminum
paint_type = "white"
+1 -1
View File
@@ -28,7 +28,7 @@
/obj/item/soap/proc/wet()
playsound(loc, 'sound/effects/slosh.ogg', 25, 1)
reagents.add_reagent("cleaner", 10)
reagents.add_reagent(/datum/reagent/spacecleaner, 10)
/obj/item/soap/attackby(var/obj/item/I, var/mob/user)
if(istype(I, /obj/item/key))
@@ -28,14 +28,14 @@
if(!proximity)
return
if(user.mind && (user.mind.assigned_role == "Chaplain"))
if(A.reagents && A.reagents.has_reagent("water")) //blesses all the water in the holder
if(A.reagents.get_reagent_amount("water") > 60)
if(A.reagents && A.reagents.has_reagent(/datum/reagent/water)) //blesses all the water in the holder
if(A.reagents.get_reagent_amount(/datum/reagent/water) > 60)
to_chat(user, span("notice", "There's too much water for you to bless at once!"))
else
to_chat(user, span("notice", "You bless the water in [A], turning it into holy water."))
var/water2holy = A.reagents.get_reagent_amount("water")
A.reagents.del_reagent("water")
A.reagents.add_reagent("holywater", water2holy)
var/water2holy = A.reagents.get_reagent_amount(/datum/reagent/water)
A.reagents.del_reagent(/datum/reagent/water)
A.reagents.add_reagent(/datum/reagent/water/holywater, water2holy)
/obj/item/storage/bible/attackby(obj/item/W as obj, mob/user as mob)
if(src.use_sound)
@@ -170,31 +170,31 @@
..()
var/obj/item/storage/fancy/cigarettes/pack
pack = new /obj/item/storage/fancy/cigarettes(src)
fill_cigarre_package(pack, list("aluminum" = 5, "potassium" = 5, "sulfur" = 5))
fill_cigarre_package(pack, list(/datum/reagent/aluminum = 5, /datum/reagent/potassium = 5, /datum/reagent/sulfur = 5))
pack.desc += " 'F' has been scribbled on it."
pack = new /obj/item/storage/fancy/cigarettes(src)
fill_cigarre_package(pack, list("aluminum" = 5, "potassium" = 5, "sulfur" = 5))
fill_cigarre_package(pack, list(/datum/reagent/aluminum = 5, /datum/reagent/potassium = 5, /datum/reagent/sulfur = 5))
pack.desc += " 'F' has been scribbled on it."
pack = new /obj/item/storage/fancy/cigarettes(src)
fill_cigarre_package(pack, list("potassium" = 5, "sugar" = 5, "phosphorus" = 5))
fill_cigarre_package(pack, list(/datum/reagent/potassium = 5, /datum/reagent/sugar = 5, /datum/reagent/phosphorus = 5))
pack.desc += " 'S' has been scribbled on it."
pack = new /obj/item/storage/fancy/cigarettes(src)
fill_cigarre_package(pack, list("potassium" = 5, "sugar" = 5, "phosphorus" = 5))
fill_cigarre_package(pack, list(/datum/reagent/potassium = 5, /datum/reagent/sugar = 5, /datum/reagent/phosphorus = 5))
pack.desc += " 'S' has been scribbled on it."
pack = new /obj/item/storage/fancy/cigarettes(src)
// Dylovene. Going with 1.5 rather than 1.6666666...
fill_cigarre_package(pack, list("potassium" = 1.5, "ammonia" = 1.5, "silicon" = 1.5))
fill_cigarre_package(pack, list(/datum/reagent/potassium = 1.5, /datum/reagent/ammonia = 1.5, /datum/reagent/silicon = 1.5))
// Mindbreaker
fill_cigarre_package(pack, list("silicon" = 4.5, "hydrazine" = 4.5, "dylovene" = 4.5))
fill_cigarre_package(pack, list(/datum/reagent/silicon = 4.5, /datum/reagent/hydrazine = 4.5, /datum/reagent/dylovene = 4.5))
pack.desc += " 'MB' has been scribbled on it."
pack = new /obj/item/storage/fancy/cigarettes(src)
pack.reagents.add_reagent("tricordrazine", 15 * pack.storage_slots)
pack.reagents.add_reagent(/datum/reagent/tricordrazine, 15 * pack.storage_slots)
pack.desc += " 'T' has been scribbled on it."
new /obj/item/flame/lighter/zippo(src)
@@ -130,7 +130,7 @@
/obj/item/watertank/janitor/Initialize()
. = ..()
reagents.add_reagent("cleaner", 500)
reagents.add_reagent(/datum/reagent/spacecleaner, 500)
/obj/item/reagent_containers/spray/chemsprayer/mister/janitor
name = "janitor spray nozzle"
+4 -4
View File
@@ -265,7 +265,7 @@
var/datum/reagents/R = new/datum/reagents(max_fuel)
reagents = R
R.my_atom = src
R.add_reagent("fuel", max_fuel)
R.add_reagent(/datum/reagent/fuel, max_fuel)
update_icon()
/obj/item/weldingtool/update_icon()
@@ -441,7 +441,7 @@
//Returns the amount of fuel in the welder
/obj/item/weldingtool/proc/get_fuel()
return reagents.get_reagent_amount("fuel")
return reagents.get_reagent_amount(/datum/reagent/fuel)
//Removes fuel from the welding tool. If a mob is passed, it will perform an eyecheck on the mob. This should probably be renamed to use()
/obj/item/weldingtool/proc/remove_fuel(var/amount = 1, var/mob/M = null, var/colourChange = TRUE)
@@ -451,7 +451,7 @@
set_light(0.7, 2, l_color = LIGHT_COLOR_CYAN)
addtimer(CALLBACK(src, /atom/proc/update_icon), 5)
if(get_fuel() >= amount)
reagents.remove_reagent("fuel", amount)
reagents.remove_reagent(/datum/reagent/fuel, amount)
if(M)
eyecheck(M)
return 1
@@ -572,7 +572,7 @@
var/gen_amount = ((world.time-last_gen) / fuelgen_delay)
var/remainder = max_fuel - get_fuel()
gen_amount = min(gen_amount, remainder)
reagents.add_reagent("fuel", gen_amount)
reagents.add_reagent(/datum/reagent/fuel, gen_amount)
if(get_fuel() >= max_fuel)
set_processing(0)
else
@@ -13,7 +13,7 @@
var/datum/reagents/R = new/datum/reagents(max_fuel) //Lotsa refills
reagents = R
R.my_atom = src
R.add_reagent("fuel", max_fuel)
R.add_reagent(/datum/reagent/fuel, max_fuel)
/obj/item/weldpack/attackby(obj/item/W as obj, mob/user as mob)
if(W.iswelder())
+1 -1
View File
@@ -570,7 +570,7 @@
/obj/item/reagent_containers/food/drinks/bottle/gin,
/obj/item/reagent_containers/food/drinks/bottle/whiskey,
/obj/item/reagent_containers/food/drinks/bottle/vodka,
/obj/item/reagent_containers/food/drinks/bottle/tequilla,
/obj/item/reagent_containers/food/drinks/bottle/tequila,
/obj/item/reagent_containers/food/drinks/bottle/bottleofnothing,
/obj/item/reagent_containers/food/drinks/bottle/rum,
/obj/item/reagent_containers/food/drinks/bottle/champagne,
@@ -20,7 +20,7 @@
for(var/i = 0, i < 2, i++)
new /obj/item/reagent_containers/food/condiment/flour(src)
new /obj/item/reagent_containers/food/condiment/sugar(src)
new /obj/item/reagent_containers/food/condiment/spacespice(src)
new /obj/item/reagent_containers/food/condiment/shaker/spacespice(src)
/obj/structure/closet/secure_closet/freezer/kitchen/mining
req_access = list()
+5 -5
View File
@@ -233,7 +233,7 @@
var/obj/effect/effect/water/W = new(O)
W.create_reagents(spray_amount)
W.reagents.add_reagent("water", spray_amount)
W.reagents.add_reagent(/datum/reagent/water, spray_amount)
W.set_up(O, spray_amount)
if(iscarbon(O))
@@ -362,7 +362,7 @@
return
is_washing = 1
var/turf/T = get_turf(src)
reagents.add_reagent("water", 2)
reagents.add_reagent(/datum/reagent/water, 2)
T.clean(src)
spawn(100)
is_washing = 0
@@ -466,7 +466,7 @@
to_chat(usr, span("warning", "\The [RG] is already full."))
return
RG.reagents.add_reagent("water", min(RG.volume - RG.reagents.total_volume, amount_per_transfer_from_this))
RG.reagents.add_reagent(/datum/reagent/water, min(RG.volume - RG.reagents.total_volume, amount_per_transfer_from_this))
user.visible_message("<b>[user]</b> fills \a [RG] using \the [src].",
SPAN_NOTICE("You fill \a [RG] using \the [src]."))
playsound(loc, 'sound/effects/sink.ogg', 75, 1)
@@ -491,7 +491,7 @@
return
var/trans = min(S.volume - S.reagents.total_volume, S.amount_per_transfer_from_this)
S.reagents.add_reagent("water", trans)
S.reagents.add_reagent(/datum/reagent/water, trans)
user.visible_message(span("notice", "[usr] uses \the [S] to draw water from \the [src]."),
span("notice", "You draw [trans] units of water from \the [src]. \The [S] now contains [S.reagents.total_volume] units."))
if(1) // inject
@@ -524,7 +524,7 @@
else if(istype(O, /obj/item/reagent_containers/food/snacks/monkeycube))
return
else if(istype(O, /obj/item/mop))
O.reagents.add_reagent("water", 5)
O.reagents.add_reagent(/datum/reagent/water, 5)
to_chat(user, span("notice", "You wet \the [O] in \the [src]."))
playsound(loc, 'sound/effects/slosh.ogg', 25, 1)
return