ZSGG Public Library
Prefect Aster
Protectorate Hero Unit
import { ProtectorateHeroUnit } from "../../../../defaults/protectorate.js";
import { Attack, Spell } from "../../../../engine/ability.js";
export class PrefectAster extends ProtectorateHeroUnit {
override uuid: string;
static override src = "src/zerospace/faction/protectorate/hero/prefect-aster.ts";
constructor() {
super();
this.hexiteCost = 220;
this.fluxCost = 0;
this.buildTime = 5;
this.description = "CAn stun enemy units, use Jetpack, and deploy a turret on the battlefield.";
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.Aster",
"Logic.SpawnAtOldestSpawner",
"Attackable.Biological",
"Logic.NoVeterancy",
];
this.internalSecondaryTags = ["Infantry"];
this.hp = 130;
this.shields = 130;
this.armorType = "hero";
this.speed = 550;
this.stunResist = 70;
this.vision = 1800;
this.turnSpeed = 6000;
this.healthRegen = 6;
this.pushability = 0.1;
this.creates = ["faction/protectorate/building/light-turret"];
this.attacks.vx9IonCarbine = new Attack({
name: "VX-9 Ion Carbine",
damage: 20,
cooldown: 1.0,
range: 1200,
targets: ["ground", "air"],
armorPenetration: 0,
delay: 0.035,
parentId: this.id,
parentUUID: this.uuid,
});
this.spells.plasmaBlast = new Spell({
name: "Plasma Blast",
description: "Deal 40 damage in an arc and stun enemis for 1.5 seconds",
hotkey: "J",
damage: 50,
cooldown: 20,
range: 800,
targets: ["ground"],
parentId: this.id,
parentUUID: this.uuid,
});
this.spells.deployTurret = new Spell({
name: "Deploy Turret",
description: "Slows enemies o-hit by -33% movement speed. Lasts 120 seconds.",
hotkey: "R",
cooldown: 75,
targets: ["map"],
parentId: this.id,
parentUUID: this.uuid,
});
this.spells.jetpack = new Spell({
name: "Jetpack",
hotkey: "U",
cooldown: 18,
description: "Jump to a target location, ignoring terrain.",
parentId: this.id,
parentUUID: this.uuid,
});
}
}
export default PrefectAster;