Fixed experience/evasion

This commit is contained in:
WBHarry 2025-07-11 16:00:00 +02:00
parent e2ca4506cd
commit b555420ff7
3 changed files with 7 additions and 10 deletions

View file

@ -19,8 +19,8 @@ export default class DhCharacterCreation extends HandlebarsApplicationMixin(Appl
class: this.character.system.class?.value ?? {}, class: this.character.system.class?.value ?? {},
subclass: this.character.system.class?.subclass ?? {}, subclass: this.character.system.class?.subclass ?? {},
experiences: { experiences: {
[foundry.utils.randomID()]: { description: '', value: 2 }, [foundry.utils.randomID()]: { name: '', value: 2 },
[foundry.utils.randomID()]: { description: '', value: 2 } [foundry.utils.randomID()]: { name: '', value: 2 }
}, },
domainCards: { domainCards: {
[foundry.utils.randomID()]: {}, [foundry.utils.randomID()]: {},
@ -173,7 +173,7 @@ export default class DhCharacterCreation extends HandlebarsApplicationMixin(Appl
const communityFinished = this.setup.community.uuid; const communityFinished = this.setup.community.uuid;
const classFinished = this.setup.class.uuid && this.setup.subclass.uuid; const classFinished = this.setup.class.uuid && this.setup.subclass.uuid;
const traitsFinished = Object.values(this.setup.traits).every(x => x.value !== null); const traitsFinished = Object.values(this.setup.traits).every(x => x.value !== null);
const experiencesFinished = Object.values(this.setup.experiences).every(x => x.description); const experiencesFinished = Object.values(this.setup.experiences).every(x => x.name);
const domainCardsFinished = Object.values(this.setup.domainCards).every(x => x.uuid); const domainCardsFinished = Object.values(this.setup.domainCards).every(x => x.uuid);
v.finished = v.finished =
ancestryFinished && ancestryFinished &&
@ -329,10 +329,7 @@ export default class DhCharacterCreation extends HandlebarsApplicationMixin(Appl
context.experience = { context.experience = {
values: this.setup.experiences, values: this.setup.experiences,
nrTotal: Object.keys(this.setup.experiences).length, nrTotal: Object.keys(this.setup.experiences).length,
nrSelected: Object.values(this.setup.experiences).reduce( nrSelected: Object.values(this.setup.experiences).reduce((acc, exp) => acc + (exp.name ? 1 : 0), 0)
(acc, exp) => acc + (exp.description ? 1 : 0),
0
)
}; };
context.mixedAncestry = Number(this.setup.mixedAncestry); context.mixedAncestry = Number(this.setup.mixedAncestry);
@ -409,7 +406,7 @@ export default class DhCharacterCreation extends HandlebarsApplicationMixin(Appl
case 6: case 6:
return 6; return 6;
case 5: case 5:
return Object.values(this.setup.experiences).every(x => x.description) ? 6 : 5; return Object.values(this.setup.experiences).every(x => x.name) ? 6 : 5;
case 4: case 4:
return Object.values(this.setup.traits).every(x => x.value !== null) ? 5 : 4; return Object.values(this.setup.traits).every(x => x.value !== null) ? 5 : 4;
case 3: case 3:

View file

@ -413,7 +413,7 @@ export default class DhCharacter extends BaseDataActor {
this.resources.hitPoints.maxTotal = (this.class.value?.system?.hitPoints ?? 0) + this.resources.hitPoints.bonus; this.resources.hitPoints.maxTotal = (this.class.value?.system?.hitPoints ?? 0) + this.resources.hitPoints.bonus;
this.resources.stress.maxTotal = this.resources.stress.max + this.resources.stress.bonus; this.resources.stress.maxTotal = this.resources.stress.max + this.resources.stress.bonus;
this.evasion.total = (this.class?.evasion ?? 0) + this.evasion.bonus; this.evasion.total = (this.class.value?.system?.evasion ?? 0) + this.evasion.bonus;
this.proficiency.total = this.proficiency.value + this.proficiency.bonus; this.proficiency.total = this.proficiency.value + this.proficiency.bonus;
} }

View file

@ -9,7 +9,7 @@
<div class="experiences-inner-container"> <div class="experiences-inner-container">
{{#each experience.values as |experience id|}} {{#each experience.values as |experience id|}}
<div class="experience-container"> <div class="experience-container">
<input class="experience-description" type="text" name="{{concat "experiences." id ".description" }}" value="{{experience.description}}" placeholder="{{localize "DAGGERHEART.APPLICATIONS.CharacterCreation.newExperience"}}" /> <input class="experience-description" type="text" name="{{concat "experiences." id ".name" }}" value="{{experience.name}}" placeholder="{{localize "DAGGERHEART.APPLICATIONS.CharacterCreation.newExperience"}}" />
<div class="experience-value">{{numberFormat this.value sign=true}}</div> <div class="experience-value">{{numberFormat this.value sign=true}}</div>
</div> </div>
{{/each}} {{/each}}