diff --git a/src/ActorSheet.hbs b/src/ActorSheet.hbs index 5707f5d..b3c1bbd 100644 --- a/src/ActorSheet.hbs +++ b/src/ActorSheet.hbs @@ -15,7 +15,7 @@ {{/inline}} -
+
{{>editable-input type="text" name="name" value=actor.name placeholder=(localize "DSA41.name")}} {{>editable-input type="text" name="system.race" value=actor.system.race placeholder=(localize "DSA41.race")}} @@ -92,6 +92,24 @@ FK-Basiswert {{actor.system.computed.fk_basiswert}}
+ +
+
+
{{localize (concat "DSA41.sonderfertigkeiten.label_allgemein")}}
+
+ + {{#each actor.itemTypes.Sonderfertigkeit}} + {{#if (eq this.system.kategorie "allgemein")}} +
+
+
{{maybeLocalize name prefix=(concat "DSA41.sonderfertigkeiten." system.kategorie ".name")}}
+
+
+
+
+ {{/if}} + {{/each}} +
@@ -305,5 +323,23 @@
{{actor.system.computed.kampf.ruestungen_gesamt.gesamt_behinderung}}
+ +
+
+
{{localize (concat "DSA41.sonderfertigkeiten.label_kampf")}}
+
+ + {{#each actor.itemTypes.Sonderfertigkeit}} + {{#if (eq this.system.kategorie "kampf")}} +
+
+
{{maybeLocalize name prefix=(concat "DSA41.sonderfertigkeiten." system.kategorie ".name")}}
+
+
+
+
+ {{/if}} + {{/each}} +
diff --git a/src/ItemSheets/Sonderfertigkeit.hbs b/src/ItemSheets/Sonderfertigkeit.hbs new file mode 100644 index 0000000..dd22798 --- /dev/null +++ b/src/ItemSheets/Sonderfertigkeit.hbs @@ -0,0 +1,28 @@ +
+
+ +
+
+ {{>editable-input type="text" name="name" value=item.name placeholder=(localize "DSA41.name")}} +
+ +
{{localize "DSA41.sonderfertigkeiten.kategorie.label"}}
+
+
+
+ {{>editable-input type="number" name="system.kosten" value=item.system.kosten placeholder=(localize "DSA41.sonderfertigkeiten.kosten")}} + {{>editable-input type="number" name="system.verbreitung" value=item.system.verbreitung placeholder=(localize "DSA41.sonderfertigkeiten.verbreitung")}} +
+
+
+
+ + + +
+
diff --git a/src/lang/de.json b/src/lang/de.json index 0fec8d0..94e4916 100644 --- a/src/lang/de.json +++ b/src/lang/de.json @@ -28,6 +28,25 @@ "talentwert_short": "TaW" }, + "sonderfertigkeiten": { + "label_allgemein": "Allgemeine Sonderfertigkeiten", + "label_kampf": "Kampf-Sonderfertigkeiten", + "label_magisch": "Magische Sonderfertigkeiten", + "label_klerikal": "Klerikale Sonderfertigkeiten", + + "kosten": "Kosten", + "verbreitung": "Verbreitung", + + "kategorie": { + "label": "Kategorie", + + "allgemein": "Allgemein", + "kampf": "Kampf", + "magisch": "Magisch", + "klerikal": "Klerikal" + } + }, + "roll_types": { "courage": "Mut", "cleverness": "Klugheit", diff --git a/src/main.css b/src/main.css index dbba2a1..ec74985 100644 --- a/src/main.css +++ b/src/main.css @@ -287,6 +287,10 @@ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); } + + & .Sonderfertigkeiten { + grid-template-columns: minmax(min-content, max-content) auto min-content; + } } &[data-tab="tab2"] { @@ -322,6 +326,10 @@ grid-template-columns: 2fr repeat(8, 1fr) repeat(2, 1.5fr); text-align: center; } + + & .Sonderfertigkeiten { + grid-template-columns: minmax(min-content, max-content) auto min-content; + } } } } @@ -349,3 +357,13 @@ } } } + + +#tooltip.DSA41 { + max-width: 650px; + text-align: left; + + & h4 { + font-size: large; + } +} \ No newline at end of file diff --git a/src/main.mjs b/src/main.mjs index 72bb443..bad18bb 100644 --- a/src/main.mjs +++ b/src/main.mjs @@ -14,10 +14,11 @@ Hooks.once("init", async function() { CONFIG.Actor.dataModels.Player = DSA41_CharacterData; CONFIG.Actor.documentClass = DSA41_CharacterDocument; - CONFIG.Item.dataModels.Gegenstand = DSA41_GegenstandData; - CONFIG.Item.dataModels.Ruestung = DSA41_RuestungData; - CONFIG.Item.dataModels.Bewaffnung = DSA41_BewaffnungData; - CONFIG.Item.dataModels.Talent = DSA41_TalentData; + CONFIG.Item.dataModels.Gegenstand = DSA41_GegenstandData; + CONFIG.Item.dataModels.Ruestung = DSA41_RuestungData; + CONFIG.Item.dataModels.Bewaffnung = DSA41_BewaffnungData; + CONFIG.Item.dataModels.Talent = DSA41_TalentData; + CONFIG.Item.dataModels.Sonderfertigkeit = DSA41_SonderfertigkeitData; DocumentSheetConfig.unregisterSheet(Actor, "core", ActorSheet); DocumentSheetConfig.registerSheet(Actor, "dsa41", DSA41_ActorSheet, { @@ -35,14 +36,20 @@ Hooks.once("init", async function() { "Ruestung", "Bewaffnung", "Talent", + "Sonderfertigkeit", ] }); Handlebars.registerHelper({ maybeLocalize: (value, options) => { const prefix = options.hash.prefix ? options.hash.prefix.string : null; - if (prefix) - return game.i18n.localize(prefix + "." + value); + if (prefix) { + const id = prefix + "." + value; + const localized = game.i18n.localize(id); + + return id === localized ? value : localized; + } + return value; } }); @@ -516,7 +523,7 @@ class DSA41_BewaffnungData extends TypeDataModel { class DSA41_TalentData extends TypeDataModel { static defineSchema() { return { - kategorie: new StringField(), + kategorie: new StringField(), behinderung: new StringField(), attribute1: new StringField(), @@ -528,6 +535,18 @@ class DSA41_TalentData extends TypeDataModel { } } +class DSA41_SonderfertigkeitData extends TypeDataModel { + static defineSchema() { + return { + kategorie: new StringField(), + kosten: new NumberField({ integer: true, initial: 0 }), + verbreitung: new NumberField({ integer: true, initial: 0 }), + + beschreibung: new StringField(), + }; + } +} + function DSA41_ApplicationMixin(BaseApplication) { class DSA41_Application extends HandlebarsApplicationMixin(BaseApplication) { static DEFAULT_OPTIONS= { @@ -859,10 +878,11 @@ class DSA41_ActorSheet extends DSA41_ApplicationMixin(ActorSheetV2) { class DSA41_ItemSheetV2 extends DSA41_ApplicationMixin(ItemSheetV2) { static PARTS = { - Bewaffnung: { template: "systems/dsa-4th-edition/src/ItemSheets/Bewaffnung.hbs" }, - Gegenstand: { template: "systems/dsa-4th-edition/src/ItemSheets/Gegenstand.hbs" }, - Ruestung: { template: "systems/dsa-4th-edition/src/ItemSheets/Ruestung.hbs" }, - Talent: { template: "systems/dsa-4th-edition/src/ItemSheets/Talent.hbs" }, + Bewaffnung: { template: "systems/dsa-4th-edition/src/ItemSheets/Bewaffnung.hbs" }, + Gegenstand: { template: "systems/dsa-4th-edition/src/ItemSheets/Gegenstand.hbs" }, + Ruestung: { template: "systems/dsa-4th-edition/src/ItemSheets/Ruestung.hbs" }, + Talent: { template: "systems/dsa-4th-edition/src/ItemSheets/Talent.hbs" }, + Sonderfertigkeit: { template: "systems/dsa-4th-edition/src/ItemSheets/Sonderfertigkeit.hbs" }, }; static DEFAULT_OPTIONS = { diff --git a/system.json b/system.json index 8c786ca..8d978ab 100644 --- a/system.json +++ b/system.json @@ -14,7 +14,8 @@ "Ruestung": {}, "Bewaffnung": {}, - "Talent": {} + "Talent": {}, + "Sonderfertigkeit": {} } },