mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-21 12:02:31 +01:00
Our SSOverlays system is outdated, and is likely the cause of many of the issues seen in #18895. It has also been linked to a massive server performance decrease. This brings an updated system from Baystation, hopefully with speed increases. Should be testmerged, ideally with #18895. --------- Co-authored-by: Cody Brittain <cbrittain10@live.com>
80 lines
2.6 KiB
Plaintext
80 lines
2.6 KiB
Plaintext
/obj/item/reagent_containers/glass/beaker/teapot
|
|
name = "teapot"
|
|
desc = "An elegant teapot. It simply oozes class."
|
|
icon_state = "teapot"
|
|
item_state = "teapot"
|
|
unacidable = TRUE
|
|
amount_per_transfer_from_this = 10
|
|
volume = 120
|
|
|
|
/obj/item/reagent_containers/glass/beaker/teapot/lidded
|
|
name = "gaiwan"
|
|
desc = "A lidded ceramic bowl of Chinese origin. Used to infuse a large amount of tea into a small amount of water. \
|
|
To pour, the lid is pinched down into the bowl with a small gap left open for the tea. Traditionally used across the Alliance."
|
|
icon = 'icons/obj/item/reagent_containers/teaware.dmi'
|
|
icon_state = "gaiwan"
|
|
item_state = "gaiwan"
|
|
contained_sprite = TRUE
|
|
drop_sound = 'sound/items/drop/bottle.ogg'
|
|
pickup_sound = 'sound/items/pickup/bottle.ogg'
|
|
volume = 60
|
|
fragile = 0
|
|
atom_flags = ATOM_FLAG_POUR_CONTAINER
|
|
var/lid_type = /obj/item/teapot_lid
|
|
var/obj/item/teapot_lid/lid
|
|
|
|
/obj/item/reagent_containers/glass/beaker/teapot/lidded/Initialize()
|
|
. = ..()
|
|
lid = new lid_type()
|
|
update_icon()
|
|
|
|
/obj/item/reagent_containers/glass/beaker/teapot/lidded/update_icon()
|
|
if(lid)
|
|
icon_state = initial(icon_state) + "_lid"
|
|
ClearOverlays()
|
|
else
|
|
..()
|
|
icon_state = initial(icon_state)
|
|
|
|
/obj/item/reagent_containers/glass/beaker/teapot/lidded/attackby(obj/item/attacking_item, mob/user)
|
|
. = ..()
|
|
if(istype(attacking_item, lid_type) && !lid)
|
|
user.drop_from_inventory(attacking_item, src)
|
|
lid = attacking_item
|
|
to_chat(user, SPAN_NOTICE("You slide the lid onto \the [src]."))
|
|
update_icon()
|
|
return TRUE
|
|
|
|
/obj/item/reagent_containers/glass/beaker/teapot/lidded/attack_self(mob/user)
|
|
if(lid)
|
|
if(!user.get_inactive_hand())
|
|
if(user.put_in_hands(lid))
|
|
lid = null
|
|
to_chat(user, SPAN_NOTICE("You slide off \the [src]'s lid."))
|
|
update_icon()
|
|
return TRUE
|
|
else
|
|
to_chat(user, SPAN_WARNING("Your other hand is busy holding something!"))
|
|
|
|
/obj/item/reagent_containers/glass/beaker/teapot/lidded/is_open_container()
|
|
return lid ? FALSE : TRUE
|
|
|
|
/obj/item/reagent_containers/glass/beaker/teapot/lidded/kyusu
|
|
name = "kyusu"
|
|
desc = "A ceramic yokode kyusu - or side-handle teapot. This sort of teapot is popular on Konyang, owing to the Japanese origins of some of its population. \
|
|
To pour, one grasps the handle while holding the lid down with the index finger."
|
|
icon_state = "kyusu"
|
|
item_state = "kyusu"
|
|
lid_type = /obj/item/teapot_lid/kyusu
|
|
|
|
/obj/item/teapot_lid
|
|
name = "gaiwan lid"
|
|
desc = "A lid for a gaiwan."
|
|
icon = 'icons/obj/item/reagent_containers/teaware.dmi'
|
|
icon_state = "gaiwan-lid"
|
|
|
|
/obj/item/teapot_lid/kyusu
|
|
name = "kyusu lid"
|
|
desc = "A lid for a yokode kyusu."
|
|
icon_state = "kyusu-lid"
|