Skip to content

Character Sheet Commands (View and Give) #47

Description

@FirebrickRed

Priority: MEDIUM
Status: TODO
Depends on: #46 (DM Role Management)

Description

Add commands for DMs to view any saved character sheet (by character name OR player name) and for giving character sheet paper items to players (useful when they lose theirs).

Commands

View Character Sheet

/viewsheet <characterName> - View any saved character by name (DM only)
/viewsheet player <playerName> - View player's character (DM only)
/viewsheet - Open your own character sheet (if you have one)

Give Character Sheet Item

/givesheet <player> <characterName> - Give character sheet paper item

Command Examples

# DM views character by name (works for NPCs, offline players, etc.)
/viewsheet "Bjorn the Bold"
→ Opens Bjorn's character sheet directly

/viewsheet Gandalf
→ Opens NPC Gandalf's character sheet

# DM views all characters owned by a player
/viewsheet player charlie
→ Opens selection menu if Charlie has multiple characters
→ Opens character sheet directly if Charlie has one character

# Player opens their own sheet
/viewsheet
→ Opens your character sheet (if you have one)
→ Shows selection menu if you have multiple characters

# DM gives Charlie their lost character sheet paper
/givesheet charlie "Bjorn the Bold"
→ Gives Bjorn's character sheet paper to Charlie

Acceptance Criteria

  • /viewsheet <characterName> - View any character by name (DM only)
  • /viewsheet player <playerName> - View player's characters (DM only)
  • /viewsheet - Player views own character (any player)
  • /givesheet <player> <characterName> - Give character sheet paper item (DM only)
  • Tab completion for character names (all saved characters)
  • Tab completion for player names
  • Handle characters with spaces in names (use quotes)
  • Reuse existing ViewCharacterSheetMenu
  • Permission checks using isDM() from Issue DM Role Management System #46
  • Error messages for invalid characters/players

Use Cases

  1. DM Rulings - "What's Bjorn's AC again?" → /viewsheet Bjorn
  2. NPC Management - View NPC character sheet for combat → /viewsheet "Goblin Chief"
  3. Offline Players - Check character when player isn't online → /viewsheet "Elara Moonwhisper"
  4. Lost Paper Item - "I lost my character sheet!" → /givesheet charlie "Bjorn the Bold"
  5. Quick Self-View - Player checks stats → /viewsheet
  6. Browse All Player Chars - /viewsheet player charlie → see all Charlie's characters

Tab Completion

/viewsheet <TAB>
→ All saved character names (Bjorn the Bold, Elara, Gandalf, etc.)
→ "player" keyword

/viewsheet player <TAB>
→ All player names (charlie, astra, diana, etc.)

/givesheet charlie <TAB>
→ All saved character names

Technical Notes

  • Need to add CharacterSheetManager.getAllCharacterNames() for tab completion
  • Need to add CharacterSheetManager.getCharacterByName(String name) for lookup
  • Reuse ViewCharacterSheetMenu.open(player, characterId) for display
  • Handle characters with spaces using quoted strings
  • Paper item creation already exists in CharacterSheetItemListener

Character Lookup Strategy

  1. /viewsheet "Bjorn the Bold" → Search all characters by name
  2. /viewsheet player charlie → Search characters owned by player UUID
  3. /viewsheet → Get player's own characters

Permissions

Related Issues

Future Enhancements

  • /viewsheet list - Show all saved characters
  • /viewsheet search <query> - Search characters by name/class/race
  • /comparesheet <char1> <char2> - Compare two character sheets
  • /exportsheet <characterName> - Export to JSON/PDF

Metadata

Metadata

Assignees

No one assigned

    Labels

    character-sheetCharacter sheet UI and display

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions