mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-20 03:25:49 +01:00
Actually plug armor procs to armor modification code
This commit is contained in:
@@ -285,7 +285,7 @@
|
||||
if(helmet)
|
||||
helmet.update_light(wearer)
|
||||
|
||||
correct_piece.armor["bio"] = 100
|
||||
correct_piece.armor = correct_piece.armor.setRating(bio_value = 100)
|
||||
|
||||
sealing = FALSE
|
||||
|
||||
@@ -388,7 +388,7 @@
|
||||
if(helmet)
|
||||
helmet.update_light(wearer)
|
||||
|
||||
correct_piece.armor["bio"] = armor["bio"]
|
||||
correct_piece.armor = correct_piece.armor.setRating(bio_value = armor.getRating("bio"))
|
||||
|
||||
sealing = FALSE
|
||||
|
||||
|
||||
@@ -9,13 +9,22 @@
|
||||
multi *= (100 - chest.damage) / 100 //If we have some breaches, lower the armor value.
|
||||
|
||||
//TODO check for other armor mods, likely modules, which need to be coded.
|
||||
if(!armor) //Did we even give them some armor, if this is the case, the list should be initialized from New()
|
||||
return
|
||||
|
||||
var/datum/armor/A = armor
|
||||
for(var/obj/item/piece in list(gloves, helmet, boots, chest))
|
||||
if(!istype(piece)) //Do we have the piece
|
||||
continue
|
||||
if(islist(armor)) //Did we even give them some armor, if this is the case, the list should be initialized from New()
|
||||
var/list/L = armor
|
||||
for(var/armortype in L)
|
||||
piece.armor[armortype] = L[armortype]*multi
|
||||
|
||||
piece.armor = piece.armor.setRating(melee_value = A.getRating("melee") * multi,
|
||||
bullet_value = A.getRating("bullet") * multi,
|
||||
laser_value = A.getRating("laser") * multi,
|
||||
energy_value = A.getRating("energy") * multi,
|
||||
bomb_value = A.getRating("bomb") * multi,
|
||||
bio_value = A.getRating("bio") * multi,
|
||||
rad_value = A.getRating("rad") * multi,
|
||||
fire_value = A.getRating("fire") * multi,
|
||||
acid_value = A.getRating("acidd") * multi)
|
||||
|
||||
//Perfect place to also add something like shield modules, or any other hit_reaction modules check.
|
||||
|
||||
@@ -37,8 +37,7 @@
|
||||
var/mob/M = has_suit.loc
|
||||
A.Grant(M)
|
||||
|
||||
for(var/armor_type in armor)
|
||||
has_suit.armor[armor_type] += armor[armor_type]
|
||||
has_suit.armor = has_suit.armor.attachArmor(armor)
|
||||
|
||||
if(user)
|
||||
to_chat(user, "<span class='notice'>You attach [src] to [has_suit].</span>")
|
||||
@@ -56,8 +55,7 @@
|
||||
var/mob/M = has_suit.loc
|
||||
A.Remove(M)
|
||||
|
||||
for(var/armor_type in armor)
|
||||
has_suit.armor[armor_type] -= armor[armor_type]
|
||||
has_suit.armor = has_suit.armor.detachArmor(armor)
|
||||
|
||||
has_suit = null
|
||||
if(user)
|
||||
|
||||
@@ -72,8 +72,8 @@
|
||||
if(istype(H.head, /obj/item/clothing/head) && affecting == "head")
|
||||
|
||||
// If their head has an armor value, assign headarmor to it, else give it 0.
|
||||
if(H.head.armor["melee"])
|
||||
headarmor = H.head.armor["melee"]
|
||||
if(H.head.armor.getRating("melee"))
|
||||
headarmor = H.head.armor.getRating("melee")
|
||||
else
|
||||
headarmor = 0
|
||||
else
|
||||
|
||||
@@ -134,7 +134,7 @@ emp_act
|
||||
if(bp && istype(bp ,/obj/item/clothing))
|
||||
var/obj/item/clothing/C = bp
|
||||
if(C.body_parts_covered & def_zone.body_part)
|
||||
protection += C.armor[type]
|
||||
protection += C.armor.getRating(type)
|
||||
|
||||
return protection
|
||||
|
||||
|
||||
@@ -153,16 +153,16 @@
|
||||
if(def_zone)
|
||||
if(def_zone == "head")
|
||||
if(inventory_head)
|
||||
armorval = inventory_head.armor[type]
|
||||
armorval = inventory_head.armor.getRating(type)
|
||||
else
|
||||
if(inventory_back)
|
||||
armorval = inventory_back.armor[type]
|
||||
armorval = inventory_back.armor.getRating(type)
|
||||
return armorval
|
||||
else
|
||||
if(inventory_head)
|
||||
armorval += inventory_head.armor[type]
|
||||
armorval += inventory_head.armor.getRating(type)
|
||||
if(inventory_back)
|
||||
armorval += inventory_back.armor[type]
|
||||
armorval += inventory_back.armor.getRating(type)
|
||||
return armorval * 0.5
|
||||
|
||||
/mob/living/simple_animal/pet/dog/corgi/attackby(obj/item/O, mob/user, params)
|
||||
|
||||
@@ -62,8 +62,8 @@
|
||||
is_zombie = TRUE
|
||||
if(H.wear_suit)
|
||||
var/obj/item/clothing/suit/armor/A = H.wear_suit
|
||||
if(A.armor && A.armor["melee"])
|
||||
maxHealth += A.armor["melee"] //That zombie's got armor, I want armor!
|
||||
if(A.armor && A.armor.getRating("melee"))
|
||||
maxHealth += A.armor.getRating("melee") //That zombie's got armor, I want armor!
|
||||
maxHealth += 200
|
||||
health = maxHealth
|
||||
name = "zombie"
|
||||
|
||||
Reference in New Issue
Block a user