Fix error with adding multiclass

This commit is contained in:
Carlos Fernandez 2026-05-14 23:06:03 -04:00
parent 829a6161ff
commit 3bacb434f9
3 changed files with 66 additions and 59 deletions

View file

@ -156,6 +156,7 @@ export default class DhCharacterLevelUp extends LevelUpBase {
if (multiclasses?.[0]) { if (multiclasses?.[0]) {
const data = multiclasses[0]; const data = multiclasses[0];
const multiclass = data.data.length > 0 ? await foundry.utils.fromUuid(data.data[0]) : {}; const multiclass = data.data.length > 0 ? await foundry.utils.fromUuid(data.data[0]) : {};
const subclasses = (await multiclass?.system?.fetchSubclasses()) ?? [];
context.multiclass = { context.multiclass = {
...data, ...data,
@ -175,13 +176,12 @@ export default class DhCharacterLevelUp extends LevelUpBase {
alreadySelected alreadySelected
}; };
}) ?? [], }) ?? [],
subclasses: subclasses: subclasses.map(subclass => ({
multiclass?.system?.subclasses.map(subclass => ({ ...subclass,
...subclass, uuid: subclass.uuid,
uuid: subclass.uuid, selected: data.secondaryData.subclass === subclass.uuid,
selected: data.secondaryData.subclass === subclass.uuid, disabled: data.secondaryData.subclass && data.secondaryData.subclass !== subclass.uuid
disabled: data.secondaryData.subclass && data.secondaryData.subclass !== subclass.uuid })),
})) ?? [],
compendium: 'classes', compendium: 'classes',
limit: 1 limit: 1
}; };

View file

@ -45,20 +45,22 @@
.levelup-card-selection { .levelup-card-selection {
display: flex; display: flex;
flex-wrap: wrap;
justify-content: center; justify-content: center;
gap: 40px; gap: 40px;
height: 190px; height: 190px;
align-items: stretch;
.card-preview-container { .card-preview-container {
height: 100%; height: 190px;
max-width: 200px; max-width: 200px;
} }
.levelup-domains-selection-container { .levelup-domains-selection-container {
display: flex; display: grid;
flex-direction: column; grid-auto-flow: column;
gap: 8px; grid-template-rows: repeat(2, minmax(0, 1fr));
height: 100%;
gap: 4px;
.levelup-domain-selection-container { .levelup-domain-selection-container {
display: flex; display: flex;
@ -66,6 +68,8 @@
align-items: center; align-items: center;
position: relative; position: relative;
cursor: pointer; cursor: pointer;
overflow: hidden;
width: 93px;
&.disabled { &.disabled {
pointer-events: none; pointer-events: none;
@ -83,7 +87,9 @@
} }
img { img {
height: 124px; object-fit: cover;
width: auto;
height: auto;
&.svg { &.svg {
filter: @beige-filter; filter: @beige-filter;
@ -92,17 +98,18 @@
.levelup-domain-selected { .levelup-domain-selected {
position: absolute; position: absolute;
height: 54px; height: 48px;
width: 54px; width: 48px;
border-radius: 50%; border-radius: 50%;
border: 2px solid; border: 2px solid @golden;
font-size: var(--font-size-48); font-size: var(--font-size-28);
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
background-image: url(../assets/parchments/dh-parchment-light.png); background: @dark-golden;
color: var(--color-dark-5); color: @golden;
top: calc(50% - 29px); top: calc(50% - 10px);
z-index: 2;
i { i {
position: relative; position: relative;

View file

@ -43,45 +43,6 @@
</fieldset> </fieldset>
{{/if}} {{/if}}
{{#if (gt this.domainCards.length 0)}}
<div class="card-section">
<div class="card-section-header">
<side-line-div class="invert"></side-line-div>
<h3>{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.domainCards"}}</h3>
<side-line-div></side-line-div>
</div>
<div class="tip">
</div>
<div class="levelup-card-selection domain-cards">
{{#each this.domainCards}}
{{#> "systems/daggerheart/templates/components/card-preview.hbs" this }}
{{#each this.emptySubtexts}}
<div class="">{{this}}</div>
{{/each}}
{{/"systems/daggerheart/templates/components/card-preview.hbs"}}
{{/each}}
</div>
</div>
{{/if}}
{{#if (gt this.subclassCards.length 0)}}
<div class="card-section">
<div class="card-section-header">
<side-line-div class="invert"></side-line-div>
<h3>{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.subclass"}}</h3>
<side-line-div></side-line-div>
</div>
<div class="levelup-card-selection subclass-cards">
{{#each this.subclassCards}}
{{> "systems/daggerheart/templates/levelup/parts/selectable-card-preview.hbs" img=this.img header=this.featureLabel name=this.name path=this.path selected=this.selected uuid=this.uuid isMulticlass=this.isMulticlass featureState=this.featureState disabled=this.disabled }}
{{/each}}
</div>
</div>
{{/if}}
{{#if this.multiclass}} {{#if this.multiclass}}
<div class="card-section"> <div class="card-section">
<div class="card-section-header"> <div class="card-section-header">
@ -128,6 +89,45 @@
</div> </div>
{{/if}} {{/if}}
{{#if (gt this.domainCards.length 0)}}
<div class="card-section">
<div class="card-section-header">
<side-line-div class="invert"></side-line-div>
<h3>{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.domainCards"}}</h3>
<side-line-div></side-line-div>
</div>
<div class="tip">
</div>
<div class="levelup-card-selection domain-cards">
{{#each this.domainCards}}
{{#> "systems/daggerheart/templates/components/card-preview.hbs" this }}
{{#each this.emptySubtexts}}
<div class="">{{this}}</div>
{{/each}}
{{/"systems/daggerheart/templates/components/card-preview.hbs"}}
{{/each}}
</div>
</div>
{{/if}}
{{#if (gt this.subclassCards.length 0)}}
<div class="card-section">
<div class="card-section-header">
<side-line-div class="invert"></side-line-div>
<h3>{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.subclass"}}</h3>
<side-line-div></side-line-div>
</div>
<div class="levelup-card-selection subclass-cards">
{{#each this.subclassCards}}
{{> "systems/daggerheart/templates/levelup/parts/selectable-card-preview.hbs" img=this.img header=this.featureLabel name=this.name path=this.path selected=this.selected uuid=this.uuid isMulticlass=this.isMulticlass featureState=this.featureState disabled=this.disabled }}
{{/each}}
</div>
</div>
{{/if}}
{{#if this.vicious}} {{#if this.vicious}}
<div> <div>
<h3>{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.vicious"}}</h3> <h3>{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.vicious"}}</h3>