Yogstation 13 - Modules - TypesVar Details - Proc Details

Wound

Vars

a_or_fromneeded for "your arm has a compound fracture" vs "your arm has some third degree burns"
already_scarredIf we've already tried scarring while removing (since remove_wound calls qdel, and qdel calls remove wound, .....) TODO: make this cleaner
attached_surgeryIf we're operating on this wound and it gets healed, we'll nix the surgery too
base_treat_timeHow long it will take to treat this wound with a standard effective tool, assuming it doesn't need surgery
blood_flowHow much we're contributing to this limb's bleed_rate
cryo_progressif you're a lazy git and just throw them in cryo, the wound will go away after accumulating severity * 25 power
damage_mulitplier_penaltyIncoming damage on this limb will be multiplied by this, to simulate tenderness and vulnerability (mostly burns).
descThe description shown on the scanners
disablingIf having this wound makes currently makes the parent bodypart unusable
examine_descWhat the limb looks like on a cursory examine
from_smiteIf we forced this wound through badmin smite, we won't count it towards the round totals
interaction_efficiency_penaltyUsing this limb in a do_after interaction will multiply the length by this duration (arms)
limbThe bodypart we're parented to
limp_slowdownIf set and this wound is applied to a leg, we take this many deciseconds extra per step on this leg
linked_status_effectThe status effect we're linked to
nameWhat it's named
occur_textThe visible message when this happens
processesIf we need to process each life tick
scar_keywordWhat kind of scars this wound will create description wise once healed
severityEither WOUND_SEVERITY_TRIVIAL (meme wounds like stubbed toe), WOUND_SEVERITY_MODERATE, WOUND_SEVERITY_SEVERE, or WOUND_SEVERITY_CRITICAL (or maybe WOUND_SEVERITY_LOSS)
sound_effectThis sound will be played upon the wound being applied
status_effect_typeWhat status effect we assign on application
threshold_minimumThe minimum we need to roll on /obj/item/bodypart/proc/check_wounding to begin suffering this wound, see check_wounding_mods() for more
threshold_penaltyHow much having this wound will add to all future check_wounding() rolls on this limb, to allow progression to worse injuries with repeated damage
treat_textThe basic treatment suggested by health analyzers
treatable_bySpecific items such as bandages or sutures that can try directly treating this wound
treatable_by_grabbedSpecific items such as bandages or sutures that can try directly treating this wound only if the user has the victim in an aggressive grab or higher
treatable_toolTools with the specified tool flag will also be able to try directly treating this wound
viable_zonesWhat body zones can we affect
victimWho owns the body part that we're wounding
wound_flagsWhat flags apply to this wound
wound_typeThe list of wounds it belongs in, WOUND_LIST_BLUNT, WOUND_LIST_SLASH, or WOUND_LIST_BURN

Procs

