Compare commits

..

No commits in common. "fe7bd9e05e5199752d2c3035d5b877d243e66d3f" and "792558ac84f155767ae7d52f76e6f8fa63eb5e9c" have entirely different histories.

24 changed files with 81 additions and 155 deletions

View File

@ -3,14 +3,9 @@
- on peut ajouter des liens "jet de dés" dans les journaux texte - on peut ajouter des liens "jet de dés" dans les journaux texte
- on peut ajouter des liens "jet de dés" dans les descriptions, notes, ... - on peut ajouter des liens "jet de dés" dans les descriptions, notes, ...
- les liens "jet de dés" peuvent être utilisés pour un acteur, ou les items de l'acteurs - les liens "jet de dés" peuvent être utilisés pour un acteur, ou les items de l'acteurs
- les liens "jet avec caractéristiques" s'appliquent: - les liens "jet de dés" d'un item non lié à un acteur agit sur les tokens sélectionnés
- à tous les tokens sélectionnés
- sinon, à l'acteur propriétaire d'un Item
- sinon, au personnage du joueur
- gestion des blocs secrets dans les descriptions - gestion des blocs secrets dans les descriptions
- on peut ajouter des liens "jet de dés" pour appeler une formule dés de foundry - on peut ajouter des liens "jet de dés" pour appeler une formule de foundry
## 12.0.33 - la vieillesse d'Astrobazzarh ## 12.0.33 - la vieillesse d'Astrobazzarh
- retour de l'expérience pour les joueurs - retour de l'expérience pour les joueurs

View File

@ -222,7 +222,7 @@ export class RdDActorSheet extends RdDBaseActorSangSheet {
} }
// Points de reve actuel // Points de reve actuel
this.html.find('.roll-reve-actuel').click(async event => this.actor.rollCarac('reve-actuel', {resistance:true})) this.html.find('.roll-reve-actuel').click(async event => this.actor.rollCarac('reve-actuel', true))
this.html.find('.empoignade-label a').click(async event => RdDEmpoignade.onAttaqueEmpoignadeFromItem(RdDSheetUtility.getItem(event, this.actor))) this.html.find('.empoignade-label a').click(async event => RdDEmpoignade.onAttaqueEmpoignadeFromItem(RdDSheetUtility.getItem(event, this.actor)))
this.html.find('.roll-arme').click(async event => this.actor.rollArme(foundry.utils.duplicate(this._getEventArmeCombat(event)), 'competence')) this.html.find('.roll-arme').click(async event => this.actor.rollArme(foundry.utils.duplicate(this._getEventArmeCombat(event)), 'competence'))

View File

@ -28,7 +28,7 @@ export class RdDBaseActorReveSheet extends RdDBaseActorSheet {
this.html.find('.button-encaissement').click(async event => this.actor.encaisser()) this.html.find('.button-encaissement').click(async event => this.actor.encaisser())
this.html.find('.roll-carac').click(async event => { this.html.find('.roll-carac').click(async event => {
this.actor.rollCarac(Grammar.toLowerCaseNoAccent(event.currentTarget.attributes['data-carac-name'].value))}) this.actor.rollCarac(Grammar.toLowerCaseNoAccent(event.currentTarget.attributes['data-carac-name'].value))});
this.html.find('.roll-competence').click(async event => this.actor.rollCompetence(RdDSheetUtility.getItemId(event))); this.html.find('.roll-competence').click(async event => this.actor.rollCompetence(RdDSheetUtility.getItemId(event)));
this.html.find('.endurance-plus').click(async event => this.actor.santeIncDec("endurance", 1)); this.html.find('.endurance-plus').click(async event => this.actor.santeIncDec("endurance", 1));
this.html.find('.endurance-moins').click(async event => this.actor.santeIncDec("endurance", -1)); this.html.find('.endurance-moins').click(async event => this.actor.santeIncDec("endurance", -1));

View File

@ -344,14 +344,14 @@ export class RdDBaseActorReve extends RdDBaseActor {
competences: this.itemTypes['competence'] competences: this.itemTypes['competence']
}, },
callbackAction: r => this.$onRollCaracResult(r) callbackAction: r => this.$onRollCaracResult(r)
}) });
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
async rollCarac(caracName, options = {}) { async rollCarac(caracName, jetResistance = undefined) {
if (Grammar.equalsInsensitive(caracName, 'taille')) { if (Grammar.equalsInsensitive(caracName, 'taille')) {
return return
} }
foundry.utils.mergeObject(options, { resistance: false, diff: 0 }, { overwrite: false })
RdDEmpoignade.checkEmpoignadeEnCours(this) RdDEmpoignade.checkEmpoignadeEnCours(this)
let selectedCarac = this.getCaracByName(caracName) let selectedCarac = this.getCaracByName(caracName)
console.log("selectedCarac", selectedCarac) console.log("selectedCarac", selectedCarac)
@ -362,8 +362,7 @@ export class RdDBaseActorReve extends RdDBaseActor {
rollData: { rollData: {
selectedCarac: selectedCarac, selectedCarac: selectedCarac,
competences: this.itemTypes['competence'], competences: this.itemTypes['competence'],
diffLibre: options.diff ?? 0, jetResistance: jetResistance ? caracName : undefined
jetResistance: options.resistance ? caracName : undefined
}, },
callbackAction: r => this.$onRollCaracResult(r) callbackAction: r => this.$onRollCaracResult(r)
}); });

