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

stack

Vars

amountHow much is in this stack?
costRelated to above. How much energy it costs from storage to use stack items
full_w_classThe weight class the stack has at amount > 2/3rds max_amount
has_unique_girderDoes this stack require a unique girder in order to make a wall?
is_cyborgIf TRUE, this stack is a module used by a cyborg (doesn't run out like normal / etc)
material_typeDatum material type that this stack is made of
mats_per_unitList that tells you how much is in a single unit.
matter_amountAmount of matter given back to RCDs
max_amountHow much is allowed in this stack?
merge_typeThis path and its children should merge with this stack, defaults to src.type
novariantsDetermines whether the item should update its sprites based on amount.
radial_radiusIf use_radial is TRUE, this is the radius of the radial
recipesA list to all recipies this stack item can create.
singular_nameWhat's the name of just 1 of this stack. You have a stack of leather, but one piece of leather
sourceRelated to above. If present, the energy we draw from when using stack items, for cyborgs
stairs_typeWhat typepath stairs do we create from this stack
table_typeWhat typepath table we create from this stack
usable_for_constructionCan this stack be used for contruction of girders?
use_radialIf TRUE, we'll use a radial instead when displaying recipes
walltypeWhat type of wall does this sheet spawn

Procs

add
build_recipeReturns a list of properties of a given recipe
building_checksChecks if we can build here, validly.
can_merge
get_table_typeGets the table type we make, accounting for potential exceptions.
is_valid_recipeChecks if the recipe is valid to be used
is_zero_amountReturns TRUE if the item stack is the equivalent of a 0 amount item.
make_itemMakes the item with the given recipe.
mergeMerges as much of src into target_stack as possible. If present, the limit arg overrides target_stack.max_amount for transfer.
merge_with_locTries to merge the stack with everything on the same tile.
merge_without_delMerges as much of src into target_stack as possible. If present, the limit arg overrides target_stack.max_amount for transfer.
radial_checkUsed as a callback for radial building.
recursively_build_recipesBuilds all recipes in a given recipe list and returns an association list containing them
show_construction_radialShows a radial consisting of every radial recipe we have in our list.
split_n_takeSplits amount items from stack, attempts to place new stack in user's hands. Returns the new stack. Arguments:
split_stack
update_custom_materialsCalled to lazily update the materials of the item whenever the used or if more is added

Var Details

amount

How much is in this stack?

cost

Related to above. How much energy it costs from storage to use stack items

full_w_class

The weight class the stack has at amount > 2/3rds max_amount

has_unique_girder

Does this stack require a unique girder in order to make a wall?

is_cyborg

If TRUE, this stack is a module used by a cyborg (doesn't run out like normal / etc)

material_type

Datum material type that this stack is made of

mats_per_unit

List that tells you how much is in a single unit.

matter_amount

Amount of matter given back to RCDs

max_amount

How much is allowed in this stack?

merge_type

This path and its children should merge with this stack, defaults to src.type

novariants

Determines whether the item should update its sprites based on amount.

radial_radius

If use_radial is TRUE, this is the radius of the radial

recipes

A list to all recipies this stack item can create.

singular_name

What's the name of just 1 of this stack. You have a stack of leather, but one piece of leather

source

Related to above. If present, the energy we draw from when using stack items, for cyborgs

stairs_type

What typepath stairs do we create from this stack

table_type

What typepath table we create from this stack

usable_for_construction

Can this stack be used for contruction of girders?

use_radial

If TRUE, we'll use a radial instead when displaying recipes

walltype

What type of wall does this sheet spawn

Proc Details

add

build_recipe

Returns a list of properties of a given recipe

Arguments:

building_checks

Checks if we can build here, validly.

can_merge

get_table_type

Gets the table type we make, accounting for potential exceptions.

is_valid_recipe

Checks if the recipe is valid to be used

Arguments:

is_zero_amount

Returns TRUE if the item stack is the equivalent of a 0 amount item.

Also deletes the item if delete_if_zero is TRUE and the stack does not have is_cyborg set to true.

make_item

Makes the item with the given recipe.

merge

Merges as much of src into target_stack as possible. If present, the limit arg overrides target_stack.max_amount for transfer.

This proc deletes src if the remaining amount after the transfer is 0.

merge_with_loc

Tries to merge the stack with everything on the same tile.

merge_without_del

Merges as much of src into target_stack as possible. If present, the limit arg overrides target_stack.max_amount for transfer.

This calls use() without check = FALSE, preventing the item from qdeling itself if it reaches 0 stack size.

As a result, this proc can leave behind a 0 amount stack.

radial_check

Used as a callback for radial building.

recursively_build_recipes

Builds all recipes in a given recipe list and returns an association list containing them

Arguments:

show_construction_radial

Shows a radial consisting of every radial recipe we have in our list.

split_n_take

Splits amount items from stack, attempts to place new stack in user's hands. Returns the new stack. Arguments:

split_stack

update_custom_materials

Called to lazily update the materials of the item whenever the used or if more is added