ZSGG Public Library
Terror Tank
Legion T3 Army Unit
import { LegionArmyUnit } from "../../../../defaults/legion.js";
import { Attack } from "../../../../engine/ability.js";
import { Turret } from "../../../../engine/turret.js";
export class TerrorTank extends LegionArmyUnit {
override uuid: string;
static override src = "src/zerospace/faction/legion/unit/terror-tank.ts";
override get infuseCost(): number | undefined {
return 100;
}
constructor() {
super();
this.hexiteCost = 200;
this.fluxCost = 200;
this.buildTime = 45;
this.buildCount = 1;
this.name = "Terror Tank";
this.tier = "T3";
this.internalId = "Troop_Leg_TerrorTank_C";
this.internalPath = "/Game/Nova/Archetypes_Troops/Troop_Leg_TerrorTank.Default__Troop_Leg_TerrorTank_C";
this.internalTags = [
"Attackable.Unit.Troop",
"Attackable.ArmorType.Heavy",
"Ability.Imperium.TerrorTank.Repair",
"Attackable.Unit.Massive",
];
this.internalSecondaryTags = ["Vehicle"];
this.uuid = "b847ecfa-8cdc-41d6-a187-b8aaee952050";
this.supply = 15;
this.hp = 1000;
this.shields = 0;
this.armor = 1;
this.armorType = "heavy";
this.speed = 400;
this.stunResist = 75;
this.turnSpeed = 500;
this.pushability = 0.45;
this.constructingVersion = {
name: "Terror Tank (Constructing)",
hp: 1000,
buildTime: 55,
uuid: "ec537c02-4445-497e-99fa-df005be944e9",
};
this.maxTurrets = 4;
this.createdBy = ["faction/legion/unit/legion-build-drone"];
this.unlockedBy = ["faction/legion/building/terror-tower"];
this.description = "Heavy tank with installable turrets.";
this.tag("massive");
this.attacks.monolithTurret = new Attack({
name: "Monolith Turret",
damage: 38,
cooldown: 0.9,
range: 1200,
targets: ["ground", "air"],
bonusDamage: [{ multiplier: 1.5, vs: ["armor:heavy"] }],
armorPenetration: 0,
delay: 0.1,
parentId: this.id,
parentUUID: this.uuid,
});
const terrorTank = this;
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.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.",
fluxCost: 100,
buildTime: 20,
hp: 225,
unlocked: false,
unlocks: ["flameTurretAttack"],
apply() {
terrorTank.attacks.flameTurretAttack!.unlocked = true;
},
});
this.attacks.gatlingGunAttack = new Attack({
name: "Gatling Gun Attack",
damage: 11,
cooldown: 0.5,
range: 1500,
targets: ["ground"],
unlocked: false,
unlockedBy: ["gatlingGun"],
parentId: this.id,
parentUUID: this.uuid,
});
this.turrets.gatlingGun = new Turret({
internalId: "Legion_TerrorTankGatlingGun_C",
internalPath:
"/Game/Nova/Archetypes_Buildings/Legion_TerrorTankGatlingGun.Default__Legion_TerrorTankGatlingGun_C",
name: "Gatling Gun",
description: "Add a Gatling Turret that deals bonus damage vs air.",
fluxCost: 100,
buildTime: 20,
hp: 225,
unlocked: false,
unlocks: ["gatlingGunAttack"],
apply() {
terrorTank.attacks.gatlingGunAttack!.unlocked = true;
},
});
// this.attacks.pulseforgeAcceleratorAttack = new Attack({
// name: "Pulseforge Accelerator Attack",
// damage: 11,
// cooldown: 0.5,
// range: 1500,
// targets: ["ground"],
// unlocked: false,
// unlockedBy: ["pulseforgeAccelerator"],
// parentId: this.id,
// parentUUID: this.uuid,
// });
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",
fluxCost: 100,
buildTime: 20,
hp: 225,
unlocked: false,
unlocks: ["pulseforgeAcceleratorAttack"],
apply() {
// terrorTank.attacks.pulseforgeAcceleratorAttack!.unlocked = true;
},
});
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",
fluxCost: 100,
buildTime: 20,
hp: 225,
unlocked: false,
apply() {
terrorTank.shields = (terrorTank.shields || 0) + 4;
// Note: Aura effects would be handled by game engine
},
});
}
}
export default TerrorTank;