diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers.dm index b31b5c600d..3bb6b50938 100644 --- a/code/modules/reagents/reagent_containers.dm +++ b/code/modules/reagents/reagent_containers.dm @@ -9,6 +9,7 @@ w_class = WEIGHT_CLASS_TINY var/amount_per_transfer_from_this = 5 var/list/possible_transfer_amounts = list(5,10,15,20,25,30) + var/APTFT_altclick = TRUE //will the set amount_per_transfer_from_this proc be called on AltClick() ? var/volume = 30 var/reagent_flags var/list/list_reagents = null @@ -19,20 +20,12 @@ 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 + if(length(possible_transfer_amounts)) + verbs += /obj/item/reagent_containers/proc/set_APTFT create_reagents(volume, reagent_flags) if(spawned_disease) var/datum/disease/F = new spawned_disease() @@ -48,8 +41,18 @@ /obj/item/reagent_containers/AltClick(mob/user) . = ..() - if(possible_transfer_amounts && user.Adjacent(src)) + if(APTFT_altclick && length(possible_transfer_amounts) > 1 && user.canUseTopic(src, BE_CLOSE, NO_DEXTERY)) set_APTFT() + return TRUE + +/obj/item/reagent_containers/proc/set_APTFT(mob/user) //set amount_per_transfer_from_this + set name = "Set Transfer Amount" + set category = "Object" + set waitfor = FALSE + 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/proc/add_initial_reagents() if(list_reagents) diff --git a/code/modules/reagents/reagent_containers/hypovial.dm b/code/modules/reagents/reagent_containers/hypovial.dm index 1f83e895bb..9dd51c43ae 100644 --- a/code/modules/reagents/reagent_containers/hypovial.dm +++ b/code/modules/reagents/reagent_containers/hypovial.dm @@ -8,6 +8,7 @@ var/comes_with = list() //Easy way of doing this. volume = 10 possible_transfer_amounts = list(1,2,5,10) + APTFT_altclick = FALSE obj_flags = UNIQUE_RENAME unique_reskin = list("hypovial" = "hypovial", "red hypovial" = "hypovial-b", diff --git a/code/modules/reagents/reagent_containers/rags.dm b/code/modules/reagents/reagent_containers/rags.dm index d09b18f244..683a26d2cb 100644 --- a/code/modules/reagents/reagent_containers/rags.dm +++ b/code/modules/reagents/reagent_containers/rags.dm @@ -8,6 +8,7 @@ reagent_flags = REFILLABLE | DRAINABLE amount_per_transfer_from_this = 5 possible_transfer_amounts = list() + APTFT_altclick = FALSE volume = 5 spillable = FALSE var/wipe_sound diff --git a/code/modules/reagents/reagent_containers/sleeper_buffer.dm b/code/modules/reagents/reagent_containers/sleeper_buffer.dm index 044dab2924..d353174c06 100644 --- a/code/modules/reagents/reagent_containers/sleeper_buffer.dm +++ b/code/modules/reagents/reagent_containers/sleeper_buffer.dm @@ -8,4 +8,4 @@ spillable = TRUE resistance_flags = ACID_PROOF amount_per_transfer_from_this = 0 - possible_transfer_amounts = list(0) + possible_transfer_amounts = list()