UNPKG

@zerospacegg/iolin

Version:

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

64 lines 2.34 kB
/** * Cyclops - Heavy mech with advanced charging beam weapon system * Precision targeting unit with charge-up attack mechanics */ import { Attack, Upgrade } from "../../../../engine/ability.js"; import { ProtectorateArmyUnit } from "../../protectorate-classes.js"; import AdvancedFactory from "../building/advanced-factory.js"; import SpecializedResearchLab from "../building/specialized-research-lab.js"; export class Cyclops extends 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 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 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 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 = [AdvancedFactory.id]; this.unlockedBy = [AdvancedFactory.id]; this.upgradedBy = [SpecializedResearchLab.id]; } } // Static property for source path Cyclops.src = "src/zerospace/faction/protectorate/unit/cyclops.ts"; export default Cyclops; //# sourceMappingURL=cyclops.js.map