Skip to content

Entity Stat Block Display #74

Description

@FirebrickRed

Summary

Display full D&D 5e stat blocks for entities when players or DMs interact with them. Shows AC, HP, abilities, attacks, traits, and other D&D information using the existing LoreBuilder pattern.

Phase: 2 - Interaction
Systems: Entity System, UI, Interaction

Prerequisites

Goals

  • Right-click entity with empty hand → open stat block menu
  • /entity info <entity> command alternative
  • Full D&D 5e stat block display using LoreBuilder
  • Different displays for NPCs vs Monsters
  • DM-only sections (DM notes, hidden stats)
  • Configurable visibility per entity

Stat Block Format

┌─────────────────────────────────┐
│   Balin the Blacksmith          │
│   Medium Humanoid (Dwarf)       │
├─────────────────────────────────┤
│ AC: 12  HP: 27/27  Speed: 25ft │
├─────────────────────────────────┤
│ STR: 16 (+3)  DEX: 10 (+0)      │
│ CON: 14 (+2)  INT: 10 (+0)      │
│ WIS: 11 (+0)  CHA: 9  (-1)      │
├─────────────────────────────────┤
│ Attacks:                         │
│ • Warhammer: +5, 1d8+3 bludgeon │
├─────────────────────────────────┤
│ Occupation: Blacksmith           │
│ Disposition: Friendly            │
│                                  │
│ [DM ONLY - Hidden from Players] │
│ Notes: Gruff but fair, loves ale│
│ Accent: Scottish                 │
└─────────────────────────────────┘

YAML Configuration

id: balin_blacksmith
name: "Balin"

# Control what players can see
stat_block_visibility:
  players_can_see: true  # false = DM only
  show_hp: false         # Hide current HP from players
  show_attacks: true     # Show attack stats
  
dm_notes:
  personality: "Gruff but fair"
  accent: "Scottish"
  # Only visible to DM

Display Variations

  • NPCs: Show occupation, disposition, dialogue hints
  • Monsters: Show traits, loot hints (DM only)
  • DM View: All stats + DM notes + hidden items
  • Player View: Limited stats based on visibility config

Next Steps

After completing this issue, tackle:

Related Issues

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions