ZSGG Public Library
Ironwing
Protectorate T2 Army Unit
import { ProtectorateArmyUnit } from "../../../../defaults/protectorate.js";
import { Attack, Spell, Upgrade } from "../../../../engine/ability.js";
export class Ironwing extends ProtectorateArmyUnit {
override uuid: string;
static override src = "src/zerospace/faction/protectorate/unit/ironwing.ts";
override get infuseCost(): number | undefined {
return 4;
}
constructor() {
super();
this.hexiteCost = 75;
this.fluxCost = 100;
this.buildTime = 60;
this.name = "Ironwing";
this.tier = "T2";
this.supply = 5;
this.domain = "air";
this.uuid = "d5cfcac4-2d5e-44b5-9728-a9a36038f57b";
this.internalId = "Troop_Prot_Gunship_C";
this.internalPath = "/Game/Nova/Archetypes_Troops/Troop_Prot_Gunship.Default__Troop_Prot_Gunship_C";
this.internalTags = ["Attackable.Unit.Troop", "Attackable.FlyingUnit", "Attackable.ArmorType.Medium"];
this.internalSecondaryTags = ["Air"];
this.hp = 175;
this.armor = 0;
this.armorType = "light";
this.speed = 650;
this.vision = 1800;
this.turnSpeed = 2000;
this.description = "Combat aircraft.";
this.attacks.vx9RepeaterCannon = new Attack({
name: "VX-9 Repeater Cannon",
damage: 10,
cooldown: 1,
armorPenetration: 0,
delay: 0,
range: 1000,
targets: ["ground", "air"],
bonusDamage: [{ multiplier: 2.0, vs: ["unit:harvester"] }],
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",
description: "Unlocks the Sunder Missile ability",
tier: "T2.5",
fluxCost: 100,
researchTime: 40,
apply: () => {
this.spells.sunderMissile!.unlocked = true;
},
parentId: this.id,
parentUUID: this.uuid,
});
this.upgrades.thrustBoosters = new Upgrade({
name: "Thrust Boosters",
description: "+30% movement speed",
tier: "T3.5",
fluxCost: 150,
researchTime: 60,
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"];
}
}
export default Ironwing;