Merge branch 'master-fixes' into 'master'

Stress transformé avec les compétences

See merge request LeRatierBretonnien/foundryvtt-reve-de-dragon!170
This commit is contained in:
Leratier Bretonnien 2021-03-18 06:24:02 +00:00
commit 1ad457f25f
6 changed files with 27 additions and 19 deletions

View File

@ -124,7 +124,6 @@ export class RdDActorSheet extends ActorSheet {
this.armesList = duplicate(formData.data.combat); this.armesList = duplicate(formData.data.combat);
formData.data.carac.taille.isTaille = true; // To avoid button link; formData.data.carac.taille.isTaille = true; // To avoid button link;
formData.data.compteurs.chance.isChance = true;
formData.data.blessures.resume = this.actor.computeResumeBlessure(formData.data.blessures); formData.data.blessures.resume = this.actor.computeResumeBlessure(formData.data.blessures);
// Mise à jour de l'encombrement total et du prix de l'équipement // Mise à jour de l'encombrement total et du prix de l'équipement
@ -290,11 +289,11 @@ export class RdDActorSheet extends ActorSheet {
this.actor.rollCarac(caracName.toLowerCase()); this.actor.rollCarac(caracName.toLowerCase());
}); });
html.find('#chance-actuelle').click((event) => { html.find('.chance-actuelle').click((event) => {
this.actor.rollCarac('chance-actuelle'); this.actor.rollCarac('chance-actuelle');
}); });
html.find('#chance-appel').click((event) => { html.find('.chance-appel').click((event) => {
this.actor.rollAppelChance(); this.actor.rollAppelChance();
}); });
@ -500,7 +499,7 @@ export class RdDActorSheet extends ActorSheet {
html.find('#ethylisme').change((event) => { html.find('#ethylisme').change((event) => {
this.actor.setEthylisme(parseInt(event.target.value)); this.actor.setEthylisme(parseInt(event.target.value));
}); });
html.find('#stress-test').click((event) => { html.find('.stress-test').click((event) => {
this.actor.transformerStress(); this.actor.transformerStress();
this.render(true); this.render(true);
}); });

View File

@ -1535,6 +1535,7 @@ export class RdDActor extends Actor {
} }
await this.update({ 'data.compteurs': compteurs }); await this.update({ 'data.compteurs': compteurs });
} }
return compteurs.moral.value;
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
@ -1625,7 +1626,7 @@ export class RdDActor extends Actor {
content: "Décidément, vous avez l'alcool triste, vous perdez finalement un point de moral!", content: "Décidément, vous avez l'alcool triste, vous perdez finalement un point de moral!",
whisper: ChatUtility.getWhisperRecipientsAndGMs(game.user.name) whisper: ChatUtility.getWhisperRecipientsAndGMs(game.user.name)
}); });
this.moralIncDec(-1); await this.moralIncDec(-1);
} }
} }
} }
@ -1789,9 +1790,11 @@ 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 || (rollData.rolled.roll * rollData.ajustements.diviseurSignificative > rollData.score)) { if (!rollData.useMoral) return;
this.moralIncDec(-1); /* L'appel au moral a échoué. Le personnage perd un point de moral */ if (rollData.rolled.isEchec ||
rollData.perteMoralEchec = true; (rollData.ajustements.diviseurSignificative && (rollData.rolled.roll * rollData.ajustements.diviseurSignificative > rollData.score))) {
rollData.perteMoralEchec = rollData.moral<=-3? 'dissolution' : 'perte';
rollData.moral = await this.moralIncDec(-1); /* L'appel au moral a échoué. Le personnage perd un point de moral */
} }
} }

View File

@ -125,7 +125,7 @@ export class RdDRoll extends Dialog {
if (action.callbacks) if (action.callbacks)
for (let callback of action.callbacks) { for (let callback of action.callbacks) {
if (callback.condition == undefined || callback.condition(this.rollData)) { if (callback.condition == undefined || callback.condition(this.rollData)) {
callback.action(this.rollData); await callback.action(this.rollData);
} }
} }
} }

View File

