Characters

Phase 3 feature. Define character sheet data — system rules, ancestry/race, class features, stats — and auto-generate all weapon/spell rolls with correct notation, including modifiers, rerolls, crit rules, and Named Parameters.

Character Definition

A character record contains:

System & Rules

  • Game system: D&D 5e, Pathfinder, Call of Cthulhu, FATE, Custom
  • Crit rule: Normal (c), Perkins Crit (C), or system-specific override
  • Reroll mechanic: e.g., Halfling Lucky (d20r)

Ancestry / Race

  • Race name (Halfling, Human, Elf, etc.)
  • Racial features encoded as notation transformations
    • Halfling: d20 rolls wrap as d20r (reroll 1s)
    • Custom: user can define arbitrary notation templates

Class & Features

  • Class name (Fighter, Paladin, Rogue, etc.)
  • Features as named parameters or dice modifiers
    • Paladin: gain <smite> parameter (adds dice on demand)
    • Champion: expand crit range, e.g., n[19..20] instead of n20
    • Rogue: <sneak_attack> parameter (adds d6 per level)

Ability Scores & Modifiers

  • STR, DEX, CON, WIS, INT, CHA → numeric modifiers
  • Skills with proficiency + bonuses
  • AC, hit dice per level, spell DC

Weapons & Attacks

  • Weapon name (longsword, shortbow, magic missile)
  • Attack notation template: d20+<str_mod> -> d8+<str_mod> (attack → damage)
  • Conditional damage: crits, smites, bonus actions
  • Damage dice, modifiers, special rules (e.g., two-weapon fighting penalty)

Spells

  • Spell name, level, save type
  • Roll notation for damage or effect
  • Parameters for scaling (spell slot spent, upcast bonus dice)

Auto-Generated Favorites

The app generates a full Favorites list from character data:

  1. Weapon Attacks — every weapon becomes a favorite with attack + damage flow

    • Notation auto-includes modifiers, racial rerolls, crit rule, class features
    • Example: Halfling Paladin with longsword → (2(d20r)kh)+3 -> d8+3(<smite>?+2d8)(n20?C)
  2. Spells — each spell becomes a favorite with damage/save notation

    • Notation includes save DC, spell modifier, upcast parameters
    • Example: Magic Missile (Evocation) → 3(1d4+1)+[upcast_bonus]
  3. Bonus Actions — special actions encoded as flows

    • Example: Rogue disengage + sneak attack → multi-box flow with conditional sneak attack dice

The app respects all character rules when building notation:

  • Applies racial reroll mechanics
  • Includes class feature parameters (smite, sneak attack, bardic inspiration, etc.)
  • Respects crit rule (normal vs. Perkins) for that character
  • Honors proficiency bonuses and ability modifiers
  • Scales with level (hit dice, spell slots, damage progression)

No manual notation editing required — user just picks the weapon/spell from a menu, app generates correct notation, player taps to roll.

Discord Bot Integration

Once a character is defined, the Discord Bot can resolve shorthand commands:

/roll Bramblewood longsword

Discord bot looks up “Bramblewood” character, finds “longsword” weapon, fetches the auto-generated notation, rolls it, and posts result with interactive parameter buttons.

Sync & Accounts

Phase 3 likely requires user accounts and cloud sync:

  • Login via OAuth (Discord, Google, or custom)
  • Store characters in cloud database
  • Sync between web app, Discord bot, native apps
  • Share characters within gaming groups (read-only or collaborative edit)

Offline-first still works: characters cached locally, sync on next connection.

Feasibility Notes

This is a high-value feature — end users think in character terms, not notation. But it requires:

  • UI for character builder (forms for stats, features, weapons)
  • Notation generation logic (mapping system rules to notation)
  • Accounts & sync infrastructure (possibly deferred to Phase 3.5)

Minimum viable scope: D&D 5e only, predefined classes/races, user-editable stat/modifier fields. Custom systems deferred.

See also: Roadmap, Architecture, Discord Bot, Favorites, MCP Server