diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers.dm index 618b74fffb..b31b5c600d 100644 --- a/code/modules/reagents/reagent_containers.dm +++ b/code/modules/reagents/reagent_containers.dm @@ -19,18 +19,38 @@ var/container_HP = 2 var/cached_icon +/obj/item/reagent_containers/verb/set_APTFT(mob/user) //set amount_per_transfer_from_this + set name = "Set Transfer Amount" + set category = "Object" + var/N = input("Amount per transfer from this:","[src]") as null|anything in possible_transfer_amounts + if(N) + amount_per_transfer_from_this = N + to_chat(user, "[src]'s transfer amount is now [amount_per_transfer_from_this] units.") + /obj/item/reagent_containers/Initialize(mapload, vol) . = ..() if(isnum(vol) && vol > 0) volume = vol + if(!possible_transfer_amounts) + src.verbs -= /obj/item/reagent_containers/verb/set_APTFT create_reagents(volume, reagent_flags) if(spawned_disease) var/datum/disease/F = new spawned_disease() var/list/data = list("blood_DNA" = "UNKNOWN DNA", "blood_type" = "SY","viruses"= list(F)) reagents.add_reagent("blood", disease_amount, data) - add_initial_reagents() +/obj/item/reagent_containers/examine(mob/user) + . = ..() + . += "Currently transferring [amount_per_transfer_from_this] units per use." + if(possible_transfer_amounts && user.Adjacent(src)) + . += "Alt-click it to set its transfer amount." + +/obj/item/reagent_containers/AltClick(mob/user) + . = ..() + if(possible_transfer_amounts && user.Adjacent(src)) + set_APTFT() + /obj/item/reagent_containers/proc/add_initial_reagents() if(list_reagents) reagents.add_reagent_list(list_reagents) diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm index 85248250a2..1b213fed0f 100644 --- a/code/modules/reagents/reagent_containers/glass.dm +++ b/code/modules/reagents/reagent_containers/glass.dm @@ -115,7 +115,7 @@ icon_state = "beaker" item_state = "beaker" materials = list(MAT_GLASS=500) - possible_transfer_amounts = list(5,10,15,20,25,30,60) + possible_transfer_amounts = list(5,10,15,20,25,30,50,60) beaker_weakness_bitflag = PH_WEAK /obj/item/reagent_containers/glass/beaker/Initialize() @@ -169,7 +169,7 @@ materials = list(MAT_GLASS=2500) volume = 120 amount_per_transfer_from_this = 10 - possible_transfer_amounts = list(5,10,15,20,25,30,40,60,120) + possible_transfer_amounts = list(5,10,15,20,25,30,40,50,60,120) container_HP = 3 /obj/item/reagent_containers/glass/beaker/plastic @@ -179,7 +179,7 @@ materials = list(MAT_GLASS=2500, MAT_PLASTIC=3000) volume = 180 amount_per_transfer_from_this = 10 - possible_transfer_amounts = list(5,10,15,20,25,30,40,60,120,180) + possible_transfer_amounts = list(5,10,15,20,25,30,40,50,60,120,180) /obj/item/reagent_containers/glass/beaker/plastic/Initialize() beaker_weakness_bitflag &= ~PH_WEAK @@ -198,7 +198,7 @@ materials = list(MAT_GLASS=2500, MAT_PLASTIC=3000, MAT_GOLD=1000, MAT_TITANIUM=1000) volume = 240 amount_per_transfer_from_this = 10 - possible_transfer_amounts = list(5,10,15,20,25,30,40,60,120,200,240) + possible_transfer_amounts = list(5,10,15,20,25,30,40,50,60,120,200,240) /obj/item/reagent_containers/glass/beaker/meta/Initialize() // why the fuck can't you just set the beaker weakness bitflags to nothing? fuck you beaker_weakness_bitflag &= ~PH_WEAK @@ -341,6 +341,7 @@ materials = list(MAT_GLASS=0) volume = 50 amount_per_transfer_from_this = 10 + possible_transfer_amounts = list(5,10,15,20,25,30,50) container_HP = 1 /obj/item/reagent_containers/glass/beaker/waterbottle/Initialize() @@ -357,6 +358,7 @@ list_reagents = list("water" = 100) volume = 100 amount_per_transfer_from_this = 20 + possible_transfer_amounts = list(5,10,15,20,25,30,50,100) container_HP = 1 /obj/item/reagent_containers/glass/beaker/waterbottle/large/empty diff --git a/code/modules/reagents/reagent_containers/hypovial.dm b/code/modules/reagents/reagent_containers/hypovial.dm index 482877afcd..1f83e895bb 100644 --- a/code/modules/reagents/reagent_containers/hypovial.dm +++ b/code/modules/reagents/reagent_containers/hypovial.dm @@ -62,11 +62,11 @@ /obj/item/reagent_containers/glass/bottle/vial/small name = "hypovial" volume = 60 - possible_transfer_amounts = list(1,2,5,10,20,30) + possible_transfer_amounts = list(1,2,5,10,20) /obj/item/reagent_containers/glass/bottle/vial/small/bluespace volume = 120 - possible_transfer_amounts = list(1,2,5,10,20,30,40) + possible_transfer_amounts = list(1,2,5,10,20) name = "bluespace hypovial" icon_state = "hypovialbs" unique_reskin = null @@ -76,7 +76,7 @@ desc = "A large hypovial, for deluxe hypospray models." icon_state = "hypoviallarge" volume = 120 - possible_transfer_amounts = list(1,2,5,10,20,30,40,60) + possible_transfer_amounts = list(1,2,5,10,20) unique_reskin = list("large hypovial" = "hypoviallarge", "large red hypovial" = "hypoviallarge-b", "large blue hypovial" = "hypoviallarge-d", @@ -108,7 +108,7 @@ add_overlay(filling) /obj/item/reagent_containers/glass/bottle/vial/large/bluespace - possible_transfer_amounts = list(1,2,5,10,20,30,40,60) + possible_transfer_amounts = list(1,2,5,10,20) name = "bluespace large hypovial" volume = 240 icon_state = "hypoviallargebs"