SystemStatus - Concept & Features

SystemStatus — Concept Review and Consolidated Feature Set

Product Concept

SystemStatus is a live campaign hub for SystemRPG that manages the full character lifecycle—from creation to progression—tracks skill XP with RNG-driven level checks, awards and spends Path Points, supports dice and combat, enables DM–player collaboration, integrates an optional world Knowledge Bank, and provides AI-assisted tooling for DMs.

Core Value

  • Unified, always-current source of truth for characters, skills, Paths, and combat state
  • Smooth DM workflows for awarding PP, unlocking/suggesting Paths, running encounters
  • Player-friendly, reactive sheets with clear derived stats and resource tracking
  • Extensible data model for homebrew (skills, traits, paths) and optional VTT/Discord bridges

Primary Users & Jobs

  • DM/Storyteller
    • Create/manage characters and campaigns; unlock Paths; award PP; run initiative/encounters; broadcast System Notifications
  • Player
    • Create/update their sheet; use/level skills; spend PP on Paths; roll dice; track resources
  • Homebrew Designer
    • Define/import custom Paths, Skills, Traits and safely validate/merge into a campaign

SystemRPG Mechanics Foundation (Essentials)

  • Stats Framework (18): Physical, Mental, Spiritual groups with Defense/Action/Support pairs. Spiritual stats are hidden until unlocked through play. See Stats.
  • Core Formulas: HP/MP/SP max and regen, Physical/Mental Attack/Defense, Walk Speed, Initiative. See Core Formulas.
  • Flux Checks (3d6): Primary resolution system with successes (5–6), failures (1–2), neutral (3–4); supports Resonant (exploding 6s), Discordant (cascading 1s), Harmonized/Disrupted, Dampened/Tempered. See Flux Check System.
  • Power Levels & Milestone Tiers: Compare actor vs opposition to set thresholds and dice bonuses; 1-tier advantage lowers success target to 0+, 3+ tiers add dice up to a cap, then auto-successes. See Power Scales and Flux Check System#Milestone Tier Advantage System.
  • Skills & PP: Skills have rarity/XP; each skill level grants 1 Path Point (PP). PP are spent on Paths; additional PP sources may exist (e.g., soulskills, items) per Path Points and Skills System.
  • Paths: Unlock via stat totals, skill levels, achievements, narrative events; support branching and extensions. See 8-Projects/ttrpg_gameDev/systemRPG/3-Mechanix/Paths/Paths and Trainee Path.

End-to-End Character Lifecycle

  1. Creation: name, species, origin, paradigm; 12 stats; optional traits/perks/quests/achievements/titles/class/level
  2. Sheet Editing: stat editor with live derived stat preview; optional sections expand on demand
  3. Play Loop: skill usage → XP accrual → RNG level checks → Level Up → PP awarded → PP spending on Paths
  4. Progression Review: diffs of stat/skill changes, PP transactions, Path unlocks/investments

DM Tooling

  • Unlock/lock Paths per character and award or override PP
  • Suggest Paths based on stats, prerequisites, and campaign history (AI-assisted)
  • Draft and send System Notifications (level up, PP awards, effects applied)
  • Review and approve player-submitted edits via human-readable diffs
  • Export encounter logs to Markdown

Player Tooling

  • Reactive character sheet with clear base/bonus/total breakdowns for stats and derived values
  • PP wallet and Path investment UI
  • Skill list with levels, XP to next, and one-click level checks
  • Personal roll history and quick commands (e.g., /rollSkill)

Dice & Combat Support

  • Flux Roller: 3d6 default pool with support for bonuses to rolls vs checks, Resonant/Discordant, Harmonized/Disrupted, neutral-range mods; tier calculator for thresholds, auto-success, bonus dice.
  • Other Dice: Fate (4dF) and standard dice (d4–d20, d100) for tools, items, or tables.
  • Combat Tracker: 1-second rounds; declare → adjudicate → roll (simultaneous) → narrate in initiative order; d20+Initiative; re-roll on shocks/terrain/visibility/combatant changes; CAS and action chains; conditions and durations; regen per second; encounter export. See Action Economy, Combat Sequence, Conditions.

Rules Integration Highlights (App Expectations)

  • Tier & Threshold Engine: Compute Power Levels and milestone tiers; set required successes and bonus dice; handle auto-success tiers.
  • Action Economy: Enforce CAS = floor(Initiative ÷ 5) and action chains (next action only if last rolled ≥1 success).
  • Damage Pipeline: Base dice → additive dice/flat modifiers → multiplier ×(1 + extra successes) → DR = floor(Endurance ÷ 5) → resistances/weaknesses → riders. See Damage Application Order, Damage Dice Scale.
  • Conditions Manager: Apply/clear standardized states (Off-Balance, Prone, Stunned, Bleeding, etc.) with effects and end conditions. See Conditions.
  • Positioning & Ranges: Movement per Walk Speed, difficult terrain, cover bonuses, AoE templates; narrative distance modes. See Positioning & Ranges.
  • Regen Tracking: Convert hourly regen to per-second ticks in combat; narrative-time estimates out of combat. See Core Formulas#Regeneration Per Second (Combat Tracking).

