diff --git a/module/actor-sheet.js b/module/actor-sheet.js
index 8e1fc851..64000d44 100644
--- a/module/actor-sheet.js
+++ b/module/actor-sheet.js
@@ -327,7 +327,7 @@ export class RdDActorSheet extends ActorSheet {
this.actor.reinsertionAleatoire("Action MJ");
});
html.find('.afficher-tmr').click(async event => {
- this.actor.afficheTMRetMessage();
+ this.actor.changeTMRVisible();
});
// Points de reve actuel
diff --git a/module/actor.js b/module/actor.js
index 9ad0b47b..9f87ef5d 100644
--- a/module/actor.js
+++ b/module/actor.js
@@ -1486,12 +1486,16 @@ export class RdDActor extends Actor {
}
/* -------------------------------------------- */
- async cacheTMR() {
- await this.update({ 'system.reve.tmrpos.cache': true });
+ /* -------------------------------------------- */
+ async changeTMRVisible() {
+ await this.setTMRVisible(this.system.reve.tmrpos.cache ? true : false);
}
- async montreTMR() {
- await this.update({ 'system.reve.tmrpos.cache': false });
+
+ async setTMRVisible(newState) {
+ await this.update({ 'system.reve.tmrpos.cache': !newState });
+ this.notifyRefreshTMR();
}
+
isTMRCache() {
return this.system.reve.tmrpos.cache;
}
@@ -1505,11 +1509,6 @@ export class RdDActor extends Actor {
});
}
- /* -------------------------------------------- */
- async afficheTMRetMessage() {
- await this.montreTMR();
- this.notifyRefreshTMR();
- }
/* -------------------------------------------- */
async reinsertionAleatoire(raison, accessible = tmr => true) {
@@ -1524,7 +1523,7 @@ export class RdDActor extends Actor {
}
async forcerPositionTMRInconnue(tmr) {
- await this.cacheTMR();
+ await this.setTMRVisible(false);
await this.updateCoordTMR(tmr.coord);
this.notifyRefreshTMR();
}
diff --git a/module/rdd-tmr-dialog.js b/module/rdd-tmr-dialog.js
index 7d7d03d0..53557756 100644
--- a/module/rdd-tmr-dialog.js
+++ b/module/rdd-tmr-dialog.js
@@ -158,7 +158,7 @@ export class RdDTMRDialog extends Dialog {
}
_tokenDemiReve() {
- return EffetsDraconiques.demiReve.token(this.pixiTMR, this.actor.system, () => this.actor.system.reve.tmrpos.coord);
+ return EffetsDraconiques.demiReve.token(this.pixiTMR, this.actor, () => this.actor.system.reve.tmrpos.coord);
}
forceDemiRevePositionView() {
@@ -625,16 +625,16 @@ export class RdDTMRDialog extends Dialog {
/* -------------------------------------------- */
isCaseHumide(tmr) {
if (!(TMRUtility.isCaseHumide(tmr) || this.isCaseHumideAdditionelle(tmr))) {
- return undefined;
+ return false;
}
if (this.isCaseMaitrisee(tmr.coord)) {
ChatMessage.create({
content: tmr.label + ": cette case humide est déja maitrisée grâce à votre Tête Quête des Eaux",
whisper: ChatMessage.getWhisperRecipients(game.user.name)
});
- return undefined;
+ return false;
}
- return -7;
+ return true;
}
/* -------------------------------------------- */
@@ -878,11 +878,13 @@ export class RdDTMRDialog extends Dialog {
if (this.isDemiReveCache()) {
if (this.isTerreAttache(targetCoord)
- || (this.isCaseHumide(currentCoord) && this.isCaseHumide(targetCoord))
+ || this.isConnaissanceFleuve(currentCoord, targetCoord)
|| deplacementType == 'changeur')
{
// déplacement possible
- await this.actor.montreTMR();
+ await this.actor.setTMRVisible(true);
+ this.demiReve = this._tokenDemiReve();
+ this._trackToken(this.demiReve);
}
else
{
diff --git a/templates/actor/haut-revant.html b/templates/actor/haut-revant.html
index bee5f0ed..3f626600 100644
--- a/templates/actor/haut-revant.html
+++ b/templates/actor/haut-revant.html
@@ -4,7 +4,9 @@
Ré-insertion aléatoire (ie TMR cachée)
- Montrer les TMR
+
+ {{#if hautreve.cacheTMR}}Montrer les TMR{{else}}Cacher les TMR{{/if}}
+
{{/if}}