Compare commits
4 Commits
792558ac84
...
fe7bd9e05e
Author | SHA1 | Date | |
---|---|---|---|
fe7bd9e05e | |||
57c41a0218 | |||
1b75decb18 | |||
551438f514 |
@ -3,9 +3,14 @@
|
|||||||
- 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 de dés" d'un item non lié à un acteur agit sur les tokens sélectionnés
|
- les liens "jet avec caractéristiques" s'appliquent:
|
||||||
|
- à 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 de foundry
|
- on peut ajouter des liens "jet de dés" pour appeler une formule dés 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
|
||||||
|
@ -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', true))
|
this.html.find('.roll-reve-actuel').click(async event => this.actor.rollCarac('reve-actuel', {resistance: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'))
|
||||||
|
@ -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));
|
||||||
|
@ -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, jetResistance = undefined) {
|
async rollCarac(caracName, options = {}) {
|
||||||
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,7 +362,8 @@ export class RdDBaseActorReve extends RdDBaseActor {
|
|||||||
rollData: {
|
rollData: {
|
||||||
selectedCarac: selectedCarac,
|
selectedCarac: selectedCarac,
|
||||||
competences: this.itemTypes['competence'],
|
competences: this.itemTypes['competence'],
|
||||||
jetResistance: jetResistance ? caracName : undefined
|
diffLibre: options.diff ?? 0,
|
||||||
|
jetResistance: options.resistance ? caracName : undefined
|
||||||
},
|
},
|
||||||
callbackAction: r => this.$onRollCaracResult(r)
|
callbackAction: r => this.$onRollCaracResult(r)
|
||||||
});
|
});
|
||||||
|
@ -81,7 +81,6 @@ 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)
|
||||||
@ -161,8 +160,11 @@ export class RdDBaseActor extends Actor {
|
|||||||
return RdDBaseActor.$findCaracByName(carac, name);
|
return RdDBaseActor.$findCaracByName(carac, name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mapCarac(caracCode) { return caracCode }
|
||||||
|
|
||||||
getCaracByName(name) {
|
getCaracByName(name) {
|
||||||
switch (Grammar.toLowerCaseNoAccent(name)) {
|
name = this.mapCarac(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':
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
|
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 {
|
||||||
@ -32,4 +34,14 @@ export class RdDCreature extends RdDBaseActorSang {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mapCarac(caracCode) {
|
||||||
|
switch (caracCode) {
|
||||||
|
case 'vue': case 'ouie':
|
||||||
|
case 'odoratgout':
|
||||||
|
case 'empathie':
|
||||||
|
return 'perception'
|
||||||
|
}
|
||||||
|
return caracCode
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -117,4 +117,13 @@ export class RdDEntite extends RdDBaseActorReve {
|
|||||||
super.setEntiteReveAccordee(actor)
|
super.setEntiteReveAccordee(actor)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mapCarac(caracCode) {
|
||||||
|
switch (caracCode) {
|
||||||
|
case 'taille':
|
||||||
|
return caracCode
|
||||||
|
}
|
||||||
|
return 'reve'
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,7 @@ 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')
|
||||||
@ -23,17 +24,40 @@ 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)
|
||||||
const path = RdDCarac.caracDetails(caracCode)?.path
|
actors.forEach(it => TextRollCaracCompetence.doRoll(it, caracCode, competence, diff))
|
||||||
const actors = actor ? [actor] : canvas.tokens.controlled.map(it => it.actor).filter(it => it)
|
|
||||||
actors.filter(it => foundry.utils.getProperty(it, path) != undefined)
|
|
||||||
.forEach(it => it.doRollCaracCompetence(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 selected = canvas.tokens.controlled.map(it => it.actor).filter(it => it)
|
||||||
|
if (selected.length > 0) {
|
||||||
|
return selected
|
||||||
|
}
|
||||||
|
actor = actor ?? RdDUtility.getSelectedActor()
|
||||||
|
if (actor) {
|
||||||
|
return [actor]
|
||||||
|
}
|
||||||
|
return []
|
||||||
|
}
|
||||||
|
|
||||||
constructor(text, competences) {
|
constructor(text, competences) {
|
||||||
this.text = text
|
this.text = text
|
||||||
|
@ -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 && entry.length > 0) {
|
if (entry) {
|
||||||
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' })
|
||||||
|
@ -184,16 +184,16 @@ system:
|
|||||||
value: '+0'
|
value: '+0'
|
||||||
label: +dom
|
label: +dom
|
||||||
derivee: true
|
derivee: true
|
||||||
vitesse:
|
|
||||||
type: string
|
|
||||||
value: 12/28
|
|
||||||
label: Vitesse
|
|
||||||
derivee: true
|
|
||||||
encombrement:
|
encombrement:
|
||||||
type: number
|
type: number
|
||||||
value: 0
|
value: 0
|
||||||
label: Encombrement
|
label: Encombrement
|
||||||
derivee: false
|
derivee: false
|
||||||
|
vitesse:
|
||||||
|
type: string
|
||||||
|
value: 12/28
|
||||||
|
label: Vitesse
|
||||||
|
derivee: true
|
||||||
protection:
|
protection:
|
||||||
type: number
|
type: number
|
||||||
value: 4
|
value: 4
|
||||||
@ -207,28 +207,19 @@ system:
|
|||||||
value: 0
|
value: 0
|
||||||
label: Sur-encombrement
|
label: Sur-encombrement
|
||||||
description: >-
|
description: >-
|
||||||
<h1>Description</h1>
|
<h1>Description</h1><p>Description Le chrasme (prononcer krasme) est une
|
||||||
|
sorte de cafard géant à carapace de crabe aux jointures poilues. Il mesure
|
||||||
<p>Description Le chrasme (prononcer krasme) est une sorte de cafard
|
en moyenne 1 m de haut sur 1m50 de long, et peut peser jusqu’à 50 kg. Doté
|
||||||
géant à carapace de crabe aux jointures poilues. Il mesure en
|
de mandibules acérées et puissantes, il est redouté pour son venin
|
||||||
moyenne 1 m de haut sur 1m50 de long, et peut peser jusqu’à 50
|
mortel.</p><h1>Mœurs</h1><p>Le chrasme vit dans les lieux sombres, cavernes
|
||||||
kg. Doté de mandibules acérées et puissantes, il est
|
et souterrains, où il se nourrit de tout. Paranos le Moindre affirme qu’à
|
||||||
redouté pour son venin mortel.</p>
|
défaut d’une meilleure chère, il peut même se sustenter de cailloux. Il
|
||||||
|
déteste la lumière comme son cousin de petite taille, mais a toutefois un
|
||||||
<h1>Mœurs</h1>
|
comportement différent: au lieu de fuir, il entre dans une rage féroce et se
|
||||||
|
rue sur le porteur de lumière pour le réduire en charpie. Savez-vous, cher
|
||||||
<p>Le chrasme vit dans les lieux sombres, cavernes et souterrains, où
|
Paranos, que vous nous faites un peu peur
|
||||||
il se nourrit de tout. Paranos le Moindre affirme qu’à
|
?</p><h1>Venin</h1><p>@UUID[Compendium.foundryvtt-reve-de-dragon.maladies-et-poisons.Item.cFMUtU6LZG0mKeDl]{Venin
|
||||||
défaut d’une meilleure chère, il peut même se
|
de chrasme}</p><p></p>
|
||||||
sustenter de cailloux. Il 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 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>
|
|
||||||
|
|
||||||
<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:
|
||||||
@ -311,7 +302,13 @@ prototypeToken:
|
|||||||
texture: null
|
texture: null
|
||||||
_stats:
|
_stats:
|
||||||
systemId: foundryvtt-reve-de-dragon
|
systemId: foundryvtt-reve-de-dragon
|
||||||
systemVersion: 12.0.22
|
systemVersion: 12.0.32
|
||||||
coreVersion: '12.331'
|
coreVersion: '12.331'
|
||||||
|
createdTime: null
|
||||||
|
modifiedTime: 1736537299708
|
||||||
|
lastModifiedBy: Hp9ImM4o9YRTSdfu
|
||||||
|
compendiumSource: null
|
||||||
|
duplicateSource: null
|
||||||
|
flags: {}
|
||||||
_key: '!actors!yL1XStIKWxGnhKvR'
|
_key: '!actors!yL1XStIKWxGnhKvR'
|
||||||
|
|
||||||
|
@ -137,7 +137,7 @@ system:
|
|||||||
elles-mêmes, leur grincement involontaire est une torture. Toute
|
elles-mê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’OUÏE à +5. Si le jet réussit, perte de 1 point
|
d’OUÏE à +5. Si le jet réussit, perte de 1 point
|
||||||
d’endurance, puis jet de VOLONTÉ à -5. Si le jet de
|
d’endurance, puis jet de @roll[volonté/-5]. Si le jet de
|
||||||
VOLONTÉ échoue, le personnage est sonné
|
VOLONTÉ échoue, le personnage est sonné
|
||||||
jusqu’à la fin du round suivant.</p>
|
jusqu’à la fin du round suivant.</p>
|
||||||
|
|
||||||
|
@ -174,8 +174,8 @@ system:
|
|||||||
agressivité s’appliquant aux humanoïdes. S’agissant
|
agressivité s’appliquant aux humanoïdes. S’agissant
|
||||||
d’un pouvoir inné, elles n’ont ni à monter dans
|
d’un pouvoir inné, elles n’ont ni à monter dans
|
||||||
les TMR, ni à dépenser de points de rêve. La victime
|
les TMR, ni à dépenser de points de rêve. La victime
|
||||||
doit jouer un jet de résistance standard, r-8, et en cas
|
doit jouer un jet de résistance standard, @roll[reve-actuel/-8], et en cas
|
||||||
d’échec, réussir un jet de VOLONTÉ à -3
|
d’échec, réussir un jet de @roll[Volonté/-3]
|
||||||
pour pouvoir attaquer la harpie. Le JR n’est à jouer
|
pour pouvoir attaquer la harpie. Le JR n’est à jouer
|
||||||
qu’une seule fois, tandis qu’en cas d’échec, le jet
|
qu’une seule fois, tandis qu’en cas d’échec, le jet
|
||||||
de VOLONTÉ est à jouer tous les rounds. La non
|
de VOLONTÉ est à jouer tous les rounds. La non
|
||||||
|
@ -201,7 +201,7 @@ system:
|
|||||||
|
|
||||||
<p>La sirène a un chant attractif pouvant porter jusqu’à
|
<p>La sirène a un chant attractif pouvant porter jusqu’à
|
||||||
50 m. Toute personne, homme ou femme, percevant ce chant, même faible
|
50 m. Toute personne, homme ou femme, percevant ce chant, même faible
|
||||||
et lointain, doit tenter un jet de VOLONTÉ à -3. Sur toute
|
et lointain, doit tenter un jet de @roll[Volonté/-3]. Sur toute
|
||||||
réussite, le personnage est libre de sa décision"; sur tout
|
réussite, le personnage est libre de sa décision"; sur tout
|
||||||
échec, il est irrésistiblement attiré vers la source du
|
échec, il est irrésistiblement attiré vers la source du
|
||||||
chant. Quand plusieurs sirènes chantent simultanément, le jet
|
chant. Quand plusieurs sirènes chantent simultanément, le jet
|
||||||
@ -220,7 +220,7 @@ system:
|
|||||||
corps, même visage. Certaines sirènes, plus rarement, donnent
|
corps, même visage. Certaines sirènes, plus rarement, donnent
|
||||||
des illusions d’hommes. Contrairement aux illusions des Yeux
|
des illusions d’hommes. Contrairement aux illusions des Yeux
|
||||||
d’Hypnos, l’illusion des sirènes donne lieu à un
|
d’Hypnos, l’illusion des sirènes donne lieu à un
|
||||||
jet de résistance (standard, r-8). Comme pour les chants, ce JR est
|
jet de résistance (standard, @roll[reve-actuel/-8]). Comme pour les chants, ce JR est
|
||||||
global : s’il réussit, toutes les sirènes apparaissent
|
global : s’il réussit, toutes les sirènes apparaissent
|
||||||
sous leur véritable apparence; s’il échoue, toutes sont
|
sous leur véritable apparence; s’il échoue, toutes sont
|
||||||
perçues sous leur apparence illusoire.</p>
|
perçues sous leur apparence illusoire.</p>
|
||||||
|
@ -228,8 +228,8 @@ system:
|
|||||||
désolations et autres lieux où Thanatos a laissé son
|
désolations et autres lieux où Thanatos a laissé son
|
||||||
empreinte. Ils possèdent le même pouvoir de non
|
empreinte. Ils possèdent le même pouvoir de non
|
||||||
agressivité s’appliquant aux humanoïdes que la harpie. La
|
agressivité s’appliquant aux humanoïdes que la harpie. La
|
||||||
victime doit jouer un jet de résistance standard, r-8, et en cas
|
victime doit jouer un jet de résistance standard, @roll[reve-actuel/-8], et en cas
|
||||||
d’échec, réussir un jet de VOLONTÉ à -3
|
d’échec, réussir un jet de @roll[Volonté/-3]
|
||||||
pour pouvoir attaquer le tournedent. Le JR n’est à jouer
|
pour pouvoir attaquer le tournedent. Le JR n’est à jouer
|
||||||
qu’une seule fois, et en cas d’échec, le jet de
|
qu’une seule fois, et en cas d’échec, le jet de
|
||||||
VOLONTÉ est à jouer tous les rounds. La non agressivité
|
VOLONTÉ est à jouer tous les rounds. La non agressivité
|
||||||
|
@ -17,9 +17,8 @@ system:
|
|||||||
à long terme, mais tout autant de l’empathie pour bluffer lors
|
à long terme, mais tout autant de l’empathie pour bluffer lors
|
||||||
des surenchères.</p>
|
des surenchères.</p>
|
||||||
|
|
||||||
<p>Pour simuler une partie, jouer un jet de CHANCE à zéro
|
<p>Pour simuler une partie, jouer un jet de @roll[chance/0]
|
||||||
(ajusté astrologiquement), suivi d’un jet d’EMPATHIE/Jeu
|
(ajusté astrologiquement), suivi d’un jet d’@roll[EMPATHIE/Jeu/0], et additionner les points de tâche obtenus par
|
||||||
à zéro, et additionner les points de tâ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
|
||||||
|
@ -104,7 +104,7 @@ system:
|
|||||||
pareille. Son moral tombe directement à -3 et ne pourra pas remonter
|
pareille. Son moral tombe directement à -3 et ne pourra pas remonter
|
||||||
tant que durera la possession. Chaque fois qu’une action dangereuse se
|
tant que durera la possession. Chaque fois qu’une action dangereuse se
|
||||||
présente, incluant toute action de combat y compris l’esquive,
|
présente, incluant toute action de combat y compris l’esquive,
|
||||||
la victime doit jouer un jet de VOLONTÉ/moral à zéro.
|
la victime doit jouer un jet de @roll[Volonté/0]/moral.
|
||||||
Si ce jet échoue, la victime ne fait rien que trembler et claquer des
|
Si ce jet échoue, la victime ne fait rien que trembler et claquer des
|
||||||
dents.</p>
|
dents.</p>
|
||||||
race: ''
|
race: ''
|
||||||
|
@ -134,8 +134,8 @@ system:
|
|||||||
nécropoles, catacombes et autres lieux de sépulture. Comme les
|
nécropoles, catacombes et autres lieux de sépulture. Comme les
|
||||||
autres entités, leur raison d’être est de
|
autres entités, leur raison d’être est de
|
||||||
détruire. Le spectacle d’un squelette est d’une horreur
|
détruire. Le spectacle d’un squelette est d’une horreur
|
||||||
tellement contre nature qu’il demande un jet de VOLONTÉ
|
tellement contre nature qu’il demande un jet de @roll[Volonté/-3].
|
||||||
à -3. En cas d’échec, le personnage est frappé
|
En cas d’échec, le personnage est frappé
|
||||||
d’effroi. En termes de règles, il est en demi- surprise
|
d’effroi. En termes de règles, il est en demi- surprise
|
||||||
jusqu’à la fin du round suivant. Une fois détruit, les
|
jusqu’à la fin du round suivant. Une fois détruit, les
|
||||||
ossements constitutifs du squelette s’éparpillent sur le sol,
|
ossements constitutifs du squelette s’éparpillent sur le sol,
|
||||||
|
@ -7,7 +7,7 @@ system:
|
|||||||
description: >-
|
description: >-
|
||||||
<p>Ce sort provoque l’illusion d’une grande fatigue, qui est interprétée
|
<p>Ce sort provoque l’illusion d’une 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 VOLONTÉ à -5 avec un éventuel bonus de +1 par
|
fatigue, puis joue un jet de @roll[Volonté/-5] avec un éventuel bonus de +1 par
|
||||||
point de CONSTITUTION au-dessus de 15. Si le jet de VOLONTÉ réussit, il n’y
|
point de CONSTITUTION au-dessus de 15. Si le jet de VOLONTÉ réussit, il n’y
|
||||||
a pas d’autre conséquence que les cases de fatigue. Si le jet échoue, tout
|
a pas d’autre conséquence que les cases de fatigue. Si le jet échoue, tout
|
||||||
dépend alors de l’activité actuelle de la cible. Si elle est en condition de
|
dépend alors de l’activité actuelle de la cible. Si elle est en condition de
|
||||||
|
@ -18,7 +18,7 @@ system:
|
|||||||
impossible d’obtenir le sosie parfait de quelqu’un, tout comme il est
|
impossible d’obtenir le sosie parfait de quelqu’un, tout comme il est
|
||||||
difficile à un peintre d’obtenir un portrait parfaitement ressemblant. Si un
|
difficile à un peintre d’obtenir un portrait parfaitement ressemblant. Si un
|
||||||
haut-rêvant désire donner à sa cible la même apparence que quelqu’un
|
haut-rêvant désire donner à sa cible la même apparence que quelqu’un
|
||||||
d’autre, il doit jouer un jet de VUE à -8, et obtiendra une ressemblance
|
d’autre, il doit jouer un jet de @roll[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.) s’obtient sans problème. Comme toujours en ce qui concerne
|
menton, etc.) s’obtient sans problème. Comme toujours en ce qui concerne
|
||||||
|
@ -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’Empathie à zéro permet de rendre amical un animal non agressif
|
<p>Un jet d’@roll[empathie/0] 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 qu’un événement significatif, agression ou autre, vienne tout
|
jusqu’à ce qu’un événement significatif, agression ou autre, vienne tout
|
||||||
remettre en question. Ce n’est pas un lien magique. Un seul jet par animal.
|
remettre en question. Ce n’est 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 l’animal dépend
|
un second jet. Enfin l’étendue de la neutralité/amitié de l’animal dépend de
|
||||||
de chaque espèce et est à décider dans chaque cas particulier par le gardien
|
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,7 +24,12 @@ folder: null
|
|||||||
sort: 0
|
sort: 0
|
||||||
_stats:
|
_stats:
|
||||||
systemId: foundryvtt-reve-de-dragon
|
systemId: foundryvtt-reve-de-dragon
|
||||||
systemVersion: 12.0.22
|
systemVersion: 12.0.33
|
||||||
coreVersion: '12.331'
|
coreVersion: '12.331'
|
||||||
|
createdTime: null
|
||||||
|
modifiedTime: 1736617623199
|
||||||
|
lastModifiedBy: Hp9ImM4o9YRTSdfu
|
||||||
|
compendiumSource: null
|
||||||
|
duplicateSource: null
|
||||||
_key: '!items!wlbbh75GZWks3Ehb'
|
_key: '!items!wlbbh75GZWks3Ehb'
|
||||||
|
|
||||||
|
@ -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’Empathie à zéro permet de deviner la direction du nord, et d’une
|
<p>Un jet d’@roll[empathie/0] permet de deviner la direction du nord, et
|
||||||
manière générale de retrouver une certaine direction quand on est perdu ou
|
d’une manière générale de retrouver une certaine direction quand on est
|
||||||
par manque de visibilité (nuit, brouillard, souterrain, etc.).
|
perdu ou par manque de visibilité (nuit, brouillard, souterrain, etc.).
|
||||||
Cumulable.</p>
|
Cumulable.</p>
|
||||||
descriptionmj: ''
|
descriptionmj: ''
|
||||||
frequence: 6
|
frequence: 6
|
||||||
@ -20,7 +20,12 @@ folder: null
|
|||||||
sort: 0
|
sort: 0
|
||||||
_stats:
|
_stats:
|
||||||
systemId: foundryvtt-reve-de-dragon
|
systemId: foundryvtt-reve-de-dragon
|
||||||
systemVersion: 12.0.22
|
systemVersion: 12.0.33
|
||||||
coreVersion: '12.331'
|
coreVersion: '12.331'
|
||||||
|
createdTime: null
|
||||||
|
modifiedTime: 1736617654367
|
||||||
|
lastModifiedBy: Hp9ImM4o9YRTSdfu
|
||||||
|
compendiumSource: null
|
||||||
|
duplicateSource: null
|
||||||
_key: '!items!slnKVCfHbLwbXi4Z'
|
_key: '!items!slnKVCfHbLwbXi4Z'
|
||||||
|
|
||||||
|
@ -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 Volonté à zéro permet de s’endormir instantanément et de dormir
|
<p>Un jet de @roll[Volonté/0] permet de s’endormir instantanément et de
|
||||||
au moins jusqu’à la fin de la prochaine heure, même sans aucun point de
|
dormir au moins jusqu’à la fin de la prochaine heure, même sans aucun point
|
||||||
fatigue. Permet également de se réveiller au bout d’un laps de temps donné,
|
de fatigue. Permet également de se réveiller au bout d’un laps de temps
|
||||||
"programmé" au moment de s’endormir. Cumulable.</p>
|
donné, "programmé" au moment de s’endormir. Cumulable.</p>
|
||||||
descriptionmj: ''
|
descriptionmj: ''
|
||||||
frequence: 6
|
frequence: 6
|
||||||
hautrevant: false
|
hautrevant: false
|
||||||
@ -20,7 +20,12 @@ folder: null
|
|||||||
sort: 0
|
sort: 0
|
||||||
_stats:
|
_stats:
|
||||||
systemId: foundryvtt-reve-de-dragon
|
systemId: foundryvtt-reve-de-dragon
|
||||||
systemVersion: 12.0.22
|
systemVersion: 12.0.33
|
||||||
coreVersion: '12.331'
|
coreVersion: '12.331'
|
||||||
|
createdTime: null
|
||||||
|
modifiedTime: 1736617674311
|
||||||
|
lastModifiedBy: Hp9ImM4o9YRTSdfu
|
||||||
|
compendiumSource: null
|
||||||
|
duplicateSource: null
|
||||||
_key: '!items!N6guZDGzzZjt9GrR'
|
_key: '!items!N6guZDGzzZjt9GrR'
|
||||||
|
|
||||||
|
@ -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’Empathie à zéro permet de deviner que l’on vous ment, sans pour
|
<p>Un jet d’@roll[empathie/0] permet de deviner que l’on vous ment, sans
|
||||||
autant connaître la teneur du mensonge. Ne s’applique qu’au mensonge
|
pour autant connaître la teneur du mensonge. Ne s’applique qu’au 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,7 +19,12 @@ folder: null
|
|||||||
sort: 0
|
sort: 0
|
||||||
_stats:
|
_stats:
|
||||||
systemId: foundryvtt-reve-de-dragon
|
systemId: foundryvtt-reve-de-dragon
|
||||||
systemVersion: 12.0.22
|
systemVersion: 12.0.33
|
||||||
coreVersion: '12.331'
|
coreVersion: '12.331'
|
||||||
|
createdTime: null
|
||||||
|
modifiedTime: 1736617720094
|
||||||
|
lastModifiedBy: Hp9ImM4o9YRTSdfu
|
||||||
|
compendiumSource: null
|
||||||
|
duplicateSource: null
|
||||||
_key: '!items!OZZbiBiLlM6Y8lEY'
|
_key: '!items!OZZbiBiLlM6Y8lEY'
|
||||||
|
|
||||||
|
@ -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 VUE à zéro permet de distinguer une aura bleutée délimitant les
|
<p>Un jet de @roll[vue/0] permet de distinguer une aura bleutée délimitant
|
||||||
zones magiques d’Oniros ou entourant les objets enchantés ou les créatures
|
les zones magiques d’Oniros ou entourant les objets enchantés ou les
|
||||||
soumises à l’effet d’un sort ou d’un rituel. Un seul essai par zone, objet
|
créatures soumises à l’effet d’un sort ou d’un rituel. Un seul essai par
|
||||||
ou personnage. Cumulable.</p>
|
zone, objet ou personnage. Cumulable.</p>
|
||||||
descriptionmj: ''
|
descriptionmj: ''
|
||||||
frequence: 6
|
frequence: 6
|
||||||
hautrevant: false
|
hautrevant: false
|
||||||
@ -20,7 +20,12 @@ folder: null
|
|||||||
sort: 0
|
sort: 0
|
||||||
_stats:
|
_stats:
|
||||||
systemId: foundryvtt-reve-de-dragon
|
systemId: foundryvtt-reve-de-dragon
|
||||||
systemVersion: 12.0.22
|
systemVersion: 12.0.33
|
||||||
coreVersion: '12.331'
|
coreVersion: '12.331'
|
||||||
|
createdTime: null
|
||||||
|
modifiedTime: 1736617743760
|
||||||
|
lastModifiedBy: Hp9ImM4o9YRTSdfu
|
||||||
|
compendiumSource: null
|
||||||
|
duplicateSource: null
|
||||||
_key: '!items!QWouooLkM7pE2yG1'
|
_key: '!items!QWouooLkM7pE2yG1'
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user