Extraction méthodes identification items

Pour savoir si certaines queues/souffles sont là et rendre
le code plus lisible
This commit is contained in:
Vincent Vandemeulebrouck 2021-02-05 23:51:12 +01:00
parent 48688fc453
commit a2ec26c4c0
3 changed files with 13 additions and 6 deletions

View File

@ -1762,7 +1762,7 @@ export class RdDActor extends Actor {
/* -------------------------------------------- */
isRencontreSpeciale() { // Gestion queue/souffle 'Mauvaise Rencontre en Perpective'
let addMsg = "";
let rencSpecial = this.data.items.find(item => (item.type == 'queue' || item.type == 'souffle') && item.name.toLowerCase().includes('mauvaise rencontre'));
let rencSpecial = this.data.items.find(item => RdDItem.isMauvaiseRencontreEnPerspective(item));
if (rencSpecial) {
rencSpecial = duplicate(rencSpecial); // To keep it
if (rencSpecial.type == 'queue') {
@ -1805,7 +1805,7 @@ export class RdDActor extends Actor {
/* -------------------------------------------- */
isDoubleResistanceFleuve() {
let resistFleuve = this.data.items.find(item => item.type == 'souffle' && item.name.toLowerCase().includes('résistance du fleuve'));
let resistFleuve = this.data.items.find(item => RdDItem.isDoubleResistanceFleuve(item));
if (resistFleuve) {
ChatMessage.create({
content: "Vous êtes sous le coup d'une Double Résistance du Fleuve : vous devez maîtriser 2 fois chaque case humide, un second jet est donc effectué.",
@ -1839,7 +1839,7 @@ export class RdDActor extends Actor {
/* -------------------------------------------- */
isCaseHumideAdditionelle(tmr) {
if (tmr.type == 'pont' && this.data.items.find(it => RdDItem.isSoufflePontImpraticable(it))) {
if (tmr.type == 'pont' && this.data.items.find(it => RdDItem.isPontImpraticable(it))) {
ChatMessage.create({
content: tmr.label +": Vous êtes sous le coup d'une Impraticabilité des Ponts : ce pont doit être maîtrisé comme une case humide.",
whisper: ChatMessage.getWhisperRecipients(game.user.name)

View File

@ -3,16 +3,23 @@ import { Misc } from "./misc.js";
/* -------------------------------------------- */
export class RdDItem {
static isSoufflePontImpraticable(item) {
static isPontImpraticable(item) {
return item.type == 'souffle' && item.name.toLowerCase().includes(' des ponts');
}
static isDoubleResistanceFleuve(item) {
return item.type == 'souffle' && item.name.toLowerCase().includes('résistance du fleuve')
}
static isCaseInnondee(item) {
return RdDItem.isCaseTMR(item) && item.data.specific == 'debordement';
}
static isCaseTMR(item) {
return item.type == 'casetmr';
}
static isMauvaiseRencontreEnPerspective(item) {
return (item.type == 'queue' || item.type == 'ombre' || item.type == 'souffle') && item.name.toLowerCase().includes('mauvaise rencontre')
}
}

View File

@ -37,7 +37,7 @@ export class RdDTMRRencontreDialog extends Dialog {
this.postRencontre();
}
onButtonFuir(action) {
async onButtonFuir(action) {
this.toClose = true;
await action();
}