UNPKG

@zerospacegg/iolin

Version:

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

93 lines 3.53 kB
"use strict"; /** * Ironwing - Protectorate air superiority fighter * Fast attack aircraft designed for air-to-air combat and reconnaissance operations */ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Ironwing = void 0; const ability_js_1 = require("../../../../engine/ability.cjs"); const protectorate_classes_js_1 = require("../../protectorate-classes.cjs"); const factory_js_1 = __importDefault(require("../building/factory.cjs")); const mechanical_research_lab_js_1 = __importDefault(require("../building/mechanical-research-lab.cjs")); class Ironwing extends protectorate_classes_js_1.ProtectorateArmyUnit { get infuseCost() { return 4; } constructor() { super(); this.name = "Ironwing"; this.tier = "T2"; this.supply = 5; this.hexiteCost = 75; this.fluxCost = 100; this.buildTime = 45; this.domain = "air"; this.uuid = "d5cfcac4-2d5e-44b5-9728-a9a36038f57b"; this.hp = 300; this.armor = 0; this.armorType = "light"; this.speed = 575; this.description = "Light combat aircraft. Attacks ground and air units."; this.attacks.gatlingGun = new ability_js_1.Attack({ name: "Gatling Gun", damage: 20, cooldown: 1, range: 1000, targets: ["ground", "air"], bonusDamage: [{ multiplier: 2.0, vs: ["unit:harvester"] }], parentId: this.id, parentUUID: this.uuid, }); this.spells.antiArmorMissile = new ability_js_1.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 ability_js_1.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 ability_js_1.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 ability_js_1.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 = [factory_js_1.default.id]; this.upgradedBy = [mechanical_research_lab_js_1.default.id]; this.unlockedBy = [factory_js_1.default.id]; } } exports.Ironwing = Ironwing; // Static property for source path Ironwing.src = "src/zerospace/faction/protectorate/unit/ironwing.ts"; exports.default = Ironwing; //# sourceMappingURL=ironwing.js.map