Compare commits
57 Commits
12.0.27
...
8e578c6566
Author | SHA1 | Date | |
---|---|---|---|
8e578c6566 | |||
5ac9c682d9 | |||
6de19eb357 | |||
90d096a6df | |||
c733644f3a | |||
de9d3bbb48 | |||
efdffd171c | |||
8406c8434a | |||
a4b474970c | |||
135e5e46a0 | |||
969bc3b573 | |||
a9eb101c9d | |||
d53da1f011 | |||
ab0f7e563f | |||
57c41a0218 | |||
1b75decb18 | |||
551438f514 | |||
792558ac84 | |||
06aff9a3c0 | |||
7e736a00d7 | |||
b87f406093 | |||
785bd4b9ce | |||
daca86b1df | |||
aa52e26e1a | |||
f956da1fc0 | |||
10971e9e7b | |||
a3e6b95ef3 | |||
d0a5a3617c | |||
755df936fb | |||
2fa0ce5f15 | |||
b4eed49e9a | |||
af4404aab1 | |||
85804bc838 | |||
ad4baecdf2 | |||
8dc5616d7c | |||
db6b025e8f | |||
7f53757f26 | |||
879d2d10e5 | |||
016e4463bd | |||
1dfab01c4b | |||
a9cb211dba | |||
4dce510c91 | |||
14abfa8e7d | |||
1f564e0d89 | |||
ab61d5991d | |||
e3a858a9ef | |||
4cacf46ed8 | |||
5a5b5cdbb3 | |||
f90dddfbf8 | |||
d04da56c22 | |||
a87a4d371e | |||
c577fa5f29 | |||
30303330d7 | |||
ded92ddf2d | |||
2d2b75e33f | |||
a9b7dff83a | |||
75d6f78b40 |
42
changelog.md
42
changelog.md
@ -1,4 +1,40 @@
|
||||
# 12.0
|
||||
## 12.0.34 - la tête d'Astrobazzarh
|
||||
- support de liens "jets de dés"
|
||||
- on peut ajouter des liens "jet de dés" dans les journaux, descriptions, notes, maladresses, ...
|
||||
- avec la syntaxe `@roll[...]` on peut ajouter le lien vers:
|
||||
- un jet de caractéristique/compétence `@roll[carac/competence/difficulte]` / `@roll[carac/difficulte]` / `@roll[carac/competence]`
|
||||
- une formule foundry `@roll[2d6]` pour lancer 2d6
|
||||
- une manipulation alchimique `@roll[couleur vert-bleu]`
|
||||
- les liens "jet avec caractéristiques" s'appliquent:
|
||||
- à tous les tokens sélectionnés
|
||||
- sinon, à l'acteur propriétaire (dans le cas d'un Item) ou à l'acteur courant
|
||||
- sinon, au personnage du joueur
|
||||
- on peut poster les liens dans le tchat pour proposer un jet aux joueurs
|
||||
- gestion des blocs secrets dans les descriptions
|
||||
|
||||
## 12.0.33 - la vieillesse d'Astrobazzarh
|
||||
- retour de l'expérience pour les joueurs
|
||||
- suppression du message "Pas de caractéristique" sur les jets d'odorat-goût
|
||||
|
||||
## 12.0.32 - les rêveries d'Astrobazzarh
|
||||
- Ajout des Items Race pour gérer les ajustements liés aux races
|
||||
|
||||
## 12.0.31 - le mausolée d'Astrobazzarh
|
||||
- Correction: les automatisation de combat jouer-MJ fonctionnentde nouveau
|
||||
|
||||
## 12.0.30 - le cauchemar d'Astrobazzarh
|
||||
- calcul automatique du niveau des entités selon leur rêve
|
||||
- la description des créatures venimeuses contient un lien vers leur venin
|
||||
- Correction: les messages de combats ne marchaient plus (Changement combiné Foundry + rêve de Dragon)
|
||||
|
||||
## 12.0.29 - L'indexation d'Astrobazzarh
|
||||
- les liens dans la descriptions des sorts pointent vers les sorts du compendium
|
||||
- la description du chrasme contient le lien vers son venin plutôt qu'un tableau
|
||||
|
||||
## 12.0.28 - Les réserves d'Astrobazzarh
|
||||
- possibilité de mettre en réserve depuis un sort connu
|
||||
|
||||
## 12.0.27 - Les vêtements d'Astrobazzarh
|
||||
- Ajout de la liste des armures dans l'onglet caractéristiques
|
||||
- Ajout d'une option pour choisir une carte des TMR alternatives
|
||||
@ -115,11 +151,9 @@
|
||||
- encodage de l'export en windows-1252
|
||||
- export de l'esquive avec armure et sans armure
|
||||
|
||||
## 12.0.10 - Le scriptorium d'Astrobazzarh
|
||||
## 12.0.9 - 12.0.10 - Le scriptorium d'Astrobazzarh
|
||||
- corrections de l'export scriptarium
|
||||
|
||||
## 12.0.9 - Le scriptorium d'Astrobazzarh
|
||||
- ajout d'une fonction avancée pour exporter les personnages dans un format csv
|
||||
- ajout d'une fonction avancée pour un exporter "scriptarium" des personnages
|
||||
|
||||
## 12.0.8 - La quincaillerie d'Astrobazzarh
|
||||
- le propriétaire est indiqué dans les feuilles d'équipements/compétences/...
|
||||
|
BIN
icons/humanoides/humain.webp
Normal file
BIN
icons/humanoides/humain.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.3 KiB |
@ -40,6 +40,7 @@
|
||||
"possession": "Possession",
|
||||
"potion": "Potion",
|
||||
"queue": "Queue de Dragon",
|
||||
"race": "Race",
|
||||
"recettealchimique": "Recette alchimique",
|
||||
"recettecuisine": "Recette de cuisine",
|
||||
"rencontre": "Rencontre TMR",
|
||||
|
@ -12,12 +12,14 @@ import { RdDSheetUtility } from "./rdd-sheet-utility.js";
|
||||
import { STATUSES } from "./settings/status-effects.js";
|
||||
import { MAINS_DIRECTRICES } from "./actor.js";
|
||||
import { RdDBaseActorReveSheet } from "./actor/base-actor-reve-sheet.js";
|
||||
import { RdDItem } from "./item.js";
|
||||
import { ITEM_TYPES, RdDItem } from "./item.js";
|
||||
import { RdDItemBlessure } from "./item/blessure.js";
|
||||
import { RdDEmpoignade } from "./rdd-empoignade.js";
|
||||
import { RdDBaseActorSangSheet } from "./actor/base-actor-sang-sheet.js";
|
||||
import { RdDCoeur } from "./coeur/rdd-coeur.js";
|
||||
import { AppPersonnageAleatoire } from "./actor/random/app-personnage-aleatoire.js";
|
||||
import { RdDItemRace } from "./item/race.js";
|
||||
import { RdDTextEditor } from "./apps/rdd-text-roll-editor.js";
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/**
|
||||
@ -43,8 +45,8 @@ export class RdDActorSheet extends RdDBaseActorSangSheet {
|
||||
cssClass: this.isEditable ? "editable" : "locked",
|
||||
limited: this.actor.limited,
|
||||
owner: this.actor.isOwner,
|
||||
biographie: await TextEditor.enrichHTML(this.actor.system.biographie, { async: true }),
|
||||
notes: await TextEditor.enrichHTML(this.actor.system.notes, { async: true }),
|
||||
biographie: await RdDTextEditor.enrichHTML(this.actor.system.biographie, this.actor),
|
||||
notes: await RdDTextEditor.enrichHTML(this.actor.system.notes, this.actor),
|
||||
});
|
||||
foundry.utils.mergeObject(formData.calc, {
|
||||
surenc: this.actor.computeMalusSurEncombrement(),
|
||||
@ -97,6 +99,7 @@ export class RdDActorSheet extends RdDBaseActorSangSheet {
|
||||
cacheTMR: this.actor.isTMRCache()
|
||||
}
|
||||
|
||||
formData.race = actor.itemTypes[ITEM_TYPES.race].find(it => true)
|
||||
formData.subacteurs = {
|
||||
vehicules: this.actor.listeVehicules(),
|
||||
montures: this.actor.listeMontures(),
|
||||
@ -183,7 +186,7 @@ export class RdDActorSheet extends RdDBaseActorSangSheet {
|
||||
|
||||
// Equip Inventory Item
|
||||
this.html.find('.item-equip').click(async event => this.actor.equiperObjet(RdDSheetUtility.getItemId(event)))
|
||||
this.html.find('.chance-actuelle').click(async event => this.actor.rollCarac('chance-actuelle'))
|
||||
this.html.find('.roll-chance-actuelle').click(async event => this.actor.rollCarac('chance-actuelle'))
|
||||
|
||||
this.html.find('.button-appel-chance').click(async event => this.actor.rollAppelChance())
|
||||
|
||||
@ -214,12 +217,12 @@ export class RdDActorSheet extends RdDBaseActorSangSheet {
|
||||
// Boutons spéciaux MJs
|
||||
this.html.find('.forcer-tmr-aleatoire').click(async event => this.actor.reinsertionAleatoire("Action MJ"))
|
||||
this.html.find('.don-de-haut-reve').click(async event => this.actor.addDonDeHautReve())
|
||||
this.html.find('.nouveau-sort-reserve').click(async event => this.actor.addSortReserve())
|
||||
this.html.find('.sortreserve-add').click(async event => this.actor.addSortReserve(RdDSheetUtility.getItemId(event)))
|
||||
this.html.find('.afficher-tmr').click(async event => this.actor.changeTMRVisible())
|
||||
}
|
||||
|
||||
// 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('.roll-arme').click(async event => this.actor.rollArme(foundry.utils.duplicate(this._getEventArmeCombat(event)), 'competence'))
|
||||
@ -284,6 +287,8 @@ export class RdDActorSheet extends RdDBaseActorSangSheet {
|
||||
|
||||
this.html.find('.ptreve-actuel-plus').click(async event => this.actor.reveActuelIncDec(1))
|
||||
this.html.find('.ptreve-actuel-moins').click(async event => this.actor.reveActuelIncDec(-1))
|
||||
this.html.find('.chance-actuelle-plus').click(async event => this.actor.chanceActuelleIncDec(1))
|
||||
this.html.find('.chance-actuelle-moins').click(async event => this.actor.chanceActuelleIncDec(-1))
|
||||
this.html.find('.fatigue-plus').click(async event => this.actor.santeIncDec("fatigue", 1))
|
||||
this.html.find('.fatigue-moins').click(async event => this.actor.santeIncDec("fatigue", -1))
|
||||
}
|
||||
|
200
module/actor.js
200
module/actor.js
@ -17,7 +17,7 @@ import { RdDItemSigneDraconique } from "./item/signedraconique.js";
|
||||
import { ReglesOptionnelles } from "./settings/regles-optionnelles.js";
|
||||
import { EffetsDraconiques } from "./tmr/effets-draconiques.js";
|
||||
import { Draconique } from "./tmr/draconique.js";
|
||||
import { RdDCarac } from "./rdd-carac.js";
|
||||
import { LIST_CARAC_PERSONNAGE, RdDCarac } from "./rdd-carac.js";
|
||||
import { DialogConsommer } from "./dialog-item-consommer.js";
|
||||
import { DialogFabriquerPotion } from "./dialog-fabriquer-potion.js";
|
||||
import { RollDataAjustements } from "./rolldata-ajustements.js";
|
||||
@ -41,6 +41,7 @@ import { RdDCombatManager } from "./rdd-combat.js";
|
||||
import { RdDItemTete } from "./item/tete.js";
|
||||
import { DialogSelect } from "./dialog-select.js";
|
||||
import { PAS_DE_DRACONIC, POSSESSION_SANS_DRACONIC } from "./item/base-items.js";
|
||||
import { RdDItemRace } from "./item/race.js";
|
||||
|
||||
export const MAINS_DIRECTRICES = ['Droitier', 'Gaucher', 'Ambidextre']
|
||||
|
||||
@ -58,7 +59,7 @@ export class RdDActor extends RdDBaseActorSang {
|
||||
*/
|
||||
prepareActorData() {
|
||||
|
||||
this.system.carac.force.value = Math.min(this.system.carac.force.value, parseInt(this.system.carac.taille.value) + 4);
|
||||
RdDItemRace.applyRacialLimits(this)
|
||||
|
||||
this.system.carac.melee.value = Math.floor((this.getForce() + parseInt(this.system.carac.agilite.value)) / 2);
|
||||
this.system.carac.tir.value = Math.floor((parseInt(this.system.carac.vue.value) + parseInt(this.system.carac.dexterite.value)) / 2);
|
||||
@ -95,11 +96,14 @@ export class RdDActor extends RdDBaseActorSang {
|
||||
isHautRevant() { return this.system.attributs.hautrevant.value != "" }
|
||||
|
||||
/* -------------------------------------------- */
|
||||
getAgilite() { return this.system.carac.agilite?.value ?? 0 }
|
||||
getChance() { return this.system.carac.chance?.value ?? 0 }
|
||||
getAgilite() { return Misc.toInt(this.system.carac.agilite?.value ?? 0) }
|
||||
getChance() { return Misc.toInt(this.system.carac.chance?.value ?? 0) }
|
||||
|
||||
getReveActuel() { return this.system.reve?.reve?.value ?? this.carac.reve.value ?? 0 }
|
||||
getChanceActuel() { return this.system.compteurs.chance?.value ?? 10 }
|
||||
getReveActuel() { return Misc.toInt(this.system.reve?.reve?.value) ?? this.carac.reve.value ?? 0 }
|
||||
getChanceActuel() {
|
||||
return Number.isNumeric(this.system.compteurs.chance.value) ?
|
||||
Misc.toInt(this.system.compteurs.chance.value) : this.getChance()
|
||||
}
|
||||
getMoralTotal() { return this.system.compteurs.moral?.value ?? 0 }
|
||||
|
||||
getEnduranceMax() { return Math.max(1, Math.max(this.getTaille() + this.getConstitution(), this.getVieMax() + this.getVolonte())) }
|
||||
@ -657,18 +661,16 @@ export class RdDActor extends RdDBaseActorSang {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async updateCarac(caracName, to) {
|
||||
if (caracName == "force") {
|
||||
if (Number(to) > this.getTaille() + 4) {
|
||||
ui.notifications.warn("Votre FORCE doit être au maximum de TAILLE+4");
|
||||
return;
|
||||
}
|
||||
to = Number(to)
|
||||
if (!RdDItemRace.checkRacialMax(this, caracName, to)) {
|
||||
return
|
||||
}
|
||||
if (caracName == "reve") {
|
||||
if (caracName == LIST_CARAC_PERSONNAGE.reve.code) {
|
||||
if (to > Misc.toInt(this.system.reve.seuil.value)) {
|
||||
this.setPointsDeSeuil(to);
|
||||
}
|
||||
}
|
||||
if (caracName == "chance") {
|
||||
if (caracName == LIST_CARAC_PERSONNAGE.chance.code) {
|
||||
if (to > Misc.toInt(this.system.compteurs.chance.value)) {
|
||||
this.setPointsDeChance(to);
|
||||
}
|
||||
@ -991,21 +993,31 @@ export class RdDActor extends RdDBaseActorSang {
|
||||
}
|
||||
}
|
||||
|
||||
async addSortReserve() {
|
||||
async addSortReserve(itemId) {
|
||||
if (itemId) {
|
||||
const item = this.items.get(itemId)
|
||||
if (item.type == ITEM_TYPES.sort && !item.system.isrituel) {
|
||||
this.$createSortReserve(item)
|
||||
return
|
||||
}
|
||||
}
|
||||
const selectSortReserve = {
|
||||
title: "Créer un sort en réserve",
|
||||
label: "Choisir un sort",
|
||||
list: this.itemTypes[ITEM_TYPES.sort].filter(it => !it.system.isrituel)
|
||||
}
|
||||
DialogSelect.select(selectSortReserve, sort =>
|
||||
this.createEmbeddedDocuments("Item",
|
||||
[{
|
||||
type: ITEM_TYPES.sortreserve,
|
||||
name: sort.name,
|
||||
img: sort.img,
|
||||
system: { sortid: sort.id, draconic: sort.system.draconic, ptreve: Number(sort.system.ptreve.match(/\d+/)), coord: 'A1', heurecible: 'Vaisseau' }
|
||||
}],
|
||||
{ renderSheet: true }))
|
||||
DialogSelect.select(selectSortReserve, sort => this.$createSortReserve(sort))
|
||||
}
|
||||
|
||||
$createSortReserve(sort) {
|
||||
this.createEmbeddedDocuments("Item",
|
||||
[{
|
||||
type: ITEM_TYPES.sortreserve,
|
||||
name: sort.name,
|
||||
img: sort.img,
|
||||
system: { sortid: sort.id, draconic: sort.system.draconic, ptreve: Number(sort.system.ptreve.match(/\d+/)), coord: 'A1', heurecible: 'Vaisseau' }
|
||||
}],
|
||||
{ renderSheet: true })
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
async reinsertionAleatoire(raison, accessible = tmr => true) {
|
||||
@ -1070,6 +1082,11 @@ export class RdDActor extends RdDBaseActorSang {
|
||||
await this.update({ "system.reve.reve.value": reve });
|
||||
}
|
||||
|
||||
async chanceActuelleIncDec(value) {
|
||||
const chance = Math.min(this.getChance(), Math.max(this.getChanceActuel() + value, 0));
|
||||
await this.update({ "system.compteurs.chance.value": chance });
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async regainPointDeSeuil() {
|
||||
const seuil = Misc.toInt(this.system.reve.seuil.value);
|
||||
@ -1370,7 +1387,7 @@ export class RdDActor extends RdDBaseActorSang {
|
||||
}
|
||||
|
||||
await RdDResolutionTable.rollData(ethylismeData.jetVie);
|
||||
this._gererExperience(ethylismeData.jetVie);
|
||||
this.gererExperience(ethylismeData.jetVie);
|
||||
RollDataAjustements.calcul(ethylismeData.jetVie, this);
|
||||
if (ethylismeData.jetVie.rolled.isSuccess) {
|
||||
ethylisme.nb_doses++;
|
||||
@ -1402,7 +1419,7 @@ export class RdDActor extends RdDBaseActorSang {
|
||||
finalLevel: Number(ethylisme.value) + Number(this.system.compteurs.moral.value)
|
||||
}
|
||||
await RdDResolutionTable.rollData(ethylismeData.jetVolonte);
|
||||
this._gererExperience(ethylismeData.jetVolonte);
|
||||
this.gererExperience(ethylismeData.jetVolonte);
|
||||
RollDataAjustements.calcul(ethylismeData.jetVolonte, this);
|
||||
}
|
||||
}
|
||||
@ -1513,13 +1530,12 @@ export class RdDActor extends RdDBaseActorSang {
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
/* -------------------------------------------- */
|
||||
isCaracMax(code) {
|
||||
if (code == 'force' && parseInt(this.system.carac.force.value) >= parseInt(this.system.carac.taille.value) + 4) {
|
||||
return true;
|
||||
}
|
||||
return false
|
||||
return RdDItemRace.isRacialMax(this, code)
|
||||
}
|
||||
|
||||
async checkCaracXP(caracName, display = true) {
|
||||
let carac = this.findCaracByName(caracName);
|
||||
if (carac && carac.xp > 0) {
|
||||
@ -1580,7 +1596,7 @@ export class RdDActor extends RdDBaseActorSang {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async appliquerAjoutExperience(rollData, hideChatMessage = 'show') {
|
||||
if (!Misc.isFirstConnectedGM()) {
|
||||
if (!Misc.hasConnectedGM()) {
|
||||
return
|
||||
}
|
||||
hideChatMessage = hideChatMessage == 'hide' || (Misc.isRollModeHiddenToPlayer() && !game.user.isGM)
|
||||
@ -1646,10 +1662,12 @@ export class RdDActor extends RdDBaseActorSang {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async rollUnSort(coord) {
|
||||
RdDEmpoignade.checkEmpoignadeEnCours(this)
|
||||
if (RdDEmpoignade.checkEmpoignadeEnCours(this)) {
|
||||
return
|
||||
}
|
||||
if (EffetsDraconiques.isSortImpossible(this)) {
|
||||
ui.notifications.error("Une queue ou un souffle vous empèche de lancer de sort!");
|
||||
return;
|
||||
ui.notifications.error("Une queue ou un souffle vous empèche de lancer de sort!")
|
||||
return
|
||||
}
|
||||
// Duplication car les pts de reve sont modifiés dans le sort
|
||||
let sorts = foundry.utils.duplicate(this.$filterSortList(this.itemTypes['sort'], coord));
|
||||
@ -1781,38 +1799,8 @@ export class RdDActor extends RdDBaseActorSang {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Méthode pour faire un jet prédéterminer sans ouvrir la fenêtre de dialogue
|
||||
* @param {*} caracName
|
||||
* @param {*} compName
|
||||
* @param {*} diff
|
||||
* @param {*} options
|
||||
* @returns
|
||||
*/
|
||||
async doRollCaracCompetence(caracName, compName, diff, options = { title: "" }) {
|
||||
const carac = this.getCaracByName(caracName);
|
||||
if (!carac) {
|
||||
ui.notifications.warn(`${this.name} n'a pas de caractéristique correspondant à ${caracName}`)
|
||||
return;
|
||||
}
|
||||
const competence = this.getCompetence(compName);
|
||||
let rollData = {
|
||||
alias: this.getAlias(),
|
||||
caracValue: Number(carac.value),
|
||||
selectedCarac: carac,
|
||||
competence: competence,
|
||||
diffLibre: diff,
|
||||
show: { title: options?.title ?? '' }
|
||||
};
|
||||
RollDataAjustements.calcul(rollData, this);
|
||||
await RdDResolutionTable.rollData(rollData);
|
||||
this._gererExperience(rollData);
|
||||
await RdDResolutionTable.displayRollData(rollData, this)
|
||||
return rollData.rolled;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
_gererExperience(rollData) {
|
||||
gererExperience(rollData) {
|
||||
const callback = this.createCallbackExperience();
|
||||
if (callback.condition(rollData)) {
|
||||
callback.action(rollData);
|
||||
@ -1862,26 +1850,6 @@ export class RdDActor extends RdDBaseActorSang {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
async rollCaracCompetence(caracName, compName, diff, options = { title: "" }) {
|
||||
RdDEmpoignade.checkEmpoignadeEnCours(this)
|
||||
const competence = this.getCompetence(compName);
|
||||
await this.openRollDialog({
|
||||
name: 'jet-competence',
|
||||
label: 'Jet ' + Grammar.apostrophe('de', competence.name),
|
||||
template: 'systems/foundryvtt-reve-de-dragon/templates/dialog-roll-competence.html',
|
||||
rollData: {
|
||||
alias: this.getAlias(),
|
||||
carac: this.system.carac,
|
||||
selectedCarac: this.getCaracByName(caracName),
|
||||
selectedCaracName: caracName,
|
||||
diffLibre: diff,
|
||||
competence: competence,
|
||||
show: { title: options?.title ?? '' }
|
||||
},
|
||||
callbackAction: r => this.$onRollCompetence(r, options)
|
||||
});
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async rollTache(id, options = {}) {
|
||||
RdDEmpoignade.checkEmpoignadeEnCours(this)
|
||||
@ -2254,12 +2222,6 @@ export class RdDActor extends RdDBaseActorSang {
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async chanceActuelleIncDec(value) {
|
||||
const chance = Math.min(this.getChance(), Math.max(this.getChanceActuel() + value, 0));
|
||||
await this.updateCompteurValue("chance", chance);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async appelDestinee(onSuccess = () => { }, onEchec = () => { }) {
|
||||
let destinee = this.system.compteurs.destinee?.value ?? 0;
|
||||
@ -3021,12 +2983,14 @@ export class RdDActor extends RdDBaseActorSang {
|
||||
/* -------------------------------------------- */
|
||||
async onCreateItem(item, options, id) {
|
||||
switch (item.type) {
|
||||
case 'tete':
|
||||
case 'queue':
|
||||
case 'ombre':
|
||||
case 'souffle':
|
||||
await this.onCreateOwnedDraconique(item, options, id);
|
||||
break;
|
||||
case ITEM_TYPES.tete:
|
||||
case ITEM_TYPES.queue:
|
||||
case ITEM_TYPES.ombre:
|
||||
case ITEM_TYPES.souffle:
|
||||
await this.onCreateOwnedDraconique(item, options, id)
|
||||
break
|
||||
case ITEM_TYPES.race:
|
||||
await this.onCreateOwnedRace(item, options, id)
|
||||
}
|
||||
await item.onCreateItemTemporel(this);
|
||||
await item.onCreateDecoupeComestible(this);
|
||||
@ -3034,16 +2998,19 @@ export class RdDActor extends RdDBaseActorSang {
|
||||
|
||||
async onDeleteItem(item, options, id) {
|
||||
switch (item.type) {
|
||||
case 'tete':
|
||||
case 'queue':
|
||||
case 'ombre':
|
||||
case 'souffle':
|
||||
case ITEM_TYPES.tete:
|
||||
case ITEM_TYPES.queue:
|
||||
case ITEM_TYPES.ombre:
|
||||
case ITEM_TYPES.souffle:
|
||||
await this.onDeleteOwnedDraconique(item, options, id)
|
||||
break
|
||||
case 'casetmr':
|
||||
case ITEM_TYPES.race:
|
||||
await this.onDeleteOwnedRace(item, options, id)
|
||||
break
|
||||
case ITEM_TYPES.casetmr:
|
||||
await this.onDeleteOwnedCaseTmr(item, options, id)
|
||||
break
|
||||
case 'empoignade':
|
||||
case ITEM_TYPES.empoignade:
|
||||
await RdDEmpoignade.deleteLinkedEmpoignade(this.id, item)
|
||||
break
|
||||
}
|
||||
@ -3072,6 +3039,35 @@ export class RdDActor extends RdDBaseActorSang {
|
||||
}
|
||||
}
|
||||
|
||||
async onCreateOwnedRace(item, options, id) {
|
||||
if (Misc.isFirstConnectedGM()) {
|
||||
const raceIds = this.itemTypes[ITEM_TYPES.race].map(it => it.id).filter(id => id != item.id)
|
||||
if (raceIds.length > 0) {
|
||||
await this.deleteEmbeddedDocuments('Item', raceIds)
|
||||
}
|
||||
await this._applyRaceCaracUpdates(item, 1)
|
||||
}
|
||||
}
|
||||
|
||||
async onDeleteOwnedRace(item, options, id) {
|
||||
if (Misc.isFirstConnectedGM()) {
|
||||
await this._applyRaceCaracUpdates(item, -1)
|
||||
}
|
||||
}
|
||||
|
||||
async _applyRaceCaracUpdates(item, sign) {
|
||||
const updates = {};
|
||||
RdDCarac.caracs(it => true).forEach(c => {
|
||||
const toAdd = Number(foundry.utils.getProperty(item, c.path)) * sign
|
||||
if (toAdd != 0) {
|
||||
updates[c.path] = Number(foundry.utils.getProperty(this, c.path)) + toAdd
|
||||
}
|
||||
})
|
||||
if (Object.keys(updates).length > 0) {
|
||||
await this.update(updates)
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async onDeleteOwnedCaseTmr(item, options, id) {
|
||||
if (Misc.isFirstConnectedGM()) {
|
||||
|
@ -1,3 +1,4 @@
|
||||
import { RdDTextEditor } from "../apps/rdd-text-roll-editor.js";
|
||||
import { Grammar } from "../grammar.js";
|
||||
import { ITEM_TYPES } from "../item.js";
|
||||
import { RdDSheetUtility } from "../rdd-sheet-utility.js";
|
||||
@ -27,7 +28,7 @@ export class RdDBaseActorReveSheet extends RdDBaseActorSheet {
|
||||
|
||||
this.html.find('.button-encaissement').click(async event => this.actor.encaisser())
|
||||
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('.endurance-plus').click(async event => this.actor.santeIncDec("endurance", 1));
|
||||
this.html.find('.endurance-moins').click(async event => this.actor.santeIncDec("endurance", -1));
|
||||
@ -47,7 +48,23 @@ export class RdDBaseActorReveSheet extends RdDBaseActorSheet {
|
||||
}
|
||||
}], { renderSheet: true })
|
||||
)
|
||||
this.html.find('.roll-text').click(async event => await RdDTextEditor.rollText(event, this.actor))
|
||||
this.html.find('.chat-roll-text').click(async event => await RdDTextEditor.chatRollText(event))
|
||||
|
||||
|
||||
if (this.options.vueDetaillee) {
|
||||
// On carac change
|
||||
this.html.find('.carac-value').change(async event => {
|
||||
let caracName = event.currentTarget.name.replace(".value", "").replace("system.carac.", "");
|
||||
this.actor.updateCarac(caracName, parseInt(event.target.value));
|
||||
});
|
||||
// On competence change
|
||||
this.html.find('.competence-value').change(async event => {
|
||||
let compName = event.currentTarget.attributes.compname.value;
|
||||
//console.log("Competence changed :", compName);
|
||||
this.actor.updateCompetence(compName, parseInt(event.target.value));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -22,6 +22,7 @@ import { RdDCombat } from "../rdd-combat.js";
|
||||
import { RdDEmpoignade } from "../rdd-empoignade.js";
|
||||
import { RdDPossession } from "../rdd-possession.js";
|
||||
import { BASE_CORPS_A_CORPS, BASE_ESQUIVE, POSSESSION_SANS_DRACONIC } from "../item/base-items.js";
|
||||
import { RollDataAjustements } from "../rolldata-ajustements.js";
|
||||
|
||||
/**
|
||||
* Classe de base pour les acteurs disposant de rêve (donc, pas des objets)
|
||||
@ -37,6 +38,15 @@ export class RdDBaseActorReve extends RdDBaseActor {
|
||||
this.system.sante.endurance.value = Math.min(this.system.sante.endurance.value, this.system.sante.endurance.max)
|
||||
}
|
||||
|
||||
getCarac() {
|
||||
return foundry.utils.mergeObject(this.system.carac,
|
||||
{
|
||||
'reve-actuel': this.getCaracReveActuel(),
|
||||
'chance-actuelle': this.getCaracChanceActuelle()
|
||||
},
|
||||
{ inplace: false })
|
||||
}
|
||||
|
||||
getCaracChanceActuelle() {
|
||||
return {
|
||||
label: 'Chance actuelle',
|
||||
@ -53,7 +63,6 @@ export class RdDBaseActorReve extends RdDBaseActor {
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
getTaille() { return Misc.toInt(this.system.carac.taille?.value) }
|
||||
getConstitution() { return this.getReve() }
|
||||
getForce() { return this.getReve() }
|
||||
@ -285,6 +294,57 @@ export class RdDBaseActorReve extends RdDBaseActor {
|
||||
createCallbackAppelAuMoral() { return this.createEmptyCallback(); }
|
||||
async _onCloseRollDialog(html) { }
|
||||
|
||||
async rollCaracCompetence(caracName, compName, diff, options = { title: "" }) {
|
||||
RdDEmpoignade.checkEmpoignadeEnCours(this)
|
||||
const competence = this.getCompetence(compName);
|
||||
await this.openRollDialog({
|
||||
name: 'jet-competence',
|
||||
label: competence? 'Jet ' + Grammar.apostrophe('de', competence.name) : `Jet sans compétence (${compName})`,
|
||||
template: 'systems/foundryvtt-reve-de-dragon/templates/dialog-roll-competence.html',
|
||||
rollData: {
|
||||
alias: this.getAlias(),
|
||||
carac: this.system.carac,
|
||||
selectedCarac: this.getCaracByName(caracName),
|
||||
selectedCaracName: caracName,
|
||||
diffLibre: diff,
|
||||
competence: competence,
|
||||
show: { title: options?.title ?? '' }
|
||||
},
|
||||
callbackAction: r => this.$onRollCompetence(r, options)
|
||||
});
|
||||
}
|
||||
/**
|
||||
* Méthode pour faire un jet prédéterminer sans ouvrir la fenêtre de dialogue
|
||||
* @param {*} caracName code ou label de la caractéristique. On peut utiliser 'intel' pour Intellect.
|
||||
* @param {*} compName nom de compétence ou nom abrégé.
|
||||
* @param {*} diff difficulté (0 si undefined)
|
||||
* @param {*} options
|
||||
* @returns le jet effectué
|
||||
*/
|
||||
async doRollCaracCompetence(caracName, compName, diff, options = { title: "" }) {
|
||||
const carac = this.getCaracByName(caracName);
|
||||
if (!carac) {
|
||||
ui.notifications.warn(`${this.name} n'a pas de caractéristique correspondant à ${caracName}`)
|
||||
return
|
||||
}
|
||||
const competence = this.getCompetence(compName);
|
||||
let rollData = {
|
||||
alias: this.getAlias(),
|
||||
caracValue: Number(carac.value),
|
||||
selectedCarac: carac,
|
||||
competence: competence,
|
||||
diffLibre: diff ?? 0,
|
||||
show: { title: options?.title ?? '' }
|
||||
}
|
||||
RollDataAjustements.calcul(rollData, this);
|
||||
await RdDResolutionTable.rollData(rollData);
|
||||
this.gererExperience(rollData);
|
||||
await RdDResolutionTable.displayRollData(rollData, this)
|
||||
return rollData.rolled;
|
||||
}
|
||||
|
||||
gererExperience(rollData) { }
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async roll() {
|
||||
RdDEmpoignade.checkEmpoignadeEnCours(this)
|
||||
@ -303,24 +363,14 @@ export class RdDBaseActorReve extends RdDBaseActor {
|
||||
competences: this.itemTypes['competence']
|
||||
},
|
||||
callbackAction: r => this.$onRollCaracResult(r)
|
||||
});
|
||||
})
|
||||
}
|
||||
|
||||
getCarac() {
|
||||
// TODO: le niveau d'une entité de cauchemar devrait être exclu...
|
||||
return foundry.utils.mergeObject(this.system.carac,
|
||||
{
|
||||
'reve-actuel': this.getCaracReveActuel(),
|
||||
'chance-actuelle': this.getCaracChanceActuelle()
|
||||
},
|
||||
{ inplace: false })
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async rollCarac(caracName, jetResistance = undefined) {
|
||||
async rollCarac(caracName, options = {}) {
|
||||
if (Grammar.equalsInsensitive(caracName, 'taille')) {
|
||||
return
|
||||
}
|
||||
foundry.utils.mergeObject(options, { resistance: false, diff: 0 }, { overwrite: false })
|
||||
RdDEmpoignade.checkEmpoignadeEnCours(this)
|
||||
let selectedCarac = this.getCaracByName(caracName)
|
||||
console.log("selectedCarac", selectedCarac)
|
||||
@ -331,7 +381,8 @@ export class RdDBaseActorReve extends RdDBaseActor {
|
||||
rollData: {
|
||||
selectedCarac: selectedCarac,
|
||||
competences: this.itemTypes['competence'],
|
||||
jetResistance: jetResistance ? caracName : undefined
|
||||
diffLibre: options.diff ?? 0,
|
||||
jetResistance: options.resistance ? caracName : undefined
|
||||
},
|
||||
callbackAction: r => this.$onRollCaracResult(r)
|
||||
});
|
||||
@ -499,7 +550,7 @@ export class RdDBaseActorReve extends RdDBaseActor {
|
||||
|| entite.isEntiteAccordee(this)) {
|
||||
return true;
|
||||
}
|
||||
const rolled = await RdDResolutionTable.roll(this.getReveActuel(), - Number(entite.system.carac.niveau.value));
|
||||
const rolled = await RdDResolutionTable.roll(this.getReveActuel(), - Number(entite.getNiveau()));
|
||||
const rollData = {
|
||||
alias: this.getAlias(),
|
||||
rolled: rolled,
|
||||
|
@ -5,6 +5,7 @@ import { RdDSheetUtility } from "../rdd-sheet-utility.js";
|
||||
import { Monnaie } from "../item-monnaie.js";
|
||||
import { RdDItem, ITEM_TYPES } from "../item.js";
|
||||
import { RdDItemCompetenceCreature } from "../item-competencecreature.js";
|
||||
import { RdDTextEditor } from "../apps/rdd-text-roll-editor.js";
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/**
|
||||
@ -35,8 +36,8 @@ export class RdDBaseActorSheet extends ActorSheet {
|
||||
img: this.actor.img,
|
||||
name: this.actor.name,
|
||||
system: this.actor.system,
|
||||
description: await TextEditor.enrichHTML(this.actor.system.description, { async: true }),
|
||||
notesmj: await TextEditor.enrichHTML(this.actor.system.notesmj, { async: true }),
|
||||
description: await RdDTextEditor.enrichHTML(this.actor.system.description, this.actor),
|
||||
notesmj: await RdDTextEditor.enrichHTML(this.actor.system.notesmj, this.actor),
|
||||
options: RdDSheetUtility.mergeDocumentRights(this.options, this.actor, this.isEditable),
|
||||
effects: this.actor.effects
|
||||
}
|
||||
@ -177,21 +178,6 @@ export class RdDBaseActorSheet extends ActorSheet {
|
||||
this.options.vueDetaillee = !this.options.vueDetaillee;
|
||||
this.render(true);
|
||||
});
|
||||
|
||||
if (this.options.vueDetaillee) {
|
||||
// On carac change
|
||||
this.html.find('.carac-value').change(async event => {
|
||||
let caracName = event.currentTarget.name.replace(".value", "").replace("system.carac.", "");
|
||||
this.actor.updateCarac(caracName, parseInt(event.target.value));
|
||||
});
|
||||
// On competence change
|
||||
this.html.find('.competence-value').change(async event => {
|
||||
let compName = event.currentTarget.attributes.compname.value;
|
||||
//console.log("Competence changed :", compName);
|
||||
this.actor.updateCompetence(compName, parseInt(event.target.value));
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
_rechercherKeyup(event) {
|
||||
|
@ -21,7 +21,7 @@ export class RdDBaseActor extends Actor {
|
||||
|
||||
static $findCaracByName(carac, name) {
|
||||
const caracList = Object.entries(carac);
|
||||
let entry = Misc.findFirstLike(name, caracList, { mapper: it => it[0], description: 'caractéristique' });
|
||||
let entry = Misc.findFirstLike(name, caracList, { mapper: it => it[0], description: 'caractéristique', onMessage: m => { } });
|
||||
if (!entry || entry.length == 0) {
|
||||
entry = Misc.findFirstLike(name, caracList, { mapper: it => it[1].label, description: 'caractéristique' });
|
||||
}
|
||||
@ -81,7 +81,6 @@ export class RdDBaseActor extends Actor {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static getRealActor(actorId, tokenId) {
|
||||
if (tokenId) {
|
||||
let token = canvas.tokens.get(tokenId)
|
||||
@ -161,8 +160,11 @@ export class RdDBaseActor extends Actor {
|
||||
return RdDBaseActor.$findCaracByName(carac, name);
|
||||
}
|
||||
|
||||
mapCarac(caracCode) { return caracCode }
|
||||
|
||||
getCaracByName(name) {
|
||||
switch (Grammar.toLowerCaseNoAccent(name)) {
|
||||
name = this.mapCarac(Grammar.toLowerCaseNoAccent(name))
|
||||
switch (name) {
|
||||
case 'reve-actuel': case 'reve actuel':
|
||||
return this.getCaracReveActuel();
|
||||
case 'chance-actuelle': case 'chance-actuelle':
|
||||
|
@ -1,4 +1,6 @@
|
||||
import { Grammar } from "../grammar.js";
|
||||
import { ITEM_TYPES } from "../item.js";
|
||||
import { LIST_CARAC_AUTRES } from "../rdd-carac.js";
|
||||
import { RdDBaseActorSang } from "./base-actor-sang.js";
|
||||
|
||||
export class RdDCreature extends RdDBaseActorSang {
|
||||
@ -32,4 +34,16 @@ export class RdDCreature extends RdDBaseActorSang {
|
||||
}
|
||||
}
|
||||
|
||||
mapCarac(caracCode) {
|
||||
switch (caracCode) {
|
||||
case 'vue': case 'ouie': case 'odoratgout': case 'empathie': case 'perception':
|
||||
return 'perception'
|
||||
case 'agilite':
|
||||
return 'force'
|
||||
case 'force': case 'constitution': case 'taille': case 'reve': case 'volonte':
|
||||
return caracCode
|
||||
}
|
||||
return undefined
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -15,6 +15,8 @@ export class RdDActorEntiteSheet extends RdDBaseActorReveSheet {
|
||||
|
||||
async getData() {
|
||||
let formData = await super.getData();
|
||||
formData.niveau = this.actor.getNiveau()
|
||||
delete formData.system.carac.niveau
|
||||
formData.resonances = this.actor.system.sante.resonnance.actors.map(actorId => game.actors.get(actorId))
|
||||
.map(actor => { return { id: actor.id, name: actor.name, img: actor.img } })
|
||||
return formData
|
||||
@ -33,10 +35,6 @@ export class RdDActorEntiteSheet extends RdDBaseActorReveSheet {
|
||||
let compName = event.currentTarget.attributes.compname.value;
|
||||
this.actor.updateCreatureCompetence(compName, "carac_value", parseInt(event.target.value));
|
||||
});
|
||||
this.html.find('.creature-niveau').change(async event => {
|
||||
let compName = event.currentTarget.attributes.compname.value;
|
||||
this.actor.updateCreatureCompetence(compName, "niveau", parseInt(event.target.value));
|
||||
})
|
||||
this.html.find('.creature-dommages').change(async event => {
|
||||
let compName = event.currentTarget.attributes.compname.value;
|
||||
this.actor.updateCreatureCompetence(compName, "dommages", parseInt(event.target.value));
|
||||
|
@ -1,6 +1,7 @@
|
||||
import { ENTITE_INCARNE, ENTITE_NONINCARNE } from "../constants.js";
|
||||
import { ITEM_TYPES } from "../item.js";
|
||||
import { Misc } from "../misc.js";
|
||||
import { RdDCarac } from "../rdd-carac.js";
|
||||
import { RdDEncaisser } from "../rdd-roll-encaisser.js";
|
||||
import { STATUSES } from "../settings/status-effects.js";
|
||||
import { RdDBaseActorReve } from "./base-actor-reve.js";
|
||||
@ -18,12 +19,23 @@ export class RdDEntite extends RdDBaseActorReve {
|
||||
isEntite(typeentite = []) {
|
||||
return (typeentite.length == 0 || typeentite.includes(this.system.definition.typeentite));
|
||||
}
|
||||
|
||||
isNonIncarnee() { return this.isEntite([ENTITE_NONINCARNE]) }
|
||||
|
||||
getReveActuel() {
|
||||
return Misc.toInt(this.system.carac.reve?.value)
|
||||
}
|
||||
|
||||
getCarac() {
|
||||
const carac = super.getCarac()
|
||||
delete carac.niveau
|
||||
return carac
|
||||
}
|
||||
|
||||
getNiveau() {
|
||||
const reve = this.getReve()
|
||||
return RdDCarac.getCaracDerivee(reve).niveau
|
||||
}
|
||||
getForce() { return this.getReve() }
|
||||
getAgilite() { return this.getReve() }
|
||||
getChance() { return this.getReve() }
|
||||
@ -64,6 +76,7 @@ export class RdDEntite extends RdDBaseActorReve {
|
||||
}
|
||||
return {}
|
||||
}
|
||||
|
||||
async encaisser() {
|
||||
if (this.isNonIncarnee()) {
|
||||
return
|
||||
@ -104,4 +117,14 @@ export class RdDEntite extends RdDBaseActorReve {
|
||||
super.setEntiteReveAccordee(actor)
|
||||
}
|
||||
}
|
||||
|
||||
mapCarac(caracCode) {
|
||||
switch (caracCode) {
|
||||
case 'taille':
|
||||
case 'reve':
|
||||
return caracCode
|
||||
}
|
||||
return 'reve'
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -83,6 +83,7 @@ const MAPPING_BASE = [
|
||||
{ column: "protectionarmure", colName: 'Protection', getter: (actor, context) => Mapping.getProtectionArmure(actor, context) },
|
||||
{ column: "malus_armure", getter: (actor, context) => Mapping.getMalusArmure(actor, context) },
|
||||
{ column: "reve_actuel", rollClass: 'roll-reve-actuel', colName: 'Rêve actuel', getter: (actor, context) => actor.system.reve.reve.value },
|
||||
{ column: "chance_actuel", rollClass: 'roll-chance-actuelle', colName: 'Chance actuelle', getter: (actor, context) => actor.system.compteurs.chance.value },
|
||||
{ column: "vie_actuel", rollClass: 'jet-vie', getter: (actor, context) => actor.system.sante.vie.value },
|
||||
{ column: "endurance_actuel", rollClass: 'jet-endurance', getter: (actor, context) => actor.system.sante.endurance.value },
|
||||
{ column: "esquive", getter: (actor, context) => Mapping.getEsquive(context) },
|
||||
@ -278,7 +279,7 @@ export class Mapping {
|
||||
const race = ['', 'humain'].includes(Grammar.toLowerCaseNoAccent(actor.system.race)) ? '' : (actor.system.race + ' ')
|
||||
const heure = actor.system.heure
|
||||
const hn = `${sexeFeminin} à l'heure ${RdDTimestamp.definition(heure).avecArticle}`
|
||||
const age = actor.system.age ? `${actor.system.age} ans` : undefined
|
||||
const age = (actor.system.age && actor.system.age >0) ? `${actor.system.age} ans` : undefined
|
||||
const taille = actor.system.taille
|
||||
const poids = actor.system.poids
|
||||
const cheveux = actor.system.cheveux ? `cheveux ${actor.system.cheveux}` : undefined
|
||||
|
@ -6,6 +6,7 @@ import { Grammar } from "../grammar.js";
|
||||
import { Misc } from "../misc.js";
|
||||
import { ENTITE_INCARNE, ENTITE_NONINCARNE } from "../constants.js";
|
||||
import { RdDItemTete } from "../item/tete.js";
|
||||
import { ITEM_TYPES } from "../item.js";
|
||||
|
||||
const WHITESPACES = "\\s+"
|
||||
const NUMERIC = "[\\+\\-]?\\d+"
|
||||
@ -26,14 +27,13 @@ const MANIEMENTS = {
|
||||
'de lancer': (weapon) => { return { name: weapon.system.lancer, categorie: 'lancer' } },
|
||||
'de jet': (weapon) => { return { name: weapon.system.lancer, categorie: 'lancer' } },
|
||||
'à une main': (weapon) => { return { name: weapon.system.competence, categorie: 'melee' } },
|
||||
'à deux main': (weapon) => { return { name: weapon.system.competence.replace("à 1 main", "à 2 main"), categorie: 'melee' } },
|
||||
'à deux mains': (weapon) => { return { name: weapon.system.competence.replace("à 1 main", "à 2 mains"), categorie: 'melee' } },
|
||||
'mêlée': (weapon) => { return { name: weapon.system.competence, categorie: 'melee' } },
|
||||
}
|
||||
const XREGEXP_WEAPON_MANIEMENT = "(?<maniement>(" + Misc.join(Object.keys(MANIEMENTS), '|') + "))"
|
||||
|
||||
const XREGEXP_SORT_VOIE = "(?<voies>[OHNT](\\/[OHNT])*)"
|
||||
const XREGEXP_SORT_NAME = "(?<name>[^\\(]+)"
|
||||
// const XREGEXP_SORT_CASE = "(?<coord>([A-Za-zÀ-ÖØ-öø-ÿ\\s\\-]+|[A-M]\\d{1,2})+)"
|
||||
const XREGEXP_SORT_CASE = "(?<coord>([A-Za-zÀ-ÖØ-öø-ÿ\\s\\-]+|[A-M]\\d{1,2}))"
|
||||
|
||||
const XREGEXP_SORT = "(" + XREGEXP_SORT_VOIE
|
||||
@ -164,26 +164,18 @@ export class RdDStatBlockParser {
|
||||
switch (type) {
|
||||
case "creature":
|
||||
RdDStatBlockParser.parseCreature(statString, actorData)
|
||||
await RdDStatBlockParser.parseCompetences(statString, actorData, items)
|
||||
break
|
||||
case "entite":
|
||||
RdDStatBlockParser.parseEntite(statString, actorData)
|
||||
await RdDStatBlockParser.parseCompetences(statString, actorData, items)
|
||||
break
|
||||
}
|
||||
if (type == "personnage") {
|
||||
// Now process armors
|
||||
await RdDStatBlockParser.parseArmors(statString, actorData, items);
|
||||
}
|
||||
|
||||
// Get skills from compendium
|
||||
await RdDStatBlockParser.parseCompetences(statString, actorData, items);
|
||||
|
||||
|
||||
if (type == "personnage") {
|
||||
// Now process weapons
|
||||
await RdDStatBlockParser.parseWeapons(statString, items);
|
||||
|
||||
await RdDStatBlockParser.parseHautReve(statString, actorData, items);
|
||||
RdDStatBlockParser.parsePersonnage(statString, actorData);
|
||||
case "personnage":
|
||||
await RdDStatBlockParser.parseArmors(statString, actorData, items);
|
||||
await RdDStatBlockParser.parseCompetences(statString, actorData, items);
|
||||
await RdDStatBlockParser.parseWeapons(statString, items);
|
||||
await RdDStatBlockParser.parseHautReve(statString, actorData, items);
|
||||
RdDStatBlockParser.parsePersonnage(statString, actorData);
|
||||
}
|
||||
|
||||
const name = RdDStatBlockParser.extractName(type, statString);
|
||||
@ -193,6 +185,7 @@ export class RdDStatBlockParser {
|
||||
|
||||
let newActor = await RdDBaseActorReve.create({ name, type, system: actorData, items });
|
||||
await newActor.remiseANeuf()
|
||||
await RdDStatBlockParser.adjustAttacks(newActor)
|
||||
await RdDStatBlockParser.setValeursActuelles(newActor, statString)
|
||||
await newActor?.sheet.render(true)
|
||||
}
|
||||
@ -267,7 +260,7 @@ export class RdDStatBlockParser {
|
||||
}
|
||||
let weapMatch = XRegExp.exec(statString, XRegExp(weapon.name
|
||||
+ "(\\s*" + XREGEXP_WEAPON_MANIEMENT + ")?"
|
||||
+ "\\s+(?<value>\\+\\d+)", 'giu'));
|
||||
+ "\\s+(?<value>[\\+\\-]?\\d+)", 'giu'));
|
||||
if (weapMatch) {
|
||||
weapon = weapon.toObject();
|
||||
weapon.system.equipe = 'true';
|
||||
@ -296,6 +289,21 @@ export class RdDStatBlockParser {
|
||||
}
|
||||
}
|
||||
|
||||
static async adjustAttacks(newActor) {
|
||||
if (["creature", "entite"].includes(newActor.type)) {
|
||||
const bonusDommages = newActor.getBonusDegat()
|
||||
const ajustementAttaques = newActor.itemTypes[ITEM_TYPES.competencecreature].filter(it => it.system.iscombat)
|
||||
.map(it => {
|
||||
return {
|
||||
_id: it.id,
|
||||
'system.categorie': 'melee',
|
||||
'system.dommages': it.system.dommages - bonusDommages
|
||||
}
|
||||
})
|
||||
await newActor.updateEmbeddedDocuments('Item', ajustementAttaques)
|
||||
}
|
||||
}
|
||||
|
||||
static async setValeursActuelles(newActor, statString) {
|
||||
const updates = {
|
||||
}
|
||||
@ -412,9 +420,9 @@ export class RdDStatBlockParser {
|
||||
actorData.taille = taille.value;
|
||||
}
|
||||
// Get weight
|
||||
const poids = XRegExp.exec(statString, XRegExp("(?<value>\\d+ kg)", 'giu'));
|
||||
const poids = XRegExp.exec(statString, XRegExp(",\\s+(?<value>\\d+)\\s+kg", 'giu'));
|
||||
if (poids?.value) {
|
||||
actorData.poids = poids.value;
|
||||
actorData.poids = poids.value + ' kg';
|
||||
}
|
||||
// Get cheveux
|
||||
const cheveux = XRegExp.exec(statString, XRegExp("kg,\\s+(?<value>[A-Za-zÀ-ÖØ-öø-ÿ\\s\\-]+),\\s+yeux", 'giu'));
|
||||
@ -435,7 +443,7 @@ export class RdDStatBlockParser {
|
||||
}
|
||||
|
||||
static parseCreature(statString, actorData) {
|
||||
let protection = XRegExp.exec(statString, XRegExp("protection\\s+(?<value>[\\-]?\\d+)", 'giu'));
|
||||
let protection = XRegExp.exec(statString, XRegExp("protection(\\s+naturelle)?\\s+(?<value>[\\-]?\\d+)", 'giu'));
|
||||
if (protection?.value) {
|
||||
actorData.attributs.protection.value = Number(protection.value);
|
||||
}
|
||||
@ -461,33 +469,40 @@ export class RdDStatBlockParser {
|
||||
}
|
||||
|
||||
static parseActorType(statString) {
|
||||
let niveau = XRegExp.exec(statString, XRegExp("Niveau\\s+(?<value>[\\+\\-]?\\d+)", 'giu'))
|
||||
let force = XRegExp.exec(statString, XRegExp("Force\\s+(?<value>[\\+\\-]?\\d+)", 'giu'))
|
||||
let vue = XRegExp.exec(statString, XRegExp("Vue\\s+(?<value>[\\+\\-]?\\d+)", 'giu'))
|
||||
let perception = XRegExp.exec(statString, XRegExp("perception\\s+(?<value>\\d+)", 'giu'))
|
||||
if (perception?.value) {
|
||||
return "creature"
|
||||
}
|
||||
if (niveau?.value) {
|
||||
if (!force) {
|
||||
return "entite"
|
||||
}
|
||||
if (!vue || perception) {
|
||||
return "creature"
|
||||
}
|
||||
return "personnage"
|
||||
}
|
||||
|
||||
static extractName(actorType, statString) {
|
||||
switch (actorType) {
|
||||
case "personnage":
|
||||
// Check if ',né le' is present
|
||||
let namePersonnage = "Importé"
|
||||
if (statString.includes(", né")) {
|
||||
// Name is all string before first comma ','
|
||||
namePersonnage = XRegExp.exec(statString, XRegExp("(?<value>[\\p{Letter}\\s\\d]+),", 'giu'));
|
||||
} else {
|
||||
namePersonnage = XRegExp.exec(statString, XRegExp("(?<value>[\\p{Letter}\\s\\d]+)\\s+TAILLE", 'giu'));
|
||||
}
|
||||
if (namePersonnage?.value) {
|
||||
return Misc.upperFirst(namePersonnage?.value);
|
||||
}
|
||||
if (actorType == "personnage") {
|
||||
// Check if ',né le' is present
|
||||
let namePersonnage = "Importé"
|
||||
if (statString.includes(", né")) {
|
||||
// Name is all string before first comma ','
|
||||
namePersonnage = XRegExp.exec(statString, XRegExp("(?<value>[\\p{Letter}\'\\-\\s\\d]+),", 'giu'));
|
||||
} else {
|
||||
namePersonnage = XRegExp.exec(statString, XRegExp("(?<value>[\\p{Letter}\'\\-\\s\\d]+)\\s+TAILLE", 'giu'));
|
||||
}
|
||||
if (namePersonnage?.value) {
|
||||
return Misc.upperFirst(namePersonnage?.value.toLowerCase());
|
||||
}
|
||||
}
|
||||
|
||||
const name = XRegExp.exec(statString, XRegExp("(?<value>.+)\\s+taille", 'giu'));
|
||||
if (actorType == "entite") {
|
||||
if (!(name?.value)) {
|
||||
const nameEntiteReve = XRegExp.exec(statString, XRegExp("(?<value>.+)\\s+rêve", 'giu'));
|
||||
return Misc.upperFirst(nameEntiteReve?.value || "Importé");
|
||||
}
|
||||
}
|
||||
return Misc.upperFirst(name?.value || "Importé");
|
||||
}
|
||||
|
||||
|
78
module/apps/rdd-text-roll-editor.js
Normal file
78
module/apps/rdd-text-roll-editor.js
Normal file
@ -0,0 +1,78 @@
|
||||
import "./xregexp-all.js";
|
||||
import { SystemCompendiums } from "../settings/system-compendiums.js";
|
||||
import { ACTOR_TYPES } from "../item.js";
|
||||
import { TextRollAlchimie } from "./textroll/text-roll-alchimie.js";
|
||||
import { TextRollCaracCompetence } from "./textroll/text-roll-carac-competence.js";
|
||||
import { TextRollFormula } from "./textroll/text-roll-formula.js";
|
||||
import { TextRollManager } from "./textroll/text-roll-formatter.js";
|
||||
|
||||
const TEXT_ROLL_MANAGERS = [
|
||||
new TextRollAlchimie(),
|
||||
new TextRollCaracCompetence(),
|
||||
new TextRollFormula()]
|
||||
|
||||
export class RdDTextEditor {
|
||||
static registerChatCallbacks(html) {
|
||||
html.on("click", '.roll-text', async event => await RdDTextEditor.rollText(event))
|
||||
}
|
||||
|
||||
static async enrichHTML(text, object, options = {showlink:true}) {
|
||||
const context = {
|
||||
text,
|
||||
object,
|
||||
options,
|
||||
competences: await SystemCompendiums.getCompetences(ACTOR_TYPES.personnage),
|
||||
}
|
||||
|
||||
for (let manager of TEXT_ROLL_MANAGERS) {
|
||||
context.code = manager.code
|
||||
context.template = manager.template
|
||||
context.text = await manager.onReplaceRoll(context);
|
||||
}
|
||||
|
||||
return await TextEditor.enrichHTML(context.text, {
|
||||
relativeTo: object,
|
||||
secrets: object?.isOwner,
|
||||
async: true
|
||||
})
|
||||
}
|
||||
|
||||
static async _applyReplaceAll(manager, context) {
|
||||
context.code = manager.code
|
||||
context.template = manager.template
|
||||
context.text = await manager.onReplaceRoll(context);
|
||||
return context.text
|
||||
}
|
||||
|
||||
static getEventElement(event) {
|
||||
return $(event.currentTarget)?.parents(".roll-text-link");
|
||||
}
|
||||
|
||||
static async rollText(event, actor) {
|
||||
const code = TextRollManager.getNode(event)?.data('code')
|
||||
const manager = TEXT_ROLL_MANAGERS.find(it => it.code == code)
|
||||
if (manager) {
|
||||
await manager.onRollText(event, actor)
|
||||
}
|
||||
}
|
||||
|
||||
static async chatRollText(event) {
|
||||
const node = TextRollManager.getNode(event);
|
||||
if (node) {
|
||||
const code = node.data('code')
|
||||
const param = node.data('json')
|
||||
const manager = TEXT_ROLL_MANAGERS.find(it => it.code == code)
|
||||
|
||||
const text = await TextRollManager.createRollText(
|
||||
{
|
||||
code,
|
||||
template: manager.template,
|
||||
options: { showLink: false }
|
||||
},
|
||||
param)
|
||||
ChatMessage.create({
|
||||
content: text
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
79
module/apps/textroll/text-roll-alchimie.js
Normal file
79
module/apps/textroll/text-roll-alchimie.js
Normal file
@ -0,0 +1,79 @@
|
||||
import "../xregexp-all.js";
|
||||
import { ACTOR_TYPES, ITEM_TYPES } from "../../item.js";
|
||||
import { RdDCarac } from "../../rdd-carac.js";
|
||||
import { RdDUtility } from "../../rdd-utility.js";
|
||||
import { RdDAlchimie } from "../../rdd-alchimie.js";
|
||||
import { TextRollManager } from "./text-roll-formatter.js";
|
||||
|
||||
const REGEX_ALCHIMIE_TERMES = "(?<termes>(\\w|-)+)"
|
||||
const REGEX_ALCHIMIE_MANIP = "(?<manip>(couleur|consistance))"
|
||||
const XREGEXP_ROLL_ALCHIMIE = XRegExp("@roll\\[" + REGEX_ALCHIMIE_MANIP + "\\s+" + REGEX_ALCHIMIE_TERMES + "\\]", 'giu')
|
||||
const XREGEXP_ROLL_ALCHIMIE_MANIP = XRegExp("@" + REGEX_ALCHIMIE_MANIP + "\\{" + REGEX_ALCHIMIE_TERMES + "\\}", 'giu')
|
||||
|
||||
/**
|
||||
* classe pour gérer les jets d'alchimie
|
||||
*/
|
||||
export class TextRollAlchimie {
|
||||
get code() { return 'alchimie' }
|
||||
get template() { return `systems/foundryvtt-reve-de-dragon/templates/apps/textroll/link-text-roll-alchimie.hbs` }
|
||||
|
||||
async onReplaceRoll(context) {
|
||||
const handler = new AlchimieTextBuilder(context)
|
||||
return await handler.replaceAll()
|
||||
}
|
||||
|
||||
async onRollText(event, actor) {
|
||||
actor = this.getSelectedActor(actor)
|
||||
if (actor) {
|
||||
const node = TextRollManager.getNode(event)
|
||||
const recetteId = node.data('recetteid')
|
||||
const manip = node.data('manip')
|
||||
const termes = node.data('termes')
|
||||
if (recetteId) {
|
||||
await actor.effectuerTacheAlchimie(recetteId, manip, termes)
|
||||
}
|
||||
else {
|
||||
const carac = RdDCarac.caracDetails(RdDAlchimie.getCaracTache(manip))
|
||||
const diff = RdDAlchimie.getDifficulte(termes)
|
||||
await actor.rollCaracCompetence(carac.code, 'Alchimie', diff)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
getSelectedActor(actor) {
|
||||
actor = actor ?? RdDUtility.getSelectedActor()
|
||||
if (actor && actor.type == ACTOR_TYPES.personnage) {
|
||||
return actor
|
||||
}
|
||||
return undefined
|
||||
}
|
||||
}
|
||||
|
||||
class AlchimieTextBuilder {
|
||||
constructor(context) {
|
||||
this.context = context
|
||||
}
|
||||
|
||||
async replaceAll() {
|
||||
await XRegExp.forEach(this.context.text, XREGEXP_ROLL_ALCHIMIE, async (rollMatch, i) => await this.replaceMatch(rollMatch, i))
|
||||
await XRegExp.forEach(this.context.text, XREGEXP_ROLL_ALCHIMIE_MANIP, async (rollMatch, i) => await this.replaceMatch(rollMatch, i))
|
||||
return this.context.text
|
||||
}
|
||||
|
||||
async replaceMatch(rollMatch, i) {
|
||||
if (rollMatch.termes && rollMatch.manip) {
|
||||
const manip = rollMatch.manip
|
||||
const termes = rollMatch.termes
|
||||
const carac = RdDCarac.caracDetails(RdDAlchimie.getCaracTache(manip))
|
||||
const diff = RdDAlchimie.getDifficulte(termes)
|
||||
const recette = (this.context.object instanceof Item && this.context.object.type == ITEM_TYPES.recettealchimique) ? this.context.object : undefined
|
||||
const replacement = await TextRollManager.createRollText(this.context,
|
||||
{
|
||||
code: this.context.code,
|
||||
manip, termes, carac, diff, recetteid: recette?.id,
|
||||
})
|
||||
this.context.text = this.context.text.replace(rollMatch[0], replacement);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
98
module/apps/textroll/text-roll-carac-competence.js
Normal file
98
module/apps/textroll/text-roll-carac-competence.js
Normal file
@ -0,0 +1,98 @@
|
||||
import "../xregexp-all.js";
|
||||
import { RdDCarac } from "../../rdd-carac.js";
|
||||
import { RdDItemCompetence } from "../../item-competence.js";
|
||||
import { RdDUtility } from "../../rdd-utility.js";
|
||||
import { TextRollManager } from "./text-roll-formatter.js";
|
||||
|
||||
const REGECP_CARAC = "(?<carac>[A-Za-zÀ-ÖØ-öø-ÿ\\s\\-]+)"
|
||||
const REGEXP_COMP = "(\\/(?<competence>[A-Za-zÀ-ÖØ-öø-ÿ\\s\\-]+))?"
|
||||
const REGEXP_DIFF = "(/(?<diff>[\\+\\-]?\\d+(d\\d+)?))?"
|
||||
const REGEXP_ROLL_CARAC_COMP = REGECP_CARAC + REGEXP_COMP + REGEXP_DIFF
|
||||
const XREGEXP_ROLL_CARAC_COMP = XRegExp("@roll\\[" + REGEXP_ROLL_CARAC_COMP + "\\]", 'giu')
|
||||
|
||||
/**
|
||||
* classe pour gérer les jets de caractéristique/compétence depuis
|
||||
* les journaux/descriptions
|
||||
*/
|
||||
export class TextRollCaracCompetence {
|
||||
get code() { return 'carac' }
|
||||
get template() { return `systems/foundryvtt-reve-de-dragon/templates/apps/textroll/link-text-roll-carac-competence.hbs` }
|
||||
|
||||
async onReplaceRoll(context) {
|
||||
const handler = new CaracCompetenceTextBuilder(context)
|
||||
return await handler.replaceAll()
|
||||
}
|
||||
|
||||
async onRollText(event, actor) {
|
||||
const node = TextRollManager.getNode(event)
|
||||
const caracCode = node.data('carac-code')
|
||||
if (caracCode) {
|
||||
const competence = node.data('competence')
|
||||
const diff = await this.calculDiff(node)
|
||||
const actors = this.getSelectedActors(actor)
|
||||
actors.forEach(async it => await this.doRoll(it, caracCode, competence, diff))
|
||||
}
|
||||
}
|
||||
|
||||
async calculDiff(node) {
|
||||
const diff = node.data('diff') ?? 0
|
||||
if (!Number.isInteger(diff)) {
|
||||
const roll = new Roll(diff)
|
||||
await roll.evaluate()
|
||||
await roll.toMessage({ flavor: `La difficulté de ${diff} a donné ${roll.total}` })
|
||||
return roll.total
|
||||
}
|
||||
return diff
|
||||
}
|
||||
|
||||
async doRoll(actor, caracCode, competence, diff) {
|
||||
caracCode = actor.mapCarac(caracCode)
|
||||
if (caracCode) {
|
||||
if (competence) {
|
||||
await actor.rollCaracCompetence(caracCode, competence, diff)
|
||||
}
|
||||
else {
|
||||
await actor.rollCarac(caracCode, { diff })
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
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 []
|
||||
}
|
||||
}
|
||||
|
||||
class CaracCompetenceTextBuilder {
|
||||
constructor(context) {
|
||||
this.context = context
|
||||
}
|
||||
|
||||
async replaceAll() {
|
||||
await XRegExp.forEach(this.context.text, XREGEXP_ROLL_CARAC_COMP, async (rollMatch, i) => await this.replaceMatch(rollMatch, i))
|
||||
return this.context.text
|
||||
}
|
||||
|
||||
async replaceMatch(rollMatch, i) {
|
||||
const carac = RdDCarac.caracDetails(rollMatch.carac)
|
||||
if (carac) {
|
||||
const competence = rollMatch.competence ? RdDItemCompetence.findCompetence(this.context.competences, rollMatch.competence) : undefined
|
||||
const replacement = await TextRollManager.createRollText(this.context,
|
||||
{
|
||||
code: this.context.code,
|
||||
carac: carac,
|
||||
competence: competence?.name,
|
||||
diff: rollMatch.diff,
|
||||
})
|
||||
this.context.text = this.context.text.replace(rollMatch[0], replacement)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
13
module/apps/textroll/text-roll-formatter.js
Normal file
13
module/apps/textroll/text-roll-formatter.js
Normal file
@ -0,0 +1,13 @@
|
||||
|
||||
export class TextRollManager {
|
||||
|
||||
static async createRollText(context, param) {
|
||||
return await renderTemplate(context.template, {
|
||||
param, options: context.options
|
||||
})
|
||||
}
|
||||
|
||||
static getNode(event) {
|
||||
return $(event.currentTarget)?.parents(".roll-text-link");
|
||||
}
|
||||
}
|
51
module/apps/textroll/text-roll-formula.js
Normal file
51
module/apps/textroll/text-roll-formula.js
Normal file
@ -0,0 +1,51 @@
|
||||
import "../xregexp-all.js";
|
||||
import { TextRollManager } from "./text-roll-formatter.js";
|
||||
|
||||
const REGEXP_ROLL_FORMULA = "(?<formula>[^\\[\\]]+)"
|
||||
const XREGEXP_ROLL_FORMULA = XRegExp("@roll\\[" + REGEXP_ROLL_FORMULA + "\\]", 'giu')
|
||||
|
||||
/**
|
||||
* classe pour gérer les jets de dés (formules Foundry)
|
||||
*/
|
||||
export class TextRollFormula {
|
||||
get code() { return 'formula' }
|
||||
get template() { return `systems/foundryvtt-reve-de-dragon/templates/apps/textroll/link-text-roll-formula.hbs` }
|
||||
|
||||
async onReplaceRoll(context) {
|
||||
const handler = new FormulaTextBuilder(context)
|
||||
return await handler.replaceAll()
|
||||
}
|
||||
|
||||
async onRollText(event, actor) {
|
||||
const node = TextRollManager.getNode(event)
|
||||
const rollFormula = node.data('roll-formula')
|
||||
if (rollFormula) {
|
||||
const roll = new Roll(rollFormula)
|
||||
await roll.evaluate()
|
||||
await roll.toMessage()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class FormulaTextBuilder {
|
||||
constructor(context) {
|
||||
this.context = context
|
||||
}
|
||||
|
||||
async replaceAll() {
|
||||
await XRegExp.forEach(this.context.text, XREGEXP_ROLL_FORMULA,
|
||||
async (rollMatch, i) => await this.replaceMatch(rollMatch, i))
|
||||
return this.context.text
|
||||
}
|
||||
|
||||
async replaceMatch(rollMatch, i) {
|
||||
if (rollMatch.formula) {
|
||||
const replacement = await TextRollManager.createRollText(this.context,
|
||||
{
|
||||
code: this.context.code,
|
||||
formula: rollMatch.formula,
|
||||
})
|
||||
this.context.text = this.context.text.replace(rollMatch[0], replacement)
|
||||
}
|
||||
}
|
||||
}
|
@ -2002,7 +2002,7 @@ XRegExp.exec = function (str, regex, pos, sticky) {
|
||||
*/
|
||||
|
||||
|
||||
XRegExp.forEach = function (str, regex, callback) {
|
||||
XRegExp.forEach = async function (str, regex, callback) {
|
||||
var pos = 0;
|
||||
var i = -1;
|
||||
var match;
|
||||
@ -2014,7 +2014,7 @@ XRegExp.forEach = function (str, regex, callback) {
|
||||
// at least. Actually, because of the way `XRegExp.exec` caches globalized versions of
|
||||
// regexes, mutating the regex will not have any effect on the iteration or matched strings,
|
||||
// which is a nice side effect that brings extra safety.
|
||||
callback(match, ++i, str, regex);
|
||||
await callback(match, ++i, str, regex);
|
||||
pos = match.index + (match[0].length || 1);
|
||||
}
|
||||
};
|
||||
|
@ -1,6 +1,7 @@
|
||||
import { Misc } from "./misc.js";
|
||||
import { SYSTEM_RDD, SYSTEM_SOCKET_ID } from "./constants.js";
|
||||
import { RdDTimestamp } from "./time/rdd-timestamp.js";
|
||||
import { RdDTextEditor } from "./apps/rdd-text-roll-editor.js";
|
||||
|
||||
|
||||
/**
|
||||
@ -198,6 +199,7 @@ export class ChatUtility {
|
||||
static async onCreateChatMessage(chatMessage, options, id) {
|
||||
if (chatMessage.isAuthor) {
|
||||
await chatMessage.setFlag(SYSTEM_RDD, 'rdd-timestamp', game.system.rdd.calendrier.getTimestamp());
|
||||
await chatMessage.update({ content: await RdDTextEditor.enrichHTML(chatMessage.content, undefined, {showLink:false}) })
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,5 @@
|
||||
import { RdDBaseActor } from "../actor/base-actor.js";
|
||||
import { ChatUtility } from "../chat-utility.js";
|
||||
import { ReglesOptionnelles } from "../settings/regles-optionnelles.js";
|
||||
|
||||
const INFO_COEUR = 'info-coeur';
|
||||
|
||||
|
@ -1,13 +1,13 @@
|
||||
export const SYSTEM_RDD = 'foundryvtt-reve-de-dragon';
|
||||
export const SYSTEM_SOCKET_ID = 'system.foundryvtt-reve-de-dragon';
|
||||
export const LOG_HEAD = 'RdD | ';
|
||||
export const SYSTEM_RDD = 'foundryvtt-reve-de-dragon'
|
||||
export const SYSTEM_SOCKET_ID = 'system.foundryvtt-reve-de-dragon'
|
||||
export const LOG_HEAD = 'RdD | '
|
||||
|
||||
export const HIDE_DICE = 'hide';
|
||||
export const SHOW_DICE = 'show';
|
||||
export const HIDE_DICE = 'hide'
|
||||
export const SHOW_DICE = 'show'
|
||||
|
||||
export const ENTITE_INCARNE = 'incarne';
|
||||
export const ENTITE_NONINCARNE = 'nonincarne';
|
||||
export const ENTITE_BLURETTE = 'blurette';
|
||||
export const ENTITE_INCARNE = 'incarne'
|
||||
export const ENTITE_NONINCARNE = 'nonincarne'
|
||||
export const ENTITE_BLURETTE = 'blurette'
|
||||
|
||||
export const RDD_CONFIG = {
|
||||
niveauEthylisme : [
|
||||
|
@ -1,6 +1,5 @@
|
||||
import { RdDItemSort } from "./item-sort.js";
|
||||
import { RdDUtility } from "./rdd-utility.js";
|
||||
import { RdDAlchimie } from "./rdd-alchimie.js";
|
||||
import { RdDItemCompetence } from "./item-competence.js";
|
||||
import { RdDHerbes } from "./rdd-herbes.js";
|
||||
import { RdDGemme } from "./rdd-gemme.js";
|
||||
@ -12,8 +11,9 @@ import { SystemCompendiums } from "./settings/system-compendiums.js";
|
||||
import { Misc } from "./misc.js";
|
||||
import { RdDTimestamp } from "./time/rdd-timestamp.js";
|
||||
import { RdDItemCompetenceCreature } from "./item-competencecreature.js";
|
||||
import { ITEM_TYPES, RdDItem } from "./item.js";
|
||||
import { ACTOR_TYPES, ITEM_TYPES, RdDItem } from "./item.js";
|
||||
import { FLEUVE_COORD, TMRUtility } from "./tmr-utility.js";
|
||||
import { RdDTextEditor } from "./apps/rdd-text-roll-editor.js";
|
||||
|
||||
/**
|
||||
* Extend the basic ItemSheet for RdD specific items
|
||||
@ -97,11 +97,11 @@ export class RdDItemSheet extends ItemSheet {
|
||||
name: this.item.name,
|
||||
system: this.item.system,
|
||||
actorId: this.actor?.id,
|
||||
description: await TextEditor.enrichHTML(this.item.system.description, { async: true }),
|
||||
descriptionmj: await TextEditor.enrichHTML(this.item.system.descriptionmj, { async: true }),
|
||||
description: await RdDTextEditor.enrichHTML(this.item.system.description, this.item),
|
||||
descriptionmj: await RdDTextEditor.enrichHTML(this.item.system.descriptionmj, this.item),
|
||||
isComestible: this.item.getUtilisationCuisine(),
|
||||
options: RdDSheetUtility.mergeDocumentRights(this.options, this.item, this.isEditable),
|
||||
competences: await SystemCompendiums.getCompetences('personnage'),
|
||||
competences: await SystemCompendiums.getCompetences(ACTOR_TYPES.personnage),
|
||||
categories: RdDItem.getCategories(this.item.type),
|
||||
}
|
||||
|
||||
@ -120,18 +120,17 @@ export class RdDItemSheet extends ItemSheet {
|
||||
formData.competences = formData.competences.filter(it => it.isCompetenceArme())
|
||||
}
|
||||
if (this.item.type == ITEM_TYPES.recettecuisine) {
|
||||
formData.ingredients = await TextEditor.enrichHTML(this.object.system.ingredients, { async: true })
|
||||
formData.ingredients = await RdDTextEditor.enrichHTML(this.item.system.ingredients, this.item)
|
||||
}
|
||||
if (this.item.type == ITEM_TYPES.extraitpoetique) {
|
||||
formData.extrait = await TextEditor.enrichHTML(this.object.system.extrait, { async: true })
|
||||
formData.texte = await TextEditor.enrichHTML(this.object.system.texte, { async: true })
|
||||
formData.extrait = await RdDTextEditor.enrichHTML(this.item.system.extrait, this.item)
|
||||
formData.texte = await RdDTextEditor.enrichHTML(this.item.system.texte, this.item)
|
||||
}
|
||||
if (this.item.type == ITEM_TYPES.recettealchimique) {
|
||||
RdDAlchimie.processManipulation(this.item, this.actor?.id);
|
||||
formData.manipulation_update = await TextEditor.enrichHTML(this.object.system.manipulation_update, { async: true })
|
||||
formData.utilisation = await TextEditor.enrichHTML(this.object.system.utilisation, { async: true })
|
||||
formData.enchantement = await TextEditor.enrichHTML(this.object.system.enchantement, { async: true })
|
||||
formData.sureffet = await TextEditor.enrichHTML(this.object.system.sureffet, { async: true })
|
||||
formData.manipulation = await RdDTextEditor.enrichHTML(this.item.system.manipulation, this.item)
|
||||
formData.utilisation = await RdDTextEditor.enrichHTML(this.item.system.utilisation, this.item)
|
||||
formData.enchantement = await RdDTextEditor.enrichHTML(this.item.system.enchantement, this.item)
|
||||
formData.sureffet = await RdDTextEditor.enrichHTML(this.item.system.sureffet, this.item)
|
||||
}
|
||||
if (this.item.type == ITEM_TYPES.gemme) {
|
||||
formData.gemmeTypeList = RdDGemme.getGemmeTypeOptionList();
|
||||
@ -207,17 +206,8 @@ export class RdDItemSheet extends ItemSheet {
|
||||
this.html.find('.creer-potion-base').click((event) => this._getEventActor(event).actionHerbe(this.item));
|
||||
this.html.find('input[name="system.cacher_points_de_tache"]').change(async event => await this.item.update({ 'system.cacher_points_de_tache': event.currentTarget.checked }));
|
||||
|
||||
this.html.find('.alchimie-tache a').click((event) => {
|
||||
let actor = this._getEventActor(event);
|
||||
if (actor) {
|
||||
let recetteId = event.currentTarget.attributes['data-recette-id'].value;
|
||||
let tacheName = event.currentTarget.attributes['data-alchimie-tache'].value;
|
||||
let tacheData = event.currentTarget.attributes['data-alchimie-data'].value;
|
||||
actor.effectuerTacheAlchimie(recetteId, tacheName, tacheData);
|
||||
} else {
|
||||
ui.notifications.info("Impossible trouver un acteur pour réaliser cette tache Alchimique.");
|
||||
}
|
||||
});
|
||||
this.html.find('.roll-text').click(async event => await RdDTextEditor.rollText(event, this.actor))
|
||||
this.html.find('.chat-roll-text').click(async event => await RdDTextEditor.chatRollText(event))
|
||||
|
||||
if (this.actor) {
|
||||
this.html.find('.item-split').click(async event => RdDSheetUtility.splitItem(RdDSheetUtility.getItem(event, this.actor), this.actor, this.getActionRenderItem()));
|
||||
@ -272,7 +262,7 @@ export class RdDItemSheet extends ItemSheet {
|
||||
}
|
||||
}
|
||||
|
||||
async supprimerBonusCase(deleteCoord){
|
||||
async supprimerBonusCase(deleteCoord) {
|
||||
if (this.item.type == ITEM_TYPES.sort) {
|
||||
const oldList = RdDItemSort.getBonusCaseList(this.item)
|
||||
const newList = oldList.filter(it => it.case != deleteCoord);
|
||||
|
@ -45,6 +45,7 @@ export const ITEM_TYPES = {
|
||||
danse: 'danse',
|
||||
chant: 'chant',
|
||||
jeu: 'jeu',
|
||||
race: 'race',
|
||||
recettecuisine: 'recettecuisine',
|
||||
oeuvre: 'oeuvre',
|
||||
recettealchimique: 'recettealchimique',
|
||||
|
@ -1,9 +1,11 @@
|
||||
import { RdDItem } from "../item.js";
|
||||
import { ITEM_TYPES, RdDItem } from "../item.js";
|
||||
import { Misc } from "../misc.js";
|
||||
import { ReglesOptionnelles } from "../settings/regles-optionnelles.js";
|
||||
|
||||
export class RdDItemArmure extends RdDItem {
|
||||
|
||||
static get ITEM_TYPE() { return ITEM_TYPES.armure }
|
||||
|
||||
static get defaultIcon() {
|
||||
return "systems/foundryvtt-reve-de-dragon/icons/armes_armures/armure_plaques.webp";
|
||||
}
|
||||
|
100
module/item/race.js
Normal file
100
module/item/race.js
Normal file
@ -0,0 +1,100 @@
|
||||
import { ITEM_TYPES, RdDItem } from "../item.js";
|
||||
import { Misc } from "../misc.js";
|
||||
import { LIST_CARAC_PERSONNAGE, RdDCarac } from "../rdd-carac.js";
|
||||
|
||||
export class RdDItemRace extends RdDItem {
|
||||
|
||||
static get ITEM_TYPE() { return ITEM_TYPES.race }
|
||||
|
||||
static get defaultIcon() {
|
||||
return "systems/foundryvtt-reve-de-dragon/icons/humanoides/humain.webp";
|
||||
}
|
||||
|
||||
static checkRacialMax(actor, code, value) {
|
||||
const race = RdDItemRace.getRace(actor)
|
||||
if (code == LIST_CARAC_PERSONNAGE.force.code) {
|
||||
if (!race.isForceValid(actor, value)) {
|
||||
ui.notifications.warn(race.system.carac.force.limitmessage)
|
||||
return false
|
||||
}
|
||||
}
|
||||
const carac = RdDCarac.carac(code)
|
||||
if (race.isMax(actor, code, value - 1)) {
|
||||
ui.notifications.warn(`${value} est supérieure au maximum de ${carac.label}`)
|
||||
return false
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
static applyRacialLimits(actor) {
|
||||
const race = RdDItemRace.getRace(actor)
|
||||
actor.system.carac.taille.value = race.getValidTaille(actor.getTaille())
|
||||
actor.system.carac.force.value = Math.min(
|
||||
actor.getForce(),
|
||||
race.getForceMax(actor))
|
||||
}
|
||||
|
||||
static isRacialMax(actor, code, value = undefined) {
|
||||
return RdDItemRace.getRace(actor).isMax(actor, code, value)
|
||||
}
|
||||
|
||||
static getRace(actor) {
|
||||
return actor.itemTypes[ITEM_TYPES.race].find(it => true) ?? RdDItemRace.getFallbackRace()
|
||||
}
|
||||
|
||||
static getFallbackRace() {
|
||||
if (RdDItemRace.fallback == undefined) {
|
||||
RdDItemRace.fallback = new RdDItemRace({ name: 'Humain', type: RdDItemRace.ITEM_TYPE })
|
||||
}
|
||||
return RdDItemRace.fallback
|
||||
}
|
||||
|
||||
|
||||
isMax(actor, code, value = undefined) {
|
||||
const path = RdDCarac.carac(code)?.path
|
||||
if (value == undefined) {
|
||||
value = path ? foundry.utils.getProperty(actor, path) : 0
|
||||
}
|
||||
if (code == LIST_CARAC_PERSONNAGE.force.code) {
|
||||
return value >= this.getForceMax(actor)
|
||||
}
|
||||
const max = foundry.utils.getProperty(this, path) ?? -1
|
||||
return (max > 0 && value >= max)
|
||||
}
|
||||
|
||||
getValidTaille(taille) {
|
||||
const min = Math.max(this.system.carac.taille.min, 0)
|
||||
if (min > taille) {
|
||||
ui.notifications.warn("La Taille est inférieur au minimum racial")
|
||||
return min
|
||||
}
|
||||
const raceMax = this.system.carac.taille.max;
|
||||
const max = raceMax < 0 ? taille + 1 : raceMax
|
||||
if (max < taille) {
|
||||
ui.notifications.warn("La Taille est supérieure au maximum racial")
|
||||
return max
|
||||
}
|
||||
return taille
|
||||
}
|
||||
|
||||
isForceValid(actor, value) {
|
||||
return value <= this.getForceMax(actor)
|
||||
}
|
||||
|
||||
getForceMax(actor) {
|
||||
const terms = this.system.carac.force.limit.replaceAll(' ', '').split('+')
|
||||
return terms.map(
|
||||
it => {
|
||||
const term = Number.parseInt(it)
|
||||
if (Number.isInteger(term)) {
|
||||
return term
|
||||
}
|
||||
const path = RdDCarac.carac(it)?.path
|
||||
if (path) {
|
||||
return foundry.utils.getProperty(actor, path)
|
||||
}
|
||||
return 0
|
||||
}
|
||||
).reduce(Misc.sum());
|
||||
}
|
||||
}
|
@ -1,11 +1,12 @@
|
||||
import { RdDBaseActorSheet } from "../actor/base-actor-sheet.js";
|
||||
import { ITEM_TYPES } from "../item.js";
|
||||
import { RdDSheetUtility } from "../rdd-sheet-utility.js";
|
||||
import { RdDUtility } from "../rdd-utility.js";
|
||||
import { RdDItemInventaireSheet } from "./sheet-base-inventaire.js";
|
||||
|
||||
export class RdDConteneurItemSheet extends RdDItemInventaireSheet {
|
||||
|
||||
static get ITEM_TYPE() { return "conteneur" };
|
||||
static get ITEM_TYPE() { return ITEM_TYPES.conteneur };
|
||||
|
||||
async getData() {
|
||||
const formData = await super.getData();
|
||||
|
@ -106,7 +106,7 @@ export class RdDItemSigneDraconique extends RdDItem {
|
||||
}
|
||||
|
||||
static async randomSigneDescription() {
|
||||
return await RdDRollTables.drawTextFromRollTable("Signes draconiques", false);
|
||||
return await RdDRollTables.drawTextFromRollTable("Signes draconiques", {toChat:false});
|
||||
}
|
||||
|
||||
}
|
29
module/journal/journal-sheet.js
Normal file
29
module/journal/journal-sheet.js
Normal file
@ -0,0 +1,29 @@
|
||||
import { RdDTextEditor } from "../apps/rdd-text-roll-editor.js";
|
||||
import { SYSTEM_RDD } from "../constants.js";
|
||||
import { Misc } from "../misc.js";
|
||||
|
||||
|
||||
export class RdDJournalSheet extends JournalTextPageSheet {
|
||||
static register() {
|
||||
DocumentSheetConfig.unregisterSheet(JournalEntryPage, "core", JournalTextPageSheet)
|
||||
DocumentSheetConfig.registerSheet(JournalEntryPage,
|
||||
SYSTEM_RDD,
|
||||
RdDJournalSheet, {
|
||||
types: ["text"],
|
||||
makeDefault: true,
|
||||
});
|
||||
}
|
||||
|
||||
async getData(options) {
|
||||
const journalData = await super.getData(options);
|
||||
journalData.editor.content = await RdDTextEditor.enrichHTML(journalData.document.text.content, this.object)
|
||||
return journalData
|
||||
}
|
||||
|
||||
activateListeners(html) {
|
||||
super.activateListeners(html);
|
||||
|
||||
html.find('.roll-text').click(async event => await RdDTextEditor.rollText(event, this.actor))
|
||||
html.find('.chat-roll-text').click(async event => await RdDTextEditor.chatRollText(event))
|
||||
}
|
||||
}
|
@ -2,10 +2,11 @@ import { RdDBaseActor } from "./actor/base-actor.js";
|
||||
import { LOG_HEAD, SYSTEM_RDD } from "./constants.js";
|
||||
import { Grammar } from "./grammar.js";
|
||||
import { Monnaie } from "./item-monnaie.js";
|
||||
import { RdDItem, ITEM_TYPES } from "./item.js";
|
||||
import { RdDItem, ITEM_TYPES, ACTOR_TYPES } from "./item.js";
|
||||
import { RdDTimestamp } from "./time/rdd-timestamp.js";
|
||||
import { RdDRaretes } from "./item/raretes.js";
|
||||
import { VOIES_DRACONIC } from "./item-sort.js";
|
||||
import { SystemCompendiums } from "./settings/system-compendiums.js";
|
||||
|
||||
class Migration {
|
||||
get code() { return "sample"; }
|
||||
@ -566,6 +567,27 @@ class _12_0_26_MigrationVoieSorts extends Migration {
|
||||
}
|
||||
}
|
||||
|
||||
class _12_0_32_MigrationRaces extends Migration {
|
||||
get code() { return "migration-races" }
|
||||
get version() { return "12.0.32" }
|
||||
|
||||
async migrate() {
|
||||
const races = await SystemCompendiums.getItems("races", ITEM_TYPES.race)
|
||||
await game.actors.filter(it => it.type == ACTOR_TYPES.personnage).forEach(async actor => {
|
||||
if (actor.itemTypes[ITEM_TYPES.race].length == 0) {
|
||||
const raceName = actor.system.race ?? 'Humain'
|
||||
const race = races.find(it => Grammar.equalsInsensitive(raceName, it.name))
|
||||
if (race) {
|
||||
console.log(this.code, `Adding race ${race.name} to actor ${actor.name}`)
|
||||
actor.createEmbeddedDocuments('Item', [race])
|
||||
console.log(this.code, `Neutralizing race ${race.name} adjustments for actor ${actor.name}`)
|
||||
actor._applyRaceCaracUpdates(race, -1)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
export class Migrations {
|
||||
static getMigrations() {
|
||||
return [
|
||||
@ -585,7 +607,8 @@ export class Migrations {
|
||||
new _10_7_19_CategorieCompetenceCreature(),
|
||||
new _10_7_19_PossessionsEntiteVictime(),
|
||||
new _11_2_20_MigrationAstrologie(),
|
||||
new _12_0_26_MigrationVoieSorts()
|
||||
new _12_0_26_MigrationVoieSorts(),
|
||||
new _12_0_32_MigrationRaces(),
|
||||
];
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,12 @@
|
||||
import { Grammar } from "./grammar.js";
|
||||
|
||||
const DEFAULT_FIND_OPTIONS = {
|
||||
mapper: it => it.name,
|
||||
preFilter: it => true,
|
||||
description: 'valeur',
|
||||
onMessage: m => ui.notifications.info(m)
|
||||
}
|
||||
|
||||
/**
|
||||
* This class is intended as a placeholder for utility methods unrelated
|
||||
* to actual classes of the game system or of FoundryVTT
|
||||
@ -209,6 +216,10 @@ export class Misc {
|
||||
static isFirstConnectedGM() {
|
||||
return game.user == Misc.firstConnectedGM();
|
||||
}
|
||||
|
||||
static hasConnectedGM() {
|
||||
return Misc.firstConnectedGM();
|
||||
}
|
||||
|
||||
static firstConnectedGMId() {
|
||||
return Misc.firstConnectedGM()?.id;
|
||||
@ -226,13 +237,7 @@ export class Misc {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static findFirstLike(value, elements, options = {}) {
|
||||
options = foundry.utils.mergeObject({
|
||||
mapper: it => it.name,
|
||||
preFilter: it => true,
|
||||
description: 'valeur',
|
||||
onMessage: m => ui.notifications.info(m)
|
||||
}, options, { overwrite: true, inplace: false });
|
||||
|
||||
options = foundry.utils.mergeObject(DEFAULT_FIND_OPTIONS, options, { overwrite: true, inplace: false });
|
||||
const subset = this.findAllLike(value, elements, options);
|
||||
if (subset.length == 0) {
|
||||
console.log(`Aucune ${options.description} pour ${value}`);
|
||||
@ -251,13 +256,7 @@ export class Misc {
|
||||
}
|
||||
|
||||
static findAllLike(value, elements, options = {}) {
|
||||
options = foundry.utils.mergeObject({
|
||||
mapper: it => it.name,
|
||||
preFilter: it => true,
|
||||
description: 'valeur',
|
||||
onMessage: m => ui.notifications.info(m)
|
||||
}, options);
|
||||
|
||||
options = foundry.utils.mergeObject(DEFAULT_FIND_OPTIONS, options, { overwrite: true, inplace: false });
|
||||
if (!value) {
|
||||
options.onMessage(`Pas de ${options.description} correspondant à une valeur vide`);
|
||||
return [];
|
||||
|
@ -1,48 +1,8 @@
|
||||
/* -------------------------------------------- */
|
||||
import { Misc } from "./misc.js";
|
||||
|
||||
const matchOperations = new RegExp(/@(\w*){([\w\-]+)}/ig);
|
||||
const matchOperationTerms = new RegExp(/@(\w*){([\w\-]+)}/i);
|
||||
/* -------------------------------------------- */
|
||||
export class RdDAlchimie {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static processManipulation(recette, actorId = undefined) {
|
||||
let manip = recette.system.manipulation;
|
||||
let matchArray = manip.match(matchOperations);
|
||||
if (matchArray) {
|
||||
for (let matchStr of matchArray) {
|
||||
let result = matchStr.match(matchOperationTerms);
|
||||
if (result[1] && result[2]) {
|
||||
let commande = Misc.upperFirst(result[1]);
|
||||
let replacement = this[`_alchimie${commande}`](recette, result[2], actorId);
|
||||
manip = manip.replace(result[0], replacement);
|
||||
}
|
||||
}
|
||||
}
|
||||
recette.system.manipulation_update = manip;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static _alchimieCouleur(recette, couleurs, actorId) {
|
||||
return RdDAlchimie._alchimieLink(recette, couleurs, actorId, 'couleur', 'Température');
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static _alchimieConsistance(recette, consistances, actorId) {
|
||||
return RdDAlchimie._alchimieLink(recette, consistances, actorId, 'consistance', 'Consistance');
|
||||
}
|
||||
|
||||
static _alchimieLink(recette, termes, actorId, tacheAlchimie, labelTache) {
|
||||
const difficulte = RdDAlchimie.getDifficulte(termes);
|
||||
const link = actorId ? ` <a data-recette-id="${recette._id}" data-actor-id="${actorId}" data-alchimie-tache="${tacheAlchimie}" data-alchimie-data="${termes}">` : '';
|
||||
const endLink = actorId ? '</a>' : '';
|
||||
return `<span class="alchimie-tache">${link}${labelTache} ${termes} (${difficulte})${endLink}</span>`;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static getDifficulte(aspects) {
|
||||
let elements = aspects.split('-');
|
||||
static getDifficulte(termes) {
|
||||
let elements = termes.split('-');
|
||||
let composantes = elements.length;
|
||||
let distincts = Object.keys(Misc.classifyFirst(elements, it => it)).length;
|
||||
if (distincts == 1) {
|
||||
@ -58,5 +18,4 @@ export class RdDAlchimie {
|
||||
}
|
||||
return 'intellect';
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -3,42 +3,98 @@ import { Misc } from "./misc.js";
|
||||
|
||||
const TABLE_CARACTERISTIQUES_DERIVEES = {
|
||||
// xp: coût pour passer du niveau inférieur à ce niveau
|
||||
1: { xp: 3, poids: "moins de 1kg", poidsMin: 0, poidsMax: 1, plusdom: -5, sconst: 0.5, sust: 0.1 },
|
||||
2: { xp: 3, poids: "1-5", poidsMin: 1, poidsMax: 5, plusdom: -4, sconst: 0.5, sust: 0.3 },
|
||||
3: { xp: 4, poids: "6-10", poidsMin: 6, poidsMax: 10, plusdom: -3, sconst: 1, sust: 0.5, beaute: 'hideux' },
|
||||
4: { xp: 4, poids: "11-20", poidsMin: 11, poidsMax: 20, plusdom: -3, sconst: 1, sust: 1, beaute: 'repoussant' },
|
||||
5: { xp: 5, poids: "21-30", poidsMin: 21, poidsMax: 30, plusdom: -2, sconst: 1, sust: 1, beaute: 'franchement très laid' },
|
||||
6: { xp: 5, poids: "31-40", poidsMin: 31, poidsMax: 40, plusdom: -1, sconst: 2, sust: 2, beaute: 'laid' },
|
||||
7: { xp: 6, poids: "41-50", poidsMin: 41, poidsMax: 50, plusdom: -1, sconst: 2, sust: 2, beaute: 'très désavantagé' },
|
||||
8: { xp: 6, poids: "51-60", poidsMin: 51, poidsMax: 60, plusdom: 0, sconst: 2, sust: 2, beaute: 'désavantagé' },
|
||||
9: { xp: 7, poids: "61-65", poidsMin: 61, poidsMax: 65, plusdom: 0, sconst: 3, sust: 2, beaute: 'pas terrible' },
|
||||
10: { xp: 7, poids: "66-70", poidsMin: 66, poidsMax: 70, plusdom: 0, sconst: 3, sust: 3, beaute: 'commun' },
|
||||
11: { xp: 8, poids: "71-75", poidsMin: 71, poidsMax: 75, plusdom: 0, sconst: 3, sust: 3, beaute: 'pas mal' },
|
||||
12: { xp: 8, poids: "76-80", poidsMin: 76, poidsMax: 80, plusdom: +1, sconst: 4, sust: 3, beaute: 'avantagé' },
|
||||
13: { xp: 9, poids: "81-90", poidsMin: 81, poidsMax: 90, plusdom: +1, sconst: 4, sust: 3, beaute: 'mignon' },
|
||||
14: { xp: 9, poids: "91-100", poidsMin: 91, poidsMax: 100, plusdom: +2, sconst: 4, sust: 4, beaute: 'beau' },
|
||||
15: { xp: 10, poids: "101-110", poidsMin: 101, poidsMax: 110, plusdom: +2, sconst: 5, sust: 4, beaute: 'très beau' },
|
||||
16: { xp: 20, poids: "111-120", poidsMin: 111, poidsMax: 120, plusdom: +3, sconst: 5, sust: 4, beaute: 'éblouissant' },
|
||||
17: { xp: 30, poids: "121-131", poidsMin: 121, poidsMax: 131, plusdom: +3, sconst: 5, sust: 5 },
|
||||
18: { xp: 40, poids: "131-141", poidsMin: 131, poidsMax: 141, plusdom: +4, sconst: 6, sust: 5 },
|
||||
19: { xp: 50, poids: "141-150", poidsMin: 141, poidsMax: 150, plusdom: +4, sconst: 6, sust: 5 },
|
||||
20: { xp: 60, poids: "151-160", poidsMin: 151, poidsMax: 160, plusdom: +4, sconst: 6, sust: 6 },
|
||||
21: { xp: 70, poids: "161-180", poidsMin: 161, poidsMax: 180, plusdom: +5, sconst: 7, sust: 6 },
|
||||
22: { xp: 80, poids: "181-200", poidsMin: 181, poidsMax: 200, plusdom: +5, sconst: 7, sust: 7 },
|
||||
23: { xp: 90, poids: "201-300", poidsMin: 201, poidsMax: 300, plusdom: +6, sconst: 7, sust: 8 },
|
||||
24: { xp: 100, poids: "301-400", poidsMin: 301, poidsMax: 400, plusdom: +6, sconst: 8, sust: 9 },
|
||||
25: { xp: 110, poids: "401-500", poidsMin: 401, poidsMax: 500, plusdom: +7, sconst: 8, sust: 10 },
|
||||
26: { xp: 120, poids: "501-600", poidsMin: 501, poidsMax: 600, plusdom: +7, sconst: 8, sust: 11 },
|
||||
27: { xp: 130, poids: "601-700", poidsMin: 601, poidsMax: 700, plusdom: +8, sconst: 9, sust: 12 },
|
||||
28: { xp: 140, poids: "701-800", poidsMin: 701, poidsMax: 800, plusdom: +8, sconst: 9, sust: 13 },
|
||||
29: { xp: 150, poids: "801-900", poidsMin: 801, poidsMax: 900, plusdom: +9, sconst: 9, sust: 14 },
|
||||
30: { xp: 160, poids: "901-1000", poidsMin: 901, poidsMax: 1000, plusdom: +9, sconst: 10, sust: 15 },
|
||||
31: { xp: 170, poids: "1001-1500", poidsMin: 1001, poidsMax: 1500, plusdom: +10, sconst: 10, sust: 16 },
|
||||
32: { xp: 180, poids: "1501-2000", poidsMin: 1501, poidsMax: 2000, plusdom: +11, sconst: 10, sust: 17 }
|
||||
1: { xp: 3, niveau: -5, poids: "moins de 1kg", poidsMin: 0, poidsMax: 1, plusdom: -5, sconst: 0.5, sust: 0.1 },
|
||||
2: { xp: 3, niveau: -4, poids: "1-5", poidsMin: 1, poidsMax: 5, plusdom: -4, sconst: 0.5, sust: 0.3 },
|
||||
3: { xp: 4, niveau: -3, poids: "6-10", poidsMin: 6, poidsMax: 10, plusdom: -3, sconst: 1, sust: 0.5, beaute: 'hideux' },
|
||||
4: { xp: 4, niveau: -2, poids: "11-20", poidsMin: 11, poidsMax: 20, plusdom: -3, sconst: 1, sust: 1, beaute: 'repoussant' },
|
||||
5: { xp: 5, niveau: -1, poids: "21-30", poidsMin: 21, poidsMax: 30, plusdom: -2, sconst: 1, sust: 1, beaute: 'franchement très laid' },
|
||||
6: { xp: 5, niveau: 0, poids: "31-40", poidsMin: 31, poidsMax: 40, plusdom: -1, sconst: 2, sust: 2, beaute: 'laid' },
|
||||
7: { xp: 6, niveau: 0, poids: "41-50", poidsMin: 41, poidsMax: 50, plusdom: -1, sconst: 2, sust: 2, beaute: 'très désavantagé' },
|
||||
8: { xp: 6, niveau: 0, poids: "51-60", poidsMin: 51, poidsMax: 60, plusdom: 0, sconst: 2, sust: 2, beaute: 'désavantagé' },
|
||||
9: { xp: 7, niveau: 0, poids: "61-65", poidsMin: 61, poidsMax: 65, plusdom: 0, sconst: 3, sust: 2, beaute: 'pas terrible' },
|
||||
10: { xp: 7, niveau: 0, poids: "66-70", poidsMin: 66, poidsMax: 70, plusdom: 0, sconst: 3, sust: 3, beaute: 'commun' },
|
||||
11: { xp: 8, niveau: 1, poids: "71-75", poidsMin: 71, poidsMax: 75, plusdom: 0, sconst: 3, sust: 3, beaute: 'pas mal' },
|
||||
12: { xp: 8, niveau: 1, poids: "76-80", poidsMin: 76, poidsMax: 80, plusdom: +1, sconst: 4, sust: 3, beaute: 'avantagé' },
|
||||
13: { xp: 9, niveau: 2, poids: "81-90", poidsMin: 81, poidsMax: 90, plusdom: +1, sconst: 4, sust: 3, beaute: 'mignon' },
|
||||
14: { xp: 9, niveau: 2, poids: "91-100", poidsMin: 91, poidsMax: 100, plusdom: +2, sconst: 4, sust: 4, beaute: 'beau' },
|
||||
15: { xp: 10, niveau: 3, poids: "101-110", poidsMin: 101, poidsMax: 110, plusdom: +2, sconst: 5, sust: 4, beaute: 'très beau' },
|
||||
16: { xp: 20, niveau: 3, poids: "111-120", poidsMin: 111, poidsMax: 120, plusdom: +3, sconst: 5, sust: 4, beaute: 'éblouissant' },
|
||||
17: { xp: 30, niveau: 4, poids: "121-131", poidsMin: 121, poidsMax: 131, plusdom: +3, sconst: 5, sust: 5 },
|
||||
18: { xp: 40, niveau: 4, poids: "131-141", poidsMin: 131, poidsMax: 141, plusdom: +4, sconst: 6, sust: 5 },
|
||||
19: { xp: 50, niveau: 5, poids: "141-150", poidsMin: 141, poidsMax: 150, plusdom: +4, sconst: 6, sust: 5 },
|
||||
20: { xp: 60, niveau: 5, poids: "151-160", poidsMin: 151, poidsMax: 160, plusdom: +4, sconst: 6, sust: 6 },
|
||||
21: { xp: 70, niveau: 6, poids: "161-180", poidsMin: 161, poidsMax: 180, plusdom: +5, sconst: 7, sust: 6 },
|
||||
22: { xp: 80, niveau: 6, poids: "181-200", poidsMin: 181, poidsMax: 200, plusdom: +5, sconst: 7, sust: 7 },
|
||||
23: { xp: 90, niveau: 7, poids: "201-300", poidsMin: 201, poidsMax: 300, plusdom: +6, sconst: 7, sust: 8 },
|
||||
24: { xp: 100, niveau: 7, poids: "301-400", poidsMin: 301, poidsMax: 400, plusdom: +6, sconst: 8, sust: 9 },
|
||||
25: { xp: 110, niveau: 8, poids: "401-500", poidsMin: 401, poidsMax: 500, plusdom: +7, sconst: 8, sust: 10 },
|
||||
26: { xp: 120, niveau: 8, poids: "501-600", poidsMin: 501, poidsMax: 600, plusdom: +7, sconst: 8, sust: 11 },
|
||||
27: { xp: 130, niveau: 9, poids: "601-700", poidsMin: 601, poidsMax: 700, plusdom: +8, sconst: 9, sust: 12 },
|
||||
28: { xp: 140, niveau: 9, poids: "701-800", poidsMin: 701, poidsMax: 800, plusdom: +8, sconst: 9, sust: 13 },
|
||||
29: { xp: 150, niveau: 10, poids: "801-900", poidsMin: 801, poidsMax: 900, plusdom: +9, sconst: 9, sust: 14 },
|
||||
30: { xp: 160, niveau: 10, poids: "901-1000", poidsMin: 901, poidsMax: 1000, plusdom: +9, sconst: 10, sust: 15 },
|
||||
31: { xp: 170, niveau: 11, poids: "1001-1500", poidsMin: 1001, poidsMax: 1500, plusdom: +10, sconst: 10, sust: 16 },
|
||||
32: { xp: 180, niveau: 11, poids: "1501-2000", poidsMin: 1501, poidsMax: 2000, plusdom: +11, sconst: 10, sust: 17 }
|
||||
};
|
||||
|
||||
export const LIST_CARAC_PERSONNAGE = {
|
||||
'taille': { code: 'taille', label: 'Taille', isCarac: true, path: 'system.carac.taille.value' },
|
||||
'apparence': { code: 'apparence', label: 'Apparence', isCarac: true, path: 'system.carac.apparence.value' },
|
||||
'constitution': { code: 'constitution', label: 'Constitution', isCarac: true, path: 'system.carac.constitution.value' },
|
||||
'force': { code: 'force', label: 'Force', isCarac: true, path: 'system.carac.force.value' },
|
||||
'agilite': { code: 'agilite', label: 'Agilité', isCarac: true, path: 'system.carac.agilite.value' },
|
||||
'dexterite': { code: 'dexterite', label: 'Dextérité', isCarac: true, path: 'system.carac.dexterite.value' },
|
||||
'vue': { code: 'vue', label: 'Vue', isCarac: true, path: 'system.carac.vue.value' },
|
||||
'ouie': { code: 'ouie', label: 'Ouïe', isCarac: true, path: 'system.carac.ouie.value' },
|
||||
'odoratgout': { code: 'odoratgout', label: 'Odorat-Goût', isCarac: true, path: 'system.carac.odoratgout.value' },
|
||||
'volonte': { code: 'volonte', label: 'Volonté', isCarac: true, path: 'system.carac.volonte.value' },
|
||||
'intellect': { code: 'intellect', label: 'Intellect', isCarac: true, path: 'system.carac.intellect.value' },
|
||||
'empathie': { code: 'empathie', label: 'Empathie', isCarac: true, path: 'system.carac.empathie.value' },
|
||||
'reve': { code: 'reve', label: 'Rêve', isCarac: true, path: 'system.carac.reve.value' },
|
||||
'chance': { code: 'chance', label: 'Chance', isCarac: true, path: 'system.carac.chance.value' },
|
||||
'protection': { code: 'protection', label: 'Protection naturelle', isCarac: false, path: 'system.attributs.protection.value' },
|
||||
'beaute': { code: 'beaute', label: 'Beauté', isCarac: false, path: 'system.background.beaute.value' }
|
||||
}
|
||||
|
||||
export const LIST_CARAC_AUTRES = {
|
||||
'perception': { code: 'perception', label: 'Perception', path: 'system.carac.perception.value' },
|
||||
}
|
||||
|
||||
const LIST_CARAC_DERIVEE = {
|
||||
'melee': { code: "melee", label: 'Mêlée', path: 'system.carac.melee.value' },
|
||||
'tir': { code: "tir", label: 'Tir', path: 'system.carac.tir.value' },
|
||||
'lancer': { code: "lancer", label: 'Lancer', path: 'system.carac.lancer.value' },
|
||||
'derobee': { code: "derobee", label: 'Dérobée', path: 'system.carac.derobee.value' },
|
||||
'chance-actuelle': { code: "chance-actuelle", label: 'Chance actuelle', path: 'system.carac.lancer.value' },
|
||||
'reve-actuel': { code: "reve-actuel", label: 'Rêve actuel', path: 'system.reve.reve.value' },
|
||||
}
|
||||
|
||||
const LIST_CARAC_ROLL = Object.values(LIST_CARAC_PERSONNAGE).filter(it => it.isCarac && it.code != 'taille')
|
||||
.concat(Object.values(LIST_CARAC_AUTRES))
|
||||
.concat(Object.values(LIST_CARAC_DERIVEE))
|
||||
|
||||
export class RdDCarac {
|
||||
|
||||
static caracDetails(name) {
|
||||
let entry = Misc.findFirstLike(name, LIST_CARAC_ROLL, { mapper: it => it.code, description: 'caractéristique', onMessage: m => { } })
|
||||
if (entry) {
|
||||
return entry
|
||||
}
|
||||
return Misc.findFirstLike(name, LIST_CARAC_ROLL, { mapper: it => it.label, description: 'caractéristique' })
|
||||
}
|
||||
|
||||
static carac(code) {
|
||||
return LIST_CARAC_PERSONNAGE[code]
|
||||
}
|
||||
|
||||
static label(code) {
|
||||
return RdDCarac.carac(code)?.label ?? '---'
|
||||
}
|
||||
|
||||
static caracs(filter = it => it.isCarac) {
|
||||
return Object.values(LIST_CARAC_PERSONNAGE).filter(filter)
|
||||
}
|
||||
|
||||
static isAgiliteOuDerobee(selectedCarac) {
|
||||
return selectedCarac?.label.match(/(Agilité|Dérobée)/);
|
||||
}
|
||||
|
@ -472,15 +472,15 @@ export class RdDCombat {
|
||||
/* -------------------------------------------- */
|
||||
static registerChatCallbacks(html) {
|
||||
for (let button of [
|
||||
'#parer-button',
|
||||
'#esquiver-button',
|
||||
'#particuliere-attaque',
|
||||
'#encaisser-button',
|
||||
'#appel-chance-defense',
|
||||
'#appel-destinee-defense',
|
||||
'#appel-chance-attaque',
|
||||
'#appel-destinee-attaque',
|
||||
'#echec-total-attaque',
|
||||
'.parer-button',
|
||||
'.esquiver-button',
|
||||
'.particuliere-attaque',
|
||||
'.encaisser-button',
|
||||
'.appel-chance-defense',
|
||||
'.appel-destinee-defense',
|
||||
'.appel-chance-attaque',
|
||||
'.appel-destinee-attaque',
|
||||
'.echec-total-attaque',
|
||||
]) {
|
||||
html.on("click", button, event => {
|
||||
const rddCombat = RdDCombat.rddCombatForAttackerAndDefender(
|
||||
@ -539,22 +539,22 @@ export class RdDCombat {
|
||||
const compId = event.currentTarget.attributes['data-compid']?.value;
|
||||
|
||||
switch (button) {
|
||||
case '#particuliere-attaque': return await this.choixParticuliere(attackerRoll, event.currentTarget.attributes['data-mode'].value);
|
||||
case '#parer-button': return this.parade(attackerRoll, armeParadeId);
|
||||
case '#esquiver-button': return this.esquive(attackerRoll, compId, competence);
|
||||
case '#encaisser-button': return this.encaisser(attackerRoll, defenderRoll);
|
||||
case '#echec-total-attaque': return this._onEchecTotal(attackerRoll);
|
||||
case '.particuliere-attaque': return await this.choixParticuliere(attackerRoll, event.currentTarget.attributes['data-mode'].value);
|
||||
case '.parer-button': return this.parade(attackerRoll, armeParadeId);
|
||||
case '.esquiver-button': return this.esquive(attackerRoll, compId, competence);
|
||||
case '0encaisser-button': return this.encaisser(attackerRoll, defenderRoll);
|
||||
case '.echec-total-attaque': return this._onEchecTotal(attackerRoll);
|
||||
|
||||
case '#appel-chance-attaque': return this.attacker.rollAppelChance(
|
||||
case '.appel-chance-attaque': return this.attacker.rollAppelChance(
|
||||
() => this.attaqueChanceuse(attackerRoll),
|
||||
() => this._onEchecTotal(attackerRoll));
|
||||
case '#appel-chance-defense': return this.defender.rollAppelChance(
|
||||
case '.appel-chance-defense': return this.defender.rollAppelChance(
|
||||
() => this.defenseChanceuse(attackerRoll, defenderRoll),
|
||||
() => this.afficherOptionsDefense(attackerRoll, defenderRoll, { defenseChance: true }));
|
||||
case '#appel-destinee-attaque': return this.attacker.appelDestinee(
|
||||
case '.appel-destinee-attaque': return this.attacker.appelDestinee(
|
||||
() => this.attaqueSignificative(attackerRoll),
|
||||
() => { });
|
||||
case '#appel-destinee-defense': return this.defender.appelDestinee(
|
||||
case '.appel-destinee-defense': return this.defender.appelDestinee(
|
||||
() => this.defenseDestinee(defenderRoll),
|
||||
() => { });
|
||||
}
|
||||
@ -752,7 +752,6 @@ export class RdDCombat {
|
||||
dialog.render(true);
|
||||
}
|
||||
|
||||
|
||||
/* -------------------------------------------- */
|
||||
_prepareAttaque(competence, arme) {
|
||||
let rollData = {
|
||||
@ -968,7 +967,6 @@ export class RdDCombat {
|
||||
async _onAttaqueEchec(rollData) {
|
||||
console.log("RdDCombat.onAttaqueEchec >>>", rollData);
|
||||
await RdDResolutionTable.displayRollData(rollData, this.attacker, 'chat-resultat-attaque.html');
|
||||
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
@ -28,9 +28,11 @@ import { Environnement } from "./environnement.js"
|
||||
|
||||
import { RdDActor } from "./actor.js"
|
||||
import { RdDBaseActor } from "./actor/base-actor.js"
|
||||
import { RdDCreature } from "./actor/creature.js"
|
||||
import { RdDCommerce } from "./actor/commerce.js"
|
||||
import { RdDEntite } from "./actor/entite.js"
|
||||
import { RdDVehicule } from "./actor/vehicule.js"
|
||||
|
||||
import { RdDActorSheet } from "./actor-sheet.js"
|
||||
import { RdDCommerceSheet } from "./actor/commerce-sheet.js"
|
||||
import { RdDCreatureSheet } from "./actor/creature-sheet.js"
|
||||
@ -38,6 +40,7 @@ import { RdDActorEntiteSheet } from "./actor/entite-sheet.js"
|
||||
import { RdDActorVehiculeSheet } from "./actor/vehicule-sheet.js"
|
||||
|
||||
import { RdDItem } from "./item.js"
|
||||
import { RdDItemArmure } from "./item/armure.js"
|
||||
import { RdDItemBlessure } from "./item/blessure.js"
|
||||
import { RdDItemService } from "./item/service.js"
|
||||
import { RdDItemMaladie } from "./item/maladie.js"
|
||||
@ -45,7 +48,11 @@ import { RdDItemPoison } from "./item/poison.js"
|
||||
import { RdDItemSigneDraconique } from "./item/signedraconique.js"
|
||||
import { RdDItemQueue } from "./item/queue.js"
|
||||
import { RdDItemOmbre } from "./item/ombre.js"
|
||||
import { RdDItemSort } from "./item-sort.js"
|
||||
import { RdDItemTete } from "./item/tete.js"
|
||||
import { RdDItemRace } from "./item/race.js"
|
||||
import { RdDItemSouffle } from "./item/souffle.js"
|
||||
|
||||
import { RdDRencontre } from "./item/rencontre.js"
|
||||
|
||||
import { RdDItemSheet } from "./item-sheet.js"
|
||||
@ -57,20 +64,19 @@ import { RdDPlanteItemSheet } from "./item/sheet-plante.js"
|
||||
import { RdDIngredientItemSheet } from "./item/sheet-ingredient.js"
|
||||
import { RdDFauneItemSheet } from "./item/sheet-faune.js"
|
||||
import { RdDConteneurItemSheet } from "./item/sheet-conteneur.js"
|
||||
import { RdDSigneDraconiqueItemSheet } from "./item/sheet-signedraconique.js"
|
||||
import { RdDItemInventaireSheet } from "./item/sheet-base-inventaire.js"
|
||||
import { RdDSigneDraconiqueItemSheet } from "./item/sheet-signedraconique.js"
|
||||
|
||||
import { AppAstrologie } from "./sommeil/app-astrologie.js"
|
||||
import { RdDItemArmure } from "./item/armure.js"
|
||||
import { AutoAdjustDarkness } from "./time/auto-adjust-darkness.js"
|
||||
import { RdDCreature } from "./actor/creature.js"
|
||||
import { RdDTMRDialog } from "./rdd-tmr-dialog.js"
|
||||
import { OptionsAvancees } from "./settings/options-avancees.js"
|
||||
import { ExportScriptarium } from "./actor/export-scriptarium/export-scriptarium.js"
|
||||
import { AppPersonnageAleatoire } from "./actor/random/app-personnage-aleatoire.js"
|
||||
import { RdDActorExportSheet } from "./actor/export-scriptarium/actor-encart-sheet.js"
|
||||
import { RdDStatBlockParser } from "./apps/rdd-import-stats.js"
|
||||
import { RdDItemSort } from "./item-sort.js"
|
||||
import { RdDItemTete } from "./item/tete.js"
|
||||
import { RdDJournalSheet } from "./journal/journal-sheet.js"
|
||||
import { RdDTextEditor } from "./apps/rdd-text-roll-editor.js"
|
||||
|
||||
/**
|
||||
* RdD system
|
||||
@ -99,6 +105,7 @@ export class SystemReveDeDragon {
|
||||
poison: RdDItemPoison,
|
||||
queue: RdDItemQueue,
|
||||
tete: RdDItemTete,
|
||||
race: RdDItemRace,
|
||||
rencontre: RdDRencontre,
|
||||
service: RdDItemService,
|
||||
signedraconique: RdDItemSigneDraconique,
|
||||
@ -123,7 +130,7 @@ export class SystemReveDeDragon {
|
||||
console.log(`Initializing Reve de Dragon System Settings`)
|
||||
|
||||
// preload handlebars templates
|
||||
RdDUtility.preloadHandlebarsTemplates()
|
||||
await RdDUtility.preloadHandlebarsTemplates()
|
||||
AppPersonnageAleatoire.preloadHandlebars()
|
||||
RdDItemSort.preloadHandlebars()
|
||||
|
||||
@ -191,6 +198,7 @@ export class SystemReveDeDragon {
|
||||
RdDItemSheet.register(RdDIngredientItemSheet)
|
||||
RdDItemSheet.register(RdDServiceItemSheet)
|
||||
RdDItemSheet.register(RdDBlessureItemSheet)
|
||||
RdDJournalSheet.register()
|
||||
|
||||
Items.registerSheet(SYSTEM_RDD, RdDItemInventaireSheet, {
|
||||
types: [
|
||||
@ -201,8 +209,9 @@ export class SystemReveDeDragon {
|
||||
Items.registerSheet(SYSTEM_RDD, RdDItemSheet, {
|
||||
types: [
|
||||
"competence", "competencecreature",
|
||||
"recettealchimique", "musique", "chant", "danse", "jeu", "recettecuisine", "oeuvre",
|
||||
"meditation", "queue", "ombre", "souffle", "tete", "casetmr", "sort", "sortreserve",
|
||||
"recettealchimique", "musique", "chant", "danse", "jeu", "race",
|
||||
"recettecuisine", "oeuvre", "meditation",
|
||||
"queue", "ombre", "souffle", "tete", "casetmr", "sort", "sortreserve",
|
||||
"nombreastral", "tache", "maladie", "poison", "possession",
|
||||
"tarot", "extraitpoetique", "empoignade"
|
||||
], makeDefault: true
|
||||
|
@ -8,6 +8,7 @@ import { RdDCarac } from "./rdd-carac.js";
|
||||
import { RdDResolutionTable } from "./rdd-resolution-table.js";
|
||||
import { ReglesOptionnelles } from "./settings/regles-optionnelles.js";
|
||||
import { Grammar } from "./grammar.js";
|
||||
import { ACTOR_TYPES } from "./item.js";
|
||||
|
||||
/**
|
||||
* Extend the base Dialog entity to select roll parameters
|
||||
@ -62,7 +63,7 @@ export class RdDRoll extends Dialog {
|
||||
forceDiceResult: -1
|
||||
}
|
||||
// Mini patch :Ajout du rêve actuel
|
||||
if (actor.system.type == "personnage") {
|
||||
if (actor.type == ACTOR_TYPES.personnage) {
|
||||
defaultRollData.carac["reve-actuel"] = actor.system.reve.reve
|
||||
}
|
||||
|
||||
@ -131,11 +132,12 @@ export class RdDRoll extends Dialog {
|
||||
console.log('RdDRoll.activateListeners', this.rollData);
|
||||
|
||||
// Update html, according to rollData
|
||||
if (this.rollData.competence) {
|
||||
const defaut_carac = this.rollData.competence.system.defaut_carac
|
||||
if (!this.rollData.selectedCarac && this.rollData.competence) {
|
||||
// Set the default carac from the competence item
|
||||
this.rollData.selectedCarac = this.rollData.carac[defaut_carac];
|
||||
this.html.find("[name='carac']").val(defaut_carac);
|
||||
this.rollData.selectedCarac = this.rollData.carac[this.actor.mapCarac(this.rollData.competence.system.defaut_carac)]
|
||||
}
|
||||
if (this.rollData.selectedCarac) {
|
||||
this.html.find("[name='carac']").val(RdDCarac.caracDetails(this.rollData.selectedCarac.label).code)
|
||||
}
|
||||
if (this.rollData.selectedSort) {
|
||||
this.setSelectedSort(this.rollData.selectedSort);
|
||||
@ -173,7 +175,7 @@ export class RdDRoll extends Dialog {
|
||||
this.updateRollResult(html);
|
||||
this.html.find("[name='diffLibre']").val(this.rollData.diffLibre);
|
||||
});
|
||||
this.html.find('.roll-carac-competence').change((event) => {
|
||||
this.html.find('.roll-text').change((event) => {
|
||||
const competence = event.currentTarget.value
|
||||
this.rollData.competence = this.rollData.competences.find(it => Grammar.equalsInsensitive(it.name, competence))
|
||||
this.updateRollResult(html);
|
||||
|
@ -1,3 +1,4 @@
|
||||
import { RdDTextEditor } from "./apps/rdd-text-roll-editor.js";
|
||||
import { CompendiumTable, CompendiumTableHelpers, SystemCompendiums } from "./settings/system-compendiums.js";
|
||||
|
||||
export class RdDRollTables {
|
||||
@ -28,8 +29,8 @@ export class RdDRollTables {
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static async drawTextFromRollTable(tableName, toChat) {
|
||||
const drawResult = await RdDRollTables.genericGetTableResult(tableName, toChat);
|
||||
static async drawTextFromRollTable(tableName, options = {}) {
|
||||
const drawResult = await RdDRollTables.genericGetTableResult(tableName, options.toChat);
|
||||
return drawResult.text;
|
||||
}
|
||||
|
||||
@ -103,7 +104,7 @@ export class RdDRollTables {
|
||||
static async getMaladresse(options = { toChat: false, arme: false }) {
|
||||
return await RdDRollTables.drawTextFromRollTable(
|
||||
options.arme ? "Maladresse armé" : "Maladresses non armé",
|
||||
options.toChat);
|
||||
options)
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -21,6 +21,8 @@ import { RdDCoeur } from "./coeur/rdd-coeur.js";
|
||||
import { APP_ASTROLOGIE_REFRESH } from "./sommeil/app-astrologie.js";
|
||||
import { RDD_CONFIG } from "./constants.js";
|
||||
import { RdDBaseActor } from "./actor/base-actor.js";
|
||||
import { RdDCarac } from "./rdd-carac.js";
|
||||
import { RdDTextEditor } from "./apps/rdd-text-roll-editor.js";
|
||||
|
||||
/* -------------------------------------------- */
|
||||
// This table starts at 0 -> niveau -10
|
||||
@ -261,8 +263,25 @@ export class RdDUtility {
|
||||
'systems/foundryvtt-reve-de-dragon/templates/chat-fabriquer-potion-base.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/chat-signe-draconique-actor.html'
|
||||
];
|
||||
|
||||
// foundry et options
|
||||
Handlebars.registerHelper('RDD_CONFIG', path => RDD_CONFIG[path])
|
||||
Handlebars.registerHelper('linkCompendium', (pack, id, name) => RdDUtility.linkCompendium(pack, id, name));
|
||||
Handlebars.registerHelper('regle-optionnelle', (option) => ReglesOptionnelles.isUsing(option));
|
||||
|
||||
Handlebars.registerHelper('plusMoins', diff => (diff > 0 ? '+' : '') + Math.round(diff))
|
||||
|
||||
// Handle v12 removal of this helper
|
||||
Handlebars.registerHelper('select', function (selected, options) {
|
||||
const escapedValue = RegExp.escape(Handlebars.escapeExpression(selected));
|
||||
const rgx = new RegExp(' value=[\"\']' + escapedValue + '[\"\']');
|
||||
const html = options.fn(this);
|
||||
return html.replace(rgx, "$& selected");
|
||||
})
|
||||
|
||||
// logic
|
||||
Handlebars.registerHelper('either', (a, b) => a ?? b);
|
||||
// string manipulation
|
||||
Handlebars.registerHelper('upperFirst', str => Misc.upperFirst(str ?? 'Null'));
|
||||
Handlebars.registerHelper('lowerFirst', str => Misc.lowerFirst(str ?? 'Null'));
|
||||
Handlebars.registerHelper('uppercase', str => str?.toUpperCase() ?? '');
|
||||
@ -271,50 +290,58 @@ export class RdDUtility {
|
||||
Handlebars.registerHelper('grammar-apostrophe', (article, str) => Grammar.apostrophe(article, str));
|
||||
Handlebars.registerHelper('grammar-un', str => Grammar.articleIndetermine(str));
|
||||
Handlebars.registerHelper('grammar-accord', (genre, ...args) => Grammar.accord(genre, args));
|
||||
Handlebars.registerHelper('json-stringify', object => JSON.stringify(object))
|
||||
|
||||
Handlebars.registerHelper('RDD_CONFIG', path => RDD_CONFIG[path])
|
||||
// math
|
||||
Handlebars.registerHelper('min', (...args) => Math.min(...args.slice(0, -1)));
|
||||
Handlebars.registerHelper('repeat', function(n, block) {
|
||||
let accum = '';
|
||||
for(let i = 0; i < n; ++i){
|
||||
accum += block.fn(i)
|
||||
}
|
||||
return accum
|
||||
})
|
||||
|
||||
// tableaux, listes
|
||||
Handlebars.registerHelper('array-includes', (array, value) => array.includes(value));
|
||||
Handlebars.registerHelper('isLastIndex', (index, list) => index + 1 >= list.length);
|
||||
Handlebars.registerHelper('trier', list => list.sort((a, b) => a.name.localeCompare(b.name)));
|
||||
|
||||
// table de résolution
|
||||
Handlebars.registerHelper('computeResolutionScore', (row, col) => RdDResolutionTable.computePercentage(row, col));
|
||||
Handlebars.registerHelper('computeResolutionChances', (row, col) => RdDResolutionTable.computeChances(row, col));
|
||||
Handlebars.registerHelper('buildLigneInventaire', (item, options) => { return new Handlebars.SafeString(RdDUtility.buildLigneInventaire(item, options)); });
|
||||
Handlebars.registerHelper('buildInventaireConteneur', (actorId, itemId, options) => { return new Handlebars.SafeString(RdDUtility.buildInventaireConteneur(actorId, itemId, options)); });
|
||||
Handlebars.registerHelper('buildContenuConteneur', (item, options) => { return new Handlebars.SafeString(RdDUtility.buildContenuConteneur(item, options)); });
|
||||
Handlebars.registerHelper('calculerPrixCommercant', item => item.calculerPrixCommercant());
|
||||
Handlebars.registerHelper('caseTmr-label', coord => TMRUtility.getTMRLabel(coord));
|
||||
Handlebars.registerHelper('caseTmr-type', coord => TMRUtility.getTMRType(coord));
|
||||
Handlebars.registerHelper('typeTmr-name', type => TMRUtility.typeTmrName(type));
|
||||
Handlebars.registerHelper('effetRencontre-name', coord => TMRUtility.typeTmrName(coord));
|
||||
|
||||
// gestion des dates et heures
|
||||
Handlebars.registerHelper('timestamp-imgSigneHeure', (heure) => { return new Handlebars.SafeString(RdDTimestamp.imgSigneHeure(heure)) });
|
||||
Handlebars.registerHelper('timestamp-imgSigne', (heure) => { return new Handlebars.SafeString(RdDTimestamp.imgSigne(heure)) });
|
||||
Handlebars.registerHelper('timestamp-extract', timestamp => new RdDTimestamp(timestamp).toCalendrier());
|
||||
Handlebars.registerHelper('timestamp-formulesDuree', () => RdDTimestamp.formulesDuree());
|
||||
Handlebars.registerHelper('timestamp-formulesPeriode', () => RdDTimestamp.formulesPeriode());
|
||||
|
||||
// informations sur les acteurs
|
||||
Handlebars.registerHelper('actor-default', (actorType, ...path) => RdDBaseActor.getDefaultValue(actorType, path.slice(0, -1)));
|
||||
|
||||
Handlebars.registerHelper('array-includes', (array, value) => array.includes(value));
|
||||
Handlebars.registerHelper('min', (...args) => Math.min(...args.slice(0, -1)));
|
||||
Handlebars.registerHelper('isLastIndex', (index, list) => index + 1 >= list.length);
|
||||
Handlebars.registerHelper('regle-optionnelle', (option) => ReglesOptionnelles.isUsing(option));
|
||||
Handlebars.registerHelper('trier', list => list.sort((a, b) => a.name.localeCompare(b.name)));
|
||||
Handlebars.registerHelper('filtreTriCompetences', competences => RdDItemCompetence.triVisible(competences));
|
||||
Handlebars.registerHelper('linkCompendium', (pack, id, name) => RdDUtility.linkCompendium(pack, id, name));
|
||||
Handlebars.registerHelper('uniteQuantite', (itemId, actorId) => RdDUtility.getItem(itemId, actorId)?.getUniteQuantite());
|
||||
Handlebars.registerHelper('isFieldInventaireModifiable', (type, field) => RdDItem.isFieldInventaireModifiable(type, field));
|
||||
Handlebars.registerHelper('rarete-getChamp', (rarete, field) => RdDRaretes.getChamp(rarete, field));
|
||||
|
||||
Handlebars.registerHelper('plusMoins', diff => (diff > 0 ? '+' : '') + Math.round(diff))
|
||||
Handlebars.registerHelper('experienceLog-topic', topic => ExperienceLog.labelTopic(topic));
|
||||
|
||||
// Handle v12 removal of this helper
|
||||
Handlebars.registerHelper('select', function (selected, options) {
|
||||
const escapedValue = RegExp.escape(Handlebars.escapeExpression(selected));
|
||||
const rgx = new RegExp(' value=[\"\']' + escapedValue + '[\"\']');
|
||||
const html = options.fn(this);
|
||||
return html.replace(rgx, "$& selected");
|
||||
});
|
||||
Handlebars.registerHelper('carac-label', (code) => RdDCarac.label(code))
|
||||
|
||||
return loadTemplates(templatePaths);
|
||||
// inventaire et marchands
|
||||
Handlebars.registerHelper('buildLigneInventaire', (item, options) => { return new Handlebars.SafeString(RdDUtility.buildLigneInventaire(item, options)); });
|
||||
Handlebars.registerHelper('buildInventaireConteneur', (actorId, itemId, options) => { return new Handlebars.SafeString(RdDUtility.buildInventaireConteneur(actorId, itemId, options)); });
|
||||
Handlebars.registerHelper('buildContenuConteneur', (item, options) => { return new Handlebars.SafeString(RdDUtility.buildContenuConteneur(item, options)); });
|
||||
Handlebars.registerHelper('calculerPrixCommercant', item => item.calculerPrixCommercant());
|
||||
Handlebars.registerHelper('uniteQuantite', (itemId, actorId) => RdDUtility.getItem(itemId, actorId)?.getUniteQuantite());
|
||||
Handlebars.registerHelper('isFieldInventaireModifiable', (type, field) => RdDItem.isFieldInventaireModifiable(type, field));
|
||||
// Items
|
||||
Handlebars.registerHelper('rarete-getChamp', (rarete, field) => RdDRaretes.getChamp(rarete, field));
|
||||
|
||||
// TMRs
|
||||
Handlebars.registerHelper('caseTmr-label', coord => TMRUtility.getTMRLabel(coord));
|
||||
Handlebars.registerHelper('caseTmr-type', coord => TMRUtility.getTMRType(coord));
|
||||
Handlebars.registerHelper('typeTmr-name', type => TMRUtility.typeTmrName(type));
|
||||
Handlebars.registerHelper('effetRencontre-name', coord => TMRUtility.typeTmrName(coord));
|
||||
|
||||
await loadTemplates(templatePaths);
|
||||
}
|
||||
|
||||
static getItem(itemId, actorId = undefined) {
|
||||
@ -670,6 +697,7 @@ export class RdDUtility {
|
||||
RdDCombat.registerChatCallbacks(html)
|
||||
RdDEmpoignade.registerChatCallbacks(html)
|
||||
RdDCoeur.registerChatCallbacks(html)
|
||||
RdDTextEditor.registerChatCallbacks(html)
|
||||
|
||||
// Gestion spécifique message passeurs
|
||||
html.on("click", '.tmr-passeur-coord a', event => {
|
||||
@ -908,7 +936,7 @@ export class RdDUtility {
|
||||
/*-------------------------------------------- */
|
||||
static checkThanatosXP(compName) {
|
||||
if (compName.includes('Thanatos')) {
|
||||
let message = "Vous avez mis des points d'Expérience dans la Voie de Thanatos !<br>Vous devez réduire manuellement d'un même montant d'XP une autre compétence Draconique.";
|
||||
let message = "Vous avez mis des points d'Expérience en Thanatos !<br>Vous devez réduire manuellement d'un même montant d'XP une autre compétence Draconique.";
|
||||
ChatMessage.create({
|
||||
whisper: ChatUtility.getUserAndGMs(),
|
||||
content: message
|
||||
|
@ -168,7 +168,7 @@ export class RollDataAjustements {
|
||||
// s'assurer de la correction des infos rollData
|
||||
foundry.utils.mergeObject(rollData, { ajustements: {}, use: {} }, { overwrite: false })
|
||||
|
||||
for (var key in referenceAjustements) {
|
||||
for (let key in referenceAjustements) {
|
||||
const reference = referenceAjustements[key];
|
||||
rollData.ajustements[key] = {
|
||||
visible: reference.isVisible && reference.isVisible(rollData, actor),
|
||||
|
@ -15,6 +15,7 @@ const CONFIGURABLE_COMPENDIUMS = {
|
||||
'ombres-de-thanatos': { label: "Ombres de Thanatos", type: "Item" },
|
||||
'souffles-de-dragon': { label: "Souffles de Dragon", type: "Item" },
|
||||
'tarot-draconique': { label: "Tarots draconiques", type: "Item" },
|
||||
'races': { label: "Races", type: "Item" },
|
||||
'rencontres': { label: "Rencontres dans les TMR", type: "Item" },
|
||||
'tetes-de-dragon-pour-haut-revants': { label: "Têtes de dragons (haut-rêvant)", type: "Item" },
|
||||
'tetes-de-dragon-pour-tous-personnages': { label: "Têtes de dragons (tous)", type: "Item" },
|
||||
|
@ -14,13 +14,14 @@ export class Targets {
|
||||
return {
|
||||
id: target?.id,
|
||||
name: target?.document.name,
|
||||
img: target?.document.texture.src ?? target?.actor.img ?? 'icons/svg/mystery-man.svg',
|
||||
target
|
||||
};
|
||||
img: target?.document.texture.src ?? target?.actor.img ?? 'icons/svg/mystery-man.svg'
|
||||
}
|
||||
}
|
||||
|
||||
static buildActorTokenData(tokenId, actor) {
|
||||
return { id: tokenId, name: actor.name, img: actor.img ?? 'icons/svg/mystery-man.svg' };
|
||||
}
|
||||
|
||||
static isTargetEntite(target) {
|
||||
return target?.actor.type == 'entite' && target?.actor.system.definition.typeentite == ENTITE_NONINCARNE;
|
||||
}
|
||||
|
@ -125,39 +125,39 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '23'
|
||||
value: 23
|
||||
label: Taille
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '18'
|
||||
value: 18
|
||||
label: Constitution
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: '18'
|
||||
value: 18
|
||||
label: Force
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
perception:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Perception
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '7'
|
||||
value: 7
|
||||
label: Volonté
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '8'
|
||||
value: 8
|
||||
label: Rêve
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
sante:
|
||||
vie:
|
||||
@ -190,12 +190,12 @@ system:
|
||||
derivee: true
|
||||
encombrement:
|
||||
type: number
|
||||
value: '20'
|
||||
value: 20
|
||||
label: Encombrement
|
||||
derivee: false
|
||||
protection:
|
||||
type: number
|
||||
value: '4'
|
||||
value: 4
|
||||
label: Protection
|
||||
derivee: false
|
||||
compteurs:
|
||||
|
@ -155,37 +155,37 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '3'
|
||||
value: 3
|
||||
label: Taille
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Constitution
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: '7'
|
||||
value: 7
|
||||
label: Force
|
||||
xp: 0
|
||||
derivee: false
|
||||
perception:
|
||||
type: number
|
||||
value: '15'
|
||||
value: 15
|
||||
label: Perception
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Volonté
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '7'
|
||||
value: 7
|
||||
label: Rêve
|
||||
xp: 0
|
||||
derivee: false
|
||||
@ -210,7 +210,7 @@ system:
|
||||
attributs:
|
||||
plusdom:
|
||||
type: number
|
||||
value: '-2'
|
||||
value: -2
|
||||
label: +dom
|
||||
derivee: true
|
||||
vitesse:
|
||||
@ -220,12 +220,12 @@ system:
|
||||
derivee: true
|
||||
encombrement:
|
||||
type: number
|
||||
value: '0'
|
||||
value: 0
|
||||
label: Encombrement
|
||||
derivee: false
|
||||
protection:
|
||||
type: number
|
||||
value: '-3'
|
||||
value: -3
|
||||
label: Protection
|
||||
derivee: false
|
||||
compteurs:
|
||||
@ -257,47 +257,8 @@ system:
|
||||
dévore.</p>
|
||||
|
||||
<h1>Venin</h1>
|
||||
|
||||
<table style="width: 65.039%; height: 65px;" border="1">
|
||||
|
||||
<tbody>
|
||||
|
||||
<tr style="height: 16px;">
|
||||
|
||||
<td style="width: 30.8567%; height: 16px;">Malignité</td>
|
||||
|
||||
<td style="width: 68.3263%; height: 16px;">6</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr style="height: 16px;">
|
||||
|
||||
<td style="width: 30.8567%; height: 16px;">Périodicité</td>
|
||||
|
||||
<td style="width: 68.3263%; height: 16px;">1 round</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr style="height: 16px;">
|
||||
|
||||
<td style="width: 30.8567%; height: 16px;">Dommages</td>
|
||||
|
||||
<td style="width: 68.3263%; height: 16px;">-1d6 points d'endurance</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr style="height: 17px;">
|
||||
|
||||
<td style="width: 30.8567%; height: 17px;">Antidotes</td>
|
||||
|
||||
<td style="width: 68.3263%; height: 17px;">-3 \ Liqueur de Bagdol +12, Lait
|
||||
de lune +6</td>
|
||||
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
<p>@UUID[Compendium.foundryvtt-reve-de-dragon.maladies-et-poisons.Item.v7yZidE9mObKO566]{Venin
|
||||
d'Araflate}</p> <p></p>
|
||||
race: ''
|
||||
notesmj: ''
|
||||
ownership:
|
||||
|
@ -155,37 +155,37 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '19'
|
||||
value: 19
|
||||
label: Taille
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '18'
|
||||
value: 18
|
||||
label: Constitution
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: '18'
|
||||
value: 18
|
||||
label: Force
|
||||
xp: 0
|
||||
derivee: false
|
||||
perception:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Perception
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '4'
|
||||
value: 4
|
||||
label: Volonté
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '6'
|
||||
value: 6
|
||||
label: Rêve
|
||||
xp: 0
|
||||
derivee: false
|
||||
@ -220,12 +220,12 @@ system:
|
||||
derivee: true
|
||||
encombrement:
|
||||
type: number
|
||||
value: '0'
|
||||
value: 0
|
||||
label: Encombrement
|
||||
derivee: false
|
||||
protection:
|
||||
type: number
|
||||
value: '2'
|
||||
value: 2
|
||||
label: Protection
|
||||
derivee: false
|
||||
compteurs:
|
||||
|
@ -126,37 +126,37 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '33'
|
||||
value: 33
|
||||
label: Taille
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '26'
|
||||
value: 26
|
||||
label: Constitution
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: '26'
|
||||
value: 26
|
||||
label: Force
|
||||
xp: 0
|
||||
derivee: false
|
||||
perception:
|
||||
type: number
|
||||
value: '13'
|
||||
value: 13
|
||||
label: Perception
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '3'
|
||||
value: 3
|
||||
label: Volonté
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Rêve
|
||||
xp: 0
|
||||
derivee: false
|
||||
@ -191,12 +191,12 @@ system:
|
||||
derivee: true
|
||||
encombrement:
|
||||
type: number
|
||||
value: '0'
|
||||
value: 0
|
||||
label: Encombrement
|
||||
derivee: false
|
||||
protection:
|
||||
type: number
|
||||
value: '2'
|
||||
value: 2
|
||||
label: Protection
|
||||
derivee: false
|
||||
compteurs:
|
||||
|
@ -154,37 +154,37 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '20'
|
||||
value: 20
|
||||
label: Taille
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '15'
|
||||
value: 15
|
||||
label: Constitution
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: '16'
|
||||
value: 16
|
||||
label: Force
|
||||
xp: 0
|
||||
derivee: false
|
||||
perception:
|
||||
type: number
|
||||
value: '13'
|
||||
value: 13
|
||||
label: Perception
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '9'
|
||||
value: 9
|
||||
label: Volonté
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Rêve
|
||||
xp: 0
|
||||
derivee: false
|
||||
@ -219,12 +219,12 @@ system:
|
||||
derivee: true
|
||||
encombrement:
|
||||
type: number
|
||||
value: '0'
|
||||
value: 0
|
||||
label: Encombrement
|
||||
derivee: false
|
||||
protection:
|
||||
type: number
|
||||
value: '1'
|
||||
value: 1
|
||||
label: Protection
|
||||
derivee: false
|
||||
compteurs:
|
||||
|
@ -183,37 +183,37 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '7'
|
||||
value: 7
|
||||
label: Taille
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Constitution
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Force
|
||||
xp: 0
|
||||
derivee: false
|
||||
perception:
|
||||
type: number
|
||||
value: '14'
|
||||
value: 14
|
||||
label: Perception
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '8'
|
||||
value: 8
|
||||
label: Volonté
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '15'
|
||||
value: 15
|
||||
label: Rêve
|
||||
xp: 0
|
||||
derivee: false
|
||||
@ -248,12 +248,12 @@ system:
|
||||
derivee: true
|
||||
encombrement:
|
||||
type: number
|
||||
value: '0'
|
||||
value: 0
|
||||
label: Encombrement
|
||||
derivee: false
|
||||
protection:
|
||||
type: number
|
||||
value: '0'
|
||||
value: 0
|
||||
label: Protection
|
||||
derivee: false
|
||||
compteurs:
|
||||
|
@ -153,37 +153,37 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '21'
|
||||
value: 21
|
||||
label: Taille
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '17'
|
||||
value: 17
|
||||
label: Constitution
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: '16'
|
||||
value: 16
|
||||
label: Force
|
||||
xp: 0
|
||||
derivee: false
|
||||
perception:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Perception
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Volonté
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Rêve
|
||||
xp: 0
|
||||
derivee: false
|
||||
@ -218,12 +218,12 @@ system:
|
||||
derivee: true
|
||||
encombrement:
|
||||
type: number
|
||||
value: '18'
|
||||
value: 18
|
||||
label: Encombrement
|
||||
derivee: false
|
||||
protection:
|
||||
type: number
|
||||
value: '1'
|
||||
value: 1
|
||||
label: Protection
|
||||
derivee: false
|
||||
compteurs:
|
||||
|
@ -126,37 +126,37 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '25'
|
||||
value: 25
|
||||
label: Taille
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '18'
|
||||
value: 18
|
||||
label: Constitution
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: '20'
|
||||
value: 20
|
||||
label: Force
|
||||
xp: 0
|
||||
derivee: false
|
||||
perception:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Perception
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '8'
|
||||
value: 8
|
||||
label: Volonté
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Rêve
|
||||
xp: 0
|
||||
derivee: false
|
||||
@ -191,12 +191,12 @@ system:
|
||||
derivee: true
|
||||
encombrement:
|
||||
type: number
|
||||
value: '22'
|
||||
value: 22
|
||||
label: Encombrement
|
||||
derivee: false
|
||||
protection:
|
||||
type: number
|
||||
value: '2'
|
||||
value: 2
|
||||
label: Protection
|
||||
derivee: false
|
||||
compteurs:
|
||||
|
@ -153,37 +153,37 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '6'
|
||||
value: 6
|
||||
label: Taille
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Constitution
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Force
|
||||
xp: 0
|
||||
derivee: false
|
||||
perception:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Perception
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '8'
|
||||
value: 8
|
||||
label: Volonté
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '8'
|
||||
value: 8
|
||||
label: Rêve
|
||||
xp: 0
|
||||
derivee: false
|
||||
@ -218,12 +218,12 @@ system:
|
||||
derivee: true
|
||||
encombrement:
|
||||
type: number
|
||||
value: '0'
|
||||
value: 0
|
||||
label: Encombrement
|
||||
derivee: false
|
||||
protection:
|
||||
type: number
|
||||
value: '-1'
|
||||
value: -1
|
||||
label: Protection
|
||||
derivee: false
|
||||
compteurs:
|
||||
|
@ -126,37 +126,37 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '7'
|
||||
value: 7
|
||||
label: Taille
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '9'
|
||||
value: 9
|
||||
label: Constitution
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Force
|
||||
xp: 0
|
||||
derivee: false
|
||||
perception:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Perception
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '3'
|
||||
value: 3
|
||||
label: Volonté
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '2'
|
||||
value: 2
|
||||
label: Rêve
|
||||
xp: 0
|
||||
derivee: false
|
||||
@ -184,19 +184,19 @@ system:
|
||||
value: '+0'
|
||||
label: +dom
|
||||
derivee: true
|
||||
encombrement:
|
||||
type: number
|
||||
value: 0
|
||||
label: Encombrement
|
||||
derivee: false
|
||||
vitesse:
|
||||
type: string
|
||||
value: 12/28
|
||||
label: Vitesse
|
||||
derivee: true
|
||||
encombrement:
|
||||
type: number
|
||||
value: '0'
|
||||
label: Encombrement
|
||||
derivee: false
|
||||
protection:
|
||||
type: number
|
||||
value: '4'
|
||||
value: 4
|
||||
label: Protection
|
||||
derivee: false
|
||||
compteurs:
|
||||
@ -207,67 +207,19 @@ system:
|
||||
value: 0
|
||||
label: Sur-encombrement
|
||||
description: >-
|
||||
<h1>Description</h1>
|
||||
|
||||
<p>Description Le chrasme (prononcer krasme) est une 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é de mandibules acérées et puissantes, il est
|
||||
redouté pour son venin mortel.</p>
|
||||
|
||||
<h1>Mœurs</h1>
|
||||
|
||||
<p>Le chrasme vit dans les lieux sombres, cavernes et souterrains, où
|
||||
il se nourrit de tout. Paranos le Moindre affirme qu’à
|
||||
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 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>
|
||||
|
||||
<table style="width: 399px; height: 65px;" border="1">
|
||||
|
||||
<tbody>
|
||||
|
||||
<tr style="height: 16px;">
|
||||
|
||||
<td style="width: 121px; height: 16px;">Malignité</td>
|
||||
|
||||
<td style="width: 274px; height: 16px;">3</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr style="height: 16px;">
|
||||
|
||||
<td style="width: 121px; height: 16px;">Périodicité</td>
|
||||
|
||||
<td style="width: 274px; height: 16px;">1 miute</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr style="height: 16px;">
|
||||
|
||||
<td style="width: 121px; height: 16px;">Dommages</td>
|
||||
|
||||
<td style="width: 274px; height: 16px;">-1 point de vie</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr style="height: 17px;">
|
||||
|
||||
<td style="width: 121px; height: 17px;">Antidotes</td>
|
||||
|
||||
<td style="width: 274px; height: 17px;">-2 \ Liqueur de Bagdol +16, Teinture
|
||||
d'Erozonne +10</td>
|
||||
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
<h1>Description</h1><p>Description Le chrasme (prononcer krasme) est une
|
||||
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é
|
||||
de mandibules acérées et puissantes, il est redouté pour son venin
|
||||
mortel.</p><h1>Mœurs</h1><p>Le chrasme vit dans les lieux sombres, cavernes
|
||||
et souterrains, où il se nourrit de tout. Paranos le Moindre affirme qu’à
|
||||
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
|
||||
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: ''
|
||||
notesmj: ''
|
||||
ownership:
|
||||
@ -350,7 +302,13 @@ prototypeToken:
|
||||
texture: null
|
||||
_stats:
|
||||
systemId: foundryvtt-reve-de-dragon
|
||||
systemVersion: 12.0.22
|
||||
systemVersion: 12.0.32
|
||||
coreVersion: '12.331'
|
||||
createdTime: null
|
||||
modifiedTime: 1736537299708
|
||||
lastModifiedBy: Hp9ImM4o9YRTSdfu
|
||||
compendiumSource: null
|
||||
duplicateSource: null
|
||||
flags: {}
|
||||
_key: '!actors!yL1XStIKWxGnhKvR'
|
||||
|
||||
|
@ -155,37 +155,37 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '20'
|
||||
value: 20
|
||||
label: Taille
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '18'
|
||||
value: 18
|
||||
label: Constitution
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: '16'
|
||||
value: 16
|
||||
label: Force
|
||||
xp: 0
|
||||
derivee: false
|
||||
perception:
|
||||
type: number
|
||||
value: '13'
|
||||
value: 13
|
||||
label: Perception
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '7'
|
||||
value: 7
|
||||
label: Volonté
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '9'
|
||||
value: 9
|
||||
label: Rêve
|
||||
xp: 0
|
||||
derivee: false
|
||||
@ -220,12 +220,12 @@ system:
|
||||
derivee: true
|
||||
encombrement:
|
||||
type: number
|
||||
value: '0'
|
||||
value: 0
|
||||
label: Encombrement
|
||||
derivee: false
|
||||
protection:
|
||||
type: number
|
||||
value: '3'
|
||||
value: 3
|
||||
label: Protection
|
||||
derivee: false
|
||||
compteurs:
|
||||
|
@ -154,37 +154,37 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Taille
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Constitution
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: '15'
|
||||
value: 15
|
||||
label: Force
|
||||
xp: 0
|
||||
derivee: false
|
||||
perception:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Perception
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '6'
|
||||
value: 6
|
||||
label: Volonté
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '4'
|
||||
value: 4
|
||||
label: Rêve
|
||||
xp: 0
|
||||
derivee: false
|
||||
@ -219,12 +219,12 @@ system:
|
||||
derivee: true
|
||||
encombrement:
|
||||
type: number
|
||||
value: '0'
|
||||
value: 0
|
||||
label: Encombrement
|
||||
derivee: false
|
||||
protection:
|
||||
type: number
|
||||
value: '3'
|
||||
value: 3
|
||||
label: Protection
|
||||
derivee: false
|
||||
compteurs:
|
||||
|
@ -97,37 +97,37 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '4'
|
||||
value: 4
|
||||
label: Taille
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Constitution
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: '8'
|
||||
value: 8
|
||||
label: Force
|
||||
xp: 0
|
||||
derivee: false
|
||||
perception:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Perception
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '7'
|
||||
value: 7
|
||||
label: Volonté
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '7'
|
||||
value: 7
|
||||
label: Rêve
|
||||
xp: 0
|
||||
derivee: false
|
||||
@ -152,7 +152,7 @@ system:
|
||||
attributs:
|
||||
plusdom:
|
||||
type: number
|
||||
value: '-1'
|
||||
value: -1
|
||||
label: +dom
|
||||
derivee: true
|
||||
vitesse:
|
||||
@ -162,12 +162,12 @@ system:
|
||||
derivee: true
|
||||
encombrement:
|
||||
type: number
|
||||
value: '0'
|
||||
value: 0
|
||||
label: Encombrement
|
||||
derivee: false
|
||||
protection:
|
||||
type: number
|
||||
value: '-3'
|
||||
value: -3
|
||||
label: Protection
|
||||
derivee: false
|
||||
compteurs:
|
||||
@ -203,10 +203,10 @@ system:
|
||||
|
||||
<p>En combat, quand un drakkule réussit une particulière et
|
||||
cause au moins une blessure légère, il reste accroché
|
||||
à sa victime qui perd alors automatiquement 1d6 points
|
||||
à sa victime qui perd alors automatiquement @roll[1d6] points
|
||||
d’endurance par round sous l’effet de la saignée. Quand
|
||||
l’endurance tombe à zéro, le drakkule continue à
|
||||
la vider de son sang à raison de 1d6 points de vie par round. Le
|
||||
la vider de son sang à raison de @roll[1d6] points de vie par round. Le
|
||||
drakkule ne se détache que <em>blessé gravement </em>ou
|
||||
<em>sonné</em>. Pour se dégager, la victime ne peut utiliser
|
||||
que Corps à corps (totaliser 2 points d’empoignade) ou une
|
||||
|
@ -97,37 +97,37 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '2'
|
||||
value: 2
|
||||
label: Taille
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '8'
|
||||
value: 8
|
||||
label: Constitution
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: '3'
|
||||
value: 3
|
||||
label: Force
|
||||
xp: 0
|
||||
derivee: false
|
||||
perception:
|
||||
type: number
|
||||
value: '13'
|
||||
value: 13
|
||||
label: Perception
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Volonté
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Rêve
|
||||
xp: 0
|
||||
derivee: false
|
||||
@ -152,7 +152,7 @@ system:
|
||||
attributs:
|
||||
plusdom:
|
||||
type: number
|
||||
value: '-4'
|
||||
value: -4
|
||||
label: +dom
|
||||
derivee: true
|
||||
vitesse:
|
||||
@ -162,12 +162,12 @@ system:
|
||||
derivee: true
|
||||
encombrement:
|
||||
type: number
|
||||
value: '0'
|
||||
value: 0
|
||||
label: Encombrement
|
||||
derivee: false
|
||||
protection:
|
||||
type: number
|
||||
value: '-6'
|
||||
value: -6
|
||||
label: Protection
|
||||
derivee: false
|
||||
compteurs:
|
||||
|
@ -184,37 +184,37 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '7'
|
||||
value: 7
|
||||
label: Taille
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Constitution
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Force
|
||||
xp: 0
|
||||
derivee: false
|
||||
perception:
|
||||
type: number
|
||||
value: '13'
|
||||
value: 13
|
||||
label: Perception
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Volonté
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Rêve
|
||||
xp: 0
|
||||
derivee: false
|
||||
@ -249,12 +249,12 @@ system:
|
||||
derivee: true
|
||||
encombrement:
|
||||
type: number
|
||||
value: '0'
|
||||
value: 0
|
||||
label: Encombrement
|
||||
derivee: false
|
||||
protection:
|
||||
type: number
|
||||
value: '0'
|
||||
value: 0
|
||||
label: Protection
|
||||
derivee: false
|
||||
compteurs:
|
||||
|
@ -206,37 +206,37 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '6'
|
||||
value: 6
|
||||
label: Taille
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Constitution
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: '9'
|
||||
value: 9
|
||||
label: Force
|
||||
xp: 0
|
||||
derivee: false
|
||||
perception:
|
||||
type: number
|
||||
value: '14'
|
||||
value: 14
|
||||
label: Perception
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Volonté
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Rêve
|
||||
xp: 0
|
||||
derivee: false
|
||||
@ -261,7 +261,7 @@ system:
|
||||
attributs:
|
||||
plusdom:
|
||||
type: number
|
||||
value: '-1'
|
||||
value: -1
|
||||
label: +dom
|
||||
derivee: true
|
||||
vitesse:
|
||||
@ -271,12 +271,12 @@ system:
|
||||
derivee: true
|
||||
encombrement:
|
||||
type: number
|
||||
value: '0'
|
||||
value: 0
|
||||
label: Encombrement
|
||||
derivee: false
|
||||
protection:
|
||||
type: number
|
||||
value: '0'
|
||||
value: 0
|
||||
label: Protection
|
||||
derivee: false
|
||||
compteurs:
|
||||
|
@ -241,39 +241,39 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '16'
|
||||
value: 16
|
||||
label: Taille
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '15'
|
||||
value: 15
|
||||
label: Constitution
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: '13'
|
||||
value: 13
|
||||
label: Force
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
perception:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Perception
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '8'
|
||||
value: 8
|
||||
label: Volonté
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Rêve
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
sante:
|
||||
vie:
|
||||
@ -306,12 +306,12 @@ system:
|
||||
derivee: true
|
||||
encombrement:
|
||||
type: number
|
||||
value: '0'
|
||||
value: 0
|
||||
label: Encombrement
|
||||
derivee: false
|
||||
protection:
|
||||
type: number
|
||||
value: '4'
|
||||
value: 4
|
||||
label: Protection
|
||||
derivee: false
|
||||
compteurs:
|
||||
|
@ -155,37 +155,37 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Taille
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '14'
|
||||
value: 14
|
||||
label: Constitution
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: '13'
|
||||
value: 13
|
||||
label: Force
|
||||
xp: 0
|
||||
derivee: false
|
||||
perception:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Perception
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '7'
|
||||
value: 7
|
||||
label: Volonté
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Rêve
|
||||
xp: 0
|
||||
derivee: false
|
||||
@ -220,12 +220,12 @@ system:
|
||||
derivee: true
|
||||
encombrement:
|
||||
type: number
|
||||
value: '0'
|
||||
value: 0
|
||||
label: Encombrement
|
||||
derivee: false
|
||||
protection:
|
||||
type: number
|
||||
value: '0'
|
||||
value: 0
|
||||
label: Protection
|
||||
derivee: false
|
||||
compteurs:
|
||||
@ -257,56 +257,8 @@ system:
|
||||
|
||||
<h1 style="box-sizing: border-box; user-select: text; color: #191813;
|
||||
font-family: GoudyAcc, sans-serif;">Venin</h1>
|
||||
|
||||
<table style="box-sizing: border-box; user-select: text; width: 395px;
|
||||
color: #191813; font-family: GoudyAcc, sans-serif; height: 65px;"
|
||||
border="1">
|
||||
|
||||
<tbody style="box-sizing: border-box; user-select: text;">
|
||||
|
||||
<tr style="box-sizing: border-box; user-select: text; height: 16px;">
|
||||
|
||||
<td style="box-sizing: border-box; user-select: text; width: 122px; height:
|
||||
16px;">Malignité</td>
|
||||
|
||||
<td style="box-sizing: border-box; user-select: text; width: 272px; height:
|
||||
16px;">6</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr style="box-sizing: border-box; user-select: text; height: 16px;">
|
||||
|
||||
<td style="box-sizing: border-box; user-select: text; width: 122px; height:
|
||||
16px;">Périodicité</td>
|
||||
|
||||
<td style="box-sizing: border-box; user-select: text; width: 272px; height:
|
||||
16px;">1 round</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr style="box-sizing: border-box; user-select: text; height: 16px;">
|
||||
|
||||
<td style="box-sizing: border-box; user-select: text; width: 122px; height:
|
||||
16px;">Dommages</td>
|
||||
|
||||
<td style="box-sizing: border-box; user-select: text; width: 272px; height:
|
||||
16px;">1 ligne de fatigue</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr style="box-sizing: border-box; user-select: text; height: 17px;">
|
||||
|
||||
<td style="box-sizing: border-box; user-select: text; width: 122px; height:
|
||||
17px;">Antidotes</td>
|
||||
|
||||
<td style="box-sizing: border-box; user-select: text; width: 272px; height:
|
||||
17px;">-4 \ Floume-dhu +16</td>
|
||||
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
<p>@UUID[Compendium.foundryvtt-reve-de-dragon.maladies-et-poisons.Item.IF19EUvrY1HL87lr]{Venin
|
||||
paralysant de goule}</p>
|
||||
|
||||
<p>La paralysie intervient quand toutes les lignes de fatigue sont pleines
|
||||
et dure 6 heures.</p>
|
||||
|
@ -137,7 +137,7 @@ system:
|
||||
elles-mêmes, leur grincement involontaire est une torture. Toute
|
||||
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’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é
|
||||
jusqu’à la fin du round suivant.</p>
|
||||
|
||||
|
@ -183,37 +183,37 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '23'
|
||||
value: 23
|
||||
label: Taille
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '20'
|
||||
value: 20
|
||||
label: Constitution
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: '20'
|
||||
value: 20
|
||||
label: Force
|
||||
xp: 0
|
||||
derivee: false
|
||||
perception:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Perception
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '8'
|
||||
value: 8
|
||||
label: Volonté
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Rêve
|
||||
xp: 0
|
||||
derivee: false
|
||||
@ -248,12 +248,12 @@ system:
|
||||
derivee: true
|
||||
encombrement:
|
||||
type: number
|
||||
value: '0'
|
||||
value: 0
|
||||
label: Encombrement
|
||||
derivee: false
|
||||
protection:
|
||||
type: number
|
||||
value: '3'
|
||||
value: 3
|
||||
label: Protection
|
||||
derivee: false
|
||||
compteurs:
|
||||
|
@ -68,37 +68,37 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '9'
|
||||
value: 9
|
||||
label: Taille
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Constitution
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Force
|
||||
xp: 0
|
||||
derivee: false
|
||||
perception:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Perception
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Volonté
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Rêve
|
||||
xp: 0
|
||||
derivee: false
|
||||
@ -133,12 +133,12 @@ system:
|
||||
derivee: true
|
||||
encombrement:
|
||||
type: number
|
||||
value: '0'
|
||||
value: 0
|
||||
label: Encombrement
|
||||
derivee: false
|
||||
protection:
|
||||
type: number
|
||||
value: '4'
|
||||
value: 4
|
||||
label: Protection
|
||||
derivee: false
|
||||
compteurs:
|
||||
@ -174,8 +174,8 @@ system:
|
||||
agressivité s’appliquant aux humanoïdes. S’agissant
|
||||
d’un pouvoir inné, elles n’ont ni à monter dans
|
||||
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
|
||||
d’échec, réussir un jet de VOLONTÉ à -3
|
||||
doit jouer un jet de résistance standard, @roll[reve-actuel/-8], et en cas
|
||||
d’échec, réussir un jet de @roll[Volonté/-3]
|
||||
pour pouvoir attaquer la harpie. Le JR n’est à jouer
|
||||
qu’une seule fois, tandis qu’en cas d’échec, le jet
|
||||
de VOLONTÉ est à jouer tous les rounds. La non
|
||||
|
@ -154,37 +154,37 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Taille
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '13'
|
||||
value: 13
|
||||
label: Constitution
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: '13'
|
||||
value: 13
|
||||
label: Force
|
||||
xp: 0
|
||||
derivee: false
|
||||
perception:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Perception
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '6'
|
||||
value: 6
|
||||
label: Volonté
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Rêve
|
||||
xp: 0
|
||||
derivee: false
|
||||
@ -219,12 +219,12 @@ system:
|
||||
derivee: true
|
||||
encombrement:
|
||||
type: number
|
||||
value: '0'
|
||||
value: 0
|
||||
label: Encombrement
|
||||
derivee: false
|
||||
protection:
|
||||
type: number
|
||||
value: '2'
|
||||
value: 2
|
||||
label: Protection
|
||||
derivee: false
|
||||
compteurs:
|
||||
|
@ -126,37 +126,37 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '3'
|
||||
value: 3
|
||||
label: Taille
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '4'
|
||||
value: 4
|
||||
label: Constitution
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: '7'
|
||||
value: 7
|
||||
label: Force
|
||||
xp: 0
|
||||
derivee: false
|
||||
perception:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Perception
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '2'
|
||||
value: 2
|
||||
label: Volonté
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '2'
|
||||
value: 2
|
||||
label: Rêve
|
||||
xp: 0
|
||||
derivee: false
|
||||
@ -181,7 +181,7 @@ system:
|
||||
attributs:
|
||||
plusdom:
|
||||
type: number
|
||||
value: '0'
|
||||
value: 0
|
||||
label: +dom
|
||||
derivee: true
|
||||
vitesse:
|
||||
@ -191,12 +191,12 @@ system:
|
||||
derivee: true
|
||||
encombrement:
|
||||
type: number
|
||||
value: '0'
|
||||
value: 0
|
||||
label: Encombrement
|
||||
derivee: false
|
||||
protection:
|
||||
type: number
|
||||
value: '-6'
|
||||
value: -6
|
||||
label: Protection
|
||||
derivee: false
|
||||
compteurs:
|
||||
|
@ -183,37 +183,37 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '8'
|
||||
value: 8
|
||||
label: Taille
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Constitution
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Force
|
||||
xp: 0
|
||||
derivee: false
|
||||
perception:
|
||||
type: number
|
||||
value: '13'
|
||||
value: 13
|
||||
label: Perception
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Volonté
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Rêve
|
||||
xp: 0
|
||||
derivee: false
|
||||
@ -248,12 +248,12 @@ system:
|
||||
derivee: true
|
||||
encombrement:
|
||||
type: number
|
||||
value: '0'
|
||||
value: 0
|
||||
label: Encombrement
|
||||
derivee: false
|
||||
protection:
|
||||
type: number
|
||||
value: '0'
|
||||
value: 0
|
||||
label: Protection
|
||||
derivee: false
|
||||
compteurs:
|
||||
|
@ -212,37 +212,37 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '5'
|
||||
value: 5
|
||||
label: Taille
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Constitution
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: '9'
|
||||
value: 9
|
||||
label: Force
|
||||
xp: 0
|
||||
derivee: false
|
||||
perception:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Perception
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Volonté
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Rêve
|
||||
xp: 0
|
||||
derivee: false
|
||||
@ -267,7 +267,7 @@ system:
|
||||
attributs:
|
||||
plusdom:
|
||||
type: number
|
||||
value: '-1'
|
||||
value: -1
|
||||
label: +dom
|
||||
derivee: true
|
||||
vitesse:
|
||||
@ -277,12 +277,12 @@ system:
|
||||
derivee: true
|
||||
encombrement:
|
||||
type: number
|
||||
value: '0'
|
||||
value: 0
|
||||
label: Encombrement
|
||||
derivee: false
|
||||
protection:
|
||||
type: number
|
||||
value: '0'
|
||||
value: 0
|
||||
label: Protection
|
||||
derivee: false
|
||||
compteurs:
|
||||
|
@ -154,37 +154,37 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '23'
|
||||
value: 23
|
||||
label: Taille
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '17'
|
||||
value: 17
|
||||
label: Constitution
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: '17'
|
||||
value: 17
|
||||
label: Force
|
||||
xp: 0
|
||||
derivee: false
|
||||
perception:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Perception
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Volonté
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Rêve
|
||||
xp: 0
|
||||
derivee: false
|
||||
@ -219,12 +219,12 @@ system:
|
||||
derivee: true
|
||||
encombrement:
|
||||
type: number
|
||||
value: '18'
|
||||
value: 18
|
||||
label: Encombrement
|
||||
derivee: false
|
||||
protection:
|
||||
type: number
|
||||
value: '1'
|
||||
value: 1
|
||||
label: Protection
|
||||
derivee: false
|
||||
compteurs:
|
||||
|
@ -39,37 +39,37 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '2'
|
||||
value: 2
|
||||
label: Taille
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '4'
|
||||
value: 4
|
||||
label: Constitution
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: '1'
|
||||
value: 1
|
||||
label: Force
|
||||
xp: 0
|
||||
derivee: false
|
||||
perception:
|
||||
type: number
|
||||
value: '15'
|
||||
value: 15
|
||||
label: Perception
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '17'
|
||||
value: 17
|
||||
label: Volonté
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '18'
|
||||
value: 18
|
||||
label: Rêve
|
||||
xp: 0
|
||||
derivee: false
|
||||
@ -104,12 +104,12 @@ system:
|
||||
derivee: true
|
||||
encombrement:
|
||||
type: number
|
||||
value: '0'
|
||||
value: 0
|
||||
label: Encombrement
|
||||
derivee: false
|
||||
protection:
|
||||
type: number
|
||||
value: '-8'
|
||||
value: -8
|
||||
label: Protection
|
||||
derivee: false
|
||||
compteurs:
|
||||
|
@ -212,39 +212,39 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '13'
|
||||
value: 13
|
||||
label: Taille
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '14'
|
||||
value: 14
|
||||
label: Constitution
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: '15'
|
||||
value: 15
|
||||
label: Force
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
perception:
|
||||
type: number
|
||||
value: '17'
|
||||
value: 17
|
||||
label: Perception
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '15'
|
||||
value: 15
|
||||
label: Volonté
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Rêve
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
sante:
|
||||
vie:
|
||||
@ -277,12 +277,12 @@ system:
|
||||
derivee: true
|
||||
encombrement:
|
||||
type: number
|
||||
value: '0'
|
||||
value: 0
|
||||
label: Encombrement
|
||||
derivee: false
|
||||
protection:
|
||||
type: number
|
||||
value: '2'
|
||||
value: 2
|
||||
label: Protection
|
||||
derivee: false
|
||||
compteurs:
|
||||
|
@ -183,37 +183,37 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '14'
|
||||
value: 14
|
||||
label: Taille
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '14'
|
||||
value: 14
|
||||
label: Constitution
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: '18'
|
||||
value: 18
|
||||
label: Force
|
||||
xp: 0
|
||||
derivee: false
|
||||
perception:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Perception
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Volonté
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Rêve
|
||||
xp: 0
|
||||
derivee: false
|
||||
@ -248,12 +248,12 @@ system:
|
||||
derivee: true
|
||||
encombrement:
|
||||
type: number
|
||||
value: '0'
|
||||
value: 0
|
||||
label: Encombrement
|
||||
derivee: false
|
||||
protection:
|
||||
type: number
|
||||
value: '5'
|
||||
value: 5
|
||||
label: Protection
|
||||
derivee: false
|
||||
compteurs:
|
||||
|
@ -150,37 +150,37 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Taille
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Constitution
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Force
|
||||
xp: 0
|
||||
derivee: false
|
||||
perception:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Perception
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Volonté
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Rêve
|
||||
xp: 0
|
||||
derivee: false
|
||||
@ -205,22 +205,22 @@ system:
|
||||
attributs:
|
||||
plusdom:
|
||||
type: number
|
||||
value: '0'
|
||||
value: 0
|
||||
label: +dom
|
||||
derivee: true
|
||||
vitesse:
|
||||
type: string
|
||||
value: '0'
|
||||
value: 0
|
||||
label: Vitesse
|
||||
derivee: true
|
||||
encombrement:
|
||||
type: number
|
||||
value: '0'
|
||||
value: 0
|
||||
label: Encombrement
|
||||
derivee: false
|
||||
protection:
|
||||
type: number
|
||||
value: '0'
|
||||
value: 0
|
||||
label: Protection
|
||||
derivee: false
|
||||
compteurs:
|
||||
|
@ -183,37 +183,37 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '7'
|
||||
value: 7
|
||||
label: Taille
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '13'
|
||||
value: 13
|
||||
label: Constitution
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Force
|
||||
xp: 0
|
||||
derivee: false
|
||||
perception:
|
||||
type: number
|
||||
value: '17'
|
||||
value: 17
|
||||
label: Perception
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '14'
|
||||
value: 14
|
||||
label: Volonté
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '13'
|
||||
value: 13
|
||||
label: Rêve
|
||||
xp: 0
|
||||
derivee: false
|
||||
@ -248,12 +248,12 @@ system:
|
||||
derivee: true
|
||||
encombrement:
|
||||
type: number
|
||||
value: '0'
|
||||
value: 0
|
||||
label: Encombrement
|
||||
derivee: false
|
||||
protection:
|
||||
type: number
|
||||
value: '0'
|
||||
value: 0
|
||||
label: Protection
|
||||
derivee: false
|
||||
compteurs:
|
||||
|
@ -126,37 +126,37 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '2'
|
||||
value: 2
|
||||
label: Taille
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '5'
|
||||
value: 5
|
||||
label: Constitution
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: '3'
|
||||
value: 3
|
||||
label: Force
|
||||
xp: 0
|
||||
derivee: false
|
||||
perception:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Perception
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '2'
|
||||
value: 2
|
||||
label: Volonté
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '2'
|
||||
value: 2
|
||||
label: Rêve
|
||||
xp: 0
|
||||
derivee: false
|
||||
@ -181,7 +181,7 @@ system:
|
||||
attributs:
|
||||
plusdom:
|
||||
type: number
|
||||
value: '-4'
|
||||
value: -4
|
||||
label: +dom
|
||||
derivee: true
|
||||
vitesse:
|
||||
@ -191,12 +191,12 @@ system:
|
||||
derivee: true
|
||||
encombrement:
|
||||
type: number
|
||||
value: '0'
|
||||
value: 0
|
||||
label: Encombrement
|
||||
derivee: false
|
||||
protection:
|
||||
type: number
|
||||
value: '-8'
|
||||
value: -8
|
||||
label: Protection
|
||||
derivee: false
|
||||
compteurs:
|
||||
@ -219,50 +219,8 @@ system:
|
||||
attaque dès qu’il est surpris ou se croit en danger.</p>
|
||||
|
||||
<h1>Venin</h1>
|
||||
|
||||
<p>Sensation aiguë de déséquilibre. Jouer VOLONTÉ
|
||||
à -3. En cas d’échec, on chute sans parvenir à se
|
||||
relever.</p>
|
||||
|
||||
<table style="width: 59.506%;" border="1">
|
||||
|
||||
<tbody>
|
||||
|
||||
<tr>
|
||||
|
||||
<td style="width: 21.6667%;">Malignité</td>
|
||||
|
||||
<td style="width: 77.5%;">3</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
|
||||
<td style="width: 21.6667%;">Périodicité</td>
|
||||
|
||||
<td style="width: 77.5%;">1 minute</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
|
||||
<td style="width: 21.6667%;">Dommages</td>
|
||||
|
||||
<td style="width: 77.5%;">-1 point de vie</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
|
||||
<td style="width: 21.6667%;">Antidotes</td>
|
||||
|
||||
<td style="width: 77.5%;">-3 \ Liqueur de Bagdol +16, Topazoïne +8</td>
|
||||
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
<p>@UUID[Compendium.foundryvtt-reve-de-dragon.maladies-et-poisons.Item.iwlN0bNJ5XNNfjgj]{Venin
|
||||
de scologriffe}</p> <p></p>
|
||||
race: ''
|
||||
notesmj: ''
|
||||
ownership:
|
||||
|
@ -96,37 +96,37 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Taille
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Constitution
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Force
|
||||
xp: 0
|
||||
derivee: false
|
||||
perception:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Perception
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Volonté
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Rêve
|
||||
xp: 0
|
||||
derivee: false
|
||||
@ -161,12 +161,12 @@ system:
|
||||
derivee: true
|
||||
encombrement:
|
||||
type: number
|
||||
value: '0'
|
||||
value: 0
|
||||
label: Encombrement
|
||||
derivee: false
|
||||
protection:
|
||||
type: number
|
||||
value: '2'
|
||||
value: 2
|
||||
label: Protection
|
||||
derivee: false
|
||||
compteurs:
|
||||
@ -201,7 +201,7 @@ system:
|
||||
|
||||
<p>La sirène a un chant attractif pouvant porter jusqu’à
|
||||
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
|
||||
échec, il est irrésistiblement attiré vers la source du
|
||||
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
|
||||
des illusions d’hommes. Contrairement aux illusions des Yeux
|
||||
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
|
||||
sous leur véritable apparence; s’il échoue, toutes sont
|
||||
perçues sous leur apparence illusoire.</p>
|
||||
|
@ -181,37 +181,37 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '23'
|
||||
value: 23
|
||||
label: Taille
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '20'
|
||||
value: 20
|
||||
label: Constitution
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: '21'
|
||||
value: 21
|
||||
label: Force
|
||||
xp: 0
|
||||
derivee: false
|
||||
perception:
|
||||
type: number
|
||||
value: '15'
|
||||
value: 15
|
||||
label: Perception
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '15'
|
||||
value: 15
|
||||
label: Volonté
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Rêve
|
||||
xp: 0
|
||||
derivee: false
|
||||
@ -246,12 +246,12 @@ system:
|
||||
derivee: true
|
||||
encombrement:
|
||||
type: number
|
||||
value: '0'
|
||||
value: 0
|
||||
label: Encombrement
|
||||
derivee: false
|
||||
protection:
|
||||
type: number
|
||||
value: '4'
|
||||
value: 4
|
||||
label: Protection
|
||||
derivee: false
|
||||
compteurs:
|
||||
|
@ -126,39 +126,39 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '28'
|
||||
value: 28
|
||||
label: Taille
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '23'
|
||||
value: 23
|
||||
label: Constitution
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: '23'
|
||||
value: 23
|
||||
label: Force
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
perception:
|
||||
type: number
|
||||
value: '14'
|
||||
value: 14
|
||||
label: Perception
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Volonté
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Rêve
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
sante:
|
||||
vie:
|
||||
@ -191,12 +191,12 @@ system:
|
||||
derivee: true
|
||||
encombrement:
|
||||
type: number
|
||||
value: '0'
|
||||
value: 0
|
||||
label: Encombrement
|
||||
derivee: false
|
||||
protection:
|
||||
type: number
|
||||
value: '8'
|
||||
value: 8
|
||||
label: Protection
|
||||
derivee: false
|
||||
compteurs:
|
||||
@ -228,8 +228,8 @@ system:
|
||||
désolations et autres lieux où Thanatos a laissé son
|
||||
empreinte. Ils possèdent le même pouvoir de non
|
||||
agressivité s’appliquant aux humanoïdes que la harpie. La
|
||||
victime doit jouer un jet de résistance standard, r-8, et en cas
|
||||
d’échec, réussir un jet de VOLONTÉ à -3
|
||||
victime doit jouer un jet de résistance standard, @roll[reve-actuel/-8], et en cas
|
||||
d’échec, réussir un jet de @roll[Volonté/-3]
|
||||
pour pouvoir attaquer le tournedent. Le JR n’est à jouer
|
||||
qu’une seule fois, et en cas d’échec, le jet de
|
||||
VOLONTÉ est à jouer tous les rounds. La non agressivité
|
||||
|
@ -126,37 +126,37 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '1'
|
||||
value: 1
|
||||
label: Taille
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '4'
|
||||
value: 4
|
||||
label: Constitution
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: '2'
|
||||
value: 2
|
||||
label: Force
|
||||
xp: 0
|
||||
derivee: false
|
||||
perception:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Perception
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '2'
|
||||
value: 2
|
||||
label: Volonté
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '3'
|
||||
value: 3
|
||||
label: Rêve
|
||||
xp: 0
|
||||
derivee: false
|
||||
@ -181,7 +181,7 @@ system:
|
||||
attributs:
|
||||
plusdom:
|
||||
type: number
|
||||
value: '-5'
|
||||
value: -5
|
||||
label: +dom
|
||||
derivee: true
|
||||
vitesse:
|
||||
@ -191,12 +191,12 @@ system:
|
||||
derivee: true
|
||||
encombrement:
|
||||
type: number
|
||||
value: '0'
|
||||
value: 0
|
||||
label: Encombrement
|
||||
derivee: false
|
||||
protection:
|
||||
type: number
|
||||
value: '-8'
|
||||
value: -8
|
||||
label: Protection
|
||||
derivee: false
|
||||
compteurs:
|
||||
@ -215,47 +215,8 @@ system:
|
||||
est mortel.</p>
|
||||
|
||||
<h1>Venin</h1>
|
||||
|
||||
<table style="width: 61.5572%;" border="1">
|
||||
|
||||
<tbody>
|
||||
|
||||
<tr>
|
||||
|
||||
<td style="width: 21.1221%;">Malignité</td>
|
||||
|
||||
<td style="width: 78.0528%;">2</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
|
||||
<td style="width: 21.1221%;">Périodicité</td>
|
||||
|
||||
<td style="width: 78.0528%;">6 rounds</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
|
||||
<td style="width: 21.1221%;">Dommages</td>
|
||||
|
||||
<td style="width: 78.0528%;">-1 point de vie</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
|
||||
<td style="width: 21.1221%;">Antidotes</td>
|
||||
|
||||
<td style="width: 78.0528%;">-3 \ Liqueur de Bagdol +14, Topazoïne
|
||||
+10</td>
|
||||
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
<p>@UUID[Compendium.foundryvtt-reve-de-dragon.maladies-et-poisons.Item.lUeNPc0ECKqHglbG]{Venin
|
||||
de vipère jaune}</p> <p></p>
|
||||
race: ''
|
||||
notesmj: ''
|
||||
ownership:
|
||||
|
@ -67,37 +67,37 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Taille
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '14'
|
||||
value: 14
|
||||
label: Constitution
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: '16'
|
||||
value: 16
|
||||
label: Force
|
||||
xp: 0
|
||||
derivee: false
|
||||
perception:
|
||||
type: number
|
||||
value: '9'
|
||||
value: 9
|
||||
label: Perception
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '3'
|
||||
value: 3
|
||||
label: Volonté
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '3'
|
||||
value: 3
|
||||
label: Rêve
|
||||
xp: 0
|
||||
derivee: false
|
||||
@ -132,12 +132,12 @@ system:
|
||||
derivee: true
|
||||
encombrement:
|
||||
type: number
|
||||
value: '0'
|
||||
value: 0
|
||||
label: Encombrement
|
||||
derivee: false
|
||||
protection:
|
||||
type: number
|
||||
value: '4'
|
||||
value: 4
|
||||
label: Protection
|
||||
derivee: false
|
||||
compteurs:
|
||||
|
@ -97,37 +97,37 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Taille
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '14'
|
||||
value: 14
|
||||
label: Constitution
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: '14'
|
||||
value: 14
|
||||
label: Force
|
||||
xp: 0
|
||||
derivee: false
|
||||
perception:
|
||||
type: number
|
||||
value: '14'
|
||||
value: 14
|
||||
label: Perception
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '5'
|
||||
value: 5
|
||||
label: Volonté
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '4'
|
||||
value: 4
|
||||
label: Rêve
|
||||
xp: 0
|
||||
derivee: false
|
||||
@ -162,12 +162,12 @@ system:
|
||||
derivee: true
|
||||
encombrement:
|
||||
type: number
|
||||
value: '0'
|
||||
value: 0
|
||||
label: Encombrement
|
||||
derivee: false
|
||||
protection:
|
||||
type: number
|
||||
value: '2'
|
||||
value: 2
|
||||
label: Protection
|
||||
derivee: false
|
||||
compteurs:
|
||||
|
@ -126,37 +126,37 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Taille
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Constitution
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Force
|
||||
xp: 0
|
||||
derivee: false
|
||||
perception:
|
||||
type: number
|
||||
value: '9'
|
||||
value: 9
|
||||
label: Perception
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '4'
|
||||
value: 4
|
||||
label: Volonté
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '7'
|
||||
value: 7
|
||||
label: Rêve
|
||||
xp: 0
|
||||
derivee: false
|
||||
@ -191,12 +191,12 @@ system:
|
||||
derivee: true
|
||||
encombrement:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Encombrement
|
||||
derivee: false
|
||||
protection:
|
||||
type: number
|
||||
value: '0'
|
||||
value: 0
|
||||
label: Protection
|
||||
derivee: false
|
||||
compteurs:
|
||||
|
@ -325,7 +325,6 @@ items:
|
||||
- P0EyouOgbIkRzesW
|
||||
- Fo6MwXo6WIVLDhSF
|
||||
- oG7ESdX8cF9GLupp
|
||||
- sVKzSOhgTEPpsMlN
|
||||
- gWLOG3hPMLUzFfDv
|
||||
- w9LhxHcw4qfTwjxI
|
||||
- 2n7Y2i47F1bAg1Xx
|
||||
@ -351,8 +350,13 @@ items:
|
||||
flags: {}
|
||||
_stats:
|
||||
systemId: foundryvtt-reve-de-dragon
|
||||
systemVersion: 12.0.22
|
||||
systemVersion: 12.0.32
|
||||
coreVersion: '12.331'
|
||||
createdTime: null
|
||||
modifiedTime: 1735482057018
|
||||
lastModifiedBy: Hp9ImM4o9YRTSdfu
|
||||
compendiumSource: null
|
||||
duplicateSource: null
|
||||
_key: '!actors.items!1Nng9d8r6lrPHCaJ.yu3BRD1YETFSk6S1'
|
||||
- name: Soins
|
||||
type: conteneur
|
||||
@ -711,7 +715,6 @@ items:
|
||||
milieu: ''
|
||||
environnement: []
|
||||
contenu:
|
||||
- JZtrqkh6440oUCDH
|
||||
- TGdXWucOTPkXX2qx
|
||||
- m7I6Sj4DIBpCknD7
|
||||
- 6CnfYRcuStwkA3Cr
|
||||
@ -744,8 +747,13 @@ items:
|
||||
flags: {}
|
||||
_stats:
|
||||
systemId: foundryvtt-reve-de-dragon
|
||||
systemVersion: 12.0.22
|
||||
systemVersion: 12.0.32
|
||||
coreVersion: '12.331'
|
||||
createdTime: null
|
||||
modifiedTime: 1735482057018
|
||||
lastModifiedBy: Hp9ImM4o9YRTSdfu
|
||||
compendiumSource: null
|
||||
duplicateSource: null
|
||||
_key: '!actors.items!1Nng9d8r6lrPHCaJ.1g6qcGkqspVJ2Rwm'
|
||||
- name: Armes de tir
|
||||
type: conteneur
|
||||
@ -1428,7 +1436,7 @@ items:
|
||||
- milieu: Villes
|
||||
rarete: Frequente
|
||||
frequence: 18
|
||||
protection: '4'
|
||||
protection: 4
|
||||
deterioration: 0
|
||||
malus: -2
|
||||
ownership:
|
||||
@ -1466,7 +1474,7 @@ items:
|
||||
- milieu: Villes
|
||||
rarete: Frequente
|
||||
frequence: 18
|
||||
protection: '3'
|
||||
protection: 3
|
||||
deterioration: 0
|
||||
malus: -1
|
||||
ownership:
|
||||
@ -1575,7 +1583,7 @@ items:
|
||||
- milieu: Villes
|
||||
rarete: Commune
|
||||
frequence: 54
|
||||
protection: '1'
|
||||
protection: 1
|
||||
deterioration: 0
|
||||
malus: 0
|
||||
ownership:
|
||||
@ -1643,7 +1651,7 @@ items:
|
||||
- milieu: Villes
|
||||
rarete: Rare
|
||||
frequence: 6
|
||||
protection: '5'
|
||||
protection: 5
|
||||
deterioration: null
|
||||
malus: -4
|
||||
ownership:
|
||||
@ -1775,7 +1783,7 @@ items:
|
||||
- milieu: Villes
|
||||
rarete: Rare
|
||||
frequence: 6
|
||||
protection: '6'
|
||||
protection: 6
|
||||
deterioration: 0
|
||||
malus: -6
|
||||
ownership:
|
||||
@ -2060,10 +2068,10 @@ items:
|
||||
frequence: 18
|
||||
resistance: 1
|
||||
categorie_parade: ''
|
||||
dommages: '3'
|
||||
dommages: 3
|
||||
mortalite: mortel
|
||||
penetration: 2
|
||||
force: '0'
|
||||
force: 0
|
||||
competence: ''
|
||||
lancer: ''
|
||||
tir: Arbalète
|
||||
@ -2114,10 +2122,10 @@ items:
|
||||
frequence: 18
|
||||
resistance: 1
|
||||
categorie_parade: ''
|
||||
dommages: '2'
|
||||
dommages: 2
|
||||
mortalite: mortel
|
||||
penetration: 2
|
||||
force: '0'
|
||||
force: 0
|
||||
competence: ''
|
||||
lancer: ''
|
||||
tir: Arc
|
||||
@ -2226,10 +2234,10 @@ items:
|
||||
frequence: 18
|
||||
resistance: 8
|
||||
categorie_parade: ''
|
||||
dommages: '1'
|
||||
dommages: 1
|
||||
mortalite: mortel
|
||||
penetration: 0
|
||||
force: '9'
|
||||
force: 9
|
||||
competence: Masse à 2 mains
|
||||
lancer: ''
|
||||
tir: ''
|
||||
@ -2422,7 +2430,7 @@ items:
|
||||
frequence: 18
|
||||
resistance: 13
|
||||
categorie_parade: boucliers
|
||||
dommages: '0'
|
||||
dommages: 0
|
||||
mortalite: mortel
|
||||
penetration: 0
|
||||
force: '8'
|
||||
@ -2471,10 +2479,10 @@ items:
|
||||
frequence: 18
|
||||
resistance: 20
|
||||
categorie_parade: boucliers
|
||||
dommages: '0'
|
||||
dommages: 0
|
||||
mortalite: mortel
|
||||
penetration: 0
|
||||
force: '13'
|
||||
force: 13
|
||||
competence: Bouclier
|
||||
lancer: ''
|
||||
tir: ''
|
||||
@ -2520,10 +2528,10 @@ items:
|
||||
frequence: 18
|
||||
resistance: 15
|
||||
categorie_parade: boucliers
|
||||
dommages: '0'
|
||||
dommages: 0
|
||||
mortalite: mortel
|
||||
penetration: 0
|
||||
force: '11'
|
||||
force: 11
|
||||
competence: Bouclier
|
||||
lancer: ''
|
||||
tir: ''
|
||||
@ -3342,10 +3350,10 @@ items:
|
||||
frequence: 18
|
||||
resistance: 6
|
||||
categorie_parade: dagues
|
||||
dommages: '1'
|
||||
dommages: 1
|
||||
mortalite: mortel
|
||||
penetration: 0
|
||||
force: '0'
|
||||
force: 0
|
||||
competence: Dague
|
||||
lancer: Dague de jet
|
||||
tir: ''
|
||||
@ -3582,10 +3590,10 @@ items:
|
||||
frequence: 18
|
||||
resistance: 1
|
||||
categorie_parade: ''
|
||||
dommages: '1'
|
||||
dommages: 1
|
||||
mortalite: mortel
|
||||
penetration: 0
|
||||
force: '0'
|
||||
force: 0
|
||||
competence: Dague
|
||||
lancer: Dague de jet
|
||||
tir: ''
|
||||
@ -3666,10 +3674,10 @@ items:
|
||||
frequence: 6
|
||||
resistance: 13
|
||||
categorie_parade: epees-lourdes
|
||||
dommages: '5'
|
||||
dommages: 5
|
||||
mortalite: mortel
|
||||
penetration: 0
|
||||
force: '13'
|
||||
force: 13
|
||||
competence: Épée à 2 mains
|
||||
lancer: ''
|
||||
tir: ''
|
||||
@ -4048,10 +4056,10 @@ items:
|
||||
frequence: 6
|
||||
resistance: 12
|
||||
categorie_parade: epees-lourdes
|
||||
dommages: '3'
|
||||
dommages: 3
|
||||
mortalite: mortel
|
||||
penetration: 0
|
||||
force: '11'
|
||||
force: 11
|
||||
competence: Épée à 1 main
|
||||
lancer: ''
|
||||
tir: ''
|
||||
@ -4095,10 +4103,10 @@ items:
|
||||
frequence: 18
|
||||
resistance: 10
|
||||
categorie_parade: epees-longues
|
||||
dommages: '2'
|
||||
dommages: 2
|
||||
mortalite: mortel
|
||||
penetration: 0
|
||||
force: '10'
|
||||
force: 10
|
||||
competence: Épée à 1 main
|
||||
lancer: ''
|
||||
tir: ''
|
||||
@ -4148,10 +4156,10 @@ items:
|
||||
frequence: 18
|
||||
resistance: 12
|
||||
categorie_parade: epees-longues
|
||||
dommages: '3'
|
||||
dommages: 3
|
||||
mortalite: mortel
|
||||
penetration: 0
|
||||
force: '11'
|
||||
force: 11
|
||||
competence: Épée à 1 main
|
||||
lancer: ''
|
||||
tir: ''
|
||||
@ -4200,7 +4208,7 @@ items:
|
||||
frequence: 18
|
||||
resistance: 12
|
||||
categorie_parade: epees-courtes
|
||||
dommages: '2'
|
||||
dommages: 2
|
||||
mortalite: mortel
|
||||
penetration: 0
|
||||
force: '8'
|
||||
@ -4349,10 +4357,10 @@ items:
|
||||
frequence: 18
|
||||
resistance: 9
|
||||
categorie_parade: epees-longues
|
||||
dommages: '2'
|
||||
dommages: 2
|
||||
mortalite: mortel
|
||||
penetration: 0
|
||||
force: '10'
|
||||
force: 10
|
||||
competence: Épée à 1 main
|
||||
lancer: ''
|
||||
tir: ''
|
||||
@ -4589,10 +4597,10 @@ items:
|
||||
frequence: 6
|
||||
resistance: 10
|
||||
categorie_parade: ''
|
||||
dommages: '3'
|
||||
dommages: 3
|
||||
mortalite: mortel
|
||||
penetration: 0
|
||||
force: '12'
|
||||
force: 12
|
||||
competence: Fléau
|
||||
lancer: ''
|
||||
tir: ''
|
||||
@ -4638,10 +4646,10 @@ items:
|
||||
frequence: 6
|
||||
resistance: 10
|
||||
categorie_parade: ''
|
||||
dommages: '4'
|
||||
dommages: 4
|
||||
mortalite: mortel
|
||||
penetration: 0
|
||||
force: '13'
|
||||
force: 13
|
||||
competence: Fléau
|
||||
lancer: ''
|
||||
tir: ''
|
||||
@ -4755,10 +4763,10 @@ items:
|
||||
frequence: 6
|
||||
resistance: 1
|
||||
categorie_parade: ''
|
||||
dommages: '1'
|
||||
dommages: 1
|
||||
mortalite: mortel
|
||||
penetration: -1
|
||||
force: '0'
|
||||
force: 0
|
||||
competence: ''
|
||||
lancer: Fouet
|
||||
tir: ''
|
||||
@ -4804,10 +4812,10 @@ items:
|
||||
frequence: 18
|
||||
resistance: 1
|
||||
categorie_parade: ''
|
||||
dommages: '1'
|
||||
dommages: 1
|
||||
mortalite: mortel
|
||||
penetration: 0
|
||||
force: '0'
|
||||
force: 0
|
||||
competence: ''
|
||||
lancer: ''
|
||||
tir: Fronde
|
||||
@ -4952,10 +4960,10 @@ items:
|
||||
frequence: 18
|
||||
resistance: 8
|
||||
categorie_parade: ''
|
||||
dommages: '1'
|
||||
dommages: 1
|
||||
mortalite: mortel
|
||||
penetration: 0
|
||||
force: '7'
|
||||
force: 7
|
||||
competence: Masse à 1 main
|
||||
lancer: ''
|
||||
tir: ''
|
||||
@ -5032,10 +5040,10 @@ items:
|
||||
frequence: 6
|
||||
resistance: 8
|
||||
categorie_parade: haches
|
||||
dommages: '4'
|
||||
dommages: 4
|
||||
mortalite: mortel
|
||||
penetration: 0
|
||||
force: '13'
|
||||
force: 13
|
||||
competence: Hache à 2 mains
|
||||
lancer: ''
|
||||
tir: ''
|
||||
@ -5192,7 +5200,7 @@ items:
|
||||
frequence: 18
|
||||
resistance: 6
|
||||
categorie_parade: haches
|
||||
dommages: '2'
|
||||
dommages: 2
|
||||
mortalite: mortel
|
||||
penetration: 0
|
||||
force: '8'
|
||||
@ -5419,10 +5427,10 @@ items:
|
||||
frequence: 6
|
||||
resistance: 5
|
||||
categorie_parade: lances
|
||||
dommages: '1'
|
||||
dommages: 1
|
||||
mortalite: mortel
|
||||
penetration: 0
|
||||
force: '7'
|
||||
force: 7
|
||||
competence: Lance
|
||||
lancer: Javelot
|
||||
tir: ''
|
||||
@ -5473,10 +5481,10 @@ items:
|
||||
frequence: 6
|
||||
resistance: 1
|
||||
categorie_parade: lances
|
||||
dommages: '1'
|
||||
dommages: 1
|
||||
mortalite: mortel
|
||||
penetration: 0
|
||||
force: '0'
|
||||
force: 0
|
||||
competence: Lance
|
||||
lancer: Javelot
|
||||
tir: ''
|
||||
@ -5639,7 +5647,7 @@ items:
|
||||
frequence: 6
|
||||
resistance: 5
|
||||
categorie_parade: lances
|
||||
dommages: '2'
|
||||
dommages: 2
|
||||
mortalite: mortel
|
||||
penetration: 0
|
||||
force: '8'
|
||||
@ -5799,10 +5807,10 @@ items:
|
||||
frequence: 18
|
||||
resistance: 8
|
||||
categorie_parade: hast
|
||||
dommages: '4'
|
||||
dommages: 4
|
||||
mortalite: mortel
|
||||
penetration: 0
|
||||
force: '12'
|
||||
force: 12
|
||||
competence: Armes d'hast
|
||||
lancer: ''
|
||||
tir: ''
|
||||
@ -6127,10 +6135,10 @@ items:
|
||||
frequence: 18
|
||||
resistance: 7
|
||||
categorie_parade: ''
|
||||
dommages: '1'
|
||||
dommages: 1
|
||||
mortalite: mortel
|
||||
penetration: 0
|
||||
force: '7'
|
||||
force: 7
|
||||
competence: Masse à 1 main
|
||||
lancer: ''
|
||||
tir: ''
|
||||
@ -6208,10 +6216,10 @@ items:
|
||||
frequence: 18
|
||||
resistance: 8
|
||||
categorie_parade: ''
|
||||
dommages: '2'
|
||||
dommages: 2
|
||||
mortalite: mortel
|
||||
penetration: 0
|
||||
force: '7'
|
||||
force: 7
|
||||
competence: Masse à 1 main
|
||||
lancer: ''
|
||||
tir: ''
|
||||
@ -6306,10 +6314,10 @@ items:
|
||||
frequence: 18
|
||||
resistance: 8
|
||||
categorie_parade: ''
|
||||
dommages: '2'
|
||||
dommages: 2
|
||||
mortalite: mortel
|
||||
penetration: 0
|
||||
force: '9'
|
||||
force: 9
|
||||
competence: Masse à 1 main
|
||||
lancer: ''
|
||||
tir: ''
|
||||
@ -7058,10 +7066,10 @@ items:
|
||||
frequence: 18
|
||||
resistance: 1
|
||||
categorie_parade: dagues
|
||||
dommages: '1'
|
||||
dommages: 1
|
||||
mortalite: mortel
|
||||
penetration: 0
|
||||
force: '0'
|
||||
force: 0
|
||||
competence: Dague
|
||||
lancer: Dague de jet
|
||||
tir: ''
|
||||
@ -8625,7 +8633,8 @@ items:
|
||||
_key: '!actors.items!1Nng9d8r6lrPHCaJ.1j4LT4BFjJ8hrthx'
|
||||
- name: Tanemiel d'argent
|
||||
type: herbe
|
||||
img: systems/foundryvtt-reve-de-dragon/icons/botanique/Tanemiel%20argent%C3%A9.webp
|
||||
img: >-
|
||||
systems/foundryvtt-reve-de-dragon/icons/botanique/Tanemiel%20argent%C3%A9.webp
|
||||
effects: []
|
||||
_id: 8NVUaX1Nw59If89G
|
||||
system:
|
||||
@ -8665,7 +8674,8 @@ items:
|
||||
_key: '!actors.items!1Nng9d8r6lrPHCaJ.8NVUaX1Nw59If89G'
|
||||
- name: Tanemiel doré
|
||||
type: herbe
|
||||
img: systems/foundryvtt-reve-de-dragon/icons/botanique/Tanemiel%20dor%C3%A9.webp
|
||||
img: >-
|
||||
systems/foundryvtt-reve-de-dragon/icons/botanique/Tanemiel%20dor%C3%A9.webp
|
||||
effects: []
|
||||
_id: IqcOrY1eQgmT32R1
|
||||
system:
|
||||
@ -9135,6 +9145,7 @@ prototypeToken:
|
||||
subject:
|
||||
scale: 1
|
||||
texture: null
|
||||
flags: {}
|
||||
effects: []
|
||||
ownership:
|
||||
default: 0
|
||||
@ -9145,5 +9156,11 @@ _stats:
|
||||
systemId: foundryvtt-reve-de-dragon
|
||||
systemVersion: 12.0.22
|
||||
coreVersion: '12.331'
|
||||
createdTime: null
|
||||
modifiedTime: null
|
||||
lastModifiedBy: null
|
||||
compendiumSource: null
|
||||
duplicateSource: null
|
||||
flags: {}
|
||||
_key: '!actors!1Nng9d8r6lrPHCaJ'
|
||||
|
||||
|
@ -1890,7 +1890,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!ryUZTa17LzNv25UY.VyAJK54OPjiRt8oH'
|
||||
- _id: bt2cR4aE6lIOeg4F
|
||||
name: Voie d'Hypnos
|
||||
name: Hypnos
|
||||
type: competence
|
||||
sort: 6300000
|
||||
flags: {}
|
||||
@ -1918,7 +1918,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!ryUZTa17LzNv25UY.bt2cR4aE6lIOeg4F'
|
||||
- _id: nnR2UHelUaF8dxYn
|
||||
name: Voie d'Oniros
|
||||
name: Oniros
|
||||
type: competence
|
||||
sort: 6400000
|
||||
flags: {}
|
||||
@ -1946,7 +1946,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!ryUZTa17LzNv25UY.nnR2UHelUaF8dxYn'
|
||||
- _id: u1Peok1EYkBcVsmN
|
||||
name: Voie de Narcos
|
||||
name: Narcos
|
||||
type: competence
|
||||
sort: 6500000
|
||||
flags: {}
|
||||
@ -1972,7 +1972,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!ryUZTa17LzNv25UY.u1Peok1EYkBcVsmN'
|
||||
- _id: dPlTQzvU3CEg5qKc
|
||||
name: Voie de Thanatos
|
||||
name: Thanatos
|
||||
type: competence
|
||||
sort: 6600000
|
||||
flags: {}
|
||||
@ -2075,10 +2075,10 @@ items:
|
||||
environnement: []
|
||||
resistance: 8
|
||||
categorie_parade: ''
|
||||
dommages: '1'
|
||||
dommages: 1
|
||||
mortalite: mortel
|
||||
penetration: 0
|
||||
force: '7'
|
||||
force: 7
|
||||
competence: Dague
|
||||
lancer: Dague de jet
|
||||
tir: ''
|
||||
@ -2822,87 +2822,87 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Taille
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
apparence:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Apparence
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '13'
|
||||
value: 13
|
||||
label: Constitution
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: 13
|
||||
label: Force
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
agilite:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Agilité
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
dexterite:
|
||||
type: number
|
||||
value: '14'
|
||||
value: 14
|
||||
label: Dexterité
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
vue:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Vue
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
ouie:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Ouïe
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
odoratgout:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Odorat-Goût
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Volonté
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
intellect:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Intellect
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
empathie:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Empathie
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '9'
|
||||
value: 9
|
||||
label: Rêve
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
chance:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Chance
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
melee:
|
||||
type: number
|
||||
@ -2989,7 +2989,7 @@ system:
|
||||
derivee: true
|
||||
reve:
|
||||
reve:
|
||||
max: '9'
|
||||
max: 9
|
||||
value: 9
|
||||
label: Points de Rêve actuels
|
||||
thanatosused: false
|
||||
@ -3027,7 +3027,7 @@ system:
|
||||
isInput: true
|
||||
chance:
|
||||
value: 11
|
||||
max: '11'
|
||||
max: 11
|
||||
label: Chance
|
||||
isInput: true
|
||||
destinee:
|
||||
@ -3079,7 +3079,7 @@ system:
|
||||
heure: vaisseau
|
||||
sexe: ''
|
||||
age: '30'
|
||||
beaute: '10'
|
||||
beaute: 10
|
||||
main: droitier
|
||||
experiencelog: []
|
||||
subacteurs:
|
||||
|
@ -1890,7 +1890,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!ohmz9Jn4jxD88Kll.VyAJK54OPjiRt8oH'
|
||||
- _id: bt2cR4aE6lIOeg4F
|
||||
name: Voie d'Hypnos
|
||||
name: Hypnos
|
||||
type: competence
|
||||
sort: 6300000
|
||||
flags: {}
|
||||
@ -1918,7 +1918,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!ohmz9Jn4jxD88Kll.bt2cR4aE6lIOeg4F'
|
||||
- _id: nnR2UHelUaF8dxYn
|
||||
name: Voie d'Oniros
|
||||
name: Oniros
|
||||
type: competence
|
||||
sort: 6400000
|
||||
flags: {}
|
||||
@ -1946,7 +1946,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!ohmz9Jn4jxD88Kll.nnR2UHelUaF8dxYn'
|
||||
- _id: u1Peok1EYkBcVsmN
|
||||
name: Voie de Narcos
|
||||
name: Narcos
|
||||
type: competence
|
||||
sort: 6500000
|
||||
flags: {}
|
||||
@ -1972,7 +1972,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!ohmz9Jn4jxD88Kll.u1Peok1EYkBcVsmN'
|
||||
- _id: dPlTQzvU3CEg5qKc
|
||||
name: Voie de Thanatos
|
||||
name: Thanatos
|
||||
type: competence
|
||||
sort: 6600000
|
||||
flags: {}
|
||||
@ -2136,7 +2136,7 @@ items:
|
||||
environnement: []
|
||||
resistance: 5
|
||||
categorie_parade: ''
|
||||
dommages: '2'
|
||||
dommages: 2
|
||||
mortalite: mortel
|
||||
penetration: 0
|
||||
force: '8'
|
||||
@ -2179,10 +2179,10 @@ items:
|
||||
environnement: []
|
||||
resistance: 15
|
||||
categorie_parade: ''
|
||||
dommages: '0'
|
||||
dommages: 0
|
||||
mortalite: mortel
|
||||
penetration: 0
|
||||
force: '11'
|
||||
force: 11
|
||||
competence: Bouclier
|
||||
lancer: ''
|
||||
tir: ''
|
||||
@ -2426,87 +2426,87 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Taille
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
apparence:
|
||||
type: number
|
||||
value: '9'
|
||||
value: 9
|
||||
label: Apparence
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Constitution
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: 14
|
||||
label: Force
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
agilite:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Agilité
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
dexterite:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Dexterité
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
vue:
|
||||
type: number
|
||||
value: '13'
|
||||
value: 13
|
||||
label: Vue
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
ouie:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Ouïe
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
odoratgout:
|
||||
type: number
|
||||
value: '8'
|
||||
value: 8
|
||||
label: Odorat-Goût
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Volonté
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
intellect:
|
||||
type: number
|
||||
value: '9'
|
||||
value: 9
|
||||
label: Intellect
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
empathie:
|
||||
type: number
|
||||
value: '8'
|
||||
value: 8
|
||||
label: Empathie
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Rêve
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
chance:
|
||||
type: number
|
||||
value: '13'
|
||||
value: 13
|
||||
label: Chance
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
melee:
|
||||
type: number
|
||||
@ -2593,7 +2593,7 @@ system:
|
||||
derivee: true
|
||||
reve:
|
||||
reve:
|
||||
max: '11'
|
||||
max: 11
|
||||
value: 11
|
||||
label: Points de Rêve actuels
|
||||
thanatosused: false
|
||||
@ -2631,7 +2631,7 @@ system:
|
||||
isInput: true
|
||||
chance:
|
||||
value: 13
|
||||
max: '13'
|
||||
max: 13
|
||||
label: Chance
|
||||
isInput: true
|
||||
destinee:
|
||||
@ -2683,7 +2683,7 @@ system:
|
||||
heure: vaisseau
|
||||
sexe: ''
|
||||
age: '30'
|
||||
beaute: '10'
|
||||
beaute: 10
|
||||
main: droitier
|
||||
experiencelog: []
|
||||
subacteurs:
|
||||
|
@ -1890,7 +1890,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!JARnWt2MQWDyRwQt.VyAJK54OPjiRt8oH'
|
||||
- _id: bt2cR4aE6lIOeg4F
|
||||
name: Voie d'Hypnos
|
||||
name: Hypnos
|
||||
type: competence
|
||||
sort: 6300000
|
||||
flags: {}
|
||||
@ -1918,7 +1918,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!JARnWt2MQWDyRwQt.bt2cR4aE6lIOeg4F'
|
||||
- _id: nnR2UHelUaF8dxYn
|
||||
name: Voie d'Oniros
|
||||
name: Oniros
|
||||
type: competence
|
||||
sort: 6400000
|
||||
flags: {}
|
||||
@ -1946,7 +1946,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!JARnWt2MQWDyRwQt.nnR2UHelUaF8dxYn'
|
||||
- _id: u1Peok1EYkBcVsmN
|
||||
name: Voie de Narcos
|
||||
name: Narcos
|
||||
type: competence
|
||||
sort: 6500000
|
||||
flags: {}
|
||||
@ -1972,7 +1972,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!JARnWt2MQWDyRwQt.u1Peok1EYkBcVsmN'
|
||||
- _id: dPlTQzvU3CEg5qKc
|
||||
name: Voie de Thanatos
|
||||
name: Thanatos
|
||||
type: competence
|
||||
sort: 6600000
|
||||
flags: {}
|
||||
@ -2101,10 +2101,10 @@ items:
|
||||
environnement: []
|
||||
resistance: 15
|
||||
categorie_parade: ''
|
||||
dommages: '0'
|
||||
dommages: 0
|
||||
mortalite: mortel
|
||||
penetration: 0
|
||||
force: '11'
|
||||
force: 11
|
||||
competence: Bouclier
|
||||
lancer: ''
|
||||
tir: ''
|
||||
@ -2573,87 +2573,87 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Taille
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
apparence:
|
||||
type: number
|
||||
value: '9'
|
||||
value: 9
|
||||
label: Apparence
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Constitution
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: 14
|
||||
label: Force
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
agilite:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Agilité
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
dexterite:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Dexterité
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
vue:
|
||||
type: number
|
||||
value: '13'
|
||||
value: 13
|
||||
label: Vue
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
ouie:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Ouïe
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
odoratgout:
|
||||
type: number
|
||||
value: '8'
|
||||
value: 8
|
||||
label: Odorat-Goût
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Volonté
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
intellect:
|
||||
type: number
|
||||
value: '9'
|
||||
value: 9
|
||||
label: Intellect
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
empathie:
|
||||
type: number
|
||||
value: '8'
|
||||
value: 8
|
||||
label: Empathie
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Rêve
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
chance:
|
||||
type: number
|
||||
value: '13'
|
||||
value: 13
|
||||
label: Chance
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
melee:
|
||||
type: number
|
||||
@ -2740,7 +2740,7 @@ system:
|
||||
derivee: true
|
||||
reve:
|
||||
reve:
|
||||
max: '11'
|
||||
max: 11
|
||||
value: 11
|
||||
label: Points de Rêve actuels
|
||||
thanatosused: false
|
||||
@ -2778,7 +2778,7 @@ system:
|
||||
isInput: true
|
||||
chance:
|
||||
value: 13
|
||||
max: '13'
|
||||
max: 13
|
||||
label: Chance
|
||||
isInput: true
|
||||
destinee:
|
||||
@ -2830,7 +2830,7 @@ system:
|
||||
heure: vaisseau
|
||||
sexe: ''
|
||||
age: '30'
|
||||
beaute: '10'
|
||||
beaute: 10
|
||||
main: droitier
|
||||
experiencelog: []
|
||||
subacteurs:
|
||||
|
@ -1828,7 +1828,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!SJb0c8FDcYdd41rB.VyAJK54OPjiRt8oH'
|
||||
- _id: bt2cR4aE6lIOeg4F
|
||||
name: Voie d'Hypnos
|
||||
name: Hypnos
|
||||
type: competence
|
||||
sort: 6300000
|
||||
img: systems/foundryvtt-reve-de-dragon/icons/competence_hypnos.webp
|
||||
@ -1855,7 +1855,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!SJb0c8FDcYdd41rB.bt2cR4aE6lIOeg4F'
|
||||
- _id: nnR2UHelUaF8dxYn
|
||||
name: Voie d'Oniros
|
||||
name: Oniros
|
||||
type: competence
|
||||
sort: 6400000
|
||||
img: systems/foundryvtt-reve-de-dragon/icons/competence_oniros.webp
|
||||
@ -1882,7 +1882,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!SJb0c8FDcYdd41rB.nnR2UHelUaF8dxYn'
|
||||
- _id: u1Peok1EYkBcVsmN
|
||||
name: Voie de Narcos
|
||||
name: Narcos
|
||||
type: competence
|
||||
sort: 6500000
|
||||
img: systems/foundryvtt-reve-de-dragon/icons/competence_narcos.webp
|
||||
@ -1907,7 +1907,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!SJb0c8FDcYdd41rB.u1Peok1EYkBcVsmN'
|
||||
- _id: dPlTQzvU3CEg5qKc
|
||||
name: Voie de Thanatos
|
||||
name: Thanatos
|
||||
type: competence
|
||||
sort: 6600000
|
||||
img: systems/foundryvtt-reve-de-dragon/icons/competence_thanatos.webp
|
||||
@ -2008,10 +2008,10 @@ items:
|
||||
environnement: []
|
||||
resistance: 8
|
||||
categorie_parade: ''
|
||||
dommages: '1'
|
||||
dommages: 1
|
||||
mortalite: mortel
|
||||
penetration: 0
|
||||
force: '7'
|
||||
force: 7
|
||||
competence: Dague
|
||||
lancer: Dague de jet
|
||||
tir: ''
|
||||
@ -2568,87 +2568,87 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '8'
|
||||
value: 8
|
||||
label: Taille
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
apparence:
|
||||
type: number
|
||||
value: '8'
|
||||
value: 8
|
||||
label: Apparence
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Constitution
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: 11
|
||||
label: Force
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
agilite:
|
||||
type: number
|
||||
value: '13'
|
||||
value: 13
|
||||
label: Agilité
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
dexterite:
|
||||
type: number
|
||||
value: '14'
|
||||
value: 14
|
||||
label: Dexterité
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
vue:
|
||||
type: number
|
||||
value: '14'
|
||||
value: 14
|
||||
label: Vue
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
ouie:
|
||||
type: number
|
||||
value: '13'
|
||||
value: 13
|
||||
label: Ouïe
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
odoratgout:
|
||||
type: number
|
||||
value: '13'
|
||||
value: 13
|
||||
label: Odorat-Goût
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Volonté
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
intellect:
|
||||
type: number
|
||||
value: '9'
|
||||
value: 9
|
||||
label: Intellect
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
empathie:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Empathie
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '9'
|
||||
value: 9
|
||||
label: Rêve
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
chance:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Chance
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
melee:
|
||||
type: number
|
||||
@ -2735,7 +2735,7 @@ system:
|
||||
derivee: true
|
||||
reve:
|
||||
reve:
|
||||
max: '9'
|
||||
max: 9
|
||||
value: 9
|
||||
label: Points de Rêve actuels
|
||||
thanatosused: false
|
||||
@ -2773,7 +2773,7 @@ system:
|
||||
isInput: true
|
||||
chance:
|
||||
value: 11
|
||||
max: '11'
|
||||
max: 11
|
||||
label: Chance
|
||||
isInput: true
|
||||
destinee:
|
||||
@ -2825,7 +2825,7 @@ system:
|
||||
heure: vaisseau
|
||||
sexe: ''
|
||||
age: '30'
|
||||
beaute: '10'
|
||||
beaute: 10
|
||||
main: droitier
|
||||
experiencelog: []
|
||||
subacteurs:
|
||||
|
@ -1890,7 +1890,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!JQCwAOK64Yijwtch.VyAJK54OPjiRt8oH'
|
||||
- _id: bt2cR4aE6lIOeg4F
|
||||
name: Voie d'Hypnos
|
||||
name: Hypnos
|
||||
type: competence
|
||||
sort: 6300000
|
||||
flags: {}
|
||||
@ -1918,7 +1918,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!JQCwAOK64Yijwtch.bt2cR4aE6lIOeg4F'
|
||||
- _id: nnR2UHelUaF8dxYn
|
||||
name: Voie d'Oniros
|
||||
name: Oniros
|
||||
type: competence
|
||||
sort: 6400000
|
||||
flags: {}
|
||||
@ -1946,7 +1946,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!JQCwAOK64Yijwtch.nnR2UHelUaF8dxYn'
|
||||
- _id: u1Peok1EYkBcVsmN
|
||||
name: Voie de Narcos
|
||||
name: Narcos
|
||||
type: competence
|
||||
sort: 6500000
|
||||
flags: {}
|
||||
@ -1972,7 +1972,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!JQCwAOK64Yijwtch.u1Peok1EYkBcVsmN'
|
||||
- _id: dPlTQzvU3CEg5qKc
|
||||
name: Voie de Thanatos
|
||||
name: Thanatos
|
||||
type: competence
|
||||
sort: 6600000
|
||||
flags: {}
|
||||
@ -2101,10 +2101,10 @@ items:
|
||||
environnement: []
|
||||
resistance: 15
|
||||
categorie_parade: ''
|
||||
dommages: '0'
|
||||
dommages: 0
|
||||
mortalite: mortel
|
||||
penetration: 0
|
||||
force: '11'
|
||||
force: 11
|
||||
competence: Bouclier
|
||||
lancer: ''
|
||||
tir: ''
|
||||
@ -2500,87 +2500,87 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Taille
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
apparence:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Apparence
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Constitution
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: 15
|
||||
label: Force
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
agilite:
|
||||
type: number
|
||||
value: '13'
|
||||
value: 13
|
||||
label: Agilité
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
dexterite:
|
||||
type: number
|
||||
value: '13'
|
||||
value: 13
|
||||
label: Dexterité
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
vue:
|
||||
type: number
|
||||
value: '14'
|
||||
value: 14
|
||||
label: Vue
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
ouie:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Ouïe
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
odoratgout:
|
||||
type: number
|
||||
value: '8'
|
||||
value: 8
|
||||
label: Odorat-Goût
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Volonté
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
intellect:
|
||||
type: number
|
||||
value: '9'
|
||||
value: 9
|
||||
label: Intellect
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
empathie:
|
||||
type: number
|
||||
value: '6'
|
||||
value: 6
|
||||
label: Empathie
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Rêve
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
chance:
|
||||
type: number
|
||||
value: '13'
|
||||
value: 13
|
||||
label: Chance
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
melee:
|
||||
type: number
|
||||
@ -2667,7 +2667,7 @@ system:
|
||||
derivee: true
|
||||
reve:
|
||||
reve:
|
||||
max: '11'
|
||||
max: 11
|
||||
value: 11
|
||||
label: Points de Rêve actuels
|
||||
thanatosused: false
|
||||
@ -2705,7 +2705,7 @@ system:
|
||||
isInput: true
|
||||
chance:
|
||||
value: 13
|
||||
max: '13'
|
||||
max: 13
|
||||
label: Chance
|
||||
isInput: true
|
||||
destinee:
|
||||
@ -2757,7 +2757,7 @@ system:
|
||||
heure: vaisseau
|
||||
sexe: ''
|
||||
age: '30'
|
||||
beaute: '10'
|
||||
beaute: 10
|
||||
main: droitier
|
||||
experiencelog: []
|
||||
subacteurs:
|
||||
@ -2853,7 +2853,13 @@ prototypeToken:
|
||||
texture: null
|
||||
_stats:
|
||||
systemId: foundryvtt-reve-de-dragon
|
||||
systemVersion: 12.0.22
|
||||
systemVersion: 12.0.32
|
||||
coreVersion: '12.331'
|
||||
createdTime: null
|
||||
modifiedTime: 1735482068962
|
||||
lastModifiedBy: Hp9ImM4o9YRTSdfu
|
||||
compendiumSource: null
|
||||
duplicateSource: null
|
||||
flags: {}
|
||||
_key: '!actors!JQCwAOK64Yijwtch'
|
||||
|
||||
|
@ -1890,7 +1890,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!CRRP8ucJpljX6tq8.VyAJK54OPjiRt8oH'
|
||||
- _id: bt2cR4aE6lIOeg4F
|
||||
name: Voie d'Hypnos
|
||||
name: Hypnos
|
||||
type: competence
|
||||
sort: 6300000
|
||||
flags: {}
|
||||
@ -1918,7 +1918,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!CRRP8ucJpljX6tq8.bt2cR4aE6lIOeg4F'
|
||||
- _id: nnR2UHelUaF8dxYn
|
||||
name: Voie d'Oniros
|
||||
name: Oniros
|
||||
type: competence
|
||||
sort: 6400000
|
||||
flags: {}
|
||||
@ -1946,7 +1946,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!CRRP8ucJpljX6tq8.nnR2UHelUaF8dxYn'
|
||||
- _id: u1Peok1EYkBcVsmN
|
||||
name: Voie de Narcos
|
||||
name: Narcos
|
||||
type: competence
|
||||
sort: 6500000
|
||||
flags: {}
|
||||
@ -1972,7 +1972,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!CRRP8ucJpljX6tq8.u1Peok1EYkBcVsmN'
|
||||
- _id: dPlTQzvU3CEg5qKc
|
||||
name: Voie de Thanatos
|
||||
name: Thanatos
|
||||
type: competence
|
||||
sort: 6600000
|
||||
flags: {}
|
||||
@ -2675,87 +2675,87 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Taille
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
apparence:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Apparence
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Constitution
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: 9
|
||||
label: Force
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
agilite:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Agilité
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
dexterite:
|
||||
type: number
|
||||
value: '14'
|
||||
value: 14
|
||||
label: Dexterité
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
vue:
|
||||
type: number
|
||||
value: '13'
|
||||
value: 13
|
||||
label: Vue
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
ouie:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Ouïe
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
odoratgout:
|
||||
type: number
|
||||
value: '13'
|
||||
value: 13
|
||||
label: Odorat-Goût
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Volonté
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
intellect:
|
||||
type: number
|
||||
value: '14'
|
||||
value: 14
|
||||
label: Intellect
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
empathie:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Empathie
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Rêve
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
chance:
|
||||
type: number
|
||||
value: '8'
|
||||
value: 8
|
||||
label: Chance
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
melee:
|
||||
type: number
|
||||
@ -2842,7 +2842,7 @@ system:
|
||||
derivee: true
|
||||
reve:
|
||||
reve:
|
||||
max: '11'
|
||||
max: 11
|
||||
value: 12
|
||||
label: Points de Rêve actuels
|
||||
thanatosused: false
|
||||
@ -2932,7 +2932,7 @@ system:
|
||||
heure: vaisseau
|
||||
sexe: ''
|
||||
age: '30'
|
||||
beaute: '10'
|
||||
beaute: 10
|
||||
main: droitier
|
||||
experiencelog: []
|
||||
subacteurs:
|
||||
|
@ -1890,7 +1890,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!51vL4MhEE0asjgF2.VyAJK54OPjiRt8oH'
|
||||
- _id: bt2cR4aE6lIOeg4F
|
||||
name: Voie d'Hypnos
|
||||
name: Hypnos
|
||||
type: competence
|
||||
sort: 6300000
|
||||
flags: {}
|
||||
@ -1918,7 +1918,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!51vL4MhEE0asjgF2.bt2cR4aE6lIOeg4F'
|
||||
- _id: nnR2UHelUaF8dxYn
|
||||
name: Voie d'Oniros
|
||||
name: Oniros
|
||||
type: competence
|
||||
sort: 6400000
|
||||
flags: {}
|
||||
@ -1946,7 +1946,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!51vL4MhEE0asjgF2.nnR2UHelUaF8dxYn'
|
||||
- _id: u1Peok1EYkBcVsmN
|
||||
name: Voie de Narcos
|
||||
name: Narcos
|
||||
type: competence
|
||||
sort: 6500000
|
||||
flags: {}
|
||||
@ -1972,7 +1972,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!51vL4MhEE0asjgF2.u1Peok1EYkBcVsmN'
|
||||
- _id: dPlTQzvU3CEg5qKc
|
||||
name: Voie de Thanatos
|
||||
name: Thanatos
|
||||
type: competence
|
||||
sort: 6600000
|
||||
flags: {}
|
||||
@ -2125,10 +2125,10 @@ items:
|
||||
environnement: []
|
||||
resistance: 8
|
||||
categorie_parade: ''
|
||||
dommages: '1'
|
||||
dommages: 1
|
||||
mortalite: mortel
|
||||
penetration: 0
|
||||
force: '7'
|
||||
force: 7
|
||||
competence: Dague
|
||||
lancer: Dague de jet
|
||||
tir: ''
|
||||
@ -2251,7 +2251,7 @@ items:
|
||||
environnement: []
|
||||
resistance: 13
|
||||
categorie_parade: ''
|
||||
dommages: '0'
|
||||
dommages: 0
|
||||
mortalite: mortel
|
||||
penetration: 0
|
||||
force: '8'
|
||||
@ -2451,87 +2451,87 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Taille
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
apparence:
|
||||
type: number
|
||||
value: '13'
|
||||
value: 13
|
||||
label: Apparence
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '13'
|
||||
value: 13
|
||||
label: Constitution
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: 11
|
||||
label: Force
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
agilite:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Agilité
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
dexterite:
|
||||
type: number
|
||||
value: '13'
|
||||
value: 13
|
||||
label: Dexterité
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
vue:
|
||||
type: number
|
||||
value: '13'
|
||||
value: 13
|
||||
label: Vue
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
ouie:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Ouïe
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
odoratgout:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Odorat-Goût
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Volonté
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
intellect:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Intellect
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
empathie:
|
||||
type: number
|
||||
value: '9'
|
||||
value: 9
|
||||
label: Empathie
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '9'
|
||||
value: 9
|
||||
label: Rêve
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
chance:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Chance
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
melee:
|
||||
type: number
|
||||
@ -2618,7 +2618,7 @@ system:
|
||||
derivee: true
|
||||
reve:
|
||||
reve:
|
||||
max: '9'
|
||||
max: 9
|
||||
value: 9
|
||||
label: Points de Rêve actuels
|
||||
thanatosused: false
|
||||
@ -2656,7 +2656,7 @@ system:
|
||||
isInput: true
|
||||
chance:
|
||||
value: 9
|
||||
max: '11'
|
||||
max: 11
|
||||
label: Chance
|
||||
isInput: true
|
||||
destinee:
|
||||
@ -2708,7 +2708,7 @@ system:
|
||||
heure: vaisseau
|
||||
sexe: ''
|
||||
age: '30'
|
||||
beaute: '10'
|
||||
beaute: 10
|
||||
main: droitier
|
||||
experiencelog: []
|
||||
subacteurs:
|
||||
|
@ -1890,7 +1890,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!NX1nAqKKIcQlyGua.VyAJK54OPjiRt8oH'
|
||||
- _id: bt2cR4aE6lIOeg4F
|
||||
name: Voie d'Hypnos
|
||||
name: Hypnos
|
||||
type: competence
|
||||
sort: 6300000
|
||||
flags: {}
|
||||
@ -1918,7 +1918,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!NX1nAqKKIcQlyGua.bt2cR4aE6lIOeg4F'
|
||||
- _id: nnR2UHelUaF8dxYn
|
||||
name: Voie d'Oniros
|
||||
name: Oniros
|
||||
type: competence
|
||||
sort: 6400000
|
||||
flags: {}
|
||||
@ -1946,7 +1946,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!NX1nAqKKIcQlyGua.nnR2UHelUaF8dxYn'
|
||||
- _id: u1Peok1EYkBcVsmN
|
||||
name: Voie de Narcos
|
||||
name: Narcos
|
||||
type: competence
|
||||
sort: 6500000
|
||||
flags: {}
|
||||
@ -1972,7 +1972,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!NX1nAqKKIcQlyGua.u1Peok1EYkBcVsmN'
|
||||
- _id: dPlTQzvU3CEg5qKc
|
||||
name: Voie de Thanatos
|
||||
name: Thanatos
|
||||
type: competence
|
||||
sort: 6600000
|
||||
flags: {}
|
||||
@ -2125,10 +2125,10 @@ items:
|
||||
environnement: []
|
||||
resistance: 8
|
||||
categorie_parade: ''
|
||||
dommages: '1'
|
||||
dommages: 1
|
||||
mortalite: mortel
|
||||
penetration: 0
|
||||
force: '7'
|
||||
force: 7
|
||||
competence: Dague
|
||||
lancer: Dague de jet
|
||||
tir: ''
|
||||
@ -2193,10 +2193,10 @@ items:
|
||||
environnement: []
|
||||
resistance: 15
|
||||
categorie_parade: ''
|
||||
dommages: '0'
|
||||
dommages: 0
|
||||
mortalite: mortel
|
||||
penetration: 0
|
||||
force: '11'
|
||||
force: 11
|
||||
competence: Bouclier
|
||||
lancer: ''
|
||||
tir: ''
|
||||
@ -2351,87 +2351,87 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Taille
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
apparence:
|
||||
type: number
|
||||
value: '13'
|
||||
value: 13
|
||||
label: Apparence
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '13'
|
||||
value: 13
|
||||
label: Constitution
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: 14
|
||||
label: Force
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
agilite:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Agilité
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
dexterite:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Dexterité
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
vue:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Vue
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
ouie:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Ouïe
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
odoratgout:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Odorat-Goût
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Volonté
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
intellect:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Intellect
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
empathie:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Empathie
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '9'
|
||||
value: 9
|
||||
label: Rêve
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
chance:
|
||||
type: number
|
||||
value: '8'
|
||||
value: 8
|
||||
label: Chance
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
melee:
|
||||
type: number
|
||||
@ -2518,7 +2518,7 @@ system:
|
||||
derivee: true
|
||||
reve:
|
||||
reve:
|
||||
max: '9'
|
||||
max: 9
|
||||
value: 9
|
||||
label: Points de Rêve actuels
|
||||
thanatosused: false
|
||||
@ -2608,7 +2608,7 @@ system:
|
||||
heure: vaisseau
|
||||
sexe: ''
|
||||
age: '30'
|
||||
beaute: '10'
|
||||
beaute: 10
|
||||
main: droitier
|
||||
experiencelog: []
|
||||
subacteurs:
|
||||
|
@ -1890,7 +1890,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!2bRaEDuwZezKAyEq.VyAJK54OPjiRt8oH'
|
||||
- _id: bt2cR4aE6lIOeg4F
|
||||
name: Voie d'Hypnos
|
||||
name: Hypnos
|
||||
type: competence
|
||||
sort: 6300000
|
||||
flags: {}
|
||||
@ -1918,7 +1918,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!2bRaEDuwZezKAyEq.bt2cR4aE6lIOeg4F'
|
||||
- _id: nnR2UHelUaF8dxYn
|
||||
name: Voie d'Oniros
|
||||
name: Oniros
|
||||
type: competence
|
||||
sort: 6400000
|
||||
flags: {}
|
||||
@ -1946,7 +1946,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!2bRaEDuwZezKAyEq.nnR2UHelUaF8dxYn'
|
||||
- _id: u1Peok1EYkBcVsmN
|
||||
name: Voie de Narcos
|
||||
name: Narcos
|
||||
type: competence
|
||||
sort: 6500000
|
||||
flags: {}
|
||||
@ -1972,7 +1972,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!2bRaEDuwZezKAyEq.u1Peok1EYkBcVsmN'
|
||||
- _id: dPlTQzvU3CEg5qKc
|
||||
name: Voie de Thanatos
|
||||
name: Thanatos
|
||||
type: competence
|
||||
sort: 6600000
|
||||
flags: {}
|
||||
@ -2156,10 +2156,10 @@ items:
|
||||
environnement: []
|
||||
resistance: 8
|
||||
categorie_parade: ''
|
||||
dommages: '1'
|
||||
dommages: 1
|
||||
mortalite: mortel
|
||||
penetration: 0
|
||||
force: '7'
|
||||
force: 7
|
||||
competence: Dague
|
||||
lancer: Dague de jet
|
||||
tir: ''
|
||||
@ -2224,7 +2224,7 @@ items:
|
||||
environnement: []
|
||||
resistance: 13
|
||||
categorie_parade: ''
|
||||
dommages: '0'
|
||||
dommages: 0
|
||||
mortalite: mortel
|
||||
penetration: 0
|
||||
force: '8'
|
||||
@ -2267,7 +2267,7 @@ items:
|
||||
environnement: []
|
||||
resistance: 5
|
||||
categorie_parade: ''
|
||||
dommages: '2'
|
||||
dommages: 2
|
||||
mortalite: mortel
|
||||
penetration: 0
|
||||
force: '8'
|
||||
@ -2394,87 +2394,87 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Taille
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
apparence:
|
||||
type: number
|
||||
value: '13'
|
||||
value: 13
|
||||
label: Apparence
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '13'
|
||||
value: 13
|
||||
label: Constitution
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: 14
|
||||
label: Force
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
agilite:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Agilité
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
dexterite:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Dexterité
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
vue:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Vue
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
ouie:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Ouïe
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
odoratgout:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Odorat-Goût
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Volonté
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
intellect:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Intellect
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
empathie:
|
||||
type: number
|
||||
value: '9'
|
||||
value: 9
|
||||
label: Empathie
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '9'
|
||||
value: 9
|
||||
label: Rêve
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
chance:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Chance
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
melee:
|
||||
type: number
|
||||
@ -2561,7 +2561,7 @@ system:
|
||||
derivee: true
|
||||
reve:
|
||||
reve:
|
||||
max: '9'
|
||||
max: 9
|
||||
value: 9
|
||||
label: Points de Rêve actuels
|
||||
thanatosused: false
|
||||
@ -2599,7 +2599,7 @@ system:
|
||||
isInput: true
|
||||
chance:
|
||||
value: 11
|
||||
max: '11'
|
||||
max: 11
|
||||
label: Chance
|
||||
isInput: true
|
||||
destinee:
|
||||
@ -2651,7 +2651,7 @@ system:
|
||||
heure: vaisseau
|
||||
sexe: ''
|
||||
age: '30'
|
||||
beaute: '10'
|
||||
beaute: 10
|
||||
main: droitier
|
||||
experiencelog: []
|
||||
subacteurs:
|
||||
|
@ -1890,7 +1890,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!IeKSXignUpfUTU4m.VyAJK54OPjiRt8oH'
|
||||
- _id: bt2cR4aE6lIOeg4F
|
||||
name: Voie d'Hypnos
|
||||
name: Hypnos
|
||||
type: competence
|
||||
sort: 6300000
|
||||
flags: {}
|
||||
@ -1918,7 +1918,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!IeKSXignUpfUTU4m.bt2cR4aE6lIOeg4F'
|
||||
- _id: nnR2UHelUaF8dxYn
|
||||
name: Voie d'Oniros
|
||||
name: Oniros
|
||||
type: competence
|
||||
sort: 6400000
|
||||
flags: {}
|
||||
@ -1946,7 +1946,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!IeKSXignUpfUTU4m.nnR2UHelUaF8dxYn'
|
||||
- _id: u1Peok1EYkBcVsmN
|
||||
name: Voie de Narcos
|
||||
name: Narcos
|
||||
type: competence
|
||||
sort: 6500000
|
||||
flags: {}
|
||||
@ -1972,7 +1972,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!IeKSXignUpfUTU4m.u1Peok1EYkBcVsmN'
|
||||
- _id: dPlTQzvU3CEg5qKc
|
||||
name: Voie de Thanatos
|
||||
name: Thanatos
|
||||
type: competence
|
||||
sort: 6600000
|
||||
flags: {}
|
||||
@ -2156,10 +2156,10 @@ items:
|
||||
environnement: []
|
||||
resistance: 8
|
||||
categorie_parade: ''
|
||||
dommages: '1'
|
||||
dommages: 1
|
||||
mortalite: mortel
|
||||
penetration: 0
|
||||
force: '7'
|
||||
force: 7
|
||||
competence: Dague
|
||||
lancer: Dague de jet
|
||||
tir: ''
|
||||
@ -2224,10 +2224,10 @@ items:
|
||||
environnement: []
|
||||
resistance: 15
|
||||
categorie_parade: ''
|
||||
dommages: '0'
|
||||
dommages: 0
|
||||
mortalite: mortel
|
||||
penetration: 0
|
||||
force: '11'
|
||||
force: 11
|
||||
competence: Bouclier
|
||||
lancer: ''
|
||||
tir: ''
|
||||
@ -2351,87 +2351,87 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Taille
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
apparence:
|
||||
type: number
|
||||
value: '13'
|
||||
value: 13
|
||||
label: Apparence
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '13'
|
||||
value: 13
|
||||
label: Constitution
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: 14
|
||||
label: Force
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
agilite:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Agilité
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
dexterite:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Dexterité
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
vue:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Vue
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
ouie:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Ouïe
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
odoratgout:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Odorat-Goût
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Volonté
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
intellect:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Intellect
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
empathie:
|
||||
type: number
|
||||
value: '9'
|
||||
value: 9
|
||||
label: Empathie
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '9'
|
||||
value: 9
|
||||
label: Rêve
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
chance:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Chance
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
melee:
|
||||
type: number
|
||||
@ -2518,7 +2518,7 @@ system:
|
||||
derivee: true
|
||||
reve:
|
||||
reve:
|
||||
max: '9'
|
||||
max: 9
|
||||
value: 9
|
||||
label: Points de Rêve actuels
|
||||
thanatosused: false
|
||||
@ -2556,7 +2556,7 @@ system:
|
||||
isInput: true
|
||||
chance:
|
||||
value: 11
|
||||
max: '11'
|
||||
max: 11
|
||||
label: Chance
|
||||
isInput: true
|
||||
destinee:
|
||||
@ -2608,7 +2608,7 @@ system:
|
||||
heure: vaisseau
|
||||
sexe: ''
|
||||
age: '30'
|
||||
beaute: '10'
|
||||
beaute: 10
|
||||
main: droitier
|
||||
experiencelog: []
|
||||
subacteurs:
|
@ -1829,7 +1829,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!pSM0ku0RJNLvHSvF.VyAJK54OPjiRt8oH'
|
||||
- _id: bt2cR4aE6lIOeg4F
|
||||
name: Voie d'Hypnos
|
||||
name: Hypnos
|
||||
type: competence
|
||||
sort: 6300000
|
||||
img: systems/foundryvtt-reve-de-dragon/icons/competence_hypnos.webp
|
||||
@ -1856,7 +1856,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!pSM0ku0RJNLvHSvF.bt2cR4aE6lIOeg4F'
|
||||
- _id: nnR2UHelUaF8dxYn
|
||||
name: Voie d'Oniros
|
||||
name: Oniros
|
||||
type: competence
|
||||
sort: 6400000
|
||||
img: systems/foundryvtt-reve-de-dragon/icons/competence_oniros.webp
|
||||
@ -1883,7 +1883,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!pSM0ku0RJNLvHSvF.nnR2UHelUaF8dxYn'
|
||||
- _id: u1Peok1EYkBcVsmN
|
||||
name: Voie de Narcos
|
||||
name: Narcos
|
||||
type: competence
|
||||
sort: 6500000
|
||||
img: systems/foundryvtt-reve-de-dragon/icons/competence_narcos.webp
|
||||
@ -1908,7 +1908,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!pSM0ku0RJNLvHSvF.u1Peok1EYkBcVsmN'
|
||||
- _id: dPlTQzvU3CEg5qKc
|
||||
name: Voie de Thanatos
|
||||
name: Thanatos
|
||||
type: competence
|
||||
sort: 6600000
|
||||
img: systems/foundryvtt-reve-de-dragon/icons/competence_thanatos.webp
|
||||
@ -2264,10 +2264,10 @@ items:
|
||||
environnement: []
|
||||
resistance: 8
|
||||
categorie_parade: ''
|
||||
dommages: '1'
|
||||
dommages: 1
|
||||
mortalite: mortel
|
||||
penetration: 0
|
||||
force: '7'
|
||||
force: 7
|
||||
competence: Dague
|
||||
lancer: Dague de jet
|
||||
tir: ''
|
||||
@ -2312,10 +2312,10 @@ items:
|
||||
environnement: []
|
||||
resistance: 1
|
||||
categorie_parade: ''
|
||||
dommages: '1'
|
||||
dommages: 1
|
||||
mortalite: mortel
|
||||
penetration: 0
|
||||
force: '0'
|
||||
force: 0
|
||||
competence: Dague
|
||||
lancer: Dague de jet
|
||||
tir: ''
|
||||
@ -2438,87 +2438,87 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Taille
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
apparence:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Apparence
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Constitution
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: 10
|
||||
label: Force
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
agilite:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Agilité
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
dexterite:
|
||||
type: number
|
||||
value: '13'
|
||||
value: 13
|
||||
label: Dexterité
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
vue:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Vue
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
ouie:
|
||||
type: number
|
||||
value: '14'
|
||||
value: 14
|
||||
label: Ouïe
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
odoratgout:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Odorat-Goût
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Volonté
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
intellect:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Intellect
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
empathie:
|
||||
type: number
|
||||
value: '13'
|
||||
value: 13
|
||||
label: Empathie
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '9'
|
||||
value: 9
|
||||
label: Rêve
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
chance:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Chance
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
melee:
|
||||
type: number
|
||||
@ -2605,7 +2605,7 @@ system:
|
||||
derivee: true
|
||||
reve:
|
||||
reve:
|
||||
max: '9'
|
||||
max: 9
|
||||
value: 9
|
||||
label: Points de Rêve actuels
|
||||
thanatosused: false
|
||||
@ -2643,7 +2643,7 @@ system:
|
||||
isInput: true
|
||||
chance:
|
||||
value: 10
|
||||
max: '10'
|
||||
max: 10
|
||||
label: Chance
|
||||
isInput: true
|
||||
destinee:
|
||||
@ -2695,7 +2695,7 @@ system:
|
||||
heure: vaisseau
|
||||
sexe: ''
|
||||
age: '30'
|
||||
beaute: '10'
|
||||
beaute: 10
|
||||
main: droitier
|
||||
experiencelog: []
|
||||
subacteurs:
|
||||
|
@ -1829,7 +1829,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!5xPFHgrY5AIP9Mnb.VyAJK54OPjiRt8oH'
|
||||
- _id: bt2cR4aE6lIOeg4F
|
||||
name: Voie d'Hypnos
|
||||
name: Hypnos
|
||||
type: competence
|
||||
sort: 6300000
|
||||
img: systems/foundryvtt-reve-de-dragon/icons/competence_hypnos.webp
|
||||
@ -1856,7 +1856,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!5xPFHgrY5AIP9Mnb.bt2cR4aE6lIOeg4F'
|
||||
- _id: nnR2UHelUaF8dxYn
|
||||
name: Voie d'Oniros
|
||||
name: Oniros
|
||||
type: competence
|
||||
sort: 6400000
|
||||
img: systems/foundryvtt-reve-de-dragon/icons/competence_oniros.webp
|
||||
@ -1883,7 +1883,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!5xPFHgrY5AIP9Mnb.nnR2UHelUaF8dxYn'
|
||||
- _id: u1Peok1EYkBcVsmN
|
||||
name: Voie de Narcos
|
||||
name: Narcos
|
||||
type: competence
|
||||
sort: 6500000
|
||||
img: systems/foundryvtt-reve-de-dragon/icons/competence_narcos.webp
|
||||
@ -1908,7 +1908,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!5xPFHgrY5AIP9Mnb.u1Peok1EYkBcVsmN'
|
||||
- _id: dPlTQzvU3CEg5qKc
|
||||
name: Voie de Thanatos
|
||||
name: Thanatos
|
||||
type: competence
|
||||
sort: 6600000
|
||||
img: systems/foundryvtt-reve-de-dragon/icons/competence_thanatos.webp
|
||||
@ -2264,10 +2264,10 @@ items:
|
||||
environnement: []
|
||||
resistance: 8
|
||||
categorie_parade: ''
|
||||
dommages: '1'
|
||||
dommages: 1
|
||||
mortalite: mortel
|
||||
penetration: 0
|
||||
force: '7'
|
||||
force: 7
|
||||
competence: Dague
|
||||
lancer: Dague de jet
|
||||
tir: ''
|
||||
@ -2312,10 +2312,10 @@ items:
|
||||
environnement: []
|
||||
resistance: 1
|
||||
categorie_parade: ''
|
||||
dommages: '1'
|
||||
dommages: 1
|
||||
mortalite: mortel
|
||||
penetration: 0
|
||||
force: '0'
|
||||
force: 0
|
||||
competence: Dague
|
||||
lancer: Dague de jet
|
||||
tir: ''
|
||||
@ -2438,87 +2438,87 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '7'
|
||||
value: 7
|
||||
label: Taille
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
apparence:
|
||||
type: number
|
||||
value: '14'
|
||||
value: 14
|
||||
label: Apparence
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Constitution
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: 9
|
||||
label: Force
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
agilite:
|
||||
type: number
|
||||
value: '13'
|
||||
value: 13
|
||||
label: Agilité
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
dexterite:
|
||||
type: number
|
||||
value: '13'
|
||||
value: 13
|
||||
label: Dexterité
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
vue:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Vue
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
ouie:
|
||||
type: number
|
||||
value: '14'
|
||||
value: 14
|
||||
label: Ouïe
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
odoratgout:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Odorat-Goût
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Volonté
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
intellect:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Intellect
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
empathie:
|
||||
type: number
|
||||
value: '13'
|
||||
value: 13
|
||||
label: Empathie
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '9'
|
||||
value: 9
|
||||
label: Rêve
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
chance:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Chance
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
melee:
|
||||
type: number
|
||||
@ -2605,7 +2605,7 @@ system:
|
||||
derivee: true
|
||||
reve:
|
||||
reve:
|
||||
max: '9'
|
||||
max: 9
|
||||
value: 9
|
||||
label: Points de Rêve actuels
|
||||
thanatosused: false
|
||||
@ -2643,7 +2643,7 @@ system:
|
||||
isInput: true
|
||||
chance:
|
||||
value: 10
|
||||
max: '10'
|
||||
max: 10
|
||||
label: Chance
|
||||
isInput: true
|
||||
destinee:
|
||||
@ -2695,7 +2695,7 @@ system:
|
||||
heure: vaisseau
|
||||
sexe: ''
|
||||
age: '30'
|
||||
beaute: '10'
|
||||
beaute: 10
|
||||
main: droitier
|
||||
experiencelog: []
|
||||
subacteurs:
|
||||
|
@ -1890,7 +1890,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!U9NNcXQBJmsI9Ttk.VyAJK54OPjiRt8oH'
|
||||
- _id: bt2cR4aE6lIOeg4F
|
||||
name: Voie d'Hypnos
|
||||
name: Hypnos
|
||||
type: competence
|
||||
sort: 6300000
|
||||
flags: {}
|
||||
@ -1918,7 +1918,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!U9NNcXQBJmsI9Ttk.bt2cR4aE6lIOeg4F'
|
||||
- _id: nnR2UHelUaF8dxYn
|
||||
name: Voie d'Oniros
|
||||
name: Oniros
|
||||
type: competence
|
||||
sort: 6400000
|
||||
flags: {}
|
||||
@ -1946,7 +1946,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!U9NNcXQBJmsI9Ttk.nnR2UHelUaF8dxYn'
|
||||
- _id: u1Peok1EYkBcVsmN
|
||||
name: Voie de Narcos
|
||||
name: Narcos
|
||||
type: competence
|
||||
sort: 6500000
|
||||
flags: {}
|
||||
@ -1972,7 +1972,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!U9NNcXQBJmsI9Ttk.u1Peok1EYkBcVsmN'
|
||||
- _id: dPlTQzvU3CEg5qKc
|
||||
name: Voie de Thanatos
|
||||
name: Thanatos
|
||||
type: competence
|
||||
sort: 6600000
|
||||
flags: {}
|
||||
@ -2379,10 +2379,10 @@ items:
|
||||
environnement: []
|
||||
resistance: 8
|
||||
categorie_parade: ''
|
||||
dommages: '1'
|
||||
dommages: 1
|
||||
mortalite: mortel
|
||||
penetration: 0
|
||||
force: '7'
|
||||
force: 7
|
||||
competence: Dague
|
||||
lancer: Dague de jet
|
||||
tir: ''
|
||||
@ -2506,87 +2506,87 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Taille
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
apparence:
|
||||
type: number
|
||||
value: '13'
|
||||
value: 13
|
||||
label: Apparence
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Constitution
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: 10
|
||||
label: Force
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
agilite:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Agilité
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
dexterite:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Dexterité
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
vue:
|
||||
type: number
|
||||
value: '13'
|
||||
value: 13
|
||||
label: Vue
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
ouie:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Ouïe
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
odoratgout:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Odorat-Goût
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Volonté
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
intellect:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Intellect
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
empathie:
|
||||
type: number
|
||||
value: '13'
|
||||
value: 13
|
||||
label: Empathie
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '9'
|
||||
value: 9
|
||||
label: Rêve
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
chance:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Chance
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
melee:
|
||||
type: number
|
||||
@ -2673,7 +2673,7 @@ system:
|
||||
derivee: true
|
||||
reve:
|
||||
reve:
|
||||
max: '9'
|
||||
max: 9
|
||||
value: 12
|
||||
label: Points de Rêve actuels
|
||||
thanatosused: false
|
||||
@ -2711,7 +2711,7 @@ system:
|
||||
isInput: true
|
||||
chance:
|
||||
value: 12
|
||||
max: '12'
|
||||
max: 12
|
||||
label: Chance
|
||||
isInput: true
|
||||
destinee:
|
||||
@ -2763,7 +2763,7 @@ system:
|
||||
heure: vaisseau
|
||||
sexe: ''
|
||||
age: '30'
|
||||
beaute: '10'
|
||||
beaute: 10
|
||||
main: droitier
|
||||
experiencelog: []
|
||||
subacteurs:
|
||||
|
@ -1828,7 +1828,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!oLDROOdwfctyRusH.VyAJK54OPjiRt8oH'
|
||||
- _id: bt2cR4aE6lIOeg4F
|
||||
name: Voie d'Hypnos
|
||||
name: Hypnos
|
||||
type: competence
|
||||
sort: 6300000
|
||||
img: systems/foundryvtt-reve-de-dragon/icons/competence_hypnos.webp
|
||||
@ -1855,7 +1855,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!oLDROOdwfctyRusH.bt2cR4aE6lIOeg4F'
|
||||
- _id: nnR2UHelUaF8dxYn
|
||||
name: Voie d'Oniros
|
||||
name: Oniros
|
||||
type: competence
|
||||
sort: 6400000
|
||||
img: systems/foundryvtt-reve-de-dragon/icons/competence_oniros.webp
|
||||
@ -1882,7 +1882,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!oLDROOdwfctyRusH.nnR2UHelUaF8dxYn'
|
||||
- _id: u1Peok1EYkBcVsmN
|
||||
name: Voie de Narcos
|
||||
name: Narcos
|
||||
type: competence
|
||||
sort: 6500000
|
||||
img: systems/foundryvtt-reve-de-dragon/icons/competence_narcos.webp
|
||||
@ -1907,7 +1907,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!oLDROOdwfctyRusH.u1Peok1EYkBcVsmN'
|
||||
- _id: dPlTQzvU3CEg5qKc
|
||||
name: Voie de Thanatos
|
||||
name: Thanatos
|
||||
type: competence
|
||||
sort: 6600000
|
||||
img: systems/foundryvtt-reve-de-dragon/icons/competence_thanatos.webp
|
||||
@ -2006,10 +2006,10 @@ items:
|
||||
environnement: []
|
||||
resistance: 8
|
||||
categorie_parade: ''
|
||||
dommages: '1'
|
||||
dommages: 1
|
||||
mortalite: mortel
|
||||
penetration: 0
|
||||
force: '7'
|
||||
force: 7
|
||||
competence: Dague
|
||||
lancer: Dague de jet
|
||||
tir: ''
|
||||
@ -2443,87 +2443,87 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '9'
|
||||
value: 9
|
||||
label: Taille
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
apparence:
|
||||
type: number
|
||||
value: '14'
|
||||
value: 14
|
||||
label: Apparence
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Constitution
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: 10
|
||||
label: Force
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
agilite:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Agilité
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
dexterite:
|
||||
type: number
|
||||
value: '9'
|
||||
value: 9
|
||||
label: Dexterité
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
vue:
|
||||
type: number
|
||||
value: '13'
|
||||
value: 13
|
||||
label: Vue
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
ouie:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Ouïe
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
odoratgout:
|
||||
type: number
|
||||
value: '14'
|
||||
value: 14
|
||||
label: Odorat-Goût
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Volonté
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
intellect:
|
||||
type: number
|
||||
value: '13'
|
||||
value: 13
|
||||
label: Intellect
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
empathie:
|
||||
type: number
|
||||
value: '9'
|
||||
value: 9
|
||||
label: Empathie
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '9'
|
||||
value: 9
|
||||
label: Rêve
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
chance:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Chance
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
melee:
|
||||
type: number
|
||||
@ -2610,7 +2610,7 @@ system:
|
||||
derivee: true
|
||||
reve:
|
||||
reve:
|
||||
max: '9'
|
||||
max: 9
|
||||
value: 9
|
||||
label: Points de Rêve actuels
|
||||
thanatosused: false
|
||||
@ -2648,7 +2648,7 @@ system:
|
||||
isInput: true
|
||||
chance:
|
||||
value: 12
|
||||
max: '12'
|
||||
max: 12
|
||||
label: Chance
|
||||
isInput: true
|
||||
destinee:
|
||||
@ -2700,7 +2700,7 @@ system:
|
||||
heure: vaisseau
|
||||
sexe: ''
|
||||
age: '30'
|
||||
beaute: '10'
|
||||
beaute: 10
|
||||
main: droitier
|
||||
experiencelog: []
|
||||
subacteurs:
|
||||
|
@ -1828,7 +1828,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!2KN3nKGZ36Qkn7Mf.VyAJK54OPjiRt8oH'
|
||||
- _id: bt2cR4aE6lIOeg4F
|
||||
name: Voie d'Hypnos
|
||||
name: Hypnos
|
||||
type: competence
|
||||
sort: 6300000
|
||||
img: systems/foundryvtt-reve-de-dragon/icons/competence_hypnos.webp
|
||||
@ -1855,7 +1855,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!2KN3nKGZ36Qkn7Mf.bt2cR4aE6lIOeg4F'
|
||||
- _id: nnR2UHelUaF8dxYn
|
||||
name: Voie d'Oniros
|
||||
name: Oniros
|
||||
type: competence
|
||||
sort: 6400000
|
||||
img: systems/foundryvtt-reve-de-dragon/icons/competence_oniros.webp
|
||||
@ -1882,7 +1882,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!2KN3nKGZ36Qkn7Mf.nnR2UHelUaF8dxYn'
|
||||
- _id: u1Peok1EYkBcVsmN
|
||||
name: Voie de Narcos
|
||||
name: Narcos
|
||||
type: competence
|
||||
sort: 6500000
|
||||
img: systems/foundryvtt-reve-de-dragon/icons/competence_narcos.webp
|
||||
@ -1907,7 +1907,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!2KN3nKGZ36Qkn7Mf.u1Peok1EYkBcVsmN'
|
||||
- _id: dPlTQzvU3CEg5qKc
|
||||
name: Voie de Thanatos
|
||||
name: Thanatos
|
||||
type: competence
|
||||
sort: 6600000
|
||||
img: systems/foundryvtt-reve-de-dragon/icons/competence_thanatos.webp
|
||||
@ -2007,10 +2007,10 @@ items:
|
||||
environnement: []
|
||||
resistance: 8
|
||||
categorie_parade: ''
|
||||
dommages: '1'
|
||||
dommages: 1
|
||||
mortalite: mortel
|
||||
penetration: 0
|
||||
force: '7'
|
||||
force: 7
|
||||
competence: Dague
|
||||
lancer: Dague de jet
|
||||
tir: ''
|
||||
@ -2467,87 +2467,87 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Taille
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
apparence:
|
||||
type: number
|
||||
value: '14'
|
||||
value: 14
|
||||
label: Apparence
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '13'
|
||||
value: 13
|
||||
label: Constitution
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: 10
|
||||
label: Force
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
agilite:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Agilité
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
dexterite:
|
||||
type: number
|
||||
value: '9'
|
||||
value: 9
|
||||
label: Dexterité
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
vue:
|
||||
type: number
|
||||
value: '13'
|
||||
value: 13
|
||||
label: Vue
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
ouie:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Ouïe
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
odoratgout:
|
||||
type: number
|
||||
value: '14'
|
||||
value: 14
|
||||
label: Odorat-Goût
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Volonté
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
intellect:
|
||||
type: number
|
||||
value: '13'
|
||||
value: 13
|
||||
label: Intellect
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
empathie:
|
||||
type: number
|
||||
value: '9'
|
||||
value: 9
|
||||
label: Empathie
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '9'
|
||||
value: 9
|
||||
label: Rêve
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
chance:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Chance
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
melee:
|
||||
type: number
|
||||
@ -2634,7 +2634,7 @@ system:
|
||||
derivee: true
|
||||
reve:
|
||||
reve:
|
||||
max: '9'
|
||||
max: 9
|
||||
value: 9
|
||||
label: Points de Rêve actuels
|
||||
thanatosused: false
|
||||
@ -2672,7 +2672,7 @@ system:
|
||||
isInput: true
|
||||
chance:
|
||||
value: 12
|
||||
max: '12'
|
||||
max: 12
|
||||
label: Chance
|
||||
isInput: true
|
||||
destinee:
|
||||
@ -2724,7 +2724,7 @@ system:
|
||||
heure: vaisseau
|
||||
sexe: ''
|
||||
age: '30'
|
||||
beaute: '10'
|
||||
beaute: 10
|
||||
main: droitier
|
||||
experiencelog: []
|
||||
subacteurs:
|
||||
|
@ -1891,7 +1891,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!V2WOs8deCYdBT2Jo.VyAJK54OPjiRt8oH'
|
||||
- _id: bt2cR4aE6lIOeg4F
|
||||
name: Voie d'Hypnos
|
||||
name: Hypnos
|
||||
type: competence
|
||||
sort: 6300000
|
||||
flags: {}
|
||||
@ -1919,7 +1919,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!V2WOs8deCYdBT2Jo.bt2cR4aE6lIOeg4F'
|
||||
- _id: nnR2UHelUaF8dxYn
|
||||
name: Voie d'Oniros
|
||||
name: Oniros
|
||||
type: competence
|
||||
sort: 6400000
|
||||
flags: {}
|
||||
@ -1947,7 +1947,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!V2WOs8deCYdBT2Jo.nnR2UHelUaF8dxYn'
|
||||
- _id: u1Peok1EYkBcVsmN
|
||||
name: Voie de Narcos
|
||||
name: Narcos
|
||||
type: competence
|
||||
sort: 6500000
|
||||
flags: {}
|
||||
@ -1973,7 +1973,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!V2WOs8deCYdBT2Jo.u1Peok1EYkBcVsmN'
|
||||
- _id: dPlTQzvU3CEg5qKc
|
||||
name: Voie de Thanatos
|
||||
name: Thanatos
|
||||
type: competence
|
||||
sort: 6600000
|
||||
flags: {}
|
||||
@ -2229,87 +2229,87 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Taille
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
apparence:
|
||||
type: number
|
||||
value: '8'
|
||||
value: 8
|
||||
label: Apparence
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '13'
|
||||
value: 13
|
||||
label: Constitution
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: 13
|
||||
label: Force
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
agilite:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Agilité
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
dexterite:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Dexterité
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
vue:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Vue
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
ouie:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Ouïe
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
odoratgout:
|
||||
type: number
|
||||
value: '9'
|
||||
value: 9
|
||||
label: Odorat-Goût
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '9'
|
||||
value: 9
|
||||
label: Volonté
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
intellect:
|
||||
type: number
|
||||
value: '8'
|
||||
value: 8
|
||||
label: Intellect
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
empathie:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Empathie
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '9'
|
||||
value: 9
|
||||
label: Rêve
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
chance:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Chance
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
melee:
|
||||
type: number
|
||||
@ -2396,7 +2396,7 @@ system:
|
||||
derivee: true
|
||||
reve:
|
||||
reve:
|
||||
max: '9'
|
||||
max: 9
|
||||
value: 9
|
||||
label: Points de Rêve actuels
|
||||
thanatosused: false
|
||||
@ -2434,7 +2434,7 @@ system:
|
||||
isInput: true
|
||||
chance:
|
||||
value: 11
|
||||
max: '11'
|
||||
max: 11
|
||||
label: Chance
|
||||
isInput: true
|
||||
destinee:
|
||||
@ -2486,7 +2486,7 @@ system:
|
||||
heure: vaisseau
|
||||
sexe: ''
|
||||
age: '30'
|
||||
beaute: '10'
|
||||
beaute: 10
|
||||
main: droitier
|
||||
experiencelog: []
|
||||
subacteurs:
|
||||
|
@ -1891,7 +1891,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!UNs4RBLYiGbfxd1c.VyAJK54OPjiRt8oH'
|
||||
- _id: bt2cR4aE6lIOeg4F
|
||||
name: Voie d'Hypnos
|
||||
name: Hypnos
|
||||
type: competence
|
||||
sort: 6300000
|
||||
flags: {}
|
||||
@ -1919,7 +1919,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!UNs4RBLYiGbfxd1c.bt2cR4aE6lIOeg4F'
|
||||
- _id: nnR2UHelUaF8dxYn
|
||||
name: Voie d'Oniros
|
||||
name: Oniros
|
||||
type: competence
|
||||
sort: 6400000
|
||||
flags: {}
|
||||
@ -1947,7 +1947,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!UNs4RBLYiGbfxd1c.nnR2UHelUaF8dxYn'
|
||||
- _id: u1Peok1EYkBcVsmN
|
||||
name: Voie de Narcos
|
||||
name: Narcos
|
||||
type: competence
|
||||
sort: 6500000
|
||||
flags: {}
|
||||
@ -1973,7 +1973,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!UNs4RBLYiGbfxd1c.u1Peok1EYkBcVsmN'
|
||||
- _id: dPlTQzvU3CEg5qKc
|
||||
name: Voie de Thanatos
|
||||
name: Thanatos
|
||||
type: competence
|
||||
sort: 6600000
|
||||
flags: {}
|
||||
@ -2046,10 +2046,10 @@ items:
|
||||
environnement: []
|
||||
resistance: 8
|
||||
categorie_parade: ''
|
||||
dommages: '1'
|
||||
dommages: 1
|
||||
mortalite: mortel
|
||||
penetration: 0
|
||||
force: '7'
|
||||
force: 7
|
||||
competence: Dague
|
||||
lancer: Dague de jet
|
||||
tir: ''
|
||||
@ -2274,87 +2274,87 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Taille
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
apparence:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Apparence
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Constitution
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: 12
|
||||
label: Force
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
agilite:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Agilité
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
dexterite:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Dexterité
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
vue:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Vue
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
ouie:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Ouïe
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
odoratgout:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Odorat-Goût
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Volonté
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
intellect:
|
||||
type: number
|
||||
value: '8'
|
||||
value: 8
|
||||
label: Intellect
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
empathie:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Empathie
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Rêve
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
chance:
|
||||
type: number
|
||||
value: '11'
|
||||
value: 11
|
||||
label: Chance
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
melee:
|
||||
type: number
|
||||
@ -2441,7 +2441,7 @@ system:
|
||||
derivee: true
|
||||
reve:
|
||||
reve:
|
||||
max: '11'
|
||||
max: 11
|
||||
value: 13
|
||||
label: Points de Rêve actuels
|
||||
thanatosused: false
|
||||
@ -2479,7 +2479,7 @@ system:
|
||||
isInput: true
|
||||
chance:
|
||||
value: 11
|
||||
max: '11'
|
||||
max: 11
|
||||
label: Chance
|
||||
isInput: true
|
||||
destinee:
|
||||
@ -2531,7 +2531,7 @@ system:
|
||||
heure: vaisseau
|
||||
sexe: ''
|
||||
age: '30'
|
||||
beaute: '10'
|
||||
beaute: 10
|
||||
main: droitier
|
||||
experiencelog: []
|
||||
subacteurs:
|
||||
|
@ -1891,7 +1891,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!jfXs7qaHEWQpIHud.VyAJK54OPjiRt8oH'
|
||||
- _id: bt2cR4aE6lIOeg4F
|
||||
name: Voie d'Hypnos
|
||||
name: Hypnos
|
||||
type: competence
|
||||
sort: 6300000
|
||||
flags: {}
|
||||
@ -1919,7 +1919,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!jfXs7qaHEWQpIHud.bt2cR4aE6lIOeg4F'
|
||||
- _id: nnR2UHelUaF8dxYn
|
||||
name: Voie d'Oniros
|
||||
name: Oniros
|
||||
type: competence
|
||||
sort: 6400000
|
||||
flags: {}
|
||||
@ -1947,7 +1947,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!jfXs7qaHEWQpIHud.nnR2UHelUaF8dxYn'
|
||||
- _id: u1Peok1EYkBcVsmN
|
||||
name: Voie de Narcos
|
||||
name: Narcos
|
||||
type: competence
|
||||
sort: 6500000
|
||||
flags: {}
|
||||
@ -1973,7 +1973,7 @@ items:
|
||||
coreVersion: '12.331'
|
||||
_key: '!actors.items!jfXs7qaHEWQpIHud.u1Peok1EYkBcVsmN'
|
||||
- _id: dPlTQzvU3CEg5qKc
|
||||
name: Voie de Thanatos
|
||||
name: Thanatos
|
||||
type: competence
|
||||
sort: 6600000
|
||||
flags: {}
|
||||
@ -2257,87 +2257,87 @@ system:
|
||||
carac:
|
||||
taille:
|
||||
type: number
|
||||
value: '7'
|
||||
value: 7
|
||||
label: Taille
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
apparence:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Apparence
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
constitution:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Constitution
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
force:
|
||||
type: number
|
||||
value: 11
|
||||
label: Force
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
agilite:
|
||||
type: number
|
||||
value: '13'
|
||||
value: 13
|
||||
label: Agilité
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
dexterite:
|
||||
type: number
|
||||
value: '14'
|
||||
value: 14
|
||||
label: Dexterité
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
vue:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Vue
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
ouie:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Ouïe
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
odoratgout:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Odorat-Goût
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
volonte:
|
||||
type: number
|
||||
value: '9'
|
||||
value: 9
|
||||
label: Volonté
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
intellect:
|
||||
type: number
|
||||
value: '8'
|
||||
value: 8
|
||||
label: Intellect
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
empathie:
|
||||
type: number
|
||||
value: '14'
|
||||
value: 14
|
||||
label: Empathie
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
reve:
|
||||
type: number
|
||||
value: '12'
|
||||
value: 12
|
||||
label: Rêve
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
chance:
|
||||
type: number
|
||||
value: '10'
|
||||
value: 10
|
||||
label: Chance
|
||||
xp: '0'
|
||||
xp: 0
|
||||
derivee: false
|
||||
melee:
|
||||
type: number
|
||||
@ -2424,7 +2424,7 @@ system:
|
||||
derivee: true
|
||||
reve:
|
||||
reve:
|
||||
max: '12'
|
||||
max: 12
|
||||
value: 13
|
||||
label: Points de Rêve actuels
|
||||
thanatosused: false
|
||||
@ -2462,7 +2462,7 @@ system:
|
||||
isInput: true
|
||||
chance:
|
||||
value: 0
|
||||
max: '10'
|
||||
max: 10
|
||||
label: Chance
|
||||
isInput: true
|
||||
destinee:
|
||||
@ -2514,7 +2514,7 @@ system:
|
||||
heure: vaisseau
|
||||
sexe: ''
|
||||
age: '30'
|
||||
beaute: '10'
|
||||
beaute: 10
|
||||
main: droitier
|
||||
experiencelog: []
|
||||
subacteurs:
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user