Merge branch 'v14-Dev' into v14/effect-stacking

This commit is contained in:
WBHarry 2026-03-22 14:50:22 +01:00
commit b2a900db16
149 changed files with 3336 additions and 1535 deletions

View file

@ -35,7 +35,10 @@
display: flex;
flex-direction: column;
align-items: center;
width: 100%;
&.full-width {
width: 100%;
}
}
.padded {
@ -45,6 +48,7 @@
.armor-title {
margin: 0;
white-space: nowrap;
width: 100%;
}
.resources-container {
@ -62,12 +66,17 @@
.mark-selection {
display: flex;
align-items: center;
flex-direction: column;
width: 100%;
margin: 0;
h4 {
margin: 0;
}
.mark-selection-inner {
display: flex;
justify-content: center;
gap: 8px;
.mark-container {
@ -91,6 +100,19 @@
opacity: 0.2;
}
&.spent {
::after {
position: absolute;
content: '/';
color: red;
font-weight: 700;
font-size: 1.8em;
left: -1px;
top: -7px;
rotate: 13deg;
}
}
.fa-shield {
position: relative;
right: 0.5px;

View file

@ -69,29 +69,6 @@
background: light-dark(@dark-blue-40, @golden-40);
}
}
.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

@ -32,6 +32,8 @@
@import './reroll-dialog/sheet.less';
@import './group-roll/group-roll.less';
@import './tag-team-dialog/initialization.less';
@import './tag-team-dialog/sheet.less';
@import './image-select/sheet.less';

View file

@ -0,0 +1,59 @@
.daggerheart.dialog.dh-style.views.tag-team-dialog {
.initialization-container {
h2 {
text-align: center;
}
.members-container {
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr;
gap: 8px;
.member-container {
position: relative;
display: flex;
justify-content: center;
&.inactive {
opacity: 0.4;
}
.member-name {
position: absolute;
}
}
}
.initiator-container {
margin-top: 8px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 8px;
&.inactive {
opacity: 0.4;
}
}
footer {
margin-top: 8px;
display: flex;
gap: 8px;
button {
flex: 1;
}
.finish-tools {
flex: none;
display: flex;
align-items: center;
gap: 4px;
&.inactive {
opacity: 0.4;
}
}
}
}
}

View file

@ -1,178 +1,251 @@
.daggerheart.dialog.dh-style.views.tag-team-dialog {
.tag-team-container {
.tag-team-roll-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;
}
}
&.inactive {
opacity: 0.4;
pointer-events: none;
}
.title-row {
.team-container {
display: flex;
align-items: center;
gap: 8px;
gap: 16px;
h2 {
text-align: start;
}
select {
flex: 1;
}
}
.participants-container {
margin-top: 8px;
display: flex;
flex-direction: column;
gap: 4px;
.participant-outer-container {
padding: 8px;
.member-container {
display: flex;
flex-direction: column;
gap: 4px;
cursor: pointer;
border-radius: 6px;
justify-content: space-between;
gap: 8px;
flex: 1;
&.selected,
&:hover {
background-color: light-dark(@golden-40, @golden-40);
&.inactive {
opacity: 0.4;
pointer-events: none;
}
.participant-container {
.data-container {
display: flex;
flex-direction: column;
gap: 8px;
width: 100%;
}
.member-info {
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
width: 100%;
.participant-inner-container {
img {
height: 64px;
border-radius: 6px;
border: 1px solid light-dark(@dark-blue, @golden);
}
.member-name {
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;
}
}
}
text-align: center;
font-size: var(--font-size-18);
}
}
.participant-empty-roll-container {
border: 1px dashed white;
padding: 8px 2px;
text-align: center;
font-style: italic;
.roll-setup {
width: 100%;
}
.participant-roll-outer-container {
.roll-container {
display: flex;
flex-direction: column;
gap: 2px;
color: light-dark(@dark-blue, @golden);
}
h4 {
text-align: center;
.roll-title {
font-size: var(--font-size-20);
font-weight: bold;
color: light-dark(@dark-blue, @golden);
text-align: center;
display: flex;
align-items: center;
gap: 8px;
&::before,
&::after {
color: light-dark(@dark-blue, @golden);
content: '';
flex: 1;
height: 2px;
}
.participant-roll-container {
&::before {
background: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, light-dark(@dark-blue, @golden) 100%);
}
&::after {
background: linear-gradient(90deg, light-dark(@dark-blue, @golden) 0%, rgba(0, 0, 0, 0) 100%);
}
}
.roll-tools {
display: flex;
gap: 4px;
align-items: center;
img {
height: 16px;
}
a {
display: flex;
font-size: 16px;
&:hover {
text-shadow: none;
filter: drop-shadow(0 0 8px var(--golden));
}
}
}
.roll-data {
display: flex;
flex-direction: column;
align-items: center;
gap: 4px;
&.hope {
--text-color: @golden;
--bg-color: @golden-40;
}
&.fear {
--text-color: @chat-blue;
--bg-color: @chat-blue-40;
}
&.critical {
--text-color: @chat-purple;
--bg-color: @chat-purple-40;
}
.duality-label {
color: var(--text-color);
font-size: var(--font-size-20);
font-weight: bold;
text-align: center;
.unused-damage {
text-decoration: line-through;
}
}
.roll-dice-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;
flex-wrap: wrap;
gap: 8px;
.damage-container {
border: 1px solid light-dark(white, white);
border-radius: 6px;
padding: 0 4px;
.roll-dice {
position: relative;
display: flex;
gap: 4px;
align-items: center;
justify-content: center;
.dice-label {
position: absolute;
color: white;
font-size: 1rem;
paint-order: stroke fill;
-webkit-text-stroke: 2px black;
}
img {
height: 32px;
}
}
.roll-operator {
font-size: var(--font-size-24);
}
.roll-value {
font-size: 18px;
}
}
.roll-total {
background: var(--bg-color);
color: var(--text-color);
border-radius: 4px;
padding: 3px;
}
}
.select-roll-button {
margin-top: 8px;
i {
color: light-dark(@dark-blue, @golden);
font-size: 48px;
&.inactive {
opacity: 0.4;
}
}
}
}
}
h2 {
text-align: center;
}
.result-container {
display: grid;
grid-template-columns: 1fr 1fr;
.results-container {
display: flex;
flex-direction: column;
align-items: center;
gap: 8px;
gap: 4px;
border: 2px solid light-dark(@dark-blue, @golden);
border-radius: 6px;
padding: 8px 10px;
.result-damages-container {
.result-container-label {
font-size: var(--font-size-24);
font-weight: bold;
}
.results-inner-container {
display: flex;
flex-wrap: wrap;
gap: 4px;
justify-content: space-between;
gap: 8px;
width: 100%;
.result-damage-container {
border: 1px solid light-dark(white, white);
border-radius: 6px;
padding: 0 4px;
.result-section-label {
font-size: var(--font-size-20);
}
.result-container {
width: 100%;
text-align: center;
.result-info {
display: flex;
gap: 4px;
align-items: center;
justify-content: center;
}
}
}
}
.roll-leader-container {
.finish-container {
gap: 16px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 8px;
grid-template-columns: 1fr 1fr 1fr;
.finish-button {
grid-column: span 2;
}
}
.hint {
text-align: center;
}
}
}

View file

@ -14,11 +14,7 @@ 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 {
&.adversary,
&.character,
&.item {
background: @dark-blue;
}
background: @dark-blue;
}
}

View file

@ -31,5 +31,70 @@
text-align: center;
}
}
.armor-change-container {
padding-top: 0;
padding-bottom: 4px;
row-gap: 0;
legend {
display: flex;
align-items: center;
padding-left: 3px;
}
header {
padding: 0;
left: -0.25rem; // TODO: Find why this header is offset 0.25rem to the right so this can be removed.
}
header,
ol {
grid-template-columns: 5rem 7rem 12rem 4rem;
}
.damage-thresholds-container {
width: 100%;
display: flex;
flex-direction: column;
gap: 4px;
.damage-threshold-title {
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
&::before,
&::after {
content: '';
flex: 1;
height: 2px;
}
&::before {
background: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, light-dark(@dark-blue, @golden) 100%);
}
&::after {
background: linear-gradient(90deg, light-dark(@dark-blue, @golden) 0%, rgba(0, 0, 0, 0) 100%);
}
span {
font-size: var(--font-size-18);
}
}
.form-group {
flex-direction: column;
gap: 0;
label {
color: inherit;
line-height: 16px;
}
}
}
}
}
}

View file

@ -276,6 +276,23 @@
}
}
.slot-label {
.slot-value-container {
position: relative;
display: flex;
align-items: center;
justify-content: center;
width: 100%;
i {
position: absolute;
right: 0;
font-size: 12px;
color: light-dark(@beige, @dark-blue);
}
}
}
.status-value {
padding: 0 5px;
}
@ -298,6 +315,12 @@
border-radius: 3px;
background: light-dark(@dark-blue, @golden);
clip-path: none;
cursor: pointer;
display: flex;
align-items: center;
gap: 4px;
border: 1px solid transparent;
transition: all 0.3s ease;
h4 {
font-weight: bold;
@ -306,6 +329,20 @@
color: light-dark(@beige, @dark-blue);
font-size: var(--font-size-12);
}
i {
font-size: 12px;
color: light-dark(@beige, @dark-blue);
}
&:hover {
background: light-dark(@light-black, @dark-blue);
border: 1px solid light-dark(@dark-blue, @golden);
h4, i {
color: light-dark(@dark-blue, @golden);
}
}
}
.slot-value {
position: absolute;
@ -343,7 +380,7 @@
}
}
}
.slot-label {
.slot-label {
display: flex;
align-items: center;
color: light-dark(@beige, @dark-blue);
@ -355,6 +392,17 @@
font-size: var(--font-size-12);
flex-wrap: wrap;
justify-content: center;
border: 1px solid transparent;
transition: all 0.3s ease;
&:hover {
background: light-dark(@light-black, @dark-blue);
border: 1px solid light-dark(@dark-blue, @golden);
.label, .value, i {
color: light-dark(@dark-blue, @golden);
}
}
.label {
padding-right: 1px;

View file

@ -7,8 +7,12 @@
background-image: url('../assets/parchments/dh-parchment-dark.png');
}
}, {
&.party {
&.sheet.actor.dh-style.party {
background: url('../assets/parchments/dh-parchment-light.png');
.tab .actions-section .active-action {
animation: glow-dark 0.75s infinite alternate;
}
}
});
@ -40,6 +44,10 @@
font-size: 12px;
}
}
.active-action {
animation: glow 0.75s infinite alternate;
}
}
}
}

