Merge pull request #1125 from Neerti/2/28/2016_armor

A Load of Armor Changes
This commit is contained in:
Datraen
2016-03-08 16:32:42 -05:00
20 changed files with 450 additions and 219 deletions

View File

@@ -0,0 +1,42 @@
/obj/item/clothing/gloves/arm_guard
name = "arm guards"
desc = "These arm guards will protect your hands and arms."
body_parts_covered = HANDS|ARMS
slowdown = 1
w_class = 3
/obj/item/clothing/gloves/arm_guard/mob_can_equip(var/mob/living/carbon/human/H, slot, disable_warning = 0)
if(..()) //This will only run if no other problems occured when equiping.
if(H.wear_suit)
if(H.wear_suit.body_parts_covered & ARMS)
H << "<span class='warning'>You can't wear \the [src] with \the [H.wear_suit], it's in the way.</span>"
return 0
return 1
/obj/item/clothing/gloves/arm_guard/laserproof
name = "ablative arm guards"
desc = "These arm guards will protect your hands and arms from energy weapons."
icon_state = "arm_guards_laser"
siemens_coefficient = 0.4 //This is worse than the other ablative pieces, to avoid this from becoming the poor warden's insulated gloves.
armor = list(melee = 10, bullet = 10, laser = 80, energy = 50, bomb = 0, bio = 0, rad = 0)
/obj/item/clothing/gloves/arm_guard/bulletproof
name = "bullet resistant arm guards"
desc = "These arm guards will protect your hands and arms from ballistic weapons."
icon_state = "arm_guards_bullet"
siemens_coefficient = 0.7
armor = list(melee = 10, bullet = 80, laser = 10, energy = 50, bomb = 0, bio = 0, rad = 0)
/obj/item/clothing/gloves/arm_guard/riot
name = "riot arm guards"
desc = "These arm guards will protect your hands and arms from close combat weapons."
icon_state = "arm_guards_riot"
siemens_coefficient = 0.5
armor = list(melee = 80, bullet = 10, laser = 10, energy = 50, bomb = 0, bio = 0, rad = 0)
/obj/item/clothing/gloves/arm_guard/combat
name = "combat arm guards"
desc = "These arm guards will protect your hands and arms from a variety of weapons."
icon_state = "arm_guards_combat"
siemens_coefficient = 0.6
armor = list(melee = 50, bullet = 50, laser = 50, energy = 30, bomb = 30, bio = 0, rad = 0)

View File

@@ -7,7 +7,7 @@
slot_r_hand_str = "helmet",
)
flags = THICKMATERIAL
armor = list(melee = 50, bullet = 15, laser = 50,energy = 10, bomb = 25, bio = 0, rad = 0)
armor = list(melee = 40, bullet = 30, laser = 30, energy = 10, bomb = 10, bio = 0, rad = 0)
flags_inv = HIDEEARS|HIDEEYES
cold_protection = HEAD
min_cold_protection_temperature = HELMET_MIN_COLD_PROTECTION_TEMPERATURE
@@ -21,7 +21,7 @@
name = "riot helmet"
desc = "It's a helmet specifically designed to protect against close range attacks."
icon_state = "riot"
armor = list(melee = 82, bullet = 15, laser = 5,energy = 5, bomb = 5, bio = 2, rad = 0)
armor = list(melee = 80, bullet = 10, laser = 10, energy = 10, bomb = 0, bio = 0, rad = 0)
flags_inv = HIDEEARS
siemens_coefficient = 0.7
action_button_name = "Toggle Visor"
@@ -42,6 +42,30 @@
user << "You flip the visor down."
update_clothing_icon() //so our mob-overlays update
/obj/item/clothing/head/helmet/laserproof
name = "ablative helmet"
desc = "It's a helmet specifically designed to protect against energy projectiles."
icon_state = "helmet_reflec"
armor = list(melee = 10, bullet = 10, laser = 80 ,energy = 50, bomb = 0, bio = 0, rad = 0)
flags_inv = HIDEEARS
siemens_coefficient = 0.1
/obj/item/clothing/head/helmet/bulletproof
name = "bullet-resistant helmet"
desc = "It's a helmet specifically designed to protect against ballistic projectiles."
icon_state = "helmet_bulletproof"
armor = list(melee = 10, bullet = 80, laser = 10 ,energy = 10, bomb = 0, bio = 0, rad = 0)
flags_inv = HIDEEARS
siemens_coefficient = 0.7
/obj/item/clothing/head/helmet/combat
name = "combat helmet"
desc = "It's a general purpose combat helmet, designed to protect against typical dangers to your head."
icon_state = "swat"
armor = list(melee = 50, bullet = 50, laser = 50 ,energy = 30, bomb = 30, bio = 0, rad = 0)
flags_inv = HIDEEARS
siemens_coefficient = 0.6
/obj/item/clothing/head/helmet/swat
name = "\improper SWAT helmet"
desc = "They're often used by highly trained SWAT Members."
@@ -78,7 +102,7 @@
"Unathi" = 'icons/mob/species/unathi/helmet.dmi',
)
armor = list(melee = 62, bullet = 50, laser = 50,energy = 35, bomb = 10, bio = 2, rad = 0)
armor = list(melee = 60, bullet = 60, laser = 60, energy = 40, bomb = 40, bio = 0, rad = 0)
flags_inv = HIDEEARS
siemens_coefficient = 0.7

