UNPKG

@zerospacegg/iolin

Version:

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

86 lines 3.6 kB
"use strict"; /** * Behemoth - Massive Grell bio-fortress with flight transformation and sacrifice abilities * Living fortress that can grow wings and sacrifice itself for strategic advantage */ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Behemoth = void 0; const ability_js_1 = require("../../../../engine/ability.cjs"); const grell_classes_js_1 = require("../../grell-classes.cjs"); const large_incubator_js_1 = __importDefault(require("../building/large-incubator.cjs")); const skrelling_nest_js_1 = __importDefault(require("../building/skrelling-nest.cjs")); class Behemoth extends grell_classes_js_1.GrellArmyUnit { constructor() { super(); this.name = "Behemoth"; this.tier = "T3"; this.hotkey = "D"; this.hexiteCost = 100; this.fluxCost = 200; this.buildTime = 60; this.buildCount = 1; this.uuid = "6774a583-46f9-41a8-9feb-ddaf997bc401"; this.unlockedBy = [large_incubator_js_1.default.id, skrelling_nest_js_1.default.id]; this.createdBy = [large_incubator_js_1.default.id]; this.upgradedBy = [skrelling_nest_js_1.default.id]; this.hp = 625; this.shields = 0; this.armor = 0; this.armorType = "heavy"; this.speed = 500; this.supply = 8; this.description = "A ground unit that evolves into a strong flyer after enough attacks. Explodes on Death. Attack ground units."; // Capture behemoth instance for upgrade apply methods const behemoth = this; this.attacks.attack = new ability_js_1.Attack({ name: "Attack", damage: 12, cooldown: 2.5, range: 1200, targets: ["ground"], bonusDamage: [{ multiplier: 3.0, vs: ["armor:heavy"] }], parentId: this.id, parentUUID: this.uuid, }); this.spells.sacrifice = new ability_js_1.Spell({ name: "Sacrifice", description: "Sacrifices itself, healing nearby units and damaging enemies. +25% damage and healing from death effect. Autocast on death.", hotkey: "M", targets: ["self"], parentId: this.id, parentUUID: this.uuid, }); this.passives.gainFlight = new ability_js_1.Passive({ name: "Gain Flight", description: "Behemoth gets +37 dmg (45 total, 18 DPS), grows wings, and becomes a flying unit", energyCost: 5, energyType: "abes", unlocked: false, parentId: this.id, parentUUID: this.uuid, }); // Upgrades - speed upgrade removed in patch 19202990 this.upgrades.weaponRange = new ability_js_1.Upgrade({ name: "Weapon Range", description: "+50% weapon range", tier: "T3.5", fluxCost: 100, researchTime: 50, apply: () => { if (behemoth.attacks.attack && behemoth.attacks.attack.range) { behemoth.attacks.attack.range = Math.floor(behemoth.attacks.attack.range * 1.5); // 1200 * 1.5 = 1800 } }, parentId: this.id, parentUUID: this.uuid, }); } } exports.Behemoth = Behemoth; // Static property for source path Behemoth.src = "src/zerospace/faction/grell/unit/behemoth.ts"; exports.default = Behemoth; //# sourceMappingURL=behemoth.js.map