UNPKG

@opendnd/genetica

Version:

This is a tool for using a simplified genetics system to generate inheritable traits for DnD characters.

46 lines (36 loc) 1.24 kB
import { Genders } from "@opendnd/core"; import defaults from "./defaults"; import { IGeneticaOpts } from "./genetica"; const colors = require("colors/safe"); // tslint:disable-line const { races, genderOptions, raceOptions, } = defaults; export const sanitizeWizardOpts = (opts): IGeneticaOpts => { if (!genderOptions.includes(opts.gender)) { opts.gender = undefined; } if (opts.gender) { opts.gender = Genders[opts.gender]; } if (opts.race) { Object.values(races).forEach((race) => { if (race.name === opts.race) { opts.race = race; } }); } // remove empty opts Object.keys(opts).forEach((key) => { if (opts[key] === "") { opts[key] = undefined; } }); return opts; }; export const makeQuestion = (question: string = "", options: string = "", required: boolean = false) => { return { info: colors.cyan(`${question} `) + colors.white(options), required, }; }; export const standardQuestions = { gender: makeQuestion("What's this person's gender?", `(${genderOptions.join(" | ")})`), race: makeQuestion("What race does this person have?", `(${raceOptions.join(" | ")})`), }; export const saveMsg = (resource) => { return `Would you like to save the ${resource}? (y | n)`; };