A system for generating random D&D information
- Abilities (random generation of a Character/NPC's ability scores)
- NPC (random generation of an NPC, using the below "Lists")
- Tavern (random generation of a tavern with staff and patrons)
Each list extends the List class, which implements...
- Constructor to set file location/items directly
getItems()
to retrieve all itemsgetValues()
- to retrieve all item valuesgetItem(value)
- to retrieve a specific item by valuegetFiltered(filter?)
to retrieve all items with a filterpickRandom(filter?)
to pick random item from all items (with an optional filter)
- Age (number, e.g. "400" - filters for Race & Maturity)
- Armor (e.g. "studded leather armor") - filters for Druids not using metal
- Background (e.g. "Entertainer")
- Characteristic (e.g. "slender")
- Class (e.g. "Paladin") - filters for races not suiting a class
- Conclusion (methods by which a situation may end, e.g. "was killed")
- Currency (e.g. "gold") - weights to their respective conversions
- Danger (methods by which a situation might worsen, e.g. "seeking revenge")
- Ethic (e.g. "Chaotic") - weights to a reasonably interesting society
- Eye (e.g. "blue") - weights to the real world
- Flaw (character flaws, e.g. "I killed my family.")
- Hair (colour, e.g. "light brown") - weights to the real world
- Language (spoken language, e.g. "Giant")
- Location (generic locations, e.g. "ancient ruins")
- Maturity (range not number, e.g. "adult")
- Monster (generic monster, e.g. "a mummy")
- Moral (e.g. "Good") - weights to a reasonably interesting society
- Motivation (why someone does what they do, e.g. "family")
- Name (wrapper for Fantasy Name Generator to support more races)
- Nobility (e.g. "Merchant") - weights to the real world very roughly
- Past (generic previous time frame, e.g. " last month")
- Profession (e.g. "Town Crier")
- Royal (currently no Royal-only professions) - throne sitter and their family
- Noble (e.g. "Disgraced Royal") - ascending to or descending from royalty
- Knight (currently no Knight-only professions) - those who have been knighted
- Esquire (e.g. "Banker") - highly respected in society
- Gentle (e.g. "Town Crier") - regular invitee to the royal court
- Yeoman (e.g. "Farmer") - owner or cultivator of an estate
- Scholar (e.g. "Anthropologist") - expert in their academic field
- Merchant (e.g. "Wagoner") - proprietor of any commercial endeavour
- Servant (e.g. "Ferryman") - in service to one of the above
- Common (e.g. "Traveler") - most people in any society
- Peasant (e.g. "Runaway Slave") - extreme poverty
- Underclass (e.g. "Squatter") - fringe of society
- Race (e.g. "Kobold")
- Rumor (template for generating rumors, e.g. "A {Merchant:pickRandom} from the town was {Verb:pickRandom}{Past:pickRandom}")
- Sex (birth-assigned sex, e.g. "Female")
- Skin (colour, e.g. "olive")
- Subtlety (how flagrant an action may be, e.g. "quietly")
- Title (e.g. "Mrs")
- Trait (personality traits, e.g. "Nothing can shake my optimistic attitude.")
- Verb (generic verbs for rumors, e.g. "blackmailed")
- Weapon (e.g. "mace") - assigned only if maturity, class, and profession make sense