@zerospacegg/iolin
Version:
Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)
154 lines • 5.86 kB
JavaScript
/**
* Terror Tank - Legion's ultimate modular siege platform
* Massive mobile temple with customizable add-on systems and devastating firepower
*/
import { Attack } from "../../../../engine/ability.js";
import { Turret } from "../../../../engine/turret.js";
import { LegionArmyUnit } from "../../legion-classes.js";
import TerrorTower from "../building/terror-tower.js";
import LegionBuildDrone from "../unit/legion-build-drone.js";
export class TerrorTank extends LegionArmyUnit {
get infuseCost() {
return 100;
}
constructor() {
super();
this.name = "Terror Tank";
this.tier = "T3";
this.hexiteCost = 200;
this.fluxCost = 200;
this.buildTime = 40;
this.buildCount = 1;
this.uuid = "b847ecfa-8cdc-41d6-a187-b8aaee952050";
// Mutable properties - massive modular siege platform
this.supply = 15; // Massive unit consumes huge supply
this.hp = 1100; // Legendary durability
this.shields = 0;
this.armor = 1;
this.armorType = "heavy";
this.speed = 420;
this.stunResist = 75; // Divine protection against disruption
// Add-on system - up to 4 turrets
this.maxAddOns = 4;
// Relationships - created by build drone, unlocked by terror tower
this.createdBy = [LegionBuildDrone.id];
this.unlockedBy = [TerrorTower.id];
this.description = "Heavy tank with installable turrets.";
// Tags for identification and targeting
this.tag("massive");
// Main cannon system - devastating anti-armor weapon
this.attacks.mainGun = new Attack({
name: "Main Gun",
damage: 38,
cooldown: 0.9,
range: 1300,
targets: ["ground"],
bonusDamage: [{ multiplier: 1.5, vs: ["armor:heavy"] }],
parentId: this.id,
parentUUID: this.uuid,
});
// Turret system - 4 modular add-ons
const terrorTank = this;
// Flame Turret Attack - unlocked by flame turret
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({
name: "Flame Turret",
description: "Each Flame Turret adds splash damage to Terror Tank's Main Gun",
hexiteCost: 125,
fluxCost: 125,
buildTime: 25,
hp: 225,
unlocked: false,
unlocks: ["flameTurretAttack"],
apply() {
// Unlock flame turret attack
terrorTank.attacks.flameTurretAttack.unlocked = true;
},
});
// Gatling Gun Attack - unlocked by gatling gun
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({
name: "Gatling Gun",
description: "Each Gatling Gun adds +30% attack speed and +250 range to Terror Tank's Main Gun",
hexiteCost: 125,
fluxCost: 125,
buildTime: 25,
hp: 225,
unlocked: false,
unlocks: ["gatlingGunAttack"],
apply() {
// Unlock gatling gun attack
terrorTank.attacks.gatlingGunAttack.unlocked = true;
},
});
// Pulseforge Accelerator Attack - unlocked by pulseforge accelerator
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({
name: "Pulseforge Accelerator",
description: "Each Pulseforge Accelerator adds +30% attack speed and +250 range to Terror Tank's Main Gun",
hexiteCost: 125,
fluxCost: 125,
buildTime: 25,
hp: 225,
unlocked: false,
unlocks: ["pulseforgeAcceleratorAttack"],
apply() {
// Unlock pulseforge accelerator attack
terrorTank.attacks.pulseforgeAcceleratorAttack.unlocked = true;
},
});
this.turrets.shieldGenerator = new Turret({
name: "Shield Generator",
description: "Each Shield Generator adds 4 shields charges to the Terror Tank. +75 shields for 8 seconds to nearby unit.",
hexiteCost: 125,
fluxCost: 125,
buildTime: 25,
hp: 225,
unlocked: false,
apply() {
// Add shields to Terror Tank
terrorTank.shields = (terrorTank.shields || 0) + 4;
// Note: Aura effects would be handled by game engine
},
});
}
}
// Static property for source path
TerrorTank.src = "src/zerospace/faction/legion/unit/terror-tank.ts";
export default TerrorTank;
//# sourceMappingURL=terror-tank.js.map