mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-01-11 19:25:21 +01:00
* - Move all DataModel item files to a new 'items' subfolder for better organization - Add _module.mjs file to simplify imports - Update all import paths - Rename class for use the new acronym DH * FIX: remove unnecessary import * FEAT: BaseDataItem class add TODO comments for future improvements FIX: Remove effect field on template FIX: remove unused DhpEffects file * FEAT: new FormulaField class FEAT: add getRollData on BaseDataItem Class FEAT: weapon FIX: remove inventoryWeapon field on Weapon Data Model * FEAT: add class prepareBaseData for domains * FEAT: new ForeignDocumentUUIDField FIX: Remove unnecessary fields FEAT: use ForeignDocumentUUIDField in the Item Class DataModel * FIX: remove wrong option in String Field * FIX: remove unused import * FIX: ADD htmlFields description in manifest * FIX: minor fixes * REFACTOR: rename folder `data/items` -> `data/item` REFACTOR: rename folder `data/messages` -> `data/chat-message`. * FIX: imports FIX: items sheet new paths FIX: ItemDataModelMetadata type jsdoc * FEAT: formatting code FIX: fix fields used FEAT: add jsdoc * 110 - Class Data Model (#111) * Added PreCreate/Create/Delete logic for Class/Subclass and set it as foreignUUID fields in PC * Moved methods into TypedModelData * Simplified Subclass * Fixed up data model and a basic placeholder template (#117) * 118 - adversary data model (#119) * Fixed datamodel and set up basic template in new style * Added in a temp attack button, because why not * Restored HitPoints counting up * 113 - Character Data Model (#114) * Improved Character datamodel * Removed additional unneccessary getters * Preliminary cleanup in the class sheet * Cleanup of 'pc' references * Corrected Duality rolling from Character * Fix to damage roll * Added a basic BaseDataActor data model * Gathered exports * getRollData recursion fix * Feature/112 items use action datamodel (#127) * Create new actions classes * actions types - attack roll * fixes before merge * First PR * Add daggerheart.css to gitignore * Update ToDo * Remove console log * Fixed chat /dr roll * Remove jQuery * Fixed so the different chat themes work again * Fixed duality roll buttons * Fix to advantage/disadvantage shortcut * Extand action to other item types * Roll fixes * Fixes to adversary rolls * resources * Fixed adversary dice --------- Co-authored-by: WBHarry <williambjrklund@gmail.com> * Feature/116-implementation-of-pseudo-documents (#125) * FEAT: add baseDataModel logic * FEAT: new PseudoDocumentsField FIX: BasePseudoDocument 's getEmbeddedDocument * FEAT: PseudoDocument class * FEAT: add TypedPseudoDocument REFACTOR: PreudoDocument FIX: Typos Bug * FIX: CONFIG types * FEAT: basic PseudoDocumentSheet * FIX: remove schema ADD: input of example --------- Co-authored-by: Joaquin Pereyra <joaquinpereyra98@users.noreply.github.com> Co-authored-by: WBHarry <williambjrklund@gmail.com> * Levelup Followup (#126) * Levelup applies bonuses to character * Added visualisation of domain card levels * Fixed domaincard level max for selections in a tier * A trait can now only be level up once within the same tier --------- Co-authored-by: Joaquin Pereyra <joaquinpereyra98@users.noreply.github.com> Co-authored-by: joaquinpereyra98 <24190917+joaquinpereyra98@users.noreply.github.com> Co-authored-by: Dapoulp <74197441+Dapoulp@users.noreply.github.com>
600 lines
17 KiB
Text
600 lines
17 KiB
Text
form.daggerheart.views.downtime {
|
|
// Shouldn't be needed, but DEFAULT_OPTIONS doesn't accept Height: 'auto'
|
|
height: auto !important;
|
|
}
|
|
|
|
div.daggerheart.views.death-move {
|
|
// Shouldn't be needed, but DEFAULT_OPTIONS doesn't accept Height: 'auto'
|
|
height: auto !important;
|
|
}
|
|
|
|
div.daggerheart.views.multiclass {
|
|
// Shouldn't be needed, but DEFAULT_OPTIONS doesn't accept Height: 'auto'
|
|
height: auto !important;
|
|
}
|
|
|
|
.daggerheart.views {
|
|
&.levelup {
|
|
.levelup-title-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
font-size: 32px;
|
|
margin-bottom: 4px;
|
|
|
|
.level-title {
|
|
text-decoration: underline;
|
|
}
|
|
|
|
.level-display {
|
|
display: flex;
|
|
align-items: center;
|
|
|
|
i {
|
|
margin: 0 @halfMargin;
|
|
}
|
|
}
|
|
}
|
|
|
|
.levelup-section {
|
|
display: flex;
|
|
align-items: flex-start;
|
|
margin-bottom: 8px;
|
|
font-size: 11px;
|
|
|
|
.levelup-container {
|
|
flex: 1;
|
|
|
|
&:nth-of-type(2) {
|
|
padding: 0 4px;
|
|
}
|
|
|
|
&.disabled {
|
|
opacity: 0.2;
|
|
}
|
|
|
|
.levelup-inner-container {
|
|
height: 700px;
|
|
padding: 24px 58px 0;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
position: relative;
|
|
|
|
.levelup-legend {
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
font-weight: bold;
|
|
z-index: 1;
|
|
}
|
|
|
|
.levelup-info {
|
|
background: @primaryAccent;
|
|
width: 100%;
|
|
text-align: center;
|
|
position: absolute;
|
|
top: -6px;
|
|
padding: 8px 0;
|
|
}
|
|
|
|
.levelup-pretext {
|
|
padding: 8px 0;
|
|
}
|
|
|
|
.levelup-body {
|
|
display: flex;
|
|
flex-direction: column;
|
|
|
|
.levelup-choice-row {
|
|
display: flex;
|
|
align-items: center;
|
|
padding: 4px;
|
|
|
|
.levelup-choice-row-inner {
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
|
|
.levelup-choice-input-container {
|
|
position: relative;
|
|
display: flex;
|
|
align-items: center;
|
|
|
|
input {
|
|
&:disabled:checked::before {
|
|
opacity: 0.4;
|
|
color: var(--color-warm-1);
|
|
}
|
|
}
|
|
|
|
i.fa-link {
|
|
transform: rotate(45deg);
|
|
position: relative;
|
|
top: 2px;
|
|
margin: 0 -3px;
|
|
}
|
|
|
|
i.fa-lock {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
font-size: 8px;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.levelup-posttext {
|
|
padding: 8px 0;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.downtime-container {
|
|
.activity-container {
|
|
display: flex;
|
|
align-items: center;
|
|
padding: 8px;
|
|
|
|
.activity-title {
|
|
flex: 1;
|
|
display: flex;
|
|
align-items: center;
|
|
|
|
.activity-title-text {
|
|
font-size: 24px;
|
|
font-weight: bold;
|
|
}
|
|
|
|
.activity-image {
|
|
width: 120px;
|
|
border: 2px solid black;
|
|
border-radius: 50%;
|
|
margin-right: 8px;
|
|
cursor: pointer;
|
|
|
|
&:hover,
|
|
&.selected {
|
|
filter: drop-shadow(0 0 6px gold);
|
|
}
|
|
}
|
|
|
|
.custom-name-input {
|
|
font-size: 24px;
|
|
font-weight: bold;
|
|
padding: 0;
|
|
background: transparent;
|
|
color: rgb(239, 230, 216);
|
|
}
|
|
}
|
|
|
|
.activity-body {
|
|
flex: 1;
|
|
font-style: italic;
|
|
}
|
|
}
|
|
}
|
|
|
|
&.downtime {
|
|
.activity-text-area {
|
|
resize: none;
|
|
}
|
|
}
|
|
|
|
.range-reset {
|
|
flex: 0;
|
|
width: 21px;
|
|
height: 21px;
|
|
margin: 3px 4px;
|
|
border: 1px solid black;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
&.roll-selection {
|
|
.roll-selection-container {
|
|
i {
|
|
filter: invert(0%) sepia(100%) saturate(0%) hue-rotate(21deg) brightness(17%) contrast(103%);
|
|
}
|
|
}
|
|
|
|
.roll-dialog-container {
|
|
.disadvantage,
|
|
.advantage {
|
|
border: 2px solid @secondaryAccent;
|
|
border-radius: 6px;
|
|
display: flex;
|
|
align-items: center;
|
|
padding: 4px;
|
|
margin-bottom: 6px;
|
|
|
|
&.selected {
|
|
filter: drop-shadow(0px 0px 3px @mainShadow);
|
|
}
|
|
|
|
input {
|
|
border: 0;
|
|
}
|
|
|
|
button {
|
|
flex: 0;
|
|
border-radius: 50%;
|
|
height: 20px;
|
|
width: 20px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
margin: 2px 0 2px 4px;
|
|
padding: 12px;
|
|
|
|
i {
|
|
margin: 0;
|
|
}
|
|
}
|
|
}
|
|
|
|
.roll-dialog-experience-container {
|
|
display: flex;
|
|
align-items: center;
|
|
flex-wrap: wrap;
|
|
gap: @halfMargin;
|
|
|
|
.roll-dialog-chip {
|
|
border: @thinBorder solid black;
|
|
border-radius: 6px;
|
|
min-width: calc(33% - 2px);
|
|
flex: 1;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: @halfMargin;
|
|
cursor: pointer;
|
|
padding: @fullPadding;
|
|
background: grey;
|
|
overflow: hidden;
|
|
font-weight: bold;
|
|
|
|
&.hover {
|
|
filter: drop-shadow(0 0 3px @mainShadow);
|
|
}
|
|
|
|
span {
|
|
overflow: hidden;
|
|
white-space: nowrap;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
&.selected {
|
|
background: green;
|
|
|
|
span {
|
|
filter: drop-shadow(0 0 3px @secondaryShadow);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.hope-container {
|
|
display: flex;
|
|
gap: @fullMargin;
|
|
align-items: center;
|
|
font-size: 18px;
|
|
}
|
|
}
|
|
}
|
|
|
|
&.npc-roll-selection {
|
|
.npc-roll-dialog-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
|
|
.selection-container {
|
|
display: flex;
|
|
align-items: center;
|
|
margin-bottom: @fullMargin;
|
|
gap: 16px;
|
|
|
|
.dice-container {
|
|
display: flex;
|
|
align-items: center;
|
|
flex: 1;
|
|
|
|
.dice-inner-container {
|
|
position: relative;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
|
|
i {
|
|
font-size: 18px;
|
|
}
|
|
|
|
img {
|
|
border: 0;
|
|
position: relative;
|
|
left: 1px;
|
|
}
|
|
|
|
.dice-number {
|
|
position: absolute;
|
|
font-size: 24px;
|
|
font-weight: bold;
|
|
}
|
|
}
|
|
|
|
.advantage-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 2px;
|
|
flex: 1;
|
|
|
|
.advantage-button {
|
|
&.active,
|
|
&:hover {
|
|
background: var(--button-hover-background-color);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.roll-dialog-experience-container {
|
|
display: flex;
|
|
align-items: flex-start;
|
|
flex-wrap: wrap;
|
|
gap: @halfMargin;
|
|
flex: 1;
|
|
height: 100%;
|
|
|
|
.experience-chip {
|
|
opacity: 0.6;
|
|
border-radius: 16px;
|
|
width: calc(50% - 4px);
|
|
white-space: nowrap;
|
|
|
|
&.active,
|
|
&:hover {
|
|
opacity: 1;
|
|
background: var(--button-hover-background-color);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
&.multiclass {
|
|
.multiclass-container {
|
|
margin-bottom: @largeMargin;
|
|
|
|
.multiclass-category-title {
|
|
margin-top: @largeMargin;
|
|
}
|
|
|
|
.multiclass-class-choices {
|
|
display: flex;
|
|
width: 100%;
|
|
height: 100%;
|
|
flex-wrap: wrap;
|
|
}
|
|
|
|
.multiclass-spaced-choices {
|
|
display: flex;
|
|
justify-content: space-around;
|
|
width: 100%;
|
|
height: 100%;
|
|
}
|
|
|
|
.multiclass-class-choice {
|
|
display: flex;
|
|
align-items: center;
|
|
flex-basis: 33.33%;
|
|
font-weight: bold;
|
|
font-size: 24px;
|
|
cursor: pointer;
|
|
|
|
&.selected:not(.disabled),
|
|
&:hover:not(.disabled) {
|
|
filter: drop-shadow(0 0 3px gold);
|
|
}
|
|
|
|
&.inactive,
|
|
&.disabled {
|
|
cursor: initial;
|
|
opacity: 0.4;
|
|
}
|
|
|
|
img {
|
|
width: 80px;
|
|
height: 80px;
|
|
margin-right: @largeMargin;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
&.damage-selection {
|
|
.hope-container {
|
|
display: flex;
|
|
gap: @fullMargin;
|
|
align-items: center;
|
|
font-size: 18px;
|
|
}
|
|
}
|
|
|
|
&.action {
|
|
.action-category {
|
|
display: flex;
|
|
flex-direction: column;
|
|
|
|
.action-category-label {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
border-radius: 6px;
|
|
cursor: pointer;
|
|
padding: 0 @fullPadding;
|
|
margin: 0 auto @halfMargin;
|
|
|
|
&:hover {
|
|
background-color: darkgray;
|
|
}
|
|
}
|
|
|
|
.action-category-data {
|
|
max-height: 0;
|
|
transition: max-height 0.2s ease-in-out;
|
|
overflow: hidden;
|
|
|
|
&.open {
|
|
max-height: initial;
|
|
}
|
|
|
|
.multi-display {
|
|
display: flex;
|
|
gap: 1rem;
|
|
align-items: center;
|
|
.form-group {
|
|
flex: 1;
|
|
}
|
|
}
|
|
|
|
.form-group {
|
|
display: flex;
|
|
align-items: center;
|
|
margin-bottom: 0.5rem;
|
|
label {
|
|
flex: 2;
|
|
}
|
|
.form-fields {
|
|
flex: 3;
|
|
}
|
|
img {
|
|
width: 1.5rem;
|
|
height: 1.5rem;
|
|
}
|
|
}
|
|
|
|
.data-form-array {
|
|
border: 1px solid var(--color-fieldset-border);
|
|
padding: 0.5rem;
|
|
margin-bottom: 0.5rem;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
&.ancestry-selection {
|
|
.ancestry-section {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
margin-bottom: @fullMargin;
|
|
|
|
.ancestry-container {
|
|
width: 100%;
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
|
|
.ancestry-inner-container {
|
|
flex-basis: 25%;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
|
|
.image-container {
|
|
img {
|
|
width: 120px;
|
|
border: 4px solid black;
|
|
border-radius: 50%;
|
|
|
|
&.selected {
|
|
border-color: @secondaryShadow;
|
|
}
|
|
|
|
&:hover:not(.selected) {
|
|
filter: drop-shadow(0 0 3px @secondaryShadow);
|
|
}
|
|
|
|
&.disabled {
|
|
opacity: 0.3;
|
|
}
|
|
}
|
|
}
|
|
|
|
.name-container {
|
|
div {
|
|
font-size: 18px;
|
|
font-weight: bold;
|
|
cursor: help;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.mixed-ancestry-container {
|
|
width: 100%;
|
|
display: flex;
|
|
gap: @fullMargin;
|
|
|
|
> div {
|
|
flex: 1;
|
|
}
|
|
|
|
.mixed-ancestry-name {
|
|
text-align: center;
|
|
div {
|
|
font-size: 24px;
|
|
}
|
|
}
|
|
|
|
.mixed-ancestry-images {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: @halfMargin;
|
|
|
|
.mixed-ancestry-image {
|
|
position: relative;
|
|
max-width: 33%;
|
|
|
|
&:hover i {
|
|
opacity: 1;
|
|
}
|
|
|
|
i {
|
|
position: absolute;
|
|
font-size: 32px;
|
|
top: calc(50% - 20px);
|
|
left: calc(50% - 20px);
|
|
padding: @fullPadding;
|
|
background-color: grey;
|
|
opacity: 0;
|
|
cursor: pointer;
|
|
|
|
&:hover {
|
|
filter: drop-shadow(0 0 3px @secondaryShadow);
|
|
}
|
|
}
|
|
|
|
img {
|
|
max-width: 100%;
|
|
}
|
|
}
|
|
|
|
img {
|
|
max-width: 33%;
|
|
border: 4px solid black;
|
|
border-radius: 50%;
|
|
|
|
&.selected {
|
|
border-color: @secondaryShadow;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|