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

dirtiness

The mess a person or an item carries, as splats: each a variant of a zone's mess at a level, from masks SSdirt makes. A person's skin splats draw through one /datum/bodypart_overlay/dirt_skin on each limb skin mess draws on, under what they wear, and fade out beside it. Their underclothes' splats are kept with each piece, and draw over it through one /datum/bodypart_overlay/dirt_underclothes on the chest while it's worn and shows. Their parts' splats draw with each part's own front layer, and their taur body's pools with the taur body's own images. A garment's splats draw inset over it while a person wears it, and a taur suit's back splats as pools along the taur body's back too. The parts a surface's mess reaches shape it (dirt_surface_parts()). Washing clears it, as it clears the floor's decals.

Vars

clothAn item's cloth masks, made from its wearer's body.
cover_keyWhat the body wore over its skin when the skin's request was made, as dirt_sprites_key() writes it.
mess_splatsThis carrier's /datum/dirt_splat, oldest first: a person's skin, or an item's cloth.
part_drawingsalist(ORGAN_SLOT_* = /datum/dirt_drawing): each part with splats' own masks, made again when its sprite changes.
part_mess_splatsA person's parts' splats: alist(ORGAN_SLOT_* = list of /datum/dirt_splat, oldest first). The taur body's pools are ORGAN_SLOT_EXTERNAL_TAUR's.
parts_keyThe body's parts as dirt_body_parts_key() wrote them when check_parts() last looked, so a change since draws the garments it wears again, which check their own masks as they draw.
skinThe skin's masks, made again when the splats, the body's sprites or what it wears change. Its parts_key is the body's parts when its request was made, as dirt_body_parts_key() writes them.
skin_overlaysalist(body zone = /datum/bodypart_overlay/dirt_skin): the overlay on each limb skin mess draws on.
skin_readsWhat the limbs and eyes were drawn from when they last matched the skin's request (skin_read_again()): alist(body zone = /obj/item/bodypart/proc/dirt_sprite_reads(), "eyes" = dirt_eye_reads()), for skin_reads_for.
skin_reads_forThe skin's request skin_reads were read for. Another one reads them again.
taur_clothA taur suit's pools, its back splats along its wearer's taur body's back, made while a taur wears it.
underclothes_drawingsalist(underclothes key = /datum/dirt_drawing): each piece with splats' masks, made again when what's drawn changes, and none while the piece is off or hidden.
underclothes_overlayThe overlay on the chest drawing the underclothes' splats, while there are any.
underclothes_splatsA person's underclothes' splats: alist(underclothes key = list of /datum/dirt_splat, oldest first), keyed by the piece and its accessory (dirt_underclothes_key()). They stay while the piece is off or hidden.

Procs

add_messPuts a mess on a zone of this carrier: its skin or cloth, or the part in an organ slot. As a shot lands it, the levels go on the zone's newest splat, up to DIRT_MESS_MAX_LEVEL, and what's left starts another splat at that level, at most the top one, with a variant this carrier doesn't have on that zone yet while one is left. A variant given places a new splat at levels with that variant.
add_underclothes_messPuts a mess on a zone of the underclothes a person wears in a slot, as add_mess() puts it on the skin. It stays with that piece, kept while it's off or hidden.
check_coverHas the skin's masks made again if what the body wears over its skin changed since they were asked for, so its mess fades out beside what it wears now, and draws the body.
check_partsHas the masks the body's parts shape made again if what it draws of them changed since they were asked for (a genital shown, hidden, layered otherwise, swapped or resized), and draws the body. The skin and each piece of underclothes are judged by the parts their own masks were asked for with, so a piece made again meanwhile can't hide skin masks made before; the garments by a change since this last looked.
clear_messTakes all of this carrier's mess off.
drop_partTakes a part's splats and masks off, as it leaves the body. Its leaving draws the body.
drop_underclothes_overlayTakes the underclothes overlay off, wherever it is. Nothing is drawn until the body's next update_body_parts().
forget_skin_readsDrops what the skin's sprites were last read from (skin_reads), which holds the limbs and eyes read, so none that leaves is kept: the next draw reads them again.
forget_underclothes_masksHas every piece of underclothes' masks made again for what's drawn now: its splats stay with it, worn or not. Nothing is drawn until the body's next update_body_parts().
fresh_mess_variantReturns a variant of a zone's mess this carrier doesn't have on that zone yet, at random, or any once it has them all.
mess_changedDraws a change to this carrier's splats: a person's skin and underclothes, a part of theirs, or an item's slot while it's worn. A part's change redraws the whole body, which a portal relay drawing the part, or a bulge look drawing it behind a cover, follows.
mess_countReturns how many splats this carrier holds, parts and underclothes included.
note_skin_readsNotes what some zones' limbs, and the eyes when asked, are drawn from now, for the skin's request (skin_reads): its zone sources name what they draw.
oldest_messReturns this carrier's oldest splat, parts and underclothes included, or null with none.
on_cleanClears this carrier's mess when it's washed as the floor's decals are.
on_genital_updatedHas SSdirt look, once the change settles, whether the parts the body draws changed with a genital's sprite (an erection, a new size) and the masks they shape need making again (check_parts()).
on_limb_attachedHas the masks made again for the body a limb attached to the person makes, every limb shaping the others' silhouettes, and gives the limb a skin overlay if skin mess draws on it, and the chest the underclothes overlay. The attach draws the body.
on_limb_removedTakes the skin overlay off a limb leaving the person, whose mess stays with them, lets go of it and of the eyes it may take (forget_skin_reads()), and has the masks made again for the body left. The removal draws the body.
on_organ_gainedHas SSdirt look again, once the change settles, at a body gaining a taur body, as a genital joining it would have it (check_parts()). The taur body's own images ask for its pools as they're drawn.
on_organ_lostTakes a taur body's pools off as it leaves the body, as a genital leaving takes its share, and has SSdirt look again once the change settles. Its leaving draws the body. Eyes leaving are let go of (forget_skin_reads()).
on_overlay_changedFollows what a person wears: a change to the underclothes has their masks made again for what's drawn now, and a change to any slot that covers skin has SSdirt check, once the slots settle, whether the skin's mess fades at other edges now (check_cover()).
on_worn_overlaysDraws an item's mess over it while a person wears it: inset images in its worn wrapper, from the wearer's cloth masks, moved back onto the body's tile by what build_worn_icon() moves the wrapper by (dirt_worn_shift()). On a taur suit, a sprite spanning the taur canvas (dirt_taur_fitted()), the suit's back splats draw as pools along the taur body's back too, on the canvas round that tile. Off the body it draws none.
parts_changedHas every mask a body's parts shape made again, the old ones drawn meanwhile: the skin's, the underclothes', and the garments' it wears, which their own draws make again. Draws the body.
ready_cloth_masksReturns the masks a worn item's cloth is drawn with on its wearer, or null while there are none to draw, asking for them as ready_skin_masks() does. Masks made for a body drawn from other sprites (another wearer, other eyes) are dropped and made again; a change to the parts its splats reach (dirt_surface_parts()) makes them again too, the old ones drawn meanwhile.
ready_part_masksReturns the masks of a person's part's own mess, its share drawn with its front layer, or null while there are none to draw, asking for them as ready_skin_masks() does; SSdirt draws the whole body again once they're made. Masks made for another sprite of the part (an erection, a jiggle, another size) are dropped and made again: they wouldn't fit it. The vulva on bare skin takes the ring of skin round it, so its masks follow the body's template too. A part drawn at more than one layer (a butt's front and back images) draws its share only in the directions it shows over what it lies on (dirt_zone_layer()): the surface's masks take it in the rest.
ready_skin_masksReturns the masks the skin's mess is drawn with on a limb, or null while there are none to draw. The first ask after a change queues them with SSdirt, which draws the body again once they're made; until then the masks before them are drawn, so mess already there stays while more is added. Masks made for other sprites than the body draws (a new size, a swapped limb, other eyes) are dropped and made again: on every draw each limb skin mess draws on checks its own, and the chest the arms, the hands and the eyes. Each is read again only once what it's drawn from has changed since it last matched (skin_reads), so a steady draw compares a few vars. They fade out beside what the body wears (dirt_cover_sprites()), and the parts the splats reach shape them (dirt_surface_parts()) as each draws over or under the skin in each direction: every front image over it, a butt's back image and the pecs guide under it.
ready_taur_cloth_masksReturns the masks of a taur suit's pools on its wearer, or null while there are none to draw, asking for them as ready_skin_masks() does: its back splats along the back of the taur body it hides, as that body would draw them (ready_taur_masks()), over the whole taur canvas. Masks made for another taur body or rider are dropped and made again.
ready_taur_masksReturns the masks of a person's taur body's pools, drawn with its own images, or null while there are none to draw, asking for them as ready_skin_masks() does; SSdirt draws the body again once they're made. They lie along the back of the taur body's sprite, keeping clear of the rider's mess, so masks made for another sprite (lying down, another kind) or another rider are dropped and made again.
ready_underclothes_masksReturns the masks of each piece of a person's underclothes that has some drawn and is worn and shows now, asking for those not made yet as ready_skin_masks() does. Each is cloth's, kept to the pixels the piece shows, under those drawn over it, and shaped by the parts its splats reach (dirt_surface_parts()): pecs under a tank top, or a genital set to draw below the underwear. A piece off or hidden keeps its splats but draws none.
remove_messTakes one splat off this carrier, wherever it lies.
skin_besides_unchangedReturns whether what the chest's draw checks of the skin's sprites besides its own, the arms and hands, the eyes and whether the head is a human's, is drawn from what it was when they last matched (skin_reads).
skin_read_againReturns whether the body draws the sprites the skin's masks were made from, as a limb's draw checks them: its own, and for the chest the arms and hands, the eyes and whether the head is a human's (dirt_zone_sources_match(), which checks the eyes whichever limb asks). When it does, notes what they're drawn from (skin_reads).
stack_messAdds a mess to one surface's splats as add_mess() describes, and returns the splat it started, or the one it raised.
sync_skin_overlaysPuts a skin overlay on each limb skin mess draws on while the skin carries any, and takes them off once it doesn't. Nothing is drawn until the body's next update_body_parts().
sync_underclothes_overlayPuts the underclothes overlay on the chest while the underclothes carry mess, and takes it off once they don't. Nothing is drawn until the body's next update_body_parts().

