28 lines
1.3 KiB
Markdown
28 lines
1.3 KiB
Markdown
# 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).
|