pelerinage

+ suppression des cases quand le souffle/queue sont supprimés
This commit is contained in:
Vincent Vandemeulebrouck
2021-02-12 18:31:49 +01:00
parent b469461cf6
commit 4f35b28aa1
22 changed files with 431 additions and 183 deletions

View File

@ -13,7 +13,7 @@ import { Draconique } from "./draconique.js";
import { PresentCites } from "./present-cites.js";
import { Desorientation } from "./desorientation.js";
import { Conquete } from "./conquete.js";
import { Pelerinage } from "./pelerinage.js";
export class EffetsDraconiques {
@ -31,6 +31,7 @@ export class EffetsDraconiques {
static pontImpraticable = new PontImpraticable();
static desorientation = new Desorientation();
static conquete = new Conquete();
static pelerinage = new Pelerinage();
static init() {
Draconique.register(EffetsDraconiques.carteTmr);
@ -47,6 +48,7 @@ export class EffetsDraconiques {
Draconique.register(EffetsDraconiques.presentCites);
Draconique.register(EffetsDraconiques.desorientation);
Draconique.register(EffetsDraconiques.conquete);
Draconique.register(EffetsDraconiques.pelerinage);
}
/* -------------------------------------------- */
@ -59,10 +61,15 @@ export class EffetsDraconiques {
return EffetsDraconiques.trouNoir.isCase(caseTMR, coord) ||
EffetsDraconiques.desorientation.isCase(caseTMR, coord);
}
static isCaseTrouNoir(caseTMR, coord) {
return EffetsDraconiques.trouNoir.isCase(caseTMR, coord);
}
static isCasePelerinage(caseTMR, coord) {
return EffetsDraconiques.pelerinage.isCase(caseTMR, coord);
}
static isReserveExtensible(caseTMR, coord) {
return EffetsDraconiques.reserveExtensible.isCase(caseTMR, coord);
}
@ -114,12 +121,16 @@ export class EffetsDraconiques {
}
/* -------------------------------------------- */
static isSortImpossible(element) {
return EffetsDraconiques.isMatching(element, it => EffetsDraconiques.conquete.match(it) || EffetsDraconiques.pelerinage.match(it));
}
static isConquete(element) {
return EffetsDraconiques.isMatching(element, it => EffetsDraconiques.conquete.match(it));
}
static isPelerinage(element) {
return EffetsDraconiques.isMatching(element, it => Draconique.isQueueDragon(it) && it.name.toLowerCase() == 'pélerinage');
return EffetsDraconiques.isMatching(element, it => EffetsDraconiques.pelerinage.match(it));
}
static countInertieDraconique(element) {