Add setting to limit how many Aspects a character can have equipped

This commit is contained in:
Oliver-Akins 2024-01-14 01:00:51 -07:00
parent 2fff1b84b5
commit 3e40d0f8c5
6 changed files with 77 additions and 11 deletions

View file

@ -70,17 +70,23 @@ async function createCustomSpell() {
}]);
};
/** @this {Actor} */
async function atAspectLimit() {
let limit = game.settings.get(`dotdungeon`, `aspectLimit`);
console.log(this.itemTypes.aspect.length, `>=`, limit, `-->`, this.itemTypes.aspect.length >= limit)
return this.itemTypes.aspect.length >= limit;
};
/**
* @param {ItemHandler} item
* @this {Actor}
*/
async function preAspectEmbed(item) {
let limit = 1
if (this.itemTypes.aspect.length >= limit) {
if (await atAspectLimit.bind(this)()) {
ui.notifications.error(
game.i18n.format(
`dotdungeon.notification.error.aspect-limit-reached`,
{ limit }
{ limit: game.settings.get(`dotdungeon`, `aspectLimit`) }
),
{ console: false }
);
@ -89,10 +95,11 @@ async function preAspectEmbed(item) {
};
export default {
genericEmbeddedDelete,
genericEmbeddedUpdate,
atAspectLimit,
createCustomItem,
createCustomAspect,
createCustomSpell,
genericEmbeddedDelete,
genericEmbeddedUpdate,
preAspectEmbed,
};