use crate::prelude::*;
pub(crate) struct WeaponTypeData {
pub(crate) what_uses: UnitType,
pub(crate) max_range: i32,
pub(crate) targets_org_or_mech: bool,
pub(crate) damage_type: DamageType,
pub(crate) tech: TechType,
pub(crate) targets_own: bool,
pub(crate) min_range: i32,
pub(crate) targets_ground: bool,
pub(crate) damage_factor: i32,
pub(crate) upgrade_type: UpgradeType,
pub(crate) targets_terrain: bool,
pub(crate) damage_amount: i32,
pub(crate) explosion_type: ExplosionType,
pub(crate) damage_cooldown: i32,
pub(crate) targets_air: bool,
pub(crate) targets_organic: bool,
pub(crate) damage_bonus: i32,
pub(crate) outer_splash_radius: i32,
pub(crate) targets_non_robotic: bool,
pub(crate) targets_non_building: bool,
pub(crate) targets_mechanical: bool,
pub(crate) median_splash_radius: i32,
pub(crate) inner_splash_radius: i32,
pub(crate) name: &'static str,
}
pub(crate) static WEAPON_TYPE_DATA: [WeaponTypeData; 132] = [
WeaponTypeData {
what_uses: UnitType::Terran_Marine,
max_range: 128,
targets_org_or_mech: false,
damage_type: DamageType::Normal,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Terran_Infantry_Weapons,
targets_terrain: false,
damage_amount: 6,
explosion_type: ExplosionType::Normal,
damage_cooldown: 15,
targets_air: true,
targets_organic: false,
damage_bonus: 1,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Gauss_Rifle",
},
WeaponTypeData {
what_uses: UnitType::Hero_Jim_Raynor_Marine,
max_range: 160,
targets_org_or_mech: false,
damage_type: DamageType::Normal,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Terran_Infantry_Weapons,
targets_terrain: false,
damage_amount: 18,
explosion_type: ExplosionType::Normal,
damage_cooldown: 15,
targets_air: true,
targets_organic: false,
damage_bonus: 1,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Gauss_Rifle_Jim_Raynor",
},
WeaponTypeData {
what_uses: UnitType::Terran_Ghost,
max_range: 224,
targets_org_or_mech: false,
damage_type: DamageType::Concussive,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Terran_Infantry_Weapons,
targets_terrain: false,
damage_amount: 10,
explosion_type: ExplosionType::Normal,
damage_cooldown: 22,
targets_air: true,
targets_organic: false,
damage_bonus: 1,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "C_10_Canister_Rifle",
},
WeaponTypeData {
what_uses: UnitType::Hero_Sarah_Kerrigan,
max_range: 192,
targets_org_or_mech: false,
damage_type: DamageType::Concussive,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Terran_Infantry_Weapons,
targets_terrain: false,
damage_amount: 30,
explosion_type: ExplosionType::Normal,
damage_cooldown: 22,
targets_air: true,
targets_organic: false,
damage_bonus: 1,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "C_10_Canister_Rifle_Sarah_Kerrigan",
},
WeaponTypeData {
what_uses: UnitType::Terran_Vulture,
max_range: 160,
targets_org_or_mech: false,
damage_type: DamageType::Concussive,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Terran_Vehicle_Weapons,
targets_terrain: false,
damage_amount: 20,
explosion_type: ExplosionType::Normal,
damage_cooldown: 30,
targets_air: false,
targets_organic: false,
damage_bonus: 2,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Fragmentation_Grenade",
},
WeaponTypeData {
what_uses: UnitType::Hero_Jim_Raynor_Vulture,
max_range: 160,
targets_org_or_mech: false,
damage_type: DamageType::Concussive,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Terran_Vehicle_Weapons,
targets_terrain: false,
damage_amount: 30,
explosion_type: ExplosionType::Normal,
damage_cooldown: 22,
targets_air: false,
targets_organic: false,
damage_bonus: 2,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Fragmentation_Grenade_Jim_Raynor",
},
WeaponTypeData {
what_uses: UnitType::Terran_Vulture_Spider_Mine,
max_range: 10,
targets_org_or_mech: false,
damage_type: DamageType::Explosive,
tech: TechType::Spider_Mines,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Upgrade_60,
targets_terrain: false,
damage_amount: 125,
explosion_type: ExplosionType::Radial_Splash,
damage_cooldown: 22,
targets_air: false,
targets_organic: false,
damage_bonus: 0,
outer_splash_radius: 100,
targets_non_robotic: false,
targets_non_building: true,
targets_mechanical: false,
median_splash_radius: 75,
inner_splash_radius: 50,
name: "Spider_Mines",
},
WeaponTypeData {
what_uses: UnitType::Terran_Goliath,
max_range: 192,
targets_org_or_mech: false,
damage_type: DamageType::Normal,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Terran_Vehicle_Weapons,
targets_terrain: false,
damage_amount: 12,
explosion_type: ExplosionType::Normal,
damage_cooldown: 22,
targets_air: false,
targets_organic: false,
damage_bonus: 1,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Twin_Autocannons",
},
WeaponTypeData {
what_uses: UnitType::Terran_Goliath,
max_range: 160,
targets_org_or_mech: false,
damage_type: DamageType::Explosive,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: false,
damage_factor: 2,
upgrade_type: UpgradeType::Terran_Vehicle_Weapons,
targets_terrain: false,
damage_amount: 10,
explosion_type: ExplosionType::Normal,
damage_cooldown: 22,
targets_air: true,
targets_organic: false,
damage_bonus: 2,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Hellfire_Missile_Pack",
},
WeaponTypeData {
what_uses: UnitType::Hero_Alan_Schezar,
max_range: 160,
targets_org_or_mech: false,
damage_type: DamageType::Normal,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Terran_Vehicle_Weapons,
targets_terrain: false,
damage_amount: 24,
explosion_type: ExplosionType::Normal,
damage_cooldown: 22,
targets_air: false,
targets_organic: false,
damage_bonus: 1,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Twin_Autocannons_Alan_Schezar",
},
WeaponTypeData {
what_uses: UnitType::Hero_Alan_Schezar,
max_range: 160,
targets_org_or_mech: false,
damage_type: DamageType::Explosive,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: false,
damage_factor: 2,
upgrade_type: UpgradeType::Terran_Vehicle_Weapons,
targets_terrain: false,
damage_amount: 20,
explosion_type: ExplosionType::Normal,
damage_cooldown: 22,
targets_air: true,
targets_organic: false,
damage_bonus: 1,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Hellfire_Missile_Pack_Alan_Schezar",
},
WeaponTypeData {
what_uses: UnitType::Terran_Siege_Tank_Tank_Mode,
max_range: 224,
targets_org_or_mech: false,
damage_type: DamageType::Explosive,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Terran_Vehicle_Weapons,
targets_terrain: false,
damage_amount: 30,
explosion_type: ExplosionType::Normal,
damage_cooldown: 37,
targets_air: false,
targets_organic: false,
damage_bonus: 3,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Arclite_Cannon",
},
WeaponTypeData {
what_uses: UnitType::Hero_Edmund_Duke_Tank_Mode,
max_range: 224,
targets_org_or_mech: false,
damage_type: DamageType::Explosive,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Terran_Vehicle_Weapons,
targets_terrain: false,
damage_amount: 70,
explosion_type: ExplosionType::Normal,
damage_cooldown: 37,
targets_air: false,
targets_organic: false,
damage_bonus: 3,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Arclite_Cannon_Edmund_Duke",
},
WeaponTypeData {
what_uses: UnitType::Terran_SCV,
max_range: 10,
targets_org_or_mech: false,
damage_type: DamageType::Normal,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Upgrade_60,
targets_terrain: false,
damage_amount: 5,
explosion_type: ExplosionType::Normal,
damage_cooldown: 15,
targets_air: false,
targets_organic: false,
damage_bonus: 1,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Fusion_Cutter",
},
WeaponTypeData {
what_uses: UnitType::None,
max_range: 0,
targets_org_or_mech: false,
damage_type: DamageType::None,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: false,
damage_factor: 1,
upgrade_type: UpgradeType::None,
targets_terrain: false,
damage_amount: 0,
explosion_type: ExplosionType::None,
damage_cooldown: 0,
targets_air: false,
targets_organic: false,
damage_bonus: 0,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Invalid",
},
WeaponTypeData {
what_uses: UnitType::Terran_Wraith,
max_range: 160,
targets_org_or_mech: false,
damage_type: DamageType::Explosive,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: false,
damage_factor: 1,
upgrade_type: UpgradeType::Terran_Ship_Weapons,
targets_terrain: false,
damage_amount: 20,
explosion_type: ExplosionType::Normal,
damage_cooldown: 22,
targets_air: true,
targets_organic: false,
damage_bonus: 2,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Gemini_Missiles",
},
WeaponTypeData {
what_uses: UnitType::Terran_Wraith,
max_range: 160,
targets_org_or_mech: false,
damage_type: DamageType::Normal,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Terran_Ship_Weapons,
targets_terrain: false,
damage_amount: 8,
explosion_type: ExplosionType::Normal,
damage_cooldown: 30,
targets_air: false,
targets_organic: false,
damage_bonus: 1,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Burst_Lasers",
},
WeaponTypeData {
what_uses: UnitType::Hero_Tom_Kazansky,
max_range: 160,
targets_org_or_mech: false,
damage_type: DamageType::Explosive,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: false,
damage_factor: 1,
upgrade_type: UpgradeType::Terran_Ship_Weapons,
targets_terrain: false,
damage_amount: 40,
explosion_type: ExplosionType::Normal,
damage_cooldown: 22,
targets_air: true,
targets_organic: false,
damage_bonus: 2,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Gemini_Missiles_Tom_Kazansky",
},
WeaponTypeData {
what_uses: UnitType::Hero_Tom_Kazansky,
max_range: 160,
targets_org_or_mech: false,
damage_type: DamageType::Normal,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Terran_Ship_Weapons,
targets_terrain: false,
damage_amount: 16,
explosion_type: ExplosionType::Normal,
damage_cooldown: 30,
targets_air: false,
targets_organic: false,
damage_bonus: 1,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Burst_Lasers_Tom_Kazansky",
},
WeaponTypeData {
what_uses: UnitType::Terran_Battlecruiser,
max_range: 192,
targets_org_or_mech: false,
damage_type: DamageType::Normal,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Terran_Ship_Weapons,
targets_terrain: false,
damage_amount: 25,
explosion_type: ExplosionType::Normal,
damage_cooldown: 30,
targets_air: false,
targets_organic: false,
damage_bonus: 3,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "ATS_Laser_Battery",
},
WeaponTypeData {
what_uses: UnitType::Terran_Battlecruiser,
max_range: 192,
targets_org_or_mech: false,
damage_type: DamageType::Normal,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: false,
damage_factor: 1,
upgrade_type: UpgradeType::Terran_Ship_Weapons,
targets_terrain: false,
damage_amount: 25,
explosion_type: ExplosionType::Normal,
damage_cooldown: 30,
targets_air: true,
targets_organic: false,
damage_bonus: 3,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "ATA_Laser_Battery",
},
WeaponTypeData {
what_uses: UnitType::Hero_Norad_II,
max_range: 192,
targets_org_or_mech: false,
damage_type: DamageType::Normal,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Terran_Ship_Weapons,
targets_terrain: false,
damage_amount: 50,
explosion_type: ExplosionType::Normal,
damage_cooldown: 30,
targets_air: false,
targets_organic: false,
damage_bonus: 3,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "ATS_Laser_Battery_Hero",
},
WeaponTypeData {
what_uses: UnitType::Hero_Norad_II,
max_range: 192,
targets_org_or_mech: false,
damage_type: DamageType::Normal,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: false,
damage_factor: 1,
upgrade_type: UpgradeType::Terran_Ship_Weapons,
targets_terrain: false,
damage_amount: 50,
explosion_type: ExplosionType::Normal,
damage_cooldown: 30,
targets_air: true,
targets_organic: false,
damage_bonus: 3,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "ATA_Laser_Battery_Hero",
},
WeaponTypeData {
what_uses: UnitType::Hero_Hyperion,
max_range: 192,
targets_org_or_mech: false,
damage_type: DamageType::Normal,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Terran_Ship_Weapons,
targets_terrain: false,
damage_amount: 30,
explosion_type: ExplosionType::Normal,
damage_cooldown: 22,
targets_air: false,
targets_organic: false,
damage_bonus: 3,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "ATS_Laser_Battery_Hyperion",
},
WeaponTypeData {
what_uses: UnitType::Hero_Hyperion,
max_range: 192,
targets_org_or_mech: false,
damage_type: DamageType::Normal,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: false,
damage_factor: 1,
upgrade_type: UpgradeType::Terran_Ship_Weapons,
targets_terrain: false,
damage_amount: 30,
explosion_type: ExplosionType::Normal,
damage_cooldown: 22,
targets_air: true,
targets_organic: false,
damage_bonus: 3,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "ATA_Laser_Battery_Hyperion",
},
WeaponTypeData {
what_uses: UnitType::Terran_Firebat,
max_range: 32,
targets_org_or_mech: false,
damage_type: DamageType::Concussive,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Terran_Infantry_Weapons,
targets_terrain: false,
damage_amount: 8,
explosion_type: ExplosionType::Enemy_Splash,
damage_cooldown: 22,
targets_air: false,
targets_organic: false,
damage_bonus: 1,
outer_splash_radius: 25,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 20,
inner_splash_radius: 15,
name: "Flame_Thrower",
},
WeaponTypeData {
what_uses: UnitType::Hero_Gui_Montag,
max_range: 32,
targets_org_or_mech: false,
damage_type: DamageType::Concussive,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Terran_Infantry_Weapons,
targets_terrain: false,
damage_amount: 16,
explosion_type: ExplosionType::Enemy_Splash,
damage_cooldown: 22,
targets_air: false,
targets_organic: false,
damage_bonus: 1,
outer_splash_radius: 25,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 20,
inner_splash_radius: 15,
name: "Flame_Thrower_Gui_Montag",
},
WeaponTypeData {
what_uses: UnitType::Terran_Siege_Tank_Siege_Mode,
max_range: 384,
targets_org_or_mech: false,
damage_type: DamageType::Explosive,
tech: TechType::None,
targets_own: false,
min_range: 64,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Terran_Vehicle_Weapons,
targets_terrain: false,
damage_amount: 70,
explosion_type: ExplosionType::Radial_Splash,
damage_cooldown: 75,
targets_air: false,
targets_organic: false,
damage_bonus: 5,
outer_splash_radius: 40,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 25,
inner_splash_radius: 10,
name: "Arclite_Shock_Cannon",
},
WeaponTypeData {
what_uses: UnitType::Hero_Edmund_Duke_Siege_Mode,
max_range: 384,
targets_org_or_mech: false,
damage_type: DamageType::Explosive,
tech: TechType::None,
targets_own: false,
min_range: 64,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Terran_Vehicle_Weapons,
targets_terrain: false,
damage_amount: 150,
explosion_type: ExplosionType::Radial_Splash,
damage_cooldown: 75,
targets_air: false,
targets_organic: false,
damage_bonus: 5,
outer_splash_radius: 40,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 25,
inner_splash_radius: 10,
name: "Arclite_Shock_Cannon_Edmund_Duke",
},
WeaponTypeData {
what_uses: UnitType::Terran_Missile_Turret,
max_range: 224,
targets_org_or_mech: false,
damage_type: DamageType::Explosive,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: false,
damage_factor: 1,
upgrade_type: UpgradeType::Upgrade_60,
targets_terrain: false,
damage_amount: 20,
explosion_type: ExplosionType::Normal,
damage_cooldown: 15,
targets_air: true,
targets_organic: false,
damage_bonus: 0,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Longbolt_Missile",
},
WeaponTypeData {
what_uses: UnitType::Terran_Battlecruiser,
max_range: 320,
targets_org_or_mech: false,
damage_type: DamageType::Explosive,
tech: TechType::Yamato_Gun,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Upgrade_60,
targets_terrain: false,
damage_amount: 260,
explosion_type: ExplosionType::Yamato_Gun,
damage_cooldown: 15,
targets_air: true,
targets_organic: false,
damage_bonus: 0,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Yamato_Gun",
},
WeaponTypeData {
what_uses: UnitType::Terran_Ghost,
max_range: 3,
targets_org_or_mech: false,
damage_type: DamageType::Explosive,
tech: TechType::Nuclear_Strike,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Upgrade_60,
targets_terrain: false,
damage_amount: 600,
explosion_type: ExplosionType::Nuclear_Missile,
damage_cooldown: 1,
targets_air: true,
targets_organic: false,
damage_bonus: 0,
outer_splash_radius: 256,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 192,
inner_splash_radius: 128,
name: "Nuclear_Strike",
},
WeaponTypeData {
what_uses: UnitType::Terran_Ghost,
max_range: 256,
targets_org_or_mech: false,
damage_type: DamageType::Concussive,
tech: TechType::Lockdown,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Upgrade_60,
targets_terrain: false,
damage_amount: 0,
explosion_type: ExplosionType::Lockdown,
damage_cooldown: 1,
targets_air: true,
targets_organic: false,
damage_bonus: 0,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: true,
targets_mechanical: true,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Lockdown",
},
WeaponTypeData {
what_uses: UnitType::Terran_Science_Vessel,
max_range: 256,
targets_org_or_mech: false,
damage_type: DamageType::Concussive,
tech: TechType::EMP_Shockwave,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Upgrade_60,
targets_terrain: true,
damage_amount: 0,
explosion_type: ExplosionType::EMP_Shockwave,
damage_cooldown: 1,
targets_air: true,
targets_organic: false,
damage_bonus: 0,
outer_splash_radius: 64,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 64,
inner_splash_radius: 64,
name: "EMP_Shockwave",
},
WeaponTypeData {
what_uses: UnitType::Terran_Science_Vessel,
max_range: 288,
targets_org_or_mech: false,
damage_type: DamageType::Ignore_Armor,
tech: TechType::Irradiate,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Upgrade_60,
targets_terrain: true,
damage_amount: 250,
explosion_type: ExplosionType::Irradiate,
damage_cooldown: 75,
targets_air: true,
targets_organic: false,
damage_bonus: 0,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Irradiate",
},
WeaponTypeData {
what_uses: UnitType::Zerg_Zergling,
max_range: 15,
targets_org_or_mech: false,
damage_type: DamageType::Normal,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Zerg_Melee_Attacks,
targets_terrain: false,
damage_amount: 5,
explosion_type: ExplosionType::Normal,
damage_cooldown: 8,
targets_air: false,
targets_organic: false,
damage_bonus: 1,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Claws",
},
WeaponTypeData {
what_uses: UnitType::Hero_Devouring_One,
max_range: 15,
targets_org_or_mech: false,
damage_type: DamageType::Normal,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Zerg_Melee_Attacks,
targets_terrain: false,
damage_amount: 10,
explosion_type: ExplosionType::Normal,
damage_cooldown: 8,
targets_air: false,
targets_organic: false,
damage_bonus: 1,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Claws_Devouring_One",
},
WeaponTypeData {
what_uses: UnitType::Hero_Infested_Kerrigan,
max_range: 15,
targets_org_or_mech: false,
damage_type: DamageType::Normal,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Zerg_Melee_Attacks,
targets_terrain: false,
damage_amount: 50,
explosion_type: ExplosionType::Normal,
damage_cooldown: 15,
targets_air: false,
targets_organic: false,
damage_bonus: 1,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Claws_Infested_Kerrigan",
},
WeaponTypeData {
what_uses: UnitType::Zerg_Hydralisk,
max_range: 128,
targets_org_or_mech: false,
damage_type: DamageType::Explosive,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Zerg_Missile_Attacks,
targets_terrain: false,
damage_amount: 10,
explosion_type: ExplosionType::Normal,
damage_cooldown: 15,
targets_air: true,
targets_organic: false,
damage_bonus: 1,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Needle_Spines",
},
WeaponTypeData {
what_uses: UnitType::Hero_Hunter_Killer,
max_range: 160,
targets_org_or_mech: false,
damage_type: DamageType::Explosive,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Zerg_Missile_Attacks,
targets_terrain: false,
damage_amount: 20,
explosion_type: ExplosionType::Normal,
damage_cooldown: 15,
targets_air: true,
targets_organic: false,
damage_bonus: 1,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Needle_Spines_Hunter_Killer",
},
WeaponTypeData {
what_uses: UnitType::Zerg_Ultralisk,
max_range: 25,
targets_org_or_mech: false,
damage_type: DamageType::Normal,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Zerg_Melee_Attacks,
targets_terrain: false,
damage_amount: 20,
explosion_type: ExplosionType::Normal,
damage_cooldown: 15,
targets_air: false,
targets_organic: false,
damage_bonus: 3,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Kaiser_Blades",
},
WeaponTypeData {
what_uses: UnitType::Hero_Torrasque,
max_range: 25,
targets_org_or_mech: false,
damage_type: DamageType::Normal,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Zerg_Melee_Attacks,
targets_terrain: false,
damage_amount: 50,
explosion_type: ExplosionType::Normal,
damage_cooldown: 15,
targets_air: false,
targets_organic: false,
damage_bonus: 3,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Kaiser_Blades_Torrasque",
},
WeaponTypeData {
what_uses: UnitType::Zerg_Broodling,
max_range: 2,
targets_org_or_mech: false,
damage_type: DamageType::Normal,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Zerg_Melee_Attacks,
targets_terrain: false,
damage_amount: 4,
explosion_type: ExplosionType::Normal,
damage_cooldown: 15,
targets_air: false,
targets_organic: false,
damage_bonus: 1,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Toxic_Spores",
},
WeaponTypeData {
what_uses: UnitType::Zerg_Drone,
max_range: 32,
targets_org_or_mech: false,
damage_type: DamageType::Normal,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Upgrade_60,
targets_terrain: false,
damage_amount: 5,
explosion_type: ExplosionType::Normal,
damage_cooldown: 22,
targets_air: false,
targets_organic: false,
damage_bonus: 0,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Spines",
},
WeaponTypeData {
what_uses: UnitType::None,
max_range: 0,
targets_org_or_mech: false,
damage_type: DamageType::None,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: false,
damage_factor: 1,
upgrade_type: UpgradeType::None,
targets_terrain: false,
damage_amount: 0,
explosion_type: ExplosionType::None,
damage_cooldown: 0,
targets_air: false,
targets_organic: false,
damage_bonus: 0,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Invalid",
},
WeaponTypeData {
what_uses: UnitType::None,
max_range: 0,
targets_org_or_mech: false,
damage_type: DamageType::None,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: false,
damage_factor: 1,
upgrade_type: UpgradeType::None,
targets_terrain: false,
damage_amount: 0,
explosion_type: ExplosionType::None,
damage_cooldown: 0,
targets_air: false,
targets_organic: false,
damage_bonus: 0,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Invalid",
},
WeaponTypeData {
what_uses: UnitType::Zerg_Guardian,
max_range: 256,
targets_org_or_mech: false,
damage_type: DamageType::Normal,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Zerg_Flyer_Attacks,
targets_terrain: false,
damage_amount: 20,
explosion_type: ExplosionType::Normal,
damage_cooldown: 30,
targets_air: false,
targets_organic: false,
damage_bonus: 2,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Acid_Spore",
},
WeaponTypeData {
what_uses: UnitType::Hero_Kukulza_Guardian,
max_range: 256,
targets_org_or_mech: false,
damage_type: DamageType::Normal,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Zerg_Flyer_Attacks,
targets_terrain: false,
damage_amount: 40,
explosion_type: ExplosionType::Normal,
damage_cooldown: 30,
targets_air: false,
targets_organic: false,
damage_bonus: 2,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Acid_Spore_Kukulza",
},
WeaponTypeData {
what_uses: UnitType::Zerg_Mutalisk,
max_range: 96,
targets_org_or_mech: false,
damage_type: DamageType::Normal,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Zerg_Flyer_Attacks,
targets_terrain: false,
damage_amount: 9,
explosion_type: ExplosionType::Normal,
damage_cooldown: 30,
targets_air: true,
targets_organic: false,
damage_bonus: 1,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Glave_Wurm",
},
WeaponTypeData {
what_uses: UnitType::Hero_Kukulza_Mutalisk,
max_range: 96,
targets_org_or_mech: false,
damage_type: DamageType::Normal,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Zerg_Flyer_Attacks,
targets_terrain: false,
damage_amount: 18,
explosion_type: ExplosionType::Normal,
damage_cooldown: 30,
targets_air: true,
targets_organic: false,
damage_bonus: 1,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Glave_Wurm_Kukulza",
},
WeaponTypeData {
what_uses: UnitType::None,
max_range: 0,
targets_org_or_mech: false,
damage_type: DamageType::None,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: false,
damage_factor: 1,
upgrade_type: UpgradeType::None,
targets_terrain: false,
damage_amount: 0,
explosion_type: ExplosionType::None,
damage_cooldown: 0,
targets_air: false,
targets_organic: false,
damage_bonus: 0,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Invalid",
},
WeaponTypeData {
what_uses: UnitType::None,
max_range: 0,
targets_org_or_mech: false,
damage_type: DamageType::None,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: false,
damage_factor: 1,
upgrade_type: UpgradeType::None,
targets_terrain: false,
damage_amount: 0,
explosion_type: ExplosionType::None,
damage_cooldown: 0,
targets_air: false,
targets_organic: false,
damage_bonus: 0,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Invalid",
},
WeaponTypeData {
what_uses: UnitType::Zerg_Spore_Colony,
max_range: 224,
targets_org_or_mech: false,
damage_type: DamageType::Normal,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: false,
damage_factor: 1,
upgrade_type: UpgradeType::Upgrade_60,
targets_terrain: false,
damage_amount: 15,
explosion_type: ExplosionType::Normal,
damage_cooldown: 15,
targets_air: true,
targets_organic: false,
damage_bonus: 0,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Seeker_Spores",
},
WeaponTypeData {
what_uses: UnitType::Zerg_Sunken_Colony,
max_range: 224,
targets_org_or_mech: false,
damage_type: DamageType::Explosive,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Upgrade_60,
targets_terrain: false,
damage_amount: 40,
explosion_type: ExplosionType::Normal,
damage_cooldown: 32,
targets_air: false,
targets_organic: false,
damage_bonus: 0,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Subterranean_Tentacle",
},
WeaponTypeData {
what_uses: UnitType::Zerg_Infested_Terran,
max_range: 3,
targets_org_or_mech: false,
damage_type: DamageType::Explosive,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Upgrade_60,
targets_terrain: false,
damage_amount: 500,
explosion_type: ExplosionType::Radial_Splash,
damage_cooldown: 1,
targets_air: false,
targets_organic: false,
damage_bonus: 0,
outer_splash_radius: 60,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 40,
inner_splash_radius: 20,
name: "Suicide_Infested_Terran",
},
WeaponTypeData {
what_uses: UnitType::Zerg_Scourge,
max_range: 3,
targets_org_or_mech: false,
damage_type: DamageType::Normal,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: false,
damage_factor: 1,
upgrade_type: UpgradeType::Upgrade_60,
targets_terrain: false,
damage_amount: 110,
explosion_type: ExplosionType::Normal,
damage_cooldown: 1,
targets_air: true,
targets_organic: false,
damage_bonus: 0,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Suicide_Scourge",
},
WeaponTypeData {
what_uses: UnitType::Zerg_Queen,
max_range: 384,
targets_org_or_mech: false,
damage_type: DamageType::Independent,
tech: TechType::Parasite,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Upgrade_60,
targets_terrain: false,
damage_amount: 0,
explosion_type: ExplosionType::Parasite,
damage_cooldown: 1,
targets_air: true,
targets_organic: false,
damage_bonus: 0,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: true,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Parasite",
},
WeaponTypeData {
what_uses: UnitType::Zerg_Queen,
max_range: 288,
targets_org_or_mech: true,
damage_type: DamageType::Independent,
tech: TechType::Spawn_Broodlings,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Upgrade_60,
targets_terrain: false,
damage_amount: 0,
explosion_type: ExplosionType::Broodlings,
damage_cooldown: 1,
targets_air: false,
targets_organic: false,
damage_bonus: 0,
outer_splash_radius: 0,
targets_non_robotic: true,
targets_non_building: true,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Spawn_Broodlings",
},
WeaponTypeData {
what_uses: UnitType::Zerg_Queen,
max_range: 288,
targets_org_or_mech: false,
damage_type: DamageType::Independent,
tech: TechType::Ensnare,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Upgrade_60,
targets_terrain: true,
damage_amount: 0,
explosion_type: ExplosionType::Ensnare,
damage_cooldown: 1,
targets_air: true,
targets_organic: false,
damage_bonus: 0,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Ensnare",
},
WeaponTypeData {
what_uses: UnitType::Zerg_Defiler,
max_range: 288,
targets_org_or_mech: false,
damage_type: DamageType::Independent,
tech: TechType::Dark_Swarm,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Upgrade_60,
targets_terrain: false,
damage_amount: 0,
explosion_type: ExplosionType::Dark_Swarm,
damage_cooldown: 1,
targets_air: true,
targets_organic: false,
damage_bonus: 0,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Dark_Swarm",
},
WeaponTypeData {
what_uses: UnitType::Zerg_Defiler,
max_range: 288,
targets_org_or_mech: false,
damage_type: DamageType::Independent,
tech: TechType::Plague,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Upgrade_60,
targets_terrain: true,
damage_amount: 300,
explosion_type: ExplosionType::Plague,
damage_cooldown: 1,
targets_air: true,
targets_organic: false,
damage_bonus: 0,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Plague",
},
WeaponTypeData {
what_uses: UnitType::Zerg_Defiler,
max_range: 16,
targets_org_or_mech: false,
damage_type: DamageType::Independent,
tech: TechType::Consume,
targets_own: true,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Upgrade_60,
targets_terrain: false,
damage_amount: 0,
explosion_type: ExplosionType::Consume,
damage_cooldown: 1,
targets_air: true,
targets_organic: true,
damage_bonus: 0,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: true,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Consume",
},
WeaponTypeData {
what_uses: UnitType::Protoss_Probe,
max_range: 32,
targets_org_or_mech: false,
damage_type: DamageType::Normal,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Upgrade_60,
targets_terrain: false,
damage_amount: 5,
explosion_type: ExplosionType::Normal,
damage_cooldown: 22,
targets_air: false,
targets_organic: false,
damage_bonus: 0,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Particle_Beam",
},
WeaponTypeData {
what_uses: UnitType::None,
max_range: 0,
targets_org_or_mech: false,
damage_type: DamageType::None,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: false,
damage_factor: 1,
upgrade_type: UpgradeType::None,
targets_terrain: false,
damage_amount: 0,
explosion_type: ExplosionType::None,
damage_cooldown: 0,
targets_air: false,
targets_organic: false,
damage_bonus: 0,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Invalid",
},
WeaponTypeData {
what_uses: UnitType::Protoss_Zealot,
max_range: 15,
targets_org_or_mech: false,
damage_type: DamageType::Normal,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Protoss_Ground_Weapons,
targets_terrain: false,
damage_amount: 8,
explosion_type: ExplosionType::Normal,
damage_cooldown: 22,
targets_air: false,
targets_organic: false,
damage_bonus: 1,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Psi_Blades",
},
WeaponTypeData {
what_uses: UnitType::Hero_Fenix_Zealot,
max_range: 15,
targets_org_or_mech: false,
damage_type: DamageType::Normal,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Protoss_Ground_Weapons,
targets_terrain: false,
damage_amount: 20,
explosion_type: ExplosionType::Normal,
damage_cooldown: 22,
targets_air: false,
targets_organic: false,
damage_bonus: 1,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Psi_Blades_Fenix",
},
WeaponTypeData {
what_uses: UnitType::Protoss_Dragoon,
max_range: 128,
targets_org_or_mech: false,
damage_type: DamageType::Explosive,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Protoss_Ground_Weapons,
targets_terrain: false,
damage_amount: 20,
explosion_type: ExplosionType::Normal,
damage_cooldown: 30,
targets_air: true,
targets_organic: false,
damage_bonus: 2,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Phase_Disruptor",
},
WeaponTypeData {
what_uses: UnitType::Hero_Fenix_Dragoon,
max_range: 128,
targets_org_or_mech: false,
damage_type: DamageType::Explosive,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Protoss_Ground_Weapons,
targets_terrain: false,
damage_amount: 45,
explosion_type: ExplosionType::Normal,
damage_cooldown: 22,
targets_air: true,
targets_organic: false,
damage_bonus: 2,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Phase_Disruptor_Fenix",
},
WeaponTypeData {
what_uses: UnitType::None,
max_range: 0,
targets_org_or_mech: false,
damage_type: DamageType::None,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: false,
damage_factor: 1,
upgrade_type: UpgradeType::None,
targets_terrain: false,
damage_amount: 0,
explosion_type: ExplosionType::None,
damage_cooldown: 0,
targets_air: false,
targets_organic: false,
damage_bonus: 0,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Invalid",
},
WeaponTypeData {
what_uses: UnitType::Hero_Tassadar,
max_range: 96,
targets_org_or_mech: false,
damage_type: DamageType::Normal,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Protoss_Ground_Weapons,
targets_terrain: false,
damage_amount: 20,
explosion_type: ExplosionType::Normal,
damage_cooldown: 22,
targets_air: false,
targets_organic: false,
damage_bonus: 1,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Psi_Assault",
},
WeaponTypeData {
what_uses: UnitType::Protoss_Archon,
max_range: 64,
targets_org_or_mech: false,
damage_type: DamageType::Normal,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Protoss_Ground_Weapons,
targets_terrain: false,
damage_amount: 30,
explosion_type: ExplosionType::Enemy_Splash,
damage_cooldown: 20,
targets_air: true,
targets_organic: false,
damage_bonus: 3,
outer_splash_radius: 30,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 15,
inner_splash_radius: 3,
name: "Psionic_Shockwave",
},
WeaponTypeData {
what_uses: UnitType::Hero_Tassadar_Zeratul_Archon,
max_range: 64,
targets_org_or_mech: false,
damage_type: DamageType::Normal,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Protoss_Ground_Weapons,
targets_terrain: false,
damage_amount: 60,
explosion_type: ExplosionType::Enemy_Splash,
damage_cooldown: 20,
targets_air: true,
targets_organic: false,
damage_bonus: 3,
outer_splash_radius: 30,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 15,
inner_splash_radius: 3,
name: "Psionic_Shockwave_TZ_Archon",
},
WeaponTypeData {
what_uses: UnitType::None,
max_range: 0,
targets_org_or_mech: false,
damage_type: DamageType::None,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: false,
damage_factor: 1,
upgrade_type: UpgradeType::None,
targets_terrain: false,
damage_amount: 0,
explosion_type: ExplosionType::None,
damage_cooldown: 0,
targets_air: false,
targets_organic: false,
damage_bonus: 0,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Invalid",
},
WeaponTypeData {
what_uses: UnitType::Protoss_Scout,
max_range: 128,
targets_org_or_mech: false,
damage_type: DamageType::Normal,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Protoss_Air_Weapons,
targets_terrain: false,
damage_amount: 8,
explosion_type: ExplosionType::Normal,
damage_cooldown: 30,
targets_air: false,
targets_organic: false,
damage_bonus: 1,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Dual_Photon_Blasters",
},
WeaponTypeData {
what_uses: UnitType::Protoss_Scout,
max_range: 128,
targets_org_or_mech: false,
damage_type: DamageType::Explosive,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: false,
damage_factor: 2,
upgrade_type: UpgradeType::Protoss_Air_Weapons,
targets_terrain: false,
damage_amount: 14,
explosion_type: ExplosionType::Normal,
damage_cooldown: 22,
targets_air: true,
targets_organic: false,
damage_bonus: 1,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Anti_Matter_Missiles",
},
WeaponTypeData {
what_uses: UnitType::Hero_Mojo,
max_range: 128,
targets_org_or_mech: false,
damage_type: DamageType::Normal,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Protoss_Air_Weapons,
targets_terrain: false,
damage_amount: 20,
explosion_type: ExplosionType::Normal,
damage_cooldown: 30,
targets_air: false,
targets_organic: false,
damage_bonus: 1,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Dual_Photon_Blasters_Mojo",
},
WeaponTypeData {
what_uses: UnitType::Hero_Mojo,
max_range: 128,
targets_org_or_mech: false,
damage_type: DamageType::Explosive,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: false,
damage_factor: 2,
upgrade_type: UpgradeType::Protoss_Air_Weapons,
targets_terrain: false,
damage_amount: 28,
explosion_type: ExplosionType::Normal,
damage_cooldown: 22,
targets_air: true,
targets_organic: false,
damage_bonus: 1,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Anti_Matter_Missiles_Mojo",
},
WeaponTypeData {
what_uses: UnitType::Protoss_Arbiter,
max_range: 160,
targets_org_or_mech: false,
damage_type: DamageType::Explosive,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Protoss_Air_Weapons,
targets_terrain: false,
damage_amount: 10,
explosion_type: ExplosionType::Normal,
damage_cooldown: 45,
targets_air: true,
targets_organic: false,
damage_bonus: 1,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Phase_Disruptor_Cannon",
},
WeaponTypeData {
what_uses: UnitType::Hero_Danimoth,
max_range: 160,
targets_org_or_mech: false,
damage_type: DamageType::Explosive,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Protoss_Air_Weapons,
targets_terrain: false,
damage_amount: 20,
explosion_type: ExplosionType::Normal,
damage_cooldown: 45,
targets_air: true,
targets_organic: false,
damage_bonus: 1,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Phase_Disruptor_Cannon_Danimoth",
},
WeaponTypeData {
what_uses: UnitType::Protoss_Interceptor,
max_range: 128,
targets_org_or_mech: false,
damage_type: DamageType::Normal,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Protoss_Air_Weapons,
targets_terrain: false,
damage_amount: 6,
explosion_type: ExplosionType::Normal,
damage_cooldown: 1,
targets_air: true,
targets_organic: false,
damage_bonus: 1,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Pulse_Cannon",
},
WeaponTypeData {
what_uses: UnitType::Protoss_Photon_Cannon,
max_range: 224,
targets_org_or_mech: false,
damage_type: DamageType::Normal,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Upgrade_60,
targets_terrain: false,
damage_amount: 20,
explosion_type: ExplosionType::Normal,
damage_cooldown: 22,
targets_air: false,
targets_organic: false,
damage_bonus: 0,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "STS_Photon_Cannon",
},
WeaponTypeData {
what_uses: UnitType::Protoss_Photon_Cannon,
max_range: 224,
targets_org_or_mech: false,
damage_type: DamageType::Normal,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: false,
damage_factor: 1,
upgrade_type: UpgradeType::Upgrade_60,
targets_terrain: false,
damage_amount: 20,
explosion_type: ExplosionType::Normal,
damage_cooldown: 22,
targets_air: true,
targets_organic: false,
damage_bonus: 0,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "STA_Photon_Cannon",
},
WeaponTypeData {
what_uses: UnitType::Protoss_Scarab,
max_range: 128,
targets_org_or_mech: false,
damage_type: DamageType::Normal,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Scarab_Damage,
targets_terrain: false,
damage_amount: 100,
explosion_type: ExplosionType::Enemy_Splash,
damage_cooldown: 1,
targets_air: false,
targets_organic: false,
damage_bonus: 25,
outer_splash_radius: 60,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 40,
inner_splash_radius: 20,
name: "Scarab",
},
WeaponTypeData {
what_uses: UnitType::Protoss_Arbiter,
max_range: 288,
targets_org_or_mech: false,
damage_type: DamageType::Independent,
tech: TechType::Stasis_Field,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Upgrade_60,
targets_terrain: true,
damage_amount: 0,
explosion_type: ExplosionType::Stasis_Field,
damage_cooldown: 1,
targets_air: true,
targets_organic: false,
damage_bonus: 1,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Stasis_Field",
},
WeaponTypeData {
what_uses: UnitType::Protoss_High_Templar,
max_range: 288,
targets_org_or_mech: false,
damage_type: DamageType::Ignore_Armor,
tech: TechType::Psionic_Storm,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Upgrade_60,
targets_terrain: true,
damage_amount: 14,
explosion_type: ExplosionType::Radial_Splash,
damage_cooldown: 45,
targets_air: true,
targets_organic: false,
damage_bonus: 1,
outer_splash_radius: 48,
targets_non_robotic: false,
targets_non_building: true,
targets_mechanical: false,
median_splash_radius: 48,
inner_splash_radius: 48,
name: "Psionic_Storm",
},
WeaponTypeData {
what_uses: UnitType::Hero_Zeratul,
max_range: 15,
targets_org_or_mech: false,
damage_type: DamageType::Normal,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Protoss_Ground_Weapons,
targets_terrain: false,
damage_amount: 100,
explosion_type: ExplosionType::Normal,
damage_cooldown: 22,
targets_air: false,
targets_organic: false,
damage_bonus: 1,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Warp_Blades_Zeratul",
},
WeaponTypeData {
what_uses: UnitType::Hero_Dark_Templar,
max_range: 15,
targets_org_or_mech: false,
damage_type: DamageType::Normal,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Protoss_Ground_Weapons,
targets_terrain: false,
damage_amount: 45,
explosion_type: ExplosionType::Normal,
damage_cooldown: 30,
targets_air: false,
targets_organic: false,
damage_bonus: 1,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Warp_Blades_Hero",
},
WeaponTypeData {
what_uses: UnitType::None,
max_range: 0,
targets_org_or_mech: false,
damage_type: DamageType::None,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: false,
damage_factor: 1,
upgrade_type: UpgradeType::None,
targets_terrain: false,
damage_amount: 0,
explosion_type: ExplosionType::None,
damage_cooldown: 0,
targets_air: false,
targets_organic: false,
damage_bonus: 0,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Invalid",
},
WeaponTypeData {
what_uses: UnitType::None,
max_range: 0,
targets_org_or_mech: false,
damage_type: DamageType::None,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: false,
damage_factor: 1,
upgrade_type: UpgradeType::None,
targets_terrain: false,
damage_amount: 0,
explosion_type: ExplosionType::None,
damage_cooldown: 0,
targets_air: false,
targets_organic: false,
damage_bonus: 0,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Invalid",
},
WeaponTypeData {
what_uses: UnitType::None,
max_range: 0,
targets_org_or_mech: false,
damage_type: DamageType::None,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: false,
damage_factor: 1,
upgrade_type: UpgradeType::None,
targets_terrain: false,
damage_amount: 0,
explosion_type: ExplosionType::None,
damage_cooldown: 0,
targets_air: false,
targets_organic: false,
damage_bonus: 0,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Invalid",
},
WeaponTypeData {
what_uses: UnitType::None,
max_range: 0,
targets_org_or_mech: false,
damage_type: DamageType::None,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: false,
damage_factor: 1,
upgrade_type: UpgradeType::None,
targets_terrain: false,
damage_amount: 0,
explosion_type: ExplosionType::None,
damage_cooldown: 0,
targets_air: false,
targets_organic: false,
damage_bonus: 0,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Invalid",
},
WeaponTypeData {
what_uses: UnitType::None,
max_range: 0,
targets_org_or_mech: false,
damage_type: DamageType::None,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: false,
damage_factor: 1,
upgrade_type: UpgradeType::None,
targets_terrain: false,
damage_amount: 0,
explosion_type: ExplosionType::None,
damage_cooldown: 0,
targets_air: false,
targets_organic: false,
damage_bonus: 0,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Invalid",
},
WeaponTypeData {
what_uses: UnitType::None,
max_range: 224,
targets_org_or_mech: false,
damage_type: DamageType::Normal,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: false,
damage_factor: 1,
upgrade_type: UpgradeType::Upgrade_60,
targets_terrain: false,
damage_amount: 7,
explosion_type: ExplosionType::Normal,
damage_cooldown: 22,
targets_air: true,
targets_organic: false,
damage_bonus: 1,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Platform_Laser_Battery",
},
WeaponTypeData {
what_uses: UnitType::Special_Independant_Starport,
max_range: 128,
targets_org_or_mech: false,
damage_type: DamageType::Normal,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: false,
damage_factor: 1,
upgrade_type: UpgradeType::Upgrade_60,
targets_terrain: false,
damage_amount: 7,
explosion_type: ExplosionType::Normal,
damage_cooldown: 22,
targets_air: true,
targets_organic: false,
damage_bonus: 1,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Independant_Laser_Battery",
},
WeaponTypeData {
what_uses: UnitType::None,
max_range: 0,
targets_org_or_mech: false,
damage_type: DamageType::None,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: false,
damage_factor: 1,
upgrade_type: UpgradeType::None,
targets_terrain: false,
damage_amount: 0,
explosion_type: ExplosionType::None,
damage_cooldown: 0,
targets_air: false,
targets_organic: false,
damage_bonus: 0,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Invalid",
},
WeaponTypeData {
what_uses: UnitType::None,
max_range: 0,
targets_org_or_mech: false,
damage_type: DamageType::None,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: false,
damage_factor: 1,
upgrade_type: UpgradeType::None,
targets_terrain: false,
damage_amount: 0,
explosion_type: ExplosionType::None,
damage_cooldown: 0,
targets_air: false,
targets_organic: false,
damage_bonus: 0,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Invalid",
},
WeaponTypeData {
what_uses: UnitType::Special_Floor_Gun_Trap,
max_range: 160,
targets_org_or_mech: false,
damage_type: DamageType::Normal,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Terran_Vehicle_Weapons,
targets_terrain: false,
damage_amount: 10,
explosion_type: ExplosionType::Normal,
damage_cooldown: 22,
targets_air: false,
targets_organic: false,
damage_bonus: 1,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Twin_Autocannons_Floor_Trap",
},
WeaponTypeData {
what_uses: UnitType::Special_Wall_Missile_Trap,
max_range: 160,
targets_org_or_mech: false,
damage_type: DamageType::Explosive,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 2,
upgrade_type: UpgradeType::Terran_Vehicle_Weapons,
targets_terrain: false,
damage_amount: 10,
explosion_type: ExplosionType::Normal,
damage_cooldown: 22,
targets_air: false,
targets_organic: false,
damage_bonus: 1,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Hellfire_Missile_Pack_Wall_Trap",
},
WeaponTypeData {
what_uses: UnitType::Special_Wall_Flame_Trap,
max_range: 64,
targets_org_or_mech: false,
damage_type: DamageType::Concussive,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Terran_Infantry_Weapons,
targets_terrain: false,
damage_amount: 8,
explosion_type: ExplosionType::Enemy_Splash,
damage_cooldown: 22,
targets_air: false,
targets_organic: false,
damage_bonus: 1,
outer_splash_radius: 25,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 20,
inner_splash_radius: 15,
name: "Flame_Thrower_Wall_Trap",
},
WeaponTypeData {
what_uses: UnitType::Special_Floor_Missile_Trap,
max_range: 160,
targets_org_or_mech: false,
damage_type: DamageType::Explosive,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 2,
upgrade_type: UpgradeType::Terran_Vehicle_Weapons,
targets_terrain: false,
damage_amount: 10,
explosion_type: ExplosionType::Normal,
damage_cooldown: 22,
targets_air: false,
targets_organic: false,
damage_bonus: 1,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Hellfire_Missile_Pack_Floor_Trap",
},
WeaponTypeData {
what_uses: UnitType::Protoss_Corsair,
max_range: 160,
targets_org_or_mech: false,
damage_type: DamageType::Explosive,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: false,
damage_factor: 1,
upgrade_type: UpgradeType::Protoss_Air_Weapons,
targets_terrain: false,
damage_amount: 5,
explosion_type: ExplosionType::Air_Splash,
damage_cooldown: 8,
targets_air: true,
targets_organic: false,
damage_bonus: 1,
outer_splash_radius: 100,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 50,
inner_splash_radius: 5,
name: "Neutron_Flare",
},
WeaponTypeData {
what_uses: UnitType::Protoss_Corsair,
max_range: 288,
targets_org_or_mech: false,
damage_type: DamageType::Ignore_Armor,
tech: TechType::Disruption_Web,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Upgrade_60,
targets_terrain: false,
damage_amount: 0,
explosion_type: ExplosionType::Disruption_Web,
damage_cooldown: 22,
targets_air: false,
targets_organic: false,
damage_bonus: 0,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Disruption_Web",
},
WeaponTypeData {
what_uses: UnitType::Terran_Medic,
max_range: 192,
targets_org_or_mech: false,
damage_type: DamageType::Ignore_Armor,
tech: TechType::Restoration,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Upgrade_60,
targets_terrain: true,
damage_amount: 20,
explosion_type: ExplosionType::Restoration,
damage_cooldown: 22,
targets_air: true,
targets_organic: false,
damage_bonus: 0,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Restoration",
},
WeaponTypeData {
what_uses: UnitType::Terran_Valkyrie,
max_range: 192,
targets_org_or_mech: false,
damage_type: DamageType::Explosive,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: false,
damage_factor: 2,
upgrade_type: UpgradeType::Terran_Ship_Weapons,
targets_terrain: false,
damage_amount: 6,
explosion_type: ExplosionType::Air_Splash,
damage_cooldown: 64,
targets_air: true,
targets_organic: false,
damage_bonus: 1,
outer_splash_radius: 100,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 50,
inner_splash_radius: 5,
name: "Halo_Rockets",
},
WeaponTypeData {
what_uses: UnitType::Zerg_Devourer,
max_range: 192,
targets_org_or_mech: false,
damage_type: DamageType::Explosive,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: false,
damage_factor: 1,
upgrade_type: UpgradeType::Zerg_Flyer_Attacks,
targets_terrain: false,
damage_amount: 25,
explosion_type: ExplosionType::Corrosive_Acid,
damage_cooldown: 100,
targets_air: true,
targets_organic: false,
damage_bonus: 2,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Corrosive_Acid",
},
WeaponTypeData {
what_uses: UnitType::Protoss_Dark_Archon,
max_range: 256,
targets_org_or_mech: false,
damage_type: DamageType::Normal,
tech: TechType::Mind_Control,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Upgrade_60,
targets_terrain: true,
damage_amount: 8,
explosion_type: ExplosionType::Mind_Control,
damage_cooldown: 22,
targets_air: true,
targets_organic: false,
damage_bonus: 1,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Mind_Control",
},
WeaponTypeData {
what_uses: UnitType::Protoss_Dark_Archon,
max_range: 320,
targets_org_or_mech: false,
damage_type: DamageType::Ignore_Armor,
tech: TechType::Feedback,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Upgrade_60,
targets_terrain: true,
damage_amount: 8,
explosion_type: ExplosionType::Feedback,
damage_cooldown: 22,
targets_air: true,
targets_organic: false,
damage_bonus: 1,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Feedback",
},
WeaponTypeData {
what_uses: UnitType::Terran_Medic,
max_range: 288,
targets_org_or_mech: false,
damage_type: DamageType::Independent,
tech: TechType::Optical_Flare,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Upgrade_60,
targets_terrain: false,
damage_amount: 8,
explosion_type: ExplosionType::Optical_Flare,
damage_cooldown: 22,
targets_air: false,
targets_organic: false,
damage_bonus: 1,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Optical_Flare",
},
WeaponTypeData {
what_uses: UnitType::Protoss_Dark_Archon,
max_range: 320,
targets_org_or_mech: false,
damage_type: DamageType::Independent,
tech: TechType::Maelstrom,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Upgrade_60,
targets_terrain: true,
damage_amount: 0,
explosion_type: ExplosionType::Maelstrom,
damage_cooldown: 1,
targets_air: true,
targets_organic: false,
damage_bonus: 1,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Maelstrom",
},
WeaponTypeData {
what_uses: UnitType::Zerg_Lurker,
max_range: 192,
targets_org_or_mech: false,
damage_type: DamageType::Normal,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Zerg_Missile_Attacks,
targets_terrain: false,
damage_amount: 20,
explosion_type: ExplosionType::Enemy_Splash,
damage_cooldown: 37,
targets_air: false,
targets_organic: false,
damage_bonus: 2,
outer_splash_radius: 20,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 20,
inner_splash_radius: 20,
name: "Subterranean_Spines",
},
WeaponTypeData {
what_uses: UnitType::None,
max_range: 0,
targets_org_or_mech: false,
damage_type: DamageType::None,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: false,
damage_factor: 1,
upgrade_type: UpgradeType::None,
targets_terrain: false,
damage_amount: 0,
explosion_type: ExplosionType::None,
damage_cooldown: 0,
targets_air: false,
targets_organic: false,
damage_bonus: 0,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Invalid",
},
WeaponTypeData {
what_uses: UnitType::Protoss_Dark_Templar,
max_range: 15,
targets_org_or_mech: false,
damage_type: DamageType::Normal,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Protoss_Ground_Weapons,
targets_terrain: false,
damage_amount: 40,
explosion_type: ExplosionType::Normal,
damage_cooldown: 30,
targets_air: false,
targets_organic: false,
damage_bonus: 3,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Warp_Blades",
},
WeaponTypeData {
what_uses: UnitType::Hero_Samir_Duran,
max_range: 192,
targets_org_or_mech: false,
damage_type: DamageType::Concussive,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Terran_Infantry_Weapons,
targets_terrain: false,
damage_amount: 25,
explosion_type: ExplosionType::Normal,
damage_cooldown: 22,
targets_air: true,
targets_organic: false,
damage_bonus: 1,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "C_10_Canister_Rifle_Samir_Duran",
},
WeaponTypeData {
what_uses: UnitType::Hero_Infested_Duran,
max_range: 192,
targets_org_or_mech: false,
damage_type: DamageType::Concussive,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Terran_Infantry_Weapons,
targets_terrain: false,
damage_amount: 25,
explosion_type: ExplosionType::Normal,
damage_cooldown: 22,
targets_air: true,
targets_organic: false,
damage_bonus: 1,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "C_10_Canister_Rifle_Infested_Duran",
},
WeaponTypeData {
what_uses: UnitType::Hero_Artanis,
max_range: 128,
targets_org_or_mech: false,
damage_type: DamageType::Normal,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Protoss_Air_Weapons,
targets_terrain: false,
damage_amount: 20,
explosion_type: ExplosionType::Normal,
damage_cooldown: 30,
targets_air: false,
targets_organic: false,
damage_bonus: 1,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Dual_Photon_Blasters_Artanis",
},
WeaponTypeData {
what_uses: UnitType::Hero_Artanis,
max_range: 128,
targets_org_or_mech: false,
damage_type: DamageType::Explosive,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: false,
damage_factor: 2,
upgrade_type: UpgradeType::Protoss_Air_Weapons,
targets_terrain: false,
damage_amount: 28,
explosion_type: ExplosionType::Normal,
damage_cooldown: 22,
targets_air: true,
targets_organic: false,
damage_bonus: 1,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Anti_Matter_Missiles_Artanis",
},
WeaponTypeData {
what_uses: UnitType::Hero_Alexei_Stukov,
max_range: 192,
targets_org_or_mech: false,
damage_type: DamageType::Concussive,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: true,
damage_factor: 1,
upgrade_type: UpgradeType::Terran_Infantry_Weapons,
targets_terrain: false,
damage_amount: 30,
explosion_type: ExplosionType::Normal,
damage_cooldown: 22,
targets_air: true,
targets_organic: false,
damage_bonus: 1,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "C_10_Canister_Rifle_Alexei_Stukov",
},
WeaponTypeData {
what_uses: UnitType::None,
max_range: 0,
targets_org_or_mech: false,
damage_type: DamageType::None,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: false,
damage_factor: 1,
upgrade_type: UpgradeType::None,
targets_terrain: false,
damage_amount: 0,
explosion_type: ExplosionType::None,
damage_cooldown: 0,
targets_air: false,
targets_organic: false,
damage_bonus: 0,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Invalid",
},
WeaponTypeData {
what_uses: UnitType::None,
max_range: 0,
targets_org_or_mech: false,
damage_type: DamageType::None,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: false,
damage_factor: 1,
upgrade_type: UpgradeType::None,
targets_terrain: false,
damage_amount: 0,
explosion_type: ExplosionType::None,
damage_cooldown: 0,
targets_air: false,
targets_organic: false,
damage_bonus: 0,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Invalid",
},
WeaponTypeData {
what_uses: UnitType::None,
max_range: 0,
targets_org_or_mech: false,
damage_type: DamageType::None,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: false,
damage_factor: 1,
upgrade_type: UpgradeType::None,
targets_terrain: false,
damage_amount: 0,
explosion_type: ExplosionType::None,
damage_cooldown: 0,
targets_air: false,
targets_organic: false,
damage_bonus: 0,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Invalid",
},
WeaponTypeData {
what_uses: UnitType::None,
max_range: 0,
targets_org_or_mech: false,
damage_type: DamageType::None,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: false,
damage_factor: 1,
upgrade_type: UpgradeType::None,
targets_terrain: false,
damage_amount: 0,
explosion_type: ExplosionType::None,
damage_cooldown: 0,
targets_air: false,
targets_organic: false,
damage_bonus: 0,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Invalid",
},
WeaponTypeData {
what_uses: UnitType::None,
max_range: 0,
targets_org_or_mech: false,
damage_type: DamageType::None,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: false,
damage_factor: 1,
upgrade_type: UpgradeType::None,
targets_terrain: false,
damage_amount: 0,
explosion_type: ExplosionType::None,
damage_cooldown: 0,
targets_air: false,
targets_organic: false,
damage_bonus: 0,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Invalid",
},
WeaponTypeData {
what_uses: UnitType::None,
max_range: 0,
targets_org_or_mech: false,
damage_type: DamageType::None,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: false,
damage_factor: 1,
upgrade_type: UpgradeType::None,
targets_terrain: false,
damage_amount: 0,
explosion_type: ExplosionType::None,
damage_cooldown: 0,
targets_air: false,
targets_organic: false,
damage_bonus: 0,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Invalid",
},
WeaponTypeData {
what_uses: UnitType::None,
max_range: 0,
targets_org_or_mech: false,
damage_type: DamageType::None,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: false,
damage_factor: 1,
upgrade_type: UpgradeType::None,
targets_terrain: false,
damage_amount: 0,
explosion_type: ExplosionType::None,
damage_cooldown: 0,
targets_air: false,
targets_organic: false,
damage_bonus: 0,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Invalid",
},
WeaponTypeData {
what_uses: UnitType::None,
max_range: 0,
targets_org_or_mech: false,
damage_type: DamageType::None,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: false,
damage_factor: 1,
upgrade_type: UpgradeType::None,
targets_terrain: false,
damage_amount: 0,
explosion_type: ExplosionType::None,
damage_cooldown: 0,
targets_air: false,
targets_organic: false,
damage_bonus: 0,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Invalid",
},
WeaponTypeData {
what_uses: UnitType::None,
max_range: 0,
targets_org_or_mech: false,
damage_type: DamageType::None,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: false,
damage_factor: 1,
upgrade_type: UpgradeType::None,
targets_terrain: false,
damage_amount: 0,
explosion_type: ExplosionType::None,
damage_cooldown: 0,
targets_air: false,
targets_organic: false,
damage_bonus: 0,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Invalid",
},
WeaponTypeData {
what_uses: UnitType::None,
max_range: 0,
targets_org_or_mech: false,
damage_type: DamageType::None,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: false,
damage_factor: 1,
upgrade_type: UpgradeType::None,
targets_terrain: false,
damage_amount: 0,
explosion_type: ExplosionType::None,
damage_cooldown: 0,
targets_air: false,
targets_organic: false,
damage_bonus: 0,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Invalid",
},
WeaponTypeData {
what_uses: UnitType::None,
max_range: 0,
targets_org_or_mech: false,
damage_type: DamageType::None,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: false,
damage_factor: 1,
upgrade_type: UpgradeType::None,
targets_terrain: false,
damage_amount: 0,
explosion_type: ExplosionType::None,
damage_cooldown: 0,
targets_air: false,
targets_organic: false,
damage_bonus: 0,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Invalid",
},
WeaponTypeData {
what_uses: UnitType::None,
max_range: 0,
targets_org_or_mech: false,
damage_type: DamageType::None,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: false,
damage_factor: 1,
upgrade_type: UpgradeType::None,
targets_terrain: false,
damage_amount: 0,
explosion_type: ExplosionType::None,
damage_cooldown: 0,
targets_air: false,
targets_organic: false,
damage_bonus: 0,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Invalid",
},
WeaponTypeData {
what_uses: UnitType::None,
max_range: 0,
targets_org_or_mech: false,
damage_type: DamageType::None,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: false,
damage_factor: 1,
upgrade_type: UpgradeType::None,
targets_terrain: false,
damage_amount: 0,
explosion_type: ExplosionType::None,
damage_cooldown: 0,
targets_air: false,
targets_organic: false,
damage_bonus: 0,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Invalid",
},
WeaponTypeData {
what_uses: UnitType::None,
max_range: 0,
targets_org_or_mech: false,
damage_type: DamageType::None,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: false,
damage_factor: 0,
upgrade_type: UpgradeType::None,
targets_terrain: false,
damage_amount: 0,
explosion_type: ExplosionType::None,
damage_cooldown: 0,
targets_air: false,
targets_organic: false,
damage_bonus: 0,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "None",
},
WeaponTypeData {
what_uses: UnitType::Unknown,
max_range: 0,
targets_org_or_mech: false,
damage_type: DamageType::Unknown,
tech: TechType::None,
targets_own: false,
min_range: 0,
targets_ground: false,
damage_factor: 0,
upgrade_type: UpgradeType::Unknown,
targets_terrain: false,
damage_amount: 0,
explosion_type: ExplosionType::Unknown,
damage_cooldown: 0,
targets_air: false,
targets_organic: false,
damage_bonus: 0,
outer_splash_radius: 0,
targets_non_robotic: false,
targets_non_building: false,
targets_mechanical: false,
median_splash_radius: 0,
inner_splash_radius: 0,
name: "Unknown",
},
];
impl WeaponType {
fn d(&self) -> &WeaponTypeData {
&WEAPON_TYPE_DATA[*self as usize]
}
pub fn what_uses(&self) -> UnitType {
self.d().what_uses
}
pub fn max_range(&self) -> i32 {
self.d().max_range
}
pub fn targets_org_or_mech(&self) -> bool {
self.d().targets_org_or_mech
}
pub fn damage_type(&self) -> DamageType {
self.d().damage_type
}
pub fn get_tech(&self) -> TechType {
self.d().tech
}
pub fn targets_own(&self) -> bool {
self.d().targets_own
}
pub fn min_range(&self) -> i32 {
self.d().min_range
}
pub fn targets_ground(&self) -> bool {
self.d().targets_ground
}
pub fn damage_factor(&self) -> i32 {
self.d().damage_factor
}
pub fn upgrade_type(&self) -> UpgradeType {
self.d().upgrade_type
}
pub fn targets_terrain(&self) -> bool {
self.d().targets_terrain
}
pub fn damage_amount(&self) -> i32 {
self.d().damage_amount
}
pub fn explosion_type(&self) -> ExplosionType {
self.d().explosion_type
}
pub fn damage_cooldown(&self) -> i32 {
self.d().damage_cooldown
}
pub fn targets_air(&self) -> bool {
self.d().targets_air
}
pub fn targets_organic(&self) -> bool {
self.d().targets_organic
}
pub fn damage_bonus(&self) -> i32 {
self.d().damage_bonus
}
pub fn outer_splash_radius(&self) -> i32 {
self.d().outer_splash_radius
}
pub fn targets_non_robotic(&self) -> bool {
self.d().targets_non_robotic
}
pub fn targets_non_building(&self) -> bool {
self.d().targets_non_building
}
pub fn targets_mechanical(&self) -> bool {
self.d().targets_mechanical
}
pub fn median_splash_radius(&self) -> i32 {
self.d().median_splash_radius
}
pub fn inner_splash_radius(&self) -> i32 {
self.d().inner_splash_radius
}
pub fn name(&self) -> &'static str {
self.d().name
}
}
#[cfg(test)]
mod test {
use super::*;
#[test]
fn verify_weapon_types() {
assert_eq!(WEAPON_TYPE_DATA[59].name, "Dark_Swarm");
assert_eq!(WEAPON_TYPE_DATA[71].name, "Psionic_Shockwave_TZ_Archon");
assert_eq!(WEAPON_TYPE_DATA[76].name, "Anti_Matter_Missiles_Mojo");
assert_eq!(WEAPON_TYPE_DATA[83].name, "Stasis_Field");
assert_eq!(WEAPON_TYPE_DATA[130].name, "None");
}
}