diff --git a/code/modules/hydroponics/hydro_tools.dm b/code/modules/hydroponics/hydro_tools.dm
index 957ef5173f..2d9261d97d 100644
--- a/code/modules/hydroponics/hydro_tools.dm
+++ b/code/modules/hydroponics/hydro_tools.dm
@@ -269,8 +269,8 @@
name = "fertilizer bottle"
desc = "A small glass bottle. Can hold up to 10 units."
icon = 'icons/obj/chemical.dmi'
- icon_state = "bottle16"
- flags = OPENCONTAINER
+ icon_state = "bottle-4"
+ flags = 0
possible_transfer_amounts = null
w_class = 2.0
@@ -288,20 +288,21 @@
if(fertilizer)
reagents.add_reagent(fertilizer,10)
+ update_icon()
/obj/item/weapon/reagent_containers/glass/fertilizer/ez
name = "bottle of E-Z-Nutrient"
- icon_state = "bottle16"
+ icon_state = "bottle-4"
fertilizer = "eznutrient"
/obj/item/weapon/reagent_containers/glass/fertilizer/l4z
name = "bottle of Left 4 Zed"
- icon_state = "bottle18"
+ icon_state = "bottle-4"
fertilizer = "left4zed"
/obj/item/weapon/reagent_containers/glass/fertilizer/rh
name = "bottle of Robust Harvest"
- icon_state = "bottle15"
+ icon_state = "bottle-4"
fertilizer = "robustharvest"
//Hatchets and things to kill kudzu
diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm
index b2ac133cc5..18656ae3f8 100644
--- a/code/modules/reagents/Chemistry-Machinery.dm
+++ b/code/modules/reagents/Chemistry-Machinery.dm
@@ -4,6 +4,8 @@
#define CHEM_DISPENSER_ENERGY_COST 0.1 //How many energy points do we use per unit of chemical?
+#define BOTTLE_SPRITES list("bottle-1", "bottle-2", "bottle-3", "bottle-4") //list of available bottle sprites
+
/obj/machinery/chem_dispenser
name = "chem dispenser"
density = 1
@@ -262,7 +264,7 @@
var/condi = 0
var/useramount = 30 // Last used amount
var/pillamount = 10
- var/bottlesprite = "1" //yes, strings
+ var/bottlesprite = "bottle-1" //yes, strings
var/pillsprite = "1"
var/client/has_sprites = list()
var/max_pill_count = 20
@@ -442,7 +444,7 @@
P.name = "[name] bottle"
P.pixel_x = rand(-7, 7) //random position
P.pixel_y = rand(-7, 7)
- P.icon_state = "bottle-"+bottlesprite
+ P.icon_state = bottlesprite
reagents.trans_to(P,60)
P.update_icon()
else
@@ -457,10 +459,9 @@
usr << browse(dat, "window=chem_master")
return
else if(href_list["change_bottle"])
- #define MAX_BOTTLE_SPRITE 4 //max icon state of the bottle sprites
var/dat = "
"
- for(var/i = 1 to MAX_BOTTLE_SPRITE)
- dat += " |
"
+ for(var/sprite in BOTTLE_SPRITES)
+ dat += " |
"
dat += "
"
usr << browse(dat, "window=chem_master")
return
@@ -484,8 +485,8 @@
has_sprites += user.client
for(var/i = 1 to MAX_PILL_SPRITE)
usr << browse_rsc(icon('icons/obj/chemical.dmi', "pill" + num2text(i)), "pill[i].png")
- for(var/i = 1 to MAX_BOTTLE_SPRITE)
- usr << browse_rsc(icon('icons/obj/chemical.dmi', "bottle-" + num2text(i)), "bottle-[i].png")
+ for(var/sprite in BOTTLE_SPRITES)
+ usr << browse_rsc(icon('icons/obj/chemical.dmi', sprite), "[sprite].png")
var/dat = ""
if(!beaker)
dat = "Please insert beaker.
"
@@ -529,7 +530,7 @@
if(!condi)
dat += "
Create pill (60 units max)
"
dat += "Create multiple pills
"
- dat += "Create bottle (60 units max)
"
+ dat += "Create bottle (60 units max)
"
else
dat += "Create bottle (50 units max)"
if(!condi)
@@ -635,7 +636,7 @@
else if (href_list["create_virus_culture"])
if(!wait)
var/obj/item/weapon/reagent_containers/glass/bottle/B = new/obj/item/weapon/reagent_containers/glass/bottle(src.loc)
- B.icon_state = "bottle3"
+ B.icon_state = "bottle-1"
var/type = text2path(href_list["create_virus_culture"])//the path is received as string - converting
var/datum/disease/D = null
if(!type)
@@ -651,6 +652,7 @@
B.name = "[name] culture bottle"
B.desc = "A small bottle. Contains [D.agent] culture in synthblood medium."
B.reagents.add_reagent("blood",20,data)
+ B.update_icon()
src.updateUsrDialog()
wait = 1
spawn(1000)
diff --git a/code/modules/reagents/reagent_containers/glass/bottle.dm b/code/modules/reagents/reagent_containers/glass/bottle.dm
index ea32b15276..ab01d11eaf 100644
--- a/code/modules/reagents/reagent_containers/glass/bottle.dm
+++ b/code/modules/reagents/reagent_containers/glass/bottle.dm
@@ -9,7 +9,7 @@
item_state = "atoxinbottle"
amount_per_transfer_from_this = 10
possible_transfer_amounts = list(5,10,15,25,30,60)
- flags = OPENCONTAINER
+ flags = 0
volume = 60
on_reagent_change()
@@ -30,7 +30,7 @@
New()
..()
if(!icon_state)
- icon_state = "bottle-[rand(1.4)]"
+ icon_state = "bottle-[rand(1,4)]"
update_icon()
overlays.Cut()
@@ -59,186 +59,203 @@
name = "inaprovaline bottle"
desc = "A small bottle. Contains inaprovaline - used to stabilize patients."
icon = 'icons/obj/chemical.dmi'
- icon_state = "bottle16"
+ icon_state = "bottle-4"
New()
..()
reagents.add_reagent("inaprovaline", 60)
+ update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/toxin
name = "toxin bottle"
desc = "A small bottle of toxins. Do not drink, it is poisonous."
icon = 'icons/obj/chemical.dmi'
- icon_state = "bottle12"
+ icon_state = "bottle-3"
New()
..()
reagents.add_reagent("toxin", 60)
+ update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/cyanide
name = "cyanide bottle"
desc = "A small bottle of cyanide. Bitter almonds?"
icon = 'icons/obj/chemical.dmi'
- icon_state = "bottle12"
+ icon_state = "bottle-3"
New()
..()
- reagents.add_reagent("cyanide", 60)
+ reagents.add_reagent("cyanide", 30) //volume changed to match chloral
+ update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/stoxin
name = "soporific bottle"
desc = "A small bottle of soporific. Just the fumes make you sleepy."
icon = 'icons/obj/chemical.dmi'
- icon_state = "bottle20"
+ icon_state = "bottle-3"
New()
..()
reagents.add_reagent("stoxin", 60)
+ update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/chloralhydrate
name = "Chloral Hydrate Bottle"
desc = "A small bottle of Choral Hydrate. Mickey's Favorite!"
icon = 'icons/obj/chemical.dmi'
- icon_state = "bottle20"
+ icon_state = "bottle-3"
New()
..()
reagents.add_reagent("chloralhydrate", 30) //Intentionally low since it is so strong. Still enough to knock someone out.
+ update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/antitoxin
name = "dylovene bottle"
desc = "A small bottle of dylovene. Counters poisons, and repairs damage. A wonder drug."
icon = 'icons/obj/chemical.dmi'
- icon_state = "bottle17"
+ icon_state = "bottle-4"
New()
..()
reagents.add_reagent("anti_toxin", 60)
+ update_icon()
/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 = 'icons/obj/chemical.dmi'
- icon_state = "bottle20"
+ icon_state = "bottle-1"
New()
..()
reagents.add_reagent("mutagen", 60)
+ update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/ammonia
name = "ammonia bottle"
desc = "A small bottle."
icon = 'icons/obj/chemical.dmi'
- icon_state = "bottle20"
+ icon_state = "bottle-1"
New()
..()
reagents.add_reagent("ammonia", 60)
+ update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/diethylamine
name = "diethylamine bottle"
desc = "A small bottle."
icon = 'icons/obj/chemical.dmi'
- icon_state = "bottle17"
+ icon_state = "bottle-4"
New()
..()
reagents.add_reagent("diethylamine", 60)
+ update_icon()
/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 = 'icons/obj/chemical.dmi'
- icon_state = "bottle3"
+ icon_state = "bottle-4"
New()
..()
var/datum/disease/F = new /datum/disease/advance/flu(0)
var/list/data = list("viruses"= list(F))
reagents.add_reagent("blood", 20, data)
+ update_icon()
/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 = 'icons/obj/chemical.dmi'
- icon_state = "bottle3"
+ icon_state = "bottle-4"
New()
..()
var/datum/disease/F = new /datum/disease/advance/voice_change(0)
var/list/data = list("viruses"= list(F))
reagents.add_reagent("blood", 20, data)
+ update_icon()
/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 = 'icons/obj/chemical.dmi'
- icon_state = "bottle3"
+ icon_state = "bottle-4"
New()
..()
var/datum/disease/F = new /datum/disease/advance/heal(0)
var/list/data = list("viruses"= list(F))
reagents.add_reagent("blood", 20, data)
+ update_icon()
/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 = 'icons/obj/chemical.dmi'
- icon_state = "bottle3"
+ icon_state = "bottle-4"
New()
..()
var/datum/disease/F = new /datum/disease/advance/hullucigen(0)
var/list/data = list("viruses"= list(F))
reagents.add_reagent("blood", 20, data)
+ update_icon()
/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 = 'icons/obj/chemical.dmi'
- icon_state = "bottle3"
+ icon_state = "bottle-4"
New()
..()
var/datum/disease/F = new /datum/disease/pierrot_throat(0)
var/list/data = list("viruses"= list(F))
reagents.add_reagent("blood", 20, data)
+ update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/cold
name = "Rhinovirus culture bottle"
desc = "A small bottle. Contains XY-rhinovirus culture in synthblood medium."
icon = 'icons/obj/chemical.dmi'
- icon_state = "bottle3"
+ icon_state = "bottle-4"
New()
..()
var/datum/disease/advance/F = new /datum/disease/advance/cold(0)
var/list/data = list("viruses"= list(F))
reagents.add_reagent("blood", 20, data)
+ update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/random
name = "Random culture bottle"
desc = "A small bottle. Contains a random disease."
icon = 'icons/obj/chemical.dmi'
- icon_state = "bottle3"
+ icon_state = "bottle-4"
New()
..()
var/datum/disease/advance/F = new(0)
var/list/data = list("viruses"= list(F))
reagents.add_reagent("blood", 20, data)
+ update_icon()
/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 = 'icons/obj/chemical.dmi'
- icon_state = "bottle3"
+ icon_state = "bottle-4"
New()
..()
var/datum/disease/F = new /datum/disease/dna_retrovirus(0)
var/list/data = list("viruses"= list(F))
reagents.add_reagent("blood", 20, data)
+ update_icon()
/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 = 'icons/obj/chemical.dmi'
- icon_state = "bottle3"
+ icon_state = "bottle-4"
amount_per_transfer_from_this = 5
New()
@@ -248,23 +265,25 @@
var/datum/disease/F = new /datum/disease/gbs
var/list/data = list("virus"= F)
R.add_reagent("blood", 20, data)
+ update_icon()
/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 = 'icons/obj/chemical.dmi'
- icon_state = "bottle3"
+ icon_state = "bottle-4"
New()
..()
var/datum/disease/F = new /datum/disease/fake_gbs(0)
var/list/data = list("viruses"= list(F))
reagents.add_reagent("blood", 20, data)
+ update_icon()
/*
/obj/item/weapon/reagent_containers/glass/bottle/rhumba_beat
name = "Rhumba Beat culture bottle"
desc = "A small bottle. Contains The Rhumba Beat culture in synthblood medium."//Or simply - General BullShit
icon = 'icons/obj/chemical.dmi'
- icon_state = "bottle3"
+ icon_state = "bottle-4"
amount_per_transfer_from_this = 5
New()
@@ -280,44 +299,48 @@
name = "Brainrot culture bottle"
desc = "A small bottle. Contains Cryptococcus Cosmosis culture in synthblood medium."
icon = 'icons/obj/chemical.dmi'
- icon_state = "bottle3"
+ icon_state = "bottle-4"
New()
..()
var/datum/disease/F = new /datum/disease/brainrot(0)
var/list/data = list("viruses"= list(F))
reagents.add_reagent("blood", 20, data)
+ update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/magnitis
name = "Magnitis culture bottle"
desc = "A small bottle. Contains a small dosage of Fukkos Miracos."
icon = 'icons/obj/chemical.dmi'
- icon_state = "bottle3"
+ icon_state = "bottle-4"
New()
..()
var/datum/disease/F = new /datum/disease/magnitis(0)
var/list/data = list("viruses"= list(F))
reagents.add_reagent("blood", 20, data)
+ update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/wizarditis
name = "Wizarditis culture bottle"
desc = "A small bottle. Contains a sample of Rincewindus Vulgaris."
icon = 'icons/obj/chemical.dmi'
- icon_state = "bottle3"
+ icon_state = "bottle-4"
New()
..()
var/datum/disease/F = new /datum/disease/wizarditis(0)
var/list/data = list("viruses"= list(F))
reagents.add_reagent("blood", 20, data)
+ update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/pacid
name = "Polytrinic Acid Bottle"
desc = "A small bottle. Contains a small amount of Polytrinic Acid"
icon = 'icons/obj/chemical.dmi'
- icon_state = "bottle17"
+ icon_state = "bottle-4"
New()
..()
reagents.add_reagent("pacid", 60)
+ update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/adminordrazine
name = "Adminordrazine Bottle"
@@ -327,21 +350,24 @@
New()
..()
reagents.add_reagent("adminordrazine", 60)
+ update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/capsaicin
name = "Capsaicin Bottle"
desc = "A small bottle. Contains hot sauce."
icon = 'icons/obj/chemical.dmi'
- icon_state = "bottle3"
+ icon_state = "bottle-4"
New()
..()
reagents.add_reagent("capsaicin", 60)
+ update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/frostoil
name = "Frost Oil Bottle"
desc = "A small bottle. Contains cold sauce."
icon = 'icons/obj/chemical.dmi'
- icon_state = "bottle17"
+ icon_state = "bottle-4"
New()
..()
- reagents.add_reagent("frostoil", 60)
\ No newline at end of file
+ reagents.add_reagent("frostoil", 60)
+ update_icon()
diff --git a/code/modules/reagents/reagent_containers/glass/bottle/robot.dm b/code/modules/reagents/reagent_containers/glass/bottle/robot.dm
index 7c8bf02a5b..3a95b3cd1c 100644
--- a/code/modules/reagents/reagent_containers/glass/bottle/robot.dm
+++ b/code/modules/reagents/reagent_containers/glass/bottle/robot.dm
@@ -11,23 +11,24 @@
name = "internal inaprovaline bottle"
desc = "A small bottle. Contains inaprovaline - used to stabilize patients."
icon = 'icons/obj/chemical.dmi'
- icon_state = "bottle16"
+ icon_state = "bottle-4"
reagent = "inaprovaline"
New()
..()
reagents.add_reagent("inaprovaline", 60)
- return
+ update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/robot/antitoxin
name = "internal anti-toxin bottle"
desc = "A small bottle of Anti-toxins. Counters poisons, and repairs damage, a wonder drug."
icon = 'icons/obj/chemical.dmi'
- icon_state = "bottle17"
+ icon_state = "bottle-4"
reagent = "anti_toxin"
New()
..()
reagents.add_reagent("anti_toxin", 60)
- return
\ No newline at end of file
+ update_icon()
+