[READY]Makes a bunch of processes subsystems instead (#5814

* Converts various New() definitions to Initialization()
* Adds absolute pathing
This commit is contained in:
kevinz000
2019-01-15 22:58:06 -08:00
committed by Atermonera
parent a5d0dd338c
commit 46c79c7d3e
174 changed files with 1352 additions and 1639 deletions
+15 -20
View File
@@ -12,27 +12,24 @@
my_atom = A
//I dislike having these here but map-objects are initialised before world/New() is called. >_>
if(!chemical_reagents_list)
if(!SSchemistry.chemical_reagents)
//Chemical Reagents - Initialises all /datum/reagent into a list indexed by reagent id
var/paths = typesof(/datum/reagent) - /datum/reagent
chemical_reagents_list = list()
SSchemistry.chemical_reagents = list()
for(var/path in paths)
var/datum/reagent/D = new path()
if(!D.name)
continue
chemical_reagents_list[D.id] = D
SSchemistry.chemical_reagents[D.id] = D
/datum/reagents/Destroy()
. = ..()
if(chemistryProcess)
chemistryProcess.active_holders -= src
STOP_PROCESSING(SSchemistry, src)
for(var/datum/reagent/R in reagent_list)
qdel(R)
reagent_list.Cut()
reagent_list = null
if(my_atom && my_atom.reagents == src)
my_atom.reagents = null
return ..()
/* Internal procs */
@@ -80,17 +77,14 @@
return
/datum/reagents/proc/handle_reactions()
if(chemistryProcess)
chemistryProcess.mark_for_update(src)
START_PROCESSING(SSchemistry, src)
//returns 1 if the holder should continue reactiong, 0 otherwise.
/datum/reagents/proc/process_reactions()
if(!my_atom) // No reactions in temporary holders
return 0
if(!my_atom.loc) //No reactions inside GC'd containers
return 0
/datum/reagents/process()
if(QDELETED(my_atom)) //No container, no reaction.
return PROCESS_KILL
if(my_atom.flags & NOREACT) // No reactions here
return 0
return PROCESS_KILL
var/reaction_occured
var/list/effect_reactions = list()
@@ -100,7 +94,7 @@
//need to rebuild this to account for chain reactions
for(var/datum/reagent/R in reagent_list)
eligible_reactions |= chemical_reactions_list[R.id]
eligible_reactions |= SSchemistry.chemical_reactions[R.id]
for(var/datum/chemical_reaction/C in eligible_reactions)
if(C.can_happen(src) && C.process(src))
@@ -116,7 +110,8 @@
C.post_reaction(src)
update_total()
return reaction_occured
if(!reaction_occured)
return PROCESS_KILL
/* Holder-to-chemical */
@@ -138,7 +133,7 @@
if(my_atom)
my_atom.on_reagent_change()
return 1
var/datum/reagent/D = chemical_reagents_list[id]
var/datum/reagent/D = SSchemistry.chemical_reagents[id]
if(D)
var/datum/reagent/R = new D.type()
reagent_list += R
@@ -152,7 +147,7 @@
my_atom.on_reagent_change()
return 1
else
warning("[my_atom] attempted to add a reagent called '[id]' which doesn't exist. ([usr])")
crash_with("[my_atom] attempted to add a reagent called '[id]' which doesn't exist. ([usr])")
return 0
/datum/reagents/proc/remove_reagent(var/id, var/amount, var/safety = 0)
+2 -2
View File
@@ -134,7 +134,7 @@
data["bottleSpritesAmount"] = list(1, 2, 3, 4) //how many bottle sprites there are. Sprites are taken from chemical.dmi and can be found in nano/images/pill.png
ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open)
ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open)
if (!ui)
ui = new(user, src, ui_key, "chem_master.tmpl", src.name, 575, 400)
ui.set_initial_data(data)
@@ -282,7 +282,7 @@
else if(href_list["bottle_sprite"])
bottlesprite = href_list["bottle_sprite"]
GLOB.nanomanager.update_uis(src)
SSnanoui.update_uis(src)
/obj/machinery/chem_master/attack_ai(mob/user as mob)
return src.attack_hand(user)
@@ -1,13 +1,4 @@
//Chemical Reagents - Initialises all /datum/reagent into a list indexed by reagent id
/proc/initialize_chemical_reagents()
var/paths = typesof(/datum/reagent) - /datum/reagent
chemical_reagents_list = list()
for(var/path in paths)
var/datum/reagent/D = new path()
if(!D.name)
continue
chemical_reagents_list[D.id] = D
/datum/reagent
@@ -1,22 +1,3 @@
//Chemical Reactions - Initialises all /datum/chemical_reaction into a list
// It is filtered into multiple lists within a list.
// For example:
// chemical_reaction_list["phoron"] is a list of all reactions relating to phoron
// Note that entries in the list are NOT duplicated. So if a reaction pertains to
// more than one chemical it will still only appear in only one of the sublists.
/proc/initialize_chemical_reactions()
var/paths = typesof(/datum/chemical_reaction) - /datum/chemical_reaction
chemical_reactions_list = list()
for(var/path in paths)
var/datum/chemical_reaction/D = new path()
if(D.required_reagents && D.required_reagents.len)
var/reagent_id = D.required_reagents[1]
if(!chemical_reactions_list[reagent_id])
chemical_reactions_list[reagent_id] = list()
chemical_reactions_list[reagent_id] += D
//helper that ensures the reaction rate holds after iterating
//Ex. REACTION_RATE(0.3) means that 30% of the reagents will react each chemistry tick (~2 seconds by default).
#define REACTION_RATE(rate) (1.0 - (1.0-rate)**(1.0/PROCESS_REACTION_ITER))
+3 -3
View File
@@ -14,11 +14,11 @@
var/spawn_reagent = null
var/label = ""
/obj/item/weapon/reagent_containers/chem_disp_cartridge/New()
..()
/obj/item/weapon/reagent_containers/chem_disp_cartridge/Initialize()
. = ..()
if(spawn_reagent)
reagents.add_reagent(spawn_reagent, volume)
var/datum/reagent/R = chemical_reagents_list[spawn_reagent]
var/datum/reagent/R = SSchemistry.chemical_reagents[spawn_reagent]
setLabel(R.name)
/obj/item/weapon/reagent_containers/chem_disp_cartridge/examine(mob/user)
@@ -1,4 +1,4 @@
/client/proc/spawn_chemdisp_cartridge(size in list("small", "medium", "large"), reagent in chemical_reagents_list)
/client/proc/spawn_chemdisp_cartridge(size in list("small", "medium", "large"), reagent in SSchemistry.chemical_reagents)
set name = "Spawn Chemical Dispenser Cartridge"
set category = "Admin"
@@ -8,6 +8,6 @@
if("medium") C = new /obj/item/weapon/reagent_containers/chem_disp_cartridge/medium(usr.loc)
if("large") C = new /obj/item/weapon/reagent_containers/chem_disp_cartridge(usr.loc)
C.reagents.add_reagent(reagent, C.volume)
var/datum/reagent/R = chemical_reagents_list[reagent]
var/datum/reagent/R = SSchemistry.chemical_reagents[reagent]
C.setLabel(R.name)
log_admin("[key_name(usr)] spawned a [size] reagent container containing [reagent] at ([usr.x],[usr.y],[usr.z])")
@@ -17,9 +17,8 @@
idle_power_usage = 100
anchored = 1
/obj/machinery/chemical_dispenser/New()
..()
/obj/machinery/chemical_dispenser/Initialize()
. = ..()
if(spawn_cartridges)
for(var/type in spawn_cartridges)
add_cartridge(new type(src))
@@ -56,12 +55,12 @@
C.loc = src
cartridges[C.label] = C
cartridges = sortAssoc(cartridges)
GLOB.nanomanager.update_uis(src)
SSnanoui.update_uis(src)
/obj/machinery/chemical_dispenser/proc/remove_cartridge(label)
. = cartridges[label]
cartridges -= label
GLOB.nanomanager.update_uis(src)
SSnanoui.update_uis(src)
/obj/machinery/chemical_dispenser/attackby(obj/item/weapon/W, mob/user)
if(W.is_wrench())
@@ -107,7 +106,7 @@
user.drop_from_inventory(RC)
RC.loc = src
to_chat(user, "<span class='notice'>You set \the [RC] on \the [src].</span>")
GLOB.nanomanager.update_uis(src) // update all UIs attached to src
SSnanoui.update_uis(src) // update all UIs attached to src
else
return ..()
@@ -141,7 +140,7 @@
data["chemicals"] = chemicals
// update the ui if it exists, returns null if no ui is passed/found
ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open)
ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open)
if(!ui)
ui = new(user, src, ui_key, "chem_disp.tmpl", ui_title, 390, 680)
ui.set_initial_data(data)
@@ -13,7 +13,7 @@
process_tick = 15
. = 0
for(var/id in dispense_reagents)
var/datum/reagent/R = chemical_reagents_list[id]
var/datum/reagent/R = SSchemistry.chemical_reagents[id]
if(!R)
crash_with("[src] at [x],[y],[z] failed to find reagent '[id]'!")
dispense_reagents -= id
@@ -25,7 +25,7 @@
C.reagents.add_reagent(id, to_restore)
. = 1
if(.)
GLOB.nanomanager.update_uis(src)
SSnanoui.update_uis(src)
/obj/machinery/chemical_dispenser
dispense_reagents = list(
+2 -2
View File
@@ -16,8 +16,8 @@
if(N)
amount_per_transfer_from_this = N
/obj/item/weapon/reagent_containers/New()
..()
/obj/item/weapon/reagent_containers/Initialize()
. = ..()
if(!possible_transfer_amounts)
src.verbs -= /obj/item/weapon/reagent_containers/verb/set_APTFT
create_reagents(volume)
@@ -3,8 +3,8 @@
desc = "This box contains blood packs."
icon_state = "sterile"
/obj/item/weapon/storage/box/bloodpacks/New()
..()
/obj/item/weapon/storage/box/bloodpacks/Initialize()
. = ..()
new /obj/item/weapon/reagent_containers/blood/empty(src)
new /obj/item/weapon/reagent_containers/blood/empty(src)
new /obj/item/weapon/reagent_containers/blood/empty(src)
@@ -26,8 +26,8 @@
var/blood_type = null
/obj/item/weapon/reagent_containers/blood/New()
..()
/obj/item/weapon/reagent_containers/blood/Initialize()
. = ..()
base_name = name
base_desc = desc
if(blood_type != null)
@@ -34,15 +34,15 @@
bypass_protection = TRUE // Because mercs tend to be in spacesuits.
reagent_ids = list("healing_nanites", "hyperzine", "tramadol", "oxycodone", "spaceacillin", "peridaxon", "osteodaxon", "myelamine", "synthblood")
/obj/item/weapon/reagent_containers/borghypo/New()
..()
/obj/item/weapon/reagent_containers/borghypo/Initialize()
. = ..()
for(var/T in reagent_ids)
reagent_volumes[T] = volume
var/datum/reagent/R = chemical_reagents_list[T]
var/datum/reagent/R = SSchemistry.chemical_reagents[T]
reagent_names += R.name
START_PROCESSING(SSobj, src)
START_PROCESSING(SSobj, src)
/obj/item/weapon/reagent_containers/borghypo/Destroy()
STOP_PROCESSING(SSobj, src)
@@ -112,14 +112,14 @@
if(t)
playsound(loc, 'sound/effects/pop.ogg', 50, 0)
mode = t
var/datum/reagent/R = chemical_reagents_list[reagent_ids[mode]]
var/datum/reagent/R = SSchemistry.chemical_reagents[reagent_ids[mode]]
usr << "<span class='notice'>Synthesizer is now producing '[R.name]'.</span>"
/obj/item/weapon/reagent_containers/borghypo/examine(mob/user)
if(!..(user, 2))
return
var/datum/reagent/R = chemical_reagents_list[reagent_ids[mode]]
var/datum/reagent/R = SSchemistry.chemical_reagents[reagent_ids[mode]]
user << "<span class='notice'>It is currently producing [R.name] and has [reagent_volumes[reagent_ids[mode]]] out of [volume] units left.</span>"
@@ -47,8 +47,8 @@
/obj/machinery/radiocarbon_spectrometer
)
/obj/item/weapon/reagent_containers/glass/New()
..()
/obj/item/weapon/reagent_containers/glass/Initialize()
. = ..()
if(LAZYLEN(prefill))
for(var/R in prefill)
reagents.add_reagent(R,prefill[R])
@@ -150,8 +150,8 @@
item_state = "beaker"
matter = list("glass" = 500)
/obj/item/weapon/reagent_containers/glass/beaker/New()
..()
/obj/item/weapon/reagent_containers/glass/beaker/Initialize()
. = ..()
desc += " Can hold up to [volume] units."
/obj/item/weapon/reagent_containers/glass/beaker/on_reagent_change()
@@ -19,14 +19,13 @@
var/list/filled_reagents = list()
var/hyposound // What sound do we play on use?
/obj/item/weapon/reagent_containers/hypospray/New()
..()
/obj/item/weapon/reagent_containers/hypospray/Initialize()
. = ..()
if(filled)
if(filled_reagents)
for(var/r in filled_reagents)
reagents.add_reagent(r, filled_reagents[r])
update_icon()
return
/obj/item/weapon/reagent_containers/hypospray/attack(mob/living/M as mob, mob/user as mob)
if(!reagents.total_volume)
@@ -83,8 +82,8 @@
var/obj/item/weapon/reagent_containers/glass/beaker/vial/loaded_vial //Wow, what a name.
volume = 0
/obj/item/weapon/reagent_containers/hypospray/vial/New()
..()
/obj/item/weapon/reagent_containers/hypospray/vial/Initialize()
. = ..()
loaded_vial = new /obj/item/weapon/reagent_containers/glass/beaker/vial(src) //Comes with an empty vial
volume = loaded_vial.volume
reagents.maximum_volume = loaded_vial.reagents.maximum_volume
@@ -147,8 +146,8 @@
filled = 0
filled_reagents = list()
/obj/item/weapon/reagent_containers/hypospray/autoinjector/used/New()
..()
/obj/item/weapon/reagent_containers/hypospray/autoinjector/used/Initialize()
. = ..()
flags &= ~OPENCONTAINER
icon_state = "[initial(icon_state)]0"
@@ -12,10 +12,8 @@
slot_flags = SLOT_EARS
volume = 60
/obj/item/weapon/reagent_containers/pill/New()
..()
/obj/item/weapon/reagent_containers/pill/Initialize()
. = ..()
if(!icon_state)
icon_state = "pill[rand(1, 20)]"
@@ -98,28 +96,26 @@
desc = "Neutralizes many common toxins. Contains 25 units of Dylovene."
icon_state = "pill17"
/obj/item/weapon/reagent_containers/pill/antitox/New()
..()
/obj/item/weapon/reagent_containers/pill/antitox/Initialize()
. = ..()
reagents.add_reagent("anti_toxin", 25)
/obj/item/weapon/reagent_containers/pill/tox
name = "Toxins pill"
desc = "Highly toxic." //this is cooler without "contains 50u toxin"
icon_state = "pill5"
/obj/item/weapon/reagent_containers/pill/tox/New()
..()
/obj/item/weapon/reagent_containers/pill/tox/Initialize()
. = ..()
reagents.add_reagent("toxin", 50)
/obj/item/weapon/reagent_containers/pill/cyanide
name = "Cyanide pill"
desc = "Don't swallow this." //this is cooler without "contains 50u cyanide"
icon_state = "pill5"
/obj/item/weapon/reagent_containers/pill/cyanide/New()
..()
/obj/item/weapon/reagent_containers/pill/cyanide/Initialize()
. = ..()
reagents.add_reagent("cyanide", 50)
@@ -128,8 +124,8 @@
desc = "It's magic. We don't have to explain it." //it's space magic you don't need the quantity
icon_state = "pill16"
/obj/item/weapon/reagent_containers/pill/adminordrazine/New()
..()
/obj/item/weapon/reagent_containers/pill/adminordrazine/Initialize()
. = ..()
reagents.add_reagent("adminordrazine", 50)
/obj/item/weapon/reagent_containers/pill/stox
@@ -137,8 +133,8 @@
desc = "Commonly used to treat insomnia. Contains 15 units of Soporific."
icon_state = "pill8"
/obj/item/weapon/reagent_containers/pill/stox/New()
..()
/obj/item/weapon/reagent_containers/pill/stox/Initialize()
. = ..()
reagents.add_reagent("stoxin", 15)
@@ -147,8 +143,8 @@
desc = "Used to treat burns. Contains 15 units of Kelotane."
icon_state = "pill11"
/obj/item/weapon/reagent_containers/pill/kelotane/New()
..()
/obj/item/weapon/reagent_containers/pill/kelotane/Initialize()
. = ..()
reagents.add_reagent("kelotane", 15)
@@ -157,8 +153,8 @@
desc = "Paracetamol! A painkiller for the ages. Chewables! Contains 15 units of Paracetamol."
icon_state = "pill8"
/obj/item/weapon/reagent_containers/pill/paracetamol/New()
..()
/obj/item/weapon/reagent_containers/pill/paracetamol/Initialize()
. = ..()
reagents.add_reagent("paracetamol", 15)
@@ -167,8 +163,8 @@
desc = "A simple painkiller. Contains 15 units of Tramadol."
icon_state = "pill8"
/obj/item/weapon/reagent_containers/pill/tramadol/New()
..()
/obj/item/weapon/reagent_containers/pill/tramadol/Initialize()
. = ..()
reagents.add_reagent("tramadol", 15)
@@ -177,8 +173,8 @@
desc = "Improves the ability to concentrate. Contains 15 units of Methylphenidate."
icon_state = "pill8"
/obj/item/weapon/reagent_containers/pill/methylphenidate/New()
..()
/obj/item/weapon/reagent_containers/pill/methylphenidate/Initialize()
. = ..()
reagents.add_reagent("methylphenidate", 15)
@@ -187,18 +183,17 @@
desc = "Mild anti-depressant. Contains 15 units of Citalopram."
icon_state = "pill8"
/obj/item/weapon/reagent_containers/pill/citalopram/New()
..()
/obj/item/weapon/reagent_containers/pill/citalopram/Initialize()
. = ..()
reagents.add_reagent("citalopram", 15)
/obj/item/weapon/reagent_containers/pill/dexalin
name = "Dexalin pill"
desc = "Used to treat oxygen deprivation. Contains 15 units of Dexalin."
icon_state = "pill16"
/obj/item/weapon/reagent_containers/pill/dexalin/New()
..()
/obj/item/weapon/reagent_containers/pill/dexalin/Initialize()
. = ..()
reagents.add_reagent("dexalin", 15)
@@ -207,38 +202,35 @@
desc = "Used to treat extreme oxygen deprivation. Contains 15 units of Dexalin Plus."
icon_state = "pill8"
/obj/item/weapon/reagent_containers/pill/dexalin_plus/New()
..()
/obj/item/weapon/reagent_containers/pill/dexalin_plus/Initialize()
. = ..()
reagents.add_reagent("dexalinp", 15)
/obj/item/weapon/reagent_containers/pill/dermaline
name = "Dermaline pill"
desc = "Used to treat burn wounds. Contains 15 units of Dermaline."
icon_state = "pill12"
/obj/item/weapon/reagent_containers/pill/dermaline/New()
..()
/obj/item/weapon/reagent_containers/pill/dermaline/Initialize()
. = ..()
reagents.add_reagent("dermaline", 15)
/obj/item/weapon/reagent_containers/pill/dylovene
name = "Dylovene pill"
desc = "A broad-spectrum anti-toxin. Contains 15 units of Dylovene."
icon_state = "pill13"
/obj/item/weapon/reagent_containers/pill/dylovene/New()
..()
/obj/item/weapon/reagent_containers/pill/dylovene/Initialize()
. = ..()
reagents.add_reagent("anti_toxin", 15)
/obj/item/weapon/reagent_containers/pill/inaprovaline
name = "Inaprovaline pill"
desc = "Used to stabilize patients. Contains 30 units of Inaprovaline."
icon_state = "pill20"
/obj/item/weapon/reagent_containers/pill/inaprovaline/New()
..()
/obj/item/weapon/reagent_containers/pill/inaprovaline/Initialize()
. = ..()
reagents.add_reagent("inaprovaline", 30)
@@ -247,8 +239,8 @@
desc = "Used to treat physical injuries. Contains 20 units of Bicaridine."
icon_state = "pill18"
/obj/item/weapon/reagent_containers/pill/bicaridine/New()
..()
/obj/item/weapon/reagent_containers/pill/bicaridine/Initialize()
. = ..()
reagents.add_reagent("bicaridine", 20)
@@ -257,8 +249,8 @@
desc = "A theta-lactam antibiotic. Effective against many diseases likely to be encountered in space. Contains 15 units of Spaceacillin."
icon_state = "pill19"
/obj/item/weapon/reagent_containers/pill/spaceacillin/New()
..()
/obj/item/weapon/reagent_containers/pill/spaceacillin/Initialize()
. = ..()
reagents.add_reagent("spaceacillin", 15)
@@ -267,8 +259,8 @@
desc = "Used to neutralise chemicals in the stomach. Contains 15 units of Carbon."
icon_state = "pill7"
/obj/item/weapon/reagent_containers/pill/carbon/New()
..()
/obj/item/weapon/reagent_containers/pill/carbon/Initialize()
. = ..()
reagents.add_reagent("carbon", 15)
@@ -277,8 +269,8 @@
desc = "Used to aid in blood regeneration after bleeding. Contains 15 units of Iron."
icon_state = "pill4"
/obj/item/weapon/reagent_containers/pill/iron/New()
..()
/obj/item/weapon/reagent_containers/pill/iron/Initialize()
. = ..()
reagents.add_reagent("iron", 15)
//Not-quite-medicine
@@ -287,8 +279,8 @@
desc = "Happy happy joy joy!" //we're not giving quantities for shady maint drugs
icon_state = "pill18"
/obj/item/weapon/reagent_containers/pill/happy/New()
..()
/obj/item/weapon/reagent_containers/pill/happy/Initialize()
. = ..()
reagents.add_reagent("space_drugs", 15)
reagents.add_reagent("sugar", 15)
@@ -298,8 +290,8 @@
desc = "Zoooom!"
icon_state = "pill18"
/obj/item/weapon/reagent_containers/pill/zoom/New()
..()
/obj/item/weapon/reagent_containers/pill/zoom/Initialize()
. = ..()
reagents.add_reagent("impedrezene", 10)
reagents.add_reagent("synaptizine", 5)
reagents.add_reagent("hyperzine", 5)
@@ -309,6 +301,6 @@
desc = "Guaranteed to get you slim!"
icon_state = "pill9"
/obj/item/weapon/reagent_containers/pill/diet/New()
..()
/obj/item/weapon/reagent_containers/pill/diet/Initialize()
. = ..()
reagents.add_reagent("lipozine", 2)
@@ -17,8 +17,8 @@
var/list/spray_sizes = list(1,3)
volume = 250
/obj/item/weapon/reagent_containers/spray/New()
..()
/obj/item/weapon/reagent_containers/spray/Initialize()
. = ..()
src.verbs -= /obj/item/weapon/reagent_containers/verb/set_APTFT
/obj/item/weapon/reagent_containers/spray/afterattack(atom/A as mob|obj, mob/user as mob, proximity)
@@ -102,16 +102,16 @@
desc = "BLAM!-brand non-foaming space cleaner!"
volume = 50
/obj/item/weapon/reagent_containers/spray/cleaner/New()
..()
/obj/item/weapon/reagent_containers/spray/cleaner/Initialize()
. = ..()
reagents.add_reagent("cleaner", volume)
/obj/item/weapon/reagent_containers/spray/sterilizine
name = "sterilizine"
desc = "Great for hiding incriminating bloodstains and sterilizing scalpels."
/obj/item/weapon/reagent_containers/spray/sterilizine/New()
..()
/obj/item/weapon/reagent_containers/spray/sterilizine/Initialize()
. = ..()
reagents.add_reagent("sterilizine", volume)
/obj/item/weapon/reagent_containers/spray/pepper
@@ -122,10 +122,10 @@
item_state = "pepperspray"
possible_transfer_amounts = null
volume = 40
var/safety = 1
var/safety = TRUE
/obj/item/weapon/reagent_containers/spray/pepper/New()
..()
/obj/item/weapon/reagent_containers/spray/pepper/Initialize()
. = ..()
reagents.add_reagent("condensedcapsaicin", 40)
/obj/item/weapon/reagent_containers/spray/pepper/examine(mob/user)
@@ -140,7 +140,7 @@
if(safety)
usr << "<span class = 'warning'>The safety is on!</span>"
return
..()
. = ..()
/obj/item/weapon/reagent_containers/spray/waterflower
name = "water flower"
@@ -152,8 +152,8 @@
possible_transfer_amounts = null
volume = 10
/obj/item/weapon/reagent_containers/spray/waterflower/New()
..()
/obj/item/weapon/reagent_containers/spray/waterflower/Initialize()
. = ..()
reagents.add_reagent("water", 10)
/obj/item/weapon/reagent_containers/spray/chemsprayer
@@ -196,6 +196,6 @@
item_state = "plantbgone"
volume = 100
/obj/item/weapon/reagent_containers/spray/plantbgone/New()
..()
/obj/item/weapon/reagent_containers/spray/plantbgone/Initialize()
. = ..()
reagents.add_reagent("plantbgone", 100)
@@ -330,8 +330,8 @@
name = "Syringe (inaprovaline)"
desc = "Contains inaprovaline - used to stabilize patients."
/obj/item/weapon/reagent_containers/syringe/inaprovaline/New()
..()
/obj/item/weapon/reagent_containers/syringe/inaprovaline/Initialize()
. = ..()
reagents.add_reagent("inaprovaline", 15)
mode = SYRINGE_INJECT
update_icon()
@@ -340,8 +340,8 @@
name = "Syringe (anti-toxin)"
desc = "Contains anti-toxins."
/obj/item/weapon/reagent_containers/syringe/antitoxin/New()
..()
/obj/item/weapon/reagent_containers/syringe/antitoxin/Initialize()
. = ..()
reagents.add_reagent("anti_toxin", 15)
mode = SYRINGE_INJECT
update_icon()
@@ -350,8 +350,8 @@
name = "Syringe (spaceacillin)"
desc = "Contains antiviral agents."
/obj/item/weapon/reagent_containers/syringe/antiviral/New()
..()
/obj/item/weapon/reagent_containers/syringe/antiviral/Initialize()
. = ..()
reagents.add_reagent("spaceacillin", 15)
mode = SYRINGE_INJECT
update_icon()
@@ -360,16 +360,16 @@
name = "Syringe (drugs)"
desc = "Contains aggressive drugs meant for torture."
/obj/item/weapon/reagent_containers/syringe/drugs/New()
..()
/obj/item/weapon/reagent_containers/syringe/drugs/Initialize()
. = ..()
reagents.add_reagent("space_drugs", 5)
reagents.add_reagent("mindbreaker", 5)
reagents.add_reagent("cryptobiolin", 5)
mode = SYRINGE_INJECT
update_icon()
/obj/item/weapon/reagent_containers/syringe/ld50_syringe/choral/New()
..()
/obj/item/weapon/reagent_containers/syringe/ld50_syringe/choral/Initialize()
. = ..()
reagents.add_reagent("chloralhydrate", 50)
mode = SYRINGE_INJECT
update_icon()
@@ -378,7 +378,7 @@
name = "Syringe (anabolic steroids)"
desc = "Contains drugs for muscle growth."
/obj/item/weapon/reagent_containers/syringe/steroid/New()
..()
/obj/item/weapon/reagent_containers/syringe/steroid/Initialize()
. = ..()
reagents.add_reagent("adrenaline",5)
reagents.add_reagent("hyperzine",10)
+18 -18
View File
@@ -16,13 +16,13 @@
attackby(obj/item/weapon/W as obj, mob/user as mob)
return
/obj/structure/reagent_dispensers/New()
/obj/structure/reagent_dispensers/Initialize()
var/datum/reagents/R = new/datum/reagents(5000)
reagents = R
R.my_atom = src
if (!possible_transfer_amounts)
src.verbs -= /obj/structure/reagent_dispensers/verb/set_APTFT
..()
. = ..()
/obj/structure/reagent_dispensers/examine(mob/user)
if(!..(user, 2))
@@ -73,8 +73,8 @@
icon_state = "watertank"
amount_per_transfer_from_this = 10
/obj/structure/reagent_dispensers/watertank/New()
..()
/obj/structure/reagent_dispensers/watertank/Initialize()
. = ..()
reagents.add_reagent("water", 1000)
/obj/structure/reagent_dispensers/watertank/high
@@ -82,8 +82,8 @@
desc = "A highly-pressurized water tank made to hold vast amounts of water.."
icon_state = "watertank_high"
/obj/structure/reagent_dispensers/watertank/high/New()
..()
/obj/structure/reagent_dispensers/watertank/high/Initialize()
. = ..()
reagents.add_reagent("water", 4000)
/obj/structure/reagent_dispensers/fueltank
@@ -95,8 +95,8 @@
var/modded = 0
var/obj/item/device/assembly_holder/rig = null
/obj/structure/reagent_dispensers/fueltank/New()
..()
/obj/structure/reagent_dispensers/fueltank/Initialize()
. = ..()
reagents.add_reagent("fuel",1000)
/obj/structure/reagent_dispensers/fueltank/examine(mob/user)
@@ -205,8 +205,8 @@
density = 0
amount_per_transfer_from_this = 45
/obj/structure/reagent_dispensers/peppertank/New()
..()
/obj/structure/reagent_dispensers/peppertank/Initialize()
. = ..()
reagents.add_reagent("condensedcapsaicin",1000)
@@ -227,8 +227,8 @@
cupholder = 1
cups = 10
/obj/structure/reagent_dispensers/water_cooler/New()
..()
/obj/structure/reagent_dispensers/water_cooler/Initialize()
. = ..()
if(bottle)
reagents.add_reagent("water",120)
update_icon()
@@ -352,8 +352,8 @@
icon_state = "beertankTEMP"
amount_per_transfer_from_this = 10
/obj/structure/reagent_dispensers/beerkeg/New()
..()
/obj/structure/reagent_dispensers/beerkeg/Initialize()
. = ..()
reagents.add_reagent("beer",1000)
/obj/structure/reagent_dispensers/beerkeg/fakenuke
@@ -370,8 +370,8 @@
amount_per_transfer_from_this = 10
anchored = 1
/obj/structure/reagent_dispensers/virusfood/New()
..()
/obj/structure/reagent_dispensers/virusfood/Initialize()
. = ..()
reagents.add_reagent("virusfood", 1000)
/obj/structure/reagent_dispensers/acid
@@ -382,6 +382,6 @@
amount_per_transfer_from_this = 10
anchored = 1
/obj/structure/reagent_dispensers/acid/New()
..()
/obj/structure/reagent_dispensers/acid/Initialize()
. = ..()
reagents.add_reagent("sacid", 1000)