diff --git a/changelog.md b/changelog.md index 01b080d1..30ad6813 100644 --- a/changelog.md +++ b/changelog.md @@ -1,4 +1,10 @@ # 12.0 +## 12.0.36 - La cartte d'Astrobazzarh +- Fix: la commande /tmra fonctionne correctement sans paramètres + +## 12.0.35 - La Solution d'Astrobazzarh +- Fix problème d'initialisation des feuilles d'items + ## 12.0.34 - la tête d'Astrobazzarh - support de liens "jets de dés" - on peut ajouter des liens "jet de dés" dans les journaux, descriptions, notes, maladresses, ... diff --git a/module/rdd-commands.js b/module/rdd-commands.js index aabd3dc0..8968afcb 100644 --- a/module/rdd-commands.js +++ b/module/rdd-commands.js @@ -361,13 +361,14 @@ export class RdDCommands { async getTMRAleatoire(msg, params) { if (params.length < 2) { let type = params[0] - const solvedTerrain = TMRUtility.findTMRLike(type)?.type - if (solvedTerrain){ - const tmr = await TMRUtility.getTMRAleatoire(type ? (it => it.type == solvedTerrain) : (it => true)) + const solvedTerrain = type ? TMRUtility.findTMRLike(type)?.type : undefined + const filter = solvedTerrain ? (it => it.type == solvedTerrain) : (it => true) + if (type == undefined || solvedTerrain != undefined) { + const tmr = await TMRUtility.getTMRAleatoire(filter) return RdDCommands._chatAnswer(msg, `Case aléatoire: ${tmr.coord} - ${tmr.label}`) } } - return false; + return false } async findTMR(msg, params) { diff --git a/module/tmr-rencontres.js b/module/tmr-rencontres.js index 61ad4ead..c7f9d820 100644 --- a/module/tmr-rencontres.js +++ b/module/tmr-rencontres.js @@ -26,7 +26,7 @@ export class TMRRencontres { * @param {*} forcedRoll */ async rollRencontre(terrain, forcedRoll) { - const tmrType = TMRUtility.findTMRLike(terrain)?.type + const tmrType = TMRUtility.findTMRLike(terrain, { inclusMauvaise: true })?.type if (tmrType == undefined) { return undefined; } @@ -38,7 +38,7 @@ export class TMRRencontres { const frequence = it => it.system.frequence[tmrType]; const row = await this.table.getRandom(frequence, filtreMauvaise, forcedRoll); if (row) { - await CompendiumTableHelpers.tableRowToChatMessage(row, 'Item', {showSource: false}); + await CompendiumTableHelpers.tableRowToChatMessage(row, 'Item', { showSource: false }); } return row?.document; diff --git a/module/tmr-utility.js b/module/tmr-utility.js index e8ae35e6..37fdc623 100644 --- a/module/tmr-utility.js +++ b/module/tmr-utility.js @@ -22,7 +22,7 @@ export const TMRType = { export const FLEUVE_COORD = 'Fleuve' const TMRMapping = { - Fleuve: { type: TMRType.fleuve.type, label: "Fleuve de l'Oubli" }, + Fleuve: { type: TMRType.fleuve.type, label: "Fleuve de l'Oubli", generique: 'fleuve' }, A1: { type: TMRType.cite.type, label: "Cité Vide" }, B1: { type: TMRType.plaines.type, label: "Plaines d’Assorh" }, C1: { type: TMRType.necropole.type, label: "Nécropole de Kroak" }, @@ -281,18 +281,18 @@ export class TMRUtility { return Grammar.articleDetermine(tmr.type) + ' ' + tmr.label; } - static findTMRLike(type, options = { inclusMauvaise: true }) { + static findTMRLike(type, options = { inclusMauvaise: false }) { const choix = [...Object.values(TMRType)] if (options.inclusMauvaise) { choix.push({ name: 'Mauvaise', type: 'mauvaise'}); } const selection = Misc.findAllLike(type, choix) if (selection.length == 0) { - ui.notifications.warn(`Un type de TMR doit être indiqué, '${type}' n'est pas trouvé dans ${choix}`); + ui.notifications.warn(`Un type de TMR doit être indiqué, '${type}' n'est pas trouvé dans ${choix.map(it => it.name).reduce(Misc.joining(', '))}`); return undefined } if (selection.length > 1) { - ui.notifications.warn(`Plusieurs types de TMR pourraient correspondre à '${type}': ${selection.map(it => it.name)}`); + ui.notifications.warn(`Plusieurs types de TMR pourraient correspondre à '${type}': ${selection.map(it => it.name).reduce(Misc.joining(', '))}`); return undefined; } return selection[0] @@ -357,7 +357,7 @@ export class TMRUtility { } static filterTMR(filter) { - return Object.values(TMRMapping).filter(filter); + return Object.values(TMRMapping).filter(it => !it.generique && filter(it)) } static getCasesType(type) {