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:
		| @@ -31,18 +31,16 @@ export class RdDActorCreatureSheet extends RdDActorSheet { | |||||||
|     let sheetData = super.getData(); |     let sheetData = super.getData(); | ||||||
|     console.log("Creature : ", sheetData); |     console.log("Creature : ", sheetData); | ||||||
|  |  | ||||||
|     sheetData.itemsByType = Misc.classify(sheetData.items, item => item.type); |     sheetData.itemsByType = Misc.classify(sheetData.items); | ||||||
|     sheetData.calc = { |     sheetData.calc = { | ||||||
|       caracTotal: RdDCarac.computeTotal(sheetData.data.data.carac), |       caracTotal: RdDCarac.computeTotal(sheetData.data.data.carac), | ||||||
|       blessures: { |       resumeBlessures: sheetData.actor.computeResumeBlessure(sheetData.data.data.blessures), | ||||||
|         resume: sheetData.actor.computeResumeBlessure(sheetData.data.data.blessures) |  | ||||||
|       } |  | ||||||
|     } |     } | ||||||
|     // Compute current carac sum |     // Compute current carac sum | ||||||
|     sheetData.data.carac.taille.isTaille = true; // To avoid button link; |     sheetData.data.data.carac.taille.isTaille = true; // To avoid button link; | ||||||
|  |  | ||||||
|  |  | ||||||
|     sheetData.data.competencecreature = sheetData.itemsByType["competencecreature"]; |     sheetData.data.data.competencecreature = sheetData.itemsByType["competencecreature"]; | ||||||
|  |  | ||||||
|     this.actor.computeEncombrementTotalEtMalusArmure(); |     this.actor.computeEncombrementTotalEtMalusArmure(); | ||||||
|     RdDUtility.filterItemsPerTypeForSheet(sheetData); |     RdDUtility.filterItemsPerTypeForSheet(sheetData); | ||||||
|   | |||||||
| @@ -46,14 +46,14 @@ export class RdDActorEntiteSheet extends ActorSheet { | |||||||
|     // Update Inventory Item |     // Update Inventory Item | ||||||
|     html.find('.item-edit').click(ev => { |     html.find('.item-edit').click(ev => { | ||||||
|       const li = $(ev.currentTarget).parents(".item"); |       const li = $(ev.currentTarget).parents(".item"); | ||||||
|       const item = this.actor.getOwnedItem(li.data("itemId")); |       const item = this.actor.items.get(li.data("itemId")); | ||||||
|       item.sheet.render(true); |       item.sheet.render(true); | ||||||
|     }); |     }); | ||||||
|  |  | ||||||
|     // Delete Inventory Item |     // Delete Inventory Item | ||||||
|     html.find('.item-delete').click(ev => { |     html.find('.item-delete').click(ev => { | ||||||
|       const li = $(ev.currentTarget).parents(".item"); |       const li = $(ev.currentTarget).parents(".item"); | ||||||
|       this.actor.deleteOwnedItem(li.data("itemId")); |       this.actor.deleteEmbeddedDocuments('Item', [li.data("itemId")]); | ||||||
|       li.slideUp(200, () => this.render(false)); |       li.slideUp(200, () => this.render(false)); | ||||||
|     }); |     }); | ||||||
|  |  | ||||||
| @@ -83,16 +83,16 @@ export class RdDActorEntiteSheet extends ActorSheet { | |||||||
|       this.actor.rollCompetence( compName ); |       this.actor.rollCompetence( compName ); | ||||||
|     }); |     }); | ||||||
|  |  | ||||||
|     html.find('#endurance-plus').click((event) => { |     html.find('.endurance-plus').click((event) => { | ||||||
|       this.actor.santeIncDec("endurance", 1); |       this.actor.santeIncDec("endurance", 1); | ||||||
|       this.render(true); |       this.render(true); | ||||||
|     }); |     }); | ||||||
|     html.find('#endurance-moins').click((event) => { |     html.find('.endurance-moins').click((event) => { | ||||||
|       this.actor.santeIncDec("endurance", -1); |       this.actor.santeIncDec("endurance", -1); | ||||||
|       this.render(true); |       this.render(true); | ||||||
|     }); |     }); | ||||||
|  |  | ||||||
|     html.find('#encaisser-direct').click(ev => { |     html.find('.encaisser-direct').click(ev => { | ||||||
|       this.actor.encaisser(); |       this.actor.encaisser(); | ||||||
|     }); |     }); | ||||||
|  |  | ||||||
|   | |||||||
| @@ -37,7 +37,7 @@ export class RdDActorSheet extends ActorSheet { | |||||||
|     let sheetData = await super.getData(); |     let sheetData = await super.getData(); | ||||||
|  |  | ||||||
|     sheetData.options = this.options; |     sheetData.options = this.options; | ||||||
|     sheetData.itemsByType = Misc.classify(sheetData.items, item => item.type); |     sheetData.itemsByType = Misc.classify(sheetData.items); | ||||||
|     sheetData.options.isGM = game.user.isGM; |     sheetData.options.isGM = game.user.isGM; | ||||||
|  |  | ||||||
|     const carac = sheetData.data.data.carac; |     const carac = sheetData.data.data.carac; | ||||||
| @@ -56,7 +56,7 @@ export class RdDActorSheet extends ActorSheet { | |||||||
|     sheetData.calc = { |     sheetData.calc = { | ||||||
|       comptageArchetype: RdDItemCompetence.computeResumeArchetype(competences), |       comptageArchetype: RdDItemCompetence.computeResumeArchetype(competences), | ||||||
|       competenceXPTotal: RdDItemCompetence.computeTotalXP(competences), |       competenceXPTotal: RdDItemCompetence.computeTotalXP(competences), | ||||||
|       caracTotal: RdDCarac.computeTotal(carac), |       caracTotal: RdDCarac.computeTotal(carac, sheetData.data.data.beaute), | ||||||
|       // Mise à jour de l'encombrement total et du prix de l'équipement |       // Mise à jour de l'encombrement total et du prix de l'équipement | ||||||
|       encTotal: await sheetData.actor.computeEncombrementTotalEtMalusArmure(), |       encTotal: await sheetData.actor.computeEncombrementTotalEtMalusArmure(), | ||||||
|       prixTotalEquipement: await sheetData.actor.computePrixTotalEquipement(), |       prixTotalEquipement: await sheetData.actor.computePrixTotalEquipement(), | ||||||
| @@ -73,7 +73,7 @@ export class RdDActorSheet extends ActorSheet { | |||||||
|     RdDItemCompetence.setLevelUp(competences); |     RdDItemCompetence.setLevelUp(competences); | ||||||
|     RdDCarac.setLevelUp(carac); |     RdDCarac.setLevelUp(carac); | ||||||
|  |  | ||||||
|     sheetData.armes = sheetData.itemsByType.arme; |     sheetData.armes = duplicate(sheetData.itemsByType.arme); | ||||||
|     RdDItemArme.computeNiveauArmes(sheetData.armes, competences); |     RdDItemArme.computeNiveauArmes(sheetData.armes, competences); | ||||||
|     RdDItemArme.ajoutCorpsACorps(sheetData.armes, competences, carac); |     RdDItemArme.ajoutCorpsACorps(sheetData.armes, competences, carac); | ||||||
|     sheetData.esquive = RdDItemCompetence.getEsquive(competences); |     sheetData.esquive = RdDItemCompetence.getEsquive(competences); | ||||||
| @@ -124,21 +124,21 @@ export class RdDActorSheet extends ActorSheet { | |||||||
|  |  | ||||||
|   /* -------------------------------------------- */ |   /* -------------------------------------------- */ | ||||||
|   async createEmptyTache() { |   async createEmptyTache() { | ||||||
|     await this.actor.createOwnedItem({ name: 'Nouvelle tache', type: 'tache' }, { renderSheet: true }); |     await this.actor.createEmbeddedDocuments('Item', [{ name: 'Nouvelle tache', type: 'tache' }], { renderSheet: true }); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   /* -------------------------------------------- */ |   /* -------------------------------------------- */ | ||||||
|   async creerObjet() { |   async creerObjet() { | ||||||
|     let itemType = $("#creer-equipement").val(); |     let itemType = $("#creer-equipement").val(); | ||||||
|     await this.actor.createOwnedItem({ name: 'Nouveau ' + itemType, type: itemType }, { renderSheet: true }); |     await this.actor.createEmbeddedDocuments('Item', [{ name: `Nouveau ${itemType}`, type: itemType }], { renderSheet: true }); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   /* -------------------------------------------- */ |   /* -------------------------------------------- */ | ||||||
|   async selectObjetType() { |   async selectObjetType() { | ||||||
|     let itemType = ["objet", "arme", "armure", "conteneur", "herbe", "ingredient", "livre", "potion", "munition", "monnaie"]; |     let itemType = ["objet", "arme", "armure", "conteneur", "herbe", "ingredient", "livre", "potion", "munition", "monnaie"]; | ||||||
|     let options = '<span class="competence-label">Selectionnez le type d\'équipement</span><select id="creer-equipement">'; |     let options = `<span class="competence-label">Selectionnez le type d'équipement</span><select id="creer-equipement">`; | ||||||
|     for (let typeName of itemType) { |     for (let typeName of itemType) { | ||||||
|       options += '<option value="' + typeName + '">' + typeName + '</option>' |       options += `<option value="${typeName}"> ${typeName}</option>` | ||||||
|     } |     } | ||||||
|     options += '</select>'; |     options += '</select>'; | ||||||
|     let d = new Dialog({ |     let d = new Dialog({ | ||||||
| @@ -158,11 +158,12 @@ export class RdDActorSheet extends ActorSheet { | |||||||
|   /* -------------------------------------------- */ |   /* -------------------------------------------- */ | ||||||
|   /** @override */ |   /** @override */ | ||||||
|   activateListeners(html) { |   activateListeners(html) { | ||||||
|  |  | ||||||
|     super.activateListeners(html); |     super.activateListeners(html); | ||||||
|  |  | ||||||
|     HtmlUtility._showControlWhen($(".gm-only"), game.user.isGM); |     HtmlUtility._showControlWhen($(".gm-only"), game.user.isGM); | ||||||
|  |  | ||||||
|     html.find('#show-hide-competences').click((event) => { |     html.find('.show-hide-competences').click((event) => { | ||||||
|       this.options.showCompNiveauBase = !this.options.showCompNiveauBase; |       this.options.showCompNiveauBase = !this.options.showCompNiveauBase; | ||||||
|       this.render(true); |       this.render(true); | ||||||
|     }); |     }); | ||||||
| @@ -192,7 +193,7 @@ export class RdDActorSheet extends ActorSheet { | |||||||
|       RdDUtility.confirmerSuppressionSubacteur(this, li); |       RdDUtility.confirmerSuppressionSubacteur(this, li); | ||||||
|     }); |     }); | ||||||
|  |  | ||||||
|     html.find('#encaisser-direct').click(ev => { |     html.find('.encaisser-direct').click(ev => { | ||||||
|       this.actor.encaisser(); |       this.actor.encaisser(); | ||||||
|     }); |     }); | ||||||
|  |  | ||||||
| @@ -248,15 +249,15 @@ export class RdDActorSheet extends ActorSheet { | |||||||
|       this.actor.rollCarac(caracName.toLowerCase()); |       this.actor.rollCarac(caracName.toLowerCase()); | ||||||
|     }); |     }); | ||||||
|  |  | ||||||
|     html.find('#chance-actuelle').click((event) => { |     html.find('.chance-actuelle').click((event) => { | ||||||
|       this.actor.rollCarac('chance-actuelle'); |       this.actor.rollCarac('chance-actuelle'); | ||||||
|     }); |     }); | ||||||
|  |  | ||||||
|     html.find('#chance-appel').click((event) => { |     html.find('.chance-appel').click((event) => { | ||||||
|       this.actor.rollAppelChance(); |       this.actor.rollAppelChance(); | ||||||
|     }); |     }); | ||||||
|  |  | ||||||
|     html.find('#jet-astrologie').click((event) => { |     html.find('.jet-astrologie').click((event) => { | ||||||
|       this.actor.astrologieNombresAstraux(); |       this.actor.astrologieNombresAstraux(); | ||||||
|     }); |     }); | ||||||
|  |  | ||||||
| @@ -337,45 +338,45 @@ export class RdDActorSheet extends ActorSheet { | |||||||
|       } |       } | ||||||
|     }); |     }); | ||||||
|     // Display TMR, visuualisation |     // Display TMR, visuualisation | ||||||
|     html.find('#visu-tmr').click((event) => { |     html.find('.visu-tmr').click((event) => { | ||||||
|       this.actor.displayTMR("visu"); |       this.actor.displayTMR("visu"); | ||||||
|     }); |     }); | ||||||
|  |  | ||||||
|     // Display TMR, normal |     // Display TMR, normal | ||||||
|     html.find('#monte-tmr').click((event) => { |     html.find('.monte-tmr').click((event) => { | ||||||
|       this.actor.displayTMR("normal"); |       this.actor.displayTMR("normal"); | ||||||
|     }); |     }); | ||||||
|  |  | ||||||
|     // Display TMR, fast  |     // Display TMR, fast  | ||||||
|     html.find('#monte-tmr-rapide').click((event) => { |     html.find('.monte-tmr-rapide').click((event) => { | ||||||
|       this.actor.displayTMR("rapide"); |       this.actor.displayTMR("rapide"); | ||||||
|     }); |     }); | ||||||
|  |  | ||||||
|     html.find('#dormir-une-heure').click((event) => { |     html.find('.dormir-une-heure').click((event) => { | ||||||
|       this.actor.dormir(1); |       this.actor.dormir(1); | ||||||
|     }); |     }); | ||||||
|     html.find('#dormir-chateau-dormant').click((event) => { |     html.find('.dormir-chateau-dormant').click((event) => { | ||||||
|       this.actor.dormirChateauDormant(); |       this.actor.dormirChateauDormant(); | ||||||
|     }); |     }); | ||||||
|     html.find('#enlever-tous-effets').click((event) => { |     html.find('.enlever-tous-effets').click((event) => { | ||||||
|       this.actor.enleverTousLesEffets(); |       this.actor.enleverTousLesEffets(); | ||||||
|     }); |     }); | ||||||
|     // Display info about queue |     // Display info about queue | ||||||
|     html.find('.queuesouffle-label a').click((event) => { |     html.find('.queuesouffle-label a').click((event) => { | ||||||
|       let myID = event.currentTarget.attributes['data-item-id'].value; |       let myID = event.currentTarget.attributes['data-item-id'].value; | ||||||
|       const item = this.actor.getOwnedItem(myID); |       const item = this.actor.items.get(myID); | ||||||
|       item.sheet.render(true); |       item.sheet.render(true); | ||||||
|     }); |     }); | ||||||
|     // Info sort |     // Info sort | ||||||
|     html.find('.sort-label a').click((event) => { |     html.find('.sort-label a').click((event) => { | ||||||
|       let myID = event.currentTarget.attributes['data-id'].value; |       let myID = event.currentTarget.attributes['data-id'].value; | ||||||
|       const item = this.actor.getOwnedItem(myID); |       const item = this.actor.items.get(myID); | ||||||
|       item.sheet.render(true); |       item.sheet.render(true); | ||||||
|     }); |     }); | ||||||
|     // Info sort |     // Info sort | ||||||
|     html.find('.case-label a').click((event) => { |     html.find('.case-label a').click((event) => { | ||||||
|       let myID = event.currentTarget.attributes['data-id'].value; |       let myID = event.currentTarget.attributes['data-id'].value; | ||||||
|       const item = this.actor.getOwnedItem(myID); |       const item = this.actor.items.get(myID); | ||||||
|       item.sheet.render(true); |       item.sheet.render(true); | ||||||
|     }); |     }); | ||||||
|  |  | ||||||
| @@ -390,12 +391,10 @@ export class RdDActorSheet extends ActorSheet { | |||||||
|       // On carac change |       // On carac change | ||||||
|       html.find('.carac-value').change((event) => { |       html.find('.carac-value').change((event) => { | ||||||
|         let caracName = event.currentTarget.name.replace(".value", "").replace("data.carac.", ""); |         let caracName = event.currentTarget.name.replace(".value", "").replace("data.carac.", ""); | ||||||
|         //console.log("Value changed :", event, caracName); |  | ||||||
|         this.actor.updateCarac(caracName, parseInt(event.target.value)); |         this.actor.updateCarac(caracName, parseInt(event.target.value)); | ||||||
|       }); |       }); | ||||||
|       html.find('.carac-xp').change((event) => { |       html.find('.carac-xp').change((event) => { | ||||||
|         let caracName = event.currentTarget.name.replace(".xp", "").replace("data.carac.", ""); |         let caracName = event.currentTarget.name.replace(".xp", "").replace("data.carac.", ""); | ||||||
|         //console.log("Value changed :", event, caracName); |  | ||||||
|         this.actor.updateCaracXP(caracName, parseInt(event.target.value)); |         this.actor.updateCaracXP(caracName, parseInt(event.target.value)); | ||||||
|       }); |       }); | ||||||
|       // On competence change |       // On competence change | ||||||
| @@ -426,64 +425,61 @@ export class RdDActorSheet extends ActorSheet { | |||||||
|       this.options.editCaracComp = !this.options.editCaracComp; |       this.options.editCaracComp = !this.options.editCaracComp; | ||||||
|       this.render(true); |       this.render(true); | ||||||
|     }); |     }); | ||||||
|     html.find('#show-hide-archetype').click((event) => { |     html.find('.show-hide-archetype').click((event) => { | ||||||
|       this.options.montrerArchetype = !this.options.montrerArchetype; |       this.options.montrerArchetype = !this.options.montrerArchetype; | ||||||
|       this.render(true); |       this.render(true); | ||||||
|     }); |     }); | ||||||
|  |  | ||||||
|     // On pts de reve change |     // On pts de reve change | ||||||
|     html.find('.pointsreve-value').change((event) => { |     html.find('.pointsreve-value').change((event) => { | ||||||
|       let reveValue = event.currentTarget.value; |       this.actor.update({ "data.reve.reve.value": parseInt(event.currentTarget.value) }); | ||||||
|       let reve = duplicate(this.actor.data.data.reve.reve); |  | ||||||
|       reve.value = reveValue; |  | ||||||
|       this.actor.update({ "data.reve.reve": reve }); |  | ||||||
|     }); |     }); | ||||||
|  |  | ||||||
|     // On seuil de reve change |     // On seuil de reve change | ||||||
|     html.find('.seuil-reve-value').change((event) => { |     html.find('.seuil-reve-value').change((event) => { | ||||||
|       console.log("seuil-reve-value", event.currentTarget) |       console.log("seuil-reve-value", event.currentTarget) | ||||||
|       this.actor.setPointsDeSeuil(event.currentTarget.value); |       this.actor.setPointsDeSeuil(parseInt(event.currentTarget.value)); | ||||||
|     }); |     }); | ||||||
|  |  | ||||||
|     html.find('#attribut-protection-edit').change((event) => { |     html.find('.attribut-protection-edit').change((event) => { | ||||||
|       this.actor.updateProtectionValue(event.currentTarget.attributes.name.value, parseInt(event.target.value)); |       this.actor.updateAttribut(event.currentTarget.attributes.name.value, parseInt(event.target.value)); | ||||||
|     }); |     }); | ||||||
|  |  | ||||||
|     // On stress change |     // On stress change | ||||||
|     html.find('.compteur-edit').change((event) => { |     html.find('.compteur-edit').change((event) => { | ||||||
|       let fieldName = event.currentTarget.attributes.name.value; |       let fieldName = event.currentTarget.attributes.name.value; | ||||||
|       this.actor.updateCompteurValue(fieldName, parseInt(event.target.value)); |       this.actor.updateCompteur(fieldName, parseInt(event.target.value)); | ||||||
|     }); |     }); | ||||||
|  |  | ||||||
|     html.find('#ethylisme').change((event) => { |     html.find('.ethylisme').change((event) => { | ||||||
|       this.actor.setEthylisme(parseInt(event.target.value)); |       this.actor.setEthylisme(parseInt(event.target.value)); | ||||||
|     }); |     }); | ||||||
|     html.find('#stress-test').click((event) => { |     html.find('.stress-test').click((event) => { | ||||||
|       this.actor.transformerStress(); |       this.actor.transformerStress(); | ||||||
|       this.render(true); |       this.render(true); | ||||||
|     }); |     }); | ||||||
|     html.find('#moral-malheureux').click((event) => { |     html.find('.moral-malheureux').click((event) => { | ||||||
|       this.actor.jetDeMoral('malheureuse'); |       this.actor.jetDeMoral('malheureuse'); | ||||||
|       this.render(true); |       this.render(true); | ||||||
|     }); |     }); | ||||||
|     html.find('#moral-neutre').click((event) => { |     html.find('.moral-neutre').click((event) => { | ||||||
|       this.actor.jetDeMoral('neutre'); |       this.actor.jetDeMoral('neutre'); | ||||||
|       this.render(true); |       this.render(true); | ||||||
|     }); |     }); | ||||||
|     html.find('#moral-heureux').click((event) => { |     html.find('.moral-heureux').click((event) => { | ||||||
|       this.actor.jetDeMoral('heureuse'); |       this.actor.jetDeMoral('heureuse'); | ||||||
|       this.render(true); |       this.render(true); | ||||||
|     }); |     }); | ||||||
|     html.find('#ethylisme-test').click((event) => { |     html.find('.ethylisme-test').click((event) => { | ||||||
|       this.actor.ethylismeTest(); |       this.actor.ethylismeTest(); | ||||||
|       this.render(true); |       this.render(true); | ||||||
|     }); |     }); | ||||||
|  |  | ||||||
|     html.find('#jet-vie').click((event) => { |     html.find('.jet-vie').click((event) => { | ||||||
|       this.actor.jetVie(); |       this.actor.jetVie(); | ||||||
|       this.render(true); |       this.render(true); | ||||||
|     }); |     }); | ||||||
|     html.find('#jet-endurance').click((event) => { |     html.find('.jet-endurance').click((event) => { | ||||||
|       this.actor.jetEndurance(); |       this.actor.jetEndurance(); | ||||||
|       this.render(true); |       this.render(true); | ||||||
|     }); |     }); | ||||||
| @@ -499,19 +495,19 @@ export class RdDActorSheet extends ActorSheet { | |||||||
|       this.render(true); |       this.render(true); | ||||||
|     }); |     }); | ||||||
|  |  | ||||||
|     html.find('#vie-plus').click((event) => { |     html.find('.vie-plus').click((event) => { | ||||||
|       this.actor.santeIncDec("vie", 1); |       this.actor.santeIncDec("vie", 1); | ||||||
|       this.render(true); |       this.render(true); | ||||||
|     }); |     }); | ||||||
|     html.find('#vie-moins').click((event) => { |     html.find('.vie-moins').click((event) => { | ||||||
|       this.actor.santeIncDec("vie", -1); |       this.actor.santeIncDec("vie", -1); | ||||||
|       this.render(true); |       this.render(true); | ||||||
|     }); |     }); | ||||||
|     html.find('#endurance-plus').click((event) => { |     html.find('.endurance-plus').click((event) => { | ||||||
|       this.actor.santeIncDec("endurance", 1); |       this.actor.santeIncDec("endurance", 1); | ||||||
|       this.render(true); |       this.render(true); | ||||||
|     }); |     }); | ||||||
|     html.find('#endurance-moins').click((event) => { |     html.find('.endurance-moins').click((event) => { | ||||||
|       this.actor.santeIncDec("endurance", -1); |       this.actor.santeIncDec("endurance", -1); | ||||||
|       this.render(true); |       this.render(true); | ||||||
|     }); |     }); | ||||||
| @@ -519,25 +515,24 @@ export class RdDActorSheet extends ActorSheet { | |||||||
|       this.actor.setSonne(event.currentTarget.checked); |       this.actor.setSonne(event.currentTarget.checked); | ||||||
|       this.render(true); |       this.render(true); | ||||||
|     }); |     }); | ||||||
|     html.find('#ptreve-actuel-plus').click((event) => { |     html.find('.ptreve-actuel-plus').click((event) => { | ||||||
|       this.actor.reveActuelIncDec(1); |       this.actor.reveActuelIncDec(1); | ||||||
|       this.render(true); |       this.render(true); | ||||||
|     }); |     }); | ||||||
|     html.find('#ptreve-actuel-moins').click((event) => { |     html.find('.ptreve-actuel-moins').click((event) => { | ||||||
|       this.actor.reveActuelIncDec(-1); |       this.actor.reveActuelIncDec(-1); | ||||||
|       this.render(true); |       this.render(true); | ||||||
|     }); |     }); | ||||||
|     html.find('#fatigue-plus').click((event) => { |     html.find('.fatigue-plus').click((event) => { | ||||||
|       this.actor.santeIncDec("fatigue", 1); |       this.actor.santeIncDec("fatigue", 1); | ||||||
|       this.render(true); |       this.render(true); | ||||||
|     }); |     }); | ||||||
|     html.find('#fatigue-moins').click((event) => { |     html.find('.fatigue-moins').click((event) => { | ||||||
|       this.actor.santeIncDec("fatigue", -1); |       this.actor.santeIncDec("fatigue", -1); | ||||||
|       this.render(true); |       this.render(true); | ||||||
|     }); |     }); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  |  | ||||||
|   /* -------------------------------------------- */ |   /* -------------------------------------------- */ | ||||||
|   /** @override */ |   /** @override */ | ||||||
|   setPosition(options = {}) { |   setPosition(options = {}) { | ||||||
|   | |||||||
| @@ -67,7 +67,7 @@ export class RdDActorVehiculeSheet extends ActorSheet { | |||||||
|     // Update Inventory Item |     // Update Inventory Item | ||||||
|     html.find('.item-edit').click(ev => { |     html.find('.item-edit').click(ev => { | ||||||
|       const li = $(ev.currentTarget).parents(".item"); |       const li = $(ev.currentTarget).parents(".item"); | ||||||
|       const item = this.actor.getOwnedItem(li.data("itemId")); |       const item = this.actor.items.get(li.data("itemId")); | ||||||
|       item.sheet.render(true); |       item.sheet.render(true); | ||||||
|     }); |     }); | ||||||
|     // Delete Inventory Item |     // Delete Inventory Item | ||||||
|   | |||||||
							
								
								
									
										557
									
								
								module/actor.js
									
									
									
									
									
								
							
							
						
						
									
										557
									
								
								module/actor.js
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -18,15 +18,15 @@ const nomCategorieParade = { | |||||||
| export class RdDItemArme extends Item { | export class RdDItemArme extends Item { | ||||||
|  |  | ||||||
|   static isArme(item) { |   static isArme(item) { | ||||||
|     return (item.type == 'competencecreature' && item.data.iscombat) || item.type == 'arme'; |     return (item.data.type == 'competencecreature' && item.data.iscombat) || item.data.type == 'arme'; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   /* -------------------------------------------- */ |   /* -------------------------------------------- */ | ||||||
|   static getArmeData(item) { |   static getArmeData(item) { | ||||||
|     switch (item ? item.data.type : '') { |     switch (item ? item.data.type : '') { | ||||||
|       case 'arme': return item.data; |       case 'arme': return item.data.data; | ||||||
|       case 'competencecreature': |       case 'competencecreature': | ||||||
|         return RdDItemCompetenceCreature.toArme(item.data); |         return RdDItemCompetenceCreature.toArme(item.data.data); | ||||||
|     } |     } | ||||||
|     return RdDItemArme.mainsNues(); |     return RdDItemArme.mainsNues(); | ||||||
|   } |   } | ||||||
| @@ -146,7 +146,7 @@ export class RdDItemArme extends Item { | |||||||
|   } |   } | ||||||
|  |  | ||||||
|   static isArmeUtilisable(item) { |   static isArmeUtilisable(item) { | ||||||
|     return item.type == 'arme' && (item.data.resistance > 0 || item.data.portee_courte>0); |     return item.data.type == 'arme' && (item.data.resistance > 0 || item.data.portee_courte>0); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   static mainsNues(actorData={}) { |   static mainsNues(actorData={}) { | ||||||
|   | |||||||
| @@ -17,10 +17,19 @@ function _buildCumulXP() { | |||||||
|   return cumulXP; |   return cumulXP; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | const compendiumCompetences = { | ||||||
|  |   "personnage": "foundryvtt-reve-de-dragon.competences", | ||||||
|  |   "creature": "foundryvtt-reve-de-dragon.competences-creatures", | ||||||
|  |   "entite": "foundryvtt-reve-de-dragon.competences-entites" | ||||||
|  | }; | ||||||
|  |  | ||||||
| const competence_xp_cumul = _buildCumulXP(); | const competence_xp_cumul = _buildCumulXP(); | ||||||
|  |  | ||||||
| export class RdDItemCompetence extends Item { | export class RdDItemCompetence extends Item { | ||||||
|  |  | ||||||
|  |   static compendium(actorType){ | ||||||
|  |     return compendiumCompetences[actorType] ?? ''; | ||||||
|  |   } | ||||||
|   /* -------------------------------------------- */ |   /* -------------------------------------------- */ | ||||||
|   static isCompetenceArme(competence) { |   static isCompetenceArme(competence) { | ||||||
|     switch (competence.data.categorie) { |     switch (competence.data.categorie) { | ||||||
|   | |||||||
| @@ -17,7 +17,7 @@ export class RdDItemCompetenceCreature extends Item { | |||||||
|   /* -------------------------------------------- */ |   /* -------------------------------------------- */ | ||||||
|   static toArme(item) { |   static toArme(item) { | ||||||
|     if (RdDItemCompetenceCreature.isCompetenceAttaque(item)) { |     if (RdDItemCompetenceCreature.isCompetenceAttaque(item)) { | ||||||
|       let arme = { name: item.name, data: duplicate(item.data) }; |       let arme = { name: item.name, data: duplicate(item.data.data) }; | ||||||
|       mergeObject(arme.data, |       mergeObject(arme.data, | ||||||
|         { |         { | ||||||
|           competence: item.name, |           competence: item.name, | ||||||
| @@ -35,11 +35,11 @@ export class RdDItemCompetenceCreature extends Item { | |||||||
|  |  | ||||||
|   /* -------------------------------------------- */ |   /* -------------------------------------------- */ | ||||||
|   static isCompetenceAttaque(item) { |   static isCompetenceAttaque(item) { | ||||||
|     return item.type == 'competencecreature' && item.data.iscombat; |     return item.data.type == 'competencecreature' && item.data.iscombat; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   /* -------------------------------------------- */ |   /* -------------------------------------------- */ | ||||||
|   static isCompetenceParade(item) { |   static isCompetenceParade(item) { | ||||||
|     return item.type == 'competencecreature' && item.data.isparade; |     return item.data.type == 'competencecreature' && item.data.isparade; | ||||||
|   } |   } | ||||||
| }   | }   | ||||||
|   | |||||||
							
								
								
									
										30
									
								
								module/item-monnaie.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								module/item-monnaie.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,30 @@ | |||||||
|  |  | ||||||
|  |  | ||||||
|  | const monnaiesParDefaut = [ | ||||||
|  |   { name: "Etain (1 denier)", valeur: 1, enc: 0.01, img: "systems/foundryvtt-reve-de-dragon/icons/objets/piece_etain_poisson.webp" }, | ||||||
|  |   { name: "Bronze (10 deniers)", valeur: 10, enc: 0.01, img: "systems/foundryvtt-reve-de-dragon/icons/objets/piece_bronze_epees.webp" }, | ||||||
|  |   { name: "Argent (1 sol)", valeur: 100, enc: 0.01, img: "systems/foundryvtt-reve-de-dragon/icons/objets/piece_argent_sol.webp" }, | ||||||
|  |   { name: "Or (10 sols)", valeur: 1000, enc: 0.01, img: "systems/foundryvtt-reve-de-dragon/icons/objets/piece_or_sol.webp" } | ||||||
|  | ] | ||||||
|  |  | ||||||
|  | export class Monnaie { | ||||||
|  |  | ||||||
|  |   static monnaiesParDefaut() { | ||||||
|  |     return monnaiesParDefaut.map(it => Monnaie.prepareMonnaie(it.name, it.valeur, it.img, it.enc)); | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   /* -------------------------------------------- */ | ||||||
|  |   static prepareMonnaie(name, valeur_deniers, img = "", enc = 0.01) { | ||||||
|  |     let piece = { | ||||||
|  |       name: name, type: 'monnaie', img: img, _id: randomID(16), | ||||||
|  |       data: { | ||||||
|  |         quantite: 0, | ||||||
|  |         valeur_deniers: valeur_deniers, | ||||||
|  |         encombrement: enc, | ||||||
|  |         description: "" | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |     return piece; | ||||||
|  |   } | ||||||
|  |  | ||||||
|  | } | ||||||
| @@ -13,7 +13,7 @@ export class RdDItemSheet extends ItemSheet { | |||||||
|   /** @override */ |   /** @override */ | ||||||
| 	static get defaultOptions() { | 	static get defaultOptions() { | ||||||
| 	  return mergeObject(super.defaultOptions, { | 	  return mergeObject(super.defaultOptions, { | ||||||
| 			classes: ["foundryvtt-reve-de-dragon", "sheet", "item"], | 			classes: ["foundryvtt-reve-de-dragon", "sheet", 'Item'], | ||||||
| 			template: "systems/foundryvtt-reve-de-dragon/templates/item-sheet.html", | 			template: "systems/foundryvtt-reve-de-dragon/templates/item-sheet.html", | ||||||
| 			width: 550, | 			width: 550, | ||||||
| 			height: 550 | 			height: 550 | ||||||
| @@ -30,7 +30,7 @@ export class RdDItemSheet extends ItemSheet { | |||||||
|       { |       { | ||||||
|         class: "post", |         class: "post", | ||||||
|         icon: "fas fa-comment", |         icon: "fas fa-comment", | ||||||
|         onclick: ev => new RdDItem(this.item.data).postItem() |         onclick: ev => new RdDItem(this.item.data.data).postItem() | ||||||
|       }) |       }) | ||||||
|     return buttons |     return buttons | ||||||
|   } |   } | ||||||
| @@ -50,14 +50,14 @@ export class RdDItemSheet extends ItemSheet { | |||||||
|     let sheetData = super.getData(); |     let sheetData = super.getData(); | ||||||
|  |  | ||||||
|     sheetData.categorieCompetences = RdDUtility.getCategorieCompetences(); |     sheetData.categorieCompetences = RdDUtility.getCategorieCompetences(); | ||||||
|     if ( sheetData.item.type == 'tache' || sheetData.item.type == 'livre' || sheetData.item.type == 'meditation' || sheetData.item.type == 'oeuvre') { |     if ( sheetData.item.data.type == 'tache' || sheetData.item.data.type == 'livre' || sheetData.item.data.type == 'meditation' || sheetData.item.data.type == 'oeuvre') { | ||||||
|       sheetData.caracList = duplicate(game.system.model.Actor.personnage.carac); |       sheetData.caracList = duplicate(game.system.model.Actor.personnage.carac); | ||||||
|       sheetData.competences = await RdDUtility.loadCompendiumNames( 'foundryvtt-reve-de-dragon.competences' ); |       sheetData.competences = await RdDUtility.loadCompendiumNames( 'foundryvtt-reve-de-dragon.competences' ); | ||||||
|     } |     } | ||||||
|     if (sheetData.item.type == 'arme') { |     if (sheetData.item.data.type == 'arme') { | ||||||
|       sheetData.competences = await RdDUtility.loadCompendium( 'foundryvtt-reve-de-dragon.competences', it => RdDItemCompetence.isCompetenceArme(it)); |       sheetData.competences = await RdDUtility.loadCompendium( 'foundryvtt-reve-de-dragon.competences', it => RdDItemCompetence.isCompetenceArme(it)); | ||||||
|     } |     } | ||||||
|     if ( sheetData.item.type == 'recettealchimique' ) { |     if ( sheetData.item.data.type == 'recettealchimique' ) { | ||||||
|       RdDAlchimie.processManipulation(sheetData.item, this.actor && this.actor.id ); |       RdDAlchimie.processManipulation(sheetData.item, this.actor && this.actor.id ); | ||||||
|     } |     } | ||||||
|     if ( this.actor ) { |     if ( this.actor ) { | ||||||
| @@ -120,7 +120,7 @@ export class RdDItemSheet extends ItemSheet { | |||||||
|   /* -------------------------------------------- */ |   /* -------------------------------------------- */ | ||||||
|   get template() |   get template() | ||||||
|   { |   { | ||||||
|     let type = this.item.type; |     let type = this.item.data.type; | ||||||
|     return `systems/foundryvtt-reve-de-dragon/templates/item-${type}-sheet.html`; |     return `systems/foundryvtt-reve-de-dragon/templates/item-${type}-sheet.html`; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -53,7 +53,7 @@ export class RdDItemSort extends Item { | |||||||
|   */ |   */ | ||||||
|   static getBonusCaseList( data, newCase = false ) { |   static getBonusCaseList( data, newCase = false ) { | ||||||
|     // Gestion spéciale case bonus |     // Gestion spéciale case bonus | ||||||
|     if ( data.item.type == 'sort') { |     if ( data.item.data.type == 'sort') { | ||||||
|       return this.buildBonusCaseList(data.data.bonuscase, newCase ); |       return this.buildBonusCaseList(data.data.bonuscase, newCase ); | ||||||
|     } |     } | ||||||
|     return undefined; |     return undefined; | ||||||
| @@ -106,7 +106,7 @@ export class RdDItemSort extends Item { | |||||||
|       // Sauvegarde/update |       // Sauvegarde/update | ||||||
|       let bonuscase = StringList.toString(); |       let bonuscase = StringList.toString(); | ||||||
|       //console.log("Bonus cae :", bonuscase); |       //console.log("Bonus cae :", bonuscase); | ||||||
|       actor.updateEmbeddedEntity("OwnedItem", { _id: sort._id, 'data.bonuscase': bonuscase } ); |       actor.updateEmbeddedDocuments('Item', [{ _id: sort._id, 'data.bonuscase': bonuscase }]); | ||||||
|   } |   } | ||||||
|    |    | ||||||
|   /* -------------------------------------------- */ |   /* -------------------------------------------- */ | ||||||
|   | |||||||
| @@ -12,20 +12,18 @@ export class Misc { | |||||||
|     return text.charAt(0).toUpperCase() + text.slice(1); |     return text.charAt(0).toUpperCase() + text.slice(1); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   static toSignedString(number){ |   static toSignedString(number) { | ||||||
|     const value = parseInt(number) |     const value = parseInt(number) | ||||||
|     const isPositiveNumber = value != NaN && value > 0; |     const isPositiveNumber = value != NaN && value > 0; | ||||||
|     return isPositiveNumber ? "+"+number : number |     return isPositiveNumber ? "+" + number : number | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   /** |   /** | ||||||
|    * Converts the value to an integer, or to 0 if undefined/null/not representing integer |    * Converts the value to an integer, or to 0 if undefined/null/not representing integer | ||||||
|    * @param {*} value value to convert to an integer using parseInt |    * @param {*} value value to convert to an integer using parseInt | ||||||
|    */ |    */ | ||||||
|   static toInt(value) |   static toInt(value) { | ||||||
|   { |     if (value == undefined) { | ||||||
|     if (value == undefined) |  | ||||||
|     { |  | ||||||
|       return 0; |       return 0; | ||||||
|     } |     } | ||||||
|     const parsed = parseInt(value); |     const parsed = parseInt(value); | ||||||
| @@ -41,13 +39,13 @@ export class Misc { | |||||||
|     } |     } | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   static classify(items, classifier = it => it.type, transform = it => it) { |   static classify(items, classifier = item => item.type, transform = it => it) { | ||||||
|     let itemsBy = {}; |     let itemsBy = {}; | ||||||
|     Misc.classifyInto(itemsBy, items, classifier, transform); |     Misc.classifyInto(itemsBy, items, classifier, transform); | ||||||
|     return itemsBy; |     return itemsBy; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   static classifyInto(itemsBy, items, classifier = it => it.type, transform = it => it) { |   static classifyInto(itemsBy, items, classifier = item => item.type, transform = it => it) { | ||||||
|     for (const item of items) { |     for (const item of items) { | ||||||
|       const classification = classifier(item); |       const classification = classifier(item); | ||||||
|       let list = itemsBy[classification]; |       let list = itemsBy[classification]; | ||||||
| @@ -66,5 +64,4 @@ export class Misc { | |||||||
|   static distinct(array) { |   static distinct(array) { | ||||||
|     return [...new Set(array)]; |     return [...new Set(array)]; | ||||||
|   } |   } | ||||||
|  |  | ||||||
| } | } | ||||||
| @@ -43,7 +43,7 @@ export class RdDAstrologieJoueur extends Dialog { | |||||||
|    |    | ||||||
|   /* -------------------------------------------- */ |   /* -------------------------------------------- */ | ||||||
|   static organizeNombres(actor) { |   static organizeNombres(actor) { | ||||||
|     let itemNombres = actor.data.items.filter( (item) => item.type == 'nombreastral'); |     let itemNombres = actor.data.items.filter( (item) => item.data.type == 'nombreastral'); | ||||||
|     let itemFiltered = {}; |     let itemFiltered = {}; | ||||||
|     for ( let item of itemNombres) { |     for ( let item of itemNombres) { | ||||||
|       if ( itemFiltered[item.data.jourindex] ) { |       if ( itemFiltered[item.data.jourindex] ) { | ||||||
| @@ -91,7 +91,7 @@ export class RdDAstrologieJoueur extends Dialog { | |||||||
|       $("#diffConditions").val(0); |       $("#diffConditions").val(0); | ||||||
|     }); |     }); | ||||||
|  |  | ||||||
|     html.find('#jet-astrologie').click((event) => { |     html.find('.jet-astrologie').click((event) => { | ||||||
|       this.requestJetAstrologie(); |       this.requestJetAstrologie(); | ||||||
|     }); |     }); | ||||||
|   } |   } | ||||||
|   | |||||||
| @@ -78,14 +78,14 @@ export class RdDCombatManager extends Combat { | |||||||
|         let armeCombat, competence; |         let armeCombat, competence; | ||||||
|         if (c.actor.data.type == 'creature' || c.actor.data.type == 'entite') { |         if (c.actor.data.type == 'creature' || c.actor.data.type == 'entite') { | ||||||
|           for (const competenceItem of c.actor.data.items) { |           for (const competenceItem of c.actor.data.items) { | ||||||
|             if (competenceItem.data.iscombat) { |             if (competenceitem.data.iscombat) { | ||||||
|               competence = duplicate(competenceItem); |               competence = duplicate(competenceItem); | ||||||
|             } |             } | ||||||
|           } |           } | ||||||
|           rollFormula = "2+( (" + RdDCombatManager.calculInitiative(competence.data.niveau, competence.data.carac_value) + ")/100)"; |           rollFormula = "2+( (" + RdDCombatManager.calculInitiative(competence.data.niveau, competence.data.carac_value) + ")/100)"; | ||||||
|         } else { |         } else { | ||||||
|           for (const item of c.actor.data.items) { |           for (const item of c.actor.data.items) { | ||||||
|             if (item.type == "arme" && item.data.equipe) { |             if (item.data.type == "arme" && item.data.equipe) { | ||||||
|               armeCombat = duplicate(item); |               armeCombat = duplicate(item); | ||||||
|             } |             } | ||||||
|           } |           } | ||||||
| @@ -99,7 +99,7 @@ export class RdDCombatManager extends Combat { | |||||||
|       const roll = super._getInitiativeRoll(c, rollFormula); |       const roll = super._getInitiativeRoll(c, rollFormula); | ||||||
|       if (roll.total <= 0) roll.total = 0.00; |       if (roll.total <= 0) roll.total = 0.00; | ||||||
|       console.log("Compute init for", rollFormula, roll.total); |       console.log("Compute init for", rollFormula, roll.total); | ||||||
|       await this.updateEmbeddedEntity("Combatant", { _id: c._id, initiative: roll.total }); |       await this.updateEmbeddedDocuments("Combatant", [{ _id: c._id, initiative: roll.total }]); | ||||||
|  |  | ||||||
|       // Send a chat message |       // Send a chat message | ||||||
|       let rollMode = messageOptions.rollMode || game.settings.get("core", "rollMode"); |       let rollMode = messageOptions.rollMode || game.settings.get("core", "rollMode"); | ||||||
| @@ -211,7 +211,7 @@ export class RdDCombatManager extends Combat { | |||||||
|                 let msg = `<h4>L'initiative de ${combatant.actor.name} a été modifiée !</h4> |                 let msg = `<h4>L'initiative de ${combatant.actor.name} a été modifiée !</h4> | ||||||
|                       <hr> |                       <hr> | ||||||
|                       <div> |                       <div> | ||||||
|                         Etant donné son ${arme.name}, son initative pour ce premier round est désormais de ${initData.init}. |                         Etant donné son ${arme.name}, son initiative pour ce premier round est désormais de ${initData.init}. | ||||||
|                       </div>` |                       </div>` | ||||||
|                 ChatMessage.create({ content: msg }); |                 ChatMessage.create({ content: msg }); | ||||||
|                 game.combat.setInitiative(combatant._id, initData.init); |                 game.combat.setInitiative(combatant._id, initData.init); | ||||||
| @@ -725,7 +725,7 @@ export class RdDCombat { | |||||||
|   /* -------------------------------------------- */ |   /* -------------------------------------------- */ | ||||||
|   async _onAttaqueParticuliere(rollData) { |   async _onAttaqueParticuliere(rollData) { | ||||||
|     RdDCombat._storeAttaque(this.attackerId, rollData); |     RdDCombat._storeAttaque(this.attackerId, rollData); | ||||||
|     this.attacker.decItemUse( rollData.arme._id ); // Usage décrémenté sur particulière |     this.attacker.decItemUse(rollData.arme._id); // Usage décrémenté sur particulière | ||||||
|  |  | ||||||
|     // Finesse et Rapidité seulement en mêlée et si la difficulté libre est de -1 minimum |     // Finesse et Rapidité seulement en mêlée et si la difficulté libre est de -1 minimum | ||||||
|     const isMeleeDiffNegative = rollData.selectedCarac.label == "Mêlée" && rollData.diffLibre < 0; |     const isMeleeDiffNegative = rollData.selectedCarac.label == "Mêlée" && rollData.diffLibre < 0; | ||||||
| @@ -733,7 +733,7 @@ export class RdDCombat { | |||||||
|       alias: this.attacker.name, |       alias: this.attacker.name, | ||||||
|       whisper: ChatUtility.getWhisperRecipientsAndGMs(this.attacker.name), |       whisper: ChatUtility.getWhisperRecipientsAndGMs(this.attacker.name), | ||||||
|       content: await renderTemplate('systems/foundryvtt-reve-de-dragon/templates/chat-demande-attaque-particuliere.html', { |       content: await renderTemplate('systems/foundryvtt-reve-de-dragon/templates/chat-demande-attaque-particuliere.html', { | ||||||
|         alias: this.attacker.name, |         actor: this.attacker, | ||||||
|         attackerId: this.attackerId, |         attackerId: this.attackerId, | ||||||
|         defenderTokenId: this.defenderTokenId, |         defenderTokenId: this.defenderTokenId, | ||||||
|         isFinesse: isMeleeDiffNegative, |         isFinesse: isMeleeDiffNegative, | ||||||
| @@ -1109,7 +1109,7 @@ export class RdDCombat { | |||||||
|               resistance -= perteResistance; |               resistance -= perteResistance; | ||||||
|               defenderRoll.show.deteriorationArme = resistance <= 0 ? 'brise' : 'perte'; |               defenderRoll.show.deteriorationArme = resistance <= 0 ? 'brise' : 'perte'; | ||||||
|               defenderRoll.show.perteResistance = perteResistance; |               defenderRoll.show.perteResistance = perteResistance; | ||||||
|               this.defender.updateEmbeddedEntity("OwnedItem", { _id: defenderRoll.arme._id, 'data.resistance': resistance }); |               this.defender.updateEmbeddedDocuments('Item', [{ _id: defenderRoll.arme._id, 'data.resistance': resistance }]); | ||||||
|             } |             } | ||||||
|           } |           } | ||||||
|         } else { |         } else { | ||||||
| @@ -1126,7 +1126,7 @@ export class RdDCombat { | |||||||
|             resistance -= dmg; |             resistance -= dmg; | ||||||
|             defenderRoll.show.deteriorationArme = resistance <= 0 ? 'brise' : 'perte'; |             defenderRoll.show.deteriorationArme = resistance <= 0 ? 'brise' : 'perte'; | ||||||
|             defenderRoll.show.perteResistance = dmg; |             defenderRoll.show.perteResistance = dmg; | ||||||
|             this.defender.updateEmbeddedEntity("OwnedItem", { _id: defenderRoll.arme._id, 'data.resistance': resistance }); |             this.defender.updateEmbeddedDocuments('Item', [{ _id: defenderRoll.arme._id, 'data.resistance': resistance }]); | ||||||
|           } |           } | ||||||
|         } |         } | ||||||
|         // Si l'arme de parade n'est pas un bouclier, jet de désarmement (p.132) |         // Si l'arme de parade n'est pas un bouclier, jet de désarmement (p.132) | ||||||
| @@ -1248,7 +1248,7 @@ export class RdDCombat { | |||||||
|   static async displayActorCombatStatus(combat, actor) { |   static async displayActorCombatStatus(combat, actor) { | ||||||
|     let data = { |     let data = { | ||||||
|       combatId: combat._id, |       combatId: combat._id, | ||||||
|       alias: actor.name, |       actor: actor, | ||||||
|       etatGeneral: actor.getEtatGeneral(), |       etatGeneral: actor.getEtatGeneral(), | ||||||
|       isSonne: actor.getSonne(), |       isSonne: actor.getSonne(), | ||||||
|       blessuresStatus: actor.computeResumeBlessure(), |       blessuresStatus: actor.computeResumeBlessure(), | ||||||
|   | |||||||
| @@ -11,11 +11,11 @@ export class RdDHotbar { | |||||||
|  |  | ||||||
|     Hooks.on("hotbarDrop", async (bar, data, slot) => { |     Hooks.on("hotbarDrop", async (bar, data, slot) => { | ||||||
|     // Create item macro if rollable item - weapon, spell, prayer, trait, or skill |     // Create item macro if rollable item - weapon, spell, prayer, trait, or skill | ||||||
|     if (data.type == "Item") { |     if (data.type == 'Item') { | ||||||
|       if (data.data.type != "arme" && data.data.type != "competence" ) |       if (data.data.type != "arme" && data.data.type != "competence" ) | ||||||
|         return |         return | ||||||
|       let item = data.data |       let item = data.data | ||||||
|       let command = `game.system.rdd.RdDHotbar.rollMacro("${item.name}", "${item.type}");`; |       let command = `game.system.rdd.RdDHotbar.rollMacro("${item.name}", "${item.data.type}");`; | ||||||
|       let macro = game.macros.entities.find(m => (m.name === item.name) && (m.command === command)); |       let macro = game.macros.entities.find(m => (m.name === item.name) && (m.command === command)); | ||||||
|       if (!macro) { |       if (!macro) { | ||||||
|         macro = await Macro.create({ |         macro = await Macro.create({ | ||||||
| @@ -70,10 +70,10 @@ export class RdDHotbar { | |||||||
|     let item = actor ? actor.items.find(i => i.name === itemName && i.type == itemType) : null; |     let item = actor ? actor.items.find(i => i.name === itemName && i.type == itemType) : null; | ||||||
|     if (!item) return ui.notifications.warn(`Impossible de trouver l'objet de cette macro`); |     if (!item) return ui.notifications.warn(`Impossible de trouver l'objet de cette macro`); | ||||||
|  |  | ||||||
|     item = item.data; |     item = item.data.data; | ||||||
|  |  | ||||||
|     // Trigger the item roll |     // Trigger the item roll | ||||||
|     switch (item.type) { |     switch (item.data.type) { | ||||||
|       case "arme": |       case "arme": | ||||||
|         return actor.rollArme(item.data.competence, itemName); |         return actor.rollArme(item.data.competence, itemName); | ||||||
|       case "competence": |       case "competence": | ||||||
|   | |||||||
| @@ -39,7 +39,7 @@ export class RdDRoll extends Dialog { | |||||||
|   /* -------------------------------------------- */ |   /* -------------------------------------------- */ | ||||||
|   static _setDefaultOptions(actor, rollData) { |   static _setDefaultOptions(actor, rollData) { | ||||||
|     let defaultRollData = { |     let defaultRollData = { | ||||||
|       alias: actor.name, |       actor: actor, | ||||||
|       ajustementsConditions: CONFIG.RDD.ajustementsConditions, |       ajustementsConditions: CONFIG.RDD.ajustementsConditions, | ||||||
|       difficultesLibres: CONFIG.RDD.difficultesLibres, |       difficultesLibres: CONFIG.RDD.difficultesLibres, | ||||||
|       etat: actor.getEtatGeneral(), |       etat: actor.getEtatGeneral(), | ||||||
|   | |||||||
| @@ -76,7 +76,7 @@ export class RdDTMRDialog extends Dialog { | |||||||
|   } |   } | ||||||
|  |  | ||||||
|   loadRencontres() { |   loadRencontres() { | ||||||
|     this.rencontresExistantes = duplicate(this.actor.getTMRRencontres()).list; |     this.rencontresExistantes = duplicate(this.actor.getTMRRencontres()); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   /* -------------------------------------------- */ |   /* -------------------------------------------- */ | ||||||
| @@ -304,7 +304,6 @@ export class RdDTMRDialog extends Dialog { | |||||||
|  |  | ||||||
|     let rencontreData = { |     let rencontreData = { | ||||||
|       actor: this.actor, |       actor: this.actor, | ||||||
|       alias: this.actor.name, |  | ||||||
|       reveDepart: this.actor.getReveActuel(), |       reveDepart: this.actor.getReveActuel(), | ||||||
|       competence: this.actor.getBestDraconic(), |       competence: this.actor.getBestDraconic(), | ||||||
|       rencontre: this.currentRencontre, |       rencontre: this.currentRencontre, | ||||||
| @@ -431,7 +430,6 @@ export class RdDTMRDialog extends Dialog { | |||||||
|     // simuler une rencontre |     // simuler une rencontre | ||||||
|     let rencontreData = { |     let rencontreData = { | ||||||
|       actor: this.actor, |       actor: this.actor, | ||||||
|       alias: this.actor.name, |  | ||||||
|       reveDepart: this.actor.getReveActuel(), |       reveDepart: this.actor.getReveActuel(), | ||||||
|       competence: this.actor.getBestDraconic(), |       competence: this.actor.getBestDraconic(), | ||||||
|       rencontre: this.currentRencontre, |       rencontre: this.currentRencontre, | ||||||
|   | |||||||
| @@ -690,20 +690,6 @@ export class RdDUtility { | |||||||
|     }); |     }); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   /* -------------------------------------------- */ |  | ||||||
|   static createMonnaie(name, valeur_deniers, img = "", enc = 0.01) { |  | ||||||
|     let piece = { |  | ||||||
|       name: name, type: 'monnaie', img: img, _id: randomID(16), |  | ||||||
|       data: { |  | ||||||
|         quantite: 0, |  | ||||||
|         valeur_deniers: valeur_deniers, |  | ||||||
|         encombrement: enc, |  | ||||||
|         description: "" |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
|     return piece; |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   /* -------------------------------------------- */ |   /* -------------------------------------------- */ | ||||||
|   static afficherDemandePayer(som1, som2) { |   static afficherDemandePayer(som1, som2) { | ||||||
|     som1 = (som1) ? som1.toLowerCase() : "0d"; |     som1 = (som1) ? som1.toLowerCase() : "0d"; | ||||||
| @@ -784,7 +770,7 @@ export class RdDUtility { | |||||||
|         label: "Supprimer l'objet", |         label: "Supprimer l'objet", | ||||||
|         callback: () => { |         callback: () => { | ||||||
|           console.log("Delete : ", itemId); |           console.log("Delete : ", itemId); | ||||||
|           actorSheet.actor.deleteOwnedItem(itemId); |           actorSheet.actor.deleteEmbeddedDocuments('Item', [itemId]); | ||||||
|           li.slideUp(200, () => actorSheet.render(false)); |           li.slideUp(200, () => actorSheet.render(false)); | ||||||
|         } |         } | ||||||
|       }, |       }, | ||||||
|   | |||||||
| @@ -293,7 +293,7 @@ export class TMRUtility { | |||||||
|       tmr.coord = coord; |       tmr.coord = coord; | ||||||
|       tmr.genre = TMRType[tmr.type].genre; |       tmr.genre = TMRType[tmr.type].genre; | ||||||
|     } |     } | ||||||
|     let tmrByType = Misc.classify(Object.values(TMRMapping)); |     let tmrByType = Misc.classify(Object.values(TMRMapping), tmr => tmr.type); | ||||||
|     for (const [type, list] of Object.entries(tmrByType)) { |     for (const [type, list] of Object.entries(tmrByType)) { | ||||||
|       TMRType[type].list = list; |       TMRType[type].list = list; | ||||||
|     } |     } | ||||||
|   | |||||||
| @@ -36,7 +36,7 @@ export class Conquete extends Draconique { | |||||||
|   } |   } | ||||||
|  |  | ||||||
|   async onActorDeleteCaseTmr(actor, casetmr) { |   async onActorDeleteCaseTmr(actor, casetmr) { | ||||||
|     await actor.deleteOwnedItem(casetmr.data.sourceid); |     await actor.deleteEmbeddedDocuments('Item', [casetmr.data.sourceid]); | ||||||
|   } |   } | ||||||
|  |  | ||||||
| } | } | ||||||
|   | |||||||
| @@ -123,24 +123,20 @@ export class Draconique { | |||||||
|   } |   } | ||||||
|  |  | ||||||
|   async createCaseTmr(actor, label, tmr, sourceId = undefined) { |   async createCaseTmr(actor, label, tmr, sourceId = undefined) { | ||||||
|     await actor.createOwnedItem({ |     await actor.createEmbeddedDocuments('Item', [{ | ||||||
|       name: label, type: 'casetmr', img: this.img(), _id: randomID(16), |       name: label, type: 'casetmr', img: this.img(), _id: randomID(16), | ||||||
|       data: { coord: tmr.coord, specific: this.code(), sourceid: sourceId } |       data: { coord: tmr.coord, specific: this.code(), sourceid: sourceId } | ||||||
|     }); |     }]); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   async deleteCasesTmr(actor, draconique) { |   async deleteCasesTmr(actor, draconique) { | ||||||
|     let caseTmrs = actor.data.items.filter(it => this.isCase(it) && it.data.sourceid == draconique._id); |     let caseTmrs = actor.data.items.filter(it => this.isCase(it) && it.data.sourceid == draconique._id); | ||||||
|     for (let casetmr of caseTmrs) { |     await actor.deleteEmbeddedDocuments('Item', caseTmrs.map(it =>it._id)); | ||||||
|       await actor.deleteOwnedItem(casetmr._id); |  | ||||||
|     } |  | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   async onVisiteSupprimer(actor, tmr, onRemoveToken) { |   async onVisiteSupprimer(actor, tmr, onRemoveToken) { | ||||||
|     let existants = actor.data.items.filter(it => this.isCase(it, tmr.coord)); |     let existants = actor.data.items.filter(it => this.isCase(it, tmr.coord)); | ||||||
|     for (let casetmr of existants) { |     await actor.deleteEmbeddedDocuments('Item', [ existants.map(it => it._id)]); | ||||||
|       await actor.deleteOwnedItem(casetmr._id); |     existants.forEach(it => onRemoveToken(tmr, it)); | ||||||
|       onRemoveToken(tmr, casetmr); |  | ||||||
|     } |  | ||||||
|   } |   } | ||||||
| } | } | ||||||
| @@ -32,7 +32,7 @@ export class Pelerinage extends Draconique { | |||||||
|   } |   } | ||||||
|    |    | ||||||
|   async onActorDeleteCaseTmr(actor, casetmr) { |   async onActorDeleteCaseTmr(actor, casetmr) { | ||||||
|     await actor.deleteOwnedItem(casetmr.data.sourceid); |     await actor.deleteEmbeddedDocuments('Item', [casetmr.data.sourceid]); | ||||||
|   } |   } | ||||||
|  |  | ||||||
| } | } | ||||||
|   | |||||||
| @@ -60,6 +60,6 @@ export class PresentCites extends Draconique { | |||||||
|   } |   } | ||||||
|  |  | ||||||
|   async ouvrirLePresent(actor, casetmr) { |   async ouvrirLePresent(actor, casetmr) { | ||||||
|     await actor.deleteOwnedItem(casetmr._id); |     await actor.deleteEmbeddedDocuments('Item', [casetmr._id]); | ||||||
|   } |   } | ||||||
| } | } | ||||||
|   | |||||||
| @@ -23,8 +23,8 @@ export class UrgenceDraconique extends Draconique { | |||||||
|         whisper: ChatUtility.getWhisperRecipientsAndGMs(game.user.name), |         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}` |         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.createEmbeddedDocuments('Item', [ideeFixe]); | ||||||
|       await actor.deleteOwnedItem(queue._id); |       await actor.deleteEmbeddedDocuments('Item', [queue._id]); | ||||||
|       return; |       return; | ||||||
|     } |     } | ||||||
|     else { |     else { | ||||||
| @@ -36,7 +36,7 @@ export class UrgenceDraconique extends Draconique { | |||||||
|   } |   } | ||||||
|  |  | ||||||
|   async onActorDeleteCaseTmr(actor, casetmr) { |   async onActorDeleteCaseTmr(actor, casetmr) { | ||||||
|     await actor.deleteOwnedItem(casetmr.data.sourceid); |     await actor.deleteEmbeddedDocuments('Item', [casetmr.data.sourceid]); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   code() { return 'urgence' } |   code() { return 'urgence' } | ||||||
|   | |||||||
| @@ -521,7 +521,7 @@ section.sheet-body:after { | |||||||
|   width: 50px; |   width: 50px; | ||||||
| } | } | ||||||
|  |  | ||||||
| #vie-plus, #vie-moins, #endurance-plus, #endurance-moins, #fatigue-plus, #fatigue-moins, #ptreve-actuel-plus, #ptreve-actuel-moins, .monnaie-plus, .monnaie-moins { | .ajustement-compteur { | ||||||
|   display: inline-block; |   display: inline-block; | ||||||
|   width: 1.25rem; |   width: 1.25rem; | ||||||
|   background: rgba(30, 25, 20, 1); |   background: rgba(30, 25, 20, 1); | ||||||
|   | |||||||
| @@ -10,13 +10,13 @@ | |||||||
|       </div> |       </div> | ||||||
|       <div class="flexrow flex-group-center flex-actions-bar"> |       <div class="flexrow flex-group-center flex-actions-bar"> | ||||||
|         <div> |         <div> | ||||||
|           <span id="encaisser-direct"><a title="Encaisser des dommages"><img class="button-img" src="icons/svg/bones.svg" alt="Encaisser des dommages"/></a></span> |           <span class="encaisser-direct"><a title="Encaisser des dommages"><img class="button-img" src="icons/svg/bones.svg" alt="Encaisser des dommages"/></a></span> | ||||||
|           <span class="gm-only remise-a-neuf"><a title="Remise à neuf"><img class="button-img" src="icons/svg/regen.svg" alt="Remise à neuf"/></a></span> |           <span class="gm-only remise-a-neuf"><a title="Remise à neuf"><img class="button-img" src="icons/svg/regen.svg" alt="Remise à neuf"/></a></span> | ||||||
|         </div> |         </div> | ||||||
|       </div> |       </div> | ||||||
|       <div class="flexrow"> |       <div class="flexrow"> | ||||||
|         <div class="flexrow"> |         <div class="flexrow"> | ||||||
|           <span>{{calc.resumeBlessures}}</span> |           <span>{{calc.blessures.resume}}</span> | ||||||
|         </div> |         </div> | ||||||
|         <div class="flexrow"> |         <div class="flexrow"> | ||||||
|           {{#if calc.surprise}}{{calc.surprise}}! {{/if}} |           {{#if calc.surprise}}{{calc.surprise}}! {{/if}} | ||||||
| @@ -27,7 +27,7 @@ | |||||||
|           </span> |           </span> | ||||||
|           {{/each}} |           {{/each}} | ||||||
|           {{#if options.isGM}} |           {{#if options.isGM}} | ||||||
|           <span id="enlever-tous-effets"><a>(enlever tout)</a></span> |           <span class="enlever-tous-effets"><a>(enlever tout)</a></span> | ||||||
|           {{/if}} |           {{/if}} | ||||||
|           {{else}} |           {{else}} | ||||||
|           Aucun effet actif |           Aucun effet actif | ||||||
| @@ -215,14 +215,14 @@ | |||||||
|           </li> |           </li> | ||||||
|           {{#each data.objets as |item id|}} |           {{#each data.objets as |item id|}} | ||||||
|             {{#unless item.estContenu}} |             {{#unless item.estContenu}} | ||||||
|             {{#if (ne item.type 'conteneur')}} |             {{#if (ne item.data.type 'conteneur')}} | ||||||
|             <li class="item flexrow list-item" data-item-id="{{item._id}}"> |             <li class="item flexrow list-item" data-item-id="{{item._id}}"> | ||||||
|                 <img class="sheet-competence-img" src="{{item.img}}" title="{{item.name}}"/> |                 <img class="sheet-competence-img" src="{{item.img}}" title="{{item.name}}"/> | ||||||
|                 <span class="item-name">{{item.name}}</span> |                 <span class="item-name">{{item.name}}</span> | ||||||
|                 <span class="item-quantite">{{item.data.quantite}}</span> |                 <span class="item-quantite">{{item.data.data.quantite}}</span> | ||||||
|                 <span class="item-quantite">{{numberFormat item.data.encTotal decimals=2}}</span> |                 <span class="item-quantite">{{numberFormat item.data.data.encTotal decimals=2}}</span> | ||||||
|                 <div class="item-controls"> |                 <div class="item-controls"> | ||||||
|                     <a class="item-control item-equip" title="Equiper">{{#if item.data.equipe}}<i class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a> |                     <a class="item-control item-equip" title="Equiper">{{#if item.data.data.equipe}}<i class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a> | ||||||
|                     <a class="item-control item-edit" title="Editer"><i class="fas fa-edit"></i></a> |                     <a class="item-control item-edit" title="Editer"><i class="fas fa-edit"></i></a> | ||||||
|                     <a class="item-control item-delete" title="Supprimer"><i class="fas fa-trash"></i></a> |                     <a class="item-control item-delete" title="Supprimer"><i class="fas fa-trash"></i></a> | ||||||
|                 </div> |                 </div> | ||||||
|   | |||||||
| @@ -10,7 +10,7 @@ | |||||||
|       </div> |       </div> | ||||||
|       <div class="flexrow flex-group-center flex-actions-bar"> |       <div class="flexrow flex-group-center flex-actions-bar"> | ||||||
|         <div> |         <div> | ||||||
|           <span id="encaisser-direct"><a title="Encaisser des dommages"><img class="button-img" src="icons/svg/bones.svg" alt="Encaisser des dommages"/></a></span> |           <span class="encaisser-direct"><a title="Encaisser des dommages"><img class="button-img" src="icons/svg/bones.svg" alt="Encaisser des dommages"/></a></span> | ||||||
|           <span class="gm-only remise-a-neuf"><a title="Remise à neuf"><img class="button-img" src="icons/svg/regen.svg" alt="Remise à neuf"/></a></span> |           <span class="gm-only remise-a-neuf"><a title="Remise à neuf"><img class="button-img" src="icons/svg/regen.svg" alt="Remise à neuf"/></a></span> | ||||||
|         </div> |         </div> | ||||||
|       </div> |       </div> | ||||||
|   | |||||||
| @@ -10,13 +10,13 @@ | |||||||
|       </div> |       </div> | ||||||
|       <div class="flexrow flex-group-center  flex-actions-bar"> |       <div class="flexrow flex-group-center  flex-actions-bar"> | ||||||
|         <div> |         <div> | ||||||
|           <span id="encaisser-direct"><a title="Encaisser des dommages"><img class="button-img" src="icons/svg/bones.svg" alt="Encaisser des dommages"/></a></span> |           <span class="encaisser-direct"><a title="Encaisser des dommages"><img class="button-img" src="icons/svg/bones.svg" alt="Encaisser des dommages"/></a></span> | ||||||
|           <span class="gm-only remise-a-neuf"><a title="Remise à neuf"><img class="button-img" src="icons/svg/regen.svg" alt="Remise à neuf"/></a></span> |           <span class="gm-only remise-a-neuf"><a title="Remise à neuf"><img class="button-img" src="icons/svg/regen.svg" alt="Remise à neuf"/></a></span> | ||||||
|         </div> |         </div> | ||||||
|       </div> |       </div> | ||||||
|       <div class="flexrow"> |       <div class="flexrow"> | ||||||
|         <div class="flexrow"> |         <div class="flexrow"> | ||||||
|           <span>{{calc.resumeBlessures}}</span> |           <span>{{calc.blessures.resume}}</span> | ||||||
|         </div> |         </div> | ||||||
|       </div> |       </div> | ||||||
|     </div> |     </div> | ||||||
| @@ -42,13 +42,11 @@ | |||||||
|             {{#each data.carac as |carac key|}} |             {{#each data.carac as |carac key|}} | ||||||
|             <li class="competence flexrow list-item" data-attribute="{{key}}"> |             <li class="competence flexrow list-item" data-attribute="{{key}}"> | ||||||
|               {{#if carac.isTaille}} |               {{#if carac.isTaille}} | ||||||
|               <span class="carac-label flexrow" name="data.carac.{{key}}.label">{{carac.label}}</span> |               <span class="carac-label flexrow">{{carac.label}}</span> | ||||||
|               {{else}} |               {{else}} | ||||||
|               <span class="carac-label flexrow" name="data.carac.{{key}}.label"><a |               <span class="carac-label flexrow"><a name={{key}}>{{carac.label}}</a></span> | ||||||
|                   name={{key}}>{{carac.label}}</a></span> |  | ||||||
|               {{/if}} |               {{/if}} | ||||||
|               <input class="competence-value flexrow" type="text" name="data.carac.{{key}}.value" |               <input class="competence-value flexrow" type="text" value="{{carac.value}}" data-dtype="{{carac.type}}" /> | ||||||
|                 value="{{carac.value}}" data-dtype="{{carac.type}}" /> |  | ||||||
|             </li> |             </li> | ||||||
|             {{/each}} |             {{/each}} | ||||||
|             <li class="competence flexrow list-item"> |             <li class="competence flexrow list-item"> | ||||||
| @@ -197,14 +195,14 @@ | |||||||
|             </li>     |             </li>     | ||||||
|           {{#each data.objets as |item id|}} |           {{#each data.objets as |item id|}} | ||||||
|               {{#unless item.estContenu}} |               {{#unless item.estContenu}} | ||||||
|               {{#if (ne item.type 'conteneur')}} |               {{#if (ne item.data.type 'conteneur')}} | ||||||
|               <li class="item flexrow list-item" data-item-id="{{item._id}}"> |               <li class="item flexrow list-item" data-item-id="{{item._id}}"> | ||||||
|                   <img class="sheet-competence-img" src="{{item.img}}" title="{{item.name}}"/> |                   <img class="sheet-competence-img" src="{{item.img}}" title="{{item.name}}"/> | ||||||
|                   <span class="item-name">{{item.name}}</span> |                   <span class="item-name">{{item.name}}</span> | ||||||
|                   <span class="item-quantite">{{item.data.quantite}}</span> |                   <span class="item-quantite">{{item.data.data.quantite}}</span> | ||||||
|                   <span class="item-quantite">{{numberFormat item.data.encTotal decimals=2}}</span> |                   <span class="item-quantite">{{numberFormat item.data.data.encTotal decimals=2}}</span> | ||||||
|                   <div class="item-controls"> |                   <div class="item-controls"> | ||||||
|                       <a class="item-control item-equip" title="Equiper">{{#if item.data.equipe}}<i class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a> |                       <a class="item-control item-equip" title="Equiper">{{#if item.data.data.equipe}}<i class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a> | ||||||
|                       <a class="item-control item-edit" title="Editer"><i class="fas fa-edit"></i></a> |                       <a class="item-control item-edit" title="Editer"><i class="fas fa-edit"></i></a> | ||||||
|                       <a class="item-control item-delete" title="Supprimer"><i class="fas fa-trash"></i></a> |                       <a class="item-control item-delete" title="Supprimer"><i class="fas fa-trash"></i></a> | ||||||
|                   </div> |                   </div> | ||||||
|   | |||||||
| @@ -1,14 +1,14 @@ | |||||||
| <li class="item flexrow list-item" data-item-id="{{item._id}}"> | <li class="item flexrow list-item" data-item-id="{{item._id}}"> | ||||||
|   <img class="sheet-competence-img" src="{{item.img}}" title="{{item.name}}"/> |   <img class="sheet-competence-img" src="{{item.img}}" title="{{item.name}}"/> | ||||||
|  |  | ||||||
|   {{#if (eq item.type 'conteneur')}} |   {{#if (eq item.data.type 'conteneur')}} | ||||||
|   <span class="item-name conteneur-name"><a data-item-id="{{item._id}}">+{{item.name}}</a></span> |   <span class="item-name conteneur-name"><a data-item-id="{{item._id}}">+{{item.name}}</a></span> | ||||||
|   {{else}} |   {{else}} | ||||||
|   <span class="item-name">{{item.name}}</span> |   <span class="item-name">{{item.name}}</span> | ||||||
|   {{/if}} |   {{/if}} | ||||||
|    |    | ||||||
|   <span class="item-quantite">{{item.data.quantite}}</span> |   <span class="item-quantite">{{item.data.data.quantite}}</span> | ||||||
|   <span class="item-quantite">{{numberFormat item.data.encTotal decimals=2}}</span> |   <span class="item-quantite">{{numberFormat item.data.data.encTotal decimals=2}}</span> | ||||||
|   <div class="item-controls"> |   <div class="item-controls"> | ||||||
|     <a class="item-control item-edit" title="Editer"><i class="fas fa-edit"></i></a> |     <a class="item-control item-edit" title="Editer"><i class="fas fa-edit"></i></a> | ||||||
|     <a class="item-control item-delete" title="Supprimer"><i class="fas fa-trash"></i></a> |     <a class="item-control item-delete" title="Supprimer"><i class="fas fa-trash"></i></a> | ||||||
|   | |||||||
| @@ -1,4 +1,3 @@ | |||||||
| {{log "handlebar" this}} |  | ||||||
| <form class="{{cssClass}}" autocomplete="off"> | <form class="{{cssClass}}" autocomplete="off"> | ||||||
|  |  | ||||||
|     {{!-- Sheet Header --}} |     {{!-- Sheet Header --}} | ||||||
| @@ -12,30 +11,30 @@ | |||||||
|           <ul class="flex-group-center flex-compteurs"> |           <ul class="flex-group-center flex-compteurs"> | ||||||
|             <li> |             <li> | ||||||
|               <label class="ctn-vie"> |               <label class="ctn-vie"> | ||||||
|                 <a id="jet-vie">Vie</a> |                 <a class="jet-vie">Vie</a> | ||||||
|                 <a id="vie-moins">-</a> |                 <a class="ajustement-compteur vie-moins">-</a> | ||||||
|                 <input class="resource-content" type="text" name="data.data.sante.vie.value" value="{{data.data.sante.vie.value}}" data-dtype="Number"/> |                 <input class="resource-content" type="text" name="data.data.sante.vie.value" value="{{data.data.sante.vie.value}}" data-dtype="Number"/> | ||||||
|                 <span>/ {{data.data.sante.vie.max}}</span> |                 <span>/ {{data.data.sante.vie.max}}</span> | ||||||
|                 <a id="vie-plus">+</a> |                 <a class="ajustement-compteur vie-plus">+</a> | ||||||
|               </label> |               </label> | ||||||
|             </li> |             </li> | ||||||
|             <li> |             <li> | ||||||
|               <label class="ctn-endu"> |               <label class="ctn-endu"> | ||||||
|                 <a id="jet-endurance">Endurance</a>                 |                 <a class="jet-endurance">Endurance</a>                 | ||||||
|                 <a id="endurance-moins">-</a> |                 <a class="ajustement-compteur endurance-moins">-</a> | ||||||
|                 <input class="resource-content" type="text" name="data.data.sante.endurance.value" value="{{data.data.sante.endurance.value}}" data-dtype="Number"/> |                 <input class="resource-content" type="text" name="data.data.sante.endurance.value" value="{{data.data.sante.endurance.value}}" data-dtype="Number"/> | ||||||
|                 <span>/ {{data.data.sante.endurance.max}}</span> |                 <span>/ {{data.data.sante.endurance.max}}</span> | ||||||
|                 <a id="endurance-plus">+</a> |                 <a class="ajustement-compteur endurance-plus">+</a> | ||||||
|               </label> |               </label> | ||||||
|             </li> |             </li> | ||||||
|             <li> |             <li> | ||||||
|               <label class="ctn-fatigue tooltip"> |               <label class="ctn-fatigue tooltip"> | ||||||
|                 <span class="tooltiptext ttt-fatigue">{{{calc.fatigue.html}}}</span> |                 <span class="tooltiptext ttt-fatigue">{{{calc.fatigue.html}}}</span> | ||||||
|                 Fatigue |                 Fatigue | ||||||
|                 <a id="fatigue-moins">-</a> |                 <a class="ajustement-compteur fatigue-moins">-</a> | ||||||
|                 <input class="resource-content" id="fatigue-value" type="text" name="data.data.sante.fatigue.value" value="{{data.data.sante.fatigue.value}}" data-dtype="Number" /> |                 <input class="resource-content" id="fatigue-value" type="text" name="data.data.sante.fatigue.value" value="{{data.data.sante.fatigue.value}}" data-dtype="Number" /> | ||||||
|                 <span>/ {{data.data.sante.fatigue.max}}</span> |                 <span>/ {{data.data.sante.fatigue.max}}</span> | ||||||
|                 <a id="fatigue-plus">+</a> |                 <a class="ajustement-compteur fatigue-plus">+</a> | ||||||
|               </label> |               </label> | ||||||
|             </li> |             </li> | ||||||
|             <li> |             <li> | ||||||
| @@ -47,22 +46,22 @@ | |||||||
|             <li> |             <li> | ||||||
|               <label class="ctn-reve"> |               <label class="ctn-reve"> | ||||||
|                 <span class="ptreve-actuel"><a>Rêve</a></span> |                 <span class="ptreve-actuel"><a>Rêve</a></span> | ||||||
|                 <a id="ptreve-actuel-moins">-</a> |                 <a class="ajustement-compteur ptreve-actuel-moins">-</a> | ||||||
|                 <input class="resource-content" id="pointsreve-value" type="text" name="data.data.reve.reve.value" value="{{data.data.reve.reve.value}}" data-dtype="Number" /> |                 <input class="resource-content" id="pointsreve-value" type="text" name="data.data.reve.reve.value" value="{{data.data.reve.reve.value}}" data-dtype="Number" /> | ||||||
|                 <span>/ {{data.data.reve.seuil.value}}</span> |                 <span>/ {{data.data.reve.seuil.value}}</span> | ||||||
|                 <a id="ptreve-actuel-plus">+</a> |                 <a class="ajustement-compteur ptreve-actuel-plus">+</a> | ||||||
|               </label> |               </label> | ||||||
|             </li> |             </li> | ||||||
|           </ul> |           </ul> | ||||||
|           <div class="flex-group-center  flex-actions-bar"> |           <div class="flex-group-center  flex-actions-bar"> | ||||||
|             <div> |             <div> | ||||||
|               <span id="encaisser-direct"><a title="Encaisser des dommages"><img class="button-img" src="icons/svg/bones.svg" alt="Encaisser des dommages"/></a></span> |               <span class="encaisser-direct"><a title="Encaisser des dommages"><img class="button-img" src="icons/svg/bones.svg" alt="Encaisser des dommages"/></a></span> | ||||||
|               <span class="gm-only remise-a-neuf"><a title="Remise à neuf"><img class="button-img" src="icons/svg/regen.svg" alt="Remise à neuf"/></a></span> |               <span class="gm-only remise-a-neuf"><a title="Remise à neuf"><img class="button-img" src="icons/svg/regen.svg" alt="Remise à neuf"/></a></span> | ||||||
|               <span id="dormir-une-heure"><a title="Dormir une heure"><img class="button-img" src="icons/svg/sleep.svg" alt="Dormir une heure"/></a></span> |               <span class="dormir-une-heure"><a title="Dormir une heure"><img class="button-img" src="icons/svg/sleep.svg" alt="Dormir une heure"/></a></span> | ||||||
|               <span id="dormir-chateau-dormant"><a title="Chateau Dormant"><img class="button-img" src="systems/foundryvtt-reve-de-dragon/icons/heures/hd12.svg" alt="Chateau Dormant"/></a></span> |               <span class="dormir-chateau-dormant"><a title="Chateau Dormant"><img class="button-img" src="systems/foundryvtt-reve-de-dragon/icons/heures/hd12.svg" alt="Chateau Dormant"/></a></span> | ||||||
|               <span id="monte-tmr"><a title="Montée dans les Terres Médianes !"><img class="button-img" src="systems/foundryvtt-reve-de-dragon/styles/img/ui/icon-tmr-normal.svg" alt="Montée dans les Terres Médianes !"/></a></span> |               <span class="monte-tmr"><a title="Montée dans les Terres Médianes !"><img class="button-img" src="systems/foundryvtt-reve-de-dragon/styles/img/ui/icon-tmr-normal.svg" alt="Montée dans les Terres Médianes !"/></a></span> | ||||||
|               <span id="monte-tmr-rapide"><a title="Montée accélérée dans les Terres Médianes !"><img class="button-img" src="systems/foundryvtt-reve-de-dragon/styles/img/ui/icon-tmr-rapide.svg" alt="Montée accélérée dans les Terres Médianes !"/></a></span> |               <span class="monte-tmr-rapide"><a title="Montée accélérée dans les Terres Médianes !"><img class="button-img" src="systems/foundryvtt-reve-de-dragon/styles/img/ui/icon-tmr-rapide.svg" alt="Montée accélérée dans les Terres Médianes !"/></a></span> | ||||||
|               <span id="visu-tmr"><a title="Regarder les Terres Médianes"><img class="button-img" src="systems/foundryvtt-reve-de-dragon/styles/img/ui/icon-tmr-view.svg" alt="Regarder les Terres Médianes"/></a></span> |               <span class="visu-tmr"><a title="Regarder les Terres Médianes"><img class="button-img" src="systems/foundryvtt-reve-de-dragon/styles/img/ui/icon-tmr-view.svg" alt="Regarder les Terres Médianes"/></a></span> | ||||||
|             </div> |             </div> | ||||||
|             <div class="flexrow"> |             <div class="flexrow"> | ||||||
|               <span class="tooltip">Malus de fatigue : {{calc.fatigue.malus}} |               <span class="tooltip">Malus de fatigue : {{calc.fatigue.malus}} | ||||||
| @@ -78,13 +77,10 @@ | |||||||
|               {{#if calc.surprise}}{{calc.surprise}}! {{/if}} |               {{#if calc.surprise}}{{calc.surprise}}! {{/if}} | ||||||
|               {{#if actor.effects}} |               {{#if actor.effects}} | ||||||
|               {{#each actor.effects as |effect key|}} |               {{#each actor.effects as |effect key|}} | ||||||
|               {{log "handlebar effect" effect}} |               <span><img class="button-effect-img" src="{{effect.data.icon}}" alt="{{effect.data.label}}"/></span> | ||||||
|               <span id="effect-{{effect.data.flags.core.status.statusId}} "> |  | ||||||
|                 <img class="button-effect-img" src="{{effect.data.icon}}" alt="{{effect.data.label}}" width="24" height="24" /> |  | ||||||
|               </span> |  | ||||||
|               {{/each}} |               {{/each}} | ||||||
|               {{#if options.isGM}} |               {{#if options.isGM}} | ||||||
|               <span id="enlever-tous-effets"><a>(enlever tout)</a></span> |               <span class="enlever-tous-effets"><a>(enlever tout)</a></span> | ||||||
|               {{/if}} |               {{/if}} | ||||||
|               {{else}} |               {{else}} | ||||||
|                 Aucun effet actif |                 Aucun effet actif | ||||||
| @@ -165,7 +161,7 @@ | |||||||
|                 <li class="competence flexrow  list-item" data-attribute="{{key}}"> |                 <li class="competence flexrow  list-item" data-attribute="{{key}}"> | ||||||
|                   <span class="generic-label flexrow" name="data.attributs.{{key}}.label">{{attr.label}} :  |                   <span class="generic-label flexrow" name="data.attributs.{{key}}.label">{{attr.label}} :  | ||||||
|                   {{#if (eq key 'protection')}} |                   {{#if (eq key 'protection')}} | ||||||
|                     <input id="attribut-protection-edit" type="text" name="{{key}}" value="{{attr.value}}" data-dtype="number"/><span/> |                     <input class="attribut-protection-edit" type="text" name="{{key}}" value="{{attr.value}}" data-dtype="number"/><span/> | ||||||
|                   {{else}} |                   {{else}} | ||||||
|                     {{attr.value}} |                     {{attr.value}} | ||||||
|                   {{/if}} |                   {{/if}} | ||||||
| @@ -175,9 +171,9 @@ | |||||||
|               </ul> |               </ul> | ||||||
|               <ul class="carac-list alterne-list"> |               <ul class="carac-list alterne-list"> | ||||||
|                 <li class="competence flexrow list-item"> |                 <li class="competence flexrow list-item"> | ||||||
|                   <span class="generic-label" id="chance-actuelle"><a>Chance actuelle</a></span> |                   <span class="generic-label chance-actuelle"><a>Chance actuelle</a></span> | ||||||
|                   <input class="compteur-edit" id="chance-edit" type="text" name="chance" value="{{data.data.compteurs.chance.value}}" data-dtype="number"/> |                   <input class="compteur-edit" type="text" name="chance" value="{{data.data.compteurs.chance.value}}" data-dtype="number"/> | ||||||
|                   <span><a class="item-control stress-test" id="chance-appel">Utiliser</a></span> |                   <span><a class="item-control chance-appel">Utiliser</a></span> | ||||||
|                 </li> |                 </li> | ||||||
|                 {{#each data.data.compteurs as |compteur key|}} |                 {{#each data.data.compteurs as |compteur key|}} | ||||||
|                   {{#if compteur.isChance}} |                   {{#if compteur.isChance}} | ||||||
| @@ -185,7 +181,7 @@ | |||||||
|                     <li class="competence flexrow list-item"> |                     <li class="competence flexrow list-item"> | ||||||
|                       <span class="generic-label">{{compteur.label}}</span> |                       <span class="generic-label">{{compteur.label}}</span> | ||||||
|                       {{#if (eq compteur.label 'Ethylisme')}} |                       {{#if (eq compteur.label 'Ethylisme')}} | ||||||
|                       <select name="data.compteurs.ethylisme.value" id="ethylisme" data-dtype="Number"> |                       <select name="data.compteurs.ethylisme.value" class="ethylisme" data-dtype="Number"> | ||||||
|                         {{#select compteur.value}} |                         {{#select compteur.value}} | ||||||
|                         {{>"systems/foundryvtt-reve-de-dragon/templates/niveau-ethylisme.html"}} |                         {{>"systems/foundryvtt-reve-de-dragon/templates/niveau-ethylisme.html"}} | ||||||
|                         {{/select}} |                         {{/select}} | ||||||
| @@ -195,13 +191,13 @@ | |||||||
|                       {{/if}} |                       {{/if}} | ||||||
|                       <span> |                       <span> | ||||||
|                         {{#if compteur.isStress}} |                         {{#if compteur.isStress}} | ||||||
|                         <a class="item-control stress-test" id="stress-test" title="Transformer">Transformer</a> |                         <a class="item-control stress-test" title="Transformer">Transformer</a> | ||||||
|                         {{else if (eq compteur.label 'Ethylisme')}} |                         {{else if (eq compteur.label 'Ethylisme')}} | ||||||
|                         <a class="item-control ethylisme-test" id="ethylisme-test" title="Jet d'Ethylisme">Jet d'Ethylisme</a> |                         <a class="item-control ethylisme-test" title="Jet d'Ethylisme">Jet d'Ethylisme</a> | ||||||
|                         {{else if (eq compteur.label 'Moral')}} |                         {{else if (eq compteur.label 'Moral')}} | ||||||
|                         <a id="moral-malheureux" title="Jet de moral situation malheureuse"><img class="small-button-container" src="systems/foundryvtt-reve-de-dragon/icons/moral-malheureux.svg" alt="Jet de moral situation malheureuse"/></a> |                         <a class="moral-malheureux" title="Jet de moral situation malheureuse"><img class="small-button-container" src="systems/foundryvtt-reve-de-dragon/icons/moral-malheureux.svg" alt="Jet de moral situation malheureuse"/></a> | ||||||
|                         <a id="moral-neutre" title="Jet de moral situation neutre"><img class="small-button-container" src="systems/foundryvtt-reve-de-dragon/icons/moral-neutre.svg" alt="Jet de moral situation neutre"/></a> |                         <a class="moral-neutre" title="Jet de moral situation neutre"><img class="small-button-container" src="systems/foundryvtt-reve-de-dragon/icons/moral-neutre.svg" alt="Jet de moral situation neutre"/></a> | ||||||
|                         <a id="moral-heureux" title="Jet de moral situation heureuse"><img class="small-button-container" src="systems/foundryvtt-reve-de-dragon/icons/moral-heureux.svg" alt="Jet de moral situation heureuse"/></a> |                         <a class="moral-heureux" title="Jet de moral situation heureuse"><img class="small-button-container" src="systems/foundryvtt-reve-de-dragon/icons/moral-heureux.svg" alt="Jet de moral situation heureuse"/></a> | ||||||
|                         {{else}} |                         {{else}} | ||||||
|                         <label></label> |                         <label></label> | ||||||
|                       {{/if}} |                       {{/if}} | ||||||
| @@ -221,10 +217,10 @@ | |||||||
|             <span><a class="lock-unlock-sheet"><img class="small-button-container"  |             <span><a class="lock-unlock-sheet"><img class="small-button-container"  | ||||||
|               src="systems/foundryvtt-reve-de-dragon/icons/{{#if @root.options.editCaracComp}}unlocked.svg{{else}}locked.svg{{/if}}" alt="blocker/débloquer" |               src="systems/foundryvtt-reve-de-dragon/icons/{{#if @root.options.editCaracComp}}unlocked.svg{{else}}locked.svg{{/if}}" alt="blocker/débloquer" | ||||||
|               >{{#if @root.options.editCaracComp}}Verrouiller{{else}}Déverrouiller{{/if}}</a></span> |               >{{#if @root.options.editCaracComp}}Verrouiller{{else}}Déverrouiller{{/if}}</a></span> | ||||||
|             <span><a id="show-hide-competences"><img class="small-button-container"  |             <span><a class="show-hide-competences"><img class="small-button-container"  | ||||||
|               src="systems/foundryvtt-reve-de-dragon/icons/{{#if @root.options.showCompNiveauBase}}no-filter.svg{{else}}filter.svg{{/if}}" alt="filter/montrer tout" |               src="systems/foundryvtt-reve-de-dragon/icons/{{#if @root.options.showCompNiveauBase}}no-filter.svg{{else}}filter.svg{{/if}}" alt="filter/montrer tout" | ||||||
|               >{{#if @root.options.showCompNiveauBase}}Montrer tout{{else}}Filtrer{{/if}}</a></span>  |               >{{#if @root.options.showCompNiveauBase}}Montrer tout{{else}}Filtrer{{/if}}</a></span>  | ||||||
|             <span><a id="show-hide-archetype"><img class="small-button-container"  |             <span><a class="show-hide-archetype"><img class="small-button-container"  | ||||||
|               src="systems/foundryvtt-reve-de-dragon/icons/{{#if @root.options.montrerArchetype}}no-filter.svg{{else}}filter.svg{{/if}}" alt="filter/montrer l'archétype" |               src="systems/foundryvtt-reve-de-dragon/icons/{{#if @root.options.montrerArchetype}}no-filter.svg{{else}}filter.svg{{/if}}" alt="filter/montrer l'archétype" | ||||||
|               >{{#if @root.options.montrerArchetype}}Masquer l'archétype{{else}}Voir l'archétype{{/if}}</a></span>  |               >{{#if @root.options.montrerArchetype}}Masquer l'archétype{{else}}Voir l'archétype{{/if}}</a></span>  | ||||||
|           </div> |           </div> | ||||||
| @@ -779,7 +775,7 @@ | |||||||
|               </span> |               </span> | ||||||
|             </li> |             </li> | ||||||
|             <li class="item flexrow" > |             <li class="item flexrow" > | ||||||
|               <span class="astrologie-label"><a id="jet-astrologie">Astrologie : Nombres Astraux</a></span> |               <span class="astrologie-label"><a class="jet-astrologie">Astrologie : Nombres Astraux</a></span> | ||||||
|             </li> |             </li> | ||||||
|           </ul> |           </ul> | ||||||
|         </div> |         </div> | ||||||
| @@ -911,7 +907,7 @@ | |||||||
|             <img class="sheet-competence-img" src="{{piece.img}}" title="{{piece.name}}"/> |             <img class="sheet-competence-img" src="{{piece.img}}" title="{{piece.name}}"/> | ||||||
|             <span class="competence-title competence-label">{{piece.name}}</span> |             <span class="competence-title competence-label">{{piece.name}}</span> | ||||||
|             <span class="competence-title competence-label">{{piece.data.quantite}}</span> |             <span class="competence-title competence-label">{{piece.data.quantite}}</span> | ||||||
|             <span class="competence-title"><a class="monnaie-plus">+</a><a class="monnaie-moins">-</a></span> |             <span class="competence-title"><a class="ajustement-compteur monnaie-plus">+</a><a class="ajustement-compteur monnaie-moins">-</a></span> | ||||||
|             <div class="item-controls"> |             <div class="item-controls"> | ||||||
|               <a class="item-control item-edit" title="Editer"><i class="fas fa-edit"></i></a> |               <a class="item-control item-edit" title="Editer"><i class="fas fa-edit"></i></a> | ||||||
|               <a class="item-control item-delete" title="Supprimer"><i class="fas fa-trash"></i></a> |               <a class="item-control item-delete" title="Supprimer"><i class="fas fa-trash"></i></a> | ||||||
| @@ -941,14 +937,14 @@ | |||||||
|         </li> |         </li> | ||||||
|         {{#each data.objets as |item id|}} |         {{#each data.objets as |item id|}} | ||||||
|           {{#unless item.estContenu}} |           {{#unless item.estContenu}} | ||||||
|           {{#if (ne item.type 'conteneur')}} |           {{#if (ne item.data.type 'conteneur')}} | ||||||
|           <li class="item flexrow list-item" data-item-id="{{item._id}}"> |           <li class="item flexrow list-item" data-item-id="{{item._id}}"> | ||||||
|               <img class="sheet-competence-img" src="{{item.img}}" title="{{item.name}}"/> |               <img class="sheet-competence-img" src="{{item.img}}" title="{{item.name}}"/> | ||||||
|               <span class="item-name">{{item.name}}</span> |               <span class="item-name">{{item.name}}</span> | ||||||
|               <span class="item-quantite">{{item.data.quantite}}</span> |               <span class="item-quantite">{{item.data.data.quantite}}</span> | ||||||
|               <span class="item-quantite">{{numberFormat item.data.encTotal decimals=2}}</span> |               <span class="item-quantite">{{numberFormat item.data.data.encTotal decimals=2}}</span> | ||||||
|               <span class="item-controls"> |               <span class="item-controls"> | ||||||
|                   <a class="item-control item-equip" title="Equiper">{{#if item.data.equipe}}<i class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a> |                   <a class="item-control item-equip" title="Equiper">{{#if item.data.data.equipe}}<i class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a> | ||||||
|                   <a class="item-control item-edit" title="Editer"><i class="fas fa-edit"></i></a> |                   <a class="item-control item-edit" title="Editer"><i class="fas fa-edit"></i></a> | ||||||
|                   <a class="item-control item-delete" title="Supprimer"><i class="fas fa-trash"></i></a> |                   <a class="item-control item-delete" title="Supprimer"><i class="fas fa-trash"></i></a> | ||||||
|               </span> |               </span> | ||||||
|   | |||||||
| @@ -84,14 +84,14 @@ | |||||||
|         </li> |         </li> | ||||||
|         {{#each data.objets as |item id|}} |         {{#each data.objets as |item id|}} | ||||||
|           {{#unless item.estContenu}} |           {{#unless item.estContenu}} | ||||||
|           {{#if (ne item.type 'conteneur')}} |           {{#if (ne item.data.type 'conteneur')}} | ||||||
|           <li class="item flexrow list-item" data-item-id="{{item._id}}"> |           <li class="item flexrow list-item" data-item-id="{{item._id}}"> | ||||||
|               <img class="sheet-competence-img" src="{{item.img}}" title="{{item.name}}"/> |               <img class="sheet-competence-img" src="{{item.img}}" title="{{item.name}}"/> | ||||||
|               <span class="item-name">{{item.name}}</span> |               <span class="item-name">{{item.name}}</span> | ||||||
|               <span class="item-quantite">{{item.data.quantite}}</span> |               <span class="item-quantite">{{item.data.data.quantite}}</span> | ||||||
|               <span class="item-quantite">{{numberFormat item.data.encTotal decimals=2}}</span> |               <span class="item-quantite">{{numberFormat item.data.data.encTotal decimals=2}}</span> | ||||||
|               <div class="item-controls"> |               <div class="item-controls"> | ||||||
|                   <a class="item-control item-equip" title="Equiper">{{#if item.data.equipe}}<i class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a> |                   <a class="item-control item-equip" title="Equiper">{{#if item.data.data.equipe}}<i class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a> | ||||||
|                   <a class="item-control item-edit" title="Editer"><i class="fas fa-edit"></i></a> |                   <a class="item-control item-edit" title="Editer"><i class="fas fa-edit"></i></a> | ||||||
|                   <a class="item-control item-delete" title="Supprimer"><i class="fas fa-trash"></i></a> |                   <a class="item-control item-delete" title="Supprimer"><i class="fas fa-trash"></i></a> | ||||||
|               </div> |               </div> | ||||||
|   | |||||||
| @@ -1,4 +1,7 @@ | |||||||
| <h4>La caractéristique {{carac}} de {{alias}} peut progresser ! </h4> | {{#if actor.img}} | ||||||
|  |   <img class="chat-icon" src="{{actor.img}}" alt="{{actor.name}}" /> | ||||||
|  | {{/if}} | ||||||
|  | <h4>La caractéristique {{carac}} de {{actor.name}} peut progresser ! </h4> | ||||||
| <div>Son experience dans cette caractéristique est actuellement de {{xp}} </div> | <div>Son experience dans cette caractéristique est actuellement de {{xp}} </div> | ||||||
| <div>Vous devez ouvrir votre fiche de personnage et appliquer (ou pas) l'augmentation manuellement.</div> | <div>Vous devez ouvrir votre fiche de personnage et appliquer (ou pas) l'augmentation manuellement.</div> | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,5 +1,8 @@ | |||||||
| {{log "handlebar" this}} | {{log "handlebar" this}} | ||||||
| <h4>{{alias}} peut progresser dans sa compétence {{competence}} ! </h4> | {{#if actor.img}} | ||||||
|  |   <img class="chat-icon" src="{{actor.img}}" alt="{{actor.name}}" /> | ||||||
|  | {{/if}} | ||||||
|  | <h4>{{actor.name}} peut progresser dans sa compétence {{competence}} ! </h4> | ||||||
| <div>Son niveau en {{competence}} peut évoluer à {{niveau}} pour un archétype de {{archetype}} ! </div> | <div>Son niveau en {{competence}} peut évoluer à {{niveau}} pour un archétype de {{archetype}} ! </div> | ||||||
| <div>Son experience dans cette compétence est de {{xp}}. </div> | <div>Son experience dans cette compétence est de {{xp}}. </div> | ||||||
| <div>Vous devez ouvrir votre fiche de personnage et appliquer (ou pas) l'augmentation manuellement.</div> | <div>Vous devez ouvrir votre fiche de personnage et appliquer (ou pas) l'augmentation manuellement.</div> | ||||||
|   | |||||||
| @@ -1,10 +1,13 @@ | |||||||
| {{log "handlebar" this}} | {{log "handlebar" this}} | ||||||
| <h4>C'est au tour de {{alias}} !</h4> | {{#if actor.img}} | ||||||
|  |   <img class="chat-icon" src="{{actor.img}}" alt="{{actor.name}}" /> | ||||||
|  | {{/if}} | ||||||
|  | <h4>C'est au tour de {{actor.name}} !</h4> | ||||||
| <div data-combatid="{{combatId}}" data-combatmessage="actor-turn-summary">{{blessuresStatus}}</div> | <div data-combatid="{{combatId}}" data-combatmessage="actor-turn-summary">{{blessuresStatus}}</div> | ||||||
| <div>Son état général est de : {{etatGeneral}} {{#if isSonne}} et est <strong>sonné</strong>{{/if}}</div> | <div>Son état général est de : {{etatGeneral}} {{#if isSonne}} et est <strong>sonné</strong>{{/if}}</div> | ||||||
| {{#if isGrave}} | {{#if isGrave}} | ||||||
| <div>{{alias}} souffre de Blessure(s) Grave(s) : n'oubliez pas de faire un Je de Vie toutes les SC ({{SConst}}) minutes.</div> | <div>{{actor.name}} souffre de Blessure(s) Grave(s) : n'oubliez pas de faire un Je de Vie toutes les SC ({{SConst}}) minutes.</div> | ||||||
| {{/if}} | {{/if}} | ||||||
| {{#if isCritique}} | {{#if isCritique}} | ||||||
| <div>{{alias}} souffre d'une <strong>Blessure Critique</strong> : faites un <a id="chat-jet-vie" data-actorId="{{actorId}}">Jet de Vie.<a></div> | <div>{{actor.name}} souffre d'une <strong>Blessure Critique</strong> : faites un <a id="chat-jet-vie" data-actorId="{{actorId}}">Jet de Vie.<a></div> | ||||||
| {{/if}} | {{/if}} | ||||||
| @@ -5,19 +5,20 @@ | |||||||
|   {{#if (eq attacker.data.type 'personnage')}} |   {{#if (eq attacker.data.type 'personnage')}} | ||||||
|     {{#unless essais.attaqueChance}} |     {{#unless essais.attaqueChance}} | ||||||
|       <a class='chat-card-button' id='appel-chance-attaque' data-attackerId='{{attackerId}}' |       <a class='chat-card-button' id='appel-chance-attaque' data-attackerId='{{attackerId}}' | ||||||
|         data-defenderTokenId='{{defenderTokenId}}'>Faire appel à la chance</a> |         data-defenderTokenId='{{defenderTokenId}}'>Faire appel à la chance | ||||||
|       </a> |       </a> | ||||||
|       <br> |       <br> | ||||||
|     {{/unless}} |     {{/unless}} | ||||||
|     {{#if (gt attacker.data.data.compteurs.destinee.value 0)}} |     {{#if (gt attacker.data.data.compteurs.destinee.value 0)}} | ||||||
|       <a class='chat-card-button' id='appel-destinee-attaque' data-attackerId='{{attackerId}}' |       <a class='chat-card-button' id='appel-destinee-attaque' data-attackerId='{{attackerId}}' | ||||||
|         data-defenderTokenId='{{defenderTokenId}}'>Utiliser la destinée</a> |         data-defenderTokenId='{{defenderTokenId}}'> | ||||||
|  |         Utiliser la destinée | ||||||
|       </a> |       </a> | ||||||
|       <br> |       <br> | ||||||
|     {{/if}} |     {{/if}} | ||||||
|   {{/if}} |   {{/if}} | ||||||
|   <a class='chat-card-button' id='echec-total-attaque' data-attackerId='{{attackerId}}' |   <a class='chat-card-button' id='echec-total-attaque' data-attackerId='{{attackerId}}' | ||||||
|     data-defenderTokenId='{{defenderTokenId}}'> |     data-defenderTokenId='{{defenderTokenId}}'> | ||||||
|     Tirer l'échec total ! |     Tirer la maladresse ! | ||||||
|   </a> |   </a> | ||||||
| </div> | </div> | ||||||
| @@ -1,6 +1,6 @@ | |||||||
| {{log "handlebar" this}} | {{log "handlebar" this}} | ||||||
| <div data-passearme="{{passeArme}}"> | <div data-passearme="{{passeArme}}"> | ||||||
|   <h4 class="rdd-roll-part">{{alias}} réussit une attaque particulière!</strong></h4> |   <h4 class="rdd-roll-part">{{actor.name}} réussit une attaque particulière!</strong></h4> | ||||||
|   <br> |   <br> | ||||||
|   <a class="chat-card-button" id="particuliere-attaque" data-mode="force" data-attackerId="{{attackerId}}"> |   <a class="chat-card-button" id="particuliere-attaque" data-mode="force" data-attackerId="{{attackerId}}"> | ||||||
|     Attaquer en Force |     Attaquer en Force | ||||||
|   | |||||||
| @@ -22,14 +22,16 @@ | |||||||
|           {{#unless essais.defenseChance}} |           {{#unless essais.defenseChance}} | ||||||
|             {{#if (eq defender.data.type 'personnage')}} |             {{#if (eq defender.data.type 'personnage')}} | ||||||
|             <a class='chat-card-button' id='appel-chance-defense' data-attackerId='{{attackerId}}' |             <a class='chat-card-button' id='appel-chance-defense' data-attackerId='{{attackerId}}' | ||||||
|               data-defenderTokenId='{{defenderTokenId}}'>Faire appel à la chance</a> |               data-defenderTokenId='{{defenderTokenId}}'> | ||||||
|  |               Faire appel à la chance | ||||||
|             </a> |             </a> | ||||||
|             <br> |             <br> | ||||||
|             {{/if}} |             {{/if}} | ||||||
|             {{#if (eq defender.data.type 'personnage')}} |             {{#if (eq defender.data.type 'personnage')}} | ||||||
|             {{#if (gt defender.data.data.compteurs.destinee.value 0)}} |             {{#if (gt defender.data.data.compteurs.destinee.value 0)}} | ||||||
|               <a class='chat-card-button' id='appel-destinee-defense' data-attackerId='{{attackerId}}' |               <a class='chat-card-button' id='appel-destinee-defense' data-attackerId='{{attackerId}}' | ||||||
|                 data-defenderTokenId='{{defenderTokenId}}'>Utiliser la destinée</a> |                 data-defenderTokenId='{{defenderTokenId}}'> | ||||||
|  |                 Utiliser la destinée | ||||||
|               </a> |               </a> | ||||||
|               <br> |               <br> | ||||||
|             {{/if}} |             {{/if}} | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| {{#if use.appelAuMoral}}<div> | {{#if use.appelAuMoral}}<div> | ||||||
|   {{alias}} utilise {{#if (gt moral 0)}}le moral{{else}} l'énergie du déspoir{{/if}} et {{#if moralDiminuer}}échoue, diminuant son moral.{{else}}réussit.{{/if}} |   {{actor.name}} utilise {{#if (gt moral 0)}}le moral{{else}} l'énergie du déspoir{{/if}} et {{#if moralDiminuer}}échoue, diminuant son moral.{{else}}réussit.{{/if}} | ||||||
|   {{^jetEchouerMoralDiminuer}} Son moral reste inchangé à {{moral}}.{{/jetEchouerMoralDiminuer}} |   {{^jetEchouerMoralDiminuer}} Son moral reste inchangé à {{moral}}.{{/jetEchouerMoralDiminuer}} | ||||||
| <div>{{/if}} | <div>{{/if}} | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| {{log "handlebar" this}} | {{log "handlebar" this}} | ||||||
| <h4>L'initiative de {{alias}} a été modifiée !</h4> | <h4>L'initiative de {{actor.name}} a été modifiée !</h4> | ||||||
| <hr> | <hr> | ||||||
| <div> | <div> | ||||||
|   Etant donné son {{armeName}}, son initative pour ce premier round est désormais de {{initValue}}. |   Etant donné son {{armeName}}, son initative pour ce premier round est désormais de {{initValue}}. | ||||||
|   | |||||||
| @@ -1,7 +1,7 @@ | |||||||
| {{log "handlebar" this}} | {{log "handlebar" this}} | ||||||
| <img class="chat-icon" src="{{competence.img}}" alt="{{competence.name}}"/> | <img class="chat-icon" src="{{competence.img}}" alt="{{competence.name}}"/> | ||||||
| <h4 data-categorie="tmr" data-actor-id="{{actor._id}}" data-rencontre-round="{{nbRounds}}"> | <h4 data-categorie="tmr" data-actor-id="{{actor._id}}" data-rencontre-round="{{nbRounds}}"> | ||||||
|   {{alias}} rencontre {{#if (eq genre 'f')}}une{{else}}un{{/if}} {{rencontre.name}} de force {{rencontre.force}} |   {{actor.name}} rencontre {{#if (eq genre 'f')}}une{{else}}un{{/if}} {{rencontre.name}} de force {{rencontre.force}} | ||||||
| </h4> | </h4> | ||||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}} | {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}} | ||||||
| <hr> | <hr> | ||||||
|   | |||||||
| @@ -1,11 +1,14 @@ | |||||||
| {{log "handlebar" this}} | {{log "handlebar" this}} | ||||||
|  | {{#if actor.img}} | ||||||
|  |   <img class="chat-icon" src="{{actor.img}}" alt="{{actor.name}}" /> | ||||||
|  | {{/if}} | ||||||
| <h4> | <h4> | ||||||
|   {{alias}} s'accorde: {{entite}} |   {{actor.name}} s'accorde: {{entite}} | ||||||
| </h4> | </h4> | ||||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}} | {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}} | ||||||
| <hr> | <hr> | ||||||
| <div>{{#if rolled.isSuccess}} | <div>{{#if rolled.isSuccess}} | ||||||
|     {{alias}} s'est accordé à {{entite}} |     {{actor.name}} s'est accordé à {{entite}} | ||||||
|     {{else}}ne s'est pas accordé à {{entite}}, il pourra réessayer à sa prochaine attaque. |     {{else}}ne s'est pas accordé à {{entite}}, et pourra réessayer à sa prochaine attaque. | ||||||
|     {{/if}}  |     {{/if}}  | ||||||
| </div> | </div> | ||||||
|   | |||||||
| @@ -1,14 +1,14 @@ | |||||||
| {{log "handlebar" this}} | {{log "handlebar" this}} | ||||||
| <img class="chat-icon" src="systems/foundryvtt-reve-de-dragon/icons/competence_alchimie.png" alt="préparation alchimique" /> | <img class="chat-icon" src="systems/foundryvtt-reve-de-dragon/icons/competence_alchimie.png" alt="préparation alchimique" /> | ||||||
| <h4> | <h4> | ||||||
|   {{alias}} essaye de réaliser sa recette Alchimique : {{recette.name}} |   {{actor.name}} essaye de réaliser sa recette Alchimique : {{recette.name}} | ||||||
| </h4> | </h4> | ||||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}} | {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}} | ||||||
| <hr> | <hr> | ||||||
| <div> | <div> | ||||||
|   {{#if rolled.isSuccess}} |   {{#if rolled.isSuccess}} | ||||||
|   {{alias}} a réussi son opération alchimique ! Il/Elle peut passer à l'étape suivante de sa recette.  |   {{actor.name}} a réussi son opération alchimique ! Il/Elle peut passer à l'étape suivante de sa recette.  | ||||||
|   {{else}} |   {{else}} | ||||||
|   {{alias}} a raté son opération alchimique ! Sa recette est un echec. |   {{actor.name}} a raté son opération alchimique ! Sa recette est un echec. | ||||||
|   {{/if}} |   {{/if}} | ||||||
| </div> | </div> | ||||||
|   | |||||||
| @@ -1,7 +1,8 @@ | |||||||
| {{log "handlebar" this}} | {{log "handlebar" this}} | ||||||
| <h4> | {{#if actor.img}} | ||||||
|   {{alias}} fait appel à la chance |   <img class="chat-icon" src="{{actor.img}}" alt="{{actor.name}}" /> | ||||||
| </h4> | {{/if}} | ||||||
|  | <h4>{{actor.name}} fait appel à la chance</h4> | ||||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}} | {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}} | ||||||
| {{~#if rolled.isSuccess}} | {{~#if rolled.isSuccess}} | ||||||
| <hr> | <hr> | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| {{log "handlebar" this}} | {{log "handlebar" this}} | ||||||
| <img class="chat-icon" src="{{competence.img}}" alt="{{competence.name}}" /> | <img class="chat-icon" src="{{competence.img}}" alt="{{competence.name}}" /> | ||||||
| <h4>{{alias}} attaque  à {{diffLibre}}: {{arme.name}}</h4> | <h4>{{actor.name}} attaque  à {{diffLibre}}: {{arme.name}}</h4> | ||||||
| <div>{{selectedCarac.label}}{{#unless (eq selectedCarac.label competence.name)}} / {{competence.name}}{{/unless}}</div> | <div>{{selectedCarac.label}}{{#unless (eq selectedCarac.label competence.name)}} / {{competence.name}}{{/unless}}</div> | ||||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}} | {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}} | ||||||
| <hr> | <hr> | ||||||
|   | |||||||
| @@ -1,15 +1,15 @@ | |||||||
| {{log "handlebar" this}} | {{log "handlebar" this}} | ||||||
| <img class="chat-icon" src="{{competence.img}}" alt="{{oeuvre.data.competence}}" /> | <img class="chat-icon" src="{{competence.img}}" alt="{{oeuvre.data.competence}}" /> | ||||||
| <h4> | <h4> | ||||||
|   {{alias}} tente de chanter la chanson : {{oeuvre.name}} (niveau {{oeuvre.data.niveau}}) |   {{actor.name}} tente de chanter la chanson : {{oeuvre.name}} (niveau {{oeuvre.data.niveau}}) | ||||||
| </h4> | </h4> | ||||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}} | {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}} | ||||||
| <hr> | <hr> | ||||||
| <div> | <div> | ||||||
|   {{#if rolled.isSuccess}} |   {{#if rolled.isSuccess}} | ||||||
|   {{alias}} réussi son interprétation avec une qualité de {{qualiteFinale}} .  |   {{actor.name}} réussit son interprétation avec une qualité de {{qualiteFinale}} .  | ||||||
|   {{else}} |   {{else}} | ||||||
|   {{alias}} est peu inspiré(e) et son interprétation a une qualité de {{qualiteFinale}}. |   {{actor.name}} est peu inspiré(e) et son interprétation a une qualité de {{qualiteFinale}}. | ||||||
|   {{/if}} |   {{/if}} | ||||||
| </div> | </div> | ||||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-poesie.html" oeuvre.data}} | {{> "systems/foundryvtt-reve-de-dragon/templates/chat-poesie.html" oeuvre.data}} | ||||||
|   | |||||||
| @@ -1,7 +1,7 @@ | |||||||
| {{log "handlebar" this}} | {{log "handlebar" this}} | ||||||
| <img class="chat-icon" src="{{competence.img}}" alt="{{competence.name}}" /> | <img class="chat-icon" src="{{competence.img}}" alt="{{competence.name}}" /> | ||||||
| <h4> | <h4> | ||||||
|   {{alias}} {{show.title}}: |   {{actor.name}} {{show.title}}: | ||||||
|   {{#if selectedCarac}}{{selectedCarac.label}} |   {{#if selectedCarac}}{{selectedCarac.label}} | ||||||
|     {{#if competence}} |     {{#if competence}} | ||||||
|     {{#unless (eq selectedCarac.label competence.name)}} / {{competence.name}}{{/unless}} |     {{#unless (eq selectedCarac.label competence.name)}} / {{competence.name}}{{/unless}} | ||||||
|   | |||||||
| @@ -1,15 +1,15 @@ | |||||||
| {{log "handlebar" this}} | {{log "handlebar" this}} | ||||||
| <img class="chat-icon" src="{{competence.img}}" alt="{{oeuvre.data.competence}}" /> | <img class="chat-icon" src="{{competence.img}}" alt="{{oeuvre.data.competence}}" /> | ||||||
| <h4> | <h4> | ||||||
|   {{alias}} tente de danser : {{oeuvre.name}} (niveau {{oeuvre.data.niveau}}) |   {{actor.name}} tente de danser : {{oeuvre.name}} (niveau {{oeuvre.data.niveau}}) | ||||||
| </h4> | </h4> | ||||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}} | {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}} | ||||||
| <hr> | <hr> | ||||||
| <div> | <div> | ||||||
|   {{#if rolled.isSuccess}} |   {{#if rolled.isSuccess}} | ||||||
|   {{alias}} réussi son interprétation avec une qualité de {{qualiteFinale}} .  |   {{actor.name}} réussit son interprétation avec une qualité de {{qualiteFinale}} .  | ||||||
|   {{else}} |   {{else}} | ||||||
|   {{alias}} est peu inspiré(e) et son interprétation a une qualité de {{qualiteFinale}}. |   {{actor.name}} est peu inspiré(e) et son interprétation a une qualité de {{qualiteFinale}}. | ||||||
|   {{/if}} |   {{/if}} | ||||||
| </div> | </div> | ||||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-poesie.html" oeuvre.data}} | {{> "systems/foundryvtt-reve-de-dragon/templates/chat-poesie.html" oeuvre.data}} | ||||||
|   | |||||||
| @@ -2,12 +2,13 @@ | |||||||
| {{#if isGM}} | {{#if isGM}} | ||||||
| <span> | <span> | ||||||
|   {{#if (gt endurance 0)}} |   {{#if (gt endurance 0)}} | ||||||
|   De plus, {{alias}} a perdu {{endurance}} points d'endurance |   {{actor.name}} a perdu {{endurance}} points d'endurance | ||||||
|   {{#if (ne vie 0)}}et <span class="rdd-roll-echec">{{vie}} points de vie</span>{{/if}} |   {{#if (ne vie 0)}}et <span class="rdd-roll-echec">{{vie}} points de vie</span>{{/if}} | ||||||
|   {{/if}} |   {{/if}} | ||||||
| </span> | </span> | ||||||
| {{else}} | {{else}} | ||||||
| <h4>{{alias}} encaisse à | <img class="chat-icon" src="{{actor.img}}" alt="{{actor.name}}" /> | ||||||
|  | <h4>{{actor.name}} encaisse à | ||||||
|   <span> |   <span> | ||||||
|     {{numberFormat dmg.total decimals=0 sign=true}} |     {{numberFormat dmg.total decimals=0 sign=true}} | ||||||
|     {{#if (eq dmg.mortalite 'non-mortel')~}}(coups non mortels) |     {{#if (eq dmg.mortalite 'non-mortel')~}}(coups non mortels) | ||||||
| @@ -16,13 +17,13 @@ | |||||||
|   </span> |   </span> | ||||||
| </h4> | </h4> | ||||||
| <div> | <div> | ||||||
|   Je d'encaissement de {{roll.total}} |   Jet d'encaissement de {{roll.total}} | ||||||
|   {{#unless (eq armure 0)}}, l'armure a protègé de {{armure}} {{#unless (eq penetration 0)}}(pénétration de {{penetration}}) |   {{#unless (eq armure 0)}}, l'armure a protégé de {{armure}} {{#unless (eq penetration 0)}}(pénétration de {{penetration}}) | ||||||
|   {{/unless}} |   {{/unless}} | ||||||
|   {{/unless}}, total: <span class="rdd-roll-echec">{{total}}</span> |   {{/unless}}, total: <span class="rdd-roll-echec">{{total}}</span> | ||||||
|   <br>   |   <br>   | ||||||
|   {{alias}}  |   {{actor.name}}  | ||||||
|   {{#if (eq dmg.mortalite 'cauchemar')}}subit le coup |   {{#if (eq dmg.mortalite 'cauchemar')}}subit une contusion | ||||||
|   {{else if eraflures}}subit une contusion |   {{else if eraflures}}subit une contusion | ||||||
|   {{else if legeres}}subit une blessure légère |   {{else if legeres}}subit une blessure légère | ||||||
|   {{else if graves}}subit une blessure grave |   {{else if graves}}subit une blessure grave | ||||||
| @@ -42,9 +43,9 @@ | |||||||
|   {{/if}} |   {{/if}} | ||||||
|   {{/if}} |   {{/if}} | ||||||
|   {{/if}} |   {{/if}} | ||||||
|   {{#if (eq show.recul 'encaisse')}}<div>{{alias}} ne recule pas malgré la violence du coup.</div> |   {{#if (eq show.recul 'encaisse')}}<div>{{actor.name}} ne recule pas malgré la violence du coup.</div> | ||||||
|   {{else if (eq show.recul 'chute')}}<div>Sous la violence du coup, {{alias}} recule et chute au sol ! Il/elle ne pourra plus attaquer ce round.</div> |   {{else if (eq show.recul 'chute')}}<div>Sous la violence du coup, {{actor.name}} recule et chute au sol ! Il/elle ne pourra plus attaquer ce round.</div> | ||||||
|   {{else if (eq show.recul 'recul')}}<div>La violence du coup fait reculer {{alias}} de quelques mètres ! Il/elle ne pourra plus attaquer ce round.</div> |   {{else if (eq show.recul 'recul')}}<div>La violence du coup fait reculer {{actor.name}} de quelques mètres ! Il/elle ne pourra plus attaquer ce round.</div> | ||||||
|   {{/if}} |   {{/if}} | ||||||
| </div> | </div> | ||||||
| {{/if}} | {{/if}} | ||||||
| @@ -1,6 +1,6 @@ | |||||||
| {{log "handlebar" this}} | {{log "handlebar" this}} | ||||||
| <img class="chat-icon" src="{{competence.img}}" alt="{{competence.name}}" /> | <img class="chat-icon" src="{{competence.img}}" alt="{{competence.name}}" /> | ||||||
| <h4>{{alias}} esquive une attaque à {{diffLibre}}</h4> | <h4>{{actor.name}} esquive une attaque à {{diffLibre}}</h4> | ||||||
| <div>{{selectedCarac.label}}{{#unless (eq selectedCarac.label competence.name)}} / {{competence.name}}{{/unless}}</div> | <div>{{selectedCarac.label}}{{#unless (eq selectedCarac.label competence.name)}} / {{competence.name}}{{/unless}}</div> | ||||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}} | {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}} | ||||||
| <hr> | <hr> | ||||||
|   | |||||||
| @@ -1,6 +1,9 @@ | |||||||
| {{log "handlebar" this}} | {{log "handlebar" this}} | ||||||
|  | {{#if actor.img}} | ||||||
|  |   <img class="chat-icon" src="{{actor.img}}" alt="{{actor.name}}" /> | ||||||
|  | {{/if}} | ||||||
| <h4> | <h4> | ||||||
|   {{alias}} {{#if isSortReserve}}met en réserve{{else}}lance{{/if}} |   {{actor.name}} {{#if isSortReserve}}met en réserve{{else}}lance{{/if}} | ||||||
|   le {{#if selectedSort.data.isrituel}}rituel{{else}}sort{{/if}} |   le {{#if selectedSort.data.isrituel}}rituel{{else}}sort{{/if}} | ||||||
|   {{selectedSort.name}} |   {{selectedSort.name}} | ||||||
| </h4> | </h4> | ||||||
|   | |||||||
| @@ -1,9 +1,11 @@ | |||||||
| {{log "handlebar" this}} | {{log "handlebar" this}} | ||||||
| {{#if competence.img}} | {{#if competence.img}} | ||||||
|   <img class="chat-icon" src="{{competence.img}}" alt="{{competence.name}}" /> |   <img class="chat-icon" src="{{competence.img}}" alt="{{competence.name}}" /> | ||||||
|  | {{else if actor.img}} | ||||||
|  |   <img class="chat-icon" src="{{actor.img}}" alt="{{actor.name}}" /> | ||||||
| {{/if}} | {{/if}} | ||||||
| <h4> | <h4> | ||||||
|   {{alias}} {{#if show.title}}{{show.title}}: {{/if}} |   {{actor.name}} {{#if show.title}}{{show.title}}: {{/if}} | ||||||
|   {{#if selectedCarac}}{{selectedCarac.label}} |   {{#if selectedCarac}}{{selectedCarac.label}} | ||||||
|     {{#if competence}}{{#unless (eq selectedCarac.label competence.name)}} / {{competence.name}}{{/unless}}{{/if}} |     {{#if competence}}{{#unless (eq selectedCarac.label competence.name)}} / {{competence.name}}{{/unless}}{{/if}} | ||||||
|     à {{diffLibre}} |     à {{diffLibre}} | ||||||
|   | |||||||
| @@ -1,15 +1,15 @@ | |||||||
| {{log "handlebar" this}} | {{log "handlebar" this}} | ||||||
| <img class="chat-icon" src="{{competence.img}}" alt="{{oeuvre.data.competence}}" /> | <img class="chat-icon" src="{{competence.img}}" alt="{{oeuvre.data.competence}}" /> | ||||||
| <h4> | <h4> | ||||||
|   {{alias}} joue à : {{oeuvre.name}} |   {{actor.name}} joue à : {{oeuvre.name}} | ||||||
| </h4> | </h4> | ||||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}} | {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}} | ||||||
| <hr> | <hr> | ||||||
| <div> | <div> | ||||||
|   {{#if rolled.isSuccess}} |   {{#if rolled.isSuccess}} | ||||||
|   {{alias}} a gagné la partie ! |   {{actor.name}} a gagné la partie ! | ||||||
|   {{else}} |   {{else}} | ||||||
|   {{alias}} a perdu ... |   {{actor.name}} a perdu ... | ||||||
|   {{/if}} |   {{/if}} | ||||||
| </div> | </div> | ||||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-poesie.html" oeuvre.data}} | {{> "systems/foundryvtt-reve-de-dragon/templates/chat-poesie.html" oeuvre.data}} | ||||||
|   | |||||||
| @@ -1,7 +1,7 @@ | |||||||
| {{log "handlebar" this}} | {{log "handlebar" this}} | ||||||
| <img class="chat-icon" src="{{competence.img}}" alt="{{competence.name}}"/> | <img class="chat-icon" src="{{competence.img}}" alt="{{competence.name}}"/> | ||||||
| <h4 data-categorie="tmr" data-actor-id="{{actor._id}}"> | <h4 data-categorie="tmr" data-actor-id="{{actor._id}}"> | ||||||
|   {{alias}} tente de {{maitrise.verbe}} {{le tmr.genre}} {{tmr.label}} ({{tmr.coord}}) |   {{actor.name}} tente de {{maitrise.verbe}} {{le tmr.genre}} {{tmr.label}} ({{tmr.coord}}) | ||||||
| </h4> | </h4> | ||||||
| {{#if previous}} | {{#if previous}} | ||||||
|   {{#with previous}} |   {{#with previous}} | ||||||
|   | |||||||
| @@ -1,16 +1,16 @@ | |||||||
| {{log "handlebar" this}} | {{log "handlebar" this}} | ||||||
| <img class="chat-icon" src="{{competence.img}}" alt="{{competence.name}}" /> | <img class="chat-icon" src="{{competence.img}}" alt="{{competence.name}}" /> | ||||||
| <h4> | <h4> | ||||||
|   {{alias}} a médité : {{meditation.name}} |   {{actor.name}} a médité : {{meditation.name}} | ||||||
| </h4> | </h4> | ||||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}} | {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}} | ||||||
| <hr> | <hr> | ||||||
| <div> | <div> | ||||||
|   {{#if rolled.isSuccess}} |   {{#if rolled.isSuccess}} | ||||||
|   {{alias}} aperçoit un signe Draconique fugitif, qu'il faut aller lire en <strong>{{meditation.data.tmr}}</strong> en réussissant un test <strong>d'INTELLECT/Draconic à {{diffLecture}}</strong>. |   {{actor.name}} aperçoit un signe Draconique fugitif, qu'il faut aller lire en <strong>{{meditation.data.tmr}}</strong> en réussissant un test <strong>d'INTELLECT/Draconic à {{diffLecture}}</strong>. | ||||||
|   Selon le résultat de votre lecture, vous gagnerez les points suivants en Sort: 3 pour une Normale, 5 pour une Significative, 10 pour une Particulière. |   Selon le résultat de votre lecture, vous gagnerez les points suivants en Sort: 3 pour une Normale, 5 pour une Significative, 10 pour une Particulière. | ||||||
|   {{else}} |   {{else}} | ||||||
|   {{alias}} a échoué dans sa méditation et ne voit aucun signe Draconique. |   {{actor.name}} a échoué dans sa méditation et ne voit aucun signe Draconique. | ||||||
|   {{/if}} |   {{/if}} | ||||||
|   <br><span>Vous vous êtes fatigué de 2 cases.</span> |   <br><span>Vous vous êtes fatigué de 2 cases.</span> | ||||||
|   {{#if rolled.isETotal}}<br><span>Votre échec total augmente de 1 la difficulté de la méditation!</span>{{/if~}} |   {{#if rolled.isETotal}}<br><span>Votre échec total augmente de 1 la difficulté de la méditation!</span>{{/if~}} | ||||||
|   | |||||||
| @@ -1,15 +1,15 @@ | |||||||
| {{log "handlebar" this}} | {{log "handlebar" this}} | ||||||
| <img class="chat-icon" src="{{competence.img}}" alt="{{oeuvre.data.competence}}" /> | <img class="chat-icon" src="{{competence.img}}" alt="{{oeuvre.data.competence}}" /> | ||||||
| <h4> | <h4> | ||||||
|   {{alias}} tente de jouer le morceau : {{oeuvre.name}} (niveau {{oeuvre.data.niveau}}) |   {{actor.name}} tente de jouer le morceau : {{oeuvre.name}} (niveau {{oeuvre.data.niveau}}) | ||||||
| </h4> | </h4> | ||||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}} | {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}} | ||||||
| <hr> | <hr> | ||||||
| <div> | <div> | ||||||
|   {{#if rolled.isSuccess}} |   {{#if rolled.isSuccess}} | ||||||
|   {{alias}} réussit son interprétation avec une qualité de {{qualiteFinale}} .  |   {{actor.name}} réussit son interprétation avec une qualité de {{qualiteFinale}} .  | ||||||
|   {{else}} |   {{else}} | ||||||
|   {{alias}} est peu inspiré(e) et son interprétation a une qualité de {{qualiteFinale}}. |   {{actor.name}} est peu inspiré(e) et son interprétation a une qualité de {{qualiteFinale}}. | ||||||
|   {{/if}} |   {{/if}} | ||||||
| </div> | </div> | ||||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-poesie.html" oeuvre.data}} | {{> "systems/foundryvtt-reve-de-dragon/templates/chat-poesie.html" oeuvre.data}} | ||||||
|   | |||||||
| @@ -1,16 +1,16 @@ | |||||||
| {{log "handlebar" this}} | {{log "handlebar" this}} | ||||||
| <h4><img class="chat-icon" src="{{competence.img}}" alt="{{oeuvre.data.competence}}" /> | <img class="chat-icon" src="{{competence.img}}" alt="{{oeuvre.data.competence}}" /> | ||||||
|  | <h4> | ||||||
|   {{alias}} tente d'interpréter {{oeuvre.name}} (niveau {{oeuvre.data.niveau}}) |   {{actor.name}} tente d'interpréter {{oeuvre.name}} (niveau {{oeuvre.data.niveau}}) | ||||||
| </h4> | </h4> | ||||||
| <br>{{upperFirst oeuvre.data.default_carac}} / {{oeuvre.data.competence}} | <br>{{upperFirst oeuvre.data.default_carac}} / {{oeuvre.data.competence}} | ||||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}} | {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}} | ||||||
| <hr> | <hr> | ||||||
| <div> | <div> | ||||||
|   {{#if rolled.isSuccess}} |   {{#if rolled.isSuccess}} | ||||||
|   {{alias}} réussi son interprétation avec une qualité de {{qualiteFinale}} .  |   {{actor.name}} réussi son interprétation avec une qualité de {{qualiteFinale}} .  | ||||||
|   {{else}} |   {{else}} | ||||||
|   {{alias}} est peu inspiré(e) et son interprétation a une qualité de {{qualiteFinale}}. |   {{actor.name}} est peu inspiré(e) et son interprétation a une qualité de {{qualiteFinale}}. | ||||||
|   {{/if}} |   {{/if}} | ||||||
| </div> | </div> | ||||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-poesie.html" oeuvre.data}} | {{> "systems/foundryvtt-reve-de-dragon/templates/chat-poesie.html" oeuvre.data}} | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| {{log "handlebar" this}} | {{log "handlebar" this}} | ||||||
| <img class="chat-icon" src="{{competence.img}}" alt="{{competence.name}}" /> | <img class="chat-icon" src="{{competence.img}}" alt="{{competence.name}}" /> | ||||||
| <h4>{{alias}} pare une attaque à {{diffLibre}} - {{arme.name}}</h4> | <h4>{{actor.name}} pare une attaque à {{diffLibre}} - {{arme.name}}</h4> | ||||||
| <div>{{selectedCarac.label}}{{#unless (eq selectedCarac.label competence.name)}} / {{competence.name}}{{/unless}}</div> | <div>{{selectedCarac.label}}{{#unless (eq selectedCarac.label competence.name)}} / {{competence.name}}{{/unless}}</div> | ||||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}} | {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}} | ||||||
| <hr> | <hr> | ||||||
| @@ -8,16 +8,16 @@ | |||||||
|   <span> |   <span> | ||||||
|     {{#if rolled.isSuccess}} |     {{#if rolled.isSuccess}} | ||||||
|     Attaque parée! |     Attaque parée! | ||||||
|       {{#if rolled.isPart}}<strong>{{alias}} pourra tenter une deuxième parade!</strong>{{/if}} |       {{#if rolled.isPart}}<strong>{{actor.name}} pourra tenter une deuxième parade!</strong>{{/if}} | ||||||
|     {{else}} |     {{else}} | ||||||
|     La parade a échoué! |     La parade a échoué! | ||||||
|     {{/if}} |     {{/if}} | ||||||
|   </span> |   </span> | ||||||
| </div> | </div> | ||||||
|  |  | ||||||
| {{#if (eq show.recul 'encaisse')}}<div>{{alias}} ne recule pas malgré la violence du coup.</div> | {{#if (eq show.recul 'encaisse')}}<div>{{actor.name}} ne recule pas malgré la violence du coup.</div> | ||||||
| {{else if (eq show.recul 'chute')}}<div>Sous la violence du coup, {{alias}} recule et chute au sol ! Il/elle ne pourra plus attaquer ce round.</div> | {{else if (eq show.recul 'chute')}}<div>Sous la violence du coup, {{actor.name}} recule et chute au sol ! Il/elle ne pourra plus attaquer ce round.</div> | ||||||
| {{else if (eq show.recul 'recul')}}<div>La violence du coup fait reculer {{alias}} de quelques mètres ! Il/elle ne pourra plus attaquer ce round.</div> | {{else if (eq show.recul 'recul')}}<div>La violence du coup fait reculer {{actor.name}} de quelques mètres ! Il/elle ne pourra plus attaquer ce round.</div> | ||||||
| {{/if}} | {{/if}} | ||||||
|  |  | ||||||
| {{#if (eq show.deteriorationArme 'resiste')}} | {{#if (eq show.deteriorationArme 'resiste')}} | ||||||
| @@ -29,7 +29,7 @@ | |||||||
| {{/if}} | {{/if}} | ||||||
|  |  | ||||||
| {{#if show.desarme}} | {{#if show.desarme}} | ||||||
| <div>Le défenseur {{alias}} lâche son arme qui tombe à ses pieds.</div> | <div>Le défenseur {{actor.name}} lâche son arme qui tombe à ses pieds.</div> | ||||||
| {{/if}} | {{/if}} | ||||||
|  |  | ||||||
| {{#if attackerRoll.tactique}} | {{#if attackerRoll.tactique}} | ||||||
|   | |||||||
| @@ -1,15 +1,15 @@ | |||||||
| {{log "handlebar" this}} | {{log "handlebar" this}} | ||||||
| <img class="chat-icon" src="{{competence.img}}" alt="{{oeuvre.data.competence}}" /> | <img class="chat-icon" src="{{competence.img}}" alt="{{oeuvre.data.competence}}" /> | ||||||
| <h4> | <h4> | ||||||
|   {{alias}} tente de cuisiner la recette : {{oeuvre.name}} (niveau {{oeuvre.data.niveau}}) |   {{actor.name}} tente de cuisiner la recette : {{oeuvre.name}} (niveau {{oeuvre.data.niveau}}) | ||||||
| </h4> | </h4> | ||||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}} | {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}} | ||||||
| <hr> | <hr> | ||||||
|  |  | ||||||
| {{#if rolled.isSuccess}} | {{#if rolled.isSuccess}} | ||||||
|   {{alias}} réussit sa recette, avec un plat de qualité {{qualiteFinale}} pour {{oeuvre.data.sust}} Points de Sustentation. |   {{actor.name}} réussit sa recette, avec un plat de qualité {{qualiteFinale}} pour {{oeuvre.data.sust}} Points de Sustentation. | ||||||
| {{else}} | {{else}} | ||||||
|   {{alias}} fait un piètre cuisinier(e), et obtient {{#if (lt qualiteFinale 0)}}un plat à l'exotisme certain{{else}}un plat de qualité {{qualiteFinale}}{{/if}}. |   {{actor.name}} fait un piètre cuisinier(e), et obtient {{#if (lt qualiteFinale 0)}}un plat à l'exotisme certain{{else}}un plat de qualité {{qualiteFinale}}{{/if}}. | ||||||
|   Selon la décision du MJ, le plat peut fournir {{oeuvre.data.sust}} Points de Sustentation |   Selon la décision du MJ, le plat peut fournir {{oeuvre.data.sust}} Points de Sustentation | ||||||
| {{/if}} | {{/if}} | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,7 +1,7 @@ | |||||||
| {{log "handlebar" this}} | {{log "handlebar" this}} | ||||||
| <img class="chat-icon" src="systems/foundryvtt-reve-de-dragon/icons/competence_legendes.png" alt="Rêve de Dragon"/> | <img class="chat-icon" src="systems/foundryvtt-reve-de-dragon/icons/competence_legendes.png" alt="Rêve de Dragon"/> | ||||||
| <h4 data-categorie="tmr" data-actor-id="{{actor._id}}"> | <h4 data-categorie="tmr" data-actor-id="{{actor._id}}"> | ||||||
|   {{alias}} tente de maîtriser un Rêve de Dragon! |   {{actor.name}} tente de maîtriser un Rêve de Dragon! | ||||||
| </h4> | </h4> | ||||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}} | {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}} | ||||||
| <hr> | <hr> | ||||||
|   | |||||||
| @@ -1,7 +1,7 @@ | |||||||
| {{log "handlebar" this}} | {{log "handlebar" this}} | ||||||
| <img class="chat-icon" src="{{competence.img}}" alt="{{competence.name}}" /> | <img class="chat-icon" src="{{competence.img}}" alt="{{competence.name}}" /> | ||||||
| <h4> | <h4> | ||||||
|   {{alias}} {{#if isSortReserve}}met en réserve{{else}}lance{{/if}} |   {{actor.name}} {{#if isSortReserve}}met en réserve{{else}}lance{{/if}} | ||||||
|   le {{#if selectedSort.data.isrituel}}rituel{{else}}sort{{/if}} |   le {{#if selectedSort.data.isrituel}}rituel{{else}}sort{{/if}} | ||||||
|   {{selectedSort.name}} |   {{selectedSort.name}} | ||||||
| </h4> | </h4> | ||||||
|   | |||||||
| @@ -1,7 +1,7 @@ | |||||||
| {{log "handlebar" this}} | {{log "handlebar" this}} | ||||||
| <img class="chat-icon" src="{{competence.img}}" alt="{{competence.name}}" /> | <img class="chat-icon" src="{{competence.img}}" alt="{{competence.name}}" /> | ||||||
| <h4> | <h4> | ||||||
|   {{alias}} travaille à sa tâche {{tache.name}} |   {{actor.name}} travaille à sa tâche {{tache.name}} | ||||||
|   <br>{{selectedCarac.label}}/{{competence.name}} |   <br>{{selectedCarac.label}}/{{competence.name}} | ||||||
| </h4> | </h4> | ||||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}} | {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}} | ||||||
|   | |||||||
| @@ -1,6 +1,9 @@ | |||||||
| {{log "handlebar" this}} | {{log "handlebar" this}} | ||||||
|  | {{#if actor.img}} | ||||||
|  |   <img class="chat-icon" src="{{actor.img}}" alt="{{actor.name}}" /> | ||||||
|  | {{/if}} | ||||||
| <h4> | <h4> | ||||||
|   {{alias}} transforme {{rolled.factor}}% de son stress |   {{actor.name}} transforme {{rolled.factor}}% de son stress | ||||||
| </h4> | </h4> | ||||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}} | {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}} | ||||||
| {{#if rolled.isPart}} | {{#if rolled.isPart}} | ||||||
|   | |||||||
| @@ -23,7 +23,7 @@ | |||||||
|       {{/select}} |       {{/select}} | ||||||
|   </select> |   </select> | ||||||
|   <label for="categorie">Etat Général: {{etat}}</label> |   <label for="categorie">Etat Général: {{etat}}</label> | ||||||
|   <label for="categorie">  <a id='jet-astrologie'>Faire un jet d'Astrologie</a></label> |   <label for="categorie">  <a class='jet-astrologie'>Faire un jet d'Astrologie</a></label> | ||||||
|  |  | ||||||
|   {{!-- Sheet Body --}} |   {{!-- Sheet Body --}} | ||||||
|   <section class="sheet-body"> |   <section class="sheet-body"> | ||||||
|   | |||||||
| @@ -12,7 +12,7 @@ | |||||||
|       <div class="form-group"> |       <div class="form-group"> | ||||||
|         <label for="categorie">Compétence associée</label> |         <label for="categorie">Compétence associée</label> | ||||||
|         <select name="data.competence" id="competence" data-dtype="String"> |         <select name="data.competence" id="competence" data-dtype="String"> | ||||||
|           {{#select item.data.data.competence}} |           {{#select item.data.data.data.competence}} | ||||||
|           {{>"systems/foundryvtt-reve-de-dragon/templates/enum-competence.html"}} |           {{>"systems/foundryvtt-reve-de-dragon/templates/enum-competence.html"}} | ||||||
|           {{/select}} |           {{/select}} | ||||||
|         </select> |         </select> | ||||||
|   | |||||||
| @@ -16,7 +16,7 @@ | |||||||
|       <div class="form-group"> |       <div class="form-group"> | ||||||
|         <label for="niveau">Mode spécifique</label> |         <label for="niveau">Mode spécifique</label> | ||||||
|         <select name="data.specific" id="specific" data-dtype="String"> |         <select name="data.specific" id="specific" data-dtype="String"> | ||||||
|           {{#select item.data.data.specific}} |           {{#select item.data.data.data.specific}} | ||||||
|           {{>"systems/foundryvtt-reve-de-dragon/templates/casetmr-specific-list.html"}} |           {{>"systems/foundryvtt-reve-de-dragon/templates/casetmr-specific-list.html"}} | ||||||
|           {{/select}} |           {{/select}} | ||||||
|       </select> |       </select> | ||||||
|   | |||||||
| @@ -18,7 +18,7 @@ | |||||||
|       <div class="form-group"> |       <div class="form-group"> | ||||||
|         <label for="categorie">Catégorie </label> |         <label for="categorie">Catégorie </label> | ||||||
|         <select name="data.categorie" id="categorie" data-dtype="String"> |         <select name="data.categorie" id="categorie" data-dtype="String"> | ||||||
|               {{#select item.data.data.categorie}} |               {{#select item.data.data.data.categorie}} | ||||||
|               {{>"systems/foundryvtt-reve-de-dragon/templates/enum-categorie-competence.html"}} |               {{>"systems/foundryvtt-reve-de-dragon/templates/enum-categorie-competence.html"}} | ||||||
|               {{/select}} |               {{/select}} | ||||||
|         </select> |         </select> | ||||||
| @@ -34,7 +34,7 @@ | |||||||
|       <div class="form-group"> |       <div class="form-group"> | ||||||
|         <label for="base">Niveau de base </label> |         <label for="base">Niveau de base </label> | ||||||
|         <select name="data.base" id="base" data-dtype="Number"> |         <select name="data.base" id="base" data-dtype="Number"> | ||||||
|                 {{#select item.data.data.base}} |                 {{#select item.data.data.data.base}} | ||||||
|                 {{>"systems/foundryvtt-reve-de-dragon/templates/competence-base.html"}} |                 {{>"systems/foundryvtt-reve-de-dragon/templates/competence-base.html"}} | ||||||
|                 {{/select}} |                 {{/select}} | ||||||
|         </select> |         </select> | ||||||
| @@ -42,7 +42,7 @@ | |||||||
|       <div class="form-group"> |       <div class="form-group"> | ||||||
|         <label for="defaut_carac">Caractéristique par défaut </label> |         <label for="defaut_carac">Caractéristique par défaut </label> | ||||||
|         <select name="data.defaut_carac" id="defaut_carac" data-dtype="String"> |         <select name="data.defaut_carac" id="defaut_carac" data-dtype="String"> | ||||||
|           {{#select item.data.data.defaut_carac}} |           {{#select item.data.data.data.defaut_carac}} | ||||||
|           {{>"systems/foundryvtt-reve-de-dragon/templates/competence-carac-defaut.html"}} |           {{>"systems/foundryvtt-reve-de-dragon/templates/competence-carac-defaut.html"}} | ||||||
|           {{/select}} |           {{/select}} | ||||||
|         </select>         |         </select>         | ||||||
|   | |||||||
| @@ -12,7 +12,7 @@ | |||||||
|       <div class="form-group"> |       <div class="form-group"> | ||||||
|         <label class="alchimie-title" for="xp">Type</label> |         <label class="alchimie-title" for="xp">Type</label> | ||||||
|         <select name="data.type" data-dtype="String"> |         <select name="data.type" data-dtype="String"> | ||||||
|           {{#select item.data.data.type}} |           {{#select item.data.data.data.type}} | ||||||
|           <option value="recreative">Récréative</option> |           <option value="recreative">Récréative</option> | ||||||
|           <option value="soliste">Soliste</option> |           <option value="soliste">Soliste</option> | ||||||
|           {{/select}}     |           {{/select}}     | ||||||
|   | |||||||
| @@ -12,7 +12,7 @@ | |||||||
|       <div class="form-group"> |       <div class="form-group"> | ||||||
|         <label class="alchimie-title" for="xp">Type</label> |         <label class="alchimie-title" for="xp">Type</label> | ||||||
|         <select name="data.type" data-dtype="String"> |         <select name="data.type" data-dtype="String"> | ||||||
|           {{#select item.data.data.type}} |           {{#select item.data.data.data.type}} | ||||||
|           <option value="adressehasard">Adresse/Hasard</option> |           <option value="adressehasard">Adresse/Hasard</option> | ||||||
|           <option value="de">Dés</option> |           <option value="de">Dés</option> | ||||||
|           <option value="carte">Cartes</option> |           <option value="carte">Cartes</option> | ||||||
|   | |||||||
| @@ -16,7 +16,7 @@ | |||||||
|       <div class="form-group"> |       <div class="form-group"> | ||||||
|         <label for="xp">Compétence</label> |         <label for="xp">Compétence</label> | ||||||
|         <select name="data.competence" id="competenceselect" data-dtype="String"> |         <select name="data.competence" id="competenceselect" data-dtype="String"> | ||||||
|           {{#select item.data.data.competence}} |           {{#select item.data.data.data.competence}} | ||||||
|           {{#each competences as |competence key|}} |           {{#each competences as |competence key|}} | ||||||
|           <option value="{{competence.name}}">{{competence.name}}</option> |           <option value="{{competence.name}}">{{competence.name}}</option> | ||||||
|           {{/each}} |           {{/each}} | ||||||
|   | |||||||
| @@ -12,7 +12,7 @@ | |||||||
|       <div class="form-group"> |       <div class="form-group"> | ||||||
|         <label for="xp">Compétence</label> |         <label for="xp">Compétence</label> | ||||||
|         <select name="data.competence" id="competenceselect" data-dtype="String"> |         <select name="data.competence" id="competenceselect" data-dtype="String"> | ||||||
|           {{#select item.data.data.competence}} |           {{#select item.data.data.data.competence}} | ||||||
|           {{#each competences as |competence key|}} |           {{#each competences as |competence key|}} | ||||||
|           <option value="{{competence.name}}">{{competence.name}}</option> |           <option value="{{competence.name}}">{{competence.name}}</option> | ||||||
|           {{/each}} |           {{/each}} | ||||||
| @@ -30,7 +30,7 @@ | |||||||
|       <div class="form-group"> |       <div class="form-group"> | ||||||
|         <label for="xp">Heure</label> |         <label for="xp">Heure</label> | ||||||
|         <select name="data.heure" id="heure" data-dtype="String"> |         <select name="data.heure" id="heure" data-dtype="String"> | ||||||
|           {{#select item.data.data.heure}} |           {{#select item.data.data.data.heure}} | ||||||
|           {{>"systems/foundryvtt-reve-de-dragon/templates/heures-select-option.html"}} |           {{>"systems/foundryvtt-reve-de-dragon/templates/heures-select-option.html"}} | ||||||
|           {{/select}} |           {{/select}} | ||||||
|         </select>         |         </select>         | ||||||
| @@ -50,7 +50,7 @@ | |||||||
|       <div class="form-group"> |       <div class="form-group"> | ||||||
|         <label for="xp">Case TMR</label> |         <label for="xp">Case TMR</label> | ||||||
|         <select name="data.tmr" id="tmr" data-dtype="String"> |         <select name="data.tmr" id="tmr" data-dtype="String"> | ||||||
|           {{#select item.data.data.tmr}} |           {{#select item.data.data.data.tmr}} | ||||||
|           {{>"systems/foundryvtt-reve-de-dragon/templates/sort-tmr.html"}} |           {{>"systems/foundryvtt-reve-de-dragon/templates/sort-tmr.html"}} | ||||||
|           {{/select}} |           {{/select}} | ||||||
|         </select> |         </select> | ||||||
| @@ -59,7 +59,7 @@ | |||||||
|         <label for="xp">Malus</label> |         <label for="xp">Malus</label> | ||||||
|         {{#if isGM}} |         {{#if isGM}} | ||||||
|         <select name="data.malus" id="malus" data-dtype="Number"> |         <select name="data.malus" id="malus" data-dtype="Number"> | ||||||
|           {{#select item.data.data.malus}} |           {{#select item.data.data.data.malus}} | ||||||
|           <option value="0">0</option> |           <option value="0">0</option> | ||||||
|           <option value="-1">-1</option> |           <option value="-1">-1</option> | ||||||
|           <option value="-2">-2</option> |           <option value="-2">-2</option> | ||||||
|   | |||||||
| @@ -12,7 +12,7 @@ | |||||||
|       <div class="form-group"> |       <div class="form-group"> | ||||||
|         <label>Caractéristique</label> |         <label>Caractéristique</label> | ||||||
|         <select name="data.default_carac" id="default_carac" data-dtype="String"> |         <select name="data.default_carac" id="default_carac" data-dtype="String"> | ||||||
|           {{#select item.data.data.default_carac}} |           {{#select item.data.data.data.default_carac}} | ||||||
|           {{>"systems/foundryvtt-reve-de-dragon/templates/competence-carac-defaut.html"}} |           {{>"systems/foundryvtt-reve-de-dragon/templates/competence-carac-defaut.html"}} | ||||||
|           {{/select}} |           {{/select}} | ||||||
|         </select> |         </select> | ||||||
| @@ -20,7 +20,7 @@ | |||||||
|       <div class="form-group"> |       <div class="form-group"> | ||||||
|         <label>Compétence</label> |         <label>Compétence</label> | ||||||
|         <select name="data.competence" id="competenceselect" data-dtype="String"> |         <select name="data.competence" id="competenceselect" data-dtype="String"> | ||||||
|           {{#select item.data.data.competence}} |           {{#select item.data.data.data.competence}} | ||||||
|           {{#each competences as |competence key|}} |           {{#each competences as |competence key|}} | ||||||
|           <option value="{{competence.name}}">{{competence.name}}</option> |           <option value="{{competence.name}}">{{competence.name}}</option> | ||||||
|           {{/each}} |           {{/each}} | ||||||
|   | |||||||
| @@ -12,7 +12,7 @@ | |||||||
|       <div class="form-group"> |       <div class="form-group"> | ||||||
|         <label for="categorie">Draconic </label> |         <label for="categorie">Draconic </label> | ||||||
|         <select name="data.draconic" id="draconic" data-dtype="String"> |         <select name="data.draconic" id="draconic" data-dtype="String"> | ||||||
|           {{#select item.data.data.draconic}} |           {{#select item.data.data.data.draconic}} | ||||||
|           {{>"systems/foundryvtt-reve-de-dragon/templates/sort-draconic.html"}} |           {{>"systems/foundryvtt-reve-de-dragon/templates/sort-draconic.html"}} | ||||||
|           {{/select}} |           {{/select}} | ||||||
|         </select> |         </select> | ||||||
| @@ -20,7 +20,7 @@ | |||||||
|       <div class="form-group"> |       <div class="form-group"> | ||||||
|         <label for="xp">Case TMR </label> |         <label for="xp">Case TMR </label> | ||||||
|         <select name="data.caseTMR" id="caseTMR" data-dtype="String"> |         <select name="data.caseTMR" id="caseTMR" data-dtype="String"> | ||||||
|           {{#select item.data.data.caseTMR}} |           {{#select item.data.data.data.caseTMR}} | ||||||
|           {{>"systems/foundryvtt-reve-de-dragon/templates/sort-tmr.html"}} |           {{>"systems/foundryvtt-reve-de-dragon/templates/sort-tmr.html"}} | ||||||
|           <option value="special">Case spéciale TMR (saisie ci-dessous)</option> |           <option value="special">Case spéciale TMR (saisie ci-dessous)</option> | ||||||
|           {{/select}} |           {{/select}} | ||||||
|   | |||||||
| @@ -12,7 +12,7 @@ | |||||||
|       <div class="form-group"> |       <div class="form-group"> | ||||||
|         <label for="xp">Caractéristique</label> |         <label for="xp">Caractéristique</label> | ||||||
|         <select name="data.carac" id="caracselect" data-dtype="String"> |         <select name="data.carac" id="caracselect" data-dtype="String"> | ||||||
|         {{#select item.data.data.carac}} |         {{#select item.data.data.data.carac}} | ||||||
|         {{#each caracList  as |carac key|}} |         {{#each caracList  as |carac key|}} | ||||||
|         <option value="{{key}}">{{carac.label}}</option> |         <option value="{{key}}">{{carac.label}}</option> | ||||||
|         {{/each}} |         {{/each}} | ||||||
| @@ -22,7 +22,7 @@ | |||||||
|       <div class="form-group"> |       <div class="form-group"> | ||||||
|         <label for="xp">Compétence</label> |         <label for="xp">Compétence</label> | ||||||
|         <select name="data.competence" id="competenceselect" data-dtype="String"> |         <select name="data.competence" id="competenceselect" data-dtype="String"> | ||||||
|         {{#select item.data.data.competence}} |         {{#select item.data.data.data.competence}} | ||||||
|         {{#each competences as |competence key|}} |         {{#each competences as |competence key|}} | ||||||
|         <option value="{{competence.name}}">{{competence.name}}</option> |         <option value="{{competence.name}}">{{competence.name}}</option> | ||||||
|         {{/each}} |         {{/each}} | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user