Var Details

cloth

An item's cloth masks, made from its wearer's body.

cover_key

What the body wore over its skin when the skin's request was made, as dirt_sprites_key() writes it.

mess_splats

This carrier's /datum/dirt_splat, oldest first: a person's skin, or an item's cloth.

part_drawings

alist(ORGAN_SLOT_* = /datum/dirt_drawing): each part with splats' own masks, made again when its sprite changes.

part_mess_splats

A person's parts' splats: alist(ORGAN_SLOT_* = list of /datum/dirt_splat, oldest first). The taur body's pools are ORGAN_SLOT_EXTERNAL_TAUR's.

parts_key

The body's parts as dirt_body_parts_key() wrote them when check_parts() last looked, so a change since draws the garments it wears again, which check their own masks as they draw.

skin

The skin's masks, made again when the splats, the body's sprites or what it wears change. Its parts_key is the body's parts when its request was made, as dirt_body_parts_key() writes them.

skin_overlays

alist(body zone = /datum/bodypart_overlay/dirt_skin): the overlay on each limb skin mess draws on.

skin_reads

What the limbs and eyes were drawn from when they last matched the skin's request (skin_read_again()): alist(body zone = /obj/item/bodypart/proc/dirt_sprite_reads(), "eyes" = dirt_eye_reads()), for skin_reads_for.

skin_reads_for

The skin's request skin_reads were read for. Another one reads them again.

taur_cloth

A taur suit's pools, its back splats along its wearer's taur body's back, made while a taur wears it.

underclothes_drawings

alist(underclothes key = /datum/dirt_drawing): each piece with splats' masks, made again when what's drawn changes, and none while the piece is off or hidden.

underclothes_overlay

The overlay on the chest drawing the underclothes' splats, while there are any.

underclothes_splats

A person's underclothes' splats: alist(underclothes key = list of /datum/dirt_splat, oldest first), keyed by the piece and its accessory (dirt_underclothes_key()). They stay while the piece is off or hidden.

Proc Details

add_mess

