UNPKG

@zerospacegg/iolin

Version:

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

59 lines 2.49 kB
"use strict"; /** * Angry Crab - Jungle AI Map Boss * Jungle AI unit that scales over time and respawns after death */ Object.defineProperty(exports, "__esModule", { value: true }); exports.AngryCrab = void 0; const jungle_ai_js_1 = require("../../../../defaults/jungle-ai.cjs"); const ability_js_1 = require("../../../../engine/ability.cjs"); class AngryCrab extends jungle_ai_js_1.JungleAIUnit { constructor() { super(); this.name = "Angry Crab (Map Boss)"; this.shortName = "Angry Crab"; this.tier = "T4"; this.uuid = "a7b8c9d0-e1f2-4a3b-9c8d-7e6f5a4b3c2e"; // Internal game engine data for map boss this.internalId = "Troop_Mapboss_Crab_C"; // internalPath not known this.internalTags = [ "Attackable.Unit.Troop", "Attackable.ArmorType.Heavy", "Attackable.Biological", "Logic.MapBoss", ]; this.internalSecondaryTags = []; // Base stats at 10-minute spawn this.hp = 3000; this.armor = 5; this.armorType = "heavy"; this.speed = 550; this.stunResist = 50; // Combat stats this.description = "Map Boss: Gains 150 HP + 6 damage every 60s while alive. Respawns 3 minutes after death at whatever stats it would have scaled to if left alive. Copy gained from kill doesn't scale with time - uses current stats at moment of death (Map Boss)."; // Jungle AI combat attack this.attacks.attack = new ability_js_1.Attack({ name: "Attack", damage: 118, cooldown: 0.8, cooldownBetweenShots: 0.8, range: 1400, targets: ["ground"], parentId: this.id, parentUUID: this.uuid, }); // TODO: Future enhancement - Add stacking system for time-based scaling effects // The Angry Crab gains 150 HP + 6 damage every 60s while alive. We should implement // a general stacking system that can track time-based stat bonuses. This would be useful for: // - Time-based boss scaling (like Angry Crab) // - Hero progression systems // - Dynamic difficulty scaling // Consider adding a 'stackingBuffs' property that can accumulate time-based bonuses } } exports.AngryCrab = AngryCrab; AngryCrab.src = "src/zerospace/nonplayer/jungle-ai/unit/angry-crab.ts"; exports.default = AngryCrab; //# sourceMappingURL=angry-crab.js.map