/datum/scar
scars are cosmetic datums that are assigned to bodyparts once they recover from wounds. Each wound type and severity have their own descriptions for what the scars look like, and then each body part has a list of "specific locations" like your elbow or wrist or wherever the scar can appear, to make it more interesting than "right arm"
Arguments:
Vars | |
biology | Obviously, scars that describe damaged flesh wouldn't apply to a skeleton (in some cases like bone wounds, there can be different descriptions for skeletons and fleshy humanoids) |
---|---|
coverable | Whether this scar can actually be covered up by clothing |
description | The description of the scar for examining |
fake | These scars are assumed to come from changeling disguises, rather than from persistence or wounds. As such, they are deleted by dropping changeling disguises, and are ignored by persistence |
persistent_character_slot | If we're a persistent scar or may become one, we go in this character slot |
precise_location | A string detailing the specific part of the bodypart the scar is on, for fluff purposes. See /datum/scar/proc/generate |
severity | The severity of the scar, derived from the worst severity a wound was at before it was healed (see: slashes), determines how visible/bold the scar description is |
visibility | How many tiles away someone can see this scar, goes up with severity. Clothes covering this limb will decrease visibility by 1 each, except for the head/face which is a binary "is mask obscuring face" check |
Procs | |
format | Used to format a scar to save for either persistent scars, or for changeling disguises |
format_amputated | Used to format a scar to save in preferences for persistent scars |
generate | generate() is used to actually fill out the info for a scar, according to the limb and wound it is provided. |
get_examine_description | What will show up in examine_more() if this scar is visible |
is_visible | Whether a scar can currently be seen by the viewer |
lazy_attach | Used when we finalize a scar from a healing cut |
load | Used to "load" a persistent scar |
Var Details
biology
Obviously, scars that describe damaged flesh wouldn't apply to a skeleton (in some cases like bone wounds, there can be different descriptions for skeletons and fleshy humanoids)
coverable
Whether this scar can actually be covered up by clothing
description
The description of the scar for examining
fake
These scars are assumed to come from changeling disguises, rather than from persistence or wounds. As such, they are deleted by dropping changeling disguises, and are ignored by persistence
persistent_character_slot
If we're a persistent scar or may become one, we go in this character slot
precise_location
A string detailing the specific part of the bodypart the scar is on, for fluff purposes. See /datum/scar/proc/generate
severity
The severity of the scar, derived from the worst severity a wound was at before it was healed (see: slashes), determines how visible/bold the scar description is
visibility
How many tiles away someone can see this scar, goes up with severity. Clothes covering this limb will decrease visibility by 1 each, except for the head/face which is a binary "is mask obscuring face" check
Proc Details
format
Used to format a scar to save for either persistent scars, or for changeling disguises
format_amputated
Used to format a scar to save in preferences for persistent scars
generate
generate() is used to actually fill out the info for a scar, according to the limb and wound it is provided.
After creating a scar, call this on it while targeting the scarred bodypart with a given wound to apply the scar.
Arguments:
- BP- The bodypart being targeted
- W- The wound being used to generate the severity and description info
- add_to_scars- Should always be TRUE unless you're just storing a scar for later usage, like how cuts want to store a scar for the highest severity of cut, rather than the severity when the wound is fully healed (probably demoted to moderate)
get_examine_description
What will show up in examine_more() if this scar is visible
is_visible
Whether a scar can currently be seen by the viewer
lazy_attach
Used when we finalize a scar from a healing cut
load
Used to "load" a persistent scar