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

2.8 KiB
Raw Blame History

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 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)