diff --git a/.gitignore b/.gitignore index b512c09..34977ee 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -node_modules \ No newline at end of file +node_modules +.idea \ No newline at end of file diff --git a/assets/svgs/d12-solid-hope.svg b/assets/svgs/d12-solid-hope.svg index af1e966..e6c4f52 100644 --- a/assets/svgs/d12-solid-hope.svg +++ b/assets/svgs/d12-solid-hope.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/css/daggerheart.css b/css/daggerheart.css index 01d7a0d..f65d72c 100644 --- a/css/daggerheart.css +++ b/css/daggerheart.css @@ -1,1796 +1,1146 @@ -@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap"); @import url("https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&display=swap"); +@import url("https://fonts.googleapis.com/css2?family=Cabin+Condensed:wght@400;500;600;700&display=swap"); +.text-bold { + font-weight: bold; +} + +.label { + font-size: 12px; + text-transform: uppercase; +} +.label.strong { + font-weight: bold; +} + +.class { + background-color: rgba(155, 29, 32, 0.5215686275); + color: white; +} + +.community { + background-color: rgba(73, 132, 103, 0.5215686275); + color: white; +} + +.ancestry { + background-color: rgba(255, 170, 51, 0.5215686275); + color: white; +} + .arcana { - background-color: #4E276A !important; + background-color: #4E276A; color: white; } .blade { - background-color: #96352C !important; + background-color: #96352C; color: white; } .bone { - background-color: #666769 !important; + background-color: #666769; color: white; } .codex { - background-color: #1F335F !important; + background-color: #1F335F; color: white; } .grace { - background-color: #7A3662 !important; + background-color: #7A3662; color: white; } .midnight { - background-color: #333439 !important; + background-color: #333439; color: white; } .sage { - background-color: #0C6B41 !important; + background-color: #0C6B41; color: white; } .splendor { - background-color: #AF9F40 !important; + background-color: #AF9F40; color: white; } .valor { - background-color: #B97A23 !important; + background-color: #B97A23; color: white; } -/* Global styles */ -.window-app { - font-family: "Roboto", sans-serif; +.flex { + display: flex; } -.rollable:hover, .rollable:focus { - color: #000; - text-shadow: 0 0 10px red; - cursor: pointer; +.flex-grow { + flex-grow: 1; } -.grid, -.grid-2col { - display: grid; - grid-column: span 2/span 2; - grid-template-columns: repeat(2, minmax(0, 1fr)); - gap: 10px; - margin: 10px 0; - padding: 0; +.flex-shrink { + flex-shrink: 0; } -.grid-3col { - grid-column: span 3/span 3; - grid-template-columns: repeat(3, minmax(0, 1fr)); +.items-center { + align-items: center; } -.grid-4col { - grid-column: span 4/span 4; - grid-template-columns: repeat(4, minmax(0, 1fr)); +.relative { + position: relative; } -.grid-5col { - grid-column: span 5/span 5; - grid-template-columns: repeat(5, minmax(0, 1fr)); +.justify-between { + justify-content: space-between; } -.grid-6col { - grid-column: span 6/span 6; - grid-template-columns: repeat(6, minmax(0, 1fr)); +.justify-around { + justify-content: space-around; } -.grid-7col { - grid-column: span 7/span 7; - grid-template-columns: repeat(7, minmax(0, 1fr)); +.justify-center { + justify-content: center; } -.grid-8col { - grid-column: span 8/span 8; - grid-template-columns: repeat(8, minmax(0, 1fr)); +.w-100 { + width: 100%; } -.grid-9col { - grid-column: span 9/span 9; - grid-template-columns: repeat(9, minmax(0, 1fr)); +.row { + flex-direction: row; } -.grid-10col { - grid-column: span 10/span 10; - grid-template-columns: repeat(10, minmax(0, 1fr)); +.column { + flex-direction: column; } -.grid-11col { - grid-column: span 11/span 11; - grid-template-columns: repeat(11, minmax(0, 1fr)); +.self-stretch { + align-self: stretch; + display: flex; + align-items: center; } -.grid-12col { - grid-column: span 12/span 12; - grid-template-columns: repeat(12, minmax(0, 1fr)); +.text-center { + text-align: center; } -.grid-start-2 { - grid-column-start: 2; +.gap-5 { + gap: 5px; } - -.grid-start-3 { - grid-column-start: 3; +.gap-10 { + gap: 10px; } - -.grid-start-4 { - grid-column-start: 4; +.gap-15 { + gap: 15px; } -.grid-start-5 { - grid-column-start: 5; +.p-5 { + padding: 5px; } - -.grid-start-6 { - grid-column-start: 6; +.p-10 { + padding: 10px; } - -.grid-start-7 { - grid-column-start: 7; +.p-15 { + padding: 15px; } -.grid-start-8 { - grid-column-start: 8; +.mb-5 { + margin-bottom: 5px; } - -.grid-start-9 { - grid-column-start: 9; +.mb-10 { + margin-bottom: 10px; } - -.grid-start-10 { - grid-column-start: 10; +.mb-15 { + margin-bottom: 15px; } -.grid-start-11 { - grid-column-start: 11; +.mt-5 { + margin-top: 5px; } - -.grid-start-12 { - grid-column-start: 12; +.mt-10 { + margin-top: 10px; } - -.grid-span-2 { - grid-column-end: span 2; +.mt-15 { + margin-top: 15px; } -.grid-span-3 { - grid-column-end: span 3; +.accordion { + cursor: pointer; + z-index: 10; + position: relative; } - -.grid-span-4 { - grid-column-end: span 4; +.accordion:after { + font-family: "Font Awesome 6 Pro"; + font-size: 14px; + width: 15px; + content: "\f0da"; } - -.grid-span-5 { - grid-column-end: span 5; +.accordion.active:after { + font-family: "Font Awesome 6 Pro"; + content: "\f0d7"; } -.grid-span-6 { - grid-column-end: span 6; +/* Style the accordion panel. Note: hidden by default */ +.accordion-content { + display: none; + overflow: hidden; + padding: 0em 0.25em; } -.grid-span-7 { - grid-column-end: span 7; +.accordion-content.active { + display: block; } -.grid-span-8 { - grid-column-end: span 8; +.badge { + color: white; + background-color: #1B1A1A; + min-width: 80px; + text-align: center; } - -.grid-span-9 { - grid-column-end: span 9; +.badge.class { + background-color: rgba(155, 29, 32, 0.5215686275); + color: #1B1A1A; } - -.grid-span-10 { - grid-column-end: span 10; +.badge.community { + background-color: rgba(73, 132, 103, 0.5215686275); + color: #1B1A1A; } - -.grid-span-11 { - grid-column-end: span 11; +.badge.subclass { + background-color: rgba(153, 70, 54, 0.5215686275); + color: #1B1A1A; } - -.grid-span-12 { - grid-column-end: span 12; +.badge.ancestry { + background-color: rgba(255, 170, 51, 0.5215686275); + color: #1B1A1A; } -.flex-group-center, -.flex-group-left, -.flex-group-right { - justify-content: center; - align-items: center; - text-align: center; +.section { + background-color: #2B226D; + color: white; + padding: 5px; } -.flex-group-left { - justify-content: flex-start; - text-align: left; +.uppercase { + text-transform: uppercase; } -.flex-group-right { - justify-content: flex-end; - text-align: right; +.grid { + display: grid; } -.flexshrink { - flex: 0; +.row-2 { + grid-template-rows: repeat(2, minmax(0, 1fr)); } -.flex-between { - justify-content: space-between; +.col-2 { + grid-template-columns: repeat(2, minmax(0, 1fr)); } -.flexlarge { - flex: 2; +.bg-primary { + background-color: #38227b; + color: white; } - -.align-left { - justify-content: flex-start; - text-align: left; +.bg-card { + background: rgb(217, 216, 214); + border: 1px solid rgb(205, 205, 205); +} +.bg-secondary { + background: #2B226D; + color: white; +} +.bg-white { + background: white; + border: 1px solid rgb(205, 205, 205); } -.align-right { - justify-content: flex-end; - text-align: right; +img.header-image { + object-fit: cover; + object-position: 0% 20%; } -.align-center { - justify-content: center; - text-align: center; +.sheet .item-sheet { + background-color: rgb(217, 216, 214); } -.panel { - background: white; - box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.2705882353); +.item-wrap { + padding: 10px; } -.panel-mb { - margin-bottom: 0.5em; +.item-wrap .item-sidebar { + width: 128px; } -.panel-header { - padding: 0.25em 0.5em; - background-color: #1e3a8a; - color: white; - margin-top: 0px !important; + +.class-sheet .editor .editor-content { + height: 150px; + overflow-y: auto; } -.panel-body { - padding: 0.5em; +.class-sheet .editor .editor-content * { + margin: 2px 0px; + font-size: 12px; + font-family: "Cabin Condensed", sans-serif; } - -.flex-grow { - flex-grow: 1; +.class-sheet .class-wrapper { + height: 100%; + display: grid; + grid: 1fr/200px 1fr; } -.flex-grow select { - width: 100%; +.class-sheet .class-sidebar { + background: #38227b; + color: white; } -.flex-align { - display: flex; - align-items: center; - justify-content: space-between; +select.input { + display: block; + padding: 0px; } - -.vtt { - flex-direction: column; +select.input option { + color: black; } -.dialog .choice-dialog-wrap { - margin-bottom: 0.5em; +textarea.input { + background: none; + font-size: 13px; + line-height: 14px; + font-family: "Oswald"; } -.dialog .window-content { + +.input { background: none; - background-color: #d9d9d9 !important; + font-family: "Oswald"; + gap: 10px; + line-height: 23px; + height: 23px; + padding: 5px; + border-radius: 3px; + border: solid 1px #000; } -.dialog .choice-dialog { - background: white; +.input:focus { + box-shadow: none; + border: solid 1px #38227b; } -.dialog .choice-options { - padding: 0.25em; +.input::placeholder { + color: rgba(243, 243, 243, 0.5); } -.dialog .choice-dialog-select-one { - font-size: 16px; - font-weight: bold; - background: black; - padding: 0.25em; +.input.white { color: white; + border: solid 1px #fff; } - -.daggerheart-ui-hand { - width: 100% !important; - margin-bottom: -5px; - z-index: 1; - display: flex; - overflow-y: hidden; - overflow-x: scroll; - background: rgba(27, 26, 26, 0.5); +.input.ability { + height: 40px; + font-size: 36px; + width: 50px; + height: 40px; } -.daggerheart-ui-hand .open-actor-sheet { - padding: 0.5em; +.input.center { text-align: center; - cursor: pointer; } -.daggerheart-ui-hand .hand-roll { +.input.huge { + height: 36px; + font-size: 24px; display: flex; - flex-direction: column; - text-align: center; - padding: 0.5em; - color: white; - background-color: transparent; - border: 2px solid #F1C770; - cursor: pointer; - border-radius: 0.5em; - transition: 0.2s; -} -.daggerheart-ui-hand .hand-roll:hover { - background-color: #1B1A1A; -} -.daggerheart-ui-hand .hand-roll .fear-die { - color: #f43f5e; + align-items: center; + justify-content: flex-start; } -.daggerheart-ui-hand .hand-roll label { - text-transform: uppercase; - font-weight: bold; - font-family: "Oswald"; - cursor: pointer; +.input.w128 { + width: 128px; } -.daggerheart-ui-hand .ui-rolls { - background: rgba(54, 33, 120, 0.5); - color: white; - position: sticky; - left: 0px; - z-index: 20; - padding: 0.5em; +.input.number { display: flex; + width: 32px; + height: 23px; + text-align: center; flex-direction: column; - gap: 0.5em; + justify-content: center; + align-items: center; } -.daggerheart-ui-hand .ui-card:hover .ui-card-body { - transform: rotateY(180deg); - transition: transform 0.5s; + +.checkbox-container { + display: block; + position: relative; + cursor: pointer; + font-size: 22px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + width: 10px; + height: 10px; +} +.checkbox-container input { + position: absolute; + opacity: 0; + cursor: pointer; + height: 0; + width: 0; } -.daggerheart-ui-hand .ui-cards { - width: max-content !important; - display: flex; - height: 100%; +.checkbox-container .checkmark { + position: absolute; + top: 0; + left: 0; + height: 10px; + width: 10px; + background-color: transparent; + border: 1px solid #fff; } -.daggerheart-ui-hand .ui-card { - position: relative; - display: flex; - flex-direction: column; - width: 150px; - margin: 0.5em; - border-radius: 0.5em; +.checkbox-container .checkmark:after { + content: ""; + position: absolute; + display: none; } -.daggerheart-ui-hand .ui-card-image { - height: 50px; - flex-grow: 1; - object-fit: cover; - object-position: 25% 35%; - border-radius: 0.5em 0.5em 0 0; +.checkbox-container:hover input ~ .checkmark { + background-color: #ccc; } -.daggerheart-ui-hand .ui-card-body { - position: relative; - border-radius: 0.5em 0.5em 0 0; - transition: transform 1s; - transform-style: preserve-3d; +.checkbox-container input:checked ~ .checkmark { + background-color: #fff; } -.daggerheart-ui-hand .ui-card-body .card-front, -.daggerheart-ui-hand .ui-card-body .card-back { - position: absolute; - height: 100%; - width: 100%; - border-radius: 0.5em 0.5em 0 0; +.checkbox-container input:checked ~ .checkmark:after { + display: block; } -.daggerheart-ui-hand .ui-card-body .card-front { - backface-visibility: hidden; - display: flex; - flex-direction: column; - height: 155px; + +.button { + padding: 2px; + cursor: pointer; + transition: 0.2s; + border: 1px solid #1B1A1A; + color: #1B1A1A; } -.daggerheart-ui-hand .ui-card-body .card-back { - background-color: white; - height: 155px; - backface-visibility: hidden; - transform: rotateY(180deg); - padding: 0.25em; - overflow-x: scroll; - font-size: 12px; +.button:hover { + background-color: #1B1A1A; + color: #fff; } -.daggerheart-ui-hand .ui-card-name { - background-color: #334155; +.button.white { + border: 1px solid #fff; color: #fff; - padding: 0.25em; - text-align: center; - font-weight: bold; - text-transform: uppercase; } -.daggerheart-ui-hand .ui-card-domain { - background-color: #eab308; - text-align: center; - font-weight: bold; - padding: 0.25em; - text-transform: uppercase; +.button.min-width { + min-width: 40px; } - -.domain-pill { - padding: 0.25em 0.5em; - text-transform: uppercase; - font-weight: lighter; - border-radius: 0.25em; +.button.center { + text-align: center; } -/* Styles limited to daggerheart sheets */ -.daggerheart { - /* Style the accordion panel. Note: hidden by default */ -} -.daggerheart .item-form { - font-family: "Roboto", sans-serif; +.daggerheart-dice-roll { + font-family: "Oswald", sans-serif; + display: grid; + grid: 1fr/1fr; + align-items: center; + justify-items: center; + margin: 0px auto; + text-align: center; } -.daggerheart .sheet-header { - flex: 0 auto; - overflow: hidden; +.daggerheart-dice-roll .normal-dice-roll { + width: 100%; + height: 100%; display: flex; - flex-direction: row; - flex-wrap: wrap; - justify-content: flex-start; - margin-bottom: 10px; -} -.daggerheart .sheet-header .profile-img { - flex: 0 0 100px; - height: 100px; - margin-right: 10px; -} -.daggerheart .sheet-header .header-fields { - flex: 1; -} -.daggerheart .sheet-header h1.charname { - height: 50px; - padding: 0px; - margin: 5px 0; - border-bottom: 0; + align-items: center; + justify-content: center; } -.daggerheart .sheet-header h1.charname input { - width: 100%; - height: 100%; - margin: 0; +.daggerheart-dice-roll .hope-roll { + background-color: #e4e4e7; + color: #18181b; } -.daggerheart .sheet-tabs { - flex: 0; +.daggerheart-dice-roll .fear-roll { + color: #e4e4e7; + background-color: #18181b; } -.daggerheart .sheet-body, -.daggerheart .sheet-body .tab, -.daggerheart .sheet-body .tab .editor { - height: 100%; +.daggerheart-dice-roll .hope-roll, +.daggerheart-dice-roll .fear-roll { + font-size: 2em; + font-weight: 900; } -.daggerheart .tox .tox-editor-container { - background: #fff; +.daggerheart-dice-roll .total-roll { + font-size: 3em; + font-weight: 900; } -.daggerheart .tox .tox-edit-area { - padding: 0 8px; + +.hope-result { + background: white !important; + color: #18181b !important; + border-radius: 100% !important; + background-image: none !important; } -.daggerheart .resource-label { - font-weight: bold; + +.fear-result { + background: #18181b !important; + color: white !important; + border-radius: 100% !important; + background-image: none !important; } -.daggerheart .items-header { - height: 28px; - margin: 2px 0; - padding: 0; - align-items: center; - background: rgba(0, 0, 0, 0.05); - border: 2px groove #eeede0; + +.winner { font-weight: bold; -} -.daggerheart .items-header > * { - font-size: 14px; + text-transform: uppercase; + font-size: 16px; text-align: center; + background: #223E6D; + color: white; + padding: 0.25em; + font-family: "Oswald", sans-serif; } -.daggerheart .items-header .item-name { + +.show-result { + text-transform: uppercase; + padding: 0.25em; + text-align: center; + font-size: 10px; font-weight: bold; - padding-left: 5px; - text-align: left; - display: flex; -} -.daggerheart .items-list { - list-style: none; - margin: 0; - padding: 0; - overflow-y: auto; - scrollbar-width: thin; - color: #444; -} -.daggerheart .items-list .item-list { - list-style: none; - margin: 0; - padding: 0; -} -.daggerheart .items-list .item-name { - flex: 2; - margin: 0; - overflow: hidden; - font-size: 13px; - text-align: left; - align-items: center; - display: flex; -} -.daggerheart .items-list .item-name h3, -.daggerheart .items-list .item-name h4 { - margin: 0; - white-space: nowrap; - overflow-x: hidden; -} -.daggerheart .items-list .item-controls { - display: flex; - flex: 0 0 100px; - justify-content: flex-end; + cursor: pointer; + font-family: "Oswald", sans-serif; } -.daggerheart .items-list .item-controls a { - font-size: 12px; + +.action-type { + font-family: "Oswald", sans-serif; + font-weight: bold; + text-transform: uppercase; + font-size: 16px; text-align: center; - margin: 0 6px; -} -.daggerheart .items-list .item { - align-items: center; - padding: 0 2px; - border-bottom: 1px solid #c9c7b8; -} -.daggerheart .items-list .item:last-child { - border-bottom: none; -} -.daggerheart .items-list .item .item-name { - color: #191813; -} -.daggerheart .items-list .item .item-name .item-image { - flex: 0 0 30px; - height: 30px; - background-size: 30px; - border: none; - margin-right: 5px; + background: white; + padding: 0.25em; } -.daggerheart .items-list .item-prop { - text-align: center; - border-left: 1px solid #c9c7b8; - border-right: 1px solid #c9c7b8; - font-size: 12px; + +.daggerheart-roll-header { + display: grid; + width: 100%; + grid: 1fr/2fr 1fr; } -.daggerheart .items-list .items-header { - height: 28px; - margin: 2px 0; - padding: 0; - align-items: center; - background: rgba(0, 0, 0, 0.05); - border: 2px groove #eeede0; - font-weight: bold; + +.item-chat-header { + font-size: 16px; + font-family: "Oswald"; + background-color: #38227b; + padding: 2px 5px; + color: #F3F3F3; } -.daggerheart .items-list .items-header > * { - font-size: 12px; - text-align: center; + +.item-chat-body { + font-size: 14px; + font-family: "Cabin Condensed", sans-serif; + background-color: rgb(217, 216, 214); + padding: 5px 5px; } -.daggerheart .items-list .items-header .item-name { - padding-left: 5px; - text-align: left; +.item-chat-body * { + margin: 0px 2px; } -.daggerheart .item-formula { - flex: 0 0 200px; - padding: 0 8px; + +.dialog-input-group { + display: flex; + flex-direction: column; + margin-bottom: 0.5em; } -.daggerheart .inventory-item { +.dialog-input-group .dialog-input { display: flex; align-items: center; justify-content: space-between; - padding: 0.5em; - background-color: white; - margin-bottom: 0.5em; } -.daggerheart .inventory-item-name { +.dialog-input-group .dialog-input .dialog-input-name { + flex-grow: 1; font-weight: bold; - font-size: 16px; -} -.daggerheart .inventory-left { - display: flex; - align-items: center; } -.daggerheart .inventory-left img { - margin-right: 0.5em; - background: linear-gradient(180deg, rgb(27, 26, 26) 0%, rgb(27, 26, 26) 50%, rgb(42, 43, 46) 100%); +.dialog-input-group .dialog-input .dialog-input-mod { + background: #38227b !important; + padding: 0.25em; + width: 8%; + text-align: center; + color: white; + font-weight: bold; } -.daggerheart .inventory-right { + +.duality-dice-msg-container { display: flex; - gap: 0.5em; -} -.daggerheart .domain-stats { - display: grid; - grid: 1fr/3fr 1fr 50px; -} -.daggerheart .domain-stats select { width: 100%; } -.daggerheart .effects .item .effect-source, -.daggerheart .effects .item .effect-duration, -.daggerheart .effects .item .effect-controls { + +.duality-dice-msg-die-spacer { + display: flex; + flex-wrap: wrap; + justify-content: center; + font-weight: bolder; + font-size: x-large; text-align: center; - border-left: 1px solid #c9c7b8; - border-right: 1px solid #c9c7b8; - font-size: 12px; -} -.daggerheart .effects .item .effect-controls { - border: none; -} -.daggerheart .class-sheet-header .class-img { - height: 100px; - object-fit: contain; - object-position: 100% 0; + flex-grow: 1; } -.daggerheart .class-sheet .question-text, .daggerheart .class-sheet .connection-text { - margin-bottom: 0.5em; + +.duality-dice-msg-die-fear { + display: flex; + flex-direction: column; + justify-content: center; + width: 25px; + height: 25px; + margin: 1%; + background-image: url("/systems/daggerheart/assets/svgs/d12-solid-fear.svg"); } -.daggerheart .class-sheet .domains-header { + +.duality-dice-msg-die-hope { display: flex; - align-items: center; - justify-content: space-between; - width: 100%; + flex-direction: column; + justify-content: center; + width: 25px; + height: 25px; + margin: 1%; + background-image: url("/systems/daggerheart/assets/svgs/d12-solid-hope.svg"); } -.daggerheart .class-sheet-input-group { - justify-items: center; - display: grid; - align-items: center; - margin-bottom: 0.5em; + +.duality-dice-msg-die-selected-hope-disadv { + display: flex; + flex-direction: column; + justify-content: center; + width: 25px; + height: 25px; + margin: 1%; + background-image: url("/systems/daggerheart/assets/svgs/d12-solid-hope.svg"); + border: 1px solid rgb(94, 54, 54); + background-color: #9e5353; + border-radius: 25%; + padding: 1%; + width: 25px; + height: 25px; } -.daggerheart .class-sheet-domain-list { - justify-self: start; + +.duality-dice-msg-die-selected-hope-adv { display: flex; - gap: 1em; + flex-direction: column; + justify-content: center; + width: 25px; + height: 25px; + margin: 1%; + background-image: url("/systems/daggerheart/assets/svgs/d12-solid-hope.svg"); + border: 1px solid rgb(50, 86, 53); + background-color: #4f9150; + border-radius: 25%; + padding: 1%; + width: 25px; + height: 25px; } -.daggerheart .class-sheet-domain-list-item { + +.duality-dice-msg-die-crit-success { display: flex; - align-items: center; - gap: 0.25em; + flex-direction: column; + justify-content: center; + width: 25px; + height: 25px; + margin: 1%; + background-image: url("/systems/daggerheart/assets/svgs/d12-solid-crit-success.svg"); } -.daggerheart .class-sheet .hitpoints-stats .combat-stat-item { - width: 25%; + +.duality-dice-msg-die-crit-fail { + display: flex; + flex-direction: column; + justify-content: center; + width: 25px; + height: 25px; + margin: 1%; + background-image: url("/systems/daggerheart/assets/svgs/d12-solid-crit-fail.svg"); } -.daggerheart .class-sheet select { - color: #fff; - background-color: #f43f5e; - border: none; - box-shadow: none !important; + +.duality-dice-msg-resut-text-fear { + text-align: center; + font-weight: bolder; + font-size: medium; + color: rgb(255, 255, 255); + height: fit-content; + width: fit-content; + background: rgba(0, 0, 0, 0.5); + text-shadow: 1px 1px 1px #000; + margin: 0px auto; } -.daggerheart .class-sheet select option { + +.duality-dice-msg-resut-text-hope { + text-align: center; + font-weight: bolder; + font-size: medium; color: black; + height: fit-content; + width: fit-content; + background: #FFF; + margin: 0px auto; + text-shadow: 1px 1px 1px #FFF; } -.daggerheart .class-sheet .delete-domain:hover { - cursor: pointer; - color: #f43f5e; -} -.daggerheart .class-sheet .examples { - display: grid; + +.duality-dice-msg-resut-text-crit-success { + text-align: center; + font-weight: bolder; + font-size: medium; + text-shadow: 1px 1px 1px #fff; + color: black; } -.daggerheart .class-sheet .examples .tox-toolbar__group button:not(button[aria-label=Save]) { - display: none; + +.duality-dice-msg-resut-text-crit-fail { + text-align: center; + font-weight: bolder; + font-size: medium; + text-shadow: 1px 1px 1px #000; + color: white; } -.daggerheart .questions .question input, -.daggerheart .questions .connection input, -.daggerheart .connections .question input, -.daggerheart .connections .connection input { - border: none; - border-bottom: 1px solid #334155; - margin-bottom: 0.5em; - box-shadow: none; + +.vtt { + flex-direction: column; } -.daggerheart .questions .question label, -.daggerheart .questions .connection label, -.daggerheart .connections .question label, -.daggerheart .connections .connection label { - font-size: 12px; - font-weight: bold; + +.daggerheart-ui-hand { + width: 100% !important; + margin-bottom: -5px; + z-index: 1; display: flex; - align-items: center; - justify-content: space-between; + overflow-y: hidden; + overflow-x: scroll; + background: rgba(27, 26, 26, 0.5); } -.daggerheart .question-add, -.daggerheart .question-remove { - padding: 0.25em; +.daggerheart-ui-hand .open-actor-sheet { + padding: 0.5em; + text-align: center; + cursor: pointer; } -.daggerheart .item-display-flex { +.daggerheart-ui-hand .hand-roll { display: flex; - justify-content: space-between; - align-items: center; + flex-direction: column; text-align: center; + padding: 0.5em; + color: white; + background-color: transparent; + border: 2px solid #f3c267; + cursor: pointer; + border-radius: 0.5em; + transition: 0.2s; } -.daggerheart .item-display-flex h2 { - border: none; - margin: 0; - flex-grow: 1; +.daggerheart-ui-hand .hand-roll:hover { + background-color: #1B1A1A; +} +.daggerheart-ui-hand .hand-roll .fear-die { + color: #92140C; } -.daggerheart .top-header { +.daggerheart-ui-hand .hand-roll label { + text-transform: uppercase; + font-weight: bold; + font-family: "Oswald"; + cursor: pointer; +} +.daggerheart-ui-hand .ui-rolls { + background: rgba(56, 34, 123, 0.5); + color: white; + position: sticky; + left: 0px; + z-index: 20; + padding: 0.5em; display: flex; - gap: 1em; + flex-direction: column; + gap: 0.5em; } -.daggerheart .class-sheet-header-fields { - flex-grow: 1; +.daggerheart-ui-hand .ui-card:hover .ui-card-body { + transform: rotateY(180deg); + transition: transform 0.5s; } -.daggerheart .class-sheet-header-fields input { - font-size: 2em; +.daggerheart-ui-hand .ui-cards { + width: max-content !important; + display: flex; height: 100%; } -.daggerheart .edit-mode-change { +.daggerheart-ui-hand .ui-card { + position: relative; display: flex; - gap: 0.25em; - align-items: center; - font-size: 1em; -} -.daggerheart .edit-mode-change label { - font-weight: normal; - font-size: 1em; + flex-direction: column; + width: 150px; + margin: 0.5em; + border-radius: 0.5em; } -.daggerheart .edit-mode-change input { - height: 18px; +.daggerheart-ui-hand .ui-card-image { + height: 50px; + flex-grow: 1; + object-fit: cover; + object-position: 25% 35%; + border-radius: 0.5em 0.5em 0 0; } -.daggerheart .class-sheet-body .editor { - height: 150px !important; +.daggerheart-ui-hand .ui-card-body { + position: relative; + border-radius: 0.5em 0.5em 0 0; + transition: transform 1s; + transform-style: preserve-3d; } -.daggerheart .leveling .header { - grid-column: span 3; - display: grid; - grid: 1fr/repeat(3, 1fr); +.daggerheart-ui-hand .ui-card-body .card-front, +.daggerheart-ui-hand .ui-card-body .card-back { + position: absolute; + height: 100%; + width: 100%; + border-radius: 0.5em 0.5em 0 0; } -.daggerheart .leveling-section { - margin-top: 0.3em; +.daggerheart-ui-hand .ui-card-body .card-front { + backface-visibility: hidden; + display: flex; + flex-direction: column; + height: 155px; } -.daggerheart .leveling .add-tier { +.daggerheart-ui-hand .ui-card-body .card-back { + background-color: white; + height: 155px; + backface-visibility: hidden; + transform: rotateY(180deg); + padding: 0.25em; + overflow-x: scroll; font-size: 12px; - margin: 0.4em; - padding: 0.4em; - background-color: #f43f5e; - color: #fff; - display: inline-block; - cursor: pointer; } -.daggerheart .leveling .tier { - border-right: 1px solid #334155; - background-color: #fff; +.daggerheart-ui-hand .ui-card-name { + background-color: #38227b; + color: #F3F3F3; + padding: 0.25em; + text-align: center; + font-weight: bold; + text-transform: uppercase; } -.daggerheart .leveling .tier-header { +.daggerheart-ui-hand .ui-card-domain { + background-color: rgba(255, 170, 51, 0.5215686275); text-align: center; + font-weight: bold; + padding: 0.25em; + text-transform: uppercase; } -.daggerheart .leveling .tier-level { - font-size: 14px; + +.daggerheart { + font-family: "Oswald"; } -.daggerheart .leveling .tier-input { - flex-grow: 1; +.daggerheart .window-content { + padding: 0; + background: white; } -.daggerheart .leveling .tier-option { - display: flex; - justify-content: space-between; - padding: 0.25em; - gap: 0.5em; - align-items: center; +.daggerheart hr { + border: 1px solid rgba(243, 243, 243, 0.1); + width: 100%; + margin: 3px 0px; + padding: 0px; } -.daggerheart .leveling .tier-bonus { - font-size: 12px; - flex-grow: 1; +.daggerheart hr.black { + border-color: #000; } -.daggerheart .item-to-get-list-item { - background-color: white; - padding: 0.5em; - margin-bottom: 0.5em; - gap: 0.5em; +.daggerheart .editor { + min-height: 50px; } -.daggerheart .item-to-get-list-item input { - flex-grow: 1; +.daggerheart .editor .tox.tox-tinymce { + min-height: 200px; + background: rgb(217, 216, 214); + border: 2px solid rgb(205, 205, 205); } -.daggerheart .starting-items { - display: grid; - grid: 1fr/repeat(3, 1fr); - margin-bottom: 0.5em; - gap: 1em; - text-transform: uppercase; +.daggerheart .editor .tox-sidebar-wrap { + padding: 0px 5px; } -.daggerheart .starting-items div { - padding: 0.5em; - background: linear-gradient(180deg, rgb(27, 26, 26) 0%, rgb(27, 26, 26) 50%, rgb(42, 43, 46) 100%); - color: white; +.daggerheart .editor .white ~ .tox.tox-tinymce { + border: 1px solid white; + background: #F3F3F3; } -.daggerheart .starting-gold-class { - background-color: #362178; - display: flex; - padding: 0.5em; - margin-bottom: 0.5em; +.daggerheart .editor .h150 ~ .tox.tox-tinymce { + min-height: 150px; } -.daggerheart .starting-gold-class label { - flex-grow: 1; - font-size: 1em; - color: white; - font-weight: bold; +.daggerheart .editor .h180 ~ .tox.tox-tinymce { + min-height: 180px; } -.daggerheart .starting-gold-class input { - text-align: center; - width: 40px; +.daggerheart .editor .simple ~ .tox.tox-tinymce .tox-toolbar__primary button[aria-label=Formats], +.daggerheart .editor .simple ~ .tox.tox-tinymce .tox-toolbar__primary button[aria-label="Numbered list"], +.daggerheart .editor .simple ~ .tox.tox-tinymce .tox-toolbar__primary button[aria-label="Insert/edit image"], +.daggerheart .editor .simple ~ .tox.tox-tinymce .tox-toolbar__primary button[aria-label=Table], +.daggerheart .editor .simple ~ .tox.tox-tinymce .tox-toolbar__primary button[aria-label="Horizontal line"], +.daggerheart .editor .simple ~ .tox.tox-tinymce .tox-toolbar__primary button[aria-label="Insert/edit link"], +.daggerheart .editor .simple ~ .tox.tox-tinymce .tox-toolbar__primary button[aria-label="Clear formatting"], +.daggerheart .editor .simple ~ .tox.tox-tinymce .tox-toolbar__primary button[aria-label="Source code"], +.daggerheart .editor .simple ~ .tox.tox-tinymce .tox-toolbar__primary button[aria-label="Bullet list"] { + display: none; } -.daggerheart .exp { - display: flex; - align-items: center; - gap: 1em; - margin: 0.25em 0; +.daggerheart .editor .simple ~ .tox.tox-tinymce .tox-toolbar__primary button[aria-label=Save] { + height: 24px; + width: 24px; + padding: 0px; + margin: 0px; } -.daggerheart .exp-delete { - flex-basis: 5%; - text-align: center; +.daggerheart .layout { + display: grid; + height: 100%; + grid-template: "sidebar" 170px "sidebar" 35px "sidebar" 1fr/220px 1fr; } -.daggerheart .leveling-option { - display: flex; +.daggerheart .layout .sidebar { + grid-area: sidebar; + background-color: #38227b; + color: #fff; align-items: center; - font-size: 12px; - background-color: white; - padding: 0.5em; + gap: 5px; } -.daggerheart .leveling-options { - display: grid; - grid: 1fr/repeat(2, 1fr); - gap: 0.5em; +.daggerheart .layout .header { + background-color: #2B226D; + color: #fff; } -.daggerheart .leveling-tier-description { - font-weight: bold; - font-size: 12px; +.daggerheart .sidebar { + display: flex; + flex-direction: column; + width: 100%; + padding: 5px; +} +.daggerheart .sidebar-image { text-align: center; } -.daggerheart .leveling-bonus { - font-size: 10px; - text-transform: uppercase; +.daggerheart .sidebar-image-src { + border: 1px solid #F3F3F3; } -.daggerheart .weapon-form { - padding: 0.5em; +.daggerheart .sidebar-level { + width: 83px; } -.daggerheart .weapon-input-group { - margin-bottom: 0.5em; +.daggerheart .sidebar-experiences-list { + max-height: 100px; + overflow: auto; +} +.daggerheart .header { + display: flex; + flex-direction: column; + width: 100%; + padding: 5px; } -.daggerheart .weapon-input-group-flex { +.daggerheart .header-name { + padding: 2px 0px; +} +.daggerheart .header-title { display: flex; - gap: 1em; + gap: 5px; } -.daggerheart .weapon-grid { - display: grid; - grid: 1fr/100px 1fr; - gap: 0.5em; +.daggerheart .header-title span { + cursor: pointer; } -.daggerheart .weapon-header { - background-color: white; - padding: 0.5em; +.daggerheart .header-title label { + padding: 2px 4px; } -.daggerheart .equipped .weapon-main-ability { +.daggerheart .navigation-tab { + padding: 5px; +} +.daggerheart .navigation .navigation-item { + width: 90px; + height: 25px; + border: 1px solid #000; + color: #000; + font-size: 14px; + text-align: center; text-transform: uppercase; + transition: all 0.2s; } -.daggerheart .weapon-list-inventory-item { - margin: 0.5em 0; +.daggerheart .navigation .navigation-item:hover { + text-shadow: none; + background-color: #000; + color: #fff; } -.daggerheart .weapon-main { - display: flex; - gap: 0.5em; +.daggerheart .navigation .navigation-item.active { + background-color: #38227b; + border: 1px solid #f3c267; + color: #f3c267; } -.daggerheart .weapon-attributes { - display: flex; - align-items: center; - margin-left: 0.5em; +.daggerheart .content { + padding: 5px; } -.daggerheart .equipped-wrapper { - margin-bottom: 0.5em; +.daggerheart .adversary-content { + grid-area: span 2; + padding: 5px; } -.daggerheart .weapon-main-name { - font-family: "Oswald", sans-serif; - font-size: 14px; - display: flex; - align-items: center; - gap: 0.5em; +.daggerheart .inventory-nav .inventory-nav-item { + width: 100px; + text-align: center; + transition: 0.2s; font-weight: bold; + border-bottom: 1px solid transparent; } -.daggerheart .weapon-description { - color: white; - background: linear-gradient(180deg, rgb(27, 26, 26) 0%, rgb(27, 26, 26) 50%, rgb(42, 43, 46) 100%); +.daggerheart .inventory-nav .inventory-nav-item:hover { + color: #38227b; + text-shadow: none; } -.daggerheart .weapon-description * { - padding: 0.25em; - margin: 0px; +.daggerheart .inventory-nav .inventory-nav-item.active { + border-bottom: 1px solid #38227b; } -.daggerheart .weapon-main-description { - font-size: 10px; - text-transform: uppercase; - font-family: "Oswald", sans-serif; - padding-bottom: 0.25em; +.daggerheart .character-card { + padding: 0px 5px; } -.daggerheart .weapon-main-ability, .daggerheart .weapon-main-damage, .daggerheart .equipped-hit, .daggerheart .equipped-damage { +.daggerheart .character-card-header { + background-color: rgb(217, 216, 214); + border: 2px solid rgb(205, 205, 205); + color: #F3F3F3; font-size: 12px; - text-transform: capitalize; - padding: 0.5em; - font-weight: bold; - border: 1px solid black; - margin-right: 0.5em; - cursor: pointer; - transition: 0.2s; } -.daggerheart .weapon-main-ability:hover, .daggerheart .weapon-main-damage:hover, .daggerheart .equipped-hit:hover, .daggerheart .equipped-damage:hover { - background-color: black; - background: linear-gradient(180deg, rgb(27, 26, 26) 0%, rgb(27, 26, 26) 50%, rgb(42, 43, 46) 100%); - color: white; -} -.daggerheart .weapon-options { - display: flex; - gap: 0.25em; - align-items: center; +.daggerheart .character-card-header-name { + text-transform: uppercase; + color: black; + font-weight: bolder; + padding: 5px; + min-width: 80px; } -.daggerheart .weapon-equip, .daggerheart .armor-equip { - border: 1px solid #3f6212; - color: #3f6212; +.daggerheart .character-card-header-type { + text-transform: uppercase; + padding: 5px; } -.daggerheart .weapon-equip:hover, .daggerheart .armor-equip:hover { - color: white; - background-color: #3f6212; +.daggerheart .character-card-feature { + font-size: 12px; + font-family: "Cabin Condensed", sans-serif; } -.daggerheart .weapon-unequip, .daggerheart .armor-unequip { - border: 1px solid #f43f5e; - color: #f43f5e; +.daggerheart .character-card-roll { + position: relative; + z-index: 100; + padding: 3px; + transition: 0.2s; + color: #1B1A1A; } -.daggerheart .weapon-unequip:hover, .daggerheart .armor-unequip:hover { +.daggerheart .character-card-roll:hover { color: white; - background-color: #f43f5e; + background-color: #1B1A1A; } -.daggerheart .equipped-main { - display: flex; - align-items: center; +.daggerheart .character-card-roll .fas.fa-comment { + margin-top: -1px; } -.daggerheart .equipped-img img { - height: 30px; - margin-right: 0.5em; - background: linear-gradient(180deg, rgb(27, 26, 26) 0%, rgb(27, 26, 26) 50%, rgb(42, 43, 46) 100%); +.daggerheart .domain-card-roll { + position: relative; + z-index: 100; + padding: 3px; + transition: 0.2s; } -.daggerheart .equipped-feature { - background: #362178; - padding: 0.25em; - padding-left: 0.5em; - font-size: 12px; - font-weight: 300; +.daggerheart .domain-card-roll:hover { color: white; + background-color: #1B1A1A; } -.daggerheart .equipped-feature p { - display: inline; +.daggerheart .domain-card-roll .fas.fa-comment { + margin-top: -1px; } -.daggerheart .weapon-equip, -.daggerheart .weapon-unequip, .daggerheart .armor-equip, .daggerheart .armor-unequip { - text-transform: uppercase; - font-weight: bold; - padding: 0.25em 0.5em; - transition: background-color 0.2s; - cursor: pointer; - text-align: center; - margin: 0px 0.5em; - display: flex; - align-items: center; - justify-content: center; - margin: 0px 0.5em; +.daggerheart .domain-card .domain-card-header-name { + font-size: 14px; } -.daggerheart .weapon-equip:hover, -.daggerheart .weapon-unequip:hover, .daggerheart .armor-equip:hover, .daggerheart .armor-unequip:hover { - text-shadow: none; +.daggerheart .domain-card-level { + padding: 0px 5px; } -.daggerheart .equipped { - display: flex; - align-items: center; - justify-content: space-between; - padding: 0.5em; - background-color: white; +.daggerheart .domain-card-domain { + text-transform: uppercase; + padding: 0px 5px; + border-radius: 3px; } -.daggerheart .equipped-name { - font-family: "Oswald", sans-serif; +.daggerheart .domain-card-name { + font-size: 14px; font-weight: bold; - font-size: 18px; -} -.daggerheart .enemy-hp input, -.daggerheart .enemy-stress input, -.daggerheart .enemy-hitpoints input { - width: 50px; - text-align: center; + padding-bottom: 0px; } -.daggerheart .enemy-label { - width: 70px; +.daggerheart .domain-card-type { + font-size: 11px; text-transform: uppercase; - font-size: 16px; } -.daggerheart .enemy-hp, -.daggerheart .enemy-stress, -.daggerheart .enemy-hitpoints { - display: grid; - grid: 1fr/20% 50px 50px 50px; - gap: 0.5em; +.daggerheart .domain-card-recall { + background-color: #1B1A1A; + border: 1px solid #f3c267; + color: #F3F3F3; + padding: 0px 5px; + border-radius: 3px; + display: flex; align-items: center; } -.daggerheart .enemy-header { - display: grid; - grid: 100px 1fr/100px 1fr; - gap: 1em; -} -.daggerheart .enemy-header-description { - grid-row: span 2; -} -.daggerheart .enemy-type select { - width: 99%; +.daggerheart .domain-card-recall i.fas.fa-bolt { + font-size: 10px; + margin-top: 1px; } -.daggerheart .enemy-name { - margin-bottom: 0.5em; +.daggerheart .domain-card-feature { + font-size: 12px; + font-family: "Cabin Condensed", sans-serif; } -.daggerheart .enemy-name-input { - height: 100%; - font-size: 1.5em; +.daggerheart .domain-card-meta { + background-color: rgb(217, 216, 214); + border: 2px solid rgb(205, 205, 205); } -.daggerheart .adversary label { - font-size: 14px; +.daggerheart .inventory-tab.active[data-tab=vault_cards] .checkmark { + background-color: #4CB944 !important; + border: 1px solid #4CB944; } -.daggerheart .adversary h3 { - font-size: 18px; +.daggerheart .inventory-tab.active[data-tab=loadout_cards] .checkmark { + background-color: #92140C !important; + border: 1px solid #92140C; } -.daggerheart .enemy-wrap { - display: grid; - grid: 1fr/2fr 3fr; - gap: 0.5em; -} -.daggerheart .enemy-wrap .enemy-left { - font-size: 16px; - text-transform: capitalize; -} -.daggerheart .enemy-wrap .enemy-left label { - font-size: 16px !important; -} -.daggerheart .enemy-tactics { - margin-bottom: 0.5em; -} -.daggerheart .enemy-weapon-stats { - gap: 0.25em; -} -.daggerheart .feature-item { - padding: 0.25em; - margin-bottom: 0.5em; -} -.daggerheart .enemy-experience { - gap: 0.25em; - margin-bottom: 0.25em; -} -.daggerheart .enemy-experience .enemy-experience-name { - flex-grow: 1; -} -.daggerheart .view-mode { - display: flex; - gap: 0.5em; - align-items: center; -} -.daggerheart .enemy-header-split { - display: grid; - grid: 1fr/3fr 1fr; -} -.daggerheart .gm-rolls .roll-button { - border: 2px solid black; - padding: 0.5em; - display: flex; - align-items: center; - margin-bottom: 0.5em; - background: transparent; - color: black; - cursor: pointer; - text-transform: uppercase; - font-size: 14px; -} -.daggerheart .gm-rolls .roll-button .fa-dice-d20 { - margin-top: 1px; - margin-left: 2px; -} -.daggerheart .gm-rolls .roll-button:hover { - background: linear-gradient(180deg, rgb(27, 26, 26) 0%, rgb(27, 26, 26) 50%, rgb(42, 43, 46) 100%); - color: white; -} -.daggerheart .gm-sheet .gm-resource { - display: flex; - align-items: center; - justify-content: space-between; - padding: 0.5em; -} -.daggerheart .gm-sheet label { - font-size: 1.5em; -} -.daggerheart .gm-sheet input { - width: 100px; - text-align: center; - height: 100%; - font-size: 1.5em; - position: relative; -} -.daggerheart .gm-sheet .incremental { - display: flex; - align-items: center; - gap: 0.5em; -} -.daggerheart *:not(i) { - font-family: "Oswald", sans-serif; -} -.daggerheart .proficiency { - display: flex; - gap: 0.5em; - justify-content: end; - align-items: CENTER; -} -.daggerheart.actor nav.sheet-tabs { - position: relative; - color: white; - border: none; -} -.daggerheart.actor nav.sheet-tabs:after { - border: 1px solid #F1C770; - content: " "; - position: absolute; - width: 100%; - top: 44%; - z-index: 1; -} -.daggerheart.actor nav.sheet-tabs .item { - position: relative; - z-index: 2; - background: linear-gradient(180deg, rgb(27, 26, 26) 0%, rgb(27, 26, 26) 50%, rgb(42, 43, 46) 100%) !important; - background-color: #1B1A1A; - border: 2px solid #f1c770; -} -.daggerheart.actor nav.sheet-tabs .item:hover { - text-shadow: none; - background: #383838; - background-color: #383838; -} -.daggerheart.actor nav.sheet-tabs .item.active { - background: #362178 !important; - box-shadow: none; - text-shadow: none; - color: #F1C770; -} -.daggerheart .accordion { - cursor: pointer; - z-index: 10; - position: relative; -} -.daggerheart .accordion:after { - font-family: "Font Awesome 6 Pro"; - content: "\f0da"; -} -.daggerheart .accordion.active:after { - font-family: "Font Awesome 6 Pro"; - content: "\f0d7"; -} -.daggerheart .accordion-content { - display: none; - overflow: hidden; - padding: 0em 0.25em; -} -.daggerheart .accordion-content.active { - display: block; -} -.daggerheart input, -.daggerheart textarea, -.daggerheart select { - border: 1px solid #d1d5db; - background-color: #f3f4f6; -} -.daggerheart input:focus, -.daggerheart textarea:focus, -.daggerheart select:focus { - box-shadow: 0 0 0px 1px #6b7280 !important; -} -.daggerheart .time-to-roll { - cursor: pointer; - flex: 4; - height: 26px; - display: flex; - align-items: center; - padding-left: 5px; - margin-right: 5px; - background: linear-gradient(180deg, rgb(27, 26, 26) 0%, rgb(27, 26, 26) 50%, rgb(42, 43, 46) 100%); - background-color: #1B1A1A; - transition: background-color 100ms linear; - color: #fff; -} -.daggerheart .time-to-roll:hover { - background: #383838; -} -.daggerheart .edit-mode-on { - color: #3f6212; -} -.daggerheart .edit-mode-off { - color: #f43f5e; -} -.daggerheart .short-input { - width: 30%; - text-align: center; -} -.daggerheart .side-label { - height: 100%; - align-items: center; - font-weight: bold; - display: flex; - justify-content: center; -} -.daggerheart .side-label.rose { - background-color: #f43f5e; - color: #fff; -} -.daggerheart .editor-content { - margin-right: 3em; -} -.daggerheart .char-sheet-description .editor { - height: 230px !important; - border: none !important; -} -.daggerheart .char-sheet-description .editor-content { - border: none !important; -} -.daggerheart .img-wrap, -.daggerheart .profile-img { - background: linear-gradient(180deg, rgb(27, 26, 26) 0%, rgb(27, 26, 26) 50%, rgb(42, 43, 46) 100%); - border: 2px solid #F1C770; - width: 100px; -} -.daggerheart .editor-wrap .editor-edit { - display: block !important; -} -.daggerheart .editor-wrap .editor { - width: 100%; - height: 150px; -} -.daggerheart .card-delete-option { - color: #f43f5e; - font-size: 10px; - text-transform: uppercase; - font-weight: bold; - padding: 0.1em; - transition: 0.4s; -} -.daggerheart .card-delete-option:hover { - background-color: #f43f5e; - color: white; -} -.daggerheart .item-display { - color: white; - background: #222; - display: flex; - align-self: center; - flex-grow: 1; - width: 100%; - justify-content: center; - padding: 4px 0px; - margin-bottom: 3px; -} -.daggerheart .ability { - padding: 0.25rem 0px; -} -.daggerheart .bio-wrap { - padding: 0px 1em 0.5em 1em; - background: linear-gradient(180deg, rgb(27, 26, 26) 0%, rgb(27, 26, 26) 50%, rgb(42, 43, 46) 100%); - border: 2px solid #F1C770; - color: white; -} -.daggerheart .hitpoints { - display: grid; - grid: 1fr 1fr/1fr 1fr 1fr; - gap: 0.25rem; - justify-items: center; - align-items: center; - margin-bottom: 1em; - padding: 0em 0.5em; - padding-bottom: 0.5em; - color: white; - background: linear-gradient(180deg, rgb(27, 26, 26) 0%, rgb(27, 26, 26) 50%, rgb(42, 43, 46) 100%); -} -.daggerheart .hope { - display: flex; - align-items: center; - gap: 0.25rem; - margin: 0.5rem 0px; -} -.daggerheart .health-stress { - display: grid; - grid: 1fr/1fr 1fr 1fr; - gap: 0.25em; - margin: 0.25em 0; -} -.daggerheart .health-stress .take-two { - grid-column: span 2; -} -.daggerheart .meta { +.daggerheart .leveling-tier-options { display: grid; grid: 1fr/1fr 1fr; - width: 100%; -} -.daggerheart .domain { - background-color: #fff; - padding: 0.25rem; - margin: 0.25rem 0; + gap: 10px; + margin-bottom: 10px; } -.daggerheart .tier-description { +.daggerheart .leveling-tier-description { text-align: center; + font-family: "Cabin Condensed", sans-serif; + margin-bottom: 5px; font-size: 12px; - font-weight: bold; -} -.daggerheart .card.panel { - margin: 0.5em 0.25em; -} -.daggerheart .card-header, -.daggerheart .panel-header { - display: flex; -} -.daggerheart .card-name, -.daggerheart .panel-name { - font-size: 16px; - font-weight: bold; - padding: 0.25rem; - padding-left: 8px; - border-bottom: 1px solid black; - text-transform: capitalize; -} -.daggerheart .card-type, -.daggerheart .panel-type { - background-color: #f43f5e; - color: #fff; - padding: 0.25rem; - text-transform: capitalize; - display: flex; - align-items: center; -} -.daggerheart .card-recall, -.daggerheart .panel-recall { - background-color: black; - color: #fff; - padding: 0.25rem; - text-transform: capitalize; - display: flex; - align-items: center; -} -.daggerheart .card-domain, -.daggerheart .panel-domain { - background-color: #8b5cf6; - color: #fff; - padding: 0.25rem; - text-transform: capitalize; - display: flex; - align-items: center; } -.daggerheart .card-body, -.daggerheart .panel-body { +.daggerheart .leveling-tier-level-bonus { font-size: 12px; - color: #18181b; - padding: 0.5em; - padding-left: 8px; + font-family: "Cabin Condensed", sans-serif; } -.daggerheart .card-options, -.daggerheart .panel-options { +.daggerheart .leveling-tier .leveling-option { display: flex; - justify-content: space-between; -} -.daggerheart .card-delete, -.daggerheart .panel-delete { - color: #f43f5e; - cursor: pointer; -} -.daggerheart .card-activate, -.daggerheart .panel-activate { - cursor: pointer; - border: 1px solid #3f6212; - color: #3f6212; - transition: 0.2s; - padding: 0.25rem; - text-transform: uppercase; -} -.daggerheart .card-activate:hover, -.daggerheart .panel-activate:hover { - color: #fff; - background-color: #3f6212; -} -.daggerheart .card-activate.danger, -.daggerheart .panel-activate.danger { - border: 1px solid #f43f5e; - color: #f43f5e; -} -.daggerheart .card-activate.danger:hover, -.daggerheart .panel-activate.danger:hover { - color: #fff; - background-color: #f43f5e; -} -.daggerheart .window-content { - background: none !important; - padding: 0.25rem !important; - background-color: #d9d9d9 !important; -} -.daggerheart .cards-vault h2 { - display: flex; - justify-content: space-between; -} -.daggerheart .section-header { - display: flex; - align-items: center; - background: #222; - text-align: center; - color: #fff; - justify-content: space-between; - padding: 0.5em 0.5em; -} -.daggerheart .section-header h2 { - flex-grow: 1; - text-decoration: none; - border: none; - margin: 0; -} -.daggerheart label { + gap: 5px; font-size: 12px; - font-weight: bold; - margin: 0.25em 0em; - display: block; + text-align: justify; + font-family: "Cabin Condensed", sans-serif; + align-items: flex-start; } -.daggerheart .combat-stat { - display: grid; - grid: 1fr/1fr 1fr 1fr 1fr; - column-gap: 1em; - row-gap: 0.25em; -} -.daggerheart .combat-stat-item { - display: flex; - flex-direction: column; - align-items: center; -} -.daggerheart .combat-stat-item label { - flex-basis: 50%; +.daggerheart .inventory-item { + border: 1px solid black; + margin: 5px 0px; + background-color: rgb(217, 216, 214); + border: 2px solid rgb(205, 205, 205); } -.daggerheart .generic-card { +.daggerheart .inventory-item.weapon { display: grid; - grid: 1fr/1fr 2fr; - margin: 0.5em 0; -} -.daggerheart .traits-tab .trait { - background-color: white; - padding: 1em; - display: flex; - flex-direction: column; - margin: 0.5em; -} -.daggerheart .traits-tab .trait-feature { - font-size: 12px; - flex-grow: 1; - height: 70px; - overflow: auto; -} -.daggerheart .traits-tab .trait-options { - display: flex; - justify-content: end; - margin-top: 0.2em; -} -.daggerheart .traits-tab .delete-trait { - color: #f43f5e; -} -.daggerheart .traits-tab .trait-name { - border-bottom: 2px solid #334155; - padding-bottom: 0.25em; - margin-bottom: 0.25em; - display: flex; + grid: 1fr/40px 2fr 1fr 20px; align-items: center; - justify-content: space-between; } -.daggerheart .traits-tab .trait-name-value { - font-size: 18px; - font-weight: bold; - text-transform: uppercase; - display: flex; - gap: 0.5em; -} -.daggerheart .traits-tab .trait-name-label { - background-color: #eab308; - color: white; - padding: 0.25em; - font-size: 12px; - text-transform: uppercase; - font-weight: 100; -} -.daggerheart .meta-domains-list { - display: flex; - gap: 0.25em; - margin-top: 0.7em; -} -.daggerheart .meta-domains-list .meta-domain { - background-color: #f43f5e; - padding: 0.4em; - text-transform: uppercase; - color: white; -} -.daggerheart .char-sheet .editor-wrap { - width: 100%; -} -.daggerheart .char-sheet.questions-connections { - display: grid; - gap: 0.5em; -} -.daggerheart .char-sheet.looks-description { - display: grid; - grid: 1fr/1fr 2fr; - gap: 0.5em; - margin: 0.5em 0; -} -.daggerheart .money, -.daggerheart .combat-stat { - background: #362178; - display: flex; - padding: 0.5em; - margin: 0.5em 0em; - color: white; - gap: 1em; - text-align: center; +.daggerheart .inventory-item .weapon-name, .daggerheart .inventory-item .item-name { + font-size: 16px; } -.daggerheart .section-title { - font-weight: bold; - font-size: 14px; - margin-bottom: 0.5em; - display: flex; - justify-content: space-between; - text-transform: uppercase; - background: linear-gradient(180deg, rgb(27, 26, 26) 0%, rgb(27, 26, 26) 50%, rgb(42, 43, 46) 100%); - border: 2px solid #F1C770; - color: white; - padding: 0.25em 1em; - text-align: center; - align-items: center; +.daggerheart .inventory-item .weapon-meta, .daggerheart .inventory-item .item-meta { + padding-left: 5px; } - -.winner { - font-weight: bold; - text-transform: uppercase; - font-size: 16px; - text-align: center; - background: linear-gradient(180deg, rgb(27, 26, 26) 0%, rgb(27, 26, 26) 50%, rgb(42, 43, 46) 100%); - color: white; - padding: 0.25em; - font-family: "Oswald", sans-serif; +.daggerheart .inventory-item .weapon-description, .daggerheart .inventory-item .item-description { + font-size: 12px; } - -.show-result { - text-transform: uppercase; - padding: 0.25em; - text-align: center; - font-size: 10px; - font-weight: bold; +.daggerheart .inventory-item .weapon-image, .daggerheart .inventory-item .item-image { + position: relative; cursor: pointer; - font-family: "Oswald", sans-serif; -} - -.action-type { - font-family: "Oswald", sans-serif; - font-weight: bold; - text-transform: uppercase; - font-size: 16px; - text-align: center; - background: white; - padding: 0.25em; + display: block; } - -.weapon-roll-type { - background: none; +.daggerheart .inventory-item .weapon-image:after, .daggerheart .inventory-item .item-image:after { + content: " "; } - -.attack-roll-traits { - text-align: center; - margin-top: -5px; +.daggerheart .inventory-item .weapon-ability, .daggerheart .inventory-item .weapon-damage, .daggerheart .inventory-item .item-ability, .daggerheart .inventory-item .item-damage { + padding: 2px; text-transform: uppercase; + cursor: pointer; } - -.daggerheart-roll-header { - display: grid; - width: 100%; - grid: 1fr/2fr 1fr; +.daggerheart .inventory-item .weapon-ability:hover, .daggerheart .inventory-item .weapon-damage:hover, .daggerheart .inventory-item .item-ability:hover, .daggerheart .inventory-item .item-damage:hover { + background-color: #1B1A1A; + color: #F3F3F3; } - -.daggerheart-dice-roll { - font-family: "Oswald", sans-serif; - display: grid; - grid: 1fr/1fr; - align-items: center; - justify-items: center; +.daggerheart .inventory-item .weapon-status .equip-icon, .daggerheart .inventory-item .item-status .equip-icon { + border-radius: 100%; + width: 14px; + height: 14px; + display: block; margin: 0px auto; - text-align: center; -} -.daggerheart-dice-roll .normal-dice-roll { - width: 100%; - height: 100%; - display: flex; - align-items: center; - justify-content: center; -} -.daggerheart-dice-roll .hope-roll { - background-color: #e4e4e7; - color: #18181b; -} -.daggerheart-dice-roll .fear-roll { - color: #e4e4e7; - background-color: #18181b; -} -.daggerheart-dice-roll .hope-roll, -.daggerheart-dice-roll .fear-roll { - font-size: 2em; - font-weight: 900; -} -.daggerheart-dice-roll .total-roll { - font-size: 3em; - font-weight: 900; -} - -.hope-result { - background: white !important; - color: #18181b !important; - border-radius: 100% !important; - background-image: none !important; + transition: 0.2s; + cursor: pointer; } - -.fear-result { - background: #18181b !important; - color: white !important; - border-radius: 100% !important; - background-image: none !important; +.daggerheart .inventory-item .weapon-status .equip-icon.equip, .daggerheart .inventory-item .item-status .equip-icon.equip { + background-color: transparent; + border: 1px solid #38227b; } - -.dialog-input-group { - display: flex; - flex-direction: column; - margin-bottom: 0.5em; +.daggerheart .inventory-item .weapon-status .equip-icon.equip:hover, .daggerheart .inventory-item .item-status .equip-icon.equip:hover { + background-color: #38227b; } -.dialog-input-group .dialog-input { - display: flex; - align-items: center; - justify-content: space-between; +.daggerheart .inventory-item .weapon-status .equip-icon.unequip, .daggerheart .inventory-item .item-status .equip-icon.unequip { + background-color: #38227b; + border: 1px solid #38227b; } -.dialog-input-group .dialog-input .dialog-input-name { - flex-grow: 1; - font-weight: bold; +.daggerheart .inventory-item .weapon-status .equip-icon.unequip:hover, .daggerheart .inventory-item .item-status .equip-icon.unequip:hover { + border: 1px solid #38227b; + background-color: transparent; } -.dialog-input-group .dialog-input .dialog-input-mod { - background: #f43f5e !important; - padding: 0.25em; - width: 8%; - text-align: center; +.daggerheart .inventory-item .weapon-options, .daggerheart .inventory-item .item-options { + font-size: 12px; + font-family: "Cabin Condensed", sans-serif; + grid-column: 4 span; + background-color: rgba(34, 62, 109, 0.5); color: white; - font-weight: bold; -} - -/*# sourceMappingURL=daggerheart.css.map */ - -/* WOJO Test */ -.duality-dice-msg-container { - display: flex; - width: 100%; -} - -.duality-dice-msg-die-spacer { - display: flex; - flex-wrap: wrap; - justify-content: center; - font-weight: bolder; - font-size: x-large; - text-align: top; - flex-grow: 1; -} - -.duality-dice-msg-die-fear{ - display: flex; - flex-direction: column; - justify-content: center; - width: 25px; - height: 25px; - margin: 1%; - background-image: url("/systems/daggerheart/assets/svgs/d12-solid-fear.svg"); -} - -.duality-dice-msg-die-hope { - display: flex; - flex-direction: column; - justify-content: center; - width: 25px; - height: 25px; - margin: 1%; - background-image: url("/systems/daggerheart/assets/svgs/d12-solid-hope.svg"); -} - -.duality-dice-msg-die-selected-hope-disadv{ - display: flex; - flex-direction: column; - justify-content: center; - width: 25px; - height: 25px; - margin: 1%; - background-image: url("/systems/daggerheart/assets/svgs/d12-solid-hope.svg"); - border: 1px solid rgb(94, 54, 54); - background-color: #9e5353; - border-radius: 25%; - padding: 1%; - width: 25px; - height: 25px; + padding: 4px; } - -.duality-dice-msg-die-selected-hope-adv{ - display: flex; - flex-direction: column; - justify-content: center; - width: 25px; - height: 25px; - margin: 1%; - background-image: url("/systems/daggerheart/assets/svgs/d12-solid-hope.svg"); - border: 1px solid rgb(50, 86, 53); - background-color: #4f9150; - border-radius: 25%; - padding: 1%; - width: 25px; - height: 25px; -} - -.duality-dice-msg-die-crit-success { - display: flex; - flex-direction: column; - justify-content: center; - width: 25px; - height: 25px; - margin: 1%; - background-image: url("/systems/daggerheart/assets/svgs/d12-solid-crit-success.svg"); -} - -.duality-dice-msg-die-crit-fail { - display: flex; - flex-direction: column; - justify-content: center; - width: 25px; - height: 25px; - margin: 1%; - background-image: url("/systems/daggerheart/assets/svgs/d12-solid-crit-fail.svg"); -} - -.duality-dice-msg-resut-text-fear { - -webkit-text-stroke-width: 1px; - -webkit-text-stroke-color: yellow; - text-align: center; - font-weight: bolder; - font-size: medium; - text-shadow: 1cm; - color:rgb(39, 39, 39); -} - -.duality-dice-msg-resut-text-hope { - -webkit-text-stroke-width: 1px; - -webkit-text-stroke-color: black; - text-align: center; - font-weight: bolder; - font-size: medium; - text-shadow: 1cm; - color: rgb(106, 106, 106); -} - -.duality-dice-msg-resut-text-crit-success { - -webkit-text-stroke-width: 1px; - -webkit-text-stroke-color: black; - text-align: center; - font-weight: bolder; - font-size: medium; - text-shadow: 1cm; - color: rgb(18, 111, 0); -} - -.duality-dice-msg-resut-text-crit-fail { - -webkit-text-stroke-width: 1px; - -webkit-text-stroke-color: rgb(112, 0, 0); - text-align: center; - font-weight: bolder; - font-size: medium; - text-shadow: 1cm; - color: red; +.daggerheart *[data-action] { + cursor: pointer; } - +/*# sourceMappingURL=daggerheart.css.map */ diff --git a/css/daggerheart.css.map b/css/daggerheart.css.map index 9270b72..6cdc12e 100644 --- a/css/daggerheart.css.map +++ b/css/daggerheart.css.map @@ -1 +1 @@ -{"version":3,"sourceRoot":"","sources":["../src/scss/daggerheart.scss","../src/scss/utils/_colors.scss","../src/scss/global/_window.scss","../src/scss/utils/_typography.scss","../src/scss/global/_grid.scss","../src/scss/global/_flex.scss","../src/scss/components/_forms.scss","../src/scss/components/_resource.scss","../src/scss/components/_items.scss","../src/scss/utils/_variables.scss","../src/scss/components/_effects.scss","../src/scss/components/_class.scss","../src/scss/components/_exp.scss","../src/scss/components/_leveling.scss","../src/scss/components/_weapons.scss","../src/scss/components/_enemy.scss","../src/scss/components/_gm.scss"],"names":[],"mappings":"AACQ;AACA;ACqCR;EAHE;EAKA;;;AAGF;EARE;EAUA;;;AAGF;EAbE;EAeA;;;AAGF;EAlBE;EAoBA;;;AAGF;EAvBE;EAyBA;;;AAGF;EA5BE;EA8BA;;;AAGF;EAjCE;EAmCA;;;AAGF;EAtCE;EAwCA;;;AAGF;EA3CE;EA6CA;;;ADvEF;AEVA;EACE,aCDa;;;ADKb;EAEE;EACA;EACA;;;AERJ;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAIF;EAAgB;;;AAChB;EAAgB;;;AAChB;EAAgB;;;AAChB;EAAgB;;;AAChB;EAAgB;;;AAChB;EAAgB;;;AAChB;EAAgB;;;AAChB;EAAgB;;;AAChB;EAAiB;;;AACjB;EAAiB;;;AACjB;EAAiB;;;AAEjB;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAgB;;;AAChB;EAAgB;;;AAChB;EAAgB;;;ACnFhB;AAAA;AAAA;EAGE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AL7BF;EACE;EAMA;;AAJA;EACE;;AAKF;EACE;EACA,kBCbG;EDcH;EACA;;AAGF;EACE;;;AAIJ;EACE;;AAEA;EACE;;;AAIJ;EACE;EACA;EACA;;;AAGF;EACE;;;AAIA;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAEE,kBC5FO;;AD+FT;EACE,OCzGC;;AD4GH;EACE;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EAEA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAEA;AAAA;EAEE;EACA;EACA;EACA;;AAGF;EAEE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAMJ;EACE,kBCjME;EDkMF,OC/LE;EDgMF;EACA;EACA;EACA;;AAGF;EACE,kBCtMG;EDuMH;EACA;EACA;EACA;;;AAMN;EACE;EACA;EACA;EACA;;;AAGF;AACA;AA+EE;;AMnTF;EACE,aHDa;;AGIf;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;;AAKN;EACE;;AAGF;AAAA;AAAA;EAGE;;AAIA;EACE,YLhDM;;AKmDR;EACE;;ACpDJ;EACE;;ACAF;EACE;EACA;EACA;EACA;EACA;EACA,QCHc;EDId;;AAEA;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;;AASJ;EACE;EACA;EACA;EACA;EACA;EACA,OP5BM;;AO+BN;EACE;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EAEE;EACA;EACA;;AAKJ;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAKJ;EACE;EACA;EACA;;AAEA;EACE;;AAGF;EACE,OPlFG;;AOoFH;EACE;EACA;EACA;EACA;EACA;;AAKN;EACE;EACA;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA,QC3GY;ED4GZ;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;AAON;EAEE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;;AAEF;EACE;EACA;;AACA;EACE;EACA,YPlIY;;AOsIhB;EACE;EACA;;AAGF;EACE;EACA;;AACA;EACE;;AEnKF;AAAA;AAAA;EAGE;EACA;EACA;EACA;;AAGF;EACE;;ACTA;EACE;EACA;EACA;;AAIJ;EACE;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;;AACA;EACE;EACA;EACA;;AAGJ;EACI;;AAEJ;EACE,OV7BI;EU8BJ,kBVhCG;EUiCH;EACA;;AACA;EACE;;AAIJ;EACE;EACA,OV1CG;;AU6CL;EACE;;AAEE;EACE;;AAUJ;AAAA;AAAA;AAAA;EACE;EACA;EACA;EACA;;AAEF;AAAA;AAAA;AAAA;EACE;EACA;EACA;EACA;EACA;;AAKN;AAAA;EAEE;;AAGF;EACE;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;;AAIJ;EACE;EACA;;AAEF;EACE;;AACA;EACE;EACA;;AAGJ;EACE;EACA;EACA;EACA;;AACA;EACE;EACA;;AAEF;EACE;;AAIF;EACE;;AAKF;EACE;EACA;EACA;;AAEF;EACE;;AAEF;EACE;EACA;EACA;EACA,kBVvIG;EUwIH,OVtII;EUuIJ;EACA;;AAEF;EACE;EACA,kBV5II;;AU6IJ;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;;AAON;EACE;EACA;EACA;EACA;;AACA;EACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;;AACA;EACE;EACA,YV9KY;EU+KZ;;AAIJ;EACE;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;;ACtNJ;EACE;EACA;EACA;EACA;;AAIF;EACE;EACE;;ACVJ;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;;ACtBF;EACE;;AAGF;EACE;;AAEA;EACE;EACA;;AAIJ;EACE;EACA;EACA;;AAGF;EACE;EACA;;AAIA;EACE;;AAKJ;EACE;;AAGF;EACE;EACE;;AAGJ;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EAME;EACA,Yb7Cc;;AauCd;EACE;EACA;;AAOJ;EACE;EACA;EACA;EACA;;AAGF;EACE;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;EACA,YbpEY;EaqEZ;;AAIJ;EACE;EACA;EACA;;AAGF;EACE;EACA,ObvFM;;AayFN;EACE;EACA,kBb3FI;;Aa+FR;EACE;EACA,ObvGK;;AayGL;EACE;EACA,kBb3GG;;Aa+GP;EACE;EACA;;AAGF;EACE;EACA;EACA,Yb3Gc;;Aa8GhB;EACE,YbpGU;EaqGV;EACA;EACA;EACA;EACA;;AACA;EACE;;AAIJ;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EACE;;AAIJ;EAOE;EACA;EACA;EACA;EACA;;AAVA;EACE;EACA;EACA;;ACtKJ;AAAA;AAAA;EAGE;EACA;;AAGF;EACE;EACA;EACA;;AAGF;AAAA;AAAA;EAGE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;;AAIA;EACE;;AAIJ;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;;AACA;EACE;;AAON;EACE;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;;AAIF;EACE;EACA;;AAIA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE,YdvGU;EcwGV;;AC5HJ;EACE;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;;AhB0NF;EACE;;AAGF;EACE;EACA;EACA;EACA;;AAIA;EACE;EAWA;EACA;;AAVA;EACE;EACA;EACA;EACA;EACA;EACA;;AAMF;EACE;EACA;EACA;EACA,kBC7PK;ED8PL;;AAEA;EACE;EACA,YCtPC;EDuPD,kBCvPC;;AD2PL;EACE;EACA;EACA;EACA,OC9PC;;ADmQP;EACE;EACA;EACA;;AAEA;EACE;EAEA;;AAGF;EACE;EACA;;AAKJ;EACE;EACA;EACA;;AAGF;EACE;;AAGF;AAAA;AAAA;EAGE;EACA,kBCzSO;;AD2SP;AAAA;AAAA;EACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YC5TY;ED6TZ,kBChUS;EDiUT;EACA,OCzUI;;AD2UJ;EACE,YCzTK;;AD6TT;EACE,OC7UI;;ADgVN;EACE,OCvVG;;AD0VL;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE,kBCvWC;EDwWD,OCtWE;;AD0WN;EACE;;AAIA;EACE;EACA;;AAGF;EACE;;AAIJ;AAAA;EAEE,YCjXY;EDkXZ;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE,OC5YG;ED6YH;EACA;EACA;EACA;EACA;;AAEA;EACE,kBCpZC;EDqZD;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA,YC/ZY;EDgaZ;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YC9aY;;ADibd;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;EACA;;AAGF;EACE,kBCpdI;EDqdJ;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;;AAOA;AAAA;EACE;;AAGF;AAAA;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;AAAA;EACE,kBCvfC;EDwfD,OCtfE;EDufF;EACA;EACA;EACA;;AAGF;AAAA;EACE;EACA,OC/fE;EDggBF;EACA;EACA;EACA;;AAGF;AAAA;EACE,kBCxgBG;EDygBH,OCxgBE;EDygBF;EACA;EACA;EACA;;AAGF;AAAA;EACE;EACA,OC9gBC;ED+gBD;EACA;;AAGF;AAAA;EACE;EACA;;AAGF;AAAA;EACE,OC9hBC;EDgiBD;;AAGF;AAAA;EACE;EACA;EACA,OChiBE;EDiiBF;EACA;EACA;;AAEA;AAAA;EACE,OC1iBA;ED2iBA,kBCviBA;;AD0iBF;AAAA;EAME;EACA,OCvjBD;;ADijBC;AAAA;EACE,OChjBF;EDijBE,kBCnjBH;;AD4jBL;EACE;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA,OC1kBI;ED2kBJ;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAEA;EAKE;EACA;EACA;;AANA;EACE;;AASN;EACE;EACA;EACA;;AAIA;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE,OC7oBC;;ADgpBH;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE,kBC9pBC;ED+pBD;EACA;EACA;EACA;EACA;;AAKN;EACE;EACA;EACA;;AAEA;EACE,kBCjrBC;EDkrBD;EACA;EACA;;AAKF;EACE;;AAIJ;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EAEA;EACA,YCjtBY;EDktBZ;EACA;EACA;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA,YC/tBc;EDguBd;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AAGF;AAAA;EAEE;EACA;;AAGF;EACE;EACA;;;AAIJ;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA","file":"daggerheart.css"} \ No newline at end of file +{"version":3,"sourceRoot":"","sources":["../src/scss/daggerheart.scss","../src/scss/utils/_typography.scss","../src/scss/utils/_colors.scss","../src/scss/utils/_flex.scss","../src/scss/utils/_helpers.scss","../src/scss/components/_items.scss","../src/scss/components/_forms.scss","../src/scss/components/_buttons.scss","../src/scss/components/_rolls.scss","../src/scss/components/_dialog.scss","../src/scss/components/_dice.scss","../src/scss/components/_hand.scss","../src/scss/utils/_reset.scss","../src/scss/utils/_editor.scss","../src/scss/components/_layout.scss","../src/scss/components/actor/_sidebar.scss","../src/scss/utils/_variables.scss","../src/scss/components/actor/_header.scss","../src/scss/components/actor/_navigation.scss","../src/scss/components/actor/_content.scss","../src/scss/components/actor/_cards.scss","../src/scss/components/actor/_leveling.scss","../src/scss/components/actor/_inventory.scss"],"names":[],"mappings":"AAAQ;AACA;ACER;EACE;;;AAGF;EACE;EACA;;AACA;EACE;;;ACSJ;EACE,kBARW;EASX;;;AAEF;EACE,kBAXe;EAYf;;;AAGF;EACE,kBAfS;EAgBT;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AC5EF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIA;EACE;;;AAIJ;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;ACjDF;EACE;;;AAIA;EACE;;AAGF;EACE;;AAGF;EACE;;;AAKF;EACE;;AAGF;EACE;;AAGF;EACE;;;AAKF;EACE;;AAGF;EACE;;AAGF;EACE;;;AAKF;EACE;;AAGF;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;;;AAIJ;AACA;EACE;EACA;EACA;;;AAGF;EACE;;;AAIF;EACE;EACA,kBFjFK;EEkFL;EACA;;AAEA;EACE,kBFpFS;EEqFT,OFvFG;;AE0FL;EACE,kBFxFa;EEyFb,OF5FG;;AE+FL;EACE,kBF3FO;EE4FP,OFjGG;;AEoGL;EACE,kBFjGO;EEkGP,OFtGG;;;AE0GP;EACE,kBFrHU;EEsHV;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAIA;EACE,kBF7IM;EE8IN;;AAEF;EACE,YFhIK;EEiIL;;AAEF;EACE,YFpJQ;EEqJR;;AAEF;EACE;EACA;;;AAIJ;EACE;EACA;;;AC/JA;EACE,kBHeK;;;AGZT;EACE;;AAEE;EACE;;;AAKJ;EACE;EACA;;AACA;EACE;EACA;EACA,aJnBY;;AIuBd;EACE;EACA;EACA;;AAGF;EACE,YH/BI;EGgCJ;;;AChCN;EACE;EACA;;AACA;EACE;;;AAIJ;EACE;EACA;EACA;EACA,aLZa;;;AKef;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAIJ;EACE;;AAGF;EACE,kBJ9GU;;AIiHZ;EACE;;;ACtHJ;EACE;EACA;EACA;EACA;EACA,OLMK;;AKLL;EACE,kBLIG;EKHH,OLJU;;AKOZ;EACE;EACA,OLTU;;AKYZ;EACE;;AAGF;EACE;;;ACrBJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AAGF;AAAA;EAEE;EACA;;AAGF;EACE;EACA;;;AAIJ;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA,YNzDc;EM0Dd;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA,aP7Fa;EO8Fb,kBN9FQ;EM+FR;EACA,ON3FM;;;AM8FR;EACE;EACA,aPpGgB;EOqGhB,kBNrFO;EMsFP;;AACA;EACE;;;ACzGJ;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;ACrBN;EACI;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AC5HJ;EACE;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAEE,kBTvBC;;AS0BH;EACE,OT7BG;;ASgCL;EACE;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EAEA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAEA;AAAA;EAEE;EACA;EACA;EACA;;AAGF;EAEE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAMJ;EACE,kBT7HI;ES8HJ,OTzHE;ES0HF;EACA;EACA;EACA;;AAGF;EACE,kBTvHK;ESwHL;EACA;EACA;EACA;;;AX1HN;EAeE,aC/Ba;;AWAf;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;;AACA;EACE,cVLI;;AWNR;EACE;;AACA;EACE;EACA,YXaK;EWZL;;AAGF;EACE;;AAGF;EACE;EACA,YXTI;;AWYN;EACE;;AAGF;EACE;;AAME;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EASE;;AAGF;EACE;EACA;EACA;EACA;;AC5CR;EACE;EACA;EACA,eACE;;AAIF;EACE;EACA,kBZVM;EYWN,OZPU;EYSV;EACA;;AAGF;EACE,kBZjBQ;EYkBR,OZfU;;AaJd;EACE;EACA;EACA;EACA,SCJgB;;ADMhB;EACE;;AAEA;EACE;;AAIJ;EACE;;AAIA;EACE;EACA;;AErBN;EACE;EACA;EACA;EACA,SDJgB;;ACKhB;EACE;;AAEF;EACE;EACA;;AACA;EACE;;AAEF;EACE;;ACdJ;EACE,SFDE;;AEIJ;EACE;EACA;EACA;EACA,OhBHI;EgBIJ;EACA;EACA;EACA;;AACA;EACE;EACA,kBhBVE;EgBWF,OhBbQ;;AgBeV;EACE,kBhBpBI;EgBqBJ;EACA,OhBnBG;;AiBHT;EACE;;AAGF;EACE;EACA,SHLI;;AGSJ;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE,OjBlBI;EiBmBJ;;AAGF;EACE;;ACvBN;EACE;;AAEA;EACE,kBlBaK;EkBZL;EACA,OlBDI;EkBGJ;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAIF;EACE;EACA;;AAIJ;EACE;EACA,anB1Bc;;AmB6BhB;EACE;EACA;EACA;EACA;EACA,OlBxBG;;AkByBH;EACE;EACA,kBlB3BC;;AkB8BH;EACE;;AAOJ;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA,kBlB9CC;;AkBiDH;EACE;;AAIJ;EACE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE,kBlBhFG;EkBiFH;EACA,OlBxFI;EkByFJ;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAIJ;EACE;EACA,anB1Gc;;AmB6GhB;EACE,kBlB9FK;EkB+FL;;AAMA;EACE;EACA;;AAKF;EACE;EACA;;AC9HJ;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA,apBTc;EoBUd;EACA;;AAGF;EACE;EACA,apBhBc;;AoBmBhB;EACE;EACA;EACA;EACA;EACA,apBxBc;EoByBd;;AC1BJ;EACE;EACA;EACA,kBpBcO;EoBbP;;AAEA;EACE;EACA;EACA;;AAIA;EACE;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;;AACA;EACE;;AAOJ;EAEE;EACA;EACA;;AACA;EACE,kBpBhCD;EoBiCC,OpBvCA;;AoB2CF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;;AAEA;EACE,kBpB7DF;;AoBgEF;EACE,kBpBjEA;EoBkEA;;AAEA;EACE;EACA;;AAMR;EACE;EACA,arB7EY;EqB8EZ;EACA;EACA;EACA;;AtBjDJ;EACE","file":"daggerheart.css"} \ No newline at end of file diff --git a/module/daggerheart.mjs b/module/daggerheart.mjs index 2ec4652..7c4e51c 100644 --- a/module/daggerheart.mjs +++ b/module/daggerheart.mjs @@ -2,14 +2,17 @@ import { DaggerHeartActor } from "./documents/actor.mjs"; import { DaggerHeartItem } from "./documents/item.mjs"; // Import sheet classes. -import { DaggerHeartActorSheet } from "./sheets/actor-sheet.mjs"; -import { DaggerHeartItemSheet } from "./sheets/item-sheet.mjs"; +import { DaggerHeartCharacterSheet } from "./sheets/actor/character-sheet.mjs"; +import { DaggerHeartItemSheet } from "./sheets/items/item-sheet.mjs"; import { DaggerHeartHandSheet } from "./sheets/hand-sheet.mjs"; // Import helper/utility classes and constants. import { preloadHandlebarsTemplates } from "./helpers/templates.mjs"; import { DAGGERHEART } from "./helpers/config.mjs"; // Import DataModel classes import * as models from "./data/_module.mjs"; +import { DaggerHeartAdversarySheet } from "./sheets/actor/adversary-sheet.mjs"; +import { DaggerHeartGMSheet } from "./sheets/actor/gm-sheet.mjs"; +import { DaggerHeartClassSheet } from './sheets/items/class-sheet.mjs' /* -------------------------------------------- */ /* Init Hook */ @@ -66,8 +69,19 @@ Hooks.once("init", function () { // Register sheet application classes Actors.unregisterSheet("core", ActorSheet); - Actors.registerSheet("daggerheart", DaggerHeartActorSheet, { + Actors.registerSheet("daggerheart", DaggerHeartCharacterSheet, { makeDefault: true, + types: ["character"], + label: "DAGGERHEART.SheetLabels.Actor", + }); + + Actors.registerSheet("daggerheart", DaggerHeartAdversarySheet, { + types: ["adversary"], + label: "DAGGERHEART.SheetLabels.Actor", + }); + + Actors.registerSheet("daggerheart", DaggerHeartGMSheet, { + types: ["gm"], label: "DAGGERHEART.SheetLabels.Actor", }); Items.unregisterSheet("core", ItemSheet); @@ -76,6 +90,11 @@ Hooks.once("init", function () { label: "DAGGERHEART.SheetLabels.Item", }); + Items.registerSheet("daggerheart", DaggerHeartClassSheet, { + types: ["class"], + label: "DAGGERHEART.SheetLabels.Item", + }); + // Preload Handlebars templates. return preloadHandlebarsTemplates(); }); @@ -89,10 +108,43 @@ Handlebars.registerHelper("toLowerCase", function (str) { return str.toLowerCase(); }); +Handlebars.registerHelper("checkbox", function (name, checked) { + return ` + + `; +}); + +Handlebars.registerHelper("action", function (context) { + const { action, ...options } = context.hash; + + const dataString = []; + + if (!action) { + return ""; + } + + dataString.push(`data-action="${action}"`); + + Object.keys(options).forEach((key) => { + if (options[key]) { + dataString.push(`data-${key}="${options[key]}"`); + } + }); + + return dataString.join(" "); +}); + Handlebars.registerHelper("ternary", function (cond, v1, v2) { return cond ? v1 : v2; }); +Handlebars.registerHelper("icon", function (icon) { + return ``; +}); + Handlebars.registerHelper("concat", function () { var outStr = ""; for (var arg in arguments) { @@ -102,6 +154,17 @@ Handlebars.registerHelper("concat", function () { } return outStr; }); + +Handlebars.registerHelper("get", function (item, name) { + if (!item) { + return ""; + } + if (item[name]) { + return item[name]; + } + + return ""; +}); /* -------------------------------------------- */ /* Ready Hook */ /* -------------------------------------------- */ diff --git a/module/data/card.mjs b/module/data/card.mjs index 1d81149..49fdf37 100644 --- a/module/data/card.mjs +++ b/module/data/card.mjs @@ -1,3 +1,5 @@ +import DaggerHeartFeature from "./feature.mjs"; + export default class DaggerHeartCard extends foundry.abstract.TypeDataModel { static defineSchema() { const fields = foundry.data.fields; @@ -11,6 +13,17 @@ export default class DaggerHeartCard extends foundry.abstract.TypeDataModel { initial: "", }); + schema.cardFeatures = new fields.ArrayField( + new fields.SchemaField({ + id: new fields.StringField({ + required: true, + immutable: true, + }), + name: new fields.StringField(), + description: new fields.StringField(), + }) + ); + return schema; } } diff --git a/module/data/character.mjs b/module/data/character.mjs index 3f089bc..f391f38 100644 --- a/module/data/character.mjs +++ b/module/data/character.mjs @@ -1,89 +1,56 @@ -import DaggerHeartActorBase from "./actor-base.mjs"; +import DaggerHeartActorBase from './actor-base.mjs' +import DaggerHeartClass from './class.mjs' export default class DaggerHeartCharacter extends DaggerHeartActorBase { - static defineSchema() { - const fields = foundry.data.fields; - const requiredInteger = { required: true, nullable: false, integer: true }; - const schema = super.defineSchema(); + static defineSchema () { + const fields = foundry.data.fields + const requiredInteger = { required: true, nullable: false, integer: true } + const schema = super.defineSchema() schema.attributes = new fields.SchemaField({ level: new fields.SchemaField({ value: new fields.NumberField({ ...requiredInteger, initial: 1 }), }), - }); + }) schema.looks = new fields.SchemaField({ - clothes: new fields.StringField({ initial: "" }), - eyes: new fields.StringField({ initial: "" }), - body: new fields.StringField({ initial: "" }), - skin: new fields.StringField({ initial: "" }), - attitude: new fields.StringField({ initial: "" }), - }); - + clothes: new fields.StringField({ initial: '' }), + eyes: new fields.StringField({ initial: '' }), + body: new fields.StringField({ initial: '' }), + skin: new fields.StringField({ initial: '' }), + attitude: new fields.StringField({ initial: '' }), + }) + + schema.class = new fields.EmbeddedDataField(DaggerHeartClass) schema.wallet = new fields.SchemaField({ coins: new fields.NumberField({ initial: 0, integer: true }), handful: new fields.NumberField({ initial: 0, integer: true }), bags: new fields.NumberField({ initial: 0, integer: true }), chest: new fields.NumberField({ initial: 0, integer: true }), - }); + }) schema.hitpoints = new fields.SchemaField({ minor: new fields.NumberField({ initial: 0, integer: true }), major: new fields.NumberField({ initial: 0, integer: true }), severe: new fields.NumberField({ initial: 0, integer: true }), - }); + }) schema.armor_slots = new fields.SchemaField({ - current: new fields.NumberField({ initial: 0, integer: true }), - max: new fields.NumberField({ initial: 0, integer: true }), - }); - - schema.primary = new fields.BooleanField({ initial: false }); - schema.secondary = new fields.BooleanField({ initial: false }); - - schema.ancestry = new fields.SchemaField({ - name: new fields.StringField({ - required: true, - initial: "", - }), - img: new fields.StringField({ - required: true, - initial: "", - }), - feature: new fields.StringField({ - required: true, - initial: "", - }), - description: new fields.StringField({ - required: true, - initial: "", - }), - }); - - schema.community = new fields.SchemaField({ - name: new fields.StringField({ - required: true, - initial: "", - }), - img: new fields.StringField({ - required: true, - initial: "", - }), - feature: new fields.StringField({ - required: true, - initial: "", - }), - description: new fields.StringField({ - required: true, - initial: "", - }), - }); - - schema.evasion = new fields.NumberField({ initial: 0, integer: true }); - schema.armor = new fields.NumberField({ initial: 0, integer: true }); - schema.hope = new fields.NumberField({ initial: 0, integer: true }); - schema.proficiency = new fields.NumberField({ initial: 1, integer: true }); - schema.pronouns = new fields.StringField({ blank: true }); + value: new fields.NumberField({ initial: 0, integer: true }), + max: new fields.NumberField({ initial: 6, integer: true }), + }) + + schema.primary = new fields.BooleanField({ initial: false }) + schema.secondary = new fields.BooleanField({ initial: false }) + + schema.evasion = new fields.NumberField({ initial: 0, integer: true }) + schema.armor = new fields.NumberField({ initial: 0, integer: true }) + schema.hope = new fields.SchemaField({ + value: new fields.NumberField({ initial: 0, integer: true }), + max: new fields.NumberField({ initial: 6, integer: true }), + }) + schema.proficiency = new fields.NumberField({ initial: 1, integer: true }) + schema.pronouns = new fields.StringField({ blank: true }) schema.experiences = new fields.ArrayField( new fields.SchemaField({ @@ -93,15 +60,12 @@ export default class DaggerHeartCharacter extends DaggerHeartActorBase { }), name: new fields.StringField({ required: true, - initial: "", + initial: '', }), mod: new fields.NumberField({ initial: 0, integer: true }), editMode: new fields.BooleanField({ initial: false }), - }) - ); - - schema.class = new fields.ObjectField(); - + }), + ) // Iterate over ability names and create a new SchemaField for each. schema.abilities = new fields.SchemaField( Object.keys(CONFIG.DAGGERHEART.abilities).reduce((obj, ability) => { @@ -113,40 +77,65 @@ export default class DaggerHeartCharacter extends DaggerHeartActorBase { }), label: new fields.StringField({ required: true, blank: true }), checked: new fields.BooleanField({}), - }); - return obj; - }, {}) - ); + }) + return obj + }, {}), + ) - return schema; + return schema } - prepareDerivedData() { + prepareDerivedData () { // Loop through ability scores, and add their modifiers to our sheet output. for (const key in this.abilities) { // Calculate the modifier using d20 rules. this.abilities[key].mod = Math.floor( - (this.abilities[key].value - 10) / 2 - ); + (this.abilities[key].value - 10) / 2, + ) // Handle ability label localization. this.abilities[key].label = - game.i18n.localize(CONFIG.DAGGERHEART.abilities[key]) ?? key; + game.i18n.localize(CONFIG.DAGGERHEART.abilities[key]) ?? key } } - getRollData() { - const data = {}; + getRollData () { + const data = {} // Copy the ability scores to the top level, so that rolls can use // formulas like `@str.mod + 4`. if (this.abilities) { for (let [k, v] of Object.entries(this.abilities)) { - data[k] = foundry.utils.deepClone(v); + data[k] = foundry.utils.deepClone(v) } } - data.lvl = this.attributes.level.value; + data.lvl = this.attributes.level.value + + return data + } + + get classItem () { + const classes = this.parent.items.filter((i) => i.type === 'class') + if (classes) return classes[0] + + return {} + } + + get ancestry () { + const ancestry = this.parent.items.filter( + (i) => i.type === 'card' && i.system.cardType === 'ancestry', + ) + if (ancestry) return ancestry[0] + + return {} + } + + get community () { + const community = this.parent.items.filter( + (i) => i.type === 'card' && i.system.cardType === 'community', + ) + if (community) return community[0] - return data; + return {} } } diff --git a/module/data/domain.mjs b/module/data/domain.mjs index a550287..6c5b604 100644 --- a/module/data/domain.mjs +++ b/module/data/domain.mjs @@ -1,25 +1,37 @@ export default class DaggerHeartDomain extends foundry.abstract.TypeDataModel { - static defineSchema() { - const fields = foundry.data.fields; - const schema = {}; + static defineSchema () { + const fields = foundry.data.fields + const schema = {} schema.domain = new fields.StringField({ blank: true, - }); + }) schema.domainType = new fields.StringField({ blank: true, - }); + }) schema.feature = new fields.StringField({ blank: true, - }); + }) - schema.recall = new fields.NumberField({ initial: 0, integer: true }); - schema.level = new fields.NumberField({ initial: 0, integer: true }); + schema.hasTracker = new fields.SchemaField({ + enabled: new fields.BooleanField({ + initial: false, + }), + property: new fields.StringField({ + initial: '', + }), + current: new fields.NumberField({ + initial: 0, + }), + }) - schema.active = new fields.BooleanField({ initial: false }); + schema.recall = new fields.NumberField({ initial: 0, integer: true }) + schema.level = new fields.NumberField({ initial: 0, integer: true }) - return schema; + schema.active = new fields.BooleanField({ initial: false }) + + return schema } } diff --git a/module/data/weapon.mjs b/module/data/weapon.mjs index b9f9b1a..bac155c 100644 --- a/module/data/weapon.mjs +++ b/module/data/weapon.mjs @@ -6,7 +6,7 @@ export default class DaggerHeartWeapon extends foundry.abstract.TypeDataModel { const schema = {}; schema.trait = new fields.StringField({ - blank: true, + initial: "agi" }); schema.range = new fields.StringField({ @@ -22,7 +22,7 @@ export default class DaggerHeartWeapon extends foundry.abstract.TypeDataModel { }); schema.damage = new fields.StringField({ - blank: true, + initial: "D6" }); schema.isEquipped = new fields.BooleanField({ @@ -34,8 +34,7 @@ export default class DaggerHeartWeapon extends foundry.abstract.TypeDataModel { }) schema.burden = new fields.StringField({ - blank: true, - initial: DAGGERHEART.burden["1H"], + initial: "1H", }); schema.feature = new fields.StringField({ diff --git a/module/documents/actor.mjs b/module/documents/actor.mjs index f1d2ab8..bfde334 100644 --- a/module/documents/actor.mjs +++ b/module/documents/actor.mjs @@ -42,4 +42,6 @@ export class DaggerHeartActor extends Actor { return { ...super.getRollData(), ...this.system.getRollData?.() ?? null }; } + + } diff --git a/module/helpers/adversary-roll.mjs b/module/helpers/adversary-roll.mjs index ede1be9..2c2b83c 100644 --- a/module/helpers/adversary-roll.mjs +++ b/module/helpers/adversary-roll.mjs @@ -2,7 +2,7 @@ const formHTML = (actor) => { return `