View File

@@ -0,0 +1,42 @@
/obj/item/clothing/shoes/leg_guard
name = "leg guards"
desc = "These will protect your legs and feet."
body_parts_covered = LEGS|FEET
slowdown = 1
w_class = 3
/obj/item/clothing/shoes/leg_guard/mob_can_equip(var/mob/living/carbon/human/H, slot, disable_warning = 0)
if(..()) //This will only run if no other problems occured when equiping.
if(H.wear_suit)
if(H.wear_suit.body_parts_covered & LEGS)
H << "<span class='warning'>You can't wear \the [src] with \the [H.wear_suit], it's in the way.</span>"
return 0
return 1
/obj/item/clothing/shoes/leg_guard/laserproof
name = "ablative leg guards"
desc = "These will protect your legs and feet from energy weapons."
icon_state = "leg_guards_laser"
siemens_coefficient = 0.1
armor = list(melee = 10, bullet = 10, laser = 80, energy = 50, bomb = 0, bio = 0, rad = 0)
/obj/item/clothing/shoes/leg_guard/bulletproof
name = "bullet resistant leg guards"
desc = "These will protect your legs and feet from ballistic weapons."
icon_state = "leg_guards_bullet"
siemens_coefficient = 0.7
armor = list(melee = 10, bullet = 10, laser = 80, energy = 50, bomb = 0, bio = 0, rad = 0)
/obj/item/clothing/shoes/leg_guard/riot
name = "riot leg guards"
desc = "These will protect your legs and feet from close combat weapons."
icon_state = "leg_guards_riot"
siemens_coefficient = 0.5
armor = list(melee = 10, bullet = 10, laser = 80, energy = 50, bomb = 0, bio = 0, rad = 0)
/obj/item/clothing/shoes/leg_guard/combat
name = "combat leg guards"
desc = "These will protect your legs and feet from a variety of weapons."
icon_state = "leg_guards_combat"
siemens_coefficient = 0.6
armor = list(melee = 50, bullet = 50, laser = 50, energy = 30, bomb = 30, bio = 0, rad = 0)

View File

