Amélioration des potions
- effet de base en cas de résistance à potion magique - un seul message de tchat - affichage du résultat du jet de résistance - utilisation des l'image de la potion - fabrication avec image de l'herbe
This commit is contained in:
parent
9a637be4e9
commit
bf2ec639c8
@ -3841,32 +3841,21 @@ export class RdDActor extends Actor {
|
|||||||
potionData.supprimer = true;
|
potionData.supprimer = true;
|
||||||
|
|
||||||
if (potionData.data.magique) {
|
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);
|
||||||
|
potionData.guerisonData = await this.buildPotionGuerisonList(potionData.data.puissance);
|
||||||
|
potionData.guerisonMinutes = potionData.guerisonData.pointsConsommes * 5;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!potionData.data.magique || potionData.rolled.isSuccess) {
|
||||||
|
this.bonusRecuperationPotion = potionData.data.herbeBonus;
|
||||||
|
}
|
||||||
ChatMessage.create({
|
ChatMessage.create({
|
||||||
whisper: ChatUtility.getWhisperRecipientsAndGMs(game.user.name),
|
whisper: ChatUtility.getWhisperRecipientsAndGMs(game.user.name),
|
||||||
content: await renderTemplate(`systems/foundryvtt-reve-de-dragon/templates/chat-consommer-potion-soin.html`, potionData)
|
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) {
|
|
||||||
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)
|
|
||||||
});
|
|
||||||
this.bonusRecuperationPotion = potionData.data.herbeBonus;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
@ -3875,22 +3864,14 @@ export class RdDActor extends Actor {
|
|||||||
potionData.supprimer = true;
|
potionData.supprimer = true;
|
||||||
|
|
||||||
if (potionData.data.magique) {
|
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:
|
// Gestion de la résistance:
|
||||||
let rolled = await RdDResolutionTable.roll(this.getReveActuel(), -8);
|
potionData.rolled = await RdDResolutionTable.roll(this.getReveActuel(), -8);
|
||||||
potionData.reveResultDice = rolled.roll;
|
if (potionData.rolled.isEchec) {
|
||||||
potionData.scoreReve = rolled.score;
|
|
||||||
potionData.reussiteReve = false;
|
|
||||||
if (!rolled.isSuccess) {
|
|
||||||
await this.reveActuelIncDec(-1);
|
await this.reveActuelIncDec(-1);
|
||||||
let fatigueActuelle = this.getFatigueActuelle();
|
let fatigueActuelle = this.getFatigueActuelle();
|
||||||
potionData.caseFatigueReel = Math.min(fatigueActuelle, potionData.data.puissance);
|
potionData.caseFatigueReel = Math.min(fatigueActuelle, potionData.data.puissance);
|
||||||
potionData.guerisonDureeUnite = (potionData.data.reposalchimique) ? "rounds" : "minutes";
|
potionData.guerisonDureeUnite = (potionData.data.reposalchimique) ? "rounds" : "minutes";
|
||||||
potionData.guerisonDureeValue = (potionData.data.reposalchimique) ? potionData.caseFatigueReel : potionData.caseFatigueReel * 5;
|
potionData.guerisonDureeValue = (potionData.data.reposalchimique) ? potionData.caseFatigueReel : potionData.caseFatigueReel * 5;
|
||||||
potionData.reussiteReve = true;
|
|
||||||
potionData.aphasiePermanente = false;
|
potionData.aphasiePermanente = false;
|
||||||
if (potionData.data.reposalchimique) {
|
if (potionData.data.reposalchimique) {
|
||||||
let chanceAphasie = await RdDDice.rollTotal("1d100");
|
let chanceAphasie = await RdDDice.rollTotal("1d100");
|
||||||
@ -3900,17 +3881,14 @@ export class RdDActor extends Actor {
|
|||||||
}
|
}
|
||||||
await this.santeIncDec("fatigue", -potionData.caseFatigueReel);
|
await this.santeIncDec("fatigue", -potionData.caseFatigueReel);
|
||||||
}
|
}
|
||||||
ChatMessage.create({
|
}
|
||||||
whisper: ChatUtility.getWhisperRecipientsAndGMs(game.user.name),
|
if (!potionData.data.magique || potionData.rolled.isSuccess) {
|
||||||
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)
|
|
||||||
});
|
|
||||||
this.bonusRepos = potionData.data.herbeBonus;
|
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) {
|
dialogFabriquerPotion(herbe) {
|
||||||
@ -3938,10 +3916,9 @@ export class RdDActor extends Actor {
|
|||||||
let newQuantite = herbeData.data.quantite - herbeData.nbBrins;
|
let newQuantite = herbeData.data.quantite - herbeData.nbBrins;
|
||||||
let messageData = {
|
let messageData = {
|
||||||
alias: this.name,
|
alias: this.name,
|
||||||
categorie: herbeData.data.categorie,
|
nbBrinsReste: newQuantite,
|
||||||
herbe: herbeData.name,
|
potion: newPotion,
|
||||||
nbBrinsPotion: herbeData.nbBrins,
|
herbe: herbeData
|
||||||
nbBrinsReste: newQuantite
|
|
||||||
}
|
}
|
||||||
this.diminuerQuantiteObjet(herbeData._id, herbeData.nbBrins);
|
this.diminuerQuantiteObjet(herbeData._id, herbeData.nbBrins);
|
||||||
|
|
||||||
@ -3949,7 +3926,6 @@ export class RdDActor extends Actor {
|
|||||||
whisper: ChatUtility.getWhisperRecipientsAndGMs(game.user.name),
|
whisper: ChatUtility.getWhisperRecipientsAndGMs(game.user.name),
|
||||||
content: await renderTemplate(`systems/foundryvtt-reve-de-dragon/templates/chat-fabriquer-potion-base.html`, messageData)
|
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) {
|
async consommerPotionGenerique(potionData) {
|
||||||
potionData.alias = this.name;
|
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({
|
ChatMessage.create({
|
||||||
whisper: ChatUtility.getWhisperRecipientsAndGMs(game.user.name),
|
whisper: ChatUtility.getWhisperRecipientsAndGMs(game.user.name),
|
||||||
content: await renderTemplate(`systems/foundryvtt-reve-de-dragon/templates/chat-consommer-potion-generique.html`, potionData)
|
content: await renderTemplate(`systems/foundryvtt-reve-de-dragon/templates/chat-consommer-potion-generique.html`, potionData)
|
||||||
|
@ -1,22 +0,0 @@
|
|||||||
<img class="chat-icon" src="systems/foundryvtt-reve-de-dragon/icons/competence_botanique.png" alt="potion de repos" />
|
|
||||||
<h4>
|
|
||||||
{{#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}}
|
|
||||||
</h4>
|
|
||||||
<hr>
|
|
||||||
<div>
|
|
||||||
{{#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.<br>
|
|
||||||
{{#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.
|
|
||||||
</div>
|
|
@ -1,21 +0,0 @@
|
|||||||
<img class="chat-icon" src="systems/foundryvtt-reve-de-dragon/icons/competence_botanique.png" alt="potion de soin" />
|
|
||||||
<h4>
|
|
||||||
{{#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}}
|
|
||||||
</h4>
|
|
||||||
<hr>
|
|
||||||
<div>
|
|
||||||
{{#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 :
|
|
||||||
<ul>
|
|
||||||
{{#each guerisonData.list as |guerison key|}}
|
|
||||||
<li>{{guerison}}</li>
|
|
||||||
{{/each}}
|
|
||||||
</ul>
|
|
||||||
<br>
|
|
||||||
{{/if}}
|
|
||||||
La potion a également été supprimée de l'équipement.
|
|
||||||
</div>
|
|
@ -1,9 +1,18 @@
|
|||||||
<img class="chat-icon" src="systems/foundryvtt-reve-de-dragon/icons/competence_botanique.png" alt="potion de repos" />
|
<img class="chat-icon" src="{{img}}" alt="potion de repos" />
|
||||||
<h4>
|
<h4>
|
||||||
{{alias}} consomme sa <b>Potion {{#if data.magique}}enchantée{{/if}}</b> de {{name}}.
|
{{alias}} a bu une <strong>{{name}}{{#if data.magique}} enchantée{{/if}}</strong>
|
||||||
</h4>
|
</h4>
|
||||||
<hr>
|
<hr>
|
||||||
<div>
|
<div>
|
||||||
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}}
|
||||||
|
<br>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}}.
|
||||||
<br>La potion a été supprimée de l'équipement.
|
<br>La potion a été supprimée de l'équipement.
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,13 +1,27 @@
|
|||||||
<img class="chat-icon" src="systems/foundryvtt-reve-de-dragon/icons/competence_botanique.png" alt="potion de repos" />
|
<img class="chat-icon" src="{{img}}" alt="potion de repos" />
|
||||||
<h4>
|
<h4>
|
||||||
{{alias}} consomme sa <b>Potion de Repos {{#if data.magique}}enchantée{{/if}}</b> de {{name}} ({{data.herbe}}, {{data.herbebrins}} brins).
|
{{alias}} a bu une <strong>{{name}}{{#if data.magique}} enchantée{{/if}}</strong>
|
||||||
</h4>
|
</h4>
|
||||||
<hr>
|
<hr>
|
||||||
<div>
|
<div>
|
||||||
{{#if data.magique}}
|
{{#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}}.
|
||||||
{{else}}
|
{{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}}
|
||||||
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 rolled.isEchec}}
|
||||||
<br>La potion a également été supprimée de l'équipement.
|
<br>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.<br>
|
||||||
|
{{#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}}
|
||||||
|
{{/if}}
|
||||||
|
{{else}}
|
||||||
|
<br>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).
|
||||||
|
{{/if}}
|
||||||
|
<br>La potion a été supprimée de l'équipement.
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,13 +1,25 @@
|
|||||||
<img class="chat-icon" src="systems/foundryvtt-reve-de-dragon/icons/competence_botanique.png" alt="potion de soin" />
|
<img class="chat-icon" src="{{img}}" alt="potion de soin" />
|
||||||
<h4>
|
<h4>
|
||||||
{{alias}} consomme sa <b>Potion de soins {{#if data.magique}}enchantée{{/if}}</b> de {{name}} ({{data.herbe}}, {{data.herbebrins}} brins).
|
{{alias}} a bu une <strong>{{name}}{{#if data.magique}} enchantée{{/if}}</strong>
|
||||||
</h4>
|
</h4>
|
||||||
<hr>
|
<hr>
|
||||||
<div>
|
<div>
|
||||||
{{#if data.magique}}
|
{{#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}}
|
||||||
|
<br>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 :
|
||||||
|
<ul>
|
||||||
|
{{#each guerisonData.list as |guerison key|}}
|
||||||
|
<li>{{guerison}}</li>
|
||||||
|
{{/each}}
|
||||||
|
</ul>
|
||||||
|
{{else}}
|
||||||
|
<br>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}}
|
{{else}}
|
||||||
Lors de votre prochain jet de récupération à Chateau Dormant, vous bénéficierez d'un bonus de {{data.herbebonus}} (appliqué automatiquement).
|
Lors de votre prochain jet de récupération à Chateau Dormant, vous bénéficierez d'un bonus de {{data.herbebonus}} (appliqué automatiquement).
|
||||||
<br>La potion a également été supprimée de l'équipement.
|
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
<br>La potion a été supprimée de l'équipement.
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<img class="chat-icon" src="systems/foundryvtt-reve-de-dragon/icons/competence_botanique.png" alt="fabrication" />
|
<img class="chat-icon" src="{{herbe.img}}" alt="fabrication" />
|
||||||
<h4>
|
<h4>
|
||||||
{{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.
|
||||||
</h4>
|
</h4>
|
||||||
<hr>
|
<hr>
|
||||||
<div>
|
<div>
|
||||||
|
Loading…
Reference in New Issue
Block a user