2.9 KiB
2.9 KiB
Changelog
All notable changes to Darkwatch are documented here.
Format: Keep a Changelog Versioning: Semantic Versioning
[Unreleased]
[0.1.0] - 2026-04-11
Added
Auth & Access
- Email/password authentication with JWT httpOnly cookies
- Register, login, and logout flows
- Campaign membership — DM and player roles
- Invite link system for joining campaigns
- Per-campaign role enforcement — API middleware, socket auth, and frontend gating
Campaign Management
- Campaign CRUD with real-time sync via Socket.IO
- DM and player roles with distinct permissions per campaign
Characters
- Full character CRUD — stats (STR, DEX, CON, INT, WIS, CHA), gear, talents, HP, XP, currency
- Auto-calculated AC and derived attacks
- Talent effects — stat bonuses, AC, attack/damage, gear slots, HP scaling
- Click-to-edit stats with view/edit mode split
- Per-character color picker
- DiceBear avatars with style picker
- Character title auto-derived from class + alignment + level
- Character creation wizard — 4-step modal: name/class/ancestry → 3d6 stat rolling → background/alignment/deity → review (HP, gold, gear slots, title all auto-derived)
Spellcasting
- 34 Tier 1–2 spells (Wizard and Priest)
- 1d20 cast checks with exhaustion on failure
- Wizard mishap table (d12, auto-applied with undo)
- Priest penance mechanic
- Rest to recover spells
- Spell focus indicator on DM character cards — shows which characters have active spell exhaustion
Dice Rolling
- 3D animated dice with predetermined outcomes
- Character-colored dice
- Delayed roll log
- Advantage/disadvantage support
- Long-press for advantage/disadvantage on mobile
Torch Timer & Luck Tokens
- 60-minute torch countdown, synced across all clients
- Luck token toggle per character
Atmosphere Effects
- Fog overlay with intensity slider — DM-only, synced via socket
- Fire effect (Three.js particles)
- Rain and embers (tsParticles)
Initiative Tracker
- Team-based Shadowdark initiative: party rolls d20 individually (system takes highest) vs DM's single d20 for enemies
- Rolling phase: each player rolls for their character, DM rolls for enemies
- Active phase: turn order display, round counter, side highlighting
- Enemy HP tracking — visible to DM only, hidden from players
- Add/remove enemies mid-combat
- Real-time sync via Socket.IO
- Combat state persisted to database (survives server restarts)
DM Tools
- Compact DM character cards — 3-up grid showing HP, AC, luck, torch, and stat modifiers
- Atmosphere control panel (DM-only)
UI & Platform
- Medieval visual theme — Cinzel + Alegreya fonts, parchment texture, gold filigree, dark color scheme
- Mobile layout — full-screen character sheet, roll log drawer
- Custom SelectDropdown — consistent cross-platform styling