UNPKG

genshin-manager

Version:

<div align="center"> <p> <a href="https://www.npmjs.com/package/genshin-manager"><img src="https://img.shields.io/npm/v/genshin-manager.svg?maxAge=3600" alt="npm version" /></a> <a href="https://www.npmjs.com/package/genshin-manager"><img src="https:

56 lines (55 loc) 2.22 kB
"use strict"; var _a; Object.defineProperty(exports, "__esModule", { value: true }); exports.CharacterSkillAscension = void 0; const Client_1 = require("../../client/Client"); const OutOfRangeError_1 = require("../../errors/OutOfRangeError"); const StatProperty_1 = require("../../models/StatProperty"); /** * Class of character skill ascension */ class CharacterSkillAscension { /** * Create a character skill ascension * @param skillId Skill ID * @param level skill level (1-15). Default: 1 */ constructor(skillId, level = 1) { var _b; this.id = skillId; this.level = level; if (this.level < 1 || this.level > 15) throw new OutOfRangeError_1.OutOfRangeError('level', this.level, 1, 15); const skillJson = Client_1.Client._getJsonFromCachedExcelBinOutput('AvatarSkillExcelConfigData', this.id); const proudSkillGroupId = skillJson.proudSkillGroupId; if (proudSkillGroupId === 0) { this.costItems = []; this.costMora = 0; this.addProps = []; return; } const proudSkillJson = Client_1.Client._getJsonFromCachedExcelBinOutput('ProudSkillExcelConfigData', proudSkillGroupId)[this.level]; this.costItems = proudSkillJson.costItems .map((costItem) => { return { id: costItem.id, count: costItem.count, }; }) .filter((costItem) => costItem.id !== undefined && costItem.count !== undefined); this.costMora = (_b = proudSkillJson.coinCost) !== null && _b !== void 0 ? _b : 0; this.addProps = proudSkillJson.addProps .filter((addProp) => addProp.propType !== undefined && addProp.propType !== 'FIGHT_PROP_NONE' && addProp.value !== undefined) .map((addProp) => { var _b; return new StatProperty_1.StatProperty(addProp.propType, ((_b = addProp.value) !== null && _b !== void 0 ? _b : 0)); }); } } exports.CharacterSkillAscension = CharacterSkillAscension; _a = CharacterSkillAscension; (() => { Client_1.Client._addExcelBinOutputKeyFromClassPrototype(_a.prototype); })();