@@ -10,6 +10,16 @@
max_heat_protection_temperature = ARMOR_MAX_HEAT_PROTECTION_TEMPERATURE
siemens_coefficient = 0.6
/obj/item/clothing/suit/mob_can_equip(var/mob/living/carbon/human/H, slot, disable_warning = 0)
if(..()) //This will only run if no other problems occured when equiping.
for(var/obj/item/clothing/I in list(H.gloves, H.shoes))
if(I && (src.body_parts_covered & ARMS && I.body_parts_covered & ARMS) )
H << "<span class='warning'>You can't wear \the [src] with \the [I], it's in the way.</span>"
return 0
if(I && (src.body_parts_covered & LEGS && I.body_parts_covered & LEGS) )
H << "<span class='warning'>You can't wear \the [src] with \the [I], it's in the way.</span>"
return 0
return 1
/obj/item/clothing/suit/armor/vest
name = "armor"
@@ -17,7 +27,7 @@
icon_state = "armor"
item_state = "armor"
blood_overlay_type = "armor"
armor = list(melee = 50, bullet = 15, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0)
armor = list(melee = 40, bullet = 30, laser = 30, energy = 10, bomb = 10, bio = 0, rad = 0)
/obj/item/clothing/suit/armor/vest/alt
name = "security armor"
@@ -47,24 +57,21 @@
/obj/item/clothing/suit/armor/riot
name = "Riot Suit"
desc = "A suit of armor with heavy padding to protect against melee attacks. Looks like it might impair movement."
name = "riot vest"
desc = "A vest with heavy padding to protect against melee attacks."
icon_state = "riot"
item_state = "swat_suit"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
slowdown = 1
armor = list(melee = 80, bullet = 10, laser = 10, energy = 10, bomb = 0, bio = 0, rad = 0)
flags_inv = HIDEJUMPSUIT
siemens_coefficient = 0.5
/obj/item/clothing/suit/armor/riot/alt
name = "Riot Suit"
desc = "A suit of armor with heavy padding to protect against melee attacks. Looks like it might impair movement."
icon_state = "riot_new"
item_state = "riot_new"
/obj/item/clothing/suit/armor/bulletproof
name = "Bulletproof Vest"
name = "bullet resistant vest"
desc = "A vest that excels in protecting the wearer against high-velocity solid projectiles."
icon_state = "bulletproof"
item_state = "armor"
@@ -73,20 +80,18 @@
siemens_coefficient = 0.7
/obj/item/clothing/suit/armor/bulletproof/alt
name = "Bulletproof Vest"
desc = "A vest that excels in protecting the wearer against high-velocity solid projectiles."
icon_state = "bulletproof_new"
item_state = "bulletproof_new"
blood_overlay_type = "armor"
/obj/item/clothing/suit/armor/laserproof
name = "Ablative Armor Vest"
name = "ablative armor vest"
desc = "A vest that excels in protecting the wearer against energy projectiles."
icon_state = "armor_reflec"
item_state = "armor_reflec"
blood_overlay_type = "armor"
armor = list(melee = 10, bullet = 10, laser = 80, energy = 50, bomb = 0, bio = 0, rad = 0)
siemens_coefficient = 0
siemens_coefficient = 0.1
/obj/item/clothing/suit/armor/laserproof/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack")
if(istype(damage_source, /obj/item/projectile/energy) || istype(damage_source, /obj/item/projectile/beam))
@@ -108,6 +113,25 @@
return PROJECTILE_CONTINUE // complete projectile permutation
/obj/item/clothing/suit/armor/combat
name = "combat vest"
desc = "A vest that protects the wearer from several common types of weaponry."
icon_state = "combat"
item_state = "combat"
blood_overlay_type = "armor"
armor = list(melee = 50, bullet = 50, laser = 50, energy = 30, bomb = 30, bio = 0, rad = 0)
siemens_coefficient = 0.6
/obj/item/clothing/suit/armor/tactical
name = "tactical armor"
desc = "A suit of armor most often used by Special Weapons and Tactics squads. Includes padded vest with pockets along with shoulder and kneeguards."
icon_state = "swatarmor"
item_state = "armor"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
slowdown = 1
armor = list(melee = 60, bullet = 60, laser = 60, energy = 40, bomb = 40, bio = 0, rad = 0)
siemens_coefficient = 0.7
/obj/item/clothing/suit/armor/swat
name = "swat suit"
desc = "A heavily armored suit that protects against moderate damage. Used in special operations."
@@ -143,7 +167,7 @@
item_state = "armor"
blood_overlay_type = "armor"
body_parts_covered = UPPER_TORSO|LOWER_TORSO
armor = list(melee = 50, bullet = 15, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0)
armor = list(melee = 40, bullet = 30, laser = 30, energy = 10, bomb = 10, bio = 0, rad = 0)
//Reactive armor
@@ -200,42 +224,6 @@
src.item_state = "reactiveoff"
..()
/obj/item/clothing/suit/armor/tactical
name = "tactical armor"
desc = "A suit of armor most often used by Special Weapons and Tactics squads. Includes padded vest with pockets along with shoulder and kneeguards."
icon_state = "swatarmor"
item_state = "armor"
var/obj/item/weapon/gun/holstered = null
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
slowdown = 1
armor = list(melee = 60, bullet = 60, laser = 60, energy = 40, bomb = 20, bio = 0, rad = 0)
siemens_coefficient = 0.7
var/obj/item/clothing/accessory/holster/holster
/obj/item/clothing/suit/armor/tactical/New()
..()
holster = new(src)
/obj/item/clothing/suit/armor/tactical/attackby(obj/item/W as obj, mob/user as mob)
..()
holster.attackby(W, user)
/obj/item/clothing/suit/armor/tactical/verb/holster()
set name = "Holster"
set category = "Object"
set src in usr
if(!istype(usr, /mob/living)) return
if(usr.stat) return
if(!holster.holstered)
var/obj/item/W = usr.get_active_hand()
if(!istype(W, /obj/item))
usr << "<span class='warning'>You need your gun equiped to holster it.</span>"
return
holster.holster(W, usr)
else
holster.unholster(usr)
//Non-hardsuit ERT armor.
/obj/item/clothing/suit/armor/vest/ert
name = "emergency response team armor"
@@ -274,7 +262,7 @@
desc = "A simple kevlar plate carrier."
icon_state = "kvest"
item_state = "kvest"
armor = list(melee = 50, bullet = 15, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0)
armor = list(melee = 40, bullet = 30, laser = 30, energy = 10, bomb = 10, bio = 0, rad = 0)
allowed = list(/obj/item/weapon/gun,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs)
body_parts_covered = UPPER_TORSO|LOWER_TORSO
@@ -331,7 +319,7 @@
desc = "A heavy kevlar plate carrier with webbing attached."
icon_state = "webvest"
item_state = "webvest"
armor = list(melee = 50, bullet = 40, laser = 50, energy = 25, bomb = 30, bio = 0, rad = 0)
armor = list(melee = 50, bullet = 40, laser = 40, energy = 25, bomb = 25, bio = 0, rad = 0)
slowdown = 1
/obj/item/clothing/suit/storage/vest/heavy/officer