2122 lines
55 KiB
Rust
2122 lines
55 KiB
Rust
use std::borrow::Cow;
|
|
|
|
use bevy_ecs::{prelude::*, relationship::RelatedSpawner};
|
|
use strum::Display;
|
|
|
|
use crate::{
|
|
bundle::{
|
|
Name,
|
|
armour::{Armour, ArmourCoverage, ArmourValue, Immunities, Immunity},
|
|
bonus::ArmourBonusType,
|
|
},
|
|
dto::draw_id,
|
|
};
|
|
|
|
#[derive(Clone, Copy, Debug, Display, PartialEq, Eq)]
|
|
#[cfg_attr(feature = "json", derive(serde::Deserialize, serde::Serialize))]
|
|
#[cfg_attr(feature = "json", serde(rename_all = "snake_case"))]
|
|
pub enum ArmourSlot {
|
|
Head,
|
|
Body,
|
|
Hands,
|
|
Legs,
|
|
Feet,
|
|
}
|
|
|
|
#[derive(Debug, Clone)]
|
|
#[cfg_attr(feature = "json", derive(serde::Deserialize, serde::Serialize))]
|
|
pub struct ArmourBonusInfo {
|
|
pub kind: ArmourBonusType,
|
|
pub value: Option<i16>,
|
|
}
|
|
|
|
#[derive(Debug, Clone)]
|
|
#[cfg_attr(feature = "json", derive(serde::Deserialize, serde::Serialize))]
|
|
pub struct CoverageDto {
|
|
pub body: f32,
|
|
pub heart: f32,
|
|
pub stomach: f32,
|
|
pub chest: f32,
|
|
pub arm: f32,
|
|
pub groin: f32,
|
|
pub leg: f32,
|
|
pub throat: f32,
|
|
pub hand: f32,
|
|
pub foot: f32,
|
|
pub head: f32,
|
|
}
|
|
|
|
#[derive(Debug, Clone)]
|
|
#[cfg_attr(feature = "json", derive(serde::Deserialize, serde::Serialize))]
|
|
pub struct ArmourDto {
|
|
pub slot: ArmourSlot,
|
|
pub id: i32,
|
|
pub name: Cow<'static, str>,
|
|
pub base_armour: f32,
|
|
pub armour: Option<f32>,
|
|
pub coverage: CoverageDto,
|
|
pub immunities: Cow<'static, [Immunity]>,
|
|
pub bonus: Option<ArmourBonusInfo>,
|
|
}
|
|
|
|
impl ArmourDto {
|
|
pub fn new(name: &str, armour: Option<f32>, bonus: Option<i16>) -> Option<Self> {
|
|
let base = match name {
|
|
"Leather Vest" => Self::LEATHER_VEST,
|
|
"Police Vest" => Self::POLICE_VEST,
|
|
"Bulletproof Vest" => Self::BULLETPROOF_VEST,
|
|
"Full Body Armor" => Self::FULL_BODY_ARMOR,
|
|
"Outer Tactical Vest" => Self::OUTER_TACTICAL_VEST,
|
|
"Chain Mail" => Self::CHAIN_MAIL,
|
|
"Flak Jacket" => Self::FLAK_JACKET,
|
|
"Combat Vest" => Self::COMBAT_VEST,
|
|
"Liquid Body Armor" => Self::LIQUID_BODY_ARMOR,
|
|
"Flexible Body Armor" => Self::FLEXIBLE_BODY_ARMOR,
|
|
"Hazmat Suit" => Self::HAZMAT_SUIT,
|
|
"Medieval Helmet" => Self::MEDIEVAL_HELMET,
|
|
"Kevlar Gloves" => Self::KEVLAR_GLOVES,
|
|
"WWII Helmet" => Self::WWII_HELMET,
|
|
"Motorcycle Helmet" => Self::MOTORCYCLE_HELMET,
|
|
"Construction Helmet" => Self::CONSTRUCTION_HELMET,
|
|
"Welding Helmet" => Self::WELDING_HELMET,
|
|
"Safety Boots" => Self::SAFETY_BOOTS,
|
|
"Hiking Boots" => Self::HIKING_BOOTS,
|
|
"Leather Helmet" => Self::LEATHER_HELMET,
|
|
"Leather Pants" => Self::LEATHER_PANTS,
|
|
"Leather Boots" => Self::LEATHER_BOOTS,
|
|
"Leather Gloves" => Self::LEATHER_GLOVES,
|
|
"Combat Helmet" => Self::COMBAT_HELMET,
|
|
"Combat Pants" => Self::COMBAT_PANTS,
|
|
"Combat Boots" => Self::COMBAT_BOOTS,
|
|
"Combat Gloves" => Self::COMBAT_GLOVES,
|
|
"Riot Helmet" => Self::RIOT_HELMET,
|
|
"Riot Body" => Self::RIOT_BODY,
|
|
"Riot Pants" => Self::RIOT_PANTS,
|
|
"Riot Boots" => Self::RIOT_BOOTS,
|
|
"Riot Gloves" => Self::RIOT_GLOVES,
|
|
"Dune Helmet" => Self::DUNE_HELMET,
|
|
"Dune Vest" => Self::DUNE_VEST,
|
|
"Dune Pants" => Self::DUNE_PANTS,
|
|
"Dune Boots" => Self::DUNE_BOOTS,
|
|
"Dune Gloves" => Self::DUNE_GLOVES,
|
|
"Assault Helmet" => Self::ASSAULT_HELMET,
|
|
"Assault Body" => Self::ASSAULT_BODY,
|
|
"Assault Pants" => Self::ASSAULT_PANTS,
|
|
"Assault Boots" => Self::ASSAULT_BOOTS,
|
|
"Assault Gloves" => Self::ASSAULT_GLOVES,
|
|
"Delta Gas Mask" => Self::DELTA_GAS_MASK,
|
|
"Delta Body" => Self::DELTA_BODY,
|
|
"Delta Pants" => Self::DELTA_PANTS,
|
|
"Delta Boots" => Self::DELTA_BOOTS,
|
|
"Delta Gloves" => Self::DELTA_GLOVES,
|
|
"Marauder Face Mask" => Self::MARAUDER_FACE_MASK,
|
|
"Marauder Body" => Self::MARAUDER_BODY,
|
|
"Marauder Pants" => Self::MARAUDER_PANTS,
|
|
"Marauder Boots" => Self::MARAUDER_BOOTS,
|
|
"Marauder Gloves" => Self::MARAUDER_GLOVES,
|
|
"EOD Helmet" => Self::EOD_HELMET,
|
|
"EOD Apron" => Self::EOD_APRON,
|
|
"EOD Pants" => Self::EOD_PANTS,
|
|
"EOD Boots" => Self::EOD_BOOTS,
|
|
"EOD Gloves" => Self::EOD_GLOVES,
|
|
"Kevlar Lab Coat" => Self::KEVLAR_LAB_COAT,
|
|
"M'aol Visage" => Self::M_AOL_VISAGE,
|
|
"M'aol Spathe" => Self::M_AOL_SPATHE,
|
|
"M'aol Britches" => Self::M_AOL_BRITCHES,
|
|
"M'aol Hooves" => Self::M_AOL_HOOVES,
|
|
"M'aol Clawshields" => Self::M_AOL_CLAWSHIELDS,
|
|
"Starshield Breastplate" => Self::STARSHIELD_BREASTPLATE,
|
|
"Sentinel Helmet" => Self::SENTINEL_HELMET,
|
|
"Sentinel Apron" => Self::SENTINEL_APRON,
|
|
"Sentinel Pants" => Self::SENTINEL_PANTS,
|
|
"Sentinel Boots" => Self::SENTINEL_BOOTS,
|
|
"Sentinel Gloves" => Self::SENTINEL_GLOVES,
|
|
"Vanguard Respirator" => Self::VANGUARD_RESPIRATOR,
|
|
"Vanguard Body" => Self::VANGUARD_BODY,
|
|
"Vanguard Pants" => Self::VANGUARD_PANTS,
|
|
"Vanguard Boots" => Self::VANGUARD_BOOTS,
|
|
"Vanguard Gloves" => Self::VANGUARD_GLOVES,
|
|
_ => return None,
|
|
};
|
|
|
|
Some(Self {
|
|
armour,
|
|
bonus: base.bonus.map(|b| ArmourBonusInfo { value: bonus, ..b }),
|
|
..base
|
|
})
|
|
}
|
|
|
|
pub fn head_pieces() -> Vec<Self> {
|
|
Self::ALL
|
|
.iter()
|
|
.filter(|a| a.slot == ArmourSlot::Head)
|
|
.cloned()
|
|
.collect()
|
|
}
|
|
|
|
pub fn body_pieces() -> Vec<Self> {
|
|
Self::ALL
|
|
.iter()
|
|
.filter(|a| a.slot == ArmourSlot::Body)
|
|
.cloned()
|
|
.collect()
|
|
}
|
|
|
|
pub fn leg_pieces() -> Vec<Self> {
|
|
Self::ALL
|
|
.iter()
|
|
.filter(|a| a.slot == ArmourSlot::Legs)
|
|
.cloned()
|
|
.collect()
|
|
}
|
|
|
|
pub fn foot_pieces() -> Vec<Self> {
|
|
Self::ALL
|
|
.iter()
|
|
.filter(|a| a.slot == ArmourSlot::Feet)
|
|
.cloned()
|
|
.collect()
|
|
}
|
|
|
|
pub fn hand_pieces() -> Vec<Self> {
|
|
Self::ALL
|
|
.iter()
|
|
.filter(|a| a.slot == ArmourSlot::Hands)
|
|
.cloned()
|
|
.collect()
|
|
}
|
|
|
|
pub fn spawn(self, spawner: &mut RelatedSpawner<'_, ChildOf>) -> Entity {
|
|
let mut commands = spawner.spawn(draw_id());
|
|
|
|
commands.insert((
|
|
Name(self.name.to_string()),
|
|
Armour,
|
|
ArmourValue(self.armour.unwrap_or(self.base_armour)),
|
|
ArmourCoverage::from(self.coverage),
|
|
Immunities(self.immunities.to_vec()),
|
|
));
|
|
|
|
commands.id()
|
|
}
|
|
|
|
pub const ALL: &[Self] = &[
|
|
Self::LEATHER_VEST,
|
|
Self::POLICE_VEST,
|
|
Self::BULLETPROOF_VEST,
|
|
Self::FULL_BODY_ARMOR,
|
|
Self::OUTER_TACTICAL_VEST,
|
|
Self::CHAIN_MAIL,
|
|
Self::FLAK_JACKET,
|
|
Self::COMBAT_VEST,
|
|
Self::LIQUID_BODY_ARMOR,
|
|
Self::FLEXIBLE_BODY_ARMOR,
|
|
Self::HAZMAT_SUIT,
|
|
Self::MEDIEVAL_HELMET,
|
|
Self::KEVLAR_GLOVES,
|
|
Self::WWII_HELMET,
|
|
Self::MOTORCYCLE_HELMET,
|
|
Self::CONSTRUCTION_HELMET,
|
|
Self::WELDING_HELMET,
|
|
Self::SAFETY_BOOTS,
|
|
Self::HIKING_BOOTS,
|
|
Self::LEATHER_HELMET,
|
|
Self::LEATHER_PANTS,
|
|
Self::LEATHER_BOOTS,
|
|
Self::LEATHER_GLOVES,
|
|
Self::COMBAT_HELMET,
|
|
Self::COMBAT_PANTS,
|
|
Self::COMBAT_BOOTS,
|
|
Self::COMBAT_GLOVES,
|
|
Self::RIOT_HELMET,
|
|
Self::RIOT_BODY,
|
|
Self::RIOT_PANTS,
|
|
Self::RIOT_BOOTS,
|
|
Self::RIOT_GLOVES,
|
|
Self::DUNE_HELMET,
|
|
Self::DUNE_VEST,
|
|
Self::DUNE_PANTS,
|
|
Self::DUNE_BOOTS,
|
|
Self::DUNE_GLOVES,
|
|
Self::ASSAULT_HELMET,
|
|
Self::ASSAULT_BODY,
|
|
Self::ASSAULT_PANTS,
|
|
Self::ASSAULT_BOOTS,
|
|
Self::ASSAULT_GLOVES,
|
|
Self::DELTA_GAS_MASK,
|
|
Self::DELTA_BODY,
|
|
Self::DELTA_PANTS,
|
|
Self::DELTA_BOOTS,
|
|
Self::DELTA_GLOVES,
|
|
Self::MARAUDER_FACE_MASK,
|
|
Self::MARAUDER_BODY,
|
|
Self::MARAUDER_PANTS,
|
|
Self::MARAUDER_BOOTS,
|
|
Self::MARAUDER_GLOVES,
|
|
Self::EOD_HELMET,
|
|
Self::EOD_APRON,
|
|
Self::EOD_PANTS,
|
|
Self::EOD_BOOTS,
|
|
Self::EOD_GLOVES,
|
|
Self::KEVLAR_LAB_COAT,
|
|
Self::M_AOL_VISAGE,
|
|
Self::M_AOL_SPATHE,
|
|
Self::M_AOL_BRITCHES,
|
|
Self::M_AOL_HOOVES,
|
|
Self::M_AOL_CLAWSHIELDS,
|
|
Self::STARSHIELD_BREASTPLATE,
|
|
Self::SENTINEL_HELMET,
|
|
Self::SENTINEL_APRON,
|
|
Self::SENTINEL_PANTS,
|
|
Self::SENTINEL_BOOTS,
|
|
Self::SENTINEL_GLOVES,
|
|
Self::VANGUARD_RESPIRATOR,
|
|
Self::VANGUARD_BODY,
|
|
Self::VANGUARD_PANTS,
|
|
Self::VANGUARD_BOOTS,
|
|
Self::VANGUARD_GLOVES,
|
|
];
|
|
|
|
const LEATHER_VEST: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Body,
|
|
id: 32,
|
|
name: Cow::Borrowed("Leather Vest"),
|
|
base_armour: 20.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: None,
|
|
coverage: CoverageDto {
|
|
body: 21.12,
|
|
heart: 97.27,
|
|
stomach: 95.09,
|
|
chest: 90.22,
|
|
arm: 6.5,
|
|
groin: 0.0,
|
|
leg: 0.0,
|
|
throat: 0.0,
|
|
hand: 0.0,
|
|
foot: 0.0,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const POLICE_VEST: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Body,
|
|
id: 33,
|
|
name: Cow::Borrowed("Police Vest"),
|
|
base_armour: 32.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: None,
|
|
coverage: CoverageDto {
|
|
body: 26.79,
|
|
heart: 100.0,
|
|
stomach: 100.0,
|
|
chest: 95.44,
|
|
arm: 35.34,
|
|
groin: 7.45,
|
|
leg: 0.77,
|
|
throat: 0.0,
|
|
hand: 0.0,
|
|
foot: 0.0,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const BULLETPROOF_VEST: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Body,
|
|
id: 34,
|
|
name: Cow::Borrowed("Bulletproof Vest"),
|
|
base_armour: 34.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: None,
|
|
coverage: CoverageDto {
|
|
body: 32.7,
|
|
heart: 100.0,
|
|
stomach: 100.0,
|
|
chest: 95.45,
|
|
arm: 35.87,
|
|
groin: 89.16,
|
|
leg: 0.78,
|
|
throat: 0.0,
|
|
hand: 0.0,
|
|
foot: 0.0,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const FULL_BODY_ARMOR: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Body,
|
|
id: 49,
|
|
name: Cow::Borrowed("Full Body Armor"),
|
|
base_armour: 31.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: None,
|
|
coverage: CoverageDto {
|
|
body: 48.46,
|
|
heart: 100.0,
|
|
stomach: 100.0,
|
|
chest: 100.0,
|
|
arm: 100.0,
|
|
groin: 60.68,
|
|
leg: 0.28,
|
|
throat: 90.68,
|
|
hand: 13.4,
|
|
foot: 0.0,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const OUTER_TACTICAL_VEST: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Body,
|
|
id: 50,
|
|
name: Cow::Borrowed("Outer Tactical Vest"),
|
|
base_armour: 36.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: None,
|
|
coverage: CoverageDto {
|
|
body: 27.54,
|
|
heart: 100.0,
|
|
stomach: 100.0,
|
|
chest: 100.0,
|
|
arm: 23.91,
|
|
groin: 35.95,
|
|
leg: 0.93,
|
|
throat: 0.0,
|
|
hand: 0.0,
|
|
foot: 0.0,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const CHAIN_MAIL: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Body,
|
|
id: 176,
|
|
name: Cow::Borrowed("Chain Mail"),
|
|
base_armour: 23.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: None,
|
|
coverage: CoverageDto {
|
|
body: 39.41,
|
|
heart: 100.0,
|
|
stomach: 100.0,
|
|
chest: 100.0,
|
|
arm: 99.9,
|
|
groin: 48.46,
|
|
leg: 1.93,
|
|
throat: 0.0,
|
|
hand: 0.0,
|
|
foot: 0.0,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const FLAK_JACKET: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Body,
|
|
id: 178,
|
|
name: Cow::Borrowed("Flak Jacket"),
|
|
base_armour: 30.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: None,
|
|
coverage: CoverageDto {
|
|
body: 26.52,
|
|
heart: 100.0,
|
|
stomach: 99.99,
|
|
chest: 96.42,
|
|
arm: 35.79,
|
|
groin: 3.12,
|
|
leg: 0.14,
|
|
throat: 0.0,
|
|
hand: 0.0,
|
|
foot: 0.0,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const COMBAT_VEST: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Body,
|
|
id: 332,
|
|
name: Cow::Borrowed("Combat Vest"),
|
|
base_armour: 38.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: None,
|
|
coverage: CoverageDto {
|
|
body: 27.45,
|
|
heart: 100.0,
|
|
stomach: 100.0,
|
|
chest: 100.0,
|
|
arm: 23.18,
|
|
groin: 36.04,
|
|
leg: 0.98,
|
|
throat: 0.0,
|
|
hand: 0.0,
|
|
foot: 0.0,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const LIQUID_BODY_ARMOR: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Body,
|
|
id: 333,
|
|
name: Cow::Borrowed("Liquid Body Armor"),
|
|
base_armour: 40.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: None,
|
|
coverage: CoverageDto {
|
|
body: 24.12,
|
|
heart: 100.0,
|
|
stomach: 99.59,
|
|
chest: 98.48,
|
|
arm: 19.85,
|
|
groin: 0.0,
|
|
leg: 0.0,
|
|
throat: 0.0,
|
|
hand: 0.0,
|
|
foot: 0.0,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const FLEXIBLE_BODY_ARMOR: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Body,
|
|
id: 334,
|
|
name: Cow::Borrowed("Flexible Body Armor"),
|
|
base_armour: 42.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: None,
|
|
coverage: CoverageDto {
|
|
body: 26.96,
|
|
heart: 100.0,
|
|
stomach: 96.57,
|
|
chest: 95.73,
|
|
arm: 36.16,
|
|
groin: 11.88,
|
|
leg: 0.51,
|
|
throat: 0.0,
|
|
hand: 0.0,
|
|
foot: 0.0,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const HAZMAT_SUIT: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Head,
|
|
id: 348,
|
|
name: Cow::Borrowed("Hazmat Suit"),
|
|
base_armour: 10.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[
|
|
Immunity::Radiation,
|
|
Immunity::PepperSpray,
|
|
Immunity::NerveGas,
|
|
Immunity::TearGas,
|
|
]),
|
|
bonus: None,
|
|
coverage: CoverageDto {
|
|
body: 97.85,
|
|
heart: 100.0,
|
|
stomach: 100.0,
|
|
chest: 100.0,
|
|
arm: 100.0,
|
|
groin: 100.0,
|
|
leg: 100.0,
|
|
throat: 100.0,
|
|
hand: 100.0,
|
|
foot: 100.0,
|
|
head: 70.0,
|
|
},
|
|
};
|
|
|
|
const MEDIEVAL_HELMET: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Head,
|
|
id: 538,
|
|
name: Cow::Borrowed("Medieval Helmet"),
|
|
base_armour: 25.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: None,
|
|
coverage: CoverageDto {
|
|
body: 9.71,
|
|
heart: 0.0,
|
|
stomach: 0.0,
|
|
chest: 0.0,
|
|
arm: 0.0,
|
|
groin: 0.0,
|
|
leg: 0.0,
|
|
throat: 42.24,
|
|
hand: 0.0,
|
|
foot: 0.0,
|
|
head: 93.54,
|
|
},
|
|
};
|
|
|
|
const KEVLAR_GLOVES: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Hands,
|
|
id: 640,
|
|
name: Cow::Borrowed("Kevlar Gloves"),
|
|
base_armour: 32.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: None,
|
|
coverage: CoverageDto {
|
|
body: 14.34,
|
|
heart: 0.0,
|
|
stomach: 0.0,
|
|
chest: 0.0,
|
|
arm: 0.32,
|
|
groin: 0.0,
|
|
leg: 0.0,
|
|
throat: 0.0,
|
|
hand: 100.0,
|
|
foot: 0.0,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const WWII_HELMET: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Head,
|
|
id: 641,
|
|
name: Cow::Borrowed("WWII Helmet"),
|
|
base_armour: 34.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: None,
|
|
coverage: CoverageDto {
|
|
body: 4.64,
|
|
heart: 0.0,
|
|
stomach: 0.0,
|
|
chest: 0.0,
|
|
arm: 0.0,
|
|
groin: 0.0,
|
|
leg: 0.0,
|
|
throat: 0.0,
|
|
hand: 0.0,
|
|
foot: 0.0,
|
|
head: 64.85,
|
|
},
|
|
};
|
|
|
|
const MOTORCYCLE_HELMET: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Head,
|
|
id: 642,
|
|
name: Cow::Borrowed("Motorcycle Helmet"),
|
|
base_armour: 30.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[Immunity::PepperSpray]),
|
|
bonus: None,
|
|
coverage: CoverageDto {
|
|
body: 7.76,
|
|
heart: 0.0,
|
|
stomach: 0.0,
|
|
chest: 0.0,
|
|
arm: 0.0,
|
|
groin: 0.0,
|
|
leg: 0.0,
|
|
throat: 23.19,
|
|
hand: 0.0,
|
|
foot: 0.0,
|
|
head: 85.35,
|
|
},
|
|
};
|
|
|
|
const CONSTRUCTION_HELMET: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Head,
|
|
id: 643,
|
|
name: Cow::Borrowed("Construction Helmet"),
|
|
base_armour: 30.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: None,
|
|
coverage: CoverageDto {
|
|
body: 2.84,
|
|
heart: 0.0,
|
|
stomach: 0.0,
|
|
chest: 0.0,
|
|
arm: 0.0,
|
|
groin: 0.0,
|
|
leg: 0.0,
|
|
throat: 0.0,
|
|
hand: 0.0,
|
|
foot: 0.0,
|
|
head: 39.68,
|
|
},
|
|
};
|
|
|
|
const WELDING_HELMET: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Head,
|
|
id: 644,
|
|
name: Cow::Borrowed("Welding Helmet"),
|
|
base_armour: 34.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[Immunity::FlashGrenade, Immunity::PepperSpray]),
|
|
bonus: None,
|
|
coverage: CoverageDto {
|
|
body: 10.7,
|
|
heart: 0.0,
|
|
stomach: 0.0,
|
|
chest: 0.0,
|
|
arm: 0.0,
|
|
groin: 0.0,
|
|
leg: 0.0,
|
|
throat: 49.53,
|
|
hand: 0.0,
|
|
foot: 0.0,
|
|
head: 100.0,
|
|
},
|
|
};
|
|
|
|
const SAFETY_BOOTS: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Feet,
|
|
id: 645,
|
|
name: Cow::Borrowed("Safety Boots"),
|
|
base_armour: 30.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: None,
|
|
coverage: CoverageDto {
|
|
body: 14.96,
|
|
heart: 0.0,
|
|
stomach: 0.0,
|
|
chest: 0.0,
|
|
arm: 0.0,
|
|
groin: 0.0,
|
|
leg: 4.74,
|
|
throat: 0.0,
|
|
hand: 0.0,
|
|
foot: 100.0,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const HIKING_BOOTS: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Feet,
|
|
id: 646,
|
|
name: Cow::Borrowed("Hiking Boots"),
|
|
base_armour: 24.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: None,
|
|
coverage: CoverageDto {
|
|
body: 15.03,
|
|
heart: 0.0,
|
|
stomach: 0.0,
|
|
chest: 0.0,
|
|
arm: 0.0,
|
|
groin: 0.0,
|
|
leg: 5.22,
|
|
throat: 0.0,
|
|
hand: 0.0,
|
|
foot: 100.0,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const LEATHER_HELMET: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Head,
|
|
id: 647,
|
|
name: Cow::Borrowed("Leather Helmet"),
|
|
base_armour: 20.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: None,
|
|
coverage: CoverageDto {
|
|
#[allow(clippy::approx_constant)]
|
|
body: 3.14,
|
|
heart: 0.0,
|
|
stomach: 0.0,
|
|
chest: 0.0,
|
|
arm: 0.0,
|
|
groin: 0.0,
|
|
leg: 0.0,
|
|
throat: 8.84,
|
|
hand: 0.0,
|
|
foot: 0.0,
|
|
head: 35.12,
|
|
},
|
|
};
|
|
|
|
const LEATHER_PANTS: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Legs,
|
|
id: 648,
|
|
name: Cow::Borrowed("Leather Pants"),
|
|
base_armour: 20.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: None,
|
|
coverage: CoverageDto {
|
|
body: 24.17,
|
|
heart: 0.0,
|
|
stomach: 7.5,
|
|
chest: 0.0,
|
|
arm: 0.0,
|
|
groin: 100.0,
|
|
leg: 100.0,
|
|
throat: 0.0,
|
|
hand: 0.0,
|
|
foot: 15.49,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const LEATHER_BOOTS: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Feet,
|
|
id: 649,
|
|
name: Cow::Borrowed("Leather Boots"),
|
|
base_armour: 20.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: None,
|
|
coverage: CoverageDto {
|
|
body: 15.54,
|
|
heart: 0.0,
|
|
stomach: 0.0,
|
|
chest: 0.0,
|
|
arm: 0.0,
|
|
groin: 0.0,
|
|
leg: 8.77,
|
|
throat: 0.0,
|
|
hand: 0.0,
|
|
foot: 100.0,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const LEATHER_GLOVES: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Hands,
|
|
id: 650,
|
|
name: Cow::Borrowed("Leather Gloves"),
|
|
base_armour: 20.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: None,
|
|
coverage: CoverageDto {
|
|
body: 14.3,
|
|
heart: 0.0,
|
|
stomach: 0.0,
|
|
chest: 0.0,
|
|
arm: 0.0,
|
|
groin: 0.0,
|
|
leg: 0.0,
|
|
throat: 0.0,
|
|
hand: 100.0,
|
|
foot: 0.0,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const COMBAT_HELMET: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Head,
|
|
id: 651,
|
|
name: Cow::Borrowed("Combat Helmet"),
|
|
base_armour: 38.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: None,
|
|
coverage: CoverageDto {
|
|
body: 4.83,
|
|
heart: 0.0,
|
|
stomach: 0.0,
|
|
chest: 0.0,
|
|
arm: 0.0,
|
|
groin: 0.0,
|
|
leg: 0.0,
|
|
throat: 0.0,
|
|
hand: 0.0,
|
|
foot: 0.0,
|
|
head: 67.49,
|
|
},
|
|
};
|
|
|
|
const COMBAT_PANTS: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Legs,
|
|
id: 652,
|
|
name: Cow::Borrowed("Combat Pants"),
|
|
base_armour: 38.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: None,
|
|
coverage: CoverageDto {
|
|
body: 24.29,
|
|
heart: 0.0,
|
|
stomach: 7.62,
|
|
chest: 0.0,
|
|
arm: 0.0,
|
|
groin: 100.0,
|
|
leg: 100.0,
|
|
throat: 0.0,
|
|
hand: 0.0,
|
|
foot: 16.28,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const COMBAT_BOOTS: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Feet,
|
|
id: 653,
|
|
name: Cow::Borrowed("Combat Boots"),
|
|
base_armour: 38.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: None,
|
|
coverage: CoverageDto {
|
|
body: 15.42,
|
|
heart: 0.0,
|
|
stomach: 0.0,
|
|
chest: 0.0,
|
|
arm: 0.0,
|
|
groin: 0.0,
|
|
leg: 7.92,
|
|
throat: 0.0,
|
|
hand: 0.0,
|
|
foot: 100.0,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const COMBAT_GLOVES: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Hands,
|
|
id: 654,
|
|
name: Cow::Borrowed("Combat Gloves"),
|
|
base_armour: 38.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: None,
|
|
coverage: CoverageDto {
|
|
body: 14.34,
|
|
heart: 0.0,
|
|
stomach: 0.0,
|
|
chest: 0.0,
|
|
arm: 0.32,
|
|
groin: 0.0,
|
|
leg: 0.0,
|
|
throat: 0.0,
|
|
hand: 100.0,
|
|
foot: 0.0,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const RIOT_HELMET: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Head,
|
|
id: 655,
|
|
name: Cow::Borrowed("Riot Helmet"),
|
|
base_armour: 35.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[Immunity::PepperSpray]),
|
|
bonus: Some(ArmourBonusInfo {
|
|
kind: ArmourBonusType::Impregnable,
|
|
value: None,
|
|
}),
|
|
coverage: CoverageDto {
|
|
body: 7.13,
|
|
heart: 0.0,
|
|
stomach: 0.0,
|
|
chest: 0.0,
|
|
arm: 0.0,
|
|
groin: 0.0,
|
|
leg: 0.0,
|
|
throat: 0.0,
|
|
hand: 0.0,
|
|
foot: 0.0,
|
|
head: 99.61,
|
|
},
|
|
};
|
|
|
|
const RIOT_BODY: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Body,
|
|
id: 656,
|
|
name: Cow::Borrowed("Riot Body"),
|
|
base_armour: 45.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: Some(ArmourBonusInfo {
|
|
kind: ArmourBonusType::Impregnable,
|
|
value: None,
|
|
}),
|
|
coverage: CoverageDto {
|
|
body: 51.99,
|
|
heart: 100.0,
|
|
stomach: 100.0,
|
|
chest: 100.0,
|
|
arm: 100.0,
|
|
groin: 99.9,
|
|
leg: 3.01,
|
|
throat: 79.06,
|
|
hand: 21.6,
|
|
foot: 0.0,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const RIOT_PANTS: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Legs,
|
|
id: 657,
|
|
name: Cow::Borrowed("Riot Pants"),
|
|
base_armour: 45.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: Some(ArmourBonusInfo {
|
|
kind: ArmourBonusType::Impregnable,
|
|
value: None,
|
|
}),
|
|
coverage: CoverageDto {
|
|
body: 27.28,
|
|
heart: 0.0,
|
|
stomach: 2.12,
|
|
chest: 0.0,
|
|
arm: 0.0,
|
|
groin: 100.0,
|
|
leg: 100.0,
|
|
throat: 0.0,
|
|
hand: 0.0,
|
|
foot: 39.96,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const RIOT_BOOTS: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Feet,
|
|
id: 658,
|
|
name: Cow::Borrowed("Riot Boots"),
|
|
base_armour: 45.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: Some(ArmourBonusInfo {
|
|
kind: ArmourBonusType::Impregnable,
|
|
value: None,
|
|
}),
|
|
coverage: CoverageDto {
|
|
body: 15.95,
|
|
heart: 0.0,
|
|
stomach: 0.0,
|
|
chest: 0.0,
|
|
arm: 0.0,
|
|
groin: 0.0,
|
|
leg: 11.62,
|
|
throat: 0.0,
|
|
hand: 0.0,
|
|
foot: 100.0,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const RIOT_GLOVES: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Hands,
|
|
id: 659,
|
|
name: Cow::Borrowed("Riot Gloves"),
|
|
base_armour: 45.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: Some(ArmourBonusInfo {
|
|
kind: ArmourBonusType::Impregnable,
|
|
value: None,
|
|
}),
|
|
coverage: CoverageDto {
|
|
body: 14.41,
|
|
heart: 0.0,
|
|
stomach: 0.0,
|
|
chest: 0.0,
|
|
arm: 0.78,
|
|
groin: 0.0,
|
|
leg: 0.0,
|
|
throat: 0.0,
|
|
hand: 100.0,
|
|
foot: 0.0,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const DUNE_HELMET: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Head,
|
|
id: 660,
|
|
name: Cow::Borrowed("Dune Helmet"),
|
|
base_armour: 44.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: Some(ArmourBonusInfo {
|
|
kind: ArmourBonusType::Insurmountable,
|
|
value: None,
|
|
}),
|
|
coverage: CoverageDto {
|
|
body: 4.64,
|
|
heart: 0.0,
|
|
stomach: 0.0,
|
|
chest: 0.0,
|
|
arm: 0.0,
|
|
groin: 0.0,
|
|
leg: 0.0,
|
|
throat: 0.0,
|
|
hand: 0.0,
|
|
foot: 0.0,
|
|
head: 64.83,
|
|
},
|
|
};
|
|
|
|
const DUNE_VEST: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Body,
|
|
id: 661,
|
|
name: Cow::Borrowed("Dune Vest"),
|
|
base_armour: 44.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: Some(ArmourBonusInfo {
|
|
kind: ArmourBonusType::Insurmountable,
|
|
value: None,
|
|
}),
|
|
coverage: CoverageDto {
|
|
body: 45.49,
|
|
heart: 100.0,
|
|
stomach: 100.0,
|
|
chest: 100.0,
|
|
arm: 100.0,
|
|
groin: 9.05,
|
|
leg: 0.46,
|
|
throat: 83.93,
|
|
hand: 21.6,
|
|
foot: 0.0,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const DUNE_PANTS: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Legs,
|
|
id: 662,
|
|
name: Cow::Borrowed("Dune Pants"),
|
|
base_armour: 44.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: Some(ArmourBonusInfo {
|
|
kind: ArmourBonusType::Insurmountable,
|
|
value: None,
|
|
}),
|
|
coverage: CoverageDto {
|
|
body: 24.03,
|
|
heart: 0.0,
|
|
stomach: 12.28,
|
|
chest: 0.0,
|
|
arm: 0.0,
|
|
groin: 100.0,
|
|
leg: 100.0,
|
|
throat: 0.0,
|
|
hand: 0.0,
|
|
foot: 12.1,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const DUNE_BOOTS: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Feet,
|
|
id: 663,
|
|
name: Cow::Borrowed("Dune Boots"),
|
|
base_armour: 44.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: Some(ArmourBonusInfo {
|
|
kind: ArmourBonusType::Insurmountable,
|
|
value: None,
|
|
}),
|
|
coverage: CoverageDto {
|
|
body: 15.78,
|
|
heart: 0.0,
|
|
stomach: 0.0,
|
|
chest: 0.0,
|
|
arm: 0.0,
|
|
groin: 0.0,
|
|
leg: 10.47,
|
|
throat: 0.0,
|
|
hand: 0.0,
|
|
foot: 100.0,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const DUNE_GLOVES: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Hands,
|
|
id: 664,
|
|
name: Cow::Borrowed("Dune Gloves"),
|
|
base_armour: 44.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: Some(ArmourBonusInfo {
|
|
kind: ArmourBonusType::Insurmountable,
|
|
value: None,
|
|
}),
|
|
coverage: CoverageDto {
|
|
body: 14.36,
|
|
heart: 0.0,
|
|
stomach: 0.0,
|
|
chest: 0.0,
|
|
arm: 0.42,
|
|
groin: 0.0,
|
|
leg: 0.0,
|
|
throat: 0.0,
|
|
hand: 100.0,
|
|
foot: 0.0,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const ASSAULT_HELMET: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Head,
|
|
id: 665,
|
|
name: Cow::Borrowed("Assault Helmet"),
|
|
base_armour: 46.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: Some(ArmourBonusInfo {
|
|
kind: ArmourBonusType::Impenetrable,
|
|
value: None,
|
|
}),
|
|
coverage: CoverageDto {
|
|
body: 5.05,
|
|
heart: 0.0,
|
|
stomach: 0.0,
|
|
chest: 0.0,
|
|
arm: 0.0,
|
|
groin: 0.0,
|
|
leg: 0.0,
|
|
throat: 3.99,
|
|
hand: 0.0,
|
|
foot: 0.0,
|
|
head: 66.53,
|
|
},
|
|
};
|
|
|
|
const ASSAULT_BODY: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Body,
|
|
id: 666,
|
|
name: Cow::Borrowed("Assault Body"),
|
|
base_armour: 46.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: Some(ArmourBonusInfo {
|
|
kind: ArmourBonusType::Impenetrable,
|
|
value: None,
|
|
}),
|
|
coverage: CoverageDto {
|
|
body: 45.55,
|
|
heart: 100.0,
|
|
stomach: 100.0,
|
|
chest: 100.0,
|
|
arm: 100.0,
|
|
groin: 14.15,
|
|
leg: 0.56,
|
|
throat: 81.16,
|
|
hand: 20.73,
|
|
foot: 0.0,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const ASSAULT_PANTS: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Legs,
|
|
id: 667,
|
|
name: Cow::Borrowed("Assault Pants"),
|
|
base_armour: 46.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: Some(ArmourBonusInfo {
|
|
kind: ArmourBonusType::Impenetrable,
|
|
value: None,
|
|
}),
|
|
coverage: CoverageDto {
|
|
body: 26.44,
|
|
heart: 0.0,
|
|
stomach: 3.84,
|
|
chest: 0.0,
|
|
arm: 0.0,
|
|
groin: 100.0,
|
|
leg: 100.0,
|
|
throat: 0.0,
|
|
hand: 0.0,
|
|
foot: 33.25,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const ASSAULT_BOOTS: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Feet,
|
|
id: 668,
|
|
name: Cow::Borrowed("Assault Boots"),
|
|
base_armour: 46.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: Some(ArmourBonusInfo {
|
|
kind: ArmourBonusType::Impenetrable,
|
|
value: None,
|
|
}),
|
|
coverage: CoverageDto {
|
|
body: 15.58,
|
|
heart: 0.0,
|
|
stomach: 0.0,
|
|
chest: 0.0,
|
|
arm: 0.0,
|
|
groin: 0.0,
|
|
leg: 9.07,
|
|
throat: 0.0,
|
|
hand: 0.0,
|
|
foot: 100.0,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const ASSAULT_GLOVES: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Hands,
|
|
id: 669,
|
|
name: Cow::Borrowed("Assault Gloves"),
|
|
base_armour: 46.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: Some(ArmourBonusInfo {
|
|
kind: ArmourBonusType::Impenetrable,
|
|
value: None,
|
|
}),
|
|
coverage: CoverageDto {
|
|
body: 14.37,
|
|
heart: 0.0,
|
|
stomach: 0.0,
|
|
chest: 0.0,
|
|
arm: 0.5,
|
|
groin: 0.0,
|
|
leg: 0.0,
|
|
throat: 0.0,
|
|
hand: 100.0,
|
|
foot: 0.0,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const DELTA_GAS_MASK: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Head,
|
|
id: 670,
|
|
name: Cow::Borrowed("Delta Gas Mask"),
|
|
base_armour: 49.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[Immunity::NerveGas, Immunity::TearGas, Immunity::PepperSpray]),
|
|
bonus: Some(ArmourBonusInfo {
|
|
kind: ArmourBonusType::Invulnerable,
|
|
value: None,
|
|
}),
|
|
coverage: CoverageDto {
|
|
body: 1.94,
|
|
heart: 0.0,
|
|
stomach: 0.0,
|
|
chest: 0.0,
|
|
arm: 0.0,
|
|
groin: 0.0,
|
|
leg: 0.0,
|
|
throat: 0.0,
|
|
hand: 0.0,
|
|
foot: 0.0,
|
|
head: 27.13,
|
|
},
|
|
};
|
|
|
|
const DELTA_BODY: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Body,
|
|
id: 671,
|
|
name: Cow::Borrowed("Delta Body"),
|
|
base_armour: 49.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: Some(ArmourBonusInfo {
|
|
kind: ArmourBonusType::Invulnerable,
|
|
value: None,
|
|
}),
|
|
coverage: CoverageDto {
|
|
body: 46.24,
|
|
heart: 100.0,
|
|
stomach: 100.0,
|
|
chest: 100.0,
|
|
arm: 100.0,
|
|
groin: 30.7,
|
|
leg: 0.64,
|
|
throat: 88.81,
|
|
hand: 13.4,
|
|
foot: 0.0,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const DELTA_PANTS: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Legs,
|
|
id: 672,
|
|
name: Cow::Borrowed("Delta Pants"),
|
|
base_armour: 49.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: Some(ArmourBonusInfo {
|
|
kind: ArmourBonusType::Invulnerable,
|
|
value: None,
|
|
}),
|
|
coverage: CoverageDto {
|
|
body: 26.18,
|
|
heart: 0.0,
|
|
stomach: 8.59,
|
|
chest: 0.0,
|
|
arm: 0.0,
|
|
groin: 100.0,
|
|
leg: 100.0,
|
|
throat: 0.0,
|
|
hand: 0.0,
|
|
foot: 29.06,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const DELTA_BOOTS: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Feet,
|
|
id: 673,
|
|
name: Cow::Borrowed("Delta Boots"),
|
|
base_armour: 49.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: Some(ArmourBonusInfo {
|
|
kind: ArmourBonusType::Invulnerable,
|
|
value: None,
|
|
}),
|
|
coverage: CoverageDto {
|
|
body: 15.75,
|
|
heart: 0.0,
|
|
stomach: 0.0,
|
|
chest: 0.0,
|
|
arm: 0.0,
|
|
groin: 0.0,
|
|
leg: 10.25,
|
|
throat: 0.0,
|
|
hand: 0.0,
|
|
foot: 100.0,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const DELTA_GLOVES: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Hands,
|
|
id: 674,
|
|
name: Cow::Borrowed("Delta Gloves"),
|
|
base_armour: 49.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: Some(ArmourBonusInfo {
|
|
kind: ArmourBonusType::Invulnerable,
|
|
value: None,
|
|
}),
|
|
coverage: CoverageDto {
|
|
body: 14.37,
|
|
heart: 0.0,
|
|
stomach: 0.0,
|
|
chest: 0.0,
|
|
arm: 0.5,
|
|
groin: 0.0,
|
|
leg: 0.0,
|
|
throat: 0.0,
|
|
hand: 100.0,
|
|
foot: 0.0,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const MARAUDER_FACE_MASK: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Head,
|
|
id: 675,
|
|
name: Cow::Borrowed("Marauder Face Mask"),
|
|
base_armour: 40.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[Immunity::PepperSpray]),
|
|
bonus: Some(ArmourBonusInfo {
|
|
kind: ArmourBonusType::Invulnerable,
|
|
value: None,
|
|
}),
|
|
coverage: CoverageDto {
|
|
body: 11.49,
|
|
heart: 0.0,
|
|
stomach: 0.0,
|
|
chest: 0.0,
|
|
arm: 0.0,
|
|
groin: 0.0,
|
|
leg: 0.0,
|
|
throat: 60.57,
|
|
hand: 0.0,
|
|
foot: 0.0,
|
|
head: 100.0,
|
|
},
|
|
};
|
|
|
|
const MARAUDER_BODY: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Body,
|
|
id: 676,
|
|
name: Cow::Borrowed("Marauder Body"),
|
|
base_armour: 52.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: Some(ArmourBonusInfo {
|
|
kind: ArmourBonusType::Imperviable,
|
|
value: None,
|
|
}),
|
|
coverage: CoverageDto {
|
|
body: 42.47,
|
|
heart: 100.0,
|
|
stomach: 100.0,
|
|
chest: 100.0,
|
|
arm: 100.0,
|
|
groin: 0.0,
|
|
leg: 0.0,
|
|
throat: 84.72,
|
|
hand: 5.05,
|
|
foot: 0.0,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const MARAUDER_PANTS: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Legs,
|
|
id: 677,
|
|
name: Cow::Borrowed("Marauder Pants"),
|
|
base_armour: 52.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: Some(ArmourBonusInfo {
|
|
kind: ArmourBonusType::Imperviable,
|
|
value: None,
|
|
}),
|
|
coverage: CoverageDto {
|
|
body: 20.99,
|
|
heart: 0.0,
|
|
stomach: 0.52,
|
|
chest: 0.0,
|
|
arm: 0.0,
|
|
groin: 100.0,
|
|
leg: 96.69,
|
|
throat: 0.0,
|
|
hand: 0.0,
|
|
foot: 0.0,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const MARAUDER_BOOTS: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Feet,
|
|
id: 678,
|
|
name: Cow::Borrowed("Marauder Boots"),
|
|
base_armour: 52.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: Some(ArmourBonusInfo {
|
|
kind: ArmourBonusType::Invulnerable,
|
|
value: None,
|
|
}),
|
|
coverage: CoverageDto {
|
|
body: 15.65,
|
|
heart: 0.0,
|
|
stomach: 0.0,
|
|
chest: 0.0,
|
|
arm: 0.0,
|
|
groin: 0.0,
|
|
leg: 9.53,
|
|
throat: 0.0,
|
|
hand: 0.0,
|
|
foot: 100.0,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const MARAUDER_GLOVES: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Hands,
|
|
id: 679,
|
|
name: Cow::Borrowed("Marauder Gloves"),
|
|
base_armour: 52.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: Some(ArmourBonusInfo {
|
|
kind: ArmourBonusType::Invulnerable,
|
|
value: None,
|
|
}),
|
|
coverage: CoverageDto {
|
|
body: 14.37,
|
|
heart: 0.0,
|
|
stomach: 0.0,
|
|
chest: 0.0,
|
|
arm: 0.5,
|
|
groin: 0.0,
|
|
leg: 0.0,
|
|
throat: 0.0,
|
|
hand: 100.0,
|
|
foot: 0.0,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const EOD_HELMET: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Head,
|
|
id: 680,
|
|
name: Cow::Borrowed("EOD Helmet"),
|
|
base_armour: 55.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[Immunity::ConcussionGrenade, Immunity::PepperSpray]),
|
|
bonus: Some(ArmourBonusInfo {
|
|
kind: ArmourBonusType::Impassable,
|
|
value: None,
|
|
}),
|
|
coverage: CoverageDto {
|
|
body: 10.22,
|
|
heart: 0.0,
|
|
stomach: 0.0,
|
|
chest: 0.0,
|
|
arm: 0.0,
|
|
groin: 0.0,
|
|
leg: 0.0,
|
|
throat: 42.9,
|
|
hand: 0.0,
|
|
foot: 0.0,
|
|
head: 100.0,
|
|
},
|
|
};
|
|
|
|
const EOD_APRON: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Body,
|
|
id: 681,
|
|
name: Cow::Borrowed("EOD Apron"),
|
|
base_armour: 55.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: Some(ArmourBonusInfo {
|
|
kind: ArmourBonusType::Impassable,
|
|
value: None,
|
|
}),
|
|
coverage: CoverageDto {
|
|
body: 55.24,
|
|
heart: 100.0,
|
|
stomach: 100.0,
|
|
chest: 100.0,
|
|
arm: 100.0,
|
|
groin: 100.0,
|
|
leg: 17.58,
|
|
throat: 100.0,
|
|
hand: 16.88,
|
|
foot: 0.0,
|
|
head: 4.68,
|
|
},
|
|
};
|
|
|
|
const EOD_PANTS: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Legs,
|
|
id: 682,
|
|
name: Cow::Borrowed("EOD Pants"),
|
|
base_armour: 55.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: Some(ArmourBonusInfo {
|
|
kind: ArmourBonusType::Impassable,
|
|
value: None,
|
|
}),
|
|
coverage: CoverageDto {
|
|
body: 26.01,
|
|
heart: 0.0,
|
|
stomach: 23.94,
|
|
chest: 0.0,
|
|
arm: 0.0,
|
|
groin: 100.0,
|
|
leg: 100.0,
|
|
throat: 0.0,
|
|
hand: 0.0,
|
|
foot: 20.13,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const EOD_BOOTS: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Feet,
|
|
id: 683,
|
|
name: Cow::Borrowed("EOD Boots"),
|
|
base_armour: 55.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: Some(ArmourBonusInfo {
|
|
kind: ArmourBonusType::Impassable,
|
|
value: None,
|
|
}),
|
|
coverage: CoverageDto {
|
|
body: 15.17,
|
|
heart: 0.0,
|
|
stomach: 0.0,
|
|
chest: 0.0,
|
|
arm: 0.0,
|
|
groin: 0.0,
|
|
leg: 6.19,
|
|
throat: 0.0,
|
|
hand: 0.0,
|
|
foot: 100.0,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const EOD_GLOVES: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Hands,
|
|
id: 684,
|
|
name: Cow::Borrowed("EOD Gloves"),
|
|
base_armour: 55.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: Some(ArmourBonusInfo {
|
|
kind: ArmourBonusType::Impassable,
|
|
value: None,
|
|
}),
|
|
coverage: CoverageDto {
|
|
body: 14.37,
|
|
heart: 0.0,
|
|
stomach: 0.0,
|
|
chest: 0.0,
|
|
arm: 0.5,
|
|
groin: 0.0,
|
|
leg: 0.0,
|
|
throat: 0.0,
|
|
hand: 100.0,
|
|
foot: 0.0,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const KEVLAR_LAB_COAT: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Body,
|
|
id: 848,
|
|
name: Cow::Borrowed("Kevlar Lab Coat"),
|
|
base_armour: 32.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: None,
|
|
coverage: CoverageDto {
|
|
body: 29.15,
|
|
heart: 0.0,
|
|
stomach: 14.4,
|
|
chest: 31.69,
|
|
arm: 100.0,
|
|
groin: 12.05,
|
|
leg: 44.1,
|
|
throat: 0.0,
|
|
hand: 31.0,
|
|
foot: 0.0,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const M_AOL_VISAGE: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Head,
|
|
id: 1164,
|
|
name: Cow::Borrowed("M'aol Visage"),
|
|
base_armour: 38.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: Some(ArmourBonusInfo {
|
|
kind: ArmourBonusType::Kinetokinesis,
|
|
value: None,
|
|
}),
|
|
coverage: CoverageDto {
|
|
body: 37.76,
|
|
heart: 70.75,
|
|
stomach: 18.22,
|
|
chest: 81.03,
|
|
arm: 7.22,
|
|
groin: 0.33,
|
|
leg: 0.0,
|
|
throat: 100.0,
|
|
hand: 0.0,
|
|
foot: 0.0,
|
|
head: 100.0,
|
|
},
|
|
};
|
|
|
|
const M_AOL_SPATHE: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Body,
|
|
id: 1165,
|
|
name: Cow::Borrowed("M'aol Spathe"),
|
|
base_armour: 50.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: Some(ArmourBonusInfo {
|
|
kind: ArmourBonusType::Kinetokinesis,
|
|
value: None,
|
|
}),
|
|
coverage: CoverageDto {
|
|
body: 46.94,
|
|
heart: 100.0,
|
|
stomach: 95.91,
|
|
chest: 100.0,
|
|
arm: 99.35,
|
|
groin: 5.14,
|
|
leg: 0.0,
|
|
throat: 68.97,
|
|
hand: 0.0,
|
|
foot: 0.0,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const M_AOL_BRITCHES: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Legs,
|
|
id: 1166,
|
|
name: Cow::Borrowed("M'aol Britches"),
|
|
base_armour: 50.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: Some(ArmourBonusInfo {
|
|
kind: ArmourBonusType::Kinetokinesis,
|
|
value: None,
|
|
}),
|
|
coverage: CoverageDto {
|
|
body: 19.47,
|
|
heart: 0.0,
|
|
stomach: 4.46,
|
|
chest: 0.0,
|
|
arm: 0.0,
|
|
groin: 100.0,
|
|
leg: 90.19,
|
|
throat: 0.0,
|
|
hand: 0.0,
|
|
foot: 0.0,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const M_AOL_HOOVES: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Feet,
|
|
id: 1167,
|
|
name: Cow::Borrowed("M'aol Hooves"),
|
|
base_armour: 50.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: Some(ArmourBonusInfo {
|
|
kind: ArmourBonusType::Kinetokinesis,
|
|
value: None,
|
|
}),
|
|
coverage: CoverageDto {
|
|
body: 10.99,
|
|
heart: 0.0,
|
|
stomach: 0.0,
|
|
chest: 0.0,
|
|
arm: 0.0,
|
|
groin: 0.0,
|
|
leg: 9.9,
|
|
throat: 0.0,
|
|
hand: 0.0,
|
|
foot: 100.0,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const M_AOL_CLAWSHIELDS: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Hands,
|
|
id: 1168,
|
|
name: Cow::Borrowed("M'aol Clawshields"),
|
|
base_armour: 50.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: Some(ArmourBonusInfo {
|
|
kind: ArmourBonusType::Kinetokinesis,
|
|
value: None,
|
|
}),
|
|
coverage: CoverageDto {
|
|
body: 10.18,
|
|
heart: 0.0,
|
|
stomach: 0.0,
|
|
chest: 0.0,
|
|
arm: 1.81,
|
|
groin: 0.0,
|
|
leg: 0.0,
|
|
throat: 0.0,
|
|
hand: 100.0,
|
|
foot: 0.0,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const STARSHIELD_BREASTPLATE: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Body,
|
|
id: 1174,
|
|
name: Cow::Borrowed("Starshield Breastplate"),
|
|
base_armour: 39.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[Immunity::Insanity]),
|
|
bonus: None,
|
|
coverage: CoverageDto {
|
|
body: 33.43,
|
|
heart: 100.0,
|
|
stomach: 100.0,
|
|
chest: 100.0,
|
|
arm: 10.89,
|
|
groin: 8.17,
|
|
leg: 0.0,
|
|
throat: 15.19,
|
|
hand: 0.0,
|
|
foot: 0.0,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const SENTINEL_HELMET: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Head,
|
|
id: 1307,
|
|
name: Cow::Borrowed("Sentinel Helmet"),
|
|
base_armour: 53.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: Some(ArmourBonusInfo {
|
|
kind: ArmourBonusType::Immmutable,
|
|
value: None,
|
|
}),
|
|
coverage: CoverageDto {
|
|
body: 5.33,
|
|
heart: 0.0,
|
|
stomach: 0.0,
|
|
chest: 0.0,
|
|
arm: 0.0,
|
|
groin: 0.0,
|
|
leg: 0.0,
|
|
throat: 0.0,
|
|
hand: 0.0,
|
|
foot: 0.0,
|
|
head: 74.24,
|
|
},
|
|
};
|
|
|
|
const SENTINEL_APRON: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Body,
|
|
id: 1308,
|
|
name: Cow::Borrowed("Sentinel Apron"),
|
|
base_armour: 53.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: Some(ArmourBonusInfo {
|
|
kind: ArmourBonusType::Immmutable,
|
|
value: None,
|
|
}),
|
|
coverage: CoverageDto {
|
|
body: 42.69,
|
|
heart: 100.0,
|
|
stomach: 100.0,
|
|
chest: 100.0,
|
|
arm: 100.0,
|
|
groin: 0.0,
|
|
leg: 2.24,
|
|
throat: 95.91,
|
|
hand: 0.0,
|
|
foot: 0.0,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const SENTINEL_PANTS: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Legs,
|
|
id: 1309,
|
|
name: Cow::Borrowed("Sentinel Pants"),
|
|
base_armour: 53.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: Some(ArmourBonusInfo {
|
|
kind: ArmourBonusType::Immmutable,
|
|
value: None,
|
|
}),
|
|
coverage: CoverageDto {
|
|
body: 24.74,
|
|
heart: 0.0,
|
|
stomach: 4.71,
|
|
chest: 0.0,
|
|
arm: 0.0,
|
|
groin: 100.0,
|
|
leg: 100.0,
|
|
throat: 0.0,
|
|
hand: 0.0,
|
|
foot: 20.84,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const SENTINEL_BOOTS: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Feet,
|
|
id: 1310,
|
|
name: Cow::Borrowed("Sentinel Boots"),
|
|
base_armour: 53.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: Some(ArmourBonusInfo {
|
|
kind: ArmourBonusType::Immmutable,
|
|
value: None,
|
|
}),
|
|
coverage: CoverageDto {
|
|
body: 15.11,
|
|
heart: 0.0,
|
|
stomach: 0.0,
|
|
chest: 0.0,
|
|
arm: 0.0,
|
|
groin: 0.0,
|
|
leg: 5.63,
|
|
throat: 0.0,
|
|
hand: 0.0,
|
|
foot: 100.0,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const SENTINEL_GLOVES: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Hands,
|
|
id: 1311,
|
|
name: Cow::Borrowed("Sentinel Gloves"),
|
|
base_armour: 53.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: Some(ArmourBonusInfo {
|
|
kind: ArmourBonusType::Immmutable,
|
|
value: None,
|
|
}),
|
|
coverage: CoverageDto {
|
|
body: 14.37,
|
|
heart: 0.0,
|
|
stomach: 0.0,
|
|
chest: 0.0,
|
|
arm: 0.55,
|
|
groin: 0.0,
|
|
leg: 0.0,
|
|
throat: 0.0,
|
|
hand: 100.0,
|
|
foot: 0.0,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const VANGUARD_RESPIRATOR: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Head,
|
|
id: 1355,
|
|
name: Cow::Borrowed("Vanguard Respirator"),
|
|
base_armour: 48.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[Immunity::PepperSpray, Immunity::NerveGas, Immunity::TearGas]),
|
|
bonus: Some(ArmourBonusInfo {
|
|
kind: ArmourBonusType::Irrepressible,
|
|
value: None,
|
|
}),
|
|
coverage: CoverageDto {
|
|
body: 2.82,
|
|
heart: 0.0,
|
|
stomach: 0.0,
|
|
chest: 0.0,
|
|
arm: 0.0,
|
|
groin: 0.0,
|
|
leg: 0.0,
|
|
throat: 0.0,
|
|
hand: 0.0,
|
|
foot: 0.0,
|
|
head: 39.6,
|
|
},
|
|
};
|
|
|
|
const VANGUARD_BODY: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Body,
|
|
id: 1356,
|
|
name: Cow::Borrowed("Vanguard Body"),
|
|
base_armour: 48.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: Some(ArmourBonusInfo {
|
|
kind: ArmourBonusType::Irrepressible,
|
|
value: None,
|
|
}),
|
|
coverage: CoverageDto {
|
|
body: 44.28,
|
|
heart: 100.0,
|
|
stomach: 100.0,
|
|
chest: 100.0,
|
|
arm: 100.0,
|
|
groin: 35.39,
|
|
leg: 0.28,
|
|
throat: 83.53,
|
|
hand: 0.13,
|
|
foot: 0.0,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const VANGUARD_PANTS: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Legs,
|
|
id: 1357,
|
|
name: Cow::Borrowed("Vanguard Pants"),
|
|
base_armour: 48.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: Some(ArmourBonusInfo {
|
|
kind: ArmourBonusType::Irrepressible,
|
|
value: None,
|
|
}),
|
|
coverage: CoverageDto {
|
|
body: 24.96,
|
|
heart: 0.0,
|
|
stomach: 0.0,
|
|
chest: 0.0,
|
|
arm: 0.0,
|
|
groin: 99.07,
|
|
leg: 100.0,
|
|
throat: 0.0,
|
|
hand: 0.0,
|
|
foot: 25.2,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const VANGUARD_BOOTS: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Feet,
|
|
id: 1358,
|
|
name: Cow::Borrowed("Vanguard Boots"),
|
|
base_armour: 48.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: Some(ArmourBonusInfo {
|
|
kind: ArmourBonusType::Irrepressible,
|
|
value: None,
|
|
}),
|
|
coverage: CoverageDto {
|
|
body: 15.13,
|
|
heart: 0.0,
|
|
stomach: 0.0,
|
|
chest: 0.0,
|
|
arm: 0.0,
|
|
groin: 0.0,
|
|
leg: 5.83,
|
|
throat: 0.0,
|
|
hand: 0.0,
|
|
foot: 100.0,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
|
|
const VANGUARD_GLOVES: ArmourDto = ArmourDto {
|
|
slot: ArmourSlot::Hands,
|
|
id: 1359,
|
|
name: Cow::Borrowed("Vanguard Gloves"),
|
|
base_armour: 48.0,
|
|
armour: None,
|
|
immunities: Cow::Borrowed(&[]),
|
|
bonus: Some(ArmourBonusInfo {
|
|
kind: ArmourBonusType::Irrepressible,
|
|
value: None,
|
|
}),
|
|
coverage: CoverageDto {
|
|
body: 14.4,
|
|
heart: 0.0,
|
|
stomach: 0.0,
|
|
chest: 0.0,
|
|
arm: 0.73,
|
|
groin: 0.0,
|
|
leg: 0.0,
|
|
throat: 0.0,
|
|
hand: 100.0,
|
|
foot: 0.0,
|
|
head: 0.0,
|
|
},
|
|
};
|
|
}
|