forked from public/foundryvtt-reve-de-dragon
		
	Merge branch 'v1.4-fix' into 'v1.4'
Fix: commandes /rdd See merge request LeRatierBretonnien/foundryvtt-reve-de-dragon!260
This commit is contained in:
		| @@ -172,6 +172,7 @@ export class RdDActor extends Actor { | |||||||
|     // Initialize empty items |     // Initialize empty items | ||||||
|     RdDCarac.computeCarac(actorData.data); |     RdDCarac.computeCarac(actorData.data); | ||||||
|     this.computeIsHautRevant(); |     this.computeIsHautRevant(); | ||||||
|  |     await this.cleanupConteneurs(); | ||||||
|     await this.computeEncombrementTotalEtMalusArmure(); |     await this.computeEncombrementTotalEtMalusArmure(); | ||||||
|     this.computePrixTotalEquipement(); |     this.computePrixTotalEquipement(); | ||||||
|     this.computeEtatGeneral(); |     this.computeEtatGeneral(); | ||||||
| @@ -179,6 +180,16 @@ export class RdDActor extends Actor { | |||||||
|     await this.checkMonnaiePresence(actorData.items); |     await this.checkMonnaiePresence(actorData.items); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  |   /* -------------------------------------------- */ | ||||||
|  |   async cleanupConteneurs() { | ||||||
|  |     let updates = this.listItemsData('conteneur') | ||||||
|  |       .filter(c => c.data.contenu.filter(id => this.getObjet(id) == undefined).length > 0) | ||||||
|  |       .map(c => { return { _id: c._id, 'data.contenu': c.data.contenu.filter(id => this.getObjet(id) != undefined) } }); | ||||||
|  |     if (updates.length > 0) { | ||||||
|  |       await this.updateEmbeddedDocuments("Item", updates) | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |  | ||||||
|   /* -------------------------------------------- */ |   /* -------------------------------------------- */ | ||||||
|   async checkMonnaiePresence(items) { // Ajout opportuniste si les pièces n'existent pas. |   async checkMonnaiePresence(items) { // Ajout opportuniste si les pièces n'existent pas. | ||||||
|     if (!items) return; // Sanity check during import |     if (!items) return; // Sanity check during import | ||||||
| @@ -4060,7 +4071,7 @@ export class RdDActor extends Actor { | |||||||
|   notifyGestionTeteSouffleQueue(item, manualMessage = true) { |   notifyGestionTeteSouffleQueue(item, manualMessage = true) { | ||||||
|     ChatMessage.create({ |     ChatMessage.create({ | ||||||
|       whisper: ChatUtility.getWhisperRecipientsAndGMs(game.user.name), |       whisper: ChatUtility.getWhisperRecipientsAndGMs(game.user.name), | ||||||
|       content: `${this.name} a reçu un/une ${item.type}: ${item.name}, qui ${manualMessage ? "n'est pas" : "est"} géré automatiquement. ${manualMessage ?? ''}` |       content: `${this.name} a reçu un/une ${item.type}: ${item.name}, qui ${manualMessage ? "n'est pas" : "est"} géré(e) automatiquement. ${manualMessage ? manualMessage : ''}` | ||||||
|     }); |     }); | ||||||
|   } |   } | ||||||
| } | } | ||||||
|   | |||||||
| @@ -13,7 +13,7 @@ import { RdDUtility } from "./rdd-utility.js"; | |||||||
| import { TMRRencontres } from "./tmr-rencontres.js"; | import { TMRRencontres } from "./tmr-rencontres.js"; | ||||||
| import { TMRUtility } from "./tmr-utility.js"; | import { TMRUtility } from "./tmr-utility.js"; | ||||||
|  |  | ||||||
| const rddRollNumeric = /$(\d+)\s*([\+\-]?\d+)?\s*(s)?/; | const rddRollNumeric = /^(\d+)\s*([\+\-]?\d+)?\s*(s)?/; | ||||||
|  |  | ||||||
| /* -------------------------------------------- */ | /* -------------------------------------------- */ | ||||||
| export class RdDCommands { | export class RdDCommands { | ||||||
| @@ -283,7 +283,7 @@ export class RdDCommands { | |||||||
|       finalLevel: diff, |       finalLevel: diff, | ||||||
|       showDice: true, |       showDice: true, | ||||||
|       diviseurSignificative: significative ? 2 : 1, |       diviseurSignificative: significative ? 2 : 1, | ||||||
|       show: { title: "Table de résolution" } |       show: { title: "Table de résolution"} | ||||||
|     }; |     }; | ||||||
|     await RdDResolutionTable.rollData(rollData); |     await RdDResolutionTable.rollData(rollData); | ||||||
|     RdDCommands._chatAnswer(msg, await RdDResolutionTable.buildRollDataHtml(rollData)); |     RdDCommands._chatAnswer(msg, await RdDResolutionTable.buildRollDataHtml(rollData)); | ||||||
|   | |||||||
| @@ -29,6 +29,7 @@ export class RdDRollResolutionTable extends Dialog { | |||||||
|       finalLevel: 0, |       finalLevel: 0, | ||||||
|       diffConditions: 0, |       diffConditions: 0, | ||||||
|       diffLibre: 0, |       diffLibre: 0, | ||||||
|  |       use: { conditions:true, libre:true } | ||||||
|     } |     } | ||||||
|     mergeObject(rollData, defRollData, { overwrite: false }); |     mergeObject(rollData, defRollData, { overwrite: false }); | ||||||
|     for (let i = 1; i < 21; i++) { |     for (let i = 1; i < 21; i++) { | ||||||
|   | |||||||
| @@ -357,7 +357,8 @@ export class RdDUtility { | |||||||
|   static calculEncContenu(conteneur, objets) { |   static calculEncContenu(conteneur, objets) { | ||||||
|     const itemData = Misc.data(conteneur); |     const itemData = Misc.data(conteneur); | ||||||
|     const contenuDatas = (itemData.data.contenu ?? []).filter(id => id != undefined) |     const contenuDatas = (itemData.data.contenu ?? []).filter(id => id != undefined) | ||||||
|       .map(id => Misc.data(objets.find(it => (id == it._id)))); |       .map(id => Misc.data(objets.find(it => (id == it._id)))) | ||||||
|  |       .filter(it => it); | ||||||
|     let enc = Number(itemData.data.encombrement ?? 0) * Number(itemData.data.quantite ?? 1); |     let enc = Number(itemData.data.encombrement ?? 0) * Number(itemData.data.quantite ?? 1); | ||||||
|     for (let itemData of contenuDatas){ |     for (let itemData of contenuDatas){ | ||||||
|       if (itemData.type == 'conteneur') { |       if (itemData.type == 'conteneur') { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user