264 - Action Feature Swap (#265)

* Removed action fields on Adversary/Environment in favor of using Feature Items

* Added drag/drop for features onto adversary/environment settings

* Added Drag of features from Adversary/Environment settings to anywhere in Foundry

* Updated all item types except Class/Subclass

* Added for Class/Subclass

* Items now copy over their features to Character

* Corrected back to actions for right items

* Fixed adversary/environment features display

* PR Fixes
This commit is contained in:
WBHarry 2025-07-05 22:35:05 +02:00 committed by GitHub
parent eac58c1386
commit e9ad9c539a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
58 changed files with 1146 additions and 1114 deletions

View file

@ -1,20 +1,20 @@
@import '../../utils/colors.less';
@import '../../utils/fonts.less';
.application.sheet.daggerheart.actor.dh-style.adversary {
.tab.actions {
.action-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;
padding-top: 10px;
height: 95%;
scrollbar-width: thin;
scrollbar-color: light-dark(@dark-blue, @golden) transparent;
}
}
}
@import '../../utils/colors.less';
@import '../../utils/fonts.less';
.application.sheet.daggerheart.actor.dh-style.adversary {
.tab.features {
.feature-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;
padding-top: 10px;
height: 95%;
scrollbar-width: thin;
scrollbar-color: light-dark(@dark-blue, @golden) transparent;
}
}
}

View file

@ -1,74 +0,0 @@
@import '../../utils/colors.less';
@import '../../utils/fonts.less';
.application.daggerheart.dh-style.dialog {
.tab.actions {
max-height: 450px;
overflow-y: auto;
scrollbar-width: thin;
scrollbar-color: light-dark(@dark-blue, @golden) transparent;
.add-action-btn {
width: 100%;
margin-bottom: 12px;
}
.action-list {
display: flex;
flex-direction: column;
gap: 10px;
.action-item {
display: grid;
grid-template-columns: 40px 1fr auto;
align-items: center;
gap: 5px;
border-radius: 3px;
img {
height: 40px;
width: 40px;
object-fit: cover;
}
.label {
font-family: @font-body;
.tags {
display: flex;
gap: 10px;
.tag {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
padding: 3px 5px;
font-size: 12px;
background: light-dark(@dark-15, @beige-15);
border: 1px solid light-dark(@dark, @beige);
border-radius: 3px;
}
.label {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
font-size: 12px;
}
}
}
.controls {
display: flex;
gap: 5px;
a {
text-align: center;
}
}
}
}
}
}

View file

@ -0,0 +1,48 @@
@import '../../utils/colors.less';
@import '../../utils/fonts.less';
.application.daggerheart.dh-style.dialog {
.tab.features {
max-height: 450px;
overflow-y: auto;
scrollbar-width: thin;
scrollbar-color: light-dark(@dark-blue, @golden) transparent;
.add-feature-btn {
width: 100%;
margin-bottom: 12px;
}
.feature-list {
display: flex;
flex-direction: column;
gap: 10px;
.feature-item {
display: grid;
grid-template-columns: 40px 1fr auto;
align-items: center;
gap: 5px;
border-radius: 3px;
img {
height: 40px;
width: 40px;
object-fit: cover;
}
.label {
font-family: @font-body;
}
.controls {
display: flex;
gap: 5px;
a {
text-align: center;
}
}
}
}
}
}

View file

@ -1,74 +0,0 @@
@import '../../utils/colors.less';
@import '../../utils/fonts.less';
.application.daggerheart.dh-style.dialog.environment-settings {
.tab.actions {
max-height: 450px;
overflow-y: auto;
scrollbar-width: thin;
scrollbar-color: light-dark(@dark-blue, @golden) transparent;
.add-action-btn {
width: 100%;
margin-bottom: 12px;
}
.action-list {
display: flex;
flex-direction: column;
gap: 10px;
.action-item {
display: grid;
grid-template-columns: 40px 1fr auto;
align-items: center;
gap: 5px;
img {
height: 40px;
width: 40px;
object-fit: cover;
border-radius: 3px;
}
.label {
font-family: @font-body;
.tags {
display: flex;
gap: 10px;
.tag {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
padding: 3px 5px;
font-size: 12px;
background: light-dark(@dark-15, @beige-15);
border: 1px solid light-dark(@dark, @beige);
border-radius: 3px;
}
.label {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
font-size: 12px;
}
}
}
.controls {
display: flex;
gap: 5px;
a {
text-align: center;
}
}
}
}
}
}

View file

