diff --git a/src/ItemSheets/Gegenstaende.html b/src/ItemSheets/Gegenstand.html similarity index 100% rename from src/ItemSheets/Gegenstaende.html rename to src/ItemSheets/Gegenstand.html diff --git a/src/ItemSheets/Nahkampfwaffe.html b/src/ItemSheets/Nahkampfwaffe.html new file mode 100644 index 0000000..d811b09 --- /dev/null +++ b/src/ItemSheets/Nahkampfwaffe.html @@ -0,0 +1,94 @@ +{{#*inline "editable-input"}} +
+ {{#if @root.editable}} + + {{else}} +
+ {{value}} + {{#unless value}}{{placeholder}}{{/unless}} +
+ {{/if}} + + {{#if placeholder}} +
{{placeholder}}
+ {{/if}} +
+{{/inline}} + +{{#*inline "editable-checkbox"}} +
+ {{#if @root.editable}} + + {{else}} +
+ {{value}} + {{#unless value}}{{placeholder}}{{/unless}} +
+ {{/if}} + + {{#if placeholder}} +
{{placeholder}}
+ {{/if}} +
+{{/inline}} + +
+
+ +
+ {{>editable-input type="text" name="name" value=item.name placeholder=(localize "DSA41.name")}} +
+ {{>editable-input type="number" name="system.gewicht" value=item.system.gewicht placeholder=(localize "DSA41.weight")}} + {{>editable-input type="number" name="system.preis" value=item.system.preis placeholder=(localize "DSA41.price")}} + {{>editable-input type="number" name="system.laenge" value=item.system.laenge placeholder=(localize "DSA41.waffen.laenge")}} +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{{localize "DSA41.waffen.trefferpunkte"}} +
+ {{>editable-input type="text" name="system.basis" value=item.system.basis placeholder=(localize "DSA41.waffen.basis")}} + {{>editable-input type="number" name="system.schwellenwert" value=item.system.schwellenwert placeholder=(localize "DSA41.waffen.schwellenwert")}} + {{>editable-input type="number" name="system.schadensschritte" value=item.system.schadensschritte placeholder=(localize "DSA41.waffen.schadensschritte")}} +
+
{{localize "DSA41.waffen.modifikator"}} +
+ {{>editable-input type="number" name="system.modifikator_attacke" value=item.system.modifikator_attacke placeholder=(localize "DSA41.waffen.attacke")}} + {{>editable-input type="number" name="system.modifikator_parade" value=item.system.modifikator_parade placeholder=(localize "DSA41.waffen.parade")}} +
+
{{localize "DSA41.waffen.initiative"}}{{>editable-input type="number" name="system.initiative" value=item.system.initiative}}{{localize "DSA41.waffen.bruchfaktor"}}{{>editable-input type="number" name="system.bruchfaktor" value=item.system.bruchfaktor}}
{{localize "DSA41.waffen.distanzklasse"}}{{>editable-input type="text" name="system.distanzklasse" value=item.system.distanzklasse}}
{{localize "DSA41.waffen.kampftalente"}}{{>editable-input type="text" name="system.kampftalente" value=item.system.kampftalente}}
{{localize "DSA41.waffen.zweihaendig"}}{{>editable-checkbox name="system.zweihaendig" value=item.system.zweihaendig}}{{localize "DSA41.waffen.werfbar"}}{{>editable-checkbox name="system.werfbar" value=item.system.werfbar}}
{{localize "DSA41.waffen.improvisiert"}}{{>editable-checkbox name="system.improvisiert" value=item.system.improvisiert}}{{localize "DSA41.waffen.priviligiert"}}{{>editable-checkbox name="system.priviligiert" value=item.system.priviligiert}}
+
+
\ No newline at end of file diff --git a/src/ItemSheets/Ruestungen.html b/src/ItemSheets/Ruestung.html similarity index 100% rename from src/ItemSheets/Ruestungen.html rename to src/ItemSheets/Ruestung.html diff --git a/src/ItemSheets/Waffen.html b/src/ItemSheets/Waffen.html deleted file mode 100644 index 0dd5f52..0000000 --- a/src/ItemSheets/Waffen.html +++ /dev/null @@ -1,11 +0,0 @@ -
-
- {{#if editable}} - - - {{else}} - -
{{ item.name }}
- {{/if}} -
-
\ No newline at end of file diff --git a/src/lang/de.json b/src/lang/de.json index 44adec7..a3c8f29 100644 --- a/src/lang/de.json +++ b/src/lang/de.json @@ -1,9 +1,9 @@ { "TYPES": { "Item": { - "Gegenstaende": "Gegenstände", - "Waffen": "Waffen", - "Ruestungen": "Rüstungen" + "Gegenstand": "Gegenstand", + "Ruestung": "Rüstung", + "Nahkampfwaffen": "Nahkampfwaffen" } }, @@ -159,6 +159,25 @@ "gesamt_ruestungsschutz": "Gesamt Rüstungsschutz", "gesamt_behinderung": "Gesamt Behinderung" + }, + + "waffen": { + "laenge": "Länge", + "trefferpunkte": "Trefferpunkte", + "basis": "Basis", + "schwellenwert": "Schwellenwert", + "schadensschritte": "Schadensschritte", + "initiative": "Initiative", + "modifikator": "Modifikator", + "attacke": "Attacke", + "parade": "Parade", + "bruchfaktor": "Bruchfaktor", + "distanzklasse": "Distanzklasse", + "zweihaendig": "Zweihändig", + "werfbar": "Werfbar", + "improvisiert": "Improvisiert", + "priviligiert": "Priviligiert", + "kampftalente": "Kampftalente" } } } \ No newline at end of file diff --git a/src/lang/en.json b/src/lang/en.json index 8c825d0..d32f6fa 100644 --- a/src/lang/en.json +++ b/src/lang/en.json @@ -1,9 +1,9 @@ { "TYPES": { "Item": { - "Gegenstaende": "Generic", - "Waffen": "Weapons", - "Ruestungen": "Armor" + "Gegenstand": "Generic", + "Ruestung": "Armor", + "Nahkampfwaffen": "Melee Weapon" } }, @@ -159,6 +159,25 @@ "gesamt_ruestungsschutz": "!!TODO!!", "gesamt_behinderung": "!!TODO!!" + }, + + "waffen": { + "laenge": "!!TODO!!", + "trefferpunkte": "!!TODO!!", + "basis": "!!TODO!!", + "schwellenwert": "!!TODO!!", + "schadensschritte": "!!TODO!!", + "initiative": "!!TODO!!", + "modifikator": "!!TODO!!", + "attacke": "!!TODO!!", + "parade": "!!TODO!!", + "bruchfaktor": "!!TODO!!", + "distanzklasse": "!!TODO!!", + "zweihaendig": "!!TODO!!", + "werfbar": "!!TODO!!", + "improvisiert": "!!TODO!!", + "priviligiert": "!!TODO!!", + "kampftalente": "!!TODO!!" } } } \ No newline at end of file diff --git a/src/main.mjs b/src/main.mjs index 9b94692..cd1fcfb 100644 --- a/src/main.mjs +++ b/src/main.mjs @@ -1,8 +1,10 @@ Hooks.once("init", function() { console.log("INIT"); - CONFIG.Actor.dataModels.Player = DSA41_CharacterData; - CONFIG.Item.dataModels.Gegenstaende = DSA41_GegenstaendeData; + CONFIG.Actor.dataModels.Player = DSA41_CharacterData; + CONFIG.Item. dataModels.Gegenstand = DSA41_GegenstandData; + CONFIG.Item. dataModels.Ruestung = DSA41_RuestungData; + CONFIG.Item. dataModels.Nahkampfwaffe = DSA41_NahkampfwaffeData; //DocumentSheetConfig.unregisterSheet(Actor, "core", ActorSheet); DocumentSheetConfig.registerSheet(Actor, "dsa41", DSA41_ActorSheet, { @@ -16,14 +18,14 @@ Hooks.once("init", function() { DocumentSheetConfig.registerSheet(Item, "dsa41", DSA41_ItemSheet, { makeDefault: true, types: [ - "Gegenstaende", - "Waffen", - "Ruestungen", + "Gegenstand", + "Ruestung", + "Nahkampfwaffe", ] }); }); -const { SchemaField, NumberField, StringField } = foundry.data.fields; +const { SchemaField, NumberField, StringField, BooleanField } = foundry.data.fields; class AttributeField extends foundry.data.fields.SchemaField { constructor() { @@ -233,7 +235,7 @@ class DSA41_CharacterData extends foundry.abstract.TypeDataModel { } } -class DSA41_GegenstaendeData extends foundry.abstract.TypeDataModel { +class DSA41_GegenstandData extends foundry.abstract.TypeDataModel { static defineSchema() { return { gewicht: new NumberField({ integer: false, initial: 0, min: 0 }), @@ -242,7 +244,7 @@ class DSA41_GegenstaendeData extends foundry.abstract.TypeDataModel { } } -class DSA41_RuestungenData extends foundry.abstract.TypeDataModel { +class DSA41_RuestungData extends foundry.abstract.TypeDataModel { static defineSchema() { return { gewicht: new NumberField({ integer: false, initial: 0, min: 0 }), @@ -263,6 +265,34 @@ class DSA41_RuestungenData extends foundry.abstract.TypeDataModel { } } +class DSA41_NahkampfwaffeData extends foundry.abstract.TypeDataModel { + static defineSchema() { + return { + gewicht: new NumberField({ integer: false, initial: 0, min: 0 }), + preis: new NumberField({ integer: true, initial: 0, min: 0 }), + laenge: new NumberField({ integer: true, initial: 0, min: 0 }), + + basis: new StringField(), + schwellenwert: new NumberField({ integer: true, initial: 0, min: 0 }), + schadensschritte: new NumberField({ integer: true, initial: 0, min: 0 }), + + modifikator_attacke: new NumberField({ integer: true, initial: 0 }), + modifikator_parade: new NumberField({ integer: true, initial: 0 }), + + initiative: new NumberField({ integer: true, initial: 0 }), + bruchfaktor: new NumberField({ integer: true, initial: 0 }), + + distanzklasse: new StringField(), + kampftalente: new StringField(), + + zweihaendig: new BooleanField(), + werfbar: new BooleanField(), + improvisiert: new BooleanField(), + priviligiert: new BooleanField(), + }; + } +} + class DSA41_ActorSheet extends ActorSheet { get template() { return "systems/dsa-4th-edition/src/ActorSheet.html"; diff --git a/template.json b/template.json index 5c3e9fc..262fda5 100644 --- a/template.json +++ b/template.json @@ -6,9 +6,9 @@ }, "Item": { "types": [ - "Gegenstaende", - "Waffen", - "Ruestungen" + "Gegenstand", + "Ruestung", + "Nahkampfwaffe" ] } } \ No newline at end of file