UNPKG

slp-enforcer

Version:

Finds violations of the Melee Controller Ruleset by inspecting SLP files

57 lines (56 loc) 2.04 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const characters_json_1 = __importDefault(require("./characters.json")); const DEFAULT_COLOR = "Default"; exports.UnknownCharacter = { id: -1, name: "Unknown Character", shortName: "Unknown", colors: [DEFAULT_COLOR], }; function generateCharacterInfo(id, info) { var _a, _b; if (!info) { return exports.UnknownCharacter; } return { id, name: info.name, shortName: (_a = info.shortName) !== null && _a !== void 0 ? _a : info.name, colors: [DEFAULT_COLOR, ...((_b = info.colors) !== null && _b !== void 0 ? _b : [])], }; } function getAllCharacters() { return Object.entries(characters_json_1.default) .map(([id, data]) => generateCharacterInfo(parseInt(id, 10), data)) .sort((a, b) => a.id - b.id); } exports.getAllCharacters = getAllCharacters; function getCharacterInfo(externalCharacterId) { const data = characters_json_1.default[externalCharacterId.toString()]; return generateCharacterInfo(externalCharacterId, data); } exports.getCharacterInfo = getCharacterInfo; function getCharacterShortName(externalCharacterId) { const character = getCharacterInfo(externalCharacterId); return character.shortName; } exports.getCharacterShortName = getCharacterShortName; function getCharacterName(externalCharacterId) { const character = getCharacterInfo(externalCharacterId); return character.name; } exports.getCharacterName = getCharacterName; // Return a human-readable color from a characterCode. function getCharacterColorName(externalCharacterId, characterColor) { const character = getCharacterInfo(externalCharacterId); const color = character.colors[characterColor]; if (color) { return color; } return DEFAULT_COLOR; } exports.getCharacterColorName = getCharacterColorName;