Fix: boutons pour réserve en sécurité

This commit is contained in:
Vincent Vandemeulebrouck 2023-03-24 21:25:07 +01:00
parent 9c85293714
commit 0aef139cf8
2 changed files with 28 additions and 9 deletions

View File

@ -286,7 +286,7 @@ export class RdDTMRDialog extends Dialog {
/* -------------------------------------------- */ /* -------------------------------------------- */
async onActionRencontre(action, tmr, rencontre) { async onActionRencontre(action, tmr, rencontre) {
if (!this.currentRencontre){ if (!this.currentRencontre) {
ui.notifications.warn("#612 Rencontre perdue, récupération en cours. Vous pouvez contacter l'équipe avec les logs pour aider à résoudre ce problème") ui.notifications.warn("#612 Rencontre perdue, récupération en cours. Vous pouvez contacter l'équipe avec les logs pour aider à résoudre ce problème")
console.error("#612 Rencontre perdue", action, tmr, rencontre, this); console.error("#612 Rencontre perdue", action, tmr, rencontre, this);
this.currentRencontre = rencontre; this.currentRencontre = rencontre;
@ -805,19 +805,21 @@ export class RdDTMRDialog extends Dialog {
/* -------------------------------------------- */ /* -------------------------------------------- */
async declencheSortEnReserve(coord) { async declencheSortEnReserve(coord) {
let sorts = this.getSortsReserve(coord); const sorts = this.getSortsReserve(coord);
if (sorts.length > 0) { if (sorts.length > 0) {
if (EffetsDraconiques.isSortReserveImpossible(this.actor)) { if (EffetsDraconiques.isSortReserveImpossible(this.actor)) {
ui.notifications.error("Une queue ou un souffle vous empèche de déclencher de sort!"); ui.notifications.error("Une queue ou un souffle vous empèche de déclencher de sort!");
return; return;
} }
if (!EffetsDraconiques.isUrgenceDraconique(this.actor) && const reserveSecurite = EffetsDraconiques.isReserveEnSecurite(this.actor);
(EffetsDraconiques.isReserveEnSecurite(this.actor) || this.isReserveExtensible(coord))) { const reserveExtensible = this.isReserveExtensible(coord);
let msg = "Vous êtes sur une case avec un Sort en Réserve. Grâce à votre Tête <strong>Reserve en Sécurité</strong> ou <strong>Réserve Exensible</strong>, vous pouvez contrôler le déclenchement. Cliquez si vous souhaitez le déclencher : <ul>"; if (!EffetsDraconiques.isUrgenceDraconique(this.actor) && (reserveSecurite || reserveExtensible)) {
for (let sort of sorts) { const msg = await renderTemplate(`systems/foundryvtt-reve-de-dragon/templates/chat-demande-declencher-sort.hbs`, {
msg += `<li><a class="chat-card-button declencher-sort-reserve" data-actor-id="${this.actor.id}" data-tmr-coord="${coord}" data-sort-id='${sort.id}">${sort.name}</a></li>`; actor: this.actor,
} sorts: sorts,
msg += "</ol>"; coord: coord,
tete: { reserveSecurite: reserveSecurite, reserveExtensible: reserveExtensible }
})
ChatMessage.create({ ChatMessage.create({
content: msg, content: msg,
whisper: ChatMessage.getWhisperRecipients(game.user.name) whisper: ChatMessage.getWhisperRecipients(game.user.name)

View File

@ -0,0 +1,17 @@
<p>
Vous êtes sur une case avec un Sort en Réserve. Grâce à votre Tête de Dragon
({{#if tete.reserveSecurite}}Réserve en sécurité{{/if}}
{{~#if tete.reserveExtensible}}{{#if tete.reserveSecurite}}, {{/if~}}
Réserve extensible
{{~/if}}), vous pouvez contrôler le déclenchement. Cliquez sur le sort que vous souhaitez déclencher en {{coord}} - {{caseTmr-label coord}}:
</p>
<ul>
{{#each sorts as |sort|}}
<li>
<a class="chat-card-button declencher-sort-reserve" data-actor-id="{{actor.id}}" data-tmr-coord="{{sort.system.coord}}" data-sort-id="{{sort.id}}">
{{sort.name}} (r{{sort.system.ptreve}})
</a>
{{#if sort.system.heurecible }} HN {{timestamp-imgSigneHeure sort.system.heurecible}}{{/if}}
</li>
{{/each}}
</ul>