UNPKG

@zerospacegg/iolin

Version:

Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)

95 lines 3.61 kB
/** * Ironwing - Protectorate air superiority fighter * Fast attack aircraft designed for air-to-air combat and reconnaissance operations */ import { ProtectorateArmyUnit } from "../../../../defaults/protectorate.js"; import { Attack, Spell, Upgrade } from "../../../../engine/ability.js"; export class Ironwing extends ProtectorateArmyUnit { get infuseCost() { return 4; } constructor() { super(); // Auto-generated fixes from dev data comparison this.hexiteCost = 75; this.fluxCost = 100; this.buildTime = 45; this.name = "Ironwing"; this.tier = "T2"; this.supply = 5; this.domain = "air"; this.uuid = "d5cfcac4-2d5e-44b5-9728-a9a36038f57b"; // Internal game engine data 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 = 300; this.armor = 0; this.armorType = "light"; this.speed = 575; this.vision = 1800; this.turnSpeed = 10000; this.description = "Light combat aircraft. Attacks ground and air units."; this.attacks.gatlingGun = new Attack({ name: "Gatling Gun", damage: 20, cooldown: 1, cooldownBetweenShots: 0.2, armorPenetration: 0, delay: 0, range: 1000, targets: ["ground", "air"], bonusDamage: [{ multiplier: 2.0, vs: ["unit:harvester"] }], parentId: this.id, parentUUID: this.uuid, }); this.spells.antiArmorMissile = new Spell({ name: "Anti-Armor Missile", description: "Shreds 2 armor and deals flat 25 damage (no negative armor). Slows targets by 50% for 4 seconds", damage: 25, range: 200, unlocked: false, parentId: this.id, parentUUID: this.uuid, }); this.upgrades.antiArmorMissile = new Upgrade({ name: "Anti-Armor Missile", description: "Unlocks the Anti-Armor Missile ability", tier: "T2.5", fluxCost: 100, researchTime: 40, apply: () => { this.spells.antiArmorMissile.unlocked = true; }, parentId: this.id, parentUUID: this.uuid, }); this.upgrades.bonusShield = new Upgrade({ name: "Bonus Shield", description: "Gain +125 shields", tier: "T2.5", fluxCost: 100, researchTime: 50, parentId: this.id, parentUUID: this.uuid, }); this.upgrades.enhancedEngines = new Upgrade({ name: "Enhanced Engines", description: "Gain +30% movement speed", tier: "T3.5", fluxCost: 150, researchTime: 60, parentId: this.id, parentUUID: this.uuid, }); // Unit relationships this.createdBy = ["faction/protectorate/building/factory"]; this.upgradedBy = ["faction/protectorate/building/mechanical-research-lab"]; this.unlockedBy = ["faction/protectorate/building/factory"]; } } // Static property for source path Ironwing.src = "src/zerospace/faction/protectorate/unit/ironwing.ts"; export default Ironwing; //# sourceMappingURL=ironwing.js.map