diff --git a/module/item/entity.js b/module/item/entity.js index d9bceed9..538b6a60 100644 --- a/module/item/entity.js +++ b/module/item/entity.js @@ -468,7 +468,7 @@ export class ItemPF extends Item { data["data.weight"] = this.data.data.weight * weightChange; } - + console.log("D35E Item Update", data) if (data["data.convertedWeight"]) { const conversion = game.settings.get("D35E", "units") === "metric" ? 2 : 1; data["data.weight"] = data["data.convertedWeight"] * conversion; @@ -634,15 +634,18 @@ export class ItemPF extends Item { this._updateMaxUses(data, {srcData: srcData}); + console.log("Item DATA", flattenObject(this.data), data) const diff = diffObject(flattenObject(this.data), data); + console.log("Item DIFF", diff, flattenObject(this.data), data) + let updatedItem = null; if (Object.keys(diff).length) { - await super.update(diff, options); + updatedItem = await super.update(diff, options); } - if (this.actor !== null) - this.actor.refresh(options); //We do not want to update actor again if we are in first update loop + // if (this.actor !== null) + // await this.actor.refresh(options); //We do not want to update actor again if we are in first update loop - return false; + return Promise.resolve(updatedItem ? updatedItem : this); } _updateAlignmentEnhancement(data, enhancements, type, srcData) { diff --git a/module/item/sheets/base.js b/module/item/sheets/base.js index 932949f6..30873224 100644 --- a/module/item/sheets/base.js +++ b/module/item/sheets/base.js @@ -911,6 +911,8 @@ export class ItemSheetPF extends ItemSheet { formData['data.container'] = "None" formData['data.containerWeightless'] = false } + + console.log("IM IN _UPDATE OBJECT FIXING THINGS", formData) return super._updateObject(event, formData); } @@ -1247,8 +1249,8 @@ export class ItemSheetPF extends ItemSheet { // Add new change if (a.classList.contains("add-change")) { //await this._onSubmit(event); // Submit any unsaved changes - const changes = this.item.data.data.changes || []; - return this.item.update({"data.changes": changes.concat([["", "", "", "", 0]])}); + let _changes = duplicate(this.item.data.data.changes) || []; + return this.item.update({"data.changes": _changes.concat([["", "", "", "", 0]])}); } // Remove a change @@ -1268,7 +1270,7 @@ export class ItemSheetPF extends ItemSheet { // Add new change if (a.classList.contains("add-change")) { //await this._onSubmit(event); // Submit any unsaved changes - const changes = this.item.data.data.combatChanges || []; + const changes = duplicate(this.item.data.data.combatChanges) || []; // Combat Changes are return this.item.update({"data.combatChanges": changes.concat([["", "", "", "", "", ""]])}); } @@ -1290,7 +1292,7 @@ export class ItemSheetPF extends ItemSheet { // Add new change if (a.classList.contains("add-change")) { //await this._onSubmit(event); // Submit any unsaved changes - const changes = this.item.data.data.requirements || []; + const changes = duplicate(this.item.data.data.requirements) || []; // Combat Changes are return this.item.update({"data.requirements": changes.concat([["", "", ""]])}); } @@ -1312,7 +1314,7 @@ export class ItemSheetPF extends ItemSheet { // Add new change if (a.classList.contains("add-change")) { //await this._onSubmit(event); // Submit any unsaved changes - const changes = this.item.data.data.resistances || []; + const changes = duplicate(this.item.data.data.resistances) || []; // Combat Changes are return this.item.update({"data.resistances": changes.concat([["", "", false, false, false]])}); } @@ -1334,7 +1336,7 @@ export class ItemSheetPF extends ItemSheet { // Add new change if (a.classList.contains("add-change")) { //await this._onSubmit(event); // Submit any unsaved changes - const changes = this.item.data.data.damageReduction || []; + const changes = duplicate(this.item.data.data.damageReduction) || []; // Combat Changes are return this.item.update({"data.damageReduction": changes.concat([["", "", false]])}); } @@ -1356,7 +1358,7 @@ export class ItemSheetPF extends ItemSheet { // Add new note if (a.classList.contains("add-note")) { //await this._onSubmit(event); // Submit any unsaved changes - const contextNotes = this.item.data.data.contextNotes || []; + const contextNotes = duplicate(this.item.data.data.contextNotes) || []; return this.item.update({"data.contextNotes": contextNotes.concat([["", "", "", 0]])}); }