Integrate servant management into Falukant family dynamics: Added support for servant-related logic in FalukantFamilyWorker, including daily and monthly processing of servant data. Updated SQL queries to handle servant attributes and integrated servant discretion modifiers into relationship calculations, enhancing family interaction and satisfaction tracking.

This commit is contained in:
Torsten Schulz (local)
2026-03-22 10:09:26 +01:00
parent c209c41b52
commit d921dc2f7e
9 changed files with 1265 additions and 8 deletions

View File

@@ -0,0 +1,27 @@
# Falukant: Dienerschaft im YpDaemon
Umsetzung gemäß Projektspezifikation (Daily/Monthly, Handoff).
## Voraussetzungen
1. **Backend:** Stammdaten in `falukant_data.user_house` (`servant_count`, `servant_quality`, `servant_pay_level`, `household_order`) — z. B. Migration aus YourPart3.
2. **Daemon:** `migrations/004_falukant_servants_daemon.sql` ausführen (Tick-Spalten + `servant_discretion_modifier` + `servants_underfunded`).
## Code
- Logik: `src/worker/falukant_servants.rs`
- SQL: `src/worker/sql.rs` (Abschnitt Dienerschaft)
- Ausführung: **`FalukantFamilyWorker`** ruft bei gesetztem Servant-Schema **vor** Liebschafts-Daily/Monthly `run_daily` / `run_monthly` auf (keine Race mit Liebschafts-Ticks).
## WebSocket
Wie Spec: `falukantUpdateFamily` mit `reason`: `daily` oder `monthly`, danach `falukantUpdateStatus`**kein** eigener Diener-`reason`.
## Liebschaften (B7 Teil)
`QUERY_GET_ACTIVE_LOVER_ROWS_FOR_DAILY` liefert `servant_disc_u1` / `servant_disc_u2` (MAX `servant_discretion_modifier` je `user_house` des Partners). Die Sichtbarkeits-Drift addiert `(u1+u2)/2 / 4` auf `v_net`.
## Noch offen (Backlog)
- **B8 Untergrund:** siehe [`FALUKANT_UNDERGROUND_INVESTIGATE_AFFAIR.md`](./FALUKANT_UNDERGROUND_INVESTIGATE_AFFAIR.md) (`investigate_affair` im `UndergroundWorker`).
- **Feinbalancing** (B9).