forked from public/foundryvtt-reve-de-dragon
Fréquences par milieu pour l'environnement
Les herbes et les ingrédients peuvent être cherchées/tirées
This commit is contained in:
@ -1,7 +1,7 @@
|
||||
import { Grammar } from "./grammar.js";
|
||||
import { Misc } from "./misc.js";
|
||||
import { RdDDice } from "./rdd-dice.js";
|
||||
import { SystemCompendiums, SystemCompendiumTable } from "./settings/system-compendiums.js";
|
||||
import { SystemCompendiums, CompendiumTable, CompendiumTableHelpers } from "./settings/system-compendiums.js";
|
||||
import { TMRUtility } from "./tmr-utility.js";
|
||||
|
||||
|
||||
@ -15,7 +15,7 @@ export class TMRRencontres {
|
||||
}
|
||||
|
||||
constructor(){
|
||||
this.table = new SystemCompendiumTable('rencontres', 'Item', 'rencontre', Misc.ascending(it => it.system.ordreTri));
|
||||
this.table = new CompendiumTable('rencontres', 'Item', 'rencontre', Misc.ascending(it => it.system.ordreTri));
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@ -36,9 +36,12 @@ export class TMRRencontres {
|
||||
const codeTerrain = Grammar.toLowerCaseNoAccent(terrain)
|
||||
const filtreMauvaise = codeTerrain == 'mauvaise' ? it => it.system.mauvaiseRencontre : it => !it.system.mauvaiseRencontre;
|
||||
const frequence = it => it.system.frequence[codeTerrain];
|
||||
const random = await this.table.getRandom(true, frequence, filtreMauvaise, forcedRoll);
|
||||
const row = await this.table.getRandom(frequence, filtreMauvaise, forcedRoll);
|
||||
if (row) {
|
||||
await CompendiumTableHelpers.tableRowToChatMessage(row);
|
||||
}
|
||||
|
||||
return random?.document;
|
||||
return row?.document;
|
||||
}
|
||||
|
||||
async chatTable(terrain) {
|
||||
@ -47,9 +50,9 @@ export class TMRRencontres {
|
||||
const filtreMauvaise = isMauvaise ? it => it.system.mauvaiseRencontre : it => !it.system.mauvaiseRencontre;
|
||||
const frequence = it => it.system.frequence[codeTerrain];
|
||||
const typeName = isMauvaise ? 'Mauvaises rencontres' : `Rencontres en ${Misc.upperFirst(terrain)}`;
|
||||
await this.table.chatTable(frequence, filtreMauvaise, typeName);
|
||||
return true
|
||||
return await this.table.toChatMessage(frequence, filtreMauvaise, typeName);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async createRencontre(rencontre, tmr = undefined) {
|
||||
return rencontre.clone({
|
||||
@ -95,7 +98,7 @@ export class TMRRencontres {
|
||||
const filtreMauvaise = codeTerrain == 'mauvaise' ? it => it.system.mauvaiseRencontre : it => !it.system.mauvaiseRencontre;
|
||||
const frequence = it => it.system.frequence[codeTerrain];
|
||||
|
||||
const row = await this.table.getRandom(false, frequence, filtreMauvaise);
|
||||
const row = await this.table.getRandom(frequence, filtreMauvaise);
|
||||
if (row) {
|
||||
row.document = this.createRencontre(row.document, tmr);
|
||||
await this.$chatRolledRencontre(row, tmr);
|
||||
|
Reference in New Issue
Block a user