diff --git a/code/modules/detective_work/footprints_and_rag.dm b/code/modules/detective_work/footprints_and_rag.dm index 07e20fae128..39486444e81 100644 --- a/code/modules/detective_work/footprints_and_rag.dm +++ b/code/modules/detective_work/footprints_and_rag.dm @@ -16,7 +16,7 @@ icon = 'icons/obj/toy.dmi' icon_state = "rag" amount_per_transfer_from_this = 5 - possible_transfer_amounts = list(5) + possible_transfer_amounts = null volume = 5 flags = NOBLUDGEON container_type = OPENCONTAINER diff --git a/code/modules/food_and_drinks/drinks/drinks.dm b/code/modules/food_and_drinks/drinks/drinks.dm index 6949588863a..ae1a1eed9c4 100644 --- a/code/modules/food_and_drinks/drinks/drinks.dm +++ b/code/modules/food_and_drinks/drinks/drinks.dm @@ -9,6 +9,7 @@ container_type = OPENCONTAINER consume_sound = 'sound/items/drink.ogg' possible_transfer_amounts = list(5,10,15,20,25,30,50) + visible_transfer_rate = TRUE volume = 50 resistance_flags = NONE antable = FALSE @@ -125,7 +126,7 @@ throwforce = 1 amount_per_transfer_from_this = 5 materials = list(MAT_METAL=100) - possible_transfer_amounts = list() + possible_transfer_amounts = null volume = 5 flags = CONDUCT container_type = OPENCONTAINER @@ -249,7 +250,7 @@ desc = "A paper water cup." icon_state = "water_cup_e" item_state = "coffee" - possible_transfer_amounts = list() + possible_transfer_amounts = null volume = 10 /obj/item/reagent_containers/food/drinks/sillycup/on_reagent_change() diff --git a/code/modules/food_and_drinks/food.dm b/code/modules/food_and_drinks/food.dm index 52ef84a991e..1bea711c85e 100644 --- a/code/modules/food_and_drinks/food.dm +++ b/code/modules/food_and_drinks/food.dm @@ -3,6 +3,7 @@ //////////////////////////////////////////////////////////////////////////////// /obj/item/reagent_containers/food possible_transfer_amounts = null + visible_transfer_rate = FALSE volume = 50 //Sets the default container amount for all food items. var/filling_color = "#FFFFFF" //Used by sandwiches. var/junkiness = 0 //for junk food. used to lower human satiety. diff --git a/code/modules/food_and_drinks/food/condiment.dm b/code/modules/food_and_drinks/food/condiment.dm index 9d9e81be9af..9a12b5cec92 100644 --- a/code/modules/food_and_drinks/food/condiment.dm +++ b/code/modules/food_and_drinks/food/condiment.dm @@ -12,6 +12,7 @@ icon_state = "emptycondiment" container_type = OPENCONTAINER possible_transfer_amounts = list(1, 5, 10, 15, 20, 25, 30, 50) + visible_transfer_rate = TRUE volume = 50 //Possible_states has the reagent id as key and a list of, in order, the icon_state, the name and the desc as values. Used in the on_reagent_change() to change names, descs and sprites. var/list/possible_states = list( @@ -204,7 +205,7 @@ icon_state = "condi_empty" volume = 10 amount_per_transfer_from_this = 10 - possible_transfer_amounts = list() + possible_transfer_amounts = null possible_states = list("ketchup" = list("condi_ketchup", "Ketchup", "You feel more American already."), "capsaicin" = list("condi_hotsauce", "Hotsauce", "You can almost TASTE the stomach ulcers now!"), "soysauce" = list("condi_soysauce", "Soy Sauce", "A salty soy-based flavoring"), "frostoil" = list("condi_frostoil", "Coldsauce", "Leaves the tongue numb in it's passage"), "sodiumchloride" = list("condi_salt", "Salt Shaker", "Salt. From space oceans, presumably"), "blackpepper" = list("condi_pepper", "Pepper Mill", "Often used to flavor food or make people sneeze"), "cornoil" = list("condi_cornoil", "Corn Oil", "A delicious oil used in cooking. Made from corn"), "sugar" = list("condi_sugar", "Sugar", "Tasty spacey sugar!")) /obj/item/reagent_containers/food/condiment/pack/attack(mob/M, mob/user, def_zone) //Can't feed these to people directly. diff --git a/code/modules/hydroponics/beekeeping/honeycomb.dm b/code/modules/hydroponics/beekeeping/honeycomb.dm index e4bcdb13a33..efa4a62bac3 100644 --- a/code/modules/hydroponics/beekeeping/honeycomb.dm +++ b/code/modules/hydroponics/beekeeping/honeycomb.dm @@ -4,10 +4,11 @@ desc = "A hexagonal mesh of honeycomb." icon = 'icons/obj/hydroponics/harvest.dmi' icon_state = "honeycomb" - possible_transfer_amounts = list() + possible_transfer_amounts = null disease_amount = 0 volume = 10 amount_per_transfer_from_this = 0 + visible_transfer_rate = FALSE list_reagents = list("honey" = 5) var/honey_color = "" diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers.dm index 27f01cdfa22..25c9305231d 100644 --- a/code/modules/reagents/reagent_containers.dm +++ b/code/modules/reagents/reagent_containers.dm @@ -5,6 +5,7 @@ icon_state = null w_class = WEIGHT_CLASS_TINY var/amount_per_transfer_from_this = 5 + var/visible_transfer_rate = TRUE var/possible_transfer_amounts = list(5,10,15,25,30) var/volume = 30 var/list/list_reagents = null @@ -25,7 +26,9 @@ var/default = null if(amount_per_transfer_from_this in possible_transfer_amounts) default = amount_per_transfer_from_this - var/N = input("Amount per transfer from this:", "[src]", default) as null|anything in possible_transfer_amounts + var/new_transfer_rate = input("Amount per transfer from this:", "[src]", default) as null|anything in possible_transfer_amounts + if(!new_transfer_rate) + return if(!usr.Adjacent(src)) to_chat(usr, "You have moved too far away!") @@ -34,8 +37,8 @@ to_chat(usr, "You can't use your hands!") return - if(N) - amount_per_transfer_from_this = N + amount_per_transfer_from_this = new_transfer_rate + to_chat(usr, "[src] will now transfer [amount_per_transfer_from_this] units at a time.") /obj/item/reagent_containers/AltClick() set_APTFT() @@ -100,8 +103,9 @@ /obj/item/reagent_containers/examine(mob/user) . = ..() - // Food has no valid possible_transfer_amounts, and we don't want to show - // this message on examining food. + if(visible_transfer_rate) + . += "It will transfer [amount_per_transfer_from_this] unit[amount_per_transfer_from_this != 1 ? "s" : ""] at a time." + + // Items that have no valid possible_transfer_amounts shouldn't say their transfer rate is variable if(possible_transfer_amounts) - . += "It will transfer [amount_per_transfer_from_this] unit[amount_per_transfer_from_this > 1 ? "s" : ""] at a time." . += "Alt-click to change the transfer amount." diff --git a/code/modules/reagents/reagent_containers/applicator.dm b/code/modules/reagents/reagent_containers/applicator.dm index 5725225ea1e..f41d8f95b9e 100644 --- a/code/modules/reagents/reagent_containers/applicator.dm +++ b/code/modules/reagents/reagent_containers/applicator.dm @@ -6,6 +6,7 @@ item_state = "mender" volume = 200 possible_transfer_amounts = null + visible_transfer_rate = FALSE resistance_flags = ACID_PROOF container_type = REFILLABLE | AMOUNT_VISIBLE temperature_min = 270 diff --git a/code/modules/reagents/reagent_containers/glass_containers.dm b/code/modules/reagents/reagent_containers/glass_containers.dm index 8533da3fdec..fddb26d9229 100644 --- a/code/modules/reagents/reagent_containers/glass_containers.dm +++ b/code/modules/reagents/reagent_containers/glass_containers.dm @@ -240,7 +240,7 @@ desc = "A baggie. Can hold up to 10 units." icon_state = "baggie" amount_per_transfer_from_this = 2 - possible_transfer_amounts = 2 + possible_transfer_amounts = null volume = 10 container_type = OPENCONTAINER can_assembly = 0 diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm index 3fbef587723..1bbde0e0d2d 100644 --- a/code/modules/reagents/reagent_containers/hypospray.dm +++ b/code/modules/reagents/reagent_containers/hypospray.dm @@ -86,7 +86,7 @@ name = "combat stimulant injector" desc = "A modified air-needle autoinjector, used by support operatives to quickly heal injuries in combat." amount_per_transfer_from_this = 15 - possible_transfer_amounts = list(15) + possible_transfer_amounts = null icon_state = "combat_hypo" volume = 90 ignore_flags = 1 // So they can heal their comrades. @@ -104,7 +104,7 @@ item_state = "autoinjector" belt_icon = "autoinjector" amount_per_transfer_from_this = 10 - possible_transfer_amounts = list(10) + possible_transfer_amounts = null volume = 10 ignore_flags = TRUE //so you can medipen through hardsuits container_type = DRAWABLE @@ -151,7 +151,6 @@ desc = "Rapidly stimulates and regenerates the body's organ system." icon_state = "stimpen" amount_per_transfer_from_this = 50 - possible_transfer_amounts = list(50) volume = 50 list_reagents = list("stimulants" = 50) @@ -168,7 +167,6 @@ desc = "After a short period of time the nanites will slow the body's systems and assist with bone repair. Nanomachines son." icon_state = "bonepen" amount_per_transfer_from_this = 30 - possible_transfer_amounts = list(30) volume = 30 list_reagents = list("nanocalcium" = 30) diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index e157cc7d733..581cdc0a87e 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -10,7 +10,7 @@ icon_state = "0" belt_icon = "syringe" amount_per_transfer_from_this = 5 - possible_transfer_amounts = list() + possible_transfer_amounts = null volume = 15 sharp = TRUE var/busy = FALSE