apply_woundapply_wound() is used once a wound type is instantiated to assign it to a bodypart, and actually come into play.
check_grab_treatmentsReturn TRUE if we have an item that can only be used while aggro grabbed (unhanded aggro grab treatments go in /datum/wound/proc/try_handling). Treatment is still is handled in /datum/wound/proc/treat
crushCalled when we're crushed in an airlock or firedoor, for one of the improvised joint dislocation fixes
drag_bleed_amountUsed when we're being dragged while bleeding, the value we return is how much bloodloss this wound causes from being dragged. Since it's a proc, you can let bandages soak some of the blood
get_bleed_rate_of_changeget_bleed_rate_of_change() is used in /mob/living/carbon/proc/bleed_warn to gauge whether this wound (if bleeding) is becoming worse, better, or staying the same over time
get_examine_descriptionget_examine_description() is used in carbon/examine and human/examine to show the status of this wound. Useful if you need to show some status like the wound being splinted or bandaged.
handle_processIf var/processing is TRUE, this is run on each life tick
on_healiumSame as above but called from healium, only work when the person is unconscious and cold
on_stasisCalled when the patient is undergoing stasis, so that having fully treated a wound doesn't make you sit there helplessly until you think to unbuckle them
on_synthfleshWhen synthflesh is applied to the victim, we call this. No sense in setting up an entire chem reaction system for wounds when we only care for a few chems. Probably will change in the future
on_xadoneCalled from cryoxadone and pyroxadone when they're proc'ing. Wounds will slowly be fixed separately from other methods when these are in effect. crappy name but eh
receive_damageWhen our parent bodypart is hurt
remove_woundRemove the wound from whatever it's afflicting, and cleans up whateverstatus effects it had or modifiers it had on interaction times. ignore_limb is used for detachments where we only want to forget the victim
replace_woundreplace_wound() is used when you want to replace the current wound with a new wound, presumably of the same category, just of a different severity (either up or down counts)
second_windAdditional beneficial effects when the wound is gained, in case you want to give a temporary boost to allow the victim to try an escape or last stand
set_disablingProc called to change the variable disabling and react to the event.
set_limbProc called to change the variable limb and react to the event.
still_existsFor use in do_after callback checks
treatSomeone is using something that might be used for treating the wound on this limb
try_handlingLike try_treating() but for unhanded interactions from humans, used by joint dislocations for manual bodypart chiropractice for example. Ignores thick material checks since you can pop an arm into place through a thick suit unlike using sutures
try_treatingtry_treating() is an intercept run from [/mob/living/carbon/proc/attackby] right after surgeries but before anything else. Return TRUE here if the item is something that is relevant to treatment to take over the interaction.
wound_injuryThe immediate negative effects faced as a result of the wound

Var Details

a_or_from

needed for "your arm has a compound fracture" vs "your arm has some third degree burns"

already_scarred

If we've already tried scarring while removing (since remove_wound calls qdel, and qdel calls remove wound, .....) TODO: make this cleaner

attached_surgery

If we're operating on this wound and it gets healed, we'll nix the surgery too

base_treat_time

How long it will take to treat this wound with a standard effective tool, assuming it doesn't need surgery

blood_flow

How much we're contributing to this limb's bleed_rate

cryo_progress

if you're a lazy git and just throw them in cryo, the wound will go away after accumulating severity * 25 power

damage_mulitplier_penalty

Incoming damage on this limb will be multiplied by this, to simulate tenderness and vulnerability (mostly burns).

desc

The description shown on the scanners

disabling

If having this wound makes currently makes the parent bodypart unusable

examine_desc

What the limb looks like on a cursory examine

from_smite

If we forced this wound through badmin smite, we won't count it towards the round totals

interaction_efficiency_penalty

Using this limb in a do_after interaction will multiply the length by this duration (arms)

limb

The bodypart we're parented to

limp_slowdown

If set and this wound is applied to a leg, we take this many deciseconds extra per step on this leg

linked_status_effect

The status effect we're linked to

name

What it's named

occur_text

The visible message when this happens

processes

If we need to process each life tick

scar_keyword

What kind of scars this wound will create description wise once healed

severity

Either WOUND_SEVERITY_TRIVIAL (meme wounds like stubbed toe), WOUND_SEVERITY_MODERATE, WOUND_SEVERITY_SEVERE, or WOUND_SEVERITY_CRITICAL (or maybe WOUND_SEVERITY_LOSS)

sound_effect

This sound will be played upon the wound being applied

status_effect_type

What status effect we assign on application

threshold_minimum

The minimum we need to roll on /obj/item/bodypart/proc/check_wounding to begin suffering this wound, see check_wounding_mods() for more

threshold_penalty

How much having this wound will add to all future check_wounding() rolls on this limb, to allow progression to worse injuries with repeated damage

treat_text

The basic treatment suggested by health analyzers

treatable_by

Specific items such as bandages or sutures that can try directly treating this wound

treatable_by_grabbed

Specific items such as bandages or sutures that can try directly treating this wound only if the user has the victim in an aggressive grab or higher