@ -0,0 +1,48 @@
@import '../../utils/colors.less';
@import '../../utils/fonts.less';
.application.daggerheart.dh-style.dialog.environment-settings {
.tab.features {
max-height: 450px;
overflow-y: auto;
scrollbar-width: thin;
scrollbar-color: light-dark(@dark-blue, @golden) transparent;
.add-feature-btn {
width: 100%;
margin-bottom: 12px;
}
.feature-list {
display: flex;
flex-direction: column;
gap: 10px;
.feature-item {
display: grid;
grid-template-columns: 40px 1fr auto;
align-items: center;
gap: 5px;
img {
height: 40px;
width: 40px;
object-fit: cover;
border-radius: 3px;
}
.label {
font-family: @font-body;
}
.controls {
display: flex;
gap: 5px;
a {
text-align: center;
}
}
}
}
}
}

View file

@ -1,128 +1,128 @@
@import '../../utils/colors.less';
@import '../../utils/fonts.less';
.application.daggerheart.dialog.dh-style.views.roll-selection {
.roll-dialog-container {
display: flex;
flex-direction: column;
gap: 12px;
.dices-section {
display: flex;
gap: 60px;
justify-content: center;
.dice-option {
display: flex;
flex-direction: column;
align-items: center;
gap: 10px;
width: 120px;
.dice-icon {
width: 70px;
height: 70px;
object-fit: contain;
}
.dice-select {
display: flex;
align-items: center;
gap: 10px;
height: 32px;
.label {
font-family: @font-subtitle;
font-style: normal;
font-weight: 700;
font-size: 16px;
line-height: 19px;
color: light-dark(@dark, @beige);
}
}
}
}
.experience-container {
display: flex;
gap: 10px;
flex-wrap: wrap;
.experience-chip {
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-family: @font-body;
font-style: normal;
font-weight: 400;
font-size: 14px;
line-height: 17px;
}
&.selected {
background: light-dark(@dark-blue-40, @golden-40);
}
}
}
.modifier-container {
.advantage-chip,
.disadvantage-chip {
display: flex;
align-items: center;
border-radius: 5px;
width: fit-content;
gap: 5px;
cursor: pointer;
padding: 5px;
transition: all 0.3s ease;
.label {
font-family: @font-body;
font-style: normal;
font-weight: 400;
font-size: 14px;
line-height: 17px;
}
}
.advantage-chip {
background: @green-10;
color: @green;
&.selected {
color: @beige;
background: @gradient-green;
}
}
.disadvantage-chip {
background: @red-10;
color: @red;
&.selected {
color: @beige;
background: @gradient-red;
}
}
}
.formula-label {
font-family: @font-body;
font-style: normal;
font-weight: 500;
font-size: 14px;
line-height: 17px;
color: light-dark(@dark, @beige);
}
}
}
@import '../../utils/colors.less';
@import '../../utils/fonts.less';
.application.daggerheart.dialog.dh-style.views.roll-selection {
.roll-dialog-container {
display: flex;
flex-direction: column;
gap: 12px;
.dices-section {
display: flex;
gap: 60px;
justify-content: center;
.dice-option {
display: flex;
flex-direction: column;
align-items: center;
gap: 10px;
width: 120px;
.dice-icon {
width: 70px;
height: 70px;
object-fit: contain;
}
.dice-select {
display: flex;
align-items: center;
gap: 10px;
height: 32px;
.label {
font-family: @font-subtitle;
font-style: normal;
font-weight: 700;
font-size: 16px;
line-height: 19px;
color: light-dark(@dark, @beige);
}
}
}
}
.experience-container {
display: flex;
gap: 10px;
flex-wrap: wrap;
.experience-chip {
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-family: @font-body;
font-style: normal;
font-weight: 400;
font-size: 14px;
line-height: 17px;
}
&.selected {
background: light-dark(@dark-blue-40, @golden-40);
}
}
}
.modifier-container {
.advantage-chip,
.disadvantage-chip {
display: flex;
align-items: center;
border-radius: 5px;
width: fit-content;
gap: 5px;
cursor: pointer;
padding: 5px;
transition: all 0.3s ease;
.label {
font-family: @font-body;
font-style: normal;
font-weight: 400;
font-size: 14px;
line-height: 17px;
}
}
.advantage-chip {
background: @green-10;
color: @green;
&.selected {
color: @beige;
background: @gradient-green;
}
}
.disadvantage-chip {
background: @red-10;
color: @red;
&.selected {
color: @beige;
background: @gradient-red;
}
}
}
.formula-label {
font-family: @font-body;
font-style: normal;
font-weight: 500;
font-size: 14px;
line-height: 17px;
color: light-dark(@dark, @beige);
}
}
}