UNPKG

pogo-data-generator

Version:
84 lines (83 loc) 3.42 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const pogo_protos_1 = require("@na-ji/pogo-protos"); const Masterfile_1 = __importDefault(require("./Masterfile")); class Moves extends Masterfile_1.default { constructor() { super(); this.parsedMoves = {}; } protoMoves() { Object.entries(pogo_protos_1.Rpc.HoloPokemonMove).forEach((proto) => { const [name, id] = proto; if (!this.parsedMoves[id] && (id || id === 0)) { this.parsedMoves[id] = { moveId: +id, moveName: this.capitalize(name.replace('_FAST', '')), proto: name, fast: name.endsWith('_FAST'), }; } }); } addMoveSettings(object) { const { templateId, data: { moveSettings }, } = object; try { const isMax = templateId.startsWith('VN_BM_'); const proto = isMax ? templateId : templateId.substring(11); const id = pogo_protos_1.Rpc.HoloPokemonMove[proto]; if (id || id === 0) { if (!this.parsedMoves[id]) { this.parsedMoves[id] = { moveId: id, moveName: this.capitalize(isMax ? moveSettings.vfxName : proto.replace('_FAST', '')), proto, fast: templateId.endsWith('_FAST'), }; } this.parsedMoves[id].type = pogo_protos_1.Rpc.HoloPokemonType[moveSettings.pokemonType]; this.parsedMoves[id].power = isMax ? moveSettings.obMoveSettingsNumber18[2] : moveSettings.power; this.parsedMoves[id].durationMs = moveSettings.durationMs; this.parsedMoves[id].energyDelta = moveSettings.energyDelta; } } catch (e) { console.warn(e, '\n', object); } } addCombatMove(object) { const { templateId, data: { combatMove }, } = object; try { const id = pogo_protos_1.Rpc.HoloPokemonMove[templateId.substring(18)]; if (id || id === 0) { if (!this.parsedMoves[id]) { this.parsedMoves[id] = { moveId: id, moveName: this.capitalize(templateId.substring(18).replace('_FAST', '')), proto: templateId.substring(18), fast: templateId.endsWith('_FAST'), }; } this.parsedMoves[id].type = pogo_protos_1.Rpc.HoloPokemonType[combatMove.type]; this.parsedMoves[id].pvpPower = combatMove.power; this.parsedMoves[id].pvpEnergyDelta = combatMove.energyDelta; if (combatMove.durationTurns) { this.parsedMoves[id].pvpDurationTurns = combatMove.durationTurns; } if (combatMove.buffs) { this.parsedMoves[id].pvpBuffs = combatMove.buffs; } } } catch (e) { console.warn(e, '\n', object); } } } exports.default = Moves;