personae
Version:
This tool is used to generate a person either NPC or other Edit
56 lines (55 loc) • 1.93 kB
TypeScript
import { AgeGroups, ExpandedAlignments, Genders, ILinkBackground, ILinkKlass, ILinkRace, IPerson, PersonTypes, ILinkCulture, IRace, ExpandedAlignmentsY, ExpandedAlignmentsX, IKlass, ICulture, IBackground, IIdeals, IDNA } from "opendnd-core";
import { IPersonaeDefaults } from './defaults';
import "./extensions";
export interface IPersonaeOpts {
defaults?: IPersonaeDefaults;
type?: PersonTypes;
race?: ILinkRace;
klass?: ILinkKlass;
culture?: ILinkCulture;
background?: ILinkBackground;
alignment?: ExpandedAlignments;
gender?: Genders;
name?: string;
age?: number;
ageGroup?: AgeGroups;
DNA?: IDNA;
seed?: any;
}
declare class Personae {
defaults: IPersonaeDefaults;
opts: IPersonaeOpts;
race: IRace;
klass: IKlass;
background: IBackground;
culture: ICulture;
alignmentX: ExpandedAlignmentsX;
alignmentY: ExpandedAlignmentsY;
constructor(opts?: IPersonaeOpts);
validateOpts(opts?: IPersonaeOpts): IPersonaeOpts;
static load(filepath: any): any;
static save(filepath: any, person: any): void;
static output(person: any, type?: string): any;
static generateAge(race: IRace, ageGroup?: AgeGroups): any;
static getAgeGroup(race: IRace, age?: number): AgeGroups;
static generateAgeGroup(race: IRace): any;
resetOpts(): void;
generatePersonalityTraits(personalityTraits?: any[]): any;
generateIdeal(alignment: ExpandedAlignments, ideals: IIdeals): any;
calculateMod(score?: number): number;
generateAbilities(method?: string): {
STR: number;
DEX: number;
CON: number;
INT: number;
WIS: number;
CHA: number;
};
generateChild(opts?: any, motherPerson?: any, fatherPerson?: any): IPerson;
generateParents(person: any): {
mother: IPerson;
father: IPerson;
};
generate(opts?: {}): IPerson;
}
export default Personae;