From 716d5b0413c220a7ed356bfcfa9c12d04afdb0f1 Mon Sep 17 00:00:00 2001 From: Sven Balzer <4653051+Kyuusokuna@users.noreply.github.com> Date: Mon, 6 Oct 2025 08:35:50 +0200 Subject: [PATCH] add Anmerkung field to Attacke and Parade dialogs --- src/Dialogs/Attacke.hbs | 3 +++ src/Dialogs/Parade.hbs | 3 +++ src/lang/de.json | 1 + src/main.mjs | 14 ++++++++++++-- 4 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/Dialogs/Attacke.hbs b/src/Dialogs/Attacke.hbs index db3a854..72cfa1e 100644 --- a/src/Dialogs/Attacke.hbs +++ b/src/Dialogs/Attacke.hbs @@ -2,6 +2,9 @@ {{localize "DSA41.kampf.modifikator"}} + {{localize "DSA41.kampf.anmerkung"}} + +
{{options.item.basis_attacke}}{{localize "DSA41.bewaffnung.nahkampfwaffe.basis"}} diff --git a/src/Dialogs/Parade.hbs b/src/Dialogs/Parade.hbs index ccde324..7af6ee9 100644 --- a/src/Dialogs/Parade.hbs +++ b/src/Dialogs/Parade.hbs @@ -5,6 +5,9 @@ {{localize "DSA41.kampf.crit"}} + {{localize "DSA41.kampf.anmerkung"}} + +
{{#if formData.crit}}({{/if}} {{options.item.basis_parade}}{{localize "DSA41.bewaffnung.nahkampfwaffe.basis"}} diff --git a/src/lang/de.json b/src/lang/de.json index 2611126..ca8ae11 100644 --- a/src/lang/de.json +++ b/src/lang/de.json @@ -491,6 +491,7 @@ "modifikator": "Modifikator", "crit": "Glückliche Attacke", "zauber": "Zauber", + "anmerkung": "Anmerkung", "zielgroesse": { "label": "Zielgröße", diff --git a/src/main.mjs b/src/main.mjs index 559b13d..c438042 100644 --- a/src/main.mjs +++ b/src/main.mjs @@ -1281,10 +1281,12 @@ class DSA41_Dialog extends DSA41_ApplicationMixin(ApplicationV2) { }; get formData() { + const inputs = this.element.querySelector("[data-application-part]")?.querySelectorAll("input") ?? []; + const types = Object.fromEntries(Array.from(inputs, x => [x.name, x.type])); const data = Object.fromEntries( new FormData(this.element).entries().map(([key, value])=>{ - if (typeof value != "string") return [key, value]; - return isNaN(value) ? [key, value] : [key, Number(value)]; + if (types[key] == "number") return [key, Number(value)]; + return [key, value]; }) ); @@ -1445,6 +1447,10 @@ class DSA41_ActorSheet extends DSA41_ApplicationMixin(ActorSheetV2) { flavor += " <= " + (Number(success_value) + data.modifikator); } + if (data.anmerkung) { + flavor += "
" + data.anmerkung; + } + if (hp_roll_modifier !== 0) roll_formula = roll_formula + " + " + hp_roll_modifier; @@ -1471,6 +1477,10 @@ class DSA41_ActorSheet extends DSA41_ApplicationMixin(ActorSheetV2) { let flavor = game.i18n.localize("DSA41.roll_types." + roll_type); flavor += " <= " + (Number((data.crit == "on") ? item.parade_crit : item.parade) + data.modifikator); + if (data.anmerkung) { + flavor += "
" + data.anmerkung; + } + if (hp_roll_modifier !== 0) roll_formula = roll_formula + " + " + hp_roll_modifier;