ZSGG Public Library
Sol Invictus
Protectorate Co-Op T4 Ultimate Unit
import { UltimateUnit } from "../../../../../engine/unit.js";
import { Attack, DeathTrigger } from "../../../../../engine/ability.js";
export class CoopAsterSolInvictus extends UltimateUnit {
static override src = "src/zerospace/coop/commander/aster/unit/coop-aster-sol-invictus.ts";
constructor() {
super();
this.faction = "protectorate";
this.factionName = "Protectorate";
this.name = "Sol Invictus";
this.tier = "T4";
this.uuid = "58d31ba9-f27b-45b5-b65e-b29b6487a2b9";
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");
this.internalId = undefined;
this.internalPath = undefined;
this.setVariantUUID("coop-aster");
this.createdBy = ["coop/commander/aster-commander/topbar/sol-invictus"];
this.unlockedBy = ["coop/commander/aster-commander/level/7"];
}
}
export default CoopAsterSolInvictus;