UNPKG

@zerospacegg/iolin

Version:

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

71 lines 2.78 kB
"use strict"; /** * Cyclops - Heavy mech with advanced charging beam weapon system * Precision targeting unit with charge-up attack mechanics */ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Cyclops = void 0; const ability_js_1 = require("../../../../engine/ability.cjs"); const protectorate_classes_js_1 = require("../../protectorate-classes.cjs"); const advanced_factory_js_1 = __importDefault(require("../building/advanced-factory.cjs")); const specialized_research_lab_js_1 = __importDefault(require("../building/specialized-research-lab.cjs")); class Cyclops extends protectorate_classes_js_1.ProtectorateArmyUnit { get infuseCost() { return 4; } constructor() { super(); this.name = "Cyclops"; this.tier = "T3"; this.hotkey = "F"; this.hexiteCost = 100; this.fluxCost = 175; this.supply = 6; this.buildTime = 45; this.uuid = "d04eaaff-d9b7-4b7a-ac5c-29230e14d816"; this.description = "Light combat tank equipped with a long range laser which deals additional damage over time against single targets. Attacks ground and air units."; this.hp = 425; this.armorType = "heavy"; this.speed = 600; this.attacks.chargingBeam = new ability_js_1.Attack({ name: "Attack", damage: 4, cooldown: 0.4, range: 1300, targets: ["air", "ground"], bonusDamage: [{ multiplier: 1.75, vs: ["armor:heavy"] }], parentId: this.id, parentUUID: this.uuid, }); this.upgrades.chargeSpeed = new ability_js_1.Upgrade({ name: "Charge Speed", description: "-50% beam charge time", fluxCost: 100, researchTime: 50, tier: "T3.5", parentId: this.id, parentUUID: this.uuid, }); this.upgrades.slow = new ability_js_1.Upgrade({ name: "Slow", description: "Attacks reduce movement speed by 20%", fluxCost: 100, researchTime: 50, tier: "T3.5", parentId: this.id, parentUUID: this.uuid, }); // Unit relationships this.createdBy = [advanced_factory_js_1.default.id]; this.unlockedBy = [advanced_factory_js_1.default.id]; this.upgradedBy = [specialized_research_lab_js_1.default.id]; } } exports.Cyclops = Cyclops; // Static property for source path Cyclops.src = "src/zerospace/faction/protectorate/unit/cyclops.ts"; exports.default = Cyclops; //# sourceMappingURL=cyclops.js.map