mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-01-12 03:31:07 +01:00
[Feature] Manual Character Editing (#490)
* Initial * Added Character-Settings * Finalized Character-Settings * Hide CharacterSetup if any part is done manually * Fixed class/subclass drag-drop * Fixed relinking of Features from items created on Character * Adding features on CharacterItems now adds them on the Character and relinks * Made suggested items inactive in the Class sheet if rendered from inside a Character * Added hope to CharacterSetting * add style to textarea element, add spellcasting and domain class into char sheet and move rest buttons to another place * Fixed characterCreation experience description --------- Co-authored-by: moliloo <dev.murilobrito@gmail.com>
This commit is contained in:
parent
263dfa69ae
commit
e1d8f8784a
49 changed files with 1205 additions and 386 deletions
|
|
@ -263,24 +263,36 @@
|
|||
gap: 8px;
|
||||
|
||||
.experience-container {
|
||||
position: relative;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
gap: 5px;
|
||||
|
||||
.experience-description {
|
||||
border-color: light-dark(@dark-blue, @golden);
|
||||
padding-right: 24px;
|
||||
}
|
||||
|
||||
.experience-value {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
width: 22px;
|
||||
border-left: 1px solid light-dark(@dark-blue, @golden);
|
||||
height: 100%;
|
||||
.experience-inner-container {
|
||||
position: relative;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
|
||||
.experience-description {
|
||||
border-color: light-dark(@dark-blue, @golden);
|
||||
padding-right: 24px;
|
||||
}
|
||||
|
||||
.experience-value {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
width: 22px;
|
||||
border-left: 1px solid light-dark(@dark-blue, @golden);
|
||||
height: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
}
|
||||
|
||||
textarea {
|
||||
width: 100%;
|
||||
resize: none;
|
||||
border-color: light-dark(@dark-blue, @golden);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,3 +24,5 @@
|
|||
@import './dice-roll/roll-selection.less';
|
||||
@import './damage-reduction/damage-reduction-container.less';
|
||||
@import './damage-reduction/sheets.less';
|
||||
|
||||
@import './multiclass-choice/sheet.less';
|
||||
|
|
|
|||
|
|
@ -104,4 +104,10 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
.levelup-footer {
|
||||
display: flex;
|
||||
gap: 8px;
|
||||
margin-top: 8px;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
76
styles/less/dialog/multiclass-choice/sheet.less
Normal file
76
styles/less/dialog/multiclass-choice/sheet.less
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
.theme-light .daggerheart.dh-style.dialog.multiclass-choice {
|
||||
.multiclass-container .domain-choice-container button label {
|
||||
background-image: url(../assets/parchments/dh-parchment-light.png);
|
||||
}
|
||||
}
|
||||
|
||||
.daggerheart.dh-style.dialog.multiclass-choice {
|
||||
.multiclass-container {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
|
||||
.multiclass-explanation {
|
||||
margin-top: 0;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.multiclass-domains-container {
|
||||
display: flex;
|
||||
gap: 16px;
|
||||
|
||||
.domain-choice-container {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
|
||||
button {
|
||||
position: relative;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
width: 120px;
|
||||
height: 120px;
|
||||
background: light-dark(@dark-blue-10, @golden-10);
|
||||
color: light-dark(@dark-blue, @golden);
|
||||
|
||||
&.selected {
|
||||
background: light-dark(@dark-blue-40, @golden-40);
|
||||
}
|
||||
|
||||
label {
|
||||
position: absolute;
|
||||
top: 4px;
|
||||
font-family: @font-body;
|
||||
border-radius: 6px;
|
||||
border: 2px solid;
|
||||
padding: 0 2px;
|
||||
background-image: url(../assets/parchments/dh-parchment-dark.png);
|
||||
color: light-dark(@dark, @beige);
|
||||
}
|
||||
}
|
||||
|
||||
.domain-description {
|
||||
width: 240px;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
font-style: italic;
|
||||
border: 1px solid light-dark(@dark-blue, @golden);
|
||||
border-radius: 6px;
|
||||
padding: 4px 4px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
footer {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
gap: 8px;
|
||||
|
||||
button {
|
||||
flex: 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -5,22 +5,26 @@
|
|||
border: 1px solid light-dark(@dark-blue, @golden);
|
||||
|
||||
input[type='text'],
|
||||
input[type='number'] {
|
||||
input[type='number'],
|
||||
textarea {
|
||||
background: light-dark(transparent, transparent);
|
||||
border-radius: 6px;
|
||||
box-shadow: 0 4px 30px @soft-shadow;
|
||||
backdrop-filter: blur(9.5px);
|
||||
-webkit-backdrop-filter: blur(9.5px);
|
||||
outline: none;
|
||||
outline: 2px solid transparent;
|
||||
color: light-dark(@dark-blue, @golden);
|
||||
border: 1px solid light-dark(@dark, @beige);
|
||||
transition: all 0.3s ease;
|
||||
|
||||
&::placeholder {
|
||||
color: light-dark(@dark-40, @beige-50);
|
||||
}
|
||||
|
||||
&:hover,
|
||||
&:hover[type='text'],
|
||||
&:hover[type='number'],
|
||||
&:focus,
|
||||
&:focus[type='text'],
|
||||
&:focus[type='number'] {
|
||||
background: light-dark(@soft-shadow, @semi-transparent-dark-blue);
|
||||
|
|
@ -70,6 +74,13 @@
|
|||
}
|
||||
}
|
||||
|
||||
textarea {
|
||||
color: light-dark(@dark, @beige);
|
||||
font-family: @font-body;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: light-dark(@dark-blue, @golden) transparent;
|
||||
}
|
||||
|
||||
button {
|
||||
background: light-dark(transparent, @golden);
|
||||
border: 1px solid light-dark(@dark-blue, @dark-blue);
|
||||
|
|
@ -206,6 +217,10 @@
|
|||
}
|
||||
}
|
||||
|
||||
&.inactive {
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
&.fit-height {
|
||||
height: 95%;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,18 +12,33 @@
|
|||
.experience-list {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
gap: 15px;
|
||||
}
|
||||
|
||||
.experience-item {
|
||||
.experience-item {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 5px;
|
||||
|
||||
.experience-inner-item {
|
||||
display: grid;
|
||||
grid-template-columns: 3fr 1fr 30px;
|
||||
align-items: center;
|
||||
gap: 5px;
|
||||
|
||||
&.no-controls {
|
||||
grid-template-columns: 3fr 1fr;
|
||||
}
|
||||
|
||||
a {
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
|
||||
textarea {
|
||||
width: 100%;
|
||||
resize: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
36
styles/less/sheets-settings/character-settings/sheet.less
Normal file
36
styles/less/sheets-settings/character-settings/sheet.less
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
.application.daggerheart.dh-style.dialog {
|
||||
.tab.details {
|
||||
.traits-inner-container {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-evenly;
|
||||
gap: 8px;
|
||||
|
||||
.trait-container {
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
background: url(../assets/svg/trait-shield.svg) no-repeat;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
|
||||
div {
|
||||
filter: drop-shadow(0 0 3px black);
|
||||
text-shadow: 0 0 3px black;
|
||||
font-family: @font-body;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
input {
|
||||
text-align: center;
|
||||
width: 32px;
|
||||
height: 24px;
|
||||
position: relative;
|
||||
top: 2px;
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -2,6 +2,7 @@
|
|||
@import './adversary-settings/sheet.less';
|
||||
@import './adversary-settings/experiences.less';
|
||||
@import './adversary-settings/features.less';
|
||||
@import './character-settings/sheet.less';
|
||||
|
||||
@import './environment-settings/features.less';
|
||||
@import './environment-settings/adversaries.less';
|
||||
|
|
|
|||
|
|
@ -4,12 +4,24 @@
|
|||
|
||||
// Theme header backgrounds
|
||||
.appTheme({
|
||||
.character-header-sheet .trait {
|
||||
background: url(../assets/svg/trait-shield.svg) no-repeat;
|
||||
.character-header-sheet {
|
||||
.trait {
|
||||
background: url(../assets/svg/trait-shield.svg) no-repeat;
|
||||
}
|
||||
|
||||
.character-row .domains-section img {
|
||||
filter: invert(88%) sepia(98%) saturate(1784%) hue-rotate(311deg) brightness(104%) contrast(91%);
|
||||
}
|
||||
}
|
||||
}, {
|
||||
.character-header-sheet .trait {
|
||||
.character-header-sheet {
|
||||
.trait {
|
||||
background: url('../assets/svg/trait-shield-light.svg') no-repeat;
|
||||
}
|
||||
|
||||
.character-row .domains-section img {
|
||||
filter: invert(87%) sepia(15%) saturate(343%) hue-rotate(333deg) brightness(110%) contrast(87%);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
|
@ -88,6 +100,11 @@
|
|||
font-size: 12px;
|
||||
color: light-dark(@dark-blue, @golden);
|
||||
|
||||
.missing-header-feature {
|
||||
opacity: 0.5;
|
||||
text-decoration: line-through;
|
||||
}
|
||||
|
||||
span {
|
||||
padding: 3px;
|
||||
border-radius: 3px;
|
||||
|
|
@ -107,14 +124,27 @@
|
|||
|
||||
.character-row {
|
||||
display: flex;
|
||||
gap: 20px;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding: 0;
|
||||
margin-bottom: 15px;
|
||||
|
||||
.hope-section {
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
.downtime-section {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 2px;
|
||||
margin-left: auto;
|
||||
|
||||
button {
|
||||
flex: 1;
|
||||
}
|
||||
}
|
||||
|
||||
.hope-section,
|
||||
.threshold-section {
|
||||
.domains-section {
|
||||
position: relative;
|
||||
display: flex;
|
||||
gap: 10px;
|
||||
|
|
@ -132,21 +162,24 @@
|
|||
font-weight: bold;
|
||||
text-transform: uppercase;
|
||||
color: light-dark(@dark-blue, @golden);
|
||||
|
||||
&.threshold-value {
|
||||
color: light-dark(@dark, @beige);
|
||||
}
|
||||
}
|
||||
|
||||
.threshold-legend {
|
||||
position: absolute;
|
||||
bottom: -21px;
|
||||
color: light-dark(@golden, @dark-blue);
|
||||
background-color: light-dark(@dark-blue, @golden);
|
||||
padding: 3px;
|
||||
justify-self: anchor-center;
|
||||
border-radius: 0 0 3px 3px;
|
||||
text-transform: capitalize;
|
||||
.domain {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 5px;
|
||||
|
||||
.label {
|
||||
font-size: 14px;
|
||||
font-weight: bold;
|
||||
text-transform: uppercase;
|
||||
color: light-dark(@dark-blue, @golden);
|
||||
}
|
||||
|
||||
img {
|
||||
height: 20px;
|
||||
width: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
.hope-value {
|
||||
|
|
@ -193,14 +226,5 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
.character-downtime-container {
|
||||
display: flex;
|
||||
gap: 2px;
|
||||
|
||||
button {
|
||||
flex: 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@
|
|||
}
|
||||
|
||||
.character-header-sheet {
|
||||
position: relative;
|
||||
grid-row: 1;
|
||||
grid-column: 2;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -55,6 +55,62 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
.icons-list {
|
||||
position: absolute;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 5px;
|
||||
align-items: end;
|
||||
justify-content: center;
|
||||
top: 45px;
|
||||
right: 10px;
|
||||
|
||||
.spellcast-icon {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: end;
|
||||
text-align: center;
|
||||
padding-right: 8px;
|
||||
max-width: 50px;
|
||||
height: 50px;
|
||||
font-size: 1.2rem;
|
||||
background: light-dark(@dark-blue-60, @dark-golden-80);
|
||||
backdrop-filter: blur(8px);
|
||||
border: 4px double light-dark(@beige, @golden);
|
||||
color: light-dark(@beige, @golden);
|
||||
border-radius: 999px;
|
||||
transition: all 0.3s ease;
|
||||
|
||||
.spellcast-label {
|
||||
font-size: 14px;
|
||||
opacity: 0;
|
||||
margin-right: 0.3rem;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
i {
|
||||
height: 24px;
|
||||
width: 24px;
|
||||
align-content: center;
|
||||
margin-right: 3px;
|
||||
}
|
||||
|
||||
&:not(.no-label):hover {
|
||||
max-width: 300px;
|
||||
padding: 0 10px;
|
||||
border-radius: 60px;
|
||||
|
||||
.spellcast-label {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
i {
|
||||
margin-right: 0px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.info-section {
|
||||
|
|
@ -62,12 +118,13 @@
|
|||
display: flex;
|
||||
flex-direction: column;
|
||||
top: -20px;
|
||||
gap: 30px;
|
||||
gap: 10px;
|
||||
margin-bottom: -16px;
|
||||
|
||||
.resources-section {
|
||||
display: flex;
|
||||
justify-content: space-evenly;
|
||||
margin-bottom: 20px;
|
||||
|
||||
.status-bar {
|
||||
display: flex;
|
||||
|
|
@ -345,6 +402,32 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
.threshold-section {
|
||||
position: relative;
|
||||
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: 6px;
|
||||
align-items: center;
|
||||
width: fit-content;
|
||||
height: 30px;
|
||||
|
||||
h4 {
|
||||
font-size: 14px;
|
||||
font-weight: bold;
|
||||
text-transform: uppercase;
|
||||
color: light-dark(@dark-blue, @golden);
|
||||
|
||||
&.threshold-value {
|
||||
color: light-dark(@dark, @beige);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.items-sidebar-list {
|
||||
|
|
@ -360,7 +443,7 @@
|
|||
.shortcut-items-section {
|
||||
overflow-y: hidden;
|
||||
max-height: 56%;
|
||||
padding-top: 16px;
|
||||
padding-top: 10px;
|
||||
padding-bottom: 20px;
|
||||
mask-image: linear-gradient(0deg, transparent 0%, black 5%, black 95%, transparent 100%);
|
||||
|
||||
|
|
@ -393,35 +476,24 @@
|
|||
|
||||
.experience-row {
|
||||
display: flex;
|
||||
gap: 5px;
|
||||
width: 250px;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
|
||||
input[type='text'] {
|
||||
height: 32px;
|
||||
width: 180px;
|
||||
border: 1px solid transparent;
|
||||
outline: 2px solid transparent;
|
||||
.experience-value {
|
||||
height: 25px;
|
||||
width: 35px;
|
||||
font-size: 14px;
|
||||
font-family: @font-body;
|
||||
transition: all 0.3s ease;
|
||||
color: light-dark(@dark, @beige);
|
||||
|
||||
&:hover {
|
||||
outline: 2px solid light-dark(@dark, @beige);
|
||||
}
|
||||
align-content: center;
|
||||
text-align: center;
|
||||
margin-right: 5px;
|
||||
}
|
||||
}
|
||||
|
||||
.experience-value {
|
||||
height: 25px;
|
||||
width: 35px;
|
||||
font-size: 14px;
|
||||
font-family: @font-body;
|
||||
color: light-dark(@dark, @beige);
|
||||
align-content: center;
|
||||
text-align: center;
|
||||
.controls {
|
||||
margin-left: auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue