/tg/ Station 13 - Modules - TypesVar Details - Proc Details

crafting_recipe

Vars

blacklisttype paths of items explicitly not allowed as an ingredient
categorywhere it shows up in the crafting UI
chem_catalystslike tool_behaviors but for reagents
crafting_flagscrafting_flags var to hold bool values
delete_contentsWhether we should delete the contents of the crafted storage item (Only works with storage items, used for ammo boxes, donut boxes, internals boxes, etc)
descdescription displayed in game Optional, if not set uses result desc
machineryRequired machines for the craft, set the assigned value of the typepath to CRAFTING_MACHINERY_CONSUME or CRAFTING_MACHINERY_USE. Lazy associative list: type_path key -> flag value.
mass_craftableAllows you to craft so that you don't have to click the craft button many times.
namein-game display name Optional, if not set uses result name
non_craftableWhether the result can be crafted with a crafting menu button
partstype paths of items that will be forceMoved() into the result instead of being deleted
placement_checksBitflag of additional placement checks required to place. (STACK_CHECK_CARDINALS|STACK_CHECK_ADJACENT|STACK_CHECK_TRAM_FORBIDDEN|STACK_CHECK_TRAM_EXCLUSIVE)
reactionChemical reaction described in the recipe
reqstype paths of items consumed associated with how many are needed
requirements_mats_blacklistitems, structures and machineries of types that are in this list won't transfer their materials to the result
resulttype path of item resulting from this craft
result_amountResulting amount (for stacks only)
stepsSteps needed to achieve the result
structuresRequired structures for the craft, set the assigned value of the typepath to CRAFTING_STRUCTURE_CONSUME or CRAFTING_STRUCTURE_USE. Lazy associative list: type_path key -> flag value.
timetime in seconds. Remember to use the SECONDS define!
tool_behaviorsString defines of items needed but not consumed. Lazy list.
tool_pathsType paths of items needed but not consumed. Lazy list.
unit_test_spawn_extrasIf defined, it'll spawn paths in this list first during the unit test. This is an assoc list, with the key being the paths and the value being the amount (e.g. list(/obj/item = 2))

Procs

check_requirementsRun custom pre-craft checks for this recipe, don't add feedback messages in this because it will spam the client
check_toolsRun custom pre-craft checks for this recipe for tools, rather than consumed requirements.
crafting_ui_dataAdditional UI data to be passed to the crafting UI for this recipe

Var Details

blacklist

type paths of items explicitly not allowed as an ingredient

category

where it shows up in the crafting UI

chem_catalysts

like tool_behaviors but for reagents

crafting_flags

crafting_flags var to hold bool values

delete_contents

Whether we should delete the contents of the crafted storage item (Only works with storage items, used for ammo boxes, donut boxes, internals boxes, etc)

desc

description displayed in game Optional, if not set uses result desc

machinery

Required machines for the craft, set the assigned value of the typepath to CRAFTING_MACHINERY_CONSUME or CRAFTING_MACHINERY_USE. Lazy associative list: type_path key -> flag value.

mass_craftable

Allows you to craft so that you don't have to click the craft button many times.

name

in-game display name Optional, if not set uses result name

non_craftable

Whether the result can be crafted with a crafting menu button

parts

type paths of items that will be forceMoved() into the result instead of being deleted

placement_checks

Bitflag of additional placement checks required to place. (STACK_CHECK_CARDINALS|STACK_CHECK_ADJACENT|STACK_CHECK_TRAM_FORBIDDEN|STACK_CHECK_TRAM_EXCLUSIVE)

reaction

Chemical reaction described in the recipe

reqs

type paths of items consumed associated with how many are needed

requirements_mats_blacklist

items, structures and machineries of types that are in this list won't transfer their materials to the result

result

type path of item resulting from this craft

result_amount

Resulting amount (for stacks only)

steps

Steps needed to achieve the result

structures

Required structures for the craft, set the assigned value of the typepath to CRAFTING_STRUCTURE_CONSUME or CRAFTING_STRUCTURE_USE. Lazy associative list: type_path key -> flag value.

time

time in seconds. Remember to use the SECONDS define!

tool_behaviors

String defines of items needed but not consumed. Lazy list.

tool_paths

Type paths of items needed but not consumed. Lazy list.

unit_test_spawn_extras

If defined, it'll spawn paths in this list first during the unit test. This is an assoc list, with the key being the paths and the value being the amount (e.g. list(/obj/item = 2))

Proc Details

check_requirements

Run custom pre-craft checks for this recipe, don't add feedback messages in this because it will spam the client

user: The /mob that initiated the crafting collected_requirements: A list of lists of /obj/item instances that satisfy reqs. Top level list is keyed by requirement path.

check_tools

Run custom pre-craft checks for this recipe for tools, rather than consumed requirements.

crafting_ui_data

Additional UI data to be passed to the crafting UI for this recipe