Fix appel au moral
Maintenant géré pour les cas autres qu'un jet de compétence pur: - attaque/défense - tâches - carac pure - arts - jeu Message à la 2ème personne, la 3eme est utilisée juste pour le "titre" des messages
This commit is contained in:
parent
1de15d0b32
commit
396f73ec22
@ -1708,7 +1708,7 @@ export class RdDActor extends Actor {
|
|||||||
createCallbackAppelAuMoral() { /* Si l'appel au moral est utilisé, on l'affiche dans le chat et on diminue éventuellement le moral */
|
createCallbackAppelAuMoral() { /* Si l'appel au moral est utilisé, on l'affiche dans le chat et on diminue éventuellement le moral */
|
||||||
return {
|
return {
|
||||||
condition: r => r.use.appelAuMoral && game.settings.get("core", "rollMode") != 'selfroll',
|
condition: r => r.use.appelAuMoral && game.settings.get("core", "rollMode") != 'selfroll',
|
||||||
action: r => { this.displayAppelAuMoral ; this._appliquerAppelMoral(r, game.settings.get("core", "rollMode") != 'blindroll') }
|
action: r => this._appliquerAppelMoral(r)
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1786,9 +1786,10 @@ export class RdDActor extends Actor {
|
|||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async _appliquerAppelMoral(rollData, display = true) {
|
async _appliquerAppelMoral(rollData, display = true) {
|
||||||
if (!this.isPersonnage()) return;
|
if (!this.isPersonnage()) return;
|
||||||
if (!rollData.rolled.isEchec) return;
|
if (rollData.rolled.isEchec || (rollData.rolled.roll * rollData.ajustements.diviseurSignificative > rollData.score)) {
|
||||||
this.moralIncDec(-1); /* L'appel au moral a échoué. Le personnage perd un point de moral */
|
this.moralIncDec(-1); /* L'appel au moral a échoué. Le personnage perd un point de moral */
|
||||||
rollData.jetEchouerMoralDiminuer = true;
|
rollData.perteMoralEchec = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
@ -2013,6 +2014,7 @@ export class RdDActor extends Actor {
|
|||||||
label: 'Jet ' + Grammar.apostrophe('de', rollData.selectedCarac.label),
|
label: 'Jet ' + Grammar.apostrophe('de', rollData.selectedCarac.label),
|
||||||
callbacks: [
|
callbacks: [
|
||||||
this.createCallbackExperience(),
|
this.createCallbackExperience(),
|
||||||
|
this.createCallbackAppelAuMoral(),
|
||||||
{ action: r => this._onRollCaracResult(r) }
|
{ action: r => this._onRollCaracResult(r) }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@ -2096,6 +2098,7 @@ export class RdDActor extends Actor {
|
|||||||
label: 'Jet de Tâche ' + tache.name,
|
label: 'Jet de Tâche ' + tache.name,
|
||||||
callbacks: [
|
callbacks: [
|
||||||
this.createCallbackExperience(),
|
this.createCallbackExperience(),
|
||||||
|
this.createCallbackAppelAuMoral(),
|
||||||
{ condition: r => r.rolled.isETotal, action: r => this._tacheETotal(r) },
|
{ condition: r => r.rolled.isETotal, action: r => this._tacheETotal(r) },
|
||||||
{ action: r => this._tacheResult(r) }
|
{ action: r => this._tacheResult(r) }
|
||||||
]
|
]
|
||||||
@ -2144,6 +2147,7 @@ export class RdDActor extends Actor {
|
|||||||
height: 600,
|
height: 600,
|
||||||
callbacks: [
|
callbacks: [
|
||||||
this.createCallbackExperience(),
|
this.createCallbackExperience(),
|
||||||
|
this.createCallbackAppelAuMoral(),
|
||||||
{ action: r => callBackResult(r) }
|
{ action: r => callBackResult(r) }
|
||||||
]
|
]
|
||||||
});
|
});
|
||||||
@ -2982,6 +2986,7 @@ export class RdDActor extends Actor {
|
|||||||
label: 'Tache Alchimique',
|
label: 'Tache Alchimique',
|
||||||
callbacks: [
|
callbacks: [
|
||||||
this.createCallbackExperience(),
|
this.createCallbackExperience(),
|
||||||
|
this.createCallbackAppelAuMoral(),
|
||||||
{ action: r => this._alchimieResult(r, false) }
|
{ action: r => this._alchimieResult(r, false) }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -700,6 +700,7 @@ export class RdDCombat {
|
|||||||
label: 'Attaque: ' + (arme?.name ?? competence.name),
|
label: 'Attaque: ' + (arme?.name ?? competence.name),
|
||||||
callbacks: [
|
callbacks: [
|
||||||
this.attacker.createCallbackExperience(),
|
this.attacker.createCallbackExperience(),
|
||||||
|
this.attacker.createCallbackAppelAuMoral(),
|
||||||
{ action: r => this.removeChatMessageActionsPasseArme(r.passeArme) },
|
{ action: r => this.removeChatMessageActionsPasseArme(r.passeArme) },
|
||||||
{ condition: r => arme && !RdDCombat.isParticuliere(r), action: r => this.attacker.incDecItemUse(arme._id) },
|
{ condition: r => arme && !RdDCombat.isParticuliere(r), action: r => this.attacker.incDecItemUse(arme._id) },
|
||||||
{ condition: r => (RdDCombat.isReussite(r) && !RdDCombat.isParticuliere(r)), action: r => this._onAttaqueNormale(r) },
|
{ condition: r => (RdDCombat.isReussite(r) && !RdDCombat.isParticuliere(r)), action: r => this._onAttaqueNormale(r) },
|
||||||
@ -936,6 +937,7 @@ export class RdDCombat {
|
|||||||
label: 'Parade: ' + (arme ? arme.name : rollData.competence.name),
|
label: 'Parade: ' + (arme ? arme.name : rollData.competence.name),
|
||||||
callbacks: [
|
callbacks: [
|
||||||
this.defender.createCallbackExperience(),
|
this.defender.createCallbackExperience(),
|
||||||
|
this.defender.createCallbackAppelAuMoral(),
|
||||||
{ action: r => this.removeChatMessageActionsPasseArme(r.passeArme) },
|
{ action: r => this.removeChatMessageActionsPasseArme(r.passeArme) },
|
||||||
{ condition: r => !RdDCombat.isParticuliere(r), action: r => this.defender.incDecItemUse(armeParadeId) },
|
{ condition: r => !RdDCombat.isParticuliere(r), action: r => this.defender.incDecItemUse(armeParadeId) },
|
||||||
{ condition: RdDCombat.isReussite, action: r => this._onParadeNormale(r) },
|
{ condition: RdDCombat.isReussite, action: r => this._onParadeNormale(r) },
|
||||||
@ -1039,6 +1041,7 @@ export class RdDCombat {
|
|||||||
label: 'Esquiver',
|
label: 'Esquiver',
|
||||||
callbacks: [
|
callbacks: [
|
||||||
this.defender.createCallbackExperience(),
|
this.defender.createCallbackExperience(),
|
||||||
|
this.defender.createCallbackAppelAuMoral(),
|
||||||
{ condition: r => !RdDCombat.isParticuliere(r), action: r => this.defender.incDecItemUse(esquive._id) },
|
{ condition: r => !RdDCombat.isParticuliere(r), action: r => this.defender.incDecItemUse(esquive._id) },
|
||||||
{ action: r => this.removeChatMessageActionsPasseArme(r.passeArme) },
|
{ action: r => this.removeChatMessageActionsPasseArme(r.passeArme) },
|
||||||
{ condition: RdDCombat.isReussite, action: r => this._onEsquiveNormale(r) },
|
{ condition: RdDCombat.isReussite, action: r => this._onEsquiveNormale(r) },
|
||||||
|
@ -54,7 +54,7 @@ export class RdDRoll extends Dialog {
|
|||||||
useMalusSurenc: false,
|
useMalusSurenc: false,
|
||||||
appelAuMoralPossible : false, /* Est-ce que l'appel au moral est possible ? Variable utisé pour l'affichage ou non de la ligne concernant le moral */
|
appelAuMoralPossible : false, /* Est-ce que l'appel au moral est possible ? Variable utisé pour l'affichage ou non de la ligne concernant le moral */
|
||||||
appelAuMoralDemander :false, /* Est-ce que le joueur demande d'utiliser le moral ? Utile si le joueur change plusieurs fois de carac associée. */
|
appelAuMoralDemander :false, /* Est-ce que le joueur demande d'utiliser le moral ? Utile si le joueur change plusieurs fois de carac associée. */
|
||||||
jetEchouerMoralDiminuer : false, /* Pour l'affichage dans le chat */
|
perteMoralEchec : false, /* Pour l'affichage dans le chat */
|
||||||
use: { libre: true, conditions: true, surenc: false, encTotal: false, appelAuMoral : false /* Le jet se fait ou non en utilisant l'appel au moral */},
|
use: { libre: true, conditions: true, surenc: false, encTotal: false, appelAuMoral : false /* Le jet se fait ou non en utilisant l'appel au moral */},
|
||||||
isMalusEncombrementTotal: RdDItemCompetence.isMalusEncombrementTotal(rollData.competence),
|
isMalusEncombrementTotal: RdDItemCompetence.isMalusEncombrementTotal(rollData.competence),
|
||||||
useMalusEncTotal: false,
|
useMalusEncTotal: false,
|
||||||
|
@ -1,4 +1,8 @@
|
|||||||
{{#if use.appelAuMoral}}<div>
|
{{#if use.appelAuMoral}}
|
||||||
{{alias}} fait appel {{#if (gt moral 0)}}au moral{{else}}à l'énergie du déspoir{{/if}} {{#if jetEchouerMoralDiminuer}}et échoue, diminuant son moral.{{else}} et réussit.{{/if}}
|
<span>
|
||||||
{{^jetEchouerMoralDiminuer}} Son moral reste inchangé à {{moral}}.{{/jetEchouerMoralDiminuer}}
|
Vous avez fait appel {{#if (gt moral 0)}}au moral{{else}}à l'énergie du déspoir{{/if}}
|
||||||
<div>{{/if}}
|
{{#if perteMoralEchec}}et échoué, votre moral baisse à {{moral}}.
|
||||||
|
{{else}}et réussi, votre moral reste de {{moral}}.
|
||||||
|
{{/if}}
|
||||||
|
<span>
|
||||||
|
{{/if}}
|
||||||
|
@ -10,4 +10,5 @@
|
|||||||
{{else}}
|
{{else}}
|
||||||
{{alias}} a raté son opération alchimique ! Sa recette est un echec.
|
{{alias}} a raté son opération alchimique ! Sa recette est un echec.
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
{{> "systems/foundryvtt-reve-de-dragon/templates/chat-info-appel-au-moral.html"}}
|
||||||
</div>
|
</div>
|
||||||
|
@ -28,14 +28,13 @@
|
|||||||
{{~/if}}.
|
{{~/if}}.
|
||||||
{{#if show.isRecul}}Si votre adversaire n'esquive pas, il devra résister à l'impact ou reculer sous le choc!{{/if}}
|
{{#if show.isRecul}}Si votre adversaire n'esquive pas, il devra résister à l'impact ou reculer sous le choc!{{/if}}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
|
||||||
{{#if (eq particuliere 'rapidite')}}
|
{{#if (eq particuliere 'rapidite')}}
|
||||||
<div>
|
|
||||||
<span>
|
<span>
|
||||||
<br>Votre attaque rapide vous permet une deuxième attaque, ou défense supplémentaire!
|
<br>Votre attaque rapide vous permet une deuxième attaque, ou défense supplémentaire!
|
||||||
</span>
|
</span>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{else}}
|
{{else}}
|
||||||
Votre attaque a échoué!
|
<span>Votre attaque a échoué!</span>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
{{> "systems/foundryvtt-reve-de-dragon/templates/chat-info-appel-au-moral.html"}}
|
||||||
</div>
|
</div>
|
@ -10,5 +10,6 @@
|
|||||||
{{else}}
|
{{else}}
|
||||||
{{alias}} est peu inspiré(e) et son interprétation a une qualité de {{qualiteFinale}}.
|
{{alias}} est peu inspiré(e) et son interprétation a une qualité de {{qualiteFinale}}.
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
{{> "systems/foundryvtt-reve-de-dragon/templates/chat-info-appel-au-moral.html"}}
|
||||||
</div>
|
</div>
|
||||||
{{> "systems/foundryvtt-reve-de-dragon/templates/chat-poesie.html" oeuvre.data}}
|
{{> "systems/foundryvtt-reve-de-dragon/templates/chat-poesie.html" oeuvre.data}}
|
||||||
|
@ -10,5 +10,6 @@
|
|||||||
{{else}}
|
{{else}}
|
||||||
{{alias}} est peu inspiré(e) et son interprétation a une qualité de {{qualiteFinale}}.
|
{{alias}} est peu inspiré(e) et son interprétation a une qualité de {{qualiteFinale}}.
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
{{> "systems/foundryvtt-reve-de-dragon/templates/chat-info-appel-au-moral.html"}}
|
||||||
</div>
|
</div>
|
||||||
{{> "systems/foundryvtt-reve-de-dragon/templates/chat-poesie.html" oeuvre.data}}
|
{{> "systems/foundryvtt-reve-de-dragon/templates/chat-poesie.html" oeuvre.data}}
|
||||||
|
@ -13,6 +13,7 @@
|
|||||||
{{else}}
|
{{else}}
|
||||||
<span>Votre esquive a échoué!</span>
|
<span>Votre esquive a échoué!</span>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
{{> "systems/foundryvtt-reve-de-dragon/templates/chat-info-appel-au-moral.html"}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{#if attackerRoll.tactique}}
|
{{#if attackerRoll.tactique}}
|
||||||
|
@ -12,6 +12,7 @@
|
|||||||
<hr>
|
<hr>
|
||||||
<div>
|
<div>
|
||||||
<span>{{#if rolled.ptTache}}{{rolled.ptTache}} points de tâche{{/if}}{{#if rolled.ptQualite}}{{#if rolled.ptTache}},{{/if}} ajustement Qualité {{numberFormat rolled.ptQualite decimals=0 sign=true}}{{/if}}</span>
|
<span>{{#if rolled.ptTache}}{{rolled.ptTache}} points de tâche{{/if}}{{#if rolled.ptQualite}}{{#if rolled.ptTache}},{{/if}} ajustement Qualité {{numberFormat rolled.ptQualite decimals=0 sign=true}}{{/if}}</span>
|
||||||
|
{{> "systems/foundryvtt-reve-de-dragon/templates/chat-info-appel-au-moral.html"}}
|
||||||
</div>
|
</div>
|
||||||
{{~#if show.explications}}
|
{{~#if show.explications}}
|
||||||
<div>
|
<div>
|
||||||
|
@ -10,5 +10,6 @@
|
|||||||
{{else}}
|
{{else}}
|
||||||
{{alias}} a perdu ...
|
{{alias}} a perdu ...
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
{{> "systems/foundryvtt-reve-de-dragon/templates/chat-info-appel-au-moral.html"}}
|
||||||
</div>
|
</div>
|
||||||
{{> "systems/foundryvtt-reve-de-dragon/templates/chat-poesie.html" oeuvre.data}}
|
{{> "systems/foundryvtt-reve-de-dragon/templates/chat-poesie.html" oeuvre.data}}
|
||||||
|
@ -10,5 +10,6 @@
|
|||||||
{{else}}
|
{{else}}
|
||||||
{{alias}} est peu inspiré(e) et son interprétation a une qualité de {{qualiteFinale}}.
|
{{alias}} est peu inspiré(e) et son interprétation a une qualité de {{qualiteFinale}}.
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
{{> "systems/foundryvtt-reve-de-dragon/templates/chat-info-appel-au-moral.html"}}
|
||||||
</div>
|
</div>
|
||||||
{{> "systems/foundryvtt-reve-de-dragon/templates/chat-poesie.html" oeuvre.data}}
|
{{> "systems/foundryvtt-reve-de-dragon/templates/chat-poesie.html" oeuvre.data}}
|
||||||
|
@ -11,5 +11,6 @@
|
|||||||
{{else}}
|
{{else}}
|
||||||
{{alias}} est peu inspiré(e) et son interprétation a une qualité de {{qualiteFinale}}.
|
{{alias}} est peu inspiré(e) et son interprétation a une qualité de {{qualiteFinale}}.
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
{{> "systems/foundryvtt-reve-de-dragon/templates/chat-info-appel-au-moral.html"}}
|
||||||
</div>
|
</div>
|
||||||
{{> "systems/foundryvtt-reve-de-dragon/templates/chat-poesie.html" oeuvre.data}}
|
{{> "systems/foundryvtt-reve-de-dragon/templates/chat-poesie.html" oeuvre.data}}
|
||||||
|
@ -12,6 +12,7 @@
|
|||||||
La parade a échoué!
|
La parade a échoué!
|
||||||
{{/if}}
|
{{/if}}
|
||||||
</span>
|
</span>
|
||||||
|
{{> "systems/foundryvtt-reve-de-dragon/templates/chat-info-appel-au-moral.html"}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{#if (eq show.recul 'encaisse')}}<div>{{alias}} ne recule pas malgré la violence du coup.</div>
|
{{#if (eq show.recul 'encaisse')}}<div>{{alias}} ne recule pas malgré la violence du coup.</div>
|
||||||
|
@ -4,16 +4,18 @@
|
|||||||
</h4>
|
</h4>
|
||||||
{{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}}
|
{{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}}
|
||||||
<hr>
|
<hr>
|
||||||
|
<span>
|
||||||
{{#if rolled.isSuccess}}
|
{{#if rolled.isSuccess}}
|
||||||
{{alias}} réussit sa recette, avec un plat de qualité {{qualiteFinale}} pour {{oeuvre.data.sust}} Points de Sustentation.
|
{{alias}} réussit sa recette, avec un plat de qualité {{qualiteFinale}} pour {{oeuvre.data.sust}} Points de Sustentation.
|
||||||
{{else}}
|
{{else}}
|
||||||
{{alias}} fait un piètre cuisinier(e), et obtient {{#if (lt qualiteFinale 0)}}un plat à l'exotisme certain{{else}}un plat de qualité {{qualiteFinale}}{{/if}}.
|
{{alias}} fait un piètre cuisinier(e), et obtient {{#if (lt qualiteFinale 0)}}un plat à l'exotisme certain{{else}}un plat de qualité {{qualiteFinale}}{{/if}}.
|
||||||
Selon la décision du MJ, le plat peut fournir {{oeuvre.data.sust}} Points de Sustentation
|
Selon la décision du MJ, le plat peut fournir {{oeuvre.data.sust}} Points de Sustentation
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
{{#if (lt exotismeFinal 0)}}
|
{{#if (lt exotismeFinal 0)}}
|
||||||
<br>Au vu de l'exotisme du plat, les convives devront réussir un jet de Volonté / Cuisine à {{exotismeFinal}}.
|
<br>Au vu de l'exotisme du plat, les convives devront réussir un jet de Volonté / Cuisine à {{exotismeFinal}}.
|
||||||
En cas d'échec, ils peuvent se forcer pour faire plaisir au Maître Queux, mais devront faire un jet de moral Malheureux.
|
En cas d'échec, ils peuvent se forcer pour faire plaisir au Maître Queux, mais devront faire un jet de moral Malheureux.
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
</span>
|
||||||
|
{{> "systems/foundryvtt-reve-de-dragon/templates/chat-info-appel-au-moral.html"}}
|
||||||
{{> "systems/foundryvtt-reve-de-dragon/templates/chat-poesie.html" oeuvre.data}}
|
{{> "systems/foundryvtt-reve-de-dragon/templates/chat-poesie.html" oeuvre.data}}
|
||||||
|
@ -10,4 +10,5 @@
|
|||||||
votre avancement est de <span class="rdd-roll-{{#if (gt tache.data.points_de_tache_courant 0)}}norm{{else}}etotal{{/if}}">{{tache.data.points_de_tache_courant}} sur {{tache.data.points_de_tache}}</span> point{{~#if (gt tache.data.points_de_tache_courant 1)}}s{{/if}} de tâche.
|
votre avancement est de <span class="rdd-roll-{{#if (gt tache.data.points_de_tache_courant 0)}}norm{{else}}etotal{{/if}}">{{tache.data.points_de_tache_courant}} sur {{tache.data.points_de_tache}}</span> point{{~#if (gt tache.data.points_de_tache_courant 1)}}s{{/if}} de tâche.
|
||||||
{{#if tache.data.fatigue}}<br><span>Vous vous êtes fatigué de {{tache.data.fatigue}} case{{~#if (gt tache.data.fatigue 1)}}s{{/if}}.</span>{{/if}}
|
{{#if tache.data.fatigue}}<br><span>Vous vous êtes fatigué de {{tache.data.fatigue}} case{{~#if (gt tache.data.fatigue 1)}}s{{/if}}.</span>{{/if}}
|
||||||
{{#if rolled.isETotal}}<br><span>Votre échec total augmente de 1 la difficulté de la tâche!</span>{{/if~}}
|
{{#if rolled.isETotal}}<br><span>Votre échec total augmente de 1 la difficulté de la tâche!</span>{{/if~}}
|
||||||
|
{{> "systems/foundryvtt-reve-de-dragon/templates/chat-info-appel-au-moral.html"}}
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
Reference in New Issue
Block a user