@zerospacegg/iolin
Version:
Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)
161 lines • 6.37 kB
JavaScript
"use strict";
/**
* Terror Tank - Legion's ultimate modular siege platform
* Massive mobile temple with customizable add-on systems and devastating firepower
*/
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.TerrorTank = void 0;
const ability_js_1 = require("../../../../engine/ability.cjs");
const turret_js_1 = require("../../../../engine/turret.cjs");
const legion_classes_js_1 = require("../../legion-classes.cjs");
const terror_tower_js_1 = __importDefault(require("../building/terror-tower.cjs"));
const legion_build_drone_js_1 = __importDefault(require("../unit/legion-build-drone.cjs"));
class TerrorTank extends legion_classes_js_1.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 = [legion_build_drone_js_1.default.id];
this.unlockedBy = [terror_tower_js_1.default.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 ability_js_1.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 ability_js_1.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_js_1.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 ability_js_1.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_js_1.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 ability_js_1.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_js_1.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_js_1.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
},
});
}
}
exports.TerrorTank = TerrorTank;
// Static property for source path
TerrorTank.src = "src/zerospace/faction/legion/unit/terror-tank.ts";
exports.default = TerrorTank;
//# sourceMappingURL=terror-tank.js.map