Nombreux fixes

* Utilisation de EmbeddedDocuments
* utiliser data seulement dans le chemin d'update
* utiliser class au lieu de id dans le html
* si possible, update de la valuer au lieu d'un duplicate du noeud
This commit is contained in:
Vincent Vandemeulebrouck
2021-03-07 01:25:36 +01:00
parent b4c1dc1222
commit a86a786111
73 changed files with 571 additions and 638 deletions

View File

@@ -36,7 +36,7 @@ export class Conquete extends Draconique {
}
async onActorDeleteCaseTmr(actor, casetmr) {
await actor.deleteOwnedItem(casetmr.data.sourceid);
await actor.deleteEmbeddedDocuments('Item', [casetmr.data.sourceid]);
}
}

View File

@@ -123,24 +123,20 @@ export class Draconique {
}
async createCaseTmr(actor, label, tmr, sourceId = undefined) {
await actor.createOwnedItem({
await actor.createEmbeddedDocuments('Item', [{
name: label, type: 'casetmr', img: this.img(), _id: randomID(16),
data: { coord: tmr.coord, specific: this.code(), sourceid: sourceId }
});
}]);
}
async deleteCasesTmr(actor, draconique) {
let caseTmrs = actor.data.items.filter(it => this.isCase(it) && it.data.sourceid == draconique._id);
for (let casetmr of caseTmrs) {
await actor.deleteOwnedItem(casetmr._id);
}
await actor.deleteEmbeddedDocuments('Item', caseTmrs.map(it =>it._id));
}
async onVisiteSupprimer(actor, tmr, onRemoveToken) {
let existants = actor.data.items.filter(it => this.isCase(it, tmr.coord));
for (let casetmr of existants) {
await actor.deleteOwnedItem(casetmr._id);
onRemoveToken(tmr, casetmr);
}
await actor.deleteEmbeddedDocuments('Item', [ existants.map(it => it._id)]);
existants.forEach(it => onRemoveToken(tmr, it));
}
}

View File

@@ -32,7 +32,7 @@ export class Pelerinage extends Draconique {
}
async onActorDeleteCaseTmr(actor, casetmr) {
await actor.deleteOwnedItem(casetmr.data.sourceid);
await actor.deleteEmbeddedDocuments('Item', [casetmr.data.sourceid]);
}
}

View File

@@ -60,6 +60,6 @@ export class PresentCites extends Draconique {
}
async ouvrirLePresent(actor, casetmr) {
await actor.deleteOwnedItem(casetmr._id);
await actor.deleteEmbeddedDocuments('Item', [casetmr._id]);
}
}

View File

@@ -23,8 +23,8 @@ export class UrgenceDraconique extends Draconique {
whisper: ChatUtility.getWhisperRecipientsAndGMs(game.user.name),
content: `En l'absence de sorts en réserve, l'urgence draconique de ${actor.name} se transforme en ${queue.name}`
});
await actor.createOwnedItem(ideeFixe);
await actor.deleteOwnedItem(queue._id);
await actor.createEmbeddedDocuments('Item', [ideeFixe]);
await actor.deleteEmbeddedDocuments('Item', [queue._id]);
return;
}
else {
@@ -36,7 +36,7 @@ export class UrgenceDraconique extends Draconique {
}
async onActorDeleteCaseTmr(actor, casetmr) {
await actor.deleteOwnedItem(casetmr.data.sourceid);
await actor.deleteEmbeddedDocuments('Item', [casetmr.data.sourceid]);
}
code() { return 'urgence' }