aurinn-train-content-generator
Version:
A custom fork of the fantasy-name-content-generator specifically for Aurinn Train, a custom D&D campaign format.
184 lines (183 loc) • 5 kB
TypeScript
export declare const races: string[];
export declare type IRace = typeof races[number];
export declare const classes: string[];
export declare type IClass = typeof classes[number];
export declare const backgrounds: string[];
export declare type IPCBackground = typeof backgrounds[number];
export declare const abilities: string[];
export declare type Ability = typeof abilities[number];
export declare const skills: string[];
export declare type ISkill = typeof skills[number];
export declare const morality: string[];
export declare type IMorality = typeof morality[number];
export declare const adherence: string[];
export declare type IAdherence = typeof adherence[number];
export declare type IPersonalityTrait = string;
export declare type IIdeal = string;
export declare type IBond = string;
export declare type IFlaw = string;
export declare type IEstablishmentType = "general_store" | "stable" | "inn" | "tavern" | "armoursmith" | "weaponsmith" | "carpenter" | "leatherworker" | "tanner" | "cobbler" | "bakery";
export declare type IGender = "male" | "female";
export declare type ISeed = string | number;
export interface IBackgroundData {
"name": string;
"description": string;
"skill proficiencies"?: string[];
"tool proficiencies"?: string[];
"languages": string[];
"equipment": string[];
"additional rolls"?: any;
"feature": {
"name": string;
"description": string;
};
"characteristics": string;
"personality traits": string[];
"ideals": any;
"bonds": string[];
"flaws": string[];
}
export interface INameGenerateProps {
race?: IRace;
gender?: IGender;
cls?: IClass;
seed?: ISeed;
}
export interface IIdealGenerateProps {
background: IPCBackground;
morality?: IMorality;
adherence?: IAdherence;
seed?: ISeed;
}
export interface INameDomainObject {
seed: string;
name: string;
race: IRace;
gender: IGender;
firstName: string;
lastName: string;
formattedData: {
name: string;
race: string;
gender: string;
firstName: string;
lastName: string;
};
}
export interface INPCGenerateProps {
race?: IRace;
gender?: IGender;
seed?: ISeed;
shouldGenerateRelations?: boolean;
}
export interface INPCRelationObject {
relationTitle: string;
npc: INameDomainObject;
}
export interface INPCDomainObject {
seed: ISeed;
nameObject: INameDomainObject;
gender: IGender;
race: IRace;
traits: string[];
desires: string[];
formattedData: {
name: string;
firstName: string;
lastName: string;
gender: string;
race: string;
traits: string[];
desires: string[];
relations: INPCRelationObject[];
vocation?: string;
};
relations: INPCRelationObject[];
vocation?: string;
}
export interface ISettlementGenerateProps {
type?: string;
seed?: ISeed;
}
export interface ISettlementDomainObject {
seed: ISeed;
type: string;
population: string;
}
export interface IStoryhookGenerateProps {
seed?: ISeed;
storyhookBank?: eStoryhookBanks;
}
export declare enum eStoryhookBanks {
NPC_ACTS = "NPC_ACTS",
PC_RELATED = "PC_RELATED",
LOCATION_BASED_URBAN = "LOCATION_BASED_URBAN",
LOCATION_BASED_WILDERNESS = "LOCATION_BASED_WILDERNESS"
}
export interface IStoryhookDomainObject {
seed: ISeed;
storyhook: string;
storyhookBank: eStoryhookBanks;
}
export interface IMagicItemGenerateProps {
seed?: ISeed;
type?: string;
powerLevel?: string;
schoolOfMagic?: string;
effects?: string[];
subtype?: string;
}
export interface IMagicItemDomainObject {
type: string;
subtype: string;
powerLevel: string;
schoolOfMagic: string;
effects: string[];
formattedData: {
title: any;
owner: any;
tagline: any;
};
}
export interface ILootGenerateProps {
source?: string;
seed?: string;
quantity?: number;
}
export interface ILootDomainObject {
seed: string;
source: string;
lootItems: string[];
quantity: number;
formattedData: {
lootItems: string[];
quantity: number;
label: string;
};
}
export interface IEstablishmentGenerateProps {
seed?: ISeed;
type?: IEstablishmentType;
}
export interface IEstablishmentDomainObject {
seed: ISeed;
type: string;
name: string;
npcs: INPCDomainObject[];
secret: string;
formattedData: {
name: string;
type: string;
secret: string;
npcs: INPCDomainObject[];
};
}
export interface IMonsterGenerateProps {
type?: string;
seed?: ISeed;
}
export interface IMonsterDomainObject {
seed: ISeed;
type: string;
formattedDescription: string;
}