Adds Tapioca and Cassava plants (#30937)

* dat

* Fixes a few issues and makes the pudding look good

* fixes all sprites with hope

* actually should fix the sprites

* fixes cassava sprites and dough recipe oversight

* fixes tabbing issues and prevents botany gaming

* makes the linter happier + deletes duplicate file

* changes many things about the order

* generalizes the food reagentcontainer + linter gud

* fixes the merge conflict

* removes the settings on my vs code from my pr

Signed-off-by: funglios8s <167113955+funglios8s@users.noreply.github.com>

* Adds suggested changes

Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>
Signed-off-by: funglios8s <167113955+funglios8s@users.noreply.github.com>

* adds an abstract description

* fixes an accidental deletion of vscodesettings

* Update code/modules/reagents/reagent_containers/food.dm

Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>
Signed-off-by: funglios8s <167113955+funglios8s@users.noreply.github.com>

* adds a missing typepath

* Apply suggestions from code review

Co-authored-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>
Signed-off-by: funglios8s <167113955+funglios8s@users.noreply.github.com>

* Propose 2 tapioca pudding sprites.

* removes unused tapioca pudding sprite

* fixes my paradise.dme file

* Add new teas to the bar manual.

* adds alfalfa scout's recommended mix message

* attempts a fix for the .dme file

* removes a deconflicter mistake

* Apply suggestions from code review

Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>
Signed-off-by: funglios8s <167113955+funglios8s@users.noreply.github.com>

---------

Signed-off-by: funglios8s <167113955+funglios8s@users.noreply.github.com>
Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>
Co-authored-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>
Co-authored-by: Alfalfa Scout <alfalfascout@proton.me>
This commit is contained in:
funglios8s
2025-12-01 19:12:50 +00:00
committed by GitHub
co-authored by DGamerL PollardTheDragon Alfalfa Scout
parent a1fc8db55f
commit 6a6f81131e
21 changed files with 275 additions and 9 deletions
@@ -822,6 +822,47 @@
M.satiety += 5
return ..()
/datum/reagent/consumable/drink/tapioca_pearls
name = "Tapioca Pearls"
description = "Tapioca pearls made from starch ground by cassava root. Tastes pretty good in tea."
id = "tapiocapearls"
color = "#222222"
drink_icon = "tapiocapearl"
drink_name = "Tapioca Pearls"
drink_desc = "This would go great with sugar, milk, and tea."
taste_description = "chewy starch"
/datum/reagent/consumable/drink/bubbletea
name = "Bubble Tea"
description = "A tea-based drink made with tapioca pearls. Known by some as boba tea."
id = "bubbletea"
color = "#c79a47"
drink_icon = "bubbletea"
drink_name = "Bubble Tea"
drink_desc = "You feel trendy for drinking this."
taste_description = "sweet tea with chewy pearls"
/datum/reagent/consumable/drink/milktea
name = "Milk Tea"
description = "Tea and milk mixed together. Both sweet and creamy."
id = "milktea"
color = "#bfa46f"
drink_icon = "milktea"
drink_name = "Milk Tea"
drink_desc = "A refreshing and sweet beverage."
taste_description = "sweet milky tea"
/datum/reagent/consumable/drink/bubblemilktea
name = "Bubble Milk Tea"
description = "A tea-based drink made with milk and tapioca pearls. Known by some as boba milk tea."
id = "bubblemilktea"
color = "#d4b483"
drink_icon = "bubblemilktea"
drink_name = "Bubble Milk Tea"
drink_desc = "You feel extra trendy for drinking this."
taste_description = "sweet milky tea with chewy pearls"
/datum/reagent/consumable/drink/royrogers
name = "Roy Rogers"
description = "A cola classic from the days of Earth."
@@ -1034,3 +1034,17 @@
color = "#ffffff"
goal_department = "Kitchen"
goal_difficulty = REAGENT_GOAL_NORMAL
/datum/reagent/consumable/tapioca_powder
name = "Tapioca Powder"
id = "tapioca"
description = "A starchy powder made by grinding up cassava. Would be good mixed with water."
color = "#DFDFDF" // rgb: 223, 223, 223
taste_description = "starchy powder"
/datum/reagent/consumable/drytapioca_pearls
name = "Dry Tapioca Pearls"
id = "drytapioca"
description = "Small, hard balls of dried tapioca powder."
color = "#DFDFDF" // rgb: 223, 223, 223
taste_description = "dry starchy pearls"
@@ -1158,6 +1158,41 @@
result_amount = 5
mix_sound = 'sound/goonstation/misc/drinkfizz.ogg'
/datum/chemical_reaction/tapioca_pearls
name = "Tapioca Pearls"
id = "tapiocapearls"
result = "tapiocapearls"
required_reagents = list("drytapioca" = 1, "water" = 1)
result_amount = 2
min_temp = T0C + 100
mix_message = "The pearls turn plump and translucent as they cook through."
mix_sound = 'sound/goonstation/misc/drinkfizz.ogg'
/datum/chemical_reaction/bubbletea
name = "Bubble Tea"
id = "bubbletea"
result = "bubbletea"
required_reagents = list("tea" = 2, "sugar" = 1, "tapiocapearls" = 1)
result_amount = 4
mix_message = "The pearls fall to the bottom of the glass as the tea mixes with the sugar."
mix_sound = 'sound/goonstation/misc/drinkfizz.ogg'
/datum/chemical_reaction/milktea
name = "Milk Tea"
id = "milktea"
result = "milktea"
required_reagents = list("tea" = 1, "sugar" = 1, "milk" = 1)
result_amount = 3
mix_sound = 'sound/goonstation/misc/drinkfizz.ogg'
/datum/chemical_reaction/bubblemilktea
name = "Bubble Milk Tea"
id = "bubblemilktea"
result = "bubblemilktea"
required_reagents = list("milktea" = 3, "tapiocapearls" = 1)
result_amount = 4
/datum/chemical_reaction/royrogers
name = "Roy Rogers"
id = "royrogers"
@@ -258,3 +258,16 @@
result = "vinegar"
required_reagents = list("acetic_acid" = 1, "water" = 9)
result_amount = 10
/datum/chemical_reaction/tapiocadough
name = "Tapioca dough"
id = "tapiocadough"
result = null
required_reagents = list("water" = 10, "tapioca" = 15)
result_amount = 1
mix_message = "The ingredients form a flat dough."
/datum/chemical_reaction/tapiocadough/on_reaction(datum/reagents/holder, created_volume)
var/location = get_turf(holder.my_atom)
for(var/i in 1 to created_volume)
new /obj/item/food/tapiocadough(location)
@@ -0,0 +1,53 @@
// This is a base used for food ingredients that is to be turned into a reagent, it's mainly pill code, with no swallowing function.
/obj/item/reagent_containers/food
name = "food item"
desc = ABSTRACT_TYPE_DESC
inhand_icon_state = "tapioca_drypearls" // placeholder
possible_transfer_amounts = null
visible_transfer_rate = FALSE
volume = 10
/obj/item/reagent_containers/food/activate_self(mob/user)
if(..())
return FINISH_ATTACK
apply(user, user)
/obj/item/reagent_containers/food/proc/apply(mob/living/carbon/C, mob/user)
if(!istype(C))
return FALSE
if(!reagents.total_volume)
qdel(src)
return TRUE
/obj/item/reagent_containers/food/interact_with_atom(atom/target, mob/living/user, list/modifiers)
if(isnull(target.reagents))
return
return ..()
/obj/item/reagent_containers/food/mob_act(mob/target, mob/living/user)
apply(target, user)
return TRUE
/obj/item/reagent_containers/food/normal_act(atom/target, mob/living/user)
. = TRUE
if(!target.is_refillable())
return
if(target.reagents.holder_full())
to_chat(user, "<span class='warning'>[target] is full.</span>")
return
to_chat(user, "<span class='notice'>You [!target.reagents.total_volume ? "pour" : "dump"] [src] in [target].</span>")
for(var/mob/O as anything in oviewers(2, user))
O.show_message("<span class='warning'>[user] puts something in [target].</span>", 1)
reagents.trans_to(target, reagents.total_volume)
qdel(src)
/obj/item/reagent_containers/food/drytapioca_pearls
name = "dry tapioca pearls"
desc = "Small, hard balls of dried tapioca powder."
icon = 'icons/obj/food/food_ingredients.dmi'
icon_state = "tapioca_drypearls"
list_reagents = list("drytapioca" = 10)