View File

@ -81,6 +81,7 @@ export class RdDBaseActor extends Actor {
} }
} }
static getRealActor(actorId, tokenId) { static getRealActor(actorId, tokenId) {
if (tokenId) { if (tokenId) {
let token = canvas.tokens.get(tokenId) let token = canvas.tokens.get(tokenId)
@ -160,11 +161,8 @@ export class RdDBaseActor extends Actor {
return RdDBaseActor.$findCaracByName(carac, name); return RdDBaseActor.$findCaracByName(carac, name);
} }
mapCarac(caracCode) { return caracCode }
getCaracByName(name) { getCaracByName(name) {
name = this.mapCarac(Grammar.toLowerCaseNoAccent(name)) switch (Grammar.toLowerCaseNoAccent(name)) {
switch (name) {
case 'reve-actuel': case 'reve actuel': case 'reve-actuel': case 'reve actuel':
return this.getCaracReveActuel(); return this.getCaracReveActuel();
case 'chance-actuelle': case 'chance-actuelle': case 'chance-actuelle': case 'chance-actuelle':

View File

@ -1,6 +1,4 @@
import { Grammar } from "../grammar.js";
import { ITEM_TYPES } from "../item.js"; import { ITEM_TYPES } from "../item.js";
import { LIST_CARAC_AUTRES } from "../rdd-carac.js";
import { RdDBaseActorSang } from "./base-actor-sang.js"; import { RdDBaseActorSang } from "./base-actor-sang.js";
export class RdDCreature extends RdDBaseActorSang { export class RdDCreature extends RdDBaseActorSang {
@ -34,14 +32,4 @@ export class RdDCreature extends RdDBaseActorSang {
} }
} }
mapCarac(caracCode) {
switch (caracCode) {
case 'vue': case 'ouie':
case 'odoratgout':
case 'empathie':
return 'perception'
}
return caracCode
}
} }

View File

@ -117,13 +117,4 @@ export class RdDEntite extends RdDBaseActorReve {
super.setEntiteReveAccordee(actor) super.setEntiteReveAccordee(actor)
} }
} }
mapCarac(caracCode) {
switch (caracCode) {
case 'taille':
return caracCode
}
return 'reve'
}
} }

View File

