diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm index aa8553fb03..be5b670839 100644 --- a/code/modules/reagents/Chemistry-Machinery.dm +++ b/code/modules/reagents/Chemistry-Machinery.dm @@ -128,8 +128,8 @@ amount = round(text2num(href_list["amount"]), 5) // round to nearest 5 if (amount < 0) // Since the user can actually type the commands himself, some sanity checking amount = 0 - if (amount > 100) - amount = 100 + if (amount > 120) + amount = 120 if(href_list["dispense"]) if (dispensable_reagents.Find(href_list["dispense"]) && beaker != null) @@ -250,7 +250,7 @@ /obj/machinery/chem_master/New() ..() - var/datum/reagents/R = new/datum/reagents(100) + var/datum/reagents/R = new/datum/reagents(120) reagents = R R.my_atom = src @@ -396,7 +396,7 @@ return var/amount_per_pill = reagents.total_volume/count - if (amount_per_pill > 50) amount_per_pill = 50 + if (amount_per_pill > 60) amount_per_pill = 60 var/name = reject_bad_text(input(usr,"Name:","Name your pill!","[reagents.get_master_reagent_name()] ([amount_per_pill] units)")) @@ -423,8 +423,9 @@ P.name = "[name] bottle" P.pixel_x = rand(-7, 7) //random position P.pixel_y = rand(-7, 7) - P.icon_state = "bottle"+bottlesprite - reagents.trans_to(P,30) + P.icon_state = "bottle-"+bottlesprite + reagents.trans_to(P,60) + P.update_icon() else var/obj/item/weapon/reagent_containers/food/condiment/P = new/obj/item/weapon/reagent_containers/food/condiment(src.loc) reagents.trans_to(P,50) @@ -437,10 +438,10 @@ usr << browse(dat, "window=chem_master") return else if(href_list["change_bottle"]) - #define MAX_BOTTLE_SPRITE 20 //max icon state of the bottle sprites + #define MAX_BOTTLE_SPRITE 4 //max icon state of the bottle sprites var/dat = "" for(var/i = 1 to MAX_BOTTLE_SPRITE) - dat += "" + dat += "" dat += "
" usr << browse(dat, "window=chem_master") return @@ -468,7 +469,7 @@ 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") + usr << browse_rsc(icon('icons/obj/chemical.dmi', "bottle-" + num2text(i)), "bottle-[i].png") var/dat = "" if(!beaker) dat = "Please insert beaker.
" @@ -510,9 +511,9 @@ else dat += "Empty
" if(!condi) - dat += "

Create pill (50 units max)
" + dat += "

