mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-23 13:10:02 +01:00
## About The Pull Request In similar fashion to what was done with crafting recipes last year, this year it's time for techweb designs and printed items to be audited. This is mostly just about consistency, we've a lot of items that can be printed by protolathes, autolathes, circuit printers and techfab etc. However they almost all (except most stacks, mainly) have custom materials that do not match in one way or another with the materials used by the design, which is what this PR is for. "But items printed from lathes etc. already get the mats used to make them." Yes, they do, however that isn't the case for items of the same type that were spawned in some other way (cargo shuttle, space/maints loot, mapped, admins), this create a subtle discrepancy. It isn't a huge deal (in spite of the size of this PR, ton of designs), but given that I have done something similar with crafting recipes before, I may as well give it a second arc of some sort and bring things to completion. And fix a few possible oversights. TL;DR consistency and stuff ## Why It's Good For The Game Consistency, unit test checks to make it harder not to be consistent in the future. Still has a few TODOs like: - [x] Fixed newly printed, fully charged RCDs costing less than the RCD cartridges required to fully charge one. EDIT: I had to tweak the newly added RDD as well because it suffered from the same fundamental issue. - [x] Fixed plates being made of iron and yet shattering like ceramic ones. A new subtype for metallic ones has been made. ## Changelog 🆑 refactor: Refactored a few things with techweb designs (the ones for autolathes, protolathes, circuit printers, mechfabs etc.) to make sure that the materials of items that can be made from these designs more closely match the materials used to make them. fix: Lizard fries no longer need a plate to be made, like all other treats that used to require plates in a distant past. balance: Tweaked the materials cost of RCD, RDD and RCD cartridges. image: Oven trays now have a more metallic hue. balance: Plates printed printed from lathes won't shatter like ceramic ones, in virtue of them being made out of iron instead. /🆑
879 lines
26 KiB
Plaintext
879 lines
26 KiB
Plaintext
/obj/item/clothing/suit/armor
|
|
name = "armor"
|
|
icon = 'icons/obj/clothing/suits/armor.dmi'
|
|
worn_icon = 'icons/mob/clothing/suits/armor.dmi'
|
|
abstract_type = /obj/item/clothing/suit/armor
|
|
allowed = null
|
|
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 = 6 SECONDS
|
|
equip_delay_other = 4 SECONDS
|
|
max_integrity = 250
|
|
resistance_flags = NONE
|
|
armor_type = /datum/armor/suit_armor
|
|
|
|
/datum/armor/suit_armor
|
|
melee = 35
|
|
bullet = 30
|
|
laser = 30
|
|
energy = 40
|
|
bomb = 25
|
|
fire = 50
|
|
acid = 50
|
|
wound = 10
|
|
|
|
/obj/item/clothing/suit/armor/Initialize(mapload)
|
|
. = ..()
|
|
if(!allowed)
|
|
allowed = GLOB.security_vest_allowed
|
|
|
|
/obj/item/clothing/suit/armor/apply_fantasy_bonuses(bonus)
|
|
. = ..()
|
|
slowdown = modify_fantasy_variable("slowdown", slowdown, -bonus * 0.1, 0)
|
|
if(ismob(loc))
|
|
var/mob/wearer = loc
|
|
wearer.update_equipment_speed_mods()
|
|
|
|
/obj/item/clothing/suit/armor/remove_fantasy_bonuses(bonus)
|
|
slowdown = reset_fantasy_variable("slowdown", slowdown)
|
|
if(ismob(loc))
|
|
var/mob/wearer = loc
|
|
wearer.update_equipment_speed_mods()
|
|
return ..()
|
|
|
|
/obj/item/clothing/suit/armor/vest
|
|
name = "armor vest"
|
|
desc = "A slim Type I armored vest that provides decent protection against most types of damage."
|
|
icon_state = "armoralt"
|
|
inhand_icon_state = "armor"
|
|
blood_overlay_type = "armor"
|
|
dog_fashion = /datum/dog_fashion/back/armorvest
|
|
|
|
/obj/item/clothing/suit/armor/vest/alt
|
|
desc = "A Type I armored vest that provides decent protection against most types of damage."
|
|
icon_state = "armor"
|
|
inhand_icon_state = "armor"
|
|
|
|
/obj/item/clothing/suit/armor/vest/alt/sec
|
|
icon_state = "armor_sec"
|
|
|
|
/obj/item/clothing/suit/armor/vest/press
|
|
name = "press armor vest"
|
|
desc = "A blue armor vest used to distinguish <i>non-combatant</i> \"PRESS\" members, like if anyone cares."
|
|
icon_state = "armor_press"
|
|
|
|
/obj/item/clothing/suit/armor/vest/press/worn_overlays(mutable_appearance/standing, isinhands, icon_file, bodyshape = NONE)
|
|
. = ..()
|
|
if(!isinhands)
|
|
. += emissive_appearance(icon_file, "[icon_state]-emissive", src, alpha = src.alpha, effect_type = EMISSIVE_SPECULAR)
|
|
|
|
/obj/item/clothing/suit/armor/vest/marine
|
|
name = "tactical armor vest"
|
|
desc = "A set of the finest mass produced, stamped plasteel armor plates, containing an environmental protection unit for all-condition door kicking."
|
|
icon_state = "marine_command"
|
|
inhand_icon_state = "armor"
|
|
clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL
|
|
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
|
|
armor_type = /datum/armor/vest_marine
|
|
cold_protection = CHEST | GROIN | LEGS | FEET | ARMS | HANDS
|
|
min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT_OFF
|
|
heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
|
|
resistance_flags = FIRE_PROOF | ACID_PROOF
|
|
|
|
/datum/armor/vest_marine
|
|
melee = 50
|
|
bullet = 50
|
|
laser = 30
|
|
energy = 25
|
|
bomb = 50
|
|
bio = 100
|
|
fire = 40
|
|
acid = 50
|
|
wound = 20
|
|
|
|
/datum/armor/pmc
|
|
melee = 40
|
|
bullet = 50
|
|
laser = 60
|
|
energy = 50
|
|
bomb = 50
|
|
bio = 100
|
|
acid = 50
|
|
wound = 20
|
|
|
|
/obj/item/clothing/suit/armor/vest/marine/security
|
|
name = "large tactical armor vest"
|
|
icon_state = "marine_security"
|
|
|
|
/obj/item/clothing/suit/armor/vest/marine/engineer
|
|
name = "tactical utility armor vest"
|
|
icon_state = "marine_engineer"
|
|
|
|
/obj/item/clothing/suit/armor/vest/marine/medic
|
|
name = "tactical medic's armor vest"
|
|
icon_state = "marine_medic"
|
|
body_parts_covered = CHEST|GROIN
|
|
|
|
/obj/item/clothing/suit/armor/vest/marine/pmc
|
|
desc = "A set of the finest mass produced, stamped plasteel armor plates, for an all-around door-kicking and ass-smashing. Its stellar survivability making up is for its lack of space worthiness"
|
|
min_cold_protection_temperature = HELMET_MIN_TEMP_PROTECT
|
|
max_heat_protection_temperature = HELMET_MAX_TEMP_PROTECT
|
|
clothing_flags = THICKMATERIAL
|
|
w_class = WEIGHT_CLASS_BULKY
|
|
armor_type = /datum/armor/pmc
|
|
|
|
/obj/item/clothing/suit/armor/vest/old
|
|
name = "degrading armor vest"
|
|
desc = "Older generation Type 1 armored vest. Due to degradation over time the vest is far less maneuverable to move in."
|
|
icon_state = "armor"
|
|
inhand_icon_state = "armor"
|
|
slowdown = 1
|
|
|
|
/obj/item/clothing/suit/armor/vest/blueshirt
|
|
name = "large armor vest"
|
|
desc = "A large, yet comfortable piece of armor, protecting you from some threats."
|
|
icon_state = "blueshift"
|
|
inhand_icon_state = null
|
|
custom_premium_price = PAYCHECK_COMMAND
|
|
|
|
/obj/item/clothing/suit/armor/vest/cuirass
|
|
name = "cuirass"
|
|
desc = "A lighter plate armor used to still keep out those pesky arrows, while retaining the ability to move."
|
|
icon_state = "cuirass"
|
|
inhand_icon_state = "armor"
|
|
dog_fashion = null
|
|
|
|
/obj/item/clothing/suit/armor/vest/cuirass/Initialize(mapload)
|
|
. = ..()
|
|
AddComponent(/datum/component/item_equipped_movement_rustle, SFX_PLATE_ARMOR_RUSTLE, 8)
|
|
|
|
/obj/item/clothing/suit/armor/hos
|
|
name = "armored greatcoat"
|
|
desc = "A greatcoat enhanced with a special alloy for some extra protection and style for those with a commanding presence."
|
|
icon_state = "hos"
|
|
inhand_icon_state = "greatcoat"
|
|
body_parts_covered = CHEST|GROIN|ARMS|LEGS
|
|
armor_type = /datum/armor/armor_hos
|
|
cold_protection = CHEST|GROIN|LEGS|ARMS
|
|
heat_protection = CHEST|GROIN|LEGS|ARMS
|
|
strip_delay = 8 SECONDS
|
|
|
|
/datum/armor/armor_hos
|
|
melee = 30
|
|
bullet = 30
|
|
laser = 30
|
|
energy = 40
|
|
bomb = 25
|
|
fire = 70
|
|
acid = 90
|
|
wound = 10
|
|
|
|
/obj/item/clothing/suit/armor/hos/trenchcoat
|
|
name = "armored trenchcoat"
|
|
desc = "A trenchcoat enhanced with a special lightweight kevlar. The epitome of tactical plainclothes."
|
|
icon_state = "hostrench"
|
|
inhand_icon_state = "hostrench"
|
|
flags_inv = 0
|
|
strip_delay = 8 SECONDS
|
|
|
|
/obj/item/clothing/suit/armor/hos/trenchcoat/winter
|
|
name = "head of security's winter trenchcoat"
|
|
desc = "A trenchcoat enhanced with a special lightweight kevlar, padded with wool on the collar and inside. You feel strangely lonely wearing this coat."
|
|
icon_state = "hoswinter"
|
|
min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
|
|
|
|
/obj/item/clothing/suit/armor/hos/hos_formal
|
|
name = "\improper Head of Security's parade jacket"
|
|
desc = "For when an armoured vest isn't fashionable enough."
|
|
icon_state = "hosformal"
|
|
inhand_icon_state = "hostrench"
|
|
body_parts_covered = CHEST|GROIN|ARMS
|
|
|
|
/obj/item/clothing/suit/armor/hos/hos_formal/Initialize(mapload)
|
|
. = ..()
|
|
AddComponent(/datum/component/toggle_icon)
|
|
|
|
/obj/item/clothing/suit/armor/vest/warden
|
|
name = "warden's jacket"
|
|
desc = "A navy-blue armored jacket with blue shoulder designations and '/Warden/' stitched into one of the chest pockets."
|
|
icon_state = "warden_alt"
|
|
inhand_icon_state = "armor"
|
|
body_parts_covered = CHEST|GROIN|ARMS
|
|
cold_protection = CHEST|GROIN|ARMS|HANDS
|
|
heat_protection = CHEST|GROIN|ARMS|HANDS
|
|
strip_delay = 7 SECONDS
|
|
resistance_flags = FLAMMABLE
|
|
dog_fashion = null
|
|
|
|
/obj/item/clothing/suit/armor/vest/warden/alt
|
|
name = "warden's armored jacket"
|
|
desc = "A red jacket with silver rank pips and body armor strapped on top."
|
|
icon_state = "warden_jacket"
|
|
|
|
/obj/item/clothing/suit/armor/vest/secjacket
|
|
name = "security jacket"
|
|
desc = "A red jacket in red Security colors. It has hi-vis stripes all over it."
|
|
icon_state = "secjacket"
|
|
inhand_icon_state = "armor"
|
|
armor_type = /datum/armor/armor_secjacket
|
|
body_parts_covered = CHEST|GROIN|ARMS
|
|
cold_protection = CHEST|GROIN|ARMS|HANDS
|
|
heat_protection = CHEST|GROIN|ARMS|HANDS
|
|
resistance_flags = FLAMMABLE
|
|
dog_fashion = null
|
|
|
|
/obj/item/clothing/suit/armor/vest/secjacket/worn_overlays(mutable_appearance/standing, isinhands, icon_file, bodyshape = NONE)
|
|
. = ..()
|
|
if(!isinhands)
|
|
. += emissive_appearance(icon_file, "[icon_state]-emissive", src, alpha = src.alpha, effect_type = EMISSIVE_SPECULAR)
|
|
|
|
/datum/armor/armor_secjacket //Gotta compensate those extra covered limbs
|
|
melee = 25
|
|
bullet = 25
|
|
laser = 25
|
|
energy = 35
|
|
bomb = 20
|
|
fire = 30
|
|
acid = 30
|
|
wound = 5
|
|
|
|
/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"
|
|
inhand_icon_state = "hostrench"
|
|
body_parts_covered = CHEST|GROIN|ARMS|LEGS
|
|
cold_protection = CHEST|GROIN|LEGS|ARMS
|
|
heat_protection = CHEST|GROIN|LEGS|ARMS
|
|
dog_fashion = null
|
|
|
|
/obj/item/clothing/suit/armor/vest/capcarapace
|
|
name = "captain's carapace"
|
|
desc = "A fireproof armored chestpiece reinforced with ceramic plates and plasteel 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"
|
|
inhand_icon_state = "armor"
|
|
body_parts_covered = CHEST|GROIN
|
|
armor_type = /datum/armor/vest_capcarapace
|
|
dog_fashion = null
|
|
resistance_flags = FIRE_PROOF
|
|
|
|
/datum/armor/vest_capcarapace
|
|
melee = 50
|
|
bullet = 40
|
|
laser = 50
|
|
energy = 50
|
|
bomb = 25
|
|
fire = 100
|
|
acid = 90
|
|
wound = 10
|
|
|
|
/obj/item/clothing/suit/armor/vest/capcarapace/syndicate
|
|
name = "syndicate captain's vest"
|
|
desc = "A sinister looking vest of advanced armor worn over a black and red fireproof jacket. The gold collar and shoulders denote that this belongs to a high ranking syndicate officer."
|
|
icon_state = "syndievest"
|
|
|
|
/obj/item/clothing/suit/armor/vest/capcarapace/captains_formal
|
|
name = "captain's parade coat"
|
|
desc = "For when an armoured vest isn't fashionable enough."
|
|
icon_state = "capformal"
|
|
inhand_icon_state = null
|
|
body_parts_covered = CHEST|GROIN|ARMS
|
|
|
|
/obj/item/clothing/suit/armor/vest/capcarapace/captains_formal/Initialize(mapload)
|
|
. = ..()
|
|
AddComponent(/datum/component/toggle_icon)
|
|
|
|
/obj/item/clothing/suit/armor/riot
|
|
name = "riot suit"
|
|
desc = "A suit of semi-flexible polycarbonate body armor with heavy padding to protect against melee attacks. Helps the wearer resist shoving in close quarters."
|
|
icon_state = "riot"
|
|
inhand_icon_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_type = /datum/armor/armor_riot
|
|
strip_delay = 8 SECONDS
|
|
equip_delay_other = 6 SECONDS
|
|
clothing_traits = list(TRAIT_BRAWLING_KNOCKDOWN_BLOCKED)
|
|
|
|
/obj/item/clothing/suit/armor/riot/Initialize(mapload)
|
|
. = ..()
|
|
AddElement(/datum/element/adjust_fishing_difficulty, 5)
|
|
init_rustle_component()
|
|
|
|
/obj/item/clothing/suit/armor/riot/proc/init_rustle_component()
|
|
AddComponent(/datum/component/item_equipped_movement_rustle)
|
|
|
|
/datum/armor/armor_riot
|
|
melee = 50
|
|
bullet = 10
|
|
laser = 10
|
|
energy = 10
|
|
fire = 80
|
|
acid = 80
|
|
wound = 20
|
|
|
|
/obj/item/clothing/suit/armor/balloon_vest
|
|
name = "balloon vest"
|
|
desc = "A vest made entirely from balloons, resistant to any evil forces a mime could throw at you, including electricity and fire. Just a strike with something sharp, though..."
|
|
icon_state = "balloon-vest"
|
|
inhand_icon_state = "balloon_armor"
|
|
blood_overlay_type = "armor"
|
|
armor_type = /datum/armor/balloon_vest
|
|
siemens_coefficient = 0
|
|
strip_delay = 7 SECONDS
|
|
equip_delay_other = 5 SECONDS
|
|
custom_materials = list(/datum/material/plastic = SHEET_MATERIAL_AMOUNT * 10.8)
|
|
|
|
/datum/armor/balloon_vest
|
|
melee = 10
|
|
laser = 10
|
|
energy = 10
|
|
fire = 60
|
|
acid = 50
|
|
|
|
/obj/item/clothing/suit/armor/balloon_vest/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK, damage_type = BRUTE)
|
|
if(isitem(hitby))
|
|
var/obj/item/item_hit = hitby
|
|
if(item_hit.get_sharpness())
|
|
pop()
|
|
|
|
if(istype(hitby, /obj/projectile/bullet))
|
|
pop()
|
|
|
|
return ..()
|
|
|
|
/obj/item/clothing/suit/armor/balloon_vest/proc/pop()
|
|
playsound(src, 'sound/effects/cartoon_sfx/cartoon_pop.ogg', 50, vary = TRUE)
|
|
qdel(src)
|
|
|
|
|
|
/obj/item/clothing/suit/armor/bulletproof
|
|
name = "bulletproof armor"
|
|
desc = "A Type III heavy bulletproof vest that excels in protecting the wearer against traditional projectile weaponry and explosives to a minor extent."
|
|
icon_state = "bulletproof"
|
|
inhand_icon_state = "armor"
|
|
blood_overlay_type = "armor"
|
|
armor_type = /datum/armor/armor_bulletproof
|
|
strip_delay = 7 SECONDS
|
|
equip_delay_other = 5 SECONDS
|
|
|
|
/datum/armor/armor_bulletproof
|
|
melee = 15
|
|
bullet = 60
|
|
laser = 10
|
|
energy = 10
|
|
bomb = 40
|
|
fire = 50
|
|
acid = 50
|
|
wound = 20
|
|
|
|
/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"
|
|
inhand_icon_state = "armor_reflec"
|
|
blood_overlay_type = "armor"
|
|
body_parts_covered = CHEST|GROIN|ARMS
|
|
cold_protection = CHEST|GROIN|ARMS
|
|
heat_protection = CHEST|GROIN|ARMS
|
|
armor_type = /datum/armor/armor_laserproof
|
|
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF
|
|
var/hit_reflect_chance = 50
|
|
|
|
/datum/armor/armor_laserproof
|
|
melee = 10
|
|
bullet = 10
|
|
laser = 60
|
|
energy = 60
|
|
fire = 100
|
|
acid = 100
|
|
|
|
/obj/item/clothing/suit/armor/laserproof/IsReflect(def_zone)
|
|
if(!(def_zone in list(BODY_ZONE_CHEST, BODY_ZONE_PRECISE_GROIN, BODY_ZONE_L_ARM, BODY_ZONE_R_ARM))) //If not shot where ablative is covering you, you don't get the reflection bonus!
|
|
return FALSE
|
|
if (prob(hit_reflect_chance))
|
|
return TRUE
|
|
|
|
/obj/item/clothing/suit/armor/vest/det_suit
|
|
name = "detective's flak vest"
|
|
desc = "An armored vest with a detective's badge on it."
|
|
icon_state = "detective-armor"
|
|
resistance_flags = FLAMMABLE
|
|
dog_fashion = null
|
|
|
|
/obj/item/clothing/suit/armor/vest/det_suit/Initialize(mapload)
|
|
. = ..()
|
|
allowed = GLOB.detective_vest_allowed
|
|
|
|
/obj/item/clothing/suit/armor/swat
|
|
name = "MK.I SWAT Suit"
|
|
desc = "A tactical suit first developed in a joint effort by the defunct IS-ERI and Nanotrasen in 2321 for military operations. \
|
|
It has a minor slowdown, but offers decent protection and helps the wearer resist shoving in close quarters."
|
|
icon_state = "heavy"
|
|
inhand_icon_state = "swat_suit"
|
|
armor_type = /datum/armor/armor_swat
|
|
strip_delay = 12 SECONDS
|
|
resistance_flags = FIRE_PROOF | ACID_PROOF
|
|
clothing_flags = THICKMATERIAL
|
|
cold_protection = CHEST | GROIN | LEGS | FEET | ARMS | HANDS
|
|
min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT_OFF
|
|
heat_protection = CHEST | GROIN | LEGS | FEET | ARMS | HANDS
|
|
max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT
|
|
slowdown = 0.7
|
|
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
|
|
clothing_traits = list(TRAIT_BRAWLING_KNOCKDOWN_BLOCKED)
|
|
|
|
/obj/item/clothing/suit/armor/swat/Initialize(mapload)
|
|
. = ..()
|
|
AddElement(/datum/element/adjust_fishing_difficulty, 5)
|
|
init_rustle_component()
|
|
|
|
/obj/item/clothing/suit/armor/swat/proc/init_rustle_component()
|
|
AddComponent(/datum/component/item_equipped_movement_rustle)
|
|
|
|
|
|
//All of the armor below is mostly unused
|
|
|
|
/datum/armor/armor_swat
|
|
melee = 40
|
|
bullet = 30
|
|
laser = 30
|
|
energy = 40
|
|
bomb = 50
|
|
bio = 90
|
|
fire = 100
|
|
acid = 100
|
|
wound = 15
|
|
|
|
/obj/item/clothing/suit/armor/heavy
|
|
name = "heavy armor"
|
|
desc = "A heavily armored suit that protects against moderate damage."
|
|
icon_state = "heavy"
|
|
inhand_icon_state = "swat_suit"
|
|
w_class = WEIGHT_CLASS_BULKY
|
|
clothing_flags = THICKMATERIAL
|
|
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
|
|
slowdown = 3
|
|
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
|
|
armor_type = /datum/armor/armor_heavy
|
|
|
|
/datum/armor/armor_heavy
|
|
melee = 80
|
|
bullet = 80
|
|
laser = 50
|
|
energy = 50
|
|
bomb = 100
|
|
bio = 100
|
|
fire = 90
|
|
acid = 90
|
|
|
|
/obj/item/clothing/suit/armor/tdome
|
|
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
|
|
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
|
|
clothing_flags = THICKMATERIAL
|
|
cold_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
|
|
heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
|
|
armor_type = /datum/armor/armor_tdome
|
|
|
|
/datum/armor/armor_tdome
|
|
melee = 80
|
|
bullet = 80
|
|
laser = 50
|
|
energy = 50
|
|
bomb = 100
|
|
bio = 100
|
|
fire = 90
|
|
acid = 90
|
|
|
|
/obj/item/clothing/suit/armor/tdome/red
|
|
name = "thunderdome suit"
|
|
desc = "Reddish armor."
|
|
icon_state = "tdred"
|
|
inhand_icon_state = "tdred"
|
|
|
|
/obj/item/clothing/suit/armor/tdome/green
|
|
name = "thunderdome suit"
|
|
desc = "Pukish armor." //classy.
|
|
icon_state = "tdgreen"
|
|
inhand_icon_state = "tdgreen"
|
|
|
|
/obj/item/clothing/suit/armor/tdome/holosuit
|
|
name = "thunderdome suit"
|
|
armor_type = /datum/armor/tdome_holosuit
|
|
cold_protection = null
|
|
heat_protection = null
|
|
|
|
/datum/armor/tdome_holosuit
|
|
melee = 10
|
|
bullet = 10
|
|
|
|
/obj/item/clothing/suit/armor/tdome/holosuit/red
|
|
desc = "Reddish armor."
|
|
icon_state = "tdred"
|
|
inhand_icon_state = "tdred"
|
|
|
|
/obj/item/clothing/suit/armor/tdome/holosuit/green
|
|
desc = "Pukish armor."
|
|
icon_state = "tdgreen"
|
|
inhand_icon_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"
|
|
inhand_icon_state = null
|
|
allowed = list(
|
|
/obj/item/banner,
|
|
/obj/item/claymore,
|
|
/obj/item/nullrod,
|
|
/obj/item/tank/internals/emergency_oxygen,
|
|
/obj/item/tank/internals/plasmaman,
|
|
)
|
|
/obj/item/clothing/suit/armor/riot/knight/init_rustle_component()
|
|
AddComponent(/datum/component/item_equipped_movement_rustle, SFX_PLATE_ARMOR_RUSTLE, 8)
|
|
|
|
/obj/item/clothing/suit/armor/riot/knight/yellow
|
|
icon_state = "knight_yellow"
|
|
inhand_icon_state = null
|
|
|
|
/obj/item/clothing/suit/armor/riot/knight/blue
|
|
icon_state = "knight_blue"
|
|
inhand_icon_state = null
|
|
|
|
/obj/item/clothing/suit/armor/riot/knight/red
|
|
icon_state = "knight_red"
|
|
inhand_icon_state = null
|
|
|
|
/obj/item/clothing/suit/armor/riot/knight/greyscale
|
|
name = "knight armour"
|
|
desc = "A classic suit of armour, able to be made from many different materials."
|
|
icon_state = "knight_greyscale"
|
|
inhand_icon_state = null
|
|
material_flags = MATERIAL_EFFECTS | MATERIAL_ADD_PREFIX | MATERIAL_COLOR | MATERIAL_AFFECT_STATISTICS // Can change color and add prefix
|
|
armor_type = /datum/armor/knight_greyscale
|
|
|
|
/datum/armor/knight_greyscale
|
|
melee = 35
|
|
bullet = 10
|
|
laser = 10
|
|
energy = 10
|
|
bomb = 10
|
|
bio = 10
|
|
fire = 40
|
|
acid = 40
|
|
|
|
/obj/item/clothing/suit/armor/vest/durathread
|
|
name = "durathread vest"
|
|
desc = "A vest made of durathread with strips of leather acting as trauma plates."
|
|
icon_state = "durathread"
|
|
inhand_icon_state = null
|
|
strip_delay = 6 SECONDS
|
|
equip_delay_other = 4 SECONDS
|
|
max_integrity = 200
|
|
resistance_flags = FLAMMABLE
|
|
armor_type = /datum/armor/vest_durathread
|
|
dog_fashion = null
|
|
|
|
/obj/item/clothing/suit/armor/vest/durathread/Initialize(mapload)
|
|
. = ..()
|
|
allowed |= /obj/item/clothing/suit/apron::allowed
|
|
|
|
/datum/armor/vest_durathread
|
|
melee = 20
|
|
bullet = 10
|
|
laser = 30
|
|
energy = 40
|
|
bomb = 15
|
|
fire = 40
|
|
acid = 50
|
|
|
|
/obj/item/clothing/suit/armor/vest/russian
|
|
name = "russian vest"
|
|
desc = "A bulletproof vest with forest camo. Good thing there's plenty of forests to hide in around here, right?"
|
|
icon_state = "rus_armor"
|
|
inhand_icon_state = null
|
|
armor_type = /datum/armor/vest_russian
|
|
dog_fashion = null
|
|
|
|
/datum/armor/vest_russian
|
|
melee = 25
|
|
bullet = 30
|
|
energy = 10
|
|
bomb = 10
|
|
fire = 20
|
|
acid = 50
|
|
wound = 10
|
|
|
|
/obj/item/clothing/suit/armor/vest/russian_coat
|
|
name = "russian battle coat"
|
|
desc = "Used in extremely cold fronts, made out of real bears."
|
|
icon_state = "rus_coat"
|
|
inhand_icon_state = null
|
|
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
|
|
cold_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
|
|
min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT
|
|
armor_type = /datum/armor/vest_russian_coat
|
|
dog_fashion = null
|
|
|
|
/datum/armor/vest_russian_coat
|
|
melee = 25
|
|
bullet = 20
|
|
laser = 20
|
|
energy = 30
|
|
bomb = 20
|
|
bio = 50
|
|
fire = -10
|
|
acid = 50
|
|
wound = 10
|
|
|
|
/obj/item/clothing/suit/armor/elder_atmosian
|
|
name = "\improper Elder Atmosian Armor"
|
|
desc = "A superb armor made with the toughest and rarest materials available to man."
|
|
icon_state = "h2armor"
|
|
inhand_icon_state = null
|
|
material_flags = MATERIAL_EFFECTS
|
|
armor_type = /datum/armor/armor_elder_atmosian
|
|
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
|
|
|
|
/obj/item/clothing/suit/armor/elder_atmosian/Initialize(mapload)
|
|
. = ..()
|
|
allowed += list(
|
|
/obj/item/fireaxe/metal_h2_axe,
|
|
/obj/item/gun/ballistic/rifle/rebarxbow,
|
|
)
|
|
|
|
/datum/armor/armor_elder_atmosian
|
|
melee = 25
|
|
bullet = 20
|
|
laser = 30
|
|
energy = 30
|
|
bomb = 85
|
|
bio = 10
|
|
fire = 65
|
|
acid = 40
|
|
wound = 15
|
|
|
|
/obj/item/clothing/suit/armor/centcom_formal
|
|
name = "\improper CentCom formal coat"
|
|
desc = "A stylish coat given to CentCom Commanders. Perfect for sending ERTs to suicide missions with style!"
|
|
icon_state = "centcom_formal"
|
|
inhand_icon_state = "centcom"
|
|
body_parts_covered = CHEST|GROIN|ARMS
|
|
armor_type = /datum/armor/armor_centcom_formal
|
|
|
|
/datum/armor/armor_centcom_formal
|
|
melee = 35
|
|
bullet = 40
|
|
laser = 40
|
|
energy = 50
|
|
bomb = 35
|
|
bio = 10
|
|
fire = 10
|
|
acid = 60
|
|
|
|
/obj/item/clothing/suit/armor/centcom_formal/Initialize(mapload)
|
|
. = ..()
|
|
AddComponent(/datum/component/toggle_icon)
|
|
|
|
/obj/item/clothing/suit/armor/vest/hop
|
|
name = "head of personnel's coat"
|
|
desc = "A stylish coat given to a Head of Personnel."
|
|
icon_state = "hop_coat"
|
|
inhand_icon_state = "b_suit"
|
|
body_parts_covered = CHEST|GROIN|ARMS
|
|
dog_fashion = null
|
|
|
|
/obj/item/clothing/suit/armor/militia
|
|
name = "station defender's coat"
|
|
desc = "A well worn uniform used by militia across the frontier, its thick padding useful for cushioning blows."
|
|
icon_state = "militia"
|
|
inhand_icon_state = "b_suit"
|
|
body_parts_covered = CHEST|GROIN|ARMS
|
|
cold_protection = CHEST|GROIN|ARMS
|
|
min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
|
|
armor_type = /datum/armor/coat_militia
|
|
|
|
/datum/armor/coat_militia
|
|
melee = 40
|
|
bullet = 40
|
|
laser = 30
|
|
energy = 25
|
|
bomb = 50
|
|
fire = 40
|
|
acid = 50
|
|
wound = 30
|
|
|
|
/obj/item/clothing/suit/armor/vest/military
|
|
name = "Crude chestplate"
|
|
desc = "It may look rough, rusty and battered, but it's also made out of junk and uncomfortable to wear."
|
|
icon_state = "military"
|
|
inhand_icon_state = "armor"
|
|
dog_fashion = null
|
|
armor_type = /datum/armor/military
|
|
allowed = list(
|
|
/obj/item/banner,
|
|
/obj/item/claymore/shortsword,
|
|
/obj/item/nullrod,
|
|
/obj/item/spear,
|
|
/obj/item/gun/ballistic/bow
|
|
)
|
|
|
|
/obj/item/clothing/suit/armor/vest/military/Initialize(mapload)
|
|
. = ..()
|
|
AddElement(/datum/element/adjust_fishing_difficulty, 5)
|
|
|
|
/datum/armor/military
|
|
melee = 45
|
|
bullet = 25
|
|
laser = 25
|
|
energy = 25
|
|
bomb = 25
|
|
fire = 10
|
|
acid = 50
|
|
wound = 20
|
|
|
|
/obj/item/clothing/suit/armor/riot/knight/warlord
|
|
name = "golden plate armor"
|
|
desc = "This bulky set of armor is coated with a shiny layer of gold. It seems to almost reflect all light sources."
|
|
icon_state = "warlord"
|
|
inhand_icon_state = null
|
|
armor_type = /datum/armor/armor_warlord
|
|
w_class = WEIGHT_CLASS_BULKY
|
|
clothing_flags = THICKMATERIAL
|
|
slowdown = 0.8
|
|
|
|
/datum/armor/armor_warlord
|
|
melee = 70
|
|
bullet = 60
|
|
laser = 70
|
|
energy = 70
|
|
bomb = 40
|
|
fire = 50
|
|
acid = 50
|
|
wound = 30
|
|
|
|
/obj/item/clothing/suit/armor/durability
|
|
abstract_type = /obj/item/clothing/suit/armor/durability
|
|
|
|
/obj/item/clothing/suit/armor/durability/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK, damage_type = BRUTE)
|
|
take_damage(1, BRUTE, 0, 0)
|
|
|
|
/obj/item/clothing/suit/armor/durability/watermelon
|
|
name = "watermelon armor"
|
|
desc = "An armor, made from watermelons. Probably won't take too many hits, but at least it looks serious... As serious as worn watermelon can be."
|
|
icon_state = "watermelon"
|
|
inhand_icon_state = null
|
|
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
|
|
armor_type = /datum/armor/watermelon
|
|
strip_delay = 6 SECONDS
|
|
equip_delay_other = 4 SECONDS
|
|
clothing_traits = list(TRAIT_BRAWLING_KNOCKDOWN_BLOCKED)
|
|
max_integrity = 15
|
|
|
|
/obj/item/clothing/suit/armor/durability/watermelon/fire_resist
|
|
resistance_flags = FIRE_PROOF
|
|
armor_type = /datum/armor/watermelon_fr
|
|
|
|
/datum/armor/watermelon
|
|
melee = 15
|
|
bullet = 10
|
|
energy = 10
|
|
bomb = 10
|
|
fire = 0
|
|
acid = 25
|
|
wound = 5
|
|
|
|
/datum/armor/watermelon_fr
|
|
melee = 15
|
|
bullet = 10
|
|
energy = 10
|
|
bomb = 10
|
|
fire = 15
|
|
acid = 30
|
|
wound = 5
|
|
|
|
/obj/item/clothing/suit/armor/durability/holymelon
|
|
name = "holymelon armor"
|
|
desc = "An armor, made from holymelons. Inspires you to go on some sort of crusade... Perhaps spreading spinach to children?"
|
|
icon_state = "holymelon"
|
|
inhand_icon_state = null
|
|
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
|
|
armor_type = /datum/armor/watermelon
|
|
strip_delay = 6 SECONDS
|
|
equip_delay_other = 4 SECONDS
|
|
clothing_traits = list(TRAIT_BRAWLING_KNOCKDOWN_BLOCKED)
|
|
max_integrity = 15
|
|
|
|
/obj/item/clothing/suit/armor/durability/holymelon/fire_resist
|
|
resistance_flags = FIRE_PROOF
|
|
armor_type = /datum/armor/watermelon_fr
|
|
|
|
/obj/item/clothing/suit/armor/durability/holymelon/Initialize(mapload)
|
|
. = ..()
|
|
|
|
AddComponent(
|
|
/datum/component/anti_magic, \
|
|
antimagic_flags = MAGIC_RESISTANCE|MAGIC_RESISTANCE_HOLY, \
|
|
inventory_flags = ITEM_SLOT_OCLOTHING, \
|
|
charges = 1, \
|
|
block_magic = CALLBACK(src, PROC_REF(drain_antimagic)), \
|
|
expiration = CALLBACK(src, PROC_REF(decay)) \
|
|
)
|
|
|
|
/obj/item/clothing/suit/armor/durability/holymelon/proc/drain_antimagic(mob/user)
|
|
to_chat(user, span_warning("[src] looses a bit of its shimmer and glossiness..."))
|
|
|
|
/obj/item/clothing/suit/armor/durability/holymelon/proc/decay()
|
|
take_damage(8, BRUTE, 0, 0)
|
|
|
|
|
|
/obj/item/clothing/suit/armor/durability/barrelmelon
|
|
name = "barrelmelon armor"
|
|
desc = "An armor, made from barrelmelons. Reeks of ale, inspiring to courageous deeds. Or, perhaps, a bar brawl."
|
|
icon_state = "barrelmelon"
|
|
inhand_icon_state = null
|
|
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
|
|
armor_type = /datum/armor/barrelmelon
|
|
strip_delay = 6 SECONDS
|
|
equip_delay_other = 4 SECONDS
|
|
clothing_traits = list(TRAIT_BRAWLING_KNOCKDOWN_BLOCKED)
|
|
max_integrity = 10
|
|
|
|
/obj/item/clothing/suit/armor/durability/barrelmelon/fire_resist
|
|
resistance_flags = FIRE_PROOF
|
|
armor_type = /datum/armor/barrelmelon_fr
|
|
|
|
/datum/armor/barrelmelon
|
|
melee = 25
|
|
bullet = 20
|
|
energy = 15
|
|
bomb = 10
|
|
fire = 0
|
|
acid = 35
|
|
wound = 10
|
|
|
|
/datum/armor/barrelmelon_fr
|
|
melee = 25
|
|
bullet = 20
|
|
energy = 15
|
|
bomb = 10
|
|
fire = 20
|
|
acid = 40
|
|
wound = 10
|
|
|
|
/obj/item/clothing/suit/armor/dragoon
|
|
name = "drachen suit"
|
|
desc = "A chainmail suit with dragon scales attached to the skeleton, with ash-covered mythril plate reinforcement covering it."
|
|
icon_state = "dragoon"
|
|
inhand_icon_state = "dragoon"
|
|
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
|
|
heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
|
|
resistance_flags = FIRE_PROOF | ACID_PROOF
|
|
allowed = list(/obj/item/spear/skybulge)
|