138 lines
3.0 KiB
Markdown
138 lines
3.0 KiB
Markdown
# Falukant: Daemon-Handoff für Ehe und Hausfrieden
|
|
|
|
Dieses Dokument beschreibt den Stand nach Phase A.
|
|
|
|
## 1. Was im Projekt jetzt vorhanden ist
|
|
|
|
Backend-/API-seitig vorhanden:
|
|
|
|
- `relationship_state.marriage_satisfaction`
|
|
- `relationship_state.marriage_public_stability`
|
|
- aktive Liebschaften mit:
|
|
- `visibility`
|
|
- `discretion`
|
|
- `maintenance_level`
|
|
- `status_fit`
|
|
- `months_underfunded`
|
|
- `acknowledged`
|
|
- `user_house` mit:
|
|
- `servant_count`
|
|
- `servant_quality`
|
|
- `servant_pay_level`
|
|
- `household_order`
|
|
- `household_tension_score`
|
|
- `household_tension_reasons_json`
|
|
- Family-API liefert jetzt zusätzlich:
|
|
- `householdTension`
|
|
- `householdTensionScore`
|
|
- `householdTensionReasons`
|
|
|
|
Direkte Spieleraktionen vorhanden:
|
|
|
|
- `POST /api/falukant/family/marriage/spend-time`
|
|
- `POST /api/falukant/family/marriage/gift`
|
|
- `POST /api/falukant/family/marriage/reconcile`
|
|
- `POST /api/falukant/houses/order`
|
|
|
|
## 2. Daily-Input für den externen Daemon
|
|
|
|
Pro betroffenem Falukant-User:
|
|
|
|
- `falukant_user.id`
|
|
- `user.id` / `user.hashed_id`
|
|
- aktive Ehe-`relationship` mit `relationship_state`
|
|
- aktive Liebschaften mit `relationship_state`
|
|
- Kinder mit:
|
|
- `birth_context`
|
|
- `legitimacy`
|
|
- `public_known`
|
|
- Haus mit:
|
|
- `servant_count`
|
|
- `servant_quality`
|
|
- `servant_pay_level`
|
|
- `household_order`
|
|
- Charakter mit:
|
|
- `reputation`
|
|
- `title_of_nobility`
|
|
|
|
## 3. Was der Daemon täglich berechnen soll
|
|
|
|
### Ehe
|
|
|
|
- Drift von `marriage_satisfaction`
|
|
- Drift von `marriage_public_stability`
|
|
- Einfluss aus:
|
|
- sichtbaren Liebschaften
|
|
- unterfinanzierten Liebschaften
|
|
- Standesunterschieden
|
|
- Dienerschaft / Haushaltsordnung
|
|
- zu jungen Liebschaften
|
|
|
|
### Hausfrieden
|
|
|
|
Der Daemon soll intern einen numerischen Spannungswert pflegen oder berechnen:
|
|
|
|
- `householdTensionScore` `0..100`
|
|
|
|
Einflussfaktoren:
|
|
|
|
- sichtbare Liebschaften
|
|
- anerkannte Liebschaften
|
|
- unterfinanzierte Liebschaften
|
|
- Kinder aus Liebschaften
|
|
- Haushaltsordnung
|
|
- Dienerschaft
|
|
- schwache Ehe
|
|
|
|
UI-Ableitung:
|
|
|
|
- `0..24` => `low`
|
|
- `25..59` => `medium`
|
|
- `60..100` => `high`
|
|
|
|
## 4. Was der Daemon zurückschreiben soll
|
|
|
|
Pflicht:
|
|
|
|
- `relationship_state.marriage_satisfaction`
|
|
- `relationship_state.marriage_public_stability`
|
|
- `user_house.household_tension_score`
|
|
- `user_house.household_tension_reasons_json`
|
|
- lover-state-Felder bei Änderungen:
|
|
- `visibility`
|
|
- `discretion`
|
|
- `months_underfunded`
|
|
- optional `notes_json` / `flags_json`
|
|
|
|
## 5. Socket-/Refresh-Verhalten
|
|
|
|
Wenn Daily-/Monthly-Verarbeitung Ehe oder Hausfrieden betrifft:
|
|
|
|
- `falukantUpdateFamily` mit `reason: "daily"` oder `reason: "monthly"`
|
|
- danach `falukantUpdateStatus`
|
|
|
|
Wenn ein Sonderereignis entsteht:
|
|
|
|
- `reason: "scandal"` zusätzlich
|
|
|
|
## 6. Wichtige Phase-A-Regel
|
|
|
|
Die neuen Direktaktionen geben nur Sofortimpulse:
|
|
|
|
- `spend-time`
|
|
- `gift`
|
|
- `reconcile`
|
|
- `house/order`
|
|
|
|
Der Daemon ist weiterhin verantwortlich für:
|
|
|
|
- Rückdrift
|
|
- Gegenkräfte
|
|
- Langzeiteffekte
|
|
- Balancing
|
|
|
|
Kurz:
|
|
|
|
- UI/Backend setzen kleine direkte Impulse
|
|
- der Daemon bestimmt die dauerhafte Entwicklung
|