From d281756053e0d1bfacc8559c267ddfac21120a84 Mon Sep 17 00:00:00 2001 From: Sven Balzer <4653051+Kyuusokuna@users.noreply.github.com> Date: Sat, 24 May 2025 07:50:53 +0200 Subject: [PATCH] move actorsheet nav tabs to the right of the application --- src/ActorSheet.hbs | 1069 ++++++++++++++++++++++---------------------- src/main.css | 61 ++- src/main.mjs | 1 + 3 files changed, 596 insertions(+), 535 deletions(-) diff --git a/src/ActorSheet.hbs b/src/ActorSheet.hbs index a2eb617..f96abda 100644 --- a/src/ActorSheet.hbs +++ b/src/ActorSheet.hbs @@ -15,565 +15,568 @@ {{/inline}} -
-
- {{DSA41_input "name" subtitle="DSA41.name"}} - {{DSA41_input "system.race" subtitle="DSA41.race"}} - {{DSA41_input "system.culture" subtitle="DSA41.culture"}} - {{DSA41_input "system.profession" subtitle="DSA41.profession"}} - {{DSA41_input "system.sozialstatus" subtitle="DSA41.sozialstatus"}} -
- -
- -
-
- {{#each actor.system.attributes}} - {{>die-value type=@key header=(localize (concat "DSA41.attributes.short." @key)) value=(lookup @root.actor.system.computed.attributes @key) success-value=(lookup @root.actor.system.computed.attributes @key) data-roll="1d20" data-tooltip="attribute_tooltip"}} - {{/each}} -
-
-
- {{DSA41_input "system.lebenspunkte.aktuell"}} / {{actor.system.computed.lebenspunkte.max}} -
-
- {{DSA41_input "system.ausdauer.aktuell"}} / {{actor.system.computed.ausdauer.max}} -
-
- {{DSA41_input "system.astralenergie.aktuell"}} / {{actor.system.computed.astralenergie.max}} -
-
-
- -
- +
-
-
- {{localize "DSA41.allgemein.geschlecht"}} - {{DSA41_input "system.allgemein.geschlecht"}} - {{localize "DSA41.allgemein.alter"}} - {{DSA41_input "system.allgemein.alter"}} - - {{localize "DSA41.allgemein.groesse"}} - {{DSA41_input "system.allgemein.groesse"}} - {{localize "DSA41.allgemein.gewicht"}} - {{DSA41_input "system.allgemein.gewicht"}} - - {{localize "DSA41.allgemein.haarfarbe"}} - {{DSA41_input "system.allgemein.haarfarbe"}} - {{localize "DSA41.allgemein.augenfarbe"}} - {{DSA41_input "system.allgemein.augenfarbe"}} - - {{localize "DSA41.allgemein.stand"}} - {{DSA41_input "system.allgemein.stand"}} - {{localize "DSA41.allgemein.titel"}} - {{DSA41_input "system.allgemein.titel"}} -
- -
-
-
{{localize "DSA41.allgemein.aussehen"}}
- {{DSA41_input "system.allgemein.aussehen" elementType="prose-mirror"}} +
+
+
+ {{DSA41_input "name" subtitle="DSA41.name"}} + {{DSA41_input "system.race" subtitle="DSA41.race"}} + {{DSA41_input "system.culture" subtitle="DSA41.culture"}} + {{DSA41_input "system.profession" subtitle="DSA41.profession"}} + {{DSA41_input "system.sozialstatus" subtitle="DSA41.sozialstatus"}}
-
-
{{localize "DSA41.allgemein.hintergrund"}}
- {{DSA41_input "system.allgemein.hintergrund" elementType="prose-mirror"}} -
-
- -
-
- -
-
{{localize "DSA41.allgemein.biografie"}}
- {{DSA41_input "system.allgemein.biografie" elementType="prose-mirror"}} -
-
- -
-
- {{localize "DSA41.abenteuerpunkte"}}: - {{DSA41_input "system.abenteuerpunkte.ausgegeben"}} / {{DSA41_input "system.abenteuerpunkte.gesamt"}} - ({{actor.system.computed.abenteuerpunkte.uebrig}}) -
- -
-
- - {{localize "DSA41.attributes.initial"}} - {{localize "DSA41.attributes.advancement"}} - {{localize "DSA41.attributes.modifier"}} -
- - {{#each actor.system.attributes}} -
- {{localize (concat "DSA41.attributes.long." @key)}} - {{DSA41_input (concat "system.attributes." @key ".initial")}} - {{DSA41_input (concat "system.attributes." @key ".advancement")}} - {{DSA41_input (concat "system.attributes." @key ".modifier")}} +
+ +
+
+ {{#each actor.system.attributes}} + {{>die-value type=@key header=(localize (concat "DSA41.attributes.short." @key)) value=(lookup @root.actor.system.computed.attributes @key) success-value=(lookup @root.actor.system.computed.attributes @key) data-roll="1d20" data-tooltip="attribute_tooltip"}} + {{/each}} +
+
+
+ {{DSA41_input "system.lebenspunkte.aktuell"}} / {{actor.system.computed.lebenspunkte.max}} +
+
+ {{DSA41_input "system.ausdauer.aktuell"}} / {{actor.system.computed.ausdauer.max}} +
+
+ {{DSA41_input "system.astralenergie.aktuell"}} / {{actor.system.computed.astralenergie.max}} +
+
- {{/each}} -
- -
-
- - {{localize "DSA41.basiswerte.label_basiswert"}} - {{localize "DSA41.basiswerte.label_modifikator"}} - {{localize "DSA41.basiswerte.label_zukauf"}} - {{localize "DSA41.basiswerte.label_verlust"}} - {{localize "DSA41.basiswerte.label_total"}}
-
- {{localize "DSA41.basiswerte.lebenspunkte"}} - {{actor.system.computed.lebenspunkte.basiswert}} - {{DSA41_input "system.lebenspunkte.modifikator"}} - {{DSA41_input "system.lebenspunkte.zukauf"}} - {{DSA41_input "system.lebenspunkte.verlust"}} - {{actor.system.computed.lebenspunkte.max}} -
+
+
+ {{localize "DSA41.allgemein.geschlecht"}} + {{DSA41_input "system.allgemein.geschlecht"}} + {{localize "DSA41.allgemein.alter"}} + {{DSA41_input "system.allgemein.alter"}} -
- {{localize "DSA41.basiswerte.ausdauer"}} - {{actor.system.computed.ausdauer.basiswert}} - {{DSA41_input "system.ausdauer.modifikator"}} - {{DSA41_input "system.ausdauer.zukauf"}} - {{DSA41_input "system.ausdauer.verlust"}} - {{actor.system.computed.ausdauer.max}} -
+ {{localize "DSA41.allgemein.groesse"}} + {{DSA41_input "system.allgemein.groesse"}} + {{localize "DSA41.allgemein.gewicht"}} + {{DSA41_input "system.allgemein.gewicht"}} -
- {{localize "DSA41.basiswerte.astralenergie"}} - {{actor.system.computed.astralenergie.basiswert}} - {{DSA41_input "system.astralenergie.modifikator"}} - {{DSA41_input "system.astralenergie.zukauf"}} - {{DSA41_input "system.astralenergie.verlust"}} - {{actor.system.computed.astralenergie.max}} -
+ {{localize "DSA41.allgemein.haarfarbe"}} + {{DSA41_input "system.allgemein.haarfarbe"}} + {{localize "DSA41.allgemein.augenfarbe"}} + {{DSA41_input "system.allgemein.augenfarbe"}} -
- {{localize "DSA41.basiswerte.karmalenergie"}} - {{DSA41_input "system.karmalenergie"}} - - - - {{actor.system.karmalenergie}} -
- -
- {{localize "DSA41.basiswerte.magieresistenz"}} - {{actor.system.computed.magieresistenz.basiswert}} - {{DSA41_input "system.magieresistenz.modifikator"}} - {{DSA41_input "system.magieresistenz.zukauf"}} - - {{actor.system.computed.magieresistenz.max}} -
- -
- {{localize "DSA41.basiswerte.initiative"}} - {{actor.system.computed.initiative.basiswert}} - {{DSA41_input "system.modifikator_initiative"}} - - - {{actor.system.computed.initiative.wert}} -
- -
- {{localize "DSA41.basiswerte.attacke"}} - {{actor.system.computed.attacke.basiswert}} - {{DSA41_input "system.modifikator_attacke"}} - - - {{actor.system.computed.attacke.wert}} -
- -
- {{localize "DSA41.basiswerte.parade"}} - {{actor.system.computed.parade.basiswert}} - {{DSA41_input "system.modifikator_parade"}} - - - {{actor.system.computed.parade.wert}} -
- -
- {{localize "DSA41.basiswerte.fernkampf"}} - {{actor.system.computed.fernkampf.basiswert}} - {{DSA41_input "system.modifikator_fernkampf"}} - - - {{actor.system.computed.fernkampf.wert}} -
-
- -
-
-
-
{{localize (concat "DSA41.vornachteil.label_vorteile")}}
+ {{localize "DSA41.allgemein.stand"}} + {{DSA41_input "system.allgemein.stand"}} + {{localize "DSA41.allgemein.titel"}} + {{DSA41_input "system.allgemein.titel"}}
- {{#unless (ne actor.system.computed.num_vorteile 0)}} -
{{localize "DSA41.list_empty"}}
- {{/unless}} +
+
+
{{localize "DSA41.allgemein.aussehen"}}
+ {{DSA41_input "system.allgemein.aussehen" elementType="prose-mirror"}} +
- {{#each actor.itemTypes.VorNachteil}} - {{#if (eq system.kategorie "vorteil")}} -
-
-
{{maybeLocalize name prefix=(concat "DSA41.vornachteil." system.kategorie ".name")}}
+
+
{{localize "DSA41.allgemein.hintergrund"}}
+ {{DSA41_input "system.allgemein.hintergrund" elementType="prose-mirror"}} +
+
+ +
+
+ +
+
{{localize "DSA41.allgemein.biografie"}}
+ {{DSA41_input "system.allgemein.biografie" elementType="prose-mirror"}} +
+
+ +
+
+ {{localize "DSA41.abenteuerpunkte"}}: + {{DSA41_input "system.abenteuerpunkte.ausgegeben"}} / {{DSA41_input "system.abenteuerpunkte.gesamt"}} + ({{actor.system.computed.abenteuerpunkte.uebrig}}) +
+ +
+
+ + {{localize "DSA41.attributes.initial"}} + {{localize "DSA41.attributes.advancement"}} + {{localize "DSA41.attributes.modifier"}} +
+ + {{#each actor.system.attributes}} +
+ {{localize (concat "DSA41.attributes.long." @key)}} + {{DSA41_input (concat "system.attributes." @key ".initial")}} + {{DSA41_input (concat "system.attributes." @key ".advancement")}} + {{DSA41_input (concat "system.attributes." @key ".modifier")}} +
+ {{/each}} +
+ +
+
+ + {{localize "DSA41.basiswerte.label_basiswert"}} + {{localize "DSA41.basiswerte.label_modifikator"}} + {{localize "DSA41.basiswerte.label_zukauf"}} + {{localize "DSA41.basiswerte.label_verlust"}} + {{localize "DSA41.basiswerte.label_total"}} +
+ +
+ {{localize "DSA41.basiswerte.lebenspunkte"}} + {{actor.system.computed.lebenspunkte.basiswert}} + {{DSA41_input "system.lebenspunkte.modifikator"}} + {{DSA41_input "system.lebenspunkte.zukauf"}} + {{DSA41_input "system.lebenspunkte.verlust"}} + {{actor.system.computed.lebenspunkte.max}} +
+ +
+ {{localize "DSA41.basiswerte.ausdauer"}} + {{actor.system.computed.ausdauer.basiswert}} + {{DSA41_input "system.ausdauer.modifikator"}} + {{DSA41_input "system.ausdauer.zukauf"}} + {{DSA41_input "system.ausdauer.verlust"}} + {{actor.system.computed.ausdauer.max}} +
+ +
+ {{localize "DSA41.basiswerte.astralenergie"}} + {{actor.system.computed.astralenergie.basiswert}} + {{DSA41_input "system.astralenergie.modifikator"}} + {{DSA41_input "system.astralenergie.zukauf"}} + {{DSA41_input "system.astralenergie.verlust"}} + {{actor.system.computed.astralenergie.max}} +
+ +
+ {{localize "DSA41.basiswerte.karmalenergie"}} + {{DSA41_input "system.karmalenergie"}} + + + + {{actor.system.karmalenergie}} +
+ +
+ {{localize "DSA41.basiswerte.magieresistenz"}} + {{actor.system.computed.magieresistenz.basiswert}} + {{DSA41_input "system.magieresistenz.modifikator"}} + {{DSA41_input "system.magieresistenz.zukauf"}} + + {{actor.system.computed.magieresistenz.max}} +
+ +
+ {{localize "DSA41.basiswerte.initiative"}} + {{actor.system.computed.initiative.basiswert}} + {{DSA41_input "system.modifikator_initiative"}} + + + {{actor.system.computed.initiative.wert}} +
+ +
+ {{localize "DSA41.basiswerte.attacke"}} + {{actor.system.computed.attacke.basiswert}} + {{DSA41_input "system.modifikator_attacke"}} + + + {{actor.system.computed.attacke.wert}} +
+ +
+ {{localize "DSA41.basiswerte.parade"}} + {{actor.system.computed.parade.basiswert}} + {{DSA41_input "system.modifikator_parade"}} + + + {{actor.system.computed.parade.wert}} +
+ +
+ {{localize "DSA41.basiswerte.fernkampf"}} + {{actor.system.computed.fernkampf.basiswert}} + {{DSA41_input "system.modifikator_fernkampf"}} + + + {{actor.system.computed.fernkampf.wert}} +
+
+ +
+
+
+
{{localize (concat "DSA41.vornachteil.label_vorteile")}}
+
+ + {{#unless (ne actor.system.computed.num_vorteile 0)}} +
{{localize "DSA41.list_empty"}}
+ {{/unless}} + + {{#each actor.itemTypes.VorNachteil}} + {{#if (eq system.kategorie "vorteil")}} +
+
+
{{maybeLocalize name prefix=(concat "DSA41.vornachteil." system.kategorie ".name")}}
+
+
+
+
+ {{/if}} + {{/each}} +
+ +
+
+
{{localize (concat "DSA41.vornachteil.label_nachteile")}}
+
+ + {{#unless (ne actor.system.computed.num_nachteile 0)}} +
{{localize "DSA41.list_empty"}}
+ {{/unless}} + + {{#each actor.itemTypes.VorNachteil}} + {{#if (eq system.kategorie "nachteil")}} +
+
+
{{maybeLocalize name prefix=(concat "DSA41.vornachteil." system.kategorie ".name")}}
+
+
+
+
+ {{/if}} + {{/each}} +
+
+ +
+
+
{{localize (concat "DSA41.sonderfertigkeiten.label_allgemein")}}
+
+ + {{#unless (ne actor.system.computed.num_allgemeine_sonderfertigkeiten 0)}} +
{{localize "DSA41.list_empty"}}
+ {{/unless}} + + {{#each actor.itemTypes.Sonderfertigkeit}} + {{#if (eq this.system.kategorie "allgemein")}} +
+
+
{{maybeLocalize name prefix=(concat "DSA41.sonderfertigkeiten." system.kategorie ".name")}}
+
+
+
-
-
-
- {{/if}} - {{/each}} + {{/if}} + {{/each}} +
-
-
-
{{localize (concat "DSA41.vornachteil.label_nachteile")}}
+
+ {{#each actor.system.talente}} +
+
+
{{localize (concat "DSA41.talente." @key ".label")}}
+
{{localize "DSA41.talente.label_eigenschaften"}}
+
{{localize "DSA41.talente.label_talentwert"}}
+
+ + {{#each this}} +
+
{{maybeLocalize name prefix=(concat "DSA41.talente." system.kategorie ".name")}}
+
+ {{>die-type type=system.attribute1}} + {{>die-type type=system.attribute2}} + {{>die-type type=system.attribute3}} +
+
{{>editable-input type="number" data-name="system.talentwert" value=system.talentwert}}
+
+
+ {{/each}} +
+ {{/each}} + +
+
+
{{localize "DSA41.talente.kampf.label"}}
+
{{localize "DSA41.talente.label_talentwert"}}
+
{{localize "DSA41.talente.kampf.label_attacke"}}
+
{{localize "DSA41.talente.kampf.label_parade"}}
+
{{localize "DSA41.talente.kampf.label_attacke_total"}}
+
{{localize "DSA41.talente.kampf.label_parade_total"}}
+
+ + {{#each actor.system.kampftalente}} +
+
{{maybeLocalize name prefix="DSA41.talente.kampf.name."}}
+
{{>editable-input type="number" name=(concat name "system.talentwert") data-name="system.talentwert" value=system.talentwert}}
+
{{>editable-input type="number" name=(concat name "system.attacke") data-name="system.attacke" value=system.attacke}}
+
{{>editable-input type="number" name=(concat name "system.parade") data-name="system.parade" value=system.parade}}
+
{{lookup (lookup @root.actor.system.computed.kampf.talente name) "attacke"}}
+
{{lookup (lookup @root.actor.system.computed.kampf.talente name) "parade"}}
+
+ {{/each}} +
+
+ +
+
+ {{DSA41_input "system.currency.dukaten"}} + + {{DSA41_input "system.currency.silbertaler"}} + + {{DSA41_input "system.currency.heller"}} + + {{DSA41_input "system.currency.kreuzer"}} +
- {{#unless (ne actor.system.computed.num_nachteile 0)}} -
{{localize "DSA41.list_empty"}}
- {{/unless}} - - {{#each actor.itemTypes.VorNachteil}} - {{#if (eq system.kategorie "nachteil")}} -
-
-
{{maybeLocalize name prefix=(concat "DSA41.vornachteil." system.kategorie ".name")}}
-
-
-
-
- {{/if}} - {{/each}} -
-
- -
-
-
{{localize (concat "DSA41.sonderfertigkeiten.label_allgemein")}}
-
- - {{#unless (ne actor.system.computed.num_allgemeine_sonderfertigkeiten 0)}} -
{{localize "DSA41.list_empty"}}
- {{/unless}} - - {{#each actor.itemTypes.Sonderfertigkeit}} - {{#if (eq this.system.kategorie "allgemein")}} -
-
-
{{maybeLocalize name prefix=(concat "DSA41.sonderfertigkeiten." system.kategorie ".name")}}
-
+
+
+
{{localize "DSA41.inventar.bewaffnung"}}
+
+
+
{{localize "DSA41.weight.label"}}
-
- {{/if}} - {{/each}} -
-
-
- {{#each actor.system.talente}} -
-
-
{{localize (concat "DSA41.talente." @key ".label")}}
-
{{localize "DSA41.talente.label_eigenschaften"}}
-
{{localize "DSA41.talente.label_talentwert"}}
-
+ {{#unless (ne actor.itemTypes.Bewaffnung.length 0)}} +
{{localize "DSA41.list_empty"}}
+ {{/unless}} - {{#each this}} -
-
{{maybeLocalize name prefix=(concat "DSA41.talente." system.kategorie ".name")}}
-
- {{>die-type type=system.attribute1}} - {{>die-type type=system.attribute2}} - {{>die-type type=system.attribute3}} -
-
{{>editable-input type="number" data-name="system.talentwert" value=system.talentwert}}
-
-
- {{/each}} -
- {{/each}} - -
-
-
{{localize "DSA41.talente.kampf.label"}}
-
{{localize "DSA41.talente.label_talentwert"}}
-
{{localize "DSA41.talente.kampf.label_attacke"}}
-
{{localize "DSA41.talente.kampf.label_parade"}}
-
{{localize "DSA41.talente.kampf.label_attacke_total"}}
-
{{localize "DSA41.talente.kampf.label_parade_total"}}
-
- - {{#each actor.system.kampftalente}} -
-
{{maybeLocalize name prefix="DSA41.talente.kampf.name."}}
-
{{>editable-input type="number" name=(concat name "system.talentwert") data-name="system.talentwert" value=system.talentwert}}
-
{{>editable-input type="number" name=(concat name "system.attacke") data-name="system.attacke" value=system.attacke}}
-
{{>editable-input type="number" name=(concat name "system.parade") data-name="system.parade" value=system.parade}}
-
{{lookup (lookup @root.actor.system.computed.kampf.talente name) "attacke"}}
-
{{lookup (lookup @root.actor.system.computed.kampf.talente name) "parade"}}
-
- {{/each}} -
-
- -
-
- {{DSA41_input "system.currency.dukaten"}} - - {{DSA41_input "system.currency.silbertaler"}} - - {{DSA41_input "system.currency.heller"}} - - {{DSA41_input "system.currency.kreuzer"}} - -
- -
-
-
{{localize "DSA41.inventar.bewaffnung"}}
-
-
-
{{localize "DSA41.weight.label"}}
-
-
- - {{#unless (ne actor.itemTypes.Bewaffnung.length 0)}} -
{{localize "DSA41.list_empty"}}
- {{/unless}} - - {{#each (sorted actor.itemTypes.Bewaffnung)}} -
-
- -
- {{this.name}} - - {{#if this.system.nahkampfwaffe.aktiv}} Nahkampfwaffe {{/if}} - {{#if this.system.parierwaffe.aktiv}} Parierwaffe {{/if}} - {{#if this.system.schild.aktiv}} Schild {{/if}} - {{#if this.system.fernkampfwaffe.aktiv}} Fernkampfwaffe {{/if}} - -
-
-
-
-
{{this.system.gewicht.value}} {{localize (concat "DSA41.weight." this.system.gewicht.unit)}}
-
-
- {{/each}} -
- -
-
-
{{localize "DSA41.inventar.ruestungen"}}
-
-
-
{{localize "DSA41.weight.label"}}
-
- - {{#unless (ne actor.itemTypes.Ruestung.length 0)}} -
{{localize "DSA41.list_empty"}}
- {{/unless}} - - {{#each (sorted actor.itemTypes.Ruestung)}} -
-
- - {{this.name}} -
-
-
-
{{this.system.gewicht.value}} {{localize (concat "DSA41.weight." this.system.gewicht.unit)}}
-
-
- {{/each}} -
- -
-
-
{{localize "DSA41.inventar.gegenstaende"}}
-
-
-
{{localize "DSA41.weight.label"}}
-
- - {{#unless (ne actor.itemTypes.Gegenstand.length 0)}} -
{{localize "DSA41.list_empty"}}
- {{/unless}} - - {{#each (sorted actor.itemTypes.Gegenstand)}} -
-
- - {{this.name}} -
-
-
-
{{this.system.gewicht.value}} {{localize (concat "DSA41.weight." this.system.gewicht.unit)}}
-
-
- {{/each}} -
-
- -
-
-
-
{{localize "DSA41.kampf.bewaffnung"}}
-
{{localize "DSA41.kampf.attacke"}}
-
{{localize "DSA41.kampf.parade"}}
-
{{localize "DSA41.kampf.trefferpunkte"}}
-
- - {{#unless (or (ne actor.system.computed.num_waffen 0) (ne actor.system.computed.num_fernkampf_waffen 0))}} -
{{localize "DSA41.list_empty"}}
- {{/unless}} - - {{#each actor.system.computed.kampf.waffen}} -
-
- -
- {{item.name}} -
-
-
{{>die-value type="attacke" data-roll="1d20" value=attacke success-value=attacke data-tooltip="attacke_tooltip"}}
-
{{>die-value type="parade" data-roll="1d20" value=parade success-value=parade data-tooltip="parade_tooltip"}}
-
{{>die-value type="trefferpunkte" data-roll=trefferpunkte value=trefferpunkte_display data-tooltip="trefferpunkte_tooltip"}}
-
- {{/each}} - {{#each actor.system.computed.kampf.fernkampf_waffen}} -
-
- -
- {{item.name}} -
-
-
{{>die-value type="fernkampf-attacke" data-roll="1d20" value=attacke data-tooltip="fernkampf_attacke_tooltip"}}
-
-
{{>die-value type="fernkampf-trefferpunkte" data-roll=trefferpunkte value=trefferpunkte_display data-tooltip="fernkampf_trefferpunkte_tooltip"}}
-
- {{/each}} -
- -
-
-
{{localize "DSA41.kampf.zauber"}}
-
-
- - {{#unless (ne actor.itemTypes.Zauber.length 0)}} -
{{localize "DSA41.list_empty"}}
- {{/unless}} - - {{#each actor.itemTypes.Zauber}} -
-
- -
- {{name}} -
-
- -
- {{/each}} -
- -
-
-
{{localize "DSA41.kampf.ruestungen"}}
-
{{localize "DSA41.ruestungen.kopf"}}
-
{{localize "DSA41.ruestungen.brust"}}
-
{{localize "DSA41.ruestungen.ruecken"}}
-
{{localize "DSA41.ruestungen.bauch"}}
-
-
{{localize "DSA41.ruestungen.arm"}}
-
{{localize "DSA41.ruestungen.links"}}
-
{{localize "DSA41.ruestungen.rechts"}}
-
-
-
{{localize "DSA41.ruestungen.bein"}}
-
{{localize "DSA41.ruestungen.links"}}
-
{{localize "DSA41.ruestungen.rechts"}}
-
-
-
{{localize "DSA41.ruestungen.gesamt"}}
-
{{localize "DSA41.ruestungen.ruestungsschutz"}}
-
{{localize "DSA41.ruestungen.behinderung"}}
-
-
- - {{#each actor.system.computed.kampf.ruestungen}} -
-
- - {{item.name}} -
-
{{item.system.kopf}}
-
{{item.system.brust}}
-
{{item.system.ruecken}}
-
{{item.system.bauch}}
-
{{item.system.linker_arm}}
-
{{item.system.rechter_arm}}
-
{{item.system.linkes_bein}}
-
{{item.system.rechtes_bein}}
-
{{item.system.gesamt_ruestungsschutz}}
-
{{item.system.gesamt_behinderung}}
-
- {{/each}} - -
-
Total
-
{{actor.system.computed.kampf.ruestungen_gesamt.kopf}}
-
{{actor.system.computed.kampf.ruestungen_gesamt.brust}}
-
{{actor.system.computed.kampf.ruestungen_gesamt.ruecken}}
-
{{actor.system.computed.kampf.ruestungen_gesamt.bauch}}
-
{{actor.system.computed.kampf.ruestungen_gesamt.linker_arm}}
-
{{actor.system.computed.kampf.ruestungen_gesamt.rechter_arm}}
-
{{actor.system.computed.kampf.ruestungen_gesamt.linkes_bein}}
-
{{actor.system.computed.kampf.ruestungen_gesamt.rechtes_bein}}
-
{{actor.system.computed.kampf.ruestungen_gesamt.gesamt_ruestungsschutz}}
-
{{actor.system.computed.kampf.ruestungen_gesamt.gesamt_behinderung}}
-
-
- -
-
-
{{localize (concat "DSA41.sonderfertigkeiten.label_kampf")}}
-
- - {{#unless (ne actor.system.computed.num_kampf_sonderfertigkeiten 0)}} -
{{localize "DSA41.list_empty"}}
- {{/unless}} - - {{#each actor.itemTypes.Sonderfertigkeit}} - {{#if (eq this.system.kategorie "kampf")}} -
-
-
{{maybeLocalize name prefix=(concat "DSA41.sonderfertigkeiten." system.kategorie ".name")}}
+ {{#each (sorted actor.itemTypes.Bewaffnung)}} +
+
+ +
+ {{this.name}} + + {{#if this.system.nahkampfwaffe.aktiv}} Nahkampfwaffe {{/if}} + {{#if this.system.parierwaffe.aktiv}} Parierwaffe {{/if}} + {{#if this.system.schild.aktiv}} Schild {{/if}} + {{#if this.system.fernkampfwaffe.aktiv}} Fernkampfwaffe {{/if}} + +
+
+
{{this.system.gewicht.value}} {{localize (concat "DSA41.weight." this.system.gewicht.unit)}}
- {{/if}} - {{/each}} + {{/each}} +
+ +
+
+
{{localize "DSA41.inventar.ruestungen"}}
+
+
+
{{localize "DSA41.weight.label"}}
+
+ + {{#unless (ne actor.itemTypes.Ruestung.length 0)}} +
{{localize "DSA41.list_empty"}}
+ {{/unless}} + + {{#each (sorted actor.itemTypes.Ruestung)}} +
+
+ + {{this.name}} +
+
+
+
{{this.system.gewicht.value}} {{localize (concat "DSA41.weight." this.system.gewicht.unit)}}
+
+
+ {{/each}} +
+ +
+
+
{{localize "DSA41.inventar.gegenstaende"}}
+
+
+
{{localize "DSA41.weight.label"}}
+
+ + {{#unless (ne actor.itemTypes.Gegenstand.length 0)}} +
{{localize "DSA41.list_empty"}}
+ {{/unless}} + + {{#each (sorted actor.itemTypes.Gegenstand)}} +
+
+ + {{this.name}} +
+
+
+
{{this.system.gewicht.value}} {{localize (concat "DSA41.weight." this.system.gewicht.unit)}}
+
+
+ {{/each}} +
+
+ +
+
+
+
{{localize "DSA41.kampf.bewaffnung"}}
+
{{localize "DSA41.kampf.attacke"}}
+
{{localize "DSA41.kampf.parade"}}
+
{{localize "DSA41.kampf.trefferpunkte"}}
+
+ + {{#unless (or (ne actor.system.computed.num_waffen 0) (ne actor.system.computed.num_fernkampf_waffen 0))}} +
{{localize "DSA41.list_empty"}}
+ {{/unless}} + + {{#each actor.system.computed.kampf.waffen}} +
+
+ +
+ {{item.name}} +
+
+
{{>die-value type="attacke" data-roll="1d20" value=attacke success-value=attacke data-tooltip="attacke_tooltip"}}
+
{{>die-value type="parade" data-roll="1d20" value=parade success-value=parade data-tooltip="parade_tooltip"}}
+
{{>die-value type="trefferpunkte" data-roll=trefferpunkte value=trefferpunkte_display data-tooltip="trefferpunkte_tooltip"}}
+
+ {{/each}} + {{#each actor.system.computed.kampf.fernkampf_waffen}} +
+
+ +
+ {{item.name}} +
+
+
{{>die-value type="fernkampf-attacke" data-roll="1d20" value=attacke data-tooltip="fernkampf_attacke_tooltip"}}
+
+
{{>die-value type="fernkampf-trefferpunkte" data-roll=trefferpunkte value=trefferpunkte_display data-tooltip="fernkampf_trefferpunkte_tooltip"}}
+
+ {{/each}} +
+ +
+
+
{{localize "DSA41.kampf.zauber"}}
+
+
+ + {{#unless (ne actor.itemTypes.Zauber.length 0)}} +
{{localize "DSA41.list_empty"}}
+ {{/unless}} + + {{#each actor.itemTypes.Zauber}} +
+
+ +
+ {{name}} +
+
+ +
+ {{/each}} +
+ +
+
+
{{localize "DSA41.kampf.ruestungen"}}
+
{{localize "DSA41.ruestungen.kopf"}}
+
{{localize "DSA41.ruestungen.brust"}}
+
{{localize "DSA41.ruestungen.ruecken"}}
+
{{localize "DSA41.ruestungen.bauch"}}
+
+
{{localize "DSA41.ruestungen.arm"}}
+
{{localize "DSA41.ruestungen.links"}}
+
{{localize "DSA41.ruestungen.rechts"}}
+
+
+
{{localize "DSA41.ruestungen.bein"}}
+
{{localize "DSA41.ruestungen.links"}}
+
{{localize "DSA41.ruestungen.rechts"}}
+
+
+
{{localize "DSA41.ruestungen.gesamt"}}
+
{{localize "DSA41.ruestungen.ruestungsschutz"}}
+
{{localize "DSA41.ruestungen.behinderung"}}
+
+
+ + {{#each actor.system.computed.kampf.ruestungen}} +
+
+ + {{item.name}} +
+
{{item.system.kopf}}
+
{{item.system.brust}}
+
{{item.system.ruecken}}
+
{{item.system.bauch}}
+
{{item.system.linker_arm}}
+
{{item.system.rechter_arm}}
+
{{item.system.linkes_bein}}
+
{{item.system.rechtes_bein}}
+
{{item.system.gesamt_ruestungsschutz}}
+
{{item.system.gesamt_behinderung}}
+
+ {{/each}} + +
+
Total
+
{{actor.system.computed.kampf.ruestungen_gesamt.kopf}}
+
{{actor.system.computed.kampf.ruestungen_gesamt.brust}}
+
{{actor.system.computed.kampf.ruestungen_gesamt.ruecken}}
+
{{actor.system.computed.kampf.ruestungen_gesamt.bauch}}
+
{{actor.system.computed.kampf.ruestungen_gesamt.linker_arm}}
+
{{actor.system.computed.kampf.ruestungen_gesamt.rechter_arm}}
+
{{actor.system.computed.kampf.ruestungen_gesamt.linkes_bein}}
+
{{actor.system.computed.kampf.ruestungen_gesamt.rechtes_bein}}
+
{{actor.system.computed.kampf.ruestungen_gesamt.gesamt_ruestungsschutz}}
+
{{actor.system.computed.kampf.ruestungen_gesamt.gesamt_behinderung}}
+
+
+ +
+
+
{{localize (concat "DSA41.sonderfertigkeiten.label_kampf")}}
+
+ + {{#unless (ne actor.system.computed.num_kampf_sonderfertigkeiten 0)}} +
{{localize "DSA41.list_empty"}}
+ {{/unless}} + + {{#each actor.itemTypes.Sonderfertigkeit}} + {{#if (eq this.system.kategorie "kampf")}} +
+
+
{{maybeLocalize name prefix=(concat "DSA41.sonderfertigkeiten." system.kategorie ".name")}}
+
+
+
+
+ {{/if}} + {{/each}} +
+
-
+
\ No newline at end of file diff --git a/src/main.css b/src/main.css index 2bd7fd0..145dc43 100644 --- a/src/main.css +++ b/src/main.css @@ -8,9 +8,15 @@ html { pointer-events: auto; } - /* Allow application content to be scrolled */ + /* allow tabs to be visible on the right side of the application */ + &.application.ActorSheet { + overflow: visible; + } + & .window-content { - overflow-y: scroll; + padding: 0; + overflow: visible; + height: calc(100% - var(--header-height)); } & [data-action] { @@ -429,6 +435,10 @@ html { } } + & [data-application-part]:not([data-application-part="ActorSheet"]) { + padding: 1rem; + } + & [data-application-part="Bewaffnung"] { & .tab { grid-template-columns: minmax(0, max-content) minmax(0, 1fr) minmax(0, max-content) minmax(0, 1fr); @@ -471,6 +481,53 @@ html { } & [data-application-part="ActorSheet"] { + height: 100%; + + & .scroll-container { + height: 100%; + overflow-y: scroll; + } + + & .ActorSheet { + padding: 1rem; + } + + & .tabs { + display: flex; + flex-direction: column; + align-items: start; + + position: absolute; + z-index: -1; + left: 100%; + + border: none; + padding: 0; + + gap: 2em; + + & > * { + transform: none !important; + + &::before { + background: var(--background); + padding: .5em .5em .5em .75em; + border-width: 1px 1px 1px 0px; + border-radius: 0 5px 5px 0; + border-style: solid; + transition: all 250ms ease; + } + + &.active, &:hover { + text-decoration: none; + + &::before { + padding: .5em .5em .5em 1.25em; + } + } + } + } + & .tab { &[data-tab="tab1"] { & .Eigenschaften { diff --git a/src/main.mjs b/src/main.mjs index 2ab591c..486fb86 100644 --- a/src/main.mjs +++ b/src/main.mjs @@ -1222,6 +1222,7 @@ class DSA41_ActorSheet extends DSA41_ApplicationMixin(ActorSheetV2) { }; static DEFAULT_OPTIONS = { + classes: [ "DSA41", "ActorSheet" ], position: { width: "800", height: "650" }, actions: { "roll": async function(event, target) {