Support des sorts voies multiples

Si un sort (autre que détection/lecture/annulation) a plusieurs voies
(ie: Oniros/Hypnos), les voies draconiques sont proposées pour le sort
This commit is contained in:
Vincent Vandemeulebrouck 2024-11-24 23:04:56 +01:00
parent a91264cd82
commit 2291eaf135

View File

@ -16,15 +16,17 @@ const VOIES_DRACONIC = [
/* -------------------------------------------- */ /* -------------------------------------------- */
export class RdDItemSort extends Item { export class RdDItemSort extends Item {
static getDraconicsSort(draconicList, sort) { static getDraconicsSort(competencesDraconic, sort) {
// se baser sur la voie du sort?
switch (Grammar.toLowerCaseNoAccent(sort.name)) { switch (Grammar.toLowerCaseNoAccent(sort.name)) {
case "lecture d'aura": case "lecture d'aura":
case "detection d'aura": case "detection d'aura":
return draconicList; return competencesDraconic;
case "annulation de magie": case "annulation de magie":
return draconicList.filter(it => !RdDItemCompetence.isThanatos(it)); return competencesDraconic.filter(it => !RdDItemCompetence.isThanatos(it));
} }
return [RdDItemCompetence.getVoieDraconic(draconicList, sort.system.draconic)]; const voies = sort.system.draconic.split('/')
return voies.map(voie => RdDItemCompetence.getVoieDraconic(competencesDraconic, voie))
} }
static getOrdreCode(code) { static getOrdreCode(code) {
@ -47,7 +49,6 @@ export class RdDItemSort extends Item {
return voie?.code ?? sort.system.draconic return voie?.code ?? sort.system.draconic
} }
static $voiesConnues(voiesSort, voies) { static $voiesConnues(voiesSort, voies) {
const codes = voies.filter(it => voiesSort.includes(it)) const codes = voies.filter(it => voiesSort.includes(it))
.sort(Misc.ascending(it => RdDItemSort.getOrdreCode(it))) .sort(Misc.ascending(it => RdDItemSort.getOrdreCode(it)))