# Numbers for armor here largely taken from /tg/.
# NOTE: Half of the kind of armor you're probably thinking of is in vests.yml. These should probably be merged some day.

#Basic armor vest for inheritance
- type: entity
  parent: [RecyclableItemClothArmor, ClothingOuterBaseMedium, AllowSuitStorageClothing] # added RecyclableItemClothArmor
  id: ClothingOuterArmorBase
  name: armor vest
  abstract: true
  description: A standard Type I armored vest that provides decent protection against most types of damage.
  components:
  - type: Sprite
    sprite: Clothing/OuterClothing/Armor/security.rsi
  - type: Clothing
    sprite: Clothing/OuterClothing/Armor/security.rsi
  - type: Armor #Based on /tg/ but slightly compensated to fit the fact that armor stacks in SS14.
    modifiers:
      coefficients:
        Blunt: 0.70
        Slash: 0.70
        Piercing: 0.70 #Can save you, but bullets will still hurt. Will take about 10 shots from a Viper before critting, as opposed to 7 while unarmored and 16~ with a bulletproof vest.
        Heat: 0.80
        Caustic: 0.9
  - type: ExplosionResistance
    damageCoefficient: 0.90
  - type: StaminaDamageResistance # Mono - Stamres
    coefficient: 0.4

#Standard armor vest, allowed for security and bartenders
- type: entity
  parent: [ClothingOuterArmorBase, ClothingArmorPlate] # Mono - armor plates
  id: ClothingOuterArmorBasic
  components:
  - type: Tag  # Mono
    tags:
    - Kevlar

#Alternate / slim basic armor vest
- type: entity
  parent: ClothingOuterArmorBasic
  id: ClothingOuterArmorBasicSlim
  name: armor vest
  suffix: slim
  description: A slim Type I armored vest that provides decent protection against most types of damage.
  components:
  - type: Sprite
    sprite: Clothing/OuterClothing/Armor/security_slim.rsi
  - type: Clothing
    sprite: Clothing/OuterClothing/Armor/security_slim.rsi

- type: entity
  parent: [ClothingOuterBaseLarge, AllowSuitStorageClothing]
  id: ClothingOuterArmorRiot
  name: riot suit
  description: A suit of semi-flexible polycarbonate body armor with heavy padding to protect against melee attacks. Perfect for fighting delinquents around the station.
  components:
  - type: Sprite
    sprite: Clothing/OuterClothing/Armor/riot.rsi
  - type: Clothing
    sprite: Clothing/OuterClothing/Armor/riot.rsi
  - type: Armor
    modifiers:
      coefficients:
        Blunt: 0.4
        Slash: 0.4
        Piercing: 0.7
        Heat: 0.9
        Caustic: 0.9 # Frontier
  - type: ExplosionResistance
    damageCoefficient: 0.9
  - type: GroupExamine
  - type: StaminaDamageResistance # Mono - Stamres
    coefficient: 0.2
  - type: Tag  # Mono
    tags:
    - Kevlar

- type: entity
  parent: ClothingOuterArmorBase
  id: ClothingOuterArmorBulletproof
  name: bulletproof vest
  description: A Type III heavy bulletproof vest that excels in protecting the wearer against traditional projectile weaponry and explosives to a minor extent.
  components:
  - type: Sprite
    sprite: Clothing/OuterClothing/Armor/bulletproof.rsi
  - type: Clothing
    sprite: Clothing/OuterClothing/Armor/bulletproof.rsi
  - type: Armor
    modifiers:
      coefficients:
        Blunt: 0.9
        Slash: 0.9
        Piercing: 0.4
        Heat: 0.9
  - type: ExplosionResistance
    damageCoefficient: 0.80
  - type: StaminaDamageResistance # Mono - Stamres
    coefficient: 0.2
  - type: Tag  # Mono
    tags:
    - Kevlar

- type: entity
  parent: ClothingOuterArmorBase
  id: ClothingOuterArmorReflective
  name: reflective vest
  description: An armored vest with advanced shielding to protect against energy weapons.
  components:
  - type: Sprite
    sprite: Clothing/OuterClothing/Armor/armor_reflec.rsi
  - type: Clothing
    sprite: Clothing/OuterClothing/Armor/armor_reflec.rsi
  - type: Armor
    modifiers:
      coefficients:
        Blunt: 0.9
        Slash: 0.9
        Piercing: 0.9
        Heat: 0.4 # this technically means it protects against fires pretty well? -heat is just for lasers and stuff, not atmos temperature
  - type: Reflect
    reflectProb: 0.9 # mono - 0.9 from frontier 0.7 from wizden 1
    reflects:
      - Energy
  - type: StaminaDamageResistance # Mono - Stamres
    coefficient: 0.5

