diff --git a/module/rdd-tmr-dialog.js b/module/rdd-tmr-dialog.js index b91b5d29..107f240a 100644 --- a/module/rdd-tmr-dialog.js +++ b/module/rdd-tmr-dialog.js @@ -552,7 +552,7 @@ export class RdDTMRDialog extends Dialog { let rencontre = TMRUtility.utiliseForceRencontre() ?? (isMauvaise ? await TMRRencontres.getMauvaiseRencontre() - : await TMRRencontres.getRencontreAleatoire(tmr.type)); + : await TMRRencontres.getRencontreAleatoire(tmr)); rencontre.coord = tmr.coord; rencontre.date = game.system.rdd.calendrier.getDateFromIndex(); rencontre.heure = game.system.rdd.calendrier.getCurrentHeure(); diff --git a/module/tmr-rencontres.js b/module/tmr-rencontres.js index a7b543ae..d8634310 100644 --- a/module/tmr-rencontres.js +++ b/module/tmr-rencontres.js @@ -331,13 +331,21 @@ export class TMRRencontres { */ static async rollRencontre(terrain, roll = undefined) { if (!terrain) { - ChatMessage.create({ content: "Un type de case doit être indiqué (par exemple sanctuaire, desert ou cité)" }); + ChatMessage.create({ + user: game.user.id, + whisper: [game.user.id], + content: "Un type de case doit être indiqué (par exemple sanctuaire, desert ou cité)" + }); return false; } + TMRRencontres.selectRencontre(terrain); + const codeTerrain = Grammar.toLowerCaseNoAccent(terrain); + if (!roll || roll <= 0 || roll > 100) { roll = await RdDDice.rollTotal("1d100"); } - let rencontre = await TMRRencontres.getRencontreAleatoire(terrain, roll); + + let rencontre = await TMRRencontres.getRencontreAleatoire({type: codeTerrain, coord:''}, roll); ChatMessage.create({ user: game.user.id, whisper: [game.user.id], @@ -365,12 +373,12 @@ export class TMRRencontres { } /* -------------------------------------------- */ - static async getRencontreAleatoire(terrain, roll = undefined) { + static async getRencontreAleatoire(tmr, roll = undefined) { if (!roll || roll <= 0 || roll > 100) { roll = await RdDDice.rollTotal("1d100"); } - terrain = Grammar.toLowerCaseNoAccent(terrain); - const code = tableRencontres[terrain].find(it => it.range[0] <= roll && roll <= it.range[1]).code; + const codeTerrain = Grammar.toLowerCaseNoAccent(tmr.type); + const code = tableRencontres[codeTerrain].find(it => it.range[0] <= roll && roll <= it.range[1]).code; const rencontre = duplicate(rencontresStandard.find(it => it.code == code)); rencontre.roll = roll; await TMRRencontres.evaluerForceRencontre(rencontre); @@ -390,7 +398,7 @@ export class TMRRencontres { /* -------------------------------------------- */ static async evaluerForceRencontre(rencontre) { const rollForce = new Roll(rencontre.force); - await rollForce.evaluate(); + await rollForce.evaluate({ async: true }); rencontre.force = rollForce.total; return rencontre.force; }