ZSGG Public Library
Cyclops
Protectorate T3 Army Unit
import { ProtectorateArmyUnit } from "../../../../defaults/protectorate.js";
import { Attack, Upgrade } from "../../../../engine/ability.js";
export class Cyclops extends ProtectorateArmyUnit {
override uuid: string;
static override src = "src/zerospace/faction/protectorate/unit/cyclops.ts";
override get infuseCost(): number | undefined {
return 4;
}
constructor() {
super();
// Fix: HP - set later in mutable properties section
this.hexiteCost = 100;
this.fluxCost = 175;
this.buildTime = 60;
this.name = "Cyclops";
this.tier = "T3";
this.hotkey = "F";
this.supply = 6;
this.uuid = "d04eaaff-d9b7-4b7a-ac5c-29230e14d816";
this.internalId = "Troop_Prot_Disruptor_C";
this.internalPath = "/Game/Nova/Archetypes_Troops/Troop_Prot_Disruptor.Default__Troop_Prot_Disruptor_C";
this.internalTags = ["Attackable.Unit.Troop", "Attackable.ArmorType.Medium"];
this.internalSecondaryTags = ["Vehicle"];
this.description = "Vehicle equipped with a long range laser which increases in damage over time.";
this.hp = 350;
this.armorType = "heavy";
this.speed = 600;
this.turnSpeed = 1000;
this.pushability = 0.45;
this.attacks.plasmaRay = new Attack({
name: "Plasma Ray",
damage: 4,
cooldown: 0.4,
armorPenetration: 100,
delay: 0.1,
range: 1300,
targets: ["air", "ground"],
bonusDamage: [{ multiplier: 1.75, vs: ["armor:heavy"] }],
charge: { duration: 7, multiplier: 5.0 },
parentId: this.id,
parentUUID: this.uuid,
});
this.upgrades.chargeSpeed = new Upgrade({
name: "Charge Speed",
description: "-50% Plasma Ray charge time",
fluxCost: 100,
researchTime: 50,
tier: "T3.5",
parentId: this.id,
parentUUID: this.uuid,
});
this.createdBy = ["faction/protectorate/building/war-foundry"];
this.unlockedBy = ["faction/protectorate/building/war-foundry"];
this.upgradedBy = ["faction/protectorate/building/mechanical-research-lab"];
}
}
export default Cyclops;