7 Commits
Author SHA1 Message Date
alex b2dd5a44d3 feat: expand Simulation tab with combat simulation and replay
- src/components/SimulationTab.jsx: +544 lines, combat simulation
  UI with horde combat, player actions, and replay functionality
- database/routes/simulationRoutes.js: +681 lines, backend routes
  for simulation state management and combat resolution
- src/tests/simulationTabReplay.test.js: replay functionality tests
- src/tests/hordeCombatFourPlayersFiveHordes.test.js: multi-player
  horde combat scenario tests
- src/tests/hordeCombatPlayerMainWeapon.test.js: player weapon
  damage calculation tests
2026-07-15 19:36:38 +02:00
alex 0fa8c39c4d Update mission roller and simulation flow 2026-07-02 11:48:38 +02:00
alex c28187decd Add standard scene actions and fix sim fire modes 2026-06-30 10:19:50 +02:00
alex 44b2e283bd Add ammo and combat profiles to simulations 2026-06-30 10:08:10 +02:00
alex fe884ac543 Prepare Deathwatch session tools 2026-06-29 13:37:02 +02:00
alexandClaude Sonnet 4.6 2a63e43120 feat: simulation difficulty control (Recruit → Legendary)
5 tiers selectable in Sim Lab config panel. Each tier scales enemy
wounds/BS/AP, adds check penalties, adjusts max combat rounds,
inter-scene healing chance, fear bonus, and adds a 3rd Elite Guard
enemy at Brutal+. Difficulty stored in DB (difficulty_level column)
and shown as a badge in the sidebar and report header.

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
2026-06-24 11:04:17 +02:00
alexandClaude Sonnet 4.6 a666b8b4b4 feat: Simulation Lab — GM tab to run and review mission simulations
Backend:
- Add `simulations` table to MariaDB (mission, players, result, XP,
  roll feed, player cards, scene log, findings — all persisted as JSON)
- simulationHelpers: save / getAll / getById / delete
- simulationRoutes.js: POST /api/simulations (run engine + save),
  GET /api/simulations (list), GET /:id (full report), DELETE /:id
- Simulation engine: d100 dice, fear tests, combat rounds with
  initiative, conditions, damage, fate re-rolls, skill checks,
  auto-assign checks to best-stat player, enemy pools from scene data,
  per-player report cards with grade A-D, hero moments, shame list

Frontend:
- SimulationTab.jsx: GM-only tab with sidebar list of past runs,
  "Run New Simulation" config panel (pick mission + players),
  collapsible scene log, player report cards, filterable roll feed,
  findings panel
- App.js: import SimulationTab, add "⚙ Sim Lab" nav button (GM only)

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
2026-06-24 10:31:27 +02:00