diff --git a/src/ItemSheets/Bewaffnung.hbs b/src/ItemSheets/Bewaffnung.hbs
index 3b47968..e194357 100644
--- a/src/ItemSheets/Bewaffnung.hbs
+++ b/src/ItemSheets/Bewaffnung.hbs
@@ -81,11 +81,7 @@
{{localize "DSA41.bewaffnung.schild.groesse.label"}}
-
+ {{DSA41_input "system.schild.groesse"}}
{{localize "DSA41.bewaffnung.schild.modifikator"}}
{{>editable-input type="number" name="system.schild.modifikator_attacke" value=item.system.schild.modifikator_attacke placeholder=(localize "DSA41.bewaffnung.schild.attacke")}}
diff --git a/src/main.mjs b/src/main.mjs
index cf90e4c..62acf75 100644
--- a/src/main.mjs
+++ b/src/main.mjs
@@ -101,7 +101,7 @@ Hooks.once("init", async function() {
Handlebars.registerHelper({
DSA41_input: (field_name, options) => {
let fields = field_name.startsWith("system.") ? options.data.root.document.system.schema.fields : options.data.root.document.schema.fields;
- let field = fields[field_name.replace(/^(system\.)/, "")];
+ let field = foundry.utils.getProperty(fields, field_name.replace(/^(system\.)/, "").replace(".", ".fields."));
if (!field) {
console.error("Non-existent data field provided to {{DSA4_input}} handlebars helper.");
@@ -738,7 +738,15 @@ class DSA41_BewaffnungData extends TypeDataModel {
schild: new SchemaField({
aktiv: new BooleanField({ initial: false }),
- groesse: new StringField({ initial: "klein" }),
+ groesse: new StringField({
+ required: true,
+ choices: {
+ "klein": "DSA41.bewaffnung.schild.groesse.klein",
+ "gross": "DSA41.bewaffnung.schild.groesse.gross",
+ "sehr_gross": "DSA41.bewaffnung.schild.groesse.sehr_gross",
+ },
+ initial: "klein",
+ }),
modifikator_attacke: new NumberField({ integer: true, initial: 0 }),
modifikator_parade: new NumberField({ integer: true, initial: 0 }),