ZSGG Public Library
Aegis
Xol T3 Army Unit
import { XolArmyUnit } from "../../../../defaults/xol.js";
import { Attack, Passive } from "../../../../engine/ability.js";
import { applyXolMerges } from "../_util/xol-merges.js";
export class Aegis extends XolArmyUnit {
override uuid: string;
static override src = "src/zerospace/faction/xol/unit/aegis.ts";
constructor() {
super();
applyXolMerges(this);
this.buildTime = 5;
this.name = "Aegis";
this.tier = "T3";
this.hotkey = "";
this.uuid = "6eb39122-5f69-47ef-bc1c-5a54bd434295";
this.internalId = "Troop_Xol_Aegis_C";
this.internalPath = "/Game/Nova/Archetypes_Troops/Troop_Xol_Aegis.Default__Troop_Xol_Aegis_C";
this.internalTags = ["Attackable.Unit.Troop", "Local.Xol.Aegis", "Attackable.ArmorType.Heavy", "Troop.Xol.Tier2"];
this.internalSecondaryTags = [];
this.description = "Nearby units take reduced damage as long as its shield holds.";
this.unlockedBy = ["faction/xol/building/world-forge"];
this.hp = 600;
this.shields = 100;
this.armor = 2;
this.shieldRegen = 9;
this.armorType = "heavy";
this.speed = 540;
this.supply = 6;
this.turnSpeed = 3000;
this.vision = 1600;
this.pushability = 0.7;
this.attacks.groundAttack = new Attack({
internalId: "Default__Weapon_Xol_Aegis_AG_C",
name: "Ground Attack",
damage: 22,
range: 600,
cooldown: 2,
armorPenetration: 0,
delay: 0.12,
targets: ["ground"],
parentId: this.id,
parentUUID: this.uuid,
});
this.attacks.airAttack = new Attack({
name: "Air Attack",
damage: 55,
range: 1200,
cooldown: 2,
targets: ["air"],
chain: { additionalTargets: 3, falloff: 0.5 },
parentId: this.id,
parentUUID: this.uuid,
});
this.passives.damageReduction = new Passive({
name: "Damage Reduction",
description: "Reduces damage taken by friendly units within 7.5 range while the Aegis shield is active.",
range: 750,
targets: ["friendly:ground", "friendly:air"],
parentId: this.id,
parentUUID: this.uuid,
});
}
}
export default Aegis;