/obj/item/reagent_containers/ladle
name = "ladle"
desc = "A serving ladle. Holds 30u."
icon = 'icons/obj/kitchen.dmi'
icon_state = "ladle"
amount_per_transfer_from_this = 10
possible_transfer_amounts = list(10, 15, 30)
w_class = ITEMSIZE_SMALL
volume = 30
force = 6
flags = OPENCONTAINER | NOBLUDGEON
drop_sound = 'sound/items/drop/glass.ogg'
pickup_sound = 'sound/items/pickup/glass.ogg'
center_of_mass = list("x"=14, "y"=6)
/obj/item/reagent_containers/ladle/afterattack(var/obj/target, var/mob/user, var/flag)
if(!target.is_open_container() || !flag)
return ..(target, user, flag)
if(reagents.total_volume)
if(!target.reagents?.get_free_space())
to_chat(user, SPAN_NOTICE("[target] is full."))
return TRUE
var/trans = reagents.trans_to(target, amount_per_transfer_from_this) //sprinkling reagents on generic non-mobs
user.visible_message(
"[user] pours into [target] from [src].",
SPAN_NOTICE("You transfer [trans] units of the solution.")
)
return TRUE
if(!target.reagents || !target.reagents.total_volume)
to_chat(user, SPAN_NOTICE("[target] is empty."))
return TRUE
if(istype(target, /obj/item/reagent_containers/food/snacks))
var/obj/item/reagent_containers/food/snacks/S = target
if(!S.is_liquid)
return TRUE
var/trans = target.reagents.trans_to_obj(src, amount_per_transfer_from_this)
user.visible_message(
"[user] scoops from [target] with [src].",
SPAN_NOTICE("You scoop up [trans] units with [src].")
)
return TRUE
/obj/item/reagent_containers/ladle/on_reagent_change()
update_icon()
/obj/item/reagent_containers/ladle/update_icon()
cut_overlays()
if(!reagents.total_volume)
return
var/image/over = image(icon, "ladle_overlay")
over.color = reagents.get_color()
add_overlay(over)