diff --git a/module/actor.js b/module/actor.js
index 0b0ed72f..60f112d8 100644
--- a/module/actor.js
+++ b/module/actor.js
@@ -3841,32 +3841,21 @@ export class RdDActor extends Actor {
potionData.supprimer = true;
if (potionData.data.magique) {
- ChatMessage.create({
- whisper: ChatUtility.getWhisperRecipientsAndGMs(game.user.name),
- content: await renderTemplate(`systems/foundryvtt-reve-de-dragon/templates/chat-consommer-potion-soin.html`, potionData)
- });
// Gestion de la résistance:
- let rolled = await RdDResolutionTable.roll(this.getReveActuel(), -8);
- potionData.reveResultDice = rolled.roll;
- potionData.scoreReve = rolled.score;
- potionData.reussiteReve = false;
- if (!rolled.isSuccess) {
+ potionData.rolled = await RdDResolutionTable.roll(this.getReveActuel(), -8);
+ if (potionData.rolled.isEchec) {
await this.reveActuelIncDec(-1);
potionData.guerisonData = await this.buildPotionGuerisonList(potionData.data.puissance);
potionData.guerisonMinutes = potionData.guerisonData.pointsConsommes * 5;
- potionData.reussiteReve = true;
}
- ChatMessage.create({
- whisper: ChatUtility.getWhisperRecipientsAndGMs(game.user.name),
- content: await renderTemplate(`systems/foundryvtt-reve-de-dragon/templates/chat-appliquer-potion-soin.html`, potionData)
- });
- } else {
- ChatMessage.create({
- whisper: ChatUtility.getWhisperRecipientsAndGMs(game.user.name),
- content: await renderTemplate(`systems/foundryvtt-reve-de-dragon/templates/chat-appliquer-potion-soin.html`, potionData)
- });
+ }
+ if (!potionData.data.magique || potionData.rolled.isSuccess) {
this.bonusRecuperationPotion = potionData.data.herbeBonus;
}
+ ChatMessage.create({
+ whisper: ChatUtility.getWhisperRecipientsAndGMs(game.user.name),
+ content: await renderTemplate(`systems/foundryvtt-reve-de-dragon/templates/chat-consommer-potion-soin.html`, potionData)
+ });
}
/* -------------------------------------------- */
@@ -3875,22 +3864,14 @@ export class RdDActor extends Actor {
potionData.supprimer = true;
if (potionData.data.magique) {
- ChatMessage.create({
- whisper: ChatUtility.getWhisperRecipientsAndGMs(game.user.name),
- content: await renderTemplate(`systems/foundryvtt-reve-de-dragon/templates/chat-consommer-potion-repos.html`, potionData)
- });
// Gestion de la résistance:
- let rolled = await RdDResolutionTable.roll(this.getReveActuel(), -8);
- potionData.reveResultDice = rolled.roll;
- potionData.scoreReve = rolled.score;
- potionData.reussiteReve = false;
- if (!rolled.isSuccess) {
+ potionData.rolled = await RdDResolutionTable.roll(this.getReveActuel(), -8);
+ if (potionData.rolled.isEchec) {
await this.reveActuelIncDec(-1);
let fatigueActuelle = this.getFatigueActuelle();
potionData.caseFatigueReel = Math.min(fatigueActuelle, potionData.data.puissance);
potionData.guerisonDureeUnite = (potionData.data.reposalchimique) ? "rounds" : "minutes";
potionData.guerisonDureeValue = (potionData.data.reposalchimique) ? potionData.caseFatigueReel : potionData.caseFatigueReel * 5;
- potionData.reussiteReve = true;
potionData.aphasiePermanente = false;
if (potionData.data.reposalchimique) {
let chanceAphasie = await RdDDice.rollTotal("1d100");
@@ -3900,17 +3881,14 @@ export class RdDActor extends Actor {
}
await this.santeIncDec("fatigue", -potionData.caseFatigueReel);
}
- ChatMessage.create({
- whisper: ChatUtility.getWhisperRecipientsAndGMs(game.user.name),
- content: await renderTemplate(`systems/foundryvtt-reve-de-dragon/templates/chat-appliquer-potion-repos.html`, potionData)
- });
- } else {
- ChatMessage.create({
- whisper: ChatUtility.getWhisperRecipientsAndGMs(game.user.name),
- content: await renderTemplate(`systems/foundryvtt-reve-de-dragon/templates/chat-appliquer-potion-repos.html`, potionData)
- });
+ }
+ if (!potionData.data.magique || potionData.rolled.isSuccess) {
this.bonusRepos = potionData.data.herbeBonus;
}
+ ChatMessage.create({
+ whisper: ChatUtility.getWhisperRecipientsAndGMs(game.user.name),
+ content: await renderTemplate(`systems/foundryvtt-reve-de-dragon/templates/chat-consommer-potion-repos.html`, potionData)
+ });
}
/* -------------------------------------------- */
dialogFabriquerPotion(herbe) {
@@ -3938,10 +3916,9 @@ export class RdDActor extends Actor {
let newQuantite = herbeData.data.quantite - herbeData.nbBrins;
let messageData = {
alias: this.name,
- categorie: herbeData.data.categorie,
- herbe: herbeData.name,
- nbBrinsPotion: herbeData.nbBrins,
- nbBrinsReste: newQuantite
+ nbBrinsReste: newQuantite,
+ potion: newPotion,
+ herbe: herbeData
}
this.diminuerQuantiteObjet(herbeData._id, herbeData.nbBrins);
@@ -3949,7 +3926,6 @@ export class RdDActor extends Actor {
whisper: ChatUtility.getWhisperRecipientsAndGMs(game.user.name),
content: await renderTemplate(`systems/foundryvtt-reve-de-dragon/templates/chat-fabriquer-potion-base.html`, messageData)
});
-
}
/* -------------------------------------------- */
@@ -3964,6 +3940,13 @@ export class RdDActor extends Actor {
async consommerPotionGenerique(potionData) {
potionData.alias = this.name;
+ if (potionData.data.magique) {
+ // Gestion de la résistance:
+ potionData.rolled = await RdDResolutionTable.roll(this.getReveActuel(), -8);
+ if (potionData.rolled.isEchec) {
+ await this.reveActuelIncDec(-1);
+ }
+ }
ChatMessage.create({
whisper: ChatUtility.getWhisperRecipientsAndGMs(game.user.name),
content: await renderTemplate(`systems/foundryvtt-reve-de-dragon/templates/chat-consommer-potion-generique.html`, potionData)
diff --git a/templates/chat-appliquer-potion-repos.html b/templates/chat-appliquer-potion-repos.html
deleted file mode 100644
index 23fdd89d..00000000
--- a/templates/chat-appliquer-potion-repos.html
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
- {{#if reussiteReve}}
- {{alias}} a bu la potion et a échoué son Jet de Résistance (Rêve actuel à -8 : {{reveResultDice}}/{{scoreReve}}) : la potion fait effet !
- {{else}}
- {{alias}} a bu la potion et a réussi son Jet de Résistance (Rêve actuel à -8 : {{reveResultDice}}/{{scoreReve}}) : la potion ne fait pas effet !
- {{/if}}
-
-
-
- {{#if reussiteReve}}
- {{alias}} perd 1 point de rêve (déduit automatiquement) et s'endort pour {{guerisonDureeValue}} {{guerisonDureeUnite}} et
- se repose de {{caseFatigueReel}} cases de fatigue.
- {{#if data.reposalchimique}}
- De plus, étant donné que la potion était alchimique, {{alias}} est en aphasie pendant cette durée.
- {{#if aphasiePermanente}}
- Et malheureusement, l'aphasie est permanente tant que {{alias}} ne réussit pas un jet de VOLONTE à 0 à Chateau Dormant (le moral compte).
- {{/if}}
- {{/if}}
- {{/if}}
- La potion a également été supprimée de l'équipement.
-
diff --git a/templates/chat-appliquer-potion-soin.html b/templates/chat-appliquer-potion-soin.html
deleted file mode 100644
index 1c21fa5f..00000000
--- a/templates/chat-appliquer-potion-soin.html
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
- {{#if reussiteReve}}
- {{alias}} a bu la potion et a échoué son Jet de Résistance (Rêve actuel à -8 : {{reveResultDice}}/{{scoreReve}}) : la potion fait effet !
- {{else}}
- {{alias}} a bu la potion et a réussi son Jet de Résistance (Rêve actuel à -8 : {{reveResultDice}}/{{scoreReve}}) : la potion ne fait pas effet !
- {{/if}}
-
-
-
- {{#if reussiteReve}}
- {{alias}} perd 1 point de rêve (déduit automatiquement) et s'endort pour {{guerisonMinutes}} minutes. A son réveil, les blessures suivantes seront guéries :
-
- {{#each guerisonData.list as |guerison key|}}
- - {{guerison}}
- {{/each}}
-
-
- {{/if}}
- La potion a également été supprimée de l'équipement.
-
diff --git a/templates/chat-consommer-potion-generique.html b/templates/chat-consommer-potion-generique.html
index e3d514ca..9898a038 100644
--- a/templates/chat-consommer-potion-generique.html
+++ b/templates/chat-consommer-potion-generique.html
@@ -1,9 +1,18 @@
-
+
- {{alias}} consomme sa Potion {{#if data.magique}}enchantée{{/if}} de {{name}}.
+ {{alias}} a bu une {{name}}{{#if data.magique}} enchantée{{/if}}
- Les effets de la potions sont à gérer manuellement, en fonction de sa nature{{#if data.magique}} et de son enchantement ({{data.pr}} Points de Rêve){{/if}}.
+ {{#if data.magique}}
+ Le Jet de Résistance est {{#if rolled.isSuccess}}réussi{{else}}échoué{{/if}}.
+ {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}}
+ {{/if}}
+
Les effets de la potions sont à gérer manuellement, en fonction de sa nature
+ {{#if data.magique}}
+ {{#if rolled.isEchec}}et de son enchantement ({{data.pr}} Points de Rêve)
+ {{else}}son enchantement n'a pas d'effet
+ {{/if}}
+ {{/if}}.
La potion a été supprimée de l'équipement.
diff --git a/templates/chat-consommer-potion-repos.html b/templates/chat-consommer-potion-repos.html
index 37cc9f99..873a78c8 100644
--- a/templates/chat-consommer-potion-repos.html
+++ b/templates/chat-consommer-potion-repos.html
@@ -1,13 +1,27 @@
-
+
- {{alias}} consomme sa Potion de Repos {{#if data.magique}}enchantée{{/if}} de {{name}} ({{data.herbe}}, {{data.herbebrins}} brins).
+ {{alias}} a bu une {{name}}{{#if data.magique}} enchantée{{/if}}
{{#if data.magique}}
- Elle permet de récupérer jusqu'à {{data.puissance}} cases de repos.
+ Le Jet de Résistance est {{#if rolled.isSuccess}}réussi{{else}}échoué{{/if}}.
+ {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}}
+ {{#if rolled.isEchec}}
+
La potion fait effet !
+ {{alias}} a perdu 1 point de rêve et s'endort pour {{guerisonDureeValue}} {{guerisonDureeUnite}} et
+ se récupère {{caseFatigueReel}} cases de fatigue.
+ {{#if data.reposalchimique}}
+ De plus, la potion étant alchimique, {{alias}} est en aphasie pendant cette durée.
+ {{#if aphasiePermanente}}
+ Malheureusement, l'aphasie est permanente tant que {{alias}} ne réussit pas un jet de VOLONTE à 0 à Chateau Dormant (le moral compte).
+ {{/if}}
+ {{/if}}
+ {{else}}
+
La potion ne fait pas effet ! Elle vous octroie tout de même un bonus de {{data.herbebonus}} segments de fatigue récupérés en plus à la fin de Chateau Dormant (à gérer manuellement).
+ {{/if}}
{{else}}
- Une fois consommée vers fin Lyre, elle vous octroie un bonus de {{data.herbebonus}} segments de fatigue récupérés en plus à la fin de Chateau Dormant (à gérer manuellement).
-
La potion a également été supprimée de l'équipement.
+ Une fois consommée (vers fin Lyre), elle vous octroie un bonus de {{data.herbebonus}} segments de fatigue récupérés en plus à la fin de Chateau Dormant (à gérer manuellement).
{{/if}}
+
La potion a été supprimée de l'équipement.
diff --git a/templates/chat-consommer-potion-soin.html b/templates/chat-consommer-potion-soin.html
index 0d88518a..ae429fe6 100644
--- a/templates/chat-consommer-potion-soin.html
+++ b/templates/chat-consommer-potion-soin.html
@@ -1,13 +1,25 @@
-
+
- {{alias}} consomme sa Potion de soins {{#if data.magique}}enchantée{{/if}} de {{name}} ({{data.herbe}}, {{data.herbebrins}} brins).
+ {{alias}} a bu une {{name}}{{#if data.magique}} enchantée{{/if}}
{{#if data.magique}}
- Elle permet de guérir {{data.puissance}} Points de Guérison.
+ Le Jet de Résistance est {{#if rolled.isSuccess}}réussi{{else}}échoué{{/if}}.
+ {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}}
+ {{#if rolled.isEchec}}
+
La potion fait effet!
+ {{alias}} a perdu 1 point de rêve et s'endort pour {{guerisonMinutes}} minutes. A son réveil, les blessures suivantes seront guéries :
+
+ {{#each guerisonData.list as |guerison key|}}
+ - {{guerison}}
+ {{/each}}
+
+ {{else}}
+
La potion ne fait pas effet ! Lors de votre prochain jet de récupération à Chateau Dormant, vous bénéficierez d'un bonus de {{data.herbebonus}} (appliqué automatiquement).
+ {{/if}}
{{else}}
- Lors de votre prochain jet de récupération à Chateau Dormant, vous bénéficierez d'un bonus de {{data.herbebonus}} (appliqué automatiquement).
-
La potion a également été supprimée de l'équipement.
+ Lors de votre prochain jet de récupération à Chateau Dormant, vous bénéficierez d'un bonus de {{data.herbebonus}} (appliqué automatiquement).
{{/if}}
+
La potion a été supprimée de l'équipement.
diff --git a/templates/chat-fabriquer-potion-base.html b/templates/chat-fabriquer-potion-base.html
index f26d5212..e298d0b7 100644
--- a/templates/chat-fabriquer-potion-base.html
+++ b/templates/chat-fabriquer-potion-base.html
@@ -1,6 +1,6 @@
-
+
- {{alias}} a fabriqué une potion de {{categorie}} de {{herbe}}, avec {{nbBrinsPotion}} brins.
+ {{alias}} a fabriqué une potion de {{herbe.data.categorie}} de {{herbe.name}}, avec {{herbe.nbBrins}} brins.