forked from public/foundryvtt-reve-de-dragon
Message de confirmation rencontre TMR
Quand un haut-rêvant monte dans les TMR avec une rencontre en attente, un message est affiché pour demander confirmation
This commit is contained in:
@ -991,25 +991,33 @@ export class RdDActor extends RdDBaseActorSang {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
buildTMRInnaccessible() {
|
||||
const tmrInnaccessibles = this.filterItems(it => Draconique.isCaseTMR(it) &&
|
||||
EffetsDraconiques.isInnaccessible(it));
|
||||
return tmrInnaccessibles.map(it => it.system.coord);
|
||||
return this.items[TYPES.casetmr]
|
||||
.filter(it => EffetsDraconiques.isInnaccessible(it))
|
||||
.map(it => it.system.coord)
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
getTMRRencontres() {
|
||||
return this.itemTypes['rencontre'];
|
||||
getRencontresTMR() {
|
||||
return this.itemTypes[TYPES.rencontre];
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async deleteTMRRencontreAtPosition() {
|
||||
const demiReve = this.getDemiReve()
|
||||
let rencontreIds = this.items.filter(it => it.type == 'rencontre' && it.system.coord == demiReve).map(it => it.id);
|
||||
async deleteRencontreTMRAtPosition() {
|
||||
const rencontreIds = this.itemTypes[TYPES.rencontre].filter(this.filterRencontreTMRDemiReve()).map(it => it.id)
|
||||
if (rencontreIds.length > 0) {
|
||||
await this.deleteEmbeddedDocuments('Item', rencontreIds);
|
||||
await this.deleteEmbeddedDocuments('Item', rencontreIds)
|
||||
}
|
||||
}
|
||||
|
||||
getRencontreTMREnAttente() {
|
||||
return this.itemTypes[TYPES.rencontre].find(this.filterRencontreTMRDemiReve())
|
||||
}
|
||||
|
||||
filterRencontreTMRDemiReve() {
|
||||
const position = this.getDemiReve()
|
||||
return it => it.system.coord == position
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async addTMRRencontre(currentRencontre) {
|
||||
const toCreate = currentRencontre.toObject();
|
||||
@ -2423,22 +2431,29 @@ export class RdDActor extends RdDBaseActorSang {
|
||||
/* -------------------------------------------- */
|
||||
async displayTMR(mode = "normal") {
|
||||
if (this.tmrApp) {
|
||||
ui.notifications.warn("Vous êtes déja dans les TMR....");
|
||||
this.tmrApp.forceTMRDisplay();
|
||||
ui.notifications.warn("Vous êtes déja dans les TMR....")
|
||||
this.tmrApp.forceTMRDisplay()
|
||||
return
|
||||
}
|
||||
if (mode != 'visu' && this.getEffect(STATUSES.StatusDemiReve)) {
|
||||
ui.notifications.warn("Le joueur ou le MJ est déja dans les Terres Médianes avec ce personnage ! Visualisation uniquement");
|
||||
ui.notifications.warn("Les personnage est déjà dans les Terres Médianes, elles s'affichent en visualisation")
|
||||
mode = "visu"; // bascule le mode en visu automatiquement
|
||||
}
|
||||
RdDConfirm.confirmer({
|
||||
bypass: mode == 'visu',
|
||||
settingConfirmer: "confirmation-tmr",
|
||||
content: `<p>Voulez vous monter dans les TMR en mode ${mode}?</p>`,
|
||||
title: 'Confirmer la montée dans les TMR',
|
||||
buttonLabel: 'Monter dans les TMR',
|
||||
onAction: async () => await this._doDisplayTMR(mode)
|
||||
});
|
||||
if (mode == 'visu') {
|
||||
await this._doDisplayTMR(mode)
|
||||
}
|
||||
else {
|
||||
const rencontre = this.getRencontreTMREnAttente();
|
||||
const settingConfirmer = rencontre ? "confirmation-tmr-rencontre" : "confirmation-tmr";
|
||||
const messageRencontre = rencontre ? `<p>Vous devrez combattre ${rencontre.system.genre == 'f' ? 'la' : 'le'} ${rencontre.name} de ${rencontre.system.force} points de Rêve</p>` : '';
|
||||
RdDConfirm.confirmer({
|
||||
settingConfirmer: settingConfirmer,
|
||||
content: `<p>Voulez vous monter dans les TMR en mode ${mode}?</p>` + messageRencontre,
|
||||
title: 'Confirmer la montée dans les TMR',
|
||||
buttonLabel: 'Monter dans les TMR',
|
||||
onAction: async () => await this._doDisplayTMR(mode)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
async _doDisplayTMR(mode) {
|
||||
|
Reference in New Issue
Block a user