slp-enforcer
Version:
Finds violations of the Melee Controller Ruleset by inspecting SLP files
57 lines (56 loc) • 2.04 kB
JavaScript
;
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;