diff --git a/frontend/src/components/widgets/FalukantWidget.vue b/frontend/src/components/widgets/FalukantWidget.vue index e1b30b6..031df9c 100644 --- a/frontend/src/components/widgets/FalukantWidget.vue +++ b/frontend/src/components/widgets/FalukantWidget.vue @@ -47,7 +47,7 @@ export default { // Altersabhängige, (auf Wunsch) altertümlichere Bezeichnungen const years = this._ageYearsFromWidgetValue(this.falukantData?.age); - const group = this._getAgeGroupKey(years); + const group = years == null ? null : this._getAgeGroupKey(years); if (group && (g === 'female' || g === 'male')) { const key = `falukant.genderAge.${g}.${group}`; const t = this.$t(key); @@ -70,17 +70,16 @@ export default { methods: { /** * Backend liefert für Falukant das Alter als (Spiel-)Tage. - * Im Spiel entsprechen 365 Tage einem Jahr, damit die Alterung schneller/spielbar ist. + * In diesem Spiel entspricht 1 (Spiel-)Tag einem Jahr, damit die Alterung spielbar schnell ist. * - * Wichtig: Wir runden auf das nächste Jahr, damit die Anzeige erwartbar ist - * (sonst wirkt sie oft "ein Jahr zu jung" kurz vor dem nächsten Jahr). + * Daher ist der übergebene Tageswert direkt das Alter in (Spiel-)Jahren. */ _ageYearsFromWidgetValue(ageValue) { const n = Number(ageValue); if (Number.isNaN(n)) return null; - // Spiel-Zeit: 365 Tage = 1 Jahr - const years = Math.round(n / 365); + // Spiel-Zeit: 1 Tag = 1 Jahr + const years = Math.floor(n); return Number.isFinite(years) ? years : null; }, _getAgeGroupKey(age) {