Added markers

This commit is contained in:
WBHarry 2025-06-06 02:55:53 +02:00
parent 43444dfd42
commit c5f8f88c1f
7 changed files with 59 additions and 64 deletions

View file

@ -794,8 +794,6 @@
},
"notifications": {
"info": {
"tierAdvancementInfo": "Advancements from a higher tier can always be used to select advancements in a lower tier.",
"remainingAdvancementInfo": "Remaining Choices: {choices}",
"insufficentAdvancements": "You don't have enough advancements left.",
"insufficientTierAdvancements": "You have no available advancements for this tier."
},

View file

@ -112,6 +112,9 @@ export default class DhlevelUp extends HandlebarsApplicationMixin(ApplicationV2)
show: this.tabGroups.primary !== 'summary'
}
};
const { selections } = currentLevel.nrSelections;
context.tabs.advancements.progress = { selected: selections, max: currentLevel.maxSelections };
break;
case 'selections':
const advancementChoices = Object.keys(currentLevel.choices).reduce((acc, choiceKey) => {
@ -131,19 +134,29 @@ export default class DhlevelUp extends HandlebarsApplicationMixin(ApplicationV2)
}, {});
const traits = Object.values(advancementChoices.trait ?? {});
const traitValues = traits.filter(trait => trait.data.length > 0).flatMap(trait => trait.data);
context.traits = {
values: traits.filter(trait => trait.data.length > 0).flatMap(trait => trait.data),
active: traits.length > 0
values: traitValues,
active: traits.length > 0,
progress: {
selected: traitValues.length,
max: traits.reduce((acc, exp) => acc + exp.amount, 0)
}
};
const experienceIncreases = Object.values(advancementChoices.experience ?? {});
const experienceIncreaseValues = experienceIncreases
.filter(exp => exp.data.length > 0)
.flatMap(exp =>
exp.data.map(data => this.actor.system.experiences.find(x => x.id === data).description)
);
context.experienceIncreases = {
values: experienceIncreases
.filter(exp => exp.data.length > 0)
.flatMap(exp =>
exp.data.map(data => this.actor.system.experiences.find(x => x.id === data).description)
),
active: experienceIncreases.length > 0
values: experienceIncreaseValues,
active: experienceIncreases.length > 0,
progress: {
selected: experienceIncreaseValues.length,
max: experienceIncreases.reduce((acc, exp) => acc + exp.amount, 0)
}
};
context.newExperiences = Object.keys(currentLevel.achievements.experiences).map(key => {

View file

@ -2743,6 +2743,11 @@ div.daggerheart.views.multiclass {
.daggerheart.levelup .levelup-navigation-container nav {
flex: 1;
}
.daggerheart.levelup .levelup-navigation-container nav .levelup-tab-container {
display: flex;
align-items: center;
gap: 4px;
}
.daggerheart.levelup .levelup-navigation-container .levelup-navigation-actions {
width: 306px;
display: flex;
@ -2884,6 +2889,11 @@ div.daggerheart.views.multiclass {
position: relative;
right: 2px;
}
.daggerheart.levelup .levelup-selections-container .levelup-selections-title {
display: flex;
align-items: center;
gap: 4px;
}
.daggerheart.levelup .levelup-summary-container .level-achievements-container,
.daggerheart.levelup .levelup-summary-container .level-advancements-container {
display: flex;
@ -2920,24 +2930,6 @@ div.daggerheart.views.multiclass {
.daggerheart.levelup .levelup-footer {
display: flex;
}
.daggerheart.levelup .levelup-footer .advancement-information-container {
display: flex;
gap: 8px;
border-bottom: 3px solid;
border-radius: 4px;
margin-left: 8px;
align-items: center;
padding: 0 8px;
border-color: #9f8475;
}
.daggerheart.levelup .levelup-footer .advancement-information-container .advancement-tier-stats {
border: 1px solid;
padding: 0 2px;
border-radius: 6px;
}
.daggerheart.levelup .levelup-footer .advancement-information-container .advancement-tier-info {
font-size: 14px;
}
:root {
--primary-color-fear: rgba(9, 71, 179, 0.75);
--secondary-color-fear: rgba(9, 71, 179, 0.75);

View file

@ -35,6 +35,12 @@
nav {
flex: 1;
.levelup-tab-container {
display: flex;
align-items: center;
gap: 4px;
}
}
.levelup-navigation-actions {
@ -204,6 +210,12 @@
}
}
}
.levelup-selections-title {
display: flex;
align-items: center;
gap: 4px;
}
}
.levelup-summary-container {
@ -244,26 +256,5 @@
.levelup-footer {
display: flex;
.advancement-information-container {
display: flex;
gap: 8px;
border-bottom: 3px solid;
border-radius: 4px;
margin-left: 8px;
align-items: center;
padding: 0 8px;
border-color: rgb(159, 132, 117);
.advancement-tier-stats {
border: 1px solid;
padding: 0 2px;
border-radius: 6px;
}
.advancement-tier-info {
font-size: 14px;
}
}
}
}

View file

@ -36,15 +36,5 @@
</fieldset>
{{/each}}
</div>
<footer class="levelup-footer">
<div class="advancement-information-container">
{{localize "DAGGERHEART.Application.LevelUp.notifications.info.remainingAdvancementInfo" choices=this.levelup.levelSelections.totalAvailable}}
{{#each this.levelup.tiers as |tier key|}}
<div class="advancement-tier-stats">Tier {{tier.tier}}: {{tier.selections.totalAvailable}}</div>
{{/each}}
<i class="advancement-tier-info fa-solid fa-circle-question" data-tooltip="{{localize "DAGGERHEART.Application.LevelUp.notifications.info.tierAdvancementInfo"}}"></i>
</div>
</footer>
</div>
</section>

View file

@ -25,7 +25,10 @@
{{#if this.traits.active}}
<div>
<h3>{{localize "DAGGERHEART.Application.LevelUp.summary.traits"}}</h3>
<h3 class="levelup-selections-title">
<div>{{localize "DAGGERHEART.Application.LevelUp.summary.traits"}}</div>
<div>{{this.traits.progress.selected}}/{{this.traits.progress.max}}</div>
</h3>
<input type="text" class="levelup-trait-increases" value="{{this.traits.values}}" />
</div>
@ -33,7 +36,10 @@
{{#if this.experienceIncreases.active}}
<div>
<h3>{{localize "DAGGERHEART.Application.LevelUp.summary.experienceIncreases"}}</h3>
<h3 class="levelup-selections-title">
<div>{{localize "DAGGERHEART.Application.LevelUp.summary.experienceIncreases"}}</div>
<div>{{this.experienceIncreases.progress.selected}}/{{this.experienceIncreases.progress.max}}</div>
</h3>
<input type="text" class="levelup-experience-increases" value="{{this.experienceIncreases.values}}" />
</div>

View file

@ -4,9 +4,14 @@
<nav class='feature-tab sheet-tabs tabs' data-group='primary'>
{{#each tabs as |tab|}}
{{#if (not (eq tab.id 'summary'))}}
<a class='{{tab.id}} {{tab.cssClass}}' data-action='tab' data-group='{{tab.group}}' data-tab='{{tab.id}}'>
{{localize tab.label}}
</a>
<div class="levelup-tab-container">
<a class='{{tab.id}} {{tab.cssClass}}' data-action='tab' data-group='{{tab.group}}' data-tab='{{tab.id}}'>
{{localize tab.label}}
</a>
{{#if tab.progress}}
<div>{{tab.progress.selected}}/{{tab.progress.max}}</div>
{{/if}}
</div>
{{/if}}
{{/each}}
</nav>