@ -3,7 +3,6 @@ import { RdDCarac } from "../rdd-carac.js";
import { SystemCompendiums } from "../settings/system-compendiums.js"; import { SystemCompendiums } from "../settings/system-compendiums.js";
import { RdDItemCompetence } from "../item-competence.js"; import { RdDItemCompetence } from "../item-competence.js";
import { ACTOR_TYPES } from "../item.js"; import { ACTOR_TYPES } from "../item.js";
import { RdDUtility } from "../rdd-utility.js";
const REGEXP_ROLL_CARAC_COMP = "(?<carac>[A-Za-zÀ-ÖØ-öø-ÿ\\s\\-]+)(\\/(?<competence>[A-Za-zÀ-ÖØ-öø-ÿ\\s\\-]+))?(/(?<diff>[\\+\\-]?\\d+))?" const REGEXP_ROLL_CARAC_COMP = "(?<carac>[A-Za-zÀ-ÖØ-öø-ÿ\\s\\-]+)(\\/(?<competence>[A-Za-zÀ-ÖØ-öø-ÿ\\s\\-]+))?(/(?<diff>[\\+\\-]?\\d+))?"
const XREGEXP_ROLL_CARAC_COMP = XRegExp("@roll\\[" + REGEXP_ROLL_CARAC_COMP + "\\]", 'giu') const XREGEXP_ROLL_CARAC_COMP = XRegExp("@roll\\[" + REGEXP_ROLL_CARAC_COMP + "\\]", 'giu')
@ -24,39 +23,16 @@ class TextRollCaracCompetence {
} }
static async onRollText(event, actor) { static async onRollText(event, actor) {
const caracCode = event.currentTarget.attributes['data-carac-code']?.value const caracCode = event.currentTarget.attributes['data-carac-code']?.value
if (caracCode) { if (caracCode) {
const competence = event.currentTarget.attributes['data-competence']?.value const competence = event.currentTarget.attributes['data-competence']?.value
const diff = event.currentTarget.attributes['data-diff']?.value const diff = event.currentTarget.attributes['data-diff']?.value
const actors = TextRollCaracCompetence.getSelectedActors(actor)
actors.forEach(it => TextRollCaracCompetence.doRoll(it, caracCode, competence, diff))
}
}
static async doRoll(actor, caracCode, competence, diff) {
caracCode = actor.mapCarac(caracCode)
if (competence) {
if (actor.type == ACTOR_TYPES.personnage) {
actor.rollCaracCompetence(caracCode, competence, diff)
}
else {
actor.doRollCaracCompetence(caracCode, competence, diff)
}
}
else {
actor.rollCarac(caracCode, { diff })
}
}
static getSelectedActors(actor) { const path = RdDCarac.caracDetails(caracCode)?.path
const selected = canvas.tokens.controlled.map(it => it.actor).filter(it => it) const actors = actor ? [actor] : canvas.tokens.controlled.map(it => it.actor).filter(it => it)
if (selected.length > 0) { actors.filter(it => foundry.utils.getProperty(it, path) != undefined)
return selected .forEach(it => it.doRollCaracCompetence(caracCode, competence, diff))
} }
actor = actor ?? RdDUtility.getSelectedActor()
if (actor) {
return [actor]
}
return []
} }
constructor(text, competences) { constructor(text, competences) {

View File

@ -77,7 +77,7 @@ export class RdDCarac {
static caracDetails(name) { static caracDetails(name) {
let entry = Misc.findFirstLike(name, LIST_CARAC_ROLL, { mapper: it => it.code, description: 'caractéristique', onMessage: m => { } }) let entry = Misc.findFirstLike(name, LIST_CARAC_ROLL, { mapper: it => it.code, description: 'caractéristique', onMessage: m => { } })
if (entry) { if (entry && entry.length > 0) {
return entry return entry
} }
return Misc.findFirstLike(name, LIST_CARAC_ROLL, { mapper: it => it.label, description: 'caractéristique' }) return Misc.findFirstLike(name, LIST_CARAC_ROLL, { mapper: it => it.label, description: 'caractéristique' })

View File

@ -184,16 +184,16 @@ system:
value: '+0' value: '+0'
label: +dom label: +dom
derivee: true derivee: true
encombrement:
type: number
value: 0
label: Encombrement
derivee: false
vitesse: vitesse:
type: string type: string
value: 12/28 value: 12/28
label: Vitesse label: Vitesse
derivee: true derivee: true
encombrement:
type: number
value: 0
label: Encombrement
derivee: false
protection: protection:
type: number type: number
value: 4 value: 4
@ -207,19 +207,28 @@ system:
value: 0 value: 0
label: Sur-encombrement label: Sur-encombrement
description: >- description: >-
<h1>Description</h1><p>Description Le chrasme (prononcer krasme) est une <h1>Description</h1>
sorte de cafard géant à carapace de crabe aux jointures poilues. Il mesure
en moyenne 1 m de haut sur 1m50 de long, et peut peser jusquà 50 kg. Doté <p>Description Le chrasme (prononcer krasme) est une sorte de cafard
de mandibules acérées et puissantes, il est redouté pour son venin g&eacute;ant &agrave; carapace de crabe aux jointures poilues. Il mesure en
mortel.</p><h1>Mœurs</h1><p>Le chrasme vit dans les lieux sombres, cavernes moyenne 1 m de haut sur 1m50 de long, et peut peser jusqu&rsquo;&agrave; 50
et souterrains, où il se nourrit de tout. Paranos le Moindre affirme quà kg. Dot&eacute; de mandibules ac&eacute;r&eacute;es et puissantes, il est
défaut dune meilleure chère, il peut même se sustenter de cailloux. Il redout&eacute; pour son venin mortel.</p>
déteste la lumière comme son cousin de petite taille, mais a toutefois un
comportement différent: au lieu de fuir, il entre dans une rage féroce et se <h1>M&oelig;urs</h1>
rue sur le porteur de lumière pour le réduire en charpie. Savez-vous, cher
Paranos, que vous nous faites un peu peur <p>Le chrasme vit dans les lieux sombres, cavernes et souterrains, o&ugrave;
?</p><h1>Venin</h1><p>@UUID[Compendium.foundryvtt-reve-de-dragon.maladies-et-poisons.Item.cFMUtU6LZG0mKeDl]{Venin il se nourrit de tout. Paranos le Moindre affirme qu&rsquo;&agrave;
de chrasme}</p><p></p> d&eacute;faut d&rsquo;une meilleure ch&egrave;re, il peut m&ecirc;me se
sustenter de cailloux. Il d&eacute;teste la lumi&egrave;re comme son cousin
de petite taille, mais a toutefois un comportement diff&eacute;rent: au lieu
de fuir, il entre dans une rage f&eacute;roce et se rue sur le porteur de
lumi&egrave;re pour le r&eacute;duire en charpie. Savez-vous, cher Paranos,
que vous nous faites un peu peur ?</p>
<h1>Venin</h1>
<p>@UUID[Compendium.foundryvtt-reve-de-dragon.maladies-et-poisons.Item.cFMUtU6LZG0mKeDl]{Venin
de chrasme}</p> <p></p>
race: '' race: ''
notesmj: '' notesmj: ''
ownership: ownership:
@ -302,13 +311,7 @@ prototypeToken:
texture: null texture: null
_stats: _stats:
systemId: foundryvtt-reve-de-dragon systemId: foundryvtt-reve-de-dragon
systemVersion: 12.0.32 systemVersion: 12.0.22
coreVersion: '12.331' coreVersion: '12.331'
createdTime: null
modifiedTime: 1736537299708
lastModifiedBy: Hp9ImM4o9YRTSdfu
compendiumSource: null
duplicateSource: null
flags: {}
_key: '!actors!yL1XStIKWxGnhKvR' _key: '!actors!yL1XStIKWxGnhKvR'

View File

@ -137,7 +137,7 @@ system:
elles-m&ecirc;mes, leur grincement involontaire est une torture. Toute elles-m&ecirc;mes, leur grincement involontaire est une torture. Toute
personne se trouvant dans un rayon de 10m doit manquer un jet personne se trouvant dans un rayon de 10m doit manquer un jet
d&rsquo;OU&Iuml;E &agrave; +5. Si le jet r&eacute;ussit, perte de 1 point d&rsquo;OU&Iuml;E &agrave; +5. Si le jet r&eacute;ussit, perte de 1 point
d&rsquo;endurance, puis jet de @roll[volonté/-5]. Si le jet de d&rsquo;endurance, puis jet de VOLONT&Eacute; &agrave; -5. Si le jet de
VOLONT&Eacute; &eacute;choue, le personnage est sonn&eacute; VOLONT&Eacute; &eacute;choue, le personnage est sonn&eacute;
jusqu&rsquo;&agrave; la fin du round suivant.</p> jusqu&rsquo;&agrave; la fin du round suivant.</p>

View File

@ -174,8 +174,8 @@ system:
agressivit&eacute; s&rsquo;appliquant aux humano&iuml;des. S&rsquo;agissant agressivit&eacute; s&rsquo;appliquant aux humano&iuml;des. S&rsquo;agissant
d&rsquo;un pouvoir inn&eacute;, elles n&rsquo;ont ni &agrave; monter dans d&rsquo;un pouvoir inn&eacute;, elles n&rsquo;ont ni &agrave; monter dans
les TMR, ni &agrave; d&eacute;penser de points de r&ecirc;ve. La victime les TMR, ni &agrave; d&eacute;penser de points de r&ecirc;ve. La victime
doit jouer un jet de r&eacute;sistance standard, @roll[reve-actuel/-8], et en cas doit jouer un jet de r&eacute;sistance standard, r-8, et en cas
d&rsquo;&eacute;chec, r&eacute;ussir un jet de @roll[Volonté/-3] d&rsquo;&eacute;chec, r&eacute;ussir un jet de VOLONT&Eacute; &agrave; -3
pour pouvoir attaquer la harpie. Le JR n&rsquo;est &agrave; jouer pour pouvoir attaquer la harpie. Le JR n&rsquo;est &agrave; jouer
qu&rsquo;une seule fois, tandis qu&rsquo;en cas d&rsquo;&eacute;chec, le jet qu&rsquo;une seule fois, tandis qu&rsquo;en cas d&rsquo;&eacute;chec, le jet
de VOLONT&Eacute; est &agrave; jouer tous les rounds. La non de VOLONT&Eacute; est &agrave; jouer tous les rounds. La non

View File

@ -201,7 +201,7 @@ system:
<p>La sir&egrave;ne a un chant attractif pouvant porter jusqu&rsquo;&agrave; <p>La sir&egrave;ne a un chant attractif pouvant porter jusqu&rsquo;&agrave;
50 m. Toute personne, homme ou femme, percevant ce chant, m&ecirc;me faible 50 m. Toute personne, homme ou femme, percevant ce chant, m&ecirc;me faible
et lointain, doit tenter un jet de @roll[Volonté/-3]. Sur toute et lointain, doit tenter un jet de VOLONT&Eacute; &agrave; -3. Sur toute
r&eacute;ussite, le personnage est libre de sa d&eacute;cision"; sur tout r&eacute;ussite, le personnage est libre de sa d&eacute;cision"; sur tout
&eacute;chec, il est irr&eacute;sistiblement attir&eacute; vers la source du &eacute;chec, il est irr&eacute;sistiblement attir&eacute; vers la source du
chant. Quand plusieurs sir&egrave;nes chantent simultan&eacute;ment, le jet chant. Quand plusieurs sir&egrave;nes chantent simultan&eacute;ment, le jet
@ -220,7 +220,7 @@ system:
corps, m&ecirc;me visage. Certaines sir&egrave;nes, plus rarement, donnent corps, m&ecirc;me visage. Certaines sir&egrave;nes, plus rarement, donnent
des illusions d&rsquo;hommes. Contrairement aux illusions des Yeux des illusions d&rsquo;hommes. Contrairement aux illusions des Yeux
d&rsquo;Hypnos, l&rsquo;illusion des sir&egrave;nes donne lieu &agrave; un d&rsquo;Hypnos, l&rsquo;illusion des sir&egrave;nes donne lieu &agrave; un
jet de r&eacute;sistance (standard, @roll[reve-actuel/-8]). Comme pour les chants, ce JR est jet de r&eacute;sistance (standard, r-8). Comme pour les chants, ce JR est
global : s&rsquo;il r&eacute;ussit, toutes les sir&egrave;nes apparaissent global : s&rsquo;il r&eacute;ussit, toutes les sir&egrave;nes apparaissent
sous leur v&eacute;ritable apparence; s&rsquo;il &eacute;choue, toutes sont sous leur v&eacute;ritable apparence; s&rsquo;il &eacute;choue, toutes sont
per&ccedil;ues sous leur apparence illusoire.</p> per&ccedil;ues sous leur apparence illusoire.</p>

View File

@ -228,8 +228,8 @@ system:
d&eacute;solations et autres lieux o&ugrave; Thanatos a laiss&eacute; son d&eacute;solations et autres lieux o&ugrave; Thanatos a laiss&eacute; son
empreinte. Ils poss&egrave;dent le m&ecirc;me pouvoir de non empreinte. Ils poss&egrave;dent le m&ecirc;me pouvoir de non
agressivit&eacute; s&rsquo;appliquant aux humano&iuml;des que la harpie. La agressivit&eacute; s&rsquo;appliquant aux humano&iuml;des que la harpie. La
victime doit jouer un jet de r&eacute;sistance standard, @roll[reve-actuel/-8], et en cas victime doit jouer un jet de r&eacute;sistance standard, r-8, et en cas
d&rsquo;&eacute;chec, r&eacute;ussir un jet de @roll[Volonté/-3] d&rsquo;&eacute;chec, r&eacute;ussir un jet de VOLONT&Eacute; &agrave; -3
pour pouvoir attaquer le tournedent. Le JR n&rsquo;est &agrave; jouer pour pouvoir attaquer le tournedent. Le JR n&rsquo;est &agrave; jouer
qu&rsquo;une seule fois, et en cas d&rsquo;&eacute;chec, le jet de qu&rsquo;une seule fois, et en cas d&rsquo;&eacute;chec, le jet de
VOLONT&Eacute; est &agrave; jouer tous les rounds. La non agressivit&eacute; VOLONT&Eacute; est &agrave; jouer tous les rounds. La non agressivit&eacute;

View File

@ -17,8 +17,9 @@ system:
&agrave; long terme, mais tout autant de l&rsquo;empathie pour bluffer lors &agrave; long terme, mais tout autant de l&rsquo;empathie pour bluffer lors
des surench&egrave;res.</p> des surench&egrave;res.</p>
<p>Pour simuler une partie, jouer un jet de @roll[chance/0] <p>Pour simuler une partie, jouer un jet de CHANCE &agrave; z&eacute;ro
(ajust&eacute; astrologiquement), suivi d&rsquo;un jet d&rsquo;@roll[EMPATHIE/Jeu/0], et additionner les points de t&acirc;che obtenus par (ajust&eacute; astrologiquement), suivi d&rsquo;un jet d&rsquo;EMPATHIE/Jeu
&agrave; z&eacute;ro, et additionner les points de t&acirc;che obtenus par
les deux jets. Le vainqueur est celui qui en totalise le plus.</p> les deux jets. Le vainqueur est celui qui en totalise le plus.</p>
descriptionmj: '' descriptionmj: ''
type: carte type: carte

View File

@ -104,7 +104,7 @@ system:
pareille. Son moral tombe directement &agrave; -3 et ne pourra pas remonter pareille. Son moral tombe directement &agrave; -3 et ne pourra pas remonter
tant que durera la possession. Chaque fois qu&rsquo;une action dangereuse se tant que durera la possession. Chaque fois qu&rsquo;une action dangereuse se
pr&eacute;sente, incluant toute action de combat y compris l&rsquo;esquive, pr&eacute;sente, incluant toute action de combat y compris l&rsquo;esquive,
la victime doit jouer un jet de @roll[Volonté/0]/moral. la victime doit jouer un jet de VOLONT&Eacute;/moral &agrave; z&eacute;ro.
Si ce jet &eacute;choue, la victime ne fait rien que trembler et claquer des Si ce jet &eacute;choue, la victime ne fait rien que trembler et claquer des
dents.</p> dents.</p>
race: '' race: ''

View File

@ -134,8 +134,8 @@ system:
n&eacute;cropoles, catacombes et autres lieux de s&eacute;pulture. Comme les n&eacute;cropoles, catacombes et autres lieux de s&eacute;pulture. Comme les
autres entit&eacute;s, leur raison d&rsquo;&ecirc;tre est de autres entit&eacute;s, leur raison d&rsquo;&ecirc;tre est de
d&eacute;truire. Le spectacle d&rsquo;un squelette est d&rsquo;une horreur d&eacute;truire. Le spectacle d&rsquo;un squelette est d&rsquo;une horreur
tellement contre nature qu&rsquo;il demande un jet de @roll[Volonté/-3]. tellement contre nature qu&rsquo;il demande un jet de VOLONT&Eacute;
En cas d&rsquo;&eacute;chec, le personnage est frapp&eacute; &agrave; -3. En cas d&rsquo;&eacute;chec, le personnage est frapp&eacute;
d&rsquo;effroi. En termes de r&egrave;gles, il est en demi- surprise d&rsquo;effroi. En termes de r&egrave;gles, il est en demi- surprise
jusqu&rsquo;&agrave; la fin du round suivant. Une fois d&eacute;truit, les jusqu&rsquo;&agrave; la fin du round suivant. Une fois d&eacute;truit, les
ossements constitutifs du squelette s&rsquo;&eacute;parpillent sur le sol, ossements constitutifs du squelette s&rsquo;&eacute;parpillent sur le sol,

View File

@ -7,7 +7,7 @@ system:
description: >- description: >-
<p>Ce sort provoque lillusion dune grande fatigue, qui est interprétée <p>Ce sort provoque lillusion dune grande fatigue, qui est interprétée
comme une fatigue réelle. La victime marque instantanément 6 cases de comme une fatigue réelle. La victime marque instantanément 6 cases de
fatigue, puis joue un jet de @roll[Volonté/-5] avec un éventuel bonus de +1 par fatigue, puis joue un jet de VOLONTÉ à -5 avec un éventuel bonus de +1 par
point de CONSTITUTION au-dessus de 15. Si le jet de VOLONTÉ réussit, il ny point de CONSTITUTION au-dessus de 15. Si le jet de VOLONTÉ réussit, il ny
a pas dautre conséquence que les cases de fatigue. Si le jet échoue, tout a pas dautre conséquence que les cases de fatigue. Si le jet échoue, tout
dépend alors de lactivité actuelle de la cible. Si elle est en condition de dépend alors de lactivité actuelle de la cible. Si elle est en condition de

View File

@ -18,7 +18,7 @@ system:
impossible dobtenir le sosie parfait de quelquun, tout comme il est impossible dobtenir le sosie parfait de quelquun, tout comme il est
difficile à un peintre dobtenir un portrait parfaitement ressemblant. Si un difficile à un peintre dobtenir un portrait parfaitement ressemblant. Si un
haut-rêvant désire donner à sa cible la même apparence que quelquun haut-rêvant désire donner à sa cible la même apparence que quelquun
dautre, il doit jouer un jet de @roll[Vue/-8], et obtiendra une ressemblance dautre, il doit jouer un jet de VUE à -8, et obtiendra une ressemblance
plus ou moins approchante selon son genre de résultat. Inventer un humanoïde plus ou moins approchante selon son genre de résultat. Inventer un humanoïde
anonyme quoique doté de traits spécifiques (blond, gros nez, une verrue au anonyme quoique doté de traits spécifiques (blond, gros nez, une verrue au
menton, etc.) sobtient sans problème. Comme toujours en ce qui concerne menton, etc.) sobtient sans problème. Comme toujours en ce qui concerne

View File

@ -5,13 +5,13 @@ flags: {}
img: systems/foundryvtt-reve-de-dragon/icons/tete_dragon.webp img: systems/foundryvtt-reve-de-dragon/icons/tete_dragon.webp
system: system:
description: >- description: >-
<p>Un jet d@roll[empathie/0] permet de rendre amical un animal non agressif <p>Un jet dEmpathie à zéro permet de rendre amical un animal non agressif
ou de rendre neutre un animal agressif. Les animaux restent neutres/amicaux ou de rendre neutre un animal agressif. Les animaux restent neutres\amicaux
jusquà ce quun événement significatif, agression ou autre, vienne tout jusquà ce quun événement significatif, agression ou autre, vienne tout
remettre en question. Ce nest pas un lien magique. Un seul jet par animal. remettre en question. Ce nest pas un lien magique. Un seul jet par animal.
Un animal rendu neutre par ce don ne peut pas ensuite être rendu amical par Un animal rendu neutre par ce don ne peut pas ensuite être rendu amical par
un second jet. Enfin létendue de la neutralité/amitié de lanimal dépend de un second jet. Enfin létendue de la neutralité\ amitié de lanimal dépend
chaque espèce et est à décider dans chaque cas particulier par le gardien de chaque espèce et est à décider dans chaque cas particulier par le gardien
des rêves. Cumulable.</p> des rêves. Cumulable.</p>
descriptionmj: '' descriptionmj: ''
frequence: 6 frequence: 6
@ -24,12 +24,7 @@ folder: null
sort: 0 sort: 0
_stats: _stats:
systemId: foundryvtt-reve-de-dragon systemId: foundryvtt-reve-de-dragon
systemVersion: 12.0.33 systemVersion: 12.0.22
coreVersion: '12.331' coreVersion: '12.331'
createdTime: null
modifiedTime: 1736617623199
lastModifiedBy: Hp9ImM4o9YRTSdfu
compendiumSource: null
duplicateSource: null
_key: '!items!wlbbh75GZWks3Ehb' _key: '!items!wlbbh75GZWks3Ehb'

View File

@ -5,9 +5,9 @@ flags: {}
img: systems/foundryvtt-reve-de-dragon/icons/tete_dragon.webp img: systems/foundryvtt-reve-de-dragon/icons/tete_dragon.webp
system: system:
description: >- description: >-
<p>Un jet d@roll[empathie/0] permet de deviner la direction du nord, et <p>Un jet dEmpathie à zéro permet de deviner la direction du nord, et dune
dune manière générale de retrouver une certaine direction quand on est manière générale de retrouver une certaine direction quand on est perdu ou
perdu ou par manque de visibilité (nuit, brouillard, souterrain, etc.). par manque de visibilité (nuit, brouillard, souterrain, etc.).
Cumulable.</p> Cumulable.</p>
descriptionmj: '' descriptionmj: ''
frequence: 6 frequence: 6
@ -20,12 +20,7 @@ folder: null
sort: 0 sort: 0
_stats: _stats:
systemId: foundryvtt-reve-de-dragon systemId: foundryvtt-reve-de-dragon
systemVersion: 12.0.33 systemVersion: 12.0.22
coreVersion: '12.331' coreVersion: '12.331'
createdTime: null
modifiedTime: 1736617654367
lastModifiedBy: Hp9ImM4o9YRTSdfu
compendiumSource: null
duplicateSource: null
_key: '!items!slnKVCfHbLwbXi4Z' _key: '!items!slnKVCfHbLwbXi4Z'

View File

@ -5,10 +5,10 @@ flags: {}
img: systems/foundryvtt-reve-de-dragon/icons/tete_dragon.webp img: systems/foundryvtt-reve-de-dragon/icons/tete_dragon.webp
system: system:
description: >- description: >-
<p>Un jet de @roll[Volonté/0] permet de sendormir instantanément et de <p>Un jet de Volonté à zéro permet de sendormir instantanément et de dormir
dormir au moins jusquà la fin de la prochaine heure, même sans aucun point au moins jusquà la fin de la prochaine heure, même sans aucun point de
de fatigue. Permet également de se réveiller au bout dun laps de temps fatigue. Permet également de se réveiller au bout dun laps de temps donné,
donné, "programmé" au moment de sendormir. Cumulable.</p> "programmé" au moment de sendormir. Cumulable.</p>
descriptionmj: '' descriptionmj: ''
frequence: 6 frequence: 6
hautrevant: false hautrevant: false
@ -20,12 +20,7 @@ folder: null
sort: 0 sort: 0
_stats: _stats:
systemId: foundryvtt-reve-de-dragon systemId: foundryvtt-reve-de-dragon
systemVersion: 12.0.33 systemVersion: 12.0.22
coreVersion: '12.331' coreVersion: '12.331'
createdTime: null
modifiedTime: 1736617674311
lastModifiedBy: Hp9ImM4o9YRTSdfu
compendiumSource: null
duplicateSource: null
_key: '!items!N6guZDGzzZjt9GrR' _key: '!items!N6guZDGzzZjt9GrR'

View File

@ -5,8 +5,8 @@ flags: {}
img: systems/foundryvtt-reve-de-dragon/icons/tete_dragon.webp img: systems/foundryvtt-reve-de-dragon/icons/tete_dragon.webp
system: system:
description: >- description: >-
<p>Un jet d@roll[empathie/0] permet de deviner que lon vous ment, sans <p>Un jet dEmpathie à zéro permet de deviner que lon vous ment, sans pour
pour autant connaître la teneur du mensonge. Ne sapplique quau mensonge autant connaître la teneur du mensonge. Ne sapplique quau mensonge
volontaire, pas au mensonge par omission ni par ignorance. Cumulable.</p> volontaire, pas au mensonge par omission ni par ignorance. Cumulable.</p>
descriptionmj: '' descriptionmj: ''
frequence: 6 frequence: 6
@ -19,12 +19,7 @@ folder: null
sort: 0 sort: 0
_stats: _stats:
systemId: foundryvtt-reve-de-dragon systemId: foundryvtt-reve-de-dragon
systemVersion: 12.0.33 systemVersion: 12.0.22
coreVersion: '12.331' coreVersion: '12.331'
createdTime: null
modifiedTime: 1736617720094
lastModifiedBy: Hp9ImM4o9YRTSdfu
compendiumSource: null
duplicateSource: null
_key: '!items!OZZbiBiLlM6Y8lEY' _key: '!items!OZZbiBiLlM6Y8lEY'

View File

@ -5,10 +5,10 @@ flags: {}
img: systems/foundryvtt-reve-de-dragon/icons/tete_dragon.webp img: systems/foundryvtt-reve-de-dragon/icons/tete_dragon.webp
system: system:
description: >- description: >-
<p>Un jet de @roll[vue/0] permet de distinguer une aura bleutée délimitant <p>Un jet de VUE à zéro permet de distinguer une aura bleutée délimitant les
les zones magiques dOniros ou entourant les objets enchantés ou les zones magiques dOniros ou entourant les objets enchantés ou les créatures
créatures soumises à leffet dun sort ou dun rituel. Un seul essai par soumises à leffet dun sort ou dun rituel. Un seul essai par zone, objet
zone, objet ou personnage. Cumulable.</p> ou personnage. Cumulable.</p>
descriptionmj: '' descriptionmj: ''
frequence: 6 frequence: 6
hautrevant: false hautrevant: false
@ -20,12 +20,7 @@ folder: null
sort: 0 sort: 0
_stats: _stats:
systemId: foundryvtt-reve-de-dragon systemId: foundryvtt-reve-de-dragon
systemVersion: 12.0.33 systemVersion: 12.0.22
coreVersion: '12.331' coreVersion: '12.331'
createdTime: null
modifiedTime: 1736617743760
lastModifiedBy: Hp9ImM4o9YRTSdfu
compendiumSource: null
duplicateSource: null
_key: '!items!QWouooLkM7pE2yG1' _key: '!items!QWouooLkM7pE2yG1'