Data Model Notes (PRD-Oriented)

Core Entities

  • Workspace/Campaign: id, name, settings, visibilityDefaults, rulesToggles (e.g., spiritual stats enabled, reactions module)
  • User: id, displayName, role in workspace (SO/DM, Player), authProviderId
  • Character: id, workspaceId, ownerUserId, name, speciesId, originId, paradigm, stats, derivedStats, skills, paths, progressionWallet, visibilityMap, notes, timestamps
  • Lookup Data: species, origins, paradigms, skillsCatalog, pathsCatalog
  • Event: immutable audit records: id, workspaceId, characterId?, type, payload, actorUserId, ts
  • NotificationTemplate: id, name, category, targetAudience, bodyTemplate, variables, severity, delivery
  • NotificationRule: id, name, trigger, conditions, templateId, throttle, enabled
  • Notification (emitted): id, workspaceId, characterId?, recipientUserIds[], templateId, renderedBody, ts, status
  • PendingChange (player proposals): id, characterId, submitterUserId, proposedData, status, ts

Character Schema (shape)

{
  "id": "UUID",
  "workspaceId": "UUID",
  "ownerUserId": "UUID",
  "name": "string",
  "speciesId": "UUID",
  "originId": "UUID",
  "paradigm": { "focus": "Physical|Mental|Balanced", "role": "Action|Defense|Support" },
  "stats": {
    "vitality": { "base": 10, "bonus": 0 },
    "endurance": { "base": 8, "bonus": 0 },
    // ... all 12 physical/mental
    "spiritual": { /* present but hidden via visibility if not unlocked */ }
  },
  "derived": {
    "hp": { "maxBase": 84, "maxBonus": 12, "regenPerHourBase": 32, "regenBonus": 0, "current": 84 },
    "mp": { /* per Core Formulas */ },
    "sp": { /* per Core Formulas */ },
    "pAtk": { "base": 27, "bonus": 0 },
    "mAtk": { "base": 21, "bonus": 0 },
    "pDef": { "base": 19, "bonus": 0 },
    "mDef": { "base": 18, "bonus": 0 },
    "walkSpeed": { "base": 15, "bonus": 0 },
    "initiative": { "base": 12, "bonus": 0 }
  },
  "skills": [
    { "id": "SkillID", "name": "Woodworking", "rarity": 3, "level": 4, "xp": 240, "xpToNext": 500, "powerLevel": 13 }
  ],
  "progressionWallet": { "pp": 5 },
  "paths": [ { "id": "PathID", "name": "Newbie Path", "level": 7, "branch": "", "milestones": [25,50] } ],
  "visibilityMap": { /* see below */ },
  "notes": "markdown",
  "createdAt": "ISO8601",
  "updatedAt": "ISO8601"
}

Visibility & Access Control

  • Roles: SO/DM (full control), Player (their character with limits).
  • Field-Level Visibility: Map of field-path → visibility state by audience.
{
  "defaults": { "player": "show", "otherPlayers": "hide" },
  "overrides": {
    "stats.spiritual.*": { "player": "hide" },
    "derived.*": { "player": "show" },
    "paths[*].milestones": { "player": "show" },
    "notes.secretSection": { "player": "hide" }
  }
}
  • Section Toggles: Global workspace toggles (e.g., “Enable Spiritual Stats”) and per-character overrides.
  • Redaction in Notifications: Templates can include conditions to omit hidden fields automatically.

Events & Notification Automation

  • Event Types (emit to audit log): character.created, stats.updated, skill.used, skill.levelUp, pp.awarded, pp.spent, path.unlocked, path.progressed, combat.roundStart, combat.conditionApplied, injury.triggered, initiative.reRoll, visibility.changed, note.added.
  • Notification Builder (SO/DM UI):
    • Template editor with variables: {{character.name}}, {{skill.name}}, {{skill.level}}, {{pp.total}}, {{path.name}}, {{delta}}, {{so.displayName}}, timestamps, etc.
    • Categories: Info, Success, Warning, Danger; Channels: in-app, optional webhook.
    • Audience: player, party, DM-only, custom list.
    • Preview with live data and redaction preview.
  • Rules Engine:
    • Trigger: event matcher (e.g., skill.levelUp), optional filters (skill ids, path ids, threshold deltas, tiers), schedule (immediate, batched per round).
    • Action: render template, deliver to audience, write to log; throttle windows (e.g., 1 per 10s per character per event type).
    • Examples:
      • On skill.levelUp: send “Level Up” to player, include PP change, suggest [[Paths]] matching new thresholds.
      • On path.unlocked: notify DM+player; optionally auto-toggle visibility of new sheet sections.
      • On combat.conditionApplied: send brief condition summary with end condition.

Skill, Path, PP Details (alignment)

  • Each skill level = +1 PP (see Skills System). Skill rarity/XP gates pacing; store rarity, xp, xpToNext.
  • PP wallet is authoritative; spending creates events and optional notifications; supports DM overrides.
  • Paths support: unlockConditions, branching, extensions, milestone rewards; store both catalog definition and character progress.

