/obj/item/clothing/suit/armor allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/weapon/gun/projectile,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/device/flashlight/seclite,/obj/item/weapon/melee/classic_baton/telescopic,/obj/item/weapon/kitchen/knife/combat) body_parts_covered = CHEST cold_protection = CHEST|GROIN min_cold_protection_temperature = ARMOR_MIN_TEMP_PROTECT heat_protection = CHEST|GROIN max_heat_protection_temperature = ARMOR_MAX_TEMP_PROTECT strip_delay = 60 put_on_delay = 40 burn_state = FIRE_PROOF /obj/item/clothing/suit/armor/vest name = "armor" desc = "A slim armored vest that protects against most types of damage." icon_state = "armor" item_state = "armor" blood_overlay_type = "armor" armor = list(melee = 25, bullet = 15, laser = 25, energy = 10, bomb = 25, bio = 0, rad = 0) /obj/item/clothing/suit/armor/hos name = "armored greatcoat" desc = "A greatcoat enchanced with a special alloy for some protection and style for those with a commanding presence." icon_state = "hos" item_state = "greatcoat" body_parts_covered = CHEST|GROIN|ARMS|LEGS armor = list(melee = 30, bullet = 30, laser = 30, energy = 10, bomb = 25, bio = 0, rad = 0) flags_inv = HIDEJUMPSUIT cold_protection = CHEST|GROIN|LEGS|ARMS heat_protection = CHEST|GROIN|LEGS|ARMS strip_delay = 80 /obj/item/clothing/suit/armor/hos/trenchcoat name = "armored trenchoat" desc = "A trenchcoat enchanced with a special lightweight kevlar. The epitome of tactical plainclothes." icon_state = "hostrench" item_state = "hostrench" flags_inv = 0 strip_delay = 80 /obj/item/clothing/suit/armor/vest/warden name = "warden's jacket" desc = "A red jacket with silver rank pips and body armor strapped on top." icon_state = "warden_jacket" item_state = "armor" body_parts_covered = CHEST|GROIN|ARMS cold_protection = CHEST|GROIN|ARMS|HANDS heat_protection = CHEST|GROIN|ARMS|HANDS strip_delay = 70 burn_state = FLAMMABLE /obj/item/clothing/suit/armor/vest/warden/alt name = "warden's armored jacket" desc = "A navy-blue armored jacket with blue shoulder designations and '/Warden/' stitched into one of the chest pockets." icon_state = "warden_alt" /obj/item/clothing/suit/armor/vest/leather name = "security overcoat" desc = "Lightly armored leather overcoat meant as casual wear for high-ranking officers. Bears the crest of Nanotrasen Security." icon_state = "leathercoat-sec" item_state = "hostrench" body_parts_covered = CHEST|GROIN|ARMS|LEGS cold_protection = CHEST|GROIN|LEGS|ARMS heat_protection = CHEST|GROIN|LEGS|ARMS /obj/item/clothing/suit/armor/vest/capcarapace name = "captain's carapace" desc = "An armored vest reinforced with ceramic plates and pauldrons to provide additional protection whilst still offering maximum mobility and flexibility. Issued only to the station's finest, although it does chafe your nipples." icon_state = "capcarapace" item_state = "armor" body_parts_covered = CHEST|GROIN armor = list(melee = 50, bullet = 40, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0) /obj/item/clothing/suit/armor/vest/capcarapace/alt name = "captain's parade jacket" desc = "For when an armoured vest isn't fashionable enough." icon_state = "capformal" item_state = "capspacesuit" /obj/item/clothing/suit/armor/riot name = "riot suit" desc = "A suit of armor with heavy padding to protect against melee attacks." icon_state = "riot" item_state = "swat_suit" body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS cold_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS armor = list(melee = 50, bullet = 10, laser = 10, energy = 10, bomb = 0, bio = 0, rad = 0) flags_inv = HIDEJUMPSUIT strip_delay = 80 put_on_delay = 60 /obj/item/clothing/suit/armor/bulletproof name = "bulletproof armor" desc = "A bulletproof vest that excels in protecting the wearer against traditional projectile weaponry and explosives to a minor extent." icon_state = "bulletproof" item_state = "armor" blood_overlay_type = "armor" armor = list(melee = 15, bullet = 80, laser = 10, energy = 10, bomb = 40, bio = 0, rad = 0) strip_delay = 70 put_on_delay = 50 /obj/item/clothing/suit/armor/laserproof name = "reflector vest" desc = "A vest that excels in protecting the wearer against energy projectiles, as well as occasionally reflecting them." icon_state = "armor_reflec" item_state = "armor_reflec" blood_overlay_type = "armor" armor = list(melee = 10, bullet = 10, laser = 60, energy = 50, bomb = 0, bio = 0, rad = 0) var/hit_reflect_chance = 40 /obj/item/clothing/suit/armor/laserproof/IsReflect(def_zone) if(!(def_zone in list("chest", "groin"))) //If not shot where ablative is covering you, you don't get the reflection bonus! return 0 if (prob(hit_reflect_chance)) return 1 /obj/item/clothing/suit/armor/vest/det_suit name = "armor" desc = "An armored vest with a detective's badge on it." icon_state = "detective-armor" allowed = list(/obj/item/weapon/tank/internals/emergency_oxygen,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/device/flashlight,/obj/item/weapon/gun/energy,/obj/item/weapon/gun/projectile,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/lighter,/obj/item/device/detective_scanner,/obj/item/device/taperecorder,/obj/item/weapon/melee/classic_baton/telescopic) burn_state = FLAMMABLE //Reactive armor /obj/item/clothing/suit/armor/reactive name = "reactive armor" desc = "Doesn't seem to do much for some reason." var/active = 0 icon_state = "reactiveoff" item_state = "reactiveoff" blood_overlay_type = "armor" armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0) actions_types = list(/datum/action/item_action/toggle) unacidable = 1 hit_reaction_chance = 50 /obj/item/clothing/suit/armor/reactive/attack_self(mob/user) src.active = !( src.active ) if (src.active) user << "[src] is now active." src.icon_state = "reactive" src.item_state = "reactive" else user << "[src] is now inactive." src.icon_state = "reactiveoff" src.item_state = "reactiveoff" src.add_fingerprint(user) return /obj/item/clothing/suit/armor/reactive/emp_act(severity) active = 0 src.icon_state = "reactiveoff" src.item_state = "reactiveoff" ..() //When the wearer gets hit, this armor will teleport the user a short distance away (to safety or to more danger, no one knows. That's the fun of it!) /obj/item/clothing/suit/armor/reactive/teleport name = "reactive teleport armor" desc = "Someone seperated our Research Director from his own head!" var/tele_range = 6 var/rad_amount= 15 /obj/item/clothing/suit/armor/reactive/teleport/hit_reaction(mob/living/carbon/human/owner, attack_text, final_block_chance) if(!active) return 0 if(prob(hit_reaction_chance)) var/mob/living/carbon/human/H = owner owner.visible_message("The reactive teleport system flings [H] clear of [attack_text]!") var/list/turfs = new/list() for(var/turf/T in orange(tele_range, H)) if(T.density) continue if(T.x>world.maxx-tele_range || T.xworld.maxy-tele_range || T.yThe [src] blocks the [attack_text], sending out jets of flame!") for(var/mob/living/carbon/C in range(6, owner)) if(C != owner) C.fire_stacks += 8 C.IgniteMob() owner.fire_stacks = -20 return 1 return 0 /obj/item/clothing/suit/armor/reactive/stealth name = "reactive stealth armor" /obj/item/clothing/suit/armor/reactive/stealth/hit_reaction(mob/living/carbon/human/owner, attack_text) if(!active) return 0 if(prob(hit_reaction_chance)) var/mob/living/simple_animal/hostile/illusion/escape/E = new(owner.loc) E.Copy_Parent(owner, 50) E.GiveTarget(owner) //so it starts running right away E.Goto(owner, E.move_to_delay, E.minimum_distance) owner.alpha = 0 owner.visible_message("[owner] is hit by [attack_text] in the chest!") //We pretend to be hit, since blocking it would stop the message otherwise spawn(40) owner.alpha = initial(owner.alpha) return 1 /obj/item/clothing/suit/armor/reactive/tesla name = "reactive tesla armor" /obj/item/clothing/suit/armor/reactive/tesla/hit_reaction(mob/living/carbon/human/owner, attack_text) if(!active) return 0 if(prob(hit_reaction_chance)) owner.visible_message("The [src] blocks the [attack_text], sending out arcs of lightning!") for(var/mob/living/M in view(6, owner)) if(M == owner) continue owner.Beam(M,icon_state="lightning[rand(1, 12)]",icon='icons/effects/effects.dmi',time=5) M.adjustFireLoss(25) playsound(M, 'sound/machines/defib_zap.ogg', 50, 1, -1) return 1 //All of the armor below is mostly unused /obj/item/clothing/suit/armor/centcom name = "\improper Centcom armor" desc = "A suit that protects against some damage." icon_state = "centcom" item_state = "centcom" w_class = 4//bulky item body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank/internals/emergency_oxygen) flags = THICKMATERIAL flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT cold_protection = CHEST | GROIN | LEGS | FEET | ARMS | HANDS min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT /obj/item/clothing/suit/armor/heavy name = "heavy armor" desc = "A heavily armored suit that protects against moderate damage." icon_state = "heavy" item_state = "swat_suit" w_class = 4//bulky item gas_transfer_coefficient = 0.90 flags = THICKMATERIAL body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS slowdown = 3 flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT /obj/item/clothing/suit/armor/tdome body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT flags = THICKMATERIAL cold_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS /obj/item/clothing/suit/armor/tdome/red name = "thunderdome suit" desc = "Reddish armor." icon_state = "tdred" item_state = "tdred" /obj/item/clothing/suit/armor/tdome/green name = "thunderdome suit" desc = "Pukish armor." //classy. icon_state = "tdgreen" item_state = "tdgreen" /obj/item/clothing/suit/armor/riot/knight name = "plate armour" desc = "A classic suit of plate armour, highly effective at stopping melee attacks." icon_state = "knight_green" item_state = "knight_green" /obj/item/clothing/suit/armor/riot/knight/yellow icon_state = "knight_yellow" item_state = "knight_yellow" /obj/item/clothing/suit/armor/riot/knight/blue icon_state = "knight_blue" item_state = "knight_blue" /obj/item/clothing/suit/armor/riot/knight/red icon_state = "knight_red" item_state = "knight_red" /obj/item/clothing/suit/armor/riot/knight/templar name = "crusader armour" desc = "God wills it!" icon_state = "knight_templar" item_state = "knight_templar"