- type: entity
  parent: [ClothingOuterBaseLarge, AllowSuitStorageClothing ]
  id: ClothingOuterArmorRaid
  name: syndicate raid suit
  description: A somewhat flexible and well-armored suit with a powerful shoulder mounted flashlight manufactured in the Gorlex Marauder's iconic blood-red color scheme, it does not protect its wearer from space.
  components:
  - type: Sprite
    sprite: Clothing/OuterClothing/Armor/syndie-raid.rsi
    layers:
    - state: icon
    - state: light-overlay
      visible: false
      shader: unshaded
  - type: Clothing
    sprite: Clothing/OuterClothing/Armor/syndie-raid.rsi
  - type: Armor
    modifiers:
      coefficients:
        Blunt: 0.35
        Slash: 0.35
        Piercing: 0.35
        Heat: 0.35
        Caustic: 0.5
  - type: ExplosionResistance
    damageCoefficient: 0.35
  - type: ClothingSpeedModifier
    walkModifier: 0.9
    sprintModifier: 0.9
  #Shoulder mounted flashlight
  - type: ToggleableLightVisuals
    spriteLayer: light
    clothingVisuals:
      outerClothing:
      - state: equipped-OUTERCLOTHING-light
        shader: unshaded
      outerClothing-vox:
      - state: equipped-OUTERCLOTHING-light-vox
        shader: unshaded
      outerClothing-resomi:
      - state: equipped-OUTERCLOTHING-light-resomi
        shader: unshaded
  - type: Appearance
  - type: HandheldLight
    addPrefix: false
    blinkingBehaviourId: blinking
    radiatingBehaviourId: radiating
  - type: PointLight
    enabled: false
    color: "#80ff80"
    radius: 5
    energy: 2
    mask: /Textures/Effects/LightMasks/cone.png
    autoRot: true
    netsync: false
  - type: LightBehaviour
    behaviours:
      - !type:FadeBehaviour
        id: radiating
        interpolate: Linear
        maxDuration: 2.0
        startValue: 3.0
        endValue: 2.0
        isLooped: true
        reverseWhenFinished: true
      - !type:PulseBehaviour
        id: blinking
        interpolate: Nearest
        maxDuration: 1.0
        minValue: 0.1
        maxValue: 2.0
        isLooped: true
  - type: Battery
    maxCharge: 600
    startingCharge: 600
  - type: BatterySelfRecharger
    autoRecharge: true
    autoRechargeRate: 2
  - type: StaminaDamageResistance # Mono - Stamres
    coefficient: 0.2
  - type: Tag  # Mono
    tags:
    - Kevlar

- type: entity
  parent: [ClothingOuterBaseLarge, AllowSuitStorageClothing]
  id: ClothingOuterArmorCult
  name: acolyte armor
  description: An evil-looking piece of cult armor, made of bones.
  components:
  - type: Sprite
    sprite: Clothing/OuterClothing/Armor/cult_armour.rsi
  - type: Clothing
    sprite: Clothing/OuterClothing/Armor/cult_armour.rsi
  - type: Armor
    modifiers:
      coefficients:
        Blunt: 0.5
        Slash: 0.5
        Piercing: 0.6
        Heat: 0.5
  - type: GroupExamine
  - type: StaminaDamageResistance # Mono - Stamres
    coefficient: 0.2

- type: entity
  parent: [ClothingOuterBaseLarge, AllowSuitStorageClothing]
  id: ClothingOuterArmorHeavy
  name: heavy armor suit
  description: A heavily armored suit that protects against excessive damage.
  components:
  - type: Sprite
    sprite: Clothing/OuterClothing/Armor/heavy.rsi
  - type: Clothing
    sprite: Clothing/OuterClothing/Armor/heavy.rsi
  - type: Armor
    modifiers:
      coefficients:
        Blunt: 0.6
        Slash: 0.6
        Piercing: 0.5
        Heat: 0.7
        Caustic: 0.75
  - type: GroupExamine
  - type: ProtectedFromStepTriggers
    slots: WITHOUT_POCKET
  - type: ExplosionResistance
    damageCoefficient: 0.7
  - type: StaminaDamageResistance # Mono - Stamres
    coefficient: 0.1

- type: entity
  parent: ClothingOuterArmorHeavy
  id: ClothingOuterArmorHeavyGreen
  name: green heavy armor suit
  description: A heavily armored suit with green accents that protects against excessive damage.
  components:
  - type: Sprite
    sprite: Clothing/OuterClothing/Armor/heavygreen.rsi
  - type: Clothing
    sprite: Clothing/OuterClothing/Armor/heavygreen.rsi

- type: entity
  parent: ClothingOuterArmorHeavy
  id: ClothingOuterArmorHeavyRed
  name: red heavy armor suit
  description: A heavily armored suit with red accents that protects against excessive damage.
  components:
  - type: Sprite
    sprite: Clothing/OuterClothing/Armor/heavyred.rsi
  - type: Clothing
    sprite: Clothing/OuterClothing/Armor/heavyred.rsi

