ZSGG Public Library
Juggernaut
Protectorate Co-Op T3 Army Unit
import { ArmyUnit } from "../../../../../engine/unit.js";
import { Attack, Spell, Upgrade } from "../../../../../engine/ability.js";
export class CoopJuggernaut extends ArmyUnit {
static override src = "src/zerospace/coop/commander/aster/unit/coop-aster-juggernaut.ts";
constructor() {
super();
this.faction = "protectorate";
this.factionName = "Protectorate";
this.hexiteCost = 175;
this.fluxCost = 125;
this.buildTime = 70;
this.name = "Juggernaut";
this.tier = "T3";
this.hotkey = "S";
this.supply = 8;
this.startingEnergy = 7;
this.stunResist = 50;
this.uuid = "9a1b0429-2dde-40bd-b3d9-6438f42d65ac";
this.internalId = "Troop_Prot_Juggernaut_C";
this.internalPath = "/Game/Nova/Archetypes_Troops/Troop_Prot_Juggernaut.Default__Troop_Prot_Juggernaut_C";
this.internalTags = ["Attackable.Unit.Troop", "Attackable.ArmorType.Heavy", "Local.Prot.Juggernaut", "Logic.ABES"];
this.internalSecondaryTags = ["Vehicle"];
this.hp = 1000;
this.armorType = "heavy";
this.speed = 450;
this.armor = 2;
this.energy = 7;
this.turnSpeed = 350;
this.pushability = 0.45;
this.description = "Tank which gains thermal charge as it attacks. Can be discharged to deal area damage.";
this.attacks.dualTL7MagAcceleratorCannons = new Attack({
internalId: "Default__Weapon_ProtJuggerCannon_C",
name: "Dual TL-7 Mag Accelerator Cannons",
damage: 100,
cooldown: 2.4,
armorPenetration: 0,
delay: 0.1,
range: 700,
bonusDamage: [{ multiplier: 2.0, vs: ["armor:heavy"] }],
targets: ["ground"],
parentId: this.id,
parentUUID: this.uuid,
});
this.spells.incinerationProtocol = new Spell({
name: "Incineration Protocol",
description: "Deals 250 damage to nearby enemies over 5 seconds. cannot move while active. 200 radius",
energyCost: 7,
energyType: "abes",
damage: 250,
parentId: this.id,
parentUUID: this.uuid,
});
this.upgrades.mobileDischarge = new Upgrade({
name: "Mobile Discharge",
unlockedBy: ["faction/protectorate/building/mechanical-research-lab"],
description: "Allows the juggernaut to move while Incineration Protocol is Active",
fluxCost: 150,
researchTime: 50,
tier: "T1",
position: "A",
parentId: this.id,
parentUUID: this.uuid,
});
this.upgrades.irradiatingPanels = new Upgrade({
name: "Irradiating Panels",
unlockedBy: ["faction/protectorate/building/mechanical-research-lab"],
tier: "T1",
position: "B",
fluxCost: 150,
researchTime: 50,
description: "+40% Incineration Protocol Radius",
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"];
this.internalId = undefined;
this.internalPath = undefined;
this.setVariantUUID("coop-aster");
this.unlockedBy = ["coop/commander/aster/building/coop-aster-war-foundry"];
this.attacks.dualTL7MagAcceleratorCannons.bonusDamage = [{ multiplier: 2.0, vs: ["armor:heavy"] }];
this.createdBy = ["coop/commander/aster/building/coop-aster-war-foundry"];
this.upgradedBy = ["coop/commander/aster/building/coop-aster-mechanical-research-lab"];
}
}
export default CoopJuggernaut;