Puts a mess on a zone of this carrier: its skin or cloth, or the part in an organ slot. As a shot lands it, the levels go on the zone's newest splat, up to DIRT_MESS_MAX_LEVEL, and what's left starts another splat at that level, at most the top one, with a variant this carrier doesn't have on that zone yet while one is left. A variant given places a new splat at levels with that variant.

Arguments:

Returns the splat it started, or the one it raised when it started none.

add_underclothes_mess

Puts a mess on a zone of the underclothes a person wears in a slot, as add_mess() puts it on the skin. It stays with that piece, kept while it's off or hidden.

Arguments:

Returns the splat it started or raised, or null when the person doesn't wear that piece.

check_cover

Has the skin's masks made again if what the body wears over its skin changed since they were asked for, so its mess fades out beside what it wears now, and draws the body.

check_parts

Has the masks the body's parts shape made again if what it draws of them changed since they were asked for (a genital shown, hidden, layered otherwise, swapped or resized), and draws the body. The skin and each piece of underclothes are judged by the parts their own masks were asked for with, so a piece made again meanwhile can't hide skin masks made before; the garments by a change since this last looked.

clear_mess

Takes all of this carrier's mess off.

Arguments:

drop_part

Takes a part's splats and masks off, as it leaves the body. Its leaving draws the body.

Arguments:

drop_underclothes_overlay

Takes the underclothes overlay off, wherever it is. Nothing is drawn until the body's next update_body_parts().

Arguments:

forget_skin_reads

Drops what the skin's sprites were last read from (skin_reads), which holds the limbs and eyes read, so none that leaves is kept: the next draw reads them again.

forget_underclothes_masks

Has every piece of underclothes' masks made again for what's drawn now: its splats stay with it, worn or not. Nothing is drawn until the body's next update_body_parts().

Arguments:

fresh_mess_variant

Returns a variant of a zone's mess this carrier doesn't have on that zone yet, at random, or any once it has them all.

Arguments:

mess_changed

Draws a change to this carrier's splats: a person's skin and underclothes, a part of theirs, or an item's slot while it's worn. A part's change redraws the whole body, which a portal relay drawing the part, or a bulge look drawing it behind a cover, follows.

Arguments:

mess_count

Returns how many splats this carrier holds, parts and underclothes included.

note_skin_reads

Notes what some zones' limbs, and the eyes when asked, are drawn from now, for the skin's request (skin_reads): its zone sources name what they draw.

Arguments:

oldest_mess

Returns this carrier's oldest splat, parts and underclothes included, or null with none.

on_clean

Clears this carrier's mess when it's washed as the floor's decals are.

Arguments:

on_genital_updated

Has SSdirt look, once the change settles, whether the parts the body draws changed with a genital's sprite (an erection, a new size) and the masks they shape need making again (check_parts()).

Arguments:

on_limb_attached

Has the masks made again for the body a limb attached to the person makes, every limb shaping the others' silhouettes, and gives the limb a skin overlay if skin mess draws on it, and the chest the underclothes overlay. The attach draws the body.

Arguments:

on_limb_removed

Takes the skin overlay off a limb leaving the person, whose mess stays with them, lets go of it and of the eyes it may take (forget_skin_reads()), and has the masks made again for the body left. The removal draws the body.

Arguments:

on_organ_gained

Has SSdirt look again, once the change settles, at a body gaining a taur body, as a genital joining it would have it (check_parts()). The taur body's own images ask for its pools as they're drawn.

Arguments:

on_organ_lost

Takes a taur body's pools off as it leaves the body, as a genital leaving takes its share, and has SSdirt look again once the change settles. Its leaving draws the body. Eyes leaving are let go of (forget_skin_reads()).

Arguments:

on_overlay_changed

Follows what a person wears: a change to the underclothes has their masks made again for what's drawn now, and a change to any slot that covers skin has SSdirt check, once the slots settle, whether the skin's mess fades at other edges now (check_cover()).

Arguments:

on_worn_overlays

Draws an item's mess over it while a person wears it: inset images in its worn wrapper, from the wearer's cloth masks, moved back onto the body's tile by what build_worn_icon() moves the wrapper by (dirt_worn_shift()). On a taur suit, a sprite spanning the taur canvas (dirt_taur_fitted()), the suit's back splats draw as pools along the taur body's back too, on the canvas round that tile. Off the body it draws none.

