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
- Creation: name, species, origin, paradigm; 12 stats; optional traits/perks/quests/achievements/titles/class/level
- Sheet Editing: stat editor with live derived stat preview; optional sections expand on demand
- Play Loop: skill usage → XP accrual → RNG level checks → Level Up → PP awarded → PP spending on Paths
- 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.
- Template editor with variables:
- 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.
- On
- Trigger: event matcher (e.g.,
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)
- SystemStatus-PRD
- system_webapp_explorationConv
- system game webapp
- System App
- the-system-app
- Flux Check System
- Power Scales
- Action Economy
- Combat Sequence
- Damage Application Order
- Damage Dice Scale
- Conditions
- Positioning & Ranges
- Stats
- Core Formulas
- Skills System
- Path Points
- 8-Projects/ttrpg_gameDev/systemRPG/3-Mechanix/Paths/Paths
- Trainee Path
- Character_Creation_Guide
- Player_Glossary
- Welcome_to_the_System