From 8db8619bf5ababf10c5aaaa7063cf5f3a5f13e9f Mon Sep 17 00:00:00 2001 From: WBHarry Date: Fri, 6 Jun 2025 03:39:35 +0200 Subject: [PATCH] Fixed multilevel buttons --- module/applications/levelup.mjs | 12 ++++++++++-- module/data/levelup.mjs | 1 + 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/module/applications/levelup.mjs b/module/applications/levelup.mjs index 29379c7a..c244317e 100644 --- a/module/applications/levelup.mjs +++ b/module/applications/levelup.mjs @@ -533,7 +533,11 @@ export default class DhlevelUp extends HandlebarsApplicationMixin(ApplicationV2) } await this.levelup.updateSource({ - multiclass: { class: item.uuid, level: this.levelup.currentLevel }, + multiclass: { + class: item.uuid, + level: this.levelup.currentLevel, + tier: Number(target.dataset.tier) + }, [target.dataset.path]: { tier: Number(target.dataset.tier), minCost: Number(target.dataset.minCost), @@ -557,6 +561,9 @@ export default class DhlevelUp extends HandlebarsApplicationMixin(ApplicationV2) if (!button.checked) { update[`levels.${button.dataset.level}.choices.${button.dataset.option}.-=${button.dataset.checkboxNr}`] = null; + if (button.dataset.type === 'multiclass') { + update['-=multiclass'] = null; + } } else { if (!this.levelup.levels[this.levelup.currentLevel].nrSelections.available) { ui.notifications.info( @@ -575,6 +582,7 @@ export default class DhlevelUp extends HandlebarsApplicationMixin(ApplicationV2) value: button.dataset.value, type: button.dataset.type }; + update['multiclass'] = { tier: Number(button.dataset.tier), level: this.levelup.currentLevel }; } await this.levelup.updateSource(update); @@ -639,7 +647,7 @@ export default class DhlevelUp extends HandlebarsApplicationMixin(ApplicationV2) }); } else { await this.levelup.updateSource({ - currentLevel: Math.max(this.levelup.currentLevel + 1, this.levelup.endLevel) + currentLevel: Math.min(this.levelup.currentLevel + 1, this.levelup.endLevel) }); } diff --git a/module/data/levelup.mjs b/module/data/levelup.mjs index 9052a9b4..660eeddc 100644 --- a/module/data/levelup.mjs +++ b/module/data/levelup.mjs @@ -87,6 +87,7 @@ export class DhLevelup extends foundry.abstract.DataModel { multiclass: new fields.SchemaField({ class: new fields.StringField({ required: true }), domain: new fields.StringField(), + tier: new fields.NumberField({ required: true, integer: true }), level: new fields.NumberField({ required: true, integer: true }) }) };