- type: entity
  parent: [ClothingOuterArmorHeavy]
  id: ClothingOuterArmorMagusblue
  name: blue magus armor
  description: An blue armored suit that provides good protection.
  components:
  - type: Sprite
    sprite: Clothing/OuterClothing/Armor/magusblue.rsi
  - type: Clothing
    sprite: Clothing/OuterClothing/Armor/magusblue.rsi

- type: entity
  parent: [ClothingOuterArmorHeavy]
  id: ClothingOuterArmorMagusred
  name: red magus armor
  description: A red armored suit that provides good protection.
  components:
  - type: Sprite
    sprite: Clothing/OuterClothing/Armor/magusred.rsi
  - type: Clothing
    sprite: Clothing/OuterClothing/Armor/magusred.rsi

- type: entity
  parent: [ClothingOuterBaseLarge, AllowSuitStorageClothing]
  id: ClothingOuterArmorCaptainCarapace
  name: "captain's carapace"
  description: "An armored chestpiece that provides protection whilst still offering maximum mobility and flexibility. Issued only to the captains of luxury vessels." # Frontier
  components:
  - type: Sprite
    sprite: Clothing/OuterClothing/Armor/captain_carapace.rsi
  - type: Clothing
    sprite: Clothing/OuterClothing/Armor/captain_carapace.rsi
  - type: Armor
    modifiers:
      coefficients:
        Blunt: 0.7 # Frontier 0.5<0.7
        Slash: 0.7 # Frontier 0.5<0.7
        Piercing: 0.7 # Frontier 0.6<0.7
        Heat: 0.8 # Frontier 0.5<0.8
        Caustic: 0.9
  - type: ClothingSpeedModifier
    walkModifier: 1.0
    sprintModifier: 1.0
  - type: ExplosionResistance
    damageCoefficient: 0.9 # Frontier 0.65<0.9
  - type: GroupExamine
  - type: StaminaDamageResistance # Mono - Stamres
    coefficient: 0.4
  - type: Tag  # Mono
    tags:
    - Kevlar

- type: entity
  parent: [ ClothingOuterBaseLarge, AllowSuitStorageClothing ]
  id: ClothingOuterArmorChangeling
  name: chitinous armor
  description: Inflates the changeling's body into an all-consuming chitinous mass of armor.
  components:
  - type: Sprite
    sprite: Clothing/OuterClothing/Armor/lingarmor.rsi
  - type: Clothing
    sprite: Clothing/OuterClothing/Armor/lingarmor.rsi
  - type: Armor
    modifiers:
      coefficients:
        Blunt: 0.5
        Slash: 0.5
        Piercing: 0.5
        Heat: 0.9
        Radiation: 0.8
  - type: ClothingSpeedModifier
    walkModifier: 0.7
    sprintModifier: 0.65
  - type: HeldSpeedModifier
  - type: ExplosionResistance
    damageCoefficient: 0.5
  - type: GroupExamine
  - type: ProtectedFromStepTriggers
    slots: WITHOUT_POCKET
  - type: StaminaDamageResistance # Mono - Stamres
    coefficient: 0.8 # i mean, if the batong is electrical or whatever, and this is just hardened skin, it would probably still go through?

- type: entity
  parent: [ ClothingOuterBaseLarge, AllowSuitStorageClothing ]
  id: ClothingOuterArmorBone
  name: bone armor
  description: Sits on you like a second skin.
  components:
  - type: Sprite
    sprite: Clothing/OuterClothing/Armor/bone_armor.rsi
  - type: Clothing
    sprite: Clothing/OuterClothing/Armor/bone_armor.rsi
  - type: Armor
    modifiers:
      coefficients:
        Blunt: 0.6
        Slash: 0.8
        Piercing: 0.4
  - type: ClothingSpeedModifier
    walkModifier: 0.8
  - type: HeldSpeedModifier
  - type: ExplosionResistance
    damageCoefficient: 0.4
  - type: GroupExamine
  - type: Construction
    graph: BoneArmor
    node: armor
  - type: ProtectedFromStepTriggers
    slots: WITHOUT_POCKET
  - type: StaminaDamageResistance # Mono - Stamres
    coefficient: 0.7

- type: entity
  parent: [ ClothingOuterBaseLarge, AllowSuitStorageClothing ]
  id: ClothingOuterArmorPodWars
  name: ironclad II armor
  description: A repurposed suit of ironclad II armor, a relic of the pod wars.
  components:
  - type: Sprite
    sprite: Clothing/OuterClothing/Armor/podwars_armor.rsi
  - type: Clothing
    sprite: Clothing/OuterClothing/Armor/podwars_armor.rsi
  - type: Armor
    modifiers:
      coefficients:
        Blunt: 0.5
        Slash: 0.5
        Piercing: 0.6
        Heat: 0.5
  - type: GroupExamine
  - type: ProtectedFromStepTriggers
    slots: WITHOUT_POCKET
  - type: StaminaDamageResistance # Mono - Stamres
    coefficient: 0.7

