[PR] [Feature] Party Sheet (#1230)

* start development

* finish party members tab

* start resources tab

* finish resources tab

* finish inventory tab and add inital template to projects tab

* add resource buttons actions methods

* add group roll dialog

* Main implementation

* Fixed costs

* Minor fixes and tweaks for the party sheet (#1239)

* Minor fixes and tweaks for the party sheet

* Fix scroll restoration for party sheet tabs

* Finished GroupRoll

* Removed/commented-out not yet implemented things

* Commented out Difficulty since it's not used yet

* Re-render party when members update (#1242)

* Fixed so style applies in preview chat message

* Added the clown car

* Fixed so items can be dropped into the Party sheet

* Added delete icon to inventory

* Fixed TokenHUD token property useage. Fixed skipping roll message

* Added visible modifier to GroupRoll leader result

* Leader roll displays the large result display right away after rolling

* Corrected tokenHUD for non-player-tokens

* Fixed clowncar tokenData

* Fixed TagTeam roll message and sound

* Removed final TagTeamRoll roll sound

* [PR] [Party Sheets] Sidebar character sheet changes (#1249)

* Something experimenting

* I am silly (wearning Dunce hat)

* Stressful task

* Armor functional to be hit

* CSS Changes to accomadate pip boy

* last minute change to resource section for better visual feeling

* restoring old css for toggle

* Added setting to toggle pip/number display

* toggle functionality added

* Fixed light-mode in characterSheet

* Fixed multi-row resource pips display for character

* Fixed separators

* Added pip-display to Adversary and Companion. Some fixing on armor display

---------

Co-authored-by: WBHarry <williambjrklund@gmail.com>

* Fixed party height and resource armor update

* Fixed deletebutton padding

* Only showing expand-me icon on InventoryItem if there is a description to show

* .

* Fixed menu icon to be beige instead of white in dark mode

---------

Co-authored-by: moliloo <dev.murilobrito@gmail.com>
Co-authored-by: Carlos Fernandez <CarlosFdez@users.noreply.github.com>
Co-authored-by: Nikhil Nagarajan <potter.nikhil@gmail.com>
This commit is contained in:
WBHarry 2025-11-11 16:02:45 +01:00 committed by GitHub
parent f53252a369
commit 261a3a68b0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
91 changed files with 3769 additions and 271 deletions

View file

@ -11,7 +11,14 @@
.application.daggerheart.dialog.dh-style.views.roll-selection {
.dialog-header {
display: flex;
justify-content: center;
flex-direction: column;
align-items: center;
gap: 4px;
.dialog-header-inner {
display: flex;
justify-content: center;
}
h1 {
width: auto;
@ -37,6 +44,29 @@
}
}
}
.tag-team-controller {
display: flex;
align-items: center;
border-radius: 5px;
width: fit-content;
gap: 5px;
cursor: pointer;
padding: 5px;
background: light-dark(@dark-blue-10, @golden-10);
color: light-dark(@dark-blue, @golden);
.label {
font-style: normal;
font-weight: 400;
font-size: var(--font-size-14);
line-height: 17px;
}
&.selected {
background: light-dark(@dark-blue-40, @golden-40);
}
}
}
.roll-dialog-container {

View file

@ -0,0 +1,50 @@
@import '../../utils/colors.less';
.application.daggerheart.group-roll {
fieldset.one-column {
min-width: 500px;
margin-bottom: 10px;
}
.actor-item {
display: flex;
align-items: center;
gap: 15px;
width: 100%;
img {
height: 40px;
width: 40px;
border-radius: 50%;
object-fit: cover;
}
.actor-info {
display: flex;
flex-direction: column;
gap: 10px;
.actor-check-info {
display: flex;
gap: 10px;
.form-fields {
display: flex;
gap: 5px;
align-items: center;
input {
max-width: 40px;
text-align: center;
}
}
}
}
.controls {
margin-left: auto;
}
}
.tooltip-container {
width: 100%;
}
}

View file

@ -31,4 +31,7 @@
@import './reroll-dialog/sheet.less';
@import './group-roll/group-roll.less';
@import './tag-team-dialog/sheet.less';
@import './image-select/sheet.less';

View file

@ -0,0 +1,178 @@
.daggerheart.dialog.dh-style.views.tag-team-dialog {
.tag-team-container {
display: flex;
flex-direction: column;
gap: 16px;
.tag-team-data-container {
display: flex;
align-items: center;
gap: 8px;
.form-group {
flex: 0;
label {
white-space: nowrap;
}
&.flex-group {
flex: 1;
}
}
}
.title-row {
display: flex;
align-items: center;
gap: 8px;
h2 {
text-align: start;
}
select {
flex: 1;
}
}
.participants-container {
margin-top: 8px;
display: flex;
flex-direction: column;
gap: 4px;
.participant-outer-container {
padding: 8px;
display: flex;
flex-direction: column;
gap: 4px;
cursor: pointer;
border-radius: 6px;
&.selected,
&:hover {
background-color: light-dark(@golden-40, @golden-40);
}
.participant-container {
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
.participant-inner-container {
flex: 1;
display: flex;
align-items: center;
gap: 4px;
img {
height: 48px;
width: 48px;
border-radius: 50%;
}
.participant-labels {
display: flex;
flex-direction: column;
gap: 2px;
.participant-label-title {
font-size: 18px;
}
.participant-label-info {
display: flex;
gap: 4px;
.participant-label-info-part {
border: 1px solid light-dark(white, white);
border-radius: 4px;
padding: 2px 4px;
background-color: light-dark(@beige-80, @soft-white-shadow);
color: white;
}
}
}
}
}
.participant-empty-roll-container {
border: 1px dashed white;
padding: 8px 2px;
text-align: center;
font-style: italic;
}
.participant-roll-outer-container {
display: flex;
flex-direction: column;
gap: 2px;
color: light-dark(@dark-blue, @golden);
h4 {
text-align: center;
color: light-dark(@dark-blue, @golden);
}
.participant-roll-container {
display: flex;
align-items: center;
justify-content: center;
white-space: nowrap;
.participant-roll-text-container {
padding: 0 8px;
white-space: nowrap;
display: flex;
}
}
.damage-values-container {
display: flex;
justify-content: space-around;
gap: 8px;
.damage-container {
border: 1px solid light-dark(white, white);
border-radius: 6px;
padding: 0 4px;
display: flex;
gap: 4px;
}
}
}
}
}
h2 {
text-align: center;
}
.result-container {
display: grid;
grid-template-columns: 1fr 1fr;
align-items: center;
gap: 8px;
.result-damages-container {
display: flex;
flex-wrap: wrap;
gap: 4px;
.result-damage-container {
border: 1px solid light-dark(white, white);
border-radius: 6px;
padding: 0 4px;
}
}
}
.roll-leader-container {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 8px;
}
}
}

View file

@ -67,6 +67,10 @@
}
}
.standard-form {
font-family: @font-body;
}
&.two-big-buttons {
.window-content {
padding-top: 0;

View file

@ -19,3 +19,4 @@
@import './filter-menu.less';
@import './tab-attachments.less';
@import './dice.less';
@import './resource-bar.less';

View file

@ -72,7 +72,7 @@
flex: 0 0 40px;
height: 40px;
position: relative;
&:has(.roll-img) {
&:has(.roll-img) {
cursor: pointer;
}
@ -87,6 +87,7 @@
&.actor-img {
border-radius: 50%;
object-position: top center;
}
}
@ -122,6 +123,10 @@
display: flex;
gap: 10px;
&.padded {
padding-right: 8px;
}
.item-label {
flex: 1;
align-self: center;
@ -248,9 +253,9 @@
&.inventory-item-compact {
display: grid;
grid-template:
"img name controls" auto
"img labels labels" 1fr
grid-template:
'img name controls' auto
'img labels labels' 1fr
/ 40px 1fr min-content;
column-gap: 8px;

View file

@ -0,0 +1,178 @@
// Theme sidebar backgrounds
.appTheme({
.slot-value .slot-bar {
background: @dark-blue;
}
}, {
.slot-value .slot-bar {
background-image: url('../assets/parchments/dh-parchment-light.png');
}
});
.status-bar {
display: flex;
justify-content: center;
position: relative;
width: 120px;
height: 40px;
.status-label {
position: relative;
top: 40px;
height: 22px;
width: 79px;
clip-path: path('M0 0H79L74 16.5L39 22L4 16.5L0 0Z');
background: light-dark(@dark-blue, @golden);
h4 {
font-weight: bold;
text-align: center;
line-height: 18px;
color: light-dark(@beige, @dark-blue);
}
}
.slot-value {
position: absolute;
display: flex;
flex-direction: column;
padding: 0 5px;
font-size: 1.5rem;
align-items: center;
width: 140px;
height: 40px;
justify-content: center;
text-align: center;
z-index: 2;
color: @beige;
.slot-bar {
display: flex;
flex-wrap: wrap;
gap: 5px;
padding: 5px;
border: 1px solid light-dark(@dark-blue, @golden);
border-radius: 6px;
z-index: 1;
color: light-dark(@dark-blue, @golden);
width: fit-content;
.slot {
width: 15px;
height: 10px;
border: 1px solid light-dark(@dark-blue, @golden);
background: light-dark(@dark-blue-10, @golden-10);
border-radius: 3px;
transition: all 0.3s ease;
cursor: pointer;
&.large {
width: 20px;
}
&.filled {
background: light-dark(@dark-blue, @golden);
}
}
.empty-slot {
width: 15px;
height: 10px;
}
}
.slot-label {
display: flex;
align-items: center;
color: light-dark(@beige, @dark-blue);
background: light-dark(@dark-blue, @golden);
padding: 0 5px;
width: fit-content;
font-weight: bold;
border-radius: 0px 0px 5px 5px;
font-size: var(--font-size-12);
.label {
padding-right: 5px;
}
.value {
padding-left: 6px;
border-left: 1px solid light-dark(@beige, @dark-golden);
}
}
}
.status-value {
position: absolute;
display: flex;
padding: 0 5px;
font-size: 1.5rem;
align-items: center;
width: 140px;
height: 40px;
justify-content: center;
text-align: center;
z-index: 2;
color: @beige;
input[type='number'] {
background: transparent;
font-size: 1.5rem;
width: 40px;
height: 30px;
text-align: center;
border: none;
outline: 2px solid transparent;
color: @beige;
&.bar-input {
padding: 0;
color: @beige;
backdrop-filter: none;
background: transparent;
transition: all 0.3s ease;
&:hover,
&:focus {
background: @semi-transparent-dark-blue;
backdrop-filter: blur(9.5px);
}
}
}
.bar-label {
width: 40px;
}
}
.progress-bar {
position: absolute;
appearance: none;
width: 100px;
height: 40px;
border: 1px solid light-dark(@dark-blue, @golden);
border-radius: 6px;
z-index: 1;
background: @dark-blue;
&::-webkit-progress-bar {
border: none;
background: @dark-blue;
border-radius: 6px;
}
&::-webkit-progress-value {
background: @gradient-hp;
border-radius: 6px;
}
&.stress-color::-webkit-progress-value {
background: @gradient-stress;
border-radius: 6px;
}
&::-moz-progress-bar {
background: @gradient-hp;
border-radius: 6px;
}
&.stress-color::-moz-progress-bar {
background: @gradient-stress;
border-radius: 6px;
}
}
}

View file

@ -14,7 +14,11 @@ body.game:is(.performance-low, .noblur) {
.themed.theme-dark .application.daggerheart.sheet.dh-style,
.themed.theme-dark.application.daggerheart.sheet.dh-style,
&.theme-dark .application.daggerheart {
background: @dark-blue;
&.adversary,
&.character,
&.item {
background: @dark-blue;
}
}
}

View file

@ -1,16 +1,16 @@
@import '../utils/colors.less';
@import '../utils/fonts.less';
.daggerheart.dh-style {
.tab.active.description {
display: flex;
flex-direction: column;
height: -webkit-fill-available !important;
overflow-y: hidden !important;
padding-top: 10px;
prose-mirror.active + .artist-attribution {
display: none;
}
}
}
@import '../utils/colors.less';
@import '../utils/fonts.less';
.daggerheart.dh-style {
.tab.active.description {
display: flex;
flex-direction: column;
height: -webkit-fill-available !important;
overflow-y: hidden !important;
padding-top: 10px;
prose-mirror.active + .artist-attribution {
display: none;
}
}
}

View file

@ -12,5 +12,13 @@
font-weight: bold;
}
}
.clown-car img {
transition: 0.5s;
&.flipped {
transform: scaleX(-1);
}
}
}
}

View file

@ -109,6 +109,14 @@
gap: 16px;
margin-bottom: -10px;
&.pip-display {
top: -15px;
.resources-section {
justify-content: space-around;
}
}
.resources-section {
display: flex;
justify-content: space-evenly;

View file

@ -6,9 +6,16 @@
.appTheme({
.character-sidebar-sheet {
background-image: url('../assets/parchments/dh-parchment-dark.png');
.experience-value {
background: url(../assets/svg/experience-shield.svg) no-repeat;
}
.info-section .status-section .status-bar.armor-slots {
.slot-value .slot-bar {
background: @dark-blue;
}
}
}
}, {
&.sheet.actor.dh-style.character .character-sidebar-sheet {
@ -21,6 +28,12 @@
.portrait.death-roll .death-roll-btn {
filter: brightness(0) drop-shadow(0 0 3px @dark-blue);
}
.info-section .status-section .status-bar.armor-slots {
.slot-value .slot-bar {
background-image: url('../assets/parchments/dh-parchment-light.png');
}
}
}
});
@ -127,6 +140,15 @@
gap: 10px;
margin-bottom: -16px;
&.pip-display {
gap: 15px;
.resources-section {
justify-content: space-around;
margin: 8px 2px 8px 2px;
}
}
.resources-section {
display: flex;
justify-content: space-evenly;
@ -136,7 +158,7 @@
display: flex;
justify-content: center;
position: relative;
width: 100px;
width: 120px;
height: 40px;
.status-label {
@ -154,13 +176,14 @@
color: light-dark(@beige, @dark-blue);
}
}
.status-value {
position: absolute;
display: flex;
padding: 0 6px;
padding: 0 5px;
font-size: 1.5rem;
align-items: center;
width: 100px;
width: 140px;
height: 40px;
justify-content: center;
text-align: center;
@ -237,6 +260,28 @@
gap: 5px;
justify-content: center;
&.pip-display {
align-items: end;
.status-bar.armor-slots {
width: 100px;
height: auto;
.slot-value {
position: relative;
height: auto;
.slot-bar {
border-radius: 6px 6px 0 0;
}
}
.status-value {
padding: 0 5px;
}
}
}
.status-bar.armor-slots {
display: flex;
justify-content: center;
@ -252,6 +297,7 @@
width: 95px;
border-radius: 3px;
background: light-dark(@dark-blue, @golden);
clip-path: none;
h4 {
font-weight: bold;
@ -261,6 +307,66 @@
font-size: var(--font-size-12);
}
}
.slot-value {
position: absolute;
display: flex;
padding: 0 5px;
font-size: 1.2rem;
align-items: center;
width: 80px;
height: 30px;
justify-content: center;
text-align: center;
z-index: 2;
color: light-dark(@dark-blue, @beige);
flex-direction: column;
.slot-bar {
display: flex;
flex-wrap: wrap;
gap: 4px;
padding: 5px;
border: 1px solid light-dark(@dark-blue, @golden);
border-radius: 6px;
z-index: 1;
background: @dark-blue;
justify-content: center;
color: light-dark(@dark-blue, @golden);
.armor-slot {
cursor: pointer;
transition: all 0.3s ease;
font-size: var(--font-size-12);
.fa-shield-halved {
color: light-dark(@dark-blue-40, @golden-40);
}
}
}
.slot-label {
display: flex;
align-items: center;
color: light-dark(@beige, @dark-blue);
background: light-dark(@dark-blue, @golden);
padding: 0 5px;
width: 120%;
font-weight: bold;
border-radius: 5px;
font-size: var(--font-size-12);
flex-wrap: wrap;
justify-content: center;
.label {
padding-right: 1px;
border-bottom: 1px solid @dark-golden;
}
.value {
padding-left: 6px;
border-left: 0;
}
}
}
.status-value {
position: absolute;
display: flex;
@ -292,8 +398,6 @@
color: light-dark(@dark-blue, @beige);
backdrop-filter: none;
background: transparent;
transition: all 0.3s ease;
&:hover,
&:focus {
background: @semi-transparent-dark-blue;
@ -306,7 +410,6 @@
width: 30px;
}
}
.progress-bar {
position: absolute;
appearance: none;
@ -318,7 +421,6 @@
background: light-dark(transparent, @dark-blue);
border-bottom: none;
border-radius: 6px 6px 0 0;
&::-webkit-progress-bar {
border: none;
background: light-dark(transparent, @dark-blue);

View file

@ -37,11 +37,22 @@
}
}
.resource-section {
width: 100%;
display: flex;
justify-content: center;
}
.status-section {
display: flex;
gap: 5px;
justify-content: center;
&.pip-display {
width: 100%;
justify-content: space-around;
}
.status-number {
display: flex;
flex-direction: column;
@ -84,103 +95,103 @@
}
}
.status-bar {
display: flex;
justify-content: center;
position: relative;
width: 100px;
height: 40px;
// .status-bar {
// display: flex;
// justify-content: center;
// position: relative;
// width: 100px;
// height: 40px;
.status-label {
position: relative;
top: 40px;
height: 22px;
width: 79px;
clip-path: path('M0 0H79L74 16.5L39 22L4 16.5L0 0Z');
background: light-dark(@dark-blue, @golden);
// .status-label {
// position: relative;
// top: 40px;
// height: 22px;
// width: 79px;
// clip-path: path('M0 0H79L74 16.5L39 22L4 16.5L0 0Z');
// background: light-dark(@dark-blue, @golden);
h4 {
font-weight: bold;
text-align: center;
line-height: 18px;
color: light-dark(@beige, @dark-blue);
}
}
.status-value {
position: absolute;
display: flex;
padding: 0 6px;
font-size: 1.5rem;
align-items: center;
width: 100px;
height: 40px;
justify-content: center;
text-align: center;
z-index: 2;
color: @beige;
// h4 {
// font-weight: bold;
// text-align: center;
// line-height: 18px;
// color: light-dark(@beige, @dark-blue);
// }
// }
// .status-value {
// position: absolute;
// display: flex;
// padding: 0 6px;
// font-size: 1.5rem;
// align-items: center;
// width: 100px;
// height: 40px;
// justify-content: center;
// text-align: center;
// z-index: 2;
// color: @beige;
input[type='number'] {
background: transparent;
font-size: 1.5rem;
width: 40px;
height: 30px;
text-align: center;
border: none;
outline: 2px solid transparent;
color: @beige;
// input[type='number'] {
// background: transparent;
// font-size: 1.5rem;
// width: 40px;
// height: 30px;
// text-align: center;
// border: none;
// outline: 2px solid transparent;
// color: @beige;
&.bar-input {
padding: 0;
color: @beige;
backdrop-filter: none;
background: transparent;
transition: all 0.3s ease;
// &.bar-input {
// padding: 0;
// color: @beige;
// backdrop-filter: none;
// background: transparent;
// transition: all 0.3s ease;
&:hover,
&:focus {
background: @semi-transparent-dark-blue;
backdrop-filter: blur(9.5px);
}
}
}
// &:hover,
// &:focus {
// background: @semi-transparent-dark-blue;
// backdrop-filter: blur(9.5px);
// }
// }
// }
.bar-label {
width: 40px;
}
}
.progress-bar {
position: absolute;
appearance: none;
width: 100px;
height: 40px;
border: 1px solid light-dark(@dark-blue, @golden);
border-radius: 6px;
z-index: 1;
background: @dark-blue;
// .bar-label {
// width: 40px;
// }
// }
// .progress-bar {
// position: absolute;
// appearance: none;
// width: 100px;
// height: 40px;
// border: 1px solid light-dark(@dark-blue, @golden);
// border-radius: 6px;
// z-index: 1;
// background: @dark-blue;
&::-webkit-progress-bar {
border: none;
background: @dark-blue;
border-radius: 6px;
}
&::-webkit-progress-value {
background: @gradient-hp;
border-radius: 6px;
}
&.stress-color::-webkit-progress-value {
background: @gradient-stress;
border-radius: 6px;
}
&::-moz-progress-bar {
background: @gradient-hp;
border-radius: 6px;
}
&.stress-color::-moz-progress-bar {
background: @gradient-stress;
border-radius: 6px;
}
}
}
// &::-webkit-progress-bar {
// border: none;
// background: @dark-blue;
// border-radius: 6px;
// }
// &::-webkit-progress-value {
// background: @gradient-hp;
// border-radius: 6px;
// }
// &.stress-color::-webkit-progress-value {
// background: @gradient-stress;
// border-radius: 6px;
// }
// &::-moz-progress-bar {
// background: @gradient-hp;
// border-radius: 6px;
// }
// &.stress-color::-moz-progress-bar {
// background: @gradient-stress;
// border-radius: 6px;
// }
// }
// }
.level-div {
white-space: nowrap;

View file

@ -0,0 +1,42 @@
@import '../../../utils/colors.less';
@import '../../../utils/fonts.less';
.party-header-sheet {
display: flex;
flex-direction: column;
justify-content: start;
text-align: center;
.profile {
height: 235px;
mask-image: linear-gradient(0deg, transparent 0%, black 10%);
cursor: pointer;
}
.item-container {
.item-name {
padding: 0 20px;
input[type='text'] {
font-size: 32px;
height: 42px;
text-align: center;
transition: all 0.3s ease;
outline: 2px solid transparent;
border: 1px solid transparent;
&:hover[type='text'],
&:focus[type='text'] {
box-shadow: none;
outline: 2px solid light-dark(@dark-blue, @golden);
}
}
}
.label {
font-style: normal;
font-weight: 700;
font-size: 16px;
margin: 5px 0;
}
}
}

View file

@ -0,0 +1,73 @@
@import '../../../utils/colors.less';
@import '../../../utils/fonts.less';
.application.sheet.daggerheart.actor.dh-style.party {
.tab.inventory {
.search-section {
display: flex;
gap: 10px;
align-items: center;
.search-bar {
position: relative;
color: light-dark(@dark-blue-50, @beige-50);
width: 100%;
padding-top: 5px;
input {
border-radius: 50px;
background: light-dark(@dark-blue-10, @golden-10);
border: none;
outline: 2px solid transparent;
transition: all 0.3s ease;
padding: 0 20px;
&:hover {
outline: 2px solid light-dark(@dark, @golden);
}
&:placeholder {
color: light-dark(@dark-blue-50, @beige-50);
}
&::-webkit-search-cancel-button {
-webkit-appearance: none;
display: none;
}
}
.icon {
align-content: center;
height: 32px;
position: absolute;
right: 20px;
font-size: 16px;
z-index: 1;
color: light-dark(@dark-blue-50, @beige-50);
}
}
}
.items-section {
display: flex;
flex-direction: column;
gap: 10px;
overflow-y: auto;
mask-image: linear-gradient(0deg, transparent 0%, black 5%, black 95%, transparent 100%);
padding: 20px 0;
scrollbar-width: thin;
scrollbar-color: light-dark(@dark-blue, @golden) transparent;
}
.currency-section {
display: flex;
gap: 10px;
padding: 10px 10px 0;
input {
color: light-dark(@dark, @beige);
}
}
}
}

View file

@ -0,0 +1,28 @@
@import '../../../utils/colors.less';
@import '../../../utils/fonts.less';
.application.sheet.daggerheart.actor.dh-style.party {
.tab.partyMembers {
max-height: 400px;
overflow: auto;
.actors-list {
display: flex;
flex-direction: column;
gap: 10px;
align-items: center;
width: 100%;
}
.actors-dragger {
display: flex;
align-items: center;
justify-content: center;
box-sizing: border-box;
width: 100%;
height: 40px;
border: 1px dashed light-dark(@dark-blue-50, @beige-50);
border-radius: 3px;
color: light-dark(@dark-blue-50, @beige-50);
}
}
}

View file

@ -0,0 +1,196 @@
@import '../../../utils/colors.less';
@import '../../../utils/fonts.less';
@import '../../../utils/mixin.less';
body.game:is(.performance-low, .noblur) {
.application.sheet.daggerheart.actor.dh-style.party .tab.resources .actors-list .actor-resources {
background: light-dark(@dark-blue, @dark-golden);
.actor-name {
background: light-dark(@dark-blue, @dark-golden);
}
}
}
.application.sheet.daggerheart.actor.dh-style.party {
.tab.resources {
overflow: auto;
.actors-list {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 10px;
align-items: center;
width: 100%;
justify-content: center;
.actor-resources {
display: flex;
flex-direction: column;
position: relative;
background: light-dark(@dark-blue-40, @dark-golden-40);
border-radius: 6px;
border: 1px solid light-dark(@dark-blue, @golden);
max-width: 230px;
height: -webkit-fill-available;
.actor-name {
position: absolute;
top: 0px;
background: light-dark(@dark-blue-90, @dark-golden-80);
backdrop-filter: blur(6.5px);
border-radius: 6px 6px 0px 0px;
text-align: center;
width: 100%;
z-index: 1;
font-size: var(--font-size-20);
color: light-dark(@beige, @golden);
font-weight: bold;
padding: 5px 0;
}
.actor-img {
height: 150px;
object-fit: cover;
object-position: top center;
border-radius: 6px 6px 0px 0px;
mask-image: linear-gradient(180deg, black 88%, transparent 100%);
}
.resources {
display: flex;
flex-direction: column;
gap: 10px;
align-items: center;
margin: 10px;
.slot-section {
display: flex;
flex-direction: column;
align-items: center;
.slot-bar {
display: flex;
flex-wrap: wrap;
gap: 5px;
width: 239px;
background-color: light-dark(@dark-blue-10, @dark-blue);
color: light-dark(@dark-blue, @golden);
padding: 5px;
border: 1px solid light-dark(@dark-blue, @golden);
border-radius: 6px;
width: fit-content;
.armor-slot {
cursor: pointer;
transition: all 0.3s ease;
font-size: var(--font-size-12);
.fa-shield-halved {
color: light-dark(@dark-blue-40, @golden-40);
}
}
.slot {
width: 20px;
height: 10px;
border: 1px solid light-dark(@dark-blue, @golden);
background: light-dark(@dark-blue-10, @golden-10);
border-radius: 3px;
transition: all 0.3s ease;
cursor: pointer;
&.filled {
background: light-dark(@dark-blue, @golden);
}
}
}
.slot-label {
display: flex;
align-items: center;
color: light-dark(@beige, @dark-blue);
background: light-dark(@dark-blue, @golden);
padding: 0 5px;
width: fit-content;
font-weight: bold;
border-radius: 0px 0px 5px 5px;
font-size: var(--font-size-12);
.label {
padding-right: 5px;
}
.value {
padding-left: 6px;
border-left: 1px solid light-dark(@beige, @dark-golden);
}
}
}
.hope-section {
position: relative;
display: flex;
gap: 10px;
background-color: light-dark(transparent, @dark-blue);
color: light-dark(@dark-blue, @golden);
padding: 5px 10px;
border: 1px solid light-dark(@dark-blue, @golden);
border-radius: 3px;
align-items: center;
width: fit-content;
h4 {
font-size: var(--font-size-12);
font-weight: bold;
text-transform: uppercase;
color: light-dark(@dark-blue, @golden);
}
.hope-value {
display: flex;
cursor: pointer;
font-size: var(--font-size-12);
}
}
.threshold-section {
display: flex;
align-self: center;
gap: 10px;
background-color: light-dark(transparent, @dark-blue);
color: light-dark(@dark-blue, @golden);
padding: 5px 10px;
border: 1px solid light-dark(@dark-blue, @golden);
border-radius: 3px;
align-items: center;
width: fit-content;
h4 {
font-size: var(--font-size-12);
font-weight: bold;
text-transform: uppercase;
color: light-dark(@dark-blue, @golden);
&.threshold-value {
color: light-dark(@dark, @beige);
}
}
}
}
}
}
.actors-dragger {
display: flex;
align-items: center;
justify-content: center;
box-sizing: border-box;
width: 100%;
height: 40px;
border: 1px dashed light-dark(@dark-blue-50, @beige-50);
border-radius: 3px;
color: light-dark(@dark-blue-50, @beige-50);
}
}
}

View file

@ -0,0 +1,45 @@
@import '../../../utils/colors.less';
@import '../../../utils/fonts.less';
@import '../../../utils/mixin.less';
.appTheme({
&.party {
background-image: url('../assets/parchments/dh-parchment-dark.png');
}
}, {
&.party {
background: url('../assets/parchments/dh-parchment-light.png');
}
});
.application.sheet.daggerheart.actor.dh-style.party {
.tab {
height: -webkit-fill-available;
max-height: 514px;
overflow-y: auto;
scrollbar-width: thin;
scrollbar-color: light-dark(@dark-blue, @golden) transparent;
&.active {
overflow: auto;
display: flex;
flex-direction: column;
}
.actions-section {
display: flex;
align-items: center;
justify-content: center;
padding: 10px;
margin-bottom: 10px;
gap: 20px;
background-color: light-dark(@dark-blue-10, @golden-10);
button {
span {
font-size: 12px;
}
}
}
}
}

View file

@ -25,6 +25,12 @@
@import './actors/environment/potentialAdversaries.less';
@import './actors/environment/sheet.less';
@import './actors/party/header.less';
@import './actors/party/party-members.less';
@import './actors/party/sheet.less';
@import './actors/party/inventory.less';
@import './actors/party/resources.less';
@import './items/beastform.less';
@import './items/class.less';
@import './items/domain-card.less';

View file

@ -0,0 +1,210 @@
.chat-message .message-content .group-roll {
display: flex;
flex-direction: column;
gap: 8px;
padding-bottom: 8px;
.group-roll-section {
display: flex;
flex-direction: column;
gap: 4px;
.group-roll-header {
display: flex;
align-items: center;
font-size: 14px;
margin-bottom: 0;
font-weight: normal;
&.first {
margin-top: 5px;
}
.group-roll-header-expand-section {
display: flex;
align-items: center;
gap: 4px;
cursor: pointer;
label {
cursor: pointer;
}
i {
color: light-dark(@dark-blue, @golden);
}
}
}
.group-roll-content {
display: flex;
flex-direction: column;
gap: 16px;
border-radius: 5px;
padding: 5px;
overflow: hidden;
height: auto;
transition: all 0.3s ease;
&.closed {
height: 0;
padding-top: 0;
padding-bottom: 0;
}
&.finished {
background: light-dark(@dark-blue-10, @golden-10);
}
.group-roll-main-roll {
display: flex;
flex-direction: column;
.divider {
font-size: 14px;
margin-bottom: 0;
font-weight: normal;
}
.main-roll-content {
display: flex;
align-items: center;
justify-content: center;
gap: 10px;
color: light-dark(@dark-blue, @golden);
.main-value {
font-size: var(--font-size-24);
font-weight: bold;
}
.main-text {
font-size: var(--font-size-16);
margin-top: 2px;
}
}
}
.group-roll-member {
display: flex;
justify-content: space-between;
.group-roll-data {
display: flex;
gap: 4px;
img {
width: 42px;
height: 42px;
border-radius: 50%;
}
.group-roll-label-container {
display: flex;
flex-direction: column;
justify-content: space-between;
.group-roll-label-inner-container {
display: flex;
gap: 8px;
}
.group-roll-modifier {
padding: 2px 8px;
border: 1px solid light-dark(@green, @green);
border-radius: 6px;
color: light-dark(@green, @green);
background: light-dark(@green-40, @green-40);
&.failure {
border-color: light-dark(@red, @red);
color: light-dark(@red, @red);
background: light-dark(@red-40, @red-40);
}
}
.group-roll-trait {
padding: 2px 8px;
border: 1px solid light-dark(white, white);
border-radius: 6px;
color: light-dark(white, white);
background: light-dark(@beige-80, @beige-80);
}
}
}
.group-roll-rolling {
img {
width: 42px;
height: 42px;
&:hover {
filter: drop-shadow(0 0 8px light-dark(@dark-blue, @golden));
}
}
}
.roll-results {
display: flex;
align-items: center;
border-radius: 5px;
width: fit-content;
gap: 16px;
cursor: pointer;
padding: 5px;
background: light-dark(@dark-blue-10, @golden-10);
color: light-dark(@dark-blue, @golden);
&.finished {
background-color: initial;
}
.reroll-result-container {
display: flex;
align-items: center;
gap: 16px;
.label {
font-style: normal;
font-weight: 400;
font-size: var(--font-size-18);
line-height: 17px;
}
i {
font-size: 16px;
}
.success,
.success i {
color: @green;
}
.failure,
.failure i {
color: @red;
}
}
.group-roll-reroll {
position: relative;
display: flex;
align-items: center;
justify-content: center;
.dice-icon {
width: 24px;
}
.reroll-icon {
position: absolute;
font-size: 14px;
color: black;
filter: drop-shadow(0 0 3px black);
}
}
}
}
}
}
}

View file

@ -126,7 +126,7 @@
&.tiny {
flex: 0;
input {
input {
min-width: 2.5rem;
}
}

View file

@ -4,6 +4,7 @@
@import './chat/damage-summary.less';
@import './chat/downtime.less';
@import './chat/effect-summary.less';
@import './chat/group-roll.less';
@import './chat/refresh-message.less';
@import './chat/sheet.less';

View file

@ -9,6 +9,7 @@
img {
width: 22px;
max-width: unset;
filter: @beige-filter;
}
}
}

View file

@ -4,6 +4,7 @@
@golden: #f3c267;
@golden-10: #f3c26710;
@golden-40: #f3c26740;
@golden-90: #f3c26790;
@golden-bg: #f3c2671a;
@golden-secondary: #eaaf42;
@golden-filter: brightness(0) saturate(100%) invert(89%) sepia(13%) saturate(2008%) hue-rotate(332deg) brightness(99%)
@ -24,6 +25,7 @@
@medium-red-40: #d0474740;
@dark-golden: #2b1d03;
@dark-golden-40: #2b1d0340;
@dark-golden-80: #2b1d0380;
@red: #e54e4e;

View file

@ -1,3 +1,6 @@
@import '../../utils/colors.less';
@import '../../utils/fonts.less';
.theme-light .autocomplete {
background-image: url('../assets/parchments/dh-parchment-light.png');
color: black;
@ -27,11 +30,15 @@
}
li[role='option'] {
display: flex;
align-items: center;
gap: 10px;
font-size: var(--font-size-14);
padding-left: 10px;
padding: 0 10px;
cursor: pointer;
&:hover {
&:hover,
&.selected {
background-color: light-dark(@dark, @beige);
color: light-dark(@beige, var(--color-dark-3));
}
@ -39,5 +46,16 @@
> div {
white-space: nowrap;
}
img {
height: 40px;
width: 40px;
border-radius: 50%;
margin-bottom: 10px;
&:first-child {
margin-top: 10px;
}
}
}
}