Fix déplacement après réinsertion
On pouvait clicker sur les cases, jusqu'à tomber sur une case adjacente pour trouver son demi-rêve...
This commit is contained in:
parent
f41369a751
commit
31d97439d4
@ -62,7 +62,6 @@ export class RdDTMRDialog extends Dialog {
|
|||||||
this.pixiApp = new PIXI.Application({ width: 720, height: 860 });
|
this.pixiApp = new PIXI.Application({ width: 720, height: 860 });
|
||||||
|
|
||||||
this.pixiTMR = new PixiTMR(this, this.pixiApp);
|
this.pixiTMR = new PixiTMR(this, this.pixiApp);
|
||||||
this.cacheTMR = (game.user.isGM) ? false : actor.isTMRCache();
|
|
||||||
|
|
||||||
this.callbacksOnAnimate = [];
|
this.callbacksOnAnimate = [];
|
||||||
if (!this.viewOnly) {
|
if (!this.viewOnly) {
|
||||||
@ -73,6 +72,10 @@ export class RdDTMRDialog extends Dialog {
|
|||||||
this.pixiTMR.load((loader, resources) => this.createPixiSprites());
|
this.pixiTMR.load((loader, resources) => this.createPixiSprites());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
isDemiReveCache() {
|
||||||
|
return !game.user.isGM && this.actor.isTMRCache();
|
||||||
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
loadCasesSpeciales() {
|
loadCasesSpeciales() {
|
||||||
this.casesSpeciales = this.actor.data.items.filter(item => Draconique.isCaseTMR(item));
|
this.casesSpeciales = this.actor.data.items.filter(item => Draconique.isCaseTMR(item));
|
||||||
@ -153,11 +156,8 @@ export class RdDTMRDialog extends Dialog {
|
|||||||
|
|
||||||
_updateDemiReve() {
|
_updateDemiReve() {
|
||||||
this.notifierResonanceSigneDraconique(this._getActorCoord());
|
this.notifierResonanceSigneDraconique(this._getActorCoord());
|
||||||
|
|
||||||
if (!this.cacheTMR) {
|
|
||||||
this._setTokenPosition(this.demiReve);
|
this._setTokenPosition(this.demiReve);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
_getActorCoord() {
|
_getActorCoord() {
|
||||||
return Misc.data(this.actor).data.reve.tmrpos.coord;
|
return Misc.data(this.actor).data.reve.tmrpos.coord;
|
||||||
@ -252,7 +252,7 @@ export class RdDTMRDialog extends Dialog {
|
|||||||
ptsreve.innerHTML = actorData.data.reve.reve.value;
|
ptsreve.innerHTML = actorData.data.reve.reve.value;
|
||||||
|
|
||||||
let tmrpos = document.getElementById("tmr-pos");
|
let tmrpos = document.getElementById("tmr-pos");
|
||||||
if (this.cacheTMR) {
|
if (this.isDemiReveCache()) {
|
||||||
tmrpos.innerHTML = '?? (' + TMRUtility.getTMRType(coord) + ')';
|
tmrpos.innerHTML = '?? (' + TMRUtility.getTMRType(coord) + ')';
|
||||||
} else {
|
} else {
|
||||||
tmrpos.innerHTML = coord + " (" + TMRUtility.getTMRLabel(coord) + ")";
|
tmrpos.innerHTML = coord + " (" + TMRUtility.getTMRLabel(coord) + ")";
|
||||||
@ -542,7 +542,9 @@ export class RdDTMRDialog extends Dialog {
|
|||||||
if (rencontre) {
|
if (rencontre) {
|
||||||
return rencontre;
|
return rencontre;
|
||||||
}
|
}
|
||||||
let locTMR = (this.cacheTMR) ? Misc.upperFirst(tmr.type) + " ??" : tmr.label + " (" + tmr.coord + ")";
|
let locTMR = (this.isDemiReveCache()
|
||||||
|
? Misc.upperFirst(tmr.type) + " ??"
|
||||||
|
: tmr.label + " (" + tmr.coord + ")");
|
||||||
|
|
||||||
let myRoll = await RdDDice.rollTotal("1dt");
|
let myRoll = await RdDDice.rollTotal("1dt");
|
||||||
if (TMRUtility.isForceRencontre() || myRoll == 7) {
|
if (TMRUtility.isForceRencontre() || myRoll == 7) {
|
||||||
@ -872,6 +874,14 @@ export class RdDTMRDialog extends Dialog {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async _onClickTMRPos(clickOddq) {
|
async _onClickTMRPos(clickOddq) {
|
||||||
|
if (this.isDemiReveCache()) {
|
||||||
|
ui.notifications.error(`Vous ne connaissez plus votre position dans les TMR.
|
||||||
|
Vous devez utiliser les boutons de direction pour vous déplacer.
|
||||||
|
Une fois que vous aurez retrouvé votre demi-rêve, demandez au gardien de vérifier et rendre les TMR visibles.
|
||||||
|
`);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
let currentOddq = TMRUtility.coordTMRToOddq(this._getActorCoord());
|
let currentOddq = TMRUtility.coordTMRToOddq(this._getActorCoord());
|
||||||
|
|
||||||
console.log("deplacerDemiReve >>>>", currentOddq, clickOddq);
|
console.log("deplacerDemiReve >>>>", currentOddq, clickOddq);
|
||||||
@ -888,7 +898,7 @@ export class RdDTMRDialog extends Dialog {
|
|||||||
} else if (deplacementType == 'messager') { // Dans ce cas, ouverture du lancement de sort sur la case visée
|
} else if (deplacementType == 'messager') { // Dans ce cas, ouverture du lancement de sort sur la case visée
|
||||||
await this._messagerDemiReve(targetCoord);
|
await this._messagerDemiReve(targetCoord);
|
||||||
} else {
|
} else {
|
||||||
ui.notifications.error("Vous ne pouvez vous déplacer que sur des cases adjacentes à votre position ou valides dans le cas d'une rencontre");
|
ui.notifications.error("Vous ne pouvez pas vous déplacer que sur des cases adjacentes à votre position ou valides dans le cas d'une rencontre");
|
||||||
console.log("STATUS :", this.rencontreState, this.currentRencontre);
|
console.log("STATUS :", this.rencontreState, this.currentRencontre);
|
||||||
}
|
}
|
||||||
this.checkQuitterTMR();
|
this.checkQuitterTMR();
|
||||||
@ -923,7 +933,6 @@ export class RdDTMRDialog extends Dialog {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
externalRefresh(tmrData) {
|
externalRefresh(tmrData) {
|
||||||
this.cacheTMR = (game.user.isGM) ? false : this.actor.isTMRCache();
|
|
||||||
this.createPixiSprites();
|
this.createPixiSprites();
|
||||||
this.forceDemiRevePositionView();
|
this.forceDemiRevePositionView();
|
||||||
this.updateValuesDisplay();
|
this.updateValuesDisplay();
|
||||||
@ -1018,9 +1027,10 @@ export class RdDTMRDialog extends Dialog {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
_setTokenPosition(token) {
|
_setTokenPosition(token) {
|
||||||
if (!this.cacheTMR) {
|
if (this.isDemiReveCache() && this.demiReve === token ) {
|
||||||
this.pixiTMR.setPosition(token.sprite, TMRUtility.coordTMRToOddq(token.coordTMR()));
|
return;
|
||||||
}
|
}
|
||||||
|
this.pixiTMR.setPosition(token.sprite, TMRUtility.coordTMRToOddq(token.coordTMR()));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
|
Loading…
Reference in New Issue
Block a user