ZeroSpace.gg

Ironwing

Protectorate Co-Op T2 Army Unit

import { ArmyUnit } from "../../../../../engine/unit.js"; import { Attack, Spell, Upgrade } from "../../../../../engine/ability.js"; export class CoopIronwing extends ArmyUnit { static override src = "src/zerospace/coop/commander/aster/unit/coop-aster-ironwing.ts"; constructor() { super(); this.faction = "protectorate"; this.factionName = "Protectorate"; this.hexiteCost = 75; this.fluxCost = 100; this.buildTime = 50; this.name = "Ironwing"; this.tier = "T2"; this.supply = 5; this.domain = "air"; this.uuid = "b8480f1c-93d0-4919-ad9d-6e8d451891e4"; this.internalId = "Troop_Prot_Ironwing_C"; this.internalPath = "/Game/Nova/Archetypes_Troops/Troop_Prot_Ironwing.Default__Troop_Prot_Ironwing_C"; this.internalTags = ["Attackable.Unit.Troop", "Attackable.FlyingUnit", "Attackable.ArmorType.Medium"]; this.internalSecondaryTags = ["Air"]; this.hp = 175; this.armor = 0; this.armorType = "medium"; this.speed = 650; this.vision = 1800; this.turnSpeed = 2000; this.description = "Combat aircraft."; this.attacks.aKUTA40mmAutocannons = new Attack({ internalId: "Default__Prot_Gun_Ship_Test_C", name: "AKUTA 40mm Autocannons", damage: 11, volleys: 2, cooldown: 1, armorPenetration: 0, delay: 0, range: 1000, targets: ["ground", "air"], bonusDamage: [{ multiplier: 1.5, vs: ["armor:medium"] }], parentId: this.id, parentUUID: this.uuid, }); this.spells.sunderMissile = new Spell({ name: "Sunder Missile", description: "Launch a rocket that deals 25 area damage, reduces armor by 2, and slows enemies hit by -50% for 4 seconds.", damage: 25, range: 200, unlocked: false, parentId: this.id, parentUUID: this.uuid, }); this.upgrades.sunderMissile = new Upgrade({ name: "Sunder Missile", unlockedBy: ["faction/protectorate/building/mechanical-research-lab"], description: "Unlocks the Sunder Missile ability", tier: "T1", position: "A", fluxCost: 125, researchTime: 50, apply: () => { this.spells.sunderMissile!.unlocked = true; }, parentId: this.id, parentUUID: this.uuid, }); this.upgrades.thrustBoosters = new Upgrade({ name: "Thrust Boosters", unlockedBy: ["faction/protectorate/building/mechanical-research-lab"], description: "+200 movement speed", tier: "T1", position: "B", fluxCost: 125, researchTime: 50, apply: () => { this.speed! += 200; }, parentId: this.id, parentUUID: this.uuid, }); this.createdBy = ["faction/protectorate/building/skydock"]; this.upgradedBy = ["faction/protectorate/building/mechanical-research-lab"]; this.unlockedBy = ["faction/protectorate/building/skydock"]; // 50 more flux than the PvP Ironwing. this.fluxCost = 150; this.hp = 300; this.speed = 575; this.internalId = undefined; this.internalPath = undefined; this.setVariantUUID("coop-aster"); delete this.upgrades.thrustBoosters; this.upgrades.reinforcedMatrix = new Upgrade({ name: "Reinforced Matrix", description: "Adds 200 shields that regenerate outside combat.", tier: "T1", position: "A", fluxCost: 100, researchTime: 50, parentId: this.id, parentUUID: this.uuid, uuid: "e09663d3-a811-4c5f-9c15-9dabf6bbc69f", }); this.upgrades.bonusAttackRange = new Upgrade({ name: "Marious Laser Targeting", description: "+3 attack range", tier: "T1", position: "B", fluxCost: 100, researchTime: 50, parentId: this.id, parentUUID: this.uuid, uuid: "7b74b88d-7809-4834-8e80-297b207ff325", }); this.upgrades.sunderMissile.tier = "T2"; this.upgrades.sunderMissile.position = "A"; this.upgrades.sunderMissile.description = "Adds an AoE missile that deals 50 damage, reduces armor by 3, and slows by 50% for 4 seconds. 15-second cooldown."; this.unlockedBy = ["coop/commander/aster/building/coop-aster-assembly-plant"]; this.createdBy = ["coop/commander/aster/building/coop-aster-assembly-plant"]; this.upgradedBy = ["coop/commander/aster/building/coop-aster-mechanical-research-lab"]; this.upgrades.sunderMissile.fluxCost = 150; this.upgrades.sunderMissile.researchTime = 60; } } export default CoopIronwing;