darkwatch/CHANGELOG.md
2026-04-11 16:39:13 -04:00

78 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 12 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
**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
- MariaDB 11 via Docker (replaced SQLite)