/tg/ Station 13 - Modules - Types

modular_aphelion/modules/dirt/code/features.dm

/datum/dirt_featureOne mark a cause leaves on a body's surface: how thick it lies at each point of one limb, from 0, nothing, to 1. Only a contact point or a wet coat's underside passes DIRT_CONTACT, so the darkest role lands there and nowhere else.
/datum/dirt_feature/strokeA streak between two surface points, tapering toward its end. A fringe draws a film edge round it; a fluid's drip goes without, since a fringe dithered a 1 px streak.
/datum/dirt_feature/globA rounded lump of goo where it landed: thickest underneath, a thin film round it, its outline wobbling a little with noise. Glint adds the highlight on top.
/datum/dirt_feature/glintOne highlight pixel on a lump's upper side, in the glint role.
/datum/dirt_feature/glint/highlightA highlight on one pixel only, the nearest to its theta of those a glint lights: on a narrow limb a glint lit two side by side, a white dash.
/datum/dirt_feature/runA run straight down a limb, one pixel a row: in each row, the limb's pixel nearest its theta, where that pixel covers it. A streak along one theta broke up wherever the view foreshortens the limb.
/proc/dirt_pixel_spanReturns how many degrees a pixel of a row spans: the turn to the pixels beside it in the row, or a limb's own at least.
/datum/dirt_feature/glazeA translucent tongue hanging from where it landed: film in its middle, thinning to broken haze toward its edge, its top and tip moving up and down across it with noise. Even to its edge, a sheet read as a garment.
/datum/dirt_feature/spillA run or a tongue carried on past the torso's last row onto the leg under it, straight down the column it left the torso by: a coat that stopped at the waist read as an apron or a tube top's hem. A run ends in its grey underside, a tongue in haze, with film beside its upper half.
/datum/dirt_feature/run_planDraws nothing: a deposit's runs and drops as its top run level has them, in the order a view keeps them (dirt_runs_apart()), so every level keeps the same ones.