Fix: sorts contenant des apostrophes
Le caractère utilisé dans le texte n'est pas l'apostrophe simple informatique (utilisé dans les compendiums), et pas transformé par toLowerCaseNoAccent...
This commit is contained in:
parent
417db33752
commit
57d35a0f9a
@ -22,8 +22,8 @@ const compParser = {
|
||||
entite: XREGEXP_COMP_CREATURE
|
||||
}
|
||||
|
||||
const XREGEXP_SORT_VOIE = "[OHNT\\/]+"
|
||||
const XREGEXP_SORT_NAME = "(?<name>[A-Za-zÀ-ÖØ-öø-ÿ\\s\\-']+)"
|
||||
const XREGEXP_SORT_VOIE = "(?<voies>[OHNT](\\/[OHNT])*)"
|
||||
const XREGEXP_SORT_NAME = "(?<name>[^\\(]+)"
|
||||
const XREGEXP_SORT_CASE = "\\((?<case>[A-Za-zÀ-ÖØ-öø-ÿ\\s\\-]+)\\)";
|
||||
|
||||
const XREGEXP_SORT = "(" + XREGEXP_SORT_VOIE
|
||||
@ -216,7 +216,7 @@ export class RdDStatBlockParser {
|
||||
|
||||
|
||||
if (type == "personnage") {
|
||||
await RdDStatBlockParser.parseHautReve(statString, items);
|
||||
await RdDStatBlockParser.parseHautReve(statString, actorData, items);
|
||||
RdDStatBlockParser.parsePersonnage(statString, actorData);
|
||||
}
|
||||
|
||||
@ -228,7 +228,7 @@ export class RdDStatBlockParser {
|
||||
console.log(actorData);
|
||||
}
|
||||
|
||||
static async parseHautReve(statString, items) {
|
||||
static async parseHautReve(statString, actorData, items) {
|
||||
let hautRevant = false;
|
||||
// Attemp to detect spell
|
||||
let sorts = await SystemCompendiums.getWorldOrCompendiumItems("sort", "sorts-oniros");
|
||||
@ -236,9 +236,10 @@ export class RdDStatBlockParser {
|
||||
sorts = sorts.concat(await SystemCompendiums.getWorldOrCompendiumItems("sort", "sorts-narcos"));
|
||||
sorts = sorts.concat(await SystemCompendiums.getWorldOrCompendiumItems("sort", "sorts-thanatos"));
|
||||
|
||||
XRegExp.forEach(statString, XRegExp(XREGEXP_SORT, 'giu'),
|
||||
XRegExp.forEach(statString, XRegExp(XREGEXP_SORT, 'gu' /* keep case sensitive to match the spell draconic skill */),
|
||||
function (matchSort, i) {
|
||||
let sort = sorts.find(s => Grammar.equalsInsensitive(s.name, matchSort.name));
|
||||
const sortName = Grammar.toLowerCaseNoAccent(matchSort.name).trim().replace("’", "'");
|
||||
let sort = sorts.find(s => Grammar.toLowerCaseNoAccent(s.name) == sortName)
|
||||
if (sort) {
|
||||
hautRevant = true;
|
||||
sort = sort.toObject();
|
||||
@ -247,6 +248,10 @@ export class RdDStatBlockParser {
|
||||
}
|
||||
items.push(sort);
|
||||
}
|
||||
else{
|
||||
ui.notifications.warn(`Impossible de trouver le sort ${matchSort.name} / ${sortName}`)
|
||||
console.warn(`Impossible de trouver le sort ${matchSort.name} / ${sortName}`)
|
||||
}
|
||||
});
|
||||
|
||||
if (hautRevant) {
|
||||
|
Loading…
Reference in New Issue
Block a user