diff --git a/Ironcrunch/.gitignore b/Ironcrunch/.gitignore new file mode 100644 index 0000000000..04c01ba7ba --- /dev/null +++ b/Ironcrunch/.gitignore @@ -0,0 +1,2 @@ +node_modules/ +dist/ \ No newline at end of file diff --git a/Ironcrunch/Ironcrunch.css b/Ironcrunch/Ironcrunch.css new file mode 100644 index 0000000000..58512effc5 --- /dev/null +++ b/Ironcrunch/Ironcrunch.css @@ -0,0 +1,3111 @@ + +@import url('https://fonts.googleapis.com/css?family=Montserrat:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,300;1,400;1,500;1,600;1,700;1,800;1,900|Crimson+Text:ital,wght@0,400;0,600;0,700;1,400;1,600;1,700|Roboto&display=swap'); +.charsheet { + width: 842px !important; + margin: 0 auto !important; + padding: 15px; + font-family: 'Montserrat', Arial, sans-serif; + font-weight: 600; +} +input[type=text] { + font-weight: 600; +} +select { + -webkit-appearance: none; + -moz-appearance: none; + text-indent: 1px; + text-overflow: ''; +} +select::-ms-expand { + display: none; +} +p { + font-family: 'Crimson Text', Arial, sans-serif; +} +h1 { + font-weight: bold; + width: 100%; + font-size: 28px; + text-align: center; + margin: 0 0 0px; + padding: 10; + text-transform: uppercase; +} +h2 { + font-weight: bold; + width: 100%; + font-size: 18px; + text-align: left; + margin: 0 0 0px; + padding: 0; + text-transform: uppercase; +} +h3 { + font-weight: bold; + width: 100%; + line-height: 24px; + font-size: 18px; + text-align: center; + margin: 0 0 0px; + padding: 0; + text-transform: uppercase; +} +.sheet-divide { + margin-top: 1em; +} +h3.sheet-divide::after, +h3.sheet-divide::before { + display: inline-block; + content: ""; + height: 5px; + border-top: 2px solid #4c4d4f; + top: 0; + width: 220px; +} +h3.sheet-site-divide::after, +h3.sheet-site-divide::before { + display: inline-block; + content: ""; + height: 5px; + border-top: 2px solid #4c4d4f; + top: 0; + width: 331px; +} +h3.sheet-site-denizens-divide::after, +h3.sheet-site-denizens-divide::before { + display: inline-block; + content: ""; + height: 5px; + border-top: 2px solid #4c4d4f; + top: 0; + width: 336px; +} +h3.sheet-site-divide-notes::after, +h3.sheet-site-divide-notes::before { + display: inline-block; + content: ""; + height: 5px; + border-top: 2px solid #4c4d4f; + top: 0; + width: 352px; +} +h4 { + font-weight: bold; + width: 100%; + font-size: 16px; + text-align: center; + margin: 0 0 0px; + padding: 0; + text-transform: uppercase; +} +h4.sheet-tab-title { + display: inline-block; +} +h5 { + font-weight: bold; + font-size: 12px; + text-align: left; + margin: 0 0 0px; + padding: 0; + text-transform: uppercase; +} +h6 { + font-size: 14px; + font-weight: bold; + text-align: left; + margin-top: 2px; +} +button[type="roll"] { + align-items: left; + color: #4c4d4f; + font-weight: normal; + font-size: 20px; + text-decoration: none; + background: none; + background-image: none; + border: none; + box-shadow: none; + text-shadow: none; + padding: 0px 0px 0px 0px; + margin: 0px 0px 0px 0px; + text-align: center; +} +button[type="roll"]:hover { + transition: 0.5s ease; +} +.sheet-heading-left { + text-align: left; +} +hr { + border: 0; + height: 1px; + background: #ccc; + background-image: linear-gradient(to right, #ccc, #333, #ccc); +} +textarea { + font-family: 'Crimson Text', Arial, sans-serif; + max-width: 828px; + border: 2px solid #4c4d4f; +} +.sheet-btn { + display: inline; + width: 100%; + font-weight: bold; + font-size: 14px; + padding: 0; + margin: 0.5em; + height: 40px; + padding: 0.2em 0.2em 0.2em 0.2em; + border: 2px solid #494a4c; + cursor: pointer; +} +.sheet-btn:hover { + background: #ccc; + transition: 0.5s ease; +} +.sheet-common-btn { + display: flex; + width: fit-content; + font-size: 14px; + padding: 0; + border: 2px solid #494a4c; + cursor: pointer; + width: -moz-fit-content; +} +.sheet-common-btn:hover { + background: #ccc; + transition: 0.5s ease; +} +.sheet-btn-content { + padding: 0.2em 0.2em 0.2em 0.2em; + width: 100%; + text-align: center; +} +.sheet-btn-input:checked ~ .sheet-btn-content { + background: #4c4d4f; + color: #fff; +} +button.btn.repcontrol_edit, +button.btn.repcontrol_add { + border: 2px solid #4c4d4f; + border-radius: 0; + font-weight: bold; + font-size: 12px; + text-shadow: none; + text-transform: uppercase; + padding: 0.2em; + margin: 0.3em; + color: #4c4d4f; + font-family: 'Montserrat', Arial, sans-serif; + background: #dfe0e2; +} +button.btn.repcontrol_edit:hover, +button.btn.repcontrol_add:hover { + background: #bcbec2; +} +button.btn.repcontrol_edit:focus, +button.btn.repcontrol_add:focus { + outline: 3px solid #fd0; + outline-offset: 0; + box-shadow: inset 0 0 0 1px; +} +button.btn.repcontrol_edit { + margin-right: 3px; +} +button.btn.repcontrol_add { + margin-left: 3px; +} +.sheet-modes { + display: flex; + justify-content: space-evenly; +} +h2.sheet-mode-title { + text-align: center; +} +div.sheet-mode-title { + margin-bottom: 2em; +} +label.sheet-mode { + text-align: center; +} +label.sheet-mode { + margin: 0.5em; + padding: 0; + cursor: pointer; + box-shadow: 1px 1px 19px 6px rgba(0,0,0,0.15); + opacity: 1; + z-index: 5; + width: auto; +} +label.sheet-mode:hover h4 { + color: #797979; + transition: 0.5s ease; +} +label.sheet-mode:hover .sheet-mode-image { + opacity: 0.7; + transition: 0.5s ease; +} +label.sheet-mode h4 { + margin-bottom: 0.5em; + margin-top: 0.5em; +} +input[type=radio].sheet-character-mode:checked ~ div.sheet-character-mode, +input[type=radio].sheet-companion-mode:checked ~ div.sheet-companion-mode, +input[type=radio].sheet-shared-mode:checked ~ div.sheet-shared-mode { + display: block; +} +input[type=checkbox].sheet-modes-show:checked ~ div.sheet-modes-show { + display: block; +} +div.sheet-mode { + display: flex; + justify-content: center; + width: fit-content; + width: -moz-fit-content; + margin: 0; +} +.sheet-mode-image { + display: flex; +} +input[type=radio].sheet-bonds:checked ~ div.sheet-bonds, +input[type=radio].sheet-summary:checked ~ div.sheet-summary, +input[type=radio].sheet-motivations:checked ~ div.sheet-motivations, +input[type=radio].sheet-vows:checked ~ div.sheet-vows, +input[type=radio].sheet-proficiencies:checked ~ div.sheet-proficiencies, +input[type=radio].sheet-conditions:checked ~ div.sheet-conditions, +input[type=radio].sheet-equipment:checked ~ div.sheet-equipment, +input[type=radio].sheet-assets:checked ~ div.sheet-assets, +input[type=radio].sheet-effort:checked ~ div.sheet-effort, +input[type=radio].sheet-moves:checked ~ div.sheet-moves, +input[type=radio].sheet-progress:checked ~ div.sheet-progress, +input[type=radio].sheet-oracles:checked ~ div.sheet-oracles, +input[type=radio].sheet-settings:checked ~ div.sheet-settings, +input[type=radio].sheet-sites:checked ~ div.sheet-sites { + display: block; + visibility: visible; + height: auto; + opacity: 1; + transition: 0.5s ease; +} +.sheet-sub-header { + margin-top: 1em; + border-bottom: 3px solid #4c4d4f; +} +.sheet-resources { + display: flex; + height: 2em; +} +.sheet-resource { + display: flex; +} +label.sheet-health-reset { + font-size: 14px; + border: 2px solid #4c4d4f; + margin: 0; + padding: 2px 7px 2px 6px; + cursor: pointer; +} +label.sheet-health-reset:hover { + background: #ccc; + transition: 0.5s ease; +} +h3.sheet-health-max { + font-size: 14px; + margin-right: 0.3em; + line-height: 23px; + padding-left: 0.3em; +} +h3.sheet-health-max-value { + padding-right: 0.3em; +} +.sheet-health-max-value { + font-size: 14px; + line-height: 22px; + color: #555; +} +.sheet-resource-value { + font-size: 14px; + width: 38px; + font-weight: bold; + padding: 0; + padding-left: 4px; + border-radius: 0; + background: #ccc; + border: 2px solid #4c4d4f; + margin: 0; + height: auto; + cursor: pointer; +} +.sheet-resource-title { + font-size: 14px; + width: auto; + border: 2px solid #4c4d4f; + line-height: 9px; + padding: 0.5em 0.43em 0.5em 0.43em; +} +input[type=text].sheet-resource-value { + width: 22px; + border: none; +} +.sheet-health-max-box { + display: flex; + background: #ccc; +} +.sheet-health-status-box { + display: flex; + border: 2px solid #4c4d4f; +} +.sheet-load-value { + width: 27px; +} +.sheet-misses-track { + margin-top: 1em; + width: 47em; + margin-left: 118px; +} +.sheet-clear-miss { + display: inline; + width: 100%; + font-weight: bold; + font-size: 14px; + padding: 0; + margin: 1em; + height: 40px; + padding: 0.2em 0.2em 0.2em 0.2em; + border: 2px solid #494a4c; + cursor: pointer; +} +.sheet-clear-miss:hover { + background-color: #ccc; + color: #4c4d4f; + transition: 0.5s ease; +} +.sheet-miss-input { + margin: 0 !important; +} +.sheet-bonds-track { + width: 437px; + margin-left: 203px; + margin-top: 0.5em; +} +.sheet-bonds { + margin-bottom: 0px; +} +.sheet-bond-component { + margin-top: 1em; +} +.sheet-bond { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; +} +.sheet-bond-container { + border: 2px solid #4c4d4f; + border-radius: 1em; + margin-bottom: 1em; + padding: 1em; +} +.sheet-bond-notes { + width: 99%; +} +.sheet-bond-name, +.sheet-bond-location, +.sheet-bond-descriptors { + border: none; + border-radius: 0em; + background: transparent; + padding: 0; + padding-left: 0.5em; +} +.sheet-bond-descriptors { + width: 43%; +} +.sheet-bond-location { + width: 40%; +} +p.sheet-bond-title { + text-align: left; + font-weight: bold; + margin: 0 0 0px; + padding: 0.1em 0.3em 0.3em 0.5em; + text-transform: uppercase; + font-family: 'Montserrat', Arial, sans-serif; + display: inline; + background: #4c4d4f; + color: #fff; + border-radius: 0.3em 0em 0em 0.3em; +} +.sheet-details-btn { + display: flex; + width: auto; + margin: 0.5em 0em 0em 0em; + height: auto; + padding: 0; +} +.sheet-bond-name::placeholder, +.sheet-bond-location::placeholder, +.sheet-bond-descriptors::placeholder { + color: #8a8a8a; +} +input[type="checkbox"].sheet-show-bond-info { + width: 4.5em; + height: 18px; + top: 0; + opacity: 0; + border-radius: 4px; + padding: 2px 4px; +} +input[type="checkbox"].sheet-show-bond-info:checked ~ div.sheet-show-bond-info { + display: flex; + flex-flow: row wrap; + visibility: visible; + height: auto; + opacity: 1; + transition: 0.5s ease; +} +input[type="checkbox"].sheet-show-bond-info:checked ~ span.sheet-show-bond-info { + border-radius: 4px; + padding: 2px 4px; + border: 1px solid; + background-color: #4c4d4f; + color: #fff; +} +input[type="checkbox"].sheet-show-bond-info:hover ~ span.sheet-show-bond-info { + border-radius: 4px; + padding: 2px 4px; + background-color: #ccc; + color: #4c4d4f; + transition: 0.5s ease; +} +span.sheet-show-bond-info { + margin-left: -4.9em; + border-radius: 4px; + padding: 2px 4px; + border: 1px solid; + font-weight: bold; +} +input.sheet-vow-name { + background: #ccc; + border: 2px solid #494a4c; + border-radius: 0; + margin-bottom: 0.2em; + margin-top: 1em; + background: #e6e7e8; + border: 2px solid #494a4c; + border-radius: 0; + margin-bottom: 0.2em; +} +input.sheet-vow-name:focus { + outline: 3px solid #fd0; + outline-offset: 0; + box-shadow: inset 0 0 0 2px; +} +.sheet-fulfill-vow:hover, +.sheet-mark-vow:hover, +.sheet-vow-clear-label:hover { + background-color: #ccc; + color: #4c4d4f; + transition: 0.5s ease; +} +.sheet-vows { + margin-bottom: 0px; +} +.sheet-vows-header { + display: flex; + justify-content: space-around; + align-items: center; + margin-bottom: 10px; +} +.sheet-vow { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; +} +.sheet-vow-name { + width: 100%; + font-weight: bold; + font-size: 14px; +} +.sheet-difficulty { + border: 2px solid #494a4c; + margin: 0.2em 0.5em 0.2em 0.5em; + padding: 0; + cursor: pointer; +} +.sheet-difficulty h5 { + text-align: center; +} +.sheet-difficulty input:checked ~ h5 { + background: #494a4c; + color: #fff; +} +.sheet-progress-header { + display: flex; + justify-content: space-around; + align-items: center; + margin-bottom: 10px; +} +.sheet-progress { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; +} +.sheet-progress-name { + width: 100%; + font-weight: bold; + font-size: 14px; +} +input.sheet-progress-name { + background: #e6e7e8; + border: 2px solid #494a4c; + border-radius: 0; + margin-bottom: 0.2em; +} +.sheet-progress-input { + width: 40px; + height: 40px; + font-size: 22px; + font-weight: bold; + background: transparent; + text-align: center; + justify-content: center; + align-items: center; + padding: 2px 0px 0px 12px; + margin-bottom: 0.4em; + cursor: pointer; + border: 2px solid #4c4d4f; + border-radius: 0; +} +.sheet-progress-input:hover { + background-color: #ccc; + transition: 0.5s ease; +} +.sheet-progress-input:focus { + outline: 3px solid #fd0; + outline-offset: 0; + box-shadow: inset 0 0 0 2px; +} +.sheet-pc-name:focus { + outline: 3px solid #fd0; + outline-offset: 0; + box-shadow: inset 0 0 0 2px; +} +.sheet-details-row { + display: flex; + justify-content: space-evenly; +} +.sheet-details-row .sheet-details-header { + color: #fff; + background: #4c4d4f; +} +.sheet-companion-detail + .sheet-details-header, +.sheet-character-detail + .sheet-details-header { + background: #4c4d4f; +} +.sheet-companion-detail, +.sheet-character-detail { + border: 2px solid #4c4d4f; + width: 100%; + padding: 0em 1em 0em 1em; + margin: 0.1em; +} +.sheet-companion-detail p, +.sheet-character-detail p { + width: 100%; + font-family: 'Montserrat', Arial, sans-serif; + margin: 0; +} +.sheet-companion-detail input, +.sheet-character-detail input { + width: 100%; + border: 0; + padding: 0; + outline-width: 0px; +} +.sheet-companion-detail input::placeholder, +.sheet-character-detail input::placeholder { + font-weight: 500; +} +.sheet-detail-columns { + display: flex; +} +.sheet-detail-column { + width: 50%; +} +.sheet-nav-bar { + display: flex; + justify-content: space-evenly; + margin-top: 0.5em; + flex-flow: column; +} +.sheet-nav-child { + border: 2px solid #4c4d4f; + width: 100%; + text-align-last: center; + margin: 0.1em; +} +.sheet-nav-child label { + margin: 0; + padding: 0; + cursor: pointer; +} +.sheet-nav-child label:hover { + background: #ccc; + transition: 0.5s ease; +} +.sheet-page-button-back { + padding: 0.1em 0em 0.1em 0em; + font-weight: 600; +} +.sheet-page-button:checked ~ div.sheet-page-button-back { + background: #4c4d4f; + color: #fff; + transition: 0.5s ease; +} +.sheet-summary { + margin-top: 1em; +} +.sheet-nav-row { + display: flex; +} +label.sheet-page-label { + text-align: center; +} +.sheet-header-items { + display: flex; + justify-content: space-between; + margin-bottom: 0.6em; +} +.sheet-character-title { + text-align: left; +} +.sheet-character-role, +.sheet-character-name { + width: 48%; +} +.sheet-footer { + margin-top: 3em; +} +.sheet-momentum { + display: flex; +} +input[type=checkbox].sheet-momentum-burn:hover ~ div.sheet-momentum-burn-back { + background-color: #ccc; + transition: 0.5s ease; +} +.sheet-momentum-box-input:hover ~ .sheet-momentum-box-back { + background: #ccc; + transition: 0.5s ease; +} +.sheet-momentum-box-input:checked ~ .sheet-momentum-box-back { + background: #4c4d4f; + color: #fff; + transition: 0.5s ease; +} +input[type=checkbox].sheet-momentum-burn { + width: 68px; + height: 30px; + opacity: 0; + border: 0; + vertical-align: top; +} +div.sheet-momentum-burn-back { + margin-top: -30px; + height: 30px; +} +div.sheet-momentum-burn { + border: 2px solid #4c4d4f; + width: 68px; + height: 30px; +} +span.sheet-momentum-burn { + font-weight: bold; + font-size: 18px; + line-height: 30px; + margin-left: -61px; +} +.sheet-momentum-box-input { + width: 36px; + height: 30px !important; + opacity: 0; + border: 0; +} +h3.sheet-momentum-burn { + margin-top: -20px; +} +.sheet-momentum-status-box { + width: 103px; + height: 30px; + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; + border-radius: 0%; + background: transparent; + border: 2px solid #4c4d4f; + margin-bottom: 2px; +} +.sheet-momentum-status-value { + width: auto; + padding-right: 0.6em; +} +h3.sheet-momentum-max-box { + display: inline; + padding-left: 2em; + line-height: 30px; +} +h3.sheet-momentum-reset-box { + display: inline; + padding-left: 1em; + line-height: 30px; +} +.sheet-momentum-box-back { + height: 30px; + margin-top: -30px; +} +.sheet-momentum-box-value { + font-weight: bold; + height: 30px; + font-size: 16px; + line-height: 30px; + color: inherit; +} +.sheet-momentum-input { + font-weight: bold; + width: 30px; + font-size: 13px; + text-align: center; + background: transparent; +} +.sheet-momentum-box { + width: 36px; + height: 30px; + flex-direction: column; + justify-content: center; + align-items: center; + border-radius: 0%; + background: transparent; + border: 2px solid #4c4d4f; + margin-bottom: 2px; +} +.sheet-momentum-dark { + color: #fff; + border: 2px solid #4b4d4f; + background: #4b4d4f; + height: 30px; + width: 310px; +} +.sheet-momentum-title { + padding-top: 4px; + color: #fff; +} +.sheet-stats { + justify-content: space-evenly; + align-items: center; + border-radius: 0%; + margin-bottom: 1em; +} +.sheet-stat { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + margin: 1em; +} +.sheet-stats-title { + width: 100px; +} +.sheet-stats-input { + font-weight: bold; + width: 60px; + line-height: 40px; + font-size: 28px; + text-align: center; + height: 50px !important; + border-radius: 0; +} +input.sheet-stats-input { + border: 2px solid #4c4d4f; + background: #e6e7e8; +} +input.sheet-stats-input:focus { + outline: 3px solid #fd0; + outline-offset: 0; + box-shadow: inset 0 0 0 2px; +} +label.sheet-roll-label { + margin: 0; + padding: 0em 0.4em 0em 0.4em; + width: auto; + border: 2px solid #4c4d4f; + cursor: pointer; + text-align: center; +} +label.sheet-roll-label:hover { + background: #ccc; + transition: 0.5s ease; +} +label.sheet-stat-toggle { + margin: 0; + padding: 0; + border: 2px solid #4c4d4f; + text-align: center; + cursor: pointer; +} +label.sheet-stat-toggle:hover { + background: #ccc; + transition: 0.5s ease; +} +input[type=radio].sheet-stat-set:checked ~ div.sheet-stat-set { + visibility: visible; + height: auto; + opacity: 1; + transition: 0.5s ease; + display: flex; + width: auto; + margin-left: 5em; +} +input[type=radio].sheet-stat-edit:checked ~ div.sheet-stat-edit { + visibility: visible; + height: auto; + opacity: 1; + transition: 0.5s ease; + display: flex; + width: auto; +} +div.sheet-stat-toggle.sheet-set-toggle { + width: 100%; + height: 0; + margin: 4em 1em 0em 1em; +} +div.sheet-stat-toggle.sheet-edit-toggle { + transform: rotate(90deg); + width: 100%; + height: 0; + margin-top: 3.45em; +} +.sheet-proficiencies-weapons { + display: flex; + flex-flow: wrap; +} +.sheet-proficiency { + width: 50%; + margin-top: 1em; +} +.sheet-option-list { + text-align: justify; + margin-left: 2em; +} +.sheet-proficiency-text { + font-size: 14px; + margin-left: 0.6em; + font-family: 'Crimson Text', Arial, sans-serif; + font-weight: 600; +} +input.sheet-motivation-aggravate_organization:checked ~ div.sheet-motivation-aggravate_organization { + display: block; +} +input.sheet-motivation-battling:checked ~ div.sheet-motivation-battling { + display: block; +} +input.sheet-motivation-carousing:checked ~ div.sheet-motivation-carousing { + display: block; +} +input.sheet-motivation-commanding:checked ~ div.sheet-motivation-commanding { + display: block; +} +input.sheet-motivation-cover_my_identity:checked ~ div.sheet-motivation-cover_my_identity { + display: block; +} +input.sheet-motivation-cover_my_past:checked ~ div.sheet-motivation-cover_my_past { + display: block; +} +input.sheet-motivation-discover_the_forgotten:checked ~ div.sheet-motivation-discover_the_forgotten { + display: block; +} +input.sheet-motivation-enforce_law:checked ~ div.sheet-motivation-enforce_law { + display: block; +} +input.sheet-motivation-gain_power:checked ~ div.sheet-motivation-gain_power { + display: block; +} +input.sheet-motivation-gain_renown:checked ~ div.sheet-motivation-gain_renown { + display: block; +} +input.sheet-motivation-gain_wealth:checked ~ div.sheet-motivation-gain_wealth { + display: block; +} +input.sheet-motivation-help_others:checked ~ div.sheet-motivation-help_others { + display: block; +} +input.sheet-motivation-making_deals:checked ~ div.sheet-motivation-making_deals { + display: block; +} +input.sheet-motivation-preserve_affinity:checked ~ div.sheet-motivation-preserve_affinity { + display: block; +} +input.sheet-motivation-preserve_nature:checked ~ div.sheet-motivation-preserve_nature { + display: block; +} +input.sheet-motivation-prove_myself:checked ~ div.sheet-motivation-prove_myself { + display: block; +} +input.sheet-motivation-pursue_courage:checked ~ div.sheet-motivation-pursue_courage { + display: block; +} +input.sheet-motivation-pursue_justice:checked ~ div.sheet-motivation-pursue_justice { + display: block; +} +input.sheet-motivation-pursue_peace:checked ~ div.sheet-motivation-pursue_peace { + display: block; +} +input.sheet-motivation-pursue_the_truth:checked ~ div.sheet-motivation-pursue_the_truth { + display: block; +} +input.sheet-motivation-rebel:checked ~ div.sheet-motivation-rebel { + display: block; +} +input.sheet-motivation-redeem_myself:checked ~ div.sheet-motivation-redeem_myself { + display: block; +} +input.sheet-motivation-safeguard_my_ward:checked ~ div.sheet-motivation-safeguard_my_ward { + display: block; +} +input.sheet-motivation-show_cleverness:checked ~ div.sheet-motivation-show_cleverness { + display: block; +} +input.sheet-motivation-suffering:checked ~ div.sheet-motivation-suffering { + display: block; +} +input.sheet-motivation-survive:checked ~ div.sheet-motivation-survive { + display: block; +} +input.sheet-motivation-uncover_my_past:checked ~ div.sheet-motivation-uncover_my_past { + display: block; +} +input.sheet-motivation-uphold_belief:checked ~ div.sheet-motivation-uphold_belief { + display: block; +} +input.sheet-motivation-uphold_nobility:checked ~ div.sheet-motivation-uphold_nobility { + display: block; +} +input.sheet-motivation-wandering:checked ~ div.sheet-motivation-wandering { + display: block; +} +.sheet-motivations .repcontainer { + display: flex; + justify-content: space-evenly; + margin-top: 1em; + flex-wrap: wrap; +} +.sheet-motivation { + width: 17em; + border: 2px solid #4c4d4f; + margin-bottom: 1em; + border-radius: 8px; +} +.sheet-motivation p { + font-size: 14px; + line-height: 16px; + font-weight: 500; +} +.sheet-motivation-dropdown { + border: 2px solid #4c4d4f; + background: #4c4d4f; + color: #fff; + text-align: center; + font-weight: bold; + font-variant: all-small-caps; + font-size: 18px; + text-align-last: center; + border-radius: 5px; + width: inherit; + padding: 0; + line-height: 23px; + cursor: pointer; + -webkit-appearance: menulist; +} +.sheet-motivation-container { + padding: 0em 1em 1em 1em; +} +.sheet-note-area:focus { + outline: 3px solid #fd0; + outline-offset: 0; + box-shadow: inset 0 0 0 2px; +} +div.sheet-search-bar { + display: flex; + justify-content: center; + width: 100%; + margin: 1em 0em 0.5em 0em; +} +div.sheet-preview-bar { + justify-content: space-between; + width: 100%; + display: flex; + margin: 1em 0em 0.5em 0em; +} +div.sheet-search-preview-bar { + display: flex; + width: auto; +} +div.sheet-move-nav-content { + padding: 0.2em; + width: 100%; +} +input.sheet-search-preview-bar { + width: 17.6em; + border: 2px solid #4c4d4f; + border-radius: 0; +} +input.sheet-search-preview-bar:focus { + outline: 3px solid #fd0; + outline-offset: 0; + box-shadow: inset 0 0 0 2px; +} +input.sheet-search-bar { + width: 50%; + border: 2px solid #4c4d4f; +} +input.sheet-search-bar:focus { + outline: 3px solid #fd0; + outline-offset: 0; + box-shadow: inset 0 0 0 2px; +} +input.sheet-table-btn:checked ~ div.sheet-move-nav-content { + background: #4c4d4f; + color: #fff; + transition: 0.5s ease; +} +.sheet-preview-container { + display: flex; + justify-content: space-between; + font-size: 1em; + flex-flow: row; + font-weight: normal; + height: auto; + margin-top: 1em; +} +.sheet-preview-container .sheet-move-scroll-list { + width: 21.9em; + overflow: auto; + border: 2px solid #4c4d4f; + padding: 0; + height: 50em; +} +.sheet-move-container { + display: flex; + flex-wrap: wrap; + flex-direction: column; + justify-content: space-between; + height: 43em; + margin-top: 1em; + display: flex; + font-size: 1em; + font-weight: normal; +} +.sheet-move-container .sheet-move-scroll-list { + overflow: auto; + border: 2px solid #4c4d4f; + padding: 1em; + width: max-content; +} +.sheet-move { + margin: 0em; + color: #4c4d4f; + display: flex; + padding: 0; +} +.sheet-move-group-title { + background: #4c4d4f; +} +.sheet-move-group-title h3 { + color: #fff; +} +.sheet-move-highlight:checked ~ .sheet-move-name { + background: #fd0; + outline-offset: 0; + box-shadow: inset 0 0 0 2px; +} +.sheet-move-list { + padding: 0; +} +.sheet-move-list label { + cursor: pointer; +} +.sheet-move-list div { + font-weight: 600; + width: 100%; + font-size: 14px; + text-align: center; + margin: 0 0 0px; + padding: 0.1em; + text-transform: none; +} +.sheet-move-list div:hover { + transition: 0.3s ease; + background: #606060 !important; + color: #fff; +} +.sheet-move-list:nth-child(2n + 1) { + background-color: #ddd; +} +.sheet-move-column { + display: flex; + flex-direction: column; + margin-right: 10px; +} +span.sheet-move-result { + width: 36em; +} +span.sheet-preview-move-roll { + width: 60%; + margin-left: 1em; +} +.sheet-move-group { + border: 2px solid #4c4d4f; + box-sizing: border-box; + width: 30%; + margin: 0.3em; + height: fit-content; + height: -moz-fit-content; +} +.sheet-move-group-scroll { + border: 2px solid #4c4d4f; + box-sizing: border-box; + height: fit-content; + height: -moz-fit-content; +} +.sheet-move-box:nth-child(n + 2) { + margin-top: 10px; +} +.sheet-move-title { + background-color: #4c4d4f; + color: #fff; + border-bottom: 1px solid #4c4d4f; + font-size: 1.4em; + font-weight: bold; + padding: 0.2em 0.5em 0.1em 0.7em; + text-transform: uppercase; + width: 11.7em; +} +.sheet-move-preview { + width: auto; +} +.sheet-move-page-footer { + text-align: right !important; + padding-right: 1em; +} +.sheet-move-preview-container { + width: 62%; +} +.sheet-move-preview-container p { + font-size: 15px; + margin: 0; +} +.sheet-move-preview-container ul { + margin: 2px 0px 5px 25px; + font-size: 15px; +} +.sheet-move-preview-container li { + font-size: 15px; +} +.sheet-move-show { + display: inline-flex; + font-size: 1em; + margin: 0em; + padding: 0.3em; +} +.sheet-move-show:hover { + background: #969696; + cursor: pointer; + transition: 0.5s ease; +} +.sheet-column-wrap { + flex-flow: column wrap; + width: 22.5em; +} +.sheet-move-delve-table { + width: auto !important; +} +.sheet-move-description { + font-family: 'Crimson Text', Arial, sans-serif; + padding: 1em; + border: 2px solid #4c4d4f; +} +.sheet-move-description p { + margin-bottom: 0.3em; +} +.sheet-move-table { + border: none; + width: 30.5em; + font-size: 12px; +} +.sheet-move-roll { + width: 18%; +} +.sheet-move-footer { + background-color: #434b4d; + color: #fff; + line-height: 0.9em; + font-size: 0.9em; + font-family: 'Crimson Text', Arial, sans-serif; + font-variant: small-caps; + font-weight: bold; + text-align: left; + padding: 0.5rem; +} +.sheet-close-preview { + width: 36.6em; + height: auto; + margin: 0; + font-weight: bold; + font-size: 14px; + padding: 0.2em 0.2em 0.2em 0.2em; + border: 2px solid #494a4c; + cursor: pointer; + text-align: center; +} +.sheet-close-preview:hover { + background-color: #ccc; + color: #4c4d4f; + transition: 0.5s ease; +} +.sheet-clear-search { + width: fit-content; + width: -moz-fit-content; + height: auto; + margin: 0; + font-weight: bold; + font-size: 14px; + padding: 0.2em 0.2em 0.2em 0.2em; + border: 2px solid #494a4c; + cursor: pointer; +} +.sheet-clear-search:hover { + background-color: #ccc; + color: #4c4d4f; + transition: 0.5s ease; +} +.sheet-selected-move { + z-index: 3; +} +.sheet-selected-move:checked ~ .sheet-move-name { + background: #434b4d !important; + color: #fff !important; +} +input.sheet-move-preview:checked ~ div.sheet-move-preview, +input.sheet-full-move-list:checked ~ div.sheet-full-move-list { + visibility: visible; + height: auto; + opacity: 1; + transition: 0.5s ease; +} +input[type=radio].sheet-face-danger:checked ~ div.sheet-face-danger, +input[type=radio].sheet-secure-an-advantage:checked ~ div.sheet-secure-an-advantage, +input[type=radio].sheet-gather-information:checked ~ div.sheet-gather-information, +input[type=radio].sheet-heal:checked ~ div.sheet-heal, +input[type=radio].sheet-resupply:checked ~ div.sheet-resupply, +input[type=radio].sheet-make-camp:checked ~ div.sheet-make-camp, +input[type=radio].sheet-undertake-a-journey:checked ~ div.sheet-undertake-a-journey, +input[type=radio].sheet-reach-your-destination:checked ~ div.sheet-reach-your-destination, +input[type=radio].sheet-compel:checked ~ div.sheet-compel, +input[type=radio].sheet-sojourn:checked ~ div.sheet-sojourn, +input[type=radio].sheet-draw-the-circle:checked ~ div.sheet-draw-the-circle, +input[type=radio].sheet-forge-a-bond:checked ~ div.sheet-forge-a-bond, +input[type=radio].sheet-test-your-bond:checked ~ div.sheet-test-your-bond, +input[type=radio].sheet-aid-an-ally:checked ~ div.sheet-aid-an-ally, +input[type=radio].sheet-write-your-epilogue:checked ~ div.sheet-write-your-epilogue, +input[type=radio].sheet-enter-the-fray:checked ~ div.sheet-enter-the-fray, +input[type=radio].sheet-strike:checked ~ div.sheet-strike, +input[type=radio].sheet-clash:checked ~ div.sheet-clash, +input[type=radio].sheet-turn-the-tide:checked ~ div.sheet-turn-the-tide, +input[type=radio].sheet-end-the-fight:checked ~ div.sheet-end-the-fight, +input[type=radio].sheet-battle:checked ~ div.sheet-battle, +input[type=radio].sheet-endure-harm:checked ~ div.sheet-endure-harm, +input[type=radio].sheet-face-death:checked ~ div.sheet-face-death, +input[type=radio].sheet-companion-endure-harm:checked ~ div.sheet-companion-endure-harm, +input[type=radio].sheet-endure-stress:checked ~ div.sheet-endure-stress, +input[type=radio].sheet-face-desolation:checked ~ div.sheet-face-desolation, +input[type=radio].sheet-out-of-supply:checked ~ div.sheet-out-of-supply, +input[type=radio].sheet-face-a-setback:checked ~ div.sheet-face-a-setback, +input[type=radio].sheet-swear-an-iron-vow:checked ~ div.sheet-swear-an-iron-vow, +input[type=radio].sheet-fulfill-your-vow:checked ~ div.sheet-fulfill-your-vow, +input[type=radio].sheet-reach-a-milestone:checked ~ div.sheet-reach-a-milestone, +input[type=radio].sheet-forsake-a-vow:checked ~ div.sheet-forsake-a-vow, +input[type=radio].sheet-advance:checked ~ div.sheet-advance, +input[type=radio].sheet-pay-the-price:checked ~ div.sheet-pay-the-price, +input[type=radio].sheet-ask-the-oracle:checked ~ div.sheet-ask-the-oracle, +input[type=radio].sheet-discover-a-site:checked ~ div.sheet-discover-a-site, +input[type=radio].sheet-delve-the-depths:checked ~ div.sheet-delve-the-depths, +input[type=radio].sheet-find-an-opportunity:checked ~ div.sheet-find-an-opportunity, +input[type=radio].sheet-reveal-a-danger:checked ~ div.sheet-reveal-a-danger, +input[type=radio].sheet-check-your-gear:checked ~ div.sheet-check-your-gear, +input[type=radio].sheet-locate-your-objective:checked ~ div.sheet-locate-your-objective, +input[type=radio].sheet-escape-the-depths:checked ~ div.sheet-escape-the-depths, +input[type=radio].sheet-reveal-danger-alt:checked ~ div.sheet-reveal-danger-alt, +input[type=radio].sheet-wield-rarity:checked ~ div.sheet-wield-rarity, +input[type=radio].sheet-mark-failure:checked ~ div.sheet-mark-failure, +input[type=radio].sheet-learn-from-failures:checked ~ div.sheet-learn-from-failures, +input[type=radio].sheet-advance-threat:checked ~ div.sheet-advance-threat, +input[type=radio].sheet-take-hiatus:checked ~ div.sheet-take-hiatus, +input[type=radio].sheet-burn-momentum:checked ~ div.sheet-burn-momentum, +input[type=radio].sheet-make-an-effort:checked ~ div.sheet-make-an-effort, +input[type=radio].sheet-show-resilience:checked ~ div.sheet-show-resilience, +input[type=radio].sheet-manifest-insanity:checked ~ div.sheet-manifest-insanity, +input[type=radio].sheet-take-on-overload:checked ~ div.sheet-take-on-overload, +input[type=radio].sheet-inflict-harm:checked ~ div.sheet-inflict-harm, +input[type=radio].sheet-foe-inflicts-harm:checked ~ div.sheet-foe-inflicts-harm, +input[type=radio].sheet-hearten:checked ~ div.sheet-hearten, +input[type=radio].sheet-patch-equipment:checked ~ div.sheet-patch-equipment, +input[type=radio].sheet-take-a-downtime:checked ~ div.sheet-take-a-downtime, +input[type=radio].sheet-learn-from-faults:checked ~ div.sheet-learn-from-faults, +input[type=radio].sheet-trade:checked ~ div.sheet-trade, +input[type=radio].sheet-take-conditional-companion:checked ~ div.sheet-take-conditional-companion, +input[type=radio].sheet-strengthen-their-loyalty:checked ~ div.sheet-strengthen-their-loyalty, +input[type=radio].sheet-companion-becomes-unconditional:checked ~ div.sheet-companion-becomes-unconditional, +input[type=radio].sheet-order-conditional-companion:checked ~ div.sheet-order-conditional-companion, +input[type=radio].sheet-not-assist-conditional-companion:checked ~ div.sheet-not-assist-conditional-companion, +input[type=radio].sheet-test-their-loyalty:checked ~ div.sheet-test-their-loyalty, +input[type=radio].sheet-conditional-companion-abandons:checked ~ div.sheet-conditional-companion-abandons, +input[type=radio].sheet-conditional-companion-acts:checked ~ div.sheet-conditional-companion-acts { + visibility: visible; + height: auto; + opacity: 1; + transition: 0.5s ease; +} +.sheet-move-nav-child { + display: flex; + width: auto; + height: 1.3em; + padding: 0; + margin: 0.2em 0em 0.2em 0em; + text-align: center; +} +::-webkit-scrollbar { + -webkit-appearance: none; + width: 7px; +} +::-webkit-scrollbar-thumb { + border-radius: 4px; + background-color: rgba(0,0,0,0.5); + box-shadow: 0 0 1px rgba(255,255,255,0.5); +} +.sheet-move-delve-column-stat-header, +.sheet-move-delve-stat-column { + width: 16%; +} +.sheet-move-delve-column-stat-header-1, +.sheet-move-delve-stat-column-1 { + width: 17%; +} +.sheet-move-delve-column-stat-header-2, +.sheet-move-delve-stat-column-2 { + width: 18%; +} +.sheet-move-delve-column-stat-header-3, +.sheet-move-delve-stat-column-3 { + width: 15%; +} +.sheet-move-delve-column-header, +.sheet-move-delve-column { + width: 50%; +} +.sheet-move-delve-column-stat-header, +.sheet-move-delve-column-stat-header-1, +.sheet-move-delve-column-stat-header-2, +.sheet-move-delve-column-stat-header-3, +.sheet-move-delve-column-header { + font-weight: bold; +} +.sheet-move-delve-row-header { + padding: 0px 5px 0px 5px; + display: flex; + height: auto; + border-bottom: 2px solid #4c4d4f; +} +.sheet-embedded-btn { + padding-top: 0.2em !important; + font-family: 'Montserrat', Arial, sans-serif; +} +.sheet-site-container { + border: 2px solid #4c4d4f; + border-radius: 0em; + margin-bottom: 1em; + padding: 1em; +} +.sheet-site-notes { + width: 97.5% !important; + height: 156px !important; + resize: none; + margin-left: 3px; + border-radius: 0; +} +.sheet-site-notes:focus { + outline: 3px solid #fd0; + outline-offset: 0; + box-shadow: inset 0 0 0 2px; +} +.sheet-site-name, +.sheet-site-location, +.sheet-site-descriptors { + border: none; + border-radius: 0em; + background: transparent; + padding: 0; + padding-left: 0.5em; + font-family: 'Montserrat', Arial, sans-serif; + font-weight: bold; + color: #4c4d4f; +} +.sheet-site-descriptors { + width: 43%; +} +.sheet-site-location { + width: 40%; +} +p.sheet-site-title { + text-align: left; + font-family: 'Montserrat', Arial, sans-serif; + font-weight: bold; + font-size: 16px; + margin: 0 0 0px; + padding: 0.1em 0.2em 0.08em 0.2em; + text-transform: uppercase; + vertical-align: bottom; + display: inline; + color: #4c4d4f; + border-radius: 0; +} +.sheet-site-name::placeholder, +.sheet-site-location::placeholder, +.sheet-site-descriptors::placeholder { + color: #8a8a8a; +} +.sheet-site-row { + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + margin-bottom: 1em; +} +.sheet-site-column { + flex-direction: row; + width: 48%; + padding: 0.5em 0em 0.5em 0.7em; +} +.sheet-denizen-row { + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + margin-bottom: 0.5em; +} +.sheet-denizen-column { + flex-direction: column; + justify-content: center; + align-items: center; + width: 22%; + padding: 0.5em 0em 0.5em 0em; +} +.sheet-denizen-option-column { + flex-direction: column; + justify-content: center; + align-items: center; + width: 22%; + padding: 0.5em 0.5em 0.5em 0.5em; +} +.sheet-denizen-option { + font-size: 12px; +} +.sheet-site-progress-header { + display: flex; + justify-content: space-around; + align-items: center; + margin-bottom: 10px; +} +.sheet-denizen-operand-column { + flex-direction: column; + justify-content: center; + align-items: center; + width: 2%; + padding: 0.5em 0.5em 0.5em 0.5em; +} +p.sheet-denizen-title { + text-align: left; + font-family: 'Montserrat', Arial, sans-serif; + font-weight: bold; + font-size: 12px; + margin: 0 0 0px; + text-transform: uppercase; + vertical-align: bottom; + display: inline; + color: #4c4d4f; +} +.sheet-denizen-input { + border: none; + border-radius: 0em; + background: transparent; + padding: 0.5em; + width: 96%; + margin-left: 3px; +} +.sheet-denizen-input:focus { + outline: 3px solid #fd0; + outline-offset: 0; + box-shadow: inset 0 0 0 2px; +} +.sheet-denizen-operand { + font-weight: bold; +} +.sheet-denizen-background, +.sheet-site-background { + background: #dedddc; +} +h3.sheet-site-divide::after, +h3.sheet-site-divide::before { + display: inline-block; + content: ""; + height: 5px; + border-top: 2px solid #4c4d4f; + top: 0; + width: 331px; +} +h3.sheet-site-denizens-divide::after, +h3.sheet-site-denizens-divide::before { + display: inline-block; + content: ""; + height: 5px; + border-top: 2px solid #4c4d4f; + top: 0; + width: 336px; +} +h3.sheet-site-divide-notes::after, +h3.sheet-site-divide-notes::before { + display: inline-block; + content: ""; + height: 5px; + border-top: 2px solid #4c4d4f; + top: 0; + width: 352px; +} +.sheet-sites-container { + margin-top: 1em; +} +label.sheet-site-details { + display: flex; + justify-content: center; + width: 48.7%; + margin: 0; + padding: 0; + height: auto; + border-radius: 0em; +} +.sheet-site-details-content { + width: 100%; + padding: 0.2em; + text-align: center; + border-radius: 0em; +} +.sheet-site-details-button:checked ~ .sheet-site-details-content { + background: #4c4d4f; + color: #fff; + transition: 0.5s ease; +} +.sheet-show-theme-domains, +.sheet-show-site-info { + margin-top: 0.5em; + transition: all 0.7s !important; +} +.sheet-show-theme-domains { + justify-content: space-between; +} +input[type="checkbox"].sheet-show-site-info:checked ~ div.sheet-show-site-info, +input[type="checkbox"].sheet-show-theme-domains:checked ~ div.sheet-show-theme-domains { + flex-flow: column; + visibility: visible; + transition: all 0.7s !important; + height: 640px; + opacity: 1; +} +div.sheet-show-theme-domains { + display: flex; + flex-flow: row !important; +} +h3.sheet-site-divide-notes { + margin-bottom: 0.5em; +} +input.sheet-site-name { + width: 70%; + padding: 2px; +} +input.sheet-site-name:focus { + outline: 3px solid #fd0; + outline-offset: 0; + box-shadow: inset 0 0 0 2px; +} +.sheet-site-card-container { + display: flex; + font-family: 'Crimson Text', Arial, sans-serif; + font-size: 1em; + padding: 1em; +} +.sheet-domain-cards, +.sheet-theme-cards { + border: 2px solid #4c4d4f; + border-radius: 1em; +} +.sheet-domain-header, +.sheet-theme-header { + margin-top: 0.7em; +} +.sheet-domain-column, +.sheet-theme-column { + width: 100%; +} +.sheet-card-column { + width: 48.7%; +} +.sheet-site-details-bar { + display: flex; + justify-content: space-between; +} +input[type='radio'].sheet-theme-cards:checked ~ div.sheet-theme-cards, +input[type='radio'].sheet-domain-cards:checked ~ div.sheet-domain-cards, +input[type='radio'].sheet-custom-cards:checked ~ div.sheet-custom-cards { + visibility: visible; + height: auto; + opacity: 1; + transition: 0.7s ease; +} +input[type='radio'].sheet-ancient:checked ~ div.sheet-ancient, +input[type='radio'].sheet-corrupted:checked ~ div.sheet-corrupted, +input[type='radio'].sheet-fortified:checked ~ div.sheet-fortified, +input[type='radio'].sheet-hallowed:checked ~ div.sheet-hallowed, +input[type='radio'].sheet-haunted:checked ~ div.sheet-haunted, +input[type='radio'].sheet-infested:checked ~ div.sheet-infested, +input[type='radio'].sheet-ravaged:checked ~ div.sheet-ravaged, +input[type='radio'].sheet-wild:checked ~ div.sheet-wild, +input[type='radio'].sheet-barrow:checked ~ div.sheet-barrow, +input[type='radio'].sheet-cavern:checked ~ div.sheet-cavern, +input[type='radio'].sheet-frozen-cavern:checked ~ div.sheet-frozen-cavern, +input[type='radio'].sheet-ice-reach:checked ~ div.sheet-ice-reach, +input[type='radio'].sheet-mine:checked ~ div.sheet-mine, +input[type='radio'].sheet-pass:checked ~ div.sheet-pass, +input[type='radio'].sheet-ruin:checked ~ div.sheet-ruin, +input[type='radio'].sheet-sea-cave:checked ~ div.sheet-sea-cave, +input[type='radio'].sheet-shadowfen:checked ~ div.sheet-shadowfen, +input[type='radio'].sheet-stronghold:checked ~ div.sheet-stronghold, +input[type='radio'].sheet-tanglewood:checked ~ div.sheet-tanglewood, +input[type='radio'].sheet-underkeep:checked ~ div.sheet-underkeep { + visibility: visible; + height: auto; + opacity: 1; + transition: 0.7s ease; +} +input[type="checkbox"].sheet-showhide:checked ~ div.sheet-showhide, +input[type="checkbox"].sheet-asset-companion:checked ~ div.sheet-companion, +input[type="checkbox"].sheet-asset-path:checked ~ div.sheet-path, +input[type="checkbox"].sheet-asset-combat-talent:checked ~ div.sheet-combat-talent, +input[type="checkbox"].sheet-asset-ritual:checked ~ div.sheet-ritual, +input[type="checkbox"].sheet-asset-custom:checked ~ div.sheet-asset-custom { + visibility: visible; + height: auto; + opacity: 1; + transition: 0.5s ease; +} +input[type="checkbox"].sheet-cave-lion:checked ~ div.sheet-cave-lion, +input[type="checkbox"].sheet-giant-spider:checked ~ div.sheet-giant-spider, +input[type="checkbox"].sheet-hawk:checked ~ div.sheet-hawk, +input[type="checkbox"].sheet-horse:checked ~ div.sheet-horse, +input[type="checkbox"].sheet-hound:checked ~ div.sheet-hound, +input[type="checkbox"].sheet-kindred:checked ~ div.sheet-kindred, +input[type="checkbox"].sheet-mammoth:checked ~ div.sheet-mammoth, +input[type="checkbox"].sheet-owl:checked ~ div.sheet-owl, +input[type="checkbox"].sheet-raven:checked ~ div.sheet-raven, +input[type="checkbox"].sheet-young-wyvern:checked ~ div.sheet-young-wyvern, +input[type="checkbox"].sheet-alchemist:checked ~ div.sheet-alchemist, +input[type="checkbox"].sheet-animal-kin:checked ~ div.sheet-animal-kin, +input[type="checkbox"].sheet-banner-sworn:checked ~ div.sheet-banner-sworn, +input[type="checkbox"].sheet-battle-scarred:checked ~ div.sheet-battle-scarred, +input[type="checkbox"].sheet-blade-bound:checked ~ div.sheet-blade-bound, +input[type="checkbox"].sheet-bonded:checked ~ div.sheet-bonded, +input[type="checkbox"].sheet-dancer:checked ~ div.sheet-dancer, +input[type="checkbox"].sheet-devotant:checked ~ div.sheet-devotant, +input[type="checkbox"].sheet-empowered:checked ~ div.sheet-empowered, +input[type="checkbox"].sheet-fortune-hunter:checked ~ div.sheet-fortune-hunter, +input[type="checkbox"].sheet-herbalist:checked ~ div.sheet-herbalist, +input[type="checkbox"].sheet-honorbound:checked ~ div.sheet-honorbound, +input[type="checkbox"].sheet-improviser:checked ~ div.sheet-improviser, +input[type="checkbox"].sheet-infiltrator:checked ~ div.sheet-infiltrator, +input[type="checkbox"].sheet-loyalist:checked ~ div.sheet-loyalist, +input[type="checkbox"].sheet-masked:checked ~ div.sheet-masked, +input[type="checkbox"].sheet-oathbreaker:checked ~ div.sheet-oathbreaker, +input[type="checkbox"].sheet-outcast:checked ~ div.sheet-outcast, +input[type="checkbox"].sheet-pretender:checked ~ div.sheet-pretender, +input[type="checkbox"].sheet-revenant:checked ~ div.sheet-revenant, +input[type="checkbox"].sheet-rider:checked ~ div.sheet-rider, +input[type="checkbox"].sheet-ritualist:checked ~ div.sheet-ritualist, +input[type="checkbox"].sheet-shadow-kin:checked ~ div.sheet-shadow-kin, +input[type="checkbox"].sheet-sighted:checked ~ div.sheet-sighted, +input[type="checkbox"].sheet-slayer:checked ~ div.sheet-slayer, +input[type="checkbox"].sheet-spirit-bound:checked ~ div.sheet-spirit-bound, +input[type="checkbox"].sheet-storyweaver:checked ~ div.sheet-storyweaver, +input[type="checkbox"].sheet-trickster:checked ~ div.sheet-trickster, +input[type="checkbox"].sheet-veteran:checked ~ div.sheet-veteran, +input[type="checkbox"].sheet-waterborn:checked ~ div.sheet-waterborn, +input[type="checkbox"].sheet-wayfinder:checked ~ div.sheet-wayfinder, +input[type="checkbox"].sheet-weapon-master:checked ~ div.sheet-weapon-master, +input[type="checkbox"].sheet-wildblood:checked ~ div.sheet-wildblood, +input[type="checkbox"].sheet-wright:checked ~ div.sheet-wright, +input[type="checkbox"].sheet-archer:checked ~ div.sheet-archer, +input[type="checkbox"].sheet-berserker:checked ~ div.sheet-berserker, +input[type="checkbox"].sheet-brawler:checked ~ div.sheet-brawler, +input[type="checkbox"].sheet-cutthroat:checked ~ div.sheet-cutthroat, +input[type="checkbox"].sheet-duelist:checked ~ div.sheet-duelist, +input[type="checkbox"].sheet-fletcher:checked ~ div.sheet-fletcher, +input[type="checkbox"].sheet-ironclad:checked ~ div.sheet-ironclad, +input[type="checkbox"].sheet-long-arm:checked ~ div.sheet-long-arm, +input[type="checkbox"].sheet-shield-bearer:checked ~ div.sheet-shield-bearer, +input[type="checkbox"].sheet-skirmisher:checked ~ div.sheet-skirmisher, +input[type="checkbox"].sheet-slinger:checked ~ div.sheet-slinger, +input[type="checkbox"].sheet-sunderer:checked ~ div.sheet-sunderer, +input[type="checkbox"].sheet-swordmaster:checked ~ div.sheet-swordmaster, +input[type="checkbox"].sheet-thunder-bringer:checked ~ div.sheet-thunder-bringer, +input[type="checkbox"].sheet-augur:checked ~ div.sheet-augur, +input[type="checkbox"].sheet-awakening:checked ~ div.sheet-awakening, +input[type="checkbox"].sheet-bind:checked ~ div.sheet-bind, +input[type="checkbox"].sheet-communion:checked ~ div.sheet-communion, +input[type="checkbox"].sheet-divination:checked ~ div.sheet-divination, +input[type="checkbox"].sheet-invoke:checked ~ div.sheet-invoke, +input[type="checkbox"].sheet-keen:checked ~ div.sheet-keen, +input[type="checkbox"].sheet-leech:checked ~ div.sheet-leech, +input[type="checkbox"].sheet-lightbearer:checked ~ div.sheet-lightbearer, +input[type="checkbox"].sheet-scry:checked ~ div.sheet-scry, +input[type="checkbox"].sheet-shadow-walk:checked ~ div.sheet-shadow-walk, +input[type="checkbox"].sheet-sway:checked ~ div.sheet-sway, +input[type="checkbox"].sheet-talisman:checked ~ div.sheet-talisman, +input[type="checkbox"].sheet-tether:checked ~ div.sheet-tether, +input[type="checkbox"].sheet-totem:checked ~ div.sheet-totem, +input[type="checkbox"].sheet-visage:checked ~ div.sheet-visage, +input[type="checkbox"].sheet-ward:checked ~ div.sheet-ward { + display: block; + visibility: visible; + height: auto; + opacity: 1; + transition: 0.5s ease; +} +select.sheet-path-dropdown option[value="alchemist"] ~ .sheet-alchemist { + display: flex; + visibility: visible; + height: auto; + opacity: 1; + transition: 0.5s ease; +} +input[type="radio"].sheet-asset-builder:checked ~ div.sheet-asset-builder, +input[type="radio"].sheet-asset-view:checked ~ div.sheet-asset-view { + display: block; + visibility: visible; + height: auto; + opacity: 1; + transition: 0.5s ease; +} +input[type="checkbox"].sheet-builder-titles-1:checked ~ div.sheet-builder-titles-1, +input[type="checkbox"].sheet-builder-titles-2:checked ~ div.sheet-builder-titles-2, +input[type="checkbox"].sheet-builder-titles-3:checked ~ div.sheet-builder-titles-3, +input[type="checkbox"].sheet-builder-ability-1-text:checked ~ div.sheet-builder-ability-1-text, +input[type="checkbox"].sheet-builder-ability-1-text-input:checked ~ div.sheet-builder-ability-1-text-input, +input[type="checkbox"].sheet-builder-ability-2-text:checked ~ div.sheet-builder-ability-2-text, +input[type="checkbox"].sheet-builder-ability-2-text-input:checked ~ div.sheet-builder-ability-2-text-input, +input[type="checkbox"].sheet-builder-ability-3-text:checked ~ div.sheet-builder-ability-3-text, +input[type="checkbox"].sheet-builder-ability-3-text-input:checked ~ div.sheet-builder-ability-3-text-input, +input[type="checkbox"].sheet-track-dropdown-1:checked ~ div.sheet-track-dropdown-1, +input[type="checkbox"].sheet-track-dropdown-2:checked ~ div.sheet-track-dropdown-2, +input[type="checkbox"].sheet-track-dropdown-3:checked ~ div.sheet-track-dropdown-3, +input[type="checkbox"].sheet-track-dropdown-4:checked ~ div.sheet-track-dropdown-4, +input[type="checkbox"].sheet-track-dropdown-5:checked ~ div.sheet-track-dropdown-5, +input[type="checkbox"].sheet-track-dropdown-6:checked ~ div.sheet-track-dropdown-6 { + display: flex; + visibility: visible; + height: auto; + opacity: 1; + transition: 0.5s ease; +} +div.sheet-builder-titles-1, +div.sheet-builder-titles-2, +div.sheet-builder-titles-3 { + flex-flow: column; + margin-bottom: 0.3em; +} +.sheet-view-title-width { + width: 22em; + margin: 0em 1em; +} +.sheet-asset-custom { + padding: 0.2em; +} +div.sheet-asset-view, +div.sheet-asset-builder { + margin-top: 0.3em; +} +input[type=checkbox].sheet-custom-asset-ability { + opacity: 1; + margin: 0px 5px 0 5px; +} +.sheet-custom-track { + width: 20.5em; + margin-top: 0em; +} +.sheet-ability-checkbox, +.sheet-build-text { + font-family: 'Crimson Text', Arial, sans-serif; + font-size: 13px; + resize: none; + height: 100px; + width: 22em; + margin: 0em 0.5em 0em 0.4em; +} +.sheet-ability-text { + font-family: 'Crimson Text', Arial, sans-serif; + font-size: 14.3px; + resize: none; + height: 100px; + margin-bottom: 0em; + width: 18em; +} +.sheet-builder-dropdown { + font-size: 14px; +} +.sheet-asset-description { + margin: 0 12px 5px 12px; + font-family: 'Crimson Text', Arial, sans-serif; +} +div.sheet-asset-ability { + width: 100%; + height: 100%; + margin: 0px 12px 6px 10px; +} +div.sheet-asset-ability ul { + margin-left: 15px; + margin-bottom: 0; +} +div.sheet-assets { + display: block !important; + text-align: left; +} +div.sheet-assets .repcontainer { + display: flex; + flex-flow: row wrap; + padding: 0.5em; + font-family: 'Crimson Text', Arial, sans-serif; + justify-content: space-evenly; +} +div.sheet-assets .repcontainer .repitem { + float: left !important; +} +.sheet-asset-write-in { + margin-bottom: 4px; +} +.sheet-asset-ability-write-in { + margin-top: 4px; +} +.sheet-asset-write-in, +.sheet-asset-ability-write-in { + display: flex; + white-space: nowrap; +} +.sheet-asset { + display: inline-block; + width: 320px; + max-width: 320px; + border: 2px solid #4c4d4f; + margin-bottom: 20px; + font-size: 14.3px; + line-height: 1.25; +} +.sheet-asset input.sheet-border-bottom { + border-bottom-color: #4c4d4f; +} +.sheet-asset-write-in input, +.sheet-asset-ability-write-in input { + height: 1.4em; + width: 100%; + padding: 0; + margin-left: 5px; + margin-top: 2px; + font-size: 15px; + font-weight: bold; +} +input[type="checkbox"].sheet-asset-ability { + opacity: 1 !important; + margin-top: 0.2em; +} +.sheet-asset-header { + background: #4c4d4f; + color: #fff; +} +.sheet-asset-type-selection { + background: #4c4d4f; + color: #fff; + border: 0; +} +.sheet-asset-type-dropdown { + color: #fff; + background: #4c4d4f; + width: auto; + font-size: 15px; + font-weight: bold; + text-transform: uppercase; + -webkit-appearance: menulist; + margin: 6px 4px; +} +.sheet-sub-dropdown { + -webkit-appearance: menulist; + width: auto; + margin: 7px 4px; + font-size: 17px; + font-weight: bold; + text-transform: uppercase; +} +.sheet-asset-track-wrapper { + margin: 10px; + display: flex; +} +.sheet-asset-track-box { + width: 100%; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + border-radius: 0%; + background: transparent; + border: 2px solid #4c4d4f; + padding: 5px; + margin-bottom: 2px; +} +.sheet-asset-track-wrapper-wordy { + text-transform: uppercase; +} +.sheet-asset-track-wrapper-wordy .sheet-asset-track-box { + flex-direction: row; +} +.sheet-asset-track-box-display { + font-size: 17px; + font-weight: bold; +} +.sheet-condition-list { + display: flex; + flex-flow: row wrap; + justify-content: space-evenly; +} +.sheet-condition-component { + margin-top: 1em; +} +.sheet-condition-btn { + width: 14%; +} +input.sheet-condition-amnesiac:checked ~ div.sheet-condition-amnesiac { + visibility: visible; + height: auto; + opacity: 1; + transition: 0.5s ease; + border: 2px solid #4c4d4f; + margin-bottom: 1em; + width: 30%; + margin: 0em 0.5em 1em 0.5em; +} +input.sheet-condition-amok:checked ~ div.sheet-condition-amok { + visibility: visible; + height: auto; + opacity: 1; + transition: 0.5s ease; + border: 2px solid #4c4d4f; + margin-bottom: 1em; + width: 30%; + margin: 0em 0.5em 1em 0.5em; +} +input.sheet-condition-attached:checked ~ div.sheet-condition-attached { + visibility: visible; + height: auto; + opacity: 1; + transition: 0.5s ease; + border: 2px solid #4c4d4f; + margin-bottom: 1em; + width: 30%; + margin: 0em 0.5em 1em 0.5em; +} +input.sheet-condition-blinded:checked ~ div.sheet-condition-blinded { + visibility: visible; + height: auto; + opacity: 1; + transition: 0.5s ease; + border: 2px solid #4c4d4f; + margin-bottom: 1em; + width: 30%; + margin: 0em 0.5em 1em 0.5em; +} +input.sheet-condition-compulsed:checked ~ div.sheet-condition-compulsed { + visibility: visible; + height: auto; + opacity: 1; + transition: 0.5s ease; + border: 2px solid #4c4d4f; + margin-bottom: 1em; + width: 30%; + margin: 0em 0.5em 1em 0.5em; +} +input.sheet-condition-corrupted:checked ~ div.sheet-condition-corrupted { + visibility: visible; + height: auto; + opacity: 1; + transition: 0.5s ease; + border: 2px solid #4c4d4f; + margin-bottom: 1em; + width: 30%; + margin: 0em 0.5em 1em 0.5em; +} +input.sheet-condition-cursed:checked ~ div.sheet-condition-cursed { + visibility: visible; + height: auto; + opacity: 1; + transition: 0.5s ease; + border: 2px solid #4c4d4f; + margin-bottom: 1em; + width: 30%; + margin: 0em 0.5em 1em 0.5em; +} +input.sheet-condition-dazed:checked ~ div.sheet-condition-dazed { + visibility: visible; + height: auto; + opacity: 1; + transition: 0.5s ease; + border: 2px solid #4c4d4f; + margin-bottom: 1em; + width: 30%; + margin: 0em 0.5em 1em 0.5em; +} +input.sheet-condition-deafened:checked ~ div.sheet-condition-deafened { + visibility: visible; + height: auto; + opacity: 1; + transition: 0.5s ease; + border: 2px solid #4c4d4f; + margin-bottom: 1em; + width: 30%; + margin: 0em 0.5em 1em 0.5em; +} +input.sheet-condition-dying:checked ~ div.sheet-condition-dying { + visibility: visible; + height: auto; + opacity: 1; + transition: 0.5s ease; + border: 2px solid #4c4d4f; + margin-bottom: 1em; + width: 30%; + margin: 0em 0.5em 1em 0.5em; +} +input.sheet-condition-encumbered:checked ~ div.sheet-condition-encumbered { + visibility: visible; + height: auto; + opacity: 1; + transition: 0.5s ease; + border: 2px solid #4c4d4f; + margin-bottom: 1em; + width: 30%; + margin: 0em 0.5em 1em 0.5em; +} +input.sheet-condition-hallucinating:checked ~ div.sheet-condition-hallucinating { + visibility: visible; + height: auto; + opacity: 1; + transition: 0.5s ease; + border: 2px solid #4c4d4f; + margin-bottom: 1em; + width: 30%; + margin: 0em 0.5em 1em 0.5em; +} +input.sheet-condition-hyperthermic:checked ~ div.sheet-condition-hyperthermic { + visibility: visible; + height: auto; + opacity: 1; + transition: 0.5s ease; + border: 2px solid #4c4d4f; + margin-bottom: 1em; + width: 30%; + margin: 0em 0.5em 1em 0.5em; +} +input.sheet-condition-hypothermic:checked ~ div.sheet-condition-hypothermic { + visibility: visible; + height: auto; + opacity: 1; + transition: 0.5s ease; + border: 2px solid #4c4d4f; + margin-bottom: 1em; + width: 30%; + margin: 0em 0.5em 1em 0.5em; +} +input.sheet-condition-maimed:checked ~ div.sheet-condition-maimed { + visibility: visible; + height: auto; + opacity: 1; + transition: 0.5s ease; + border: 2px solid #4c4d4f; + margin-bottom: 1em; + width: 30%; + margin: 0em 0.5em 1em 0.5em; +} +input.sheet-condition-mute:checked ~ div.sheet-condition-mute { + visibility: visible; + height: auto; + opacity: 1; + transition: 0.5s ease; + border: 2px solid #4c4d4f; + margin-bottom: 1em; + width: 30%; + margin: 0em 0.5em 1em 0.5em; +} +input.sheet-condition-palsied:checked ~ div.sheet-condition-palsied { + visibility: visible; + height: auto; + opacity: 1; + transition: 0.5s ease; + border: 2px solid #4c4d4f; + margin-bottom: 1em; + width: 30%; + margin: 0em 0.5em 1em 0.5em; +} +input.sheet-condition-phobiac:checked ~ div.sheet-condition-phobiac { + visibility: visible; + height: auto; + opacity: 1; + transition: 0.5s ease; + border: 2px solid #4c4d4f; + margin-bottom: 1em; + width: 30%; + margin: 0em 0.5em 1em 0.5em; +} +input.sheet-condition-poisoned:checked ~ div.sheet-condition-poisoned { + visibility: visible; + height: auto; + opacity: 1; + transition: 0.5s ease; + border: 2px solid #4c4d4f; + margin-bottom: 1em; + width: 30%; + margin: 0em 0.5em 1em 0.5em; +} +input.sheet-condition-reeled:checked ~ div.sheet-condition-reeled { + visibility: visible; + height: auto; + opacity: 1; + transition: 0.5s ease; + border: 2px solid #4c4d4f; + margin-bottom: 1em; + width: 30%; + margin: 0em 0.5em 1em 0.5em; +} +input.sheet-condition-shaken:checked ~ div.sheet-condition-shaken { + visibility: visible; + height: auto; + opacity: 1; + transition: 0.5s ease; + border: 2px solid #4c4d4f; + margin-bottom: 1em; + width: 30%; + margin: 0em 0.5em 1em 0.5em; +} +input.sheet-condition-starved:checked ~ div.sheet-condition-starved { + visibility: visible; + height: auto; + opacity: 1; + transition: 0.5s ease; + border: 2px solid #4c4d4f; + margin-bottom: 1em; + width: 30%; + margin: 0em 0.5em 1em 0.5em; +} +input.sheet-condition-stupefied:checked ~ div.sheet-condition-stupefied { + visibility: visible; + height: auto; + opacity: 1; + transition: 0.5s ease; + border: 2px solid #4c4d4f; + margin-bottom: 1em; + width: 30%; + margin: 0em 0.5em 1em 0.5em; +} +input.sheet-condition-suffocated:checked ~ div.sheet-condition-suffocated { + visibility: visible; + height: auto; + opacity: 1; + transition: 0.5s ease; + border: 2px solid #4c4d4f; + margin-bottom: 1em; + width: 30%; + margin: 0em 0.5em 1em 0.5em; +} +input.sheet-condition-tormented:checked ~ div.sheet-condition-tormented { + visibility: visible; + height: auto; + opacity: 1; + transition: 0.5s ease; + border: 2px solid #4c4d4f; + margin-bottom: 1em; + width: 30%; + margin: 0em 0.5em 1em 0.5em; +} +input.sheet-condition-unconscious:checked ~ div.sheet-condition-unconscious { + visibility: visible; + height: auto; + opacity: 1; + transition: 0.5s ease; + border: 2px solid #4c4d4f; + margin-bottom: 1em; + width: 30%; + margin: 0em 0.5em 1em 0.5em; +} +input.sheet-condition-unprepared:checked ~ div.sheet-condition-unprepared { + visibility: visible; + height: auto; + opacity: 1; + transition: 0.5s ease; + border: 2px solid #4c4d4f; + margin-bottom: 1em; + width: 30%; + margin: 0em 0.5em 1em 0.5em; +} +input.sheet-condition-unsteady:checked ~ div.sheet-condition-unsteady { + visibility: visible; + height: auto; + opacity: 1; + transition: 0.5s ease; + border: 2px solid #4c4d4f; + margin-bottom: 1em; + width: 30%; + margin: 0em 0.5em 1em 0.5em; +} +input.sheet-condition-weakened:checked ~ div.sheet-condition-weakened { + visibility: visible; + height: auto; + opacity: 1; + transition: 0.5s ease; + border: 2px solid #4c4d4f; + margin-bottom: 1em; + width: 30%; + margin: 0em 0.5em 1em 0.5em; +} +input.sheet-condition-wounded:checked ~ div.sheet-condition-wounded { + visibility: visible; + height: auto; + opacity: 1; + transition: 0.5s ease; + border: 2px solid #4c4d4f; + margin-bottom: 1em; + width: 30%; + margin: 0em 0.5em 1em 0.5em; +} +.sheet-condition-cards { + display: flex; + flex-flow: row wrap; + margin-top: 0.5em; + justify-content: center; +} +.sheet-condition-card { + font-family: 'Crimson Text', Arial, sans-serif; + font-weight: normal; + margin: 0; + width: 0; +} +.sheet-card-header { + background: #4c4d4f; + color: #fff; + padding: 0.3em 0.5em 0.3em 0.5em; + font-family: 'Montserrat', Arial, sans-serif; + font-weight: bold; +} +.sheet-card-title { + padding: 0.5em 0.5em 0em 0.5em; +} +.sheet-card-body { + padding: 0.5em; + display: flex; + flex-flow: column; +} +.sheet-severity-track { + display: flex; + margin-top: 1em; +} +.sheet-track-child { + width: 100%; +} +.sheet-track-child .sheet-btn-content { + padding: 0.4em 0.2em 0.2em 0.2em; + align-self: center; +} +ul.sheet-condition-body-list { + margin: 0em 0.2em 0.3em 1.3em; +} +p.sheet-card-description, +p.sheet-severity-reduce, +p.sheet-condition-clear { + margin-bottom: 0.3em; +} +.sheet-equipment { + font-family: 'Crimson Text', Arial, sans-serif; +} +.sheet-equipment-container { + display: flex; + flex-flow: row; + justify-content: space-evenly; + border-bottom: 1px solid #4c4d4f; + font-family: 'Crimson Text', Arial, sans-serif; +} +.sheet-equipment-container input[type=text] { + width: 100%; + border: 0; + padding: 0; + outline: none; +} +.sheet-equipment-container input[type=text]::placeholder { + color: #7a7a7a; +} +.sheet-equipment-container .sheet-common-btn { + margin: 0; +} +.sheet-equipment-container-child { + width: 15%; + display: flex; +} +.sheet-equipment-container-child.sheet-armor-column-4 { + width: 20%; +} +.sheet-equipment-container-child.sheet-shield-column-1 { + width: 35%; +} +.sheet-equipment-container-child.sheet-shield-column-2 { + width: 15%; +} +.sheet-equipment-container-child.sheet-shield-column-3 { + width: 22%; +} +.sheet-equipment-container-child.sheet-shield-column-4 { + width: 14%; +} +.sheet-equipment-container-child.sheet-addon-column-1 { + width: 15%; +} +.sheet-equipment-container-child.sheet-addon-column-2 { + width: 77.5%; +} +.sheet-equipment-container-child.sheet-provision-column-1 { + width: 15%; +} +.sheet-equipment-container-child.sheet-provision-column-2 { + width: 70%; +} +.sheet-equipment-container-child.sheet-provision-column-3 { + width: 5%; +} +.sheet-equipment-container-child.sheet-armor-column-1 { + width: 24%; +} +.sheet-equipment-container-child.sheet-weapons-column-3 { + width: 40%; +} +.sheet-equipment-title { + margin: 0; +} +.sheet-table-header { + border-bottom: 2px solid #4c4d4f; + background: #e1e1e1; +} +label.sheet-equipment-table-btn { + border: 0; + border-left: 2px solid #4c4d4f; + border-right: 2px solid #4c4d4f; +} +div.sheet-equipment-table-btn { + font-size: 12px; + padding: 0.2em 0.1em 0.1em 0.1em; +} +.sheet-effort-container { + margin-top: 1em; + display: flex; + flex-flow: row wrap; +} +.sheet-group-title { + width: auto; + margin-bottom: 0.7em; + border-bottom: 2px solid #4c4d4f; + padding-bottom: 0.1em; +} +.sheet-group-container { + display: flex; + flex-flow: column wrap; + width: 50%; + margin-top: 1em; +} +.sheet-group-list { + display: flex; + flex-flow: column; + width: 100%; +} +.sheet-effort-track { + display: flex; +} +.sheet-effort-list { + display: flex; + justify-content: space-between; + padding: 0em 2em 0em 2em; +} +input.sheet-oracle-ironcrunch:checked ~ div.sheet-oracle-ironcrunch, +input.sheet-oracle-ironsworn:checked ~ div.sheet-oracle-ironsworn, +input.sheet-oracle-delve:checked ~ div.sheet-oracle-delve { + visibility: visible; + height: auto; + opacity: 1; + transition: 0.7s ease; +} +.sheet-oracle-btn { + margin: 0; + width: 100%; +} +.sheet-oracles { + display: flex; + flex-wrap: wrap; + flex-direction: column; +} +.sheet-oracle { + margin: 0em; + color: #4c4d4f; + display: flex; +} +input[type=radio].sheet-action:checked ~ div.sheet-action, +input[type=radio].sheet-theme:checked ~ div.sheet-theme, +input[type=radio].sheet-region:checked ~ div.sheet-region, +input[type=radio].sheet-location:checked ~ div.sheet-location, +input[type=radio].sheet-coastal-waters-location:checked ~ div.sheet-coastal-waters-location, +input[type=radio].sheet-location-descriptor:checked ~ div.sheet-location-descriptor, +input[type=radio].sheet-settlement-name:checked ~ div.sheet-settlement-name, +input[type=radio].sheet-quick-settlement-name:checked ~ div.sheet-quick-settlement-name, +input[type=radio].sheet-settlement-trouble:checked ~ div.sheet-settlement-trouble, +input[type=radio].sheet-character-role-oracle:checked ~ div.sheet-character-role-oracle, +input[type=radio].sheet-character-goal:checked ~ div.sheet-character-goal, +input[type=radio].sheet-character-descriptor:checked ~ div.sheet-character-descriptor, +input[type=radio].sheet-ironlander-names:checked ~ div.sheet-ironlander-names, +input[type=radio].sheet-elf-names:checked ~ div.sheet-elf-names, +input[type=radio].sheet-giant-names:checked ~ div.sheet-giant-names, +input[type=radio].sheet-varou-names:checked ~ div.sheet-varou-names, +input[type=radio].sheet-troll-names:checked ~ div.sheet-troll-names, +input[type=radio].sheet-combat-action:checked ~ div.sheet-combat-action, +input[type=radio].sheet-mystic-backlash:checked ~ div.sheet-mystic-backlash, +input[type=radio].sheet-major-plot-twist:checked ~ div.sheet-major-plot-twist, +input[type=radio].sheet-challenge-rank:checked ~ div.sheet-challenge-rank, +input[type=radio].sheet-pay-the-price:checked ~ div.sheet-pay-the-price, +input[type=radio].sheet-ask-the-oracle:checked ~ div.sheet-ask-the-oracle, +input[type=radio].sheet-endure-harm:checked ~ div.sheet-endure-harm, +input[type=radio].sheet-endure-stress:checked ~ div.sheet-endure-stress, +input[type=radio].sheet-feature-aspect:checked ~ div.sheet-feature-aspect, +input[type=radio].sheet-feature-focus:checked ~ div.sheet-feature-focus, +input[type=radio].sheet-site-name-format:checked ~ div.sheet-site-name-format, +input[type=radio].sheet-site-name-desc:checked ~ div.sheet-site-name-desc, +input[type=radio].sheet-site-name-detail:checked ~ div.sheet-site-name-detail, +input[type=radio].sheet-site-name-namesake:checked ~ div.sheet-site-name-namesake, +input[type=radio].sheet-site-name-place:checked ~ div.sheet-site-name-place, +input[type=radio].sheet-site-nature-theme:checked ~ div.sheet-site-nature-theme, +input[type=radio].sheet-site-nature-domain:checked ~ div.sheet-site-nature-domain, +input[type=radio].sheet-character-disposition:checked ~ div.sheet-character-disposition, +input[type=radio].sheet-character-activity:checked ~ div.sheet-character-activity, +input[type=radio].sheet-monstrosity-size:checked ~ div.sheet-monstrosity-size, +input[type=radio].sheet-monstrosity-primary-form:checked ~ div.sheet-monstrosity-primary-form, +input[type=radio].sheet-monstrosity-characteristics:checked ~ div.sheet-monstrosity-characteristics, +input[type=radio].sheet-monstrosity-abilities:checked ~ div.sheet-monstrosity-abilities, +input[type=radio].sheet-trap-event:checked ~ div.sheet-trap-event, +input[type=radio].sheet-trap-component:checked ~ div.sheet-trap-component, +input[type=radio].sheet-combat-event-method:checked ~ div.sheet-combat-event-method, +input[type=radio].sheet-combat-event-target:checked ~ div.sheet-combat-event-target, +input[type=radio].sheet-threat-category:checked ~ div.sheet-threat-category, +input[type=radio].sheet-threat-cursed-site:checked ~ div.sheet-threat-cursed-site, +input[type=radio].sheet-threat-burgeoning-conflict:checked ~ div.sheet-threat-burgeoning-conflict, +input[type=radio].sheet-threat-environmental-calamity:checked ~ div.sheet-threat-environmental-calamity, +input[type=radio].sheet-threat-malignant-plague:checked ~ div.sheet-threat-malignant-plague, +input[type=radio].sheet-threat-rampaging-creature:checked ~ div.sheet-threat-rampaging-creature, +input[type=radio].sheet-threat-ravaging-horde:checked ~ div.sheet-threat-ravaging-horde, +input[type=radio].sheet-threat-scheming-leader:checked ~ div.sheet-threat-scheming-leader, +input[type=radio].sheet-threat-power-hungry-mystic:checked ~ div.sheet-threat-power-hungry-mystic, +input[type=radio].sheet-threat-zealous-cult:checked ~ div.sheet-threat-zealous-cult, +input[type=radio].sheet-danger-category:checked ~ div.sheet-danger-category, +input[type=radio].sheet-danger-situation:checked ~ div.sheet-danger-situation, +input[type=radio].sheet-danger-road:checked ~ div.sheet-danger-road, +input[type=radio].sheet-danger-character:checked ~ div.sheet-danger-character, +input[type=radio].sheet-opportunity-item:checked ~ div.sheet-opportunity-item, +input[type=radio].sheet-opportunity-category:checked ~ div.sheet-opportunity-category, +input[type=radio].sheet-opportunity-character:checked ~ div.sheet-opportunity-character, +input[type=radio].sheet-opportunity-area:checked ~ div.sheet-opportunity-area, +input[type=radio].sheet-insanity-category:checked ~ div.sheet-insanity-category, +input[type=radio].sheet-insanity-short:checked ~ div.sheet-insanity-short, +input[type=radio].sheet-insanity-long:checked ~ div.sheet-insanity-long { + visibility: visible; + height: auto; + opacity: 1; + transition: 0.5s ease; +} +.sheet-oracle-container { + display: flex; + opacity: 1; + font-family: 'Montserrat', Arial, sans-serif; + font-size: 1em; + font-weight: bold; + justify-content: space-between; + margin-top: 1em; + padding: 0.1em; +} +.sheet-oracle-column { + display: flex; + flex-direction: column; +} +.sheet-theme-outline { + border: 1px solid #4c4d4f; +} +span.sheet-oracle-result { + width: 80%; +} +.sheet-oracle-box { + border: 2px solid #4c4d4f; + box-sizing: border-box; + width: 100%; +} +.sheet-oracle-box:nth-child(n+2) { + margin-top: 10px; +} +.sheet-oracle-title { + background-color: #4c4d4f; + color: #fff; + border-bottom: 1px solid #4c4d4f; + font-size: 1.4em; + font-weight: bold; + padding-left: 5px; + padding-right: 5px; + text-transform: uppercase; +} +.sheet-oracle-table-preview { + width: auto; +} +.sheet-oracle-show { + display: inline-flex; + font-size: 1em; + margin: 0em; + padding: 0.3em; +} +.sheet-oracle-show:hover { + background: #969696; + cursor: pointer; + transition: 0.5s ease; +} +.sheet-oracle-table { + border: 2px solid #4c4d4f; +} +.sheet-oracle-row:nth-child(2n+1), +.sheet-oracle:nth-child(2n+1) { + background-color: #ddd; +} +.sheet-oracle-row { + padding: 3px 0px 3px 0px; + display: flex; + height: auto; +} +.sheet-oracle-row-2-column { + width: 50%; +} +.sheet-oracle-row-3-column { + width: 33.33%; +} +.sheet-oracle-row-4-column { + width: 25%; +} +.sheet-oracle-roll { + width: 20%; + padding-left: 0.5em; +} +.sheet-oracle-table-2-column { + display: flex; + flex-flow: column wrap; + height: 48em; +} +.sheet-oracle-table-3-column { + display: flex; + flex-flow: column wrap; + height: 63em; +} +.sheet-oracle-table-4-column { + display: flex; + flex-flow: column wrap; + height: 93em; +} +.sheet-oracle-table-2-column-group { + display: flex; +} +.sheet-table-list { + width: 33%; +} +.sheet-oracle-column.sheet-table-main { + width: 66%; +} +.sheet-oracle-footer { + background-color: #434b4d; + color: #fff; + line-height: 0.9em; + font-size: 0.9em; + font-family: 'Montserrat', Arial, sans-serif; + font-variant: small-caps; + font-weight: bold; + text-align: left; + padding: 0.5rem; +} +.sheet-oracle-preview { + width: max-content; +} +.sheet-column-wrap { + width: 50%; +} +.sheet-debilities { + margin-bottom: 0px; +} +.sheet-debility { + display: flex; + flex-flow: row wrap; +} +.sheet-flex-container { + display: flex; +} +.sheet-flex-wrapper { + display: flex; + flex-direction: column; + margin-bottom: 10px; + font-weight: normal; + padding: 0.5em; +} +.sheet-track-box-input { + width: 80px; + height: 45px !important; + opacity: 0; + vertical-align: top; +} +.sheet-track-box-back { + width: 80px; + height: 45px; + margin-top: -45px; +} +.sheet-resources-box-input { + width: 80px; + height: 40px !important; + opacity: 0; + vertical-align: top; +} +.sheet-resources-box-back { + width: 80px; + height: 40px; + margin-top: -40px; +} +.sheet-track-box-input:hover ~ .sheet-track-box-back, +.sheet-resources-box-input:hover ~ .sheet-resources-box-back { + background: #ccc; + transition: 0.5s ease; +} +.sheet-track-box-input:checked ~ .sheet-track-box-back, +.sheet-resources-box-input:checked ~ .sheet-resources-box-back { + background: #4c4d4f; + color: #fff; + transition: 0.5s ease; +} +.sheet-track-box-value { + padding: 0px; + font-weight: bold; + height: 35px; + padding-top: 10px; + font-size: 18px; + color: inherit; +} +.sheet-resources-box-value { + padding: 0px; + font-weight: bold; + height: 35px; + padding-top: 10px; + font-size: 18px; + color: inherit; +} +.sheet-resources-title-box { + width: 80px; + height: 40px; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + border-radius: 0%; + background: transparent; + border: 2px solid #4c4d4f; + margin-top: 20px; + margin-bottom: 2px; +} +.sheet-resources-box { + width: 80px; + height: 40px; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + border-radius: 0%; + background: transparent; + border: 2px solid #4c4d4f; + margin-bottom: 2px; +} +.sheet-pc-name { + width: 100%; + font-weight: bold; + font-size: 14px; + border: 2px solid #4c4d4f; + background: #e6e7e8; + color: #4c4d4f; + border-radius: 0; +} +.sheet-debil-desc { + width: 100%; + font-weight: bold; + font-size: 14px; +} +.sheet-border { + border: 1px solid #ccc; + border-radius: 4px; +} +textarea.sheet-full-width { + width: 95%; + resize: vertical; +} +input.sheet-filler[type="radio"], +input[type="checkbox"].sheet-checkbox { + opacity: 0; + width: 16px; + height: 16px; + position: relative; + top: 5px; + left: 6px; + margin: -10px; + cursor: pointer; + z-index: 1; +} +/* Fake radio/checkbox */ +input[type="radio"] + span::before, +input[type="checkbox"].sheet-checkbox + span::before { + margin-right: 4px; + border: solid 1px #a8a8a8; + line-height: 14px; + text-align: center; + display: inline-block; + vertical-align: middle; + -moz-box-shadow: 0 0 2px #ccc; + -webkit-box-shadow: 0 0 2px #ccc; + box-shadow: 0 0 2px #ccc; + background: #f6f6f6; + background: -moz-radial-gradient(#f6f6f6, #dfdfdf); + background: -webkit-radial-gradient(#f6f6f6, #dfdfdf); + background: -ms-radial-gradient(#f6f6f6, #dfdfdf); + background: -o-radial-gradient(#f6f6f6, #dfdfdf); + background: radial-gradient(#f6f6f6, #dfdfdf); +} +input[type="checkbox"].sheet-checkbox + span::before, +input.sheet-filler[type="radio"] + span::before { + content: ""; + width: 14px; + height: 14px; + font-size: 12px; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; +} +input[type="checkbox"].sheet-checkbox:checked + span::before { + content: "■"; +} +input.sheet-zeroxp[type="radio"] + span::before { + content: "0" !important; +} +input.sheet-filler[type="radio"] + span::before { + content: "■"; +} +/* Remove dot from all radios _after_ selected one */ +input.sheet-filler[type="radio"]:checked ~ input.sheet-filler[type="radio"] + span::before { + content: ""; +} +span.sheet-showhide:checked { + background-color: #4c4d4f; + color: #fff; + transition: 0.5s ease; +} +span.sheet-showhide { + display: inline; + border: 1px solid #ccc; + margin-right: 11px; + border-radius: 4px; + padding: 2px 4px; + font-weight: bold; + font-size: 14px; +} +span.sheet-showhide:hover { + cursor: pointer; + border-radius: 4px; + padding: 2px 4px; + background-color: #ccc; + color: #4c4d4f; + transition: 0.5s ease; +} +div.sheet-showhide { + visibility: hidden; + transition: opacity 1s ease-out; + opacity: 0; + height: 0; + overflow: hidden; +} +.sheet-hide { + display: none; +} +div.sheet-preview-roll { + padding: 0em; +} +span.sheet-preview-roll { + width: 30%; + margin-left: 1em; +} +.sheet-button-container { + width: 2.5em; + border: 2px solid #4c4d4f; +} +.sheet-button-container-preview { + width: 2.4em; +} +.sheet-no-border { + border: 0; +} +.sheet-requirement-area { + height: auto; + margin-bottom: 5px; +} +input.sheet-border-bottom { + border-bottom: 1px solid #4c4d4f; + border-radius: 0em; +} +.sheet-full-width { + width: 100%; + margin-top: 0.3em; +} +.sheet-rolltemplate-ironcrunch_oracles .sheet-result-row, +.sheet-rolltemplate-ironsworn_oracles .sheet-result-row, +.sheet-rolltemplate-delve_oracles .sheet-result-row { + padding: 0.5em; +} +.sheet-rolltemplate-ironcrunch_oracles .sheet-oracle-dice, +.sheet-rolltemplate-ironsworn_oracles .sheet-oracle-dice, +.sheet-rolltemplate-ironcrunch_delve .sheet-oracle-dice, +.sheet-rolltemplate-delve_oracles .sheet-oracle-dice { + align-self: center; + margin-right: 0.5em; +} +.sheet-rolltemplate-ironcrunch_oracles .sheet-oracle-dice span, +.sheet-rolltemplate-ironsworn_oracles .sheet-oracle-dice span, +.sheet-rolltemplate-ironcrunch_delve .sheet-oracle-dice span, +.sheet-rolltemplate-delve_oracles .sheet-oracle-dice span { + border: 0px !important; +} +.sheet-rolltemplate-ironcrunch_oracles .sheet-oracle-double-dice, +.sheet-rolltemplate-ironsworn_oracles .sheet-oracle-double-dice, +.sheet-rolltemplate-ironcrunch_delve .sheet-oracle-double-dice, +.sheet-rolltemplate-delve_oracles .sheet-oracle-double-dice { + width: 5.7em; + text-align: center; + padding: 0.1em; +} +.sheet-rolltemplate-ironcrunch_oracles .sheet-oracle-double-dice span, +.sheet-rolltemplate-ironsworn_oracles .sheet-oracle-double-dice span, +.sheet-rolltemplate-ironcrunch_delve .sheet-oracle-double-dice span, +.sheet-rolltemplate-delve_oracles .sheet-oracle-double-dice span { + border: 0px !important; +} +.sheet-rolltemplate-ironcrunch_oracles .sheet-roll-container, +.sheet-rolltemplate-ironsworn_oracles .sheet-roll-container, +.sheet-rolltemplate-delve_oracles .sheet-roll-container { + background: #33323c; + color: #fff; + font-size: 1em; + font-family: 'Roboto', Arial, sans-serif; + border: 1px solid #000; +} +.sheet-rolltemplate-ironcrunch_oracles .sheet-result-row, +.sheet-rolltemplate-ironsworn_oracles .sheet-result-row, +.sheet-rolltemplate-delve_oracles .sheet-result-row { + display: flex; + justify-content: space-between; +} +.sheet-rolltemplate-ironcrunch_oracles .sheet-roll-outcome, +.sheet-rolltemplate-ironsworn_oracles .sheet-roll-outcome, +.sheet-rolltemplate-delve_oracles .sheet-roll-outcome { + background: #403f4b; + border: 1px solid #000; +} +.sheet-rolltemplate-ironcrunch_oracles .inlinerollresult, +.sheet-rolltemplate-ironsworn_oracles .inlinerollresult, +.sheet-rolltemplate-delve_oracles .inlinerollresult { + display: inline-block; + min-width: 1.5em; + text-align: center; + border: 2px solid #33323c; + background: transparent; + border-radius: 1em; +} +.sheet-rolltemplate-ironcrunch_oracles .sheet-roll-outcome, +.sheet-rolltemplate-ironsworn_oracles .sheet-roll-outcome, +.sheet-rolltemplate-delve_oracles .sheet-roll-outcome { + background: #403f4b; + border: 1px solid #000; +} +.sheet-rolltemplate-ironcrunch_oracles .sheet-subheader, +.sheet-rolltemplate-ironsworn_oracles .sheet-subheader, +.sheet-rolltemplate-delve_oracles .sheet-subheader { + line-height: 1.5em; + font-style: italic; + font-weight: 900; + text-align: left; + padding: 0.4em 1em 0.4em 1em; + background-color: #23222b; +} +.sheet-rolltemplate-ironcrunch_oracles .sheet-subfooter, +.sheet-rolltemplate-ironsworn_oracles .sheet-subfooter, +.sheet-rolltemplate-delve_oracles .sheet-subfooter { + line-height: 1.5em; + font-style: italic; + font-weight: 900; + text-align: left; + padding: 0.4em 0em 0.4em 0em; + background-color: #403f4b; + width: 100%; + text-align: center; +} +.sheet-rolltemplate-ironcrunch_oracles .sheet-result-body, +.sheet-rolltemplate-ironsworn_oracles .sheet-result-body, +.sheet-rolltemplate-delve_oracles .sheet-result-body { + padding: 0.4em 1em 0.4em 1em; +} +.sheet-rolltemplate-ironcrunch_delve .sheet-rarity-die { + border-top: 2px solid #000; + background-color: #6a286a; + border-bottom: 2px solid #000; +} +.sheet-rolltemplate-ironcrunch_moves .sheet-roll-name { + padding: 0.2em 1em 0.2em 1em; + text-align: right; + font-variant-caps: all-small-caps; +} +.sheet-rolltemplate-ironcrunch_progress .sheet-progress-name { + padding: 0.2em 1em 0.2em 1em; + text-align: left; + font-variant-caps: all-small-caps; +} +.sheet-rolltemplate-ironcrunch_moves .sheet-roll-container, +.sheet-rolltemplate-ironcrunch_progress .sheet-roll-container { + background: #33323c; + color: #fff; + font-size: 1em; + font-family: 'Roboto', Arial, sans-serif; + border: 1px solid #000; +} +.sheet-rolltemplate-ironcrunch_moves .sheet-result-row, +.sheet-rolltemplate-ironcrunch_progress .sheet-result-row { + display: flex; + justify-content: space-between; +} +.sheet-rolltemplate-ironcrunch_moves .inlinerollresult, +.sheet-rolltemplate-ironcrunch_progress .inlinerollresult { + display: inline-block; + min-width: 1.5em; + text-align: center; + border: 2px solid #33323c; + background: transparent; + border-radius: 1em; +} +.sheet-rolltemplate-ironcrunch_progress .sheet-roll-outcome, +.sheet-rolltemplate-ironcrunch_moves .sheet-roll-outcome { + background: #403f4b; + border: 1px solid #000; +} +.sheet-rolltemplate-ironcrunch_moves .sheet-subheader, +.sheet-rolltemplate-ironcrunch_progress .sheet-subheader { + line-height: 1.5em; + font-style: italic; + font-weight: 900; + text-align: left; + padding: 0.4em 1em 0.4em 1em; + background-color: #23222b; +} +.sheet-rolltemplate-ironcrunch_moves .sheet-subfooter, +.sheet-rolltemplate-ironcrunch_progress .sheet-subfooter { + line-height: 1.5em; + font-style: italic; + font-weight: 900; + text-align: left; + padding: 0.4em 0em 0.4em 0em; + background-color: #403f4b; + width: 100%; +} +.sheet-rolltemplate-ironcrunch_moves .sheet-result-body, +.sheet-rolltemplate-ironcrunch_progress .sheet-result-body { + padding: 0.4em 1em 0.4em 1em; +} +.sheet-rolltemplate-ironcrunch_moves .sheet-alert, +.sheet-rolltemplate-ironcrunch_progress .sheet-alert { + margin: 0.2em 0.3em 0.2em 0.3em; + border-radius: 1em; + width: auto; + padding: 0.5em; +} +.sheet-rolltemplate-ironcrunch_moves .sheet-opportunity, +.sheet-rolltemplate-ironcrunch_progress .sheet-opportunity { + width: 4em; + margin: 0.3em; + border-radius: 1em; + background-color: #008a81; +} +.sheet-rolltemplate-ironcrunch_moves .sheet-strong-hit, +.sheet-rolltemplate-ironcrunch_progress .sheet-strong-hit { + width: 4em; + margin: 0.3em; + border-radius: 1em; + background-color: #1db980; +} +.sheet-rolltemplate-ironcrunch_moves .sheet-weak-hit, +.sheet-rolltemplate-ironcrunch_progress .sheet-weak-hit { + width: 4em; + margin: 0.3em; + border-radius: 1em; + background-color: #37efb9; +} +.sheet-rolltemplate-ironcrunch_moves .sheet-miss, +.sheet-rolltemplate-ironcrunch_progress .sheet-miss { + width: 4em; + margin: 0.3em; + border-radius: 1em; + background-color: #ec457d; +} +.sheet-rolltemplate-ironcrunch_moves .sheet-complication, +.sheet-rolltemplate-ironcrunch_progress .sheet-complication { + width: 4em; + margin: 0.3em; + border-radius: 1em; + background-color: #e30d46; +} +.sheet-rolltemplate-ironcrunch_moves .userscript-tcat, +.sheet-rolltemplate-ironcrunch_progress .userscript-tcat { + font-weight: 900; +} +.sheet-rolltemplate-ironcrunch_moves .sheet-momentum-title { + line-height: 22px; +} diff --git a/Ironcrunch/Ironcrunch.html b/Ironcrunch/Ironcrunch.html new file mode 100644 index 0000000000..2550fc3c8c --- /dev/null +++ b/Ironcrunch/Ironcrunch.html @@ -0,0 +1,20486 @@ + + +
+
+

SELECT THE SHEET TYPE

+
+
+ +
+
+ +
+
+
+
+

CHARACTER

+ +
+
+

ROLE / TITLE

+ +
+
+
+
+ +

HEALTH

+
+ +
+

/

+

+ +

+
+
+
+
+

SPIRIT

+ +
+
+

SUPPLY

+ +
+
+

WEALTH

+ +
+
+

LOAD

+ +
+
+

EXPERIENCE

+
+ +
+

SPENT

+
+ +
+
+
+
+
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+

EDGE

+ MAX +
+
+

HEART

+ MAX +
+
+

IRON

+ MAX +
+
+

SHADOW

+ MAX +
+
+

WITS

+ MAX +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+
+
+

Ancestry + +

+
+
+
+

Age

+ +
+
+

Sex

+ +
+
+
+

Speed + +

+
+
+
+

Resilience

+ +
+
+

Max Load

+ +
+
+
+
+
+

Appearance + +

+
+
+

Alignment + +

+
+
+
+

 MISSES 

+
+
+ + + + + + + + + + + + + +
+
+
+

NOTES


+ +
+
+
+
+ +
+

 VOWS 

+
+
+ +
+ + + + + +
+
+
+ + + + + + + + + + + + + + +
+
+
+
+
+
+
+ +
+

 MOTIVATIONS 

+
+
+ + +
+
+

You spurn an organization or community for ideological reasons.

+
+
+

Layer 1: When you speak in public, or show how to act, against the group you contemn.

+
+
+

Layer 2: When you act against the group you contemn.

+
+
+

Layer 3: When you put yourself at risk, or sacrifice something important, for acting against the group you contemn.

+
+
+

Buyoff: When the group you contemn either cease to exist, or you support it.

+
+
+ +
+
+

You thrive for the thrills of combat.

+
+
+

Layer 1: When you engage in combat.

+
+
+

Layer 2: When you defeat someone in combat.

+
+
+

Layer 3: When you defeat someone more powerful than you in combat.

+
+
+

Buyoff: When you diffuse a violent situation or willingly pass up an opportunity to enter in battle.

+
+
+ +
+
+

You thrive for making use of your wealth and time to make you, or others, feel good.

+
+
+

Layer 1: When you spent your wealth or valuable time to raise your spirit.

+
+
+

Layer 2: When you spent your wealth or valuable time to raise other's spirit.

+
+
+

Layer 3: When you postpone or decline a duty in order to spent wealth or valuable time to raise spirit, your or someone else's

+
+
+

Buyoff: When you refuse, or argue against, using your valuable time to raise spirit, yours orsomeone else's

+
+
+ +
+
+

You are looking to stand out as an exemplar leader.

+
+
+

Layer 1: When you act according to the fact that you are in command.

+
+
+

Layer 2: When you issue an order to someone, get them to follow it, and it pays off favorably.

+
+
+

Layer 3: When you issue an order to a group, get them to follow it, and it pays off favorably.

+
+
+

Buyoff: When you willingly abdicate your leading position.

+
+
+ +
+
+

Your real identity is something you are looking to cover from certain individuals.

+
+
+

Layer 1: When you make preparations to cover your identity.

+
+
+

Layer 2: When you cover your identity in a situation that demands it or be revealed.

+
+
+

Layer 3: When you cover your identity by convincing others despite suspicious.

+
+
+

Buyoff: When you willingly reveal your identity to whom you were not interested in revealing it, or they get to know it by other means.

+
+
+ +
+
+

Your past is something you are looking to cover from certain individuals.

+
+
+

Layer 1: When you make preparations to cover your past.

+
+
+

Layer 2: When you cover your past in a situation that demands it to be revealed.

+
+
+

Layer 3: When you cover your past by convincing others despite suspicious.

+
+
+

Buyoff: When you willingly reveal your past to whom you were not interested in revealing it, or they get to know it by other means.

+
+
+ +
+
+

You thrive to discover forgotten lore and uncovering secrets.

+
+
+

Layer 1: When you show what needs to be done to discover an important new fact, lost piece of information or item.

+
+
+

Layer 2: When you discover an important new fact, lost piece of information or item.

+
+
+

Layer 3: When you put yourself at risk, or sacrifice something important, for discovering an important new fact, lost piece of information or item.

+
+
+

Buyoff: When you willingly pass up an opportunity to learn something important or get a forgotten item.

+
+
+ +
+
+

You procure rightfulness and make sure law is fulfilled whenever is up to you.

+
+
+

Layer 1: When you act to uphold the law.

+
+
+

Layer 2: When you act to prevent a crime committed by someone else.

+
+
+

Layer 3: When you put yourself at risk, or sacrifice something important, by acting to uphold the law or to prevent a crime committed by someone else.

+
+
+

Buyoff: When you break a law or allow someone to do it.

+
+
+ +
+
+

You are looking to obtain power, whether it is prestige or a position.

+
+
+

Layer 1: When you get a new ability.

+
+
+

Layer 2: When you learn a new ability, get authority, or earn a boon from someone important.

+
+
+

Layer 3: When you put yourself at risk, or sacrifice something important, in order to learn a new ability, get authority or earn a boon from someone important.

+
+
+

Buyoff: When you willingly take a decision that makes eschew gain power, lose authority or lower your position.

+
+
+ +
+
+

You are looking to make yourself a name.

+
+
+

Layer 1: When you do something to impress someone else.

+
+
+

Layer 2: When you get prestige or take credit for an action, whenever you have done it or not.

+
+
+

Layer 3: When you put yourself at risk, or sacrifice something important, by doing something to impress someone, or as consequence for taking credit for an action, whenever you have done it or not.

+
+
+

Buyoff: When you refuse taking credit for an accomplishment, or allow someone else to claim credit for something you accomplished.

+
+
+ +
+
+

You are always in the look for valuable goods.

+
+
+

Layer 1: When you find wealth.

+
+
+

Layer 2: When you make a deal, or leverage a circumstance that favors you in wealth.

+
+
+

Layer 3: When you double your wealth or take more than that the double.

+
+
+

Buyoff: When you willingly give away from your wealth, or reject a payment or reward.

+
+
+ +
+
+

You feel inclined to help those in need.

+
+
+

Layer 1: When you help who cannot help themselves.

+
+
+

Layer 2: When you put yourself in danger, or sacrifice something important, for helping someone else.

+
+
+

Layer 3: When you take someone in disfavorable circumstances and change their life to where they can help themselves.

+
+
+

Buyoff: When you willingly ignore a request for help or the fact that someone evidently needs it.

+
+
+ +
+
+

You thrive on making negotiations.

+
+
+

Layer 1: When you get into an agreement, make a contract or offer a favor in exchange for something.

+
+
+

Layer 2: When you fulfill an agreement, a contract or get something in exchange for making a favor.

+
+
+

Layer 3: When you put yourself at risk, or sacrifice something important, in order to fulfill an agreement, a contract or making a favor in exchange for something.

+
+
+

Buyoff: When you turn down a chance to negotiate or pass up a deal that favors you.

+
+
+ +
+
+

You have someone you are friend kindred to, for which you are strongly interested in keeping close.

+
+
+

Layer 1: When you act to leverage your affinity with your friend or kindred.

+
+
+

Layer 2: When you must make an important decision that is influenced by your friend or kindred.

+
+
+

Layer 3: When put yourself at risk, or sacrifice something important, by being loyal to your friend or kindred.

+
+
+

Buyoff: When your relationship with your friend or kindred is severed, or you do something that show that it is no longer a priority to you.

+
+
+ +
+
+

You thrive for preserving nature.

+
+
+

Layer 1: When you act to preserve nature.

+
+
+

Layer 2: When you prevent someone else from causing damage to a natural element.

+
+
+

Layer 3: When put yourself at risk by preventing someone else from causing damage to a natural element or by offering aid to an element of nature.

+
+
+

Buyoff: When you cause damage to a natural element, willingly or not, or allow someone to do it.

+
+
+ +
+
+

You are looking to prove yourself worthy.

+
+
+

Layer 1: When you take on a difficult challenge.

+
+
+

Layer 2: When you succeed at a challenging obstacle to accomplish a goal.

+
+
+

Layer 3: When you miss on a significantly risky task, but rise and try again.

+
+
+

Buyoff: When you willingly pass up an opportunity to test yourself, decline a challenge or give up on one.

+
+
+ +
+
+

You procure bravery and make sure it is present whenever is up to you.

+
+
+

Layer 1: When you act despite a terrifying obstacle.

+
+
+

Layer 2: When you instill confidence in someone else, and it pays off favorably.

+
+
+

Layer 3: When your words or deeds fill others with courage, and it pays off favorably.

+
+
+

Buyoff: When you allow fear to overcome, or give up on an important task, because it would be too dangerous to proceed.

+
+
+ +
+
+

You procure that your sense of fairness comes to fruition whenever is up to you.

+
+
+

Layer 1: When you successfully settle a conflict that results in a just outcome.

+
+
+

Layer 2: When you successfully settle a conflict in the presence of someone that differs from your sense of fairness.

+
+
+

Layer 3: When you bring justice to someone who deserved it.

+
+
+

Buyoff: When you commit to a morally questionable act, allow someone who deserves to be judged to avoid it or stand mute before injustice.

+
+
+ +
+
+

You abhor violence.

+
+
+

Layer 1: When you act to show the importance of procuring peace.

+
+
+

Layer 2: When you diffuse a violent situation or prevent someone from recurring to violence.

+
+
+

Layer 3: When you refuse, or avoid, hurting someone else in a situation that demands it from you, because you, or someone else, was at risk.

+
+
+

Buyoff: When you willingly recur to violence or allow someone else to do it.

+
+
+ +
+
+

You procure the truth to come out and uphold it whenever is up to you.

+
+
+

Layer 1: When you induce the truth coming out in a charged situation.

+
+
+

Layer 2: When you uphold the truth despise of opposition.

+
+
+

Layer 3: When you put yourself at risk, or sacrifice something important, by upholding the truth.

+
+
+

Buyoff: When you lie, or avoid the truth to come up.

+
+
+ +
+
+

You despise structures that supports formal authorities among individuals.

+
+
+

Layer 1: When you disobey an authority.

+
+
+

Layer 2: When you act against an authority.

+
+
+

Layer 3: When you put yourself at risk, or sacrifice something important, for acting against an authority.

+
+
+

Buyoff: When you acknowledge, support, or become, an authority; or accept a favor from one.

+
+
+ +
+
+

You are working towards gaining back trust and fixing previous wrongs.

+
+
+

Layer 1: When you act to leverage a fix towards your reputation.

+
+
+

Layer 2: When you prove yourself to someone who has doubts or thinks poorly of you.

+
+
+

Layer 3: When you put yourself at risk, or sacrifice something important, by acting to prove yourself to someone who has doubts or thinks poorly of you.

+
+
+

Buyoff: When you have cleared your reputation or give up on your redeeming path.

+
+
+ +
+
+

You are looking to provide security and protection to an individual at all cost.

+
+
+

Layer 1: When you prevent your ward from doing something that would put them at risk.

+
+
+

Layer 2: When you put yourself at risk, or sacrifice something important, by protecting your ward.

+
+
+

Layer 3: When you rescue your ward from potential harm.

+
+
+

Buyoff: When you ward dies or your act as if protecting this person is not your priority, or is not your duty.

+
+
+ +
+
+

You like using your intelligence to enrich your interactions and solve problems.

+
+
+

Layer 1: When you come up with a clever plan or point out something no one knew.

+
+
+

Layer 2: When you point out something no one knew and it pays off favorably.

+
+
+

Layer 3: When a plan previously elaborated by you pays off favorably.

+
+
+

Buyoff: When you refuse to share knowledge, practical or not, or refuse to provide your insight when others demand it.

+
+
+ +
+
+

You are thriving on personal pain and martyrdom.

+
+
+

Layer 1: When you suffer physical or mental damage.

+
+
+

Layer 2: When you suffer physical or mental damage and your next move shows that you are not fleeing from the source of suffering.

+
+
+

Layer 3: When you get wounded or shaken.

+
+
+

Buyoff: When you willingly flee from a source of physical or mental damage.

+
+
+ +
+
+

You avoid at all cost situations that put you in danger.

+
+
+

Layer 1: When you act to show the importance of avoiding perilous situations.

+
+
+

Layer 2: When you avoid a perilous situation.

+
+
+

Layer 3: When you flee from a source of physical or mental damage.

+
+
+

Buyoff: When you leap into danger with no hesitation.

+
+
+ +
+
+

You are looking to retrieve information from your past.

+
+
+

Layer 1: When you get into a moment with the potential to give you something from your past.

+
+
+

Layer 2: When you learn or discover something from your past.

+
+
+

Layer 3: When you put yourself at risk, or sacrifice something important, for the sake of learning or discovering something from your past.

+
+
+

Buyoff: When you have uncovered all you needed to know from your past, or have let it go.

+
+
+ +
+
+

You have a strong conviction that guides you and you want to give testimony of it to others.

+
+
+

Layer 1: When you explain or defend your belief to someone else.

+
+
+

Layer 2: When you convince someone else to your belief.

+
+
+

Layer 3: When you put yourself at risk, or sacrifice something important, by upholding your belief.

+
+
+

Buyoff: When you renounce your belief, talk against it or show that share it is no longer important to you.

+
+
+ +
+
+

You believe yourself to be the cut above the common people.

+
+
+

Layer 1: When you demonstrate superiority by refusing to stoop to the level of the ones you think are below you.

+
+
+

Layer 2: When you, and the ones with you, get a benefit from your showcase of nobility.

+
+
+

Layer 3: When your noble traits overcome a problem.

+
+
+

Buyoff: When you show that you have got over yourself by denying any noble trait by act or words.

+
+
+ +
+
+

You are in a personal journey to wander.

+
+
+

Layer 1: When you undertake a travel.

+
+
+

Layer 2: When you reach your destination after travelling.

+
+
+

Layer 3: When you meet a place new to you.

+
+
+

Buyoff: When you establish a settlement for you to reside, or when you willingly pass up the opportunity to meet a new place to you.

+
+
+
+
+
+
+
+ +
+

 BONDS 

+
+
+ + + + + + + + + + + +
+
+
+
+
+

NAME:

+ + + +
+
+

LOCATION:

+ +
+
+

DESCRIPTORS:

+ +
+
+

NOTES

+ +
+
+
+
+
+
+
+
+ +
+

 WEAPON PROFICIENCIES 

+
+
+

axes +
+ when you strike, clash, or battle, add +1. +
+
+ when you inflict harm, add +1. +
+
+ when you inflict harm, you may reroll. +
+

+
+
+

polearms +
+ when you strike, clash, or battle, add +1. +
+
+ when you inflict harm, add +1. +
+
+ when you inflict harm, you may reroll. +
+

+
+
+

swords +
+ when you strike, clash, or battle, add +1. +
+
+ when you inflict harm, add +1. +
+
+ when you inflict harm, you may reroll. +
+

+
+
+

thrown weapons +
+ when you strike, clash, or battle, add +1. +
+
+ when you inflict harm, add +1. +
+
+ when you inflict harm, you may reroll. +
+

+
+
+

whips & chains +
+ when you strike, clash, or battle, add +1. +
+
+ when you inflict harm, add +1. +
+
+ when you inflict harm, you may reroll. +
+

+
+
+

blunt weapons +
+ when you strike, clash, or battle, add +1. +
+
+ when you inflict harm, add +1. +
+
+ when you inflict harm, you may reroll. +
+

+
+
+

projectile weapons +
+ when you strike, clash, or battle, add +1. +
+
+ when you inflict harm, add +1. +
+
+ when you inflict harm, you may reroll. +
+

+
+
+

stabbing weapons +
+ when you strike, clash, or battle, add +1. +
+
+ when you inflict harm, add +1. +
+
+ when you inflict harm, you may reroll. +
+

+
+
+

unarmed +
+ when you strike, clash, or battle, add +1. +
+
+ when you inflict harm, add +1. +
+
+ when you inflict harm, you may reroll. +
+

+
+
+
+
+
+ +
+

 CONDITIONS 

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

 CARDS 

+
+ +
+
CONDITION
+
AMNESIAC
+
+

You have forgotten your abilities.

+
    +
  • Take two asset cards and pair them with this condition. You can't use them. If severity 2 or below is marked, unpair one asset card.
  • +
+

Reduce your severity by 1...

+
    +
  • When you Sojourn, and score a strong hit.
  • +
+

Clear this condition...

+
    +
  • When you Take a Downtime.
  • +
+
+ + + + +
+
+ +
+ +
+
CONDITION
+
AMOK
+
+

You suffer outbursts of violent and homicidal rages directed at anyone near you.

+
    +
  • When you Inflict Harm, add +X.
  • +
+
    +
  • When you make a move and score a strong hit, roll an additional 1d8. If you roll as your heart or above, you give up to your behavior and Strike the nearest target, whether they are an ally, companion, foe or else
  • +
+

Reduce your severity by 1...

+
    +
  • When you Inflict Harm.
  • +
+
+ + + +
+
+ +
+ +
+
CONDITION
+
ATTACHED
+
+

You became obsessively attached to an object, type of object or person, and don't function properly without this

+
    +
  • When you make a move while being more than 30 ft. away from the object or person, subtract -1.
  • +
+

Reduce your severity by 1...

+
    +
  • When you make a move by being more than a 30 ft. away from the object, or person, and score a strong hit.
  • +
+
+ + + + +
+
+ +
+ +
+
CONDITION
+
BLINDED
+
+

You are suffering from vision loss.

+
    +
  • When you make a move involving this impairment (if such move is possible with this condition),subtract -1.
  • +
+
    +
  • When you make a physical move against this foe involving this impairment, add +1.
  • +
+

Clear this condition...

+
    +
  • When you Make Camp and choose to recuperate or Sojourn and choose to mend.
  • +
+
    +
  • When you score a miss or as appropriate to the situation.
  • +
+
+ +
+ +
+
CONDITION
+
COMPULSED
+
+

You feel uncontrollably compelled to perform certain action, over and over (such as washing hands; touching things; praying; counting coins; touching a doorway at left, right and top before passing through it; constantly checking to see if your projectile weapon is loaded; eat something strange, dirt, slime, or offal; and so on).

+
    +
  • When you have the opportunity to perform your compulsive action, roll an additional 1d8. If you roll as your heart or above, you feel the uncontrollable urge to perform your compulsive action. If you don't, Endure Stress (1 stress).
  • +
+

Reduce your severity by 1...

+
    +
  • When you Hearten and score a strong hit.
  • +
+
    +
  • When you Sojourn and choose to cheer.
  • +
+
+ + + + +
+
+ +
+ +
+
CONDITION
+
CORRUPTED
+
+

Your experiences have left you emotionally scarred. You are at the threshold of losing yourself to darkness.

+
    +
  • Reduce your maximum momentum by 1.
  • +
+
    +
  • You struggle with a compulsion, quirk, or fear. Take a condition that can be taken from the Manifest Insanity tables (not amok nor amnesiac) and permanently pair it with this one; it cannot be cleared.
  • +
+
+ +
+ +
+
CONDITION
+
CURSED
+
+

Your faced death and returned with a soul-bond quest.

+
    +
  • Reduce your max momentum by 1.
  • +
+
    +
  • You have walked the lands beyond death. Take a condition that can be taken from the Manifest Insanity tables and pair it with this one; it is cleared once you are no longer cursed.
  • +
+

Clear this condition...

+
    +
  • When you Fulfill Your Vow bond to this condition.
  • +
+
+ +
+ +
+
CONDITION
+
DAZED
+
+

You are unable to act or react properly.

+
    +
  • When you make a move, subtract -1.
  • +
+
    +
  • When you make a move against this foe involving their impairment, add +1.
  • +
+

Clear this condition...

+
    +
  • When make a move and score strong hit.
  • +
+
    +
  • When you Make Camp or Sojourn and score a hit.
  • +
+
    +
  • When you make a move and score a miss, or as appropriate to the situation.
  • +
+
+ +
+ +
+
CONDITION
+
DEAFENED
+
+

You are suffering from hearing loss.

+
    +
  • When you make a move relying on hearing (if such move is possible with this condition), subtract -X.
  • +
+
    +
  • When you make a physical move against this foe involving this impairment, add +X.
  • +
+

Reduce your severity by 1...

+
    +
  • When you Secure an Advantage by taking a breather in moderate ambience and score a strong hit.
  • +
+
    +
  • When you score a miss or as appropriate to the situation.
  • +
+

Clear this condition...

+
    +
  • When you Make Camp and choose to recuperate or Sojourn and choose to mend.
  • +
+
    +
  • As appropriate to the circumstances.
  • +
+
+ + +
+
+ +
+ +
+
CONDITION
+
DYING
+
+

Your life is running out.

+
    +
  • If you don't Heal within an hour or two, Face Death
  • +
+

Clear this condition...

+
    +
  • When someone else makes the Heal move on you and scores a hit.
  • +
+
+ +
+ +
+
CONDITION
+
ENCUMBERED
+
+

You are carrying excessive or cumbersome weight

+
    +
  • Reduce the speed by -5 ft. (1 unit).
  • +
+
    +
  • When you make a move, cancel your action die (without additions) when it matches your maximum load and up to 12.
  • +
+
    +
  • When you make a physical move against this foe, add +2.
  • +
+

Clear this condition...

+
    +
  • When you have a total of weight up to your maximum load or below
  • +
+
    +
  • As appropriate to the circumstances.
  • +
+
+ +
+ +
+
CONDITION
+
HALLUCINATING
+
+

You tend to sense what is not there.

+
    +
  • When you make a move, roll an additional 1d8. If you roll as your wits or above, you sense a hallucination; Endure Stress (X stress).
  • +
+
    +
  • When you make a move and score a strong hit, this foe suffers -1 morale.
  • +
+

Reduce your severity by 1...

+
    +
  • When you Hearten and score a strong hit.
  • +
+
    +
  • When you Sojourn and choose to cheer.
  • +
+
    +
  • When you score a miss.
  • +
+
+ + +
+
+ +
+ +
+
CONDITION
+
HYPERTHERMIC
+
+

Your body is dangerously overheated.

+
    +
  • When you make a move and fail to score a strong hit, Endure Harm (as per the severity). This is in addition to the move outcome.
  • +
+
    +
  • When you make a move against this foe, and score a hit, they suffer -health as per the severity.
  • +
+

Clear this condition...

+
    +
  • When you make a move while staying in an environment below 104º F/40º C, and score a strong hit.
  • +
+
    +
  • When this foe stays in an environment below 104º F/40º C while you score a weak hit or miss.
  • +
+
+ + +
+
+ +
+ +
+
CONDITION
+
HYPOTHERMIC
+
+

Your body is dangerously overcold.

+
    +
  • When you make a move and fail to score a strong hit, Endure Harm (as per the severity). This is in addition to the move outcome
  • +
+
    +
  • When you make a move against this foe, and score a hit, they suffer -health as per the severity.
  • +
+

Clear this condition...

+
    +
  • When you make a move while staying in an environment above 40º F/4º C, and score a strong hit.
  • +
+
    +
  • When this foe stays in an environment above 40º F/40º C while you score a weak hit or miss.
  • +
+
+ + +
+
+ +
+ +
+
CONDITION
+
MAIMED
+
+

You have suffered a wound which causes you ongoing physical challenges.

+
    +
  • Reduce your maximum momentum by 1.
  • +
+
    +
  • You have a permanent injury that impacts your approach when facing physical challenges.
  • +
+
    +
  • When you make a move +iron or +edge involving this impairment (if such move is possible with this condition), subtract -1.
  • +
+
    +
  • When you make a physical move against this foe involving this impairment, add +1.
  • +
+
+ +
+ +
+
CONDITION
+
MUTE
+
+

You lost the ability to communicate via speech.

+
    +
  • When you make a move relying on your speech, subtract -2.
  • +
+
    +
  • When you make a move against this foe involving this impairment, add +2.
  • +
+

Clear this condition...

+
    +
  • When you make a move relying on your speech and score a strong hit
  • +
+
    +
  • When you score a miss or as appropriate to the situation.
  • +
+
+ +
+ +
+
CONDITION
+
PALSIED
+
+

Your mobility is constrained.

+
    +
  • On severity 1, reduce the speed by -5 ft (1 unit).
  • +
+
    +
  • On severity 2, reduce the speed to 0 ft.
  • +
+
    +
  • When you make a physical move, subtract -X.
  • +
+
    +
  • When you make a physical move against this foe, add +X.
  • +
+

Clear this condition...

+
    +
  • On severity 1, when you Heal, Make Camp and choose to recuperate, or Sojourn and choose to mend.
  • +
+
    +
  • On severity 1, as appropriate to the situation.
  • +
+
    +
  • On 2, by getting free.
  • +
+
+ + +
+
+ +
+ +
+
CONDITION
+
PHOBIAC
+
+

You persistently fear a particular object or situation (if possible, the source of mental shock). You might realize that the fear is excessive and irrational, but it is disturbing enough for you that your mind rejects it.

+
    +
  • When you approach the object of the phobia, roll 1d8. If you roll as your heart or above, Endure Stress (1 stress).
  • +
+
    +
  • When this foe approaches the object of the phobia roll 1d20. If you roll as the creature's standard morale or above, they suffer -1 morale.
  • +
+

Clear this condition...

+
    +
  • When you Endure Stress because of this phobia, and score a strong hit, reduce your severity by 1.
  • +
+
    +
  • When this foe approaches the object of the phobia, and you roll 1d20 scoring below the creatures standard morale, creature's standard morale reduce the severity by 1.
  • +
+
+ + + + +
+
+ +
+ +
+
CONDITION
+
POISONED
+
+

A toxin corrodes your body.

+
    +
  • When you roll up to X on your action die, Endure Harm (XP harm).
  • +
+
    +
  • When you roll on your action die as per X (1=12, 2=11-12, 3=10-12, 4=9-12), this foe suffers -X health.
  • +
+

Reduce your severity by 1...

+
    +
  • When you Heal with an antivenom.
  • +
+
    +
  • As appropriate to the situation.
  • +
+

Clear this condition...

+
    +
  • When you Sojourn and choose to mend.
  • +
+
    +
  • As appropriate to the situation.
  • +
+
+ + + + +
+
+ +
+ +
+
CONDITION
+
REELED
+
+

You are fighting to stay conscious.

+
    +
  • Reduce your speed by -5 ft. (1 unit).
  • +
+
    +
  • When you make a move +iron, subtract -1.
  • +
+
    +
  • If you engage in any vigorous activity (such as running or fighting) before taking a breather for a few minutes, roll on the Endure Harm table (before resolving the other move).
  • +
+

Clear this condition...

+
    +
  • When you, or someone else, makes the Heal move on you and scores a hit.
  • +
+
+ +
+ +
+
CONDITION
+
SHAKEN
+
+

You are despairing, distraught or frightened.

+
    +
  • Reduce your maximum momentum by 1.
  • +
+
    +
  • You cannot increase spirit.
  • +
+
    +
  • When you make a move +heart, subtract -1.
  • +
+
    +
  • Reduce this foe's morale by 2d4+2.
  • +
+

Clear this condition...

+
    +
  • When you Sojourn and choose to cheer.
  • +
+
    +
  • When you Hearten and score a hit.
  • +
+
    +
  • When you Endure Stress, roll on the table, and roll 81 or above
  • +
+
+ +
+ +
+
CONDITION
+
STARVED
+
+

Your body lacks enough energy to sustain itself.

+
    +
  • When you make a move, subtract -1.
  • +
+
    +
  • When you make a move and fail to score a strong hit, Endure Harm (on a weak hit, 1P harm; on a miss, 2P harm). This is in addition to the move outcome.
  • +
+
    +
  • When you make a physical move against this foe, add +1.
  • +
+

Clear this condition...

+
    +
  • When you Make Camp or Sojourn and score a hit.
  • +
+
    +
  • As appropriate to the situation.
  • +
+
+ +
+ +
+
CONDITION
+
STUPEFIED
+
+

You are deprived of sensitive cognition and acuity.

+
    +
  • When you make a move +shadow or +wits, subtract -1.
  • +
+
    +
  • When you make a move against this foe, add +1.
  • +
+
    +
  • When this Foe Inflicts Harm, subtract -1.
  • +
+

Clear this condition...

+
    +
  • When you Sojourn and choose to cheer or Make Camp and choose to focus.
  • +
+
    +
  • When you score a miss or as appropriate to the situation.
  • +
+
+ +
+ +
+
CONDITION
+
SUFFOCATED
+
+

You are deprived of air or unable to breathe.

+
    +
  • When you make a move and fail to score a strong hit, Endure Harm (1d4P harm). This is in addition to the move outcome.
  • +
+
    +
  • When you make a move and score a hit, this foe suffers -1d4P harm).
  • +
+

Clear this condition...

+
    +
  • When you Face Danger or Secure an Advantage by taking a breather, and score a hit
  • +
+
    +
  • When you score a miss or as appropriate to the situation.
  • +
+
+ +
+ +
+
CONDITION
+
TORMENTED
+
+

You faced desolation and undertook a quest to prevent a dire future.

+
    +
  • Reduce your maximum momentum by 1.
  • +
+
    +
  • You suffered visions of your greatest fears.
  • +
+
    +
  • Take another condition (one that can be taken from the Manifest Insanity tables) and pair it with this one; it is cleared once you are no longer tormented.
  • +
+
    +
  • Reduce this foe's morale by 3d4+6.
  • +
+

Clear this condition...

+
    +
  • When you Fulfill Your Vow bond to this condition
  • +
+
+ +
+ +
+
CONDITION
+
UNCONSCIOUS
+
+

You are incapacitated and out of action.

+
    +
  • If you are vulnerable to a foe not inclined to show mercy, Face Death.
  • +
+

Clear this condition...

+
    +
  • If left alone, you come back to your senses in an hour or two.
  • +
+
+ +
+ +
+
CONDITION
+
UNPREPARED
+
+

You are lacking the most basic provisions for a journey.

+
    +
  • Reduce your max momentum by 1.
  • +
+
    +
  • You cannot increase supply.
  • +
+

Clear this condition...

+
    +
  • When you Sojourn and choose to equip.
  • +
+
+ +
+ +
+
CONDITION
+
UNSTEADY
+
+

Your psychomotor abilities are impaired.

+
    +
  • When you make a move +edge, subtract -X, where X is the character marked state.
  • +
+
    +
  • When you make a physical move against this foe, add +X.
  • +
+

Clear this condition...

+
    +
  • When you Sojourn and choose to cheer or Make Camp and choose to relax.
  • +
+
    +
  • When you Face Danger or Secure an Advantage by recovering your steadiness and score a strong hit
  • +
+
    +
  • When you score a miss or as appropriate to the situation.
  • +
+
+ + +
+
+ +
+ +
+
CONDITION
+
WEAKENED
+
+

Your energies are drained.

+
    +
  • When you make a move +iron, subtract -X
  • +
+
    +
  • When you Inflict Harm, subtract -X.
  • +
+
    +
  • When you make a physical move against this foe, add +X.
  • +
+
    +
  • When this Foe Inflicts Harm, subtract -X.
  • +
+

Clear this condition...

+
    +
  • When you Sojourn and choose to mend, or Make Camp and choose to recuperate
  • +
+
    +
  • As appropriate to the situation.
  • +
+
+ + +
+
+ +
+ +
+
CONDITION
+
WOUNDED
+
+

You are severely injured and need treatment to recover.

+
    +
  • Reduce your maximum momentum by 1.
  • +
+
    +
  • You cannot increase health.
  • +
+

Clear this condition...

+
    +
  • When you Sojourn and choose to mend.
  • +
+
    +
  • When you Heal and score a hit
  • +
+
+ +
+
+ +
+
+
+ +
+

WEAPONS

+
+
+
+

TYPE

+
+
+

HARM

+
+
+

ASPECTS

+
+
+

WEIGHT

+
+
+
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+

ARMOR

+
+
+
+

TYPE

+
+
+

CLASS

+
+
+

PROTECTION

+
+
+

ENDURE HARM ADDITION

+
+
+

WEIGHT

+
+
+
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+

SHIELDS

+
+
+
+

TYPE

+
+
+

HARM

+
+
+

FACE DANGER/CLASH ADDITION

+
+
+

WEIGHT

+
+
+
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+

ADDONS

+
+
+
+

TYPE

+
+
+

EFFECT

+
+
+
+
+
+ +
+
+ +
+
+
+
+

PROVISIONS

+
+
+
+

ITEM

+
+
+

EFFECT

+
+
+

USES

+
+
+
+
+
+ +
+
+ +
+
+ +
+
+
+
+
+
+
+ +
+

 ASSETS 

+
+
+
+
+ +
+ +
+ + +
+
+
Name: + +
+
Your cat takes down its prey.
+
+
+
+ +
Eager: When your cat chases down big game, you + may Resupply with +edge (instead of +wits). If you do, take +1 supply or +1 + momentum on a strong hit. +
+
+
+ +
Inescapable: When you Enter the Fray or Strike by sending your cat to attack, roll +edge. On a hit, take +2 + momentum +
+
+
+ +
Protective: When you Make Camp, your + cat is alert to trouble. If you or an ally choose to relax, take +1 spirit. If you + focus, take +1 momentum. +
+
+
+
+
+
0
+ +
+
+
+ 1
+ +
+
+
+ 2
+ +
+
+
+ 3
+ +
+
+
+ 4
+ +
+
+
+ +
+
+
Name: + +
+
Your spider uncovers secrets.
+
+
+
+ +
Discreet: When you Secure an Advantage by sending your spider to scout a place, add +1 and take +1 momentum on a hit.
+
+
+ +
Soul-Piercing: You may Face Danger +shadow by sending your spider to secretly study someone. On a hit, the spider + returns to reveal the target’s deepest fears through a reflection in its glassy + eyes. Use this to Gather Information and reroll any dice. +
+
+
+ +
Ensnaring: When your spider sets a trap, add +1 + as you Enter the Fray +shadow. On a strong hit, also + inflict 2 harm. +
+
+
+
+
+
0
+ +
+
+
+ 1
+ +
+
+
+ 2
+ +
+
+
+ 3
+ +
+
+
+ 4
+ +
+
+
+ +
+
+
Name: + +
+
Your hawk can aid you while it is aloft.
+
+
+
+ +
Far-seeing: When you + Undertake a + Journey, or when you Resupply by hunting for small game, add +1.
+
+
+ +
Fierce: When you Secure an Advantage +edge using your hawk to harass and distract your foes, add +1 and take +1 momentum + on a hit. +
+
+
+ +
Vigilant: When you Face Danger +wits to + detect an approaching threat, or when you Enter the Fray +wits against an + ambush, add +2. +
+
+
+
+
+
0
+ +
+
+
+ 1
+ +
+
+
+ 2
+ +
+
+
+ 3
+ +
+
+
+ +
+
+
Name: + +
+
You and your horse ride as one.
+
+
+
+ +
Swift: When you Face Danger +edge using + your horse’s speed and grace, or when you Undertake a Journey, add +1. +
+
+
+ +
Fearless: When you Enter the Fray orSecure an Advantage +heart by charging into combat, add +1 and take +1 + momentum on a hit. +
+
+
+ +
Mighty: When you Strike or Clash at close range while mounted, add +1 and inflict +1 harm on a hit.
+
+
+
+
+
0
+ +
+
+
+ 1
+ +
+
+
+ 2
+ +
+
+
+ 3
+ +
+
+
+ 4
+ +
+
+
+ 5
+ +
+
+
+ +
+
+
Name: + +
+
Your hound is your steadfast companion.
+
+
+
+ +
Sharp: When you Gather Information using your hound’s keen senses to track your quarry or investigate a scene, add +1 + and take +1 momentum on a hit. +
+
+
+ +
Ferocious: When you Strike or Clash alongside your hound and score a hit, inflict +1 harm or take +1 + momentum. +
+
+
+ +
Loyal: When you Endure Stress in the + company of your hound, add +1. +
+
+
+
+
+
0
+ +
+
+
+ 1
+ +
+
+
+ 2
+ +
+
+
+ 3
+ +
+
+
+ 4
+ +
+
+
+ +
+
+
Name: + +
+
Your friend stands by you.
+
+
+
+ +
Skilled: When you make a move outside of combat + aided by your companion’s expertise, add +1. +
Expertise: + +
+
+
+
+ +
Shield-Kin: When you Clash or Battle alongside your companion, or when you Face Danger against + an attack by standing together, add +1. +
+
+
+ +
Bonded: Once you mark a bond with your + companion, add +1 when you Face Desolation in their presence. +
+
+
+
+
+
0
+ +
+
+
+ 1
+ +
+
+
+ 2
+ +
+
+
+ 3
+ +
+
+
+ 4
+ +
+
+
+ +
+
+
Name: + +
+
Your mammoth walks a resolute path.
+
+
+
+ +
Lumbering: When your mammoth travels with you as + you Undertake a Journey, you may add +2 but suffer -1 momentum (decide + before rolling) +
+
+
+ +
Beast of burden: When you make a move which + requires you to roll +supply, you may instead roll +your mammoth’s health. +
+
+
+ +
Overpowering: When you Strike or Clash by riding your mammoth against a pack of foes, add +1 and inflict +1 + harm on a hit. +
+
+
+
+
+
0
+ +
+
+
+ 1
+ +
+
+
+ 2
+ +
+
+
+ 3
+ +
+
+
+ 4
+ +
+
+
+ 5
+ +
+
+
+ +
+
+
Name: + +
+
Your owl soars through the darkness.
+
+
+
+ +
Nocturnal: If you Resupply at night by + sending your owl to hunt, take +2 momentum on a hit. When you + Enter the + Fray +wits against an ambush in darkness, add +1 and take +1 momentum on a + hit. +
+
+
+ +
Sage: When you leverage your owl’s secret + knowledge to perform a ritual, add +1 or take +1 momentum on a hit (decide before + rolling). +
+
+
+ +
Embodying: When you Face Death, take + your owl’s health as +momentum before you roll. +
+
+
+
+
+
0
+ +
+
+
+ 1
+ +
+
+
+ 2
+ +
+
+
+ 3
+ +
+
+
+ +
+
+
Name: + +
+
Your raven heeds your call.
+
+
+
+ +
Sly: When you Secure an Advantage or Face Danger +shadow using your raven to perform trickery (such as creating + a distraction or stealing a small object) add +1 and take +1 momentum on a hit. +
+
+
+ +
Knowing: When you Face Death, add +2 + and take +1 momentum on a hit. +
+
+
+ +
Diligent: When your raven carries messages for + you, you may Secure an Advantage, Gather Information, orCompel from a distance. +
+
+
+
+
+
0
+ +
+
+
+ 1
+ +
+
+
+ 2
+ +
+
+
+ +
+
+
Name: + +
+
Your wyvern won’t devour you. For now.
+
+
+
+ +
Insatiable: When you + Undertake a + Journey and score a hit, you may suffer -1 supply in exchange for +2 + momentum. +
+
+
+ +
Indomitable: When you make the + Companion + Endure Harm move for your wyvern, add +2 and take +1 momentum on a hit.
+
+
+ +
Savage: When you Strike by commanding + your wyvern to attack, roll +heart. Your wyvern inflicts 3 harm on a hit. +
+
+
+
+
+
0
+ +
+
+
+ 1
+ +
+
+
+ 2
+ +
+
+
+ 3
+ +
+
+
+ 4
+ +
+
+
+ 5
+ +
+
+
+
+ +
+ + +
+
+
+ +
+ When you create an elixir, choose an effect: Deftness + (edge), audacity (heart), vigor (iron), slyness (shadow), or clarity (wits). Then, + suffer -1 supply and roll +wits. On a strong hit, you create a + single dose. The + character who consumes the elixir must Face Danger +iron and score a hit, + after which they add +1 when making a move with the related stat until their health, + spirit, or momentum fall below +1. On a weak hit, as above, but + suffer an additional + -1 supply to create it. +
+
+
+ +
+ As above, and you may choose two effects for a single + dose, or create two doses of the same effect. +
+
+
+ +
+ When you prepare an elixir, add +1 + and take +1 momentum on a hit. +
+
+
+
+ +
+
+
+ +
+ When you make a move to pacify, calm, control, aid, or + fend off an animal (or an animal or beast companion), add +1 and take +1 momentum on + a hit. +
+
+
+ +
+ You may add or upgrade an animal or beast companion + asset for 1 fewer experience. Once you mark all their abilities, you may + Forge a + Bond with them and take an automatic strong hit. When you do, mark a bond + twice and take 1 experience. +
+
+
+ +
+ Once per fight, when you leverage your animal or beast + companion to make a move, reroll any dice. On a hit, take +1 momentum. +
+
+
+
+ +
+
+
Name: + +
+
Once you mark a bond with a leader or faction...
+
+
+
+ +
When you Swear an Iron Vow to serve your + leader or faction on a mission, you may reroll any dice. When you + Fulfill Your + Vow and mark experience, take +1 experience. +
+
+
+ +
When you Sojourn or Make Camp in the + company of your banner-kin, add +1 and take +1 momentum on a hit +
+
+
+ +
When you Enter the Fray bearing your banner, + add +1 and take +1 momentum on a hit. When you burn momentum while carrying your + banner in combat, take +1 momentum after you reset. +
+
+
+
+ +
+
+
Once you become maimed...
+
+
+
+ +
+ You focus your energies: Reduce your edge or iron by 1 + and add +2 to wits or heart, or +1 to each (to a maximum of +4). +
+
+
+ +
+ You overcome your limitations: + Reduce your maximum health by 1. + Maimed no longer counts as a debility, + and does not reduce your maximum + momentum or reset value. When + you Endure Stress +heart, take +1 + momentum on a strong hit. +
+
+
+ +
+ You have stared down death before: + When you are at 0 health and + Endure + Harm, you may roll +wits or +heart + (instead of +health or +iron). If you + do, take +1 momentum on a hit. +
+
+
+
+ +
+
+
Name: + +
+
+ Once you mark a bond with a kin-blade, a sentient + weapon imbued with the spirit of your ancestor... +
+
+
+
+ +
When you Enter the Fray or + Draw the + Circle while wielding your kin-blade, add +1 and take +1 momentum on a hit.
+
+
+ +
When you Gather Information by listening to + the whispers of your kinblade, add +1 and take +2 momentum on a hit. Then,Endure Stress (2 stress). +
+
+
+ +
When you Strike with your kin-blade to + inflict savage harm (decide before rolling), add +1 and inflict +2 harm on a + hit. Then, Endure Stress (2 stress). +
+
+
+
+ +
+
+
+ +
+ When you make a move which gives you an add for + sharing + a bond, add +1 more. +
+
+
+ +
+ When you completely fill a box on your bonds + progress + track, envision what your relationships have taught you. Then, take 1 experience + and + +2 momentum. +
+
+
+ +
+ When you make a move in a crucial moment and score + amiss, you may cling to thoughts of your bond-kin for courage or + encouragement. If + you do, reroll any dice. On anothermiss, in addition to the + outcome + of the move, + you must mark shaken or corrupted. If both debilities are already marked, + Face + Desolation . +
+
+
+
+ +
+
+
+ +
When you Secure an Advantage +edge + by dancing for an audience, add +1 + and take +2 momentum on a hit. On a + strong hit, also add +2 (one time only) + if you make a move to interact with + someone in the audience. +
+
+
+ +
When you Face Danger +edge in a fight by + nimbly avoiding your foe’s attacks, add +1 and take +1 momentum on a hit. +
+
+
+ +
+ When you or an ally make a progress move and roll a + hit, you may perform a dance to commemorate the event. If you do, roll +edge. On + astrong hit, you and each of your allies may take +2 momentum + and +1 + spirit. On aweak hit, you take +1 momentum or +1 spirit, but your allies + are + unmoved. +
+
+
+
+ +
+
+
God's Name: + +
+
Stat: + +
+
+
+
+ +
When you say your daily prayers, you may + Secure + an + Advantage by asking your god to grant a blessing. If you do, roll +your + god’s stat. On a hit, take +2 momentum. +
+
+
+ +
When you Swear an Iron Vow to serve your + god + on a divine quest, you may roll +your god’s stat and reroll any dice. When youFulfill Your Vow and mark experience, take +1 experience. +
+
+
+ +
When you Sojourn, and spread the word of + your + god, you may roll +your god’s stat. If you do, take +1 momentum on a hit. +
+
+
+
+ +
+
+
Title/Lineage: + +
+
+
+
+ +
When you Sojourn and score a weak hit + ormiss, you may claim the rights of hospitality warranted by your title or lineage. If + you + do, roll all dice again and add +1. On a miss, you are refused, + and + your presumption + causes significant new trouble. +
+
+
+ +
When you exert your title or lineage toCompel, add +1 and take +1 momentum on a hit.
+
+
+ +
When you forgo your title or lineage and + Forge + a + Bond as an equal, or when you Swear an Iron Vow to serve + someone + of a lower station, add +1 and take +1 momentum or +1 spirit on a hit. +
+
+
+
+ +
+
+
+ +
When you Swear an Iron Vow to + someone under the promise of payment, + add +1 and give the quest a special mark. + When you successfully Fulfill Your Vow to them, take +wealth equal to the rank + of the quest. If you leverage wealth when + making a move where resources are a + factor, add +wealth and suffer -1 wealth. +
+
+
+ +
+ When in a community or trading, you may suffer -1 + wealth and take +2 supply. +
+
+
+ +
When you Resupply by scavenging or + looting, and score a strong hit with + a match, you may envision finding + an object of value. If you do, take +1 + supply (instead of +2) and +1 wealth. +
+
+
+
+
+
0
+ +
+
+
+ 1
+ +
+
+
+ 2
+ +
+
+
+ 3
+ +
+
+
+ 4
+ +
+
+
+ 5
+ +
+
+
+ +
+
+
+ +
When you attempt to Heal using herbal + remedies, and you have at least +1 supply, you may choose one (decide before + rolling). +
    +
  • Add +2.
  • +
  • On a hit, take or give an additional +1 health.
  • +
+
+
+
+ +
When you Heal a companion, ally, or other + character, and score a hit, take +1 spirit or +1 momentum. +
+
+
+ +
When you Make Camp and choose + the option to partake, you can create + a restorative meal. If you do, you and + your companions take +1 health. Any + allies who choose to partake also take + +1 health, and do not suffer -supply. +
+
+
+
+ +
+
+
+ +
When you Turn the Tide, envision how your + vows + give you strength in this moment. Then, when you make your move, add +2 (instead + of + +1) and take +1 momentum on a hit. +
+
+
+ +
When you Secure an Advantage orCompel by telling a hard truth, add +1 and take +1 momentum on a hit. + On a + weak hit ormiss, envision how this truth complicates your + current + situation. +
+
+
+ +
When you Fulfill Your Vow and score a + miss, you may reroll one challenge die. + If you score a miss again, reduce your + maximum spirit by 1. You may recover + this lost spirit when you next Fulfill Your Vow and score a strong hit. +
+
+
+
+ +
+
+
+ +
When you Check your Gear, you may roll + +wits + (instead of +supply). If you do, envision how you make do with a clever + solution, + and take +1 momentum on a hit. +
+
+
+ +
When you Secure an Advantage or + Face + Danger by cobbling together an ad hoc tool or apparatus, add +1 and + take +1 + momentum on a hit. After you roll, you may also suffer -1 supply and add +1 + more. +
+
+
+ +
+ When you throw caution to the wind and make an + impulsive move in a risky situation, you may add +2. If you do, take +1 momentum + on + a strong hit, but count a weak hit as a miss. +
+
+
+
+ +
+
+
+ +
+ When you make a move to breach, traverse, or hide + within an area held by an enemy force, add +1 and take +1 momentum on a hit. +
+
+
+ +
When you Gather Information within an + enemy + area to discover their positions, plans, or methods, or when you + Secure an + Advantage within that area through observation, you may roll +shadow + (instead of +wits). If you do, take +1 momentum on a hit. +
+
+
+ +
When you Resupply within an enemy area by + scavenging or looting, you may roll +shadow (instead of +wits). If you do, take + +1 + momentum or +1 supply on a hit. +
+
+
+
+ +
+
+
+ +
When you Aid Your Ally, add +1 and take +1 + momentum on a hit. This is in addition to the benefits taken by your ally. +
+
+
+ +
When an ally makes the Endure Stress move + in + your company, they add +1 and you take +1 momentum on a hit. +
+
+
+ +
+ When you stand with your ally as they make a + progress + move, envision how you support them. Then, roll one challenge die. On a 1-9, + your + ally may replace one of their challenge dice with yours. On a 10, envision how + you + inadvertently undermine their action; your ally must replace their lowest + challenge + die with yours. +
+
+
+
+ +
+
+
+ Once you mark a bond with elves, and are + gifted a + mask of precious elderwood... +
+
+
+
+ +
Choose your mask’s material. +
    +
  • Thunderwood: Edge / Health
  • +
  • Bloodwood: Iron / Health
  • +
  • Ghostwood: Shadow / Spirit
  • +
  • Whisperwood: Wits / Spirit
  • +
When you wear the mask and make a move which uses its stat, add +1. If you roll + a 1 + on your action die, suffer -1 to the associated track (in addition to any other + outcome of the move). +
+
+
+ +
+ As above, and you may instead add +2 and suffer -2 + (decide before rolling). +
+
+
+ +
When you Face Death or + Face + Desolation while wearing the mask, you may roll +its stat (instead of + +heart). +
+
+
+
+ +
+
+
Once you Forsake a Vow...
+
+
+
+ +
This asset counts as a debility. One time + only, + when you Swear an Iron Vow to redeem yourself (extreme or greater), + give + that vow a special mark. When you Reach a Milestone on the marked vow, + take + +2 momentum. +
+
+
+ +
When you Secure an Advantage orCompel by reaffirming your commitment to your marked vow, add +1 and + take + +1 momentum on a hit. +
+
+
+ +
When you Fulfill Your Vow on your marked + quest + and score a hit, you find redemption and automatically activate this ability at + no + cost. You may then improve one of your stats by +1 and + discard this + asset. +
+
+
+
+ +
+
+
+ +
+ When your supply is reduced to 0, suffer any + remaining + -supply as -momentum. Then, roll +wits. On a strong hit, you + manage + to scrape by and + take +1 supply. On a weak hit, you may suffer -2 momentum in + exchange for +1 supply. + On a miss, you are Out of Supply +
+
+
+ +
When you Sojourn, you may reroll any dice. + If + you do (decide before your first roll), your needs are few, but your isolation + sets + you apart from others. A strong hit counts as a weak hit. +
+
+
+ +
When you Reach Your Destination and roll astrong hit, you recall or recognize something helpful about + this + place. Envision + what it is, and take +2 momentum. +
+
+
+
+ +
+
+
+ +
+ When you establish a false identity, roll +shadow. + On astrong hit, you may add +2 when you make moves using this + identity + to deceive or + influence others. If you roll a 1 on your action die when using your false + identity, + someone doubts you. Make appropriate moves to reassure them or prevent them from + revealing the truth. On a weak hit, as above, but add +1 + (instead + of +2). +
+
+
+ +
+ As above, and you may roll +shadow (instead of + +heart) + when you Sojourn under your false identity. If you do, take +1 momentum + on + a hit. +
+
+
+ +
When you Secure an Advantage by revealing + your + true identity in a dramatic moment, reroll any dice. +
+
+
+
+ +
+
+
Once you Face Death and return to the + world of the living... +
+
+
+
+ +
When you are at 0 health, and Endure Harm orFace Death, add +1. If you then burn momentum to improve your result, + envision what bond or vow binds you to this world, and take +2 momentum after + you + reset. +
+
+
+ +
+ When you make a move to investigate, oppose, or + interact with a horror, spirit, or other undead being, add +1. +
+
+
+ +
When you bring death to your foe to + End the + Fight, you may burn momentum to cancel one (not both) of the challenge + dice + if your momentum is greater than the value of that die. If you do, + Endure + Stress (2 stress). +
+
+
+
+ +
+
+
If you are with your horse companion...
+
+
+
+ +
When you Heal your horse, or when you + Face + Danger to calm or encourage it, add +1 and take +1 momentum on a hit.
+
+
+ +
When you Undertake a Journey, you may push + your horse harder and add +1 (after rolling). If you do, make the + Companion + Endure Harm move (1 harm). +
+
+
+ +
When you Secure an Advantage +wits by + sizing + up a perilous situation from the saddle, you are one with your horse’s + instincts. + Add +1 and take +1 momentum on a hit. +
+
+
+
+ +
+
+
Once you Fulfill Your Vow (formidable + or + greater) in service to an elder mystic, and Forge a Bond to train with + them... +
+
+
+
+ +
When you Secure an Advantage to ready + yourself + for a ritual, envision how you prepare. Then, add +1 and take +1 momentum on a + hit. +
+
+
+ +
+ When you perform a ritual, you may suffer -1 supply + and + add +1 (decide before rolling). +
+
+
+ +
+ When you tattoo the essence of a new ritual onto + your + skin, envision the mark you create. You may then purchase and upgrade that + ritual + asset for 1 fewer experience. +
+
+
+
+ +
+
+
Once you become corrupted...
+
+
+
+ +
+ You harden your heart: Reduce your heart stat by 1 + and + add up to +2 to shadow (to a maximum of +4). +
+
+
+ +
+ You are attuned to the realms of shadow: When you + perform a ritual, add +1. +
+
+
+ +
You know the sly ways of death: When you + Face + Death, you may roll +shadow (instead of +heart). You may also suffer -1 + momentum and add +1 (decide before rolling). +
+
+
+
+ +
+
+
+ +
When you Face Danger or + Gather + Information to identify or detect mystic forces, add +1 and take +1 + momentum on a hit. +
+
+
+ +
When you Compel, Forge a Bond, orTest Your Bond with a fellow mystic or mystical being, add +1 and take + +1 + momentum on a hit. +
+
+
+ +
When you Secure an Advantage by studying + someone or something in a charged situation, add +1 and take +1 momentum on a + hit. + When you also pierce the veil to explore deeper truths (decide before rolling), + you + may reroll any dice. If you do, count a weak hit as a miss. +
+
+
+
+ +
+
+
+ +
When you Gather Information by tracking a + beast or horror, or when you Secure an Advantage by readying yourself + for a + fight against them, add +1 and take +1 momentum on a hit. +
+
+
+ +
When you Swear an Iron Vow to slay a beast + or + horror, you may reroll any dice. When you Fulfill Your Vow and mark + experience, take +1 experience. +
+
+
+ +
+ When you slay a beast or horror (at least + formidable), + you may take a trophy and choose one. +
    +
  • + Power a ritual: When you or an ally make a ritual move, reroll any dice + (one + time only). +
  • +
  • Prove your worth: When you Sojourn, reroll any dice (one time + only). +
  • +
+
+
+
+
+ +
+
+
+ +
+ You are haunted by someone whose death you caused + through your actions or failures. When you consult with their spirit to + Secure + an Advantage or Gather Information, add +1 and take +2 + momentum on + a hit. On a weak hit, also Endure Stress (1 stress). +
+
+
+ +
When you Face Death guided by the spirit, + add + +1. On a strong hit, envision what you learn and take 1 + experience. +
+
+
+ +
One time only, when you successfully + Fulfill + Your + Vow (formidable or greater) in service to the spirit, choose one. +
    +
  • + Let them go: Take 2 experience for each marked ability and discard this + asset. +
  • +
  • Deepen your connection: Add +1 more when you leverage this asset.
  • +
+
+
+
+
+ +
+
+
+ +
When you Secure an Advantage,Compel, + or Forge a Bond by sharing an inspiring or enlightening song, poem, or + tale, envision the story you tell. Then, add +1 and take +1 momentum on a hit. +
+
+
+ +
When you Make Camp and choose the option + to + relax, you may share a story with your allies or compose a new story if alone. + If + you do, envision the story you tell and take +1 spirit or +1 momentum. Any + allies + who choose to relax in your company may also take +1 spirit or +1 momentum. +
+
+
+ +
When you Sojourn within a community with + which + you share a bond, add +2 (instead of +1). +
+
+
+
+ +
+
+
+ +
When you Face Danger, + Secure an + Advantage, or Compel by lying, bluffing, stealing, or + cheating, + add +1. +
+
+
+ +
When you Gather Information by + investigating a + devious scheme, you may roll +shadow (instead of +wits). If you do, take +2 + momentum + on a hit. +
+
+
+ +
When you Forge a Bond for a relationship + founded on a lie, choose one. +
    +
  • Keep your secret: Roll +shadow (instead of +heart).
  • +
  • + Reveal the truth: Roll +heart. On a strong hit, mark a bond twice and + take 1 experience. A weak hit counts as a miss. +
  • +
+
+
+
+
+ +
+
+
+ +
+ When you burn momentum to + improve your result in combat, envision + how your hard-won fighting experience + gives you the upper hand. Then, take + +1 momentum after you reset, and add + +1 when you make your next move. + Once per fight, you also take initaitive + when burning momentum to improve a + miss to a weak hit. +
+
+
+ +
When you Swear an Iron Vow to someone who + fought beside you, or Forge a Bond with them, add +2 and take +2 + momentum + on a hit. +
+
+
+ +
When you Resupply by looting the dead on a + field of Battle, add +1 and take +1 momentum on a hit. +
+
+
+
+ +
+
+
+ +
When you Face Danger, + Gather + Information, or Secure an Advantage related to your knowledge + of + watercraft, water travel, or aquatic environments or creatures, add +1 and take + +1 + momentum on a hit. +
+
+
+ +
When you Undertake a Journey by boat or + ship, + add +1. On a strong hit, also choose one. +
    +
  • The wind is at your back: Mark progress twice.
  • +
  • Find safe anchor: Make Camp now and reroll any dice.
  • +
  • Reap the bounty: Resupply now and reroll any dice.
  • +
+
+
+
+ +
When you Enter the Fray aboard a boat or + ship, + reroll any dice. +
+
+
+
+ +
+
+
+ +
When you Undertake a Journey, take + +1 momentum on a strong hit. If you + burn momentum to improve your + result, also take +1 momentum after + you reset +
+
+
+ +
When you Secure an Advantage or + Gather + Information by carefully surveying the landscape or scouting ahead, add + +1 + and take +1 momentum on a hit. +
+
+
+ +
When you Swear an Iron Vow to safely guide + someone on a perilous journey, you may reroll any dice. When you + Fulfill + Your + Vow and mark experience, take +1 experience. +
+
+
+
+ +
+
+
Once you Fulfill Your Vow (formidable + or + greater) in service to a seasoned warrior, and Forge a Bond to train with + them... +
+
+
+
+ +
When you Secure an Advantage by sizing up + your + foe in a fight, or in a charged situation which may lead to a fight, add +1 and + take + +1 momentum on a hit. +
+
+
+ +
+ When you study or train in a new weapon or + technique, + you may obtain and upgrade that combat talent for 1 fewer experience. +
+
+
+ +
When you Turn the Tide with a sudden + change of + weapon or technique, and your next move is a Strike, you may add +1 and + inflict +2 harm on a strong hit. +
+
+
+
+ +
+
+
+ +
When you Face Danger, + Secure an + Advantage, or Gather Information using your knowledge of + tracking, + woodcraft, or woodland creatures, add +1. +
+
+
+ +
When you Face Danger or + Secure an + Advantage by hiding or sneaking in the woodlands, add +1 and take +1 + momentum on a hit. +
+
+
+ +
When you Make Camp in the woodlands, you + may + roll +wits (instead of +supply). If you do, you and your allies may each choose + 1 + more option on a hit. +
+
+
+
+ +
+
+
Specialty: + +
+
+
+
+ +
When you Secure an Advantage by crafting a + useful item using your specialty, or when you Face Danger to create or + repair an item in a perilous situation, add +1 and take +1 momentum on a hit +
+
+
+ +
+ As above, and you may suffer -1 supply (after you + roll) + to add an additional +1 +
+
+
+ +
+ When you give the item you create as a gift to + commemorate an important event or relationship, you may (one time only) reroll + any + dice when you Compel, Forge a Bond, or Test Your Bond . +
+
+
+
+
+ +
+ + +
+
+
If you wield a bow...
+
+
+
+ +
When you Secure an Advantage by taking a moment to aim, choose your approach and add +1. +
    +
  • Trust your instincts: Roll +wits, and take +2 momentum on a strong hit.
  • +
  • Line up your shot: Roll +edge, and take +1 momentum on a hit.
  • +
+
+
+
+ +
Once per fight, when you Strikeor Clash, you may take extra shots and suffer -1 supply (decide before rolling). + When you do, reroll any dice. + On a hit, inflict +2 harm and take +1 momentum. +
+
+
+ +
When you Resupplyby hunting, add +1 and take +1 momentum on a hit.
+
+
+
+ +
+
+
If you are clad only in animal pelts...
+
+
+
+ +
When you Secure an Advantage orCompel by embodying your wild nature, add +1 and take +1 momentum on a hit.
+
+
+ +
When you Strike or Clash by unleashing your rage (decide before rolling), inflict + +1 harm on a hit. Then, choose one. +
    +
  • Push yourself: Endure Harm (1 harm).
  • +
  • Lose yourself: Endure Stress(1 stress).
  • +
+
+
+
+ +
When you Endure Harmin a fight, and your health is above 0, you may let the pain inflame + your wildness (decide before rolling). + If you then score a strong hit and choose to embrace the pain, take + +momentum equal to your remaining health. A weak hit counts as a miss. +
+
+
+
+ +
+
+
If you are unarmed or fighting with a non-deadly weapon...
+
+
+
+ +
When you Secure an Advantage +iron by engaging in close-quarters brawling + (such as punching, tripping, or grappling), + add +1. If you score a hit, you may also inflict 1 harm. +
+
+
+ +
+ When you use an unarmed attack or + simple weapon to Strike with deadly intent, add +2 and inflict 2 harm on + a hit (instead of 1). On a weak hit or miss, suffer -1 momentum + (in addition to any other outcome of the move). +
+
+
+ +
When you Face Danger or Clash against a brawling attack, add +1 and take +1 momentum on a hit.
+
+
+
+ +
+
+
If you wield a dagger or knife...
+
+
+
+ +
When you are in position to Strike at an unsuspecting foe, choose one (before rolling). +
    +
  • Add +2 and take +1 momentum on a hit.
  • +
  • Inflict +2 harm on a hit.
  • +
+
+
+
+ +
When you Compel someone at the point of your blade, or when you rely on your blade to Face Danger, add +1.
+
+
+ +
Once per fight, when you Secure an Advantage +shadow by performing a feint or misdirection, + reroll any dice and take +1 momentum on a hit. +
+
+
+
+ +
+
+
If you wield a bladed weapon in each hand...
+
+
+
+ +
When you Strike or Clash, you may add +2. If you do (decide before rolling), + inflict +1 harm on a strong hit and count a weak hit as a miss. +
+
+
+ +
Once per fight, when you Secure an Advantage +edge by making a bold display of + your combat prowess, you may reroll any dice. +
+
+
+ +
When you Draw the Circle, choose one (before rolling). +
    +
  • Add +2.
  • +
  • Take +2 momentum on a hit.
  • +
+
+
+
+
+ +
+
+
+
+
+
+ +
When you Secure an Advantage by crafting arrows of fine quality, add +1. Then, take +1 supply or +1 momentum on a hit.
+
+
+ +
When you Resupply by recovering or gathering arrows after a Battle, add +2.
+
+
+ +
+ When you craft a single arrow designated for a + specific + foe, envision the process and materials, and roll +wits. On a strong hit, take both. On a weak hit, choose one. +
    +
  • Seeker: When a shooter uses the arrow to Strike orClash against this foe, reroll any dice (one time only).
  • +
  • + Ravager: When a shooter uses the arrow to inflict harm against this foe, + inflict +1d6 harm (one time only). +
  • +
+
+
+
+
+ +
+
+
If you wear armor...
+
+
+
+ +
When you equip or adjust your armor, choose one. +
    +
  • Lightly armored: When you Endure Harm in a fight, add +1 + and + take +1 momentum on a hit. +
  • +
  • Geared for war: Mark encumbered. When you Endure Harm in + a + fight, add +2 and take +1 momentum on a hit. +
  • +
+
+
+
+ +
When you Clash while you are geared for + war, + add +1. +
+
+
+ +
When you Compel in a situation where + strength + of arms is a factor, add +2. +
+
+
+
+
+
Lightly Armored
+ +
+
+
Geared for War
+ +
+
+
+ +
+
+
If you wield a staff...
+
+
+
+ +
+ In your hands, a humble staff is a + deadly weapon (2 harm). When you + instead use it as a simple weapon (1 + harm), you may Strike or Clash +edge + (instead of iron). If you do, add +1 and take +1 momentum on a hit. +
+
+
+ +
When you Secure an Advantage +edge using + your + staff to disarm, trip, shove, or stun your foe, add +1 and take +1 momentum on a + hit. +
+
+
+ +
When you Undertake a Journey and score astrong hit, or if you accompany an ally who scores a strong hit + on + that move, your + staff provides support and comfort in your travels; take +1 momentum. +
+
+
+
+ +
+
+
If you wield a shield...
+
+
+
+ +
When you Face Danger using your shield as + cover, add +1. When you Clash in close quarters, take +1 momentum on a + strong hit. +
+
+
+ +
+ When you paint your shield with a meaningful + symbol, + envision what you create. Then, if you Endure Stress as you face off + against a fearsome foe, add +1 and take +1 momentum on a hit. +
+
+
+ +
When forced to Endure Harm in a fight, you + may + instead sacrifice your shield and ignore all harm. If you do, the shield is + destroyed. Once per fight, you also take initiative when you sacrifice your + shield + to avoid harm. +
+
+
+
+ +
+
+
If you wield a spear...
+
+
+
+ +
When you Face Danger by holding a foe at + bay + using your spear’s reach, roll +iron or +edge. If you score a hit, you may... +
    +
  • Iron: Strike (if you have initiative) or Clash now, + and + add +1. +
  • +
  • Edge: Take +1 momentum.
  • +
+
+
+
+ +
When you Strike in close combat, you + may attempt to drive your spear home + (decide before rolling). If you do, add + +1 and inflict +2 harm on a hit. If you + score a hit and the fight continues, Face Danger +iron to recover your + spear. +
+
+
+ +
When you Secure an Advantage by bracing + your + spear against a charging foe, add +1 and take +1 momentum on a hit. +
+
+
+
+ +
+
+
If you wield a sling...
+
+
+
+ +
+ When launched from a sling, a simple + stone inflicts deadly harm (2 harm). + When you Enter the Fray by barraging + your foe with sling-bullets, inflict + harm on a strong hit. +
+
+
+ +
When you Strike by launching stones at an + advancing foe, you may choose one (before rolling). +
    +
  • Hold them back: Retain initiative on a weak hit, but + inflict only 1 harm. +
  • +
  • Hit them hard: Inflict +1 harm on a hit, but suffer -1 momentum.
  • +
+
+
+
+ +
When you Secure an Advantage by preparing + stones of a special quality or material, add +1. Then, take +1 momentum or +1 + supply + on a hit. +
+
+
+
+ +
+
+
If you wield an axe...
+
+
+
+ +
When you Strike or Clash in close + quarters, you may suffer -1 momentum and inflict +1 harm on a hit (decide before + rolling). +
+
+
+ +
+ When you have your axe in hand, and use the promise + of + violence to Compel or Secure an Advantage, add +1 and take +1 + momentum on a hit. +
+
+
+ +
+ When you make a tribute to a fallen foe (formidable + or + greater) by carving a rune in the haft of your axe, roll +heart. On a + strong + hit, inflict +1d6 harm (one time only) when you Strike or Clash . + On aweak hit, as above, but this death weighs on you; + Endure + Stress (2 stress). +
+
+
+
+ +
+
+
If you wield a sword...
+
+
+
+ +
When you Strike or Clash and burn + momentum to improve your result, + inflict +2 harm. If the fight continues, add +1 on your next move. +
+
+
+ +
When you Clash and score a + strong + hit, you may + add +1 if you immediately follow with a Strike. +
+
+
+ +
When you Swear an Iron Vow by kneeling and + grasping your sword’s blade, add +1 and take +1 momentum on a hit. If you let + the + edge draw blood from your hands, Endure Harm (1 harm) in exchange for + an + additional +1 momentum on a hit. +
+
+
+
+ +
+
+
If you wield a mighty hammer...
+
+
+
+ +
When you Face Danger, + Secure an + Advantage, or Compel by hitting or breaking an inanimate + object, + add +1 and take +1 momentum on a hit. +
+
+
+ +
When you Strike a foe to knock them + back, stun them, or put them off + balance, inflict 1 harm (instead of 2) + and take +2 momentum on a hit. On a + strong hit, you also create an opening + and add +1 on your next move. +
+
+
+ +
When you Turn the Tide, you may + Strike with all the fury and power you + can muster. If you do (decide before + rolling), you may reroll any dice and + inflict +2 harm on a strong hit, but + count a weak hit as a miss. +
+
+
+
+
+ +
+ + +
+
+
+ +
+ When you summon a flock of crows and ask a single + question, roll +wits. On a strong hit, you interpret their + calls as + a helpful omen. + Envision the response (Ask the Oracle if unsure) and take +2 momentum. + On aweak hit, the crows ignore your question and offer a clue to an + unrelated problem or + opportunity in this area. Envision what you learn (Ask the Oracle if + unsure), and take +1 momentum. +
+
+
+ +
+ As above, and the crows + will also help + guide you on the proper path. On a + hit, add +1 on the next segment when + you Undertake a Journey. +
+
+
+ +
+ When you perform this ritual, add +1 and take +1 + momentum on a hit. +
+
+
+
+ +
+
+
+ +
+ When you create a simulacrum, roll +heart. On a + strong + hit, your creation is given unnatural life. If it aids you as you make a move to + assault or overcome an obstacle through strength, add +2. It has 3 health and + suffers harm as appropriate, but is not a companion and may not be healed. At 0 + health, it is dead. On a weak hit, as above, but if you roll a + 1 on + your action die + when aided by your creation, you must Face Danger +heart to keep it + from + turning on you (as a formidable foe). +
+
+
+ +
+ Your simulacrum has 6 + health. +
+
+
+ +
+ When you perform this ritual, add +1 and take +1 + momentum on a hit. +
+
+
+
+
+
0
+ +
+
+
+ 1
+ +
+
+
+ 2
+ +
+
+
+ 3
+ +
+
+
+ 4
+ +
+
+
+ 5
+ +
+
+
+ 6
+ +
+
+
+ +
+
+
+ +
+ When you wear an animal pelt and dance in + moonlight, + roll +wits. On a strong hit, you or an ally may wear the pelt + and + add +1 when making + moves with the related stat (wolf-edge; bear-iron; deer-heart; fox-shadow; + boar-wits). If the wearer rolls a 1 on their action die while making a move + using + the pelt, the magic is spent. On a weak hit, as above, but the + wilds call as you + dance; Endure Stress (2 stress). +
+
+
+ +
+ As above, and you may + instead + perform this ritual wearing the pelt of a beast. If you do, name the related + stat + and add +2 (instead of +1). +
+
+
+ +
+ When you perform this ritual, add +1 and take +1 + momentum on a hit. +
+
+
+
+ +
+
+
+ +
+ When you surround the remains of a recently + deceased + intelligent creature with lit candles, and summon its spirit, roll +heart. Add + +1 if + you share a bond. On a strong hit, the spirit appears and you + may + converse for a few + minutes. Make moves as appropriate (add +1). On a weak hit, as + above, but the spirit + also delivers troubling news unrelated to your purpose. Envision what it tells + you + (Ask the Oracle if unsure) and Endure Stress (1 stress). +
+
+
+ +
+ As above, and you may + also + commune with the long-dead. +
+
+
+ +
+ When you perform this ritual, add +1 and take +1 + momentum on a hit. +
+
+
+
+ +
+
+
+ +
+ When you take a drop of blood from a willing + subject + (not yourself) and cast the rune-carved stones, roll +heart. On a + strong + hit, you + may read the runes to Gather Information about the subject and people + close + to them, including insight you and the subject have no knowledge of. If you do, + add + +1. On a weak hit, as above, but the answers are revealed only + with + extra time and + focus; suffer -2 momentum. +
+
+
+ +
+ As above, and your + divination + can also reveal information about the subject’s future. +
+
+
+ +
+ When you perform this ritual, add +1 and take +1 + momentum on a hit. +
+
+
+
+ +
+
+
+ +
+ When you consume the mystical essence of your + surroundings, roll +wits. On a strong hit, add the value of + your + action die to your + essence track (max 6). You may then Secure an Advantage or + Face + Danger +essence to create minor mystical effects or illusions. If you + do, + suffer -1 essence and take +1 momentum on a hit. On a weak hit, as + above, but + capturing these energies is harrowing; Endure Stress (2 stress). +
+
+
+ +
You may Compel +essence (and suffer -1 essence) through a show of power.
+
+
+ +
+ When you perform this ritual, add +1 and take +1 + essence on a hit. +
+
+
+
+
+
0
+ +
+
+
+ 1
+ +
+
+
+ 2
+ +
+
+
+ 3
+ +
+
+
+ 4
+ +
+
+
+ 5
+ +
+
+
+ 6
+ +
+
+
+ +
+
+
+ +
+ When you hold a weapon and sing a keen for those it + has + killed, roll +heart. On a strong hit, the wielder inflicts +1 + harm + when theyStrike or Clash . If they roll a 1 on their action die when + making + a move to inflict harm, the magic is spent. On a weak hit, as + above, but the voices + of those who were slain join in your song; Endure Stress (2 stress). +
+
+
+ +
+ As above, and the wielder + may + also (one time only) add +1 and take +2 momentum on a hit when they + Draw the + Circle, Enter the Fray, or Battle . +
+
+
+ +
+ When you perform this ritual, add +1 and take +1 + momentum on a hit. +
+
+
+
+ +
+
+
+ +
+ When you mark your hands or weapon with an + intricate + blood rune, roll +iron. On a strong hit, the rune thirsts for + fresh + blood. One time + only, when you make a move to inflict harm, reroll any dice and inflict +2 harm + on a + hit. Then, for each point of harm inflicted, take +1 and allocate it as +health + or + +momentum. On a weak hit, as above, but this asset counts as a + debility until the + rune’s thirst is quenched. +
+
+
+ +
+ As above, and you may + also + touch an ally or companion and let them take +1 health or momentum for each + unallocated point. +
+
+
+ +
+ When you perform this ritual, add +1 and take +1 + momentum on a hit. +
+
+
+
+ +
+
+
+ +
+ When you focus on a source of light and capture its + essence, roll +wits. On a strong hit, set your light track to + +6. + On a weak hit, make it +3. Then, when you make a move to overcome or navigate darkness, you may + add + +2 and suffer -1 light. +
+
+
+ +
You may use your light toStrike or Clash against a dark-dwelling foe. Choose the amount + of + light to unleash, and roll +light (instead of +iron or +edge). Suffer -light + equal + to that amount. On a hit, your harm is 1+your unleashed light. +
+
+
+ +
+ When you perform this ritual, add +1 and take +1 + momentum on a hit. +
+
+
+
+
+
0
+ +
+
+
+ 1
+ +
+
+
+ 2
+ +
+
+
+ 3
+ +
+
+
+ 4
+ +
+
+
+ 5
+ +
+
+
+ 6
+ +
+
+
+ +
+
+
+ +
+ When you look into flames to study a remote person + or + location, roll +shadow. You or someone with you must have knowledge of the + target. + On a strong hit, you may Gather Information through + observation using + +shadow or +wits. On a weak hit, as above, but the flames are + hungry; choose one to + sacrifice. +
    +
  • Your blood: Endure Harm (2 harm).
  • +
  • Something precious: Endure Stress (2 stress).
  • +
  • Provisions: Suffer -2 supply.
  • +
+
+
+
+ +
+ As above, and you may + instead study a + past event. +
+
+
+ +
+ When you perform this ritual, add +1 and take +1 + momentum on a hit. +
+
+
+
+ +
+
+
+ +
+ When you cloak yourself with the gossamer veil of + the + shadow realms, roll +shadow. On a strong hit, take +1 momentum. + Then, reroll any + dice (one time only) when you make a move by ambushing, hiding, or sneaking. On + aweak hit, as above, but the shadows try to lead you astray. You + must first + Face + Danger to find your way. +
+
+
+ +
+ As above, and you may + also + travel along the hidden paths of the shadow realms to + Undertake a + Journey using +shadow (instead of +wits). If you do, Endure Stress (1 stress) + and + mark progress twice on a strong hit. +
+
+
+ +
+ When you perform this ritual, add +1 and take +1 + momentum on a hit. +
+
+
+
+ +
+
+
+ +
+ When you speak a person’s name three times to the + wind, + roll +wits. On a strong hit, the wind whispers of this person’s + need. Envision what + you hear (Ask the Oracle if unsure). If you use this information or + fulfill + this need when you Compel them, you may reroll any dice (one time + only). On + a weak hit, as above, but this person’s need creates a + troubling + dilemma or + complication; Endure Stress (1 stress). +
+
+
+ +
+ As above, and if you roll + a + strong hit when you Compel, you may also reroll any dice (one time + only) + when you Gather Information from this person. +
+
+
+ +
+ When you perform this ritual, add +1 and take +1 + momentum on a hit. +
+
+
+
+ +
+
+
+ +
+ When you fashion a charm, envision it and name the + specific person or creature it protects against. Then roll +wits. On astrong hit, when the wearer opposes the target through a move, add +2. If a 1 is rolled on + the + action die while making a move using the charm, the magic is spent. On aweak hit, as above, but the wearer adds +1 when making a move (instead of +2). +
+
+
+ +
+ As above, and you may + instead + fashion a charm which aids the wearer against all supernatural threats, such as + mystic rituals or horrors. +
+
+
+ +
+ When you perform this ritual, add +1 and take +1 + momentum on a hit. +
+
+
+
+ +
+
+
+ +
+ When you commune with the spirits of a place, roll + +heart. If you share a bond with someone there, add +1. On a + strong + hit, you are + tethered. When you Undertake a Journey to return, you may roll +spirit + or + +heart (instead of +wits), and take +1 momentum on a hit. When you + Reach + Your + Destination, take +2 momentum on a strong hit. The tether is lost if + you + perform this ritual elsewhere, or when you Face Desolation . On aweak hit, as above, but the spirits reveal a disturbing aspect of the place; + Endure + Stress (2 stress). +
+
+
+ +
+ As above, and you may + also + reroll any dice when you Sojourn in the tethered place. +
+
+
+ +
+ When you perform this ritual, add +1 and take +1 + momentum on a hit. +
+
+
+
+ +
+
+
+ +
+ When you hold a totem of your animal + or beast companion and focus on it, + roll +heart. On a strong hit, you are + bound together. Add +1 and take + +1 momentum on a hit when you + use a companion ability. If you roll + a 1 on your action die when using a + companion ability, the magic is spent. + On a weak hit, as above, but creating + this connection is unsettling; Endure Stress (1 stress). +
+
+
+ +
+ As above, and you may + also + perceive the world through your companion’s senses while you make moves aided by + them (even when you are apart). +
+
+
+ +
+ When you perform this ritual, add +1 and take +1 + momentum on a hit. +
+
+
+
+ +
+
+
+ +
+ When you paint yourself in blood and ash, roll + +wits. + On a strong hit, you may add +2 and take +1 momentum on a hit + when + you + Secure an + Advantage or Compel using fear or intimidation. If you roll a + 1 on + your action die when making a move aided by your visage, the magic is spent. On + aweak hit, as above, but the blood must be your own; + Endure + Harm (2 harm). +
+
+
+ +
+ As above, and you may + also + add +1 when you Strike, Clash, or Battle . +
+
+
+ +
+ When you perform this ritual, add +1 and take +1 + momentum on a hit. +
+
+
+
+ +
+
+
+ +
+ When you walk a wide circle, sprinkling the ground + with + salt, roll +wits. On a strong hit, choose two. On a + weak + hit, chose one. +
    +
  • When a foe first crosses the boundary, take +1 momentum.
  • +
  • + When you first inflict harm against a foe within the boundary, inflict + +1 + harm. +
  • +
  • Your ward is ‘likely’ (Ask the Oracle) to trap a foe within the + boundary. +
  • +
+
+
+
+ +
+ As above, and improve the + effect of your ward (+2 momentum, +2 harm, and ‘almost certain’). +
+
+
+ +
+ When you perform this ritual, add +1 and take +1 + momentum on a hit. +
+
+
+
+
+ +
+ Builder + View +
+
Titles
+ +
+
Ability One
+ + +
+
Ability Two
+ + +
+
Ability Three
+ + +
+
Tracks
+ +
+
+
+
+
+ + +
+ +
+ +
+ + +
+ +
+ + + +
+
+
+ +
+ +
+ +
+
+ +
+ +
+ + +
+
+
+
+ +
+ +
+ +
+
+ +
+ +
+ + +
+
+
+
+ + +
+
+ +
+ +
+
+
+
+ +
+ + +
+
+
+
+
+
+ + +
+
+
+
0
+ +
+
+
+ 1
+ +
+
+
+ +
+
+
+
0
+ +
+
+
+ 1
+ +
+
+
+ 2
+ +
+
+
+ +
+
+
+
0
+ +
+
+
+ 1
+ +
+
+
+ 2
+ +
+
+
+ 3
+ +
+
+
+ +
+
+
+
0
+ +
+
+
+ 1
+ +
+
+
+ 2
+ +
+
+
+ 3
+ +
+
+
+ 4
+ +
+
+
+ +
+
+
+
0
+ +
+
+
+ 1
+ +
+
+
+ 2
+ +
+
+
+ 3
+ +
+
+
+ 4
+ +
+
+
+ 5
+ +
+
+
+ +
+
+
+
0
+ +
+
+
+ 1
+ +
+
+
+ 2
+ +
+
+
+ 3
+ +
+
+
+ 4
+ +
+
+
+ 5
+ +
+
+
+ 6
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+

 EFFORT LEVELS 

+
+
+

ADVENTURE MOVES (♣)

+
+
FACE DANGER
+
+ + + + +
+
+
+
SECURE AN ADVANTAGE
+
+ + + + +
+
+
+
GATHER INFORMATION
+
+ + + + +
+
+
+
UNDERTAKE A JOURNEY
+
+ + + + +
+
+
+
+

COMBAT MOVES (♠)

+
+
ENTER THE FRAY
+
+ + + + +
+
+
+
STRIKE
+
+ + + + +
+
+
+
CLASH
+
+ + + + +
+
+
+
BATTLE
+
+ + + + +
+
+
+
+

RECOVERY MOVES (♥)

+
+
HEAL
+
+ + + + +
+
+
+
HEARTEN
+
+ + + + +
+
+
+
PATCH EQUIPMENT
+
+ + + + +
+
+
+
RESUPPLY
+
+ + + + +
+
+
+
MAKE CAMP
+
+ + + + +
+
+
+
+

QUEST AND ASSET MOVES (♦)

+
+
SWEAR AN IRON VOW
+
+ + + + +
+
+
+
ASSET MOVES
+
+ + + + +
+
+
+
+

DELVE MOVES (♣)

+
+
DELVE THE DEPTHS
+
+ + + + +
+
+
+
CHECK YOUR GEAR
+
+ + + + +
+
+
+
ESCAPE THE DEPTHS
+
+ + + + +
+
+
+
+

SUFFER MOVES (♠)

+
+
ENDURE HARM
+
+ + + + +
+
+
+
ENDURE STRESS
+
+ + + + +
+
+
+
FACE DEATH
+
+ + + + +
+
+
+
FACE DESOLATION
+
+ + + + +
+
+
+
+

RELATIONSHIP MOVES (♥)

+
+
COMPEL
+
+ + + + +
+
+
+
SOJOURN
+
+ + + + +
+
+
+
DRAW THE CIRCLE
+
+ + + + +
+
+
+
FORGE A BOND
+
+ + + + +
+
+
+
TEST YOUR BOND
+
+ + + + +
+
+
+
+

COMPANION MOVES (♥)

+
+
ORDER CONDITIONAL COMPANION
+
+ + + + +
+
+
+
STRENGHTEN LOYALTY
+
+ + + + +
+
+
+
TAKE CONDITIONAL COMPANION
+
+ + + + +
+
+
+
TEST THEIR LOYALTY
+
+ + + + +
+
+
+
+
+
+
+ +
+

 MOVES 

+ +
+ +
+ +
+
+

FATE MOVES

+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+

SUFFER MOVES

+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+

DELVE MOVES

+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+

ADVENTURE MOVES

+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+

COMBAT MOVES

+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+

RECOVERY MOVES

+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+

QUEST MOVES

+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+

RELATIONSHIP MOVES

+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+

COMPANION MOVES

+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+ +
+
+
+ + +
+
+ +
+
+
+
+
+
+

FATE MOVES

+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+

SUFFER MOVES

+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+

DELVE MOVES

+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+

ADVENTURE MOVES

+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+

COMBAT MOVES

+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+

RECOVERY MOVES

+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+

QUEST MOVES

+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+

RELATIONSHIP MOVES

+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+

COMPANION MOVES

+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+ +
+
Advance
+
+

When you focus on your skills, receive training, find inspiration, gain a companion, or one of these does the former, grows stronger, sharpen its senses or learns a new trick, you may...

+

Oathkeeper

+
    +
  • Upgrade a stat for 8 experience.
  • +
  • Reduce any stat by 1 and add +1 to any other for 2 experience.
  • +
  • Upgrade a weapon proficiency for 2 experience.
  • +
  • Upgrade an effort level for 1 experience.
  • +
  • Acquire a companion asset for asset health+2 in experience.
  • +
  • Acquire an asset for 3 experience.
  • +
  • Upgrade an asset for 2 experience.
  • +
+

Humanoid Companion

+
    +
  • Upgrade a stat for 6 experience.
  • +
  • Reduce any stat by 1 and add +1 to any other for 1 experience.
  • +
  • Upgrade the asset for 2 experience.
  • +
  • Upgrade a weapon proficiency for 2 experience.
  • +
  • Upgrade the asset for 2 experience.
  • +
+

Non-humanoid Companion

+
    +
  • Upgrade a stat for 6 experience.
  • +
  • Reduce any stat by 1 and add +1 to any other for 1 experience.
  • +
  • Increase its protection for its next level in experience.
  • +
  • Increase its Face Danger/Clash addition for 4 experience.
  • +
  • Make piercing 1 harm for one of its attacks for its next piercing harm level in experience (maximum is 3 piercing harm per attack).
  • +
  • Upgrade an attack proficiency for 1 experience.
  • +
  • Add a secondary attack for its asset health in experience.
  • +
  • Upgrade the asset for 2 experience.
  • +
+
+ +
+ +
+
Aid Your Ally
+
+

When you Secure an Advantage in direct support of an ally, and score a hit, they (instead of you) can take the benefits of the move.

+
+ +
+ +
+
Ask the Oracle
+
+

When you seek to resolve questions, discover details in the world, determine how other characters respond, or trigger encounters or events, you may…

+
    +
  • Draw a conclusion: Decide the answer based on the most interesting and obvious result.
  • +
  • Ask a yes/no question: Decide the odds of a ‘yes’, and roll on the table below to check the answer.
  • +
  • Pick two: Envision two options. Rate one as ‘likely’, and roll on the table below to see if it is true. If not, it is the other.
  • +
  • Spark an idea: Brainstorm or use a random prompt.
  • +
+
+
+
+ +
11 or greater + Almost + Certain +
+
+
+ +
26 or greaterLikely +
+
+
+ +
51 or greater50/50 +
+
+
+ +
76 or greaterUnlikely +
+
+
+ +
91 or greater + Small + Chance +
+ +
+
+ +
+ +
+
Battle
+
+ +
+
+

When you fight a battle, and it happens in a blur, envision your objective and roll. If you primarily fight…

+
    +
  • At range, or using speed and your surroundings to your advantage: Roll +edge.
  • +
  • Depending on your courage and others: Roll +heart.
  • +
  • In close to overpower your opponents: Roll +iron.
  • +
  • Using trickery to befuddle your opponents: Roll +shadow.
  • +
  • Using careful tactics to outsmart your opponents: Roll +wits.
  • +
+

On a strong hit, you achieve your objective with a hard-won victory. Choose one of the weak hit options of the End the Fight move.

+

On a weak hit, you achieve your objective, but not without a significant cost. Choose two of the weak hit options of the End the Fight move.

+

On a miss, you are defeated and the objective is lost to you. Pay the Price.

+
+ +
+ +
+
Burn Momentum
+
+

When you make a move, and have positive momentum, you may set your momentum to your reset value and cancel any challenge dice that are less than your current momentum value.

+
+ +
+ +
+
Check Your Gear
+
+

When you check to see if you have a specific helpful item, and you have at least +1 supply, roll +supply.

+

On a strong hit, you have it. Take +2 momentum.

+

On a weak hit, you have it, but your resources are diminished. Take +2 momentum and suffer -1 supply.

+

On a miss, you don’t have it and the situation grows more perilous. Pay the Price.

+
+ +
+ +
+
Clash
+
+ +
+
+

When your foe has initiative and you fight back, determine if you are hitting your foe’s protection or breaking their defense rating. If your foe’s protection is 0 or you are doing the latter, fix one challenge die as per your foe’s defense rating. Then, envision the contending. If you…

+
    +
  • Fight in close quarters: Roll +iron.
  • +
  • Exchange a volley at range, shoot at an advancing foe, or fight with a precise weapon: Roll +edge.
  • +
+

If you are using two light weapons, add +the harm of one of them to this move.

+

On a strong hit, Inflict Harm and choose one. You have the initiative.

+
    +
  • You get in position: Take +2 momentum.
  • +
  • You find an opening: Inflict +1 harm.
  • +
+

On a weak hit, choose one.

+
    +
  • Inflict Harm and Pay the Price. Your foe has initiative.
  • +
  • Take the initiative if you used a shield.
  • +
+

If you used a shield or attacked at ranged, also choose one.

+
    +
  • You are overwhelmed: Suffer -2 momentum.
  • +
  • Your shield loses durability: Reduce its Face Danger/Clash addition by 1.
  • +
  • You wasted ammo: Suffer -1 supply.
  • +
  • The thrown weapon you used is lost or destroyed.
  • +
+

On a miss, you are outmatched. As above, but you don't Inflict Harm. Your foe has the initiative.

+
+ +
+ +
+
Companion Becomes Unconditional
+
+

When your conditional companion is determined to follow you, envision how they express their resolution to stand by your side unconditionally. Then, acquire a companion asset to represent them in exchange for the asset health+1 experience. Erase the goal and drives fields from their companion sheet. You no longer use their loyalty track.

+
+ +
+ +
+
Compel
+
+ +
+
+

When you persuade someone to do something, envision your approach and roll. If you...

+
    +
  • Charm, pacify, barter, or convince: Roll +heart (add +2 if you share a bond).
  • +
  • Threaten or incite: Roll +iron.
  • +
  • Lie or swindle: Roll +shadow.
  • +
  • Flaunting or boasting: Roll +wealth or +supply.
  • +
+

On a strong hit, they’ll do what you want or share what they know. Take +2 momentum. If you use this exchange to Gather Information, make that move now and add +2.

+

On a weak hit, as above, but they ask something of you in return; envision what they want. If you are making this move to persuade a conditional companion, suffer -1 loyalty instead.

+

On a miss, they refuse or make a demand which costs you greatly. Pay the Price; if you are making this move by interacting with a conditional companion, suffer -1 loyalty instead.

+
+ +
+ +
+
Conditional Companion Abandons
+
+

When your conditional companion has fulfilled their goal or is no longer willing to follow you, they will leave you at the next opportunity.

+
+ +
+ +
+
Conditional Companion Acts
+
+ +
+
+

When a conditional companion is in position to make a move according to their drives, motivations or the fulfillment of their goal, they do so without suffering -loyalty. Make the move by rolling +their stat.

+
+ +
+ +
+
Delve the Depths
+
+ +
+
+

When you traverse an area within a perilous site, envision your surroundings. Then, consider your approach. If you navigate this area…

+
    +
  • With haste: Roll +edge.
  • +
  • With stealth or trickery: Roll +shadow.
  • +
  • With observation, intuition, or expertise: Roll +wits.
  • +
+

On a strong hit, you delve deeper. Mark progress and Find an Opportunity.

+

On a weak hit, roll on the following table according to your stat.

+

On a miss, Reveal a Danger.

+
+
+
Edge
+
Shadow
+
Wits
+
Weak Hit Result
+
+
+
1-45 (45%)
+
1-30 (30%)
+
1-40 (40%)
+
Mark progress and Reveal a Danger.
+
+
+
46-65 (20%)
+
31-65 (35%)
+
41-55 (15%)
+
Mark progress.
+
+
+
66-75 (10%)
+
66-90 (25%)
+
56-80 (25%)
+
Choose one: Mark progress or Find an Opportunity.
+
+
+
76-80 (5%)
+
91-99 (9%)
+
81-99 (19%)
+
Take both: Mark progress and Find an Opportunity.
+
+
+
81-100 (20%)
+
100 (1%)
+
100 (1%)
+
Mark progress twice and Reveal a Danger.
+
+
+
+ +
+ +
+
Discover a Site
+
+ +
+
+

When you resolve to enter a perilous site in pursuit of an objective, choose the theme and domain which best represent its nature, and give it a rank.

+
    +
  • Troublesome site: 3 progress per area.
  • +
  • Dangerous site: 2 progress per area.
  • +
  • Formidable site: 1 progress per area.
  • +
  • Extreme site: 2 ticks per area.
  • +
  • Epic site: 1 tick per area.
  • +
+

If you are returning to a previously explored site, roll both challenge dice, take the lowest value, and clear that number of progress boxes.

+

Then, Delve the Depths to explore this place.

+
+ +
+ +
+
Draw the Circle
+
+ +
+
+

When you challenge someone to a formal duel, or accept a challenge, roll +heart. If you share a bond with this community, add +2.

+

On a strong hit, take +2 momentum. You may also choose any boasts and take +2 momentum for each.

+

On a weak hit, you may choose up to two boasts in exchange for +2 momentum for each.

+
    +
  • Grant first strike: Your foe has initiative.
  • +
  • Bare yourself: Take no benefit of armor or shield.
  • +
  • Hold no iron: Take no benefit of weapons.
  • +
  • Bloody yourself: Endure Harm (1d3P harm) with no addition.
  • +
  • To the death: This fight must end with death.
  • +
+

On a miss, you begin the duel at a disadvantage. Pay the Price.

+
+ +
+ +
+
End the Fight
+
+ +
+
+

Progress Move

+

When your foe’s health is below 10 for harm suffered, you may resolve the outcome of this fight. If you do, roll the challenge dice and compare to your progress.

+

On a strong hit, this foe is no longer in the fight. They are killed, out of action, flee, or surrender as appropriate to the situation and your intent.

+

On a weak hit, as above, but you must also choose one.

+
    +
  • It’s worse than you thought: Endure Harm with no armor addition.
  • +
  • You are overcome: Endure Stress.
  • +
  • You harvest the spoils of the battle: Take a condition.
  • +
  • You suffer collateral damage: Something of value is lost or broken (suffer -supply or -wealth), or someone important must pay the cost.
  • +
  • A new danger or foe appears, or an existing danger worsens: Suffer
-2 momentum.
  • +
  • Others won’t forget or you are marked for vengeance: Suffer -3 momentum.
  • +
  • An objective falls out of reach: Forsake Your Vow.
  • +
+

On a miss, choose one.

+
    +
  • Your foe has not given up; set their health to 50% of their maximum, rounding down. Then, Pay the Price.
  • +
  • You have lost this fight.
  • +
+
+ +
+ +
+
Endure Harm
+
+ +
+
+

When you face physical damage, subtract your armor’s protection to the harm and suffer -health equal to the remaining harm. If your health is reduced 0, suffer -momentum equal to any remaining -health.

+

Then roll +iron.

+

On a strong hit, you stand firm. If your health is suffering harm, choose one.

+
    +
  • Shake it off: If your health is greater than 0, suffer up to -2 momentum in exchange for the same amount of +health.
  • +
  • Embrace the pain: Take +2 momentum.
  • +
+

On a weak hit, you press on. If you wear armor which values are not at its minimum (0), choose one.

+
    +
  • It loses coverage: Reduce its Endure Harm addition by 1.
  • +
  • It loses resistance: Suffer -1 to its protection.
  • +
  • You stumble: Suffer -2 momentum.
  • +
+

On a miss, also suffer -1 momentum. If you wear an armor which values are not at its minimum (0), choose as above. If you are at 0 health, you must take the wounded or maimed condition (if currently not taken) or roll on the following table.


+ +
+
1-10 (10%)The harm is mortal. Face Death.
+
11-20 (10%)Take the dying condition.
+
21-35 (15%)Take the unconscious condition.
+
36-50 (15%)Take the reeled condition.
+
51-100 (50%)You are battered but still standing.
+
+
+ +
+ +
+
Endure Stress
+
+ +
+
+

When you face mental shock or despair, suffer -spirit equal to your foe’s rank or as appropriate to the situation. If your spirit is reduced to 0, suffer -momentum equal to any remaining -spirit.

+

Then, roll +spirit or +heart, whichever is higher.

+

On a strong hit, choose one.

+
    +
  • Shake it off: If your spirit is greater than 0, suffer -1 momentum in exchange for +1 spirit
  • +
  • Embrace the darkness: Take +2 momentum
  • +
+

On a weak hit, you press on.

+

On a miss, also suffer -1 momentum. If you are at 0 spirit, take the shaken or corrupted condition (if currently not taken) or roll on the following table.


+ +
+
1-10 (10%)You are overwhelmed. Face Desolation.
+
11-25 (15%)You give up. Forsake Your Vow (if possible, one relevant to your current crisis). If this is a companion, Test Their Loyalty.
+
26-50 (25%)You give in to a fear or compulsion, and act against your better instincts. Manifest Insanity.
+
51-80 (30%)You persevere.
+
81-85 (5%)You get a moment of clarity in the eye of the storm. If you have the shaken condition card, discard it. Take +4 spirit and +8 momentum. Then, add +2 to your next move.
+
86-90 (5%)You get virtuous in the face of chaos. If you have the shaken condition card, discard it. Then, take +4 spirit and draw up to your maximum of resilience cards.
+
91-95 (5%)Your body harvest vigor. If you have the shaken condition card, discard it. Then, take +4 spirit and +1d12 health.
+
96-100 (5%)Your spirit shines brightest against a backdrop of desolation. If you have the shaken condition card, discard it. Then, take +8 spirit.
+
+
+ +
+ +
+
Enter the Fray
+
+ +
+
+

When you enter in combat, determine who is in control. If you are...

+
    +
  • Reacting: Roll +edge.
  • +
  • Facing off: Roll +heart.
  • +
  • Charging: Roll +iron.
  • +
  • Ambushing: Roll +shadow.
  • +
  • Ambushed: Roll +wits.
  • +
+

On a strong hit, take +4 momentum. You have initiative.

+

On a weak hit, choose one.

+
    +
  • Bolster your position: Take +4 momentum. Your foe has initiative.
  • +
  • Prepare to act: Take initiative.
  • +
+

On a miss, combat begins with you at a disadvantage. Pay the Price. Your foe has initiative.

+
+ +
+ +
+
Escape the Depths
+
+ +
+
+

When you flee or withdraw from a site, consider the situation and your approach. If you...

+
    +
  • Find the fastest way out: Roll +edge.
  • +
  • Steel yourself against the horrors of this place: Roll +heart.
  • +
  • Fight your way out: Roll +iron.
  • +
  • Keep out of sight: Roll +shadow.
  • +
  • Retrace your steps or locate an alternate path: Roll +wits.
  • +
+

On a strong hit, you make your way safely out of the site. Take +2 momentum.

+

On a weak hit, you find your way out, but this place exacts its price. Choose one.

+
    +
  • You are weary or wounded: Endure Harm with no armor addition (as per the site’s rank, piercing).
  • +
  • The experience leaves you shaken: Endure Stress (as per the site’s rank).
  • +
  • Your body or mind are marked. Take a condition.
  • +
  • You are delayed, and it costs you. Suffer -momentum as per the site’s rank.
  • +
  • You face a new complication as you emerge from the depths. Suffer -1 momentum.
  • +
  • A denizen plots their revenge. Suffer -3 momentum.
  • +
+

On a miss, a dire threat or imposing obstacle stands in your way. Reveal a Danger. If you survive, you may make your escape.

+
+ +
+ +
+
Face a Setback
+
+

When your momentum is at its minimum (-6), make a move if your action die matches your negative momentum, you must cancel your action die.

+

If you suffer additional -momentum, choose one.

+
    +
  • Exchange each additional -momentum for any combination of -health, -spirit, -supply, -wealth or -companion’s loyalty as appropriate to the circumstances.
  • +
  • Envision an event or discovery which undermines your progress in a current quest, journey or fight. Then, for each additional -momentum, clear 1 unit of progress on that track per its rank (troublesome=clear 3 progress; dangerous=clear 2 progress; formidable=clear 1 progress; extreme=clear 2 ticks; epic=clear 1 tick).
  • +
+
+ +
+ +
+
Face Danger
+
+ +
+
+

When you attempt something risky or react to an imminent threat, envision your action and roll. If you act...

+
    +
  • With speed, agility, or precision: Roll +edge.
  • +
  • With charm, loyalty, or courage: Roll +heart.
  • +
  • With aggressive action, forceful defense, strength, or endurance: Roll +iron.
  • +
  • With deception, stealth, or trickery: Roll +shadow.
  • +
  • With expertise, insight, or observation: Roll +wits.
  • +
+

On a strong hit, you are successful. Take +2 momentum.

+

On a weak hit, you succeed, but face a troublesome cost. Choose one.

+
    +
  • You are delayed, lose advantage, or face a new danger: Suffer -1 momentum (-2 if you used a shield).
  • +
  • Your shield loses durability: Reduce its Face Danger/Clash addition by 1.
  • +
  • You are tired or hurt: Endure Harm (1d3P harm).
  • +
  • You are dispirited or afraid: Endure Stress (1 stress).
  • +
  • You sacrifice resources: Suffer -1 supply or -1 wealth.
  • +
  • You get a negative condition: Take a condition.
  • +
+

On a miss, you fail, or your progress is undermined by a dramatic and costly turn of events. Pay the Price. If you are in combat.

+
+ +
+ +
+
Face Death
+
+ +
+
+

When you are brought to the brink of death, roll +heart.

+

On a strong hit, death rejects you.

+

On a weak hit, choose one.

+
    +
  • You die, but not before making a noble sacrifice. Envision your final moments.
  • +
  • Death desires something of you in exchange for your life. Envision what it wants, and Swear an Iron Vow (formidable or extreme) to complete that quest. If you fail to score a hit when you Swear an Iron Vow, or refuse the quest, you are dead. Otherwise, you return to the mortal world and are now cursed. You may only clear the cursed condition by completing the quest.
  • +
+

On a miss, you are dead.

+
+ +
+ +
+
Face Desolation
+
+ +
+
+

When you are brought to the brink of desolation, roll +heart.

+

On a strong hit, you resist and press on.

+

On a weak hit, choose one.

+
    +
  • Your spirit or sanity breaks, but not before you make a noble sacrifice. Envision your final moments.
  • +
  • You see a vision of a dreaded event coming to pass. Envision that dark future, and Swear an Iron Vow (formidable or extreme) to prevent it. If you fail to score a hit when you Swear an Iron Vow, or refuse the quest, you are lost. Otherwise, you return to your senses and are now tormented. You may only clear the tormented condition by completing the quest.
  • +
+

On a miss, you succumb to despair or horror and are lost.

+
+ +
+ +
+
Find an Opportunity
+
+

When you encounter a helpful situation or feature within a travel waypoint or a site, roll to determine what kind of opportunity you encounter.

+
+ + + + +
+ +
+ +
+
1-55 (25%)Favorable Area.
+
56-80 (35%)Benign Character Encounter.
+
81-100 (40%)Item Finding
+
+
+ +
+ +
+
1-11(11%)The travel took shorter than expected. Take +1 momentum.
+
12-20 (9%)Elements of this area can be used to leverage your travel. If you Undertake a Journey, you may reroll any dice.
+
21-28 (8%)There is a path that seems to lead towards your destination. If you follow it, add +2 when you Undertake a Journey.
+
29-35 (7%)The travel has cleared your mind. If you Hearten, reroll any dice.
+
36-42 (7%)This seems to be an ideal place to find a moment of peace. If you Hearten, add +2.
+
43-49 (7%)This seems to be an ideal place to bolster your reserves. If you Resupply, add +2.
+
50-55 (6%)This seems to be a place safe enough to rest and recover for several hours. If you Make Camp, add +2.
+
56-61 (6%)You find a healthy settlement. If you Sojourn, add +1.
+
62-66 (5%)This area offers a captivating ambience or comfortable environment. If you Hearten, take +1 spirit on a hit.
+
67-71 (5%)This area offers enough to bolster your reserves if you dedicate enough to it. If you Resupply and score hit, you may suffer -1 momentum in exchange for +1 supply.
+
72-76 (5%)This waypoint offers more than needed for a modest rest. If you Make Camp, and score a hit, you may choose an extra option.
+
77-80 (4%)You seem to be closer to your destination than expected. Mark an additional progress in your journey track.
+
81-83 (3%)This area offers just what you need to camp. If you Make Camp, you may reroll any dice.
+
84-86 (3%)You reach this waypoint just at an opportune time to bolster your reserves. If you Resupply now, you may reroll any dice.
+
87-88 (2%)There is a hidden passage that could be a shortcut. If you Reach Your Destination, you may reroll any dice.
+
89-96 (8%)You reach a location of interest related to one of your quests or that might lead to one. Take +2 momentum.
+
97-98 (2%)Choose one result from this table.
+
99-100 (2%)Roll twice more on this table. Both results occur.
+
+
+ +
+ +
+
1-16 (16%)You encounter a traveler or denizen who might provide you guide in exchange for something of value. If you agree, suffer -1 wealth or -2 supply (your choice) in exchange for adding +3 next time you Undertake a Journey for this travel.
+
17-30 (14%)You encounter a traveler or denizen willing to provide you guide and supply. If he does, add +1 next time you Undertake a Journey for this travel and take +1 supply.
+
31-38 (8%)You encounter a traveler or denizen who might provide you health care in exchange for something of value. If you agree, suffer -1 wealth or -2 supply (your choice) in exchange for making the Hearten move now and add +3.
+
39-46 (8%)You encounter a traveler or denizen who might rise your spirit in exchange for something of value. If you agree, suffer -1 wealth or -2 supply (your choice) in exchange for making the Heal move now and add +3.
+
47-53 (7%)You encounter a traveler or denizen willing to rise your spirit. If he does, Hearten now and add +2.
+
54-60 (7%)You encounter a traveler or denizen willing to give you first aid. If he does, Heal now and add +2.
+
61-70 (10%)You encounter a provision trader.
+
71-75 (5%)You encounter an equipment trader.
+
76-79 (4%)You encounter a traveler or denizen with the potential of being a conditional companion with the goal of serving as hireling and the drive of getting wealth. If you Take a Conditional Companion, add +1.
+
80-83 (4%)You encounter a traveler or denizen with the potential of being a conditional companion. Take +1 momentum.
+
84-86 (3%)You encounter one or more travelers or denizens in need for help and with the means to reward you.
+
87-95 (9%)You encounter one or more characters related to one of you quests or that might lead to one. Take +2 momentum.
+
96-98 (3%)Roll twice more on this table. Use one result.
+
99-100 (2%)Choose one result from this table.
+
+
+ +
+ +
+
1-14 (14%)You find resources that bolster your reserves. Take +1 supply.
+
15-26 (12%)You find resources that bolster your reserves. Take +2 supply.
+
27-35 (9%)You find some valuable goods. Take +2 wealth.
+
36-42 (7%)You find some valuable goods. Take +2 wealth.
+
43-47 (5%)You find a consumable item of your choice or as appropriate to the circumstances.
+
48-51 (4%)You find two consumable items of your choice or as appropriate to the circumstances.
+
52-56 (5%)You find a weapon of cost d4 wealth cost or less of your choice as appropriate to the circumstances.
+
57-59 (3%)You find a weapon of cost d6 wealth or less of your choice as appropriate to the circumstances.
+
60-61 (2%)You find a weapon of cost d8+1 wealth or less of your choice as appropriate to the circumstances.
+
62-64 (3%)You find a shield of cost d4+1 wealth or less of your choice as appropriate to the circumstances.
+
65-66 (2%)You find a shield of cost d6+1 wealth or less of your choice as appropriate to the circumstances.
+
67-69 (3%)You find an armor of cost 1d4+3 wealth or less of your choice or as appropriate to the circumstances.
+
70-71 (2%)You find an armor of cost 1d6+3 wealth or less of your choice as appropriate to the circumstances.
+
72 (1%)You find an armor of cost 2d4+2 wealth or less of your choice as appropriate to the circumstances.
+
73-80 (8%)You find an addon of your choice or as appropriate to the circumstances.
+
81-89 (9%)You find an item of interest related to one of your quests or that might lead to one. Take +2 momentum.
+
90-100 (11%)Roll twice more on this table. Both results occur.
+
+
+
+ +
+ +
+
Foe Inflicts Harm
+
+

When you face harm from a foe, roll their combat move harm and Endure Harm with the resulting score.

+
+ +
+ +
+
Forge a Bond
+
+ +
+
+

When you spend significant time with a person or community, stand together to face hardships, or make sacrifices for their cause, you can attempt to create a bond. When you do, roll +heart. If you make this move after you successfully Fulfill Your Vow to their benefit, you may reroll any dice.

+

On a strong hit, make note of the bond, mark a tick on your bond progress track, and choose one.

+
    +
  • Take +2 spirit.
  • +
  • Take +4 momentum.
  • +
+

On a weak hit, they ask something more of you first. Envision what it is, do it (or Swear an Iron Vow), and mark the bond. If you refuse or fail, Pay the Price.

+

On a miss, they reject you. Pay the Price.

+
+ +
+ +
+
Forsake Your Vow
+
+

When you renounce your quest, betray your promise, or the goal is lost to you, clear the vow and Endure Stress. You suffer -spirit equal to the rank of your quest (troublesome=1; dangerous=2; formidable=3; extreme=4; epic=5).

+

If the vow was made to a person or community with whom you share a bond, Test Your Bond when you next meet.

+
+ +
+ +
+
Fulfill Your Vow
+
+ +
+
+

Progress Move

+

When you achieve what you believe to be the fulfillment of your vow, roll the challenge dice and compare to your progress.

+

On a strong hit, your quest is complete. Mark experience (troublesome=1; dangerous=2; formidable=3; extreme=4; epic=5).

+

On a weak hit, there is more to be done or you realize the truth of your quest. Envision what you discover. Then, mark experience (troublesome=0; dangerous=1; formidable=2; extreme=3; epic=4). You may Swear an Iron Vow to set things right. If you do, add +1.

+

If you are fulfilling your vow in service of someone with the means, inclination, or obligation, to reward you materially, take +wealth. On a strong hit, take +wealth equal to the rank of the vow+2. On a weak hit, take +wealth equal to the rank of vow+1. If you are being rewarded with an item, its cost must be the same as the amount of wealth.

+

On a miss, your quest is undone. Envision what happens, and choose one.

+
    +
  • You recommit: Clear all but one filled progress, and raise the quest’s rank by one (if not already epic).
  • +
  • You give up: Forsake Your Vow.
  • +
+
+ +
+ +
+
Gather Information
+
+ +
+
+

When you search an area, ask questions, conduct an investigation, or follow a track, roll +wits. If you act within a community or ask questions of a person with whom you share a bond, add +2.

+

On a strong hit, you discover something helpful and specific. The path you must follow or action you must take to make progress is made clear. Envision what you learn, and take +4 momentum.

+

On a weak hit, you discover something helpful, but the information complicates your quest or a new danger is introduced. Envision what you discover, and take +2 momentum.

+

On a miss, your investigation unearths a dire threat or reveals an unwelcome truth that undermines your quest. Pay the Price.

+
+ +
+ +
+
Heal
+
+ +
+
+

When you receive care or treat an injury or ailment, envision the situation and roll. If you…

+
    +
  • Receive treatment from someone (not an ally or companion): Roll +iron.
  • +
  • Mend your own wounds: Roll +iron or +wits, whichever is lower.
  • +
  • Provide care: Roll +wits.
  • +
+

On a strong hit, your care is helpful. If you (or the ally under your care) have the palsied, wounded, reeled or dying conditions, you may clear them. Then, take or give up to +4 health.

+

If you are making this move using an antivenom, clear the poisoned condition instead of the stated above.

+

On a weak hit, as above, but you must suffer -2 supply or -2 momentum (your choice).

+

On a miss, the aid is ineffective. Pay the Price.

+
+ +
+ +
+
Hearten
+
+ +
+
+

When you speak encouraging words, or find a moment of peace, to help you, or someone else, to recover from stress or emotional trauma, roll +heart.

+

On a strong hit, your heartening is helpful. If you (or the ally under your care) have the shaken condition, you may clear them; you may also reduce the severity of a compulsed and hallucinating conditions by 1. Then, take or give up to +3 spirit.

+

On a weak hit, as above, but you must suffer -2 momentum and don’t reduce the severity of any condition.

+

On a miss, your aid is ineffective. Pay the Price.

+
+ +
+ +
+
Inflict Harm
+
+

When you deal physical damage, roll your weapon’s harm. If you are hitting your foe’s protection and not breaking their defense rating, subtract your foe’s protection from each roll. Your foe suffers -health with the resulting score.

+
+ +
+ +
+
Learn from Faults
+
+ +
+
+

When you spend time taking lessons from your failures and hardships, and your misses track is +6 or greater, roll the challenge dice and compare to your misses.

+

On a strong hit, your failures have paid off significantly for your personal growth. Take 3 experience and clear all progress. Then, choose one.

+
    +
  • Rectify your ways: Reduce any stat by 1 and add +1 to any other.
  • +
  • Abandon a course: Discard a single asset card (not a companion) and take 2 experience for each marked ability.
  • +
  • Commit to a new goal: Swear an Iron Vow now, add +2 and take +2 momentum on a hit You may reroll.
  • +
  • Strengthen your willpower: Take +6 momentum.
  • +
+

On a weak hit, you learn from your missteps. Take 2 experience and clear all progress.

+

On a miss, you learn very little. Take 1 experience and clear all progress.

+
+ +
+ +
+
Locate Your Objective
+
+ +
+
+

When your exploration of a site comes to an end, roll the challenge dice and compare to your progress.

+

On a strong hit, you locate your objective and the situation favors you. Choose one.

+
    +
  • Make another move now (not a progress move), and add +2.
  • +
  • Take +2 momentum.
  • +
+

On a weak hit, you locate your objective but face an unforeseen hazard or complication. Envision what you find.

+

On a miss, your objective falls out of reach, you have been misled about the nature of your objective, or you discover that this site holds unexpected depths. If you continue your exploration, clear all but one filled progress and raise the site’s rank by one (if not already epic).

+
+ +
+ +
+
Make an Effort
+
+

When you make a move demanding more of yourself and have the required effort level, you may suffer -momentum in exchange for the same amount of your move effort level to addition to your roll.

+
+ +
+ +
+
Make Camp
+
+ +
+
+

When you rest and recover for several hours in the wild, roll +supply.

+

On a strong hit, if you have the dazed or starved conditions, you may clear them. Then, you and your allies may each choose two.

+

On a weak hit, as above, but you and your allies may choose one instead.

+
    +
  • Recuperate: Take +25% of your maximum health. If you have the blinded, deafened or weakened conditions, you may clear them.
  • +
  • Partake: Suffer -3 supply and take +25% of maximum health for you and any companions. If you or your companion you are partaking with has the conditions of in the above option, you may clear them.
  • +
  • Relax: Take +2 spirit. If you have the unsteady condition, you may clear it.
  • +
  • Focus: Take +3 momentum. If you have the stupefied condition, you may clear it.
  • +
  • Prepare: When you break camp, add +2 if you Undertake a Journey.
  • +
+

On a miss, you take no comfort. Pay the Price.

+
+ +
+ +
+
Manifest Insanity
+
+ +
+
+

When you fail to struggle against a mental shock, make the most obvious negative outcome happen from the following tables, or roll on them to determine what kind of insanity you manifest.

+
+ + + +
+ +
+ +
+
1-70 (70%)Short-term Insanity
+
71-100 (30%)Long-term Insanity
+
+
+ +
+ +
+
1-28 (28%)You get scared, and your next move should imply to flee as far as possible from the source of the fear or danger.
+
29-51 (23%)Your spirit is overwhelmed. Take the dazed condition.
+
52-69 (18%)You show hysteric and emotional outburst by screaming, laughing, crying. Every other ally and companion must Endure Stress (1d2 stress) as a result.
+
70-87 (18%)You begin babbling, coherently (logorrhoea) or incoherently. Your words show abuse, fear, hopelessness, irrationality or selfishness. Every other ally and companion must Endure Stress (1d3 stress) as a result.
+
88-95 (8%)You Inflict Harm on yourself.
+
96-100 (5%)You faint. Take the unconscious condition.
+
+
+ +
+ +
+
1-15 (15%)Take the phobiac (severity 4) condition.
+
16-29 (14%)Take the attached (severity 4) condition.
+
30-36 (7%)Take the hallucinating (severity 2) condition.
+
37-53 (17%)Take the compulsed (severity 4) condition.
+
54-57 (4%)You start suffering psychosomatic deafness. Take the deafened (severity +1) condition.
+
58-60 (3%)You start suffering psychosomatic blindness. Take the blind (severity +1) condition.
+
61-73 (13%)Take the mute condition.
+
74-85 (12%)You retreat into your mind, in a stupor state, assuming fetal position if not immediate danger is around, oblivious to events around you. Take the dazed, mute, shaken and unsteady (shaky) conditions.
+
86-93 (8%)You become catatonic. Take the dazed, mute and numb (severity +1) conditions.
+
94-98 (5%)Take the amok (severity 3) condition. Then, Clash the nearest target, whether they are an ally, companion, foe or else.
+
99-00 (2%)Take the amnesiac (severity 5) condition.
+
+
+
+ +
+ +
+
Not Assist Conditional Companion
+
+

When a conditional companion suffers the consequence of one of your moves and you don’t come to their aid, suffer -1 to their loyalty.

+
+ +
+ +
+
Order Conditional Companion
+
+ +
+
+

When you ask a conditional companion to act for something not akin to their drives, motivations or the fulfillment of their goal, or if the conditional companion is a hireling, roll +loyalty. If you share a bond, you may reroll any dice.

+

On a strong hit, your Conditional Companion Acts, but suffer -1 to their loyalty.

+

On a weak hit, your Conditional Companion Acts, but not without whimper. Suffer -2 to their loyalty.

+

On a miss, your conditional companion refuses to follow your request. Suffer -2 to their loyalty.

+
+ +
+ +
+
Out of Supply
+
+

When your supply is exhausted (reduced to 0), take the unprepared condition. If you suffer additional -supply while unprepared, you must exchange each additional -supply for any combination of -health, -spirit, -wealth, -companion’s loyalty or -momentum as appropriate to the circumstances.

+
+ +
+ +
+
Patch Equipment
+
+ +
+
+

When you attempt to amend an armor or shield, envision how provisions from your gear help you patch the piece of equipment and suffer -2 supply. Then, roll +wits.

+

On a strong hit, your amendment is efficient. Choose one.

+
    +
  • Rise by 1 your armor’s protection.
  • +
  • Rise by 1 your armor’s Endure Harm addition.
  • +
  • Rise by 1 your shield’s Face Danger/Clash addition.
  • +
+

On a weak hit, as above, but the patch work takes longer than expected or demand extra resources. Suffer -2 momentum.

+

On a miss, your craft is ineffective. Pay the Price.

+
+ +
+ +
+
Pay the Price
+
+

When you suffer the outcome of a move, mark a tick on your miss track; if it is a progress move, mark two; on a match, mark the double. Then, draw a resilience card and choose one.

+
    +
  • Make the most obvious negative outcome happen.
  • +
  • Envision two negative outcomes. Rate one as ‘likely’, and Ask the Oracle using the yes/no table. On a ‘yes’, make that outcome happen. Otherwise, make it the other.
  • +
  • Roll on the following table. If you have difficulty interpreting the result to fit the current situation, roll again.
  • +
+
+
1-2 (2%)Roll again and apply that result but make it worse. If you roll this result yet again, think of something dreadful that changes the course of your quest and make it happen.
+
3-5 (3%)A person or community you trusted loses faith in you, or acts against you.
+
6-8 (3%)A person or community you care about is exposed to danger.
+
9-15 (7%)You are separated from something or someone.
+
16-22 (7%)Your action has an unintended effect.
+
23-29 (7%)Something of value is lost or destroyed.
+
30-36 (7%)The current situation worsens.
+
37-43 (7%)A new danger or foe is revealed.
+
44-52 (9%)It causes a delay or puts you at a disadvantage.
+
53-61 (9%)It is harmful.
+
62-70 (9%)It is stressful.
+
71-77 (7%)It is wasteful.
+
78-84 (7%)You got a negative condition.
+
85-89 (5%)A surprising development complicates your quest.
+
90-94 (5%)It forces you to act against your best intentions.
+
95-99 (5%)A friend, companion, or ally is put in harm’s way (or you are, if alone).
+
100 (1%)Roll twice more on this table. Both results occur. If they are the same result, make it worse.
+
+
+ +
+ +
+
Reach a Milestone
+
+

When you make significant progress in your quest by overcoming a critical obstacle, completing a perilous journey, solving a complex mystery, defeating a powerful threat, gaining vital support, or acquiring a crucial item, you may mark progress.

+
    +
  • Troublesome quest: Mark 3 progress.
  • +
  • Dangerous quest: Mark 2 progress.
  • +
  • Formidable quest: Mark 1 progress.
  • +
  • Extreme quest: Mark 2 ticks.
  • +
  • Epic quest: Mark 1 tick.
  • +
+
+ +
+ +
+
Reach Your Destination
+
+ +
+
+

Progress Move

+

When your journey comes to an end, roll the challenge dice and compare to your progress. Momentum is ignored on this roll.

+

On a strong hit, the situation at your destination favors you. Choose one.

+
    +
  • Make another move now (not a progress move), and add +2.
  • +
  • Take +2 momentum.
  • +
+

On a weak hit, you arrive but face an unforeseen hazard or complication. Envision what you find, and take +1 momentum.

+

On a miss, you have gone hopelessly astray, your objective is lost to you, or you were misled about your destination. If your journey continues, clear all but one filled progress, and raise the journey’s rank by one (if not already epic).

+
+ +
+ +
+
Resupply
+
+ +
+
+

When you hunt, forage or scavenge, roll +wits.

+

On a strong hit, you bolster your resources. If you have the unprepared condition, you may clear it. Then, take up to +3 supply and +1d2-1 wealth.

+

On a weak hit, take up to +2 supply, but suffer -1 momentum for each.

+

On a hit, if you are looting the dead, envision what you loot according to the dead’s wearing, gear or nature and take +wealth according to its rank. If the rank is...

+
    +
  • Troublesome: Take +1d2-1
  • +
  • Dangerous: Take +1d2 wealth.
  • +
  • Formidable: Take +1d3 wealth.
  • +
  • Extreme: Take +1d4 wealth.
  • +
  • Epic: Take +1d6 wealth.
  • +
+

On a miss, you find nothing helpful or your assumptions betray you. Pay the Price.

+
+ +
+ +
+
Reveal a Danger
+
+

When you are undertaking a journey and are waylaid by a perilous event, or delving the depths of a site and find yourself in a risky situation, make the most obvious negative outcome happen from the following tables, or roll on them to determine what kind of danger you encounter.

+
+ + + + +
+ +
+ +
+
1-25 (25%)Worsening of the Situation
+
26-60 (35%)Unfavorable Road
+
61-100 (40%)Hostile Character Encounter
+
+
+ +
+ +
+
1-13 (13%)A portion of an edible resource got spoiled or lost. Suffer -1 supply. If your supply is 0, reroll on this table.
+
14-24 (11%)The travel is taking longer than expected. Suffer -1 momentum.
+
25-34 (10%)The trip was tough and left you tired. Endure Harm (1d4P harm).
+
35-42 (8%)The travel has drained your energies. Endure Harm (1d4P harm) and take the weakened (severity +1) condition.
+
43-50 (8%)The travel has left you stressed or mentally fatigued. Endure Stress (1d2 stress).
+
51-57 (7%)A friend or companion starts arguing for previous acts or complaining about the rough travel. Suffer -1d3 to their loyalty. If you don't have a companion, reroll on this table.
+
58-64 (7%)You realize you lost some valuable goods on the way. Suffer -2 wealth. If your wealth is reduced to 0, suffer -momentum to any remaining -wealth.
+
65-71 (7%)You realize too late that the supply container is broken and has a leak. Suffer -2 supply.
+
72-77 (6%)You realize you lost one of your valuable items on the way. Suffer -1 wealth. If your wealth is 0, reroll on this table.
+
78-83 (6%)You realize that one of the items you thought to be valuable, is actually not, or not worthy in its current state. Suffer -1 wealth and -1 momentum. If your wealth is an its minimum (0), reroll on this table.
+
84-89 (6%)You make a discovery that complicates one of your quests. Suffer -2 momentum.
+
90-94 (5%)A piece of equipment loses durability. Reduce any of your armor’s or shield’s values by 1. If you have no armor or shield item, reroll on this table.
+
95-97 (3%)You start suffering from muscle cramp, sprain or strain. Endure Harm (1d4P harm) and take the palsied (severity 1) condition.
+
98-99 (2%)You realize that one of your conditional companions is no longer by your side. Suffer -1 momentum. If you don't have a conditional companion, reroll on this table.
+
100 (1%)Roll twice more on this table. Both results occur. If they are the same result, double its effect.
+
+
+ +
+ +
+
1-13 (13%)The terrain or the weather plays against you, hindering you. Subtract -1 to your next move. Take the hyperthermic or hypothermic condition if appropriate.
+
14-25 (12%)An environmental hazard forces you to pass through this area in a precarious manner. If you make a move to resolve this danger, subtract -1.
+
26-35 (10%)Whether it is human made or a fortuity of nature, you, or someone with you, is victim of a trap. If you make a move of resolve this danger, subtract -1.
+
36-44 (9%)You suffer some bruises on the way. Endure Harm (1d4 harm).
+
45-52 (8%)You consumed some resources, and this road lacks sources to replenish from. Suffer -1 supply. If you Resupply, count a strong hit as a weak hit, and a weak hit as a miss.
+
53-60 (8%)The travel has been mentally grueling. Endure Stress (1 stress). If you Hearten, count a strong hit as a weak hit, and a weak hit as a miss.
+
61-68 (8%)You have not reached your waypoint yet, and this stop is too precarious to rest safely. If you Make Camp, count a strong hit as a weak hit, and a weak hit as a miss.
+
69-75 (7%)The path is broken and there doesn't seem to be a lead to follow it. Subtract -1 next time you Undertake a Journey for this travel.
+
76-81 (6%)An obstacle is blocking the path you intend to follow. Subtract -1 for your next move to resolve the obstacle or suffer -2 momentum causing a delay on your travel.
+
82-86 (5%)The path has a disturbing ambience or you find the horrible fate of a victim of this place. Endure Stress (1d4 stress).
+
87-90 (4%)The environment undermines the path or the weather is disorienting, and you find difficult to recognize the track. Subtract -2 next time you Undertake a Journey for this travel.
+
91-94 (4%)Whether it was something you ate or something in the surroundings, you are now ill. Endure Harm (1d4P harm) and take the poisoned (severity +1) condition.
+
95-97 (3%)Whether it was something you ate or something in the surroundings, you got poisoned. Take the poisoned (severity +2) condition.
+
98-99 (2%)You realized you have been following the wrong path, and trickery leads have left you astray. Clear 1d2 progress boxes in the journey track. Next time you Undertake a Journey, you don’t mark progress if you score a hit.
+
100 (1%)Roll twice more on this table. Both results occur. If they are the same result, double its effect.
+
+
+ +
+ +
+
1-13 (13%)You converge with one or multiple travelers or denizens in this area, facing off.
+
14-26 (13%)One or multiple unaware travelers or denizens are guarding this area, either laid in wait, patrolling or working.
+
27-39 (13%)You're ambushed, or attacked without warning.
+
40-51 (12%)Your presence has caught the attention of one or multiple travelers or denizens in the area.
+
52-63 (12%)Your arrival to this area has been expected.
+
64-75 (12%)You sense one or multiple presences lurking or stalking.
+
76-85 (10%)One or multiple unaware travelers or denizens are blocking or undermining the path in some way.
+
86-93 (8%)You find one or multiple travelers or denizens in unfavorable circumstances.
+
94-98 (5%)You find one or multiple travelers or denizens’ pets or underlings.
+
99-100 (2%)Roll twice more on this table, and use one result.
+
+
+
+ +
+ +
+
Secure an Advantage
+
+ +
+
+

When you assess a situation, make preparations, or attempt to gain leverage, envision your action and roll. If you act... +

  • With speed, agility, or precision: Roll +edge.
  • +
  • With charm, loyalty, or courage: Roll +heart.
  • +
  • With aggressive action, forceful defense, strength, or endurance: Roll +iron.
  • +
  • With deception, stealth, or trickery: Roll +shadow.
  • +
  • With expertise, insight, or observation: Roll +wits.
  • +

    +

    On a strong hit, you gain advantage. Choose one. +

  • Take control: Make another move now (not a progress move), and add +2.
  • +
  • Prepare to act: Take +4 momentum.
  • +

    +

    On a weak hit, your advantage is short-lived. Take +2 momentum.

    +

    On a miss, you fail or your assumptions betray you. Pay the Price.

    +
    + +
    + +
    +
    Show Resilience
    +
    +

    When you make a move, and have in a hand a resilience card with the corresponding suit of the move, these beings…

    +
      +
    • Spades (♠): Combat and suffer moves.
    • +
    • Clubs (♣): Adventure and Delve moves.
    • +
    • Hearts (♥): Relationship, companion and recovery moves.
    • +
    • Diamonds (♦): Quest and asset moves.
    • +
    +

    You may…

    +
      +
    • Ready yourself to not make previous missteps: Play the resilience card before rolling.
    • +
    • Instantly recover from a misstep: Play the resilience card after rolling, but suffer -2 momentum.
    • +
    +

    Then, modify the roll as per the value of the card right before reshuffling back into the deck.

    +
      +
    • Ace: You may reroll any dice. Take +4 momentum.
    • +
    • K: Score a strong hit, or Inflict Harm once more and make it piercing.
    • +
    • Q: Count a miss as a weak hit, and a weak hit as a strong hit; or Inflict Harm once more.
    • +
    • J: Score a weak hit, or make the harm piercing.
    • +
    • 2-10: Add this amount to the roll.
    • +
    +
    + +
    + +
    +
    Sojourn
    +
    + +
    +
    +

    When you spend time in a community, roll +heart. If you share a bond, add +2.

    +

    On strong hit, clear a starved condition; then, you and your allies may each choose two from within the categories below. On a weak hit, choose one. If you share a bond, choose one more.

    +

    On a hit, you and your allies may each reduce the severity of the amnesiac condition by 1, or clear the dazed condition. Then, you and your allies may each focus on one of your chosen recover actions and roll +heart again. If you share a bond, add +2. On a strong hit, take the double for that action. On a weak hit, take +2 more. On a miss, it goes badly and you lose all benefits for that action.

    +

    Clear a Condition

    +
      +
    • Mend: Clear a blinded, deafened, palsied, poisoned, weakened and wounded condition. Then, take 25% of your maximum health.
    • +
    • Cheer: Reduce the severity of a compulsed and hallucinating condition by 1, and clear a shaken, stupefied and unsteady condition. Then, take +2 spirit.
    • +
    • Equip: Clear an unprepared condition. Then, take +2 supply.
    • +
    +

    Recover

    +
      +
    • Recuperate: Take +50% of maximum health for yourself and any companions.
    • +
    • Consort: Take +4 spirit.
    • +
    • Stock: Take +4 supply.
    • +
    • Plan: Take +4 momentum.
    • +
    +

    Cohabitate

    +
      +
    • Tune in to the bruits: Envision how you listen for rumors or acquire information from the community. Then, Gather Information, and add +4.
    • +
    • Provide aid: Envision what this community needs, or what trouble it is facing. If you chose to help, Swear an Iron Vow and add +2.
    • +
    +

    On a miss, you find no help here. Pay the Price.

    +
    + +
    + +
    +
    Strengthen Their Loyalty
    +
    + +
    +
    +

    When you dedicate yourself to spend a significant time with your companion, envision that moment and roll +heart. If your companion is a hireling, roll +wealth instead. If you share a bond, you may reroll any dice.

    +

    On a strong hit, your conditional companion feels more akin with your company. Give +your heart+2 to their loyalty. If the conditional companion is a hireling, also suffer -1 wealth. If you use this exchange to Forge a Bond, make that move now and add +2.

    +

    On a weak hit, as above, but you must also choose one.

    +
      +
    • It was emotionally demanding: Endure Stress (1 stress).
    • +
    • It was resource demanding: Suffer -1 supply.
    • +
    • It was time consuming: Suffer -2 momentum.
    • +
    +

    On a miss, the moment doesn’t go as expected. Pay the Price.

    +
    + +
    + +
    +
    Strike
    +
    + +
    +
    +

    When you have initiative and attack with the intent to inflict harm, determine if you are hitting your foe’s protection or breaking their defense rating. If you are foe’s protection is 0 or you are doing the latter, fix one challenge die as per your foe’s defense rating. Then, envision your approach. If you're making this move repeatedly, but with another offensive maneuver, add +1. If you…

    +
      +
    • Attack in close quarters: Roll +iron.
    • +
    • Attack at range or with a precise weapon: Roll +edge.
    • +
    • Attack an unaware target, or without warning, at close range: Roll +shadow.
    • +
    +

    On a strong hit, Inflict Harm and add +1. You retain the initiative.

    +

    On a weak hit, Inflict Harm and lose the initiative. If you are attacking at range, choose one.

    +
      +
    • Your attack winged: Roll twice and use the lowest result.
    • +
    • You wasted ammo: Suffer -1 supply.
    • +
    • Your thrown weapon is lost or destroyed.
    • +
    • You attract unexpected attention: Suffer -1 momentum.
    • +
    +

    If you are attacking a foe that is unaware and score a hit, envision you strike. On a strong hit, you go undetected; when you Inflict Harm, you may suffer -1 momentum and choose two. On a weak hit, you hit your target, but not without getting spotted; when you Inflict Harm, you may suffer -1 momentum and chose one; then, Enter the Fray.

    +
      +
    • You strike fiercely: Inflict +1d4 harm.
    • +
    • You strike on a weak spot: Your harm is penetrating.
    • +
    • You find the best way to strike: You may reroll any dice.
    • +
    +

    On a miss, your foe has initiative.

    +
    + +
    + +
    +
    Swear an Iron Vow
    +
    + +
    +
    +

    When you swear upon iron to complete a quest, write your vow and give the quest a rank. Then, roll +heart. If you make this vow to a person or community with whom you share a bond, add +2.

    +

    On a strong hit, you are emboldened and it is clear what you must do next. Take +2 momentum.

    +

    On a weak hit, you are determined but begin your quest with more questions than answers. Take +1 momentum, and envision what you do to find a path forward.

    +

    On a miss, you face a significant obstacle before you can begin your quest. Envision what stands in your way, and choose one.

    +
      +
    • You press on: Suffer -2 momentum, and do what you must to overcome this obstacle.
    • +
    • You give up: Forsake Your Vow.
    • +
    +
    + +
    + +
    +
    Take a Downtime
    +
    +

    When you spend weeks or months recuperating in a safe place and have at least 1 experience, suffer -1 experience in exchange of the following.

    +
      +
    • Clear your conditions (not corrupted nor maimed).
    • +
    • Set your tracks to their maximum.
    • +
    • Reset your momentum.
    • +
    • Take +2d4+2 wealth.
    • +
    +
    + +
    + +
    +
    Take Conditional Companion
    +
    + +
    +
    +

    When you meet a character with the same objective as you, or that is willing to follow you in exchange of getting paid, you may attempt to convince them to join your quest. If you do, roll +heart; if the character is a hireling, roll +wealth instead. If you share a bond, you may reroll any dice.

    +

    On a strong hit, the character joins you as a conditional companion. Fill their companion sheet, setting their loyalty track as your heart+2 (maximum is 10). If the companion is a hireling, suffer -2 wealth.

    +

    On a weak hit, as above, but they ask something of you in return; envision what they want.

    +

    On a miss, the character refuses to join you or make a demand that cost you greatly. Pay the Price.

    +
    + +
    + +
    +
    Take on Overload
    +
    +

    When you have more weight than your maximum load, take the encumbered condition.

    +
    + +
    + +
    +
    Test their Loyalty
    +
    + +
    +
    +

    When your conditional companion’s loyalty is at its minimum (0), you can attempt to convince them to stay by your side. If you do, roll +heart. If the companion is a hireling, roll +wealth instead. Add +2 if you share a bond. If their goal is lost to you, count this move as a miss.

    +

    On a strong hit, your companion stands by your side. Give +you heart+1 to their loyalty. Take +1 momentum.

    +

    On a weak hit, as above, but they ask something in return. Choose one.

    +
      +
    • Provisions: Suffer -2 supply.
    • +
    • A valuable item: Dicard an equipment or consumable item, or suffer -1 wealth.
    • +
    • A promise: Envision what they ask of you that need to be resolved besides their current goal, and Swear an Iron Vow to do it.
    • +
    +

    On a miss, or if you have no interest in them to follow you, the Conditional Companion Abandons you. If you share a bond with them, also Test Your Bond.

    +
    + +
    + +
    +
    Test Your Bond
    +
    + +
    +
    +

    When your bond is tested through conflict, betrayal, or circumstance, roll +heart.

    +

    On a strong hit, this test has strengthened your bond. Choose one.

    +
      +
    • Take +2 spirit.
    • +
    • Take +4 momentum.
    • +
    +

    On a weak hit, your bond is fragile and you must prove your loyalty. Envision what they ask of you, and do it (or Swear an Iron Vow). If you refuse or fail, clear the bond and Pay the Price.

    +

    On a miss, or if you have no interest in maintaining this relationship, clear the bond and Pay the Price.

    +
    + +
    + +
    +
    Trade
    +
    +

    When you meet someone that offers you an item or service in exchange for wealth, suffer -wealth as the cost of the item or service.

    +

    If you are acquiring supply, suffer -1 wealth in exchange for +2 supply.

    +

    If you are making this move to obtain wealth in exchange for supply or an item (that is not a consumable item), take +1 wealth per -2 supply, or +wealth as per the weight of the item in exchange for losing it.

    +
    + +
    + +
    +
    Turn the Tide
    +
    +

    Once per fight, when you risk it all, you may steal initiative from your foe to make a move (not a progress move). When you do, add +2 and take +2 momentum on a hit.

    +

    If you fail to score a hit on that move, you must suffer a dire outcome. Pay the Price.

    +
    + +
    + +
    +
    Undertake a Journey
    +
    + +
    +
    +

    When you travel across hazardous or unfamiliar lands, set the rank of your journey.

    +
      +
    • Troublesome journey: 3 progress per waypoint.
    • +
    • Dangerous journey: 2 progress per waypoint.
    • +
    • Formidable journey: 1 progress per waypoint.
    • +
    • Extreme journey: 2 ticks per waypoint.
    • +
    • Epic journey: 1 tick per waypoint.
    • +
    +

    Then, for each segment of your journey, roll +wits. If you are setting off from a community with which you share a bond, add +2 to your initial roll.

    +

    If you are making this move for the fourth time, without having done the Make Camp move or Sojourn move, take a condition as appropriate to the circumstances.

    +

    On a strong hit, choose one.

    +
      +
    • You make good use of your resources: Mark progress and take +2 momentum.
    • +
    • You move with scrutiny: Mark progress and Find an Opportunity.
    • +
    • You move at speed: Mark progress twice and take +1 momentum, but suffer -1 supply.
    • +
    +

    On a weak hit, choose one.

    +
      +
    • You go as expected: Mark progress, but suffer -1 supply.
    • +
    • You move with precaution: Mark progress and Find an Opportunity, but suffer -1 supply and -2 momentum.
    • +
    • You move at speed, but with a cost: Mark progress twice and take +1 momentum, but suffer -2 supply and Reveal a Danger.
    • +
    • You explore: Find an Opportunity, but suffer -1 momentum.
    • +
    +

    On a miss, you have gone hopelessly astray, your objective is lost to you, or you were misled about your destination. If your journey continues, clear all but one filled progress, and raise the journey's rank by one (if not already epic).

    +
    + +
    + +
    +
    Write Your Epilogue
    +
    + +
    +
    +

    Progress Move

    +

    When you retire from your life as an Oathkeeper, envision two things: What you hope for, and what you fear. Then, roll the challenge dice and compare to your bonds.

    +

    On a strong hit, things come to pass as you hoped.

    +

    On a weak hit, your life takes an unexpected turn, but not necessarily for the worse. You find yourself spending your days with someone or in a place you did not foresee. Envision it.

    +

    On a miss, your fears are realized.

    +
    + +
    +
    +
    +
    +
    +
    +
    + +
    +

     PROGRESS 

    +
    +

    + +
    + + + + + +
    +
    +
    + + + + + + + + + + + + + + +
    +
    +
    +
    +
    +
    +
    + +
    +

     ORACLES 

    +
    +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    Reveal A Danger
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    +
    Find An Opportunity
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    +
    Manifest Insanity
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    +
    + +
    +
    Category
    +
    +
    1-25 (25%)Worsening of the Situation
    +
    26-60 (35%)Unfavorable Road
    +
    61-100 (40%)Hostile Character Encounter
    +
    +
    + +
    +
    Worsening of the Situation
    +
    +
    1-13 (13%)A portion of an edible resource got spoiled or lost. Suffer -1 supply. If your supply is 0, reroll on this table.
    +
    14-24 (11%)The travel is taking longer than expected. Suffer -1 momentum.
    +
    25-34 (10%)The trip was tough and left you tired. Endure Harm (1d4P harm).
    +
    35-42 (8%)The travel has drained your energies. Endure Harm (1d4P harm) and take the weakened (severity +1) condition.
    +
    43-50 (8%)The travel has left you stressed or mentally fatigued. Endure Stress (1d2 stress).
    +
    51-57 (7%)A friend or companion starts arguing for previous acts or complaining about the rough travel. Suffer -1d3 to their loyalty. If you don't have a companion, reroll on this table.
    +
    58-64 (7%)You realize you lost some valuable goods on the way. Suffer -2 wealth. If your wealth is reduced to 0, suffer -momentum to any remaining -wealth.
    +
    65-71 (7%)You realize too late that the supply container is broken and has a leak. Suffer -2 supply.
    +
    72-77 (6%)You realize you lost one of your valuable items on the way. Suffer -1 wealth. If your wealth is 0, reroll on this table.
    +
    78-83 (6%)You realize that one of the items you thought to be valuable, is actually not, or not worthy in its current state. Suffer -1 wealth and -1 momentum. If your wealth is an its minimum (0), reroll on this table.
    +
    84-89 (6%)You make a discovery that complicates one of your quests. Suffer -2 momentum.
    +
    90-94 (5%)A piece of equipment loses durability. Reduce any of your armor’s or shield’s values by 1. If you have no armor or shield item, reroll on this table.
    +
    95-97 (3%)You start suffering from muscle cramp, sprain or strain. Endure Harm (1d4P harm) and take the palsied (severity 1) condition.
    +
    98-99 (2%)You realize that one of your conditional companions is no longer by your side. Suffer -1 momentum. If you don't have a conditional companion, reroll on this table.
    +
    100 (1%)Roll twice more on this table. Both results occur. If they are the same result, double its effect.
    +
    +
    + +
    +
    Unfavorable Road
    +
    +
    1-13 (13%)The terrain or the weather plays against you, hindering you. Subtract -1 to your next move. Take the hyperthermic or hypothermic condition if appropriate.
    +
    14-25 (12%)An environmental hazard forces you to pass through this area in a precarious manner. If you make a move to resolve this danger, subtract -1.
    +
    26-35 (10%)Whether it is human made or a fortuity of nature, you, or someone with you, is victim of a trap. If you make a move of resolve this danger, subtract -1.
    +
    36-44 (9%)You suffer some bruises on the way. Endure Harm (1d4 harm).
    +
    45-52 (8%)You consumed some resources, and this road lacks sources to replenish from. Suffer -1 supply. If you Resupply, count a strong hit as a weak hit, and a weak hit as a miss.
    +
    53-60 (8%)The travel has been mentally grueling. Endure Stress (1 stress). If you Hearten, count a strong hit as a weak hit, and a weak hit as a miss.
    +
    61-68 (8%)You have not reached your waypoint yet, and this stop is too precarious to rest safely. If you Make Camp, count a strong hit as a weak hit, and a weak hit as a miss.
    +
    69-75 (7%)The path is broken and there doesn't seem to be a lead to follow it. Subtract -1 next time you Undertake a Journey for this travel.
    +
    76-81 (6%)An obstacle is blocking the path you intend to follow. Subtract -1 for your next move to resolve the obstacle or suffer -2 momentum causing a delay on your travel.
    +
    82-86 (5%)The path has a disturbing ambience or you find the horrible fate of a victim of this place. Endure Stress (1d4 stress).
    +
    87-90 (4%)The environment undermines the path or the weather is disorienting, and you find difficult to recognize the track. Subtract -2 next time you Undertake a Journey for this travel.
    +
    91-94 (4%)Whether it was something you ate or something in the surroundings, you are now ill. Endure Harm (1d4P harm) and take the poisoned (severity +1) condition.
    +
    95-97 (3%)Whether it was something you ate or something in the surroundings, you got poisoned. Take the poisoned (severity +2) condition.
    +
    98-99 (2%)You realized you have been following the wrong path, and trickery leads have left you astray. Clear 1d2 progress boxes in the journey track. Next time you Undertake a Journey, you don’t mark progress if you score a hit.
    +
    100 (1%)Roll twice more on this table. Both results occur. If they are the same result, double its effect.
    +
    +
    + +
    +
    Hostile Character Encounter
    +
    +
    1-13 (13%)You converge with one or multiple travelers or denizens in this area, facing off.
    +
    14-26 (13%)One or multiple unaware travelers or denizens are guarding this area, either laid in wait, patrolling or working.
    +
    27-39 (13%)You're ambushed, or attacked without warning.
    +
    40-51 (12%)Your presence has caught the attention of one or multiple travelers or denizens in the area.
    +
    52-63 (12%)Your arrival to this area has been expected.
    +
    64-75 (12%)You sense one or multiple presences lurking or stalking.
    +
    76-85 (10%)One or multiple unaware travelers or denizens are blocking or undermining the path in some way.
    +
    86-93 (8%)You find one or multiple travelers or denizens in unfavorable circumstances.
    +
    94-98 (5%)You find one or multiple travelers or denizens’ pets or underlings.
    +
    99-100 (2%)Roll twice more on this table, and use one result.
    +
    +
    + +
    +
    Category
    +
    +
    1-55 (25%)Favorable Area.
    +
    56-80 (35%)Benign Character Encounter.
    +
    81-100 (40%)Item Finding
    +
    +
    + +
    +
    Favorable Area
    +
    +
    1-11(11%)The travel took shorter than expected. Take +1 momentum.
    +
    12-20 (9%)Elements of this area can be used to leverage your travel. If you Undertake a Journey, you may reroll any dice.
    +
    21-28 (8%)There is a path that seems to lead towards your destination. If you follow it, add +2 when you Undertake a Journey.
    +
    29-35 (7%)The travel has cleared your mind. If you Hearten, reroll any dice.
    +
    36-42 (7%)This seems to be an ideal place to find a moment of peace. If you Hearten, add +2.
    +
    43-49 (7%)This seems to be an ideal place to bolster your reserves. If you Resupply, add +2.
    +
    50-55 (6%)This seems to be a place safe enough to rest and recover for several hours. If you Make Camp, add +2.
    +
    56-61 (6%)You find a healthy settlement. If you Sojourn, add +1.
    +
    62-66 (5%)This area offers a captivating ambience or comfortable environment. If you Hearten, take +1 spirit on a hit.
    +
    67-71 (5%)This area offers enough to bolster your reserves if you dedicate enough to it. If you Resupply and score hit, you may suffer -1 momentum in exchange for +1 supply.
    +
    72-76 (5%)This waypoint offers more than needed for a modest rest. If you Make Camp, and score a hit, you may choose an extra option.
    +
    77-80 (4%)You seem to be closer to your destination than expected. Mark an additional progress in your journey track.
    +
    81-83 (3%)This area offers just what you need to camp. If you Make Camp, you may reroll any dice.
    +
    84-86 (3%)You reach this waypoint just at an opportune time to bolster your reserves. If you Resupply now, you may reroll any dice.
    +
    87-88 (2%)There is a hidden passage that could be a shortcut. If you Reach Your Destination, you may reroll any dice.
    +
    89-96 (8%)You reach a location of interest related to one of your quests or that might lead to one. Take +2 momentum.
    +
    97-98 (2%)Choose one result from this table.
    +
    99-100 (2%)Roll twice more on this table. Both results occur.
    +
    +
    + +
    +
    Benign Character Encounter
    +
    +
    1-16 (16%)You encounter a traveler or denizen who might provide you guide in exchange for something of value. If you agree, suffer -1 wealth or -2 supply (your choice) in exchange for adding +3 next time you Undertake a Journey for this travel.
    +
    17-30 (14%)You encounter a traveler or denizen willing to provide you guide and supply. If he does, add +1 next time you Undertake a Journey for this travel and take +1 supply.
    +
    31-38 (8%)You encounter a traveler or denizen who might provide you health care in exchange for something of value. If you agree, suffer -1 wealth or -2 supply (your choice) in exchange for making the Hearten move now and add +3.
    +
    39-46 (8%)You encounter a traveler or denizen who might rise your spirit in exchange for something of value. If you agree, suffer -1 wealth or -2 supply (your choice) in exchange for making the Heal move now and add +3.
    +
    47-53 (7%)You encounter a traveler or denizen willing to rise your spirit. If he does, Hearten now and add +2.
    +
    54-60 (7%)You encounter a traveler or denizen willing to give you first aid. If he does, Heal now and add +2.
    +
    61-70 (10%)You encounter a provision trader.
    +
    71-75 (5%)You encounter an equipment trader.
    +
    76-79 (4%)You encounter a traveler or denizen with the potential of being a conditional companion with the goal of serving as hireling and the drive of getting wealth. If you Take a Conditional Companion, add +1.
    +
    80-83 (4%)You encounter a traveler or denizen with the potential of being a conditional companion. Take +1 momentum.
    +
    84-86 (3%)You encounter one or more travelers or denizens in need for help and with the means to reward you.
    +
    87-95 (9%)You encounter one or more characters related to one of you quests or that might lead to one. Take +2 momentum.
    +
    96-98 (3%)Roll twice more on this table. Use one result.
    +
    99-100 (2%)Choose one result from this table.
    +
    +
    + +
    +
    Item Finding
    +
    +
    1-14 (14%)You find resources that bolster your reserves. Take +1 supply.
    +
    15-26 (12%)You find resources that bolster your reserves. Take +2 supply.
    +
    27-35 (9%)You find some valuable goods. Take +2 wealth.
    +
    36-42 (7%)You find some valuable goods. Take +2 wealth.
    +
    43-47 (5%)You find a consumable item of your choice or as appropriate to the circumstances.
    +
    48-51 (4%)You find two consumable items of your choice or as appropriate to the circumstances.
    +
    52-56 (5%)You find a weapon of cost d4 wealth cost or less of your choice as appropriate to the circumstances.
    +
    57-59 (3%)You find a weapon of cost d6 wealth or less of your choice as appropriate to the circumstances.
    +
    60-61 (2%)You find a weapon of cost d8+1 wealth or less of your choice as appropriate to the circumstances.
    +
    62-64 (3%)You find a shield of cost d4+1 wealth or less of your choice as appropriate to the circumstances.
    +
    65-66 (2%)You find a shield of cost d6+1 wealth or less of your choice as appropriate to the circumstances.
    +
    67-69 (3%)You find an armor of cost 1d4+3 wealth or less of your choice or as appropriate to the circumstances.
    +
    70-71 (2%)You find an armor of cost 1d6+3 wealth or less of your choice as appropriate to the circumstances.
    +
    72 (1%)You find an armor of cost 2d4+2 wealth or less of your choice as appropriate to the circumstances.
    +
    73-80 (8%)You find an addon of your choice or as appropriate to the circumstances.
    +
    81-89 (9%)You find an item of interest related to one of your quests or that might lead to one. Take +2 momentum.
    +
    90-100 (11%)Roll twice more on this table. Both results occur.
    +
    +
    + +
    +
    Category
    +
    +
    1-70 (70%)Short-term Insanity
    +
    71-100 (30%)Long-term Insanity
    +
    +
    + +
    +
    Short-term
    +
    +
    1-28 (28%)You get scared, and your next move should imply to flee as far as possible from the source of the fear or danger.
    +
    29-51 (23%)Your spirit is overwhelmed. Take the dazed condition.
    +
    52-69 (18%)You show hysteric and emotional outburst by screaming, laughing, crying. Every other ally and companion must Endure Stress (1d2 stress) as a result.
    +
    70-87 (18%)You begin babbling, coherently (logorrhoea) or incoherently. Your words show abuse, fear, hopelessness, irrationality or selfishness. Every other ally and companion must Endure Stress (1d3 stress) as a result.
    +
    88-95 (8%)You Inflict Harm on yourself.
    +
    96-100 (5%)You faint. Take the unconscious condition.
    +
    +
    + +
    +
    Long-term
    +
    +
    1-15 (15%)Take the phobiac (severity 4) condition.
    +
    16-29 (14%)Take the attached (severity 4) condition.
    +
    30-36 (7%)Take the hallucinating (severity 2) condition.
    +
    37-53 (17%)Take the compulsed (severity 4) condition.
    +
    54-57 (4%)You start suffering psychosomatic deafness. Take the deafened (severity +1) condition.
    +
    58-60 (3%)You start suffering psychosomatic blindness. Take the blind (severity +1) condition.
    +
    61-73 (13%)Take the mute condition.
    +
    74-85 (12%)You retreat into your mind, in a stupor state, assuming fetal position if not immediate danger is around, oblivious to events around you. Take the dazed, mute, shaken and unsteady (shaky) conditions.
    +
    86-93 (8%)You become catatonic. Take the dazed, mute and numb (severity +1) conditions.
    +
    94-98 (5%)Take the amok (severity 3) condition. Then, Clash the nearest target, whether they are an ally, companion, foe or else.
    +
    99-00 (2%)Take the amnesiac (severity 5) condition.
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    Plot
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    +
    Locations
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    +
    Character
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    +
    Character Names
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    +
    Moves
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    +
    + +
    +
    ACTION
    +
    +
    1Scheme
    +
    2Clash
    +
    3Weaken
    +
    4Initiate
    +
    5Create
    +
    6Swear
    +
    7Avenge
    +
    8Guard
    +
    9Defeat
    +
    10Control
    +
    11Break
    +
    12Risk
    +
    13Surrender
    +
    14Inspect
    +
    15Raid
    +
    16Evade
    +
    17Assault
    +
    18Deflect
    +
    19Threaten
    +
    20Attack
    +
    21Leave
    +
    22Preserve
    +
    23Manipulate
    +
    24Remove
    +
    25Eliminate
    +
    26Withdraw
    +
    27Abandon
    +
    28Investigate
    +
    29Hold
    +
    30Focus
    +
    31Uncover
    +
    32Breach
    +
    33Aid
    +
    34Uphold
    +
    35Falter
    +
    36Suppress
    +
    37Hunt
    +
    38Share
    +
    39Destroy
    +
    40Avoid
    +
    41Reject
    +
    42Demand
    +
    43Explore
    +
    44Bolster
    +
    45Seize
    +
    46Mourn
    +
    47Reveal
    +
    48Gather
    +
    49Defy
    +
    50Transform
    +
    51Persevere
    +
    52Serve
    +
    53Begin
    +
    54Move
    +
    55Coordinate
    +
    56Resist
    +
    57Await
    +
    58Impress
    +
    59Take
    +
    60Oppose
    +
    61Capture
    +
    62Overwhelm
    +
    63Challenge
    +
    64Acquire
    +
    65Protect
    +
    66Finish
    +
    67Strengthen
    +
    68Restore
    +
    69Advance
    +
    70Command
    +
    71Refuse
    +
    72Find
    +
    73Deliver
    +
    74Hide
    +
    75Fortify
    +
    76Betray
    +
    77Secure
    +
    78Arrive
    +
    79Affect
    +
    80Change
    +
    81Defend
    +
    82Debate
    +
    83Support
    +
    84Follow
    +
    85Construct
    +
    86Locate
    +
    87Endure
    +
    88Release
    +
    89Lose
    +
    90Reduce
    +
    91Escalate
    +
    92Distract
    +
    93Journey
    +
    94Escort
    +
    95Learn
    +
    96Communicate
    +
    97Depart
    +
    98Search
    +
    99Charge
    +
    100Summon
    +
    +
    + +
    +
    THEME
    +
    +
    1Risk
    +
    2Ability
    +
    3Price
    +
    4Ally
    +
    5Battle
    +
    6Safety
    +
    7Survival
    +
    8Weapon
    +
    9Wound
    +
    10Shelter
    +
    11Leader
    +
    12Fear
    +
    13Time
    +
    14Duty
    +
    15Secret
    +
    16Innocence
    +
    17Renown
    +
    18Direction
    +
    19Death
    +
    20Honor
    +
    21Labor
    +
    22Solution
    +
    23Tool
    +
    24Balance
    +
    25Love
    +
    26Barrier
    +
    27Creation
    +
    28Decay
    +
    29Trade
    +
    30Bond
    +
    31Hope
    +
    32Superstition
    +
    33Peace
    +
    34Deception
    +
    35History
    +
    36World
    +
    37Vow
    +
    38Protection
    +
    39Nature
    +
    40Opinion
    +
    41Burden
    +
    42Vengeance
    +
    43Opportunity
    +
    44Faction
    +
    45Danger
    +
    46Corruption
    +
    47Freedom
    +
    48Debt
    +
    49Hate
    +
    50Possession
    +
    51Stranger
    +
    52Passage
    +
    53Land
    +
    54Creature
    +
    55Disease
    +
    56Advantage
    +
    57Blood
    +
    58Language
    +
    59Rumor
    +
    60Weakness
    +
    61Greed
    +
    62Family
    +
    63Resource
    +
    64Structure
    +
    65Dream
    +
    66Community
    +
    67War
    +
    68Portent
    +
    69Prize
    +
    70Destiny
    +
    71Momentum
    +
    72Power
    +
    73Memory
    +
    74Ruin
    +
    75Mysticism
    +
    76Rival
    +
    77Problem
    +
    78Idea
    +
    79Revenge
    +
    80Health
    +
    81Fellowship
    +
    82Enemy
    +
    83Religion
    +
    84Spirit
    +
    85Fame
    +
    86Desolation
    +
    87Strength
    +
    88Knowledge
    +
    89Truth
    +
    90Quest
    +
    91Pride
    +
    92Loss
    +
    93Law
    +
    94Path
    +
    95Warning
    +
    96Relationship
    +
    97Wealth
    +
    98Home
    +
    99Strategy
    +
    100Supply
    +
    +
    + +
    +
    COMBAT ACTION
    +
    +
    1-3 + Compel + a surrender.
    +
    4-6Coordinate with allies.
    +
    7-9 + Gather + reinforcements.
    +
    10-13Seize something or someone.
    +
    14-17Provoke a reckless response.
    +
    18-21Intimidate or frighten.
    +
    22-25Reveal a surprising truth.
    +
    26-29Shift focus to someone or something else.
    +
    30-33Destroy something, or render it useless.
    +
    34-39 + Take + a decisive action.
    +
    40-45Reinforce defenses.
    +
    46-52Ready an action.
    +
    53-60 + Use + the terrain to gain advantage.
    +
    61-68Leverage the advantage of a weapon or ability.
    +
    69-78Create an opportunity.
    +
    79-89Attack with precision.
    +
    90-99Attack with power.
    +
    100 + Take a + completely unexpected action.
    +
    +
    + +
    +
    SETTLEMENT TROUBLE
    +
    +
    1-2Outsiders rejected
    +
    3-4Dangerous discovery
    +
    5-6Dreadful omens
    +
    7-8Natural disaster
    +
    9-10 + Old + wounds reopened
    +
    11-12Important object is lost
    +
    13-14Someone is captured
    +
    15-16Mysterious phenomenon
    +
    17-18Revolt against a leader
    +
    19-20Vengeful outcast
    +
    21-22Rival settlement
    +
    23-24Nature strikes back
    +
    25-26Someone is missing
    +
    27-28Production halts
    +
    29-30Mysterious murders
    +
    31-32 + Debt + comes due
    +
    33-34Unjust leadership
    +
    35-36Disastrous accident
    +
    37-38 + In + league with the enemy
    +
    39-40Raiders prey on the weak
    +
    41-42Cursed past
    +
    43-44 + An + innocent is accused
    +
    45-46Corrupted by dark magic
    +
    47-48Isolated by brutal weather
    +
    49-50Provisions are scarce
    +
    51-52Sickness run amok
    +
    53-54Allies become enemies
    +
    55-56Attack is imminent
    +
    57-58 + Lost + caravan
    +
    59-60 + Dark + secret revealed
    +
    61-62Urgent expedition
    +
    63-64 + A + leader falls
    +
    65-66Families in conflict
    +
    67-68Incompetent leadership
    +
    69-70Reckless warmongering
    +
    71-72Beast on the hunt
    +
    73-74Betrayed from within
    +
    75-76Broken truce
    +
    77-78Wrathful haunt
    +
    79-80Conflict with firstborn
    +
    81-82Trade route blocked
    +
    83-84 + In + the crossfire
    +
    85-86Stranger causes discord
    +
    87-88Important event threatened
    +
    89-90Dangerous tradition
    +
    91-100 + Roll + twice
    +
    +
    + +
    +
    MAJOR PLOT TWIST
    +
    +
    1-5 + It was + all a diversion.
    +
    6-10 + A + dark secret is revealed.
    +
    11-15 + A + trap is sprung.
    +
    16-20 + An + assumption is revealed to be false.
    +
    21-25 + A + secret alliance is revealed.
    +
    26-30 + Your + actions benefit an enemy.
    +
    31-35Someone returns unexpectedly.
    +
    36-40 + A + more dangerous foe is revealed.
    +
    41-45 + You + and an enemy share a common goal.
    +
    46-50 + A + true identity is revealed.
    +
    51-55 + You + are betrayed by someone who was trusted.
    +
    56-60 + You + are too late.
    +
    61-65 + The + true enemy is revealed.
    +
    66-70 + The + enemy gains new allies.
    +
    71-75 + A + new danger appears.
    +
    76-80Someone or something goes missing.
    +
    81-85 + The + truth of a relationship is revealed.
    +
    86-90 + Two + seemingly unrelated situations are shown to be connected.
    +
    91-95Unexpected powers or abilities are revealed.
    +
    96-100 + Roll + twice more on this table. Both results occur. If they are the same result, make it more + dramatic.
    +
    +
    + +
    +
    MYSTIC BACKLASH
    +
    +
    1-4 + Your + ritual has the opposite effect.
    +
    5-8 + You + are sapped of strength.
    +
    9-12 + Your + friend, ally, or companion is adversely affected.
    +
    13-16 + You + destroy an important object.
    +
    17-20 + You + inadvertently summon a horror.
    +
    21-24 + You + collapse, and drift into a troubled sleep.
    +
    25-28 + You + undergo a physical torment which leaves its mark upon you.
    +
    29-32 + You + hear ghostly voices whispering of dark portents.
    +
    33-36 + You + are lost in shadow, and find yourself in another place without memory of how you got + there.
    +
    37-40 + You + alert someone or something to your presence.
    +
    41-44 + You + are not yourself, and act against a friend, ally, or companion.
    +
    45-48 + You + affect or damage your surroundings, causing a disturbance or potential harm.
    +
    49-52 + You + waste resources.
    +
    53-56 + You + suffer the loss of a sense for several hours.
    +
    57-60 + You + lose your connection to magic for a day or so, and cannot perform rituals.
    +
    61-64 + Your + ritual affects the target in an unexpected and problematic way.
    +
    65-68 + Your + ritual reveals a surprising and troubling truth.
    +
    69-72 + You + are tempted by dark powers.
    +
    73-76 + You + see a troubling vision of your future.
    +
    77-80 + You + can't perform this ritual again until you acquire an important component.
    +
    81-84 + You + develop a strange fear or compulsion.
    +
    85-88 + Your + ritual causes creatures to exhibit strange or aggressive behavior.
    +
    89-92 + You + are tormented by an apparition from your past.
    +
    93-96 + You + are wracked with sudden sickness.
    +
    97-100 + Roll + twice more on this table. Both results occur. If they are the same result, make it + worse.
    +
    +
    + +
    +
    CHALLENGE RANK
    +
    +
    1-20Troublesome
    +
    21-55Dangerous
    +
    56-80Formidable
    +
    81-93Extreme
    +
    94-100Epic
    +
    +
    + +
    +
    REGION
    +
    +
    1-12Barrier Islands
    +
    13-24Ragged Coast
    +
    25-34 + Deep + Wilds
    +
    35-46Flooded Lands
    +
    47-60Havens
    +
    61-72Hinterlands
    +
    73-84Tempest Hills
    +
    85-94Veiled Mountains
    +
    95-99Shattered Wastes
    +
    100Elsewhere
    +
    +
    + +
    +
    LOCATION
    +
    +
    1Hideout
    +
    2Ruin
    +
    3Mine
    +
    4Waste
    +
    5 + Mystical + Site
    +
    6Path
    +
    7Outpost
    +
    8Wall
    +
    9Battlefield
    +
    10Hovel
    +
    11Spring
    +
    12Lair
    +
    13Fort
    +
    14Bridge
    +
    15Camp
    +
    16Cairn/Grave
    +
    17-18Caravan
    +
    19-20Waterfall
    +
    21-22Cave
    +
    23-24Swamp
    +
    25-26Fen
    +
    27-28Ravine
    +
    29-30Road
    +
    31-32Tree
    +
    33-34Pond
    +
    35-36Fields
    +
    37-38Marsh
    +
    39-40Steading
    +
    41-42Rapids
    +
    43-44Pass
    +
    45-46Trail
    +
    47-48Glade
    +
    49-50Plain
    +
    51-52Ridge
    +
    53-54Cliff
    +
    55-56Grove
    +
    57-58Village
    +
    59-60Moor
    +
    61-62Thicket
    +
    63-64River Ford
    +
    65-66Valley
    +
    67-68Bay/Fjord
    +
    69-70Foothills
    +
    71-72Lake
    +
    73-75River
    +
    76-79Forest
    +
    80-83Coast
    +
    84-88Hill
    +
    89-93Mountain
    +
    94-99Woods
    +
    100Anomaly
    +
    +
    + +
    +
    COASTAL WATERS LOCATION
    +
    +
    1Fleet
    +
    2Sargassum
    +
    3Flotsam
    +
    4 + Mystical + Site
    +
    5Lair
    +
    6-10Wreck
    +
    11-15Harbor
    +
    16-23Ship
    +
    24-30Rocks
    +
    31-38Fjord
    +
    39-46Estuary
    +
    47-54Cove
    +
    55-62Bay
    +
    63-70Ice
    +
    71-85Island
    +
    86-99 + Open + Water
    +
    100Anomaly
    +
    +
    + +
    +
    LOCATION DESCRIPTOR
    +
    +
    1-2High
    +
    3-4Remote
    +
    5-6Exposed
    +
    7-8Small
    +
    9-10Broken
    +
    11-12Diverse
    +
    13-14Rough
    +
    15-16Dark
    +
    17-18Shadowy
    +
    19-20Contested
    +
    21-22Grim
    +
    23-24Wild
    +
    25-26Fertile
    +
    27-28Blocked
    +
    29-30Ancient
    +
    31-32Perilous
    +
    33-34Hidden
    +
    35-36Occupied
    +
    37-38Rich
    +
    39-40Big
    +
    41-42Savage
    +
    43-44Defended
    +
    45-46Withered
    +
    47-48Mystical
    +
    49-50Inaccessible
    +
    51-52Protected
    +
    53-54Abandoned
    +
    55-56Wide
    +
    57-58Foul
    +
    59-60Dead
    +
    61-62Ruined
    +
    63-64Barren
    +
    65-66Cold
    +
    67-68Blighted
    +
    69-70Low
    +
    71-72Beautiful
    +
    73-74Abundant
    +
    75-76Lush
    +
    77-78Flooded
    +
    79-80Empty
    +
    81-82Strange
    +
    83-84Corrupted
    +
    85-86Peaceful
    +
    87-88Forgotten
    +
    89-90Expansive
    +
    91-92Settled
    +
    93-94Dense
    +
    95-96Civilized
    +
    97-98Desolate
    +
    99-100Isolated
    +
    +
    + +
    +
    SETTLEMENT NAME
    +
    +
    01-15 + A + feature of the landscape. Envision what it is. What makes it unusual or distinctive?
    +
    16-30 + A + manmade edifice. What is it? Why is it important to this settlement’s history?
    +
    31-45 + A + creature. Why have the people of this settlement chosen this creature as their totem? How is + it represented in art or rituals?
    +
    46-60 + A + historical event. What happened here? What place or practice commemorates this event?
    +
    61-75 + A + word in an Old World language. What culture is represented by this word? What does it + translate to?
    +
    76-90 + A + season or environmental aspect. What influence does the weather have on this + settlement?
    +
    91-100Something Else....
    +
    +
    + +
    +
    QUICK SETTLEMENT NAME
    +
    +
    +
    PREFIX
    +
    1-4Bleak
    +
    5-8Green
    +
    9-12Wolf
    +
    13-16Raven
    +
    17-20Gray
    +
    21-24Red
    +
    25-28Axe
    +
    29-32Great
    +
    33-36Wood
    +
    37-40Low
    +
    41-44White
    +
    45-48Storm
    +
    49-52Black
    +
    53-56Mourn
    +
    57-60New
    +
    61-64Stone
    +
    65-68Grim
    +
    69-72Lost
    +
    73-76High
    +
    77-80Rock
    +
    81-84Shield
    +
    85-88Sword
    +
    89-92Frost
    +
    93-96Thorn
    +
    97-100Long
    +
    +
    +
    SUFFIX
    +
    1-4-moor
    +
    5-8-ford
    +
    9-12-crag
    +
    13-16-watch
    +
    17-20-hope
    +
    21-24-wood
    +
    25-28-ridge
    +
    29-32-stone
    +
    33-36-haven
    +
    37-40-fall(s)
    +
    41-44-river
    +
    45-48-field
    +
    49-52-hill
    +
    53-56-bridge
    +
    57-60-mark
    +
    61-64-cairn
    +
    65-68-land
    +
    69-72-hall
    +
    73-76-mount
    +
    77-80-rock
    +
    81-84-brook
    +
    85-88-barrow
    +
    89-92-stead
    +
    93-96-home
    +
    97-100-wick
    +
    +
    +
    + +
    +
    CHARACTER ROLE
    +
    +
    1-2Criminal
    +
    3-4Healer
    +
    5-6Bandit
    +
    7-9Guide
    +
    10-12Performer
    +
    13-15Miner
    +
    16-18Mercenary
    +
    19-21Outcast
    +
    22-24Vagrant
    +
    25-27Forester
    +
    28-30Traveler
    +
    31-33Mystic
    +
    34-36Priest
    +
    37-39Sailor
    +
    40-42Pilgrim
    +
    43-45Thief
    +
    46-48Adventurer
    +
    49-51Forager
    +
    52-54Leader
    +
    55-58Guard
    +
    59-62Artisan
    +
    63-66Scout
    +
    67-70Herder
    +
    71-74Fisher
    +
    75-79Warrior
    +
    80-84Hunter
    +
    85-89Raider
    +
    90-94Trader
    +
    95-99Farmer
    +
    100 + Unusual + role
    +
    +
    + +
    +
    CHARACTER GOAL
    +
    +
    1-3 + Obtain + an object
    +
    4-6 + Make + an agreement
    +
    7-9 + Build + a relationship
    +
    10-12Undermine a relationship
    +
    13-15 + Seek + a truth
    +
    16-18 + Pay + a debt
    +
    19-21Refute a falsehood
    +
    22-24 + Harm + a rival
    +
    25-27 + Cure + an ill
    +
    28-30 + Find + a person
    +
    31-33 + Find + a home
    +
    34-36Seize power
    +
    37-39Restore a relationship
    +
    40-42Create an item
    +
    43-45Travel to a place
    +
    46-48Secure provisions
    +
    49-51Rebel against power
    +
    52-54Collect a debt
    +
    55-57Protect a secret
    +
    58-60Spread faith
    +
    61-63Enrich themselves
    +
    64-66Protect a person
    +
    67-69Protect the status quo
    +
    70-72Advance status
    +
    73-75Defend a place
    +
    76-78Avenge a wrong
    +
    79-81Fulfill a duty
    +
    82-84 + Gain + knowledge
    +
    85-87Prove worthiness
    +
    88-90 + Find + redemption
    +
    91-92Escape from something
    +
    93-95Resolve a dispute
    +
    96-100 + Roll + twice
    +
    +
    + +
    +
    CHARACTER DESCRIPTOR
    +
    +
    1Stoic
    +
    2Attractive
    +
    3Passive
    +
    4Aloof
    +
    5Affectionate
    +
    6Generous
    +
    7Smug
    +
    8Armed
    +
    9Clever
    +
    10Brave
    +
    11Ugly
    +
    12Sociable
    +
    13Doomed
    +
    14Connected
    +
    15Bold
    +
    16Jealous
    +
    17Angry
    +
    18Active
    +
    19Suspicious
    +
    20Hostile
    +
    21Hardhearted
    +
    22Successful
    +
    23Talented
    +
    24Experienced
    +
    25Deceitful
    +
    26Ambitious
    +
    27Aggressive
    +
    28Conceited
    +
    29Proud
    +
    30Stern
    +
    31Dependent
    +
    32Wary
    +
    33Strong
    +
    34Insightful
    +
    35Dangerous
    +
    36Quirky
    +
    37Cheery
    +
    38Disfigured
    +
    39Intolerant
    +
    40Skilled
    +
    41Stingy
    +
    42Timid
    +
    43Insensitive
    +
    44Wild
    +
    45Bitter
    +
    46Cunning
    +
    47Remorseful
    +
    48Kind
    +
    49Charming
    +
    50Oblivious
    +
    51Critical
    +
    52Cautious
    +
    53Resourceful
    +
    54Weary
    +
    55Wounded
    +
    56Anxious
    +
    57Powerful
    +
    58Athletic
    +
    59Driven
    +
    60Cruel
    +
    61Quiet
    +
    62Honest
    +
    63Infamous
    +
    64Dying
    +
    65Reclusive
    +
    66Artistic
    +
    67Disabled
    +
    68Confused
    +
    69Manipulative
    +
    70Relaxed
    +
    71Stealthy
    +
    72Confident
    +
    73Weak
    +
    74Friendly
    +
    75Wise
    +
    76Influential
    +
    77Young
    +
    78Adventurous
    +
    79Oppressed
    +
    80Vengeful
    +
    81Cooperative
    +
    82Armored
    +
    83Apathetic
    +
    84Determined
    +
    85Loyal
    +
    86Sick
    +
    87Religious
    +
    88Selfish
    +
    89Old
    +
    90Fervent
    +
    91Violent
    +
    92Agreeable
    +
    93Hot-tempered
    +
    94Stubborn
    +
    95Incompetent
    +
    96Greedy
    +
    97Cowardly
    +
    98Obsessed
    +
    99Careless
    +
    100Ironsworn
    +
    +
    + +
    +
    IRONLANDER NAMES
    +
    +
    1Solana
    +
    2Keelan
    +
    3Cadigan
    +
    4Sola
    +
    5Kodroth
    +
    6Kione
    +
    7Katja
    +
    8Tio
    +
    9Artiga
    +
    10Eos
    +
    11Bastien
    +
    12Elli
    +
    13Maura
    +
    14Haleema
    +
    15Abella
    +
    16Morter
    +
    17Wulan
    +
    18Mai
    +
    19Farina
    +
    20Pearce
    +
    21Wynne
    +
    22Haf
    +
    23Aeddon
    +
    24Khinara
    +
    25Milla
    +
    26Nakata
    +
    27Kynan
    +
    28Kiah
    +
    29Jaggar
    +
    30Beca
    +
    31Ikram
    +
    32Melia
    +
    33Sidan
    +
    34Deshi
    +
    35Tessa
    +
    36Sibila
    +
    37Morien
    +
    38Mona
    +
    39Padma
    +
    40Avella
    +
    41Naila
    +
    42Lio
    +
    43Cera
    +
    44Ithela
    +
    45Zhan
    +
    46Kaivan
    +
    47Valeri
    +
    48Hirsham
    +
    49Pemba
    +
    50Edda
    +
    51Lestara
    +
    52Lago
    +
    53Elstan
    +
    54Saskia
    +
    55Kabeera
    +
    56Caldas
    +
    57Nisus
    +
    58Serene
    +
    59Chenda
    +
    60Themon
    +
    61Erin
    +
    62Alban
    +
    63Parcell
    +
    64Jelma
    +
    65Willa
    +
    66Nadira
    +
    67Gwen
    +
    68Amara
    +
    69Masias
    +
    70Kanno
    +
    71Razeena
    +
    72Mira
    +
    73Perella
    +
    74Myrick
    +
    75Qamar
    +
    76Kormak
    +
    77Zura
    +
    78Zanita
    +
    79Brynn
    +
    80Tegan
    +
    81Pendry
    +
    82Quinn
    +
    83Fanir
    +
    84Glain
    +
    85Emelyn
    +
    86Kendi
    +
    87Althus
    +
    88Leela
    +
    89Ishana
    +
    90Flint
    +
    91Delkash
    +
    92Nia
    +
    93Nan
    +
    94Keeara
    +
    95Katania
    +
    96Morell
    +
    97Temir
    +
    98Bas
    +
    99Sabine
    +
    100Tallus
    +
    101Segura
    +
    102Gethin
    +
    103Bataar
    +
    104Basira
    +
    105Joa
    +
    106Glynn
    +
    107Toran
    +
    108Arasen
    +
    109Kuron
    +
    110Griff
    +
    111Owena
    +
    112Adda
    +
    113Euros
    +
    114Kova
    +
    115Kara
    +
    116Morgan
    +
    117Nanda
    +
    118Tamara
    +
    119Asha
    +
    120Delos
    +
    121Torgan
    +
    122Makari
    +
    123Selva
    +
    124Kimura
    +
    125Rhian
    +
    126Tristan
    +
    127Siorra
    +
    128Sayer
    +
    129Cortina
    +
    130Vesna
    +
    131Kataka
    +
    132Keyshia
    +
    133Mila
    +
    134Lili
    +
    135Vigo
    +
    136Sadia
    +
    137Malik
    +
    138Dag
    +
    139Kuno
    +
    140Reva
    +
    141Kai
    +
    142Kalina
    +
    143Jihan
    +
    144Hennion
    +
    145Abram
    +
    146Aida
    +
    147Myrtle
    +
    148Nekun
    +
    149Menna
    +
    150Tahir
    +
    151Sarria
    +
    152Nakura
    +
    153Akiya
    +
    154Talan
    +
    155Mattick
    +
    156Okoth
    +
    157Khulan
    +
    158Verena
    +
    159Beltran
    +
    160Del
    +
    161Ranna
    +
    162Alina
    +
    163Muna
    +
    164Mura
    +
    165Torrens
    +
    166Yuda
    +
    167Nazmi
    +
    168Ghalen
    +
    169Sarda
    +
    170Shona
    +
    171Kalidas
    +
    172Wena
    +
    173Sendra
    +
    174Kori
    +
    175Setara
    +
    176Lucia
    +
    177Maya
    +
    178Reema
    +
    179Yorath
    +
    180Rhoddri
    +
    181Shekhar
    +
    182Servan
    +
    183Reese
    +
    184Kenrick
    +
    185Indirra
    +
    186Giliana
    +
    187Jebran
    +
    188Kotama
    +
    189Fara
    +
    190Katrin
    +
    191Namba
    +
    192Lona
    +
    193Taylah
    +
    194Kato
    +
    195Esra
    +
    196Eleri
    +
    197Irsia
    +
    198Kayu
    +
    199Bevan
    +
    200Chandra
    +
    +
    + +
    +
    ELF NAMES
    +
    +
    1-2Arsula
    +
    3-4Naidita
    +
    5-6Belesunna
    +
    7-8Vidarna
    +
    9-10Ninsunu
    +
    11-12Balathu
    +
    13-14Dorosi
    +
    15-16Gezera
    +
    17-18Zursan
    +
    19-20Seleeku
    +
    21-22Utamara
    +
    23-24Nebakay
    +
    25-26Dismashk
    +
    27-28Mitunu
    +
    29-30Atani
    +
    31-32Kinzura
    +
    33-34Sumula
    +
    35-36Ukames
    +
    37-38Ahmeshki
    +
    39-40Ilsit
    +
    41-42Mayatanay
    +
    43-44Etana
    +
    45-46Gamanna
    +
    47-48Nessana
    +
    49-50Uralar
    +
    51-52Tishetu
    +
    53-54Leucia
    +
    55-56Sutahe
    +
    57-58Dotani
    +
    59-60Uktannu
    +
    61-62Retenay
    +
    63-64Kendalanu
    +
    65-66Tahuta
    +
    67-68Mattissa
    +
    69-70Anatu
    +
    71-72Aralu
    +
    73-74Arakhi
    +
    75-76Ibrahem
    +
    77-78Sinosu
    +
    79-80Jemshida
    +
    81-82Visapni
    +
    83-84Hullata
    +
    85-86Sidura
    +
    87-88Kerihu
    +
    89-90Ereshki
    +
    91-92Cybela
    +
    93-94Anunna
    +
    95-96Otani
    +
    97-98Ditani
    +
    99-100Faraza
    +
    +
    + +
    +
    GIANT NAMES
    +
    +
    1-4Chony
    +
    5-8Banda
    +
    9-12Jochu
    +
    13-16Kira
    +
    17-20Khatir
    +
    21-24Chaidu
    +
    25-28Atan
    +
    29-32Buandu
    +
    33-36Javyn
    +
    37-40Khashin
    +
    41-44Bayara
    +
    45-48Temura
    +
    49-52Kidha
    +
    53-56Kathos
    +
    57-60Tanua
    +
    61-64Bashtu
    +
    65-68Jaran
    +
    69-72Othos
    +
    73-76Khutan
    +
    77-80Otaan
    +
    81-84Martu
    +
    85-88Baku
    +
    89-92Tuban
    +
    93-96Qudan
    +
    97-100Denua
    +
    +
    + +
    +
    VAROU NAMES
    +
    +
    1-4Vata
    +
    5-8Zora
    +
    9-12Jasna
    +
    13-16Charna
    +
    17-20Tana
    +
    21-24Soveen
    +
    25-28Radka
    +
    29-32Zlata
    +
    33-36Leesla
    +
    37-40Byna
    +
    41-44Meeka
    +
    45-48Iskra
    +
    49-52Jarek
    +
    53-56Darva
    +
    57-60Neda
    +
    61-64Keha
    +
    65-68Zhivka
    +
    69-72Kvata
    +
    73-76Staysa
    +
    77-80Evka
    +
    81-84Vuksha
    +
    85-88Muko
    +
    89-92Dreko
    +
    93-96Aleko
    +
    97-100Vojan
    +
    +
    + +
    +
    TROLL NAMES
    +
    +
    1-4Rattle
    +
    5-8Scratch
    +
    9-12Wallow
    +
    13-16Groak
    +
    17-20Gimble
    +
    21-24Scar
    +
    25-28Cratch
    +
    29-32Creech
    +
    33-36Shush
    +
    37-40Glush
    +
    41-44Slar
    +
    45-48Gnash
    +
    49-52Stoad
    +
    53-56Grig
    +
    57-60Bleat
    +
    61-64Chortle
    +
    65-68Cluck
    +
    69-72Slith
    +
    73-76Mongo
    +
    77-80Creak
    +
    81-84Burble
    +
    85-88Vrusk
    +
    89-92Snuffle
    +
    93-96Leech
    +
    97-100Herk
    +
    +
    + +
    +
    PAY THE PRICE
    +
    +
    1-2 + Roll + again and apply that result but make it worse. If you roll this result yet again, think of + something dreadful that changes the course of your quest (Ask the Oracle if unsure) + and make it happen.
    +
    3-5 + A + person or community you trusted loses faith in you, or acts against you.
    +
    6-9 + A + person or community you care about is exposed to danger.
    +
    10-16 + You + are separated from something or someone.
    +
    17-23 + Your + action has an unintended effect.
    +
    24-32Something of value is lost or destroyed.
    +
    33-41 + The + current situation worsens.
    +
    42-50 + A + new danger or foe is revealed.
    +
    51-59 + It + causes a delay or puts you at a disadvantage.
    +
    60-68 + It + is harmful.
    +
    69-77 + It + is stressful.
    +
    78-85 + A + surprising development complicates your quest.
    +
    86-90 + It + wastes resources.
    +
    91-94 + It + forces you to act against your best intentions.
    +
    95-98 + A + friend, companion, or ally is put in harm’s way (or you are, if alone)
    +
    99-100 + Roll + twice more on this table. Both results occur. If they are the same result, make it + worse.
    +
    +
    + +
    +
    ASK THE ORACLE
    +
    +
    +
    + +
    11 or greater + Almost + Certain +
    +
    +
    + +
    26 or greaterLikely +
    +
    +
    + +
    51 or greater50/50 +
    +
    +
    + +
    76 or greaterUnlikely +
    +
    +
    + +
    91 or greater + Small + Chance +
    +
    + +
    + +
    +
    ENDURE HARM
    +
    +
    1-10 (10%)The harm is mortal. Face Death.
    +
    11-20 (10%)Take the dying condition.
    +
    21-35 (15%)Take the unconscious condition.
    +
    36-50 (15%)Take the reeled condition.
    +
    51-100 (50%)You are battered but still standing.
    +
    +
    + +
    +
    ENDURE STRESS
    +
    +
    1-10 (10%)You are overwhelmed. Face Desolation.
    +
    11-25 (15%)You give up. Forsake Your Vow (if possible, one relevant to your current crisis). If this is a companion, Test Their Loyalty.
    +
    26-50 (25%)You give in to a fear or compulsion, and act against your better instincts. Manifest Insanity.
    +
    51-80 (30%)You persevere.
    +
    81-85 (5%)You get a moment of clarity in the eye of the storm. If you have the shaken condition card, discard it. Take +4 spirit and +8 momentum. Then, add +2 to your next move.
    +
    86-90 (5%)You get virtuous in the face of chaos. If you have the shaken condition card, discard it. Then, take +4 spirit and draw up to your maximum of resilience cards.
    +
    91-95 (5%)Your body harvest vigor. If you have the shaken condition card, discard it. Then, take +4 spirit and +1d12 health.
    +
    96-100 (5%)Your spirit shines brightest against a backdrop of desolation. If you have the shaken condition card, discard it. Then, take +8 spirit.
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    Feature
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    +
    Site Name
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    +
    Site Nature
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    +
    Character
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    +
    Monstrosity
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    +
    Trap
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    +
    Combat Event
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    +
    Threat
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    +
    + +
    +
    Feature: Aspect
    +
    +
    1-2Blocked
    +
    3-4Crafted
    +
    5-6Ancient
    +
    7-8Sunken
    +
    9-10Trapped
    +
    11-12Secret
    +
    13-14Toxic
    +
    15-16Ruined
    +
    17-18Defended
    +
    19-20Decaying
    +
    21-22Marked
    +
    23-24Guarded
    +
    25-26Inaccessible
    +
    27-28Foreboding
    +
    29-30Veiled
    +
    31-32Deep
    +
    33-34Depleted
    +
    35-36Foul
    +
    37-38Elevated
    +
    39-40Moving
    +
    41-42Unnatural
    +
    43-44Active
    +
    45-46Confined
    +
    47-48Fortified
    +
    49-50Collapsed
    +
    51-52Isolated
    +
    53-54Destroyed
    +
    55-56Open
    +
    57-58Sacred
    +
    59-60Flooded
    +
    61-62Complex
    +
    63-64Abundant
    +
    65-66Hidden
    +
    67-68Expansive
    +
    69-70Mysterious
    +
    71-72Unstable
    +
    73-74Fragile
    +
    75-76Broken
    +
    77-78Ensnaring
    +
    79-80Pillaged
    +
    81-82Sealed
    +
    83-84Makeshift
    +
    85-86Treacherous
    +
    87-88Natural
    +
    89-90Dead
    +
    91-92Unusual
    +
    93-94Abandoned
    +
    95-96Deadly
    +
    97-98Forgotten
    +
    99-100Mystical
    +
    +
    + +
    +
    Feature: Focus
    +
    +
    1-2Attack
    +
    3-4Threshold
    +
    5-6Boundary
    +
    7-8Alarm
    +
    9-10Exit
    +
    11-12Passage
    +
    13-14Crossing
    +
    15-16Trigger
    +
    17-18Trap
    +
    19-20Hideaway
    +
    21-22Nature
    +
    23-24Sign
    +
    25-26Refuge
    +
    27-28Valuables
    +
    29-30Breach
    +
    31-32Route
    +
    33-34Location
    +
    35-36Trail
    +
    37-38Supply
    +
    39-40History
    +
    41-42Prisoner
    +
    43-44Habitation
    +
    45-46Debris
    +
    47-48 Creature
    +
    49-50Lair
    +
    51-52Person
    +
    53-54Enclosure
    +
    55-56Remains
    +
    57-58Water
    +
    59-60Message
    +
    61-62Darkness
    +
    63-64Opening
    +
    65-66Weapon
    +
    67-68Entry
    +
    69-70Illumination
    +
    71-72Obstacle
    +
    73-74Craft
    +
    75-76Container
    +
    77-78Information
    +
    79-80Grave
    +
    81-82Equipment
    +
    83-84Shelter
    +
    85-86Denizen
    +
    87-88 Environment
    +
    89-90Material
    +
    91-92Resource
    +
    93-94Corruption
    +
    95-96Death
    +
    97-98Function
    +
    99-100Power
    +
    +
    + +
    +
    Site Name: Format
    +
    +
    1-25[Description] [Place]
    +
    26-50[Place] of [Detail]
    +
    51-70[Place] of [Description] [Detail]
    +
    71-80[Place] of [Namesake's] [Detail]
    +
    81-85[Namesake's] [Place]
    +
    86-95[Description] [Place] of [Namesake]
    +
    96-100[Place] of [Namesake]
    +
    +
    + +
    +
    Site Name: Description
    +
    +
    1-2Deep
    +
    3-4Tainted
    +
    5-6Grey
    +
    7-8Forgotten
    +
    9-10Flooded
    +
    11-12Forbidden
    +
    13-14Barren
    +
    15-16Lost
    +
    17-18Cursed
    +
    19-20Fell
    +
    21-22Sunken
    +
    23-24Nightmare
    +
    25-26Infernal
    +
    27-28Dark
    +
    29-30Bloodstained
    +
    31-32Haunted
    +
    33-34White
    +
    35-36Shrouded
    +
    37-38Wasted
    +
    39-40Grim
    +
    41-42Endless
    +
    43-44Crumbling
    +
    45-46Undying
    +
    47-48Bloodied
    +
    49-50Forsaken
    +
    51-52Silent
    +
    53-54Blighted
    +
    55-56Iron
    +
    57-58Frozen
    +
    59-60Abyssal
    +
    61-62Crimson
    +
    63-64Silver
    +
    65-66Desecrated
    +
    67-68Ashen
    +
    69-70Elder
    +
    71-72Scorched
    +
    73-74Unknown
    +
    75-76Scarred
    +
    77-78Broken
    +
    79-80Chaotic
    +
    81-82Black
    +
    83-84Hidden
    +
    85-86Sundered
    +
    87-88Shattered
    +
    89-90Dreaded
    +
    91-92Secret
    +
    93-94High
    +
    95-96Sacred
    +
    97-98Fallen
    +
    99-100Ruined
    +
    +
    + +
    +
    Site Name: Detail
    +
    +
    1-2Blight
    +
    3-4Strife
    +
    5-6Nightfall
    +
    7-8Fury
    +
    9-10Terror
    +
    11-12Truth
    +
    13-14Spring
    +
    15-16Sanctuary
    +
    17-18Bone
    +
    19-20Specters
    +
    21-22Daybreak
    +
    23-24Doom
    +
    25-26Treachery
    +
    27-28Blood
    +
    29-30War
    +
    31-32Torment
    +
    33-34Iron
    +
    35-36Silence
    +
    37-38Mist
    +
    39-40Isolation
    +
    41-42Runes
    +
    43-44Rot
    +
    45-46Corruption
    +
    47-48Prophecy
    +
    49-50Fate
    +
    51-52Twilight
    +
    53-54Power
    +
    55-56Darkness
    +
    57-58Gloom
    +
    59-60Storms
    +
    61-62Hope
    +
    63-64Lament
    +
    65-66Frost
    +
    67-68Souls
    +
    69-70Winter
    +
    71-72Sadness
    +
    73-74Desolation
    +
    75-76Bane
    +
    77-78Lies
    +
    79-80Ash
    +
    81-82Banishment
    +
    83-84Shadow
    +
    85-86Madness
    +
    87-88Stone
    +
    89-90Secrets
    +
    91-92Despair
    +
    93-94Blades
    +
    95-96Dread
    +
    97-98Light
    +
    99-100Wrath
    +
    +
    + +
    +
    Site Name: Namesake
    +
    +
    1-2Breckon
    +
    3-4Issara
    +
    5-6Milenna
    +
    7-8Thorval
    +
    9-10Khulan
    +
    11-12Aurvang
    +
    13-14Kalida
    +
    15-16Keeara
    +
    17-18Andor
    +
    19-20Zakaria
    +
    21-22Willa
    +
    23-24Etana
    +
    25-26Valgard
    +
    27-28Kenrick
    +
    29-30Wyland
    +
    31-32Sidura
    +
    33-34Svala
    +
    35-36Kajir
    +
    37-38Saiven
    +
    39-40Callwen
    +
    41-42Zhan
    +
    43-44Solana
    +
    45-46Ildar
    +
    47-48Keelan
    +
    49-50Thrain
    +
    51-52Kynan
    +
    53-54Jadina
    +
    55-56Radek
    +
    57-58Wulan
    +
    59-60Garion
    +
    61-62Eysa
    +
    63-64Kolor
    +
    65-66Katarra
    +
    67-68Dain
    +
    69-70Farina
    +
    71-72Yala
    +
    73-74Kodroth
    +
    75-76Morien
    +
    77-78Akida
    +
    79-80Haldorr
    +
    81-82Nyrad
    +
    83-84Edda
    +
    85-86Jorund
    +
    87-88Morraine
    +
    89-90Lindar
    +
    91-92Sithra
    +
    93-94Torgan
    +
    95-96Arnorr
    +
    97-98Thyri
    +
    99-100Erisia
    +
    +
    + +
    +
    Site Name: Place
    +
    +
    1-6Barrow
    +
    7-18Cavern
    +
    19-28Frozen Cavern
    +
    29-32Icereach
    +
    33-38Mine
    +
    39-48Pass
    +
    49-58Ruin
    +
    59-68Sea Cave
    +
    69-78Shadowfen
    +
    79-83Stronghold
    +
    84-95Tanglewood
    +
    96-100Underkeep
    +
    +
    + +
    +
    Site Nature: Theme
    +
    +
    1-11Ancient
    +
    12-23Corrupted
    +
    24-35Fortified
    +
    36-48Hallowed
    +
    49-61Haunted
    +
    62-74Infested
    +
    75-87Ravaged
    +
    88-100Wild
    +
    +
    + +
    +
    Site Nature: Domain
    +
    +
    1-6Barrow
    +
    7-18Cavern
    +
    19-28Frozen Cavern
    +
    29-32Icereach
    +
    33-38Mine
    +
    39-48Pass
    +
    49-58Ruin
    +
    59-68Sea Cave
    +
    69-78Shadowfen
    +
    79-83Stronghold
    +
    84-95Tanglewood
    +
    96-100Underkeep
    +
    +
    + +
    +
    Character: Disposition
    +
    +
    1-6Helpful
    +
    7-13Friendly
    +
    14-20Cooperative
    +
    21-28Curious
    +
    29-36Indifferent
    +
    37-47Suspicious
    +
    48-57Wanting
    +
    58-67Desperate
    +
    68-76Demanding
    +
    77-85Unfriendly
    +
    86-93Threatening
    +
    94-100Hostile
    +
    +
    + +
    +
    Character: Activity
    +
    +
    1-2Guarding
    +
    3-4Preserving
    +
    5-6Constructing
    +
    7-8Mending
    +
    9-10Assisting
    +
    11-12Securing
    +
    13-14Learning
    +
    15-16Sneaking
    +
    17-18Fleeing
    +
    19-20Sacrificing
    +
    21-22Creating
    +
    23-24Luring
    +
    25-26Hunting
    +
    27-28Seizing
    +
    29-30Bargaining
    +
    31-32Mimicking
    +
    33-34Tricking
    +
    35-36Tracking
    +
    37-38Escorting
    +
    39-40Hiding
    +
    41-42Raiding
    +
    43-44Socializing
    +
    45-46Exploring
    +
    47-48Journeying
    +
    49-50Supporting
    +
    51-52Avoiding
    +
    53-54Disabling
    +
    55-56Leading
    +
    57-58Assaulting
    +
    59-60Ensnaring
    +
    61-62Defending
    +
    63-64Recovering
    +
    65-66Patrolling
    +
    67-68Resting
    +
    69-70Distracting
    +
    71-72Leaving
    +
    73-74Fighting
    +
    75-76Ambushing
    +
    77-78Controlling
    +
    79-80Observing
    +
    81-82Gathering
    +
    83-84Suffering
    +
    85-86Threatening
    +
    87-88Searching
    +
    89-90Destroying
    +
    91-92Restoring
    +
    93-94Consuming
    +
    95-96Removing
    +
    97-98Inspecting
    +
    99-100Summoning
    +
    +
    + +
    +
    Monstrosity: Size
    +
    +
    1-5Tiny (rodent-sized)
    +
    6-30Small (hound-sized)
    +
    31-65Medium (person-sized)
    +
    66-94Large (giant-sized)
    +
    95-99Huge (whale-sized)
    +
    100Titanic (incomprehensible)
    +
    +
    + +
    +
    Monstrosity: Primary Form
    +
    +
    1-15Beast / mammal
    +
    16-25Humanoid
    +
    26-31Bird
    +
    32-37Spider
    +
    38-43Snake
    +
    44-49Worm / slug
    +
    50-55Lizard
    +
    56-61Insect
    +
    62-66Amorphous
    +
    67-69Crustacean
    +
    70-71Fish
    +
    72-73Octopoid
    +
    74-75Amphibian
    +
    76-77Plant
    +
    78Incorporeal
    +
    79Mineral
    +
    80Elemental
    +
    81-100Hybrid (roll twice)
    +
    +
    + +
    +
    Monstrosity: Characteristics
    +
    +
    1-5Extra limbs
    +
    6-10Fangs / rows of sharp teeth
    +
    11-15Claws / talons
    +
    16-20Strange color / markings
    +
    21-25Horns / tusks
    +
    26-30Oversized mouth
    +
    31-35Spikes / spines
    +
    36-40Tail
    +
    41-45Multi-segmented body
    +
    46-50Wings
    +
    51-54Stinger / barbs
    +
    55-58Many-eyed
    +
    59-62Distinctive sound
    +
    63-66Tentacles / tendrils
    +
    67-69Mandibles / pincers
    +
    70-72Luminescent
    +
    73-75Antennae / sensory organs
    +
    76-78Proboscis / inner jaw
    +
    79-81Exoskeleton / shell
    +
    82-84Bony protuberances
    +
    85-87Corrupted flesh
    +
    88-90Semi-transparent
    +
    91-93Scarred / injured
    +
    94-95Egg sac / carried offspring
    +
    96-97Rotting / skeletal
    +
    98Mummified / desiccated
    +
    99Multi-headed
    +
    100Etched with mystic runes
    +
    +
    + +
    +
    Monstrosity: Abilities
    +
    +
    1-4Keen senses
    +
    5-8Intimidating vocalization
    +
    9-12Climber
    +
    13-16Intelligent
    +
    17-20Swift
    +
    21-24Powerful bite
    +
    25-28Stealthy / ambusher
    +
    29-32Horrid visage
    +
    33-36Strong
    +
    37-40Camouflaged
    +
    41-43Flier / glider
    +
    44-46Poisonous
    +
    47-49Semiaquatic / swimmer
    +
    50-52Grappler / entangler
    +
    53-55Leaper
    +
    56-58Crusher / constrictor
    +
    59-61Armored
    +
    62-64Burrower
    +
    65-67Noxious smell
    +
    68-69Trap-setter
    +
    70-71Parasitic
    +
    72-73Vibration sense
    +
    74-75Breath weapon / toxic spew
    +
    76-77Mimicry
    +
    78-79Shapeshifting
    +
    80-81Control lesser creatures
    +
    82-83Echolocation
    +
    84-85Electric shock
    +
    86-87Acidic
    +
    88-89Symbiotic
    +
    90-91Shoot projectiles
    +
    92Paralyzing
    +
    93Immune to iron
    +
    94Feels no pain
    +
    95Enact rituals
    +
    96Create illusions
    +
    97Mind control / telepathy
    +
    98Move between realities
    +
    99Wield weapons
    +
    100Control elements
    +
    +
    + +
    +
    Trap: Event
    +
    +
    1-4Block
    +
    5-8Create
    +
    9-12Break
    +
    13-16Puncture
    +
    17-20Entangle
    +
    21-24Enclose
    +
    25-28Ambush
    +
    29-32Snare
    +
    33-36Change
    +
    37-40Imitate
    +
    41-44Crush
    +
    45-48Drop
    +
    49-52Conceal
    +
    53-56Lure
    +
    57-60Release
    +
    61-64Obscure
    +
    65-68Cut
    +
    69-72Smother
    +
    73-76Collapse
    +
    77-80Summon
    +
    81-84Move
    +
    85-88Surprise
    +
    89-92Divert
    +
    93-96Attack
    +
    97-100Trigger
    +
    +
    + +
    +
    Trap: Component
    +
    +
    1-4Pit
    +
    5-8Water
    +
    9-12Fire
    +
    13-16Projectile
    +
    17-20Passage
    +
    21-24Fall
    +
    25-28Debris
    +
    29-32Fear
    +
    33-36Alarm
    +
    37-40Trigger
    +
    41-44Cold
    +
    45-48Weapon
    +
    49-52Darkness
    +
    53-56Decay
    +
    57-60Path
    +
    61-64Stone
    +
    65-68Terrain
    +
    69-72Poison
    +
    73-76Barrier
    +
    77-80Overhead
    +
    81-84Magic
    +
    85-88Toxin
    +
    89-92Earth
    +
    93-96Light
    +
    97-100Denizen
    +
    +
    + +
    +
    Combat Event: Method
    +
    +
    1-2Defy
    +
    3-4Break
    +
    5-6Trick
    +
    7-8Evade
    +
    9-10Protect
    +
    11-12Overwhelm
    +
    13-14Persevere
    +
    15-16Assist
    +
    17-18Await
    +
    19-20Abort
    +
    21-22Block
    +
    23-24Collide
    +
    25-26Focus
    +
    27-28Advance
    +
    29-30Breach
    +
    31-32Endure
    +
    33-34Assault
    +
    35-36Charge
    +
    37-38Escalate
    +
    39-40Sunder
    +
    41-42Shatter
    +
    43-44Aim
    +
    45-46Stagger
    +
    47-48Counter
    +
    49-50Seize
    +
    51-52Impact
    +
    53-54Entangle
    +
    55-56Hold
    +
    57-58Deflect
    +
    59-60Drop
    +
    61-62Lose
    +
    63-64Sweep
    +
    65-66Secure
    +
    67-68Cover
    +
    69-70Withdraw
    +
    71-72Clash
    +
    73-74Amplify
    +
    75-76Batter
    +
    77-78Feint
    +
    79-80Shove
    +
    81-82Embed
    +
    83-84Affect
    +
    85-86Probe
    +
    87-88Force
    +
    89-90Intensify
    +
    91-92Distract
    +
    93-94Challenge
    +
    95-96Brawl
    +
    97-98Coordinate
    +
    99-100Overrun
    +
    +
    + +
    +
    Combat Event: Target
    +
    +
    1-2Control
    +
    3-4Defense
    +
    5-6Limbs
    +
    7-8Focus
    +
    9-10Advantage
    +
    11-12Range
    +
    13-14Stress
    +
    15-16Sense
    +
    17-18Weakness
    +
    19-20Opening
    +
    21-22Fear
    +
    23-24Instinct
    +
    25-26Footing
    +
    27-28Maneuver
    +
    29-30Reach
    +
    31-32Harm
    +
    33-34Finesse
    +
    35-36Weapon
    +
    37-38Environment
    +
    39-40Technique
    +
    41-42Surprise
    +
    43-44Pride
    +
    45-46Wound
    +
    47-48Precision
    +
    49-50Ally
    +
    51-52Ground
    +
    53-54Courage
    +
    55-56Companion
    +
    57-58Object
    +
    59-60Momentum
    +
    61-62Speed
    +
    63-64Strength
    +
    65-66Supply
    +
    67-68Terrain
    +
    69-70Armor
    +
    71-72Skill
    +
    73-74Body
    +
    75-76Protection
    +
    77-78Resolve
    +
    79-80Ferocity
    +
    81-82Shield
    +
    83-84Ammo
    +
    85-86Anger
    +
    87-88Opportunity
    +
    89-90Balance
    +
    91-92Position
    +
    93-94Barrier
    +
    95-96Strategy
    +
    97-98Grasp
    +
    99-100Power
    +
    +
    + +
    +
    Threat: Category
    +
    +
    1-10Burgeoning Conflict
    +
    11-20Cursed Site
    +
    21-30Environmental Calamity
    +
    31-40Malignant Plague
    +
    41-50Rampaging Creature
    +
    51-60Ravaging Horde
    +
    61-70Scheming Leader
    +
    71-80Power-Hungry Mystic
    +
    81-90Zealous Cult
    +
    91-100Roll Twice
    +
    +
    + +
    +
    Threat: Burgeoning Conflict
    +
    +
    1-10Allow warmongers to gain influence
    +
    11-20Break a treaty
    +
    21-30Force a hasty decision
    +
    31-40Deepen suspicions
    +
    41-50Trigger a confrontation
    +
    51-60Subvert a potential accord
    +
    61-70Isolate the antagonists
    +
    71-80Draw new battle lines
    +
    81-90Reveal an unexpected aspect of the dispute
    +
    91-100 + Introduce a new person or faction to complicate the + situation
    +
    +
    + +
    +
    Threat: Cursed Site
    +
    +
    1-10Unleash a creature or being
    +
    11-20Lure the unwary into its depths
    +
    21-30Offer promises of power
    +
    31-40Reveal a new aspect of its cursed history
    +
    41-50Expand its malignancy to surrounding lands
    +
    51-60Leave its mark on an inhabitant or visitor
    +
    61-70Reveal hidden depths
    +
    71-80Ensnare an important person or object
    +
    81-90Corrupt the environment
    +
    91-100Transform its nature
    +
    +
    + +
    +
    Threat: Environmental Calamity
    +
    +
    1-10Devastate a place
    +
    11-20Block a path
    +
    21-30Threaten a community with imminent destruction
    +
    31-40Manifest unexpected effects
    +
    41-50Expand in scope or intensity
    +
    51-60Allow someone to take advantage
    +
    61-70Deprive of resources
    +
    71-80Isolate an important person or community
    +
    81-90Force refugees into hostile lands
    +
    91-100Disrupt natural ecosystems
    +
    +
    + +
    +
    Threat: Malignant Plague
    +
    +
    1-10Manifest new symptoms or effects
    +
    11-20Infect someone important
    +
    21-30Expand to new territory or communities
    +
    31-40Allow someone to take advantage
    +
    41-50Allow someone to take the blame
    +
    51-60Create panic or disorder
    +
    61-70Force a horrible decision
    +
    71-80Lure into complacency
    +
    81-90Reveal the root of the sickness
    +
    91-100Undermine a potential cure
    +
    +
    + +
    +
    Threat: Rampaging Creature
    +
    +
    1-10Reveal a new aspect of its nature or abilities
    +
    11-20Expand its territory
    +
    21-30Make a sudden and brutal attack
    +
    31-40Control or influence lesser creatures
    +
    41-50Create confusion or strife
    +
    51-60Leave foreboding signs
    +
    61-70Lure the unwary
    +
    71-80Imperil an event
    +
    81-90Assert control over a location
    +
    91-100Threaten resources
    +
    +
    + +
    +
    Threat: Ravaging Horde
    +
    +
    1-10Overrun defenses
    +
    11-20Gather resources
    +
    21-30Attack a location
    +
    31-40Expand forces
    +
    41-50Appoint or reveal a leader
    +
    51-60Send forth a champion
    +
    61-70Create a diversion
    +
    71-80Undermine an opposing force from within
    +
    81-90Cut off supplies or reinforcements
    +
    91-100Employ a new weapon
    +
    +
    + +
    +
    Threat: Scheming Leader
    +
    +
    1-10Defeat an enemy
    +
    11-20Form a new alliance
    +
    21-30Usurp or undermine another leader
    +
    31-40Force the loyalty of a community or important person
    +
    41-50Enact a new law or tradition
    +
    51-60Rescind an old law or tradition
    +
    61-70Reveal a true intention
    +
    71-80Unravel an existing alliance
    +
    81-90Incite conflict
    +
    91-100Use an unexpected capability or asset
    +
    +
    + +
    +
    Threat: Power-Hungry Mystic
    +
    +
    1-10Gain hidden knowledge
    +
    11-20Assault an enemy with magic
    +
    21-30Despoil a place through magic
    +
    31-40Forge a bond with ancient forces
    +
    41-50Create magical wards or protections
    +
    51-60Obtain a powerful artifact
    +
    61-70Tempt with power or secrets
    +
    71-80Recruit a follower or ally
    +
    81-90Sacrifice something in exchange for greater power
    +
    91-100Use magic to trick or deceive
    +
    +
    + +
    +
    Threat: Zealous Cult
    +
    +
    1-10Overtake a faction or community
    +
    11-20Unlock secrets to greater power
    +
    21-30Establish false credibility
    +
    31-40Appoint or reveal a leader
    +
    41-50Lure new members or establish alliances
    +
    51-60Subvert opposition through devious schemes
    +
    61-70Attack opposition directly
    +
    71-80Spread the word of its doctrine
    +
    81-90Reveal a dire prophecy
    +
    91-100Reveal its true nature or goal
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +

     SITES 

    +
    +
    +
    +
    +
    +

    Site Name:

    + +
    +
    +

    Objective:

    + +
    +
    +
    +
    +

    Theme:

    + +
    +
    +

    Domain:

    + +
    +
    +
    + + +
    + +
    +
    +
    + + + + + +
    +
    +
    + + + + + + + + + + + + +
    +
    +
    +
    +

     DENIZENS 

    +
    +
    +

    Very Common 01-27

    + +
    +
    +

    Common 28-41

    + +
    +
    +

    Common 42-55

    + +
    +
    +

    Common 56-69

    + +
    +
    +
    +
    +

    Uncommon 70-75

    + +
    +
    +

    Uncommon 76-81

    + +
    +
    +

    Uncommon 82-87

    + +
    +
    +

    Uncommon 88-93

    + +
    +
    +
    +
    +

    Rare 94-95

    + +
    +
    +

    Rare 96-97

    + +
    +
    +

    Rare 98-99

    + +
    +
    +

    Unforeseen 100

    + +
    +
    +
    +
    +

    When the outcome of a move prompts an encounter with a denizen, you may:

    +
    +
    +

    >

    +
    +
    +

    Choose or introduce a denizen based on the situation and what you know of this place.

    +
    +
    +

    or

    +
    +
    +

    Roll on the matrix to generate a random encounter. If the field is blank, add a new denizen.

    +
    +
    +

    or

    +
    +
    +

    Identify a denizen as ‘likely’ to appear, and Ask the Oracle. If the answer is “no,” roll on the matrix.

    +
    +
    +

    or

    +
    +
    +

    Pick two denizens, rate one as ‘likely’, and Ask the Oracle to determine which you encounter.

    +
    +
    +
    +
    +

     NOTES 

    + +
    +
    + +
    +
    +

    Theme

    +
    +
    +
    + + + +
    +

    This place holds the secrets of a bygone age.

    +

    Features

    +
    +
    1-4Evidence of lost knowledge
    +
    5-8Inscrutable relics
    +
    9-12Ancient artistry or craft
    +
    13-16Preserved corpses or fossils
    +
    17-20Visions of this place in another time
    +
    +

    Dangers

    +
    +
    1-5Ancient trap
    +
    6-10Hazardous architecture or terrain
    +
    11-12Blocked or broken path
    +
    13-14Denizen protects an ancient secret
    +
    15-16Denizen reveres an ancient power
    +
    17-18Living relics of a lost age
    +
    19-20Ancient evil resurgent
    +
    21-22Dire warnings of a long-buried danger
    +
    23-24Ancient disease or contamination
    +
    25-26Artifact of terrible meaning or power
    +
    27-28Disturbing evidence of ancient wrongs
    +
    29-30Others seek power or knowledge
    +
    +
    + +
    +

    This place is tainted by dark magic.

    +

    Features

    +
    +
    1-4Mystic focus or conduit
    +
    5-8Strange environmental disturbances
    +
    9-12Mystic runes or markings
    +
    13-16Blight or decay
    +
    17-20Evidence of a foul ritual
    +
    +

    Dangers

    +
    +
    1-5Denizen spawned from dark magic
    +
    6-10Denizen controls dark magic
    +
    11-12Denizen corrupted by dark magic
    +
    13-14Corruption marks you
    +
    15-16Innocents held in thrall
    +
    17-18Revelations of a terrible truth
    +
    19-20Mystic trap or trigger
    +
    21-22Mystic barrier or ward
    +
    23-24Illusions lead you astray
    +
    25-26Dark ritual in progress
    +
    27-28Lingering effects of a dark ritual
    +
    29-30Dread harbingers of a greater magic
    +
    +
    + +
    +

    Foes defend this place against intruders.

    +

    Features

    +
    +
    1-4Camp or quarters
    +
    5-8Guarded location
    +
    9-12Storage or repository
    +
    13-16Work or training area
    +
    17-20Command center or leadership
    +
    +

    Dangers

    +
    +
    1-5Denizen patrols the area
    +
    6-10Denizen on guard
    +
    11-12Denizen ready to sound the alarm
    +
    13-14Denizen sets an ambush
    +
    15-16Denizen lures you into a trap
    +
    17-18Denizens converge on this area
    +
    19-20Pets or underlings
    +
    21-22Unexpected alliance revealed
    +
    23-24Nefarious plans revealed
    +
    25-26Unexpected leader revealed
    +
    27-28Trap
    +
    29-30Alarm trigger
    +
    +
    + +
    +

    The faithful worship here.

    +

    Features

    +
    +
    1-4Temple or altar
    +
    5-8Offerings or atonements
    +
    9-12Religious relic or idol
    +
    13-16Consecrated ground
    +
    17-20Dwellings or gathering place
    +
    +

    Dangers

    +
    +
    1-5Denizen defends their sanctum
    +
    6-10Denizen enacts the will of their god
    +
    11-12Denizen seeks martyrdom
    +
    13-14Secret of the faith is revealed
    +
    15-16Greater purpose is revealed
    +
    17-18Unexpected disciples are revealed
    +
    19-20Divine manifestations
    +
    21-22Aspect of the faith beguiles you
    +
    23-24Unexpected leader is revealed
    +
    25-26Embodiment of a god or myth
    +
    27-28Protective ward or barrier
    +
    29-30Prophecies reveal a dark fate
    +
    +
    + +
    +

    Restless spirits are bound to this place.

    +

    Features

    +
    +
    1-4Tomb or burial site
    +
    5-8Blood was spilled here
    +
    9-12Unnatural mists or darkness
    +
    13-16Messages from beyond the grave
    +
    17-20Apparitions of a person or event
    +
    +

    Dangers

    +
    +
    1-5Denizen haunts this area
    +
    6-10Unsettling sounds or foreboding signs
    +
    11-12Denizen attacks without warning
    +
    13-14Denizen makes a costly demand
    +
    15-16Denizen seizes your body or mind
    +
    17-18Denizen taunts or lures you
    +
    19-20A disturbing truth is revealed
    +
    21-22Frightening visions
    +
    23-24The environment is used against you
    +
    25-26Trickery leads you astray
    +
    27-28True nature of this place is revealed
    +
    29-30Sudden, shocking manifestation
    +
    +
    + +
    +

    Foul creatures dwell here.

    +

    Features

    +
    +
    1-4Inhabited nest
    +
    5-8Abandoned nest
    +
    9-12Ravaged terrain or architecture
    +
    13-16Remains or carrion
    +
    17-20Hoarded food
    +
    +

    Dangers

    +
    +
    1-5Denizens swarm and attack
    +
    6-10Toxic or sickening environment
    +
    11-12Denizen stalks you
    +
    13-14Denizen takes or destroys something
    +
    15-16Denizen reveals surprising cleverness
    +
    17-18Denizen guided by a greater threat
    +
    19-20Denizen blocks the path
    +
    21-22Denizen funnels you down a new path
    +
    23-24Denizen undermines the path
    +
    25-26Denizen lays in wait
    +
    27-28Trap or snare
    +
    29-30Victim’s horrible fate is revealed
    +
    +
    + +
    +

    Time, disaster, or strife have taken their toll.

    +

    Features

    +
    +
    1-4Path of destruction
    +
    5-8Abandoned or ruined dwelling
    +
    9-12Untouched or preserved area
    +
    13-16Traces of what was lost
    +
    17-20Ill-fated victims
    +
    +

    Dangers

    +
    +
    1-5Precarious architecture or terrain
    +
    6-10Imminent collapse or destruction
    +
    11-12Path undermined
    +
    13-14Blocked or broken path
    +
    15-16Vestiges of a destructive force
    +
    17-18Unexpected environmental threat
    +
    19-20Echoes of a troubling past
    +
    21-22Signs of a horrible fate
    +
    23-24Denizen seeks retribution
    +
    25-26Denizen leverages the environment
    +
    27-28Denizen restores what was lost
    +
    29-30Ravages return anew
    +
    +
    + +
    +

    Nature prevails in this place.

    +

    Features

    +
    +
    1-4Denizen’s lair
    +
    5-8Territorial markings
    +
    9-12Impressive flora or fauna
    +
    13-16Hunting ground or watering hole
    +
    17-20Remains or carrion
    +
    +

    Dangers

    +
    +
    1-5Denizen hunts
    +
    6-10Denizen strikes without warning
    +
    11-12Denizen leverages the environment
    +
    13-14Denizen wields unexpected abilities
    +
    15-16Denizen guided by a greater threat
    +
    17-18Denizen protects something
    +
    19-20Hazardous terrain
    +
    21-22Weather or environmental threat
    +
    23-24Benign aspect becomes a threat
    +
    25-26Overzealous hunter
    +
    27-28Disturbing evidence of a victim’s fate
    +
    29-30Ill-fated victim in danger
    +
    +
    +
    +
    +
    +
    +
    +

    Domain

    +
    +
    +
    + + + +
    +

    The dead are enshrined here.

    +

    Features

    +
    +
    21-43Burial chambers
    +
    44-56Maze of narrow passages
    +
    57-64Shrine
    +
    65-68Stately vault
    +
    69-72Offerings to the dead
    +
    73-76Statuary or tapestries
    +
    77-80Remains of a grave robber
    +
    81-84Mass grave
    +
    85-88Exhumed corpses
    +
    89-98Something unusual or unexpected
    +
    99You transition into a new theme
    +
    100You transition into a new domain
    +
    +

    Dangers

    +
    +
    31-33Denizen guards this area
    +
    34-36Trap
    +
    37-39Death makes its presence known
    +
    40-42Crumbling architecture
    +
    43-45Grave goods with hidden dangers
    +
    +
    + +
    +

    A place of stone and darkness.

    +

    Features

    +
    +
    21-43Twisting passages
    +
    44-56Cramped caves
    +
    57-64Vast chamber
    +
    65-68Subterranean waterway
    +
    69-72Cave pool
    +
    73-76Natural bridge
    +
    77-80Towering stone formations
    +
    81-84Natural illumination
    +
    85-88Dark pit
    +
    89-98Something unusual or unexpected
    +
    99You transition into a new theme
    +
    100You transition into a new domain
    +
    +

    Dangers

    +
    +
    31-33Denizen lairs here
    +
    34-36Cave-in
    +
    37-39Flooding
    +
    40-42Perilous climb or descent
    +
    43-45Fissure or sinkhole
    +
    +
    + +
    +

    A place of deep caves and enduring cold.

    +

    Features

    +
    +
    21-43Maze of icy tunnels
    +
    44-56Glistening cave
    +
    57-64Vast chamber
    +
    65-68Frigid waterway
    +
    69-72Icy pools
    +
    73-76Magnificent ice formations
    +
    77-80Frozen waterfall
    +
    81-84Deep crevasses
    +
    85-88Discovery locked in the ice
    +
    89-98Something unusual or unexpected
    +
    99You transition into a new theme
    +
    100You transition into a new domain
    +
    +

    Dangers

    +
    +
    31-33Denizen lairs here
    +
    34-36Fracturing ice
    +
    37-39Crumbling chasm
    +
    40-42Bitter chill
    +
    43-45Disorienting reflections
    +
    +
    + +
    +

    A frigid landscape formed of frozen seas.

    +

    Features

    +
    +
    21-43Plains of ice and snow
    +
    44-56Seawater channel
    +
    57-64Icy highlands
    +
    65-68Crevasse
    +
    69-72Ice floes
    +
    73-76Ship trapped in ice
    +
    77-80Animal herd or habitat
    +
    81-84Frozen carcass
    +
    85-88Camp or outpost
    +
    89-98Something unusual or unexpected
    +
    99You transition into a new theme
    +
    100You transition into a new domain
    +
    +

    Dangers

    +
    +
    31-33Denizen hunts
    +
    34-36Fragile ice above watery depths
    +
    37-39Perilous climb or descent
    +
    40-42Avalanche or icefall
    +
    43-45Foul weather
    +
    +
    + +
    +

    Tunnels dug greedily and deep.

    +

    Features

    +
    +
    21-43Cramped tunnels
    +
    44-56Mine works
    +
    57-64Excavated chamber
    +
    65-68Mineshaft
    +
    69-72Collapsed tunnel
    +
    73-76Cluttered storage
    +
    77-80Housing or common areas
    +
    81-84Flooded chamber
    +
    85-88Unearthed secret
    +
    89-98Something unusual or unexpected
    +
    99You transition into a new theme
    +
    100You transition into a new domain
    +
    +

    Dangers

    +
    +
    31-33Cave-in
    +
    34-36Flooding
    +
    37-39Unstable platforms or architecture
    +
    40-42Hazardous gas pocket
    +
    43-45Weakened terrain
    +
    +
    + +
    +

    Treacherous paths over high mountains.

    +

    Features

    +
    +
    21-43Winding mountain path
    +
    44-56Snowfield or glacial rocks
    +
    57-64River gorge
    +
    65-68Crashing waterfall
    +
    69-72Highland lake
    +
    73-76Forgotten cairn
    +
    77-80Bridge
    +
    81-84Overlook
    +
    85-88Camp or outpost
    +
    89-98Something unusual or unexpected
    +
    99You transition into a new theme
    +
    100You transition into a new domain
    +
    +

    Dangers

    +
    +
    31-33Denizen lairs here
    +
    34-36Denizen hunts
    +
    37-39Perilous climb or descent
    +
    40-42Avalanche or rockslide
    +
    43-45Foul weather
    +
    +
    + +
    +

    The crumbling legacy of a dead civilization.

    +

    Features

    +
    +
    21-43Crumbling corridors and chambers
    +
    44-56Collapsed architecture
    +
    57-64Rubble-choked hall
    +
    65-68Courtyard
    +
    69-72Archive or library
    +
    73-76Broken statuary or fading murals
    +
    77-80Preserved vault
    +
    81-84Temple to forgotten gods
    +
    85-88Mausoleum
    +
    89-98Something unusual or unexpected
    +
    99You transition into a new theme
    +
    100You transition into a new domain
    +
    +

    Dangers

    +
    +
    31-33Ancient mechanism or trap
    +
    34-36Collapsing wall or ceiling
    +
    37-39Blocked or broken passage
    +
    40-42Unstable floor above a new danger
    +
    43-45Ancient secrets best left buried
    +
    +
    + +
    +

    Stone passages carved by ocean waves.

    +

    Features

    +
    +
    21-43Watery tunnels
    +
    44-56Eroded chamber
    +
    57-64Flooded chamber
    +
    65-68Vast chamber
    +
    69-72Dry passages
    +
    73-76Freshwater inlet
    +
    77-80Rocky island
    +
    81-84Waterborne debris
    +
    85-88Shipwreck or boat
    +
    89-98Something unusual or unexpected
    +
    99You transition into a new theme
    +
    100You transition into a new domain
    +
    +

    Dangers

    +
    +
    31-33Denizen strikes without warning
    +
    34-36Denizen lurks below
    +
    37-39Flooding
    +
    40-42Rushing current
    +
    43-45Claustrophobic squeeze
    +
    +
    + +
    +

    A primeval marsh, cloaked in mist.

    +

    Features

    +
    +
    21-43Narrow path through a fetid bog
    +
    44-56Stagnant waterway
    +
    57-64Flooded thicket
    +
    65-68Island of dry land
    +
    69-72Submerged discovery
    +
    73-76Preserved corpses
    +
    77-80Overgrown structure
    +
    81-84Tall reeds
    +
    85-88Camp or outpost
    +
    89-98Something unusual or unexpected
    +
    99You transition into a new theme
    +
    100You transition into a new domain
    +
    +

    Dangers

    +
    +
    31-33Denizen hunts
    +
    34-36Deep water blocks the path
    +
    37-39Toxic environment
    +
    40-42Concealing or disorienting mist
    +
    43-45Hidden quagmire
    +
    +
    + +
    +

    A fortress secured against trespassers.

    +

    Features

    +
    +
    21-43Connecting passageways
    +
    44-56Barracks or common quarters
    +
    57-64Large hall
    +
    65-68Workshop or library
    +
    69-72Command center or leadership
    +
    73-76Ladder or stairwell
    +
    77-80Storage
    +
    81-84Kitchen or larder
    +
    85-88Courtyard
    +
    89-98Something unusual or unexpected
    +
    99You transition into a new theme
    +
    100You transition into a new domain
    +
    +

    Dangers

    +
    +
    31-33Blocked or guarded path
    +
    34-36Caught in the open
    +
    37-39Chokepoint
    +
    40-42Trap
    +
    43-45Alarm trigger
    +
    +
    + +
    +

    A perilous forest of eternal shadow.

    +

    Features

    +
    +
    21-43Dense thicket
    +
    44-56Overgrown path
    +
    57-64Waterway
    +
    65-68Clearing
    +
    69-72Elder tree
    +
    73-76Brambles
    +
    77-80Overgrown structure
    +
    81-84Rocky outcrop
    +
    85-88Camp or outpost
    +
    89-98Something unusual or unexpected
    +
    99You transition into a new theme
    +
    100You transition into a new domain
    +
    +

    Dangers

    +
    +
    31-33Denizen hunts
    +
    34-36Denizen lairs here
    +
    37-39Trap or snare
    +
    40-42Path leads you astray
    +
    43-45Entangling plant life
    +
    +
    + +
    +

    An age-old subterranean dungeon.

    +

    Features

    +
    +
    21-43Carved passages
    +
    44-56Hall or chamber
    +
    57-64Stairs into the depths
    +
    65-68Grand doorway or entrance
    +
    69-72Tomb or catacombs
    +
    73-76Rough-hewn cave
    +
    77-80Foundry or workshop
    +
    81-84Shrine or temple
    +
    85-88Imposing architecture or artistry
    +
    89-98Something unusual or unexpected
    +
    99You transition into a new theme
    +
    100You transition into a new domain
    +
    +

    Dangers

    +
    +
    31-33Ancient mechanism or trap
    +
    34-36Crumbling architecture
    +
    37-39Blocked or broken passage
    +
    40-42Artifact with a hidden danger
    +
    43-45Denizen lurks in darkness
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +

     SETTINGS 

    +
    +
    + +
    + +
    +
    {{header}}
    {{#custom-oracle}} +
    +
    {{custom-oracle}}
    +
    {{/custom-oracle}} + + {{#revealADangerCategory}} +
    +
    {{revealADangerCategory}}
    +
    + {{#rollBetween() revealADangerCategory 1 25}} + Worsening of the Situation + {{/rollBetween() revealADangerCategory 1 25}} + {{#rollBetween() revealADangerCategory 26 60}} + Unfavorable Road + {{/rollBetween() revealADangerCategory 26 60}} + {{#rollBetween() revealADangerCategory 61 100}} + Hostile Character Encounter + {{/rollBetween() revealADangerCategory 61 100}} +
    +
    + {{/revealADangerCategory}} + + {{#revealADangerSituation}} +
    +
    {{revealADangerSituation}}
    +
    + {{#rollBetween() revealADangerSituation 1 13}} + A portion of an edible resource got spoiled or lost. Suffer -1 supply. If your supply is 0, reroll on this table. + {{/rollBetween() revealADangerSituation 1 13}} + {{#rollBetween() revealADangerSituation 14 24}} + The travel is taking longer than expected. Suffer -1 momentum. + {{/rollBetween() revealADangerSituation 14 24}} + {{#rollBetween() revealADangerSituation 25 34}} + The trip was tough and left you tired. Endure Harm (1d4P harm). + {{/rollBetween() revealADangerSituation 25 34}} + {{#rollBetween() revealADangerSituation 35 42}} + The travel has drained your energies. Endure Harm (1d4P harm) and take the weakened (severity +1) condition. + {{/rollBetween() revealADangerSituation 35 42}} + {{#rollBetween() revealADangerSituation 43 50}} + The travel has left you stressed or mentally fatigued. Endure Stress (1d2 stress). + {{/rollBetween() revealADangerSituation 43 50}} + {{#rollBetween() revealADangerSituation 51 57}} + A friend or companion starts arguing for previous acts or complaining about the rough travel. Suffer -1d3 to their loyalty. If you don't have a companion, reroll on this table. + {{/rollBetween() revealADangerSituation 51 57}} + {{#rollBetween() revealADangerSituation 58 64}} + You realize you lost some valuable goods on the way. Suffer -2 wealth. If your wealth is reduced to 0, suffer -momentum to any remaining -wealth. + {{/rollBetween() revealADangerSituation 58 64}} + {{#rollBetween() revealADangerSituation 65 71}} + You realize too late that the supply container is broken and has a leak. Suffer -2 supply. + {{/rollBetween() revealADangerSituation 65 71}} + {{#rollBetween() revealADangerSituation 72 77}} + You realize you lost one of your valuable items on the way. Suffer -1 wealth. If your wealth is 0, reroll on this table. + {{/rollBetween() revealADangerSituation 72 77}} + {{#rollBetween() revealADangerSituation 78 83}} + You realize that one of the items you thought to be valuable, is actually not, or not worthy in its current state. Suffer -1 wealth and -1 momentum. If your wealth is an its minimum (0), reroll on this table. + {{/rollBetween() revealADangerSituation 78 83}} + {{#rollBetween() revealADangerSituation 84 89}} + You make a discovery that complicates one of your quests. Suffer -2 momentum. + {{/rollBetween() revealADangerSituation 84 89}} + {{#rollBetween() revealADangerSituation 90 94}} + A piece of equipment loses durability. Reduce any of your armor’s or shield’s values by 1. If you have no armor or shield item, reroll on this table. + {{/rollBetween() revealADangerSituation 90 94}} + {{#rollBetween() revealADangerSituation 95 97}} + You start suffering from muscle cramp, sprain or strain. Endure Harm (1d4P harm) and take the palsied (severity 1) condition. + {{/rollBetween() revealADangerSituation 95 97}} + {{#rollBetween() revealADangerSituation 98 99}} + You realize that one of your conditional companions is no longer by your side. Suffer -1 momentum. If you don't have a conditional companion, reroll on this table. + {{/rollBetween() revealADangerSituation 98 99}} + {{#rollTotal() revealADangerSituation 100}} + Roll twice more on this table. Both results occur. If they are the same result, double its effect. + {{/rollTotal() revealADangerSituation 100}} +
    +
    + {{/revealADangerSituation}} + + {{#revealADangerRoad}} +
    +
    {{revealADangerRoad}}
    +
    + {{#rollBetween() revealADangerRoad 1 13}} + The terrain or the weather plays against you, hindering you. Subtract -1 to your next move. Take the hyperthermic or hypothermic condition if appropriate. + {{/rollBetween() revealADangerRoad 1 13}} + {{#rollBetween() revealADangerRoad 14 25}} + An environmental hazard forces you to pass through this area in a precarious manner. If you make a move to resolve this danger, subtract -1. + {{/rollBetween() revealADangerRoad 14 25}} + {{#rollBetween() revealADangerRoad 26 35}} + Whether it is human made or a fortuity of nature, you, or someone with you, is victim of a trap. If you make a move of resolve this danger, subtract -1. + {{/rollBetween() revealADangerRoad 26 35}} + {{#rollBetween() revealADangerRoad 36 44}} + You suffer some bruises on the way. Endure Harm (1d4 harm). + {{/rollBetween() revealADangerRoad 36 44}} + {{#rollBetween() revealADangerRoad 45 52}} + You consumed some resources, and this road lacks sources to replenish from. Suffer -1 supply. If you Resupply, count a strong hit as a weak hit, and a weak hit as a miss. + {{/rollBetween() revealADangerRoad 45 52}} + {{#rollBetween() revealADangerRoad 53 60}} + The travel has been mentally grueling. Endure Stress (1 stress). If you Hearten, count a strong hit as a weak hit, and a weak hit as a miss. + {{/rollBetween() revealADangerRoad 53 60}} + {{#rollBetween() revealADangerRoad 61 68}} + You have not reached your waypoint yet, and this stop is too precarious to rest safely. If you Make Camp, count a strong hit as a weak hit, and a weak hit as a miss. + {{/rollBetween() revealADangerRoad 61 68}} + {{#rollBetween() revealADangerRoad 69 75}} + The path is broken and there doesn't seem to be a lead to follow it. Subtract -1 next time you Undertake a Journey for this travel. + {{/rollBetween() revealADangerRoad 69 75}} + {{#rollBetween() revealADangerRoad 76 81}} + An obstacle is blocking the path you intend to follow. Subtract -1 for your next move to resolve the obstacle or suffer -2 momentum causing a delay on your travel. + {{/rollBetween() revealADangerRoad 76 81}} + {{#rollBetween() revealADangerRoad 82 86}} + The path has a disturbing ambience or you find the horrible fate of a victim of this place. Endure Stress (1d4 stress). + {{/rollBetween() revealADangerRoad 82 86}} + {{#rollBetween() revealADangerRoad 87 90}} + The environment undermines the path or the weather is disorienting, and you find difficult to recognize the track. Subtract -2 next time you Undertake a Journey for this travel. + {{/rollBetween() revealADangerRoad 87 90}} + {{#rollBetween() revealADangerRoad 91 94}} + Whether it was something you ate or something in the surroundings, you are now ill. Endure Harm (1d4P harm) and take the poisoned (severity +1) condition. + {{/rollBetween() revealADangerRoad 91 94}} + {{#rollBetween() revealADangerRoad 95 97}} + Whether it was something you ate or something in the surroundings, you got poisoned. Take the poisoned (severity +2) condition. + {{/rollBetween() revealADangerRoad 95 97}} + {{#rollBetween() revealADangerRoad 98 99}} + You realized you have been following the wrong path, and trickery leads have left you astray. Clear 1d2 progress boxes in the journey track. Next time you Undertake a Journey, you don’t mark progress if you score a hit. + {{/rollBetween() revealADangerRoad 98 99}} + {{#rollTotal() revealADangerRoad 100}} + Roll twice more on this table. Both results occur. If they are the same result, double its effect. + {{/rollTotal() revealADangerRoad 100}} +
    +
    + {{/revealADangerRoad}} + + {{#revealADangerEncounter}} +
    +
    {{revealADangerEncounter}}
    +
    + {{#rollBetween() revealADangerEncounter 1 13}} + You converge with one or multiple travelers or denizens in this area, facing off. + {{/rollBetween() revealADangerEncounter 1 13}} + {{#rollBetween() revealADangerEncounter 14 26}} + One or multiple unaware travelers or denizens are guarding this area, either laid in wait, patrolling or working. + {{/rollBetween() revealADangerEncounter 14 26}} + {{#rollBetween() revealADangerEncounter 27 39}} + You're ambushed, or attacked without warning. + {{/rollBetween() revealADangerEncounter 27 39}} + {{#rollBetween() revealADangerEncounter 40 51}} + Your presence has caught the attention of one or multiple travelers or denizens in the area. + {{/rollBetween() revealADangerEncounter 40 51}} + {{#rollBetween() revealADangerEncounter 52 63}} + Your arrival to this area has been expected. + {{/rollBetween() revealADangerEncounter 52 63}} + {{#rollBetween() revealADangerEncounter 64 75}} + You sense one or multiple presences lurking or stalking. + {{/rollBetween() revealADangerEncounter 64 75}} + {{#rollBetween() revealADangerEncounter 76 85}} + One or multiple unaware travelers or denizens are blocking or undermining the path in some way. + {{/rollBetween() revealADangerEncounter 76 85}} + {{#rollBetween() revealADangerEncounter 86 93}} + You find one or multiple travelers or denizens in unfavorable circumstances. + {{/rollBetween() revealADangerEncounter 86 93}} + {{#rollBetween() revealADangerEncounter 94 98}} + You find one or multiple travelers or denizens’ pets or underlings. + {{/rollBetween() revealADangerEncounter 94 98}} + {{#rollBetween() revealADangerEncounter 99 100}} + Roll twice more on this table, and use one result. + {{/rollBetween() revealADangerEncounter 99 100}} +
    +
    + {{/revealADangerEncounter}} + + {{#findAnOpportunityCategory}} +
    +
    {{findAnOpportunityCategory}}
    +
    + {{#rollBetween() findAnOpportunityCategory 1 55}} + Favorable Area. + {{/rollBetween() findAnOpportunityCategory 1 55}} + {{#rollBetween() findAnOpportunityCategory 56 80}} + Benign Character Encounter. + {{/rollBetween() findAnOpportunityCategory 56 80}} + {{#rollBetween() findAnOpportunityCategory 81 100}} + Item Finding + {{/rollBetween() findAnOpportunityCategory 81 100}} +
    +
    + {{/findAnOpportunityCategory}} + + {{#findAnOpportunityArea}} +
    +
    {{findAnOpportunityArea}}
    +
    + {{#rollBetween() findAnOpportunityArea 1 11}} + The travel took shorter than expected. Take +1 momentum. + {{/rollBetween() findAnOpportunityArea 1 11}} + {{#rollBetween() findAnOpportunityArea 12 20}} + Elements of this area can be used to leverage your travel. If you Undertake a Journey, you may reroll any dice. + {{/rollBetween() findAnOpportunityArea 12 20}} + {{#rollBetween() findAnOpportunityArea 21 28}} + There is a path that seems to lead towards your destination. If you follow it, add +2 when you Undertake a Journey. + {{/rollBetween() findAnOpportunityArea 21 28}} + {{#rollBetween() findAnOpportunityArea 29 35}} + The travel has cleared your mind. If you Hearten, reroll any dice. + {{/rollBetween() findAnOpportunityArea 29 35}} + {{#rollBetween() findAnOpportunityArea 36 42}} + This seems to be an ideal place to find a moment of peace. If you Hearten, add +2. + {{/rollBetween() findAnOpportunityArea 36 42}} + {{#rollBetween() findAnOpportunityArea 43 49}} + This seems to be an ideal place to bolster your reserves. If you Resupply, add +2. + {{/rollBetween() findAnOpportunityArea 43 49}} + {{#rollBetween() findAnOpportunityArea 50 55}} + This seems to be a place safe enough to rest and recover for several hours. If you Make Camp, add +2. + {{/rollBetween() findAnOpportunityArea 50 55}} + {{#rollBetween() findAnOpportunityArea 56 61}} + You find a healthy settlement. If you Sojourn, add +1. + {{/rollBetween() findAnOpportunityArea 56 61}} + {{#rollBetween() findAnOpportunityArea 62 66}} + This area offers a captivating ambience or comfortable environment. If you Hearten, take +1 spirit on a hit. + {{/rollBetween() findAnOpportunityArea 62 66}} + {{#rollBetween() findAnOpportunityArea 67 71}} + This area offers enough to bolster your reserves if you dedicate enough to it. If you Resupply and score hit, you may suffer -1 momentum in exchange for +1 supply. + {{/rollBetween() findAnOpportunityArea 67 71}} + {{#rollBetween() findAnOpportunityArea 72 76}} + This waypoint offers more than needed for a modest rest. If you Make Camp, and score a hit, you may choose an extra option. + {{/rollBetween() findAnOpportunityArea 72 76}} + {{#rollBetween() findAnOpportunityArea 77 80}} + You seem to be closer to your destination than expected. Mark an additional progress in your journey track. + {{/rollBetween() findAnOpportunityArea 77 80}} + {{#rollBetween() findAnOpportunityArea 81 83}} + This area offers just what you need to camp. If you Make Camp, you may reroll any dice. + {{/rollBetween() findAnOpportunityArea 81 83}} + {{#rollBetween() findAnOpportunityArea 84 86}} + You reach this waypoint just at an opportune time to bolster your reserves. If you Resupply now, you may reroll any dice. + {{/rollBetween() findAnOpportunityArea 84 86}} + {{#rollBetween() findAnOpportunityArea 87 88}} + There is a hidden passage that could be a shortcut. If you Reach Your Destination, you may reroll any dice. + {{/rollBetween() findAnOpportunityArea 87 88}} + {{#rollBetween() findAnOpportunityArea 89 96}} + You reach a location of interest related to one of your quests or that might lead to one. Take +2 momentum. + {{/rollBetween() findAnOpportunityArea 89 96}} + {{#rollBetween() findAnOpportunityArea 97 98}} + Choose one result from this table. + {{/rollBetween() findAnOpportunityArea 97 98}} + {{#rollBetween() findAnOpportunityArea 99 100}} + Roll twice more on this table. Both results occur. + {{/rollBetween() findAnOpportunityArea 99 100}} +
    +
    + {{/findAnOpportunityArea}} + + {{#findAnOpportunityCharacter}} +
    +
    {{findAnOpportunityCharacter}}
    +
    + {{#rollBetween() findAnOpportunityCharacter 1 16}} + You encounter a traveler or denizen who might provide you guide in exchange for something of value. If you agree, suffer -1 wealth or -2 supply (your choice) in exchange for adding +3 next time you Undertake a Journey for this travel. + {{/rollBetween() findAnOpportunityCharacter 1 16}} + {{#rollBetween() findAnOpportunityCharacter 17 30}} + You encounter a traveler or denizen willing to provide you guide and supply. If he does, add +1 next time you Undertake a Journey for this travel and take +1 supply. + {{/rollBetween() findAnOpportunityCharacter 17 30}} + {{#rollBetween() findAnOpportunityCharacter 31 38}} + You encounter a traveler or denizen who might provide you health care in exchange for something of value. If you agree, suffer -1 wealth or -2 supply (your choice) in exchange for making the Hearten move now and add +3. + {{/rollBetween() findAnOpportunityCharacter 31 38}} + {{#rollBetween() findAnOpportunityCharacter 39 46}} + You encounter a traveler or denizen who might rise your spirit in exchange for something of value. If you agree, suffer -1 wealth or -2 supply (your choice) in exchange for making the Heal move now and add +3. + {{/rollBetween() findAnOpportunityCharacter 39 46}} + {{#rollBetween() findAnOpportunityCharacter 47 53}} + You encounter a traveler or denizen willing to rise your spirit. If he does, Hearten now and add +2. + {{/rollBetween() findAnOpportunityCharacter 47 53}} + {{#rollBetween() findAnOpportunityCharacter 54 60}} + You encounter a traveler or denizen willing to give you first aid. If he does, Heal now and add +2. + {{/rollBetween() findAnOpportunityCharacter 54 60}} + {{#rollBetween() findAnOpportunityCharacter 61 70}} + You encounter a provision trader. + {{/rollBetween() findAnOpportunityCharacter 61 70}} + {{#rollBetween() findAnOpportunityCharacter 71 75}} + You encounter an equipment trader. + {{/rollBetween() findAnOpportunityCharacter 71 75}} + {{#rollBetween() findAnOpportunityCharacter 76 79}} + You encounter a traveler or denizen with the potential of being a conditional companion with the goal of serving as hireling and the drive of getting wealth. If you Take a Conditional Companion, add +1. + {{/rollBetween() findAnOpportunityCharacter 76 79}} + {{#rollBetween() findAnOpportunityCharacter 80 83}} + You encounter a traveler or denizen with the potential of being a conditional companion. Take +1 momentum. + {{/rollBetween() findAnOpportunityCharacter 80 83}} + {{#rollBetween() findAnOpportunityCharacter 84 86}} + You encounter one or more travelers or denizens in need for help and with the means to reward you. + {{/rollBetween() findAnOpportunityCharacter 84 86}} + {{#rollBetween() findAnOpportunityCharacter 87 95}} + You encounter one or more characters related to one of you quests or that might lead to one. Take +2 momentum. + {{/rollBetween() findAnOpportunityCharacter 87 95}} + {{#rollBetween() findAnOpportunityCharacter 96 98}} + Roll twice more on this table. Use one result. + {{/rollBetween() findAnOpportunityCharacter 96 98}} + {{#rollBetween() findAnOpportunityCharacter 99 100}} + Choose one result from this table. + {{/rollBetween() findAnOpportunityCharacter 99 100}} +
    +
    + {{/findAnOpportunityCharacter}} + + {{#findAnOpportunityItem}} +
    +
    {{findAnOpportunityItem}}
    +
    + {{#rollBetween() findAnOpportunityItem 1 14}} + You find resources that bolster your reserves. Take +1 supply. + {{/rollBetween() findAnOpportunityItem 1 14}} + {{#rollBetween() findAnOpportunityItem 15 26}} + You find resources that bolster your reserves. Take +2 supply. + {{/rollBetween() findAnOpportunityItem 15 26}} + {{#rollBetween() findAnOpportunityItem 27 35}} + You find some valuable goods. Take +2 wealth. + {{/rollBetween() findAnOpportunityItem 27 35}} + {{#rollBetween() findAnOpportunityItem 36 42}} + You find some valuable goods. Take +2 wealth. + {{/rollBetween() findAnOpportunityItem 36 42}} + {{#rollBetween() findAnOpportunityItem 43 47}} + You find a consumable item of your choice or as appropriate to the circumstances. + {{/rollBetween() findAnOpportunityItem 43 47}} + {{#rollBetween() findAnOpportunityItem 48 51}} + You find two consumable items of your choice or as appropriate to the circumstances. + {{/rollBetween() findAnOpportunityItem 48 51}} + {{#rollBetween() findAnOpportunityItem 52 56}} + You find a weapon of cost d4 wealth cost or less of your choice as appropriate to the circumstances. + {{/rollBetween() findAnOpportunityItem 52 56}} + {{#rollBetween() findAnOpportunityItem 57 59}} + You find a weapon of cost d6 wealth or less of your choice as appropriate to the circumstances. + {{/rollBetween() findAnOpportunityItem 57 59}} + {{#rollBetween() findAnOpportunityItem 60 61}} + You find a weapon of cost d8+1 wealth or less of your choice as appropriate to the circumstances. + {{/rollBetween() findAnOpportunityItem 60 61}} + {{#rollBetween() findAnOpportunityItem 62 64}} + You find a shield of cost d4+1 wealth or less of your choice as appropriate to the circumstances. + {{/rollBetween() findAnOpportunityItem 62 64}} + {{#rollBetween() findAnOpportunityItem 65 66}} + You find a shield of cost d6+1 wealth or less of your choice as appropriate to the circumstances. + {{/rollBetween() findAnOpportunityItem 65 66}} + {{#rollBetween() findAnOpportunityItem 67 69}} + You find an armor of cost 1d4+3 wealth or less of your choice or as appropriate to the circumstances. + {{/rollBetween() findAnOpportunityItem 67 69}} + {{#rollBetween() findAnOpportunityItem 70 71}} + You find an armor of cost 1d6+3 wealth or less of your choice as appropriate to the circumstances. + {{/rollBetween() findAnOpportunityItem 70 71}} + {{#rollTotal() findAnOpportunityItem 72}} + You find an armor of cost 2d4+2 wealth or less of your choice as appropriate to the circumstances. + {{/rollTotal() findAnOpportunityItem 72}} + {{#rollBetween() findAnOpportunityItem 73 80}} + You find an addon of your choice or as appropriate to the circumstances. + {{/rollBetween() findAnOpportunityItem 73 80}} + {{#rollBetween() findAnOpportunityItem 81 89}} + You find an item of interest related to one of your quests or that might lead to one. Take +2 momentum. + {{/rollBetween() findAnOpportunityItem 81 89}} + {{#rollBetween() findAnOpportunityItem 90 100}} + Roll twice more on this table. Both results occur. + {{/rollBetween() findAnOpportunityItem 90 100}} +
    +
    + {{/findAnOpportunityItem}} + + {{#ManifestInsanityCategory}} +
    +
    {{ManifestInsanityCategory}}
    +
    + {{#rollBetween() ManifestInsanityCategory 1 70}} + Short-term Insanity + {{/rollBetween() ManifestInsanityCategory 1 70}} + {{#rollBetween() ManifestInsanityCategory 71 100}} + Long-term Insanity + {{/rollBetween() ManifestInsanityCategory 71 100}} +
    +
    + {{/ManifestInsanityCategory}} + + {{#ManifestInsanityShort}} +
    +
    {{ManifestInsanityShort}}
    +
    + {{#rollBetween() ManifestInsanityShort 1 28}} + You get scared, and your next move should imply to flee as far as possible from the source of the fear or danger. + {{/rollBetween() ManifestInsanityShort 1 28}} + {{#rollBetween() ManifestInsanityShort 29 51}} + Your spirit is overwhelmed. Take the dazed condition. + {{/rollBetween() ManifestInsanityShort 29 51}} + {{#rollBetween() ManifestInsanityShort 52 69}} + You show hysteric and emotional outburst by screaming, laughing, crying. Every other ally and companion must Endure Stress (1d2 stress) as a result. + {{/rollBetween() ManifestInsanityShort 52 69}} + {{#rollBetween() ManifestInsanityShort 70 87}} + You begin babbling, coherently (logorrhoea) or incoherently. Your words show abuse, fear, hopelessness, irrationality or selfishness. Every other ally and companion must Endure Stress (1d3 stress) as a result. + {{/rollBetween() ManifestInsanityShort 70 87}} + {{#rollBetween() ManifestInsanityShort 88 95}} + You Inflict Harm on yourself. + {{/rollBetween() ManifestInsanityShort 88 95}} + {{#rollBetween() ManifestInsanityShort 96 100}} + You faint. Take the unconscious condition. + {{/rollBetween() ManifestInsanityShort 96 100}} +
    +
    + {{/ManifestInsanityShort}} + + {{#ManifestInsanityLong}} +
    +
    {{ManifestInsanityLong}}
    +
    + {{#rollBetween() ManifestInsanityLong 1 15}} + Take the phobiac (severity 4) condition. + {{/rollBetween() ManifestInsanityLong 1 15}} + {{#rollBetween() ManifestInsanityLong 16 29}} + Take the attached (severity 4) condition. + {{/rollBetween() ManifestInsanityLong 16 29}} + {{#rollBetween() ManifestInsanityLong 30 36}} + Take the hallucinating (severity 2) condition. + {{/rollBetween() ManifestInsanityLong 30 36}} + {{#rollBetween() ManifestInsanityLong 37 53}} + Take the compulsed (severity 4) condition. + {{/rollBetween() ManifestInsanityLong 37 53}} + {{#rollBetween() ManifestInsanityLong 54 57}} + You start suffering psychosomatic deafness. Take the deafened (severity +1) condition. + {{/rollBetween() ManifestInsanityLong 54 57}} + {{#rollBetween() ManifestInsanityLong 58 60}} + You start suffering psychosomatic blindness. Take the blind (severity +1) condition. + {{/rollBetween() ManifestInsanityLong 58 60}} + {{#rollBetween() ManifestInsanityLong 61 73}} + Take the mute condition. + {{/rollBetween() ManifestInsanityLong 61 73}} + {{#rollBetween() ManifestInsanityLong 74 85}} + You retreat into your mind, in a stupor state, assuming fetal position if not immediate danger is around, oblivious to events around you. Take the dazed, mute, shaken and unsteady (shaky) conditions. + {{/rollBetween() ManifestInsanityLong 74 85}} + {{#rollBetween() ManifestInsanityLong 86 93}} + You become catatonic. Take the dazed, mute and numb (severity +1) conditions. + {{/rollBetween() ManifestInsanityLong 86 93}} + {{#rollBetween() ManifestInsanityLong 94 98}} + Take the amok (severity 3) condition. Then, Clash the nearest target, whether they are an ally, companion, foe or else. + {{/rollBetween() ManifestInsanityLong 94 98}} + {{#rollBetween() ManifestInsanityLong 99 00}} + Take the amnesiac (severity 5) condition. + {{/rollBetween() ManifestInsanityLong 99 00}} +
    +
    + {{/ManifestInsanityLong}} +
    +
    + +
    +
    {{header}}
    {{#custom-oracle}} +
    +
    {{custom-oracle}}
    +
    {{/custom-oracle}} + {{#action}} +
    +
    {{action}}
    +
    {{#rollTotal() action 1}}Scheme{{/rollTotal() action 1}} + {{#rollTotal() action 2}}Clash{{/rollTotal() action 2}} + {{#rollTotal() action 3}}Weaken{{/rollTotal() action 3}} + {{#rollTotal() action 4}}Initiate{{/rollTotal() action 4}} + {{#rollTotal() action 5}}Create{{/rollTotal() action 5}} + {{#rollTotal() action 6}}Swear{{/rollTotal() action 6}} + {{#rollTotal() action 7}}Avenge{{/rollTotal() action 7}} + {{#rollTotal() action 8}}Guard{{/rollTotal() action 8}} + {{#rollTotal() action 9}}Defeat{{/rollTotal() action 9}} + {{#rollTotal() action 10}}Control{{/rollTotal() action 10}} + {{#rollTotal() action 11}}Break{{/rollTotal() action 11}} + {{#rollTotal() action 12}}Risk{{/rollTotal() action 12}} + {{#rollTotal() action 13}}Surrender{{/rollTotal() action 13}} + {{#rollTotal() action 14}}Inspect{{/rollTotal() action 14}} + {{#rollTotal() action 15}}Raid{{/rollTotal() action 15}} + {{#rollTotal() action 16}}Evade{{/rollTotal() action 16}} + {{#rollTotal() action 17}}Assault{{/rollTotal() action 17}} + {{#rollTotal() action 18}}Deflect{{/rollTotal() action 18}} + {{#rollTotal() action 19}}Threaten{{/rollTotal() action 19}} + {{#rollTotal() action 20}}Attack{{/rollTotal() action 20}} + {{#rollTotal() action 21}}Leave{{/rollTotal() action 21}} + {{#rollTotal() action 22}}Preserve{{/rollTotal() action 22}} + {{#rollTotal() action 23}}Manipulate{{/rollTotal() action 23}} + {{#rollTotal() action 24}}Remove{{/rollTotal() action 24}} + {{#rollTotal() action 25}}Eliminate{{/rollTotal() action 25}} + {{#rollTotal() action 26}}Withdraw{{/rollTotal() action 26}} + {{#rollTotal() action 27}}Abandon{{/rollTotal() action 27}} + {{#rollTotal() action 28}}Investigate{{/rollTotal() action 28}} + {{#rollTotal() action 29}}Hold{{/rollTotal() action 29}} + {{#rollTotal() action 30}}Focus{{/rollTotal() action 30}} + {{#rollTotal() action 31}}Uncover{{/rollTotal() action 31}} + {{#rollTotal() action 32}}Breach{{/rollTotal() action 32}} + {{#rollTotal() action 33}}Aid{{/rollTotal() action 33}} + {{#rollTotal() action 34}}Uphold{{/rollTotal() action 34}} + {{#rollTotal() action 35}}Falter{{/rollTotal() action 35}} + {{#rollTotal() action 36}}Suppress{{/rollTotal() action 36}} + {{#rollTotal() action 37}}Hunt{{/rollTotal() action 37}} + {{#rollTotal() action 38}}Share{{/rollTotal() action 38}} + {{#rollTotal() action 39}}Destroy{{/rollTotal() action 39}} + {{#rollTotal() action 40}}Avoid{{/rollTotal() action 40}} + {{#rollTotal() action 41}}Reject{{/rollTotal() action 41}} + {{#rollTotal() action 42}}Demand{{/rollTotal() action 42}} + {{#rollTotal() action 43}}Explore{{/rollTotal() action 43}} + {{#rollTotal() action 44}}Bolster{{/rollTotal() action 44}} + {{#rollTotal() action 45}}Seize{{/rollTotal() action 45}} + {{#rollTotal() action 46}}Mourn{{/rollTotal() action 46}} + {{#rollTotal() action 47}}Reveal{{/rollTotal() action 47}} + {{#rollTotal() action 48}}Gather{{/rollTotal() action 48}} + {{#rollTotal() action 49}}Defy{{/rollTotal() action 49}} + {{#rollTotal() action 50}}Transform{{/rollTotal() action 50}} + {{#rollTotal() action 51}}Persevere{{/rollTotal() action 51}} + {{#rollTotal() action 52}}Serve{{/rollTotal() action 52}} + {{#rollTotal() action 53}}Begin{{/rollTotal() action 53}} + {{#rollTotal() action 54}}Move{{/rollTotal() action 54}} + {{#rollTotal() action 55}}Coordinate{{/rollTotal() action 55}} + {{#rollTotal() action 56}}Resist{{/rollTotal() action 56}} + {{#rollTotal() action 57}}Await{{/rollTotal() action 57}} + {{#rollTotal() action 58}}Impress{{/rollTotal() action 58}} + {{#rollTotal() action 59}}Take{{/rollTotal() action 59}} + {{#rollTotal() action 60}}Oppose{{/rollTotal() action 60}} + {{#rollTotal() action 61}}Capture{{/rollTotal() action 61}} + {{#rollTotal() action 62}}Overwhelm{{/rollTotal() action 62}} + {{#rollTotal() action 63}}Challenge{{/rollTotal() action 63}} + {{#rollTotal() action 64}}Acquire{{/rollTotal() action 64}} + {{#rollTotal() action 65}}Protect{{/rollTotal() action 65}} + {{#rollTotal() action 66}}Finish{{/rollTotal() action 66}} + {{#rollTotal() action 67}}Strengthen{{/rollTotal() action 67}} + {{#rollTotal() action 68}}Restore{{/rollTotal() action 68}} + {{#rollTotal() action 69}}Advance{{/rollTotal() action 69}} + {{#rollTotal() action 70}}Command{{/rollTotal() action 70}} + {{#rollTotal() action 71}}Refuse{{/rollTotal() action 71}} + {{#rollTotal() action 72}}Find{{/rollTotal() action 72}} + {{#rollTotal() action 73}}Deliver{{/rollTotal() action 73}} + {{#rollTotal() action 74}}Hide{{/rollTotal() action 74}} + {{#rollTotal() action 75}}Fortify{{/rollTotal() action 75}} + {{#rollTotal() action 76}}Betray{{/rollTotal() action 76}} + {{#rollTotal() action 77}}Secure{{/rollTotal() action 77}} + {{#rollTotal() action 78}}Arrive{{/rollTotal() action 78}} + {{#rollTotal() action 79}}Affect{{/rollTotal() action 79}} + {{#rollTotal() action 80}}Change{{/rollTotal() action 80}} + {{#rollTotal() action 81}}Defend{{/rollTotal() action 81}} + {{#rollTotal() action 82}}Debate{{/rollTotal() action 82}} + {{#rollTotal() action 83}}Support{{/rollTotal() action 83}} + {{#rollTotal() action 84}}Follow{{/rollTotal() action 84}} + {{#rollTotal() action 85}}Construct{{/rollTotal() action 85}} + {{#rollTotal() action 86}}Locate{{/rollTotal() action 86}} + {{#rollTotal() action 87}}Endure{{/rollTotal() action 87}} + {{#rollTotal() action 88}}Release{{/rollTotal() action 88}} + {{#rollTotal() action 89}}Lose{{/rollTotal() action 89}} + {{#rollTotal() action 90}}Reduce{{/rollTotal() action 90}} + {{#rollTotal() action 91}}Escalate{{/rollTotal() action 91}} + {{#rollTotal() action 92}}Distract{{/rollTotal() action 92}} + {{#rollTotal() action 93}}Journey{{/rollTotal() action 93}} + {{#rollTotal() action 94}}Escort{{/rollTotal() action 94}} + {{#rollTotal() action 95}}Learn{{/rollTotal() action 95}} + {{#rollTotal() action 96}}Communicate{{/rollTotal() action 96}} + {{#rollTotal() action 97}}Depart{{/rollTotal() action 97}} + {{#rollTotal() action 98}}Search{{/rollTotal() action 98}} + {{#rollTotal() action 99}}Charge{{/rollTotal() action 99}} + {{#rollTotal() action 100}}Summon{{/rollTotal() action 100}} +
    +
    {{/action}} + {{#theme}} +
    +
    {{theme}}
    +
    {{#rollTotal() theme 1}}Risk{{/rollTotal() theme 1}} + {{#rollTotal() theme 2}}Ability{{/rollTotal() theme 2}} + {{#rollTotal() theme 3}}Price{{/rollTotal() theme 3}} + {{#rollTotal() theme 4}}Ally{{/rollTotal() theme 4}} + {{#rollTotal() theme 5}}Battle{{/rollTotal() theme 5}} + {{#rollTotal() theme 6}}Safety{{/rollTotal() theme 6}} + {{#rollTotal() theme 7}}Survival{{/rollTotal() theme 7}} + {{#rollTotal() theme 8}}Weapon{{/rollTotal() theme 8}} + {{#rollTotal() theme 9}}Wound{{/rollTotal() theme 9}} + {{#rollTotal() theme 10}}Shelter{{/rollTotal() theme 10}} + {{#rollTotal() theme 11}}Leader{{/rollTotal() theme 11}} + {{#rollTotal() theme 12}}Fear{{/rollTotal() theme 12}} + {{#rollTotal() theme 13}}Time{{/rollTotal() theme 13}} + {{#rollTotal() theme 14}}Duty{{/rollTotal() theme 14}} + {{#rollTotal() theme 15}}Secret{{/rollTotal() theme 15}} + {{#rollTotal() theme 16}}Innocence{{/rollTotal() theme 16}} + {{#rollTotal() theme 17}}Renown{{/rollTotal() theme 17}} + {{#rollTotal() theme 18}}Direction{{/rollTotal() theme 18}} + {{#rollTotal() theme 19}}Death{{/rollTotal() theme 19}} + {{#rollTotal() theme 20}}Honor{{/rollTotal() theme 20}} + {{#rollTotal() theme 21}}Labor{{/rollTotal() theme 21}} + {{#rollTotal() theme 22}}Solution{{/rollTotal() theme 22}} + {{#rollTotal() theme 23}}Tool{{/rollTotal() theme 23}} + {{#rollTotal() theme 24}}Balance{{/rollTotal() theme 24}} + {{#rollTotal() theme 25}}Love{{/rollTotal() theme 25}} + {{#rollTotal() theme 26}}Barrier{{/rollTotal() theme 26}} + {{#rollTotal() theme 27}}Creation{{/rollTotal() theme 27}} + {{#rollTotal() theme 28}}Decay{{/rollTotal() theme 28}} + {{#rollTotal() theme 29}}Trade{{/rollTotal() theme 29}} + {{#rollTotal() theme 30}}Bond{{/rollTotal() theme 30}} + {{#rollTotal() theme 31}}Hope{{/rollTotal() theme 31}} + {{#rollTotal() theme 32}}Superstition{{/rollTotal() theme 32}} + {{#rollTotal() theme 33}}Peace{{/rollTotal() theme 33}} + {{#rollTotal() theme 34}}Deception{{/rollTotal() theme 34}} + {{#rollTotal() theme 35}}History{{/rollTotal() theme 35}} + {{#rollTotal() theme 36}}World{{/rollTotal() theme 36}} + {{#rollTotal() theme 37}}Vow{{/rollTotal() theme 37}} + {{#rollTotal() theme 38}}Protection{{/rollTotal() theme 38}} + {{#rollTotal() theme 39}}Nature{{/rollTotal() theme 39}} + {{#rollTotal() theme 40}}Opinion{{/rollTotal() theme 40}} + {{#rollTotal() theme 41}}Burden{{/rollTotal() theme 41}} + {{#rollTotal() theme 42}}Vengeance{{/rollTotal() theme 42}} + {{#rollTotal() theme 43}}Opportunity{{/rollTotal() theme 43}} + {{#rollTotal() theme 44}}Faction{{/rollTotal() theme 44}} + {{#rollTotal() theme 45}}Danger{{/rollTotal() theme 45}} + {{#rollTotal() theme 46}}Corruption{{/rollTotal() theme 46}} + {{#rollTotal() theme 47}}Freedom{{/rollTotal() theme 47}} + {{#rollTotal() theme 48}}Debt{{/rollTotal() theme 48}} + {{#rollTotal() theme 49}}Hate{{/rollTotal() theme 49}} + {{#rollTotal() theme 50}}Possession{{/rollTotal() theme 50}} + {{#rollTotal() theme 51}}Stranger{{/rollTotal() theme 51}} + {{#rollTotal() theme 52}}Passage{{/rollTotal() theme 52}} + {{#rollTotal() theme 53}}Land{{/rollTotal() theme 53}} + {{#rollTotal() theme 54}}Creature{{/rollTotal() theme 54}} + {{#rollTotal() theme 55}}Disease{{/rollTotal() theme 55}} + {{#rollTotal() theme 56}}Advantage{{/rollTotal() theme 56}} + {{#rollTotal() theme 57}}Blood{{/rollTotal() theme 57}} + {{#rollTotal() theme 58}}Language{{/rollTotal() theme 58}} + {{#rollTotal() theme 59}}Rumor{{/rollTotal() theme 59}} + {{#rollTotal() theme 60}}Weakness{{/rollTotal() theme 60}} + {{#rollTotal() theme 61}}Greed{{/rollTotal() theme 61}} + {{#rollTotal() theme 62}}Family{{/rollTotal() theme 62}} + {{#rollTotal() theme 63}}Resource{{/rollTotal() theme 63}} + {{#rollTotal() theme 64}}Structure{{/rollTotal() theme 64}} + {{#rollTotal() theme 65}}Dream{{/rollTotal() theme 65}} + {{#rollTotal() theme 66}}Community{{/rollTotal() theme 66}} + {{#rollTotal() theme 67}}War{{/rollTotal() theme 67}} + {{#rollTotal() theme 68}}Portent{{/rollTotal() theme 68}} + {{#rollTotal() theme 69}}Prize{{/rollTotal() theme 69}} + {{#rollTotal() theme 70}}Destiny{{/rollTotal() theme 70}} + {{#rollTotal() theme 71}}Momentum{{/rollTotal() theme 71}} + {{#rollTotal() theme 72}}Power{{/rollTotal() theme 72}} + {{#rollTotal() theme 73}}Memory{{/rollTotal() theme 73}} + {{#rollTotal() theme 74}}Ruin{{/rollTotal() theme 74}} + {{#rollTotal() theme 75}}Mysticism{{/rollTotal() theme 75}} + {{#rollTotal() theme 76}}Rival{{/rollTotal() theme 76}} + {{#rollTotal() theme 77}}Problem{{/rollTotal() theme 77}} + {{#rollTotal() theme 78}}Idea{{/rollTotal() theme 78}} + {{#rollTotal() theme 79}}Revenge{{/rollTotal() theme 79}} + {{#rollTotal() theme 80}}Health{{/rollTotal() theme 80}} + {{#rollTotal() theme 81}}Fellowship{{/rollTotal() theme 81}} + {{#rollTotal() theme 82}}Enemy{{/rollTotal() theme 82}} + {{#rollTotal() theme 83}}Religion{{/rollTotal() theme 83}} + {{#rollTotal() theme 84}}Spirit{{/rollTotal() theme 84}} + {{#rollTotal() theme 85}}Fame{{/rollTotal() theme 85}} + {{#rollTotal() theme 86}}Desolation{{/rollTotal() theme 86}} + {{#rollTotal() theme 87}}Strength{{/rollTotal() theme 87}} + {{#rollTotal() theme 88}}Knowledge{{/rollTotal() theme 88}} + {{#rollTotal() theme 89}}Truth{{/rollTotal() theme 89}} + {{#rollTotal() theme 90}}Quest{{/rollTotal() theme 90}} + {{#rollTotal() theme 91}}Pride{{/rollTotal() theme 91}} + {{#rollTotal() theme 92}}Loss{{/rollTotal() theme 92}} + {{#rollTotal() theme 93}}Law{{/rollTotal() theme 93}} + {{#rollTotal() theme 94}}Path{{/rollTotal() theme 94}} + {{#rollTotal() theme 95}}Warning{{/rollTotal() theme 95}} + {{#rollTotal() theme 96}}Relationship{{/rollTotal() theme 96}} + {{#rollTotal() theme 97}}Wealth{{/rollTotal() theme 97}} + {{#rollTotal() theme 98}}Home{{/rollTotal() theme 98}} + {{#rollTotal() theme 99}}Strategy{{/rollTotal() theme 99}} + {{#rollTotal() theme 100}}Supply{{/rollTotal() theme 100}} +
    +
    {{/theme}} + {{#region}} +
    +
    {{region}}
    +
    {{#rollBetween() region 1 12}}Barrier Islands{{/rollBetween() region 1 12}} + {{#rollBetween() region 13 24}}Ragged Coast{{/rollBetween() region 13 24}} + {{#rollBetween() region 25 34}}Deep Wilds{{/rollBetween() region 25 34}} + {{#rollBetween() region 35 46}}Flooded Lands{{/rollBetween() region 35 46}} + {{#rollBetween() region 47 60}}Havens{{/rollBetween() region 47 60}} + {{#rollBetween() region 61 72}}Hinterlands{{/rollBetween() region 61 72}} + {{#rollBetween() region 73 84}}Tempest Hills{{/rollBetween() region 73 84}} + {{#rollBetween() region 85 94}}Veiled Mountains{{/rollBetween() region 85 94}} + {{#rollBetween() region 95 99}}Shattered Wastes{{/rollBetween() region 95 99}} + {{#rollTotal() region 100}}Elsewhere{{/rollTotal() region 100}} +
    +
    {{/region}} + {{#location}} +
    +
    {{location}}
    +
    {{#rollTotal() location 1}}Hideout{{/rollTotal() location 1}} + {{#rollTotal() location 2}}Ruin{{/rollTotal() location 2}} + {{#rollTotal() location 3}}Mine{{/rollTotal() location 3}} + {{#rollTotal() location 4}}Waste{{/rollTotal() location 4}} + {{#rollTotal() location 5}}Mystical Site{{/rollTotal() location 5}} + {{#rollTotal() location 6}}Path{{/rollTotal() location 6}} + {{#rollTotal() location 7}}Outpost{{/rollTotal() location 7}} + {{#rollTotal() location 8}}Wall{{/rollTotal() location 8}} + {{#rollTotal() location 9}}Battlefield{{/rollTotal() location 9}} + {{#rollTotal() location 10}}Hovel{{/rollTotal() location 10}} + {{#rollTotal() location 11}}Spring{{/rollTotal() location 11}} + {{#rollTotal() location 12}}Lair{{/rollTotal() location 12}} + {{#rollTotal() location 13}}Fort{{/rollTotal() location 13}} + {{#rollTotal() location 14}}Bridge{{/rollTotal() location 14}} + {{#rollTotal() location 15}}Camp{{/rollTotal() location 15}} + {{#rollTotal() location 16 }}Cairn/Grave{{/rollTotal() location 16 }} + {{#rollBetween() location 17 18 }}Caravan{{/rollBetween() location 17 18 }} + {{#rollBetween() location 19 20 }}Waterfall{{/rollBetween() location 19 20 }} + {{#rollBetween() location 21 22 }}Cave{{/rollBetween() location 21 22 }} + {{#rollBetween() location 23 24 }}Swamp{{/rollBetween() location 23 24 }} + {{#rollBetween() location 25 26 }}Fen{{/rollBetween() location 25 26 }} + {{#rollBetween() location 27 28 }}Ravine{{/rollBetween() location 27 28 }} + {{#rollBetween() location 29 30 }}Road{{/rollBetween() location 29 30 }} + {{#rollBetween() location 31 32 }}Tree{{/rollBetween() location 31 32 }} + {{#rollBetween() location 33 34 }}Pond{{/rollBetween() location 33 34 }} + {{#rollBetween() location 35 36 }}Fields{{/rollBetween() location 35 36 }} + {{#rollBetween() location 37 38 }}Marsh{{/rollBetween() location 37 38 }} + {{#rollBetween() location 39 40 }}Steading{{/rollBetween() location 39 40 }} + {{#rollBetween() location 41 42 }}Rapids{{/rollBetween() location 41 42 }} + {{#rollBetween() location 43 44 }}Pass{{/rollBetween() location 43 44 }} + {{#rollBetween() location 45 46 }}Trail{{/rollBetween() location 45 46 }} + {{#rollBetween() location 47 48 }}Glade{{/rollBetween() location 47 48 }} + {{#rollBetween() location 49 50 }}Plain{{/rollBetween() location 49 50 }} + {{#rollBetween() location 51 52 }}Ridge{{/rollBetween() location 51 52 }} + {{#rollBetween() location 53 54 }}Cliff{{/rollBetween() location 53 54 }} + {{#rollBetween() location 55 56 }}Grove{{/rollBetween() location 55 56 }} + {{#rollBetween() location 57 58 }}Village{{/rollBetween() location 57 58 }} + {{#rollBetween() location 59 60 }}Moor{{/rollBetween() location 59 60 }} + {{#rollBetween() location 61 62 }}Thicket{{/rollBetween() location 61 62 }} + {{#rollBetween() location 63 64 }}River Ford{{/rollBetween() location 63 64 }} + {{#rollBetween() location 65 66 }}Valley{{/rollBetween() location 65 66 }} + {{#rollBetween() location 67 68 }}Bay/Fjord{{/rollBetween() location 67 68 }} + {{#rollBetween() location 69 70 }}Foothills{{/rollBetween() location 69 70 }} + {{#rollBetween() location 71 72 }}Lake{{/rollBetween() location 71 72 }} + {{#rollBetween() location 73 75 }}River{{/rollBetween() location 73 75 }} + {{#rollBetween() location 76 79 }}Forest{{/rollBetween() location 76 79 }} + {{#rollBetween() location 80 83 }}Coast{{/rollBetween() location 80 83 }} + {{#rollBetween() location 84 88 }}Hill{{/rollBetween() location 84 88 }} + {{#rollBetween() location 89 93 }}Mountain{{/rollBetween() location 89 93 }} + {{#rollBetween() location 94 99 }}Woods{{/rollBetween() location 94 99 }} + {{#rollTotal() location 100}}Anomaly{{/rollTotal() location 100}} +
    +
    {{/location}} + {{#coastalWatersLocation}} +
    +
    {{coastalWatersLocation}}
    +
    {{#rollTotal() coastalWatersLocation 1}}Fleet{{/rollTotal() coastalWatersLocation 1}} + {{#rollTotal() coastalWatersLocation 2}}Sargassum{{/rollTotal() coastalWatersLocation 2}} + {{#rollTotal() coastalWatersLocation 3}}Flotsam{{/rollTotal() coastalWatersLocation 3}} + {{#rollTotal() coastalWatersLocation 4}}Mystical Site{{/rollTotal() coastalWatersLocation 4}} + {{#rollTotal() coastalWatersLocation 5}}Lair{{/rollTotal() coastalWatersLocation 5}} + {{#rollBetween() coastalWatersLocation 6 10}}Wreck{{/rollBetween() coastalWatersLocation 6 10}} + {{#rollBetween() coastalWatersLocation 11 15}}Harbor{{/rollBetween() coastalWatersLocation 11 15}} + {{#rollBetween() coastalWatersLocation 16 23}}Ship{{/rollBetween() coastalWatersLocation 16 23}} + {{#rollBetween() coastalWatersLocation 24 30}}Rocks{{/rollBetween() coastalWatersLocation 24 30}} + {{#rollBetween() coastalWatersLocation 31 38}}Fjord{{/rollBetween() coastalWatersLocation 31 38}} + {{#rollBetween() coastalWatersLocation 39 46}}Estuary{{/rollBetween() coastalWatersLocation 39 46}} + {{#rollBetween() coastalWatersLocation 47 54}}Cove{{/rollBetween() coastalWatersLocation 47 54}} + {{#rollBetween() coastalWatersLocation 55 62}}Bay{{/rollBetween() coastalWatersLocation 55 62}} + {{#rollBetween() coastalWatersLocation 63 70}}Ice{{/rollBetween() coastalWatersLocation 63 70}} + {{#rollBetween() coastalWatersLocation 71 85}}Island{{/rollBetween() coastalWatersLocation 71 85}} + {{#rollBetween() coastalWatersLocation 86 99}}Open Water{{/rollBetween() coastalWatersLocation 86 99}} + {{#rollTotal() coastalWatersLocation 100}}Anomaly{{/rollTotal() coastalWatersLocation 100}} +
    +
    {{/coastalWatersLocation}} + {{#locationDescriptor}} +
    +
    {{locationDescriptor}}
    +
    {{#rollBetween() locationDescriptor 1 2}}High {{/rollBetween() locationDescriptor 1 2}} + {{#rollBetween() locationDescriptor 3 4}}Remote {{/rollBetween() locationDescriptor 3 4}} + {{#rollBetween() locationDescriptor 5 6}}Exposed {{/rollBetween() locationDescriptor 5 6}} + {{#rollBetween() locationDescriptor 7 8}}Small {{/rollBetween() locationDescriptor 7 8}} + {{#rollBetween() locationDescriptor 9 10}}Broken {{/rollBetween() locationDescriptor 9 10}} + {{#rollBetween() locationDescriptor 11 12}}Diverse {{/rollBetween() locationDescriptor 11 12}} + {{#rollBetween() locationDescriptor 13 14}}Rough {{/rollBetween() locationDescriptor 13 14}} + {{#rollBetween() locationDescriptor 15 16}}Dark {{/rollBetween() locationDescriptor 15 16}} + {{#rollBetween() locationDescriptor 17 18}}Shadowy {{/rollBetween() locationDescriptor 17 18}} + {{#rollBetween() locationDescriptor 19 20}}Contested {{/rollBetween() locationDescriptor 19 20}} + {{#rollBetween() locationDescriptor 21 22}}Grim {{/rollBetween() locationDescriptor 21 22}} + {{#rollBetween() locationDescriptor 23 24}}Wild {{/rollBetween() locationDescriptor 23 24}} + {{#rollBetween() locationDescriptor 25 26}}Fertile {{/rollBetween() locationDescriptor 25 26}} + {{#rollBetween() locationDescriptor 27 28}}Blocked {{/rollBetween() locationDescriptor 27 28}} + {{#rollBetween() locationDescriptor 29 30}}Ancient {{/rollBetween() locationDescriptor 29 30}} + {{#rollBetween() locationDescriptor 31 32}}Perilous {{/rollBetween() locationDescriptor 31 32}} + {{#rollBetween() locationDescriptor 33 34}}Hidden{{/rollBetween() locationDescriptor 33 34}} + {{#rollBetween() locationDescriptor 35 36}}Occupied {{/rollBetween() locationDescriptor 35 36}} + {{#rollBetween() locationDescriptor 37 38}}Rich {{/rollBetween() locationDescriptor 37 38}} + {{#rollBetween() locationDescriptor 39 40}}Big {{/rollBetween() locationDescriptor 39 40}} + {{#rollBetween() locationDescriptor 41 42}}Savage {{/rollBetween() locationDescriptor 41 42}} + {{#rollBetween() locationDescriptor 43 44}}Defended {{/rollBetween() locationDescriptor 43 44}} + {{#rollBetween() locationDescriptor 45 46}}Withered {{/rollBetween() locationDescriptor 45 46}} + {{#rollBetween() locationDescriptor 47 48}}Mystical {{/rollBetween() locationDescriptor 47 48}} + {{#rollBetween() locationDescriptor 49 50}}Inaccessible {{/rollBetween() locationDescriptor 49 50}} + {{#rollBetween() locationDescriptor 51 52}}Protected {{/rollBetween() locationDescriptor 51 52}} + {{#rollBetween() locationDescriptor 53 54}}Abandoned {{/rollBetween() locationDescriptor 53 54}} + {{#rollBetween() locationDescriptor 55 56}}Wide {{/rollBetween() locationDescriptor 55 56}} + {{#rollBetween() locationDescriptor 57 58}}Foul {{/rollBetween() locationDescriptor 57 58}} + {{#rollBetween() locationDescriptor 59 60}}Dead {{/rollBetween() locationDescriptor 59 60}} + {{#rollBetween() locationDescriptor 61 62}}Ruined {{/rollBetween() locationDescriptor 61 62}} + {{#rollBetween() locationDescriptor 63 64}}Barren {{/rollBetween() locationDescriptor 63 64}} + {{#rollBetween() locationDescriptor 65 66}}Cold {{/rollBetween() locationDescriptor 65 66}} + {{#rollBetween() locationDescriptor 67 68}}Blighted{{/rollBetween() locationDescriptor 67 68}} + {{#rollBetween() locationDescriptor 69 70}}Low {{/rollBetween() locationDescriptor 69 70}} + {{#rollBetween() locationDescriptor 71 72}}Beautiful {{/rollBetween() locationDescriptor 71 72}} + {{#rollBetween() locationDescriptor 73 74}}Abundant {{/rollBetween() locationDescriptor 73 74}} + {{#rollBetween() locationDescriptor 75 76}}Lush {{/rollBetween() locationDescriptor 75 76}} + {{#rollBetween() locationDescriptor 77 78}}Flooded {{/rollBetween() locationDescriptor 77 78}} + {{#rollBetween() locationDescriptor 79 80}}Empty {{/rollBetween() locationDescriptor 79 80}} + {{#rollBetween() locationDescriptor 81 82}}Strange {{/rollBetween() locationDescriptor 81 82}} + {{#rollBetween() locationDescriptor 83 84}}Corrupted {{/rollBetween() locationDescriptor 83 84}} + {{#rollBetween() locationDescriptor 85 86}}Peaceful {{/rollBetween() locationDescriptor 85 86}} + {{#rollBetween() locationDescriptor 87 88}}Forgotten {{/rollBetween() locationDescriptor 87 88}} + {{#rollBetween() locationDescriptor 89 90}}Expansive {{/rollBetween() locationDescriptor 89 90}} + {{#rollBetween() locationDescriptor 91 92}}Settled {{/rollBetween() locationDescriptor 91 92}} + {{#rollBetween() locationDescriptor 93 94}}Dense {{/rollBetween() locationDescriptor 93 94}} + {{#rollBetween() locationDescriptor 95 96}}Civilized {{/rollBetween() locationDescriptor 95 96}} + {{#rollBetween() locationDescriptor 97 98}}Desolate {{/rollBetween() locationDescriptor 97 98}} + {{#rollBetween() locationDescriptor 99 100}}Isolated{{/rollBetween() locationDescriptor 99 100}} +
    +
    {{/locationDescriptor}} + {{#settlementName}} +
    +
    {{settlementName}}
    +
    {{#rollBetween() settlementName 01 15}}A feature of the landscape. Envision what it is. What makes it unusual or distinctive?{{/rollBetween() settlementName 01 15}} + {{#rollBetween() settlementName 16 30}}A manmade edifice. What is it? Why is it important to this settlement’s history?{{/rollBetween() settlementName 16 30}} + {{#rollBetween() settlementName 31 45}} + A creature. Why have the people of this settlement chosen this creature as their totem? How is it + represented in art or rituals?{{/rollBetween() settlementName 31 45}} + {{#rollBetween() settlementName 46 60}}A historical event. What happened here? What place or practice commemorates this event?{{/rollBetween() settlementName 46 60}} + {{#rollBetween() settlementName 61 75}} + A word in an Old World language. What culture is represented by this word? What does it translate + to?{{/rollBetween() settlementName 61 75}} + {{#rollBetween() settlementName 76 90}}A season or environmental aspect. What influence does the weather have on this settlement?{{/rollBetween() settlementName 76 90}} + {{#rollBetween() settlementName 91 100}}Something Else....{{/rollBetween() settlementName 91 100}} +
    +
    {{/settlementName}} + {{#quickSettlementName}} +
    +
    {{quickSettlementNamePrefix}}{{quickSettlementNameSuffix}}
    +
    {{#rollBetween() quickSettlementNamePrefix 1 4}}Bleak{{/rollBetween() quickSettlementNamePrefix 1 4}} + {{#rollBetween() quickSettlementNamePrefix 5 8}}Green{{/rollBetween() quickSettlementNamePrefix 5 8}} + {{#rollBetween() quickSettlementNamePrefix 9 12}}Wolf{{/rollBetween() quickSettlementNamePrefix 9 12}} + {{#rollBetween() quickSettlementNamePrefix 13 16}}Raven{{/rollBetween() quickSettlementNamePrefix 13 16}} + {{#rollBetween() quickSettlementNamePrefix 17 20}}Gray{{/rollBetween() quickSettlementNamePrefix 17 20}} + {{#rollBetween() quickSettlementNamePrefix 21 24}}Red{{/rollBetween() quickSettlementNamePrefix 21 24}} + {{#rollBetween() quickSettlementNamePrefix 25 28}}Axe{{/rollBetween() quickSettlementNamePrefix 25 28}} + {{#rollBetween() quickSettlementNamePrefix 29 32}}Great{{/rollBetween() quickSettlementNamePrefix 29 32}} + {{#rollBetween() quickSettlementNamePrefix 33 36}}Wood{{/rollBetween() quickSettlementNamePrefix 33 36}} + {{#rollBetween() quickSettlementNamePrefix 37 40}}Low{{/rollBetween() quickSettlementNamePrefix 37 40}} + {{#rollBetween() quickSettlementNamePrefix 41 44}}White{{/rollBetween() quickSettlementNamePrefix 41 44}} + {{#rollBetween() quickSettlementNamePrefix 45 48}}Storm{{/rollBetween() quickSettlementNamePrefix 45 48}} + {{#rollBetween() quickSettlementNamePrefix 49 52}}Black{{/rollBetween() quickSettlementNamePrefix 49 52}} + {{#rollBetween() quickSettlementNamePrefix 53 56}}Mourn{{/rollBetween() quickSettlementNamePrefix 53 56}} + {{#rollBetween() quickSettlementNamePrefix 57 60}}New{{/rollBetween() quickSettlementNamePrefix 57 60}} + {{#rollBetween() quickSettlementNamePrefix 61 64}}Stone{{/rollBetween() quickSettlementNamePrefix 61 64}} + {{#rollBetween() quickSettlementNamePrefix 65 68}}Grim{{/rollBetween() quickSettlementNamePrefix 65 68}} + {{#rollBetween() quickSettlementNamePrefix 69 72}}Lost{{/rollBetween() quickSettlementNamePrefix 69 72}} + {{#rollBetween() quickSettlementNamePrefix 73 76}}High{{/rollBetween() quickSettlementNamePrefix 73 76}} + {{#rollBetween() quickSettlementNamePrefix 77 80}}Rock{{/rollBetween() quickSettlementNamePrefix 77 80}} + {{#rollBetween() quickSettlementNamePrefix 81 84}}Shield{{/rollBetween() quickSettlementNamePrefix 81 84}} + {{#rollBetween() quickSettlementNamePrefix 85 88}}Sword{{/rollBetween() quickSettlementNamePrefix 85 88}} + {{#rollBetween() quickSettlementNamePrefix 89 92}}Frost{{/rollBetween() quickSettlementNamePrefix 89 92}} + {{#rollBetween() quickSettlementNamePrefix 93 96}}Thorn{{/rollBetween() quickSettlementNamePrefix 93 96}} + {{#rollBetween() quickSettlementNamePrefix 97 100}}Long{{/rollBetween() quickSettlementNamePrefix 97 100}} + {{#rollBetween() quickSettlementNameSuffix 1 4}}moor{{/rollBetween() quickSettlementNameSuffix 1 4}} + {{#rollBetween() quickSettlementNameSuffix 5 8}}ford{{/rollBetween() quickSettlementNameSuffix 5 8}} + {{#rollBetween() quickSettlementNameSuffix 9 12}}crag{{/rollBetween() quickSettlementNameSuffix 9 12}} + {{#rollBetween() quickSettlementNameSuffix 13 16}}watch{{/rollBetween() quickSettlementNameSuffix 13 16}} + {{#rollBetween() quickSettlementNameSuffix 17 20}}hope{{/rollBetween() quickSettlementNameSuffix 17 20}} + {{#rollBetween() quickSettlementNameSuffix 21 24}}wood{{/rollBetween() quickSettlementNameSuffix 21 24}} + {{#rollBetween() quickSettlementNameSuffix 25 28}}ridge{{/rollBetween() quickSettlementNameSuffix 25 28}} + {{#rollBetween() quickSettlementNameSuffix 29 32}}stone{{/rollBetween() quickSettlementNameSuffix 29 32}} + {{#rollBetween() quickSettlementNameSuffix 33 36}}haven{{/rollBetween() quickSettlementNameSuffix 33 36}} + {{#rollBetween() quickSettlementNameSuffix 37 40}}fall(s){{/rollBetween() quickSettlementNameSuffix 37 40}} + {{#rollBetween() quickSettlementNameSuffix 41 44}}river{{/rollBetween() quickSettlementNameSuffix 41 44}} + {{#rollBetween() quickSettlementNameSuffix 45 48}}field{{/rollBetween() quickSettlementNameSuffix 45 48}} + {{#rollBetween() quickSettlementNameSuffix 49 52}}hill{{/rollBetween() quickSettlementNameSuffix 49 52}} + {{#rollBetween() quickSettlementNameSuffix 53 56}}bridge{{/rollBetween() quickSettlementNameSuffix 53 56}} + {{#rollBetween() quickSettlementNameSuffix 57 60}}mark{{/rollBetween() quickSettlementNameSuffix 57 60}} + {{#rollBetween() quickSettlementNameSuffix 61 64}}cairn{{/rollBetween() quickSettlementNameSuffix 61 64}} + {{#rollBetween() quickSettlementNameSuffix 65 68}}land{{/rollBetween() quickSettlementNameSuffix 65 68}} + {{#rollBetween() quickSettlementNameSuffix 69 72}}hall{{/rollBetween() quickSettlementNameSuffix 69 72}} + {{#rollBetween() quickSettlementNameSuffix 73 76}}mount{{/rollBetween() quickSettlementNameSuffix 73 76}} + {{#rollBetween() quickSettlementNameSuffix 77 80}}rock{{/rollBetween() quickSettlementNameSuffix 77 80}} + {{#rollBetween() quickSettlementNameSuffix 81 84}}brook{{/rollBetween() quickSettlementNameSuffix 81 84}} + {{#rollBetween() quickSettlementNameSuffix 85 88}}barrow{{/rollBetween() quickSettlementNameSuffix 85 88}} + {{#rollBetween() quickSettlementNameSuffix 89 92}}stead{{/rollBetween() quickSettlementNameSuffix 89 92}} + {{#rollBetween() quickSettlementNameSuffix 93 96}}home{{/rollBetween() quickSettlementNameSuffix 93 96}} + {{#rollBetween() quickSettlementNameSuffix 97 100}}wick{{/rollBetween() quickSettlementNameSuffix 97 100}} +
    +
    {{/quickSettlementName}} + {{#settlementTrouble}} +
    +
    {{settlementTrouble}}
    +
    {{#rollBetween() settlementTrouble 1 2}}Outsiders rejected{{/rollBetween() settlementTrouble 1 2}} + {{#rollBetween() settlementTrouble 3 4}}Dangerous discovery{{/rollBetween() settlementTrouble 3 4}} + {{#rollBetween() settlementTrouble 5 6}}Dreadful omens{{/rollBetween() settlementTrouble 5 6}} + {{#rollBetween() settlementTrouble 7 8}}Natural disaster{{/rollBetween() settlementTrouble 7 8}} + {{#rollBetween() settlementTrouble 9 10}}Old wounds reopened{{/rollBetween() settlementTrouble 9 10}} + {{#rollBetween() settlementTrouble 11 12}}Important object is lost{{/rollBetween() settlementTrouble 11 12}} + {{#rollBetween() settlementTrouble 13 14}}Someone is captured{{/rollBetween() settlementTrouble 13 14}} + {{#rollBetween() settlementTrouble 15 16}}Mysterious phenomenon{{/rollBetween() settlementTrouble 15 16}} + {{#rollBetween() settlementTrouble 17 18}}Revolt against a leader{{/rollBetween() settlementTrouble 17 18}} + {{#rollBetween() settlementTrouble 19 20}}Vengeful outcast{{/rollBetween() settlementTrouble 19 20}} + {{#rollBetween() settlementTrouble 21 22}}Rival settlement{{/rollBetween() settlementTrouble 21 22}} + {{#rollBetween() settlementTrouble 23 24}}Nature strikes back{{/rollBetween() settlementTrouble 23 24}} + {{#rollBetween() settlementTrouble 25 26}}Someone is missing{{/rollBetween() settlementTrouble 25 26}} + {{#rollBetween() settlementTrouble 27 28}}Production halts{{/rollBetween() settlementTrouble 27 28}} + {{#rollBetween() settlementTrouble 29 30}}Mysterious murders{{/rollBetween() settlementTrouble 29 30}} + {{#rollBetween() settlementTrouble 31 32}}Debt comes due{{/rollBetween() settlementTrouble 31 32}} + {{#rollBetween() settlementTrouble 33 34}}Unjust leadership{{/rollBetween() settlementTrouble 33 34}} + {{#rollBetween() settlementTrouble 35 36}}Disastrous accident{{/rollBetween() settlementTrouble 35 36}} + {{#rollBetween() settlementTrouble 37 38}}In league with the enemy{{/rollBetween() settlementTrouble 37 38}} + {{#rollBetween() settlementTrouble 39 40}}Raiders prey on the weak{{/rollBetween() settlementTrouble 39 40}} + {{#rollBetween() settlementTrouble 41 42}}Cursed past{{/rollBetween() settlementTrouble 41 42}} + {{#rollBetween() settlementTrouble 43 44}}An innocent is accused{{/rollBetween() settlementTrouble 43 44}} + {{#rollBetween() settlementTrouble 45 46}}Corrupted by dark magic{{/rollBetween() settlementTrouble 45 46}} + {{#rollBetween() settlementTrouble 47 48}}Isolated by brutal weather{{/rollBetween() settlementTrouble 47 48}} + {{#rollBetween() settlementTrouble 49 50}}Provisions are scarce{{/rollBetween() settlementTrouble 49 50}} + {{#rollBetween() settlementTrouble 51 52}}Sickness run amok{{/rollBetween() settlementTrouble 51 52}} + {{#rollBetween() settlementTrouble 53 54}}Allies become enemies{{/rollBetween() settlementTrouble 53 54}} + {{#rollBetween() settlementTrouble 55 56}}Attack is imminent{{/rollBetween() settlementTrouble 55 56}} + {{#rollBetween() settlementTrouble 57 58}}Lost caravan{{/rollBetween() settlementTrouble 57 58}} + {{#rollBetween() settlementTrouble 59 60}}Dark secret revealed{{/rollBetween() settlementTrouble 59 60}} + {{#rollBetween() settlementTrouble 61 62}}Urgent expedition{{/rollBetween() settlementTrouble 61 62}} + {{#rollBetween() settlementTrouble 63 64}}A leader falls{{/rollBetween() settlementTrouble 63 64}} + {{#rollBetween() settlementTrouble 65 66}}Families in conflict{{/rollBetween() settlementTrouble 65 66}} + {{#rollBetween() settlementTrouble 67 68}}Incompetent leadership{{/rollBetween() settlementTrouble 67 68}} + {{#rollBetween() settlementTrouble 69 70}}Reckless warmongering{{/rollBetween() settlementTrouble 69 70}} + {{#rollBetween() settlementTrouble 71 72}}Beast on the hunt{{/rollBetween() settlementTrouble 71 72}} + {{#rollBetween() settlementTrouble 73 74}}Betrayed from within{{/rollBetween() settlementTrouble 73 74}} + {{#rollBetween() settlementTrouble 75 76}}Broken truce{{/rollBetween() settlementTrouble 75 76}} + {{#rollBetween() settlementTrouble 77 78}}Wrathful haunt{{/rollBetween() settlementTrouble 77 78}} + {{#rollBetween() settlementTrouble 79 80}}Conflict with firstborn{{/rollBetween() settlementTrouble 79 80}} + {{#rollBetween() settlementTrouble 81 82}}Trade route blocked{{/rollBetween() settlementTrouble 81 82}} + {{#rollBetween() settlementTrouble 83 84}}In the crossfire{{/rollBetween() settlementTrouble 83 84}} + {{#rollBetween() settlementTrouble 85 86}}Stranger causes discord{{/rollBetween() settlementTrouble 85 86}} + {{#rollBetween() settlementTrouble 87 88}}Important event threatened{{/rollBetween() settlementTrouble 87 88}} + {{#rollBetween() settlementTrouble 89 90}}Dangerous tradition{{/rollBetween() settlementTrouble 89 90}} + {{#rollBetween() settlementTrouble 91 100}}Roll twice{{/rollBetween() settlementTrouble 91 100}} +
    +
    {{/settlementTrouble}} + {{#characterRole}} +
    +
    {{characterRole}}
    +
    {{#rollBetween() characterRole 1 2}}Criminal{{/rollBetween() characterRole 1 2}} + {{#rollBetween() characterRole 3 4}}Healer{{/rollBetween() characterRole 3 4}} + {{#rollBetween() characterRole 5 6}}Bandit{{/rollBetween() characterRole 5 6}} + {{#rollBetween() characterRole 7 9}}Guide{{/rollBetween() characterRole 7 9}} + {{#rollBetween() characterRole 10 12}}Performer{{/rollBetween() characterRole 10 12}} + {{#rollBetween() characterRole 13 15}}Miner{{/rollBetween() characterRole 13 15}} + {{#rollBetween() characterRole 16 18}}Mercenary{{/rollBetween() characterRole 16 18}} + {{#rollBetween() characterRole 19 21}}Outcast{{/rollBetween() characterRole 19 21}} + {{#rollBetween() characterRole 22 24}}Vagrant{{/rollBetween() characterRole 22 24}} + {{#rollBetween() characterRole 25 27}}Forester{{/rollBetween() characterRole 25 27}} + {{#rollBetween() characterRole 28 30}}Traveler{{/rollBetween() characterRole 28 30}} + {{#rollBetween() characterRole 31 33}}Mystic{{/rollBetween() characterRole 31 33}} + {{#rollBetween() characterRole 34 36}}Priest{{/rollBetween() characterRole 34 36}} + {{#rollBetween() characterRole 37 39}}Sailor{{/rollBetween() characterRole 37 39}} + {{#rollBetween() characterRole 40 42}}Pilgrim{{/rollBetween() characterRole 40 42}} + {{#rollBetween() characterRole 43 45}}Thief{{/rollBetween() characterRole 43 45}} + {{#rollBetween() characterRole 46 48}}Adventurer{{/rollBetween() characterRole 46 48}} + {{#rollBetween() characterRole 49 51}}Forager{{/rollBetween() characterRole 49 51}} + {{#rollBetween() characterRole 52 54}}Leader{{/rollBetween() characterRole 52 54}} + {{#rollBetween() characterRole 55 58}}Guard{{/rollBetween() characterRole 55 58}} + {{#rollBetween() characterRole 59 62}}Artisan{{/rollBetween() characterRole 59 62}} + {{#rollBetween() characterRole 63 66}}Scout{{/rollBetween() characterRole 63 66}} + {{#rollBetween() characterRole 67 70}}Herder{{/rollBetween() characterRole 67 70}} + {{#rollBetween() characterRole 71 74}}Fisher{{/rollBetween() characterRole 71 74}} + {{#rollBetween() characterRole 75 79}}Warrior{{/rollBetween() characterRole 75 79}} + {{#rollBetween() characterRole 80 84}}Hunter{{/rollBetween() characterRole 80 84}} + {{#rollBetween() characterRole 85 89}}Raider{{/rollBetween() characterRole 85 89}} + {{#rollBetween() characterRole 90 94}}Trader{{/rollBetween() characterRole 90 94}} + {{#rollBetween() characterRole 95 99}}Farmer{{/rollBetween() characterRole 95 99}} + {{#rollTotal() characterRole 100}}Unusual role{{/rollTotal() characterRole 100}} +
    +
    {{/characterRole}} + {{#characterGoal}} +
    +
    {{characterGoal}}
    +
    {{#rollBetween() characterGoal 1 3}}Obtain an object{{/rollBetween() characterGoal 1 3}} + {{#rollBetween() characterGoal 4 6}}Make an agreement{{/rollBetween() characterGoal 4 6}} + {{#rollBetween() characterGoal 7 9}}Build a relationship{{/rollBetween() characterGoal 7 9}} + {{#rollBetween() characterGoal 10 12}}Undermine a relationship{{/rollBetween() characterGoal 10 12}} + {{#rollBetween() characterGoal 13 15}}Seek a truth{{/rollBetween() characterGoal 13 15}} + {{#rollBetween() characterGoal 16 18}}Pay a debt{{/rollBetween() characterGoal 16 18}} + {{#rollBetween() characterGoal 19 21}}Refute a falsehood{{/rollBetween() characterGoal 19 21}} + {{#rollBetween() characterGoal 22 24}}Harm a rival{{/rollBetween() characterGoal 22 24}} + {{#rollBetween() characterGoal 25 27}}Cure an ill{{/rollBetween() characterGoal 25 27}} + {{#rollBetween() characterGoal 28 30}}Find a person{{/rollBetween() characterGoal 28 30}} + {{#rollBetween() characterGoal 31 33}}Find a home{{/rollBetween() characterGoal 31 33}} + {{#rollBetween() characterGoal 34 36}}Seize power{{/rollBetween() characterGoal 34 36}} + {{#rollBetween() characterGoal 37 39}}Restore a relationship{{/rollBetween() characterGoal 37 39}} + {{#rollBetween() characterGoal 40 42}}Create an item{{/rollBetween() characterGoal 40 42}} + {{#rollBetween() characterGoal 43 45}}Travel to a place{{/rollBetween() characterGoal 43 45}} + {{#rollBetween() characterGoal 46 48}}Secure provisions{{/rollBetween() characterGoal 46 48}} + {{#rollBetween() characterGoal 49 51}}Rebel against power{{/rollBetween() characterGoal 49 51}} + {{#rollBetween() characterGoal 52 54}}Collect a debt{{/rollBetween() characterGoal 52 54}} + {{#rollBetween() characterGoal 55 57}}Protect a secret{{/rollBetween() characterGoal 55 57}} + {{#rollBetween() characterGoal 58 60}}Spread faith{{/rollBetween() characterGoal 58 60}} + {{#rollBetween() characterGoal 61 63}}Enrich themselves{{/rollBetween() characterGoal 61 63}} + {{#rollBetween() characterGoal 64 66}}Protect a person{{/rollBetween() characterGoal 64 66}} + {{#rollBetween() characterGoal 67 69}}Protect the status quo{{/rollBetween() characterGoal 67 69}} + {{#rollBetween() characterGoal 70 72}}Advance status{{/rollBetween() characterGoal 70 72}} + {{#rollBetween() characterGoal 73 75}}Defend a place{{/rollBetween() characterGoal 73 75}} + {{#rollBetween() characterGoal 76 78}}Avenge a wrong{{/rollBetween() characterGoal 76 78}} + {{#rollBetween() characterGoal 79 81}}Fulfill a duty{{/rollBetween() characterGoal 79 81}} + {{#rollBetween() characterGoal 82 84}}Gain knowledge{{/rollBetween() characterGoal 82 84}} + {{#rollBetween() characterGoal 85 87}}Prove worthiness{{/rollBetween() characterGoal 85 87}} + {{#rollBetween() characterGoal 88 90}}Find redemption{{/rollBetween() characterGoal 88 90}} + {{#rollBetween() characterGoal 91 92}}Escape from something{{/rollBetween() characterGoal 91 92}} + {{#rollBetween() characterGoal 93 95}}Resolve a dispute{{/rollBetween() characterGoal 93 95}} + {{#rollBetween() characterGoal 96 100}}Roll twice{{/rollBetween() characterGoal 96 100}} +
    +
    {{/characterGoal}} + {{#characterDescriptor}} +
    +
    {{characterDescriptor}}
    +
    {{#rollTotal() characterDescriptor 1}}Stoic{{/rollTotal() characterDescriptor 1}} + {{#rollTotal() characterDescriptor 2}}Attractive{{/rollTotal() characterDescriptor 2}} + {{#rollTotal() characterDescriptor 3}}Passive{{/rollTotal() characterDescriptor 3}} + {{#rollTotal() characterDescriptor 4}}Aloof{{/rollTotal() characterDescriptor 4}} + {{#rollTotal() characterDescriptor 5}}Affectionate{{/rollTotal() characterDescriptor 5}} + {{#rollTotal() characterDescriptor 6}}Generous{{/rollTotal() characterDescriptor 6}} + {{#rollTotal() characterDescriptor 7}}Smug{{/rollTotal() characterDescriptor 7}} + {{#rollTotal() characterDescriptor 8}}Armed{{/rollTotal() characterDescriptor 8}} + {{#rollTotal() characterDescriptor 9}}Clever{{/rollTotal() characterDescriptor 9}} + {{#rollTotal() characterDescriptor 10}}Brave{{/rollTotal() characterDescriptor 10}} + {{#rollTotal() characterDescriptor 11}}Ugly{{/rollTotal() characterDescriptor 11}} + {{#rollTotal() characterDescriptor 12}}Sociable{{/rollTotal() characterDescriptor 12}} + {{#rollTotal() characterDescriptor 13}}Doomed{{/rollTotal() characterDescriptor 13}} + {{#rollTotal() characterDescriptor 14}}Connected{{/rollTotal() characterDescriptor 14}} + {{#rollTotal() characterDescriptor 15}}Bold{{/rollTotal() characterDescriptor 15}} + {{#rollTotal() characterDescriptor 16}}Jealous{{/rollTotal() characterDescriptor 16}} + {{#rollTotal() characterDescriptor 17}}Angry{{/rollTotal() characterDescriptor 17}} + {{#rollTotal() characterDescriptor 18}}Active{{/rollTotal() characterDescriptor 18}} + {{#rollTotal() characterDescriptor 19}}Suspicious{{/rollTotal() characterDescriptor 19}} + {{#rollTotal() characterDescriptor 20}}Hostile{{/rollTotal() characterDescriptor 20}} + {{#rollTotal() characterDescriptor 21}}Hardhearted{{/rollTotal() characterDescriptor 21}} + {{#rollTotal() characterDescriptor 22}}Successful{{/rollTotal() characterDescriptor 22}} + {{#rollTotal() characterDescriptor 23}}Talented{{/rollTotal() characterDescriptor 23}} + {{#rollTotal() characterDescriptor 24}}Experienced{{/rollTotal() characterDescriptor 24}} + {{#rollTotal() characterDescriptor 25}}Deceitful{{/rollTotal() characterDescriptor 25}} + {{#rollTotal() characterDescriptor 26}}Ambitious{{/rollTotal() characterDescriptor 26}} + {{#rollTotal() characterDescriptor 27}}Aggressive{{/rollTotal() characterDescriptor 27}} + {{#rollTotal() characterDescriptor 28}}Conceited{{/rollTotal() characterDescriptor 28}} + {{#rollTotal() characterDescriptor 29}}Proud{{/rollTotal() characterDescriptor 29}} + {{#rollTotal() characterDescriptor 30}}Stern{{/rollTotal() characterDescriptor 30}} + {{#rollTotal() characterDescriptor 31}}Dependent{{/rollTotal() characterDescriptor 31}} + {{#rollTotal() characterDescriptor 32}}Wary{{/rollTotal() characterDescriptor 32}} + {{#rollTotal() characterDescriptor 33}}Strong{{/rollTotal() characterDescriptor 33}} + {{#rollTotal() characterDescriptor 34}}Insightful{{/rollTotal() characterDescriptor 34}} + {{#rollTotal() characterDescriptor 35}}Dangerous{{/rollTotal() characterDescriptor 35}} + {{#rollTotal() characterDescriptor 36}}Quirky{{/rollTotal() characterDescriptor 36}} + {{#rollTotal() characterDescriptor 37}}Cheery{{/rollTotal() characterDescriptor 37}} + {{#rollTotal() characterDescriptor 38}}Disfigured{{/rollTotal() characterDescriptor 38}} + {{#rollTotal() characterDescriptor 39}}Intolerant{{/rollTotal() characterDescriptor 39}} + {{#rollTotal() characterDescriptor 40}}Skilled{{/rollTotal() characterDescriptor 40}} + {{#rollTotal() characterDescriptor 41}}Stingy{{/rollTotal() characterDescriptor 41}} + {{#rollTotal() characterDescriptor 42}}Timid{{/rollTotal() characterDescriptor 42}} + {{#rollTotal() characterDescriptor 43}}Insensitive{{/rollTotal() characterDescriptor 43}} + {{#rollTotal() characterDescriptor 44}}Wild{{/rollTotal() characterDescriptor 44}} + {{#rollTotal() characterDescriptor 45}}Bitter{{/rollTotal() characterDescriptor 45}} + {{#rollTotal() characterDescriptor 46}}Cunning{{/rollTotal() characterDescriptor 46}} + {{#rollTotal() characterDescriptor 47}}Remorseful{{/rollTotal() characterDescriptor 47}} + {{#rollTotal() characterDescriptor 48}}Kind{{/rollTotal() characterDescriptor 48}} + {{#rollTotal() characterDescriptor 49}}Charming{{/rollTotal() characterDescriptor 49}} + {{#rollTotal() characterDescriptor 50}}Oblivious{{/rollTotal() characterDescriptor 50}} + {{#rollTotal() characterDescriptor 51}}Critical{{/rollTotal() characterDescriptor 51}} + {{#rollTotal() characterDescriptor 52}}Cautious{{/rollTotal() characterDescriptor 52}} + {{#rollTotal() characterDescriptor 53}}Resourceful{{/rollTotal() characterDescriptor 53}} + {{#rollTotal() characterDescriptor 54}}Weary{{/rollTotal() characterDescriptor 54}} + {{#rollTotal() characterDescriptor 55}}Wounded{{/rollTotal() characterDescriptor 55}} + {{#rollTotal() characterDescriptor 56}}Anxious{{/rollTotal() characterDescriptor 56}} + {{#rollTotal() characterDescriptor 57}}Powerful{{/rollTotal() characterDescriptor 57}} + {{#rollTotal() characterDescriptor 58}}Athletic{{/rollTotal() characterDescriptor 58}} + {{#rollTotal() characterDescriptor 59}}Driven{{/rollTotal() characterDescriptor 59}} + {{#rollTotal() characterDescriptor 60}}Cruel{{/rollTotal() characterDescriptor 60}} + {{#rollTotal() characterDescriptor 61}}Quiet{{/rollTotal() characterDescriptor 61}} + {{#rollTotal() characterDescriptor 62}}Honest{{/rollTotal() characterDescriptor 62}} + {{#rollTotal() characterDescriptor 63}}Infamous{{/rollTotal() characterDescriptor 63}} + {{#rollTotal() characterDescriptor 64}}Dying{{/rollTotal() characterDescriptor 64}} + {{#rollTotal() characterDescriptor 65}}Reclusive{{/rollTotal() characterDescriptor 65}} + {{#rollTotal() characterDescriptor 66}}Artistic{{/rollTotal() characterDescriptor 66}} + {{#rollTotal() characterDescriptor 67}}Disabled{{/rollTotal() characterDescriptor 67}} + {{#rollTotal() characterDescriptor 68}}Confused{{/rollTotal() characterDescriptor 68}} + {{#rollTotal() characterDescriptor 69}}Manipulative{{/rollTotal() characterDescriptor 69}} + {{#rollTotal() characterDescriptor 70}}Relaxed{{/rollTotal() characterDescriptor 70}} + {{#rollTotal() characterDescriptor 71}}Stealthy{{/rollTotal() characterDescriptor 71}} + {{#rollTotal() characterDescriptor 72}}Confident{{/rollTotal() characterDescriptor 72}} + {{#rollTotal() characterDescriptor 73}}Weak{{/rollTotal() characterDescriptor 73}} + {{#rollTotal() characterDescriptor 74}}Friendly{{/rollTotal() characterDescriptor 74}} + {{#rollTotal() characterDescriptor 75}}Wise{{/rollTotal() characterDescriptor 75}} + {{#rollTotal() characterDescriptor 76}}Influential{{/rollTotal() characterDescriptor 76}} + {{#rollTotal() characterDescriptor 77}}Young{{/rollTotal() characterDescriptor 77}} + {{#rollTotal() characterDescriptor 78}}Adventurous{{/rollTotal() characterDescriptor 78}} + {{#rollTotal() characterDescriptor 79}}Oppressed{{/rollTotal() characterDescriptor 79}} + {{#rollTotal() characterDescriptor 80}}Vengeful{{/rollTotal() characterDescriptor 80}} + {{#rollTotal() characterDescriptor 81}}Cooperative{{/rollTotal() characterDescriptor 81}} + {{#rollTotal() characterDescriptor 82}}Armored{{/rollTotal() characterDescriptor 82}} + {{#rollTotal() characterDescriptor 83}}Apathetic{{/rollTotal() characterDescriptor 83}} + {{#rollTotal() characterDescriptor 84}}Determined{{/rollTotal() characterDescriptor 84}} + {{#rollTotal() characterDescriptor 85}}Loyal{{/rollTotal() characterDescriptor 85}} + {{#rollTotal() characterDescriptor 86}}Sick{{/rollTotal() characterDescriptor 86}} + {{#rollTotal() characterDescriptor 87}}Religious{{/rollTotal() characterDescriptor 87}} + {{#rollTotal() characterDescriptor 88}}Selfish{{/rollTotal() characterDescriptor 88}} + {{#rollTotal() characterDescriptor 89}}Old{{/rollTotal() characterDescriptor 89}} + {{#rollTotal() characterDescriptor 90}}Fervent{{/rollTotal() characterDescriptor 90}} + {{#rollTotal() characterDescriptor 91}}Violent{{/rollTotal() characterDescriptor 91}} + {{#rollTotal() characterDescriptor 92}}Agreeable{{/rollTotal() characterDescriptor 92}} + {{#rollTotal() characterDescriptor 93}}Hot-tempered{{/rollTotal() characterDescriptor 93}} + {{#rollTotal() characterDescriptor 94}}Stubborn{{/rollTotal() characterDescriptor 94}} + {{#rollTotal() characterDescriptor 95}}Incompetent{{/rollTotal() characterDescriptor 95}} + {{#rollTotal() characterDescriptor 96}}Greedy{{/rollTotal() characterDescriptor 96}} + {{#rollTotal() characterDescriptor 97}}Cowardly{{/rollTotal() characterDescriptor 97}} + {{#rollTotal() characterDescriptor 98}}Obsessed{{/rollTotal() characterDescriptor 98}} + {{#rollTotal() characterDescriptor 99}}Careless{{/rollTotal() characterDescriptor 99}} + {{#rollTotal() characterDescriptor 100}}Ironsworn{{/rollTotal() characterDescriptor 100}} +
    +
    {{/characterDescriptor}} + {{#ironlanderNames}} +
    +
    {{ironlanderNames}}
    +
    {{#rollTotal() ironlanderNames 1}}Solana{{/rollTotal() ironlanderNames 1}} + {{#rollTotal() ironlanderNames 2}}Keelan{{/rollTotal() ironlanderNames 2}} + {{#rollTotal() ironlanderNames 3}}Cadigan{{/rollTotal() ironlanderNames 3}} + {{#rollTotal() ironlanderNames 4}}Sola{{/rollTotal() ironlanderNames 4}} + {{#rollTotal() ironlanderNames 5}}Kodroth{{/rollTotal() ironlanderNames 5}} + {{#rollTotal() ironlanderNames 6}}Kione{{/rollTotal() ironlanderNames 6}} + {{#rollTotal() ironlanderNames 7}}Katja{{/rollTotal() ironlanderNames 7}} + {{#rollTotal() ironlanderNames 8}}Tio{{/rollTotal() ironlanderNames 8}} + {{#rollTotal() ironlanderNames 9}}Artiga{{/rollTotal() ironlanderNames 9}} + {{#rollTotal() ironlanderNames 10}}Eos{{/rollTotal() ironlanderNames 10}} + {{#rollTotal() ironlanderNames 11}}Bastien{{/rollTotal() ironlanderNames 11}} + {{#rollTotal() ironlanderNames 12}}Elli{{/rollTotal() ironlanderNames 12}} + {{#rollTotal() ironlanderNames 13}}Maura{{/rollTotal() ironlanderNames 13}} + {{#rollTotal() ironlanderNames 14}}Haleema{{/rollTotal() ironlanderNames 14}} + {{#rollTotal() ironlanderNames 15}}Abella{{/rollTotal() ironlanderNames 15}} + {{#rollTotal() ironlanderNames 16}}Morter{{/rollTotal() ironlanderNames 16}} + {{#rollTotal() ironlanderNames 17}}Wulan{{/rollTotal() ironlanderNames 17}} + {{#rollTotal() ironlanderNames 18}}Mai{{/rollTotal() ironlanderNames 18}} + {{#rollTotal() ironlanderNames 19}}Farina{{/rollTotal() ironlanderNames 19}} + {{#rollTotal() ironlanderNames 20}}Pearce{{/rollTotal() ironlanderNames 20}} + {{#rollTotal() ironlanderNames 21}}Wynne{{/rollTotal() ironlanderNames 21}} + {{#rollTotal() ironlanderNames 22}}Haf{{/rollTotal() ironlanderNames 22}} + {{#rollTotal() ironlanderNames 23}}Aeddon{{/rollTotal() ironlanderNames 23}} + {{#rollTotal() ironlanderNames 24}}Khinara{{/rollTotal() ironlanderNames 24}} + {{#rollTotal() ironlanderNames 25}}Milla{{/rollTotal() ironlanderNames 25}} + {{#rollTotal() ironlanderNames 26}}Nakata{{/rollTotal() ironlanderNames 26}} + {{#rollTotal() ironlanderNames 27}}Kynan{{/rollTotal() ironlanderNames 27}} + {{#rollTotal() ironlanderNames 28}}Kiah{{/rollTotal() ironlanderNames 28}} + {{#rollTotal() ironlanderNames 29}}Jaggar{{/rollTotal() ironlanderNames 29}} + {{#rollTotal() ironlanderNames 30}}Beca{{/rollTotal() ironlanderNames 30}} + {{#rollTotal() ironlanderNames 31}}Ikram{{/rollTotal() ironlanderNames 31}} + {{#rollTotal() ironlanderNames 32}}Melia{{/rollTotal() ironlanderNames 32}} + {{#rollTotal() ironlanderNames 33}}Sidan{{/rollTotal() ironlanderNames 33}} + {{#rollTotal() ironlanderNames 34}}Deshi{{/rollTotal() ironlanderNames 34}} + {{#rollTotal() ironlanderNames 35}}Tessa{{/rollTotal() ironlanderNames 35}} + {{#rollTotal() ironlanderNames 36}}Sibila{{/rollTotal() ironlanderNames 36}} + {{#rollTotal() ironlanderNames 37}}Morien{{/rollTotal() ironlanderNames 37}} + {{#rollTotal() ironlanderNames 38}}Mona{{/rollTotal() ironlanderNames 38}} + {{#rollTotal() ironlanderNames 39}}Padma{{/rollTotal() ironlanderNames 39}} + {{#rollTotal() ironlanderNames 40}}Avella{{/rollTotal() ironlanderNames 40}} + {{#rollTotal() ironlanderNames 41}}Naila{{/rollTotal() ironlanderNames 41}} + {{#rollTotal() ironlanderNames 42}}Lio{{/rollTotal() ironlanderNames 42}} + {{#rollTotal() ironlanderNames 43}}Cera{{/rollTotal() ironlanderNames 43}} + {{#rollTotal() ironlanderNames 44}}Ithela{{/rollTotal() ironlanderNames 44}} + {{#rollTotal() ironlanderNames 45}}Zhan{{/rollTotal() ironlanderNames 45}} + {{#rollTotal() ironlanderNames 46}}Kaivan{{/rollTotal() ironlanderNames 46}} + {{#rollTotal() ironlanderNames 47}}Valeri{{/rollTotal() ironlanderNames 47}} + {{#rollTotal() ironlanderNames 48}}Hirsham{{/rollTotal() ironlanderNames 48}} + {{#rollTotal() ironlanderNames 49}}Pemba{{/rollTotal() ironlanderNames 49}} + {{#rollTotal() ironlanderNames 50}}Edda{{/rollTotal() ironlanderNames 50}} + {{#rollTotal() ironlanderNames 51}}Lestara{{/rollTotal() ironlanderNames 51}} + {{#rollTotal() ironlanderNames 52}}Lago{{/rollTotal() ironlanderNames 52}} + {{#rollTotal() ironlanderNames 53}}Elstan{{/rollTotal() ironlanderNames 53}} + {{#rollTotal() ironlanderNames 54}}Saskia{{/rollTotal() ironlanderNames 54}} + {{#rollTotal() ironlanderNames 55}}Kabeera{{/rollTotal() ironlanderNames 55}} + {{#rollTotal() ironlanderNames 56}}Caldas{{/rollTotal() ironlanderNames 56}} + {{#rollTotal() ironlanderNames 57}}Nisus{{/rollTotal() ironlanderNames 57}} + {{#rollTotal() ironlanderNames 58}}Serene{{/rollTotal() ironlanderNames 58}} + {{#rollTotal() ironlanderNames 59}}Chenda{{/rollTotal() ironlanderNames 59}} + {{#rollTotal() ironlanderNames 60}}Themon{{/rollTotal() ironlanderNames 60}} + {{#rollTotal() ironlanderNames 61}}Erin{{/rollTotal() ironlanderNames 61}} + {{#rollTotal() ironlanderNames 62}}Alban{{/rollTotal() ironlanderNames 62}} + {{#rollTotal() ironlanderNames 63}}Parcell{{/rollTotal() ironlanderNames 63}} + {{#rollTotal() ironlanderNames 64}}Jelma{{/rollTotal() ironlanderNames 64}} + {{#rollTotal() ironlanderNames 65}}Willa{{/rollTotal() ironlanderNames 65}} + {{#rollTotal() ironlanderNames 66}}Nadira{{/rollTotal() ironlanderNames 66}} + {{#rollTotal() ironlanderNames 67}}Gwen{{/rollTotal() ironlanderNames 67}} + {{#rollTotal() ironlanderNames 68}}Amara{{/rollTotal() ironlanderNames 68}} + {{#rollTotal() ironlanderNames 69}}Masias{{/rollTotal() ironlanderNames 69}} + {{#rollTotal() ironlanderNames 70}}Kanno{{/rollTotal() ironlanderNames 70}} + {{#rollTotal() ironlanderNames 71}}Razeena{{/rollTotal() ironlanderNames 71}} + {{#rollTotal() ironlanderNames 72}}Mira{{/rollTotal() ironlanderNames 72}} + {{#rollTotal() ironlanderNames 73}}Perella{{/rollTotal() ironlanderNames 73}} + {{#rollTotal() ironlanderNames 74}}Myrick{{/rollTotal() ironlanderNames 74}} + {{#rollTotal() ironlanderNames 75}}Qamar{{/rollTotal() ironlanderNames 75}} + {{#rollTotal() ironlanderNames 76}}Kormak{{/rollTotal() ironlanderNames 76}} + {{#rollTotal() ironlanderNames 77}}Zura{{/rollTotal() ironlanderNames 77}} + {{#rollTotal() ironlanderNames 78}}Zanita{{/rollTotal() ironlanderNames 78}} + {{#rollTotal() ironlanderNames 79}}Brynn{{/rollTotal() ironlanderNames 79}} + {{#rollTotal() ironlanderNames 80}}Tegan{{/rollTotal() ironlanderNames 80}} + {{#rollTotal() ironlanderNames 81}}Pendry{{/rollTotal() ironlanderNames 81}} + {{#rollTotal() ironlanderNames 82}}Quinn{{/rollTotal() ironlanderNames 82}} + {{#rollTotal() ironlanderNames 83}}Fanir{{/rollTotal() ironlanderNames 83}} + {{#rollTotal() ironlanderNames 84}}Glain{{/rollTotal() ironlanderNames 84}} + {{#rollTotal() ironlanderNames 85}}Emelyn{{/rollTotal() ironlanderNames 85}} + {{#rollTotal() ironlanderNames 86}}Kendi{{/rollTotal() ironlanderNames 86}} + {{#rollTotal() ironlanderNames 87}}Althus{{/rollTotal() ironlanderNames 87}} + {{#rollTotal() ironlanderNames 88}}Leela{{/rollTotal() ironlanderNames 88}} + {{#rollTotal() ironlanderNames 89}}Ishana{{/rollTotal() ironlanderNames 89}} + {{#rollTotal() ironlanderNames 90}}Flint{{/rollTotal() ironlanderNames 90}} + {{#rollTotal() ironlanderNames 91}}Delkash{{/rollTotal() ironlanderNames 91}} + {{#rollTotal() ironlanderNames 92}}Nia{{/rollTotal() ironlanderNames 92}} + {{#rollTotal() ironlanderNames 93}}Nan{{/rollTotal() ironlanderNames 93}} + {{#rollTotal() ironlanderNames 94}}Keeara{{/rollTotal() ironlanderNames 94}} + {{#rollTotal() ironlanderNames 95}}Katania{{/rollTotal() ironlanderNames 95}} + {{#rollTotal() ironlanderNames 96}}Morell{{/rollTotal() ironlanderNames 96}} + {{#rollTotal() ironlanderNames 97}}Temir{{/rollTotal() ironlanderNames 97}} + {{#rollTotal() ironlanderNames 98}}Bas{{/rollTotal() ironlanderNames 98}} + {{#rollTotal() ironlanderNames 99}}Sabine{{/rollTotal() ironlanderNames 99}} + {{#rollTotal() ironlanderNames 100}}Tallus{{/rollTotal() ironlanderNames 100}} + {{#rollTotal() ironlanderNames 101}}Segura{{/rollTotal() ironlanderNames 101}} + {{#rollTotal() ironlanderNames 102}}Gethin{{/rollTotal() ironlanderNames 102}} + {{#rollTotal() ironlanderNames 103}}Bataar{{/rollTotal() ironlanderNames 103}} + {{#rollTotal() ironlanderNames 104}}Basira{{/rollTotal() ironlanderNames 104}} + {{#rollTotal() ironlanderNames 105}}Joa{{/rollTotal() ironlanderNames 105}} + {{#rollTotal() ironlanderNames 106}}Glynn{{/rollTotal() ironlanderNames 106}} + {{#rollTotal() ironlanderNames 107}}Toran{{/rollTotal() ironlanderNames 107}} + {{#rollTotal() ironlanderNames 108}}Arasen{{/rollTotal() ironlanderNames 108}} + {{#rollTotal() ironlanderNames 109}}Kuron{{/rollTotal() ironlanderNames 109}} + {{#rollTotal() ironlanderNames 110}}Griff{{/rollTotal() ironlanderNames 110}} + {{#rollTotal() ironlanderNames 111}}Owena{{/rollTotal() ironlanderNames 111}} + {{#rollTotal() ironlanderNames 112}}Adda{{/rollTotal() ironlanderNames 112}} + {{#rollTotal() ironlanderNames 113}}Euros{{/rollTotal() ironlanderNames 113}} + {{#rollTotal() ironlanderNames 114}}Kova{{/rollTotal() ironlanderNames 114}} + {{#rollTotal() ironlanderNames 115}}Kara{{/rollTotal() ironlanderNames 115}} + {{#rollTotal() ironlanderNames 116}}Morgan{{/rollTotal() ironlanderNames 116}} + {{#rollTotal() ironlanderNames 117}}Nanda{{/rollTotal() ironlanderNames 117}} + {{#rollTotal() ironlanderNames 118}}Tamara{{/rollTotal() ironlanderNames 118}} + {{#rollTotal() ironlanderNames 119}}Asha{{/rollTotal() ironlanderNames 119}} + {{#rollTotal() ironlanderNames 120}}Delos{{/rollTotal() ironlanderNames 120}} + {{#rollTotal() ironlanderNames 121}}Torgan{{/rollTotal() ironlanderNames 121}} + {{#rollTotal() ironlanderNames 122}}Makari{{/rollTotal() ironlanderNames 122}} + {{#rollTotal() ironlanderNames 123}}Selva{{/rollTotal() ironlanderNames 123}} + {{#rollTotal() ironlanderNames 124}}Kimura{{/rollTotal() ironlanderNames 124}} + {{#rollTotal() ironlanderNames 125}}Rhian{{/rollTotal() ironlanderNames 125}} + {{#rollTotal() ironlanderNames 126}}Tristan{{/rollTotal() ironlanderNames 126}} + {{#rollTotal() ironlanderNames 127}}Siorra{{/rollTotal() ironlanderNames 127}} + {{#rollTotal() ironlanderNames 128}}Sayer{{/rollTotal() ironlanderNames 128}} + {{#rollTotal() ironlanderNames 129}}Cortina{{/rollTotal() ironlanderNames 129}} + {{#rollTotal() ironlanderNames 130}}Vesna{{/rollTotal() ironlanderNames 130}} + {{#rollTotal() ironlanderNames 131}}Kataka{{/rollTotal() ironlanderNames 131}} + {{#rollTotal() ironlanderNames 132}}Keyshia{{/rollTotal() ironlanderNames 132}} + {{#rollTotal() ironlanderNames 133}}Mila{{/rollTotal() ironlanderNames 133}} + {{#rollTotal() ironlanderNames 134}}Lili{{/rollTotal() ironlanderNames 134}} + {{#rollTotal() ironlanderNames 135}}Vigo{{/rollTotal() ironlanderNames 135}} + {{#rollTotal() ironlanderNames 136}}Sadia{{/rollTotal() ironlanderNames 136}} + {{#rollTotal() ironlanderNames 137}}Malik{{/rollTotal() ironlanderNames 137}} + {{#rollTotal() ironlanderNames 138}}Dag{{/rollTotal() ironlanderNames 138}} + {{#rollTotal() ironlanderNames 139}}Kuno{{/rollTotal() ironlanderNames 139}} + {{#rollTotal() ironlanderNames 140}}Reva{{/rollTotal() ironlanderNames 140}} + {{#rollTotal() ironlanderNames 141}}Kai{{/rollTotal() ironlanderNames 141}} + {{#rollTotal() ironlanderNames 142}}Kalina{{/rollTotal() ironlanderNames 142}} + {{#rollTotal() ironlanderNames 143}}Jihan{{/rollTotal() ironlanderNames 143}} + {{#rollTotal() ironlanderNames 144}}Hennion{{/rollTotal() ironlanderNames 144}} + {{#rollTotal() ironlanderNames 145}}Abram{{/rollTotal() ironlanderNames 145}} + {{#rollTotal() ironlanderNames 146}}Aida{{/rollTotal() ironlanderNames 146}} + {{#rollTotal() ironlanderNames 147}}Myrtle{{/rollTotal() ironlanderNames 147}} + {{#rollTotal() ironlanderNames 148}}Nekun{{/rollTotal() ironlanderNames 148}} + {{#rollTotal() ironlanderNames 149}}Menna{{/rollTotal() ironlanderNames 149}} + {{#rollTotal() ironlanderNames 150}}Tahir{{/rollTotal() ironlanderNames 150}} + {{#rollTotal() ironlanderNames 151}}Sarria{{/rollTotal() ironlanderNames 151}} + {{#rollTotal() ironlanderNames 152}}Nakura{{/rollTotal() ironlanderNames 152}} + {{#rollTotal() ironlanderNames 153}}Akiya{{/rollTotal() ironlanderNames 153}} + {{#rollTotal() ironlanderNames 154}}Talan{{/rollTotal() ironlanderNames 154}} + {{#rollTotal() ironlanderNames 155}}Mattick{{/rollTotal() ironlanderNames 155}} + {{#rollTotal() ironlanderNames 156}}Okoth{{/rollTotal() ironlanderNames 156}} + {{#rollTotal() ironlanderNames 157}}Khulan{{/rollTotal() ironlanderNames 157}} + {{#rollTotal() ironlanderNames 158}}Verena{{/rollTotal() ironlanderNames 158}} + {{#rollTotal() ironlanderNames 159}}Beltran{{/rollTotal() ironlanderNames 159}} + {{#rollTotal() ironlanderNames 160}}Del{{/rollTotal() ironlanderNames 160}} + {{#rollTotal() ironlanderNames 161}}Ranna{{/rollTotal() ironlanderNames 161}} + {{#rollTotal() ironlanderNames 162}}Alina{{/rollTotal() ironlanderNames 162}} + {{#rollTotal() ironlanderNames 163}}Muna{{/rollTotal() ironlanderNames 163}} + {{#rollTotal() ironlanderNames 164}}Mura{{/rollTotal() ironlanderNames 164}} + {{#rollTotal() ironlanderNames 165}}Torrens{{/rollTotal() ironlanderNames 165}} + {{#rollTotal() ironlanderNames 166}}Yuda{{/rollTotal() ironlanderNames 166}} + {{#rollTotal() ironlanderNames 167}}Nazmi{{/rollTotal() ironlanderNames 167}} + {{#rollTotal() ironlanderNames 168}}Ghalen{{/rollTotal() ironlanderNames 168}} + {{#rollTotal() ironlanderNames 169}}Sarda{{/rollTotal() ironlanderNames 169}} + {{#rollTotal() ironlanderNames 170}}Shona{{/rollTotal() ironlanderNames 170}} + {{#rollTotal() ironlanderNames 171}}Kalidas{{/rollTotal() ironlanderNames 171}} + {{#rollTotal() ironlanderNames 172}}Wena{{/rollTotal() ironlanderNames 172}} + {{#rollTotal() ironlanderNames 173}}Sendra{{/rollTotal() ironlanderNames 173}} + {{#rollTotal() ironlanderNames 174}}Kori{{/rollTotal() ironlanderNames 174}} + {{#rollTotal() ironlanderNames 175}}Setara{{/rollTotal() ironlanderNames 175}} + {{#rollTotal() ironlanderNames 176}}Lucia{{/rollTotal() ironlanderNames 176}} + {{#rollTotal() ironlanderNames 177}}Maya{{/rollTotal() ironlanderNames 177}} + {{#rollTotal() ironlanderNames 178}}Reema{{/rollTotal() ironlanderNames 178}} + {{#rollTotal() ironlanderNames 179}}Yorath{{/rollTotal() ironlanderNames 179}} + {{#rollTotal() ironlanderNames 180}}Rhoddri{{/rollTotal() ironlanderNames 180}} + {{#rollTotal() ironlanderNames 181}}Shekhar{{/rollTotal() ironlanderNames 181}} + {{#rollTotal() ironlanderNames 182}}Servan{{/rollTotal() ironlanderNames 182}} + {{#rollTotal() ironlanderNames 183}}Reese{{/rollTotal() ironlanderNames 183}} + {{#rollTotal() ironlanderNames 184}}Kenrick{{/rollTotal() ironlanderNames 184}} + {{#rollTotal() ironlanderNames 185}}Indirra{{/rollTotal() ironlanderNames 185}} + {{#rollTotal() ironlanderNames 186}}Giliana{{/rollTotal() ironlanderNames 186}} + {{#rollTotal() ironlanderNames 187}}Jebran{{/rollTotal() ironlanderNames 187}} + {{#rollTotal() ironlanderNames 188}}Kotama{{/rollTotal() ironlanderNames 188}} + {{#rollTotal() ironlanderNames 189}}Fara{{/rollTotal() ironlanderNames 189}} + {{#rollTotal() ironlanderNames 190}}Katrin{{/rollTotal() ironlanderNames 190}} + {{#rollTotal() ironlanderNames 191}}Namba{{/rollTotal() ironlanderNames 191}} + {{#rollTotal() ironlanderNames 192}}Lona{{/rollTotal() ironlanderNames 192}} + {{#rollTotal() ironlanderNames 193}}Taylah{{/rollTotal() ironlanderNames 193}} + {{#rollTotal() ironlanderNames 194}}Kato{{/rollTotal() ironlanderNames 194}} + {{#rollTotal() ironlanderNames 195}}Esra{{/rollTotal() ironlanderNames 195}} + {{#rollTotal() ironlanderNames 196}}Eleri{{/rollTotal() ironlanderNames 196}} + {{#rollTotal() ironlanderNames 197}}Irsia{{/rollTotal() ironlanderNames 197}} + {{#rollTotal() ironlanderNames 198}}Kayu{{/rollTotal() ironlanderNames 198}} + {{#rollTotal() ironlanderNames 199}}Bevan{{/rollTotal() ironlanderNames 199}} + {{#rollTotal() ironlanderNames 200}}Chandra{{/rollTotal() ironlanderNames 200}} +
    +
    {{/ironlanderNames}} + {{#elfNames}} +
    +
    {{elfNames}}
    +
    {{#rollBetween() elfNames 1 2}}Arsula{{/rollBetween() elfNames 1 2}} + {{#rollBetween() elfNames 3 4}}Naidita{{/rollBetween() elfNames 3 4}} + {{#rollBetween() elfNames 5 6}}Belesunna{{/rollBetween() elfNames 5 6}} + {{#rollBetween() elfNames 7 8}}Vidarna{{/rollBetween() elfNames 7 8}} + {{#rollBetween() elfNames 9 10}}Ninsunu{{/rollBetween() elfNames 9 10}} + {{#rollBetween() elfNames 11 12}}Balathu{{/rollBetween() elfNames 11 12}} + {{#rollBetween() elfNames 13 14}}Dorosi{{/rollBetween() elfNames 13 14}} + {{#rollBetween() elfNames 15 16}}Gezera{{/rollBetween() elfNames 15 16}} + {{#rollBetween() elfNames 17 18}}Zursan{{/rollBetween() elfNames 17 18}} + {{#rollBetween() elfNames 19 20}}Seleeku{{/rollBetween() elfNames 19 20}} + {{#rollBetween() elfNames 21 22}}Utamara{{/rollBetween() elfNames 21 22}} + {{#rollBetween() elfNames 23 24}}Nebakay{{/rollBetween() elfNames 23 24}} + {{#rollBetween() elfNames 25 26}}Dismashk{{/rollBetween() elfNames 25 26}} + {{#rollBetween() elfNames 27 28}}Mitunu{{/rollBetween() elfNames 27 28}} + {{#rollBetween() elfNames 29 30}}Atani{{/rollBetween() elfNames 29 30}} + {{#rollBetween() elfNames 31 32}}Kinzura{{/rollBetween() elfNames 31 32}} + {{#rollBetween() elfNames 33 34}}Sumula{{/rollBetween() elfNames 33 34}} + {{#rollBetween() elfNames 35 36}}Ukames{{/rollBetween() elfNames 35 36}} + {{#rollBetween() elfNames 37 38}}Ahmeshki{{/rollBetween() elfNames 37 38}} + {{#rollBetween() elfNames 39 40}}Ilsit{{/rollBetween() elfNames 39 40}} + {{#rollBetween() elfNames 41 42}}Mayatanay{{/rollBetween() elfNames 41 42}} + {{#rollBetween() elfNames 43 44}}Etana{{/rollBetween() elfNames 43 44}} + {{#rollBetween() elfNames 45 46}}Gamanna{{/rollBetween() elfNames 45 46}} + {{#rollBetween() elfNames 47 48}}Nessana{{/rollBetween() elfNames 47 48}} + {{#rollBetween() elfNames 49 50}}Uralar{{/rollBetween() elfNames 49 50}} + {{#rollBetween() elfNames 51 52}}Tishetu{{/rollBetween() elfNames 51 52}} + {{#rollBetween() elfNames 53 54}}Leucia{{/rollBetween() elfNames 53 54}} + {{#rollBetween() elfNames 55 56}}Sutahe{{/rollBetween() elfNames 55 56}} + {{#rollBetween() elfNames 57 58}}Dotani{{/rollBetween() elfNames 57 58}} + {{#rollBetween() elfNames 59 60}}Uktannu{{/rollBetween() elfNames 59 60}} + {{#rollBetween() elfNames 61 62}}Retenay{{/rollBetween() elfNames 61 62}} + {{#rollBetween() elfNames 63 64}}Kendalanu{{/rollBetween() elfNames 63 64}} + {{#rollBetween() elfNames 65 66}}Tahuta{{/rollBetween() elfNames 65 66}} + {{#rollBetween() elfNames 67 68}}Mattissa{{/rollBetween() elfNames 67 68}} + {{#rollBetween() elfNames 69 70}}Anatu{{/rollBetween() elfNames 69 70}} + {{#rollBetween() elfNames 71 72}}Aralu{{/rollBetween() elfNames 71 72}} + {{#rollBetween() elfNames 73 74}}Arakhi{{/rollBetween() elfNames 73 74}} + {{#rollBetween() elfNames 75 76}}Ibrahem{{/rollBetween() elfNames 75 76}} + {{#rollBetween() elfNames 77 78}}Sinosu{{/rollBetween() elfNames 77 78}} + {{#rollBetween() elfNames 79 80}}Jemshida{{/rollBetween() elfNames 79 80}} + {{#rollBetween() elfNames 81 82}}Visapni{{/rollBetween() elfNames 81 82}} + {{#rollBetween() elfNames 83 84}}Hullata{{/rollBetween() elfNames 83 84}} + {{#rollBetween() elfNames 85 86}}Sidura{{/rollBetween() elfNames 85 86}} + {{#rollBetween() elfNames 87 88}}Kerihu{{/rollBetween() elfNames 87 88}} + {{#rollBetween() elfNames 89 90}}Ereshki{{/rollBetween() elfNames 89 90}} + {{#rollBetween() elfNames 91 92}}Cybela{{/rollBetween() elfNames 91 92}} + {{#rollBetween() elfNames 93 94}}Anunna{{/rollBetween() elfNames 93 94}} + {{#rollBetween() elfNames 95 96}}Otani{{/rollBetween() elfNames 95 96}} + {{#rollBetween() elfNames 97 98}}Ditani{{/rollBetween() elfNames 97 98}} + {{#rollBetween() elfNames 99 100}}Faraza{{/rollBetween() elfNames 99 100}} +
    +
    {{/elfNames}} + {{#giantNames}} +
    +
    {{giantNames}}
    +
    {{#rollBetween() giantNames 1 4}}Chony{{/rollBetween() giantNames 1 4}} + {{#rollBetween() giantNames 5 8}}Banda{{/rollBetween() giantNames 5 8}} + {{#rollBetween() giantNames 9 12}}Jochu{{/rollBetween() giantNames 9 12}} + {{#rollBetween() giantNames 13 16}}Kira{{/rollBetween() giantNames 13 16}} + {{#rollBetween() giantNames 17 20}}Khatir{{/rollBetween() giantNames 17 20}} + {{#rollBetween() giantNames 21 24}}Chaidu{{/rollBetween() giantNames 21 24}} + {{#rollBetween() giantNames 25 28}}Atan{{/rollBetween() giantNames 25 28}} + {{#rollBetween() giantNames 29 32}}Buandu{{/rollBetween() giantNames 29 32}} + {{#rollBetween() giantNames 33 36}}Javyn{{/rollBetween() giantNames 33 36}} + {{#rollBetween() giantNames 37 40}}Khashin{{/rollBetween() giantNames 37 40}} + {{#rollBetween() giantNames 41 44}}Bayara{{/rollBetween() giantNames 41 44}} + {{#rollBetween() giantNames 45 48}}Temura{{/rollBetween() giantNames 45 48}} + {{#rollBetween() giantNames 49 52}}Kidha{{/rollBetween() giantNames 49 52}} + {{#rollBetween() giantNames 53 56}}Kathos{{/rollBetween() giantNames 53 56}} + {{#rollBetween() giantNames 57 60}}Tanua{{/rollBetween() giantNames 57 60}} + {{#rollBetween() giantNames 61 64}}Bashtu{{/rollBetween() giantNames 61 64}} + {{#rollBetween() giantNames 65 68}}Jaran{{/rollBetween() giantNames 65 68}} + {{#rollBetween() giantNames 69 72}}Othos{{/rollBetween() giantNames 69 72}} + {{#rollBetween() giantNames 73 76}}Khutan{{/rollBetween() giantNames 73 76}} + {{#rollBetween() giantNames 77 80}}Otaan{{/rollBetween() giantNames 77 80}} + {{#rollBetween() giantNames 81 84}}Martu{{/rollBetween() giantNames 81 84}} + {{#rollBetween() giantNames 85 88}}Baku{{/rollBetween() giantNames 85 88}} + {{#rollBetween() giantNames 89 92}}Tuban{{/rollBetween() giantNames 89 92}} + {{#rollBetween() giantNames 93 96}}Qudan{{/rollBetween() giantNames 93 96}} + {{#rollBetween() giantNames 97 100}}Denua{{/rollBetween() giantNames 97 100}} +
    +
    {{/giantNames}} + {{#varouNames}} +
    +
    {{varouNames}}
    +
    {{#rollBetween() varouNames 1 4}}Vata{{/rollBetween() varouNames 1 4}} + {{#rollBetween() varouNames 5 8}}Zora{{/rollBetween() varouNames 5 8}} + {{#rollBetween() varouNames 9 12}}Jasna{{/rollBetween() varouNames 9 12}} + {{#rollBetween() varouNames 13 16}}Charna{{/rollBetween() varouNames 13 16}} + {{#rollBetween() varouNames 17 20}}Tana{{/rollBetween() varouNames 17 20}} + {{#rollBetween() varouNames 21 24}}Soveen{{/rollBetween() varouNames 21 24}} + {{#rollBetween() varouNames 25 28}}Radka{{/rollBetween() varouNames 25 28}} + {{#rollBetween() varouNames 29 32}}Zlata{{/rollBetween() varouNames 29 32}} + {{#rollBetween() varouNames 33 36}}Leesla{{/rollBetween() varouNames 33 36}} + {{#rollBetween() varouNames 37 40}}Byna{{/rollBetween() varouNames 37 40}} + {{#rollBetween() varouNames 41 44}}Meeka{{/rollBetween() varouNames 41 44}} + {{#rollBetween() varouNames 45 48}}Iskra{{/rollBetween() varouNames 45 48}} + {{#rollBetween() varouNames 49 52}}Jarek{{/rollBetween() varouNames 49 52}} + {{#rollBetween() varouNames 53 56}}Darva{{/rollBetween() varouNames 53 56}} + {{#rollBetween() varouNames 57 60}}Neda{{/rollBetween() varouNames 57 60}} + {{#rollBetween() varouNames 61 64}}Keha{{/rollBetween() varouNames 61 64}} + {{#rollBetween() varouNames 65 68}}Zhivka{{/rollBetween() varouNames 65 68}} + {{#rollBetween() varouNames 69 72}}Kvata{{/rollBetween() varouNames 69 72}} + {{#rollBetween() varouNames 73 76}}Staysa{{/rollBetween() varouNames 73 76}} + {{#rollBetween() varouNames 77 80}}Evka{{/rollBetween() varouNames 77 80}} + {{#rollBetween() varouNames 81 84}}Vuksha{{/rollBetween() varouNames 81 84}} + {{#rollBetween() varouNames 85 88}}Muko{{/rollBetween() varouNames 85 88}} + {{#rollBetween() varouNames 89 92}}Dreko{{/rollBetween() varouNames 89 92}} + {{#rollBetween() varouNames 93 96}}Aleko{{/rollBetween() varouNames 93 96}} + {{#rollBetween() varouNames 97 100}}Vojan{{/rollBetween() varouNames 97 100}} +
    +
    {{/varouNames}} + {{#trollNames}} +
    +
    {{trollNames}}
    +
    {{#rollBetween() trollNames 1 4}}Rattle{{/rollBetween() trollNames 1 4}} + {{#rollBetween() trollNames 5 8}}Scratch{{/rollBetween() trollNames 5 8}} + {{#rollBetween() trollNames 9 12}}Wallow{{/rollBetween() trollNames 9 12}} + {{#rollBetween() trollNames 13 16}}Groak{{/rollBetween() trollNames 13 16}} + {{#rollBetween() trollNames 17 20}}Gimble{{/rollBetween() trollNames 17 20}} + {{#rollBetween() trollNames 21 24}}Scar{{/rollBetween() trollNames 21 24}} + {{#rollBetween() trollNames 25 28}}Cratch{{/rollBetween() trollNames 25 28}} + {{#rollBetween() trollNames 29 32}}Creech{{/rollBetween() trollNames 29 32}} + {{#rollBetween() trollNames 33 36}}Shush{{/rollBetween() trollNames 33 36}} + {{#rollBetween() trollNames 37 40}}Glush{{/rollBetween() trollNames 37 40}} + {{#rollBetween() trollNames 41 44}}Slar{{/rollBetween() trollNames 41 44}} + {{#rollBetween() trollNames 45 48}}Gnash{{/rollBetween() trollNames 45 48}} + {{#rollBetween() trollNames 49 52}}Stoad{{/rollBetween() trollNames 49 52}} + {{#rollBetween() trollNames 53 56}}Grig{{/rollBetween() trollNames 53 56}} + {{#rollBetween() trollNames 57 60}}Bleat{{/rollBetween() trollNames 57 60}} + {{#rollBetween() trollNames 61 64}}Chortle{{/rollBetween() trollNames 61 64}} + {{#rollBetween() trollNames 65 68}}Cluck{{/rollBetween() trollNames 65 68}} + {{#rollBetween() trollNames 69 72}}Slith{{/rollBetween() trollNames 69 72}} + {{#rollBetween() trollNames 73 76}}Mongo{{/rollBetween() trollNames 73 76}} + {{#rollBetween() trollNames 77 80}}Creak{{/rollBetween() trollNames 77 80}} + {{#rollBetween() trollNames 81 84}}Burble{{/rollBetween() trollNames 81 84}} + {{#rollBetween() trollNames 85 88}}Vrusk{{/rollBetween() trollNames 85 88}} + {{#rollBetween() trollNames 89 92}}Snuffle{{/rollBetween() trollNames 89 92}} + {{#rollBetween() trollNames 93 96}}Leech{{/rollBetween() trollNames 93 96}} + {{#rollBetween() trollNames 97 100}}Herk{{/rollBetween() trollNames 97 100}} +
    +
    {{/trollNames}} + {{#combatAction}} +
    +
    {{combatAction}}
    +
    {{#rollBetween() combatAction 1 3}}Compel a surrender.{{/rollBetween() combatAction 1 3}} + {{#rollBetween() combatAction 4 6}}Coordinate with allies.{{/rollBetween() combatAction 4 6}} + {{#rollBetween() combatAction 7 9}}Gather reinforcements{{/rollBetween() combatAction 7 9}} + {{#rollBetween() combatAction 10 13}}Seize something or someone{{/rollBetween() combatAction 10 13}} + {{#rollBetween() combatAction 14 17}}Provoke a reckless response{{/rollBetween() combatAction 14 17}} + {{#rollBetween() combatAction 18 21}}Intimidate or frighten{{/rollBetween() combatAction 18 21}} + {{#rollBetween() combatAction 22 25}}Reveal a surprising truth.{{/rollBetween() combatAction 22 25}} + {{#rollBetween() combatAction 26 29}}Shift focus to someone or something else.{{/rollBetween() combatAction 26 29}} + {{#rollBetween() combatAction 30 33}}Destroy something, or render it useless.{{/rollBetween() combatAction 30 33}} + {{#rollBetween() combatAction 34 39}}Take a decisive action.{{/rollBetween() combatAction 34 39}} + {{#rollBetween() combatAction 40 45}}Reinforce defenses.{{/rollBetween() combatAction 40 45}} + {{#rollBetween() combatAction 46 52}}Ready an action.{{/rollBetween() combatAction 46 52}} + {{#rollBetween() combatAction 53 60}}Use the terrain to gain advantage. {{/rollBetween() combatAction 53 60}} + {{#rollBetween() combatAction 61 68}}Leverage the advantage of a weapon or ability.{{/rollBetween() combatAction 61 68}} + {{#rollBetween() combatAction 69 78}}Create an opportunity.{{/rollBetween() combatAction 69 78}} + {{#rollBetween() combatAction 79 89}}Attack with precision. {{/rollBetween() combatAction 79 89}} + {{#rollBetween() combatAction 90 99}}Attack with power.{{/rollBetween() combatAction 90 99}} + {{#rollTotal() combatAction 100}}Take a completely unexpected action.{{/rollTotal() combatAction 100}} +
    +
    {{/combatAction}} + {{#mysticBacklash}} +
    +
    {{mysticBacklash}}
    +
    {{#rollBetween() mysticBacklash 1 4}}Your ritual has the opposite affect.{{/rollBetween() mysticBacklash 1 4}} + {{#rollBetween() mysticBacklash 5 8}}You are sapped of strength.{{/rollBetween() mysticBacklash 5 8}} + {{#rollBetween() mysticBacklash 9 12}}Your friend, ally, or companion is adversely affected.{{/rollBetween() mysticBacklash 9 12}} + {{#rollBetween() mysticBacklash 13 16}}You destroy an important object.{{/rollBetween() mysticBacklash 13 16}} + {{#rollBetween() mysticBacklash 17 20}}You inadvertently summon a horror.{{/rollBetween() mysticBacklash 17 20}} + {{#rollBetween() mysticBacklash 21 24}}You collapse, and drift into a troubled sleep.{{/rollBetween() mysticBacklash 21 24}} + {{#rollBetween() mysticBacklash 25 28}}You undergo a physical torment which leaves its mark upon you.{{/rollBetween() mysticBacklash 25 28}} + {{#rollBetween() mysticBacklash 29 32}}You hear ghostly voices whispering of dark portents.{{/rollBetween() mysticBacklash 29 32}} + {{#rollBetween() mysticBacklash 33 36}} + You are lost in shadow, and find yourself in another place without memory of how you got + there.{{/rollBetween() mysticBacklash 33 36}} + {{#rollBetween() mysticBacklash 37 40}}You alert someone or something to your presence.{{/rollBetween() mysticBacklash 37 40}} + {{#rollBetween() mysticBacklash 41 44}}You are not yourself, and act against a friend, ally, or companion.{{/rollBetween() mysticBacklash 41 44}} + {{#rollBetween() mysticBacklash 45 48}}You affect or damage your surroundings, causing a disturbance or potential harm.{{/rollBetween() mysticBacklash 45 48}} + {{#rollBetween() mysticBacklash 49 52}}You waste resources.{{/rollBetween() mysticBacklash 49 52}} + {{#rollBetween() mysticBacklash 53 56}}You suffer the loss of a sense for several hours.{{/rollBetween() mysticBacklash 53 56}} + {{#rollBetween() mysticBacklash 57 60}}You lose your connection to magic for a day or so, and cannot perform rituals.{{/rollBetween() mysticBacklash 57 60}} + {{#rollBetween() mysticBacklash 61 64}}Your ritual affects the target in an unexpected and problematic way.{{/rollBetween() mysticBacklash 61 64}} + {{#rollBetween() mysticBacklash 65 68}}Your ritual reveals a surprising and troubling truth.{{/rollBetween() mysticBacklash 65 68}} + {{#rollBetween() mysticBacklash 69 72}}You are tempted by dark powers.{{/rollBetween() mysticBacklash 69 72}} + {{#rollBetween() mysticBacklash 73 76}}You see a troubling vision of your future.{{/rollBetween() mysticBacklash 73 76}} + {{#rollBetween() mysticBacklash 77 80}}You can't perform this ritual again until you acquire an important component.{{/rollBetween() mysticBacklash 77 80}} + {{#rollBetween() mysticBacklash 81 84}}You develop a strange fear or compulsion.{{/rollBetween() mysticBacklash 81 84}} + {{#rollBetween() mysticBacklash 85 88}}Your ritual causes creatures to exhibit strange or aggressive behavior.{{/rollBetween() mysticBacklash 85 88}} + {{#rollBetween() mysticBacklash 89 92}}You are tormented by an apparition from your past.{{/rollBetween() mysticBacklash 89 92}} + {{#rollBetween() mysticBacklash 93 96}}You are wracked with sudden sickness.{{/rollBetween() mysticBacklash 93 96}} + {{#rollBetween() mysticBacklash 97 100}} + Roll twice more on this table. Both results occur. If they are the same result, make it + worse{{/rollBetween() mysticBacklash 97 100}} +
    +
    {{/mysticBacklash}} + {{#majorPlotTwist}} +
    +
    {{majorPlotTwist}}
    +
    {{#rollBetween() majorPlotTwist 1 5}}It was all a diversion.{{/rollBetween() majorPlotTwist 1 5}} + {{#rollBetween() majorPlotTwist 6 10}}A dark secret is revealed.{{/rollBetween() majorPlotTwist 6 10}} + {{#rollBetween() majorPlotTwist 11 15}}A trap is sprung.{{/rollBetween() majorPlotTwist 11 15}} + {{#rollBetween() majorPlotTwist 16 20}}An assumption is revealed to be false.{{/rollBetween() majorPlotTwist 16 20}} + {{#rollBetween() majorPlotTwist 21 25}}A secret alliance is revealed.{{/rollBetween() majorPlotTwist 21 25}} + {{#rollBetween() majorPlotTwist 26 30}}Your actions benefit an enemy.{{/rollBetween() majorPlotTwist 26 30}} + {{#rollBetween() majorPlotTwist 31 35}}Someone returns unexpectedly.{{/rollBetween() majorPlotTwist 31 35}} + {{#rollBetween() majorPlotTwist 36 40}}A more dangerous foe is revealed.{{/rollBetween() majorPlotTwist 36 40}} + {{#rollBetween() majorPlotTwist 41 45}}You and an enemy share a common goal.{{/rollBetween() majorPlotTwist 41 45}} + {{#rollBetween() majorPlotTwist 46 50}}A true identity is revealed.{{/rollBetween() majorPlotTwist 46 50}} + {{#rollBetween() majorPlotTwist 51 55}}You are betrayed by someone who was trusted.{{/rollBetween() majorPlotTwist 51 55}} + {{#rollBetween() majorPlotTwist 56 60}}You are too late.{{/rollBetween() majorPlotTwist 56 60}} + {{#rollBetween() majorPlotTwist 61 65}}The true enemy is revealed.{{/rollBetween() majorPlotTwist 61 65}} + {{#rollBetween() majorPlotTwist 66 70}}The enemy gains new allies.{{/rollBetween() majorPlotTwist 66 70}} + {{#rollBetween() majorPlotTwist 71 75}}A new danger appears.{{/rollBetween() majorPlotTwist 71 75}} + {{#rollBetween() majorPlotTwist 76 80}}Someone or something goes missing.{{/rollBetween() majorPlotTwist 76 80}} + {{#rollBetween() majorPlotTwist 81 85}}The truth of a relationship is revealed.{{/rollBetween() majorPlotTwist 81 85}} + {{#rollBetween() majorPlotTwist 86 90}}Two seemingly unrelated situations are shown to be connected.{{/rollBetween() majorPlotTwist 86 90}} + {{#rollBetween() majorPlotTwist 91 95}}Unexpected powers or abilities are revealed.{{/rollBetween() majorPlotTwist 91 95}} + {{#rollBetween() majorPlotTwist 96 100}} + Roll twice more on this table. Both results occur. If they are the same result, make it more + dramatic.{{/rollBetween() majorPlotTwist 96 100}} +
    +
    {{/majorPlotTwist}} + {{#challengeRank}} +
    +
    {{challengeRank}}
    +
    {{#rollBetween() challengeRank 1 20}}Troublesome{{/rollBetween() challengeRank 1 20}} + {{#rollBetween() challengeRank 21 55}}Dangerous{{/rollBetween() challengeRank 21 55}} + {{#rollBetween() challengeRank 56 80}}Formidable{{/rollBetween() challengeRank 56 80}} + {{#rollBetween() challengeRank 81 93}}Extreme{{/rollBetween() challengeRank 81 93}} + {{#rollBetween() challengeRank 94 100}}Epic{{/rollBetween() challengeRank 94 100}} +
    +
    {{/challengeRank}} + {{#almostCertain}} + {{#rollBetween() almostCertain 11 100}} +
    +
    {{almostCertain}}
    +
    Yes
    +
    {{#rollTotal() almostCertain 11}} +
    +
    An extreme result or twist has occurred.
    +
    {{/rollTotal() almostCertain 11}} + {{/rollBetween() almostCertain 11 100}} + {{#^rollBetween() almostCertain 11 100}} +
    +
    {{almostCertain}}
    +
    No
    +
    {{/^rollBetween() almostCertain 11 100}} + {{/almostCertain}} + {{#likely}} + {{#rollBetween() likely 26 100}} +
    +
    {{likely}}
    +
    Yes
    +
    {{#rollTotal() likely 26}} +
    +
    An extreme result or twist has occurred.
    +
    {{/rollTotal() likely 26}} + {{/rollBetween() likely 26 100}} + {{#^rollBetween() likely 26 100}} +
    +
    {{likely}}
    +
    No
    +
    {{/^rollBetween() likely 26 100}} + {{/likely}} + {{#fiftyFifty}} + {{#rollBetween() fiftyFifty 51 100}} +
    +
    {{fiftyFifty}}
    +
    Yes
    +
    {{#rollTotal() fiftyFifty 51}} +
    +
    An extreme result or twist has occurred.
    +
    {{/rollTotal() fiftyFifty 51}} + {{/rollBetween() fiftyFifty 51 100}} + {{#^rollBetween() fiftyFifty 51 100}} +
    +
    {{fiftyFifty}}
    +
    No
    +
    {{/^rollBetween() fiftyFifty 51 100}} + {{/fiftyFifty}} + {{#unlikely}} + {{#rollBetween() unlikely 76 100}} +
    +
    {{unlikely}}
    +
    Yes
    +
    {{#rollTotal() unlikely 76}} +
    +
    An extreme result or twist has occurred.
    +
    {{/rollTotal() unlikely 76}} + {{/rollBetween() unlikely 76 100}} + {{#^rollBetween() unlikely 76 100}} +
    +
    {{unlikely}}
    +
    No
    +
    {{/^rollBetween() unlikely 76 100}} + {{/unlikely}} + {{#smallChance}} + {{#rollBetween() smallChance 91 100}} +
    +
    {{smallChance}}
    +
    Yes
    +
    {{#rollTotal() smallChance 91}} +
    +
    An extreme result or twist has occurred.
    +
    {{/rollTotal() smallChance 91}} + {{/rollBetween() smallChance 91 100}} + {{#^rollBetween() smallChance 91 100}} +
    +
    {{smallChance}}
    +
    No
    +
    {{/^rollBetween() smallChance 91 100}} + {{/smallChance}} + {{#payThePrice}} +
    +
    {{payThePrice}}
    +
    {{#rollBetween() payThePrice 1 2}}Roll again and apply that result but make it worse. If you roll this result yet again, think of something dreadful that changes the course of your quest and make it happen.{{/rollBetween() payThePrice 1 2}} + {{#rollBetween() payThePrice 3 5}}A person or community you trusted loses faith in you, or acts against you.{{/rollBetween() payThePrice 3 5}} + {{#rollBetween() payThePrice 6 8}}A person or community you care about is exposed to danger.{{/rollBetween() payThePrice 6 8}} + {{#rollBetween() payThePrice 9 15}}You are separated from something or someone.{{/rollBetween() payThePrice 9 15}} + {{#rollBetween() payThePrice 16 22}}Your action has an unintended effect.{{/rollBetween() payThePrice 16 22}} + {{#rollBetween() payThePrice 23 29}}Something of value is lost or destroyed.{{/rollBetween() payThePrice 23 29}} + {{#rollBetween() payThePrice 30 36}}The current situation worsens{{/rollBetween() payThePrice 30 36}} + {{#rollBetween() payThePrice 37 43}}A new danger or foe is revealed.{{/rollBetween() payThePrice 37 43}} + {{#rollBetween() payThePrice 44 52}}It causes a delay or puts you at a disadvantage.{{/rollBetween() payThePrice 44 52}} + {{#rollBetween() payThePrice 53 61}}It is harmful.{{/rollBetween() payThePrice 53 61}} + {{#rollBetween() payThePrice 62 70}}It is stressful.{{/rollBetween() payThePrice 62 70}} + {{#rollBetween() payThePrice 71 77}}It is wasteful.{{/rollBetween() payThePrice 71 77}} + {{#rollBetween() payThePrice 78 84}}You got a negative condition.{{/rollBetween() payThePrice 78 84}} + {{#rollBetween() payThePrice 85 89}}A surprising development complicates your quest.{{/rollBetween() payThePrice 85 89}} + {{#rollBetween() payThePrice 90 94}}It forces you to act against your best intentions.{{/rollBetween() payThePrice 90 94}} + {{#rollBetween() payThePrice 95 99}}A friend, companion, or ally is put in harm’s way (or you are, if alone).{{/rollBetween() payThePrice 95 99}} + {{#rollTotal() payThePrice 100}}Roll twice more on this table. Both results occur. If they are the same result, make it worse.{{/rollTotal() payThePrice 100}} +
    +
    {{/payThePrice}} + {{#endureHarm}} +
    +
    {{endureHarm}}
    +
    {{#rollBetween() endureHarm 1 10}}The harm is mortal. Face Death.{{/rollBetween() endureHarm 1 10}} + {{#rollBetween() endureHarm 11 20}}You are dying. You need to Heal within an hour or two, or Face Death.{{/rollBetween() endureHarm 11 20}} + {{#rollBetween() endureHarm 21 35}} + You are unconscious and out of action. If left alone, you come back to your senses in + an hour or two. If you are vulnerable to a foe not inclined to show mercy, + Face + Death.{{/rollBetween() endureHarm 21 35}} + {{#rollBetween() endureHarm 36 50}} + You are reeling and fighting to stay conscious. If you engage in any vigorous activity + (such as running or fighting) before taking a breather for a few minutes, roll on this table again + (before resolving the other move).{{/rollBetween() endureHarm 36 50}} + {{#rollBetween() endureHarm 51 100}}You are battered but still standing.{{/rollBetween() endureHarm 51 100}} +
    +
    {{/endureHarm}} + {{#endureStress}} +
    +
    {{endureStress}}
    +
    {{#rollBetween() endureStress 1 10}}You are overwhelmed. Face Desolation.{{/rollBetween() endureStress 1 10}} + {{#rollBetween() endureStress 11 25}}You give up. Forsake Your Vow (if possible, one relevant to your current crisis). If this is a companion, Test Their Loyalty.{{/rollBetween() endureStress 11 25}} + {{#rollBetween() endureStress 26 50}}You give in to a fear or compulsion, and act against your better instincts. Manifest Insanity.{{/rollBetween() endureStress 26 50}} + {{#rollBetween() endureStress 51 80}}You persevere.{{/rollBetween() endureStress 51 80}} + {{#rollBetween() endureStress 81 85}}You get a moment of clarity in the eye of the storm. If you have the shaken condition card, discard it. Take +4 spirit and +8 momentum. Then, add +2 to your next move.{{/rollBetween() endureStress 81 85}} + {{#rollBetween() endureStress 86 90}}You get virtuous in the face of chaos. If you have the shaken condition card, discard it. Then, take +4 spirit and draw up to your maximum of resilience cards.{{/rollBetween() endureStress 86 90}} + {{#rollBetween() endureStress 91 95}}Your body harvest vigor. If you have the shaken condition card, discard it. Then, take +4 spirit and +1d12 health.{{/rollBetween() endureStress 91 95}} + {{#rollBetween() endureStress 96 100}}Your spirit shines brightest against a backdrop of desolation. If you have the shaken condition card, discard it. Then, take +8 spirit.{{/rollBetween() endureStress 96 100}} +
    +
    {{/endureStress}} +
    +
    + +
    +
    {{header}}
    {{#featureAspect}} +
    +
    {{featureAspect}}
    +
    + {{#rollBetween() featureAspect 1 2}} + Blocked + {{/rollBetween() featureAspect 1 2}} + {{#rollBetween() featureAspect 3 4}} + Crafted + {{/rollBetween() featureAspect 3 4}} + {{#rollBetween() featureAspect 5 6}} + Ancient + {{/rollBetween() featureAspect 5 6}} + {{#rollBetween() featureAspect 7 8}} + Sunken + {{/rollBetween() featureAspect 7 8}} + {{#rollBetween() featureAspect 9 10}} + Trapped + {{/rollBetween() featureAspect 9 10}} + {{#rollBetween() featureAspect 11 12}} + Secret + {{/rollBetween() featureAspect 11 12}} + {{#rollBetween() featureAspect 13 14}} + Toxic + {{/rollBetween() featureAspect 13 14}} + {{#rollBetween() featureAspect 15 16}} + Ruined + {{/rollBetween() featureAspect 15 16}} + {{#rollBetween() featureAspect 17 18}} + Defended + {{/rollBetween() featureAspect 17 18}} + {{#rollBetween() featureAspect 19 20}} + Decaying + {{/rollBetween() featureAspect 19 20}} + {{#rollBetween() featureAspect 21 22}} + Marked + {{/rollBetween() featureAspect 21 22}} + {{#rollBetween() featureAspect 23 24}} + Guarded + {{/rollBetween() featureAspect 23 24}} + {{#rollBetween() featureAspect 25 26}} + Inaccessible + {{/rollBetween() featureAspect 25 26}} + {{#rollBetween() featureAspect 27 28}} + Foreboding + {{/rollBetween() featureAspect 27 28}} + {{#rollBetween() featureAspect 29 30}} + Veiled + {{/rollBetween() featureAspect 29 30}} + {{#rollBetween() featureAspect 31 32}} + Deep + {{/rollBetween() featureAspect 31 32}} + {{#rollBetween() featureAspect 33 34}} + Depleted + {{/rollBetween() featureAspect 33 34}} + {{#rollBetween() featureAspect 35 36}} + Foul + {{/rollBetween() featureAspect 35 36}} + {{#rollBetween() featureAspect 37 38}} + Elevated + {{/rollBetween() featureAspect 37 38}} + {{#rollBetween() featureAspect 39 40}} + Moving + {{/rollBetween() featureAspect 39 40}} + {{#rollBetween() featureAspect 41 42}} + Unnatural + {{/rollBetween() featureAspect 41 42}} + {{#rollBetween() featureAspect 43 44}} + Active + {{/rollBetween() featureAspect 43 44}} + {{#rollBetween() featureAspect 45 46}} + Confined + {{/rollBetween() featureAspect 45 46}} + {{#rollBetween() featureAspect 47 48}} + Fortified + {{/rollBetween() featureAspect 47 48}} + {{#rollBetween() featureAspect 49 50}} + Collapsed + {{/rollBetween() featureAspect 49 50}} + {{#rollBetween() featureAspect 51 52}} + Isolated + {{/rollBetween() featureAspect 51 52}} + {{#rollBetween() featureAspect 53 54}} + Destroyed + {{/rollBetween() featureAspect 53 54}} + {{#rollBetween() featureAspect 55 56}} + Open + {{/rollBetween() featureAspect 55 56}} + {{#rollBetween() featureAspect 57 58}} + Sacred + {{/rollBetween() featureAspect 57 58}} + {{#rollBetween() featureAspect 59 60}} + Flooded + {{/rollBetween() featureAspect 59 60}} + {{#rollBetween() featureAspect 61 62}} + Complex + {{/rollBetween() featureAspect 61 62}} + {{#rollBetween() featureAspect 63 64}} + Abundant + {{/rollBetween() featureAspect 63 64}} + {{#rollBetween() featureAspect 65 66}} + Hidden + {{/rollBetween() featureAspect 65 66}} + {{#rollBetween() featureAspect 67 68}} + Expansive + {{/rollBetween() featureAspect 67 68}} + {{#rollBetween() featureAspect 69 70}} + Mysterious + {{/rollBetween() featureAspect 69 70}} + {{#rollBetween() featureAspect 71 72}} + Unstable + {{/rollBetween() featureAspect 71 72}} + {{#rollBetween() featureAspect 73 74}} + Fragile + {{/rollBetween() featureAspect 73 74}} + {{#rollBetween() featureAspect 75 76}} + Broken + {{/rollBetween() featureAspect 75 76}} + {{#rollBetween() featureAspect 77 78}} + Ensnaring + {{/rollBetween() featureAspect 77 78}} + {{#rollBetween() featureAspect 79 80}} + Pillaged + {{/rollBetween() featureAspect 79 80}} + {{#rollBetween() featureAspect 81 82}} + Sealed + {{/rollBetween() featureAspect 81 82}} + {{#rollBetween() featureAspect 83 84}} + Makeshift + {{/rollBetween() featureAspect 83 84}} + {{#rollBetween() featureAspect 85 86}} + Treacherous + {{/rollBetween() featureAspect 85 86}} + {{#rollBetween() featureAspect 87 88}} + Natural + {{/rollBetween() featureAspect 87 88}} + {{#rollBetween() featureAspect 89 90}} + Dead + {{/rollBetween() featureAspect 89 90}} + {{#rollBetween() featureAspect 91 92}} + Unusual + {{/rollBetween() featureAspect 91 92}} + {{#rollBetween() featureAspect 93 94}} + Abandoned + {{/rollBetween() featureAspect 93 94}} + {{#rollBetween() featureAspect 95 96}} + Deadly + {{/rollBetween() featureAspect 95 96}} + {{#rollBetween() featureAspect 97 98}} + Forgotten + {{/rollBetween() featureAspect 97 98}} + {{#rollBetween() featureAspect 99 100}} + Mystical + {{/rollBetween() featureAspect 99 100}} +
    +
    {{/featureAspect}} + {{#featureFocus}} +
    +
    {{featureFocus}}
    +
    + {{#rollBetween() featureFocus 1 2}} + Attack + {{/rollBetween() featureFocus 1 2}} + {{#rollBetween() featureFocus 3 4}} + Threshold + {{/rollBetween() featureFocus 3 4}} + {{#rollBetween() featureFocus 5 6}} + Boundary + {{/rollBetween() featureFocus 5 6}} + {{#rollBetween() featureFocus 7 8}} + Alarm + {{/rollBetween() featureFocus 7 8}} + {{#rollBetween() featureFocus 9 10}} + Exit + {{/rollBetween() featureFocus 9 10}} + {{#rollBetween() featureFocus 11 12}} + Passage + {{/rollBetween() featureFocus 11 12}} + {{#rollBetween() featureFocus 13 14}} + Crossing + {{/rollBetween() featureFocus 13 14}} + {{#rollBetween() featureFocus 15 16}} + Trigger + {{/rollBetween() featureFocus 15 16}} + {{#rollBetween() featureFocus 17 18}} + Trap + {{/rollBetween() featureFocus 17 18}} + {{#rollBetween() featureFocus 19 20}} + Hideaway + {{/rollBetween() featureFocus 19 20}} + {{#rollBetween() featureFocus 21 22}} + Nature + {{/rollBetween() featureFocus 21 22}} + {{#rollBetween() featureFocus 23 24}} + Sign + {{/rollBetween() featureFocus 23 24}} + {{#rollBetween() featureFocus 25 26}} + Refuge + {{/rollBetween() featureFocus 25 26}} + {{#rollBetween() featureFocus 27 28}} + Valuables + {{/rollBetween() featureFocus 27 28}} + {{#rollBetween() featureFocus 29 30}} + Breach + {{/rollBetween() featureFocus 29 30}} + {{#rollBetween() featureFocus 31 32}} + Route + {{/rollBetween() featureFocus 31 32}} + {{#rollBetween() featureFocus 33 34}} + Location + {{/rollBetween() featureFocus 33 34}} + {{#rollBetween() featureFocus 35 36}} + Trail + {{/rollBetween() featureFocus 35 36}} + {{#rollBetween() featureFocus 37 38}} + Supply + {{/rollBetween() featureFocus 37 38}} + {{#rollBetween() featureFocus 39 40}} + History + {{/rollBetween() featureFocus 39 40}} + {{#rollBetween() featureFocus 41 42}} + Prisoner + {{/rollBetween() featureFocus 41 42}} + {{#rollBetween() featureFocus 43 44}} + Habitation + {{/rollBetween() featureFocus 43 44}} + {{#rollBetween() featureFocus 45 46}} + Debris + {{/rollBetween() featureFocus 45 46}} + {{#rollBetween() featureFocus 47 48}} + Creature + {{/rollBetween() featureFocus 47 48}} + {{#rollBetween() featureFocus 49 50}} + Lair + {{/rollBetween() featureFocus 49 50}} + {{#rollBetween() featureFocus 51 52}} + Person + {{/rollBetween() featureFocus 51 52}} + {{#rollBetween() featureFocus 53 54}} + Enclosure + {{/rollBetween() featureFocus 53 54}} + {{#rollBetween() featureFocus 55 56}} + Remains + {{/rollBetween() featureFocus 55 56}} + {{#rollBetween() featureFocus 57 58}} + Water + {{/rollBetween() featureFocus 57 58}} + {{#rollBetween() featureFocus 59 60}} + Message + {{/rollBetween() featureFocus 59 60}} + {{#rollBetween() featureFocus 61 62}} + Darkness + {{/rollBetween() featureFocus 61 62}} + {{#rollBetween() featureFocus 63 64}} + Opening + {{/rollBetween() featureFocus 63 64}} + {{#rollBetween() featureFocus 65 66}} + Weapon + {{/rollBetween() featureFocus 65 66}} + {{#rollBetween() featureFocus 67 68}} + Entry + {{/rollBetween() featureFocus 67 68}} + {{#rollBetween() featureFocus 69 70}} + Illumination + {{/rollBetween() featureFocus 69 70}} + {{#rollBetween() featureFocus 71 72}} + Obstacle + {{/rollBetween() featureFocus 71 72}} + {{#rollBetween() featureFocus 73 74}} + Craft + {{/rollBetween() featureFocus 73 74}} + {{#rollBetween() featureFocus 75 76}} + Container + {{/rollBetween() featureFocus 75 76}} + {{#rollBetween() featureFocus 77 78}} + Information + {{/rollBetween() featureFocus 77 78}} + {{#rollBetween() featureFocus 79 80}} + Grave + {{/rollBetween() featureFocus 79 80}} + {{#rollBetween() featureFocus 81 82}} + Equipment + {{/rollBetween() featureFocus 81 82}} + {{#rollBetween() featureFocus 83 84}} + Shelter + {{/rollBetween() featureFocus 83 84}} + {{#rollBetween() featureFocus 85 86}} + Denizen + {{/rollBetween() featureFocus 85 86}} + {{#rollBetween() featureFocus 87 88}} + Environment + {{/rollBetween() featureFocus 87 88}} + {{#rollBetween() featureFocus 89 90}} + Material + {{/rollBetween() featureFocus 89 90}} + {{#rollBetween() featureFocus 91 92}} + Resource + {{/rollBetween() featureFocus 91 92}} + {{#rollBetween() featureFocus 93 94}} + Corruption + {{/rollBetween() featureFocus 93 94}} + {{#rollBetween() featureFocus 95 96}} + Death + {{/rollBetween() featureFocus 95 96}} + {{#rollBetween() featureFocus 97 98}} + Function + {{/rollBetween() featureFocus 97 98}} + {{#rollBetween() featureFocus 99 100}} + Power + {{/rollBetween() featureFocus 99 100}} +
    +
    {{/featureFocus}} + {{#siteNameFormat}} +
    +
    {{siteNameFormat}}
    +
    + {{#rollBetween() siteNameFormat 1 25}} + [Description] [Place] + {{/rollBetween() siteNameFormat 1 25}} + {{#rollBetween() siteNameFormat 26 50}} + [Place] of [Detail] + {{/rollBetween() siteNameFormat 26 50}} + {{#rollBetween() siteNameFormat 51 70}} + [Place] of [Description] [Detail] + {{/rollBetween() siteNameFormat 51 70}} + {{#rollBetween() siteNameFormat 71 80}} + [Place] of [Namesake's] [Detail] + {{/rollBetween() siteNameFormat 71 80}} + {{#rollBetween() siteNameFormat 81 85}} + [Namesake's] [Place] + {{/rollBetween() siteNameFormat 81 85}} + {{#rollBetween() siteNameFormat 86 95}} + [Description] [Place] of [Namesake] + {{/rollBetween() siteNameFormat 86 95}} + {{#rollBetween() siteNameFormat 96 100}} + [Place] of [Namesake] + {{/rollBetween() siteNameFormat 96 100}} +
    +
    {{/siteNameFormat}} + {{#siteNameDesc}} +
    +
    {{siteNameDesc}}
    +
    + {{#rollBetween() siteNameDesc 1 2}} + Deep + {{/rollBetween() siteNameDesc 1 2}} + {{#rollBetween() siteNameDesc 3 4}} + Tainted + {{/rollBetween() siteNameDesc 3 4}} + {{#rollBetween() siteNameDesc 5 6}} + Grey + {{/rollBetween() siteNameDesc 5 6}} + {{#rollBetween() siteNameDesc 7 8}} + Forgotten + {{/rollBetween() siteNameDesc 7 8}} + {{#rollBetween() siteNameDesc 9 10}} + Flooded + {{/rollBetween() siteNameDesc 9 10}} + {{#rollBetween() siteNameDesc 11 12}} + Forbidden + {{/rollBetween() siteNameDesc 11 12}} + {{#rollBetween() siteNameDesc 13 14}} + Barren + {{/rollBetween() siteNameDesc 13 14}} + {{#rollBetween() siteNameDesc 15 16}} + Lost + {{/rollBetween() siteNameDesc 15 16}} + {{#rollBetween() siteNameDesc 17 18}} + Cursed + {{/rollBetween() siteNameDesc 17 18}} + {{#rollBetween() siteNameDesc 19 20}} + Fell + {{/rollBetween() siteNameDesc 19 20}} + {{#rollBetween() siteNameDesc 21 22}} + Sunken + {{/rollBetween() siteNameDesc 21 22}} + {{#rollBetween() siteNameDesc 23 24}} + Nightmare + {{/rollBetween() siteNameDesc 23 24}} + {{#rollBetween() siteNameDesc 25 26}} + Infernal + {{/rollBetween() siteNameDesc 25 26}} + {{#rollBetween() siteNameDesc 27 28}} + Dark + {{/rollBetween() siteNameDesc 27 28}} + {{#rollBetween() siteNameDesc 29 30}} + Bloodstained + {{/rollBetween() siteNameDesc 29 30}} + {{#rollBetween() siteNameDesc 31 32}} + Haunted + {{/rollBetween() siteNameDesc 31 32}} + {{#rollBetween() siteNameDesc 33 34}} + White + {{/rollBetween() siteNameDesc 33 34}} + {{#rollBetween() siteNameDesc 35 36}} + Shrouded + {{/rollBetween() siteNameDesc 35 36}} + {{#rollBetween() siteNameDesc 37 38}} + Wasted + {{/rollBetween() siteNameDesc 37 38}} + {{#rollBetween() siteNameDesc 39 40}} + Grim + {{/rollBetween() siteNameDesc 39 40}} + {{#rollBetween() siteNameDesc 41 42}} + Endless + {{/rollBetween() siteNameDesc 41 42}} + {{#rollBetween() siteNameDesc 43 44}} + Crumbling + {{/rollBetween() siteNameDesc 43 44}} + {{#rollBetween() siteNameDesc 45 46}} + Undying + {{/rollBetween() siteNameDesc 45 46}} + {{#rollBetween() siteNameDesc 47 48}} + Bloodied + {{/rollBetween() siteNameDesc 47 48}} + {{#rollBetween() siteNameDesc 49 50}} + Forsaken + {{/rollBetween() siteNameDesc 49 50}} + {{#rollBetween() siteNameDesc 51 52}} + Silent + {{/rollBetween() siteNameDesc 51 52}} + {{#rollBetween() siteNameDesc 53 54}} + Blighted + {{/rollBetween() siteNameDesc 53 54}} + {{#rollBetween() siteNameDesc 55 56}} + Iron + {{/rollBetween() siteNameDesc 55 56}} + {{#rollBetween() siteNameDesc 57 58}} + Frozen + {{/rollBetween() siteNameDesc 57 58}} + {{#rollBetween() siteNameDesc 59 60}} + Abyssal + {{/rollBetween() siteNameDesc 59 60}} + {{#rollBetween() siteNameDesc 61 62}} + Crimson + {{/rollBetween() siteNameDesc 61 62}} + {{#rollBetween() siteNameDesc 63 64}} + Silver + {{/rollBetween() siteNameDesc 63 64}} + {{#rollBetween() siteNameDesc 65 66}} + Desecrated + {{/rollBetween() siteNameDesc 65 66}} + {{#rollBetween() siteNameDesc 67 68}} + Ashen + {{/rollBetween() siteNameDesc 67 68}} + {{#rollBetween() siteNameDesc 69 70}} + Elder + {{/rollBetween() siteNameDesc 69 70}} + {{#rollBetween() siteNameDesc 71 72}} + Scorched + {{/rollBetween() siteNameDesc 71 72}} + {{#rollBetween() siteNameDesc 73 74}} + Unknown + {{/rollBetween() siteNameDesc 73 74}} + {{#rollBetween() siteNameDesc 75 76}} + Scarred + {{/rollBetween() siteNameDesc 75 76}} + {{#rollBetween() siteNameDesc 77 78}} + Broken + {{/rollBetween() siteNameDesc 77 78}} + {{#rollBetween() siteNameDesc 79 80}} + Chaotic + {{/rollBetween() siteNameDesc 79 80}} + {{#rollBetween() siteNameDesc 81 82}} + Black + {{/rollBetween() siteNameDesc 81 82}} + {{#rollBetween() siteNameDesc 83 84}} + Hidden + {{/rollBetween() siteNameDesc 83 84}} + {{#rollBetween() siteNameDesc 85 86}} + Sundered + {{/rollBetween() siteNameDesc 85 86}} + {{#rollBetween() siteNameDesc 87 88}} + Shattered + {{/rollBetween() siteNameDesc 87 88}} + {{#rollBetween() siteNameDesc 89 90}} + Dreaded + {{/rollBetween() siteNameDesc 89 90}} + {{#rollBetween() siteNameDesc 91 92}} + Secret + {{/rollBetween() siteNameDesc 91 92}} + {{#rollBetween() siteNameDesc 93 94}} + High + {{/rollBetween() siteNameDesc 93 94}} + {{#rollBetween() siteNameDesc 95 96}} + Sacred + {{/rollBetween() siteNameDesc 95 96}} + {{#rollBetween() siteNameDesc 97 98}} + Fallen + {{/rollBetween() siteNameDesc 97 98}} + {{#rollBetween() siteNameDesc 99 100}} + Ruined + {{/rollBetween() siteNameDesc 99 100}} +
    +
    {{/siteNameDesc}} + {{#siteNameDetail}} +
    +
    {{siteNameDetail}}
    +
    + {{#rollBetween() siteNameDetail 1 2}} + Blight + {{/rollBetween() siteNameDetail 1 2}} + {{#rollBetween() siteNameDetail 3 4}} + Strife + {{/rollBetween() siteNameDetail 3 4}} + {{#rollBetween() siteNameDetail 5 6}} + Nightfall + {{/rollBetween() siteNameDetail 5 6}} + {{#rollBetween() siteNameDetail 7 8}} + Fury + {{/rollBetween() siteNameDetail 7 8}} + {{#rollBetween() siteNameDetail 9 10}} + Terror + {{/rollBetween() siteNameDetail 9 10}} + {{#rollBetween() siteNameDetail 11 12}} + Truth + {{/rollBetween() siteNameDetail 11 12}} + {{#rollBetween() siteNameDetail 13 14}} + Spring + {{/rollBetween() siteNameDetail 13 14}} + {{#rollBetween() siteNameDetail 15 16}} + Sanctuary + {{/rollBetween() siteNameDetail 15 16}} + {{#rollBetween() siteNameDetail 17 18}} + Bone + {{/rollBetween() siteNameDetail 17 18}} + {{#rollBetween() siteNameDetail 19 20}} + Specters + {{/rollBetween() siteNameDetail 19 20}} + {{#rollBetween() siteNameDetail 21 22}} + Daybreak + {{/rollBetween() siteNameDetail 21 22}} + {{#rollBetween() siteNameDetail 23 24}} + Doom + {{/rollBetween() siteNameDetail 23 24}} + {{#rollBetween() siteNameDetail 25 26}} + Treachery + {{/rollBetween() siteNameDetail 25 26}} + {{#rollBetween() siteNameDetail 27 28}} + Blood + {{/rollBetween() siteNameDetail 27 28}} + {{#rollBetween() siteNameDetail 29 30}} + War + {{/rollBetween() siteNameDetail 29 30}} + {{#rollBetween() siteNameDetail 31 32}} + Torment + {{/rollBetween() siteNameDetail 31 32}} + {{#rollBetween() siteNameDetail 33 34}} + Iron + {{/rollBetween() siteNameDetail 33 34}} + {{#rollBetween() siteNameDetail 35 36}} + Silence + {{/rollBetween() siteNameDetail 35 36}} + {{#rollBetween() siteNameDetail 37 38}} + Mist + {{/rollBetween() siteNameDetail 37 38}} + {{#rollBetween() siteNameDetail 39 40}} + Isolation + {{/rollBetween() siteNameDetail 39 40}} + {{#rollBetween() siteNameDetail 41 42}} + Runes + {{/rollBetween() siteNameDetail 41 42}} + {{#rollBetween() siteNameDetail 43 44}} + Rot + {{/rollBetween() siteNameDetail 43 44}} + {{#rollBetween() siteNameDetail 45 46}} + Corruption + {{/rollBetween() siteNameDetail 45 46}} + {{#rollBetween() siteNameDetail 47 48}} + Prophecy + {{/rollBetween() siteNameDetail 47 48}} + {{#rollBetween() siteNameDetail 49 50}} + Fate + {{/rollBetween() siteNameDetail 49 50}} + {{#rollBetween() siteNameDetail 51 52}} + Twilight + {{/rollBetween() siteNameDetail 51 52}} + {{#rollBetween() siteNameDetail 53 54}} + Power + {{/rollBetween() siteNameDetail 53 54}} + {{#rollBetween() siteNameDetail 55 56}} + Darkness + {{/rollBetween() siteNameDetail 55 56}} + {{#rollBetween() siteNameDetail 57 58}} + Gloom + {{/rollBetween() siteNameDetail 57 58}} + {{#rollBetween() siteNameDetail 59 60}} + Storms + {{/rollBetween() siteNameDetail 59 60}} + {{#rollBetween() siteNameDetail 61 62}} + Hope + {{/rollBetween() siteNameDetail 61 62}} + {{#rollBetween() siteNameDetail 63 64}} + Lament + {{/rollBetween() siteNameDetail 63 64}} + {{#rollBetween() siteNameDetail 65 66}} + Frost + {{/rollBetween() siteNameDetail 65 66}} + {{#rollBetween() siteNameDetail 67 68}} + Souls + {{/rollBetween() siteNameDetail 67 68}} + {{#rollBetween() siteNameDetail 69 70}} + Winter + {{/rollBetween() siteNameDetail 69 70}} + {{#rollBetween() siteNameDetail 71 72}} + Sadness + {{/rollBetween() siteNameDetail 71 72}} + {{#rollBetween() siteNameDetail 73 74}} + Desolation + {{/rollBetween() siteNameDetail 73 74}} + {{#rollBetween() siteNameDetail 75 76}} + Bane + {{/rollBetween() siteNameDetail 75 76}} + {{#rollBetween() siteNameDetail 77 78}} + Lies + {{/rollBetween() siteNameDetail 77 78}} + {{#rollBetween() siteNameDetail 79 80}} + Ash + {{/rollBetween() siteNameDetail 79 80}} + {{#rollBetween() siteNameDetail 81 82}} + Banishment + {{/rollBetween() siteNameDetail 81 82}} + {{#rollBetween() siteNameDetail 83 84}} + Shadow + {{/rollBetween() siteNameDetail 83 84}} + {{#rollBetween() siteNameDetail 85 86}} + Madness + {{/rollBetween() siteNameDetail 85 86}} + {{#rollBetween() siteNameDetail 87 88}} + Stone + {{/rollBetween() siteNameDetail 87 88}} + {{#rollBetween() siteNameDetail 89 90}} + Secrets + {{/rollBetween() siteNameDetail 89 90}} + {{#rollBetween() siteNameDetail 91 92}} + Despair + {{/rollBetween() siteNameDetail 91 92}} + {{#rollBetween() siteNameDetail 93 94}} + Blades + {{/rollBetween() siteNameDetail 93 94}} + {{#rollBetween() siteNameDetail 95 96}} + Dread + {{/rollBetween() siteNameDetail 95 96}} + {{#rollBetween() siteNameDetail 97 98}} + Light + {{/rollBetween() siteNameDetail 97 98}} + {{#rollBetween() siteNameDetail 99 100}} + Wrath + {{/rollBetween() siteNameDetail 99 100}} +
    +
    {{/siteNameDetail}} + {{#siteNameNamesake}} +
    +
    {{siteNameNamesake}}
    +
    + {{#rollBetween() siteNameNamesake 1 2}} + Breckon + {{/rollBetween() siteNameNamesake 1 2}} + {{#rollBetween() siteNameNamesake 3 4}} + Issara + {{/rollBetween() siteNameNamesake 3 4}} + {{#rollBetween() siteNameNamesake 5 6}} + Milenna + {{/rollBetween() siteNameNamesake 5 6}} + {{#rollBetween() siteNameNamesake 7 8}} + Thorval + {{/rollBetween() siteNameNamesake 7 8}} + {{#rollBetween() siteNameNamesake 9 10}} + Khulan + {{/rollBetween() siteNameNamesake 9 10}} + {{#rollBetween() siteNameNamesake 11 12}} + Aurvang + {{/rollBetween() siteNameNamesake 11 12}} + {{#rollBetween() siteNameNamesake 13 14}} + Kalida + {{/rollBetween() siteNameNamesake 13 14}} + {{#rollBetween() siteNameNamesake 15 16}} + Keeara + {{/rollBetween() siteNameNamesake 15 16}} + {{#rollBetween() siteNameNamesake 17 18}} + Andor + {{/rollBetween() siteNameNamesake 17 18}} + {{#rollBetween() siteNameNamesake 19 20}} + Zakaria + {{/rollBetween() siteNameNamesake 19 20}} + {{#rollBetween() siteNameNamesake 21 22}} + Willa + {{/rollBetween() siteNameNamesake 21 22}} + {{#rollBetween() siteNameNamesake 23 24}} + Etana + {{/rollBetween() siteNameNamesake 23 24}} + {{#rollBetween() siteNameNamesake 25 26}} + Valgard + {{/rollBetween() siteNameNamesake 25 26}} + {{#rollBetween() siteNameNamesake 27 28}} + Kenrick + {{/rollBetween() siteNameNamesake 27 28}} + {{#rollBetween() siteNameNamesake 29 30}} + Wyland + {{/rollBetween() siteNameNamesake 29 30}} + {{#rollBetween() siteNameNamesake 31 32}} + Sidura + {{/rollBetween() siteNameNamesake 31 32}} + {{#rollBetween() siteNameNamesake 33 34}} + Svala + {{/rollBetween() siteNameNamesake 33 34}} + {{#rollBetween() siteNameNamesake 35 36}} + Kajir + {{/rollBetween() siteNameNamesake 35 36}} + {{#rollBetween() siteNameNamesake 37 38}} + Saiven + {{/rollBetween() siteNameNamesake 37 38}} + {{#rollBetween() siteNameNamesake 39 40}} + Callwen + {{/rollBetween() siteNameNamesake 39 40}} + {{#rollBetween() siteNameNamesake 41 42}} + Zhan + {{/rollBetween() siteNameNamesake 41 42}} + {{#rollBetween() siteNameNamesake 43 44}} + Solana + {{/rollBetween() siteNameNamesake 43 44}} + {{#rollBetween() siteNameNamesake 45 46}} + Ildar + {{/rollBetween() siteNameNamesake 45 46}} + {{#rollBetween() siteNameNamesake 47 48}} + Keelan + {{/rollBetween() siteNameNamesake 47 48}} + {{#rollBetween() siteNameNamesake 49 50}} + Thrain + {{/rollBetween() siteNameNamesake 49 50}} + {{#rollBetween() siteNameNamesake 51 52}} + Kynan + {{/rollBetween() siteNameNamesake 51 52}} + {{#rollBetween() siteNameNamesake 53 54}} + Jadina + {{/rollBetween() siteNameNamesake 53 54}} + {{#rollBetween() siteNameNamesake 55 56}} + Radek + {{/rollBetween() siteNameNamesake 55 56}} + {{#rollBetween() siteNameNamesake 57 58}} + Wulan + {{/rollBetween() siteNameNamesake 57 58}} + {{#rollBetween() siteNameNamesake 59 60}} + Garion + {{/rollBetween() siteNameNamesake 59 60}} + {{#rollBetween() siteNameNamesake 61 62}} + Eysa + {{/rollBetween() siteNameNamesake 61 62}} + {{#rollBetween() siteNameNamesake 63 64}} + Kolor + {{/rollBetween() siteNameNamesake 63 64}} + {{#rollBetween() siteNameNamesake 65 66}} + Katarra + {{/rollBetween() siteNameNamesake 65 66}} + {{#rollBetween() siteNameNamesake 67 68}} + Dain + {{/rollBetween() siteNameNamesake 67 68}} + {{#rollBetween() siteNameNamesake 69 70}} + Farina + {{/rollBetween() siteNameNamesake 69 70}} + {{#rollBetween() siteNameNamesake 71 72}} + Yala + {{/rollBetween() siteNameNamesake 71 72}} + {{#rollBetween() siteNameNamesake 73 74}} + Kodroth + {{/rollBetween() siteNameNamesake 73 74}} + {{#rollBetween() siteNameNamesake 75 76}} + Morien + {{/rollBetween() siteNameNamesake 75 76}} + {{#rollBetween() siteNameNamesake 77 78}} + Akida + {{/rollBetween() siteNameNamesake 77 78}} + {{#rollBetween() siteNameNamesake 79 80}} + Haldorr + {{/rollBetween() siteNameNamesake 79 80}} + {{#rollBetween() siteNameNamesake 81 82}} + Nyrad + {{/rollBetween() siteNameNamesake 81 82}} + {{#rollBetween() siteNameNamesake 83 84}} + Edda + {{/rollBetween() siteNameNamesake 83 84}} + {{#rollBetween() siteNameNamesake 85 86}} + Jorund + {{/rollBetween() siteNameNamesake 85 86}} + {{#rollBetween() siteNameNamesake 87 88}} + Morraine + {{/rollBetween() siteNameNamesake 87 88}} + {{#rollBetween() siteNameNamesake 89 90}} + Lindar + {{/rollBetween() siteNameNamesake 89 90}} + {{#rollBetween() siteNameNamesake 91 92}} + Sithra + {{/rollBetween() siteNameNamesake 91 92}} + {{#rollBetween() siteNameNamesake 93 94}} + Torgan + {{/rollBetween() siteNameNamesake 93 94}} + {{#rollBetween() siteNameNamesake 95 96}} + Arnorr + {{/rollBetween() siteNameNamesake 95 96}} + {{#rollBetween() siteNameNamesake 97 98}} + Thyri + {{/rollBetween() siteNameNamesake 97 98}} + {{#rollBetween() siteNameNamesake 99 100}} + Erisia + {{/rollBetween() siteNameNamesake 99 100}} +
    +
    {{/siteNameNamesake}} + {{#siteNamePlace}} +
    +
    {{siteNamePlace}}
    +
    + {{#rollBetween() siteNamePlace 1 6}} + Barrow + {{/rollBetween() siteNamePlace 1 6}} + {{#rollBetween() siteNamePlace 7 18}} + Cavern + {{/rollBetween() siteNamePlace 7 18}} + {{#rollBetween() siteNamePlace 19 28}} + Frozen Cavern + {{/rollBetween() siteNamePlace 19 28}} + {{#rollBetween() siteNamePlace 29 32}} + Icereach + {{/rollBetween() siteNamePlace 29 32}} + {{#rollBetween() siteNamePlace 33 38}} + Mine + {{/rollBetween() siteNamePlace 33 38}} + {{#rollBetween() siteNamePlace 39 48}} + Pass + {{/rollBetween() siteNamePlace 39 48}} + {{#rollBetween() siteNamePlace 49 58}} + Ruin + {{/rollBetween() siteNamePlace 49 58}} + {{#rollBetween() siteNamePlace 59 68}} + Sea Cave + {{/rollBetween() siteNamePlace 59 68}} + {{#rollBetween() siteNamePlace 69 78}} + Shadowfen + {{/rollBetween() siteNamePlace 69 78}} + {{#rollBetween() siteNamePlace 79 83}} + Stronghold + {{/rollBetween() siteNamePlace 79 83}} + {{#rollBetween() siteNamePlace 84 95}} + Tanglewood + {{/rollBetween() siteNamePlace 84 95}} + {{#rollBetween() siteNamePlace 96 100}} + Underkeep + {{/rollBetween() siteNamePlace 96 100}} +
    +
    {{/siteNamePlace}} + {{#siteNatureTheme}} +
    +
    {{siteNatureTheme}}
    +
    + {{#rollBetween() siteNatureTheme 1 11}} + Ancient + {{/rollBetween() siteNatureTheme 1 11}} + {{#rollBetween() siteNatureTheme 12 23}} + Corrupted + {{/rollBetween() siteNatureTheme 12 23}} + {{#rollBetween() siteNatureTheme 24 35}} + Fortified + {{/rollBetween() siteNatureTheme 24 35}} + {{#rollBetween() siteNatureTheme 36 48}} + Hallowed + {{/rollBetween() siteNatureTheme 36 48}} + {{#rollBetween() siteNatureTheme 49 61}} + Haunted + {{/rollBetween() siteNatureTheme 49 61}} + {{#rollBetween() siteNatureTheme 62 74}} + Infested + {{/rollBetween() siteNatureTheme 62 74}} + {{#rollBetween() siteNatureTheme 75 87}} + Ravaged + {{/rollBetween() siteNatureTheme 75 87}} + {{#rollBetween() siteNatureTheme 88 100}} + Wild + {{/rollBetween() siteNatureTheme 88 100}} +
    +
    {{/siteNatureTheme}} + {{#siteNatureDomain}} +
    +
    {{siteNatureDomain}}
    +
    + {{#rollBetween() siteNatureDomain 1 6}} + Barrow + {{/rollBetween() siteNatureDomain 1 6}} + {{#rollBetween() siteNatureDomain 7 18}} + Cavern + {{/rollBetween() siteNatureDomain 7 18}} + {{#rollBetween() siteNatureDomain 19 28}} + Frozen Cavern + {{/rollBetween() siteNatureDomain 19 28}} + {{#rollBetween() siteNatureDomain 29 32}} + Icereach + {{/rollBetween() siteNatureDomain 29 32}} + {{#rollBetween() siteNatureDomain 33 38}} + Mine + {{/rollBetween() siteNatureDomain 33 38}} + {{#rollBetween() siteNatureDomain 39 48}} + Pass + {{/rollBetween() siteNatureDomain 39 48}} + {{#rollBetween() siteNatureDomain 49 58}} + Ruin + {{/rollBetween() siteNatureDomain 49 58}} + {{#rollBetween() siteNatureDomain 59 68}} + Sea Cave + {{/rollBetween() siteNatureDomain 59 68}} + {{#rollBetween() siteNatureDomain 69 78}} + Shadowfen + {{/rollBetween() siteNatureDomain 69 78}} + {{#rollBetween() siteNatureDomain 79 83}} + Stronghold + {{/rollBetween() siteNatureDomain 79 83}} + {{#rollBetween() siteNatureDomain 84 95}} + Tanglewood + {{/rollBetween() siteNatureDomain 84 95}} + {{#rollBetween() siteNatureDomain 96 100}} + Underkeep + {{/rollBetween() siteNatureDomain 96 100}} +
    +
    {{/siteNatureDomain}} + {{#characterDisposition}} +
    +
    {{characterDisposition}}
    +
    + {{#rollBetween() characterDisposition 1 6}} + Helpful + {{/rollBetween() characterDisposition 1 6}} + {{#rollBetween() characterDisposition 7 13}} + Friendly + {{/rollBetween() characterDisposition 7 13}} + {{#rollBetween() characterDisposition 14 20}} + Cooperative + {{/rollBetween() characterDisposition 14 20}} + {{#rollBetween() characterDisposition 21 28}} + Curious + {{/rollBetween() characterDisposition 21 28}} + {{#rollBetween() characterDisposition 29 36}} + Indifferent + {{/rollBetween() characterDisposition 29 36}} + {{#rollBetween() characterDisposition 37 47}} + Suspicious + {{/rollBetween() characterDisposition 37 47}} + {{#rollBetween() characterDisposition 48 57}} + Wanting + {{/rollBetween() characterDisposition 48 57}} + {{#rollBetween() characterDisposition 48 67}} + Desperate + {{/rollBetween() characterDisposition 48 67}} + {{#rollBetween() characterDisposition 68 76}} + Demanding + {{/rollBetween() characterDisposition 68 76}} + {{#rollBetween() characterDisposition 77 85}} + Unfriendly + {{/rollBetween() characterDisposition 77 85}} + {{#rollBetween() characterDisposition 86 93}} + Threatening + {{/rollBetween() characterDisposition 86 93}} + {{#rollBetween() characterDisposition 94 100}} + Hostile + {{/rollBetween() characterDisposition 94 100}} +
    +
    {{/characterDisposition}} + {{#characterActivity}} +
    +
    {{characterActivity}}
    +
    + {{#rollBetween() characterActivity 1 2}} + Guarding + {{/rollBetween() characterActivity 1 2}} + {{#rollBetween() characterActivity 3 4}} + Preserving + {{/rollBetween() characterActivity 3 4}} + {{#rollBetween() characterActivity 5 6}} + Constructing + {{/rollBetween() characterActivity 5 6}} + {{#rollBetween() characterActivity 7 8}} + Mending + {{/rollBetween() characterActivity 7 8}} + {{#rollBetween() characterActivity 9 10}} + Assisting + {{/rollBetween() characterActivity 9 10}} + {{#rollBetween() characterActivity 11 12}} + Securing + {{/rollBetween() characterActivity 11 12}} + {{#rollBetween() characterActivity 13 14}} + Learning + {{/rollBetween() characterActivity 13 14}} + {{#rollBetween() characterActivity 15 16}} + Sneaking + {{/rollBetween() characterActivity 15 16}} + {{#rollBetween() characterActivity 17 18}} + Fleeing + {{/rollBetween() characterActivity 17 18}} + {{#rollBetween() characterActivity 19 20}} + Sacrificing + {{/rollBetween() characterActivity 19 20}} + {{#rollBetween() characterActivity 21 22}} + Creating + {{/rollBetween() characterActivity 21 22}} + {{#rollBetween() characterActivity 23 24}} + Luring + {{/rollBetween() characterActivity 23 24}} + {{#rollBetween() characterActivity 25 26}} + Hunting + {{/rollBetween() characterActivity 25 26}} + {{#rollBetween() characterActivity 27 28}} + Seizing + {{/rollBetween() characterActivity 27 28}} + {{#rollBetween() characterActivity 29 30}} + Bargaining + {{/rollBetween() characterActivity 29 30}} + {{#rollBetween() characterActivity 31 32}} + Mimicking + {{/rollBetween() characterActivity 31 32}} + {{#rollBetween() characterActivity 33 34}} + Tricking + {{/rollBetween() characterActivity 33 34}} + {{#rollBetween() characterActivity 35 36}} + Tracking + {{/rollBetween() characterActivity 35 36}} + {{#rollBetween() characterActivity 37 38}} + Escorting + {{/rollBetween() characterActivity 37 38}} + {{#rollBetween() characterActivity 39 40}} + Hiding + {{/rollBetween() characterActivity 39 40}} + {{#rollBetween() characterActivity 41 42}} + Raiding + {{/rollBetween() characterActivity 41 42}} + {{#rollBetween() characterActivity 43 44}} + Socializing + {{/rollBetween() characterActivity 43 44}} + {{#rollBetween() characterActivity 45 46}} + Exploring + {{/rollBetween() characterActivity 45 46}} + {{#rollBetween() characterActivity 47 48}} + Journeying + {{/rollBetween() characterActivity 47 48}} + {{#rollBetween() characterActivity 49 50}} + Supporting + {{/rollBetween() characterActivity 49 50}} + {{#rollBetween() characterActivity 51 52}} + Avoiding + {{/rollBetween() characterActivity 51 52}} + {{#rollBetween() characterActivity 53 54}} + Disabling + {{/rollBetween() characterActivity 53 54}} + {{#rollBetween() characterActivity 55 56}} + Leading + {{/rollBetween() characterActivity 55 56}} + {{#rollBetween() characterActivity 57 58}} + Assaulting + {{/rollBetween() characterActivity 57 58}} + {{#rollBetween() characterActivity 59 60}} + Ensnaring + {{/rollBetween() characterActivity 59 60}} + {{#rollBetween() characterActivity 61 62}} + Defending + {{/rollBetween() characterActivity 61 62}} + {{#rollBetween() characterActivity 63 64}} + Recovering + {{/rollBetween() characterActivity 63 64}} + {{#rollBetween() characterActivity 65 66}} + Patrolling + {{/rollBetween() characterActivity 65 66}} + {{#rollBetween() characterActivity 67 68}} + Resting + {{/rollBetween() characterActivity 67 68}} + {{#rollBetween() characterActivity 69 70}} + Distracting + {{/rollBetween() characterActivity 69 70}} + {{#rollBetween() characterActivity 71 72}} + Leaving + {{/rollBetween() characterActivity 71 72}} + {{#rollBetween() characterActivity 73 74}} + Fighting + {{/rollBetween() characterActivity 73 74}} + {{#rollBetween() characterActivity 75 76}} + Ambushing + {{/rollBetween() characterActivity 75 76}} + {{#rollBetween() characterActivity 77 78}} + Controlling + {{/rollBetween() characterActivity 77 78}} + {{#rollBetween() characterActivity 79 80}} + Observing + {{/rollBetween() characterActivity 79 80}} + {{#rollBetween() characterActivity 81 82}} + Gathering + {{/rollBetween() characterActivity 81 82}} + {{#rollBetween() characterActivity 83 84}} + Suffering + {{/rollBetween() characterActivity 83 84}} + {{#rollBetween() characterActivity 85 86}} + Threatening + {{/rollBetween() characterActivity 85 86}} + {{#rollBetween() characterActivity 87 88}} + Searching + {{/rollBetween() characterActivity 87 88}} + {{#rollBetween() characterActivity 89 90}} + Destroying + {{/rollBetween() characterActivity 89 90}} + {{#rollBetween() characterActivity 91 92}} + Restoring + {{/rollBetween() characterActivity 91 92}} + {{#rollBetween() characterActivity 93 94}} + Consuming + {{/rollBetween() characterActivity 93 94}} + {{#rollBetween() characterActivity 95 96}} + Removing + {{/rollBetween() characterActivity 95 96}} + {{#rollBetween() characterActivity 97 98}} + Inspecting + {{/rollBetween() characterActivity 97 98}} + {{#rollBetween() characterActivity 99 100}} + Summoning + {{/rollBetween() characterActivity 99 100}} +
    +
    {{/characterActivity}} + {{#monstrositySize}} +
    +
    {{monstrositySize}}
    +
    + {{#rollBetween() monstrositySize 1 5}} + Tiny (rodent-sized) + {{/rollBetween() monstrositySize 1 5}} + {{#rollBetween() monstrositySize 6 30}} + Small (hound-sized) + {{/rollBetween() monstrositySize 6 30}} + {{#rollBetween() monstrositySize 31 65}} + Medium (person-sized) + {{/rollBetween() monstrositySize 31 65}} + {{#rollBetween() monstrositySize 66 94}} + Large (giant-sized) + {{/rollBetween() monstrositySize 66 94}} + {{#rollBetween() monstrositySize 95 99}} + Huge (whale-sized) + {{/rollBetween() monstrositySize 95 99}} + {{#rollTotal() monstrositySize 100}} + Titanic (incomprehensible) + {{/rollTotal() monstrositySize 100}} +
    +
    {{/monstrositySize}} + {{#monstrosityPrimaryForm}} +
    +
    {{monstrosityPrimaryForm}}
    +
    + {{#rollBetween() monstrosityPrimaryForm 1 15}} + Beast / mammal + {{/rollBetween() monstrosityPrimaryForm 1 15}} + {{#rollBetween() monstrosityPrimaryForm 16 25}} + Humanoid + {{/rollBetween() monstrosityPrimaryForm 16 25}} + {{#rollBetween() monstrosityPrimaryForm 26 31}} + Bird + {{/rollBetween() monstrosityPrimaryForm 26 31}} + {{#rollBetween() monstrosityPrimaryForm 32 37}} + Spider + {{/rollBetween() monstrosityPrimaryForm 32 37}} + {{#rollBetween() monstrosityPrimaryForm 38 43}} + Snake + {{/rollBetween() monstrosityPrimaryForm 38 43}} + {{#rollBetween() monstrosityPrimaryForm 44 49}} + Worm / slug + {{/rollBetween() monstrosityPrimaryForm 44 49}} + {{#rollBetween() monstrosityPrimaryForm 50 55}} + Lizard + {{/rollBetween() monstrosityPrimaryForm 50 55}} + {{#rollBetween() monstrosityPrimaryForm 56 61}} + Insect + {{/rollBetween() monstrosityPrimaryForm 56 61}} + {{#rollBetween() monstrosityPrimaryForm 62 66}} + Amorphous + {{/rollBetween() monstrosityPrimaryForm 62 66}} + {{#rollBetween() monstrosityPrimaryForm 67 69}} + Crustacean + {{/rollBetween() monstrosityPrimaryForm 67 69}} + {{#rollBetween() monstrosityPrimaryForm 70 71}} + Fish + {{/rollBetween() monstrosityPrimaryForm 70 71}} + {{#rollBetween() monstrosityPrimaryForm 72 73}} + Octopoid + {{/rollBetween() monstrosityPrimaryForm 72 73}} + {{#rollBetween() monstrosityPrimaryForm 74 75}} + Amphibian + {{/rollBetween() monstrosityPrimaryForm 74 75}} + {{#rollBetween() monstrosityPrimaryForm 76 77}} + Plant + {{/rollBetween() monstrosityPrimaryForm 76 77}} + {{#rollTotal() monstrosityPrimaryForm 78}} + Incorporeal + {{/rollTotal() monstrosityPrimaryForm 78}} + {{#rollTotal() monstrosityPrimaryForm 79}} + Mineral + {{/rollTotal() monstrosityPrimaryForm 79}} + {{#rollTotal() monstrosityPrimaryForm 80}} + Elementa + {{/rollTotal() monstrosityPrimaryForm 80}} + {{#rollBetween() monstrosityPrimaryForm 81 100}} + Hybrid (roll twice) + {{/rollBetween() monstrosityPrimaryForm 81 100}} +
    +
    {{/monstrosityPrimaryForm}} + {{#monstrosityCharacteristics}} +
    +
    {{monstrosityCharacteristics}}
    +
    + {{#rollBetween() monstrosityCharacteristics 1 5}} + Extra limbs + {{/rollBetween() monstrosityCharacteristics 1 5}} + {{#rollBetween() monstrosityCharacteristics 6 10}} + Fangs / rows of sharp teeth + {{/rollBetween() monstrosityCharacteristics 6 10}} + {{#rollBetween() monstrosityCharacteristics 11 15}} + Claws / talons + {{/rollBetween() monstrosityCharacteristics 11 15}} + {{#rollBetween() monstrosityCharacteristics 16 20}} + Strange color / markings + {{/rollBetween() monstrosityCharacteristics 16 20}} + {{#rollBetween() monstrosityCharacteristics 21 25}} + Horns / tusks + {{/rollBetween() monstrosityCharacteristics 21 25}} + {{#rollBetween() monstrosityCharacteristics 26 30}} + Oversized mouth + {{/rollBetween() monstrosityCharacteristics 26 30}} + {{#rollBetween() monstrosityCharacteristics 31 35}} + Spikes / spines + {{/rollBetween() monstrosityCharacteristics 31 35}} + {{#rollBetween() monstrosityCharacteristics 36 40}} + Tail + {{/rollBetween() monstrosityCharacteristics 36 40}} + {{#rollBetween() monstrosityCharacteristics 41 45}} + Multi-segmented body + {{/rollBetween() monstrosityCharacteristics 41 45}} + {{#rollBetween() monstrosityCharacteristics 46 50}} + Wings + {{/rollBetween() monstrosityCharacteristics 46 50}} + {{#rollBetween() monstrosityCharacteristics 51 54}} + Stinger / barbs + {{/rollBetween() monstrosityCharacteristics 51 54}} + {{#rollBetween() monstrosityCharacteristics 55 58}} + Many-eyed + {{/rollBetween() monstrosityCharacteristics 55 58}} + {{#rollBetween() monstrosityCharacteristics 59 62}} + Distinctive sound + {{/rollBetween() monstrosityCharacteristics 59 62}} + {{#rollBetween() monstrosityCharacteristics 63 66}} + Tentacles / tendrils + {{/rollBetween() monstrosityCharacteristics 63 66}} + {{#rollBetween() monstrosityCharacteristics 67 69}} + Mandibles / pincers + {{/rollBetween() monstrosityCharacteristics 67 69}} + {{#rollBetween() monstrosityCharacteristics 70 72}} + Luminescent + {{/rollBetween() monstrosityCharacteristics 70 72}} + {{#rollBetween() monstrosityCharacteristics 73 75}} + Antennae / sensory organs + {{/rollBetween() monstrosityCharacteristics 73 75}} + {{#rollBetween() monstrosityCharacteristics 76 78}} + Proboscis / inner jaw + {{/rollBetween() monstrosityCharacteristics 76 78}} + {{#rollBetween() monstrosityCharacteristics 79 81}} + Exoskeleton / shell + {{/rollBetween() monstrosityCharacteristics 79 81}} + {{#rollBetween() monstrosityCharacteristics 82 84}} + Bony protuberances + {{/rollBetween() monstrosityCharacteristics 82 84}} + {{#rollBetween() monstrosityCharacteristics 85 87}} + Corrupted flesh + {{/rollBetween() monstrosityCharacteristics 85 87}} + {{#rollBetween() monstrosityCharacteristics 88 90}} + Semi-transparent + {{/rollBetween() monstrosityCharacteristics 88 90}} + {{#rollBetween() monstrosityCharacteristics 91 93}} + Scarred / injured + {{/rollBetween() monstrosityCharacteristics 91 93}} + {{#rollBetween() monstrosityCharacteristics 94 95}} + Egg sac / carried offspring + {{/rollBetween() monstrosityCharacteristics 94 95}} + {{#rollBetween() monstrosityCharacteristics 96 97}} + Rotting / skeletal + {{/rollBetween() monstrosityCharacteristics 96 97}} + {{#rollTotal() monstrosityCharacteristics 98}} + Mummified / desiccated + {{/rollTotal() monstrosityCharacteristics 98}} + {{#rollTotal() monstrosityCharacteristics 99}} + Multi-headed + {{/rollTotal() monstrosityCharacteristics 99}} + {{#rollTotal() monstrosityCharacteristics 100}} + Etched with mystic runes + {{/rollTotal() monstrosityCharacteristics 100}} +
    +
    {{/monstrosityCharacteristics}} + {{#monstrosityAbilities}} +
    +
    {{monstrosityAbilities}}
    +
    + {{#rollBetween() monstrosityAbilities 1 4}} + Keen senses + {{/rollBetween() monstrosityAbilities 1 4}} + {{#rollBetween() monstrosityAbilities 5 8}} + Intimidating vocalization + {{/rollBetween() monstrosityAbilities 5 8}} + {{#rollBetween() monstrosityAbilities 9 12}} + Climber + {{/rollBetween() monstrosityAbilities 9 12}} + {{#rollBetween() monstrosityAbilities 13 16}} + Intelligent + {{/rollBetween() monstrosityAbilities 13 16}} + {{#rollBetween() monstrosityAbilities 17 20}} + Swift + {{/rollBetween() monstrosityAbilities 17 20}} + {{#rollBetween() monstrosityAbilities 21 24}} + Powerful bite + {{/rollBetween() monstrosityAbilities 21 24}} + {{#rollBetween() monstrosityAbilities 25 28}} + Stealthy / ambusher + {{/rollBetween() monstrosityAbilities 25 28}} + {{#rollBetween() monstrosityAbilities 29 32}} + Horrid visage + {{/rollBetween() monstrosityAbilities 29 32}} + {{#rollBetween() monstrosityAbilities 33 36}} + Strong + {{/rollBetween() monstrosityAbilities 33 36}} + {{#rollBetween() monstrosityAbilities 37 40}} + Camouflaged + {{/rollBetween() monstrosityAbilities 37 40}} + {{#rollBetween() monstrosityAbilities 41 43}} + Flier / glider + {{/rollBetween() monstrosityAbilities 41 43}} + {{#rollBetween() monstrosityAbilities 44 46}} + Poisonous + {{/rollBetween() monstrosityAbilities 44 46}} + {{#rollBetween() monstrosityAbilities 47 49}} + Semiaquatic / swimmer + {{/rollBetween() monstrosityAbilities 47 49}} + {{#rollBetween() monstrosityAbilities 50 52}} + Grappler / entangler + {{/rollBetween() monstrosityAbilities 50 52}} + {{#rollBetween() monstrosityAbilities 53 55}} + Leaper + {{/rollBetween() monstrosityAbilities 53 55}} + {{#rollBetween() monstrosityAbilities 56 58}} + Crusher / constrictor + {{/rollBetween() monstrosityAbilities 56 58}} + {{#rollBetween() monstrosityAbilities 59 61}} + Armored + {{/rollBetween() monstrosityAbilities 59 61}} + {{#rollBetween() monstrosityAbilities 62 64}} + Burrower + {{/rollBetween() monstrosityAbilities 62 64}} + {{#rollBetween() monstrosityAbilities 65 67}} + Noxious smell + {{/rollBetween() monstrosityAbilities 65 67}} + {{#rollBetween() monstrosityAbilities 68 69}} + Trap-setter + {{/rollBetween() monstrosityAbilities 68 69}} + {{#rollBetween() monstrosityAbilities 70 71}} + Parasitic + {{/rollBetween() monstrosityAbilities 70 71}} + {{#rollBetween() monstrosityAbilities 72 73}} + Vibration sense + {{/rollBetween() monstrosityAbilities 72 73}} + {{#rollBetween() monstrosityAbilities 74 75}} + Breath weapon / toxic spew + {{/rollBetween() monstrosityAbilities 74 75}} + {{#rollBetween() monstrosityAbilities 76 77}} + Mimicry + {{/rollBetween() monstrosityAbilities 76 77}} + {{#rollBetween() monstrosityAbilities 78 79}} + Shapeshifting + {{/rollBetween() monstrosityAbilities 78 79}} + {{#rollBetween() monstrosityAbilities 80 81}} + Control lesser creatures + {{/rollBetween() monstrosityAbilities 80 81}} + {{#rollBetween() monstrosityAbilities 82 83}} + Echolocation + {{/rollBetween() monstrosityAbilities 82 83}} + {{#rollBetween() monstrosityAbilities 84 85}} + Electric shock + {{/rollBetween() monstrosityAbilities 84 85}} + {{#rollBetween() monstrosityAbilities 86 87}} + Acidic + {{/rollBetween() monstrosityAbilities 86 87}} + {{#rollBetween() monstrosityAbilities 88 89}} + Symbiotic + {{/rollBetween() monstrosityAbilities 88 89}} + {{#rollBetween() monstrosityAbilities 90 91}} + Shoot projectiles + {{/rollBetween() monstrosityAbilities 90 91}} + {{#rollTotal() monstrosityAbilities 92}} + Paralyzing + {{/rollTotal() monstrosityAbilities 92}} + {{#rollTotal() monstrosityAbilities 93}} + Immune to iron + {{/rollTotal() monstrosityAbilities 93}} + {{#rollTotal() monstrosityAbilities 94}} + Feels no pain + {{/rollTotal() monstrosityAbilities 94}} + {{#rollTotal() monstrosityAbilities 95}} + Enact rituals + {{/rollTotal() monstrosityAbilities 95}} + {{#rollTotal() monstrosityAbilities 96}} + Create illusions + {{/rollTotal() monstrosityAbilities 96}} + {{#rollTotal() monstrosityAbilities 97}} + Mind control / telepathy + {{/rollTotal() monstrosityAbilities 97}} + {{#rollTotal() monstrosityAbilities 98}} + Move between realities + {{/rollTotal() monstrosityAbilities 98}} + {{#rollTotal() monstrosityAbilities 99}} + Wield weapons + {{/rollTotal() monstrosityAbilities 99}} + {{#rollTotal() monstrosityAbilities 100}} + Control elements + {{/rollTotal() monstrosityAbilities 100}} +
    +
    {{/monstrosityAbilities}} + {{#trapEvent}} +
    +
    {{trapEvent}}
    +
    + {{#rollBetween() trapEvent 1 4}} + Block + {{/rollBetween() trapEvent 1 4}} + {{#rollBetween() trapEvent 5 8}} + Create + {{/rollBetween() trapEvent 5 8}} + {{#rollBetween() trapEvent 9 12}} + Break + {{/rollBetween() trapEvent 9 12}} + {{#rollBetween() trapEvent 13 16}} + Puncture + {{/rollBetween() trapEvent 13 16}} + {{#rollBetween() trapEvent 17 20}} + Entangle + {{/rollBetween() trapEvent 17 20}} + {{#rollBetween() trapEvent 21 24}} + Enclose + {{/rollBetween() trapEvent 21 24}} + {{#rollBetween() trapEvent 25 28}} + Ambush + {{/rollBetween() trapEvent 25 28}} + {{#rollBetween() trapEvent 29 32}} + Snare + {{/rollBetween() trapEvent 29 32}} + {{#rollBetween() trapEvent 33 36}} + Change + {{/rollBetween() trapEvent 33 36}} + {{#rollBetween() trapEvent 37 40}} + Imitate + {{/rollBetween() trapEvent 37 40}} + {{#rollBetween() trapEvent 41 44}} + Crush + {{/rollBetween() trapEvent 41 44}} + {{#rollBetween() trapEvent 45 48}} + Drop + {{/rollBetween() trapEvent 45 48}} + {{#rollBetween() trapEvent 49 52}} + Conceal + {{/rollBetween() trapEvent 49 52}} + {{#rollBetween() trapEvent 53 56}} + Lure + {{/rollBetween() trapEvent 53 56}} + {{#rollBetween() trapEvent 57 60}} + Release + {{/rollBetween() trapEvent 57 60}} + {{#rollBetween() trapEvent 61 64}} + Obscure + {{/rollBetween() trapEvent 61 64}} + {{#rollBetween() trapEvent 65 68}} + Cut + {{/rollBetween() trapEvent 65 68}} + {{#rollBetween() trapEvent 69 72}} + Smother + {{/rollBetween() trapEvent 69 72}} + {{#rollBetween() trapEvent 73 76}} + Collapse + {{/rollBetween() trapEvent 73 76}} + {{#rollBetween() trapEvent 77 80}} + Summon + {{/rollBetween() trapEvent 77 80}} + {{#rollBetween() trapEvent 81 84}} + Move + {{/rollBetween() trapEvent 81 84}} + {{#rollBetween() trapEvent 85 88}} + Surprise + {{/rollBetween() trapEvent 85 88}} + {{#rollBetween() trapEvent 89 92}} + Divert + {{/rollBetween() trapEvent 89 92}} + {{#rollBetween() trapEvent 93 96}} + Attack + {{/rollBetween() trapEvent 93 96}} + {{#rollBetween() trapEvent 97 100}} + Trigger + {{/rollBetween() trapEvent 97 100}} +
    +
    {{/trapEvent}} + {{#trapComponent}} +
    +
    {{trapComponent}}
    +
    + {{#rollBetween() trapComponent 1 4}} + Pit + {{/rollBetween() trapComponent 1 4}} + {{#rollBetween() trapComponent 5 8}} + Water + {{/rollBetween() trapComponent 5 8}} + {{#rollBetween() trapComponent 9 12}} + Fire + {{/rollBetween() trapComponent 9 12}} + {{#rollBetween() trapComponent 13 16}} + Projectile + {{/rollBetween() trapComponent 13 16}} + {{#rollBetween() trapComponent 17 20}} + Passage + {{/rollBetween() trapComponent 17 20}} + {{#rollBetween() trapComponent 21 24}} + Fall + {{/rollBetween() trapComponent 21 24}} + {{#rollBetween() trapComponent 25 28}} + Debris + {{/rollBetween() trapComponent 25 28}} + {{#rollBetween() trapComponent 29 32}} + Fear + {{/rollBetween() trapComponent 29 32}} + {{#rollBetween() trapComponent 33 36}} + Alarm + {{/rollBetween() trapComponent 33 36}} + {{#rollBetween() trapComponent 37 40}} + Trigger + {{/rollBetween() trapComponent 37 40}} + {{#rollBetween() trapComponent 41 44}} + Cold + {{/rollBetween() trapComponent 41 44}} + {{#rollBetween() trapComponent 45 48}} + Weapon + {{/rollBetween() trapComponent 45 48}} + {{#rollBetween() trapComponent 49 52}} + Darkness + {{/rollBetween() trapComponent 49 52}} + {{#rollBetween() trapComponent 53 56}} + Decay + {{/rollBetween() trapComponent 53 56}} + {{#rollBetween() trapComponent 57 60}} + Path + {{/rollBetween() trapComponent 57 60}} + {{#rollBetween() trapComponent 61 64}} + Stone + {{/rollBetween() trapComponent 61 64}} + {{#rollBetween() trapComponent 65 68}} + Terrain + {{/rollBetween() trapComponent 65 68}} + {{#rollBetween() trapComponent 69 72}} + Poison + {{/rollBetween() trapComponent 69 72}} + {{#rollBetween() trapComponent 73 76}} + Barrier + {{/rollBetween() trapComponent 73 76}} + {{#rollBetween() trapComponent 77 80}} + Overhead + {{/rollBetween() trapComponent 77 80}} + {{#rollBetween() trapComponent 81 84}} + Magic + {{/rollBetween() trapComponent 81 84}} + {{#rollBetween() trapComponent 85 88}} + Toxin + {{/rollBetween() trapComponent 85 88}} + {{#rollBetween() trapComponent 89 92}} + Earth + {{/rollBetween() trapComponent 89 92}} + {{#rollBetween() trapComponent 93 96}} + Light + {{/rollBetween() trapComponent 93 96}} + {{#rollBetween() trapComponent 97 100}} + Denizen + {{/rollBetween() trapComponent 97 100}} +
    +
    {{/trapComponent}} + {{#combatEventMethod}} +
    +
    {{combatEventMethod}}
    +
    + {{#rollBetween() combatEventMethod 1 2}} + Defy + {{/rollBetween() combatEventMethod 1 2}} + {{#rollBetween() combatEventMethod 3 4}} + Break + {{/rollBetween() combatEventMethod 3 4}} + {{#rollBetween() combatEventMethod 5 6}} + Trick + {{/rollBetween() combatEventMethod 5 6}} + {{#rollBetween() combatEventMethod 7 8}} + Evade + {{/rollBetween() combatEventMethod 7 8}} + {{#rollBetween() combatEventMethod 9 10}} + Protect + {{/rollBetween() combatEventMethod 9 10}} + {{#rollBetween() combatEventMethod 11 12}} + Overwhelm + {{/rollBetween() combatEventMethod 11 12}} + {{#rollBetween() combatEventMethod 13 14}} + Persevere + {{/rollBetween() combatEventMethod 13 14}} + {{#rollBetween() combatEventMethod 15 16}} + Assist + {{/rollBetween() combatEventMethod 15 16}} + {{#rollBetween() combatEventMethod 17 18}} + Await + {{/rollBetween() combatEventMethod 17 18}} + {{#rollBetween() combatEventMethod 19 20}} + Abort + {{/rollBetween() combatEventMethod 19 20}} + {{#rollBetween() combatEventMethod 21 22}} + Block + {{/rollBetween() combatEventMethod 21 22}} + {{#rollBetween() combatEventMethod 23 24}} + Collide + {{/rollBetween() combatEventMethod 23 24}} + {{#rollBetween() combatEventMethod 25 26}} + Focus + {{/rollBetween() combatEventMethod 25 26}} + {{#rollBetween() combatEventMethod 27 28}} + Advance + {{/rollBetween() combatEventMethod 27 28}} + {{#rollBetween() combatEventMethod 29 30}} + Breach + {{/rollBetween() combatEventMethod 29 30}} + {{#rollBetween() combatEventMethod 31 32}} + Endure + {{/rollBetween() combatEventMethod 31 32}} + {{#rollBetween() combatEventMethod 33 34}} + Assault + {{/rollBetween() combatEventMethod 33 34}} + {{#rollBetween() combatEventMethod 35 36}} + Charge + {{/rollBetween() combatEventMethod 35 36}} + {{#rollBetween() combatEventMethod 37 38}} + Escalate + {{/rollBetween() combatEventMethod 37 38}} + {{#rollBetween() combatEventMethod 39 40}} + Sunder + {{/rollBetween() combatEventMethod 39 40}} + {{#rollBetween() combatEventMethod 41 42}} + Shatter + {{/rollBetween() combatEventMethod 41 42}} + {{#rollBetween() combatEventMethod 43 44}} + Aim + {{/rollBetween() combatEventMethod 43 44}} + {{#rollBetween() combatEventMethod 45 46}} + Stagger + {{/rollBetween() combatEventMethod 45 46}} + {{#rollBetween() combatEventMethod 47 48}} + Counter + {{/rollBetween() combatEventMethod 47 48}} + {{#rollBetween() combatEventMethod 49 50}} + Seize + {{/rollBetween() combatEventMethod 49 50}} + {{#rollBetween() combatEventMethod 51 52}} + Impact + {{/rollBetween() combatEventMethod 51 52}} + {{#rollBetween() combatEventMethod 53 54}} + Entangle + {{/rollBetween() combatEventMethod 53 54}} + {{#rollBetween() combatEventMethod 55 56}} + Hold + {{/rollBetween() combatEventMethod 55 56}} + {{#rollBetween() combatEventMethod 57 58}} + Deflect + {{/rollBetween() combatEventMethod 57 58}} + {{#rollBetween() combatEventMethod 59 60}} + Drop + {{/rollBetween() combatEventMethod 59 60}} + {{#rollBetween() combatEventMethod 61 62}} + Lose + {{/rollBetween() combatEventMethod 61 62}} + {{#rollBetween() combatEventMethod 63 64}} + Sweep + {{/rollBetween() combatEventMethod 63 64}} + {{#rollBetween() combatEventMethod 65 66}} + Secure + {{/rollBetween() combatEventMethod 65 66}} + {{#rollBetween() combatEventMethod 67 68}} + Cover + {{/rollBetween() combatEventMethod 67 68}} + {{#rollBetween() combatEventMethod 69 70}} + Withdraw + {{/rollBetween() combatEventMethod 69 70}} + {{#rollBetween() combatEventMethod 71 72}} + Clash + {{/rollBetween() combatEventMethod 71 72}} + {{#rollBetween() combatEventMethod 73 74}} + Amplify + {{/rollBetween() combatEventMethod 73 74}} + {{#rollBetween() combatEventMethod 75 76}} + Batter + {{/rollBetween() combatEventMethod 75 76}} + {{#rollBetween() combatEventMethod 77 78}} + Feint + {{/rollBetween() combatEventMethod 77 78}} + {{#rollBetween() combatEventMethod 79 80}} + Shove + {{/rollBetween() combatEventMethod 79 80}} + {{#rollBetween() combatEventMethod 81 82}} + Embed + {{/rollBetween() combatEventMethod 81 82}} + {{#rollBetween() combatEventMethod 83 84}} + Affect + {{/rollBetween() combatEventMethod 83 84}} + {{#rollBetween() combatEventMethod 85 86}} + Probe + {{/rollBetween() combatEventMethod 85 86}} + {{#rollBetween() combatEventMethod 87 88}} + Force + {{/rollBetween() combatEventMethod 87 88}} + {{#rollBetween() combatEventMethod 89 90}} + Intensify + {{/rollBetween() combatEventMethod 89 90}} + {{#rollBetween() combatEventMethod 91 92}} + Distract + {{/rollBetween() combatEventMethod 91 92}} + {{#rollBetween() combatEventMethod 93 94}} + Challenge + {{/rollBetween() combatEventMethod 93 94}} + {{#rollBetween() combatEventMethod 95 96}} + Brawl + {{/rollBetween() combatEventMethod 95 96}} + {{#rollBetween() combatEventMethod 97 98}} + Coordinate + {{/rollBetween() combatEventMethod 97 98}} + {{#rollBetween() combatEventMethod 99 100}} + Overrun + {{/rollBetween() combatEventMethod 99 100}} +
    +
    {{/combatEventMethod}} + {{#combatEventTarget}} +
    +
    {{combatEventTarget}}
    +
    + {{#rollBetween() combatEventTarget 1 2}} + Control + {{/rollBetween() combatEventTarget 1 2}} + {{#rollBetween() combatEventTarget 3 4}} + Defense + {{/rollBetween() combatEventTarget 3 4}} + {{#rollBetween() combatEventTarget 5 6}} + Limbs + {{/rollBetween() combatEventTarget 5 6}} + {{#rollBetween() combatEventTarget 7 8}} + Focus + {{/rollBetween() combatEventTarget 7 8}} + {{#rollBetween() combatEventTarget 9 10}} + Advantage + {{/rollBetween() combatEventTarget 9 10}} + {{#rollBetween() combatEventTarget 11 12}} + Range + {{/rollBetween() combatEventTarget 11 12}} + {{#rollBetween() combatEventTarget 13 14}} + Stress + {{/rollBetween() combatEventTarget 13 14}} + {{#rollBetween() combatEventTarget 15 16}} + Sense + {{/rollBetween() combatEventTarget 15 16}} + {{#rollBetween() combatEventTarget 17 18}} + Weakness + {{/rollBetween() combatEventTarget 17 18}} + {{#rollBetween() combatEventTarget 19 20}} + Opening + {{/rollBetween() combatEventTarget 19 20}} + {{#rollBetween() combatEventTarget 21 22}} + Fear + {{/rollBetween() combatEventTarget 21 22}} + {{#rollBetween() combatEventTarget 23 24}} + Instinct + {{/rollBetween() combatEventTarget 23 24}} + {{#rollBetween() combatEventTarget 25 26}} + Footing + {{/rollBetween() combatEventTarget 25 26}} + {{#rollBetween() combatEventTarget 27 28}} + Maneuver + {{/rollBetween() combatEventTarget 27 28}} + {{#rollBetween() combatEventTarget 29 30}} + Reach + {{/rollBetween() combatEventTarget 29 30}} + {{#rollBetween() combatEventTarget 31 32}} + Harm + {{/rollBetween() combatEventTarget 31 32}} + {{#rollBetween() combatEventTarget 33 34}} + Finesse + {{/rollBetween() combatEventTarget 33 34}} + {{#rollBetween() combatEventTarget 35 36}} + Weapon + {{/rollBetween() combatEventTarget 35 36}} + {{#rollBetween() combatEventTarget 37 38}} + Environment + {{/rollBetween() combatEventTarget 37 38}} + {{#rollBetween() combatEventTarget 39 40}} + Technique + {{/rollBetween() combatEventTarget 39 40}} + {{#rollBetween() combatEventTarget 41 42}} + Surprise + {{/rollBetween() combatEventTarget 41 42}} + {{#rollBetween() combatEventTarget 43 44}} + Pride + {{/rollBetween() combatEventTarget 43 44}} + {{#rollBetween() combatEventTarget 45 46}} + Wound + {{/rollBetween() combatEventTarget 45 46}} + {{#rollBetween() combatEventTarget 47 48}} + Precision + {{/rollBetween() combatEventTarget 47 48}} + {{#rollBetween() combatEventTarget 49 50}} + Ally + {{/rollBetween() combatEventTarget 49 50}} + {{#rollBetween() combatEventTarget 51 52}} + Ground + {{/rollBetween() combatEventTarget 51 52}} + {{#rollBetween() combatEventTarget 53 54}} + Courage + {{/rollBetween() combatEventTarget 53 54}} + {{#rollBetween() combatEventTarget 55 56}} + Companion + {{/rollBetween() combatEventTarget 55 56}} + {{#rollBetween() combatEventTarget 57 58}} + Object + {{/rollBetween() combatEventTarget 57 58}} + {{#rollBetween() combatEventTarget 59 60}} + Momentum + {{/rollBetween() combatEventTarget 59 60}} + {{#rollBetween() combatEventTarget 61 62}} + Speed + {{/rollBetween() combatEventTarget 61 62}} + {{#rollBetween() combatEventTarget 63 64}} + Strength + {{/rollBetween() combatEventTarget 63 64}} + {{#rollBetween() combatEventTarget 65 66}} + Supply + {{/rollBetween() combatEventTarget 65 66}} + {{#rollBetween() combatEventTarget 67 68}} + Terrain + {{/rollBetween() combatEventTarget 67 68}} + {{#rollBetween() combatEventTarget 69 70}} + Armor + {{/rollBetween() combatEventTarget 69 70}} + {{#rollBetween() combatEventTarget 71 72}} + Skill + {{/rollBetween() combatEventTarget 71 72}} + {{#rollBetween() combatEventTarget 73 74}} + Body + {{/rollBetween() combatEventTarget 73 74}} + {{#rollBetween() combatEventTarget 75 76}} + Protection + {{/rollBetween() combatEventTarget 75 76}} + {{#rollBetween() combatEventTarget 77 78}} + Resolve + {{/rollBetween() combatEventTarget 77 78}} + {{#rollBetween() combatEventTarget 79 80}} + Ferocity + {{/rollBetween() combatEventTarget 79 80}} + {{#rollBetween() combatEventTarget 81 82}} + Shield + {{/rollBetween() combatEventTarget 81 82}} + {{#rollBetween() combatEventTarget 83 84}} + Ammo + {{/rollBetween() combatEventTarget 83 84}} + {{#rollBetween() combatEventTarget 85 86}} + Anger + {{/rollBetween() combatEventTarget 85 86}} + {{#rollBetween() combatEventTarget 87 88}} + Opportunity + {{/rollBetween() combatEventTarget 87 88}} + {{#rollBetween() combatEventTarget 89 90}} + Balance + {{/rollBetween() combatEventTarget 89 90}} + {{#rollBetween() combatEventTarget 91 92}} + Position + {{/rollBetween() combatEventTarget 91 92}} + {{#rollBetween() combatEventTarget 93 94}} + Barrier + {{/rollBetween() combatEventTarget 93 94}} + {{#rollBetween() combatEventTarget 95 96}} + Strategy + {{/rollBetween() combatEventTarget 95 96}} + {{#rollBetween() combatEventTarget 97 98}} + Grasp + {{/rollBetween() combatEventTarget 97 98}} + {{#rollBetween() combatEventTarget 99 100}} + Power + {{/rollBetween() combatEventTarget 99 100}} +
    +
    {{/combatEventTarget}} + {{#threatCategory}} +
    +
    {{threatCategory}}
    +
    + {{#rollBetween() threatCategory 1 10}} + Burgeoning Conflict + {{/rollBetween() threatCategory 1 10}} + {{#rollBetween() threatCategory 11 20}} + Cursed Site + {{/rollBetween() threatCategory 11 20}} + {{#rollBetween() threatCategory 21 30}} + Environmental Calamity + {{/rollBetween() threatCategory 21 30}} + {{#rollBetween() threatCategory 31 40}} + Malignant Plague + {{/rollBetween() threatCategory 31 40}} + {{#rollBetween() threatCategory 41 50}} + Rampaging Creature + {{/rollBetween() threatCategory 41 50}} + {{#rollBetween() threatCategory 51 60}} + Ravaging Horde + {{/rollBetween() threatCategory 51 60}} + {{#rollBetween() threatCategory 61 70}} + Scheming Leader + {{/rollBetween() threatCategory 61 70}} + {{#rollBetween() threatCategory 71 80}} + Power-Hungry Mystic + {{/rollBetween() threatCategory 71 80}} + {{#rollBetween() threatCategory 81 90}} + Zealous Cult + {{/rollBetween() threatCategory 81 90}} + {{#rollBetween() threatCategory 91 100}} + Roll Twice + {{/rollBetween() threatCategory 91 100}} +
    +
    {{/threatCategory}} + {{#threatBurgeoningConflict}} +
    +
    {{threatBurgeoningConflict}}
    +
    + {{#rollBetween() threatBurgeoningConflict 1 10}} + Allow warmongers to gain influence + {{/rollBetween() threatBurgeoningConflict 1 10}} + {{#rollBetween() threatBurgeoningConflict 11 20}} + Break a treaty + {{/rollBetween() threatBurgeoningConflict 11 20}} + {{#rollBetween() threatBurgeoningConflict 21 30}} + Force a hasty decision + {{/rollBetween() threatBurgeoningConflict 21 30}} + {{#rollBetween() threatBurgeoningConflict 31 40}} + Deepen suspicions + {{/rollBetween() threatBurgeoningConflict 31 40}} + {{#rollBetween() threatBurgeoningConflict 41 50}} + Trigger a confrontation + {{/rollBetween() threatBurgeoningConflict 41 50}} + {{#rollBetween() threatBurgeoningConflict 51 60}} + Subvert a potential accord + {{/rollBetween() threatBurgeoningConflict 51 60}} + {{#rollBetween() threatBurgeoningConflict 61 70}} + Isolate the antagonists + {{/rollBetween() threatBurgeoningConflict 61 70}} + {{#rollBetween() threatBurgeoningConflict 71 80}} + Draw new battle lines + {{/rollBetween() threatBurgeoningConflict 71 80}} + {{#rollBetween() threatBurgeoningConflict 81 90}} + Reveal an unexpected aspect of the dispute + {{/rollBetween() threatBurgeoningConflict 81 90}} + {{#rollBetween() threatBurgeoningConflict 91 100}} + Introduce a new person or faction to complicate the situation + {{/rollBetween() threatBurgeoningConflict 91 100}} +
    +
    {{/threatBurgeoningConflict}} + {{#threatCursedSite}} +
    +
    {{threatCursedSite}}
    +
    + {{#rollBetween() threatCursedSite 1 10}} + Unleash a creature or being + {{/rollBetween() threatCursedSite 1 10}} + {{#rollBetween() threatCursedSite 11 20}} + Lure the unwary into its depths + {{/rollBetween() threatCursedSite 11 20}} + {{#rollBetween() threatCursedSite 21 30}} + Offer promises of power + {{/rollBetween() threatCursedSite 21 30}} + {{#rollBetween() threatCursedSite 31 40}} + Reveal a new aspect of its cursed history + {{/rollBetween() threatCursedSite 31 40}} + {{#rollBetween() threatCursedSite 41 50}} + Expand its malignancy to surrounding lands + {{/rollBetween() threatCursedSite 41 50}} + {{#rollBetween() threatCursedSite 51 60}} + Leave its mark on an inhabitant or visitor + {{/rollBetween() threatCursedSite 51 60}} + {{#rollBetween() threatCursedSite 61 70}} + Reveal hidden depths + {{/rollBetween() threatCursedSite 61 70}} + {{#rollBetween() threatCursedSite 71 80}} + Ensnare an important person or object + {{/rollBetween() threatCursedSite 71 80}} + {{#rollBetween() threatCursedSite 81 90}} + Corrupt the environment + {{/rollBetween() threatCursedSite 81 90}} + {{#rollBetween() threatCursedSite 91 100}} + Transform its nature + {{/rollBetween() threatCursedSite 91 100}} +
    +
    {{/threatCursedSite}} + {{#threatEnvironmentalCalamity}} +
    +
    {{threatEnvironmentalCalamity}}
    +
    + {{#rollBetween() threatEnvironmentalCalamity 1 10}} + Devastate a place + {{/rollBetween() threatEnvironmentalCalamity 1 10}} + {{#rollBetween() threatEnvironmentalCalamity 11 20}} + Block a path + {{/rollBetween() threatEnvironmentalCalamity 11 20}} + {{#rollBetween() threatEnvironmentalCalamity 21 30}} + Threaten a community with imminent destruction + {{/rollBetween() threatEnvironmentalCalamity 21 30}} + {{#rollBetween() threatEnvironmentalCalamity 31 40}} + Manifest unexpected effects + {{/rollBetween() threatEnvironmentalCalamity 31 40}} + {{#rollBetween() threatEnvironmentalCalamity 41 50}} + Expand in scope or intensity + {{/rollBetween() threatEnvironmentalCalamity 41 50}} + {{#rollBetween() threatEnvironmentalCalamity 51 60}} + Allow someone to take advantage + {{/rollBetween() threatEnvironmentalCalamity 51 60}} + {{#rollBetween() threatEnvironmentalCalamity 61 70}} + Deprive of resources + {{/rollBetween() threatEnvironmentalCalamity 61 70}} + {{#rollBetween() threatEnvironmentalCalamity 71 80}} + Isolate an important person or community + {{/rollBetween() threatEnvironmentalCalamity 71 80}} + {{#rollBetween() threatEnvironmentalCalamity 81 90}} + Force refugees into hostile lands + {{/rollBetween() threatEnvironmentalCalamity 81 90}} + {{#rollBetween() threatEnvironmentalCalamity 91 100}} + Disrupt natural ecosystems + {{/rollBetween() threatEnvironmentalCalamity 91 100}} +
    +
    {{/threatEnvironmentalCalamity}} + {{#threatMalignantPlague}} +
    +
    {{threatMalignantPlague}}
    +
    + {{#rollBetween() threatMalignantPlague 1 10}} + Manifest new symptoms or effects + {{/rollBetween() threatMalignantPlague 1 10}} + {{#rollBetween() threatMalignantPlague 11 20}} + Infect someone important + {{/rollBetween() threatMalignantPlague 11 20}} + {{#rollBetween() threatMalignantPlague 21 30}} + Expand to new territory or communities + {{/rollBetween() threatMalignantPlague 21 30}} + {{#rollBetween() threatMalignantPlague 31 40}} + Allow someone to take advantage + {{/rollBetween() threatMalignantPlague 31 40}} + {{#rollBetween() threatMalignantPlague 41 50}} + Allow someone to take the blame + {{/rollBetween() threatMalignantPlague 41 50}} + {{#rollBetween() threatMalignantPlague 51 60}} + Create panic or disorder + {{/rollBetween() threatMalignantPlague 51 60}} + {{#rollBetween() threatMalignantPlague 61 70}} + Force a horrible decision + {{/rollBetween() threatMalignantPlague 61 70}} + {{#rollBetween() threatMalignantPlague 71 80}} + Lure into complacency + {{/rollBetween() threatMalignantPlague 71 80}} + {{#rollBetween() threatMalignantPlague 81 90}} + Reveal the root of the sickness + {{/rollBetween() threatMalignantPlague 81 90}} + {{#rollBetween() threatMalignantPlague 91 100}} + Undermine a potential cure + {{/rollBetween() threatMalignantPlague 91 100}} +
    +
    {{/threatMalignantPlague}} + {{#threatRampagingCreature}} +
    +
    {{threatRampagingCreature}}
    +
    + {{#rollBetween() threatRampagingCreature 1 10}} + Reveal a new aspect of its nature or abilities + {{/rollBetween() threatRampagingCreature 1 10}} + {{#rollBetween() threatRampagingCreature 11 20}} + Expand its territory + {{/rollBetween() threatRampagingCreature 11 20}} + {{#rollBetween() threatRampagingCreature 21 30}} + Make a sudden and brutal attack + {{/rollBetween() threatRampagingCreature 21 30}} + {{#rollBetween() threatRampagingCreature 31 40}} + Control or influence lesser creatures + {{/rollBetween() threatRampagingCreature 31 40}} + {{#rollBetween() threatRampagingCreature 41 50}} + Create confusion or strife + {{/rollBetween() threatRampagingCreature 41 50}} + {{#rollBetween() threatRampagingCreature 51 60}} + Leave foreboding signs + {{/rollBetween() threatRampagingCreature 51 60}} + {{#rollBetween() threatRampagingCreature 61 70}} + Lure the unwary + {{/rollBetween() threatRampagingCreature 61 70}} + {{#rollBetween() threatRampagingCreature 71 80}} + Imperil an event + {{/rollBetween() threatRampagingCreature 71 80}} + {{#rollBetween() threatRampagingCreature 81 90}} + Assert control over a location + {{/rollBetween() threatRampagingCreature 81 90}} + {{#rollBetween() threatRampagingCreature 91 100}} + Threaten resources + {{/rollBetween() threatRampagingCreature 91 100}} +
    +
    {{/threatRampagingCreature}} + {{#threatRavagingHorde}} +
    +
    {{threatRavagingHorde}}
    +
    + {{#rollBetween() threatRavagingHorde 1 10}} + Overrun defenses + {{/rollBetween() threatRavagingHorde 1 10}} + {{#rollBetween() threatRavagingHorde 11 20}} + Gather resources + {{/rollBetween() threatRavagingHorde 11 20}} + {{#rollBetween() threatRavagingHorde 21 30}} + Attack a location + {{/rollBetween() threatRavagingHorde 21 30}} + {{#rollBetween() threatRavagingHorde 31 40}} + Expand forces + {{/rollBetween() threatRavagingHorde 31 40}} + {{#rollBetween() threatRavagingHorde 41 50}} + Appoint or reveal a leader + {{/rollBetween() threatRavagingHorde 41 50}} + {{#rollBetween() threatRavagingHorde 51 60}} + Send forth a champion + {{/rollBetween() threatRavagingHorde 51 60}} + {{#rollBetween() threatRavagingHorde 61 70}} + Create a diversion + {{/rollBetween() threatRavagingHorde 61 70}} + {{#rollBetween() threatRavagingHorde 71 80}} + Undermine an opposing force from within + {{/rollBetween() threatRavagingHorde 71 80}} + {{#rollBetween() threatRavagingHorde 81 90}} + Cut off supplies or reinforcements + {{/rollBetween() threatRavagingHorde 81 90}} + {{#rollBetween() threatRavagingHorde 91 100}} + Employ a new weapon + {{/rollBetween() threatRavagingHorde 91 100}} +
    +
    {{/threatRavagingHorde}} + {{#threatSchemingLeader}} +
    +
    {{threatSchemingLeader}}
    +
    + {{#rollBetween() threatSchemingLeader 1 10}} + Defeat an enemy + {{/rollBetween() threatSchemingLeader 1 10}} + {{#rollBetween() threatSchemingLeader 11 20}} + Form a new alliance + {{/rollBetween() threatSchemingLeader 11 20}} + {{#rollBetween() threatSchemingLeader 21 30}} + Usurp or undermine another leader + {{/rollBetween() threatSchemingLeader 21 30}} + {{#rollBetween() threatSchemingLeader 31 40}} + Force the loyalty of a community or important person + {{/rollBetween() threatSchemingLeader 31 40}} + {{#rollBetween() threatSchemingLeader 41 50}} + Enact a new law or tradition + {{/rollBetween() threatSchemingLeader 41 50}} + {{#rollBetween() threatSchemingLeader 51 60}} + Rescind an old law or tradition + {{/rollBetween() threatSchemingLeader 51 60}} + {{#rollBetween() threatSchemingLeader 61 70}} + Reveal a true intention + {{/rollBetween() threatSchemingLeader 61 70}} + {{#rollBetween() threatSchemingLeader 71 80}} + Unravel an existing alliance + {{/rollBetween() threatSchemingLeader 71 80}} + {{#rollBetween() threatSchemingLeader 81 90}} + Incite conflict + {{/rollBetween() threatSchemingLeader 81 90}} + {{#rollBetween() threatSchemingLeader 91 100}} + Use an unexpected capability or asset + {{/rollBetween() threatSchemingLeader 91 100}} +
    +
    {{/threatSchemingLeader}} + {{#threatPowerHungryMystic}} +
    +
    {{threatPowerHungryMystic}}
    +
    + {{#rollBetween() threatPowerHungryMystic 1 10}} + Gain hidden knowledge + {{/rollBetween() threatPowerHungryMystic 1 10}} + {{#rollBetween() threatPowerHungryMystic 11 20}} + Assault an enemy with magic + {{/rollBetween() threatPowerHungryMystic 11 20}} + {{#rollBetween() threatPowerHungryMystic 21 30}} + Despoil a place through magic + {{/rollBetween() threatPowerHungryMystic 21 30}} + {{#rollBetween() threatPowerHungryMystic 31 40}} + Forge a bond with ancient forces + {{/rollBetween() threatPowerHungryMystic 31 40}} + {{#rollBetween() threatPowerHungryMystic 41 50}} + Create magical wards or protections + {{/rollBetween() threatPowerHungryMystic 41 50}} + {{#rollBetween() threatPowerHungryMystic 51 60}} + Obtain a powerful artifact + {{/rollBetween() threatPowerHungryMystic 51 60}} + {{#rollBetween() threatPowerHungryMystic 61 70}} + Tempt with power or secrets + {{/rollBetween() threatPowerHungryMystic 61 70}} + {{#rollBetween() threatPowerHungryMystic 71 80}} + Recruit a follower or ally + {{/rollBetween() threatPowerHungryMystic 71 80}} + {{#rollBetween() threatPowerHungryMystic 81 90}} + Sacrifice something in exchange for greater power + {{/rollBetween() threatPowerHungryMystic 81 90}} + {{#rollBetween() threatPowerHungryMystic 91 100}} + Use magic to trick or deceive + {{/rollBetween() threatPowerHungryMystic 91 100}} +
    +
    {{/threatPowerHungryMystic}} + {{#threatZealousCult}} +
    +
    {{threatZealousCult}}
    +
    + {{#rollBetween() threatZealousCult 1 10}} + Overtake a faction or community + {{/rollBetween() threatZealousCult 1 10}} + {{#rollBetween() threatZealousCult 11 20}} + Unlock secrets to greater power + {{/rollBetween() threatZealousCult 11 20}} + {{#rollBetween() threatZealousCult 21 30}} + Establish false credibility + {{/rollBetween() threatZealousCult 21 30}} + {{#rollBetween() threatZealousCult 31 40}} + Appoint or reveal a leader + {{/rollBetween() threatZealousCult 31 40}} + {{#rollBetween() threatZealousCult 41 50}} + Lure new members or establish alliances + {{/rollBetween() threatZealousCult 41 50}} + {{#rollBetween() threatZealousCult 51 60}} + Subvert opposition through devious schemes + {{/rollBetween() threatZealousCult 51 60}} + {{#rollBetween() threatZealousCult 61 70}} + Attack opposition directly + {{/rollBetween() threatZealousCult 61 70}} + {{#rollBetween() threatZealousCult 71 80}} + Spread the word of its doctrine + {{/rollBetween() threatZealousCult 71 80}} + {{#rollBetween() threatZealousCult 81 90}} + Reveal a dire prophecy + {{/rollBetween() threatZealousCult 81 90}} + {{#rollBetween() threatZealousCult 91 100}} + Reveal its true nature or goal + {{/rollBetween() threatZealousCult 91 100}} +
    +
    {{/threatZealousCult}} +
    +
    + +
    {{#action}} +
    {{header}}
    +
    {{name}}
    {{#rollTotal() encumbered 1}} + {{#rollBetween() action loadEncMin loadEncMax}} +
    +
    Previous Action Score:
    +
    {{action}}
    +
    +
    +
    Encumbered: Action die cancelled for being greater than or matching max load.
    +
    +
    +
    Stat + Add:
    +
    {{stat}} + {{add}}
    +
    +
    +
    New Action Score:
    +
    {{modifiers}}
    +
    +
    +
    Challenge Dice:
    +
    {{challenge1}} {{challenge2}}
    +
    {{#rollGreater() modifiers challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    OPPORTUNITY
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() modifiers challenge2}} +
    +
    +
    STRONG HIT
    +
    {{/rollGreater() modifiers challenge2}} + {{#^rollGreater() modifiers challenge2}} +
    +
    +
    WEAK HIT
    +
    {{#rollGreater() momentum challenge2}} +
    +
    Momentum:
    +
    {{momentum}}
    +
    +
    +
    +
    Burn Momentum: Strong Hit
    +
    {{/rollGreater() momentum challenge2}} + {{/^rollGreater() modifiers challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/rollGreater() modifiers challenge1}} + {{#^rollGreater() modifiers challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    COMPLICATION
    +
    {{#rollGreater() momentum challenge1}} +
    +
    Momentum:
    +
    {{momentum}}
    +
    +
    +
    +
    Burn Momentum: Strong Hit
    +
    {{/rollGreater() momentum challenge1}} + {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() modifiers challenge2}} +
    +
    +
    WEAK HIT
    +
    {{#rollGreater() momentum challenge1}} +
    +
    Momentum:
    +
    {{momentum}}
    +
    +
    +
    +
    Burn Momentum: Strong Hit
    +
    {{/rollGreater() momentum challenge1}} + {{/rollGreater() modifiers challenge2}} + {{#^rollGreater() modifiers challenge2}} +
    +
    +
    MISS
    +
    {{#rollGreater() momentum challenge1}} + {{#rollGreater() momentum challenge2}} +
    +
    Momentum:
    +
    {{momentum}}
    +
    +
    +
    +
    Burn Momentum: Strong Hit
    +
    {{/rollGreater() momentum challenge2}} + {{#^rollGreater() momentum challenge2}} +
    +
    Momentum:
    +
    {{momentum}}
    +
    +
    +
    +
    Burn Momentum: Weak Hit
    +
    {{/^rollGreater() momentum challenge2}} + {{/rollGreater() momentum challenge1}} + {{#^rollGreater() momentum challenge1}} + {{#rollGreater() momentum challenge2}} +
    +
    Momentum:
    +
    {{momentum}}
    +
    +
    +
    +
    Burn Momentum: Weak Hit
    +
    {{/rollGreater() momentum challenge2}} + {{/^rollGreater() momentum challenge1}} + {{/^rollGreater() modifiers challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/^rollGreater() modifiers challenge1}}{{/rollBetween() action loadEncMin loadEncMax}} + {{#^rollBetween() action loadEncMin loadEncMax}} + {{#rollLess() momentum 0}}{{#rollTotal() momentum -1}} + {{#rollTotal() action negate1}} +
    +
    Previous Action Score:
    +
    {{action}}
    +
    +
    +
    Action die cancelled for matching negative momentum.
    +
    +
    +
    Stat + Add:
    +
    {{stat}} + {{add}}
    +
    +
    +
    New Action Score:
    +
    {{modifiers}}
    +
    +
    +
    Challenge Dice:
    +
    {{challenge1}} {{challenge2}}
    +
    {{#rollGreater() modifiers challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    OPPORTUNITY
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() modifiers challenge2}} +
    +
    +
    STRONG HIT
    +
    {{/rollGreater() modifiers challenge2}} + {{#^rollGreater() modifiers challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/^rollGreater() modifiers challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/rollGreater() modifiers challenge1}} + {{#^rollGreater() modifiers challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    COMPLICATION
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() modifiers challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/rollGreater() modifiers challenge2}} + {{#^rollGreater() modifiers challenge2}} +
    +
    +
    MISS
    +
    {{/^rollGreater() modifiers challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/^rollGreater() modifiers challenge1}}{{/rollTotal() action negate1}} + {{#^rollTotal() action negate1}} + {{#rollTotal() action negate2}} +
    +
    Previous Action Score:
    +
    {{action}}
    +
    +
    +
    Action die cancelled for matching negative momentum.
    +
    +
    +
    Stat + Add:
    +
    {{stat}} + {{add}}
    +
    +
    +
    New Action Score:
    +
    {{modifiers}}
    +
    +
    +
    Challenge Dice:
    +
    {{challenge1}} {{challenge2}}
    +
    {{#rollGreater() modifiers challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    OPPORTUNITY
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() modifiers challenge2}} +
    +
    +
    STRONG HIT
    +
    {{/rollGreater() modifiers challenge2}} + {{#^rollGreater() modifiers challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/^rollGreater() modifiers challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/rollGreater() modifiers challenge1}} + {{#^rollGreater() modifiers challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    COMPLICATION
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() modifiers challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/rollGreater() modifiers challenge2}} + {{#^rollGreater() modifiers challenge2}} +
    +
    +
    MISS
    +
    {{/^rollGreater() modifiers challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/^rollGreater() modifiers challenge1}}{{/rollTotal() action negate2}} + {{#^rollTotal() action negate2}} +
    +
    Action Score:
    +
    {{action}}
    +
    +
    +
    Challenge Dice:
    +
    {{challenge1}} {{challenge2}}
    +
    {{#rollGreater() action challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    OPPORTUNITY
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() action challenge2}} +
    +
    +
    STRONG HIT
    +
    {{/rollGreater() action challenge2}} + {{#^rollGreater() action challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/^rollGreater() action challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/rollGreater() action challenge1}} + {{#^rollGreater() action challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    COMPLICATION
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() action challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/rollGreater() action challenge2}} + {{#^rollGreater() action challenge2}} +
    +
    +
    MISS
    +
    {{/^rollGreater() action challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/^rollGreater() action challenge1}}{{/^rollTotal() action negate2}} + {{/^rollTotal() action negate1}} + {{/rollTotal() momentum -1}}{{#rollTotal() momentum -2}} + {{#rollTotal() action negate3}} +
    +
    Previous Action Score:
    +
    {{action}}
    +
    +
    +
    Action die cancelled for matching negative momentum.
    +
    +
    +
    Stat + Add:
    +
    {{stat}} + {{add}}
    +
    +
    +
    New Action Score:
    +
    {{modifiers}}
    +
    +
    +
    Challenge Dice:
    +
    {{challenge1}} {{challenge2}}
    +
    {{#rollGreater() modifiers challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    OPPORTUNITY
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() modifiers challenge2}} +
    +
    +
    STRONG HIT
    +
    {{/rollGreater() modifiers challenge2}} + {{#^rollGreater() modifiers challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/^rollGreater() modifiers challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/rollGreater() modifiers challenge1}} + {{#^rollGreater() modifiers challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    COMPLICATION
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() modifiers challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/rollGreater() modifiers challenge2}} + {{#^rollGreater() modifiers challenge2}} +
    +
    +
    MISS
    +
    {{/^rollGreater() modifiers challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/^rollGreater() modifiers challenge1}}{{/rollTotal() action negate3}} + {{#^rollTotal() action negate3}} + {{#rollTotal() action negate4}} +
    +
    Previous Action Score:
    +
    {{action}}
    +
    +
    +
    Action die cancelled for matching negative momentum.
    +
    +
    +
    Stat + Add:
    +
    {{stat}} + {{add}}
    +
    +
    +
    New Action Score:
    +
    {{modifiers}}
    +
    +
    +
    Challenge Dice:
    +
    {{challenge1}} {{challenge2}}
    +
    {{#rollGreater() modifiers challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    OPPORTUNITY
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() modifiers challenge2}} +
    +
    +
    STRONG HIT
    +
    {{/rollGreater() modifiers challenge2}} + {{#^rollGreater() modifiers challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/^rollGreater() modifiers challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/rollGreater() modifiers challenge1}} + {{#^rollGreater() modifiers challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    COMPLICATION
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() modifiers challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/rollGreater() modifiers challenge2}} + {{#^rollGreater() modifiers challenge2}} +
    +
    +
    MISS
    +
    {{/^rollGreater() modifiers challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/^rollGreater() modifiers challenge1}}{{/rollTotal() action negate4}} + {{#^rollTotal() action negate4}} +
    +
    Action Score:
    +
    {{action}}
    +
    +
    +
    Challenge Dice:
    +
    {{challenge1}} {{challenge2}}
    +
    {{#rollGreater() action challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    OPPORTUNITY
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() action challenge2}} +
    +
    +
    STRONG HIT
    +
    {{/rollGreater() action challenge2}} + {{#^rollGreater() action challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/^rollGreater() action challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/rollGreater() action challenge1}} + {{#^rollGreater() action challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    COMPLICATION
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() action challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/rollGreater() action challenge2}} + {{#^rollGreater() action challenge2}} +
    +
    +
    MISS
    +
    {{/^rollGreater() action challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/^rollGreater() action challenge1}}{{/^rollTotal() action negate4}} + {{/^rollTotal() action negate3}} + {{/rollTotal() momentum -2}}{{#rollTotal() momentum -3}} + {{#rollTotal() action negate5}} +
    +
    Previous Action Score:
    +
    {{action}}
    +
    +
    +
    Action die cancelled for matching negative momentum.
    +
    +
    +
    Stat + Add:
    +
    {{stat}} + {{add}}
    +
    +
    +
    New Action Score:
    +
    {{modifiers}}
    +
    +
    +
    Challenge Dice:
    +
    {{challenge1}} {{challenge2}}
    +
    {{#rollGreater() modifiers challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    OPPORTUNITY
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() modifiers challenge2}} +
    +
    +
    STRONG HIT
    +
    {{/rollGreater() modifiers challenge2}} + {{#^rollGreater() modifiers challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/^rollGreater() modifiers challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/rollGreater() modifiers challenge1}} + {{#^rollGreater() modifiers challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    COMPLICATION
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() modifiers challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/rollGreater() modifiers challenge2}} + {{#^rollGreater() modifiers challenge2}} +
    +
    +
    MISS
    +
    {{/^rollGreater() modifiers challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/^rollGreater() modifiers challenge1}}{{/rollTotal() action negate5}} + {{#^rollTotal() action negate5}} + {{#rollTotal() action negate6}} +
    +
    Previous Action Score:
    +
    {{action}}
    +
    +
    +
    Action die cancelled for matching negative momentum.
    +
    +
    +
    Stat + Add:
    +
    {{stat}} + {{add}}
    +
    +
    +
    New Action Score:
    +
    {{modifiers}}
    +
    +
    +
    Challenge Dice:
    +
    {{challenge1}} {{challenge2}}
    +
    {{#rollGreater() modifiers challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    OPPORTUNITY
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() modifiers challenge2}} +
    +
    +
    STRONG HIT
    +
    {{/rollGreater() modifiers challenge2}} + {{#^rollGreater() modifiers challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/^rollGreater() modifiers challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/rollGreater() modifiers challenge1}} + {{#^rollGreater() modifiers challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    COMPLICATION
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() modifiers challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/rollGreater() modifiers challenge2}} + {{#^rollGreater() modifiers challenge2}} +
    +
    +
    MISS
    +
    {{/^rollGreater() modifiers challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/^rollGreater() modifiers challenge1}}{{/rollTotal() action negate6}} + {{#^rollTotal() action negate6}} +
    +
    Action Score:
    +
    {{action}}
    +
    +
    +
    Challenge Dice:
    +
    {{challenge1}} {{challenge2}}
    +
    {{#rollGreater() action challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    OPPORTUNITY
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() action challenge2}} +
    +
    +
    STRONG HIT
    +
    {{/rollGreater() action challenge2}} + {{#^rollGreater() action challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/^rollGreater() action challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/rollGreater() action challenge1}} + {{#^rollGreater() action challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    COMPLICATION
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() action challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/rollGreater() action challenge2}} + {{#^rollGreater() action challenge2}} +
    +
    +
    MISS
    +
    {{/^rollGreater() action challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/^rollGreater() action challenge1}}{{/^rollTotal() action negate6}} + {{/^rollTotal() action negate5}} + {{/rollTotal() momentum -3}}{{#rollTotal() momentum -4}} + {{#rollTotal() action negate7}} +
    +
    Previous Action Score:
    +
    {{action}}
    +
    +
    +
    Action die cancelled for matching negative momentum.
    +
    +
    +
    Stat + Add:
    +
    {{stat}} + {{add}}
    +
    +
    +
    New Action Score:
    +
    {{modifiers}}
    +
    +
    +
    Challenge Dice:
    +
    {{challenge1}} {{challenge2}}
    +
    {{#rollGreater() modifiers challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    OPPORTUNITY
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() modifiers challenge2}} +
    +
    +
    STRONG HIT
    +
    {{/rollGreater() modifiers challenge2}} + {{#^rollGreater() modifiers challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/^rollGreater() modifiers challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/rollGreater() modifiers challenge1}} + {{#^rollGreater() modifiers challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    COMPLICATION
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() modifiers challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/rollGreater() modifiers challenge2}} + {{#^rollGreater() modifiers challenge2}} +
    +
    +
    MISS
    +
    {{/^rollGreater() modifiers challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/^rollGreater() modifiers challenge1}}{{/rollTotal() action negate7}} + {{#^rollTotal() action negate7}} + {{#rollTotal() action negate8}} +
    +
    Previous Action Score:
    +
    {{action}}
    +
    +
    +
    Action die cancelled for matching negative momentum.
    +
    +
    +
    Stat + Add:
    +
    {{stat}} + {{add}}
    +
    +
    +
    New Action Score:
    +
    {{modifiers}}
    +
    +
    +
    Challenge Dice:
    +
    {{challenge1}} {{challenge2}}
    +
    {{#rollGreater() modifiers challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    OPPORTUNITY
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() modifiers challenge2}} +
    +
    +
    STRONG HIT
    +
    {{/rollGreater() modifiers challenge2}} + {{#^rollGreater() modifiers challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/^rollGreater() modifiers challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/rollGreater() modifiers challenge1}} + {{#^rollGreater() modifiers challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    COMPLICATION
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() modifiers challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/rollGreater() modifiers challenge2}} + {{#^rollGreater() modifiers challenge2}} +
    +
    +
    MISS
    +
    {{/^rollGreater() modifiers challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/^rollGreater() modifiers challenge1}}{{/rollTotal() action negate8}} + {{#^rollTotal() action negate8}} +
    +
    Action Score:
    +
    {{action}}
    +
    +
    +
    Challenge Dice:
    +
    {{challenge1}} {{challenge2}}
    +
    {{#rollGreater() action challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    OPPORTUNITY
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() action challenge2}} +
    +
    +
    STRONG HIT
    +
    {{/rollGreater() action challenge2}} + {{#^rollGreater() action challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/^rollGreater() action challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/rollGreater() action challenge1}} + {{#^rollGreater() action challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    COMPLICATION
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() action challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/rollGreater() action challenge2}} + {{#^rollGreater() action challenge2}} +
    +
    +
    MISS
    +
    {{/^rollGreater() action challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/^rollGreater() action challenge1}}{{/^rollTotal() action negate8}} + {{/^rollTotal() action negate7}} + {{/rollTotal() momentum -4}}{{#rollTotal() momentum -5}} + {{#rollTotal() action negate9}} +
    +
    Previous Action Score:
    +
    {{action}}
    +
    +
    +
    Action die cancelled for matching negative momentum.
    +
    +
    +
    Stat + Add:
    +
    {{stat}} + {{add}}
    +
    +
    +
    New Action Score:
    +
    {{modifiers}}
    +
    +
    +
    Challenge Dice:
    +
    {{challenge1}} {{challenge2}}
    +
    {{#rollGreater() modifiers challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    OPPORTUNITY
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() modifiers challenge2}} +
    +
    +
    STRONG HIT
    +
    {{/rollGreater() modifiers challenge2}} + {{#^rollGreater() modifiers challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/^rollGreater() modifiers challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/rollGreater() modifiers challenge1}} + {{#^rollGreater() modifiers challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    COMPLICATION
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() modifiers challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/rollGreater() modifiers challenge2}} + {{#^rollGreater() modifiers challenge2}} +
    +
    +
    MISS
    +
    {{/^rollGreater() modifiers challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/^rollGreater() modifiers challenge1}}{{/rollTotal() action negate9}} + {{#^rollTotal() action negate9}} + {{#rollTotal() action negate10}} +
    +
    Previous Action Score:
    +
    {{action}}
    +
    +
    +
    Action die cancelled for matching negative momentum.
    +
    +
    +
    Stat + Add:
    +
    {{stat}} + {{add}}
    +
    +
    +
    New Action Score:
    +
    {{modifiers}}
    +
    +
    +
    Challenge Dice:
    +
    {{challenge1}} {{challenge2}}
    +
    {{#rollGreater() modifiers challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    OPPORTUNITY
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() modifiers challenge2}} +
    +
    +
    STRONG HIT
    +
    {{/rollGreater() modifiers challenge2}} + {{#^rollGreater() modifiers challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/^rollGreater() modifiers challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/rollGreater() modifiers challenge1}} + {{#^rollGreater() modifiers challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    COMPLICATION
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() modifiers challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/rollGreater() modifiers challenge2}} + {{#^rollGreater() modifiers challenge2}} +
    +
    +
    MISS
    +
    {{/^rollGreater() modifiers challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/^rollGreater() modifiers challenge1}}{{/rollTotal() action negate10}} + {{#^rollTotal() action negate10}} +
    +
    Action Score:
    +
    {{action}}
    +
    +
    +
    Challenge Dice:
    +
    {{challenge1}} {{challenge2}}
    +
    {{#rollGreater() action challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    OPPORTUNITY
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() action challenge2}} +
    +
    +
    STRONG HIT
    +
    {{/rollGreater() action challenge2}} + {{#^rollGreater() action challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/^rollGreater() action challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/rollGreater() action challenge1}} + {{#^rollGreater() action challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    COMPLICATION
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() action challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/rollGreater() action challenge2}} + {{#^rollGreater() action challenge2}} +
    +
    +
    MISS
    +
    {{/^rollGreater() action challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/^rollGreater() action challenge1}}{{/^rollTotal() action negate10}} + {{/^rollTotal() action negate9}} + {{/rollTotal() momentum -5}}{{#rollTotal() momentum -6}} + {{#rollTotal() action negate11}} +
    +
    Previous Action Score:
    +
    {{action}}
    +
    +
    +
    Action die cancelled for matching negative momentum.
    +
    +
    +
    Stat + Add:
    +
    {{stat}} + {{add}}
    +
    +
    +
    New Action Score:
    +
    {{modifiers}}
    +
    +
    +
    Challenge Dice:
    +
    {{challenge1}} {{challenge2}}
    +
    {{#rollGreater() modifiers challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    OPPORTUNITY
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() modifiers challenge2}} +
    +
    +
    STRONG HIT
    +
    {{/rollGreater() modifiers challenge2}} + {{#^rollGreater() modifiers challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/^rollGreater() modifiers challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/rollGreater() modifiers challenge1}} + {{#^rollGreater() modifiers challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    COMPLICATION
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() modifiers challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/rollGreater() modifiers challenge2}} + {{#^rollGreater() modifiers challenge2}} +
    +
    +
    MISS
    +
    {{/^rollGreater() modifiers challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/^rollGreater() modifiers challenge1}}{{/rollTotal() action negate11}} + {{#^rollTotal() action negate11}} + {{#rollTotal() action negate12}} +
    +
    Previous Action Score:
    +
    {{action}}
    +
    +
    +
    Action die cancelled for matching negative momentum.
    +
    +
    +
    Stat + Add:
    +
    {{stat}} + {{add}}
    +
    +
    +
    New Action Score:
    +
    {{modifiers}}
    +
    +
    +
    Challenge Dice:
    +
    {{challenge1}} {{challenge2}}
    +
    {{#rollGreater() modifiers challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    OPPORTUNITY
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() modifiers challenge2}} +
    +
    +
    STRONG HIT
    +
    {{/rollGreater() modifiers challenge2}} + {{#^rollGreater() modifiers challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/^rollGreater() modifiers challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/rollGreater() modifiers challenge1}} + {{#^rollGreater() modifiers challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    COMPLICATION
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() modifiers challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/rollGreater() modifiers challenge2}} + {{#^rollGreater() modifiers challenge2}} +
    +
    +
    MISS
    +
    {{/^rollGreater() modifiers challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/^rollGreater() modifiers challenge1}}{{/rollTotal() action negate12}} + {{#^rollTotal() action negate12}} +
    +
    Action Score:
    +
    {{action}}
    +
    +
    +
    Challenge Dice:
    +
    {{challenge1}} {{challenge2}}
    +
    {{#rollGreater() action challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    OPPORTUNITY
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() action challenge2}} +
    +
    +
    STRONG HIT
    +
    {{/rollGreater() action challenge2}} + {{#^rollGreater() action challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/^rollGreater() action challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/rollGreater() action challenge1}} + {{#^rollGreater() action challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    COMPLICATION
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() action challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/rollGreater() action challenge2}} + {{#^rollGreater() action challenge2}} +
    +
    +
    MISS
    +
    {{/^rollGreater() action challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/^rollGreater() action challenge1}}{{/^rollTotal() action negate12}} + {{/^rollTotal() action negate11}} + {{/rollTotal() momentum -6}}{{/rollLess() momentum 0}} + {{#^rollLess() momentum 0}} +
    +
    Action Score:
    +
    {{action}}
    +
    +
    +
    Challenge Dice:
    +
    {{challenge1}} {{challenge2}}
    +
    {{#rollGreater() action challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    OPPORTUNITY
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() action challenge2}} +
    +
    +
    STRONG HIT
    +
    {{/rollGreater() action challenge2}} + {{#^rollGreater() action challenge2}} +
    +
    +
    WEAK HIT
    +
    {{#rollGreater() momentum challenge2}} +
    +
    Momentum:
    +
    {{momentum}}
    +
    +
    +
    +
    Burn Momentum: Strong Hit
    +
    {{/rollGreater() momentum challenge2}} + {{/^rollGreater() action challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/rollGreater() action challenge1}} + {{#^rollGreater() action challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    COMPLICATION
    +
    {{#rollGreater() momentum challenge1}} +
    +
    Momentum:
    +
    {{momentum}}
    +
    +
    +
    +
    Burn Momentum: Strong Hit
    +
    {{/rollGreater() momentum challenge1}} + {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() action challenge2}} +
    +
    +
    WEAK HIT
    +
    {{#rollGreater() momentum challenge1}} +
    +
    Momentum:
    +
    {{momentum}}
    +
    +
    +
    +
    Burn Momentum: Strong Hit
    +
    {{/rollGreater() momentum challenge1}} + {{/rollGreater() action challenge2}} + {{#^rollGreater() action challenge2}} +
    +
    +
    MISS
    +
    {{#rollGreater() momentum challenge1}} + {{#rollGreater() momentum challenge2}} +
    +
    Momentum:
    +
    {{momentum}}
    +
    +
    +
    +
    Burn Momentum: Strong Hit
    +
    {{/rollGreater() momentum challenge2}} + {{#^rollGreater() momentum challenge2}} +
    +
    Momentum:
    +
    {{momentum}}
    +
    +
    +
    +
    Burn Momentum: Weak Hit
    +
    {{/^rollGreater() momentum challenge2}} + {{/rollGreater() momentum challenge1}} + {{#^rollGreater() momentum challenge1}} + {{#rollGreater() momentum challenge2}} +
    +
    Momentum:
    +
    {{momentum}}
    +
    +
    +
    +
    Burn Momentum: Weak Hit
    +
    {{/rollGreater() momentum challenge2}} + {{/^rollGreater() momentum challenge1}} + {{/^rollGreater() action challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/^rollGreater() action challenge1}}{{/^rollLess() momentum 0}} + {{/^rollBetween() action loadEncMin loadEncMax}} + {{/rollTotal() encumbered 1}} + {{#^rollTotal() encumbered 1}} + {{#rollLess() momentum 0}}{{#rollTotal() momentum -1}} + {{#rollTotal() action negate1}} +
    +
    Previous Action Score:
    +
    {{action}}
    +
    +
    +
    Action die cancelled for matching negative momentum.
    +
    +
    +
    Stat + Add:
    +
    {{stat}} + {{add}}
    +
    +
    +
    New Action Score:
    +
    {{modifiers}}
    +
    +
    +
    Challenge Dice:
    +
    {{challenge1}} {{challenge2}}
    +
    {{#rollGreater() modifiers challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    OPPORTUNITY
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() modifiers challenge2}} +
    +
    +
    STRONG HIT
    +
    {{/rollGreater() modifiers challenge2}} + {{#^rollGreater() modifiers challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/^rollGreater() modifiers challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/rollGreater() modifiers challenge1}} + {{#^rollGreater() modifiers challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    COMPLICATION
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() modifiers challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/rollGreater() modifiers challenge2}} + {{#^rollGreater() modifiers challenge2}} +
    +
    +
    MISS
    +
    {{/^rollGreater() modifiers challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/^rollGreater() modifiers challenge1}}{{/rollTotal() action negate1}} + {{#^rollTotal() action negate1}} + {{#rollTotal() action negate2}} +
    +
    Previous Action Score:
    +
    {{action}}
    +
    +
    +
    Action die cancelled for matching negative momentum.
    +
    +
    +
    Stat + Add:
    +
    {{stat}} + {{add}}
    +
    +
    +
    New Action Score:
    +
    {{modifiers}}
    +
    +
    +
    Challenge Dice:
    +
    {{challenge1}} {{challenge2}}
    +
    {{#rollGreater() modifiers challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    OPPORTUNITY
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() modifiers challenge2}} +
    +
    +
    STRONG HIT
    +
    {{/rollGreater() modifiers challenge2}} + {{#^rollGreater() modifiers challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/^rollGreater() modifiers challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/rollGreater() modifiers challenge1}} + {{#^rollGreater() modifiers challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    COMPLICATION
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() modifiers challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/rollGreater() modifiers challenge2}} + {{#^rollGreater() modifiers challenge2}} +
    +
    +
    MISS
    +
    {{/^rollGreater() modifiers challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/^rollGreater() modifiers challenge1}}{{/rollTotal() action negate2}} + {{#^rollTotal() action negate2}} +
    +
    Action Score:
    +
    {{action}}
    +
    +
    +
    Challenge Dice:
    +
    {{challenge1}} {{challenge2}}
    +
    {{#rollGreater() action challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    OPPORTUNITY
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() action challenge2}} +
    +
    +
    STRONG HIT
    +
    {{/rollGreater() action challenge2}} + {{#^rollGreater() action challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/^rollGreater() action challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/rollGreater() action challenge1}} + {{#^rollGreater() action challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    COMPLICATION
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() action challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/rollGreater() action challenge2}} + {{#^rollGreater() action challenge2}} +
    +
    +
    MISS
    +
    {{/^rollGreater() action challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/^rollGreater() action challenge1}}{{/^rollTotal() action negate2}} + {{/^rollTotal() action negate1}} + {{/rollTotal() momentum -1}}{{#rollTotal() momentum -2}} + {{#rollTotal() action negate3}} +
    +
    Previous Action Score:
    +
    {{action}}
    +
    +
    +
    Action die cancelled for matching negative momentum.
    +
    +
    +
    Stat + Add:
    +
    {{stat}} + {{add}}
    +
    +
    +
    New Action Score:
    +
    {{modifiers}}
    +
    +
    +
    Challenge Dice:
    +
    {{challenge1}} {{challenge2}}
    +
    {{#rollGreater() modifiers challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    OPPORTUNITY
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() modifiers challenge2}} +
    +
    +
    STRONG HIT
    +
    {{/rollGreater() modifiers challenge2}} + {{#^rollGreater() modifiers challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/^rollGreater() modifiers challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/rollGreater() modifiers challenge1}} + {{#^rollGreater() modifiers challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    COMPLICATION
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() modifiers challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/rollGreater() modifiers challenge2}} + {{#^rollGreater() modifiers challenge2}} +
    +
    +
    MISS
    +
    {{/^rollGreater() modifiers challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/^rollGreater() modifiers challenge1}}{{/rollTotal() action negate3}} + {{#^rollTotal() action negate3}} + {{#rollTotal() action negate4}} +
    +
    Previous Action Score:
    +
    {{action}}
    +
    +
    +
    Action die cancelled for matching negative momentum.
    +
    +
    +
    Stat + Add:
    +
    {{stat}} + {{add}}
    +
    +
    +
    New Action Score:
    +
    {{modifiers}}
    +
    +
    +
    Challenge Dice:
    +
    {{challenge1}} {{challenge2}}
    +
    {{#rollGreater() modifiers challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    OPPORTUNITY
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() modifiers challenge2}} +
    +
    +
    STRONG HIT
    +
    {{/rollGreater() modifiers challenge2}} + {{#^rollGreater() modifiers challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/^rollGreater() modifiers challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/rollGreater() modifiers challenge1}} + {{#^rollGreater() modifiers challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    COMPLICATION
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() modifiers challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/rollGreater() modifiers challenge2}} + {{#^rollGreater() modifiers challenge2}} +
    +
    +
    MISS
    +
    {{/^rollGreater() modifiers challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/^rollGreater() modifiers challenge1}}{{/rollTotal() action negate4}} + {{#^rollTotal() action negate4}} +
    +
    Action Score:
    +
    {{action}}
    +
    +
    +
    Challenge Dice:
    +
    {{challenge1}} {{challenge2}}
    +
    {{#rollGreater() action challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    OPPORTUNITY
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() action challenge2}} +
    +
    +
    STRONG HIT
    +
    {{/rollGreater() action challenge2}} + {{#^rollGreater() action challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/^rollGreater() action challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/rollGreater() action challenge1}} + {{#^rollGreater() action challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    COMPLICATION
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() action challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/rollGreater() action challenge2}} + {{#^rollGreater() action challenge2}} +
    +
    +
    MISS
    +
    {{/^rollGreater() action challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/^rollGreater() action challenge1}}{{/^rollTotal() action negate4}} + {{/^rollTotal() action negate3}} + {{/rollTotal() momentum -2}}{{#rollTotal() momentum -3}} + {{#rollTotal() action negate5}} +
    +
    Previous Action Score:
    +
    {{action}}
    +
    +
    +
    Action die cancelled for matching negative momentum.
    +
    +
    +
    Stat + Add:
    +
    {{stat}} + {{add}}
    +
    +
    +
    New Action Score:
    +
    {{modifiers}}
    +
    +
    +
    Challenge Dice:
    +
    {{challenge1}} {{challenge2}}
    +
    {{#rollGreater() modifiers challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    OPPORTUNITY
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() modifiers challenge2}} +
    +
    +
    STRONG HIT
    +
    {{/rollGreater() modifiers challenge2}} + {{#^rollGreater() modifiers challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/^rollGreater() modifiers challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/rollGreater() modifiers challenge1}} + {{#^rollGreater() modifiers challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    COMPLICATION
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() modifiers challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/rollGreater() modifiers challenge2}} + {{#^rollGreater() modifiers challenge2}} +
    +
    +
    MISS
    +
    {{/^rollGreater() modifiers challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/^rollGreater() modifiers challenge1}}{{/rollTotal() action negate5}} + {{#^rollTotal() action negate5}} + {{#rollTotal() action negate6}} +
    +
    Previous Action Score:
    +
    {{action}}
    +
    +
    +
    Action die cancelled for matching negative momentum.
    +
    +
    +
    Stat + Add:
    +
    {{stat}} + {{add}}
    +
    +
    +
    New Action Score:
    +
    {{modifiers}}
    +
    +
    +
    Challenge Dice:
    +
    {{challenge1}} {{challenge2}}
    +
    {{#rollGreater() modifiers challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    OPPORTUNITY
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() modifiers challenge2}} +
    +
    +
    STRONG HIT
    +
    {{/rollGreater() modifiers challenge2}} + {{#^rollGreater() modifiers challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/^rollGreater() modifiers challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/rollGreater() modifiers challenge1}} + {{#^rollGreater() modifiers challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    COMPLICATION
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() modifiers challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/rollGreater() modifiers challenge2}} + {{#^rollGreater() modifiers challenge2}} +
    +
    +
    MISS
    +
    {{/^rollGreater() modifiers challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/^rollGreater() modifiers challenge1}}{{/rollTotal() action negate6}} + {{#^rollTotal() action negate6}} +
    +
    Action Score:
    +
    {{action}}
    +
    +
    +
    Challenge Dice:
    +
    {{challenge1}} {{challenge2}}
    +
    {{#rollGreater() action challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    OPPORTUNITY
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() action challenge2}} +
    +
    +
    STRONG HIT
    +
    {{/rollGreater() action challenge2}} + {{#^rollGreater() action challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/^rollGreater() action challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/rollGreater() action challenge1}} + {{#^rollGreater() action challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    COMPLICATION
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() action challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/rollGreater() action challenge2}} + {{#^rollGreater() action challenge2}} +
    +
    +
    MISS
    +
    {{/^rollGreater() action challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/^rollGreater() action challenge1}}{{/^rollTotal() action negate6}} + {{/^rollTotal() action negate5}} + {{/rollTotal() momentum -3}}{{#rollTotal() momentum -4}} + {{#rollTotal() action negate7}} +
    +
    Previous Action Score:
    +
    {{action}}
    +
    +
    +
    Action die cancelled for matching negative momentum.
    +
    +
    +
    Stat + Add:
    +
    {{stat}} + {{add}}
    +
    +
    +
    New Action Score:
    +
    {{modifiers}}
    +
    +
    +
    Challenge Dice:
    +
    {{challenge1}} {{challenge2}}
    +
    {{#rollGreater() modifiers challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    OPPORTUNITY
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() modifiers challenge2}} +
    +
    +
    STRONG HIT
    +
    {{/rollGreater() modifiers challenge2}} + {{#^rollGreater() modifiers challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/^rollGreater() modifiers challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/rollGreater() modifiers challenge1}} + {{#^rollGreater() modifiers challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    COMPLICATION
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() modifiers challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/rollGreater() modifiers challenge2}} + {{#^rollGreater() modifiers challenge2}} +
    +
    +
    MISS
    +
    {{/^rollGreater() modifiers challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/^rollGreater() modifiers challenge1}}{{/rollTotal() action negate7}} + {{#^rollTotal() action negate7}} + {{#rollTotal() action negate8}} +
    +
    Previous Action Score:
    +
    {{action}}
    +
    +
    +
    Action die cancelled for matching negative momentum.
    +
    +
    +
    Stat + Add:
    +
    {{stat}} + {{add}}
    +
    +
    +
    New Action Score:
    +
    {{modifiers}}
    +
    +
    +
    Challenge Dice:
    +
    {{challenge1}} {{challenge2}}
    +
    {{#rollGreater() modifiers challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    OPPORTUNITY
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() modifiers challenge2}} +
    +
    +
    STRONG HIT
    +
    {{/rollGreater() modifiers challenge2}} + {{#^rollGreater() modifiers challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/^rollGreater() modifiers challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/rollGreater() modifiers challenge1}} + {{#^rollGreater() modifiers challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    COMPLICATION
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() modifiers challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/rollGreater() modifiers challenge2}} + {{#^rollGreater() modifiers challenge2}} +
    +
    +
    MISS
    +
    {{/^rollGreater() modifiers challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/^rollGreater() modifiers challenge1}}{{/rollTotal() action negate8}} + {{#^rollTotal() action negate8}} +
    +
    Action Score:
    +
    {{action}}
    +
    +
    +
    Challenge Dice:
    +
    {{challenge1}} {{challenge2}}
    +
    {{#rollGreater() action challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    OPPORTUNITY
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() action challenge2}} +
    +
    +
    STRONG HIT
    +
    {{/rollGreater() action challenge2}} + {{#^rollGreater() action challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/^rollGreater() action challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/rollGreater() action challenge1}} + {{#^rollGreater() action challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    COMPLICATION
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() action challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/rollGreater() action challenge2}} + {{#^rollGreater() action challenge2}} +
    +
    +
    MISS
    +
    {{/^rollGreater() action challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/^rollGreater() action challenge1}}{{/^rollTotal() action negate8}} + {{/^rollTotal() action negate7}} + {{/rollTotal() momentum -4}}{{#rollTotal() momentum -5}} + {{#rollTotal() action negate9}} +
    +
    Previous Action Score:
    +
    {{action}}
    +
    +
    +
    Action die cancelled for matching negative momentum.
    +
    +
    +
    Stat + Add:
    +
    {{stat}} + {{add}}
    +
    +
    +
    New Action Score:
    +
    {{modifiers}}
    +
    +
    +
    Challenge Dice:
    +
    {{challenge1}} {{challenge2}}
    +
    {{#rollGreater() modifiers challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    OPPORTUNITY
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() modifiers challenge2}} +
    +
    +
    STRONG HIT
    +
    {{/rollGreater() modifiers challenge2}} + {{#^rollGreater() modifiers challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/^rollGreater() modifiers challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/rollGreater() modifiers challenge1}} + {{#^rollGreater() modifiers challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    COMPLICATION
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() modifiers challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/rollGreater() modifiers challenge2}} + {{#^rollGreater() modifiers challenge2}} +
    +
    +
    MISS
    +
    {{/^rollGreater() modifiers challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/^rollGreater() modifiers challenge1}}{{/rollTotal() action negate9}} + {{#^rollTotal() action negate9}} + {{#rollTotal() action negate10}} +
    +
    Previous Action Score:
    +
    {{action}}
    +
    +
    +
    Action die cancelled for matching negative momentum.
    +
    +
    +
    Stat + Add:
    +
    {{stat}} + {{add}}
    +
    +
    +
    New Action Score:
    +
    {{modifiers}}
    +
    +
    +
    Challenge Dice:
    +
    {{challenge1}} {{challenge2}}
    +
    {{#rollGreater() modifiers challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    OPPORTUNITY
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() modifiers challenge2}} +
    +
    +
    STRONG HIT
    +
    {{/rollGreater() modifiers challenge2}} + {{#^rollGreater() modifiers challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/^rollGreater() modifiers challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/rollGreater() modifiers challenge1}} + {{#^rollGreater() modifiers challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    COMPLICATION
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() modifiers challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/rollGreater() modifiers challenge2}} + {{#^rollGreater() modifiers challenge2}} +
    +
    +
    MISS
    +
    {{/^rollGreater() modifiers challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/^rollGreater() modifiers challenge1}}{{/rollTotal() action negate10}} + {{#^rollTotal() action negate10}} +
    +
    Action Score:
    +
    {{action}}
    +
    +
    +
    Challenge Dice:
    +
    {{challenge1}} {{challenge2}}
    +
    {{#rollGreater() action challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    OPPORTUNITY
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() action challenge2}} +
    +
    +
    STRONG HIT
    +
    {{/rollGreater() action challenge2}} + {{#^rollGreater() action challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/^rollGreater() action challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/rollGreater() action challenge1}} + {{#^rollGreater() action challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    COMPLICATION
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() action challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/rollGreater() action challenge2}} + {{#^rollGreater() action challenge2}} +
    +
    +
    MISS
    +
    {{/^rollGreater() action challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/^rollGreater() action challenge1}}{{/^rollTotal() action negate10}} + {{/^rollTotal() action negate9}} + {{/rollTotal() momentum -5}}{{#rollTotal() momentum -6}} + {{#rollTotal() action negate11}} +
    +
    Previous Action Score:
    +
    {{action}}
    +
    +
    +
    Action die cancelled for matching negative momentum.
    +
    +
    +
    Stat + Add:
    +
    {{stat}} + {{add}}
    +
    +
    +
    New Action Score:
    +
    {{modifiers}}
    +
    +
    +
    Challenge Dice:
    +
    {{challenge1}} {{challenge2}}
    +
    {{#rollGreater() modifiers challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    OPPORTUNITY
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() modifiers challenge2}} +
    +
    +
    STRONG HIT
    +
    {{/rollGreater() modifiers challenge2}} + {{#^rollGreater() modifiers challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/^rollGreater() modifiers challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/rollGreater() modifiers challenge1}} + {{#^rollGreater() modifiers challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    COMPLICATION
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() modifiers challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/rollGreater() modifiers challenge2}} + {{#^rollGreater() modifiers challenge2}} +
    +
    +
    MISS
    +
    {{/^rollGreater() modifiers challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/^rollGreater() modifiers challenge1}}{{/rollTotal() action negate11}} + {{#^rollTotal() action negate11}} + {{#rollTotal() action negate12}} +
    +
    Previous Action Score:
    +
    {{action}}
    +
    +
    +
    Action die cancelled for matching negative momentum.
    +
    +
    +
    Stat + Add:
    +
    {{stat}} + {{add}}
    +
    +
    +
    New Action Score:
    +
    {{modifiers}}
    +
    +
    +
    Challenge Dice:
    +
    {{challenge1}} {{challenge2}}
    +
    {{#rollGreater() modifiers challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    OPPORTUNITY
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() modifiers challenge2}} +
    +
    +
    STRONG HIT
    +
    {{/rollGreater() modifiers challenge2}} + {{#^rollGreater() modifiers challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/^rollGreater() modifiers challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/rollGreater() modifiers challenge1}} + {{#^rollGreater() modifiers challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    COMPLICATION
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() modifiers challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/rollGreater() modifiers challenge2}} + {{#^rollGreater() modifiers challenge2}} +
    +
    +
    MISS
    +
    {{/^rollGreater() modifiers challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/^rollGreater() modifiers challenge1}}{{/rollTotal() action negate12}} + {{#^rollTotal() action negate12}} +
    +
    Action Score:
    +
    {{action}}
    +
    +
    +
    Challenge Dice:
    +
    {{challenge1}} {{challenge2}}
    +
    {{#rollGreater() action challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    OPPORTUNITY
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() action challenge2}} +
    +
    +
    STRONG HIT
    +
    {{/rollGreater() action challenge2}} + {{#^rollGreater() action challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/^rollGreater() action challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/rollGreater() action challenge1}} + {{#^rollGreater() action challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    COMPLICATION
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() action challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/rollGreater() action challenge2}} + {{#^rollGreater() action challenge2}} +
    +
    +
    MISS
    +
    {{/^rollGreater() action challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/^rollGreater() action challenge1}}{{/^rollTotal() action negate12}} + {{/^rollTotal() action negate11}} + {{/rollTotal() momentum -6}}{{/rollLess() momentum 0}} + {{#^rollLess() momentum 0}} +
    +
    Action Score:
    +
    {{action}}
    +
    +
    +
    Challenge Dice:
    +
    {{challenge1}} {{challenge2}}
    +
    {{#rollGreater() action challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    OPPORTUNITY
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() action challenge2}} +
    +
    +
    STRONG HIT
    +
    {{/rollGreater() action challenge2}} + {{#^rollGreater() action challenge2}} +
    +
    +
    WEAK HIT
    +
    {{#rollGreater() momentum challenge2}} +
    +
    Momentum:
    +
    {{momentum}}
    +
    +
    +
    +
    Burn Momentum: Strong Hit
    +
    {{/rollGreater() momentum challenge2}} + {{/^rollGreater() action challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/rollGreater() action challenge1}} + {{#^rollGreater() action challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    COMPLICATION
    +
    {{#rollGreater() momentum challenge1}} +
    +
    Momentum:
    +
    {{momentum}}
    +
    +
    +
    +
    Burn Momentum: Strong Hit
    +
    {{/rollGreater() momentum challenge1}} + {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() action challenge2}} +
    +
    +
    WEAK HIT
    +
    {{#rollGreater() momentum challenge1}} +
    +
    Momentum:
    +
    {{momentum}}
    +
    +
    +
    +
    Burn Momentum: Strong Hit
    +
    {{/rollGreater() momentum challenge1}} + {{/rollGreater() action challenge2}} + {{#^rollGreater() action challenge2}} +
    +
    +
    MISS
    +
    {{#rollGreater() momentum challenge1}} + {{#rollGreater() momentum challenge2}} +
    +
    Momentum:
    +
    {{momentum}}
    +
    +
    +
    +
    Burn Momentum: Strong Hit
    +
    {{/rollGreater() momentum challenge2}} + {{#^rollGreater() momentum challenge2}} +
    +
    Momentum:
    +
    {{momentum}}
    +
    +
    +
    +
    Burn Momentum: Weak Hit
    +
    {{/^rollGreater() momentum challenge2}} + {{/rollGreater() momentum challenge1}} + {{#^rollGreater() momentum challenge1}} + {{#rollGreater() momentum challenge2}} +
    +
    Momentum:
    +
    {{momentum}}
    +
    +
    +
    +
    Burn Momentum: Weak Hit
    +
    {{/rollGreater() momentum challenge2}} + {{/^rollGreater() momentum challenge1}} + {{/^rollGreater() action challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/^rollGreater() action challenge1}}{{/^rollLess() momentum 0}} + {{/^rollTotal() encumbered 1}} + {{/action}} + {{#custom}} + {{#header}} +
    +
    {{header}}
    +
    {{/header}} +
    +
    {{name}}
    +
    {{#allprops() custom name header}} +
    +
    {{key}}
    +
    {{value}}
    +
    {{/allprops() custom name header}} + {{/custom}} +
    +
    + +
    {{#progress}} +
    {{header}}
    +
    {{progress_name}}
    +
    +
    {{progress_type}} Progress:
    +
    {{progress}}
    +
    +
    +
    Challenge Dice:
    +
    {{challenge1}} {{challenge2}}
    +
    {{#rollGreater() progress challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    OPPORTUNITY
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() progress challenge2}} +
    +
    +
    STRONG HIT
    +
    {{/rollGreater() progress challenge2}} + {{#^rollGreater() progress challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/^rollGreater() progress challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/rollGreater() progress challenge1}} + {{#^rollGreater() progress challenge1}} + {{#rollTotal() challenge1 challenge2}} +
    +
    +
    COMPLICATION
    +
    {{/rollTotal() challenge1 challenge2}} + {{#^rollTotal() challenge1 challenge2}} + {{#rollGreater() progress challenge2}} +
    +
    +
    WEAK HIT
    +
    {{/rollGreater() progress challenge2}} + {{#^rollGreater() progress challenge2}} +
    +
    +
    MISS
    +
    {{/^rollGreater() progress challenge2}} + {{/^rollTotal() challenge1 challenge2}} + {{/^rollGreater() progress challenge1}} + {{/progress}} +
    +
    + \ No newline at end of file diff --git a/Ironcrunch/Ironcrunch.png b/Ironcrunch/Ironcrunch.png new file mode 100644 index 0000000000..bf4d816105 Binary files /dev/null and b/Ironcrunch/Ironcrunch.png differ diff --git a/Ironcrunch/README.md b/Ironcrunch/README.md new file mode 100644 index 0000000000..f88d02ba0d --- /dev/null +++ b/Ironcrunch/README.md @@ -0,0 +1,45 @@ +# Ironcrunch - Character Sheet +## Preview Image +![alt text](assets/character-sheet.png "Preview of Character Sheet Layout") +## Building Sheet +This sheet uses [pugjs](https://www.google.com) for HTML templating, along with [Stylus](https://www.google.com) from CSS templating. +To build finished sheet run the following commands from command line or terminal: +```bash +cd src +npm install + +// Mac or Linux +npm run build:pug +// Windows +npm run build:pug:win + +npm run build:css +``` +These will then generate a dist folder that will have the finished code. From their you can upload them into the custom sheet sandbox for testing. + +## Coding Standards +### Comments +```pug +//- + Generates a repeating fieldset for bonds. + Expands when clicking the DETAILS label. + + @mixin + @outputs repeating html fieldset + + @memberof components/bonds +``` + +## Compatibility +The sheet has been tested across multiple browsers and devices, show below in the compatibility matrix: +|Browser|Windows|MacOs|Android|iOS| +|---|---|---|---|---| +|Chrome|yes|yes|yes|yes| +|Firefox|yes|yes|yes|yes| +|Safari|no|yes|no|yes| + +## Licensing +Ironcrunch is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International license. Explicit permission has been given from the developer to include rulebook content such as Moves, Assets, Oracles, Ancestries, Equipment, etc... + +### Ironcrunch License +This work is based on Ironsworn (found at www.ironswornrpg.com), created by Shawn Tomkin, and licensed for our use under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International license. \ No newline at end of file diff --git a/Ironcrunch/assets/character-sheet.png b/Ironcrunch/assets/character-sheet.png new file mode 100644 index 0000000000..2c26b3691f Binary files /dev/null and b/Ironcrunch/assets/character-sheet.png differ diff --git a/Ironcrunch/assets/placeholder.png b/Ironcrunch/assets/placeholder.png new file mode 100644 index 0000000000..520a34ac31 Binary files /dev/null and b/Ironcrunch/assets/placeholder.png differ diff --git a/Ironcrunch/sheet.json b/Ironcrunch/sheet.json new file mode 100644 index 0000000000..8990dfae19 --- /dev/null +++ b/Ironcrunch/sheet.json @@ -0,0 +1,8 @@ +{ + "html": "Ironcrunch.html", + "css": "Ironcrunch.css", + "authors": "Ayethin", + "roll20userid": "188691", + "preview": "Ironcrunch.png", + "instructions": "Character Sheet for Ironcrunch, an Ironsworn TTRPG Supplement." +} diff --git a/Ironcrunch/src/.gitignore b/Ironcrunch/src/.gitignore new file mode 100644 index 0000000000..40b878db5b --- /dev/null +++ b/Ironcrunch/src/.gitignore @@ -0,0 +1 @@ +node_modules/ \ No newline at end of file diff --git a/Ironcrunch/src/Ironcrunch.pug b/Ironcrunch/src/Ironcrunch.pug new file mode 100644 index 0000000000..9b11a24925 --- /dev/null +++ b/Ironcrunch/src/Ironcrunch.pug @@ -0,0 +1,8 @@ +//- Sheet Index +include ./pages/index + +//- Roll Templates +include ./roll-templates/index + +//- Sheet Workers +include ./workers/ironcrunch diff --git a/Ironcrunch/src/Ironcrunch.styl b/Ironcrunch/src/Ironcrunch.styl new file mode 100644 index 0000000000..643b48d6e8 --- /dev/null +++ b/Ironcrunch/src/Ironcrunch.styl @@ -0,0 +1,464 @@ +// Fonts +@css { + @import url('https://fonts.googleapis.com/css?family=Montserrat:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,300;1,400;1,500;1,600;1,700;1,800;1,900|Crimson+Text:ital,wght@0,400;0,600;0,700;1,400;1,600;1,700|Roboto&display=swap'); +} + +// Common +@import './common/stylus/shared' + +// Sheet Core +.charsheet + width 842px !important + margin 0 auto !important + padding 15px + std-font() + font-weight: 600; + +input[type=text] + font-weight: 600; + +select + -webkit-appearance: none + -moz-appearance: none + text-indent: 1px + text-overflow: '' + +select::-ms-expand + display: none + +p + std-font('Crimson Text') + +h1 + font-weight: bold + width: 100% + font-size: 28px + text-align: center + margin: 0 0 0px + padding: 10 + text-transform: uppercase + +h2 + font-weight: bold + width: 100% + font-size: 18px + text-align: left + margin: 0 0 0px + padding: 0 + text-transform: uppercase + +h3 + font-weight: bold + width: 100% + line-height: 24px + font-size: 18px + text-align: center + margin: 0 0 0px + padding: 0 + text-transform: uppercase + +.sheet-divide + margin-top 1em + +h3.sheet-divide::after, +h3.sheet-divide::before + display: inline-block + content: "" + height: 5px + border-top: 2px solid #4C4D4F + top: 0 + width: 220px + +h3.sheet-site-divide::after, +h3.sheet-site-divide::before + display: inline-block + content: "" + height: 5px + border-top: 2px solid #4C4D4F + top: 0 + width: 331px + +h3.sheet-site-denizens-divide::after, +h3.sheet-site-denizens-divide::before + display: inline-block + content: "" + height: 5px + border-top: 2px solid #4C4D4F + top: 0 + width: 336px + +h3.sheet-site-divide-notes::after, +h3.sheet-site-divide-notes::before + display: inline-block + content: "" + height: 5px + border-top: 2px solid #4C4D4F + top: 0 + width: 352px + +h4 + font-weight: bold + width: 100% + font-size: 16px + text-align: center + margin: 0 0 0px + padding: 0 + text-transform: uppercase + +h4.sheet-tab-title + display: inline-block + +h5 + font-weight: bold + font-size: 12px + text-align: left + margin: 0 0 0px + padding: 0 + text-transform: uppercase + +h6 + font-size: 14px + font-weight: bold + text-align: left + margin-top: 2px + +button[type="roll"] + align-items: left + color: #4C4D4F + font-weight: normal + font-size: 20px + text-decoration: none + background: none + background-image: none + border: none + box-shadow: none + text-shadow: none + padding: 0px 0px 0px 0px + margin: 0px 0px 0px 0px + text-align: center + +button[type="roll"]:hover + transition: .5s ease + +.sheet-heading-left + text-align: left + +hr + border: 0 + height: 1px + background #ccc + background-image: linear-gradient(to right, #ccc, #333, #ccc) + +textarea + std-font('Crimson Text') + max-width 828px + border: 2px solid #4C4D4F + +.sheet-btn + display: inline + width: 100% + font-weight: bold + font-size: 14px + padding 0 + margin 0.5em + height 40px + padding 0.2em 0.2em 0.2em 0.2em + border: 2px solid #494a4c + cursor: pointer + &:hover + background #ccc + transition .5s ease + +.sheet-common-btn + btn() + &:hover + background #ccc + transition .5s ease + +.sheet-btn-content + padding 0.2em 0.2em 0.2em 0.2em + width 100% + text-align center + +.sheet-btn-input + &:checked + & ~ .sheet-btn-content + background #4c4d4f + color #fff + +button.btn.repcontrol_edit, +button.btn.repcontrol_add + border: 2px solid #4C4D4F + border-radius 0 + font-weight bold + font-size 12px + text-shadow none + text-transform uppercase + padding 0.2em + margin 0.3em + color #4C4D4F + std-font() + background #dfe0e2 + &:hover + background #bcbec2 + &:focus + input-highlight(1px) + +button.btn.repcontrol_edit + margin-right 3px + +button.btn.repcontrol_add + margin-left 3px + +// Pages +@import './pages/index' + +// Components +@import './components/resources/resources' +@import './components/misses/misses' +@import './components/bonds/bonds' +@import './components/vows/vows' +@import './components/progress/progress' +@import './components/details/details' +@import './components/nav/nav-bar' +@import './components/header/header' +@import './components/momentum/momentum' +@import './components/stats/stats' +@import './components/proficiencies/proficiencies' +@import './components/motivations/motivations' +@import './components/notes/notes' +@import './components/moves/moves' +@import './components/sites/sites' +@import './components/assets/assets' +@import './components/conditions/conditions' +@import './components/equipment/equipment' +@import './components/effort/effort' +@import './components/oracles/oracles' + + +.sheet-debilities + margin-bottom: 0px + +.sheet-debility + display: flex + flex-flow: row wrap + +.sheet-flex-container + display: flex + +.sheet-flex-wrapper + display flex + flex-direction column + margin-bottom 10px + font-weight normal + padding 0.5em + +.sheet-track-box-input + width: 80px + height: 45px !important + opacity: 0 + vertical-align: top + +.sheet-track-box-back + width: 80px + height: 45px + margin-top: -45px + +.sheet-resources-box-input + width: 80px + height: 40px !important + opacity: 0 + vertical-align: top + +.sheet-resources-box-back + width: 80px + height: 40px + margin-top: -40px + +.sheet-track-box-input:hover ~ .sheet-track-box-back, +.sheet-resources-box-input:hover ~ .sheet-resources-box-back + background: #ccc + transition: .5s ease; + +.sheet-track-box-input:checked ~ .sheet-track-box-back, +.sheet-resources-box-input:checked ~ .sheet-resources-box-back + background: #4C4D4F + color: white + transition: .5s ease; + +.sheet-track-box-value + padding: 0px + font-weight: bold + height: 35px + padding-top: 10px + font-size: 18px + color: inherit + +.sheet-resources-box-value + padding: 0px + font-weight: bold + height: 35px + padding-top: 10px + font-size: 18px + color: inherit + +.sheet-resources-title-box + width: 80px + height: 40px + display: flex + flex-direction: column + justify-content: center + align-items: center + border-radius: 0% + background: transparent + border: 2px solid #4C4D4F + margin-top: 20px + margin-bottom: 2px + +.sheet-resources-box + width: 80px + height: 40px + display: flex + flex-direction: column + justify-content: center + align-items: center + border-radius: 0% + background: transparent + border: 2px solid #4C4D4F + margin-bottom: 2px + +.sheet-pc-name + width: 100% + font-weight: bold + font-size: 14px + border: 2px solid #4C4D4F + background: #E6E7E8 + color: #4C4D4F + border-radius: 0 + +.sheet-debil-desc + width: 100% + font-weight: bold + font-size: 14px + +.sheet-border + border: 1px solid #ccc + border-radius: 4px + +textarea.sheet-full-width + width: 95% + resize: vertical + +input.sheet-filler[type="radio"], +input[type="checkbox"].sheet-checkbox + opacity: 0 + width: 16px + height: 16px + position: relative + top: 5px + left: 6px + margin: -10px + cursor: pointer + z-index: 1 + +/* Fake radio/checkbox */ +input[type="radio"] + span::before, +input[type="checkbox"].sheet-checkbox + span::before + margin-right: 4px + border: solid 1px #a8a8a8 + line-height: 14px + text-align: center + display: inline-block + vertical-align: middle + -moz-box-shadow: 0 0 2px #ccc + -webkit-box-shadow: 0 0 2px #ccc + box-shadow: 0 0 2px #ccc + background: #f6f6f6 + background: -moz-radial-gradient(#f6f6f6, #dfdfdf) + background: -webkit-radial-gradient(#f6f6f6, #dfdfdf) + background: -ms-radial-gradient(#f6f6f6, #dfdfdf) + background: -o-radial-gradient(#f6f6f6, #dfdfdf) + background: radial-gradient(#f6f6f6, #dfdfdf) + +input[type="checkbox"].sheet-checkbox + span::before, +input.sheet-filler[type="radio"] + span::before + content: "" + width: 14px + height: 14px + font-size: 12px + -moz-border-radius: 3px + -webkit-border-radius: 3px + border-radius: 3px + +input[type="checkbox"].sheet-checkbox:checked + span::before + content: "■" + +input.sheet-zeroxp[type="radio"] + span::before + content: "0" !important + +input.sheet-filler[type="radio"] + span::before + content: "■" + +/* Remove dot from all radios _after_ selected one */ +input.sheet-filler[type="radio"]:checked ~ input.sheet-filler[type="radio"] + span::before + content: "" + +span.sheet-showhide:checked + background-color: #4C4D4F + color: white + transition: .5s ease; + +span.sheet-showhide + display: inline + border: 1px solid #ccc + margin-right: 11px + border-radius: 4px + padding: 2px 4px + font-weight: bold + font-size: 14px + +span.sheet-showhide:hover + cursor: pointer + border-radius: 4px + padding: 2px 4px + background-color: #ccc + color: #4C4D4F + transition: .5s ease; + +div.sheet-showhide + hide() + +.sheet-hide + display none + +div.sheet-preview-roll + padding: 0em + +span.sheet-preview-roll + width: 30% + margin-left: 1em + +.sheet-button-container + width: 2.5em + border: 2px solid #4C4D4F + +.sheet-button-container-preview + width: 2.4em + +.sheet-no-border + border: 0 + +.sheet-requirement-area + height: auto + margin-bottom: 5px + +input.sheet-border-bottom + border-bottom: 1px solid #4C4D4F + border-radius: 0em + +.sheet-full-width + width: 100% + margin-top: 0.3em + +// Roll Templates +@import './roll-templates/template' \ No newline at end of file diff --git a/Ironcrunch/src/common/pug/button.pug b/Ironcrunch/src/common/pug/button.pug new file mode 100644 index 0000000000..e4acf2a89a --- /dev/null +++ b/Ironcrunch/src/common/pug/button.pug @@ -0,0 +1,9 @@ +mixin btn(opts) + if opts.classes + label(class=`sheet-common-btn ${opts.classes}`) + input.sheet-btn-input.sheet-hide(type=opts.type name=`attr_${opts.attribute}_button`) + .sheet-btn-content=opts.text + else + label.sheet-common-btn + input.sheet-btn-input.sheet-hide(type=opts.type name=`attr_${opts.attribute}_button`) + .sheet-btn-content=opts.text \ No newline at end of file diff --git a/Ironcrunch/src/common/pug/shared-tables.pug b/Ironcrunch/src/common/pug/shared-tables.pug new file mode 100644 index 0000000000..6e27d25998 --- /dev/null +++ b/Ironcrunch/src/common/pug/shared-tables.pug @@ -0,0 +1,44 @@ +mixin endureStressTable + .sheet-oracle-table + .oracle-row + span.sheet-oracle-roll 1-10 (10%) + span.sheet-oracle-result You are overwhelmed. Face Desolation. + .oracle-row + span.sheet-oracle-roll 11-25 (15%) + span.sheet-oracle-result You give up. Forsake Your Vow (if possible, one relevant to your current crisis). If this is a companion, Test Their Loyalty. + .oracle-row + span.sheet-oracle-roll 26-50 (25%) + span.sheet-oracle-result You give in to a fear or compulsion, and act against your better instincts. Manifest Insanity. + .oracle-row + span.sheet-oracle-roll 51-80 (30%) + span.sheet-oracle-result You persevere. + .oracle-row + span.sheet-oracle-roll 81-85 (5%) + span.sheet-oracle-result You get a moment of clarity in the eye of the storm. If you have the shaken condition card, discard it. Take +4 spirit and +8 momentum. Then, add +2 to your next move. + .oracle-row + span.sheet-oracle-roll 86-90 (5%) + span.sheet-oracle-result You get virtuous in the face of chaos. If you have the shaken condition card, discard it. Then, take +4 spirit and draw up to your maximum of resilience cards. + .oracle-row + span.sheet-oracle-roll 91-95 (5%) + span.sheet-oracle-result Your body harvest vigor. If you have the shaken condition card, discard it. Then, take +4 spirit and +1d12 health. + .oracle-row + span.sheet-oracle-roll 96-100 (5%) + span.sheet-oracle-result Your spirit shines brightest against a backdrop of desolation. If you have the shaken condition card, discard it. Then, take +8 spirit. + +mixin endureHarmTable + .sheet-oracle-table + .oracle-row + span.sheet-oracle-roll 1-10 (10%) + span.sheet-oracle-result The harm is mortal. Face Death. + .oracle-row + span.sheet-oracle-roll 11-20 (10%) + span.sheet-oracle-result Take the dying condition. + .oracle-row + span.sheet-oracle-roll 21-35 (15%) + span.sheet-oracle-result Take the unconscious condition. + .oracle-row + span.sheet-oracle-roll 36-50 (15%) + span.sheet-oracle-result Take the reeled condition. + .oracle-row + span.sheet-oracle-roll 51-100 (50%) + span.sheet-oracle-result You are battered but still standing. \ No newline at end of file diff --git a/Ironcrunch/src/common/stylus/shared.styl b/Ironcrunch/src/common/stylus/shared.styl new file mode 100644 index 0000000000..b311da75aa --- /dev/null +++ b/Ironcrunch/src/common/stylus/shared.styl @@ -0,0 +1,39 @@ +btn() + display flex + width fit-content + font-size 14px + padding 0 + border 2px solid #494a4c + cursor pointer + width -moz-fit-content + +input-highlight(shadow) + outline 3px solid #fd0 + outline-offset 0 + box-shadow inset 0 0 0 shadow + +hide() + visibility hidden + transition opacity 1s ease-out + opacity 0 + height 0 + overflow hidden + +show-hide(time = 0.5s) + visibility visible + height auto + opacity 1 + transition time ease + +borderCommon() + border 2px solid #4C4D4F + +dark() + background #4C4D4F + color white + +std-font(primary = false) + if primary + font-family primary, Arial, sans-serif + else + font-family 'Montserrat', Arial, sans-serif \ No newline at end of file diff --git a/Ironcrunch/src/components/assets/assets.pug b/Ironcrunch/src/components/assets/assets.pug new file mode 100644 index 0000000000..daa42f35a5 --- /dev/null +++ b/Ironcrunch/src/components/assets/assets.pug @@ -0,0 +1,24 @@ +include ./data/companions +include ./data/paths +include ./data/combat-talents +include ./data/rituals +include ./data/custom + +mixin assets() + .sheet-assets + fieldset.repeating_assets.sheet-fixed-width + .sheet-asset + .sheet-asset-header + select.sheet-asset-type-dropdown(name='attr_assettype') + option(value='' disabled='' selected='') Select + option(value='companion') Companion + option(value='path') Path + option(value='combat-talent') Combat Talent + option(value='ritual') Ritual + option(value='custom') Custom + + +companionAssets + +pathAssets + +combatTalentAssets + +ritualAssets + +customAssets \ No newline at end of file diff --git a/Ironcrunch/src/components/assets/assets.styl b/Ironcrunch/src/components/assets/assets.styl new file mode 100644 index 0000000000..a9cf3518a3 --- /dev/null +++ b/Ironcrunch/src/components/assets/assets.styl @@ -0,0 +1,273 @@ +input[type="checkbox"].sheet-showhide:checked ~ div.sheet-showhide, +input[type="checkbox"].sheet-asset-companion:checked ~ div.sheet-companion, +input[type="checkbox"].sheet-asset-path:checked ~ div.sheet-path, +input[type="checkbox"].sheet-asset-combat-talent:checked ~ div.sheet-combat-talent, +input[type="checkbox"].sheet-asset-ritual:checked ~ div.sheet-ritual, +input[type="checkbox"].sheet-asset-custom:checked ~ div.sheet-asset-custom + show-hide() + +input[type="checkbox"].sheet-cave-lion:checked ~ div.sheet-cave-lion, +input[type="checkbox"].sheet-giant-spider:checked ~ div.sheet-giant-spider, +input[type="checkbox"].sheet-hawk:checked ~ div.sheet-hawk, +input[type="checkbox"].sheet-horse:checked ~ div.sheet-horse, +input[type="checkbox"].sheet-hound:checked ~ div.sheet-hound, +input[type="checkbox"].sheet-kindred:checked ~ div.sheet-kindred, +input[type="checkbox"].sheet-mammoth:checked ~ div.sheet-mammoth, +input[type="checkbox"].sheet-owl:checked ~ div.sheet-owl, +input[type="checkbox"].sheet-raven:checked ~ div.sheet-raven, +input[type="checkbox"].sheet-young-wyvern:checked ~ div.sheet-young-wyvern, +input[type="checkbox"].sheet-alchemist:checked ~ div.sheet-alchemist, +input[type="checkbox"].sheet-animal-kin:checked ~ div.sheet-animal-kin, +input[type="checkbox"].sheet-banner-sworn:checked ~ div.sheet-banner-sworn, +input[type="checkbox"].sheet-battle-scarred:checked ~ div.sheet-battle-scarred, +input[type="checkbox"].sheet-blade-bound:checked ~ div.sheet-blade-bound, +input[type="checkbox"].sheet-bonded:checked ~ div.sheet-bonded, +input[type="checkbox"].sheet-dancer:checked ~ div.sheet-dancer, +input[type="checkbox"].sheet-devotant:checked ~ div.sheet-devotant, +input[type="checkbox"].sheet-empowered:checked ~ div.sheet-empowered, +input[type="checkbox"].sheet-fortune-hunter:checked ~ div.sheet-fortune-hunter, +input[type="checkbox"].sheet-herbalist:checked ~ div.sheet-herbalist, +input[type="checkbox"].sheet-honorbound:checked ~ div.sheet-honorbound, +input[type="checkbox"].sheet-improviser:checked ~ div.sheet-improviser, +input[type="checkbox"].sheet-infiltrator:checked ~ div.sheet-infiltrator, +input[type="checkbox"].sheet-loyalist:checked ~ div.sheet-loyalist, +input[type="checkbox"].sheet-masked:checked ~ div.sheet-masked, +input[type="checkbox"].sheet-oathbreaker:checked ~ div.sheet-oathbreaker, +input[type="checkbox"].sheet-outcast:checked ~ div.sheet-outcast, +input[type="checkbox"].sheet-pretender:checked ~ div.sheet-pretender, +input[type="checkbox"].sheet-revenant:checked ~ div.sheet-revenant, +input[type="checkbox"].sheet-rider:checked ~ div.sheet-rider, +input[type="checkbox"].sheet-ritualist:checked ~ div.sheet-ritualist, +input[type="checkbox"].sheet-shadow-kin:checked ~ div.sheet-shadow-kin, +input[type="checkbox"].sheet-sighted:checked ~ div.sheet-sighted, +input[type="checkbox"].sheet-slayer:checked ~ div.sheet-slayer, +input[type="checkbox"].sheet-spirit-bound:checked ~ div.sheet-spirit-bound, +input[type="checkbox"].sheet-storyweaver:checked ~ div.sheet-storyweaver, +input[type="checkbox"].sheet-trickster:checked ~ div.sheet-trickster, +input[type="checkbox"].sheet-veteran:checked ~ div.sheet-veteran, +input[type="checkbox"].sheet-waterborn:checked ~ div.sheet-waterborn, +input[type="checkbox"].sheet-wayfinder:checked ~ div.sheet-wayfinder, +input[type="checkbox"].sheet-weapon-master:checked ~ div.sheet-weapon-master, +input[type="checkbox"].sheet-wildblood:checked ~ div.sheet-wildblood, +input[type="checkbox"].sheet-wright:checked ~ div.sheet-wright, +input[type="checkbox"].sheet-archer:checked ~ div.sheet-archer, +input[type="checkbox"].sheet-berserker:checked ~ div.sheet-berserker, +input[type="checkbox"].sheet-brawler:checked ~ div.sheet-brawler, +input[type="checkbox"].sheet-cutthroat:checked ~ div.sheet-cutthroat, +input[type="checkbox"].sheet-duelist:checked ~ div.sheet-duelist, +input[type="checkbox"].sheet-fletcher:checked ~ div.sheet-fletcher, +input[type="checkbox"].sheet-ironclad:checked ~ div.sheet-ironclad, +input[type="checkbox"].sheet-long-arm:checked ~ div.sheet-long-arm, +input[type="checkbox"].sheet-shield-bearer:checked ~ div.sheet-shield-bearer, +input[type="checkbox"].sheet-skirmisher:checked ~ div.sheet-skirmisher, +input[type="checkbox"].sheet-slinger:checked ~ div.sheet-slinger, +input[type="checkbox"].sheet-sunderer:checked ~ div.sheet-sunderer, +input[type="checkbox"].sheet-swordmaster:checked ~ div.sheet-swordmaster, +input[type="checkbox"].sheet-thunder-bringer:checked ~ div.sheet-thunder-bringer, +input[type="checkbox"].sheet-augur:checked ~ div.sheet-augur, +input[type="checkbox"].sheet-awakening:checked ~ div.sheet-awakening, +input[type="checkbox"].sheet-bind:checked ~ div.sheet-bind, +input[type="checkbox"].sheet-communion:checked ~ div.sheet-communion, +input[type="checkbox"].sheet-divination:checked ~ div.sheet-divination, +input[type="checkbox"].sheet-invoke:checked ~ div.sheet-invoke, +input[type="checkbox"].sheet-keen:checked ~ div.sheet-keen, +input[type="checkbox"].sheet-leech:checked ~ div.sheet-leech, +input[type="checkbox"].sheet-lightbearer:checked ~ div.sheet-lightbearer, +input[type="checkbox"].sheet-scry:checked ~ div.sheet-scry, +input[type="checkbox"].sheet-shadow-walk:checked ~ div.sheet-shadow-walk, +input[type="checkbox"].sheet-sway:checked ~ div.sheet-sway, +input[type="checkbox"].sheet-talisman:checked ~ div.sheet-talisman, +input[type="checkbox"].sheet-tether:checked ~ div.sheet-tether, +input[type="checkbox"].sheet-totem:checked ~ div.sheet-totem, +input[type="checkbox"].sheet-visage:checked ~ div.sheet-visage, +input[type="checkbox"].sheet-ward:checked ~ div.sheet-ward + display block + show-hide() + +select + &.sheet-path-dropdown + option[value="alchemist"] + & ~ .sheet-alchemist + display flex + show-hide() + +input[type="radio"].sheet-asset-builder:checked ~ div.sheet-asset-builder, +input[type="radio"].sheet-asset-view:checked ~ div.sheet-asset-view + display block + show-hide() + +input[type="checkbox"].sheet-builder-titles-1:checked ~ div.sheet-builder-titles-1, +input[type="checkbox"].sheet-builder-titles-2:checked ~ div.sheet-builder-titles-2, +input[type="checkbox"].sheet-builder-titles-3:checked ~ div.sheet-builder-titles-3, +input[type="checkbox"].sheet-builder-ability-1-text:checked ~ div.sheet-builder-ability-1-text, +input[type="checkbox"].sheet-builder-ability-1-text-input:checked ~ div.sheet-builder-ability-1-text-input, +input[type="checkbox"].sheet-builder-ability-2-text:checked ~ div.sheet-builder-ability-2-text, +input[type="checkbox"].sheet-builder-ability-2-text-input:checked ~ div.sheet-builder-ability-2-text-input, +input[type="checkbox"].sheet-builder-ability-3-text:checked ~ div.sheet-builder-ability-3-text, +input[type="checkbox"].sheet-builder-ability-3-text-input:checked ~ div.sheet-builder-ability-3-text-input, +input[type="checkbox"].sheet-track-dropdown-1:checked ~ div.sheet-track-dropdown-1, +input[type="checkbox"].sheet-track-dropdown-2:checked ~ div.sheet-track-dropdown-2, +input[type="checkbox"].sheet-track-dropdown-3:checked ~ div.sheet-track-dropdown-3, +input[type="checkbox"].sheet-track-dropdown-4:checked ~ div.sheet-track-dropdown-4, +input[type="checkbox"].sheet-track-dropdown-5:checked ~ div.sheet-track-dropdown-5, +input[type="checkbox"].sheet-track-dropdown-6:checked ~ div.sheet-track-dropdown-6 + display flex + show-hide() + +div.sheet-builder-titles-1, +div.sheet-builder-titles-2, +div.sheet-builder-titles-3 + flex-flow column + margin-bottom 0.3em + +.sheet-view-title-width + width 22em + margin 0em 1em + +.sheet-asset-custom + padding 0.2em + +div.sheet-asset-view, +div.sheet-asset-builder + margin-top 0.3em + +input[type=checkbox].sheet-custom-asset-ability + opacity 1 + margin 0px 5px 0 5px + +.sheet-custom-track + width 20.5em + margin-top 0em + +.sheet-ability-checkbox, +.sheet-build-text + std-font('Crimson Text') + font-size 13px + resize none + height 100px + width 22em + margin 0em 0.5em 0em 0.4em + +.sheet-ability-text + std-font('Crimson Text') + font-size 14.3px + resize none + height 100px + margin-bottom 0em + width 18em + +.sheet-builder-dropdown + font-size 14px + +.sheet-asset-description + margin 0 12px 5px 12px + std-font('Crimson Text') + +div + &.sheet-asset-ability + width 100% + height 100% + margin 0px 12px 6px 10px + ul + margin-left 15px + margin-bottom 0 + &.sheet-assets + display block !important + text-align left + .repcontainer + display flex + flex-flow row wrap + padding 0.5em + std-font('Crimson Text') + justify-content space-evenly + .repitem + float left !important + +.sheet-asset-write-in + margin-bottom 4px + +.sheet-asset-ability-write-in + margin-top 4px + +.sheet-asset-write-in, +.sheet-asset-ability-write-in + display flex + white-space nowrap + +.sheet-asset + display inline-block + width 320px + max-width 320px + border 2px solid #4C4D4F + margin-bottom 20px + font-size 14.3px + line-height 1.25 + input + &.sheet-border-bottom + border-bottom-color #4C4D4F + +.sheet-asset-write-in input, +.sheet-asset-ability-write-in input + height 1.4em + width 100% + padding 0 + margin-left 5px + margin-top 2px + font-size 15px + font-weight bold + +input[type="checkbox"].sheet-asset-ability + opacity 1 !important + margin-top 0.2em + +.sheet-asset-header + background #4C4D4F + color #fff + +.sheet-asset-type-selection + background #4C4D4F + color #fff + border 0 + +.sheet-asset-type-dropdown + color #fff + background #4C4D4F + width auto + font-size 15px + font-weight bold + text-transform uppercase + -webkit-appearance menulist + margin 6px 4px + +.sheet-sub-dropdown + -webkit-appearance menulist + width auto + margin 7px 4px + font-size 17px + font-weight bold + text-transform uppercase + +.sheet-asset-track-wrapper + margin 10px + display flex + +.sheet-asset-track-box + width 100% + display flex + flex-direction column + justify-content center + align-items center + border-radius 0% + background transparent + border 2px solid #4C4D4F + padding 5px + margin-bottom 2px + +.sheet-asset-track-wrapper-wordy + text-transform uppercase + .sheet-asset-track-box + flex-direction row + +.sheet-asset-track-box-display + font-size 17px + font-weight bold \ No newline at end of file diff --git a/Ironcrunch/src/components/assets/data/combat-talents.pug b/Ironcrunch/src/components/assets/data/combat-talents.pug new file mode 100644 index 0000000000..642bc677a5 --- /dev/null +++ b/Ironcrunch/src/components/assets/data/combat-talents.pug @@ -0,0 +1,550 @@ +mixin combatTalentAssets + input.sheet-asset-combat-talent.sheet-hide(type='checkbox' name='attr_assetcombat-talent') + .sheet-combat-talent.sheet-showhide + select.sheet-sub-dropdown(name='attr_assetdropdowncombattalent') + option(value='' disabled='' selected='') Select + option(value='archer') Archer + option(value='berserker') Berserker + option(value='brawler') Brawler + option(value='cutthroat') Cutthroat + option(value='duelist') Duelist + option(value='fletcher') Fletcher + option(value='ironclad') Ironclad + option(value='long-arm') Long-arm + option(value='shield-bearer') Shield-bearer + option(value='skirmisher') Skirmisher + option(value='slinger') Slinger + option(value='sunderer') Sunderer + option(value='swordmaster') Swordmaster + option(value='thunder-bringer') Thunder-bringer + input.sheet-archer.sheet-hide(type='checkbox' name='attr_assetcombattalentdivarcher') + .sheet-archer.sheet-hide + .sheet-asset-description + .sheet-asset-description-text If you wield a bow... + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_archer1' checked='') + .sheet-asset-ability + | When you + em Secure an Advantage + | by taking a moment to aim, choose your approach and add +1. + ul + li Trust your instincts: Roll +wits, and take +2 momentum on a strong hit. + li Line up your shot: Roll +edge, and take +1 momentum on a hit. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_archer2') + .sheet-asset-ability + | Once per fight, when you + em Strike + | or + em Clash + | , you may take extra shots and suffer -1 supply (decide before rolling). + | When you do, reroll any dice. + | On a hit, inflict +2 harm and take +1 momentum. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_archer3') + .sheet-asset-ability + | When you + em Resupply + | by hunting, add +1 and take +1 momentum on a hit. + input.sheet-berserker.sheet-hide(type='checkbox' name='attr_assetcombattalentdivberserker') + .sheet-berserker.sheet-hide + .sheet-asset-description + .sheet-asset-description-text If you are clad only in animal pelts... + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_berserker1' checked='') + .sheet-asset-ability + | When you + em Secure an Advantage + | or + em Compel + | by embodying your wild nature, add +1 and take +1 momentum on a hit. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_berserker2') + .sheet-asset-ability + | When you + em Strike + | or + em Clash + | by unleashing your rage (decide before rolling), inflict + | +1 harm on a hit. Then, choose one. + ul + li + | Push yourself: + em Endure Harm + | (1 harm). + li + | Lose yourself: + em Endure Stress + | (1 stress). + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_berserker3') + .sheet-asset-ability + | When you + em Endure Harm + | in a fight, and your health is above 0, you may let the pain inflame + | your wildness (decide before rolling). + | If you then score a strong hit and choose to embrace the pain, take + | +momentum equal to your remaining health. A weak hit counts as a miss. + input.sheet-brawler.sheet-hide(type='checkbox' name='attr_assetcombattalentdivbrawler') + .sheet-brawler.sheet-hide + .sheet-asset-description + .sheet-requirement-area.sheet-brawler-req + | If you are unarmed or fighting with a non-deadly weapon... + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_brawler1' checked='') + .sheet-asset-ability + | When you + em Secure an Advantage + | +iron by engaging in close-quarters brawling + | (such as punching, tripping, or grappling), + | add +1. If you score a hit, you may also inflict 1 harm. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_brawler2') + .sheet-asset-ability + | When you use an unarmed attack or + | simple weapon to + em Strike + | with deadly intent, add +2 and inflict 2 harm on + | a hit (instead of 1). On a weak hit or miss, suffer -1 momentum + | (in addition to any other outcome of the move). + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_brawler3') + .sheet-asset-ability + | When you + em Face Danger + | or + em Clash + | against a brawling attack, add +1 and take +1 momentum on a hit. + input.sheet-cutthroat.sheet-hide(type='checkbox' name='attr_assetcombattalentdivcutthroat') + .sheet-cutthroat.sheet-hide + .sheet-asset-description + .sheet-asset-description-text If you wield a dagger or knife... + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_cutthroat1' checked='') + .sheet-asset-ability + | When you are in position to + em Strike + | at an unsuspecting foe, choose one (before rolling). + ul + li Add +2 and take +1 momentum on a hit. + li Inflict +2 harm on a hit. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_cutthroat2') + .sheet-asset-ability + | When you + em Compel + | someone at the point of your blade, or when you rely on your blade to + em Face Danger + | , add +1. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_cutthroat3') + .sheet-asset-ability + | Once per fight, when you + em + | Secure an Advantage +shadow by performing a feint or misdirection, + | reroll any dice and take +1 momentum on a hit. + input.sheet-duelist.sheet-hide(type='checkbox' name='attr_assetcombattalentdivduelist') + .sheet-duelist.sheet-hide + .sheet-asset-description + .sheet-asset-description-text + | If you wield a bladed weapon in each hand... + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_duelist1' checked='') + .sheet-asset-ability + | When you + em Strike + | or + em Clash + | , you may add +2. If you do (decide before rolling), + | inflict +1 harm on a strong hit and count a weak hit as a miss. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_duelist2') + .sheet-asset-ability + | Once per fight, when you + em + | Secure an Advantage +edge by making a bold display of + | your combat prowess, you may reroll any dice. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_duelist3') + .sheet-asset-ability + | When you + em Draw the Circle + | , choose one (before rolling). + ul + li Add +2. + li Take +2 momentum on a hit. + input.sheet-fletcher.sheet-hide(type='checkbox' name='attr_assetcombattalentdivfletcher') + .sheet-fletcher.sheet-hide + .sheet-asset-description + .sheet-asset-description-text + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_fletcher1' checked='') + .sheet-asset-ability + | When you + em Secure an Advantage + | by crafting arrows of fine quality, add +1. Then, take +1 supply or +1 momentum on a hit. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_fletcher2') + .sheet-asset-ability + | When you + em Resupply + | by recovering or gathering arrows after a + em Battle + | , add +2. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_fletcher3') + .sheet-asset-ability + | When you craft a single arrow designated for a + | specific + | foe, envision the process and materials, and roll +wits. On a + strong + | strong hit, + | take both. On a + strong weak hit, + | choose one. + ul + li + | Seeker: When a shooter uses the arrow to + em Strike + | or + em Clash + | against this foe, reroll any dice (one time only). + li + | Ravager: When a shooter uses the arrow to inflict harm against this foe, + | inflict +1d6 harm (one time only). + input.sheet-ironclad.sheet-hide(type='checkbox' name='attr_assetcombattalentdivironclad') + .sheet-ironclad.sheet-hide + .sheet-asset-description + .sheet-asset-description-text If you wear armor... + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_ironclad1' checked='') + .sheet-asset-ability + | When you equip or adjust your armor, choose one. + ul + li + b Lightly armored: + | When you + em Endure Harm + | in a fight, add +1 + | and + | take +1 momentum on a hit. + li + b Geared for war: + | Mark encumbered. When you + em Endure Harm + | in + | a + | fight, add +2 and take +1 momentum on a hit. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_ironclad2') + .sheet-asset-ability + | When you + em Clash + | while you are geared for + | war, + | add +1. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_ironclad3') + .sheet-asset-ability + | When you + em Compel + | in a situation where + | strength + | of arms is a factor, add +2. + .sheet-asset-track-wrapper.sheet-asset-track-wrapper-wordy + .sheet-asset-track-box + .sheet-asset-track-box-display Lightly Armored + input(type='radio' name='attr_assettrack_ironclad' value='0') + .sheet-asset-track-box + .sheet-asset-track-box-display Geared for War + input(type='radio' name='attr_assettrack_ironclad' value='1') + input.sheet-long-arm.sheet-hide(type='checkbox' name='attr_assetcombattalentdivlong-arm') + .sheet-long-arm.sheet-hide + .sheet-asset-description + .sheet-asset-description-text If you wield a staff... + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_longarm1' checked='') + .sheet-asset-ability + | In your hands, a humble staff is a + | deadly weapon (2 harm). When you + | instead use it as a simple weapon (1 + | harm), you may + em Strike + | or + em Clash + | +edge + | (instead of iron). If you do, add +1 and take +1 momentum on a hit. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_longarm2') + .sheet-asset-ability + | When you + em Secure an Advantage + | +edge using + | your + | staff to disarm, trip, shove, or stun your foe, add +1 and take +1 momentum on a + | hit. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_longarm3') + .sheet-asset-ability + | When you + em Undertake a Journey + | and score a + strong strong hit, + | or if you accompany an ally who scores a strong hit + | on + | that move, your + | staff provides support and comfort in your travels; take +1 momentum. + input.sheet-shield-bearer.sheet-hide(type='checkbox' name='attr_assetcombattalentdivshield-bearer') + .sheet-shield-bearer.sheet-hide + .sheet-asset-description + .sheet-asset-description-text If you wield a shield... + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_shieldbearer1' checked='') + .sheet-asset-ability + | When you + em Face Danger + | using your shield as + | cover, add +1. When you + em Clash + | in close quarters, take +1 momentum on a + | strong hit. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_shieldbearer2') + .sheet-asset-ability + | When you paint your shield with a meaningful + | symbol, + | envision what you create. Then, if you + em Endure Stress + | as you face off + | against a fearsome foe, add +1 and take +1 momentum on a hit. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_shieldbearer3') + .sheet-asset-ability + | When forced to + em Endure Harm + | in a fight, you + | may + | instead sacrifice your shield and ignore all harm. If you do, the shield is + | destroyed. Once per fight, you also take initiative when you sacrifice your + | shield + | to avoid harm. + input.sheet-skirmisher.sheet-hide(type='checkbox' name='attr_assetcombattalentdivskirmisher') + .sheet-skirmisher.sheet-hide + .sheet-asset-description + .sheet-asset-description-text If you wield a spear... + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_skirmisher1' checked='') + .sheet-asset-ability + | When you + em Face Danger + | by holding a foe at + | bay + | using your spear’s reach, roll +iron or +edge. If you score a hit, you may... + ul + li + | Iron: + em Strike + | (if you have initiative) or + em Clash + | now, + | and + | add +1. + li Edge: Take +1 momentum. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_skirmisher2') + .sheet-asset-ability + | When you + em Strike + | in close combat, you + | may attempt to drive your spear home + | (decide before rolling). If you do, add + | +1 and inflict +2 harm on a hit. If you + | score a hit and the fight continues, + em Face Danger + | +iron to recover your + | spear. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_skirmisher3') + .sheet-asset-ability + | When you + em Secure an Advantage + | by bracing + | your + | spear against a charging foe, add +1 and take +1 momentum on a hit. + input.sheet-slinger.sheet-hide(type='checkbox' name='attr_assetcombattalentdivslinger') + .sheet-slinger.sheet-hide + .sheet-asset-description + .sheet-asset-description-text If you wield a sling... + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_slinger1' checked='') + .sheet-asset-ability + | When launched from a sling, a simple + | stone inflicts deadly harm (2 harm). + | When you + em Enter the Fray + | by barraging + | your foe with sling-bullets, inflict + | harm on a strong hit. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_slinger2') + .sheet-asset-ability + | When you + em Strike + | by launching stones at an + | advancing foe, you may choose one (before rolling). + ul + li + | Hold them back: Retain initiative on a + strong weak hit, + | but + | inflict only 1 harm. + li Hit them hard: Inflict +1 harm on a hit, but suffer -1 momentum. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_slinger3') + .sheet-asset-ability + | When you + em Secure an Advantage + | by preparing + | stones of a special quality or material, add +1. Then, take +1 momentum or +1 + | supply + | on a hit. + input.sheet-sunderer.sheet-hide(type='checkbox' name='attr_assetcombattalentdivsunderer') + .sheet-sunderer.sheet-hide + .sheet-asset-description + .sheet-asset-description-text If you wield an axe... + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_sunderer1' checked='') + .sheet-asset-ability + | When you + em Strike + | or + em Clash + | in close + | quarters, you may suffer -1 momentum and inflict +1 harm on a hit (decide before + | rolling). + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_sunderer2') + .sheet-asset-ability + | When you have your axe in hand, and use the promise + | of + | violence to + em Compel + | or + em Secure an Advantage + | , add +1 and take +1 + | momentum on a hit. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_sunderer3') + .sheet-asset-ability + | When you make a tribute to a fallen foe (formidable + | or + | greater) by carving a rune in the haft of your axe, roll +heart. On a + strong + | strong + | hit, + | inflict +1d6 harm (one time only) when you + em Strike + | or + em Clash + | . + | On a + strong weak hit, + | as above, but this death weighs on you; + em + | Endure + | Stress + | (2 stress). + input.sheet-swordmaster.sheet-hide(type='checkbox' name='attr_assetcombattalentdivswordmaster') + .sheet-swordmaster.sheet-hide + .sheet-asset-description + .sheet-asset-description-text If you wield a sword... + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_swordmaster1' checked='') + .sheet-asset-ability + | When you + em Strike + | or + em Clash + | and burn + | momentum to improve your result, + | inflict +2 harm. If the fight continues, add +1 on your next move. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_swordmaster2') + .sheet-asset-ability + | When you + em Clash + | and score a + strong + | strong + | hit, + | you may + | add +1 if you immediately follow with a + em Strike + | . + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_swordmaster3') + .sheet-asset-ability + | When you + em Swear an Iron Vow + | by kneeling and + | grasping your sword’s blade, add +1 and take +1 momentum on a hit. If you let + | the + | edge draw blood from your hands, + em Endure Harm + | (1 harm) in exchange for + | an + | additional +1 momentum on a hit. + input.sheet-thunder-bringer.sheet-hide(type='checkbox' name='attr_assetcombattalentdivthunder-bringer') + .sheet-thunder-bringer.sheet-hide + .sheet-asset-description + .sheet-asset-description-text If you wield a mighty hammer... + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_thunderbringer1' checked='') + .sheet-asset-ability + | When you + em Face Danger + | , + em + | Secure an + | Advantage + | , or + em Compel + | by hitting or breaking an inanimate + | object, + | add +1 and take +1 momentum on a hit. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_thunderbringer2') + .sheet-asset-ability + | When you + em Strike + | a foe to knock them + | back, stun them, or put them off + | balance, inflict 1 harm (instead of 2) + | and take +2 momentum on a hit. On a + | strong hit, you also create an opening + | and add +1 on your next move. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_thunderbringer3') + .sheet-asset-ability + | When you + em Turn the Tide + | , you may + | Strike with all the fury and power you + | can muster. If you do (decide before + | rolling), you may reroll any dice and + | inflict +2 harm on a strong hit, but + | count a weak hit as a miss. diff --git a/Ironcrunch/src/components/assets/data/companions.pug b/Ironcrunch/src/components/assets/data/companions.pug new file mode 100644 index 0000000000..84a14cf979 --- /dev/null +++ b/Ironcrunch/src/components/assets/data/companions.pug @@ -0,0 +1,533 @@ +mixin companionAssets + input.sheet-asset-companion.sheet-hide(type='checkbox' name='attr_assetcompanion') + .sheet-companion.sheet-showhide + select.sheet-sub-dropdown(name='attr_assetDropdownCompanion') + option(value='' disabled='' selected='') Select + option(value='cave-lion') Cave Lion + option(value='giant-spider') Giant Spider + option(value='hawk') Hawk + option(value='horse') Horse + option(value='hound') Hound + option(value='kindred') Kindred + option(value='mammoth') Mammoth + option(value='owl') Owl + option(value='raven') Raven + option(value='young-wyvern') Young Wyvern + input.sheet-cave-lion.sheet-hide(type='checkbox' name='attr_assetcompaniondivcave-lion') + .sheet-cave-lion.sheet-hide + .sheet-asset-description + .sheet-asset-write-in + | Name: + input.sheet-border-bottom.sheet-no-border(type='text' name='attr_assetname' value='') + .sheet-asset-description-text Your cat takes down its prey. + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_cavelion1') + .sheet-asset-ability + b Eager: + | When your cat chases down big game, you + | may + em Resupply + | with +edge (instead of +wits). If you do, take +1 supply or +1 + | momentum on a strong hit. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_cavelion2') + .sheet-asset-ability + b Inescapable: + | When you + em Enter the Fray + | or + em Strike + | by sending your cat to attack, roll +edge. On a hit, take +2 + | momentum + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_cavelion3') + .sheet-asset-ability + b Protective: + | When you + em Make Camp + | , your + | cat is alert to trouble. If you or an ally choose to relax, take +1 spirit. If you + | focus, take +1 momentum. + .sheet-asset-track-wrapper + .sheet-asset-track-box + .sheet-asset-track-box-display 0 + input(type='radio' name='attr_assettrack_cavelion' value='0') + .sheet-asset-track-box + .sheet-asset-track-box-display + 1 + input(type='radio' name='attr_assettrack_cavelion' value='1') + .sheet-asset-track-box + .sheet-asset-track-box-display + 2 + input(type='radio' name='attr_assettrack_cavelion' value='2') + .sheet-asset-track-box + .sheet-asset-track-box-display + 3 + input(type='radio' name='attr_assettrack_cavelion' value='3') + .sheet-asset-track-box + .sheet-asset-track-box-display + 4 + input(type='radio' name='attr_assettrack_cavelion' value='4') + input.sheet-giant-spider.sheet-hide(type='checkbox' name='attr_assetcompaniondivgiant-spider') + .sheet-giant-spider.sheet-hide + .sheet-asset-description + .sheet-asset-write-in + | Name: + input.sheet-border-bottom.sheet-no-border(type='text' name='attr_assetname' value='') + .sheet-asset-description-text Your spider uncovers secrets. + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_giantspider1') + .sheet-asset-ability + b Discreet: + | When you + em Secure an Advantage + | by sending your spider to scout a place, add +1 and take +1 momentum on a hit. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_giantspider2') + .sheet-asset-ability + b Soul-Piercing: + | You may + em Face Danger + | +shadow by sending your spider to secretly study someone. On a hit, the spider + | returns to reveal the target’s deepest fears through a reflection in its glassy + | eyes. Use this to + em Gather Information + | and reroll any dice. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_giantspider3') + .sheet-asset-ability + b Ensnaring: + | When your spider sets a trap, add +1 + | as you + em Enter the Fray + | +shadow. On a + strong strong hit, + | also + | inflict 2 harm. + .sheet-asset-track-wrapper + .sheet-asset-track-box + .sheet-asset-track-box-display 0 + input(type='radio' name='attr_assettrack_giantspider' value='0') + .sheet-asset-track-box + .sheet-asset-track-box-display + 1 + input(type='radio' name='attr_assettrack_giantspider' value='1') + .sheet-asset-track-box + .sheet-asset-track-box-display + 2 + input(type='radio' name='attr_assettrack_giantspider' value='2') + .sheet-asset-track-box + .sheet-asset-track-box-display + 3 + input(type='radio' name='attr_assettrack_giantspider' value='3') + .sheet-asset-track-box + .sheet-asset-track-box-display + 4 + input(type='radio' name='attr_assettrack_giantspider' value='4') + input.sheet-hawk.sheet-hide(type='checkbox' name='attr_assetcompaniondivhawk') + .sheet-hawk.sheet-hide + .sheet-asset-description + .sheet-asset-write-in + | Name: + input.sheet-border-bottom.sheet-no-border(type='text' name='attr_assetname' value='') + .sheet-asset-description-text Your hawk can aid you while it is aloft. + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_hawk1') + .sheet-asset-ability + b Far-seeing: + | When you + em + | Undertake a + | Journey + | , or when you + em Resupply + | by hunting for small game, add +1. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_hawk2') + .sheet-asset-ability + b Fierce: + | When you + em Secure an Advantage + | +edge using your hawk to harass and distract your foes, add +1 and take +1 momentum + | on a hit. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_hawk3') + .sheet-asset-ability + b Vigilant: + | When you + em Face Danger + | +wits to + | detect an approaching threat, or when you + em Enter the Fray + | +wits against an + | ambush, add +2. + .sheet-asset-track-wrapper + .sheet-asset-track-box + .sheet-asset-track-box-display 0 + input(type='radio' name='attr_assettrack_hawk' value='0') + .sheet-asset-track-box + .sheet-asset-track-box-display + 1 + input(type='radio' name='attr_assettrack_hawk' value='1') + .sheet-asset-track-box + .sheet-asset-track-box-display + 2 + input(type='radio' name='attr_assettrack_hawk' value='2') + .sheet-asset-track-box + .sheet-asset-track-box-display + 3 + input(type='radio' name='attr_assettrack_hawk' value='3') + input.sheet-horse.sheet-hide(type='checkbox' name='attr_assetcompaniondivhorse') + .sheet-horse.sheet-hide + .sheet-asset-description + .sheet-asset-write-in + | Name: + input.sheet-border-bottom.sheet-no-border(type='text' name='attr_assetname' value='') + .sheet-asset-description-text You and your horse ride as one. + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_horse1') + .sheet-asset-ability + b Swift: + | When you + em Face Danger + | +edge using + | your horse’s speed and grace, or when you + em Undertake a Journey + | , add +1. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_horse2') + .sheet-asset-ability + b Fearless: + | When you + em Enter the Fray + | or + em Secure an Advantage + | +heart by charging into combat, add +1 and take +1 + | momentum on a hit. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_horse3') + .sheet-asset-ability + b Mighty: + | When you + em Strike + | or + em Clash + | at close range while mounted, add +1 and inflict +1 harm on a hit. + .sheet-asset-track-wrapper + .sheet-asset-track-box + .sheet-asset-track-box-display 0 + input(type='radio' name='attr_assettrack_horse' value='0') + .sheet-asset-track-box + .sheet-asset-track-box-display + 1 + input(type='radio' name='attr_assettrack_horse' value='1') + .sheet-asset-track-box + .sheet-asset-track-box-display + 2 + input(type='radio' name='attr_assettrack_horse' value='2') + .sheet-asset-track-box + .sheet-asset-track-box-display + 3 + input(type='radio' name='attr_assettrack_horse' value='3') + .sheet-asset-track-box + .sheet-asset-track-box-display + 4 + input(type='radio' name='attr_assettrack_horse' value='4') + .sheet-asset-track-box + .sheet-asset-track-box-display + 5 + input(type='radio' name='attr_assettrack_horse' value='5') + input.sheet-hound.sheet-hide(type='checkbox' name='attr_assetcompaniondivhound') + .sheet-hound.sheet-hide + .sheet-asset-description + .sheet-asset-write-in + | Name: + input.sheet-border-bottom.sheet-no-border(type='text' name='attr_assetname' value='') + .sheet-asset-description-text Your hound is your steadfast companion. + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_hound1') + .sheet-asset-ability + b Sharp: + | When you + em Gather Information + | using your hound’s keen senses to track your quarry or investigate a scene, add +1 + | and take +1 momentum on a hit. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_hound2') + .sheet-asset-ability + b Ferocious: + | When you + em Strike + | or + em Clash + | alongside your hound and score a hit, inflict +1 harm or take +1 + | momentum. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_hound3') + .sheet-asset-ability + b Loyal: + | When you + em Endure Stress + | in the + | company of your hound, add +1. + .sheet-asset-track-wrapper + .sheet-asset-track-box + .sheet-asset-track-box-display 0 + input(type='radio' name='attr_assettrack_hound' value='0') + .sheet-asset-track-box + .sheet-asset-track-box-display + 1 + input(type='radio' name='attr_assettrack_hound' value='1') + .sheet-asset-track-box + .sheet-asset-track-box-display + 2 + input(type='radio' name='attr_assettrack_hound' value='2') + .sheet-asset-track-box + .sheet-asset-track-box-display + 3 + input(type='radio' name='attr_assettrack_hound' value='3') + .sheet-asset-track-box + .sheet-asset-track-box-display + 4 + input(type='radio' name='attr_assettrack_hound' value='4') + input.sheet-kindred.sheet-hide(type='checkbox' name='attr_assetcompaniondivkindred') + .sheet-kindred.sheet-hide + .sheet-asset-description + .sheet-asset-write-in + | Name: + input.sheet-border-bottom.sheet-no-border(type='text' name='attr_assetname' value='') + .sheet-asset-description-text Your friend stands by you. + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_kindred1') + .sheet-asset-ability + b Skilled: + | When you make a move outside of combat + | aided by your companion’s expertise, add +1. + .sheet-asset-ability-write-in + | Expertise: + input.sheet-border-bottom.sheet-no-border(type='text' name='attr_assetexpertise' value='') + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_kindred2') + .sheet-asset-ability + b Shield-Kin: + | When you + em Clash + | or + em Battle + | alongside your companion, or when you + em Face Danger + | against + | an attack by standing together, add +1. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_kindred3') + .sheet-asset-ability + b Bonded: + | Once you mark a bond with your + | companion, add +1 when you + em Face Desolation + | in their presence. + .sheet-asset-track-wrapper + .sheet-asset-track-box + .sheet-asset-track-box-display 0 + input(type='radio' name='attr_assettrack_kindred' value='0') + .sheet-asset-track-box + .sheet-asset-track-box-display + 1 + input(type='radio' name='attr_assettrack_kindred' value='1') + .sheet-asset-track-box + .sheet-asset-track-box-display + 2 + input(type='radio' name='attr_assettrack_kindred' value='2') + .sheet-asset-track-box + .sheet-asset-track-box-display + 3 + input(type='radio' name='attr_assettrack_kindred' value='3') + .sheet-asset-track-box + .sheet-asset-track-box-display + 4 + input(type='radio' name='attr_assettrack_kindred' value='4') + input.sheet-mammoth.sheet-hide(type='checkbox' name='attr_assetcompaniondivmammoth') + .sheet-mammoth.sheet-hide + .sheet-asset-description + .sheet-asset-write-in + | Name: + input.sheet-border-bottom.sheet-no-border(type='text' name='attr_assetname' value='') + .sheet-asset-description-text Your mammoth walks a resolute path. + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_mammoth1') + .sheet-asset-ability + b Lumbering: + | When your mammoth travels with you as + | you + em Undertake a Journey + | , you may add +2 but suffer -1 momentum (decide + | before rolling) + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_mammoth2') + .sheet-asset-ability + b Beast of burden: + | When you make a move which + | requires you to roll +supply, you may instead roll +your mammoth’s health. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_mammoth3') + .sheet-asset-ability + b Overpowering: + | When you + em Strike + | or + em Clash + | by riding your mammoth against a pack of foes, add +1 and inflict +1 + | harm on a hit. + .sheet-asset-track-wrapper + .sheet-asset-track-box + .sheet-asset-track-box-display 0 + input(type='radio' name='attr_assettrack_mammoth' value='0') + .sheet-asset-track-box + .sheet-asset-track-box-display + 1 + input(type='radio' name='attr_assettrack_mammoth' value='1') + .sheet-asset-track-box + .sheet-asset-track-box-display + 2 + input(type='radio' name='attr_assettrack_mammoth' value='2') + .sheet-asset-track-box + .sheet-asset-track-box-display + 3 + input(type='radio' name='attr_assettrack_mammoth' value='3') + .sheet-asset-track-box + .sheet-asset-track-box-display + 4 + input(type='radio' name='attr_assettrack_mammoth' value='4') + .sheet-asset-track-box + .sheet-asset-track-box-display + 5 + input(type='radio' name='attr_assettrack_mammoth' value='5') + input.sheet-owl.sheet-hide(type='checkbox' name='attr_assetcompaniondivowl') + .sheet-owl.sheet-hide + .sheet-asset-description + .sheet-asset-write-in + | Name: + input.sheet-border-bottom.sheet-no-border(type='text' name='attr_assetname' value='') + .sheet-asset-description-text Your owl soars through the darkness. + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_owl1') + .sheet-asset-ability + b Nocturnal: + | If you + em Resupply + | at night by + | sending your owl to hunt, take +2 momentum on a hit. When you + em + | Enter the + | Fray + | +wits against an ambush in darkness, add +1 and take +1 momentum on a + | hit. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_owl2') + .sheet-asset-ability + b Sage: + | When you leverage your owl’s secret + | knowledge to perform a ritual, add +1 or take +1 momentum on a hit (decide before + | rolling). + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_owl3') + .sheet-asset-ability + b Embodying: + | When you + em Face Death + | , take + | your owl’s health as +momentum before you roll. + .sheet-asset-track-wrapper + .sheet-asset-track-box + .sheet-asset-track-box-display 0 + input(type='radio' name='attr_assettrack_owl' value='0') + .sheet-asset-track-box + .sheet-asset-track-box-display + 1 + input(type='radio' name='attr_assettrack_owl' value='1') + .sheet-asset-track-box + .sheet-asset-track-box-display + 2 + input(type='radio' name='attr_assettrack_owl' value='2') + .sheet-asset-track-box + .sheet-asset-track-box-display + 3 + input(type='radio' name='attr_assettrack_owl' value='3') + input.sheet-raven.sheet-hide(type='checkbox' name='attr_assetcompaniondivraven') + .sheet-raven.sheet-hide + .sheet-asset-description + .sheet-asset-write-in + | Name: + input.sheet-border-bottom.sheet-no-border(type='text' name='attr_assetname' value='') + .sheet-asset-description-text Your raven heeds your call. + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_raven1') + .sheet-asset-ability + b Sly: + | When you + em Secure an Advantage + | or + em Face Danger + | +shadow using your raven to perform trickery (such as creating + | a distraction or stealing a small object) add +1 and take +1 momentum on a hit. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_raven2') + .sheet-asset-ability + b Knowing: + | When you + em Face Death + | , add +2 + | and take +1 momentum on a hit. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_raven3') + .sheet-asset-ability + b Diligent: + | When your raven carries messages for + | you, you may + em Secure an Advantage + | , + em Gather Information + | , or + em Compel + | from a distance. + .sheet-asset-track-wrapper + .sheet-asset-track-box + .sheet-asset-track-box-display 0 + input(type='radio' name='attr_assettrack_raven' value='0') + .sheet-asset-track-box + .sheet-asset-track-box-display + 1 + input(type='radio' name='attr_assettrack_raven' value='1') + .sheet-asset-track-box + .sheet-asset-track-box-display + 2 + input(type='radio' name='attr_assettrack_raven' value='2') + input.sheet-young-wyvern.sheet-hide(type='checkbox' name='attr_assetcompaniondivyoung-wyvern') + .sheet-young-wyvern.sheet-hide + .sheet-asset-description + .sheet-asset-write-in + | Name: + input.sheet-border-bottom.sheet-no-border(type='text' name='attr_assetname' value='') + .sheet-asset-description-text Your wyvern won’t devour you. For now. + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_youngwyvern1') + .sheet-asset-ability + b Insatiable: + | When you + em + | Undertake a + | Journey + | and score a hit, you may suffer -1 supply in exchange for +2 + | momentum. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_youngwyvern2') + .sheet-asset-ability + b Indomitable: + | When you make the + em + | Companion + | Endure Harm + | move for your wyvern, add +2 and take +1 momentum on a hit. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_youngwyvern3') + .sheet-asset-ability + b Savage: + | When you + em Strike + | by commanding + | your wyvern to attack, roll +heart. Your wyvern inflicts 3 harm on a hit. + .sheet-asset-track-wrapper + .sheet-asset-track-box + .sheet-asset-track-box-display 0 + input(type='radio' name='attr_assettrack_youngwyvern' value='0') + .sheet-asset-track-box + .sheet-asset-track-box-display + 1 + input(type='radio' name='attr_assettrack_youngwyvern' value='1') + .sheet-asset-track-box + .sheet-asset-track-box-display + 2 + input(type='radio' name='attr_assettrack_youngwyvern' value='2') + .sheet-asset-track-box + .sheet-asset-track-box-display + 3 + input(type='radio' name='attr_assettrack_youngwyvern' value='3') + .sheet-asset-track-box + .sheet-asset-track-box-display + 4 + input(type='radio' name='attr_assettrack_youngwyvern' value='4') + .sheet-asset-track-box + .sheet-asset-track-box-display + 5 + input(type='radio' name='attr_assettrack_youngwyvern' value='5') diff --git a/Ironcrunch/src/components/assets/data/custom.pug b/Ironcrunch/src/components/assets/data/custom.pug new file mode 100644 index 0000000000..d0fd55b212 --- /dev/null +++ b/Ironcrunch/src/components/assets/data/custom.pug @@ -0,0 +1,206 @@ +mixin customAssets + input.sheet-asset-custom.sheet-hide(type='checkbox' name='attr_assetcustom') + .sheet-asset-custom.sheet-showhide + input.sheet-asset-builder(type='radio' name='attr_custom-asset-page' value='1' checked='') + span.sheet-custom-asset-page Builder + input.sheet-asset-view(type='radio' name='attr_custom-asset-page' value='2') + span.sheet-custom-asset-page View + .sheet-asset-builder.sheet-hide + .sheet-builder-titles + | Titles + br + select.sheet-sub-dropdown.sheet-builder-dropdown(name='attr_builder-titles') + option(value='0' selected='') None + option(value='1') 1 Input + option(value='2') 2 Inputs + option(value='3') 3 Inputs + .sheet-builder-ability-1 + | Ability One + br + select.sheet-sub-dropdown(name='attr_builder-ability-1') + option(value='' selected='' disabled='') Select + option(value='text') Text Box + option(value='text-input') Text Box with Input + textarea.sheet-build-text(name='attr_builder-ability-1-text-area') + .sheet-builder-ability-2 + | Ability Two + br + select.sheet-sub-dropdown(name='attr_builder-ability-2') + option(value='' selected='' disabled='') Select + option(value='text') Text Box + option(value='text-input') Text Box with Input + textarea.sheet-build-text(name='attr_builder-ability-2-text-area') + .sheet-builder-ability-3 + | Ability Three + br + select.sheet-sub-dropdown(name='attr_builder-ability-3') + option(value='' selected='' disabled='') Select + option(value='text') Text Box + option(value='text-input') Text Box with Input + textarea.sheet-build-text(name='attr_builder-ability-3-text-area') + .sheet-builder-tracks + | Tracks + br + select.sheet-sub-dropdown(name='attr_track-dropdown') + option(value='0' selected='') None + option(value='1') 0 to 1 + option(value='2') 0 to 2 + option(value='3') 0 to 3 + option(value='4') 0 to 4 + option(value='5') 0 to 5 + option(value='6') 0 to 6 + .sheet-asset-view.sheet-hide + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-builder-titles-0.sheet-hide(type='checkbox' name='attr_builder-titles-0') + input.sheet-builder-titles-1.sheet-hide(type='checkbox' name='attr_builder-titles-1') + .sheet-builder-titles-1.sheet-hide + input.sheet-border-bottom.sheet-no-border.sheet-view-title-width(type='text' name='attr_builder-titles-1-1' value='') + input.sheet-builder-titles-2.sheet-hide(type='checkbox' name='attr_builder-titles-2') + .sheet-builder-titles-2.sheet-hide + input.sheet-border-bottom.sheet-no-border.sheet-view-title-width(type='text' name='attr_builder-titles-2-1' value='') + input.sheet-border-bottom.sheet-no-border.sheet-view-title-width(type='text' name='attr_builder-titles-2-2' value='') + input.sheet-builder-titles-3.sheet-hide(type='checkbox' name='attr_builder-titles-3') + .sheet-builder-titles-3.sheet-hide + input.sheet-border-bottom.sheet-no-border.sheet-view-title-width(type='text' name='attr_builder-titles-3-1' value='') + input.sheet-border-bottom.sheet-no-border.sheet-view-title-width(type='text' name='attr_builder-titles-3-2' value='') + input.sheet-border-bottom.sheet-no-border.sheet-view-title-width(type='text' name='attr_builder-titles-3-3' value='') + .sheet-flex-container + input.sheet-builder-ability-1-text.sheet-hide(type='checkbox' name='attr_builder-ability-1-text') + .sheet-builder-ability-1-text.sheet-hide + input.sheet-custom-asset-ability(type='checkbox' name='attr_assetcheckbox_builder-ability-1') + .sheet-asset-ability + textarea.sheet-no-border.sheet-ability-text(name='attr_builder-ability-1-text-area' readonly='') + input.sheet-builder-ability-1-text-input.sheet-hide(type='checkbox' name='attr_builder-ability-1-text-input') + .sheet-builder-ability-1-text-input.sheet-hide + input.sheet-custom-asset-ability(type='checkbox' name='attr_assetcheckbox_builder-ability-1') + .sheet-asset-ability + textarea.sheet-no-border.sheet-ability-text(name='attr_builder-ability-1-text-area' readonly='') + input.sheet-border-bottom.sheet-no-border(type='text' name='attr_builder-ability-1-custom-text-input' value='') + .sheet-flex-container + input.sheet-builder-ability-2-text.sheet-hide(type='checkbox' name='attr_builder-ability-2-text') + .sheet-builder-ability-2-text.sheet-hide + input.sheet-custom-asset-ability(type='checkbox' name='attr_assetcheckbox_builder-ability-2') + .sheet-asset-ability + textarea.sheet-no-border.sheet-ability-text(name='attr_builder-ability-2-text-area' readonly='') + input.sheet-builder-ability-2-text-input.sheet-hide(type='checkbox' name='attr_builder-ability-2-text-input') + .sheet-builder-ability-2-text-input.sheet-hide + input.sheet-custom-asset-ability(type='checkbox' name='attr_assetcheckbox_builder-ability-2') + .sheet-asset-ability + textarea.sheet-no-border.sheet-ability-text(name='attr_builder-ability-2-text-area' readonly='') + input.sheet-border-bottom.sheet-no-border(type='text' name='attr_builder-ability-2-custom-text-input' value='') + .sheet-flex-container + input.sheet-builder-ability-3-text.sheet-hide(type='checkbox' name='attr_builder-ability-3-text') + input.sheet-builder-ability-3-text-input.sheet-hide(type='checkbox' name='attr_builder-ability-3-text-input') + .sheet-builder-ability-3-text.sheet-hide + .sheet-flex-container + input.sheet-custom-asset-ability(type='checkbox' name='attr_assetcheckbox_builder-ability-3') + .sheet-asset-ability + textarea.sheet-no-border.sheet-ability-text(name='attr_builder-ability-3-text-area' readonly='') + .sheet-builder-ability-3-text-input.sheet-hide + input.sheet-custom-asset-ability(type='checkbox' name='attr_assetcheckbox_builder-ability-3') + .sheet-asset-ability + textarea.sheet-no-border.sheet-ability-text(name='attr_builder-ability-3-text-area' readonly='') + input.sheet-border-bottom.sheet-no-border(type='text' name='attr_builder-ability-3-custom-text-input' value='') + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-track-dropdown-0.sheet-hide(type='checkbox' name='attr_track-dropdown-0') + input.sheet-track-dropdown-1.sheet-hide(type='checkbox' name='attr_track-dropdown-1') + .sheet-track-dropdown-1.sheet-hide + .sheet-asset-track-wrapper.sheet-custom-track + .sheet-asset-track-box + .sheet-asset-track-box-display 0 + input(type='radio' name='attr_custom-asset-track' value='0') + .sheet-asset-track-box + .sheet-asset-track-box-display + 1 + input(type='radio' name='attr_custom-asset-track' value='1') + input.sheet-track-dropdown-2.sheet-hide(type='checkbox' name='attr_track-dropdown-2') + .sheet-track-dropdown-2.sheet-hide + .sheet-asset-track-wrapper.sheet-custom-track + .sheet-asset-track-box + .sheet-asset-track-box-display 0 + input(type='radio' name='attr_custom-asset-track' value='0') + .sheet-asset-track-box + .sheet-asset-track-box-display + 1 + input(type='radio' name='attr_custom-asset-track' value='1') + .sheet-asset-track-box + .sheet-asset-track-box-display + 2 + input(type='radio' name='attr_custom-asset-track' value='2') + input.sheet-track-dropdown-3.sheet-hide(type='checkbox' name='attr_track-dropdown-3') + .sheet-track-dropdown-3.sheet-hide + .sheet-asset-track-wrapper.sheet-custom-track + .sheet-asset-track-box + .sheet-asset-track-box-display 0 + input(type='radio' name='attr_custom-asset-track' value='0') + .sheet-asset-track-box + .sheet-asset-track-box-display + 1 + input(type='radio' name='attr_custom-asset-track' value='1') + .sheet-asset-track-box + .sheet-asset-track-box-display + 2 + input(type='radio' name='attr_custom-asset-track' value='2') + .sheet-asset-track-box + .sheet-asset-track-box-display + 3 + input(type='radio' name='attr_custom-asset-track' value='3') + input.sheet-track-dropdown-4.sheet-hide(type='checkbox' name='attr_track-dropdown-4') + .sheet-track-dropdown-4.sheet-hide + .sheet-asset-track-wrapper.sheet-custom-track + .sheet-asset-track-box + .sheet-asset-track-box-display 0 + input(type='radio' name='attr_custom-asset-track' value='0') + .sheet-asset-track-box + .sheet-asset-track-box-display + 1 + input(type='radio' name='attr_custom-asset-track' value='1') + .sheet-asset-track-box + .sheet-asset-track-box-display + 2 + input(type='radio' name='attr_custom-asset-track' value='2') + .sheet-asset-track-box + .sheet-asset-track-box-display + 3 + input(type='radio' name='attr_custom-asset-track' value='3') + .sheet-asset-track-box + .sheet-asset-track-box-display + 4 + input(type='radio' name='attr_custom-asset-track' value='4') + input.sheet-track-dropdown-5.sheet-hide(type='checkbox' name='attr_track-dropdown-5') + .sheet-track-dropdown-5.sheet-hide + .sheet-asset-track-wrapper.sheet-custom-track + .sheet-asset-track-box + .sheet-asset-track-box-display 0 + input(type='radio' name='attr_custom-asset-track' value='0') + .sheet-asset-track-box + .sheet-asset-track-box-display + 1 + input(type='radio' name='attr_custom-asset-track' value='1') + .sheet-asset-track-box + .sheet-asset-track-box-display + 2 + input(type='radio' name='attr_custom-asset-track' value='2') + .sheet-asset-track-box + .sheet-asset-track-box-display + 3 + input(type='radio' name='attr_custom-asset-track' value='3') + .sheet-asset-track-box + .sheet-asset-track-box-display + 4 + input(type='radio' name='attr_custom-asset-track' value='4') + .sheet-asset-track-box + .sheet-asset-track-box-display + 5 + input(type='radio' name='attr_custom-asset-track' value='5') + input.sheet-track-dropdown-6.sheet-hide(type='checkbox' name='attr_track-dropdown-6') + .sheet-track-dropdown-6.sheet-hide + .sheet-asset-track-wrapper.sheet-custom-track + .sheet-asset-track-box + .sheet-asset-track-box-display 0 + input(type='radio' name='attr_custom-asset-track' value='0') + .sheet-asset-track-box + .sheet-asset-track-box-display + 1 + input(type='radio' name='attr_custom-asset-track' value='1') + .sheet-asset-track-box + .sheet-asset-track-box-display + 2 + input(type='radio' name='attr_custom-asset-track' value='2') + .sheet-asset-track-box + .sheet-asset-track-box-display + 3 + input(type='radio' name='attr_custom-asset-track' value='3') + .sheet-asset-track-box + .sheet-asset-track-box-display + 4 + input(type='radio' name='attr_custom-asset-track' value='4') + .sheet-asset-track-box + .sheet-asset-track-box-display + 5 + input(type='radio' name='attr_custom-asset-track' value='5') + .sheet-asset-track-box + .sheet-asset-track-box-display + 6 + input(type='radio' name='attr_custom-asset-track' value='6') diff --git a/Ironcrunch/src/components/assets/data/paths.pug b/Ironcrunch/src/components/assets/data/paths.pug new file mode 100644 index 0000000000..07037a6ff7 --- /dev/null +++ b/Ironcrunch/src/components/assets/data/paths.pug @@ -0,0 +1,1300 @@ +mixin pathAssets + input.sheet-asset-path.sheet-hide(type='checkbox' name='attr_assetpath') + .sheet-path.sheet-showhide + select.sheet-sub-dropdown.sheet-path-dropdown(name='attr_assetDropdownPath') + option(value='' disabled='' selected='') Select + option(value='alchemist') Alchemist + option(value='animal-kin') Animal-kin + option(value='banner-sworn') Banner-sworn + option(value='battle-scarred') Battle-scarred + option(value='blade-bound') Blade-bound + option(value='bonded') Bonded + option(value='dancer') Dancer + option(value='devotant') Devotant + option(value='empowered') Empowered + option(value='fortune-hunter') Fortune-hunter + option(value='herbalist') Herbalist + option(value='honorbound') Honorbound + option(value='improviser') Improviser + option(value='infiltrator') Infiltrator + option(value='loyalist') Loyalist + option(value='masked') Masked + option(value='oathbreaker') Oathbreaker + option(value='outcast') Outcast + option(value='pretender') Pretender + option(value='revenant') Revenant + option(value='rider') Rider + option(value='ritualist') Ritualist + option(value='shadow-kin') Shadow-kin + option(value='sighted') Sighted + option(value='slayer') Slayer + option(value='spirit-bound') Spirit-bound + option(value='storyweaver') Storyweaver + option(value='trickster') Trickster + option(value='veteran') Veteran + option(value='waterborn') Waterborn + option(value='wayfinder') Wayfinder + option(value='weapon-master') Weaponmaster + option(value='wildblood') Wildblood + option(value='wright') Wright + input.sheet-alchemist.sheet-hide(type='checkbox' name='attr_assetpathdivalchemist') + .sheet-alchemist.sheet-hide + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_alchemist1' checked='') + .sheet-asset-ability + | When you create an elixir, choose an effect: Deftness + | (edge), audacity (heart), vigor (iron), slyness (shadow), or clarity (wits). Then, + | suffer -1 supply and roll +wits. On a + strong strong hit, + | you create a + | single dose. The + | character who consumes the elixir must + em Face Danger + | +iron and score a hit, + | after which they add +1 when making a move with the related stat until their health, + | spirit, or momentum fall below +1. On a + strong weak hit, + | as above, but + | suffer an additional + | -1 supply to create it. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_alchemist2') + .sheet-asset-ability + | As above, and you may choose two effects for a single + | dose, or create two doses of the same effect. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_alchemist3') + .sheet-asset-ability + | When you prepare an elixir, add +1 + | and take +1 momentum on a hit. + input.sheet-animal-kin.sheet-hide(type='checkbox' name='attr_assetpathdivanimal-kin') + .sheet-animal-kin.sheet-hide + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_animalkin1' checked='') + .sheet-asset-ability + | When you make a move to pacify, calm, control, aid, or + | fend off an animal (or an animal or beast companion), add +1 and take +1 momentum on + | a hit. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_animalkin2') + .sheet-asset-ability + | You may add or upgrade an animal or beast companion + | asset for 1 fewer experience. Once you mark all their abilities, you may + em + | Forge a + | Bond + | with them and take an automatic strong hit. When you do, mark a bond + | twice and take 1 experience. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_animalkin3') + .sheet-asset-ability + | Once per fight, when you leverage your animal or beast + | companion to make a move, reroll any dice. On a hit, take +1 momentum. + input.sheet-banner-sworn.sheet-hide(type='checkbox' name='attr_assetpathdivbanner-sworn') + .sheet-banner-sworn.sheet-hide + .sheet-asset-description + .sheet-asset-write-in + | Name: + input.sheet-border-bottom.sheet-no-border(type='text' name='attr_assetpathnameinput' value='') + .sheet-asset-description-text + | Once you mark a bond with a leader or faction... + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_bannersworn1' checked='') + .sheet-asset-ability + | When you + em Swear an Iron Vow + | to serve your + | leader or faction on a mission, you may reroll any dice. When you + em + | Fulfill Your + | Vow + | and mark experience, take +1 experience. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_bannersworn2') + .sheet-asset-ability + | When you + em Sojourn + | or + em Make Camp + | in the + | company of your banner-kin, add +1 and take +1 momentum on a hit + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_bannersworn3') + .sheet-asset-ability + | When you + em Enter the Fray + | bearing your banner, + | add +1 and take +1 momentum on a hit. When you burn momentum while carrying your + | banner in combat, take +1 momentum after you reset. + input.sheet-battle-scarred.sheet-hide(type='checkbox' name='attr_assetpathdivbattle-scarred') + .sheet-battle-scarred.sheet-hide + .sheet-asset-description + .sheet-asset-description-text Once you become maimed... + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_battlescarred1') + .sheet-asset-ability + | You focus your energies: Reduce your edge or iron by 1 + | and add +2 to wits or heart, or +1 to each (to a maximum of +4). + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_battlescarred2') + .sheet-asset-ability + | You overcome your limitations: + | Reduce your maximum health by 1. + | Maimed no longer counts as a debility, + | and does not reduce your maximum + | momentum or reset value. When + | you + em Endure Stress + | +heart, take +1 + | momentum on a strong hit. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_battlescarred3') + .sheet-asset-ability + | You have stared down death before: + | When you are at 0 health and + em + | Endure + | Harm + | , you may roll +wits or +heart + | (instead of +health or +iron). If you + | do, take +1 momentum on a hit. + input.sheet-blade-bound.sheet-hide(type='checkbox' name='attr_assetpathdivblade-bound') + .sheet-blade-bound.sheet-hide + .sheet-asset-description + .sheet-asset-write-in + | Name: + input.sheet-border-bottom.sheet-no-border(type='text' name='attr_assetpathnameinput' value='') + .sheet-asset-description-text + | Once you mark a bond with a kin-blade, a sentient + | weapon imbued with the spirit of your ancestor... + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_bladebound1') + .sheet-asset-ability + | When you + em Enter the Fray + | or + em + | Draw the + | Circle + | while wielding your kin-blade, add +1 and take +1 momentum on a hit. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_bladebound2') + .sheet-asset-ability + | When you + em Gather Information + | by listening to + | the whispers of your kinblade, add +1 and take +2 momentum on a hit. Then, + em Endure Stress + | (2 stress). + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_bladebound3') + .sheet-asset-ability + | When you + em Strike + | with your kin-blade to + | inflict savage harm (decide before rolling), add +1 and inflict +2 harm on a + | hit. Then, + em Endure Stress + | (2 stress). + input.sheet-bonded.sheet-hide(type='checkbox' name='attr_assetpathdivbonded') + .sheet-bonded.sheet-hide + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_bonded1' checked='') + .sheet-asset-ability + | When you make a move which gives you an add for + | sharing + | a bond, add +1 more. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_bonded2') + .sheet-asset-ability + | When you completely fill a box on your bonds + | progress + | track, envision what your relationships have taught you. Then, take 1 experience + | and + | +2 momentum. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_bonded3') + .sheet-asset-ability + | When you make a move in a crucial moment and score + | a + strong miss, + | you may cling to thoughts of your bond-kin for courage or + | encouragement. If + | you do, reroll any dice. On another + strong miss, + | in addition to the + | outcome + | of the move, + | you must mark shaken or corrupted. If both debilities are already marked, + em + | Face + | Desolation + | . + input.sheet-dancer.sheet-hide(type='checkbox' name='attr_assetpathdivdancer') + .sheet-dancer.sheet-hide + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_dancer1' checked='') + .sheet-asset-ability + | When you + em Secure an Advantage + | +edge + | by dancing for an audience, add +1 + | and take +2 momentum on a hit. On a + | strong hit, also add +2 (one time only) + | if you make a move to interact with + | someone in the audience. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_dancer2') + .sheet-asset-ability + | When you + em Face Danger + | +edge in a fight by + | nimbly avoiding your foe’s attacks, add +1 and take +1 momentum on a hit. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_dancer3') + .sheet-asset-ability + | When you or an ally make a progress move and roll a + | hit, you may perform a dance to commemorate the event. If you do, roll +edge. On + | a + strong strong hit, + | you and each of your allies may take +2 momentum + | and +1 + | spirit. On a + strong weak hit, + | you take +1 momentum or +1 spirit, but your allies + | are + | unmoved. + input.sheet-devotant.sheet-hide(type='checkbox' name='attr_assetpathdivdevotant') + .sheet-devotant.sheet-hide + .sheet-asset-description + .sheet-asset-write-in + | God's Name: + input.sheet-border-bottom.sheet-no-border(type='text' name='attr_assetgodsnameinput' value='') + .sheet-asset-write-in + | Stat: + input.sheet-border-bottom.sheet-no-border(type='text' name='attr_assetstatinput' value='') + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_devotant1' checked='') + .sheet-asset-ability + | When you say your daily prayers, you may + em + | Secure + | an + | Advantage + | by asking your god to grant a blessing. If you do, roll +your + | god’s stat. On a hit, take +2 momentum. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_devotant2') + .sheet-asset-ability + | When you + em Swear an Iron Vow + | to serve your + | god + | on a divine quest, you may roll +your god’s stat and reroll any dice. When you + em Fulfill Your Vow + | and mark experience, take +1 experience. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_devotant3') + .sheet-asset-ability + | When you + em Sojourn + | , and spread the word of + | your + | god, you may roll +your god’s stat. If you do, take +1 momentum on a hit. + input.sheet-empowered.sheet-hide(type='checkbox' name='attr_assetpathdivempowered') + .sheet-empowered.sheet-hide + .sheet-asset-description + .sheet-asset-write-in + | Title/Lineage: + input.sheet-border-bottom.sheet-no-border(type='text' name='attr_assettitleinput' value='') + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_empowered1' checked='') + .sheet-asset-ability + | When you + em Sojourn + | and score a weak hit + | or + strong miss, + | you may claim the rights of hospitality warranted by your title or lineage. If + | you + | do, roll all dice again and add +1. On a + strong miss, + | you are refused, + | and + | your presumption + | causes significant new trouble. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_empowered2') + .sheet-asset-ability + | When you exert your title or lineage to + em Compel + | , add +1 and take +1 momentum on a hit. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_empowered3') + .sheet-asset-ability + | When you forgo your title or lineage and + em + | Forge + | a + | Bond + | as an equal, or when you + em Swear an Iron Vow + | to serve + | someone + | of a lower station, add +1 and take +1 momentum or +1 spirit on a hit. + input.sheet-fortune-hunter.sheet-hide(type='checkbox' name='attr_assetpathdivfortune-hunter') + .sheet-fortune-hunter.sheet-hide + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_fortunehunter1' checked='') + .sheet-asset-ability + | When you + em Swear an Iron Vow + | to + | someone under the promise of payment, + | add +1 and give the quest a special mark. + | When you successfully + em Fulfill Your Vow + | to them, take +wealth equal to the rank + | of the quest. If you leverage wealth when + | making a move where resources are a + | factor, add +wealth and suffer -1 wealth. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_fortunehunter2') + .sheet-asset-ability + | When in a community or trading, you may suffer -1 + | wealth and take +2 supply. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_fortunehunter3') + .sheet-asset-ability + | When you + em Resupply + | by scavenging or + | looting, and score a strong hit with + | a match, you may envision finding + | an object of value. If you do, take +1 + | supply (instead of +2) and +1 wealth. + .sheet-asset-track-wrapper + .sheet-asset-track-box + .sheet-asset-track-box-display 0 + input(type='radio' name='attr_assettrack_fortunehunter' value='0') + .sheet-asset-track-box + .sheet-asset-track-box-display + 1 + input(type='radio' name='attr_assettrack_fortunehunter' value='1') + .sheet-asset-track-box + .sheet-asset-track-box-display + 2 + input(type='radio' name='attr_assettrack_fortunehunter' value='2') + .sheet-asset-track-box + .sheet-asset-track-box-display + 3 + input(type='radio' name='attr_assettrack_fortunehunter' value='3') + .sheet-asset-track-box + .sheet-asset-track-box-display + 4 + input(type='radio' name='attr_assettrack_fortunehunter' value='4') + .sheet-asset-track-box + .sheet-asset-track-box-display + 5 + input(type='radio' name='attr_assettrack_fortunehunter' value='5') + input.sheet-herbalist.sheet-hide(type='checkbox' name='attr_assetpathdivherbalist') + .sheet-herbalist.sheet-hide + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_herbalist1' checked='') + .sheet-asset-ability + | When you attempt to + em Heal + | using herbal + | remedies, and you have at least +1 supply, you may choose one (decide before + | rolling). + ul + li Add +2. + li On a hit, take or give an additional +1 health. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_herbalist2') + .sheet-asset-ability + | When you + em Heal + | a companion, ally, or other + | character, and score a hit, take +1 spirit or +1 momentum. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_herbalist3') + .sheet-asset-ability + | When you + em Make Camp + | and choose + | the option to partake, you can create + | a restorative meal. If you do, you and + | your companions take +1 health. Any + | allies who choose to partake also take + | +1 health, and do not suffer -supply. + input.sheet-honorbound.sheet-hide(type='checkbox' name='attr_assetpathdivhonorbound') + .sheet-honorbound.sheet-hide + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_honorbound1' checked='') + .sheet-asset-ability + | When you + em Turn the Tide + | , envision how your + | vows + | give you strength in this moment. Then, when you make your move, add +2 (instead + | of + | +1) and take +1 momentum on a hit. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_honorbound2') + .sheet-asset-ability + | When you + em Secure an Advantage + | or + em Compel + | by telling a hard truth, add +1 and take +1 momentum on a hit. + | On a + | weak hit or + strong miss, + | envision how this truth complicates your + | current + | situation. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_honorbound3') + .sheet-asset-ability + | When you + em Fulfill Your Vow + | and score a + | miss, you may reroll one challenge die. + | If you score a miss again, reduce your + | maximum spirit by 1. You may recover + | this lost spirit when you next + em Fulfill Your Vow + | and score a strong hit. + input.sheet-improviser.sheet-hide(type='checkbox' name='attr_assetpathdivimproviser') + .sheet-improviser.sheet-hide + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_improviser1' checked='') + .sheet-asset-ability + | When you + em Check your Gear + | , you may roll + | +wits + | (instead of +supply). If you do, envision how you make do with a clever + | solution, + | and take +1 momentum on a hit. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_improviser2') + .sheet-asset-ability + | When you + em Secure an Advantage + | or + em + | Face + | Danger + | by cobbling together an ad hoc tool or apparatus, add +1 and + | take +1 + | momentum on a hit. After you roll, you may also suffer -1 supply and add +1 + | more. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_improviser3') + .sheet-asset-ability + | When you throw caution to the wind and make an + | impulsive move in a risky situation, you may add +2. If you do, take +1 momentum + | on + | a + strong strong hit, + | but count a weak hit as a miss. + input.sheet-infiltrator.sheet-hide(type='checkbox' name='attr_assetpathdivinfiltrator') + .sheet-infiltrator.sheet-hide + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_infiltrator1' checked='') + .sheet-asset-ability + | When you make a move to breach, traverse, or hide + | within an area held by an enemy force, add +1 and take +1 momentum on a hit. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_infiltrator2') + .sheet-asset-ability + | When you + em Gather Information + | within an + | enemy + | area to discover their positions, plans, or methods, or when you + em + | Secure an + | Advantage + | within that area through observation, you may roll +shadow + | (instead of +wits). If you do, take +1 momentum on a hit. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_infiltrator3') + .sheet-asset-ability + | When you + em Resupply + | within an enemy area by + | scavenging or looting, you may roll +shadow (instead of +wits). If you do, take + | +1 + | momentum or +1 supply on a hit. + input.sheet-loyalist.sheet-hide(type='checkbox' name='attr_assetpathdivloyalist') + .sheet-loyalist.sheet-hide + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_loyalist1' checked='') + .sheet-asset-ability + | When you + em Aid Your Ally + | , add +1 and take +1 + | momentum on a hit. This is in addition to the benefits taken by your ally. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_loyalist2') + .sheet-asset-ability + | When an ally makes the + em Endure Stress + | move + | in + | your company, they add +1 and you take +1 momentum on a hit. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_loyalist3') + .sheet-asset-ability + | When you stand with your ally as they make a + | progress + | move, envision how you support them. Then, roll one challenge die. On a 1-9, + | your + | ally may replace one of their challenge dice with yours. On a 10, envision how + | you + | inadvertently undermine their action; your ally must replace their lowest + | challenge + | die with yours. + input.sheet-masked.sheet-hide(type='checkbox' name='attr_assetpathdivmasked') + .sheet-masked.sheet-hide + .sheet-asset-description + .sheet-asset-description-text + | Once you mark a bond with elves, and are + | gifted a + | mask of precious elderwood... + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_masked1' checked='') + .sheet-asset-ability + | Choose your mask’s material. + ul + li Thunderwood: Edge / Health + li Bloodwood: Iron / Health + li Ghostwood: Shadow / Spirit + li Whisperwood: Wits / Spirit + | When you wear the mask and make a move which uses its stat, add +1. If you roll + | a 1 + | on your action die, suffer -1 to the associated track (in addition to any other + | outcome of the move). + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_masked2') + .sheet-asset-ability + | As above, and you may instead add +2 and suffer -2 + | (decide before rolling). + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_masked3') + .sheet-asset-ability + | When you + em Face Death + | or + em + | Face + | Desolation + | while wearing the mask, you may roll +its stat (instead of + | +heart). + input.sheet-oathbreaker.sheet-hide(type='checkbox' name='attr_assetpathdivoathbreaker') + .sheet-oathbreaker.sheet-hide + .sheet-asset-description + .sheet-asset-description-text + | Once you + em Forsake a Vow + | ... + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_oathbreaker1' checked='') + .sheet-asset-ability + b This asset counts as a debility. + | One time + | only, + | when you + em Swear an Iron Vow + | to redeem yourself (extreme or greater), + | give + | that vow a special mark. When you + em Reach a Milestone + | on the marked vow, + | take + | +2 momentum. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_oathbreaker2') + .sheet-asset-ability + | When you + em Secure an Advantage + | or + em Compel + | by reaffirming your commitment to your marked vow, add +1 and + | take + | +1 momentum on a hit. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_oathbreaker3') + .sheet-asset-ability + | When you + em Fulfill Your Vow + | on your marked + | quest + | and score a hit, you find redemption and automatically activate this ability at + | no + | cost. You may then improve one of your stats by +1 and + b + | discard this + | asset + | . + input.sheet-outcast.sheet-hide(type='checkbox' name='attr_assetpathdivoutcast') + .sheet-outcast.sheet-hide + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_outcast1' checked='') + .sheet-asset-ability + | When your supply is reduced to 0, suffer any + | remaining + | -supply as -momentum. Then, roll +wits. On a + strong strong hit, + | you + | manage + | to scrape by and + | take +1 supply. On a + strong weak hit, + | you may suffer -2 momentum in + | exchange for +1 supply. + | On a + strong miss, + | you are + em Out of Supply + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_outcast2') + .sheet-asset-ability + | When you + em Sojourn + | , you may reroll any dice. + | If + | you do (decide before your first roll), your needs are few, but your isolation + | sets + | you apart from others. A strong hit counts as a weak hit. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_outcast3') + .sheet-asset-ability + | When you + em Reach Your Destination + | and roll a + strong strong hit, + | you recall or recognize something helpful about + | this + | place. Envision + | what it is, and take +2 momentum. + input.sheet-pretender.sheet-hide(type='checkbox' name='attr_assetpathdivpretender') + .sheet-pretender.sheet-hide + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_pretender1' checked='') + .sheet-asset-ability + | When you establish a false identity, roll +shadow. + | On a + strong strong hit, + | you may add +2 when you make moves using this + | identity + | to deceive or + | influence others. If you roll a 1 on your action die when using your false + | identity, + | someone doubts you. Make appropriate moves to reassure them or prevent them from + | revealing the truth. On a + strong weak hit, + | as above, but add +1 + | (instead + | of +2). + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_pretender2') + .sheet-asset-ability + | As above, and you may roll +shadow (instead of + | +heart) + | when you + em Sojourn + | under your false identity. If you do, take +1 momentum + | on + | a hit. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_pretender3') + .sheet-asset-ability + | When you + em Secure an Advantage + | by revealing + | your + | true identity in a dramatic moment, reroll any dice. + input.sheet-revenant.sheet-hide(type='checkbox' name='attr_assetpathdivrevenant') + .sheet-revenant.sheet-hide + .sheet-asset-description + .sheet-asset-description-text + | Once you + em Face Death + | and return to the + | world of the living... + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_revenant1' checked='') + .sheet-asset-ability + | When you are at 0 health, and + em Endure Harm + | or + em Face Death + | , add +1. If you then burn momentum to improve your result, + | envision what bond or vow binds you to this world, and take +2 momentum after + | you + | reset. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_revenant2') + .sheet-asset-ability + | When you make a move to investigate, oppose, or + | interact with a horror, spirit, or other undead being, add +1. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_revenant3') + .sheet-asset-ability + | When you bring death to your foe to + em + | End the + | Fight + | , you may burn momentum to cancel one (not both) of the challenge + | dice + | if your momentum is greater than the value of that die. If you do, + em + | Endure + | Stress + | (2 stress). + input.sheet-rider.sheet-hide(type='checkbox' name='attr_assetpathdivrider') + .sheet-rider.sheet-hide + .sheet-asset-description + .sheet-asset-description-text If you are with your horse companion... + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_rider1' checked='') + .sheet-asset-ability + | When you + em Heal + | your horse, or when you + em + | Face + | Danger + | to calm or encourage it, add +1 and take +1 momentum on a hit. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_rider2') + .sheet-asset-ability + | When you + em Undertake a Journey + | , you may push + | your horse harder and add +1 (after rolling). If you do, make the + em + | Companion + | Endure Harm + | move (1 harm). + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_rider3') + .sheet-asset-ability + | When you + em Secure an Advantage + | +wits by + | sizing + | up a perilous situation from the saddle, you are one with your horse’s + | instincts. + | Add +1 and take +1 momentum on a hit. + input.sheet-ritualist.sheet-hide(type='checkbox' name='attr_assetpathdivritualist') + .sheet-ritualist.sheet-hide + .sheet-asset-description + .sheet-asset-description-text + | Once you + em Fulfill Your Vow + | (formidable + | or + | greater) in service to an elder mystic, and + em Forge a Bond + | to train with + | them... + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_ritualist1' checked='') + .sheet-asset-ability + | When you + em Secure an Advantage + | to ready + | yourself + | for a ritual, envision how you prepare. Then, add +1 and take +1 momentum on a + | hit. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_ritualist2') + .sheet-asset-ability + | When you perform a ritual, you may suffer -1 supply + | and + | add +1 (decide before rolling). + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_ritualist3') + .sheet-asset-ability + | When you tattoo the essence of a new ritual onto + | your + | skin, envision the mark you create. You may then purchase and upgrade that + | ritual + | asset for 1 fewer experience. + input.sheet-shadow-kin.sheet-hide(type='checkbox' name='attr_assetpathdivshadow-kin') + .sheet-shadow-kin.sheet-hide + .sheet-asset-description + .sheet-asset-description-text Once you become corrupted... + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_shadowkin1') + .sheet-asset-ability + | You harden your heart: Reduce your heart stat by 1 + | and + | add up to +2 to shadow (to a maximum of +4). + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_shadowkin2') + .sheet-asset-ability + | You are attuned to the realms of shadow: When you + | perform a ritual, add +1. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_shadowkin3') + .sheet-asset-ability + | You know the sly ways of death: When you + em + | Face + | Death + | , you may roll +shadow (instead of +heart). You may also suffer -1 + | momentum and add +1 (decide before rolling). + input.sheet-sighted.sheet-hide(type='checkbox' name='attr_assetpathdivsighted') + .sheet-sighted.sheet-hide + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_sighted1' checked='') + .sheet-asset-ability + | When you + em Face Danger + | or + em + | Gather + | Information + | to identify or detect mystic forces, add +1 and take +1 + | momentum on a hit. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_sighted2') + .sheet-asset-ability + | When you + em Compel + | , + em Forge a Bond + | , or + em Test Your Bond + | with a fellow mystic or mystical being, add +1 and take + | +1 + | momentum on a hit. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_sighted3') + .sheet-asset-ability + | When you + em Secure an Advantage + | by studying + | someone or something in a charged situation, add +1 and take +1 momentum on a + | hit. + | When you also pierce the veil to explore deeper truths (decide before rolling), + | you + | may reroll any dice. If you do, count a weak hit as a miss. + input.sheet-slayer.sheet-hide(type='checkbox' name='attr_assetpathdivslayer') + .sheet-slayer.sheet-hide + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_slayer1' checked='') + .sheet-asset-ability + | When you + em Gather Information + | by tracking a + | beast or horror, or when you + em Secure an Advantage + | by readying yourself + | for a + | fight against them, add +1 and take +1 momentum on a hit. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_slayer2') + .sheet-asset-ability + | When you + em Swear an Iron Vow + | to slay a beast + | or + | horror, you may reroll any dice. When you + em Fulfill Your Vow + | and mark + | experience, take +1 experience. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_slayer3') + .sheet-asset-ability + | When you slay a beast or horror (at least + | formidable), + | you may take a trophy and choose one. + ul + li + | Power a ritual: When you or an ally make a ritual move, reroll any dice + | (one + | time only). + li + | Prove your worth: When you + em Sojourn + | , reroll any dice (one time + | only). + input.sheet-spirit-bound.sheet-hide(type='checkbox' name='attr_assetpathdivspirit-bound') + .sheet-spirit-bound.sheet-hide + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_spiritbound1' checked='') + .sheet-asset-ability + | You are haunted by someone whose death you caused + | through your actions or failures. When you consult with their spirit to + em + | Secure + | an Advantage + | or + em Gather Information + | , add +1 and take +2 + | momentum on + | a hit. On a + strong weak hit, + | also + em Endure Stress + | (1 stress). + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_spiritbound2') + .sheet-asset-ability + | When you + em Face Death + | guided by the spirit, + | add + | +1. On a + strong strong hit, + | envision what you learn and take 1 + | experience. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_spiritbound3') + .sheet-asset-ability + | One time only, when you successfully + em + | Fulfill + | Your + | Vow + | (formidable or greater) in service to the spirit, choose one. + ul + li + | Let them go: Take 2 experience for each marked ability and discard this + | asset. + li Deepen your connection: Add +1 more when you leverage this asset. + input.sheet-storyweaver.sheet-hide(type='checkbox' name='attr_assetpathdivstoryweaver') + .sheet-storyweaver.sheet-hide + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_storyweaver1' checked='') + .sheet-asset-ability + | When you + em Secure an Advantage + | , + em Compel + | , + | or + em Forge a Bond + | by sharing an inspiring or enlightening song, poem, or + | tale, envision the story you tell. Then, add +1 and take +1 momentum on a hit. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_storyweaver2') + .sheet-asset-ability + | When you + em Make Camp + | and choose the option + | to + | relax, you may share a story with your allies or compose a new story if alone. + | If + | you do, envision the story you tell and take +1 spirit or +1 momentum. Any + | allies + | who choose to relax in your company may also take +1 spirit or +1 momentum. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_storyweaver3') + .sheet-asset-ability + | When you + em Sojourn + | within a community with + | which + | you share a bond, add +2 (instead of +1). + input.sheet-trickster.sheet-hide(type='checkbox' name='attr_assetpathdivtrickster') + .sheet-trickster.sheet-hide + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_trickster1' checked='') + .sheet-asset-ability + | When you + em Face Danger + | , + em + | Secure an + | Advantage + | , or + em Compel + | by lying, bluffing, stealing, or + | cheating, + | add +1. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_trickster2') + .sheet-asset-ability + | When you + em Gather Information + | by + | investigating a + | devious scheme, you may roll +shadow (instead of +wits). If you do, take +2 + | momentum + | on a hit. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_trickster3') + .sheet-asset-ability + | When you + em Forge a Bond + | for a relationship + | founded on a lie, choose one. + ul + li Keep your secret: Roll +shadow (instead of +heart). + li + | Reveal the truth: Roll +heart. On a strong hit, mark a bond twice and + | take 1 experience. A weak hit counts as a miss. + input.sheet-veteran.sheet-hide(type='checkbox' name='attr_assetpathdivveteran') + .sheet-veteran.sheet-hide + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_veteran1' checked='') + .sheet-asset-ability + | When you burn momentum to + | improve your result in combat, envision + | how your hard-won fighting experience + | gives you the upper hand. Then, take + | +1 momentum after you reset, and add + | +1 when you make your next move. + | Once per fight, you also take initaitive + | when burning momentum to improve a + | miss to a weak hit. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_veteran2') + .sheet-asset-ability + | When you + em Swear an Iron Vow + | to someone who + | fought beside you, or + em Forge a Bond + | with them, add +2 and take +2 + | momentum + | on a hit. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_veteran3') + .sheet-asset-ability + | When you + em Resupply + | by looting the dead on a + | field of + em Battle + | , add +1 and take +1 momentum on a hit. + input.sheet-waterborn.sheet-hide(type='checkbox' name='attr_assetpathdivwaterborn') + .sheet-waterborn.sheet-hide + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_waterborn1' checked='') + .sheet-asset-ability + | When you + em Face Danger + | , + em + | Gather + | Information + | , or + em Secure an Advantage + | related to your knowledge + | of + | watercraft, water travel, or aquatic environments or creatures, add +1 and take + | +1 + | momentum on a hit. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_waterborn2') + .sheet-asset-ability + | When you + em Undertake a Journey + | by boat or + | ship, + | add +1. On a + strong strong hit, + | also choose one. + ul + li The wind is at your back: Mark progress twice. + li + | Find safe anchor: + em Make Camp + | now and reroll any dice. + li + | Reap the bounty: + em Resupply + | now and reroll any dice. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_waterborn3') + .sheet-asset-ability + | When you + em Enter the Fray + | aboard a boat or + | ship, + | reroll any dice. + input.sheet-wayfinder.sheet-hide(type='checkbox' name='attr_assetpathdivwayfinder') + .sheet-wayfinder.sheet-hide + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_wayfinder1' checked='') + .sheet-asset-ability + | When you + em Undertake a Journey, + | take + | +1 momentum on a strong hit. If you + | burn momentum to improve your + | result, also take +1 momentum after + | you reset + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_wayfinder2') + .sheet-asset-ability + | When you + em Secure an Advantage + | or + em + | Gather + | Information + | by carefully surveying the landscape or scouting ahead, add + | +1 + | and take +1 momentum on a hit. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_wayfinder3') + .sheet-asset-ability + | When you + em Swear an Iron Vow + | to safely guide + | someone on a perilous journey, you may reroll any dice. When you + em + | Fulfill + | Your + | Vow + | and mark experience, take +1 experience. + input.sheet-weapon-master.sheet-hide(type='checkbox' name='attr_assetpathdivweapon-master') + .sheet-weapon-master.sheet-hide + .sheet-asset-description + .sheet-asset-description-text + | Once you + em Fulfill Your Vow + | (formidable + | or + | greater) in service to a seasoned warrior, and + em Forge a Bond + | to train with + | them... + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_weaponmaster1' checked='') + .sheet-asset-ability + | When you + em Secure an Advantage + | by sizing up + | your + | foe in a fight, or in a charged situation which may lead to a fight, add +1 and + | take + | +1 momentum on a hit. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_weaponmaster2') + .sheet-asset-ability + | When you study or train in a new weapon or + | technique, + | you may obtain and upgrade that combat talent for 1 fewer experience. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_weaponmaster3') + .sheet-asset-ability + | When you + em Turn the Tide + | with a sudden + | change of + | weapon or technique, and your next move is a + em Strike + | , you may add +1 and + | inflict +2 harm on a strong hit. + input.sheet-wildblood.sheet-hide(type='checkbox' name='attr_assetpathdivwildblood') + .sheet-wildblood.sheet-hide + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_wildblood1' checked='') + .sheet-asset-ability + | When you + em Face Danger + | , + em + | Secure an + | Advantage + | , or + em Gather Information + | using your knowledge of + | tracking, + | woodcraft, or woodland creatures, add +1. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_wildblood2') + .sheet-asset-ability + | When you + em Face Danger + | or + em + | Secure an + | Advantage + | by hiding or sneaking in the woodlands, add +1 and take +1 + | momentum on a hit. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_wildblood3') + .sheet-asset-ability + | When you + em Make Camp + | in the woodlands, you + | may + | roll +wits (instead of +supply). If you do, you and your allies may each choose + | 1 + | more option on a hit. + input.sheet-wright.sheet-hide(type='checkbox' name='attr_assetpathdivwright') + .sheet-wright.sheet-hide + .sheet-asset-description + .sheet-asset-write-in + | Specialty: + input.sheet-border-bottom.sheet-no-border(type='text' name='attr_assetspecialityinput' value='') + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_wright1' checked='') + .sheet-asset-ability + | When you + em Secure an Advantage + | by crafting a + | useful item using your specialty, or when you + em Face Danger + | to create or + | repair an item in a perilous situation, add +1 and take +1 momentum on a hit + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_wright2') + .sheet-asset-ability + | As above, and you may suffer -1 supply (after you + | roll) + | to add an additional +1 + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_wright3') + .sheet-asset-ability + | When you give the item you create as a gift to + | commemorate an important event or relationship, you may (one time only) reroll + | any + | dice when you + em Compel + | , + em Forge a Bond + | , or + em Test Your Bond + | . diff --git a/Ironcrunch/src/components/assets/data/rituals.pug b/Ironcrunch/src/components/assets/data/rituals.pug new file mode 100644 index 0000000000..3855765509 --- /dev/null +++ b/Ironcrunch/src/components/assets/data/rituals.pug @@ -0,0 +1,724 @@ +mixin ritualAssets + input.sheet-asset-ritual.sheet-hide(type='checkbox' name='attr_assetritual') + .sheet-ritual.sheet-showhide + select.sheet-sub-dropdown(name='attr_assetdropdownritual') + option(value='' disabled='' selected='') Select + option(value='augur') Augur + option(value='awakening') Awakening + option(value='bind') Bind + option(value='communion') Communion + option(value='divination') Divination + option(value='invoke') Invoke + option(value='keen') Keen + option(value='leech') Leech + option(value='lightbearer') Lightbearer + option(value='scry') Scry + option(value='shadow-walk') Shadow-walk + option(value='sway') Sway + option(value='talisman') Talisman + option(value='tether') Tether + option(value='totem') Totem + option(value='visage') Visage + option(value='ward') Ward + input.sheet-augur.sheet-hide(type='checkbox' name='attr_assetritualdivaugur') + .sheet-augur.sheet-hide + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_augur1' checked='') + .sheet-asset-ability + | When you summon a flock of crows and ask a single + | question, roll +wits. On a + strong strong hit, + | you interpret their + | calls as + | a helpful omen. + | Envision the response ( + em Ask the Oracle + | if unsure) and take +2 momentum. + | On a + strong weak hit, + | the crows ignore your question and offer a clue to an + | unrelated problem or + | opportunity in this area. Envision what you learn ( + em Ask the Oracle + | if + | unsure), and take +1 momentum. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_augur2') + .sheet-asset-ability(name='attr_assetability2') + | As above, and the crows + | will also help + | guide you on the proper path. On a + | hit, add +1 on the next segment when + | you + em Undertake a Journey + | . + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_augur3') + .sheet-asset-ability + | When you perform this ritual, add +1 and take +1 + | momentum on a hit. + input.sheet-awakening.sheet-hide(type='checkbox' name='attr_assetritualdivawakening') + .sheet-awakening.sheet-hide + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_awakening1' checked='') + .sheet-asset-ability + | When you create a simulacrum, roll +heart. On a + | strong + | hit, your creation is given unnatural life. If it aids you as you make a move to + | assault or overcome an obstacle through strength, add +2. It has 3 health and + | suffers harm as appropriate, but is not a companion and may not be healed. At 0 + | health, it is dead. On a + strong weak hit, + | as above, but if you roll a + | 1 on + | your action die + | when aided by your creation, you must + em Face Danger + | +heart to keep it + | from + | turning on you (as a formidable foe). + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_awakening2') + .sheet-asset-ability(name='attr_assetability2') + | Your simulacrum has 6 + | health. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_awakening3') + .sheet-asset-ability + | When you perform this ritual, add +1 and take +1 + | momentum on a hit. + .sheet-asset-track-wrapper + .sheet-asset-track-box + .sheet-asset-track-box-display 0 + input(type='radio' name='attr_assettrack_awakening' value='0') + .sheet-asset-track-box + .sheet-asset-track-box-display + 1 + input(type='radio' name='attr_assettrack_awakening' value='1') + .sheet-asset-track-box + .sheet-asset-track-box-display + 2 + input(type='radio' name='attr_assettrack_awakening' value='2') + .sheet-asset-track-box + .sheet-asset-track-box-display + 3 + input(type='radio' name='attr_assettrack_awakening' value='3') + .sheet-asset-track-box + .sheet-asset-track-box-display + 4 + input(type='radio' name='attr_assettrack_awakening' value='4') + .sheet-asset-track-box + .sheet-asset-track-box-display + 5 + input(type='radio' name='attr_assettrack_awakening' value='5') + .sheet-asset-track-box + .sheet-asset-track-box-display + 6 + input(type='radio' name='attr_assettrack_awakening' value='6') + input.sheet-bind.sheet-hide(type='checkbox' name='attr_assetritualdivbind') + .sheet-bind.sheet-hide + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_bind1' checked='') + .sheet-asset-ability + | When you wear an animal pelt and dance in + | moonlight, + | roll +wits. On a + strong strong hit, + | you or an ally may wear the pelt + | and + | add +1 when making + | moves with the related stat (wolf-edge; bear-iron; deer-heart; fox-shadow; + | boar-wits). If the wearer rolls a 1 on their action die while making a move + | using + | the pelt, the magic is spent. On a + strong weak hit, + | as above, but the + | wilds call as you + | dance; + em Endure Stress + | (2 stress). + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_bind2') + .sheet-asset-ability(name='attr_assetability2') + | As above, and you may + | instead + | perform this ritual wearing the pelt of a beast. If you do, name the related + | stat + | and add +2 (instead of +1). + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_bind3') + .sheet-asset-ability + | When you perform this ritual, add +1 and take +1 + | momentum on a hit. + input.sheet-communion.sheet-hide(type='checkbox' name='attr_assetritualdivcommunion') + .sheet-communion.sheet-hide + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_communion1' checked='') + .sheet-asset-ability + | When you surround the remains of a recently + | deceased + | intelligent creature with lit candles, and summon its spirit, roll +heart. Add + | +1 if + | you share a bond. On a + strong strong hit, + | the spirit appears and you + | may + | converse for a few + | minutes. Make moves as appropriate (add +1). On a + strong weak hit, + | as + | above, but the spirit + | also delivers troubling news unrelated to your purpose. Envision what it tells + | you + | ( + em Ask the Oracle + | if unsure) and + em Endure Stress + | (1 stress). + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_communion2') + .sheet-asset-ability(name='attr_assetability2') + | As above, and you may + | also + | commune with the long-dead. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_communion3') + .sheet-asset-ability + | When you perform this ritual, add +1 and take +1 + | momentum on a hit. + input.sheet-divination.sheet-hide(type='checkbox' name='attr_assetritualdivdivination') + .sheet-divination.sheet-hide + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_divination1' checked='') + .sheet-asset-ability + | When you take a drop of blood from a willing + | subject + | (not yourself) and cast the rune-carved stones, roll +heart. On a + strong + | strong + | hit, + | you + | may read the runes to + em Gather Information + | about the subject and people + | close + | to them, including insight you and the subject have no knowledge of. If you do, + | add + | +1. On a + strong weak hit, + | as above, but the answers are revealed only + | with + | extra time and + | focus; suffer -2 momentum. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_divination2') + .sheet-asset-ability(name='attr_assetability2') + | As above, and your + | divination + | can also reveal information about the subject’s future. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_divination3') + .sheet-asset-ability + | When you perform this ritual, add +1 and take +1 + | momentum on a hit. + input.sheet-invoke.sheet-hide(type='checkbox' name='attr_assetritualdivinvoke') + .sheet-invoke.sheet-hide + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_invoke1' checked='') + .sheet-asset-ability + | When you consume the mystical essence of your + | surroundings, roll +wits. On a + strong strong hit, + | add the value of + | your + | action die to your + | essence track (max 6). You may then + em Secure an Advantage + | or + em + | Face + | Danger + | +essence to create minor mystical effects or illusions. If you + | do, + | suffer -1 essence and take +1 momentum on a hit. On a + strong weak hit, + | as + | above, but + | capturing these energies is harrowing; + em Endure Stress + | (2 stress). + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_invoke2') + .sheet-asset-ability(name='attr_assetability2') + | You may + em Compel + | +essence (and suffer -1 essence) through a show of power. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_invoke3') + .sheet-asset-ability + | When you perform this ritual, add +1 and take +1 + | essence on a hit. + .sheet-asset-track-wrapper + .sheet-asset-track-box + .sheet-asset-track-box-display 0 + input(type='radio' name='attr_assettrack_invoke' value='0') + .sheet-asset-track-box + .sheet-asset-track-box-display + 1 + input(type='radio' name='attr_assettrack_invoke' value='1') + .sheet-asset-track-box + .sheet-asset-track-box-display + 2 + input(type='radio' name='attr_assettrack_invoke' value='2') + .sheet-asset-track-box + .sheet-asset-track-box-display + 3 + input(type='radio' name='attr_assettrack_invoke' value='3') + .sheet-asset-track-box + .sheet-asset-track-box-display + 4 + input(type='radio' name='attr_assettrack_invoke' value='4') + .sheet-asset-track-box + .sheet-asset-track-box-display + 5 + input(type='radio' name='attr_assettrack_invoke' value='5') + .sheet-asset-track-box + .sheet-asset-track-box-display + 6 + input(type='radio' name='attr_assettrack_invoke' value='6') + input.sheet-keen.sheet-hide(type='checkbox' name='attr_assetritualdivkeen') + .sheet-keen.sheet-hide + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_keen1' checked='') + .sheet-asset-ability + | When you hold a weapon and sing a keen for those it + | has + | killed, roll +heart. On a + strong strong hit, + | the wielder inflicts +1 + | harm + | when they + em Strike + | or + em Clash + | . If they roll a 1 on their action die when + | making + | a move to inflict harm, the magic is spent. On a + strong weak hit, + | as + | above, but the voices + | of those who were slain join in your song; + em Endure Stress + | (2 stress). + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_keen2') + .sheet-asset-ability(name='attr_assetability2') + | As above, and the wielder + | may + | also (one time only) add +1 and take +2 momentum on a hit when they + em + | Draw the + | Circle + | , + em Enter the Fray + | , or + em Battle + | . + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_keen3') + .sheet-asset-ability + | When you perform this ritual, add +1 and take +1 + | momentum on a hit. + input.sheet-leech.sheet-hide(type='checkbox' name='attr_assetritualdivleech') + .sheet-leech.sheet-hide + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_leech1' checked='') + .sheet-asset-ability + | When you mark your hands or weapon with an + | intricate + | blood rune, roll +iron. On a + strong strong hit, + | the rune thirsts for + | fresh + | blood. One time + | only, when you make a move to inflict harm, reroll any dice and inflict +2 harm + | on a + | hit. Then, for each point of harm inflicted, take +1 and allocate it as +health + | or + | +momentum. On a + strong weak hit, + | as above, but this asset counts as a + | debility until the + | rune’s thirst is quenched. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_leech2') + .sheet-asset-ability(name='attr_assetability2') + | As above, and you may + | also + | touch an ally or companion and let them take +1 health or momentum for each + | unallocated point. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_leech3') + .sheet-asset-ability + | When you perform this ritual, add +1 and take +1 + | momentum on a hit. + input.sheet-lightbearer.sheet-hide(type='checkbox' name='attr_assetritualdivlightbearer') + .sheet-lightbearer.sheet-hide + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_lightbearer1' checked='') + .sheet-asset-ability + | When you focus on a source of light and capture its + | essence, roll +wits. On a + strong strong hit, + | set your light track to + | +6. + | On a + strong weak hit, + | make it +3. Then, when you make a move to overcome or navigate darkness, you may + | add + | +2 and suffer -1 light. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_lightbearer2') + .sheet-asset-ability(name='attr_assetability2') + | You may use your light to + em Strike + | or + em Clash + | against a dark-dwelling foe. Choose the amount + | of + | light to unleash, and roll +light (instead of +iron or +edge). Suffer -light + | equal + | to that amount. On a hit, your harm is 1+your unleashed light. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_lightbearer3') + .sheet-asset-ability + | When you perform this ritual, add +1 and take +1 + | momentum on a hit. + .sheet-asset-track-wrapper + .sheet-asset-track-box + .sheet-asset-track-box-display 0 + input(type='radio' name='attr_assettrack_lightbearer' value='0') + .sheet-asset-track-box + .sheet-asset-track-box-display + 1 + input(type='radio' name='attr_assettrack_lightbearer' value='1') + .sheet-asset-track-box + .sheet-asset-track-box-display + 2 + input(type='radio' name='attr_assettrack_lightbearer' value='2') + .sheet-asset-track-box + .sheet-asset-track-box-display + 3 + input(type='radio' name='attr_assettrack_lightbearer' value='3') + .sheet-asset-track-box + .sheet-asset-track-box-display + 4 + input(type='radio' name='attr_assettrack_lightbearer' value='4') + .sheet-asset-track-box + .sheet-asset-track-box-display + 5 + input(type='radio' name='attr_assettrack_lightbearer' value='5') + .sheet-asset-track-box + .sheet-asset-track-box-display + 6 + input(type='radio' name='attr_assettrack_lightbearer' value='6') + input.sheet-scry.sheet-hide(type='checkbox' name='attr_assetritualdivscry') + .sheet-scry.sheet-hide + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_scry1' checked='') + .sheet-asset-ability + | When you look into flames to study a remote person + | or + | location, roll +shadow. You or someone with you must have knowledge of the + | target. + | On a + strong strong hit, + | you may + em Gather Information + | through + | observation using + | +shadow or +wits. On a + strong weak hit, + | as above, but the flames are + | hungry; choose one to + | sacrifice. + ul + li + | Your blood: + em Endure Harm + | (2 harm). + li + | Something precious: + em Endure Stress + | (2 stress). + li Provisions: Suffer -2 supply. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_scry2') + .sheet-asset-ability(name='attr_assetability2') + | As above, and you may + | instead study a + | past event. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_scry3') + .sheet-asset-ability + | When you perform this ritual, add +1 and take +1 + | momentum on a hit. + input.sheet-shadow-walk.sheet-hide(type='checkbox' name='attr_assetritualdivshadow-walk') + .sheet-shadow-walk.sheet-hide + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_shadowwalk1' checked='') + .sheet-asset-ability + | When you cloak yourself with the gossamer veil of + | the + | shadow realms, roll +shadow. On a + strong strong hit, + | take +1 momentum. + | Then, reroll any + | dice (one time only) when you make a move by ambushing, hiding, or sneaking. On + | a + strong weak hit, + | as above, but the shadows try to lead you astray. You + | must first + em + | Face + | Danger + | to find your way. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_shadowwalk2') + .sheet-asset-ability(name='attr_assetability2') + | As above, and you may + | also + | travel along the hidden paths of the shadow realms to + em + | Undertake a + | Journey + | using +shadow (instead of +wits). If you do, + em Endure Stress + | (1 stress) + | and + | mark progress twice on a strong hit. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_shadowwalk3') + .sheet-asset-ability + | When you perform this ritual, add +1 and take +1 + | momentum on a hit. + input.sheet-sway.sheet-hide(type='checkbox' name='attr_assetritualdivsway') + .sheet-sway.sheet-hide + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_sway1' checked='') + .sheet-asset-ability + | When you speak a person’s name three times to the + | wind, + | roll +wits. On a + strong strong hit, + | the wind whispers of this person’s + | need. Envision what + | you hear ( + em Ask the Oracle + | if unsure). If you use this information or + | fulfill + | this need when you + em Compel + | them, you may reroll any dice (one time + | only). On + | a + strong weak hit, + | as above, but this person’s need creates a + | troubling + | dilemma or + | complication; + em Endure Stress + | (1 stress). + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_sway2') + .sheet-asset-ability(name='attr_assetability2') + | As above, and if you roll + | a + | strong hit when you + em Compel + | , you may also reroll any dice (one time + | only) + | when you + em Gather Information + | from this person. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_sway3') + .sheet-asset-ability + | When you perform this ritual, add +1 and take +1 + | momentum on a hit. + input.sheet-talisman.sheet-hide(type='checkbox' name='attr_assetritualdivtalisman') + .sheet-talisman.sheet-hide + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_talisman1' checked='') + .sheet-asset-ability + | When you fashion a charm, envision it and name the + | specific person or creature it protects against. Then roll +wits. On a + strong strong hit, + | when the wearer opposes the target through a move, add +2. If a 1 is rolled on + | the + | action die while making a move using the charm, the magic is spent. On a + strong weak hit, + | as above, but the wearer adds +1 when making a move (instead of +2). + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_talisman2') + .sheet-asset-ability(name='attr_assetability2') + | As above, and you may + | instead + | fashion a charm which aids the wearer against all supernatural threats, such as + | mystic rituals or horrors. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_talisman3') + .sheet-asset-ability + | When you perform this ritual, add +1 and take +1 + | momentum on a hit. + input.sheet-tether.sheet-hide(type='checkbox' name='attr_assetritualdivtether') + .sheet-tether.sheet-hide + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_tether1' checked='') + .sheet-asset-ability + | When you commune with the spirits of a place, roll + | +heart. If you share a bond with someone there, add +1. On a + strong + | strong + | hit, + | you are + | tethered. When you + em Undertake a Journey + | to return, you may roll +spirit + | or + | +heart (instead of +wits), and take +1 momentum on a hit. When you + em + | Reach + | Your + | Destination + | , take +2 momentum on a strong hit. The tether is lost if + | you + | perform this ritual elsewhere, or when you + em Face Desolation + | . On a + strong weak hit, + | as above, but the spirits reveal a disturbing aspect of the place; + em + | Endure + | Stress + | (2 stress). + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_tether2') + .sheet-asset-ability(name='attr_assetability2') + | As above, and you may + | also + | reroll any dice when you + em Sojourn + | in the tethered place. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_tether3') + .sheet-asset-ability + | When you perform this ritual, add +1 and take +1 + | momentum on a hit. + input.sheet-totem.sheet-hide(type='checkbox' name='attr_assetritualdivtotem') + .sheet-totem.sheet-hide + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_totem1' checked='') + .sheet-asset-ability + | When you hold a totem of your animal + | or beast companion and focus on it, + | roll +heart. On a strong hit, you are + | bound together. Add +1 and take + | +1 momentum on a hit when you + | use a companion ability. If you roll + | a 1 on your action die when using a + | companion ability, the magic is spent. + | On a weak hit, as above, but creating + | this connection is unsettling; + em Endure Stress + | (1 stress). + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_totem2') + .sheet-asset-ability(name='attr_assetability2') + | As above, and you may + | also + | perceive the world through your companion’s senses while you make moves aided by + | them (even when you are apart). + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_totem3') + .sheet-asset-ability + | When you perform this ritual, add +1 and take +1 + | momentum on a hit. + input.sheet-visage.sheet-hide(type='checkbox' name='attr_assetritualdivvisage') + .sheet-visage.sheet-hide + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_visage1' checked='') + .sheet-asset-ability + | When you paint yourself in blood and ash, roll + | +wits. + | On a + strong strong hit, + | you may add +2 and take +1 momentum on a hit + | when + | you + em + | Secure an + | Advantage + | or + em Compel + | using fear or intimidation. If you roll a + | 1 on + | your action die when making a move aided by your visage, the magic is spent. On + | a + strong weak hit, + | as above, but the blood must be your own; + em + | Endure + | Harm + | (2 harm). + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_visage2') + .sheet-asset-ability(name='attr_assetability2') + | As above, and you may + | also + | add +1 when you + em Strike + | , + em Clash + | , or + em Battle + | . + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_visage3') + .sheet-asset-ability + | When you perform this ritual, add +1 and take +1 + | momentum on a hit. + input.sheet-ward.sheet-hide(type='checkbox' name='attr_assetritualdivward') + .sheet-ward.sheet-hide + .sheet-flex-wrapper + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_ward1' checked='') + .sheet-asset-ability + | When you walk a wide circle, sprinkling the ground + | with + | salt, roll +wits. On a + strong strong hit, + | choose two. On a + strong + | weak + | hit, + | chose one. + ul + li When a foe first crosses the boundary, take +1 momentum. + li + | When you first inflict harm against a foe within the boundary, inflict + | +1 + | harm. + li + | Your ward is ‘likely’ ( + em Ask the Oracle + | ) to trap a foe within the + | boundary. + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_ward2') + .sheet-asset-ability(name='attr_assetability2') + | As above, and improve the + | effect of your ward (+2 momentum, +2 harm, and ‘almost certain’). + .sheet-flex-container + input.sheet-asset-ability(type='checkbox' name='attr_assetcheckbox_ward3') + .sheet-asset-ability + | When you perform this ritual, add +1 and take +1 + | momentum on a hit. diff --git a/Ironcrunch/src/components/bonds/bonds.pug b/Ironcrunch/src/components/bonds/bonds.pug new file mode 100644 index 0000000000..cc16073ad8 --- /dev/null +++ b/Ironcrunch/src/components/bonds/bonds.pug @@ -0,0 +1,31 @@ +//- + Generates a repeating fieldset for bonds. + Expands when clicking the DETAILS label. + + @mixin + @outputs repeating html fieldset + + @memberof components/bonds + +mixin bonds() + .sheet-bond-component + fieldset.repeating_bonds + .sheet-bond-container + p.sheet-bond-title NAME: + input.sheet-border-bottom.sheet-bond-name(type='text' name='attr_bond-name' placeholder='Name') + label.sheet-btn.sheet-details-btn + input.sheet-hide.sheet-btn-input(type='checkbox' name='attr_details_button') + .sheet-btn-content DETAILS + + input.sheet-hide.sheet-show-bond-info(type='checkbox' name='attr_details') + .sheet-show-bond-info.sheet-showhide + .sheet-full-width + p.sheet-bond-title LOCATION: + input.sheet-bond-location.sheet-border-bottom(type='text' name='attr_bond-location' placeholder='Location') + .sheet-full-width + p.sheet-bond-title DESCRIPTORS: + input.sheet-bond-descriptors.sheet-border-bottom(type='text' name='attr_bond-descriptors' placeholder='Descriptors') + .sheet-full-width + p.sheet-bond-title.sheet-bond-notes-title(style='border-radius: 0.3em 0.3em 0em 0em') + | NOTES + textarea.sheet-bond-notes(name='attr_bond-notes') \ No newline at end of file diff --git a/Ironcrunch/src/components/bonds/bonds.styl b/Ironcrunch/src/components/bonds/bonds.styl new file mode 100644 index 0000000000..27215f91b5 --- /dev/null +++ b/Ironcrunch/src/components/bonds/bonds.styl @@ -0,0 +1,102 @@ +.sheet-bonds-track + width 437px + margin-left 203px + margin-top 0.5em + +.sheet-bonds + margin-bottom 0px + +.sheet-bond-component + margin-top 1em + +.sheet-bond + display flex + flex-direction column + justify-content center + align-items center + +.sheet-bond-container + border 2px solid #4C4D4F + border-radius 1em + margin-bottom 1em + padding 1em + +.sheet-bond-notes + width 99% + +.sheet-bond-name, +.sheet-bond-location, +.sheet-bond-descriptors + border none + border-radius 0em + background transparent + padding 0 + padding-left 0.5em + +.sheet-bond-descriptors + width 43% + +.sheet-bond-location + width 40% + +p + &.sheet-bond-title + text-align left + font-weight bold + margin 0 0 0px + padding 0.1em 0.3em 0.3em 0.5em + text-transform uppercase + std-font() + display inline + background #4c4d4f + color #fff + border-radius 0.3em 0em 0em 0.3em + +.sheet-details-btn + display flex + width auto + margin 0.5em 0em 0em 0em + height auto + padding 0 + +.sheet-bond-name::placeholder, +.sheet-bond-location::placeholder, +.sheet-bond-descriptors::placeholder + color #8a8a8a + +input[type="checkbox"].sheet-show-bond-info + width 4.5em + height 18px + top 0 + opacity 0 + border-radius 4px + padding 2px 4px + &:checked + & ~ div + &.sheet-show-bond-info + display flex + flex-flow row wrap + show-hide() + & ~ span + &.sheet-show-bond-info + border-radius 4px + padding 2px 4px + border 1px solid + background-color #4C4D4F + color #fff + &:hover + & ~ span + &.sheet-show-bond-info + border-radius 4px + padding 2px 4px + background-color #ccc + color #4c4d4f + transition 0.5s ease + +span + &.sheet-show-bond-info + margin-left -4.9em + border-radius 4px + padding 2px 4px + border 1px solid + font-weight bold diff --git a/Ironcrunch/src/components/bonds/track.pug b/Ironcrunch/src/components/bonds/track.pug new file mode 100644 index 0000000000..080c8dee37 --- /dev/null +++ b/Ironcrunch/src/components/bonds/track.pug @@ -0,0 +1,16 @@ +- var track = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ] +include ../progress/mixins/box + +mixin bondsTrack() + div.sheet-bonds-track + div + each index in track + select(name=`attr_bond-${index}` class="sheet-progress-input") + +progressBox + input( + type="text" + class="sheet-hide" + name="attr_bond-filled" + value="floor((@{bond-0}+@{bond-1}+@{bond-2}+@{bond-3}+@{bond-4}+@{bond-5}+@{bond-6}+@{bond-7}+@{bond-8}+@{bond-9})/4)" + disabled="true" + ) diff --git a/Ironcrunch/src/components/conditions/cards.pug b/Ironcrunch/src/components/conditions/cards.pug new file mode 100644 index 0000000000..9f35f3976d --- /dev/null +++ b/Ironcrunch/src/components/conditions/cards.pug @@ -0,0 +1,12 @@ +include ./data/list +include ./mixins/card-body + +mixin conditionCards(opts) + each condition in conditions + input(type='checkbox' class=`sheet-hide sheet-condition-${condition.attribute}` name=`attr_${condition.attribute}`) + div(class=`sheet-condition-card sheet-showhide sheet-condition-${condition.attribute}`) + .sheet-card-header CONDITION + .sheet-card-title #{condition.text.toUpperCase()} + .sheet-card-body + +cardBody(condition.attribute) + .sheet-card-footer \ No newline at end of file diff --git a/Ironcrunch/src/components/conditions/conditions.pug b/Ironcrunch/src/components/conditions/conditions.pug new file mode 100644 index 0000000000..c2e309f05b --- /dev/null +++ b/Ironcrunch/src/components/conditions/conditions.pug @@ -0,0 +1,8 @@ +include ../../common/pug/button +include ./data/list + +mixin conditionList(opts) + .sheet-condition-component + .sheet-condition-list + each condition in conditions + +btn(condition) diff --git a/Ironcrunch/src/components/conditions/conditions.styl b/Ironcrunch/src/components/conditions/conditions.styl new file mode 100644 index 0000000000..3f318d2532 --- /dev/null +++ b/Ironcrunch/src/components/conditions/conditions.styl @@ -0,0 +1,65 @@ +conditions = amnesiac amok attached blinded compulsed corrupted cursed dazed deafened dying encumbered hallucinating hyperthermic hypothermic maimed mute palsied phobiac poisoned reeled shaken starved stupefied suffocated tormented unconscious unprepared unsteady weakened wounded + +.sheet-condition-list + display flex + flex-flow row wrap + justify-content space-evenly + +.sheet-condition-component + margin-top 1em + +.sheet-condition-btn + width 14% + +for id in conditions + input.sheet-condition-{id}:checked ~ div.sheet-condition-{id} + show-hide() + border: 2px solid #4c4d4f + margin-bottom 1em + width 30% + margin 0em 0.5em 1em 0.5em + +.sheet-condition-cards + display flex + flex-flow row wrap + margin-top 0.5em + justify-content center + +.sheet-condition-card + std-font('Crimson Text') + font-weight normal + margin 0 + width 0 + +.sheet-card-header + dark() + padding 0.3em 0.5em 0.3em 0.5em + std-font() + font-weight bold + +.sheet-card-title + padding 0.5em 0.5em 0em 0.5em + +.sheet-card-body + padding 0.5em + display: flex + flex-flow: column + +.sheet-severity-track + display flex + margin-top 1em + +.sheet-track-child + width 100% + .sheet-btn-content + padding 0.4em 0.2em 0.2em 0.2em + align-self center + +ul.sheet-condition-body-list + margin 0em 0.2em 0.3em 1.3em + + +p.sheet-card-description, +p.sheet-severity-reduce, +p.sheet-condition-clear + margin-bottom 0.3em \ No newline at end of file diff --git a/Ironcrunch/src/components/conditions/data/list.pug b/Ironcrunch/src/components/conditions/data/list.pug new file mode 100644 index 0000000000..75fcd064fa --- /dev/null +++ b/Ironcrunch/src/components/conditions/data/list.pug @@ -0,0 +1,794 @@ +- + var conditions = [ + { type: 'checkbox', attribute: 'amnesiac', text: 'Amnesiac', classes: 'sheet-condition-btn' }, + { type: 'checkbox', attribute: 'amok', text: 'Amok', classes: 'sheet-condition-btn' }, + { type: 'checkbox', attribute: 'attached', text: 'Attached', classes: 'sheet-condition-btn' }, + { type: 'checkbox', attribute: 'blinded', text: 'Blinded', classes: 'sheet-condition-btn' }, + { type: 'checkbox', attribute: 'compulsed', text: 'Compulsed', classes: 'sheet-condition-btn' }, + { type: 'checkbox', attribute: 'corrupted', text: 'Corrupted', classes: 'sheet-condition-btn' }, + { type: 'checkbox', attribute: 'cursed', text: 'Cursed', classes: 'sheet-condition-btn' }, + { type: 'checkbox', attribute: 'dazed', text: 'Dazed', classes: 'sheet-condition-btn' }, + { type: 'checkbox', attribute: 'deafened', text: 'Deafened', classes: 'sheet-condition-btn' }, + { type: 'checkbox', attribute: 'dying', text: 'Dying', classes: 'sheet-condition-btn' }, + { type: 'checkbox', attribute: 'encumbered', text: 'Encumbered', classes: 'sheet-condition-btn' }, + { type: 'checkbox', attribute: 'hallucinating', text: 'Hallucinating', classes: 'sheet-condition-btn' }, + { type: 'checkbox', attribute: 'hyperthermic', text: 'Hyperthermic', classes: 'sheet-condition-btn' }, + { type: 'checkbox', attribute: 'hypothermic', text: 'Hypothermic', classes: 'sheet-condition-btn' }, + { type: 'checkbox', attribute: 'maimed', text: 'Maimed', classes: 'sheet-condition-btn' }, + { type: 'checkbox', attribute: 'mute', text: 'Mute', classes: 'sheet-condition-btn' }, + { type: 'checkbox', attribute: 'palsied', text: 'Palsied', classes: 'sheet-condition-btn' }, + { type: 'checkbox', attribute: 'phobiac', text: 'Phobiac', classes: 'sheet-condition-btn' }, + { type: 'checkbox', attribute: 'poisoned', text: 'Poisoned', classes: 'sheet-condition-btn' }, + { type: 'checkbox', attribute: 'reeled', text: 'Reeled', classes: 'sheet-condition-btn' }, + { type: 'checkbox', attribute: 'shaken', text: 'Shaken', classes: 'sheet-condition-btn' }, + { type: 'checkbox', attribute: 'starved', text: 'Starved', classes: 'sheet-condition-btn' }, + { type: 'checkbox', attribute: 'stupefied', text: 'Stupefied', classes: 'sheet-condition-btn' }, + { type: 'checkbox', attribute: 'suffocated', text: 'Suffocated', classes: 'sheet-condition-btn' }, + { type: 'checkbox', attribute: 'tormented', text: 'Tormented', classes: 'sheet-condition-btn' }, + { type: 'checkbox', attribute: 'unconscious', text: 'Unconscious', classes: 'sheet-condition-btn' }, + { type: 'checkbox', attribute: 'unprepared', text: 'Unprepared', classes: 'sheet-condition-btn' }, + { type: 'checkbox', attribute: 'unsteady', text: 'Unsteady', classes: 'sheet-condition-btn' }, + { type: 'checkbox', attribute: 'weakened', text: 'Weakened', classes: 'sheet-condition-btn' }, + { type: 'checkbox', attribute: 'wounded', text: 'Wounded', classes: 'sheet-condition-btn' } + ] + +- + var conditionsBody = { + amnesiac: { + description: 'You have forgotten your abilities.', + points: [ + { + char: true, + text: "Take two asset cards and pair them with this condition. You can't use them. If severity 2 or below is marked, unpair one asset card." + } + ], + severity: { + reduce: [ + { + char: true, + text: 'When you Sojourn, and score a strong hit.' + } + ], + track: [{ value: 1 }, { value: 2 }, { value: 3 }, { value: 4 }] + }, + clear: [ + { + char: true, + text: 'When you Take a Downtime.' + } + ] + }, + amok: { + description: 'You suffer outbursts of violent and homicidal rages directed at anyone near you.', + points: [ + { + char: true, + text: "When you Inflict Harm, add +X." + }, + { + char: true, + text: "When you make a move and score a strong hit, roll an additional 1d8. If you roll as your heart or above, you give up to your behavior and Strike the nearest target, whether they are an ally, companion, foe or else" + } + ], + severity: { + reduce: [ + { + char: true, + text: 'When you Inflict Harm.' + } + ], + track: [{ value: 1 }, { value: 2 }, { value: 3 }] + } + }, + attached: { + description: "You became obsessively attached to an object, type of object or person, and don't function properly without this", + points: [ + { + char: true, + text: "When you make a move while being more than 30 ft. away from the object or person, subtract -1." + } + ], + severity: { + reduce: [ + { + char: true, + text: 'When you make a move by being more than a 30 ft. away from the object, or person, and score a strong hit.' + } + ], + track: [{ value: 1 }, { value: 2 }, { value: 3 }, { value: 4 }] + } + }, + blinded: { + description: 'You are suffering from vision loss.', + points: [ + { + char: true, + text: "When you make a move involving this impairment (if such move is possible with this condition),subtract -1." + }, + { + foe: true, + text: " When you make a physical move against this foe involving this impairment, add +1." + } + ], + clear: [ + { + char: true, + text: 'When you Make Camp and choose to recuperate or Sojourn and choose to mend.' + }, + { + foe: true, + text: 'When you score a miss or as appropriate to the situation.' + } + ] + }, + compulsed: { + description: 'You feel uncontrollably compelled to perform certain action, over and over (such as washing hands; touching things; praying; counting coins; touching a doorway at left, right and top before passing through it; constantly checking to see if your projectile weapon is loaded; eat something strange, dirt, slime, or offal; and so on).', + points: [ + { + char: true, + text: "When you have the opportunity to perform your compulsive action, roll an additional 1d8. If you roll as your heart or above, you feel the uncontrollable urge to perform your compulsive action. If you don't, Endure Stress (1 stress)." + } + ], + severity: { + reduce: [ + { + char: true, + text: 'When you Hearten and score a strong hit.' + }, + { + char: true, + text: 'When you Sojourn and choose to cheer.' + } + ], + track: [{ value: 1 }, { value: 2 }, { value: 3 }, { value: 4 }] + } + }, + corrupted: { + description: 'Your experiences have left you emotionally scarred. You are at the threshold of losing yourself to darkness.', + points: [ + { + char: true, + text: "Reduce your maximum momentum by 1." + }, + { + char: true, + text: "You struggle with a compulsion, quirk, or fear. Take a condition that can be taken from the Manifest Insanity tables (not amok nor amnesiac) and permanently pair it with this one; it cannot be cleared." + } + ] + }, + cursed: { + description: 'Your faced death and returned with a soul-bond quest.', + points: [ + { + char: true, + text: "Reduce your max momentum by 1." + }, + { + char: true, + text: "You have walked the lands beyond death. Take a condition that can be taken from the Manifest Insanity tables and pair it with this one; it is cleared once you are no longer cursed." + } + ], + clear: [ + { + char: true, + text: 'When you Fulfill Your Vow bond to this condition.' + } + ] + }, + dazed: { + description: 'You are unable to act or react properly.', + points: [ + { + char: true, + text: "When you make a move, subtract -1." + }, + { + foe: true, + text: "When you make a move against this foe involving their impairment, add +1." + } + ], + clear: [ + { + char: true, + text: 'When make a move and score strong hit.' + }, + { + char: true, + text: 'When you Make Camp or Sojourn and score a hit.' + }, + { + foe: true, + text: 'When you make a move and score a miss, or as appropriate to the situation.' + } + ] + }, + deafened: { + description: 'You are suffering from hearing loss.', + points: [ + { + char: true, + text: "When you make a move relying on hearing (if such move is possible with this condition), subtract -X." + }, + { + foe: true, + text: "When you make a physical move against this foe involving this impairment, add +X." + } + ], + severity: { + reduce: [ + { + char: true, + text: 'When you Secure an Advantage by taking a breather in moderate ambience and score a strong hit. ' + }, + { + foe: true, + text: 'When you score a miss or as appropriate to the situation.' + } + ], + track: [{ value: 1, text: 'moderate' }, { value: 2, text: 'severe' }] + }, + clear: [ + { + char: true, + text: 'When you Make Camp and choose to recuperate or Sojourn and choose to mend.' + }, + { + foe: true, + text: 'As appropriate to the circumstances.' + } + ] + }, + dying: { + description: 'Your life is running out.', + points: [ + { + char: true, + text: "If you don't Heal within an hour or two, Face Death" + } + ], + clear: [ + { + char: true, + text: 'When someone else makes the Heal move on you and scores a hit.' + } + ] + }, + encumbered: { + description: 'You are carrying excessive or cumbersome weight', + points: [ + { + char: true, + foe: true, + text: "Reduce the speed by -5 ft. (1 unit)." + }, + { + char: true, + text: "When you make a move, cancel your action die (without additions) when it matches your maximum load and up to 12." + }, + { + foe: true, + text: "When you make a physical move against this foe, add +2." + } + ], + clear: [ + { + char: true, + text: ' When you have a total of weight up to your maximum load or below' + }, + { + foe: true, + text: 'As appropriate to the circumstances.' + } + ] + }, + hallucinating: { + description: 'You tend to sense what is not there.', + points: [ + { + char: true, + text: "When you make a move, roll an additional 1d8. If you roll as your wits or above, you sense a hallucination; Endure Stress (X stress)." + }, + { + foe: true, + text: "When you make a move and score a strong hit, this foe suffers -1 morale." + } + ], + severity: { + reduce: [ + { + char: true, + text: 'When you Hearten and score a strong hit.' + }, + { + char: true, + text: 'When you Sojourn and choose to cheer.' + }, + { + foe: true, + text: 'When you score a miss.' + } + ], + track: [{ value: 1 }, { value: 2 }] + } + }, + hyperthermic: { + description: 'Your body is dangerously overheated.', + points: [ + { + char: true, + text: "When you make a move and fail to score a strong hit, Endure Harm (as per the severity). This is in addition to the move outcome." + }, + { + foe: true, + text: "When you make a move against this foe, and score a hit, they suffer -health as per the severity." + } + ], + severity: { + track: [{ value: 1, text: '104º F/40º C
    (1d3P harm)' }, { value: 2, text: '140º F/60º C
    (1d4P harm)' }] + }, + clear: [ + { + char: true, + text: 'When you make a move while staying in an environment below 104º F/40º C, and score a strong hit.' + }, + { + foe: true, + text: 'When this foe stays in an environment below 104º F/40º C while you score a weak hit or miss.' + } + ] + }, + hypothermic: { + description: 'Your body is dangerously overcold.', + points: [ + { + char: true, + text: "When you make a move and fail to score a strong hit, Endure Harm (as per the severity). This is in addition to the move outcome" + }, + { + foe: true, + text: "When you make a move against this foe, and score a hit, they suffer -health as per the severity." + } + ], + severity: { + track: [{ value: 1, text: '40º F/4º C
    (1d3P harm)' }, { value: 2, text: '-20º F/-28º C
    (1d4Pharm)' }] + }, + clear: [ + { + char: true, + text: 'When you make a move while staying in an environment above 40º F/4º C, and score a strong hit.' + }, + { + foe: true, + text: ' When this foe stays in an environment above 40º F/40º C while you score a weak hit or miss.' + } + ] + }, + maimed: { + description: 'You have suffered a wound which causes you ongoing physical challenges.', + points: [ + { + char: true, + text: " Reduce your maximum momentum by 1." + }, + { + char: true, + text: "You have a permanent injury that impacts your approach when facing physical challenges." + }, + { + char: true, + text: "When you make a move +iron or +edge involving this impairment (if such move is possible with this condition), subtract -1." + }, + { + foe: true, + text: "When you make a physical move against this foe involving this impairment, add +1." + } + ] + }, + mute: { + description: 'You lost the ability to communicate via speech.', + points: [ + { + char: true, + text: "When you make a move relying on your speech, subtract -2." + }, + { + foe: true, + text: "When you make a move against this foe involving this impairment, add +2." + } + ], + clear: [ + { + char: true, + text: 'When you make a move relying on your speech and score a strong hit' + }, + { + char: true, + text: 'When you score a miss or as appropriate to the situation.' + } + ] + }, + palsied: { + description: 'Your mobility is constrained.', + points: [ + { + char: true, + text: "On severity 1, reduce the speed by -5 ft (1 unit)." + }, + { + char: true, + text: "On severity 2, reduce the speed to 0 ft." + }, + { + char: true, + text: "When you make a physical move, subtract -X." + }, + { + foe: true, + text: "When you make a physical move against this foe, add +X." + } + ], + severity: { + track: [{ value: 1, text: 'Cramped
    Sprained
    Strained' }, { value: 2, text: 'Restrained' }] + }, + clear: [ + { + char: true, + text: 'On severity 1, when you Heal, Make Camp and choose to recuperate, or Sojourn and choose to mend.' + }, + { + foe: true, + text: 'On severity 1, as appropriate to the situation.' + }, + { + char: true, + foe: true, + text: 'On 2, by getting free.' + } + ] + }, + phobiac: { + description: 'You persistently fear a particular object or situation (if possible, the source of mental shock). You might realize that the fear is excessive and irrational, but it is disturbing enough for you that your mind rejects it.', + points: [ + { + char: true, + text: "When you approach the object of the phobia, roll 1d8. If you roll as your heart or above, Endure Stress (1 stress)." + }, + { + foe: true, + text: "When this foe approaches the object of the phobia roll 1d20. If you roll as the creature's standard morale or above, they suffer -1 morale." + } + ], + severity: { + track: [{ value: 1 }, { value: 2 }, { value: 3 }, { value: 4 }] + }, + clear: [ + { + char: true, + text: 'When you Endure Stress because of this phobia, and score a strong hit, reduce your severity by 1.' + }, + { + foe: true, + text: "When this foe approaches the object of the phobia, and you roll 1d20 scoring below the creatures standard morale, creature's standard morale reduce the severity by 1." + } + ] + }, + poisoned: { + description: 'A toxin corrodes your body.', + points: [ + { + char: true, + text: "When you roll up to X on your action die, Endure Harm (XP harm)." + }, + { + foe: true, + text: "When you roll on your action die as per X (1=12, 2=11-12, 3=10-12, 4=9-12), this foe suffers -X health." + } + ], + severity: { + reduce: [ + { + char: true, + text: 'When you Heal with an antivenom.' + }, + { + foe: true, + text: 'As appropriate to the situation.' + } + ], + track: [{ value: 1, text: 'Minor' }, { value: 2, text: 'Mod.' }, { value: 3, text: 'Severe' }, { value: 4, text: 'Fatal' }] + }, + clear: [ + { + char: true, + text: 'When you Sojourn and choose to mend.' + }, + { + foe: true, + text: 'As appropriate to the situation.' + } + ] + }, + reeled: { + description: 'You are fighting to stay conscious.', + points: [ + { + char: true, + text: "Reduce your speed by -5 ft. (1 unit)." + }, + { + char: true, + text: "When you make a move +iron, subtract -1." + }, + { + char: true, + text: "If you engage in any vigorous activity (such as running or fighting) before taking a breather for a few minutes, roll on the Endure Harm table (before resolving the other move)." + } + ], + clear: [ + { + char: true, + text: 'When you, or someone else, makes the Heal move on you and scores a hit.' + } + ] + }, + shaken: { + description: 'You are despairing, distraught or frightened.', + points: [ + { + char: true, + text: "Reduce your maximum momentum by 1." + }, + { + char: true, + text: "You cannot increase spirit." + }, + { + char: true, + text: "When you make a move +heart, subtract -1." + }, + { + foe: true, + text: "Reduce this foe's morale by 2d4+2." + } + ], + clear: [ + { + char: true, + text: 'When you Sojourn and choose to cheer.' + }, + { + char: true, + text: 'When you Hearten and score a hit.' + }, + { + char: true, + text: 'When you Endure Stress, roll on the table, and roll 81 or above' + } + ] + }, + starved: { + description: 'Your body lacks enough energy to sustain itself.', + points: [ + { + char: true, + text: "When you make a move, subtract -1." + }, + { + char: true, + text: "When you make a move and fail to score a strong hit, Endure Harm (on a weak hit, 1P harm; on a miss, 2P harm). This is in addition to the move outcome." + }, + { + char: true, + text: "When you make a physical move against this foe, add +1." + } + ], + clear: [ + { + char: true, + text: 'When you Make Camp or Sojourn and score a hit.' + }, + { + char: true, + text: 'As appropriate to the situation.' + } + ] + }, + stupefied: { + description: 'You are deprived of sensitive cognition and acuity.', + points: [ + { + char: true, + text: "When you make a move +shadow or +wits, subtract -1." + }, + { + foe: true, + text: " When you make a move against this foe, add +1." + }, + { + foe: true, + text: "When this Foe Inflicts Harm, subtract -1." + } + ], + clear: [ + { + char: true, + text: 'When you Sojourn and choose to cheer or Make Camp and choose to focus.' + }, + { + char: true, + text: 'When you score a miss or as appropriate to the situation.' + } + ] + }, + suffocated: { + description: 'You are deprived of air or unable to breathe.', + points: [ + { + char: true, + text: "When you make a move and fail to score a strong hit, Endure Harm (1d4P harm). This is in addition to the move outcome." + }, + { + foe: true, + text: "When you make a move and score a hit, this foe suffers -1d4P harm)." + } + ], + clear: [ + { + char: true, + text: 'When you Face Danger or Secure an Advantage by taking a breather, and score a hit' + }, + { + foe: true, + text: 'When you score a miss or as appropriate to the situation.' + } + ] + }, + tormented: { + description: 'You faced desolation and undertook a quest to prevent a dire future.', + points: [ + { + char: true, + text: "Reduce your maximum momentum by 1." + }, + { + char: true, + text: "You suffered visions of your greatest fears." + }, + { + char: true, + text: "Take another condition (one that can be taken from the Manifest Insanity tables) and pair it with this one; it is cleared once you are no longer tormented." + }, + { + foe: true, + text: "Reduce this foe's morale by 3d4+6." + } + ], + clear: [ + { + char: true, + text: 'When you Fulfill Your Vow bond to this condition' + } + ] + }, + unconscious: { + description: 'You are incapacitated and out of action.', + points: [ + { + char: true, + text: "If you are vulnerable to a foe not inclined to show mercy, Face Death." + } + ], + clear: [ + { + char: true, + text: 'If left alone, you come back to your senses in an hour or two.' + } + ] + }, + unprepared: { + description: 'You are lacking the most basic provisions for a journey.', + points: [ + { + char: true, + text: "Reduce your max momentum by 1." + }, + { + char: true, + text: "You cannot increase supply." + } + ], + clear: [ + { + char: true, + text: 'When you Sojourn and choose to equip.' + } + ] + }, + unsteady: { + description: 'Your psychomotor abilities are impaired.', + points: [ + { + char: true, + text: "When you make a move +edge, subtract -X, where X is the character marked state." + }, + { + foe: true, + text: "When you make a physical move against this foe, add +X." + } + ], + severity: { + track: [{ value: 1, text: 'Dizzy' }, { value: 2, text: 'Shaky' }] + }, + clear: [ + { + char: true, + text: 'When you Sojourn and choose to cheer or Make Camp and choose to relax.' + }, + { + char: true, + text: 'When you Face Danger or Secure an Advantage by recovering your steadiness and score a strong hit' + }, + { + foe: true, + text: 'When you score a miss or as appropriate to the situation.' + } + ] + }, + weakened: { + description: 'Your energies are drained.', + points: [ + { + char: true, + text: "When you make a move +iron, subtract -X" + }, + { + char: true, + text: "When you Inflict Harm, subtract -X." + }, + { + foe: true, + text: "When you make a physical move against this foe, add +X." + }, + { + foe: true, + text: "When this Foe Inflicts Harm, subtract -X." + } + ], + severity: { + track: [{ value: 1, text: 'Fatigued' }, { value: 2, text: 'Exhausted' }] + }, + clear: [ + { + char: true, + text: 'When you Sojourn and choose to mend, or Make Camp and choose to recuperate' + }, + { + foe: true, + text: 'As appropriate to the situation.' + } + ] + }, + wounded: { + description: 'You are severely injured and need treatment to recover.', + points: [ + { + char: true, + text: "Reduce your maximum momentum by 1." + }, + { + char: true, + text: "You cannot increase health." + } + ], + clear: [ + { + char: true, + text: 'When you Sojourn and choose to mend.' + }, + { + char: true, + text: 'When you Heal and score a hit' + } + ] + } + } diff --git a/Ironcrunch/src/components/conditions/mixins/card-body.pug b/Ironcrunch/src/components/conditions/mixins/card-body.pug new file mode 100644 index 0000000000..f656877d09 --- /dev/null +++ b/Ironcrunch/src/components/conditions/mixins/card-body.pug @@ -0,0 +1,41 @@ +include ../data/list + +mixin cardBody(id) + - var condition = conditionsBody[id] + p.sheet-card-description=condition.description + each point in condition.points + ul.sheet-condition-body-list + if point.foe + li.sheet-foe-bullet!=point.text + else + li.sheet-char-bullet!=point.text + + if condition.severity + if condition.severity.reduce + - var reduce = condition.severity.reduce + p.sheet-severity-reduce Reduce your severity by 1... + each point in reduce + ul.sheet-condition-body-list + if point.foe + li.sheet-foe-bullet!=point.text + else + li.sheet-char-bullet!=point.text + + if condition.clear + p.sheet-condition-clear Clear this condition... + each point in condition.clear + ul.sheet-condition-body-list + if point.foe + li.sheet-foe-bullet!=point.text + else + li.sheet-char-bullet!=point.text + + if condition.severity + .sheet-severity-track + each part, index in condition.severity.track + label.sheet-common-btn.sheet-track-child + input.sheet-btn-input.sheet-hide.sheet-track-btn(type='radio' name=`attr_${id}_track` value=index) + if part.text + .sheet-btn-content!=part.text + else + .sheet-btn-content!=part.value diff --git a/Ironcrunch/src/components/details/character.pug b/Ironcrunch/src/components/details/character.pug new file mode 100644 index 0000000000..7c843864e6 --- /dev/null +++ b/Ironcrunch/src/components/details/character.pug @@ -0,0 +1,33 @@ +- + var character = { + type: 'character', + rows: [ + { + details: [ + { id: 'ancestry', text: 'Ancestry' }, + { + columns: [ + { id: 'age', text: 'Age' }, + { id: 'sex', text: 'Sex' } + ] + }, + { id: 'speed', text: 'Speed' }, + { + columns: [ + { id: 'resilience', text: 'Resilience' }, + { id: 'max_load', text: 'Max Load' } + ] + } + ], + }, + { + details: [ + { id: 'appearance', text: 'Appearance' }, + { id: 'alignment', text: 'Alignment' } + ] + } + ] + } + +include ./mixins/details ++details(character) diff --git a/Ironcrunch/src/components/details/companion.pug b/Ironcrunch/src/components/details/companion.pug new file mode 100644 index 0000000000..e6ecfd51f1 --- /dev/null +++ b/Ironcrunch/src/components/details/companion.pug @@ -0,0 +1,50 @@ +- + var companion = { + type: 'companion', + rows: [ + { + details: [ + { id: 'ancestry', text: 'Ancestry' }, + { id: 'asset', text: 'Asset' } + ], + }, + { + details: [ + { + columns: [ + { id: 'age', text: 'Age' }, + { id: 'sex', text: 'Sex' } + ] + }, + { id: 'speed', text: 'Speed' }, + { id: 'alignment', text: 'Alignment' } + ] + }, + { + details: [ + { id: 'drives', text: 'Drives/Motivations' } + ] + }, + { + details: [ + { id: 'goal', text: 'Goal' } + ] + }, + { + details: [ + { header: 'AS FOE' } + ] + }, + { + details: [ + { id: 'readiness', text: 'Readiness' }, + { id: 'intelligence', text: 'Intelligence' }, + { id: 'morale', text: 'morale' }, + { id: 'def_rating', text: 'Def. Rating' } + ] + } + ] + } + +include ./mixins/details ++details(companion) diff --git a/Ironcrunch/src/components/details/details.styl b/Ironcrunch/src/components/details/details.styl new file mode 100644 index 0000000000..9debf54d1b --- /dev/null +++ b/Ironcrunch/src/components/details/details.styl @@ -0,0 +1,43 @@ +.sheet-pc-name + &:focus + outline 3px solid #ffdd00 + outline-offset 0 + box-shadow inset 0 0 0 2px + +.sheet-details-row + display flex + justify-content space-evenly + .sheet-details-header + color white + background #4C4D4F + +.sheet-companion-detail + .sheet-details-header, +.sheet-character-detail + .sheet-details-header + background #4C4D4F + +.sheet-companion-detail, +.sheet-character-detail + borderCommon() + width 100% + padding: 0em 1em 0em 1em + margin: 0.1em; + p + width 100% + std-font() + margin 0 + input + width 100% + border 0 + padding 0 + outline-width: 0px; + &::placeholder + font-weight 500 + + + + +.sheet-detail-columns + display flex + +.sheet-detail-column + width 50% \ No newline at end of file diff --git a/Ironcrunch/src/components/details/mixins/details.pug b/Ironcrunch/src/components/details/mixins/details.pug new file mode 100644 index 0000000000..f1c5415093 --- /dev/null +++ b/Ironcrunch/src/components/details/mixins/details.pug @@ -0,0 +1,19 @@ +mixin details(option) + div(class=`sheet-${option.type}-details`) + each row in option.rows + .sheet-details-row + each detail in row.details + if detail.columns + div(class=`sheet-${option.type}-detail sheet-detail-columns`) + each column in detail.columns + .sheet-detail-column + p=column.text + input(type='text' name=`attr_${column.id}` placeholder=column.text) + else if detail.header + div(class=`sheet-${option.type}-detail sheet-details-header`) + .sheet-details-header + h3.sheet-details-header=detail.header + else + div(class=`sheet-${option.type}-detail`) + p=detail.text + input(type='text' name=`attr_${detail.id}` placeholder=detail.text) \ No newline at end of file diff --git a/Ironcrunch/src/components/difficulties/array.pug b/Ironcrunch/src/components/difficulties/array.pug new file mode 100644 index 0000000000..55b81abaa3 --- /dev/null +++ b/Ironcrunch/src/components/difficulties/array.pug @@ -0,0 +1 @@ +- var difficulties = { 1:{ text: 'Troublesome', checked: true }, 2:{ text: 'Dangerous' }, 3:{ text: 'Formidable' }, 4:{ text: 'Extreme'}, 5:{ text: 'Epic' }} \ No newline at end of file diff --git a/Ironcrunch/src/components/effort/data.pug b/Ironcrunch/src/components/effort/data.pug new file mode 100644 index 0000000000..b5f2e4d847 --- /dev/null +++ b/Ironcrunch/src/components/effort/data.pug @@ -0,0 +1,74 @@ +- + var efforts = [ + { + name: 'ADVENTURE MOVES (♣)', + moves: [ + 'FACE DANGER', + 'SECURE AN ADVANTAGE', + 'GATHER INFORMATION', + 'UNDERTAKE A JOURNEY' + ] + }, + { + name: 'COMBAT MOVES (♠)', + moves: [ + 'ENTER THE FRAY', + 'STRIKE', + 'CLASH', + 'BATTLE' + ] + }, + { + name: 'RECOVERY MOVES (♥)', + moves: [ + 'HEAL', + 'HEARTEN', + 'PATCH EQUIPMENT', + 'RESUPPLY', + 'MAKE CAMP' + ] + }, + { + name: 'QUEST AND ASSET MOVES (♦)', + moves: [ + 'SWEAR AN IRON VOW', + 'ASSET MOVES' + ] + }, + { + name: 'DELVE MOVES (♣)', + moves: [ + 'DELVE THE DEPTHS', + 'CHECK YOUR GEAR', + 'ESCAPE THE DEPTHS' + ] + }, + { + name: 'SUFFER MOVES (♠)', + moves: [ + 'ENDURE HARM', + 'ENDURE STRESS', + 'FACE DEATH', + 'FACE DESOLATION' + ] + }, + { + name: 'RELATIONSHIP MOVES (♥)', + moves: [ + 'COMPEL', + 'SOJOURN', + 'DRAW THE CIRCLE', + 'FORGE A BOND', + 'TEST YOUR BOND' + ] + }, + { + name: 'COMPANION MOVES (♥)', + moves: [ + 'ORDER CONDITIONAL COMPANION', + 'STRENGHTEN LOYALTY', + 'TAKE CONDITIONAL COMPANION', + 'TEST THEIR LOYALTY' + ] + } + ] \ No newline at end of file diff --git a/Ironcrunch/src/components/effort/effort.pug b/Ironcrunch/src/components/effort/effort.pug new file mode 100644 index 0000000000..6361f7a6a4 --- /dev/null +++ b/Ironcrunch/src/components/effort/effort.pug @@ -0,0 +1,20 @@ +mixin effortGroup(group) + .sheet-group-container + h4.sheet-group-title=group.name + each move in group.moves + .sheet-effort-list + .sheet-effort-name=move + .sheet-effort-track + - var attr = move.toLowerCase().replace(/\s/g, '_') + label.sheet-common-btn + input.sheet-hide.sheet-btn-input(type='radio' name=`attr_effort_${attr}` value='0' checked) + .sheet-btn-content 0 + label.sheet-common-btn + input.sheet-hide.sheet-btn-input(type='radio' name=`attr_effort_${attr}` value='1') + .sheet-btn-content +1 + label.sheet-common-btn + input.sheet-hide.sheet-btn-input(type='radio' name=`attr_effort_${attr}` value='2') + .sheet-btn-content +2 + label.sheet-common-btn + input.sheet-hide.sheet-btn-input(type='radio' name=`attr_effort_${attr}` value='3') + .sheet-btn-content +3 diff --git a/Ironcrunch/src/components/effort/effort.styl b/Ironcrunch/src/components/effort/effort.styl new file mode 100644 index 0000000000..991a8a4c34 --- /dev/null +++ b/Ironcrunch/src/components/effort/effort.styl @@ -0,0 +1,29 @@ +.sheet-effort-container + margin-top 1em + display flex + flex-flow row wrap + +.sheet-group-title + width auto + margin-bottom 0.7em + border-bottom 2px solid #4C4D4F + padding-bottom 0.1em + +.sheet-group-container + display flex + flex-flow column wrap + width 50% + margin-top 1em + +.sheet-group-list + display flex + flex-flow column + width 100% + +.sheet-effort-track + display flex + +.sheet-effort-list + display flex + justify-content space-between + padding 0em 2em 0em 2em diff --git a/Ironcrunch/src/components/equipment/addons/addons.pug b/Ironcrunch/src/components/equipment/addons/addons.pug new file mode 100644 index 0000000000..415deb7a0d --- /dev/null +++ b/Ironcrunch/src/components/equipment/addons/addons.pug @@ -0,0 +1,13 @@ +mixin addons + .sheet-equipment-component + .sheet-equipment-container.sheet-table-header + .sheet-equipment-container-child.sheet-addon-column-1 + p.sheet-equipment-title TYPE + .sheet-equipment-container-child.sheet-addon-column-2 + p.sheet-equipment-title EFFECT + fieldset.repeating_addon + .sheet-equipment-container + .sheet-equipment-container-child.sheet-addon-column-1 + input(type='text' class='sheet-addon-type' name='attr_addon_type' placeholder='Type') + .sheet-equipment-container-child.sheet-addon-column-2 + input(type='text' class='sheet-addon-effect' name='attr_addon_effect' placeholder='Effect') \ No newline at end of file diff --git a/Ironcrunch/src/components/equipment/armor/armor.pug b/Ironcrunch/src/components/equipment/armor/armor.pug new file mode 100644 index 0000000000..c2bdc69865 --- /dev/null +++ b/Ironcrunch/src/components/equipment/armor/armor.pug @@ -0,0 +1,25 @@ +mixin armor + .sheet-equipment-component + .sheet-equipment-container.sheet-table-header + .sheet-equipment-container-child.sheet-armor-column-1 + p.sheet-equipment-title TYPE + .sheet-equipment-container-child.sheet-armor-column-2 + p.sheet-equipment-title CLASS + .sheet-equipment-container-child.sheet-armor-column-3 + p.sheet-equipment-title PROTECTION + .sheet-equipment-container-child.sheet-armor-column-4 + p.sheet-equipment-title ENDURE HARM ADDITION + .sheet-equipment-container-child.sheet-armor-column-5 + p.sheet-equipment-title WEIGHT + fieldset.repeating_armor + .sheet-equipment-container + .sheet-equipment-container-child.sheet-armor-column-1 + input(type='text' class='sheet-armor-type' name='attr_armor_type' placeholder='Type') + .sheet-equipment-container-child.sheet-armor-column-2 + input(type='text' class='sheet-armor-class' name='attr_armor_class' placeholder='Light/Heavy') + .sheet-equipment-container-child.sheet-armor-column-3 + input(type='text' class='sheet-armor-protection' name='attr_armor_protection' placeholder='0' value='0') + .sheet-equipment-container-child.sheet-armor-column-4 + input(type='text' class='sheet-armor-addition' name='attr_armor_addition' placeholder='0' value='0') + .sheet-equipment-container-child.sheet-armor-column-5 + input(type='text' class='sheet-armor-weight' name='attr_armor_weight' placeholder='0' value='0') \ No newline at end of file diff --git a/Ironcrunch/src/components/equipment/equipment.styl b/Ironcrunch/src/components/equipment/equipment.styl new file mode 100644 index 0000000000..c29454c81e --- /dev/null +++ b/Ironcrunch/src/components/equipment/equipment.styl @@ -0,0 +1,62 @@ +.sheet-equipment + std-font('Crimson Text') + +.sheet-equipment-container + display flex + flex-flow row + justify-content space-evenly + border-bottom 1px solid #4C4D4F + std-font('Crimson Text') + input[type=text] + width 100% + border 0 + padding 0 + outline none + &::placeholder + color #7a7a7a + .sheet-common-btn + margin 0 + +.sheet-equipment-container-child + width 15% + display flex + &.sheet-armor-column-4 + width 20% + &.sheet-shield-column-1 + width 35% + &.sheet-shield-column-2 + width 15% + &.sheet-shield-column-3 + width 22% + &.sheet-shield-column-4 + width 14% + &.sheet-addon-column-1 + width 15% + &.sheet-addon-column-2 + width 77.5% + &.sheet-provision-column-1 + width 15% + &.sheet-provision-column-2 + width 70% + &.sheet-provision-column-3 + width 5% + &.sheet-armor-column-1 + width 24% + &.sheet-weapons-column-3 + width 40% + +.sheet-equipment-title + margin 0 + +.sheet-table-header + border-bottom 2px solid #4C4D4F + background #e1e1e1 + +label.sheet-equipment-table-btn + border 0 + border-left 2px solid #4C4D4F + border-right 2px solid #4C4D4F + +div.sheet-equipment-table-btn + font-size 12px + padding 0.2em 0.1em 0.1em 0.1em \ No newline at end of file diff --git a/Ironcrunch/src/components/equipment/provisions/provisions.pug b/Ironcrunch/src/components/equipment/provisions/provisions.pug new file mode 100644 index 0000000000..9e9a4f46ec --- /dev/null +++ b/Ironcrunch/src/components/equipment/provisions/provisions.pug @@ -0,0 +1,17 @@ +mixin provisions + .sheet-equipment-component + .sheet-equipment-container.sheet-table-header + .sheet-equipment-container-child.sheet-provision-column-1 + p.sheet-equipment-title ITEM + .sheet-equipment-container-child.sheet-provision-column-2 + p.sheet-equipment-title EFFECT + .sheet-equipment-container-child.sheet-provision-column-3 + p.sheet-equipment-title USES + fieldset.repeating_provision + .sheet-equipment-container + .sheet-equipment-container-child.sheet-provision-column-1 + input(type='text' class='sheet-provision-type' name='attr_provision_item' placeholder='Item') + .sheet-equipment-container-child.sheet-provision-column-2 + input(type='text' class='sheet-provision-protection' name='attr_provision_effect' placeholder='Effect') + .sheet-equipment-container-child.sheet-provision-column-3 + input(type='text' class='sheet-provision-addition' name='attr_provision_uses' placeholder='0' value='0') diff --git a/Ironcrunch/src/components/equipment/shields/shields.pug b/Ironcrunch/src/components/equipment/shields/shields.pug new file mode 100644 index 0000000000..6eb835caf9 --- /dev/null +++ b/Ironcrunch/src/components/equipment/shields/shields.pug @@ -0,0 +1,21 @@ +mixin shields + .sheet-equipment-component + .sheet-equipment-container.sheet-table-header + .sheet-equipment-container-child.sheet-shield-column-1 + p.sheet-equipment-title TYPE + .sheet-equipment-container-child.sheet-shield-column-2 + p.sheet-equipment-title HARM + .sheet-equipment-container-child.sheet-shield-column-3 + p.sheet-equipment-title FACE DANGER/CLASH ADDITION + .sheet-equipment-container-child.sheet-shield-column-4 + p.sheet-equipment-title WEIGHT + fieldset.repeating_shield + .sheet-equipment-container + .sheet-equipment-container-child.sheet-shield-column-1 + input(type='text' class='sheet-shield-type' name='attr_shield_type' placeholde='Type') + .sheet-equipment-container-child.sheet-shield-column-2 + input(type='text' class='sheet-shield-harm' name='attr_shield_harm' placeholder='1h: 0') + .sheet-equipment-container-child.sheet-shield-column-3 + input(type='text' class='sheet-shield-addition' name='attr_shield_addition' placeholder='+0' value='+0') + .sheet-equipment-container-child.sheet-shield-column-4 + input(type='text' class='sheet-shield-weight' name='attr_shield_weight' placeholder='0' value='0') \ No newline at end of file diff --git a/Ironcrunch/src/components/equipment/weapons/weapons.pug b/Ironcrunch/src/components/equipment/weapons/weapons.pug new file mode 100644 index 0000000000..78d5737c5e --- /dev/null +++ b/Ironcrunch/src/components/equipment/weapons/weapons.pug @@ -0,0 +1,21 @@ +mixin weapons + .sheet-equipment-component + .sheet-equipment-container.sheet-table-header + .sheet-equipment-container-child.sheet-weapons-column-1 + p.sheet-equipment-title TYPE + .sheet-equipment-container-child.sheet-weapons-column-2 + p.sheet-equipment-title HARM + .sheet-equipment-container-child.sheet-weapons-column-3 + p.sheet-equipment-title ASPECTS + .sheet-equipment-container-child.sheet-weapons-column-4 + p.sheet-equipment-title WEIGHT + fieldset.repeating_weapon + .sheet-equipment-container + .sheet-equipment-container-child.sheet-weapons-column-1 + input(type='text' class='sheet-weapon-type' name='attr_weapon_type' placeholder='Type') + .sheet-equipment-container-child.sheet-weapons-column-2 + input(type='text' class='sheet-weapon-harm' name='attr_weapon_harm' placeholder='0') + .sheet-equipment-container-child.sheet-weapons-column-3 + input(type='text' class='sheet-weapon-aspects' name='attr_weapon_aspects' placeholder='Aspects') + .sheet-equipment-container-child.sheet-weapons-column-4 + input(type='text' class='sheet-weapon-weight' name='attr_weapon_weight' placeholder='0') \ No newline at end of file diff --git a/Ironcrunch/src/components/header/character.pug b/Ironcrunch/src/components/header/character.pug new file mode 100644 index 0000000000..c1fca77479 --- /dev/null +++ b/Ironcrunch/src/components/header/character.pug @@ -0,0 +1,10 @@ +- var trackValues = { 5: '+5', 4: '+4', 3: '+4', 2: '+2', 1: '+1', 0: '0' } +div.sheet-header + div.sheet-header-items + div.sheet-character-name + h3.sheet-character-title CHARACTER + input(type='text' class='sheet-pc-name' name='attr_character_name' placeholder='Character Name') + div.sheet-character-role + h3.sheet-character-title ROLE / TITLE + input(type='text' class='sheet-pc-name' name='attr_character_role' placeholder='Character Role / Title') + include ../resources/character diff --git a/Ironcrunch/src/components/header/companion.pug b/Ironcrunch/src/components/header/companion.pug new file mode 100644 index 0000000000..ae155f68fb --- /dev/null +++ b/Ironcrunch/src/components/header/companion.pug @@ -0,0 +1,10 @@ +- var trackValues = { 5: '+5', 4: '+4', 3: '+4', 2: '+2', 1: '+1', 0: '0' } +div.sheet-header + div.sheet-header-items + div.sheet-character-name + h3.sheet-character-title COMPANION + input(type='text' class='sheet-pc-name' name='attr_companion_name' placeholder='Companion Name') + div.sheet-character-role + h3.sheet-character-title ROLE / TITLE + input(type='text' class='sheet-pc-name' name='attr_companion_role' placeholder='Companion Role / Title') + include ../resources/companion diff --git a/Ironcrunch/src/components/header/header.styl b/Ironcrunch/src/components/header/header.styl new file mode 100644 index 0000000000..2da5943cd8 --- /dev/null +++ b/Ironcrunch/src/components/header/header.styl @@ -0,0 +1,11 @@ +.sheet-header-items + display flex + justify-content space-between + margin-bottom 0.6em + +.sheet-character-title + text-align left + +.sheet-character-role, +.sheet-character-name + width 48% diff --git a/Ironcrunch/src/components/misses/misses.styl b/Ironcrunch/src/components/misses/misses.styl new file mode 100644 index 0000000000..a9cce04112 --- /dev/null +++ b/Ironcrunch/src/components/misses/misses.styl @@ -0,0 +1,24 @@ +.sheet-misses-track + margin-top 1em + width 47em + margin-left 118px + +.sheet-clear-miss + display: inline + width: 100% + font-weight: bold + font-size: 14px + padding 0 + margin 1em + height 40px + padding 0.2em 0.2em 0.2em 0.2em + border: 2px solid #494a4c + cursor: pointer + +.sheet-clear-miss:hover + background-color: #ccc + color: #4C4D4F + transition .5s ease + +.sheet-miss-input + margin 0 !important \ No newline at end of file diff --git a/Ironcrunch/src/components/misses/track.pug b/Ironcrunch/src/components/misses/track.pug new file mode 100644 index 0000000000..21824a385a --- /dev/null +++ b/Ironcrunch/src/components/misses/track.pug @@ -0,0 +1,25 @@ +- var track = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ] +include ../progress/mixins/box + +h3.sheet-divide  MISSES  +.sheet-misses-track + div + label.sheet-clear-miss CLEAR + input(class="sheet-clear-miss sheet-hide" type="checkbox" name="attr_clear_misses") + each index in track + select(name=`attr_miss-${index}` class="sheet-progress-input sheet-miss-input") + +progressBox + label.sheet-btn LEARN + button( + type="roll" + class='sheet-hide' + name="rollMisses" + value="&{template:ironcrunch_progress} {{progress_type=Misses}} {{header=@{character_name} Learn from Faults }} {{progress=[[@{misses-filled}]]}} {{challenge1=[[d10]]}} {{challenge2=[[d10]]}}" + ) + input( + type="text" + class="sheet-hide" + name="attr_misses-filled" + value="floor((@{miss-0}+@{miss-1}+@{miss-2}+@{miss-3}+@{miss-4}+@{miss-5}+@{miss-6}+@{miss-7}+@{miss-8}+@{miss-9})/4)" + disabled="true" + ) \ No newline at end of file diff --git a/Ironcrunch/src/components/momentum/momentum.pug b/Ironcrunch/src/components/momentum/momentum.pug new file mode 100644 index 0000000000..9afbd28da0 --- /dev/null +++ b/Ironcrunch/src/components/momentum/momentum.pug @@ -0,0 +1,49 @@ +include ./tracks +div.sheet-footer + div.sheet-momentum + each object in momentumPositiveTrack + div.sheet-momentum-box + if object.checked + input( + type='radio' + name='attr_momentum' + class='sheet-momentum-box-input' + value=object.value + checked + ) + else + input( + type='radio' + name='attr_momentum' + class='sheet-momentum-box-input' + value=object.value + ) + div.sheet-momentum-box-back + h3.sheet-momentum-box-value=object.text + + div.sheet-momentum + div.sheet-momentum.sheet-momentum-dark + h3.sheet-momentum-title Momentum + + div.sheet-momentum-burn + input(type='checkbox' class='sheet-momentum-burn' title='Burn Momentum' name='attr_momentumBurn') + span.sheet-momentum-burn BURN + div.sheet-momentum-burn-back + + div.sheet-momentum-status-box + h3.sheet-momentum-max MAX + h3.sheet-momentum-status-value + span(name='attr_momentum_max') + input(type='text' class='sheet-hide' name='attr_momentum_max' value='20') + + div.sheet-momentum-status-box + h3.sheet-momentum-reset RESET + h3.sheet-momentum-status-value + span(name='attr_momentum_reset') + input(type='text' class='sheet-hide' name='attr_momentum_reset' value='2') + + each object in momentumNegativeTrack + div.sheet-momentum-box + input(type='radio' name='attr_momentum' class='sheet-momentum-box-input' value=object.value) + div.sheet-momentum-box-back + h3.sheet-momentum-box-value=object.text \ No newline at end of file diff --git a/Ironcrunch/src/components/momentum/momentum.styl b/Ironcrunch/src/components/momentum/momentum.styl new file mode 100644 index 0000000000..eddf863fa0 --- /dev/null +++ b/Ironcrunch/src/components/momentum/momentum.styl @@ -0,0 +1,115 @@ +.sheet-footer + margin-top 3em + +.sheet-momentum + display flex + +input[type=checkbox].sheet-momentum-burn:hover ~ div.sheet-momentum-burn-back + background-color #ccc + transition: .5s ease; + +.sheet-momentum-box-input:hover ~ .sheet-momentum-box-back + background: #ccc + transition: .5s ease; + +.sheet-momentum-box-input:checked ~ .sheet-momentum-box-back + background: #4C4D4F + color: white + transition: .5s ease; + +input[type=checkbox].sheet-momentum-burn + width 68px + height 30px + opacity 0 + border 0 + vertical-align top + +div.sheet-momentum-burn-back + margin-top: -30px + height: 30px + +div.sheet-momentum-burn + borderCommon() + width 68px + height 30px + +span.sheet-momentum-burn + font-weight bold + font-size 18px + line-height: 30px; + margin-left -61px + +.sheet-momentum-box-input + width 36px + height 30px !important + opacity 0 + border 0 + +h3.sheet-momentum-burn + margin-top -20px + +.sheet-momentum-status-box + width: 103px + height: 30px + display: flex + flex-direction: row + justify-content: center + align-items: center + border-radius: 0% + background: transparent + border: 2px solid #4c4d4f + margin-bottom: 2px + +.sheet-momentum-status-value + width auto + padding-right 0.6em + +h3.sheet-momentum-max-box + display: inline + padding-left: 2em + line-height: 30px + +h3.sheet-momentum-reset-box + display: inline + padding-left: 1em + line-height: 30px + +.sheet-momentum-box-back + height 30px + margin-top -30px + +.sheet-momentum-box-value + font-weight bold + height 30px + font-size 16px + line-height 30px + color inherit + +.sheet-momentum-input + font-weight bold + width 30px + font-size 13px + text-align center + background transparent + +.sheet-momentum-box + width 36px + height 30px + flex-direction column + justify-content center + align-items center + border-radius 0% + background transparent + borderCommon() + margin-bottom 2px + +.sheet-momentum-dark + color white + border: 2px solid #4b4d4f + background: #4b4d4f + height: 30px + width: 310px + +.sheet-momentum-title + padding-top 4px + color white \ No newline at end of file diff --git a/Ironcrunch/src/components/momentum/tracks.pug b/Ironcrunch/src/components/momentum/tracks.pug new file mode 100644 index 0000000000..55367bb7cf --- /dev/null +++ b/Ironcrunch/src/components/momentum/tracks.pug @@ -0,0 +1,34 @@ +- + var momentumPositiveTrack = [ + { value: '20', text: '+20' }, + { value: '19', text: '+19' }, + { value: '18', text: '+18' }, + { value: '17', text: '+17' }, + { value: '16', text: '+16' }, + { value: '15', text: '+15' }, + { value: '14', text: '+14' }, + { value: '13', text: '+13' }, + { value: '12', text: '+12' }, + { value: '11', text: '+11' }, + { value: '10', text: '+10' }, + { value: '9', text: '+9' }, + { value: '8', text: '+8' }, + { value: '7', text: '+7' }, + { value: '6', text: '+6' }, + { value: '5', text: '+5' }, + { value: '4', text: '+4' }, + { value: '3', text: '+3' }, + { value: '2', text: '+2', checked: true }, + { value: '1', text: '+1' }, + { value: '0', text: '0' }, + ] + +- + var momentumNegativeTrack = [ + { value: '-1', text: '-1' }, + { value: '-2', text: '-2' }, + { value: '-3', text: '-3' }, + { value: '-4', text: '-4' }, + { value: '-5', text: '-5' }, + { value: '-6', text: '-6' } + ] \ No newline at end of file diff --git a/Ironcrunch/src/components/motivations/data/motivation-list.pug b/Ironcrunch/src/components/motivations/data/motivation-list.pug new file mode 100644 index 0000000000..e7adf17f4c --- /dev/null +++ b/Ironcrunch/src/components/motivations/data/motivation-list.pug @@ -0,0 +1,273 @@ +- + var motivations = [ + { + id: 'aggravate_organization', + text: 'Aggravate Organization', + description: 'You spurn an organization or community for ideological reasons.', + layer1: 'When you speak in public, or show how to act, against the group you contemn.', + layer2: 'When you act against the group you contemn.', + layer3: 'When you put yourself at risk, or sacrifice something important, for acting against the group you contemn.', + buyoff: 'When the group you contemn either cease to exist, or you support it.' + }, + { + id: 'battling', + text: 'Battling', + description: 'You thrive for the thrills of combat.', + layer1: 'When you engage in combat.', + layer2: 'When you defeat someone in combat.', + layer3: "When you defeat someone more powerful than you in combat.", + buyoff: 'When you diffuse a violent situation or willingly pass up an opportunity to enter in battle.' + }, + { + id: 'carousing', + text: 'Carousing', + description: 'You thrive for making use of your wealth and time to make you, or others, feel good.', + layer1: 'When you spent your wealth or valuable time to raise your spirit.', + layer2: "When you spent your wealth or valuable time to raise other's spirit.", + layer3: "When you postpone or decline a duty in order to spent wealth or valuable time to raise spirit, your or someone else's", + buyoff: "When you refuse, or argue against, using your valuable time to raise spirit, yours orsomeone else's" + }, + { + id: 'commanding', + text: 'Commanding', + description: 'You are looking to stand out as an exemplar leader.', + layer1: 'When you act according to the fact that you are in command.', + layer2: 'When you issue an order to someone, get them to follow it, and it pays off favorably.', + layer3: 'When you issue an order to a group, get them to follow it, and it pays off favorably.', + buyoff: 'When you willingly abdicate your leading position.' + }, + { + id: 'cover_my_identity', + text: 'Cover My Identity', + description: 'Your real identity is something you are looking to cover from certain individuals.', + layer1: 'When you make preparations to cover your identity.', + layer2: 'When you cover your identity in a situation that demands it or be revealed.', + layer3: 'When you cover your identity by convincing others despite suspicious.', + buyoff: 'When you willingly reveal your identity to whom you were not interested in revealing it, or they get to know it by other means.' + }, + { + id: 'cover_my_past', + text: 'Cover My Past ', + description: 'Your past is something you are looking to cover from certain individuals.', + layer1: 'When you make preparations to cover your past.', + layer2: 'When you cover your past in a situation that demands it to be revealed.', + layer3: 'When you cover your past by convincing others despite suspicious.', + buyoff: 'When you willingly reveal your past to whom you were not interested in revealing it, or they get to know it by other means.' + }, + { + id: 'discover_the_forgotten', + text: 'Discover the Forgotten', + description: 'You thrive to discover forgotten lore and uncovering secrets.', + layer1: 'When you show what needs to be done to discover an important new fact, lost piece of information or item.', + layer2: 'When you discover an important new fact, lost piece of information or item.', + layer3: 'When you put yourself at risk, or sacrifice something important, for discovering an important new fact, lost piece of information or item.', + buyoff: 'When you willingly pass up an opportunity to learn something important or get a forgotten item.' + }, + { + id: 'enforce_law', + text: 'Enforce Law', + description: 'You procure rightfulness and make sure law is fulfilled whenever is up to you.', + layer1: 'When you act to uphold the law.', + layer2: 'When you act to prevent a crime committed by someone else.', + layer3: 'When you put yourself at risk, or sacrifice something important, by acting to uphold the law or to prevent a crime committed by someone else.', + buyoff: 'When you break a law or allow someone to do it.' + }, + { + id: 'gain_power', + text: 'Gain Power ', + description: 'You are looking to obtain power, whether it is prestige or a position.', + layer1: 'When you get a new ability.', + layer2: 'When you learn a new ability, get authority, or earn a boon from someone important.', + layer3: 'When you put yourself at risk, or sacrifice something important, in order to learn a new ability, get authority or earn a boon from someone important.', + buyoff: 'When you willingly take a decision that makes eschew gain power, lose authority or lower your position.' + }, + { + id: 'gain_renown', + text: 'Gain Renown', + description: 'You are looking to make yourself a name.', + layer1: 'When you do something to impress someone else.', + layer2: 'When you get prestige or take credit for an action, whenever you have done it or not.', + layer3: 'When you put yourself at risk, or sacrifice something important, by doing something to impress someone, or as consequence for taking credit for an action, whenever you have done it or not.', + buyoff: 'When you refuse taking credit for an accomplishment, or allow someone else to claim credit for something you accomplished.' + }, + { + id: 'gain_wealth', + text: 'Gain Wealth', + description: 'You are always in the look for valuable goods.', + layer1: 'When you find wealth.', + layer2: 'When you make a deal, or leverage a circumstance that favors you in wealth.', + layer3: 'When you double your wealth or take more than that the double.', + buyoff: 'When you willingly give away from your wealth, or reject a payment or reward.' + }, + { + id: 'help_others', + text: 'Help Others', + description: 'You feel inclined to help those in need.', + layer1: 'When you help who cannot help themselves.', + layer2: 'When you put yourself in danger, or sacrifice something important, for helping someone else.', + layer3: 'When you take someone in disfavorable circumstances and change their life to where they can help themselves.', + buyoff: 'When you willingly ignore a request for help or the fact that someone evidently needs it.' + }, + { + id: 'making_deals', + text: 'Making Deals', + description: 'You thrive on making negotiations.', + layer1: 'When you get into an agreement, make a contract or offer a favor in exchange for something.', + layer2: 'When you fulfill an agreement, a contract or get something in exchange for making a favor.', + layer3: 'When you put yourself at risk, or sacrifice something important, in order to fulfill an agreement, a contract or making a favor in exchange for something.', + buyoff: 'When you turn down a chance to negotiate or pass up a deal that favors you.' + }, + { + id: 'preserve_affinity', + text: 'Preserve Affinity', + description: 'You have someone you are friend kindred to, for which you are strongly interested in keeping close.', + layer1: 'When you act to leverage your affinity with your friend or kindred.', + layer2: 'When you must make an important decision that is influenced by your friend or kindred.', + layer3: 'When put yourself at risk, or sacrifice something important, by being loyal to your friend or kindred.', + buyoff: 'When your relationship with your friend or kindred is severed, or you do something that show that it is no longer a priority to you.' + }, + { + id: 'preserve_nature', + text: 'Preserve Nature', + description: 'You thrive for preserving nature.', + layer1: 'When you act to preserve nature.', + layer2: 'When you prevent someone else from causing damage to a natural element.', + layer3: 'When put yourself at risk by preventing someone else from causing damage to a natural element or by offering aid to an element of nature.', + buyoff: 'When you cause damage to a natural element, willingly or not, or allow someone to do it.' + }, + { + id: 'prove_myself', + text: 'Prove Myself', + description: 'You are looking to prove yourself worthy.', + layer1: 'When you take on a difficult challenge.', + layer2: 'When you succeed at a challenging obstacle to accomplish a goal.', + layer3: 'When you miss on a significantly risky task, but rise and try again.', + buyoff: 'When you willingly pass up an opportunity to test yourself, decline a challenge or give up on one.' + }, + { + id: 'pursue_courage', + text: 'Pursue Courage', + description: 'You procure bravery and make sure it is present whenever is up to you.', + layer1: 'When you act despite a terrifying obstacle.', + layer2: 'When you instill confidence in someone else, and it pays off favorably.', + layer3: 'When your words or deeds fill others with courage, and it pays off favorably.', + buyoff: 'When you allow fear to overcome, or give up on an important task, because it would be too dangerous to proceed.' + }, + { + id: 'pursue_justice', + text: 'Pursue Justice ', + description: 'You procure that your sense of fairness comes to fruition whenever is up to you.', + layer1: 'When you successfully settle a conflict that results in a just outcome.', + layer2: 'When you successfully settle a conflict in the presence of someone that differs from your sense of fairness.', + layer3: 'When you bring justice to someone who deserved it.', + buyoff: 'When you commit to a morally questionable act, allow someone who deserves to be judged to avoid it or stand mute before injustice.' + }, + { + id: 'pursue_peace', + text: 'Pursue Peace', + description: 'You abhor violence.', + layer1: 'When you act to show the importance of procuring peace.', + layer2: 'When you diffuse a violent situation or prevent someone from recurring to violence.', + layer3: 'When you refuse, or avoid, hurting someone else in a situation that demands it from you, because you, or someone else, was at risk.', + buyoff: 'When you willingly recur to violence or allow someone else to do it.' + }, + { + id: 'pursue_the_truth', + text: 'Pursue the Truth', + description: 'You procure the truth to come out and uphold it whenever is up to you.', + layer1: 'When you induce the truth coming out in a charged situation.', + layer2: 'When you uphold the truth despise of opposition.', + layer3: 'When you put yourself at risk, or sacrifice something important, by upholding the truth.', + buyoff: 'When you lie, or avoid the truth to come up.' + }, + { + id: 'rebel', + text: 'Rebel', + description: 'You despise structures that supports formal authorities among individuals.', + layer1: 'When you disobey an authority.', + layer2: 'When you act against an authority.', + layer3: 'When you put yourself at risk, or sacrifice something important, for acting against an authority.', + buyoff: 'When you acknowledge, support, or become, an authority; or accept a favor from one.' + }, + { + id: 'redeem_myself', + text: 'Redeem Myself', + description: 'You are working towards gaining back trust and fixing previous wrongs.', + layer1: 'When you act to leverage a fix towards your reputation.', + layer2: 'When you prove yourself to someone who has doubts or thinks poorly of you.', + layer3: 'When you put yourself at risk, or sacrifice something important, by acting to prove yourself to someone who has doubts or thinks poorly of you.', + buyoff: 'When you have cleared your reputation or give up on your redeeming path.' + }, + { + id: 'safeguard_my_ward', + text: 'Safeguard My Ward', + description: 'You are looking to provide security and protection to an individual at all cost.', + layer1: 'When you prevent your ward from doing something that would put them at risk.', + layer2: 'When you put yourself at risk, or sacrifice something important, by protecting your ward.', + layer3: 'When you rescue your ward from potential harm.', + buyoff: 'When you ward dies or your act as if protecting this person is not your priority, or is not your duty.' + }, + { + id: 'show_cleverness', + text: 'Show Cleverness', + description: 'You like using your intelligence to enrich your interactions and solve problems.', + layer1: 'When you come up with a clever plan or point out something no one knew.', + layer2: 'When you point out something no one knew and it pays off favorably.', + layer3: 'When a plan previously elaborated by you pays off favorably.', + buyoff: 'When you refuse to share knowledge, practical or not, or refuse to provide your insight when others demand it.' + }, + { + id: 'suffering', + text: 'Suffering', + description: 'You are thriving on personal pain and martyrdom.', + layer1: 'When you suffer physical or mental damage.', + layer2: 'When you suffer physical or mental damage and your next move shows that you are not fleeing from the source of suffering.', + layer3: 'When you get wounded or shaken.', + buyoff: 'When you willingly flee from a source of physical or mental damage.' + }, + { + id: 'survive', + text: 'Survive', + description: 'You avoid at all cost situations that put you in danger.', + layer1: 'When you act to show the importance of avoiding perilous situations.', + layer2: 'When you avoid a perilous situation.', + layer3: 'When you flee from a source of physical or mental damage.', + buyoff: 'When you leap into danger with no hesitation.' + }, + { + id: 'uncover_my_past', + text: 'Uncover My Past', + description: 'You are looking to retrieve information from your past.', + layer1: 'When you get into a moment with the potential to give you something from your past.', + layer2: 'When you learn or discover something from your past.', + layer3: 'When you put yourself at risk, or sacrifice something important, for the sake of learning or discovering something from your past.', + buyoff: 'When you have uncovered all you needed to know from your past, or have let it go.' + }, + { + id: 'uphold_belief', + text: 'Uphold Belief', + description: 'You have a strong conviction that guides you and you want to give testimony of it to others.', + layer1: 'When you explain or defend your belief to someone else.', + layer2: 'When you convince someone else to your belief.', + layer3: 'When you put yourself at risk, or sacrifice something important, by upholding your belief.', + buyoff: 'When you renounce your belief, talk against it or show that share it is no longer important to you.' + }, + { + id: 'uphold_nobility', + text: 'Uphold Nobility', + description: 'You believe yourself to be the cut above the common people.', + layer1: 'When you demonstrate superiority by refusing to stoop to the level of the ones you think are below you.', + layer2: 'When you, and the ones with you, get a benefit from your showcase of nobility.', + layer3: 'When your noble traits overcome a problem.', + buyoff: 'When you show that you have got over yourself by denying any noble trait by act or words.' + }, + { + id: 'wandering', + text: 'Wandering', + description: 'You are in a personal journey to wander.', + layer1: 'When you undertake a travel.', + layer2: 'When you reach your destination after travelling.', + layer3: 'When you meet a place new to you.', + buyoff: 'When you establish a settlement for you to reside, or when you willingly pass up the opportunity to meet a new place to you.' + } + ] diff --git a/Ironcrunch/src/components/motivations/motivations.pug b/Ironcrunch/src/components/motivations/motivations.pug new file mode 100644 index 0000000000..d2323852fb --- /dev/null +++ b/Ironcrunch/src/components/motivations/motivations.pug @@ -0,0 +1,32 @@ +include ./data/motivation-list + +//- + TODO: Cusom Motivations + + Iterates through the motivation list and generates + the individual cards as a repeating fieldset. + +fieldset.repeating_motivations + div.sheet-motivation + select(class='sheet-motivation-dropdown' name='attr_motivation_select') + option(value='' disabled selected) SELECT + each motivation in motivations + option(value=motivation.id)=motivation.text + + each motivation in motivations + input( + type='checkbox' + class=`sheet-motivation-${motivation.id} sheet-hide` + name=`attr_motivation_${motivation.id}` + ) + div(class=`sheet-motivation-${motivation.id} sheet-motivation-container sheet-hide`) + div(class='sheet-motivation-description') + p=motivation.description + div(class='sheet-motivation-layer') + p!=`Layer 1: ${motivation.layer1}` + div(class='sheet-motivation-layer') + p!=`Layer 2: ${motivation.layer2}` + div(class='sheet-motivation-layer') + p!=`Layer 3: ${motivation.layer3}` + div(class='sheet-motivation-buyoff') + p!=`Buyoff: ${motivation.buyoff}` \ No newline at end of file diff --git a/Ironcrunch/src/components/motivations/motivations.styl b/Ironcrunch/src/components/motivations/motivations.styl new file mode 100644 index 0000000000..c687f4d7b8 --- /dev/null +++ b/Ironcrunch/src/components/motivations/motivations.styl @@ -0,0 +1,41 @@ +motivations = aggravate_organization battling carousing commanding cover_my_identity cover_my_past discover_the_forgotten enforce_law gain_power gain_renown gain_wealth help_others making_deals preserve_affinity preserve_nature prove_myself pursue_courage pursue_justice pursue_peace pursue_the_truth rebel redeem_myself safeguard_my_ward show_cleverness suffering survive uncover_my_past uphold_belief uphold_nobility wandering + +for id in motivations + input.sheet-motivation-{id}:checked ~ div.sheet-motivation-{id} + display block + +.sheet-motivations + .repcontainer + display flex + justify-content space-evenly + margin-top 1em + flex-wrap: wrap; + +.sheet-motivation + width 17em + borderCommon() + margin-bottom 1em + border-radius 8px + p + font-size 14px + line-height 16px + font-weight 500 + +.sheet-motivation-dropdown + borderCommon() + background #4c4d4f + color #fff + text-align center + font-weight bold + font-variant all-small-caps + font-size 18px + text-align-last center + border-radius 5px + width inherit + padding 0 + line-height 23px + cursor pointer + -webkit-appearance menulist + +.sheet-motivation-container + padding 0em 1em 1em 1em \ No newline at end of file diff --git a/Ironcrunch/src/components/moves/content/advance.pug b/Ironcrunch/src/components/moves/content/advance.pug new file mode 100644 index 0000000000..35361a006a --- /dev/null +++ b/Ironcrunch/src/components/moves/content/advance.pug @@ -0,0 +1,31 @@ +include ../mixins/container + +mixin Advance(values) + +container(values) + p When you focus on your skills, receive training, find inspiration, gain a companion, or one of these does the former, grows stronger, sharpen its senses or learns a new trick, you may... + p Oathkeeper + ul + li Upgrade a stat for 8 experience. + li Reduce any stat by 1 and add +1 to any other for 2 experience. + li Upgrade a weapon proficiency for 2 experience. + li Upgrade an effort level for 1 experience. + li Acquire a companion asset for asset health+2 in experience. + li Acquire an asset for 3 experience. + li Upgrade an asset for 2 experience. + p Humanoid Companion + ul + li Upgrade a stat for 6 experience. + li Reduce any stat by 1 and add +1 to any other for 1 experience. + li Upgrade the asset for 2 experience. + li Upgrade a weapon proficiency for 2 experience. + li Upgrade the asset for 2 experience. + p Non-humanoid Companion + ul + li Upgrade a stat for 6 experience. + li Reduce any stat by 1 and add +1 to any other for 1 experience. + li Increase its protection for its next level in experience. + li Increase its Face Danger/Clash addition for 4 experience. + li Make piercing 1 harm for one of its attacks for its next piercing harm level in experience (maximum is 3 piercing harm per attack). + li Upgrade an attack proficiency for 1 experience. + li Add a secondary attack for its asset health in experience. + li Upgrade the asset for 2 experience. \ No newline at end of file diff --git a/Ironcrunch/src/components/moves/content/aid-your-ally.pug b/Ironcrunch/src/components/moves/content/aid-your-ally.pug new file mode 100644 index 0000000000..7987dc927a --- /dev/null +++ b/Ironcrunch/src/components/moves/content/aid-your-ally.pug @@ -0,0 +1,5 @@ +include ../mixins/container + +mixin AidYourAlly(values) + +container(values) + p When you Secure an Advantage in direct support of an ally, and score a hit, they (instead of you) can take the benefits of the move. diff --git a/Ironcrunch/src/components/moves/content/ask-the-oracle.pug b/Ironcrunch/src/components/moves/content/ask-the-oracle.pug new file mode 100644 index 0000000000..4989eb3fcd --- /dev/null +++ b/Ironcrunch/src/components/moves/content/ask-the-oracle.pug @@ -0,0 +1,41 @@ +include ../mixins/container + +mixin AskTheOracle(values) + +container(values) + p When you seek to resolve questions, discover details in the world, determine how other characters respond, or trigger encounters or events, you may… + ul + li Draw a conclusion: Decide the answer based on the most interesting and obvious result. + li Ask a yes/no question: Decide the odds of a ‘yes’, and roll on the table below to check the answer. + li Pick two: Envision two options. Rate one as ‘likely’, and roll on the table below to see if it is true. If not, it is the other. + li Spark an idea: Brainstorm or use a random prompt. + .oracle-table + .oracle-row + .button-container-preview + button(type='roll' title='Almost Certain' name='rollalmostcertain' value='&{template:ironsworn_oracles} {{header=Almost Certain}} {{almostCertain=[[d100]]}}') + span.oracle-roll.preview-roll 11 or greater + span.oracle-result + | Almost + | Certain + .oracle-row + .button-container-preview + button(type='roll' title='Likely' name='rolllikely' value='&{template:ironsworn_oracles} {{header=Likely}} {{likely=[[d100]]}}') + span.oracle-roll.preview-roll 26 or greater + span.oracle-result Likely + .oracle-row + .button-container-preview + button(type='roll' title='50/50' name='rollfiftyfifty' value='&{template:ironsworn_oracles} {{header=50/50}} {{fiftyFifty=[[d100]]}}') + span.oracle-roll.preview-roll 51 or greater + span.oracle-result 50/50 + .oracle-row + .button-container-preview + button(type='roll' title='Unlikely' name='rollunlikely' value='&{template:ironsworn_oracles} {{header=Unlikely}} {{unlikely=[[d100]]}}') + span.oracle-roll.preview-roll 76 or greater + span.oracle-result Unlikely + .oracle-row + .button-container-preview + button(type='roll' title='Small Chance' name='rollsmallchance' value='&{template:ironsworn_oracles} {{header=Small Chance}} {{smallChance=[[d100]]}}') + span.oracle-roll.preview-roll 91 or greater + span.oracle-result + | Small + | Chance + .oracle-footer On a match, an extreme result or twist has occurred. diff --git a/Ironcrunch/src/components/moves/content/battle.pug b/Ironcrunch/src/components/moves/content/battle.pug new file mode 100644 index 0000000000..0a6236fd78 --- /dev/null +++ b/Ironcrunch/src/components/moves/content/battle.pug @@ -0,0 +1,14 @@ +include ../mixins/container + +mixin Battle(values) + +container(values) + p When you fight a battle, and it happens in a blur, envision your objective and roll. If you primarily fight… + ul + li At range, or using speed and your surroundings to your advantage: Roll +edge. + li Depending on your courage and others: Roll +heart. + li In close to overpower your opponents: Roll +iron. + li Using trickery to befuddle your opponents: Roll +shadow. + li Using careful tactics to outsmart your opponents: Roll +wits. + p On a strong hit, you achieve your objective with a hard-won victory. Choose one of the weak hit options of the End the Fight move. + p On a weak hit, you achieve your objective, but not without a significant cost. Choose two of the weak hit options of the End the Fight move. + p On a miss, you are defeated and the objective is lost to you. Pay the Price. diff --git a/Ironcrunch/src/components/moves/content/burn-momentum.pug b/Ironcrunch/src/components/moves/content/burn-momentum.pug new file mode 100644 index 0000000000..c12413c621 --- /dev/null +++ b/Ironcrunch/src/components/moves/content/burn-momentum.pug @@ -0,0 +1,5 @@ +include ../mixins/container + +mixin BurnMomentum(values) + +container(values) + p When you make a move, and have positive momentum, you may set your momentum to your reset value and cancel any challenge dice that are less than your current momentum value. diff --git a/Ironcrunch/src/components/moves/content/check-your-gear.pug b/Ironcrunch/src/components/moves/content/check-your-gear.pug new file mode 100644 index 0000000000..33a396348b --- /dev/null +++ b/Ironcrunch/src/components/moves/content/check-your-gear.pug @@ -0,0 +1,8 @@ +include ../mixins/container + +mixin CheckYourGear(values) + +container(values) + p When you check to see if you have a specific helpful item, and you have at least +1 supply, roll +supply. + p On a strong hit, you have it. Take +2 momentum. + p On a weak hit, you have it, but your resources are diminished. Take +2 momentum and suffer -1 supply. + p On a miss, you don’t have it and the situation grows more perilous. Pay the Price. diff --git a/Ironcrunch/src/components/moves/content/clash.pug b/Ironcrunch/src/components/moves/content/clash.pug new file mode 100644 index 0000000000..09957787f1 --- /dev/null +++ b/Ironcrunch/src/components/moves/content/clash.pug @@ -0,0 +1,24 @@ +include ../mixins/container + +mixin Clash(values) + +container(values) + p When your foe has initiative and you fight back, determine if you are hitting your foe’s protection or breaking their defense rating. If your foe’s protection is 0 or you are doing the latter, fix one challenge die as per your foe’s defense rating. Then, envision the contending. If you… + ul + li Fight in close quarters: Roll +iron. + li Exchange a volley at range, shoot at an advancing foe, or fight with a precise weapon: Roll +edge. + p If you are using two light weapons, add +the harm of one of them to this move. + p On a strong hit, Inflict Harm and choose one. You have the initiative. + ul + li You get in position: Take +2 momentum. + li You find an opening: Inflict +1 harm. + p On a weak hit, choose one. + ul + li Inflict Harm and Pay the Price. Your foe has initiative. + li Take the initiative if you used a shield. + p If you used a shield or attacked at ranged, also choose one. + ul + li You are overwhelmed: Suffer -2 momentum. + li Your shield loses durability: Reduce its Face Danger/Clash addition by 1. + li You wasted ammo: Suffer -1 supply. + li The thrown weapon you used is lost or destroyed. + p On a miss, you are outmatched. As above, but you don't Inflict Harm. Your foe has the initiative. diff --git a/Ironcrunch/src/components/moves/content/companion-becomes-unconditional.pug b/Ironcrunch/src/components/moves/content/companion-becomes-unconditional.pug new file mode 100644 index 0000000000..f06274d63c --- /dev/null +++ b/Ironcrunch/src/components/moves/content/companion-becomes-unconditional.pug @@ -0,0 +1,5 @@ +include ../mixins/container + +mixin CompanionBecomesUnconditional(values) + +container(values) + p When your conditional companion is determined to follow you, envision how they express their resolution to stand by your side unconditionally. Then, acquire a companion asset to represent them in exchange for the asset health+1 experience. Erase the goal and drives fields from their companion sheet. You no longer use their loyalty track. diff --git a/Ironcrunch/src/components/moves/content/compel.pug b/Ironcrunch/src/components/moves/content/compel.pug new file mode 100644 index 0000000000..fead7a1789 --- /dev/null +++ b/Ironcrunch/src/components/moves/content/compel.pug @@ -0,0 +1,13 @@ +include ../mixins/container + +mixin Compel(values) + +container(values) + p When you persuade someone to do something, envision your approach and roll. If you... + ul + li Charm, pacify, barter, or convince: Roll +heart (add +2 if you share a bond). + li Threaten or incite: Roll +iron. + li Lie or swindle: Roll +shadow. + li Flaunting or boasting: Roll +wealth or +supply. + p On a strong hit, they’ll do what you want or share what they know. Take +2 momentum. If you use this exchange to Gather Information, make that move now and add +2. + p On a weak hit, as above, but they ask something of you in return; envision what they want. If you are making this move to persuade a conditional companion, suffer -1 loyalty instead. + p On a miss, they refuse or make a demand which costs you greatly. Pay the Price; if you are making this move by interacting with a conditional companion, suffer -1 loyalty instead. \ No newline at end of file diff --git a/Ironcrunch/src/components/moves/content/conditional-companion-abandons.pug b/Ironcrunch/src/components/moves/content/conditional-companion-abandons.pug new file mode 100644 index 0000000000..147f75cc68 --- /dev/null +++ b/Ironcrunch/src/components/moves/content/conditional-companion-abandons.pug @@ -0,0 +1,5 @@ +include ../mixins/container + +mixin ConditionalCompanionAbandons(values) + +container(values) + p When your conditional companion has fulfilled their goal or is no longer willing to follow you, they will leave you at the next opportunity. \ No newline at end of file diff --git a/Ironcrunch/src/components/moves/content/conditional-companion-acts.pug b/Ironcrunch/src/components/moves/content/conditional-companion-acts.pug new file mode 100644 index 0000000000..05ffafbf74 --- /dev/null +++ b/Ironcrunch/src/components/moves/content/conditional-companion-acts.pug @@ -0,0 +1,5 @@ +include ../mixins/container + +mixin ConditionalCompanionActs(values) + +container(values) + p When a conditional companion is in position to make a move according to their drives, motivations or the fulfillment of their goal, they do so without suffering -loyalty. Make the move by rolling +their stat. \ No newline at end of file diff --git a/Ironcrunch/src/components/moves/content/delve-the-depths.pug b/Ironcrunch/src/components/moves/content/delve-the-depths.pug new file mode 100644 index 0000000000..473d477177 --- /dev/null +++ b/Ironcrunch/src/components/moves/content/delve-the-depths.pug @@ -0,0 +1,43 @@ +include ../mixins/container + +mixin DelveTheDepths(values) + +container(values) + p When you traverse an area within a perilous site, envision your surroundings. Then, consider your approach. If you navigate this area… + ul + li With haste: Roll +edge. + li With stealth or trickery: Roll +shadow. + li With observation, intuition, or expertise: Roll +wits. + p On a strong hit, you delve deeper. Mark progress and Find an Opportunity. + p On a weak hit, roll on the following table according to your stat. + p On a miss, Reveal a Danger. + .sheet-move-table.sheet-move-delve-table + .sheet-move-delve-row-header + .sheet-move-delve-column-stat-header-1 Edge + .sheet-move-delve-column-stat-header-2 Shadow + .sheet-move-delve-column-stat-header-3 Wits + .sheet-move-delve-column-header Weak Hit Result + .sheet-oracle-row + .sheet-move-delve-stat-column-1 1-45 (45%) + .sheet-move-delve-stat-column-2 1-30 (30%) + .sheet-move-delve-stat-column-3 1-40 (40%) + .sheet-move-delve-column Mark progress and Reveal a Danger. + .sheet-oracle-row + .sheet-move-delve-stat-column-1 46-65 (20%) + .sheet-move-delve-stat-column-2 31-65 (35%) + .sheet-move-delve-stat-column-3 41-55 (15%) + .sheet-move-delve-column Mark progress. + .sheet-oracle-row + .sheet-move-delve-stat-column-1 66-75 (10%) + .sheet-move-delve-stat-column-2 66-90 (25%) + .sheet-move-delve-stat-column-3 56-80 (25%) + .sheet-move-delve-column Choose one: Mark progress or Find an Opportunity. + .sheet-oracle-row + .sheet-move-delve-stat-column-1 76-80 (5%) + .sheet-move-delve-stat-column-2 91-99 (9%) + .sheet-move-delve-stat-column-3 81-99 (19%) + .sheet-move-delve-column Take both: Mark progress and Find an Opportunity. + .sheet-oracle-row + .sheet-move-delve-stat-column-1 81-100 (20%) + .sheet-move-delve-stat-column-2 100 (1%) + .sheet-move-delve-stat-column-3 100 (1%) + .sheet-move-delve-column Mark progress twice and Reveal a Danger. diff --git a/Ironcrunch/src/components/moves/content/discover-a-site.pug b/Ironcrunch/src/components/moves/content/discover-a-site.pug new file mode 100644 index 0000000000..8f8b93f02c --- /dev/null +++ b/Ironcrunch/src/components/moves/content/discover-a-site.pug @@ -0,0 +1,15 @@ +include ../mixins/container + +mixin DiscoverASite(values) + +container(values) + p When you resolve to enter a perilous site in pursuit of an objective, choose the theme and domain which best represent its nature, and give it a rank. + ul + li Troublesome site: 3 progress per area. + li Dangerous site: 2 progress per area. + li Formidable site: 1 progress per area. + li Extreme site: 2 ticks per area. + li Epic site: 1 tick per area. + p If you are returning to a previously explored site, roll both challenge dice, take the lowest value, and clear that number of progress boxes. + p Then, Delve the Depths to explore this place. + +//- {{discoverSite=[[2d10kl1]]}} \ No newline at end of file diff --git a/Ironcrunch/src/components/moves/content/draw-the-circle.pug b/Ironcrunch/src/components/moves/content/draw-the-circle.pug new file mode 100644 index 0000000000..08d2fbfcaa --- /dev/null +++ b/Ironcrunch/src/components/moves/content/draw-the-circle.pug @@ -0,0 +1,14 @@ +include ../mixins/container + +mixin DrawTheCircle(values) + +container(values) + p When you challenge someone to a formal duel, or accept a challenge, roll +heart. If you share a bond with this community, add +2. + p On a strong hit, take +2 momentum. You may also choose any boasts and take +2 momentum for each. + p On a weak hit, you may choose up to two boasts in exchange for +2 momentum for each. + ul + li Grant first strike: Your foe has initiative. + li Bare yourself: Take no benefit of armor or shield. + li Hold no iron: Take no benefit of weapons. + li Bloody yourself: Endure Harm (1d3P harm) with no addition. + li To the death: This fight must end with death. + p On a miss, you begin the duel at a disadvantage. Pay the Price. \ No newline at end of file diff --git a/Ironcrunch/src/components/moves/content/end-the-fight.pug b/Ironcrunch/src/components/moves/content/end-the-fight.pug new file mode 100644 index 0000000000..521ea2ead9 --- /dev/null +++ b/Ironcrunch/src/components/moves/content/end-the-fight.pug @@ -0,0 +1,20 @@ +include ../mixins/container + +mixin EndTheFight(values) + +container(values) + p Progress Move + p When your foe’s health is below 10 for harm suffered, you may resolve the outcome of this fight. If you do, roll the challenge dice and compare to your progress. + p On a strong hit, this foe is no longer in the fight. They are killed, out of action, flee, or surrender as appropriate to the situation and your intent. + p On a weak hit, as above, but you must also choose one. + ul + li It’s worse than you thought: Endure Harm with no armor addition. + li You are overcome: Endure Stress. + li You harvest the spoils of the battle: Take a condition. + li You suffer collateral damage: Something of value is lost or broken (suffer -supply or -wealth), or someone important must pay the cost. + li A new danger or foe appears, or an existing danger worsens: Suffer
-2 momentum. + li Others won’t forget or you are marked for vengeance: Suffer -3 momentum. + li An objective falls out of reach: Forsake Your Vow. + p On a miss, choose one. + ul + li Your foe has not given up; set their health to 50% of their maximum, rounding down. Then, Pay the Price. + li You have lost this fight. diff --git a/Ironcrunch/src/components/moves/content/endure-harm.pug b/Ironcrunch/src/components/moves/content/endure-harm.pug new file mode 100644 index 0000000000..3ff780829d --- /dev/null +++ b/Ironcrunch/src/components/moves/content/endure-harm.pug @@ -0,0 +1,21 @@ +include ../mixins/container +include ../../../common/pug/shared-tables + +mixin EndureHarm(values) + +container(values) + p When you face physical damage, subtract your armor’s protection to the harm and suffer -health equal to the remaining harm. If your health is reduced 0, suffer -momentum equal to any remaining -health. + p Then roll +iron. + p On a strong hit, you stand firm. If your health is suffering harm, choose one. + ul + li Shake it off: If your health is greater than 0, suffer up to -2 momentum in exchange for the same amount of +health. + li Embrace the pain: Take +2 momentum. + p On a weak hit, you press on. If you wear armor which values are not at its minimum (0), choose one. + ul + li It loses coverage: Reduce its Endure Harm addition by 1. + li It loses resistance: Suffer -1 to its protection. + li You stumble: Suffer -2 momentum. + p On a miss, also suffer -1 momentum. If you wear an armor which values are not at its minimum (0), choose as above. If you are at 0 health, you must take the wounded or maimed condition (if currently not taken) or roll on the following table. + br + label.sheet-roll-label.sheet-embedded-btn ROLL ORACLE + button.sheet-hide(type='roll' title='Endure Harm Oracle' name='RollEndureHarmOracle' value='&{template:ironsworn_oracles} {{header=Endure Harm Oracle}} {{endureHarm=[[d100]]}}') + +endureHarmTable \ No newline at end of file diff --git a/Ironcrunch/src/components/moves/content/endure-stress.pug b/Ironcrunch/src/components/moves/content/endure-stress.pug new file mode 100644 index 0000000000..1c68c9d5aa --- /dev/null +++ b/Ironcrunch/src/components/moves/content/endure-stress.pug @@ -0,0 +1,16 @@ +include ../mixins/container + +mixin EndureStress(values) + +container(values) + p When you face mental shock or despair, suffer -spirit equal to your foe’s rank or as appropriate to the situation. If your spirit is reduced to 0, suffer -momentum equal to any remaining -spirit. + p Then, roll +spirit or +heart, whichever is higher. + p On a strong hit, choose one. + ul + li Shake it off: If your spirit is greater than 0, suffer -1 momentum in exchange for +1 spirit + li Embrace the darkness: Take +2 momentum + p On a weak hit, you press on. + p On a miss, also suffer -1 momentum. If you are at 0 spirit, take the shaken or corrupted condition (if currently not taken) or roll on the following table. + br + label.sheet-roll-label.sheet-embedded-btn ROLL ORACLE + button.sheet-hide(type='roll' title='Endure Stress Oracle' name='rollendurestressoracle' value='&{template:ironsworn_oracles} {{header=Endure Stress Oracle}} {{endureStress=[[d100]]}}') + +endureStressTable diff --git a/Ironcrunch/src/components/moves/content/enter-the-fray.pug b/Ironcrunch/src/components/moves/content/enter-the-fray.pug new file mode 100644 index 0000000000..a40762d29e --- /dev/null +++ b/Ironcrunch/src/components/moves/content/enter-the-fray.pug @@ -0,0 +1,17 @@ +include ../mixins/container + +mixin EnterTheFray(values) + +container(values) + p When you enter in combat, determine who is in control. If you are... + ul + li Reacting: Roll +edge. + li Facing off: Roll +heart. + li Charging: Roll +iron. + li Ambushing: Roll +shadow. + li Ambushed: Roll +wits. + p On a strong hit, take +4 momentum. You have initiative. + p On a weak hit, choose one. + ul + li Bolster your position: Take +4 momentum. Your foe has initiative. + li Prepare to act: Take initiative. + p On a miss, combat begins with you at a disadvantage. Pay the Price. Your foe has initiative. \ No newline at end of file diff --git a/Ironcrunch/src/components/moves/content/escape-the-depths.pug b/Ironcrunch/src/components/moves/content/escape-the-depths.pug new file mode 100644 index 0000000000..d2468bf39d --- /dev/null +++ b/Ironcrunch/src/components/moves/content/escape-the-depths.pug @@ -0,0 +1,21 @@ +include ../mixins/container + +mixin EscapeTheDepths(values) + +container(values) + p When you flee or withdraw from a site, consider the situation and your approach. If you... + ul + li Find the fastest way out: Roll +edge. + li Steel yourself against the horrors of this place: Roll +heart. + li Fight your way out: Roll +iron. + li Keep out of sight: Roll +shadow. + li Retrace your steps or locate an alternate path: Roll +wits. + p On a strong hit, you make your way safely out of the site. Take +2 momentum. + p On a weak hit, you find your way out, but this place exacts its price. Choose one. + ul + li You are weary or wounded: Endure Harm with no armor addition (as per the site’s rank, piercing). + li The experience leaves you shaken: Endure Stress (as per the site’s rank). + li Your body or mind are marked. Take a condition. + li You are delayed, and it costs you. Suffer -momentum as per the site’s rank. + li You face a new complication as you emerge from the depths. Suffer -1 momentum. + li A denizen plots their revenge. Suffer -3 momentum. + p On a miss, a dire threat or imposing obstacle stands in your way. Reveal a Danger. If you survive, you may make your escape. diff --git a/Ironcrunch/src/components/moves/content/face-a-setback.pug b/Ironcrunch/src/components/moves/content/face-a-setback.pug new file mode 100644 index 0000000000..cd597c835c --- /dev/null +++ b/Ironcrunch/src/components/moves/content/face-a-setback.pug @@ -0,0 +1,9 @@ +include ../mixins/container + +mixin FaceASetback(values) + +container(values) + p When your momentum is at its minimum (-6), make a move if your action die matches your negative momentum, you must cancel your action die. + p If you suffer additional -momentum, choose one. + ul + li Exchange each additional -momentum for any combination of -health, -spirit, -supply, -wealth or -companion’s loyalty as appropriate to the circumstances. + li Envision an event or discovery which undermines your progress in a current quest, journey or fight. Then, for each additional -momentum, clear 1 unit of progress on that track per its rank (troublesome=clear 3 progress; dangerous=clear 2 progress; formidable=clear 1 progress; extreme=clear 2 ticks; epic=clear 1 tick). \ No newline at end of file diff --git a/Ironcrunch/src/components/moves/content/face-danger.pug b/Ironcrunch/src/components/moves/content/face-danger.pug new file mode 100644 index 0000000000..159624c11f --- /dev/null +++ b/Ironcrunch/src/components/moves/content/face-danger.pug @@ -0,0 +1,21 @@ +include ../mixins/container + +mixin FaceDanger(values) + +container(values) + p When you attempt something risky or react to an imminent threat, envision your action and roll. If you act... + ul + li With speed, agility, or precision: Roll +edge. + li With charm, loyalty, or courage: Roll +heart. + li With aggressive action, forceful defense, strength, or endurance: Roll +iron. + li With deception, stealth, or trickery: Roll +shadow. + li With expertise, insight, or observation: Roll +wits. + p On a strong hit, you are successful. Take +2 momentum. + p On a weak hit, you succeed, but face a troublesome cost. Choose one. + ul + li You are delayed, lose advantage, or face a new danger: Suffer -1 momentum (-2 if you used a shield). + li Your shield loses durability: Reduce its Face Danger/Clash addition by 1. + li You are tired or hurt: Endure Harm (1d3P harm). + li You are dispirited or afraid: Endure Stress (1 stress). + li You sacrifice resources: Suffer -1 supply or -1 wealth. + li You get a negative condition: Take a condition. + p On a miss, you fail, or your progress is undermined by a dramatic and costly turn of events. Pay the Price. If you are in combat. diff --git a/Ironcrunch/src/components/moves/content/face-death.pug b/Ironcrunch/src/components/moves/content/face-death.pug new file mode 100644 index 0000000000..d0e1b9c52a --- /dev/null +++ b/Ironcrunch/src/components/moves/content/face-death.pug @@ -0,0 +1,13 @@ +include ../mixins/container + +mixin FaceDeath(values) + +container(values) + p When you are brought to the brink of death, roll +heart. + p On a strong hit, death rejects you. + p On a weak hit, choose one. + ul + li You die, but not before making a noble sacrifice. Envision your final moments. + li Death desires something of you in exchange for your life. Envision what it wants, and Swear an Iron Vow (formidable or extreme) to complete that quest. If you fail to score a hit when you Swear an Iron Vow, or refuse the quest, you are dead. Otherwise, you return to the mortal world and are now cursed. You may only clear the cursed condition by completing the quest. + p On a miss, you are dead. + +//- TODO: {{owl=[[?{Owl Companion|No,0|Yes,?{Owl's Health&#124;0&#125;}]]}} \ No newline at end of file diff --git a/Ironcrunch/src/components/moves/content/face-desolation.pug b/Ironcrunch/src/components/moves/content/face-desolation.pug new file mode 100644 index 0000000000..a84830b46e --- /dev/null +++ b/Ironcrunch/src/components/moves/content/face-desolation.pug @@ -0,0 +1,11 @@ +include ../mixins/container + +mixin FaceDesolation(values) + +container(values) + p When you are brought to the brink of desolation, roll +heart. + p On a strong hit, you resist and press on. + p On a weak hit, choose one. + ul + li Your spirit or sanity breaks, but not before you make a noble sacrifice. Envision your final moments. + li You see a vision of a dreaded event coming to pass. Envision that dark future, and Swear an Iron Vow (formidable or extreme) to prevent it. If you fail to score a hit when you Swear an Iron Vow, or refuse the quest, you are lost. Otherwise, you return to your senses and are now tormented. You may only clear the tormented condition by completing the quest. + p On a miss, you succumb to despair or horror and are lost. diff --git a/Ironcrunch/src/components/moves/content/find-an-opportunity.pug b/Ironcrunch/src/components/moves/content/find-an-opportunity.pug new file mode 100644 index 0000000000..2bf830401b --- /dev/null +++ b/Ironcrunch/src/components/moves/content/find-an-opportunity.pug @@ -0,0 +1,8 @@ +include ../mixins/container +include ../mixins/oracle-table +include ../../../data/oracles + +mixin FindAnOpportunity(values) + +container(values) + p When you encounter a helpful situation or feature within a travel waypoint or a site, roll to determine what kind of opportunity you encounter. + +oracleTable(oracles.ironcrunch['Find An Opportunity'], 'ironcrunch') \ No newline at end of file diff --git a/Ironcrunch/src/components/moves/content/foe-inflicts-harm.pug b/Ironcrunch/src/components/moves/content/foe-inflicts-harm.pug new file mode 100644 index 0000000000..1c8ba96340 --- /dev/null +++ b/Ironcrunch/src/components/moves/content/foe-inflicts-harm.pug @@ -0,0 +1,5 @@ +include ../mixins/container + +mixin FoeInflictsHarm(values) + +container(values) + p When you face harm from a foe, roll their combat move harm and Endure Harm with the resulting score. diff --git a/Ironcrunch/src/components/moves/content/forge-a-bond.pug b/Ironcrunch/src/components/moves/content/forge-a-bond.pug new file mode 100644 index 0000000000..90c2820b94 --- /dev/null +++ b/Ironcrunch/src/components/moves/content/forge-a-bond.pug @@ -0,0 +1,11 @@ +include ../mixins/container + +mixin ForgeABond(values) + +container(values) + p When you spend significant time with a person or community, stand together to face hardships, or make sacrifices for their cause, you can attempt to create a bond. When you do, roll +heart. If you make this move after you successfully Fulfill Your Vow to their benefit, you may reroll any dice. + p On a strong hit, make note of the bond, mark a tick on your bond progress track, and choose one. + ul + li Take +2 spirit. + li Take +4 momentum. + p On a weak hit, they ask something more of you first. Envision what it is, do it (or Swear an Iron Vow), and mark the bond. If you refuse or fail, Pay the Price. + p On a miss, they reject you. Pay the Price. diff --git a/Ironcrunch/src/components/moves/content/forsake-your-vow.pug b/Ironcrunch/src/components/moves/content/forsake-your-vow.pug new file mode 100644 index 0000000000..32a6963cdf --- /dev/null +++ b/Ironcrunch/src/components/moves/content/forsake-your-vow.pug @@ -0,0 +1,6 @@ +include ../mixins/container + +mixin ForsakeYourVow(values) + +container(values) + p When you renounce your quest, betray your promise, or the goal is lost to you, clear the vow and Endure Stress. You suffer -spirit equal to the rank of your quest (troublesome=1; dangerous=2; formidable=3; extreme=4; epic=5). + p If the vow was made to a person or community with whom you share a bond, Test Your Bond when you next meet. \ No newline at end of file diff --git a/Ironcrunch/src/components/moves/content/fulfill-your-vow.pug b/Ironcrunch/src/components/moves/content/fulfill-your-vow.pug new file mode 100644 index 0000000000..f2e63d7a64 --- /dev/null +++ b/Ironcrunch/src/components/moves/content/fulfill-your-vow.pug @@ -0,0 +1,13 @@ +include ../mixins/container + +mixin FulfillYourVow(values) + +container(values) + p Progress Move + p When you achieve what you believe to be the fulfillment of your vow, roll the challenge dice and compare to your progress. + p On a strong hit, your quest is complete. Mark experience (troublesome=1; dangerous=2; formidable=3; extreme=4; epic=5). + p On a weak hit, there is more to be done or you realize the truth of your quest. Envision what you discover. Then, mark experience (troublesome=0; dangerous=1; formidable=2; extreme=3; epic=4). You may Swear an Iron Vow to set things right. If you do, add +1. + p If you are fulfilling your vow in service of someone with the means, inclination, or obligation, to reward you materially, take +wealth. On a strong hit, take +wealth equal to the rank of the vow+2. On a weak hit, take +wealth equal to the rank of vow+1. If you are being rewarded with an item, its cost must be the same as the amount of wealth. + p On a miss, your quest is undone. Envision what happens, and choose one. + ul + li You recommit: Clear all but one filled progress, and raise the quest’s rank by one (if not already epic). + li You give up: Forsake Your Vow. \ No newline at end of file diff --git a/Ironcrunch/src/components/moves/content/gather-information.pug b/Ironcrunch/src/components/moves/content/gather-information.pug new file mode 100644 index 0000000000..63d36af229 --- /dev/null +++ b/Ironcrunch/src/components/moves/content/gather-information.pug @@ -0,0 +1,8 @@ +include ../mixins/container + +mixin GatherInformation(values) + +container(values) + p When you search an area, ask questions, conduct an investigation, or follow a track, roll +wits. If you act within a community or ask questions of a person with whom you share a bond, add +2. + p On a strong hit, you discover something helpful and specific. The path you must follow or action you must take to make progress is made clear. Envision what you learn, and take +4 momentum. + p On a weak hit, you discover something helpful, but the information complicates your quest or a new danger is introduced. Envision what you discover, and take +2 momentum. + p On a miss, your investigation unearths a dire threat or reveals an unwelcome truth that undermines your quest. Pay the Price. diff --git a/Ironcrunch/src/components/moves/content/heal.pug b/Ironcrunch/src/components/moves/content/heal.pug new file mode 100644 index 0000000000..082d0a7947 --- /dev/null +++ b/Ironcrunch/src/components/moves/content/heal.pug @@ -0,0 +1,13 @@ +include ../mixins/container + +mixin Heal(values) + +container(values) + p When you receive care or treat an injury or ailment, envision the situation and roll. If you… + ul + li Receive treatment from someone (not an ally or companion): Roll +iron. + li Mend your own wounds: Roll +iron or +wits, whichever is lower. + li Provide care: Roll +wits. + p On a strong hit, your care is helpful. If you (or the ally under your care) have the palsied, wounded, reeled or dying conditions, you may clear them. Then, take or give up to +4 health. + p If you are making this move using an antivenom, clear the poisoned condition instead of the stated above. + p On a weak hit, as above, but you must suffer -2 supply or -2 momentum (your choice). + p On a miss, the aid is ineffective. Pay the Price. diff --git a/Ironcrunch/src/components/moves/content/hearten.pug b/Ironcrunch/src/components/moves/content/hearten.pug new file mode 100644 index 0000000000..927425c608 --- /dev/null +++ b/Ironcrunch/src/components/moves/content/hearten.pug @@ -0,0 +1,8 @@ +include ../mixins/container + +mixin Hearten(values) + +container(values) + p When you speak encouraging words, or find a moment of peace, to help you, or someone else, to recover from stress or emotional trauma, roll +heart. + p On a strong hit, your heartening is helpful. If you (or the ally under your care) have the shaken condition, you may clear them; you may also reduce the severity of a compulsed and hallucinating conditions by 1. Then, take or give up to +3 spirit. + p On a weak hit, as above, but you must suffer -2 momentum and don’t reduce the severity of any condition. + p On a miss, your aid is ineffective. Pay the Price. \ No newline at end of file diff --git a/Ironcrunch/src/components/moves/content/inflict-harm.pug b/Ironcrunch/src/components/moves/content/inflict-harm.pug new file mode 100644 index 0000000000..39a7749ff9 --- /dev/null +++ b/Ironcrunch/src/components/moves/content/inflict-harm.pug @@ -0,0 +1,5 @@ +include ../mixins/container + +mixin InflictHarm(values) + +container(values) + p When you deal physical damage, roll your weapon’s harm. If you are hitting your foe’s protection and not breaking their defense rating, subtract your foe’s protection from each roll. Your foe suffers -health with the resulting score. \ No newline at end of file diff --git a/Ironcrunch/src/components/moves/content/learn-from-faults.pug b/Ironcrunch/src/components/moves/content/learn-from-faults.pug new file mode 100644 index 0000000000..e8bdfb46fd --- /dev/null +++ b/Ironcrunch/src/components/moves/content/learn-from-faults.pug @@ -0,0 +1,13 @@ +include ../mixins/container + +mixin LearnFromFaults(values) + +container(values) + p When you spend time taking lessons from your failures and hardships, and your misses track is +6 or greater, roll the challenge dice and compare to your misses. + p On a strong hit, your failures have paid off significantly for your personal growth. Take 3 experience and clear all progress. Then, choose one. + ul + li Rectify your ways: Reduce any stat by 1 and add +1 to any other. + li Abandon a course: Discard a single asset card (not a companion) and take 2 experience for each marked ability. + li Commit to a new goal: Swear an Iron Vow now, add +2 and take +2 momentum on a hit You may reroll. + li Strengthen your willpower: Take +6 momentum. + p On a weak hit, you learn from your missteps. Take 2 experience and clear all progress. + p On a miss, you learn very little. Take 1 experience and clear all progress. \ No newline at end of file diff --git a/Ironcrunch/src/components/moves/content/locate-your-objective.pug b/Ironcrunch/src/components/moves/content/locate-your-objective.pug new file mode 100644 index 0000000000..d8d2bd9908 --- /dev/null +++ b/Ironcrunch/src/components/moves/content/locate-your-objective.pug @@ -0,0 +1,11 @@ +include ../mixins/container + +mixin LocateYourObjective(values) + +container(values) + p When your exploration of a site comes to an end, roll the challenge dice and compare to your progress. + p On a strong hit, you locate your objective and the situation favors you. Choose one. + ul + li Make another move now (not a progress move), and add +2. + li Take +2 momentum. + p On a weak hit, you locate your objective but face an unforeseen hazard or complication. Envision what you find. + p On a miss, your objective falls out of reach, you have been misled about the nature of your objective, or you discover that this site holds unexpected depths. If you continue your exploration, clear all but one filled progress and raise the site’s rank by one (if not already epic). \ No newline at end of file diff --git a/Ironcrunch/src/components/moves/content/make-an-effort.pug b/Ironcrunch/src/components/moves/content/make-an-effort.pug new file mode 100644 index 0000000000..8c7730d386 --- /dev/null +++ b/Ironcrunch/src/components/moves/content/make-an-effort.pug @@ -0,0 +1,5 @@ +include ../mixins/container + +mixin MakeAnEffort(values) + +container(values) + p When you make a move demanding more of yourself and have the required effort level, you may suffer -momentum in exchange for the same amount of your move effort level to addition to your roll. \ No newline at end of file diff --git a/Ironcrunch/src/components/moves/content/make-camp.pug b/Ironcrunch/src/components/moves/content/make-camp.pug new file mode 100644 index 0000000000..f4f2f75ee2 --- /dev/null +++ b/Ironcrunch/src/components/moves/content/make-camp.pug @@ -0,0 +1,14 @@ +include ../mixins/container + +mixin MakeCamp(values) + +container(values) + p When you rest and recover for several hours in the wild, roll +supply. + p On a strong hit, if you have the dazed or starved conditions, you may clear them. Then, you and your allies may each choose two. + p On a weak hit, as above, but you and your allies may choose one instead. + ul + li Recuperate: Take +25% of your maximum health. If you have the blinded, deafened or weakened conditions, you may clear them. + li Partake: Suffer -3 supply and take +25% of maximum health for you and any companions. If you or your companion you are partaking with has the conditions of in the above option, you may clear them. + li Relax: Take +2 spirit. If you have the unsteady condition, you may clear it. + li Focus: Take +3 momentum. If you have the stupefied condition, you may clear it. + li Prepare: When you break camp, add +2 if you Undertake a Journey. + p On a miss, you take no comfort. Pay the Price. \ No newline at end of file diff --git a/Ironcrunch/src/components/moves/content/manifest-insanity.pug b/Ironcrunch/src/components/moves/content/manifest-insanity.pug new file mode 100644 index 0000000000..f695517c28 --- /dev/null +++ b/Ironcrunch/src/components/moves/content/manifest-insanity.pug @@ -0,0 +1,10 @@ +include ../mixins/container +include ../mixins/oracle-table +include ../../../data/oracles + +mixin ManifestInsanity(values) + - var type = 'ironcrunch' + - var key = 'Manifest Insanity' + +container(values) + p When you fail to struggle against a mental shock, make the most obvious negative outcome happen from the following tables, or roll on them to determine what kind of insanity you manifest. + +oracleTable(oracles[type][key], `${type}`) \ No newline at end of file diff --git a/Ironcrunch/src/components/moves/content/not-assist-conditional-companion.pug b/Ironcrunch/src/components/moves/content/not-assist-conditional-companion.pug new file mode 100644 index 0000000000..d897ccc36b --- /dev/null +++ b/Ironcrunch/src/components/moves/content/not-assist-conditional-companion.pug @@ -0,0 +1,5 @@ +include ../mixins/container + +mixin NotAssistConditionalCompanion(values) + +container(values) + p When a conditional companion suffers the consequence of one of your moves and you don’t come to their aid, suffer -1 to their loyalty. diff --git a/Ironcrunch/src/components/moves/content/order-conditional-companion.pug b/Ironcrunch/src/components/moves/content/order-conditional-companion.pug new file mode 100644 index 0000000000..80f1b5bbbc --- /dev/null +++ b/Ironcrunch/src/components/moves/content/order-conditional-companion.pug @@ -0,0 +1,8 @@ +include ../mixins/container + +mixin OrderConditionalCompanion(values) + +container(values) + p When you ask a conditional companion to act for something not akin to their drives, motivations or the fulfillment of their goal, or if the conditional companion is a hireling, roll +loyalty. If you share a bond, you may reroll any dice. + p On a strong hit, your Conditional Companion Acts, but suffer -1 to their loyalty. + p On a weak hit, your Conditional Companion Acts, but not without whimper. Suffer -2 to their loyalty. + p On a miss, your conditional companion refuses to follow your request. Suffer -2 to their loyalty. \ No newline at end of file diff --git a/Ironcrunch/src/components/moves/content/out-of-supply.pug b/Ironcrunch/src/components/moves/content/out-of-supply.pug new file mode 100644 index 0000000000..a549666b46 --- /dev/null +++ b/Ironcrunch/src/components/moves/content/out-of-supply.pug @@ -0,0 +1,5 @@ +include ../mixins/container + +mixin OutOfSupply(values) + +container(values) + p When your supply is exhausted (reduced to 0), take the unprepared condition. If you suffer additional -supply while unprepared, you must exchange each additional -supply for any combination of -health, -spirit, -wealth, -companion’s loyalty or -momentum as appropriate to the circumstances. diff --git a/Ironcrunch/src/components/moves/content/patch-equipment.pug b/Ironcrunch/src/components/moves/content/patch-equipment.pug new file mode 100644 index 0000000000..3676a6c0be --- /dev/null +++ b/Ironcrunch/src/components/moves/content/patch-equipment.pug @@ -0,0 +1,12 @@ +include ../mixins/container + +mixin PatchEquipment(values) + +container(values) + p When you attempt to amend an armor or shield, envision how provisions from your gear help you patch the piece of equipment and suffer -2 supply. Then, roll +wits. + p On a strong hit, your amendment is efficient. Choose one. + ul + li Rise by 1 your armor’s protection. + li Rise by 1 your armor’s Endure Harm addition. + li Rise by 1 your shield’s Face Danger/Clash addition. + p On a weak hit, as above, but the patch work takes longer than expected or demand extra resources. Suffer -2 momentum. + p On a miss, your craft is ineffective. Pay the Price. \ No newline at end of file diff --git a/Ironcrunch/src/components/moves/content/pay-the-price.pug b/Ironcrunch/src/components/moves/content/pay-the-price.pug new file mode 100644 index 0000000000..447defb2cd --- /dev/null +++ b/Ironcrunch/src/components/moves/content/pay-the-price.pug @@ -0,0 +1,61 @@ +include ../mixins/container + +mixin PayThePrice(values) + +container(values) + p When you suffer the outcome of a move, mark a tick on your miss track; if it is a progress move, mark two; on a match, mark the double. Then, draw a resilience card and choose one. + ul + li Make the most obvious negative outcome happen. + li Envision two negative outcomes. Rate one as ‘likely’, and Ask the Oracle using the yes/no table. On a ‘yes’, make that outcome happen. Otherwise, make it the other. + li Roll on the following table. If you have difficulty interpreting the result to fit the current situation, roll again. + .sheet-oracle-table + .oracle-row + span.sheet-oracle-roll 1-2 (2%) + span.sheet-oracle-result Roll again and apply that result but make it worse. If you roll this result yet again, think of something dreadful that changes the course of your quest and make it happen. + .oracle-row + span.sheet-oracle-roll 3-5 (3%) + span.sheet-oracle-result A person or community you trusted loses faith in you, or acts against you. + .oracle-row + span.sheet-oracle-roll 6-8 (3%) + span.sheet-oracle-result A person or community you care about is exposed to danger. + .oracle-row + span.sheet-oracle-roll 9-15 (7%) + span.sheet-oracle-result You are separated from something or someone. + .oracle-row + span.sheet-oracle-roll 16-22 (7%) + span.sheet-oracle-result Your action has an unintended effect. + .oracle-row + span.sheet-oracle-roll 23-29 (7%) + span.sheet-oracle-result Something of value is lost or destroyed. + .oracle-row + span.sheet-oracle-roll 30-36 (7%) + span.sheet-oracle-result The current situation worsens. + .oracle-row + span.sheet-oracle-roll 37-43 (7%) + span.sheet-oracle-result A new danger or foe is revealed. + .oracle-row + span.sheet-oracle-roll 44-52 (9%) + span.sheet-oracle-result It causes a delay or puts you at a disadvantage. + .oracle-row + span.sheet-oracle-roll 53-61 (9%) + span.sheet-oracle-result It is harmful. + .oracle-row + span.sheet-oracle-roll 62-70 (9%) + span.sheet-oracle-result It is stressful. + .oracle-row + span.sheet-oracle-roll 71-77 (7%) + span.sheet-oracle-result It is wasteful. + .oracle-row + span.sheet-oracle-roll 78-84 (7%) + span.sheet-oracle-result You got a negative condition. + .oracle-row + span.sheet-oracle-roll 85-89 (5%) + span.sheet-oracle-result A surprising development complicates your quest. + .oracle-row + span.sheet-oracle-roll 90-94 (5%) + span.sheet-oracle-result It forces you to act against your best intentions. + .oracle-row + span.sheet-oracle-roll 95-99 (5%) + span.sheet-oracle-result A friend, companion, or ally is put in harm’s way (or you are, if alone). + .oracle-row + span.sheet-oracle-roll 100 (1%) + span.sheet-oracle-result Roll twice more on this table. Both results occur. If they are the same result, make it worse. \ No newline at end of file diff --git a/Ironcrunch/src/components/moves/content/reach-a-milestone.pug b/Ironcrunch/src/components/moves/content/reach-a-milestone.pug new file mode 100644 index 0000000000..0fab3c9fd0 --- /dev/null +++ b/Ironcrunch/src/components/moves/content/reach-a-milestone.pug @@ -0,0 +1,11 @@ +include ../mixins/container + +mixin ReachAMilestone(values) + +container(values) + p When you make significant progress in your quest by overcoming a critical obstacle, completing a perilous journey, solving a complex mystery, defeating a powerful threat, gaining vital support, or acquiring a crucial item, you may mark progress. + ul + li Troublesome quest: Mark 3 progress. + li Dangerous quest: Mark 2 progress. + li Formidable quest: Mark 1 progress. + li Extreme quest: Mark 2 ticks. + li Epic quest: Mark 1 tick. diff --git a/Ironcrunch/src/components/moves/content/reach-your-destination.pug b/Ironcrunch/src/components/moves/content/reach-your-destination.pug new file mode 100644 index 0000000000..c071b5ddc3 --- /dev/null +++ b/Ironcrunch/src/components/moves/content/reach-your-destination.pug @@ -0,0 +1,12 @@ +include ../mixins/container + +mixin ReachYourDestination(values) + +container(values) + p Progress Move + p When your journey comes to an end, roll the challenge dice and compare to your progress. Momentum is ignored on this roll. + p On a strong hit, the situation at your destination favors you. Choose one. + ul + li Make another move now (not a progress move), and add +2. + li Take +2 momentum. + p On a weak hit, you arrive but face an unforeseen hazard or complication. Envision what you find, and take +1 momentum. + p On a miss, you have gone hopelessly astray, your objective is lost to you, or you were misled about your destination. If your journey continues, clear all but one filled progress, and raise the journey’s rank by one (if not already epic). diff --git a/Ironcrunch/src/components/moves/content/resupply.pug b/Ironcrunch/src/components/moves/content/resupply.pug new file mode 100644 index 0000000000..911dd5e9b0 --- /dev/null +++ b/Ironcrunch/src/components/moves/content/resupply.pug @@ -0,0 +1,15 @@ +include ../mixins/container + +mixin Resupply(values) + +container(values) + p When you hunt, forage or scavenge, roll +wits. + p On a strong hit, you bolster your resources. If you have the unprepared condition, you may clear it. Then, take up to +3 supply and +1d2-1 wealth. + p On a weak hit, take up to +2 supply, but suffer -1 momentum for each. + p On a hit, if you are looting the dead, envision what you loot according to the dead’s wearing, gear or nature and take +wealth according to its rank. If the rank is... + ul + li Troublesome: Take +1d2-1 + li Dangerous: Take +1d2 wealth. + li Formidable: Take +1d3 wealth. + li Extreme: Take +1d4 wealth. + li Epic: Take +1d6 wealth. + p On a miss, you find nothing helpful or your assumptions betray you. Pay the Price. \ No newline at end of file diff --git a/Ironcrunch/src/components/moves/content/reveal-a-danger.pug b/Ironcrunch/src/components/moves/content/reveal-a-danger.pug new file mode 100644 index 0000000000..6049ae9540 --- /dev/null +++ b/Ironcrunch/src/components/moves/content/reveal-a-danger.pug @@ -0,0 +1,8 @@ +include ../mixins/container +include ../mixins/oracle-table +include ../../../data/oracles + +mixin RevealADanger(values) + +container(values) + p When you are undertaking a journey and are waylaid by a perilous event, or delving the depths of a site and find yourself in a risky situation, make the most obvious negative outcome happen from the following tables, or roll on them to determine what kind of danger you encounter. + +oracleTable(oracles.ironcrunch['Reveal A Danger'], 'ironcrunch') diff --git a/Ironcrunch/src/components/moves/content/secure-an-advantage.pug b/Ironcrunch/src/components/moves/content/secure-an-advantage.pug new file mode 100644 index 0000000000..4042b25204 --- /dev/null +++ b/Ironcrunch/src/components/moves/content/secure-an-advantage.pug @@ -0,0 +1,15 @@ +include ../mixins/container + +mixin SecureAnAdvantage(values) + +container(values) + p When you assess a situation, make preparations, or attempt to gain leverage, envision your action and roll. If you act... + li With speed, agility, or precision: Roll +edge. + li With charm, loyalty, or courage: Roll +heart. + li With aggressive action, forceful defense, strength, or endurance: Roll +iron. + li With deception, stealth, or trickery: Roll +shadow. + li With expertise, insight, or observation: Roll +wits. + p On a strong hit, you gain advantage. Choose one. + li Take control: Make another move now (not a progress move), and add +2. + li Prepare to act: Take +4 momentum. + p On a weak hit, your advantage is short-lived. Take +2 momentum. + p On a miss, you fail or your assumptions betray you. Pay the Price. diff --git a/Ironcrunch/src/components/moves/content/show-resilience.pug b/Ironcrunch/src/components/moves/content/show-resilience.pug new file mode 100644 index 0000000000..f8336089e5 --- /dev/null +++ b/Ironcrunch/src/components/moves/content/show-resilience.pug @@ -0,0 +1,21 @@ +include ../mixins/container + +mixin ShowResilience(values) + +container(values) + p When you make a move, and have in a hand a resilience card with the corresponding suit of the move, these beings… + ul + li Spades (♠): Combat and suffer moves. + li Clubs (♣): Adventure and Delve moves. + li Hearts (♥): Relationship, companion and recovery moves. + li Diamonds (♦): Quest and asset moves. + p You may… + ul + li Ready yourself to not make previous missteps: Play the resilience card before rolling. + li Instantly recover from a misstep: Play the resilience card after rolling, but suffer -2 momentum. + p Then, modify the roll as per the value of the card right before reshuffling back into the deck. + ul + li Ace: You may reroll any dice. Take +4 momentum. + li K: Score a strong hit, or Inflict Harm once more and make it piercing. + li Q: Count a miss as a weak hit, and a weak hit as a strong hit; or Inflict Harm once more. + li J: Score a weak hit, or make the harm piercing. + li 2-10: Add this amount to the roll. \ No newline at end of file diff --git a/Ironcrunch/src/components/moves/content/sojourn.pug b/Ironcrunch/src/components/moves/content/sojourn.pug new file mode 100644 index 0000000000..842654abc0 --- /dev/null +++ b/Ironcrunch/src/components/moves/content/sojourn.pug @@ -0,0 +1,24 @@ + +include ../mixins/container + +mixin Sojourn(values) + +container(values) + p When you spend time in a community, roll +heart. If you share a bond, add +2. + p On strong hit, clear a starved condition; then, you and your allies may each choose two from within the categories below. On a weak hit, choose one. If you share a bond, choose one more. + p On a hit, you and your allies may each reduce the severity of the amnesiac condition by 1, or clear the dazed condition. Then, you and your allies may each focus on one of your chosen recover actions and roll +heart again. If you share a bond, add +2. On a strong hit, take the double for that action. On a weak hit, take +2 more. On a miss, it goes badly and you lose all benefits for that action. + p Clear a Condition + ul + li Mend: Clear a blinded, deafened, palsied, poisoned, weakened and wounded condition. Then, take 25% of your maximum health. + li Cheer: Reduce the severity of a compulsed and hallucinating condition by 1, and clear a shaken, stupefied and unsteady condition. Then, take +2 spirit. + li Equip: Clear an unprepared condition. Then, take +2 supply. + p Recover + ul + li Recuperate: Take +50% of maximum health for yourself and any companions. + li Consort: Take +4 spirit. + li Stock: Take +4 supply. + li Plan: Take +4 momentum. + p Cohabitate + ul + li Tune in to the bruits: Envision how you listen for rumors or acquire information from the community. Then, Gather Information, and add +4. + li Provide aid: Envision what this community needs, or what trouble it is facing. If you chose to help, Swear an Iron Vow and add +2. + p On a miss, you find no help here. Pay the Price. \ No newline at end of file diff --git a/Ironcrunch/src/components/moves/content/strengthen-their-loyalty.pug b/Ironcrunch/src/components/moves/content/strengthen-their-loyalty.pug new file mode 100644 index 0000000000..c0e89a542a --- /dev/null +++ b/Ironcrunch/src/components/moves/content/strengthen-their-loyalty.pug @@ -0,0 +1,12 @@ +include ../mixins/container + +mixin StrengthenTheirLoyalty(values) + +container(values) + p When you dedicate yourself to spend a significant time with your companion, envision that moment and roll +heart. If your companion is a hireling, roll +wealth instead. If you share a bond, you may reroll any dice. + p On a strong hit, your conditional companion feels more akin with your company. Give +your heart+2 to their loyalty. If the conditional companion is a hireling, also suffer -1 wealth. If you use this exchange to Forge a Bond, make that move now and add +2. + p On a weak hit, as above, but you must also choose one. + ul + li It was emotionally demanding: Endure Stress (1 stress). + li It was resource demanding: Suffer -1 supply. + li It was time consuming: Suffer -2 momentum. + p On a miss, the moment doesn’t go as expected. Pay the Price. diff --git a/Ironcrunch/src/components/moves/content/strike.pug b/Ironcrunch/src/components/moves/content/strike.pug new file mode 100644 index 0000000000..774fa6d4cf --- /dev/null +++ b/Ironcrunch/src/components/moves/content/strike.pug @@ -0,0 +1,22 @@ +include ../mixins/container + +mixin Strike(values) + +container(values) + p When you have initiative and attack with the intent to inflict harm, determine if you are hitting your foe’s protection or breaking their defense rating. If you are foe’s protection is 0 or you are doing the latter, fix one challenge die as per your foe’s defense rating. Then, envision your approach. If you're making this move repeatedly, but with another offensive maneuver, add +1. If you… + ul + li Attack in close quarters: Roll +iron. + li Attack at range or with a precise weapon: Roll +edge. + li Attack an unaware target, or without warning, at close range: Roll +shadow. + p On a strong hit, Inflict Harm and add +1. You retain the initiative. + p On a weak hit, Inflict Harm and lose the initiative. If you are attacking at range, choose one. + ul + li Your attack winged: Roll twice and use the lowest result. + li You wasted ammo: Suffer -1 supply. + li Your thrown weapon is lost or destroyed. + li You attract unexpected attention: Suffer -1 momentum. + p If you are attacking a foe that is unaware and score a hit, envision you strike. On a strong hit, you go undetected; when you Inflict Harm, you may suffer -1 momentum and choose two. On a weak hit, you hit your target, but not without getting spotted; when you Inflict Harm, you may suffer -1 momentum and chose one; then, Enter the Fray. + ul + li You strike fiercely: Inflict +1d4 harm. + li You strike on a weak spot: Your harm is penetrating. + li You find the best way to strike: You may reroll any dice. + p On a miss, your foe has initiative. \ No newline at end of file diff --git a/Ironcrunch/src/components/moves/content/swear-an-iron-vow.pug b/Ironcrunch/src/components/moves/content/swear-an-iron-vow.pug new file mode 100644 index 0000000000..c751753d96 --- /dev/null +++ b/Ironcrunch/src/components/moves/content/swear-an-iron-vow.pug @@ -0,0 +1,11 @@ +include ../mixins/container + +mixin SwearAnIronVow(values) + +container(values) + p When you swear upon iron to complete a quest, write your vow and give the quest a rank. Then, roll +heart. If you make this vow to a person or community with whom you share a bond, add +2. + p On a strong hit, you are emboldened and it is clear what you must do next. Take +2 momentum. + p On a weak hit, you are determined but begin your quest with more questions than answers. Take +1 momentum, and envision what you do to find a path forward. + p On a miss, you face a significant obstacle before you can begin your quest. Envision what stands in your way, and choose one. + ul + li You press on: Suffer -2 momentum, and do what you must to overcome this obstacle. + li You give up: Forsake Your Vow. \ No newline at end of file diff --git a/Ironcrunch/src/components/moves/content/take-a-downtime.pug b/Ironcrunch/src/components/moves/content/take-a-downtime.pug new file mode 100644 index 0000000000..10661ab82a --- /dev/null +++ b/Ironcrunch/src/components/moves/content/take-a-downtime.pug @@ -0,0 +1,10 @@ +include ../mixins/container + +mixin TakeADowntime(values) + +container(values) + p When you spend weeks or months recuperating in a safe place and have at least 1 experience, suffer -1 experience in exchange of the following. + ul + li Clear your conditions (not corrupted nor maimed). + li Set your tracks to their maximum. + li Reset your momentum. + li Take +2d4+2 wealth. \ No newline at end of file diff --git a/Ironcrunch/src/components/moves/content/take-conditional-companion.pug b/Ironcrunch/src/components/moves/content/take-conditional-companion.pug new file mode 100644 index 0000000000..0cd7e8144d --- /dev/null +++ b/Ironcrunch/src/components/moves/content/take-conditional-companion.pug @@ -0,0 +1,8 @@ +include ../mixins/container + +mixin TakeConditionalCompanion(values) + +container(values) + p When you meet a character with the same objective as you, or that is willing to follow you in exchange of getting paid, you may attempt to convince them to join your quest. If you do, roll +heart; if the character is a hireling, roll +wealth instead. If you share a bond, you may reroll any dice. + p On a strong hit, the character joins you as a conditional companion. Fill their companion sheet, setting their loyalty track as your heart+2 (maximum is 10). If the companion is a hireling, suffer -2 wealth. + p On a weak hit, as above, but they ask something of you in return; envision what they want. + p On a miss, the character refuses to join you or make a demand that cost you greatly. Pay the Price. diff --git a/Ironcrunch/src/components/moves/content/take-on-overload.pug b/Ironcrunch/src/components/moves/content/take-on-overload.pug new file mode 100644 index 0000000000..8e541bfa65 --- /dev/null +++ b/Ironcrunch/src/components/moves/content/take-on-overload.pug @@ -0,0 +1,5 @@ +include ../mixins/container + +mixin TakeOnOverload(values) + +container(values) + p When you have more weight than your maximum load, take the encumbered condition. \ No newline at end of file diff --git a/Ironcrunch/src/components/moves/content/test-their-loyalty.pug b/Ironcrunch/src/components/moves/content/test-their-loyalty.pug new file mode 100644 index 0000000000..8645e2c343 --- /dev/null +++ b/Ironcrunch/src/components/moves/content/test-their-loyalty.pug @@ -0,0 +1,12 @@ +include ../mixins/container + +mixin TestTheirLoyalty(values) + +container(values) + p When your conditional companion’s loyalty is at its minimum (0), you can attempt to convince them to stay by your side. If you do, roll +heart. If the companion is a hireling, roll +wealth instead. Add +2 if you share a bond. If their goal is lost to you, count this move as a miss. + p On a strong hit, your companion stands by your side. Give +you heart+1 to their loyalty. Take +1 momentum. + p On a weak hit, as above, but they ask something in return. Choose one. + ul + li Provisions: Suffer -2 supply. + li A valuable item: Dicard an equipment or consumable item, or suffer -1 wealth. + li A promise: Envision what they ask of you that need to be resolved besides their current goal, and Swear an Iron Vow to do it. + p On a miss, or if you have no interest in them to follow you, the Conditional Companion Abandons you. If you share a bond with them, also Test Your Bond. \ No newline at end of file diff --git a/Ironcrunch/src/components/moves/content/test-your-bond.pug b/Ironcrunch/src/components/moves/content/test-your-bond.pug new file mode 100644 index 0000000000..62303b49e9 --- /dev/null +++ b/Ironcrunch/src/components/moves/content/test-your-bond.pug @@ -0,0 +1,11 @@ +include ../mixins/container + +mixin TestYourBond(values) + +container(values) + p When your bond is tested through conflict, betrayal, or circumstance, roll +heart. + p On a strong hit, this test has strengthened your bond. Choose one. + ul + li Take +2 spirit. + li Take +4 momentum. + p On a weak hit, your bond is fragile and you must prove your loyalty. Envision what they ask of you, and do it (or Swear an Iron Vow). If you refuse or fail, clear the bond and Pay the Price. + p On a miss, or if you have no interest in maintaining this relationship, clear the bond and Pay the Price. \ No newline at end of file diff --git a/Ironcrunch/src/components/moves/content/trade.pug b/Ironcrunch/src/components/moves/content/trade.pug new file mode 100644 index 0000000000..e4f98061cd --- /dev/null +++ b/Ironcrunch/src/components/moves/content/trade.pug @@ -0,0 +1,7 @@ +include ../mixins/container + +mixin Trade(values) + +container(values) + p When you meet someone that offers you an item or service in exchange for wealth, suffer -wealth as the cost of the item or service. + p If you are acquiring supply, suffer -1 wealth in exchange for +2 supply. + p If you are making this move to obtain wealth in exchange for supply or an item (that is not a consumable item), take +1 wealth per -2 supply, or +wealth as per the weight of the item in exchange for losing it. \ No newline at end of file diff --git a/Ironcrunch/src/components/moves/content/turn-the-tide.pug b/Ironcrunch/src/components/moves/content/turn-the-tide.pug new file mode 100644 index 0000000000..ed073fd369 --- /dev/null +++ b/Ironcrunch/src/components/moves/content/turn-the-tide.pug @@ -0,0 +1,6 @@ +include ../mixins/container + +mixin TurnTheTide(values) + +container(values) + p Once per fight, when you risk it all, you may steal initiative from your foe to make a move (not a progress move). When you do, add +2 and take +2 momentum on a hit. + p If you fail to score a hit on that move, you must suffer a dire outcome. Pay the Price. diff --git a/Ironcrunch/src/components/moves/content/undertake-a-journey.pug b/Ironcrunch/src/components/moves/content/undertake-a-journey.pug new file mode 100644 index 0000000000..70944ebd2b --- /dev/null +++ b/Ironcrunch/src/components/moves/content/undertake-a-journey.pug @@ -0,0 +1,25 @@ +include ../mixins/container + +mixin UndertakeAJourney(values) + +container(values) + p When you travel across hazardous or unfamiliar lands, set the rank of your journey. + ul + li Troublesome journey: 3 progress per waypoint. + li Dangerous journey: 2 progress per waypoint. + li Formidable journey: 1 progress per waypoint. + li Extreme journey: 2 ticks per waypoint. + li Epic journey: 1 tick per waypoint. + p Then, for each segment of your journey, roll +wits. If you are setting off from a community with which you share a bond, add +2 to your initial roll. + p If you are making this move for the fourth time, without having done the Make Camp move or Sojourn move, take a condition as appropriate to the circumstances. + p On a strong hit, choose one. + ul + li You make good use of your resources: Mark progress and take +2 momentum. + li You move with scrutiny: Mark progress and Find an Opportunity. + li You move at speed: Mark progress twice and take +1 momentum, but suffer -1 supply. + p On a weak hit, choose one. + ul + li You go as expected: Mark progress, but suffer -1 supply. + li You move with precaution: Mark progress and Find an Opportunity, but suffer -1 supply and -2 momentum. + li You move at speed, but with a cost: Mark progress twice and take +1 momentum, but suffer -2 supply and Reveal a Danger. + li You explore: Find an Opportunity, but suffer -1 momentum. + p On a miss, you have gone hopelessly astray, your objective is lost to you, or you were misled about your destination. If your journey continues, clear all but one filled progress, and raise the journey's rank by one (if not already epic). diff --git a/Ironcrunch/src/components/moves/content/write-your-epilogue.pug b/Ironcrunch/src/components/moves/content/write-your-epilogue.pug new file mode 100644 index 0000000000..526c4746f5 --- /dev/null +++ b/Ironcrunch/src/components/moves/content/write-your-epilogue.pug @@ -0,0 +1,9 @@ +include ../mixins/container + +mixin WriteYourEpilogue(values) + +container(values) + p Progress Move + p When you retire from your life as an Oathkeeper, envision two things: What you hope for, and what you fear. Then, roll the challenge dice and compare to your bonds. + p On a strong hit, things come to pass as you hoped. + p On a weak hit, your life takes an unexpected turn, but not necessarily for the worse. You find yourself spending your days with someone or in a place you did not foresee. Envision it. + p On a miss, your fears are realized. \ No newline at end of file diff --git a/Ironcrunch/src/components/moves/mixins/container.pug b/Ironcrunch/src/components/moves/mixins/container.pug new file mode 100644 index 0000000000..308b16ead1 --- /dev/null +++ b/Ironcrunch/src/components/moves/mixins/container.pug @@ -0,0 +1,36 @@ +mixin container(opts) + input(type='radio' name='attr_move_preview' class=`sheet-${opts.class} sheet-hide` value=opts.radio) + div(class=`sheet-${opts.class} sheet-showhide`) + div.sheet-move-title.sheet-move-preview=opts.title + if opts.roll + div.sheet-roll-viewer + if opts.progress + label.sheet-roll-label Roll Progress + button( + type="roll" + title=opts.title + name=`roll${opts.name}` + class='sheet-hide' + value=`&{template:ironcrunch_progress} {{header=@{character_name}}} {{progress_name=${opts.title}}} {{progress=[[?{Filled Progress|0}]]}} {{challenge1=[[d10]]}} {{challenge2=[[d10]]}}` + ) + else if opts.oracle + label.sheet-roll-label Roll Oracle + button( + type="roll" + title=opts.title + name=`roll${opts.name}` + class='sheet-hide' + value=`&{template:${opts.type}} {{header=${opts.title}}} {{${opts.name}=[[d100]]}}` + ) + else + label.sheet-roll-label Roll + button( + type="roll" + title=`${opts.title} Move` + class='sheet-hide' + name=`roll${opts.name}` + value!=`&{template:ironcrunch_moves} {{header=@{character_name}}} {{name=${opts.title}}} {{action=[[d12+${opts.stat}+(?{Modifier|0})]]}} {{negate1=[[1+${opts.stat_repeat}+(?{Modifier|0})]]}} {{negate2=[[2+${opts.stat_repeat}+(?{Modifier|0})]]}} {{negate3=[[3+${opts.stat_repeat}+(?{Modifier|0})]]}} {{negate4=[[4+${opts.stat_repeat}+(?{Modifier|0})]]}} {{negate5=[[5+${opts.stat_repeat}+(?{Modifier|0})]]}} {{negate6=[[6+${opts.stat_repeat}+(?{Modifier|0})]]}} {{negate7=[[7+${opts.stat_repeat}+(?{Modifier|0})]]}} {{negate8=[[8+${opts.stat_repeat}+(?{Modifier|0})]]}} {{negate9=[[9+${opts.stat_repeat}+(?{Modifier|0})]]}} {{negate10=[[10+${opts.stat_repeat}+(?{Modifier|0})]]}} {{negate11=[[11+${opts.stat_repeat}+(?{Modifier|0})]]}} {{negate12=[[12+${opts.stat_repeat}+(?{Modifier|0})]]}} {{challenge1=[[d20]]}} {{challenge2=[[d20]]}} {{momentum=[[@{momentum}]]}} {{modifiers=[[${opts.stat_repeat}+(?{Modifier|0})]]}} {{add=[[(?{Modifier|0})]]}} {{stat=[[${opts.stat_repeat}]]}} {{loadEncMin=[[@{max_load}+${opts.stat_repeat}+(?{Modifier|0})]]}} {{loadEncMax=[[12+${opts.stat_repeat}+(?{Modifier|0})]]}} {{encumbered=[[@{encumbered_enabled}]]}}` + ) + div.sheet-move-description + block + div.sheet-oracle-footer.sheet-move-page-footer=`Ironcrunch - ${opts.page}` \ No newline at end of file diff --git a/Ironcrunch/src/components/moves/mixins/oracle-table.pug b/Ironcrunch/src/components/moves/mixins/oracle-table.pug new file mode 100644 index 0000000000..4d96eb8c5f --- /dev/null +++ b/Ironcrunch/src/components/moves/mixins/oracle-table.pug @@ -0,0 +1,21 @@ +mixin oracleTable(group, type, key) + .move-sub-nav + each oracle, index in group.oracles + label.btn.move-nav-child + input(type='radio' name=`attr_${group.id}_button` class='hide table-btn' value=index) + .move-nav-content=oracle.name + each oracle, index in group.oracles + input(type='radio' name=`attr_${group.id}_tables` class=`${oracle.class} hide` value=index) + div(class=`${oracle.class} showhide`) + label.sheet-roll-label.sheet-embedded-btn Roll Oracle + button.sheet-hide( + type='roll' + title=`@{roll_${group.id}_oracle}` + name=`roll_${group.id}_oracle` + value=`&{template:${type}_oracles} {{header=${oracle.name}}} {{${oracle.roll_id}=[[${oracle.dice}]]}}` + ) + .sheet-oracle-table + each row in oracle.rows + .oracle-row + span.sheet-oracle-roll=row.roll + span.sheet-oracle-result!=row.result \ No newline at end of file diff --git a/Ironcrunch/src/components/moves/mixins/strong.pug b/Ironcrunch/src/components/moves/mixins/strong.pug new file mode 100644 index 0000000000..1173f51cdd --- /dev/null +++ b/Ironcrunch/src/components/moves/mixins/strong.pug @@ -0,0 +1,2 @@ +mixin strong(value) + #{value} \ No newline at end of file diff --git a/Ironcrunch/src/components/moves/moves.pug b/Ironcrunch/src/components/moves/moves.pug new file mode 100644 index 0000000000..81382febe2 --- /dev/null +++ b/Ironcrunch/src/components/moves/moves.pug @@ -0,0 +1,171 @@ +//- TODO: Convert oracle moves to all use data json +include ../../data/group-list +include ../../data/move-list +include ./mixins/container + +//- ## Search Bar +input(type='radio' class='sheet-hide sheet-full-move-list' name='attr_move_view' value='1' checked) +div.sheet-full-move-list.sheet-showhide + div.sheet-search-bar + input(type='text' class='sheet-search-bar' name='attr_move_search' placeholder='Search') + label.sheet-clear-search CLEAR + input(type='checkbox' class='sheet-hide' name='attr_clear_search') + //- ## List of Moves + div.sheet-move-container + input(type='radio' class='sheet-hide' name='attr_selected_move') + each group in moveGroups + div.sheet-move-group + div.sheet-move-group-title + h3=group.title + each move in group.moves + div.sheet-move-list + label.sheet-move + input(type='radio' class='sheet-hide sheet-selected-move' name='attr_selected_move' value=move.value) + input(type='checkbox' class='sheet-hide sheet-move-highlight' name=`attr_${move.value}_highlight`) + div.sheet-move-name=move.name +//- ## Move Details +input(type='radio' class='sheet-hide sheet-move-preview' name='attr_move_view' value='2') +div.sheet-move-preview.sheet-showhide + div.sheet-preview-bar + div.sheet-search-preview-bar + input(type='text' class='sheet-search-preview-bar' name='attr_move_search' placeholder='Search') + label.sheet-clear-search CLEAR + input(type='checkbox' class='sheet-hide' name='attr_clear_search') + div.sheet-close-bar + label.sheet-close-preview CLOSE PREVIEW + input(type='checkbox' class='sheet-hide' name='attr_close_move_preview') + div.sheet-preview-container + div.sheet-move-scroll-list + each group in moveGroups + div.sheet-move-group-scroll + div.sheet-move-group-title + h3=group.title + each move in group.moves + div.sheet-move-list + label.sheet-move + input(type='radio' class='sheet-hide' name='attr_selected_move' value=move.value) + input(type='checkbox' class='sheet-hide sheet-move-highlight' name=`attr_${move.value}_highlight`) + div.sheet-move-name=move.name + div.sheet-move-preview-container + include ./content/advance + +Advance(moveList.advance) + include ./content/aid-your-ally + +AidYourAlly(moveList.aid_your_ally) + include ./content/ask-the-oracle + +AskTheOracle(moveList.ask_the_oracle) + include ./content/battle + +Battle(moveList.battle) + include ./content/burn-momentum + +BurnMomentum(moveList.burn_momentum) + include ./content/check-your-gear + +CheckYourGear(moveList.check_your_gear) + include ./content/clash + +Clash(moveList.clash) + include ./content/companion-becomes-unconditional + +CompanionBecomesUnconditional(moveList.companion_becomes_unconditional) + include ./content/compel + +Compel(moveList.compel) + include ./content/conditional-companion-abandons + +ConditionalCompanionAbandons(moveList.conditional_companion_abandons) + include ./content/conditional-companion-acts + +ConditionalCompanionActs(moveList.conditional_companion_acts) + include ./content/delve-the-depths + +DelveTheDepths(moveList.delve_the_depths) + include ./content/discover-a-site + +DiscoverASite(moveList.discover_a_site) + include ./content/draw-the-circle + +DrawTheCircle(moveList.draw_the_circle) + include ./content/end-the-fight + +EndTheFight(moveList.end_the_fight) + include ./content/endure-harm + +EndureHarm(moveList.endure_harm) + include ./content/endure-stress + +EndureStress(moveList.endure_stress) + include ./content/enter-the-fray + +EnterTheFray(moveList.enter_the_fray) + include ./content/escape-the-depths + +EscapeTheDepths(moveList.escape_the_depths) + include ./content/face-a-setback + +FaceASetback(moveList.face_a_setback) + include ./content/face-danger + +FaceDanger(moveList.face_danger) + include ./content/face-death + +FaceDeath(moveList.face_death) + include ./content/face-desolation + +FaceDesolation(moveList.face_desolation) + include ./content/find-an-opportunity + +FindAnOpportunity(moveList.find_an_opportunity) + include ./content/foe-inflicts-harm + +FoeInflictsHarm(moveList.foe_inflicts_harm) + include ./content/forge-a-bond + +ForgeABond(moveList.forge_a_bond) + include ./content/forsake-your-vow + +ForsakeYourVow(moveList.forsake_your_vow) + include ./content/fulfill-your-vow + +FulfillYourVow(moveList.fulfill_your_vow) + include ./content/gather-information + +GatherInformation(moveList.gather_information) + include ./content/heal + +Heal(moveList.heal) + include ./content/hearten + +Hearten(moveList.hearten) + include ./content/inflict-harm + +InflictHarm(moveList.inflict_harm) + include ./content/learn-from-faults + +LearnFromFaults(moveList.learn_from_faults) + include ./content/locate-your-objective + +LocateYourObjective(moveList.locate_your_objective) + include ./content/make-an-effort + +MakeAnEffort(moveList.make_an_effort) + include ./content/make-camp + +MakeCamp(moveList.make_camp) + include ./content/manifest-insanity + +ManifestInsanity(moveList.manifest_insanity) + include ./content/not-assist-conditional-companion + +NotAssistConditionalCompanion(moveList.not_assist_conditional_companion) + include ./content/order-conditional-companion + +OrderConditionalCompanion(moveList.order_conditional_companion) + include ./content/out-of-supply + +OutOfSupply(moveList.out_of_supply) + include ./content/patch-equipment + +PatchEquipment(moveList.patch_equipment) + include ./content/pay-the-price + +PayThePrice(moveList.pay_the_price) + include ./content/reach-a-milestone + +ReachAMilestone(moveList.reach_a_milestone) + include ./content/reach-your-destination + +ReachYourDestination(moveList.reach_your_destination) + include ./content/resupply + +Resupply(moveList.resupply) + include ./content/reveal-a-danger + +RevealADanger(moveList.reveal_a_danger) + include ./content/secure-an-advantage + +SecureAnAdvantage(moveList.secure_an_advantage) + include ./content/show-resilience + +ShowResilience(moveList.show_resilience) + include ./content/sojourn + +Sojourn(moveList.sojourn) + include ./content/strengthen-their-loyalty + +StrengthenTheirLoyalty(moveList.strengthen_their_loyalty) + include ./content/strike + +Strike(moveList.strike) + include ./content/swear-an-iron-vow + +SwearAnIronVow(moveList.swear_an_iron_vow) + include ./content/take-a-downtime + +TakeADowntime(moveList.take_a_downtime) + include ./content/take-conditional-companion + +TakeConditionalCompanion(moveList.take_conditional_companion) + include ./content/take-on-overload + +TakeOnOverload(moveList.take_on_overload) + include ./content/test-their-loyalty + +TestTheirLoyalty(moveList.test_their_loyalty) + include ./content/test-your-bond + +TestYourBond(moveList.test_your_bond) + include ./content/trade + +Trade(moveList.trade) + include ./content/turn-the-tide + +TurnTheTide(moveList.turn_the_tide) + include ./content/undertake-a-journey + +UndertakeAJourney(moveList.undertake_a_journey) + include ./content/write-your-epilogue + +WriteYourEpilogue(moveList.write_your_epilogue) diff --git a/Ironcrunch/src/components/moves/moves.styl b/Ironcrunch/src/components/moves/moves.styl new file mode 100644 index 0000000000..76b8b011cd --- /dev/null +++ b/Ironcrunch/src/components/moves/moves.styl @@ -0,0 +1,387 @@ +div + &.sheet-search-bar + display flex + justify-content center + width 100% + margin 1em 0em 0.5em 0em + &.sheet-preview-bar + justify-content space-between + width 100% + display flex + margin 1em 0em 0.5em 0em + &.sheet-search-preview-bar + display flex + width auto + &.sheet-move-nav-content + padding 0.2em + width 100% + +input + &.sheet-search-preview-bar + width 17.6em + border 2px solid #4C4D4F + border-radius 0 + &:focus + outline 3px solid #fd0 + outline-offset 0 + box-shadow inset 0 0 0 2px + &.sheet-search-bar + width 50% + border 2px solid #4C4D4F + &:focus + outline 3px solid #fd0 + outline-offset 0 + box-shadow inset 0 0 0 2px + &.sheet-table-btn + &:checked + & ~ div + &.sheet-move-nav-content + background #4c4d4f + color #fff + transition 0.5s ease + +.sheet-preview-container + display flex + justify-content space-between + font-size 1em + flex-flow row + font-weight normal + height auto + margin-top 1em + .sheet-move-scroll-list + width 21.9em + overflow auto + border 2px solid #4C4D4F + padding 0 + height 50em + +.sheet-move-container + display flex + flex-wrap wrap + flex-direction column + justify-content space-between + height 43em + margin-top 1em + display flex + font-size 1em + font-weight normal + .sheet-move-scroll-list + overflow auto + border 2px solid #4C4D4F + padding 1em + width max-content + +.sheet-move + margin 0em + color #4c4d4f + display flex + padding 0 + +.sheet-move-group-title + background #4c4d4f + h3 + color #fff + +.sheet-move-highlight + &:checked + & ~ .sheet-move-name + background #fd0 + outline-offset 0 + box-shadow inset 0 0 0 2px + +.sheet-move-list + padding 0 + label + cursor pointer + div + font-weight 600 + width 100% + font-size 14px + text-align center + margin 0 0 0px + padding 0.1em + text-transform none + &:hover + transition 0.3s ease + background #606060 !important + color #fff + &:nth-child(2n + & + 1) + background-color #ddd + +.sheet-move-column + display flex + flex-direction column + margin-right 10px + +span + &.sheet-move-result + width 36em + &.sheet-preview-move-roll + width 60% + margin-left 1em + +.sheet-move-group + border 2px solid #4C4D4F + box-sizing border-box + width 30% + margin 0.3em + height fit-content + height -moz-fit-content + +.sheet-move-group-scroll + border 2px solid #4C4D4F + box-sizing border-box + height fit-content + height -moz-fit-content + +.sheet-move-box + &:nth-child(n + & + 2) + margin-top 10px + +.sheet-move-title + background-color #4C4D4F + color #fff + border-bottom 1px solid #4C4D4F + font-size 1.4em + font-weight bold + padding 0.2em 0.5em 0.1em 0.7em + text-transform uppercase + width 11.7em + +.sheet-move-preview + width auto + +.sheet-move-page-footer + text-align right !important + padding-right 1em + +.sheet-move-preview-container + width 62% + p + font-size 15px + margin 0 + ul + margin 2px 0px 5px 25px + font-size 15px + li + font-size 15px + +.sheet-move-show + display inline-flex + font-size 1em + margin 0em + padding 0.3em + &:hover + background #969696 + cursor pointer + transition 0.5s ease + +.sheet-column-wrap + flex-flow column wrap + width 22.5em + +.sheet-move-delve-table + width auto !important + +.sheet-move-description + std-font('Crimson Text') + padding 1em + border 2px solid #4C4D4F + p + margin-bottom 0.3em + +.sheet-move-table + border none + width 30.5em + font-size 12px + +.sheet-move-roll + width 18% + +.sheet-move-footer + background-color #434b4d + color #fff + line-height 0.9em + font-size 0.9em + std-font('Crimson Text') + font-variant small-caps + font-weight bold + text-align left + padding 0.5rem + +.sheet-close-preview + width 36.6em + height auto + margin 0 + font-weight bold + font-size 14px + padding 0.2em 0.2em 0.2em 0.2em + border 2px solid #494a4c + cursor pointer + text-align center + &:hover + background-color #ccc + color #4c4d4f + transition 0.5s ease + +.sheet-clear-search + width fit-content + width -moz-fit-content + height auto + margin 0 + font-weight bold + font-size 14px + padding 0.2em 0.2em 0.2em 0.2em + border 2px solid #494a4c + cursor pointer + &:hover + background-color #ccc + color #4c4d4f + transition 0.5s ease + +.sheet-selected-move + z-index 3 + &:checked + & ~ .sheet-move-name + background #434b4d !important + color #fff !important + +input.sheet-move-preview:checked ~ div.sheet-move-preview, +input.sheet-full-move-list:checked ~ div.sheet-full-move-list + show-hide() + +input[type=radio].sheet-face-danger:checked ~ div.sheet-face-danger, +input[type=radio].sheet-secure-an-advantage:checked ~ div.sheet-secure-an-advantage, +input[type=radio].sheet-gather-information:checked ~ div.sheet-gather-information, +input[type=radio].sheet-heal:checked ~ div.sheet-heal, +input[type=radio].sheet-resupply:checked ~ div.sheet-resupply, +input[type=radio].sheet-make-camp:checked ~ div.sheet-make-camp, +input[type=radio].sheet-undertake-a-journey:checked ~ div.sheet-undertake-a-journey, +input[type=radio].sheet-reach-your-destination:checked ~ div.sheet-reach-your-destination, +input[type=radio].sheet-compel:checked ~ div.sheet-compel, +input[type=radio].sheet-sojourn:checked ~ div.sheet-sojourn, +input[type=radio].sheet-draw-the-circle:checked ~ div.sheet-draw-the-circle, +input[type=radio].sheet-forge-a-bond:checked ~ div.sheet-forge-a-bond, +input[type=radio].sheet-test-your-bond:checked ~ div.sheet-test-your-bond, +input[type=radio].sheet-aid-an-ally:checked ~ div.sheet-aid-an-ally, +input[type=radio].sheet-write-your-epilogue:checked ~ div.sheet-write-your-epilogue, +input[type=radio].sheet-enter-the-fray:checked ~ div.sheet-enter-the-fray, +input[type=radio].sheet-strike:checked ~ div.sheet-strike, +input[type=radio].sheet-clash:checked ~ div.sheet-clash, +input[type=radio].sheet-turn-the-tide:checked ~ div.sheet-turn-the-tide, +input[type=radio].sheet-end-the-fight:checked ~ div.sheet-end-the-fight, +input[type=radio].sheet-battle:checked ~ div.sheet-battle, +input[type=radio].sheet-endure-harm:checked ~ div.sheet-endure-harm, +input[type=radio].sheet-face-death:checked ~ div.sheet-face-death, +input[type=radio].sheet-companion-endure-harm:checked ~ div.sheet-companion-endure-harm, +input[type=radio].sheet-endure-stress:checked ~ div.sheet-endure-stress, +input[type=radio].sheet-face-desolation:checked ~ div.sheet-face-desolation, +input[type=radio].sheet-out-of-supply:checked ~ div.sheet-out-of-supply, +input[type=radio].sheet-face-a-setback:checked ~ div.sheet-face-a-setback, +input[type=radio].sheet-swear-an-iron-vow:checked ~ div.sheet-swear-an-iron-vow, +input[type=radio].sheet-fulfill-your-vow:checked ~ div.sheet-fulfill-your-vow, +input[type=radio].sheet-reach-a-milestone:checked ~ div.sheet-reach-a-milestone, +input[type=radio].sheet-forsake-a-vow:checked ~ div.sheet-forsake-a-vow, +input[type=radio].sheet-advance:checked ~ div.sheet-advance, +input[type=radio].sheet-pay-the-price:checked ~ div.sheet-pay-the-price, +input[type=radio].sheet-ask-the-oracle:checked ~ div.sheet-ask-the-oracle, +input[type=radio].sheet-discover-a-site:checked ~ div.sheet-discover-a-site, +input[type=radio].sheet-delve-the-depths:checked ~ div.sheet-delve-the-depths, +input[type=radio].sheet-find-an-opportunity:checked ~ div.sheet-find-an-opportunity, +input[type=radio].sheet-reveal-a-danger:checked ~ div.sheet-reveal-a-danger, +input[type=radio].sheet-check-your-gear:checked ~ div.sheet-check-your-gear, +input[type=radio].sheet-locate-your-objective:checked ~ div.sheet-locate-your-objective, +input[type=radio].sheet-escape-the-depths:checked ~ div.sheet-escape-the-depths, +input[type=radio].sheet-reveal-danger-alt:checked ~ div.sheet-reveal-danger-alt, +input[type=radio].sheet-wield-rarity:checked ~ div.sheet-wield-rarity, +input[type=radio].sheet-mark-failure:checked ~ div.sheet-mark-failure, +input[type=radio].sheet-learn-from-failures:checked ~ div.sheet-learn-from-failures, +input[type=radio].sheet-advance-threat:checked ~ div.sheet-advance-threat, +input[type=radio].sheet-take-hiatus:checked ~ div.sheet-take-hiatus, +input[type=radio].sheet-burn-momentum:checked ~ div.sheet-burn-momentum, +input[type=radio].sheet-make-an-effort:checked ~ div.sheet-make-an-effort, +input[type=radio].sheet-show-resilience:checked ~ div.sheet-show-resilience, +input[type=radio].sheet-manifest-insanity:checked ~ div.sheet-manifest-insanity, +input[type=radio].sheet-take-on-overload:checked ~ div.sheet-take-on-overload, +input[type=radio].sheet-inflict-harm:checked ~ div.sheet-inflict-harm, +input[type=radio].sheet-foe-inflicts-harm:checked ~ div.sheet-foe-inflicts-harm, +input[type=radio].sheet-hearten:checked ~ div.sheet-hearten, +input[type=radio].sheet-patch-equipment:checked ~ div.sheet-patch-equipment, +input[type=radio].sheet-take-a-downtime:checked ~ div.sheet-take-a-downtime, +input[type=radio].sheet-learn-from-faults:checked ~ div.sheet-learn-from-faults, +input[type=radio].sheet-trade:checked ~ div.sheet-trade, +input[type=radio].sheet-take-conditional-companion:checked ~ div.sheet-take-conditional-companion, +input[type=radio].sheet-strengthen-their-loyalty:checked ~ div.sheet-strengthen-their-loyalty, +input[type=radio].sheet-companion-becomes-unconditional:checked ~ div.sheet-companion-becomes-unconditional, +input[type=radio].sheet-order-conditional-companion:checked ~ div.sheet-order-conditional-companion, +input[type=radio].sheet-not-assist-conditional-companion:checked ~ div.sheet-not-assist-conditional-companion, +input[type=radio].sheet-test-their-loyalty:checked ~ div.sheet-test-their-loyalty, +input[type=radio].sheet-conditional-companion-abandons:checked ~ div.sheet-conditional-companion-abandons, +input[type=radio].sheet-conditional-companion-acts:checked ~ div.sheet-conditional-companion-acts + show-hide() + +// input.sheet-danger-situation:checked ~ div.sheet-danger-situation, +// input.sheet-danger-road:checked ~ div.sheet-danger-road, +// input.sheet-danger-character:checked ~ div.sheet-danger-character, +// input.sheet-opportunity-item:checked ~ div.sheet-opportunity-item, +// input.sheet-opportunity-character:checked ~ div.sheet-opportunity-character, +// input.sheet-opportunity-area:checked ~ div.sheet-opportunity-area, +// input.sheet-insanity-short:checked ~ div.sheet-insanity-short, +// input.sheet-insanity-long:checked ~ div.sheet-insanity-long +// show-hide() + +.sheet-move-nav-child + display flex + width auto + height 1.3em + padding 0 + margin 0.2em 0em 0.2em 0em + text-align center + +::-webkit-scrollbar + -webkit-appearance none + width 7px + +::-webkit-scrollbar-thumb + border-radius 4px + background-color rgba(0,0,0,0.5) + box-shadow 0 0 1px rgba(255,255,255,0.5) + +.sheet-move-delve-column-stat-header, +.sheet-move-delve-stat-column + width 16% + +.sheet-move-delve-column-stat-header-1, +.sheet-move-delve-stat-column-1 + width 17% + +.sheet-move-delve-column-stat-header-2, +.sheet-move-delve-stat-column-2 + width 18% + +.sheet-move-delve-column-stat-header-3, +.sheet-move-delve-stat-column-3 + width 15% + +.sheet-move-delve-column-header, +.sheet-move-delve-column + width 50% + +.sheet-move-delve-column-stat-header, +.sheet-move-delve-column-stat-header-1, +.sheet-move-delve-column-stat-header-2, +.sheet-move-delve-column-stat-header-3, +.sheet-move-delve-column-header + font-weight bold + +.sheet-move-delve-row-header + padding 0px 5px 0px 5px + display flex + height auto + border-bottom 2px solid #4c4d4f + +.sheet-embedded-btn + padding-top 0.2em !important + std-font() \ No newline at end of file diff --git a/Ironcrunch/src/components/nav/character.pug b/Ironcrunch/src/components/nav/character.pug new file mode 100644 index 0000000000..2a64539deb --- /dev/null +++ b/Ironcrunch/src/components/nav/character.pug @@ -0,0 +1,36 @@ +- + var rows = [ + { + pages: [ + { id: '1', text: 'Summary', checked: true }, + { id: '2', text: 'Vows' }, + { id: '3', text: 'Motivations' }, + { id: '4', text: 'Bonds' }, + { id: '11', text: 'Progress' }, + { id: '6', text: 'Conditions' } + ] + }, + { + pages: [ + { id: '7', text: 'Equipment' }, + { id: '5', text: 'Proficiencies' }, + { id: '8', text: 'Assets' }, + { id: '9', text: 'Effort' }, + { id: '10', text: 'Moves' }, + { id: '12', text: 'Oracles' }, + { id: '14', text: 'Sites' } + ] + } + ] + +div.sheet-nav-bar + each row in rows + div.sheet-nav-row + each page in row.pages + div.sheet-nav-child + label.sheet-page-label + if page.checked + input(type='radio' name='attr_character_page_button' class='sheet-hide sheet-page-button' value=page.id checked) + else + input(type='radio' name='attr_character_page_button' class='sheet-hide sheet-page-button' value=page.id) + div.sheet-page-button-back=page.text diff --git a/Ironcrunch/src/components/nav/companion.pug b/Ironcrunch/src/components/nav/companion.pug new file mode 100644 index 0000000000..6125007acb --- /dev/null +++ b/Ironcrunch/src/components/nav/companion.pug @@ -0,0 +1,12 @@ +- + var pages = [ + { id: '1', text: 'Summary' }, + { id: '2', text: 'Proficiencies' } + ] + +div.sheet-nav-bar + each page in pages + div.sheet-nav-child + label.sheet-page-label + input(type='radio' name='attr_companion_page_button' class='sheet-hide sheet-page-button' value=page.id) + div.sheet-page-button-back=page.text diff --git a/Ironcrunch/src/components/nav/nav-bar.styl b/Ironcrunch/src/components/nav/nav-bar.styl new file mode 100644 index 0000000000..e47e8986af --- /dev/null +++ b/Ironcrunch/src/components/nav/nav-bar.styl @@ -0,0 +1,39 @@ +.sheet-nav-bar + display flex + justify-content space-evenly + margin-top 0.5em + flex-flow column + +.sheet-nav-child + borderCommon() + width 100% + text-align-last center + margin 0.1em + label + margin 0 + padding 0 + cursor pointer + &:hover + background #ccc + transition 0.5s ease + +.sheet-page-button-back + padding 0.1em 0em 0.1em 0em + font-weight 600 + +.sheet-page-button + &:checked + & ~ div + &.sheet-page-button-back + background #4c4d4f + color #fff + transition 0.5s ease + +.sheet-summary + margin-top 1em + +.sheet-nav-row + display flex + +label.sheet-page-label + text-align center \ No newline at end of file diff --git a/Ironcrunch/src/components/notes/notes.pug b/Ironcrunch/src/components/notes/notes.pug new file mode 100644 index 0000000000..4867ef0273 --- /dev/null +++ b/Ironcrunch/src/components/notes/notes.pug @@ -0,0 +1,4 @@ +div + h3(class='sheet-divide' style='margin-top: 1em;') NOTES + br + textarea(class="sheet-note-area" name='attr_sheet-notes') diff --git a/Ironcrunch/src/components/notes/notes.styl b/Ironcrunch/src/components/notes/notes.styl new file mode 100644 index 0000000000..c6cd20b204 --- /dev/null +++ b/Ironcrunch/src/components/notes/notes.styl @@ -0,0 +1,5 @@ +.sheet-note-area + &:focus + outline 3px solid #ffdd00 + outline-offset 0 + box-shadow inset 0 0 0 2px \ No newline at end of file diff --git a/Ironcrunch/src/components/oracles/delve.pug b/Ironcrunch/src/components/oracles/delve.pug new file mode 100644 index 0000000000..ed6d0c763c --- /dev/null +++ b/Ironcrunch/src/components/oracles/delve.pug @@ -0,0 +1,2434 @@ +mixin delveOracles + .oracle-container + .oracle-column.table-list + .oracle-box + .oracle-title Feature + .oracle + .button-container + button(type='roll' title='Feature: Aspect' name='roll_feature_aspect_oracle' value='&{template:delve_oracles} {{header=Feature: Aspect}} {{featureAspect=[[d100]]}}') + label.common-btn.oracle-btn + input.hide.btn-input(type='radio' title='@{oracle_delve_button}' name='attr_oracle_delve_button' value='1') + .btn-content Aspect + .oracle + .button-container + button(type='roll' title='Feature: Focus' name='roll_feature_focus_oracle' value='&{template:delve_oracles} {{header=Feature: Focus}} {{featureFocus=[[d100]]}}') + label.common-btn.oracle-btn + input.hide.btn-input(type='radio' title='@{oracle_delve_button}' name='attr_oracle_delve_button' value='2') + .btn-content Focus + .oracle-box + .oracle-title Site Name + .oracle + .button-container + button(type='roll' title='Site Name: Format' name='rollsiteNameFormatoracle' value='&{template:delve_oracles} {{header=Site Name: Format}} {{siteNameFormat=[[d100]]}}') + label.common-btn.oracle-btn + input.hide.btn-input(type='radio' title='@{oracle_delve_button}' name='attr_oracle_delve_button' value='3') + .btn-content Format + .oracle + .button-container + button(type='roll' title='Site Name: Description' name='rollsiteNameDescoracle' value='&{template:delve_oracles} {{header=Site Name: Description}} {{siteNameDesc=[[d100]]}}') + label.common-btn.oracle-btn + input.hide.btn-input(type='radio' title='@{oracle_delve_button}' name='attr_oracle_delve_button' value='4') + .btn-content Description + .oracle + .button-container + button(type='roll' title='Site Name: Detail' name='roll_site_name_detail_oracle' value='&{template:delve_oracles} {{header=Site Name: Detail}} {{siteNameDetail=[[d100]]}}') + label.common-btn.oracle-btn + input.hide.btn-input(type='radio' title='@{oracle_delve_button}' name='attr_oracle_delve_button' value='5') + .btn-content Detail + .oracle + .button-container + button(type='roll' title='Site Name: Namesake' name='roll_site_name_namesake_oracle' value='&{template:delve_oracles} {{header=Site Name: Namesake}} {{siteNameNamesake=[[d100]]}}') + label.common-btn.oracle-btn + input.hide.btn-input(type='radio' title='@{oracle_delve_button}' name='attr_oracle_delve_button' value='6') + .btn-content Namesake + .oracle + .button-container + button(type='roll' title='Site Name: Place' name='roll_site_name_place_oracle' value='&{template:delve_oracles} {{header=siteNamePlace}} {{siteNamePlace=[[d100]]}}') + label.common-btn.oracle-btn + input.hide.btn-input(type='radio' title='@{oracle_delve_button}' name='attr_oracle_delve_button' value='7') + .btn-content Place + .oracle-box + .oracle-title Site Nature + .oracle + .button-container + button(type='roll' title='Site Nature: Theme' name='roll_site_nature_theme_oracle' value='&{template:delve_oracles} {{header=Site Nature: Theme}} {{siteNatureTheme=[[d100]]}}') + label.common-btn.oracle-btn + input.hide.btn-input(type='radio' title='@{oracle_delve_button}' name='attr_oracle_delve_button' value='8') + .btn-content Theme + .oracle + .button-container + button(type='roll' title='Site Nature: Domain' name='roll_site_nature_domain_oracle' value='&{template:delve_oracles} {{header=Site Nature: Domain}} {{siteNatureDomain=[[d100]]}}') + label.common-btn.oracle-btn + input.hide.btn-input(type='radio' title='@{oracle_delve_button}' name='attr_oracle_delve_button' value='9') + .btn-content Domain + .oracle-box + .oracle-title Character + .oracle + .button-container + button#characterDispositionOracleRoll(type='roll' title='Character: Disposition' name='roll_character_disposition_oracle' value='&{template:delve_oracles} {{header=Character: Disposition}} {{characterDisposition=[[d100]]}}') + label.common-btn.oracle-btn + input.hide.btn-input(type='radio' title='@{oracle_delve_button}' name='attr_oracle_delve_button' value='10') + .btn-content Disposition + .oracle + .button-container + button#characterActivityOracleRoll(type='roll' title='Character: Activity' name='roll_character_activity_oracle' value='&{template:delve_oracles} {{header=Character: Activity}} {{characterActivity=[[d100]]}}') + label.common-btn.oracle-btn + input.hide.btn-input(type='radio' title='@{oracle_delve_button}' name='attr_oracle_delve_button' value='11') + .btn-content Activity + .oracle-box + .oracle-title Monstrosity + .oracle + .button-container + button(type='roll' title='Monstrosity: Size' name='roll_monstrosity_size_oracle' value='&{template:delve_oracles} {{header=Monstrosity: Size}} {{monstrositySize=[[d100]]}}') + label.common-btn.oracle-btn + input.hide.btn-input(type='radio' title='@{oracle_delve_button}' name='attr_oracle_delve_button' value='12') + .btn-content Size + .oracle + .button-container + button(type='roll' title='Monstrosity: Primary Form' name='roll_monstrosity_primary_form_oracle' value='&{template:delve_oracles} {{header=Monstrosity: Primary Form}} {{monstrosityPrimaryForm=[[d100]]}}') + label.common-btn.oracle-btn + input.hide.btn-input(type='radio' title='@{oracle_delve_button}' name='attr_oracle_delve_button' value='13') + .btn-content Primary Form + .oracle + .button-container + button(type='roll' title='Monstrosity: Characteristics' name='roll_monstrosity_characteristics_oracle' value='&{template:delve_oracles} {{header=Monstrosity: Characteristics}} {{monstrosityCharacteristics=[[d100]]}}') + label.common-btn.oracle-btn + input.hide.btn-input(type='radio' title='@{oracle_delve_button}' name='attr_oracle_delve_button' value='14') + .btn-content Characteristics + .oracle + .button-container + button(type='roll' title='Monstrosity: Abilities' name='roll_monstrosity_abilities_oracle' value='&{template:delve_oracles} {{header=Monstrosity: Abilities}} {{monstrosityAbilities=[[d100]]}}') + label.common-btn.oracle-btn + input.hide.btn-input(type='radio' title='@{oracle_delve_button}' name='attr_oracle_delve_button' value='15') + .btn-content Abilities + .oracle-box + .oracle-title Trap + .oracle + .button-container + button(type='roll' title='Trap: Event' name='roll_trap_event_oracle' value='&{template:delve_oracles} {{header=Trap: Event}} {{trapEvent=[[d100]]}}') + label.common-btn.oracle-btn + input.hide.btn-input(type='radio' title='@{oracle_delve_button}' name='attr_oracle_delve_button' value='16') + .btn-content Event + .oracle + .button-container + button(type='roll' title='Trap: Component' name='roll_trap_component_oracle' value='&{template:delve_oracles} {{header=Trap: Component}} {{trapComponent=[[d100]]}}') + label.common-btn.oracle-btn + input.hide.btn-input(type='radio' title='@{oracle_delve_button}' name='attr_oracle_delve_button' value='17') + .btn-content Component + .oracle-box + .oracle-title Combat Event + .oracle + .button-container + button(type='roll' title='Combat Event: Method' name='roll_combat_event_method_oracle' value='&{template:delve_oracles} {{header=Combat Event: Method}} {{combatEventMethod=[[d100]]}}') + label.common-btn.oracle-btn + input.hide.btn-input(type='radio' title='@{oracle_delve_button}' name='attr_oracle_delve_button' value='18') + .btn-content Method + .oracle + .button-container + button(type='roll' title='Combat Event: Target' name='roll_combat_event_target_oracle' value='&{template:delve_oracles} {{header=Combat Event: Target}} {{combatEventTarget=[[d100]]}}') + label.common-btn.oracle-btn + input.hide.btn-input(type='radio' title='@{oracle_delve_button}' name='attr_oracle_delve_button' value='19') + .btn-content Target + .oracle-box + .oracle-title Threat + .oracle + .button-container + button(type='roll' title='Threat: Category' name='roll_threat_category_oracle' value='&{template:delve_oracles} {{header=Threat: Category}} {{threatCategory=[[d100]]}}') + label.common-btn.oracle-btn + input.hide.btn-input(type='radio' title='@{oracle_delve_button}' name='attr_oracle_delve_button' value='20') + .btn-content Category + .oracle + .button-container + button(type='roll' title='Threat: Burgeoning Conflict' name='roll_threat_burgeoning_conflict_oracle' value='&{template:delve_oracles} {{header=Threat: Burgeoning Conflict}} {{threatBurgeoningConflict=[[d100]]}}') + label.common-btn.oracle-btn + input.hide.btn-input(type='radio' title='@{oracle_delve_button}' name='attr_oracle_delve_button' value='21') + .btn-content Burgeoning Conflict + .oracle + .button-container + button(type='roll' title='Threat: Cursed Site' name='roll_threat_cursed_site_oracle' value='&{template:delve_oracles} {{header=Threat: Cursed Site}} {{threatCursedSite=[[d100]]}}') + label.common-btn.oracle-btn + input.hide.btn-input(type='radio' title='@{oracle_delve_button}' name='attr_oracle_delve_button' value='22') + .btn-content Cursed Site + .oracle + .button-container + button(type='roll' title='Threat: Environmental Calamity' name='roll_threat_environmental_calamity_oracle' value='&{template:delve_oracles} {{header=Threat: Environmental Calamity}} {{threatEnvironmentalCalamity=[[d100]]}}') + label.common-btn.oracle-btn + input.hide.btn-input(type='radio' title='@{oracle_delve_button}' name='attr_oracle_delve_button' value='23') + .btn-content Environmental Calamity + .oracle + .button-container + button(type='roll' title='Threat: Malignant Plague' name='roll_threat_malignant_plague_oracle' value='&{template:delve_oracles} {{header=Threat: Malignant Plague}} {{threatMalignantPlague=[[d100]]}}') + label.common-btn.oracle-btn + input.hide.btn-input(type='radio' title='@{oracle_delve_button}' name='attr_oracle_delve_button' value='24') + .btn-content Malignant Plague + .oracle + .button-container + button(type='roll' title='Threat: Rampaging Creature' name='roll_threat_rampaging_creature_oracle' value='&{template:delve_oracles} {{header=Threat: Rampaging Creature}} {{threatRampagingCreature=[[d100]]}}') + label.common-btn.oracle-btn + input.hide.btn-input(type='radio' title='@{oracle_delve_button}' name='attr_oracle_delve_button' value='25') + .btn-content Rampaging Creature + .oracle + .button-container + button(type='roll' title='Threat: Ravaging Horde' name='roll_threat_ravaging_horde_oracle' value='&{template:delve_oracles} {{header=Threat: Ravaging Horde}} {{threatRavagingHorde=[[d100]]}}') + label.common-btn.oracle-btn + input.hide.btn-input(type='radio' title='@{oracle_delve_button}' name='attr_oracle_delve_button' value='26') + .btn-content Ravaging Horde + .oracle + .button-container + button(type='roll' title='Threat: Scheming Leader' name='roll_threat_scheming_leader_oracle' value='&{template:delve_oracles} {{header=Threat: Scheming Leader}} {{threatSchemingLeader=[[d100]]}}') + label.common-btn.oracle-btn + input.hide.btn-input(type='radio' title='@{oracle_delve_button}' name='attr_oracle_delve_button' value='27') + .btn-content Scheming Leader + .oracle + .button-container + button(type='roll' title='Threat: Power-Hungry Mystic' name='roll_threat_power_hungry_mystic_oracle' value='&{template:delve_oracles} {{header=Threat: Power-Hungry Mystic}} {{threatPowerHungryMystic=[[d100]]}}') + label.common-btn.oracle-btn + input.hide.btn-input(type='radio' title='@{oracle_delve_button}' name='attr_oracle_delve_button' value='28') + .btn-content Power-Hungry Mystic + .oracle + .button-container + button(type='roll' title='Threat: Zealous Cult' name='roll_threat_zealous_cult_oracle' value='&{template:delve_oracles} {{header=Threat: Zealous Cult}} {{threatZealousCult=[[d100]]}}') + label.common-btn.oracle-btn + input.hide.btn-input(type='radio' title='@{oracle_delve_button}' name='attr_oracle_delve_button' value='29') + .btn-content Zealous Cult + + .oracle-column.table-main + input.feature-aspect.hide(type='radio' name='attr_oracle_delve' value='1') + .feature-aspect.showhide + .oracle-title.oracle-table-preview Feature: Aspect + .oracle-table.oracle-table-2-column + .oracle-row.oracle-row-2-column + span.oracle-roll 1-2 + span.oracle-result Blocked + .oracle-row.oracle-row-2-column + span.oracle-roll 3-4 + span.oracle-result Crafted + .oracle-row.oracle-row-2-column + span.oracle-roll 5-6 + span.oracle-result Ancient + .oracle-row.oracle-row-2-column + span.oracle-roll 7-8 + span.oracle-result Sunken + .oracle-row.oracle-row-2-column + span.oracle-roll 9-10 + span.oracle-result Trapped + .oracle-row.oracle-row-2-column + span.oracle-roll 11-12 + span.oracle-result Secret + .oracle-row.oracle-row-2-column + span.oracle-roll 13-14 + span.oracle-result Toxic + .oracle-row.oracle-row-2-column + span.oracle-roll 15-16 + span.oracle-result Ruined + .oracle-row.oracle-row-2-column + span.oracle-roll 17-18 + span.oracle-result Defended + .oracle-row.oracle-row-2-column + span.oracle-roll 19-20 + span.oracle-result Decaying + .oracle-row.oracle-row-2-column + span.oracle-roll 21-22 + span.oracle-result Marked + .oracle-row.oracle-row-2-column + span.oracle-roll 23-24 + span.oracle-result Guarded + .oracle-row.oracle-row-2-column + span.oracle-roll 25-26 + span.oracle-result Inaccessible + .oracle-row.oracle-row-2-column + span.oracle-roll 27-28 + span.oracle-result Foreboding + .oracle-row.oracle-row-2-column + span.oracle-roll 29-30 + span.oracle-result Veiled + .oracle-row.oracle-row-2-column + span.oracle-roll 31-32 + span.oracle-result Deep + .oracle-row.oracle-row-2-column + span.oracle-roll 33-34 + span.oracle-result Depleted + .oracle-row.oracle-row-2-column + span.oracle-roll 35-36 + span.oracle-result Foul + .oracle-row.oracle-row-2-column + span.oracle-roll 37-38 + span.oracle-result Elevated + .oracle-row.oracle-row-2-column + span.oracle-roll 39-40 + span.oracle-result Moving + .oracle-row.oracle-row-2-column + span.oracle-roll 41-42 + span.oracle-result Unnatural + .oracle-row.oracle-row-2-column + span.oracle-roll 43-44 + span.oracle-result Active + .oracle-row.oracle-row-2-column + span.oracle-roll 45-46 + span.oracle-result Confined + .oracle-row.oracle-row-2-column + span.oracle-roll 47-48 + span.oracle-result Fortified + .oracle-row.oracle-row-2-column + span.oracle-roll 49-50 + span.oracle-result Collapsed + .oracle-row.oracle-row-2-column + span.oracle-roll 51-52 + span.oracle-result Isolated + .oracle-row.oracle-row-2-column + span.oracle-roll 53-54 + span.oracle-result Destroyed + .oracle-row.oracle-row-2-column + span.oracle-roll 55-56 + span.oracle-result Open + .oracle-row.oracle-row-2-column + span.oracle-roll 57-58 + span.oracle-result Sacred + .oracle-row.oracle-row-2-column + span.oracle-roll 59-60 + span.oracle-result Flooded + .oracle-row.oracle-row-2-column + span.oracle-roll 61-62 + span.oracle-result Complex + .oracle-row.oracle-row-2-column + span.oracle-roll 63-64 + span.oracle-result Abundant + .oracle-row.oracle-row-2-column + span.oracle-roll 65-66 + span.oracle-result Hidden + .oracle-row.oracle-row-2-column + span.oracle-roll 67-68 + span.oracle-result Expansive + .oracle-row.oracle-row-2-column + span.oracle-roll 69-70 + span.oracle-result Mysterious + .oracle-row.oracle-row-2-column + span.oracle-roll 71-72 + span.oracle-result Unstable + .oracle-row.oracle-row-2-column + span.oracle-roll 73-74 + span.oracle-result Fragile + .oracle-row.oracle-row-2-column + span.oracle-roll 75-76 + span.oracle-result Broken + .oracle-row.oracle-row-2-column + span.oracle-roll 77-78 + span.oracle-result Ensnaring + .oracle-row.oracle-row-2-column + span.oracle-roll 79-80 + span.oracle-result Pillaged + .oracle-row.oracle-row-2-column + span.oracle-roll 81-82 + span.oracle-result Sealed + .oracle-row.oracle-row-2-column + span.oracle-roll 83-84 + span.oracle-result Makeshift + .oracle-row.oracle-row-2-column + span.oracle-roll 85-86 + span.oracle-result Treacherous + .oracle-row.oracle-row-2-column + span.oracle-roll 87-88 + span.oracle-result Natural + .oracle-row.oracle-row-2-column + span.oracle-roll 89-90 + span.oracle-result Dead + .oracle-row.oracle-row-2-column + span.oracle-roll 91-92 + span.oracle-result Unusual + .oracle-row.oracle-row-2-column + span.oracle-roll 93-94 + span.oracle-result Abandoned + .oracle-row.oracle-row-2-column + span.oracle-roll 95-96 + span.oracle-result Deadly + .oracle-row.oracle-row-2-column + span.oracle-roll 97-98 + span.oracle-result Forgotten + .oracle-row.oracle-row-2-column + span.oracle-roll 99-100 + span.oracle-result Mystical + + input.feature-focus.hide(type='radio' name='attr_oracle_delve' value='2') + .feature-focus.showhide + .oracle-title.oracle-table-preview Feature: Focus + .oracle-table.oracle-table-2-column + .oracle-row.oracle-row-2-column + span.oracle-roll 1-2 + span.oracle-result Attack + .oracle-row.oracle-row-2-column + span.oracle-roll 3-4 + span.oracle-result Threshold + .oracle-row.oracle-row-2-column + span.oracle-roll 5-6 + span.oracle-result Boundary + .oracle-row.oracle-row-2-column + span.oracle-roll 7-8 + span.oracle-result Alarm + .oracle-row.oracle-row-2-column + span.oracle-roll 9-10 + span.oracle-result Exit + .oracle-row.oracle-row-2-column + span.oracle-roll 11-12 + span.oracle-result Passage + .oracle-row.oracle-row-2-column + span.oracle-roll 13-14 + span.oracle-result Crossing + .oracle-row.oracle-row-2-column + span.oracle-roll 15-16 + span.oracle-result Trigger + .oracle-row.oracle-row-2-column + span.oracle-roll 17-18 + span.oracle-result Trap + .oracle-row.oracle-row-2-column + span.oracle-roll 19-20 + span.oracle-result Hideaway + .oracle-row.oracle-row-2-column + span.oracle-roll 21-22 + span.oracle-result Nature + .oracle-row.oracle-row-2-column + span.oracle-roll 23-24 + span.oracle-result Sign + .oracle-row.oracle-row-2-column + span.oracle-roll 25-26 + span.oracle-result Refuge + .oracle-row.oracle-row-2-column + span.oracle-roll 27-28 + span.oracle-result Valuables + .oracle-row.oracle-row-2-column + span.oracle-roll 29-30 + span.oracle-result Breach + .oracle-row.oracle-row-2-column + span.oracle-roll 31-32 + span.oracle-result Route + .oracle-row.oracle-row-2-column + span.oracle-roll 33-34 + span.oracle-result Location + .oracle-row.oracle-row-2-column + span.oracle-roll 35-36 + span.oracle-result Trail + .oracle-row.oracle-row-2-column + span.oracle-roll 37-38 + span.oracle-result Supply + .oracle-row.oracle-row-2-column + span.oracle-roll 39-40 + span.oracle-result History + .oracle-row.oracle-row-2-column + span.oracle-roll 41-42 + span.oracle-result + | Prisoner + .oracle-row.oracle-row-2-column + span.oracle-roll 43-44 + span.oracle-result + | Habitation + .oracle-row.oracle-row-2-column + span.oracle-roll 45-46 + span.oracle-result Debris + .oracle-row.oracle-row-2-column + span.oracle-roll 47-48 + span.oracle-result Creature + .oracle-row.oracle-row-2-column + span.oracle-roll 49-50 + span.oracle-result Lair + .oracle-row.oracle-row-2-column + span.oracle-roll 51-52 + span.oracle-result Person + .oracle-row.oracle-row-2-column + span.oracle-roll 53-54 + span.oracle-result Enclosure + .oracle-row.oracle-row-2-column + span.oracle-roll 55-56 + span.oracle-result Remains + .oracle-row.oracle-row-2-column + span.oracle-roll 57-58 + span.oracle-result Water + .oracle-row.oracle-row-2-column + span.oracle-roll 59-60 + span.oracle-result Message + .oracle-row.oracle-row-2-column + span.oracle-roll 61-62 + span.oracle-result Darkness + .oracle-row.oracle-row-2-column + span.oracle-roll 63-64 + span.oracle-result Opening + .oracle-row.oracle-row-2-column + span.oracle-roll 65-66 + span.oracle-result Weapon + .oracle-row.oracle-row-2-column + span.oracle-roll 67-68 + span.oracle-result Entry + .oracle-row.oracle-row-2-column + span.oracle-roll 69-70 + span.oracle-result Illumination + .oracle-row.oracle-row-2-column + span.oracle-roll 71-72 + span.oracle-result Obstacle + .oracle-row.oracle-row-2-column + span.oracle-roll 73-74 + span.oracle-result Craft + .oracle-row.oracle-row-2-column + span.oracle-roll 75-76 + span.oracle-result Container + .oracle-row.oracle-row-2-column + span.oracle-roll 77-78 + span.oracle-result Information + .oracle-row.oracle-row-2-column + span.oracle-roll 79-80 + span.oracle-result Grave + .oracle-row.oracle-row-2-column + span.oracle-roll 81-82 + span.oracle-result Equipment + .oracle-row.oracle-row-2-column + span.oracle-roll 83-84 + span.oracle-result Shelter + .oracle-row.oracle-row-2-column + span.oracle-roll 85-86 + span.oracle-result Denizen + .oracle-row.oracle-row-2-column + span.oracle-roll 87-88 + span.oracle-result Environment + .oracle-row.oracle-row-2-column + span.oracle-roll 89-90 + span.oracle-result Material + .oracle-row.oracle-row-2-column + span.oracle-roll 91-92 + span.oracle-result Resource + .oracle-row.oracle-row-2-column + span.oracle-roll 93-94 + span.oracle-result Corruption + .oracle-row.oracle-row-2-column + span.oracle-roll 95-96 + span.oracle-result Death + .oracle-row.oracle-row-2-column + span.oracle-roll 97-98 + span.oracle-result Function + .oracle-row.oracle-row-2-column + span.oracle-roll 99-100 + span.oracle-result Power + + input.site-name-format.hide(type='radio' name='attr_oracle_delve' value='3') + .site-name-format.showhide + .oracle-title.oracle-table-preview Site Name: Format + .oracle-table + .oracle-row + span.oracle-roll 1-25 + span.oracle-result [Description] [Place] + .oracle-row + span.oracle-roll 26-50 + span.oracle-result [Place] of [Detail] + .oracle-row + span.oracle-roll 51-70 + span.oracle-result [Place] of [Description] [Detail] + .oracle-row + span.oracle-roll 71-80 + span.oracle-result [Place] of [Namesake's] [Detail] + .oracle-row + span.oracle-roll 81-85 + span.oracle-result [Namesake's] [Place] + .oracle-row + span.oracle-roll 86-95 + span.oracle-result [Description] [Place] of [Namesake] + .oracle-row + span.oracle-roll 96-100 + span.oracle-result [Place] of [Namesake] + + input.site-name-desc.hide(type='radio' name='attr_oracle_delve' value='4') + .site-name-desc.showhide + .oracle-title.oracle-table-preview Site Name: Description + .oracle-table.oracle-table-2-column + .oracle-row.oracle-row-2-column + span.oracle-roll 1-2 + span.oracle-result Deep + .oracle-row.oracle-row-2-column + span.oracle-roll 3-4 + span.oracle-result Tainted + .oracle-row.oracle-row-2-column + span.oracle-roll 5-6 + span.oracle-result Grey + .oracle-row.oracle-row-2-column + span.oracle-roll 7-8 + span.oracle-result Forgotten + .oracle-row.oracle-row-2-column + span.oracle-roll 9-10 + span.oracle-result Flooded + .oracle-row.oracle-row-2-column + span.oracle-roll 11-12 + span.oracle-result + | Forbidden + .oracle-row.oracle-row-2-column + span.oracle-roll 13-14 + span.oracle-result Barren + .oracle-row.oracle-row-2-column + span.oracle-roll 15-16 + span.oracle-result Lost + .oracle-row.oracle-row-2-column + span.oracle-roll 17-18 + span.oracle-result Cursed + .oracle-row.oracle-row-2-column + span.oracle-roll 19-20 + span.oracle-result Fell + .oracle-row.oracle-row-2-column + span.oracle-roll 21-22 + span.oracle-result Sunken + .oracle-row.oracle-row-2-column + span.oracle-roll 23-24 + span.oracle-result Nightmare + .oracle-row.oracle-row-2-column + span.oracle-roll 25-26 + span.oracle-result Infernal + .oracle-row.oracle-row-2-column + span.oracle-roll 27-28 + span.oracle-result Dark + .oracle-row.oracle-row-2-column + span.oracle-roll 29-30 + span.oracle-result Bloodstained + .oracle-row.oracle-row-2-column + span.oracle-roll 31-32 + span.oracle-result Haunted + .oracle-row.oracle-row-2-column + span.oracle-roll + | 33-34 + span.oracle-result White + .oracle-row.oracle-row-2-column + span.oracle-roll 35-36 + span.oracle-result Shrouded + .oracle-row.oracle-row-2-column + span.oracle-roll 37-38 + span.oracle-result Wasted + .oracle-row.oracle-row-2-column + span.oracle-roll 39-40 + span.oracle-result Grim + .oracle-row.oracle-row-2-column + span.oracle-roll 41-42 + span.oracle-result Endless + .oracle-row.oracle-row-2-column + span.oracle-roll 43-44 + span.oracle-result Crumbling + .oracle-row.oracle-row-2-column + span.oracle-roll 45-46 + span.oracle-result Undying + .oracle-row.oracle-row-2-column + span.oracle-roll 47-48 + span.oracle-result Bloodied + .oracle-row.oracle-row-2-column + span.oracle-roll 49-50 + span.oracle-result Forsaken + .oracle-row.oracle-row-2-column + span.oracle-roll 51-52 + span.oracle-result Silent + .oracle-row.oracle-row-2-column + span.oracle-roll 53-54 + span.oracle-result Blighted + .oracle-row.oracle-row-2-column + span.oracle-roll 55-56 + span.oracle-result Iron + .oracle-row.oracle-row-2-column + span.oracle-roll 57-58 + span.oracle-result Frozen + .oracle-row.oracle-row-2-column + span.oracle-roll 59-60 + span.oracle-result Abyssal + .oracle-row.oracle-row-2-column + span.oracle-roll 61-62 + span.oracle-result Crimson + .oracle-row.oracle-row-2-column + span.oracle-roll 63-64 + span.oracle-result Silver + .oracle-row.oracle-row-2-column + span.oracle-roll 65-66 + span.oracle-result Desecrated + .oracle-row.oracle-row-2-column + span.oracle-roll 67-68 + span.oracle-result Ashen + .oracle-row.oracle-row-2-column + span.oracle-roll 69-70 + span.oracle-result Elder + .oracle-row.oracle-row-2-column + span.oracle-roll 71-72 + span.oracle-result Scorched + .oracle-row.oracle-row-2-column + span.oracle-roll 73-74 + span.oracle-result Unknown + .oracle-row.oracle-row-2-column + span.oracle-roll 75-76 + span.oracle-result Scarred + .oracle-row.oracle-row-2-column + span.oracle-roll 77-78 + span.oracle-result Broken + .oracle-row.oracle-row-2-column + span.oracle-roll 79-80 + span.oracle-result Chaotic + .oracle-row.oracle-row-2-column + span.oracle-roll 81-82 + span.oracle-result Black + .oracle-row.oracle-row-2-column + span.oracle-roll 83-84 + span.oracle-result Hidden + .oracle-row.oracle-row-2-column + span.oracle-roll 85-86 + span.oracle-result Sundered + .oracle-row.oracle-row-2-column + span.oracle-roll 87-88 + span.oracle-result Shattered + .oracle-row.oracle-row-2-column + span.oracle-roll 89-90 + span.oracle-result Dreaded + .oracle-row.oracle-row-2-column + span.oracle-roll 91-92 + span.oracle-result Secret + .oracle-row.oracle-row-2-column + span.oracle-roll 93-94 + span.oracle-result High + .oracle-row.oracle-row-2-column + span.oracle-roll 95-96 + span.oracle-result Sacred + .oracle-row.oracle-row-2-column + span.oracle-roll 97-98 + span.oracle-result Fallen + .oracle-row.oracle-row-2-column + span.oracle-roll 99-100 + span.oracle-result Ruined + + input.site-name-detail.hide(type='radio' name='attr_oracle_delve' value='5') + .site-name-detail.showhide + .oracle-title.oracle-table-preview Site Name: Detail + .oracle-table.oracle-table-2-column + .oracle-row.oracle-row-2-column + span.oracle-roll 1-2 + span.oracle-result Blight + .oracle-row.oracle-row-2-column + span.oracle-roll 3-4 + span.oracle-result Strife + .oracle-row.oracle-row-2-column + span.oracle-roll 5-6 + span.oracle-result Nightfall + .oracle-row.oracle-row-2-column + span.oracle-roll 7-8 + span.oracle-result Fury + .oracle-row.oracle-row-2-column + span.oracle-roll 9-10 + span.oracle-result Terror + .oracle-row.oracle-row-2-column + span.oracle-roll 11-12 + span.oracle-result + | Truth + .oracle-row.oracle-row-2-column + span.oracle-roll 13-14 + span.oracle-result Spring + .oracle-row.oracle-row-2-column + span.oracle-roll 15-16 + span.oracle-result Sanctuary + .oracle-row.oracle-row-2-column + span.oracle-roll 17-18 + span.oracle-result Bone + .oracle-row.oracle-row-2-column + span.oracle-roll 19-20 + span.oracle-result Specters + .oracle-row.oracle-row-2-column + span.oracle-roll 21-22 + span.oracle-result Daybreak + .oracle-row.oracle-row-2-column + span.oracle-roll 23-24 + span.oracle-result Doom + .oracle-row.oracle-row-2-column + span.oracle-roll 25-26 + span.oracle-result Treachery + .oracle-row.oracle-row-2-column + span.oracle-roll 27-28 + span.oracle-result Blood + .oracle-row.oracle-row-2-column + span.oracle-roll 29-30 + span.oracle-result War + .oracle-row.oracle-row-2-column + span.oracle-roll 31-32 + span.oracle-result Torment + .oracle-row.oracle-row-2-column + span.oracle-roll + | 33-34 + span.oracle-result Iron + .oracle-row.oracle-row-2-column + span.oracle-roll 35-36 + span.oracle-result Silence + .oracle-row.oracle-row-2-column + span.oracle-roll 37-38 + span.oracle-result Mist + .oracle-row.oracle-row-2-column + span.oracle-roll 39-40 + span.oracle-result Isolation + .oracle-row.oracle-row-2-column + span.oracle-roll 41-42 + span.oracle-result Runes + .oracle-row.oracle-row-2-column + span.oracle-roll 43-44 + span.oracle-result Rot + .oracle-row.oracle-row-2-column + span.oracle-roll 45-46 + span.oracle-result Corruption + .oracle-row.oracle-row-2-column + span.oracle-roll 47-48 + span.oracle-result Prophecy + .oracle-row.oracle-row-2-column + span.oracle-roll 49-50 + span.oracle-result Fate + .oracle-row.oracle-row-2-column + span.oracle-roll 51-52 + span.oracle-result Twilight + .oracle-row.oracle-row-2-column + span.oracle-roll 53-54 + span.oracle-result Power + .oracle-row.oracle-row-2-column + span.oracle-roll 55-56 + span.oracle-result Darkness + .oracle-row.oracle-row-2-column + span.oracle-roll 57-58 + span.oracle-result Gloom + .oracle-row.oracle-row-2-column + span.oracle-roll 59-60 + span.oracle-result Storms + .oracle-row.oracle-row-2-column + span.oracle-roll 61-62 + span.oracle-result Hope + .oracle-row.oracle-row-2-column + span.oracle-roll 63-64 + span.oracle-result Lament + .oracle-row.oracle-row-2-column + span.oracle-roll 65-66 + span.oracle-result Frost + .oracle-row.oracle-row-2-column + span.oracle-roll 67-68 + span.oracle-result Souls + .oracle-row.oracle-row-2-column + span.oracle-roll 69-70 + span.oracle-result Winter + .oracle-row.oracle-row-2-column + span.oracle-roll 71-72 + span.oracle-result Sadness + .oracle-row.oracle-row-2-column + span.oracle-roll 73-74 + span.oracle-result Desolation + .oracle-row.oracle-row-2-column + span.oracle-roll 75-76 + span.oracle-result Bane + .oracle-row.oracle-row-2-column + span.oracle-roll 77-78 + span.oracle-result Lies + .oracle-row.oracle-row-2-column + span.oracle-roll 79-80 + span.oracle-result Ash + .oracle-row.oracle-row-2-column + span.oracle-roll 81-82 + span.oracle-result Banishment + .oracle-row.oracle-row-2-column + span.oracle-roll 83-84 + span.oracle-result Shadow + .oracle-row.oracle-row-2-column + span.oracle-roll 85-86 + span.oracle-result Madness + .oracle-row.oracle-row-2-column + span.oracle-roll 87-88 + span.oracle-result Stone + .oracle-row.oracle-row-2-column + span.oracle-roll 89-90 + span.oracle-result Secrets + .oracle-row.oracle-row-2-column + span.oracle-roll 91-92 + span.oracle-result Despair + .oracle-row.oracle-row-2-column + span.oracle-roll 93-94 + span.oracle-result Blades + .oracle-row.oracle-row-2-column + span.oracle-roll 95-96 + span.oracle-result Dread + .oracle-row.oracle-row-2-column + span.oracle-roll 97-98 + span.oracle-result Light + .oracle-row.oracle-row-2-column + span.oracle-roll 99-100 + span.oracle-result Wrath + + input.site-name-namesake.hide(type='radio' name='attr_oracle_delve' value='6') + .site-name-namesake.showhide + .oracle-title.oracle-table-preview Site Name: Namesake + .oracle-table.oracle-table-2-column + .oracle-row.oracle-row-2-column + span.oracle-roll 1-2 + span.oracle-result Breckon + .oracle-row.oracle-row-2-column + span.oracle-roll 3-4 + span.oracle-result Issara + .oracle-row.oracle-row-2-column + span.oracle-roll 5-6 + span.oracle-result Milenna + .oracle-row.oracle-row-2-column + span.oracle-roll 7-8 + span.oracle-result Thorval + .oracle-row.oracle-row-2-column + span.oracle-roll 9-10 + span.oracle-result Khulan + .oracle-row.oracle-row-2-column + span.oracle-roll 11-12 + span.oracle-result + | Aurvang + .oracle-row.oracle-row-2-column + span.oracle-roll 13-14 + span.oracle-result Kalida + .oracle-row.oracle-row-2-column + span.oracle-roll 15-16 + span.oracle-result Keeara + .oracle-row.oracle-row-2-column + span.oracle-roll 17-18 + span.oracle-result Andor + .oracle-row.oracle-row-2-column + span.oracle-roll 19-20 + span.oracle-result Zakaria + .oracle-row.oracle-row-2-column + span.oracle-roll 21-22 + span.oracle-result Willa + .oracle-row.oracle-row-2-column + span.oracle-roll 23-24 + span.oracle-result Etana + .oracle-row.oracle-row-2-column + span.oracle-roll 25-26 + span.oracle-result Valgard + .oracle-row.oracle-row-2-column + span.oracle-roll 27-28 + span.oracle-result Kenrick + .oracle-row.oracle-row-2-column + span.oracle-roll 29-30 + span.oracle-result Wyland + .oracle-row.oracle-row-2-column + span.oracle-roll 31-32 + span.oracle-result Sidura + .oracle-row.oracle-row-2-column + span.oracle-roll + | 33-34 + span.oracle-result Svala + .oracle-row.oracle-row-2-column + span.oracle-roll 35-36 + span.oracle-result Kajir + .oracle-row.oracle-row-2-column + span.oracle-roll 37-38 + span.oracle-result Saiven + .oracle-row.oracle-row-2-column + span.oracle-roll 39-40 + span.oracle-result Callwen + .oracle-row.oracle-row-2-column + span.oracle-roll 41-42 + span.oracle-result Zhan + .oracle-row.oracle-row-2-column + span.oracle-roll 43-44 + span.oracle-result Solana + .oracle-row.oracle-row-2-column + span.oracle-roll 45-46 + span.oracle-result Ildar + .oracle-row.oracle-row-2-column + span.oracle-roll 47-48 + span.oracle-result Keelan + .oracle-row.oracle-row-2-column + span.oracle-roll 49-50 + span.oracle-result Thrain + .oracle-row.oracle-row-2-column + span.oracle-roll 51-52 + span.oracle-result Kynan + .oracle-row.oracle-row-2-column + span.oracle-roll 53-54 + span.oracle-result Jadina + .oracle-row.oracle-row-2-column + span.oracle-roll 55-56 + span.oracle-result Radek + .oracle-row.oracle-row-2-column + span.oracle-roll 57-58 + span.oracle-result Wulan + .oracle-row.oracle-row-2-column + span.oracle-roll 59-60 + span.oracle-result Garion + .oracle-row.oracle-row-2-column + span.oracle-roll 61-62 + span.oracle-result Eysa + .oracle-row.oracle-row-2-column + span.oracle-roll 63-64 + span.oracle-result Kolor + .oracle-row.oracle-row-2-column + span.oracle-roll 65-66 + span.oracle-result Katarra + .oracle-row.oracle-row-2-column + span.oracle-roll 67-68 + span.oracle-result Dain + .oracle-row.oracle-row-2-column + span.oracle-roll 69-70 + span.oracle-result Farina + .oracle-row.oracle-row-2-column + span.oracle-roll 71-72 + span.oracle-result Yala + .oracle-row.oracle-row-2-column + span.oracle-roll 73-74 + span.oracle-result Kodroth + .oracle-row.oracle-row-2-column + span.oracle-roll 75-76 + span.oracle-result Morien + .oracle-row.oracle-row-2-column + span.oracle-roll 77-78 + span.oracle-result Akida + .oracle-row.oracle-row-2-column + span.oracle-roll 79-80 + span.oracle-result Haldorr + .oracle-row.oracle-row-2-column + span.oracle-roll 81-82 + span.oracle-result Nyrad + .oracle-row.oracle-row-2-column + span.oracle-roll 83-84 + span.oracle-result Edda + .oracle-row.oracle-row-2-column + span.oracle-roll 85-86 + span.oracle-result Jorund + .oracle-row.oracle-row-2-column + span.oracle-roll 87-88 + span.oracle-result Morraine + .oracle-row.oracle-row-2-column + span.oracle-roll 89-90 + span.oracle-result Lindar + .oracle-row.oracle-row-2-column + span.oracle-roll 91-92 + span.oracle-result Sithra + .oracle-row.oracle-row-2-column + span.oracle-roll 93-94 + span.oracle-result Torgan + .oracle-row.oracle-row-2-column + span.oracle-roll 95-96 + span.oracle-result Arnorr + .oracle-row.oracle-row-2-column + span.oracle-roll 97-98 + span.oracle-result Thyri + .oracle-row.oracle-row-2-column + span.oracle-roll 99-100 + span.oracle-result Erisia + + input.site-name-place.hide(type='radio' name='attr_oracle_delve' value='7') + .site-name-place.showhide + .oracle-title.oracle-table-preview Site Name: Place + .oracle-table + .oracle-row + span.oracle-roll 1-6 + span.oracle-result Barrow + .oracle-row + span.oracle-roll 7-18 + span.oracle-result Cavern + .oracle-row + span.oracle-roll 19-28 + span.oracle-result Frozen Cavern + .oracle-row + span.oracle-roll 29-32 + span.oracle-result Icereach + .oracle-row + span.oracle-roll 33-38 + span.oracle-result Mine + .oracle-row + span.oracle-roll 39-48 + span.oracle-result Pass + .oracle-row + span.oracle-roll 49-58 + span.oracle-result Ruin + .oracle-row + span.oracle-roll 59-68 + span.oracle-result Sea Cave + .oracle-row + span.oracle-roll 69-78 + span.oracle-result Shadowfen + .oracle-row + span.oracle-roll 79-83 + span.oracle-result Stronghold + .oracle-row + span.oracle-roll 84-95 + span.oracle-result Tanglewood + .oracle-row + span.oracle-roll 96-100 + span.oracle-result Underkeep + + input.site-nature-theme.hide(type='radio' name='attr_oracle_delve' value='8') + .site-nature-theme.showhide + .oracle-title.oracle-table-preview Site Nature: Theme + .oracle-table + .oracle-row + span.oracle-roll 1-11 + span.oracle-result Ancient + .oracle-row + span.oracle-roll 12-23 + span.oracle-result Corrupted + .oracle-row + span.oracle-roll 24-35 + span.oracle-result Fortified + .oracle-row + span.oracle-roll 36-48 + span.oracle-result Hallowed + .oracle-row + span.oracle-roll 49-61 + span.oracle-result Haunted + .oracle-row + span.oracle-roll 62-74 + span.oracle-result Infested + .oracle-row + span.oracle-roll 75-87 + span.oracle-result Ravaged + .oracle-row + span.oracle-roll 88-100 + span.oracle-result Wild + + input.site-nature-domain.hide(type='radio' name='attr_oracle_delve' value='9') + .site-nature-domain.showhide + .oracle-title.oracle-table-preview Site Nature: Domain + .oracle-table + .oracle-row + span.oracle-roll 1-6 + span.oracle-result Barrow + .oracle-row + span.oracle-roll 7-18 + span.oracle-result Cavern + .oracle-row + span.oracle-roll 19-28 + span.oracle-result Frozen Cavern + .oracle-row + span.oracle-roll 29-32 + span.oracle-result Icereach + .oracle-row + span.oracle-roll 33-38 + span.oracle-result Mine + .oracle-row + span.oracle-roll 39-48 + span.oracle-result Pass + .oracle-row + span.oracle-roll 49-58 + span.oracle-result Ruin + .oracle-row + span.oracle-roll 59-68 + span.oracle-result Sea Cave + .oracle-row + span.oracle-roll 69-78 + span.oracle-result Shadowfen + .oracle-row + span.oracle-roll 79-83 + span.oracle-result Stronghold + .oracle-row + span.oracle-roll 84-95 + span.oracle-result Tanglewood + .oracle-row + span.oracle-roll 96-100 + span.oracle-result Underkeep + + input.character-disposition.hide(type='radio' name='attr_oracle_delve' value='10') + .character-disposition.showhide + .oracle-title.oracle-table-preview Character: Disposition + .oracle-table + .oracle-row + span.oracle-roll 1-6 + span.oracle-result Helpful + .oracle-row + span.oracle-roll 7-13 + span.oracle-result Friendly + .oracle-row + span.oracle-roll 14-20 + span.oracle-result Cooperative + .oracle-row + span.oracle-roll 21-28 + span.oracle-result Curious + .oracle-row + span.oracle-roll 29-36 + span.oracle-result Indifferent + .oracle-row + span.oracle-roll 37-47 + span.oracle-result Suspicious + .oracle-row + span.oracle-roll 48-57 + span.oracle-result Wanting + .oracle-row + span.oracle-roll 58-67 + span.oracle-result Desperate + .oracle-row + span.oracle-roll 68-76 + span.oracle-result Demanding + .oracle-row + span.oracle-roll 77-85 + span.oracle-result Unfriendly + .oracle-row + span.oracle-roll 86-93 + span.oracle-result Threatening + .oracle-row + span.oracle-roll 94-100 + span.oracle-result Hostile + + input.character-activity.hide(type='radio' name='attr_oracle_delve' value='11') + .character-activity.showhide + .oracle-title.oracle-table-preview Character: Activity + .oracle-table.oracle-table-2-column + .oracle-row.oracle-row-2-column + span.oracle-roll 1-2 + span.oracle-result Guarding + .oracle-row.oracle-row-2-column + span.oracle-roll 3-4 + span.oracle-result Preserving + .oracle-row.oracle-row-2-column + span.oracle-roll 5-6 + span.oracle-result Constructing + .oracle-row.oracle-row-2-column + span.oracle-roll 7-8 + span.oracle-result Mending + .oracle-row.oracle-row-2-column + span.oracle-roll 9-10 + span.oracle-result Assisting + .oracle-row.oracle-row-2-column + span.oracle-roll 11-12 + span.oracle-result + | Securing + .oracle-row.oracle-row-2-column + span.oracle-roll 13-14 + span.oracle-result Learning + .oracle-row.oracle-row-2-column + span.oracle-roll 15-16 + span.oracle-result Sneaking + .oracle-row.oracle-row-2-column + span.oracle-roll 17-18 + span.oracle-result Fleeing + .oracle-row.oracle-row-2-column + span.oracle-roll 19-20 + span.oracle-result Sacrificing + .oracle-row.oracle-row-2-column + span.oracle-roll 21-22 + span.oracle-result Creating + .oracle-row.oracle-row-2-column + span.oracle-roll 23-24 + span.oracle-result Luring + .oracle-row.oracle-row-2-column + span.oracle-roll 25-26 + span.oracle-result Hunting + .oracle-row.oracle-row-2-column + span.oracle-roll 27-28 + span.oracle-result Seizing + .oracle-row.oracle-row-2-column + span.oracle-roll 29-30 + span.oracle-result Bargaining + .oracle-row.oracle-row-2-column + span.oracle-roll 31-32 + span.oracle-result Mimicking + .oracle-row.oracle-row-2-column + span.oracle-roll + | 33-34 + span.oracle-result Tricking + .oracle-row.oracle-row-2-column + span.oracle-roll 35-36 + span.oracle-result Tracking + .oracle-row.oracle-row-2-column + span.oracle-roll 37-38 + span.oracle-result Escorting + .oracle-row.oracle-row-2-column + span.oracle-roll 39-40 + span.oracle-result Hiding + .oracle-row.oracle-row-2-column + span.oracle-roll 41-42 + span.oracle-result Raiding + .oracle-row.oracle-row-2-column + span.oracle-roll 43-44 + span.oracle-result Socializing + .oracle-row.oracle-row-2-column + span.oracle-roll 45-46 + span.oracle-result Exploring + .oracle-row.oracle-row-2-column + span.oracle-roll 47-48 + span.oracle-result Journeying + .oracle-row.oracle-row-2-column + span.oracle-roll 49-50 + span.oracle-result Supporting + .oracle-row.oracle-row-2-column + span.oracle-roll 51-52 + span.oracle-result Avoiding + .oracle-row.oracle-row-2-column + span.oracle-roll 53-54 + span.oracle-result Disabling + .oracle-row.oracle-row-2-column + span.oracle-roll 55-56 + span.oracle-result Leading + .oracle-row.oracle-row-2-column + span.oracle-roll 57-58 + span.oracle-result Assaulting + .oracle-row.oracle-row-2-column + span.oracle-roll 59-60 + span.oracle-result Ensnaring + .oracle-row.oracle-row-2-column + span.oracle-roll 61-62 + span.oracle-result Defending + .oracle-row.oracle-row-2-column + span.oracle-roll 63-64 + span.oracle-result Recovering + .oracle-row.oracle-row-2-column + span.oracle-roll 65-66 + span.oracle-result Patrolling + .oracle-row.oracle-row-2-column + span.oracle-roll 67-68 + span.oracle-result Resting + .oracle-row.oracle-row-2-column + span.oracle-roll 69-70 + span.oracle-result Distracting + .oracle-row.oracle-row-2-column + span.oracle-roll 71-72 + span.oracle-result Leaving + .oracle-row.oracle-row-2-column + span.oracle-roll 73-74 + span.oracle-result Fighting + .oracle-row.oracle-row-2-column + span.oracle-roll 75-76 + span.oracle-result Ambushing + .oracle-row.oracle-row-2-column + span.oracle-roll 77-78 + span.oracle-result Controlling + .oracle-row.oracle-row-2-column + span.oracle-roll 79-80 + span.oracle-result Observing + .oracle-row.oracle-row-2-column + span.oracle-roll 81-82 + span.oracle-result Gathering + .oracle-row.oracle-row-2-column + span.oracle-roll 83-84 + span.oracle-result Suffering + .oracle-row.oracle-row-2-column + span.oracle-roll 85-86 + span.oracle-result Threatening + .oracle-row.oracle-row-2-column + span.oracle-roll 87-88 + span.oracle-result Searching + .oracle-row.oracle-row-2-column + span.oracle-roll 89-90 + span.oracle-result Destroying + .oracle-row.oracle-row-2-column + span.oracle-roll 91-92 + span.oracle-result Restoring + .oracle-row.oracle-row-2-column + span.oracle-roll 93-94 + span.oracle-result Consuming + .oracle-row.oracle-row-2-column + span.oracle-roll 95-96 + span.oracle-result Removing + .oracle-row.oracle-row-2-column + span.oracle-roll 97-98 + span.oracle-result Inspecting + .oracle-row.oracle-row-2-column + span.oracle-roll 99-100 + span.oracle-result Summoning + + input.monstrosity-size.hide(type='radio' name='attr_oracle_delve' value='12') + .monstrosity-size.showhide + .oracle-title.oracle-table-preview Monstrosity: Size + .oracle-table + .oracle-row + span.oracle-roll 1-5 + span.oracle-result Tiny (rodent-sized) + .oracle-row + span.oracle-roll 6-30 + span.oracle-result Small (hound-sized) + .oracle-row + span.oracle-roll 31-65 + span.oracle-result Medium (person-sized) + .oracle-row + span.oracle-roll 66-94 + span.oracle-result Large (giant-sized) + .oracle-row + span.oracle-roll 95-99 + span.oracle-result Huge (whale-sized) + .oracle-row + span.oracle-roll 100 + span.oracle-result Titanic (incomprehensible) + + input.monstrosity-primary-form.hide(type='radio' name='attr_oracle_delve' value='13') + .monstrosity-primary-form.showhide + .oracle-title.oracle-table-preview Monstrosity: Primary Form + .oracle-table + .oracle-row + span.oracle-roll 1-15 + span.oracle-result Beast / mammal + .oracle-row + span.oracle-roll 16-25 + span.oracle-result Humanoid + .oracle-row + span.oracle-roll 26-31 + span.oracle-result Bird + .oracle-row + span.oracle-roll 32-37 + span.oracle-result Spider + .oracle-row + span.oracle-roll 38-43 + span.oracle-result Snake + .oracle-row + span.oracle-roll 44-49 + span.oracle-result Worm / slug + .oracle-row + span.oracle-roll 50-55 + span.oracle-result Lizard + .oracle-row + span.oracle-roll 56-61 + span.oracle-result Insect + .oracle-row + span.oracle-roll 62-66 + span.oracle-result Amorphous + .oracle-row + span.oracle-roll 67-69 + span.oracle-result Crustacean + .oracle-row + span.oracle-roll 70-71 + span.oracle-result Fish + .oracle-row + span.oracle-roll 72-73 + span.oracle-result Octopoid + .oracle-row + span.oracle-roll 74-75 + span.oracle-result Amphibian + .oracle-row + span.oracle-roll 76-77 + span.oracle-result Plant + .oracle-row + span.oracle-roll 78 + span.oracle-result Incorporeal + .oracle-row + span.oracle-roll 79 + span.oracle-result Mineral + .oracle-row + span.oracle-roll 80 + span.oracle-result Elemental + .oracle-row + span.oracle-roll 81-100 + span.oracle-result Hybrid (roll twice) + + input.monstrosity-characteristics.hide(type='radio' name='attr_oracle_delve' value='14') + .monstrosity-characteristics.showhide + .oracle-title.oracle-table-preview Monstrosity: Characteristics + .oracle-table + .oracle-row + span.oracle-roll 1-5 + span.oracle-result Extra limbs + .oracle-row + span.oracle-roll 6-10 + span.oracle-result Fangs / rows of sharp teeth + .oracle-row + span.oracle-roll 11-15 + span.oracle-result Claws / talons + .oracle-row + span.oracle-roll 16-20 + span.oracle-result Strange color / markings + .oracle-row + span.oracle-roll 21-25 + span.oracle-result Horns / tusks + .oracle-row + span.oracle-roll 26-30 + span.oracle-result Oversized mouth + .oracle-row + span.oracle-roll 31-35 + span.oracle-result Spikes / spines + .oracle-row + span.oracle-roll 36-40 + span.oracle-result Tail + .oracle-row + span.oracle-roll 41-45 + span.oracle-result Multi-segmented body + .oracle-row + span.oracle-roll 46-50 + span.oracle-result Wings + .oracle-row + span.oracle-roll 51-54 + span.oracle-result Stinger / barbs + .oracle-row + span.oracle-roll 55-58 + span.oracle-result Many-eyed + .oracle-row + span.oracle-roll 59-62 + span.oracle-result Distinctive sound + .oracle-row + span.oracle-roll 63-66 + span.oracle-result Tentacles / tendrils + .oracle-row + span.oracle-roll 67-69 + span.oracle-result Mandibles / pincers + .oracle-row + span.oracle-roll 70-72 + span.oracle-result Luminescent + .oracle-row + span.oracle-roll 73-75 + span.oracle-result Antennae / sensory organs + .oracle-row + span.oracle-roll 76-78 + span.oracle-result Proboscis / inner jaw + .oracle-row + span.oracle-roll 79-81 + span.oracle-result Exoskeleton / shell + .oracle-row + span.oracle-roll 82-84 + span.oracle-result Bony protuberances + .oracle-row + span.oracle-roll 85-87 + span.oracle-result Corrupted flesh + .oracle-row + span.oracle-roll 88-90 + span.oracle-result Semi-transparent + .oracle-row + span.oracle-roll 91-93 + span.oracle-result Scarred / injured + .oracle-row + span.oracle-roll 94-95 + span.oracle-result Egg sac / carried offspring + .oracle-row + span.oracle-roll 96-97 + span.oracle-result Rotting / skeletal + .oracle-row + span.oracle-roll 98 + span.oracle-result Mummified / desiccated + .oracle-row + span.oracle-roll 99 + span.oracle-result Multi-headed + .oracle-row + span.oracle-roll 100 + span.oracle-result Etched with mystic runes + + input.monstrosity-abilities.hide(type='radio' name='attr_oracle_delve' value='15') + .monstrosity-abilities.showhide + .oracle-title.oracle-table-preview Monstrosity: Abilities + .oracle-table + .oracle-row + span.oracle-roll 1-4 + span.oracle-result Keen senses + .oracle-row + span.oracle-roll 5-8 + span.oracle-result Intimidating vocalization + .oracle-row + span.oracle-roll 9-12 + span.oracle-result Climber + .oracle-row + span.oracle-roll 13-16 + span.oracle-result Intelligent + .oracle-row + span.oracle-roll 17-20 + span.oracle-result Swift + .oracle-row + span.oracle-roll 21-24 + span.oracle-result Powerful bite + .oracle-row + span.oracle-roll 25-28 + span.oracle-result Stealthy / ambusher + .oracle-row + span.oracle-roll 29-32 + span.oracle-result Horrid visage + .oracle-row + span.oracle-roll 33-36 + span.oracle-result Strong + .oracle-row + span.oracle-roll 37-40 + span.oracle-result Camouflaged + .oracle-row + span.oracle-roll 41-43 + span.oracle-result Flier / glider + .oracle-row + span.oracle-roll 44-46 + span.oracle-result Poisonous + .oracle-row + span.oracle-roll 47-49 + span.oracle-result Semiaquatic / swimmer + .oracle-row + span.oracle-roll 50-52 + span.oracle-result Grappler / entangler + .oracle-row + span.oracle-roll 53-55 + span.oracle-result Leaper + .oracle-row + span.oracle-roll 56-58 + span.oracle-result Crusher / constrictor + .oracle-row + span.oracle-roll 59-61 + span.oracle-result Armored + .oracle-row + span.oracle-roll 62-64 + span.oracle-result Burrower + .oracle-row + span.oracle-roll 65-67 + span.oracle-result Noxious smell + .oracle-row + span.oracle-roll 68-69 + span.oracle-result Trap-setter + .oracle-row + span.oracle-roll 70-71 + span.oracle-result Parasitic + .oracle-row + span.oracle-roll 72-73 + span.oracle-result Vibration sense + .oracle-row + span.oracle-roll 74-75 + span.oracle-result Breath weapon / toxic spew + .oracle-row + span.oracle-roll 76-77 + span.oracle-result Mimicry + .oracle-row + span.oracle-roll 78-79 + span.oracle-result Shapeshifting + .oracle-row + span.oracle-roll 80-81 + span.oracle-result Control lesser creatures + .oracle-row + span.oracle-roll 82-83 + span.oracle-result Echolocation + .oracle-row + span.oracle-roll 84-85 + span.oracle-result Electric shock + .oracle-row + span.oracle-roll 86-87 + span.oracle-result Acidic + .oracle-row + span.oracle-roll 88-89 + span.oracle-result Symbiotic + .oracle-row + span.oracle-roll 90-91 + span.oracle-result Shoot projectiles + .oracle-row + span.oracle-roll 92 + span.oracle-result Paralyzing + .oracle-row + span.oracle-roll 93 + span.oracle-result Immune to iron + .oracle-row + span.oracle-roll 94 + span.oracle-result Feels no pain + .oracle-row + span.oracle-roll 95 + span.oracle-result Enact rituals + .oracle-row + span.oracle-roll 96 + span.oracle-result Create illusions + .oracle-row + span.oracle-roll 97 + span.oracle-result Mind control / telepathy + .oracle-row + span.oracle-roll 98 + span.oracle-result Move between realities + .oracle-row + span.oracle-roll 99 + span.oracle-result Wield weapons + .oracle-row + span.oracle-roll 100 + span.oracle-result Control elements + + input.trap-event.hide(type='radio' name='attr_oracle_delve' value='16') + .trap-event.showhide + .oracle-title.oracle-table-preview Trap: Event + .oracle-table + .oracle-row + span.oracle-roll 1-4 + span.oracle-result Block + .oracle-row + span.oracle-roll 5-8 + span.oracle-result Create + .oracle-row + span.oracle-roll 9-12 + span.oracle-result Break + .oracle-row + span.oracle-roll 13-16 + span.oracle-result Puncture + .oracle-row + span.oracle-roll 17-20 + span.oracle-result Entangle + .oracle-row + span.oracle-roll 21-24 + span.oracle-result Enclose + .oracle-row + span.oracle-roll 25-28 + span.oracle-result Ambush + .oracle-row + span.oracle-roll 29-32 + span.oracle-result Snare + .oracle-row + span.oracle-roll 33-36 + span.oracle-result Change + .oracle-row + span.oracle-roll 37-40 + span.oracle-result Imitate + .oracle-row + span.oracle-roll 41-44 + span.oracle-result Crush + .oracle-row + span.oracle-roll 45-48 + span.oracle-result Drop + .oracle-row + span.oracle-roll 49-52 + span.oracle-result Conceal + .oracle-row + span.oracle-roll 53-56 + span.oracle-result Lure + .oracle-row + span.oracle-roll 57-60 + span.oracle-result Release + .oracle-row + span.oracle-roll 61-64 + span.oracle-result Obscure + .oracle-row + span.oracle-roll 65-68 + span.oracle-result Cut + .oracle-row + span.oracle-roll 69-72 + span.oracle-result Smother + .oracle-row + span.oracle-roll 73-76 + span.oracle-result Collapse + .oracle-row + span.oracle-roll 77-80 + span.oracle-result Summon + .oracle-row + span.oracle-roll 81-84 + span.oracle-result Move + .oracle-row + span.oracle-roll 85-88 + span.oracle-result Surprise + .oracle-row + span.oracle-roll 89-92 + span.oracle-result Divert + .oracle-row + span.oracle-roll 93-96 + span.oracle-result Attack + .oracle-row + span.oracle-roll 97-100 + span.oracle-result Trigger + + input.trap-component.hide(type='radio' name='attr_oracle_delve' value='17') + .trap-component.showhide + .oracle-title.oracle-table-preview Trap: Component + .oracle-table + .oracle-row + span.oracle-roll 1-4 + span.oracle-result Pit + .oracle-row + span.oracle-roll 5-8 + span.oracle-result Water + .oracle-row + span.oracle-roll 9-12 + span.oracle-result Fire + .oracle-row + span.oracle-roll 13-16 + span.oracle-result Projectile + .oracle-row + span.oracle-roll 17-20 + span.oracle-result Passage + .oracle-row + span.oracle-roll 21-24 + span.oracle-result Fall + .oracle-row + span.oracle-roll 25-28 + span.oracle-result Debris + .oracle-row + span.oracle-roll 29-32 + span.oracle-result Fear + .oracle-row + span.oracle-roll 33-36 + span.oracle-result Alarm + .oracle-row + span.oracle-roll 37-40 + span.oracle-result Trigger + .oracle-row + span.oracle-roll 41-44 + span.oracle-result Cold + .oracle-row + span.oracle-roll 45-48 + span.oracle-result Weapon + .oracle-row + span.oracle-roll 49-52 + span.oracle-result Darkness + .oracle-row + span.oracle-roll 53-56 + span.oracle-result Decay + .oracle-row + span.oracle-roll 57-60 + span.oracle-result Path + .oracle-row + span.oracle-roll 61-64 + span.oracle-result Stone + .oracle-row + span.oracle-roll 65-68 + span.oracle-result Terrain + .oracle-row + span.oracle-roll 69-72 + span.oracle-result Poison + .oracle-row + span.oracle-roll 73-76 + span.oracle-result Barrier + .oracle-row + span.oracle-roll 77-80 + span.oracle-result Overhead + .oracle-row + span.oracle-roll 81-84 + span.oracle-result Magic + .oracle-row + span.oracle-roll 85-88 + span.oracle-result Toxin + .oracle-row + span.oracle-roll 89-92 + span.oracle-result Earth + .oracle-row + span.oracle-roll 93-96 + span.oracle-result Light + .oracle-row + span.oracle-roll 97-100 + span.oracle-result Denizen + + input.combat-event-method.hide(type='radio' name='attr_oracle_delve' value='18') + .combat-event-method.showhide + .oracle-title.oracle-table-preview Combat Event: Method + .oracle-table.oracle-table-2-column + .oracle-row.oracle-row-2-column + span.oracle-roll 1-2 + span.oracle-result Defy + .oracle-row.oracle-row-2-column + span.oracle-roll 3-4 + span.oracle-result Break + .oracle-row.oracle-row-2-column + span.oracle-roll 5-6 + span.oracle-result Trick + .oracle-row.oracle-row-2-column + span.oracle-roll 7-8 + span.oracle-result Evade + .oracle-row.oracle-row-2-column + span.oracle-roll 9-10 + span.oracle-result Protect + .oracle-row.oracle-row-2-column + span.oracle-roll 11-12 + span.oracle-result + | Overwhelm + .oracle-row.oracle-row-2-column + span.oracle-roll 13-14 + span.oracle-result Persevere + .oracle-row.oracle-row-2-column + span.oracle-roll 15-16 + span.oracle-result Assist + .oracle-row.oracle-row-2-column + span.oracle-roll 17-18 + span.oracle-result Await + .oracle-row.oracle-row-2-column + span.oracle-roll 19-20 + span.oracle-result Abort + .oracle-row.oracle-row-2-column + span.oracle-roll 21-22 + span.oracle-result Block + .oracle-row.oracle-row-2-column + span.oracle-roll 23-24 + span.oracle-result Collide + .oracle-row.oracle-row-2-column + span.oracle-roll 25-26 + span.oracle-result Focus + .oracle-row.oracle-row-2-column + span.oracle-roll 27-28 + span.oracle-result Advance + .oracle-row.oracle-row-2-column + span.oracle-roll 29-30 + span.oracle-result Breach + .oracle-row.oracle-row-2-column + span.oracle-roll 31-32 + span.oracle-result Endure + .oracle-row.oracle-row-2-column + span.oracle-roll + | 33-34 + span.oracle-result Assault + .oracle-row.oracle-row-2-column + span.oracle-roll 35-36 + span.oracle-result Charge + .oracle-row.oracle-row-2-column + span.oracle-roll 37-38 + span.oracle-result Escalate + .oracle-row.oracle-row-2-column + span.oracle-roll 39-40 + span.oracle-result Sunder + .oracle-row.oracle-row-2-column + span.oracle-roll 41-42 + span.oracle-result Shatter + .oracle-row.oracle-row-2-column + span.oracle-roll 43-44 + span.oracle-result Aim + .oracle-row.oracle-row-2-column + span.oracle-roll 45-46 + span.oracle-result Stagger + .oracle-row.oracle-row-2-column + span.oracle-roll 47-48 + span.oracle-result Counter + .oracle-row.oracle-row-2-column + span.oracle-roll 49-50 + span.oracle-result Seize + .oracle-row.oracle-row-2-column + span.oracle-roll 51-52 + span.oracle-result Impact + .oracle-row.oracle-row-2-column + span.oracle-roll 53-54 + span.oracle-result Entangle + .oracle-row.oracle-row-2-column + span.oracle-roll 55-56 + span.oracle-result Hold + .oracle-row.oracle-row-2-column + span.oracle-roll 57-58 + span.oracle-result Deflect + .oracle-row.oracle-row-2-column + span.oracle-roll 59-60 + span.oracle-result Drop + .oracle-row.oracle-row-2-column + span.oracle-roll 61-62 + span.oracle-result Lose + .oracle-row.oracle-row-2-column + span.oracle-roll 63-64 + span.oracle-result Sweep + .oracle-row.oracle-row-2-column + span.oracle-roll 65-66 + span.oracle-result Secure + .oracle-row.oracle-row-2-column + span.oracle-roll 67-68 + span.oracle-result Cover + .oracle-row.oracle-row-2-column + span.oracle-roll 69-70 + span.oracle-result Withdraw + .oracle-row.oracle-row-2-column + span.oracle-roll 71-72 + span.oracle-result Clash + .oracle-row.oracle-row-2-column + span.oracle-roll 73-74 + span.oracle-result Amplify + .oracle-row.oracle-row-2-column + span.oracle-roll 75-76 + span.oracle-result Batter + .oracle-row.oracle-row-2-column + span.oracle-roll 77-78 + span.oracle-result Feint + .oracle-row.oracle-row-2-column + span.oracle-roll 79-80 + span.oracle-result Shove + .oracle-row.oracle-row-2-column + span.oracle-roll 81-82 + span.oracle-result Embed + .oracle-row.oracle-row-2-column + span.oracle-roll 83-84 + span.oracle-result Affect + .oracle-row.oracle-row-2-column + span.oracle-roll 85-86 + span.oracle-result Probe + .oracle-row.oracle-row-2-column + span.oracle-roll 87-88 + span.oracle-result Force + .oracle-row.oracle-row-2-column + span.oracle-roll 89-90 + span.oracle-result Intensify + .oracle-row.oracle-row-2-column + span.oracle-roll 91-92 + span.oracle-result Distract + .oracle-row.oracle-row-2-column + span.oracle-roll 93-94 + span.oracle-result Challenge + .oracle-row.oracle-row-2-column + span.oracle-roll 95-96 + span.oracle-result Brawl + .oracle-row.oracle-row-2-column + span.oracle-roll 97-98 + span.oracle-result Coordinate + .oracle-row.oracle-row-2-column + span.oracle-roll 99-100 + span.oracle-result Overrun + + input.combat-event-target.hide(type='radio' name='attr_oracle_delve' value='19') + .combat-event-target.showhide + .oracle-title.oracle-table-preview Combat Event: Target + .oracle-table-2-column.oracle-table + .oracle-row.oracle-row-2-column + span.oracle-roll 1-2 + span.oracle-result Control + .oracle-row.oracle-row-2-column + span.oracle-roll 3-4 + span.oracle-result Defense + .oracle-row.oracle-row-2-column + span.oracle-roll 5-6 + span.oracle-result Limbs + .oracle-row.oracle-row-2-column + span.oracle-roll 7-8 + span.oracle-result Focus + .oracle-row.oracle-row-2-column + span.oracle-roll 9-10 + span.oracle-result Advantage + .oracle-row.oracle-row-2-column + span.oracle-roll 11-12 + span.oracle-result + | Range + .oracle-row.oracle-row-2-column + span.oracle-roll 13-14 + span.oracle-result Stress + .oracle-row.oracle-row-2-column + span.oracle-roll 15-16 + span.oracle-result Sense + .oracle-row.oracle-row-2-column + span.oracle-roll 17-18 + span.oracle-result Weakness + .oracle-row.oracle-row-2-column + span.oracle-roll 19-20 + span.oracle-result Opening + .oracle-row.oracle-row-2-column + span.oracle-roll 21-22 + span.oracle-result Fear + .oracle-row.oracle-row-2-column + span.oracle-roll 23-24 + span.oracle-result Instinct + .oracle-row.oracle-row-2-column + span.oracle-roll 25-26 + span.oracle-result Footing + .oracle-row.oracle-row-2-column + span.oracle-roll 27-28 + span.oracle-result Maneuver + .oracle-row.oracle-row-2-column + span.oracle-roll 29-30 + span.oracle-result Reach + .oracle-row.oracle-row-2-column + span.oracle-roll 31-32 + span.oracle-result Harm + .oracle-row.oracle-row-2-column + span.oracle-roll + | 33-34 + span.oracle-result Finesse + .oracle-row.oracle-row-2-column + span.oracle-roll 35-36 + span.oracle-result Weapon + .oracle-row.oracle-row-2-column + span.oracle-roll 37-38 + span.oracle-result Environment + .oracle-row.oracle-row-2-column + span.oracle-roll 39-40 + span.oracle-result Technique + .oracle-row.oracle-row-2-column + span.oracle-roll 41-42 + span.oracle-result Surprise + .oracle-row.oracle-row-2-column + span.oracle-roll 43-44 + span.oracle-result Pride + .oracle-row.oracle-row-2-column + span.oracle-roll 45-46 + span.oracle-result Wound + .oracle-row.oracle-row-2-column + span.oracle-roll 47-48 + span.oracle-result Precision + .oracle-row.oracle-row-2-column + span.oracle-roll 49-50 + span.oracle-result Ally + .oracle-row.oracle-row-2-column + span.oracle-roll 51-52 + span.oracle-result Ground + .oracle-row.oracle-row-2-column + span.oracle-roll 53-54 + span.oracle-result Courage + .oracle-row.oracle-row-2-column + span.oracle-roll 55-56 + span.oracle-result Companion + .oracle-row.oracle-row-2-column + span.oracle-roll 57-58 + span.oracle-result Object + .oracle-row.oracle-row-2-column + span.oracle-roll 59-60 + span.oracle-result Momentum + .oracle-row.oracle-row-2-column + span.oracle-roll 61-62 + span.oracle-result Speed + .oracle-row.oracle-row-2-column + span.oracle-roll 63-64 + span.oracle-result Strength + .oracle-row.oracle-row-2-column + span.oracle-roll 65-66 + span.oracle-result Supply + .oracle-row.oracle-row-2-column + span.oracle-roll 67-68 + span.oracle-result Terrain + .oracle-row.oracle-row-2-column + span.oracle-roll 69-70 + span.oracle-result Armor + .oracle-row.oracle-row-2-column + span.oracle-roll 71-72 + span.oracle-result Skill + .oracle-row.oracle-row-2-column + span.oracle-roll 73-74 + span.oracle-result Body + .oracle-row.oracle-row-2-column + span.oracle-roll 75-76 + span.oracle-result Protection + .oracle-row.oracle-row-2-column + span.oracle-roll 77-78 + span.oracle-result Resolve + .oracle-row.oracle-row-2-column + span.oracle-roll 79-80 + span.oracle-result Ferocity + .oracle-row.oracle-row-2-column + span.oracle-roll 81-82 + span.oracle-result Shield + .oracle-row.oracle-row-2-column + span.oracle-roll 83-84 + span.oracle-result Ammo + .oracle-row.oracle-row-2-column + span.oracle-roll 85-86 + span.oracle-result Anger + .oracle-row.oracle-row-2-column + span.oracle-roll 87-88 + span.oracle-result Opportunity + .oracle-row.oracle-row-2-column + span.oracle-roll 89-90 + span.oracle-result Balance + .oracle-row.oracle-row-2-column + span.oracle-roll 91-92 + span.oracle-result Position + .oracle-row.oracle-row-2-column + span.oracle-roll 93-94 + span.oracle-result Barrier + .oracle-row.oracle-row-2-column + span.oracle-roll 95-96 + span.oracle-result Strategy + .oracle-row.oracle-row-2-column + span.oracle-roll 97-98 + span.oracle-result Grasp + .oracle-row.oracle-row-2-column + span.oracle-roll 99-100 + span.oracle-result Power + + input.threat-category.hide(type='radio' name='attr_oracle_delve' value='20') + .threat-category.showhide + .oracle-title.oracle-table-preview Threat: Category + .oracle-table + .oracle-row + span.oracle-roll 1-10 + span.oracle-result Burgeoning Conflict + .oracle-row + span.oracle-roll 11-20 + span.oracle-result Cursed Site + .oracle-row + span.oracle-roll 21-30 + span.oracle-result Environmental Calamity + .oracle-row + span.oracle-roll 31-40 + span.oracle-result Malignant Plague + .oracle-row + span.oracle-roll 41-50 + span.oracle-result Rampaging Creature + .oracle-row + span.oracle-roll 51-60 + span.oracle-result Ravaging Horde + .oracle-row + span.oracle-roll 61-70 + span.oracle-result Scheming Leader + .oracle-row + span.oracle-roll 71-80 + span.oracle-result Power-Hungry Mystic + .oracle-row + span.oracle-roll 81-90 + span.oracle-result Zealous Cult + .oracle-row + span.oracle-roll 91-100 + span.oracle-result Roll Twice + + input.threat-burgeoning-conflict.hide(type='radio' name='attr_oracle_delve' value='21') + .threat-burgeoning-conflict.showhide + .oracle-title.oracle-table-preview Threat: Burgeoning Conflict + .oracle-table + .oracle-row + span.oracle-roll 1-10 + span.oracle-result Allow warmongers to gain influence + .oracle-row + span.oracle-roll 11-20 + span.oracle-result Break a treaty + .oracle-row + span.oracle-roll 21-30 + span.oracle-result Force a hasty decision + .oracle-row + span.oracle-roll 31-40 + span.oracle-result Deepen suspicions + .oracle-row + span.oracle-roll 41-50 + span.oracle-result Trigger a confrontation + .oracle-row + span.oracle-roll 51-60 + span.oracle-result Subvert a potential accord + .oracle-row + span.oracle-roll 61-70 + span.oracle-result Isolate the antagonists + .oracle-row + span.oracle-roll 71-80 + span.oracle-result Draw new battle lines + .oracle-row + span.oracle-roll 81-90 + span.oracle-result Reveal an unexpected aspect of the dispute + .oracle-row + span.oracle-roll 91-100 + span.oracle-result + | Introduce a new person or faction to complicate the + | situation + + input.threat-cursed-site.hide(type='radio' name='attr_oracle_delve' value='22') + .threat-cursed-site.showhide + .oracle-title.oracle-table-preview Threat: Cursed Site + .oracle-table + .oracle-row + span.oracle-roll 1-10 + span.oracle-result Unleash a creature or being + .oracle-row + span.oracle-roll 11-20 + span.oracle-result Lure the unwary into its depths + .oracle-row + span.oracle-roll 21-30 + span.oracle-result Offer promises of power + .oracle-row + span.oracle-roll 31-40 + span.oracle-result Reveal a new aspect of its cursed history + .oracle-row + span.oracle-roll 41-50 + span.oracle-result Expand its malignancy to surrounding lands + .oracle-row + span.oracle-roll 51-60 + span.oracle-result Leave its mark on an inhabitant or visitor + .oracle-row + span.oracle-roll 61-70 + span.oracle-result Reveal hidden depths + .oracle-row + span.oracle-roll 71-80 + span.oracle-result Ensnare an important person or object + .oracle-row + span.oracle-roll 81-90 + span.oracle-result Corrupt the environment + .oracle-row + span.oracle-roll 91-100 + span.oracle-result Transform its nature + + input.threat-environmental-calamity.hide(type='radio' name='attr_oracle_delve' value='23') + .threat-environmental-calamity.showhide + .oracle-title.oracle-table-preview Threat: Environmental Calamity + .oracle-table + .oracle-row + span.oracle-roll 1-10 + span.oracle-result Devastate a place + .oracle-row + span.oracle-roll 11-20 + span.oracle-result Block a path + .oracle-row + span.oracle-roll 21-30 + span.oracle-result Threaten a community with imminent destruction + .oracle-row + span.oracle-roll 31-40 + span.oracle-result Manifest unexpected effects + .oracle-row + span.oracle-roll 41-50 + span.oracle-result Expand in scope or intensity + .oracle-row + span.oracle-roll 51-60 + span.oracle-result Allow someone to take advantage + .oracle-row + span.oracle-roll 61-70 + span.oracle-result Deprive of resources + .oracle-row + span.oracle-roll 71-80 + span.oracle-result Isolate an important person or community + .oracle-row + span.oracle-roll 81-90 + span.oracle-result Force refugees into hostile lands + .oracle-row + span.oracle-roll 91-100 + span.oracle-result Disrupt natural ecosystems + + input.threat-malignant-plague.hide(type='radio' name='attr_oracle_delve' value='24') + .threat-malignant-plague.showhide + .oracle-title.oracle-table-preview Threat: Malignant Plague + .oracle-table + .oracle-row + span.oracle-roll 1-10 + span.oracle-result Manifest new symptoms or effects + .oracle-row + span.oracle-roll 11-20 + span.oracle-result Infect someone important + .oracle-row + span.oracle-roll 21-30 + span.oracle-result Expand to new territory or communities + .oracle-row + span.oracle-roll 31-40 + span.oracle-result Allow someone to take advantage + .oracle-row + span.oracle-roll 41-50 + span.oracle-result Allow someone to take the blame + .oracle-row + span.oracle-roll 51-60 + span.oracle-result Create panic or disorder + .oracle-row + span.oracle-roll 61-70 + span.oracle-result Force a horrible decision + .oracle-row + span.oracle-roll 71-80 + span.oracle-result Lure into complacency + .oracle-row + span.oracle-roll 81-90 + span.oracle-result Reveal the root of the sickness + .oracle-row + span.oracle-roll 91-100 + span.oracle-result Undermine a potential cure + + input.threat-rampaging-creature.hide(type='radio' name='attr_oracle_delve' value='25') + .threat-rampaging-creature.showhide + .oracle-title.oracle-table-preview Threat: Rampaging Creature + .oracle-table + .oracle-row + span.oracle-roll 1-10 + span.oracle-result Reveal a new aspect of its nature or abilities + .oracle-row + span.oracle-roll 11-20 + span.oracle-result Expand its territory + .oracle-row + span.oracle-roll 21-30 + span.oracle-result Make a sudden and brutal attack + .oracle-row + span.oracle-roll 31-40 + span.oracle-result Control or influence lesser creatures + .oracle-row + span.oracle-roll 41-50 + span.oracle-result Create confusion or strife + .oracle-row + span.oracle-roll 51-60 + span.oracle-result Leave foreboding signs + .oracle-row + span.oracle-roll 61-70 + span.oracle-result Lure the unwary + .oracle-row + span.oracle-roll 71-80 + span.oracle-result Imperil an event + .oracle-row + span.oracle-roll 81-90 + span.oracle-result Assert control over a location + .oracle-row + span.oracle-roll 91-100 + span.oracle-result Threaten resources + + input.threat-ravaging-horde.hide(type='radio' name='attr_oracle_delve' value='26') + .threat-ravaging-horde.showhide + .oracle-title.oracle-table-preview Threat: Ravaging Horde + .oracle-table + .oracle-row + span.oracle-roll 1-10 + span.oracle-result Overrun defenses + .oracle-row + span.oracle-roll 11-20 + span.oracle-result Gather resources + .oracle-row + span.oracle-roll 21-30 + span.oracle-result Attack a location + .oracle-row + span.oracle-roll 31-40 + span.oracle-result Expand forces + .oracle-row + span.oracle-roll 41-50 + span.oracle-result Appoint or reveal a leader + .oracle-row + span.oracle-roll 51-60 + span.oracle-result Send forth a champion + .oracle-row + span.oracle-roll 61-70 + span.oracle-result Create a diversion + .oracle-row + span.oracle-roll 71-80 + span.oracle-result Undermine an opposing force from within + .oracle-row + span.oracle-roll 81-90 + span.oracle-result Cut off supplies or reinforcements + .oracle-row + span.oracle-roll 91-100 + span.oracle-result Employ a new weapon + + input.threat-scheming-leader.hide(type='radio' name='attr_oracle_delve' value='27') + .threat-scheming-leader.showhide + .oracle-title.oracle-table-preview Threat: Scheming Leader + .oracle-table + .oracle-row + span.oracle-roll 1-10 + span.oracle-result Defeat an enemy + .oracle-row + span.oracle-roll 11-20 + span.oracle-result Form a new alliance + .oracle-row + span.oracle-roll 21-30 + span.oracle-result Usurp or undermine another leader + .oracle-row + span.oracle-roll 31-40 + span.oracle-result Force the loyalty of a community or important person + .oracle-row + span.oracle-roll 41-50 + span.oracle-result Enact a new law or tradition + .oracle-row + span.oracle-roll 51-60 + span.oracle-result Rescind an old law or tradition + .oracle-row + span.oracle-roll 61-70 + span.oracle-result Reveal a true intention + .oracle-row + span.oracle-roll 71-80 + span.oracle-result Unravel an existing alliance + .oracle-row + span.oracle-roll 81-90 + span.oracle-result Incite conflict + .oracle-row + span.oracle-roll 91-100 + span.oracle-result Use an unexpected capability or asset + + input.threat-power-hungry-mystic.hide(type='radio' name='attr_oracle_delve' value='28') + .threat-power-hungry-mystic.showhide + .oracle-title.oracle-table-preview Threat: Power-Hungry Mystic + .oracle-table + .oracle-row + span.oracle-roll 1-10 + span.oracle-result Gain hidden knowledge + .oracle-row + span.oracle-roll 11-20 + span.oracle-result Assault an enemy with magic + .oracle-row + span.oracle-roll 21-30 + span.oracle-result Despoil a place through magic + .oracle-row + span.oracle-roll 31-40 + span.oracle-result Forge a bond with ancient forces + .oracle-row + span.oracle-roll 41-50 + span.oracle-result Create magical wards or protections + .oracle-row + span.oracle-roll 51-60 + span.oracle-result Obtain a powerful artifact + .oracle-row + span.oracle-roll 61-70 + span.oracle-result Tempt with power or secrets + .oracle-row + span.oracle-roll 71-80 + span.oracle-result Recruit a follower or ally + .oracle-row + span.oracle-roll 81-90 + span.oracle-result Sacrifice something in exchange for greater power + .oracle-row + span.oracle-roll 91-100 + span.oracle-result Use magic to trick or deceive + + input.threat-zealous-cult.hide(type='radio' name='attr_oracle_delve' value='29') + .threat-zealous-cult.showhide + .oracle-title.oracle-table-preview Threat: Zealous Cult + .oracle-table + .oracle-row + span.oracle-roll 1-10 + span.oracle-result Overtake a faction or community + .oracle-row + span.oracle-roll 11-20 + span.oracle-result Unlock secrets to greater power + .oracle-row + span.oracle-roll 21-30 + span.oracle-result Establish false credibility + .oracle-row + span.oracle-roll 31-40 + span.oracle-result Appoint or reveal a leader + .oracle-row + span.oracle-roll 41-50 + span.oracle-result Lure new members or establish alliances + .oracle-row + span.oracle-roll 51-60 + span.oracle-result Subvert opposition through devious schemes + .oracle-row + span.oracle-roll 61-70 + span.oracle-result Attack opposition directly + .oracle-row + span.oracle-roll 71-80 + span.oracle-result Spread the word of its doctrine + .oracle-row + span.oracle-roll 81-90 + span.oracle-result Reveal a dire prophecy + .oracle-row + span.oracle-roll 91-100 + span.oracle-result Reveal its true nature or goal diff --git a/Ironcrunch/src/components/oracles/ironsworn.pug b/Ironcrunch/src/components/oracles/ironsworn.pug new file mode 100644 index 0000000000..d92fd4b26f --- /dev/null +++ b/Ironcrunch/src/components/oracles/ironsworn.pug @@ -0,0 +1,3545 @@ +include ../../common/pug/shared-tables + +mixin ironswornOracles + .oracle-container + .oracle-column.table-list + .oracle-box + .oracle-title Plot + .oracle + .button-container + button(type='roll' title='Action Oracle' name='roll_action_oracle' value='&{template:ironsworn_oracles} {{header=Action Oracle}} {{action=[[d100]]}}') + label.common-btn.oracle-btn + input.hide.btn-input(type='radio' title='@{oracle_ironsworn_button}' name='attr_oracle_ironsworn_button' value='1') + .btn-content Action + .oracle + .button-container + button(type='roll' title='Theme Oracle' name='roll_theme_oracle' value='&{template:ironsworn_oracles} {{header=Theme Oracle}} {{theme=[[d100]]}}') + label.common-btn.oracle-btn + input.hide.btn-input(type='radio' title='@{oracle_ironsworn_button}' name='attr_oracle_ironsworn_button' value='2') + .btn-content Theme + .oracle + .button-container + button(type='roll' title='Combat Actions Oracle' name='roll_combat_action_oracle' value='&{template:ironsworn_oracles} {{header=Combat Actions Oracle}} {{combatAction=[[d100]]}}') + label.common-btn.oracle-btn + input.hide.btn-input(type='radio' title='@{oracle_ironsworn_button}' name='attr_oracle_ironsworn_button' value='3') + .btn-content Combat Actions + .oracle + .button-container + button(type='roll' title='Settlement Trouble Oracle' name='roll_settlement_trouble_oracle' value='&{template:ironsworn_oracles} {{header=Settlement Trouble Oracle}} {{settlementTrouble=[[d100]]}}') + label.common-btn.oracle-btn + input.hide.btn-input(type='radio' title='@{oracle_ironsworn_button}' name='attr_oracle_ironsworn_button' value='4') + .btn-content Settlement Trouble + .oracle + .button-container + button(type='roll' title='Major Plot Twist Oracle' name='roll_major_plot_twist_oracle' value='&{template:ironsworn_oracles} {{header=Major Plot Twist Oracle}} {{majorPlotTwist=[[d100]]}}') + label.common-btn.oracle-btn + input.hide.btn-input(type='radio' title='@{oracle_ironsworn_button}' name='attr_oracle_ironsworn_button' value='5') + .btn-content Major Plot Twist + .oracle + .button-container + button(type='roll' title='Mystic Backlash Oracle' name='rollmysticbacklashoracle' value='&{template:ironsworn_oracles} {{header=Mystic Backlash Oracle}} {{mysticBacklash=[[d100]]}}') + label.common-btn.oracle-btn + input.hide.btn-input(type='radio' title='@{oracle_ironsworn_button}' name='attr_oracle_ironsworn_button' value='6') + .btn-content Mystic Backlash + .oracle + .button-container + button(type='roll' title='Challenge Rank Oracle' name='rollchallengerankoracle' value='&{template:ironsworn_oracles} {{header=Challenge Rank Oracle}} {{challengeRank=[[d100]]}}') + label.common-btn.oracle-btn + input.hide.btn-input(type='radio' title='@{oracle_ironsworn_button}' name='attr_oracle_ironsworn_button' value='7') + .btn-content Challenge Rank + .oracle-box + .oracle-title Locations + .oracle + .button-container + button(type='roll' title='Region Oracle' name='rollregionoracle' value='&{template:ironsworn_oracles} {{header=Region Oracle}} {{region=[[d100]]}}') + label.common-btn.oracle-btn + input.hide.btn-input(type='radio' title='@{oracle_ironsworn_button}' name='attr_oracle_ironsworn_button' value='8') + .btn-content Region + .oracle + .button-container + button(type='roll' title='Location Oracle' name='rollLocationoracle' value='&{template:ironsworn_oracles} {{header=location Oracle}} {{location=[[d100]]}}') + label.common-btn.oracle-btn + input.hide.btn-input(type='radio' title='@{oracle_ironsworn_button}' name='attr_oracle_ironsworn_button' value='9') + .btn-content Location + .oracle + .button-container + button(type='roll' title='Costal Waters Location Oracle' name='rollcoastalwaterslocationoracle' value='&{template:ironsworn_oracles} {{header=Coastal Waters Location Oracle}} {{coastalWatersLocation=[[d100]]}}') + label.common-btn.oracle-btn + input.hide.btn-input(type='radio' title='@{oracle_ironsworn_button}' name='attr_oracle_ironsworn_button' value='10') + .btn-content Costal Waters Location + .oracle + .button-container + button(type='roll' title='Location Descriptor Oracle' name='rolllocationdescriptororacle' value='&{template:ironsworn_oracles} {{header=Location Descriptor Oracle}} {{locationDescriptor=[[d100]]}}') + label.common-btn.oracle-btn + input.hide.btn-input(type='radio' title='@{oracle_ironsworn_button}' name='attr_oracle_ironsworn_button' value='11') + .btn-content Location Descriptor + .oracle + .button-container + button(type='roll' title='Settlement Name Oracle' name='rollsettlementnameoracle' value='&{template:ironsworn_oracles} {{header=Settlement Name Oracle}} {{settlementName=[[d100]]}}') + label.common-btn.oracle-btn + input.hide.btn-input(type='radio' title='@{oracle_ironsworn_button}' name='attr_oracle_ironsworn_button' value='12') + .btn-content Settlement Name + .oracle + .button-container + button(type='roll' title='Quick Settlement Name Oracle' name='rollquicksettlementnameoracle' value='&{template:ironsworn_oracles} {{header=Quick Settlement Name Oracle}} {{quickSettlementName=[[0]]}} {{quickSettlementNamePrefix=[[d100]]}} {{quickSettlementNameSuffix=[[d100]]}}') + label.common-btn.oracle-btn + input.hide.btn-input(type='radio' title='@{oracle_ironsworn_button}' name='attr_oracle_ironsworn_button' value='13') + .btn-content Quick Settlement Name + .oracle-box + .oracle-title Character + .oracle + .button-container + button(type='roll' title='Character Role Oracle' name='rollcharacterroleoracle' value='&{template:ironsworn_oracles} {{header=Character Role Oracle}} {{characterRole=[[d100]]}}') + label.common-btn.oracle-btn + input.hide.btn-input(type='radio' title='@{oracle_ironsworn_button}' name='attr_oracle_ironsworn_button' value='14') + .btn-content Character Role + .oracle + .button-container + button(type='roll' title='Character Goal Oracle' name='rollcharactergoaloracle' value='&{template:ironsworn_oracles} {{header=Character Goal Oracle}} {{characterGoal=[[d100]]}}') + label.common-btn.oracle-btn + input.hide.btn-input(type='radio' title='@{oracle_ironsworn_button}' name='attr_oracle_ironsworn_button' value='15') + .btn-content Character Goal + .oracle + .button-container + button(type='roll' title='Character Descriptor Oracle' name='rollcharacterdescriptororacle' value='&{template:ironsworn_oracles} {{header=Character Descriptor Oracle}} {{characterDescriptor=[[d100]]}}') + label.common-btn.oracle-btn + input.hide.btn-input(type='radio' title='@{oracle_ironsworn_button}' name='attr_oracle_ironsworn_button' value='16') + .btn-content Character Descriptor + .oracle-box + .oracle-title Character Names + .oracle + .button-container + button(type='roll' title='Ironlander Names Oracle' name='rollironlandernamesoracle' value='&{template:ironsworn_oracles} {{header=Ironlander Names Oracle}} {{ironlanderNames=[[1d200]]}}') + label.common-btn.oracle-btn + input.hide.btn-input(type='radio' title='@{oracle_ironsworn_button}' name='attr_oracle_ironsworn_button' value='17') + .btn-content Ironlander Names + .oracle + .button-container + button(type='roll' title='Elf Names Oracle' name='rollElf Namesoracle' value='&{template:ironsworn_oracles} {{header=Elf Names Oracle}} {{elfNames=[[d100]]}}') + label.common-btn.oracle-btn + input.hide.btn-input(type='radio' title='@{oracle_ironsworn_button}' name='attr_oracle_ironsworn_button' value='18') + .btn-content Elf Names + .oracle + .button-container + button(type='roll' title='Giant Names Oracle' name='rollgiantnamesoracle' value='&{template:ironsworn_oracles} {{header=Giant Names Oracle}} {{giantNames=[[d100]]}}') + label.common-btn.oracle-btn + input.hide.btn-input(type='radio' title='@{oracle_ironsworn_button}' name='attr_oracle_ironsworn_button' value='19') + .btn-content Giant Names + .oracle + .button-container + button(type='roll' title='Varou Names Oracle' name='rollvarounamesoracle' value='&{template:ironsworn_oracles} {{header=Varou Names Oracle}} {{varouNames=[[d100]]}}') + label.common-btn.oracle-btn + input.hide.btn-input(type='radio' title='@{oracle_ironsworn_button}' name='attr_oracle_ironsworn_button' value='20') + .btn-content Varou Names + .oracle + .button-container + button(type='roll' title='Troll Names Oracle' name='rolltrollnamesoracle' value='&{template:ironsworn_oracles} {{header=Troll Names Oracle}} {{trollNames=[[d100]]}}') + label.common-btn.oracle-btn + input.hide.btn-input(type='radio' title='@{oracle_ironsworn_button}' name='attr_oracle_ironsworn_button' value='21') + .btn-content Troll Names + .oracle-box + .oracle-title Moves + .oracle + .button-container + button(type='roll' title='Pay the Price Oracle' name='rollpaythepriceoracle' value='&{template:ironsworn_oracles} {{header=Pay the Price Oracle}} {{payThePrice=[[d100]]}}') + label.common-btn.oracle-btn + input.hide.btn-input(type='radio' title='@{oracle_ironsworn_button}' name='attr_oracle_ironsworn_button' value='22') + .btn-content Pay the Price + .oracle + .button-container + label.common-btn.oracle-btn + input.hide.btn-input(type='radio' title='@{oracle_ironsworn_button}' name='attr_oracle_ironsworn_button' value='23') + .btn-content Ask the Oracle + .oracle + .button-container + button(type='roll' title='Endure Harm Oracle' name='rollendureharmoracle' value='&{template:ironsworn_oracles} {{header=Endure Harm Oracle}} {{endureHarm=[[d100]]}}') + label.common-btn.oracle-btn + input.hide.btn-input(type='radio' title='@{oracle_ironsworn_button}' name='attr_oracle_ironsworn_button' value='24') + .btn-content Endure Harm + .oracle + .button-container + button(type='roll' title='Endure Stress Oracle' name='rollendurestressoracle' value='&{template:ironsworn_oracles} {{header=Endure Stress Oracle}} {{endureStress=[[d100]]}}') + label.common-btn.oracle-btn + input.hide.btn-input(type='radio' title='@{oracle_ironsworn_button}' name='attr_oracle_ironsworn_button' value='25') + .btn-content Endure Stress + + .oracle-column.table-main + input.action.hide(type='radio' name='attr_oracle_ironsworn' value='1') + .action.showhide + .oracle-title.oracle-table-preview ACTION + .oracle-table.oracle-table-3-column + .oracle-row.oracle-row-3-column + span.oracle-roll 1 + span.oracle-result Scheme + .oracle-row.oracle-row-3-column + span.oracle-roll 2 + span.oracle-result Clash + .oracle-row.oracle-row-3-column + span.oracle-roll 3 + span.oracle-result Weaken + .oracle-row.oracle-row-3-column + span.oracle-roll 4 + span.oracle-result Initiate + .oracle-row.oracle-row-3-column + span.oracle-roll 5 + span.oracle-result Create + .oracle-row.oracle-row-3-column + span.oracle-roll 6 + span.oracle-result Swear + .oracle-row.oracle-row-3-column + span.oracle-roll 7 + span.oracle-result Avenge + .oracle-row.oracle-row-3-column + span.oracle-roll 8 + span.oracle-result Guard + .oracle-row.oracle-row-3-column + span.oracle-roll 9 + span.oracle-result Defeat + .oracle-row.oracle-row-3-column + span.oracle-roll 10 + span.oracle-result Control + .oracle-row.oracle-row-3-column + span.oracle-roll 11 + span.oracle-result Break + .oracle-row.oracle-row-3-column + span.oracle-roll 12 + span.oracle-result Risk + .oracle-row.oracle-row-3-column + span.oracle-roll 13 + span.oracle-result Surrender + .oracle-row.oracle-row-3-column + span.oracle-roll 14 + span.oracle-result Inspect + .oracle-row.oracle-row-3-column + span.oracle-roll 15 + span.oracle-result Raid + .oracle-row.oracle-row-3-column + span.oracle-roll 16 + span.oracle-result Evade + .oracle-row.oracle-row-3-column + span.oracle-roll 17 + span.oracle-result Assault + .oracle-row.oracle-row-3-column + span.oracle-roll 18 + span.oracle-result Deflect + .oracle-row.oracle-row-3-column + span.oracle-roll 19 + span.oracle-result Threaten + .oracle-row.oracle-row-3-column + span.oracle-roll 20 + span.oracle-result Attack + .oracle-row.oracle-row-3-column + span.oracle-roll 21 + span.oracle-result Leave + .oracle-row.oracle-row-3-column + span.oracle-roll 22 + span.oracle-result Preserve + .oracle-row.oracle-row-3-column + span.oracle-roll 23 + span.oracle-result Manipulate + .oracle-row.oracle-row-3-column + span.oracle-roll 24 + span.oracle-result Remove + .oracle-row.oracle-row-3-column + span.oracle-roll 25 + span.oracle-result Eliminate + .oracle-row.oracle-row-3-column + span.oracle-roll 26 + span.oracle-result Withdraw + .oracle-row.oracle-row-3-column + span.oracle-roll 27 + span.oracle-result Abandon + .oracle-row.oracle-row-3-column + span.oracle-roll 28 + span.oracle-result Investigate + .oracle-row.oracle-row-3-column + span.oracle-roll 29 + span.oracle-result Hold + .oracle-row.oracle-row-3-column + span.oracle-roll 30 + span.oracle-result Focus + .oracle-row.oracle-row-3-column + span.oracle-roll 31 + span.oracle-result Uncover + .oracle-row.oracle-row-3-column + span.oracle-roll 32 + span.oracle-result Breach + .oracle-row.oracle-row-3-column + span.oracle-roll 33 + span.oracle-result Aid + .oracle-row.oracle-row-3-column + span.oracle-roll 34 + span.oracle-result Uphold + .oracle-row.oracle-row-3-column + span.oracle-roll 35 + span.oracle-result Falter + .oracle-row.oracle-row-3-column + span.oracle-roll 36 + span.oracle-result Suppress + .oracle-row.oracle-row-3-column + span.oracle-roll 37 + span.oracle-result Hunt + .oracle-row.oracle-row-3-column + span.oracle-roll 38 + span.oracle-result Share + .oracle-row.oracle-row-3-column + span.oracle-roll 39 + span.oracle-result Destroy + .oracle-row.oracle-row-3-column + span.oracle-roll 40 + span.oracle-result Avoid + .oracle-row.oracle-row-3-column + span.oracle-roll 41 + span.oracle-result Reject + .oracle-row.oracle-row-3-column + span.oracle-roll 42 + span.oracle-result Demand + .oracle-row.oracle-row-3-column + span.oracle-roll 43 + span.oracle-result Explore + .oracle-row.oracle-row-3-column + span.oracle-roll 44 + span.oracle-result Bolster + .oracle-row.oracle-row-3-column + span.oracle-roll 45 + span.oracle-result Seize + .oracle-row.oracle-row-3-column + span.oracle-roll 46 + span.oracle-result Mourn + .oracle-row.oracle-row-3-column + span.oracle-roll 47 + span.oracle-result Reveal + .oracle-row.oracle-row-3-column + span.oracle-roll 48 + span.oracle-result Gather + .oracle-row.oracle-row-3-column + span.oracle-roll 49 + span.oracle-result Defy + .oracle-row.oracle-row-3-column + span.oracle-roll 50 + span.oracle-result Transform + .oracle-row.oracle-row-3-column + span.oracle-roll 51 + span.oracle-result Persevere + .oracle-row.oracle-row-3-column + span.oracle-roll 52 + span.oracle-result Serve + .oracle-row.oracle-row-3-column + span.oracle-roll 53 + span.oracle-result Begin + .oracle-row.oracle-row-3-column + span.oracle-roll 54 + span.oracle-result Move + .oracle-row.oracle-row-3-column + span.oracle-roll 55 + span.oracle-result Coordinate + .oracle-row.oracle-row-3-column + span.oracle-roll 56 + span.oracle-result Resist + .oracle-row.oracle-row-3-column + span.oracle-roll 57 + span.oracle-result Await + .oracle-row.oracle-row-3-column + span.oracle-roll 58 + span.oracle-result Impress + .oracle-row.oracle-row-3-column + span.oracle-roll 59 + span.oracle-result Take + .oracle-row.oracle-row-3-column + span.oracle-roll 60 + span.oracle-result Oppose + .oracle-row.oracle-row-3-column + span.oracle-roll 61 + span.oracle-result Capture + .oracle-row.oracle-row-3-column + span.oracle-roll 62 + span.oracle-result Overwhelm + .oracle-row.oracle-row-3-column + span.oracle-roll 63 + span.oracle-result Challenge + .oracle-row.oracle-row-3-column + span.oracle-roll 64 + span.oracle-result Acquire + .oracle-row.oracle-row-3-column + span.oracle-roll 65 + span.oracle-result Protect + .oracle-row.oracle-row-3-column + span.oracle-roll 66 + span.oracle-result Finish + .oracle-row.oracle-row-3-column + span.oracle-roll 67 + span.oracle-result Strengthen + .oracle-row.oracle-row-3-column + span.oracle-roll 68 + span.oracle-result Restore + .oracle-row.oracle-row-3-column + span.oracle-roll 69 + span.oracle-result Advance + .oracle-row.oracle-row-3-column + span.oracle-roll 70 + span.oracle-result Command + .oracle-row.oracle-row-3-column + span.oracle-roll 71 + span.oracle-result Refuse + .oracle-row.oracle-row-3-column + span.oracle-roll 72 + span.oracle-result Find + .oracle-row.oracle-row-3-column + span.oracle-roll 73 + span.oracle-result Deliver + .oracle-row.oracle-row-3-column + span.oracle-roll 74 + span.oracle-result Hide + .oracle-row.oracle-row-3-column + span.oracle-roll 75 + span.oracle-result Fortify + .oracle-row.oracle-row-3-column + span.oracle-roll 76 + span.oracle-result Betray + .oracle-row.oracle-row-3-column + span.oracle-roll 77 + span.oracle-result Secure + .oracle-row.oracle-row-3-column + span.oracle-roll 78 + span.oracle-result Arrive + .oracle-row.oracle-row-3-column + span.oracle-roll 79 + span.oracle-result Affect + .oracle-row.oracle-row-3-column + span.oracle-roll 80 + span.oracle-result Change + .oracle-row.oracle-row-3-column + span.oracle-roll 81 + span.oracle-result Defend + .oracle-row.oracle-row-3-column + span.oracle-roll 82 + span.oracle-result Debate + .oracle-row.oracle-row-3-column + span.oracle-roll 83 + span.oracle-result Support + .oracle-row.oracle-row-3-column + span.oracle-roll 84 + span.oracle-result Follow + .oracle-row.oracle-row-3-column + span.oracle-roll 85 + span.oracle-result Construct + .oracle-row.oracle-row-3-column + span.oracle-roll 86 + span.oracle-result Locate + .oracle-row.oracle-row-3-column + span.oracle-roll 87 + span.oracle-result Endure + .oracle-row.oracle-row-3-column + span.oracle-roll 88 + span.oracle-result Release + .oracle-row.oracle-row-3-column + span.oracle-roll 89 + span.oracle-result Lose + .oracle-row.oracle-row-3-column + span.oracle-roll 90 + span.oracle-result Reduce + .oracle-row.oracle-row-3-column + span.oracle-roll 91 + span.oracle-result Escalate + .oracle-row.oracle-row-3-column + span.oracle-roll 92 + span.oracle-result Distract + .oracle-row.oracle-row-3-column + span.oracle-roll 93 + span.oracle-result Journey + .oracle-row.oracle-row-3-column + span.oracle-roll 94 + span.oracle-result Escort + .oracle-row.oracle-row-3-column + span.oracle-roll 95 + span.oracle-result Learn + .oracle-row.oracle-row-3-column + span.oracle-roll 96 + span.oracle-result Communicate + .oracle-row.oracle-row-3-column + span.oracle-roll 97 + span.oracle-result Depart + .oracle-row.oracle-row-3-column + span.oracle-roll 98 + span.oracle-result Search + .oracle-row.oracle-row-3-column + span.oracle-roll 99 + span.oracle-result Charge + .oracle-row.oracle-row-3-column + span.oracle-roll 100 + span.oracle-result Summon + + input.theme.hide(type='radio' name='attr_oracle_ironsworn' value='2') + .theme.showhide + .oracle-title.oracle-table-preview THEME + .oracle-table.oracle-table-3-column + .oracle-row.oracle-row-3-column + span.oracle-roll 1 + span.oracle-result + | Risk + .oracle-row.oracle-row-3-column + span.oracle-roll 2 + span.oracle-result + | Ability + .oracle-row.oracle-row-3-column + span.oracle-roll 3 + span.oracle-result + | Price + .oracle-row.oracle-row-3-column + span.oracle-roll 4 + span.oracle-result + | Ally + .oracle-row.oracle-row-3-column + span.oracle-roll 5 + span.oracle-result + | Battle + .oracle-row.oracle-row-3-column + span.oracle-roll 6 + span.oracle-result + | Safety + .oracle-row.oracle-row-3-column + span.oracle-roll 7 + span.oracle-result + | Survival + .oracle-row.oracle-row-3-column + span.oracle-roll 8 + span.oracle-result + | Weapon + .oracle-row.oracle-row-3-column + span.oracle-roll 9 + span.oracle-result + | Wound + .oracle-row.oracle-row-3-column + span.oracle-roll 10 + span.oracle-result Shelter + .oracle-row.oracle-row-3-column + span.oracle-roll 11 + span.oracle-result Leader + .oracle-row.oracle-row-3-column + span.oracle-roll 12 + span.oracle-result Fear + .oracle-row.oracle-row-3-column + span.oracle-roll 13 + span.oracle-result Time + .oracle-row.oracle-row-3-column + span.oracle-roll 14 + span.oracle-result Duty + .oracle-row.oracle-row-3-column + span.oracle-roll 15 + span.oracle-result Secret + .oracle-row.oracle-row-3-column + span.oracle-roll 16 + span.oracle-result Innocence + .oracle-row.oracle-row-3-column + span.oracle-roll 17 + span.oracle-result Renown + .oracle-row.oracle-row-3-column + span.oracle-roll 18 + span.oracle-result Direction + .oracle-row.oracle-row-3-column + span.oracle-roll 19 + span.oracle-result Death + .oracle-row.oracle-row-3-column + span.oracle-roll 20 + span.oracle-result Honor + .oracle-row.oracle-row-3-column + span.oracle-roll 21 + span.oracle-result Labor + .oracle-row.oracle-row-3-column + span.oracle-roll 22 + span.oracle-result Solution + .oracle-row.oracle-row-3-column + span.oracle-roll 23 + span.oracle-result Tool + .oracle-row.oracle-row-3-column + span.oracle-roll 24 + span.oracle-result Balance + .oracle-row.oracle-row-3-column + span.oracle-roll 25 + span.oracle-result Love + .oracle-row.oracle-row-3-column + span.oracle-roll 26 + span.oracle-result Barrier + .oracle-row.oracle-row-3-column + span.oracle-roll 27 + span.oracle-result Creation + .oracle-row.oracle-row-3-column + span.oracle-roll 28 + span.oracle-result Decay + .oracle-row.oracle-row-3-column + span.oracle-roll 29 + span.oracle-result Trade + .oracle-row.oracle-row-3-column + span.oracle-roll 30 + span.oracle-result Bond + .oracle-row.oracle-row-3-column + span.oracle-roll 31 + span.oracle-result Hope + .oracle-row.oracle-row-3-column + span.oracle-roll 32 + span.oracle-result Superstition + .oracle-row.oracle-row-3-column + span.oracle-roll 33 + span.oracle-result Peace + .oracle-row.oracle-row-3-column + span.oracle-roll 34 + span.oracle-result Deception + .oracle-row.oracle-row-3-column + span.oracle-roll 35 + span.oracle-result History + .oracle-row.oracle-row-3-column + span.oracle-roll 36 + span.oracle-result World + .oracle-row.oracle-row-3-column + span.oracle-roll 37 + span.oracle-result Vow + .oracle-row.oracle-row-3-column + span.oracle-roll 38 + span.oracle-result Protection + .oracle-row.oracle-row-3-column + span.oracle-roll 39 + span.oracle-result Nature + .oracle-row.oracle-row-3-column + span.oracle-roll 40 + span.oracle-result Opinion + .oracle-row.oracle-row-3-column + span.oracle-roll 41 + span.oracle-result Burden + .oracle-row.oracle-row-3-column + span.oracle-roll 42 + span.oracle-result Vengeance + .oracle-row.oracle-row-3-column + span.oracle-roll 43 + span.oracle-result Opportunity + .oracle-row.oracle-row-3-column + span.oracle-roll 44 + span.oracle-result Faction + .oracle-row.oracle-row-3-column + span.oracle-roll 45 + span.oracle-result Danger + .oracle-row.oracle-row-3-column + span.oracle-roll 46 + span.oracle-result Corruption + .oracle-row.oracle-row-3-column + span.oracle-roll 47 + span.oracle-result Freedom + .oracle-row.oracle-row-3-column + span.oracle-roll 48 + span.oracle-result Debt + .oracle-row.oracle-row-3-column + span.oracle-roll 49 + span.oracle-result Hate + .oracle-row.oracle-row-3-column + span.oracle-roll 50 + span.oracle-result Possession + .oracle-row.oracle-row-3-column + span.oracle-roll 51 + span.oracle-result Stranger + .oracle-row.oracle-row-3-column + span.oracle-roll 52 + span.oracle-result Passage + .oracle-row.oracle-row-3-column + span.oracle-roll 53 + span.oracle-result Land + .oracle-row.oracle-row-3-column + span.oracle-roll 54 + span.oracle-result Creature + .oracle-row.oracle-row-3-column + span.oracle-roll 55 + span.oracle-result Disease + .oracle-row.oracle-row-3-column + span.oracle-roll 56 + span.oracle-result Advantage + .oracle-row.oracle-row-3-column + span.oracle-roll 57 + span.oracle-result Blood + .oracle-row.oracle-row-3-column + span.oracle-roll 58 + span.oracle-result Language + .oracle-row.oracle-row-3-column + span.oracle-roll 59 + span.oracle-result Rumor + .oracle-row.oracle-row-3-column + span.oracle-roll 60 + span.oracle-result Weakness + .oracle-row.oracle-row-3-column + span.oracle-roll 61 + span.oracle-result Greed + .oracle-row.oracle-row-3-column + span.oracle-roll 62 + span.oracle-result Family + .oracle-row.oracle-row-3-column + span.oracle-roll 63 + span.oracle-result Resource + .oracle-row.oracle-row-3-column + span.oracle-roll 64 + span.oracle-result Structure + .oracle-row.oracle-row-3-column + span.oracle-roll 65 + span.oracle-result Dream + .oracle-row.oracle-row-3-column + span.oracle-roll 66 + span.oracle-result Community + .oracle-row.oracle-row-3-column + span.oracle-roll 67 + span.oracle-result War + .oracle-row.oracle-row-3-column + span.oracle-roll 68 + span.oracle-result Portent + .oracle-row.oracle-row-3-column + span.oracle-roll 69 + span.oracle-result Prize + .oracle-row.oracle-row-3-column + span.oracle-roll 70 + span.oracle-result Destiny + .oracle-row.oracle-row-3-column + span.oracle-roll 71 + span.oracle-result Momentum + .oracle-row.oracle-row-3-column + span.oracle-roll 72 + span.oracle-result Power + .oracle-row.oracle-row-3-column + span.oracle-roll 73 + span.oracle-result Memory + .oracle-row.oracle-row-3-column + span.oracle-roll 74 + span.oracle-result Ruin + .oracle-row.oracle-row-3-column + span.oracle-roll 75 + span.oracle-result Mysticism + .oracle-row.oracle-row-3-column + span.oracle-roll 76 + span.oracle-result Rival + .oracle-row.oracle-row-3-column + span.oracle-roll 77 + span.oracle-result Problem + .oracle-row.oracle-row-3-column + span.oracle-roll 78 + span.oracle-result Idea + .oracle-row.oracle-row-3-column + span.oracle-roll 79 + span.oracle-result Revenge + .oracle-row.oracle-row-3-column + span.oracle-roll 80 + span.oracle-result Health + .oracle-row.oracle-row-3-column + span.oracle-roll 81 + span.oracle-result Fellowship + .oracle-row.oracle-row-3-column + span.oracle-roll 82 + span.oracle-result Enemy + .oracle-row.oracle-row-3-column + span.oracle-roll 83 + span.oracle-result Religion + .oracle-row.oracle-row-3-column + span.oracle-roll 84 + span.oracle-result Spirit + .oracle-row.oracle-row-3-column + span.oracle-roll 85 + span.oracle-result Fame + .oracle-row.oracle-row-3-column + span.oracle-roll 86 + span.oracle-result Desolation + .oracle-row.oracle-row-3-column + span.oracle-roll 87 + span.oracle-result Strength + .oracle-row.oracle-row-3-column + span.oracle-roll 88 + span.oracle-result Knowledge + .oracle-row.oracle-row-3-column + span.oracle-roll 89 + span.oracle-result Truth + .oracle-row.oracle-row-3-column + span.oracle-roll 90 + span.oracle-result Quest + .oracle-row.oracle-row-3-column + span.oracle-roll 91 + span.oracle-result Pride + .oracle-row.oracle-row-3-column + span.oracle-roll 92 + span.oracle-result Loss + .oracle-row.oracle-row-3-column + span.oracle-roll 93 + span.oracle-result Law + .oracle-row.oracle-row-3-column + span.oracle-roll 94 + span.oracle-result Path + .oracle-row.oracle-row-3-column + span.oracle-roll 95 + span.oracle-result Warning + .oracle-row.oracle-row-3-column + span.oracle-roll 96 + span.oracle-result Relationship + .oracle-row.oracle-row-3-column + span.oracle-roll 97 + span.oracle-result Wealth + .oracle-row.oracle-row-3-column + span.oracle-roll 98 + span.oracle-result Home + .oracle-row.oracle-row-3-column + span.oracle-roll 99 + span.oracle-result Strategy + .oracle-row.oracle-row-3-column + span.oracle-roll 100 + span.oracle-result Supply + + input.combat-action.hide(type='radio' name='attr_oracle_ironsworn' value='3') + .combat-action.showhide + .oracle-title.oracle-table-preview COMBAT ACTION + .oracle-table + .oracle-row + span.oracle-roll 1-3 + span.oracle-result + | Compel + | a surrender. + .oracle-row + span.oracle-roll 4-6 + span.oracle-result Coordinate with allies. + .oracle-row + span.oracle-roll 7-9 + span.oracle-result + | Gather + | reinforcements. + .oracle-row + span.oracle-roll 10-13 + span.oracle-result Seize something or someone. + .oracle-row + span.oracle-roll 14-17 + span.oracle-result Provoke a reckless response. + .oracle-row + span.oracle-roll 18-21 + span.oracle-result Intimidate or frighten. + .oracle-row + span.oracle-roll 22-25 + span.oracle-result Reveal a surprising truth. + .oracle-row + span.oracle-roll 26-29 + span.oracle-result Shift focus to someone or something else. + .oracle-row + span.oracle-roll 30-33 + span.oracle-result Destroy something, or render it useless. + .oracle-row + span.oracle-roll 34-39 + span.oracle-result + | Take + | a decisive action. + .oracle-row + span.oracle-roll 40-45 + span.oracle-result Reinforce defenses. + .oracle-row + span.oracle-roll 46-52 + span.oracle-result Ready an action. + .oracle-row + span.oracle-roll 53-60 + span.oracle-result + | Use + | the terrain to gain advantage. + .oracle-row + span.oracle-roll 61-68 + span.oracle-result Leverage the advantage of a weapon or ability. + .oracle-row + span.oracle-roll 69-78 + span.oracle-result Create an opportunity. + .oracle-row + span.oracle-roll 79-89 + span.oracle-result Attack with precision. + .oracle-row + span.oracle-roll 90-99 + span.oracle-result Attack with power. + .oracle-row + span.oracle-roll 100 + span.oracle-result + | Take a + | completely unexpected action. + + input.settlement-trouble.hide(type='radio' name='attr_oracle_ironsworn' value='4') + .settlement-trouble.showhide + .oracle-title.oracle-table-preview SETTLEMENT TROUBLE + .oracle-table.oracle-table-2-column + .oracle-row.oracle-row-2-column + span.oracle-roll 1-2 + span.oracle-result Outsiders rejected + .oracle-row.oracle-row-2-column + span.oracle-roll 3-4 + span.oracle-result Dangerous discovery + .oracle-row.oracle-row-2-column + span.oracle-roll 5-6 + span.oracle-result Dreadful omens + .oracle-row.oracle-row-2-column + span.oracle-roll 7-8 + span.oracle-result Natural disaster + .oracle-row.oracle-row-2-column + span.oracle-roll 9-10 + span.oracle-result + | Old + | wounds reopened + .oracle-row.oracle-row-2-column + span.oracle-roll 11-12 + span.oracle-result Important object is lost + .oracle-row.oracle-row-2-column + span.oracle-roll 13-14 + span.oracle-result Someone is captured + .oracle-row.oracle-row-2-column + span.oracle-roll 15-16 + span.oracle-result Mysterious phenomenon + .oracle-row.oracle-row-2-column + span.oracle-roll 17-18 + span.oracle-result Revolt against a leader + .oracle-row.oracle-row-2-column + span.oracle-roll 19-20 + span.oracle-result Vengeful outcast + .oracle-row.oracle-row-2-column + span.oracle-roll 21-22 + span.oracle-result Rival settlement + .oracle-row.oracle-row-2-column + span.oracle-roll 23-24 + span.oracle-result Nature strikes back + .oracle-row.oracle-row-2-column + span.oracle-roll 25-26 + span.oracle-result Someone is missing + .oracle-row.oracle-row-2-column + span.oracle-roll 27-28 + span.oracle-result Production halts + .oracle-row.oracle-row-2-column + span.oracle-roll 29-30 + span.oracle-result Mysterious murders + .oracle-row.oracle-row-2-column + span.oracle-roll 31-32 + span.oracle-result + | Debt + | comes due + .oracle-row.oracle-row-2-column + span.oracle-roll 33-34 + span.oracle-result Unjust leadership + .oracle-row.oracle-row-2-column + span.oracle-roll 35-36 + span.oracle-result Disastrous accident + .oracle-row.oracle-row-2-column + span.oracle-roll 37-38 + span.oracle-result + | In + | league with the enemy + .oracle-row.oracle-row-2-column + span.oracle-roll 39-40 + span.oracle-result Raiders prey on the weak + .oracle-row.oracle-row-2-column + span.oracle-roll 41-42 + span.oracle-result Cursed past + .oracle-row.oracle-row-2-column + span.oracle-roll 43-44 + span.oracle-result + | An + | innocent is accused + .oracle-row.oracle-row-2-column + span.oracle-roll 45-46 + span.oracle-result Corrupted by dark magic + .oracle-row.oracle-row-2-column + span.oracle-roll 47-48 + span.oracle-result Isolated by brutal weather + .oracle-row.oracle-row-2-column + span.oracle-roll 49-50 + span.oracle-result Provisions are scarce + .oracle-row.oracle-row-2-column + span.oracle-roll 51-52 + span.oracle-result Sickness run amok + .oracle-row.oracle-row-2-column + span.oracle-roll 53-54 + span.oracle-result Allies become enemies + .oracle-row.oracle-row-2-column + span.oracle-roll 55-56 + span.oracle-result Attack is imminent + .oracle-row.oracle-row-2-column + span.oracle-roll 57-58 + span.oracle-result + | Lost + | caravan + .oracle-row.oracle-row-2-column + span.oracle-roll 59-60 + span.oracle-result + | Dark + | secret revealed + .oracle-row.oracle-row-2-column + span.oracle-roll 61-62 + span.oracle-result Urgent expedition + .oracle-row.oracle-row-2-column + span.oracle-roll 63-64 + span.oracle-result + | A + | leader falls + .oracle-row.oracle-row-2-column + span.oracle-roll 65-66 + span.oracle-result Families in conflict + .oracle-row.oracle-row-2-column + span.oracle-roll 67-68 + span.oracle-result Incompetent leadership + .oracle-row.oracle-row-2-column + span.oracle-roll 69-70 + span.oracle-result Reckless warmongering + .oracle-row.oracle-row-2-column + span.oracle-roll 71-72 + span.oracle-result Beast on the hunt + .oracle-row.oracle-row-2-column + span.oracle-roll 73-74 + span.oracle-result Betrayed from within + .oracle-row.oracle-row-2-column + span.oracle-roll 75-76 + span.oracle-result Broken truce + .oracle-row.oracle-row-2-column + span.oracle-roll 77-78 + span.oracle-result Wrathful haunt + .oracle-row.oracle-row-2-column + span.oracle-roll 79-80 + span.oracle-result Conflict with firstborn + .oracle-row.oracle-row-2-column + span.oracle-roll 81-82 + span.oracle-result Trade route blocked + .oracle-row.oracle-row-2-column + span.oracle-roll 83-84 + span.oracle-result + | In + | the crossfire + .oracle-row.oracle-row-2-column + span.oracle-roll 85-86 + span.oracle-result Stranger causes discord + .oracle-row.oracle-row-2-column + span.oracle-roll 87-88 + span.oracle-result Important event threatened + .oracle-row.oracle-row-2-column + span.oracle-roll 89-90 + span.oracle-result Dangerous tradition + .oracle-row.oracle-row-2-column + span.oracle-roll 91-100 + span.oracle-result + | Roll + | twice + + input.major-plot-twist.hide(type='radio' name='attr_oracle_ironsworn' value='5') + .major-plot-twist.showhide + .oracle-title.oracle-table-preview MAJOR PLOT TWIST + .oracle-table + .oracle-row + span.oracle-roll 1-5 + span.oracle-result + | It was + | all a diversion. + .oracle-row + span.oracle-roll 6-10 + span.oracle-result + | A + | dark secret is revealed. + .oracle-row + span.oracle-roll 11-15 + span.oracle-result + | A + | trap is sprung. + .oracle-row + span.oracle-roll 16-20 + span.oracle-result + | An + | assumption is revealed to be false. + .oracle-row + span.oracle-roll 21-25 + span.oracle-result + | A + | secret alliance is revealed. + .oracle-row + span.oracle-roll 26-30 + span.oracle-result + | Your + | actions benefit an enemy. + .oracle-row + span.oracle-roll 31-35 + span.oracle-result Someone returns unexpectedly. + .oracle-row + span.oracle-roll 36-40 + span.oracle-result + | A + | more dangerous foe is revealed. + .oracle-row + span.oracle-roll 41-45 + span.oracle-result + | You + | and an enemy share a common goal. + .oracle-row + span.oracle-roll 46-50 + span.oracle-result + | A + | true identity is revealed. + .oracle-row + span.oracle-roll 51-55 + span.oracle-result + | You + | are betrayed by someone who was trusted. + .oracle-row + span.oracle-roll 56-60 + span.oracle-result + | You + | are too late. + .oracle-row + span.oracle-roll 61-65 + span.oracle-result + | The + | true enemy is revealed. + .oracle-row + span.oracle-roll 66-70 + span.oracle-result + | The + | enemy gains new allies. + .oracle-row + span.oracle-roll 71-75 + span.oracle-result + | A + | new danger appears. + .oracle-row + span.oracle-roll 76-80 + span.oracle-result Someone or something goes missing. + .oracle-row + span.oracle-roll 81-85 + span.oracle-result + | The + | truth of a relationship is revealed. + .oracle-row + span.oracle-roll 86-90 + span.oracle-result + | Two + | seemingly unrelated situations are shown to be connected. + .oracle-row + span.oracle-roll 91-95 + span.oracle-result Unexpected powers or abilities are revealed. + .oracle-row + span.oracle-roll 96-100 + span.oracle-result + | Roll + | twice more on this table. Both results occur. If they are the same result, make it more + | dramatic. + + input.mystic-backlash.hide(type='radio' name='attr_oracle_ironsworn' value='6') + .mystic-backlash.showhide + .oracle-title.oracle-table-preview MYSTIC BACKLASH + .oracle-table + .oracle-row + span.oracle-roll 1-4 + span.oracle-result + | Your + | ritual has the opposite effect. + .oracle-row + span.oracle-roll 5-8 + span.oracle-result + | You + | are sapped of strength. + .oracle-row + span.oracle-roll 9-12 + span.oracle-result + | Your + | friend, ally, or companion is adversely affected. + .oracle-row + span.oracle-roll 13-16 + span.oracle-result + | You + | destroy an important object. + .oracle-row + span.oracle-roll 17-20 + span.oracle-result + | You + | inadvertently summon a horror. + .oracle-row + span.oracle-roll 21-24 + span.oracle-result + | You + | collapse, and drift into a troubled sleep. + .oracle-row + span.oracle-roll 25-28 + span.oracle-result + | You + | undergo a physical torment which leaves its mark upon you. + .oracle-row + span.oracle-roll 29-32 + span.oracle-result + | You + | hear ghostly voices whispering of dark portents. + .oracle-row + span.oracle-roll 33-36 + span.oracle-result + | You + | are lost in shadow, and find yourself in another place without memory of how you got + | there. + .oracle-row + span.oracle-roll 37-40 + span.oracle-result + | You + | alert someone or something to your presence. + .oracle-row + span.oracle-roll 41-44 + span.oracle-result + | You + | are not yourself, and act against a friend, ally, or companion. + .oracle-row + span.oracle-roll 45-48 + span.oracle-result + | You + | affect or damage your surroundings, causing a disturbance or potential harm. + .oracle-row + span.oracle-roll 49-52 + span.oracle-result + | You + | waste resources. + .oracle-row + span.oracle-roll 53-56 + span.oracle-result + | You + | suffer the loss of a sense for several hours. + .oracle-row + span.oracle-roll 57-60 + span.oracle-result + | You + | lose your connection to magic for a day or so, and cannot perform rituals. + .oracle-row + span.oracle-roll 61-64 + span.oracle-result + | Your + | ritual affects the target in an unexpected and problematic way. + .oracle-row + span.oracle-roll 65-68 + span.oracle-result + | Your + | ritual reveals a surprising and troubling truth. + .oracle-row + span.oracle-roll 69-72 + span.oracle-result + | You + | are tempted by dark powers. + .oracle-row + span.oracle-roll 73-76 + span.oracle-result + | You + | see a troubling vision of your future. + .oracle-row + span.oracle-roll 77-80 + span.oracle-result + | You + | can't perform this ritual again until you acquire an important component. + .oracle-row + span.oracle-roll 81-84 + span.oracle-result + | You + | develop a strange fear or compulsion. + .oracle-row + span.oracle-roll 85-88 + span.oracle-result + | Your + | ritual causes creatures to exhibit strange or aggressive behavior. + .oracle-row + span.oracle-roll 89-92 + span.oracle-result + | You + | are tormented by an apparition from your past. + .oracle-row + span.oracle-roll 93-96 + span.oracle-result + | You + | are wracked with sudden sickness. + .oracle-row + span.oracle-roll 97-100 + span.oracle-result + | Roll + | twice more on this table. Both results occur. If they are the same result, make it + | worse. + + input.challenge-rank.hide(type='radio' name='attr_oracle_ironsworn' value='7') + .challenge-rank.showhide + .oracle-title.oracle-table-preview CHALLENGE RANK + .oracle-table + .oracle-row + span.oracle-roll 1-20 + span.oracle-result Troublesome + .oracle-row + span.oracle-roll 21-55 + span.oracle-result Dangerous + .oracle-row + span.oracle-roll 56-80 + span.oracle-result Formidable + .oracle-row + span.oracle-roll 81-93 + span.oracle-result Extreme + .oracle-row + span.oracle-roll 94-100 + span.oracle-result Epic + + input.region.hide(type='radio' name='attr_oracle_ironsworn' value='8') + .region.showhide + .oracle-title.oracle-table-preview REGION + .oracle-table + .oracle-row + span.oracle-roll 1-12 + span.oracle-result Barrier Islands + .oracle-row + span.oracle-roll 13-24 + span.oracle-result Ragged Coast + .oracle-row + span.oracle-roll 25-34 + span.oracle-result + | Deep + | Wilds + .oracle-row + span.oracle-roll 35-46 + span.oracle-result Flooded Lands + .oracle-row + span.oracle-roll 47-60 + span.oracle-result Havens + .oracle-row + span.oracle-roll 61-72 + span.oracle-result Hinterlands + .oracle-row + span.oracle-roll 73-84 + span.oracle-result Tempest Hills + .oracle-row + span.oracle-roll 85-94 + span.oracle-result Veiled Mountains + .oracle-row + span.oracle-roll 95-99 + span.oracle-result Shattered Wastes + .oracle-row + span.oracle-roll 100 + span.oracle-result Elsewhere + + input.location.hide(type='radio' name='attr_oracle_ironsworn' value='9') + .location.showhide + .oracle-title.oracle-table-preview LOCATION + .oracle-table.oracle-table-2-column + .oracle-row.oracle-row-2-column + span.oracle-roll 1 + span.oracle-result Hideout + .oracle-row.oracle-row-2-column + span.oracle-roll 2 + span.oracle-result Ruin + .oracle-row.oracle-row-2-column + span.oracle-roll 3 + span.oracle-result Mine + .oracle-row.oracle-row-2-column + span.oracle-roll 4 + span.oracle-result Waste + .oracle-row.oracle-row-2-column + span.oracle-roll 5 + span.oracle-result + | Mystical + | Site + .oracle-row.oracle-row-2-column + span.oracle-roll 6 + span.oracle-result Path + .oracle-row.oracle-row-2-column + span.oracle-roll 7 + span.oracle-result Outpost + .oracle-row.oracle-row-2-column + span.oracle-roll 8 + span.oracle-result Wall + .oracle-row.oracle-row-2-column + span.oracle-roll 9 + span.oracle-result Battlefield + .oracle-row.oracle-row-2-column + span.oracle-roll 10 + span.oracle-result Hovel + .oracle-row.oracle-row-2-column + span.oracle-roll 11 + span.oracle-result Spring + .oracle-row.oracle-row-2-column + span.oracle-roll 12 + span.oracle-result Lair + .oracle-row.oracle-row-2-column + span.oracle-roll 13 + span.oracle-result Fort + .oracle-row.oracle-row-2-column + span.oracle-roll 14 + span.oracle-result Bridge + .oracle-row.oracle-row-2-column + span.oracle-roll 15 + span.oracle-result Camp + .oracle-row.oracle-row-2-column + span.oracle-roll 16 + span.oracle-result Cairn/Grave + .oracle-row.oracle-row-2-column + span.oracle-roll 17-18 + span.oracle-result Caravan + .oracle-row.oracle-row-2-column + span.oracle-roll 19-20 + span.oracle-result Waterfall + .oracle-row.oracle-row-2-column + span.oracle-roll 21-22 + span.oracle-result Cave + .oracle-row.oracle-row-2-column + span.oracle-roll 23-24 + span.oracle-result Swamp + .oracle-row.oracle-row-2-column + span.oracle-roll 25-26 + span.oracle-result Fen + .oracle-row.oracle-row-2-column + span.oracle-roll 27-28 + span.oracle-result Ravine + .oracle-row.oracle-row-2-column + span.oracle-roll 29-30 + span.oracle-result Road + .oracle-row.oracle-row-2-column + span.oracle-roll 31-32 + span.oracle-result Tree + .oracle-row.oracle-row-2-column + span.oracle-roll 33-34 + span.oracle-result Pond + .oracle-row.oracle-row-2-column + span.oracle-roll 35-36 + span.oracle-result Fields + .oracle-row.oracle-row-2-column + span.oracle-roll 37-38 + span.oracle-result Marsh + .oracle-row.oracle-row-2-column + span.oracle-roll 39-40 + span.oracle-result Steading + .oracle-row.oracle-row-2-column + span.oracle-roll 41-42 + span.oracle-result Rapids + .oracle-row.oracle-row-2-column + span.oracle-roll 43-44 + span.oracle-result Pass + .oracle-row.oracle-row-2-column + span.oracle-roll 45-46 + span.oracle-result Trail + .oracle-row.oracle-row-2-column + span.oracle-roll 47-48 + span.oracle-result Glade + .oracle-row.oracle-row-2-column + span.oracle-roll 49-50 + span.oracle-result Plain + .oracle-row.oracle-row-2-column + span.oracle-roll 51-52 + span.oracle-result Ridge + .oracle-row.oracle-row-2-column + span.oracle-roll 53-54 + span.oracle-result Cliff + .oracle-row.oracle-row-2-column + span.oracle-roll 55-56 + span.oracle-result Grove + .oracle-row.oracle-row-2-column + span.oracle-roll 57-58 + span.oracle-result Village + .oracle-row.oracle-row-2-column + span.oracle-roll 59-60 + span.oracle-result Moor + .oracle-row.oracle-row-2-column + span.oracle-roll 61-62 + span.oracle-result Thicket + .oracle-row.oracle-row-2-column + span.oracle-roll 63-64 + span.oracle-result River Ford + .oracle-row.oracle-row-2-column + span.oracle-roll 65-66 + span.oracle-result Valley + .oracle-row.oracle-row-2-column + span.oracle-roll 67-68 + span.oracle-result Bay/Fjord + .oracle-row.oracle-row-2-column + span.oracle-roll 69-70 + span.oracle-result Foothills + .oracle-row.oracle-row-2-column + span.oracle-roll 71-72 + span.oracle-result Lake + .oracle-row.oracle-row-2-column + span.oracle-roll 73-75 + span.oracle-result River + .oracle-row.oracle-row-2-column + span.oracle-roll 76-79 + span.oracle-result Forest + .oracle-row.oracle-row-2-column + span.oracle-roll 80-83 + span.oracle-result Coast + .oracle-row.oracle-row-2-column + span.oracle-roll 84-88 + span.oracle-result Hill + .oracle-row.oracle-row-2-column + span.oracle-roll 89-93 + span.oracle-result Mountain + .oracle-row.oracle-row-2-column + span.oracle-roll 94-99 + span.oracle-result Woods + .oracle-row.oracle-row-2-column + span.oracle-roll 100 + span.oracle-result Anomaly + + input.coastal-waters-location.hide(type='radio' name='attr_oracle_ironsworn' value='10') + .coastal-waters-location.showhide + .oracle-title.oracle-table-preview COASTAL WATERS LOCATION + .oracle-table + .oracle-row + span.oracle-roll 1 + span.oracle-result Fleet + .oracle-row + span.oracle-roll 2 + span.oracle-result Sargassum + .oracle-row + span.oracle-roll 3 + span.oracle-result Flotsam + .oracle-row + span.oracle-roll 4 + span.oracle-result + | Mystical + | Site + .oracle-row + span.oracle-roll 5 + span.oracle-result + | Lair + .oracle-row + span.oracle-roll 6-10 + span.oracle-result Wreck + .oracle-row + span.oracle-roll 11-15 + span.oracle-result Harbor + .oracle-row + span.oracle-roll 16-23 + span.oracle-result + | Ship + .oracle-row + span.oracle-roll 24-30 + span.oracle-result Rocks + .oracle-row + span.oracle-roll 31-38 + span.oracle-result Fjord + .oracle-row + span.oracle-roll 39-46 + span.oracle-result Estuary + .oracle-row + span.oracle-roll 47-54 + span.oracle-result Cove + .oracle-row + span.oracle-roll 55-62 + span.oracle-result + | Bay + .oracle-row + span.oracle-roll 63-70 + span.oracle-result + | Ice + .oracle-row + span.oracle-roll 71-85 + span.oracle-result Island + .oracle-row + span.oracle-roll 86-99 + span.oracle-result + | Open + | Water + .oracle-row + span.oracle-roll 100 + span.oracle-result Anomaly + + input.location-descriptor.hide(type='radio' name='attr_oracle_ironsworn' value='11') + .location-descriptor.showhide + .oracle-title.oracle-table-preview LOCATION DESCRIPTOR + .oracle-table.oracle-table-2-column + .oracle-row.oracle-row-2-column + span.oracle-roll 1-2 + span.oracle-result High + .oracle-row.oracle-row-2-column + span.oracle-roll 3-4 + span.oracle-result Remote + .oracle-row.oracle-row-2-column + span.oracle-roll 5-6 + span.oracle-result Exposed + .oracle-row.oracle-row-2-column + span.oracle-roll 7-8 + span.oracle-result Small + .oracle-row.oracle-row-2-column + span.oracle-roll 9-10 + span.oracle-result Broken + .oracle-row.oracle-row-2-column + span.oracle-roll 11-12 + span.oracle-result Diverse + .oracle-row.oracle-row-2-column + span.oracle-roll 13-14 + span.oracle-result Rough + .oracle-row.oracle-row-2-column + span.oracle-roll 15-16 + span.oracle-result Dark + .oracle-row.oracle-row-2-column + span.oracle-roll 17-18 + span.oracle-result Shadowy + .oracle-row.oracle-row-2-column + span.oracle-roll 19-20 + span.oracle-result Contested + .oracle-row.oracle-row-2-column + span.oracle-roll 21-22 + span.oracle-result Grim + .oracle-row.oracle-row-2-column + span.oracle-roll 23-24 + span.oracle-result Wild + .oracle-row.oracle-row-2-column + span.oracle-roll 25-26 + span.oracle-result Fertile + .oracle-row.oracle-row-2-column + span.oracle-roll 27-28 + span.oracle-result Blocked + .oracle-row.oracle-row-2-column + span.oracle-roll 29-30 + span.oracle-result Ancient + .oracle-row.oracle-row-2-column + span.oracle-roll 31-32 + span.oracle-result Perilous + .oracle-row.oracle-row-2-column + span.oracle-roll 33-34 + span.oracle-result Hidden + .oracle-row.oracle-row-2-column + span.oracle-roll 35-36 + span.oracle-result Occupied + .oracle-row.oracle-row-2-column + span.oracle-roll 37-38 + span.oracle-result Rich + .oracle-row.oracle-row-2-column + span.oracle-roll 39-40 + span.oracle-result Big + .oracle-row.oracle-row-2-column + span.oracle-roll 41-42 + span.oracle-result Savage + .oracle-row.oracle-row-2-column + span.oracle-roll 43-44 + span.oracle-result Defended + .oracle-row.oracle-row-2-column + span.oracle-roll 45-46 + span.oracle-result Withered + .oracle-row.oracle-row-2-column + span.oracle-roll 47-48 + span.oracle-result Mystical + .oracle-row.oracle-row-2-column + span.oracle-roll 49-50 + span.oracle-result Inaccessible + .oracle-row.oracle-row-2-column + span.oracle-roll 51-52 + span.oracle-result Protected + .oracle-row.oracle-row-2-column + span.oracle-roll 53-54 + span.oracle-result Abandoned + .oracle-row.oracle-row-2-column + span.oracle-roll 55-56 + span.oracle-result Wide + .oracle-row.oracle-row-2-column + span.oracle-roll 57-58 + span.oracle-result Foul + .oracle-row.oracle-row-2-column + span.oracle-roll 59-60 + span.oracle-result Dead + .oracle-row.oracle-row-2-column + span.oracle-roll 61-62 + span.oracle-result Ruined + .oracle-row.oracle-row-2-column + span.oracle-roll 63-64 + span.oracle-result Barren + .oracle-row.oracle-row-2-column + span.oracle-roll 65-66 + span.oracle-result Cold + .oracle-row.oracle-row-2-column + span.oracle-roll 67-68 + span.oracle-result Blighted + .oracle-row.oracle-row-2-column + span.oracle-roll 69-70 + span.oracle-result Low + .oracle-row.oracle-row-2-column + span.oracle-roll 71-72 + span.oracle-result Beautiful + .oracle-row.oracle-row-2-column + span.oracle-roll 73-74 + span.oracle-result Abundant + .oracle-row.oracle-row-2-column + span.oracle-roll 75-76 + span.oracle-result Lush + .oracle-row.oracle-row-2-column + span.oracle-roll 77-78 + span.oracle-result Flooded + .oracle-row.oracle-row-2-column + span.oracle-roll 79-80 + span.oracle-result Empty + .oracle-row.oracle-row-2-column + span.oracle-roll 81-82 + span.oracle-result Strange + .oracle-row.oracle-row-2-column + span.oracle-roll 83-84 + span.oracle-result Corrupted + .oracle-row.oracle-row-2-column + span.oracle-roll 85-86 + span.oracle-result Peaceful + .oracle-row.oracle-row-2-column + span.oracle-roll 87-88 + span.oracle-result Forgotten + .oracle-row.oracle-row-2-column + span.oracle-roll 89-90 + span.oracle-result Expansive + .oracle-row.oracle-row-2-column + span.oracle-roll 91-92 + span.oracle-result Settled + .oracle-row.oracle-row-2-column + span.oracle-roll 93-94 + span.oracle-result Dense + .oracle-row.oracle-row-2-column + span.oracle-roll 95-96 + span.oracle-result Civilized + .oracle-row.oracle-row-2-column + span.oracle-roll 97-98 + span.oracle-result Desolate + .oracle-row.oracle-row-2-column + span.oracle-roll 99-100 + span.oracle-result Isolated + + input.settlement-name.hide(type='radio' name='attr_oracle_ironsworn' value='12') + .settlement-name.showhide + .oracle-title.oracle-table-preview SETTLEMENT NAME + .oracle-table + .oracle-row + span.oracle-roll 01-15 + span.oracle-result + | A + | feature of the landscape. Envision what it is. What makes it unusual or distinctive? + .oracle-row + span.oracle-roll 16-30 + span.oracle-result + | A + | manmade edifice. What is it? Why is it important to this settlement’s history? + .oracle-row + span.oracle-roll 31-45 + span.oracle-result + | A + | creature. Why have the people of this settlement chosen this creature as their totem? How is + | it represented in art or rituals? + .oracle-row + span.oracle-roll 46-60 + span.oracle-result + | A + | historical event. What happened here? What place or practice commemorates this event? + .oracle-row + span.oracle-roll 61-75 + span.oracle-result + | A + | word in an Old World language. What culture is represented by this word? What does it + | translate to? + .oracle-row + span.oracle-roll 76-90 + span.oracle-result + | A + | season or environmental aspect. What influence does the weather have on this + | settlement? + .oracle-row + span.oracle-roll 91-100 + span.oracle-result Something Else.... + + input.quick-settlement-name.hide(type='radio' name='attr_oracle_ironsworn' value='13') + .quick-settlement-name.showhide + .oracle-title.oracle-table-preview QUICK SETTLEMENT NAME + .oracle-table.oracle-table-2-column-group + .flex-column.column-wrap + .oracle-title.oracle-table-preview PREFIX + .oracle-row + span.oracle-roll 1-4 + span.oracle-result Bleak + .oracle-row + span.oracle-roll 5-8 + span.oracle-result Green + .oracle-row + span.oracle-roll 9-12 + span.oracle-result Wolf + .oracle-row + span.oracle-roll 13-16 + span.oracle-result Raven + .oracle-row + span.oracle-roll 17-20 + span.oracle-result Gray + .oracle-row + span.oracle-roll 21-24 + span.oracle-result Red + .oracle-row + span.oracle-roll 25-28 + span.oracle-result Axe + .oracle-row + span.oracle-roll 29-32 + span.oracle-result Great + .oracle-row + span.oracle-roll 33-36 + span.oracle-result Wood + .oracle-row + span.oracle-roll 37-40 + span.oracle-result Low + .oracle-row + span.oracle-roll 41-44 + span.oracle-result White + .oracle-row + span.oracle-roll 45-48 + span.oracle-result Storm + .oracle-row + span.oracle-roll 49-52 + span.oracle-result Black + .oracle-row + span.oracle-roll 53-56 + span.oracle-result Mourn + .oracle-row + span.oracle-roll 57-60 + span.oracle-result New + .oracle-row + span.oracle-roll 61-64 + span.oracle-result Stone + .oracle-row + span.oracle-roll 65-68 + span.oracle-result Grim + .oracle-row + span.oracle-roll 69-72 + span.oracle-result Lost + .oracle-row + span.oracle-roll 73-76 + span.oracle-result High + .oracle-row + span.oracle-roll 77-80 + span.oracle-result Rock + .oracle-row + span.oracle-roll 81-84 + span.oracle-result Shield + .oracle-row + span.oracle-roll 85-88 + span.oracle-result Sword + .oracle-row + span.oracle-roll 89-92 + span.oracle-result Frost + .oracle-row + span.oracle-roll 93-96 + span.oracle-result Thorn + .oracle-row + span.oracle-roll 97-100 + span.oracle-result Long + .flex-column.column-wrap + .oracle-title.oracle-table-preview SUFFIX + .oracle-row + span.oracle-roll 1-4 + span.oracle-result -moor + .oracle-row + span.oracle-roll 5-8 + span.oracle-result -ford + .oracle-row + span.oracle-roll 9-12 + span.oracle-result -crag + .oracle-row + span.oracle-roll 13-16 + span.oracle-result -watch + .oracle-row + span.oracle-roll 17-20 + span.oracle-result -hope + .oracle-row + span.oracle-roll 21-24 + span.oracle-result -wood + .oracle-row + span.oracle-roll 25-28 + span.oracle-result -ridge + .oracle-row + span.oracle-roll 29-32 + span.oracle-result -stone + .oracle-row + span.oracle-roll 33-36 + span.oracle-result -haven + .oracle-row + span.oracle-roll 37-40 + span.oracle-result -fall(s) + .oracle-row + span.oracle-roll 41-44 + span.oracle-result -river + .oracle-row + span.oracle-roll 45-48 + span.oracle-result -field + .oracle-row + span.oracle-roll 49-52 + span.oracle-result -hill + .oracle-row + span.oracle-roll 53-56 + span.oracle-result -bridge + .oracle-row + span.oracle-roll 57-60 + span.oracle-result -mark + .oracle-row + span.oracle-roll 61-64 + span.oracle-result -cairn + .oracle-row + span.oracle-roll 65-68 + span.oracle-result -land + .oracle-row + span.oracle-roll 69-72 + span.oracle-result -hall + .oracle-row + span.oracle-roll 73-76 + span.oracle-result -mount + .oracle-row + span.oracle-roll 77-80 + span.oracle-result -rock + .oracle-row + span.oracle-roll 81-84 + span.oracle-result -brook + .oracle-row + span.oracle-roll 85-88 + span.oracle-result -barrow + .oracle-row + span.oracle-roll 89-92 + span.oracle-result -stead + .oracle-row + span.oracle-roll 93-96 + span.oracle-result -home + .oracle-row + span.oracle-roll 97-100 + span.oracle-result -wick + + input.character-role-oracle.hide(type='radio' name='attr_oracle_ironsworn' value='14') + .character-role-oracle.showhide + .oracle-title.oracle-table-preview CHARACTER ROLE + .oracle-table + .oracle-row + span.oracle-roll 1-2 + span.oracle-result Criminal + .oracle-row + span.oracle-roll 3-4 + span.oracle-result Healer + .oracle-row + span.oracle-roll 5-6 + span.oracle-result Bandit + .oracle-row + span.oracle-roll 7-9 + span.oracle-result Guide + .oracle-row + span.oracle-roll 10-12 + span.oracle-result Performer + .oracle-row + span.oracle-roll 13-15 + span.oracle-result Miner + .oracle-row + span.oracle-roll 16-18 + span.oracle-result Mercenary + .oracle-row + span.oracle-roll 19-21 + span.oracle-result Outcast + .oracle-row + span.oracle-roll 22-24 + span.oracle-result Vagrant + .oracle-row + span.oracle-roll 25-27 + span.oracle-result Forester + .oracle-row + span.oracle-roll 28-30 + span.oracle-result Traveler + .oracle-row + span.oracle-roll 31-33 + span.oracle-result Mystic + .oracle-row + span.oracle-roll 34-36 + span.oracle-result Priest + .oracle-row + span.oracle-roll 37-39 + span.oracle-result Sailor + .oracle-row + span.oracle-roll 40-42 + span.oracle-result Pilgrim + .oracle-row + span.oracle-roll 43-45 + span.oracle-result Thief + .oracle-row + span.oracle-roll 46-48 + span.oracle-result Adventurer + .oracle-row + span.oracle-roll 49-51 + span.oracle-result Forager + .oracle-row + span.oracle-roll 52-54 + span.oracle-result Leader + .oracle-row + span.oracle-roll 55-58 + span.oracle-result Guard + .oracle-row + span.oracle-roll 59-62 + span.oracle-result Artisan + .oracle-row + span.oracle-roll 63-66 + span.oracle-result Scout + .oracle-row + span.oracle-roll 67-70 + span.oracle-result Herder + .oracle-row + span.oracle-roll 71-74 + span.oracle-result Fisher + .oracle-row + span.oracle-roll 75-79 + span.oracle-result Warrior + .oracle-row + span.oracle-roll 80-84 + span.oracle-result Hunter + .oracle-row + span.oracle-roll 85-89 + span.oracle-result Raider + .oracle-row + span.oracle-roll 90-94 + span.oracle-result Trader + .oracle-row + span.oracle-roll 95-99 + span.oracle-result Farmer + .oracle-row + span.oracle-roll 100 + span.oracle-result + | Unusual + | role + + input.character-goal.hide(type='radio' name='attr_oracle_ironsworn' value='15') + .character-goal.showhide + .oracle-title.oracle-table-preview CHARACTER GOAL + .oracle-table + .oracle-row + span.oracle-roll 1-3 + span.oracle-result + | Obtain + | an object + .oracle-row + span.oracle-roll 4-6 + span.oracle-result + | Make + | an agreement + .oracle-row + span.oracle-roll 7-9 + span.oracle-result + | Build + | a relationship + .oracle-row + span.oracle-roll 10-12 + span.oracle-result Undermine a relationship + .oracle-row + span.oracle-roll 13-15 + span.oracle-result + | Seek + | a truth + .oracle-row + span.oracle-roll 16-18 + span.oracle-result + | Pay + | a debt + .oracle-row + span.oracle-roll 19-21 + span.oracle-result Refute a falsehood + .oracle-row + span.oracle-roll 22-24 + span.oracle-result + | Harm + | a rival + .oracle-row + span.oracle-roll 25-27 + span.oracle-result + | Cure + | an ill + .oracle-row + span.oracle-roll 28-30 + span.oracle-result + | Find + | a person + .oracle-row + span.oracle-roll 31-33 + span.oracle-result + | Find + | a home + .oracle-row + span.oracle-roll 34-36 + span.oracle-result Seize power + .oracle-row + span.oracle-roll 37-39 + span.oracle-result Restore a relationship + .oracle-row + span.oracle-roll 40-42 + span.oracle-result Create an item + .oracle-row + span.oracle-roll 43-45 + span.oracle-result Travel to a place + .oracle-row + span.oracle-roll 46-48 + span.oracle-result Secure provisions + .oracle-row + span.oracle-roll 49-51 + span.oracle-result Rebel against power + .oracle-row + span.oracle-roll 52-54 + span.oracle-result Collect a debt + .oracle-row + span.oracle-roll 55-57 + span.oracle-result Protect a secret + .oracle-row + span.oracle-roll 58-60 + span.oracle-result Spread faith + .oracle-row + span.oracle-roll 61-63 + span.oracle-result Enrich themselves + .oracle-row + span.oracle-roll 64-66 + span.oracle-result Protect a person + .oracle-row + span.oracle-roll 67-69 + span.oracle-result Protect the status quo + .oracle-row + span.oracle-roll 70-72 + span.oracle-result Advance status + .oracle-row + span.oracle-roll 73-75 + span.oracle-result Defend a place + .oracle-row + span.oracle-roll 76-78 + span.oracle-result Avenge a wrong + .oracle-row + span.oracle-roll 79-81 + span.oracle-result Fulfill a duty + .oracle-row + span.oracle-roll 82-84 + span.oracle-result + | Gain + | knowledge + .oracle-row + span.oracle-roll 85-87 + span.oracle-result Prove worthiness + .oracle-row + span.oracle-roll 88-90 + span.oracle-result + | Find + | redemption + .oracle-row + span.oracle-roll 91-92 + span.oracle-result Escape from something + .oracle-row + span.oracle-roll 93-95 + span.oracle-result Resolve a dispute + .oracle-row + span.oracle-roll 96-100 + span.oracle-result + | Roll + | twice + + input.character-descriptor.hide(type='radio' name='attr_oracle_ironsworn' value='16') + .character-descriptor.showhide + .oracle-title.oracle-table-preview CHARACTER DESCRIPTOR + .oracle-table.oracle-table-3-column + .oracle-row.oracle-row-3-column + span.oracle-roll 1 + span.oracle-result Stoic + .oracle-row.oracle-row-3-column + span.oracle-roll 2 + span.oracle-result Attractive + .oracle-row.oracle-row-3-column + span.oracle-roll 3 + span.oracle-result Passive + .oracle-row.oracle-row-3-column + span.oracle-roll 4 + span.oracle-result Aloof + .oracle-row.oracle-row-3-column + span.oracle-roll 5 + span.oracle-result Affectionate + .oracle-row.oracle-row-3-column + span.oracle-roll 6 + span.oracle-result Generous + .oracle-row.oracle-row-3-column + span.oracle-roll 7 + span.oracle-result Smug + .oracle-row.oracle-row-3-column + span.oracle-roll 8 + span.oracle-result Armed + .oracle-row.oracle-row-3-column + span.oracle-roll 9 + span.oracle-result Clever + .oracle-row.oracle-row-3-column + span.oracle-roll 10 + span.oracle-result Brave + .oracle-row.oracle-row-3-column + span.oracle-roll 11 + span.oracle-result Ugly + .oracle-row.oracle-row-3-column + span.oracle-roll 12 + span.oracle-result Sociable + .oracle-row.oracle-row-3-column + span.oracle-roll 13 + span.oracle-result Doomed + .oracle-row.oracle-row-3-column + span.oracle-roll 14 + span.oracle-result Connected + .oracle-row.oracle-row-3-column + span.oracle-roll 15 + span.oracle-result Bold + .oracle-row.oracle-row-3-column + span.oracle-roll 16 + span.oracle-result Jealous + .oracle-row.oracle-row-3-column + span.oracle-roll 17 + span.oracle-result Angry + .oracle-row.oracle-row-3-column + span.oracle-roll 18 + span.oracle-result Active + .oracle-row.oracle-row-3-column + span.oracle-roll 19 + span.oracle-result Suspicious + .oracle-row.oracle-row-3-column + span.oracle-roll 20 + span.oracle-result Hostile + .oracle-row.oracle-row-3-column + span.oracle-roll 21 + span.oracle-result Hardhearted + .oracle-row.oracle-row-3-column + span.oracle-roll 22 + span.oracle-result Successful + .oracle-row.oracle-row-3-column + span.oracle-roll 23 + span.oracle-result Talented + .oracle-row.oracle-row-3-column + span.oracle-roll 24 + span.oracle-result Experienced + .oracle-row.oracle-row-3-column + span.oracle-roll 25 + span.oracle-result Deceitful + .oracle-row.oracle-row-3-column + span.oracle-roll 26 + span.oracle-result Ambitious + .oracle-row.oracle-row-3-column + span.oracle-roll 27 + span.oracle-result Aggressive + .oracle-row.oracle-row-3-column + span.oracle-roll 28 + span.oracle-result Conceited + .oracle-row.oracle-row-3-column + span.oracle-roll 29 + span.oracle-result Proud + .oracle-row.oracle-row-3-column + span.oracle-roll 30 + span.oracle-result Stern + .oracle-row.oracle-row-3-column + span.oracle-roll 31 + span.oracle-result Dependent + .oracle-row.oracle-row-3-column + span.oracle-roll 32 + span.oracle-result Wary + .oracle-row.oracle-row-3-column + span.oracle-roll 33 + span.oracle-result Strong + .oracle-row.oracle-row-3-column + span.oracle-roll 34 + span.oracle-result Insightful + .oracle-row.oracle-row-3-column + span.oracle-roll 35 + span.oracle-result Dangerous + .oracle-row.oracle-row-3-column + span.oracle-roll 36 + span.oracle-result Quirky + .oracle-row.oracle-row-3-column + span.oracle-roll 37 + span.oracle-result Cheery + .oracle-row.oracle-row-3-column + span.oracle-roll 38 + span.oracle-result Disfigured + .oracle-row.oracle-row-3-column + span.oracle-roll 39 + span.oracle-result Intolerant + .oracle-row.oracle-row-3-column + span.oracle-roll 40 + span.oracle-result Skilled + .oracle-row.oracle-row-3-column + span.oracle-roll 41 + span.oracle-result Stingy + .oracle-row.oracle-row-3-column + span.oracle-roll 42 + span.oracle-result Timid + .oracle-row.oracle-row-3-column + span.oracle-roll 43 + span.oracle-result Insensitive + .oracle-row.oracle-row-3-column + span.oracle-roll 44 + span.oracle-result Wild + .oracle-row.oracle-row-3-column + span.oracle-roll 45 + span.oracle-result Bitter + .oracle-row.oracle-row-3-column + span.oracle-roll 46 + span.oracle-result Cunning + .oracle-row.oracle-row-3-column + span.oracle-roll 47 + span.oracle-result Remorseful + .oracle-row.oracle-row-3-column + span.oracle-roll 48 + span.oracle-result Kind + .oracle-row.oracle-row-3-column + span.oracle-roll 49 + span.oracle-result Charming + .oracle-row.oracle-row-3-column + span.oracle-roll 50 + span.oracle-result Oblivious + .oracle-row.oracle-row-3-column + span.oracle-roll 51 + span.oracle-result Critical + .oracle-row.oracle-row-3-column + span.oracle-roll 52 + span.oracle-result Cautious + .oracle-row.oracle-row-3-column + span.oracle-roll 53 + span.oracle-result Resourceful + .oracle-row.oracle-row-3-column + span.oracle-roll 54 + span.oracle-result Weary + .oracle-row.oracle-row-3-column + span.oracle-roll 55 + span.oracle-result Wounded + .oracle-row.oracle-row-3-column + span.oracle-roll 56 + span.oracle-result Anxious + .oracle-row.oracle-row-3-column + span.oracle-roll 57 + span.oracle-result Powerful + .oracle-row.oracle-row-3-column + span.oracle-roll 58 + span.oracle-result Athletic + .oracle-row.oracle-row-3-column + span.oracle-roll 59 + span.oracle-result Driven + .oracle-row.oracle-row-3-column + span.oracle-roll 60 + span.oracle-result Cruel + .oracle-row.oracle-row-3-column + span.oracle-roll 61 + span.oracle-result Quiet + .oracle-row.oracle-row-3-column + span.oracle-roll 62 + span.oracle-result Honest + .oracle-row.oracle-row-3-column + span.oracle-roll 63 + span.oracle-result Infamous + .oracle-row.oracle-row-3-column + span.oracle-roll 64 + span.oracle-result Dying + .oracle-row.oracle-row-3-column + span.oracle-roll 65 + span.oracle-result Reclusive + .oracle-row.oracle-row-3-column + span.oracle-roll 66 + span.oracle-result Artistic + .oracle-row.oracle-row-3-column + span.oracle-roll 67 + span.oracle-result Disabled + .oracle-row.oracle-row-3-column + span.oracle-roll 68 + span.oracle-result Confused + .oracle-row.oracle-row-3-column + span.oracle-roll 69 + span.oracle-result Manipulative + .oracle-row.oracle-row-3-column + span.oracle-roll 70 + span.oracle-result Relaxed + .oracle-row.oracle-row-3-column + span.oracle-roll 71 + span.oracle-result Stealthy + .oracle-row.oracle-row-3-column + span.oracle-roll 72 + span.oracle-result Confident + .oracle-row.oracle-row-3-column + span.oracle-roll 73 + span.oracle-result Weak + .oracle-row.oracle-row-3-column + span.oracle-roll 74 + span.oracle-result Friendly + .oracle-row.oracle-row-3-column + span.oracle-roll 75 + span.oracle-result Wise + .oracle-row.oracle-row-3-column + span.oracle-roll 76 + span.oracle-result Influential + .oracle-row.oracle-row-3-column + span.oracle-roll 77 + span.oracle-result Young + .oracle-row.oracle-row-3-column + span.oracle-roll 78 + span.oracle-result Adventurous + .oracle-row.oracle-row-3-column + span.oracle-roll 79 + span.oracle-result Oppressed + .oracle-row.oracle-row-3-column + span.oracle-roll 80 + span.oracle-result Vengeful + .oracle-row.oracle-row-3-column + span.oracle-roll 81 + span.oracle-result Cooperative + .oracle-row.oracle-row-3-column + span.oracle-roll 82 + span.oracle-result Armored + .oracle-row.oracle-row-3-column + span.oracle-roll 83 + span.oracle-result Apathetic + .oracle-row.oracle-row-3-column + span.oracle-roll 84 + span.oracle-result Determined + .oracle-row.oracle-row-3-column + span.oracle-roll 85 + span.oracle-result Loyal + .oracle-row.oracle-row-3-column + span.oracle-roll 86 + span.oracle-result Sick + .oracle-row.oracle-row-3-column + span.oracle-roll 87 + span.oracle-result Religious + .oracle-row.oracle-row-3-column + span.oracle-roll 88 + span.oracle-result Selfish + .oracle-row.oracle-row-3-column + span.oracle-roll 89 + span.oracle-result Old + .oracle-row.oracle-row-3-column + span.oracle-roll 90 + span.oracle-result Fervent + .oracle-row.oracle-row-3-column + span.oracle-roll 91 + span.oracle-result Violent + .oracle-row.oracle-row-3-column + span.oracle-roll 92 + span.oracle-result Agreeable + .oracle-row.oracle-row-3-column + span.oracle-roll 93 + span.oracle-result Hot-tempered + .oracle-row.oracle-row-3-column + span.oracle-roll 94 + span.oracle-result Stubborn + .oracle-row.oracle-row-3-column + span.oracle-roll 95 + span.oracle-result Incompetent + .oracle-row.oracle-row-3-column + span.oracle-roll 96 + span.oracle-result Greedy + .oracle-row.oracle-row-3-column + span.oracle-roll 97 + span.oracle-result Cowardly + .oracle-row.oracle-row-3-column + span.oracle-roll 98 + span.oracle-result Obsessed + .oracle-row.oracle-row-3-column + span.oracle-roll 99 + span.oracle-result Careless + .oracle-row.oracle-row-3-column + span.oracle-roll 100 + span.oracle-result Ironsworn + + input.ironlander-names.hide(type='radio' name='attr_oracle_ironsworn' value='17') + .ironlander-names.showhide.oracle-previews + .oracle-title.oracle-table-preview IRONLANDER NAMES + .oracle-table.oracle-table-4-column + .oracle-row.oracle-row-4-column + span.oracle-roll 1 + span.oracle-result Solana + .oracle-row.oracle-row-4-column + span.oracle-roll 2 + span.oracle-result Keelan + .oracle-row.oracle-row-4-column + span.oracle-roll 3 + span.oracle-result Cadigan + .oracle-row.oracle-row-4-column + span.oracle-roll 4 + span.oracle-result Sola + .oracle-row.oracle-row-4-column + span.oracle-roll 5 + span.oracle-result Kodroth + .oracle-row.oracle-row-4-column + span.oracle-roll 6 + span.oracle-result Kione + .oracle-row.oracle-row-4-column + span.oracle-roll 7 + span.oracle-result Katja + .oracle-row.oracle-row-4-column + span.oracle-roll 8 + span.oracle-result Tio + .oracle-row.oracle-row-4-column + span.oracle-roll 9 + span.oracle-result Artiga + .oracle-row.oracle-row-4-column + span.oracle-roll 10 + span.oracle-result Eos + .oracle-row.oracle-row-4-column + span.oracle-roll 11 + span.oracle-result Bastien + .oracle-row.oracle-row-4-column + span.oracle-roll 12 + span.oracle-result Elli + .oracle-row.oracle-row-4-column + span.oracle-roll 13 + span.oracle-result Maura + .oracle-row.oracle-row-4-column + span.oracle-roll 14 + span.oracle-result Haleema + .oracle-row.oracle-row-4-column + span.oracle-roll 15 + span.oracle-result Abella + .oracle-row.oracle-row-4-column + span.oracle-roll 16 + span.oracle-result Morter + .oracle-row.oracle-row-4-column + span.oracle-roll 17 + span.oracle-result Wulan + .oracle-row.oracle-row-4-column + span.oracle-roll 18 + span.oracle-result Mai + .oracle-row.oracle-row-4-column + span.oracle-roll 19 + span.oracle-result Farina + .oracle-row.oracle-row-4-column + span.oracle-roll 20 + span.oracle-result Pearce + .oracle-row.oracle-row-4-column + span.oracle-roll 21 + span.oracle-result Wynne + .oracle-row.oracle-row-4-column + span.oracle-roll 22 + span.oracle-result Haf + .oracle-row.oracle-row-4-column + span.oracle-roll 23 + span.oracle-result Aeddon + .oracle-row.oracle-row-4-column + span.oracle-roll 24 + span.oracle-result Khinara + .oracle-row.oracle-row-4-column + span.oracle-roll 25 + span.oracle-result Milla + .oracle-row.oracle-row-4-column + span.oracle-roll 26 + span.oracle-result Nakata + .oracle-row.oracle-row-4-column + span.oracle-roll 27 + span.oracle-result Kynan + .oracle-row.oracle-row-4-column + span.oracle-roll 28 + span.oracle-result Kiah + .oracle-row.oracle-row-4-column + span.oracle-roll 29 + span.oracle-result Jaggar + .oracle-row.oracle-row-4-column + span.oracle-roll 30 + span.oracle-result Beca + .oracle-row.oracle-row-4-column + span.oracle-roll 31 + span.oracle-result Ikram + .oracle-row.oracle-row-4-column + span.oracle-roll 32 + span.oracle-result Melia + .oracle-row.oracle-row-4-column + span.oracle-roll 33 + span.oracle-result Sidan + .oracle-row.oracle-row-4-column + span.oracle-roll 34 + span.oracle-result Deshi + .oracle-row.oracle-row-4-column + span.oracle-roll 35 + span.oracle-result Tessa + .oracle-row.oracle-row-4-column + span.oracle-roll 36 + span.oracle-result Sibila + .oracle-row.oracle-row-4-column + span.oracle-roll 37 + span.oracle-result Morien + .oracle-row.oracle-row-4-column + span.oracle-roll 38 + span.oracle-result Mona + .oracle-row.oracle-row-4-column + span.oracle-roll 39 + span.oracle-result Padma + .oracle-row.oracle-row-4-column + span.oracle-roll 40 + span.oracle-result Avella + .oracle-row.oracle-row-4-column + span.oracle-roll 41 + span.oracle-result Naila + .oracle-row.oracle-row-4-column + span.oracle-roll 42 + span.oracle-result Lio + .oracle-row.oracle-row-4-column + span.oracle-roll 43 + span.oracle-result Cera + .oracle-row.oracle-row-4-column + span.oracle-roll 44 + span.oracle-result Ithela + .oracle-row.oracle-row-4-column + span.oracle-roll 45 + span.oracle-result Zhan + .oracle-row.oracle-row-4-column + span.oracle-roll 46 + span.oracle-result Kaivan + .oracle-row.oracle-row-4-column + span.oracle-roll 47 + span.oracle-result Valeri + .oracle-row.oracle-row-4-column + span.oracle-roll 48 + span.oracle-result Hirsham + .oracle-row.oracle-row-4-column + span.oracle-roll 49 + span.oracle-result Pemba + .oracle-row.oracle-row-4-column + span.oracle-roll 50 + span.oracle-result Edda + .oracle-row.oracle-row-4-column + span.oracle-roll 51 + span.oracle-result Lestara + .oracle-row.oracle-row-4-column + span.oracle-roll 52 + span.oracle-result Lago + .oracle-row.oracle-row-4-column + span.oracle-roll 53 + span.oracle-result Elstan + .oracle-row.oracle-row-4-column + span.oracle-roll 54 + span.oracle-result Saskia + .oracle-row.oracle-row-4-column + span.oracle-roll 55 + span.oracle-result Kabeera + .oracle-row.oracle-row-4-column + span.oracle-roll 56 + span.oracle-result Caldas + .oracle-row.oracle-row-4-column + span.oracle-roll 57 + span.oracle-result Nisus + .oracle-row.oracle-row-4-column + span.oracle-roll 58 + span.oracle-result Serene + .oracle-row.oracle-row-4-column + span.oracle-roll 59 + span.oracle-result Chenda + .oracle-row.oracle-row-4-column + span.oracle-roll 60 + span.oracle-result Themon + .oracle-row.oracle-row-4-column + span.oracle-roll 61 + span.oracle-result Erin + .oracle-row.oracle-row-4-column + span.oracle-roll 62 + span.oracle-result Alban + .oracle-row.oracle-row-4-column + span.oracle-roll 63 + span.oracle-result Parcell + .oracle-row.oracle-row-4-column + span.oracle-roll 64 + span.oracle-result Jelma + .oracle-row.oracle-row-4-column + span.oracle-roll 65 + span.oracle-result Willa + .oracle-row.oracle-row-4-column + span.oracle-roll 66 + span.oracle-result Nadira + .oracle-row.oracle-row-4-column + span.oracle-roll 67 + span.oracle-result Gwen + .oracle-row.oracle-row-4-column + span.oracle-roll 68 + span.oracle-result Amara + .oracle-row.oracle-row-4-column + span.oracle-roll 69 + span.oracle-result Masias + .oracle-row.oracle-row-4-column + span.oracle-roll 70 + span.oracle-result Kanno + .oracle-row.oracle-row-4-column + span.oracle-roll 71 + span.oracle-result Razeena + .oracle-row.oracle-row-4-column + span.oracle-roll 72 + span.oracle-result Mira + .oracle-row.oracle-row-4-column + span.oracle-roll 73 + span.oracle-result Perella + .oracle-row.oracle-row-4-column + span.oracle-roll 74 + span.oracle-result Myrick + .oracle-row.oracle-row-4-column + span.oracle-roll 75 + span.oracle-result Qamar + .oracle-row.oracle-row-4-column + span.oracle-roll 76 + span.oracle-result Kormak + .oracle-row.oracle-row-4-column + span.oracle-roll 77 + span.oracle-result Zura + .oracle-row.oracle-row-4-column + span.oracle-roll 78 + span.oracle-result Zanita + .oracle-row.oracle-row-4-column + span.oracle-roll 79 + span.oracle-result Brynn + .oracle-row.oracle-row-4-column + span.oracle-roll 80 + span.oracle-result Tegan + .oracle-row.oracle-row-4-column + span.oracle-roll 81 + span.oracle-result Pendry + .oracle-row.oracle-row-4-column + span.oracle-roll 82 + span.oracle-result Quinn + .oracle-row.oracle-row-4-column + span.oracle-roll 83 + span.oracle-result Fanir + .oracle-row.oracle-row-4-column + span.oracle-roll 84 + span.oracle-result Glain + .oracle-row.oracle-row-4-column + span.oracle-roll 85 + span.oracle-result Emelyn + .oracle-row.oracle-row-4-column + span.oracle-roll 86 + span.oracle-result Kendi + .oracle-row.oracle-row-4-column + span.oracle-roll 87 + span.oracle-result Althus + .oracle-row.oracle-row-4-column + span.oracle-roll 88 + span.oracle-result Leela + .oracle-row.oracle-row-4-column + span.oracle-roll 89 + span.oracle-result Ishana + .oracle-row.oracle-row-4-column + span.oracle-roll 90 + span.oracle-result Flint + .oracle-row.oracle-row-4-column + span.oracle-roll 91 + span.oracle-result Delkash + .oracle-row.oracle-row-4-column + span.oracle-roll 92 + span.oracle-result Nia + .oracle-row.oracle-row-4-column + span.oracle-roll 93 + span.oracle-result Nan + .oracle-row.oracle-row-4-column + span.oracle-roll 94 + span.oracle-result Keeara + .oracle-row.oracle-row-4-column + span.oracle-roll 95 + span.oracle-result Katania + .oracle-row.oracle-row-4-column + span.oracle-roll 96 + span.oracle-result Morell + .oracle-row.oracle-row-4-column + span.oracle-roll 97 + span.oracle-result Temir + .oracle-row.oracle-row-4-column + span.oracle-roll 98 + span.oracle-result Bas + .oracle-row.oracle-row-4-column + span.oracle-roll 99 + span.oracle-result Sabine + .oracle-row.oracle-row-4-column + span.oracle-roll 100 + span.oracle-result Tallus + .oracle-row.oracle-row-4-column + span.oracle-roll 101 + span.oracle-result Segura + .oracle-row.oracle-row-4-column + span.oracle-roll 102 + span.oracle-result Gethin + .oracle-row.oracle-row-4-column + span.oracle-roll 103 + span.oracle-result Bataar + .oracle-row.oracle-row-4-column + span.oracle-roll 104 + span.oracle-result Basira + .oracle-row.oracle-row-4-column + span.oracle-roll 105 + span.oracle-result Joa + .oracle-row.oracle-row-4-column + span.oracle-roll 106 + span.oracle-result Glynn + .oracle-row.oracle-row-4-column + span.oracle-roll 107 + span.oracle-result Toran + .oracle-row.oracle-row-4-column + span.oracle-roll 108 + span.oracle-result Arasen + .oracle-row.oracle-row-4-column + span.oracle-roll 109 + span.oracle-result Kuron + .oracle-row.oracle-row-4-column + span.oracle-roll 110 + span.oracle-result Griff + .oracle-row.oracle-row-4-column + span.oracle-roll 111 + span.oracle-result Owena + .oracle-row.oracle-row-4-column + span.oracle-roll 112 + span.oracle-result Adda + .oracle-row.oracle-row-4-column + span.oracle-roll 113 + span.oracle-result Euros + .oracle-row.oracle-row-4-column + span.oracle-roll 114 + span.oracle-result Kova + .oracle-row.oracle-row-4-column + span.oracle-roll 115 + span.oracle-result Kara + .oracle-row.oracle-row-4-column + span.oracle-roll 116 + span.oracle-result Morgan + .oracle-row.oracle-row-4-column + span.oracle-roll 117 + span.oracle-result Nanda + .oracle-row.oracle-row-4-column + span.oracle-roll 118 + span.oracle-result Tamara + .oracle-row.oracle-row-4-column + span.oracle-roll 119 + span.oracle-result Asha + .oracle-row.oracle-row-4-column + span.oracle-roll 120 + span.oracle-result Delos + .oracle-row.oracle-row-4-column + span.oracle-roll 121 + span.oracle-result Torgan + .oracle-row.oracle-row-4-column + span.oracle-roll 122 + span.oracle-result Makari + .oracle-row.oracle-row-4-column + span.oracle-roll 123 + span.oracle-result Selva + .oracle-row.oracle-row-4-column + span.oracle-roll 124 + span.oracle-result Kimura + .oracle-row.oracle-row-4-column + span.oracle-roll 125 + span.oracle-result Rhian + .oracle-row.oracle-row-4-column + span.oracle-roll 126 + span.oracle-result Tristan + .oracle-row.oracle-row-4-column + span.oracle-roll 127 + span.oracle-result Siorra + .oracle-row.oracle-row-4-column + span.oracle-roll 128 + span.oracle-result Sayer + .oracle-row.oracle-row-4-column + span.oracle-roll 129 + span.oracle-result Cortina + .oracle-row.oracle-row-4-column + span.oracle-roll 130 + span.oracle-result Vesna + .oracle-row.oracle-row-4-column + span.oracle-roll 131 + span.oracle-result Kataka + .oracle-row.oracle-row-4-column + span.oracle-roll 132 + span.oracle-result Keyshia + .oracle-row.oracle-row-4-column + span.oracle-roll 133 + span.oracle-result Mila + .oracle-row.oracle-row-4-column + span.oracle-roll 134 + span.oracle-result Lili + .oracle-row.oracle-row-4-column + span.oracle-roll 135 + span.oracle-result Vigo + .oracle-row.oracle-row-4-column + span.oracle-roll 136 + span.oracle-result Sadia + .oracle-row.oracle-row-4-column + span.oracle-roll 137 + span.oracle-result Malik + .oracle-row.oracle-row-4-column + span.oracle-roll 138 + span.oracle-result Dag + .oracle-row.oracle-row-4-column + span.oracle-roll 139 + span.oracle-result Kuno + .oracle-row.oracle-row-4-column + span.oracle-roll 140 + span.oracle-result Reva + .oracle-row.oracle-row-4-column + span.oracle-roll 141 + span.oracle-result Kai + .oracle-row.oracle-row-4-column + span.oracle-roll 142 + span.oracle-result Kalina + .oracle-row.oracle-row-4-column + span.oracle-roll 143 + span.oracle-result Jihan + .oracle-row.oracle-row-4-column + span.oracle-roll 144 + span.oracle-result Hennion + .oracle-row.oracle-row-4-column + span.oracle-roll 145 + span.oracle-result Abram + .oracle-row.oracle-row-4-column + span.oracle-roll 146 + span.oracle-result Aida + .oracle-row.oracle-row-4-column + span.oracle-roll 147 + span.oracle-result Myrtle + .oracle-row.oracle-row-4-column + span.oracle-roll 148 + span.oracle-result Nekun + .oracle-row.oracle-row-4-column + span.oracle-roll 149 + span.oracle-result Menna + .oracle-row.oracle-row-4-column + span.oracle-roll 150 + span.oracle-result Tahir + .oracle-row.oracle-row-4-column + span.oracle-roll 151 + span.oracle-result Sarria + .oracle-row.oracle-row-4-column + span.oracle-roll 152 + span.oracle-result Nakura + .oracle-row.oracle-row-4-column + span.oracle-roll 153 + span.oracle-result Akiya + .oracle-row.oracle-row-4-column + span.oracle-roll 154 + span.oracle-result Talan + .oracle-row.oracle-row-4-column + span.oracle-roll 155 + span.oracle-result Mattick + .oracle-row.oracle-row-4-column + span.oracle-roll 156 + span.oracle-result Okoth + .oracle-row.oracle-row-4-column + span.oracle-roll 157 + span.oracle-result Khulan + .oracle-row.oracle-row-4-column + span.oracle-roll 158 + span.oracle-result Verena + .oracle-row.oracle-row-4-column + span.oracle-roll 159 + span.oracle-result Beltran + .oracle-row.oracle-row-4-column + span.oracle-roll 160 + span.oracle-result Del + .oracle-row.oracle-row-4-column + span.oracle-roll 161 + span.oracle-result Ranna + .oracle-row.oracle-row-4-column + span.oracle-roll 162 + span.oracle-result Alina + .oracle-row.oracle-row-4-column + span.oracle-roll 163 + span.oracle-result Muna + .oracle-row.oracle-row-4-column + span.oracle-roll 164 + span.oracle-result Mura + .oracle-row.oracle-row-4-column + span.oracle-roll 165 + span.oracle-result Torrens + .oracle-row.oracle-row-4-column + span.oracle-roll 166 + span.oracle-result Yuda + .oracle-row.oracle-row-4-column + span.oracle-roll 167 + span.oracle-result Nazmi + .oracle-row.oracle-row-4-column + span.oracle-roll 168 + span.oracle-result Ghalen + .oracle-row.oracle-row-4-column + span.oracle-roll 169 + span.oracle-result Sarda + .oracle-row.oracle-row-4-column + span.oracle-roll 170 + span.oracle-result Shona + .oracle-row.oracle-row-4-column + span.oracle-roll 171 + span.oracle-result Kalidas + .oracle-row.oracle-row-4-column + span.oracle-roll 172 + span.oracle-result Wena + .oracle-row.oracle-row-4-column + span.oracle-roll 173 + span.oracle-result Sendra + .oracle-row.oracle-row-4-column + span.oracle-roll 174 + span.oracle-result Kori + .oracle-row.oracle-row-4-column + span.oracle-roll 175 + span.oracle-result Setara + .oracle-row.oracle-row-4-column + span.oracle-roll 176 + span.oracle-result Lucia + .oracle-row.oracle-row-4-column + span.oracle-roll 177 + span.oracle-result Maya + .oracle-row.oracle-row-4-column + span.oracle-roll 178 + span.oracle-result Reema + .oracle-row.oracle-row-4-column + span.oracle-roll 179 + span.oracle-result Yorath + .oracle-row.oracle-row-4-column + span.oracle-roll 180 + span.oracle-result Rhoddri + .oracle-row.oracle-row-4-column + span.oracle-roll 181 + span.oracle-result Shekhar + .oracle-row.oracle-row-4-column + span.oracle-roll 182 + span.oracle-result Servan + .oracle-row.oracle-row-4-column + span.oracle-roll 183 + span.oracle-result Reese + .oracle-row.oracle-row-4-column + span.oracle-roll 184 + span.oracle-result Kenrick + .oracle-row.oracle-row-4-column + span.oracle-roll 185 + span.oracle-result Indirra + .oracle-row.oracle-row-4-column + span.oracle-roll 186 + span.oracle-result Giliana + .oracle-row.oracle-row-4-column + span.oracle-roll 187 + span.oracle-result Jebran + .oracle-row.oracle-row-4-column + span.oracle-roll 188 + span.oracle-result Kotama + .oracle-row.oracle-row-4-column + span.oracle-roll 189 + span.oracle-result Fara + .oracle-row.oracle-row-4-column + span.oracle-roll 190 + span.oracle-result Katrin + .oracle-row.oracle-row-4-column + span.oracle-roll 191 + span.oracle-result Namba + .oracle-row.oracle-row-4-column + span.oracle-roll 192 + span.oracle-result Lona + .oracle-row.oracle-row-4-column + span.oracle-roll 193 + span.oracle-result Taylah + .oracle-row.oracle-row-4-column + span.oracle-roll 194 + span.oracle-result Kato + .oracle-row.oracle-row-4-column + span.oracle-roll 195 + span.oracle-result Esra + .oracle-row.oracle-row-4-column + span.oracle-roll 196 + span.oracle-result Eleri + .oracle-row.oracle-row-4-column + span.oracle-roll 197 + span.oracle-result Irsia + .oracle-row.oracle-row-4-column + span.oracle-roll 198 + span.oracle-result Kayu + .oracle-row.oracle-row-4-column + span.oracle-roll 199 + span.oracle-result Bevan + .oracle-row.oracle-row-4-column + span.oracle-roll 200 + span.oracle-result Chandra + + input.elf-names.hide(type='radio' name='attr_oracle_ironsworn' value='18') + .elf-names.showhide + .oracle-title.oracle-table-preview ELF NAMES + .oracle-table.oracle-table-2-column + .oracle-row.oracle-row-2-column + span.oracle-roll 1-2 + span.oracle-result Arsula + .oracle-row.oracle-row-2-column + span.oracle-roll 3-4 + span.oracle-result Naidita + .oracle-row.oracle-row-2-column + span.oracle-roll 5-6 + span.oracle-result Belesunna + .oracle-row.oracle-row-2-column + span.oracle-roll 7-8 + span.oracle-result Vidarna + .oracle-row.oracle-row-2-column + span.oracle-roll 9-10 + span.oracle-result Ninsunu + .oracle-row.oracle-row-2-column + span.oracle-roll 11-12 + span.oracle-result Balathu + .oracle-row.oracle-row-2-column + span.oracle-roll 13-14 + span.oracle-result Dorosi + .oracle-row.oracle-row-2-column + span.oracle-roll 15-16 + span.oracle-result Gezera + .oracle-row.oracle-row-2-column + span.oracle-roll 17-18 + span.oracle-result Zursan + .oracle-row.oracle-row-2-column + span.oracle-roll 19-20 + span.oracle-result Seleeku + .oracle-row.oracle-row-2-column + span.oracle-roll 21-22 + span.oracle-result Utamara + .oracle-row.oracle-row-2-column + span.oracle-roll 23-24 + span.oracle-result Nebakay + .oracle-row.oracle-row-2-column + span.oracle-roll 25-26 + span.oracle-result Dismashk + .oracle-row.oracle-row-2-column + span.oracle-roll 27-28 + span.oracle-result Mitunu + .oracle-row.oracle-row-2-column + span.oracle-roll 29-30 + span.oracle-result Atani + .oracle-row.oracle-row-2-column + span.oracle-roll 31-32 + span.oracle-result Kinzura + .oracle-row.oracle-row-2-column + span.oracle-roll 33-34 + span.oracle-result Sumula + .oracle-row.oracle-row-2-column + span.oracle-roll 35-36 + span.oracle-result Ukames + .oracle-row.oracle-row-2-column + span.oracle-roll 37-38 + span.oracle-result Ahmeshki + .oracle-row.oracle-row-2-column + span.oracle-roll 39-40 + span.oracle-result Ilsit + .oracle-row.oracle-row-2-column + span.oracle-roll 41-42 + span.oracle-result Mayatanay + .oracle-row.oracle-row-2-column + span.oracle-roll 43-44 + span.oracle-result Etana + .oracle-row.oracle-row-2-column + span.oracle-roll 45-46 + span.oracle-result Gamanna + .oracle-row.oracle-row-2-column + span.oracle-roll 47-48 + span.oracle-result Nessana + .oracle-row.oracle-row-2-column + span.oracle-roll 49-50 + span.oracle-result Uralar + .oracle-row.oracle-row-2-column + span.oracle-roll 51-52 + span.oracle-result Tishetu + .oracle-row.oracle-row-2-column + span.oracle-roll 53-54 + span.oracle-result Leucia + .oracle-row.oracle-row-2-column + span.oracle-roll 55-56 + span.oracle-result Sutahe + .oracle-row.oracle-row-2-column + span.oracle-roll 57-58 + span.oracle-result Dotani + .oracle-row.oracle-row-2-column + span.oracle-roll 59-60 + span.oracle-result Uktannu + .oracle-row.oracle-row-2-column + span.oracle-roll 61-62 + span.oracle-result Retenay + .oracle-row.oracle-row-2-column + span.oracle-roll 63-64 + span.oracle-result Kendalanu + .oracle-row.oracle-row-2-column + span.oracle-roll 65-66 + span.oracle-result Tahuta + .oracle-row.oracle-row-2-column + span.oracle-roll 67-68 + span.oracle-result Mattissa + .oracle-row.oracle-row-2-column + span.oracle-roll 69-70 + span.oracle-result Anatu + .oracle-row.oracle-row-2-column + span.oracle-roll 71-72 + span.oracle-result Aralu + .oracle-row.oracle-row-2-column + span.oracle-roll 73-74 + span.oracle-result Arakhi + .oracle-row.oracle-row-2-column + span.oracle-roll 75-76 + span.oracle-result Ibrahem + .oracle-row.oracle-row-2-column + span.oracle-roll 77-78 + span.oracle-result Sinosu + .oracle-row.oracle-row-2-column + span.oracle-roll 79-80 + span.oracle-result Jemshida + .oracle-row.oracle-row-2-column + span.oracle-roll 81-82 + span.oracle-result Visapni + .oracle-row.oracle-row-2-column + span.oracle-roll 83-84 + span.oracle-result Hullata + .oracle-row.oracle-row-2-column + span.oracle-roll 85-86 + span.oracle-result Sidura + .oracle-row.oracle-row-2-column + span.oracle-roll 87-88 + span.oracle-result Kerihu + .oracle-row.oracle-row-2-column + span.oracle-roll 89-90 + span.oracle-result Ereshki + .oracle-row.oracle-row-2-column + span.oracle-roll 91-92 + span.oracle-result Cybela + .oracle-row.oracle-row-2-column + span.oracle-roll 93-94 + span.oracle-result Anunna + .oracle-row.oracle-row-2-column + span.oracle-roll 95-96 + span.oracle-result Otani + .oracle-row.oracle-row-2-column + span.oracle-roll 97-98 + span.oracle-result Ditani + .oracle-row.oracle-row-2-column + span.oracle-roll 99-100 + span.oracle-result Faraza + + input.giant-names.hide(type='radio' name='attr_oracle_ironsworn' value='19') + .giant-names.showhide + .oracle-title.oracle-table-preview GIANT NAMES + .oracle-table + .oracle-row + span.oracle-roll 1-4 + span.oracle-result Chony + .oracle-row + span.oracle-roll 5-8 + span.oracle-result Banda + .oracle-row + span.oracle-roll 9-12 + span.oracle-result Jochu + .oracle-row + span.oracle-roll 13-16 + span.oracle-result Kira + .oracle-row + span.oracle-roll 17-20 + span.oracle-result Khatir + .oracle-row + span.oracle-roll 21-24 + span.oracle-result Chaidu + .oracle-row + span.oracle-roll 25-28 + span.oracle-result Atan + .oracle-row + span.oracle-roll 29-32 + span.oracle-result Buandu + .oracle-row + span.oracle-roll 33-36 + span.oracle-result Javyn + .oracle-row + span.oracle-roll 37-40 + span.oracle-result Khashin + .oracle-row + span.oracle-roll 41-44 + span.oracle-result Bayara + .oracle-row + span.oracle-roll 45-48 + span.oracle-result Temura + .oracle-row + span.oracle-roll 49-52 + span.oracle-result Kidha + .oracle-row + span.oracle-roll 53-56 + span.oracle-result Kathos + .oracle-row + span.oracle-roll 57-60 + span.oracle-result Tanua + .oracle-row + span.oracle-roll 61-64 + span.oracle-result Bashtu + .oracle-row + span.oracle-roll 65-68 + span.oracle-result Jaran + .oracle-row + span.oracle-roll 69-72 + span.oracle-result Othos + .oracle-row + span.oracle-roll 73-76 + span.oracle-result Khutan + .oracle-row + span.oracle-roll 77-80 + span.oracle-result Otaan + .oracle-row + span.oracle-roll 81-84 + span.oracle-result Martu + .oracle-row + span.oracle-roll 85-88 + span.oracle-result Baku + .oracle-row + span.oracle-roll 89-92 + span.oracle-result Tuban + .oracle-row + span.oracle-roll 93-96 + span.oracle-result Qudan + .oracle-row + span.oracle-roll 97-100 + span.oracle-result Denua + + input.varou-names.hide(type='radio' name='attr_oracle_ironsworn' value='20') + .varou-names.showhide + .oracle-title.oracle-table-preview VAROU NAMES + .oracle-table + .oracle-row + span.oracle-roll 1-4 + span.oracle-result Vata + .oracle-row + span.oracle-roll 5-8 + span.oracle-result Zora + .oracle-row + span.oracle-roll 9-12 + span.oracle-result Jasna + .oracle-row + span.oracle-roll 13-16 + span.oracle-result Charna + .oracle-row + span.oracle-roll 17-20 + span.oracle-result Tana + .oracle-row + span.oracle-roll 21-24 + span.oracle-result Soveen + .oracle-row + span.oracle-roll 25-28 + span.oracle-result Radka + .oracle-row + span.oracle-roll 29-32 + span.oracle-result Zlata + .oracle-row + span.oracle-roll 33-36 + span.oracle-result Leesla + .oracle-row + span.oracle-roll 37-40 + span.oracle-result Byna + .oracle-row + span.oracle-roll 41-44 + span.oracle-result Meeka + .oracle-row + span.oracle-roll 45-48 + span.oracle-result Iskra + .oracle-row + span.oracle-roll 49-52 + span.oracle-result Jarek + .oracle-row + span.oracle-roll 53-56 + span.oracle-result Darva + .oracle-row + span.oracle-roll 57-60 + span.oracle-result Neda + .oracle-row + span.oracle-roll 61-64 + span.oracle-result Keha + .oracle-row + span.oracle-roll 65-68 + span.oracle-result Zhivka + .oracle-row + span.oracle-roll 69-72 + span.oracle-result Kvata + .oracle-row + span.oracle-roll 73-76 + span.oracle-result Staysa + .oracle-row + span.oracle-roll 77-80 + span.oracle-result Evka + .oracle-row + span.oracle-roll 81-84 + span.oracle-result Vuksha + .oracle-row + span.oracle-roll 85-88 + span.oracle-result Muko + .oracle-row + span.oracle-roll 89-92 + span.oracle-result Dreko + .oracle-row + span.oracle-roll 93-96 + span.oracle-result Aleko + .oracle-row + span.oracle-roll 97-100 + span.oracle-result Vojan + + input.troll-names.hide(type='radio' name='attr_oracle_ironsworn' value='21') + .troll-names.showhide + .oracle-title.oracle-table-preview TROLL NAMES + .oracle-table + .oracle-row + span.oracle-roll 1-4 + span.oracle-result Rattle + .oracle-row + span.oracle-roll 5-8 + span.oracle-result Scratch + .oracle-row + span.oracle-roll 9-12 + span.oracle-result Wallow + .oracle-row + span.oracle-roll 13-16 + span.oracle-result Groak + .oracle-row + span.oracle-roll 17-20 + span.oracle-result Gimble + .oracle-row + span.oracle-roll 21-24 + span.oracle-result Scar + .oracle-row + span.oracle-roll 25-28 + span.oracle-result Cratch + .oracle-row + span.oracle-roll 29-32 + span.oracle-result Creech + .oracle-row + span.oracle-roll 33-36 + span.oracle-result Shush + .oracle-row + span.oracle-roll 37-40 + span.oracle-result Glush + .oracle-row + span.oracle-roll 41-44 + span.oracle-result Slar + .oracle-row + span.oracle-roll 45-48 + span.oracle-result Gnash + .oracle-row + span.oracle-roll 49-52 + span.oracle-result Stoad + .oracle-row + span.oracle-roll 53-56 + span.oracle-result Grig + .oracle-row + span.oracle-roll 57-60 + span.oracle-result Bleat + .oracle-row + span.oracle-roll 61-64 + span.oracle-result Chortle + .oracle-row + span.oracle-roll 65-68 + span.oracle-result Cluck + .oracle-row + span.oracle-roll 69-72 + span.oracle-result Slith + .oracle-row + span.oracle-roll 73-76 + span.oracle-result Mongo + .oracle-row + span.oracle-roll 77-80 + span.oracle-result Creak + .oracle-row + span.oracle-roll 81-84 + span.oracle-result Burble + .oracle-row + span.oracle-roll 85-88 + span.oracle-result Vrusk + .oracle-row + span.oracle-roll 89-92 + span.oracle-result Snuffle + .oracle-row + span.oracle-roll 93-96 + span.oracle-result Leech + .oracle-row + span.oracle-roll 97-100 + span.oracle-result Herk + + input.pay-the-price.hide(type='radio' name='attr_oracle_ironsworn' value='22') + .pay-the-price.showhide + .oracle-title.oracle-table-preview PAY THE PRICE + .oracle-table + .oracle-row + span.oracle-roll 1-2 + span.oracle-result + | Roll + | again and apply that result but make it worse. If you roll this result yet again, think of + | something dreadful that changes the course of your quest ( + em Ask the Oracle + | if unsure) + | and make it happen. + .oracle-row + span.oracle-roll 3-5 + span.oracle-result + | A + | person or community you trusted loses faith in you, or acts against you. + .oracle-row + span.oracle-roll 6-9 + span.oracle-result + | A + | person or community you care about is exposed to danger. + .oracle-row + span.oracle-roll 10-16 + span.oracle-result + | You + | are separated from something or someone. + .oracle-row + span.oracle-roll 17-23 + span.oracle-result + | Your + | action has an unintended effect. + .oracle-row + span.oracle-roll 24-32 + span.oracle-result Something of value is lost or destroyed. + .oracle-row + span.oracle-roll 33-41 + span.oracle-result + | The + | current situation worsens. + .oracle-row + span.oracle-roll 42-50 + span.oracle-result + | A + | new danger or foe is revealed. + .oracle-row + span.oracle-roll 51-59 + span.oracle-result + | It + | causes a delay or puts you at a disadvantage. + .oracle-row + span.oracle-roll 60-68 + span.oracle-result + | It + | is harmful. + .oracle-row + span.oracle-roll 69-77 + span.oracle-result + | It + | is stressful. + .oracle-row + span.oracle-roll 78-85 + span.oracle-result + | A + | surprising development complicates your quest. + .oracle-row + span.oracle-roll 86-90 + span.oracle-result + | It + | wastes resources. + .oracle-row + span.oracle-roll 91-94 + span.oracle-result + | It + | forces you to act against your best intentions. + .oracle-row + span.oracle-roll 95-98 + span.oracle-result + | A + | friend, companion, or ally is put in harm’s way (or you are, if alone) + .oracle-row + span.oracle-roll 99-100 + span.oracle-result + | Roll + | twice more on this table. Both results occur. If they are the same result, make it + | worse. + + input.ask-the-oracle.hide(type='radio' name='attr_oracle_ironsworn' value='23') + .ask-the-oracle.showhide + .oracle-title.oracle-table-preview ASK THE ORACLE + .oracle-table + .oracle-row + .button-container-preview + button(type='roll' title='Almost Certain' name='rollalmostcertain' value='&{template:ironsworn_oracles} {{header=Almost Certain}} {{almostCertain=[[d100]]}}') + span.oracle-roll.preview-roll 11 or greater + span.oracle-result + | Almost + | Certain + .oracle-row + .button-container-preview + button(type='roll' title='Likely' name='rolllikely' value='&{template:ironsworn_oracles} {{header=Likely}} {{likely=[[d100]]}}') + span.oracle-roll.preview-roll 26 or greater + span.oracle-result Likely + .oracle-row + .button-container-preview + button(type='roll' title='50/50' name='rollfiftyfifty' value='&{template:ironsworn_oracles} {{header=50/50}} {{fiftyFifty=[[d100]]}}') + span.oracle-roll.preview-roll 51 or greater + span.oracle-result 50/50 + .oracle-row + .button-container-preview + button(type='roll' title='Unlikely' name='rollunlikely' value='&{template:ironsworn_oracles} {{header=Unlikely}} {{unlikely=[[d100]]}}') + span.oracle-roll.preview-roll 76 or greater + span.oracle-result Unlikely + .oracle-row + .button-container-preview + button(type='roll' title='Small Chance' name='rollsmallchance' value='&{template:ironsworn_oracles} {{header=Small Chance}} {{smallChance=[[d100]]}}') + span.oracle-roll.preview-roll 91 or greater + span.oracle-result + | Small + | Chance + .oracle-footer On a match, an extreme result or twist has occurred. + + input.endure-harm.hide(type='radio' name='attr_oracle_ironsworn' value='24') + .endure-harm.showhide + .oracle-title.oracle-table-preview ENDURE HARM + +endureHarmTable + + input.endure-stress.hide(type='radio' name='attr_oracle_ironsworn' value='25') + .endure-stress.showhide + .oracle-title.oracle-table-preview ENDURE STRESS + +endureStressTable diff --git a/Ironcrunch/src/components/oracles/oracle-builder.pug b/Ironcrunch/src/components/oracles/oracle-builder.pug new file mode 100644 index 0000000000..39b974ab6d --- /dev/null +++ b/Ironcrunch/src/components/oracles/oracle-builder.pug @@ -0,0 +1,32 @@ +mixin oracleRollGroup(group, type, key) + .oracle-box + .oracle-title=key + each oracle in group.oracles + .oracle + .button-container + - var id = oracle.class.toLowerCase().replace(/-/g, '_') + button( + type='roll' + title=`@{roll_${id}_oracle}` + name=`roll_${id}_oracle` + value=`&{template:${type}_oracles} {{header=${oracle.name}}} {{${oracle.roll_id}=[[${oracle.dice}]]}}` + ) + label.common-btn.oracle-btn + input.hide.btn-input( + type='radio' + title=`@{oracle_${type}_button}` + name=`attr_oracle_${type}_button` + value=id + ) + .btn-content=oracle.name + +mixin oracleBuilder(opts, type) + - var id = opts.class.toLowerCase().replace(/-/g, '_') + input(class=`${opts.class} hide` type='radio' name=`attr_oracle_${type}` value=id) + div(class=`${opts.class} showhide`) + .oracle-title.oracle-table-preview=opts.name + .oracle-table + each row in opts.rows + .oracle-row + span.oracle-roll=row.roll + span.oracle-result!=row.result diff --git a/Ironcrunch/src/components/oracles/oracles.styl b/Ironcrunch/src/components/oracles/oracles.styl new file mode 100644 index 0000000000..fc7aeacf81 --- /dev/null +++ b/Ironcrunch/src/components/oracles/oracles.styl @@ -0,0 +1,202 @@ +column-wrap(height) + display: flex; + flex-flow: column wrap; + height: height + +input.sheet-oracle-ironcrunch:checked ~ div.sheet-oracle-ironcrunch, +input.sheet-oracle-ironsworn:checked ~ div.sheet-oracle-ironsworn, +input.sheet-oracle-delve:checked ~ div.sheet-oracle-delve + show-hide(0.7s) + +.sheet-oracle-btn + margin 0 + width 100% + +.sheet-oracles + display: flex + flex-wrap: wrap + flex-direction: column + +.sheet-oracle + margin: 0em + color: #4C4D4F + display: flex + +input[type=radio].sheet-action:checked ~ div.sheet-action, +input[type=radio].sheet-theme:checked ~ div.sheet-theme, +input[type=radio].sheet-region:checked ~ div.sheet-region, +input[type=radio].sheet-location:checked ~ div.sheet-location, +input[type=radio].sheet-coastal-waters-location:checked ~ div.sheet-coastal-waters-location, +input[type=radio].sheet-location-descriptor:checked ~ div.sheet-location-descriptor, +input[type=radio].sheet-settlement-name:checked ~ div.sheet-settlement-name, +input[type=radio].sheet-quick-settlement-name:checked ~ div.sheet-quick-settlement-name, +input[type=radio].sheet-settlement-trouble:checked ~ div.sheet-settlement-trouble, +input[type=radio].sheet-character-role-oracle:checked ~ div.sheet-character-role-oracle, +input[type=radio].sheet-character-goal:checked ~ div.sheet-character-goal, +input[type=radio].sheet-character-descriptor:checked ~ div.sheet-character-descriptor, +input[type=radio].sheet-ironlander-names:checked ~ div.sheet-ironlander-names, +input[type=radio].sheet-elf-names:checked ~ div.sheet-elf-names, +input[type=radio].sheet-giant-names:checked ~ div.sheet-giant-names, +input[type=radio].sheet-varou-names:checked ~ div.sheet-varou-names, +input[type=radio].sheet-troll-names:checked ~ div.sheet-troll-names, +input[type=radio].sheet-combat-action:checked ~ div.sheet-combat-action, +input[type=radio].sheet-mystic-backlash:checked ~ div.sheet-mystic-backlash, +input[type=radio].sheet-major-plot-twist:checked ~ div.sheet-major-plot-twist, +input[type=radio].sheet-challenge-rank:checked ~ div.sheet-challenge-rank, +input[type=radio].sheet-pay-the-price:checked ~ div.sheet-pay-the-price, +input[type=radio].sheet-ask-the-oracle:checked ~ div.sheet-ask-the-oracle, +input[type=radio].sheet-endure-harm:checked ~ div.sheet-endure-harm, +input[type=radio].sheet-endure-stress:checked ~ div.sheet-endure-stress, +input[type=radio].sheet-feature-aspect:checked ~ div.sheet-feature-aspect, +input[type=radio].sheet-feature-focus:checked ~ div.sheet-feature-focus, +input[type=radio].sheet-site-name-format:checked ~ div.sheet-site-name-format, +input[type=radio].sheet-site-name-desc:checked ~ div.sheet-site-name-desc, +input[type=radio].sheet-site-name-detail:checked ~ div.sheet-site-name-detail, +input[type=radio].sheet-site-name-namesake:checked ~ div.sheet-site-name-namesake, +input[type=radio].sheet-site-name-place:checked ~ div.sheet-site-name-place, +input[type=radio].sheet-site-nature-theme:checked ~ div.sheet-site-nature-theme, +input[type=radio].sheet-site-nature-domain:checked ~ div.sheet-site-nature-domain, +input[type=radio].sheet-character-disposition:checked ~ div.sheet-character-disposition, +input[type=radio].sheet-character-activity:checked ~ div.sheet-character-activity, +input[type=radio].sheet-monstrosity-size:checked ~ div.sheet-monstrosity-size, +input[type=radio].sheet-monstrosity-primary-form:checked ~ div.sheet-monstrosity-primary-form, +input[type=radio].sheet-monstrosity-characteristics:checked ~ div.sheet-monstrosity-characteristics, +input[type=radio].sheet-monstrosity-abilities:checked ~ div.sheet-monstrosity-abilities, +input[type=radio].sheet-trap-event:checked ~ div.sheet-trap-event, +input[type=radio].sheet-trap-component:checked ~ div.sheet-trap-component, +input[type=radio].sheet-combat-event-method:checked ~ div.sheet-combat-event-method, +input[type=radio].sheet-combat-event-target:checked ~ div.sheet-combat-event-target, +input[type=radio].sheet-threat-category:checked ~ div.sheet-threat-category, +input[type=radio].sheet-threat-cursed-site:checked ~ div.sheet-threat-cursed-site, +input[type=radio].sheet-threat-burgeoning-conflict:checked ~ div.sheet-threat-burgeoning-conflict, +input[type=radio].sheet-threat-environmental-calamity:checked ~ div.sheet-threat-environmental-calamity , +input[type=radio].sheet-threat-malignant-plague:checked ~ div.sheet-threat-malignant-plague, +input[type=radio].sheet-threat-rampaging-creature:checked ~ div.sheet-threat-rampaging-creature, +input[type=radio].sheet-threat-ravaging-horde:checked ~ div.sheet-threat-ravaging-horde, +input[type=radio].sheet-threat-scheming-leader:checked ~ div.sheet-threat-scheming-leader, +input[type=radio].sheet-threat-power-hungry-mystic:checked ~ div.sheet-threat-power-hungry-mystic, +input[type=radio].sheet-threat-zealous-cult:checked ~ div.sheet-threat-zealous-cult, +input[type=radio].sheet-danger-category:checked ~ div.sheet-danger-category, +input[type=radio].sheet-danger-situation:checked ~ div.sheet-danger-situation, +input[type=radio].sheet-danger-road:checked ~ div.sheet-danger-road, +input[type=radio].sheet-danger-character:checked ~ div.sheet-danger-character, +input[type=radio].sheet-opportunity-item:checked ~ div.sheet-opportunity-item, +input[type=radio].sheet-opportunity-category:checked ~ div.sheet-opportunity-category, +input[type=radio].sheet-opportunity-character:checked ~ div.sheet-opportunity-character, +input[type=radio].sheet-opportunity-area:checked ~ div.sheet-opportunity-area, +input[type=radio].sheet-insanity-category:checked ~ div.sheet-insanity-category, +input[type=radio].sheet-insanity-short:checked ~ div.sheet-insanity-short, +input[type=radio].sheet-insanity-long:checked ~ div.sheet-insanity-long + show-hide() + +.sheet-oracle-container + display flex + opacity 1 + std-font() + font-size 1em + font-weight bold + justify-content space-between + margin-top 1em + padding 0.1em + +.sheet-oracle-column + display flex + flex-direction column + +.sheet-theme-outline + border: 1px solid #4C4D4F + +span.sheet-oracle-result + width 80% + +.sheet-oracle-box + border: 2px solid #4C4D4F + box-sizing: border-box + width: 100% + +.sheet-oracle-box:nth-child(n+2) + margin-top: 10px + +.sheet-oracle-title + background-color: #4C4D4F + color: #fff + border-bottom: 1px solid #4C4D4F + font-size: 1.4em + font-weight: bold + padding-left: 5px + padding-right: 5px + text-transform: uppercase + +.sheet-oracle-table-preview + width: auto + +.sheet-oracle-show + display inline-flex + font-size 1em + margin 0em + padding 0.3em + +.sheet-oracle-show:hover + background #969696 + cursor pointer + transition .5s ease + +.sheet-oracle-table + border 2px solid #4C4D4F + +.sheet-oracle-row:nth-child(2n+1), +.sheet-oracle:nth-child(2n+1) + background-color: #ddd + +.sheet-oracle-row + padding 3px 0px 3px 0px + display flex + height: auto + +.sheet-oracle-row-2-column + width 50% + +.sheet-oracle-row-3-column + width: 33.33% + +.sheet-oracle-row-4-column + width: 25% + +.sheet-oracle-roll + width: 20% + padding-left 0.5em + +.sheet-oracle-table-2-column + column-wrap(48em) + +.sheet-oracle-table-3-column + column-wrap(63em) + +.sheet-oracle-table-4-column + column-wrap(93em) + +.sheet-oracle-table-2-column-group + display flex + +.sheet-table-list + width 33% + +.sheet-oracle-column.sheet-table-main + width 66% + +.sheet-oracle-footer + background-color: #434b4d + color: #ffffff + line-height: 0.9em + font-size: 0.9em + std-font() + font-variant: small-caps + font-weight: bold + text-align: left + padding: 0.5rem + +.sheet-oracle-preview + width max-content + +.sheet-column-wrap + width 50% \ No newline at end of file diff --git a/Ironcrunch/src/components/proficiencies/proficiencies.styl b/Ironcrunch/src/components/proficiencies/proficiencies.styl new file mode 100644 index 0000000000..2babd1f9b1 --- /dev/null +++ b/Ironcrunch/src/components/proficiencies/proficiencies.styl @@ -0,0 +1,17 @@ +.sheet-proficiencies-weapons + display flex + flex-flow wrap + +.sheet-proficiency + width 50% + margin-top 1em + +.sheet-option-list + text-align justify + margin-left 2em + +.sheet-proficiency-text + font-size 14px + margin-left 0.6em + std-font('Crimson Text') + font-weight 600 diff --git a/Ironcrunch/src/components/proficiencies/weapons.pug b/Ironcrunch/src/components/proficiencies/weapons.pug new file mode 100644 index 0000000000..b4bc0f8931 --- /dev/null +++ b/Ironcrunch/src/components/proficiencies/weapons.pug @@ -0,0 +1,16 @@ +- var weapons = [ 'axes', 'polearms', 'swords', 'thrown weapons', 'whips & chains', 'blunt weapons', 'projectile weapons', 'stabbing weapons', 'unarmed' ] +- + var options = [ + 'when you strike, clash, or battle, add +1.', + 'when you inflict harm, add +1.', + 'when you inflict harm, you may reroll.' + ] + +div.sheet-proficiencies-weapons + each weapon in weapons + div.sheet-proficiency + h3.sheet-proficiency-title=weapon + each option, index in options + div.sheet-option-list + input(type='checkbox' name=`attr_${weapon}_proficiency_${index}`) + span.sheet-proficiency-text!=option \ No newline at end of file diff --git a/Ironcrunch/src/components/progress/mixins/box.pug b/Ironcrunch/src/components/progress/mixins/box.pug new file mode 100644 index 0000000000..5332c058dc --- /dev/null +++ b/Ironcrunch/src/components/progress/mixins/box.pug @@ -0,0 +1,8 @@ +//- TODO use div rather than ASCII characters??? +mixin progressBox + option(value="0" selected) + option(value="1") - + option(value="2") + + option(value="3") * + option(value="4") # + diff --git a/Ironcrunch/src/components/progress/progress.pug b/Ironcrunch/src/components/progress/progress.pug new file mode 100644 index 0000000000..7682a78d96 --- /dev/null +++ b/Ironcrunch/src/components/progress/progress.pug @@ -0,0 +1,33 @@ +- var track = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ] +include ../difficulties/array +include ./mixins/box + +fieldset.repeating_progress + div + br + input.sheet-progress-name(type='text' name='attr_name') + .sheet-progress-header + each difficulty, index in difficulties + label.sheet-difficulty + if difficulty.checked + input(type="radio" class="sheet-hide" name="attr_rank" value=index checked) + else + input(type="radio" class="sheet-hide" name="attr_rank" value=index) + h5=difficulty.text + .sheet-progress + div + label.sheet-btn MARK + input(class="sheet-mark-vow sheet-hide" type="checkbox" name="attr_mark_progress") + label.sheet-btn CLEAR + input(class="sheet-clear-vow sheet-hide" type="checkbox" name="attr_clear_progress") + each index in track + select(name=`attr_progress_${index}` class="sheet-progress-input") + +progressBox + label.sheet-btn CONCLUDE + button( + type="roll" + class='sheet-hide' + name="rollProgress" + value='&{template:ironcrunch_progress} {{header=@{character_name} Conclude Your Progress}} {{progress_name=@{name}}} {{progress=[[@{progress-filled}]]}} {{challenge1=[[d10]]}} {{challenge2=[[d10]]}}' + ) + input.sheet-hide(type='text' name='attr_progress-filled' value='floor((@{progress_0}+@{progress_1}+@{progress_2}+@{progress_3}+@{progress_4}+@{progress_5}+@{progress_6}+@{progress_7}+@{progress_8}+@{progress_9})/4)' disabled='true') diff --git a/Ironcrunch/src/components/progress/progress.styl b/Ironcrunch/src/components/progress/progress.styl new file mode 100644 index 0000000000..bab7fefccd --- /dev/null +++ b/Ironcrunch/src/components/progress/progress.styl @@ -0,0 +1,45 @@ +.sheet-progress-header + display flex + justify-content space-around + align-items center + margin-bottom 10px + +.sheet-progress + display flex + flex-direction column + justify-content center + align-items center + +.sheet-progress-name + width 100% + font-weight bold + font-size 14px + +input + &.sheet-progress-name + background #e6e7e8 + border 2px solid #494a4c + border-radius 0 + margin-bottom 0.2em + +.sheet-progress-input + width 40px + height 40px + font-size 22px + font-weight bold + background transparent + text-align center + justify-content center + align-items center + padding 2px 0px 0px 12px + margin-bottom 0.4em + cursor pointer + borderCommon() + border-radius 0 + &:hover + background-color #ccc + transition 0.5s ease + &:focus + outline 3px solid #fd0 + outline-offset 0 + box-shadow inset 0 0 0 2px \ No newline at end of file diff --git a/Ironcrunch/src/components/resources/character.pug b/Ironcrunch/src/components/resources/character.pug new file mode 100644 index 0000000000..55139e9b60 --- /dev/null +++ b/Ironcrunch/src/components/resources/character.pug @@ -0,0 +1,45 @@ +include ./tracks.pug +div.sheet-resources + div.sheet-resource + label.sheet-health-reset RESET + input(type="checkbox" class="sheet-health-reset sheet-hide" name="attr_health_reset") + h2.sheet-resource-title HEALTH + div.sheet-health-status-box + input(type='text' class="sheet-resource-value" name="attr_health" value="20") + div.sheet-health-max-box + h3.sheet-health-max / + h3.sheet-health-max-value + span(class="sheet-health-max-value" name='attr_max_health') + input(type='text' class='sheet-hide' name='attr_max_health' value='20') + + div.sheet-resource + h2.sheet-resource-title SPIRIT + select(class="sheet-resource-value" name='attr_spirit') + each val in trackValuesTen + option(value=val)=`+${val}` + + div.sheet-resource + h2.sheet-resource-title SUPPLY + select(class="sheet-resource-value" name='attr_supply') + each val in trackValuesTen + option(value=val)=`+${val}` + + div.sheet-resource + h2.sheet-resource-title WEALTH + select(class="sheet-resource-value" name='attr_wealth') + each val in trackValuesTen + option(value=val)=`+${val}` + + div.sheet-resource + h2.sheet-resource-title LOAD + select(class="sheet-resource-value sheet-load-value" name='attr_load') + each val in trackValuesTwelve + option(value=val)=val + + div.sheet-resource + h2.sheet-resource-title EXPERIENCE + div.sheet-health-status-box + input(type='text' class="sheet-resource-value" name="attr_xp" value="0") + h2.sheet-resource-title SPENT + div.sheet-health-status-box + input(type='text' class="sheet-resource-value" name="attr_total_xp" value="0") \ No newline at end of file diff --git a/Ironcrunch/src/components/resources/companion.pug b/Ironcrunch/src/components/resources/companion.pug new file mode 100644 index 0000000000..3e4be6ca3e --- /dev/null +++ b/Ironcrunch/src/components/resources/companion.pug @@ -0,0 +1,25 @@ +include ./tracks.pug +div.sheet-resources + div.sheet-resource + label.sheet-health-reset RESET + input(type="checkbox" class="sheet-health-reset sheet-hide" name="attr_health_reset") + h2.sheet-resource-title HEALTH + div.sheet-health-status-box + input(type='text' class="sheet-resource-value" name="attr_health" value="20") + div.sheet-health-max-box + h3.sheet-health-max / + h3.sheet-health-max-value + span(class="sheet-health-max-value" name='attr_max_health') + input(type='text' class='sheet-hide' name='attr_max_health' value='20') + + div.sheet-resource + h2.sheet-resource-title SPIRIT & LOYALTY + select(class="sheet-resource-value" name='attr_spirit') + each val in trackValuesTen + option(value=val)=`+${val}` + + div.sheet-resource + h2.sheet-resource-title LOAD + select(class="sheet-resource-value sheet-load-value" name='attr_load') + each val in trackValuesTwelve + option(value=val)=val \ No newline at end of file diff --git a/Ironcrunch/src/components/resources/resources.styl b/Ironcrunch/src/components/resources/resources.styl new file mode 100644 index 0000000000..0f977b9d7a --- /dev/null +++ b/Ironcrunch/src/components/resources/resources.styl @@ -0,0 +1,66 @@ +.sheet-resources + display flex + height 2em + +.sheet-resource + display flex + +label + &.sheet-health-reset + font-size 14px + borderCommon() + margin 0 + padding 2px 7px 2px 6px + cursor pointer + &:hover + background #ccc + transition 0.5s ease + +h3 + &.sheet-health-max + font-size 14px + margin-right 0.3em + line-height 23px + padding-left 0.3em + &.sheet-health-max-value + padding-right 0.3em + +.sheet-health-max-value + font-size 14px + line-height 22px + color #555 + +.sheet-resource-value + font-size 14px + width 38px + font-weight bold + padding 0 + padding-left 4px + border-radius 0 + background #ccc + borderCommon() + margin 0 + height auto + cursor pointer + +.sheet-resource-title + font-size 14px + width auto + borderCommon() + line-height 9px + padding 0.5em 0.43em 0.5em 0.43em + +input[type=text].sheet-resource-value + width 22px + border none + +.sheet-health-max-box + display flex + background #ccc + +.sheet-health-status-box + display flex + borderCommon() + +.sheet-load-value + width 27px \ No newline at end of file diff --git a/Ironcrunch/src/components/resources/tracks.pug b/Ironcrunch/src/components/resources/tracks.pug new file mode 100644 index 0000000000..14d0aa4061 --- /dev/null +++ b/Ironcrunch/src/components/resources/tracks.pug @@ -0,0 +1,4 @@ +- var trackValuesHealth = [ 40, 30, 20, 10, 100 ] +- var trackValuesTen = [ 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 ] +- var trackValuesTwelve = [ 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 ] +- var trackValuesNine = [ 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 ] \ No newline at end of file diff --git a/Ironcrunch/src/components/settings/settings.pug b/Ironcrunch/src/components/settings/settings.pug new file mode 100644 index 0000000000..e69de29bb2 diff --git a/Ironcrunch/src/components/sites/cards/custom.pug b/Ironcrunch/src/components/sites/cards/custom.pug new file mode 100644 index 0000000000..e69de29bb2 diff --git a/Ironcrunch/src/components/sites/cards/domains.pug b/Ironcrunch/src/components/sites/cards/domains.pug new file mode 100644 index 0000000000..c1c5c97986 --- /dev/null +++ b/Ironcrunch/src/components/sites/cards/domains.pug @@ -0,0 +1,718 @@ +- var domains = [ 'barrow', 'cavern', 'frozen_cavern', 'ice_reach', 'mine', 'pass', 'ruin', 'sea_cave', 'shadowfen', 'stronghold', 'tanglewood', 'underkeep' ] + +.sheet-domain-cards + .sheet-site-card-container + .sheet-domain-column + select(class='sheet-motivation-dropdown' name='attr_domain_select') + option(value='' disabled selected) SELECT + each domain in domains + option(value=domain) #{domain.replace('_', ' ').toUpperCase()} + + input(type='radio' class='sheet-hide' name='attr_domain' value='' checked) + input.sheet-barrow.sheet-hide(type='radio' name='attr_domain' value='barrow') + .sheet-barrow.sheet-domain-container.sheet-showhide + p.sheet-theme-body The dead are enshrined here. + h3.sheet-theme-header Features + .sheet-theme-table + .oracle-row + span.sheet-oracle-roll 21-43 + span.sheet-oracle-result Burial chambers + .oracle-row + span.sheet-oracle-roll 44-56 + span.sheet-oracle-result Maze of narrow passages + .oracle-row + span.sheet-oracle-roll 57-64 + span.sheet-oracle-result Shrine + .oracle-row + span.sheet-oracle-roll 65-68 + span.sheet-oracle-result Stately vault + .oracle-row + span.sheet-oracle-roll 69-72 + span.sheet-oracle-result Offerings to the dead + .oracle-row + span.sheet-oracle-roll 73-76 + span.sheet-oracle-result Statuary or tapestries + .oracle-row + span.sheet-oracle-roll 77-80 + span.sheet-oracle-result Remains of a grave robber + .oracle-row + span.sheet-oracle-roll 81-84 + span.sheet-oracle-result Mass grave + .oracle-row + span.sheet-oracle-roll 85-88 + span.sheet-oracle-result Exhumed corpses + .oracle-row + span.sheet-oracle-roll 89-98 + span.sheet-oracle-result Something unusual or unexpected + .oracle-row + span.sheet-oracle-roll 99 + span.sheet-oracle-result You transition into a new theme + .oracle-row + span.sheet-oracle-roll 100 + span.sheet-oracle-result You transition into a new domain + h3.sheet-theme-header Dangers + .sheet-theme-table + .oracle-row + span.sheet-oracle-roll 31-33 + span.sheet-oracle-result Denizen guards this area + .oracle-row + span.sheet-oracle-roll 34-36 + span.sheet-oracle-result Trap + .oracle-row + span.sheet-oracle-roll 37-39 + span.sheet-oracle-result Death makes its presence known + .oracle-row + span.sheet-oracle-roll 40-42 + span.sheet-oracle-result Crumbling architecture + .oracle-row + span.sheet-oracle-roll 43-45 + span.sheet-oracle-result Grave goods with hidden dangers + + input.sheet-cavern.sheet-hide(type='radio' name='attr_domain' value='cavern') + .sheet-cavern.sheet-domain-container.sheet-showhide + p.sheet-theme-body A place of stone and darkness. + h3.sheet-theme-header Features + .sheet-theme-table + .oracle-row + span.sheet-oracle-roll 21-43 + span.sheet-oracle-result Twisting passages + .oracle-row + span.sheet-oracle-roll 44-56 + span.sheet-oracle-result Cramped caves + .oracle-row + span.sheet-oracle-roll 57-64 + span.sheet-oracle-result Vast chamber + .oracle-row + span.sheet-oracle-roll 65-68 + span.sheet-oracle-result Subterranean waterway + .oracle-row + span.sheet-oracle-roll 69-72 + span.sheet-oracle-result Cave pool + .oracle-row + span.sheet-oracle-roll 73-76 + span.sheet-oracle-result Natural bridge + .oracle-row + span.sheet-oracle-roll 77-80 + span.sheet-oracle-result Towering stone formations + .oracle-row + span.sheet-oracle-roll 81-84 + span.sheet-oracle-result Natural illumination + .oracle-row + span.sheet-oracle-roll 85-88 + span.sheet-oracle-result Dark pit + .oracle-row + span.sheet-oracle-roll 89-98 + span.sheet-oracle-result Something unusual or unexpected + .oracle-row + span.sheet-oracle-roll 99 + span.sheet-oracle-result You transition into a new theme + .oracle-row + span.sheet-oracle-roll 100 + span.sheet-oracle-result You transition into a new domain + h3.sheet-theme-header Dangers + .sheet-theme-table + .oracle-row + span.sheet-oracle-roll 31-33 + span.sheet-oracle-result Denizen lairs here + .oracle-row + span.sheet-oracle-roll 34-36 + span.sheet-oracle-result Cave-in + .oracle-row + span.sheet-oracle-roll 37-39 + span.sheet-oracle-result Flooding + .oracle-row + span.sheet-oracle-roll 40-42 + span.sheet-oracle-result Perilous climb or descent + .oracle-row + span.sheet-oracle-roll 43-45 + span.sheet-oracle-result Fissure or sinkhole + + input.sheet-frozen-cavern.sheet-hide(type='radio' name='attr_domain' value='frozen_cavern') + .sheet-frozen-cavern.sheet-domain-container.sheet-showhide + p.sheet-theme-body A place of deep caves and enduring cold. + h3.sheet-theme-header Features + .sheet-theme-table + .oracle-row + span.sheet-oracle-roll 21-43 + span.sheet-oracle-result Maze of icy tunnels + .oracle-row + span.sheet-oracle-roll 44-56 + span.sheet-oracle-result Glistening cave + .oracle-row + span.sheet-oracle-roll 57-64 + span.sheet-oracle-result Vast chamber + .oracle-row + span.sheet-oracle-roll 65-68 + span.sheet-oracle-result Frigid waterway + .oracle-row + span.sheet-oracle-roll 69-72 + span.sheet-oracle-result Icy pools + .oracle-row + span.sheet-oracle-roll 73-76 + span.sheet-oracle-result Magnificent ice formations + .oracle-row + span.sheet-oracle-roll 77-80 + span.sheet-oracle-result Frozen waterfall + .oracle-row + span.sheet-oracle-roll 81-84 + span.sheet-oracle-result Deep crevasses + .oracle-row + span.sheet-oracle-roll 85-88 + span.sheet-oracle-result Discovery locked in the ice + .oracle-row + span.sheet-oracle-roll 89-98 + span.sheet-oracle-result Something unusual or unexpected + .oracle-row + span.sheet-oracle-roll 99 + span.sheet-oracle-result You transition into a new theme + .oracle-row + span.sheet-oracle-roll 100 + span.sheet-oracle-result You transition into a new domain + h3.sheet-theme-header Dangers + .sheet-theme-table + .oracle-row + span.sheet-oracle-roll 31-33 + span.sheet-oracle-result Denizen lairs here + .oracle-row + span.sheet-oracle-roll 34-36 + span.sheet-oracle-result Fracturing ice + .oracle-row + span.sheet-oracle-roll 37-39 + span.sheet-oracle-result Crumbling chasm + .oracle-row + span.sheet-oracle-roll 40-42 + span.sheet-oracle-result Bitter chill + .oracle-row + span.sheet-oracle-roll 43-45 + span.sheet-oracle-result Disorienting reflections + + input.sheet-ice-reach.sheet-hide(type='radio' name='attr_domain' value='ice_reach') + .sheet-ice-reach.sheet-domain-container.sheet-showhide + p.sheet-theme-body A frigid landscape formed of frozen seas. + h3.sheet-theme-header Features + .sheet-theme-table + .oracle-row + span.sheet-oracle-roll 21-43 + span.sheet-oracle-result Plains of ice and snow + .oracle-row + span.sheet-oracle-roll 44-56 + span.sheet-oracle-result Seawater channel + .oracle-row + span.sheet-oracle-roll 57-64 + span.sheet-oracle-result Icy highlands + .oracle-row + span.sheet-oracle-roll 65-68 + span.sheet-oracle-result Crevasse + .oracle-row + span.sheet-oracle-roll 69-72 + span.sheet-oracle-result Ice floes + .oracle-row + span.sheet-oracle-roll 73-76 + span.sheet-oracle-result Ship trapped in ice + .oracle-row + span.sheet-oracle-roll 77-80 + span.sheet-oracle-result Animal herd or habitat + .oracle-row + span.sheet-oracle-roll 81-84 + span.sheet-oracle-result Frozen carcass + .oracle-row + span.sheet-oracle-roll 85-88 + span.sheet-oracle-result Camp or outpost + .oracle-row + span.sheet-oracle-roll 89-98 + span.sheet-oracle-result Something unusual or unexpected + .oracle-row + span.sheet-oracle-roll 99 + span.sheet-oracle-result You transition into a new theme + .oracle-row + span.sheet-oracle-roll 100 + span.sheet-oracle-result You transition into a new domain + h3.sheet-theme-header Dangers + .sheet-theme-table + .oracle-row + span.sheet-oracle-roll 31-33 + span.sheet-oracle-result Denizen hunts + .oracle-row + span.sheet-oracle-roll 34-36 + span.sheet-oracle-result Fragile ice above watery depths + .oracle-row + span.sheet-oracle-roll 37-39 + span.sheet-oracle-result Perilous climb or descent + .oracle-row + span.sheet-oracle-roll 40-42 + span.sheet-oracle-result Avalanche or icefall + .oracle-row + span.sheet-oracle-roll 43-45 + span.sheet-oracle-result Foul weather + + input.sheet-mine.sheet-hide(type='radio' name='attr_domain' value='mine') + .sheet-mine.sheet-domain-container.sheet-showhide + p.sheet-theme-body Tunnels dug greedily and deep. + h3.sheet-theme-header Features + .sheet-theme-table + .oracle-row + span.sheet-oracle-roll 21-43 + span.sheet-oracle-result Cramped tunnels + .oracle-row + span.sheet-oracle-roll 44-56 + span.sheet-oracle-result Mine works + .oracle-row + span.sheet-oracle-roll 57-64 + span.sheet-oracle-result Excavated chamber + .oracle-row + span.sheet-oracle-roll 65-68 + span.sheet-oracle-result Mineshaft + .oracle-row + span.sheet-oracle-roll 69-72 + span.sheet-oracle-result Collapsed tunnel + .oracle-row + span.sheet-oracle-roll 73-76 + span.sheet-oracle-result Cluttered storage + .oracle-row + span.sheet-oracle-roll 77-80 + span.sheet-oracle-result Housing or common areas + .oracle-row + span.sheet-oracle-roll 81-84 + span.sheet-oracle-result Flooded chamber + .oracle-row + span.sheet-oracle-roll 85-88 + span.sheet-oracle-result Unearthed secret + .oracle-row + span.sheet-oracle-roll 89-98 + span.sheet-oracle-result Something unusual or unexpected + .oracle-row + span.sheet-oracle-roll 99 + span.sheet-oracle-result You transition into a new theme + .oracle-row + span.sheet-oracle-roll 100 + span.sheet-oracle-result You transition into a new domain + h3.sheet-theme-header Dangers + .sheet-theme-table + .oracle-row + span.sheet-oracle-roll 31-33 + span.sheet-oracle-result Cave-in + .oracle-row + span.sheet-oracle-roll 34-36 + span.sheet-oracle-result Flooding + .oracle-row + span.sheet-oracle-roll 37-39 + span.sheet-oracle-result Unstable platforms or architecture + .oracle-row + span.sheet-oracle-roll 40-42 + span.sheet-oracle-result Hazardous gas pocket + .oracle-row + span.sheet-oracle-roll 43-45 + span.sheet-oracle-result Weakened terrain + + input.sheet-pass.sheet-hide(type='radio' name='attr_domain' value='pass') + .sheet-pass.sheet-domain-container.sheet-showhide + p.sheet-theme-body Treacherous paths over high mountains. + h3.sheet-theme-header Features + .sheet-theme-table + .oracle-row + span.sheet-oracle-roll 21-43 + span.sheet-oracle-result Winding mountain path + .oracle-row + span.sheet-oracle-roll 44-56 + span.sheet-oracle-result Snowfield or glacial rocks + .oracle-row + span.sheet-oracle-roll 57-64 + span.sheet-oracle-result River gorge + .oracle-row + span.sheet-oracle-roll 65-68 + span.sheet-oracle-result Crashing waterfall + .oracle-row + span.sheet-oracle-roll 69-72 + span.sheet-oracle-result Highland lake + .oracle-row + span.sheet-oracle-roll 73-76 + span.sheet-oracle-result Forgotten cairn + .oracle-row + span.sheet-oracle-roll 77-80 + span.sheet-oracle-result Bridge + .oracle-row + span.sheet-oracle-roll 81-84 + span.sheet-oracle-result Overlook + .oracle-row + span.sheet-oracle-roll 85-88 + span.sheet-oracle-result Camp or outpost + .oracle-row + span.sheet-oracle-roll 89-98 + span.sheet-oracle-result Something unusual or unexpected + .oracle-row + span.sheet-oracle-roll 99 + span.sheet-oracle-result You transition into a new theme + .oracle-row + span.sheet-oracle-roll 100 + span.sheet-oracle-result You transition into a new domain + h3.sheet-theme-header Dangers + .sheet-theme-table + .oracle-row + span.sheet-oracle-roll 31-33 + span.sheet-oracle-result Denizen lairs here + .oracle-row + span.sheet-oracle-roll 34-36 + span.sheet-oracle-result Denizen hunts + .oracle-row + span.sheet-oracle-roll 37-39 + span.sheet-oracle-result Perilous climb or descent + .oracle-row + span.sheet-oracle-roll 40-42 + span.sheet-oracle-result Avalanche or rockslide + .oracle-row + span.sheet-oracle-roll 43-45 + span.sheet-oracle-result Foul weather + + input.sheet-ruin.sheet-hide(type='radio' name='attr_domain' value='ruin') + .sheet-ruin.sheet-domain-container.sheet-showhide + p.sheet-theme-body The crumbling legacy of a dead civilization. + h3.sheet-theme-header Features + .sheet-theme-table + .oracle-row + span.sheet-oracle-roll 21-43 + span.sheet-oracle-result Crumbling corridors and chambers + .oracle-row + span.sheet-oracle-roll 44-56 + span.sheet-oracle-result Collapsed architecture + .oracle-row + span.sheet-oracle-roll 57-64 + span.sheet-oracle-result Rubble-choked hall + .oracle-row + span.sheet-oracle-roll 65-68 + span.sheet-oracle-result Courtyard + .oracle-row + span.sheet-oracle-roll 69-72 + span.sheet-oracle-result Archive or library + .oracle-row + span.sheet-oracle-roll 73-76 + span.sheet-oracle-result Broken statuary or fading murals + .oracle-row + span.sheet-oracle-roll 77-80 + span.sheet-oracle-result Preserved vault + .oracle-row + span.sheet-oracle-roll 81-84 + span.sheet-oracle-result Temple to forgotten gods + .oracle-row + span.sheet-oracle-roll 85-88 + span.sheet-oracle-result Mausoleum + .oracle-row + span.sheet-oracle-roll 89-98 + span.sheet-oracle-result Something unusual or unexpected + .oracle-row + span.sheet-oracle-roll 99 + span.sheet-oracle-result You transition into a new theme + .oracle-row + span.sheet-oracle-roll 100 + span.sheet-oracle-result You transition into a new domain + h3.sheet-theme-header Dangers + .sheet-theme-table + .oracle-row + span.sheet-oracle-roll 31-33 + span.sheet-oracle-result Ancient mechanism or trap + .oracle-row + span.sheet-oracle-roll 34-36 + span.sheet-oracle-result Collapsing wall or ceiling + .oracle-row + span.sheet-oracle-roll 37-39 + span.sheet-oracle-result Blocked or broken passage + .oracle-row + span.sheet-oracle-roll 40-42 + span.sheet-oracle-result Unstable floor above a new danger + .oracle-row + span.sheet-oracle-roll 43-45 + span.sheet-oracle-result Ancient secrets best left buried + + input.sheet-sea-cave.sheet-hide(type='radio' name='attr_domain' value='sea_cave') + .sheet-sea-cave.sheet-domain-container.sheet-showhide + p.sheet-theme-body Stone passages carved by ocean waves. + h3.sheet-theme-header Features + .sheet-theme-table + .oracle-row + span.sheet-oracle-roll 21-43 + span.sheet-oracle-result Watery tunnels + .oracle-row + span.sheet-oracle-roll 44-56 + span.sheet-oracle-result Eroded chamber + .oracle-row + span.sheet-oracle-roll 57-64 + span.sheet-oracle-result Flooded chamber + .oracle-row + span.sheet-oracle-roll 65-68 + span.sheet-oracle-result Vast chamber + .oracle-row + span.sheet-oracle-roll 69-72 + span.sheet-oracle-result Dry passages + .oracle-row + span.sheet-oracle-roll 73-76 + span.sheet-oracle-result Freshwater inlet + .oracle-row + span.sheet-oracle-roll 77-80 + span.sheet-oracle-result Rocky island + .oracle-row + span.sheet-oracle-roll 81-84 + span.sheet-oracle-result Waterborne debris + .oracle-row + span.sheet-oracle-roll 85-88 + span.sheet-oracle-result Shipwreck or boat + .oracle-row + span.sheet-oracle-roll 89-98 + span.sheet-oracle-result Something unusual or unexpected + .oracle-row + span.sheet-oracle-roll 99 + span.sheet-oracle-result You transition into a new theme + .oracle-row + span.sheet-oracle-roll 100 + span.sheet-oracle-result You transition into a new domain + h3.sheet-theme-header Dangers + .sheet-theme-table + .oracle-row + span.sheet-oracle-roll 31-33 + span.sheet-oracle-result Denizen strikes without warning + .oracle-row + span.sheet-oracle-roll 34-36 + span.sheet-oracle-result Denizen lurks below + .oracle-row + span.sheet-oracle-roll 37-39 + span.sheet-oracle-result Flooding + .oracle-row + span.sheet-oracle-roll 40-42 + span.sheet-oracle-result Rushing current + .oracle-row + span.sheet-oracle-roll 43-45 + span.sheet-oracle-result Claustrophobic squeeze + + input.sheet-shadowfen.sheet-hide(type='radio' name='attr_domain' value='shadowfen') + .sheet-shadowfen.sheet-domain-container.sheet-showhide + p.sheet-theme-body A primeval marsh, cloaked in mist. + h3.sheet-theme-header Features + .sheet-theme-table + .oracle-row + span.sheet-oracle-roll 21-43 + span.sheet-oracle-result Narrow path through a fetid bog + .oracle-row + span.sheet-oracle-roll 44-56 + span.sheet-oracle-result Stagnant waterway + .oracle-row + span.sheet-oracle-roll 57-64 + span.sheet-oracle-result Flooded thicket + .oracle-row + span.sheet-oracle-roll 65-68 + span.sheet-oracle-result Island of dry land + .oracle-row + span.sheet-oracle-roll 69-72 + span.sheet-oracle-result Submerged discovery + .oracle-row + span.sheet-oracle-roll 73-76 + span.sheet-oracle-result Preserved corpses + .oracle-row + span.sheet-oracle-roll 77-80 + span.sheet-oracle-result Overgrown structure + .oracle-row + span.sheet-oracle-roll 81-84 + span.sheet-oracle-result Tall reeds + .oracle-row + span.sheet-oracle-roll 85-88 + span.sheet-oracle-result Camp or outpost + .oracle-row + span.sheet-oracle-roll 89-98 + span.sheet-oracle-result Something unusual or unexpected + .oracle-row + span.sheet-oracle-roll 99 + span.sheet-oracle-result You transition into a new theme + .oracle-row + span.sheet-oracle-roll 100 + span.sheet-oracle-result You transition into a new domain + h3.sheet-theme-header Dangers + .sheet-theme-table + .oracle-row + span.sheet-oracle-roll 31-33 + span.sheet-oracle-result Denizen hunts + .oracle-row + span.sheet-oracle-roll 34-36 + span.sheet-oracle-result Deep water blocks the path + .oracle-row + span.sheet-oracle-roll 37-39 + span.sheet-oracle-result Toxic environment + .oracle-row + span.sheet-oracle-roll 40-42 + span.sheet-oracle-result Concealing or disorienting mist + .oracle-row + span.sheet-oracle-roll 43-45 + span.sheet-oracle-result Hidden quagmire + + input.sheet-stronghold.sheet-hide(type='radio' name='attr_domain' value='stronghold') + .sheet-stronghold.sheet-domain-container.sheet-showhide + p.sheet-theme-body A fortress secured against trespassers. + h3.sheet-theme-header Features + .sheet-theme-table + .oracle-row + span.sheet-oracle-roll 21-43 + span.sheet-oracle-result Connecting passageways + .oracle-row + span.sheet-oracle-roll 44-56 + span.sheet-oracle-result Barracks or common quarters + .oracle-row + span.sheet-oracle-roll 57-64 + span.sheet-oracle-result Large hall + .oracle-row + span.sheet-oracle-roll 65-68 + span.sheet-oracle-result Workshop or library + .oracle-row + span.sheet-oracle-roll 69-72 + span.sheet-oracle-result Command center or leadership + .oracle-row + span.sheet-oracle-roll 73-76 + span.sheet-oracle-result Ladder or stairwell + .oracle-row + span.sheet-oracle-roll 77-80 + span.sheet-oracle-result Storage + .oracle-row + span.sheet-oracle-roll 81-84 + span.sheet-oracle-result Kitchen or larder + .oracle-row + span.sheet-oracle-roll 85-88 + span.sheet-oracle-result Courtyard + .oracle-row + span.sheet-oracle-roll 89-98 + span.sheet-oracle-result Something unusual or unexpected + .oracle-row + span.sheet-oracle-roll 99 + span.sheet-oracle-result You transition into a new theme + .oracle-row + span.sheet-oracle-roll 100 + span.sheet-oracle-result You transition into a new domain + h3.sheet-theme-header Dangers + .sheet-theme-table + .oracle-row + span.sheet-oracle-roll 31-33 + span.sheet-oracle-result Blocked or guarded path + .oracle-row + span.sheet-oracle-roll 34-36 + span.sheet-oracle-result Caught in the open + .oracle-row + span.sheet-oracle-roll 37-39 + span.sheet-oracle-result Chokepoint + .oracle-row + span.sheet-oracle-roll 40-42 + span.sheet-oracle-result Trap + .oracle-row + span.sheet-oracle-roll 43-45 + span.sheet-oracle-result Alarm trigger + + input.sheet-tanglewood.sheet-hide(type='radio' name='attr_domain' value='tanglewood') + .sheet-tanglewood.sheet-domain-container.sheet-showhide + p.sheet-theme-body A perilous forest of eternal shadow. + h3.sheet-theme-header Features + .sheet-theme-table + .oracle-row + span.sheet-oracle-roll 21-43 + span.sheet-oracle-result Dense thicket + .oracle-row + span.sheet-oracle-roll 44-56 + span.sheet-oracle-result Overgrown path + .oracle-row + span.sheet-oracle-roll 57-64 + span.sheet-oracle-result Waterway + .oracle-row + span.sheet-oracle-roll 65-68 + span.sheet-oracle-result Clearing + .oracle-row + span.sheet-oracle-roll 69-72 + span.sheet-oracle-result Elder tree + .oracle-row + span.sheet-oracle-roll 73-76 + span.sheet-oracle-result Brambles + .oracle-row + span.sheet-oracle-roll 77-80 + span.sheet-oracle-result Overgrown structure + .oracle-row + span.sheet-oracle-roll 81-84 + span.sheet-oracle-result Rocky outcrop + .oracle-row + span.sheet-oracle-roll 85-88 + span.sheet-oracle-result Camp or outpost + .oracle-row + span.sheet-oracle-roll 89-98 + span.sheet-oracle-result Something unusual or unexpected + .oracle-row + span.sheet-oracle-roll 99 + span.sheet-oracle-result You transition into a new theme + .oracle-row + span.sheet-oracle-roll 100 + span.sheet-oracle-result You transition into a new domain + h3.sheet-theme-header Dangers + .sheet-theme-table + .oracle-row + span.sheet-oracle-roll 31-33 + span.sheet-oracle-result Denizen hunts + .oracle-row + span.sheet-oracle-roll 34-36 + span.sheet-oracle-result Denizen lairs here + .oracle-row + span.sheet-oracle-roll 37-39 + span.sheet-oracle-result Trap or snare + .oracle-row + span.sheet-oracle-roll 40-42 + span.sheet-oracle-result Path leads you astray + .oracle-row + span.sheet-oracle-roll 43-45 + span.sheet-oracle-result Entangling plant life + + input.sheet-underkeep.sheet-hide(type='radio' name='attr_domain' value='underkeep') + .sheet-underkeep.sheet-domain-container.sheet-showhide + p.sheet-theme-body An age-old subterranean dungeon. + h3.sheet-theme-header Features + .sheet-theme-table + .oracle-row + span.sheet-oracle-roll 21-43 + span.sheet-oracle-result Carved passages + .oracle-row + span.sheet-oracle-roll 44-56 + span.sheet-oracle-result Hall or chamber + .oracle-row + span.sheet-oracle-roll 57-64 + span.sheet-oracle-result Stairs into the depths + .oracle-row + span.sheet-oracle-roll 65-68 + span.sheet-oracle-result Grand doorway or entrance + .oracle-row + span.sheet-oracle-roll 69-72 + span.sheet-oracle-result Tomb or catacombs + .oracle-row + span.sheet-oracle-roll 73-76 + span.sheet-oracle-result Rough-hewn cave + .oracle-row + span.sheet-oracle-roll 77-80 + span.sheet-oracle-result Foundry or workshop + .oracle-row + span.sheet-oracle-roll 81-84 + span.sheet-oracle-result Shrine or temple + .oracle-row + span.sheet-oracle-roll 85-88 + span.sheet-oracle-result Imposing architecture or artistry + .oracle-row + span.sheet-oracle-roll 89-98 + span.sheet-oracle-result Something unusual or unexpected + .oracle-row + span.sheet-oracle-roll 99 + span.sheet-oracle-result You transition into a new theme + .oracle-row + span.sheet-oracle-roll 100 + span.sheet-oracle-result You transition into a new domain + h3.sheet-theme-header Dangers + .sheet-theme-table + .oracle-row + span.sheet-oracle-roll 31-33 + span.sheet-oracle-result Ancient mechanism or trap + .oracle-row + span.sheet-oracle-roll 34-36 + span.sheet-oracle-result Crumbling architecture + .oracle-row + span.sheet-oracle-roll 37-39 + span.sheet-oracle-result Blocked or broken passage + .oracle-row + span.sheet-oracle-roll 40-42 + span.sheet-oracle-result Artifact with a hidden danger + .oracle-row + span.sheet-oracle-roll 43-45 + span.sheet-oracle-result Denizen lurks in darkness diff --git a/Ironcrunch/src/components/sites/cards/themes.pug b/Ironcrunch/src/components/sites/cards/themes.pug new file mode 100644 index 0000000000..6370bc4eac --- /dev/null +++ b/Ironcrunch/src/components/sites/cards/themes.pug @@ -0,0 +1,482 @@ +- var themes = [ 'ancient', 'corrupted', 'fortified', 'hallowed', 'haunted', 'infested', 'ravaged', 'wild' ] + +.sheet-theme-cards + .sheet-site-card-container + .sheet-theme-column + select(class='sheet-motivation-dropdown' name='attr_theme_select') + option(value='' disabled selected) SELECT + each theme in themes + option(value=theme) #{theme.toUpperCase()} + + input(type='radio' class='sheet-hide' name='attr_theme' value='' checked) + input(type='radio' class='sheet-ancient sheet-hide' name='attr_theme' value='ancient') + .sheet-ancient.sheet-theme-container.sheet-showhide + p.sheet-theme-body This place holds the secrets of a bygone age. + h3.sheet-theme-header Features + .sheet-theme-table + .oracle-row + span.sheet-oracle-roll 1-4 + span.sheet-oracle-result Evidence of lost knowledge + .oracle-row + span.sheet-oracle-roll 5-8 + span.sheet-oracle-result Inscrutable relics + .oracle-row + span.sheet-oracle-roll 9-12 + span.sheet-oracle-result Ancient artistry or craft + .oracle-row + span.sheet-oracle-roll 13-16 + span.sheet-oracle-result Preserved corpses or fossils + .oracle-row + span.sheet-oracle-roll 17-20 + span.sheet-oracle-result Visions of this place in another time + h3.sheet-theme-header Dangers + .sheet-theme-table + .oracle-row + span.sheet-oracle-roll 1-5 + span.sheet-oracle-result Ancient trap + .oracle-row + span.sheet-oracle-roll 6-10 + span.sheet-oracle-result Hazardous architecture or terrain + .oracle-row + span.sheet-oracle-roll 11-12 + span.sheet-oracle-result Blocked or broken path + .oracle-row + span.sheet-oracle-roll 13-14 + span.sheet-oracle-result Denizen protects an ancient secret + .oracle-row + span.sheet-oracle-roll 15-16 + span.sheet-oracle-result Denizen reveres an ancient power + .oracle-row + span.sheet-oracle-roll 17-18 + span.sheet-oracle-result Living relics of a lost age + .oracle-row + span.sheet-oracle-roll 19-20 + span.sheet-oracle-result Ancient evil resurgent + .oracle-row + span.sheet-oracle-roll 21-22 + span.sheet-oracle-result Dire warnings of a long-buried danger + .oracle-row + span.sheet-oracle-roll 23-24 + span.sheet-oracle-result Ancient disease or contamination + .oracle-row + span.sheet-oracle-roll 25-26 + span.sheet-oracle-result Artifact of terrible meaning or power + .oracle-row + span.sheet-oracle-roll 27-28 + span.sheet-oracle-result Disturbing evidence of ancient wrongs + .oracle-row + span.sheet-oracle-roll 29-30 + span.sheet-oracle-result Others seek power or knowledge + + input(type='radio' class='sheet-corrupted sheet-hide' name='attr_theme' value='corrupted') + .sheet-corrupted.sheet-theme-container.sheet-showhide + p.sheet-theme-body This place is tainted by dark magic. + h3.sheet-theme-header Features + .sheet-theme-table + .oracle-row + span.sheet-oracle-roll 1-4 + span.sheet-oracle-result Mystic focus or conduit + .oracle-row + span.sheet-oracle-roll 5-8 + span.sheet-oracle-result Strange environmental disturbances + .oracle-row + span.sheet-oracle-roll 9-12 + span.sheet-oracle-result Mystic runes or markings + .oracle-row + span.sheet-oracle-roll 13-16 + span.sheet-oracle-result Blight or decay + .oracle-row + span.sheet-oracle-roll 17-20 + span.sheet-oracle-result Evidence of a foul ritual + h3.sheet-theme-header Dangers + .sheet-theme-table + .oracle-row + span.sheet-oracle-roll 1-5 + span.sheet-oracle-result Denizen spawned from dark magic + .oracle-row + span.sheet-oracle-roll 6-10 + span.sheet-oracle-result Denizen controls dark magic + .oracle-row + span.sheet-oracle-roll 11-12 + span.sheet-oracle-result Denizen corrupted by dark magic + .oracle-row + span.sheet-oracle-roll 13-14 + span.sheet-oracle-result Corruption marks you + .oracle-row + span.sheet-oracle-roll 15-16 + span.sheet-oracle-result Innocents held in thrall + .oracle-row + span.sheet-oracle-roll 17-18 + span.sheet-oracle-result Revelations of a terrible truth + .oracle-row + span.sheet-oracle-roll 19-20 + span.sheet-oracle-result Mystic trap or trigger + .oracle-row + span.sheet-oracle-roll 21-22 + span.sheet-oracle-result Mystic barrier or ward + .oracle-row + span.sheet-oracle-roll 23-24 + span.sheet-oracle-result Illusions lead you astray + .oracle-row + span.sheet-oracle-roll 25-26 + span.sheet-oracle-result Dark ritual in progress + .oracle-row + span.sheet-oracle-roll 27-28 + span.sheet-oracle-result Lingering effects of a dark ritual + .oracle-row + span.sheet-oracle-roll 29-30 + span.sheet-oracle-result Dread harbingers of a greater magic + + input(type='radio' class='sheet-fortified sheet-hide' name='attr_theme' value='fortified') + .sheet-fortified.sheet-theme-container.sheet-showhide + p.sheet-theme-body Foes defend this place against intruders. + h3.sheet-theme-header Features + .sheet-theme-table + .oracle-row + span.sheet-oracle-roll 1-4 + span.sheet-oracle-result Camp or quarters + .oracle-row + span.sheet-oracle-roll 5-8 + span.sheet-oracle-result Guarded location + .oracle-row + span.sheet-oracle-roll 9-12 + span.sheet-oracle-result Storage or repository + .oracle-row + span.sheet-oracle-roll 13-16 + span.sheet-oracle-result Work or training area + .oracle-row + span.sheet-oracle-roll 17-20 + span.sheet-oracle-result Command center or leadership + h3.sheet-theme-header Dangers + .sheet-theme-table + .oracle-row + span.sheet-oracle-roll 1-5 + span.sheet-oracle-result Denizen patrols the area + .oracle-row + span.sheet-oracle-roll 6-10 + span.sheet-oracle-result Denizen on guard + .oracle-row + span.sheet-oracle-roll 11-12 + span.sheet-oracle-result Denizen ready to sound the alarm + .oracle-row + span.sheet-oracle-roll 13-14 + span.sheet-oracle-result Denizen sets an ambush + .oracle-row + span.sheet-oracle-roll 15-16 + span.sheet-oracle-result Denizen lures you into a trap + .oracle-row + span.sheet-oracle-roll 17-18 + span.sheet-oracle-result Denizens converge on this area + .oracle-row + span.sheet-oracle-roll 19-20 + span.sheet-oracle-result Pets or underlings + .oracle-row + span.sheet-oracle-roll 21-22 + span.sheet-oracle-result Unexpected alliance revealed + .oracle-row + span.sheet-oracle-roll 23-24 + span.sheet-oracle-result Nefarious plans revealed + .oracle-row + span.sheet-oracle-roll 25-26 + span.sheet-oracle-result Unexpected leader revealed + .oracle-row + span.sheet-oracle-roll 27-28 + span.sheet-oracle-result Trap + .oracle-row + span.sheet-oracle-roll 29-30 + span.sheet-oracle-result Alarm trigger + + input(type='radio' class='sheet-hallowed sheet-hide' name='attr_theme' value='hallowed') + .sheet-hallowed.sheet-theme-container.sheet-showhide + p.sheet-theme-body The faithful worship here. + h3.sheet-theme-header Features + .sheet-theme-table + .oracle-row + span.sheet-oracle-roll 1-4 + span.sheet-oracle-result Temple or altar + .oracle-row + span.sheet-oracle-roll 5-8 + span.sheet-oracle-result Offerings or atonements + .oracle-row + span.sheet-oracle-roll 9-12 + span.sheet-oracle-result Religious relic or idol + .oracle-row + span.sheet-oracle-roll 13-16 + span.sheet-oracle-result Consecrated ground + .oracle-row + span.sheet-oracle-roll 17-20 + span.sheet-oracle-result Dwellings or gathering place + h3.sheet-theme-header Dangers + .sheet-theme-table + .oracle-row + span.sheet-oracle-roll 1-5 + span.sheet-oracle-result Denizen defends their sanctum + .oracle-row + span.sheet-oracle-roll 6-10 + span.sheet-oracle-result Denizen enacts the will of their god + .oracle-row + span.sheet-oracle-roll 11-12 + span.sheet-oracle-result Denizen seeks martyrdom + .oracle-row + span.sheet-oracle-roll 13-14 + span.sheet-oracle-result Secret of the faith is revealed + .oracle-row + span.sheet-oracle-roll 15-16 + span.sheet-oracle-result Greater purpose is revealed + .oracle-row + span.sheet-oracle-roll 17-18 + span.sheet-oracle-result Unexpected disciples are revealed + .oracle-row + span.sheet-oracle-roll 19-20 + span.sheet-oracle-result Divine manifestations + .oracle-row + span.sheet-oracle-roll 21-22 + span.sheet-oracle-result Aspect of the faith beguiles you + .oracle-row + span.sheet-oracle-roll 23-24 + span.sheet-oracle-result Unexpected leader is revealed + .oracle-row + span.sheet-oracle-roll 25-26 + span.sheet-oracle-result Embodiment of a god or myth + .oracle-row + span.sheet-oracle-roll 27-28 + span.sheet-oracle-result Protective ward or barrier + .oracle-row + span.sheet-oracle-roll 29-30 + span.sheet-oracle-result Prophecies reveal a dark fate + + input(type='radio' class='sheet-haunted sheet-hide' name='attr_theme' value='haunted') + .sheet-haunted.sheet-theme-container.sheet-showhide + p.sheet-theme-body Restless spirits are bound to this place. + h3.sheet-theme-header Features + .sheet-theme-table + .oracle-row + span.sheet-oracle-roll 1-4 + span.sheet-oracle-result Tomb or burial site + .oracle-row + span.sheet-oracle-roll 5-8 + span.sheet-oracle-result Blood was spilled here + .oracle-row + span.sheet-oracle-roll 9-12 + span.sheet-oracle-result Unnatural mists or darkness + .oracle-row + span.sheet-oracle-roll 13-16 + span.sheet-oracle-result Messages from beyond the grave + .oracle-row + span.sheet-oracle-roll 17-20 + span.sheet-oracle-result Apparitions of a person or event + h3.sheet-theme-header Dangers + .sheet-theme-table + .oracle-row + span.sheet-oracle-roll 1-5 + span.sheet-oracle-result Denizen haunts this area + .oracle-row + span.sheet-oracle-roll 6-10 + span.sheet-oracle-result Unsettling sounds or foreboding signs + .oracle-row + span.sheet-oracle-roll 11-12 + span.sheet-oracle-result Denizen attacks without warning + .oracle-row + span.sheet-oracle-roll 13-14 + span.sheet-oracle-result Denizen makes a costly demand + .oracle-row + span.sheet-oracle-roll 15-16 + span.sheet-oracle-result Denizen seizes your body or mind + .oracle-row + span.sheet-oracle-roll 17-18 + span.sheet-oracle-result Denizen taunts or lures you + .oracle-row + span.sheet-oracle-roll 19-20 + span.sheet-oracle-result A disturbing truth is revealed + .oracle-row + span.sheet-oracle-roll 21-22 + span.sheet-oracle-result Frightening visions + .oracle-row + span.sheet-oracle-roll 23-24 + span.sheet-oracle-result The environment is used against you + .oracle-row + span.sheet-oracle-roll 25-26 + span.sheet-oracle-result Trickery leads you astray + .oracle-row + span.sheet-oracle-roll 27-28 + span.sheet-oracle-result True nature of this place is revealed + .oracle-row + span.sheet-oracle-roll 29-30 + span.sheet-oracle-result Sudden, shocking manifestation + + input(type='radio' class='sheet-infested sheet-hide' name='attr_theme' value='infested') + .sheet-infested.sheet-theme-container.sheet-showhide + p.sheet-theme-body Foul creatures dwell here. + h3.sheet-theme-header Features + .sheet-theme-table + .oracle-row + span.sheet-oracle-roll 1-4 + span.sheet-oracle-result Inhabited nest + .oracle-row + span.sheet-oracle-roll 5-8 + span.sheet-oracle-result Abandoned nest + .oracle-row + span.sheet-oracle-roll 9-12 + span.sheet-oracle-result Ravaged terrain or architecture + .oracle-row + span.sheet-oracle-roll 13-16 + span.sheet-oracle-result Remains or carrion + .oracle-row + span.sheet-oracle-roll 17-20 + span.sheet-oracle-result Hoarded food + h3.sheet-theme-header Dangers + .sheet-theme-table + .oracle-row + span.sheet-oracle-roll 1-5 + span.sheet-oracle-result Denizens swarm and attack + .oracle-row + span.sheet-oracle-roll 6-10 + span.sheet-oracle-result Toxic or sickening environment + .oracle-row + span.sheet-oracle-roll 11-12 + span.sheet-oracle-result Denizen stalks you + .oracle-row + span.sheet-oracle-roll 13-14 + span.sheet-oracle-result Denizen takes or destroys something + .oracle-row + span.sheet-oracle-roll 15-16 + span.sheet-oracle-result Denizen reveals surprising cleverness + .oracle-row + span.sheet-oracle-roll 17-18 + span.sheet-oracle-result Denizen guided by a greater threat + .oracle-row + span.sheet-oracle-roll 19-20 + span.sheet-oracle-result Denizen blocks the path + .oracle-row + span.sheet-oracle-roll 21-22 + span.sheet-oracle-result Denizen funnels you down a new path + .oracle-row + span.sheet-oracle-roll 23-24 + span.sheet-oracle-result Denizen undermines the path + .oracle-row + span.sheet-oracle-roll 25-26 + span.sheet-oracle-result Denizen lays in wait + .oracle-row + span.sheet-oracle-roll 27-28 + span.sheet-oracle-result Trap or snare + .oracle-row + span.sheet-oracle-roll 29-30 + span.sheet-oracle-result Victim’s horrible fate is revealed + + input(type='radio' class='sheet-ravaged sheet-hide' name='attr_theme' value='ravaged') + .sheet-ravaged.sheet-theme-container.sheet-showhide + p.sheet-theme-body Time, disaster, or strife have taken their toll. + h3.sheet-theme-header Features + .sheet-theme-table + .oracle-row + span.sheet-oracle-roll 1-4 + span.sheet-oracle-result Path of destruction + .oracle-row + span.sheet-oracle-roll 5-8 + span.sheet-oracle-result Abandoned or ruined dwelling + .oracle-row + span.sheet-oracle-roll 9-12 + span.sheet-oracle-result Untouched or preserved area + .oracle-row + span.sheet-oracle-roll 13-16 + span.sheet-oracle-result Traces of what was lost + .oracle-row + span.sheet-oracle-roll 17-20 + span.sheet-oracle-result Ill-fated victims + h3.sheet-theme-header Dangers + .sheet-theme-table + .oracle-row + span.sheet-oracle-roll 1-5 + span.sheet-oracle-result Precarious architecture or terrain + .oracle-row + span.sheet-oracle-roll 6-10 + span.sheet-oracle-result Imminent collapse or destruction + .oracle-row + span.sheet-oracle-roll 11-12 + span.sheet-oracle-result Path undermined + .oracle-row + span.sheet-oracle-roll 13-14 + span.sheet-oracle-result Blocked or broken path + .oracle-row + span.sheet-oracle-roll 15-16 + span.sheet-oracle-result Vestiges of a destructive force + .oracle-row + span.sheet-oracle-roll 17-18 + span.sheet-oracle-result Unexpected environmental threat + .oracle-row + span.sheet-oracle-roll 19-20 + span.sheet-oracle-result Echoes of a troubling past + .oracle-row + span.sheet-oracle-roll 21-22 + span.sheet-oracle-result Signs of a horrible fate + .oracle-row + span.sheet-oracle-roll 23-24 + span.sheet-oracle-result Denizen seeks retribution + .oracle-row + span.sheet-oracle-roll 25-26 + span.sheet-oracle-result Denizen leverages the environment + .oracle-row + span.sheet-oracle-roll 27-28 + span.sheet-oracle-result Denizen restores what was lost + .oracle-row + span.sheet-oracle-roll 29-30 + span.sheet-oracle-result Ravages return anew + + input(type='radio' class='sheet-wild sheet-hide' name='attr_theme' value='wild') + .sheet-wild.sheet-theme-container.sheet-showhide + p.sheet-theme-body Nature prevails in this place. + h3.sheet-theme-header Features + .sheet-theme-table + .oracle-row + span.sheet-oracle-roll 1-4 + span.sheet-oracle-result Denizen’s lair + .oracle-row + span.sheet-oracle-roll 5-8 + span.sheet-oracle-result Territorial markings + .oracle-row + span.sheet-oracle-roll 9-12 + span.sheet-oracle-result Impressive flora or fauna + .oracle-row + span.sheet-oracle-roll 13-16 + span.sheet-oracle-result Hunting ground or watering hole + .oracle-row + span.sheet-oracle-roll 17-20 + span.sheet-oracle-result Remains or carrion + h3.sheet-theme-header Dangers + .sheet-theme-table + .oracle-row + span.sheet-oracle-roll 1-5 + span.sheet-oracle-result Denizen hunts + .oracle-row + span.sheet-oracle-roll 6-10 + span.sheet-oracle-result Denizen strikes without warning + .oracle-row + span.sheet-oracle-roll 11-12 + span.sheet-oracle-result Denizen leverages the environment + .oracle-row + span.sheet-oracle-roll 13-14 + span.sheet-oracle-result Denizen wields unexpected abilities + .oracle-row + span.sheet-oracle-roll 15-16 + span.sheet-oracle-result Denizen guided by a greater threat + .oracle-row + span.sheet-oracle-roll 17-18 + span.sheet-oracle-result Denizen protects something + .oracle-row + span.sheet-oracle-roll 19-20 + span.sheet-oracle-result Hazardous terrain + .oracle-row + span.sheet-oracle-roll 21-22 + span.sheet-oracle-result Weather or environmental threat + .oracle-row + span.sheet-oracle-roll 23-24 + span.sheet-oracle-result Benign aspect becomes a threat + .oracle-row + span.sheet-oracle-roll 25-26 + span.sheet-oracle-result Overzealous hunter + .oracle-row + span.sheet-oracle-roll 27-28 + span.sheet-oracle-result Disturbing evidence of a victim’s fate + .oracle-row + span.sheet-oracle-roll 29-30 + span.sheet-oracle-result Ill-fated victim in danger \ No newline at end of file diff --git a/Ironcrunch/src/components/sites/sites.pug b/Ironcrunch/src/components/sites/sites.pug new file mode 100644 index 0000000000..f2506c9488 --- /dev/null +++ b/Ironcrunch/src/components/sites/sites.pug @@ -0,0 +1,180 @@ +include ../difficulties/array + +.sheet-sites-container + fieldset.repeating_sites + .sheet-site-container + .sheet-site-row + .sheet-site-column.sheet-site-background + p.sheet-site-title Site Name: + input(type="text" class="sheet-site-name" name="attr_site-name" placeholder="Site Name") + .sheet-site-column.sheet-site-background + p.sheet-site-title Objective: + input(type="text" class="sheet-site-name" name="attr_site-objective" placeholder="Objective") + .sheet-site-row.sheet-site-background + .sheet-site-column + p.sheet-site-title Theme: + input(type="text" class="sheet-site-name" name="attr_site-theme" placeholder="Theme") + .sheet-site-column + p.sheet-site-title Domain: + input(type="text" class="sheet-site-name" name="attr_site-domain" placeholder="Domain") + .sheet-site-details-bar + label.sheet-site-details.sheet-btn + input(type='checkbox' class='sheet-hide sheet-site-details-button' name='attr_site_details_button') + .sheet-site-details-content DETAILS + label.sheet-site-details.sheet-btn + input(type='checkbox' class='sheet-hide sheet-site-details-button' name='attr_site_theme_domain_button') + .sheet-site-details-content THEMES & DOMAINS + + input(type="checkbox" class="sheet-show-site-info sheet-hide" name="attr_site_details") + .sheet-show-site-info.sheet-showhide + .sheet-full-width + .sheet-site-progress-header + each difficulty, index in difficulties + label.sheet-difficulty + if difficulty.checked + input(type="radio" class="sheet-hide" name="attr_rank" value=index checked) + else + input(type="radio" class="sheet-hide" name="attr_rank" value=index) + h5=difficulty.text + .sheet-progress + div + select(name="attr_progress_one" class="sheet-progress-input") + option(value="0" selected) + option(value="1") - + option(value="2") + + option(value="3") * + option(value="4") # + select(name="attr_progress_two" class="sheet-progress-input") + option(value="0" selected) + option(value="1") - + option(value="2") + + option(value="3") * + option(value="4") # + select(name="attr_progress_three" class="sheet-progress-input") + option(value="0" selected) + option(value="1") - + option(value="2") + + option(value="3") * + option(value="4") # + select(name="attr_progress_four" class="sheet-progress-input") + option(value="0" selected) + option(value="1") - + option(value="2") + + option(value="3") * + option(value="4") # + select(name="attr_progress_five" class="sheet-progress-input") + option(value="0" selected) + option(value="1") - + option(value="2") + + option(value="3") * + option(value="4") # + select(name="attr_progress_six" class="sheet-progress-input") + option(value="0" selected) + option(value="1") - + option(value="2") + + option(value="3") * + option(value="4") # + select(name="attr_progress_seven" class="sheet-progress-input") + option(value="0" selected) + option(value="1") - + option(value="2") + + option(value="3") * + option(value="4") # + select(name="attr_progress_eight" class="sheet-progress-input") + option(value="0" selected) + option(value="1") - + option(value="2") + + option(value="3") * + option(value="4") # + select(name="attr_progress_nine" class="sheet-progress-input") + option(value="0" selected) + option(value="1") - + option(value="2") + + option(value="3") * + option(value="4") # + select(name="attr_progress_ten" class="sheet-progress-input") + option(value="0" selected) + option(value="1") - + option(value="2") + + option(value="3") * + option(value="4") # + button(type="roll" title="Conclude your progress" name="rollprogress1" value="&{template:ironcrunch_progress} {{header=@{character_name} Conclude Your Progress}} {{progressname=@{site-name}}} {{progress=[[@{progress-filled}]]}} {{challenge1=[[d10]]}} {{challenge2=[[d10]]}}") + input(type="text" class="sheet-hide" name="attr_progress-filled" value="floor((@{progress_one}+@{progress_two}+@{progress_three}+@{progress_four}+@{progress_five}+@{progress_six}+@{progress_seven}+@{progress_eight}+@{progress_nine}+@{progress_ten})/4)" disabled="true") + + .sheet-full-width + h3.sheet-site-denizens-divide  DENIZENS  + + .sheet-denizen-row + .sheet-denizen-column + p.sheet-denizen-title Very Common 01-27 + input(type="text" class="sheet-denizen-input sheet-denizen-background" name="attr_vCommonDen1" placeholder="Denizen") + .sheet-denizen-column + p.sheet-denizen-title Common 28-41 + input(type="text" class="sheet-denizen-input sheet-denizen-background" name="attr_CommonDen1" placeholder="Denizen") + .sheet-denizen-column + p.sheet-denizen-title Common 42-55 + input(type="text" class="sheet-denizen-input sheet-denizen-background" name="attr_CommonDen2" placeholder="Denizen") + .sheet-denizen-column + p.sheet-denizen-title Common 56-69 + input(type="text" class="sheet-denizen-input sheet-denizen-background" name="attr_CommonDen3" placeholder="Denizen") + + .sheet-denizen-row + .sheet-denizen-column + p.sheet-denizen-title Uncommon 70-75 + input(type="text" class="sheet-denizen-input sheet-denizen-background" name="attr_uncommonDen1" placeholder="Denizen") + .sheet-denizen-column + p.sheet-denizen-title Uncommon 76-81 + input(type="text" class="sheet-denizen-input sheet-denizen-background" name="attr_uncommonDen2" placeholder="Denizen") + .sheet-denizen-column + p.sheet-denizen-title Uncommon 82-87 + input(type="text" class="sheet-denizen-input sheet-denizen-background" name="attr_uncommonDen3" placeholder="Denizen") + .sheet-denizen-column + p.sheet-denizen-title Uncommon 88-93 + input(type="text" class="sheet-denizen-input sheet-denizen-background" name="attr_uncommonDen4" placeholder="Denizen") + + .sheet-denizen-row + .sheet-denizen-column + p.sheet-denizen-title Rare 94-95 + input(type="text" class="sheet-denizen-input sheet-denizen-background" name="attr_rareDen1" placeholder="Denizen") + .sheet-denizen-column + p.sheet-denizen-title Rare 96-97 + input(type="text" class="sheet-denizen-input sheet-denizen-background" name="attr_rareDen2" placeholder="Denizen") + .sheet-denizen-column + p.sheet-denizen-title Rare 98-99 + input(type="text" class="sheet-denizen-input sheet-denizen-background" name="attr_rareDen3" placeholder="Denizen") + .sheet-denizen-column + p.sheet-denizen-title Unforeseen 100 + input(type="text" class="sheet-denizen-input sheet-denizen-background" name="attr_unforeseenDen1" placeholder="Denizen") + + .sheet-denizen-row + .sheet-denizen-option-column + p.sheet-denizen-option When the outcome of a move prompts an encounter with a denizen, you may: + .sheet-denizen-operand-column + p.sheet-denizen-operand > + .sheet-denizen-option-column + p.sheet-denizen-option Choose or introduce a denizen based on the situation and what you know of this place. + .sheet-denizen-operand-column + p.sheet-denizen-operand or + .sheet-denizen-option-column + p.sheet-denizen-option Roll on the matrix to generate a random encounter. If the field is blank, add a new denizen. + .sheet-denizen-operand-column + p.sheet-denizen-operand or + .sheet-denizen-option-column + p.sheet-denizen-option Identify a denizen as ‘likely’ to appear, and Ask the Oracle. If the answer is “no,” roll on the matrix. + .sheet-denizen-operand-column + p.sheet-denizen-operand or + .sheet-denizen-option-column + p.sheet-denizen-option Pick two denizens, rate one as ‘likely’, and Ask the Oracle to determine which you encounter. + + .sheet-full-width + h3.sheet-site-divide-notes  NOTES  + textarea(class="sheet-site-notes" name="attr_site-notes") + + input(type="checkbox" class="sheet-show-theme-domains sheet-hide" name="attr_site_theme_domain") + .sheet-show-theme-domains.sheet-showhide + .sheet-card-column + h3 Theme + include ./cards/themes + .sheet-card-column + h3 Domain + include ./cards/domains diff --git a/Ironcrunch/src/components/sites/sites.styl b/Ironcrunch/src/components/sites/sites.styl new file mode 100644 index 0000000000..a3f8c9274b --- /dev/null +++ b/Ironcrunch/src/components/sites/sites.styl @@ -0,0 +1,269 @@ +.sheet-site-container { + border: 2px solid #4C4D4F; + border-radius: 0em; + margin-bottom: 1em; + padding: 1em; +} +.sheet-site-notes { + width: 97.5% !important; + height: 156px !important; + resize: none; + margin-left: 3px; + border-radius: 0; +} +.sheet-site-notes:focus { + outline: 3px solid #fd0; + outline-offset: 0; + box-shadow: inset 0 0 0 2px; +} +.sheet-site-name, +.sheet-site-location, +.sheet-site-descriptors { + border: none; + border-radius: 0em; + background: transparent; + padding: 0; + padding-left: 0.5em; + std-font() + font-weight: bold; + color: #4c4d4f; +} +.sheet-site-descriptors { + width: 43%; +} +.sheet-site-location { + width: 40%; +} +p.sheet-site-title { + text-align: left; + std-font() + font-weight: bold; + font-size: 16px; + margin: 0 0 0px; + padding: 0.1em 0.2em 0.08em 0.2em; + text-transform: uppercase; + vertical-align: bottom; + display: inline; + color: #4c4d4f; + border-radius: 0; +} +.sheet-site-name::placeholder, +.sheet-site-location::placeholder, +.sheet-site-descriptors::placeholder { + color: #8a8a8a; +} +.sheet-site-row { + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + margin-bottom: 1em; +} +.sheet-site-column { + flex-direction: row; + width: 48%; + padding: 0.5em 0em 0.5em 0.7em; +} +.sheet-denizen-row { + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + margin-bottom: 0.5em; +} +.sheet-denizen-column { + flex-direction: column; + justify-content: center; + align-items: center; + width: 22%; + padding: 0.5em 0em 0.5em 0em; +} +.sheet-denizen-option-column { + flex-direction: column; + justify-content: center; + align-items: center; + width: 22%; + padding: 0.5em 0.5em 0.5em 0.5em; +} +.sheet-denizen-option { + font-size: 12px; +} +.sheet-site-progress-header { + display: flex; + justify-content: space-around; + align-items: center; + margin-bottom: 10px; +} +.sheet-denizen-operand-column { + flex-direction: column; + justify-content: center; + align-items: center; + width: 2%; + padding: 0.5em 0.5em 0.5em 0.5em; +} +p.sheet-denizen-title { + text-align: left; + std-font() + font-weight: bold; + font-size: 12px; + margin: 0 0 0px; + text-transform: uppercase; + vertical-align: bottom; + display: inline; + color: #4c4d4f; +} +.sheet-denizen-input { + border: none; + border-radius: 0em; + background: transparent; + padding: 0.5em; + width: 96%; + margin-left: 3px; +} +.sheet-denizen-input:focus { + outline: 3px solid #fd0; + outline-offset: 0; + box-shadow: inset 0 0 0 2px; +} +.sheet-denizen-operand { + font-weight: bold; +} +.sheet-denizen-background, +.sheet-site-background { + background: #dedddc; +} +h3.sheet-site-divide::after, +h3.sheet-site-divide::before { + display: inline-block; + content: ""; + height: 5px; + border-top: 2px solid #4c4d4f; + top: 0; + width: 331px; +} +h3.sheet-site-denizens-divide::after, +h3.sheet-site-denizens-divide::before { + display: inline-block; + content: ""; + height: 5px; + border-top: 2px solid #4c4d4f; + top: 0; + width: 336px; +} +h3.sheet-site-divide-notes::after, +h3.sheet-site-divide-notes::before { + display: inline-block; + content: ""; + height: 5px; + border-top: 2px solid #4c4d4f; + top: 0; + width: 352px; +} +.sheet-sites-container { + margin-top: 1em; +} +label.sheet-site-details { + display: flex; + justify-content: center; + width: 48.7%; + margin: 0; + padding: 0; + height: auto; + border-radius: 0em; +} +.sheet-site-details-content { + width: 100%; + padding: 0.2em; + text-align: center; + border-radius: 0em; +} +.sheet-site-details-button:checked ~ .sheet-site-details-content { + background: #4c4d4f; + color: #fff; + transition: 0.5s ease; +} +.sheet-show-theme-domains, +.sheet-show-site-info { + margin-top: 0.5em; + transition: all 0.7s !important; +} +.sheet-show-theme-domains { + justify-content: space-between; +} +input[type="checkbox"].sheet-show-site-info:checked ~ div.sheet-show-site-info, +input[type="checkbox"].sheet-show-theme-domains:checked ~ div.sheet-show-theme-domains { + flex-flow: column; + visibility: visible; + transition: all 0.7s !important; + height: 640px; + opacity: 1; +} +div.sheet-show-theme-domains { + display: flex; + flex-flow: row !important; +} +h3.sheet-site-divide-notes { + margin-bottom: 0.5em; +} +input.sheet-site-name { + width: 70%; + padding: 2px; +} +input.sheet-site-name:focus { + outline: 3px solid #fd0; + outline-offset: 0; + box-shadow: inset 0 0 0 2px; +} +.sheet-site-card-container { + display: flex; + std-font('Crimson Text') + font-size: 1em; + padding: 1em; +} +.sheet-domain-cards, +.sheet-theme-cards { + border: 2px solid #4c4d4f; + border-radius: 1em; +} +.sheet-domain-header, +.sheet-theme-header { + margin-top: 0.7em; +} +.sheet-domain-column, +.sheet-theme-column { + width: 100%; +} +.sheet-card-column { + width: 48.7%; +} +.sheet-site-details-bar { + display: flex; + justify-content: space-between; +} +input[type='radio'].sheet-theme-cards:checked ~ div.sheet-theme-cards, +input[type='radio'].sheet-domain-cards:checked ~ div.sheet-domain-cards, +input[type='radio'].sheet-custom-cards:checked ~ div.sheet-custom-cards { + show-hide(0.7s) +} +input[type='radio'].sheet-ancient:checked ~ div.sheet-ancient, +input[type='radio'].sheet-corrupted:checked ~ div.sheet-corrupted, +input[type='radio'].sheet-fortified:checked ~ div.sheet-fortified, +input[type='radio'].sheet-hallowed:checked ~ div.sheet-hallowed, +input[type='radio'].sheet-haunted:checked ~ div.sheet-haunted, +input[type='radio'].sheet-infested:checked ~ div.sheet-infested, +input[type='radio'].sheet-ravaged:checked ~ div.sheet-ravaged, +input[type='radio'].sheet-wild:checked ~ div.sheet-wild, +input[type='radio'].sheet-barrow:checked ~ div.sheet-barrow, +input[type='radio'].sheet-cavern:checked ~ div.sheet-cavern, +input[type='radio'].sheet-frozen-cavern:checked ~ div.sheet-frozen-cavern, +input[type='radio'].sheet-ice-reach:checked ~ div.sheet-ice-reach, +input[type='radio'].sheet-mine:checked ~ div.sheet-mine, +input[type='radio'].sheet-pass:checked ~ div.sheet-pass, +input[type='radio'].sheet-ruin:checked ~ div.sheet-ruin, +input[type='radio'].sheet-sea-cave:checked ~ div.sheet-sea-cave, +input[type='radio'].sheet-shadowfen:checked ~ div.sheet-shadowfen, +input[type='radio'].sheet-stronghold:checked ~ div.sheet-stronghold, +input[type='radio'].sheet-tanglewood:checked ~ div.sheet-tanglewood, +input[type='radio'].sheet-underkeep:checked ~ div.sheet-underkeep { + show-hide(0.7s) +} \ No newline at end of file diff --git a/Ironcrunch/src/components/stats/character.pug b/Ironcrunch/src/components/stats/character.pug new file mode 100644 index 0000000000..817ee65777 --- /dev/null +++ b/Ironcrunch/src/components/stats/character.pug @@ -0,0 +1,16 @@ +include ./mixins/stats + +div.sheet-stats + input(type='radio' class='sheet-hide sheet-stat-edit' name='attr_stat_mode' value='1' checked) + div.sheet-stat-edit.sheet-showhide + div.sheet-stat-toggle.sheet-set-toggle + label.sheet-stat-toggle.sheet-set-toggle SET + input(type='radio' class='sheet-hide' name='attr_stat_mode_button' value='2') + +statBuilder() + + input(type='radio' class='sheet-hide sheet-stat-set' name='attr_stat_mode' value='2') + div.sheet-stat-set.sheet-showhide + +statStatic() + div.sheet-stat-toggle.sheet-edit-toggle + label.sheet-stat-toggle.sheet-edit-toggle EDIT + input(type='radio' class='sheet-hide' name='attr_stat_mode_button' value='1') \ No newline at end of file diff --git a/Ironcrunch/src/components/stats/companion.pug b/Ironcrunch/src/components/stats/companion.pug new file mode 100644 index 0000000000..9c63763c94 --- /dev/null +++ b/Ironcrunch/src/components/stats/companion.pug @@ -0,0 +1,20 @@ +include ./mixins/stats + +div.sheet-stats + +statBuilder() + div.sheet-stat + h3.sheet-stats-title Protection + input( + type='text' + class='sheet-stats-input' + name=`attr_protection` + value='0' + ) + div.sheet-stat + h3.sheet-stats-title Face Danger / Clash Add + input( + type='text' + class='sheet-stats-input' + name=`attr_protection` + value='0' + ) \ No newline at end of file diff --git a/Ironcrunch/src/components/stats/mixins/stats.pug b/Ironcrunch/src/components/stats/mixins/stats.pug new file mode 100644 index 0000000000..90b47c60c1 --- /dev/null +++ b/Ironcrunch/src/components/stats/mixins/stats.pug @@ -0,0 +1,29 @@ +- var stats = [{ lower: 'edge', upper: 'EDGE', capital: 'Edge', placeholder: 'grace' }, { lower: 'heart', upper: 'HEART', capital: 'Heart', placeholder: 'soul' }, { lower: 'iron', upper: 'IRON', capital: 'Iron', placeholder: 'body', }, { lower: 'shadow', upper: 'SHADOW', capital: 'Shadow', placeholder: 'guile' }, { lower: 'wits', upper: 'WITS', capital: 'Wits', placeholder: 'mind' }] + +mixin statBuilder() + each stat in stats + div.sheet-stat + h3.sheet-stats-title=stat.upper + input( + type='text' + class='sheet-stats-input' + name=`attr_${stat.lower}` + value='1' + ) + span(class='sheet-stats-max') MAX + span(class='sheet-stats-max' name=`attr_max_${stat.lower}`) + +mixin statStatic() + each stat in stats + div.sheet-stat + label.sheet-roll-label + h3.sheet-stats-title=stat.upper + span(class='sheet-stats-input' name=`attr_${stat.lower}`) + button( + type='roll' + class='sheet-hide' + title=`Roll +${stat.capital}` + name=`roll${stat.capital}` + value=`&{template:ironcrunch_moves} {{header=@{character_name}}} {{name=Roll +${stat.lower}}} {{action=[[d12+@{${stat.lower}}+(?{Modifier|0})]]}} {{negate1=[[1+@{${stat.lower}}+(?{Modifier|0})]]}} {{negate2=[[2+@{${stat.lower}}+(?{Modifier|0})]]}} {{negate3=[[3+@{${stat.lower}}+(?{Modifier|0})]]}} {{negate4=[[4+@{${stat.lower}}+(?{Modifier|0})]]}} {{negate5=[[5+@{${stat.lower}}+(?{Modifier|0})]]}} {{negate6=[[6+@{${stat.lower}}+(?{Modifier|0})]]}} {{negate7=[[7+@{${stat.lower}}+(?{Modifier|0})]]}} {{negate8=[[8+@{${stat.lower}}+(?{Modifier|0})]]}} {{negate9=[[9+@{${stat.lower}}+(?{Modifier|0})]]}} {{negate10=[[10+@{${stat.lower}}+(?{Modifier|0})]]}} {{negate11=[[11+@{${stat.lower}}+(?{Modifier|0})]]}} {{negate12=[[12+@{${stat.lower}}+(?{Modifier|0})]]}} {{challenge1=[[d20]]}} {{challenge2=[[d20]]}} {{momentum=[[@{momentum}]]}} {{modifiers=[[@{${stat.lower}}+(?{Modifier|0})]]}} {{add=[[(?{Modifier|0})]]}} {{stat=[[@{${stat.lower}}]]}} {{loadEncMin=[[@{max_load}+@{${stat.lower}}+(?{Modifier|0})]]}} {{loadEncMax=[[12+@{${stat.lower}}+(?{Modifier|0})]]}} {{encumbered=[[@{encumbered_enabled}]]}}` + ) + \ No newline at end of file diff --git a/Ironcrunch/src/components/stats/stats.styl b/Ironcrunch/src/components/stats/stats.styl new file mode 100644 index 0000000000..0c4a730443 --- /dev/null +++ b/Ironcrunch/src/components/stats/stats.styl @@ -0,0 +1,83 @@ +.sheet-stats + justify-content space-evenly + align-items center + border-radius 0% + margin-bottom 1em + +.sheet-stat + display flex + flex-direction column + justify-content center + align-items center + margin 1em + +.sheet-stats-title + width 100px + +.sheet-stats-input + font-weight bold + width 60px + line-height 40px + font-size 28px + text-align center + height 50px !important + border-radius 0 + +input + &.sheet-stats-input + borderCommon() + background #e6e7e8 + &:focus + outline 3px solid #fd0 + outline-offset 0 + box-shadow inset 0 0 0 2px + +label + &.sheet-roll-label + margin 0 + padding 0em 0.4em 0em 0.4em + width auto + borderCommon() + cursor pointer + text-align center + &:hover + background #ccc + transition 0.5s ease + &.sheet-stat-toggle + margin 0 + padding 0 + borderCommon() + text-align center + cursor pointer + &:hover + background #ccc + transition 0.5s ease + +input[type=radio].sheet-stat-set + &:checked + & ~ div + &.sheet-stat-set + show-hide() + display flex + width auto + margin-left 5em + +input[type=radio].sheet-stat-edit + &:checked + & ~ div + &.sheet-stat-edit + show-hide() + display flex + width auto + +div + &.sheet-stat-toggle + &.sheet-set-toggle + width 100% + height 0 + margin 4em 1em 0em 1em + &.sheet-edit-toggle + transform rotate(90deg) + width 100% + height 0 + margin-top 3.45em \ No newline at end of file diff --git a/Ironcrunch/src/components/vows/vows.pug b/Ironcrunch/src/components/vows/vows.pug new file mode 100644 index 0000000000..4e8ffa9a56 --- /dev/null +++ b/Ironcrunch/src/components/vows/vows.pug @@ -0,0 +1,42 @@ +- var track = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ] +include ../difficulties/array +include ../progress/mixins/box + +div.sheet-vows + fieldset.repeating_vow + input(type="text" class="sheet-vow-name" name="attr_vow_name") + div.sheet-vows-header + each difficulty, index in difficulties + label.sheet-difficulty + if difficulty.checked + input(type="radio" class="sheet-hide" name="attr_rank" value=index checked) + else + input(type="radio" class="sheet-hide" name="attr_rank" value=index) + h5=difficulty.text + + div.sheet-vow + div + label.sheet-btn MARK + input(class="sheet-mark-vow sheet-hide" type="checkbox" name="attr_mark_progress") + label.sheet-btn CLEAR + input(class="sheet-clear-vow sheet-hide" type="checkbox" name="attr_clear_progress") + each index in track + select(name=`attr_progress_${index}` class="sheet-progress-input") + +progressBox + label.sheet-btn FULFILL + button( + type="roll" + class='sheet-hide' + name="rollVow" + value="&{template:ironcrunch_progress} {{progress_type=Vow}} {{header=@{character_name} Fulfill Your Vow }} {{progress_name=@{vow_name}}} {{progress=[[@{vow-filled}]]}} {{challenge1=[[d10]]}} {{challenge2=[[d10]]}}" + ) + input( + type="text" + class="sheet-hide" + name="attr_vow-filled" + value="floor((@{progress_0}+@{progress_1}+@{progress_2}+@{progress_3}+@{progress_4}+@{progress_5}+@{progress_6}+@{progress_7}+@{progress_8}+@{progress_9})/4)" + disabled + ) + //- h3 Vow Archive + //- fieldset.repeating_vowarchive + //- span(name="attr_vow_name") diff --git a/Ironcrunch/src/components/vows/vows.styl b/Ironcrunch/src/components/vows/vows.styl new file mode 100644 index 0000000000..de500bb704 --- /dev/null +++ b/Ironcrunch/src/components/vows/vows.styl @@ -0,0 +1,55 @@ +input + &.sheet-vow-name + background #ccc + border 2px solid #494a4c + border-radius 0 + margin-bottom 0.2em + margin-top 1em + background #e6e7e8 + border 2px solid #494a4c + border-radius 0 + margin-bottom 0.2em + &:focus + outline 3px solid #fd0 + outline-offset 0 + box-shadow inset 0 0 0 2px + +.sheet-fulfill-vow:hover, +.sheet-mark-vow:hover, +.sheet-vow-clear-label:hover + background-color #ccc + color #4c4d4f + transition 0.5s ease + +.sheet-vows + margin-bottom 0px + +.sheet-vows-header + display flex + justify-content space-around + align-items center + margin-bottom 10px + +.sheet-vow + display flex + flex-direction column + justify-content center + align-items center + +.sheet-vow-name + width 100% + font-weight bold + font-size 14px + +.sheet-difficulty + border 2px solid #494a4c + margin 0.2em 0.5em 0.2em 0.5em + padding 0 + cursor pointer + h5 + text-align center + input + &:checked + & ~ h5 + background #494a4c + color #fff \ No newline at end of file diff --git a/Ironcrunch/src/data/group-list.pug b/Ironcrunch/src/data/group-list.pug new file mode 100644 index 0000000000..ebcb7eeb3d --- /dev/null +++ b/Ironcrunch/src/data/group-list.pug @@ -0,0 +1,106 @@ +- + var moveGroups = [ + { + title: 'FATE MOVES', + moves: [ + { name: 'Pay the Price', value: 'pay_the_price' }, + { name: 'Ask the Oracle', value: 'ask_the_oracle' }, + { name: 'Burn Momentum', value: 'burn_momentum' }, + { name: 'Make an Effort', value: 'make_an_effort' }, + { name: 'Show Resilience', value: 'show_resilience' }, + { name: 'Find an Opportunity', value: 'find_an_opportunity' }, + { name: 'Reveal a Danger', value: 'reveal_a_danger' }, + { name: 'Manifest Insanity', value: 'manifest_insanity' } + ] + }, + { + title: 'SUFFER MOVES', + moves: [ + { name: 'Endure Harm', value: 'endure_harm' }, + { name: 'Endure Stress', value: 'endure_stress' }, + { name: 'Face Death', value: 'face_death' }, + { name: 'Face Desolation', value: 'face_desolation' }, + { name: 'Face a Setback', value: 'face_a_setback' }, + { name: 'Out of Supply', value: 'out_of_supply' }, + { name: 'Take on Overload', value: 'take_on_overload' } + ] + }, + { + title: 'DELVE MOVES', + moves: [ + { name: 'Discover a Site', value: 'discover_a_site' }, + { name: 'Delve the Depths', value: 'delve_the_depths' }, + { name: 'Check Your Gear', value: 'check_your_gear' }, + { name: 'Locate Your Objective', value: 'locate_your_objective' }, + { name: 'Escape the Depths', value: 'escape_the_depths' } + ] + }, + { + title: 'ADVENTURE MOVES', + moves: [ + { name: 'Face Danger', value: 'face_danger' }, + { name: 'Secure an Advantage', value: 'secure_an_advantage' }, + { name: 'Gather Information', value: 'gather_information' }, + { name: 'Undertake a Journey', value: 'undertake_a_journey' }, + { name: 'Reach Your Destination', value: 'reach_your_destination' } + ] + }, + { + title: 'COMBAT MOVES', + moves: [ + { name: 'Strike', value: 'strike' }, + { name: 'Clash', value: 'clash' }, + { name: 'Turn the Tide', value: 'turn_the_tide' }, + { name: 'Inflict Harm', value: 'inflict_harm' }, + { name: 'Foe Inflicts Harm', value: 'foe_inflicts_harm' }, + { name: 'Enter the Fray', value: 'enter_the_fray' }, + { name: 'Battle', value: 'battle' }, + { name: 'End the Fight', value: 'end_the_fight' } + ] + }, + { + title: 'RECOVERY MOVES', + moves: [ + { name: 'Heal', value: 'heal' }, + { name: 'Hearten', value: 'hearten' }, + { name: 'Patch Equipment', value: 'patch_equipment' }, + { name: 'Resupply', value: 'resupply' }, + { name: 'Make Camp', value: 'make_camp' }, + { name: 'Take a Downtime', value: 'take_a_downtime' } + ] + }, + { + title: 'QUEST MOVES', + moves: [ + { name: 'Swear An Iron Vow', value: 'swear_an_iron_vow' }, + { name: 'Fulfill Your Vow', value: 'fulfill_your_vow' }, + { name: 'Learn From Faults', value: 'learn_from_faults' }, + { name: 'Advance', value: 'advance' }, + { name: 'Trade', value: 'trade' } + ] + }, + { + title: 'RELATIONSHIP MOVES', + moves: [ + { name: 'Compel', value: 'compel' }, + { name: 'Sojourn', value: 'sojourn' }, + { name: 'Draw the Circle', value: 'draw_the_circle' }, + { name: 'Forge a Bond', value: 'forge_a_bond' }, + { name: 'Test Your Bond', value: 'test_your_bond' }, + { name: 'Write Your Epilogue', value: 'write_your_epilogue' } + ] + }, + { + title: 'COMPANION MOVES', + moves: [ + { name: 'Take Conditional Companion', value: 'take_conditional_companion' }, + { name: 'Conditional Companion Acts', value: 'conditional_companion_acts' }, + { name: 'Strengthen Their Loyalty', value: 'strengthen_their_loyalty' }, + { name: 'Conditional Companion Abandons', value: 'conditional_companion_abandons' }, + { name: 'Order Conditional Companion', value: 'order_conditional_companion' }, + { name: 'Not Assist Conditional Companion', value: 'not_assist_conditional_companion' }, + { name: 'Test Their Loyalty', value: 'test_their_loyalty' }, + { name: 'Companion Becomes Unconditional', value: 'companion_becomes_unconditional' } + ] + }, + ] \ No newline at end of file diff --git a/Ironcrunch/src/data/move-list.pug b/Ironcrunch/src/data/move-list.pug new file mode 100644 index 0000000000..09762c0d49 --- /dev/null +++ b/Ironcrunch/src/data/move-list.pug @@ -0,0 +1,541 @@ +- + var moveList = { + advance: { + title: 'Advance', + name: 'advance', + class: 'advance', + page: 'page X', + radio: 'advance' + }, + aid_your_ally: { + title: 'Aid Your Ally', + name: 'aidYourAlly', + class: 'aid-your-ally', + page: 'page X', + radio: 'aid_your_ally', + stat: `?{Stat|Edge, @{edge}|Iron, @{iron}|Heart, @{heart}|Shadow, @{shadow}|Wits, @{wits}}`, + stat_repeat: '?{Stat}' + }, + ask_the_oracle: { + title: 'Ask the Oracle', + name: 'askTheOracle', + class: 'ask-the-oracle', + page: 'page X', + radio: 'ask_the_oracle' + }, + battle: { + title: 'Battle', + name: 'Battle', + class: 'battle', + page: 'page X', + radio: 'battle', + stat: `?{Stat|Edge, @{edge}|Iron, @{iron}|Heart, @{heart}|Shadow, @{shadow}|Wits, @{wits}}`, + stat_repeat: '?{Stat}', + roll: true + }, + burn_momentum: { + title: 'Burn Momentum', + name: 'burnMomentum', + class: 'burn-momentum', + page: 'page X', + radio: 'burn_momentum' + }, + check_your_gear: { + title: 'Check Your Gear', + name: 'checkYourGear', + class: 'check-your-gear', + page: 'page X', + radio: 'check_your_gear', + stat: `?{Stat|Supply,@{supply}|Wits - Improviser,@{wits}}`, + stat_repeat: '?{Stat}' + }, + clash: { + title: 'Clash', + name: 'clash', + class: 'clash', + page: 'page X', + radio: 'clash', + stat: `?{Stat|Edge,@{edge}|Iron,@{iron}|Light - Lightbearer,?{Light&#124;0&#125;}`, + stat_repeat: '?{Stat}', + roll: true + }, + companion_becomes_unconditional: { + title: 'Companion Becomes Unconditional', + name: 'companionBecomesUnconditional', + class: 'companion-becomes-unconditional', + page: 'page X', + radio: 'companion_becomes_unconditional' + }, + compel: { + title: 'Compel', + name: 'compel', + class: 'compel', + page: 'page X', + radio: 'compel', + stat: `?{Stat|Iron,@{iron}|Heart,@{heart}|Shadow,@{shadow}|Essence - Invoke,?{Essence&#124;0&#125;}`, + stat_repeat: '?{Stat}', + roll: true + }, + conditional_companion_abandons: { + title: 'Conditional Companion Abandons', + name: 'conditionalCompanionAbandons', + class: 'conditional-companion-abandons', + page: 'page X', + radio: 'conditional_companion_abandons' + }, + conditional_companion_acts: { + title: 'Conditional Companion Acts', + name: 'conditionalCompanionActs', + class: 'conditional-companion-acts', + page: 'page X', + radio: 'conditional_companion_acts', + stat: `?{Stat|0}`, + stat_repeat: '?{Stat}', + roll: true + }, + delve_the_depths: { + title: 'Delve the Depths', + name: 'delveTheDepths', + class: 'delve-the-depths', + page: 'page X', + radio: 'delve_the_depths', + stat: `?{Stat|Edge,@{edge}|Shadow,@{shadow}|Wits,@{wits}}`, + stat_repeat: '?{Stat}', + roll: true + }, + discover_a_site: { + title: 'Discover a Site', + name: 'discoverASite', + class: 'discover-a-site', + page: 'page X', + radio: 'discover_a_site', + roll: true, + discover: true + }, + draw_the_circle: { + title: 'Draw the Circle', + name: 'drawTheCircle', + class: 'draw-the-circle', + page: 'page X', + radio: 'draw_the_circle', + stat: `@{heart}`, + stat_repeat: '@{heart}', + roll: true + }, + end_the_fight: { + title: 'End the Fight', + name: 'endTheFight', + class: 'end-the-fight', + page: 'page X', + radio: 'end_the_fight', + roll: true, + progress: true + }, + endure_harm: { + title: 'Endure Harm', + name: 'endureHarm', + class: 'endure-harm', + page: 'page X', + radio: 'endure_harm', + stat: `@{iron}`, + stat_repeat: '@{iron}', + roll: true + }, + endure_stress: { + title: 'Endure Stress', + name: 'endureStress', + class: 'endure-stress', + page: 'page X', + radio: 'endure_stress', + stat: `?{Stat|Spirit,@{spirit}|Heart,@{heart}}`, + stat_repeat: '?{Stat}', + roll: true + }, + enter_the_fray: { + title: 'Enter the Fray', + name: 'enterTheFray', + class: 'enter-the-fray', + page: 'page X', + radio: 'enter_the_fray', + stat: `?{Stat|Heart, @{heart}|Shadow, @{shadow}|Wits, @{wits}}`, + stat_repeat: '?{Stat}', + roll: true + }, + escape_the_depths: { + title: 'Escape the Depths', + name: 'escapeTheDepths', + class: 'escape-the-depths', + page: 'page X', + radio: 'escape_the_depths', + stat: `?{Stat|Edge,@{edge}|Heart,@{heart}|Iron,@{iron}|Wits,@{wits}|Shadow,@{shadow}}`, + stat_repeat: '?{Stat}', + roll: true + }, + face_a_setback: { + title: 'Face a Setback', + name: 'faceASetback', + class: 'face-a-setback', + page: 'page X', + radio: 'face_a_setback', + }, + face_danger: { + title: 'Face Danger', + name: 'faceDanger', + class: 'face-danger', + page: 'page X', + radio: 'face_danger', + stat: `?{Stat|Edge,@{edge}|Iron,@{iron}|Heart,@{heart}|Shadow,@{shadow}|Wits,@{wits}|Essence - Invoke,?{Essence&#124;0&#125;}`, + stat_repeat: '?{Stat}', + roll: true + }, + face_death: { + title: 'Face Death', + name: 'faceDeath', + class: 'face-death', + page: 'page X', + radio: 'face_death', + stat: `?{Stat|Heart,@{heart}|Shadow - Shadow-kin,@{shadow}}`, + stat_repeat: '?{Stat}', + roll: true, + owl: true + }, + face_desolation: { + title: 'Face Desolation', + name: 'faceDesolation', + class: 'face-desolation', + page: 'page X', + radio: 'face_desolation', + stat: `@{heart}`, + stat_repeat: '@{heart}', + roll: true + }, + find_an_opportunity: { + title: 'Find an Opportunity', + name: 'findAnOpportunity', + class: 'find-an-opportunity', + page: 'page X', + radio: 'find_an_opportunity' + }, + foe_inflicts_harm: { + title: 'Foe Inflicts Harm', + name: 'foeInflictsHarm', + class: 'foe-inflicts-harm', + page: 'page X', + radio: 'foe_inflicts_harm' + }, + forge_a_bond: { + title: 'Forge a Bond', + name: 'forgeABond', + class: 'forge-a-bond', + page: 'page X', + radio: 'forge_a_bond', + stat: `?{Stat|Heart,@{heart}|Shadow - Trickster,@{shadow}}`, + stat_repeat: '?{Stat}', + roll: true + }, + forsake_your_vow: { + title: 'Forsake Your Vow', + name: 'forsakeYourVow', + class: 'forsake-your-vow', + page: 'page X', + radio: 'forsake_your_vow', + }, + fulfill_your_vow: { + title: 'Fulfill Your Vow', + name: 'fulfillYourVow', + class: 'fulfill-your-vow', + page: 'page X', + radio: 'fulfill_your_vow', + roll: true, + progress: true + }, + gather_information: { + title: 'Gather Information', + name: 'gatherInformation', + class: 'gather-information', + page: 'page X', + radio: 'gather_information', + stat: `?{Stat|Wits,@{wits}|Shadow - Infiltrator/Trickster/Scry,@{shadow}}`, + stat_repeat: '?{Stat}', + roll: true + }, + heal: { + title: 'Heal', + name: 'heal', + class: 'heal', + page: 'page X', + radio: 'heal', + stat: `?{Stat|Wits,@{wits}|Iron,@{iron}}`, + stat_repeat: '?{Stat}', + roll: true + }, + hearten: { + title: 'Hearten', + name: 'hearten', + class: 'hearten', + page: 'page X', + radio: 'hearten', + stat: `@{heart}`, + stat_repeat: '@{heart}', + roll: true + }, + inflict_harm: { + title: 'Inflict Harm', + name: 'inflictHarm', + class: 'inflict-harm', + page: 'page X', + radio: 'inflict_harm' + }, + learn_from_faults: { + title: 'Learn from Faults', + name: 'learnFromFaults', + class: 'learn-from-faults', + page: 'page X', + radio: 'learn_from_faults', + roll: true, + progress: true + }, + locate_your_objective: { + title: 'Locate Your Objective', + name: 'locateYourObjective', + class: 'locate-your-objective', + page: 'page X', + radio: 'locate_your_objective', + roll: true, + progress: true + }, + make_an_effort: { + title: 'Make an Effort', + name: 'makeAnEffort', + class: 'make-an-effort', + page: 'page X', + radio: 'make_an_effort' + }, + make_camp: { + title: 'Make Camp', + name: 'makeCamp', + class: 'make-camp', + page: 'page X', + radio: 'make_camp', + stat: `?{Stat|Supply,@{supply}|Wits - Wildblood,@{wits}|Health - Mammoth,?{Mammoth's Health&#124;0&#125;}`, + stat_repeat: '?{Stat}', + roll: true + }, + manifest_insanity: { + title: 'Manifest Insanity', + name: 'manifestInsanity', + class: 'manifest-insanity', + page: 'page X', + radio: 'manifest_insanity', + roll: true, + oracle: 'ironcrunch_oracles' + }, + not_assist_conditional_companion: { + title: 'Not Assist Conditional Companion', + name: 'notAssistConditionalCompanion', + class: 'not-assist-conditional-companion', + page: 'page X', + radio: 'not_assist_conditional_companion' + }, + order_conditional_companion: { + title: 'Order Conditional Companion', + name: 'orderConditionalCompanion', + class: 'order-conditional-companion', + page: 'page X', + radio: 'order_conditional_companion', + stat: `?{Loyalty|0}`, + stat_repeat: '?{Loyalty}', + roll: true + }, + out_of_supply: { + title: 'Out of Supply', + name: 'outOfSupply', + class: 'out-of-supply', + page: 'page X', + radio: 'out_of_supply' + }, + patch_equipment: { + title: 'Patch Equipment', + name: 'patchEquipment', + class: 'patch-equipment', + page: 'page X', + radio: 'patch_equipment', + stat: `@{wits}`, + stat_repeat: '@{wits}', + roll: true + }, + pay_the_price: { + title: 'Pay the Price', + name: 'payThePrice', + class: 'pay-the-price', + page: 'page X', + radio: 'pay_the_price' + }, + reach_a_milestone: { + title: 'Reach a Milestone', + name: 'reachAMilestone', + class: 'reach-a-milestone', + page: 'page X', + radio: 'reach_a_milestone' + }, + reach_your_destination: { + title: 'Reach Your Destination', + name: 'reachYourDestination', + class: 'reach-your-destination', + page: 'page X', + radio: 'reach_your_destination', + roll: true, + progress: true + }, + resupply: { + title: 'Resupply', + name: 'resupply', + class: 'resupply', + page: 'page X', + radio: 'resupply', + stat: `?{Stat|Wits,@{wits}|Edge - Cave Lion,@{edge}|Shadow - Infiltrator,@{shadow}}`, + stat_repeat: '?{Stat}', + roll: true + }, + reveal_a_danger: { + title: 'Reveal a Danger', + name: 'revealADanger', + class: 'reveal-a-danger', + page: 'page X', + radio: 'reveal_a_danger' + }, + secure_an_advantage: { + title: 'Secure an Advantage', + name: 'secureAnAdvantage', + class: 'secure-an-advantage', + page: 'page X', + radio: 'secure_an_advantage', + stat: `?{Stat|Edge,@{edge}|Iron,@{iron}|Heart,@{heart}|Shadow,@{shadow}|Wits,@{wits}|God's Stat - Devotant,?{God's Stat&#124;0&#125;|Essence - Invoke,?{Essence&#124;0&#125;}`, + stat_repeat: '?{Stat}', + roll: true + }, + show_resilience: { + title: 'Show Resilience', + name: 'showResilience', + class: 'show-resilience', + page: 'page X', + radio: 'show_resilience' + }, + sojourn: { + title: 'Sojourn', + name: 'sojourn', + class: 'sojourn', + page: 'page X', + radio: 'sojourn', + stat: `?{Stat|Heart,@{heart}|Shadow - Pretender,@{shadow}|God's Stat - Devotant,?{God's Stat&#124;0&#125;}`, + stat_repeat: '?{Stat}', + roll: true + }, + strengthen_their_loyalty: { + title: 'Strengthen Their Loyalty', + name: 'strengthenTheirLoyalty', + class: 'strengthen-their-loyalty', + page: 'page X', + radio: 'strengthen_their_loyalty', + stat: `?{Stat|Heart,@{heart}|Wealth,@{wealth}}`, + stat_repeat: '?{Stat}', + roll: true + }, + strike: { + title: 'Strike', + name: 'strike', + class: 'strike', + page: 'page X', + radio: 'strike', + stat: `?{Stat|Edge,@{edge}|Iron,@{iron}|Light - Lightbearer,?{Light&#124;0&#125;}`, + stat_repeat: '?{Stat}', + roll: true + }, + swear_an_iron_vow: { + title: 'Swear an Iron Vow', + name: 'swearAnIronVow', + class: 'swear-an-iron-vow', + page: 'page X', + radio: 'swear_an_iron_vow', + stat: `?{Stat|Heart,@{heart}|God's Stat - Devotant,?{God's Stat&#124;0&#125;}`, + stat_repeat: '?{Stat}', + roll: true + }, + take_a_downtime: { + title: 'Take a Downtime', + name: 'takeADowntime', + class: 'take-a-downtime', + page: 'page X', + radio: 'take_a_downtime' + }, + take_conditional_companion: { + title: 'Take Conditional Companion', + name: 'takeConditionalCompanion', + class: 'take-conditional-companion', + page: 'page X', + radio: 'take_conditional_companion', + stat: `?{Stat|Heart,@{heart}|Wealth,@{wealth}}`, + stat_repeat: '?{Stat}', + roll: true + }, + take_on_overload: { + title: 'Take on Overload', + name: 'takeOnOverload', + class: 'take-on-overload', + page: 'page X', + radio: 'take_on_overload' + }, + test_their_loyalty: { + title: 'Test their Loyalty', + name: 'testTheirLoyalty', + class: 'test-their-loyalty', + page: 'page X', + radio: 'test_their_loyalty', + stat: `?{Stat|Heart,@{heart}|Wealth,@{wealth}}`, + stat_repeat: '?{Stat}', + roll: true + }, + test_your_bond: { + title: 'Test Your Bond', + name: 'testYourBond', + class: 'test-your-bond', + page: 'page X', + radio: 'test_your_bond', + stat: `@{heart}`, + stat_repeat: '@{heart}', + roll: true + }, + trade: { + title: 'Trade', + name: 'trade', + class: 'trade', + page: 'page X', + radio: 'trade' + }, + turn_the_tide: { + title: 'Turn the Tide', + name: 'turnTheTide', + class: 'turn-the-tide', + page: 'page X', + radio: 'turn_the_tide' + }, + undertake_a_journey: { + title: 'Undertake a Journey', + name: 'undertakeAJourney', + class: 'undertake-a-journey', + page: 'page X', + radio: 'undertake_a_journey', + stat: `?{Stat|Wits,@{wits}|Shadow - Shadow-walk,@{shadow}|Spirit or Heart - Tether,?{Tether Stat&#124;Spirit&#44;@{spirit}&#124;Heart&#44;@{heart}&#125;}`, + stat_repeat: '?{Stat}', + roll: true + }, + write_your_epilogue: { + title: 'Write Your Epilogue', + name: 'writeYourEpilogue', + class: 'write-your-epilogue', + page: 'page X', + radio: 'write_your_epilogue', + roll: true, + progress: true + } + } \ No newline at end of file diff --git a/Ironcrunch/src/data/oracles.pug b/Ironcrunch/src/data/oracles.pug new file mode 100644 index 0000000000..3062d84a76 --- /dev/null +++ b/Ironcrunch/src/data/oracles.pug @@ -0,0 +1,679 @@ +- + var + oracles = { + ironcrunch: { + 'Reveal A Danger': { + id: 'reveal_a_danger', + oracles: [ + { + name: 'Category', + class: 'danger-category', + roll_id: 'revealADangerCategory', + dice: 'd100', + rows: [ + { + type: 'Between', + roll: '1-25 (25%)', + result: 'Worsening of the Situation' + }, + { + type: 'Between', + roll: '26-60 (35%)', + result: 'Unfavorable Road' + }, + { + type: 'Between', + roll: '61-100 (40%)', + result: 'Hostile Character Encounter' + } + ] + }, + { + name: 'Worsening of the Situation', + class: 'danger-situation', + roll_id: 'revealADangerSituation', + dice: 'd100', + rows: [ + { + type: 'Between', + roll: '1-13 (13%)', + result: "A portion of an edible resource got spoiled or lost. Suffer -1 supply. If your supply is 0, reroll on this table." + }, + { + type: 'Between', + roll: "14-24 (11%)", + result: "The travel is taking longer than expected. Suffer -1 momentum." + }, + { + type: 'Between', + roll: "25-34 (10%)", + result: "The trip was tough and left you tired. Endure Harm (1d4P harm)." + }, + { + type: 'Between', + roll: "35-42 (8%)", + result: "The travel has drained your energies. Endure Harm (1d4P harm) and take the weakened (severity +1) condition." + }, + { + type: 'Between', + roll: "43-50 (8%)", + result: "The travel has left you stressed or mentally fatigued. Endure Stress (1d2 stress)." + }, + { + type: 'Between', + roll: "51-57 (7%)", + result: "A friend or companion starts arguing for previous acts or complaining about the rough travel. Suffer -1d3 to their loyalty. If you don't have a companion, reroll on this table." + }, + { + type: 'Between', + roll: "58-64 (7%)", + result: "You realize you lost some valuable goods on the way. Suffer -2 wealth. If your wealth is reduced to 0, suffer -momentum to any remaining -wealth." + }, + { + type: 'Between', + roll: "65-71 (7%)", + result: "You realize too late that the supply container is broken and has a leak. Suffer -2 supply." + }, + { + type: 'Between', + roll: "72-77 (6%)", + result: "You realize you lost one of your valuable items on the way. Suffer -1 wealth. If your wealth is 0, reroll on this table." + }, + { + type: 'Between', + roll: "78-83 (6%)", + result: "You realize that one of the items you thought to be valuable, is actually not, or not worthy in its current state. Suffer -1 wealth and -1 momentum. If your wealth is an its minimum (0), reroll on this table." + }, + { + type: 'Between', + roll: "84-89 (6%)", + result: "You make a discovery that complicates one of your quests. Suffer -2 momentum." + }, + { + type: 'Between', + roll: "90-94 (5%)", + result: "A piece of equipment loses durability. Reduce any of your armor’s or shield’s values by 1. If you have no armor or shield item, reroll on this table." + }, + { + type: 'Between', + roll: "95-97 (3%)", + result: "You start suffering from muscle cramp, sprain or strain. Endure Harm (1d4P harm) and take the palsied (severity 1) condition." + }, + { + type: 'Between', + roll: "98-99 (2%)", + result: "You realize that one of your conditional companions is no longer by your side. Suffer -1 momentum. If you don't have a conditional companion, reroll on this table." + }, + { + type: 'Total', + roll: "100 (1%)", + result: "Roll twice more on this table. Both results occur. If they are the same result, double its effect." + } + ] + }, + { + name: "Unfavorable Road", + class: "danger-road", + roll_id: 'revealADangerRoad', + dice: 'd100', + rows: [ + { + type: 'Between', + roll: "1-13 (13%)", + result: "The terrain or the weather plays against you, hindering you. Subtract -1 to your next move. Take the hyperthermic or hypothermic condition if appropriate." + }, + { + type: 'Between', + roll: "14-25 (12%)", + result: "An environmental hazard forces you to pass through this area in a precarious manner. If you make a move to resolve this danger, subtract -1." + }, + { + type: 'Between', + roll: "26-35 (10%)", + result: "Whether it is human made or a fortuity of nature, you, or someone with you, is victim of a trap. If you make a move of resolve this danger, subtract -1." + }, + { + type: 'Between', + roll: "36-44 (9%)", + result: "You suffer some bruises on the way. Endure Harm (1d4 harm)." + }, + { + type: 'Between', + roll: "45-52 (8%)", + result: "You consumed some resources, and this road lacks sources to replenish from. Suffer -1 supply. If you Resupply, count a strong hit as a weak hit, and a weak hit as a miss." + }, + { + type: 'Between', + roll: "53-60 (8%)", + result: "The travel has been mentally grueling. Endure Stress (1 stress). If you Hearten, count a strong hit as a weak hit, and a weak hit as a miss." + }, + { + type: 'Between', + roll: "61-68 (8%)", + result: "You have not reached your waypoint yet, and this stop is too precarious to rest safely. If you Make Camp, count a strong hit as a weak hit, and a weak hit as a miss." + }, + { + type: 'Between', + roll: "69-75 (7%)", + result: "The path is broken and there doesn't seem to be a lead to follow it. Subtract -1 next time you Undertake a Journey for this travel." + }, + { + type: 'Between', + roll: "76-81 (6%)", + result: "An obstacle is blocking the path you intend to follow. Subtract -1 for your next move to resolve the obstacle or suffer -2 momentum causing a delay on your travel." + }, + { + type: 'Between', + roll: "82-86 (5%)", + result: "The path has a disturbing ambience or you find the horrible fate of a victim of this place. Endure Stress (1d4 stress)." + }, + { + type: 'Between', + roll: "87-90 (4%)", + result: "The environment undermines the path or the weather is disorienting, and you find difficult to recognize the track. Subtract -2 next time you Undertake a Journey for this travel." + }, + { + type: 'Between', + roll: "91-94 (4%)", + result: "Whether it was something you ate or something in the surroundings, you are now ill. Endure Harm (1d4P harm) and take the poisoned (severity +1) condition." + }, + { + type: 'Between', + roll: "95-97 (3%)", + result: "Whether it was something you ate or something in the surroundings, you got poisoned. Take the poisoned (severity +2) condition." + }, + { + type: 'Between', + roll: "98-99 (2%)", + result: "You realized you have been following the wrong path, and trickery leads have left you astray. Clear 1d2 progress boxes in the journey track. Next time you Undertake a Journey, you don’t mark progress if you score a hit." + }, + { + type: 'Total', + roll: "100 (1%)", + result: "Roll twice more on this table. Both results occur. If they are the same result, double its effect." + } + ] + }, + { + name: "Hostile Character Encounter", + class: "danger-character", + roll_id: 'revealADangerEncounter', + dice: 'd100', + rows: [ + { + type: 'Between', + roll: "1-13 (13%)", + result: "You converge with one or multiple travelers or denizens in this area, facing off." + }, + { + type: 'Between', + roll: "14-26 (13%)", + result: "One or multiple unaware travelers or denizens are guarding this area, either laid in wait, patrolling or working." + }, + { + type: 'Between', + roll: "27-39 (13%)", + result: "You're ambushed, or attacked without warning." + }, + { + type: 'Between', + roll: "40-51 (12%)", + result: "Your presence has caught the attention of one or multiple travelers or denizens in the area." + }, + { + type: 'Between', + roll: "52-63 (12%)", + result: "Your arrival to this area has been expected." + }, + { + type: 'Between', + roll: "64-75 (12%)", + result: "You sense one or multiple presences lurking or stalking." + }, + { + type: 'Between', + roll: "76-85 (10%)", + result: "One or multiple unaware travelers or denizens are blocking or undermining the path in some way." + }, + { + type: 'Between', + roll: "86-93 (8%)", + result: "You find one or multiple travelers or denizens in unfavorable circumstances." + }, + { + type: 'Between', + roll: "94-98 (5%)", + result: "You find one or multiple travelers or denizens’ pets or underlings." + }, + { + type: 'Between', + roll: "99-100 (2%)", + result: "Roll twice more on this table, and use one result." + } + ] + } + ] + }, + 'Find An Opportunity': { + id: 'find_an_opportunity', + oracles: [ + { + name: 'Category', + class: 'opportunity-category', + roll_id: 'findAnOpportunityCategory', + dice: 'd100', + rows: [ + { + type: 'Between', + roll: '1-55 (25%)', + result: 'Favorable Area.' + }, + { + type: 'Between', + roll: '56-80 (35%)', + result: 'Benign Character Encounter.' + }, + { + type: 'Between', + roll: '81-100 (40%)', + result: 'Item Finding' + } + ] + }, + { + name: 'Favorable Area', + class: 'opportunity-area', + roll_id: 'findAnOpportunityArea', + dice: 'd100', + rows: [ + { + type: 'Between', + roll: '1-11(11%)', + result: "The travel took shorter than expected. Take +1 momentum." + }, + { + type: 'Between', + roll: '12-20 (9%)', + result: "Elements of this area can be used to leverage your travel. If you Undertake a Journey, you may reroll any dice." + }, + { + type: 'Between', + roll: '21-28 (8%)', + result: "There is a path that seems to lead towards your destination. If you follow it, add +2 when you Undertake a Journey." + }, + { + type: 'Between', + roll: '29-35 (7%)', + result: "The travel has cleared your mind. If you Hearten, reroll any dice." + }, + { + type: 'Between', + roll: '36-42 (7%)', + result: "This seems to be an ideal place to find a moment of peace. If you Hearten, add +2." + }, + { + type: 'Between', + roll: '43-49 (7%)', + result: "This seems to be an ideal place to bolster your reserves. If you Resupply, add +2." + }, + { + type: 'Between', + roll: '50-55 (6%)', + result: "This seems to be a place safe enough to rest and recover for several hours. If you Make Camp, add +2." + }, + { + type: 'Between', + roll: '56-61 (6%)', + result: "You find a healthy settlement. If you Sojourn, add +1." + }, + { + type: 'Between', + roll: '62-66 (5%)', + result: "This area offers a captivating ambience or comfortable environment. If you Hearten, take +1 spirit on a hit." + }, + { + type: 'Between', + roll: '67-71 (5%)', + result: "This area offers enough to bolster your reserves if you dedicate enough to it. If you Resupply and score hit, you may suffer -1 momentum in exchange for +1 supply." + }, + { + type: 'Between', + roll: '72-76 (5%)', + result: "This waypoint offers more than needed for a modest rest. If you Make Camp, and score a hit, you may choose an extra option." + }, + { + type: 'Between', + roll: '77-80 (4%)', + result: "You seem to be closer to your destination than expected. Mark an additional progress in your journey track." + }, + { + type: 'Between', + roll: '81-83 (3%)', + result: "This area offers just what you need to camp. If you Make Camp, you may reroll any dice." + }, + { + type: 'Between', + roll: '84-86 (3%)', + result: "You reach this waypoint just at an opportune time to bolster your reserves. If you Resupply now, you may reroll any dice." + }, + { + type: 'Between', + roll: '87-88 (2%)', + result: "There is a hidden passage that could be a shortcut. If you Reach Your Destination, you may reroll any dice." + }, + { + type: 'Between', + roll: '89-96 (8%)', + result: "You reach a location of interest related to one of your quests or that might lead to one. Take +2 momentum." + }, + { + type: 'Between', + roll: '97-98 (2%)', + result: "Choose one result from this table." + }, + { + type: 'Between', + roll: '99-100 (2%)', + result: "Roll twice more on this table. Both results occur." + } + ] + }, + { + name: "Benign Character Encounter", + class: "opportunity-character", + roll_id: 'findAnOpportunityCharacter', + dice: 'd100', + rows: [ + { + type: 'Between', + roll: '1-16 (16%)', + result: "You encounter a traveler or denizen who might provide you guide in exchange for something of value. If you agree, suffer -1 wealth or -2 supply (your choice) in exchange for adding +3 next time you Undertake a Journey for this travel." + }, + { + type: 'Between', + roll: '17-30 (14%)', + result: "You encounter a traveler or denizen willing to provide you guide and supply. If he does, add +1 next time you Undertake a Journey for this travel and take +1 supply." + }, + { + type: 'Between', + roll: '31-38 (8%)', + result: "You encounter a traveler or denizen who might provide you health care in exchange for something of value. If you agree, suffer -1 wealth or -2 supply (your choice) in exchange for making the Hearten move now and add +3." + }, + { + type: 'Between', + roll: '39-46 (8%)', + result: "You encounter a traveler or denizen who might rise your spirit in exchange for something of value. If you agree, suffer -1 wealth or -2 supply (your choice) in exchange for making the Heal move now and add +3." + }, + { + type: 'Between', + roll: '47-53 (7%)', + result: "You encounter a traveler or denizen willing to rise your spirit. If he does, Hearten now and add +2." + }, + { + type: 'Between', + roll: '54-60 (7%)', + result: "You encounter a traveler or denizen willing to give you first aid. If he does, Heal now and add +2." + }, + { + type: 'Between', + roll: '61-70 (10%)', + result: "You encounter a provision trader." + }, + { + type: 'Between', + roll: '71-75 (5%)', + result: "You encounter an equipment trader." + }, + { + type: 'Between', + roll: '76-79 (4%)', + result: "You encounter a traveler or denizen with the potential of being a conditional companion with the goal of serving as hireling and the drive of getting wealth. If you Take a Conditional Companion, add +1." + }, + { + type: 'Between', + roll: '80-83 (4%)', + result: "You encounter a traveler or denizen with the potential of being a conditional companion. Take +1 momentum." + }, + { + type: 'Between', + roll: '84-86 (3%)', + result: "You encounter one or more travelers or denizens in need for help and with the means to reward you." + }, + { + type: 'Between', + roll: '87-95 (9%)', + result: "You encounter one or more characters related to one of you quests or that might lead to one. Take +2 momentum." + }, + { + type: 'Between', + roll: '96-98 (3%)', + result: "Roll twice more on this table. Use one result." + }, + { + type: 'Between', + roll: '99-100 (2%)', + result: "Choose one result from this table." + } + ] + }, + { + name: "Item Finding", + class: "opportunity-item", + roll_id: 'findAnOpportunityItem', + dice: 'd100', + rows: [ + { + type: 'Between', + roll: '1-14 (14%)', + result: "You find resources that bolster your reserves. Take +1 supply." + }, + { + type: 'Between', + roll: '15-26 (12%)', + result: "You find resources that bolster your reserves. Take +2 supply." + }, + { + type: 'Between', + roll: '27-35 (9%)', + result: "You find some valuable goods. Take +2 wealth." + }, + { + type: 'Between', + roll: '36-42 (7%)', + result: "You find some valuable goods. Take +2 wealth." + }, + { + type: 'Between', + roll: '43-47 (5%)', + result: "You find a consumable item of your choice or as appropriate to the circumstances." + }, + { + type: 'Between', + roll: '48-51 (4%)', + result: "You find two consumable items of your choice or as appropriate to the circumstances." + }, + { + type: 'Between', + roll: '52-56 (5%)', + result: "You find a weapon of cost d4 wealth cost or less of your choice as appropriate to the circumstances." + }, + { + type: 'Between', + roll: '57-59 (3%)', + result: "You find a weapon of cost d6 wealth or less of your choice as appropriate to the circumstances." + }, + { + type: 'Between', + roll: '60-61 (2%)', + result: "You find a weapon of cost d8+1 wealth or less of your choice as appropriate to the circumstances." + }, + { + type: 'Between', + roll: '62-64 (3%)', + result: "You find a shield of cost d4+1 wealth or less of your choice as appropriate to the circumstances." + }, + { + type: 'Between', + roll: '65-66 (2%)', + result: "You find a shield of cost d6+1 wealth or less of your choice as appropriate to the circumstances." + }, + { + type: 'Between', + roll: '67-69 (3%)', + result: "You find an armor of cost 1d4+3 wealth or less of your choice or as appropriate to the circumstances." + }, + { + type: 'Between', + roll: '70-71 (2%)', + result: "You find an armor of cost 1d6+3 wealth or less of your choice as appropriate to the circumstances." + }, + { + type: 'Total', + roll: '72 (1%)', + result: "You find an armor of cost 2d4+2 wealth or less of your choice as appropriate to the circumstances." + }, + { + type: 'Between', + roll: '73-80 (8%)', + result: "You find an addon of your choice or as appropriate to the circumstances." + }, + { + type: 'Between', + roll: '81-89 (9%)', + result: "You find an item of interest related to one of your quests or that might lead to one. Take +2 momentum." + }, + { + type: 'Between', + roll: '90-100 (11%)', + result: "Roll twice more on this table. Both results occur." + } + ] + } + ], + }, + 'Manifest Insanity': { + id: 'manifest_insanity', + oracles: [ + { + name: 'Category', + class: 'insanity-category', + roll_id: 'ManifestInsanityCategory', + dice: 'd100', + rows: [ + { + type: 'Between', + roll: '1-70 (70%)', + result: 'Short-term Insanity' + }, + { + type: 'Between', + roll: '71-100 (30%)', + result: 'Long-term Insanity' + } + ] + }, + { + name: 'Short-term', + class: 'insanity-short', + roll_id: 'ManifestInsanityShort', + dice: 'd100', + rows: [ + { + type: 'Between', + roll: '1-28 (28%)', + result: "You get scared, and your next move should imply to flee as far as possible from the source of the fear or danger." + }, + { + type: 'Between', + roll: '29-51 (23%)', + result: "Your spirit is overwhelmed. Take the dazed condition." + }, + { + type: 'Between', + roll: '52-69 (18%)', + result: "You show hysteric and emotional outburst by screaming, laughing, crying. Every other ally and companion must Endure Stress (1d2 stress) as a result." + }, + { + type: 'Between', + roll: '70-87 (18%)', + result: "You begin babbling, coherently (logorrhoea) or incoherently. Your words show abuse, fear, hopelessness, irrationality or selfishness. Every other ally and companion must Endure Stress (1d3 stress) as a result." + }, + { + type: 'Between', + roll: '88-95 (8%)', + result: "You Inflict Harm on yourself." + }, + { + type: 'Between', + roll: '96-100 (5%)', + result: "You faint. Take the unconscious condition." + } + ] + }, + { + name: 'Long-term', + class: 'insanity-long', + roll_id: 'ManifestInsanityLong', + dice: 'd100', + rows: [ + { + type: 'Between', + roll: '1-15 (15%)', + result: "Take the phobiac (severity 4) condition." + }, + { + type: 'Between', + roll: '16-29 (14%)', + result: "Take the attached (severity 4) condition." + }, + { + type: 'Between', + roll: '30-36 (7%)', + result: "Take the hallucinating (severity 2) condition." + }, + { + type: 'Between', + roll: '37-53 (17%)', + result: "Take the compulsed (severity 4) condition." + }, + { + type: 'Between', + roll: '54-57 (4%)', + result: "You start suffering psychosomatic deafness. Take the deafened (severity +1) condition." + }, + { + type: 'Between', + roll: '58-60 (3%)', + result: "You start suffering psychosomatic blindness. Take the blind (severity +1) condition." + }, + { + type: 'Between', + roll: '61-73 (13%)', + result: "Take the mute condition." + }, + { + type: 'Between', + roll: '74-85 (12%)', + result: "You retreat into your mind, in a stupor state, assuming fetal position if not immediate danger is around, oblivious to events around you. Take the dazed, mute, shaken and unsteady (shaky) conditions." + }, + { + type: 'Between', + roll: '86-93 (8%)', + result: "You become catatonic. Take the dazed, mute and numb (severity +1) conditions." + }, + { + type: 'Between', + roll: '94-98 (5%)', + result: "Take the amok (severity 3) condition. Then, Clash the nearest target, whether they are an ally, companion, foe or else." + }, + { + type: 'Between', + roll: '99-00 (2%)', + result: "Take the amnesiac (severity 5) condition." + } + ] + } + ] + } + } + } diff --git a/Ironcrunch/src/package-lock.json b/Ironcrunch/src/package-lock.json new file mode 100644 index 0000000000..fbd20d5abe --- /dev/null +++ b/Ironcrunch/src/package-lock.json @@ -0,0 +1,1422 @@ +{ + "name": "ironcrunch", + "version": "0.0.1", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@babel/code-frame": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", + "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "requires": { + "@babel/highlight": "7.9.0" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.9.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz", + "integrity": "sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==" + }, + "@babel/highlight": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz", + "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==", + "requires": { + "@babel/helper-validator-identifier": "7.9.5", + "chalk": "2.4.2", + "js-tokens": "4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "1.9.3" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "3.0.0" + } + } + } + }, + "@babel/runtime": { + "version": "7.9.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.9.2.tgz", + "integrity": "sha512-NE2DtOdufG7R5vnfQUTehdTfNycfUANEtCa9PssN9O/xmTzP4E08UI797ixaei6hBEVL9BI/PsdJS5x7mWoB9Q==", + "requires": { + "regenerator-runtime": "0.13.5" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.13.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", + "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==" + } + } + }, + "@types/babel-types": { + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@types/babel-types/-/babel-types-7.0.7.tgz", + "integrity": "sha512-dBtBbrc+qTHy1WdfHYjBwRln4+LWqASWakLHsWHR2NWHIFkv4W3O070IGoGLEBrJBvct3r0L1BUPuvURi7kYUQ==" + }, + "@types/babylon": { + "version": "6.16.5", + "resolved": "https://registry.npmjs.org/@types/babylon/-/babylon-6.16.5.tgz", + "integrity": "sha512-xH2e58elpj1X4ynnKp9qSnWlsRTIs6n3tgLGNfwAGHwePw0mulHQllV34n0T25uYSu1k0hRKkWXF890B1yS47w==", + "requires": { + "@types/babel-types": "7.0.7" + } + }, + "@types/color-name": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", + "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==" + }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + }, + "@types/yargs": { + "version": "15.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.4.tgz", + "integrity": "sha512-9T1auFmbPZoxHz0enUFlUuKRy3it01R+hlggyVUMtnCTQRunsQYifnSGb8hET4Xo8yiC0o0r1paW3ud5+rbURg==", + "requires": { + "@types/yargs-parser": "15.0.0" + } + }, + "@types/yargs-parser": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz", + "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==" + }, + "acorn": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", + "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=" + }, + "acorn-globals": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-3.1.0.tgz", + "integrity": "sha1-/YJw9x+7SZawBPqIDuXUZXOnMb8=", + "requires": { + "acorn": "4.0.13" + }, + "dependencies": { + "acorn": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=" + } + } + }, + "align-text": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "requires": { + "kind-of": "3.2.2", + "longest": "1.0.1", + "repeat-string": "1.6.1" + } + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" + }, + "async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "requires": { + "lodash": "4.17.15" + } + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "requires": { + "core-js": "2.6.11", + "regenerator-runtime": "0.11.1" + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "requires": { + "babel-runtime": "6.26.0", + "esutils": "2.0.3", + "lodash": "4.17.15", + "to-fast-properties": "1.0.3" + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + }, + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=" + }, + "center-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "requires": { + "align-text": "0.1.4", + "lazy-cache": "1.0.4" + } + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "character-parser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/character-parser/-/character-parser-2.2.0.tgz", + "integrity": "sha1-x84o821LzZdE5f/CxfzeHHMmH8A=", + "requires": { + "is-regex": "1.0.5" + } + }, + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + }, + "clean-css": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", + "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", + "requires": { + "source-map": "0.6.1" + } + }, + "cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "requires": { + "center-align": "0.1.3", + "right-align": "0.1.3", + "wordwrap": "0.0.2" + } + }, + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=" + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "columnify": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/columnify/-/columnify-1.5.4.tgz", + "integrity": "sha1-Rzfd8ce2mop8NAVweC6UfuyOeLs=", + "requires": { + "strip-ansi": "3.0.1", + "wcwidth": "1.0.1" + } + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "compare-versions": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.6.0.tgz", + "integrity": "sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "constantinople": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/constantinople/-/constantinople-3.1.2.tgz", + "integrity": "sha512-yePcBqEFhLOqSBtwYOGGS1exHo/s1xjekXiinh4itpNQGCu4KA1euPh1fg07N2wMITZXQkBz75Ntdt1ctGZouw==", + "requires": { + "@types/babel-types": "7.0.7", + "@types/babylon": "6.16.5", + "babel-types": "6.26.0", + "babylon": "6.18.0" + } + }, + "core-js": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", + "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==" + }, + "cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "requires": { + "@types/parse-json": "4.0.0", + "import-fresh": "3.2.1", + "parse-json": "5.0.0", + "path-type": "4.0.0", + "yaml": "1.9.2" + } + }, + "css": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", + "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", + "requires": { + "inherits": "2.0.4", + "source-map": "0.6.1", + "source-map-resolve": "0.5.3", + "urix": "0.1.0" + } + }, + "css-parse": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-2.0.0.tgz", + "integrity": "sha1-pGjuZnwW2BzPBcWMONKpfHgNv9Q=", + "requires": { + "css": "2.2.4" + } + }, + "css-selector-parser": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/css-selector-parser/-/css-selector-parser-1.4.1.tgz", + "integrity": "sha512-HYPSb7y/Z7BNDCOrakL4raGO2zltZkbeXyAd6Tg9obzix6QhzxCotdBl6VT0Dv4vZfJGVz3WL/xaEI9Ly3ul0g==" + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + }, + "defaults": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "requires": { + "clone": "1.0.4" + } + }, + "doctypes": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/doctypes/-/doctypes-1.1.0.tgz", + "integrity": "sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk=" + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "requires": { + "is-arrayish": "0.2.1" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "escaper": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/escaper/-/escaper-3.0.3.tgz", + "integrity": "sha512-vspXdaMYWzEqpbym0NNU/cyDs2hH5JJGIqplEty9jsZfmYGTMyCt15c9yKoAtIdDOHipjYmCJVQwZ6wO8zXX6Q==" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + }, + "find-line-column": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/find-line-column/-/find-line-column-0.5.2.tgz", + "integrity": "sha1-2wAjj/hoVRoYLnShA0FtKVqYyMo=" + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "requires": { + "locate-path": "5.0.0", + "path-exists": "4.0.0" + } + }, + "find-versions": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-3.2.0.tgz", + "integrity": "sha512-P8WRou2S+oe222TOCHitLy8zj+SIsVJh52VP4lvXkaFVnOFFdoWv1H1Jjvel1aI6NCFOAaeAVm8qrI0odiLcww==", + "requires": { + "semver-regex": "2.0.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.4", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "requires": { + "ansi-regex": "2.1.1" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "husky": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/husky/-/husky-4.2.5.tgz", + "integrity": "sha512-SYZ95AjKcX7goYVZtVZF2i6XiZcHknw50iXvY7b0MiGoj5RwdgRQNEHdb+gPDPCXKlzwrybjFjkL6FOj8uRhZQ==", + "requires": { + "chalk": "4.0.0", + "ci-info": "2.0.0", + "compare-versions": "3.6.0", + "cosmiconfig": "6.0.0", + "find-versions": "3.2.0", + "opencollective-postinstall": "2.0.2", + "pkg-dir": "4.2.0", + "please-upgrade-node": "3.2.0", + "slash": "3.0.0", + "which-pm-runs": "1.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "requires": { + "@types/color-name": "1.1.1", + "color-convert": "2.0.1" + } + }, + "chalk": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", + "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==", + "requires": { + "ansi-styles": "4.2.1", + "supports-color": "7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "requires": { + "has-flag": "4.0.0" + } + } + } + }, + "import-fresh": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", + "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", + "requires": { + "parent-module": "1.0.1", + "resolve-from": "4.0.0" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "is-expression": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-expression/-/is-expression-3.0.0.tgz", + "integrity": "sha1-Oayqa+f9HzRx3ELHQW5hwkMXrJ8=", + "requires": { + "acorn": "4.0.13", + "object-assign": "4.1.1" + }, + "dependencies": { + "acorn": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=" + } + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" + }, + "is-regex": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", + "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", + "requires": { + "has": "1.0.3" + } + }, + "js-stringify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/js-stringify/-/js-stringify-1.0.2.tgz", + "integrity": "sha1-Fzb939lyTyijaCrcYjCufk6Weds=" + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" + }, + "jstransformer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz", + "integrity": "sha1-7Yvwkh4vPx7U1cGkT2hwntJHIsM=", + "requires": { + "is-promise": "2.1.0", + "promise": "7.3.1" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "1.1.6" + } + }, + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" + }, + "lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=" + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "requires": { + "p-locate": "4.1.0" + } + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=" + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "1.1.11" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "requires": { + "minimist": "1.2.5" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "native-require": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/native-require/-/native-require-1.1.4.tgz", + "integrity": "sha512-fOB7diEP3ErNZnMh+Zqdufw79rIPrcAbHanixB5WoWpfU06ZfoUjynGDDQ22uKBhkpgzcI3WXQglhzpWBPKKGA==" + }, + "node-watch": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/node-watch/-/node-watch-0.6.3.tgz", + "integrity": "sha512-InVPsg51EemnMVH3fvrrSVgqVBMlksZ/mK7ZDWx/NuWdNQi28wcVJX1/BP38alraPFXbRi9jZ35OfK4Ra7l8Bg==" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1.0.2" + } + }, + "opencollective-postinstall": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.2.tgz", + "integrity": "sha512-pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw==" + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "2.2.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "requires": { + "p-limit": "2.3.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "requires": { + "callsites": "3.1.0" + } + }, + "parse-json": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz", + "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==", + "requires": { + "@babel/code-frame": "7.8.3", + "error-ex": "1.3.2", + "json-parse-better-errors": "1.0.2", + "lines-and-columns": "1.1.6" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "requires": { + "find-up": "4.1.0" + } + }, + "please-upgrade-node": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz", + "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==", + "requires": { + "semver-compare": "1.0.0" + } + }, + "prettier": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==" + }, + "promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "requires": { + "asap": "2.0.6" + } + }, + "pug": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pug/-/pug-2.0.4.tgz", + "integrity": "sha512-XhoaDlvi6NIzL49nu094R2NA6P37ijtgMDuWE+ofekDChvfKnzFal60bhSdiy8y2PBO6fmz3oMEIcfpBVRUdvw==", + "requires": { + "pug-code-gen": "2.0.2", + "pug-filters": "3.1.1", + "pug-lexer": "4.1.0", + "pug-linker": "3.0.6", + "pug-load": "2.0.12", + "pug-parser": "5.0.1", + "pug-runtime": "2.0.5", + "pug-strip-comments": "1.0.4" + } + }, + "pug-attrs": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pug-attrs/-/pug-attrs-2.0.4.tgz", + "integrity": "sha512-TaZ4Z2TWUPDJcV3wjU3RtUXMrd3kM4Wzjbe3EWnSsZPsJ3LDI0F3yCnf2/W7PPFF+edUFQ0HgDL1IoxSz5K8EQ==", + "requires": { + "constantinople": "3.1.2", + "js-stringify": "1.0.2", + "pug-runtime": "2.0.5" + } + }, + "pug-cli": { + "version": "1.0.0-alpha6", + "resolved": "https://registry.npmjs.org/pug-cli/-/pug-cli-1.0.0-alpha6.tgz", + "integrity": "sha1-HKU56krA67ac5KroSu7V1k/+ZQE=", + "requires": { + "chalk": "1.1.3", + "commander": "2.20.3", + "mkdirp": "0.5.5", + "pug": "2.0.4" + } + }, + "pug-code-gen": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-2.0.2.tgz", + "integrity": "sha512-kROFWv/AHx/9CRgoGJeRSm+4mLWchbgpRzTEn8XCiwwOy6Vh0gAClS8Vh5TEJ9DBjaP8wCjS3J6HKsEsYdvaCw==", + "requires": { + "constantinople": "3.1.2", + "doctypes": "1.1.0", + "js-stringify": "1.0.2", + "pug-attrs": "2.0.4", + "pug-error": "1.3.3", + "pug-runtime": "2.0.5", + "void-elements": "2.0.1", + "with": "5.1.1" + } + }, + "pug-error": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/pug-error/-/pug-error-1.3.3.tgz", + "integrity": "sha512-qE3YhESP2mRAWMFJgKdtT5D7ckThRScXRwkfo+Erqga7dyJdY3ZquspprMCj/9sJ2ijm5hXFWQE/A3l4poMWiQ==" + }, + "pug-filters": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/pug-filters/-/pug-filters-3.1.1.tgz", + "integrity": "sha512-lFfjNyGEyVWC4BwX0WyvkoWLapI5xHSM3xZJFUhx4JM4XyyRdO8Aucc6pCygnqV2uSgJFaJWW3Ft1wCWSoQkQg==", + "requires": { + "clean-css": "4.2.3", + "constantinople": "3.1.2", + "jstransformer": "1.0.0", + "pug-error": "1.3.3", + "pug-walk": "1.1.8", + "resolve": "1.15.1", + "uglify-js": "2.8.29" + } + }, + "pug-lexer": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/pug-lexer/-/pug-lexer-4.1.0.tgz", + "integrity": "sha512-i55yzEBtjm0mlplW4LoANq7k3S8gDdfC6+LThGEvsK4FuobcKfDAwt6V4jKPH9RtiE3a2Akfg5UpafZ1OksaPA==", + "requires": { + "character-parser": "2.2.0", + "is-expression": "3.0.0", + "pug-error": "1.3.3" + } + }, + "pug-linker": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/pug-linker/-/pug-linker-3.0.6.tgz", + "integrity": "sha512-bagfuHttfQOpANGy1Y6NJ+0mNb7dD2MswFG2ZKj22s8g0wVsojpRlqveEQHmgXXcfROB2RT6oqbPYr9EN2ZWzg==", + "requires": { + "pug-error": "1.3.3", + "pug-walk": "1.1.8" + } + }, + "pug-lint": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/pug-lint/-/pug-lint-2.6.0.tgz", + "integrity": "sha512-bCENAUT0grCSlUBIfX1USjpZPQWs5QccxVZoCIT4S+IevTn9NqJyzhrcyq/CFVSCOp9Z+pdwPQIkzdCvZ1pGlQ==", + "requires": { + "acorn": "4.0.13", + "commander": "2.20.3", + "css-selector-parser": "1.4.1", + "find-line-column": "0.5.2", + "glob": "7.1.6", + "minimatch": "3.0.4", + "path-is-absolute": "1.0.1", + "pug-attrs": "2.0.4", + "pug-error": "1.3.3", + "pug-lexer": "4.1.0", + "resolve": "1.15.1", + "strip-json-comments": "2.0.1", + "void-elements": "2.0.1" + }, + "dependencies": { + "acorn": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=" + } + } + }, + "pug-load": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/pug-load/-/pug-load-2.0.12.tgz", + "integrity": "sha512-UqpgGpyyXRYgJs/X60sE6SIf8UBsmcHYKNaOccyVLEuT6OPBIMo6xMPhoJnqtB3Q3BbO4Z3Bjz5qDsUWh4rXsg==", + "requires": { + "object-assign": "4.1.1", + "pug-walk": "1.1.8" + } + }, + "pug-parser": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/pug-parser/-/pug-parser-5.0.1.tgz", + "integrity": "sha512-nGHqK+w07p5/PsPIyzkTQfzlYfuqoiGjaoqHv1LjOv2ZLXmGX1O+4Vcvps+P4LhxZ3drYSljjq4b+Naid126wA==", + "requires": { + "pug-error": "1.3.3", + "token-stream": "0.0.1" + } + }, + "pug-runtime": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/pug-runtime/-/pug-runtime-2.0.5.tgz", + "integrity": "sha512-P+rXKn9un4fQY77wtpcuFyvFaBww7/91f3jHa154qU26qFAnOe6SW1CbIDcxiG5lLK9HazYrMCCuDvNgDQNptw==" + }, + "pug-strip-comments": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/pug-strip-comments/-/pug-strip-comments-1.0.4.tgz", + "integrity": "sha512-i5j/9CS4yFhSxHp5iKPHwigaig/VV9g+FgReLJWWHEHbvKsbqL0oP/K5ubuLco6Wu3Kan5p7u7qk8A4oLLh6vw==", + "requires": { + "pug-error": "1.3.3" + } + }, + "pug-walk": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/pug-walk/-/pug-walk-1.1.8.tgz", + "integrity": "sha512-GMu3M5nUL3fju4/egXwZO0XLi6fW/K3T3VTgFQ14GxNi8btlxgT5qZL//JwZFm/2Fa64J/PNS8AZeys3wiMkVA==" + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + }, + "resolve": { + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.15.1.tgz", + "integrity": "sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w==", + "requires": { + "path-parse": "1.0.6" + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + }, + "right-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "requires": { + "align-text": "0.1.4" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=" + }, + "semver-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-2.0.0.tgz", + "integrity": "sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==" + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "requires": { + "atob": "2.1.2", + "decode-uri-component": "0.2.0", + "resolve-url": "0.2.1", + "source-map-url": "0.4.0", + "urix": "0.1.0" + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" + }, + "stlint": { + "version": "1.0.62", + "resolved": "https://registry.npmjs.org/stlint/-/stlint-1.0.62.tgz", + "integrity": "sha512-dLJO/hBJ5PVwBs4szTFCJZHvmSVXkPdRFGCNWScfZ8LdDO+Jtysx+zfrUDy6ueMZQCLo3W9nmUwcLsXGCZEy4Q==", + "requires": { + "@types/yargs": "15.0.4", + "async": "2.6.3", + "chalk": "2.4.2", + "columnify": "1.5.4", + "escaper": "3.0.3", + "glob": "7.1.6", + "husky": "4.2.5", + "native-require": "1.1.4", + "node-watch": "0.6.3", + "prettier": "1.19.1", + "strip-json-comments": "2.0.1", + "stylus": "0.54.7", + "yargs": "13.3.2" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "1.9.3" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "requires": { + "string-width": "3.1.0", + "strip-ansi": "5.2.0", + "wrap-ansi": "5.1.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "requires": { + "locate-path": "3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "requires": { + "p-locate": "3.0.0", + "path-exists": "3.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "requires": { + "p-limit": "2.3.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "4.1.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "3.0.0" + } + }, + "yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "requires": { + "cliui": "5.0.0", + "find-up": "3.0.0", + "get-caller-file": "2.0.5", + "require-directory": "2.1.1", + "require-main-filename": "2.0.0", + "set-blocking": "2.0.0", + "string-width": "3.1.0", + "which-module": "2.0.0", + "y18n": "4.0.0", + "yargs-parser": "13.1.2" + } + } + } + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "7.0.3", + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "5.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "4.1.0" + } + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" + }, + "stylus": { + "version": "0.54.7", + "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.54.7.tgz", + "integrity": "sha512-Yw3WMTzVwevT6ZTrLCYNHAFmanMxdylelL3hkWNgPMeTCpMwpV3nXjpOHuBXtFv7aiO2xRuQS6OoAdgkNcSNug==", + "requires": { + "css-parse": "2.0.0", + "debug": "3.1.0", + "glob": "7.1.6", + "mkdirp": "0.5.5", + "safer-buffer": "2.1.2", + "sax": "1.2.4", + "semver": "6.3.0", + "source-map": "0.7.3" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + }, + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" + } + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + }, + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=" + }, + "token-stream": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/token-stream/-/token-stream-0.0.1.tgz", + "integrity": "sha1-zu78cXp2xDFvEm0LnbqlXX598Bo=" + }, + "uglify-js": { + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "requires": { + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + } + } + }, + "uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "optional": true + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + }, + "void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", + "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=" + }, + "wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "requires": { + "defaults": "1.0.3" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + }, + "which-pm-runs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz", + "integrity": "sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=" + }, + "window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=" + }, + "with": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/with/-/with-5.1.1.tgz", + "integrity": "sha1-+k2qktrzLE6pTtRTyB8EaGtXXf4=", + "requires": { + "acorn": "3.3.0", + "acorn-globals": "3.1.0" + } + }, + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=" + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "requires": { + "ansi-styles": "3.2.1", + "string-width": "3.1.0", + "strip-ansi": "5.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "1.9.3" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "4.1.0" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" + }, + "yaml": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.9.2.tgz", + "integrity": "sha512-HPT7cGGI0DuRcsO51qC1j9O16Dh1mZ2bnXwsi0jrSpsLz0WxOLSLXfkABVl6bZO629py3CU+OMJtpNHDLB97kg==", + "requires": { + "@babel/runtime": "7.9.2" + } + }, + "yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "requires": { + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", + "window-size": "0.1.0" + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "requires": { + "camelcase": "5.3.1", + "decamelize": "1.2.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + } + } + } + } +} diff --git a/Ironcrunch/src/package.json b/Ironcrunch/src/package.json new file mode 100644 index 0000000000..565185795f --- /dev/null +++ b/Ironcrunch/src/package.json @@ -0,0 +1,22 @@ +{ + "name": "ironcrunch", + "version": "0.0.1", + "description": "Roll20 character sheet for the RPG ironcrunch", + "main": "ironcrunch.html", + "scripts": { + "build:pug": "NODE_OPTIONS=--max-old-space-size=8192 pug -w . -o ../dist -P", + "build:pug:win": "pug -w . -o ../dist -P", + "build:css": "stylus -w . -o ../dist", + "lint:pug": "pug-lint", + "lint:css": "stlint", + "migrate": "mv ../dist/Ironcrunch.html ../Ironcrunch.html && mv ../dist/Ironcrunch.css ../Ironcrunch.css" + }, + "author": "Ayethin", + "dependencies": { + "pug": "2.0.4", + "pug-cli": "1.0.0-alpha6", + "pug-lint": "2.6.0", + "stlint": "1.0.62", + "stylus": "0.54.7" + } +} diff --git a/Ironcrunch/src/pages/character/assets.pug b/Ironcrunch/src/pages/character/assets.pug new file mode 100644 index 0000000000..c30120acef --- /dev/null +++ b/Ironcrunch/src/pages/character/assets.pug @@ -0,0 +1,7 @@ +include ../../components/assets/assets + +div.sheet-page-container + input(type='radio' name='attr_character_page' class='sheet-assets sheet-hide' value='8') + div.sheet-assets.sheet-showhide + h3.sheet-divide  ASSETS  + +assets \ No newline at end of file diff --git a/Ironcrunch/src/pages/character/bonds.pug b/Ironcrunch/src/pages/character/bonds.pug new file mode 100644 index 0000000000..c76ee77ebd --- /dev/null +++ b/Ironcrunch/src/pages/character/bonds.pug @@ -0,0 +1,9 @@ +include ../../components/bonds/track +include ../../components/bonds/bonds + +div.sheet-page-container + input(type='radio' name='attr_character_page' class='sheet-bonds sheet-hide' value='4') + div.sheet-bonds.sheet-showhide + h3.sheet-divide  BONDS  + +bondsTrack + +bonds \ No newline at end of file diff --git a/Ironcrunch/src/pages/character/conditions.pug b/Ironcrunch/src/pages/character/conditions.pug new file mode 100644 index 0000000000..a6321a22fa --- /dev/null +++ b/Ironcrunch/src/pages/character/conditions.pug @@ -0,0 +1,13 @@ +include ../../components/conditions/conditions +include ../../components/conditions/cards + +div.sheet-page-container + input(type='radio' name='attr_character_page' class='sheet-conditions sheet-hide' value='6') + div.sheet-conditions.sheet-showhide + h3.sheet-divide  CONDITIONS  + +conditionList({character: true}) + h3.sheet-divide  CARDS  + .sheet-condition-cards + +conditionCards({character: true}) + //- Hidden Logic + input.sheet-hide(type='text' name="attr_encumbered_enabled" value='0') \ No newline at end of file diff --git a/Ironcrunch/src/pages/character/effort.pug b/Ironcrunch/src/pages/character/effort.pug new file mode 100644 index 0000000000..738adfaf0e --- /dev/null +++ b/Ironcrunch/src/pages/character/effort.pug @@ -0,0 +1,10 @@ +include ../../components/effort/effort +include ../../components/effort/data + +div.sheet-page-container + input(type='radio' name='attr_character_page' class='sheet-effort sheet-hide' value='9') + div.sheet-effort.sheet-showhide + h3.sheet-divide  EFFORT LEVELS  + .sheet-effort-container + each group in efforts + +effortGroup(group) \ No newline at end of file diff --git a/Ironcrunch/src/pages/character/equipment.pug b/Ironcrunch/src/pages/character/equipment.pug new file mode 100644 index 0000000000..5962d74958 --- /dev/null +++ b/Ironcrunch/src/pages/character/equipment.pug @@ -0,0 +1,19 @@ +include ../../components/equipment/weapons/weapons +include ../../components/equipment/armor/armor +include ../../components/equipment/shields/shields +include ../../components/equipment/addons/addons +include ../../components/equipment/provisions/provisions + +div.sheet-page-container + input(type='radio' name='attr_character_page' class='sheet-equipment sheet-hide' value='7') + div.sheet-equipment.sheet-showhide + h4.sheet-sub-header WEAPONS + +weapons + h4.sheet-sub-header ARMOR + +armor + h4.sheet-sub-header SHIELDS + +shields + h4.sheet-sub-header ADDONS + +addons + h4.sheet-sub-header PROVISIONS + +provisions \ No newline at end of file diff --git a/Ironcrunch/src/pages/character/index.pug b/Ironcrunch/src/pages/character/index.pug new file mode 100644 index 0000000000..4366e568d2 --- /dev/null +++ b/Ironcrunch/src/pages/character/index.pug @@ -0,0 +1,24 @@ +//- Header +include ../../components/header/character + +//- Nav Bar +include ../../components/nav/character + +//- Pages +include ./summary +include ./vows +include ./motivations +include ./bonds +include ./proficiencies +include ./conditions +include ./equipment +include ./assets +include ./effort +include ./moves +include ./progress +include ./oracles +include ./sites +include ./settings + +//- Footer +include ../../components/momentum/momentum \ No newline at end of file diff --git a/Ironcrunch/src/pages/character/motivations.pug b/Ironcrunch/src/pages/character/motivations.pug new file mode 100644 index 0000000000..cc5afa6335 --- /dev/null +++ b/Ironcrunch/src/pages/character/motivations.pug @@ -0,0 +1,5 @@ +div.sheet-page-container + input(type='radio' name='attr_character_page' class='sheet-motivations sheet-hide' value='3') + div.sheet-motivations.sheet-showhide + h3.sheet-divide  MOTIVATIONS  + include ../../components/motivations/motivations \ No newline at end of file diff --git a/Ironcrunch/src/pages/character/moves.pug b/Ironcrunch/src/pages/character/moves.pug new file mode 100644 index 0000000000..d58b17f2a7 --- /dev/null +++ b/Ironcrunch/src/pages/character/moves.pug @@ -0,0 +1,5 @@ +div.sheet-page-container + input(type='radio' name='attr_character_page' class='sheet-moves sheet-hide' value='10') + div.sheet-moves.sheet-showhide + h3.sheet-divide  MOVES  + include ../../components/moves/moves \ No newline at end of file diff --git a/Ironcrunch/src/pages/character/oracles.pug b/Ironcrunch/src/pages/character/oracles.pug new file mode 100644 index 0000000000..24d04df1a3 --- /dev/null +++ b/Ironcrunch/src/pages/character/oracles.pug @@ -0,0 +1,46 @@ +include ../../components/oracles/ironsworn +include ../../components/oracles/delve +include ../../components/oracles/oracle-builder +include ../../data/oracles + +div.sheet-page-container + input(type='radio' name='attr_character_page' class='sheet-oracles sheet-hide' value='12') + div.sheet-oracles.sheet-showhide + h3.sheet-divide  ORACLES  + .sheet-nav-bar + .sheet-nav-row + .sheet-nav-child + label.sheet-page-label + input(type='radio' name='attr_oracle_page_button' class='sheet-hide sheet-page-button' value='1' checked) + .sheet-page-button-back IRONCRUNCH + .sheet-nav-child + label.sheet-page-label + input(type='radio' name='attr_oracle_page_button' class='sheet-hide sheet-page-button' value='2' checked) + .sheet-page-button-back IRONSWORN + .sheet-nav-child + label.sheet-page-label + input(type='radio' name='attr_oracle_page_button' class='sheet-hide sheet-page-button' value='3') + div.sheet-page-button-back DELVE + + //- - var oracleList = [ 'ironcrunch', 'ironsworn', 'delve' ] + input.sheet-hide.sheet-oracle-ironcrunch(type='radio' name='attr_oracle_page' value='1' checked) + .sheet-oracle-ironcrunch.sheet-showhide + .oracle-container + .oracle-column.table-list + each group, key in oracles.ironcrunch + +oracleRollGroup(group, 'ironcrunch', key) + + .oracle-column.table-main + each group in oracles.ironcrunch + each oracle in group.oracles + +oracleBuilder(oracle, 'ironcrunch') + + input.sheet-hide.sheet-oracle-ironsworn(type='radio' name='attr_oracle_page' value='2') + .sheet-oracle-ironsworn.sheet-showhide + //- TODO: Covert into oracle builder + +ironswornOracles + + input.sheet-hide.sheet-oracle-delve(type='radio' name='attr_oracle_page' value='3') + .sheet-oracle-delve.sheet-showhide + //- TODO: Covert into oracle builder + +delveOracles \ No newline at end of file diff --git a/Ironcrunch/src/pages/character/proficiencies.pug b/Ironcrunch/src/pages/character/proficiencies.pug new file mode 100644 index 0000000000..6c21294004 --- /dev/null +++ b/Ironcrunch/src/pages/character/proficiencies.pug @@ -0,0 +1,5 @@ +div.sheet-page-container + input(type='radio' name='attr_character_page' class='sheet-proficiencies sheet-hide' value='5') + div.sheet-proficiencies.sheet-showhide + h3.sheet-divide  WEAPON PROFICIENCIES  + include ../../components/proficiencies/weapons \ No newline at end of file diff --git a/Ironcrunch/src/pages/character/progress.pug b/Ironcrunch/src/pages/character/progress.pug new file mode 100644 index 0000000000..bcbd664536 --- /dev/null +++ b/Ironcrunch/src/pages/character/progress.pug @@ -0,0 +1,5 @@ +div.sheet-page-container + input(type='radio' name='attr_character_page' class='sheet-progress sheet-hide' value='11') + div.sheet-progress.sheet-showhide + h3.sheet-divide  PROGRESS  + include ../../components/progress/progress \ No newline at end of file diff --git a/Ironcrunch/src/pages/character/settings.pug b/Ironcrunch/src/pages/character/settings.pug new file mode 100644 index 0000000000..8eebfd759b --- /dev/null +++ b/Ironcrunch/src/pages/character/settings.pug @@ -0,0 +1,5 @@ +div.sheet-page-container + input(type='radio' name='attr_character_page' class='sheet-settings sheet-hide' value='13') + div.sheet-settings.sheet-showhide + h3.sheet-divide  SETTINGS  + include ../../components/settings/settings \ No newline at end of file diff --git a/Ironcrunch/src/pages/character/sites.pug b/Ironcrunch/src/pages/character/sites.pug new file mode 100644 index 0000000000..5347fa3dba --- /dev/null +++ b/Ironcrunch/src/pages/character/sites.pug @@ -0,0 +1,5 @@ +div.sheet-page-container + input(type='radio' name='attr_character_page' class='sheet-sites sheet-hide' value='14') + div.sheet-sites.sheet-showhide + h3.sheet-divide  SITES  + include ../../components/sites/sites \ No newline at end of file diff --git a/Ironcrunch/src/pages/character/summary.pug b/Ironcrunch/src/pages/character/summary.pug new file mode 100644 index 0000000000..fbc7ecb656 --- /dev/null +++ b/Ironcrunch/src/pages/character/summary.pug @@ -0,0 +1,7 @@ +div.sheet-page-container + input(type='radio' name='attr_character_page' class='sheet-summary sheet-hide' value='1' checked) + div.sheet-summary.sheet-showhide + include ../../components/stats/character + include ../../components/details/character + include ../../components/misses/track + include ../../components/notes/notes \ No newline at end of file diff --git a/Ironcrunch/src/pages/character/vows.pug b/Ironcrunch/src/pages/character/vows.pug new file mode 100644 index 0000000000..f3d8469326 --- /dev/null +++ b/Ironcrunch/src/pages/character/vows.pug @@ -0,0 +1,5 @@ +div.sheet-page-container + input(type='radio' name='attr_character_page' class='sheet-vows sheet-hide' value='2') + div.sheet-vows.sheet-showhide + h3.sheet-divide  VOWS  + include ../../components/vows/vows \ No newline at end of file diff --git a/Ironcrunch/src/pages/companion/index.pug b/Ironcrunch/src/pages/companion/index.pug new file mode 100644 index 0000000000..c7aad047e1 --- /dev/null +++ b/Ironcrunch/src/pages/companion/index.pug @@ -0,0 +1,9 @@ +//- Header +include ../../components/header/companion + +//- Nav Bar +include ../../components/nav/companion + +//- Pages +include ./summary +include ./proficiencies \ No newline at end of file diff --git a/Ironcrunch/src/pages/companion/proficiencies.pug b/Ironcrunch/src/pages/companion/proficiencies.pug new file mode 100644 index 0000000000..6c69d711c6 --- /dev/null +++ b/Ironcrunch/src/pages/companion/proficiencies.pug @@ -0,0 +1,4 @@ +input(type='radio' name='attr_companion_page' class='sheet-proficiencies sheet-hide' value='2') +div.sheet-proficiencies.sheet-showhide + h3.sheet-divide  WEAPON PROFICIENCIES  + include ../../components/proficiencies/weapons \ No newline at end of file diff --git a/Ironcrunch/src/pages/companion/summary.pug b/Ironcrunch/src/pages/companion/summary.pug new file mode 100644 index 0000000000..f4156aa308 --- /dev/null +++ b/Ironcrunch/src/pages/companion/summary.pug @@ -0,0 +1,5 @@ +input(type='radio' name='attr_companion_page' class='sheet-summary sheet-hide' value='1' checked) +div.sheet-summary.sheet-showhide + include ../../components/stats/companion + include ../../components/details/companion + include ../../components/notes/notes \ No newline at end of file diff --git a/Ironcrunch/src/pages/index.pug b/Ironcrunch/src/pages/index.pug new file mode 100644 index 0000000000..d457087812 --- /dev/null +++ b/Ironcrunch/src/pages/index.pug @@ -0,0 +1,27 @@ +//- - var pages = [ 'character', 'companion', 'shared', 'foe' ] +- var pages = [ 'character' ] +input(type='checkbox' name='attr_modes_choice' class='modes-show hide' checked) +div.modes-show.hide + div.mode-title + h2.mode-title SELECT THE SHEET TYPE + div.modes + + each page, index in pages + label.mode + h4=page.toUpperCase() + div.mode + input(type='radio' name='attr_mode_button' class='hide' value=index) + div.mode-image + img(src='https://raw.githubusercontent.com/Roll20/roll20-character-sheets/Ironcrunch/assets/character-sheet.png') + +input(type='radio' name='attr_mode' class='character-mode hide' value='0') +div.character-mode.hide + include ./character/index + +//- input(type='radio' name='attr_mode' class='companion-mode hide' value='1') +//- div.companion-mode.hide +//- include ./companion/index + +//- input(type='radio' name='attr_mode' class='shared-mode hide' value='2') +//- div.shared-mode.hide +//- include ./shared/index \ No newline at end of file diff --git a/Ironcrunch/src/pages/index.styl b/Ironcrunch/src/pages/index.styl new file mode 100644 index 0000000000..14003fa170 --- /dev/null +++ b/Ironcrunch/src/pages/index.styl @@ -0,0 +1,70 @@ +.sheet-modes + display flex + justify-content space-evenly + +h2.sheet-mode-title + text-align center + +div.sheet-mode-title + margin-bottom 2em + +label.sheet-mode + text-align center + +label.sheet-mode + margin 0.5em + padding 0 + cursor pointer + box-shadow: 1px 1px 19px 6px rgba(0,0,0,0.15); + opacity 1 + z-index 5 + width: auto; + &:hover + h4 + color #797979 + transition: .5s ease; + .sheet-mode-image + opacity 0.7 + transition: .5s ease; + h4 + margin-bottom 0.5em + margin-top 0.5em + +input[type=radio].sheet-character-mode:checked ~ div.sheet-character-mode, +input[type=radio].sheet-companion-mode:checked ~ div.sheet-companion-mode, +input[type=radio].sheet-shared-mode:checked ~ div.sheet-shared-mode + display block + +input[type=checkbox].sheet-modes-show:checked ~ div.sheet-modes-show + display block + +div.sheet-mode + display: flex + justify-content: center + width fit-content + width -moz-fit-content + margin 0 + +.sheet-mode-image + display flex + +input[type=radio].sheet-bonds:checked ~ div.sheet-bonds, +input[type=radio].sheet-summary:checked ~ div.sheet-summary, +input[type=radio].sheet-motivations:checked ~ div.sheet-motivations, +input[type=radio].sheet-vows:checked ~ div.sheet-vows, +input[type=radio].sheet-proficiencies:checked ~ div.sheet-proficiencies, +input[type=radio].sheet-conditions:checked ~ div.sheet-conditions, +input[type=radio].sheet-equipment:checked ~ div.sheet-equipment, +input[type=radio].sheet-assets:checked ~ div.sheet-assets, +input[type=radio].sheet-effort:checked ~ div.sheet-effort, +input[type=radio].sheet-moves:checked ~ div.sheet-moves, +input[type=radio].sheet-progress:checked ~ div.sheet-progress, +input[type=radio].sheet-oracles:checked ~ div.sheet-oracles, +input[type=radio].sheet-settings:checked ~ div.sheet-settings, +input[type=radio].sheet-sites:checked ~ div.sheet-sites + display block + show-hide() + +.sheet-sub-header + margin-top 1em + border-bottom 3px solid #4C4D4F \ No newline at end of file diff --git a/Ironcrunch/src/pages/shared/index.pug b/Ironcrunch/src/pages/shared/index.pug new file mode 100644 index 0000000000..e69de29bb2 diff --git a/Ironcrunch/src/roll-templates/index.pug b/Ironcrunch/src/roll-templates/index.pug new file mode 100644 index 0000000000..57fea52504 --- /dev/null +++ b/Ironcrunch/src/roll-templates/index.pug @@ -0,0 +1,5 @@ +include ./oracles/ironcrunch +include ./oracles/ironsworn +include ./oracles/delve +include ./moves/moves +include ./progress/progress diff --git a/Ironcrunch/src/roll-templates/mixins/actions.pug b/Ironcrunch/src/roll-templates/mixins/actions.pug new file mode 100644 index 0000000000..dd201ca0a6 --- /dev/null +++ b/Ironcrunch/src/roll-templates/mixins/actions.pug @@ -0,0 +1,80 @@ +include ./outcomes +include ./body + +mixin standardAction(type) + | {{#rollGreater() #{type} challenge1}} + | {{#rollTotal() challenge1 challenge2}} + +opportunity + | {{/rollTotal() challenge1 challenge2}} + | {{#^rollTotal() challenge1 challenge2}} + | {{#rollGreater() #{type} challenge2}} + +strongHit + | {{/rollGreater() #{type} challenge2}} + | {{#^rollGreater() #{type} challenge2}} + +weakHit + | {{/^rollGreater() #{type} challenge2}} + | {{/^rollTotal() challenge1 challenge2}} + | {{/rollGreater() #{type} challenge1}} + | {{#^rollGreater() #{type} challenge1}} + | {{#rollTotal() challenge1 challenge2}} + +complication + | {{/rollTotal() challenge1 challenge2}} + | {{#^rollTotal() challenge1 challenge2}} + | {{#rollGreater() #{type} challenge2}} + +weakHit + | {{/rollGreater() #{type} challenge2}} + | {{#^rollGreater() #{type} challenge2}} + +miss + | {{/^rollGreater() #{type} challenge2}} + | {{/^rollTotal() challenge1 challenge2}} + | {{/^rollGreater() #{type} challenge1}} + +mixin standardActionWithMomentum(type) + | {{#rollGreater() #{type} challenge1}} + | {{#rollTotal() challenge1 challenge2}} + +opportunity + | {{/rollTotal() challenge1 challenge2}} + | {{#^rollTotal() challenge1 challenge2}} + | {{#rollGreater() #{type} challenge2}} + +strongHit + | {{/rollGreater() #{type} challenge2}} + | {{#^rollGreater() #{type} challenge2}} + +weakHit + | {{#rollGreater() momentum challenge2}} + +momentumStrongHit + | {{/rollGreater() momentum challenge2}} + | {{/^rollGreater() #{type} challenge2}} + | {{/^rollTotal() challenge1 challenge2}} + | {{/rollGreater() #{type} challenge1}} + | {{#^rollGreater() #{type} challenge1}} + | {{#rollTotal() challenge1 challenge2}} + +complication + | {{#rollGreater() momentum challenge1}} + +momentumStrongHit + | {{/rollGreater() momentum challenge1}} + | {{/rollTotal() challenge1 challenge2}} + | {{#^rollTotal() challenge1 challenge2}} + | {{#rollGreater() #{type} challenge2}} + +weakHit + | {{#rollGreater() momentum challenge1}} + +momentumStrongHit + | {{/rollGreater() momentum challenge1}} + | {{/rollGreater() #{type} challenge2}} + | {{#^rollGreater() #{type} challenge2}} + +miss + | {{#rollGreater() momentum challenge1}} + | {{#rollGreater() momentum challenge2}} + +momentumStrongHit + | {{/rollGreater() momentum challenge2}} + | {{#^rollGreater() momentum challenge2}} + +momentumWeakHit + | {{/^rollGreater() momentum challenge2}} + | {{/rollGreater() momentum challenge1}} + | {{#^rollGreater() momentum challenge1}} + | {{#rollGreater() momentum challenge2}} + +momentumWeakHit + | {{/rollGreater() momentum challenge2}} + | {{/^rollGreater() momentum challenge1}} + | {{/^rollGreater() #{type} challenge2}} + | {{/^rollTotal() challenge1 challenge2}} + | {{/^rollGreater() #{type} challenge1}} diff --git a/Ironcrunch/src/roll-templates/mixins/body.pug b/Ironcrunch/src/roll-templates/mixins/body.pug new file mode 100644 index 0000000000..007cc7739f --- /dev/null +++ b/Ironcrunch/src/roll-templates/mixins/body.pug @@ -0,0 +1,21 @@ +mixin challengeDice + .sheet-result-body.sheet-result-row + div Challenge Dice: + div {{challenge1}} {{challenge2}} + +mixin actionBody + .sheet-result-body.sheet-result-row + div Action Score: + div {{action}} + +challengeDice + +mixin progressBody + .sheet-result-body.sheet-result-row + div {{progress_type}} Progress: + div {{progress}} + +challengeDice + +mixin momentumBody + .sheet-result-body.sheet-result-row + div.sheet-momentum-title Momentum: + div {{momentum}} \ No newline at end of file diff --git a/Ironcrunch/src/roll-templates/mixins/headers.pug b/Ironcrunch/src/roll-templates/mixins/headers.pug new file mode 100644 index 0000000000..5936dcf33a --- /dev/null +++ b/Ironcrunch/src/roll-templates/mixins/headers.pug @@ -0,0 +1,10 @@ +mixin subHeader + div.sheet-subheader {{header}} + +mixin actionHeader + +subHeader + div.sheet-roll-name {{name}} + +mixin progressHeader + +subHeader + div.sheet-progress-name {{progress_name}} \ No newline at end of file diff --git a/Ironcrunch/src/roll-templates/mixins/negations.pug b/Ironcrunch/src/roll-templates/mixins/negations.pug new file mode 100644 index 0000000000..6dbfc755c4 --- /dev/null +++ b/Ironcrunch/src/roll-templates/mixins/negations.pug @@ -0,0 +1,42 @@ +include ./actions +include ./body + +mixin actionDieNegated(opts) + div.sheet-result-body.sheet-result-row + div Previous Action Score: + div {{action}} + div.sheet-result-body.sheet-result-row + if opts.momentum + div.sheet-subfooter.sheet-alert Action die cancelled for matching negative momentum. + if opts.encumbered + div.sheet-subfooter.sheet-alert Encumbered: Action die cancelled for being greater than or matching max load. + div.sheet-result-body.sheet-result-row + div Stat + Add: + div {{stat}} + {{add}} + div.sheet-result-body.sheet-result-row + div New Action Score: + div {{modifiers}} + div.sheet-result-body.sheet-result-row + div Challenge Dice: + div {{challenge1}} {{challenge2}} + if opts.encumbered + +standardActionWithMomentum('modifiers') + else + +standardAction('modifiers') + +mixin negationRoll(opts) + | {{#rollTotal() momentum #{opts.momentum}}} + | {{#rollTotal() action negate#{opts.die1}}} + +actionDieNegated({momentum: true}) + | {{/rollTotal() action negate#{opts.die1}}} + | {{#^rollTotal() action negate#{opts.die1}}} + | {{#rollTotal() action negate#{opts.die2}}} + +actionDieNegated({momentum: true}) + | {{/rollTotal() action negate#{opts.die2}}} + | {{#^rollTotal() action negate#{opts.die2}}} + +actionBody + +standardAction('action') + | {{/^rollTotal() action negate#{opts.die2}}} + | {{/^rollTotal() action negate#{opts.die1}}} + | {{/rollTotal() momentum #{opts.momentum}}} + \ No newline at end of file diff --git a/Ironcrunch/src/roll-templates/mixins/oracles.pug b/Ironcrunch/src/roll-templates/mixins/oracles.pug new file mode 100644 index 0000000000..e69de29bb2 diff --git a/Ironcrunch/src/roll-templates/mixins/outcomes.pug b/Ironcrunch/src/roll-templates/mixins/outcomes.pug new file mode 100644 index 0000000000..5558242965 --- /dev/null +++ b/Ironcrunch/src/roll-templates/mixins/outcomes.pug @@ -0,0 +1,38 @@ +include ./body + +mixin opportunity + div.sheet-result-row.sheet-roll-outcome + div.sheet-opportunity + div.sheet-subfooter OPPORTUNITY + +mixin strongHit + div.sheet-result-row.sheet-roll-outcome + div.sheet-strong-hit + div.sheet-subfooter STRONG HIT + +mixin momentumStrongHit + +momentumBody + div.sheet-result-row.sheet-roll-outcome + div.sheet-strong-hit + div.sheet-subfooter Burn Momentum: Strong Hit + +mixin weakHit + div.sheet-result-row.sheet-roll-outcome + div.sheet-weak-hit + div.sheet-subfooter WEAK HIT + +mixin momentumWeakHit + +momentumBody + div.sheet-result-row.sheet-roll-outcome + div.sheet-weak-hit + div.sheet-subfooter Burn Momentum: Weak Hit + +mixin miss + div.sheet-result-row.sheet-roll-outcome + div.sheet-miss + div.sheet-subfooter MISS + +mixin complication + div.sheet-result-row.sheet-roll-outcome + div.sheet-complication + div.sheet-subfooter COMPLICATION diff --git a/Ironcrunch/src/roll-templates/mixins/outcomes.styl b/Ironcrunch/src/roll-templates/mixins/outcomes.styl new file mode 100644 index 0000000000..3502abda73 --- /dev/null +++ b/Ironcrunch/src/roll-templates/mixins/outcomes.styl @@ -0,0 +1,5 @@ +outcome-base(background) + width 4em + margin 0.3em + border-radius 1em + background-color background \ No newline at end of file diff --git a/Ironcrunch/src/roll-templates/mixins/rolls.styl b/Ironcrunch/src/roll-templates/mixins/rolls.styl new file mode 100644 index 0000000000..73c54b145e --- /dev/null +++ b/Ironcrunch/src/roll-templates/mixins/rolls.styl @@ -0,0 +1,27 @@ +sub-base(background, padding) + line-height 1.5em + font-style italic + font-weight 900 + text-align left + padding padding + background-color background + +name-base(align) + padding 0.2em 1em 0.2em 1em + text-align align + font-variant-caps all-small-caps + +roll-container() + background #33323c + color white + font-size 1em + std-font('Roboto') + border 1px solid black + +inline-roll() + display inline-block + min-width 1.5em + text-align center + border 2px solid #33323c + background transparent + border-radius 1em \ No newline at end of file diff --git a/Ironcrunch/src/roll-templates/moves/moves.pug b/Ironcrunch/src/roll-templates/moves/moves.pug new file mode 100644 index 0000000000..0c7c811b1d --- /dev/null +++ b/Ironcrunch/src/roll-templates/moves/moves.pug @@ -0,0 +1,58 @@ +include ../mixins/negations +include ../mixins/headers +include ../mixins/body +include ../mixins/actions + +- + var momentumNeg = [ + { momentum: '-1', die1: '1', die2: '2' }, + { momentum: '-2', die1: '3', die2: '4' }, + { momentum: '-3', die1: '5', die2: '6' }, + { momentum: '-4', die1: '7', die2: '8' }, + { momentum: '-5', die1: '9', die2: '10' }, + { momentum: '-6', die1: '11', die2: '12' } + ] + +rolltemplate.sheet-rolltemplate-ironcrunch_moves + div.sheet-roll-container + | {{#action}} + +actionHeader + | {{#rollTotal() encumbered 1}} + | {{#rollBetween() action loadEncMin loadEncMax}} + +actionDieNegated({encumbered: true}) + | {{/rollBetween() action loadEncMin loadEncMax}} + | {{#^rollBetween() action loadEncMin loadEncMax}} + | {{#rollLess() momentum 0}} + each momentum in momentumNeg + +negationRoll(momentum) + | {{/rollLess() momentum 0}} + | {{#^rollLess() momentum 0}} + +actionBody + +standardActionWithMomentum('action') + | {{/^rollLess() momentum 0}} + | {{/^rollBetween() action loadEncMin loadEncMax}} + | {{/rollTotal() encumbered 1}} + | {{#^rollTotal() encumbered 1}} + | {{#rollLess() momentum 0}} + each momentum in momentumNeg + +negationRoll(momentum) + | {{/rollLess() momentum 0}} + | {{#^rollLess() momentum 0}} + +actionBody + +standardActionWithMomentum('action') + | {{/^rollLess() momentum 0}} + | {{/^rollTotal() encumbered 1}} + | {{/action}} + | {{#custom}} + | {{#header}} + div.sheet-result-body.sheet-result-row + div.sheet-subheader {{header}} + | {{/header}} + div.sheet-result-body.sheet-result-row + div {{name}} + | {{#allprops() custom name header}} + div.sheet-result-body.sheet-result-row + div {{key}} + div {{value}} + | {{/allprops() custom name header}} + | {{/custom}} \ No newline at end of file diff --git a/Ironcrunch/src/roll-templates/oracles/delve.pug b/Ironcrunch/src/roll-templates/oracles/delve.pug new file mode 100644 index 0000000000..a049a22ade --- /dev/null +++ b/Ironcrunch/src/roll-templates/oracles/delve.pug @@ -0,0 +1,2256 @@ +rolltemplate.sheet-rolltemplate-delve_oracles + .sheet-roll-container + .sheet-subheader {{header}} + | {{#featureAspect}} + .sheet-result-row + .sheet-oracle-dice + | {{featureAspect}} + .sheet-oracle-table-text + | {{#rollBetween() featureAspect 1 2}} + | Blocked + | {{/rollBetween() featureAspect 1 2}} + | {{#rollBetween() featureAspect 3 4}} + | Crafted + | {{/rollBetween() featureAspect 3 4}} + | {{#rollBetween() featureAspect 5 6}} + | Ancient + | {{/rollBetween() featureAspect 5 6}} + | {{#rollBetween() featureAspect 7 8}} + | Sunken + | {{/rollBetween() featureAspect 7 8}} + | {{#rollBetween() featureAspect 9 10}} + | Trapped + | {{/rollBetween() featureAspect 9 10}} + | {{#rollBetween() featureAspect 11 12}} + | Secret + | {{/rollBetween() featureAspect 11 12}} + | {{#rollBetween() featureAspect 13 14}} + | Toxic + | {{/rollBetween() featureAspect 13 14}} + | {{#rollBetween() featureAspect 15 16}} + | Ruined + | {{/rollBetween() featureAspect 15 16}} + | {{#rollBetween() featureAspect 17 18}} + | Defended + | {{/rollBetween() featureAspect 17 18}} + | {{#rollBetween() featureAspect 19 20}} + | Decaying + | {{/rollBetween() featureAspect 19 20}} + | {{#rollBetween() featureAspect 21 22}} + | Marked + | {{/rollBetween() featureAspect 21 22}} + | {{#rollBetween() featureAspect 23 24}} + | Guarded + | {{/rollBetween() featureAspect 23 24}} + | {{#rollBetween() featureAspect 25 26}} + | Inaccessible + | {{/rollBetween() featureAspect 25 26}} + | {{#rollBetween() featureAspect 27 28}} + | Foreboding + | {{/rollBetween() featureAspect 27 28}} + | {{#rollBetween() featureAspect 29 30}} + | Veiled + | {{/rollBetween() featureAspect 29 30}} + | {{#rollBetween() featureAspect 31 32}} + | Deep + | {{/rollBetween() featureAspect 31 32}} + | {{#rollBetween() featureAspect 33 34}} + | Depleted + | {{/rollBetween() featureAspect 33 34}} + | {{#rollBetween() featureAspect 35 36}} + | Foul + | {{/rollBetween() featureAspect 35 36}} + | {{#rollBetween() featureAspect 37 38}} + | Elevated + | {{/rollBetween() featureAspect 37 38}} + | {{#rollBetween() featureAspect 39 40}} + | Moving + | {{/rollBetween() featureAspect 39 40}} + | {{#rollBetween() featureAspect 41 42}} + | Unnatural + | {{/rollBetween() featureAspect 41 42}} + | {{#rollBetween() featureAspect 43 44}} + | Active + | {{/rollBetween() featureAspect 43 44}} + | {{#rollBetween() featureAspect 45 46}} + | Confined + | {{/rollBetween() featureAspect 45 46}} + | {{#rollBetween() featureAspect 47 48}} + | Fortified + | {{/rollBetween() featureAspect 47 48}} + | {{#rollBetween() featureAspect 49 50}} + | Collapsed + | {{/rollBetween() featureAspect 49 50}} + | {{#rollBetween() featureAspect 51 52}} + | Isolated + | {{/rollBetween() featureAspect 51 52}} + | {{#rollBetween() featureAspect 53 54}} + | Destroyed + | {{/rollBetween() featureAspect 53 54}} + | {{#rollBetween() featureAspect 55 56}} + | Open + | {{/rollBetween() featureAspect 55 56}} + | {{#rollBetween() featureAspect 57 58}} + | Sacred + | {{/rollBetween() featureAspect 57 58}} + | {{#rollBetween() featureAspect 59 60}} + | Flooded + | {{/rollBetween() featureAspect 59 60}} + | {{#rollBetween() featureAspect 61 62}} + | Complex + | {{/rollBetween() featureAspect 61 62}} + | {{#rollBetween() featureAspect 63 64}} + | Abundant + | {{/rollBetween() featureAspect 63 64}} + | {{#rollBetween() featureAspect 65 66}} + | Hidden + | {{/rollBetween() featureAspect 65 66}} + | {{#rollBetween() featureAspect 67 68}} + | Expansive + | {{/rollBetween() featureAspect 67 68}} + | {{#rollBetween() featureAspect 69 70}} + | Mysterious + | {{/rollBetween() featureAspect 69 70}} + | {{#rollBetween() featureAspect 71 72}} + | Unstable + | {{/rollBetween() featureAspect 71 72}} + | {{#rollBetween() featureAspect 73 74}} + | Fragile + | {{/rollBetween() featureAspect 73 74}} + | {{#rollBetween() featureAspect 75 76}} + | Broken + | {{/rollBetween() featureAspect 75 76}} + | {{#rollBetween() featureAspect 77 78}} + | Ensnaring + | {{/rollBetween() featureAspect 77 78}} + | {{#rollBetween() featureAspect 79 80}} + | Pillaged + | {{/rollBetween() featureAspect 79 80}} + | {{#rollBetween() featureAspect 81 82}} + | Sealed + | {{/rollBetween() featureAspect 81 82}} + | {{#rollBetween() featureAspect 83 84}} + | Makeshift + | {{/rollBetween() featureAspect 83 84}} + | {{#rollBetween() featureAspect 85 86}} + | Treacherous + | {{/rollBetween() featureAspect 85 86}} + | {{#rollBetween() featureAspect 87 88}} + | Natural + | {{/rollBetween() featureAspect 87 88}} + | {{#rollBetween() featureAspect 89 90}} + | Dead + | {{/rollBetween() featureAspect 89 90}} + | {{#rollBetween() featureAspect 91 92}} + | Unusual + | {{/rollBetween() featureAspect 91 92}} + | {{#rollBetween() featureAspect 93 94}} + | Abandoned + | {{/rollBetween() featureAspect 93 94}} + | {{#rollBetween() featureAspect 95 96}} + | Deadly + | {{/rollBetween() featureAspect 95 96}} + | {{#rollBetween() featureAspect 97 98}} + | Forgotten + | {{/rollBetween() featureAspect 97 98}} + | {{#rollBetween() featureAspect 99 100}} + | Mystical + | {{/rollBetween() featureAspect 99 100}} + | {{/featureAspect}} + | {{#featureFocus}} + .sheet-result-row + .sheet-oracle-dice + | {{featureFocus}} + .sheet-oracle-table-text + | {{#rollBetween() featureFocus 1 2}} + | Attack + | {{/rollBetween() featureFocus 1 2}} + | {{#rollBetween() featureFocus 3 4}} + | Threshold + | {{/rollBetween() featureFocus 3 4}} + | {{#rollBetween() featureFocus 5 6}} + | Boundary + | {{/rollBetween() featureFocus 5 6}} + | {{#rollBetween() featureFocus 7 8}} + | Alarm + | {{/rollBetween() featureFocus 7 8}} + | {{#rollBetween() featureFocus 9 10}} + | Exit + | {{/rollBetween() featureFocus 9 10}} + | {{#rollBetween() featureFocus 11 12}} + | Passage + | {{/rollBetween() featureFocus 11 12}} + | {{#rollBetween() featureFocus 13 14}} + | Crossing + | {{/rollBetween() featureFocus 13 14}} + | {{#rollBetween() featureFocus 15 16}} + | Trigger + | {{/rollBetween() featureFocus 15 16}} + | {{#rollBetween() featureFocus 17 18}} + | Trap + | {{/rollBetween() featureFocus 17 18}} + | {{#rollBetween() featureFocus 19 20}} + | Hideaway + | {{/rollBetween() featureFocus 19 20}} + | {{#rollBetween() featureFocus 21 22}} + | Nature + | {{/rollBetween() featureFocus 21 22}} + | {{#rollBetween() featureFocus 23 24}} + | Sign + | {{/rollBetween() featureFocus 23 24}} + | {{#rollBetween() featureFocus 25 26}} + | Refuge + | {{/rollBetween() featureFocus 25 26}} + | {{#rollBetween() featureFocus 27 28}} + | Valuables + | {{/rollBetween() featureFocus 27 28}} + | {{#rollBetween() featureFocus 29 30}} + | Breach + | {{/rollBetween() featureFocus 29 30}} + | {{#rollBetween() featureFocus 31 32}} + | Route + | {{/rollBetween() featureFocus 31 32}} + | {{#rollBetween() featureFocus 33 34}} + | Location + | {{/rollBetween() featureFocus 33 34}} + | {{#rollBetween() featureFocus 35 36}} + | Trail + | {{/rollBetween() featureFocus 35 36}} + | {{#rollBetween() featureFocus 37 38}} + | Supply + | {{/rollBetween() featureFocus 37 38}} + | {{#rollBetween() featureFocus 39 40}} + | History + | {{/rollBetween() featureFocus 39 40}} + | {{#rollBetween() featureFocus 41 42}} + | Prisoner + | {{/rollBetween() featureFocus 41 42}} + | {{#rollBetween() featureFocus 43 44}} + | Habitation + | {{/rollBetween() featureFocus 43 44}} + | {{#rollBetween() featureFocus 45 46}} + | Debris + | {{/rollBetween() featureFocus 45 46}} + | {{#rollBetween() featureFocus 47 48}} + | Creature + | {{/rollBetween() featureFocus 47 48}} + | {{#rollBetween() featureFocus 49 50}} + | Lair + | {{/rollBetween() featureFocus 49 50}} + | {{#rollBetween() featureFocus 51 52}} + | Person + | {{/rollBetween() featureFocus 51 52}} + | {{#rollBetween() featureFocus 53 54}} + | Enclosure + | {{/rollBetween() featureFocus 53 54}} + | {{#rollBetween() featureFocus 55 56}} + | Remains + | {{/rollBetween() featureFocus 55 56}} + | {{#rollBetween() featureFocus 57 58}} + | Water + | {{/rollBetween() featureFocus 57 58}} + | {{#rollBetween() featureFocus 59 60}} + | Message + | {{/rollBetween() featureFocus 59 60}} + | {{#rollBetween() featureFocus 61 62}} + | Darkness + | {{/rollBetween() featureFocus 61 62}} + | {{#rollBetween() featureFocus 63 64}} + | Opening + | {{/rollBetween() featureFocus 63 64}} + | {{#rollBetween() featureFocus 65 66}} + | Weapon + | {{/rollBetween() featureFocus 65 66}} + | {{#rollBetween() featureFocus 67 68}} + | Entry + | {{/rollBetween() featureFocus 67 68}} + | {{#rollBetween() featureFocus 69 70}} + | Illumination + | {{/rollBetween() featureFocus 69 70}} + | {{#rollBetween() featureFocus 71 72}} + | Obstacle + | {{/rollBetween() featureFocus 71 72}} + | {{#rollBetween() featureFocus 73 74}} + | Craft + | {{/rollBetween() featureFocus 73 74}} + | {{#rollBetween() featureFocus 75 76}} + | Container + | {{/rollBetween() featureFocus 75 76}} + | {{#rollBetween() featureFocus 77 78}} + | Information + | {{/rollBetween() featureFocus 77 78}} + | {{#rollBetween() featureFocus 79 80}} + | Grave + | {{/rollBetween() featureFocus 79 80}} + | {{#rollBetween() featureFocus 81 82}} + | Equipment + | {{/rollBetween() featureFocus 81 82}} + | {{#rollBetween() featureFocus 83 84}} + | Shelter + | {{/rollBetween() featureFocus 83 84}} + | {{#rollBetween() featureFocus 85 86}} + | Denizen + | {{/rollBetween() featureFocus 85 86}} + | {{#rollBetween() featureFocus 87 88}} + | Environment + | {{/rollBetween() featureFocus 87 88}} + | {{#rollBetween() featureFocus 89 90}} + | Material + | {{/rollBetween() featureFocus 89 90}} + | {{#rollBetween() featureFocus 91 92}} + | Resource + | {{/rollBetween() featureFocus 91 92}} + | {{#rollBetween() featureFocus 93 94}} + | Corruption + | {{/rollBetween() featureFocus 93 94}} + | {{#rollBetween() featureFocus 95 96}} + | Death + | {{/rollBetween() featureFocus 95 96}} + | {{#rollBetween() featureFocus 97 98}} + | Function + | {{/rollBetween() featureFocus 97 98}} + | {{#rollBetween() featureFocus 99 100}} + | Power + | {{/rollBetween() featureFocus 99 100}} + | {{/featureFocus}} + | {{#siteNameFormat}} + .sheet-result-row + .sheet-oracle-dice + | {{siteNameFormat}} + .sheet-oracle-table-text + | {{#rollBetween() siteNameFormat 1 25}} + | [Description] [Place] + | {{/rollBetween() siteNameFormat 1 25}} + | {{#rollBetween() siteNameFormat 26 50}} + | [Place] of [Detail] + | {{/rollBetween() siteNameFormat 26 50}} + | {{#rollBetween() siteNameFormat 51 70}} + | [Place] of [Description] [Detail] + | {{/rollBetween() siteNameFormat 51 70}} + | {{#rollBetween() siteNameFormat 71 80}} + | [Place] of [Namesake's] [Detail] + | {{/rollBetween() siteNameFormat 71 80}} + | {{#rollBetween() siteNameFormat 81 85}} + | [Namesake's] [Place] + | {{/rollBetween() siteNameFormat 81 85}} + | {{#rollBetween() siteNameFormat 86 95}} + | [Description] [Place] of [Namesake] + | {{/rollBetween() siteNameFormat 86 95}} + | {{#rollBetween() siteNameFormat 96 100}} + | [Place] of [Namesake] + | {{/rollBetween() siteNameFormat 96 100}} + | {{/siteNameFormat}} + | {{#siteNameDesc}} + .sheet-result-row + .sheet-oracle-dice + | {{siteNameDesc}} + .sheet-oracle-table-text + | {{#rollBetween() siteNameDesc 1 2}} + | Deep + | {{/rollBetween() siteNameDesc 1 2}} + | {{#rollBetween() siteNameDesc 3 4}} + | Tainted + | {{/rollBetween() siteNameDesc 3 4}} + | {{#rollBetween() siteNameDesc 5 6}} + | Grey + | {{/rollBetween() siteNameDesc 5 6}} + | {{#rollBetween() siteNameDesc 7 8}} + | Forgotten + | {{/rollBetween() siteNameDesc 7 8}} + | {{#rollBetween() siteNameDesc 9 10}} + | Flooded + | {{/rollBetween() siteNameDesc 9 10}} + | {{#rollBetween() siteNameDesc 11 12}} + | Forbidden + | {{/rollBetween() siteNameDesc 11 12}} + | {{#rollBetween() siteNameDesc 13 14}} + | Barren + | {{/rollBetween() siteNameDesc 13 14}} + | {{#rollBetween() siteNameDesc 15 16}} + | Lost + | {{/rollBetween() siteNameDesc 15 16}} + | {{#rollBetween() siteNameDesc 17 18}} + | Cursed + | {{/rollBetween() siteNameDesc 17 18}} + | {{#rollBetween() siteNameDesc 19 20}} + | Fell + | {{/rollBetween() siteNameDesc 19 20}} + | {{#rollBetween() siteNameDesc 21 22}} + | Sunken + | {{/rollBetween() siteNameDesc 21 22}} + | {{#rollBetween() siteNameDesc 23 24}} + | Nightmare + | {{/rollBetween() siteNameDesc 23 24}} + | {{#rollBetween() siteNameDesc 25 26}} + | Infernal + | {{/rollBetween() siteNameDesc 25 26}} + | {{#rollBetween() siteNameDesc 27 28}} + | Dark + | {{/rollBetween() siteNameDesc 27 28}} + | {{#rollBetween() siteNameDesc 29 30}} + | Bloodstained + | {{/rollBetween() siteNameDesc 29 30}} + | {{#rollBetween() siteNameDesc 31 32}} + | Haunted + | {{/rollBetween() siteNameDesc 31 32}} + | {{#rollBetween() siteNameDesc 33 34}} + | White + | {{/rollBetween() siteNameDesc 33 34}} + | {{#rollBetween() siteNameDesc 35 36}} + | Shrouded + | {{/rollBetween() siteNameDesc 35 36}} + | {{#rollBetween() siteNameDesc 37 38}} + | Wasted + | {{/rollBetween() siteNameDesc 37 38}} + | {{#rollBetween() siteNameDesc 39 40}} + | Grim + | {{/rollBetween() siteNameDesc 39 40}} + | {{#rollBetween() siteNameDesc 41 42}} + | Endless + | {{/rollBetween() siteNameDesc 41 42}} + | {{#rollBetween() siteNameDesc 43 44}} + | Crumbling + | {{/rollBetween() siteNameDesc 43 44}} + | {{#rollBetween() siteNameDesc 45 46}} + | Undying + | {{/rollBetween() siteNameDesc 45 46}} + | {{#rollBetween() siteNameDesc 47 48}} + | Bloodied + | {{/rollBetween() siteNameDesc 47 48}} + | {{#rollBetween() siteNameDesc 49 50}} + | Forsaken + | {{/rollBetween() siteNameDesc 49 50}} + | {{#rollBetween() siteNameDesc 51 52}} + | Silent + | {{/rollBetween() siteNameDesc 51 52}} + | {{#rollBetween() siteNameDesc 53 54}} + | Blighted + | {{/rollBetween() siteNameDesc 53 54}} + | {{#rollBetween() siteNameDesc 55 56}} + | Iron + | {{/rollBetween() siteNameDesc 55 56}} + | {{#rollBetween() siteNameDesc 57 58}} + | Frozen + | {{/rollBetween() siteNameDesc 57 58}} + | {{#rollBetween() siteNameDesc 59 60}} + | Abyssal + | {{/rollBetween() siteNameDesc 59 60}} + | {{#rollBetween() siteNameDesc 61 62}} + | Crimson + | {{/rollBetween() siteNameDesc 61 62}} + | {{#rollBetween() siteNameDesc 63 64}} + | Silver + | {{/rollBetween() siteNameDesc 63 64}} + | {{#rollBetween() siteNameDesc 65 66}} + | Desecrated + | {{/rollBetween() siteNameDesc 65 66}} + | {{#rollBetween() siteNameDesc 67 68}} + | Ashen + | {{/rollBetween() siteNameDesc 67 68}} + | {{#rollBetween() siteNameDesc 69 70}} + | Elder + | {{/rollBetween() siteNameDesc 69 70}} + | {{#rollBetween() siteNameDesc 71 72}} + | Scorched + | {{/rollBetween() siteNameDesc 71 72}} + | {{#rollBetween() siteNameDesc 73 74}} + | Unknown + | {{/rollBetween() siteNameDesc 73 74}} + | {{#rollBetween() siteNameDesc 75 76}} + | Scarred + | {{/rollBetween() siteNameDesc 75 76}} + | {{#rollBetween() siteNameDesc 77 78}} + | Broken + | {{/rollBetween() siteNameDesc 77 78}} + | {{#rollBetween() siteNameDesc 79 80}} + | Chaotic + | {{/rollBetween() siteNameDesc 79 80}} + | {{#rollBetween() siteNameDesc 81 82}} + | Black + | {{/rollBetween() siteNameDesc 81 82}} + | {{#rollBetween() siteNameDesc 83 84}} + | Hidden + | {{/rollBetween() siteNameDesc 83 84}} + | {{#rollBetween() siteNameDesc 85 86}} + | Sundered + | {{/rollBetween() siteNameDesc 85 86}} + | {{#rollBetween() siteNameDesc 87 88}} + | Shattered + | {{/rollBetween() siteNameDesc 87 88}} + | {{#rollBetween() siteNameDesc 89 90}} + | Dreaded + | {{/rollBetween() siteNameDesc 89 90}} + | {{#rollBetween() siteNameDesc 91 92}} + | Secret + | {{/rollBetween() siteNameDesc 91 92}} + | {{#rollBetween() siteNameDesc 93 94}} + | High + | {{/rollBetween() siteNameDesc 93 94}} + | {{#rollBetween() siteNameDesc 95 96}} + | Sacred + | {{/rollBetween() siteNameDesc 95 96}} + | {{#rollBetween() siteNameDesc 97 98}} + | Fallen + | {{/rollBetween() siteNameDesc 97 98}} + | {{#rollBetween() siteNameDesc 99 100}} + | Ruined + | {{/rollBetween() siteNameDesc 99 100}} + | {{/siteNameDesc}} + | {{#siteNameDetail}} + .sheet-result-row + .sheet-oracle-dice + | {{siteNameDetail}} + .sheet-oracle-table-text + | {{#rollBetween() siteNameDetail 1 2}} + | Blight + | {{/rollBetween() siteNameDetail 1 2}} + | {{#rollBetween() siteNameDetail 3 4}} + | Strife + | {{/rollBetween() siteNameDetail 3 4}} + | {{#rollBetween() siteNameDetail 5 6}} + | Nightfall + | {{/rollBetween() siteNameDetail 5 6}} + | {{#rollBetween() siteNameDetail 7 8}} + | Fury + | {{/rollBetween() siteNameDetail 7 8}} + | {{#rollBetween() siteNameDetail 9 10}} + | Terror + | {{/rollBetween() siteNameDetail 9 10}} + | {{#rollBetween() siteNameDetail 11 12}} + | Truth + | {{/rollBetween() siteNameDetail 11 12}} + | {{#rollBetween() siteNameDetail 13 14}} + | Spring + | {{/rollBetween() siteNameDetail 13 14}} + | {{#rollBetween() siteNameDetail 15 16}} + | Sanctuary + | {{/rollBetween() siteNameDetail 15 16}} + | {{#rollBetween() siteNameDetail 17 18}} + | Bone + | {{/rollBetween() siteNameDetail 17 18}} + | {{#rollBetween() siteNameDetail 19 20}} + | Specters + | {{/rollBetween() siteNameDetail 19 20}} + | {{#rollBetween() siteNameDetail 21 22}} + | Daybreak + | {{/rollBetween() siteNameDetail 21 22}} + | {{#rollBetween() siteNameDetail 23 24}} + | Doom + | {{/rollBetween() siteNameDetail 23 24}} + | {{#rollBetween() siteNameDetail 25 26}} + | Treachery + | {{/rollBetween() siteNameDetail 25 26}} + | {{#rollBetween() siteNameDetail 27 28}} + | Blood + | {{/rollBetween() siteNameDetail 27 28}} + | {{#rollBetween() siteNameDetail 29 30}} + | War + | {{/rollBetween() siteNameDetail 29 30}} + | {{#rollBetween() siteNameDetail 31 32}} + | Torment + | {{/rollBetween() siteNameDetail 31 32}} + | {{#rollBetween() siteNameDetail 33 34}} + | Iron + | {{/rollBetween() siteNameDetail 33 34}} + | {{#rollBetween() siteNameDetail 35 36}} + | Silence + | {{/rollBetween() siteNameDetail 35 36}} + | {{#rollBetween() siteNameDetail 37 38}} + | Mist + | {{/rollBetween() siteNameDetail 37 38}} + | {{#rollBetween() siteNameDetail 39 40}} + | Isolation + | {{/rollBetween() siteNameDetail 39 40}} + | {{#rollBetween() siteNameDetail 41 42}} + | Runes + | {{/rollBetween() siteNameDetail 41 42}} + | {{#rollBetween() siteNameDetail 43 44}} + | Rot + | {{/rollBetween() siteNameDetail 43 44}} + | {{#rollBetween() siteNameDetail 45 46}} + | Corruption + | {{/rollBetween() siteNameDetail 45 46}} + | {{#rollBetween() siteNameDetail 47 48}} + | Prophecy + | {{/rollBetween() siteNameDetail 47 48}} + | {{#rollBetween() siteNameDetail 49 50}} + | Fate + | {{/rollBetween() siteNameDetail 49 50}} + | {{#rollBetween() siteNameDetail 51 52}} + | Twilight + | {{/rollBetween() siteNameDetail 51 52}} + | {{#rollBetween() siteNameDetail 53 54}} + | Power + | {{/rollBetween() siteNameDetail 53 54}} + | {{#rollBetween() siteNameDetail 55 56}} + | Darkness + | {{/rollBetween() siteNameDetail 55 56}} + | {{#rollBetween() siteNameDetail 57 58}} + | Gloom + | {{/rollBetween() siteNameDetail 57 58}} + | {{#rollBetween() siteNameDetail 59 60}} + | Storms + | {{/rollBetween() siteNameDetail 59 60}} + | {{#rollBetween() siteNameDetail 61 62}} + | Hope + | {{/rollBetween() siteNameDetail 61 62}} + | {{#rollBetween() siteNameDetail 63 64}} + | Lament + | {{/rollBetween() siteNameDetail 63 64}} + | {{#rollBetween() siteNameDetail 65 66}} + | Frost + | {{/rollBetween() siteNameDetail 65 66}} + | {{#rollBetween() siteNameDetail 67 68}} + | Souls + | {{/rollBetween() siteNameDetail 67 68}} + | {{#rollBetween() siteNameDetail 69 70}} + | Winter + | {{/rollBetween() siteNameDetail 69 70}} + | {{#rollBetween() siteNameDetail 71 72}} + | Sadness + | {{/rollBetween() siteNameDetail 71 72}} + | {{#rollBetween() siteNameDetail 73 74}} + | Desolation + | {{/rollBetween() siteNameDetail 73 74}} + | {{#rollBetween() siteNameDetail 75 76}} + | Bane + | {{/rollBetween() siteNameDetail 75 76}} + | {{#rollBetween() siteNameDetail 77 78}} + | Lies + | {{/rollBetween() siteNameDetail 77 78}} + | {{#rollBetween() siteNameDetail 79 80}} + | Ash + | {{/rollBetween() siteNameDetail 79 80}} + | {{#rollBetween() siteNameDetail 81 82}} + | Banishment + | {{/rollBetween() siteNameDetail 81 82}} + | {{#rollBetween() siteNameDetail 83 84}} + | Shadow + | {{/rollBetween() siteNameDetail 83 84}} + | {{#rollBetween() siteNameDetail 85 86}} + | Madness + | {{/rollBetween() siteNameDetail 85 86}} + | {{#rollBetween() siteNameDetail 87 88}} + | Stone + | {{/rollBetween() siteNameDetail 87 88}} + | {{#rollBetween() siteNameDetail 89 90}} + | Secrets + | {{/rollBetween() siteNameDetail 89 90}} + | {{#rollBetween() siteNameDetail 91 92}} + | Despair + | {{/rollBetween() siteNameDetail 91 92}} + | {{#rollBetween() siteNameDetail 93 94}} + | Blades + | {{/rollBetween() siteNameDetail 93 94}} + | {{#rollBetween() siteNameDetail 95 96}} + | Dread + | {{/rollBetween() siteNameDetail 95 96}} + | {{#rollBetween() siteNameDetail 97 98}} + | Light + | {{/rollBetween() siteNameDetail 97 98}} + | {{#rollBetween() siteNameDetail 99 100}} + | Wrath + | {{/rollBetween() siteNameDetail 99 100}} + | {{/siteNameDetail}} + | {{#siteNameNamesake}} + .sheet-result-row + .sheet-oracle-dice + | {{siteNameNamesake}} + .sheet-oracle-table-text + | {{#rollBetween() siteNameNamesake 1 2}} + | Breckon + | {{/rollBetween() siteNameNamesake 1 2}} + | {{#rollBetween() siteNameNamesake 3 4}} + | Issara + | {{/rollBetween() siteNameNamesake 3 4}} + | {{#rollBetween() siteNameNamesake 5 6}} + | Milenna + | {{/rollBetween() siteNameNamesake 5 6}} + | {{#rollBetween() siteNameNamesake 7 8}} + | Thorval + | {{/rollBetween() siteNameNamesake 7 8}} + | {{#rollBetween() siteNameNamesake 9 10}} + | Khulan + | {{/rollBetween() siteNameNamesake 9 10}} + | {{#rollBetween() siteNameNamesake 11 12}} + | Aurvang + | {{/rollBetween() siteNameNamesake 11 12}} + | {{#rollBetween() siteNameNamesake 13 14}} + | Kalida + | {{/rollBetween() siteNameNamesake 13 14}} + | {{#rollBetween() siteNameNamesake 15 16}} + | Keeara + | {{/rollBetween() siteNameNamesake 15 16}} + | {{#rollBetween() siteNameNamesake 17 18}} + | Andor + | {{/rollBetween() siteNameNamesake 17 18}} + | {{#rollBetween() siteNameNamesake 19 20}} + | Zakaria + | {{/rollBetween() siteNameNamesake 19 20}} + | {{#rollBetween() siteNameNamesake 21 22}} + | Willa + | {{/rollBetween() siteNameNamesake 21 22}} + | {{#rollBetween() siteNameNamesake 23 24}} + | Etana + | {{/rollBetween() siteNameNamesake 23 24}} + | {{#rollBetween() siteNameNamesake 25 26}} + | Valgard + | {{/rollBetween() siteNameNamesake 25 26}} + | {{#rollBetween() siteNameNamesake 27 28}} + | Kenrick + | {{/rollBetween() siteNameNamesake 27 28}} + | {{#rollBetween() siteNameNamesake 29 30}} + | Wyland + | {{/rollBetween() siteNameNamesake 29 30}} + | {{#rollBetween() siteNameNamesake 31 32}} + | Sidura + | {{/rollBetween() siteNameNamesake 31 32}} + | {{#rollBetween() siteNameNamesake 33 34}} + | Svala + | {{/rollBetween() siteNameNamesake 33 34}} + | {{#rollBetween() siteNameNamesake 35 36}} + | Kajir + | {{/rollBetween() siteNameNamesake 35 36}} + | {{#rollBetween() siteNameNamesake 37 38}} + | Saiven + | {{/rollBetween() siteNameNamesake 37 38}} + | {{#rollBetween() siteNameNamesake 39 40}} + | Callwen + | {{/rollBetween() siteNameNamesake 39 40}} + | {{#rollBetween() siteNameNamesake 41 42}} + | Zhan + | {{/rollBetween() siteNameNamesake 41 42}} + | {{#rollBetween() siteNameNamesake 43 44}} + | Solana + | {{/rollBetween() siteNameNamesake 43 44}} + | {{#rollBetween() siteNameNamesake 45 46}} + | Ildar + | {{/rollBetween() siteNameNamesake 45 46}} + | {{#rollBetween() siteNameNamesake 47 48}} + | Keelan + | {{/rollBetween() siteNameNamesake 47 48}} + | {{#rollBetween() siteNameNamesake 49 50}} + | Thrain + | {{/rollBetween() siteNameNamesake 49 50}} + | {{#rollBetween() siteNameNamesake 51 52}} + | Kynan + | {{/rollBetween() siteNameNamesake 51 52}} + | {{#rollBetween() siteNameNamesake 53 54}} + | Jadina + | {{/rollBetween() siteNameNamesake 53 54}} + | {{#rollBetween() siteNameNamesake 55 56}} + | Radek + | {{/rollBetween() siteNameNamesake 55 56}} + | {{#rollBetween() siteNameNamesake 57 58}} + | Wulan + | {{/rollBetween() siteNameNamesake 57 58}} + | {{#rollBetween() siteNameNamesake 59 60}} + | Garion + | {{/rollBetween() siteNameNamesake 59 60}} + | {{#rollBetween() siteNameNamesake 61 62}} + | Eysa + | {{/rollBetween() siteNameNamesake 61 62}} + | {{#rollBetween() siteNameNamesake 63 64}} + | Kolor + | {{/rollBetween() siteNameNamesake 63 64}} + | {{#rollBetween() siteNameNamesake 65 66}} + | Katarra + | {{/rollBetween() siteNameNamesake 65 66}} + | {{#rollBetween() siteNameNamesake 67 68}} + | Dain + | {{/rollBetween() siteNameNamesake 67 68}} + | {{#rollBetween() siteNameNamesake 69 70}} + | Farina + | {{/rollBetween() siteNameNamesake 69 70}} + | {{#rollBetween() siteNameNamesake 71 72}} + | Yala + | {{/rollBetween() siteNameNamesake 71 72}} + | {{#rollBetween() siteNameNamesake 73 74}} + | Kodroth + | {{/rollBetween() siteNameNamesake 73 74}} + | {{#rollBetween() siteNameNamesake 75 76}} + | Morien + | {{/rollBetween() siteNameNamesake 75 76}} + | {{#rollBetween() siteNameNamesake 77 78}} + | Akida + | {{/rollBetween() siteNameNamesake 77 78}} + | {{#rollBetween() siteNameNamesake 79 80}} + | Haldorr + | {{/rollBetween() siteNameNamesake 79 80}} + | {{#rollBetween() siteNameNamesake 81 82}} + | Nyrad + | {{/rollBetween() siteNameNamesake 81 82}} + | {{#rollBetween() siteNameNamesake 83 84}} + | Edda + | {{/rollBetween() siteNameNamesake 83 84}} + | {{#rollBetween() siteNameNamesake 85 86}} + | Jorund + | {{/rollBetween() siteNameNamesake 85 86}} + | {{#rollBetween() siteNameNamesake 87 88}} + | Morraine + | {{/rollBetween() siteNameNamesake 87 88}} + | {{#rollBetween() siteNameNamesake 89 90}} + | Lindar + | {{/rollBetween() siteNameNamesake 89 90}} + | {{#rollBetween() siteNameNamesake 91 92}} + | Sithra + | {{/rollBetween() siteNameNamesake 91 92}} + | {{#rollBetween() siteNameNamesake 93 94}} + | Torgan + | {{/rollBetween() siteNameNamesake 93 94}} + | {{#rollBetween() siteNameNamesake 95 96}} + | Arnorr + | {{/rollBetween() siteNameNamesake 95 96}} + | {{#rollBetween() siteNameNamesake 97 98}} + | Thyri + | {{/rollBetween() siteNameNamesake 97 98}} + | {{#rollBetween() siteNameNamesake 99 100}} + | Erisia + | {{/rollBetween() siteNameNamesake 99 100}} + | {{/siteNameNamesake}} + | {{#siteNamePlace}} + .sheet-result-row + .sheet-oracle-dice + | {{siteNamePlace}} + .sheet-oracle-table-text + | {{#rollBetween() siteNamePlace 1 6}} + | Barrow + | {{/rollBetween() siteNamePlace 1 6}} + | {{#rollBetween() siteNamePlace 7 18}} + | Cavern + | {{/rollBetween() siteNamePlace 7 18}} + | {{#rollBetween() siteNamePlace 19 28}} + | Frozen Cavern + | {{/rollBetween() siteNamePlace 19 28}} + | {{#rollBetween() siteNamePlace 29 32}} + | Icereach + | {{/rollBetween() siteNamePlace 29 32}} + | {{#rollBetween() siteNamePlace 33 38}} + | Mine + | {{/rollBetween() siteNamePlace 33 38}} + | {{#rollBetween() siteNamePlace 39 48}} + | Pass + | {{/rollBetween() siteNamePlace 39 48}} + | {{#rollBetween() siteNamePlace 49 58}} + | Ruin + | {{/rollBetween() siteNamePlace 49 58}} + | {{#rollBetween() siteNamePlace 59 68}} + | Sea Cave + | {{/rollBetween() siteNamePlace 59 68}} + | {{#rollBetween() siteNamePlace 69 78}} + | Shadowfen + | {{/rollBetween() siteNamePlace 69 78}} + | {{#rollBetween() siteNamePlace 79 83}} + | Stronghold + | {{/rollBetween() siteNamePlace 79 83}} + | {{#rollBetween() siteNamePlace 84 95}} + | Tanglewood + | {{/rollBetween() siteNamePlace 84 95}} + | {{#rollBetween() siteNamePlace 96 100}} + | Underkeep + | {{/rollBetween() siteNamePlace 96 100}} + | {{/siteNamePlace}} + | {{#siteNatureTheme}} + .sheet-result-row + .sheet-oracle-dice + | {{siteNatureTheme}} + .sheet-oracle-table-text + | {{#rollBetween() siteNatureTheme 1 11}} + | Ancient + | {{/rollBetween() siteNatureTheme 1 11}} + | {{#rollBetween() siteNatureTheme 12 23}} + | Corrupted + | {{/rollBetween() siteNatureTheme 12 23}} + | {{#rollBetween() siteNatureTheme 24 35}} + | Fortified + | {{/rollBetween() siteNatureTheme 24 35}} + | {{#rollBetween() siteNatureTheme 36 48}} + | Hallowed + | {{/rollBetween() siteNatureTheme 36 48}} + | {{#rollBetween() siteNatureTheme 49 61}} + | Haunted + | {{/rollBetween() siteNatureTheme 49 61}} + | {{#rollBetween() siteNatureTheme 62 74}} + | Infested + | {{/rollBetween() siteNatureTheme 62 74}} + | {{#rollBetween() siteNatureTheme 75 87}} + | Ravaged + | {{/rollBetween() siteNatureTheme 75 87}} + | {{#rollBetween() siteNatureTheme 88 100}} + | Wild + | {{/rollBetween() siteNatureTheme 88 100}} + | {{/siteNatureTheme}} + | {{#siteNatureDomain}} + .sheet-result-row + .sheet-oracle-dice + | {{siteNatureDomain}} + .sheet-oracle-table-text + | {{#rollBetween() siteNatureDomain 1 6}} + | Barrow + | {{/rollBetween() siteNatureDomain 1 6}} + | {{#rollBetween() siteNatureDomain 7 18}} + | Cavern + | {{/rollBetween() siteNatureDomain 7 18}} + | {{#rollBetween() siteNatureDomain 19 28}} + | Frozen Cavern + | {{/rollBetween() siteNatureDomain 19 28}} + | {{#rollBetween() siteNatureDomain 29 32}} + | Icereach + | {{/rollBetween() siteNatureDomain 29 32}} + | {{#rollBetween() siteNatureDomain 33 38}} + | Mine + | {{/rollBetween() siteNatureDomain 33 38}} + | {{#rollBetween() siteNatureDomain 39 48}} + | Pass + | {{/rollBetween() siteNatureDomain 39 48}} + | {{#rollBetween() siteNatureDomain 49 58}} + | Ruin + | {{/rollBetween() siteNatureDomain 49 58}} + | {{#rollBetween() siteNatureDomain 59 68}} + | Sea Cave + | {{/rollBetween() siteNatureDomain 59 68}} + | {{#rollBetween() siteNatureDomain 69 78}} + | Shadowfen + | {{/rollBetween() siteNatureDomain 69 78}} + | {{#rollBetween() siteNatureDomain 79 83}} + | Stronghold + | {{/rollBetween() siteNatureDomain 79 83}} + | {{#rollBetween() siteNatureDomain 84 95}} + | Tanglewood + | {{/rollBetween() siteNatureDomain 84 95}} + | {{#rollBetween() siteNatureDomain 96 100}} + | Underkeep + | {{/rollBetween() siteNatureDomain 96 100}} + | {{/siteNatureDomain}} + | {{#characterDisposition}} + .sheet-result-row + .sheet-oracle-dice + | {{characterDisposition}} + .sheet-oracle-table-text + | {{#rollBetween() characterDisposition 1 6}} + | Helpful + | {{/rollBetween() characterDisposition 1 6}} + | {{#rollBetween() characterDisposition 7 13}} + | Friendly + | {{/rollBetween() characterDisposition 7 13}} + | {{#rollBetween() characterDisposition 14 20}} + | Cooperative + | {{/rollBetween() characterDisposition 14 20}} + | {{#rollBetween() characterDisposition 21 28}} + | Curious + | {{/rollBetween() characterDisposition 21 28}} + | {{#rollBetween() characterDisposition 29 36}} + | Indifferent + | {{/rollBetween() characterDisposition 29 36}} + | {{#rollBetween() characterDisposition 37 47}} + | Suspicious + | {{/rollBetween() characterDisposition 37 47}} + | {{#rollBetween() characterDisposition 48 57}} + | Wanting + | {{/rollBetween() characterDisposition 48 57}} + | {{#rollBetween() characterDisposition 48 67}} + | Desperate + | {{/rollBetween() characterDisposition 48 67}} + | {{#rollBetween() characterDisposition 68 76}} + | Demanding + | {{/rollBetween() characterDisposition 68 76}} + | {{#rollBetween() characterDisposition 77 85}} + | Unfriendly + | {{/rollBetween() characterDisposition 77 85}} + | {{#rollBetween() characterDisposition 86 93}} + | Threatening + | {{/rollBetween() characterDisposition 86 93}} + | {{#rollBetween() characterDisposition 94 100}} + | Hostile + | {{/rollBetween() characterDisposition 94 100}} + | {{/characterDisposition}} + | {{#characterActivity}} + .sheet-result-row + .sheet-oracle-dice + | {{characterActivity}} + .sheet-oracle-table-text + | {{#rollBetween() characterActivity 1 2}} + | Guarding + | {{/rollBetween() characterActivity 1 2}} + | {{#rollBetween() characterActivity 3 4}} + | Preserving + | {{/rollBetween() characterActivity 3 4}} + | {{#rollBetween() characterActivity 5 6}} + | Constructing + | {{/rollBetween() characterActivity 5 6}} + | {{#rollBetween() characterActivity 7 8}} + | Mending + | {{/rollBetween() characterActivity 7 8}} + | {{#rollBetween() characterActivity 9 10}} + | Assisting + | {{/rollBetween() characterActivity 9 10}} + | {{#rollBetween() characterActivity 11 12}} + | Securing + | {{/rollBetween() characterActivity 11 12}} + | {{#rollBetween() characterActivity 13 14}} + | Learning + | {{/rollBetween() characterActivity 13 14}} + | {{#rollBetween() characterActivity 15 16}} + | Sneaking + | {{/rollBetween() characterActivity 15 16}} + | {{#rollBetween() characterActivity 17 18}} + | Fleeing + | {{/rollBetween() characterActivity 17 18}} + | {{#rollBetween() characterActivity 19 20}} + | Sacrificing + | {{/rollBetween() characterActivity 19 20}} + | {{#rollBetween() characterActivity 21 22}} + | Creating + | {{/rollBetween() characterActivity 21 22}} + | {{#rollBetween() characterActivity 23 24}} + | Luring + | {{/rollBetween() characterActivity 23 24}} + | {{#rollBetween() characterActivity 25 26}} + | Hunting + | {{/rollBetween() characterActivity 25 26}} + | {{#rollBetween() characterActivity 27 28}} + | Seizing + | {{/rollBetween() characterActivity 27 28}} + | {{#rollBetween() characterActivity 29 30}} + | Bargaining + | {{/rollBetween() characterActivity 29 30}} + | {{#rollBetween() characterActivity 31 32}} + | Mimicking + | {{/rollBetween() characterActivity 31 32}} + | {{#rollBetween() characterActivity 33 34}} + | Tricking + | {{/rollBetween() characterActivity 33 34}} + | {{#rollBetween() characterActivity 35 36}} + | Tracking + | {{/rollBetween() characterActivity 35 36}} + | {{#rollBetween() characterActivity 37 38}} + | Escorting + | {{/rollBetween() characterActivity 37 38}} + | {{#rollBetween() characterActivity 39 40}} + | Hiding + | {{/rollBetween() characterActivity 39 40}} + | {{#rollBetween() characterActivity 41 42}} + | Raiding + | {{/rollBetween() characterActivity 41 42}} + | {{#rollBetween() characterActivity 43 44}} + | Socializing + | {{/rollBetween() characterActivity 43 44}} + | {{#rollBetween() characterActivity 45 46}} + | Exploring + | {{/rollBetween() characterActivity 45 46}} + | {{#rollBetween() characterActivity 47 48}} + | Journeying + | {{/rollBetween() characterActivity 47 48}} + | {{#rollBetween() characterActivity 49 50}} + | Supporting + | {{/rollBetween() characterActivity 49 50}} + | {{#rollBetween() characterActivity 51 52}} + | Avoiding + | {{/rollBetween() characterActivity 51 52}} + | {{#rollBetween() characterActivity 53 54}} + | Disabling + | {{/rollBetween() characterActivity 53 54}} + | {{#rollBetween() characterActivity 55 56}} + | Leading + | {{/rollBetween() characterActivity 55 56}} + | {{#rollBetween() characterActivity 57 58}} + | Assaulting + | {{/rollBetween() characterActivity 57 58}} + | {{#rollBetween() characterActivity 59 60}} + | Ensnaring + | {{/rollBetween() characterActivity 59 60}} + | {{#rollBetween() characterActivity 61 62}} + | Defending + | {{/rollBetween() characterActivity 61 62}} + | {{#rollBetween() characterActivity 63 64}} + | Recovering + | {{/rollBetween() characterActivity 63 64}} + | {{#rollBetween() characterActivity 65 66}} + | Patrolling + | {{/rollBetween() characterActivity 65 66}} + | {{#rollBetween() characterActivity 67 68}} + | Resting + | {{/rollBetween() characterActivity 67 68}} + | {{#rollBetween() characterActivity 69 70}} + | Distracting + | {{/rollBetween() characterActivity 69 70}} + | {{#rollBetween() characterActivity 71 72}} + | Leaving + | {{/rollBetween() characterActivity 71 72}} + | {{#rollBetween() characterActivity 73 74}} + | Fighting + | {{/rollBetween() characterActivity 73 74}} + | {{#rollBetween() characterActivity 75 76}} + | Ambushing + | {{/rollBetween() characterActivity 75 76}} + | {{#rollBetween() characterActivity 77 78}} + | Controlling + | {{/rollBetween() characterActivity 77 78}} + | {{#rollBetween() characterActivity 79 80}} + | Observing + | {{/rollBetween() characterActivity 79 80}} + | {{#rollBetween() characterActivity 81 82}} + | Gathering + | {{/rollBetween() characterActivity 81 82}} + | {{#rollBetween() characterActivity 83 84}} + | Suffering + | {{/rollBetween() characterActivity 83 84}} + | {{#rollBetween() characterActivity 85 86}} + | Threatening + | {{/rollBetween() characterActivity 85 86}} + | {{#rollBetween() characterActivity 87 88}} + | Searching + | {{/rollBetween() characterActivity 87 88}} + | {{#rollBetween() characterActivity 89 90}} + | Destroying + | {{/rollBetween() characterActivity 89 90}} + | {{#rollBetween() characterActivity 91 92}} + | Restoring + | {{/rollBetween() characterActivity 91 92}} + | {{#rollBetween() characterActivity 93 94}} + | Consuming + | {{/rollBetween() characterActivity 93 94}} + | {{#rollBetween() characterActivity 95 96}} + | Removing + | {{/rollBetween() characterActivity 95 96}} + | {{#rollBetween() characterActivity 97 98}} + | Inspecting + | {{/rollBetween() characterActivity 97 98}} + | {{#rollBetween() characterActivity 99 100}} + | Summoning + | {{/rollBetween() characterActivity 99 100}} + | {{/characterActivity}} + | {{#monstrositySize}} + .sheet-result-row + .sheet-oracle-dice + | {{monstrositySize}} + .sheet-oracle-table-text + | {{#rollBetween() monstrositySize 1 5}} + | Tiny (rodent-sized) + | {{/rollBetween() monstrositySize 1 5}} + | {{#rollBetween() monstrositySize 6 30}} + | Small (hound-sized) + | {{/rollBetween() monstrositySize 6 30}} + | {{#rollBetween() monstrositySize 31 65}} + | Medium (person-sized) + | {{/rollBetween() monstrositySize 31 65}} + | {{#rollBetween() monstrositySize 66 94}} + | Large (giant-sized) + | {{/rollBetween() monstrositySize 66 94}} + | {{#rollBetween() monstrositySize 95 99}} + | Huge (whale-sized) + | {{/rollBetween() monstrositySize 95 99}} + | {{#rollTotal() monstrositySize 100}} + | Titanic (incomprehensible) + | {{/rollTotal() monstrositySize 100}} + | {{/monstrositySize}} + | {{#monstrosityPrimaryForm}} + .sheet-result-row + .sheet-oracle-dice + | {{monstrosityPrimaryForm}} + .sheet-oracle-table-text + | {{#rollBetween() monstrosityPrimaryForm 1 15}} + | Beast / mammal + | {{/rollBetween() monstrosityPrimaryForm 1 15}} + | {{#rollBetween() monstrosityPrimaryForm 16 25}} + | Humanoid + | {{/rollBetween() monstrosityPrimaryForm 16 25}} + | {{#rollBetween() monstrosityPrimaryForm 26 31}} + | Bird + | {{/rollBetween() monstrosityPrimaryForm 26 31}} + | {{#rollBetween() monstrosityPrimaryForm 32 37}} + | Spider + | {{/rollBetween() monstrosityPrimaryForm 32 37}} + | {{#rollBetween() monstrosityPrimaryForm 38 43}} + | Snake + | {{/rollBetween() monstrosityPrimaryForm 38 43}} + | {{#rollBetween() monstrosityPrimaryForm 44 49}} + | Worm / slug + | {{/rollBetween() monstrosityPrimaryForm 44 49}} + | {{#rollBetween() monstrosityPrimaryForm 50 55}} + | Lizard + | {{/rollBetween() monstrosityPrimaryForm 50 55}} + | {{#rollBetween() monstrosityPrimaryForm 56 61}} + | Insect + | {{/rollBetween() monstrosityPrimaryForm 56 61}} + | {{#rollBetween() monstrosityPrimaryForm 62 66}} + | Amorphous + | {{/rollBetween() monstrosityPrimaryForm 62 66}} + | {{#rollBetween() monstrosityPrimaryForm 67 69}} + | Crustacean + | {{/rollBetween() monstrosityPrimaryForm 67 69}} + | {{#rollBetween() monstrosityPrimaryForm 70 71}} + | Fish + | {{/rollBetween() monstrosityPrimaryForm 70 71}} + | {{#rollBetween() monstrosityPrimaryForm 72 73}} + | Octopoid + | {{/rollBetween() monstrosityPrimaryForm 72 73}} + | {{#rollBetween() monstrosityPrimaryForm 74 75}} + | Amphibian + | {{/rollBetween() monstrosityPrimaryForm 74 75}} + | {{#rollBetween() monstrosityPrimaryForm 76 77}} + | Plant + | {{/rollBetween() monstrosityPrimaryForm 76 77}} + | {{#rollTotal() monstrosityPrimaryForm 78}} + | Incorporeal + | {{/rollTotal() monstrosityPrimaryForm 78}} + | {{#rollTotal() monstrosityPrimaryForm 79}} + | Mineral + | {{/rollTotal() monstrosityPrimaryForm 79}} + | {{#rollTotal() monstrosityPrimaryForm 80}} + | Elementa + | {{/rollTotal() monstrosityPrimaryForm 80}} + | {{#rollBetween() monstrosityPrimaryForm 81 100}} + | Hybrid (roll twice) + | {{/rollBetween() monstrosityPrimaryForm 81 100}} + | {{/monstrosityPrimaryForm}} + | {{#monstrosityCharacteristics}} + .sheet-result-row + .sheet-oracle-dice + | {{monstrosityCharacteristics}} + .sheet-oracle-table-text + | {{#rollBetween() monstrosityCharacteristics 1 5}} + | Extra limbs + | {{/rollBetween() monstrosityCharacteristics 1 5}} + | {{#rollBetween() monstrosityCharacteristics 6 10}} + | Fangs / rows of sharp teeth + | {{/rollBetween() monstrosityCharacteristics 6 10}} + | {{#rollBetween() monstrosityCharacteristics 11 15}} + | Claws / talons + | {{/rollBetween() monstrosityCharacteristics 11 15}} + | {{#rollBetween() monstrosityCharacteristics 16 20}} + | Strange color / markings + | {{/rollBetween() monstrosityCharacteristics 16 20}} + | {{#rollBetween() monstrosityCharacteristics 21 25}} + | Horns / tusks + | {{/rollBetween() monstrosityCharacteristics 21 25}} + | {{#rollBetween() monstrosityCharacteristics 26 30}} + | Oversized mouth + | {{/rollBetween() monstrosityCharacteristics 26 30}} + | {{#rollBetween() monstrosityCharacteristics 31 35}} + | Spikes / spines + | {{/rollBetween() monstrosityCharacteristics 31 35}} + | {{#rollBetween() monstrosityCharacteristics 36 40}} + | Tail + | {{/rollBetween() monstrosityCharacteristics 36 40}} + | {{#rollBetween() monstrosityCharacteristics 41 45}} + | Multi-segmented body + | {{/rollBetween() monstrosityCharacteristics 41 45}} + | {{#rollBetween() monstrosityCharacteristics 46 50}} + | Wings + | {{/rollBetween() monstrosityCharacteristics 46 50}} + | {{#rollBetween() monstrosityCharacteristics 51 54}} + | Stinger / barbs + | {{/rollBetween() monstrosityCharacteristics 51 54}} + | {{#rollBetween() monstrosityCharacteristics 55 58}} + | Many-eyed + | {{/rollBetween() monstrosityCharacteristics 55 58}} + | {{#rollBetween() monstrosityCharacteristics 59 62}} + | Distinctive sound + | {{/rollBetween() monstrosityCharacteristics 59 62}} + | {{#rollBetween() monstrosityCharacteristics 63 66}} + | Tentacles / tendrils + | {{/rollBetween() monstrosityCharacteristics 63 66}} + | {{#rollBetween() monstrosityCharacteristics 67 69}} + | Mandibles / pincers + | {{/rollBetween() monstrosityCharacteristics 67 69}} + | {{#rollBetween() monstrosityCharacteristics 70 72}} + | Luminescent + | {{/rollBetween() monstrosityCharacteristics 70 72}} + | {{#rollBetween() monstrosityCharacteristics 73 75}} + | Antennae / sensory organs + | {{/rollBetween() monstrosityCharacteristics 73 75}} + | {{#rollBetween() monstrosityCharacteristics 76 78}} + | Proboscis / inner jaw + | {{/rollBetween() monstrosityCharacteristics 76 78}} + | {{#rollBetween() monstrosityCharacteristics 79 81}} + | Exoskeleton / shell + | {{/rollBetween() monstrosityCharacteristics 79 81}} + | {{#rollBetween() monstrosityCharacteristics 82 84}} + | Bony protuberances + | {{/rollBetween() monstrosityCharacteristics 82 84}} + | {{#rollBetween() monstrosityCharacteristics 85 87}} + | Corrupted flesh + | {{/rollBetween() monstrosityCharacteristics 85 87}} + | {{#rollBetween() monstrosityCharacteristics 88 90}} + | Semi-transparent + | {{/rollBetween() monstrosityCharacteristics 88 90}} + | {{#rollBetween() monstrosityCharacteristics 91 93}} + | Scarred / injured + | {{/rollBetween() monstrosityCharacteristics 91 93}} + | {{#rollBetween() monstrosityCharacteristics 94 95}} + | Egg sac / carried offspring + | {{/rollBetween() monstrosityCharacteristics 94 95}} + | {{#rollBetween() monstrosityCharacteristics 96 97}} + | Rotting / skeletal + | {{/rollBetween() monstrosityCharacteristics 96 97}} + | {{#rollTotal() monstrosityCharacteristics 98}} + | Mummified / desiccated + | {{/rollTotal() monstrosityCharacteristics 98}} + | {{#rollTotal() monstrosityCharacteristics 99}} + | Multi-headed + | {{/rollTotal() monstrosityCharacteristics 99}} + | {{#rollTotal() monstrosityCharacteristics 100}} + | Etched with mystic runes + | {{/rollTotal() monstrosityCharacteristics 100}} + | {{/monstrosityCharacteristics}} + | {{#monstrosityAbilities}} + .sheet-result-row + .sheet-oracle-dice + | {{monstrosityAbilities}} + .sheet-oracle-table-text + | {{#rollBetween() monstrosityAbilities 1 4}} + | Keen senses + | {{/rollBetween() monstrosityAbilities 1 4}} + | {{#rollBetween() monstrosityAbilities 5 8}} + | Intimidating vocalization + | {{/rollBetween() monstrosityAbilities 5 8}} + | {{#rollBetween() monstrosityAbilities 9 12}} + | Climber + | {{/rollBetween() monstrosityAbilities 9 12}} + | {{#rollBetween() monstrosityAbilities 13 16}} + | Intelligent + | {{/rollBetween() monstrosityAbilities 13 16}} + | {{#rollBetween() monstrosityAbilities 17 20}} + | Swift + | {{/rollBetween() monstrosityAbilities 17 20}} + | {{#rollBetween() monstrosityAbilities 21 24}} + | Powerful bite + | {{/rollBetween() monstrosityAbilities 21 24}} + | {{#rollBetween() monstrosityAbilities 25 28}} + | Stealthy / ambusher + | {{/rollBetween() monstrosityAbilities 25 28}} + | {{#rollBetween() monstrosityAbilities 29 32}} + | Horrid visage + | {{/rollBetween() monstrosityAbilities 29 32}} + | {{#rollBetween() monstrosityAbilities 33 36}} + | Strong + | {{/rollBetween() monstrosityAbilities 33 36}} + | {{#rollBetween() monstrosityAbilities 37 40}} + | Camouflaged + | {{/rollBetween() monstrosityAbilities 37 40}} + | {{#rollBetween() monstrosityAbilities 41 43}} + | Flier / glider + | {{/rollBetween() monstrosityAbilities 41 43}} + | {{#rollBetween() monstrosityAbilities 44 46}} + | Poisonous + | {{/rollBetween() monstrosityAbilities 44 46}} + | {{#rollBetween() monstrosityAbilities 47 49}} + | Semiaquatic / swimmer + | {{/rollBetween() monstrosityAbilities 47 49}} + | {{#rollBetween() monstrosityAbilities 50 52}} + | Grappler / entangler + | {{/rollBetween() monstrosityAbilities 50 52}} + | {{#rollBetween() monstrosityAbilities 53 55}} + | Leaper + | {{/rollBetween() monstrosityAbilities 53 55}} + | {{#rollBetween() monstrosityAbilities 56 58}} + | Crusher / constrictor + | {{/rollBetween() monstrosityAbilities 56 58}} + | {{#rollBetween() monstrosityAbilities 59 61}} + | Armored + | {{/rollBetween() monstrosityAbilities 59 61}} + | {{#rollBetween() monstrosityAbilities 62 64}} + | Burrower + | {{/rollBetween() monstrosityAbilities 62 64}} + | {{#rollBetween() monstrosityAbilities 65 67}} + | Noxious smell + | {{/rollBetween() monstrosityAbilities 65 67}} + | {{#rollBetween() monstrosityAbilities 68 69}} + | Trap-setter + | {{/rollBetween() monstrosityAbilities 68 69}} + | {{#rollBetween() monstrosityAbilities 70 71}} + | Parasitic + | {{/rollBetween() monstrosityAbilities 70 71}} + | {{#rollBetween() monstrosityAbilities 72 73}} + | Vibration sense + | {{/rollBetween() monstrosityAbilities 72 73}} + | {{#rollBetween() monstrosityAbilities 74 75}} + | Breath weapon / toxic spew + | {{/rollBetween() monstrosityAbilities 74 75}} + | {{#rollBetween() monstrosityAbilities 76 77}} + | Mimicry + | {{/rollBetween() monstrosityAbilities 76 77}} + | {{#rollBetween() monstrosityAbilities 78 79}} + | Shapeshifting + | {{/rollBetween() monstrosityAbilities 78 79}} + | {{#rollBetween() monstrosityAbilities 80 81}} + | Control lesser creatures + | {{/rollBetween() monstrosityAbilities 80 81}} + | {{#rollBetween() monstrosityAbilities 82 83}} + | Echolocation + | {{/rollBetween() monstrosityAbilities 82 83}} + | {{#rollBetween() monstrosityAbilities 84 85}} + | Electric shock + | {{/rollBetween() monstrosityAbilities 84 85}} + | {{#rollBetween() monstrosityAbilities 86 87}} + | Acidic + | {{/rollBetween() monstrosityAbilities 86 87}} + | {{#rollBetween() monstrosityAbilities 88 89}} + | Symbiotic + | {{/rollBetween() monstrosityAbilities 88 89}} + | {{#rollBetween() monstrosityAbilities 90 91}} + | Shoot projectiles + | {{/rollBetween() monstrosityAbilities 90 91}} + | {{#rollTotal() monstrosityAbilities 92}} + | Paralyzing + | {{/rollTotal() monstrosityAbilities 92}} + | {{#rollTotal() monstrosityAbilities 93}} + | Immune to iron + | {{/rollTotal() monstrosityAbilities 93}} + | {{#rollTotal() monstrosityAbilities 94}} + | Feels no pain + | {{/rollTotal() monstrosityAbilities 94}} + | {{#rollTotal() monstrosityAbilities 95}} + | Enact rituals + | {{/rollTotal() monstrosityAbilities 95}} + | {{#rollTotal() monstrosityAbilities 96}} + | Create illusions + | {{/rollTotal() monstrosityAbilities 96}} + | {{#rollTotal() monstrosityAbilities 97}} + | Mind control / telepathy + | {{/rollTotal() monstrosityAbilities 97}} + | {{#rollTotal() monstrosityAbilities 98}} + | Move between realities + | {{/rollTotal() monstrosityAbilities 98}} + | {{#rollTotal() monstrosityAbilities 99}} + | Wield weapons + | {{/rollTotal() monstrosityAbilities 99}} + | {{#rollTotal() monstrosityAbilities 100}} + | Control elements + | {{/rollTotal() monstrosityAbilities 100}} + | {{/monstrosityAbilities}} + | {{#trapEvent}} + .sheet-result-row + .sheet-oracle-dice + | {{trapEvent}} + .sheet-oracle-table-text + | {{#rollBetween() trapEvent 1 4}} + | Block + | {{/rollBetween() trapEvent 1 4}} + | {{#rollBetween() trapEvent 5 8}} + | Create + | {{/rollBetween() trapEvent 5 8}} + | {{#rollBetween() trapEvent 9 12}} + | Break + | {{/rollBetween() trapEvent 9 12}} + | {{#rollBetween() trapEvent 13 16}} + | Puncture + | {{/rollBetween() trapEvent 13 16}} + | {{#rollBetween() trapEvent 17 20}} + | Entangle + | {{/rollBetween() trapEvent 17 20}} + | {{#rollBetween() trapEvent 21 24}} + | Enclose + | {{/rollBetween() trapEvent 21 24}} + | {{#rollBetween() trapEvent 25 28}} + | Ambush + | {{/rollBetween() trapEvent 25 28}} + | {{#rollBetween() trapEvent 29 32}} + | Snare + | {{/rollBetween() trapEvent 29 32}} + | {{#rollBetween() trapEvent 33 36}} + | Change + | {{/rollBetween() trapEvent 33 36}} + | {{#rollBetween() trapEvent 37 40}} + | Imitate + | {{/rollBetween() trapEvent 37 40}} + | {{#rollBetween() trapEvent 41 44}} + | Crush + | {{/rollBetween() trapEvent 41 44}} + | {{#rollBetween() trapEvent 45 48}} + | Drop + | {{/rollBetween() trapEvent 45 48}} + | {{#rollBetween() trapEvent 49 52}} + | Conceal + | {{/rollBetween() trapEvent 49 52}} + | {{#rollBetween() trapEvent 53 56}} + | Lure + | {{/rollBetween() trapEvent 53 56}} + | {{#rollBetween() trapEvent 57 60}} + | Release + | {{/rollBetween() trapEvent 57 60}} + | {{#rollBetween() trapEvent 61 64}} + | Obscure + | {{/rollBetween() trapEvent 61 64}} + | {{#rollBetween() trapEvent 65 68}} + | Cut + | {{/rollBetween() trapEvent 65 68}} + | {{#rollBetween() trapEvent 69 72}} + | Smother + | {{/rollBetween() trapEvent 69 72}} + | {{#rollBetween() trapEvent 73 76}} + | Collapse + | {{/rollBetween() trapEvent 73 76}} + | {{#rollBetween() trapEvent 77 80}} + | Summon + | {{/rollBetween() trapEvent 77 80}} + | {{#rollBetween() trapEvent 81 84}} + | Move + | {{/rollBetween() trapEvent 81 84}} + | {{#rollBetween() trapEvent 85 88}} + | Surprise + | {{/rollBetween() trapEvent 85 88}} + | {{#rollBetween() trapEvent 89 92}} + | Divert + | {{/rollBetween() trapEvent 89 92}} + | {{#rollBetween() trapEvent 93 96}} + | Attack + | {{/rollBetween() trapEvent 93 96}} + | {{#rollBetween() trapEvent 97 100}} + | Trigger + | {{/rollBetween() trapEvent 97 100}} + | {{/trapEvent}} + | {{#trapComponent}} + .sheet-result-row + .sheet-oracle-dice + | {{trapComponent}} + .sheet-oracle-table-text + | {{#rollBetween() trapComponent 1 4}} + | Pit + | {{/rollBetween() trapComponent 1 4}} + | {{#rollBetween() trapComponent 5 8}} + | Water + | {{/rollBetween() trapComponent 5 8}} + | {{#rollBetween() trapComponent 9 12}} + | Fire + | {{/rollBetween() trapComponent 9 12}} + | {{#rollBetween() trapComponent 13 16}} + | Projectile + | {{/rollBetween() trapComponent 13 16}} + | {{#rollBetween() trapComponent 17 20}} + | Passage + | {{/rollBetween() trapComponent 17 20}} + | {{#rollBetween() trapComponent 21 24}} + | Fall + | {{/rollBetween() trapComponent 21 24}} + | {{#rollBetween() trapComponent 25 28}} + | Debris + | {{/rollBetween() trapComponent 25 28}} + | {{#rollBetween() trapComponent 29 32}} + | Fear + | {{/rollBetween() trapComponent 29 32}} + | {{#rollBetween() trapComponent 33 36}} + | Alarm + | {{/rollBetween() trapComponent 33 36}} + | {{#rollBetween() trapComponent 37 40}} + | Trigger + | {{/rollBetween() trapComponent 37 40}} + | {{#rollBetween() trapComponent 41 44}} + | Cold + | {{/rollBetween() trapComponent 41 44}} + | {{#rollBetween() trapComponent 45 48}} + | Weapon + | {{/rollBetween() trapComponent 45 48}} + | {{#rollBetween() trapComponent 49 52}} + | Darkness + | {{/rollBetween() trapComponent 49 52}} + | {{#rollBetween() trapComponent 53 56}} + | Decay + | {{/rollBetween() trapComponent 53 56}} + | {{#rollBetween() trapComponent 57 60}} + | Path + | {{/rollBetween() trapComponent 57 60}} + | {{#rollBetween() trapComponent 61 64}} + | Stone + | {{/rollBetween() trapComponent 61 64}} + | {{#rollBetween() trapComponent 65 68}} + | Terrain + | {{/rollBetween() trapComponent 65 68}} + | {{#rollBetween() trapComponent 69 72}} + | Poison + | {{/rollBetween() trapComponent 69 72}} + | {{#rollBetween() trapComponent 73 76}} + | Barrier + | {{/rollBetween() trapComponent 73 76}} + | {{#rollBetween() trapComponent 77 80}} + | Overhead + | {{/rollBetween() trapComponent 77 80}} + | {{#rollBetween() trapComponent 81 84}} + | Magic + | {{/rollBetween() trapComponent 81 84}} + | {{#rollBetween() trapComponent 85 88}} + | Toxin + | {{/rollBetween() trapComponent 85 88}} + | {{#rollBetween() trapComponent 89 92}} + | Earth + | {{/rollBetween() trapComponent 89 92}} + | {{#rollBetween() trapComponent 93 96}} + | Light + | {{/rollBetween() trapComponent 93 96}} + | {{#rollBetween() trapComponent 97 100}} + | Denizen + | {{/rollBetween() trapComponent 97 100}} + | {{/trapComponent}} + | {{#combatEventMethod}} + .sheet-result-row + .sheet-oracle-dice + | {{combatEventMethod}} + .sheet-oracle-table-text + | {{#rollBetween() combatEventMethod 1 2}} + | Defy + | {{/rollBetween() combatEventMethod 1 2}} + | {{#rollBetween() combatEventMethod 3 4}} + | Break + | {{/rollBetween() combatEventMethod 3 4}} + | {{#rollBetween() combatEventMethod 5 6}} + | Trick + | {{/rollBetween() combatEventMethod 5 6}} + | {{#rollBetween() combatEventMethod 7 8}} + | Evade + | {{/rollBetween() combatEventMethod 7 8}} + | {{#rollBetween() combatEventMethod 9 10}} + | Protect + | {{/rollBetween() combatEventMethod 9 10}} + | {{#rollBetween() combatEventMethod 11 12}} + | Overwhelm + | {{/rollBetween() combatEventMethod 11 12}} + | {{#rollBetween() combatEventMethod 13 14}} + | Persevere + | {{/rollBetween() combatEventMethod 13 14}} + | {{#rollBetween() combatEventMethod 15 16}} + | Assist + | {{/rollBetween() combatEventMethod 15 16}} + | {{#rollBetween() combatEventMethod 17 18}} + | Await + | {{/rollBetween() combatEventMethod 17 18}} + | {{#rollBetween() combatEventMethod 19 20}} + | Abort + | {{/rollBetween() combatEventMethod 19 20}} + | {{#rollBetween() combatEventMethod 21 22}} + | Block + | {{/rollBetween() combatEventMethod 21 22}} + | {{#rollBetween() combatEventMethod 23 24}} + | Collide + | {{/rollBetween() combatEventMethod 23 24}} + | {{#rollBetween() combatEventMethod 25 26}} + | Focus + | {{/rollBetween() combatEventMethod 25 26}} + | {{#rollBetween() combatEventMethod 27 28}} + | Advance + | {{/rollBetween() combatEventMethod 27 28}} + | {{#rollBetween() combatEventMethod 29 30}} + | Breach + | {{/rollBetween() combatEventMethod 29 30}} + | {{#rollBetween() combatEventMethod 31 32}} + | Endure + | {{/rollBetween() combatEventMethod 31 32}} + | {{#rollBetween() combatEventMethod 33 34}} + | Assault + | {{/rollBetween() combatEventMethod 33 34}} + | {{#rollBetween() combatEventMethod 35 36}} + | Charge + | {{/rollBetween() combatEventMethod 35 36}} + | {{#rollBetween() combatEventMethod 37 38}} + | Escalate + | {{/rollBetween() combatEventMethod 37 38}} + | {{#rollBetween() combatEventMethod 39 40}} + | Sunder + | {{/rollBetween() combatEventMethod 39 40}} + | {{#rollBetween() combatEventMethod 41 42}} + | Shatter + | {{/rollBetween() combatEventMethod 41 42}} + | {{#rollBetween() combatEventMethod 43 44}} + | Aim + | {{/rollBetween() combatEventMethod 43 44}} + | {{#rollBetween() combatEventMethod 45 46}} + | Stagger + | {{/rollBetween() combatEventMethod 45 46}} + | {{#rollBetween() combatEventMethod 47 48}} + | Counter + | {{/rollBetween() combatEventMethod 47 48}} + | {{#rollBetween() combatEventMethod 49 50}} + | Seize + | {{/rollBetween() combatEventMethod 49 50}} + | {{#rollBetween() combatEventMethod 51 52}} + | Impact + | {{/rollBetween() combatEventMethod 51 52}} + | {{#rollBetween() combatEventMethod 53 54}} + | Entangle + | {{/rollBetween() combatEventMethod 53 54}} + | {{#rollBetween() combatEventMethod 55 56}} + | Hold + | {{/rollBetween() combatEventMethod 55 56}} + | {{#rollBetween() combatEventMethod 57 58}} + | Deflect + | {{/rollBetween() combatEventMethod 57 58}} + | {{#rollBetween() combatEventMethod 59 60}} + | Drop + | {{/rollBetween() combatEventMethod 59 60}} + | {{#rollBetween() combatEventMethod 61 62}} + | Lose + | {{/rollBetween() combatEventMethod 61 62}} + | {{#rollBetween() combatEventMethod 63 64}} + | Sweep + | {{/rollBetween() combatEventMethod 63 64}} + | {{#rollBetween() combatEventMethod 65 66}} + | Secure + | {{/rollBetween() combatEventMethod 65 66}} + | {{#rollBetween() combatEventMethod 67 68}} + | Cover + | {{/rollBetween() combatEventMethod 67 68}} + | {{#rollBetween() combatEventMethod 69 70}} + | Withdraw + | {{/rollBetween() combatEventMethod 69 70}} + | {{#rollBetween() combatEventMethod 71 72}} + | Clash + | {{/rollBetween() combatEventMethod 71 72}} + | {{#rollBetween() combatEventMethod 73 74}} + | Amplify + | {{/rollBetween() combatEventMethod 73 74}} + | {{#rollBetween() combatEventMethod 75 76}} + | Batter + | {{/rollBetween() combatEventMethod 75 76}} + | {{#rollBetween() combatEventMethod 77 78}} + | Feint + | {{/rollBetween() combatEventMethod 77 78}} + | {{#rollBetween() combatEventMethod 79 80}} + | Shove + | {{/rollBetween() combatEventMethod 79 80}} + | {{#rollBetween() combatEventMethod 81 82}} + | Embed + | {{/rollBetween() combatEventMethod 81 82}} + | {{#rollBetween() combatEventMethod 83 84}} + | Affect + | {{/rollBetween() combatEventMethod 83 84}} + | {{#rollBetween() combatEventMethod 85 86}} + | Probe + | {{/rollBetween() combatEventMethod 85 86}} + | {{#rollBetween() combatEventMethod 87 88}} + | Force + | {{/rollBetween() combatEventMethod 87 88}} + | {{#rollBetween() combatEventMethod 89 90}} + | Intensify + | {{/rollBetween() combatEventMethod 89 90}} + | {{#rollBetween() combatEventMethod 91 92}} + | Distract + | {{/rollBetween() combatEventMethod 91 92}} + | {{#rollBetween() combatEventMethod 93 94}} + | Challenge + | {{/rollBetween() combatEventMethod 93 94}} + | {{#rollBetween() combatEventMethod 95 96}} + | Brawl + | {{/rollBetween() combatEventMethod 95 96}} + | {{#rollBetween() combatEventMethod 97 98}} + | Coordinate + | {{/rollBetween() combatEventMethod 97 98}} + | {{#rollBetween() combatEventMethod 99 100}} + | Overrun + | {{/rollBetween() combatEventMethod 99 100}} + | {{/combatEventMethod}} + | {{#combatEventTarget}} + .sheet-result-row + .sheet-oracle-dice + | {{combatEventTarget}} + .sheet-oracle-table-text + | {{#rollBetween() combatEventTarget 1 2}} + | Control + | {{/rollBetween() combatEventTarget 1 2}} + | {{#rollBetween() combatEventTarget 3 4}} + | Defense + | {{/rollBetween() combatEventTarget 3 4}} + | {{#rollBetween() combatEventTarget 5 6}} + | Limbs + | {{/rollBetween() combatEventTarget 5 6}} + | {{#rollBetween() combatEventTarget 7 8}} + | Focus + | {{/rollBetween() combatEventTarget 7 8}} + | {{#rollBetween() combatEventTarget 9 10}} + | Advantage + | {{/rollBetween() combatEventTarget 9 10}} + | {{#rollBetween() combatEventTarget 11 12}} + | Range + | {{/rollBetween() combatEventTarget 11 12}} + | {{#rollBetween() combatEventTarget 13 14}} + | Stress + | {{/rollBetween() combatEventTarget 13 14}} + | {{#rollBetween() combatEventTarget 15 16}} + | Sense + | {{/rollBetween() combatEventTarget 15 16}} + | {{#rollBetween() combatEventTarget 17 18}} + | Weakness + | {{/rollBetween() combatEventTarget 17 18}} + | {{#rollBetween() combatEventTarget 19 20}} + | Opening + | {{/rollBetween() combatEventTarget 19 20}} + | {{#rollBetween() combatEventTarget 21 22}} + | Fear + | {{/rollBetween() combatEventTarget 21 22}} + | {{#rollBetween() combatEventTarget 23 24}} + | Instinct + | {{/rollBetween() combatEventTarget 23 24}} + | {{#rollBetween() combatEventTarget 25 26}} + | Footing + | {{/rollBetween() combatEventTarget 25 26}} + | {{#rollBetween() combatEventTarget 27 28}} + | Maneuver + | {{/rollBetween() combatEventTarget 27 28}} + | {{#rollBetween() combatEventTarget 29 30}} + | Reach + | {{/rollBetween() combatEventTarget 29 30}} + | {{#rollBetween() combatEventTarget 31 32}} + | Harm + | {{/rollBetween() combatEventTarget 31 32}} + | {{#rollBetween() combatEventTarget 33 34}} + | Finesse + | {{/rollBetween() combatEventTarget 33 34}} + | {{#rollBetween() combatEventTarget 35 36}} + | Weapon + | {{/rollBetween() combatEventTarget 35 36}} + | {{#rollBetween() combatEventTarget 37 38}} + | Environment + | {{/rollBetween() combatEventTarget 37 38}} + | {{#rollBetween() combatEventTarget 39 40}} + | Technique + | {{/rollBetween() combatEventTarget 39 40}} + | {{#rollBetween() combatEventTarget 41 42}} + | Surprise + | {{/rollBetween() combatEventTarget 41 42}} + | {{#rollBetween() combatEventTarget 43 44}} + | Pride + | {{/rollBetween() combatEventTarget 43 44}} + | {{#rollBetween() combatEventTarget 45 46}} + | Wound + | {{/rollBetween() combatEventTarget 45 46}} + | {{#rollBetween() combatEventTarget 47 48}} + | Precision + | {{/rollBetween() combatEventTarget 47 48}} + | {{#rollBetween() combatEventTarget 49 50}} + | Ally + | {{/rollBetween() combatEventTarget 49 50}} + | {{#rollBetween() combatEventTarget 51 52}} + | Ground + | {{/rollBetween() combatEventTarget 51 52}} + | {{#rollBetween() combatEventTarget 53 54}} + | Courage + | {{/rollBetween() combatEventTarget 53 54}} + | {{#rollBetween() combatEventTarget 55 56}} + | Companion + | {{/rollBetween() combatEventTarget 55 56}} + | {{#rollBetween() combatEventTarget 57 58}} + | Object + | {{/rollBetween() combatEventTarget 57 58}} + | {{#rollBetween() combatEventTarget 59 60}} + | Momentum + | {{/rollBetween() combatEventTarget 59 60}} + | {{#rollBetween() combatEventTarget 61 62}} + | Speed + | {{/rollBetween() combatEventTarget 61 62}} + | {{#rollBetween() combatEventTarget 63 64}} + | Strength + | {{/rollBetween() combatEventTarget 63 64}} + | {{#rollBetween() combatEventTarget 65 66}} + | Supply + | {{/rollBetween() combatEventTarget 65 66}} + | {{#rollBetween() combatEventTarget 67 68}} + | Terrain + | {{/rollBetween() combatEventTarget 67 68}} + | {{#rollBetween() combatEventTarget 69 70}} + | Armor + | {{/rollBetween() combatEventTarget 69 70}} + | {{#rollBetween() combatEventTarget 71 72}} + | Skill + | {{/rollBetween() combatEventTarget 71 72}} + | {{#rollBetween() combatEventTarget 73 74}} + | Body + | {{/rollBetween() combatEventTarget 73 74}} + | {{#rollBetween() combatEventTarget 75 76}} + | Protection + | {{/rollBetween() combatEventTarget 75 76}} + | {{#rollBetween() combatEventTarget 77 78}} + | Resolve + | {{/rollBetween() combatEventTarget 77 78}} + | {{#rollBetween() combatEventTarget 79 80}} + | Ferocity + | {{/rollBetween() combatEventTarget 79 80}} + | {{#rollBetween() combatEventTarget 81 82}} + | Shield + | {{/rollBetween() combatEventTarget 81 82}} + | {{#rollBetween() combatEventTarget 83 84}} + | Ammo + | {{/rollBetween() combatEventTarget 83 84}} + | {{#rollBetween() combatEventTarget 85 86}} + | Anger + | {{/rollBetween() combatEventTarget 85 86}} + | {{#rollBetween() combatEventTarget 87 88}} + | Opportunity + | {{/rollBetween() combatEventTarget 87 88}} + | {{#rollBetween() combatEventTarget 89 90}} + | Balance + | {{/rollBetween() combatEventTarget 89 90}} + | {{#rollBetween() combatEventTarget 91 92}} + | Position + | {{/rollBetween() combatEventTarget 91 92}} + | {{#rollBetween() combatEventTarget 93 94}} + | Barrier + | {{/rollBetween() combatEventTarget 93 94}} + | {{#rollBetween() combatEventTarget 95 96}} + | Strategy + | {{/rollBetween() combatEventTarget 95 96}} + | {{#rollBetween() combatEventTarget 97 98}} + | Grasp + | {{/rollBetween() combatEventTarget 97 98}} + | {{#rollBetween() combatEventTarget 99 100}} + | Power + | {{/rollBetween() combatEventTarget 99 100}} + | {{/combatEventTarget}} + | {{#threatCategory}} + .sheet-result-row + .sheet-oracle-dice + | {{threatCategory}} + .sheet-oracle-table-text + | {{#rollBetween() threatCategory 1 10}} + | Burgeoning Conflict + | {{/rollBetween() threatCategory 1 10}} + | {{#rollBetween() threatCategory 11 20}} + | Cursed Site + | {{/rollBetween() threatCategory 11 20}} + | {{#rollBetween() threatCategory 21 30}} + | Environmental Calamity + | {{/rollBetween() threatCategory 21 30}} + | {{#rollBetween() threatCategory 31 40}} + | Malignant Plague + | {{/rollBetween() threatCategory 31 40}} + | {{#rollBetween() threatCategory 41 50}} + | Rampaging Creature + | {{/rollBetween() threatCategory 41 50}} + | {{#rollBetween() threatCategory 51 60}} + | Ravaging Horde + | {{/rollBetween() threatCategory 51 60}} + | {{#rollBetween() threatCategory 61 70}} + | Scheming Leader + | {{/rollBetween() threatCategory 61 70}} + | {{#rollBetween() threatCategory 71 80}} + | Power-Hungry Mystic + | {{/rollBetween() threatCategory 71 80}} + | {{#rollBetween() threatCategory 81 90}} + | Zealous Cult + | {{/rollBetween() threatCategory 81 90}} + | {{#rollBetween() threatCategory 91 100}} + | Roll Twice + | {{/rollBetween() threatCategory 91 100}} + | {{/threatCategory}} + | {{#threatBurgeoningConflict}} + .sheet-result-row + .sheet-oracle-dice + | {{threatBurgeoningConflict}} + .sheet-oracle-table-text + | {{#rollBetween() threatBurgeoningConflict 1 10}} + | Allow warmongers to gain influence + | {{/rollBetween() threatBurgeoningConflict 1 10}} + | {{#rollBetween() threatBurgeoningConflict 11 20}} + | Break a treaty + | {{/rollBetween() threatBurgeoningConflict 11 20}} + | {{#rollBetween() threatBurgeoningConflict 21 30}} + | Force a hasty decision + | {{/rollBetween() threatBurgeoningConflict 21 30}} + | {{#rollBetween() threatBurgeoningConflict 31 40}} + | Deepen suspicions + | {{/rollBetween() threatBurgeoningConflict 31 40}} + | {{#rollBetween() threatBurgeoningConflict 41 50}} + | Trigger a confrontation + | {{/rollBetween() threatBurgeoningConflict 41 50}} + | {{#rollBetween() threatBurgeoningConflict 51 60}} + | Subvert a potential accord + | {{/rollBetween() threatBurgeoningConflict 51 60}} + | {{#rollBetween() threatBurgeoningConflict 61 70}} + | Isolate the antagonists + | {{/rollBetween() threatBurgeoningConflict 61 70}} + | {{#rollBetween() threatBurgeoningConflict 71 80}} + | Draw new battle lines + | {{/rollBetween() threatBurgeoningConflict 71 80}} + | {{#rollBetween() threatBurgeoningConflict 81 90}} + | Reveal an unexpected aspect of the dispute + | {{/rollBetween() threatBurgeoningConflict 81 90}} + | {{#rollBetween() threatBurgeoningConflict 91 100}} + | Introduce a new person or faction to complicate the situation + | {{/rollBetween() threatBurgeoningConflict 91 100}} + | {{/threatBurgeoningConflict}} + | {{#threatCursedSite}} + .sheet-result-row + .sheet-oracle-dice + | {{threatCursedSite}} + .sheet-oracle-table-text + | {{#rollBetween() threatCursedSite 1 10}} + | Unleash a creature or being + | {{/rollBetween() threatCursedSite 1 10}} + | {{#rollBetween() threatCursedSite 11 20}} + | Lure the unwary into its depths + | {{/rollBetween() threatCursedSite 11 20}} + | {{#rollBetween() threatCursedSite 21 30}} + | Offer promises of power + | {{/rollBetween() threatCursedSite 21 30}} + | {{#rollBetween() threatCursedSite 31 40}} + | Reveal a new aspect of its cursed history + | {{/rollBetween() threatCursedSite 31 40}} + | {{#rollBetween() threatCursedSite 41 50}} + | Expand its malignancy to surrounding lands + | {{/rollBetween() threatCursedSite 41 50}} + | {{#rollBetween() threatCursedSite 51 60}} + | Leave its mark on an inhabitant or visitor + | {{/rollBetween() threatCursedSite 51 60}} + | {{#rollBetween() threatCursedSite 61 70}} + | Reveal hidden depths + | {{/rollBetween() threatCursedSite 61 70}} + | {{#rollBetween() threatCursedSite 71 80}} + | Ensnare an important person or object + | {{/rollBetween() threatCursedSite 71 80}} + | {{#rollBetween() threatCursedSite 81 90}} + | Corrupt the environment + | {{/rollBetween() threatCursedSite 81 90}} + | {{#rollBetween() threatCursedSite 91 100}} + | Transform its nature + | {{/rollBetween() threatCursedSite 91 100}} + | {{/threatCursedSite}} + | {{#threatEnvironmentalCalamity}} + .sheet-result-row + .sheet-oracle-dice + | {{threatEnvironmentalCalamity}} + .sheet-oracle-table-text + | {{#rollBetween() threatEnvironmentalCalamity 1 10}} + | Devastate a place + | {{/rollBetween() threatEnvironmentalCalamity 1 10}} + | {{#rollBetween() threatEnvironmentalCalamity 11 20}} + | Block a path + | {{/rollBetween() threatEnvironmentalCalamity 11 20}} + | {{#rollBetween() threatEnvironmentalCalamity 21 30}} + | Threaten a community with imminent destruction + | {{/rollBetween() threatEnvironmentalCalamity 21 30}} + | {{#rollBetween() threatEnvironmentalCalamity 31 40}} + | Manifest unexpected effects + | {{/rollBetween() threatEnvironmentalCalamity 31 40}} + | {{#rollBetween() threatEnvironmentalCalamity 41 50}} + | Expand in scope or intensity + | {{/rollBetween() threatEnvironmentalCalamity 41 50}} + | {{#rollBetween() threatEnvironmentalCalamity 51 60}} + | Allow someone to take advantage + | {{/rollBetween() threatEnvironmentalCalamity 51 60}} + | {{#rollBetween() threatEnvironmentalCalamity 61 70}} + | Deprive of resources + | {{/rollBetween() threatEnvironmentalCalamity 61 70}} + | {{#rollBetween() threatEnvironmentalCalamity 71 80}} + | Isolate an important person or community + | {{/rollBetween() threatEnvironmentalCalamity 71 80}} + | {{#rollBetween() threatEnvironmentalCalamity 81 90}} + | Force refugees into hostile lands + | {{/rollBetween() threatEnvironmentalCalamity 81 90}} + | {{#rollBetween() threatEnvironmentalCalamity 91 100}} + | Disrupt natural ecosystems + | {{/rollBetween() threatEnvironmentalCalamity 91 100}} + | {{/threatEnvironmentalCalamity}} + | {{#threatMalignantPlague}} + .sheet-result-row + .sheet-oracle-dice + | {{threatMalignantPlague}} + .sheet-oracle-table-text + | {{#rollBetween() threatMalignantPlague 1 10}} + | Manifest new symptoms or effects + | {{/rollBetween() threatMalignantPlague 1 10}} + | {{#rollBetween() threatMalignantPlague 11 20}} + | Infect someone important + | {{/rollBetween() threatMalignantPlague 11 20}} + | {{#rollBetween() threatMalignantPlague 21 30}} + | Expand to new territory or communities + | {{/rollBetween() threatMalignantPlague 21 30}} + | {{#rollBetween() threatMalignantPlague 31 40}} + | Allow someone to take advantage + | {{/rollBetween() threatMalignantPlague 31 40}} + | {{#rollBetween() threatMalignantPlague 41 50}} + | Allow someone to take the blame + | {{/rollBetween() threatMalignantPlague 41 50}} + | {{#rollBetween() threatMalignantPlague 51 60}} + | Create panic or disorder + | {{/rollBetween() threatMalignantPlague 51 60}} + | {{#rollBetween() threatMalignantPlague 61 70}} + | Force a horrible decision + | {{/rollBetween() threatMalignantPlague 61 70}} + | {{#rollBetween() threatMalignantPlague 71 80}} + | Lure into complacency + | {{/rollBetween() threatMalignantPlague 71 80}} + | {{#rollBetween() threatMalignantPlague 81 90}} + | Reveal the root of the sickness + | {{/rollBetween() threatMalignantPlague 81 90}} + | {{#rollBetween() threatMalignantPlague 91 100}} + | Undermine a potential cure + | {{/rollBetween() threatMalignantPlague 91 100}} + | {{/threatMalignantPlague}} + | {{#threatRampagingCreature}} + .sheet-result-row + .sheet-oracle-dice + | {{threatRampagingCreature}} + .sheet-oracle-table-text + | {{#rollBetween() threatRampagingCreature 1 10}} + | Reveal a new aspect of its nature or abilities + | {{/rollBetween() threatRampagingCreature 1 10}} + | {{#rollBetween() threatRampagingCreature 11 20}} + | Expand its territory + | {{/rollBetween() threatRampagingCreature 11 20}} + | {{#rollBetween() threatRampagingCreature 21 30}} + | Make a sudden and brutal attack + | {{/rollBetween() threatRampagingCreature 21 30}} + | {{#rollBetween() threatRampagingCreature 31 40}} + | Control or influence lesser creatures + | {{/rollBetween() threatRampagingCreature 31 40}} + | {{#rollBetween() threatRampagingCreature 41 50}} + | Create confusion or strife + | {{/rollBetween() threatRampagingCreature 41 50}} + | {{#rollBetween() threatRampagingCreature 51 60}} + | Leave foreboding signs + | {{/rollBetween() threatRampagingCreature 51 60}} + | {{#rollBetween() threatRampagingCreature 61 70}} + | Lure the unwary + | {{/rollBetween() threatRampagingCreature 61 70}} + | {{#rollBetween() threatRampagingCreature 71 80}} + | Imperil an event + | {{/rollBetween() threatRampagingCreature 71 80}} + | {{#rollBetween() threatRampagingCreature 81 90}} + | Assert control over a location + | {{/rollBetween() threatRampagingCreature 81 90}} + | {{#rollBetween() threatRampagingCreature 91 100}} + | Threaten resources + | {{/rollBetween() threatRampagingCreature 91 100}} + | {{/threatRampagingCreature}} + | {{#threatRavagingHorde}} + .sheet-result-row + .sheet-oracle-dice + | {{threatRavagingHorde}} + .sheet-oracle-table-text + | {{#rollBetween() threatRavagingHorde 1 10}} + | Overrun defenses + | {{/rollBetween() threatRavagingHorde 1 10}} + | {{#rollBetween() threatRavagingHorde 11 20}} + | Gather resources + | {{/rollBetween() threatRavagingHorde 11 20}} + | {{#rollBetween() threatRavagingHorde 21 30}} + | Attack a location + | {{/rollBetween() threatRavagingHorde 21 30}} + | {{#rollBetween() threatRavagingHorde 31 40}} + | Expand forces + | {{/rollBetween() threatRavagingHorde 31 40}} + | {{#rollBetween() threatRavagingHorde 41 50}} + | Appoint or reveal a leader + | {{/rollBetween() threatRavagingHorde 41 50}} + | {{#rollBetween() threatRavagingHorde 51 60}} + | Send forth a champion + | {{/rollBetween() threatRavagingHorde 51 60}} + | {{#rollBetween() threatRavagingHorde 61 70}} + | Create a diversion + | {{/rollBetween() threatRavagingHorde 61 70}} + | {{#rollBetween() threatRavagingHorde 71 80}} + | Undermine an opposing force from within + | {{/rollBetween() threatRavagingHorde 71 80}} + | {{#rollBetween() threatRavagingHorde 81 90}} + | Cut off supplies or reinforcements + | {{/rollBetween() threatRavagingHorde 81 90}} + | {{#rollBetween() threatRavagingHorde 91 100}} + | Employ a new weapon + | {{/rollBetween() threatRavagingHorde 91 100}} + | {{/threatRavagingHorde}} + | {{#threatSchemingLeader}} + .sheet-result-row + .sheet-oracle-dice + | {{threatSchemingLeader}} + .sheet-oracle-table-text + | {{#rollBetween() threatSchemingLeader 1 10}} + | Defeat an enemy + | {{/rollBetween() threatSchemingLeader 1 10}} + | {{#rollBetween() threatSchemingLeader 11 20}} + | Form a new alliance + | {{/rollBetween() threatSchemingLeader 11 20}} + | {{#rollBetween() threatSchemingLeader 21 30}} + | Usurp or undermine another leader + | {{/rollBetween() threatSchemingLeader 21 30}} + | {{#rollBetween() threatSchemingLeader 31 40}} + | Force the loyalty of a community or important person + | {{/rollBetween() threatSchemingLeader 31 40}} + | {{#rollBetween() threatSchemingLeader 41 50}} + | Enact a new law or tradition + | {{/rollBetween() threatSchemingLeader 41 50}} + | {{#rollBetween() threatSchemingLeader 51 60}} + | Rescind an old law or tradition + | {{/rollBetween() threatSchemingLeader 51 60}} + | {{#rollBetween() threatSchemingLeader 61 70}} + | Reveal a true intention + | {{/rollBetween() threatSchemingLeader 61 70}} + | {{#rollBetween() threatSchemingLeader 71 80}} + | Unravel an existing alliance + | {{/rollBetween() threatSchemingLeader 71 80}} + | {{#rollBetween() threatSchemingLeader 81 90}} + | Incite conflict + | {{/rollBetween() threatSchemingLeader 81 90}} + | {{#rollBetween() threatSchemingLeader 91 100}} + | Use an unexpected capability or asset + | {{/rollBetween() threatSchemingLeader 91 100}} + | {{/threatSchemingLeader}} + | {{#threatPowerHungryMystic}} + .sheet-result-row + .sheet-oracle-dice + | {{threatPowerHungryMystic}} + .sheet-oracle-table-text + | {{#rollBetween() threatPowerHungryMystic 1 10}} + | Gain hidden knowledge + | {{/rollBetween() threatPowerHungryMystic 1 10}} + | {{#rollBetween() threatPowerHungryMystic 11 20}} + | Assault an enemy with magic + | {{/rollBetween() threatPowerHungryMystic 11 20}} + | {{#rollBetween() threatPowerHungryMystic 21 30}} + | Despoil a place through magic + | {{/rollBetween() threatPowerHungryMystic 21 30}} + | {{#rollBetween() threatPowerHungryMystic 31 40}} + | Forge a bond with ancient forces + | {{/rollBetween() threatPowerHungryMystic 31 40}} + | {{#rollBetween() threatPowerHungryMystic 41 50}} + | Create magical wards or protections + | {{/rollBetween() threatPowerHungryMystic 41 50}} + | {{#rollBetween() threatPowerHungryMystic 51 60}} + | Obtain a powerful artifact + | {{/rollBetween() threatPowerHungryMystic 51 60}} + | {{#rollBetween() threatPowerHungryMystic 61 70}} + | Tempt with power or secrets + | {{/rollBetween() threatPowerHungryMystic 61 70}} + | {{#rollBetween() threatPowerHungryMystic 71 80}} + | Recruit a follower or ally + | {{/rollBetween() threatPowerHungryMystic 71 80}} + | {{#rollBetween() threatPowerHungryMystic 81 90}} + | Sacrifice something in exchange for greater power + | {{/rollBetween() threatPowerHungryMystic 81 90}} + | {{#rollBetween() threatPowerHungryMystic 91 100}} + | Use magic to trick or deceive + | {{/rollBetween() threatPowerHungryMystic 91 100}} + | {{/threatPowerHungryMystic}} + | {{#threatZealousCult}} + .sheet-result-row + .sheet-oracle-dice + | {{threatZealousCult}} + .sheet-oracle-table-text + | {{#rollBetween() threatZealousCult 1 10}} + | Overtake a faction or community + | {{/rollBetween() threatZealousCult 1 10}} + | {{#rollBetween() threatZealousCult 11 20}} + | Unlock secrets to greater power + | {{/rollBetween() threatZealousCult 11 20}} + | {{#rollBetween() threatZealousCult 21 30}} + | Establish false credibility + | {{/rollBetween() threatZealousCult 21 30}} + | {{#rollBetween() threatZealousCult 31 40}} + | Appoint or reveal a leader + | {{/rollBetween() threatZealousCult 31 40}} + | {{#rollBetween() threatZealousCult 41 50}} + | Lure new members or establish alliances + | {{/rollBetween() threatZealousCult 41 50}} + | {{#rollBetween() threatZealousCult 51 60}} + | Subvert opposition through devious schemes + | {{/rollBetween() threatZealousCult 51 60}} + | {{#rollBetween() threatZealousCult 61 70}} + | Attack opposition directly + | {{/rollBetween() threatZealousCult 61 70}} + | {{#rollBetween() threatZealousCult 71 80}} + | Spread the word of its doctrine + | {{/rollBetween() threatZealousCult 71 80}} + | {{#rollBetween() threatZealousCult 81 90}} + | Reveal a dire prophecy + | {{/rollBetween() threatZealousCult 81 90}} + | {{#rollBetween() threatZealousCult 91 100}} + | Reveal its true nature or goal + | {{/rollBetween() threatZealousCult 91 100}} + | {{/threatZealousCult}} diff --git a/Ironcrunch/src/roll-templates/oracles/ironcrunch.pug b/Ironcrunch/src/roll-templates/oracles/ironcrunch.pug new file mode 100644 index 0000000000..f8c718b695 --- /dev/null +++ b/Ironcrunch/src/roll-templates/oracles/ironcrunch.pug @@ -0,0 +1,27 @@ +include ../../data/oracles + +rolltemplate.sheet-rolltemplate-ironcrunch_oracles + .sheet-roll-container + .sheet-subheader {{header}} + | {{#custom-oracle}} + .sheet-result-row + .sheet-oracle-table-text {{custom-oracle}} + | {{/custom-oracle}} + each group in oracles.ironcrunch + each oracle in group.oracles + | + | {{##{oracle.roll_id}}} + .sheet-result-row + .sheet-oracle-dice + span {{#{oracle.roll_id}}} + .sheet-oracle-table-text + each row in oracle.rows + - var rollValues = row.roll.match(/(\d+-\d*)|(\d+)/gm)[0].replace('-', ' ') + | + | {{#roll#{row.type}() #{oracle.roll_id} #{rollValues}}} + | + span!=row.result + | + | {{/roll#{row.type}() #{oracle.roll_id} #{rollValues}}} + | + | {{/#{oracle.roll_id}}} \ No newline at end of file diff --git a/Ironcrunch/src/roll-templates/oracles/ironsworn.pug b/Ironcrunch/src/roll-templates/oracles/ironsworn.pug new file mode 100644 index 0000000000..19a562e88a --- /dev/null +++ b/Ironcrunch/src/roll-templates/oracles/ironsworn.pug @@ -0,0 +1,3330 @@ +rolltemplate.sheet-rolltemplate-ironsworn_oracles + .sheet-roll-container + .sheet-subheader {{header}} + | {{#custom-oracle}} + .sheet-result-row + .sheet-oracle-table-text {{custom-oracle}} + | {{/custom-oracle}} + | {{#action}} + .sheet-result-row + .sheet-oracle-dice + span {{action}} + .sheet-oracle-table-text + | {{#rollTotal() action 1}} + span Scheme + | {{/rollTotal() action 1}} + | {{#rollTotal() action 2}} + span Clash + | {{/rollTotal() action 2}} + | {{#rollTotal() action 3}} + span Weaken + | {{/rollTotal() action 3}} + | {{#rollTotal() action 4}} + span Initiate + | {{/rollTotal() action 4}} + | {{#rollTotal() action 5}} + span Create + | {{/rollTotal() action 5}} + | {{#rollTotal() action 6}} + span Swear + | {{/rollTotal() action 6}} + | {{#rollTotal() action 7}} + span Avenge + | {{/rollTotal() action 7}} + | {{#rollTotal() action 8}} + span Guard + | {{/rollTotal() action 8}} + | {{#rollTotal() action 9}} + span Defeat + | {{/rollTotal() action 9}} + | {{#rollTotal() action 10}} + span Control + | {{/rollTotal() action 10}} + | {{#rollTotal() action 11}} + span Break + | {{/rollTotal() action 11}} + | {{#rollTotal() action 12}} + span Risk + | {{/rollTotal() action 12}} + | {{#rollTotal() action 13}} + span Surrender + | {{/rollTotal() action 13}} + | {{#rollTotal() action 14}} + span Inspect + | {{/rollTotal() action 14}} + | {{#rollTotal() action 15}} + span Raid + | {{/rollTotal() action 15}} + | {{#rollTotal() action 16}} + span Evade + | {{/rollTotal() action 16}} + | {{#rollTotal() action 17}} + span Assault + | {{/rollTotal() action 17}} + | {{#rollTotal() action 18}} + span Deflect + | {{/rollTotal() action 18}} + | {{#rollTotal() action 19}} + span Threaten + | {{/rollTotal() action 19}} + | {{#rollTotal() action 20}} + span Attack + | {{/rollTotal() action 20}} + | {{#rollTotal() action 21}} + span Leave + | {{/rollTotal() action 21}} + | {{#rollTotal() action 22}} + span Preserve + | {{/rollTotal() action 22}} + | {{#rollTotal() action 23}} + span Manipulate + | {{/rollTotal() action 23}} + | {{#rollTotal() action 24}} + span Remove + | {{/rollTotal() action 24}} + | {{#rollTotal() action 25}} + span Eliminate + | {{/rollTotal() action 25}} + | {{#rollTotal() action 26}} + span Withdraw + | {{/rollTotal() action 26}} + | {{#rollTotal() action 27}} + span Abandon + | {{/rollTotal() action 27}} + | {{#rollTotal() action 28}} + span Investigate + | {{/rollTotal() action 28}} + | {{#rollTotal() action 29}} + span Hold + | {{/rollTotal() action 29}} + | {{#rollTotal() action 30}} + span Focus + | {{/rollTotal() action 30}} + | {{#rollTotal() action 31}} + span Uncover + | {{/rollTotal() action 31}} + | {{#rollTotal() action 32}} + span Breach + | {{/rollTotal() action 32}} + | {{#rollTotal() action 33}} + span Aid + | {{/rollTotal() action 33}} + | {{#rollTotal() action 34}} + span Uphold + | {{/rollTotal() action 34}} + | {{#rollTotal() action 35}} + span Falter + | {{/rollTotal() action 35}} + | {{#rollTotal() action 36}} + span Suppress + | {{/rollTotal() action 36}} + | {{#rollTotal() action 37}} + span Hunt + | {{/rollTotal() action 37}} + | {{#rollTotal() action 38}} + span Share + | {{/rollTotal() action 38}} + | {{#rollTotal() action 39}} + span Destroy + | {{/rollTotal() action 39}} + | {{#rollTotal() action 40}} + span Avoid + | {{/rollTotal() action 40}} + | {{#rollTotal() action 41}} + span Reject + | {{/rollTotal() action 41}} + | {{#rollTotal() action 42}} + span Demand + | {{/rollTotal() action 42}} + | {{#rollTotal() action 43}} + span Explore + | {{/rollTotal() action 43}} + | {{#rollTotal() action 44}} + span Bolster + | {{/rollTotal() action 44}} + | {{#rollTotal() action 45}} + span Seize + | {{/rollTotal() action 45}} + | {{#rollTotal() action 46}} + span Mourn + | {{/rollTotal() action 46}} + | {{#rollTotal() action 47}} + span Reveal + | {{/rollTotal() action 47}} + | {{#rollTotal() action 48}} + span Gather + | {{/rollTotal() action 48}} + | {{#rollTotal() action 49}} + span Defy + | {{/rollTotal() action 49}} + | {{#rollTotal() action 50}} + span Transform + | {{/rollTotal() action 50}} + | {{#rollTotal() action 51}} + span Persevere + | {{/rollTotal() action 51}} + | {{#rollTotal() action 52}} + span Serve + | {{/rollTotal() action 52}} + | {{#rollTotal() action 53}} + span Begin + | {{/rollTotal() action 53}} + | {{#rollTotal() action 54}} + span Move + | {{/rollTotal() action 54}} + | {{#rollTotal() action 55}} + span Coordinate + | {{/rollTotal() action 55}} + | {{#rollTotal() action 56}} + span Resist + | {{/rollTotal() action 56}} + | {{#rollTotal() action 57}} + span Await + | {{/rollTotal() action 57}} + | {{#rollTotal() action 58}} + span Impress + | {{/rollTotal() action 58}} + | {{#rollTotal() action 59}} + span Take + | {{/rollTotal() action 59}} + | {{#rollTotal() action 60}} + span Oppose + | {{/rollTotal() action 60}} + | {{#rollTotal() action 61}} + span Capture + | {{/rollTotal() action 61}} + | {{#rollTotal() action 62}} + span Overwhelm + | {{/rollTotal() action 62}} + | {{#rollTotal() action 63}} + span Challenge + | {{/rollTotal() action 63}} + | {{#rollTotal() action 64}} + span Acquire + | {{/rollTotal() action 64}} + | {{#rollTotal() action 65}} + span Protect + | {{/rollTotal() action 65}} + | {{#rollTotal() action 66}} + span Finish + | {{/rollTotal() action 66}} + | {{#rollTotal() action 67}} + span Strengthen + | {{/rollTotal() action 67}} + | {{#rollTotal() action 68}} + span Restore + | {{/rollTotal() action 68}} + | {{#rollTotal() action 69}} + span Advance + | {{/rollTotal() action 69}} + | {{#rollTotal() action 70}} + span Command + | {{/rollTotal() action 70}} + | {{#rollTotal() action 71}} + span Refuse + | {{/rollTotal() action 71}} + | {{#rollTotal() action 72}} + span Find + | {{/rollTotal() action 72}} + | {{#rollTotal() action 73}} + span Deliver + | {{/rollTotal() action 73}} + | {{#rollTotal() action 74}} + span Hide + | {{/rollTotal() action 74}} + | {{#rollTotal() action 75}} + span Fortify + | {{/rollTotal() action 75}} + | {{#rollTotal() action 76}} + span Betray + | {{/rollTotal() action 76}} + | {{#rollTotal() action 77}} + span Secure + | {{/rollTotal() action 77}} + | {{#rollTotal() action 78}} + span Arrive + | {{/rollTotal() action 78}} + | {{#rollTotal() action 79}} + span Affect + | {{/rollTotal() action 79}} + | {{#rollTotal() action 80}} + span Change + | {{/rollTotal() action 80}} + | {{#rollTotal() action 81}} + span Defend + | {{/rollTotal() action 81}} + | {{#rollTotal() action 82}} + span Debate + | {{/rollTotal() action 82}} + | {{#rollTotal() action 83}} + span Support + | {{/rollTotal() action 83}} + | {{#rollTotal() action 84}} + span Follow + | {{/rollTotal() action 84}} + | {{#rollTotal() action 85}} + span Construct + | {{/rollTotal() action 85}} + | {{#rollTotal() action 86}} + span Locate + | {{/rollTotal() action 86}} + | {{#rollTotal() action 87}} + span Endure + | {{/rollTotal() action 87}} + | {{#rollTotal() action 88}} + span Release + | {{/rollTotal() action 88}} + | {{#rollTotal() action 89}} + span Lose + | {{/rollTotal() action 89}} + | {{#rollTotal() action 90}} + span Reduce + | {{/rollTotal() action 90}} + | {{#rollTotal() action 91}} + span Escalate + | {{/rollTotal() action 91}} + | {{#rollTotal() action 92}} + span Distract + | {{/rollTotal() action 92}} + | {{#rollTotal() action 93}} + span Journey + | {{/rollTotal() action 93}} + | {{#rollTotal() action 94}} + span Escort + | {{/rollTotal() action 94}} + | {{#rollTotal() action 95}} + span Learn + | {{/rollTotal() action 95}} + | {{#rollTotal() action 96}} + span Communicate + | {{/rollTotal() action 96}} + | {{#rollTotal() action 97}} + span Depart + | {{/rollTotal() action 97}} + | {{#rollTotal() action 98}} + span Search + | {{/rollTotal() action 98}} + | {{#rollTotal() action 99}} + span Charge + | {{/rollTotal() action 99}} + | {{#rollTotal() action 100}} + span Summon + | {{/rollTotal() action 100}} + | {{/action}} + | {{#theme}} + .sheet-result-row + .sheet-oracle-dice + span {{theme}} + .sheet-oracle-table-text + | {{#rollTotal() theme 1}} + span Risk + | {{/rollTotal() theme 1}} + | {{#rollTotal() theme 2}} + span Ability + | {{/rollTotal() theme 2}} + | {{#rollTotal() theme 3}} + span Price + | {{/rollTotal() theme 3}} + | {{#rollTotal() theme 4}} + span Ally + | {{/rollTotal() theme 4}} + | {{#rollTotal() theme 5}} + span Battle + | {{/rollTotal() theme 5}} + | {{#rollTotal() theme 6}} + span Safety + | {{/rollTotal() theme 6}} + | {{#rollTotal() theme 7}} + span Survival + | {{/rollTotal() theme 7}} + | {{#rollTotal() theme 8}} + span Weapon + | {{/rollTotal() theme 8}} + | {{#rollTotal() theme 9}} + span Wound + | {{/rollTotal() theme 9}} + | {{#rollTotal() theme 10}} + span Shelter + | {{/rollTotal() theme 10}} + | {{#rollTotal() theme 11}} + span Leader + | {{/rollTotal() theme 11}} + | {{#rollTotal() theme 12}} + span Fear + | {{/rollTotal() theme 12}} + | {{#rollTotal() theme 13}} + span Time + | {{/rollTotal() theme 13}} + | {{#rollTotal() theme 14}} + span Duty + | {{/rollTotal() theme 14}} + | {{#rollTotal() theme 15}} + span Secret + | {{/rollTotal() theme 15}} + | {{#rollTotal() theme 16}} + span Innocence + | {{/rollTotal() theme 16}} + | {{#rollTotal() theme 17}} + span Renown + | {{/rollTotal() theme 17}} + | {{#rollTotal() theme 18}} + span Direction + | {{/rollTotal() theme 18}} + | {{#rollTotal() theme 19}} + span Death + | {{/rollTotal() theme 19}} + | {{#rollTotal() theme 20}} + span Honor + | {{/rollTotal() theme 20}} + | {{#rollTotal() theme 21}} + span Labor + | {{/rollTotal() theme 21}} + | {{#rollTotal() theme 22}} + span Solution + | {{/rollTotal() theme 22}} + | {{#rollTotal() theme 23}} + span Tool + | {{/rollTotal() theme 23}} + | {{#rollTotal() theme 24}} + span Balance + | {{/rollTotal() theme 24}} + | {{#rollTotal() theme 25}} + span Love + | {{/rollTotal() theme 25}} + | {{#rollTotal() theme 26}} + span Barrier + | {{/rollTotal() theme 26}} + | {{#rollTotal() theme 27}} + span Creation + | {{/rollTotal() theme 27}} + | {{#rollTotal() theme 28}} + span Decay + | {{/rollTotal() theme 28}} + | {{#rollTotal() theme 29}} + span Trade + | {{/rollTotal() theme 29}} + | {{#rollTotal() theme 30}} + span Bond + | {{/rollTotal() theme 30}} + | {{#rollTotal() theme 31}} + span Hope + | {{/rollTotal() theme 31}} + | {{#rollTotal() theme 32}} + span Superstition + | {{/rollTotal() theme 32}} + | {{#rollTotal() theme 33}} + span Peace + | {{/rollTotal() theme 33}} + | {{#rollTotal() theme 34}} + span Deception + | {{/rollTotal() theme 34}} + | {{#rollTotal() theme 35}} + span History + | {{/rollTotal() theme 35}} + | {{#rollTotal() theme 36}} + span World + | {{/rollTotal() theme 36}} + | {{#rollTotal() theme 37}} + span Vow + | {{/rollTotal() theme 37}} + | {{#rollTotal() theme 38}} + span Protection + | {{/rollTotal() theme 38}} + | {{#rollTotal() theme 39}} + span Nature + | {{/rollTotal() theme 39}} + | {{#rollTotal() theme 40}} + span Opinion + | {{/rollTotal() theme 40}} + | {{#rollTotal() theme 41}} + span Burden + | {{/rollTotal() theme 41}} + | {{#rollTotal() theme 42}} + span Vengeance + | {{/rollTotal() theme 42}} + | {{#rollTotal() theme 43}} + span Opportunity + | {{/rollTotal() theme 43}} + | {{#rollTotal() theme 44}} + span Faction + | {{/rollTotal() theme 44}} + | {{#rollTotal() theme 45}} + span Danger + | {{/rollTotal() theme 45}} + | {{#rollTotal() theme 46}} + span Corruption + | {{/rollTotal() theme 46}} + | {{#rollTotal() theme 47}} + span Freedom + | {{/rollTotal() theme 47}} + | {{#rollTotal() theme 48}} + span Debt + | {{/rollTotal() theme 48}} + | {{#rollTotal() theme 49}} + span Hate + | {{/rollTotal() theme 49}} + | {{#rollTotal() theme 50}} + span Possession + | {{/rollTotal() theme 50}} + | {{#rollTotal() theme 51}} + span Stranger + | {{/rollTotal() theme 51}} + | {{#rollTotal() theme 52}} + span Passage + | {{/rollTotal() theme 52}} + | {{#rollTotal() theme 53}} + span Land + | {{/rollTotal() theme 53}} + | {{#rollTotal() theme 54}} + span Creature + | {{/rollTotal() theme 54}} + | {{#rollTotal() theme 55}} + span Disease + | {{/rollTotal() theme 55}} + | {{#rollTotal() theme 56}} + span Advantage + | {{/rollTotal() theme 56}} + | {{#rollTotal() theme 57}} + span Blood + | {{/rollTotal() theme 57}} + | {{#rollTotal() theme 58}} + span Language + | {{/rollTotal() theme 58}} + | {{#rollTotal() theme 59}} + span Rumor + | {{/rollTotal() theme 59}} + | {{#rollTotal() theme 60}} + span Weakness + | {{/rollTotal() theme 60}} + | {{#rollTotal() theme 61}} + span Greed + | {{/rollTotal() theme 61}} + | {{#rollTotal() theme 62}} + span Family + | {{/rollTotal() theme 62}} + | {{#rollTotal() theme 63}} + span Resource + | {{/rollTotal() theme 63}} + | {{#rollTotal() theme 64}} + span Structure + | {{/rollTotal() theme 64}} + | {{#rollTotal() theme 65}} + span Dream + | {{/rollTotal() theme 65}} + | {{#rollTotal() theme 66}} + span Community + | {{/rollTotal() theme 66}} + | {{#rollTotal() theme 67}} + span War + | {{/rollTotal() theme 67}} + | {{#rollTotal() theme 68}} + span Portent + | {{/rollTotal() theme 68}} + | {{#rollTotal() theme 69}} + span Prize + | {{/rollTotal() theme 69}} + | {{#rollTotal() theme 70}} + span Destiny + | {{/rollTotal() theme 70}} + | {{#rollTotal() theme 71}} + span Momentum + | {{/rollTotal() theme 71}} + | {{#rollTotal() theme 72}} + span Power + | {{/rollTotal() theme 72}} + | {{#rollTotal() theme 73}} + span Memory + | {{/rollTotal() theme 73}} + | {{#rollTotal() theme 74}} + span Ruin + | {{/rollTotal() theme 74}} + | {{#rollTotal() theme 75}} + span Mysticism + | {{/rollTotal() theme 75}} + | {{#rollTotal() theme 76}} + span Rival + | {{/rollTotal() theme 76}} + | {{#rollTotal() theme 77}} + span Problem + | {{/rollTotal() theme 77}} + | {{#rollTotal() theme 78}} + span Idea + | {{/rollTotal() theme 78}} + | {{#rollTotal() theme 79}} + span Revenge + | {{/rollTotal() theme 79}} + | {{#rollTotal() theme 80}} + span Health + | {{/rollTotal() theme 80}} + | {{#rollTotal() theme 81}} + span Fellowship + | {{/rollTotal() theme 81}} + | {{#rollTotal() theme 82}} + span Enemy + | {{/rollTotal() theme 82}} + | {{#rollTotal() theme 83}} + span Religion + | {{/rollTotal() theme 83}} + | {{#rollTotal() theme 84}} + span Spirit + | {{/rollTotal() theme 84}} + | {{#rollTotal() theme 85}} + span Fame + | {{/rollTotal() theme 85}} + | {{#rollTotal() theme 86}} + span Desolation + | {{/rollTotal() theme 86}} + | {{#rollTotal() theme 87}} + span Strength + | {{/rollTotal() theme 87}} + | {{#rollTotal() theme 88}} + span Knowledge + | {{/rollTotal() theme 88}} + | {{#rollTotal() theme 89}} + span Truth + | {{/rollTotal() theme 89}} + | {{#rollTotal() theme 90}} + span Quest + | {{/rollTotal() theme 90}} + | {{#rollTotal() theme 91}} + span Pride + | {{/rollTotal() theme 91}} + | {{#rollTotal() theme 92}} + span Loss + | {{/rollTotal() theme 92}} + | {{#rollTotal() theme 93}} + span Law + | {{/rollTotal() theme 93}} + | {{#rollTotal() theme 94}} + span Path + | {{/rollTotal() theme 94}} + | {{#rollTotal() theme 95}} + span Warning + | {{/rollTotal() theme 95}} + | {{#rollTotal() theme 96}} + span Relationship + | {{/rollTotal() theme 96}} + | {{#rollTotal() theme 97}} + span Wealth + | {{/rollTotal() theme 97}} + | {{#rollTotal() theme 98}} + span Home + | {{/rollTotal() theme 98}} + | {{#rollTotal() theme 99}} + span Strategy + | {{/rollTotal() theme 99}} + | {{#rollTotal() theme 100}} + span Supply + | {{/rollTotal() theme 100}} + | {{/theme}} + | {{#region}} + .sheet-result-row + .sheet-oracle-dice + span {{region}} + .sheet-oracle-table-text + | {{#rollBetween() region 1 12}} + span Barrier Islands + | {{/rollBetween() region 1 12}} + | {{#rollBetween() region 13 24}} + span Ragged Coast + | {{/rollBetween() region 13 24}} + | {{#rollBetween() region 25 34}} + span Deep Wilds + | {{/rollBetween() region 25 34}} + | {{#rollBetween() region 35 46}} + span Flooded Lands + | {{/rollBetween() region 35 46}} + | {{#rollBetween() region 47 60}} + span Havens + | {{/rollBetween() region 47 60}} + | {{#rollBetween() region 61 72}} + span Hinterlands + | {{/rollBetween() region 61 72}} + | {{#rollBetween() region 73 84}} + span Tempest Hills + | {{/rollBetween() region 73 84}} + | {{#rollBetween() region 85 94}} + span Veiled Mountains + | {{/rollBetween() region 85 94}} + | {{#rollBetween() region 95 99}} + span Shattered Wastes + | {{/rollBetween() region 95 99}} + | {{#rollTotal() region 100}} + span Elsewhere + | {{/rollTotal() region 100}} + | {{/region}} + | {{#location}} + .sheet-result-row + .sheet-oracle-dice + span {{location}} + .sheet-oracle-table-text + | {{#rollTotal() location 1}} + span Hideout + | {{/rollTotal() location 1}} + | {{#rollTotal() location 2}} + span Ruin + | {{/rollTotal() location 2}} + | {{#rollTotal() location 3}} + span Mine + | {{/rollTotal() location 3}} + | {{#rollTotal() location 4}} + span Waste + | {{/rollTotal() location 4}} + | {{#rollTotal() location 5}} + span Mystical Site + | {{/rollTotal() location 5}} + | {{#rollTotal() location 6}} + span Path + | {{/rollTotal() location 6}} + | {{#rollTotal() location 7}} + span Outpost + | {{/rollTotal() location 7}} + | {{#rollTotal() location 8}} + span Wall + | {{/rollTotal() location 8}} + | {{#rollTotal() location 9}} + span Battlefield + | {{/rollTotal() location 9}} + | {{#rollTotal() location 10}} + span Hovel + | {{/rollTotal() location 10}} + | {{#rollTotal() location 11}} + span Spring + | {{/rollTotal() location 11}} + | {{#rollTotal() location 12}} + span Lair + | {{/rollTotal() location 12}} + | {{#rollTotal() location 13}} + span Fort + | {{/rollTotal() location 13}} + | {{#rollTotal() location 14}} + span Bridge + | {{/rollTotal() location 14}} + | {{#rollTotal() location 15}} + span Camp + | {{/rollTotal() location 15}} + | {{#rollTotal() location 16 }} + span Cairn/Grave + | {{/rollTotal() location 16 }} + | {{#rollBetween() location 17 18 }} + span Caravan + | {{/rollBetween() location 17 18 }} + | {{#rollBetween() location 19 20 }} + span Waterfall + | {{/rollBetween() location 19 20 }} + | {{#rollBetween() location 21 22 }} + span Cave + | {{/rollBetween() location 21 22 }} + | {{#rollBetween() location 23 24 }} + span Swamp + | {{/rollBetween() location 23 24 }} + | {{#rollBetween() location 25 26 }} + span Fen + | {{/rollBetween() location 25 26 }} + | {{#rollBetween() location 27 28 }} + span Ravine + | {{/rollBetween() location 27 28 }} + | {{#rollBetween() location 29 30 }} + span Road + | {{/rollBetween() location 29 30 }} + | {{#rollBetween() location 31 32 }} + span Tree + | {{/rollBetween() location 31 32 }} + | {{#rollBetween() location 33 34 }} + span Pond + | {{/rollBetween() location 33 34 }} + | {{#rollBetween() location 35 36 }} + span Fields + | {{/rollBetween() location 35 36 }} + | {{#rollBetween() location 37 38 }} + span Marsh + | {{/rollBetween() location 37 38 }} + | {{#rollBetween() location 39 40 }} + span Steading + | {{/rollBetween() location 39 40 }} + | {{#rollBetween() location 41 42 }} + span Rapids + | {{/rollBetween() location 41 42 }} + | {{#rollBetween() location 43 44 }} + span Pass + | {{/rollBetween() location 43 44 }} + | {{#rollBetween() location 45 46 }} + span Trail + | {{/rollBetween() location 45 46 }} + | {{#rollBetween() location 47 48 }} + span Glade + | {{/rollBetween() location 47 48 }} + | {{#rollBetween() location 49 50 }} + span Plain + | {{/rollBetween() location 49 50 }} + | {{#rollBetween() location 51 52 }} + span Ridge + | {{/rollBetween() location 51 52 }} + | {{#rollBetween() location 53 54 }} + span Cliff + | {{/rollBetween() location 53 54 }} + | {{#rollBetween() location 55 56 }} + span Grove + | {{/rollBetween() location 55 56 }} + | {{#rollBetween() location 57 58 }} + span Village + | {{/rollBetween() location 57 58 }} + | {{#rollBetween() location 59 60 }} + span Moor + | {{/rollBetween() location 59 60 }} + | {{#rollBetween() location 61 62 }} + span Thicket + | {{/rollBetween() location 61 62 }} + | {{#rollBetween() location 63 64 }} + span River Ford + | {{/rollBetween() location 63 64 }} + | {{#rollBetween() location 65 66 }} + span Valley + | {{/rollBetween() location 65 66 }} + | {{#rollBetween() location 67 68 }} + span Bay/Fjord + | {{/rollBetween() location 67 68 }} + | {{#rollBetween() location 69 70 }} + span Foothills + | {{/rollBetween() location 69 70 }} + | {{#rollBetween() location 71 72 }} + span Lake + | {{/rollBetween() location 71 72 }} + | {{#rollBetween() location 73 75 }} + span River + | {{/rollBetween() location 73 75 }} + | {{#rollBetween() location 76 79 }} + span Forest + | {{/rollBetween() location 76 79 }} + | {{#rollBetween() location 80 83 }} + span Coast + | {{/rollBetween() location 80 83 }} + | {{#rollBetween() location 84 88 }} + span Hill + | {{/rollBetween() location 84 88 }} + | {{#rollBetween() location 89 93 }} + span Mountain + | {{/rollBetween() location 89 93 }} + | {{#rollBetween() location 94 99 }} + span Woods + | {{/rollBetween() location 94 99 }} + | {{#rollTotal() location 100}} + span Anomaly + | {{/rollTotal() location 100}} + | {{/location}} + | {{#coastalWatersLocation}} + .sheet-result-row + .sheet-oracle-dice + span {{coastalWatersLocation}} + .sheet-oracle-table-text + | {{#rollTotal() coastalWatersLocation 1}} + span Fleet + | {{/rollTotal() coastalWatersLocation 1}} + | {{#rollTotal() coastalWatersLocation 2}} + span Sargassum + | {{/rollTotal() coastalWatersLocation 2}} + | {{#rollTotal() coastalWatersLocation 3}} + span Flotsam + | {{/rollTotal() coastalWatersLocation 3}} + | {{#rollTotal() coastalWatersLocation 4}} + span Mystical Site + | {{/rollTotal() coastalWatersLocation 4}} + | {{#rollTotal() coastalWatersLocation 5}} + span Lair + | {{/rollTotal() coastalWatersLocation 5}} + | {{#rollBetween() coastalWatersLocation 6 10}} + span Wreck + | {{/rollBetween() coastalWatersLocation 6 10}} + | {{#rollBetween() coastalWatersLocation 11 15}} + span Harbor + | {{/rollBetween() coastalWatersLocation 11 15}} + | {{#rollBetween() coastalWatersLocation 16 23}} + span Ship + | {{/rollBetween() coastalWatersLocation 16 23}} + | {{#rollBetween() coastalWatersLocation 24 30}} + span Rocks + | {{/rollBetween() coastalWatersLocation 24 30}} + | {{#rollBetween() coastalWatersLocation 31 38}} + span Fjord + | {{/rollBetween() coastalWatersLocation 31 38}} + | {{#rollBetween() coastalWatersLocation 39 46}} + span Estuary + | {{/rollBetween() coastalWatersLocation 39 46}} + | {{#rollBetween() coastalWatersLocation 47 54}} + span Cove + | {{/rollBetween() coastalWatersLocation 47 54}} + | {{#rollBetween() coastalWatersLocation 55 62}} + span Bay + | {{/rollBetween() coastalWatersLocation 55 62}} + | {{#rollBetween() coastalWatersLocation 63 70}} + span Ice + | {{/rollBetween() coastalWatersLocation 63 70}} + | {{#rollBetween() coastalWatersLocation 71 85}} + span Island + | {{/rollBetween() coastalWatersLocation 71 85}} + | {{#rollBetween() coastalWatersLocation 86 99}} + span Open Water + | {{/rollBetween() coastalWatersLocation 86 99}} + | {{#rollTotal() coastalWatersLocation 100}} + span Anomaly + | {{/rollTotal() coastalWatersLocation 100}} + | {{/coastalWatersLocation}} + | {{#locationDescriptor}} + .sheet-result-row + .sheet-oracle-dice + span {{locationDescriptor}} + .sheet-oracle-table-text + | {{#rollBetween() locationDescriptor 1 2}} + span High + | {{/rollBetween() locationDescriptor 1 2}} + | {{#rollBetween() locationDescriptor 3 4}} + span Remote + | {{/rollBetween() locationDescriptor 3 4}} + | {{#rollBetween() locationDescriptor 5 6}} + span Exposed + | {{/rollBetween() locationDescriptor 5 6}} + | {{#rollBetween() locationDescriptor 7 8}} + span Small + | {{/rollBetween() locationDescriptor 7 8}} + | {{#rollBetween() locationDescriptor 9 10}} + span Broken + | {{/rollBetween() locationDescriptor 9 10}} + | {{#rollBetween() locationDescriptor 11 12}} + span Diverse + | {{/rollBetween() locationDescriptor 11 12}} + | {{#rollBetween() locationDescriptor 13 14}} + span Rough + | {{/rollBetween() locationDescriptor 13 14}} + | {{#rollBetween() locationDescriptor 15 16}} + span Dark + | {{/rollBetween() locationDescriptor 15 16}} + | {{#rollBetween() locationDescriptor 17 18}} + span Shadowy + | {{/rollBetween() locationDescriptor 17 18}} + | {{#rollBetween() locationDescriptor 19 20}} + span Contested + | {{/rollBetween() locationDescriptor 19 20}} + | {{#rollBetween() locationDescriptor 21 22}} + span Grim + | {{/rollBetween() locationDescriptor 21 22}} + | {{#rollBetween() locationDescriptor 23 24}} + span Wild + | {{/rollBetween() locationDescriptor 23 24}} + | {{#rollBetween() locationDescriptor 25 26}} + span Fertile + | {{/rollBetween() locationDescriptor 25 26}} + | {{#rollBetween() locationDescriptor 27 28}} + span Blocked + | {{/rollBetween() locationDescriptor 27 28}} + | {{#rollBetween() locationDescriptor 29 30}} + span Ancient + | {{/rollBetween() locationDescriptor 29 30}} + | {{#rollBetween() locationDescriptor 31 32}} + span Perilous + | {{/rollBetween() locationDescriptor 31 32}} + | {{#rollBetween() locationDescriptor 33 34}} + span Hidden + | {{/rollBetween() locationDescriptor 33 34}} + | {{#rollBetween() locationDescriptor 35 36}} + span Occupied + | {{/rollBetween() locationDescriptor 35 36}} + | {{#rollBetween() locationDescriptor 37 38}} + span Rich + | {{/rollBetween() locationDescriptor 37 38}} + | {{#rollBetween() locationDescriptor 39 40}} + span Big + | {{/rollBetween() locationDescriptor 39 40}} + | {{#rollBetween() locationDescriptor 41 42}} + span Savage + | {{/rollBetween() locationDescriptor 41 42}} + | {{#rollBetween() locationDescriptor 43 44}} + span Defended + | {{/rollBetween() locationDescriptor 43 44}} + | {{#rollBetween() locationDescriptor 45 46}} + span Withered + | {{/rollBetween() locationDescriptor 45 46}} + | {{#rollBetween() locationDescriptor 47 48}} + span Mystical + | {{/rollBetween() locationDescriptor 47 48}} + | {{#rollBetween() locationDescriptor 49 50}} + span Inaccessible + | {{/rollBetween() locationDescriptor 49 50}} + | {{#rollBetween() locationDescriptor 51 52}} + span Protected + | {{/rollBetween() locationDescriptor 51 52}} + | {{#rollBetween() locationDescriptor 53 54}} + span Abandoned + | {{/rollBetween() locationDescriptor 53 54}} + | {{#rollBetween() locationDescriptor 55 56}} + span Wide + | {{/rollBetween() locationDescriptor 55 56}} + | {{#rollBetween() locationDescriptor 57 58}} + span Foul + | {{/rollBetween() locationDescriptor 57 58}} + | {{#rollBetween() locationDescriptor 59 60}} + span Dead + | {{/rollBetween() locationDescriptor 59 60}} + | {{#rollBetween() locationDescriptor 61 62}} + span Ruined + | {{/rollBetween() locationDescriptor 61 62}} + | {{#rollBetween() locationDescriptor 63 64}} + span Barren + | {{/rollBetween() locationDescriptor 63 64}} + | {{#rollBetween() locationDescriptor 65 66}} + span Cold + | {{/rollBetween() locationDescriptor 65 66}} + | {{#rollBetween() locationDescriptor 67 68}} + span Blighted + | {{/rollBetween() locationDescriptor 67 68}} + | {{#rollBetween() locationDescriptor 69 70}} + span Low + | {{/rollBetween() locationDescriptor 69 70}} + | {{#rollBetween() locationDescriptor 71 72}} + span Beautiful + | {{/rollBetween() locationDescriptor 71 72}} + | {{#rollBetween() locationDescriptor 73 74}} + span Abundant + | {{/rollBetween() locationDescriptor 73 74}} + | {{#rollBetween() locationDescriptor 75 76}} + span Lush + | {{/rollBetween() locationDescriptor 75 76}} + | {{#rollBetween() locationDescriptor 77 78}} + span Flooded + | {{/rollBetween() locationDescriptor 77 78}} + | {{#rollBetween() locationDescriptor 79 80}} + span Empty + | {{/rollBetween() locationDescriptor 79 80}} + | {{#rollBetween() locationDescriptor 81 82}} + span Strange + | {{/rollBetween() locationDescriptor 81 82}} + | {{#rollBetween() locationDescriptor 83 84}} + span Corrupted + | {{/rollBetween() locationDescriptor 83 84}} + | {{#rollBetween() locationDescriptor 85 86}} + span Peaceful + | {{/rollBetween() locationDescriptor 85 86}} + | {{#rollBetween() locationDescriptor 87 88}} + span Forgotten + | {{/rollBetween() locationDescriptor 87 88}} + | {{#rollBetween() locationDescriptor 89 90}} + span Expansive + | {{/rollBetween() locationDescriptor 89 90}} + | {{#rollBetween() locationDescriptor 91 92}} + span Settled + | {{/rollBetween() locationDescriptor 91 92}} + | {{#rollBetween() locationDescriptor 93 94}} + span Dense + | {{/rollBetween() locationDescriptor 93 94}} + | {{#rollBetween() locationDescriptor 95 96}} + span Civilized + | {{/rollBetween() locationDescriptor 95 96}} + | {{#rollBetween() locationDescriptor 97 98}} + span Desolate + | {{/rollBetween() locationDescriptor 97 98}} + | {{#rollBetween() locationDescriptor 99 100}} + span Isolated + | {{/rollBetween() locationDescriptor 99 100}} + | {{/locationDescriptor}} + | {{#settlementName}} + .sheet-result-row + .sheet-oracle-dice + span {{settlementName}} + .sheet-oracle-table-text + | {{#rollBetween() settlementName 01 15}} + span + | A feature of the landscape. Envision what it is. What makes it unusual or distinctive? + | {{/rollBetween() settlementName 01 15}} + | {{#rollBetween() settlementName 16 30}} + span A manmade edifice. What is it? Why is it important to this settlement’s history? + | {{/rollBetween() settlementName 16 30}} + | {{#rollBetween() settlementName 31 45}} + span + | A creature. Why have the people of this settlement chosen this creature as their totem? How is it + | represented in art or rituals? + | {{/rollBetween() settlementName 31 45}} + | {{#rollBetween() settlementName 46 60}} + span + | A historical event. What happened here? What place or practice commemorates this event? + | {{/rollBetween() settlementName 46 60}} + | {{#rollBetween() settlementName 61 75}} + span + | A word in an Old World language. What culture is represented by this word? What does it translate + | to? + | {{/rollBetween() settlementName 61 75}} + | {{#rollBetween() settlementName 76 90}} + span + | A season or environmental aspect. What influence does the weather have on this settlement? + | {{/rollBetween() settlementName 76 90}} + | {{#rollBetween() settlementName 91 100}} + span Something Else.... + | {{/rollBetween() settlementName 91 100}} + | {{/settlementName}} + | {{#quickSettlementName}} + .sheet-result-row + .sheet-oracle-double-dice + span {{quickSettlementNamePrefix}}{{quickSettlementNameSuffix}} + .sheet-oracle-table-text + | {{#rollBetween() quickSettlementNamePrefix 1 4}} + span Bleak + | {{/rollBetween() quickSettlementNamePrefix 1 4}} + | {{#rollBetween() quickSettlementNamePrefix 5 8}} + span Green + | {{/rollBetween() quickSettlementNamePrefix 5 8}} + | {{#rollBetween() quickSettlementNamePrefix 9 12}} + span Wolf + | {{/rollBetween() quickSettlementNamePrefix 9 12}} + | {{#rollBetween() quickSettlementNamePrefix 13 16}} + span Raven + | {{/rollBetween() quickSettlementNamePrefix 13 16}} + | {{#rollBetween() quickSettlementNamePrefix 17 20}} + span Gray + | {{/rollBetween() quickSettlementNamePrefix 17 20}} + | {{#rollBetween() quickSettlementNamePrefix 21 24}} + span Red + | {{/rollBetween() quickSettlementNamePrefix 21 24}} + | {{#rollBetween() quickSettlementNamePrefix 25 28}} + span Axe + | {{/rollBetween() quickSettlementNamePrefix 25 28}} + | {{#rollBetween() quickSettlementNamePrefix 29 32}} + span Great + | {{/rollBetween() quickSettlementNamePrefix 29 32}} + | {{#rollBetween() quickSettlementNamePrefix 33 36}} + span Wood + | {{/rollBetween() quickSettlementNamePrefix 33 36}} + | {{#rollBetween() quickSettlementNamePrefix 37 40}} + span Low + | {{/rollBetween() quickSettlementNamePrefix 37 40}} + | {{#rollBetween() quickSettlementNamePrefix 41 44}} + span White + | {{/rollBetween() quickSettlementNamePrefix 41 44}} + | {{#rollBetween() quickSettlementNamePrefix 45 48}} + span Storm + | {{/rollBetween() quickSettlementNamePrefix 45 48}} + | {{#rollBetween() quickSettlementNamePrefix 49 52}} + span Black + | {{/rollBetween() quickSettlementNamePrefix 49 52}} + | {{#rollBetween() quickSettlementNamePrefix 53 56}} + span Mourn + | {{/rollBetween() quickSettlementNamePrefix 53 56}} + | {{#rollBetween() quickSettlementNamePrefix 57 60}} + span New + | {{/rollBetween() quickSettlementNamePrefix 57 60}} + | {{#rollBetween() quickSettlementNamePrefix 61 64}} + span Stone + | {{/rollBetween() quickSettlementNamePrefix 61 64}} + | {{#rollBetween() quickSettlementNamePrefix 65 68}} + span Grim + | {{/rollBetween() quickSettlementNamePrefix 65 68}} + | {{#rollBetween() quickSettlementNamePrefix 69 72}} + span Lost + | {{/rollBetween() quickSettlementNamePrefix 69 72}} + | {{#rollBetween() quickSettlementNamePrefix 73 76}} + span High + | {{/rollBetween() quickSettlementNamePrefix 73 76}} + | {{#rollBetween() quickSettlementNamePrefix 77 80}} + span Rock + | {{/rollBetween() quickSettlementNamePrefix 77 80}} + | {{#rollBetween() quickSettlementNamePrefix 81 84}} + span Shield + | {{/rollBetween() quickSettlementNamePrefix 81 84}} + | {{#rollBetween() quickSettlementNamePrefix 85 88}} + span Sword + | {{/rollBetween() quickSettlementNamePrefix 85 88}} + | {{#rollBetween() quickSettlementNamePrefix 89 92}} + span Frost + | {{/rollBetween() quickSettlementNamePrefix 89 92}} + | {{#rollBetween() quickSettlementNamePrefix 93 96}} + span Thorn + | {{/rollBetween() quickSettlementNamePrefix 93 96}} + | {{#rollBetween() quickSettlementNamePrefix 97 100}} + span Long + | {{/rollBetween() quickSettlementNamePrefix 97 100}} + | {{#rollBetween() quickSettlementNameSuffix 1 4}} + span moor + | {{/rollBetween() quickSettlementNameSuffix 1 4}} + | {{#rollBetween() quickSettlementNameSuffix 5 8}} + span ford + | {{/rollBetween() quickSettlementNameSuffix 5 8}} + | {{#rollBetween() quickSettlementNameSuffix 9 12}} + span crag + | {{/rollBetween() quickSettlementNameSuffix 9 12}} + | {{#rollBetween() quickSettlementNameSuffix 13 16}} + span watch + | {{/rollBetween() quickSettlementNameSuffix 13 16}} + | {{#rollBetween() quickSettlementNameSuffix 17 20}} + span hope + | {{/rollBetween() quickSettlementNameSuffix 17 20}} + | {{#rollBetween() quickSettlementNameSuffix 21 24}} + span wood + | {{/rollBetween() quickSettlementNameSuffix 21 24}} + | {{#rollBetween() quickSettlementNameSuffix 25 28}} + span ridge + | {{/rollBetween() quickSettlementNameSuffix 25 28}} + | {{#rollBetween() quickSettlementNameSuffix 29 32}} + span stone + | {{/rollBetween() quickSettlementNameSuffix 29 32}} + | {{#rollBetween() quickSettlementNameSuffix 33 36}} + span haven + | {{/rollBetween() quickSettlementNameSuffix 33 36}} + | {{#rollBetween() quickSettlementNameSuffix 37 40}} + span fall(s) + | {{/rollBetween() quickSettlementNameSuffix 37 40}} + | {{#rollBetween() quickSettlementNameSuffix 41 44}} + span river + | {{/rollBetween() quickSettlementNameSuffix 41 44}} + | {{#rollBetween() quickSettlementNameSuffix 45 48}} + span field + | {{/rollBetween() quickSettlementNameSuffix 45 48}} + | {{#rollBetween() quickSettlementNameSuffix 49 52}} + span hill + | {{/rollBetween() quickSettlementNameSuffix 49 52}} + | {{#rollBetween() quickSettlementNameSuffix 53 56}} + span bridge + | {{/rollBetween() quickSettlementNameSuffix 53 56}} + | {{#rollBetween() quickSettlementNameSuffix 57 60}} + span mark + | {{/rollBetween() quickSettlementNameSuffix 57 60}} + | {{#rollBetween() quickSettlementNameSuffix 61 64}} + span cairn + | {{/rollBetween() quickSettlementNameSuffix 61 64}} + | {{#rollBetween() quickSettlementNameSuffix 65 68}} + span land + | {{/rollBetween() quickSettlementNameSuffix 65 68}} + | {{#rollBetween() quickSettlementNameSuffix 69 72}} + span hall + | {{/rollBetween() quickSettlementNameSuffix 69 72}} + | {{#rollBetween() quickSettlementNameSuffix 73 76}} + span mount + | {{/rollBetween() quickSettlementNameSuffix 73 76}} + | {{#rollBetween() quickSettlementNameSuffix 77 80}} + span rock + | {{/rollBetween() quickSettlementNameSuffix 77 80}} + | {{#rollBetween() quickSettlementNameSuffix 81 84}} + span brook + | {{/rollBetween() quickSettlementNameSuffix 81 84}} + | {{#rollBetween() quickSettlementNameSuffix 85 88}} + span barrow + | {{/rollBetween() quickSettlementNameSuffix 85 88}} + | {{#rollBetween() quickSettlementNameSuffix 89 92}} + span stead + | {{/rollBetween() quickSettlementNameSuffix 89 92}} + | {{#rollBetween() quickSettlementNameSuffix 93 96}} + span home + | {{/rollBetween() quickSettlementNameSuffix 93 96}} + | {{#rollBetween() quickSettlementNameSuffix 97 100}} + span wick + | {{/rollBetween() quickSettlementNameSuffix 97 100}} + | {{/quickSettlementName}} + | {{#settlementTrouble}} + .sheet-result-row + .sheet-oracle-dice + span {{settlementTrouble}} + .sheet-oracle-table-text + | {{#rollBetween() settlementTrouble 1 2}} + span Outsiders rejected + | {{/rollBetween() settlementTrouble 1 2}} + | {{#rollBetween() settlementTrouble 3 4}} + span Dangerous discovery + | {{/rollBetween() settlementTrouble 3 4}} + | {{#rollBetween() settlementTrouble 5 6}} + span Dreadful omens + | {{/rollBetween() settlementTrouble 5 6}} + | {{#rollBetween() settlementTrouble 7 8}} + span Natural disaster + | {{/rollBetween() settlementTrouble 7 8}} + | {{#rollBetween() settlementTrouble 9 10}} + span Old wounds reopened + | {{/rollBetween() settlementTrouble 9 10}} + | {{#rollBetween() settlementTrouble 11 12}} + span Important object is lost + | {{/rollBetween() settlementTrouble 11 12}} + | {{#rollBetween() settlementTrouble 13 14}} + span Someone is captured + | {{/rollBetween() settlementTrouble 13 14}} + | {{#rollBetween() settlementTrouble 15 16}} + span Mysterious phenomenon + | {{/rollBetween() settlementTrouble 15 16}} + | {{#rollBetween() settlementTrouble 17 18}} + span Revolt against a leader + | {{/rollBetween() settlementTrouble 17 18}} + | {{#rollBetween() settlementTrouble 19 20}} + span Vengeful outcast + | {{/rollBetween() settlementTrouble 19 20}} + | {{#rollBetween() settlementTrouble 21 22}} + span Rival settlement + | {{/rollBetween() settlementTrouble 21 22}} + | {{#rollBetween() settlementTrouble 23 24}} + span Nature strikes back + | {{/rollBetween() settlementTrouble 23 24}} + | {{#rollBetween() settlementTrouble 25 26}} + span Someone is missing + | {{/rollBetween() settlementTrouble 25 26}} + | {{#rollBetween() settlementTrouble 27 28}} + span Production halts + | {{/rollBetween() settlementTrouble 27 28}} + | {{#rollBetween() settlementTrouble 29 30}} + span Mysterious murders + | {{/rollBetween() settlementTrouble 29 30}} + | {{#rollBetween() settlementTrouble 31 32}} + span Debt comes due + | {{/rollBetween() settlementTrouble 31 32}} + | {{#rollBetween() settlementTrouble 33 34}} + span Unjust leadership + | {{/rollBetween() settlementTrouble 33 34}} + | {{#rollBetween() settlementTrouble 35 36}} + span Disastrous accident + | {{/rollBetween() settlementTrouble 35 36}} + | {{#rollBetween() settlementTrouble 37 38}} + span In league with the enemy + | {{/rollBetween() settlementTrouble 37 38}} + | {{#rollBetween() settlementTrouble 39 40}} + span Raiders prey on the weak + | {{/rollBetween() settlementTrouble 39 40}} + | {{#rollBetween() settlementTrouble 41 42}} + span Cursed past + | {{/rollBetween() settlementTrouble 41 42}} + | {{#rollBetween() settlementTrouble 43 44}} + span An innocent is accused + | {{/rollBetween() settlementTrouble 43 44}} + | {{#rollBetween() settlementTrouble 45 46}} + span Corrupted by dark magic + | {{/rollBetween() settlementTrouble 45 46}} + | {{#rollBetween() settlementTrouble 47 48}} + span Isolated by brutal weather + | {{/rollBetween() settlementTrouble 47 48}} + | {{#rollBetween() settlementTrouble 49 50}} + span Provisions are scarce + | {{/rollBetween() settlementTrouble 49 50}} + | {{#rollBetween() settlementTrouble 51 52}} + span Sickness run amok + | {{/rollBetween() settlementTrouble 51 52}} + | {{#rollBetween() settlementTrouble 53 54}} + span Allies become enemies + | {{/rollBetween() settlementTrouble 53 54}} + | {{#rollBetween() settlementTrouble 55 56}} + span Attack is imminent + | {{/rollBetween() settlementTrouble 55 56}} + | {{#rollBetween() settlementTrouble 57 58}} + span Lost caravan + | {{/rollBetween() settlementTrouble 57 58}} + | {{#rollBetween() settlementTrouble 59 60}} + span Dark secret revealed + | {{/rollBetween() settlementTrouble 59 60}} + | {{#rollBetween() settlementTrouble 61 62}} + span Urgent expedition + | {{/rollBetween() settlementTrouble 61 62}} + | {{#rollBetween() settlementTrouble 63 64}} + span A leader falls + | {{/rollBetween() settlementTrouble 63 64}} + | {{#rollBetween() settlementTrouble 65 66}} + span Families in conflict + | {{/rollBetween() settlementTrouble 65 66}} + | {{#rollBetween() settlementTrouble 67 68}} + span Incompetent leadership + | {{/rollBetween() settlementTrouble 67 68}} + | {{#rollBetween() settlementTrouble 69 70}} + span Reckless warmongering + | {{/rollBetween() settlementTrouble 69 70}} + | {{#rollBetween() settlementTrouble 71 72}} + span Beast on the hunt + | {{/rollBetween() settlementTrouble 71 72}} + | {{#rollBetween() settlementTrouble 73 74}} + span Betrayed from within + | {{/rollBetween() settlementTrouble 73 74}} + | {{#rollBetween() settlementTrouble 75 76}} + span Broken truce + | {{/rollBetween() settlementTrouble 75 76}} + | {{#rollBetween() settlementTrouble 77 78}} + span Wrathful haunt + | {{/rollBetween() settlementTrouble 77 78}} + | {{#rollBetween() settlementTrouble 79 80}} + span Conflict with firstborn + | {{/rollBetween() settlementTrouble 79 80}} + | {{#rollBetween() settlementTrouble 81 82}} + span Trade route blocked + | {{/rollBetween() settlementTrouble 81 82}} + | {{#rollBetween() settlementTrouble 83 84}} + span In the crossfire + | {{/rollBetween() settlementTrouble 83 84}} + | {{#rollBetween() settlementTrouble 85 86}} + span Stranger causes discord + | {{/rollBetween() settlementTrouble 85 86}} + | {{#rollBetween() settlementTrouble 87 88}} + span Important event threatened + | {{/rollBetween() settlementTrouble 87 88}} + | {{#rollBetween() settlementTrouble 89 90}} + span Dangerous tradition + | {{/rollBetween() settlementTrouble 89 90}} + | {{#rollBetween() settlementTrouble 91 100}} + span Roll twice + | {{/rollBetween() settlementTrouble 91 100}} + | {{/settlementTrouble}} + | {{#characterRole}} + .sheet-result-row + .sheet-oracle-dice + span {{characterRole}} + .sheet-oracle-table-text + | {{#rollBetween() characterRole 1 2}} + span Criminal + | {{/rollBetween() characterRole 1 2}} + | {{#rollBetween() characterRole 3 4}} + span Healer + | {{/rollBetween() characterRole 3 4}} + | {{#rollBetween() characterRole 5 6}} + span Bandit + | {{/rollBetween() characterRole 5 6}} + | {{#rollBetween() characterRole 7 9}} + span Guide + | {{/rollBetween() characterRole 7 9}} + | {{#rollBetween() characterRole 10 12}} + span Performer + | {{/rollBetween() characterRole 10 12}} + | {{#rollBetween() characterRole 13 15}} + span Miner + | {{/rollBetween() characterRole 13 15}} + | {{#rollBetween() characterRole 16 18}} + span Mercenary + | {{/rollBetween() characterRole 16 18}} + | {{#rollBetween() characterRole 19 21}} + span Outcast + | {{/rollBetween() characterRole 19 21}} + | {{#rollBetween() characterRole 22 24}} + span Vagrant + | {{/rollBetween() characterRole 22 24}} + | {{#rollBetween() characterRole 25 27}} + span Forester + | {{/rollBetween() characterRole 25 27}} + | {{#rollBetween() characterRole 28 30}} + span Traveler + | {{/rollBetween() characterRole 28 30}} + | {{#rollBetween() characterRole 31 33}} + span Mystic + | {{/rollBetween() characterRole 31 33}} + | {{#rollBetween() characterRole 34 36}} + span Priest + | {{/rollBetween() characterRole 34 36}} + | {{#rollBetween() characterRole 37 39}} + span Sailor + | {{/rollBetween() characterRole 37 39}} + | {{#rollBetween() characterRole 40 42}} + span Pilgrim + | {{/rollBetween() characterRole 40 42}} + | {{#rollBetween() characterRole 43 45}} + span Thief + | {{/rollBetween() characterRole 43 45}} + | {{#rollBetween() characterRole 46 48}} + span Adventurer + | {{/rollBetween() characterRole 46 48}} + | {{#rollBetween() characterRole 49 51}} + span Forager + | {{/rollBetween() characterRole 49 51}} + | {{#rollBetween() characterRole 52 54}} + span Leader + | {{/rollBetween() characterRole 52 54}} + | {{#rollBetween() characterRole 55 58}} + span Guard + | {{/rollBetween() characterRole 55 58}} + | {{#rollBetween() characterRole 59 62}} + span Artisan + | {{/rollBetween() characterRole 59 62}} + | {{#rollBetween() characterRole 63 66}} + span Scout + | {{/rollBetween() characterRole 63 66}} + | {{#rollBetween() characterRole 67 70}} + span Herder + | {{/rollBetween() characterRole 67 70}} + | {{#rollBetween() characterRole 71 74}} + span Fisher + | {{/rollBetween() characterRole 71 74}} + | {{#rollBetween() characterRole 75 79}} + span Warrior + | {{/rollBetween() characterRole 75 79}} + | {{#rollBetween() characterRole 80 84}} + span Hunter + | {{/rollBetween() characterRole 80 84}} + | {{#rollBetween() characterRole 85 89}} + span Raider + | {{/rollBetween() characterRole 85 89}} + | {{#rollBetween() characterRole 90 94}} + span Trader + | {{/rollBetween() characterRole 90 94}} + | {{#rollBetween() characterRole 95 99}} + span Farmer + | {{/rollBetween() characterRole 95 99}} + | {{#rollTotal() characterRole 100}} + span Unusual role + | {{/rollTotal() characterRole 100}} + | {{/characterRole}} + | {{#characterGoal}} + .sheet-result-row + .sheet-oracle-dice + span {{characterGoal}} + .sheet-oracle-table-text + | {{#rollBetween() characterGoal 1 3}} + span Obtain an object + | {{/rollBetween() characterGoal 1 3}} + | {{#rollBetween() characterGoal 4 6}} + span Make an agreement + | {{/rollBetween() characterGoal 4 6}} + | {{#rollBetween() characterGoal 7 9}} + span Build a relationship + | {{/rollBetween() characterGoal 7 9}} + | {{#rollBetween() characterGoal 10 12}} + span Undermine a relationship + | {{/rollBetween() characterGoal 10 12}} + | {{#rollBetween() characterGoal 13 15}} + span Seek a truth + | {{/rollBetween() characterGoal 13 15}} + | {{#rollBetween() characterGoal 16 18}} + span Pay a debt + | {{/rollBetween() characterGoal 16 18}} + | {{#rollBetween() characterGoal 19 21}} + span Refute a falsehood + | {{/rollBetween() characterGoal 19 21}} + | {{#rollBetween() characterGoal 22 24}} + span Harm a rival + | {{/rollBetween() characterGoal 22 24}} + | {{#rollBetween() characterGoal 25 27}} + span Cure an ill + | {{/rollBetween() characterGoal 25 27}} + | {{#rollBetween() characterGoal 28 30}} + span Find a person + | {{/rollBetween() characterGoal 28 30}} + | {{#rollBetween() characterGoal 31 33}} + span Find a home + | {{/rollBetween() characterGoal 31 33}} + | {{#rollBetween() characterGoal 34 36}} + span Seize power + | {{/rollBetween() characterGoal 34 36}} + | {{#rollBetween() characterGoal 37 39}} + span Restore a relationship + | {{/rollBetween() characterGoal 37 39}} + | {{#rollBetween() characterGoal 40 42}} + span Create an item + | {{/rollBetween() characterGoal 40 42}} + | {{#rollBetween() characterGoal 43 45}} + span Travel to a place + | {{/rollBetween() characterGoal 43 45}} + | {{#rollBetween() characterGoal 46 48}} + span Secure provisions + | {{/rollBetween() characterGoal 46 48}} + | {{#rollBetween() characterGoal 49 51}} + span Rebel against power + | {{/rollBetween() characterGoal 49 51}} + | {{#rollBetween() characterGoal 52 54}} + span Collect a debt + | {{/rollBetween() characterGoal 52 54}} + | {{#rollBetween() characterGoal 55 57}} + span Protect a secret + | {{/rollBetween() characterGoal 55 57}} + | {{#rollBetween() characterGoal 58 60}} + span Spread faith + | {{/rollBetween() characterGoal 58 60}} + | {{#rollBetween() characterGoal 61 63}} + span Enrich themselves + | {{/rollBetween() characterGoal 61 63}} + | {{#rollBetween() characterGoal 64 66}} + span Protect a person + | {{/rollBetween() characterGoal 64 66}} + | {{#rollBetween() characterGoal 67 69}} + span Protect the status quo + | {{/rollBetween() characterGoal 67 69}} + | {{#rollBetween() characterGoal 70 72}} + span Advance status + | {{/rollBetween() characterGoal 70 72}} + | {{#rollBetween() characterGoal 73 75}} + span Defend a place + | {{/rollBetween() characterGoal 73 75}} + | {{#rollBetween() characterGoal 76 78}} + span Avenge a wrong + | {{/rollBetween() characterGoal 76 78}} + | {{#rollBetween() characterGoal 79 81}} + span Fulfill a duty + | {{/rollBetween() characterGoal 79 81}} + | {{#rollBetween() characterGoal 82 84}} + span Gain knowledge + | {{/rollBetween() characterGoal 82 84}} + | {{#rollBetween() characterGoal 85 87}} + span Prove worthiness + | {{/rollBetween() characterGoal 85 87}} + | {{#rollBetween() characterGoal 88 90}} + span Find redemption + | {{/rollBetween() characterGoal 88 90}} + | {{#rollBetween() characterGoal 91 92}} + span Escape from something + | {{/rollBetween() characterGoal 91 92}} + | {{#rollBetween() characterGoal 93 95}} + span Resolve a dispute + | {{/rollBetween() characterGoal 93 95}} + | {{#rollBetween() characterGoal 96 100}} + span Roll twice + | {{/rollBetween() characterGoal 96 100}} + | {{/characterGoal}} + | {{#characterDescriptor}} + .sheet-result-row + .sheet-oracle-dice + span {{characterDescriptor}} + .sheet-oracle-table-text + | {{#rollTotal() characterDescriptor 1}} + span Stoic + | {{/rollTotal() characterDescriptor 1}} + | {{#rollTotal() characterDescriptor 2}} + span Attractive + | {{/rollTotal() characterDescriptor 2}} + | {{#rollTotal() characterDescriptor 3}} + span Passive + | {{/rollTotal() characterDescriptor 3}} + | {{#rollTotal() characterDescriptor 4}} + span Aloof + | {{/rollTotal() characterDescriptor 4}} + | {{#rollTotal() characterDescriptor 5}} + span Affectionate + | {{/rollTotal() characterDescriptor 5}} + | {{#rollTotal() characterDescriptor 6}} + span Generous + | {{/rollTotal() characterDescriptor 6}} + | {{#rollTotal() characterDescriptor 7}} + span Smug + | {{/rollTotal() characterDescriptor 7}} + | {{#rollTotal() characterDescriptor 8}} + span Armed + | {{/rollTotal() characterDescriptor 8}} + | {{#rollTotal() characterDescriptor 9}} + span Clever + | {{/rollTotal() characterDescriptor 9}} + | {{#rollTotal() characterDescriptor 10}} + span Brave + | {{/rollTotal() characterDescriptor 10}} + | {{#rollTotal() characterDescriptor 11}} + span Ugly + | {{/rollTotal() characterDescriptor 11}} + | {{#rollTotal() characterDescriptor 12}} + span Sociable + | {{/rollTotal() characterDescriptor 12}} + | {{#rollTotal() characterDescriptor 13}} + span Doomed + | {{/rollTotal() characterDescriptor 13}} + | {{#rollTotal() characterDescriptor 14}} + span Connected + | {{/rollTotal() characterDescriptor 14}} + | {{#rollTotal() characterDescriptor 15}} + span Bold + | {{/rollTotal() characterDescriptor 15}} + | {{#rollTotal() characterDescriptor 16}} + span Jealous + | {{/rollTotal() characterDescriptor 16}} + | {{#rollTotal() characterDescriptor 17}} + span Angry + | {{/rollTotal() characterDescriptor 17}} + | {{#rollTotal() characterDescriptor 18}} + span Active + | {{/rollTotal() characterDescriptor 18}} + | {{#rollTotal() characterDescriptor 19}} + span Suspicious + | {{/rollTotal() characterDescriptor 19}} + | {{#rollTotal() characterDescriptor 20}} + span Hostile + | {{/rollTotal() characterDescriptor 20}} + | {{#rollTotal() characterDescriptor 21}} + span Hardhearted + | {{/rollTotal() characterDescriptor 21}} + | {{#rollTotal() characterDescriptor 22}} + span Successful + | {{/rollTotal() characterDescriptor 22}} + | {{#rollTotal() characterDescriptor 23}} + span Talented + | {{/rollTotal() characterDescriptor 23}} + | {{#rollTotal() characterDescriptor 24}} + span Experienced + | {{/rollTotal() characterDescriptor 24}} + | {{#rollTotal() characterDescriptor 25}} + span Deceitful + | {{/rollTotal() characterDescriptor 25}} + | {{#rollTotal() characterDescriptor 26}} + span Ambitious + | {{/rollTotal() characterDescriptor 26}} + | {{#rollTotal() characterDescriptor 27}} + span Aggressive + | {{/rollTotal() characterDescriptor 27}} + | {{#rollTotal() characterDescriptor 28}} + span Conceited + | {{/rollTotal() characterDescriptor 28}} + | {{#rollTotal() characterDescriptor 29}} + span Proud + | {{/rollTotal() characterDescriptor 29}} + | {{#rollTotal() characterDescriptor 30}} + span Stern + | {{/rollTotal() characterDescriptor 30}} + | {{#rollTotal() characterDescriptor 31}} + span Dependent + | {{/rollTotal() characterDescriptor 31}} + | {{#rollTotal() characterDescriptor 32}} + span Wary + | {{/rollTotal() characterDescriptor 32}} + | {{#rollTotal() characterDescriptor 33}} + span Strong + | {{/rollTotal() characterDescriptor 33}} + | {{#rollTotal() characterDescriptor 34}} + span Insightful + | {{/rollTotal() characterDescriptor 34}} + | {{#rollTotal() characterDescriptor 35}} + span Dangerous + | {{/rollTotal() characterDescriptor 35}} + | {{#rollTotal() characterDescriptor 36}} + span Quirky + | {{/rollTotal() characterDescriptor 36}} + | {{#rollTotal() characterDescriptor 37}} + span Cheery + | {{/rollTotal() characterDescriptor 37}} + | {{#rollTotal() characterDescriptor 38}} + span Disfigured + | {{/rollTotal() characterDescriptor 38}} + | {{#rollTotal() characterDescriptor 39}} + span Intolerant + | {{/rollTotal() characterDescriptor 39}} + | {{#rollTotal() characterDescriptor 40}} + span Skilled + | {{/rollTotal() characterDescriptor 40}} + | {{#rollTotal() characterDescriptor 41}} + span Stingy + | {{/rollTotal() characterDescriptor 41}} + | {{#rollTotal() characterDescriptor 42}} + span Timid + | {{/rollTotal() characterDescriptor 42}} + | {{#rollTotal() characterDescriptor 43}} + span Insensitive + | {{/rollTotal() characterDescriptor 43}} + | {{#rollTotal() characterDescriptor 44}} + span Wild + | {{/rollTotal() characterDescriptor 44}} + | {{#rollTotal() characterDescriptor 45}} + span Bitter + | {{/rollTotal() characterDescriptor 45}} + | {{#rollTotal() characterDescriptor 46}} + span Cunning + | {{/rollTotal() characterDescriptor 46}} + | {{#rollTotal() characterDescriptor 47}} + span Remorseful + | {{/rollTotal() characterDescriptor 47}} + | {{#rollTotal() characterDescriptor 48}} + span Kind + | {{/rollTotal() characterDescriptor 48}} + | {{#rollTotal() characterDescriptor 49}} + span Charming + | {{/rollTotal() characterDescriptor 49}} + | {{#rollTotal() characterDescriptor 50}} + span Oblivious + | {{/rollTotal() characterDescriptor 50}} + | {{#rollTotal() characterDescriptor 51}} + span Critical + | {{/rollTotal() characterDescriptor 51}} + | {{#rollTotal() characterDescriptor 52}} + span Cautious + | {{/rollTotal() characterDescriptor 52}} + | {{#rollTotal() characterDescriptor 53}} + span Resourceful + | {{/rollTotal() characterDescriptor 53}} + | {{#rollTotal() characterDescriptor 54}} + span Weary + | {{/rollTotal() characterDescriptor 54}} + | {{#rollTotal() characterDescriptor 55}} + span Wounded + | {{/rollTotal() characterDescriptor 55}} + | {{#rollTotal() characterDescriptor 56}} + span Anxious + | {{/rollTotal() characterDescriptor 56}} + | {{#rollTotal() characterDescriptor 57}} + span Powerful + | {{/rollTotal() characterDescriptor 57}} + | {{#rollTotal() characterDescriptor 58}} + span Athletic + | {{/rollTotal() characterDescriptor 58}} + | {{#rollTotal() characterDescriptor 59}} + span Driven + | {{/rollTotal() characterDescriptor 59}} + | {{#rollTotal() characterDescriptor 60}} + span Cruel + | {{/rollTotal() characterDescriptor 60}} + | {{#rollTotal() characterDescriptor 61}} + span Quiet + | {{/rollTotal() characterDescriptor 61}} + | {{#rollTotal() characterDescriptor 62}} + span Honest + | {{/rollTotal() characterDescriptor 62}} + | {{#rollTotal() characterDescriptor 63}} + span Infamous + | {{/rollTotal() characterDescriptor 63}} + | {{#rollTotal() characterDescriptor 64}} + span Dying + | {{/rollTotal() characterDescriptor 64}} + | {{#rollTotal() characterDescriptor 65}} + span Reclusive + | {{/rollTotal() characterDescriptor 65}} + | {{#rollTotal() characterDescriptor 66}} + span Artistic + | {{/rollTotal() characterDescriptor 66}} + | {{#rollTotal() characterDescriptor 67}} + span Disabled + | {{/rollTotal() characterDescriptor 67}} + | {{#rollTotal() characterDescriptor 68}} + span Confused + | {{/rollTotal() characterDescriptor 68}} + | {{#rollTotal() characterDescriptor 69}} + span Manipulative + | {{/rollTotal() characterDescriptor 69}} + | {{#rollTotal() characterDescriptor 70}} + span Relaxed + | {{/rollTotal() characterDescriptor 70}} + | {{#rollTotal() characterDescriptor 71}} + span Stealthy + | {{/rollTotal() characterDescriptor 71}} + | {{#rollTotal() characterDescriptor 72}} + span Confident + | {{/rollTotal() characterDescriptor 72}} + | {{#rollTotal() characterDescriptor 73}} + span Weak + | {{/rollTotal() characterDescriptor 73}} + | {{#rollTotal() characterDescriptor 74}} + span Friendly + | {{/rollTotal() characterDescriptor 74}} + | {{#rollTotal() characterDescriptor 75}} + span Wise + | {{/rollTotal() characterDescriptor 75}} + | {{#rollTotal() characterDescriptor 76}} + span Influential + | {{/rollTotal() characterDescriptor 76}} + | {{#rollTotal() characterDescriptor 77}} + span Young + | {{/rollTotal() characterDescriptor 77}} + | {{#rollTotal() characterDescriptor 78}} + span Adventurous + | {{/rollTotal() characterDescriptor 78}} + | {{#rollTotal() characterDescriptor 79}} + span Oppressed + | {{/rollTotal() characterDescriptor 79}} + | {{#rollTotal() characterDescriptor 80}} + span Vengeful + | {{/rollTotal() characterDescriptor 80}} + | {{#rollTotal() characterDescriptor 81}} + span Cooperative + | {{/rollTotal() characterDescriptor 81}} + | {{#rollTotal() characterDescriptor 82}} + span Armored + | {{/rollTotal() characterDescriptor 82}} + | {{#rollTotal() characterDescriptor 83}} + span Apathetic + | {{/rollTotal() characterDescriptor 83}} + | {{#rollTotal() characterDescriptor 84}} + span Determined + | {{/rollTotal() characterDescriptor 84}} + | {{#rollTotal() characterDescriptor 85}} + span Loyal + | {{/rollTotal() characterDescriptor 85}} + | {{#rollTotal() characterDescriptor 86}} + span Sick + | {{/rollTotal() characterDescriptor 86}} + | {{#rollTotal() characterDescriptor 87}} + span Religious + | {{/rollTotal() characterDescriptor 87}} + | {{#rollTotal() characterDescriptor 88}} + span Selfish + | {{/rollTotal() characterDescriptor 88}} + | {{#rollTotal() characterDescriptor 89}} + span Old + | {{/rollTotal() characterDescriptor 89}} + | {{#rollTotal() characterDescriptor 90}} + span Fervent + | {{/rollTotal() characterDescriptor 90}} + | {{#rollTotal() characterDescriptor 91}} + span Violent + | {{/rollTotal() characterDescriptor 91}} + | {{#rollTotal() characterDescriptor 92}} + span Agreeable + | {{/rollTotal() characterDescriptor 92}} + | {{#rollTotal() characterDescriptor 93}} + span Hot-tempered + | {{/rollTotal() characterDescriptor 93}} + | {{#rollTotal() characterDescriptor 94}} + span Stubborn + | {{/rollTotal() characterDescriptor 94}} + | {{#rollTotal() characterDescriptor 95}} + span Incompetent + | {{/rollTotal() characterDescriptor 95}} + | {{#rollTotal() characterDescriptor 96}} + span Greedy + | {{/rollTotal() characterDescriptor 96}} + | {{#rollTotal() characterDescriptor 97}} + span Cowardly + | {{/rollTotal() characterDescriptor 97}} + | {{#rollTotal() characterDescriptor 98}} + span Obsessed + | {{/rollTotal() characterDescriptor 98}} + | {{#rollTotal() characterDescriptor 99}} + span Careless + | {{/rollTotal() characterDescriptor 99}} + | {{#rollTotal() characterDescriptor 100}} + span Ironsworn + | {{/rollTotal() characterDescriptor 100}} + | {{/characterDescriptor}} + | {{#ironlanderNames}} + .sheet-result-row + .sheet-oracle-dice + span {{ironlanderNames}} + .sheet-oracle-table-text + | {{#rollTotal() ironlanderNames 1}} + span Solana + | {{/rollTotal() ironlanderNames 1}} + | {{#rollTotal() ironlanderNames 2}} + span Keelan + | {{/rollTotal() ironlanderNames 2}} + | {{#rollTotal() ironlanderNames 3}} + span Cadigan + | {{/rollTotal() ironlanderNames 3}} + | {{#rollTotal() ironlanderNames 4}} + span Sola + | {{/rollTotal() ironlanderNames 4}} + | {{#rollTotal() ironlanderNames 5}} + span Kodroth + | {{/rollTotal() ironlanderNames 5}} + | {{#rollTotal() ironlanderNames 6}} + span Kione + | {{/rollTotal() ironlanderNames 6}} + | {{#rollTotal() ironlanderNames 7}} + span Katja + | {{/rollTotal() ironlanderNames 7}} + | {{#rollTotal() ironlanderNames 8}} + span Tio + | {{/rollTotal() ironlanderNames 8}} + | {{#rollTotal() ironlanderNames 9}} + span Artiga + | {{/rollTotal() ironlanderNames 9}} + | {{#rollTotal() ironlanderNames 10}} + span Eos + | {{/rollTotal() ironlanderNames 10}} + | {{#rollTotal() ironlanderNames 11}} + span Bastien + | {{/rollTotal() ironlanderNames 11}} + | {{#rollTotal() ironlanderNames 12}} + span Elli + | {{/rollTotal() ironlanderNames 12}} + | {{#rollTotal() ironlanderNames 13}} + span Maura + | {{/rollTotal() ironlanderNames 13}} + | {{#rollTotal() ironlanderNames 14}} + span Haleema + | {{/rollTotal() ironlanderNames 14}} + | {{#rollTotal() ironlanderNames 15}} + span Abella + | {{/rollTotal() ironlanderNames 15}} + | {{#rollTotal() ironlanderNames 16}} + span Morter + | {{/rollTotal() ironlanderNames 16}} + | {{#rollTotal() ironlanderNames 17}} + span Wulan + | {{/rollTotal() ironlanderNames 17}} + | {{#rollTotal() ironlanderNames 18}} + span Mai + | {{/rollTotal() ironlanderNames 18}} + | {{#rollTotal() ironlanderNames 19}} + span Farina + | {{/rollTotal() ironlanderNames 19}} + | {{#rollTotal() ironlanderNames 20}} + span Pearce + | {{/rollTotal() ironlanderNames 20}} + | {{#rollTotal() ironlanderNames 21}} + span Wynne + | {{/rollTotal() ironlanderNames 21}} + | {{#rollTotal() ironlanderNames 22}} + span Haf + | {{/rollTotal() ironlanderNames 22}} + | {{#rollTotal() ironlanderNames 23}} + span Aeddon + | {{/rollTotal() ironlanderNames 23}} + | {{#rollTotal() ironlanderNames 24}} + span Khinara + | {{/rollTotal() ironlanderNames 24}} + | {{#rollTotal() ironlanderNames 25}} + span Milla + | {{/rollTotal() ironlanderNames 25}} + | {{#rollTotal() ironlanderNames 26}} + span Nakata + | {{/rollTotal() ironlanderNames 26}} + | {{#rollTotal() ironlanderNames 27}} + span Kynan + | {{/rollTotal() ironlanderNames 27}} + | {{#rollTotal() ironlanderNames 28}} + span Kiah + | {{/rollTotal() ironlanderNames 28}} + | {{#rollTotal() ironlanderNames 29}} + span Jaggar + | {{/rollTotal() ironlanderNames 29}} + | {{#rollTotal() ironlanderNames 30}} + span Beca + | {{/rollTotal() ironlanderNames 30}} + | {{#rollTotal() ironlanderNames 31}} + span Ikram + | {{/rollTotal() ironlanderNames 31}} + | {{#rollTotal() ironlanderNames 32}} + span Melia + | {{/rollTotal() ironlanderNames 32}} + | {{#rollTotal() ironlanderNames 33}} + span Sidan + | {{/rollTotal() ironlanderNames 33}} + | {{#rollTotal() ironlanderNames 34}} + span Deshi + | {{/rollTotal() ironlanderNames 34}} + | {{#rollTotal() ironlanderNames 35}} + span Tessa + | {{/rollTotal() ironlanderNames 35}} + | {{#rollTotal() ironlanderNames 36}} + span Sibila + | {{/rollTotal() ironlanderNames 36}} + | {{#rollTotal() ironlanderNames 37}} + span Morien + | {{/rollTotal() ironlanderNames 37}} + | {{#rollTotal() ironlanderNames 38}} + span Mona + | {{/rollTotal() ironlanderNames 38}} + | {{#rollTotal() ironlanderNames 39}} + span Padma + | {{/rollTotal() ironlanderNames 39}} + | {{#rollTotal() ironlanderNames 40}} + span Avella + | {{/rollTotal() ironlanderNames 40}} + | {{#rollTotal() ironlanderNames 41}} + span Naila + | {{/rollTotal() ironlanderNames 41}} + | {{#rollTotal() ironlanderNames 42}} + span Lio + | {{/rollTotal() ironlanderNames 42}} + | {{#rollTotal() ironlanderNames 43}} + span Cera + | {{/rollTotal() ironlanderNames 43}} + | {{#rollTotal() ironlanderNames 44}} + span Ithela + | {{/rollTotal() ironlanderNames 44}} + | {{#rollTotal() ironlanderNames 45}} + span Zhan + | {{/rollTotal() ironlanderNames 45}} + | {{#rollTotal() ironlanderNames 46}} + span Kaivan + | {{/rollTotal() ironlanderNames 46}} + | {{#rollTotal() ironlanderNames 47}} + span Valeri + | {{/rollTotal() ironlanderNames 47}} + | {{#rollTotal() ironlanderNames 48}} + span Hirsham + | {{/rollTotal() ironlanderNames 48}} + | {{#rollTotal() ironlanderNames 49}} + span Pemba + | {{/rollTotal() ironlanderNames 49}} + | {{#rollTotal() ironlanderNames 50}} + span Edda + | {{/rollTotal() ironlanderNames 50}} + | {{#rollTotal() ironlanderNames 51}} + span Lestara + | {{/rollTotal() ironlanderNames 51}} + | {{#rollTotal() ironlanderNames 52}} + span Lago + | {{/rollTotal() ironlanderNames 52}} + | {{#rollTotal() ironlanderNames 53}} + span Elstan + | {{/rollTotal() ironlanderNames 53}} + | {{#rollTotal() ironlanderNames 54}} + span Saskia + | {{/rollTotal() ironlanderNames 54}} + | {{#rollTotal() ironlanderNames 55}} + span Kabeera + | {{/rollTotal() ironlanderNames 55}} + | {{#rollTotal() ironlanderNames 56}} + span Caldas + | {{/rollTotal() ironlanderNames 56}} + | {{#rollTotal() ironlanderNames 57}} + span Nisus + | {{/rollTotal() ironlanderNames 57}} + | {{#rollTotal() ironlanderNames 58}} + span Serene + | {{/rollTotal() ironlanderNames 58}} + | {{#rollTotal() ironlanderNames 59}} + span Chenda + | {{/rollTotal() ironlanderNames 59}} + | {{#rollTotal() ironlanderNames 60}} + span Themon + | {{/rollTotal() ironlanderNames 60}} + | {{#rollTotal() ironlanderNames 61}} + span Erin + | {{/rollTotal() ironlanderNames 61}} + | {{#rollTotal() ironlanderNames 62}} + span Alban + | {{/rollTotal() ironlanderNames 62}} + | {{#rollTotal() ironlanderNames 63}} + span Parcell + | {{/rollTotal() ironlanderNames 63}} + | {{#rollTotal() ironlanderNames 64}} + span Jelma + | {{/rollTotal() ironlanderNames 64}} + | {{#rollTotal() ironlanderNames 65}} + span Willa + | {{/rollTotal() ironlanderNames 65}} + | {{#rollTotal() ironlanderNames 66}} + span Nadira + | {{/rollTotal() ironlanderNames 66}} + | {{#rollTotal() ironlanderNames 67}} + span Gwen + | {{/rollTotal() ironlanderNames 67}} + | {{#rollTotal() ironlanderNames 68}} + span Amara + | {{/rollTotal() ironlanderNames 68}} + | {{#rollTotal() ironlanderNames 69}} + span Masias + | {{/rollTotal() ironlanderNames 69}} + | {{#rollTotal() ironlanderNames 70}} + span Kanno + | {{/rollTotal() ironlanderNames 70}} + | {{#rollTotal() ironlanderNames 71}} + span Razeena + | {{/rollTotal() ironlanderNames 71}} + | {{#rollTotal() ironlanderNames 72}} + span Mira + | {{/rollTotal() ironlanderNames 72}} + | {{#rollTotal() ironlanderNames 73}} + span Perella + | {{/rollTotal() ironlanderNames 73}} + | {{#rollTotal() ironlanderNames 74}} + span Myrick + | {{/rollTotal() ironlanderNames 74}} + | {{#rollTotal() ironlanderNames 75}} + span Qamar + | {{/rollTotal() ironlanderNames 75}} + | {{#rollTotal() ironlanderNames 76}} + span Kormak + | {{/rollTotal() ironlanderNames 76}} + | {{#rollTotal() ironlanderNames 77}} + span Zura + | {{/rollTotal() ironlanderNames 77}} + | {{#rollTotal() ironlanderNames 78}} + span Zanita + | {{/rollTotal() ironlanderNames 78}} + | {{#rollTotal() ironlanderNames 79}} + span Brynn + | {{/rollTotal() ironlanderNames 79}} + | {{#rollTotal() ironlanderNames 80}} + span Tegan + | {{/rollTotal() ironlanderNames 80}} + | {{#rollTotal() ironlanderNames 81}} + span Pendry + | {{/rollTotal() ironlanderNames 81}} + | {{#rollTotal() ironlanderNames 82}} + span Quinn + | {{/rollTotal() ironlanderNames 82}} + | {{#rollTotal() ironlanderNames 83}} + span Fanir + | {{/rollTotal() ironlanderNames 83}} + | {{#rollTotal() ironlanderNames 84}} + span Glain + | {{/rollTotal() ironlanderNames 84}} + | {{#rollTotal() ironlanderNames 85}} + span Emelyn + | {{/rollTotal() ironlanderNames 85}} + | {{#rollTotal() ironlanderNames 86}} + span Kendi + | {{/rollTotal() ironlanderNames 86}} + | {{#rollTotal() ironlanderNames 87}} + span Althus + | {{/rollTotal() ironlanderNames 87}} + | {{#rollTotal() ironlanderNames 88}} + span Leela + | {{/rollTotal() ironlanderNames 88}} + | {{#rollTotal() ironlanderNames 89}} + span Ishana + | {{/rollTotal() ironlanderNames 89}} + | {{#rollTotal() ironlanderNames 90}} + span Flint + | {{/rollTotal() ironlanderNames 90}} + | {{#rollTotal() ironlanderNames 91}} + span Delkash + | {{/rollTotal() ironlanderNames 91}} + | {{#rollTotal() ironlanderNames 92}} + span Nia + | {{/rollTotal() ironlanderNames 92}} + | {{#rollTotal() ironlanderNames 93}} + span Nan + | {{/rollTotal() ironlanderNames 93}} + | {{#rollTotal() ironlanderNames 94}} + span Keeara + | {{/rollTotal() ironlanderNames 94}} + | {{#rollTotal() ironlanderNames 95}} + span Katania + | {{/rollTotal() ironlanderNames 95}} + | {{#rollTotal() ironlanderNames 96}} + span Morell + | {{/rollTotal() ironlanderNames 96}} + | {{#rollTotal() ironlanderNames 97}} + span Temir + | {{/rollTotal() ironlanderNames 97}} + | {{#rollTotal() ironlanderNames 98}} + span Bas + | {{/rollTotal() ironlanderNames 98}} + | {{#rollTotal() ironlanderNames 99}} + span Sabine + | {{/rollTotal() ironlanderNames 99}} + | {{#rollTotal() ironlanderNames 100}} + span Tallus + | {{/rollTotal() ironlanderNames 100}} + | {{#rollTotal() ironlanderNames 101}} + span Segura + | {{/rollTotal() ironlanderNames 101}} + | {{#rollTotal() ironlanderNames 102}} + span Gethin + | {{/rollTotal() ironlanderNames 102}} + | {{#rollTotal() ironlanderNames 103}} + span Bataar + | {{/rollTotal() ironlanderNames 103}} + | {{#rollTotal() ironlanderNames 104}} + span Basira + | {{/rollTotal() ironlanderNames 104}} + | {{#rollTotal() ironlanderNames 105}} + span Joa + | {{/rollTotal() ironlanderNames 105}} + | {{#rollTotal() ironlanderNames 106}} + span Glynn + | {{/rollTotal() ironlanderNames 106}} + | {{#rollTotal() ironlanderNames 107}} + span Toran + | {{/rollTotal() ironlanderNames 107}} + | {{#rollTotal() ironlanderNames 108}} + span Arasen + | {{/rollTotal() ironlanderNames 108}} + | {{#rollTotal() ironlanderNames 109}} + span Kuron + | {{/rollTotal() ironlanderNames 109}} + | {{#rollTotal() ironlanderNames 110}} + span Griff + | {{/rollTotal() ironlanderNames 110}} + | {{#rollTotal() ironlanderNames 111}} + span Owena + | {{/rollTotal() ironlanderNames 111}} + | {{#rollTotal() ironlanderNames 112}} + span Adda + | {{/rollTotal() ironlanderNames 112}} + | {{#rollTotal() ironlanderNames 113}} + span Euros + | {{/rollTotal() ironlanderNames 113}} + | {{#rollTotal() ironlanderNames 114}} + span Kova + | {{/rollTotal() ironlanderNames 114}} + | {{#rollTotal() ironlanderNames 115}} + span Kara + | {{/rollTotal() ironlanderNames 115}} + | {{#rollTotal() ironlanderNames 116}} + span Morgan + | {{/rollTotal() ironlanderNames 116}} + | {{#rollTotal() ironlanderNames 117}} + span Nanda + | {{/rollTotal() ironlanderNames 117}} + | {{#rollTotal() ironlanderNames 118}} + span Tamara + | {{/rollTotal() ironlanderNames 118}} + | {{#rollTotal() ironlanderNames 119}} + span Asha + | {{/rollTotal() ironlanderNames 119}} + | {{#rollTotal() ironlanderNames 120}} + span Delos + | {{/rollTotal() ironlanderNames 120}} + | {{#rollTotal() ironlanderNames 121}} + span Torgan + | {{/rollTotal() ironlanderNames 121}} + | {{#rollTotal() ironlanderNames 122}} + span Makari + | {{/rollTotal() ironlanderNames 122}} + | {{#rollTotal() ironlanderNames 123}} + span Selva + | {{/rollTotal() ironlanderNames 123}} + | {{#rollTotal() ironlanderNames 124}} + span Kimura + | {{/rollTotal() ironlanderNames 124}} + | {{#rollTotal() ironlanderNames 125}} + span Rhian + | {{/rollTotal() ironlanderNames 125}} + | {{#rollTotal() ironlanderNames 126}} + span Tristan + | {{/rollTotal() ironlanderNames 126}} + | {{#rollTotal() ironlanderNames 127}} + span Siorra + | {{/rollTotal() ironlanderNames 127}} + | {{#rollTotal() ironlanderNames 128}} + span Sayer + | {{/rollTotal() ironlanderNames 128}} + | {{#rollTotal() ironlanderNames 129}} + span Cortina + | {{/rollTotal() ironlanderNames 129}} + | {{#rollTotal() ironlanderNames 130}} + span Vesna + | {{/rollTotal() ironlanderNames 130}} + | {{#rollTotal() ironlanderNames 131}} + span Kataka + | {{/rollTotal() ironlanderNames 131}} + | {{#rollTotal() ironlanderNames 132}} + span Keyshia + | {{/rollTotal() ironlanderNames 132}} + | {{#rollTotal() ironlanderNames 133}} + span Mila + | {{/rollTotal() ironlanderNames 133}} + | {{#rollTotal() ironlanderNames 134}} + span Lili + | {{/rollTotal() ironlanderNames 134}} + | {{#rollTotal() ironlanderNames 135}} + span Vigo + | {{/rollTotal() ironlanderNames 135}} + | {{#rollTotal() ironlanderNames 136}} + span Sadia + | {{/rollTotal() ironlanderNames 136}} + | {{#rollTotal() ironlanderNames 137}} + span Malik + | {{/rollTotal() ironlanderNames 137}} + | {{#rollTotal() ironlanderNames 138}} + span Dag + | {{/rollTotal() ironlanderNames 138}} + | {{#rollTotal() ironlanderNames 139}} + span Kuno + | {{/rollTotal() ironlanderNames 139}} + | {{#rollTotal() ironlanderNames 140}} + span Reva + | {{/rollTotal() ironlanderNames 140}} + | {{#rollTotal() ironlanderNames 141}} + span Kai + | {{/rollTotal() ironlanderNames 141}} + | {{#rollTotal() ironlanderNames 142}} + span Kalina + | {{/rollTotal() ironlanderNames 142}} + | {{#rollTotal() ironlanderNames 143}} + span Jihan + | {{/rollTotal() ironlanderNames 143}} + | {{#rollTotal() ironlanderNames 144}} + span Hennion + | {{/rollTotal() ironlanderNames 144}} + | {{#rollTotal() ironlanderNames 145}} + span Abram + | {{/rollTotal() ironlanderNames 145}} + | {{#rollTotal() ironlanderNames 146}} + span Aida + | {{/rollTotal() ironlanderNames 146}} + | {{#rollTotal() ironlanderNames 147}} + span Myrtle + | {{/rollTotal() ironlanderNames 147}} + | {{#rollTotal() ironlanderNames 148}} + span Nekun + | {{/rollTotal() ironlanderNames 148}} + | {{#rollTotal() ironlanderNames 149}} + span Menna + | {{/rollTotal() ironlanderNames 149}} + | {{#rollTotal() ironlanderNames 150}} + span Tahir + | {{/rollTotal() ironlanderNames 150}} + | {{#rollTotal() ironlanderNames 151}} + span Sarria + | {{/rollTotal() ironlanderNames 151}} + | {{#rollTotal() ironlanderNames 152}} + span Nakura + | {{/rollTotal() ironlanderNames 152}} + | {{#rollTotal() ironlanderNames 153}} + span Akiya + | {{/rollTotal() ironlanderNames 153}} + | {{#rollTotal() ironlanderNames 154}} + span Talan + | {{/rollTotal() ironlanderNames 154}} + | {{#rollTotal() ironlanderNames 155}} + span Mattick + | {{/rollTotal() ironlanderNames 155}} + | {{#rollTotal() ironlanderNames 156}} + span Okoth + | {{/rollTotal() ironlanderNames 156}} + | {{#rollTotal() ironlanderNames 157}} + span Khulan + | {{/rollTotal() ironlanderNames 157}} + | {{#rollTotal() ironlanderNames 158}} + span Verena + | {{/rollTotal() ironlanderNames 158}} + | {{#rollTotal() ironlanderNames 159}} + span Beltran + | {{/rollTotal() ironlanderNames 159}} + | {{#rollTotal() ironlanderNames 160}} + span Del + | {{/rollTotal() ironlanderNames 160}} + | {{#rollTotal() ironlanderNames 161}} + span Ranna + | {{/rollTotal() ironlanderNames 161}} + | {{#rollTotal() ironlanderNames 162}} + span Alina + | {{/rollTotal() ironlanderNames 162}} + | {{#rollTotal() ironlanderNames 163}} + span Muna + | {{/rollTotal() ironlanderNames 163}} + | {{#rollTotal() ironlanderNames 164}} + span Mura + | {{/rollTotal() ironlanderNames 164}} + | {{#rollTotal() ironlanderNames 165}} + span Torrens + | {{/rollTotal() ironlanderNames 165}} + | {{#rollTotal() ironlanderNames 166}} + span Yuda + | {{/rollTotal() ironlanderNames 166}} + | {{#rollTotal() ironlanderNames 167}} + span Nazmi + | {{/rollTotal() ironlanderNames 167}} + | {{#rollTotal() ironlanderNames 168}} + span Ghalen + | {{/rollTotal() ironlanderNames 168}} + | {{#rollTotal() ironlanderNames 169}} + span Sarda + | {{/rollTotal() ironlanderNames 169}} + | {{#rollTotal() ironlanderNames 170}} + span Shona + | {{/rollTotal() ironlanderNames 170}} + | {{#rollTotal() ironlanderNames 171}} + span Kalidas + | {{/rollTotal() ironlanderNames 171}} + | {{#rollTotal() ironlanderNames 172}} + span Wena + | {{/rollTotal() ironlanderNames 172}} + | {{#rollTotal() ironlanderNames 173}} + span Sendra + | {{/rollTotal() ironlanderNames 173}} + | {{#rollTotal() ironlanderNames 174}} + span Kori + | {{/rollTotal() ironlanderNames 174}} + | {{#rollTotal() ironlanderNames 175}} + span Setara + | {{/rollTotal() ironlanderNames 175}} + | {{#rollTotal() ironlanderNames 176}} + span Lucia + | {{/rollTotal() ironlanderNames 176}} + | {{#rollTotal() ironlanderNames 177}} + span Maya + | {{/rollTotal() ironlanderNames 177}} + | {{#rollTotal() ironlanderNames 178}} + span Reema + | {{/rollTotal() ironlanderNames 178}} + | {{#rollTotal() ironlanderNames 179}} + span Yorath + | {{/rollTotal() ironlanderNames 179}} + | {{#rollTotal() ironlanderNames 180}} + span Rhoddri + | {{/rollTotal() ironlanderNames 180}} + | {{#rollTotal() ironlanderNames 181}} + span Shekhar + | {{/rollTotal() ironlanderNames 181}} + | {{#rollTotal() ironlanderNames 182}} + span Servan + | {{/rollTotal() ironlanderNames 182}} + | {{#rollTotal() ironlanderNames 183}} + span Reese + | {{/rollTotal() ironlanderNames 183}} + | {{#rollTotal() ironlanderNames 184}} + span Kenrick + | {{/rollTotal() ironlanderNames 184}} + | {{#rollTotal() ironlanderNames 185}} + span Indirra + | {{/rollTotal() ironlanderNames 185}} + | {{#rollTotal() ironlanderNames 186}} + span Giliana + | {{/rollTotal() ironlanderNames 186}} + | {{#rollTotal() ironlanderNames 187}} + span Jebran + | {{/rollTotal() ironlanderNames 187}} + | {{#rollTotal() ironlanderNames 188}} + span Kotama + | {{/rollTotal() ironlanderNames 188}} + | {{#rollTotal() ironlanderNames 189}} + span Fara + | {{/rollTotal() ironlanderNames 189}} + | {{#rollTotal() ironlanderNames 190}} + span Katrin + | {{/rollTotal() ironlanderNames 190}} + | {{#rollTotal() ironlanderNames 191}} + span Namba + | {{/rollTotal() ironlanderNames 191}} + | {{#rollTotal() ironlanderNames 192}} + span Lona + | {{/rollTotal() ironlanderNames 192}} + | {{#rollTotal() ironlanderNames 193}} + span Taylah + | {{/rollTotal() ironlanderNames 193}} + | {{#rollTotal() ironlanderNames 194}} + span Kato + | {{/rollTotal() ironlanderNames 194}} + | {{#rollTotal() ironlanderNames 195}} + span Esra + | {{/rollTotal() ironlanderNames 195}} + | {{#rollTotal() ironlanderNames 196}} + span Eleri + | {{/rollTotal() ironlanderNames 196}} + | {{#rollTotal() ironlanderNames 197}} + span Irsia + | {{/rollTotal() ironlanderNames 197}} + | {{#rollTotal() ironlanderNames 198}} + span Kayu + | {{/rollTotal() ironlanderNames 198}} + | {{#rollTotal() ironlanderNames 199}} + span Bevan + | {{/rollTotal() ironlanderNames 199}} + | {{#rollTotal() ironlanderNames 200}} + span Chandra + | {{/rollTotal() ironlanderNames 200}} + | {{/ironlanderNames}} + | {{#elfNames}} + .sheet-result-row + .sheet-oracle-dice + span {{elfNames}} + .sheet-oracle-table-text + | {{#rollBetween() elfNames 1 2}} + span Arsula + | {{/rollBetween() elfNames 1 2}} + | {{#rollBetween() elfNames 3 4}} + span Naidita + | {{/rollBetween() elfNames 3 4}} + | {{#rollBetween() elfNames 5 6}} + span Belesunna + | {{/rollBetween() elfNames 5 6}} + | {{#rollBetween() elfNames 7 8}} + span Vidarna + | {{/rollBetween() elfNames 7 8}} + | {{#rollBetween() elfNames 9 10}} + span Ninsunu + | {{/rollBetween() elfNames 9 10}} + | {{#rollBetween() elfNames 11 12}} + span Balathu + | {{/rollBetween() elfNames 11 12}} + | {{#rollBetween() elfNames 13 14}} + span Dorosi + | {{/rollBetween() elfNames 13 14}} + | {{#rollBetween() elfNames 15 16}} + span Gezera + | {{/rollBetween() elfNames 15 16}} + | {{#rollBetween() elfNames 17 18}} + span Zursan + | {{/rollBetween() elfNames 17 18}} + | {{#rollBetween() elfNames 19 20}} + span Seleeku + | {{/rollBetween() elfNames 19 20}} + | {{#rollBetween() elfNames 21 22}} + span Utamara + | {{/rollBetween() elfNames 21 22}} + | {{#rollBetween() elfNames 23 24}} + span Nebakay + | {{/rollBetween() elfNames 23 24}} + | {{#rollBetween() elfNames 25 26}} + span Dismashk + | {{/rollBetween() elfNames 25 26}} + | {{#rollBetween() elfNames 27 28}} + span Mitunu + | {{/rollBetween() elfNames 27 28}} + | {{#rollBetween() elfNames 29 30}} + span Atani + | {{/rollBetween() elfNames 29 30}} + | {{#rollBetween() elfNames 31 32}} + span Kinzura + | {{/rollBetween() elfNames 31 32}} + | {{#rollBetween() elfNames 33 34}} + span Sumula + | {{/rollBetween() elfNames 33 34}} + | {{#rollBetween() elfNames 35 36}} + span Ukames + | {{/rollBetween() elfNames 35 36}} + | {{#rollBetween() elfNames 37 38}} + span Ahmeshki + | {{/rollBetween() elfNames 37 38}} + | {{#rollBetween() elfNames 39 40}} + span Ilsit + | {{/rollBetween() elfNames 39 40}} + | {{#rollBetween() elfNames 41 42}} + span Mayatanay + | {{/rollBetween() elfNames 41 42}} + | {{#rollBetween() elfNames 43 44}} + span Etana + | {{/rollBetween() elfNames 43 44}} + | {{#rollBetween() elfNames 45 46}} + span Gamanna + | {{/rollBetween() elfNames 45 46}} + | {{#rollBetween() elfNames 47 48}} + span Nessana + | {{/rollBetween() elfNames 47 48}} + | {{#rollBetween() elfNames 49 50}} + span Uralar + | {{/rollBetween() elfNames 49 50}} + | {{#rollBetween() elfNames 51 52}} + span Tishetu + | {{/rollBetween() elfNames 51 52}} + | {{#rollBetween() elfNames 53 54}} + span Leucia + | {{/rollBetween() elfNames 53 54}} + | {{#rollBetween() elfNames 55 56}} + span Sutahe + | {{/rollBetween() elfNames 55 56}} + | {{#rollBetween() elfNames 57 58}} + span Dotani + | {{/rollBetween() elfNames 57 58}} + | {{#rollBetween() elfNames 59 60}} + span Uktannu + | {{/rollBetween() elfNames 59 60}} + | {{#rollBetween() elfNames 61 62}} + span Retenay + | {{/rollBetween() elfNames 61 62}} + | {{#rollBetween() elfNames 63 64}} + span Kendalanu + | {{/rollBetween() elfNames 63 64}} + | {{#rollBetween() elfNames 65 66}} + span Tahuta + | {{/rollBetween() elfNames 65 66}} + | {{#rollBetween() elfNames 67 68}} + span Mattissa + | {{/rollBetween() elfNames 67 68}} + | {{#rollBetween() elfNames 69 70}} + span Anatu + | {{/rollBetween() elfNames 69 70}} + | {{#rollBetween() elfNames 71 72}} + span Aralu + | {{/rollBetween() elfNames 71 72}} + | {{#rollBetween() elfNames 73 74}} + span Arakhi + | {{/rollBetween() elfNames 73 74}} + | {{#rollBetween() elfNames 75 76}} + span Ibrahem + | {{/rollBetween() elfNames 75 76}} + | {{#rollBetween() elfNames 77 78}} + span Sinosu + | {{/rollBetween() elfNames 77 78}} + | {{#rollBetween() elfNames 79 80}} + span Jemshida + | {{/rollBetween() elfNames 79 80}} + | {{#rollBetween() elfNames 81 82}} + span Visapni + | {{/rollBetween() elfNames 81 82}} + | {{#rollBetween() elfNames 83 84}} + span Hullata + | {{/rollBetween() elfNames 83 84}} + | {{#rollBetween() elfNames 85 86}} + span Sidura + | {{/rollBetween() elfNames 85 86}} + | {{#rollBetween() elfNames 87 88}} + span Kerihu + | {{/rollBetween() elfNames 87 88}} + | {{#rollBetween() elfNames 89 90}} + span Ereshki + | {{/rollBetween() elfNames 89 90}} + | {{#rollBetween() elfNames 91 92}} + span Cybela + | {{/rollBetween() elfNames 91 92}} + | {{#rollBetween() elfNames 93 94}} + span Anunna + | {{/rollBetween() elfNames 93 94}} + | {{#rollBetween() elfNames 95 96}} + span Otani + | {{/rollBetween() elfNames 95 96}} + | {{#rollBetween() elfNames 97 98}} + span Ditani + | {{/rollBetween() elfNames 97 98}} + | {{#rollBetween() elfNames 99 100}} + span Faraza + | {{/rollBetween() elfNames 99 100}} + | {{/elfNames}} + | {{#giantNames}} + .sheet-result-row + .sheet-oracle-dice + span {{giantNames}} + .sheet-oracle-table-text + | {{#rollBetween() giantNames 1 4}} + span Chony + | {{/rollBetween() giantNames 1 4}} + | {{#rollBetween() giantNames 5 8}} + span Banda + | {{/rollBetween() giantNames 5 8}} + | {{#rollBetween() giantNames 9 12}} + span Jochu + | {{/rollBetween() giantNames 9 12}} + | {{#rollBetween() giantNames 13 16}} + span Kira + | {{/rollBetween() giantNames 13 16}} + | {{#rollBetween() giantNames 17 20}} + span Khatir + | {{/rollBetween() giantNames 17 20}} + | {{#rollBetween() giantNames 21 24}} + span Chaidu + | {{/rollBetween() giantNames 21 24}} + | {{#rollBetween() giantNames 25 28}} + span Atan + | {{/rollBetween() giantNames 25 28}} + | {{#rollBetween() giantNames 29 32}} + span Buandu + | {{/rollBetween() giantNames 29 32}} + | {{#rollBetween() giantNames 33 36}} + span Javyn + | {{/rollBetween() giantNames 33 36}} + | {{#rollBetween() giantNames 37 40}} + span Khashin + | {{/rollBetween() giantNames 37 40}} + | {{#rollBetween() giantNames 41 44}} + span Bayara + | {{/rollBetween() giantNames 41 44}} + | {{#rollBetween() giantNames 45 48}} + span Temura + | {{/rollBetween() giantNames 45 48}} + | {{#rollBetween() giantNames 49 52}} + span Kidha + | {{/rollBetween() giantNames 49 52}} + | {{#rollBetween() giantNames 53 56}} + span Kathos + | {{/rollBetween() giantNames 53 56}} + | {{#rollBetween() giantNames 57 60}} + span Tanua + | {{/rollBetween() giantNames 57 60}} + | {{#rollBetween() giantNames 61 64}} + span Bashtu + | {{/rollBetween() giantNames 61 64}} + | {{#rollBetween() giantNames 65 68}} + span Jaran + | {{/rollBetween() giantNames 65 68}} + | {{#rollBetween() giantNames 69 72}} + span Othos + | {{/rollBetween() giantNames 69 72}} + | {{#rollBetween() giantNames 73 76}} + span Khutan + | {{/rollBetween() giantNames 73 76}} + | {{#rollBetween() giantNames 77 80}} + span Otaan + | {{/rollBetween() giantNames 77 80}} + | {{#rollBetween() giantNames 81 84}} + span Martu + | {{/rollBetween() giantNames 81 84}} + | {{#rollBetween() giantNames 85 88}} + span Baku + | {{/rollBetween() giantNames 85 88}} + | {{#rollBetween() giantNames 89 92}} + span Tuban + | {{/rollBetween() giantNames 89 92}} + | {{#rollBetween() giantNames 93 96}} + span Qudan + | {{/rollBetween() giantNames 93 96}} + | {{#rollBetween() giantNames 97 100}} + span Denua + | {{/rollBetween() giantNames 97 100}} + | {{/giantNames}} + | {{#varouNames}} + .sheet-result-row + .sheet-oracle-dice + span {{varouNames}} + .sheet-oracle-table-text + | {{#rollBetween() varouNames 1 4}} + span Vata + | {{/rollBetween() varouNames 1 4}} + | {{#rollBetween() varouNames 5 8}} + span Zora + | {{/rollBetween() varouNames 5 8}} + | {{#rollBetween() varouNames 9 12}} + span Jasna + | {{/rollBetween() varouNames 9 12}} + | {{#rollBetween() varouNames 13 16}} + span Charna + | {{/rollBetween() varouNames 13 16}} + | {{#rollBetween() varouNames 17 20}} + span Tana + | {{/rollBetween() varouNames 17 20}} + | {{#rollBetween() varouNames 21 24}} + span Soveen + | {{/rollBetween() varouNames 21 24}} + | {{#rollBetween() varouNames 25 28}} + span Radka + | {{/rollBetween() varouNames 25 28}} + | {{#rollBetween() varouNames 29 32}} + span Zlata + | {{/rollBetween() varouNames 29 32}} + | {{#rollBetween() varouNames 33 36}} + span Leesla + | {{/rollBetween() varouNames 33 36}} + | {{#rollBetween() varouNames 37 40}} + span Byna + | {{/rollBetween() varouNames 37 40}} + | {{#rollBetween() varouNames 41 44}} + span Meeka + | {{/rollBetween() varouNames 41 44}} + | {{#rollBetween() varouNames 45 48}} + span Iskra + | {{/rollBetween() varouNames 45 48}} + | {{#rollBetween() varouNames 49 52}} + span Jarek + | {{/rollBetween() varouNames 49 52}} + | {{#rollBetween() varouNames 53 56}} + span Darva + | {{/rollBetween() varouNames 53 56}} + | {{#rollBetween() varouNames 57 60}} + span Neda + | {{/rollBetween() varouNames 57 60}} + | {{#rollBetween() varouNames 61 64}} + span Keha + | {{/rollBetween() varouNames 61 64}} + | {{#rollBetween() varouNames 65 68}} + span Zhivka + | {{/rollBetween() varouNames 65 68}} + | {{#rollBetween() varouNames 69 72}} + span Kvata + | {{/rollBetween() varouNames 69 72}} + | {{#rollBetween() varouNames 73 76}} + span Staysa + | {{/rollBetween() varouNames 73 76}} + | {{#rollBetween() varouNames 77 80}} + span Evka + | {{/rollBetween() varouNames 77 80}} + | {{#rollBetween() varouNames 81 84}} + span Vuksha + | {{/rollBetween() varouNames 81 84}} + | {{#rollBetween() varouNames 85 88}} + span Muko + | {{/rollBetween() varouNames 85 88}} + | {{#rollBetween() varouNames 89 92}} + span Dreko + | {{/rollBetween() varouNames 89 92}} + | {{#rollBetween() varouNames 93 96}} + span Aleko + | {{/rollBetween() varouNames 93 96}} + | {{#rollBetween() varouNames 97 100}} + span Vojan + | {{/rollBetween() varouNames 97 100}} + | {{/varouNames}} + | {{#trollNames}} + .sheet-result-row + .sheet-oracle-dice + span {{trollNames}} + .sheet-oracle-table-text + | {{#rollBetween() trollNames 1 4}} + span Rattle + | {{/rollBetween() trollNames 1 4}} + | {{#rollBetween() trollNames 5 8}} + span Scratch + | {{/rollBetween() trollNames 5 8}} + | {{#rollBetween() trollNames 9 12}} + span Wallow + | {{/rollBetween() trollNames 9 12}} + | {{#rollBetween() trollNames 13 16}} + span Groak + | {{/rollBetween() trollNames 13 16}} + | {{#rollBetween() trollNames 17 20}} + span Gimble + | {{/rollBetween() trollNames 17 20}} + | {{#rollBetween() trollNames 21 24}} + span Scar + | {{/rollBetween() trollNames 21 24}} + | {{#rollBetween() trollNames 25 28}} + span Cratch + | {{/rollBetween() trollNames 25 28}} + | {{#rollBetween() trollNames 29 32}} + span Creech + | {{/rollBetween() trollNames 29 32}} + | {{#rollBetween() trollNames 33 36}} + span Shush + | {{/rollBetween() trollNames 33 36}} + | {{#rollBetween() trollNames 37 40}} + span Glush + | {{/rollBetween() trollNames 37 40}} + | {{#rollBetween() trollNames 41 44}} + span Slar + | {{/rollBetween() trollNames 41 44}} + | {{#rollBetween() trollNames 45 48}} + span Gnash + | {{/rollBetween() trollNames 45 48}} + | {{#rollBetween() trollNames 49 52}} + span Stoad + | {{/rollBetween() trollNames 49 52}} + | {{#rollBetween() trollNames 53 56}} + span Grig + | {{/rollBetween() trollNames 53 56}} + | {{#rollBetween() trollNames 57 60}} + span Bleat + | {{/rollBetween() trollNames 57 60}} + | {{#rollBetween() trollNames 61 64}} + span Chortle + | {{/rollBetween() trollNames 61 64}} + | {{#rollBetween() trollNames 65 68}} + span Cluck + | {{/rollBetween() trollNames 65 68}} + | {{#rollBetween() trollNames 69 72}} + span Slith + | {{/rollBetween() trollNames 69 72}} + | {{#rollBetween() trollNames 73 76}} + span Mongo + | {{/rollBetween() trollNames 73 76}} + | {{#rollBetween() trollNames 77 80}} + span Creak + | {{/rollBetween() trollNames 77 80}} + | {{#rollBetween() trollNames 81 84}} + span Burble + | {{/rollBetween() trollNames 81 84}} + | {{#rollBetween() trollNames 85 88}} + span Vrusk + | {{/rollBetween() trollNames 85 88}} + | {{#rollBetween() trollNames 89 92}} + span Snuffle + | {{/rollBetween() trollNames 89 92}} + | {{#rollBetween() trollNames 93 96}} + span Leech + | {{/rollBetween() trollNames 93 96}} + | {{#rollBetween() trollNames 97 100}} + span Herk + | {{/rollBetween() trollNames 97 100}} + | {{/trollNames}} + | {{#combatAction}} + .sheet-result-row + .sheet-oracle-dice + span {{combatAction}} + .sheet-oracle-table-text + | {{#rollBetween() combatAction 1 3}} + span Compel a surrender. + | {{/rollBetween() combatAction 1 3}} + | {{#rollBetween() combatAction 4 6}} + span Coordinate with allies. + | {{/rollBetween() combatAction 4 6}} + | {{#rollBetween() combatAction 7 9}} + span Gather reinforcements + | {{/rollBetween() combatAction 7 9}} + | {{#rollBetween() combatAction 10 13}} + span Seize something or someone + | {{/rollBetween() combatAction 10 13}} + | {{#rollBetween() combatAction 14 17}} + span Provoke a reckless response + | {{/rollBetween() combatAction 14 17}} + | {{#rollBetween() combatAction 18 21}} + span Intimidate or frighten + | {{/rollBetween() combatAction 18 21}} + | {{#rollBetween() combatAction 22 25}} + span Reveal a surprising truth. + | {{/rollBetween() combatAction 22 25}} + | {{#rollBetween() combatAction 26 29}} + span Shift focus to someone or something else. + | {{/rollBetween() combatAction 26 29}} + | {{#rollBetween() combatAction 30 33}} + span Destroy something, or render it useless. + | {{/rollBetween() combatAction 30 33}} + | {{#rollBetween() combatAction 34 39}} + span Take a decisive action. + | {{/rollBetween() combatAction 34 39}} + | {{#rollBetween() combatAction 40 45}} + span Reinforce defenses. + | {{/rollBetween() combatAction 40 45}} + | {{#rollBetween() combatAction 46 52}} + span Ready an action. + | {{/rollBetween() combatAction 46 52}} + | {{#rollBetween() combatAction 53 60}} + span Use the terrain to gain advantage. + | {{/rollBetween() combatAction 53 60}} + | {{#rollBetween() combatAction 61 68}} + span Leverage the advantage of a weapon or ability. + | {{/rollBetween() combatAction 61 68}} + | {{#rollBetween() combatAction 69 78}} + span Create an opportunity. + | {{/rollBetween() combatAction 69 78}} + | {{#rollBetween() combatAction 79 89}} + span Attack with precision. + | {{/rollBetween() combatAction 79 89}} + | {{#rollBetween() combatAction 90 99}} + span Attack with power. + | {{/rollBetween() combatAction 90 99}} + | {{#rollTotal() combatAction 100}} + span Take a completely unexpected action. + | {{/rollTotal() combatAction 100}} + | {{/combatAction}} + | {{#mysticBacklash}} + .sheet-result-row + .sheet-oracle-dice + span {{mysticBacklash}} + .sheet-oracle-table-text + | {{#rollBetween() mysticBacklash 1 4}} + span Your ritual has the opposite affect. + | {{/rollBetween() mysticBacklash 1 4}} + | {{#rollBetween() mysticBacklash 5 8}} + span You are sapped of strength. + | {{/rollBetween() mysticBacklash 5 8}} + | {{#rollBetween() mysticBacklash 9 12}} + span Your friend, ally, or companion is adversely affected. + | {{/rollBetween() mysticBacklash 9 12}} + | {{#rollBetween() mysticBacklash 13 16}} + span You destroy an important object. + | {{/rollBetween() mysticBacklash 13 16}} + | {{#rollBetween() mysticBacklash 17 20}} + span You inadvertently summon a horror. + | {{/rollBetween() mysticBacklash 17 20}} + | {{#rollBetween() mysticBacklash 21 24}} + span You collapse, and drift into a troubled sleep. + | {{/rollBetween() mysticBacklash 21 24}} + | {{#rollBetween() mysticBacklash 25 28}} + span You undergo a physical torment which leaves its mark upon you. + | {{/rollBetween() mysticBacklash 25 28}} + | {{#rollBetween() mysticBacklash 29 32}} + span You hear ghostly voices whispering of dark portents. + | {{/rollBetween() mysticBacklash 29 32}} + | {{#rollBetween() mysticBacklash 33 36}} + span + | You are lost in shadow, and find yourself in another place without memory of how you got + | there. + | {{/rollBetween() mysticBacklash 33 36}} + | {{#rollBetween() mysticBacklash 37 40}} + span You alert someone or something to your presence. + | {{/rollBetween() mysticBacklash 37 40}} + | {{#rollBetween() mysticBacklash 41 44}} + span You are not yourself, and act against a friend, ally, or companion. + | {{/rollBetween() mysticBacklash 41 44}} + | {{#rollBetween() mysticBacklash 45 48}} + span You affect or damage your surroundings, causing a disturbance or potential harm. + | {{/rollBetween() mysticBacklash 45 48}} + | {{#rollBetween() mysticBacklash 49 52}} + span You waste resources. + | {{/rollBetween() mysticBacklash 49 52}} + | {{#rollBetween() mysticBacklash 53 56}} + span You suffer the loss of a sense for several hours. + | {{/rollBetween() mysticBacklash 53 56}} + | {{#rollBetween() mysticBacklash 57 60}} + span You lose your connection to magic for a day or so, and cannot perform rituals. + | {{/rollBetween() mysticBacklash 57 60}} + | {{#rollBetween() mysticBacklash 61 64}} + span Your ritual affects the target in an unexpected and problematic way. + | {{/rollBetween() mysticBacklash 61 64}} + | {{#rollBetween() mysticBacklash 65 68}} + span Your ritual reveals a surprising and troubling truth. + | {{/rollBetween() mysticBacklash 65 68}} + | {{#rollBetween() mysticBacklash 69 72}} + span You are tempted by dark powers. + | {{/rollBetween() mysticBacklash 69 72}} + | {{#rollBetween() mysticBacklash 73 76}} + span You see a troubling vision of your future. + | {{/rollBetween() mysticBacklash 73 76}} + | {{#rollBetween() mysticBacklash 77 80}} + span You can't perform this ritual again until you acquire an important component. + | {{/rollBetween() mysticBacklash 77 80}} + | {{#rollBetween() mysticBacklash 81 84}} + span You develop a strange fear or compulsion. + | {{/rollBetween() mysticBacklash 81 84}} + | {{#rollBetween() mysticBacklash 85 88}} + span Your ritual causes creatures to exhibit strange or aggressive behavior. + | {{/rollBetween() mysticBacklash 85 88}} + | {{#rollBetween() mysticBacklash 89 92}} + span You are tormented by an apparition from your past. + | {{/rollBetween() mysticBacklash 89 92}} + | {{#rollBetween() mysticBacklash 93 96}} + span You are wracked with sudden sickness. + | {{/rollBetween() mysticBacklash 93 96}} + | {{#rollBetween() mysticBacklash 97 100}} + span + | Roll twice more on this table. Both results occur. If they are the same result, make it + | worse + | {{/rollBetween() mysticBacklash 97 100}} + | {{/mysticBacklash}} + | {{#majorPlotTwist}} + .sheet-result-row + .sheet-oracle-dice + span {{majorPlotTwist}} + .sheet-oracle-table-text + | {{#rollBetween() majorPlotTwist 1 5}} + span It was all a diversion. + | {{/rollBetween() majorPlotTwist 1 5}} + | {{#rollBetween() majorPlotTwist 6 10}} + span A dark secret is revealed. + | {{/rollBetween() majorPlotTwist 6 10}} + | {{#rollBetween() majorPlotTwist 11 15}} + span A trap is sprung. + | {{/rollBetween() majorPlotTwist 11 15}} + | {{#rollBetween() majorPlotTwist 16 20}} + span An assumption is revealed to be false. + | {{/rollBetween() majorPlotTwist 16 20}} + | {{#rollBetween() majorPlotTwist 21 25}} + span A secret alliance is revealed. + | {{/rollBetween() majorPlotTwist 21 25}} + | {{#rollBetween() majorPlotTwist 26 30}} + span Your actions benefit an enemy. + | {{/rollBetween() majorPlotTwist 26 30}} + | {{#rollBetween() majorPlotTwist 31 35}} + span Someone returns unexpectedly. + | {{/rollBetween() majorPlotTwist 31 35}} + | {{#rollBetween() majorPlotTwist 36 40}} + span A more dangerous foe is revealed. + | {{/rollBetween() majorPlotTwist 36 40}} + | {{#rollBetween() majorPlotTwist 41 45}} + span You and an enemy share a common goal. + | {{/rollBetween() majorPlotTwist 41 45}} + | {{#rollBetween() majorPlotTwist 46 50}} + span A true identity is revealed. + | {{/rollBetween() majorPlotTwist 46 50}} + | {{#rollBetween() majorPlotTwist 51 55}} + span You are betrayed by someone who was trusted. + | {{/rollBetween() majorPlotTwist 51 55}} + | {{#rollBetween() majorPlotTwist 56 60}} + span You are too late. + | {{/rollBetween() majorPlotTwist 56 60}} + | {{#rollBetween() majorPlotTwist 61 65}} + span The true enemy is revealed. + | {{/rollBetween() majorPlotTwist 61 65}} + | {{#rollBetween() majorPlotTwist 66 70}} + span The enemy gains new allies. + | {{/rollBetween() majorPlotTwist 66 70}} + | {{#rollBetween() majorPlotTwist 71 75}} + span A new danger appears. + | {{/rollBetween() majorPlotTwist 71 75}} + | {{#rollBetween() majorPlotTwist 76 80}} + span Someone or something goes missing. + | {{/rollBetween() majorPlotTwist 76 80}} + | {{#rollBetween() majorPlotTwist 81 85}} + span The truth of a relationship is revealed. + | {{/rollBetween() majorPlotTwist 81 85}} + | {{#rollBetween() majorPlotTwist 86 90}} + span Two seemingly unrelated situations are shown to be connected. + | {{/rollBetween() majorPlotTwist 86 90}} + | {{#rollBetween() majorPlotTwist 91 95}} + span Unexpected powers or abilities are revealed. + | {{/rollBetween() majorPlotTwist 91 95}} + | {{#rollBetween() majorPlotTwist 96 100}} + span + | Roll twice more on this table. Both results occur. If they are the same result, make it more + | dramatic. + | {{/rollBetween() majorPlotTwist 96 100}} + | {{/majorPlotTwist}} + | {{#challengeRank}} + .sheet-result-row + .sheet-oracle-dice + span {{challengeRank}} + .sheet-oracle-table-text + | {{#rollBetween() challengeRank 1 20}} + span Troublesome + | {{/rollBetween() challengeRank 1 20}} + | {{#rollBetween() challengeRank 21 55}} + span Dangerous + | {{/rollBetween() challengeRank 21 55}} + | {{#rollBetween() challengeRank 56 80}} + span Formidable + | {{/rollBetween() challengeRank 56 80}} + | {{#rollBetween() challengeRank 81 93}} + span Extreme + | {{/rollBetween() challengeRank 81 93}} + | {{#rollBetween() challengeRank 94 100}} + span Epic + | {{/rollBetween() challengeRank 94 100}} + | {{/challengeRank}} + | {{#almostCertain}} + | {{#rollBetween() almostCertain 11 100}} + .sheet-result-row + .sheet-oracle-dice + span {{almostCertain}} + .sheet-oracle-table-text + span Yes + | {{#rollTotal() almostCertain 11}} + .sheet-result-row + .sheet-subfooter.sheet-opportunity An extreme result or twist has occurred. + | {{/rollTotal() almostCertain 11}} + | {{/rollBetween() almostCertain 11 100}} + | {{#^rollBetween() almostCertain 11 100}} + .sheet-result-row + .sheet-oracle-dice + span {{almostCertain}} + .sheet-oracle-table-text + span No + | {{/^rollBetween() almostCertain 11 100}} + | {{/almostCertain}} + | {{#likely}} + | {{#rollBetween() likely 26 100}} + .sheet-result-row + .sheet-oracle-dice + span {{likely}} + .sheet-oracle-table-text + span Yes + | {{#rollTotal() likely 26}} + .sheet-result-row + .sheet-subfooter.sheet-opportunity An extreme result or twist has occurred. + | {{/rollTotal() likely 26}} + | {{/rollBetween() likely 26 100}} + | {{#^rollBetween() likely 26 100}} + .sheet-result-row + .sheet-oracle-dice + span {{likely}} + .sheet-oracle-table-text + span No + | {{/^rollBetween() likely 26 100}} + | {{/likely}} + | {{#fiftyFifty}} + | {{#rollBetween() fiftyFifty 51 100}} + .sheet-result-row + .sheet-oracle-dice + span {{fiftyFifty}} + .sheet-oracle-table-text + span Yes + | {{#rollTotal() fiftyFifty 51}} + .sheet-result-row + .sheet-subfooter.sheet-opportunity An extreme result or twist has occurred. + | {{/rollTotal() fiftyFifty 51}} + | {{/rollBetween() fiftyFifty 51 100}} + | {{#^rollBetween() fiftyFifty 51 100}} + .sheet-result-row + .sheet-oracle-dice + span {{fiftyFifty}} + .sheet-oracle-table-text + span No + | {{/^rollBetween() fiftyFifty 51 100}} + | {{/fiftyFifty}} + | {{#unlikely}} + | {{#rollBetween() unlikely 76 100}} + .sheet-result-row + .sheet-oracle-dice + span {{unlikely}} + .sheet-oracle-table-text + span Yes + | {{#rollTotal() unlikely 76}} + .sheet-result-row + .sheet-subfooter.sheet-opportunity An extreme result or twist has occurred. + | {{/rollTotal() unlikely 76}} + | {{/rollBetween() unlikely 76 100}} + | {{#^rollBetween() unlikely 76 100}} + .sheet-result-row + .sheet-oracle-dice + span {{unlikely}} + .sheet-oracle-table-text + span No + | {{/^rollBetween() unlikely 76 100}} + | {{/unlikely}} + | {{#smallChance}} + | {{#rollBetween() smallChance 91 100}} + .sheet-result-row + .sheet-oracle-dice + span {{smallChance}} + .sheet-oracle-table-text + span Yes + | {{#rollTotal() smallChance 91}} + .sheet-result-row + .sheet-subfooter.sheet-opportunity An extreme result or twist has occurred. + | {{/rollTotal() smallChance 91}} + | {{/rollBetween() smallChance 91 100}} + | {{#^rollBetween() smallChance 91 100}} + .sheet-result-row + .sheet-oracle-dice + span {{smallChance}} + .sheet-oracle-table-text + span No + | {{/^rollBetween() smallChance 91 100}} + | {{/smallChance}} + + | {{#payThePrice}} + .sheet-result-row + .sheet-oracle-dice + span {{payThePrice}} + .sheet-oracle-table-text + | {{#rollBetween() payThePrice 1 2}} + span Roll again and apply that result but make it worse. If you roll this result yet again, think of something dreadful that changes the course of your quest and make it happen. + | {{/rollBetween() payThePrice 1 2}} + | {{#rollBetween() payThePrice 3 5}} + span A person or community you trusted loses faith in you, or acts against you. + | {{/rollBetween() payThePrice 3 5}} + | {{#rollBetween() payThePrice 6 8}} + span A person or community you care about is exposed to danger. + | {{/rollBetween() payThePrice 6 8}} + | {{#rollBetween() payThePrice 9 15}} + span You are separated from something or someone. + | {{/rollBetween() payThePrice 9 15}} + | {{#rollBetween() payThePrice 16 22}} + span Your action has an unintended effect. + | {{/rollBetween() payThePrice 16 22}} + | {{#rollBetween() payThePrice 23 29}} + span Something of value is lost or destroyed. + | {{/rollBetween() payThePrice 23 29}} + | {{#rollBetween() payThePrice 30 36}} + span The current situation worsens + | {{/rollBetween() payThePrice 30 36}} + | {{#rollBetween() payThePrice 37 43}} + span A new danger or foe is revealed. + | {{/rollBetween() payThePrice 37 43}} + | {{#rollBetween() payThePrice 44 52}} + span It causes a delay or puts you at a disadvantage. + | {{/rollBetween() payThePrice 44 52}} + | {{#rollBetween() payThePrice 53 61}} + span It is harmful. + | {{/rollBetween() payThePrice 53 61}} + | {{#rollBetween() payThePrice 62 70}} + span It is stressful. + | {{/rollBetween() payThePrice 62 70}} + | {{#rollBetween() payThePrice 71 77}} + span It is wasteful. + | {{/rollBetween() payThePrice 71 77}} + | {{#rollBetween() payThePrice 78 84}} + span You got a negative condition. + | {{/rollBetween() payThePrice 78 84}} + | {{#rollBetween() payThePrice 85 89}} + span A surprising development complicates your quest. + | {{/rollBetween() payThePrice 85 89}} + | {{#rollBetween() payThePrice 90 94}} + span It forces you to act against your best intentions. + | {{/rollBetween() payThePrice 90 94}} + | {{#rollBetween() payThePrice 95 99}} + span A friend, companion, or ally is put in harm’s way (or you are, if alone). + | {{/rollBetween() payThePrice 95 99}} + | {{#rollTotal() payThePrice 100}} + span Roll twice more on this table. Both results occur. If they are the same result, make it worse. + | {{/rollTotal() payThePrice 100}} + | {{/payThePrice}} + + | {{#endureHarm}} + .sheet-result-row + .sheet-oracle-dice + span {{endureHarm}} + .sheet-oracle-table-text + | {{#rollBetween() endureHarm 1 10}} + span + | The harm is mortal. + em Face Death. + | {{/rollBetween() endureHarm 1 10}} + | {{#rollBetween() endureHarm 11 20}} + span + | You are dying. You need to Heal within an hour or two, or + em Face Death. + | {{/rollBetween() endureHarm 11 20}} + | {{#rollBetween() endureHarm 21 35}} + span + | You are unconscious and out of action. If left alone, you come back to your senses in + | an hour or two. If you are vulnerable to a foe not inclined to show mercy, + em + | Face + | Death. + | {{/rollBetween() endureHarm 21 35}} + | {{#rollBetween() endureHarm 36 50}} + span + | You are reeling and fighting to stay conscious. If you engage in any vigorous activity + | (such as running or fighting) before taking a breather for a few minutes, roll on this table again + | (before resolving the other move). + | {{/rollBetween() endureHarm 36 50}} + | {{#rollBetween() endureHarm 51 100}} + span You are battered but still standing. + | {{/rollBetween() endureHarm 51 100}} + | {{/endureHarm}} + + | {{#endureStress}} + .sheet-result-row + .sheet-oracle-dice + span {{endureStress}} + .sheet-oracle-table-text + | {{#rollBetween() endureStress 1 10}} + span You are overwhelmed. Face Desolation. + | {{/rollBetween() endureStress 1 10}} + | {{#rollBetween() endureStress 11 25}} + span You give up. Forsake Your Vow (if possible, one relevant to your current crisis). If this is a companion, Test Their Loyalty. + | {{/rollBetween() endureStress 11 25}} + | {{#rollBetween() endureStress 26 50}} + span You give in to a fear or compulsion, and act against your better instincts. Manifest Insanity. + | {{/rollBetween() endureStress 26 50}} + | {{#rollBetween() endureStress 51 80}} + span You persevere. + | {{/rollBetween() endureStress 51 80}} + | {{#rollBetween() endureStress 81 85}} + span You get a moment of clarity in the eye of the storm. If you have the shaken condition card, discard it. Take +4 spirit and +8 momentum. Then, add +2 to your next move. + | {{/rollBetween() endureStress 81 85}} + | {{#rollBetween() endureStress 86 90}} + span You get virtuous in the face of chaos. If you have the shaken condition card, discard it. Then, take +4 spirit and draw up to your maximum of resilience cards. + | {{/rollBetween() endureStress 86 90}} + | {{#rollBetween() endureStress 91 95}} + span Your body harvest vigor. If you have the shaken condition card, discard it. Then, take +4 spirit and +1d12 health. + | {{/rollBetween() endureStress 91 95}} + | {{#rollBetween() endureStress 96 100}} + span Your spirit shines brightest against a backdrop of desolation. If you have the shaken condition card, discard it. Then, take +8 spirit. + | {{/rollBetween() endureStress 96 100}} + | {{/endureStress}} diff --git a/Ironcrunch/src/roll-templates/oracles/oracles.styl b/Ironcrunch/src/roll-templates/oracles/oracles.styl new file mode 100644 index 0000000000..e09c586173 --- /dev/null +++ b/Ironcrunch/src/roll-templates/oracles/oracles.styl @@ -0,0 +1,76 @@ +.sheet-rolltemplate-ironcrunch_oracles .sheet-result-row, +.sheet-rolltemplate-ironsworn_oracles .sheet-result-row, +.sheet-rolltemplate-delve_oracles .sheet-result-row + padding 0.5em + +.sheet-rolltemplate-ironcrunch_oracles .sheet-oracle-dice, +.sheet-rolltemplate-ironsworn_oracles .sheet-oracle-dice, +.sheet-rolltemplate-ironcrunch_delve .sheet-oracle-dice, +.sheet-rolltemplate-delve_oracles .sheet-oracle-dice + align-self center + margin-right 0.5em + +.sheet-rolltemplate-ironcrunch_oracles .sheet-oracle-dice span, +.sheet-rolltemplate-ironsworn_oracles .sheet-oracle-dice span, +.sheet-rolltemplate-ironcrunch_delve .sheet-oracle-dice span, +.sheet-rolltemplate-delve_oracles .sheet-oracle-dice span + border 0px !important + +.sheet-rolltemplate-ironcrunch_oracles .sheet-oracle-double-dice, +.sheet-rolltemplate-ironsworn_oracles .sheet-oracle-double-dice, +.sheet-rolltemplate-ironcrunch_delve .sheet-oracle-double-dice, +.sheet-rolltemplate-delve_oracles .sheet-oracle-double-dice + width 5.7em + text-align center + padding 0.1em + +.sheet-rolltemplate-ironcrunch_oracles .sheet-oracle-double-dice span, +.sheet-rolltemplate-ironsworn_oracles .sheet-oracle-double-dice span, +.sheet-rolltemplate-ironcrunch_delve .sheet-oracle-double-dice span, +.sheet-rolltemplate-delve_oracles .sheet-oracle-double-dice span + border 0px !important + +.sheet-rolltemplate-ironcrunch_oracles .sheet-roll-container, +.sheet-rolltemplate-ironsworn_oracles .sheet-roll-container, +.sheet-rolltemplate-delve_oracles .sheet-roll-container + roll-container() + +.sheet-rolltemplate-ironcrunch_oracles .sheet-result-row, +.sheet-rolltemplate-ironsworn_oracles .sheet-result-row, +.sheet-rolltemplate-delve_oracles .sheet-result-row + display flex + justify-content space-between + +.sheet-rolltemplate-ironcrunch_oracles .sheet-roll-outcome, +.sheet-rolltemplate-ironsworn_oracles .sheet-roll-outcome, +.sheet-rolltemplate-delve_oracles .sheet-roll-outcome + background #403f4b + border 1px solid black + +.sheet-rolltemplate-ironcrunch_oracles .inlinerollresult, +.sheet-rolltemplate-ironsworn_oracles .inlinerollresult, +.sheet-rolltemplate-delve_oracles .inlinerollresult + inline-roll() + +.sheet-rolltemplate-ironcrunch_oracles .sheet-roll-outcome, +.sheet-rolltemplate-ironsworn_oracles .sheet-roll-outcome, +.sheet-rolltemplate-delve_oracles .sheet-roll-outcome + background #403f4b + border 1px solid black + +.sheet-rolltemplate-ironcrunch_oracles .sheet-subheader, +.sheet-rolltemplate-ironsworn_oracles .sheet-subheader, +.sheet-rolltemplate-delve_oracles .sheet-subheader + sub-base(#23222b, 0.4em 1em 0.4em 1em) + +.sheet-rolltemplate-ironcrunch_oracles .sheet-subfooter, +.sheet-rolltemplate-ironsworn_oracles .sheet-subfooter, +.sheet-rolltemplate-delve_oracles .sheet-subfooter + sub-base(#403f4b, 0.4em 0em 0.4em 0em) + width 100% + text-align center + +.sheet-rolltemplate-ironcrunch_oracles .sheet-result-body, +.sheet-rolltemplate-ironsworn_oracles .sheet-result-body, +.sheet-rolltemplate-delve_oracles .sheet-result-body + padding 0.4em 1em 0.4em 1em \ No newline at end of file diff --git a/Ironcrunch/src/roll-templates/progress/progress.pug b/Ironcrunch/src/roll-templates/progress/progress.pug new file mode 100644 index 0000000000..b5decd11c5 --- /dev/null +++ b/Ironcrunch/src/roll-templates/progress/progress.pug @@ -0,0 +1,36 @@ +include ../mixins/headers +include ../mixins/body +include ../mixins/outcomes + +rolltemplate.sheet-rolltemplate-ironcrunch_progress + div.sheet-roll-container + | {{#progress}} + +progressHeader + +progressBody + | {{#rollGreater() progress challenge1}} + | {{#rollTotal() challenge1 challenge2}} + +opportunity + | {{/rollTotal() challenge1 challenge2}} + | {{#^rollTotal() challenge1 challenge2}} + | {{#rollGreater() progress challenge2}} + +strongHit + | {{/rollGreater() progress challenge2}} + | {{#^rollGreater() progress challenge2}} + +weakHit + | {{/^rollGreater() progress challenge2}} + | {{/^rollTotal() challenge1 challenge2}} + | {{/rollGreater() progress challenge1}} + | {{#^rollGreater() progress challenge1}} + | {{#rollTotal() challenge1 challenge2}} + +complication + | {{/rollTotal() challenge1 challenge2}} + | {{#^rollTotal() challenge1 challenge2}} + | {{#rollGreater() progress challenge2}} + +weakHit + | {{/rollGreater() progress challenge2}} + | {{#^rollGreater() progress challenge2}} + +miss + | {{/^rollGreater() progress challenge2}} + | {{/^rollTotal() challenge1 challenge2}} + | {{/^rollGreater() progress challenge1}} + | {{/progress}} \ No newline at end of file diff --git a/Ironcrunch/src/roll-templates/template.styl b/Ironcrunch/src/roll-templates/template.styl new file mode 100644 index 0000000000..7c3989fc00 --- /dev/null +++ b/Ironcrunch/src/roll-templates/template.styl @@ -0,0 +1,79 @@ +@import './mixins/outcomes' +@import './mixins/rolls' +@import './oracles/oracles' + +.sheet-rolltemplate-ironcrunch_delve .sheet-rarity-die + border-top 2px solid #000000 + background-color #6a286a + border-bottom 2px solid #000000 + +.sheet-rolltemplate-ironcrunch_moves .sheet-roll-name + name-base(right) + +.sheet-rolltemplate-ironcrunch_progress .sheet-progress-name + name-base(left) + +.sheet-rolltemplate-ironcrunch_moves .sheet-roll-container, +.sheet-rolltemplate-ironcrunch_progress .sheet-roll-container + roll-container() + +.sheet-rolltemplate-ironcrunch_moves .sheet-result-row, +.sheet-rolltemplate-ironcrunch_progress .sheet-result-row + display flex + justify-content space-between + +.sheet-rolltemplate-ironcrunch_moves .inlinerollresult, +.sheet-rolltemplate-ironcrunch_progress .inlinerollresult + inline-roll() + +.sheet-rolltemplate-ironcrunch_progress .sheet-roll-outcome, +.sheet-rolltemplate-ironcrunch_moves .sheet-roll-outcome + background #403f4b + border 1px solid black + +.sheet-rolltemplate-ironcrunch_moves .sheet-subheader, +.sheet-rolltemplate-ironcrunch_progress .sheet-subheader + sub-base(#23222b, 0.4em 1em 0.4em 1em) + +.sheet-rolltemplate-ironcrunch_moves .sheet-subfooter, +.sheet-rolltemplate-ironcrunch_progress .sheet-subfooter + sub-base(#403f4b, 0.4em 0em 0.4em 0em) + width 100% + +.sheet-rolltemplate-ironcrunch_moves .sheet-result-body, +.sheet-rolltemplate-ironcrunch_progress .sheet-result-body + padding 0.4em 1em 0.4em 1em + +.sheet-rolltemplate-ironcrunch_moves .sheet-alert, +.sheet-rolltemplate-ironcrunch_progress .sheet-alert + margin 0.2em 0.3em 0.2em 0.3em + border-radius 1em + width auto + padding 0.5em + +.sheet-rolltemplate-ironcrunch_moves .sheet-opportunity, +.sheet-rolltemplate-ironcrunch_progress .sheet-opportunity + outcome-base(#008a81) + +.sheet-rolltemplate-ironcrunch_moves .sheet-strong-hit, +.sheet-rolltemplate-ironcrunch_progress .sheet-strong-hit + outcome-base(#1db980) + +.sheet-rolltemplate-ironcrunch_moves .sheet-weak-hit, +.sheet-rolltemplate-ironcrunch_progress .sheet-weak-hit + outcome-base(#37efb9) + +.sheet-rolltemplate-ironcrunch_moves .sheet-miss, +.sheet-rolltemplate-ironcrunch_progress .sheet-miss + outcome-base(#ec457d) + +.sheet-rolltemplate-ironcrunch_moves .sheet-complication, +.sheet-rolltemplate-ironcrunch_progress .sheet-complication + outcome-base(#e30d46) + +.sheet-rolltemplate-ironcrunch_moves .userscript-tcat, +.sheet-rolltemplate-ironcrunch_progress .userscript-tcat + font-weight 900 + +.sheet-rolltemplate-ironcrunch_moves .sheet-momentum-title + line-height 22px \ No newline at end of file diff --git a/Ironcrunch/src/workers/Ironcrunch.pug b/Ironcrunch/src/workers/Ironcrunch.pug new file mode 100644 index 0000000000..d33a315a34 --- /dev/null +++ b/Ironcrunch/src/workers/Ironcrunch.pug @@ -0,0 +1,13 @@ +script(type="text/worker") + include ./scripts/ancestry.js + include ./scripts/assets.js + include ./scripts/conditions.js + include ./scripts/equipment.js + include ./scripts/momentum.js + include ./scripts/motivations.js + include ./scripts/moves.js + include ./scripts/oracles.js + include ./scripts/pages.js + include ./scripts/progress.js + include ./scripts/sites.js + include ./scripts/stats.js \ No newline at end of file diff --git a/Ironcrunch/src/workers/scripts/ancestry.js b/Ironcrunch/src/workers/scripts/ancestry.js new file mode 100644 index 0000000000..9eefec926c --- /dev/null +++ b/Ironcrunch/src/workers/scripts/ancestry.js @@ -0,0 +1,325 @@ + +const ancestries = { + 'construct': { + stats: { edge: 2, heart: 0, iron: 4, shadow: 3, wits: 2 }, + aspects: [ 'Gifted', 'Fated', 'Martially trained', 'Versatile', 'Burdened', 'Immune', 'Resistant', 'Valorous' ], + age: { young: null, mature: null } + }, + 'dark dwarf': { + stats: { edge: 1, heart: 1, iron: 4, shadow: 5, wits: 2 }, + aspects: [ 'Adaptable', 'Immune', 'Dark vision', 'Strong', 'Depths denizen', 'Brutal', 'Crafty', 'Resistant' ], + age: { young: 55, mature: 120 } + }, + 'dark elf': { + stats: { edge: 3, heart: 0, iron: 2, shadow: 6, wits: 2 }, + aspects: [ 'Martially trained', 'Adaptable', 'Immune', 'Dark vision', 'Keen senses', 'Tricky', 'Depths denizen', 'Conniving' ], + age: { young: 153, mature: 330 } + }, + 'deep gnome': { + stats: { edge: 1, heart: 1, iron: 3, shadow: 4, wits: 4 }, + aspects: [ 'Lucky', 'Striver', 'Dark vision', 'Keen senses', 'Smart', 'Depths denizen', 'Resistant' ], + age: { young: 55, mature: 120 } + }, + 'dwarf': { + stats: { edge: 1, heart: 2, iron: 4, shadow: 3, wits: 3 }, + aspects: [ 'Martially trained', 'Adaptable', 'Dark vision', 'Strong', 'Depths denizen', 'Crafty', 'Forager', 'Resistant' ], + age: { young: 55, mature: 120 } + }, + 'ebu gogo': { + stats: { edge: 5, heart: 1, iron: 3, shadow: 4, wits: 0 }, + aspects: [ 'Dark vision', 'Keen senses', 'Light-footed', 'Tricky', 'Depths denizen', 'Brutal', 'Forager', 'Valorous' ], + age: { young: 20, mature: 45 } + }, + 'elf': { + stats: { edge: 4, heart: 2, iron: 1, shadow: 3, wits: 3 }, + aspects: [ 'Martially trained', 'Adaptable', 'Immune', 'Keen senses', 'Light-footed', 'Intuitive traveller', 'Sensitive', 'Survivalist' ], + age: { young: 153, mature: 330 } + }, + 'gnome': { + stats: { edge: 0, heart: 4, iron: 2, shadow: 3, wits: 4 }, + aspects: [ 'Lucky', 'Striver', 'Keen senses', 'Smart', 'Inquisitive', 'Charming', 'Cheerful', 'Crafty', 'Resistant' ], + age: { young: 55, mature: 120 } + }, + 'goblin': { + stats: { edge: 4, heart: 1, iron: 1, shadow: 5, wits: 2 }, + aspects: [ 'Martially trained', 'Striver', 'Dark vision', 'Keen senses', 'Light-footed', 'Tricky', 'Conniving', 'Forager', 'Survivalist' ], + age: { young: 15, mature: 36 } + }, + 'half elf': { + stats: { edge: 3, heart: 3, iron: 1, shadow: 3, wits: 3 }, + aspects: [ 'Versatile', 'Keen senses', 'Smart', 'Charming', 'Intuitive traveler', 'Congenial', 'Survivalist' ], + age: { young: 27, mature: 60 } + }, + 'half-ogre': { + stats: { edge: 1, heart: 2, iron: 5, shadow: 4, wits: 1 }, + aspects: [ 'Striver', 'Dark vision', 'Rampager', 'Strong', 'Intimidating', 'Brutal', 'Resistant', 'Valorous' ], + age: { young: 18, mature: 42 } + }, + 'half-orc': { + stats: { edge: 2, heart: 2, iron: 4, shadow: 3, wits: 2 }, + aspects: [ 'Martially trained', 'Adaptable', 'Dark vision', 'Strong', 'Intimidating', 'Brutal', 'Hard to die' ], + age: { young: 18, mature: 42 } + }, + 'half-troll': { + stats: { edge: 2, heart: 3, iron: 4, shadow: 3, wits: 1 }, + aspects: [ 'Naturally armed', 'Striver', 'Dark vision', 'Strong', 'Regenerative', 'Forager', 'Survivalist', 'Resistant', 'Valorous' ], + age: { young: 15, mature: 36 } + }, + 'halfling': { + stats: { edge: 3, heart: 5, iron: 0, shadow: 3, wits: 2 }, + aspects: [ 'Lucky', 'Adaptable', 'Keen senses', 'Light-footed', 'Brave', 'Valorous' ], + age: { young: 27, mature: 60 } + }, + 'hobgoblin': { + stats: { edge: 3, heart: 1, iron: 3, shadow: 4, wits: 2 }, + aspects: [ 'Martially trained', 'Striver', 'Dark vision', 'Keen senses', 'Strong', 'Tricky', 'Intimidating', 'Brutal', 'Resistant' ], + age: { young: 15, mature: 36 } + }, + 'human': { + stats: { edge: 2, heart: 2, iron: 2, shadow: 2, wits: 2 }, + aspects: [ 'High potential', 'Gifted', 'Specialized', 'Fated', 'Versatile', 'Inquisitive', 'Congenial' ], + age: { young: 20, mature: 45 } + }, + 'menehune': { + stats: { edge: 2, heart: 3, iron: 0, shadow: 3, wits: 5 }, + aspects: [ 'Adaptable', 'Dark vision', 'Keen senses', 'Light-footed', 'Smart', 'Intuitive traveller' ], + age: { young: 55, mature: 120 } + }, + 'samsaran': { + stats: { edge: 2, heart: 3, iron: 0, shadow: 3, wits: 5 }, + aspects: [ 'Specialized', 'Fated', 'Striver', 'Smart', 'Hard to die' ], + age: { young: 83, mature: 180 } + }, + 'undead': { + stats: { edge: 2, heart: 1, iron: 2, shadow: 6, wits: 2 }, + aspects: [ 'Fated', 'Striver', 'Burdened', 'Immune', 'Depths denizen', 'Resistant', 'Valorous', 'Hard to die' ], + age: { young: null, mature: null } + }, + 'air sprite': { + stats: {edge: 4, heart: 2, iron: 0, shadow: 5, wits: 2}, + aspects: ['Martially trained', 'Striver', 'Immune', 'Light-footed', 'Tricky', 'Charming', 'Conniving', 'Inquisitive', 'Intuitive traveller', 'Cheerful'], + age: { young: 83, mature: 180 } + }, + 'airborn': { + stats: {edge: 4, heart: 2, iron: 1, shadow: 4, wits: 2}, + aspects: ['Martially trained', 'Striver', 'Immune', 'Light-footed', 'Tricky', 'Elemental kin', 'Intuitive traveller', 'Conniving '], + age: { young: 20, mature: 45 } + }, + 'earth sprite': { + stats: {edge: 2, heart: 2, iron: 4, shadow: 5, wits: 0 }, + aspects: ['Martially trained', 'Immune', 'Crewed', 'Strong', 'Tricky ', 'Intimidating', 'Valorous', 'Hard to die'], + age: { young: 83, mature: 180 } + }, + 'earthborn': { + stats: {edge: 1, heart: 2, iron: 5, shadow: 3, wits: 2}, + aspects: ['Martially trained', 'Striver', 'Immune', 'Strong', 'Elemental kin', 'Resistant', 'Hard to die'], + age: { young: 20, mature: 45 } + }, + 'fire sprite': { + stats: {edge: 2, heart: 4, iron: 2, shadow: 3, wits: 2 }, + aspects: ['Martially trained', 'Immune', 'Crewed', 'Strong', 'Tricky ', 'Intimidating', 'Valorous', 'Hard to die'], + age: { young: 83, mature: 180 } + }, + 'fireborn': { + stats: {edge: 2, heart: 5, iron: 2, shadow: 2, wits: 2 }, + aspects: ['Fated ', 'Immune ', 'Rampager ', 'Brave ', 'Elemental kin', 'Intimidating', 'Brutal'], + age: { young: 20, mature: 45 } + }, + 'water sprite': { + stats: {edge: 3, heart: 2, iron: 1, shadow: 3, wits: 3 }, + aspects: ['Fated ', 'Versatile ', 'Immune ', 'Smart ', 'Charming', 'Conniving', 'Sensitive'], + age: { young: 83, mature: 180 } + }, + 'waterborn': { + stats: {edge: 2, heart: 1, iron: 2, shadow: 3, wits: 5}, + aspects: ['Fated ', 'Versatile ', 'Immune ', 'Smart ', 'Elemental kin'], + age: { young: 20, mature: 45 } + }, + 'amphibian': { + stats: {edge: 3, heart: 2, iron: 2, shadow: 4, wits: 2 }, + aspects: ['Adaptable ','Immune ','Dark vision ','Keen senses ','Tricky','Animal kin','Regenerative'], + age: { young: 15, mature: 36 } + }, + 'apefolk': { + stats: {edge: 3, heart: 2, iron: 4, shadow: 1, wits: 3 }, + aspects: ['Martially trained','Rampager','Light-footed','Strong ','Animal kin','Intimidating','Brutal','Valorous'], + age: { young: 15, mature: 36 } + }, + 'chiropteran': { + stats: {edge: 3, heart: 1, iron: 1, shadow: 6, wits: 2 }, + aspects: ['Naturally armed ','Dark vision ','Keen senses ','Crewed ','Light-footed','Tricky','Animal kin','Valorous'], + age: { young: 20, mature: 45 } + }, + 'elephantine': { + stats: {edge: 0, heart: 3, iron: 4, shadow: 2, wits: 4 }, + aspects: ['Naturally armed ','Rampager ','Keen senses ','Brave ','Strong ','Intuitive traveller ','Animal kin ','Resistant'], + age: { young: 27, mature: 60 } + }, + 'faun': { + stats: {edge: 2, heart: 5, iron: 1, shadow: 2, wits: 3}, + aspects: ['Naturally armed ','Brave ','Smart ','Intuitive traveler ','Animal kin','Charming','Sensitive','Cheerful ','Survivalist'], + age: { young: 20, mature: 45 } + }, + 'feline': { + stats: {edge: 5, heart: 1, iron: 1, shadow: 4, wits: 2}, + aspects: ['Naturally armed ','Dark vision ','Keen senses', 'Light-footed','Tricky','Inquisitive','Intuitive traveller ','Animal kin','Predator','Survivalist'], + age: { young: 20, mature: 45 } + }, + 'hogfolk': { + stats: {edge: 2, heart: 1, iron: 3, shadow: 2, wits: 5 }, + aspects: ['Rampager ','Keen senses ','Strong ','Smart ','Inquisitive ','Animal kin','Forager','Survivalist'], + age: { young: 20, mature: 45 } + }, + 'houndfolk': { + stats: {edge: 2, heart: 4, iron: 2, shadow: 2, wits: 3}, + aspects: ['Naturally armed ','Striver ','Keen senses ','Brave ','Smart','Animal kin','Charming','Intimidating ','Congenial','Cheerful'], + age: { young: 20, mature: 45 } + }, + 'kitsune': { + stats: {edge: 3, heart: 2, iron: 0, shadow: 6, wits: 2 }, + aspects: ['Naturally armed ','Keen senses ','Light-footed ','Tricky ','Animal kin','Conniving','Cheerful','Forager'], + age: { young: 20, mature: 45 } + }, + 'leporine': { + stats: {edge: 3, heart: 5, iron: 1, shadow: 2, wits: 2 }, + aspects: ['Lucky ','Dark vision ','Keen senses ','Light-footed ','Brave','Animal kin','Valorous'], + age: { young: 20, mature: 45 } + }, + 'lizardfolk': { + stats: {edge: 3, heart: 2, iron: 4, shadow: 4, wits: 0}, + aspects: ['Naturally armed ','Immune ','Dark vision', 'Light-footed','Tricky','Animal kin','Regenerative ','Resistant'], + age: { young: 20, mature: 45 } + }, + 'lupine': { + stats: {edge: 5, heart: 0, iron: 3, shadow: 3, wits: 2}, + aspects: ['Naturally armed ','Dark vision ','Keen senses', 'Light-footed','Animal kin','Intimidating','Brutal ','Predator','Valorous'], + age: { young: 20, mature: 45 } + }, + 'minotaur': { + stats: {edge: 2, heart: 0, iron: 5, shadow: 3, wits: 3}, + aspects: ['Naturally armed ','Dark vision ','Rampager ','Strong ','Depths denizen','Animal kin','Intimidating','Brutal ','Hard to die'], + age: { young: 20, mature: 45 } + }, + 'ophidian': { + stats: {edge: 3, heart: 1, iron: 2, shadow: 6, wits: 1 }, + aspects: ['Immune ','Dark vision ','Keen senses ','Light-footed ','Tricky','Animal kin','Conniving','Brutal','Predator'], + age: { young: 27, mature: 60 } + }, + 'owlfolk': { + stats: {edge: 2, heart: 0, iron: 2, shadow: 4, wits: 5 }, + aspects: ['Dark vision ','Keen senses ','Tricky ','Smart', 'Animal kin','Predator','Valorous','Hard to die'], + age: { young: 15, mature: 36 } + }, + 'pantherine': { + stats: {edge: 3, heart: 0, iron: 4, shadow: 4, wits: 2}, + aspects: ['Martially trained ','Dark vision ','Keen senses ','Strong ','Tricky','Animal king','Intimidating','Brutal', 'Predator'], + age: { young: 20, mature: 45 } + }, + 'raccoonian': { + stats: {edge: 3, heart: 2, iron: 0, shadow: 4, wits: 4}, + aspects: ['Immune ','Dark vision ','Light-footed ','Tricky ','Smart ','Inquisitive','Animal kin','Charming','Forager', 'Survivalist'], + age: { young: 20, mature: 45 } + }, + 'raptorfolk': { + stats: {edge: 4, heart: 2, iron: 2, shadow: 1, wits: 4}, + aspects: ['Martially trained ','Keen senses ','Light-footed ','Smart ','Inquisitive','Intuitive traveller','Animal kin ','Charming','Predator','Survivalist'], + age: { young: 15, mature: 36 } + }, + 'rhinofolk': { + stats: {edge: 1, heart: 3, iron: 5, shadow: 2, wits: 2}, + aspects: ['Naturally armed ','Keen senses ','Brave ','Strong ','Animal kin','Brutal','Survivalist','Resistant'], + age: { young: 27, mature: 60 } + }, + 'rodentfolk': { + stats: {edge: 3, heart: 0, iron: 2, shadow: 5, wits: 3}, + aspects: ['Naturally armed ','Dark vision ','Keen senses ','Tricky ','Smart','Inquisitive','Depths denizen','Animal kin ','Forager','Survivalist'], + age: { young: 20, mature: 45 } + }, + 'tengu': { + stats: {edge: 3, heart: 1, iron: 1, shadow: 5, wits: 3}, + aspects: ['Naturally armed ','Light-footed ','Tricky ','Inquisitive ','Animal kin ','Conniving ','Forager ','Survivalist ','Hard to die'], + age: { young: 20, mature: 45 } + }, + 'testudine': { + stats: {edge: 0, heart: 3, iron: 2, shadow: 3, wits: 5}, + aspects: ['Striver ','Brave ','Smart ','Inquisitive ','Animal kin ','Charming','Sensitive','Resistant','Hard to die'], + age: { young: 27, mature: 60 } + }, + 'ursine': { + stats: {edge: 0, heart: 3, iron: 5, shadow: 3, wits: 2}, + aspects: ['Naturally armed ','Immune ','Dark vision ','Keen senses ','Brave ','Strong ','Animal kin ','Intimidating','Resistant'], + age: { young: 20, mature: 45 } + }, + 'vanara': { + stats: {edge: 5, heart: 2, iron: 1, shadow: 3, wits: 2}, + aspects: ['Lucky ','Light-footed ','Tricky','Animal kin ','Charming ','Conniving ','Congenial ','Cheerful ','Valorous'], + age: { young: 20, mature: 45 } + }, +} + +on('change:ancestry', function(values) { + try { + let selectedAncestry = ancestries[values.newValue.toLowerCase()] + setAttrs({ + 'edge': selectedAncestry.stats.edge, + 'heart': selectedAncestry.stats.heart, + 'iron': selectedAncestry.stats.iron, + 'shadow': selectedAncestry.stats.shadow, + 'wits': selectedAncestry.stats.wits + }); + } catch (e) { + console.error('Ancestry does not exist.') + } +}); + +const ageModifiers = { + 'young': { edge: 3, heart: 1, iron: 3, shadow: 2, wits: 1 }, + 'adult': { edge: 2, heart: 2, iron: 2, shadow: 2, wits: 2 }, + 'mature': { edge: 1, heart: 3, iron: 1, shadow: 2, wits: 3 } +} + +on('change:age', function(values) { + try { + const ageValue = values.newValue.toLowerCase() + let selectedAge + if (ageValue == 'young' || ageValue == 'adult' || ageValue == 'mature') { + selectedAge = ageModifiers[values.newValue.toLowerCase()] + updateStats(selectedAge) + } else { + getAttrs(['ancestry'], function(ancestryValue) { + let selectedAncestry = ancestries[ancestryValue.ancestry.toLowerCase()] + if (parseInt(ageValue) <= selectedAncestry.age.young) { + selectedAge = ageModifiers['young'] + updateStats(selectedAge) + } else if (parseInt(ageValue) > selectedAncestry.age.young && parseInt(ageValue) < selectedAncestry.age.mature) { + selectedAge = ageModifiers['adult'] + updateStats(selectedAge) + } else if (parseInt(ageValue) >= selectedAncestry.age.mature) { + selectedAge = ageModifiers['mature'] + updateStats(selectedAge) + } else { + console.error('Age value is not a number.') + } + }) + } + + function updateStats (selectedAge) { + getAttrs(['edge','heart','iron','shadow','wits'], function(values) { + const maxEdge = parseInt(values.edge) + parseInt(selectedAge.edge) + const maxHeart = parseInt(values.heart) + parseInt(selectedAge.heart) + const maxIron = parseInt(values.iron) + parseInt(selectedAge.iron) + const maxShadow = parseInt(values.shadow) + parseInt(selectedAge.shadow) + const maxWits = parseInt(values.wits) + parseInt(selectedAge.wits) + setAttrs({ + 'max_edge': maxEdge, + 'max_heart': maxHeart, + 'max_iron': maxIron, + 'max_shadow': maxShadow, + 'max_wits': maxWits + }); + }); + } + } catch (e) { + console.error('Age value is not supported.') + } +}); \ No newline at end of file diff --git a/Ironcrunch/src/workers/scripts/assets.js b/Ironcrunch/src/workers/scripts/assets.js new file mode 100644 index 0000000000..cba8987272 --- /dev/null +++ b/Ironcrunch/src/workers/scripts/assets.js @@ -0,0 +1,69 @@ +on('change:repeating_assets:assettype', function(values) { + setAttrs({ + ['repeating_assets_Asset' + values.previousValue]: 'off', + ['repeating_assets_Asset' + values.newValue]: 'on' + }); +}); + +on('change:repeating_assets:assetDropdownCompanion', function(values) { + setAttrs({ + ['repeating_assets_AssetCompanionDiv' + values.previousValue]: 'off', + ['repeating_assets_AssetCompanionDiv' + values.newValue]: 'on' + }); +}); + +on('change:repeating_assets:assetDropdownPath', function(values) { + setAttrs({ + ['repeating_assets_AssetPathDiv' + values.previousValue]: 'off', + ['repeating_assets_AssetPathDiv' + values.newValue]: 'on' + }); +}); + +on('change:repeating_assets:assetDropdownCombatTalent', function(values) { + setAttrs({ + ['repeating_assets_AssetCombatTalentDiv' + values.previousValue]: 'off', + ['repeating_assets_AssetCombatTalentDiv' + values.newValue]: 'on' + }); +}); + +on('change:repeating_assets:assetDropdownRitual', function(values) { + setAttrs({ + ['repeating_assets_AssetRitualDiv' + values.previousValue]: 'off', + ['repeating_assets_AssetRitualDiv' + values.newValue]: 'on' + }); +}); + +on('change:repeating_assets:builder-titles', function(values) { + setAttrs({ + ['repeating_assets_builder-titles-' + values.previousValue]: 'off', + ['repeating_assets_builder-titles-' + values.newValue]: 'on' + }); +}); + +on('change:repeating_assets:builder-ability-1', function(values) { + setAttrs({ + ['repeating_assets_builder-ability-1-' + values.previousValue]: 'off', + ['repeating_assets_builder-ability-1-' + values.newValue]: 'on' + }); +}); + +on('change:repeating_assets:builder-ability-2', function(values) { + setAttrs({ + ['repeating_assets_builder-ability-2-' + values.previousValue]: 'off', + ['repeating_assets_builder-ability-2-' + values.newValue]: 'on' + }); +}); + +on('change:repeating_assets:builder-ability-3', function(values) { + setAttrs({ + ['repeating_assets_builder-ability-3-' + values.previousValue]: 'off', + ['repeating_assets_builder-ability-3-' + values.newValue]: 'on' + }); +}); + +on('change:repeating_assets:track-dropdown', function(values) { + setAttrs({ + ['repeating_assets_track-dropdown-' + values.previousValue]: 'off', + ['repeating_assets_track-dropdown-' + values.newValue]: 'on' + }); +}); diff --git a/Ironcrunch/src/workers/scripts/conditions.js b/Ironcrunch/src/workers/scripts/conditions.js new file mode 100644 index 0000000000..acd2120b5b --- /dev/null +++ b/Ironcrunch/src/workers/scripts/conditions.js @@ -0,0 +1,157 @@ +on('change:amnesiac_button', function(eventinfo) { + setAttrs({ + amnesiac: eventinfo.newValue + }); +}); +on('change:amok_button', function(eventinfo) { + setAttrs({ + amok: eventinfo.newValue + }); +}); +on('change:attached_button', function(eventinfo) { + setAttrs({ + attached: eventinfo.newValue + }); +}); +on('change:blinded_button', function(eventinfo) { + setAttrs({ + blinded: eventinfo.newValue + }); +}); +on('change:compulsed_button', function(eventinfo) { + setAttrs({ + compulsed: eventinfo.newValue + }); +}); +on('change:corrupted_button', function(eventinfo) { + setAttrs({ + corrupted: eventinfo.newValue + }); +}); + +on('change:cursed_button', function(eventinfo) { + setAttrs({ + cursed: eventinfo.newValue + }); +}); +on('change:dazed_button', function(eventinfo) { + setAttrs({ + dazed: eventinfo.newValue + }); +}); +on('change:deafened_button', function(eventinfo) { + setAttrs({ + deafened: eventinfo.newValue + }); +}); +on('change:dying_button', function(eventinfo) { + setAttrs({ + dying: eventinfo.newValue + }); +}); +on('change:encumbered_button', function(eventinfo) { + setAttrs({ + encumbered: eventinfo.newValue + }); +}); +on('change:hallucinating_button', function(eventinfo) { + setAttrs({ + hallucinating: eventinfo.newValue + }); +}); +on('change:hyperthermic_button', function(eventinfo) { + setAttrs({ + hyperthermic: eventinfo.newValue + }); +}); +on('change:hypothermic_button', function(eventinfo) { + setAttrs({ + hypothermic: eventinfo.newValue + }); +}); +on('change:maimed_button', function(eventinfo) { + setAttrs({ + maimed: eventinfo.newValue + }); +}); +on('change:mute_button', function(eventinfo) { + setAttrs({ + mute: eventinfo.newValue + }); +}); +on('change:palsied_button', function(eventinfo) { + setAttrs({ + palsied: eventinfo.newValue + }); +}); +on('change:phobiac_button', function(eventinfo) { + setAttrs({ + phobiac: eventinfo.newValue + }); +}); +on('change:poisoned_button', function(eventinfo) { + setAttrs({ + poisoned: eventinfo.newValue + }); +}); +on('change:reeled_button', function(eventinfo) { + setAttrs({ + reeled: eventinfo.newValue + }); +}); +on('change:shaken_button', function(eventinfo) { + setAttrs({ + shaken: eventinfo.newValue + }); +}); +on('change:starved_button', function(eventinfo) { + setAttrs({ + starved: eventinfo.newValue + }); +}); +on('change:stupefied_button', function(eventinfo) { + setAttrs({ + stupefied: eventinfo.newValue + }); +}); +on('change:suffocated_button', function(eventinfo) { + setAttrs({ + suffocated: eventinfo.newValue + }); +}); +on('change:tormented_button', function(eventinfo) { + setAttrs({ + tormented: eventinfo.newValue + }); +}); +on('change:unconscious_button', function(eventinfo) { + setAttrs({ + unconscious: eventinfo.newValue + }); +}); +on('change:unprepared_button', function(eventinfo) { + setAttrs({ + unprepared: eventinfo.newValue + }); +}); +on('change:unsteady_button', function(eventinfo) { + setAttrs({ + unsteady: eventinfo.newValue + }); +}); +on('change:weakened_button', function(eventinfo) { + setAttrs({ + weakened: eventinfo.newValue + }); +}); +on('change:wounded_button', function(eventinfo) { + setAttrs({ + wounded: eventinfo.newValue + }); +}); +on('change:encumbered', function(eventinfo) { + const state = (eventinfo.newValue == 'on') ? '1' : '0' + setAttrs({ + encumbered_enabled: state + }); +}); \ No newline at end of file diff --git a/Ironcrunch/src/workers/scripts/equipment.js b/Ironcrunch/src/workers/scripts/equipment.js new file mode 100644 index 0000000000..86926af353 --- /dev/null +++ b/Ironcrunch/src/workers/scripts/equipment.js @@ -0,0 +1 @@ +// TODO: Adding auto fill for equipment \ No newline at end of file diff --git a/Ironcrunch/src/workers/scripts/momentum.js b/Ironcrunch/src/workers/scripts/momentum.js new file mode 100644 index 0000000000..6dbbbf1165 --- /dev/null +++ b/Ironcrunch/src/workers/scripts/momentum.js @@ -0,0 +1,33 @@ +// Debilities update Momentum MAX and RESET. +on('change:corrupted change:cursed change:maimed change:shaken change:tormented change:unprepared change:wounded', function() { + var numDebilities=0 + getAttrs(["corrupted","cursed", "maimed", "shaken", "tormented", "unprepared", "wounded", "momentum_max", "momentum_reset"], function(values) { + if(values.corrupted == "on") numDebilities=numDebilities+1; + if(values.cursed == "on") numDebilities=numDebilities+1; + if(values.maimed == "on") numDebilities=numDebilities+1; + if(values.shaken == "on") numDebilities=numDebilities+1; + if(values.tormented == "on") numDebilities=numDebilities+1; + if(values.unprepared == "on") numDebilities=numDebilities+1; + if(values.wounded == "on") numDebilities=numDebilities+1; + setAttrs({ momentum_max: (20 - numDebilities)}); + if (numDebilities===0) setAttrs({ momentum_reset: 2}); + if (numDebilities===1) setAttrs({ momentum_reset: 1}); + if (numDebilities>1) setAttrs({ momentum_reset: 0}); + }); +}); + +// Do not allow Momentum to go over MAX. +on('change:momentum change:momentum_max', function() { + getAttrs(["momentum","momentum_max"], function(values) { + if(parseInt(values.momentum) > parseInt(values.momentum_max)) setAttrs({ momentum: parseInt(values.momentum_max)}); + }); +}); + +on('change:momentumBurn', function() { + getAttrs([ "momentum_reset" ], function(values) { + setAttrs({ + momentum: parseInt(values.momentum_reset), + momentumBurn: 'off' + }); + }); +}); \ No newline at end of file diff --git a/Ironcrunch/src/workers/scripts/motivations.js b/Ironcrunch/src/workers/scripts/motivations.js new file mode 100644 index 0000000000..ef5b9fbb95 --- /dev/null +++ b/Ironcrunch/src/workers/scripts/motivations.js @@ -0,0 +1,6 @@ +on('change:repeating_motivations:motivation_select', function(values) { + setAttrs({ + ['repeating_motivations_motivation_' + values.previousValue]: 'off', + ['repeating_motivations_motivation_' + values.newValue]: 'on' + }); +}); \ No newline at end of file diff --git a/Ironcrunch/src/workers/scripts/moves.js b/Ironcrunch/src/workers/scripts/moves.js new file mode 100644 index 0000000000..97ed924fc2 --- /dev/null +++ b/Ironcrunch/src/workers/scripts/moves.js @@ -0,0 +1,125 @@ +const moves = [ + { name: 'Pay the Price', value: 'pay_the_price' }, + { name: 'Ask the Oracle', value: 'ask_the_oracle' }, + { name: 'Burn Momentum', value: 'burn_momentum' }, + { name: 'Make an Effort', value: 'make_an_effort' }, + { name: 'Show Resilience', value: 'show_resilience' }, + { name: 'Find an Opportunity', value: 'find_an_opportunity' }, + { name: 'Reveal a Danger', value: 'reveal_a_danger' }, + { name: 'Manifest Insanity', value: 'manifest_insanity' }, + { name: 'Endure Harm', value: 'endure_harm' }, + { name: 'Endure Stress', value: 'endure_stress' }, + { name: 'Face Death', value: 'face_death' }, + { name: 'Face Desolation', value: 'face_desolation' }, + { name: 'Face a Setback', value: 'face_a_setback' }, + { name: 'Out of Supply', value: 'out_of_supply' }, + { name: 'Take on Overload', value: 'take_on_overload' }, + { name: 'Discover a Site', value: 'discover_a_sight' }, + { name: 'Delve the Depths', value: 'delve_the_depths' }, + { name: 'Check Your Gear', value: 'check_your_gear' }, + { name: 'Locate Your Objective', value: 'locate_your_objective' }, + { name: 'Escape the Depths', value: 'escape_the_depths' }, + { name: 'Face Danger', value: 'face_danger' }, + { name: 'Secure an Advantage', value: 'secure_an_advantage' }, + { name: 'Gather Information', value: 'gather_information' }, + { name: 'Undertake a Journey', value: 'undertake_a_journey' }, + { name: 'Reach Your Destination', value: 'reach_your_destination' }, + { name: 'Strike', value: 'strike' }, + { name: 'Clash', value: 'clash' }, + { name: 'Turn the Tide', value: 'turn_the_tide' }, + { name: 'Inflict Harm', value: 'inflict_harm' }, + { name: 'Foe Inflicts Harm', value: 'foe_inflicts_harm' }, + { name: 'Enter the Fray', value: 'enter_the_fray' }, + { name: 'Battle', value: 'battle' }, + { name: 'End the Fight', value: 'end_the_fight' }, + { name: 'Heal', value: 'heal' }, + { name: 'Hearten', value: 'hearten' }, + { name: 'Patch Equipment', value: 'patch_equipment' }, + { name: 'Resupply', value: 'resupply' }, + { name: 'Make Camp', value: 'make_camp' }, + { name: 'Take a Downtime', value: 'take_a_downtime' }, + { name: 'Swear An Iron Vow', value: 'swear_an_iron_vow' }, + { name: 'Fulfill Your Vow', value: 'fulfill_your_vow' }, + { name: 'Learn From Faults', value: 'learn_from_faults' }, + { name: 'Advance', value: 'advance' }, + { name: 'Trade', value: 'trade' }, + { name: 'Compel', value: 'compel' }, + { name: 'Sojourn', value: 'sojourn' }, + { name: 'Draw the Circle', value: 'draw_the_circle' }, + { name: 'Forge a Bond', value: 'forge_a_bond' }, + { name: 'Test Your Bond', value: 'test_your_bond' }, + { name: 'Write Your Epilogue', value: 'write_your_epilogue' }, + { name: 'Take Conditional Companion', value: 'take_conditional_companion' }, + { name: 'Conditional Companion Acts', value: 'conditional_companion_acts' }, + { name: 'Strengthen Their Loyalty', value: 'strengthen_their_loyalty' }, + { name: 'Conditional Companion Abandons', value: 'conditional_companion_abandons' }, + { name: 'Order Conditional Companion', value: 'order_conditional_companion' }, + { name: 'Not Assist Conditional Companion', value: 'not_assist_conditional_companion' }, + { name: 'Test Their Loyalty', value: 'test_their_loyalty' }, + { name: 'Companion Becomes Unconditional', value: 'companion_becomes_unconditional' } +] + +// Search and Highlight Move +on('change:move_search', function(eventinfo) { + for (var move of moves) { + if (!eventinfo.newValue) { + setAttrs({ + [`${move.value}_highlight`]: 'off' + }); + } else if (move.name.toLocaleLowerCase().includes(eventinfo.newValue.toLocaleLowerCase())) { + setAttrs({ + [`${move.value}_highlight`]: 'on' + }); + } else { + setAttrs({ + [`${move.value}_highlight`]: 'off' + }); + }; + }; +}); + +on('change:clear_search', function() { + setAttrs({ + clear_search: 'off', + move_search: '' + }); + for (var move of moves) { + setAttrs({ + [`${move.value}_highlight`]: 'off', + }); + }; +}); + +on('change:selected_move', function(eventinfo) { + if (eventinfo.newValue !== 'none') { + setAttrs({ + move_view: '2', + move_preview: eventinfo.newValue + }); + } +}); + +on('change:close_move_preview', function() { + setAttrs({ + move_view: '1', + selected_move: 'none' + }); +}); + +on('change:reveal_a_danger_button', function(eventinfo) { + setAttrs({ + reveal_a_danger_tables: eventinfo.newValue + }); +}); + +on('change:find_an_opportunity_button', function(eventinfo) { + setAttrs({ + find_an_opportunity_tables: eventinfo.newValue + }); +}); + +on('change:manifest_insanity_button', function(eventinfo) { + setAttrs({ + manifest_insanity_tables: eventinfo.newValue + }); +}); \ No newline at end of file diff --git a/Ironcrunch/src/workers/scripts/oracles.js b/Ironcrunch/src/workers/scripts/oracles.js new file mode 100644 index 0000000000..b33bcc02fa --- /dev/null +++ b/Ironcrunch/src/workers/scripts/oracles.js @@ -0,0 +1,24 @@ +on('change:oracle_ironsworn_button', function(eventinfo) { + setAttrs({ + oracle_ironsworn: eventinfo.newValue, + }); +}); + +on('change:oracle_ironcrunch_button', function(eventinfo) { + setAttrs({ + oracle_ironcrunch: eventinfo.newValue, + }); +}); + + +on('change:oracle_delve_button', function(eventinfo) { + setAttrs({ + oracle_delve: eventinfo.newValue, + }); +}); + +on('change:oracle_page_button', function(eventinfo) { + setAttrs({ + oracle_page: eventinfo.newValue, + }); +}); \ No newline at end of file diff --git a/Ironcrunch/src/workers/scripts/pages.js b/Ironcrunch/src/workers/scripts/pages.js new file mode 100644 index 0000000000..d71c25391f --- /dev/null +++ b/Ironcrunch/src/workers/scripts/pages.js @@ -0,0 +1,36 @@ +on('change:character_page_button', function(eventinfo) { + setAttrs({ + character_page: eventinfo.newValue + }); +}); + +on('change:companion_page_button', function(eventinfo) { + setAttrs({ + companion_page: eventinfo.newValue + }); +}); + +on('change:shared_page_button', function(eventinfo) { + setAttrs({ + shared_page: eventinfo.newValue + }); +}); + +on('change:mode_button', function(eventinfo) { + setAttrs({ + mode: eventinfo.newValue, + modes_choice: 'off' + }); +}); + +on('change:stat_mode_button', function(eventinfo) { + setAttrs({ + stat_mode: eventinfo.newValue, + }); +}); + +on('change:repeating_bonds:details_button', function(eventinfo) { + setAttrs({ + repeating_bonds_details: eventinfo.newValue, + }); +}); \ No newline at end of file diff --git a/Ironcrunch/src/workers/scripts/progress.js b/Ironcrunch/src/workers/scripts/progress.js new file mode 100644 index 0000000000..a6a108732d --- /dev/null +++ b/Ironcrunch/src/workers/scripts/progress.js @@ -0,0 +1,126 @@ +function getCurrentProgress (progressValues) { + let total = 0 + progressValues.map(x =>{ total = x + total }) + return total +} + +function updateProgressValues (newValue) { + let progressNumber = 0 + for (; newValue > 0;) { + let updateValue = (newValue < 4) ? newValue : 4 + setAttrs({ + ['repeating_progress_progress_' + progressNumber]: updateValue + }) + newValue = newValue - updateValue + progressNumber++ + } +} + +function updateProgress (mark, progressArray) { + let newValue = mark + getCurrentProgress(progressArray) + let finalValue = (newValue < 40) ? newValue : 40 + updateProgressValues(finalValue) +} + +function chosenDifficulty (rank) { + switch (rank) { + case 1: + return 12 + break; + case 2: + return 8 + break; + case 3: + return 4 + break; + case 4: + return 2 + break; + case 5: + return 1 + break; + default: + return null + } +} + +on('change:repeating_progress:mark_progress change:repeating_vow:mark_progress', function(values) { + const type = values.sourceAttribute.match(/repeating_(.*?)_/)[1] + getAttrs([ + `repeating_${type}_rank`, + `repeating_${type}_progress_0`, + `repeating_${type}_progress_1`, + `repeating_${type}_progress_2`, + `repeating_${type}_progress_3`, + `repeating_${type}_progress_4`, + `repeating_${type}_progress_5`, + `repeating_${type}_progress_6`, + `repeating_${type}_progress_7`, + `repeating_${type}_progress_8`, + `repeating_${type}_progress_9` + ], + function(attrValues) { + const progress = [ + parseInt(attrValues[`repeating_${type}_progress_0`]), + parseInt(attrValues[`repeating_${type}_progress_1`]), + parseInt(attrValues[`repeating_${type}_progress_2`]), + parseInt(attrValues[`repeating_${type}_progress_3`]), + parseInt(attrValues[`repeating_${type}_progress_4`]), + parseInt(attrValues[`repeating_${type}_progress_5`]), + parseInt(attrValues[`repeating_${type}_progress_6`]), + parseInt(attrValues[`repeating_${type}_progress_7`]), + parseInt(attrValues[`repeating_${type}_progress_8`]), + parseInt(attrValues[`repeating_${type}_progress_9`]) + ] + const rank = parseInt(attrValues[`repeating_${type}_rank`]) + const mark = chosenDifficulty(rank) + updateProgress(mark, progress) + }); +}); + +on('change:repeating_progress:clear_progress change:repeating_vow:clear_progress', function(values) { + const type = values.sourceAttribute.match(/repeating_(.*?)_/)[1] + setAttrs({ + ['repeating_' + type + '_progress_0']: '0', + ['repeating_' + type + '_progress_1']: '0', + ['repeating_' + type + '_progress_2']: '0', + ['repeating_' + type + '_progress_3']: '0', + ['repeating_' + type + '_progress_4']: '0', + ['repeating_' + type + '_progress_5']: '0', + ['repeating_' + type + '_progress_6']: '0', + ['repeating_' + type + '_progress_7']: '0', + ['repeating_' + type + '_progress_8']: '0', + ['repeating_' + type + '_progress_9']: '0' + }); +}); + +on('change:clear_misses', function() { + setAttrs({ + 'miss-0': '0', + 'miss-1': '0', + 'miss-2': '0', + 'miss-3': '0', + 'miss-4': '0', + 'miss-5': '0', + 'miss-6': '0', + 'miss-7': '0', + 'miss-8': '0', + 'miss-9': '0', + 'clear_misses': 'off' + }); +}); + +on('remove:repeating_vow', function(eventinfo) { + setArchive(eventinfo) +}); + +function setArchive (eventinfo) { + // let vowName = eventinfo.removedInfo[`${eventinfo.sourceAttribute}_vow_name`] + // console.log(vowName) + let vowName = eventinfo.removedInfo[`${eventinfo.sourceAttribute}_vow_name`] + let newrowid = generateRowID(); + let attrs = {}; + attrs['repeating_vowarchive_' + newrowid + '_vow_name'] = vowName + console.log(attrs) + setAttrs(attrs); +} \ No newline at end of file diff --git a/Ironcrunch/src/workers/scripts/sites.js b/Ironcrunch/src/workers/scripts/sites.js new file mode 100644 index 0000000000..78642d7bc3 --- /dev/null +++ b/Ironcrunch/src/workers/scripts/sites.js @@ -0,0 +1,39 @@ +on('change:repeating_sites:site_details_button', function(eventinfo) { + if (eventinfo.newValue == 'on') { + setAttrs({ + repeating_sites_site_details: eventinfo.newValue, + repeating_sites_site_theme_domain: 'off', + repeating_sites_site_theme_domain_button: 'off' + }); + } else { + setAttrs({ + repeating_sites_site_details: eventinfo.newValue, + }); + } +}); + +on('change:repeating_sites:site_theme_domain_button', function(eventinfo) { + if (eventinfo.newValue == 'on') { + setAttrs({ + repeating_sites_site_theme_domain: eventinfo.newValue, + repeating_sites_site_details: 'off', + repeating_sites_site_details_button: 'off' + }); + } else { + setAttrs({ + repeating_sites_site_theme_domain: eventinfo.newValue, + }); + } +}); + +on('change:repeating_sites:theme_select', function(eventinfo) { + setAttrs({ + repeating_sites_theme: eventinfo.newValue, + }); +}); + +on('change:repeating_sites:domain_select', function(eventinfo) { + setAttrs({ + repeating_sites_domain: eventinfo.newValue, + }); +}); \ No newline at end of file diff --git a/Ironcrunch/src/workers/scripts/stats.js b/Ironcrunch/src/workers/scripts/stats.js new file mode 100644 index 0000000000..79e7f347c2 --- /dev/null +++ b/Ironcrunch/src/workers/scripts/stats.js @@ -0,0 +1,103 @@ +var updateMaxHealth = function() { + getAttrs(['iron'], function(v) { + let max_health = (v.iron*4)+16 + setAttrs({ + max_health: max_health + }); + }); +}; + +//Calculate Max Health +on('change:iron', function() { + updateMaxHealth(); +}); + +//Reset Health if set above Max +on('change:health', function(healthChange) { + getAttrs(["max_health"], function(values) { + if (parseInt(healthChange.newValue) > parseInt(values.max_health)) { + setAttrs({health: values.max_health}); + } + }); +}); + +on('change:health_reset', function() { + getAttrs(["max_health"], function(values) { + setAttrs({health: values.max_health}); + }); +}); + +//Cannot increase Health while Wounded +//Health reaching 0 marks Wounded +on('change:health', function(eventinfo) { + getAttrs(["debilWounded"], function(values) { + if(values.debilWounded == "on") { + if (parseInt(eventinfo.newValue) > parseInt(eventinfo.previousValue)) { + setAttrs({health: eventinfo.previousValue}); + } + } + }); +}); + +//Cannot increase Spirit while Shaken +//Spirit reaching 0 marks Shaken +on('change:spirit', function(eventinfo) { + getAttrs(["debilShaken"], function(values) { + if(values.debilShaken == "on") { + if (parseInt(eventinfo.newValue) > parseInt(eventinfo.previousValue)) { + setAttrs({spirit: eventinfo.previousValue}); + } + } + }); +}); + +//Cannot increase Supply while Unprepared +//Supply reaching 0 marks Unprepared +on('change:supply', function(eventinfo) { + getAttrs(["unprepared"], function(values) { + if(values.unprepared == "on") { + if (parseInt(eventinfo.newValue) > parseInt(eventinfo.previousValue)) { + setAttrs({supply: eventinfo.previousValue}); + } + } + }); + if (parseInt(eventinfo.newValue) === 0) setAttrs({unprepared_button: "on"}); +}); + +// Edge sets Speed value +on('change:edge', function(eventinfo) { + setAttrs({speed: speedValues[eventinfo.newValue].full}); +}); + +const speedValues = { + '8': { full: '40ft/20ft. 12m/6m. 8/4', imperial: '40ft/20ft', metric: '12 m/6 m. ', units: '8/4' }, + '7': { full: '40ft/20ft. 12m/6m. 8/4', imperial: '40ft/20ft',metric: '12m/6m. ', units: '8/4' }, + '6': { full: '35ft/15ft. 10.5m/4.5m. 7/3', imperial: '35ft/15ft',metric: '10.5m/4.5m.', units: '7/3' }, + '5': { full: '35ft/15ft. 10.5m/4.5m. 7/3', imperial: '35ft/15ft',metric: '10.5m/4.5m.', units: '7/3' }, + '4': { full: '30ft/15ft. 9m/4.5m. 6/3', imperial: '30ft/15ft',metric: '9m/4.5m.', units: '6/3' }, + '3': { full: '30ft/15ft. 9m/4.5m. 6/3', imperial: '30ft/15ft',metric: '9m/4.5m.', units: '6/3' }, + '2': { full: '25ft/10ft. 7.5m/3m. 5/2', imperial: '25ft/10ft',metric: '7.5m/3m.', units: '5/2' }, + '1': { full: '25ft/10ft. 7.5m/3m. 5/2', imperial: '25ft/10ft',metric: '7.5m/3m.', units: '5/2' }, + '0': { full: '25ft/10ft. 7.5m/3m. 5/2', imperial: '25ft/10ft',metric: '7.5m/3m.', units: '5/2' } +} + +// Heart sets Resilience value +on('change:heart', function(eventinfo) { + let resValue = parseInt(eventinfo.newValue) + 1 + setAttrs({resilience: resValue}); +}); + +// Iron sets Max Load value +on('change:iron', function(eventinfo) { + let loadValue = parseInt(eventinfo.newValue) + 4 + setAttrs({max_load: loadValue}); +}); + +// Setting Encumbered if load is over max +on('change:load', function(eventinfo) { + getAttrs(['max_load'], function(values) { + if (parseInt(eventinfo.newValue) > parseInt(values.max_load)) { + setAttrs({encumbered: 'on'}); + } + }); +}); \ No newline at end of file