diff --git a/module/documents/Actor/Handler.mjs b/module/documents/Actor/Handler.mjs index 201c360..77cd7fd 100644 --- a/module/documents/Actor/Handler.mjs +++ b/module/documents/Actor/Handler.mjs @@ -31,8 +31,19 @@ export class ActorHandler extends Actor { }; async genericEmbeddedUpdate($event) { - if (!this.fn?.genericEmbeddedUpdate) return; - this.fn.genericEmbeddedUpdate.bind(this)($event); + if (this.fn?.genericEmbeddedUpdate) { + return this.fn.genericEmbeddedUpdate.bind(this)($event); + }; + const target = $event.delegateTarget; + const data = target.dataset; + const item = await fromUuid(data.embeddedId); + + let value = target.value; + switch (target.type) { + case "checkbox": value = target.checked; break; + }; + + await item?.update({ [data.embeddedUpdate]: value }); }; async genericEmbeddedDelete($event) { diff --git a/module/documents/Actor/Player.mjs b/module/documents/Actor/Player.mjs index a0abd3f..beb46f2 100644 --- a/module/documents/Actor/Player.mjs +++ b/module/documents/Actor/Player.mjs @@ -1,13 +1,5 @@ import { ItemHandler } from "../Item/Handler.mjs"; -/** @this {Actor} */ -async function genericEmbeddedUpdate($event) { - let data = $event.delegateTarget.dataset; - let item = await fromUuid(data.embeddedId); - item?.update({ [data.embeddedUpdate]: $event.target.value }); - this.sheet.render(); -}; - /** @this {Actor} */ async function genericEmbeddedDelete($event) { let data = $event.currentTarget.dataset; @@ -73,7 +65,6 @@ 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; }; @@ -100,6 +91,5 @@ export default { createCustomAspect, createCustomSpell, genericEmbeddedDelete, - genericEmbeddedUpdate, preAspectEmbed, }; \ No newline at end of file