UNPKG

@zerospacegg/iolin

Version:

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

71 lines 2.75 kB
"use strict"; /** * Hellfire - Long-range artillery platform with devastating splash damage and siege capabilities * Mobile artillery unit with multi-volley missile system */ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Hellfire = 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 Hellfire extends protectorate_classes_js_1.ProtectorateArmyUnit { get infuseCost() { return 13; } constructor() { super(); this.name = "Hellfire"; this.tier = "T2.5"; this.supply = 6; this.hexiteCost = 150; this.fluxCost = 100; this.buildTime = 50; this.uuid = "a4cb9bbf-57ca-4d5a-8611-6dad6020799e"; this.description = "Long range artillery. Attacks ground units."; this.hp = 350; this.armorType = "medium"; this.speed = 400; this.attacks.missiles = new ability_js_1.Attack({ name: "Attack", damage: 16, volleys: 6, cooldown: 5, range: 2000, splash: { multiplier: 1.0, range: 200 }, targets: ["ground"], parentId: this.id, parentUUID: this.uuid, }); this.upgrades.siegeMode = new ability_js_1.Upgrade({ name: "Siege Mode", description: "Unlocks the siege ability. Increases the range of the hellfire by 40%. Cannot move while sieged.", tier: "T2.5", fluxCost: 100, researchTime: 50, parentId: this.id, parentUUID: this.uuid, }); this.upgrades.resonantMissiles = new ability_js_1.Upgrade({ name: "Resonant Missiles", description: "+50% missile speed, +15% more missiles", 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.Hellfire = Hellfire; // Static property for source path Hellfire.src = "src/zerospace/faction/protectorate/unit/hellfire.ts"; exports.default = Hellfire; //# sourceMappingURL=hellfire.js.map