ZSGG Public Library
Sol Invictus
Protectorate T4 Ultimate Unit
import { Attack, DeathTrigger } from "../../../../engine/ability.js";
import { ProtectorateUltimateUnit } from "../../../../defaults/protectorate.js";
import type { Tier } from "../../../../engine/core.js";
export class SolInvictus extends ProtectorateUltimateUnit {
override uuid: string;
static override src = "src/zerospace/faction/protectorate/unit/sol-invictus.ts";
constructor() {
super();
this.name = "Sol Invictus";
this.tier = "T4";
this.uuid = "d395055e-d904-475b-b973-ca017baf94bd";
this.internalId = "Troop_WeaponX_C";
this.internalPath = "/Game/Nova/Archetypes_Troops/Troop_WeaponX.Default__Troop_WeaponX_C";
this.internalTags = [
"Attackable.ArmorType.Heavy",
"Attackable.Unit.Light.Mech",
"Attackable.Unit.Massive",
"Attackable.Unit.Troop",
"Logic.MapBoss",
"Logic.NoVeterancy",
"Unit.AutoControlGroup.Ignore",
"Unit.Temporary",
];
this.internalSecondaryTags = [];
this.hp = 3000;
this.stunResist = 99;
this.lifeLoss = { amount: 60, cooldown: 1 };
this.armorType = "heavy";
this.speed = 300;
this.vision = 1800;
this.turnSpeed = 1200;
this.attacks.earthdawnSpike = new Attack({
internalId: "Default__Corp_WeaponX_C",
name: "Earthdawn Spike",
damage: 160,
shots: 1,
cooldown: 2,
range: 180,
delay: 0.14,
targets: ["ground"],
splash: { multiplier: 1, range: 50 },
parentId: this.id,
parentUUID: this.uuid,
});
this.onDeath.nuke = new DeathTrigger({
name: "Nuke",
description: "Explodes on death after a short delay. Explosion radius is 1000",
damage: 1385,
delay: 1,
splash: { multiplier: 1.0, range: 1000 },
parentId: this.id,
parentUUID: this.uuid,
});
this.tag("massive");
}
}
export default SolInvictus;