Adds Konyanger tea leaves, teapots, and tea cups. (#18145)

* Adds Konyanger tea leaves, teapots, and tea cups.

* teatray to the glassware

* classic

* teapot correction

* updates

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
This commit is contained in:
Matt Atlas
2024-01-07 23:45:59 +00:00
committed by GitHub
co-authored by Matt Atlas
parent 71f8ced4d2
commit 0f70609936
18 changed files with 479 additions and 18 deletions
@@ -125,6 +125,59 @@
if(istype(spawned_cup) && spawned_cup.reagents)
spawned_cup.reagents.set_temperature(T0C + 45)
/datum/gear/teacup
display_name = "tea cups"
description = "Tea cups in various designs."
cost = 1
path = /obj/item/reagent_containers/food/drinks/drinkingglass/newglass/coffeecup/teacup
/datum/gear/teacup/New()
..()
var/list/teacups = list()
teacups["plain tea cup"] = /obj/item/reagent_containers/food/drinks/drinkingglass/newglass/coffeecup/teacup
teacups["clay yunomi"] = /obj/item/reagent_containers/food/drinks/drinkingglass/newglass/konyang
teacups["grey yunomi"] = /obj/item/reagent_containers/food/drinks/drinkingglass/newglass/konyang/grey
teacups["glazed pattern yunomi"] = /obj/item/reagent_containers/food/drinks/drinkingglass/newglass/konyang/pattern
teacups["manila pattern yunomi"] = /obj/item/reagent_containers/food/drinks/drinkingglass/newglass/konyang/manila
teacups["nature pattern yunomi"] = /obj/item/reagent_containers/food/drinks/drinkingglass/newglass/konyang/nature
gear_tweaks += new /datum/gear_tweak/path(teacups)
gear_tweaks += new /datum/gear_tweak/reagents(lunchables_drink_reagents())
/datum/gear/teacup/spawn_item(var/location, var/metadata)
. = ..()
var/obj/item/reagent_containers/food/drinks/drinkingglass/newglass/coffeecup/teacup/spawned_cup = .
if(istype(spawned_cup) && spawned_cup.reagents)
spawned_cup.reagents.set_temperature(T0C + 45)
/datum/gear/chatins
display_name = "konyang-cha tins"
description = "Tins of tea leaves made by Konyang-cha."
cost = 1
path = /obj/item/storage/box/tea
/datum/gear/chatins/New()
..()
var/list/chatins = list()
chatins["sencha cha-tin"] = /obj/item/storage/box/tea
chatins["tieguanyin cha-tin"] = /obj/item/storage/box/tea/tieguanyin
chatins["jaekseol cha-tin"] = /obj/item/storage/box/tea/jaekseol
gear_tweaks += new /datum/gear_tweak/path(chatins)
/datum/gear/teapots
display_name = "teapots"
description = "A selection of teapots."
cost = 1
path = /obj/item/reagent_containers/glass/beaker/teapot
/datum/gear/teapots/New()
..()
var/list/teapots = list()
teapots["teapot"] = /obj/item/reagent_containers/glass/beaker/teapot
teapots["gaiwan"] = /obj/item/reagent_containers/glass/beaker/teapot/lidded
teapots["kyusu"] = /obj/item/reagent_containers/glass/beaker/teapot/lidded/kyusu
gear_tweaks += new /datum/gear_tweak/path(teapots)
/datum/gear/banner
display_name = "banner selection"
path = /obj/item/flag
+12
View File
@@ -219,3 +219,15 @@
matter = list(DEFAULT_TABLE_MATERIAL = 1000)
recyclable = TRUE
max_carry = 7 // That's 3 dishes, a knife, spoon and fork and a glass
/obj/item/tray/tea
name = "tea tray"
desc = "A tray for serving tea."
icon_state = "teatray"
force = 3
throwforce = 3
atom_flags = 0
matter = list(DEFAULT_TABLE_MATERIAL = 1000)
recyclable = TRUE
max_carry = 6
contained_sprite = TRUE
+32
View File
@@ -367,3 +367,35 @@ var/list/fruit_icon_cache = list()
I.color = flesh_colour
fruit_icon_cache["slice-[rind_colour]"] = I
add_overlay(fruit_icon_cache["slice-[rind_colour]"])
/obj/item/reagent_containers/food/snacks/grown/konyang_tea
name = "sencha leaves"
desc = "A type of green tea originating from Japan on Earth, sencha is unique in that it is steamed instead of pan-roasted like most teas. \
It has a fresh flavor profile as a result, with flavors like seaweed, grass, or spinach greens predominant. On Konyang, it is most popular in Aoyama."
plantname = "sencha"
icon = 'icons/obj/item/reagent_containers/teaware.dmi'
icon_state = "sencha"
/obj/item/reagent_containers/food/snacks/grown/konyang_tea/afterattack(atom/target, mob/user, proximity, params)
if(proximity && target.is_open_container() && target.reagents)
if(!target.reagents.total_volume)
to_chat(user, SPAN_WARNING("You can't steep tea inside of an empty pot!"))
return
to_chat(user, SPAN_NOTICE("You steep \the [src] inside \the [target]."))
reagents.trans_to(target, reagents.total_volume)
qdel(src)
/obj/item/reagent_containers/food/snacks/grown/konyang_tea/tieguanyin
name = "tieguanyin leaves"
desc = "A type of oolong tea originating from China on Earth. Like most oolongs, its flavor is somewhere between green and black tea. \
It has a nutty, peppery, and floral flavor profile. On Konyang, it is most popular in Ganzaodeng and New Hong Kong."
plantname = "tieguanyin"
icon_state = "tieguanyin"
/obj/item/reagent_containers/food/snacks/grown/konyang_tea/jaekseol
name = "jaekseol leaves"
desc = "A type of black tea originating from Korea on Earth. It has a relatively typical flavor for a black tea, with a sweet, toasty flavor. \
On Konyang, it is most popular in Suwon, although coffee is still a more popular beverage in general."
plantname = "jaekseol"
icon_state = "jaekseol"
@@ -43,6 +43,66 @@
/obj/item/seeds/teaseed
seed_type = "tea"
/datum/seed/sencha
name = "sencha"
seed_name = "sencha leaves"
display_name = "sencha plant"
chems = list(/singleton/reagent/nutriment/teagrounds/sencha = list(4,9))
/datum/seed/sencha/setup_traits()
..()
set_trait(TRAIT_MATURATION,3)
set_trait(TRAIT_PRODUCTION,3)
set_trait(TRAIT_YIELD,3)
set_trait(TRAIT_POTENCY,2)
set_trait(TRAIT_PRODUCT_ICON,"herb")
set_trait(TRAIT_PRODUCT_COLOUR,"#0E1F0E")
set_trait(TRAIT_PLANT_ICON,"herb")
set_trait(TRAIT_IDEAL_LIGHT, 6)
/obj/item/seeds/sencha
seed_type = "sencha"
/datum/seed/tieguanyin
name = "tieguanyin"
seed_name = "tieguanyin leaves"
display_name = "tieguanyin plant"
chems = list(/singleton/reagent/nutriment/teagrounds/tieguanyin = list(3,8))
/datum/seed/tieguanyin/setup_traits()
..()
set_trait(TRAIT_MATURATION,3)
set_trait(TRAIT_PRODUCTION,3)
set_trait(TRAIT_YIELD,3)
set_trait(TRAIT_POTENCY,2)
set_trait(TRAIT_PRODUCT_ICON,"herb")
set_trait(TRAIT_PRODUCT_COLOUR,"#5C6447")
set_trait(TRAIT_PLANT_ICON,"herb")
set_trait(TRAIT_IDEAL_LIGHT, 6)
/obj/item/seeds/tieguanyin
seed_type = "tieguanyin"
/datum/seed/jaekseol
name = "jaekseol"
seed_name = "jaekseol leaves"
display_name = "jaekseol plant"
chems = list(/singleton/reagent/nutriment/teagrounds/jaekseol = list(4,7))
/datum/seed/jaekseol/setup_traits()
..()
set_trait(TRAIT_MATURATION,3)
set_trait(TRAIT_PRODUCTION,3)
set_trait(TRAIT_YIELD, 2)
set_trait(TRAIT_POTENCY,2)
set_trait(TRAIT_PRODUCT_ICON,"herb")
set_trait(TRAIT_PRODUCT_COLOUR,"#534337")
set_trait(TRAIT_PLANT_ICON,"herb")
set_trait(TRAIT_IDEAL_LIGHT, 6)
/obj/item/seeds/jaekseol
seed_type = "jaekseol"
/datum/seed/coca
name = "coca"
seed_name = "coca leaf"
+6 -3
View File
@@ -18,7 +18,7 @@
return FALSE
/obj/machinery/seed_storage
name = "Seed storage"
name = "seed storage"
desc = "It stores, sorts, and dispenses seeds."
icon = 'icons/obj/vending.dmi'
icon_state = SEED_NOUN_SEEDS
@@ -34,12 +34,12 @@
var/list/scanner = list() // What properties we can view
/obj/machinery/seed_storage/random // This is mostly for testing, but I guess admins could spawn it
name = "Random seed storage"
name = "random seed storage"
scanner = list("stats", "produce", "soil", "temperature", "light")
starting_seeds = list(/obj/item/seeds/random = 50)
/obj/machinery/seed_storage/garden
name = "Garden seed storage"
name = "garden seed storage"
scanner = list("stats")
starting_seeds = list(
/obj/item/seeds/aghrasshseed = 3,
@@ -72,6 +72,7 @@
/obj/item/seeds/grassseed = 3,
/obj/item/seeds/guamiseed = 2,
/obj/item/seeds/gukheseed = 3,
/obj/item/seeds/jaekseol = 3,
/obj/item/seeds/lemonseed = 3,
/obj/item/seeds/limeseed = 3,
/obj/item/seeds/mossseed = 2,
@@ -98,6 +99,7 @@
/obj/item/seeds/richcoffeeseed = 3,
/obj/item/seeds/sarezhiseed = 3,
/obj/item/seeds/seaweed = 3,
/obj/item/seeds/ = 3,
/obj/item/seeds/serkiflowerseed = 1,
/obj/item/seeds/shandseed = 2,
/obj/item/seeds/soyaseed = 3,
@@ -107,6 +109,7 @@
/obj/item/seeds/sugartree = 2,
/obj/item/seeds/sunflowerseed = 3,
/obj/item/seeds/teaseed = 3,
/obj/item/seeds/tieguanyin = 3,
/obj/item/seeds/tobaccoseed = 3,
/obj/item/seeds/tomatoseed = 3,
/obj/item/seeds/towermycelium = 3,
@@ -514,6 +514,30 @@
M.adjustToxLoss(1.5 * removed)
//Copied from tea. though i feel it should be stronger as its not diluted with water
/singleton/reagent/nutriment/teagrounds/sencha
name = "Sencha Leaves"
description = "A type of green tea originating from Japan on Earth, sencha is unique in that it is steamed instead of pan-roasted like most teas. \
It has a fresh flavor profile as a result, with flavors like seaweed, grass, or spinach greens predominant. On Konyang, it is most popular in Aoyama."
color = "#0E1F0E"
taste_description = "bitter seaweed and even more bitter grass"
condiment_name = "ground sencha"
/singleton/reagent/nutriment/teagrounds/tieguanyin
name = "Tieguanyin Leaves"
description = "A type of oolong tea originating from China on Earth. Like most oolongs, its flavor is somewhere between green and black tea. \
It has a nutty, peppery, and floral flavor profile. On Konyang, it is most popular in Ganzaodeng and New Hong Kong."
color = "#5C6447"
taste_description = "rough floral peppercorns"
condiment_name = "ground tieguanyin"
/singleton/reagent/nutriment/teagrounds/jaekseol
name = "jaekseol Leaves"
description = "A type of black tea originating from Korea on Earth. It has a relatively typical flavor for a black tea, with a sweet, toasty flavor. \
On Konyang, it is most popular in Suwon, although coffee is still a more popular beverage in general."
color = "#534337"
taste_description = "harsh burnt toast"
condiment_name = "ground jaekseol"
/singleton/reagent/nutriment/cocagrounds
name = "Coca Grounds"
description = "Enjoy the great taste of tea."
@@ -1460,6 +1484,40 @@
metabolism = REM * 0.33
M.adjustToxLoss(1.5 * removed)
/singleton/reagent/drink/tea/sencha
name = "Sencha"
description = "A type of green tea originating from Japan on Earth, sencha is unique in that it is steamed instead of pan-roasted like most teas. \
It has a fresh flavor profile as a result, with flavors like seaweed, grass, or spinach greens predominant. \
On Konyang, it is most popular in Aoyama."
taste_description = "seaweed and bitter grass"
glass_name = "cup of sencha"
glass_desc = "A type of green tea originating from Japan on Earth, sencha is unique in that it is steamed instead of pan-roasted like most teas. \
It has a fresh flavor profile as a result, with flavors like seaweed, grass, or spinach greens predominant. \
On Konyang, it is most popular in Aoyama."
color = "#0E1F0E"
/singleton/reagent/drink/tea/tieguanyin
name = "Tieguanyin"
description = "A type of oolong tea originating from China on Earth. Like most oolongs, its flavor is somewhere between green and black tea. \
It has a nutty, peppery, and floral flavor profile. \
On Konyang, it is most popular in Ganzaodeng and New Hong Kong."
taste_description = "floral peppercorns"
glass_name = "cup of tieguanyin"
glass_desc = "A type of oolong tea originating from China on Earth. Like most oolongs, its flavor is somewhere between green and black tea. \
It has a nutty, peppery, and floral flavor profile. \
On Konyang, it is most popular in Ganzaodeng and New Hong Kong."
color = "#5C6447"
/singleton/reagent/drink/tea/jaekseol
name = "jaekseol"
description = "A type of black tea originating from Korea on Earth. It has a relatively typical flavor for a black tea, with a sweet, toasty flavor. \
On Konyang, it is most popular in Suwon, although coffee is still a more popular beverage in general."
taste_description = "sweet burnt toast"
glass_name = "cup of jaekseol"
glass_desc = "A type of black tea originating from Korea on Earth. It has a relatively typical flavor for a black tea, with a sweet, toasty flavor. \
On Konyang, it is most popular in Suwon, although coffee is still a more popular beverage in general."
color = "#534337"
/singleton/reagent/drink/icetea
name = "Iced Tea"
description = "No relation to a certain rap artist/ actor."
@@ -2007,6 +2007,27 @@
required_reagents = list(/singleton/reagent/nutriment/teagrounds = 1, /singleton/reagent/water = 5)
result_amount = 5
/datum/chemical_reaction/drink/sencha
name = "Sencha"
id = "sencha"
result = /singleton/reagent/drink/tea/sencha
required_reagents = list(/singleton/reagent/nutriment/teagrounds/sencha = 1, /singleton/reagent/water = 5)
result_amount = 5
/datum/chemical_reaction/drink/tieguanyin
name = "Tieguanyin"
id = "tieguanyin"
result = /singleton/reagent/drink/tea/tieguanyin
required_reagents = list(/singleton/reagent/nutriment/teagrounds/tieguanyin = 1, /singleton/reagent/water = 5)
result_amount = 5
/datum/chemical_reaction/drink/jaekseol
name = "jaekseol"
id = "jaekseol"
result = /singleton/reagent/drink/tea/jaekseol
required_reagents = list(/singleton/reagent/nutriment/teagrounds/jaekseol = 1, /singleton/reagent/water = 5)
result_amount = 5
/datum/chemical_reaction/drink/cocatea
name = "Mate de Coca"
id = "cocatea"
@@ -60,13 +60,13 @@
return additional_evidence
/obj/item/reagent_containers/glass/attack_self()
/obj/item/reagent_containers/glass/attack_self(mob/user)
..()
if(is_open_container())
to_chat(usr, "<span class = 'notice'>You put the lid on \the [src].</span>")
to_chat(user, "<span class = 'notice'>You put the lid on \the [src].</span>")
atom_flags ^= ATOM_FLAG_OPEN_CONTAINER
else
to_chat(usr, "<span class = 'notice'>You take the lid off \the [src].</span>")
to_chat(user, "<span class = 'notice'>You take the lid off \the [src].</span>")
atom_flags |= ATOM_FLAG_OPEN_CONTAINER
update_icon()
@@ -213,15 +213,6 @@
/obj/item/reagent_containers/glass/beaker/sulphuric/reagents_to_add = list(/singleton/reagent/acid = 60)
/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/pitcher
name = "pitcher"
desc = "Everyone's best friend in the morning."
@@ -294,8 +285,8 @@
to_chat(user, "<span class='notice'>You drink heavily from \the [src].</span>")
/obj/item/reagent_containers/glass/bucket/wood
desc = "An old wooden bucket."
name = "wooden bucket"
desc = "An old wooden bucket."
icon = 'icons/obj/janitor.dmi'
icon_state = "woodbucket"
item_state = "woodbucket"
@@ -309,5 +300,4 @@
if(isprox(D))
to_chat(user, "This wooden bucket doesn't play well with electronics.")
return
..()
@@ -129,3 +129,44 @@
icon_state = "goblet"
icon = 'icons/obj/drink_glasses/goblet.dmi'
volume = 25
/obj/item/reagent_containers/food/drinks/drinkingglass/newglass/konyang
name = "yunomi"
desc = "A ceramic teacup of Japanese origin, most frequently used for teas brewed at a lower temperature because of its lack of a handle. \
This sort of teacup is popular on Konyang, owing to the Japanese origins of some of its population. \
This one is unglazed and the plain brownish-gray of the clay most often used on Konyang."
icon = 'icons/obj/item/reagent_containers/teaware.dmi'
icon_state = "yunomi"
item_state = "yunomi"
contained_sprite = TRUE
/obj/item/reagent_containers/food/drinks/drinkingglass/newglass/konyang/update_icon()
if(reagents?.total_volume)
var/mutable_appearance/filling = mutable_appearance(icon, "yunomi-[get_filling_state()]")
filling.color = reagents.get_color()
add_overlay(filling)
/obj/item/reagent_containers/food/drinks/drinkingglass/newglass/konyang/grey
desc = "A ceramic teacup of Japanese origin, most frequently used for teas brewed at a lower temperature because of its lack of a handle. \
This sort of teacup is popular on Konyang, owing to the Japanese origins of some of its population. \
This one is unglazed and a plain stone grey color."
icon_state = "yunomi-grey"
/obj/item/reagent_containers/food/drinks/drinkingglass/newglass/konyang/pattern
desc = "A ceramic teacup of Japanese origin, most frequently used for teas brewed at a lower temperature because of its lack of a handle. \
This sort of teacup is popular on Konyang, owing to the Japanese origins of some of its population. \
This one is glazed and has a simple abstract pattern."
icon_state = "yunomi-pattern"
/obj/item/reagent_containers/food/drinks/drinkingglass/newglass/konyang/manila
desc = "A ceramic teacup of Japanese origin, most frequently used for teas brewed at a lower temperature because of its lack of a handle. \
This sort of teacup is popular on Konyang, owing to the Japanese origins of some of its population. \
This one is glazed and a plain manila color."
icon_state = "yunomi-manila"
/obj/item/reagent_containers/food/drinks/drinkingglass/newglass/konyang/nature
desc = "A ceramic teacup of Japanese origin, most frequently used for teas brewed at a lower temperature because of its lack of a handle. \
This sort of teacup is popular on Konyang, owing to the Japanese origins of some of its population. \
This one is glazed and depicts a nature scene, showing trees native to Konyang."
icon_state = "yunomi-nature"
@@ -0,0 +1,75 @@
/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
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"
cut_overlays()
else
..()
icon_state = initial(icon_state)
/obj/item/reagent_containers/glass/beaker/teapot/lidded/attackby(obj/item/W, mob/user)
. = ..()
if(istype(W, lid_type) && !lid)
user.drop_from_inventory(W, src)
lid = W
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.put_in_hands(lid))
lid = null
to_chat(user, SPAN_NOTICE("You slide off \the [src]'s lid."))
update_icon()
return TRUE
/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"