UNPKG

@zerospacegg/iolin

Version:

Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)

161 lines 6.37 kB
"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