Implement lover relationship management features: Add endpoints for creating, acknowledging, and managing lover relationships in the FalukantController. Enhance backend models with RelationshipState for tracking relationship statuses. Update frontend components to display and manage lover details, including marriage satisfaction and household tension. Improve localization for new features in multiple languages.

This commit is contained in:
Torsten Schulz (local)
2026-03-20 11:37:46 +01:00
parent c7d33525ff
commit 2977b152a2
29 changed files with 4551 additions and 86 deletions

View File

@@ -0,0 +1,67 @@
# Falukant: Restplan für Liebschafts-Ermittlung im Untergrund
## Ziel
Die neue Untergrundaktivität `investigate_affair` soll nicht nur auswählbar sein, sondern einen vollständigen technischen Pfad bekommen:
- Aktivität anlegen
- Aktivität in der UI sichtbar machen
- Ergebnisstruktur vorbereiten
- externe Daemon-Auswertung eindeutig beschreiben
## Arbeitspakete
## UGA1. Aktivitätstyp im System verankern
Status: abgeschlossen
- Untergrundtyp `investigate_affair` anlegen
- Ziele `expose` und `blackmail` definieren
- UI-Auswahl in `UndergroundView` ergänzen
- Produktions-SQL für Bestandsdatenbank bereitstellen
## UGA2. Aktivitätenliste im Frontend nutzbar machen
Status: abgeschlossen
- echten GET-Endpunkt für Untergrundaktivitäten bereitstellen
- `UndergroundView.loadActivities()` aktivieren
- Aktivitäten mit Typ, Ziel, Status und Zusatzinformation anzeigen
## UGA3. Ergebnisstruktur für spätere Auswertung definieren
Status: abgeschlossen
- Ergebnisformat für `underground.result` dokumentieren
- Zustände `pending`, `resolved`, `failed` festlegen
- Felder für `discoveries`, `visibilityDelta`, `reputationDelta`, `blackmailAmount` vorbereiten
## UGA4. Externe Daemon-Übergabe für Liebschafts-Ermittlung
Status: abgeschlossen
- Handoff-Dokument für den externen Daemon ergänzen
- beschreiben, wie `investigate_affair` gelesen und aufgelöst wird
- beschreiben, welche Folgewirkungen auf Liebschaften, Ansehen und Erpressung entstehen dürfen
## UGA5. Spätere Ausbaustufe
Status: bewusst offen
- echte Erpressungszustände im Spielmodell
- UI für Forderungen, Schweigegeld, Gegenmaßnahmen
- eigene WebSocket-Events für abgeschlossene Untergrund-Ergebnisse
## Definition of Done
Der lokale Teil gilt als fertig, wenn:
1. `investigate_affair` im Untergrundformular auswählbar ist
2. neue Aktivitäten in der Aktivitätenliste sichtbar sind
3. Typ, Ziel und Status in der UI lesbar sind
4. ein eindeutiges Result-Schema für den externen Daemon dokumentiert ist
5. die externe Daemon-Übergabe die neue Aktivität vollständig beschreibt
## Restgrenze
Die tatsächliche Erfolgs-/Misserfolgsberechnung, das Aufdecken von Liebschaften und die Erpressungswirkung werden nicht in diesem Projekt ausgeführt, sondern im externen Daemon.