Files
Paradise/code/modules/cooking/steps/recipe_step.dm
T
f9ade844c9 Kitchen rework part 1: machines and recipes. (#28277)
* Kitchen rework part 1: machines and recipes.

* update oldstation

* update updatepaths script number

* fix blank icon test

* remove old deep fryer completely

* fix duped recipes and recipe datum names

* add chef PDA cart to chefdrobe

* nerf grill wood consumption rate

* multiply food for cooking machine rating

* fix runtime

* add cookware to syndie base and oldstation

* remove dupe burger recipe, update syndie/oldstation setups

* nerf potency quality award

* buff burn/ignite times, remove pointless on_fire flag

* more grill woodburn nerf

* meh

* try and unfuck timing issues

* more fixes and icon updates

* more fixes

* more review changes

* fix linter

* disable pcwj debug

* fix grill and deep fryer overlays

* fix timers with no containers

* attempt to fix reagent adding issues

* more cleanups

* allow rped usage

* grammar, null checks, reagent display

* PDA updates, map updates

* fix mats values

* new panel sprites

* recipe fixes, add prep bowl

* revert unused icon file changes

* move this to mesh with smith TM

* remove food quality for now

* New sprites, autochef.

* fix examine text

* reduce oven cook times

* lots of fixes

* fix autochef recipes that start with reagents

* prevent shenanigans

* megapatch 1

* block ingredients behind oven door

* PDA app improvements

* remove unused proc

* fixes for cookbook, descontructions, completed steps

* allow empty containers with a tracker to be claimed

* allow reclaiming

* autochef reliability fixes

* autochef reliability fixes

* fix quality product count

* update updatepaths script

* better stack handling

* more fixes for stacks and reagents

* timers no longer turn off burners automatically

* autochef turn offs and make sure we can see output storage

* add microwave recipe for roundremoving player brains

* Apply suggestions from code review

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
Signed-off-by: warriorstar-orion <orion@snowfrost.garden>

* burza review 1

* Apply suggestions from code review

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
Signed-off-by: warriorstar-orion <orion@snowfrost.garden>

* fix berry muffin name while i'm here

* grill -> microwave in new tests

* grill -> microwave in new tests, but actually for realsies

* i definitely know what i'm doing

* redundant attack chain setting

* add examine text about clearing buffer

* remove unused vars and start improving docs

---------

Signed-off-by: warriorstar-orion <orion@snowfrost.garden>
Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
2025-03-23 04:59:08 +00:00

45 lines
2.1 KiB
Plaintext

RESTRICT_TYPE(/datum/cooking/recipe_step)
/datum/cooking/recipe_step
/// Whether or not the recipe requires this step to be performed.
var/optional = FALSE
/datum/cooking/recipe_step/New(options)
if("optional" in options)
optional = options["optional"]
/datum/cooking/recipe_step/proc/check_conditions_met(obj/used_item, datum/cooking/recipe_tracker/tracker)
SHOULD_CALL_PARENT(FALSE)
return PCWJ_CHECK_VALID
/// Attempt to satisfy the requirements of this step with the object *used_item*
/// being used on the cooking container that the tracker is tracking.
///
/// The return value is a list of metadata about the step used by the tracker
/// during the preparation and final recipe creation. There is no fixed set of
/// values to return here, and different recipe steps may return different
/// useful keys to the tracker. One key that is returned by most steps is
/// "message", which returns the visible message that should be shown in chat to
/// the user when the step is followed.
/datum/cooking/recipe_step/proc/follow_step(obj/used_item, datum/cooking/recipe_tracker/tracker, mob/user)
return list()
/// Special function to check if the step has been satisfied. Sometimed just following the step is enough, but not always.
/datum/cooking/recipe_step/proc/is_complete(obj/added_item, datum/cooking/recipe_tracker/tracker, list/step_data)
return TRUE
/// Return a human readable description of the recipe step as an instruction to the reader.
/datum/cooking/recipe_step/proc/get_pda_formatted_desc()
SHOULD_CALL_PARENT(FALSE)
return ""
/// Attempt to see if the autochef can finish the recipe with the available resources it has.
/// This is done in the "preparation" stage of the autochef.
/datum/cooking/recipe_step/proc/attempt_autochef_prepare(obj/machinery/autochef/autochef)
return AUTOCHEF_ACT_FAILED
/// Attempt to have the autochef actually perform this step. This is during the "performance"
/// stage of the autochef, during which other steps of the recipe may have already been performed.
/datum/cooking/recipe_step/proc/attempt_autochef_perform(datum/autochef_task/follow_recipe/task)
return AUTOCHEF_ACT_FAILED