Max Cards loadout switch & Homebrew setting

This commit is contained in:
Dapoolp 2025-07-25 22:38:19 +02:00
parent fcba5041e9
commit cd517252fa
6 changed files with 36 additions and 5 deletions

View file

@ -259,7 +259,12 @@ export default class CharacterSheet extends DHBaseActorSheet {
name: 'toLoadout',
icon: 'fa-solid fa-arrow-up',
condition: target => getDocFromElement(target).system.inVault,
callback: target => getDocFromElement(target).update({ 'system.inVault': false })
callback: target => {
const elem = getDocFromElement(target),
actorLoadout = elem.actor?.system.loadoutSlot ?? null;
if(actorLoadout?.available) return elem.update({ 'system.inVault': false });
ui.notifications.warn(game.i18n.format('DAGGERHEART.UI.Notifications.loadoutMaxReached', { max: actorLoadout.max }))
}
},
{
name: 'toVault',
@ -729,7 +734,7 @@ export default class CharacterSheet extends DHBaseActorSheet {
const item = await Item.implementation.fromDropData(data);
const itemData = item.toObject();
if (item.type === 'domainCard' && this.document.system.domainCards.loadout.length >= 5) {
if (item.type === 'domainCard' && !this.document.system.loadoutSlot.available) {
itemData.system.inVault = true;
}

View file

@ -295,6 +295,10 @@ export default function DHApplicationMixin(Base) {
options.unshift({
name: 'DAGGERHEART.APPLICATIONS.ContextMenu.useItem',
icon: 'fa-solid fa-burst',
condition: target => {
const elem = getDocFromElement(target);
return !(elem.type === 'domainCard' && elem.system.inVault)
},
callback: (target, event) => getDocFromElement(target).use(event)
});