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}}
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}}
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;