@zerospacegg/iolin
Version:
Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)
58 lines • 2.21 kB
JavaScript
/**
* 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