diff --git a/module/actor.js b/module/actor.js index c1ad3fe5..59dd385d 100644 --- a/module/actor.js +++ b/module/actor.js @@ -1353,6 +1353,18 @@ export class RdDActor extends Actor { return 1; } + /* -------------------------------------------- */ + isDoubleResistanceFleuve( ) { + let resistFleuve = this.data.items.find( item => item.type == 'souffle' && item.name.toLowerCase().includes( 'résistance du fleuve' ) ); + 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é.", + whisper: ChatMessage.getWhisperRecipients(game.user.name) } ); + return true; + } + return false; + } + /* -------------------------------------------- */ checkIsAdditionnalHumide( cellDescr ) { let pontHumide = this.data.items.find( item => item.type == 'souffle' && item.name.toLowerCase().includes( ' des ponts' ) ); diff --git a/module/rdd-tmr-dialog.js b/module/rdd-tmr-dialog.js index 826e37be..985ab5a4 100644 --- a/module/rdd-tmr-dialog.js +++ b/module/rdd-tmr-dialog.js @@ -342,7 +342,13 @@ export class RdDTMRDialog extends Dialog { const etatGeneral = this.actor.data.data.compteurs.etat.value let difficulte = draconic.data.niveau - 7; let rolled = await RdDResolutionTable.roll(carac, difficulte); - + + // Gestion du souffle Double Résistance du Fleuve + if ( this.actor.isDoubleResistanceFleuve() ) { + let rolled2 = await RdDResolutionTable.roll(carac, difficulte); + if (rolled2.isEchec) + rolled = rolled; + } console.log("manageCaseHumide >>", rolled); let explication = "";