clothing
Vars | |
clothing_traits | Trait modification, lazylist of traits to add/take away, on equipment/drop in the correct slot |
---|---|
damage_by_parts | How much clothing damage has been dealt to each of the limbs of the clothing, assuming it covers more than one limb |
limb_integrity | How much integrity is in a specific limb before that limb is disabled (for use in /obj/item/clothing/proc/take_damage_zone, and only if we cover multiple zones.) Set to 0 to disable shredding. |
repairable_by | What items can be consumed to repair this clothing (must by an /obj/item/stack) |
zones_disabled | How many zones (body parts, not precise) we have disabled so far, for naming purposes |
Procs | |
bristle | If we're a clothing with at least 1 shredded/disabled zone, give the wearer a periodic heads up letting them know their clothes are damaged |
disable_zone | disable_zone() is used to disable a given bodypart's protection on our clothing item, mainly from [/obj/item/clothing/proc/take_damage_zone()] |
repair | Set the clothing's integrity back to 100%, remove all damage to bodyparts, and generally fix it up |
take_damage_zone | take_damage_zone() is used for dealing damage to specific bodyparts on a worn piece of clothing, meant to be called from [/obj/item/bodypart/proc/check_woundings_mods()] |
Var Details
clothing_traits
Trait modification, lazylist of traits to add/take away, on equipment/drop in the correct slot
damage_by_parts
How much clothing damage has been dealt to each of the limbs of the clothing, assuming it covers more than one limb
limb_integrity
How much integrity is in a specific limb before that limb is disabled (for use in /obj/item/clothing/proc/take_damage_zone, and only if we cover multiple zones.) Set to 0 to disable shredding.
repairable_by
What items can be consumed to repair this clothing (must by an /obj/item/stack)
zones_disabled
How many zones (body parts, not precise) we have disabled so far, for naming purposes
Proc Details
bristle
If we're a clothing with at least 1 shredded/disabled zone, give the wearer a periodic heads up letting them know their clothes are damaged
disable_zone
disable_zone() is used to disable a given bodypart's protection on our clothing item, mainly from [/obj/item/clothing/proc/take_damage_zone()]
This proc disables all protection on the specified bodypart for this piece of clothing: it'll be as if it doesn't cover it at all anymore (because it won't!) If every possible bodypart has been disabled on the clothing, we put it out of commission entirely and mark it as shredded, whereby it will have to be repaired in order to equip it again. Also note we only consider it damaged if there's more than one bodypart disabled.
Arguments:
- def_zone: The bodypart zone we're disabling
- damage_type: Only really relevant for the verb for describing the breaking, and maybe atom_destruction()
repair
Set the clothing's integrity back to 100%, remove all damage to bodyparts, and generally fix it up
take_damage_zone
take_damage_zone() is used for dealing damage to specific bodyparts on a worn piece of clothing, meant to be called from [/obj/item/bodypart/proc/check_woundings_mods()]
This proc only matters when a bodypart that this clothing is covering is harmed by a direct attack (being on fire or in space need not apply), and only if this clothing covers
more than one bodypart to begin with. No point in tracking damage by zone for a hat, and I'm not cruel enough to let you fully break them in a few shots. Also if limb_integrity is 0, then this clothing doesn't have bodypart damage enabled so skip it.
Arguments:
- def_zone: The bodypart zone in question
- damage_amount: Incoming damage
- damage_type: BRUTE or BURN
- armour_penetration: If the attack had armour_penetration