[Feature] Encounter Battlepoints (#1346)

* Added BP calculation and tooltip breakdown of BP sources

* Added Modifiers

* Fixed automatic battleToggles

* Corrected 'NoToughies' conditional

* Fixed GM-only visibility

* Fixed combatant isNPC
This commit is contained in:
WBHarry 2025-12-06 21:11:34 +01:00 committed by GitHub
parent c3cb9121af
commit 451bef4c92
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
21 changed files with 712 additions and 141 deletions

View file

@ -4,6 +4,12 @@
.encounter-title {
text-align: left;
flex: none;
}
.encounter-battlepoints {
display: flex;
cursor: help;
}
.inner-controls {

View file

@ -31,4 +31,4 @@
font-size: var(--font-size-12);
}
}
}
}

View file

@ -1,3 +1,4 @@
@import './tooltip/tooltip.less';
@import './tooltip/battlepoints.less';
@import './tooltip/bordered-tooltip.less';
@import './autocomplete/autocomplete.less';

View file

@ -0,0 +1,42 @@
.daggerheart.dh-style.tooltip {
.battlepoint-categories-container {
display: flex;
flex-direction: column;
gap: 8px;
margin-bottom: 16px;
.battlepoint-grouping-container {
display: flex;
gap: 4px;
.unselected-grouping {
opacity: 0.4;
}
}
}
.battlepoint-toggles-container {
display: flex;
flex-direction: column;
gap: 8px;
.battlepoint-toggle-container {
display: flex;
gap: 4px;
&.inactive {
opacity: 0.4;
}
.grouping-lock {
font-size: 17.5px;
margin: 0 5px;
color: @golden;
}
input {
margin-top: 0;
}
}
}
}

View file

@ -1,140 +1,147 @@
.daggerheart.dh-style.tooltip {
display: flex;
flex-direction: column;
align-items: center;
gap: 4px;
border-width: 0;
.tooltip-title-container {
width: 100%;
display: flex;
align-items: center;
gap: 16px;
.tooltip-image {
height: 40px;
width: 40px;
border-radius: 6px;
border: 1px solid @golden;
}
#tooltip,
.locked-tooltip {
&.wide {
max-width: 480px;
}
.tooltip-title {
margin: 0;
text-align: center;
}
.tooltip-image {
height: 180px;
width: 180px;
}
.tooltip-description {
font-style: italic;
text-align: start;
}
.simple-info {
font-style: italic;
}
.tooltip-sub-title {
margin: 0;
color: light-dark(@dark-blue, @beige);
}
.tooltip-information-section {
width: 100%;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 4px;
&.spaced {
margin-top: 8px;
}
&.triple {
grid-template-columns: 1fr 1fr 1fr;
}
.tooltip-information {
display: flex;
flex-direction: column;
align-items: center;
gap: 2px;
&.full-width {
grid-column: span 2;
}
label {
font-weight: bold;
}
label,
div {
white-space: nowrap;
}
}
}
.tooltip-chips {
display: flex;
justify-content: space-around;
flex-wrap: wrap;
gap: 8px;
.tooltip-chip {
font-size: var(--font-size-18);
padding: 2px 4px;
border: 1px solid light-dark(@dark-blue, @golden);
border-radius: 6px;
color: light-dark(@dark, @beige);
background-image: url(../assets/parchments/dh-parchment-dark.png);
}
}
.tooltip-tags {
width: 100%;
.daggerheart.dh-style.tooltip {
display: flex;
flex-direction: column;
align-items: center;
gap: 4px;
border-width: 0;
.tooltip-tag {
.tooltip-title-container {
width: 100%;
display: grid;
grid-template-columns: 80px 1fr;
align-items: start;
gap: 8px;
padding: 4px;
border: 1px solid light-dark(@dark-blue, @golden);
border-radius: 6px;
display: flex;
align-items: center;
gap: 16px;
.tooltip-tag-label-container {
display: flex;
align-items: center;
flex-direction: column;
gap: 2px;
.tooltip-tag-image {
width: 40px;
height: 40px;
}
}
.tooltip-tag-label {
font-weight: bold;
text-align: center;
}
.tooltip-tag-description {
display: flex;
flex-wrap: wrap;
.tooltip-image {
height: 40px;
width: 40px;
border-radius: 6px;
border: 1px solid @golden;
}
}
}
.spaced {
margin-bottom: 4px;
.tooltip-title {
margin: 0;
text-align: center;
}
.tooltip-image {
height: 180px;
width: 180px;
}
.tooltip-description {
font-style: italic;
text-align: start;
}
.simple-info {
font-style: italic;
}
.tooltip-sub-title {
margin: 0;
color: light-dark(@dark-blue, @beige);
}
.tooltip-information-section {
width: 100%;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 4px;
&.spaced {
margin-top: 8px;
}
&.triple {
grid-template-columns: 1fr 1fr 1fr;
}
.tooltip-information {
display: flex;
flex-direction: column;
align-items: center;
gap: 2px;
&.full-width {
grid-column: span 2;
}
label {
font-weight: bold;
}
label,
div {
white-space: nowrap;
}
}
}
.tooltip-chips {
display: flex;
justify-content: space-around;
flex-wrap: wrap;
gap: 8px;
.tooltip-chip {
font-size: var(--font-size-18);
padding: 2px 4px;
border: 1px solid light-dark(@dark-blue, @golden);
border-radius: 6px;
color: light-dark(@dark, @beige);
background-image: url(../assets/parchments/dh-parchment-dark.png);
}
}
.tooltip-tags {
width: 100%;
display: flex;
flex-direction: column;
gap: 4px;
.tooltip-tag {
width: 100%;
display: grid;
grid-template-columns: 80px 1fr;
align-items: start;
gap: 8px;
padding: 4px;
border: 1px solid light-dark(@dark-blue, @golden);
border-radius: 6px;
.tooltip-tag-label-container {
display: flex;
align-items: center;
flex-direction: column;
gap: 2px;
.tooltip-tag-image {
width: 40px;
height: 40px;
}
}
.tooltip-tag-label {
font-weight: bold;
text-align: center;
}
.tooltip-tag-description {
display: flex;
flex-wrap: wrap;
}
}
}
.spaced {
margin-bottom: 4px;
}
}
}