Create pill (60 units max)
" dat += "Create multiple pills
" - dat += "Create bottle (30 units max)" + dat += "Create bottle (60 units max)" else dat += "Create bottle (50 units max)" if(!condi) diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm index d1f77e7ad8..44745a32fe 100644 --- a/code/modules/reagents/reagent_containers/glass.dm +++ b/code/modules/reagents/reagent_containers/glass.dm @@ -10,8 +10,8 @@ icon_state = "null" item_state = "null" amount_per_transfer_from_this = 10 - possible_transfer_amounts = list(5,10,15,25,30,50) - volume = 50 + possible_transfer_amounts = list(5,10,15,25,30,60) + volume = 60 flags = FPRINT | TABLEPASS | OPENCONTAINER var/label_text = "" @@ -206,9 +206,9 @@ desc = "A large beaker. Can hold up to 100 units." icon_state = "beakerlarge" matter = list("glass" = 5000) - volume = 100 + volume = 120 amount_per_transfer_from_this = 10 - possible_transfer_amounts = list(5,10,15,25,30,50,100) + possible_transfer_amounts = list(5,10,15,25,30,60,120) flags = FPRINT | TABLEPASS | OPENCONTAINER /obj/item/weapon/reagent_containers/glass/beaker/noreact @@ -216,7 +216,7 @@ desc = "A cryostasis beaker that allows for chemical storage without reactions. Can hold up to 50 units." icon_state = "beakernoreact" matter = list("glass" = 500) - volume = 50 + volume = 60 amount_per_transfer_from_this = 10 flags = FPRINT | TABLEPASS | OPENCONTAINER | NOREACT @@ -227,7 +227,7 @@ matter = list("glass" = 5000) volume = 300 amount_per_transfer_from_this = 10 - possible_transfer_amounts = list(5,10,15,25,30,50,100,300) + possible_transfer_amounts = list(5,10,15,25,30,60,120,300) flags = FPRINT | TABLEPASS | OPENCONTAINER @@ -236,7 +236,7 @@ desc = "A small glass vial. Can hold up to 25 units." icon_state = "vial" matter = list("glass" = 250) - volume = 25 + volume = 30 amount_per_transfer_from_this = 10 possible_transfer_amounts = list(5,10,15,25) flags = FPRINT | TABLEPASS | OPENCONTAINER @@ -250,13 +250,13 @@ /obj/item/weapon/reagent_containers/glass/beaker/sulphuric New() ..() - reagents.add_reagent("sacid", 50) + reagents.add_reagent("sacid", 60) update_icon() /obj/item/weapon/reagent_containers/glass/beaker/slime New() ..() - reagents.add_reagent("slimejelly", 50) + reagents.add_reagent("slimejelly", 60) update_icon() /obj/item/weapon/reagent_containers/glass/bucket @@ -268,8 +268,8 @@ matter = list("metal" = 200) w_class = 3.0 amount_per_transfer_from_this = 20 - possible_transfer_amounts = list(10,20,30,50,70) - volume = 70 + possible_transfer_amounts = list(10,20,30,60,120) + volume = 120 flags = FPRINT | OPENCONTAINER attackby(var/obj/D, mob/user as mob) diff --git a/code/modules/reagents/reagent_containers/glass/bottle.dm b/code/modules/reagents/reagent_containers/glass/bottle.dm index ae78984385..846eb3bfa7 100644 --- a/code/modules/reagents/reagent_containers/glass/bottle.dm +++ b/code/modules/reagents/reagent_containers/glass/bottle.dm @@ -8,18 +8,49 @@ icon_state = null item_state = "atoxinbottle" amount_per_transfer_from_this = 10 - possible_transfer_amounts = list(5,10,15,25,30) + possible_transfer_amounts = list(5,10,15,25,30,60) flags = FPRINT | TABLEPASS | OPENCONTAINER - volume = 30 + volume = 60 + + on_reagent_change() + update_icon() + + pickup(mob/user) + ..() + update_icon() + + dropped(mob/user) + ..() + update_icon() + + attack_hand() + ..() + update_icon() New() ..() if(!icon_state) - icon_state = "bottle[rand(1,20)]" + icon_state = "bottle-[rand(1.4)]" update_icon() overlays.Cut() + if(reagents.total_volume && (icon_state == "bottle-1" || icon_state == "bottle-2" || icon_state == "bottle-3" || icon_state == "bottle-4")) + var/image/filling = image('icons/obj/reagentfillings.dmi', src, "[icon_state]10") + + var/percent = round((reagents.total_volume / volume) * 100) + switch(percent) + if(0 to 9) filling.icon_state = "[icon_state]--10" + if(10 to 24) filling.icon_state = "[icon_state]-10" + if(25 to 49) filling.icon_state = "[icon_state]-25" + if(50 to 74) filling.icon_state = "[icon_state]-50" + if(75 to 79) filling.icon_state = "[icon_state]-75" + if(80 to 90) filling.icon_state = "[icon_state]-80" + if(91 to INFINITY) filling.icon_state = "[icon_state]-100" + + filling.icon += mix_color_from_reagents(reagents.reagent_list) + overlays += filling + if (!is_open_container()) var/image/lid = image(icon, src, "lid_bottle") overlays += lid @@ -32,7 +63,7 @@ New() ..() - reagents.add_reagent("inaprovaline", 30) + reagents.add_reagent("inaprovaline", 60) /obj/item/weapon/reagent_containers/glass/bottle/toxin name = "toxin bottle" @@ -42,7 +73,7 @@ New() ..() - reagents.add_reagent("toxin", 30) + reagents.add_reagent("toxin", 60) /obj/item/weapon/reagent_containers/glass/bottle/cyanide name = "cyanide bottle" @@ -52,7 +83,7 @@ New() ..() - reagents.add_reagent("cyanide", 30) + reagents.add_reagent("cyanide", 60) /obj/item/weapon/reagent_containers/glass/bottle/stoxin name = "soporific bottle" @@ -62,7 +93,7 @@ New() ..() - reagents.add_reagent("stoxin", 30) + reagents.add_reagent("stoxin", 60) /obj/item/weapon/reagent_containers/glass/bottle/chloralhydrate name = "Chloral Hydrate Bottle" @@ -72,7 +103,7 @@ New() ..() - reagents.add_reagent("chloralhydrate", 15) //Intentionally low since it is so strong. Still enough to knock someone out. + reagents.add_reagent("chloralhydrate", 30) //Intentionally low since it is so strong. Still enough to knock someone out. /obj/item/weapon/reagent_containers/glass/bottle/antitoxin name = "dylovene bottle" @@ -82,7 +113,7 @@ New() ..() - reagents.add_reagent("anti_toxin", 30) + reagents.add_reagent("anti_toxin", 60) /obj/item/weapon/reagent_containers/glass/bottle/mutagen name = "unstable mutagen bottle" @@ -92,7 +123,7 @@ New() ..() - reagents.add_reagent("mutagen", 30) + reagents.add_reagent("mutagen", 60) /obj/item/weapon/reagent_containers/glass/bottle/ammonia name = "ammonia bottle" @@ -102,7 +133,7 @@ New() ..() - reagents.add_reagent("ammonia", 30) + reagents.add_reagent("ammonia", 60) /obj/item/weapon/reagent_containers/glass/bottle/diethylamine name = "diethylamine bottle" @@ -112,7 +143,7 @@ New() ..() - reagents.add_reagent("diethylamine", 30) + reagents.add_reagent("diethylamine", 60) /obj/item/weapon/reagent_containers/glass/bottle/flu_virion name = "Flu virion culture bottle" @@ -286,7 +317,7 @@ icon_state = "bottle17" New() ..() - reagents.add_reagent("pacid", 30) + reagents.add_reagent("pacid", 60) /obj/item/weapon/reagent_containers/glass/bottle/adminordrazine name = "Adminordrazine Bottle" @@ -295,7 +326,7 @@ icon_state = "holyflask" New() ..() - reagents.add_reagent("adminordrazine", 30) + reagents.add_reagent("adminordrazine", 60) /obj/item/weapon/reagent_containers/glass/bottle/capsaicin name = "Capsaicin Bottle" @@ -304,7 +335,7 @@ icon_state = "bottle3" New() ..() - reagents.add_reagent("capsaicin", 30) + reagents.add_reagent("capsaicin", 60) /obj/item/weapon/reagent_containers/glass/bottle/frostoil name = "Frost Oil Bottle" @@ -313,4 +344,4 @@ icon_state = "bottle17" New() ..() - reagents.add_reagent("frostoil", 30) \ No newline at end of file + reagents.add_reagent("frostoil", 60) \ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm index 2ada558367..34ce53a2b6 100644 --- a/code/modules/reagents/reagent_containers/pill.dm +++ b/code/modules/reagents/reagent_containers/pill.dm @@ -9,7 +9,7 @@ item_state = "pill" possible_transfer_amounts = null w_class = 1 - volume = 50 + volume = 60 New() ..() diff --git a/icons/obj/chemical.dmi b/icons/obj/chemical.dmi index fb6e7f8a92..5fe976397d 100644 Binary files a/icons/obj/chemical.dmi and b/icons/obj/chemical.dmi differ diff --git a/icons/obj/reagentfillings.dmi b/icons/obj/reagentfillings.dmi index f236fbc2c0..3e64c9e45a 100644 Binary files a/icons/obj/reagentfillings.dmi and b/icons/obj/reagentfillings.dmi differ