Skip to content

Commit

Permalink
Character Armor (#3660)
Browse files Browse the repository at this point in the history
* inherent armor

you can do the thing

* brain trauma
  • Loading branch information
ven1883 authored Oct 15, 2024
1 parent bef636d commit 7e2fa0e
Showing 1 changed file with 6 additions and 1 deletion.
7 changes: 6 additions & 1 deletion code/modules/mob/living/carbon/human/human_defense.dm
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,15 @@
return 0
var/protection = 100
var/list/covering_clothing = list(head, wear_mask, wear_suit, w_uniform, back, gloves, shoes, belt, s_store, glasses, ears, wear_id, wear_neck) //Everything but pockets. Pockets are l_store and r_store. (if pockets were allowed, putting something armored, gloves or hats for example, would double up on the armor)
var/inherent_armor_rating = src.armor?.get_rating(damage_type) //monkestation edit, exists for debugger
for(var/obj/item/clothing/clothing_item in covering_clothing)
if(clothing_item.body_parts_covered & def_zone.body_part)
protection *= (100 - min(clothing_item.get_armor_rating(damage_type), 100)) * 0.01
protection *= (100 - min(physiology.armor.get_rating(damage_type), 100)) * 0.01
protection *= (100 - min(physiology.armor.get_rating(damage_type), 100)) / 100
//monkestation edit start
protection *= isnull(inherent_armor_rating) ? 1 : (100 - inherent_armor_rating) / 100
//end monkeststation edit: now checks src.armor so you can give characters inherent armor without targeting physiology or generating clothing
//you can use this with "target.set_armor" and it will work on live creatures
return 100 - protection

///Get all the clothing on a specific body part
Expand Down

0 comments on commit 7e2fa0e

Please sign in to comment.