diff --git a/module/actor.js b/module/actor.js index 86ed59b0..6d6988ff 100644 --- a/module/actor.js +++ b/module/actor.js @@ -468,19 +468,19 @@ export class RdDActor extends Actor { const seuil = this.data.data.reve.seuil.value; const reveActuel = this.getReveActuel(); if (reveActuel >= seuil) { - message.content += "
Vous avez suffisament rêvé (seuil " + seuil + ", rêve actuel "+reveActuel+")"; + message.content += `
Vous avez suffisament rêvé (seuil ${seuil}, rêve actuel ${reveActuel})`; } else { - let deRecuperation = await DeDraconique.ddr("selfroll").total; + let deRecuperation = (await DeDraconique.ddr("selfroll")).total; console.log("recuperationReve", deRecuperation); if (deRecuperation>=7) { // Rêve de Dragon ! - message.content += "
Vous faites un Rêve de Dragon de " + deRecuperation + " Points de rêve"; + message.content += `
Vous faites un Rêve de Dragon de ${deRecuperation} Points de rêve`; message.content += await this.combattreReveDeDragon(deRecuperation); } else{ - message.content += "
Vous récupérez " + deRecuperation + " Points de rêve"; + message.content += `
Vous récupérez ${deRecuperation} Points de rêve`; await this.reveActuelIncDec(deRecuperation); } } @@ -491,7 +491,7 @@ export class RdDActor extends Actor { const seuil = this.data.data.reve.seuil.value; const reveActuel = this.getReveActuel(); if (reveActuel > seuil) { - message.content += "
Votre rêve redescend vers son seuil naturel (seuil " + seuil + ", nouveau rêve actuel "+(reveActuel-1)+")"; + message.content += `
Votre rêve redescend vers son seuil naturel (${seuil}, nouveau rêve actuel ${(reveActuel-1)})`; await this.reveActuelIncDec(-1); } } @@ -818,7 +818,7 @@ export class RdDActor extends Actor { content: this.name + " subit une Queue de Dragon : " + queue.name }); } - return queue; + return queue.name; } /* -------------------------------------------- */ @@ -1331,6 +1331,7 @@ export class RdDActor extends Actor { ui.notifications.info("Aucun sort disponible!"); return; } + if ( this.currentTMR) this.currentTMR.minimize(); // Hide let rollData = { selectedCarac: this.data.data.carac.reve, @@ -1344,7 +1345,6 @@ export class RdDActor extends Actor { coutreve: Array(20).fill().map((item, index) => 1 + index) } - if ( this.currentTMR) this.currentTMR.minimize(); // Hide const dialog = await RdDRoll.create(this, rollData, { html: 'systems/foundryvtt-reve-de-dragon/templates/dialog-roll-sort.html', close: html => { this.currentTMR.maximize() } // Re-display TMR @@ -1528,10 +1528,7 @@ export class RdDActor extends Actor { /* -------------------------------------------- */ async rollCarac( caracName ) { - let rollData = { - selectedCarac: this.getCaracByName(caracName), - diviseur : this.getDiviseurSignificative() - }; + let rollData = { selectedCarac: this.getCaracByName(caracName) }; const dialog = await RdDRoll.create(this, rollData, {html: 'systems/foundryvtt-reve-de-dragon/templates/dialog-roll-carac.html'}, @@ -1550,15 +1547,12 @@ export class RdDActor extends Actor { /* -------------------------------------------- */ async _onRollCaracResult(rollData) { // Final chat message - await RdDResolutionTable.displayRollData(rollData, this.name); + await RdDResolutionTable.displayRollData(rollData, this.name, 'chat-resultat-general.html'); } /* -------------------------------------------- */ async rollCompetence( name ) { - let rollData = { - competence: this.getCompetence(name), - diviseur : this.getDiviseurSignificative() - } + let rollData = { competence: this.getCompetence(name) } if (rollData.competence.type == 'competencecreature') { // Fake competence pour créature @@ -1610,17 +1604,15 @@ export class RdDActor extends Actor { competence.data.defaut_carac = tache.data.carac; // Patch ! let rollData = { competence: competence, - diviseur : this.getDiviseurSignificative(), tache: tache, diffConditions: tache.data.difficulte, editLibre: false, editConditions: false, - actor: this - } - - rollData.carac = {}; + carac : { } + }; rollData.carac[tache.data.carac] = duplicate(this.data.data.carac[tache.data.carac]); // Single carac - console.log("rollTache !!!", duplicate(rollData)); + + console.log("rollTache !!!", rollData); const dialog = await RdDRoll.create(this, rollData, {html: 'systems/foundryvtt-reve-de-dragon/templates/dialog-competence.html'}, { name: 'jet-competence', @@ -1658,7 +1650,7 @@ export class RdDActor extends Actor { /* -------------------------------------------- */ async rollAppelChance( ) { - let rollData = { selectedCarac: this.getCaracByName('chance-actuelle') }; + let rollData = { selectedCarac: this.getCaracByName('chance-actuelle'), surprise: '' }; const dialog = await RdDRoll.create(this, rollData, { html: 'systems/foundryvtt-reve-de-dragon/templates/dialog-roll-carac.html'}, @@ -1676,18 +1668,9 @@ export class RdDActor extends Actor { /* -------------------------------------------- */ async _appelChanceResult(rollData) { - // TODO: - const message = { - user: game.user._id, - alias: this.name, - content: this.name + " fait appel à la chance" + RdDResolutionTable.explain(rollData.rolled) - }; if (rollData.rolled.isSuccess) { - message.content += "
Un point de chance est dépensée, l'action peut être retentée" await this.chanceActuelleIncDec(-1) } - ChatMessage.create(message); - RdDResolutionTable.displayRollData(rollData, this.name, 'chat-resultat-appelchance.html') } @@ -2047,21 +2030,21 @@ export class RdDActor extends Actor { } let rolled = await RdDResolutionTable.roll( this.getReveActuel(), - Number(entite.data.data.carac.niveau.value)); - - let message = { - content: "Jet de points actuels de rêve à " + rolled.finalLevel + RdDResolutionTable.explain(rolled) + "
", - whisper: ChatMessage.getWhisperRecipients(this.name) + const rollData = { + alias: this.name, + rolled: rolled, + entite: entite.name, + selectedCarac : this.data.data.carac.reve }; - + if (rolled.isSuccess) { await entite.setEntiteReveAccordee(this); - message.content += this.name + " s'est accordé avec " + entite.name; } - else { - message.content+= this.name + " n'est pas accordé avec " + entite.name; + + await RdDResolutionTable.displayRollData(rollData, this.name, 'chat-resultat-accorder-cauchemar.html'); + if (rolled.isPart) { + await this._appliquerAjoutExperience(rollData, true); } - - ChatMessage.create( message ); return rolled.isSuccess; } diff --git a/module/chat-utility.js b/module/chat-utility.js index 0836f269..e45ebe30 100644 --- a/module/chat-utility.js +++ b/module/chat-utility.js @@ -27,6 +27,7 @@ export class ChatUtility { chatOptions.whisper = ChatUtility.getWhisperRecipients(rollMode, name); break; } + chatOptions.alias = chatOptions.alias||name; ChatMessage.create(chatOptions); } diff --git a/module/rdd-commands.js b/module/rdd-commands.js index f5808330..74c11de4 100644 --- a/module/rdd-commands.js +++ b/module/rdd-commands.js @@ -5,7 +5,7 @@ import { DeDraconique } from "./de-draconique.js"; import { Misc } from "./misc.js"; import { RdDDice } from "./rdd-dice.js"; import { RdDResolutionTable } from "./rdd-resolution-table.js"; -import { RdDRollResolution } from "./rdd-roll-resolution.js"; +import { RdDRollResolutionTable } from "./rdd-roll-resolution-table.js"; import { RdDRollTables } from "./rdd-rolltables.js"; import { RdDUtility } from "./rdd-utility.js"; import { TMRUtility } from "./tmr-utility.js"; @@ -167,7 +167,7 @@ export class RdDCommands { async rollRdd(msg, params) { if (params.length == 0) { - RdDRollResolution.open(); + RdDRollResolutionTable.open(); } else { let flatParams = params.reduce((a, b) => `${a} ${b}`); diff --git a/module/rdd-resolution-table.js b/module/rdd-resolution-table.js index a9a43544..ef4518a8 100644 --- a/module/rdd-resolution-table.js +++ b/module/rdd-resolution-table.js @@ -4,7 +4,6 @@ import { Misc } from "./misc.js"; import { RdDBonus } from "./rdd-bonus.js"; import { RdDCombat } from "./rdd-combat.js"; import { RdDDice } from "./rdd-dice.js"; -import { RdDRollTables } from "./rdd-rolltables.js"; /** * difficultés au delà de -10 @@ -48,8 +47,8 @@ const specialResults = [ const reussites = [ { code: "etotal", isPart: false, isSign: false, isSuccess: false, isEchec: true, isEPart: true, isETotal: true, ptTache: -4, ptQualite: -6, quality: "Echec total", condition: (target, roll) => roll >= target.etotal && roll <= 100 }, { code: "epart", isPart: false, isSign: false, isSuccess: false, isEchec: true, isEPart: true, isETotal: false, ptTache: -2, ptQualite: -4, quality: "Echec particulier", condition: (target, roll) => (roll >= target.epart && roll < target.etotal) }, - { code: "echec", isPart: false, isSign: false, isSuccess: false, isEchec: true, isEPart: false, isETotal: false, ptTache: 0, ptQualite: -2, quality: "Echec normal", condition: (target, roll) => (roll > target.score && roll < target.etotal) }, - { code: "norm", isPart: false, isSign: false, isSuccess: true, isEchec: false, isEPart: false, isETotal: false, ptTache: 1, ptQualite: 0, quality: "Réussite normale", condition: (target, roll) => (roll > target.sign && roll <= target.score) }, + { code: "echec", isPart: false, isSign: false, isSuccess: false, isEchec: true, isEPart: false, isETotal: false, ptTache: 0, ptQualite: -2, quality: "Echec normal", condition: (target, roll) => (roll > target.norm && roll < target.etotal) }, + { code: "norm", isPart: false, isSign: false, isSuccess: true, isEchec: false, isEPart: false, isETotal: false, ptTache: 1, ptQualite: 0, quality: "Réussite normale", condition: (target, roll) => (roll > target.sign && roll <= target.norm) }, { code: "sign", isPart: false, isSign: true, isSuccess: true, isEchec: false, isEPart: false, isETotal: false, ptTache: 2, ptQualite: 1, quality: "Réussite significative", condition: (target, roll) => (roll > target.part && roll <= target.sign) }, { code: "part", isPart: true, isSign: true, isSuccess: true, isEchec: false, isEPart: false, isETotal: false, ptTache: 3, ptQualite: 2, quality: "Réussite Particulière!", condition: (target, roll) => (roll > 0 && roll <= target.part) }, { code: "error", isPart: false, isSign: false, isSuccess: false, isEchec: true, isEPart: true, isETotal: true, ptTache: 0, ptQualite: 0, quality: "Jet de dés invalide", condition: (target, roll) => (roll <= 0 || roll > 100) } @@ -102,8 +101,9 @@ export class RdDResolutionTable { static async displayRollData(rollData, userName, template = 'chat-resultat-general.html') { - let html = await RdDResolutionTable.buildRollDataHtml(rollData, template); - ChatUtility.chatWithRollMode({ content: html }, userName) + ChatUtility.chatWithRollMode( + { content: await RdDResolutionTable.buildRollDataHtml(rollData, template) }, + userName) } static _buildAjustements(rollData) { @@ -180,7 +180,7 @@ export class RdDResolutionTable { rolled.caracValue = caracValue; rolled.finalLevel = finalLevel; rolled.bonus = bonus; - rolled.factor = RdDResolutionTable._getFractionHtml(diviseur); + rolled.factorHtml = RdDResolutionTable._getFractionHtml(diviseur); return rolled; } @@ -218,7 +218,7 @@ export class RdDResolutionTable { if (difficulte < -10) { return duplicate(levelDown.find(levelData => levelData.level == difficulte)); } - return duplicate(this.resolutionTable[caracValue][difficulte + 10]); + return duplicate(RdDResolutionTable.resolutionTable[caracValue][difficulte + 10]); } static isAjustementAstrologique(rollData) { @@ -287,41 +287,52 @@ export class RdDResolutionTable { return { niveau: niveau, score: percentage, + norm: Math.min(99, percentage), sign: this._reussiteSignificative(percentage), part: this._reussitePart(percentage), epart: this._echecParticulier(percentage), etotal: this._echecTotal(percentage) - } + }; } /* -------------------------------------------- */ - static _reussiteSignificative(score) { - return Math.floor(score / 2); + static _reussiteSignificative(percentage) { + return Math.floor(percentage / 2); } /* -------------------------------------------- */ - static _reussitePart(score) { - return Math.ceil(score / 5); + static _reussitePart(percentage) { + return Math.ceil(percentage / 5); } /* -------------------------------------------- */ - static _echecParticulier(score) { - return Math.ceil(score / 5) + 80; + static _echecParticulier(percentage) { + const epart = Math.ceil(percentage / 5) + 80; + return epart >= 100 ? 101 : epart; } /* -------------------------------------------- */ - static _echecTotal(score) { - return Math.ceil(score / 10) + 91; + static _echecTotal(percentage) { + const etotal = Math.ceil(percentage / 10) + 91; + return percentage >= 100 ? 101 : Math.min(etotal, 100); } /* -------------------------------------------- */ static buildHTMLResults(caracValue, levelValue) { let cell = this.computeChances(caracValue, levelValue); - let descr = $(''); - descr.append("Particulière : " + cell.part + " - Significative : " + cell.sign + " - Réussite : " + cell.score); - descr.append("
Echec Particulier : " + cell.epart + " - Echec Total : " + cell.etotal); - descr.append("
"); - return descr; + cell.epart = cell.epart>99? 'N/A' : cell.epart; + cell.etotal = cell.etotal>100? 'N/A' : cell.etotal; + cell.score = Math.min(cell.score, 99); + + return ` + +Particulière: ${cell.part} +- Significative: ${cell.sign} +- Réussite: ${cell.score} +- Echec Particulier: ${cell.epart} +- Echec Total: ${cell.etotal} + +` } /* -------------------------------------------- */ @@ -342,10 +353,10 @@ export class RdDResolutionTable { maxLevel = Math.max(Math.min(maxLevel, 22), minLevel + countColonnes); let table = $("") - .append(this._buildHTMLHeader(this.resolutionTable[0], minLevel, maxLevel)); + .append(this._buildHTMLHeader(RdDResolutionTable.resolutionTable[0], minLevel, maxLevel)); for (var rowIndex = minCarac; rowIndex <= maxCarac; rowIndex++) { - table.append(this._buildHTMLRow(this.resolutionTable[rowIndex], rowIndex, caracValue, levelValue, minLevel, maxLevel)); + table.append(this._buildHTMLRow(RdDResolutionTable.resolutionTable[rowIndex], rowIndex, caracValue, levelValue, minLevel, maxLevel)); } table.append("
"); return table; diff --git a/module/rdd-roll-resolution.js b/module/rdd-roll-resolution-table.js similarity index 92% rename from module/rdd-roll-resolution.js rename to module/rdd-roll-resolution-table.js index cc6c3277..fc6c1844 100644 --- a/module/rdd-roll-resolution.js +++ b/module/rdd-roll-resolution-table.js @@ -7,20 +7,18 @@ const titleTableDeResolution = 'Table de résolution'; * @extends {Dialog} */ /* -------------------------------------------- */ -export class RdDRollResolution extends Dialog { +export class RdDRollResolutionTable extends Dialog { /* -------------------------------------------- */ static async open(rollData = {}) { - RdDRollResolution._setDefaultOptions(rollData); + RdDRollResolutionTable._setDefaultOptions(rollData); let html = await renderTemplate('systems/foundryvtt-reve-de-dragon/templates/dialog-roll-resolution.html', rollData); - const dialog = new RdDRollResolution(rollData, html); + const dialog = new RdDRollResolutionTable(rollData, html); dialog.render(true); } /* -------------------------------------------- */ static _setDefaultOptions(rollData) { - - let defRollData = { show: { title: titleTableDeResolution }, ajustementsConditions: CONFIG.RDD.ajustementsConditions, @@ -62,8 +60,8 @@ export class RdDRollResolution extends Dialog { /* -------------------------------------------- */ async onAction(html) { await RdDResolutionTable.rollData(this.rollData); - console.log("RdDRollResolution -=>", this.rollData, this.rollData.rolled); - await RdDResolutionTable.displayRollData(rollData, game.user.name) + console.log("RdDRollResolutionTable -=>", this.rollData, this.rollData.rolled); + await RdDResolutionTable.displayRollData(this.rollData, game.user.name); } /* -------------------------------------------- */ diff --git a/module/rdd-roll.js b/module/rdd-roll.js index d9d6275f..95fa2fb0 100644 --- a/module/rdd-roll.js +++ b/module/rdd-roll.js @@ -50,7 +50,8 @@ export class RdDRoll extends Dialog { isMalusEncombrementTotal: RdDItemCompetence.isMalusEncombrementTotal(rollData.competence), useMalusEncTotal: false, encTotal: actor.getEncombrementTotal(), - ajustementAstrologique: actor.ajustementAstrologique() + ajustementAstrologique: actor.ajustementAstrologique(), + surprise: actor.getSurprise() } mergeObject(rollData, defaultRollData, { overwrite: false }); } diff --git a/module/rdd-utility.js b/module/rdd-utility.js index 0a01ab55..4c3611e1 100644 --- a/module/rdd-utility.js +++ b/module/rdd-utility.js @@ -1,11 +1,10 @@ /* Common useful functions shared between objects */ -import { TMRUtility } from "./tmr-utility.js"; import { RdDRollTables } from "./rdd-rolltables.js"; import { ChatUtility } from "./chat-utility.js"; import { RdDItemCompetence } from "./item-competence.js"; import { RdDCombat } from "./rdd-combat.js"; -import { RdDRollResolution } from "./rdd-roll-resolution.js"; +import { RdDRollResolutionTable } from "./rdd-roll-resolution-table.js"; /* -------------------------------------------- */ const level_category = { @@ -92,7 +91,7 @@ const fatigueMarche = { "aise": { "4":1, "6":2, "8":3, "10":4, "12":6 }, /* -------------------------------------------- */ /* Static tables for commands /table */ -const table2func = { "rdd": { descr: "rdd: Ouvre la table de résolution", func: RdDRollResolution.open }, +const table2func = { "rdd": { descr: "rdd: Ouvre la table de résolution", func: RdDRollResolutionTable.open }, "queues": { descr: "queues: Tire une queue de Dragon", func: RdDRollTables.getQueue}, "ombre": { descr: "ombre: Tire une Ombre de Dragon", func: RdDRollTables.getOmbre }, "tetehr": { descr: "tetehr: Tire une Tête de Dragon pour Hauts Revants", fund: RdDRollTables.getTeteHR}, @@ -198,6 +197,7 @@ export class RdDUtility { 'systems/foundryvtt-reve-de-dragon/templates/hud-actor-init.html', 'systems/foundryvtt-reve-de-dragon/templates/hud-actor-attaque.html', // messages tchat + 'systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html', 'systems/foundryvtt-reve-de-dragon/templates/chat-resultat-appelchance.html', 'systems/foundryvtt-reve-de-dragon/templates/chat-resultat-attaque.html', 'systems/foundryvtt-reve-de-dragon/templates/chat-resultat-parade.html', diff --git a/styles/simple.css b/styles/simple.css index 380c72b1..76ad3e7f 100644 --- a/styles/simple.css +++ b/styles/simple.css @@ -396,7 +396,7 @@ table {border: 1px solid #7a7971;} border-radius: 6px; padding: 3px; background:linear-gradient(150deg, rgba(0, 0, 0, 0.7), rgba(100, 45, 124, 0.4), rgba(82, 17, 131, 0.3),rgba(100, 45, 124, 0.4), rgba(0, 0, 0, 0.7)); } -.rdd-need-significative{ +.rdd-diviseur{ border-radius: 6px; padding: 3px; background:linear-gradient(30deg, rgba(61, 55, 93, 0.2), rgba(178, 179, 196, 0.1), rgba(59, 62, 63, 0.2), rgba(206, 204, 199, 0.1), rgba(61, 46, 49, 0.2)); } @@ -410,6 +410,11 @@ table {border: 1px solid #7a7971;} background-color: lightblue; } +#resolutionValeurs{ + font-size: 0.8rem; + padding: 5px; +} + /* ======================================== */ /* Sheet */ .window-app.sheet .window-content .sheet-header{ diff --git a/templates/chat-infojet.html b/templates/chat-infojet.html new file mode 100644 index 00000000..1e89bd77 --- /dev/null +++ b/templates/chat-infojet.html @@ -0,0 +1,23 @@ +
+ + {{rolled.caracValue}} à {{numberFormat rolled.finalLevel decimals=0 sign=true}} + {{#if ajustements}} +
+ {{#each ajustements as |item key|}} +
+ {{#if item.descr}} + {{{item.descr}}} + {{else}} + {{item.label}}: {{numberFormat item.value decimals=0 sign=true}} + {{/if}} +
+ {{/each}} +
+ {{/if}} + {{#if rolled.factorHtml}}×{{{rolled.factorHtml}}}{{/if}} +
+ = {{rolled.score}}% +
+
+ {{rolled.roll}} : {{rolled.quality}} +
\ No newline at end of file diff --git a/templates/chat-resultat-accorder-cauchemar.html b/templates/chat-resultat-accorder-cauchemar.html new file mode 100644 index 00000000..0cb65da3 --- /dev/null +++ b/templates/chat-resultat-accorder-cauchemar.html @@ -0,0 +1,10 @@ +

+ {{alias}} s'accorde: {{entite}} +

+{{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}} +
+
{{#if rolled.isSuccess}} + {{alias}} s'est accordé à {{entite}} + {{else}}ne s'est pas accordé à {{entite}}, il pourra réessayer à sa prochaine attaque. + {{/if}} +
diff --git a/templates/chat-resultat-appelchance.html b/templates/chat-resultat-appelchance.html index 4207b101..c022da52 100644 --- a/templates/chat-resultat-appelchance.html +++ b/templates/chat-resultat-appelchance.html @@ -1,22 +1,7 @@

{{alias}} fait appel à la chance -
- {{rolled.caracValue}} à {{numberFormat rolled.finalLevel decimals=0 sign=true}} -
-
Ajustements
- {{#each ajustements as |item key|}} -
- {{#if item.descr}} - {{{item.descr}}} - {{else}} - {{item.label}}: {{numberFormat item.value decimals=0 sign=true}} - {{/if}} -
- {{/each}} -
-
= {{rolled.score}}%

-
{{rolled.roll}} : {{rolled.quality}}
+{{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}} {{~#if rolled.isSuccess}}
Un point de chance est dépensé, l'action peut être retentée! diff --git a/templates/chat-resultat-attaque.html b/templates/chat-resultat-attaque.html index b2158636..9ce13b37 100644 --- a/templates/chat-resultat-attaque.html +++ b/templates/chat-resultat-attaque.html @@ -1,24 +1,6 @@ -

- {{alias}} attaque: {{arme.name}} -
{{selectedCarac.label}} / {{competence.name}}, difficulté {{diffLibre}} -
- {{rolled.caracValue}} à {{numberFormat rolled.finalLevel decimals=0 sign=true}} -
-
Ajustements
- {{#each ajustements as |item key|}} -
- {{#if item.descr}} - {{{item.descr}}} - {{else}} - {{item.label}}: {{numberFormat item.value decimals=0 sign=true}} - {{/if}} -
- {{/each}} -
-
- {{#if rolled.factor}}{{/if}} = {{rolled.score}}% -

-
{{rolled.roll}} : {{rolled.quality}}
+

{{alias}} attaque: {{arme.name}}

+
{{selectedCarac.label}} / {{competence.name}}, difficulté {{diffLibre}}
+{{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}}
{{#if tactique}}
diff --git a/templates/chat-resultat-competence.html b/templates/chat-resultat-competence.html index f870fa06..b300af95 100644 --- a/templates/chat-resultat-competence.html +++ b/templates/chat-resultat-competence.html @@ -1,26 +1,10 @@

- {{alias}} {{#if show.title}}{{show.title}}: {{/if}} + {{alias}} {{show.title}}: {{#if selectedCarac}}{{selectedCarac.label}} {{#if competence}} / {{competence.name}}{{/if}} {{/if}} -
- {{rolled.caracValue}} à {{numberFormat rolled.finalLevel decimals=0 sign=true}} -
-
Ajustements
- {{#each ajustements as |item key|}} -
- {{#if item.descr}} - {{{item.descr}}} - {{else}} - {{item.label}}: {{numberFormat item.value decimals=0 sign=true}} - {{/if}} -
- {{/each}} -
-
- {{#if rolled.factor}}{{/if}} = {{rolled.score}}%

-
{{rolled.roll}} : {{rolled.quality}}
+{{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}}
{{#if rolled.ptTache}}{{rolled.ptTache}} points de tâche{{/if}}{{#if rolled.ptQualite}}{{#if rolled.ptTache}},{{/if}} ajustement Qualité {{numberFormat rolled.ptQualite decimals=0 sign=true}}{{/if}} diff --git a/templates/chat-resultat-esquive.html b/templates/chat-resultat-esquive.html index c46440ab..ef04c432 100644 --- a/templates/chat-resultat-esquive.html +++ b/templates/chat-resultat-esquive.html @@ -1,23 +1,6 @@ -

- {{alias}} esquive: {{selectedCarac.label}} / {{competence.name}}, difficulté {{diffLibre}} -
- {{rolled.caracValue}} à {{numberFormat rolled.finalLevel decimals=0 sign=true}} -
-
Ajustements
- {{#each ajustements as |item key|}} -
- {{#if item.descr}} - {{{item.descr}}} - {{else}} - {{item.label}}: {{numberFormat item.value decimals=0 sign=true}} - {{/if}} -
- {{/each}} -
-
- {{#if rolled.factor}}{{/if}} = {{rolled.score}}% -

-
{{rolled.roll}} : {{rolled.quality}}
+

{{alias}} esquive

+
{{selectedCarac.label}} / {{competence.name}} attaque à {{diffLibre}}
+{{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}}
{{#if rolled.isSuccess}} diff --git a/templates/chat-resultat-general.html b/templates/chat-resultat-general.html index d8df8658..0b83a504 100644 --- a/templates/chat-resultat-general.html +++ b/templates/chat-resultat-general.html @@ -2,27 +2,10 @@ {{alias}} {{#if show.title}}{{show.title}}: {{/if}} {{#if selectedCarac}}{{selectedCarac.label}} {{#if competence}} / {{competence.name}}{{/if}} + à {{diffLibre}} {{/if}} -
- {{rolled.caracValue}} à {{numberFormat rolled.finalLevel decimals=0 sign=true}} - {{#if ajustements}} -
-
Ajustements
- {{#each ajustements as |item key|}} -
- {{#if item.descr}} - {{{item.descr}}} - {{else}} - {{item.label}}: {{numberFormat item.value decimals=0 sign=true}} - {{/if}} -
- {{/each}} -
- {{/if}} -
- {{#if rolled.factor}}{{/if}} = {{rolled.score}}% -
{{rolled.roll}} : {{rolled.quality}}
+{{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}}
{{#if rolled.ptTache}}{{rolled.ptTache}} points de tâche{{/if}}{{#if rolled.ptQualite}}{{#if rolled.ptTache}},{{/if}} ajustement Qualité {{numberFormat rolled.ptQualite decimals=0 sign=true}}{{/if}} diff --git a/templates/chat-resultat-parade.html b/templates/chat-resultat-parade.html index b0d61ca9..b1679ec7 100644 --- a/templates/chat-resultat-parade.html +++ b/templates/chat-resultat-parade.html @@ -1,24 +1,6 @@ -

- {{alias}} pare: {{arme.name}} -
{{selectedCarac.label}} / {{competence.name}}, difficulté {{diffLibre}} -
- {{rolled.caracValue}} à {{numberFormat rolled.finalLevel decimals=0 sign=true}} -
-
Ajustements
- {{#each ajustements as |item key|}} -
- {{#if item.descr}} - {{{item.descr}}} - {{else}} - {{item.label}}: {{numberFormat item.value decimals=0 sign=true}} - {{/if}} -
- {{/each}} -
-
- {{#if rolled.factor}}{{/if}} = {{rolled.score}}% -

-
{{rolled.roll}} : {{rolled.quality}}
+

{{alias}} pare: {{arme.name}}

+
{{selectedCarac.label}} / {{competence.name}}, attaque à {{diffLibre}}
+{{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}}
{{#if rolled.isSuccess}} diff --git a/templates/chat-resultat-sort.html b/templates/chat-resultat-sort.html index e4033a15..c6c374eb 100644 --- a/templates/chat-resultat-sort.html +++ b/templates/chat-resultat-sort.html @@ -1,48 +1,24 @@

- {{alias}} {{#if isSortReserve}}met en réserve{{else}}lance{{/if}} le - {{selectedSort.data.isrituel}}rituel{{else}}sort{{/if}} - {{selectedSort.name}} (r {{selectedSort.data.ptreve_reel}}) -
- - {{competence.name}}: {{rolled.caracValue}} à {{numberFormat rolled.finalLevel decimals=0 sign=true}} -
-
Ajustements
- {{#each ajustements as |item key|}} -
- {{#if item.descr}} - {{{item.descr}}} - {{else}} - {{item.label}}: {{numberFormat item.value decimals=0 sign=true}} - {{/if}} -
- {{/each}} -
-
- {{#if rolled.factor}}{{/if}} = {{rolled.score}}% + {{alias}} {{#if isSortReserve}}met en réserve{{else}}lance{{/if}} + le {{#if selectedSort.data.isrituel}}rituel{{else}}sort{{/if}} + {{selectedSort.name}}

-
Pour {{selectedSort.data.ptreve_reel}} points de rêve en {{coordLabel}} ({{coord}})
-
- {{rolled.roll}} : {{rolled.quality}} - {{#if show.reveInsuffisant}}Pas assez de rêve!{{/if}} +
Pour {{selectedSort.data.ptreve_reel}} point{{~#if (gt selectedSort.data.ptreve_reel 1)}}s{{/if}} de rêve en {{coordLabel}} ({{coord}}). +{{#if show.reveInsuffisant}} +Pas assez de rêve! +{{/if}}
+{{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}}
- {{#if rolled.isETotal}} - Echec TOTAL du sort! - {{else if rolled.isEchec}} - Echec du sort, - {{else}} - Réussite du sort, - {{/if~}} - - - {{#if (eq depenseReve 0)}} - pas de dépense de rêve - {{else if (eq depenseReve 1)}} - 1 point de rêve a été dépensé - {{else}} - {{depenseReve}} points de rêve ont été dépensés - {{/if}} + {{#if rolled.isETotal}}Echec TOTAL + {{else if rolled.isEchec}}Echec + {{else}}Réussite{{/if}} + du {{#if selectedSort.data.isrituel}}rituel{{else}}sort{{/if}}, + {{#if (eq depenseReve 0)}}pas de dépense de rêve + {{else if (eq depenseReve 1)}}1 point de rêve a été dépensé + {{else}}{{depenseReve}} points de rêve ont été dépensés + {{~/if}}.
\ No newline at end of file diff --git a/templates/chat-resultat-tache.html b/templates/chat-resultat-tache.html index 87b70e8e..380a4103 100644 --- a/templates/chat-resultat-tache.html +++ b/templates/chat-resultat-tache.html @@ -1,28 +1,12 @@

{{alias}} travaille à sa tâche {{tache.name}} -
{{selectedCarac.label}} / {{competence.name}} - - {{rolled.caracValue}} à {{numberFormat rolled.finalLevel decimals=0 sign=true}} -
-
Ajustements
- {{#each ajustements as |item key|}} -
- {{#if item.descr}} - {{{item.descr}}} - {{else}} - {{item.label}}: {{numberFormat item.value decimals=0 sign=true}} - {{/if}} -
- {{/each}} -
-
- {{#if rolled.factor}}{{/if}} = {{rolled.score}}% +
{{selectedCarac.label}}/{{competence.name}}

-
{{rolled.roll}} : {{rolled.quality}}
+{{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}}
- Après {{tache.data.periodicite}} vous avez obtenu {{rolled.ptTache}} points de tâche, - votre avancement est de {{tache.data.points_de_tache_courant}} sur {{tache.data.points_de_tache}} Points de Tâche. - {{#if tache.data.fatigue}}
Vous êtes fatigué de {{tache.data.fatigue}} cases.{{/if}} + Après {{tache.data.periodicite}} vous avez obtenu {{rolled.ptTache}} point{{~#if (gt rolled.ptTache 1)}}s{{/if}} de tâche, + votre avancement est de {{tache.data.points_de_tache_courant}} sur {{tache.data.points_de_tache}} point{{~#if (gt tache.data.points_de_tache_courant 1)}}s{{/if}} de tâche. + {{#if tache.data.fatigue}}
Vous vous êtes fatigué de {{tache.data.fatigue}} case{{~#if (gt tache.data.fatigue 1)}}s{{/if}}.{{/if}} {{#if rolled.isETotal}}
Votre échec total augmente de 1 la difficulté de la tâche!{{/if~}}