+ diff --git a/Age-of-Sigmar-Soulbound/README.MD b/Age-of-Sigmar-Soulbound/README.MD index 00e33b58a8..b1f7b3c1f0 100644 --- a/Age-of-Sigmar-Soulbound/README.MD +++ b/Age-of-Sigmar-Soulbound/README.MD @@ -2,14 +2,22 @@ This is the Warhammer Age of Sigmar: Soulbound Character Sheet readme ## Version info -### V1.0.0 - initial submission to roll20 +### V1.0 - initial submission to roll20 all rolls using standard roll20 api player sheet only +### V2.0 - NPC sheet + +added new options menu (Accessible by the cog symbol) + +added npc sheet (toggle between player and npc switch in options menu) + +fixed issue with wounds, sheetworker will update existing sheets + ## Contributing/Issues For issues or contributions consider raising an issue on the [development repo](https://github.com/CloverFox/roll20-soulbound-sheet) ## Special Thanks -ej93 for group-init compatibility \ No newline at end of file +ej93 for group-init compatibility, as well as the lions share of the NPC sheet \ No newline at end of file diff --git a/Age-of-Sigmar-Soulbound/soulbound.css b/Age-of-Sigmar-Soulbound/soulbound.css index 7a1bbfb299..207cdbbece 100644 --- a/Age-of-Sigmar-Soulbound/soulbound.css +++ b/Age-of-Sigmar-Soulbound/soulbound.css @@ -8,6 +8,87 @@ display: none; } +/*Configure the tab buttons*/ +.sheet-player, +.sheet-party, +.sheet-npc { + display: none; +} + +/* show the selected tab */ +.sheet-tabs-toggle[value="player"] ~ div.sheet-player, +.sheet-tabs-toggle[value="party"] ~ div.sheet-party, +.sheet-tabs-toggle[value="npc"] ~ div.sheet-npc { + display: block; +} + +.sheet-content, +.sheet-options-button:checked ~ .sheet-options { + display: block; +} + +.sheet-options, +.sheet-options-button:checked ~ .sheet-content { + display: none; +} + +.sheet-section-options { + display: flex; +} + +.sheet-section-options .sheet-options-check { + margin-left: auto; +} + +.sheet-options-check-center { + display: flex; + justify-content: center; +} + +.sheet-option-entry { + display: flex; +} + +.sheet-option-entry div { + margin-right: 20px; +} + +.sheet-option-entry select { + width: 100px; +} + +.sheet-stack { + display: grid; +} + +.sheet-stack > * { + grid-row: 1; + grid-column: 1; +} + +.sheet-options-check { + text-align: center; +} + +.sheet-options-check input[type="checkbox"] { + opacity: 0; + cursor: pointer; + z-index: 1; +} + +.sheet-options-check input[type="checkbox"] + span::before { + font-family: Pictos, serif; + line-height: 14px; + text-align: center; + content: "y"; + font-size: 20px; +} + +.sheet-options-check input[type="checkbox"]:checked + span::before { + background: grey; + color: white; +} + .sheet-talents-container input[type="checkbox"] { opacity: 0; width: 16px; @@ -166,6 +247,7 @@ button[type="roll"].sheet-text-big { .sheet-talents-check2 { grid-column: col 3; } + .sheet-talents-button { grid-column: col 4; } @@ -189,6 +271,7 @@ button[type="roll"].sheet-text-big { .sheet-talents-container button[type="roll"]::before { content: ""; } + .sheet-talents-container textarea { height: 60px; width: 380px; @@ -235,7 +318,7 @@ button[type="roll"].sheet-text-big { text-align: center; } -.sheet-wounds-tracker *{ +.sheet-wounds-tracker * { width: 90px; } @@ -248,6 +331,10 @@ button[type="roll"].sheet-text-big { margin-bottom: 5px; } +.sheet-wounds-counter input:read-only { + cursor: default; +} + .sheet-death-saves { display: flex; flex-direction: column; @@ -376,6 +463,10 @@ button[type="roll"].sheet-text-big { grid-template-columns: 250px 40px 70px 70px 70px auto; } +.sheet-weapon-traits { + width: auto; +} + .sheet-weapon-focus .sheet-cover { width: 70px; height: 40px; @@ -490,4 +581,117 @@ input[type="number"].sheet-small-digit { .sheet-text-area { padding: 0; +} + +/*npc tab*/ +.sheet-npc-name { + display: flex; + width: 100%; + text-align: center; +} + +.sheet-npc-attacks { + display: grid; + grid-template-columns: 140px 43px 80px 73px 50px 50px 50px 80px auto; + grid-template-rows: 28px; +} + +.sheet-npc-attack-name { + width: 140px; +} + +.sheet-npc-attack-prof { + width: 78px; +} + +.sheet-npc-attack-prof-val { + width: 68px; +} + +.sheet-npc-attack-range { + width: 78px; +} + +.sheet-npc-attack-traits { + width: 100%; +} + +.sheet-npc-details { + justify-content: space-between; + display: flex; +} + +.sheet-npc-details > div { + display: flex; +} + +.sheet-npc-details input[type="text"] { + width: 100px; +} + +.sheet-section-npc-skills-traits { + display: flex; + flex-wrap: wrap; + justify-content: space-between; +} + +.sheet-npc-skills { + display: grid; + grid-template-columns: 210px 40px 60px 50px auto; + grid-template-rows: 28px; +} + +.sheet-npc-base-stats { + display: flex; + justify-content: space-evenly; + text-align: center; +} + +.sheet-npc-base-stats input[type="number"] { + font-size: 25px; + width: 1.75em; + border: 0; +} + +.sheet-npc-base-stats button[type="roll"] { + text-align: center; + font-size: 25px; + margin: 10px 0; +} + +.sheet-npc-combat-abilities { + display: flex; + justify-content: space-between; +} + +.sheet-npc-combat-stats { + display: flex; + margin: 5px 0; +} + +.sheet-npc-combat-stats * { + flex: 1; + text-align: center; +} + +.sheet-npc-info { + display: flex; + margin: 0 0 5px 0; +} + +.sheet-npc-info * { + text-align: center; + width: 100%; +} + +.sheet-npc-mel-select { + width: auto; +} + +.sheet-npc-acc-select { + width: auto; +} + +.sheet-npc-def-select { + width: auto; } \ No newline at end of file diff --git a/Age-of-Sigmar-Soulbound/soulbound.html b/Age-of-Sigmar-Soulbound/soulbound.html index a5cd0b5e24..7032952db5 100644 --- a/Age-of-Sigmar-Soulbound/soulbound.html +++ b/Age-of-Sigmar-Soulbound/soulbound.html @@ -5,1098 +5,1377 @@ -
-