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 }),