ZSGG Public Library
Terror Tank
Legion Co-Op T3 Army Unit
import { LegionArmyUnit } from "../../../../../defaults/legion.js";
import { Attack, Spell } from "../../../../../engine/ability.js";
import { Turret } from "../../../../../engine/turret.js";
export class CoopGalavaxTerrorTank extends LegionArmyUnit {
override uuid: string;
static override src = "src/zerospace/coop/commander/galavax/unit/coop-galavax-terror-tank.ts";
override get infuseCost(): number | undefined {
return 100;
}
constructor() {
super();
this.uuid = "11461d61-ec30-41ca-9256-4a733afc416b";
this.name = "Terror Tank";
this.description = "Heavy tank with installable turrets.";
this.tier = "T3";
this.maxTurrets = 4;
this.hexiteCost = 200;
this.fluxCost = 200;
this.buildTime = 45;
this.buildCount = 1;
this.supply = 15;
this.internalId = "Troop_Galavax_TerrorTank_C";
this.internalPath = undefined;
this.internalTags = [
"Attackable.Unit.Troop",
"Attackable.ArmorType.Heavy",
"Attackable.Imperium.TerrorTank.Repair",
"Attackable.Unit.Massive",
];
this.internalSecondaryTags = ["Vehicle"];
this.hp = 1000;
this.shields = 0;
this.armor = 2;
this.armorType = "heavy";
this.speed = 450;
this.stunResist = 75;
this.turnSpeed = 500;
this.pushability = 0.45;
this.createdBy = ["coop/commander/galavax/building/coop-galavax-terror-tower"];
this.unlockedBy = ["coop/commander/galavax/building/coop-galavax-terror-tower"];
this.upgradedBy = ["coop/commander/galavax/building/coop-galavax-armory"];
this.constructingVersion = {
name: "Terror Tank (Constructing)",
hp: 1000,
buildTime: 55,
uuid: "ec537c02-4445-497e-99fa-df005be944e9",
};
this.tag("massive");
this.attacks.monolithTurret = new Attack({
name: "Monolith Turret",
damage: 45,
cooldown: 0.9,
range: 1200,
targets: ["ground", "air"],
bonusDamage: [{ multiplier: 1.5, vs: ["armor:heavy"] }],
parentId: this.id,
parentUUID: this.uuid,
});
this.attacks.flameTurretAttack = new Attack({
name: "Flame Turret Attack",
damage: 25,
cooldown: 2,
range: 1100,
targets: ["ground"],
bonusDamage: [{ multiplier: 1.5, vs: ["armor:light"] }],
splash: {
range: 120,
multiplier: 1.0,
},
unlocked: false,
unlockedBy: ["flameTurret"],
parentId: this.id,
parentUUID: this.uuid,
});
this.spells.soulDynamo = new Spell({
name: "Soul Dynamo",
description:
"Fire a ball of energy, damaging enemies in a line. Costs energy gained from souls of dying friendly units. Each module increases max energy and ability range.",
targets: ["map"],
targetMode: "strip",
unlocked: false,
unlockedBy: ["soulDynamo"],
parentId: this.id,
parentUUID: this.uuid,
});
const terrorTank = this;
this.turrets.flameTurret = new Turret({
internalId: "Legion_TerrorFlameTurret_C",
internalPath: "/Game/Nova/Archetypes_Buildings/Legion_TerrorFlameTurret.Default__Legion_TerrorFlameTurret_C",
name: "Flame Turret",
description:
"Adds a Flame turret that attacks nearby ground targets. \nPassive: The Terror Tank main gun deals 35 damage in a small radius. More turrets increase splash radius.",
hexiteCost: 125,
fluxCost: 125,
buildTime: 20,
hp: 225,
unlocked: false,
unlocks: ["flameTurretAttack"],
apply() {
terrorTank.attacks.flameTurretAttack!.unlocked = true;
},
});
this.turrets.pulseforgeAccelerator = new Turret({
internalId: "Legion_TerrorTank_GunEnhancer_C",
internalPath:
"/Game/Nova/Archetypes_Buildings/Legion_TerrorTank_GunEnhancer.Default__Legion_TerrorTank_GunEnhancer_C",
name: "Pulseforge Accelerator",
description:
"Passive: Boosts the Monolith Turret with +25% attack speed and +2.5 range. Effect stacks from more turrets.",
hexiteCost: 125,
fluxCost: 125,
buildTime: 20,
hp: 225,
unlocked: false,
});
this.turrets.shieldGenerator = new Turret({
internalId: "Legion_TerrorTankShieldGenerator_C",
internalPath:
"/Game/Nova/Archetypes_Buildings/Legion_TerrorTankShieldGenerator.Default__Legion_TerrorTankShieldGenerator_C",
name: "Shield Generator",
description: "Nearby friendly units in combat gain 75 shields for 8 seconds.",
hexiteCost: 125,
fluxCost: 125,
buildTime: 20,
hp: 225,
unlocked: false,
});
this.turrets.soulDynamo = new Turret({
name: "Soul Dynamo",
description:
"Gain an ability to fire a ball of energy damaging enemies in line. The ability costs energy gained from souls of dying friendly units. Each module increases max energy and ability range.",
hexiteCost: 125,
fluxCost: 125,
buildTime: 20,
hp: 225,
unlocked: false,
unlocks: ["soulDynamo"],
apply() {
terrorTank.spells.soulDynamo!.unlocked = true;
},
});
}
}
export default CoopGalavaxTerrorTank;