clothing
Vars | |
armor_list | These are armor values that protect the wearer, taken from the clothing's armor datum. List updates on examine because it's currently only used to print armor ratings to chat in Topic(). |
---|---|
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 |
durability_list | These are armor values that protect the clothing, taken from its armor datum. List updates on examine because it's currently only used to print armor ratings to chat in Topic(). |
flash_protect | What level of bright light protection item has. |
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 | |
armor_to_protection_class | Rounds armor_value to nearest 10, divides it by 10 and then expresses it in roman numerals up to 10 |
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
armor_list
These are armor values that protect the wearer, taken from the clothing's armor datum. List updates on examine because it's currently only used to print armor ratings to chat in Topic().
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
durability_list
These are armor values that protect the clothing, taken from its armor datum. List updates on examine because it's currently only used to print armor ratings to chat in Topic().
flash_protect
What level of bright light protection item has.
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
armor_to_protection_class
Rounds armor_value to nearest 10, divides it by 10 and then expresses it in roman numerals up to 10
Rounds armor_value to nearest 10, divides it by 10 and then expresses it in roman numerals up to 10 Arguments:
- armor_value - Number we're converting
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 obj_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