mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-01-11 01:42:17 +00:00
665 lines
26 KiB
Plaintext
665 lines
26 KiB
Plaintext
/obj/item/clothing/suit/armor
|
|
allowed = list(/obj/item/gun/energy,/obj/item/reagent_containers/spray/pepper,/obj/item/gun/projectile,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/handcuffs,/obj/item/device/flashlight)
|
|
body_parts_covered = UPPER_TORSO|LOWER_TORSO
|
|
item_flags = THICKMATERIAL
|
|
|
|
cold_protection = UPPER_TORSO|LOWER_TORSO
|
|
min_cold_protection_temperature = ARMOR_MIN_COLD_PROTECTION_TEMPERATURE
|
|
heat_protection = UPPER_TORSO|LOWER_TORSO
|
|
max_heat_protection_temperature = ARMOR_MAX_HEAT_PROTECTION_TEMPERATURE
|
|
siemens_coefficient = 0.5
|
|
var/obj/item/storage/internal/pockets
|
|
var/pocket_slots = 2
|
|
var/pocket_size = 2
|
|
var/pocket_total = null//This will be calculated, unless specifically overidden
|
|
|
|
/obj/item/clothing/suit/armor/Initialize()
|
|
. = ..()
|
|
pockets = new /obj/item/storage/internal(src)
|
|
pockets.storage_slots = pocket_slots //two slots
|
|
pockets.max_w_class = pocket_size //fit only pocket sized items
|
|
if (pocket_total)
|
|
pockets.max_storage_space = pocket_total
|
|
else
|
|
pockets.max_storage_space = pocket_slots * pocket_size
|
|
|
|
/obj/item/clothing/suit/armor/Destroy()
|
|
if (pockets)
|
|
QDEL_NULL(pockets)
|
|
return ..()
|
|
|
|
/obj/item/clothing/suit/armor/attack_hand(mob/user as mob)
|
|
if (pockets)
|
|
if (pockets.handle_attack_hand(user))
|
|
..(user)
|
|
else
|
|
..(user)
|
|
|
|
/obj/item/clothing/suit/armor/MouseDrop(obj/over_object as obj)
|
|
if (pockets)
|
|
if (pockets.handle_mousedrop(usr, over_object))
|
|
..(over_object)
|
|
else
|
|
..(over_object)
|
|
|
|
/obj/item/clothing/suit/armor/attackby(obj/item/W as obj, mob/user as mob)
|
|
..()
|
|
if (pockets)
|
|
pockets.attackby(W, user)
|
|
|
|
/obj/item/clothing/suit/armor/emp_act(severity)
|
|
if (pockets)
|
|
pockets.emp_act(severity)
|
|
..()
|
|
|
|
/obj/item/clothing/suit/armor/hear_talk(mob/M, var/msg, verb, datum/language/speaking)
|
|
if (pockets)
|
|
pockets.hear_talk(M, msg, verb, speaking)
|
|
..()
|
|
|
|
/obj/item/clothing/suit/armor/vest
|
|
name = "armor"
|
|
desc = "An armored vest that protects against some damage."
|
|
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)
|
|
|
|
/obj/item/clothing/suit/armor/vest/security
|
|
name = "security armor"
|
|
desc = "An armored vest that protects against some damage. This one has a corporate badge."
|
|
icon_state = "armorsec"
|
|
item_state = "armor"
|
|
|
|
/obj/item/clothing/suit/armor/vest/warden
|
|
name = "warden's jacket"
|
|
desc = "An armoured jacket with silver rank pips and livery."
|
|
icon_state = "warden_jacket"
|
|
item_state = "warden_jacket"
|
|
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
|
|
pocket_slots = 4//Jackets have more slots
|
|
|
|
/obj/item/clothing/suit/armor/vest/warden/commissar
|
|
name = "commissar's jacket"
|
|
desc = "An tasteful dark blue jacket with silver and white highlights. Has hard-plate inserts for armor."
|
|
icon_state = "commissar_warden"
|
|
item_state = "commissar_warden"
|
|
|
|
/obj/item/clothing/suit/armor/vest/fib
|
|
name = "\improper FIB armored vest"
|
|
desc = "An armored vest used by Federal Investigations Bureau agents during operations."
|
|
icon_state = "fib_armor"
|
|
item_state = "fib_armor"
|
|
|
|
/obj/item/clothing/suit/armor/hos
|
|
name = "head of security's jacket"
|
|
desc = "An armoured jacket with golden rank pips and livery."
|
|
icon_state = "hos"
|
|
item_state = "hos"
|
|
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS
|
|
armor = list(melee = 65, bullet = 30, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0)
|
|
pocket_slots = 4//More slots because coat
|
|
|
|
/obj/item/clothing/suit/storage/toggle/armor/hos/jensen
|
|
name = "armored trenchcoat"
|
|
desc = "A trenchcoat augmented with a special alloy for some protection and style."
|
|
icon_state = "jensencoat"
|
|
item_state = "jensencoat"
|
|
icon_open = "jensencoat_open"
|
|
icon_closed = "jensencoat"
|
|
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS
|
|
armor = list(melee = 65, bullet = 30, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0)
|
|
allowed = list(/obj/item/gun/energy,/obj/item/reagent_containers/spray/pepper,/obj/item/gun/projectile,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/handcuffs,/obj/item/device/flashlight)
|
|
|
|
/obj/item/clothing/suit/storage/toggle/armor/hos/jensen/Initialize()
|
|
. = ..()
|
|
pockets = new/obj/item/storage/internal(src)
|
|
pockets.storage_slots = 4
|
|
pockets.max_w_class = 2
|
|
pockets.max_storage_space = 8
|
|
|
|
/obj/item/clothing/suit/armor/riot
|
|
name = "riot vest"
|
|
desc = "A vest of armor with heavy padding to protect against melee attacks. Looks like it might impair movement."
|
|
icon_state = "riot_vest"
|
|
item_state = "riot_vest"
|
|
slowdown = 1
|
|
armor = list(melee = 80, bullet = 20, laser = 25, energy = 10, bomb = 0, bio = 0, rad = 0)
|
|
siemens_coefficient = 0.35
|
|
pocket_slots = 4
|
|
|
|
/obj/item/clothing/suit/armor/bulletproof
|
|
name = "ballistic vest"
|
|
desc = "A vest that excels in protecting the wearer against high-velocity solid projectiles."
|
|
icon_state = "bulletproof_armor"
|
|
item_state = "bulletproof_armor"
|
|
blood_overlay_type = "armor"
|
|
armor = list(melee = 25, bullet = 80, laser = 25, energy = 10, bomb = 0, bio = 0, rad = 0)
|
|
siemens_coefficient = 0.35
|
|
pocket_slots = 4
|
|
|
|
/obj/item/clothing/suit/armor/laserproof
|
|
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 = 25, bullet = 25, laser = 80, energy = 10, bomb = 0, bio = 0, rad = 0)
|
|
siemens_coefficient = 0
|
|
pocket_slots = 4
|
|
|
|
/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))
|
|
var/obj/item/projectile/P = damage_source
|
|
|
|
var/reflectchance = 40 - round(damage/3)
|
|
if(!(def_zone in list(BP_CHEST, BP_GROIN)))
|
|
reflectchance /= 2
|
|
if(P.starting && prob(reflectchance))
|
|
visible_message("<span class='danger'>\The [user]'s [src.name] reflects [attack_text]!</span>")
|
|
|
|
// Find a turf near or on the original location to bounce to
|
|
var/new_x = P.starting.x + pick(0, 0, 0, 0, 0, -1, 1, -2, 2)
|
|
var/new_y = P.starting.y + pick(0, 0, 0, 0, 0, -1, 1, -2, 2)
|
|
|
|
// redirect the projectile
|
|
P.firer = user
|
|
P.old_style_target(locate(new_x, new_y, P.z))
|
|
|
|
return PROJECTILE_CONTINUE // complete projectile permutation
|
|
|
|
/obj/item/clothing/suit/armor/swat
|
|
name = "swat suit"
|
|
desc = "A heavily armored suit that protects against moderate damage. Used in special operations."
|
|
icon_state = "deathsquad"
|
|
item_state = "swat_suit"
|
|
gas_transfer_coefficient = 0.01
|
|
permeability_coefficient = 0.01
|
|
item_flags = STOPPRESSUREDAMAGE | THICKMATERIAL
|
|
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS
|
|
allowed = list(/obj/item/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/handcuffs,/obj/item/tank/emergency_oxygen)
|
|
slowdown = 1
|
|
armor = list(melee = 80, bullet = 60, laser = 50,energy = 25, bomb = 50, bio = 100, rad = 100)
|
|
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
|
|
cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS
|
|
min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE
|
|
siemens_coefficient = 0.35
|
|
pocket_slots = 4//fullbody, more slots
|
|
|
|
/obj/item/clothing/suit/armor/swat/officer
|
|
name = "officer jacket"
|
|
desc = "An armored jacket used in special operations."
|
|
icon_state = "detective"
|
|
item_state = "det_suit"
|
|
blood_overlay_type = "coat"
|
|
flags_inv = 0
|
|
body_parts_covered = UPPER_TORSO|ARMS
|
|
pocket_slots = 4//coat, so more slots
|
|
|
|
/obj/item/clothing/suit/armor/det_suit
|
|
name = "armor"
|
|
desc = "An armored vest with a detective's badge on it."
|
|
icon_state = "detective-armor"
|
|
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)
|
|
|
|
|
|
//Reactive armor
|
|
//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
|
|
name = "reactive teleport armor"
|
|
desc = "Someone separated our Research Director from their own head!"
|
|
var/active = 0.0
|
|
icon_state = "reactiveoff"
|
|
item_state = "reactiveoff"
|
|
blood_overlay_type = "armor"
|
|
slowdown = 1
|
|
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
|
|
|
|
/obj/item/clothing/suit/armor/reactive/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack")
|
|
if(prob(50))
|
|
user.visible_message("<span class='danger'>The reactive teleport system flings [user] clear of the attack!</span>")
|
|
var/list/turfs = new/list()
|
|
for(var/turf/T in orange(6, user))
|
|
if(istype(T,/turf/space)) continue
|
|
if(T.density) continue
|
|
if(T.x>world.maxx-6 || T.x<6) continue
|
|
if(T.y>world.maxy-6 || T.y<6) continue
|
|
turfs += T
|
|
if(!turfs.len) turfs += pick(/turf in orange(6))
|
|
var/turf/picked = pick(turfs)
|
|
if(!isturf(picked)) return
|
|
|
|
spark(user, 5)
|
|
playsound(user.loc, "sparks", 50, 1)
|
|
|
|
user.forceMove(picked)
|
|
return PROJECTILE_FORCE_MISS
|
|
return 0
|
|
|
|
/obj/item/clothing/suit/armor/reactive/attack_self(mob/user as mob)
|
|
src.active = !( src.active )
|
|
if (src.active)
|
|
to_chat(user, "<span class='notice'>The reactive armor is now active.</span>")
|
|
src.icon_state = "reactive"
|
|
src.item_state = "reactive"
|
|
else
|
|
to_chat(user, "<span class='notice'>The reactive armor is now inactive.</span>")
|
|
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"
|
|
..()
|
|
|
|
/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/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.35
|
|
var/obj/item/clothing/accessory/holster/holster
|
|
|
|
/obj/item/clothing/suit/armor/tactical/Initialize()
|
|
. = ..()
|
|
holster = new()
|
|
holster.icon_state = null
|
|
holster.on_attached(src) //its inside a suit, we set this so it can be drawn from
|
|
QDEL_NULL(pockets) //Tactical armour has internal holster instead of pockets, so we null this out
|
|
cut_overlays() // Remove the holster's overlay.
|
|
|
|
/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/attack_hand(mob/user as mob)
|
|
if (loc == user)//If we're wearing the suit and we click it with an empty hand
|
|
holster.attack_hand(user)//Remove the weapon in the holster
|
|
else
|
|
..(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 (usr.get_active_hand())
|
|
if(!holster.holstered)
|
|
var/obj/item/W = usr.get_active_hand()
|
|
if(!istype(W, /obj/item))
|
|
to_chat(usr, "<span class='warning'>You need your gun equiped to holster it.</span>")
|
|
return
|
|
holster.holster(W, usr)
|
|
else
|
|
to_chat(usr, "<span class='warning'>There's already a gun in the holster, you need an empty hand to draw it.</span>")
|
|
return
|
|
else
|
|
if(holster.holstered)
|
|
holster.unholster(usr)
|
|
else
|
|
to_chat(usr, "<span class='warning'>There's no gun in the holster to draw.</span>")
|
|
|
|
|
|
//Non-hardsuit ERT armor.
|
|
/obj/item/clothing/suit/armor/vest/ert
|
|
name = "emergency response team armor"
|
|
desc = "A set of armor worn by members of the Emergency Response Team."
|
|
icon_state = "ertarmor_cmd"
|
|
item_state = "armor"
|
|
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
|
|
armor = list(melee = 60, bullet = 60, laser = 60, energy = 40, bomb = 20, bio = 0, rad = 0)
|
|
siemens_coefficient = 0.35
|
|
|
|
//Commander
|
|
/obj/item/clothing/suit/armor/vest/ert/command
|
|
name = "emergency response team commander armor"
|
|
desc = "A set of armor worn by the commander of an Emergency Response Team. Has blue highlights."
|
|
|
|
//Security
|
|
/obj/item/clothing/suit/armor/vest/ert/security
|
|
name = "emergency response team security armor"
|
|
desc = "A set of armor worn by security members of the Emergency Response Team. Has red highlights."
|
|
icon_state = "ertarmor_sec"
|
|
|
|
//Engineer
|
|
/obj/item/clothing/suit/armor/vest/ert/engineer
|
|
name = "emergency response team engineer armor"
|
|
desc = "A set of armor worn by engineering members of the Emergency Response Team. Has orange highlights."
|
|
icon_state = "ertarmor_eng"
|
|
|
|
//Medical
|
|
/obj/item/clothing/suit/armor/vest/ert/medical
|
|
name = "emergency response team medical armor"
|
|
desc = "A set of armor worn by medical members of the Emergency Response Team. Has red and white highlights."
|
|
icon_state = "ertarmor_med"
|
|
|
|
//New Vests
|
|
/obj/item/clothing/suit/storage/vest
|
|
name = "armor vest"
|
|
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)
|
|
allowed = list(/obj/item/gun,/obj/item/reagent_containers/spray/pepper,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/handcuffs,/obj/item/device/flashlight)
|
|
siemens_coefficient = 0.5
|
|
|
|
/obj/item/clothing/suit/storage/vest/Initialize()
|
|
. = ..()
|
|
pockets.storage_slots = 2 //two slots
|
|
|
|
/obj/item/clothing/suit/storage/vest/officer
|
|
name = "officer armor vest"
|
|
desc = "A simple kevlar plate carrier belonging to Nanotrasen. This one has a security holobadge clipped to the chest."
|
|
icon_state = "officervest_nobadge"
|
|
item_state = "officervest_nobadge"
|
|
icon_badge = "officervest_badge"
|
|
icon_nobadge = "officervest_nobadge"
|
|
|
|
/obj/item/clothing/suit/storage/vest/warden
|
|
name = "warden armor vest"
|
|
desc = "A simple kevlar plate carrier belonging to Nanotrasen. This one has a silver badge clipped to the chest."
|
|
icon_state = "wardenvest_nobadge"
|
|
item_state = "wardenvest_nobadge"
|
|
icon_badge = "wardenvest_badge"
|
|
icon_nobadge = "wardenvest_nobadge"
|
|
|
|
/obj/item/clothing/suit/storage/vest/hos
|
|
name = "commander armor vest"
|
|
desc = "A simple kevlar plate carrier belonging to Nanotrasen. This one has a gold badge clipped to the chest."
|
|
icon_state = "hosvest_nobadge"
|
|
item_state = "hosvest_nobadge"
|
|
icon_badge = "hosvest_badge"
|
|
icon_nobadge = "hosvest_nobadge"
|
|
armor = list(melee = 65, bullet = 30, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0)
|
|
|
|
/obj/item/clothing/suit/storage/vest/pcrc
|
|
name = "PCRC armor vest"
|
|
desc = "A simple kevlar plate carrier belonging to Proxima Centauri Risk Control. This one has a PCRC crest clipped to the chest."
|
|
icon_state = "pcrcvest_nobadge"
|
|
item_state = "pcrcvest_nobadge"
|
|
icon_badge = "pcrcvest_badge"
|
|
icon_nobadge = "pcrcvest_nobadge"
|
|
|
|
/obj/item/clothing/suit/storage/vest/detective
|
|
name = "detective armor vest"
|
|
desc = "A simple kevlar plate carrier in a vintage brown, it has a detective's badge clipped to the chest."
|
|
icon_state = "detectivevest_nobadge"
|
|
item_state = "detectivevest_nobadge"
|
|
icon_badge = "detectivevest_badge"
|
|
icon_nobadge = "detectivevest_nobadge"
|
|
|
|
/obj/item/clothing/suit/storage/vest/csi
|
|
name = "forensic technician armor vest"
|
|
desc = "A simple kevlar plate carrier belonging to Nanotrasen. This one has a forensic technician's badge clipped to the chest."
|
|
icon_state = "csivest_nobadge"
|
|
item_state = "csivest_nobadge"
|
|
icon_badge = "csivest_badge"
|
|
icon_nobadge = "csivest_nobadge"
|
|
|
|
/obj/item/clothing/suit/storage/hazardvest/cadet
|
|
name = "cadet hazard vest"
|
|
desc = "A sturdy high-visibility vest intended for in training security personnel."
|
|
icon_state = "hazard_cadet"
|
|
item_state = "hazard_cadet"
|
|
icon_open = "hazard_cadet_open"
|
|
icon_closed = "hazard_cadet"
|
|
allowed = list(/obj/item/gun,/obj/item/reagent_containers/spray/pepper,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/handcuffs,/obj/item/device/flashlight)
|
|
armor = list(melee = 10, bullet = 0, laser = 10, energy = 10, bomb = 10, bio = 0, rad = 0)
|
|
siemens_coefficient = 0.5
|
|
|
|
/obj/item/clothing/suit/storage/vest/heavy
|
|
name = "heavy armor vest"
|
|
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)
|
|
slowdown = 1
|
|
siemens_coefficient = 0.35
|
|
|
|
/obj/item/clothing/suit/storage/vest/heavy/officer
|
|
name = "officer heavy armor vest"
|
|
desc = "A heavy kevlar plate carrier belonging to Nanotrasen with webbing attached. This one has a security holobadge clipped to the chest."
|
|
icon_state = "officerwebvest_nobadge"
|
|
item_state = "officerwebvest_nobadge"
|
|
icon_badge = "officerwebvest_badge"
|
|
icon_nobadge = "officerwebvest_nobadge"
|
|
|
|
/obj/item/clothing/suit/storage/vest/heavy/warden
|
|
name = "warden heavy armor vest"
|
|
desc = "A heavy kevlar plate carrier belonging to Nanotrasen with webbing attached. This one has a silver badge clipped to the chest."
|
|
icon_state = "wardenwebvest_nobadge"
|
|
item_state = "wardenwebvest_nobadge"
|
|
icon_badge = "wardenwebvest_badge"
|
|
icon_nobadge = "wardenwebvest_nobadge"
|
|
|
|
/obj/item/clothing/suit/storage/vest/heavy/hos
|
|
name = "commander heavy armor vest"
|
|
desc = "A heavy kevlar plate carrier belonging to Nanotrasen with webbing attached. This one has a gold badge clipped to the chest."
|
|
icon_state = "hoswebvest_nobadge"
|
|
item_state = "hoswebvest_nobadge"
|
|
icon_badge = "hoswebvest_badge"
|
|
icon_nobadge = "hoswebvest_nobadge"
|
|
armor = list(melee = 65, bullet = 30, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0)
|
|
|
|
/obj/item/clothing/suit/storage/vest/heavy/pcrc
|
|
name = "PCRC heavy armor vest"
|
|
desc = "A heavy kevlar plate carrier belonging to Proxima Centauri Risk Control with webbing attached. This one has a PCRC crest clipped to the chest."
|
|
icon_state = "pcrcwebvest_nobadge"
|
|
item_state = "pcrcwebvest_nobadge"
|
|
icon_badge = "pcrcwebvest_badge"
|
|
icon_nobadge = "pcrcwebvest_nobadge"
|
|
|
|
//Provides the protection of a merc voidsuit, but only covers the chest/groin, and also takes up a suit slot. In exchange it has no slowdown and provides storage.
|
|
/obj/item/clothing/suit/storage/vest/merc
|
|
name = "heavy armor vest"
|
|
desc = "A high-quality armor vest in a fetching tan. It is surprisingly flexible and light, even with the added webbing and armor plating."
|
|
icon_state = "mercwebvest"
|
|
item_state = "mercwebvest"
|
|
armor = list(melee = 60, bullet = 60, laser = 60, energy = 40, bomb = 40, bio = 0, rad = 0)
|
|
|
|
//ert related armor
|
|
|
|
/obj/item/clothing/suit/storage/vest/heavy/ert
|
|
name = "ERT trooper's plate carrier"
|
|
desc = "A plate carrier worn by troopers of the emergency response team. Has crimson highlights."
|
|
icon_state = "ert_soldier"
|
|
item_state = "ert_soldier"
|
|
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
|
|
armor = list(melee = 60, bullet = 60, laser = 60, energy = 40, bomb = 20, bio = 0, rad = 0)
|
|
siemens_coefficient = 0.35
|
|
slowdown = 0
|
|
|
|
/obj/item/clothing/suit/storage/vest/heavy/ert/commander
|
|
name = "ERT commander's plate carrier"
|
|
desc = "A plate carrier worn by the elite emergency response team commander. Has gold highlights. This one has a Medal of Valor pinned to the breastplate."
|
|
icon_state = "ert_commander"
|
|
item_state = "ert_commander"
|
|
|
|
/obj/item/clothing/suit/storage/vest/heavy/ert/lead
|
|
name = "leading trooper's plate carrier"
|
|
desc = "A plate carrier worn by veteran troopers of the emergency response team qualified to lead small squads. Has blue highlights."
|
|
icon_state = "ert_lead"
|
|
item_state = "ert_lead"
|
|
|
|
/obj/item/clothing/suit/storage/vest/heavy/ert/medic
|
|
name = "ERT medic's plate carrier"
|
|
desc = "A plate carrier worn by combat medics of the emergency response team. Has white highlights. This one has a medic patch sewn to the breastplate."
|
|
icon_state = "ert_medic"
|
|
item_state = "ert_medic"
|
|
|
|
/obj/item/clothing/suit/storage/vest/heavy/ert/sapper
|
|
name = "ERT sapper's plate carrier"
|
|
desc = "A plate carrier worn by sappers of the emergency response team. Has green highlights."
|
|
icon_state = "ert_sapper"
|
|
item_state = "ert_sapper"
|
|
|
|
/obj/item/clothing/suit/storage/vest/heavy/ert/peacekeeper
|
|
name = "ERT civil protection plate carrier"
|
|
desc = "A plate carrier worn by troopers serving civil protection details. Commonly seen on high-profile escorts and Nanotrasen administration centers."
|
|
icon_state = "civilprotection_nobadge"
|
|
item_state = "civilprotection_nobadge"
|
|
icon_badge = "civilprotection_badge"
|
|
icon_nobadge = "civilprotection_nobadge"
|
|
|
|
//unathi armor
|
|
|
|
/obj/item/clothing/suit/armor/unathi
|
|
name = "unathi body armor"
|
|
desc = "An outdated armored chestplate designated to be worn by an Unathi, it was commonly used by the Hegemony Levies."
|
|
icon = 'icons/obj/unathi_items.dmi'
|
|
icon_state = "unathi_armor"
|
|
item_state = "unathi_armor"
|
|
contained_sprite = TRUE
|
|
species_restricted = list("Unathi")
|
|
armor = list(melee = 65, bullet = 30, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0)
|
|
siemens_coefficient = 0.35
|
|
|
|
/obj/item/clothing/suit/armor/unathi/hegemony
|
|
name = "hegemony body armor"
|
|
desc = "A highly armored chestplate designated to be worn by an Unathi, a newer variant commonly worn by the Hegemony Levies."
|
|
icon_state = "hegemony_armor"
|
|
item_state = "hegemony_armor"
|
|
armor = list(melee = 70, bullet = 40, laser = 55, energy = 15, bomb = 25, bio = 0, rad = 40)
|
|
|
|
// Vaurca version of Unathi armour
|
|
/obj/item/clothing/suit/armor/unathi/klax
|
|
name = "klaxan hopeful body armor"
|
|
desc = "An armored chestplate designated to be worn by a K'lax hopeful. The retrofit is only a bit shoddy."
|
|
icon = 'icons/obj/vaurca_items.dmi'
|
|
icon_state = "klax_hopeful"
|
|
item_state = "klax_hopeful"
|
|
contained_sprite = TRUE
|
|
species_restricted = list("Vaurca")
|
|
allowed = list(/obj/item/gun/projectile, /obj/item/gun/energy, /obj/item/gun/launcher, /obj/item/melee, /obj/item/reagent_containers/spray/pepper, /obj/item/ammo_magazine, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/handcuffs, /obj/item/device/flashlight)
|
|
armor = list(melee = 70, bullet = 40, laser = 55, energy = 15, bomb = 25, bio = 0, rad = 40)
|
|
siemens_coefficient = 0.35
|
|
|
|
/obj/item/clothing/suit/storage/vest/legion
|
|
name = "foreign legion armored suit"
|
|
desc = "A set of cheap composite armor with elbow guards, shoulder and knee pads."
|
|
icon_state = "legion_armor"
|
|
item_state = "legion_armor"
|
|
body_parts_covered = UPPER_TORSO | LOWER_TORSO | LEGS | ARMS
|
|
armor = list(melee = 50, bullet = 30, laser = 30, energy = 15, bomb = 40, bio = 0, rad = 0)
|
|
siemens_coefficient = 0.35
|
|
|
|
/obj/item/clothing/suit/storage/vest/legion/legate
|
|
name = "foreign legion legate coat"
|
|
desc = "A luxurious coat made out of sturdy synthetic fabrics and reinforced with lightweight alloys. Only worn by some of the highest decorated officers of the TCFL."
|
|
icon_state = "legion_coat"
|
|
item_state = "legion_coat"
|
|
|
|
/obj/item/clothing/suit/storage/vest/legion/legate/Initialize()
|
|
. = ..()
|
|
pockets = new/obj/item/storage/internal(src)
|
|
pockets.storage_slots = 4
|
|
pockets.max_w_class = 2
|
|
pockets.max_storage_space = 8
|
|
|
|
/obj/item/clothing/suit/armor/vest/idris
|
|
name = "black Idris Unit coat"
|
|
desc = "A coat worn by the Idris units, notorious across space."
|
|
icon_state = "iru_coat"
|
|
item_state = "iru_coat"
|
|
cold_protection = 0
|
|
min_cold_protection_temperature = 0
|
|
heat_protection = 0
|
|
max_heat_protection_temperature = 0
|
|
|
|
/obj/item/clothing/suit/armor/vest/idris/brown
|
|
name = "brown Idris Unit coat"
|
|
desc = "A coat worn by the Idris units, notorious across space. This one is brown."
|
|
icon_state = "iru_coat_brown"
|
|
item_state = "iru_coat_brown"
|
|
|
|
/obj/item/clothing/suit/armor/vest/idris/trenchcoat/black
|
|
name = "black Idris Unit trench coat"
|
|
desc = "A trench coat worn by the Idris units, notorious across space. This one is black."
|
|
icon_state = "iru_trench_black"
|
|
item_state = "iru_trench_black"
|
|
|
|
/obj/item/clothing/suit/armor/vest/idris/trenchcoat/brown
|
|
name = "brown Idris Unit trench coat"
|
|
desc = "A trench coat worn by the Idris units, notorious across space. This one is brown."
|
|
icon_state = "iru_trench_brown"
|
|
item_state = "iru_trench_brown"
|
|
|
|
/obj/item/clothing/suit/armor/vest/idris/duster/black
|
|
name = "black Idris Unit duster coat"
|
|
desc = "A duster coat worn by the Idris units, notorious across space. This one is black."
|
|
icon_state = "iru_duster_black"
|
|
item_state = "iru_duster_black"
|
|
|
|
/obj/item/clothing/suit/armor/vest/idris/duster/brown
|
|
name = "brown Idris Unit duster coat"
|
|
desc = "A duster coat worn by the Idris units, notorious across space. This one is brown."
|
|
icon_state = "iru_duster_brown"
|
|
item_state = "iru_duster_brown"
|
|
|
|
/obj/item/clothing/suit/storage/vest/sol
|
|
name = "sol heavy armor vest"
|
|
desc = "A high-quality armor vest in a deep green. It is surprisingly flexible and light, even with the added webbing and armor plating."
|
|
icon = 'icons/obj/sol_uniform.dmi'
|
|
icon_state = "solwebvest"
|
|
item_state = "solwebvest"
|
|
armor = list(melee = 60, bullet = 60, laser = 60, energy = 40, bomb = 40, bio = 0, rad = 0)
|
|
contained_sprite = 1
|
|
|
|
//All of the armor below is mostly unused
|
|
|
|
/obj/item/clothing/suit/armor/centcomm
|
|
name = "Cent. Com. armor"
|
|
desc = "A suit that protects against some damage."
|
|
icon_state = "centcom"
|
|
item_state = "centcom"
|
|
w_class = 4//bulky item
|
|
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
|
|
allowed = list(/obj/item/gun/energy,/obj/item/melee/baton,/obj/item/handcuffs,/obj/item/tank/emergency_oxygen)
|
|
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
|
|
cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS
|
|
min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE
|
|
siemens_coefficient = 0
|
|
|
|
/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
|
|
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
|
|
slowdown = 3
|
|
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
|
|
siemens_coefficient = 0.1
|
|
pocket_slots = 3
|
|
|
|
/obj/item/clothing/suit/armor/tdome
|
|
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
|
|
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
|
|
|
|
/obj/item/clothing/suit/armor/tdome/red
|
|
name = "thunderdome suit (red)"
|
|
desc = "Reddish armor."
|
|
icon_state = "tdred"
|
|
item_state = "tdred"
|
|
siemens_coefficient = 1
|
|
|
|
/obj/item/clothing/suit/armor/tdome/green
|
|
name = "thunderdome suit (green)"
|
|
desc = "Pukish armor."
|
|
icon_state = "tdgreen"
|
|
item_state = "tdgreen"
|
|
siemens_coefficient = 1
|