Establishment Generator
Generate detailed D&D 5e establishments — taverns, inns, and shops — with proprietors, menus, pricing, and atmospheric details
Spec: 02-tavern-shop-generator
Generate detailed D&D 5e taverns, inns, and shops with proprietors, menus, pricing, and atmospheric details. Create immersive establishments tailored to your campaign's settlement size and economic level in seconds.
Quick Start
- Navigate to Generate → Establishment Generator
- Select Establishment Type: Tavern, Inn, or Shop
- Choose Settlement Size (hamlet to metropolis) and Economic Level (poor to aristocratic)
- Click Generate Establishment (or press Cmd+Enter / Ctrl+Enter)
- Review the generated establishment with proprietor, menu/inventory, and atmospheric details
- Click Save to Library (or press Cmd+S / Ctrl+S) to save for later use
Form Inputs
Required Fields
Establishment Type
- Tavern: Drinking establishment with food and atmosphere for patrons
- Generates: Menu (3-6 food + 3-6 drink items), proprietor, optional notable patrons
- No lodging available
- Inn: Lodging establishment with food service and rooms
- Generates: Menu (2-4 food + 2-4 drink items), rooms (2-4 types), proprietor, optional staff
- Provides overnight accommodations
- Shop: Retail establishment selling goods and services
- Generates: Inventory (8-15 items), optional services, proprietor
- Requires shop specialty selection
Shop Specialty (required if type = Shop)
- General Store: Adventuring gear, supplies, rations
- Weapons & Armor: Martial equipment, shields, armor
- Smithy: Metalwork, repairs, custom orders
- Jeweler: Gems, jewelry, fine goods
- Magic Items: Potions, scrolls, minor magical items (requires city+ settlement with wealthy+ economic level)
- Alchemist: Potions, reagents, alchemical supplies
- Clothier: Clothing, fabrics, tailoring services
Settlement Size
- Hamlet (under 100 people): Limited selection, basic goods
- Village (100-1,000): Standard selection, common goods
- Town (1,000-5,000): Good variety, some uncommon goods
- City (5,000-25,000): Wide selection, uncommon goods available
- Metropolis (25,000+): Extensive selection, rare goods available
Economic Level
- Poor (0.5× multiplier): Shabby conditions, minimal offerings
- Example: Ale 2 cp (instead of 4 cp), private room 2 sp 5 cp (instead of 5 sp)
- Modest (0.75× multiplier): Simple and functional
- Example: Ale 3 cp, private room 3 sp 8 cp
- Comfortable (1.0× multiplier): Standard PHB prices
- Example: Ale 4 cp, private room 5 sp, rope 1 gp
- Wealthy (1.5× multiplier): Fine quality and service
- Example: Ale 6 cp, private room 7 sp 5 cp, rope 1 gp 5 sp
- Aristocratic (3.0× multiplier): Luxurious and exclusive
- Example: Ale 1 sp 2 cp, private room 1 gp 5 sp, rope 3 gp
Optional Fields
World Setting
- Select a campaign setting for flavor (Forgotten Realms, Eberron, Greyhawk, etc.)
- Influences naming conventions and cultural details
- Note: Uses SRD-compliant terms only (no trademarked content)
Custom Name (100 characters max)
- Provide your own establishment name
- System validates against SRD compliance
- Blocked names: Yawning Portal, Waterdeep locations, trademarked D&D terms
- Example: "The Dragon's Rest" ✓, "The Yawning Portal" ✗
Custom Notes (500 characters max)
- Add context for generation (location, patron types, reputation)
- Example: "Rough dockside tavern frequented by sailors and smugglers"
- System filters unsafe content and trademarked terms
Link Existing NPC
- Select an existing saved NPC from your library to be the proprietor
- Replaces AI-generated proprietor with your pre-created character
- Must be a valid NPC content type owned by you
Generate Options
- Generate Staff (inns only): Create lite-detail staff NPCs
- Town inn: 2 staff, City inn: 3 staff, Metropolis inn: 4 staff
- Examples: Server, cook, stablehand, room attendant
- Generate Notable Patrons (taverns only): Create 1-3 flavor-text patrons
- Town+ settlements only (hamlets too small)
- Examples: Mysterious cloaked figure, boisterous merchant, weary traveler
- Generate Rumors: Create 2-4 rumors with GM metadata (truthfulness, tone)
- Generate Quest Hooks: Create 1-3 adventure seeds
- Include Secrets: Add hidden information for GM eyes only
Settlement Size × Economic Level Guidance
Warnings vs. Errors
Soft Warnings (unusual but allowed)
- Hamlet + Wealthy: "A hamlet with a wealthy establishment is unusual"
- Hamlet + Aristocratic: "Villages rarely have aristocratic establishments"
- Village + Aristocratic: Same as hamlet
These combinations are allowed but flagged as narratively unusual. Consider backstory justification.
Hard Errors (blocked)
- Magic Item Shop requires City+ settlement with Wealthy+ economic level
- Village + Wealthy magic shop: ✗ Blocked (settlement too small)
- City + Comfortable magic shop: ✗ Blocked (economic level too low)
- City + Wealthy magic shop: ✓ Allowed
Recommended Combinations
| Settlement | Poor | Modest | Comfortable | Wealthy | Aristocratic |
|---|---|---|---|---|---|
| Hamlet | ✓ Typical | ✓ Common | ✓ Uncommon | ⚠️ Unusual | ⚠️ Rare |
| Village | ✓ Common | ✓ Typical | ✓ Common | ✓ Possible | ⚠️ Unusual |
| Town | ✓ Possible | ✓ Common | ✓ Typical | ✓ Common | ✓ Possible |
| City | ✓ Possible | ✓ Common | ✓ Typical | ✓ Common | ✓ Common |
| Metropolis | ✓ Possible | ✓ Common | ✓ Common | ✓ Typical | ✓ Common |
NPC Detail Tiers
The generator uses a three-tier NPC system based on narrative importance:
Full Detail (Proprietor)
Always included for all establishment types
What You Get:
- Complete 5e stat block with ability scores, skills, traits
- Personality traits, ideals, bonds, flaws
- Background and equipment
- Ready for combat or social encounters
CR Scaling:
- Poor establishment: CR 0 (commoner-level)
- Comfortable: CR 1/4 to 1/2
- Aristocratic: CR 1 to 2 (veteran, noble)
Example:
Greldor Ironbelly (Dwarf Commoner)
- AC 10, HP 4, Speed 25 ft.
- STR 10, DEX 10, CON 12, INT 10, WIS 12, CHA 14
- Skills: Persuasion +4
- Personality: Jovial and welcoming, values community
- Background: Former adventurer turned tavern keeper
Lite Detail (Staff)
Optional for inns (town: 2, city: 3, metropolis: 4)
What You Get:
- Name, race, occupation
- Personality snapshot (1-2 sentences)
- Appearance notes
- Enough detail for interaction, not combat
No Combat Stats:
- Not intended for combat encounters
- Can be promoted to full detail later if needed
Example:
Mara (Human Server)
- Cheerful young woman with quick wit
- Always remembers regular customers' favorite drinks
- Appearance: Braided auburn hair, warm smile
Flavor Detail (Patrons)
Optional for taverns (1-3 in town+ settlements)
What You Get:
- Name, race, occupation/role
- Brief appearance description
- Demeanor or activity
- Background atmosphere element
Purpose:
- Add life and atmosphere to the establishment
- Potential plot hook introduction
- Quick reference for improvisation
Example:
Mysterious Cloaked Figure (Unknown)
- Hooded cloak concealing features, only eyes visible
- Sits in corner booth, watching the door
- Speaks little, pays in gold coins
Pricing System
Base Prices (PHB pp. 157-159)
All prices derived from Player's Handbook with copper piece calculations:
- 1 gp = 100 cp
- 1 sp = 10 cp
- 1 cp = 1 cp
Price Calculation
Formula: Final Price = Base Price × Economic Multiplier
Rounding: Always rounds UP to nearest copper
- Example: 3 cp × 0.5 = 1.5 cp → rounds UP to 2 cp
- Example: 50 cp × 1.5 = 75 cp → 75 cp (exact)
Price Formatting
Less than 1 gp: Simplified format (sp and cp only)
- 4 cp → "4 cp"
- 30 cp → "3 sp"
- 53 cp → "5 sp 3 cp"
≥ 1 gp: Full breakdown with trailing zero suppression
- 100 cp → "1 gp" (not "1 gp 0 sp 0 cp")
- 110 cp → "1 gp 1 sp" (not "1 gp 1 sp 0 cp")
- 103 cp → "1 gp 3 cp" (skips "0 sp")
- 123 cp → "1 gp 2 sp 3 cp" (full breakdown)
Free Items
Some items may have 0 cp cost (e.g., water):
- 0 cp → "0 cp" (free but still listed)
Menu & Inventory Examples
Tavern Menu (Comfortable, Town)
Food (3-6 items):
- Bread (loaf): 2 cp
- Porridge (bowl): 3 cp
- Stew (bowl): 3 cp
- Roasted Chicken: 3 sp
- Meat Pie: 5 cp
- Cheese (hunk): 1 sp
Drink (3-6 items):
- Water (pitcher): 0 cp
- Ale (mug): 4 cp
- Cider (mug): 5 cp
- Wine (common, pitcher): 2 sp
- Mead (pitcher): 2 sp 5 cp
- Beer (pint): 8 cp
Inn Rooms (Wealthy, City)
2-4 Room Types:
- Common Room: 1 sp 1 cp/night (shared sleeping, 6 capacity)
- Shared Room: 1 sp 5 cp/night (2-4 beds, chamber pot)
- Private Room: 7 sp 5 cp/night (single bed, washbasin, table)
- Suite: 3 gp/night (multiple rooms, fireplace, private bath)
Note: Rooms scaled by settlement size:
- Hamlet inn: 2-3 rooms total
- Town inn: 8-12 rooms
- City inn: 20-30 rooms
- Metropolis inn: 50+ rooms
Shop Inventory (Aristocratic, General Store)
8-15 Items with Quantities:
- Rope (50 ft): 3 gp × 5 in stock
- Backpack: 6 gp × 8 in stock
- Bedroll: 3 gp × 10 in stock
- Rations (1 day): 1 sp 5 cp × 50 in stock
- Torch: 3 cp × 100 in stock
- Waterskin: 6 sp × 12 in stock
Services (optional):
- Equipment Repair: 1 gp 5 sp
- Rope Splicing: 3 sp
SRD Compliance Tips
The generator automatically filters trademarked D&D content per SRD 5.2 rules:
Blocked Terms (automatically filtered)
- Creatures: Beholder, Mind Flayer, Illithid, Yuan-ti
- Locations: Waterdeep, Greyhawk, Forgotten Realms, Eberron cities
- NPCs: Elminster, Drizzt, Mordenkainen, Bigby
- Terms: Dungeon Master (use "Game Master"), D&D (use "fantasy RPG")
Allowed Terms (SRD-compliant)
- Standard races: Human, Elf, Dwarf, Halfling, Gnome, Half-Elf, Half-Orc
- Generic creatures: Goblin, Dragon, Ogre, Troll, Orc
- Standard classes: Fighter, Wizard, Cleric, Rogue, etc.
- Generic locations: "The Golden Goblet", "Mountain Tavern", "Riverside Inn"
Custom Name Validation: If your custom name contains blocked terms, the generator will:
- Show error message with specific violation
- Suggest alternatives
- Block generation until name is fixed
Example:
- ❌ "The Yawning Portal Tavern" → Error: "Yawning Portal" is trademarked
- ✓ "The Open Door Tavern" → Allowed
Export Formats
PDF Exports
GM Mode:
- Includes ALL content: secrets, rumor truthfulness/tone, quest hooks
- Rumor format: "Text" [TRUE] [MYSTERIOUS]
- Secrets section with collapsible warning
- Full NPC stat blocks for proprietor
Player Mode:
- Excludes: Secrets section, rumor GM metadata
- Rumor format: "Text" (no truthfulness/tone badges)
- Safe to share with players
- Still includes full proprietor stats (players may meet them)
VTT Exports
Foundry VTT:
- Journal Entry format with multiple pages
- Pages: Overview, NPCs, Menu/Inventory, Rooms, Rumors & Hooks
- GM content flagged with visibility permissions
- Ready to drag-and-drop into journal
Roll20:
- Handout format with HTML formatting
- Notes: Player-visible content
- GM Notes: Secrets and GM metadata
- Includes character tokens for proprietor (if needed)
All Exports:
- Automatic SRD compliance sanitization before export
- Preserves price formatting
- Maintains establishment structure
Integration with Other Content
Linked NPCs
Use existing NPCs from your library as proprietors:
- Generate an NPC using the NPC Generator
- Save to your library
- When generating establishment, select "Link Existing NPC"
- Choose your NPC from dropdown
- System validates: Must be NPC content type, must be owned by you
Error Codes:
LINKED_NPC_INVALID: NPC not found or wrong content typeLINKED_NPC_ACCESS_DENIED: NPC owned by different user (RLS violation)
Campaign Integration
Establishments can be:
- Linked to campaign locations
- Referenced in plot hooks and encounters
- Used as quest starting points
- Connected to faction headquarters
Quota & Billing
Generation Quota:
- Each establishment generation counts as 1 generation toward your monthly quota
- Embedded NPCs (proprietor, staff, patrons) do NOT count separately
- Example: Generating an inn with 1 proprietor + 3 staff + 2 patrons = 1 quota usage
Tier Limits:
- Free Tier: 10 generations/month, 5 saved establishments
- Premium Tier: 200 generations/month, unlimited saves
Keyboard Shortcuts
- Generate:
Cmd+Enter(Mac) /Ctrl+Enter(Windows) - Save:
Cmd+S/Ctrl+S - Export PDF:
Cmd+E/Ctrl+E - Clear Form:
Cmd+Delete/Ctrl+Delete
Troubleshooting
"Validation error: Magic shops require city+ settlement"
- Solution: Change settlement to City or Metropolis, AND economic level to Wealthy or Aristocratic
"Linked NPC not found"
- Solution: Verify NPC exists in your library and is content_type='npc'
"Generation quota exceeded"
- Solution: Upgrade to Premium tier or wait for monthly reset
"Custom name contains trademarked term"
- Solution: Remove trademarked words (check error message for specific term)
Staff not generating for inn
- Solution: Ensure "Generate Staff" checkbox is enabled and settlement is Town+
Patrons not generating for tavern
- Solution: Ensure "Generate Patrons" checkbox is enabled and settlement is Town+ (hamlets too small)
Tips & Best Practices
For New DMs:
- Start with "Comfortable" economic level (standard PHB prices)
- Use town or city settlements (good variety without overwhelming choices)
- Enable all generation options (staff, patrons, rumors, hooks) for maximum content
- Save establishments to library for reuse across campaigns
For Experienced DMs:
- Use settlement × economic warnings as narrative opportunities
- Hamlet + Aristocratic = Noble's rural estate or hidden safehouse
- Link existing villain NPCs as shop proprietors for plot hooks
- Generate multiple establishments and cherry-pick best results
- Export to VTT format for seamless session integration
For Campaign Builders:
- Generate establishments for all major settlements upfront
- Use consistent economic levels within same settlement
- Link establishments to faction headquarters or plot locations
- Export to PDF GM mode for session prep binders
See Also
- Architecture Documentation - Developer guide
- NPC Generator Guide - Create custom NPCs for linking
- Export Formats - Detailed export specifications
- SRD Compliance - Full list of blocked/allowed terms