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":"

Préambule

\n

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. 

\n

Merci à Scriptarium (Jidus et Roland Barthelémy) pour l'autorisation d'utilisation des silhouettes de créatures et les Terres Médianes du Rêve.

\n

Crédits : 

\n\n

Pour nous contacter : https://discord.gg/pPSDNJk  , channel #reve-de-dragon

\n

Créer un Personnage

\n

Tout se fait manuellement à l'heure actuelle, il convient donc procéder comme suit : 

\n\n

Chaque élément apparaît dans son onglet propre.

\n

Pour 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.

\n

L'état général du personnage est automatiquement pris en compte.

\n

Partie haute

\n

Les 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).

\n

Plusieurs boutons sont disponibles:

\n\n

Combat

\n

Pour l'initiative et les attaques, des options sont disponibles sur le token (menu contextuel).

\n

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. 

\n

Si 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, ...

\n

Un 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.

\n

Si 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.

\n

Haut Rêve

\n

Les sorts peuvent être ajoutés depuis le compendium correspondant (par voie de Draconic). La description des sorts est disponible en cliquant sur le sort.

\n

Pour 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.

\n

La 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.

\n

Divers

\n

Certains raccourcis de commandes sont disponibles directement dans le tchat:

\n\n

Ce qui n'est pas implémenté/en cours

\n\n

\"\"

","img":""} +{"_id":"7uGrUHGdPu0EmIu2","name":"Documentation MJ/Joueurs","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"folder":"","flags":{"exportSource":{"world":"world-rdd-fontaine-ortigrise","system":"foundryvtt-reve-de-dragon","coreVersion":"0.7.9","systemVersion":"1.3.51"}},"content":"

Préambule

\n

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. 

\n

Merci à Scriptarium (Jidus et Roland Barthelémy) pour l'autorisation d'utilisation des silhouettes de créatures et les Terres Médianes du Rêve.

\n

Crédits : 

\n\n

Pour nous contacter : https://discord.gg/pPSDNJk  , channel #reve-de-dragon

\n

Créer un Personnage

\n

Tout se fait manuellement à l'heure actuelle, il convient donc procéder comme suit :

\n

Caractéristiques, compétences, équipement

\n\n

Haut-Rêvant

\n

Si votre personnage est haut-rêvant, allez dans le menu Compendium.

\n\n

C'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.

\n

Partie haute

\n

Les 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).

\n

Plusieurs boutons sont disponibles:

\n\n

Combat

\n

Pour 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:).

\n

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. 

\n

Si 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, ...

\n

Un 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.

\n

Si 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.

\n

Faire un test de Compétence / Caractéristique

\n

Pour 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.

\n

L'état général du personnage est automatiquement pris en compte.

\n

De nombreux cas particuliers (interprêter une oeuvre, cuisiner, recette alchimiques, tâches de lecture, de soins, ...) sont aussi disponibles (savoirs et tâches).

\n

Haut Rêve

\n

Pour 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.

\n

La 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.

\n

Divers

\n

Certains raccourcis de commandes sont disponibles directement dans le tchat, quelques exemples:

\n\n

Ce qui n'est pas implémenté/en cours

\n\n

\"\"

","img":""} {"_id":"G2WDlZwZaEyH94Au","name":"Passeur fou","permission":{"default":0,"jOzRscDxoXZWpGS6":3},"flags":{},"content":"

Non 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.

\n

On 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.

"}