diff --git a/src/ds4.scss b/src/ds4.scss index b2e8366..2fedca1 100644 --- a/src/ds4.scss +++ b/src/ds4.scss @@ -18,4 +18,6 @@ @import "scss/components/items"; @import "scss/components/description"; @import "scss/components/character_values"; + @import "scss/components/attributes_traits"; + @import "scss/components/combat_values"; } diff --git a/src/module/config.ts b/src/module/config.ts index cb5437b..89d285c 100644 --- a/src/module/config.ts +++ b/src/module/config.ts @@ -106,10 +106,10 @@ export const DS4 = { */ traits: { strength: "DS4.TraitStrength", - constitution: "DS4.TraitConstitution", agility: "DS4.TraitAgility", - dexterity: "DS4.TraitDexterity", intellect: "DS4.TraitIntellect", + constitution: "DS4.TraitConstitution", + dexterity: "DS4.TraitDexterity", aura: "DS4.TraitAura", }, diff --git a/src/module/ds4.ts b/src/module/ds4.ts index 18e066a..358074b 100644 --- a/src/module/ds4.ts +++ b/src/module/ds4.ts @@ -37,6 +37,8 @@ async function registerHandlebarsPartials() { "systems/ds4/templates/item/partials/effects.hbs", "systems/ds4/templates/item/partials/body.hbs", "systems/ds4/templates/actor/partials/items-overview.hbs", + "systems/ds4/templates/actor/partials/attributes-traits.hbs", + "systems/ds4/templates/actor/partials/combat-values.hbs", ]; return loadTemplates(templatePaths); } @@ -67,7 +69,7 @@ Hooks.once("setup", function () { ]; // Exclude some from sorting where the default order matters - const noSort = []; + const noSort = ["attributes", "traits", "combatValues"]; // Localize and sort CONFIG objects for (const o of toLocalize) { diff --git a/src/scss/components/_attributes_traits.scss b/src/scss/components/_attributes_traits.scss new file mode 100644 index 0000000..19cef98 --- /dev/null +++ b/src/scss/components/_attributes_traits.scss @@ -0,0 +1,46 @@ +.attributes-traits { + margin-top: $margin-sm; + .attribute { + .attribute-label { + font-family: $font-heading; + font-size: 2em; + text-align: center; + } + .attribute-value { + border: 2px groove $c-border-groove; + line-height: $default-input-height; + font-size: 1.5em; + text-align: center; + padding-left: 2px; + padding-right: 2px; + gap: 0; + input, + .attribute-value-total { + grid-column: span 2; + } + } + } + .trait { + .trait-label { + color: transparent; + font-family: $font-heading; + font-size: 2em; + text-align: center; + //text-shadow: -1px 1px 0 $c-black, 1px 1px 0 $c-black, 1px -1px 0 $c-black, -1px -1px 0 $c-black; + -webkit-text-stroke: 1px $c-black; + } + .trait-value { + border: 2px groove $c-border-groove; + font-size: 1.5em; + line-height: $default-input-height; + text-align: center; + padding-left: 2px; + padding-right: 2px; + gap: 0; + input, + .trait-value-total { + grid-column: span 2; + } + } + } +} diff --git a/src/scss/components/_character_values.scss b/src/scss/components/_character_values.scss index 7b6ec7d..69ccc0f 100644 --- a/src/scss/components/_character_values.scss +++ b/src/scss/components/_character_values.scss @@ -1,99 +1,5 @@ header.sheet-header { .character-values { flex: 0 0 100%; - .attributes-traits { - margin-top: $margin-sm; - .attribute { - .attribute-label { - font-family: $font-heading; - font-size: 2em; - text-align: center; - } - .attribute-value { - border: 2px groove $c-border-groove; - line-height: 26px; - font-size: 1.5em; - text-align: center; - padding-left: 2px; - padding-right: 2px; - gap: 0; - input, - .attribute-value-total { - grid-column: span 2; - } - } - } - .trait { - .trait-label { - color: transparent; - font-family: $font-heading; - font-size: 2em; - text-align: center; - //text-shadow: -1px 1px 0 $c-black, 1px 1px 0 $c-black, 1px -1px 0 $c-black, -1px -1px 0 $c-black; - -webkit-text-stroke: 1px $c-black; - } - .trait-value { - border: 2px groove $c-border-groove; - font-size: 1.5em; - line-height: 26px; - text-align: center; - padding-left: 2px; - padding-right: 2px; - gap: 0; - input, - .trait-value-total { - grid-column: span 2; - } - } - } - } - .combat-values { - margin-top: $margin-sm; - .combat-value-with-formula { - display: grid; - place-items: center; - $size: 60px; - row-gap: $margin-sm; - .combat-value { - @include centered-content; - height: $size; - width: $size; - flex: 0 0 auto; - background-size: contain; - font-size: 1.5em; - &.hitPoints { - background-image: url("#{$official-assets-path}/DS4-HP.png"); - } - &.defense { - background-image: url("#{$official-assets-path}/DS4-DEF.png"); - } - &.initiative { - background-image: url("#{$official-assets-path}/DS4-INI.png"); - } - &.movement { - background-image: url("#{$official-assets-path}/DS4-MR.png"); - } - &.meleeAttack { - background-image: url("#{$official-assets-path}/DS4-MAT.png"); - } - &.rangedAttack { - background-image: url("#{$official-assets-path}/DS4-RAT.png"); - } - &.spellcasting { - background-image: url("#{$official-assets-path}/DS4-SPC.png"); - } - &.targetedSpellcasting { - background-image: url("#{$official-assets-path}/DS4-TSC.png"); - } - } - - .combat-value-formula { - width: $size; - input { - text-align: center; - } - } - } - } } } diff --git a/src/scss/components/_combat_values.scss b/src/scss/components/_combat_values.scss new file mode 100644 index 0000000..5b7ad3d --- /dev/null +++ b/src/scss/components/_combat_values.scss @@ -0,0 +1,48 @@ +.combat-values { + margin-top: $margin-sm; + .combat-value-with-formula { + display: grid; + place-items: center; + $size: 60px; + row-gap: $margin-sm; + .combat-value { + @include centered-content; + height: $size; + width: $size; + flex: 0 0 auto; + background-size: contain; + font-size: 1.5em; + &.hitPoints { + background-image: url("#{$official-assets-path}/DS4-HP.png"); + } + &.defense { + background-image: url("#{$official-assets-path}/DS4-DEF.png"); + } + &.initiative { + background-image: url("#{$official-assets-path}/DS4-INI.png"); + } + &.movement { + background-image: url("#{$official-assets-path}/DS4-MR.png"); + } + &.meleeAttack { + background-image: url("#{$official-assets-path}/DS4-MAT.png"); + } + &.rangedAttack { + background-image: url("#{$official-assets-path}/DS4-RAT.png"); + } + &.spellcasting { + background-image: url("#{$official-assets-path}/DS4-SPC.png"); + } + &.targetedSpellcasting { + background-image: url("#{$official-assets-path}/DS4-TSC.png"); + } + } + + .combat-value-formula { + width: $size; + input { + text-align: center; + } + } + } +} diff --git a/src/scss/components/_description.scss b/src/scss/components/_description.scss index 71028e1..8bd3b18 100644 --- a/src/scss/components/_description.scss +++ b/src/scss/components/_description.scss @@ -13,7 +13,7 @@ justify-content: left; label { - line-height: 26px; + line-height: $default-input-height; font-weight: bold; } diff --git a/src/scss/utils/_variables.scss b/src/scss/utils/_variables.scss index e077f7a..a10ef21 100644 --- a/src/scss/utils/_variables.scss +++ b/src/scss/utils/_variables.scss @@ -5,4 +5,6 @@ $margin-sm: $padding-sm; $margin-md: $padding-md; $margin-lg: $padding-lg; +$default-input-height: 26px; + $official-assets-path: "assets/official"; diff --git a/src/templates/actor/actor-sheet.hbs b/src/templates/actor/actor-sheet.hbs index 4f0c21f..475ce2f 100644 --- a/src/templates/actor/actor-sheet.hbs +++ b/src/templates/actor/actor-sheet.hbs @@ -81,154 +81,10 @@ -