// namespace Model; public static class Units { public static readonly UnitData CorsairRaiders = new( Id: "CorsairRaiders", Name: "Corsair Raiders", Hexite: 58, Flux: 0, Supply: 2, ProductionTime: 30, Health: 175, Energy: 0, Shields: 0, ArmorRating: 0, MovementSpeed: 650, DamagePerSecond: 8, AttackRange: 8, Attributes: ["Light Armor", "Biological"], Tier: 1, Faction: "Corsair", Hotkey: "Z", BuildAtSameTime: 3, Limit: null); public static readonly UnitData CorsairRovers = new( Id: "CorsairRovers", Name: "Corsair Rovers", Hexite: 100, Flux: 25, Supply: 3, ProductionTime: 35, Health: 320, Energy: 0, Shields: 0, ArmorRating: 0, MovementSpeed: 750, DamagePerSecond: 17, AttackRange: 7, Attributes: ["Light Armor"], Tier: 1, Faction: "Corsair", Hotkey: "X", BuildAtSameTime: 2, Limit: null); public static readonly UnitData CorsairSnipers = new( Id: "CorsairSnipers", Name: "Corsair Snipers", Hexite: 38, Flux: 100, Supply: 4, ProductionTime: 30, Health: 100, Energy: 0, Shields: 100, ArmorRating: 0, MovementSpeed: 425, DamagePerSecond: 14, AttackRange: 20, Attributes: ["Light Armor", "Biological", "Bonus Damage vs Light Armor"], Tier: 1, Faction: "Corsair", Hotkey: "C", BuildAtSameTime: 2, Limit: null); public static readonly UnitData CorsairHovercraft = new( Id: "CorsairHovercraft", Name: "Corsair Hovercraft", Hexite: 100, Flux: 62, Supply: 4, ProductionTime: 20, Health: 375, Energy: 0, Shields: 0, ArmorRating: 0, MovementSpeed: 550, DamagePerSecond: 20, AttackRange: 9, Attributes: ["Medium Armor"], Tier: 2, Faction: "Corsair", Hotkey: null, BuildAtSameTime: 2, Limit: null); public static readonly UnitData CorsairFlamer = new( Id: "CorsairFlamer", Name: "Corsair Flamer", Hexite: 100, Flux: 200, Supply: 6, ProductionTime: 35, Health: 1000, Energy: 0, Shields: 0, ArmorRating: 2, MovementSpeed: 450, DamagePerSecond: 64, AttackRange: 4, Attributes: ["Heavy Armor", "Bonus Damage vs Light Armor", "Respawns for free after death"], Tier: 3, Faction: "Corsair", Hotkey: "V", BuildAtSameTime: 1, Limit: null); public static readonly UnitData Gatherer = new( Id: "Gatherer", Name: "Gatherer", Hexite: 100, Flux: 0, Supply: 0, ProductionTime: 18, Health: 275, Energy: 0, Shields: 0, ArmorRating: 0, MovementSpeed: 510, DamagePerSecond: 0, AttackRange: 0, Attributes: ["Biological", "Respawns for free after death"], Tier: 0, Faction: "Grell", Hotkey: "H", BuildAtSameTime: 1, Limit: 5); public static readonly UnitData BroodGuard = new( Id: "BroodGuard", Name: "Brood Guard", Hexite: 125, Flux: 0, Supply: 3, ProductionTime: 33, Health: 250, Energy: 0, Shields: 0, ArmorRating: 0, MovementSpeed: 550, DamagePerSecond: 15, AttackRange: 1, Attributes: ["Medium Armor", "Biological"], Tier: 1, Faction: "Grell", Hotkey: "G", BuildAtSameTime: 1, Limit: null); public static readonly UnitData Lasher = new( Id: "Lasher", Name: "Lasher", Hexite: 50, Flux: 25, Supply: 2, ProductionTime: 26, Health: 150, Energy: 0, Shields: 0, ArmorRating: 0, MovementSpeed: 550, DamagePerSecond: 14, AttackRange: 8, Attributes: ["Light Armor", "Biological", "Bonus Damage vs Medium Armor"], Tier: 1, Faction: "Grell", Hotkey: "R", BuildAtSameTime: 1, Limit: null); public static readonly UnitData Skrell = new( Id: "Skrell", Name: "Skrell", Hexite: 12, Flux: 19, Supply: 1, ProductionTime: 35, Health: 50, Energy: 0, Shields: 0, ArmorRating: 0, MovementSpeed: 900, DamagePerSecond: 5, AttackRange: 2, Attributes: ["Air unit", "Light Armor", "Biological", "Bonus Damage vs Air"], Tier: 1, Faction: "Grell", Hotkey: "T", BuildAtSameTime: 4, Limit: null); public static readonly UnitData Stinger = new( Id: "Stinger", Name: "Stinger", Hexite: 25, Flux: 0, Supply: 1, ProductionTime: 39, Health: 90, Energy: 0, Shields: 0, ArmorRating: 0, MovementSpeed: 700, DamagePerSecond: 9, AttackRange: 1, Attributes: ["Light Armor", "Biological"], Tier: 1, Faction: "Grell", Hotkey: "Q", BuildAtSameTime: 3, Limit: null); public static readonly UnitData Harbinger = new( Id: "Harbinger", Name: "Harbinger", Hexite: 75, Flux: 50, Supply: 4, ProductionTime: 35, Health: 400, Energy: 0, Shields: 0, ArmorRating: 1, MovementSpeed: 475, DamagePerSecond: 14, AttackRange: 6, Attributes: ["Biological", "Medium Armor", "Bonus Damage vs Heavy Armor"], Tier: 2, Faction: "Grell", Hotkey: "W", BuildAtSameTime: 1, Limit: null); public static readonly UnitData Mandragora = new( Id: "Mandragora", Name: "Mandragora", Hexite: 125, Flux: 25, Supply: 4, ProductionTime: 48, Health: 450, Energy: 0, Shields: 0, ArmorRating: 1, MovementSpeed: 550, DamagePerSecond: 22, AttackRange: 4, Attributes: ["Medium Armor", "Biological"], Tier: 2, Faction: "Grell", Hotkey: "F", BuildAtSameTime: 1, Limit: null); public static readonly UnitData Thresher = new( Id: "Thresher", Name: "Thresher", Hexite: 100, Flux: 175, Supply: 8, ProductionTime: 65, Health: 300, Energy: 0, Shields: 0, ArmorRating: 0, MovementSpeed: 450, DamagePerSecond: 36, AttackRange: 27, Attributes: ["Biological", "Heavy Armor", "Bonus Damage vs Buildings"], Tier: 2, Faction: "Grell", Hotkey: "S", BuildAtSameTime: 1, Limit: null); public static readonly UnitData Behemoth = new( Id: "Behemoth", Name: "Behemoth", Hexite: 100, Flux: 200, Supply: 8, ProductionTime: 80, Health: 625, Energy: 5, Shields: 0, ArmorRating: 1, MovementSpeed: 500, DamagePerSecond: 15, AttackRange: 12, Attributes: ["Air unit", "Regains Energy From Attacking", "Biological", "Heavy Armor", "Bonus Damage vs Heavy Armor"], Tier: 3, Faction: "Grell", Hotkey: "D", BuildAtSameTime: 1, Limit: null); public static readonly UnitData Reaver = new( Id: "Reaver", Name: "Reaver", Hexite: 200, Flux: 100, Supply: 8, ProductionTime: 80, Health: 900, Energy: 15, Shields: 0, ArmorRating: 3, MovementSpeed: 525, DamagePerSecond: 51, AttackRange: 2, Attributes: ["Regains Energy From Attacking", "Biological", "Heavy Armor"], Tier: 3, Faction: "Grell", Hotkey: "A", BuildAtSameTime: 1, Limit: null); public static readonly UnitData Weaver = new( Id: "Weaver", Name: "Weaver", Hexite: 75, Flux: 175, Supply: 4, ProductionTime: 40, Health: 200, Energy: 80, Shields: 0, ArmorRating: 0, MovementSpeed: 650, DamagePerSecond: 10, AttackRange: 12, Attributes: ["Medium Armor", "Biological", "Bonus Damage vs Air"], Tier: 3, Faction: "Grell", Hotkey: "E", BuildAtSameTime: 1, Limit: null); public static IReadOnlyList All { get; } = [ CorsairRaiders, CorsairRovers, CorsairSnipers, CorsairHovercraft, CorsairFlamer, Gatherer, BroodGuard, Lasher, Skrell, Stinger, Harbinger, Mandragora, Thresher, Behemoth, Reaver, Weaver, ]; }