diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers.dm index e7aa5927287..e9f33ea06ca 100644 --- a/code/modules/reagents/reagent_containers.dm +++ b/code/modules/reagents/reagent_containers.dm @@ -8,6 +8,9 @@ var/possible_transfer_amounts = list(5,10,15,25,30) var/volume = 30 var/list/banned_reagents = list() //List of reagent IDs we reject. + var/list/list_reagents = null + var/spawned_disease = null + var/disease_amount = 20 /obj/item/weapon/reagent_containers/verb/set_APTFT() //set amount_per_transfer_from_this set name = "Set transfer amount" @@ -24,6 +27,12 @@ if (!possible_transfer_amounts) src.verbs -= /obj/item/weapon/reagent_containers/verb/set_APTFT create_reagents(volume) + if(spawned_disease) + var/datum/disease/F = new spawned_disease(0) + var/list/data = list("viruses"= list(F)) + reagents.add_reagent("blood", disease_amount, data) + if(list_reagents) + reagents.add_reagent_list(list_reagents) /obj/item/weapon/reagent_containers/attack_self(mob/user as mob) return diff --git a/code/modules/reagents/reagent_containers/glass/bottle.dm b/code/modules/reagents/reagent_containers/bottle.dm similarity index 81% rename from code/modules/reagents/reagent_containers/glass/bottle.dm rename to code/modules/reagents/reagent_containers/bottle.dm index de269f2c42e..cd43f507f55 100644 --- a/code/modules/reagents/reagent_containers/glass/bottle.dm +++ b/code/modules/reagents/reagent_containers/bottle.dm @@ -1,262 +1,240 @@ - -//Not to be confused with /obj/item/weapon/reagent_containers/food/drinks/bottle - -/obj/item/weapon/reagent_containers/glass/bottle - name = "bottle" - desc = "A small bottle." - icon_state = null - item_state = "atoxinbottle" - possible_transfer_amounts = list(5,10,15,25,30) - volume = 30 - var/spawned_reagent = null - var/spawned_amount = 30 - var/spawned_disease = null - -/obj/item/weapon/reagent_containers/glass/bottle/New() - ..() - if(!icon_state) - icon_state = "bottle[rand(1,20)]" - if(spawned_disease) - var/datum/disease/F = new spawned_disease(0) - var/list/data = list("viruses"= list(F)) - reagents.add_reagent("blood", 20, data) - if(spawned_reagent && spawned_amount) - reagents.add_reagent("[spawned_reagent]", spawned_amount) - - -/obj/item/weapon/reagent_containers/glass/bottle/epinephrine - name = "epinephrine bottle" - desc = "A small bottle. Contains epinephrine - used to stabilize patients." - icon_state = "bottle16" - spawned_reagent = "epinephrine" - -/obj/item/weapon/reagent_containers/glass/bottle/toxin - name = "toxin bottle" - desc = "A small bottle of toxins. Do not drink, it is poisonous." - icon_state = "bottle12" - spawned_reagent = "toxin" - -/obj/item/weapon/reagent_containers/glass/bottle/cyanide - name = "cyanide bottle" - desc = "A small bottle of cyanide. Bitter almonds?" - icon_state = "bottle12" - spawned_reagent = "cyanide" - -/obj/item/weapon/reagent_containers/glass/bottle/stoxin - name = "sleep-toxin bottle" - desc = "A small bottle of sleep toxins. Just the fumes make you sleepy." - icon_state = "bottle20" - spawned_reagent = "stoxin" - -/obj/item/weapon/reagent_containers/glass/bottle/morphine - name = "morphine bottle" - desc = "A small bottle of morphine." - icon = 'icons/obj/chemical.dmi' - icon_state = "bottle20" - spawned_reagent = "morphine" - -/obj/item/weapon/reagent_containers/glass/bottle/chloralhydrate - name = "Chloral Hydrate Bottle" - desc = "A small bottle of Choral Hydrate. Mickey's Favorite!" - icon_state = "bottle20" - spawned_reagent = "chloralhydrate" - spawned_amount = 15 - -/obj/item/weapon/reagent_containers/glass/bottle/charcoal - name = "charcoal bottle" - desc = "A small bottle of charcoal." - icon_state = "bottle17" - spawned_reagent = "salglu_solution" - -/obj/item/weapon/reagent_containers/glass/bottle/mutagen - name = "unstable mutagen bottle" - desc = "A small bottle of unstable mutagen. Randomly changes the DNA structure of whoever comes in contact." - icon_state = "bottle20" - spawned_reagent = "mutagen" - -/obj/item/weapon/reagent_containers/glass/bottle/plasma - name = "liquid plasma bottle" - desc = "A small bottle of liquid plasma. Extremely toxic and reacts with micro-organisms inside blood." - icon_state = "bottle8" - spawned_reagent = "plasma" - -/obj/item/weapon/reagent_containers/glass/bottle/synaptizine - name = "synaptizine bottle" - desc = "A small bottle of synaptizine." - icon_state = "bottle20" - spawned_reagent = "synaptizine" - -/obj/item/weapon/reagent_containers/glass/bottle/ammonia - name = "ammonia bottle" - desc = "A small bottle of ammonia." - icon_state = "bottle20" - spawned_reagent = "ammonia" - -/obj/item/weapon/reagent_containers/glass/bottle/diethylamine - name = "diethylamine bottle" - desc = "A small bottle of diethylamine." - icon_state = "bottle17" - spawned_reagent = "diethylamine" - -/obj/item/weapon/reagent_containers/glass/bottle/pacid - name = "Polytrinic Acid Bottle" - desc = "A small bottle. Contains a small amount of Polytrinic Acid" - icon_state = "bottle17" - spawned_reagent = "pacid" - -/obj/item/weapon/reagent_containers/glass/bottle/adminordrazine - name = "Adminordrazine Bottle" - desc = "A small bottle. Contains the liquid essence of the gods." - icon = 'icons/obj/drinks.dmi' - icon_state = "holyflask" - spawned_reagent = "adminordrazine" - -/obj/item/weapon/reagent_containers/glass/bottle/capsaicin - name = "Capsaicin Bottle" - desc = "A small bottle. Contains hot sauce." - icon_state = "bottle3" - spawned_reagent = "capsaicin" - -/obj/item/weapon/reagent_containers/glass/bottle/frostoil - name = "Frost Oil Bottle" - desc = "A small bottle. Contains cold sauce." - icon_state = "bottle17" - spawned_reagent = "frostoil" - -/obj/item/weapon/reagent_containers/glass/bottle/flu_virion - name = "Flu virion culture bottle" - desc = "A small bottle. Contains H13N1 flu virion culture in synthblood medium." - icon_state = "bottle3" - spawned_disease = /datum/disease/advance/flu - -/obj/item/weapon/reagent_containers/glass/bottle/epiglottis_virion - name = "Epiglottis virion culture bottle" - desc = "A small bottle. Contains Epiglottis virion culture in synthblood medium." - icon_state = "bottle3" - spawned_disease = /datum/disease/advance/voice_change - -/obj/item/weapon/reagent_containers/glass/bottle/liver_enhance_virion - name = "Liver enhancement virion culture bottle" - desc = "A small bottle. Contains liver enhancement virion culture in synthblood medium." - icon_state = "bottle3" - spawned_disease = /datum/disease/advance/heal - -/obj/item/weapon/reagent_containers/glass/bottle/hullucigen_virion - name = "Hullucigen virion culture bottle" - desc = "A small bottle. Contains hullucigen virion culture in synthblood medium." - icon_state = "bottle3" - spawned_disease = /datum/disease/advance/hullucigen - -/obj/item/weapon/reagent_containers/glass/bottle/pierrot_throat - name = "Pierrot's Throat culture bottle" - desc = "A small bottle. Contains H0NI<42 virion culture in synthblood medium." - icon_state = "bottle3" - spawned_disease = /datum/disease/pierrot_throat - -/obj/item/weapon/reagent_containers/glass/bottle/cold - name = "Rhinovirus culture bottle" - desc = "A small bottle. Contains XY-rhinovirus culture in synthblood medium." - icon_state = "bottle3" - spawned_disease = /datum/disease/advance/cold - -/obj/item/weapon/reagent_containers/glass/bottle/retrovirus - name = "Retrovirus culture bottle" - desc = "A small bottle. Contains a retrovirus culture in a synthblood medium." - icon_state = "bottle3" - spawned_disease = /datum/disease/dna_retrovirus - -/obj/item/weapon/reagent_containers/glass/bottle/gbs - name = "GBS culture bottle" - desc = "A small bottle. Contains Gravitokinetic Bipotential SADS+ culture in synthblood medium."//Or simply - General BullShit - icon_state = "bottle3" - amount_per_transfer_from_this = 5 - spawned_disease = /datum/disease/gbs - -/obj/item/weapon/reagent_containers/glass/bottle/fake_gbs - name = "GBS culture bottle" - desc = "A small bottle. Contains Gravitokinetic Bipotential SADS- culture in synthblood medium."//Or simply - General BullShit - icon_state = "bottle3" - spawned_disease = /datum/disease/fake_gbs - -/obj/item/weapon/reagent_containers/glass/bottle/brainrot - name = "Brainrot culture bottle" - desc = "A small bottle. Contains Cryptococcus Cosmosis culture in synthblood medium." - icon_state = "bottle3" - spawned_disease = /datum/disease/brainrot - -/obj/item/weapon/reagent_containers/glass/bottle/magnitis - name = "Magnitis culture bottle" - desc = "A small bottle. Contains a small dosage of Fukkos Miracos." - icon_state = "bottle3" - spawned_disease = /datum/disease/magnitis - -/obj/item/weapon/reagent_containers/glass/bottle/wizarditis - name = "Wizarditis culture bottle" - desc = "A small bottle. Contains a sample of Rincewindus Vulgaris." - icon_state = "bottle3" - spawned_disease = /datum/disease/wizarditis - -/obj/item/weapon/reagent_containers/glass/bottle/anxiety - name = "Severe Anxiety culture bottle" - desc = "A small bottle. Contains a sample of Lepidopticides." - icon_state = "bottle3" - spawned_disease = /datum/disease/anxiety - -/obj/item/weapon/reagent_containers/glass/bottle/traitor - name = "syndicate bottle" - desc = "A small bottle. Contains a random nasty chemical." - icon = 'icons/obj/chemical.dmi' - icon_state = "bottle16" - -/obj/item/weapon/reagent_containers/glass/bottle/traitor/New() - ..() - var/new_reagent = pick("polonium", "histamine", "formaldehyde", "venom", "neurotoxin2", "cyanide") - reagents.add_reagent(new_reagent, 50) - -/obj/item/weapon/reagent_containers/glass/bottle/polonium - name = "polonium bottle" - desc = "A small bottle. Contains Polonium." - icon = 'icons/obj/chemical.dmi' - icon_state = "bottle16" - spawned_reagent = "polonium" - -/obj/item/weapon/reagent_containers/glass/bottle/venom - name = "venom bottle" - desc = "A small bottle. Contains Venom." - icon = 'icons/obj/chemical.dmi' - icon_state = "bottle16" - spawned_reagent = "venom" - -/obj/item/weapon/reagent_containers/glass/bottle/neurotoxin2 - name = "neurotoxin bottle" - desc = "A small bottle. Contains Neurotoxin." - icon = 'icons/obj/chemical.dmi' - icon_state = "bottle16" - spawned_reagent = "neurotoxin2" - -/obj/item/weapon/reagent_containers/glass/bottle/formaldehyde - name = "formaldehyde bottle" - desc = "A small bottle. Contains Formaldehyde." - icon = 'icons/obj/chemical.dmi' - icon_state = "bottle16" - spawned_reagent = "formaldehyde" - -/obj/item/weapon/reagent_containers/glass/bottle/cyanide - name = "cyanide bottle" - desc = "A small bottle. Contains Cyanide." - icon = 'icons/obj/chemical.dmi' - icon_state = "bottle16" - spawned_reagent = "cyanide" - -/obj/item/weapon/reagent_containers/glass/bottle/histamine - name = "histamine bottle" - desc = "A small bottle. Contains Histamine." - icon = 'icons/obj/chemical.dmi' - icon_state = "bottle16" - spawned_reagent = "histamine" - -/obj/item/weapon/reagent_containers/glass/bottle/beesease - name = "Beesease culture bottle" - desc = "A small bottle. Contains a sample of invasive Apidae." - icon_state = "bottle3" - spawned_disease = /datum/disease/beesease + +//Not to be confused with /obj/item/weapon/reagent_containers/food/drinks/bottle + +/obj/item/weapon/reagent_containers/glass/bottle + name = "bottle" + desc = "A small bottle." + icon_state = null + item_state = "atoxinbottle" + possible_transfer_amounts = list(5,10,15,25,30) + volume = 30 + +/obj/item/weapon/reagent_containers/glass/bottle/New() + ..() + if(!icon_state) + icon_state = "bottle[rand(1,20)]" + +/obj/item/weapon/reagent_containers/glass/bottle/epinephrine + name = "epinephrine bottle" + desc = "A small bottle. Contains epinephrine - used to stabilize patients." + icon_state = "bottle16" + list_reagents = list("epinephrine" = 30) + +/obj/item/weapon/reagent_containers/glass/bottle/toxin + name = "toxin bottle" + desc = "A small bottle of toxins. Do not drink, it is poisonous." + icon_state = "bottle12" + list_reagents = list("toxin" = 30) + +/obj/item/weapon/reagent_containers/glass/bottle/cyanide + name = "cyanide bottle" + desc = "A small bottle of cyanide. Bitter almonds?" + icon_state = "bottle12" + list_reagents = list("cyanide" = 30) + +/obj/item/weapon/reagent_containers/glass/bottle/stoxin + name = "sleep-toxin bottle" + desc = "A small bottle of sleep toxins. Just the fumes make you sleepy." + icon_state = "bottle20" + list_reagents = list("stoxin" = 30) + +/obj/item/weapon/reagent_containers/glass/bottle/morphine + name = "morphine bottle" + desc = "A small bottle of morphine." + icon = 'icons/obj/chemical.dmi' + icon_state = "bottle20" + list_reagents = list("morphine" = 30) + +/obj/item/weapon/reagent_containers/glass/bottle/chloralhydrate + name = "Chloral Hydrate Bottle" + desc = "A small bottle of Choral Hydrate. Mickey's Favorite!" + icon_state = "bottle20" + list_reagents = list("chloralhydrate" = 15) + +/obj/item/weapon/reagent_containers/glass/bottle/charcoal + name = "charcoal bottle" + desc = "A small bottle of charcoal." + icon_state = "bottle17" + list_reagents = list("salglu_solution" = 30) + +/obj/item/weapon/reagent_containers/glass/bottle/mutagen + name = "unstable mutagen bottle" + desc = "A small bottle of unstable mutagen. Randomly changes the DNA structure of whoever comes in contact." + icon_state = "bottle20" + list_reagents = list("mutagen" = 30) + +/obj/item/weapon/reagent_containers/glass/bottle/plasma + name = "liquid plasma bottle" + desc = "A small bottle of liquid plasma. Extremely toxic and reacts with micro-organisms inside blood." + icon_state = "bottle8" + list_reagents = list("plasma" = 30) + +/obj/item/weapon/reagent_containers/glass/bottle/synaptizine + name = "synaptizine bottle" + desc = "A small bottle of synaptizine." + icon_state = "bottle20" + list_reagents = list("synaptizine" = 30) + +/obj/item/weapon/reagent_containers/glass/bottle/ammonia + name = "ammonia bottle" + desc = "A small bottle of ammonia." + icon_state = "bottle20" + list_reagents = list("ammonia" = 30) + +/obj/item/weapon/reagent_containers/glass/bottle/diethylamine + name = "diethylamine bottle" + desc = "A small bottle of diethylamine." + icon_state = "bottle17" + list_reagents = list("diethylamine" = 30) + +/obj/item/weapon/reagent_containers/glass/bottle/pacid + name = "Polytrinic Acid Bottle" + desc = "A small bottle. Contains a small amount of Polytrinic Acid" + icon_state = "bottle17" + list_reagents = list("pacid" = 30) + +/obj/item/weapon/reagent_containers/glass/bottle/adminordrazine + name = "Adminordrazine Bottle" + desc = "A small bottle. Contains the liquid essence of the gods." + icon = 'icons/obj/drinks.dmi' + icon_state = "holyflask" + list_reagents = list("adminordrazine" = 30) + +/obj/item/weapon/reagent_containers/glass/bottle/capsaicin + name = "Capsaicin Bottle" + desc = "A small bottle. Contains hot sauce." + icon_state = "bottle3" + list_reagents = list("capsaicin" = 30) + +/obj/item/weapon/reagent_containers/glass/bottle/frostoil + name = "Frost Oil Bottle" + desc = "A small bottle. Contains cold sauce." + icon_state = "bottle17" + list_reagents = list("frostoil" = 30) + +/obj/item/weapon/reagent_containers/glass/bottle/traitor + name = "syndicate bottle" + desc = "A small bottle. Contains a random nasty chemical." + icon = 'icons/obj/chemical.dmi' + icon_state = "bottle16" + var/new_reagent = null + +/obj/item/weapon/reagent_containers/glass/bottle/traitor/New() + new_reagent = pick("polonium", "histamine", "formaldehyde", "venom", "neurotoxin2", "cyanide") + list_reagents = list("[new_reagent]" = 30) + ..() + +/obj/item/weapon/reagent_containers/glass/bottle/polonium + name = "polonium bottle" + desc = "A small bottle. Contains Polonium." + icon_state = "bottle16" + list_reagents = list("polonium" = 30) + +/obj/item/weapon/reagent_containers/glass/bottle/venom + name = "venom bottle" + desc = "A small bottle. Contains Venom." + icon_state = "bottle16" + list_reagents = list("venom" = 30) + +/obj/item/weapon/reagent_containers/glass/bottle/neurotoxin2 + name = "neurotoxin bottle" + desc = "A small bottle. Contains Neurotoxin." + icon_state = "bottle16" + list_reagents = list("neurotoxin2" = 30) + +/obj/item/weapon/reagent_containers/glass/bottle/formaldehyde + name = "formaldehyde bottle" + desc = "A small bottle. Contains Formaldehyde." + icon_state = "bottle16" + list_reagents = list("formaldehye" = 30) + +/obj/item/weapon/reagent_containers/glass/bottle/histamine + name = "histamine bottle" + desc = "A small bottle. Contains Histamine." + icon_state = "bottle16" + list_reagents = list("histamine" = 30) + +/obj/item/weapon/reagent_containers/glass/bottle/flu_virion + name = "Flu virion culture bottle" + desc = "A small bottle. Contains H13N1 flu virion culture in synthblood medium." + icon_state = "bottle3" + spawned_disease = /datum/disease/advance/flu + +/obj/item/weapon/reagent_containers/glass/bottle/epiglottis_virion + name = "Epiglottis virion culture bottle" + desc = "A small bottle. Contains Epiglottis virion culture in synthblood medium." + icon_state = "bottle3" + spawned_disease = /datum/disease/advance/voice_change + +/obj/item/weapon/reagent_containers/glass/bottle/liver_enhance_virion + name = "Liver enhancement virion culture bottle" + desc = "A small bottle. Contains liver enhancement virion culture in synthblood medium." + icon_state = "bottle3" + spawned_disease = /datum/disease/advance/heal + +/obj/item/weapon/reagent_containers/glass/bottle/hullucigen_virion + name = "Hullucigen virion culture bottle" + desc = "A small bottle. Contains hullucigen virion culture in synthblood medium." + icon_state = "bottle3" + spawned_disease = /datum/disease/advance/hullucigen + +/obj/item/weapon/reagent_containers/glass/bottle/pierrot_throat + name = "Pierrot's Throat culture bottle" + desc = "A small bottle. Contains H0NI<42 virion culture in synthblood medium." + icon_state = "bottle3" + spawned_disease = /datum/disease/pierrot_throat + +/obj/item/weapon/reagent_containers/glass/bottle/cold + name = "Rhinovirus culture bottle" + desc = "A small bottle. Contains XY-rhinovirus culture in synthblood medium." + icon_state = "bottle3" + spawned_disease = /datum/disease/advance/cold + +/obj/item/weapon/reagent_containers/glass/bottle/retrovirus + name = "Retrovirus culture bottle" + desc = "A small bottle. Contains a retrovirus culture in a synthblood medium." + icon_state = "bottle3" + spawned_disease = /datum/disease/dna_retrovirus + +/obj/item/weapon/reagent_containers/glass/bottle/gbs + name = "GBS culture bottle" + desc = "A small bottle. Contains Gravitokinetic Bipotential SADS+ culture in synthblood medium."//Or simply - General BullShit + icon_state = "bottle3" + amount_per_transfer_from_this = 5 + spawned_disease = /datum/disease/gbs + +/obj/item/weapon/reagent_containers/glass/bottle/fake_gbs + name = "GBS culture bottle" + desc = "A small bottle. Contains Gravitokinetic Bipotential SADS- culture in synthblood medium."//Or simply - General BullShit + icon_state = "bottle3" + spawned_disease = /datum/disease/fake_gbs + +/obj/item/weapon/reagent_containers/glass/bottle/brainrot + name = "Brainrot culture bottle" + desc = "A small bottle. Contains Cryptococcus Cosmosis culture in synthblood medium." + icon_state = "bottle3" + spawned_disease = /datum/disease/brainrot + +/obj/item/weapon/reagent_containers/glass/bottle/magnitis + name = "Magnitis culture bottle" + desc = "A small bottle. Contains a small dosage of Fukkos Miracos." + icon_state = "bottle3" + spawned_disease = /datum/disease/magnitis + +/obj/item/weapon/reagent_containers/glass/bottle/wizarditis + name = "Wizarditis culture bottle" + desc = "A small bottle. Contains a sample of Rincewindus Vulgaris." + icon_state = "bottle3" + spawned_disease = /datum/disease/wizarditis + +/obj/item/weapon/reagent_containers/glass/bottle/anxiety + name = "Severe Anxiety culture bottle" + desc = "A small bottle. Contains a sample of Lepidopticides." + icon_state = "bottle3" + spawned_disease = /datum/disease/anxiety + +/obj/item/weapon/reagent_containers/glass/bottle/beesease + name = "Beesease culture bottle" + desc = "A small bottle. Contains a sample of invasive Apidae." + icon_state = "bottle3" + spawned_disease = /datum/disease/beesease diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm index 174770a6af0..4ee9e4f7e6b 100644 --- a/code/modules/reagents/reagent_containers/glass.dm +++ b/code/modules/reagents/reagent_containers/glass.dm @@ -1,7 +1,3 @@ - -//////////////////////////////////////////////////////////////////////////////// -/// (Mixing)Glass. -//////////////////////////////////////////////////////////////////////////////// /obj/item/weapon/reagent_containers/glass name = "glass" amount_per_transfer_from_this = 10 @@ -102,6 +98,10 @@ m_amt = 0 g_amt = 500 +/obj/item/weapon/reagent_containers/glass/beaker/New() + ..() + update_icon() + /obj/item/weapon/reagent_containers/glass/beaker/on_reagent_change() update_icon() @@ -166,22 +166,13 @@ flags = OPENCONTAINER /obj/item/weapon/reagent_containers/glass/beaker/cryoxadone - New() - ..() - reagents.add_reagent("cryoxadone", 30) - update_icon() + list_reagents = list("cryoxadone" = 30) /obj/item/weapon/reagent_containers/glass/beaker/sulphuric - New() - ..() - reagents.add_reagent("sacid", 50) - update_icon() + list_reagents = list("sacid" = 50) /obj/item/weapon/reagent_containers/glass/beaker/slime - New() - ..() - reagents.add_reagent("slimejelly", 50) - update_icon() + list_reagents = list("slimejelly" = 50) /obj/item/weapon/reagent_containers/glass/bucket name = "bucket" @@ -204,52 +195,3 @@ user.put_in_hands(new /obj/item/weapon/bucket_sensor) user.unEquip(src) qdel(src) - -/* -/obj/item/weapon/reagent_containers/glass/blender_jug - name = "Blender Jug" - desc = "A blender jug, part of a blender." - icon = 'icons/obj/kitchen.dmi' - icon_state = "blender_jug_e" - volume = 100 - -/obj/item/weapon/reagent_containers/glass/blender_jug/on_reagent_change() - switch(src.reagents.total_volume) - if(0) - icon_state = "blender_jug_e" - if(1 to 75) - icon_state = "blender_jug_h" - if(76 to 100) - icon_state = "blender_jug_f" - -/obj/item/weapon/reagent_containers/glass/canister //not used apparantly - desc = "It's a canister. Mainly used for transporting fuel." - name = "canister" - icon = 'icons/obj/tank.dmi' - icon_state = "canister" - item_state = "canister" - m_amt = 300 - g_amt = 0 - w_class = 4.0 - - amount_per_transfer_from_this = 20 - possible_transfer_amounts = list(10,20,30,60) - volume = 120 - -/obj/item/weapon/reagent_containers/glass/dispenser - name = "reagent glass" - desc = "A reagent glass." - icon = 'icons/obj/chemical.dmi' - icon_state = "beaker0" - amount_per_transfer_from_this = 10 - flags = OPENCONTAINER - -/obj/item/weapon/reagent_containers/glass/dispenser/surfactant - name = "reagent glass (surfactant)" - icon_state = "liquid" - - New() - ..() - reagents.add_reagent("fluorosurfactant", 20) - -*/ \ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm index 5137bd9ebb4..bece546df2e 100644 --- a/code/modules/reagents/reagent_containers/hypospray.dm +++ b/code/modules/reagents/reagent_containers/hypospray.dm @@ -1,5 +1,3 @@ -//Hyposprays - /obj/item/weapon/reagent_containers/hypospray name = "hypospray" desc = "The DeForest Medical Corporation hypospray is a sterile, air-needle autoinjector for rapid administration of drugs to patients." @@ -40,9 +38,8 @@ add_logs(user, M, "injected", object="[src.name]", addition="([contained])") -/obj/item/weapon/reagent_containers/hypospray/CMO/New() - ..() - reagents.add_reagent("omnizine", 30) +/obj/item/weapon/reagent_containers/hypospray/CMO + list_reagents = list("omnizine" = 30) /obj/item/weapon/reagent_containers/hypospray/combat name = "combat stimulant injector" @@ -51,20 +48,12 @@ icon_state = "combat_hypo" volume = 60 ignore_flags = 1 // So they can heal their comrades. - -/obj/item/weapon/reagent_containers/hypospray/combat/New() - ..() - reagents.add_reagent("epinephrine", 15) - reagents.add_reagent("salglu_solution", 15) + list_reagents = list("epinephrine" = 15, "salglu_solution" = 15) obj/item/weapon/reagent_containers/hypospray/combat/nanites desc = "A modified air-needle autoinjector for use in combat situations. Prefilled with expensive medical nanites for rapid healing." volume = 100 - -/obj/item/weapon/reagent_containers/hypospray/combat/nanites/New() - ..() - reagents.remove_reagent("synaptizine", 30) - reagents.add_reagent("nanites", 100) + list_reagents = list("nanites" = 80, "synaptizine" = 20) //MediPens @@ -77,16 +66,12 @@ obj/item/weapon/reagent_containers/hypospray/combat/nanites volume = 10 ignore_flags = 1 //so you can medipen through hardsuits flags = null - var/starting_reagent = "epinephrine" - var/starting_amount = 10 /obj/item/weapon/reagent_containers/hypospray/medipen/New() ..() - reagents.add_reagent(starting_reagent, starting_amount) update_icon() return - /obj/item/weapon/reagent_containers/hypospray/medipen/attack(mob/M as mob, mob/user as mob) ..() update_icon() @@ -105,35 +90,19 @@ obj/item/weapon/reagent_containers/hypospray/combat/nanites else usr << "It is spent." - /obj/item/weapon/reagent_containers/hypospray/medipen/leporazine //basilisks name = "leporazine medipen" desc = "A rapid way to regulate your body's temperature in the event of a hardsuit malfunction at the cost of some shortness of breath." icon_state = "lepopen" - starting_reagent = "leporazine" - starting_amount = 9 - -/obj/item/weapon/reagent_containers/hypospray/medipen/leporazine/New() - ..() - reagents.add_reagent("lexorin", 1) - update_icon() - return + list_reagents = list("leporazine" = 9, "lexorin" = 1) /obj/item/weapon/reagent_containers/hypospray/medipen/stimpack //goliath kiting name = "stimpack medipen" desc = "A rapid way to stimulate your body's adrenaline, allowing for freer movement in restrictive armor at the cost of some shortness of breath." icon_state = "stimpen" - starting_reagent = "morphine" - starting_amount = 9 - -/obj/item/weapon/reagent_containers/hypospray/medipen/stimpack/New() - ..() - reagents.add_reagent("lexorin", 1) - update_icon() - return + list_reagents = list("morphine" = 9, "lexorin" = 1) /obj/item/weapon/reagent_containers/hypospray/medipen/morphine name = "morphine medipen" desc = "A rapid way to get you out of a tight situation and fast! You'll feel rather drowsy, though." - icon_state = "medipen" - starting_reagent = "morphine" + list_reagents = list("morphine" = 10) \ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/patch.dm b/code/modules/reagents/reagent_containers/patch.dm index 08ef1efcb37..80d825eb1f1 100644 --- a/code/modules/reagents/reagent_containers/patch.dm +++ b/code/modules/reagents/reagent_containers/patch.dm @@ -24,15 +24,9 @@ /obj/item/weapon/reagent_containers/pill/patch/styptic name = "styptic powder patch" desc = "Helps with brute injuries." - -/obj/item/weapon/reagent_containers/pill/patch/styptic/New() - ..() - reagents.add_reagent("styptic_powder", 25) + list_reagents = list("stpytic_powder" = 25) /obj/item/weapon/reagent_containers/pill/patch/silver_sulf name = "silver sulfadiazine patch" desc = "Helps with burn injuries." - -/obj/item/weapon/reagent_containers/pill/patch/silver_sulf/New() - ..() - reagents.add_reagent("silver_sulfadiazine", 25) \ No newline at end of file + list_reagents = list("silver_sulfadiazine" = 25) diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm index 7ed76b9c01a..9bff7d70d64 100644 --- a/code/modules/reagents/reagent_containers/pill.dm +++ b/code/modules/reagents/reagent_containers/pill.dm @@ -1,6 +1,3 @@ -//////////////////////////////////////////////////////////////////////////////// -/// Pills. -//////////////////////////////////////////////////////////////////////////////// /obj/item/weapon/reagent_containers/pill name = "pill" desc = "A tablet or capsule." @@ -68,86 +65,50 @@ spawn(5) qdel(src) - -//////////////////////////////////////////////////////////////////////////////// -/// Pills. END -//////////////////////////////////////////////////////////////////////////////// - -//Pills - - /obj/item/weapon/reagent_containers/pill/tox name = "toxins pill" desc = "Highly toxic." icon_state = "pill5" - -/obj/item/weapon/reagent_containers/pill/tox/New() - ..() - reagents.add_reagent("toxin", 50) - + list_reagents = list("toxin" = 50) /obj/item/weapon/reagent_containers/pill/cyanide name = "cyanide pill" desc = "Don't swallow this." icon_state = "pill5" - -/obj/item/weapon/reagent_containers/pill/cyanide/New() - ..() - reagents.add_reagent("cyanide", 50) - + list_reagents = list("cyanide" = 50) /obj/item/weapon/reagent_containers/pill/adminordrazine name = "adminordrazine pill" desc = "It's magic. We don't have to explain it." icon_state = "pill16" - -/obj/item/weapon/reagent_containers/pill/adminordrazine/New() - ..() - reagents.add_reagent("adminordrazine", 50) - + list_reagents = list("adminordrazine" = 50) /obj/item/weapon/reagent_containers/pill/stox name = "sleeping pill" desc = "Commonly used to treat insomnia." icon_state = "pill8" -/obj/item/weapon/reagent_containers/pill/stox/New() - ..() - reagents.add_reagent("stoxin", 30) + list_reagents = list("stoxin" = 50) /obj/item/weapon/reagent_containers/pill/stimulant name = "stimulant pill" desc = "Often taken by overworked employees, athletes, and the inebriated. You'll snap to attention immediately!" icon_state = "pill19" - -/obj/item/weapon/reagent_containers/pill/stimulant/New() - ..() - reagents.add_reagent("morphine", 10) - reagents.add_reagent("ethylredoxrazine", 10) - reagents.add_reagent("coffee", 30) + list_reagents = list("morphone" = 10, "ethylredoxrazine" = 10, "coffee" = 30) /obj/item/weapon/reagent_containers/pill/salbutamol name = "salbutamol pill" desc = "Used to treat oxygen deprivation." icon_state = "pill18" - -/obj/item/weapon/reagent_containers/pill/salbutamol/New() - ..() - reagents.add_reagent("salbutamol", 30) + list_reagents = list("salbutamol" = 30) /obj/item/weapon/reagent_containers/pill/charcoal name = "charcoal pill" desc = "Neutralizes many common toxins." icon_state = "pill17" - -/obj/item/weapon/reagent_containers/pill/charcoal/New() - ..() - reagents.add_reagent("charcoal", 50) + list_reagents = list("charcoal" = 50) /obj/item/weapon/reagent_containers/pill/epinephrine name = "epinephrine pill" desc = "Used to stabilize patients." icon_state = "pill17" - -/obj/item/weapon/reagent_containers/pill/epinephrine/New() - ..() - reagents.add_reagent("epinephrine", 50) \ No newline at end of file + list_reagents = list("epinephrine" = 50) \ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm index 421f4c72ffe..df482f7a6bd 100644 --- a/code/modules/reagents/reagent_containers/spray.dm +++ b/code/modules/reagents/reagent_containers/spray.dm @@ -100,11 +100,7 @@ /obj/item/weapon/reagent_containers/spray/cleaner name = "space cleaner" desc = "BLAM!-brand non-foaming space cleaner!" - - -/obj/item/weapon/reagent_containers/spray/cleaner/New() - ..() - reagents.add_reagent("cleaner", 250) + list_reagents = list("cleaner" = 250) //pepperspray /obj/item/weapon/reagent_containers/spray/pepper @@ -116,11 +112,7 @@ volume = 40 spray_maxrange = 4 amount_per_transfer_from_this = 5 - - -/obj/item/weapon/reagent_containers/spray/pepper/New() - ..() - reagents.add_reagent("condensedcapsaicin", 40) + list_reagents = list("condensedcapsaicin" = 40) //water flower /obj/item/weapon/reagent_containers/spray/waterflower @@ -131,10 +123,7 @@ item_state = "sunflower" amount_per_transfer_from_this = 1 volume = 10 - -/obj/item/weapon/reagent_containers/spray/waterflower/New() - ..() - reagents.add_reagent("water", 10) + list_reagents = list("water" = 10) /obj/item/weapon/reagent_containers/spray/waterflower/attack_self(var/mob/user) //Don't allow changing how much the flower sprays return @@ -199,12 +188,7 @@ user << "You adjust the output switch. You'll now use [amount_per_transfer_from_this] units per spray." /obj/item/weapon/reagent_containers/spray/chemsprayer/bioterror/New() - ..() - reagents.add_reagent("spore", 150) - reagents.add_reagent("cryptobiolin", 150) - reagents.add_reagent("mutagen", 150) - reagents.add_reagent("chloralhydrate", 150) - + list_reagents = list("spore" = 150, "cryptobiolin" = 150, "mutagen" = 150, "chloralhydrate" = 150) // Plant-B-Gone /obj/item/weapon/reagent_containers/spray/plantbgone // -- Skie @@ -214,8 +198,4 @@ icon_state = "plantbgone" item_state = "plantbgone" volume = 100 - - -/obj/item/weapon/reagent_containers/spray/plantbgone/New() - ..() - reagents.add_reagent("plantbgone", 100) + list_reagents = list("plantbgone" = 30) \ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index 55809262260..8aee1c0a99e 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -1,6 +1,3 @@ -//////////////////////////////////////////////////////////////////////////////// -/// Syringes. -//////////////////////////////////////////////////////////////////////////////// #define SYRINGE_DRAW 0 #define SYRINGE_INJECT 1 @@ -18,6 +15,12 @@ g_amt = 20 m_amt = 10 +/obj/item/weapon/reagent_containers/syringe/New() + ..() + if(list_reagents) //syringe starts in inject mode if its already got something inside + mode = SYRINGE_INJECT + update_icon() + /obj/item/weapon/reagent_containers/syringe/on_reagent_change() update_icon() @@ -220,6 +223,20 @@ filling.color = mix_color_from_reagents(reagents.reagent_list) overlays += filling +/obj/item/weapon/reagent_containers/syringe/epinephrine + name = "syringe (epinephrine)" + desc = "Contains epinephrine - used to stabilize patients." + list_reagents = list("epinephrine" = 15) + +/obj/item/weapon/reagent_containers/syringe/charcoal + name = "syringe (charcoal)" + desc = "Contains charcoal." + list_reagents = list("charcoal" = 15) + +/obj/item/weapon/reagent_containers/syringe/antiviral + name = "syringe (spaceacillin)" + desc = "Contains antiviral agents." + list_reagents = list("spaceacillin" = 15) /obj/item/weapon/reagent_containers/syringe/lethal name = "lethal injection syringe" @@ -227,73 +244,5 @@ amount_per_transfer_from_this = 50 volume = 50 -//////////////////////////////////////////////////////////////////////////////// -/// Syringes. END -//////////////////////////////////////////////////////////////////////////////// - - - -/obj/item/weapon/reagent_containers/syringe/epinephrine - name = "syringe (epinephrine)" - desc = "Contains epinephrine - used to stabilize patients." - New() - ..() - reagents.add_reagent("epinephrine", 15) - mode = SYRINGE_INJECT - update_icon() - -/obj/item/weapon/reagent_containers/syringe/charcoal - name = "syringe (charcoal)" - desc = "Contains charcoal." - New() - ..() - reagents.add_reagent("charcoal", 15) - mode = SYRINGE_INJECT - update_icon() - -/obj/item/weapon/reagent_containers/syringe/antiviral - name = "syringe (spaceacillin)" - desc = "Contains antiviral agents." - New() - ..() - reagents.add_reagent("spaceacillin", 15) - mode = SYRINGE_INJECT - update_icon() - /obj/item/weapon/reagent_containers/syringe/lethal/choral - New() - ..() - reagents.add_reagent("chloralhydrate", 50) - mode = SYRINGE_INJECT - update_icon() - - -//Robot syringes -//Not special in any way, code wise. They don't have added variables or procs. -/obj/item/weapon/reagent_containers/syringe/robot/charcoal - name = "syringe (charcoal)" - desc = "Contains charcoal." - New() - ..() - reagents.add_reagent("charcoal", 15) - mode = SYRINGE_INJECT - update_icon() - -/obj/item/weapon/reagent_containers/syringe/robot/epinephrine - name = "syringe (epinephrine)" - desc = "Contains epinephrine - used to stabilize patients." - New() - ..() - reagents.add_reagent("epinephrine", 15) - mode = SYRINGE_INJECT - update_icon() - -/obj/item/weapon/reagent_containers/syringe/robot/mixed - name = "syringe (mixed)" - desc = "Contains epinephrine & charcoal solution." - New() - ..() - reagents.add_reagent("epinephrine", 7) - reagents.add_reagent("charcoal", 8) - mode = SYRINGE_INJECT - update_icon() + list_reagents = list("chloralhydrate" = 50) diff --git a/tgstation.dme b/tgstation.dme index e0d96f0935e..0d147d3ca6a 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -1294,6 +1294,7 @@ #include "code\modules\reagents\Chemistry-Reagents\Consumable-Reagents\Drink-Reagents\Alcohols.dm" #include "code\modules\reagents\Chemistry-Reagents\Consumable-Reagents\Drink-Reagents\Drinks.dm" #include "code\modules\reagents\reagent_containers\borghydro.dm" +#include "code\modules\reagents\reagent_containers\bottle.dm" #include "code\modules\reagents\reagent_containers\dropper.dm" #include "code\modules\reagents\reagent_containers\glass.dm" #include "code\modules\reagents\reagent_containers\hypospray.dm" @@ -1301,7 +1302,6 @@ #include "code\modules\reagents\reagent_containers\pill.dm" #include "code\modules\reagents\reagent_containers\spray.dm" #include "code\modules\reagents\reagent_containers\syringes.dm" -#include "code\modules\reagents\reagent_containers\glass\bottle.dm" #include "code\modules\recycling\conveyor2.dm" #include "code\modules\recycling\disposal-construction.dm" #include "code\modules\recycling\disposal.dm"