/tg/ Station 13 - Modules - Types — Var Details - Proc Details

recolorable

A finish drawn on the Muscular outline in up to four player colours (paint, accent, frame, lights).

Its limbs draw three sheets: their own greyscale image, the skin base, from BULKY_AUGMENTS_SHEET (or its humanoid twin under a mutant colour), and over it copies of that image drawing the finish's packed _paint and _glow states through colour matrices (draw_augment_paint()), so no icon is ever made for a colour. limb_id_override is the finish's id: the prefix of its states in all three sheets.

Only a finish whose design has lights has a "lights" channel, and only the zones its art lights have a lights mask (__e); a limb glows only there (apply_to()). The colour string keeps its lights colour either way.

A finish's name is its save key: renaming one drops it from every save that wears it.

Vars

channelsThe channels its art uses, in channel order, "paint", "accent", "frame" or "lights" -> the label the editor shows.
default_colorsIts colours before a player picks any, "#rrggbb" four times: paint, accent, frame, lights.
presetsColour sets offered in the editor, name -> a colour string as default_colors.

Procs

apply_toSets a limb up to draw this finish, whatever augment item it is on: its skin base as its own greyscale image, its paint and glow in colors (drawn by /datum/element/augment_paint), and its clothes fitted as a Muscular limb's. muscle_size is set here at runtime: a typed one would make init_fitness_limb_families() take the limb type for a fitness family.
augment_brand_statesA recolourable finish draws through its own sheets, so it has no brand states.

Var Details

channels

The channels its art uses, in channel order, "paint", "accent", "frame" or "lights" -> the label the editor shows.

default_colors

Its colours before a player picks any, "#rrggbb" four times: paint, accent, frame, lights.

presets

Colour sets offered in the editor, name -> a colour string as default_colors.

Proc Details

apply_to

Sets a limb up to draw this finish, whatever augment item it is on: its skin base as its own greyscale image, its paint and glow in colors (drawn by /datum/element/augment_paint), and its clothes fitted as a Muscular limb's. muscle_size is set here at runtime: a typed one would make init_fitness_limb_families() take the limb type for a fitness family.

The limb glows only where the finish's art has lights, the zone's lights mask, and while prefs allows emissives; one made without prefs, like an admin spawn, glows. tg lights a limb's whole image and its hand's from is_emissive, so the zone is checked here, once, and never as the limb is drawn; a lit arm's hand has a mask in the sheets too, empty where the hand has no lights.

Its skin parts take their colour from the limb's owner, which the limb learns as it is set up for one (update_limb()'s is_creating); a limb put on a body for its finish is set up so (the spawn branch of /datum/augment_item/limb/apply()).

The preview sets the same limb up again on every rebuild, after taking the last finish off (clear_augment_finish()), so the element is added only to a limb wearing no finish yet: a second one would register its signals twice.

Arguments:

augment_brand_states

A recolourable finish draws through its own sheets, so it has no brand states.