UNPKG

ggejs

Version:

A powerful JavaScript library for interacting with the server of Goodgame Empire: Four Kingdoms

60 lines (56 loc) 1.43 kB
const Effect = require("./Effect"); const {gems} = require('e4k-data').data; class Gem { /** * @param {Client} client * @param {number} id * @param {Equipment} equipment */ constructor(client, id, equipment = null) { let _data = getDataFromJson(id); if (!_data) { console.warn(`gem id ${id} without data`); return; } this.rawData = _data; /** @type {number} */ this.id = _data.gemID; if (_data.setID) /** @type {number} */ this.setId = _data.setID; /** @type {Effect[]} */ this.effects = parseEffects(client, _data.effects); if (equipment) /** @type {Equipment} */ this.attachedEquipment = equipment; } } /** * @param {number} id * @returns {Object} */ function getDataFromJson(id) { for (let g of gems) { if (g.gemID === id) { return g; } } } /** * @param {Client} client * @param {string} _data * @returns {Effect[]} */ function parseEffects(client, _data) { let _effects = _data.split(","); const data = []; for (let e of _effects) { data.push(e.split("&")); } const effects = []; for (let d of data) { effects.push(new Effect(client, d)); } return effects; } module.exports = Gem;