mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2026-07-19 04:05:56 +01:00
[READY]Makes a bunch of processes subsystems instead (#5814
* Converts various New() definitions to Initialization() * Adds absolute pathing
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user