ZSGG Public Library
Sentinel
Protectorate Co-Op T1.5 Army Unit
import Sentinel from "../../../../faction/protectorate/unit/sentinel.js";
import { Upgrade } from "../../../../../engine/ability.js";
export class CoopSentinel extends Sentinel {
static override src = "src/zerospace/coop/commander/aster/unit/coop-aster-sentinel.ts";
constructor() {
super();
this.internalId = undefined;
this.internalPath = undefined;
this.setVariantUUID("coop-aster");
delete this.upgrades.longshotCalibration;
this.upgrades.longshotCalibration = new Upgrade({
name: "Longshot Calibration",
unlockedBy: ["faction/protectorate/building/research-lab"],
description: "+4 attack range",
tier: "T1",
position: "A",
fluxCost: 100,
researchTime: 45,
apply: () => {
this.attacks.hR7RailCannon!.range! += 400;
},
parentId: this.id,
parentUUID: this.uuid,
});
delete this.upgrades.heavyRockets;
this.upgrades.hyperdenseRounds = new Upgrade({
name: "Hyperdense Rounds",
unlockedBy: ["faction/protectorate/building/mechanical-research-lab"],
description: "+100% damage vs heavy armor",
tier: "T2",
position: "A",
fluxCost: 100,
researchTime: 45,
apply: () => {
const attack = this.attacks.hR7RailCannon!;
attack.bonusDamage![0]!.multiplier! += 3.0;
},
parentId: this.id,
parentUUID: this.uuid,
});
this.upgrades.falcoRounds = new Upgrade({
name: "Falco Rounds",
description: "Sentinels can target air units.",
tier: "T2",
position: "B",
fluxCost: 150,
researchTime: 45,
parentId: this.id,
parentUUID: this.uuid,
uuid: "132e13bd-eae0-4b7e-961a-fa1a73e5da17",
});
this.unlockedBy = ["coop/commander/aster/building/coop-aster-research-lab"];
this.createdBy = ["coop/commander/aster/building/coop-aster-prot-barracks"];
this.upgradedBy = ["coop/commander/aster/building/coop-aster-research-lab"];
}
}
export default CoopSentinel;