UNPKG

@zerospacegg/iolin

Version:

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

58 lines 2.21 kB
/** * Dread Raider - Fast T1 scout unit with thieve ability * Fast-moving operative who redistributes wealth through hit-and-run tactics */ import { Attack, Spell } from "../../../../engine/ability.js"; import { DreadRaidersMercUnit } from "../../dread-classes.js"; import DreadMercOutpost from "../building/dread-merc-outpost.js"; class DreadRaider extends DreadRaidersMercUnit { constructor() { super(); this.name = "Dread Raider"; this.tier = "T1"; this.hotkey = "Q"; this.hexiteCost = 225; this.fluxCost = 0; this.buildTime = 25; this.buildCount = 3; this.uuid = "20298043-24f6-48ac-968e-f915c9c2cde5"; this.description = "Light infantry which can steal Hexite from enemies. Can jump up and down cliffs. Attacks ground and air units."; // Mutable properties (can be modified by upgrades) this.shortName = "Raider"; this.hp = 175; this.shields = 0; this.armor = 0; this.armorType = "light"; this.speed = 650; this.supply = 2; // TODO: Convert to getter - this.infuseCost = 3; // Relationships this.createdBy = [DreadMercOutpost.id]; this.unlockedBy = [DreadMercOutpost.id]; // Primary attack this.attacks.attack = new Attack({ name: "Attack", damage: 12, cooldown: 1.5, range: 800, targets: ["air", "ground"], bonusDamage: [{ multiplier: 1.75, vs: ["unit:harvester"] }], parentId: this.id, parentUUID: this.uuid, }); // Thieve ability this.spells.thieve = new Spell({ name: "Thieve", cooldown: 60.0, targets: ["ground"], delay: 5.0, description: "60s cooldown. Steals 100 hexite from target extractor or harvester after 5 seconds. The owner does not lose resources.", parentId: this.id, parentUUID: this.uuid, }); } } // Static property for source path DreadRaider.src = "src/zerospace/mercenary/dread/unit/dread-raider.ts"; export default DreadRaider; //# sourceMappingURL=dread-raider.js.map