@ -161,7 +161,7 @@
</li> </li>
{{#each data.attributs as |attr key|}} {{#each data.attributs as |attr key|}}
<li class="competence flexrow list-item" data-attribute="{{key}}"> <li class="competence flexrow list-item" data-attribute="{{key}}">
<span class="competence-label flexrow" name="data.attributs.{{key}}.label">{{attr.label}} : <span class="competence-label flexrow" name="data.attributs.{{key}}.label">{{attr.label}} :
{{#if (eq key 'protection')}} {{#if (eq key 'protection')}}
<input id="attribut-protection-edit" type="text" name="{{key}}" value="{{attr.value}}" data-dtype="number"/><span/> <input id="attribut-protection-edit" type="text" name="{{key}}" value="{{attr.value}}" data-dtype="number"/><span/>
{{else}} {{else}}
@ -173,12 +173,13 @@
</ul> </ul>
<ul class="carac-list alterne-list"> <ul class="carac-list alterne-list">
<li class="competence flexrow list-item"> <li class="competence flexrow list-item">
<span class="generic-label" id="chance-actuelle"><a>Chance actuelle</a></span> <span class="generic-label chance-actuelle"><a>Chance actuelle</a></span>
<input class="compteur-edit" id="chance-edit" type="text" name="chance" value="{{data.compteurs.chance.value}}" data-dtype="number"/> <input class="compteur-edit" type="text" name="chance" value="{{data.compteurs.chance.value}}" data-dtype="number"/>
<span><a class="item-control stress-test" id="chance-appel">Utiliser</a></span> <span><a class="item-control chance-appel">Utiliser</a></span>
</li> </li>
{{#each data.compteurs as |compteur key|}} {{#each data.compteurs as |compteur key|}}
{{#if compteur.isChance}} {{#if (eq compteur.label 'Chance')}}
{{else if (eq compteur.label 'Experience')}}
{{else if compteur.isInput}} {{else if compteur.isInput}}
<li class="competence flexrow list-item"> <li class="competence flexrow list-item">
<span class="generic-label">{{compteur.label}}</span> <span class="generic-label">{{compteur.label}}</span>
@ -193,7 +194,7 @@
{{/if}} {{/if}}
<span> <span>
{{#if compteur.isStress}} {{#if compteur.isStress}}
<a class="item-control stress-test" id="stress-test" title="Transformer">Transformer</a> <a class="item-control stress-test" title="Transformer">Transformer</a>
{{else if (eq compteur.label 'Ethylisme')}} {{else if (eq compteur.label 'Ethylisme')}}
<a class="item-control ethylisme-test" id="ethylisme-test" title="Jet d'Ethylisme">Jet d'Ethylisme</a> <a class="item-control ethylisme-test" id="ethylisme-test" title="Jet d'Ethylisme">Jet d'Ethylisme</a>
{{else if (eq compteur.label 'Moral')}} {{else if (eq compteur.label 'Moral')}}
@ -228,7 +229,6 @@
</div> </div>
<div class="grid grid-2col"> <div class="grid grid-2col">
<div class="flex-group-left flexcol competence-column"> <div class="flex-group-left flexcol competence-column">
<header class="competence-header flexrow"> <header class="competence-header flexrow">
<span class="competence-title">Compétences générales</span> <span class="competence-title">Compétences générales</span>
@ -305,6 +305,11 @@
</ul> </ul>
<div> <div>
<ul class="item-list"> <ul class="item-list">
<li class="item flexrow">
<span class="generic-label">Stress transformé</span>
<input class="compteur-edit" type="text" name="experience" value="{{data.compteurs.experience.value}}" data-dtype="number" size="3"/>
</li>
<li class="item flexrow"> <li class="item flexrow">
<span class="generic-label">Total XP compétences</span> <span class="generic-label">Total XP compétences</span>
<span class="competence-value">{{calc.competenceXPTotal}}</span> <span class="competence-value">{{calc.competenceXPTotal}}</span>

View File

@ -1,7 +1,8 @@
{{#if use.appelAuMoral}} {{#if useMoral}}
<span> <span>
Vous avez fait appel {{#if (gt moral 0)}}au moral{{else}}à l'énergie du déspoir{{/if}} Vous avez fait appel {{#if (gt moral 0)}}au moral{{else}}à l'énergie du déspoir{{/if}}
{{#if perteMoralEchec}}et échoué, votre moral baisse à {{moral}}. {{#if (eq perteMoralEchec 'dissolution')}}et échoué, cous marquez un point de dissolution!.
{{else if (eq perteMoralEchec 'perte')}}et échoué, votre moral baisse à {{moral}}.
{{else}}et réussi, votre moral reste de {{moral}}. {{else}}et réussi, votre moral reste de {{moral}}.
{{/if}} {{/if}}
<span> <span>

View File

@ -10,7 +10,7 @@
{{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}} {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}}
<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}} Qualité ajustée de {{numberFormat rolled.ptQualite decimals=0 sign=true}}{{/if}}</span>
</div> </div>
{{> "systems/foundryvtt-reve-de-dragon/templates/chat-info-appel-au-moral.html"}} {{> "systems/foundryvtt-reve-de-dragon/templates/chat-info-appel-au-moral.html"}}
{{~#if show.explications}} {{~#if show.explications}}