Amélioration /tmrr

- support des mauvaises rencontres avec /tmrr Mauvaise
- recherche "intelligente": /tmrr ci pour lancer une rencontre en cité
This commit is contained in:
Vincent Vandemeulebrouck
2022-11-17 01:22:45 +01:00
parent 8b6abcc8bb
commit c8526a2270
2 changed files with 22 additions and 11 deletions

View File

@ -15,21 +15,15 @@ export class TMRRencontres {
* @param {*} forcedRoll
*/
static async rollRencontre(terrain, forcedRoll) {
// TODO: recherche parmi les types de terrains + mauvaise, rejet si plusieurs choix
const codeTerrain = Grammar.toLowerCaseNoAccent(terrain);
if (!terrain) {
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;
terrain = TMRUtility.findTMRLike(terrain);
if (terrain == undefined) {
return undefined;
}
if (forcedRoll && (forcedRoll <= 0 || forcedRoll > 100)) {
forcedRoll = undefined;
}
const codeTerrain = Grammar.toLowerCaseNoAccent(terrain)
const table = await TMRRencontres.$buildTableRencontre(codeTerrain);
const [selected, roll] = await TMRRencontres.$selectRencontre(codeTerrain, table, forcedRoll);
const rencontre = await TMRRencontres.createRencontre(selected.rencontre);
@ -40,7 +34,7 @@ export class TMRRencontres {
/* -------------------------------------------- */
static async $buildTableRencontre(codeTerrain) {
let max = 0;
const items = await SystemCompendiums.getItems('rencontres');
const items = await SystemCompendiums.getItems('rencontres', 'rencontre');
const filtreMauvaise = codeTerrain == 'mauvaise' ? it => it.system.mauvaiseRencontre : it => !it.system.mauvaiseRencontre;
const rencontres = items.filter(it => it.type == 'rencontre')
.filter(filtreMauvaise)