12.0.36 - L'alchimie d'Astrobazzarh #740

Merged
uberwald merged 16 commits from VincentVk/foundryvtt-reve-de-dragon:v11 into v11 2025-01-19 09:50:20 +01:00
4 changed files with 18 additions and 11 deletions
Showing only changes of commit c5633a9fc5 - Show all commits

View File

@ -1,4 +1,10 @@
# 12.0 # 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 ## 12.0.34 - la tête d'Astrobazzarh
- support de liens "jets de dés" - support de liens "jets de dés"
- on peut ajouter des liens "jet de dés" dans les journaux, descriptions, notes, maladresses, ... - on peut ajouter des liens "jet de dés" dans les journaux, descriptions, notes, maladresses, ...

View File

@ -361,13 +361,14 @@ export class RdDCommands {
async getTMRAleatoire(msg, params) { async getTMRAleatoire(msg, params) {
if (params.length < 2) { if (params.length < 2) {
let type = params[0] let type = params[0]
const solvedTerrain = TMRUtility.findTMRLike(type)?.type const solvedTerrain = type ? TMRUtility.findTMRLike(type)?.type : undefined
if (solvedTerrain){ const filter = solvedTerrain ? (it => it.type == solvedTerrain) : (it => true)
const tmr = await TMRUtility.getTMRAleatoire(type ? (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 RdDCommands._chatAnswer(msg, `Case aléatoire: ${tmr.coord} - ${tmr.label}`)
} }
} }
return false; return false
} }
async findTMR(msg, params) { async findTMR(msg, params) {

View File

@ -26,7 +26,7 @@ export class TMRRencontres {
* @param {*} forcedRoll * @param {*} forcedRoll
*/ */
async rollRencontre(terrain, forcedRoll) { async rollRencontre(terrain, forcedRoll) {
const tmrType = TMRUtility.findTMRLike(terrain)?.type const tmrType = TMRUtility.findTMRLike(terrain, { inclusMauvaise: true })?.type
if (tmrType == undefined) { if (tmrType == undefined) {
return undefined; return undefined;
} }
@ -38,7 +38,7 @@ export class TMRRencontres {
const frequence = it => it.system.frequence[tmrType]; const frequence = it => it.system.frequence[tmrType];
const row = await this.table.getRandom(frequence, filtreMauvaise, forcedRoll); const row = await this.table.getRandom(frequence, filtreMauvaise, forcedRoll);
if (row) { if (row) {
await CompendiumTableHelpers.tableRowToChatMessage(row, 'Item', {showSource: false}); await CompendiumTableHelpers.tableRowToChatMessage(row, 'Item', { showSource: false });
} }
return row?.document; return row?.document;

View File

@ -22,7 +22,7 @@ export const TMRType = {
export const FLEUVE_COORD = 'Fleuve' export const FLEUVE_COORD = 'Fleuve'
const TMRMapping = { 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" }, A1: { type: TMRType.cite.type, label: "Cité Vide" },
B1: { type: TMRType.plaines.type, label: "Plaines dAssorh" }, B1: { type: TMRType.plaines.type, label: "Plaines dAssorh" },
C1: { type: TMRType.necropole.type, label: "Nécropole de Kroak" }, C1: { type: TMRType.necropole.type, label: "Nécropole de Kroak" },
@ -281,18 +281,18 @@ export class TMRUtility {
return Grammar.articleDetermine(tmr.type) + ' ' + tmr.label; return Grammar.articleDetermine(tmr.type) + ' ' + tmr.label;
} }
static findTMRLike(type, options = { inclusMauvaise: true }) { static findTMRLike(type, options = { inclusMauvaise: false }) {
const choix = [...Object.values(TMRType)] const choix = [...Object.values(TMRType)]
if (options.inclusMauvaise) { if (options.inclusMauvaise) {
choix.push({ name: 'Mauvaise', type: 'mauvaise'}); choix.push({ name: 'Mauvaise', type: 'mauvaise'});
} }
const selection = Misc.findAllLike(type, choix) const selection = Misc.findAllLike(type, choix)
if (selection.length == 0) { 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 return undefined
} }
if (selection.length > 1) { 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 undefined;
} }
return selection[0] return selection[0]
@ -357,7 +357,7 @@ export class TMRUtility {
} }
static filterTMR(filter) { static filterTMR(filter) {
return Object.values(TMRMapping).filter(filter); return Object.values(TMRMapping).filter(it => !it.generique && filter(it))
} }
static getCasesType(type) { static getCasesType(type) {