diff --git a/module/poetique.js b/module/poetique.js
index 58127bf8..ec2e55b2 100644
--- a/module/poetique.js
+++ b/module/poetique.js
@@ -50,7 +50,7 @@ const poesieHautReve = [
},
{
reference: 'Denis Gerfaud',
- extrait: `Ainsi se cuccèdent les Jours et les Ages.
+ extrait: `Ainsi se succèdent les Jours et les Ages.
Les jours des Dragons sont les Ages des Hommes.`
},
{
diff --git a/module/rdd-resolution-table.js b/module/rdd-resolution-table.js
index e1b373d7..0917997e 100644
--- a/module/rdd-resolution-table.js
+++ b/module/rdd-resolution-table.js
@@ -165,7 +165,8 @@ export class RdDResolutionTable {
if (difficulte < -10) {
return duplicate(levelDown.find(levelData => levelData.level == difficulte));
}
- return duplicate(RdDResolutionTable.resolutionTable[caracValue][difficulte + 10]);
+ const chances = RdDResolutionTable.resolutionTable[caracValue][difficulte + 10];
+ return chances ? duplicate(chances) : RdDResolutionTable._computeCell(difficulte, RdDResolutionTable.computeChances(caracValue, difficulte));
}
/* -------------------------------------------- */
@@ -224,16 +225,26 @@ export class RdDResolutionTable {
/* -------------------------------------------- */
static _computeRow(caracValue) {
- let dataRow = [
- this._computeCell(-10, Math.max(Math.floor(caracValue / 4), 1)),
- this._computeCell(-9, Math.max(Math.floor(caracValue / 2), 1))
- ]
- for (var diff = -8; diff <= 22; diff++) {
- dataRow[diff + 10] = this._computeCell(diff, Math.max(Math.floor(caracValue * (diff + 10) / 2), 1));
+ let dataRow = [];
+ for (var diff = -10; diff <= 22; diff++) {
+ dataRow[diff + 10] = this._computeCell(diff, RdDResolutionTable._computePercentage(caracValue, diff));
}
return dataRow;
}
+ static _computePercentage(caracValue, diff) {
+ if (diff <-10) {
+ return 1;
+ }
+ if (diff == -10){
+ return Math.max(Math.floor(caracValue / 4), 1);
+ }
+ if (diff == -9) {
+ return Math.max(Math.floor(caracValue / 2), 1)
+ }
+ return Math.max(Math.floor(caracValue * (diff + 10) / 2), 1);
+ }
+
/* -------------------------------------------- */
static _computeCell(niveau, percentage) {
return {
diff --git a/packs/rappel-des-regles.db b/packs/rappel-des-regles.db
index 65ea77b0..661cf16c 100644
--- a/packs/rappel-des-regles.db
+++ b/packs/rappel-des-regles.db
@@ -1,5 +1,5 @@
{"_id":"3wVxF2IRf3c1lOxC","name":"Communication avec les créatures invoquées","permission":{"default":0,"jOzRscDxoXZWpGS6":3},"flags":{},"content":"
Seul le haut-rêvant invocateur peut communiquer avec sa créature invoquée (Guerrier Sorde, Kanaillou, etc.) et ne peut le faire qu’oralement. Cela sous-entend que le haut-rêvant doit être en mesure de parler.
"} -{"_id":"7uGrUHGdPu0EmIu2","name":"Documentation MJ/Joueurs","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"folder":"","flags":{},"content":"Ce système pour Foundry est une implémentation de Rêve de Dragon, un jeu de Denis Gerfaud, publié dans sa troisième édition par \"Le Scriptarium\". Rêve de Dragon est une marque déposée par \"Scriptarium\". Tous les droits leur en reviennent naturellement.
\nMerci à Scriptarium (Jidus et Roland Barthelémy) pour l'autorisation d'utilisation des silhouettes de créatures et les Terres Médianes du Rêve.
\nCrédits :
\nPour nous contacter : https://discord.gg/pPSDNJk , channel #reve-de-dragon
\nTout se fait manuellement à l'heure actuelle, il convient donc procéder comme suit :
\nChaque élément apparaît dans son onglet propre.
\nPour réaliser un jet, il suffit de cliquer sur le nom d'une caractéristique, sur une compétence ou sur un objet. Ce clic ouvre la boite de dialogue des jets, qui permet de paramétrer les différentes options (difficulté, compétence/carac, etc). Le lancer affiche les résultats dans le tchat, avec le résultat, la qualité de la réussite, les points d'expérience éventuels et les points de taches.
\nL'état général du personnage est automatiquement pris en compte.
\nLes principaux compteurs (vie, endurance, fatigue et rêve, sonné) sont visibles dans la partie haute. Un clic sur le rêve à cet endroit permet de faire un jet de points actuels de rêve (par exemple, un jet de résistance).
\nPlusieurs boutons sont disponibles:
\nPour l'initiative et les attaques, des options sont disponibles sur le token (menu contextuel).
\nUne fois l'initiative réglée, l'attaquant sélectionne sa cible, puis utilise l'option d'attaque avec cette arme souhaitée (il peut aussi utiliser l'arme dans la feuille de persionnage). La fenêtre de jet de résolution est alors ouverte pour choisir sa difficulté libre, et différents ajustements liés aux conditions et tactiques.
\nSi l'attaque réussit, le défenseur recevra un message dans le tchat avec ses actions de défense -ou d'encaissement- disponibles, selon ses compétences : Encaisser, Esquiver, Parer, ...
\nUn click sur ces actions génère le jet de riposte et produit les résultats. En cas d'échec, le défenseur aura de nouveau un message lui demandant d'encaisser, pour lui donner l'opportunité de faire appel à la chance ou à la destinée.
\nSi décidément ce nb'est pas son jour, il peut cliquer sur le lien pour encaisser, les blessures et l'état général sont automatiquement mis à jour.
\nLes sorts peuvent être ajoutés depuis le compendium correspondant (par voie de Draconic). La description des sorts est disponible en cliquant sur le sort.
\nPour monter dans les Terres Médianes, il suffit de cliquer sur l'un des boutons \"Monter dans les Terres Médianes!\" sur la feuille de personnage.
\nLa fiche des TMR apparait alors, vous permettant de vous déplacer. Le point de rêve de montée, la fatigue, les rencontres, les cases humides sont automatiquement gérés. Lorsque vous êtes sur la bonne case, il vous suffit de cliquer sur 'Lancer le sort', qui ouvre la boite de dialogue du lancement.
\nCertains raccourcis de commandes sont disponibles directement dans le tchat:
\n/table [table]
: effectue un tirage sur la table correspondante (queues, ombres, tete, tetehr, souffle, tarot)/table rdd
: ouvre la table de résolution/tmra
: Tire une case aléatoire des TMR/tmrr [type de case] [1-100]
: détermine la rencontre correspondant au jet de dés pour le type de caseCe système pour Foundry est une implémentation de Rêve de Dragon, un jeu de Denis Gerfaud, publié dans sa troisième édition par \"Le Scriptarium\". Rêve de Dragon est une marque déposée par \"Scriptarium\". Tous les droits leur en reviennent naturellement.
\nMerci à Scriptarium (Jidus et Roland Barthelémy) pour l'autorisation d'utilisation des silhouettes de créatures et les Terres Médianes du Rêve.
\nCrédits :
\nPour nous contacter : https://discord.gg/pPSDNJk , channel #reve-de-dragon
\nTout se fait manuellement à l'heure actuelle, il convient donc procéder comme suit :
\nSi votre personnage est haut-rêvant, allez dans le menu Compendium.
\nC'est aussi dans l'onglet Haut-Rêve du personnage que vous pouvez ajouter des têtes, queues, souffles de dragons, (ouvrez le compendium correspondant et faites glisser/déplacer), ainsi que modifier le seuil de rêve.
\nLes principaux compteurs (vie, endurance, fatigue et rêve, sonné) sont visibles dans la partie haute. Un clic sur le rêve à cet endroit permet de faire un jet de points actuels de rêve (par exemple, un jet de résistance).
\nPlusieurs boutons sont disponibles:
\nPour l'initiative et les attaques, des options sont disponibles sur le token (menu contextuel). A droite, l'initiative (préfixe I:
), à gauche les attaques (préfixe A:
).
Une fois l'initiative réglée, l'attaquant sélectionne sa cible, puis utilise l'option d'attaque avec cette arme souhaitée (il peut aussi utiliser l'arme dans la feuille de persionnage). La fenêtre de jet de résolution est alors ouverte pour choisir sa difficulté libre, et différents ajustements liés aux conditions et tactiques.
\nSi l'attaque réussit, le défenseur recevra un message dans le tchat avec ses actions de défense -ou d'encaissement- disponibles, selon ses compétences : Encaisser, Esquiver, Parer, ...
\nUn click sur ces actions génère le jet de riposte et produit les résultats. En cas d'échec, le défenseur aura de nouveau un message lui demandant d'encaisser, pour lui donner l'opportunité de faire appel à la chance ou à la destinée.
\nSi décidément ce n'est pas son jour, il peut cliquer sur le lien pour encaisser, les blessures et l'état général sont automatiquement mis à jour.
\nPour réaliser un jet, il suffit de cliquer sur le nom d'une caractéristique, sur une compétence ou sur un objet. Ce clic ouvre la boite de dialogue des jets, qui permet de paramétrer les différentes options (difficulté, compétence/carac, etc). Le lancer affiche les résultats dans le tchat, avec le résultat, la qualité de la réussite, les points d'expérience éventuels à répartir (pour les caractéristiques dérivées) et les points de taches.
\nL'état général du personnage est automatiquement pris en compte.
\nDe nombreux cas particuliers (interprêter une oeuvre, cuisiner, recette alchimiques, tâches de lecture, de soins, ...) sont aussi disponibles (savoirs et tâches).
\nPour monter dans les Terres Médianes, il suffit de cliquer sur l'un des boutons \"Monter dans les Terres Médianes!\" sur la feuille de personnage.
\nLa fiche des TMR apparait alors, vous permettant de vous déplacer. Le point de rêve de montée, la fatigue, les rencontres, les cases humides sont automatiquement gérés. Lorsque vous êtes sur la bonne case, il vous suffit de cliquer sur 'Lancer le sort', qui ouvre la boite de dialogue du lancement.
\nCertains raccourcis de commandes sont disponibles directement dans le tchat, quelques exemples:
\n/aide
: donne la liste des (nombreuses) commandes disponibles/table [table]
: effectue un tirage sur la table correspondante (queues, ombres, tete, tetehr, souffle, tarot)/rdd
: ouvre la table de résolution/rdd odor vigil -3
: effectue un jet d'Odorat-Goût / Vigilance à -3 pour les tokens sélectionnés/rdd 12 0
: effectue un jet avec une caractéristique de 12 dans la colonne 0/tmra
: Tire une case aléatoire des TMR/tmra forêt
: Tire une forêt aléatoire des TMR/tmrr [type de case] [1-100]
: détermine la rencontre correspondant au jet de dés pour le type de caseNon maîtrisé, le Passeur fou emporte immédiatement le demi- rêve du haut-rêvant jusqu’à la plus proche case où il a un sort en réserve, l’obligeant à le déclencher. Peu importe la distance, même si elle excède les 2d8. À distances égales, choisir le haut de la carte en priorité et tourner dans le sens des aiguilles d’une montre. Si aucun sort n’est en réserve, le Passeur fou emporte le demi-rêve du haut-rêvant dans une direction aléatoire et à un nombre de cases équivalent à sa force.
"} {"_id":"GRKYbbNDIHdzVNaj","name":"Note sur les invocations de créatures","permission":{"default":0,"jOzRscDxoXZWpGS6":3},"flags":{},"content":"Les créatures invoquées ne sont pas des hologrammes sans substance mais des présences physiques véritables. La plupart d’entre elles, comme les guerriers, peuvent être blessées, sonnées, tuées. À l’exception du Kanaillou, chaque type de créature invoquée ne peut accomplir qu’un genre de tâche spécifique. Le ciblage doit être fait, dans les limites de la portée, sur un point du sol libre de tout obstacle, où la créature puisse se matérialiser. La durée de l’invocation dépend de la tâche, mais ne peut excéder la fin de l’heure de naissance du haut-rêvant. À ce moment, la créature se dématérialise intégralement, ainsi que tout son équipement. Même chose si elle est tuée. Il est vain de songer à récupérer l’armure et les armes d’un Guerrier Sorde. Chaque type de créature est toujours invoqué dans une case spécifique et non pas dans n’importe quelle case du même genre. Par ailleurs, ces rituels obéissent à toutes les règles standard d’application des rituels.
"} {"_id":"K42KNuBHizMppV5F","name":"Tourbillon rouge","permission":{"default":0,"jOzRscDxoXZWpGS6":3},"flags":{},"content":"Le Tourbillon rouge est un tourbillon vampire. Il fonctionne comme les Tourbillons blancs et noirs, sauf que chaque round tant qu’il n’est pas maîtrisé fait dériver le demi-rêve de 4 cases, draine 2 points de rêve et 1 point de vie.
\nOn peut se dérober normalement devant ces rencontres ou les refouler. Toutefois, leur refoulement coûte 2 points au lieu d’un, sauf le Tourbillon rouge qui en coûte 3.
"}