Skip to content

Add private/hidden roll system for DM-only visibility #58

Description

@FirebrickRed

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

Description

Add support for private rolls where only the rolling player and DM(s) can see the result. Useful for Stealth checks, Insight checks, and other situations where other players shouldn't know the result.

Use Cases

  • Stealth checks: Enemies shouldn't know if rogue rolled high or low
  • Insight checks: Other players shouldn't know if you detect a lie
  • Perception checks: DM controls what players notice
  • Deception checks: Target shouldn't know if lie succeeded

Proposed Implementation

Roll Options Menu (from Issue #55)

Add "Roll Privately" option:

[Normal Roll]        - Public (everyone sees)
[Advantage]          - Public
[Disadvantage]       - Public
[Roll Privately]     - Only player + DMs see
[Show Modifier]      - Public
[Cancel]

Chat Output

Public rolls (everyone):

[CharName] rolled Stealth: 18 (d20: 13 + 5)

Private rolls (player + DM only):

To player: "You rolled Stealth: 18 (d20: 13 + 5)"
To DMs: "[CharName] rolled Stealth (private): 18 (d20: 13 + 5)"
To others: "[CharName] rolled Stealth privately" (no result shown)

Acceptance Criteria

  • Add "Roll Privately" option to roll menu
  • Detect DM players (requires DM Role Management System #46)
  • Send detailed result to player + DMs only
  • Send generic message to other players
  • Works with normal/advantage/disadvantage rolls

Related Issues

Technical Notes

  • Use player.sendMessage() for targeted messages
  • Use Bukkit.broadcast() for public messages
  • Check DM role via permissions or DM tracker from DM Role Management System #46

Metadata

Metadata

Assignees

No one assigned

    Labels

    dm-toolsDM-specific commands and features

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions