Files
yourpart3/docs/FALUKANT_FAMILY_AGE_RULES.md
Torsten Schulz (local) 16703f467f
All checks were successful
Deploy to production / deploy (push) Successful in 2m53s
feat(falukant): add character visual representation and settings
- Introduced FalukantCharacterVisual component to display character portraits and 3D figures based on user settings.
- Updated DirectorInfo, ChurchView, PoliticsView, and other components to utilize the new character visual component.
- Added visual settings management for users, allowing selection between portrait styles and display modes (portraits, 3D, or both).
- Implemented age rules for engagement and marriage in the backend, ensuring compliance with specified age limits.
- Created a new settings view for Falukant to manage visual preferences.
- Added new images for medieval character portraits.
- Updated translations for new settings and features in multiple languages.
2026-07-24 10:55:19 +02:00

3.3 KiB

Falukant: Altersregeln für Werbung, Ehe und Kinder

Verbindliche Spielregel

Ein realer Kalendertag entspricht einem Falukant-Spieljahr. Die Altersprüfung verwendet daher die Differenz zwischen CURRENT_DATE und birthdate in Tagen.

Bereich Mindestalter Regel
Werbung 12 Partner können vorgeschlagen und ein Vorschlag kann angenommen werden.
Hochzeit 14 Eine Verlobung kann durch eine Hochzeitsfeier vollzogen werden.
Gemeinsamer Haushalt und Kinder 16 Erst dann darf die Spielmechanik eine Schwangerschaft oder Geburt aus einer Ehe erzeugen.

Die Regeln gelten für beide Personen einer Beziehung. Sie bilden bewusst Spielphasen ab; es gibt keine individuelle Prüfung körperlicher Reife und keine explizite Sexualmechanik.

Bereits im Backend und Daemon umgesetzt

  • backend/services/falukantService.js
    • erzeugt Heiratsvorschläge nur für mindestens 12 Jahre alte Partner;
    • prüft beim Annehmen eines Vorschlags beide Alter erneut;
    • bietet den Hochzeitstyp erst ab 14 an und prüft beim Bestellen der Feier beide Verlobte serverseitig;
    • plant die Hochzeits-Schwangerschaft erst, wenn beide mindestens 16 sind.
  • src/valuerecalculationworker.h
    • vollzieht die Hochzeit nach der mindestens einen Tag alten Hochzeitsfeier nur, wenn beide Verlobte mindestens 14 sind.
  • src/usercharacterworker.h
    • berücksichtigt für die bestehende zufällige Ehe-Kinderlogik ausschließlich Paare, bei denen beide mindestens 16 sind.

Auftrag für den externen Daemon

Falls der produktive Daemon aus diesem Repository herausgelöst ist, müssen die folgenden Guards in dessen gleichnamige Queries übernommen werden.

1. Übergang engagedmarried

Beim Verarbeiten einer Hochzeit sind beide Charaktere zu prüfen:

c.birthdate <= CURRENT_DATE - INTERVAL '14 days'
AND partner.birthdate <= CURRENT_DATE - INTERVAL '14 days'

Die bestehende Wartezeit von party.created_at <= NOW() - INTERVAL '1 day' bleibt unverändert. Erfüllt ein Paar die Altersregel noch nicht, bleibt es verlobt; die bereits angelegte Feier wird nicht verworfen und kann nach Erreichen des Alters vollzogen werden.

2. Eheliche Schwangerschaften und Geburten

Jeder automatische Empfängnis- oder Geburtenkandidat muss beide Bedingungen erfüllen:

mother.birthdate <= CURRENT_DATE - INTERVAL '16 days'
AND father.birthdate <= CURRENT_DATE - INTERVAL '16 days'

Das gilt sowohl für die Zufallslogik als auch für einen geplanten pregnancy_due_at-Pfad. Beim geplanten Pfad soll der Daemon die Felder nicht leeren, solange mindestens ein Elternteil noch unter 16 ist; die Schwangerschaft wird erst verarbeitet, sobald beide die Grenze erreicht haben. Admin-Tools können weiterhin ein bewusstes, separat protokolliertes Override anbieten.

3. Tests für den Daemon

  • 13/13 Jahre, verlobt, Hochzeitsfeier älter als 24 Stunden: bleibt engaged.
  • 14/14 Jahre, verlobt, Hochzeitsfeier älter als 24 Stunden: wird married.
  • Verheiratet, ein Elternteil 15: keine automatische Schwangerschaft/Geburt.
  • Verheiratet, beide 16: normaler Schwangerschafts-/Geburtspfad ist möglich.

Bestehende Daten

Es ist keine Migration nötig. Bereits bestehende Ehen bleiben bestehen; die Grenzen steuern ausschließlich neue Übergänge und automatische Kinderereignisse.