All checks were successful
Deploy Dimension47 / deploy (push) Successful in 35s
- Add library page with tabs for maps and combatants - Create map upload modal with grid configuration - Create NPC/monster template modal with abilities - Add library link to campaign page (GM only) - Add battle feature TODO documentation Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
135 lines
3.9 KiB
Markdown
135 lines
3.9 KiB
Markdown
# Battle Screen - TODO
|
|
|
|
## Phase 2: Grid System
|
|
|
|
### Frontend
|
|
- [ ] `grid-overlay.tsx` - Verbessertes Grid-Rendering mit Snap-Preview
|
|
- [ ] `grid-config-modal.tsx` - Grid konfigurieren (nur GM)
|
|
- Grid-Größe anpassen (Spalten x Reihen)
|
|
- Grid-Offset für vorgezeichnete Maps einstellen
|
|
- Live-Preview beim Anpassen
|
|
- Zellenfarbe und Transparenz
|
|
- [ ] Snap-to-Grid beim Token-Platzieren
|
|
- [ ] Grid Ein-/Ausblenden Toggle (bereits vorhanden, verbessern)
|
|
|
|
---
|
|
|
|
## Phase 3: Token Management
|
|
|
|
### Frontend
|
|
- [ ] `add-pc-modal.tsx` - PCs aus Kampagne hinzufügen (mit Filter/Suche)
|
|
- [ ] `add-npc-modal.tsx` - NPCs aus Templates hinzufügen
|
|
- [ ] `create-combatant-modal.tsx` - Neues NPC-Template erstellen
|
|
- Name, Level, HP, AC
|
|
- Rettungswürfe (Fort, Ref, Will)
|
|
- Wahrnehmung, Geschwindigkeit
|
|
- Fähigkeiten mit Aktionskosten
|
|
- Avatar-Upload
|
|
- [ ] `token-detail-panel.tsx` - Seitenpanel für Token-Details
|
|
- HP-Management (Schaden/Heilung)
|
|
- Zustand hinzufügen/entfernen
|
|
- Notizen
|
|
- Statistiken anzeigen (für NPCs)
|
|
- [ ] `initiative-tracker.tsx` - Initiativreihenfolge
|
|
- Sortierte Liste aller Tokens
|
|
- Aktueller Zug markiert
|
|
- Nächster/Vorheriger Zug
|
|
- Verzögern-Funktion
|
|
|
|
### Backend WebSocket Events
|
|
- [ ] `token_conditions_changed` - Zustände aktualisiert
|
|
- [ ] `turn_started` - Zug beginnt (für aktiven Token)
|
|
- [ ] `delay_turn` - Zug verzögern
|
|
|
|
---
|
|
|
|
## Phase 4: Player View
|
|
|
|
### Frontend
|
|
- [ ] `battle-player-view.tsx` - Route: `/campaigns/:id/battle/view`
|
|
- Vollbild-Ansicht für Spieler (TV-Modus)
|
|
- Read-only (keine Token-Manipulation)
|
|
- Sync via gleicher WebSocket-Room
|
|
- [ ] `battle-tv-window.tsx` - Pop-out Window Logik
|
|
- "TV-Modus öffnen" Button
|
|
- Separates Browser-Fenster
|
|
- Automatische Größenanpassung
|
|
|
|
### Berechtigungen
|
|
| Feature | GM View | Player View |
|
|
|---------|---------|-------------|
|
|
| Tokens bewegen | Ja | Nein |
|
|
| PC HP sehen | Ja (Zahlen) | Ja (Zahlen) |
|
|
| NPC HP sehen | Ja (Zahlen) | Nein (nur Blut-Effekt bei <20%) |
|
|
| NPC-Stats sehen | Ja | Nein |
|
|
| Initiative bearbeiten | Ja | Nein |
|
|
| Grid konfigurieren | Ja | Nein |
|
|
|
|
---
|
|
|
|
## Phase 5: Polish & Erweiterte Features
|
|
|
|
### Drag & Drop
|
|
- [ ] Touch-Support für mobile Geräte
|
|
- [ ] Drag-Preview mit Zielzelle hervorheben
|
|
- [ ] Multi-Select (Shift+Klick)
|
|
- [ ] Mehrere Tokens gleichzeitig bewegen
|
|
|
|
### Visuelle Verbesserungen
|
|
- [ ] Condition-Badges auf Tokens
|
|
- Icon für häufige Zustände (Frightened, Slowed, etc.)
|
|
- Anzahl bei gestuften Zuständen
|
|
- [ ] Blut-Effekt bei niedrigen HP (<20%)
|
|
- [ ] Token-Avatar anstatt Initialen (wenn vorhanden)
|
|
- [ ] Verschiedene Token-Formen (rund, eckig)
|
|
- [ ] Größen-Indikator für Large/Huge/Gargantuan
|
|
|
|
### Kampf-Tools
|
|
- [ ] `combat-log.tsx` - Letzte Aktionen anzeigen
|
|
- Token bewegt
|
|
- Schaden erhalten
|
|
- Zustand hinzugefügt
|
|
- Initiative geändert
|
|
- [ ] `measure-tool.tsx` - Entfernung messen
|
|
- Klick & Drag für Linie
|
|
- Entfernung in Fuß anzeigen
|
|
- Diagonal-Bewegung nach PF2e-Regeln
|
|
- [ ] `area-tool.tsx` - Flächeneffekte
|
|
- Kegel, Linie, Emanation, Burst
|
|
- Größe einstellen
|
|
- Betroffene Felder hervorheben
|
|
|
|
### Map-Features
|
|
- [ ] Fog of War (nur GM sieht alles)
|
|
- [ ] Mehrere Ebenen (Untergrund, Obergeschoss)
|
|
- [ ] Zoom & Pan
|
|
- [ ] Map-Marker / Notizen
|
|
|
|
---
|
|
|
|
## Technische Verbesserungen
|
|
|
|
### Performance
|
|
- [ ] Canvas-basiertes Rendering statt DOM für große Maps
|
|
- [ ] Token-Position nur bei Release senden (nicht während Drag)
|
|
- [ ] Lazy Loading für Token-Avatare
|
|
|
|
### Backend
|
|
- [ ] Combat Log in Datenbank speichern
|
|
- [ ] Battle Session Snapshots (Undo/Redo)
|
|
- [ ] Automatisches Aufräumen inaktiver Sessions
|
|
|
|
---
|
|
|
|
## Prioritäten
|
|
|
|
1. **Hoch** - Grid Config Modal (Phase 2)
|
|
2. **Hoch** - Initiative Tracker (Phase 3)
|
|
3. **Hoch** - Player View / TV-Modus (Phase 4)
|
|
4. **Mittel** - Token Detail Panel mit HP-Management
|
|
5. **Mittel** - Condition Badges
|
|
6. **Mittel** - Combatant Template erstellen
|
|
7. **Niedrig** - Measure Tool
|
|
8. **Niedrig** - Combat Log
|
|
9. **Niedrig** - Fog of War
|