Arguments:

parts_changed

Has every mask a body's parts shape made again, the old ones drawn meanwhile: the skin's, the underclothes', and the garments' it wears, which their own draws make again. Draws the body.

ready_cloth_masks

Returns the masks a worn item's cloth is drawn with on its wearer, or null while there are none to draw, asking for them as ready_skin_masks() does. Masks made for a body drawn from other sprites (another wearer, other eyes) are dropped and made again; a change to the parts its splats reach (dirt_surface_parts()) makes them again too, the old ones drawn meanwhile.

Arguments:

ready_part_masks

Returns the masks of a person's part's own mess, its share drawn with its front layer, or null while there are none to draw, asking for them as ready_skin_masks() does; SSdirt draws the whole body again once they're made. Masks made for another sprite of the part (an erection, a jiggle, another size) are dropped and made again: they wouldn't fit it. The vulva on bare skin takes the ring of skin round it, so its masks follow the body's template too. A part drawn at more than one layer (a butt's front and back images) draws its share only in the directions it shows over what it lies on (dirt_zone_layer()): the surface's masks take it in the rest.

Arguments:

ready_skin_masks

Returns the masks the skin's mess is drawn with on a limb, or null while there are none to draw. The first ask after a change queues them with SSdirt, which draws the body again once they're made; until then the masks before them are drawn, so mess already there stays while more is added. Masks made for other sprites than the body draws (a new size, a swapped limb, other eyes) are dropped and made again: on every draw each limb skin mess draws on checks its own, and the chest the arms, the hands and the eyes. Each is read again only once what it's drawn from has changed since it last matched (skin_reads), so a steady draw compares a few vars. They fade out beside what the body wears (dirt_cover_sprites()), and the parts the splats reach shape them (dirt_surface_parts()) as each draws over or under the skin in each direction: every front image over it, a butt's back image and the pecs guide under it.

Arguments:

ready_taur_cloth_masks

Returns the masks of a taur suit's pools on its wearer, or null while there are none to draw, asking for them as ready_skin_masks() does: its back splats along the back of the taur body it hides, as that body would draw them (ready_taur_masks()), over the whole taur canvas. Masks made for another taur body or rider are dropped and made again.

Arguments:

ready_taur_masks

Returns the masks of a person's taur body's pools, drawn with its own images, or null while there are none to draw, asking for them as ready_skin_masks() does; SSdirt draws the body again once they're made. They lie along the back of the taur body's sprite, keeping clear of the rider's mess, so masks made for another sprite (lying down, another kind) or another rider are dropped and made again.

Arguments:

ready_underclothes_masks

Returns the masks of each piece of a person's underclothes that has some drawn and is worn and shows now, asking for those not made yet as ready_skin_masks() does. Each is cloth's, kept to the pixels the piece shows, under those drawn over it, and shaped by the parts its splats reach (dirt_surface_parts()): pecs under a tank top, or a genital set to draw below the underwear. A piece off or hidden keeps its splats but draws none.

remove_mess

Takes one splat off this carrier, wherever it lies.

Arguments:

Returns the ORGAN_SLOT_* define of the part it was on, or null for the skin, the cloth or the underclothes: what to draw again (mess_changed()).

skin_besides_unchanged

Returns whether what the chest's draw checks of the skin's sprites besides its own, the arms and hands, the eyes and whether the head is a human's, is drawn from what it was when they last matched (skin_reads).

Arguments:

skin_read_again

Returns whether the body draws the sprites the skin's masks were made from, as a limb's draw checks them: its own, and for the chest the arms and hands, the eyes and whether the head is a human's (dirt_zone_sources_match(), which checks the eyes whichever limb asks). When it does, notes what they're drawn from (skin_reads).

Arguments:

stack_mess

Adds a mess to one surface's splats as add_mess() describes, and returns the splat it started, or the one it raised.

Arguments:

sync_skin_overlays

Puts a skin overlay on each limb skin mess draws on while the skin carries any, and takes them off once it doesn't. Nothing is drawn until the body's next update_body_parts().

Arguments:

sync_underclothes_overlay

Puts the underclothes overlay on the chest while the underclothes carry mess, and takes it off once they don't. Nothing is drawn until the body's next update_body_parts().

Arguments: