feat(bisaya): update household and children age rules to 14, adjust related instructions and migration
All checks were successful
Deploy to production / deploy (push) Successful in 3m14s
All checks were successful
Deploy to production / deploy (push) Successful in 3m14s
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
'use strict';
|
||||
|
||||
module.exports = {
|
||||
async up(queryInterface) {
|
||||
await queryInterface.sequelize.query(`
|
||||
UPDATE community.vocab_grammar_exercise AS exercise
|
||||
SET instruction = 'Frage: „Wo ist deine Tasche?“ Bitte danach: „Nimm deine Tasche.“'
|
||||
FROM community.vocab_course_lesson AS lesson
|
||||
WHERE exercise.lesson_id = lesson.id
|
||||
AND lesson.course_id = 1
|
||||
AND lesson.lesson_number = 30
|
||||
AND lesson.title = 'Kinder & Familie'
|
||||
AND exercise.exercise_number = 2
|
||||
AND exercise.title = 'Kindersatz ergänzen';
|
||||
`);
|
||||
},
|
||||
|
||||
async down() {}
|
||||
};
|
||||
@@ -1334,7 +1334,7 @@ const BISAYA_EXERCISES = {
|
||||
{
|
||||
exerciseTypeId: 1,
|
||||
title: 'Nachfragen ergänzen',
|
||||
instruction: 'Fülle die Lücken.',
|
||||
instruction: 'Frage: „Wo ist deine Tasche?“ Bitte danach: „Nimm deine Tasche.“',
|
||||
questionData: {
|
||||
type: 'gap_fill',
|
||||
text: 'Hinay-hinay {gap}. Unsay pasabot {gap}?',
|
||||
|
||||
@@ -96,7 +96,7 @@ function calcAge(birthdate) {
|
||||
const FAMILY_AGE = Object.freeze({
|
||||
MIN_WOOING: 10,
|
||||
MIN_MARRIAGE: 14,
|
||||
MIN_HOUSEHOLD_AND_CHILDREN: 16,
|
||||
MIN_HOUSEHOLD_AND_CHILDREN: 14,
|
||||
});
|
||||
|
||||
async function getFalukantUserOrFail(hashedId) {
|
||||
|
||||
@@ -9,7 +9,7 @@ verwendet daher die Differenz zwischen `CURRENT_DATE` und `birthdate` in Tagen.
|
||||
| --- | ---: | --- |
|
||||
| Werbung | 10 | 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. |
|
||||
| Gemeinsamer Haushalt und Kinder | 14 | Ab dem Heiratsalter 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
|
||||
@@ -19,7 +19,7 @@ Eltern können ihre benannten Kinder ab 10 Spieljahren verkuppeln. Diese
|
||||
Werbung ist verkürzt: Nach der Auswahl eines Kandidaten genügt ein weiterer
|
||||
Verkuppelungsschritt zur Verlobung. Die Hochzeitsfeier bleibt trotzdem ab 14
|
||||
Spieljahren erforderlich und wird dabei ausdrücklich dem verlobten Paar
|
||||
zugeordnet. Erst ab 16 kann die normale automatische Kinderlogik greifen.
|
||||
zugeordnet. Ab diesem Alter kann die normale automatische Kinderlogik greifen.
|
||||
|
||||
## Bereits im Backend und Daemon umgesetzt
|
||||
|
||||
@@ -28,13 +28,13 @@ zugeordnet. Erst ab 16 kann die normale automatische Kinderlogik greifen.
|
||||
- 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.
|
||||
- plant die Hochzeits-Schwangerschaft erst, wenn beide mindestens 14 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.
|
||||
Paare, bei denen beide mindestens 14 sind.
|
||||
|
||||
## Auftrag für den externen Daemon
|
||||
|
||||
@@ -61,13 +61,13 @@ Jeder automatische Empfängnis- oder Geburtenkandidat muss beide Bedingungen
|
||||
erfüllen:
|
||||
|
||||
```sql
|
||||
mother.birthdate <= CURRENT_DATE - INTERVAL '16 days'
|
||||
AND father.birthdate <= CURRENT_DATE - INTERVAL '16 days'
|
||||
mother.birthdate <= CURRENT_DATE - INTERVAL '14 days'
|
||||
AND father.birthdate <= CURRENT_DATE - INTERVAL '14 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
|
||||
leeren, solange mindestens ein Elternteil noch unter 14 ist; die Schwangerschaft
|
||||
wird erst verarbeitet, sobald beide die Grenze erreicht haben. Admin-Tools
|
||||
können weiterhin ein bewusstes, separat protokolliertes Override anbieten.
|
||||
|
||||
@@ -75,8 +75,8 @@ können weiterhin ein bewusstes, separat protokolliertes Override anbieten.
|
||||
|
||||
- 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.
|
||||
- Verheiratet, ein Elternteil 13: keine automatische Schwangerschaft/Geburt.
|
||||
- Verheiratet, beide 14: normaler Schwangerschafts-/Geburtspfad ist möglich.
|
||||
|
||||
## Bestehende Daten
|
||||
|
||||
|
||||
@@ -123,8 +123,8 @@ private:
|
||||
ON fu1.id = c1.user_id
|
||||
LEFT JOIN falukant_data.falukant_user fu2
|
||||
ON fu2.id = c2.user_id
|
||||
WHERE c1.birthdate <= CURRENT_DATE - INTERVAL '16 days'
|
||||
AND c2.birthdate <= CURRENT_DATE - INTERVAL '16 days'
|
||||
WHERE c1.birthdate <= CURRENT_DATE - INTERVAL '14 days'
|
||||
AND c2.birthdate <= CURRENT_DATE - INTERVAL '14 days'
|
||||
AND random()*100 < (
|
||||
100.0 /
|
||||
(1
|
||||
|
||||
Reference in New Issue
Block a user