UNPKG

@zerospacegg/iolin

Version:

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

179 lines 7.45 kB
"use strict"; /** * Terror Tank - Legion's ultimate modular siege platform * Massive mobile temple with customizable add-on systems and devastating firepower */ Object.defineProperty(exports, "__esModule", { value: true }); exports.TerrorTank = void 0; const legion_js_1 = require("../../../../defaults/legion.cjs"); const ability_js_1 = require("../../../../engine/ability.cjs"); const turret_js_1 = require("../../../../engine/turret.cjs"); class TerrorTank extends legion_js_1.LegionArmyUnit { // Readonly properties (never change after creation) get infuseCost() { return 100; } constructor() { super(); this.hexiteCost = 200; this.fluxCost = 200; this.buildTime = 40; 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"; // Mutable properties - massive modular siege platform this.supply = 15; // Massive unit consumes huge supply this.hp = 1000; // Legendary durability this.shields = 0; this.armor = 1; this.armorType = "heavy"; this.speed = 400; this.stunResist = 75; // Divine protection against disruption this.turnSpeed = 500; this.pushability = 0.45; // Add-on system - up to 4 turrets this.maxAddOns = 4; // Relationships - created by build drone, unlocked by terror tower this.createdBy = ["faction/legion/unit/legion-build-drone"]; this.unlockedBy = ["faction/legion/building/terror-tower"]; 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, cooldownBetweenShots: 0.5, range: 1300, targets: ["ground"], bonusDamage: [{ multiplier: 1.5, vs: ["armor:heavy"] }], armorPenetration: 0, delay: 0.1, 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({ internalId: "Legion_TerrorFlameTurret_C", internalPath: "/Game/Nova/Archetypes_Buildings/Legion_TerrorFlameTurret.Default__Legion_TerrorFlameTurret_C", 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({ internalId: "Legion_TerrorTankGatlingGun_C", internalPath: "/Game/Nova/Archetypes_Buildings/Legion_TerrorTankGatlingGun.Default__Legion_TerrorTankGatlingGun_C", 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({ internalId: "Legion_TerrorTank_GunEnhancer_C", internalPath: "/Game/Nova/Archetypes_Buildings/Legion_TerrorTank_GunEnhancer.Default__Legion_TerrorTank_GunEnhancer_C", 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({ internalId: "Legion_TerrorTankShieldGenerator_C", internalPath: "Game/Nova/Archetypes_Buildings/Legion_TerrorTankShieldGenerator.Default__Legion_TerrorTankShieldGenerator_C", 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