Files
yourpart3/docs/FALUKANT_UNDERGROUND_AFFAIR_DAEMON_HANDOFF.md

4.3 KiB

Falukant: Daemon-Handoff für investigate_affair

Zweck

Dieses Dokument beschreibt die Auswertung der Untergrundaktivität investigate_affair im externen Daemon.

Es ergänzt:

Betroffene Daten

Der externe Daemon liest:

  • falukant_data.underground
  • falukant_type.underground
  • falukant_data.relationship
  • falukant_data.relationship_state
  • falukant_data.character
  • optional falukant_data.child_relation

Relevant ist jeweils:

  • Untergrundaktivität vom Typ investigate_affair
  • performer_id
  • victim_id
  • parameters.goal
    • expose
    • blackmail
  • result

Erwarteter Input

Eine Aktivität ist für den Daemon verarbeitbar, wenn:

  • underground_type.tr = investigate_affair
  • result.status = pending

Der Daemon soll dann beim Opfer prüfen:

  • aktive Liebschaften
  • Sichtbarkeit und Diskretion dieser Liebschaften
  • evtl. bekannte uneheliche Kinder
  • Stand und Ansehen des Opfers

Ergebnis-Schema in underground.result

Der Daemon schreibt nach der Auswertung ein JSON mit folgender Struktur:

{
  "status": "resolved",
  "outcome": "success",
  "discoveries": {
    "relationshipId": 123,
    "loverRole": "secret_affair",
    "visibility": 42,
    "acknowledged": false,
    "publicKnownChild": false
  },
  "visibilityDelta": 12,
  "reputationDelta": -3,
  "blackmailAmount": 1500,
  "notes": "Affair was uncovered and partially exposed."
}

Erlaubte Werte:

  • status
    • pending
    • resolved
    • failed
  • outcome
    • success
    • partial
    • failure

Auswertung: goal = expose

Ziel:

  • Liebschaft öffentlich machen
  • Sichtbarkeit stark erhöhen
  • ggf. Skandal auslösen

Empfohlene Wirkung:

  • relationship_state.visibility +10..25
  • optional relationship_state.discretion -5..15
  • sofortiger Reputationsschaden beim Opfer
  • bei sehr sichtbarer oder junger Beziehung zusätzliche Skandalchance

Zusätzliche Empfehlung:

  • wenn die Beziehung bereits fast öffentlich war, darf outcome = partial gesetzt werden statt voller Erfolg

Auswertung: goal = blackmail

Ziel:

  • belastendes Wissen gewinnen
  • keinen sofortigen vollen öffentlichen Effekt erzeugen
  • ein Erpressungspotenzial vorbereiten

Empfohlene Wirkung:

  • relationship_state.visibility +3..10
  • blackmailAmount setzen
  • kleiner oder kein sofortiger Reputationsschaden
  • optional separates Log oder spätere Forderung

Wenn ihr noch kein echtes Erpressungssystem habt:

  • blackmailAmount trotzdem setzen
  • notes befüllen
  • UI zeigt den Vorgang als abgeschlossen mit Erpressungssumme

Mindestregeln für Erfolg

Erfolgswahrscheinlichkeit sollte steigen bei:

  • hoher vorhandener Sichtbarkeit
  • niedriger Diskretion
  • mehreren aktiven Liebschaften
  • bereits bekannten unehelichen Kindern

Erfolgswahrscheinlichkeit sollte sinken bei:

  • hoher Diskretion
  • niedriger Sichtbarkeit
  • standesgemäß geführter Mätresse/Favorit auf hohem Rang

Folgewirkungen auf Lovers-System

Bei Erfolg darf der Daemon auslösen:

  • falukant_family_scandal_hint
  • falukantUpdateFamily mit reason = scandal
  • zusätzlich normale Status-Updates

Wenn goal = expose, sollte mindestens eine dieser Wirkungen eintreten:

  • Sichtbarkeit steigt
  • Ruf sinkt
  • Skandalwahrscheinlichkeit steigt

Wenn goal = blackmail, sollte mindestens eine dieser Wirkungen eintreten:

  • blackmailAmount > 0
  • kleiner Sichtbarkeitsanstieg
  • interner Merker für spätere Forderung

UI-Erwartung

Das Frontend dieses Projekts erwartet derzeit:

  • type
  • goal
  • status
  • additionalInfo.blackmailAmount

Optional nutzbar später:

  • discoveries
  • visibilityDelta
  • reputationDelta
  • notes

Definition of Done

Die externe Umsetzung gilt als ausreichend, wenn:

  1. investigate_affair-Einträge mit status = pending verarbeitet werden
  2. result.status danach nicht mehr pending ist
  3. goal = expose und goal = blackmail verschieden behandelt werden
  4. mindestens Sichtbarkeit oder Reputationswirkung zurückgeschrieben wird
  5. blackmailAmount bei Erpressung gesetzt werden kann