Adds Glass Sandwiches and Supermatter Sandwiches (#30435)

* glass sammich

* Update cutting_board_recipes.dm

* yummy

* Update test_tiny.dmm

* Update test_tiny.dmm

* Update toxins.dm

* Update test_tiny.dmm

* Update test_tiny.dmm

* Update test_tiny.dmm

* Update test_tiny.dmm

* Revert "yummy"

This reverts commit b2a5736618.

* yummy but without test tiny shit

* Update cooking_container.dm

* isolate sliver handling to a recipe step

* fix

---------

Co-authored-by: warriorstar-orion <orion@snowfrost.garden>
This commit is contained in:
CRUNCH
2025-10-04 18:20:21 +01:00
committed by GitHub
parent 99ff0ad3de
commit d1d1393ee2
4 changed files with 146 additions and 0 deletions
@@ -414,6 +414,72 @@
PCWJ_ADD_ITEM(/obj/item/food/sliced/bread),
)
/datum/cooking/recipe/glass_sandwich
container_type = /obj/item/reagent_containers/cooking/board
product_type = /obj/item/food/glass_sandwich
catalog_category = COOKBOOK_CATEGORY_BURGS
steps = list(
PCWJ_ADD_ITEM(/obj/item/food/sliced/bread),
PCWJ_ADD_ITEM(/obj/item/shard, exact = TRUE),
PCWJ_ADD_ITEM(/obj/item/food/sliced/bread),
)
/datum/cooking/recipe/plasma_glass_sandwich
container_type = /obj/item/reagent_containers/cooking/board
product_type = /obj/item/food/glass_sandwich/plasma
catalog_category = COOKBOOK_CATEGORY_BURGS
steps = list(
PCWJ_ADD_ITEM(/obj/item/food/sliced/bread),
PCWJ_ADD_ITEM(/obj/item/shard/plasma),
PCWJ_ADD_ITEM(/obj/item/food/sliced/bread),
)
/datum/cooking/recipe/plastitanium_glass_sandwich
container_type = /obj/item/reagent_containers/cooking/board
product_type = /obj/item/food/glass_sandwich/plasma/plastitanium
catalog_category = COOKBOOK_CATEGORY_BURGS
steps = list(
PCWJ_ADD_ITEM(/obj/item/food/sliced/bread),
PCWJ_ADD_ITEM(/obj/item/shard/plastitanium),
PCWJ_ADD_ITEM(/obj/item/food/sliced/bread),
)
/// A step that allows either direct adding of a supermatter sliver
/// (if you have somehow manage to hold one), or
/// from tongs if those are used and contain a sliver in them.
/datum/cooking/recipe_step/add_item/supermatter_sliver
/datum/cooking/recipe_step/add_item/supermatter_sliver/check_conditions_met(obj/added_item, datum/cooking/recipe_tracker/tracker)
var/obj/item/retractor/supermatter/tongs = added_item
if(istype(tongs) && tongs.sliver)
return PCWJ_CHECK_VALID
var/obj/item/nuke_core/supermatter_sliver/sliver = added_item
if(istype(sliver))
return PCWJ_CHECK_VALID
return PCWJ_CHECK_INVALID
/datum/cooking/recipe_step/add_item/supermatter_sliver/follow_step(obj/used_item, datum/cooking/recipe_tracker/tracker, mob/user)
var/obj/item/retractor/supermatter/tongs = used_item
if(istype(tongs) && tongs.sliver)
. = ..(tongs.sliver, tracker, user)
// TODO: refactor the tongs so they actually check if(sliver) in `update_icon()` instead of manually setting the icons everywhere.
tongs.sliver = null
tongs.update_appearance(UPDATE_ICON_STATE)
else
. = ..()
/datum/cooking/recipe/supermatter_sandwich
container_type = /obj/item/reagent_containers/cooking/board
product_type = /obj/item/food/supermatter_sandwich
catalog_category = COOKBOOK_CATEGORY_BURGS
steps = list(
PCWJ_ADD_ITEM(/obj/item/food/sliced/bread),
new /datum/cooking/recipe_step/add_item/supermatter_sliver(),
PCWJ_ADD_ITEM(/obj/item/food/sliced/bread),
)
/datum/cooking/recipe/philly_cheesesteak
container_type = /obj/item/reagent_containers/cooking/board
product_type = /obj/item/food/philly_cheesesteak