View file

@ -1,4 +1,5 @@
@import './tooltip/tooltip.less';
@import './tooltip/armorManagement.less';
@import './tooltip/battlepoints.less';
@import './tooltip/bordered-tooltip.less';
@import './tooltip/domain-cards.less';

View file

@ -1,7 +1,19 @@
@import '../../utils/fonts.less';
@import '../../utils/colors.less';
.bordered-tooltip.locked-tooltip .daggerheart.armor-management-container {
display: flex;
flex-direction: column;
gap: 16px;
gap: 10px;
padding-bottom: 10px;
h3 {
font-family: @font-subtitle;
margin: 0;
border: none;
font-weight: normal;
font-size: var(--font-size-20);
}
.armor-source-container {
display: flex;
@ -10,16 +22,16 @@
gap: 4px;
.armor-source-label {
font-size: var(--font-size-24);
font-weight: bold;
font-family: @font-body;
margin: 0;
}
.status-bar {
display: flex;
justify-content: center;
position: relative;
width: 80px;
height: 20px;
width: 100%;
height: 30px;
.status-value {
position: absolute;
@ -27,8 +39,8 @@
padding: 0 5px;
font-size: 1rem;
align-items: center;
width: 80px;
height: 20px;
width: 100%;
height: 30px;
justify-content: center;
text-align: center;
z-index: 2;
@ -36,13 +48,13 @@
input[type='number'] {
background: transparent;
font-size: 1rem;
font-size: 1.2rem;
width: 30px;
height: 15px;
text-align: center;
border: none;
outline: 2px solid transparent;
color: @beige;
font-family: @font-body;
&.bar-input {
padding: 0;
@ -50,6 +62,7 @@
backdrop-filter: none;
background: transparent;
transition: all 0.3s ease;
height: 25px;
&:hover,
&:focus {
@ -60,14 +73,16 @@
}
.bar-label {
font-family: @font-body;
width: 40px;
font-size: 1.2rem;
}
}
.progress-bar {
position: absolute;
appearance: none;
width: 80px;
height: 20px;
width: 100%;
height: 30px;
border: 1px solid light-dark(@dark-blue, @golden);
border-radius: 6px;
z-index: 1;
@ -97,4 +112,30 @@
}
}
}
.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;
align-items: center;
justify-content: center;
color: light-dark(@dark-blue, @golden);
min-height: 30px;
width: 100%;
.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);
}
}
}
}