Brain food [RESUBMIT] - Let's fry these bad boys. Again. (Adds Psiren cuisine) (#23070)

-Adds Psiren cuisine
-Changes Psirens a bit to better fit cuisine purposes
-Adds a line of code to make sure the game doesn't freeze if flavors
don't get listed correctly for some reason
-Fixes the nutriment amount of Citrus Delight (I forgot to do that in
the generic food update)

---------

Signed-off-by: tomixcomics <11053204+tomixcomics@users.noreply.github.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
This commit is contained in:
tomixcomics
2026-08-16 16:12:25 +00:00
committed by GitHub
co-authored by VMSolidus
parent 5df674622c
commit 002a9e7960
18 changed files with 335 additions and 13 deletions
@@ -278,3 +278,12 @@
reagents_to_add = list(/singleton/reagent/nutriment = 4, /singleton/reagent/nutriment/protein = 10)
reagent_data = list(/singleton/reagent/nutriment = list("mossy crunch" = 5, "buns" = 3), /singleton/reagent/nutriment/protein = list("meat" = 5, "egg" = 3, "cheese" = 3))
bitesize = 3
/obj/item/reagent_containers/food/snacks/burger/psiren
name = "psiburger"
desc = "A yellowish Psiren meat patty topped with crunchy Psiren chips on an optional bed of sauerkraut. Delicious revenge served piping hot off the grill."
icon = 'icons/obj/item/reagent_containers/food/burger.dmi'
icon_state = "psiburger"
item_state = "burger" // Don't touch this unless you know what you're doing
center_of_mass = list("x"=16, "y"=11)
reagents_to_add = list(/singleton/reagent/nutriment = 2)
@@ -136,16 +136,56 @@
bitesize = 6
reagents_to_add = list(/singleton/reagent/nutriment/protein/seafood = 6, /singleton/reagent/hyperzine = 15, /singleton/reagent/acid/polyacid = 6)
/obj/item/reagent_containers/food/snacks/squidmeat/psiren_tentacle_meat
name = "raw psiren tentacle"
desc = "A long smooth tentacle. It's an off putting blue colour."
/obj/item/reagent_containers/food/snacks/psiren_tentacle_meat
name = "Psiren tentacle"
desc = "A long, smooth tentacle. It's an off putting blue colour. WAIT, DID IT JUST MOVE??? No... That was a trick of the light... Probably."
icon = 'icons/obj/item/reagent_containers/food/meat.dmi'
icon_state = "psiren_tentacle_meat"
reagents_to_add = list(/singleton/reagent/drugs/mindbreaker = 2, /singleton/reagent/nutriment/protein/seafood = 3)
filling_color = "#1S7399"
reagent_data = list(/singleton/reagent/nutriment/protein/seafood = list("fizzy chicken" = 5))
filling_color = "#206a88"
/obj/item/reagent_containers/food/snacks/squidmeat/psiren_body_meat
name = "raw psiren ring"
desc = "A ring of blue flesh."
/obj/item/reagent_containers/food/snacks/psiren_tentacle_meat/attackby(obj/item/attacking_item, mob/user)
if(has_edge(attacking_item)) //this checks if the item you click the meat with is a knife/has an edge
user.visible_message(SPAN_NOTICE("[user] slices [src]!"))
var/psiren_cutlet = new /obj/item/reagent_containers/food/snacks/raw_psiren_cutlet(loc)
reagents.trans_to_obj(psiren_cutlet, reagents.total_volume / 2)
var/psiren_leather = new /obj/item/reagent_containers/food/snacks/psiren_leather(loc)
reagents.trans_to_obj(psiren_leather, reagents.total_volume / 2)
qdel_self()
/obj/item/reagent_containers/food/snacks/psiren_body_meat
name = "psiren meat"
desc = "A slab of amber-colored meat with a bit of blueish skin attached. The slightest motion makes it look like something is shifting inside."
icon = 'icons/obj/item/reagent_containers/food/meat.dmi'
icon_state = "psiren_body_meat"
reagents_to_add = list(/singleton/reagent/drugs/mindbreaker = 2, /singleton/reagent/nutriment/protein/seafood = 3)
filling_color = "#1S7399"
reagents_to_add = list(/singleton/reagent/drugs/mindbreaker = 2, /singleton/reagent/nutriment/protein/seafood = 4)
reagent_data = list(/singleton/reagent/nutriment/protein/seafood = list("fizzy chicken" = 5))
filling_color = "#f5c235"
/obj/item/reagent_containers/food/snacks/psiren_body_meat/attackby(obj/item/attacking_item, mob/user)
if(has_edge(attacking_item)) //this checks if the item you click the meat with is a knife/has an edge
user.visible_message(SPAN_NOTICE("[user] slices [src]!"))
for(var/i = 1 to 3)
var/obj/item/reagent_containers/food/snacks/raw_psiren_cutlet/psiren_cutlet = new (loc)
reagents.trans_to_obj(psiren_cutlet, reagents.total_volume / 4)
var/psiren_leather = new /obj/item/reagent_containers/food/snacks/psiren_leather(loc)
reagents.trans_to_obj(psiren_leather, reagents.total_volume / 4)
qdel_self()
/obj/item/reagent_containers/food/snacks/raw_psiren_cutlet
name = "raw psiren cutlet"
icon = 'icons/obj/item/reagent_containers/food/meat.dmi'
desc = "Small slices of Psiren meat. Not so tough now, are you, squid?"
icon_state = "psiren_cutlet"
filling_color = "#f5c235"
/obj/item/reagent_containers/food/snacks/psiren_leather
name = "psiren leather"
icon = 'icons/obj/item/reagent_containers/food/meat.dmi'
desc = "The blueish skin of a Psiren. It's very glossy and kind of pretty when it's not attached to a vicious monster trying to kill you."
icon_state = "psiren_leather"
filling_color = "#247892"
bitesize = 0.2 //it's rubbery
reagents_to_add = list(/singleton/reagent/nutriment/protein/seafood = 1)
reagent_data = list(/singleton/reagent/nutriment/protein/seafood = list("chewy, bitter fish leather" = 8))
@@ -212,6 +212,27 @@
bitesize = 3
reagents_to_add = list(/singleton/reagent/nutriment/protein/seafood = 7)
/obj/item/reagent_containers/food/snacks/bowl/psiren_chips
name = "psiren chips"
gender = PLURAL
desc = "Small, thin slices of Psiren skin deep fried and salted. Psiren skin responds very well to being fried, absorbing oil easily and becoming very crunchy in the process."
icon = 'icons/obj/item/reagent_containers/food/fryer.dmi'
icon_state = "psiren_chips"
filling_color = "#1a778f"
bitesize = 0.5
reagents_to_add = list(/singleton/reagent/nutriment/protein/seafood = 2)
reagent_data = list(/singleton/reagent/nutriment/protein/seafood = list("salted fish chips" = 5, "extreme crunchiness" = 5))
unitname = "chip"
trash = /obj/item/trash/bowl_small
vendingobject = /obj/item/reagent_containers/food/snacks/psiren_chip
/obj/item/reagent_containers/food/snacks/psiren_chip
name = "psiren chip"
desc = "A crunchy square of deep fried Psiren skin. Crunches in your mouth, not in your hand."
icon = 'icons/obj/item/reagent_containers/food/fryer.dmi'
icon_state = "psiren_chip"
bitesize = 1
filling_color = "#1a778f"
/obj/item/reagent_containers/food/snacks/donut
name = "donut"
@@ -497,3 +497,99 @@
trash = /obj/item/trash/plate
filling_color = "#68451c"
bitesize = 2
/obj/item/reagent_containers/food/snacks/psitenders
name = "psitenders"
desc = "Cuts of psiren meat coated in a mix of spices, breaded, fried, and served on a bed of sauerkraut with a dipping sauce such as spicy mayo or soy sauce. Sauerkraut and Psiren meat make for a popular combination, for whatever reason."
icon = 'icons/obj/item/reagent_containers/food/meat.dmi'
icon_state = "psitenders"
trash = /obj/item/trash/plate
filling_color = "#b18a37"
reagents_to_add = list(/singleton/reagent/nutriment/protein/seafood = 5, /singleton/reagent/nutriment = 4)
reagent_data = list(/singleton/reagent/nutriment = list("crunchy coating" = 5, "sauerkraut" = 5), /singleton/reagent/nutriment/protein/seafood = list("carbonated chicken" = 5, "spices" = 4))
bitesize = 2
/obj/item/reagent_containers/food/snacks/psitenders/update_icon()
var/expected_initial_reagent_volume
for(var/k in src.reagents_to_add)
expected_initial_reagent_volume += reagents_to_add[k]
var/percent_psitenders = round((reagents.total_volume / expected_initial_reagent_volume) * 100)
switch(percent_psitenders)
if(-INFINITY to 40)
icon_state = "psitenders_half"
if(41 to INFINITY)
icon_state = "psitenders"
/obj/item/reagent_containers/food/snacks/psychoyaki
name = "psychoyaki"
desc = "D E F I N I T E L Y N O R M A L F O O D ." //U N B L O C K S Y O U R T H I R D E Y E A N D Y O U R C O L O N.
icon = 'icons/obj/item/reagent_containers/food/meat.dmi'
icon_state = "psychoyaki"
trash = /obj/item/trash/chipbasket
filling_color = "#ee9471"
center_of_mass = list("x"=17, "y"=9)
bitesize = 2
reagents_to_add = list(/singleton/reagent/nutriment = 3, /singleton/reagent/nutriment/protein/seafood = 4, /singleton/reagent/drugs/mindbreaker = 2)
reagent_data = list(/singleton/reagent/nutriment = list("fried batter" = 4), /singleton/reagent/nutriment/protein/seafood = list("the great and ever-yawning cosmos" = 5, "fizzy chicken" = 2))
/obj/item/reagent_containers/food/snacks/psirensteak
name = "psiren steak"
desc = "A yellowish steak made of psiren meat. It makes a noise like pop rocks candy as it sizzles, slowly dying down as it cools."
icon = 'icons/obj/item/reagent_containers/food/meat.dmi'
icon_state = "psirensteak"
trash = /obj/item/trash/plate/steak
filling_color = "#c79f1a"
center_of_mass = list("x"=16, "y"=13)
bitesize = 2
reagents_to_add = list(/singleton/reagent/nutriment/protein/seafood = 2, /singleton/reagent/nutriment/triglyceride = 2)
/obj/item/reagent_containers/food/snacks/psirensteak/update_icon()
var/expected_initial_reagent_volume
for(var/k in src.reagents_to_add)
expected_initial_reagent_volume += reagents_to_add[k]
var/percent_psirensteak = round((reagents.total_volume / expected_initial_reagent_volume) * 100)
switch(percent_psirensteak)
if(-INFINITY to 50)
icon_state = "psirensteak_half"
if(51 to INFINITY)
icon_state = "psirensteak"
/obj/item/reagent_containers/food/snacks/cornucopia
name = "cornucopia roast"
desc = "'Cornucopia Roast' sure sounds better than 'Stuffed tentacle', doesn't it? Well, that's still what it is."
icon = 'icons/obj/item/reagent_containers/food/meat.dmi'
icon_state = "cornucopia"
filling_color = "#d8cdaa"
bitesize = 2
reagents_to_add = list(/singleton/reagent/nutriment = 1)
reagent_data = list(/singleton/reagent/nutriment = list("risotto" = 5, "nutmeg" = 5, "crunchy seafood" = 3))
/obj/item/reagent_containers/food/snacks/cornucopia/update_icon()
var/expected_initial_reagent_volume
for(var/k in src.reagents_to_add)
expected_initial_reagent_volume += reagents_to_add[k]
var/percent_cornucopia = round((reagents.total_volume / expected_initial_reagent_volume) * 100)
switch(percent_cornucopia)
if(-INFINITY to 50)
icon_state = "cornucopia_half"
if(51 to INFINITY)
icon_state = "cornucopia"
/obj/item/reagent_containers/food/snacks/grilled_tentacle
name = "grilled tentacle"
desc = "A real deal grilled tendril."
icon = 'icons/obj/item/reagent_containers/food/meat.dmi'
icon_state = "grilled_tentacle"
trash = /obj/item/trash/plate/steak
filling_color = "#503413"
bitesize = 2
reagents_to_add = list(/singleton/reagent/nutriment/protein/seafood = 2, /singleton/reagent/nutriment/triglyceride = 2)
reagent_data = list(/singleton/reagent/nutriment/protein/seafood = list("salted, crunchy seafood" = 5, "fizzy chicken" = 5))
/obj/item/reagent_containers/food/snacks/grilled_tentacle/update_icon()
var/percent_grilled_tentacle = round((reagents.total_volume / 6) * 100)
switch(percent_grilled_tentacle)
if(0 to 50)
icon_state = "grilled_tentacle_half"
if(51 to INFINITY)
icon_state = "grilled_tentacle"
@@ -282,6 +282,18 @@
filling_color = "#921f10"
bitesize = 4
/obj/item/reagent_containers/food/snacks/stew/psiren_surprise
name = "psiren surprise"
desc = "What's in this thing? Oh, haha, don't worry about it. What? Moving? Don't be silly! That's because it's still bubbling! This is just a nice, hearty stew, and what's important is that there's enough here for multiple people! Or, uh, one person from mining, I guess. (Psst! Hey, quit moving in there! Don't make me use the ladle again!)"
icon = 'icons/obj/item/reagent_containers/food/soup.dmi'
icon_state = "psiren_surprise"
trash = /obj/item/trash/stew
filling_color = "#68391a"
bitesize = 4
is_liquid = TRUE
reagents_to_add = list(/singleton/reagent/nutriment = 4)
reagent_data = list(/singleton/reagent/nutriment = list("vegetables" = 5, "fishy undertones" = 3))
// Chilli
/obj/item/reagent_containers/food/snacks/hotchili