77 lines
2.9 KiB
Markdown
77 lines
2.9 KiB
Markdown
# Changelog
|
||
|
||
All notable changes to Darkwatch are documented here.
|
||
|
||
Format: [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
|
||
Versioning: [Semantic Versioning](https://semver.org/spec/v2.0.0.html)
|
||
|
||
---
|
||
|
||
## [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
|