treatable_tool

Tools with the specified tool flag will also be able to try directly treating this wound

viable_zones

What body zones can we affect

victim

Who owns the body part that we're wounding

wound_flags

What flags apply to this wound

wound_type

The list of wounds it belongs in, WOUND_LIST_BLUNT, WOUND_LIST_SLASH, or WOUND_LIST_BURN

Proc Details

apply_wound

apply_wound() is used once a wound type is instantiated to assign it to a bodypart, and actually come into play.

Arguments:

check_grab_treatments

Return TRUE if we have an item that can only be used while aggro grabbed (unhanded aggro grab treatments go in /datum/wound/proc/try_handling). Treatment is still is handled in /datum/wound/proc/treat

crush

Called when we're crushed in an airlock or firedoor, for one of the improvised joint dislocation fixes

drag_bleed_amount

Used when we're being dragged while bleeding, the value we return is how much bloodloss this wound causes from being dragged. Since it's a proc, you can let bandages soak some of the blood

get_bleed_rate_of_change

get_bleed_rate_of_change() is used in /mob/living/carbon/proc/bleed_warn to gauge whether this wound (if bleeding) is becoming worse, better, or staying the same over time

Returns BLOOD_FLOW_STEADY if we're not bleeding or there's no change (like piercing), BLOOD_FLOW_DECREASING if we're clotting (non-critical slashes, gauzed, coagulant, etc), BLOOD_FLOW_INCREASING if we're opening up (crit slashes/heparin)

get_examine_description

get_examine_description() is used in carbon/examine and human/examine to show the status of this wound. Useful if you need to show some status like the wound being splinted or bandaged.

Return the full string line you want to show, note that we're already dealing with the 'warning' span at this point, and that \n is already appended for you in the place this is called from

Arguments:

handle_process

If var/processing is TRUE, this is run on each life tick

on_healium

Same as above but called from healium, only work when the person is unconscious and cold

on_stasis

Called when the patient is undergoing stasis, so that having fully treated a wound doesn't make you sit there helplessly until you think to unbuckle them

on_synthflesh

When synthflesh is applied to the victim, we call this. No sense in setting up an entire chem reaction system for wounds when we only care for a few chems. Probably will change in the future

on_xadone

Called from cryoxadone and pyroxadone when they're proc'ing. Wounds will slowly be fixed separately from other methods when these are in effect. crappy name but eh

receive_damage

When our parent bodypart is hurt

remove_wound

Remove the wound from whatever it's afflicting, and cleans up whateverstatus effects it had or modifiers it had on interaction times. ignore_limb is used for detachments where we only want to forget the victim

replace_wound

replace_wound() is used when you want to replace the current wound with a new wound, presumably of the same category, just of a different severity (either up or down counts)

This proc actually instantiates the new wound based off the specific type path passed, then returns the new instantiated wound datum.

Arguments:

second_wind

Additional beneficial effects when the wound is gained, in case you want to give a temporary boost to allow the victim to try an escape or last stand

set_disabling

Proc called to change the variable disabling and react to the event.

set_limb

Proc called to change the variable limb and react to the event.

still_exists

For use in do_after callback checks

treat

Someone is using something that might be used for treating the wound on this limb

try_handling

Like try_treating() but for unhanded interactions from humans, used by joint dislocations for manual bodypart chiropractice for example. Ignores thick material checks since you can pop an arm into place through a thick suit unlike using sutures

try_treating

try_treating() is an intercept run from [/mob/living/carbon/proc/attackby] right after surgeries but before anything else. Return TRUE here if the item is something that is relevant to treatment to take over the interaction.

This proc leads into /datum/wound/proc/treat and probably shouldn't be added onto in children types. You can specify what items or tools you want to be intercepted with var/list/treatable_by and var/treatable_tool, then if an item fulfills one of those requirements and our wound claims it first, it goes over to treat() and treat_self().

Arguments:

wound_injury

The immediate negative effects faced as a result of the wound