Fix /astro avec ou sans accents

This commit is contained in:
Vincent Vandemeulebrouck 2021-01-26 19:47:18 +01:00
parent 99183be4cb
commit 8db6313574
4 changed files with 20 additions and 7 deletions

View File

@ -12,7 +12,12 @@ export class Grammar {
} }
return article + ' ' + word; return article + ' ' + word;
} }
static startsWithVoyel(word) { static startsWithVoyel(word) {
return word.match(/^[aeiouy]/i) return word.match(/^[aeiouy]/i)
} }
static toLowerCaseNoAccent(words) {
return words?.toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g, "") ?? words;
}
} }

View File

@ -4,6 +4,7 @@ import { RdDAstrologieEditeur } from "./rdd-astrologie-editeur.js";
import { HtmlUtility } from "./html-utility.js"; import { HtmlUtility } from "./html-utility.js";
import { RdDResolutionTable } from "./rdd-resolution-table.js"; import { RdDResolutionTable } from "./rdd-resolution-table.js";
import { RdDUtility } from "./rdd-utility.js"; import { RdDUtility } from "./rdd-utility.js";
import { Grammar } from "./grammar.js";
/* -------------------------------------------- */ /* -------------------------------------------- */
const dossierIconesHeures = 'systems/foundryvtt-reve-de-dragon/icons/heures/' const dossierIconesHeures = 'systems/foundryvtt-reve-de-dragon/icons/heures/'
@ -274,8 +275,9 @@ export class RdDCalendrier extends Application {
/* -------------------------------------------- */ /* -------------------------------------------- */
getAjustementAstrologique(heureNaissance, name='inconnu') getAjustementAstrologique(heureNaissance, name='inconnu')
{ {
if (heureNaissance && heuresDef[heureNaissance]) { let heure = Grammar.toLowerCaseNoAccent(heureNaissance);
let hn = heuresDef[heureNaissance].heure; if (heure && heuresDef[heure]) {
let hn = heuresDef[heure].heure;
let chiffreAstral = this.getCurrentNombreAstral(); let chiffreAstral = this.getCurrentNombreAstral();
let heureCourante = this.calendrier.heureRdD; let heureCourante = this.calendrier.heureRdD;
let ecartChance = (hn + chiffreAstral - heureCourante)%12; let ecartChance = (hn + chiffreAstral - heureCourante)%12;

View File

@ -926,11 +926,16 @@ export class RdDUtility {
/* -------------------------------------------- */ /* -------------------------------------------- */
static afficherHeuresChanceMalchance( heureNaissance ) { static afficherHeuresChanceMalchance( heureNaissance ) {
let ajustement = game.system.rdd.calendrier.getAjustementAstrologique(heureNaissance.toLowerCase()); if (heureNaissance) {
let ajustement = game.system.rdd.calendrier.getAjustementAstrologique(heureNaissance);
ChatMessage.create( { ChatMessage.create( {
content: `Pour l'heure ${game.system.rdd.calendrier.getCurrentHeure()}, le modificateur de Chance/Malchance est de : ${ajustement}.`, content: `A l'heure ${game.system.rdd.calendrier.getCurrentHeure()}, le modificateur de Chance/Malchance pour l'heure de naissance ${heureNaissance} est de : ${ajustement}.`,
whisper: ChatMessage.getWhisperRecipients("MJ") whisper: ChatMessage.getWhisperRecipients("MJ")
} ); } );
} }
else{
ui.notifications.warn("Pas d'heure de naissance selectionnée")
}
}
} }

View File

@ -1,4 +1,5 @@
import { DeDraconique } from "./de-draconique.js"; import { DeDraconique } from "./de-draconique.js";
import { Grammar } from "./grammar.js";
/* -------------------------------------------- */ /* -------------------------------------------- */
const TMRMapping = { const TMRMapping = {
@ -383,7 +384,7 @@ export class TMRUtility {
roll = new Roll("1d100").roll().total; roll = new Roll("1d100").roll().total;
console.log("rencontreTMRTypeCase", roll); console.log("rencontreTMRTypeCase", roll);
} }
typeTMR = typeTMR.toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g, ""); typeTMR = Grammar.toLowerCaseNoAccent(typeTMR);
for( let rencontre of rencontresTable) { for( let rencontre of rencontresTable) {
console.log("TMR !!!", typeTMR, roll); console.log("TMR !!!", typeTMR, roll);
let scoreDef = rencontre.data[typeTMR]; let scoreDef = rencontre.data[typeTMR];