| /datum/dirt_feature | One 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/stroke | A 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/glob | A 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/glint | One highlight pixel on a lump's upper side, in the glint role. |
|---|
| /datum/dirt_feature/glint/highlight | A 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/run | A 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_span | Returns 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/glaze | A 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/spill | A 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_plan | Draws 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. |
|---|