mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-22 04:30:44 +01:00
+37






![tgstation-ci[bot] <179393467+tgstation-ci[bot]@users.noreply.github.com>](/assets/img/avatar_default.png)


Alexis
GitHub
tgstation-ci[bot] <179393467+tgstation-ci[bot]@users.noreply.github.com>
ArcaneMusic
MrMelbert
Rhials
rageguy505
LemonInTheDark
John Willard
Aliceee2ch
Time-Green
Tsar-Salat
SmArtKar
Maxipat
SyncIt21
deltanedas
SimplyLogan
loganuk
Leland Kemble
FalloutFalcon
Roxy
Lucy
siliconOpossum
Isratosh
TheRyeGuyWhoWillNowDie
Neocloudy
Alexander V.
ElGitificador
Twaticus
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bloop
Cameron Lennox
Tim
Iamgoofball
Layzu666
Arturlang
_0Steven
mrmanlikesbt
Ben10Omintrix
John F. Kennedy
Cursor
Josh
Josh Powell
Yobrocharlie
Hardly3D
shayoki
LT3
21b4095dfd
Upstream 04/17/2026 fixes https://github.com/Bubberstation/Bubberstation/issues/5549 --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: tgstation-ci[bot] <179393467+tgstation-ci[bot]@users.noreply.github.com> Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com> Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> Co-authored-by: Rhials <28870487+Rhials@users.noreply.github.com> Co-authored-by: rageguy505 <54517726+rageguy505@users.noreply.github.com> Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com> Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com> Co-authored-by: Aliceee2ch <160794176+Aliceee2ch@users.noreply.github.com> Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com> Co-authored-by: Tsar-Salat <62388554+Tsar-Salat@users.noreply.github.com> Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com> Co-authored-by: Maxipat <108554989+Maxipat112@users.noreply.github.com> Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com> Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com> Co-authored-by: SimplyLogan <47579821+loganuk@users.noreply.github.com> Co-authored-by: loganuk <fakeemail123@aol.com> Co-authored-by: Leland Kemble <70413276+lelandkemble@users.noreply.github.com> Co-authored-by: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> Co-authored-by: Roxy <75404941+TealSeer@users.noreply.github.com> Co-authored-by: Lucy <lucy@absolucy.moe> Co-authored-by: siliconOpossum <138069572+siliconOpossum@users.noreply.github.com> Co-authored-by: Isratosh <Isratosh@hotmail.com> Co-authored-by: TheRyeGuyWhoWillNowDie <70169560+TheRyeGuyWhoWillNowDie@users.noreply.github.com> Co-authored-by: Neocloudy <88008002+Neocloudy@users.noreply.github.com> Co-authored-by: Alexander V. <volas@ya.ru> Co-authored-by: ElGitificador <168473461+ElGitificador@users.noreply.github.com> Co-authored-by: Twaticus <46540570+Twaticus@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com> Co-authored-by: Cameron Lennox <killer65311@gmail.com> Co-authored-by: Tim <timothymtorres@gmail.com> Co-authored-by: Iamgoofball <iamgoofball@gmail.com> Co-authored-by: Layzu666 <121319428+Layzu666@users.noreply.github.com> Co-authored-by: Arturlang <24881678+Arturlang@users.noreply.github.com> Co-authored-by: _0Steven <42909981+00-Steven@users.noreply.github.com> Co-authored-by: mrmanlikesbt <99309552+mrmanlikesbt@users.noreply.github.com> Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com> Co-authored-by: John F. Kennedy <54908920+MacaroniCritter@users.noreply.github.com> Co-authored-by: Cursor <102828457+theselfish@users.noreply.github.com> Co-authored-by: Josh <josh.adam.powell@gmail.com> Co-authored-by: Josh Powell <josh.powell@softwire.com> Co-authored-by: Yobrocharlie <Charliemiller5617@gmail.com> Co-authored-by: Hardly3D <66234359+Hardly3D@users.noreply.github.com> Co-authored-by: shayoki <96078776+shayoki@users.noreply.github.com> Co-authored-by: LT3 <83487515+lessthnthree@users.noreply.github.com>
339 lines
12 KiB
Plaintext
339 lines
12 KiB
Plaintext
//this category is very little but I think that it has great potential to grow
|
|
////////////////////////////////////////////SALAD////////////////////////////////////////////
|
|
/obj/item/food/salad
|
|
icon = 'icons/obj/food/soupsalad.dmi'
|
|
abstract_type = /obj/item/food/salad
|
|
trash_type = /obj/item/reagent_containers/cup/bowl
|
|
bite_consumption = 3
|
|
w_class = WEIGHT_CLASS_NORMAL
|
|
food_reagents = list(/datum/reagent/consumable/nutriment = 7, /datum/reagent/consumable/nutriment/vitamin = 2)
|
|
tastes = list("leaves" = 1)
|
|
foodtypes = VEGETABLES
|
|
eatverbs = list("devour", "nibble", "gnaw", "gobble", "chomp") //who the fuck gnaws and devours on a salad
|
|
venue_value = FOOD_PRICE_NORMAL
|
|
crafting_complexity = FOOD_COMPLEXITY_2
|
|
|
|
/obj/item/food/salad/aesirsalad
|
|
name = "\improper Aesir salad"
|
|
desc = "Probably too incredible for mortal men to fully enjoy."
|
|
icon_state = "aesirsalad"
|
|
food_reagents = list(/datum/reagent/consumable/nutriment = 8, /datum/reagent/consumable/nutriment/vitamin = 12)
|
|
tastes = list("leaves" = 1)
|
|
foodtypes = VEGETABLES | FRUIT
|
|
crafting_complexity = FOOD_COMPLEXITY_3
|
|
|
|
/obj/item/food/salad/herbsalad
|
|
name = "herb salad"
|
|
desc = "A tasty salad with apples on top."
|
|
icon_state = "herbsalad"
|
|
food_reagents = list(/datum/reagent/consumable/nutriment = 8, /datum/reagent/consumable/nutriment/vitamin = 6)
|
|
tastes = list("leaves" = 1, "apple" = 1)
|
|
foodtypes = VEGETABLES | FRUIT
|
|
crafting_complexity = FOOD_COMPLEXITY_2
|
|
|
|
/obj/item/food/salad/validsalad
|
|
name = "valid salad"
|
|
desc = "It's just an herb salad with meatballs and fried potato slices. Nothing suspicious about it."
|
|
icon_state = "validsalad"
|
|
food_reagents = list(/datum/reagent/consumable/nutriment = 5, /datum/reagent/consumable/nutriment/protein = 5, /datum/reagent/consumable/doctor_delight = 8, /datum/reagent/consumable/nutriment/vitamin = 6)
|
|
tastes = list("leaves" = 1, "potato" = 1, "meat" = 1, "valids" = 1)
|
|
foodtypes = VEGETABLES | MEAT | FRIED
|
|
custom_materials = list(/datum/material/meat = MEATDISH_MATERIAL_AMOUNT)
|
|
|
|
/obj/item/food/salad/fruit
|
|
name = "fruit salad"
|
|
desc = "Your standard fruit salad."
|
|
icon_state = "fruitsalad"
|
|
food_reagents = list(/datum/reagent/consumable/nutriment = 9, /datum/reagent/consumable/nutriment/vitamin = 5)
|
|
tastes = list("fruit" = 1)
|
|
foodtypes = FRUIT|ORANGES
|
|
crafting_complexity = FOOD_COMPLEXITY_3
|
|
|
|
/obj/item/food/salad/jungle
|
|
name = "jungle salad"
|
|
desc = "Exotic fruits in a bowl."
|
|
icon_state = "junglesalad"
|
|
food_reagents = list(/datum/reagent/consumable/nutriment = 11, /datum/reagent/consumable/banana = 5, /datum/reagent/consumable/nutriment/vitamin = 7)
|
|
tastes = list("fruit" = 1, "the jungle" = 1)
|
|
foodtypes = FRUIT
|
|
crafting_complexity = FOOD_COMPLEXITY_3
|
|
|
|
/obj/item/food/salad/citrusdelight
|
|
name = "citrus delight"
|
|
desc = "Citrus overload!"
|
|
icon_state = "citrusdelight"
|
|
food_reagents = list(
|
|
/datum/reagent/consumable/nutriment = 11,
|
|
/datum/reagent/consumable/nutriment/vitamin = 7,
|
|
)
|
|
tastes = list("sourness" = 1, "leaves" = 1)
|
|
foodtypes = FRUIT | ORANGES
|
|
crafting_complexity = FOOD_COMPLEXITY_3
|
|
|
|
/obj/item/food/uncooked_rice
|
|
name = "uncooked rice"
|
|
desc = "A clump of raw rice."
|
|
icon_state = "uncooked_rice"
|
|
food_reagents = list(/datum/reagent/consumable/nutriment = 4)
|
|
tastes = list("rice" = 1)
|
|
foodtypes = GRAIN | RAW
|
|
|
|
/obj/item/food/uncooked_rice/make_bakeable()
|
|
AddComponent(/datum/component/bakeable, /obj/item/food/boiledrice, rand(15 SECONDS, 20 SECONDS), TRUE, TRUE)
|
|
|
|
/obj/item/food/uncooked_rice/make_microwaveable()
|
|
AddElement(/datum/element/microwavable, /obj/item/food/boiledrice)
|
|
|
|
/obj/item/food/boiledrice
|
|
name = "boiled rice"
|
|
desc = "A steaming cup of boiled rice. A bit bland by itself, but the basis for something delicious..."
|
|
icon_state = "cooked_rice"
|
|
food_reagents = list(
|
|
/datum/reagent/consumable/nutriment = 6,
|
|
/datum/reagent/consumable/nutriment/vitamin = 2,
|
|
)
|
|
tastes = list("rice" = 1)
|
|
foodtypes = GRAIN | BREAKFAST
|
|
crafting_complexity = FOOD_COMPLEXITY_1
|
|
|
|
/obj/item/food/salad/ricepudding
|
|
name = "rice pudding"
|
|
desc = "Everybody loves rice pudding!"
|
|
icon_state = "ricepudding"
|
|
food_reagents = list(
|
|
/datum/reagent/consumable/nutriment = 8,
|
|
/datum/reagent/consumable/sugar = 3,
|
|
/datum/reagent/consumable/nutriment/vitamin = 3,
|
|
)
|
|
tastes = list("rice" = 1, "sweetness" = 1)
|
|
foodtypes = GRAIN | DAIRY | SUGAR
|
|
venue_value = FOOD_PRICE_NORMAL
|
|
|
|
/obj/item/food/salad/ricepork
|
|
name = "rice and pork"
|
|
desc = "Well, it looks like pork..."
|
|
icon_state = "riceporkbowl"
|
|
food_reagents = list(
|
|
/datum/reagent/consumable/nutriment = 6,
|
|
/datum/reagent/consumable/nutriment/protein = 6,
|
|
/datum/reagent/consumable/nutriment/vitamin = 3,
|
|
)
|
|
tastes = list("rice" = 1, "meat" = 1)
|
|
foodtypes = GRAIN | MEAT
|
|
crafting_complexity = FOOD_COMPLEXITY_2
|
|
custom_materials = list(/datum/material/meat = MEATDISH_MATERIAL_AMOUNT * 2)
|
|
|
|
/obj/item/food/salad/risotto
|
|
name = "risotto"
|
|
desc = "Proof the Italians mastered every carb."
|
|
icon_state = "risotto"
|
|
food_reagents = list(
|
|
/datum/reagent/consumable/nutriment = 10,
|
|
/datum/reagent/consumable/nutriment/vitamin = 6,
|
|
)
|
|
tastes = list("rice" = 1, "cheese" = 1)
|
|
foodtypes = GRAIN|DAIRY|VEGETABLES
|
|
venue_value = FOOD_PRICE_EXOTIC
|
|
crafting_complexity = FOOD_COMPLEXITY_3
|
|
|
|
/obj/item/food/salad/eggbowl
|
|
name = "egg bowl"
|
|
desc = "A bowl of rice with a fried egg."
|
|
icon_state = "eggbowl"
|
|
food_reagents = list(
|
|
/datum/reagent/consumable/nutriment = 8,
|
|
/datum/reagent/consumable/nutriment/protein = 2,
|
|
/datum/reagent/consumable/nutriment/vitamin = 4,
|
|
)
|
|
tastes = list("rice" = 1, "egg" = 1)
|
|
foodtypes = MEAT|VEGETABLES|GRAIN|EGG
|
|
crafting_complexity = FOOD_COMPLEXITY_4
|
|
|
|
/obj/item/food/salad/edensalad
|
|
name = "\improper Salad of Eden"
|
|
desc = "A salad brimming with untapped potential."
|
|
icon_state = "edensalad"
|
|
food_reagents = list(
|
|
/datum/reagent/consumable/nutriment = 7,
|
|
/datum/reagent/consumable/nutriment/vitamin = 5,
|
|
)
|
|
tastes = list("extreme bitterness" = 3, "hope" = 1)
|
|
foodtypes = VEGETABLES
|
|
crafting_complexity = FOOD_COMPLEXITY_3
|
|
|
|
/obj/item/food/salad/gumbo
|
|
name = "black eyed gumbo"
|
|
desc = "A spicy and savory meat and rice dish."
|
|
icon_state = "gumbo"
|
|
food_reagents = list(
|
|
/datum/reagent/consumable/capsaicin = 2,
|
|
/datum/reagent/consumable/nutriment/vitamin = 3,
|
|
/datum/reagent/consumable/nutriment = 5,
|
|
)
|
|
tastes = list("building heat" = 2, "savory meat and vegtables" = 1)
|
|
foodtypes = GRAIN | MEAT | VEGETABLES
|
|
crafting_complexity = FOOD_COMPLEXITY_3
|
|
custom_materials = list(/datum/material/meat = MEATDISH_MATERIAL_AMOUNT)
|
|
|
|
/obj/item/reagent_containers/cup/bowl
|
|
name = "bowl"
|
|
desc = "A simple bowl, used for soups and salads."
|
|
icon = 'icons/obj/food/soupsalad.dmi'
|
|
icon_state = "bowl"
|
|
base_icon_state = "bowl"
|
|
initial_reagent_flags = OPENCONTAINER | DUNKABLE
|
|
custom_materials = list(/datum/material/glass = SMALL_MATERIAL_AMOUNT*5)
|
|
w_class = WEIGHT_CLASS_NORMAL
|
|
custom_price = PAYCHECK_CREW * 0.6
|
|
fill_icon_thresholds = list(0)
|
|
fill_icon_state = "fullbowl"
|
|
fill_icon = 'icons/obj/food/soupsalad.dmi'
|
|
|
|
volume = SOUP_SERVING_SIZE + 5
|
|
gulp_size = 3
|
|
|
|
loop_drink = TRUE
|
|
|
|
/obj/item/reagent_containers/cup/bowl/Initialize(mapload)
|
|
. = ..()
|
|
RegisterSignal(src, COMSIG_ATOM_REAGENT_EXAMINE, PROC_REF(reagent_special_examine))
|
|
AddComponent(/datum/component/ingredients_holder, /obj/item/food/salad/empty, CUSTOM_INGREDIENT_ICON_FILL, max_ingredients = 6)
|
|
AddComponent( \
|
|
/datum/component/takes_reagent_appearance, \
|
|
on_icon_changed = CALLBACK(src, PROC_REF(on_cup_change)), \
|
|
on_icon_reset = CALLBACK(src, PROC_REF(on_cup_reset)), \
|
|
base_container_type = /obj/item/reagent_containers/cup/bowl, \
|
|
)
|
|
|
|
/obj/item/reagent_containers/cup/bowl/on_cup_change(datum/glass_style/style)
|
|
. = ..()
|
|
fill_icon_thresholds = null
|
|
|
|
/obj/item/reagent_containers/cup/bowl/on_cup_reset()
|
|
. = ..()
|
|
fill_icon_thresholds ||= list(0)
|
|
|
|
/**
|
|
* Override standard reagent examine
|
|
* so that anyone examining a bowl of soup sees the soup but nothing else (unless they have sci goggles)
|
|
*/
|
|
/obj/item/reagent_containers/cup/bowl/proc/reagent_special_examine(datum/source, mob/user, list/examine_list, can_see_insides = FALSE)
|
|
SIGNAL_HANDLER
|
|
|
|
if(can_see_insides || reagents.total_volume <= 0)
|
|
return
|
|
|
|
var/unknown_volume = 0
|
|
var/list/soups_found = list()
|
|
for(var/datum/reagent/current_reagent as anything in reagents.reagent_list)
|
|
if(istype(current_reagent, /datum/reagent/consumable/nutriment/soup))
|
|
soups_found += "• [round(current_reagent.volume, 0.01)] units of [current_reagent.name]"
|
|
else
|
|
unknown_volume += current_reagent.volume
|
|
|
|
if(!length(soups_found))
|
|
// There was no soup in the pot, do normal examine
|
|
return
|
|
|
|
examine_list += "Inside, you can see:"
|
|
examine_list += soups_found
|
|
if(unknown_volume > 0)
|
|
examine_list += "• [round(unknown_volume, 0.01)] units of unknown reagents"
|
|
|
|
return STOP_GENERIC_REAGENT_EXAMINE
|
|
|
|
// empty salad for custom salads
|
|
/obj/item/food/salad/empty
|
|
name = "salad"
|
|
foodtypes = NONE
|
|
tastes = list()
|
|
icon_state = "bowl"
|
|
desc = "A delicious customized salad."
|
|
|
|
/obj/item/food/salad/kale_salad
|
|
name = "kale salad"
|
|
desc = "A healthy kale salad drizzled in oil, perfect for warm summer months."
|
|
icon_state = "kale_salad"
|
|
food_reagents = list(
|
|
/datum/reagent/consumable/nutriment/vitamin = 12,
|
|
/datum/reagent/consumable/nutriment = 12,
|
|
)
|
|
tastes = list("healthy greens" = 2, "olive dressing" = 1)
|
|
foodtypes = VEGETABLES
|
|
crafting_complexity = FOOD_COMPLEXITY_3
|
|
|
|
/obj/item/food/salad/greek_salad
|
|
name = "greek salad"
|
|
desc = "A popular salad made of tomatoes, onions, feta cheese, and olives all drizzled in olive oil. Though it feels like it's missing something..."
|
|
icon_state = "greek_salad"
|
|
food_reagents = list(
|
|
/datum/reagent/consumable/nutriment/vitamin = 13,
|
|
/datum/reagent/consumable/nutriment = 14,
|
|
)
|
|
tastes = list("healthy greens" = 2, "olive dressing" = 1, "feta cheese" = 1)
|
|
foodtypes = VEGETABLES|FRUIT|DAIRY
|
|
crafting_complexity = FOOD_COMPLEXITY_4
|
|
|
|
/obj/item/food/salad/caesar_salad
|
|
name = "caesar salad"
|
|
desc = "A simple yet flavorful salad of onions, lettuce, croutons, and shreds of cheese dressed in oil. Comes with a slice of pita bread!"
|
|
icon_state = "caesar_salad"
|
|
food_reagents = list(
|
|
/datum/reagent/consumable/nutriment/vitamin = 12,
|
|
/datum/reagent/consumable/nutriment = 12,
|
|
)
|
|
tastes = list("healthy greens" = 2, "olive dressing" = 2, "feta cheese" = 2, "pita bread" = 1)
|
|
foodtypes = VEGETABLES | DAIRY | GRAIN
|
|
crafting_complexity = FOOD_COMPLEXITY_4
|
|
|
|
/obj/item/food/salad/spring_salad
|
|
name = "spring salad"
|
|
desc = "A simple salad of carrots, lettuce and peas drizzled in oil with a pinch of salt."
|
|
icon_state = "spring_salad"
|
|
food_reagents = list(
|
|
/datum/reagent/consumable/nutriment/vitamin = 12,
|
|
/datum/reagent/consumable/nutriment = 12,
|
|
)
|
|
tastes = list("crisp greens" = 2, "olive dressing" = 2, "salt" = 1)
|
|
foodtypes = VEGETABLES
|
|
crafting_complexity = FOOD_COMPLEXITY_3
|
|
|
|
/obj/item/food/salad/potato_salad
|
|
name = "potato salad"
|
|
desc = "A dish of boiled potatoes mixed with boiled eggs, onions, and mayonnaise. A staple of every self-respecting barbecue."
|
|
icon_state = "potato_salad"
|
|
food_reagents = list(
|
|
/datum/reagent/consumable/nutriment/vitamin = 12,
|
|
/datum/reagent/consumable/nutriment = 12,
|
|
/datum/reagent/consumable/nutriment/protein = 4,
|
|
)
|
|
tastes = list("creamy potatoes" = 2, "eggs" = 2, "mayonnaise" = 1, "onions" = 1)
|
|
foodtypes = MEAT|VEGETABLES|BREAKFAST|EGG
|
|
crafting_complexity = FOOD_COMPLEXITY_3
|
|
|
|
/obj/item/food/salad/spinach_fruit_salad
|
|
name = "spinach fruit salad"
|
|
desc = "A vibrant fruit salad made of spinach, berries, and pineapple chunks all drizzled in oil. Yummy!"
|
|
icon_state = "spinach_fruit_salad"
|
|
food_reagents = list(
|
|
/datum/reagent/consumable/nutriment/vitamin = 12,
|
|
/datum/reagent/consumable/nutriment = 12,
|
|
)
|
|
tastes = list("spinach" = 2, "berries" = 2, "pineapple" = 2, "dressing" = 1)
|
|
foodtypes = VEGETABLES|FRUIT|PINEAPPLE
|
|
crafting_complexity = FOOD_COMPLEXITY_3
|
|
|
|
/obj/item/food/salad/antipasto_salad
|
|
name = "antipasto salad"
|
|
desc = "A traditional Italian salad made of salami, mozzarella cheese, olives, and tomatoes. Often served as a first course meal."
|
|
icon_state = "antipasto_salad"
|
|
food_reagents = list(
|
|
/datum/reagent/consumable/nutriment/vitamin = 12,
|
|
/datum/reagent/consumable/nutriment = 12,
|
|
/datum/reagent/consumable/nutriment/protein = 6,
|
|
)
|
|
tastes = list("lettuce" = 2, "salami" = 2, "mozzarella cheese" = 2, "tomatoes" = 2, "dressing" = 1)
|
|
foodtypes = MEAT|VEGETABLES|FRUIT|DAIRY
|
|
crafting_complexity = FOOD_COMPLEXITY_4
|
|
custom_materials = list(/datum/material/meat = MEATDISH_MATERIAL_AMOUNT)
|