@zerospacegg/iolin
Version:
Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)
57 lines • 2.02 kB
JavaScript
/**
* Prefect Aster - Battlefield engineer hero specializing in tactical construction and area control
* Hero unit with construction capabilities and combat support abilities
*/
import { Attack, Spell } from "../../../../engine/ability.js";
import { ProtectorateHeroUnit } from "../../protectorate-classes.js";
import { LightTurret } from "../building/light-turret.js";
export class PrefectAster extends ProtectorateHeroUnit {
get shortName() {
return "Aster";
}
constructor() {
super();
this.name = "Prefect Aster";
this.uuid = "8f8dce4f-0c74-4080-aed4-de99ce1933fd";
this.hp = 130;
this.shields = 130;
this.armorType = "medium";
this.speed = 500;
this.stunResist = 50;
// Construction capabilities
this.creates = [LightTurret.id];
this.attacks.attack = new Attack({
name: "Attack",
damage: 16,
cooldown: 1.0,
range: 1200,
targets: ["ground", "air"],
parentId: this.id,
parentUUID: this.uuid,
});
this.spells.stunBlast = new Spell({
name: "Stun Blast",
description: "The blast deals 50 damage and stuns enemies in a small area for 3s",
hotkey: "Z",
damage: 50,
cooldown: 20,
range: 800,
targets: ["ground"],
parentId: this.id,
parentUUID: this.uuid,
});
this.spells.constructLightTurret = new Spell({
name: "Construct Light Turret",
description: "Construct a Light Turret which slows and attacks enemies.",
hotkey: "C",
cooldown: 75,
targets: ["map"],
parentId: this.id,
parentUUID: this.uuid,
});
}
}
// Static property for source path
PrefectAster.src = "src/zerospace/faction/protectorate/hero/prefect-aster.ts";
export default PrefectAster;
//# sourceMappingURL=prefect-aster.js.map