diff --git a/frontend/src/components/falukant/MessagesDialog.vue b/frontend/src/components/falukant/MessagesDialog.vue index f399915..9e962e2 100644 --- a/frontend/src/components/falukant/MessagesDialog.vue +++ b/frontend/src/components/falukant/MessagesDialog.vue @@ -145,8 +145,19 @@ export default { raw = parsed.tr; key = parsed.tr; // Alle anderen Felder als Parameter verwenden und formatieren - params = this.formatParams({ ...parsed }); - delete params.tr; + params = this.formatParams({ ...parsed }); + delete params.tr; + // Merge in params extracted from nested structures (effects, character ids) + try { + const extracted = this.extractParams({ ...n, ...parsed, characterName: parsed.characterName || parsed.character_name || n.characterName || n.character_name }); + for (const [k, v] of Object.entries(extracted || {})) { + if (!params.hasOwnProperty(k) || params[k] === undefined || params[k] === null || params[k] === '') { + params[k] = v; + } + } + } catch (e) { + // ignore extraction errors + } } } catch (e) { // bei Parse-Fehler einfach weiter unten mit dem Rohwert arbeiten