feat: added special ammo
This commit is contained in:
parent
9550cd2bbb
commit
1c7a5d1e1b
3 changed files with 128 additions and 10 deletions
|
|
@ -86,6 +86,18 @@ impl Default for Uses {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(Clone, Copy, PartialEq, Eq, Default, Component)]
|
||||||
|
#[cfg_attr(feature = "json", derive(serde::Deserialize, serde::Serialize))]
|
||||||
|
#[cfg_attr(feature = "json", serde(rename_all = "snake_case"))]
|
||||||
|
pub enum AmmoType {
|
||||||
|
#[default]
|
||||||
|
Standard,
|
||||||
|
HollowPoint,
|
||||||
|
Incindiary,
|
||||||
|
Tracer,
|
||||||
|
Piercer,
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(Clone, Copy)]
|
#[derive(Clone, Copy)]
|
||||||
#[cfg_attr(feature = "json", derive(serde::Deserialize, serde::Serialize))]
|
#[cfg_attr(feature = "json", derive(serde::Deserialize, serde::Serialize))]
|
||||||
#[cfg_attr(feature = "json", serde(rename_all = "snake_case"))]
|
#[cfg_attr(feature = "json", serde(rename_all = "snake_case"))]
|
||||||
|
|
@ -181,6 +193,7 @@ pub struct AmmoWeaponBundle {
|
||||||
pub clip_size: SimpleStatBundle<ClipSize>,
|
pub clip_size: SimpleStatBundle<ClipSize>,
|
||||||
pub rate_of_fire: RateOfFire,
|
pub rate_of_fire: RateOfFire,
|
||||||
pub ammo_control: SimpleStatBundle<AmmoControl>,
|
pub ammo_control: SimpleStatBundle<AmmoControl>,
|
||||||
|
pub kind: AmmoType,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl WeaponBundle {
|
impl WeaponBundle {
|
||||||
|
|
@ -211,6 +224,7 @@ impl AmmoWeaponBundle {
|
||||||
clip_size: SimpleStatBundle::new(weapon_ammo.clip_size),
|
clip_size: SimpleStatBundle::new(weapon_ammo.clip_size),
|
||||||
rate_of_fire: RateOfFire(weapon_ammo.rate_of_fire),
|
rate_of_fire: RateOfFire(weapon_ammo.rate_of_fire),
|
||||||
ammo_control: SimpleStatBundle::new(0.0),
|
ammo_control: SimpleStatBundle::new(0.0),
|
||||||
|
kind: weapon_ammo.ammo_kind.unwrap_or_default(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,9 +6,9 @@ use crate::{
|
||||||
bundle::{
|
bundle::{
|
||||||
bonus::{WeaponBonusBundle, WeaponBonusType},
|
bonus::{WeaponBonusBundle, WeaponBonusType},
|
||||||
weapon::{
|
weapon::{
|
||||||
AmmoWeaponBundle, BuffingTemp, DamagingWeaponBundle, DebuffingTemp, EquippedMods,
|
AmmoType, AmmoWeaponBundle, BuffingTemp, DamagingWeaponBundle, DebuffingTemp,
|
||||||
Japanese, NonTargeted, Temporary, Uses, WeaponBundle, WeaponCategory, WeaponMod,
|
EquippedMods, Japanese, NonTargeted, Temporary, Uses, WeaponBundle, WeaponCategory,
|
||||||
WeaponSlot, WeaponVerb,
|
WeaponMod, WeaponSlot, WeaponVerb,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
dto::draw_id,
|
dto::draw_id,
|
||||||
|
|
@ -17,6 +17,7 @@ use crate::{
|
||||||
|
|
||||||
#[cfg_attr(feature = "json", derive(serde::Deserialize, serde::Serialize))]
|
#[cfg_attr(feature = "json", derive(serde::Deserialize, serde::Serialize))]
|
||||||
pub struct WeaponAmmo {
|
pub struct WeaponAmmo {
|
||||||
|
pub ammo_kind: Option<AmmoType>,
|
||||||
pub clip_size: u16,
|
pub clip_size: u16,
|
||||||
pub rate_of_fire: [u16; 2],
|
pub rate_of_fire: [u16; 2],
|
||||||
}
|
}
|
||||||
|
|
@ -707,6 +708,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 20,
|
clip_size: 20,
|
||||||
rate_of_fire: [3, 6],
|
rate_of_fire: [3, 6],
|
||||||
}),
|
}),
|
||||||
|
|
@ -752,6 +754,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 6,
|
clip_size: 6,
|
||||||
rate_of_fire: [3, 5],
|
rate_of_fire: [3, 5],
|
||||||
}),
|
}),
|
||||||
|
|
@ -797,6 +800,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 20,
|
clip_size: 20,
|
||||||
rate_of_fire: [3, 4],
|
rate_of_fire: [3, 4],
|
||||||
}),
|
}),
|
||||||
|
|
@ -842,6 +846,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 17,
|
clip_size: 17,
|
||||||
rate_of_fire: [4, 5],
|
rate_of_fire: [4, 5],
|
||||||
}),
|
}),
|
||||||
|
|
@ -887,6 +892,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 15,
|
clip_size: 15,
|
||||||
rate_of_fire: [4, 5],
|
rate_of_fire: [4, 5],
|
||||||
}),
|
}),
|
||||||
|
|
@ -932,6 +938,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 20,
|
clip_size: 20,
|
||||||
rate_of_fire: [3, 6],
|
rate_of_fire: [3, 6],
|
||||||
}),
|
}),
|
||||||
|
|
@ -977,6 +984,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 20,
|
clip_size: 20,
|
||||||
rate_of_fire: [6, 7],
|
rate_of_fire: [6, 7],
|
||||||
}),
|
}),
|
||||||
|
|
@ -1022,6 +1030,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 6,
|
clip_size: 6,
|
||||||
rate_of_fire: [1, 2],
|
rate_of_fire: [1, 2],
|
||||||
}),
|
}),
|
||||||
|
|
@ -1065,6 +1074,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 8,
|
clip_size: 8,
|
||||||
rate_of_fire: [2, 3],
|
rate_of_fire: [2, 3],
|
||||||
}),
|
}),
|
||||||
|
|
@ -1110,6 +1120,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 46,
|
clip_size: 46,
|
||||||
rate_of_fire: [5, 15],
|
rate_of_fire: [5, 15],
|
||||||
}),
|
}),
|
||||||
|
|
@ -1147,6 +1158,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 2,
|
clip_size: 2,
|
||||||
rate_of_fire: [1, 2],
|
rate_of_fire: [1, 2],
|
||||||
}),
|
}),
|
||||||
|
|
@ -1184,6 +1196,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 7,
|
clip_size: 7,
|
||||||
rate_of_fire: [2, 3],
|
rate_of_fire: [2, 3],
|
||||||
}),
|
}),
|
||||||
|
|
@ -1221,6 +1234,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 30,
|
clip_size: 30,
|
||||||
rate_of_fire: [5, 8],
|
rate_of_fire: [5, 8],
|
||||||
}),
|
}),
|
||||||
|
|
@ -1266,6 +1280,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 50,
|
clip_size: 50,
|
||||||
rate_of_fire: [10, 30],
|
rate_of_fire: [10, 30],
|
||||||
}),
|
}),
|
||||||
|
|
@ -1311,6 +1326,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 30,
|
clip_size: 30,
|
||||||
rate_of_fire: [4, 8],
|
rate_of_fire: [4, 8],
|
||||||
}),
|
}),
|
||||||
|
|
@ -1359,6 +1375,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 30,
|
clip_size: 30,
|
||||||
rate_of_fire: [4, 9],
|
rate_of_fire: [4, 9],
|
||||||
}),
|
}),
|
||||||
|
|
@ -1407,6 +1424,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 7,
|
clip_size: 7,
|
||||||
rate_of_fire: [2, 3],
|
rate_of_fire: [2, 3],
|
||||||
}),
|
}),
|
||||||
|
|
@ -1444,6 +1462,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 30,
|
clip_size: 30,
|
||||||
rate_of_fire: [5, 9],
|
rate_of_fire: [5, 9],
|
||||||
}),
|
}),
|
||||||
|
|
@ -1492,6 +1511,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 30,
|
clip_size: 30,
|
||||||
rate_of_fire: [5, 8],
|
rate_of_fire: [5, 8],
|
||||||
}),
|
}),
|
||||||
|
|
@ -1540,6 +1560,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 100,
|
clip_size: 100,
|
||||||
rate_of_fire: [15, 25],
|
rate_of_fire: [15, 25],
|
||||||
}),
|
}),
|
||||||
|
|
@ -1582,6 +1603,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 200,
|
clip_size: 200,
|
||||||
rate_of_fire: [20, 30],
|
rate_of_fire: [20, 30],
|
||||||
}),
|
}),
|
||||||
|
|
@ -1624,6 +1646,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 950,
|
clip_size: 950,
|
||||||
rate_of_fire: [3, 10],
|
rate_of_fire: [3, 10],
|
||||||
}),
|
}),
|
||||||
|
|
@ -1653,6 +1676,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 1000,
|
clip_size: 1000,
|
||||||
rate_of_fire: [233, 533],
|
rate_of_fire: [233, 533],
|
||||||
}),
|
}),
|
||||||
|
|
@ -1695,6 +1719,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 8,
|
clip_size: 8,
|
||||||
rate_of_fire: [2, 3],
|
rate_of_fire: [2, 3],
|
||||||
}),
|
}),
|
||||||
|
|
@ -1740,6 +1765,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 1000,
|
clip_size: 1000,
|
||||||
rate_of_fire: [255, 555],
|
rate_of_fire: [255, 555],
|
||||||
}),
|
}),
|
||||||
|
|
@ -1769,6 +1795,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 30,
|
clip_size: 30,
|
||||||
rate_of_fire: [15, 25],
|
rate_of_fire: [15, 25],
|
||||||
}),
|
}),
|
||||||
|
|
@ -1814,6 +1841,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 1,
|
clip_size: 1,
|
||||||
rate_of_fire: [1, 1],
|
rate_of_fire: [1, 1],
|
||||||
}),
|
}),
|
||||||
|
|
@ -1945,6 +1973,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 30,
|
clip_size: 30,
|
||||||
rate_of_fire: [5, 20],
|
rate_of_fire: [5, 20],
|
||||||
}),
|
}),
|
||||||
|
|
@ -1993,6 +2022,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 2,
|
clip_size: 2,
|
||||||
rate_of_fire: [1, 1],
|
rate_of_fire: [1, 1],
|
||||||
}),
|
}),
|
||||||
|
|
@ -2023,6 +2053,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 2,
|
clip_size: 2,
|
||||||
rate_of_fire: [1, 2],
|
rate_of_fire: [1, 2],
|
||||||
}),
|
}),
|
||||||
|
|
@ -2066,6 +2097,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 6,
|
clip_size: 6,
|
||||||
rate_of_fire: [1, 2],
|
rate_of_fire: [1, 2],
|
||||||
}),
|
}),
|
||||||
|
|
@ -2126,6 +2158,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 1,
|
clip_size: 1,
|
||||||
rate_of_fire: [1, 1],
|
rate_of_fire: [1, 1],
|
||||||
}),
|
}),
|
||||||
|
|
@ -2146,6 +2179,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 30,
|
clip_size: 30,
|
||||||
rate_of_fire: [2, 5],
|
rate_of_fire: [2, 5],
|
||||||
}),
|
}),
|
||||||
|
|
@ -2245,6 +2279,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 10,
|
clip_size: 10,
|
||||||
rate_of_fire: [5, 10],
|
rate_of_fire: [5, 10],
|
||||||
}),
|
}),
|
||||||
|
|
@ -2299,6 +2334,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 5,
|
clip_size: 5,
|
||||||
rate_of_fire: [2, 4],
|
rate_of_fire: [2, 4],
|
||||||
}),
|
}),
|
||||||
|
|
@ -2370,6 +2406,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 20,
|
clip_size: 20,
|
||||||
rate_of_fire: [7, 8],
|
rate_of_fire: [7, 8],
|
||||||
}),
|
}),
|
||||||
|
|
@ -2435,6 +2472,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 1,
|
clip_size: 1,
|
||||||
rate_of_fire: [1, 1],
|
rate_of_fire: [1, 1],
|
||||||
}),
|
}),
|
||||||
|
|
@ -2478,6 +2516,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 10,
|
clip_size: 10,
|
||||||
rate_of_fire: [2, 9],
|
rate_of_fire: [2, 9],
|
||||||
}),
|
}),
|
||||||
|
|
@ -2526,6 +2565,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 20,
|
clip_size: 20,
|
||||||
rate_of_fire: [4, 7],
|
rate_of_fire: [4, 7],
|
||||||
}),
|
}),
|
||||||
|
|
@ -2574,6 +2614,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 30,
|
clip_size: 30,
|
||||||
rate_of_fire: [2, 25],
|
rate_of_fire: [2, 25],
|
||||||
}),
|
}),
|
||||||
|
|
@ -2721,6 +2762,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 1,
|
clip_size: 1,
|
||||||
rate_of_fire: [1, 1],
|
rate_of_fire: [1, 1],
|
||||||
}),
|
}),
|
||||||
|
|
@ -2750,6 +2792,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 30,
|
clip_size: 30,
|
||||||
rate_of_fire: [2, 28],
|
rate_of_fire: [2, 28],
|
||||||
}),
|
}),
|
||||||
|
|
@ -2812,6 +2855,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 13,
|
clip_size: 13,
|
||||||
rate_of_fire: [1, 12],
|
rate_of_fire: [1, 12],
|
||||||
}),
|
}),
|
||||||
|
|
@ -2857,6 +2901,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 1,
|
clip_size: 1,
|
||||||
rate_of_fire: [1, 1],
|
rate_of_fire: [1, 1],
|
||||||
}),
|
}),
|
||||||
|
|
@ -2928,6 +2973,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 15,
|
clip_size: 15,
|
||||||
rate_of_fire: [2, 12],
|
rate_of_fire: [2, 12],
|
||||||
}),
|
}),
|
||||||
|
|
@ -2973,6 +3019,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 10,
|
clip_size: 10,
|
||||||
rate_of_fire: [1, 8],
|
rate_of_fire: [1, 8],
|
||||||
}),
|
}),
|
||||||
|
|
@ -3055,6 +3102,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 4,
|
clip_size: 4,
|
||||||
rate_of_fire: [1, 4],
|
rate_of_fire: [1, 4],
|
||||||
}),
|
}),
|
||||||
|
|
@ -3092,6 +3140,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 6,
|
clip_size: 6,
|
||||||
rate_of_fire: [1, 5],
|
rate_of_fire: [1, 5],
|
||||||
}),
|
}),
|
||||||
|
|
@ -3137,6 +3186,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 6,
|
clip_size: 6,
|
||||||
rate_of_fire: [2, 5],
|
rate_of_fire: [2, 5],
|
||||||
}),
|
}),
|
||||||
|
|
@ -3180,6 +3230,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 1,
|
clip_size: 1,
|
||||||
rate_of_fire: [1, 1],
|
rate_of_fire: [1, 1],
|
||||||
}),
|
}),
|
||||||
|
|
@ -3362,6 +3413,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 45,
|
clip_size: 45,
|
||||||
rate_of_fire: [4, 6],
|
rate_of_fire: [4, 6],
|
||||||
}),
|
}),
|
||||||
|
|
@ -3427,6 +3479,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 120,
|
clip_size: 120,
|
||||||
rate_of_fire: [10, 15],
|
rate_of_fire: [10, 15],
|
||||||
}),
|
}),
|
||||||
|
|
@ -3506,6 +3559,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 1,
|
clip_size: 1,
|
||||||
rate_of_fire: [1, 1],
|
rate_of_fire: [1, 1],
|
||||||
}),
|
}),
|
||||||
|
|
@ -3577,6 +3631,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 30,
|
clip_size: 30,
|
||||||
rate_of_fire: [4, 7],
|
rate_of_fire: [4, 7],
|
||||||
}),
|
}),
|
||||||
|
|
@ -3625,6 +3680,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 15,
|
clip_size: 15,
|
||||||
rate_of_fire: [3, 5],
|
rate_of_fire: [3, 5],
|
||||||
}),
|
}),
|
||||||
|
|
@ -3826,6 +3882,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 15,
|
clip_size: 15,
|
||||||
rate_of_fire: [5, 7],
|
rate_of_fire: [5, 7],
|
||||||
}),
|
}),
|
||||||
|
|
@ -3871,6 +3928,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 30,
|
clip_size: 30,
|
||||||
rate_of_fire: [4, 6],
|
rate_of_fire: [4, 6],
|
||||||
}),
|
}),
|
||||||
|
|
@ -3916,6 +3974,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 20,
|
clip_size: 20,
|
||||||
rate_of_fire: [3, 5],
|
rate_of_fire: [3, 5],
|
||||||
}),
|
}),
|
||||||
|
|
@ -3961,6 +4020,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 15,
|
clip_size: 15,
|
||||||
rate_of_fire: [3, 6],
|
rate_of_fire: [3, 6],
|
||||||
}),
|
}),
|
||||||
|
|
@ -4006,6 +4066,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 20,
|
clip_size: 20,
|
||||||
rate_of_fire: [3, 5],
|
rate_of_fire: [3, 5],
|
||||||
}),
|
}),
|
||||||
|
|
@ -4051,6 +4112,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 32,
|
clip_size: 32,
|
||||||
rate_of_fire: [3, 5],
|
rate_of_fire: [3, 5],
|
||||||
}),
|
}),
|
||||||
|
|
@ -4096,6 +4158,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 8,
|
clip_size: 8,
|
||||||
rate_of_fire: [1, 3],
|
rate_of_fire: [1, 3],
|
||||||
}),
|
}),
|
||||||
|
|
@ -4141,6 +4204,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 1,
|
clip_size: 1,
|
||||||
rate_of_fire: [1, 1],
|
rate_of_fire: [1, 1],
|
||||||
}),
|
}),
|
||||||
|
|
@ -4194,6 +4258,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 30,
|
clip_size: 30,
|
||||||
rate_of_fire: [15, 25],
|
rate_of_fire: [15, 25],
|
||||||
}),
|
}),
|
||||||
|
|
@ -4231,6 +4296,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 60,
|
clip_size: 60,
|
||||||
rate_of_fire: [4, 30],
|
rate_of_fire: [4, 30],
|
||||||
}),
|
}),
|
||||||
|
|
@ -4268,6 +4334,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 60,
|
clip_size: 60,
|
||||||
rate_of_fire: [10, 16],
|
rate_of_fire: [10, 16],
|
||||||
}),
|
}),
|
||||||
|
|
@ -4305,6 +4372,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 100,
|
clip_size: 100,
|
||||||
rate_of_fire: [10, 20],
|
rate_of_fire: [10, 20],
|
||||||
}),
|
}),
|
||||||
|
|
@ -4342,6 +4410,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 60,
|
clip_size: 60,
|
||||||
rate_of_fire: [15, 25],
|
rate_of_fire: [15, 25],
|
||||||
}),
|
}),
|
||||||
|
|
@ -4481,6 +4550,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 30,
|
clip_size: 30,
|
||||||
rate_of_fire: [4, 8],
|
rate_of_fire: [4, 8],
|
||||||
}),
|
}),
|
||||||
|
|
@ -4529,6 +4599,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 1,
|
clip_size: 1,
|
||||||
rate_of_fire: [1, 1],
|
rate_of_fire: [1, 1],
|
||||||
}),
|
}),
|
||||||
|
|
@ -4702,6 +4773,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 7,
|
clip_size: 7,
|
||||||
rate_of_fire: [7, 7],
|
rate_of_fire: [7, 7],
|
||||||
}),
|
}),
|
||||||
|
|
@ -4738,6 +4810,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 6,
|
clip_size: 6,
|
||||||
rate_of_fire: [1, 2],
|
rate_of_fire: [1, 2],
|
||||||
}),
|
}),
|
||||||
|
|
@ -4800,6 +4873,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 100,
|
clip_size: 100,
|
||||||
rate_of_fire: [20, 30],
|
rate_of_fire: [20, 30],
|
||||||
}),
|
}),
|
||||||
|
|
@ -4842,6 +4916,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 1,
|
clip_size: 1,
|
||||||
rate_of_fire: [1, 1],
|
rate_of_fire: [1, 1],
|
||||||
}),
|
}),
|
||||||
|
|
@ -4912,6 +4987,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 1,
|
clip_size: 1,
|
||||||
rate_of_fire: [1, 1],
|
rate_of_fire: [1, 1],
|
||||||
}),
|
}),
|
||||||
|
|
@ -5027,6 +5103,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 15,
|
clip_size: 15,
|
||||||
rate_of_fire: [3, 5],
|
rate_of_fire: [3, 5],
|
||||||
}),
|
}),
|
||||||
|
|
@ -5160,6 +5237,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 1,
|
clip_size: 1,
|
||||||
rate_of_fire: [1, 1],
|
rate_of_fire: [1, 1],
|
||||||
}),
|
}),
|
||||||
|
|
@ -5189,6 +5267,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 3,
|
clip_size: 3,
|
||||||
rate_of_fire: [1, 1],
|
rate_of_fire: [1, 1],
|
||||||
}),
|
}),
|
||||||
|
|
@ -5218,6 +5297,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 6,
|
clip_size: 6,
|
||||||
rate_of_fire: [1, 1],
|
rate_of_fire: [1, 1],
|
||||||
}),
|
}),
|
||||||
|
|
@ -5247,6 +5327,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 50,
|
clip_size: 50,
|
||||||
rate_of_fire: [9, 17],
|
rate_of_fire: [9, 17],
|
||||||
}),
|
}),
|
||||||
|
|
@ -5289,6 +5370,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 200,
|
clip_size: 200,
|
||||||
rate_of_fire: [18, 27],
|
rate_of_fire: [18, 27],
|
||||||
}),
|
}),
|
||||||
|
|
@ -5331,6 +5413,7 @@ impl WeaponDto {
|
||||||
dmg: None,
|
dmg: None,
|
||||||
acc: None,
|
acc: None,
|
||||||
ammo: Some(WeaponAmmo {
|
ammo: Some(WeaponAmmo {
|
||||||
|
ammo_kind: Some(AmmoType::Standard),
|
||||||
clip_size: 100,
|
clip_size: 100,
|
||||||
rate_of_fire: [9, 14],
|
rate_of_fire: [9, 14],
|
||||||
}),
|
}),
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,8 @@ use proxisim_models::bundle::{
|
||||||
SimpleStatEffective, Speed, Strength, WeaponAccuracy,
|
SimpleStatEffective, Speed, Strength, WeaponAccuracy,
|
||||||
},
|
},
|
||||||
weapon::{
|
weapon::{
|
||||||
Ammo, DamageStat, NeedsReload, NonTargeted, RateOfFire, Usable, Uses, Weapon, WeaponSlot,
|
Ammo, AmmoType, DamageStat, NeedsReload, NonTargeted, RateOfFire, Usable, Uses, Weapon,
|
||||||
|
WeaponSlot,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
use rand::Rng as _;
|
use rand::Rng as _;
|
||||||
|
|
@ -201,6 +202,7 @@ pub fn use_damaging_weapon(
|
||||||
&SimpleStatEffective<Clips>,
|
&SimpleStatEffective<Clips>,
|
||||||
&RateOfFire,
|
&RateOfFire,
|
||||||
&SimpleStatEffective<AmmoControl>,
|
&SimpleStatEffective<AmmoControl>,
|
||||||
|
&AmmoType,
|
||||||
)>,
|
)>,
|
||||||
Query<&mut Uses>,
|
Query<&mut Uses>,
|
||||||
),
|
),
|
||||||
|
|
@ -279,10 +281,13 @@ pub fn use_damaging_weapon(
|
||||||
let mut ammo = ammo_q
|
let mut ammo = ammo_q
|
||||||
.get_mut(weapon)
|
.get_mut(weapon)
|
||||||
.ok()
|
.ok()
|
||||||
.map(|(ammo, clips, rof, ammo_ctrl)| {
|
.map(|(ammo, clips, rof, ammo_ctrl, kind)| {
|
||||||
let ammo_ctrl = 1.0 - (ammo_ctrl).value;
|
let ammo_ctrl = 1.0 - (ammo_ctrl).value;
|
||||||
let rof_eff = ((rof.0[0] as f32) * ammo_ctrl)..=((rof.0[1] as f32) * ammo_ctrl);
|
let rof_eff = ((rof.0[0] as f32) * ammo_ctrl)..=((rof.0[1] as f32) * ammo_ctrl);
|
||||||
(ammo, clips, rof_eff)
|
if *kind == AmmoType::Tracer {
|
||||||
|
acc_eff.value += 10.0 / 50.0;
|
||||||
|
}
|
||||||
|
(ammo, clips, rof_eff, kind)
|
||||||
});
|
});
|
||||||
|
|
||||||
enum MultiAttack {
|
enum MultiAttack {
|
||||||
|
|
@ -308,7 +313,7 @@ pub fn use_damaging_weapon(
|
||||||
+ 30.0;
|
+ 30.0;
|
||||||
|
|
||||||
loop {
|
loop {
|
||||||
let rounds = ammo.as_mut().map(|(ammo, clips, rof)| {
|
let rounds = ammo.as_mut().map(|(ammo, clips, rof, _)| {
|
||||||
let rounds = (rng.random_range(rof.clone()).round() as u16).clamp(1, ammo.0);
|
let rounds = (rng.random_range(rof.clone()).round() as u16).clamp(1, ammo.0);
|
||||||
metrics.increment_counter(Some(player), "rounds_fired", rounds.into());
|
metrics.increment_counter(Some(player), "rounds_fired", rounds.into());
|
||||||
metrics.increment_counter(Some(weapon), "rounds_fired", rounds.into());
|
metrics.increment_counter(Some(weapon), "rounds_fired", rounds.into());
|
||||||
|
|
@ -465,11 +470,27 @@ pub fn use_damaging_weapon(
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
let spammo_bonus = ammo
|
||||||
|
.as_ref()
|
||||||
|
.map(|(_, _, _, kind)| match kind {
|
||||||
|
AmmoType::HollowPoint if piece.is_none() => {
|
||||||
|
armour_mitigation *= 1.5;
|
||||||
|
0.0
|
||||||
|
}
|
||||||
|
AmmoType::HollowPoint => 0.50,
|
||||||
|
AmmoType::Incindiary => 0.40,
|
||||||
|
AmmoType::Piercer => {
|
||||||
|
armour_mitigation *= 0.5;
|
||||||
|
0.0
|
||||||
|
}
|
||||||
|
_ => 0.0,
|
||||||
|
})
|
||||||
|
.unwrap_or_default();
|
||||||
// TODO: special ammo
|
// TODO: special ammo
|
||||||
|
|
||||||
let mut dmg = dmg_intrinsic
|
let mut dmg = dmg_intrinsic
|
||||||
* w_dmg.0
|
* w_dmg.0
|
||||||
* (1.0 + dmg_bonus.value)
|
* (1.0 + dmg_bonus.value + spammo_bonus)
|
||||||
* (1.0 - armour_mitigation)
|
* (1.0 - armour_mitigation)
|
||||||
* (1.0 - def_mitigation)
|
* (1.0 - def_mitigation)
|
||||||
* (1.0 - bonus_mitigation)
|
* (1.0 - bonus_mitigation)
|
||||||
|
|
@ -538,7 +559,7 @@ pub fn use_damaging_weapon(
|
||||||
if chance >= 1.0 || rng.random_bool(chance as f64) {
|
if chance >= 1.0 || rng.random_bool(chance as f64) {
|
||||||
dmg = dmg_intrinsic
|
dmg = dmg_intrinsic
|
||||||
* w_dmg.0
|
* w_dmg.0
|
||||||
* (1.0 + dmg_bonus.value + 5.0)
|
* (1.0 + dmg_bonus.value + spammo_bonus + 5.0)
|
||||||
* (1.0 - armour_mitigation)
|
* (1.0 - armour_mitigation)
|
||||||
* (1.0 - def_mitigation)
|
* (1.0 - def_mitigation)
|
||||||
* (1.0 - bonus_mitigation)
|
* (1.0 - bonus_mitigation)
|
||||||
|
|
@ -619,7 +640,7 @@ pub fn use_damaging_weapon(
|
||||||
|
|
||||||
// Technically only douple tap and blindfire have this condition, but we can run into
|
// Technically only douple tap and blindfire have this condition, but we can run into
|
||||||
// panics with invalid bonus/weapon combinations without checking this for all bonuses
|
// panics with invalid bonus/weapon combinations without checking this for all bonuses
|
||||||
if ammo.as_ref().is_some_and(|(a, _, _)| a.0 == 0) {
|
if ammo.as_ref().is_some_and(|(a, _, _, _)| a.0 == 0) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue