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' isRencontreSpeciale() { // Gestion queue/souffle 'Mauvaise Rencontre en Perpective'
let addMsg = ""; 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) { if (rencSpecial) {
rencSpecial = duplicate(rencSpecial); // To keep it rencSpecial = duplicate(rencSpecial); // To keep it
if (rencSpecial.type == 'queue') { if (rencSpecial.type == 'queue') {
@ -1805,7 +1805,7 @@ export class RdDActor extends Actor {
/* -------------------------------------------- */ /* -------------------------------------------- */
isDoubleResistanceFleuve() { 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) { if (resistFleuve) {
ChatMessage.create({ 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é.", 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) { 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({ 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.", 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) whisper: ChatMessage.getWhisperRecipients(game.user.name)

View File

@ -3,16 +3,23 @@ import { Misc } from "./misc.js";
/* -------------------------------------------- */ /* -------------------------------------------- */
export class RdDItem { export class RdDItem {
static isSoufflePontImpraticable(item) { static isPontImpraticable(item) {
return item.type == 'souffle' && item.name.toLowerCase().includes(' des ponts'); 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) { static isCaseInnondee(item) {
return RdDItem.isCaseTMR(item) && item.data.specific == 'debordement'; return RdDItem.isCaseTMR(item) && item.data.specific == 'debordement';
} }
static isCaseTMR(item) { static isCaseTMR(item) {
return item.type == 'casetmr'; 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(); this.postRencontre();
} }
onButtonFuir(action) { async onButtonFuir(action) {
this.toClose = true; this.toClose = true;
await action(); await action();
} }