Montrer/cacher les TMR

Le bouton "Montrer les TMR" devient "Cacher les TMR"/"Montrer les TMR"
selon qu'elles sont visibles ou pas

Lors de l'utilisation d'une terre d'attache, c'un changeur ou de la
connaissance du fleuve, le demi-rêve redevient visible
This commit is contained in:
Vincent Vandemeulebrouck 2022-09-30 01:55:04 +02:00
parent 0cc6b1de98
commit d25c6b7f1c
4 changed files with 21 additions and 18 deletions

View File

@ -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

View File

@ -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();
}

View File

@ -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 <strong>Quête des Eaux</strong>",
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
{

View File

@ -4,7 +4,9 @@
<a class="chat-card-button forcer-tmr-aleatoire">Ré-insertion aléatoire (ie TMR cachée)</a>
</span>
<span>
<a class="chat-card-button afficher-tmr">Montrer les TMR</a>
<a class="chat-card-button afficher-tmr">
{{#if hautreve.cacheTMR}}Montrer les TMR{{else}}Cacher les TMR{{/if}}
</a>
</span>
</li>
{{/if}}