/tg/ Station 13 - Modules - Types

modular_aphelion/modules/dirt/code/landing.dm

/proc/dirt_mess_landPuts a mess on a person where a shot was aimed (dirt_mess_place()), when the portal shows a zone that lands.
/proc/dirt_mess_landableReturns whether dirt_mess_land() lands a shot at a zone: the zones dirt_mess_zones() lists, and DIRT_ZONE_COCK, which dirt_mess_regions() offers through a one-part portal and which lands on the penis alone.
/proc/dirt_portal_showsReturns whether a portal shows the part of its occupant a zone lies on: through a one-part portal only DIRT_ZONE_COCK, through a wall the groin and the butt (its relay draws no legs), and anything with no portal.
/proc/dirt_lower_zonesReturns the zones below the waist: the groin, the thighs and the butt. You should NEVER modify it.
/proc/dirt_mess_amount_levelsReturns how many levels a shot's amount adds where it lands: 1 for a normal shot, 2 for a heavy one, and straight to DIRT_MESS_MAX_LEVEL for a huge one.
/proc/dirt_mess_placePuts a mess where a shot at a zone lands on a person (dirt_mess_surface()) as /datum/component/dirtiness/proc/add_mess() does, and on each part drawn over that surface which the zone reaches (dirt_body_parts()), a splat of the same variant in its own slot. A back shot on a taur also puts one in its taur body's slot (dirt_taur_takes_pools()), unless a taur suit takes it, whose own splat draws the pools. DIRT_ZONE_COCK lands on the penis alone, while it draws its front image. Then it takes the oldest splats off past DIRT_MESS_MAX_SPLATS, and only then draws each garment that changed and the person, once, so the masks asked for are the ones kept.
/proc/dirt_mess_evictTakes a person's oldest splats off until they carry DIRT_MESS_MAX_SPLATS at most, counting their skin, their parts and their worn items. It draws nothing: the caller draws each carrier it returns, and each part.
/proc/dirt_mess_carriersReturns the carriers of a person's mess: their own, then each worn item's.
/proc/dirt_mess_zonesReturns the zones a shot can be aimed at on a person, in the order they're offered: face, chest, stomach, back, groin, thighs, butt. You should NEVER modify it.
/proc/dirt_mess_regionsReturns the zones a shot on a person can aim at, in dirt_mess_zones() order.
/proc/dirt_mess_entryReturns a zone's entry in a shot's list of where to aim: "On their chest".