diff --git a/Fading Suns 4th Edition - Pax Alexius/Fading_Suns_4th_Edition_Pax_Alexius.css b/Fading Suns 4th Edition - Pax Alexius/Fading_Suns_4th_Edition_Pax_Alexius.css new file mode 100644 index 0000000000..ea481b62ee --- /dev/null +++ b/Fading Suns 4th Edition - Pax Alexius/Fading_Suns_4th_Edition_Pax_Alexius.css @@ -0,0 +1,1229 @@ +.sheet-fs-sheet *, +.sheet-fs-sheet *::after, +.sheet-fs-sheet *::before { + box-sizing: border-box; +} + +body { + min-height: 100vh; + position: relative; +} + +.sheet-fs-sheet label, +.sheet-fs-sheet input, +.sheet-fs-sheet button[type=roll], +.sheet-fs-sheet select, +.sheet-fs-sheet textarea { + font-size: 1.25em; + width: 100%; + margin: 0; + color: black; +} + +.sheet-fs-sheet label { + font-weight: normal; + display: inline-block; + margin: 0; + padding-right: 0px; + width: initial; + height: initial; + color: initial; +} + +.sheet-fs-sheet select { + border-color: #baa894; +} + +.sheet-fs-sheet textarea { + height: initial; + resize: initial; + overflow-x: hidden; + overflow-y: auto; + padding: 0; + margin: 0; +} + +.sheet-fs-sheet button, +.sheet-fs-sheet button:hover, +.sheet-fs-sheet button:active { + background-image: initial; +} + +.sheet-fs-sheet button[type=roll] { + margin-left: initial; + margin-right: initial; + text-shadow: none; +} + +.sheet-fs-sheet input, +.sheet-fs-sheet textarea, +.sheet-fs-sheet select, +.sheet-fs-sheet button[type=roll] { + background-color: rgba(255, 255, 255, 0.5); + border: 1px solid #baa894; + border-radius: 0; + padding: 2px; + height: 25px; +} + +.sheet-fs-sheet input, +.sheet-fs-sheet textarea, +.sheet-fs-sheet select, +.sheet-fs-sheet label { + vertical-align: middle; + align-self: center; +} + +.sheet-fs-sheet input[type=number] { + text-align: center; + width: 30px; + min-width: 30px; + max-width: 30px; +} + +.sheet-fs-sheet button[type=roll] { + width: 25px; +} + +.sheet-fs-sheet input[type=number]::-webkit-inner-spin-button, +.sheet-fs-sheet input[type=number]::-webkit-outer-spin-button { + -webkit-appearance: none; + margin: 0; +} + +.sheet-fs-sheet input[type=number] { + -moz-appearance: textfield !important; +} + +.sheet-fs-sheet button[type=roll] { + background-color: rgba(255, 255, 255, 0.5); + border: 1px solid #baa894; +} + +.sheet-fs-sheet button[type=roll].sheet-fs-hidden { + display: none; +} + +.sheet-fs-sheet button[type=roll]:before { + vertical-align: middle; + font-size: 1.2em; +} + +.sheet-fs-sheet { + margin-top: -28px; + margin-left: -30px; + margin-right: -30px; + margin-bottom: -10px; + min-width: 890px; + max-width: 890px; + background: url(https://i.ibb.co/t3xLwhN/fs-sheet-background.jpg) top left repeat; + background-attachment: scroll; + background-size: 890px; + font-family: serif; +} + +.sheet-fs-sheet-container { + padding-left: 50px; + padding-right: 50px; +} + +.sheet-fs-sheet-section { + margin-top: 10px; + border-top: 2px solid black; + padding-top: 10px; +} + +.sheet-fs-sheet-section-frame { + margin-top: 10px; + border: 2px solid black; + padding: 5px; + align-self: self-start; +} + +label.sheet-fs-uppercase-header { + font-size: 1.5em; + line-height: 25px; + font-weight: bold; + text-transform: uppercase; + white-space: nowrap; +} + +.sheet-fs-sheet .repcontrol_del, +.sheet-fs-sheet .repcontrol_move, +.sheet-fs-sheet .repcontrol_add, +.sheet-fs-sheet .repcontrol_edit { + font-family: pictos; +} + +.sheet-fs-sheet .repitem.repitembroken { + border: 0.3rem dashed #FF0044 !important; + margin: 0 0 0 0; + border-radius: 0; +} + +.repcontrol_edit { + order: 2; +} + +.repcontainer { + width: 100%; +} + +.repcontainer.editmode .repitem .itemcontrol { + z-index: 3; + background-color: rgba(255, 255, 255, 0.5); +} + +div.repcontrol { + display: flex; + flex-wrap: nowrap; + align-items: center; + justify-content: space-between; + flex-direction: row; + width: 100%; +} + +.repcontrol_add::before { + content: "&"; + visibility: visible; + font-family: pictos; + background-color: rgba(255, 255, 255, 0.5); + border: 0.1rem solid #baa894; + border-radius: 0.2rem; + font-size: 1.6rem; + padding: 0.3rem 0.5rem 0.3rem 0.5rem; + color: black; +} + +.repcontrol .repcontrol_edit:after { + font-weight: bold; + content: "☰"; + visibility: visible; + font-family: pictos; + background-color: rgba(255, 255, 255, 0.5); + border: 0.1rem solid #baa894; + border-radius: 0.2rem; + font-size: 1.6rem; + padding: 0.3rem 0.3rem 0.2rem 0.3rem; + color: black; +} + +.editmode ~ .repcontrol .repcontrol_edit:after { + font-family: Pictos; + content: "3"; + width: 1.6rem; +} + +.repcontrol_edit:hover:before, +.repcontrol_edit:hover:after, +.repcontrol_add:hover:before { + color: red !important; + box-shadow: 0.1rem 0.1rem 0.2rem #baa894; +} + +.repcontrol .btn { + border: none; + color: white; + font-size: 0; + padding: 0; + margin-top: 3px; + background: none; + box-shadow: none; +} + +.repcontrol .btn:focus { + outline: 0; +} + +.repcontrol_add, +.repcontrol_edit { + display: block; + background: none; + color: transparent !important; + border: none; + box-shadow: none; +} + +.repcontrol_del, +.repcontrol_move { + display: block; + background: white; + color: black; + border: none; + box-shadow: none; + width: 2em; +} + +.sheet-fs-noshow { + display: none; +} + +.sheet-rolltemplate-fs-button { + text-align: center; +} + +.sheet-rolltemplate-fs-GoalRoll .sheet-fs-container, +.sheet-rolltemplate-fs-d6Roll .sheet-fs-container { + border: 1px solid; + padding: 2px; + width: 90%; + background: url(https://i.ibb.co/t3xLwhN/fs-sheet-background.jpg) 25% 25%; + background-size: 850px; +} + +.sheet-rolltemplate-fs-GoalRoll .sheet-fs-container .sheet-fs-charactername, +.sheet-rolltemplate-fs-d6Roll .sheet-fs-container .sheet-fs-charactername { + font-weight: bold; + font-size: 0.9em; + line-height: 1em; + border-bottom: 1px solid black; +} + +.sheet-rolltemplate-fs-GoalRoll .sheet-fs-container h1, +.sheet-rolltemplate-fs-d6Roll .sheet-fs-container h1 { + color: #4a6486; + font-size: 1.1em; + font-variant: small-caps; + line-height: 1.2em; +} + +.sheet-rolltemplate-fs-GoalRoll .sheet-fs-arrow-right, +.sheet-rolltemplate-fs-d6Roll .sheet-fs-arrow-right { + border-bottom: 2px solid transparent; + border-left: 200px solid #baa894; + border-top: 2px solid transparent; +} + +.sheet-rolltemplate-fs-GoalRoll .inlinerollresult, +.sheet-rolltemplate-fs-d6Roll .inlinerollresult { + background-color: transparent; + border: none; + font-weight: normal; + padding: 0 0 0 0; +} + +.sheet-rolltemplate-fs-GoalRoll .inlinerollresult.fullcrit, +.sheet-rolltemplate-fs-d6Roll .inlinerollresult.fullcrit, +.sheet-rolltemplate-fs-GoalRoll .inlinerollresult.importantroll, +.sheet-rolltemplate-fs-d6Roll .inlinerollresult.importantroll, +.sheet-rolltemplate-fs-GoalRoll .inlinerollresult.fullfail, +.sheet-rolltemplate-fs-GoalRoll .inlinerollresult.fullfail { + border: none; +} + +.sheet-rolltemplate-fs-GoalRoll .sheet-fs-critsuccess { + color: #3FB315; +} + +.sheet-rolltemplate-fs-GoalRoll .sheet-fs-success { + color: #205b0b; +} + +.sheet-rolltemplate-fs-GoalRoll .sheet-fs-failure { + color: #5b0b0b; +} + +.sheet-rolltemplate-fs-GoalRoll .sheet-fs-critfailure { + color: #B31515; +} + +.sheet-rolltemplate-fs-GoalRoll .sheet-fs-critsuccess .inlinerollresult, +.sheet-rolltemplate-fs-GoalRoll .sheet-fs-success .inlinerollresult, +.sheet-rolltemplate-fs-GoalRoll .sheet-fs-failure .inlinerollresult, +.sheet-rolltemplate-fs-GoalRoll .sheet-fs-critfailure .inlinerollresult { + font-weight: bold; +} + +.sheet-fs-w100 { + width: 100%; +} + +.sheet-fs-h100 { + height: 100%; +} + +.sheet-fs-autoexpand > input, +.sheet-fs-autoexpand > textarea { + width: 100%; +} + +.sheet-fs-baseinfo { + width: 100%; + display: grid; + grid-column-gap: 30px; + align-items: stretch; + align-content: stretch; + justify-items: stretch; + justify-content: space-between; + grid-template-columns: 1fr 1fr 1fr; +} + +.sheet-fs-name-grid { + display: grid; + width: 100%; + gap: 2px; + align-items: stretch; + align-content: flex-start; + justify-items: stretch; + justify-content: stretch; + grid-template: "name_ name_" "planet-label planet-value"/max-content 1fr; +} + +.sheet-fs-name { + grid-area: name_; +} + +label.sheet-fs-planet { + grid-area: planet-label; + padding-left: 20px; + text-align: end; +} + +input.sheet-fs-planet { + grid-area: planet-value; +} + +.sheet-fs-rank-grid { + display: grid; + width: 100%; + gap: 2px; + align-items: stretch; + align-content: flex-start; + justify-items: stretch; + justify-content: stretch; + grid-template: "rank rank" "birthdate-label birthdate-value"/max-content 1fr; +} + +.sheet-fs-rank { + grid-area: rank; +} + +label.sheet-fs-birthdate { + grid-area: birthdate-label; + padding-left: 20px; + text-align: end; +} + +input.sheet-fs-birthdate { + grid-area: birthdate-value; +} + +.sheet-fs-species-grid { + display: grid; + width: 100%; + gap: 2px; + align-items: stretch; + align-content: flex-start; + justify-items: stretch; + justify-content: stretch; + grid-template: "species species species species" "size-label size-value speed-label speed-value"/max-content 1fr -webkit-max-content 1fr; + grid-template: "species species species species" "size-label size-value speed-label speed-value"/max-content 1fr max-content 1fr; +} + +.sheet-fs-species { + grid-area: species; +} + +label.sheet-fs-size { + grid-area: size-label; + padding-left: 20px; + text-align: end; +} + +input.sheet-fs-size { + grid-area: size-value; +} + +label.sheet-fs-speed { + grid-area: speed-label; + padding-left: 20px; + text-align: end; +} + +input.sheet-fs-speed { + grid-area: speed-value; +} + +.sheet-fs-lifepath { + width: 100%; + display: grid; + grid-column-gap: 30px; + align-items: stretch; + align-content: stretch; + justify-items: stretch; + justify-content: space-between; + grid-template-columns: 1fr 1fr 1fr; +} + +.sheet-fs-class-grid { + display: grid; + width: 100%; + gap: 2px; + align-items: stretch; + align-content: flex-start; + justify-items: stretch; + justify-content: stretch; + grid-template: "class1 levelvalue" "class2 levelvalue" "levellabel levelvalue"/1fr -webkit-max-content; + grid-template: "class1 levelvalue" "class2 levelvalue" "levellabel levelvalue"/1fr max-content; +} + +.sheet-fs-class1 { + grid-area: class1; +} + +.sheet-fs-class2 { + grid-area: class2; +} + +label.sheet-fs-level { + grid-area: levellabel; + padding-left: 20px; + text-align: end; +} + +input[type=number].sheet-fs-level { + grid-area: levelvalue; + width: 50px; + max-width: 50px; + height: 100%; +} + +.sheet-fs-faction-grid { + display: grid; + width: 100%; + gap: 2px; + align-items: stretch; + align-content: flex-start; + justify-items: stretch; + justify-content: stretch; + grid-template: "faction faction" "blessing-label blessing-value" "curse-label curse-value"/max-content 1fr; +} + +.sheet-fs-faction { + grid-area: faction; +} + +label.sheet-fs-blessing { + grid-area: blessing-label; + padding-left: 20px; + text-align: end; +} + +input.sheet-fs-blessing { + grid-area: blessing-value; +} + +label.sheet-fs-curse { + grid-area: curse-label; + padding-left: 20px; + text-align: end; +} + +input.sheet-fs-curse { + grid-area: curse-value; +} + +.sheet-fs-calling-grid { + display: grid; + width: 100%; + gap: 2px; + align-items: stretch; + align-content: flex-start; + justify-items: stretch; + justify-content: stretch; + grid-template-columns: 1fr; +} + +.sheet-fs-traits { + width: 100%; + display: grid; + grid-column-gap: 30px; + align-items: stretch; + align-content: stretch; + justify-items: stretch; + justify-content: space-between; + grid-template-columns: 1fr 1fr 1fr; + grid-template: "skills-header skills-header characteristics" -webkit-max-content "skills-1 skills-2 characteristics" 1fr/1fr 1fr 1fr; + grid-template: "skills-header skills-header characteristics" max-content "skills-1 skills-2 characteristics" 1fr/1fr 1fr 1fr; +} + +.sheet-fs-skills-header { + grid-area: skills-header; +} + +.sheet-fs-skill-col { + display: grid; + width: 100%; + gap: 2px; + align-items: stretch; + align-content: flex-start; + justify-items: stretch; + justify-content: stretch; + grid-template-rows: 25px -webkit-max-content -webkit-max-content; + grid-template-rows: 25px max-content max-content; + align-items: flex-start; + align-content: flex-start; + justify-items: flex-start; + justify-content: stretch; +} + +.sheet-fs-skills-1 { + grid-area: skills-1; +} + +.sheet-fs-skills-2 { + grid-area: skills-2; +} + +.sheet-fs-characteristics { + grid-area: characteristics; + display: flex; + flex-wrap: nowrap; + flex-direction: column; + align-items: stretch; + align-content: flex-start; + justify-items: flex-start; + justify-content: space-between; +} + +.sheet-fs-characteristic, +.sheet-fs-skill { + display: inline-flex; + flex-direction: row; + flex-wrap: nowrap; + align-content: center; + align-items: center; + justify-content: center; + align-self: stretch; + width: 100%; + height: 25px; +} + +.sheet-fs-characteristic-cat-grid { + display: grid; + width: 100%; + gap: 2px; + align-items: stretch; + align-content: flex-start; + justify-items: stretch; + justify-content: stretch; + grid-template-columns: 25px 1fr -webkit-max-content; + grid-template-columns: 25px 1fr max-content; + grid-auto-flow: row; +} + +.sheet-fs-nowrap-w100 { + width: 100%; + display: inline-flex; + flex-direction: row; + flex-wrap: nowrap; + align-content: center; + align-items: center; + justify-content: flex-start; + align-self: stretch; +} + +.sheet-fs-text-align-end { + width: 100%; + text-align: end; +} + +.sheet-fs-characteristic .sheet-fs-characteristic-label, +.sheet-fs-characteristic .sheet-fs-characteristic-label span, +.sheet-fs-skill .sheet-fs-skill-label, +.sheet-fs-skill .sheet-fs-skill-label span, +.sheet-fs-skill .sheet-fs-skill-label input { + white-space: nowrap; + width: 100%; + overflow-x: hidden; + text-overflow: ellipsis; +} + +.sheet-fs-skill + .sheet-fs-col { + width: 100%; +} + +.sheet-fs-skill > div.sheet-fs-skill-normal { + display: grid; + width: 100%; + gap: 2px; + align-items: stretch; + align-content: flex-start; + justify-items: stretch; + justify-content: stretch; + grid-template-columns: 25px -webkit-max-content 1fr; + grid-template-columns: 25px max-content 1fr; + position: relative; + overflow: visible; +} + +.sheet-fs-skill > div.sheet-fs-skill-normal > button.sheet-fs-d20 + div.sheet-fs-skill-roll-characteristic-choice { + display: none; +} + +.sheet-fs-skill > div.sheet-fs-skill-normal > button.sheet-fs-d20:hover + div.sheet-fs-skill-roll-characteristic-choice, +.sheet-fs-skill > div.sheet-fs-skill-normal > button.sheet-fs-d20 + div.sheet-fs-skill-roll-characteristic-choice:hover { + position: absolute; + z-index: 5; + top: 0px; + left: calc(25px - 1px); + background-color: #ffffff; + border-radius: 5px; + border: 1px solid #baa894; + padding: 2px; + width: -webkit-max-content; + width: max-content; + background: url(https://i.ibb.co/t3xLwhN/fs-sheet-background.jpg) 25% 25%; + background-attachment: scroll; + background-size: 850px; + display: grid; + grid-auto-flow: row; + grid-template-rows: -webkit-max-content; + grid-template-rows: max-content; +} + +.sheet-fs-skill > div.sheet-fs-skill-normal > button.sheet-fs-d20:hover + div.sheet-fs-skill-roll-characteristic-choice > input, +.sheet-fs-skill > div.sheet-fs-skill-normal > button.sheet-fs-d20 + div.sheet-fs-skill-roll-characteristic-choice:hover > input { + height: 25px; +} + +.sheet-fs-skill > div.sheet-fs-skill-normal > button.sheet-fs-d20:hover + div.sheet-fs-skill-roll-characteristic-choice > div, +.sheet-fs-skill > div.sheet-fs-skill-normal > button.sheet-fs-d20 + div.sheet-fs-skill-roll-characteristic-choice:hover > div { + display: grid; + grid-auto-flow: column; + grid-template-rows: repeat(9, -webkit-max-content); + grid-template-rows: repeat(9, max-content); + align-items: center; +} + +div.sheet-fs-skill-normal > button.sheet-fs-d20:hover + div.sheet-fs-skill-roll-characteristic-choice > div:nth-child(2), +div.sheet-fs-skill-normal > button.sheet-fs-d20 + div.sheet-fs-skill-roll-characteristic-choice:hover > div:nth-child(2), +div.sheet-fs-skill-normal > button.sheet-fs-d20:hover + div.sheet-fs-skill-roll-characteristic-choice > div:nth-child(5), +div.sheet-fs-skill-normal > button.sheet-fs-d20 + div.sheet-fs-skill-roll-characteristic-choice:hover > div:nth-child(5), +div.sheet-fs-skill-normal > button.sheet-fs-d20:hover + div.sheet-fs-skill-roll-characteristic-choice > div:nth-child(8), +div.sheet-fs-skill-normal > button.sheet-fs-d20 + div.sheet-fs-skill-roll-characteristic-choice:hover > div:nth-child(8) { + padding-top: 2px; + border-top: 1px solid black; + margin-top: 2px; +} + +.sheet-fs-occult { + width: 100%; + display: grid; + grid-column-gap: 30px; + align-items: stretch; + align-content: stretch; + justify-items: stretch; + justify-content: space-between; + grid-template-columns: 1fr 1fr 1fr; + width: 100%; + display: grid; + grid-column-gap: 30px; + grid-template-columns: 1fr 1fr 1fr; + align-items: stretch; + align-content: stretch; + justify-items: stretch; + justify-content: space-between; +} + +.sheet-fs-occult > div { + display: grid; + width: 100%; + gap: 2px; + align-items: stretch; + align-content: flex-start; + justify-items: stretch; + justify-content: stretch; + grid-auto-flow: column; + grid-auto-columns: 1fr -webkit-max-content -webkit-max-content 1fr; + grid-auto-columns: 1fr max-content max-content 1fr; +} + +.sheet-fs-occult-left { + text-align: end; +} + +.sheet-fs-occult-right { + text-align: start; +} + +.sheet-fs-defenses { + width: 100%; + display: grid; + grid-column-gap: 30px; + grid-template-columns: 1fr 1fr 1fr; + align-items: stretch; + align-content: stretch; + justify-items: stretch; + justify-content: space-between; +} + +.sheet-fs-resistances-grid { + display: grid; + width: 100%; + gap: 2px; + align-items: stretch; + align-content: flex-start; + justify-items: stretch; + justify-content: stretch; + grid-template-columns: -webkit-max-content -webkit-max-content 1fr; + grid-template-columns: max-content max-content 1fr; + grid-auto-flow: row; +} + +.sheet-fs-resistances-grid > label { + padding-left: 20px; + text-align: end; +} + +.sheet-fs-armor-and-e-shield-grid { + display: grid; + width: 100%; + gap: 2px; + align-items: stretch; + align-content: flex-start; + justify-items: stretch; + justify-content: stretch; + grid-auto-flow: row; +} + +.sheet-fs-armor-and-e-shield-grid-row label.sheet-fs-uppercase-header { + display: inline-block; +} + +.sheet-fs-armor-and-e-shield-grid-row { + display: grid; + width: 100%; + gap: 2px; + align-items: stretch; + align-content: flex-start; + justify-items: stretch; + justify-content: stretch; + grid-auto-flow: column; +} + +.sheet-fs-armor-vs { + justify-content: end; +} + +.sheet-fs-armor-vs input[type=number]::placeholder { + font-size: 0.7em; +} + +.sheet-fs-e-shield-props { + justify-content: space-between; +} + +.sheet-fs-e-shield-props > label:nth-child(1), +.sheet-fs-e-shield-props > label:nth-child(5) { + padding-left: 20px; + text-align: end; +} + +.sheet-fs-vita-and-revivals-grid { + display: grid; + width: 100%; + gap: 2px; + align-items: stretch; + align-content: flex-start; + justify-items: stretch; + justify-content: stretch; + grid-template: "vitality-header vitality-header vitality-header vitality-header" "vitality-rating-label vitality-rating-value vitality-current-label vitality-current-value" "revivals-header revivals-header revivals-header revivals-header" "revivals-rating-label revivals-rating-value revivals-number-label revivals-number-value"/1fr -webkit-max-content 1fr -webkit-max-content; + grid-template: "vitality-header vitality-header vitality-header vitality-header" "vitality-rating-label vitality-rating-value vitality-current-label vitality-current-value" "revivals-header revivals-header revivals-header revivals-header" "revivals-rating-label revivals-rating-value revivals-number-label revivals-number-value"/1fr max-content 1fr max-content; +} + +.sheet-fs-vitality-header { + grid-area: vitality-header; +} + +label.sheet-fs-vitality-rating { + grid-area: vitality-rating-label; + padding-left: 20px; + text-align: end; +} + +input.sheet-fs-vitality-rating { + grid-area: vitality-rating-value; +} + +label.sheet-fs-vitality-current { + grid-area: vitality-current-label; + padding-left: 20px; + text-align: end; +} + +input.sheet-fs-vitality-current { + grid-area: vitality-current-value; +} + +.sheet-fs-revivals-header { + grid-area: revivals-header; +} + +label.sheet-fs-revivals-rating { + grid-area: revivals-rating-label; + padding-left: 20px; + text-align: end; +} + +input.sheet-fs-revivals-rating { + grid-area: revivals-rating-value; +} + +label.sheet-fs-revivals-number { + grid-area: revivals-number-label; + padding-left: 20px; + text-align: end; +} + +input.sheet-fs-revivals-number { + grid-area: revivals-number-value; +} + +.sheet-fs-actions-vp-bank-and-surge { + width: 100%; + display: grid; + grid-template-columns: 1fr -webkit-max-content; + grid-template-columns: 1fr max-content; + grid-column-gap: 30px; + align-items: stretch; + align-content: stretch; + justify-items: stretch; + justify-content: space-between; +} + +.sheet-fs-table { + display: grid; + grid-auto-flow: row; + min-width: 100%; + margin-bottom: 2px; +} + +.sheet-fs-table fieldset, +.sheet-fs-table .repcontainer, +.sheet-fs-table .repitem { + display: contents; +} + +.sheet-fs-table input[type=number] { + width: 100%; +} + +.sheet-fs-table input { + min-width: 10px; + width: auto; +} + +.sheet-fs-table-head { + /*background-color: #4a6486; + color: white;*/ + font-weight: bold; + white-space: nowrap; + padding-left: 1px; + padding-right: 1px; +} + +.sheet-fs-table-cell { + grid-column: auto/span 1; +} + +.sheet-fs-table .itemcontrol { + height: auto !important; + /* TODO try without this to see if something bad happens */ +} + +.sheet-fs-table .repcontrol { + grid-column: 1/-1; +} + +.sheet-fs-actions .sheet-fs-table { + display: grid; + width: 100%; + gap: 2px; + align-items: stretch; + align-content: flex-start; + justify-items: stretch; + justify-content: stretch; + grid-template-columns: 25px 1fr 98px 143px 60px; +} + +.sheet-fs-actions .sheet-fs-table > input { + width: 100%; + max-width: 100%; +} + +.sheet-fs-vp-and-surge-grids { + display: grid; + width: 100%; + gap: 2px; + align-items: stretch; + align-content: flex-start; + justify-items: stretch; + justify-content: stretch; + grid-template-columns: 1fr -webkit-max-content; + grid-template-columns: 1fr max-content; + grid-auto-flow: row; +} + +.sheet-fs-vp-and-surge-grids > label { + padding-left: 20px; + text-align: end; +} + +.sheet-fs-perks-capabilities-and-birthrights { + width: 100%; + display: grid; + grid-column-gap: 30px; + align-items: stretch; + align-content: stretch; + justify-items: stretch; + justify-content: space-between; + grid-template-columns: 1fr 1fr; +} + +.sheet-fs-possessions { + display: grid; + width: 100%; + gap: 2px; + align-items: stretch; + align-content: flex-start; + justify-items: stretch; + justify-content: stretch; + grid-auto-flow: row; +} + +.sheet-fs-possessions-header { + display: grid; + width: 100%; + gap: 2px; + align-items: stretch; + align-content: flex-start; + justify-items: stretch; + justify-content: stretch; + grid-template-columns: 1fr -webkit-max-content -webkit-max-content; + grid-template-columns: 1fr max-content max-content; + grid-auto-flow: column; +} + +.sheet-fs-possessions-header > input:nth-child(3) { + margin-right: 52px; +} + +.sheet-fs-carried-equipment { + width: 100%; + display: grid; + grid-column-gap: 30px; + align-items: stretch; + align-content: stretch; + justify-items: stretch; + justify-content: space-between; + grid-template-columns: 1fr 1fr; +} + +.sheet-fs-carried-equipment .sheet-fs-table { + display: grid; + width: 100%; + gap: 2px; + align-items: stretch; + align-content: flex-start; + justify-items: stretch; + justify-content: stretch; + grid-template-columns: 1fr 30px 50px; +} + +.sheet-fs-carried-equipment .sheet-fs-table label:nth-child(2), +.sheet-fs-carried-equipment .sheet-fs-table input:nth-child(2), +.sheet-fs-carried-equipment .sheet-fs-table label:nth-child(3), +.sheet-fs-carried-equipment .sheet-fs-table input:nth-child(3) { + text-align: center; +} + +.sheet-fs-carried-weapons .sheet-fs-table { + display: grid; + width: 100%; + gap: 2px; + align-items: stretch; + align-content: flex-start; + justify-items: stretch; + justify-content: stretch; + grid-template-columns: 1fr 30px 60px 50px 30px 60px 30px 50px 1fr; +} + +.sheet-fs-carried-weapons .sheet-fs-table > input[type=number]:nth-child(8) { + width: 50px; + max-width: 50px; +} + +.sheet-fs-carried-weapons .sheet-fs-table label:nth-child(2), +.sheet-fs-carried-weapons .sheet-fs-table input:nth-child(2), +.sheet-fs-carried-weapons .sheet-fs-table label:nth-child(3), +.sheet-fs-carried-weapons .sheet-fs-table input:nth-child(3), +.sheet-fs-carried-weapons .sheet-fs-table label:nth-child(4), +.sheet-fs-carried-weapons .sheet-fs-table input:nth-child(4), +.sheet-fs-carried-weapons .sheet-fs-table label:nth-child(5), +.sheet-fs-carried-weapons .sheet-fs-table input:nth-child(5), +.sheet-fs-carried-weapons .sheet-fs-table label:nth-child(6), +.sheet-fs-carried-weapons .sheet-fs-table input:nth-child(6), +.sheet-fs-carried-weapons .sheet-fs-table label:nth-child(7), +.sheet-fs-carried-weapons .sheet-fs-table input:nth-child(7), +.sheet-fs-carried-weapons .sheet-fs-table label:nth-child(8), +.sheet-fs-carried-weapons .sheet-fs-table input:nth-child(8) { + text-align: center; +} + +.sheet-fs-owned { + width: 100%; + display: grid; + grid-column-gap: 30px; + align-items: stretch; + align-content: stretch; + justify-items: stretch; + justify-content: space-between; + grid-template-columns: 1fr 1fr; +} + +.sheet-fs-owned .sheet-fs-table { + display: grid; + width: 100%; + gap: 2px; + align-items: stretch; + align-content: flex-start; + justify-items: stretch; + justify-content: stretch; + grid-template-columns: 1fr 0.5fr; +} + +.sheet-fs-money { + display: grid; + width: 100%; + gap: 2px; + align-items: stretch; + align-content: flex-start; + justify-items: stretch; + justify-content: stretch; + grid-auto-flow: row; +} + +.sheet-fs-money-header { + display: grid; + width: 100%; + gap: 2px; + align-items: stretch; + align-content: flex-start; + justify-items: stretch; + justify-content: stretch; + grid-template-columns: 1fr -webkit-max-content 150px; + grid-template-columns: 1fr max-content 150px; + grid-auto-flow: column; +} + +.sheet-fs-money-header > div { + display: flex; + flex-direction: row; + white-space: nowrap; +} + +.sheet-fs-assets { + width: 100%; + display: grid; + grid-column-gap: 30px; + align-items: stretch; + align-content: stretch; + justify-items: stretch; + justify-content: space-between; + grid-template-columns: 1fr 1fr; +} + +.sheet-fs-assets .sheet-fs-table { + display: grid; + width: 100%; + gap: 2px; + align-items: stretch; + align-content: flex-start; + justify-items: stretch; + justify-content: stretch; + grid-template-columns: 1fr 0.5fr; +} + +.sheet-fs-notes { + grid-column: 1/-1; + margin-left: 15px; + width: calc(100% - 15px); + max-height: 0px; + position: relative; +} + +.sheet-fs-notes:focus, +.sheet-fs-notes:focus-within, +.sheet-fs-notes:active, +.sheet-fs-table input:active ~ .sheet-fs-notes, +.sheet-fs-table input:focus ~ .sheet-fs-notes, +.sheet-fs-table input:focus-within ~ .sheet-fs-notes, +.sheet-fs-table select:active ~ .sheet-fs-notes, +.sheet-fs-table select:focus ~ .sheet-fs-notes, +.sheet-fs-table select:focus-within ~ .sheet-fs-notes { + min-height: 4em; + max-height: initial; + resize: vertical; + overflow: auto; + align-self: stretch; +} + +.sheet-fs-auto-expand-textarea { + cursor: text; + word-wrap: break-word; +} + +.sheet-fs-notes > .sheet-fs-auto-expand-textarea { + visibility: collapse; +} + +.sheet-fs-notes > .sheet-fs-auto-expand-textarea { + -moz-transition: visibility 0s linear 1ms; +} + +.sheet-fs-notes:focus > .sheet-fs-auto-expand-textarea, +.sheet-fs-notes:focus-within > .sheet-fs-auto-expand-textarea, +.sheet-fs-notes:active > .sheet-fs-auto-expand-textarea, +.sheet-fs-table input:active ~ .sheet-fs-notes > .sheet-fs-auto-expand-textarea, +.sheet-fs-table input:focus ~ .sheet-fs-notes > .sheet-fs-auto-expand-textarea, +.sheet-fs-table input:focus-within ~ .sheet-fs-notes > .sheet-fs-auto-expand-textarea, +.sheet-fs-table select:active ~ .sheet-fs-notes > .sheet-fs-auto-expand-textarea, +.sheet-fs-table select:focus ~ .sheet-fs-notes > .sheet-fs-auto-expand-textarea, +.sheet-fs-table select:focus-within ~ .sheet-fs-notes > .sheet-fs-auto-expand-textarea { + visibility: visible; +} + +.sheet-fs-auto-expand-textarea span { + visibility: hidden; + white-space: pre-wrap; + display: block; +} + +.sheet-fs-auto-expand-textarea textarea { + position: absolute; + z-index: 1; + top: 0; + left: 0; + margin: 0; + overflow: hidden; + height: 100%; + width: 100%; +} + +.sheet-fs-relative { + position: relative; +} + +.sheet-fs-supertall-textarea { + min-height: 300px; + max-height: initial; + resize: vertical; + overflow: auto; + align-self: stretch; +} + +.sheet-fs-header, +.sheet-fs-footer { + height: 10px; +} diff --git a/Fading Suns 4th Edition - Pax Alexius/Fading_Suns_4th_Edition_Pax_Alexius.html b/Fading Suns 4th Edition - Pax Alexius/Fading_Suns_4th_Edition_Pax_Alexius.html new file mode 100644 index 0000000000..484bd3db88 --- /dev/null +++ b/Fading Suns 4th Edition - Pax Alexius/Fading_Suns_4th_Edition_Pax_Alexius.html @@ -0,0 +1,2346 @@ + + +
+ +
+ +
+
+ +
+ + + +
+
+
+ +
+ + + +
+
+
+ +
+ + + + + +
+
+
+
+
+ +
+ + + + +
+
+
+ +
+ + + + + +
+
+
+ +
+ + + +
+
+
+
+
+ +
+
+
+
+ +
+ +
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+ +
+ +
+
+
+
+ +
+ + + + + + + + + +
+
+
+ +
+ + + + + + + + + +
+
+
+ +
+ + + + + + + + + +
+
+
+
+
+ +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+
+
+
+ +
+ + + + + + + + + +
+
+
+
+
+ + +
+
+ + + + + + + +
+
+ + +
+
+ + + + + + +
+
+
+
+
+ + + + + + + + + + +
+
+
+
+
+ +
+
+ + + + + +
+
+
+ + + + + + + +
+
+ +
+
+
+
+
+
+
+ +
+ + + + + + +
+ +
+ + + + +
+
+
+
+
+ +
+
+
+ +
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+ +
+
+ +
+
+
+
+
+
+
+ +
+
+
+ +
+
+ +
+
+
+
+
+
+
+
+
+
+
+ + + +
+
+
+
+ + + +
+
+
+ + + +
+
+ +
+
+
+
+
+
+
+ + + +
+
+
+ + + +
+
+ +
+
+
+
+
+
+
+
+
+ + + + + + + + + +
+
+
+ + + + + + + + + +
+
+ +
+
+
+
+
+
+
+
+
+ + +
+
+
+ + +
+
+ +
+
+
+
+
+
+
+ + +
+
+
+ + +
+
+ +
+
+
+
+
+
+
+
+
+
+ + + +
+
+
+
+ + +
+
+
+ + +
+
+ +
+
+
+
+
+
+
+ + +
+
+
+ + +
+
+ +
+
+
+
+
+
+
+
+ +
+
+ +
+
+
+ +
+
+ +
+ + +
+ + {{#skillName-i18n}} + {{#rollGreater() bonus_penalty 0}} +

{{characteristicName-i18n}} + {{skillName-i18n}} +{{bonus_penalty}} ({{goal}})

+ {{/rollGreater() bonus_penalty 0}} + {{#rollTotal() bonus_penalty 0}} +

{{characteristicName-i18n}} + {{skillName-i18n}} ({{goal}})

+ {{/rollTotal() bonus_penalty 0}} + {{#^rollGreater() bonus_penalty -1}} +

{{characteristicName-i18n}} + {{skillName-i18n}} {{bonus_penalty}} ({{goal}})

+ {{/^rollGreater() bonus_penalty -1}} + {{/skillName-i18n}} + {{^skillName-i18n}} + {{#rollGreater() bonus_penalty 0}} +

{{characteristicName-i18n}} +{{bonus_penalty}} ({{goal}})

+ {{/rollGreater() bonus_penalty 0}} + {{#rollTotal() bonus_penalty 0}} +

{{characteristicName-i18n}} ({{goal}})

+ {{/rollTotal() bonus_penalty 0}} + {{#^rollGreater() bonus_penalty -1}} +

{{characteristicName-i18n}} {{bonus_penalty}} ({{goal}})

+ {{/^rollGreater() bonus_penalty -1}} + {{/skillName-i18n}} + + {{#title}}

[ {{title}} ]

{{/title}} + +
+ + {{#^rollGreater() roll goal}} + {{#^rollGreater() roll 19}} + {{#rollWasCrit() roll}} + {{roll}} VP. Critical success! + {{/rollWasCrit() roll}} + {{#^rollWasCrit() roll}} + {{roll}} VP. Success! + {{/^rollWasCrit() roll}} + {{/^rollGreater() roll 19}} + {{/^rollGreater() roll goal}} + + {{#rollGreater() roll goal}} + {{#rollTotal() roll 1}} + {{roll}} VP. Success! + {{/rollTotal() roll 1}} + {{#^rollTotal() roll 1}} + {{#^rollGreater() roll 19}} + {{roll}}. Failure! + {{/^rollGreater() roll 19}} + {{/^rollTotal() roll 1}} + {{/rollGreater() roll goal}} + + {{#rollTotal() roll 20}} + {{roll}}. Critical failure! + {{/rollTotal() roll 20}} +
+
+ +
+ + + + + + \ No newline at end of file diff --git a/Fading Suns 4th Edition - Pax Alexius/Fading_Suns_4th_Edition_Pax_Alexius.preview-en.jpg b/Fading Suns 4th Edition - Pax Alexius/Fading_Suns_4th_Edition_Pax_Alexius.preview-en.jpg new file mode 100644 index 0000000000..e355a5203b Binary files /dev/null and b/Fading Suns 4th Edition - Pax Alexius/Fading_Suns_4th_Edition_Pax_Alexius.preview-en.jpg differ diff --git a/Fading Suns 4th Edition - Pax Alexius/README.md b/Fading Suns 4th Edition - Pax Alexius/README.md new file mode 100644 index 0000000000..70529e9d22 --- /dev/null +++ b/Fading Suns 4th Edition - Pax Alexius/README.md @@ -0,0 +1,21 @@ +# Release notes + +## 1.0.0 +- First publicly available version of the sheet + +# TODO list +- Add sheet preview image + +- temporary bonus/malus for skills and characteristics + +- auto-fail / prevents rolls of |R|equired skills (Alchemy, Interface, Pilot) if skill value is 0. Have to be sure no perk/capability exists to allow a roll anyway. If not sure, warn only. + +- check if Occult characteristic + +# Nice-to-have +- replace unstylable selects with custom-made absolute-positioned list of action buttons for characteristic/skill selections +- for Roll20 pro users: + - API for VP & WP management + - leverage this API from within the sheet + + Freetext Buff/Debuff mod diff --git a/Fading Suns 4th Edition - Pax Alexius/prepros.config b/Fading Suns 4th Edition - Pax Alexius/prepros.config new file mode 100644 index 0000000000..aa648754f9 --- /dev/null +++ b/Fading Suns 4th Edition - Pax Alexius/prepros.config @@ -0,0 +1,908 @@ +{ + "version": "7", + "about": "This is a Prepros (https://prepros.io) configuration file. You can commit this file to a git repo to backup and sync project configurations.", + "config": { + "proxy": { + "enable": false, + "target": "", + "useLocalAssets": false + }, + "reload": { + "enable": false, + "delay": 0, + "animate": true, + "afterUpload": false + }, + "sync": { + "enable": false, + "mouse": true, + "keyboard": true, + "form": true, + "scroll": true + }, + "watcher": { + "enable": true, + "maxFiles": 2000, + "usePolling": false, + "pollingInterval": 500, + "extensions": [ + ".html", + ".htm", + ".php" + ], + "ignore": { + "patterns": [ + ".*", + "wp-admin", + "wp-includes", + "node_modules", + "Prepros Export", + "bower_components" + ], + "exceptions": [] + } + }, + "exporter": { + "ignore": { + "patterns": [ + ".*", + "desktop.ini", + "prepros.cfg", + "node_modules", + "Prepros Export", + "prepros.config", + "prepros-6.config", + "*-original.jpg", + "*-original.jpeg", + "*-original.png", + "*-original.svg", + "*.scss", + "*.sass", + "*.less", + "*.pug", + "*.jade", + "*.styl", + "*.haml", + "*.slim", + "*.coffee", + "*.kit", + "*.turf", + "*.ts" + ], + "exceptions": [] + } + }, + "uploader": { + "remotePath": "", + "timeout": 20000, + "autoUpload": false, + "connectionType": "ftp", + "history": [] + }, + "packages": { + "createPackageLock": true + }, + "tasks": { + "autoprefixer": { + "cascade": true, + "add": true, + "remove": true, + "supports": true, + "flexbox": true, + "grid": "false", + "browsers": [ + "> 2%", + "not dead" + ], + "sourceMap": false + }, + "babel": { + "sourceMap": false, + "presets": { + "@babel/preset-env": { + "enable": true, + "options": { + "targets": [ + "> 2%", + "not dead" + ], + "preserveImports": false + } + }, + "@babel/preset-react": true, + "@babel/preset-flow": false + }, + "plugins": { + "@babel/plugin-proposal-class-properties": false, + "@babel/plugin-proposal-decorators": { + "enable": false, + "options": { + "decoratorsBeforeExport": true + } + }, + "@babel/plugin-proposal-export-namespace-from": false, + "@babel/plugin-proposal-function-sent": false, + "@babel/plugin-proposal-nullish-coalescing-operator": false, + "@babel/plugin-proposal-numeric-separator": false, + "@babel/plugin-proposal-optional-chaining": false, + "@babel/plugin-proposal-private-methods": false, + "@babel/plugin-proposal-throw-expressions": false + }, + "customPresets": [], + "customPlugins": [] + }, + "bundle-js": { + "sourceMap": false, + "exclude": [ + "node_modules", + "bower_components" + ], + "devMode": true, + "globals": [], + "externals": [], + "babel": { + "enable": true, + "options": { + "sourceMap": false, + "presets": { + "@babel/preset-env": { + "enable": true, + "options": { + "targets": [ + "> 2%", + "not dead" + ], + "preserveImports": false + } + }, + "@babel/preset-react": true, + "@babel/preset-flow": false + }, + "plugins": { + "@babel/plugin-proposal-class-properties": false, + "@babel/plugin-proposal-decorators": { + "enable": false, + "options": { + "decoratorsBeforeExport": true + } + }, + "@babel/plugin-proposal-export-namespace-from": false, + "@babel/plugin-proposal-function-sent": false, + "@babel/plugin-proposal-nullish-coalescing-operator": false, + "@babel/plugin-proposal-numeric-separator": false, + "@babel/plugin-proposal-optional-chaining": false, + "@babel/plugin-proposal-private-methods": false, + "@babel/plugin-proposal-throw-expressions": false + }, + "customPresets": [], + "customPlugins": [] + } + }, + "css": { + "enable": true + }, + "fonts": { + "enable": true + } + }, + "coffeescript": { + "header": false, + "bare": false, + "sourceMap": false + }, + "command": { + "command": "", + "rootDir": "" + }, + "concat-js": { + "sourceMap": false, + "rootDir": "" + }, + "copy": { + "sourceMap": false + }, + "dart-sass": { + "indentType": "space", + "indentWidth": 4, + "linefeed": "lf", + "sourceMap": false + }, + "haml": { + "doubleQuoteAttributes": true + }, + "jpg": { + "quality": 90 + }, + "less": { + "javascriptEnabled": false, + "strictImports": false, + "insecure": false, + "math": "always", + "strictUnits": false, + "dumpLineNumbers": false, + "sourceMap": false + }, + "markdown": { + "githubFlavored": true, + "wrapWithHtml": false + }, + "minify-css": { + "sourceMap": false + }, + "minify-html": { + "caseSensitive": false, + "collapseBooleanAttributes": true, + "collapseInlineTagWhitespace": false, + "collapseWhitespace": true, + "conservativeCollapse": false, + "decodeEntities": false, + "html5": true, + "includeAutoGeneratedTags": true, + "keepClosingSlash": false, + "minifyCSS": true, + "minifyJS": true, + "preserveLineBreaks": false, + "preventAttributesEscaping": false, + "processConditionalComments": false, + "removeAttributeQuotes": false, + "removeComments": true, + "removeEmptyAttributes": false, + "removeEmptyElement": false, + "removeOptionalTags": false, + "removeRedundantAttributes": false, + "removeScriptTypeAttributes": false, + "removeStyleLinkTypeAttributes": false, + "removeTagWhitespace": false, + "sortAttributes": false, + "sortClassName": false, + "useShortDoctype": true + }, + "minify-js": { + "parse": { + "bare_returns": false + }, + "compress": { + "arrows": true, + "arguments": false, + "booleans": true, + "booleans_as_integers": false, + "collapse_vars": true, + "comparisons": true, + "computed_props": true, + "conditionals": true, + "dead_code": true, + "directives": true, + "drop_console": false, + "drop_debugger": true, + "evaluate": true, + "expression": false, + "global_defs": [], + "hoist_funs": false, + "hoist_props": true, + "hoist_vars": false, + "if_return": true, + "inline": 3, + "join_vars": true, + "keep_fargs": true, + "keep_infinity": false, + "loops": true, + "negate_iife": true, + "properties": true, + "pure_funcs": [], + "pure_getters": false, + "reduce_vars": true, + "sequences": true, + "side_effects": true, + "switches": true, + "top_retain": [], + "typeofs": true, + "unsafe": false, + "unsafe_arrows": false, + "unsafe_comps": false, + "unsafe_Function": false, + "unsafe_math": false, + "unsafe_proto": false, + "unsafe_regexp": false, + "unsafe_undefined": false, + "unused": true + }, + "mangle": { + "eval": false, + "reserved": [] + }, + "output": { + "ascii_only": false, + "braces": false, + "comments": "none", + "inline_script": true, + "keep_numbers": false, + "keep_quoted_props": false, + "preamble": null, + "quote_keys": false, + "quote_style": 0, + "semicolons": true, + "shebang": true, + "webkit": false, + "wrap_iife": false, + "wrap_func_args": true + }, + "sourceMap": false, + "toplevel": false, + "ie8": false, + "keep_classnames": false, + "keep_fnames": false, + "safari10": false + }, + "node-sass": { + "indentType": "space", + "indentWidth": 2, + "linefeed": "lf", + "outputStyle": "expanded", + "precision": 10, + "sourceMap": false, + "sourceComments": false + }, + "png": { + "quality": 90 + }, + "pug": { + "pretty": true + }, + "slim": { + "indent": "space", + "indentSize": 2, + "pretty": true + }, + "stylus": { + "useNib": true, + "sourceMap": false, + "linenos": false + }, + "svg": { + "cleanupAttrs": true, + "removeDoctype": true, + "removeXMLProcInst": true, + "removeComments": true, + "removeMetadata": true, + "removeTitle": true, + "removeDesc": true, + "removeUselessDefs": true, + "removeEditorsNSData": true, + "removeEmptyAttrs": true, + "removeHiddenElems": true, + "removeEmptyText": true, + "removeEmptyContainers": true, + "removeViewBox": false, + "cleanupEnableBackground": true, + "convertStyleToAttrs": true, + "convertColors": true, + "convertPathData": true, + "convertTransform": true, + "removeUnknownsAndDefaults": true, + "removeNonInheritableGroupAttrs": true, + "removeUselessStrokeAndFill": true, + "removeUnusedNS": true, + "cleanupIDs": true, + "cleanupNumericValues": true, + "moveElemsAttrsToGroup": true, + "moveGroupAttrsToElems": true, + "collapseGroups": true, + "removeRasterImages": false, + "mergePaths": true, + "convertShapeToPath": true, + "sortAttrs": true, + "removeDimensions": true + }, + "turf": { + "rootDir": "" + }, + "typescript": { + "allowJs": false, + "allowSyntheticDefaultImports": true, + "allowUmdGlobalAccess": false, + "allowUnreachableCode": false, + "allowUnusedLabels": false, + "alwaysStrict": false, + "charset": "utf8", + "checkJs": false, + "declaration": false, + "disableSizeLimit": false, + "downlevelIteration": false, + "emitBOM": false, + "emitDecoratorMetadata": false, + "experimentalDecorators": false, + "forceConsistentCasingInFileNames": false, + "importHelpers": false, + "jsx": "React", + "keyofStringsOnly": false, + "lib": [], + "maxNodeModuleJsDepth": 0, + "module": "ES2015", + "moduleResolution": "NodeJs", + "newLine": "LineFeed", + "noFallthroughCasesInSwitch": false, + "noImplicitAny": false, + "noImplicitReturns": false, + "noImplicitThis": false, + "noStrictGenericChecks": false, + "noUnusedLocals": false, + "noUnusedParameters": false, + "noImplicitUseStrict": false, + "noLib": false, + "noResolve": false, + "preserveConstEnums": false, + "jsxFactory": "React.createElement", + "removeComments": false, + "skipLibCheck": false, + "sourceMap": false, + "strict": false, + "strictFunctionTypes": false, + "strictBindCallApply": false, + "strictNullChecks": false, + "strictPropertyInitialization": false, + "suppressExcessPropertyErrors": false, + "suppressImplicitAnyIndexErrors": false, + "target": "ES3", + "resolveJsonModule": false, + "esModuleInterop": false, + "useDefineForClassFields": false + }, + "custom-p8o8uczp3f": { + "command": "more +1 < {{input}} > ./temp.css && move /Y ./temp.css {{output}}" + } + }, + "fileTypes": { + "sass": { + "extensions": [ + ".scss", + ".sass" + ], + "autoCompile": true, + "sourceMap": false, + "tasks": [ + { + "task": "dart-sass", + "enable": true + }, + { + "task": "autoprefixer", + "enable": true + }, + { + "task": "minify-css", + "enable": false + }, + { + "task": "custom-p8o8uczp3f", + "enable": true + } + ], + "output": { + "extension": ".css", + "type": "REPLACE_SEGMENTS", + "segments": [ + { + "segment": "scss", + "replaceWith": "css" + }, + { + "segment": "sass", + "replaceWith": "css" + } + ] + } + }, + "less": { + "extensions": [ + ".less" + ], + "autoCompile": true, + "sourceMap": false, + "tasks": [ + { + "task": "less", + "enable": true + }, + { + "task": "autoprefixer", + "enable": true + }, + { + "task": "minify-css", + "enable": false + } + ], + "output": { + "extension": ".css", + "type": "REPLACE_SEGMENTS", + "segments": [ + { + "segment": "less", + "replaceWith": "css" + } + ] + } + }, + "pug": { + "extensions": [ + ".pug", + ".jade" + ], + "autoCompile": true, + "tasks": [ + { + "task": "pug", + "enable": true + }, + { + "task": "minify-html", + "enable": false + } + ], + "output": { + "extension": ".html", + "type": "REPLACE_SEGMENTS", + "segments": [ + { + "segment": "pug", + "replaceWith": "html" + } + ] + } + }, + "css": { + "extensions": [ + ".css" + ], + "autoCompile": false, + "sourceMap": false, + "tasks": [ + { + "task": "copy", + "enable": true + }, + { + "task": "autoprefixer", + "enable": true + }, + { + "task": "minify-css", + "enable": true + } + ], + "output": { + "extension": ".css", + "type": "SOURCE_RELATIVE", + "relativePath": "", + "suffix": "-dist", + "alwaysSuffix": false + } + }, + "javascript": { + "extensions": [ + ".js", + ".jsx" + ], + "autoCompile": false, + "sourceMap": false, + "tasks": [ + { + "task": "copy", + "enable": true + }, + { + "task": "concat-js", + "enable": false + }, + { + "task": "babel", + "enable": false + }, + { + "task": "bundle-js", + "enable": false + }, + { + "task": "minify-js", + "enable": true + } + ], + "output": { + "extension": ".js", + "type": "SOURCE_RELATIVE", + "relativePath": "", + "suffix": "-dist", + "alwaysSuffix": false + } + }, + "stylus": { + "extensions": [ + ".styl" + ], + "autoCompile": true, + "sourceMap": false, + "tasks": [ + { + "task": "stylus", + "enable": true + }, + { + "task": "autoprefixer", + "enable": true + }, + { + "task": "minify-css", + "enable": false + } + ], + "output": { + "extension": ".css", + "type": "REPLACE_SEGMENTS", + "segments": [ + { + "segment": "stylus", + "replaceWith": "css" + }, + { + "segment": "styl", + "replaceWith": "css" + } + ] + } + }, + "markdown": { + "extensions": [ + ".md", + ".markdown", + ".mkd" + ], + "autoCompile": false, + "tasks": [ + { + "task": "markdown", + "enable": true + }, + { + "task": "minify-html", + "enable": false + } + ], + "output": { + "extension": ".html", + "type": "REPLACE_SEGMENTS", + "segments": [ + { + "segment": "markdown", + "replaceWith": "html" + } + ] + } + }, + "haml": { + "extensions": [ + ".haml" + ], + "autoCompile": true, + "tasks": [ + { + "task": "haml", + "enable": true + }, + { + "task": "minify-html", + "enable": false + } + ], + "output": { + "extension": ".html", + "type": "REPLACE_SEGMENTS", + "segments": [ + { + "segment": "haml", + "replaceWith": "html" + } + ] + } + }, + "slim": { + "extensions": [ + ".slim" + ], + "autoCompile": true, + "tasks": [ + { + "task": "slim", + "enable": true + }, + { + "task": "minify-html", + "enable": false + } + ], + "output": { + "extension": ".html", + "type": "REPLACE_SEGMENTS", + "segments": [ + { + "segment": "slim", + "replaceWith": "html" + } + ] + } + }, + "coffeescript": { + "extensions": [ + ".coffee" + ], + "autoCompile": true, + "sourceMap": false, + "tasks": [ + { + "task": "coffeescript", + "enable": true + }, + { + "task": "babel", + "enable": false + }, + { + "task": "bundle-js", + "enable": false + }, + { + "task": "minify-js", + "enable": false + } + ], + "output": { + "extension": ".js", + "type": "REPLACE_SEGMENTS", + "segments": [ + { + "segment": "coffee-script", + "replaceWith": "js" + }, + { + "segment": "coffeescript", + "replaceWith": "js" + }, + { + "segment": "coffee", + "replaceWith": "js" + } + ] + } + }, + "turf": { + "extensions": [ + ".turf", + ".kit" + ], + "autoCompile": true, + "tasks": [ + { + "task": "turf", + "enable": true + }, + { + "task": "minify-html", + "enable": false + } + ], + "output": { + "extension": ".html", + "type": "REPLACE_SEGMENTS", + "segments": [ + { + "segment": "turf", + "replaceWith": "html" + } + ] + } + }, + "typescript": { + "extensions": [ + ".ts", + ".tsx" + ], + "autoCompile": true, + "sourceMap": false, + "tasks": [ + { + "task": "typescript", + "enable": true + }, + { + "task": "babel", + "enable": false + }, + { + "task": "bundle-js", + "enable": false + }, + { + "task": "minify-js", + "enable": false + } + ], + "output": { + "extension": ".js", + "type": "REPLACE_SEGMENTS", + "segments": [ + { + "segment": "typescript", + "replaceWith": "js" + }, + { + "segment": "ts", + "replaceWith": "js" + } + ] + } + }, + "jpg": { + "extensions": [ + ".jpg", + ".jpeg" + ], + "tasks": [ + { + "task": "jpg", + "enable": true + } + ], + "output": { + "extension": ".jpg", + "type": "SOURCE_RELATIVE", + "relativePath": "" + } + }, + "png": { + "extensions": [ + ".png" + ], + "tasks": [ + { + "task": "png", + "enable": true + } + ], + "output": { + "extension": ".png", + "type": "SOURCE_RELATIVE", + "relativePath": "" + } + }, + "svg": { + "extensions": [ + ".svg" + ], + "tasks": [ + { + "task": "svg", + "enable": true + } + ], + "output": { + "extension": ".svg", + "type": "SOURCE_RELATIVE", + "relativePath": "" + } + } + }, + "files": [ + { + "file": "src/Fading_Suns_4th_Edition_Pax_Alexius.pug", + "config": { + "customOutput": "Fading_Suns_4th_Edition_Pax_Alexius.html" + } + }, + { + "file": "src/Fading_Suns_4th_Edition_Pax_Alexius.scss", + "config": { + "customOutput": "Fading_Suns_4th_Edition_Pax_Alexius.css" + } + } + ] + } +} diff --git a/Fading Suns 4th Edition - Pax Alexius/sheet.json b/Fading Suns 4th Edition - Pax Alexius/sheet.json new file mode 100644 index 0000000000..1936c19201 --- /dev/null +++ b/Fading Suns 4th Edition - Pax Alexius/sheet.json @@ -0,0 +1,8 @@ +{ + "html": "Fading_Suns_4th_Edition_Pax_Alexius.html", + "css": "Fading_Suns_4th_Edition_Pax_Alexius.css", + "authors": "admiralnlson", + "roll20userid": "2324543", + "preview": "Fading_Suns_4th_Edition_Pax_Alexius.preview-en.jpg", + "instructions": "This character sheet is for **Fading Suns, Pax Alexius (a.k.a. 4th Edition) by Ulisses Spiele**.\nPlease go to [the dedicated wiki page](https://wiki.roll20.net/Fading_Suns_Pax_Alexius) for instructions on how to use the sheet.\nYou may also wish to check out the [project's README file](https://github.com/Roll20/roll20-character-sheets/blob/master/Fading%20Suns%20Pax%20Alexius/README.md), which contains release notes and planned evolutions.\n\nIssues, Ideas & Questions can be sent to the [admiralnlson](https://app.roll20.net/users/2324543), original author and current maintainer of this character sheet." +} diff --git a/Fading Suns 4th Edition - Pax Alexius/src/Fading_Suns_4th_Edition_Pax_Alexius.pug b/Fading Suns 4th Edition - Pax Alexius/src/Fading_Suns_4th_Edition_Pax_Alexius.pug new file mode 100644 index 0000000000..dfcbc48cf0 --- /dev/null +++ b/Fading Suns 4th Edition - Pax Alexius/src/Fading_Suns_4th_Edition_Pax_Alexius.pug @@ -0,0 +1,405 @@ +mixin label(i18n) + label(data-i18n=i18n )&attributes(attributes) + +mixin numeric_input(attr_name, default_value, min_value=false) + input(name=`attr_${attr_name}` type='number' title=`\${${attr_name}}` + (default_value!==false ? `. Default: ${default_value}.` : '') value=default_value min=min_value)&attributes(attributes) + +mixin text_input(attr_name) + input(name=`attr_${attr_name}` type='text' title=`\${${attr_name}}`)&attributes(attributes) + +- + const characteristics = [ + { category: 'body', list: [ 'strength', 'dexterity', 'endurance' ] }, + { category: 'mind', list: [ 'wits', 'perception', 'will' ] }, + { category: 'spirit', list: [ 'presence', 'intuition', 'faith' ] } + ]; + +mixin characteristic(name) + button.fs-d20(type='roll' name=`roll_${name}` value=`&{template:fs-GoalRoll} {{characterName=@{character_name}}} {{characteristicName-i18n=^{${name}}}} {{bonus_penalty=[[?{@{goal_bonus_penalty_rollquery_i18n}}]]}} {{goal=[[@{${name}}+[[?{@{goal_bonus_penalty_rollquery_i18n}}]]]]}} {{roll=[[1d20cs[[{@{${name}}+[[?{@{goal_bonus_penalty_rollquery_i18n}}]],19}kl1]]cf20]]}}`) + label.fs-characteristic-label + span(data-i18n=`${name}`) + +numeric_input(name, 3) +- + const skills = [ + { name: 'academia', default: 3 }, + { name: 'alchemy', default: 0 }, + { name: 'animalia', default: 3 }, + { name: 'arts', default: 3 }, + { name: 'charm', default: 3 }, + { name: 'crafts', default: 3 }, + { name: 'disguise', default: 3 }, + { name: 'drive', default: 3 }, + { name: 'empathy', default: 3 }, + { name: 'fight', default: 3 }, + { name: 'focus', default: 3 }, + { name: 'impress', default: 3 }, + { name: 'interface', default: 0 }, + + { name: 'intrusion', default: 3 }, + { name: 'knavery', default: 3 }, + { name: 'melee', default: 3 }, + { name: 'observe', default: 3 }, + { name: 'perform', default: 3 }, + { name: 'pilot', default: 0 }, + { name: 'remedy', default: 3 }, + { name: 'shoot', default: 3 }, + { name: 'sleight_of_hand', default: 3 }, + { name: 'sneak', default: 3 }, + { name: 'survival', default: 3 }, + { name: 'tech_redemption', default: 3 }, + { name: 'vigor', default: 3 } + ]; + +mixin skill(name, value) + .fs-skill + .fs-skill-normal + button.fs-d20(type='roll' name='roll_disabledbutton' value='' disabled='') + .fs-skill-roll-characteristic-choice + label + span(data-i18n=`${name}`) #{name} + | + + each charac_cat in characteristics + each characteristicName in charac_cat.list + div + div + button.fs-d20(type='roll' name=`roll_${characteristicName}_${name}` value=`&{template:fs-GoalRoll} {{characterName=@{character_name}}} {{characteristicName-i18n=^{${characteristicName}}}} {{skillName-i18n=^{${name}}}} {{bonus_penalty=[[?{@{goal_bonus_penalty_rollquery_i18n}}]]}} {{goal=[[@{${characteristicName}}+@{${name}}+[[?{@{goal_bonus_penalty_rollquery_i18n}}]]]]}} {{roll=[[1d20cs[[{@{${characteristicName}}+@{${name}}+[[?{@{goal_bonus_penalty_rollquery_i18n}}]],19}kl1]]cf20]]}}`) + label(data-i18n=`${characteristicName}`) #{characteristicName} + label.fs-skill-label + span(data-i18n=`${name}`) #{name} + +numeric_input(name, value) + + +// CHARACTER SHEET LAYOUT - START +.fs-sheet + + input(type='hidden' name='attr_goal_bonus_penalty_rollquery_i18n' value='') + + .fs-sheet-container + input(type='hidden' name='attr_sheet_version' value='latest') + + .fs-baseinfo + .fs-sheet-section + label.fs-uppercase-header(data-i18n='name') + .fs-name-grid + +text_input('character_name')(class ='fs-name') + label.fs-planet(data-i18n='planet') + +text_input('planet')(class ='fs-planet') + + .fs-sheet-section + label.fs-uppercase-header(data-i18n='rank') + .fs-rank-grid + +text_input('rank')(class ='fs-rank') + label.fs-birthdate(data-i18n='birthdate') + +text_input('birthdate')(class ='fs-birthdate') + + .fs-sheet-section + label.fs-uppercase-header(data-i18n='species') + .fs-species-grid + +text_input('species')(class ='fs-species') + label.fs-size(data-i18n='size') + +text_input('size')(class ='fs-size') + label.fs-speed(data-i18n='speed') + +text_input('speed')(class ='fs-speed') + + .fs-lifepath + .fs-sheet-section + label.fs-uppercase-header(data-i18n='class') + .fs-class-grid + +text_input('class_1')(class ='fs-class1') + +text_input('class_2')(class ='fs-class2') + label.fs-level(data-i18n='level') Level + +numeric_input('level', 1, 1)(class='fs-level') + + .fs-sheet-section + label.fs-uppercase-header(data-i18n='faction') + .fs-faction-grid + +text_input('faction')(class ='fs-faction') + label.fs-blessing(data-i18n='blessing') + +text_input('blessing')(class ='fs-blessing') + label.fs-curse(data-i18n='curse') Curse + +text_input('curse')(class ='fs-curse') + + .fs-sheet-section + label.fs-uppercase-header(data-i18n='calling') + .fs-calling-grid + +text_input('calling_1') + +text_input('calling_2') + +text_input('calling_3') + + .fs-traits + .fs-sheet-section.fs-skills-header + label.fs-uppercase-header(data-i18n='skills') + + .fs-skill-col.fs-skills-1 + - for (let i = 0; i < skills.length / 2; ++i) + +skill(skills[i].name, skills[i].default) + + .fs-skill-col.fs-skills-2 + - for (let i = skills.length / 2; i < skills.length; ++i) + +skill(skills[i].name, skills[i].default) + + .fs-characteristics + each charac_cat in characteristics + .fs-sheet-section + label.fs-uppercase-header(data-i18n=charac_cat.category) + .fs-characteristic-cat-grid + each charac_name in charac_cat.list + +characteristic(charac_name) + + .fs-sheet-section + label.fs-uppercase-header(data-i18n='occult') + .fs-occult + div + +label('psi')(class='fs-occult-left') + +numeric_input('psi', false, 0) + +numeric_input('urge', false, 0) + +label('urge')(class='fs-occult-right') + div + +label('theurgy')(class='fs-occult-left') + +numeric_input('theurgy', false, 0) + +numeric_input('hubris', false, 0) + +label('hubris')(class='fs-occult-right') + div + +text_input('occult_3_name')(class='fs-occult-left') + +numeric_input('occult_3', false, 0) + +numeric_input('occult_3_opposite', false, 0) + +text_input('occult_3_opposite_name')(class='fs-occult-right') + + .fs-defenses + .fs-sheet-section + label.fs-uppercase-header(data-i18n='resistances') + .fs-resistances-grid + each charac_cat in characteristics + label(data-i18n=charac_cat.category) + +numeric_input(`${charac_cat.category}_resistance`, 0, 0) + +text_input(`${charac_cat.category}_resistance_modifier`)(data-i18n-placeholder='resistance_modifier') + + .fs-sheet-section + .fs-armor-and-e-shield-grid + .fs-armor-and-e-shield-grid-row + label.fs-uppercase-header(data-i18n='armor') + +text_input('armor_name') + .fs-armor-and-e-shield-grid-row.fs-armor-vs + +numeric_input('armor_vs_blaster', false, 0)(data-i18n-placeholder='blaster_s') + +numeric_input('armor_vs_flame', false, 0)(data-i18n-placeholder='flame_s') + +numeric_input('armor_vs_hard', false, 0)(data-i18n-placeholder='hard_s') + +numeric_input('armor_vs_laser', false, 0)(data-i18n-placeholder='laser_s') + +numeric_input('armor_vs_shock', false, 0)(data-i18n-placeholder='shock_s') + +numeric_input('armor_vs_slam', false, 0)(data-i18n-placeholder='slam_s') + +numeric_input('armor_vs_sonic', false, 0)(data-i18n-placeholder='sonic_s') + .fs-armor-and-e-shield-grid-row + label.fs-uppercase-header(data-i18n='e_shield') + +text_input('shield_name') + .fs-armor-and-e-shield-grid-row.fs-e-shield-props + label(data-i18n='e_shield_thresholds') + +numeric_input('shield_thresholds_min') + label / + +numeric_input('shield_thresholds_max') + label(data-i18n='e_shield_hits') + +numeric_input('shield_hits') + + .fs-sheet-section + .fs-vita-and-revivals-grid + label.fs-vitality-header.fs-uppercase-header(data-i18n='vitality') + label.fs-vitality-rating(data-i18n='rating') + +numeric_input('vitality_rating', 0, 0)(class='fs-vitality-rating') + label.fs-vitality-current(data-i18n='current') + +numeric_input('vitality_current', 0, 0)(class='fs-vitality-current') + label.fs-revivals-header.fs-uppercase-header(data-i18n='revivals') + label.fs-revivals-rating(data-i18n='rating') + +numeric_input('revivals_rating', 0, 0)(class='fs-revivals-rating') + label.fs-revivals-number(data-i18n='number') + +numeric_input('revivals_number', 0, 0)(class='fs-revivals-number') + + .fs-actions-vp-bank-and-surge + .fs-sheet-section + label.fs-uppercase-header(data-i18n='actions') + + .fs-actions + .fs-table + label.fs-table-head + label.fs-table-head(data-i18n='action') + label.fs-table-head(data-i18n='characteristic') + label.fs-table-head(data-i18n='skill') + label.fs-table-head(data-i18n='goal_bonus_penalty') + fieldset.repeating_actions + .fs-table + input(type='hidden' name='attr_action_characteristic_value') + input(type='hidden' name='attr_action_skill_value') + button.fs-20(type='roll' name='roll_action_roll' value='&{template:fs-GoalRoll} {{title=@{action_name}}} {{characterName=@{character_name}}} {{characteristicName-i18n=^{@{action_characteristic}}}} {{skillName-i18n=^{@{action_skill}}}} {{bonus_penalty=[[@{action_goal_bonus_penalty}+[[?{@{goal_bonus_penalty_rollquery_i18n}}]]]]}} {{goal=[[@{action_characteristic_value}+@{action_skill_value}+@{action_goal_bonus_penalty}+[[?{@{goal_bonus_penalty_rollquery_i18n}}]]]]}} {{roll=[[1d20cs[[{@{action_characteristic_value}+@{action_skill_value}+@{action_goal_bonus_penalty}+[[?{@{goal_bonus_penalty_rollquery_i18n}}]],19}kl1]]cf20]]}}') + input.fs-table-cell(type='text' name='attr_action_name') + select.fs-table-cell(name='attr_action_characteristic') + option(value='' selected) + each charac_cat in characteristics + optgroup(data-i18n-label=charac_cat.category) + each charac_name in charac_cat.list + option(value=charac_name data-i18n=charac_name) + select.fs-table-cell(name='attr_action_skill') + option(value='' selected) + each sk in skills + option(value=sk.name data-i18n=sk.name) + input.fs-table-cell(type='number' name='attr_action_goal_bonus_penalty' value=0) + .fs-notes + .fs-auto-expand-textarea + span(name='attr_action_impact_notes') + textarea(name='attr_action_impact_notes' data-i18n-placeholder='impact_notes' spellcheck='false') + + .fs-sheet-section-frame + label.fs-uppercase-header(data-i18n='vp_bank') + .fs-vp-and-surge-grids + label(data-i18n='vp_bank_capacity') + +numeric_input('vp_bank_capacity', 0, 0) + label(data-i18n='current_vp') + +numeric_input('current_vp', 0, 0) + label(data-i18n='current_wp') + +numeric_input('current_wp', 0, 0) + label.fs-uppercase-header(data-i18n='surge') + .fs-vp-and-surge-grids + label(data-i18n='surge_rating') + +numeric_input('surge_rating', 0, 0) + label(data-i18n='surge_number') + +numeric_input('surge_number', 0, 0) + + .fs-perks-capabilities-and-birthrights + .fs-sheet-section + label.fs-uppercase-header(data-i18n='perks') + .fs-perks + fieldset.repeating_perks + .fs-table + input.fs-table-cell(type='text' name='attr_perk_name' data-i18n-placeholder='perk_name') + .fs-notes + .fs-auto-expand-textarea + span(name='attr_perk_notes') + textarea(name='attr_perk_notes' data-i18n-placeholder='perk_notes' spellcheck='false') + div + .fs-sheet-section + label.fs-uppercase-header(data-i18n='capabilities') + .fs-perks + fieldset.repeating_capabilities + .fs-table + input.fs-table-cell(type='text' name='attr_capability_name' data-i18n-placeholder='capability_name') + .fs-notes + .fs-auto-expand-textarea + span(name='attr_capability_notes') + textarea(name='attr_capability_notes' data-i18n-placeholder='capability_notes' spellcheck='false') + + .fs-sheet-section + label.fs-uppercase-header(data-i18n='birthrights') + .fs-perks + fieldset.repeating_birthrights + .fs-table + input.fs-table-cell(type='text' name='attr_birthright_name' data-i18n-placeholder='birthright_name') + .fs-notes + .fs-auto-expand-textarea + span(name='attr_birthright_notes') + textarea(name='attr_birthright_notes' data-i18n-placeholder='birthright_notes' spellcheck='false') + + .fs-possessions + .fs-sheet-section + + .fs-possessions-header + label.fs-uppercase-header(data-i18n='possessions') + label(data-i18n='techgnosis') + +numeric_input('techgnosis', 0, 0) + + .fs-carried-equipment + each index in [1, 2] + div + .fs-table + label.fs-table-head(data-i18n='carried_equipment') + label.fs-table-head(data-i18n='tech_level_s') + label.fs-table-head(data-i18n='equipment_size') + fieldset(class=`repeating_carriedequipment${index}`) + .fs-table + input.fs-table-cell(type='text' name=`attr_carriedequipment${index}_name`) + input.fs-table-cell(type='number' name=`attr_carriedequipment${index}_tech_level`) + input.fs-table-cell(type='text' name=`attr_carriedequipment${index}_size`) + .fs-notes + .fs-auto-expand-textarea + span(name=`attr_carriedequipment${index}_notes`) + textarea(name=`attr_carriedequipment${index}_notes` data-i18n-placeholder='notes' spellcheck='false') + + .fs-carried-weapons + div + .fs-table + label.fs-table-head(data-i18n='carried_weapons') + label.fs-table-head(data-i18n='tech_level_s') + label.fs-table-head(data-i18n='goal_bonus_penalty') + label.fs-table-head(data-i18n='damage_s') + label.fs-table-head(data-i18n='strength_s') + label.fs-table-head(data-i18n='range_s') + label.fs-table-head(data-i18n='rate_of_fire_s') + label.fs-table-head(data-i18n='ammunition_s') + label.fs-table-head(data-i18n='weapon_features') + fieldset(class='repeating_weapons') + .fs-table + input.fs-table-cell(type='text' name='attr_weapon_name') + input.fs-table-cell(type='number' name='attr_weapon_tl') + input.fs-table-cell(type='text' name='attr_weapon_goal') + input.fs-table-cell(type='text' name='attr_weapon_dmg') + input.fs-table-cell(type='number' name='attr_weapon_str') + input.fs-table-cell(type='text' name='attr_weapon_rng') + input.fs-table-cell(type='number' name='attr_weapon_rof') + input.fs-table-cell(type='number' name='attr_weapon_ammo') + input.fs-table-cell(type='text' name='attr_weapon_features') + .fs-notes + .fs-auto-expand-textarea + span(name=`attr_weapon_notes`) + textarea(name=`attr_weapon_notes` data-i18n-placeholder='notes' spellcheck='false') + + .fs-owned + each index in [1, 2] + div + .fs-table + label.fs-table-head(data-i18n='owned') + label.fs-table-head(data-i18n='location') + fieldset(class=`repeating_owned${index}`) + .fs-table + input.fs-table-cell(type='text' name=`attr_owned${index}_name`) + input.fs-table-cell(type='text' name=`attr_owned${index}_location`) + .fs-notes + .fs-auto-expand-textarea + span(name=`attr_owned${index}_notes`) + textarea(name=`attr_owned${index}_notes` data-i18n-placeholder='notes' spellcheck='false') + + .fs-money + .fs-sheet-section + + .fs-money-header + label.fs-uppercase-header(data-i18n='money') + +label('cash') + +text_input('cash') + + .fs-assets + each index in [1, 2] + div + .fs-table + label.fs-table-head(data-i18n='asset') + label.fs-table-head(data-i18n='income') + fieldset(class=`repeating_assets${index}`) + .fs-table + input.fs-table-cell(type='text' name=`attr_asset${index}_name`) + input.fs-table-cell(type='text' name=`attr_asset${index}_income`) + .fs-notes + .fs-auto-expand-textarea + span(name=`attr_asset${index}_notes`) + textarea(name=`attr_asset${index}_notes` data-i18n-placeholder='notes' spellcheck='false') + + .fs-sheet-section + label.fs-uppercase-header(data-i18n='last_notes') + .fs-w100.fs-relative.fs-supertall-textarea + .fs-auto-expand-textarea + span(name='attr_last_notes') + textarea(title='@{last_notes}' type='text' name='attr_last_notes' data-i18n-placeholder='notes' placeholder='Notes' spellcheck='false') + + .fs-footer + +// CHARACTER SHEET LAYOUT - END +// ROLL TEMPLATES - START +include roll-templates.html +// ROLL TEMPLATES - END +// SHEET WORKERS - START +include sheet-workers.html +// SHEET WORKERS - END + +// FIN. diff --git a/Fading Suns 4th Edition - Pax Alexius/src/Fading_Suns_4th_Edition_Pax_Alexius.scss b/Fading Suns 4th Edition - Pax Alexius/src/Fading_Suns_4th_Edition_Pax_Alexius.scss new file mode 100644 index 0000000000..79f3bdbfe3 --- /dev/null +++ b/Fading Suns 4th Edition - Pax Alexius/src/Fading_Suns_4th_Edition_Pax_Alexius.scss @@ -0,0 +1,1088 @@ +$sheet-width: 890px; +$semitransparent: rgba(255, 255, 255, 0.5); +$bordercolor: #baa894; +$section-column-gap: 30px; +$localgrid-gap: 2px; +$level-box-width: 50px; +$rollbutton-width: 25px; +$traitval-width: 30px; +$equipment-size-column: 50px; +$goal-bonus-manul-col-width: 60px; +$ammo-col-width: 50px; +$default-line-height: 25px; + +@mixin main-columns { + width: 100%; + display: grid; + grid-column-gap: $section-column-gap; + align-items: stretch; + align-content: stretch; + justify-items: stretch; + justify-content: space-between; +} + +@mixin main-2-columns { + @include main-columns; + grid-template-columns: 1fr 1fr; +} + +@mixin main-3-columns { + @include main-columns; + grid-template-columns: 1fr 1fr 1fr; +} + +@mixin localgrid { + display: grid; + width: 100%; + gap: $localgrid-gap; + + align-items: stretch; + align-content: flex-start; + justify-items: stretch; + justify-content: stretch; +} + +@mixin indented { + padding-left: 20px; + text-align: end; +} + +.sheet-fs-sheet *, +.sheet-fs-sheet *::after, +.sheet-fs-sheet *::before { + box-sizing: border-box; +} + +body { + min-height: 100vh; + position: relative; +} + +.sheet-fs-sheet label, +.sheet-fs-sheet input, +.sheet-fs-sheet button[type=roll], +.sheet-fs-sheet select, +.sheet-fs-sheet textarea { + font-size: 1.25em; + width: 100%; + margin: 0; + color: black; +} + +.sheet-fs-sheet label { + font-weight: normal; + display: inline-block; + margin: 0; + padding-right: 0px; + width: initial; + height: initial; + color: initial; +} + +.sheet-fs-sheet select { + border-color: $bordercolor; +} + +.sheet-fs-sheet textarea { + height: initial; + resize: initial; + overflow-x: hidden; + overflow-y: auto; + padding: 0; + margin: 0; +} + +.sheet-fs-sheet button, +.sheet-fs-sheet button:hover, +.sheet-fs-sheet button:active { + background-image: initial; +} + +.sheet-fs-sheet button[type=roll] { + margin-left: initial; + margin-right: initial; + text-shadow: none; +} + +.sheet-fs-sheet input, +.sheet-fs-sheet textarea, +.sheet-fs-sheet select, +.sheet-fs-sheet button[type=roll] { + background-color: $semitransparent; + border: 1px solid $bordercolor; + border-radius: 0; + padding: 2px; + height: $default-line-height; +} + +.sheet-fs-sheet input, +.sheet-fs-sheet textarea, +.sheet-fs-sheet select, +.sheet-fs-sheet label { + vertical-align: middle; + align-self: center; +} + +.sheet-fs-sheet input[type=number] { + text-align: center; + width: $traitval-width; + min-width: $traitval-width; + max-width: $traitval-width; +} + +.sheet-fs-sheet button[type=roll] { + width: $rollbutton-width; +} + +// turn off spinners for all number field in Chrome +.sheet-fs-sheet input[type=number]::-webkit-inner-spin-button, +.sheet-fs-sheet input[type=number]::-webkit-outer-spin-button { + -webkit-appearance: none; + margin: 0; +} + +// turn off spinners for all number field in Firefox +.sheet-fs-sheet input[type=number] { + -moz-appearance: textfield !important; +} + +.sheet-fs-sheet button[type=roll] { + background-color: $semitransparent; + border: 1px solid $bordercolor; +} + +.sheet-fs-sheet button[type=roll].sheet-fs-hidden { + display: none; +} + +.sheet-fs-sheet button[type=roll]:before { + vertical-align: middle; + font-size: 1.2em; +} + +.sheet-fs-sheet { + // cancelling the nasty default padding + margin-top: -28px; + margin-left: -30px; + margin-right: -30px; + margin-bottom: -10px; + + min-width: $sheet-width; + max-width: $sheet-width; + background: url(https://i.ibb.co/t3xLwhN/fs-sheet-background.jpg) top left repeat; + background-attachment: scroll; + background-size: $sheet-width; + + font-family: serif; +} + +.sheet-fs-sheet-container { + padding-left: 50px; + padding-right: 50px; +} + +.sheet-fs-sheet-section { + margin-top: 10px; + border-top: 2px solid black; + padding-top: 10px; +} + +.sheet-fs-sheet-section-frame { + margin-top: 10px; + border: 2px solid black; + padding: 5px; + + align-self: self-start; // for a shorter VP Bank & Surge box +} + +label.sheet-fs-uppercase-header { + font-size: 1.5em; + line-height: $default-line-height; + font-weight: bold; + text-transform: uppercase; + white-space: nowrap; +} + +.sheet-fs-sheet .repcontrol_del, +.sheet-fs-sheet .repcontrol_move, +.sheet-fs-sheet .repcontrol_add, +.sheet-fs-sheet .repcontrol_edit { + font-family: pictos; +} + +.sheet-fs-sheet .repitem.repitembroken { + border: 0.3rem dashed #FF0044 !important; + margin: 0 0 0 0; + border-radius: 0; +} + +.repcontrol_edit { + order: 2; +} + +.repcontainer { + width: 100%; +} + +.repcontainer.editmode .repitem .itemcontrol { + z-index: 3; + background-color: rgba(255,255,255,0.5); +} + +div.repcontrol { + display: flex; + flex-wrap: nowrap; + align-items: center; + justify-content: space-between; + flex-direction: row; + width: 100%; +} + +.repcontrol_add::before { + content: '&'; + visibility: visible; + font-family: pictos; + background-color: $semitransparent; + border: 0.1rem solid $bordercolor; + border-radius: 0.2rem; + font-size: 1.6rem; + padding: 0.3rem 0.5rem 0.3rem 0.5rem; + color: black; +} + +.repcontrol .repcontrol_edit:after { + font-weight: bold; + content: '☰'; + visibility: visible; + font-family: pictos; + background-color: $semitransparent; + border: 0.1rem solid $bordercolor; + border-radius: 0.2rem; + font-size: 1.6rem; + padding: 0.3rem 0.3rem 0.2rem 0.3rem; + color: black; +} + +.editmode ~ .repcontrol .repcontrol_edit:after { + font-family: Pictos; + content: '3'; + width:1.6rem; +} + +.repcontrol_edit:hover:before, +.repcontrol_edit:hover:after, +.repcontrol_add:hover:before { + color: red !important; + box-shadow: 0.1rem 0.1rem 0.2rem $bordercolor; +} + +.repcontrol .btn{ + border: none; + color: white; + font-size: 0; + padding: 0; + margin-top: 3px; + background: none; + box-shadow: none; +} + +.repcontrol .btn:focus { + outline: 0; +} + +.repcontrol_add, +.repcontrol_edit { + display: block; + background: none; + color: transparent !important; + border: none; + box-shadow: none; +} + +.repcontrol_del, +.repcontrol_move { + display: block; + background: white; + color: black; + border: none; + box-shadow: none; + width: 2em; +} + +.sheet-fs-noshow { + display:none; +} + +.sheet-rolltemplate-fs-button { + text-align: center; +} + +.sheet-rolltemplate-fs-GoalRoll .sheet-fs-container, +.sheet-rolltemplate-fs-d6Roll .sheet-fs-container { + border: 1px solid; + padding: 2px; + width: 90%; + background: url(https://i.ibb.co/t3xLwhN/fs-sheet-background.jpg) 25% 25%; + background-size: 850px; +} + +.sheet-rolltemplate-fs-GoalRoll .sheet-fs-container .sheet-fs-charactername, +.sheet-rolltemplate-fs-d6Roll .sheet-fs-container .sheet-fs-charactername { + font-weight: bold; + font-size: 0.9em; + line-height: 1em; + border-bottom: 1px solid black; +} + +.sheet-rolltemplate-fs-GoalRoll .sheet-fs-container h1, +.sheet-rolltemplate-fs-d6Roll .sheet-fs-container h1 { + color: #4a6486; + font-size: 1.1em; + font-variant: small-caps; + line-height: 1.2em; +} + +.sheet-rolltemplate-fs-GoalRoll .sheet-fs-arrow-right, +.sheet-rolltemplate-fs-d6Roll .sheet-fs-arrow-right { + border-bottom: 2px solid transparent; + border-left: 200px solid $bordercolor; + border-top: 2px solid transparent; +} + +.sheet-rolltemplate-fs-GoalRoll .inlinerollresult, +.sheet-rolltemplate-fs-d6Roll .inlinerollresult { + background-color: transparent; + border: none; + font-weight: normal; + padding: 0 0 0 0; +} + +.sheet-rolltemplate-fs-GoalRoll .inlinerollresult.fullcrit, +.sheet-rolltemplate-fs-d6Roll .inlinerollresult.fullcrit, +.sheet-rolltemplate-fs-GoalRoll .inlinerollresult.importantroll, +.sheet-rolltemplate-fs-d6Roll .inlinerollresult.importantroll, +.sheet-rolltemplate-fs-GoalRoll .inlinerollresult.fullfail, +.sheet-rolltemplate-fs-GoalRoll .inlinerollresult.fullfail { + border: none; +} + +.sheet-rolltemplate-fs-GoalRoll .sheet-fs-critsuccess { + color: #3FB315; +} + +.sheet-rolltemplate-fs-GoalRoll .sheet-fs-success { + color: #205b0b; +} + +.sheet-rolltemplate-fs-GoalRoll .sheet-fs-failure { + color: #5b0b0b; +} + +.sheet-rolltemplate-fs-GoalRoll .sheet-fs-critfailure { + color: #B31515; +} + +.sheet-rolltemplate-fs-GoalRoll .sheet-fs-critsuccess .inlinerollresult, +.sheet-rolltemplate-fs-GoalRoll .sheet-fs-success .inlinerollresult, +.sheet-rolltemplate-fs-GoalRoll .sheet-fs-failure .inlinerollresult, +.sheet-rolltemplate-fs-GoalRoll .sheet-fs-critfailure .inlinerollresult { + font-weight: bold; +} + + +.sheet-fs-w100 { + width: 100%; +} + +.sheet-fs-h100 { + height: 100%; +} + +.sheet-fs-autoexpand > input, +.sheet-fs-autoexpand > textarea { + width: 100%; +} + +.sheet-fs-baseinfo { + @include main-3-columns; +} + +.sheet-fs-name-grid { + @include localgrid; + + grid-template: + "name_ name_" + "planet-label planet-value" / max-content 1fr; +} + +.sheet-fs-name { + grid-area: name_; +} + +label.sheet-fs-planet { + grid-area: planet-label; + @include indented; +} + +input.sheet-fs-planet { + grid-area: planet-value; +} + +.sheet-fs-rank-grid { + @include localgrid; + + grid-template: + "rank rank" + "birthdate-label birthdate-value" / max-content 1fr; +} + +.sheet-fs-rank { + grid-area: rank; +} + +label.sheet-fs-birthdate { + grid-area: birthdate-label; + @include indented; +} + +input.sheet-fs-birthdate { + grid-area: birthdate-value; +} + +.sheet-fs-species-grid { + @include localgrid; + + grid-template: + "species species species species" + "size-label size-value speed-label speed-value" / max-content 1fr max-content 1fr; +} + +.sheet-fs-species { + grid-area: species; +} + +label.sheet-fs-size { + grid-area: size-label; + @include indented; +} + +input.sheet-fs-size { + grid-area: size-value; +} + +label.sheet-fs-speed { + grid-area: speed-label; + @include indented; +} + +input.sheet-fs-speed { + grid-area: speed-value; +} + +.sheet-fs-lifepath { + @include main-3-columns; +} + +.sheet-fs-class-grid { + @include localgrid; + + grid-template: + "class1 levelvalue" + "class2 levelvalue" + "levellabel levelvalue" / 1fr max-content; +} +.sheet-fs-class1 { + grid-area: class1; +} + +.sheet-fs-class2 { + grid-area: class2; +} + +label.sheet-fs-level { + grid-area: levellabel; + @include indented; +} + +input[type=number].sheet-fs-level { + grid-area: levelvalue; + width: $level-box-width; + max-width: $level-box-width; + height: 100%; +} + +.sheet-fs-faction-grid { + @include localgrid; + + grid-template: + "faction faction" + "blessing-label blessing-value" + "curse-label curse-value" / max-content 1fr; +} + +.sheet-fs-faction { + grid-area: faction; +} + +label.sheet-fs-blessing { + grid-area: blessing-label; + @include indented; +} + +input.sheet-fs-blessing { + grid-area: blessing-value; +} + +label.sheet-fs-curse { + grid-area: curse-label; + @include indented; +} + +input.sheet-fs-curse { + grid-area: curse-value; +} + +.sheet-fs-calling-grid { + @include localgrid; + + grid-template-columns: 1fr; +} + + +.sheet-fs-traits { + @include main-3-columns; + + grid-template: + "skills-header skills-header characteristics" max-content + "skills-1 skills-2 characteristics" 1fr / 1fr 1fr 1fr; // TODO review these proportions later +} +.sheet-fs-skills-header { grid-area: skills-header; } + + +.sheet-fs-skill-col { + @include localgrid; + + grid-template-rows: $rollbutton-width max-content max-content; + + align-items: flex-start; + align-content: flex-start; + justify-items: flex-start; + justify-content: stretch; +} + +.sheet-fs-skills-1 { grid-area: skills-1; } +.sheet-fs-skills-2 { grid-area: skills-2; } + +.sheet-fs-characteristics { + grid-area: characteristics; + + display: flex; + flex-wrap: nowrap; + flex-direction: column; + + align-items: stretch; + align-content: flex-start; + justify-items: flex-start; + justify-content: space-between; +} + +.sheet-fs-characteristic, +.sheet-fs-skill { + display: inline-flex; + flex-direction: row; + flex-wrap: nowrap; + + align-content: center; + align-items: center; + justify-content: center; + align-self: stretch; + + width: 100%; + height: $default-line-height; +} + +.sheet-fs-characteristic-cat-grid { + @include localgrid; + + grid-template-columns: $rollbutton-width 1fr max-content; + grid-auto-flow: row; +} + +@mixin nowrap-w100 { + width:100%; + display: inline-flex; + flex-direction: row; + flex-wrap: nowrap; + align-content: center; + align-items: center; + justify-content: flex-start; + align-self: stretch; +} + +.sheet-fs-nowrap-w100 { + @include nowrap-w100; +} + +.sheet-fs-text-align-end { + width: 100%; + text-align: end; +} + +.sheet-fs-characteristic .sheet-fs-characteristic-label, +.sheet-fs-characteristic .sheet-fs-characteristic-label span, +.sheet-fs-skill .sheet-fs-skill-label, +.sheet-fs-skill .sheet-fs-skill-label span, +.sheet-fs-skill .sheet-fs-skill-label input { + white-space: nowrap; + width: 100%; + overflow-x: hidden; + text-overflow: ellipsis; +} +.sheet-fs-skill + .sheet-fs-col { + width: 100%; +} + +.sheet-fs-skill > div.sheet-fs-skill-normal { + @include localgrid; + + grid-template-columns: $rollbutton-width max-content 1fr; + + position: relative; + overflow: visible; +} +.sheet-fs-skill > div.sheet-fs-skill-normal > button.sheet-fs-d20 + div.sheet-fs-skill-roll-characteristic-choice { + display: none; +} +.sheet-fs-skill > div.sheet-fs-skill-normal > button.sheet-fs-d20:hover + div.sheet-fs-skill-roll-characteristic-choice, +.sheet-fs-skill > div.sheet-fs-skill-normal > button.sheet-fs-d20 + div.sheet-fs-skill-roll-characteristic-choice:hover { + position: absolute; + z-index: 5; + top: 0px; + left: calc(#{$rollbutton-width} - 1px); + + background-color: #ffffff; + border-radius: 5px; + border: 1px solid $bordercolor; + padding: 2px; + width: max-content; + background: url(https://i.ibb.co/t3xLwhN/fs-sheet-background.jpg) 25% 25%; + background-attachment: scroll; + background-size: 850px; + display: grid; + grid-auto-flow: row; + grid-template-rows: max-content; +} +.sheet-fs-skill > div.sheet-fs-skill-normal > button.sheet-fs-d20:hover + div.sheet-fs-skill-roll-characteristic-choice > input, +.sheet-fs-skill > div.sheet-fs-skill-normal > button.sheet-fs-d20 + div.sheet-fs-skill-roll-characteristic-choice:hover > input { + height: $default-line-height; +} +.sheet-fs-skill > div.sheet-fs-skill-normal > button.sheet-fs-d20:hover + div.sheet-fs-skill-roll-characteristic-choice > div, +.sheet-fs-skill > div.sheet-fs-skill-normal > button.sheet-fs-d20 + div.sheet-fs-skill-roll-characteristic-choice:hover > div { + display: grid; + grid-auto-flow: column; + grid-template-rows: repeat(9, max-content); + align-items: center; +} +div.sheet-fs-skill-normal > button.sheet-fs-d20:hover + div.sheet-fs-skill-roll-characteristic-choice > div:nth-child(2), +div.sheet-fs-skill-normal > button.sheet-fs-d20 + div.sheet-fs-skill-roll-characteristic-choice:hover > div:nth-child(2), +div.sheet-fs-skill-normal > button.sheet-fs-d20:hover + div.sheet-fs-skill-roll-characteristic-choice > div:nth-child(5), +div.sheet-fs-skill-normal > button.sheet-fs-d20 + div.sheet-fs-skill-roll-characteristic-choice:hover > div:nth-child(5), +div.sheet-fs-skill-normal > button.sheet-fs-d20:hover + div.sheet-fs-skill-roll-characteristic-choice > div:nth-child(8), +div.sheet-fs-skill-normal > button.sheet-fs-d20 + div.sheet-fs-skill-roll-characteristic-choice:hover > div:nth-child(8) { + padding-top: 2px; + border-top: 1px solid black; + margin-top: 2px; +} + +.sheet-fs-occult { + @include main-3-columns; + width: 100%; + display: grid; + grid-column-gap: $section-column-gap; + + grid-template-columns: 1fr 1fr 1fr; // TODO review these proportions later + + align-items: stretch; + align-content: stretch; + justify-items: stretch; + justify-content: space-between; +} + +.sheet-fs-occult > div { + @include localgrid; + grid-auto-flow: column; + grid-auto-columns: 1fr max-content max-content 1fr; +} + +.sheet-fs-occult-left { + //width: calc(50% - $traitval-width); + text-align: end; +} + +.sheet-fs-occult-right { + //width: calc(50% - $traitval-width); + text-align: start; +} + +.sheet-fs-defenses { + width: 100%; + display: grid; + grid-column-gap: $section-column-gap; + + grid-template-columns: 1fr 1fr 1fr; // TODO review these proportions later + + align-items: stretch; + align-content: stretch; + justify-items: stretch; + justify-content: space-between; +} + +.sheet-fs-resistances-grid { + @include localgrid; + + grid-template-columns: max-content max-content 1fr; + grid-auto-flow: row; +} + +.sheet-fs-resistances-grid > label { + @include indented; +} + +.sheet-fs-armor-and-e-shield-grid { + @include localgrid; + grid-auto-flow: row; +} + +.sheet-fs-armor-and-e-shield-grid-row label.sheet-fs-uppercase-header { + display: inline-block; +} + +.sheet-fs-armor-and-e-shield-grid-row { + @include localgrid; + grid-auto-flow: column; +} + +.sheet-fs-armor-vs { + justify-content: end; +} + +.sheet-fs-armor-vs input[type=number]::placeholder { + font-size: 0.7em; +} + +.sheet-fs-e-shield-props { + justify-content: space-between; +} + +.sheet-fs-e-shield-props > label:nth-child(1), +.sheet-fs-e-shield-props > label:nth-child(5) { + @include indented; +} + +.sheet-fs-vita-and-revivals-grid { + @include localgrid; + + grid-template: + "vitality-header vitality-header vitality-header vitality-header" + "vitality-rating-label vitality-rating-value vitality-current-label vitality-current-value" + "revivals-header revivals-header revivals-header revivals-header" + "revivals-rating-label revivals-rating-value revivals-number-label revivals-number-value" / 1fr max-content 1fr max-content; +} + +.sheet-fs-vitality-header { + grid-area: vitality-header; +} + +label.sheet-fs-vitality-rating { + grid-area: vitality-rating-label; + @include indented; +} + +input.sheet-fs-vitality-rating { + grid-area: vitality-rating-value; +} + +label.sheet-fs-vitality-current { + grid-area: vitality-current-label; + @include indented; +} + +input.sheet-fs-vitality-current { + grid-area: vitality-current-value; +} + +.sheet-fs-revivals-header { + grid-area: revivals-header; +} + +label.sheet-fs-revivals-rating { + grid-area: revivals-rating-label; + @include indented; +} + +input.sheet-fs-revivals-rating { + grid-area: revivals-rating-value; +} + +label.sheet-fs-revivals-number { + grid-area: revivals-number-label; + @include indented; +} + +input.sheet-fs-revivals-number { + grid-area: revivals-number-value; +} + +.sheet-fs-actions-vp-bank-and-surge { + width: 100%; + display: grid; + grid-template-columns: 1fr max-content; // TODO review these proportions later + grid-column-gap: $section-column-gap; + + align-items: stretch; + align-content: stretch; + justify-items: stretch; + justify-content: space-between; +} + +.sheet-fs-table { + display: grid; + grid-auto-flow: row; + min-width:100%; + margin-bottom: $localgrid-gap; +} + +.sheet-fs-table fieldset, +.sheet-fs-table .repcontainer, +.sheet-fs-table .repitem { + display: contents; +} + +.sheet-fs-table input[type=number] { + width: 100%; +} + +.sheet-fs-table input { + min-width: 10px; + width: auto; +} + +.sheet-fs-table-head { + /*background-color: #4a6486; + color: white;*/ + font-weight: bold; + white-space: nowrap; + padding-left: 1px; + padding-right: 1px; +} +.sheet-fs-table-cell { + grid-column: auto / span 1; +} + +.sheet-fs-table .itemcontrol { + height: auto !important; /* TODO try without this to see if something bad happens */ +} + +.sheet-fs-table .repcontrol { grid-column: 1 / -1 } + +.sheet-fs-actions .sheet-fs-table { + @include localgrid; + grid-template-columns: $rollbutton-width 1fr 98px 143px $goal-bonus-manul-col-width; +} + +.sheet-fs-actions .sheet-fs-table > input { + width: 100%; + max-width: 100%; +} + +.sheet-fs-vp-and-surge-grids { + @include localgrid; + grid-template-columns: 1fr max-content; + grid-auto-flow: row; +} + +.sheet-fs-vp-and-surge-grids > label { + @include indented; +} + +.sheet-fs-perks-capabilities-and-birthrights { + @include main-2-columns; +} + +.sheet-fs-possessions { + @include localgrid; + grid-auto-flow: row; +} + +.sheet-fs-possessions-header { + @include localgrid; + grid-template-columns: 1fr max-content max-content; + grid-auto-flow: column; +} + +.sheet-fs-possessions-header > input:nth-child(3) { + margin-right: $equipment-size-column + $localgrid-gap; +} + +.sheet-fs-carried-equipment { + @include main-2-columns; +} + +.sheet-fs-carried-equipment .sheet-fs-table { + @include localgrid; + grid-template-columns: 1fr $traitval-width $equipment-size-column; +} + +.sheet-fs-carried-equipment .sheet-fs-table label:nth-child(2), +.sheet-fs-carried-equipment .sheet-fs-table input:nth-child(2), +.sheet-fs-carried-equipment .sheet-fs-table label:nth-child(3), +.sheet-fs-carried-equipment .sheet-fs-table input:nth-child(3) { + text-align: center; +} + +.sheet-fs-carried-weapons .sheet-fs-table { + @include localgrid; + grid-template-columns: 1fr $traitval-width $goal-bonus-manul-col-width 50px $traitval-width 60px $traitval-width $ammo-col-width 1fr; +} + +.sheet-fs-carried-weapons .sheet-fs-table > input[type=number]:nth-child(8) { + width: $ammo-col-width; + max-width: $ammo-col-width; +} + +.sheet-fs-carried-weapons .sheet-fs-table label:nth-child(2), +.sheet-fs-carried-weapons .sheet-fs-table input:nth-child(2), +.sheet-fs-carried-weapons .sheet-fs-table label:nth-child(3), +.sheet-fs-carried-weapons .sheet-fs-table input:nth-child(3), +.sheet-fs-carried-weapons .sheet-fs-table label:nth-child(4), +.sheet-fs-carried-weapons .sheet-fs-table input:nth-child(4), +.sheet-fs-carried-weapons .sheet-fs-table label:nth-child(5), +.sheet-fs-carried-weapons .sheet-fs-table input:nth-child(5), +.sheet-fs-carried-weapons .sheet-fs-table label:nth-child(6), +.sheet-fs-carried-weapons .sheet-fs-table input:nth-child(6), +.sheet-fs-carried-weapons .sheet-fs-table label:nth-child(7), +.sheet-fs-carried-weapons .sheet-fs-table input:nth-child(7), +.sheet-fs-carried-weapons .sheet-fs-table label:nth-child(8), +.sheet-fs-carried-weapons .sheet-fs-table input:nth-child(8) { + text-align: center; +} + +.sheet-fs-owned { + @include main-2-columns; +} + +.sheet-fs-owned .sheet-fs-table { + @include localgrid; + grid-template-columns: 1fr 0.5fr; +} + +.sheet-fs-money { + @include localgrid; + grid-auto-flow: row; +} + +.sheet-fs-money-header { + @include localgrid; + grid-template-columns: 1fr max-content 150px; + grid-auto-flow: column; +} + +.sheet-fs-money-header > div { + display: flex; + flex-direction: row; + white-space: nowrap; +} + +.sheet-fs-assets { + @include main-2-columns; +} + +.sheet-fs-assets .sheet-fs-table { + @include localgrid; + grid-template-columns: 1fr 0.5fr; +} + +.sheet-fs-notes { + grid-column: 1 / -1; + margin-left: 15px; + width:calc(100% - 15px); + max-height: 0px; + position: relative; +} + +.sheet-fs-notes:focus, +.sheet-fs-notes:focus-within, +.sheet-fs-notes:active, +.sheet-fs-table input:active ~ .sheet-fs-notes, +.sheet-fs-table input:focus ~ .sheet-fs-notes, +.sheet-fs-table input:focus-within ~ .sheet-fs-notes, +.sheet-fs-table select:active ~ .sheet-fs-notes, +.sheet-fs-table select:focus ~ .sheet-fs-notes, +.sheet-fs-table select:focus-within ~ .sheet-fs-notes { + min-height: 4em; + max-height: initial; + resize: vertical; + overflow:auto; + align-self: stretch; +} + +.sheet-fs-auto-expand-textarea { + cursor: text; + word-wrap: break-word; +} + +.sheet-fs-notes > .sheet-fs-auto-expand-textarea { + visibility: collapse; +} + +// hack for Firefox due to focus events on invisible elements not been registered it seems. +// We need to keep it visible for >0ms for the click to be registered. +.sheet-fs-notes > .sheet-fs-auto-expand-textarea { + -moz-transition: visibility 0s linear 1ms; +} + +.sheet-fs-notes:focus > .sheet-fs-auto-expand-textarea, +.sheet-fs-notes:focus-within > .sheet-fs-auto-expand-textarea, +.sheet-fs-notes:active > .sheet-fs-auto-expand-textarea, +.sheet-fs-table input:active ~ .sheet-fs-notes > .sheet-fs-auto-expand-textarea, +.sheet-fs-table input:focus ~ .sheet-fs-notes > .sheet-fs-auto-expand-textarea, +.sheet-fs-table input:focus-within ~ .sheet-fs-notes > .sheet-fs-auto-expand-textarea, +.sheet-fs-table select:active ~ .sheet-fs-notes > .sheet-fs-auto-expand-textarea, +.sheet-fs-table select:focus ~ .sheet-fs-notes > .sheet-fs-auto-expand-textarea, +.sheet-fs-table select:focus-within ~ .sheet-fs-notes > .sheet-fs-auto-expand-textarea { + visibility: visible; +} + +.sheet-fs-auto-expand-textarea span { + visibility: hidden; + white-space: pre-wrap; + display: block; +} + +.sheet-fs-auto-expand-textarea textarea { + position: absolute; + z-index: 1; + top: 0; + left: 0; + margin: 0; + overflow: hidden; + height: 100%; + width: 100%; +} + +.sheet-fs-relative { + position: relative; +} + +.sheet-fs-supertall-textarea { + min-height: 300px; + max-height: initial; + resize: vertical; + overflow:auto; + align-self: stretch; +} + +.sheet-fs-header, +.sheet-fs-footer { + height: 10px; +} diff --git a/Fading Suns 4th Edition - Pax Alexius/src/prepros.config b/Fading Suns 4th Edition - Pax Alexius/src/prepros.config new file mode 100644 index 0000000000..492b2c44d3 --- /dev/null +++ b/Fading Suns 4th Edition - Pax Alexius/src/prepros.config @@ -0,0 +1,888 @@ +{ + "version": "7", + "about": "This is a Prepros (https://prepros.io) configuration file. You can commit this file to a git repo to backup and sync project configurations.", + "config": { + "proxy": { + "enable": false, + "target": "", + "useLocalAssets": false + }, + "reload": { + "enable": true, + "delay": 0, + "animate": true, + "afterUpload": false + }, + "sync": { + "enable": false, + "mouse": true, + "keyboard": true, + "form": true, + "scroll": true + }, + "watcher": { + "enable": true, + "maxFiles": 2000, + "usePolling": false, + "pollingInterval": 500, + "extensions": [ + ".html", + ".htm", + ".php" + ], + "ignore": { + "patterns": [ + ".*", + "wp-admin", + "wp-includes", + "node_modules", + "Prepros Export", + "bower_components" + ], + "exceptions": [] + } + }, + "exporter": { + "ignore": { + "patterns": [ + ".*", + "desktop.ini", + "prepros.cfg", + "node_modules", + "Prepros Export", + "prepros.config", + "prepros-6.config", + "*-original.jpg", + "*-original.jpeg", + "*-original.png", + "*-original.svg", + "*.scss", + "*.sass", + "*.less", + "*.pug", + "*.jade", + "*.styl", + "*.haml", + "*.slim", + "*.coffee", + "*.kit", + "*.turf", + "*.ts" + ], + "exceptions": [] + } + }, + "uploader": { + "remotePath": "", + "timeout": 20000, + "autoUpload": false, + "connectionType": "ftp", + "history": [] + }, + "packages": { + "createPackageLock": true + }, + "tasks": { + "autoprefixer": { + "cascade": true, + "add": true, + "remove": true, + "supports": true, + "flexbox": true, + "grid": "autoplace", + "browsers": [ + "> 2%", + "not dead" + ], + "sourceMap": false + }, + "babel": { + "sourceMap": false, + "presets": { + "@babel/preset-env": { + "enable": true, + "options": { + "targets": [ + "> 2%", + "not dead" + ], + "preserveImports": false + } + }, + "@babel/preset-react": true, + "@babel/preset-flow": false + }, + "plugins": { + "@babel/plugin-proposal-class-properties": false, + "@babel/plugin-proposal-decorators": { + "enable": false, + "options": { + "decoratorsBeforeExport": true + } + }, + "@babel/plugin-proposal-export-namespace-from": false, + "@babel/plugin-proposal-function-sent": false, + "@babel/plugin-proposal-nullish-coalescing-operator": false, + "@babel/plugin-proposal-numeric-separator": false, + "@babel/plugin-proposal-optional-chaining": false, + "@babel/plugin-proposal-private-methods": false, + "@babel/plugin-proposal-throw-expressions": false + }, + "customPresets": [], + "customPlugins": [] + }, + "bundle-js": { + "sourceMap": false, + "exclude": [ + "node_modules", + "bower_components" + ], + "devMode": true, + "globals": [], + "externals": [], + "babel": { + "enable": true, + "options": { + "sourceMap": false, + "presets": { + "@babel/preset-env": { + "enable": true, + "options": { + "targets": [ + "> 2%", + "not dead" + ], + "preserveImports": false + } + }, + "@babel/preset-react": true, + "@babel/preset-flow": false + }, + "plugins": { + "@babel/plugin-proposal-class-properties": false, + "@babel/plugin-proposal-decorators": { + "enable": false, + "options": { + "decoratorsBeforeExport": true + } + }, + "@babel/plugin-proposal-export-namespace-from": false, + "@babel/plugin-proposal-function-sent": false, + "@babel/plugin-proposal-nullish-coalescing-operator": false, + "@babel/plugin-proposal-numeric-separator": false, + "@babel/plugin-proposal-optional-chaining": false, + "@babel/plugin-proposal-private-methods": false, + "@babel/plugin-proposal-throw-expressions": false + }, + "customPresets": [], + "customPlugins": [] + } + }, + "css": { + "enable": true + }, + "fonts": { + "enable": true + } + }, + "coffeescript": { + "header": false, + "bare": false, + "sourceMap": false + }, + "command": { + "command": "", + "rootDir": "" + }, + "concat-js": { + "sourceMap": false, + "rootDir": "" + }, + "copy": { + "sourceMap": false + }, + "dart-sass": { + "indentType": "space", + "indentWidth": 2, + "linefeed": "lf", + "sourceMap": false + }, + "haml": { + "doubleQuoteAttributes": true + }, + "jpg": { + "quality": 90 + }, + "less": { + "javascriptEnabled": false, + "strictImports": false, + "insecure": false, + "math": "always", + "strictUnits": false, + "dumpLineNumbers": false, + "sourceMap": false + }, + "markdown": { + "githubFlavored": true, + "wrapWithHtml": false + }, + "minify-css": { + "sourceMap": false + }, + "minify-html": { + "caseSensitive": false, + "collapseBooleanAttributes": true, + "collapseInlineTagWhitespace": false, + "collapseWhitespace": true, + "conservativeCollapse": false, + "decodeEntities": false, + "html5": true, + "includeAutoGeneratedTags": true, + "keepClosingSlash": false, + "minifyCSS": true, + "minifyJS": true, + "preserveLineBreaks": false, + "preventAttributesEscaping": false, + "processConditionalComments": false, + "removeAttributeQuotes": false, + "removeComments": true, + "removeEmptyAttributes": false, + "removeEmptyElement": false, + "removeOptionalTags": false, + "removeRedundantAttributes": false, + "removeScriptTypeAttributes": false, + "removeStyleLinkTypeAttributes": false, + "removeTagWhitespace": false, + "sortAttributes": false, + "sortClassName": false, + "useShortDoctype": true + }, + "minify-js": { + "parse": { + "bare_returns": false + }, + "compress": { + "arrows": true, + "arguments": false, + "booleans": true, + "booleans_as_integers": false, + "collapse_vars": true, + "comparisons": true, + "computed_props": true, + "conditionals": true, + "dead_code": true, + "directives": true, + "drop_console": false, + "drop_debugger": true, + "evaluate": true, + "expression": false, + "global_defs": [], + "hoist_funs": false, + "hoist_props": true, + "hoist_vars": false, + "if_return": true, + "inline": 3, + "join_vars": true, + "keep_fargs": true, + "keep_infinity": false, + "loops": true, + "negate_iife": true, + "properties": true, + "pure_funcs": [], + "pure_getters": false, + "reduce_vars": true, + "sequences": true, + "side_effects": true, + "switches": true, + "top_retain": [], + "typeofs": true, + "unsafe": false, + "unsafe_arrows": false, + "unsafe_comps": false, + "unsafe_Function": false, + "unsafe_math": false, + "unsafe_proto": false, + "unsafe_regexp": false, + "unsafe_undefined": false, + "unused": true + }, + "mangle": { + "eval": false, + "reserved": [] + }, + "output": { + "ascii_only": false, + "braces": false, + "comments": "none", + "inline_script": true, + "keep_numbers": false, + "keep_quoted_props": false, + "preamble": null, + "quote_keys": false, + "quote_style": 0, + "semicolons": true, + "shebang": true, + "webkit": false, + "wrap_iife": false, + "wrap_func_args": true + }, + "sourceMap": false, + "toplevel": false, + "ie8": false, + "keep_classnames": false, + "keep_fnames": false, + "safari10": false + }, + "node-sass": { + "indentType": "space", + "indentWidth": 2, + "linefeed": "lf", + "outputStyle": "expanded", + "precision": 10, + "sourceMap": false, + "sourceComments": false + }, + "png": { + "quality": 90 + }, + "pug": { + "pretty": true + }, + "slim": { + "indent": "space", + "indentSize": 2, + "pretty": true + }, + "stylus": { + "useNib": true, + "sourceMap": false, + "linenos": false + }, + "svg": { + "cleanupAttrs": true, + "removeDoctype": true, + "removeXMLProcInst": true, + "removeComments": true, + "removeMetadata": true, + "removeTitle": true, + "removeDesc": true, + "removeUselessDefs": true, + "removeEditorsNSData": true, + "removeEmptyAttrs": true, + "removeHiddenElems": true, + "removeEmptyText": true, + "removeEmptyContainers": true, + "removeViewBox": false, + "cleanupEnableBackground": true, + "convertStyleToAttrs": true, + "convertColors": true, + "convertPathData": true, + "convertTransform": true, + "removeUnknownsAndDefaults": true, + "removeNonInheritableGroupAttrs": true, + "removeUselessStrokeAndFill": true, + "removeUnusedNS": true, + "cleanupIDs": true, + "cleanupNumericValues": true, + "moveElemsAttrsToGroup": true, + "moveGroupAttrsToElems": true, + "collapseGroups": true, + "removeRasterImages": false, + "mergePaths": true, + "convertShapeToPath": true, + "sortAttrs": true, + "removeDimensions": true + }, + "turf": { + "rootDir": "" + }, + "typescript": { + "allowJs": false, + "allowSyntheticDefaultImports": true, + "allowUmdGlobalAccess": false, + "allowUnreachableCode": false, + "allowUnusedLabels": false, + "alwaysStrict": false, + "charset": "utf8", + "checkJs": false, + "declaration": false, + "disableSizeLimit": false, + "downlevelIteration": false, + "emitBOM": false, + "emitDecoratorMetadata": false, + "experimentalDecorators": false, + "forceConsistentCasingInFileNames": false, + "importHelpers": false, + "jsx": "React", + "keyofStringsOnly": false, + "lib": [], + "maxNodeModuleJsDepth": 0, + "module": "ES2015", + "moduleResolution": "NodeJs", + "newLine": "LineFeed", + "noFallthroughCasesInSwitch": false, + "noImplicitAny": false, + "noImplicitReturns": false, + "noImplicitThis": false, + "noStrictGenericChecks": false, + "noUnusedLocals": false, + "noUnusedParameters": false, + "noImplicitUseStrict": false, + "noLib": false, + "noResolve": false, + "preserveConstEnums": false, + "jsxFactory": "React.createElement", + "removeComments": false, + "skipLibCheck": false, + "sourceMap": false, + "strict": false, + "strictFunctionTypes": false, + "strictBindCallApply": false, + "strictNullChecks": false, + "strictPropertyInitialization": false, + "suppressExcessPropertyErrors": false, + "suppressImplicitAnyIndexErrors": false, + "target": "ES3", + "resolveJsonModule": false, + "esModuleInterop": false, + "useDefineForClassFields": false + } + }, + "fileTypes": { + "sass": { + "extensions": [ + ".scss", + ".sass" + ], + "autoCompile": true, + "sourceMap": false, + "tasks": [ + { + "task": "dart-sass", + "enable": true + }, + { + "task": "autoprefixer", + "enable": true + }, + { + "task": "minify-css", + "enable": false + } + ], + "output": { + "extension": ".css", + "type": "REPLACE_SEGMENTS", + "segments": [ + { + "segment": "scss", + "replaceWith": "css" + }, + { + "segment": "sass", + "replaceWith": "css" + } + ] + } + }, + "less": { + "extensions": [ + ".less" + ], + "autoCompile": true, + "sourceMap": false, + "tasks": [ + { + "task": "less", + "enable": true + }, + { + "task": "autoprefixer", + "enable": true + }, + { + "task": "minify-css", + "enable": false + } + ], + "output": { + "extension": ".css", + "type": "REPLACE_SEGMENTS", + "segments": [ + { + "segment": "less", + "replaceWith": "css" + } + ] + } + }, + "pug": { + "extensions": [ + ".pug", + ".jade" + ], + "autoCompile": true, + "tasks": [ + { + "task": "pug", + "enable": true + }, + { + "task": "minify-html", + "enable": false + } + ], + "output": { + "extension": ".html", + "type": "REPLACE_SEGMENTS", + "segments": [ + { + "segment": "pug", + "replaceWith": "html" + } + ] + } + }, + "css": { + "extensions": [ + ".css" + ], + "autoCompile": false, + "sourceMap": false, + "tasks": [ + { + "task": "copy", + "enable": true + }, + { + "task": "autoprefixer", + "enable": true + }, + { + "task": "minify-css", + "enable": true + } + ], + "output": { + "extension": ".css", + "type": "SOURCE_RELATIVE", + "relativePath": "", + "suffix": "-dist", + "alwaysSuffix": false + } + }, + "javascript": { + "extensions": [ + ".js", + ".jsx" + ], + "autoCompile": false, + "sourceMap": false, + "tasks": [ + { + "task": "copy", + "enable": true + }, + { + "task": "concat-js", + "enable": false + }, + { + "task": "babel", + "enable": false + }, + { + "task": "bundle-js", + "enable": false + }, + { + "task": "minify-js", + "enable": true + } + ], + "output": { + "extension": ".js", + "type": "SOURCE_RELATIVE", + "relativePath": "", + "suffix": "-dist", + "alwaysSuffix": false + } + }, + "stylus": { + "extensions": [ + ".styl" + ], + "autoCompile": true, + "sourceMap": false, + "tasks": [ + { + "task": "stylus", + "enable": true + }, + { + "task": "autoprefixer", + "enable": true + }, + { + "task": "minify-css", + "enable": false + } + ], + "output": { + "extension": ".css", + "type": "REPLACE_SEGMENTS", + "segments": [ + { + "segment": "stylus", + "replaceWith": "css" + }, + { + "segment": "styl", + "replaceWith": "css" + } + ] + } + }, + "markdown": { + "extensions": [ + ".md", + ".markdown", + ".mkd" + ], + "autoCompile": false, + "tasks": [ + { + "task": "markdown", + "enable": true + }, + { + "task": "minify-html", + "enable": false + } + ], + "output": { + "extension": ".html", + "type": "REPLACE_SEGMENTS", + "segments": [ + { + "segment": "markdown", + "replaceWith": "html" + } + ] + } + }, + "haml": { + "extensions": [ + ".haml" + ], + "autoCompile": true, + "tasks": [ + { + "task": "haml", + "enable": true + }, + { + "task": "minify-html", + "enable": false + } + ], + "output": { + "extension": ".html", + "type": "REPLACE_SEGMENTS", + "segments": [ + { + "segment": "haml", + "replaceWith": "html" + } + ] + } + }, + "slim": { + "extensions": [ + ".slim" + ], + "autoCompile": true, + "tasks": [ + { + "task": "slim", + "enable": true + }, + { + "task": "minify-html", + "enable": false + } + ], + "output": { + "extension": ".html", + "type": "REPLACE_SEGMENTS", + "segments": [ + { + "segment": "slim", + "replaceWith": "html" + } + ] + } + }, + "coffeescript": { + "extensions": [ + ".coffee" + ], + "autoCompile": true, + "sourceMap": false, + "tasks": [ + { + "task": "coffeescript", + "enable": true + }, + { + "task": "babel", + "enable": false + }, + { + "task": "bundle-js", + "enable": false + }, + { + "task": "minify-js", + "enable": false + } + ], + "output": { + "extension": ".js", + "type": "REPLACE_SEGMENTS", + "segments": [ + { + "segment": "coffee-script", + "replaceWith": "js" + }, + { + "segment": "coffeescript", + "replaceWith": "js" + }, + { + "segment": "coffee", + "replaceWith": "js" + } + ] + } + }, + "turf": { + "extensions": [ + ".turf", + ".kit" + ], + "autoCompile": true, + "tasks": [ + { + "task": "turf", + "enable": true + }, + { + "task": "minify-html", + "enable": false + } + ], + "output": { + "extension": ".html", + "type": "REPLACE_SEGMENTS", + "segments": [ + { + "segment": "turf", + "replaceWith": "html" + } + ] + } + }, + "typescript": { + "extensions": [ + ".ts", + ".tsx" + ], + "autoCompile": true, + "sourceMap": false, + "tasks": [ + { + "task": "typescript", + "enable": true + }, + { + "task": "babel", + "enable": false + }, + { + "task": "bundle-js", + "enable": false + }, + { + "task": "minify-js", + "enable": false + } + ], + "output": { + "extension": ".js", + "type": "REPLACE_SEGMENTS", + "segments": [ + { + "segment": "typescript", + "replaceWith": "js" + }, + { + "segment": "ts", + "replaceWith": "js" + } + ] + } + }, + "jpg": { + "extensions": [ + ".jpg", + ".jpeg" + ], + "tasks": [ + { + "task": "jpg", + "enable": true + } + ], + "output": { + "extension": ".jpg", + "type": "SOURCE_RELATIVE", + "relativePath": "" + } + }, + "png": { + "extensions": [ + ".png" + ], + "tasks": [ + { + "task": "png", + "enable": true + } + ], + "output": { + "extension": ".png", + "type": "SOURCE_RELATIVE", + "relativePath": "" + } + }, + "svg": { + "extensions": [ + ".svg" + ], + "tasks": [ + { + "task": "svg", + "enable": true + } + ], + "output": { + "extension": ".svg", + "type": "SOURCE_RELATIVE", + "relativePath": "" + } + } + }, + "files": [] + } +} diff --git a/Fading Suns 4th Edition - Pax Alexius/src/roll-templates.html b/Fading Suns 4th Edition - Pax Alexius/src/roll-templates.html new file mode 100644 index 0000000000..6fa428a82f --- /dev/null +++ b/Fading Suns 4th Edition - Pax Alexius/src/roll-templates.html @@ -0,0 +1,61 @@ +
+ + +
+ + {{#skillName-i18n}} + {{#rollGreater() bonus_penalty 0}} +

{{characteristicName-i18n}} + {{skillName-i18n}} +{{bonus_penalty}} ({{goal}})

+ {{/rollGreater() bonus_penalty 0}} + {{#rollTotal() bonus_penalty 0}} +

{{characteristicName-i18n}} + {{skillName-i18n}} ({{goal}})

+ {{/rollTotal() bonus_penalty 0}} + {{#^rollGreater() bonus_penalty -1}} +

{{characteristicName-i18n}} + {{skillName-i18n}} {{bonus_penalty}} ({{goal}})

+ {{/^rollGreater() bonus_penalty -1}} + {{/skillName-i18n}} + {{^skillName-i18n}} + {{#rollGreater() bonus_penalty 0}} +

{{characteristicName-i18n}} +{{bonus_penalty}} ({{goal}})

+ {{/rollGreater() bonus_penalty 0}} + {{#rollTotal() bonus_penalty 0}} +

{{characteristicName-i18n}} ({{goal}})

+ {{/rollTotal() bonus_penalty 0}} + {{#^rollGreater() bonus_penalty -1}} +

{{characteristicName-i18n}} {{bonus_penalty}} ({{goal}})

+ {{/^rollGreater() bonus_penalty -1}} + {{/skillName-i18n}} + + {{#title}}

[ {{title}} ]

{{/title}} + +
+ + {{#^rollGreater() roll goal}} + {{#^rollGreater() roll 19}} + {{#rollWasCrit() roll}} + {{roll}} VP. Critical success! + {{/rollWasCrit() roll}} + {{#^rollWasCrit() roll}} + {{roll}} VP. Success! + {{/^rollWasCrit() roll}} + {{/^rollGreater() roll 19}} + {{/^rollGreater() roll goal}} + + {{#rollGreater() roll goal}} + {{#rollTotal() roll 1}} + {{roll}} VP. Success! + {{/rollTotal() roll 1}} + {{#^rollTotal() roll 1}} + {{#^rollGreater() roll 19}} + {{roll}}. Failure! + {{/^rollGreater() roll 19}} + {{/^rollTotal() roll 1}} + {{/rollGreater() roll goal}} + + {{#rollTotal() roll 20}} + {{roll}}. Critical failure! + {{/rollTotal() roll 20}} +
+
+ +
diff --git a/Fading Suns 4th Edition - Pax Alexius/src/sheet-workers.html b/Fading Suns 4th Edition - Pax Alexius/src/sheet-workers.html new file mode 100644 index 0000000000..c6cf6448eb --- /dev/null +++ b/Fading Suns 4th Edition - Pax Alexius/src/sheet-workers.html @@ -0,0 +1,106 @@ + diff --git a/Fading Suns 4th Edition - Pax Alexius/translation.json b/Fading Suns 4th Edition - Pax Alexius/translation.json new file mode 100644 index 0000000000..521ec13fcb --- /dev/null +++ b/Fading Suns 4th Edition - Pax Alexius/translation.json @@ -0,0 +1,132 @@ +{ + "name": "Name", + "planet": "Planet", + "rank": "Rank", + "birthdate": "Birthdate", + "species": "Species", + "size": "Size", + "speed": "Speed", + "class": "Class", + "level": "Level", + "faction": "Faction", + "blessing": "Blessing", + "curse": "Curse", + "calling": "Calling", + "traits": "Traits", + "skills": "Skills", + "academia": "Academia", + "alchemy": "Alchemy", + "animalia": "Animalia", + "arts": "Arts", + "charm": "Charm", + "crafts": "Crafts", + "disguise": "Disguise", + "drive": "Drive", + "empathy": "Empathy", + "fight": "Fight", + "focus": "Focus", + "impress": "Impress", + "interface": "Interface", + "intrusion": "Intrusion", + "knavery": "Knavery", + "melee": "Melee", + "observe": "Observe", + "perform": "Perform", + "pilot": "Pilot", + "remedy": "Remedy", + "shoot": "Shoot", + "sleight_of_hand": "Sleight of Hand", + "sneak": "Sneak", + "survival": "Survival", + "tech_redemption": "Tech Redemption", + "vigor": "Vigor", + "body": "Body", + "strength": "Strength", + "dexterity": "Dexterity", + "endurance": "Endurance", + "mind": "Mind", + "wits": "Wits", + "perception": "Perception", + "will": "Will", + "spirit": "Spirit", + "presence": "Presence", + "intuition": "Intuition", + "faith": "Faith", + "occult": "Occult", + "psi": "Psi", + "urge": "Urge", + "theurgy": "Theurgy", + "hubris": "Hubris", + "resistances": "Resistances", + "resistance_modifier": "Mod.", + "armor": "Armor", + "blaster_s": "Blstr.", + "flame_s": "Flm.", + "hard_s": "Hrd.", + "laser_s": "Lsr.", + "shock_s": "Shk.", + "slam_s": "Slm.", + "sonic_s": "Son.", + "e_shield": "E-Shield", + "e_shield_thresholds": "Thresholds", + "e_shield_hits": "Hits", + "vitality": "Vitality", + "rating": "Rating", + "current": "Current", + "revivals": "Revivals", + "number": "Number", + "actions": "Actions", + "action": "Maneuver/Attack", + "characteristic": "Characteristic", + "skill": "Skill", + "goal_bonus_penalty": "Goal +/-", + "goal": "Goal", + "impact_notes": "Impact / Notes", + "vp_bank": "VP Bank", + "vp_bank_capacity": "Capacity", + "current_vp": "Current VP", + "current_wp": "Current WP", + "surge": "Surge", + "surge_rating": "Rating", + "surge_number": "Number", + "perks": "Perks", + "perk_name": "Perk", + "perk_notes": "Description / Notes", + "capabilities": "Capabilities", + "capability_name": "Capability", + "capability_notes": "Description / Notes", + "birthrights": "Birthrights", + "birthright_name": "Birthright", + "birthright_notes": "Description", + "possessions": "Possessions", + "techgnosis": "Techgnosis", + "carried_equipment": "Carried Equipment", + "tech_level_s": "TL", + "equipment_size": "Size", + "carried_weapons": "Carried Weapons", + "damage_s": "Dmg.", + "strength_s": "Str.", + "range_s": "Rng.", + "rate_of_fire_s": "RoF", + "ammunition_s": "Ammo", + "weapon_features": "Features", + "owned": "Owned", + "location": "Location", + "money": "Money", + "cash": "Cash", + "asset": "Asset", + "income": "Income", + "last_notes": "Last Notes", + "additional_vp": "additional VP", + "victory_points": "VP", + "the_end": "Fin.", + "failure": "Failure!", + "critical_failure_q": "Critical failure?", + "critical_failure": "Critical failure!", + "noncritical_failure": "Non-critical failure", + "critical_success": "Critical success!", + "success": "Success!", + "roll_again": "Reroll", + "confirm": "Confirm", + "notes": "Notes" +} diff --git a/Fading Suns 4th Edition - Pax Alexius/translations/en.json b/Fading Suns 4th Edition - Pax Alexius/translations/en.json new file mode 100644 index 0000000000..079e03dd69 --- /dev/null +++ b/Fading Suns 4th Edition - Pax Alexius/translations/en.json @@ -0,0 +1,126 @@ +{ + "name": "Name", + "planet": "Planet", + "rank": "Rank", + "birthdate": "Birthdate", + "species": "Species", + "size": "Size", + "speed": "Speed", + "class": "Class", + "level": "Level", + "faction": "Faction", + "blessing": "Blessing", + "curse": "Curse", + "calling": "Calling", + "traits": "Traits", + "skills": "Skills", + "academia": "Academia", + "alchemy": "Alchemy", + "animalia": "Animalia", + "arts": "Arts", + "charm": "Charm", + "crafts": "Crafts", + "disguise": "Disguise", + "drive": "Drive", + "empathy": "Empathy", + "fight": "Fight", + "focus": "Focus", + "impress": "Impress", + "interface": "Interface", + "intrusion": "Intrusion", + "knavery": "Knavery", + "melee": "Melee", + "observe": "Observe", + "perform": "Perform", + "pilot": "Pilot", + "remedy": "Remedy", + "shoot": "Shoot", + "sleight_of_hand": "Sleight of Hand", + "sneak": "Sneak", + "survival": "Survival", + "tech_redemption": "Tech Redemption", + "vigor": "Vigor", + "body": "Body", + "strength": "Strength", + "dexterity": "Dexterity", + "endurance": "Endurance", + "mind": "Mind", + "wits": "Wits", + "perception": "Perception", + "will": "Will", + "spirit": "Spirit", + "presence": "Presence", + "intuition": "Intuition", + "faith": "Faith", + "occult": "Occult", + "psi": "Psi", + "urge": "Urge", + "theurgy": "Theurgy", + "hubris": "Hubris", + "resistances": "Resistances", + "resistance_modifier": "Mod.", + "armor": "Armor", + "blaster_s": "Blstr.", + "flame_s": "Flm.", + "hard_s": "Hrd.", + "laser_s": "Lsr.", + "shock_s": "Shk.", + "slam_s": "Slm.", + "sonic_s": "Son.", + "e_shield": "E-Shield", + "e_shield_thresholds": "Thresholds", + "e_shield_hits": "Hits", + "vitality": "Vitality", + "rating": "Rating", + "current": "Current", + "revivals": "Revivals", + "number": "Number", + "actions": "Actions", + "action": "Maneuver/Attack", + "characteristic": "Characteristic", + "skill": "Skill", + "goal_bonus_penalty": "Goal +/-", + "goal": "Goal", + "impact_notes": "Impact / Notes", + "vp_bank": "VP Bank", + "vp_bank_capacity": "Capacity", + "current_vp": "Current VP", + "current_wp": "Current WP", + "surge": "Surge", + "surge_rating": "Rating", + "surge_number": "Number", + "perks": "Perks", + "perk_name": "Perk", + "perk_notes": "Description / Notes", + "capabilities": "Capabilities", + "capability_name": "Capability", + "capability_notes": "Description / Notes", + "birthrights": "Birthrights", + "birthright_name": "Birthright", + "birthright_notes": "Description", + "possessions": "Possessions", + "techgnosis": "Techgnosis", + "carried_equipment": "Carried Equipment", + "tech_level_s": "TL", + "equipment_size": "Size", + "carried_weapons": "Carried Weapons", + "damage_s": "Dmg.", + "strength_s": "Str.", + "range_s": "Rng.", + "rate_of_fire_s": "RoF", + "ammunition_s": "Ammo", + "weapon_features": "Features", + "owned": "Owned", + "location": "Location", + "money": "Money", + "cash": "Cash", + "asset": "Asset", + "income": "Income", + "last_notes": "Last Notes", + "victory_points": "VP", + "failure": "Failure!", + "critical_failure": "Critical failure!", + "critical_success": "Critical success!", + "success": "Success!", + "notes": "Notes" +} diff --git a/Fading Suns 4th Edition - Pax Alexius/translations/fr.json b/Fading Suns 4th Edition - Pax Alexius/translations/fr.json new file mode 100644 index 0000000000..66ae4d7a81 --- /dev/null +++ b/Fading Suns 4th Edition - Pax Alexius/translations/fr.json @@ -0,0 +1,126 @@ +{ + "name": "Nom", + "planet": "Planète", + "rank": "Rang", + "birthdate": "Né le", + "species": "Espèce", + "size": "Taille", + "speed": "Vitesse", + "class": "Classe", + "level": "Niveau", + "faction": "Faction", + "blessing": "Qualité", + "curse": "Défaut", + "calling": "Vocation", + "traits": "Traits", + "skills": "Compétences", + "academia": "Érudition", + "alchemy": "Alchimie", + "animalia": "Animaux", + "arts": "Arts", + "charm": "Charme", + "crafts": "Artisanat", + "disguise": "Déguisement", + "drive": "Conduite", + "empathy": "Empathie", + "fight": "Combat à mains nues", + "focus": "Focus", + "impress": "Impression", + "interface": "Interface", + "intrusion": "Intrusion", + "knavery": "Baratin", + "melee": "Mêlee", + "observe": "Observation", + "perform": "Performance", + "pilot": "Pilotage", + "remedy": "Remède", + "shoot": "Tir", + "sleight_of_hand": "Prestidigitation", + "sneak": "Discrétion", + "survival": "Survie", + "tech_redemption": "Rédemption Tech", + "vigor": "Vigueur", + "body": "Corps", + "strength": "Force", + "dexterity": "Dextérité", + "endurance": "Endurance", + "mind": "Intellect", + "wits": "Intelligence", + "perception": "Perception", + "will": "Volonté", + "spirit": "Esprit", + "presence": "Présence", + "intuition": "Intuition", + "faith": "Foi", + "occult": "Occulte", + "psi": "Psi", + "urge": "Pulsion", + "theurgy": "Théurgie", + "hubris": "Hubris", + "resistances": "Résistances", + "resistance_modifier": "Mod.", + "armor": "Armure", + "blaster_s": "Blstr.", + "flame_s": "Feu", + "hard_s": "Dure", + "laser_s": "Lsr.", + "shock_s": "Choc", + "slam_s": "Imp.", + "sonic_s": "Son.", + "e_shield": "E-Bouclier", + "e_shield_thresholds": "Seuils", + "e_shield_hits": "Charges", + "vitality": "Vitalité", + "rating": "Score", + "current": "Actuelle", + "revivals": "Rétablissement", + "number": "Nombre", + "actions": "Actions", + "action": "Manœuvre/Attaque", + "characteristic": "Caractéristique", + "skill": "Compétence", + "goal_bonus_penalty": "Seuil +/-", + "goal": "Seuil", + "impact_notes": "Impact / Notes", + "vp_bank": "Banque de PV", + "vp_bank_capacity": "Capacité", + "current_vp": "PV actuels", + "current_wp": "PA actuels", + "surge": "Surpassement", + "surge_rating": "Score", + "surge_number": "Nombre", + "perks": "Avantages", + "perk_name": "Avantage", + "perk_notes": "Description / Notes", + "capabilities": "Aptitudes", + "capability_name": "Aptitude", + "capability_notes": "Description / Notes", + "birthrights": "Héritages", + "birthright_name": "Héritage", + "birthright_notes": "Description", + "possessions": "Possessions", + "techgnosis": "Techgnose", + "carried_equipment": "Équipement porté", + "tech_level_s": "NT", + "equipment_size": "Taille", + "carried_weapons": "Armes portées", + "damage_s": "Dgt.", + "strength_s": "For.", + "range_s": "Por.", + "rate_of_fire_s": "CdT", + "ammunition_s": "Mun.", + "weapon_features": "Propriétés", + "owned": "Distantes", + "location": "Localisation", + "money": "Argent", + "cash": "Sur soi", + "asset": "Investissement", + "income": "Revenus", + "last_notes": "Notes", + "victory_points": "PV", + "failure": "Échec!", + "critical_failure": "Échec critique!", + "critical_success": "Succès critique!", + "success": "Success!", + "notes": "Notes" +}