@zerospacegg/iolin
Version:
Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)
74 lines • 2.74 kB
JavaScript
/**
* Prefect Aster - Battlefield engineer hero specializing in tactical construction and area control
* Hero unit with construction capabilities and combat support abilities
*/
import { ProtectorateHeroUnit } from "../../../../defaults/protectorate.js";
import { Attack, Spell } from "../../../../engine/ability.js";
export class PrefectAster extends ProtectorateHeroUnit {
constructor() {
super();
// Auto-generated fixes from dev data comparison
this.hexiteCost = 220;
this.fluxCost = 0;
this.buildTime = 45;
this.shortName = "Aster";
this.name = "Prefect Aster";
this.uuid = "8f8dce4f-0c74-4080-aed4-de99ce1933fd";
this.internalId = "Troop_MPHero_Aster_C";
this.internalPath = "/Game/Nova/Archetypes_Heroes/Troop_MPHero_Aster.Default__Troop_MPHero_Aster_C";
this.internalTags = [
"Attackable.Unit.Hero",
"Logic.SpawnAtOldestSpawner",
"Attackable.Biological",
"Logic.NoVeterancy",
];
this.internalSecondaryTags = ["Infantry"];
this.hp = 130;
this.shields = 130;
this.armorType = "medium";
this.speed = 500;
this.stunResist = 50;
this.vision = 1800;
this.turnSpeed = 6000;
this.healthRegen = 6;
this.pushability = 0.1;
// Construction capabilities
this.creates = ["faction/protectorate/building/light-turret"];
this.attacks.attack = new Attack({
name: "Attack",
damage: 16,
cooldown: 1.0,
cooldownBetweenShots: 1,
range: 1200,
targets: ["ground", "air"],
armorPenetration: 0,
delay: 0.035,
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