ZeroSpace.gg

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"; /** Matches the PvP price; this class does not extend the PvP one, so it is restated. */ override infuseCostOverride = 50; /** Hand-set well above the formula. */ override replicateCostOverride = 30; 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 = 90; 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 = 1300; this.shields = 0; this.armor = 2; this.armorType = "heavy"; this.speed = 450; this.stunResist = 70; this.turnSpeed = 500; this.pushability = 0.45; this.energy = 100; this.startingEnergy = 0; this.energyRegen = 0; 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: 1300, buildTime: 90, 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: 10, cooldown: 0.25, range: 1500, targets: ["ground"], bonusDamage: [{ multiplier: 2.0, vs: ["armor:light"] }], arcAngle: 5, 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.", energyCost: 100, 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: +20% damage reduction per turret. Passive: Main gun deals splash damage.", hexiteCost: 125, fluxCost: 125, buildTime: 10, 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: "Boosts the main gun with +50% damage and +5 range. Effect stacks from more modules.", hexiteCost: 125, fluxCost: 125, buildTime: 10, 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: "Shield Generators shield nearby attacked friendly units. 250 shields lasting 20 seconds. Max 4 charges per module. Gains a charge every 10 seconds.", hexiteCost: 125, fluxCost: 125, buildTime: 10, 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. Gain 100 maximum energy and 35 energy immediately when built.", hexiteCost: 125, fluxCost: 125, buildTime: 10, hp: 225, unlocked: false, unlocks: ["soulDynamo"], apply() { terrorTank.spells.soulDynamo!.unlocked = true; }, }); } } export default CoopGalavaxTerrorTank;