#90 : Gestion du debordement
This commit is contained in:
parent
557bb3a7d7
commit
c2e984d700
@ -1381,7 +1381,7 @@ export class RdDActor extends Actor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
checkIsAdditionnalHumide( cellDescr ) {
|
checkIsAdditionnalHumide( cellDescr, coordTMR) {
|
||||||
let pontHumide = this.data.items.find( item => item.type == 'souffle' && item.name.toLowerCase().includes( ' des ponts' ) );
|
let pontHumide = this.data.items.find( item => item.type == 'souffle' && item.name.toLowerCase().includes( ' des ponts' ) );
|
||||||
if ( pontHumide && cellDescr.type == 'pont') {
|
if ( pontHumide && cellDescr.type == 'pont') {
|
||||||
ChatMessage.create( {
|
ChatMessage.create( {
|
||||||
@ -1389,6 +1389,13 @@ export class RdDActor extends Actor {
|
|||||||
whisper: ChatMessage.getWhisperRecipients(game.user.name) } );
|
whisper: ChatMessage.getWhisperRecipients(game.user.name) } );
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
// Débordement ?
|
||||||
|
let debordementList = this.data.items.filter( item => item.type == 'casetmr' && item.data.specific == 'debordement' );
|
||||||
|
for (let caseTMR of debordementList) {
|
||||||
|
if ( caseTMR.data.coord == coordTMR )
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -78,6 +78,8 @@ export class RdDTMRDialog extends Dialog {
|
|||||||
this._trackToken(this._tokenTrouNoir( caseTMR.data.coord ));
|
this._trackToken(this._tokenTrouNoir( caseTMR.data.coord ));
|
||||||
} else if ( caseTMR.data.specific == 'attache') {
|
} else if ( caseTMR.data.specific == 'attache') {
|
||||||
this._trackToken(this._tokenTerreAttache( caseTMR.data.coord ));
|
this._trackToken(this._tokenTerreAttache( caseTMR.data.coord ));
|
||||||
|
} else if ( caseTMR.data.specific == 'debordement') {
|
||||||
|
this._trackToken(this._tokenDebordement( caseTMR.data.coord ));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -331,7 +333,7 @@ export class RdDTMRDialog extends Dialog {
|
|||||||
refoulement.innerHTML = this.actor.data.data.reve.refoulement.value;
|
refoulement.innerHTML = this.actor.data.data.reve.refoulement.value;
|
||||||
|
|
||||||
let fatigueItem = document.getElementById("tmr-fatigue-table");
|
let fatigueItem = document.getElementById("tmr-fatigue-table");
|
||||||
console.log("Refresh : ", this.actor.data.data.sante.fatigue.value);
|
//console.log("Refresh : ", this.actor.data.data.sante.fatigue.value);
|
||||||
fatigueItem.innerHTML = "<table class='table-fatigue'>" + RdDUtility.makeHTMLfatigueMatrix(this.actor.data.data.sante.fatigue.value, this.actor.data.data.sante.endurance.max).html() + "</table>";
|
fatigueItem.innerHTML = "<table class='table-fatigue'>" + RdDUtility.makeHTMLfatigueMatrix(this.actor.data.data.sante.fatigue.value, this.actor.data.data.sante.endurance.max).html() + "</table>";
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -359,11 +361,11 @@ export class RdDTMRDialog extends Dialog {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async manageCaseHumide(cellDescr) {
|
async manageCaseHumide(cellDescr, coordTMR) {
|
||||||
if (this.viewOnly) {
|
if (this.viewOnly) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
let isHumide = this.actor.checkIsAdditionnalHumide(cellDescr);
|
let isHumide = this.actor.checkIsAdditionnalHumide(cellDescr, coordTMR);
|
||||||
if (cellDescr.type == "lac" || cellDescr.type == "fleuve" || cellDescr.type == "marais" || isHumide) {
|
if (cellDescr.type == "lac" || cellDescr.type == "fleuve" || cellDescr.type == "marais" || isHumide) {
|
||||||
// TODO: permettre de choisir la voie de draconic?
|
// TODO: permettre de choisir la voie de draconic?
|
||||||
let draconic = this.actor.getBestDraconic();
|
let draconic = this.actor.getBestDraconic();
|
||||||
@ -558,7 +560,7 @@ export class RdDTMRDialog extends Dialog {
|
|||||||
if ( deplacementType == 'normal') { // Pas de rencontres après un saut de type passeur/changeur/...
|
if ( deplacementType == 'normal') { // Pas de rencontres après un saut de type passeur/changeur/...
|
||||||
await myself.manageRencontre(coordTMR, cellDescr);
|
await myself.manageRencontre(coordTMR, cellDescr);
|
||||||
}
|
}
|
||||||
await myself.manageCaseHumide(cellDescr);
|
await myself.manageCaseHumide(cellDescr, coordTMR);
|
||||||
await myself.declencheSortEnReserve(coordTMR);
|
await myself.declencheSortEnReserve(coordTMR);
|
||||||
await myself.actor.checkSoufflePeage(cellDescr);
|
await myself.actor.checkSoufflePeage(cellDescr);
|
||||||
|
|
||||||
@ -585,7 +587,7 @@ export class RdDTMRDialog extends Dialog {
|
|||||||
this._updateDemiReve(this);
|
this._updateDemiReve(this);
|
||||||
let cellDescr = TMRUtility.getTMRDescription(coordTMR);
|
let cellDescr = TMRUtility.getTMRDescription(coordTMR);
|
||||||
await this.manageRencontre(coordTMR, cellDescr);
|
await this.manageRencontre(coordTMR, cellDescr);
|
||||||
this.manageCaseHumide(cellDescr);
|
this.manageCaseHumide(cellDescr, coordTMR);
|
||||||
await this.declencheSortEnReserve(coordTMR);
|
await this.declencheSortEnReserve(coordTMR);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -644,9 +646,10 @@ export class RdDTMRDialog extends Dialog {
|
|||||||
let addMonteLaborieuse = this.actor.checkMonteeLaborieuse();
|
let addMonteLaborieuse = this.actor.checkMonteeLaborieuse();
|
||||||
await this.actor.reveActuelIncDec( (this.tmrdata.isRapide) ? -2-addMonteLaborieuse : -1-addMonteLaborieuse );
|
await this.actor.reveActuelIncDec( (this.tmrdata.isRapide) ? -2-addMonteLaborieuse : -1-addMonteLaborieuse );
|
||||||
this.updateValuesDisplay();
|
this.updateValuesDisplay();
|
||||||
let cellDescr = TMRUtility.getTMRDescription(this.actor.data.data.reve.tmrpos.coord);
|
let coordTMR = this.actor.data.data.reve.tmrpos.coord;
|
||||||
await this.manageRencontre(this.actor.data.data.reve.tmrpos.coord, cellDescr);
|
let cellDescr = TMRUtility.getTMRDescription(coordTMR);
|
||||||
this.manageCaseHumide(cellDescr);
|
await this.manageRencontre(coordTMR, cellDescr);
|
||||||
|
this.manageCaseHumide(cellDescr, coordTMR);
|
||||||
// Mise à jour du nb de cases de Fatigue
|
// Mise à jour du nb de cases de Fatigue
|
||||||
this.nbFatigue = this.actor.getTMRFatigue();
|
this.nbFatigue = this.actor.getTMRFatigue();
|
||||||
this.actor.displayTMRQueueSouffleInformation();
|
this.actor.displayTMRQueueSouffleInformation();
|
||||||
@ -697,6 +700,19 @@ export class RdDTMRDialog extends Dialog {
|
|||||||
return { sprite: sprite, coordTMR: () => coord }
|
return { sprite: sprite, coordTMR: () => coord }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
_tokenDebordement( coord ) {
|
||||||
|
let sprite = new PIXI.Graphics();
|
||||||
|
sprite.beginFill(0x0101FE, 0.3);
|
||||||
|
sprite.drawCircle(0, 0, (tmrConstants.cellw / 2) - 2);
|
||||||
|
sprite.endFill();
|
||||||
|
sprite.decallage = {
|
||||||
|
x: 0,
|
||||||
|
y: 2
|
||||||
|
}
|
||||||
|
return { sprite: sprite, coordTMR: () => coord }
|
||||||
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
_tokenTerreAttache(coord) {
|
_tokenTerreAttache(coord) {
|
||||||
let sprite = new PIXI.Graphics();
|
let sprite = new PIXI.Graphics();
|
||||||
|
@ -253,7 +253,7 @@ const rencontresTable = [
|
|||||||
]
|
]
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
const caseSpecificModes = [ "attache", "trounoir", "humide", "reserve_extensible", "maitrisee", "debordement" ];
|
const caseSpecificModes = [ "attache", "trounoir", "debordement", "reserve_extensible", "maitrisee", "debordement" ];
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
const tmrMovePattern =
|
const tmrMovePattern =
|
||||||
|
Loading…
Reference in New Issue
Block a user