Computation Notes

  • Derived fields are computed from authoritative stats and applied bonuses; store computed snapshot for caching plus raw inputs to recompute deterministically.
  • CAS = floor(initiative / 5); enforce action-chains by referencing previous action result per round.
  • Damage pipeline follows Damage Application Order; DR = floor(Endurance ÷ 5).

Requirements (PRD-Ready Additions)

Visibility & Access

  • F-80: SO can toggle visibility per field/section (including stats.spiritual.*) per character, with workspace defaults.
  • F-81: Player view must auto-hide redacted fields; DM view shows redaction state and quick toggles.
  • F-82: Redaction-aware exports and notifications (no leakage of hidden values).

Notifications & Automation

  • F-90: SO Notification Builder tab with templates, variables, categories, audience selection, preview, history.
  • F-91: Rules engine to auto-emit notifications on events; supports conditions, throttling, and delivery channels.
  • F-92: Manual “Compose & Send” with quick-inserts (Level Up, PP Award, Path Unlock, Condition Applied).
  • F-93: Notification log per character and global; filterable by category/event.

Character & Progression

  • F-100: 18-stat support with spiritual stats optionally enabled and hidden by default; reveal flow per SO.
  • F-101: Derived stat engine per Core Formulas with per-second regen tracking in combat.
  • F-102: Flux Check roller with tier calculator, bonuses-to-roll vs bonuses-to-check, special effects.
  • F-103: Skills with rarity/XP; each level grants +1 PP; PP wallet and spend history.
  • F-104: Paths with unlock conditions, branching, extensions; suggestions informed by stats, tiers, history.

Combat & Encounter

  • F-110: Combat sequence support (declare → adjudicate → roll simultaneous → narrate by initiative); d20 initiative; re-roll triggers.
  • F-111: CAS/action chains enforcement; conditions manager; damage calculator with DR/resists.
  • F-112: Encounter log export to markdown with rolls, outcomes, conditions, damage application steps.

Collaboration & Review

  • F-120: Player working copy → DM diff review → approve/reject → master record update.
  • F-121: Audit/Event log for all mutations; link events to notifications.

Admin & Data

  • F-130: Rule packs import (skills/paths/traits); schema validation; merge preview.
  • F-131: Export/import campaign data including visibility maps and notification rules.

Collaboration & Session Model

  • Roles: DM and Player access modes
  • Live edits reflected across connected clients
  • Optional offline buffering for transient disconnects; export/import for portability
  • Player edits flow: working copy → submit for DM review → diff → approve/reject → apply to master

Knowledge Bank (Optional)

  • In-app viewer for markdown world notes with wiki-style navigation
  • DM visibility toggles so players only see unlocked content
  • Aligns with Obsidian workflows and wikilinks

AI-Assisted Features

  • DM chat over campaign/character context
  • Path suggestions based on prerequisites, stats, and history
  • Level-Up wizard with summarized change sets and rationale
  • Natural-language queries (e.g., “show characters who leveled Acrobatics last month”)

Homebrew & Extensibility

  • Import rule packs (skills/paths/traits) with schema validation and safe merge
  • Optional widget/plugin surface for custom UI panels (e.g., sheet sidebar, combat footer)
  • Event webhooks for external tools (e.g., Discord, analytics)

Data & Portability

  • Campaign/character data export/import (JSON/YAML)
  • Markdown export of character sheets and encounter logs for archiving or sharing
  • Clear provenance for bonuses (items, paths, effects) to support transparent recalculation

Accessibility & UX Principles

  • Keyboard-first navigation; screen-reader labels
  • Clear numerics and formula transparency for derived stats
  • Progressive disclosure: advanced fields stay hidden until relevant

Consolidated Feature List (Platform-Agnostic)

  • Character creation and editing aligned to SystemRPG schema
  • 18-stat framework with live derived stats (HP/MP/SP, regen, initiative, atk/def), spiritual stats support (hidden until unlocked)
  • Skills with rarity/XP, PP on level-up; PP wallet and Path management (unlocking, branching, extensions, suggestions)
  • Flux Check roller (3d6) with special effects, tier calculator, bonuses to roll vs check, auto-success handling; dice history
  • Combat tracker: 1-second rounds, d20 initiative and re-roll triggers, CAS/action chains, simultaneous resolution, conditions, per-second regen, logs/export
  • Damage calculator pipeline and DR application; resistances/weaknesses; riders
  • DM/SO–player collaboration: roles, live updates, review/approval of edits
  • Knowledge Bank viewer for markdown with DM-controlled visibility; links to Character_Creation_Guide, Player_Glossary, Welcome_to_the_System
  • AI assistant: SO chat, Path suggestions, level-up wizard, NL queries
  • Homebrew import/validation for rule packs (skills/paths/traits)
  • Optional plugin/widget surfaces and outbound webhooks
  • Export/import of campaign data; markdown exports; optional versioning

Milestone Guidance (Optional)

  • Phase 1: Core sheet, skills with RNG checks, PP wallet, dice roller
  • Phase 2: Combat tracker, Knowledge Bank, export/import
  • Phase 3: Path suggestions and AI wizard, homebrew imports, webhooks/plugins

References (Source Notes)