Compare commits
253 Commits
foundryvtt
...
foundryvtt
| Author | SHA1 | Date | |
|---|---|---|---|
| d329724d63 | |||
| 8a5405c9f5 | |||
| ea992aae46 | |||
| 0bfcfec58f | |||
| 88e00c59bc | |||
| d314dc39a0 | |||
| 30bb803da2 | |||
| dd79e16ea5 | |||
| 83e2d56fd4 | |||
| afc23dfa7b | |||
| 3e189cbe5f | |||
| d0475e8677 | |||
| a3694c1673 | |||
| 9e6d5856b1 | |||
| acc880b53f | |||
| 2598ae3489 | |||
| 4f5fb63751 | |||
| d739a7993a | |||
| 41335cd433 | |||
| e470d76ea0 | |||
| ffccc819f1 | |||
| 45bfc69b39 | |||
| 79e9358072 | |||
| 5cab418e62 | |||
| 7809f7c21a | |||
| 1bac204071 | |||
| 3bf5beb67b | |||
| ac1da6e979 | |||
| 67735197bc | |||
| f81dc9a5f5 | |||
| a563233d6b | |||
| 0c11013694 | |||
| 77cf72a752 | |||
| 42ed5da2d4 | |||
| 5fd3a43b2a | |||
| 1bb710ce83 | |||
| 80579032ea | |||
| a810e20eca | |||
| c6f0aaeba0 | |||
| 3c3be7409d | |||
| f97345e407 | |||
| 4cc50fc190 | |||
| 26967fe1cd | |||
| b23dcaace5 | |||
| 045ee76013 | |||
| 7fed3844b5 | |||
| b5571e6c7a | |||
| b5eac8ccfa | |||
| 673196c644 | |||
| 9741028914 | |||
| 10daab2bcd | |||
| 99d2d38279 | |||
| e30825db6b | |||
| 10ed4d9382 | |||
| 2ffa0d8dc7 | |||
| f229537206 | |||
| 5c31c7bd7f | |||
| 4cf428f630 | |||
| 0c1b70f3f0 | |||
| b7ea857bb4 | |||
| 0238976ce8 | |||
| 31fd91336a | |||
| c70b6c9d5f | |||
| 07d0d92f57 | |||
| a2968697f4 | |||
| fb7dbe6ea0 | |||
| 59641bf5cf | |||
| 4ee4445836 | |||
| 1a346a21c3 | |||
| c6c0dd43fd | |||
| d69a07d4dd | |||
| 56379a9234 | |||
| fbcc167272 | |||
| 703ab2579d | |||
| 6b7e881bf2 | |||
| dc3ceb1732 | |||
| 7a0132cf8d | |||
| ca1ea5a854 | |||
| 9bdde92d61 | |||
| 74313b7fd3 | |||
| 9a9399a581 | |||
| 95a7ac73d0 | |||
| ab4c118d12 | |||
| 681358238d | |||
| 5511acc876 | |||
| 2e144851d4 | |||
| 9f24aee1f3 | |||
| e605ab405a | |||
| 86f69566a6 | |||
| 2561a658f2 | |||
| 8a1d1fd253 | |||
| e42f384d7f | |||
| d381191692 | |||
| 53a7230f1d | |||
| 4d5651c2d3 | |||
| 61474172a7 | |||
| 083806612b | |||
| 1c417d02a1 | |||
| ee9e7d2adb | |||
| fa3334273d | |||
| 05b73a41a5 | |||
| 842243485a | |||
| 1e53f2d9e8 | |||
| 792fcc1b39 | |||
| 3d914a29c3 | |||
| 7fe7c1e9bd | |||
| d86b81fbbc | |||
| 22da2807d8 | |||
| 76e03b07ed | |||
| e4098c813b | |||
| 90aecd6cc0 | |||
| 254709f55b | |||
| 064472dc11 | |||
| 7a67cb7cea | |||
| 7f051e76be | |||
| 38db7fb7c8 | |||
| c448f32bb8 | |||
| e194514965 | |||
| a790c36618 | |||
| f221bb31eb | |||
| bdc2d8db3a | |||
| 782dc38268 | |||
| 024e355586 | |||
| 37704558e0 | |||
| d816490839 | |||
| a4186da540 | |||
| b8b4a1ff14 | |||
| 8925a4979d | |||
| 851a208aee | |||
| 4df04fe06f | |||
| f4d074fa31 | |||
| f7595a1bfe | |||
| 86feb12811 | |||
| 2383094254 | |||
| 2a72f6ffea | |||
| 3cc56c615c | |||
| 948309bb4f | |||
| 40fdff4057 | |||
| c972913a67 | |||
| 0d5c8e5304 | |||
| 0aba6d2f0a | |||
| df3e181d7f | |||
| 8877939b9f | |||
| 7334f2d8e6 | |||
| ceff3d1b50 | |||
| a4802d1113 | |||
| 162a6a04b8 | |||
| 0c36cf3c47 | |||
| 969e5f6b2d | |||
| 306ecacc98 | |||
| 2dc86e6679 | |||
| 484530d67d | |||
| a08890dcb0 | |||
| 1956fdd755 | |||
| 651356159a | |||
| ca304109d5 | |||
| 9c0d08cb6f | |||
| f9fd8a1e24 | |||
| 03f84eb3f7 | |||
| 05e48b61ff | |||
| f20788d6d9 | |||
| 009639dd5f | |||
| 14542cf7cd | |||
| f4f2db68e0 | |||
| 7e75715d88 | |||
| d62d1c45bc | |||
| 62914c343f | |||
| 9349e81580 | |||
| 404539a004 | |||
| 9eaeceafc4 | |||
| 1cd3bdef25 | |||
| fa356bd7f8 | |||
| 771c8c9c8e | |||
| ca860a0243 | |||
| 2e36221018 | |||
| 07e203513a | |||
| 31960ce940 | |||
| 19118911b9 | |||
| 652ae4cf51 | |||
| cf340f73f1 | |||
| 3782ed9055 | |||
| c3076fdbfc | |||
| 739fcbdf09 | |||
| 19b3adc222 | |||
| 388629d36e | |||
| 912b1d3df3 | |||
| 11e4ad09d3 | |||
| 8844f76b65 | |||
| ec24126e75 | |||
| b3c6845e68 | |||
| cf8df182ba | |||
|
|
30cc8419c5 | ||
|
|
5ab6c5989e | ||
|
|
46df3d9f11 | ||
| 6a6759087c | |||
| a7ce1db7c5 | |||
| a0efefad3f | |||
| 8e0825b6b9 | |||
| 39d14c8496 | |||
| 89442ea6c6 | |||
| a66fe122c4 | |||
|
|
2e0abaa284 | ||
|
|
5bddc548de | ||
| 4acd0879b0 | |||
| 060943ee53 | |||
| 80be0490eb | |||
| ceacee8e6c | |||
| d5453c9b04 | |||
| 7ca3306c6f | |||
| aa5d175027 | |||
| d4ddc4e940 | |||
| 87f12019ac | |||
| 128d7adf89 | |||
| ee42bdcf83 | |||
| 5972db035d | |||
| 92388df5c7 | |||
| 274009d3fa | |||
| d7e5a09540 | |||
| 7f5b2e0abf | |||
| fbd3aa7121 | |||
| 2ca601b5f8 | |||
|
|
d77ecee9bd | ||
| c2a3b5e246 | |||
| 09bf28eed1 | |||
| 33c20dd2b7 | |||
|
|
c933810b6b | ||
|
|
df92a65f5d | ||
|
|
dbcab12f24 | ||
|
|
454193490d | ||
|
|
c79298b60a | ||
|
|
26808d7b49 | ||
|
|
2062ff0777 | ||
|
|
6adeb790a0 | ||
|
|
2546b89b44 | ||
| 84f4a152a8 | |||
| d6f8698189 | |||
| 4f80c719c2 | |||
| 7d8b5c9549 | |||
|
|
ec58317b35 | ||
|
|
7c70e944b1 | ||
|
|
f397c82c6d | ||
|
|
81e3ceb4dc | ||
|
|
7bec249e8d | ||
|
|
70b30b545b | ||
|
|
ed2eebf99d | ||
|
|
4ba2c384d7 | ||
|
|
7f27399f3c | ||
|
|
61389e117b | ||
|
|
46cc245abf | ||
|
|
a372531849 | ||
|
|
8a8323ac8d | ||
|
|
8e6d4fbb89 | ||
|
|
886307f24c |
5
.gitignore
vendored
@@ -1,5 +1,10 @@
|
||||
.vscode/settings.json
|
||||
.idea
|
||||
.history
|
||||
todo.md
|
||||
/.vscode
|
||||
/ignored/
|
||||
/node_modules/
|
||||
/jsconfig.json
|
||||
/package.json
|
||||
/package-lock.json
|
||||
|
||||
BIN
icons/sante/blessure-mort.webp
Normal file
|
After Width: | Height: | Size: 5.1 KiB |
BIN
icons/sante/blessure-soins.webp
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
icons/sante/blessure.webp
Normal file
|
After Width: | Height: | Size: 6.6 KiB |
BIN
icons/sante/eraflure.webp
Normal file
|
After Width: | Height: | Size: 4.8 KiB |
BIN
icons/sante/mort.webp
Normal file
|
After Width: | Height: | Size: 7.6 KiB |
BIN
icons/services/bacquet-eau.webp
Normal file
|
After Width: | Height: | Size: 8.1 KiB |
BIN
icons/services/biere.webp
Normal file
|
After Width: | Height: | Size: 6.2 KiB |
BIN
icons/services/brandevin.webp
Normal file
|
After Width: | Height: | Size: 6.0 KiB |
BIN
icons/services/commerce.webp
Normal file
|
After Width: | Height: | Size: 6.2 KiB |
BIN
icons/services/compagnie.webp
Normal file
|
After Width: | Height: | Size: 6.4 KiB |
BIN
icons/services/lit.webp
Normal file
|
After Width: | Height: | Size: 7.0 KiB |
BIN
icons/services/paiement.webp
Normal file
|
After Width: | Height: | Size: 5.1 KiB |
BIN
icons/services/repas.webp
Normal file
|
After Width: | Height: | Size: 5.9 KiB |
BIN
icons/services/verre.webp
Normal file
|
After Width: | Height: | Size: 5.1 KiB |
BIN
icons/services/vin.webp
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
64
lang/fr.json
@@ -3,48 +3,52 @@
|
||||
"TypePersonnage": "Personnage",
|
||||
"TypeCreature": "Créature",
|
||||
"TypeEntite": "Entité de cauchemar",
|
||||
"TypeCommerce": "Commerce",
|
||||
"TypeVehicule": "Véhicule"
|
||||
},
|
||||
"ITEM": {
|
||||
"TypeObjet": "Objet",
|
||||
"TypeGemme": "Gemme",
|
||||
"TypeCompetence": "Compétence",
|
||||
"TypeCompetencecreature": "Compétence de créature",
|
||||
"TypeMaladie": "Maladie",
|
||||
"TypePoison": "Poison",
|
||||
"TypeNombreastral": "Nombre astral",
|
||||
"TypeTarot": "Carte de tarot",
|
||||
"TypeCasetmr": "TMR spéciale",
|
||||
"TypeRencontre": "Rencontre TMR",
|
||||
"TypeMunition": "Munition",
|
||||
"TypeMonnaie": "Monnaie",
|
||||
"TypeHerbe": "Herbe ou plante",
|
||||
"TypeIngredient": "Ingrédient",
|
||||
"TypeFaune": "Faune",
|
||||
"TypeLivre": "Livre",
|
||||
"TypePotion": "Potion",
|
||||
"TypeArme": "Arme",
|
||||
"TypeArmure": "Armure",
|
||||
"TypeConteneur": "Conteneur",
|
||||
"TypeNourritureboisson": "Nourriture & boisson",
|
||||
"TypeBlessure": "Blessure",
|
||||
"TypeCasetmr": "TMR spéciale",
|
||||
"TypeChant": "Chant",
|
||||
"TypeCompetence": "Compétence",
|
||||
"TypeCompetencecreature": "Compétence de créature",
|
||||
"TypeConteneur": "Conteneur",
|
||||
"TypeDanse": "Danse",
|
||||
"TypeMusique": "Musique",
|
||||
"TypeOeuvre": "Oeuvre",
|
||||
"TypeTache": "Tâche",
|
||||
"TypeExtraitpoetique": "Extrait poetique",
|
||||
"TypeFaune": "Faune",
|
||||
"TypeGemme": "Gemme",
|
||||
"TypeHerbe": "Herbe",
|
||||
"TypeIngredient": "Ingrédient",
|
||||
"TypeJeu": "Jeu",
|
||||
"TypeLivre": "Livre",
|
||||
"TypeMaladie": "Maladie",
|
||||
"TypeMeditation": "Méditation",
|
||||
"TypeMonnaie": "Monnaie",
|
||||
"TypeMunition": "Munition",
|
||||
"TypeMusique": "Musique",
|
||||
"TypeNombreastral": "Nombre astral",
|
||||
"TypeNourritureboisson": "Nourriture & boisson",
|
||||
"TypeObjet": "Objet",
|
||||
"TypeOeuvre": "Oeuvre",
|
||||
"TypeOmbre": "Ombre de Thanatos",
|
||||
"TypePlante": "Plante",
|
||||
"TypePoison": "Poison",
|
||||
"TypePossession": "Possession",
|
||||
"TypePotion": "Potion",
|
||||
"TypeQueue": "Queue de Dragon",
|
||||
"TypeRecettealchimique": "Recette alchimique",
|
||||
"TypeRecettecuisine": "Recette de cuisine",
|
||||
"TypeSort": "Sort",
|
||||
"TypeMeditation": "Méditation",
|
||||
"TypeRencontre": "Rencontre TMR",
|
||||
"TypeService": "Service",
|
||||
"TypeSignedraconique": "Signe draconique",
|
||||
"TypeQueue": "Queue de Dragon",
|
||||
"TypeOmbre": "Ombre de Thanatos",
|
||||
"TypeSouffle": "Souffle de Dragon",
|
||||
"TypeTete": "Tête de Dragon",
|
||||
"TypePossession": "Possession",
|
||||
"TypeSort": "Sort",
|
||||
"TypeSortreserve": "Sort en réserve",
|
||||
"TypeExtraitpoetique": "Extrait poetique"
|
||||
"TypeSouffle": "Souffle de Dragon",
|
||||
"TypeTache": "Tâche",
|
||||
"TypeTarot": "Carte de tarot",
|
||||
"TypeTete": "Tête de Dragon"
|
||||
},
|
||||
"EFFECT": {
|
||||
"StatusStunned": "Sonné",
|
||||
|
||||
@@ -40,11 +40,4 @@ export class RdDActorCreatureSheet extends RdDActorSheet {
|
||||
this.actor.updateCreatureCompetence(compName, "dommages", parseInt(event.target.value));
|
||||
});
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/** @override */
|
||||
_updateObject(event, formData) {
|
||||
// Update the Actor
|
||||
return this.object.update(formData);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,15 +10,17 @@ import { DialogSplitItem } from "./dialog-split-item.js";
|
||||
import { ReglesOptionelles } from "./settings/regles-optionelles.js";
|
||||
import { RdDSheetUtility } from "./rdd-sheet-utility.js";
|
||||
import { STATUSES } from "./settings/status-effects.js";
|
||||
import { Monnaie } from "./item-monnaie.js";
|
||||
import { MAINS_DIRECTRICES } from "./actor.js";
|
||||
import { RdDBaseActorSheet } from "./actor/base-actor-sheet.js";
|
||||
import { RdDItem } from "./item.js";
|
||||
import { RdDItemBlessure } from "./item/blessure.js";
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/**
|
||||
* Extend the basic ActorSheet with some very simple modifications
|
||||
* @extends {ActorSheet}
|
||||
*/
|
||||
export class RdDActorSheet extends ActorSheet {
|
||||
export class RdDActorSheet extends RdDBaseActorSheet {
|
||||
|
||||
/** @override */
|
||||
static get defaultOptions() {
|
||||
@@ -36,42 +38,26 @@ export class RdDActorSheet extends ActorSheet {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async getData() {
|
||||
this.timerRecherche = undefined;
|
||||
this.actor.computeEtatGeneral();
|
||||
|
||||
let formData = {
|
||||
title: this.title,
|
||||
id: this.actor.id,
|
||||
type: this.actor.type,
|
||||
img: this.actor.img,
|
||||
name: this.actor.name,
|
||||
let formData = await super.getData();
|
||||
mergeObject(formData,
|
||||
{
|
||||
editable: this.isEditable,
|
||||
cssClass: this.isEditable ? "editable" : "locked",
|
||||
system: foundry.utils.deepClone(this.actor.system),
|
||||
effects: this.actor.effects.map(e => foundry.utils.deepClone(e)),
|
||||
limited: this.actor.limited,
|
||||
options: this.options,
|
||||
owner: this.actor.isOwner,
|
||||
description: await TextEditor.enrichHTML(this.object.system.description, { async: true }),
|
||||
biographie: await TextEditor.enrichHTML(this.object.system.biographie, { async: true }),
|
||||
notes: await TextEditor.enrichHTML(this.object.system.notes, { async: true }),
|
||||
notesmj: await TextEditor.enrichHTML(this.object.system.notesmj, { async: true }),
|
||||
calc: {
|
||||
fortune: Monnaie.getFortune(this.actor),
|
||||
encTotal: await this.actor.computeEncombrementTotalEtMalusArmure(),
|
||||
biographie: await TextEditor.enrichHTML(this.actor.system.biographie, { async: true }),
|
||||
notes: await TextEditor.enrichHTML(this.actor.system.notes, { async: true }),
|
||||
});
|
||||
mergeObject(formData.calc, {
|
||||
surenc: this.actor.computeMalusSurEncombrement(),
|
||||
prixTotalEquipement: this.actor.computePrixTotalEquipement(),
|
||||
surprise: RdDBonus.find(this.actor.getSurprise(false)).descr,
|
||||
resumeBlessures: this.actor.computeResumeBlessure(this.actor.system.blessures),
|
||||
caracTotal: RdDCarac.computeTotal(this.actor.system.carac, this.actor.system.beaute),
|
||||
surEncombrementMessage: this.actor.getMessageSurEncombrement(),
|
||||
},
|
||||
}
|
||||
formData.options.isGM = game.user.isGM;
|
||||
})
|
||||
|
||||
RdDUtility.filterItemsPerTypeForSheet(formData, this.actor.itemTypes);
|
||||
this.objetVersConteneur = RdDUtility.buildArbreDeConteneurs(formData.conteneurs, formData.objets);
|
||||
formData.conteneurs = RdDUtility.conteneursRacine(formData.conteneurs);
|
||||
this.timerRecherche = undefined;
|
||||
|
||||
if (formData.type == 'personnage') {
|
||||
formData.options.mainsDirectrices = MAINS_DIRECTRICES;
|
||||
@@ -81,9 +67,9 @@ export class RdDActorSheet extends ActorSheet {
|
||||
formData.calc.fatigue = RdDUtility.calculFatigueHtml(formData.system.sante.fatigue.value, formData.system.sante.endurance.max);
|
||||
|
||||
formData.competences.forEach(item => {
|
||||
item.system.isVisible = this.options.recherche
|
||||
? RdDItemCompetence.nomContientTexte(item, this.options.recherche.text)
|
||||
: (!this.options.showCompNiveauBase || !RdDItemCompetence.isNiveauBase(item));
|
||||
item.system.isHidden = this.options.recherche
|
||||
? !item.isNomLike(this.options.recherche.text)
|
||||
: (this.options.showCompNiveauBase && RdDItemCompetence.isNiveauBase(item));
|
||||
RdDItemCompetence.levelUp(item, formData.system.compteurs.experience.value);
|
||||
});
|
||||
|
||||
@@ -125,22 +111,14 @@ export class RdDActorSheet extends ActorSheet {
|
||||
/* -------------------------------------------- */ /** @override */
|
||||
activateListeners(html) {
|
||||
super.activateListeners(html);
|
||||
this.html = html;
|
||||
|
||||
HtmlUtility._showControlWhen(this.html.find(".appliquerFatigue"), ReglesOptionelles.isUsing("appliquer-fatigue"));
|
||||
HtmlUtility.showControlWhen(this.html.find(".appliquerFatigue"), ReglesOptionelles.isUsing("appliquer-fatigue"));
|
||||
|
||||
// Everything below here is only needed if the sheet is editable
|
||||
if (!this.options.editable) return;
|
||||
|
||||
this.html.find('.item-split').click(async event => {
|
||||
const item = RdDSheetUtility.getItem(event, this.actor);
|
||||
RdDSheetUtility.splitItem(item, this.actor);
|
||||
});
|
||||
this.html.find('.item-edit').click(async event => RdDSheetUtility.getItem(event, this.actor)?.sheet.render(true))
|
||||
this.html.find('.item-delete').click(async event => RdDUtility.confirmerSuppressionItem(this, RdDSheetUtility.getItem(event, this.actor)));
|
||||
this.html.find('.item-vendre').click(async event => RdDSheetUtility.getItem(event, this.actor)?.proposerVente());
|
||||
this.html.find('.item-montrer').click(async event => RdDSheetUtility.getItem(event, this.actor)?.postItem());
|
||||
this.html.find('.item-action').click(async event => RdDSheetUtility.getItem(event, this.actor)?.actionPrincipale(this.actor));
|
||||
|
||||
this.html.find('.subacteur-delete').click(async event => {
|
||||
const li = RdDSheetUtility.getEventElement(event);
|
||||
const actorId = li.data("actor-id");
|
||||
@@ -174,39 +152,31 @@ export class RdDActorSheet extends ActorSheet {
|
||||
this.html.find('.creer-tache').click(async event => {
|
||||
this.createEmptyTache();
|
||||
});
|
||||
this.html.find('.creer-un-objet').click(async event => {
|
||||
RdDUtility.selectObjetType(this);
|
||||
});
|
||||
this.html.find('.creer-tache-blessure-legere').click(async event => RdDItemBlessure.createTacheSoinBlessure(this.actor, 2));
|
||||
this.html.find('.creer-tache-blessure-grave').click(async event => RdDItemBlessure.createTacheSoinBlessure(this.actor, 4));
|
||||
this.html.find('.creer-tache-blessure-critique').click(async event => RdDItemBlessure.createTacheSoinBlessure(this.actor, 6));
|
||||
this.html.find('.creer-blessure-legere').click(async event => RdDItemBlessure.createBlessure(this.actor, 2));
|
||||
this.html.find('.creer-blessure-grave').click(async event => RdDItemBlessure.createBlessure(this.actor, 4));
|
||||
this.html.find('.creer-blessure-critique').click(async event => RdDItemBlessure.createBlessure(this.actor, 6));
|
||||
this.html.find('.creer-une-oeuvre').click(async event => {
|
||||
RdDUtility.selectTypeOeuvre(this);
|
||||
});
|
||||
this.html.find('.nettoyer-conteneurs').click(async event => {
|
||||
this.actor.nettoyerConteneurs();
|
||||
this.selectTypeOeuvreToCreate();
|
||||
});
|
||||
|
||||
// Blessure control
|
||||
this.html.find('.blessure-control').click(async event => {
|
||||
const tr = this.html.find(event.currentTarget).parents(".item");
|
||||
let btype = tr.data("blessure-type");
|
||||
let index = tr.data('blessure-index');
|
||||
let active = this.html.find(event.currentTarget).data('blessure-active');
|
||||
//console.log(btype, index, active);
|
||||
await this.actor.manageBlessureFromSheet(btype, index, active);
|
||||
this.html.find('.blessure-premierssoins-done').change(async event => {
|
||||
const blessure = this.getBlessure(event);
|
||||
await blessure?.setSoinsBlessure({ premierssoins: { done: event.currentTarget.checked } });
|
||||
});
|
||||
|
||||
// Blessure data
|
||||
this.html.find('.blessure-soins').change(async event => {
|
||||
const tr = this.html.find(event.currentTarget).parents(".item");
|
||||
let btype = tr.data('blessure-type');
|
||||
let index = tr.data('blessure-index');
|
||||
let psoins = tr.find('.blessure-premiers_soins').val();
|
||||
let pcomplets = tr.find('.blessure-soins_complets').val();
|
||||
let jours = tr.find('.blessure-jours').val();
|
||||
let loc = tr.find('.blessure-localisation').val();
|
||||
let psdone = tr.find('.blessure-psdone:checked').val();
|
||||
let scdone = tr.find('.blessure-scdone:checked').val();
|
||||
console.log(btype, index, psoins, pcomplets, jours, loc, psdone, scdone);
|
||||
await this.actor.setDataBlessureFromSheet(btype, index, psoins, pcomplets, jours, loc, psdone, scdone);
|
||||
this.html.find('.blessure-soinscomplets-done').change(async event => {
|
||||
const blessure = this.getBlessure(event);
|
||||
await blessure?.setSoinsBlessure({ soinscomplets: { done: event.currentTarget.checked } })
|
||||
});
|
||||
this.html.find('.blessure-premierssoins-bonus').change(async event => {
|
||||
const blessure = this.getBlessure(event);
|
||||
await blessure?.setSoinsBlessure({ premierssoins: { bonus: Number(event.currentTarget.value) } })
|
||||
});
|
||||
this.html.find('.blessure-soinscomplets-bonus').change(async event => {
|
||||
const blessure = this.getBlessure(event);
|
||||
await blessure?.setSoinsBlessure({ soinscomplets: { bonus: Number(event.currentTarget.value) } })
|
||||
});
|
||||
|
||||
// Equip Inventory Item
|
||||
@@ -278,7 +248,7 @@ export class RdDActorSheet extends ActorSheet {
|
||||
|
||||
// Points de reve actuel
|
||||
this.html.find('.ptreve-actuel a').click(async event => {
|
||||
this.actor.rollCarac('reve-actuel');
|
||||
this.actor.rollCarac('reve-actuel', true);
|
||||
});
|
||||
|
||||
// Roll Weapon1
|
||||
@@ -325,10 +295,6 @@ export class RdDActorSheet extends ActorSheet {
|
||||
await this.actor.removeEffects();
|
||||
}
|
||||
});
|
||||
this.html.find('.conteneur-name a').click(async event => {
|
||||
RdDUtility.toggleAfficheContenu(RdDSheetUtility.getItemId(event));
|
||||
this.render(true);
|
||||
});
|
||||
this.html.find('.carac-xp-augmenter').click(async event => {
|
||||
let caracName = event.currentTarget.name.replace("augmenter.", "");
|
||||
this.actor.updateCaracXPAuto(caracName);
|
||||
@@ -378,29 +344,6 @@ export class RdDActorSheet extends ActorSheet {
|
||||
this.render(true);
|
||||
});
|
||||
|
||||
this.html.find('.recherche')
|
||||
.each((index, field) => {
|
||||
if (this.options.recherche) {
|
||||
field.focus();
|
||||
field.setSelectionRange(this.options.recherche.start, this.options.recherche.end);
|
||||
}
|
||||
})
|
||||
.keyup(async event => {
|
||||
const nouvelleRecherche = this._optionRecherche(event.currentTarget);
|
||||
if (this.options.recherche?.text != nouvelleRecherche?.text) {
|
||||
this.options.recherche = nouvelleRecherche;
|
||||
if (this.timerRecherche) {
|
||||
clearTimeout(this.timerRecherche);
|
||||
}
|
||||
this.timerRecherche = setTimeout(() => {
|
||||
this.timerRecherche = undefined;
|
||||
this.render(true);
|
||||
}, 500);
|
||||
}
|
||||
})
|
||||
.change(async event =>
|
||||
this.options.recherche = this._optionRecherche(event.currentTarget)
|
||||
);
|
||||
this.html.find('.vue-detaillee').click(async event => {
|
||||
this.options.vueDetaillee = !this.options.vueDetaillee;
|
||||
this.render(true);
|
||||
@@ -418,19 +361,12 @@ export class RdDActorSheet extends ActorSheet {
|
||||
this.actor.setPointsDeSeuil(event.currentTarget.value);
|
||||
});
|
||||
|
||||
this.html.find('#attribut-protection-edit').change(async event => {
|
||||
this.actor.updateAttributeValue(event.currentTarget.attributes.name.value, parseInt(event.target.value));
|
||||
});
|
||||
|
||||
// On stress change
|
||||
this.html.find('.compteur-edit').change(async event => {
|
||||
let fieldName = event.currentTarget.attributes.name.value;
|
||||
this.actor.updateCompteurValue(fieldName, parseInt(event.target.value));
|
||||
});
|
||||
|
||||
this.html.find('#ethylisme').change(async event => {
|
||||
this.actor.setEthylisme(parseInt(event.target.value));
|
||||
});
|
||||
this.html.find('.stress-test').click(async event => {
|
||||
this.actor.transformerStress();
|
||||
});
|
||||
@@ -454,13 +390,6 @@ export class RdDActorSheet extends ActorSheet {
|
||||
this.actor.jetEndurance();
|
||||
});
|
||||
|
||||
this.html.find('.monnaie-plus').click(async event => {
|
||||
this.actor.monnaieIncDec(RdDSheetUtility.getItemId(event), 1);
|
||||
});
|
||||
this.html.find('.monnaie-moins').click(async event => {
|
||||
this.actor.monnaieIncDec(RdDSheetUtility.getItemId(event), -1);
|
||||
});
|
||||
|
||||
this.html.find('.vie-plus').click(async event => {
|
||||
this.actor.santeIncDec("vie", 1);
|
||||
});
|
||||
@@ -487,6 +416,12 @@ export class RdDActorSheet extends ActorSheet {
|
||||
});
|
||||
}
|
||||
|
||||
getBlessure(event) {
|
||||
const itemId = this.html.find(event.currentTarget).parents(".item-blessure").data('item-id');
|
||||
const blessure = this.actor.getItem(itemId, 'blessure');
|
||||
return blessure;
|
||||
}
|
||||
|
||||
isCompetenceAffichable(competence) {
|
||||
return !this.options.showCompNiveauBase || !RdDItemCompetence.isNiveauBase(competence);
|
||||
}
|
||||
@@ -499,36 +434,30 @@ export class RdDActorSheet extends ActorSheet {
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async _onDropItem(event, dragData) {
|
||||
const destItemId = this.html.find(event.target)?.closest('.item').attr('data-item-id')
|
||||
const dropParams = RdDSheetUtility.prepareItemDropParameters(destItemId, this.actor, dragData, this.objetVersConteneur)
|
||||
if (dropParams) {
|
||||
const callSuper = await this.actor.processDropItem(dropParams)
|
||||
if (callSuper) {
|
||||
await super._onDropItem(event, dragData)
|
||||
async selectTypeOeuvreToCreate() {
|
||||
let typeObjets = RdDItem.getTypesOeuvres();
|
||||
let content = `<span class="competence-label">Selectionnez le type d'oeuvre</span><select class="item-type">`;
|
||||
for (let typeName of typeObjets) {
|
||||
content += `<option value="${typeName}">${Misc.typeName('Item', typeName)}</option>`
|
||||
}
|
||||
content += '</select>';
|
||||
let dialog = new Dialog({
|
||||
title: "Créer une oeuvre",
|
||||
content: content,
|
||||
buttons: {
|
||||
create: {
|
||||
icon: '<i class="fas fa-check"></i>',
|
||||
label: "Créer l'oeuvre",
|
||||
callback: () => this.actor.createItem($(".item-type").val())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async createItem(name, type) {
|
||||
await this.actor.createEmbeddedDocuments('Item', [{ name: name, type: type }], { renderSheet: true });
|
||||
});
|
||||
dialog.render(true);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async createEmptyTache() {
|
||||
await this.createItem('Nouvelle tache', 'tache');
|
||||
}
|
||||
|
||||
_optionRecherche(target) {
|
||||
if (!target.value?.length) {
|
||||
return undefined;
|
||||
}
|
||||
return {
|
||||
text: target.value,
|
||||
start: target.selectionStart,
|
||||
end: target.selectionEnd,
|
||||
};
|
||||
await this.actor.createItem('tache', 'Nouvelle tache');
|
||||
}
|
||||
|
||||
_getEventArmeCombat(event) {
|
||||
|
||||
1662
module/actor.js
301
module/actor/base-actor-sheet.js
Normal file
@@ -0,0 +1,301 @@
|
||||
import { RdDUtility } from "../rdd-utility.js";
|
||||
import { Misc } from "../misc.js";
|
||||
import { DialogSplitItem } from "../dialog-split-item.js";
|
||||
import { RdDSheetUtility } from "../rdd-sheet-utility.js";
|
||||
import { Monnaie } from "../item-monnaie.js";
|
||||
import { RdDItem } from "../item.js";
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/**
|
||||
* Extend the basic ActorSheet with some very simple modifications
|
||||
* @extends {ActorSheet}
|
||||
*/
|
||||
export class RdDBaseActorSheet extends ActorSheet {
|
||||
|
||||
/** @override */
|
||||
static get defaultOptions() {
|
||||
RdDUtility.initAfficheContenu();
|
||||
return mergeObject(super.defaultOptions, {
|
||||
classes: ["rdd", "sheet", "actor"],
|
||||
template: "systems/foundryvtt-reve-de-dragon/templates/actor-sheet.html",
|
||||
width: 550,
|
||||
tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "carac" }],
|
||||
dragDrop: [{ dragSelector: ".item-list .item", dropSelector: undefined }],
|
||||
showCompNiveauBase: false,
|
||||
vueDetaillee: false
|
||||
});
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async getData() {
|
||||
Monnaie.validerMonnaies(this.actor.itemTypes['monnaie']);
|
||||
|
||||
this.actor.recompute();
|
||||
let formData = {
|
||||
title: this.title,
|
||||
id: this.actor.id,
|
||||
type: this.actor.type,
|
||||
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 }),
|
||||
options: RdDSheetUtility.mergeDocumentRights(this.options, this.actor, this.isEditable)
|
||||
}
|
||||
|
||||
RdDBaseActorSheet.filterItemsPerTypeForSheet(formData, this.actor.itemTypes);
|
||||
formData.calc = {
|
||||
fortune: Monnaie.toSolsDeniers(this.actor.getFortune()),
|
||||
prixTotalEquipement: this.actor.computePrixTotalEquipement(),
|
||||
encTotal: await this.actor.computeEncTotal(),
|
||||
}
|
||||
|
||||
this.objetVersConteneur = RdDUtility.buildArbreDeConteneurs(formData.conteneurs, formData.objets);
|
||||
this._appliquerRechercheObjets(formData.objets, formData.conteneurs);
|
||||
formData.conteneurs = RdDUtility.conteneursRacine(formData.conteneurs);
|
||||
return formData;
|
||||
}
|
||||
|
||||
_appliquerRechercheObjets(objets, conteneurs) {
|
||||
if (this.options.recherche?.text) {
|
||||
const recherche = this.options.recherche;
|
||||
const allVisible = objets.filter(it => it.isNomTypeLike(recherche.text)).map(it => it.id);
|
||||
let addVisible = conteneurs.filter(it => it.isNomTypeLike(recherche.text)).map(it => it.id)
|
||||
do {
|
||||
allVisible.push(...addVisible)
|
||||
const parentsIds = conteneurs.filter(it => it.system.contenu.find(id => allVisible.includes(id))).map(it => it.id)
|
||||
addVisible = parentsIds.filter(id => !allVisible.includes(id))
|
||||
}
|
||||
while (addVisible.length > 0)
|
||||
objets.forEach(it => it.system.isHidden = !allVisible.includes(it.id))
|
||||
conteneurs.forEach(it => it.system.isHidden = !allVisible.includes(it.id))
|
||||
}
|
||||
else {
|
||||
objets.forEach(it => it.system.isHidden = false)
|
||||
conteneurs.forEach(it => it.system.isHidden = false)
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static filterItemsPerTypeForSheet(formData, itemTypes) {
|
||||
formData.blessures = Misc.arrayOrEmpty(itemTypes['blessure']);
|
||||
formData.recettescuisine = Misc.arrayOrEmpty(itemTypes['recettecuisine']);
|
||||
formData.recettesAlchimiques = Misc.arrayOrEmpty(itemTypes['recettealchimique']);
|
||||
formData.maladies = Misc.arrayOrEmpty(itemTypes['maladie']);
|
||||
formData.poisons = Misc.arrayOrEmpty(itemTypes['poison']);
|
||||
formData.possessions = Misc.arrayOrEmpty(itemTypes['possession']);
|
||||
formData.maladiesPoisons = formData.maladies.concat(formData.poisons);
|
||||
formData.competences = (itemTypes['competence'] ?? []).concat(itemTypes['competencecreature'] ?? []);
|
||||
formData.sortsReserve = Misc.arrayOrEmpty(itemTypes['sortreserve']);
|
||||
|
||||
formData.sorts = Misc.arrayOrEmpty(itemTypes['sort']);
|
||||
formData.rencontres = Misc.arrayOrEmpty(itemTypes['rencontre']);
|
||||
formData.casestmr = Misc.arrayOrEmpty(itemTypes['casetmr']);
|
||||
formData.signesdraconiques = Misc.arrayOrEmpty(itemTypes['signedraconique']);
|
||||
formData.queues = Misc.arrayOrEmpty(itemTypes['queue']);
|
||||
formData.souffles = Misc.arrayOrEmpty(itemTypes['souffle']);
|
||||
formData.ombres = Misc.arrayOrEmpty(itemTypes['ombre']);
|
||||
formData.tetes = Misc.arrayOrEmpty(itemTypes['tete']);
|
||||
formData.taches = Misc.arrayOrEmpty(itemTypes['tache']);
|
||||
formData.meditations = Misc.arrayOrEmpty(itemTypes['meditation']);
|
||||
formData.chants = Misc.arrayOrEmpty(itemTypes['chant']);
|
||||
formData.danses = Misc.arrayOrEmpty(itemTypes['danse']);
|
||||
formData.musiques = Misc.arrayOrEmpty(itemTypes['musique']);
|
||||
formData.oeuvres = Misc.arrayOrEmpty(itemTypes['oeuvre']);
|
||||
formData.jeux = Misc.arrayOrEmpty(itemTypes['jeu']);
|
||||
|
||||
formData.services = Misc.arrayOrEmpty(itemTypes['service']);
|
||||
formData.conteneurs = Misc.arrayOrEmpty(itemTypes['conteneur']);
|
||||
formData.materiel = Misc.arrayOrEmpty(itemTypes['objet']);
|
||||
formData.armes = Misc.arrayOrEmpty(itemTypes['arme']);
|
||||
formData.armures = Misc.arrayOrEmpty(itemTypes['armure']);
|
||||
formData.munitions = Misc.arrayOrEmpty(itemTypes['munition']);
|
||||
formData.livres = Misc.arrayOrEmpty(itemTypes['livre']);
|
||||
formData.potions = Misc.arrayOrEmpty(itemTypes['potion']);
|
||||
formData.plantes = Misc.arrayOrEmpty(itemTypes['plante']);
|
||||
formData.ingredients = Misc.arrayOrEmpty(itemTypes['ingredient']);
|
||||
formData.faunes = Misc.arrayOrEmpty(itemTypes['faune']);
|
||||
formData.herbes = Misc.arrayOrEmpty(itemTypes['herbe']);
|
||||
formData.nourritureboissons = Misc.arrayOrEmpty(itemTypes['nourritureboisson']);
|
||||
formData.gemmes = Misc.arrayOrEmpty(itemTypes['gemme']);
|
||||
formData.monnaie = Misc.arrayOrEmpty(itemTypes['monnaie']).sort(Monnaie.triValeurEntiere());
|
||||
|
||||
formData.objets = RdDItem.getItemTypesInventaire('all')
|
||||
.map(t => Misc.arrayOrEmpty(itemTypes[t]))
|
||||
.reduce((a, b) => a.concat(b), [])
|
||||
.sort(Misc.ascending(it => it.name));
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */ /** @override */
|
||||
activateListeners(html) {
|
||||
super.activateListeners(html);
|
||||
this.html = html;
|
||||
|
||||
this.html.find('.conteneur-name a').click(async event => {
|
||||
RdDUtility.toggleAfficheContenu(this.getItemId(event));
|
||||
this.render(true);
|
||||
});
|
||||
this.html.find('.item-edit').click(async event => this.getItem(event)?.sheet.render(true))
|
||||
this.html.find('.item-montrer').click(async event => this.getItem(event)?.postItemToChat());
|
||||
this.html.find('.actor-montrer').click(async event => this.actor.postActorToChat());
|
||||
this.html.find('.recherche')
|
||||
.each((index, field) => {
|
||||
this._rechercheSelectArea(field);
|
||||
})
|
||||
.keyup(async event => this._rechercherKeyup(event))
|
||||
.change(async event => this._rechercherKeyup(event));
|
||||
this.html.find('.recherche').prop( "disabled", false );
|
||||
// Everything below here is only needed if the sheet is editable
|
||||
if (!this.options.editable) return;
|
||||
|
||||
this.html.find('.item-split').click(async event => {
|
||||
const item = this.getItem(event);
|
||||
RdDSheetUtility.splitItem(item, this.actor);
|
||||
});
|
||||
this.html.find('.item-delete').click(async event => RdDUtility.confirmActorItemDelete(this, this.getItem(event)));
|
||||
this.html.find('.item-vendre').click(async event => this.vendre(this.getItem(event)));
|
||||
|
||||
this.html.find('.creer-un-objet').click(async event => {
|
||||
this.selectObjetTypeToCreate();
|
||||
});
|
||||
this.html.find('.nettoyer-conteneurs').click(async event => {
|
||||
this.actor.nettoyerConteneurs();
|
||||
});
|
||||
this.html.find('.monnaie-plus').click(async event => {
|
||||
this.actor.monnaieIncDec(this.getItemId(event), 1);
|
||||
});
|
||||
this.html.find('.monnaie-moins').click(async event => {
|
||||
this.actor.monnaieIncDec(this.getItemId(event), -1);
|
||||
});
|
||||
}
|
||||
|
||||
_rechercherKeyup(event) {
|
||||
const currentTarget = event.currentTarget;
|
||||
const nouvelleRecherche = this._optionRecherche(currentTarget);
|
||||
if (this.options.recherche?.text != nouvelleRecherche?.text) {
|
||||
this.options.recherche = nouvelleRecherche;
|
||||
if (this.timerRecherche) {
|
||||
clearTimeout(this.timerRecherche);
|
||||
}
|
||||
this.timerRecherche = setTimeout(() => {
|
||||
this.timerRecherche = undefined;
|
||||
this.render(true);
|
||||
}, 500);
|
||||
}
|
||||
}
|
||||
|
||||
_rechercheSelectArea(field) {
|
||||
if (this.options.recherche) {
|
||||
field.focus();
|
||||
field.setSelectionRange(this.options.recherche.start, this.options.recherche.end);
|
||||
}
|
||||
}
|
||||
|
||||
getItemId(event) {
|
||||
return RdDSheetUtility.getItemId(event);
|
||||
}
|
||||
|
||||
getItem(event) {
|
||||
return RdDSheetUtility.getItem(event, this.actor);
|
||||
}
|
||||
|
||||
_optionRecherche(target) {
|
||||
if (!target.value?.length) {
|
||||
return undefined;
|
||||
}
|
||||
return {
|
||||
text: target.value,
|
||||
start: target.selectionStart,
|
||||
end: target.selectionEnd,
|
||||
};
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
_getHeaderButtons() {
|
||||
let buttons = super._getHeaderButtons();
|
||||
buttons.unshift({
|
||||
class: "montrer",
|
||||
icon: "fas fa-comment",
|
||||
onclick: ev => this.actor.postActorToChat()
|
||||
});
|
||||
return buttons
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async _onDropItem(event, dragData) {
|
||||
const destItemId = this.html.find(event.target)?.closest('.item').attr('data-item-id')
|
||||
const dropParams = await RdDSheetUtility.prepareItemDropParameters(destItemId, this.actor, dragData, this.objetVersConteneur)
|
||||
if (dropParams) {
|
||||
const callSuper = await this.actor.processDropItem(dropParams)
|
||||
if (callSuper) {
|
||||
await super._onDropItem(event, dragData)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async selectObjetTypeToCreate() {
|
||||
let typeObjets = this.getTypesInventaire().sort(Misc.ascending(type => Misc.typeName('Item', type)));
|
||||
let content = `<span class="competence-label">Selectionnez le type d'équipement</span><select class="item-type">`;
|
||||
for (let typeName of typeObjets) {
|
||||
content += `<option value="${typeName}">${Misc.typeName('Item', typeName)}</option>`
|
||||
}
|
||||
content += '</select>';
|
||||
let d = new Dialog({
|
||||
title: "Créer un équipement",
|
||||
content: content,
|
||||
buttons: {
|
||||
create: {
|
||||
icon: '<i class="fas fa-check"></i>',
|
||||
label: "Créer l'objet",
|
||||
callback: () => this.actor.createItem($(".item-type").val())
|
||||
}
|
||||
}
|
||||
});
|
||||
d.render(true);
|
||||
}
|
||||
|
||||
getTypesInventaire() {
|
||||
return RdDItem.getItemTypesInventaire();
|
||||
}
|
||||
|
||||
/** @override */
|
||||
setPosition(options = {}) {
|
||||
const position = super.setPosition(options);
|
||||
const sheetHeader = this.element.find(".sheet-header");
|
||||
const sheetTabs = this.element.find(".sheet-tabs");
|
||||
const sheetBody = this.element.find(".sheet-body");
|
||||
let bodyHeight = position.height - sheetHeader[0].clientHeight;
|
||||
if (sheetTabs.length > 0) {
|
||||
bodyHeight -= sheetTabs[0].clientHeight;
|
||||
}
|
||||
sheetBody.css("height", bodyHeight);
|
||||
return position;
|
||||
}
|
||||
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/** @override */
|
||||
_updateObject(event, formData) {
|
||||
// Update the Actor
|
||||
return this.actor.update(formData);
|
||||
}
|
||||
|
||||
async splitItem(item) {
|
||||
const dialog = await DialogSplitItem.create(item, (item, split) => this._onSplitItem(item, split));
|
||||
dialog.render(true);
|
||||
}
|
||||
|
||||
async _onSplitItem(item, split) {
|
||||
if (split >= 1 && split < item.system.quantite) {
|
||||
await item.diminuerQuantite(split);
|
||||
const splitItem = duplicate(item);
|
||||
splitItem.system.quantite = split;
|
||||
await this.actor.createEmbeddedDocuments('Item', [splitItem])
|
||||
}
|
||||
}
|
||||
|
||||
vendre(item) {
|
||||
item?.proposerVente(this.actor.getQuantiteDisponible(item));
|
||||
}
|
||||
|
||||
}
|
||||
630
module/actor/base-actor.js
Normal file
@@ -0,0 +1,630 @@
|
||||
import { ChatUtility } from "../chat-utility.js";
|
||||
import { SYSTEM_SOCKET_ID } from "../constants.js";
|
||||
import { Monnaie } from "../item-monnaie.js";
|
||||
import { Misc } from "../misc.js";
|
||||
import { RdDAudio } from "../rdd-audio.js";
|
||||
import { RdDUtility } from "../rdd-utility.js";
|
||||
import { SystemCompendiums } from "../settings/system-compendiums.js";
|
||||
import { APP_ASTROLOGIE_REFRESH } from "../sommeil/app-astrologie.js";
|
||||
|
||||
export class RdDBaseActor extends Actor {
|
||||
|
||||
static getDefaultImg(itemType) {
|
||||
return game.system.rdd.actorClasses[itemType]?.defaultIcon ?? defaultItemImg[itemType];
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static init() {
|
||||
Hooks.on("preUpdateItem", (item, change, options, id) => RdDBaseActor.getParentActor(item)?.onPreUpdateItem(item, change, options, id));
|
||||
Hooks.on("createItem", (item, options, id) => RdDBaseActor.getParentActor(item)?.onCreateItem(item, options, id));
|
||||
Hooks.on("deleteItem", (item, options, id) => RdDBaseActor.getParentActor(item)?.onDeleteItem(item, options, id));
|
||||
Hooks.on("updateActor", (actor, change, options, actorId) => actor.onUpdateActor(change, options, actorId));
|
||||
}
|
||||
|
||||
static onSocketMessage(sockmsg) {
|
||||
switch (sockmsg.msg) {
|
||||
case "msg_remote_actor_call":
|
||||
return RdDBaseActor.onRemoteActorCall(sockmsg.data, sockmsg.userId);
|
||||
case "msg_reset_nombre_astral":
|
||||
game.user.character.resetNombresAstraux();
|
||||
game.system.rdd.calendrier.notifyChangeNombresAstraux();
|
||||
return;
|
||||
case "msg_refresh_nombre_astral":
|
||||
Hooks.callAll(APP_ASTROLOGIE_REFRESH);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
static remoteActorCall(callData, userId = undefined) {
|
||||
userId = userId ?? Misc.firstConnectedGMId();
|
||||
if (userId == game.user.id) {
|
||||
RdDBaseActor.onRemoteActorCall(callData, userId);
|
||||
return false;
|
||||
}
|
||||
else {
|
||||
game.socket.emit(SYSTEM_SOCKET_ID, { msg: "msg_remote_actor_call", data: callData, userId: userId });
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
static onRemoteActorCall(callData, userId) {
|
||||
if (userId == game.user.id) {
|
||||
const actor = game.actors.get(callData?.actorId);
|
||||
if (Misc.isOwnerPlayerOrUniqueConnectedGM(actor)) { // Seul le joueur choisi effectue l'appel: le joueur courant si propriétaire de l'actor, ou le MJ sinon
|
||||
const args = callData.args;
|
||||
console.info(`RdDBaseActor.onRemoteActorCall: pour l'Actor ${callData.actorId}, appel de RdDBaseActor.${callData.method}(`, ...args, ')');
|
||||
actor[callData.method](...args);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static getParentActor(document) {
|
||||
return document?.parent instanceof Actor ? document.parent : undefined
|
||||
}
|
||||
|
||||
/**
|
||||
* Cet methode surcharge Actor.create() pour ajouter si besoin des Items par défaut:
|
||||
* compétences et monnaies.
|
||||
*
|
||||
* @param {Object} actorData template d'acteur auquel ajouter des informations.
|
||||
* @param {Object} options optionspour customiser la création
|
||||
*/
|
||||
static async create(actorData, options) {
|
||||
// import depuis un compendium
|
||||
if (actorData instanceof Array) {
|
||||
return super.create(actorData, options);
|
||||
}
|
||||
// Création d'un acteur avec des items (uniquement en cas de duplication): pas besoin d'ajouter d'items
|
||||
if (actorData.items) {
|
||||
return await super.create(actorData, options);
|
||||
}
|
||||
actorData.items = [];
|
||||
if (actorData.type == "personnage") {
|
||||
const competences = await SystemCompendiums.getCompetences(actorData.type);
|
||||
actorData.items = actorData.items.concat(competences.map(i => i.toObject()))
|
||||
.concat(Monnaie.monnaiesStandard());
|
||||
}
|
||||
else if (actorData.type == "commerce") {
|
||||
actorData.items = actorData.items.concat(Monnaie.monnaiesStandard());
|
||||
}
|
||||
return super.create(actorData, options);
|
||||
}
|
||||
|
||||
constructor(docData, context = {}) {
|
||||
if (!context.rdd?.ready) {
|
||||
mergeObject(context, { rdd: { ready: true } });
|
||||
const ActorConstructor = game.system.rdd.actorClasses[docData.type];
|
||||
if (ActorConstructor) {
|
||||
if (!docData.img) {
|
||||
docData.img = ActorConstructor.defaultIcon;
|
||||
}
|
||||
return new ActorConstructor(docData, context);
|
||||
}
|
||||
}
|
||||
super(docData, context);
|
||||
}
|
||||
|
||||
isCreatureEntite() { return this.type == 'creature' || this.type == 'entite'; }
|
||||
isCreature() { return this.type == 'creature'; }
|
||||
isEntite() { return this.type == 'entite'; }
|
||||
isPersonnage() { return this.type == 'personnage'; }
|
||||
isVehicule() { return this.type == 'vehicule'; }
|
||||
|
||||
getItem(id, type = undefined) {
|
||||
const item = this.items.get(id);
|
||||
if (type == undefined || (item?.type == type)) {
|
||||
return item;
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
|
||||
listItems(type = undefined) { return (type ? this.itemTypes[type] : this.items); }
|
||||
filterItems(filter, type = undefined) { return this.listItems(type)?.filter(filter) ?? []; }
|
||||
findItemLike(idOrName, type) {
|
||||
return this.getItem(idOrName, type)
|
||||
?? Misc.findFirstLike(idOrName, this.listItems(type), { description: Misc.typeName('Item', type) });
|
||||
}
|
||||
|
||||
getMonnaie(id) { return this.findItemLike(id, 'monnaie'); }
|
||||
|
||||
recompute() { }
|
||||
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async onPreUpdateItem(item, change, options, id) { }
|
||||
|
||||
async onCreateItem(item, options, id) { }
|
||||
|
||||
async onDeleteItem(item, options, id) { }
|
||||
|
||||
async onUpdateActor(update, options, actorId) { }
|
||||
|
||||
async onTimeChanging(oldTimestamp, newTimestamp) {
|
||||
this.items.filter(it => it.isFinPeriode(oldTimestamp, newTimestamp))
|
||||
.forEach(async it => await it.onFinPeriodeTemporel(oldTimestamp, newTimestamp))
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
getFortune() {
|
||||
return Monnaie.getFortune(this.itemTypes['monnaie']);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async monnaieIncDec(id, value) {
|
||||
let monnaie = this.getMonnaie(id);
|
||||
if (monnaie) {
|
||||
const quantite = Math.max(0, monnaie.system.quantite + value);
|
||||
await this.updateEmbeddedDocuments('Item', [{ _id: monnaie.id, 'system.quantite': quantite }]);
|
||||
}
|
||||
}
|
||||
|
||||
computePrixTotalEquipement() {
|
||||
return this.items.filter(it => it.isInventaire())
|
||||
.filter(it => !it.isMonnaie())
|
||||
.map(it => it.valeurTotale())
|
||||
.reduce(Misc.sum(), 0);
|
||||
}
|
||||
|
||||
async payerSols(depense) {
|
||||
depense = Number(depense);
|
||||
if (depense == 0) {
|
||||
return;
|
||||
}
|
||||
let fortune = this.getFortune();
|
||||
console.log("payer", game.user.character, depense, fortune);
|
||||
let msg = "";
|
||||
if (fortune >= depense) {
|
||||
await Monnaie.optimiserFortune(this, fortune - depense);
|
||||
msg = `Vous avez payé <strong>${depense} Sols</strong>, qui ont été soustraits de votre argent.`;
|
||||
RdDAudio.PlayContextAudio("argent"); // Petit son
|
||||
} else {
|
||||
msg = "Vous n'avez pas assez d'argent pour payer cette somme !";
|
||||
}
|
||||
|
||||
let message = {
|
||||
whisper: ChatUtility.getWhisperRecipientsAndGMs(this.name),
|
||||
content: msg
|
||||
};
|
||||
ChatMessage.create(message);
|
||||
}
|
||||
|
||||
async depenserSols(sols) {
|
||||
let reste = this.getFortune() - Number(sols);
|
||||
if (reste >= 0) {
|
||||
await Monnaie.optimiserFortune(this, reste);
|
||||
}
|
||||
return reste;
|
||||
}
|
||||
|
||||
async ajouterSols(sols, fromActorId = undefined) {
|
||||
sols = Number(sols);
|
||||
if (sols == 0) {
|
||||
return;
|
||||
}
|
||||
if (sols < 0) {
|
||||
ui.notifications.error(`Impossible d'ajouter un gain de ${sols} <0`);
|
||||
return;
|
||||
}
|
||||
if (fromActorId && !game.user.isGM) {
|
||||
RdDBaseActor.remoteActorCall({
|
||||
userId: Misc.connectedGMOrUser(),
|
||||
actorId: this.id,
|
||||
method: 'ajouterSols', args: [sols, fromActorId]
|
||||
});
|
||||
}
|
||||
else {
|
||||
const fromActor = game.actors.get(fromActorId)
|
||||
await Monnaie.optimiserFortune(this, sols + this.getFortune());
|
||||
|
||||
RdDAudio.PlayContextAudio("argent"); // Petit son
|
||||
ChatMessage.create({
|
||||
whisper: ChatUtility.getWhisperRecipientsAndGMs(this.name),
|
||||
content: `Vous avez reçu <strong>${sols} Sols</strong> ${fromActor ? " de " + fromActor.name : ''}, qui ont été ajoutés à votre argent.`
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
||||
getQuantiteDisponible(item) {
|
||||
return item?.isService() ? undefined : item?.getQuantite();
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async achatVente(achat) {
|
||||
if (achat.vendeurId == achat.acheteurId) {
|
||||
ui.notifications.info("Inutile de se vendre à soi-même");
|
||||
return;
|
||||
}
|
||||
if (!Misc.isUniqueConnectedGM()) {
|
||||
RdDBaseActor.remoteActorCall({
|
||||
actorId: achat.vendeurId ?? achat.acheteurId,
|
||||
method: 'achatVente',
|
||||
args: [achat]
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
const cout = Number(achat.prixTotal ?? 0);
|
||||
const vendeur = achat.vendeurId ? game.actors.get(achat.vendeurId) : undefined;
|
||||
const acheteur = achat.acheteurId ? game.actors.get(achat.acheteurId) : undefined;
|
||||
const vente = achat.vente;
|
||||
const quantite = (achat.choix.nombreLots ?? 1) * (vente.tailleLot);
|
||||
const itemVendu = vendeur?.getItem(vente.item._id);
|
||||
if (!this.verifierQuantite(vendeur, itemVendu, quantite)) {
|
||||
ChatUtility.notifyUser(achat.userId, 'warn', `Le vendeur n'a pas assez de ${itemVendu.name} !`);
|
||||
return
|
||||
}
|
||||
if (acheteur && !acheteur.verifierFortune(cout)) {
|
||||
ChatUtility.notifyUser(achat.userId, 'warn', `Vous n'avez pas assez d'argent pour payer ${Math.ceil(cout / 100)} sols !`);
|
||||
return;
|
||||
}
|
||||
await this.decrementerVente(vendeur, itemVendu, quantite, cout);
|
||||
if (acheteur) {
|
||||
await acheteur.depenserSols(cout);
|
||||
const createdItemId = await acheteur.creerQuantiteItem(vente.item, quantite);
|
||||
await acheteur.consommerNourritureAchetee(achat, vente, createdItemId);
|
||||
}
|
||||
if (cout > 0) {
|
||||
RdDAudio.PlayContextAudio("argent");
|
||||
}
|
||||
const chatAchatItem = duplicate(vente);
|
||||
chatAchatItem.quantiteTotal = quantite;
|
||||
ChatMessage.create({
|
||||
user: achat.userId,
|
||||
speaker: { alias: (acheteur ?? vendeur).name },
|
||||
whisper: ChatUtility.getWhisperRecipientsAndGMs(this.name),
|
||||
content: await renderTemplate('systems/foundryvtt-reve-de-dragon/templates/chat-achat-item.html', chatAchatItem)
|
||||
});
|
||||
|
||||
if (!vente.quantiteIllimite) {
|
||||
if (vente.quantiteNbLots <= achat.choix.nombreLots) {
|
||||
ChatUtility.removeChatMessageId(achat.chatMessageIdVente);
|
||||
}
|
||||
else if (achat.chatMessageIdVente) {
|
||||
vente["properties"] = itemVendu.getProprietes();
|
||||
vente.quantiteNbLots -= achat.choix.nombreLots;
|
||||
vente.jsondata = JSON.stringify(vente.item);
|
||||
const messageVente = game.messages.get(achat.chatMessageIdVente);
|
||||
messageVente.update({ content: await renderTemplate('systems/foundryvtt-reve-de-dragon/templates/chat-vente-item.html', vente) });
|
||||
messageVente.render(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
async decrementerVente(vendeur, itemVendu, quantite, cout) {
|
||||
if (vendeur) {
|
||||
await vendeur.ajouterSols(cout);
|
||||
await vendeur.decrementerQuantiteItem(itemVendu, quantite);
|
||||
}
|
||||
}
|
||||
|
||||
verifierFortune(cout) {
|
||||
return this.getFortune() >= cout;
|
||||
}
|
||||
|
||||
verifierQuantite(vendeur, item, quantiteTotal) {
|
||||
const disponible = vendeur?.getQuantiteDisponible(item);
|
||||
return disponible == undefined || disponible >= quantiteTotal;
|
||||
}
|
||||
|
||||
async consommerNourritureAchetee(achat, vente, createdItemId) {
|
||||
if (achat.choix.consommer && vente.item.type == 'nourritureboisson' && createdItemId != undefined) {
|
||||
achat.choix.doses = achat.choix.nombreLots;
|
||||
await this.consommerNourritureboisson(createdItemId, achat.choix, vente.actingUserId);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
async decrementerQuantiteItem(item, quantite, options = { supprimerSiZero: true }) {
|
||||
if (item.isService()) {
|
||||
return;
|
||||
}
|
||||
let resteQuantite = (item.system.quantite ?? 1) - quantite;
|
||||
if (resteQuantite <= 0) {
|
||||
if (options.supprimerSiZero) {
|
||||
await this.deleteEmbeddedDocuments("Item", [item.id]);
|
||||
}
|
||||
else {
|
||||
await this.updateEmbeddedDocuments("Item", [{ _id: item.id, 'system.quantite': 0 }]);
|
||||
}
|
||||
if (resteQuantite < 0) {
|
||||
ui.notifications.warn(`La quantité de ${item.name} était insuffisante, l'objet a donc été supprimé`)
|
||||
}
|
||||
}
|
||||
else if (resteQuantite > 0) {
|
||||
await this.updateEmbeddedDocuments("Item", [{ _id: item.id, 'system.quantite': resteQuantite }]);
|
||||
}
|
||||
}
|
||||
|
||||
async creerQuantiteItem(item, quantite) {
|
||||
if (this.canReceive(item)) {
|
||||
const isItemEmpilable = "quantite" in item.system;
|
||||
const baseItem = {
|
||||
type: item.type,
|
||||
img: item.img,
|
||||
name: item.name,
|
||||
system: mergeObject(item.system, { quantite: isItemEmpilable ? quantite : undefined })
|
||||
};
|
||||
const newItems = isItemEmpilable ? [baseItem] : Array.from({ length: quantite }, (_, i) => baseItem);
|
||||
const items = await this.createEmbeddedDocuments("Item", newItems);
|
||||
return items.length > 0 ? items[0].id : undefined;
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
computeMalusSurEncombrement() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
getEncombrementMax() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
async computeEncTotal() {
|
||||
if (!this.pack) {
|
||||
this.encTotal = this.items.map(it => it.getEncTotal()).reduce(Misc.sum(), 0);
|
||||
return this.encTotal;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
async createItem(type, name = undefined) {
|
||||
if (!name) {
|
||||
name = 'Nouveau ' + Misc.typeName('Item', type);
|
||||
}
|
||||
await this.createEmbeddedDocuments('Item', [{ name: name, type: type }], { renderSheet: true });
|
||||
}
|
||||
|
||||
canReceive(item) {
|
||||
return false;
|
||||
}
|
||||
|
||||
async processDropItem(params) {
|
||||
const targetActorId = this.id;
|
||||
const sourceActorId = params.sourceActorId;
|
||||
const itemId = params.itemId;
|
||||
const destId = params.destId;
|
||||
const srcId = params.srcId;
|
||||
if (sourceActorId && sourceActorId != targetActorId) {
|
||||
console.log("Moving objects", sourceActorId, targetActorId, itemId);
|
||||
this.moveItemsBetweenActors(itemId, sourceActorId);
|
||||
return false;
|
||||
}
|
||||
let result = true;
|
||||
const item = this.getItem(itemId);
|
||||
if (item?.isInventaire('all') && sourceActorId == targetActorId) {
|
||||
// rangement
|
||||
if (srcId != destId && itemId != destId) { // déplacement de l'objet
|
||||
const src = this.getItem(srcId);
|
||||
const dest = this.getItem(destId);
|
||||
const cible = this.getContenantOrParent(dest);
|
||||
const [empilable, message] = item.isInventaireEmpilable(dest);
|
||||
if (empilable) {
|
||||
await dest.empiler(item)
|
||||
result = false;
|
||||
}
|
||||
// changer de conteneur
|
||||
else if (!cible || this.conteneurPeutContenir(cible, item)) {
|
||||
await this.enleverDeConteneur(item, src, params.onEnleverConteneur);
|
||||
await this.ajouterDansConteneur(item, cible, params.onAjouterDansConteneur);
|
||||
if (message && !dest.isConteneur()) {
|
||||
ui.notifications.info(cible
|
||||
? `${message}<br>${item.name} a été déplacé dans: ${cible.name}`
|
||||
: `${message}<br>${item.name} a été sorti du conteneur`);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
await this.computeEncTotal();
|
||||
return result;
|
||||
}
|
||||
|
||||
getContenantOrParent(dest) {
|
||||
if (!dest || dest.isConteneur()) {
|
||||
return dest;
|
||||
}
|
||||
return this.getContenant(dest);
|
||||
}
|
||||
|
||||
getContenant(item) {
|
||||
return this.itemTypes['conteneur'].find(it => it.system.contenu.includes(item.id));
|
||||
}
|
||||
|
||||
|
||||
/* -------------------------------------------- */
|
||||
conteneurPeutContenir(dest, item) {
|
||||
if (!dest) {
|
||||
return true;
|
||||
}
|
||||
if (!dest.isConteneur()) {
|
||||
return false;
|
||||
}
|
||||
const destData = dest
|
||||
if (this._isConteneurContenu(item, dest)) {
|
||||
ui.notifications.warn(`Impossible de déplacer un conteneur parent (${item.name}) dans un de ses contenus ${destData.name} !`);
|
||||
return false; // Loop detected !
|
||||
}
|
||||
|
||||
// Calculer le total actuel des contenus
|
||||
let encContenu = this.getRecursiveEnc(dest) - Number(destData.system.encombrement);
|
||||
let newEnc = this.getRecursiveEnc(item); // Calculer le total actuel du nouvel objet
|
||||
|
||||
// Teste si le conteneur de destination a suffisament de capacité pour recevoir le nouvel objet
|
||||
if (Number(destData.system.capacite) < encContenu + newEnc) {
|
||||
ui.notifications.warn(
|
||||
`Le conteneur ${dest.name} a une capacité de ${destData.system.capacite}, et contient déjà ${encContenu}.
|
||||
Impossible d'y ranger: ${item.name} d'encombrement ${newEnc}!`);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
_isConteneurContenu(item, conteneur) {
|
||||
if (item?.isConteneur()) { // Si c'est un conteneur, il faut vérifier qu'on ne le déplace pas vers un sous-conteneur lui appartenant
|
||||
for (let id of item.system.contenu) {
|
||||
let subObjet = this.getItem(id);
|
||||
if (subObjet?.id == conteneur.id) {
|
||||
return true; // Loop detected !
|
||||
}
|
||||
if (subObjet?.isConteneur()) {
|
||||
return this._isConteneurContenu(subObjet, conteneur);
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
getRecursiveEnc(objet) {
|
||||
if (!objet) {
|
||||
return 0;
|
||||
}
|
||||
const tplData = objet.system;
|
||||
if (objet.type != 'conteneur') {
|
||||
return Number(tplData.encombrement) * Number(tplData.quantite);
|
||||
}
|
||||
const encContenus = tplData.contenu.map(idContenu => this.getRecursiveEnc(this.getItem(idContenu)));
|
||||
return encContenus.reduce(Misc.sum(), 0)
|
||||
+ Number(tplData.encombrement) /* TODO? Number(tplData.quantite) -- on pourrait avoir plusieurs conteneurs...*/
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/** Ajoute un item dans un conteneur, sur la base
|
||||
* de leurs ID */
|
||||
async ajouterDansConteneur(item, conteneur, onAjouterDansConteneur) {
|
||||
if (!conteneur) {
|
||||
// TODO: afficher
|
||||
item.estContenu = false;
|
||||
}
|
||||
else if (conteneur.isConteneur()) {
|
||||
item.estContenu = true;
|
||||
await this.updateEmbeddedDocuments('Item', [{
|
||||
_id: conteneur.id,
|
||||
'system.contenu': [...conteneur.system.contenu, item.id]
|
||||
}]);
|
||||
onAjouterDansConteneur(item.id, conteneur.id);
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/** Fonction de remise à plat de l'équipement (ie vide les champs 'contenu') */
|
||||
async nettoyerConteneurs() {
|
||||
RdDConfirm.confirmer({
|
||||
settingConfirmer: "confirmation-vider",
|
||||
content: `<p>Etes vous certain de vouloir vider tous les conteneurs ?</p>`,
|
||||
title: 'Vider les conteneurs',
|
||||
buttonLabel: 'Vider',
|
||||
onAction: async () => {
|
||||
const corrections = [];
|
||||
for (let item of this.items) {
|
||||
if (item.estContenu) {
|
||||
item.estContenu = undefined;
|
||||
}
|
||||
if (item.type == 'conteneur' && item.system.contenu.length > 0) {
|
||||
corrections.push({ _id: item.id, 'system.contenu': [] });
|
||||
}
|
||||
}
|
||||
if (corrections.length > 0) {
|
||||
await this.updateEmbeddedDocuments('Item', corrections);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
buildSubConteneurObjetList(conteneurId, deleteList) {
|
||||
let conteneur = this.getItem(conteneurId);
|
||||
if (conteneur?.type == 'conteneur') { // Si c'est un conteneur
|
||||
for (let subId of conteneur.system.contenu) {
|
||||
let subObj = this.getItem(subId);
|
||||
if (subObj) {
|
||||
if (subObj.type == 'conteneur') {
|
||||
this.buildSubConteneurObjetList(subId, deleteList);
|
||||
}
|
||||
deleteList.push({ id: subId, conteneurId: conteneurId });
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async deleteAllConteneur(itemId, options) {
|
||||
let list = [];
|
||||
list.push({ id: itemId, conteneurId: undefined }); // Init list
|
||||
this.buildSubConteneurObjetList(itemId, list);
|
||||
await this.deleteEmbeddedDocuments('Item', list.map(it => it.id), options);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/** Supprime un item d'un conteneur, sur la base
|
||||
* de leurs ID */
|
||||
async enleverDeConteneur(item, conteneur, onEnleverDeConteneur) {
|
||||
if (conteneur?.isConteneur()) {
|
||||
item.estContenu = false;
|
||||
await this.updateEmbeddedDocuments('Item', [{
|
||||
_id: conteneur.id,
|
||||
'system.contenu': conteneur.system.contenu.filter(id => id != item.id)
|
||||
}]);
|
||||
onEnleverDeConteneur();
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async moveItemsBetweenActors(itemId, sourceActorId) {
|
||||
let itemsList = []
|
||||
let sourceActor = game.actors.get(sourceActorId);
|
||||
itemsList.push({ id: itemId, conteneurId: undefined }); // Init list
|
||||
sourceActor.buildSubConteneurObjetList(itemId, itemsList); // Get itemId list
|
||||
|
||||
const itemsDataToCreate = itemsList.map(it => sourceActor.getItem(it.id))
|
||||
.map(it => duplicate(it))
|
||||
.map(it => { it.system.contenu = []; return it; });
|
||||
let newItems = await this.createEmbeddedDocuments('Item', itemsDataToCreate);
|
||||
|
||||
let itemMap = this._buildMapOldNewId(itemsList, newItems);
|
||||
|
||||
for (let item of itemsList) { // Second boucle pour traiter la remise en conteneurs
|
||||
// gestion conteneur/contenu
|
||||
if (item.conteneurId) { // l'Objet était dans un conteneur
|
||||
let newConteneurId = itemMap[item.conteneurId]; // Get conteneur
|
||||
let newConteneur = this.getItem(newConteneurId);
|
||||
|
||||
let newItemId = itemMap[item.id]; // Get newItem
|
||||
|
||||
console.log('New conteneur filling!', newConteneur, newItemId, item);
|
||||
let contenu = duplicate(newConteneur.system.contenu);
|
||||
contenu.push(newItemId);
|
||||
await this.updateEmbeddedDocuments('Item', [{ _id: newConteneurId, 'system.contenu': contenu }]);
|
||||
}
|
||||
}
|
||||
for (let item of itemsList) {
|
||||
await sourceActor.deleteEmbeddedDocuments('Item', [item.id]);
|
||||
}
|
||||
}
|
||||
|
||||
_buildMapOldNewId(itemsList, newItems) {
|
||||
let itemMap = {};
|
||||
for (let i = 0; i < itemsList.length; i++) {
|
||||
itemMap[itemsList[i].id] = newItems[i].id; // Pour garder le lien ancien / nouveau
|
||||
}
|
||||
return itemMap;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async postActorToChat(modeOverride) {
|
||||
let chatData = {
|
||||
doctype: 'Actor',
|
||||
id: this.id,
|
||||
type: this.type,
|
||||
img: this.img,
|
||||
pack: this.pack,
|
||||
name: this.name,
|
||||
system: { description: this.system.description }
|
||||
}
|
||||
renderTemplate('systems/foundryvtt-reve-de-dragon/templates/post-actor.html', chatData)
|
||||
.then(html => ChatMessage.create(RdDUtility.chatDataSetup(html, modeOverride)));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
95
module/actor/commerce-sheet.js
Normal file
@@ -0,0 +1,95 @@
|
||||
import { DialogItemAchat } from "../dialog-item-achat.js";
|
||||
import { RdDItem } from "../item.js";
|
||||
import { RdDSheetUtility } from "../rdd-sheet-utility.js";
|
||||
import { RdDUtility } from "../rdd-utility.js";
|
||||
import { RdDBaseActorSheet } from "./base-actor-sheet.js";
|
||||
import { RdDCommerce } from "./commerce.js";
|
||||
|
||||
/**
|
||||
* Extend the basic ActorSheet with some very simple modifications
|
||||
* @extends {ActorSheet}
|
||||
*/
|
||||
export class RdDCommerceSheet extends RdDBaseActorSheet {
|
||||
|
||||
/** @override */
|
||||
static get defaultOptions() {
|
||||
return mergeObject(super.defaultOptions, {
|
||||
classes: ["rdd", "sheet", "actor"],
|
||||
template: "systems/foundryvtt-reve-de-dragon/templates/actor/commerce-actor-sheet.html",
|
||||
width: 600,
|
||||
height: 720,
|
||||
tabs: [],
|
||||
dragDrop: [{ dragSelector: ".item-list .item", dropSelector: undefined }]
|
||||
});
|
||||
}
|
||||
get title() {
|
||||
if (this.actor.token && this.actor.token != this.actor.prototypeToken) {
|
||||
return this.actor.token.name;
|
||||
}
|
||||
return super.title
|
||||
}
|
||||
|
||||
async getData() {
|
||||
const formData = await super.getData();
|
||||
if (this.actor.token && this.actor.token != this.actor.prototypeToken) {
|
||||
mergeObject(formData,
|
||||
{
|
||||
title: this.actor.token.name,
|
||||
token: {
|
||||
img: this.actor.token.texture.src
|
||||
}
|
||||
},
|
||||
{ overwrite: true });
|
||||
|
||||
}
|
||||
return formData;
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
/** @override */
|
||||
activateListeners(html) {
|
||||
super.activateListeners(html);
|
||||
|
||||
this.html.find('a.item-acheter').click(async event => await this.vente(this.getItem(event)));
|
||||
|
||||
if (!this.options.editable) return;
|
||||
|
||||
this.html.find('a.item-quantite-moins').click(async event => await this.getItem(event)?.quantiteIncDec(-1, { supprimerSiZero: false }));
|
||||
this.html.find('a.item-quantite-plus').click(async event => await this.getItem(event)?.quantiteIncDec(1));
|
||||
this.html.find('input.item-quantite').change(async event => {
|
||||
const newQuantite = Math.max(0, Number.parseInt(this.html.find(event.currentTarget).val()));
|
||||
await this.getItem(event)?.update({ "system.quantite": newQuantite });
|
||||
})
|
||||
this.html.find('input.item-cout').change(async event => {
|
||||
const newCout = Math.max(0, Number(this.html.find(event.currentTarget).val()));
|
||||
await this.getItem(event)?.update({ "system.cout": newCout });
|
||||
})
|
||||
}
|
||||
|
||||
getTypesInventaire() {
|
||||
return RdDItem.getItemTypesInventaire('all');
|
||||
}
|
||||
|
||||
|
||||
async vente(item) {
|
||||
const acheteur = RdDUtility.getSelectedActor();
|
||||
if (!acheteur) {
|
||||
ui.notifications.warn(`Pas d'acheteur sélectionné`);
|
||||
return;
|
||||
}
|
||||
const disponible = this.actor.getQuantiteDisponible(item)
|
||||
if (disponible == 0) {
|
||||
ui.notifications.warn(`${this.name} n'a plus de ${item.name} en vente`);
|
||||
return;
|
||||
}
|
||||
|
||||
await DialogItemAchat.onAcheter({
|
||||
item,
|
||||
vendeur: this.actor,
|
||||
acheteur,
|
||||
quantiteIllimite: disponible == undefined,
|
||||
nbLots: disponible ?? 1,
|
||||
tailleLot: 1,
|
||||
prixLot: item.calculerPrixCommercant()
|
||||
});
|
||||
}
|
||||
}
|
||||
53
module/actor/commerce.js
Normal file
@@ -0,0 +1,53 @@
|
||||
import { Misc } from "../misc.js";
|
||||
import { RdDBaseActor } from "./base-actor.js";
|
||||
|
||||
export class RdDCommerce extends RdDBaseActor {
|
||||
|
||||
static get defaultIcon() {
|
||||
return "systems/foundryvtt-reve-de-dragon/icons/services/commerce.webp";
|
||||
}
|
||||
|
||||
prepareData() {
|
||||
super.prepareData();
|
||||
}
|
||||
prepareDerivedData() {
|
||||
super.prepareDerivedData();
|
||||
}
|
||||
|
||||
canReceive(item) {
|
||||
if (item.isInventaire('all')) {
|
||||
return true;
|
||||
}
|
||||
return super.canReceive(item);
|
||||
}
|
||||
|
||||
getQuantiteDisponible(item) {
|
||||
return this.system.illimite || item.isService() ? undefined : item.getQuantite();
|
||||
}
|
||||
|
||||
verifierFortune(cout) {
|
||||
return this.system.illimite || super.verifierFortune(cout);
|
||||
}
|
||||
async depenserSols(cout) {
|
||||
if (this.system.illimite) {
|
||||
return
|
||||
}
|
||||
await super.depenserSols(cout)
|
||||
}
|
||||
|
||||
async consommerNourritureAchetee(achat, vente, createdItemId) {
|
||||
// ne pas consommer pour un commerce
|
||||
}
|
||||
|
||||
async decrementerQuantiteItem(item, quantite) {
|
||||
if (this.system.illimite) {
|
||||
return;
|
||||
}
|
||||
await super.decrementerQuantiteItem(item, quantite, { supprimerSiZero: false });
|
||||
}
|
||||
|
||||
calculerPrix(item) {
|
||||
const pourcentage = this.system.pourcentage ?? 100;
|
||||
return Misc.keepDecimals(Math.ceil(item.system.cout * pourcentage) / 100, 2);
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,7 @@
|
||||
import { SYSTEM_RDD } from "./constants.js";
|
||||
import { Grammar } from "./grammar.js";
|
||||
import { HtmlUtility } from "./html-utility.js";
|
||||
import { RdDTimestamp } from "./rdd-timestamp.js";
|
||||
|
||||
|
||||
const LATEST_USED_JOURNAL_ID = "chronologie-dernier-journal";
|
||||
@@ -16,40 +18,20 @@ export class DialogChronologie extends Dialog {
|
||||
});
|
||||
}
|
||||
static async create() {
|
||||
const dateRdD = game.system.rdd.calendrier.getCalendrier();
|
||||
const dialogData = {
|
||||
auteur: game.user.name,
|
||||
isGM: game.user.isGM,
|
||||
information: "",
|
||||
journalId: game.settings.get(SYSTEM_RDD, LATEST_USED_JOURNAL_ID),
|
||||
journaux: game.journal.filter(it => it.testUserPermission(game.user, CONST.DOCUMENT_OWNERSHIP_LEVELS.OWNER)),
|
||||
dateRdD: dateRdD,
|
||||
jourRdD: dateRdD.jour +1,
|
||||
heureRdD: game.system.rdd.calendrier.getCurrentHeure(),
|
||||
timestamp: game.system.rdd.calendrier.timestamp,
|
||||
dateReel: DialogChronologie.getCurrentDateTime()
|
||||
};
|
||||
const html = await renderTemplate("systems/foundryvtt-reve-de-dragon/templates/dialog-chronologie.html", dialogData);
|
||||
const dialog = new DialogChronologie(html);
|
||||
const dialog = new DialogChronologie(html, dialogData);
|
||||
dialog.render(true);
|
||||
}
|
||||
|
||||
constructor(html) {
|
||||
const options = {
|
||||
classes: ["DialogChronologie"],
|
||||
width: 500,
|
||||
height: 'fit-content',
|
||||
'z-index': 99999
|
||||
};
|
||||
const conf = {
|
||||
title: "Chronologie",
|
||||
content: html,
|
||||
buttons: {
|
||||
ajout: { label: "Ajouter", callback: it => this.ajouter() },
|
||||
}
|
||||
};
|
||||
super(conf, options);
|
||||
}
|
||||
|
||||
static getCurrentDateTime() {
|
||||
return new Date().toLocaleString("sv-SE", {
|
||||
year: "numeric",
|
||||
@@ -60,18 +42,61 @@ export class DialogChronologie extends Dialog {
|
||||
}).replace(" ", "T");
|
||||
}
|
||||
|
||||
constructor(html, dialogData) {
|
||||
const options = {
|
||||
classes: ["DialogChronologie"],
|
||||
width: 500,
|
||||
height: 'fit-content',
|
||||
'z-index': 99999
|
||||
};
|
||||
const timeData = dialogData.timestamp.toCalendrier()
|
||||
const conf = {
|
||||
title: `Chronologie - ${timeData.jourDuMois} ${timeData.mois.label} - Heure ${timeData.heure.label}`,
|
||||
content: html,
|
||||
buttons: {
|
||||
}
|
||||
};
|
||||
super(conf, options);
|
||||
this.dialogData = dialogData;
|
||||
}
|
||||
|
||||
activateListeners(html) {
|
||||
super.activateListeners(html);
|
||||
this.html = html;
|
||||
super.activateListeners(html);
|
||||
const journalPrecedent = game.journal.get(this.dialogData.journalId);
|
||||
this.showChronologiePreset(!(journalPrecedent?.canUserModify(game.user)))
|
||||
|
||||
this.html.find("a.chronologie-preset-show").click(event => this.showChronologiePreset(true));
|
||||
this.html.find("a.chronologie-preset-hide").click(event => this.showChronologiePreset(false));
|
||||
this.html.find("button.chronologie-ajouter").click(event => this.ajouter());
|
||||
}
|
||||
|
||||
showChronologiePreset(showPreset) {
|
||||
HtmlUtility.showControlWhen(this.html.find(".chronologie-preset-show"), !showPreset);
|
||||
HtmlUtility.showControlWhen(this.html.find(".chronologie-preset-hide"), showPreset);
|
||||
HtmlUtility.showControlWhen(this.html.find(".chronologie-preset"), showPreset);
|
||||
}
|
||||
|
||||
async ajouter() {
|
||||
await this.forceValidation();
|
||||
const { journalId, journalEntry } = this.findJournal();
|
||||
// ajouter à la page ou créer une page
|
||||
this.addContentToJournal(journalEntry, await this.prepareChronologieEntry());
|
||||
if (journalEntry?.canUserModify(game.user)) {
|
||||
const journalParameters = this.extractJournalParameters();
|
||||
|
||||
const jour = journalParameters.dateRdD.jour;
|
||||
const mois = journalParameters.dateRdD.mois.label;
|
||||
const annee = journalParameters.dateRdD.annee;
|
||||
const section = `${jour} ${mois} ${annee}`
|
||||
const content = await this.prepareChronologieEntry(journalParameters);
|
||||
// ajouter à la page ou créer une page
|
||||
this.addContentToJournal(journalEntry, section, content);
|
||||
this.storeLatestUsedJournalEntry(journalId);
|
||||
this.close();
|
||||
}
|
||||
else {
|
||||
const journal = this.html.find("form.rdddialogchrono select[name='journalId']").val();
|
||||
ui.notifications.warn(`Le journal ${journal} n'est pas accessible`);
|
||||
}
|
||||
}
|
||||
|
||||
async forceValidation() {
|
||||
@@ -84,8 +109,8 @@ export class DialogChronologie extends Dialog {
|
||||
return { journalId, journalEntry };
|
||||
}
|
||||
|
||||
async prepareChronologieEntry() {
|
||||
return await renderTemplate("systems/foundryvtt-reve-de-dragon/templates/chronologie-entry.html", this.extractJournalParameters());
|
||||
async prepareChronologieEntry(journalParameters) {
|
||||
return await renderTemplate("systems/foundryvtt-reve-de-dragon/templates/chronologie-entry.html", journalParameters);
|
||||
}
|
||||
|
||||
extractJournalParameters() {
|
||||
@@ -93,28 +118,29 @@ export class DialogChronologie extends Dialog {
|
||||
auteur: this.html.find("form.rdddialogchrono :input[name='auteur']").val(),
|
||||
information: this.html.find("form.rdddialogchrono :input[name='information']").val(),
|
||||
dateRdD: {
|
||||
jour: this.html.find("form.rdddialogchrono :input[name='jourRdD']").val(),
|
||||
moisRdD: this.html.find("form.rdddialogchrono :input[name='dateRdD.moisRdD.key']").val(),
|
||||
annee: this.html.find("form.rdddialogchrono :input[name='dateRdD.annee']").val()
|
||||
jour: this.html.find("form.rdddialogchrono :input[name='chronologie.jourDuMois']").val(),
|
||||
mois: RdDTimestamp.definition(this.html.find("form.rdddialogchrono :input[name='chronologie.mois']").val()),
|
||||
annee: this.html.find("form.rdddialogchrono :input[name='chronologie.annee']").val(),
|
||||
heure: RdDTimestamp.definition(this.html.find("form.rdddialogchrono :input[name='chronologie.heure']").val()),
|
||||
minute: this.html.find("form.rdddialogchrono :input[name='chronologie.minute']").val(),
|
||||
},
|
||||
heureRdD: this.html.find("form.rdddialogchrono :input[name='heureRdD']").val(),
|
||||
dateReel: this.html.find("form.rdddialogchrono :input[name='dateReel']").val().replace('T', ' ')
|
||||
}
|
||||
}
|
||||
|
||||
addContentToJournal(journalEntry, content) {
|
||||
let page = journalEntry.pages.find(p => p.type == 'text' && Grammar.equalsInsensitive(p.name, 'Chronologie'));
|
||||
addContentToJournal(journalEntry, section, content) {
|
||||
let page = journalEntry.pages.find(p => p.type == 'text' && Grammar.equalsInsensitive(p.name, section));
|
||||
if (page) {
|
||||
page.update({ 'text.content': content + '\n' + page.text.content });
|
||||
page.update({ 'text.content': page.text.content + '\n' + content });
|
||||
}
|
||||
else {
|
||||
journalEntry.createEmbeddedDocuments('JournalEntryPage', [this.newPageChronologie(content)]);
|
||||
journalEntry.createEmbeddedDocuments('JournalEntryPage', [this.newPageChronologie(section, content)]);
|
||||
}
|
||||
}
|
||||
|
||||
newPageChronologie(content) {
|
||||
newPageChronologie(section, content) {
|
||||
return new JournalEntryPage({
|
||||
name: 'Chronologie',
|
||||
name: section,
|
||||
type: 'text',
|
||||
title: { show: true, level: 1 },
|
||||
text: { content: content, format: 1 }
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { ChatUtility } from "./chat-utility.js";
|
||||
import { HtmlUtility } from "./html-utility.js";
|
||||
import { RdDItemSigneDraconique } from "./item-signedraconique.js";
|
||||
import { RdDItemSigneDraconique } from "./item/signedraconique.js";
|
||||
import { TMRUtility } from "./tmr-utility.js";
|
||||
|
||||
export class DialogCreateSigneDraconique extends Dialog {
|
||||
@@ -98,7 +98,7 @@ export class DialogCreateSigneDraconique extends Dialog {
|
||||
|
||||
async setEphemere(ephemere) {
|
||||
this.dialogData.signe.system.ephemere = ephemere;
|
||||
HtmlUtility._showControlWhen(this.html.find(".signe-system-duree"), ephemere);
|
||||
HtmlUtility.showControlWhen(this.html.find(".signe-system-duree"), ephemere);
|
||||
}
|
||||
|
||||
async onSelectActor(event) {
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
import { Misc } from "./misc.js";
|
||||
import { RdDUtility } from "./rdd-utility.js";
|
||||
|
||||
export class DialogItemAchat extends Dialog {
|
||||
|
||||
static venteData(button) {
|
||||
const vendeurId = button.attributes['data-vendeurId']?.value;
|
||||
static preparerAchat(chatButton) {
|
||||
const vendeurId = chatButton.attributes['data-vendeurId']?.value;
|
||||
const vendeur = vendeurId ? game.actors.get(vendeurId) : undefined;
|
||||
const acheteur = RdDUtility.getSelectedActor();
|
||||
const json = button.attributes['data-jsondata']?.value;
|
||||
const json = chatButton.attributes['data-jsondata']?.value;
|
||||
if (!acheteur && !vendeur) {
|
||||
ui.notifications.info("Pas d'acheteur ni de vendeur, aucun changement");
|
||||
return undefined;
|
||||
@@ -16,46 +17,67 @@ export class DialogItemAchat extends Dialog {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
const prixLot = Number(button.attributes['data-prixLot']?.value ?? 0);
|
||||
return {
|
||||
item: json ? JSON.parse(json) : undefined,
|
||||
actingUserId: game.user.id,
|
||||
vendeurId: vendeurId,
|
||||
vendeur: vendeur,
|
||||
acheteur: acheteur,
|
||||
tailleLot: parseInt(button.attributes['data-tailleLot']?.value ?? 1),
|
||||
quantiteIllimite: button.attributes['data-quantiteIllimite']?.value == 'true',
|
||||
quantiteNbLots: parseInt(button.attributes['data-quantiteNbLots']?.value),
|
||||
choix: {
|
||||
nombreLots: 1,
|
||||
seForcer: false,
|
||||
supprimerSiZero: true
|
||||
},
|
||||
prixLot: prixLot,
|
||||
prixTotal: prixLot,
|
||||
isVente: prixLot > 0,
|
||||
chatMessageIdVente: RdDUtility.findChatMessageId(button)
|
||||
item: (json ? JSON.parse(json) : undefined),
|
||||
vendeur,
|
||||
acheteur,
|
||||
nbLots: parseInt(chatButton.attributes['data-quantiteNbLots']?.value),
|
||||
tailleLot: parseInt(chatButton.attributes['data-tailleLot']?.value ?? 1),
|
||||
prixLot: Number(chatButton.attributes['data-prixLot']?.value ?? 0),
|
||||
quantiteIllimite: chatButton.attributes['data-quantiteIllimite']?.value == 'true',
|
||||
chatMessageIdVente: RdDUtility.findChatMessageId(chatButton),
|
||||
};
|
||||
}
|
||||
|
||||
static async onAcheter(venteData) {
|
||||
|
||||
static async onAcheter({ item, vendeur, acheteur, tailleLot, prixLot, nbLots, quantiteIllimite, chatMessageIdVente }) {
|
||||
const venteData = {
|
||||
item,
|
||||
actingUserId: game.user.id,
|
||||
vendeurId: vendeur?.id,
|
||||
vendeur,
|
||||
acheteur,
|
||||
tailleLot,
|
||||
quantiteIllimite,
|
||||
quantiteNbLots: nbLots,
|
||||
choix: { seForcer: false, supprimerSiZero: true },
|
||||
prixLot,
|
||||
isVente: prixLot > 0,
|
||||
isConsommable: item.type == 'nourritureboisson' && acheteur?.isPersonnage(),
|
||||
chatMessageIdVente
|
||||
};
|
||||
|
||||
DialogItemAchat.changeNombreLots(venteData, 1);
|
||||
const html = await renderTemplate(`systems/foundryvtt-reve-de-dragon/templates/dialog-item-achat.html`, venteData);
|
||||
new DialogItemAchat(html, venteData).render(true);
|
||||
}
|
||||
|
||||
static changeNombreLots(venteData, nombreLots) {
|
||||
venteData.choix.nombreLots = nombreLots;
|
||||
venteData.prixTotal = (nombreLots * venteData.prixLot).toFixed(2);
|
||||
if (venteData.isConsommable) {
|
||||
const doses = nombreLots * venteData.tailleLot;
|
||||
venteData.totalSust = Misc.keepDecimals(doses * (venteData.item.system.sust ?? 0), 2);
|
||||
venteData.totalDesaltere = venteData.item.system.boisson
|
||||
? Misc.keepDecimals(doses * (venteData.item.system.desaltere ?? 0), 2)
|
||||
: 0;
|
||||
}
|
||||
}
|
||||
|
||||
constructor(html, venteData) {
|
||||
const isConsommable = venteData.item.type == 'nourritureboisson' && venteData.acheteur?.isPersonnage();
|
||||
let options = { classes: ["dialogachat"], width: 400, height: 'fit-content', 'z-index': 99999 };
|
||||
|
||||
const actionAchat = venteData.prixLot > 0 ? "Acheter" : "Prendre";
|
||||
const buttons = {};
|
||||
if (isConsommable) {
|
||||
if (venteData.isConsommable) {
|
||||
buttons["consommer"] = { label: venteData.item.system.boisson ? "Boire" : "Manger", callback: it => this.onAchatConsommer() }
|
||||
}
|
||||
buttons[actionAchat] = { label: actionAchat, callback: it => { this.onAchat(); } };
|
||||
buttons["decliner"] = { label: "Décliner", callback: it => { } };
|
||||
const acheteur = venteData.acheteur?.name ?? 'Un acheteur';
|
||||
const vendeur = venteData.vendeur?.name ?? 'Un vendeur';
|
||||
let conf = {
|
||||
title: venteData.acheteur ? venteData.acheteur.name + " - " + actionAchat : actionAchat,
|
||||
title: `${acheteur} - ${actionAchat} à ${vendeur}`,
|
||||
content: html,
|
||||
default: actionAchat,
|
||||
buttons: buttons
|
||||
@@ -96,13 +118,21 @@ export class DialogItemAchat extends Dialog {
|
||||
}
|
||||
|
||||
setNombreLots(nombreLots) {
|
||||
if (nombreLots > this.venteData.quantiteNbLots) {
|
||||
|
||||
if (!this.venteData.quantiteIllimite) {
|
||||
if (!this.venteData.quantiteIllimite && nombreLots > this.venteData.quantiteNbLots) {
|
||||
ui.notifications.warn(`Seulement ${this.venteData.quantiteNbLots} lots disponibles, vous ne pouvez pas en prendre ${nombreLots}`)
|
||||
}
|
||||
this.venteData.choix.nombreLots = Math.min(nombreLots, this.venteData.quantiteNbLots);
|
||||
this.venteData.prixTotal = (nombreLots * this.venteData.prixLot).toFixed(2);
|
||||
this.html.find(".nombreLots").val(this.venteData.choix.nombreLots);
|
||||
this.html.find(".prixTotal").text(this.venteData.prixTotal);
|
||||
nombreLots = Math.min(nombreLots, this.venteData.quantiteNbLots);
|
||||
}
|
||||
|
||||
DialogItemAchat.changeNombreLots(this.venteData, nombreLots);
|
||||
|
||||
this.html.find(".nombreLots").val(nombreLots);
|
||||
this.html.find(".prixTotal").text(this.venteData.prixTotal);
|
||||
this.html.find("span.total-sust").text(this.venteData.totalSust);
|
||||
this.html.find("span.total-desaltere").text(this.venteData.totalDesaltere);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -2,21 +2,22 @@ import { HtmlUtility } from "./html-utility.js";
|
||||
|
||||
export class DialogItemVente extends Dialog {
|
||||
|
||||
static async display(item, callback) {
|
||||
const quantite = item.isConteneur() ? 1 : item.system.quantite;
|
||||
static async display({ item, callback, quantiteMax = undefined }) {
|
||||
const quantite = quantiteMax ?? item.getQuantite() ?? 1;
|
||||
const isOwned = item.parent;
|
||||
const venteData = {
|
||||
item: item,
|
||||
alias: item.actor?.name ?? game.user.name,
|
||||
vendeurId: item.actor?.id,
|
||||
prixOrigine: item.system.cout,
|
||||
prixUnitaire: item.system.cout,
|
||||
prixLot: item.system.cout,
|
||||
prixOrigine: item.calculerPrixCommercant(),
|
||||
prixUnitaire: item.calculerPrixCommercant(),
|
||||
prixLot: item.calculerPrixCommercant(),
|
||||
tailleLot: 1,
|
||||
quantiteNbLots: quantite,
|
||||
quantiteMaxLots: quantite,
|
||||
quantiteMax: quantite,
|
||||
quantiteIllimite: !item.isOwned,
|
||||
isOwned: item.isOwned,
|
||||
quantiteIllimite: item.isItemCommerce() ? quantiteMax == undefined : !isOwned,
|
||||
isOwned: isOwned,
|
||||
};
|
||||
const html = await renderTemplate(`systems/foundryvtt-reve-de-dragon/templates/dialog-item-vente.html`, venteData);
|
||||
return new DialogItemVente(venteData, html, callback).render(true);
|
||||
@@ -39,55 +40,63 @@ export class DialogItemVente extends Dialog {
|
||||
|
||||
activateListeners(html) {
|
||||
super.activateListeners(html);
|
||||
this.html = html;
|
||||
HtmlUtility._showControlWhen(this.html.find(".quantiteNbLots"), !this.venteData.quantiteIllimite)
|
||||
|
||||
this.html = html;
|
||||
this.html.find(".tailleLot").change(event => this.setTailleLot(Number(event.currentTarget.value)));
|
||||
this.html.find(".quantiteNbLots").change(event => this.setNbLots(Number(event.currentTarget.value)));
|
||||
this.html.find(".quantiteIllimite").change(event => this.setQuantiteIllimite(event.currentTarget.checked));
|
||||
this.html.find(".prixLot").change(event => this.setPrixLot(Number(event.currentTarget.value)));
|
||||
|
||||
this.setQuantiteIllimite(this.venteData.quantiteIllimite);
|
||||
}
|
||||
|
||||
async onProposer(it) {
|
||||
await this.html.find(".tailleLot").change();
|
||||
await this.html.find(".quantiteNbLots").change();
|
||||
await this.html.find(".quantiteIllimite").change();
|
||||
await this.html.find(".prixLot").change();
|
||||
this.updateVente(this.getChoixVente());
|
||||
this.callback(this.venteData);
|
||||
}
|
||||
|
||||
updateVente(update) {
|
||||
mergeObject(this.venteData, update);
|
||||
}
|
||||
|
||||
getChoixVente() {
|
||||
return {
|
||||
quantiteNbLots: Number(this.html.find(".quantiteNbLots").val()),
|
||||
tailleLot: Number(this.html.find(".tailleLot").val()),
|
||||
quantiteIllimite: this.html.find(".quantiteIllimite").is(':checked'),
|
||||
prixLot: Number(this.html.find(".prixLot").val())
|
||||
};
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
setPrixLot(prixLot) {
|
||||
this.venteData.prixLot = prixLot;
|
||||
}
|
||||
|
||||
setTailleLot(tailleLot) {
|
||||
// recalculer le prix du lot
|
||||
if (tailleLot != this.venteData.tailleLot) {
|
||||
this.venteData.prixLot = (tailleLot * this.venteData.prixOrigine).toFixed(2);
|
||||
const maxLots = Math.floor(this.venteData.quantiteMax / tailleLot);
|
||||
this.updateVente({
|
||||
tailleLot,
|
||||
quantiteNbLots: Math.min(maxLots, this.venteData.quantiteNbLots),
|
||||
quantiteMaxLots: maxLots,
|
||||
prixLot: (tailleLot * this.venteData.prixOrigine).toFixed(2)
|
||||
});
|
||||
|
||||
this.html.find(".prixLot").val(this.venteData.prixLot);
|
||||
}
|
||||
this.venteData.tailleLot = tailleLot;
|
||||
if (this.venteData.isOwned) {
|
||||
// recalculer le nombre de lots max
|
||||
this.venteData.quantiteMaxLots = Math.floor(this.venteData.quantiteMax / tailleLot);
|
||||
this.venteData.quantiteNbLots = Math.min(this.venteData.quantiteMaxLots, this.venteData.quantiteNbLots);
|
||||
this.html.find(".quantiteNbLots").val(this.venteData.quantiteNbLots);
|
||||
this.html.find(".quantiteNbLots").attr("max", this.venteData.quantiteMaxLots)
|
||||
}
|
||||
}
|
||||
|
||||
setNbLots(nbLots) {
|
||||
if (this.venteData.isOwned) {
|
||||
nbLots = Math.max(0, Math.min(nbLots, this.venteData.quantiteMaxLots));
|
||||
}
|
||||
this.venteData.quantiteNbLots = nbLots;
|
||||
this.updateVente({
|
||||
quantiteNbLots: this.venteData.isOwned ? Math.max(0, Math.min(nbLots, this.venteData.quantiteMaxLots)) : nbLots
|
||||
})
|
||||
this.html.find(".quantiteNbLots").val(this.venteData.quantiteNbLots);
|
||||
}
|
||||
|
||||
setQuantiteIllimite(checked) {
|
||||
this.venteData.quantiteIllimite = checked;
|
||||
this.updateVente({ quantiteIllimite: checked })
|
||||
this.html.find(".label-quantiteIllimite").text(this.venteData.quantiteIllimite ? "Illimités" : "disponibles");
|
||||
HtmlUtility._showControlWhen(this.html.find(".quantiteNbLots"), !this.venteData.quantiteIllimite)
|
||||
HtmlUtility.showControlWhen(this.html.find(".quantiteNbLots"), !this.venteData.quantiteIllimite)
|
||||
}
|
||||
}
|
||||
@@ -1,56 +0,0 @@
|
||||
|
||||
export class DialogRepos extends Dialog {
|
||||
|
||||
static async create(actor) {
|
||||
const html = await renderTemplate("systems/foundryvtt-reve-de-dragon/templates/dialog-repos.html", actor);
|
||||
const dialog = new DialogRepos(html, actor);
|
||||
dialog.render(true);
|
||||
}
|
||||
|
||||
constructor(html, actor) {
|
||||
let options = { classes: ["DialogCreateSigneDraconiqueActorsActors"], width: 400, height: 'fit-content', 'z-index': 99999 };
|
||||
let conf = {
|
||||
title: "Se reposer",
|
||||
content: html,
|
||||
default: "repos",
|
||||
buttons: {
|
||||
"repos": { label: "Se reposer", callback: async it => { this.repos(); } }
|
||||
}
|
||||
};
|
||||
super(conf, options);
|
||||
this.actor = actor;
|
||||
}
|
||||
activateListeners(html) {
|
||||
super.activateListeners(html);
|
||||
this.html = html;
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
|
||||
async repos() {
|
||||
await this.html.find("[name='nb-heures']").change();
|
||||
await this.html.find("[name='nb-jours']").change();
|
||||
const selection = await this.html.find("[name='repos']:checked").val();
|
||||
const nbHeures = Number.parseInt(await this.html.find("[name='nb-heures']").val());
|
||||
const nbJours = Number.parseInt(await this.html.find("[name='nb-jours']").val());
|
||||
switch (selection) {
|
||||
case "sieste": {
|
||||
await this.actor.dormir(nbHeures);
|
||||
return;
|
||||
}
|
||||
case "nuit": {
|
||||
let heuresDormies = await this.actor.dormir(nbHeures);
|
||||
if (heuresDormies == nbHeures) {
|
||||
await this.actor.dormirChateauDormant();
|
||||
}
|
||||
return;
|
||||
}
|
||||
case "chateau-dormant":
|
||||
await this.actor.dormirChateauDormant();
|
||||
return;
|
||||
case "gris-reve": {
|
||||
await this.actor.grisReve(nbJours);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,223 +1,78 @@
|
||||
import { SYSTEM_RDD } from "./constants.js";
|
||||
import { Grammar } from "./grammar.js";
|
||||
import { Misc } from "./misc.js";
|
||||
import { CompendiumTableHelpers, CompendiumTable } from "./settings/system-compendiums.js";
|
||||
import { CompendiumTableHelpers, CompendiumTable, SystemCompendiums } from "./settings/system-compendiums.js";
|
||||
|
||||
const RARETES = [
|
||||
{ name: 'Commune', frequence: 54, min: 27, max: 108 },
|
||||
{ name: 'Frequente', frequence: 18, min: 9, max: 36 },
|
||||
{ name: 'Rare', frequence: 6, min: 3, max: 12 },
|
||||
{ name: 'Rarissime', frequence: 2, min: 1, max: 4 }]
|
||||
const DEFAULT_RARETE = 1;
|
||||
|
||||
const SETTINGS_LISTE_MILIEUX = "liste-milieux";
|
||||
const MILIEUX = [
|
||||
"Collines",
|
||||
"Cours d'eau",
|
||||
"Déserts",
|
||||
"Forêts",
|
||||
"Marais",
|
||||
"Maritimes",
|
||||
"Montagnes",
|
||||
"Plaines",
|
||||
"Sous-sols"
|
||||
]
|
||||
const ITEM_ENVIRONNEMENT_TYPES = [
|
||||
'herbe', 'ingredient', 'faune'
|
||||
]
|
||||
const COMPENDIUMS_RECHERCHE = 'compendiums-recherche';
|
||||
|
||||
export class Environnement {
|
||||
|
||||
static init() {
|
||||
game.settings.register(SYSTEM_RDD, SETTINGS_LISTE_MILIEUX, {
|
||||
name: "Liste des milieux proposés",
|
||||
hint: "Liste des milieux proposés pour la faune&flore, séparés par des virgules",
|
||||
game.settings.register(SYSTEM_RDD, COMPENDIUMS_RECHERCHE, {
|
||||
name: COMPENDIUMS_RECHERCHE,
|
||||
default: [
|
||||
SystemCompendiums.getCompendium('faune-flore-mineraux'),
|
||||
SystemCompendiums.getCompendium('meditations-et-ecrits'),
|
||||
SystemCompendiums.getCompendium('equipement')
|
||||
],
|
||||
scope: "world",
|
||||
config: true,
|
||||
default: MILIEUX.reduce(Misc.joining(',')),
|
||||
type: String
|
||||
config: false,
|
||||
type: Object
|
||||
});
|
||||
|
||||
game.system.rdd.environnement = new Environnement();
|
||||
Hooks.once('ready', () => game.system.rdd.environnement.onReady());
|
||||
}
|
||||
|
||||
constructor() {
|
||||
this.table = new CompendiumTable('faune-flore-mineraux', 'Item', ITEM_ENVIRONNEMENT_TYPES)
|
||||
this.compendiums = [];
|
||||
this.compendiumTables = [];
|
||||
this.mapMilieux = {}
|
||||
}
|
||||
|
||||
static getRarete(name = undefined) {
|
||||
return RARETES.find(it => it.name == name) ?? RARETES[DEFAULT_RARETE];
|
||||
}
|
||||
|
||||
static getFrequenceRarete(rarete, field = undefined) {
|
||||
const selected = this.getRarete(rarete);
|
||||
return selected[field];
|
||||
async onReady() {
|
||||
await this.$prepareCompendiums()
|
||||
}
|
||||
|
||||
async milieux() {
|
||||
return Object.values(await this.mapMilieux());
|
||||
return Object.values(this.mapMilieux);
|
||||
}
|
||||
|
||||
async mapMilieux() {
|
||||
const compendiumItems = await this.getElements(it => 1, it => ITEM_ENVIRONNEMENT_TYPES.includes(it.type));
|
||||
return Misc.indexLowercase(this.getMilieuxSettings().concat(Environnement.listMilieux(compendiumItems)));
|
||||
async saveCompendiums(compendiumIds) {
|
||||
game.settings.set(SYSTEM_RDD, COMPENDIUMS_RECHERCHE, compendiumIds);
|
||||
await this.$prepareCompendiums();
|
||||
}
|
||||
|
||||
static listMilieux(items) {
|
||||
return Misc.concat(items.map(it => Environnement.$itemToMilieux(it).filter(m => m)));
|
||||
async $prepareCompendiums() {
|
||||
this.compendiums = game.settings.get(SYSTEM_RDD, COMPENDIUMS_RECHERCHE).filter(c => SystemCompendiums.getPack(c));
|
||||
|
||||
this.compendiumTables = this.compendiums.map(it => new CompendiumTable(it, 'Item'));
|
||||
const compendiumItems = await this.getElements(it => 1, it => it.isInventaire());
|
||||
const fromCompendiums = Misc.concat(compendiumItems.map(it => it.getMilieux().filter(m => m)));
|
||||
this.mapMilieux = Misc.indexLowercase(fromCompendiums);
|
||||
}
|
||||
|
||||
async autresMilieux(item) {
|
||||
const mapMilieux = await this.mapMilieux();
|
||||
const milieuxExistants = Environnement.$itemToMilieux(item).map(it => Grammar.toLowerCaseNoAccent(it));
|
||||
return Object.keys(mapMilieux)
|
||||
const milieuxExistants = item.getMilieux().map(it => Grammar.toLowerCaseNoAccent(it));
|
||||
return Object.keys(this.mapMilieux)
|
||||
.filter(it => !milieuxExistants.includes(it))
|
||||
.map(it => mapMilieux[it]);
|
||||
.map(it => this.mapMilieux[it]);
|
||||
}
|
||||
|
||||
static $itemToMilieux(item) {
|
||||
return item.system.environnement.map(env => env.milieu);
|
||||
}
|
||||
|
||||
getMilieuxSettings() {
|
||||
return game.settings.get(SYSTEM_RDD, SETTINGS_LISTE_MILIEUX).split(',').map(it => it.trim()).filter(it => it != '');
|
||||
}
|
||||
|
||||
async findEnvironnementsLike(search) {
|
||||
const milieux = await this.mapMilieux();
|
||||
const searchLower = Grammar.toLowerCaseNoAccent(search);
|
||||
const keys = Object.keys(milieux).filter(it => it.includes(searchLower));
|
||||
if (keys.length > 1) {
|
||||
const milieuExact = milieux[searchLower];
|
||||
if (milieuExact) {
|
||||
return [milieuExact];
|
||||
}
|
||||
}
|
||||
return keys.map(k => milieux[k]);
|
||||
}
|
||||
|
||||
async searchToChatMessage(milieux, typeName) {
|
||||
const table = await this.buildEnvironnementTable(milieux);
|
||||
await CompendiumTableHelpers.tableToChatMessage(table, 'Item', ITEM_ENVIRONNEMENT_TYPES, typeName);
|
||||
return true
|
||||
}
|
||||
|
||||
async getRandom(milieux, typeName) {
|
||||
const table = await this.buildEnvironnementTable(milieux);
|
||||
return await CompendiumTableHelpers.getRandom(table, 'Item', ITEM_ENVIRONNEMENT_TYPES, undefined, typeName);
|
||||
}
|
||||
|
||||
async buildEnvironnementTable(milieux) {
|
||||
const filterMilieux = item => item.system?.environnement.filter(env => milieux.includes(env.milieu));
|
||||
const itemRareteEnMilieu = item => {
|
||||
const raretes = filterMilieux(item);
|
||||
const frequenceMax = Math.max(raretes.map(env => env.frequence));
|
||||
return raretes.find(env => env.frequence == frequenceMax);
|
||||
}
|
||||
const itemFrequenceEnMilieu = item => itemRareteEnMilieu(item)?.frequence ?? 0;
|
||||
const isPresentEnMilieu = item => itemFrequenceEnMilieu(item) > 0;
|
||||
return await this.table.buildTable(itemFrequenceEnMilieu, isPresentEnMilieu);
|
||||
}
|
||||
|
||||
|
||||
async getElements(itemFrequence, filter) {
|
||||
return await this.table.getContent(itemFrequence, filter);
|
||||
}
|
||||
const compendiumsElement = await Promise.all(
|
||||
this.compendiumTables.map(async compTable => await compTable.getContent(itemFrequence, filter))
|
||||
);
|
||||
const elements = compendiumsElement.reduce((a, b) => a.concat(b));
|
||||
elements.sort(Misc.ascending(it => it.name))
|
||||
return elements;
|
||||
}
|
||||
|
||||
export class EnvironmentSheetHelper {
|
||||
|
||||
static defaultOptions(defaultOptions) {
|
||||
return mergeObject(defaultOptions, {
|
||||
tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "informations" }]
|
||||
});
|
||||
async buildTable(itemFrequence, filter = it => true) {
|
||||
if (!itemFrequence) {
|
||||
itemFrequence = it => it.getFrequence()
|
||||
}
|
||||
|
||||
static setPosition(sheet, superPosition) {
|
||||
const position = superPosition;
|
||||
const sheetHeader = sheet.element.find(".sheet-header");
|
||||
const sheetBody = sheet.element.find(".sheet-body");
|
||||
sheetBody.css("height", position.height - sheetHeader[0].clientHeight)
|
||||
return position;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static async getData(sheet, formData) {
|
||||
return mergeObject(formData, {
|
||||
milieux: await game.system.rdd.environnement.autresMilieux(sheet.item)
|
||||
});
|
||||
}
|
||||
|
||||
static activateListeners(sheet) {
|
||||
if (!sheet.options.editable) return;
|
||||
|
||||
sheet.html.find("input.input-selection-milieu").keypress(event => {
|
||||
if (event.keyCode == '13') {
|
||||
EnvironmentSheetHelper.onAddMilieu(sheet, event);
|
||||
}
|
||||
event.stopPropagation();
|
||||
})
|
||||
sheet.html.find("a.milieu-add").click(event => EnvironmentSheetHelper.onAddMilieu(sheet, event));
|
||||
sheet.html.find("div.environnement-milieu a.milieu-delete").click(event => EnvironmentSheetHelper.onDeleteMilieu(sheet, event));
|
||||
sheet.html.find("div.environnement-milieu select.environnement-rarete").change(event => EnvironmentSheetHelper.onChange(sheet, event,
|
||||
updated => EnvironmentSheetHelper.$changeRarete(sheet, event, updated)));
|
||||
sheet.html.find("div.environnement-milieu input[name='environnement-frequence']").change(event => EnvironmentSheetHelper.onChange(sheet, event,
|
||||
updated => EnvironmentSheetHelper.$changeFrequence(sheet, event, updated)));
|
||||
}
|
||||
|
||||
static $changeFrequence(sheet, event, updated) {
|
||||
updated.frequence = Number(sheet.html.find(event.currentTarget).val());
|
||||
}
|
||||
|
||||
static $changeRarete(sheet, event, updated) {
|
||||
const name = sheet.html.find(event.currentTarget).val();
|
||||
const rarete = Environnement.getRarete(name);
|
||||
updated.rarete = rarete.name;
|
||||
updated.frequence = rarete.frequence;
|
||||
// updated.frequence = Math.min(
|
||||
// Math.max(rarete.min, updated.frequence ?? rarete.frequence),
|
||||
// rarete.max);
|
||||
}
|
||||
|
||||
static async onAddMilieu(sheet, event) {
|
||||
const milieu = sheet.html.find('input.input-selection-milieu').val();
|
||||
if (!milieu) {
|
||||
ui.notifications.warn(`Choisissez le milieu dans lequel se trouve le/la ${sheet.item.name}`);
|
||||
return
|
||||
}
|
||||
const list = sheet.item.system.environnement;
|
||||
const exists = list.find(it => it.milieu == milieu);
|
||||
if (exists) {
|
||||
ui.notifications.warn(`${sheet.item.name} a déjà une rareté ${exists.rarete} en ${milieu} (fréquence: ${exists.frequence})`);
|
||||
return
|
||||
}
|
||||
const rarete = Environnement.getRarete();
|
||||
const newList = [...list, { milieu, rarete: rarete.name, frequence: rarete.frequence }].sort(Misc.ascending(it => it.milieu))
|
||||
await sheet.item.update({ 'system.environnement': newList })
|
||||
}
|
||||
|
||||
static async onDeleteMilieu(sheet, event) {
|
||||
const milieu = EnvironmentSheetHelper.$getEventMilieu(sheet, event);
|
||||
if (milieu != undefined) {
|
||||
const newList = sheet.item.system.environnement.filter(it => it.milieu != milieu)
|
||||
.sort(Misc.ascending(it => it.milieu));
|
||||
await sheet.item.update({ 'system.environnement': newList });
|
||||
const elements = await this.getElements(itemFrequence, filter);;
|
||||
return CompendiumTableHelpers.buildTable(elements, itemFrequence);
|
||||
}
|
||||
}
|
||||
|
||||
static async onChange(sheet, event, doMutation) {
|
||||
const list = sheet.item.system.environnement;
|
||||
const milieu = EnvironmentSheetHelper.$getEventMilieu(sheet, event);
|
||||
const updated = list.find(it => it.milieu == milieu);
|
||||
if (updated) {
|
||||
doMutation(updated);
|
||||
const newList = [...list.filter(it => it.milieu != milieu), updated]
|
||||
.sort(Misc.ascending(it => it.milieu));
|
||||
await sheet.item.update({ 'system.environnement': newList });
|
||||
}
|
||||
}
|
||||
|
||||
static $getEventMilieu(sheet, event) {
|
||||
return sheet.html.find(event.currentTarget)?.parents("div.environnement-milieu").data("milieu");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
export class HtmlUtility{
|
||||
static _showControlWhen(jQuerySelector, condition) {
|
||||
static showControlWhen(jQuerySelector, condition) {
|
||||
if (condition) {
|
||||
jQuerySelector.show();
|
||||
}
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import { RdDItemCompetenceCreature } from "./item-competencecreature.js"
|
||||
import { Misc } from "./misc.js";
|
||||
import { RdDCombatManager } from "./rdd-combat.js";
|
||||
|
||||
const nomCategorieParade = {
|
||||
|
||||
@@ -190,15 +190,6 @@ export class RdDItemCompetence extends Item {
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static isVisible(item) {
|
||||
return Number(item.system.niveau) != RdDItemCompetence.getNiveauBase(item.system.categorie);
|
||||
}
|
||||
|
||||
static nomContientTexte(item, texte) {
|
||||
return Grammar.toLowerCaseNoAccent(item.name).includes(Grammar.toLowerCaseNoAccent(texte))
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static isNiveauBase(item) {
|
||||
return Number(item.system.niveau) == RdDItemCompetence.getNiveauBase(item.system.categorie);
|
||||
@@ -279,7 +270,7 @@ export class RdDItemCompetence extends Item {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static triVisible(competences) {
|
||||
return competences.filter(it => it.system.isVisible)
|
||||
return competences.filter(it => !it.system.isHidden)
|
||||
.sort((a, b) => RdDItemCompetence.compare(a, b))
|
||||
}
|
||||
|
||||
|
||||
@@ -1,67 +0,0 @@
|
||||
import { EnvironmentSheetHelper } from "./environnement.js";
|
||||
import { RdDItemSheet } from "./item-sheet.js";
|
||||
import { RdDUtility } from "./rdd-utility.js";
|
||||
|
||||
export class RdDFauneItemSheet extends RdDItemSheet {
|
||||
|
||||
static get ITEM_TYPE() { return "faune" };
|
||||
|
||||
static get defaultOptions() {
|
||||
return EnvironmentSheetHelper.defaultOptions(super.defaultOptions);
|
||||
}
|
||||
|
||||
setPosition(options = {}) {
|
||||
return EnvironmentSheetHelper.setPosition(this, super.setPosition(options));
|
||||
}
|
||||
|
||||
async getData() {
|
||||
const formData = await super.getData();
|
||||
return await EnvironmentSheetHelper.getData(this, formData);
|
||||
}
|
||||
|
||||
activateListeners(html) {
|
||||
super.activateListeners(html);
|
||||
if (!this.options.editable) return;
|
||||
|
||||
EnvironmentSheetHelper.activateListeners(this);
|
||||
|
||||
html.find("a.linked-actor-delete").click(event => this.onDeleteLinkedActor());
|
||||
html.find("a.preparer-nourriture").click(event => this.preparerNourriture(event));
|
||||
html.find("a.manger-nourriture").click(event => this.mangerNourriture(event));
|
||||
}
|
||||
|
||||
async _onDropActor(event, dragData) {
|
||||
console.log('faune:dropActor', event, dragData)
|
||||
const linkedActor = fromUuidSync(dragData.uuid);
|
||||
if (linkedActor?.pack) {
|
||||
this.item.update({
|
||||
'system.actor.pack': linkedActor.pack,
|
||||
'system.actor.id': linkedActor._id,
|
||||
'system.actor.name': linkedActor.name
|
||||
});
|
||||
}
|
||||
else {
|
||||
ui.notifications.warn(`${linkedActor.name} ne provient pas d'un compendium.
|
||||
<br>Choisissez une créature du compendium pour représenter un élément de faune générique`)
|
||||
}
|
||||
}
|
||||
async onDeleteLinkedActor() {
|
||||
this.item.update({
|
||||
'system.actor.pack': '',
|
||||
'system.actor.id': '',
|
||||
'system.actor.name': ''
|
||||
});
|
||||
}
|
||||
|
||||
async preparerNourriture(event) {
|
||||
if (this.actor) {
|
||||
await this.actor.preparerNourriture(this.item);
|
||||
}
|
||||
}
|
||||
async mangerNourriture(event) {
|
||||
if (this.actor) {
|
||||
await this.actor.mangerNourriture(this.item);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,25 +0,0 @@
|
||||
import { EnvironmentSheetHelper } from "./environnement.js";
|
||||
import { RdDItemSheet } from "./item-sheet.js";
|
||||
|
||||
export class RdDHerbeItemSheet extends RdDItemSheet {
|
||||
|
||||
static get ITEM_TYPE() { return "herbe" };
|
||||
|
||||
static get defaultOptions() {
|
||||
return EnvironmentSheetHelper.defaultOptions(super.defaultOptions);
|
||||
}
|
||||
|
||||
setPosition(options = {}) {
|
||||
return EnvironmentSheetHelper.setPosition(this, super.setPosition(options));
|
||||
}
|
||||
|
||||
async getData() {
|
||||
const formData = await super.getData();
|
||||
return await EnvironmentSheetHelper.getData(this, formData);
|
||||
}
|
||||
|
||||
activateListeners(html) {
|
||||
super.activateListeners(html);
|
||||
EnvironmentSheetHelper.activateListeners(this);
|
||||
}
|
||||
}
|
||||
@@ -1,25 +0,0 @@
|
||||
import { EnvironmentSheetHelper } from "./environnement.js";
|
||||
import { RdDItemSheet } from "./item-sheet.js";
|
||||
|
||||
export class RdDIngredientItemSheet extends RdDItemSheet {
|
||||
|
||||
static get ITEM_TYPE() { return "ingredient" };
|
||||
|
||||
static get defaultOptions() {
|
||||
return EnvironmentSheetHelper.defaultOptions(super.defaultOptions);
|
||||
}
|
||||
|
||||
setPosition(options = {}) {
|
||||
return EnvironmentSheetHelper.setPosition(this, super.setPosition(options));
|
||||
}
|
||||
|
||||
async getData() {
|
||||
const formData = await super.getData();
|
||||
return await EnvironmentSheetHelper.getData(this, formData);
|
||||
}
|
||||
|
||||
activateListeners(html) {
|
||||
super.activateListeners(html);
|
||||
EnvironmentSheetHelper.activateListeners(this);
|
||||
}
|
||||
}
|
||||
@@ -17,7 +17,7 @@ const MONNAIE_ARGENT = {
|
||||
system: { quantite: 0, cout: 1, encombrement: 0.003, description: "" }
|
||||
};
|
||||
const MONNAIE_OR = {
|
||||
name: "Dreagon (or)", type: 'monnaie',
|
||||
name: "Dragon (or)", type: 'monnaie',
|
||||
img: "systems/foundryvtt-reve-de-dragon/icons/objets/piece_or_sol.webp",
|
||||
system: { quantite: 0, cout: 10, encombrement: 0.004, description: "" }
|
||||
};
|
||||
@@ -62,21 +62,24 @@ export class Monnaie {
|
||||
return deniers;
|
||||
}
|
||||
|
||||
static getFortune(actor) {
|
||||
if (actor) {
|
||||
Monnaie.validerMonnaies(actor);
|
||||
return actor.itemTypes['monnaie']
|
||||
static toSolsDeniers(fortune) {
|
||||
return {
|
||||
sols: Math.floor(fortune),
|
||||
deniers: Math.round(100 * (fortune - Math.floor(fortune)))
|
||||
};
|
||||
}
|
||||
|
||||
static getFortune(monnaies) {
|
||||
return (monnaies??[])
|
||||
.map(m => Number(m.system.cout) * Number(m.system.quantite))
|
||||
.reduce(Misc.sum(), 0);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
static async optimiserFortune(actor, fortune) {
|
||||
let resteEnDeniers = Math.round(fortune * 100);
|
||||
let monnaies = actor.itemTypes['monnaie'];
|
||||
let updates = [];
|
||||
Monnaie.validerMonnaies(actor);
|
||||
Monnaie.validerMonnaies(monnaies, actor);
|
||||
|
||||
let parValeur = Misc.classifyFirst(monnaies, it => VALEUR_DENIERS(it.system.cout));
|
||||
for (let valeurDeniers of [1000, 100, 10, 1]) {
|
||||
@@ -99,9 +102,9 @@ export class Monnaie {
|
||||
}
|
||||
}
|
||||
|
||||
static validerMonnaies(actor) {
|
||||
actor.itemTypes['monnaie'].filter(it => VALEUR_DENIERS(it.system.cout) == 0)
|
||||
.map(it => `La monnaie ${it.name} de l'acteur ${actor.name} a une valeur de 0!`)
|
||||
static validerMonnaies(monnaies, actor = undefined) {
|
||||
monnaies.filter(it => VALEUR_DENIERS(it.system.cout) == 0)
|
||||
.map(it => `La monnaie ${it.name} de l'acteur ${actor?.name ?? 'sélectionné'} a une valeur de 0!`)
|
||||
.forEach(message => {
|
||||
ui.notifications.warn(message);
|
||||
console.warn(message);
|
||||
|
||||
@@ -10,6 +10,7 @@ import { SYSTEM_RDD } from "./constants.js";
|
||||
import { RdDSheetUtility } from "./rdd-sheet-utility.js";
|
||||
import { SystemCompendiums } from "./settings/system-compendiums.js";
|
||||
import { Misc } from "./misc.js";
|
||||
import { RdDTimestamp } from "./rdd-timestamp.js";
|
||||
|
||||
/**
|
||||
* Extend the basic ItemSheet for RdD specific items
|
||||
@@ -60,13 +61,13 @@ export class RdDItemSheet extends ItemSheet {
|
||||
buttons.unshift({
|
||||
class: "vendre",
|
||||
icon: "fas fa-comments-dollar",
|
||||
onclick: ev => this.item.proposerVente()
|
||||
onclick: ev => this.item.proposerVente(1)
|
||||
});
|
||||
}
|
||||
buttons.unshift({
|
||||
class: "montrer",
|
||||
icon: "fas fa-comment",
|
||||
onclick: ev => this.item.postItem()
|
||||
onclick: ev => this.item.postItemToChat()
|
||||
});
|
||||
return buttons
|
||||
}
|
||||
@@ -85,25 +86,20 @@ export class RdDItemSheet extends ItemSheet {
|
||||
/* -------------------------------------------- */
|
||||
async getData() {
|
||||
let formData = {
|
||||
id: this.item.id,
|
||||
title: this.item.name,
|
||||
id: this.item.id,
|
||||
type: this.item.type,
|
||||
img: this.item.img,
|
||||
name: this.item.name,
|
||||
system: this.item.system,
|
||||
isGM: game.user.isGM,
|
||||
actorId: this.actor?.id,
|
||||
isOwned: this.actor ? true : false,
|
||||
owner: this.item.isOwner,
|
||||
editable: this.isEditable,
|
||||
cssClass: this.isEditable ? "editable" : "locked",
|
||||
isSoins: false,
|
||||
description: await TextEditor.enrichHTML(this.item.system.description, { async: true }),
|
||||
descriptionmj: await TextEditor.enrichHTML(this.item.system.descriptionmj, { async: true }),
|
||||
isComestible: this.item.isComestible()
|
||||
isComestible: this.item.getUtilisationCuisine(),
|
||||
options: RdDSheetUtility.mergeDocumentRights(this.options, this.item, this.isEditable)
|
||||
}
|
||||
|
||||
const competences = await SystemCompendiums.getCompetences(this.actor?.type);
|
||||
const competences = await SystemCompendiums.getCompetences('personnage');
|
||||
formData.categorieCompetences = RdDItemCompetence.getCategorieCompetences()
|
||||
if (this.item.type == 'tache' || this.item.type == 'livre' || this.item.type == 'meditation' || this.item.type == 'oeuvre') {
|
||||
formData.caracList = duplicate(game.system.model.Actor.personnage.carac)
|
||||
@@ -111,7 +107,7 @@ export class RdDItemSheet extends ItemSheet {
|
||||
formData.competences = competences;
|
||||
}
|
||||
if (this.item.type == 'arme') {
|
||||
formData.competences = competences.filter(it => RdDItemCompetence.isCompetenceArme(it));
|
||||
formData.competences = competences.filter(it => RdDItemCompetence.isCompetenceArme(it))
|
||||
}
|
||||
if (['sort', 'sortreserve'].includes(this.item.type)) {
|
||||
formData.competences = competences.filter(it => RdDItemCompetence.isDraconic(it));
|
||||
@@ -135,18 +131,14 @@ export class RdDItemSheet extends ItemSheet {
|
||||
RdDGemme.calculDataDerivees(this.item);
|
||||
}
|
||||
if (this.item.type == 'potion') {
|
||||
if (this.dateUpdated) {
|
||||
formData.system.prdate = this.dateUpdated;
|
||||
this.dateUpdated = undefined;
|
||||
await RdDHerbes.addPotionFormData(formData);
|
||||
}
|
||||
await RdDHerbes.updatePotionData(formData);
|
||||
}
|
||||
if (formData.isOwned && this.item.type == 'herbe' && (formData.system.categorie == 'Soin' || formData.system.categorie == 'Repos')) {
|
||||
if (formData.options.isOwned && this.item.type == 'herbe' && (formData.system.categorie == 'Soin' || formData.system.categorie == 'Repos')) {
|
||||
formData.isIngredientPotionBase = true;
|
||||
}
|
||||
if (this.item.type == 'sortreserve') {
|
||||
const sortId = this.item.system.sortid;
|
||||
formData.sort = formData.isOwned ? this.item.actor.items.get(sortId) : game.items.get(sortId);
|
||||
formData.sort = formData.options.isOwned ? this.item.actor.items.get(sortId) : game.items.get(sortId);
|
||||
}
|
||||
formData.bonusCaseList = RdDItemSort.getBonusCaseList(formData, true);
|
||||
|
||||
@@ -159,8 +151,10 @@ export class RdDItemSheet extends ItemSheet {
|
||||
super.activateListeners(html);
|
||||
this.html = html;
|
||||
|
||||
HtmlUtility._showControlWhen(this.html.find(".item-cout"), ReglesOptionelles.isUsing('afficher-prix-joueurs') || game.user.isGM || !this.item.isOwned);
|
||||
HtmlUtility._showControlWhen(this.html.find(".item-magique"), this.item.isMagique());
|
||||
HtmlUtility.showControlWhen(this.html.find(".item-cout"), ReglesOptionelles.isUsing('afficher-prix-joueurs')
|
||||
|| game.user.isGM
|
||||
|| !this.item.isOwned);
|
||||
HtmlUtility.showControlWhen(this.html.find(".item-magique"), this.item.isMagique());
|
||||
|
||||
// Everything below here is only needed if the sheet is editable
|
||||
if (!this.options.editable) return;
|
||||
@@ -185,10 +179,12 @@ export class RdDItemSheet extends ItemSheet {
|
||||
}
|
||||
})
|
||||
|
||||
this.html.find('.enchanteDate').change((event) => {
|
||||
let jour = Number(this.html.find('[name="splitDate.day"]').val());
|
||||
let mois = this.html.find('[name="splitDate.month"]').val();
|
||||
this.dateUpdated = game.system.rdd.calendrier.getIndexFromDate(jour, mois);
|
||||
this.html.find('.date-enchantement').change((event) => {
|
||||
const jour = Number(this.html.find('input.date-enchantement[name="enchantement.jour"]').val());
|
||||
const mois = RdDTimestamp.definition(this.html.find('select.date-enchantement[name="enchantement.mois"]').val());
|
||||
const indexDate = game.system.rdd.calendrier.getIndexFromDate(jour, mois.heure);
|
||||
this.item.update({ 'system.prdate': indexDate });
|
||||
console.warn(`Date d'enchantement modifiée ${jour}/${mois.heure}: ${indexDate}`)
|
||||
});
|
||||
|
||||
this.html.find('.creer-tache-livre').click((event) => this._getEventActor(event).creerTacheDepuisLivre(this.item));
|
||||
@@ -209,10 +205,15 @@ export class RdDItemSheet extends ItemSheet {
|
||||
|
||||
this.html.find('.item-split').click(async event => RdDSheetUtility.splitItem(RdDSheetUtility.getItem(event, this.actor), this.actor, async () => this.render(true)));
|
||||
this.html.find('.item-edit').click(async event => RdDSheetUtility.getItem(event, this.actor)?.sheet.render(true));
|
||||
this.html.find('.item-delete').click(async event => RdDUtility.confirmerSuppressionItem(this, RdDSheetUtility.getItem(event, this.actor)));
|
||||
this.html.find('.item-delete').click(async event => RdDUtility.confirmActorItemDelete(this, RdDSheetUtility.getItem(event, this.actor)));
|
||||
this.html.find('.item-vendre').click(async event => RdDSheetUtility.getItem(event, this.actor)?.proposerVente());
|
||||
this.html.find('.item-montrer').click(async event => RdDSheetUtility.getItem(event, this.actor)?.postItem());
|
||||
this.html.find('.item-montrer').click(async event => RdDSheetUtility.getItem(event, this.actor)?.postItemToChat());
|
||||
this.html.find('.item-action').click(async event => RdDSheetUtility.getItem(event, this.actor)?.actionPrincipale(this.actor, async () => this.render(true)));
|
||||
|
||||
const updateItemTimestamp = (path, timestamp) => this.item.update({ [path]: duplicate(timestamp) })
|
||||
|
||||
RdDTimestamp.handleTimestampEditor(this.html, 'system.temporel.debut', updateItemTimestamp);
|
||||
RdDTimestamp.handleTimestampEditor(this.html, 'system.temporel.fin', updateItemTimestamp);
|
||||
}
|
||||
|
||||
_getEventActor(event) {
|
||||
@@ -221,6 +222,7 @@ export class RdDItemSheet extends ItemSheet {
|
||||
return actor;
|
||||
}
|
||||
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async _onSelectCategorie(event) {
|
||||
event.preventDefault();
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
export class RdDItemTache extends Item {
|
||||
|
||||
|
||||
}
|
||||
304
module/item.js
@@ -2,16 +2,20 @@ import { DialogItemVente } from "./dialog-item-vente.js";
|
||||
import { Grammar } from "./grammar.js";
|
||||
import { Misc } from "./misc.js";
|
||||
import { RdDHerbes } from "./rdd-herbes.js";
|
||||
import { RdDTimestamp } from "./rdd-timestamp.js";
|
||||
import { RdDUtility } from "./rdd-utility.js";
|
||||
import { SystemCompendiums } from "./settings/system-compendiums.js";
|
||||
import { RdDRaretes } from "./item/raretes.js";
|
||||
|
||||
const typesObjetsInventaire = [
|
||||
const typesInventaireMateriel = [
|
||||
"arme",
|
||||
"armure",
|
||||
"conteneur",
|
||||
"faune",
|
||||
"gemme",
|
||||
"herbe",
|
||||
"plante",
|
||||
"ingredient",
|
||||
"faune",
|
||||
"livre",
|
||||
"monnaie",
|
||||
"munition",
|
||||
@@ -19,11 +23,18 @@ const typesObjetsInventaire = [
|
||||
"objet",
|
||||
"potion",
|
||||
]
|
||||
const typesInventaire = {
|
||||
materiel: typesInventaireMateriel,
|
||||
all: ['service'].concat(typesInventaireMateriel),
|
||||
}
|
||||
|
||||
const typesObjetsOeuvres = ["oeuvre", "recettecuisine", "musique", "chant", "danse", "jeu"]
|
||||
const typesObjetsDraconiques = ["queue", "ombre", "souffle", "tete", "signedraconique", "sortreserve", "rencontre"]
|
||||
const typesObjetsConnaissance = ["meditation", "recettealchimique", "sort"]
|
||||
const typesObjetsEffet = ["possession", "poison", "maladie"]
|
||||
const typesObjetsEffet = ["possession", "poison", "maladie", "blessure"]
|
||||
const typesObjetsCompetence = ["competence", "competencecreature"]
|
||||
const typesObjetsTemporels = ["blessure", "poison", "maladie", "queue", "ombre", "souffle", "signedraconique", "rencontre"]
|
||||
const typesEnvironnement = typesInventaireMateriel;
|
||||
const encBrin = 0.00005; // un brin = 1 décigramme = 1/10g = 1/10000kg = 1/20000 enc
|
||||
const encPepin = 0.0007; /* un pépin de gemme = 1/10 cm3 = 1/1000 l = 3.5/1000 kg = 7/2000 kg = 7/1000 enc
|
||||
densité 3.5 (~2.3 à 4, parfois plus) -- https://www.juwelo.fr/guide-des-pierres/faits-et-chiffres/
|
||||
@@ -57,6 +68,7 @@ export const defaultItemImg = {
|
||||
poison: "systems/foundryvtt-reve-de-dragon/icons/maladies_venins/venin.webp",
|
||||
oeuvre: "systems/foundryvtt-reve-de-dragon/icons/competence_comedie.webp",
|
||||
nourritureboisson: "systems/foundryvtt-reve-de-dragon/icons/objets/provision_crue.webp",
|
||||
service: "systems/foundryvtt-reve-de-dragon/icons/services/lit.webp",
|
||||
signedraconique: "systems/foundryvtt-reve-de-dragon/icons/tmr/signe_draconique.webp",
|
||||
gemme: "systems/foundryvtt-reve-de-dragon/icons/gemmes/almaze.webp",
|
||||
possession: "systems/foundryvtt-reve-de-dragon/icons/entites/possession2.webp",
|
||||
@@ -69,11 +81,7 @@ export const defaultItemImg = {
|
||||
export class RdDItem extends Item {
|
||||
|
||||
static getDefaultImg(itemType) {
|
||||
return defaultItemImg[itemType];
|
||||
}
|
||||
|
||||
static isItemInventaire(newLocal) {
|
||||
return typesObjetsInventaire.includes(newLocal.type);
|
||||
return game.system.rdd.itemClasses[itemType]?.defaultIcon ?? defaultItemImg[itemType];
|
||||
}
|
||||
|
||||
static isFieldInventaireModifiable(type, field) {
|
||||
@@ -92,6 +100,48 @@ export class RdDItem extends Item {
|
||||
return true;
|
||||
}
|
||||
|
||||
static async getCorrespondingItem(itemRef) {
|
||||
if (itemRef.pack) {
|
||||
return await SystemCompendiums.loadDocument(itemRef)
|
||||
}
|
||||
return game.items.get(itemRef.id ?? itemRef._id);
|
||||
}
|
||||
|
||||
static getItemTypesInventaire(mode = 'materiel') {
|
||||
return typesInventaire[mode ?? 'materiel']
|
||||
}
|
||||
static getItemTypesDraconiques() {
|
||||
return typesObjetsDraconiques;
|
||||
}
|
||||
static getItemTypesEnvironnement() {
|
||||
return typesEnvironnement;
|
||||
}
|
||||
|
||||
static getTypesOeuvres() {
|
||||
return typesObjetsOeuvres
|
||||
}
|
||||
|
||||
constructor(docData, context = {}) {
|
||||
if (!context.rdd?.ready) {
|
||||
mergeObject(context, { rdd: { ready: true } });
|
||||
const ItemConstructor = game.system.rdd.itemClasses[docData.type];
|
||||
if (ItemConstructor) {
|
||||
if (!docData.img) {
|
||||
docData.img = ItemConstructor.defaultIcon;
|
||||
}
|
||||
return new ItemConstructor(docData, context);
|
||||
}
|
||||
}
|
||||
if (!docData.img) {
|
||||
docData.img = RdDItem.getDefaultImg(docData.type);
|
||||
}
|
||||
super(docData, context);
|
||||
}
|
||||
|
||||
static get defaultIcon() {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
getUniteQuantite() {
|
||||
switch (this.type) {
|
||||
case "monnaie": return "(Pièces)"
|
||||
@@ -107,50 +157,57 @@ export class RdDItem extends Item {
|
||||
return '';
|
||||
}
|
||||
|
||||
constructor(itemData, context) {
|
||||
if (!itemData.img) {
|
||||
itemData.img = RdDItem.getDefaultImg(itemData.type);
|
||||
}
|
||||
super(itemData, context);
|
||||
isCompetencePersonnage() { return this.type == 'competence' }
|
||||
isCompetenceCreature() { return this.type == 'competencecreature' }
|
||||
isConteneur() { return this.type == 'conteneur'; }
|
||||
isMonnaie() { return this.type == 'monnaie'; }
|
||||
isPotion() { return this.type == 'potion'; }
|
||||
isNourritureBoisson() { return this.type == 'nourritureboisson'; }
|
||||
isService() { return this.type == 'service'; }
|
||||
|
||||
isCompetence() { return typesObjetsCompetence.includes(this.type) }
|
||||
isTemporel() { return typesObjetsTemporels.includes(this.type) }
|
||||
isOeuvre() { return typesObjetsOeuvres.includes(this.type) }
|
||||
isDraconique() { return RdDItem.getItemTypesDraconiques().includes(this.type) }
|
||||
isEffet() { return typesObjetsEffet.includes(this.type) }
|
||||
isConnaissance() { return typesObjetsConnaissance.includes(this.type) }
|
||||
|
||||
isInventaire(mode = 'materiel') { return RdDItem.getItemTypesInventaire(mode).includes(this.type); }
|
||||
isBoisson() { return this.isNourritureBoisson() && this.system.boisson; }
|
||||
isAlcool() { return this.isNourritureBoisson() && this.system.boisson && this.system.alcoolise; }
|
||||
isHerbeAPotion() { return this.type == 'herbe' && (this.system.categorie == 'Soin' || this.system.categorie == 'Repos'); }
|
||||
isBlessure() { return this.type == 'blessure' }
|
||||
|
||||
isPresentDansMilieux(milieux) {
|
||||
return this.getEnvironnements(milieux).length > 0
|
||||
}
|
||||
|
||||
static getItemTypesInventaire() {
|
||||
return typesObjetsInventaire
|
||||
getEnvironnements(milieux = undefined) {
|
||||
const environnements = this.isInventaire() ? this.system.environnement : undefined;
|
||||
if (milieux == undefined || !environnements) {
|
||||
return environnements ?? [];
|
||||
}
|
||||
return environnements.filter(env => milieux.includes(env.milieu))
|
||||
}
|
||||
|
||||
static getTypesOeuvres() {
|
||||
return typesObjetsOeuvres
|
||||
getMilieux() {
|
||||
return this.getEnvironnements().map(env => env.milieu);
|
||||
}
|
||||
|
||||
isCompetencePersonnage() {
|
||||
return this.type == 'competence'
|
||||
getRaretes(milieux = undefined) {
|
||||
if (this.isInventaire()) {
|
||||
const raretes = this.getEnvironnements(milieux).map(env => RdDRaretes.byCode(env.rarete));
|
||||
if (milieux == undefined && raretes.length == 0) {
|
||||
return [RdDRaretes.rareteFrequente()];
|
||||
}
|
||||
isCompetenceCreature() {
|
||||
return this.type == 'competencecreature'
|
||||
return raretes;
|
||||
}
|
||||
isCompetence() {
|
||||
return typesObjetsCompetence.includes(this.type)
|
||||
return [RdDRaretes.rareteEgale()];
|
||||
}
|
||||
isInventaire() {
|
||||
return RdDItem.isItemInventaire(this)
|
||||
}
|
||||
isOeuvre() {
|
||||
return typesObjetsOeuvres.includes(this.type)
|
||||
}
|
||||
isDraconique() {
|
||||
return typesObjetsDraconiques.includes(this.type)
|
||||
}
|
||||
isEffet() {
|
||||
return typesObjetsEffet.includes(this.type)
|
||||
}
|
||||
isConnaissance() {
|
||||
return typesObjetsConnaissance.includes(this.type)
|
||||
}
|
||||
isConteneur() {
|
||||
return this.type == 'conteneur';
|
||||
}
|
||||
isMonnaie() {
|
||||
return this.type == 'monnaie';
|
||||
|
||||
getFrequence(milieux = undefined) {
|
||||
const frequences = this.getEnvironnements(milieux).map(it => it.frequence);
|
||||
return frequences.length == 0 ? 0 : Math.max(...frequences);
|
||||
}
|
||||
|
||||
getItemGroup() {
|
||||
@@ -163,43 +220,79 @@ export class RdDItem extends Item {
|
||||
return "autres";
|
||||
}
|
||||
|
||||
isConteneurNonVide() {
|
||||
return this.isConteneur() && (this.system.contenu?.length ?? 0) > 0;
|
||||
isConteneurNonVide() { return this.isConteneur() && (this.system.contenu?.length ?? 0) > 0; }
|
||||
isConteneurVide() { return this.isConteneur() && (this.system.contenu?.length ?? 0) == 0; }
|
||||
isVideOuNonConteneur() { return !this.isConteneur() || (this.system.contenu?.length ?? 0) == 0; }
|
||||
|
||||
isFinPeriode(oldTimestamp, newTimestamp) {
|
||||
if (!this.isTemporel()) {
|
||||
return false;
|
||||
}
|
||||
const finPeriode = new RdDTimestamp(this.system.temporel.fin);
|
||||
return oldTimestamp.compare(finPeriode) < 0 && finPeriode.compare(newTimestamp) <= 0
|
||||
}
|
||||
|
||||
isConteneurVide() {
|
||||
return this.isConteneur() && (this.system.contenu?.length ?? 0) == 0;
|
||||
async onCreateItemTemporel(actor) {
|
||||
if (this.isTemporel()) {
|
||||
const timestampDebut = game.system.rdd.calendrier.timestamp;
|
||||
const timestampFin = await this.calculerFinPeriodeTemporel(timestampDebut);
|
||||
await actor.updateEmbeddedDocuments('Item', [{
|
||||
_id: this.id,
|
||||
'system.temporel.debut': duplicate(timestampDebut),
|
||||
'system.temporel.fin': duplicate(timestampFin),
|
||||
}])
|
||||
}
|
||||
}
|
||||
|
||||
isVideOuNonConteneur() {
|
||||
return !this.isConteneur() || (this.system.contenu?.length ?? 0) == 0;
|
||||
async calculerFinPeriodeTemporel(timestampDebut) {
|
||||
return timestampDebut;
|
||||
}
|
||||
|
||||
isNourritureBoisson() {
|
||||
return this.type == 'nourritureboisson';
|
||||
async onFinPeriodeTemporel(oldTimestamp, newTimestamp) {
|
||||
if (this.isTemporel() && this.actor) {
|
||||
await this.onFinPeriode(oldTimestamp, newTimestamp);
|
||||
}
|
||||
}
|
||||
|
||||
isComestible() {
|
||||
async onFinPeriode(oldTimestamp, newTimestamp) {
|
||||
console.log(`${this.actor.name}: l'objet ${this.name} a expiré et été supprimé`);
|
||||
await this.actor?.deleteEmbeddedDocuments('Item', [this.id]);
|
||||
}
|
||||
|
||||
getUtilisation() {
|
||||
switch (this.type) {
|
||||
case 'nourritureboisson': return 'pret';
|
||||
case 'herbe':
|
||||
return this.system.categorie == 'Cuisine' && this.system.sust > 0 ? 'brut' : '';
|
||||
case 'faune':
|
||||
return this.system.sust > 0 ? 'brut' : '';
|
||||
case 'potion':
|
||||
switch (this.system.categorie) {
|
||||
case 'Alchimie': case 'AlchimieEnchante': case 'AlchimieAutre': return 'alchimie'
|
||||
case 'Cuisine': return 'cuisine'
|
||||
case 'Remede': case 'Repos': case 'ReposEnchante': case 'Soin': case 'SoinEnchante': return 'soins'
|
||||
}
|
||||
return '';
|
||||
case 'nourritureboisson': return 'cuisine';
|
||||
case 'herbe': case 'faune': case 'ingredient': case 'plante':
|
||||
switch (this.system.categorie) {
|
||||
case 'Cuisine': return 'cuisine';
|
||||
case 'Toxique': case 'Poison': return 'poison';
|
||||
case 'Alchimie': return 'alchimie'
|
||||
case 'Soin': case 'Repos': return 'soins'
|
||||
}
|
||||
return this.system.sust > 0 ? 'cuisine' : '';
|
||||
}
|
||||
return '';
|
||||
}
|
||||
|
||||
isAlcool() {
|
||||
return this.isNourritureBoisson() && this.system.boisson && this.system.alcoolise;
|
||||
getUtilisationCuisine() {
|
||||
if (this.getUtilisation() == 'cuisine') {
|
||||
switch (this.type) {
|
||||
case 'nourritureboisson':
|
||||
return 'pret';
|
||||
case 'herbe': case 'faune': case 'ingredient': case 'plante':
|
||||
return 'brut';
|
||||
}
|
||||
}
|
||||
return '';
|
||||
}
|
||||
|
||||
isHerbeAPotion() {
|
||||
return this.type == 'herbe' && (this.system.categorie == 'Soin' || this.system.categorie == 'Repos');
|
||||
}
|
||||
isPotion() {
|
||||
return this.type == 'potion';
|
||||
}
|
||||
isCristalAlchimique() {
|
||||
return this.type == 'objet' && Grammar.toLowerCaseNoAccent(this.name) == 'cristal alchimique' && this.system.quantite > 0;
|
||||
}
|
||||
@@ -208,16 +301,29 @@ export class RdDItem extends Item {
|
||||
return this.system.magique
|
||||
}
|
||||
|
||||
isItemCommerce() {
|
||||
return this.parent?.type == 'commerce';
|
||||
}
|
||||
|
||||
isNomLike(texte) {
|
||||
return Grammar.includesLowerCaseNoAccent(this.name, texte)
|
||||
}
|
||||
isNomTypeLike(texte) {
|
||||
return this.isNomLike(texte) || Grammar.includesLowerCaseNoAccent(Misc.typeName(this.type, 'Item'), texte)
|
||||
}
|
||||
|
||||
getQuantite() {
|
||||
return Math.round(this.isConteneur() ? 1 : (this.system.quantite ?? 0))
|
||||
return this.isService() ? undefined : Math.round(this.system.quantite ?? 0)
|
||||
}
|
||||
|
||||
getEncTotal() {
|
||||
return this.getEnc() * this.getQuantite();
|
||||
return (this.isService() ? 0 : this.getQuantite()) * this.getEnc();
|
||||
}
|
||||
|
||||
getEnc() {
|
||||
switch (this.type) {
|
||||
case 'service':
|
||||
return 0;
|
||||
case 'herbe':
|
||||
return this.getEncHerbe();
|
||||
case 'gemme':
|
||||
@@ -236,13 +342,21 @@ export class RdDItem extends Item {
|
||||
}
|
||||
|
||||
valeurTotale() {
|
||||
return this.getQuantite() * this.valeur()
|
||||
return (this.isService() ? 1 : this.getQuantite()) * this.valeur()
|
||||
}
|
||||
|
||||
valeur() {
|
||||
return this.system.cout ?? 0
|
||||
}
|
||||
|
||||
calculerPrixCommercant() {
|
||||
if (this.isItemCommerce()) {
|
||||
// appliquer le pourcentage
|
||||
return this.parent.calculerPrix(this);
|
||||
}
|
||||
return this.system.cout;
|
||||
}
|
||||
|
||||
prepareDerivedData() {
|
||||
super.prepareDerivedData();
|
||||
if (this.isInventaire()) {
|
||||
@@ -271,7 +385,7 @@ export class RdDItem extends Item {
|
||||
}
|
||||
if (this.actor?.isPersonnage()) {
|
||||
const warn = options.warnIfNot;
|
||||
if (this.isComestible() == 'brut') {
|
||||
if (this.getUtilisationCuisine() == 'brut') {
|
||||
return 'Utiliser';
|
||||
}
|
||||
switch (this.type) {
|
||||
@@ -320,7 +434,7 @@ export class RdDItem extends Item {
|
||||
}
|
||||
|
||||
async onCreateDecoupeComestible(actor) {
|
||||
if (actor && this.isComestible() == 'brut' && this.system.sust != 1) {
|
||||
if (actor && this.getUtilisationCuisine() == 'brut' && this.system.sust != 1) {
|
||||
if (this.system.sust < 1) {
|
||||
await actor.updateEmbeddedDocuments('Item', [{
|
||||
_id: this.id,
|
||||
@@ -341,7 +455,7 @@ export class RdDItem extends Item {
|
||||
}
|
||||
|
||||
async empiler(item) {
|
||||
if (this.isComestible() == 'brut') {
|
||||
if (this.getUtilisationCuisine() == 'brut') {
|
||||
const sust = this.system.sust + item.system.sust;
|
||||
const encombrement = this.system.encombrement + item.system.encombrement;
|
||||
await this.update({
|
||||
@@ -355,7 +469,7 @@ export class RdDItem extends Item {
|
||||
await item.delete();
|
||||
}
|
||||
|
||||
async quantiteIncDec(nombre, options = { diminuerQuantite: true, supprimerSiZero: false }) {
|
||||
async quantiteIncDec(nombre, options = { supprimerSiZero: false }) {
|
||||
const quantite = Number(this.system.quantite ?? -1);
|
||||
if (quantite >= 0) {
|
||||
const reste = Math.max(quantite + Number(nombre), 0);
|
||||
@@ -392,8 +506,8 @@ export class RdDItem extends Item {
|
||||
return [false, `Impossible de regrouper ${this.name} avec ${other.name}`];
|
||||
}
|
||||
else {
|
||||
const excludedProperties = ['quantite', 'cout', 'encTotal'];
|
||||
if (this.isComestible()) {
|
||||
const excludedProperties = ['quantite', 'cout', 'encTotal', 'environnement', 'contenu'];
|
||||
if (this.getUtilisationCuisine()) {
|
||||
excludedProperties.push('sust', 'encombrement');
|
||||
}
|
||||
let differences = Object.entries(this.system)
|
||||
@@ -410,13 +524,16 @@ export class RdDItem extends Item {
|
||||
return [true, undefined];
|
||||
}
|
||||
|
||||
async proposerVente() {
|
||||
async proposerVente(quantiteMax = undefined) {
|
||||
console.log(this);
|
||||
if (this.isConteneurNonVide()) {
|
||||
ui.notifications.warn(`Votre ${this.name} n'est pas vide, pas possible de le proposer`);
|
||||
return;
|
||||
}
|
||||
await DialogItemVente.display(this, async (vente) => {
|
||||
await DialogItemVente.display({
|
||||
item: this,
|
||||
quantiteMax,
|
||||
callback: async (vente) => {
|
||||
vente["properties"] = this.getProprietes();
|
||||
if (vente.isOwned) {
|
||||
if (vente.quantiteNbLots * vente.tailleLot > vente.quantiteMax) {
|
||||
@@ -426,38 +543,44 @@ export class RdDItem extends Item {
|
||||
}
|
||||
vente.jsondata = JSON.stringify(vente.item);
|
||||
|
||||
console.log(vente);
|
||||
let html = await renderTemplate('systems/foundryvtt-reve-de-dragon/templates/chat-vente-item.html', vente);
|
||||
ChatMessage.create(RdDUtility.chatDataSetup(html));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
getProprietes() {
|
||||
if (this[`_${this.type}ChatData`]) {
|
||||
return this[`_${this.type}ChatData`]().filter(it => it != undefined);
|
||||
}
|
||||
return [];
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async postItem(modeOverride) {
|
||||
async postItemToChat(modeOverride) {
|
||||
console.log(this);
|
||||
let chatData = duplicate(this);
|
||||
chatData["properties"] = this.getProprietes();
|
||||
if (this.actor) {
|
||||
chatData.actor = { id: this.actor.id };
|
||||
let chatData = {
|
||||
doctype: 'Item',
|
||||
id: this.id,
|
||||
type: this.type,
|
||||
img: this.img,
|
||||
pack: this.pack,
|
||||
name: this.name,
|
||||
actor: this.actor ? { id: this.actor.id } : undefined,
|
||||
system: { description: this.system.description },
|
||||
properties: this.getProprietes(),
|
||||
}
|
||||
// JSON object for easy creation
|
||||
chatData.jsondata = JSON.stringify(
|
||||
{
|
||||
compendium: "postedItem",
|
||||
payload: chatData,
|
||||
});
|
||||
|
||||
renderTemplate('systems/foundryvtt-reve-de-dragon/templates/post-item.html', chatData).then(html => {
|
||||
renderTemplate(this.getChatItemTemplate(), chatData).then(html => {
|
||||
let chatOptions = RdDUtility.chatDataSetup(html, modeOverride);
|
||||
ChatMessage.create(chatOptions)
|
||||
});
|
||||
}
|
||||
|
||||
getChatItemTemplate() {
|
||||
return 'systems/foundryvtt-reve-de-dragon/templates/post-item.html';
|
||||
}
|
||||
|
||||
static propertyIfDefined(name, val, condition = true) {
|
||||
return condition ? `<b>${name}</b>: ${val}` : undefined;
|
||||
}
|
||||
@@ -706,5 +829,4 @@ export class RdDItem extends Item {
|
||||
...this._inventaireTemplateChatData()
|
||||
]
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
181
module/item/blessure.js
Normal file
@@ -0,0 +1,181 @@
|
||||
import { RdDItem } from "../item.js";
|
||||
import { Misc } from "../misc.js";
|
||||
import { RdDTimestamp } from "../rdd-timestamp.js";
|
||||
|
||||
const BASE_TACHE_SOIN_BLESSURE = {
|
||||
type: "tache",
|
||||
img: 'systems/foundryvtt-reve-de-dragon/icons/competence_chirurgie.webp',
|
||||
system: { carac: "dexterite", competence: "Chirurgie", periodicite: "1 round", fatigue: 0, }
|
||||
}
|
||||
const TACHES_SOIN_BLESSURE = {
|
||||
6: { name: 'Blessure critique', system: { difficulte: -6, points_de_tache: 6 } },
|
||||
4: { name: 'Blessure grave', system: { difficulte: -4, points_de_tache: 4 } },
|
||||
2: { name: 'Blessure légère', system: { difficulte: -2, points_de_tache: 2 } },
|
||||
}
|
||||
|
||||
const definitionsBlessures = [
|
||||
{ type: "contusion", gravite: 0, labelGravite: 'Contusion/éraflure', max: 100, icon: "systems/foundryvtt-reve-de-dragon/icons/sante/eraflure.webp" },
|
||||
{ type: "legere", gravite: 2, labelGravite: 'Légère', max: 5, icon: "systems/foundryvtt-reve-de-dragon/icons/sante/blessure.webp" },
|
||||
{ type: "grave", gravite: 4, labelGravite: 'Grave', max: 2, icon: "systems/foundryvtt-reve-de-dragon/icons/sante/blessure.webp" },
|
||||
{ type: "critique", gravite: 6, labelGravite: 'Critique', max: 1, icon: "systems/foundryvtt-reve-de-dragon/icons/sante/blessure.webp" },
|
||||
{ type: "mort", gravite: 8, labelGravite: 'Mort', max: 1, icon: "systems/foundryvtt-reve-de-dragon/icons/sante/mort.webp" }
|
||||
]
|
||||
|
||||
export class RdDItemBlessure extends RdDItem {
|
||||
|
||||
static get defaultIcon() {
|
||||
return "systems/foundryvtt-reve-de-dragon/icons/sante/blessure.webp";
|
||||
}
|
||||
|
||||
prepareDerivedData() {
|
||||
super.prepareDerivedData();
|
||||
this.system.labelGravite = this.getLabelGravite()
|
||||
}
|
||||
|
||||
static prepareTacheSoin(gravite) {
|
||||
const tache = TACHES_SOIN_BLESSURE[gravite]
|
||||
if (!tache) {
|
||||
ui.notifications.warn(`Pas de tâche de soins pour une blessure ${gravite}`)
|
||||
return undefined;
|
||||
}
|
||||
return mergeObject(duplicate(BASE_TACHE_SOIN_BLESSURE), tache)
|
||||
}
|
||||
static async createBlessure(actor, gravite, localisation = '') {
|
||||
const definition = RdDItemBlessure.getDefinition(gravite)
|
||||
const blessure = {
|
||||
name: definition.labelGravite,
|
||||
type: 'blessure',
|
||||
img: definition.icon,
|
||||
system: {
|
||||
gravite: gravite,
|
||||
difficulte: - gravite,
|
||||
localisation: localisation
|
||||
}
|
||||
}
|
||||
|
||||
const blessures = await actor.createEmbeddedDocuments('Item', [blessure])
|
||||
return blessures[0]
|
||||
}
|
||||
|
||||
static async createTacheSoinBlessure(actor, gravite) {
|
||||
const tache = RdDItemBlessure.prepareTacheSoin(gravite)
|
||||
if (tache) {
|
||||
const taches = await actor.createEmbeddedDocuments('Item', [tache], { renderSheet: false });
|
||||
return taches[0];
|
||||
}
|
||||
return undefined
|
||||
}
|
||||
|
||||
async updateTacheSoinBlessure(tache) {
|
||||
if (tache) {
|
||||
await tache.update({
|
||||
system: {
|
||||
itemId: this.id,
|
||||
difficulte: Math.min(this.system.difficulte, tache.system.difficulte),
|
||||
points_de_tache_courant: Math.max(0, this.system.premierssoins.tache)
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
async setSoinsBlessure(systemUpdate = {}) {
|
||||
systemUpdate = mergeObject(systemUpdate, this.system, { overwrite: false }),
|
||||
systemUpdate.soinscomplets.done = systemUpdate.premierssoins.done && systemUpdate.soinscomplets.done
|
||||
await this.update({
|
||||
img: this.getImgSoins(systemUpdate.gravite, systemUpdate.soinscomplets.done),
|
||||
system: systemUpdate
|
||||
});
|
||||
}
|
||||
|
||||
async recuperationBlessure({ actor, timestamp, message, isMaladeEmpoisonne, blessures }) {
|
||||
if (this.parent != actor || actor == undefined) {
|
||||
return
|
||||
}
|
||||
if (new RdDTimestamp(this.system.temporel.fin).compare(timestamp) > 0) {
|
||||
// attente periode
|
||||
return
|
||||
}
|
||||
if (this.system.gravite > 0) {
|
||||
const update = { system: { premierssoins: { bonus: 0 }, soinscomplets: { bonus: 0 } } }
|
||||
const gravite = this.system.gravite;
|
||||
const graviteMoindre = gravite - 2;
|
||||
const moindres = blessures.filter(it => it.system.gravite == graviteMoindre, 'blessures').length
|
||||
const labelGravite = this.getLabelGravite();
|
||||
|
||||
let rolled = await actor.jetRecuperationConstitution(this.system.soinscomplets.bonus, message);
|
||||
|
||||
if (rolled.isETotal) {
|
||||
message.content += ` -- une blessure ${labelGravite} s'infecte (temps de guérison augmenté de ${gravite} jours, perte de vie)`;
|
||||
await actor.santeIncDec("vie", -1);
|
||||
mergeObject(update, {
|
||||
system: { fin: { indexDate: timestamp.addJours(gravite).indexDate } }
|
||||
});
|
||||
}
|
||||
else {
|
||||
if (!isMaladeEmpoisonne && rolled.isSuccess && this.peutRetrograder(graviteMoindre, moindres)) {
|
||||
message.content += ` -- une blessure ${labelGravite} cicatrise`;
|
||||
mergeObject(update, {
|
||||
system: { gravite: graviteMoindre, fin: { indexDate: timestamp.addJours(graviteMoindre).indexDate } }
|
||||
});
|
||||
}
|
||||
else {
|
||||
message.content += ` -- une blessure ${labelGravite} reste stable`;
|
||||
}
|
||||
}
|
||||
await this.update(update);
|
||||
}
|
||||
}
|
||||
|
||||
peutRetrograder(graviteMoindre, moindres) {
|
||||
return moindres < RdDItemBlessure.getDefinition(graviteMoindre).max
|
||||
}
|
||||
|
||||
async calculerFinPeriodeTemporel(debut) {
|
||||
return await debut.nouveauJour().addJours(this.system.gravite);
|
||||
}
|
||||
|
||||
async onFinPeriode(oldTimestamp, newTimestamp) {
|
||||
if (this.system.gravite <= 0) {
|
||||
await super.onFinPeriode(oldTimestamp, newTimestamp)
|
||||
}
|
||||
}
|
||||
|
||||
getImgSoins(gravite, soins) {
|
||||
let img = 'blessure'
|
||||
if (gravite > 6) {
|
||||
img = 'mort'
|
||||
}
|
||||
if (gravite <= 0) {
|
||||
img = 'eraflure'
|
||||
}
|
||||
return `systems/foundryvtt-reve-de-dragon/icons/sante/${soins ? 'blessure-soins' : img}.webp`
|
||||
}
|
||||
|
||||
getLabelGravite() {
|
||||
return RdDItemBlessure.getDefinition(this.system.gravite).labelGravite
|
||||
}
|
||||
|
||||
static getDefinition(gravite) {
|
||||
return definitionsBlessures.sort(Misc.ascending(it => it.gravite))
|
||||
.find(it => it.gravite >= gravite);
|
||||
}
|
||||
static maxBlessures(gravite) {
|
||||
return RdDItemBlessure.getDefinition(gravite).max
|
||||
}
|
||||
|
||||
isContusion() {
|
||||
return this.system.gravite <= 0
|
||||
}
|
||||
isLegere() {
|
||||
return this.system.gravite > 0 && this.system.gravite <= 2
|
||||
}
|
||||
isGrave() {
|
||||
return this.system.gravite > 2 && this.system.gravite <= 4
|
||||
}
|
||||
isCritique() {
|
||||
return this.system.gravite > 4 && this.system.gravite <= 6
|
||||
}
|
||||
isMort() {
|
||||
return this.system.gravite > 6
|
||||
}
|
||||
}
|
||||
47
module/item/maladie.js
Normal file
@@ -0,0 +1,47 @@
|
||||
import { RdDItem } from "../item.js";
|
||||
import { Misc } from "../misc.js";
|
||||
import { RdDTimestamp } from "../rdd-timestamp.js";
|
||||
|
||||
export class RdDItemMaladie extends RdDItem {
|
||||
|
||||
static get defaultIcon() {
|
||||
return "systems/foundryvtt-reve-de-dragon/icons/maladies_venins/maladie.webp";
|
||||
}
|
||||
|
||||
async calculerFinPeriodeTemporel(debut) {
|
||||
return await debut.addPeriode(this.system.periode.nombre, this.system.periode.unite);
|
||||
}
|
||||
|
||||
async onFinPeriode(oldTimestamp, newTimestamp) {
|
||||
await RdDItemMaladie.notifierMaladiePoison(this, oldTimestamp, newTimestamp)
|
||||
}
|
||||
|
||||
static async notifierMaladiePoison(mal, oldTimestamp, newTimestamp) {
|
||||
if (mal.actor) {
|
||||
const souffrance = mal.system.identifie
|
||||
? `de ${mal.name}`
|
||||
: `d'un mal inconnu`
|
||||
ChatMessage.create({ content: `${mal.actor.name} souffre ${souffrance} (${Misc.typeName('Item', mal.type)}): vérifiez que les effets ne se sont pas aggravés !` });
|
||||
mal.postItemToChat('gmroll');
|
||||
await RdDItemMaladie.prolongerPeriode(mal,oldTimestamp, newTimestamp);
|
||||
}
|
||||
}
|
||||
|
||||
static async prolongerPeriode(mal, oldTimestamp, newTimestamp) {
|
||||
if (mal.actor) {
|
||||
// TODO: déterminer le nombre de périodes écoulées
|
||||
console.log(`${mal.actor.name}: le mal ${mal.name} a atteint la fin de sa période et été prolongé`);
|
||||
const current = newTimestamp;
|
||||
const finPeriode = new RdDTimestamp(mal.system.temporel.fin)
|
||||
const periodeSuivante = (finPeriode.compare(current) > 0 ? finPeriode : current);
|
||||
const timestampFin = await mal.calculerFinPeriodeTemporel(periodeSuivante);
|
||||
|
||||
await mal.actor.updateEmbeddedDocuments('Item', [{
|
||||
_id: mal.id,
|
||||
'system.temporel.fin': duplicate(timestampFin),
|
||||
}])
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
11
module/item/ombre.js
Normal file
@@ -0,0 +1,11 @@
|
||||
import { RdDItem } from "../item.js";
|
||||
|
||||
export class RdDItemOmbre extends RdDItem {
|
||||
static get defaultIcon() {
|
||||
return "systems/foundryvtt-reve-de-dragon/icons/queue_dragon.webp";
|
||||
}
|
||||
|
||||
async calculerFinPeriodeTemporel(debut) {
|
||||
return await debut.appliquerDuree(this.system.duree, this.parent);
|
||||
}
|
||||
}
|
||||
17
module/item/poison.js
Normal file
@@ -0,0 +1,17 @@
|
||||
import { RdDItem } from "../item.js";
|
||||
import { RdDItemMaladie } from "./maladie.js";
|
||||
|
||||
export class RdDItemPoison extends RdDItem {
|
||||
|
||||
static get defaultIcon() {
|
||||
return "systems/foundryvtt-reve-de-dragon/icons/maladies_venins/venin.webp";
|
||||
}
|
||||
|
||||
async calculerFinPeriodeTemporel(debut) {
|
||||
return await debut.addPeriode(this.system.periode.nombre, this.system.periode.unite) ;
|
||||
}
|
||||
|
||||
async onFinPeriode(oldTimestamp, newTimestamp) {
|
||||
RdDItemMaladie.notifierMaladiePoison(this, oldTimestamp, newTimestamp)
|
||||
}
|
||||
}
|
||||
13
module/item/queue.js
Normal file
@@ -0,0 +1,13 @@
|
||||
import { RdDItem } from "../item.js";
|
||||
|
||||
export class RdDItemQueue extends RdDItem {
|
||||
|
||||
static get defaultIcon() {
|
||||
return "systems/foundryvtt-reve-de-dragon/icons/queue_dragon.webp";
|
||||
}
|
||||
|
||||
async calculerFinPeriodeTemporel(debut) {
|
||||
return await debut.appliquerDuree(this.system.duree, this.parent);
|
||||
}
|
||||
|
||||
}
|
||||
31
module/item/raretes.js
Normal file
@@ -0,0 +1,31 @@
|
||||
|
||||
const RARETE_COMMUNE = { code: 'Commune', label: 'Commune', frequence: 54, min: 27, max: 108 };
|
||||
const RARETE_FREQUENTE = { code: 'Frequente', label: 'Fréquente', frequence: 18, min: 9, max: 36 };
|
||||
const RARETE_RARE = { code: 'Rare', label: 'Rare', frequence: 6, min: 3, max: 12 };
|
||||
const RARETE_RARISSIME = { code: 'Rarissime', label: 'Rarissime', frequence: 2, min: 1, max: 4 };
|
||||
const RARETE_INEXISTANT = { code: 'Inexistant', label: 'Inexistant', frequence: 0, min: 0, max: 0 };
|
||||
const RARETE_EGALE = { code: 'eqal', label: 'Egal', frequence: 1, min: 1, max: 1 };
|
||||
|
||||
const RARETES = [
|
||||
RARETE_COMMUNE,
|
||||
RARETE_FREQUENTE,
|
||||
RARETE_RARE,
|
||||
RARETE_RARISSIME,
|
||||
RARETE_INEXISTANT,
|
||||
]
|
||||
|
||||
export class RdDRaretes {
|
||||
|
||||
static rareteFrequente() { return RARETE_FREQUENTE; }
|
||||
static rareteEgale() { return RARETE_EGALE; }
|
||||
static raretes() { return RARETES; }
|
||||
|
||||
static byCode(code = undefined) {
|
||||
return RARETES.find(it => it.code == code) ?? RARETE_FREQUENTE;
|
||||
}
|
||||
|
||||
static getChamp(rarete, field = undefined) {
|
||||
return RdDRaretes.byCode(rarete)[field ?? 'frequence'];
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
import { EffetsRencontre } from "./effets-rencontres.js";
|
||||
import { EffetsRencontre } from "../tmr/effets-rencontres.js";
|
||||
import { RdDItem } from "../item.js";
|
||||
|
||||
const tableEffets = [
|
||||
{ code: "messager", resultat: "succes", description: "Envoie un message à (force) cases", method: EffetsRencontre.messager },
|
||||
@@ -36,7 +37,11 @@ const tableEffets = [
|
||||
// { code: "epart-souffle", resultat: "echec", description: "Souffle de dragon sur échec particulier" },
|
||||
];
|
||||
|
||||
export class RdDRencontre {
|
||||
export class RdDRencontre extends RdDItem {
|
||||
|
||||
static get defaultIcon() {
|
||||
return "systems/foundryvtt-reve-de-dragon/icons/tete_dragon.webp";
|
||||
}
|
||||
|
||||
static getEffetsSucces() { return RdDRencontre.getEffets("succes"); }
|
||||
static getEffetsEchec() { return RdDRencontre.getEffets("echec"); }
|
||||
@@ -68,4 +73,8 @@ export class RdDRencontre {
|
||||
}
|
||||
}
|
||||
|
||||
async calculerFinPeriodeTemporel(debut) {
|
||||
return await debut.nouvelleHeure().addHeures(12);
|
||||
}
|
||||
|
||||
}
|
||||
17
module/item/service.js
Normal file
@@ -0,0 +1,17 @@
|
||||
import { RdDItem } from "../item.js";
|
||||
|
||||
export class RdDItemService extends RdDItem {
|
||||
|
||||
static get defaultIcon() {
|
||||
return "systems/foundryvtt-reve-de-dragon/icons/services/lit.webp";
|
||||
}
|
||||
|
||||
isService() { return true; }
|
||||
getProprietes() {
|
||||
return [
|
||||
RdDItem.propertyIfDefined('Qualité', this.system.qualite, this.system.qualite != 0),
|
||||
RdDItem.propertyIfDefined('Moral', 'Situation heureuse', this.system.moral),
|
||||
RdDItem.propertyIfDefined('Coût', `${this.calculerPrixCommercant()} sols`),
|
||||
];
|
||||
}
|
||||
}
|
||||
120
module/item/sheet-base-inventaire.js
Normal file
@@ -0,0 +1,120 @@
|
||||
import { HtmlUtility } from "../html-utility.js";
|
||||
import { RdDItemSheet } from "../item-sheet.js";
|
||||
import { Misc } from "../misc.js";
|
||||
import { RdDRaretes } from "./raretes.js";
|
||||
|
||||
const TYPE_ITEMS_NATURELS = ["faune", "herbe", "plante", "ingredient"];
|
||||
|
||||
export class RdDItemInventaireSheet extends RdDItemSheet {
|
||||
|
||||
static get defaultOptions() {
|
||||
return mergeObject(RdDItemSheet.defaultOptions, {
|
||||
tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "informations" }]
|
||||
});
|
||||
}
|
||||
|
||||
setPosition(options = {}) {
|
||||
const position = super.setPosition(options);
|
||||
const sheetHeader = this.element.find(".sheet-header");
|
||||
const sheetBody = this.element.find(".sheet-body");
|
||||
sheetBody.css("height", position.height - sheetHeader[0].clientHeight)
|
||||
return position;
|
||||
}
|
||||
|
||||
async getData() {
|
||||
const formData = await super.getData();
|
||||
return mergeObject(formData, {
|
||||
milieux: await game.system.rdd.environnement.autresMilieux(this.item)
|
||||
});
|
||||
}
|
||||
|
||||
activateListeners(html) {
|
||||
super.activateListeners(html);
|
||||
HtmlUtility.showControlWhen(this.html.find("div.description-milieu"), TYPE_ITEMS_NATURELS.includes(this.item.type));
|
||||
|
||||
if (!this.options.editable) return;
|
||||
this.html.find("a.preparer-nourriture").click(event => this.preparerNourriture(event));
|
||||
this.html.find("a.manger-nourriture").click(event => this.mangerNourriture(event));
|
||||
|
||||
this.html.find("input.input-selection-milieu").keypress(event => {
|
||||
if (event.keyCode == '13') {
|
||||
this.onAddMilieu(event);
|
||||
}
|
||||
event.stopPropagation();
|
||||
})
|
||||
this.html.find("a.milieu-add").click(event => this.onAddMilieu(event));
|
||||
this.html.find("div.environnement-milieu a.milieu-delete").click(event => this.onDeleteMilieu(event));
|
||||
this.html.find("div.environnement-milieu select.environnement-rarete").change(event => this.onChange(event,
|
||||
updated => this.$changeRarete(event, updated)));
|
||||
this.html.find("div.environnement-milieu input[name='environnement-frequence']").change(event => this.onChange(event,
|
||||
updated => this.$changeFrequence(event, updated)));
|
||||
|
||||
|
||||
}
|
||||
|
||||
async preparerNourriture(event) {
|
||||
if (this.actor && this.item.getUtilisationCuisine() == 'brut') {
|
||||
await this.actor.preparerNourriture(this.item);
|
||||
}
|
||||
}
|
||||
|
||||
async mangerNourriture(event) {
|
||||
if (this.actor && this.item.getUtilisation() == 'cuisine') {
|
||||
await this.actor.mangerNourriture(this.item);
|
||||
}
|
||||
}
|
||||
|
||||
$changeFrequence(event, updated) {
|
||||
updated.frequence = Number(this.html.find(event.currentTarget).val());
|
||||
}
|
||||
|
||||
$changeRarete(event, updated) {
|
||||
const code = this.html.find(event.currentTarget).val();
|
||||
const rarete = RdDRaretes.byCode(code);
|
||||
updated.rarete = rarete.code;
|
||||
updated.frequence = rarete.frequence;
|
||||
}
|
||||
|
||||
async onAddMilieu(event) {
|
||||
const milieu = this.html.find('input.input-selection-milieu').val();
|
||||
if (!milieu) {
|
||||
ui.notifications.warn(`Choisissez le milieu dans lequel se trouve le/la ${this.item.name}`);
|
||||
return
|
||||
}
|
||||
const list = this.item.getEnvironnements();
|
||||
const exists = list.find(it => it.milieu == milieu);
|
||||
if (exists) {
|
||||
ui.notifications.warn(`${this.item.name} a déjà une rareté ${exists.rarete} en ${milieu} (fréquence: ${exists.frequence})`);
|
||||
return
|
||||
}
|
||||
const rarete = RdDRaretes.rareteFrequente();
|
||||
const added = { milieu, rarete: rarete.code, frequence: rarete.frequence };
|
||||
const newList = [added, ...list].sort(Misc.ascending(it => it.milieu))
|
||||
await this.item.update({ 'system.environnement': newList })
|
||||
}
|
||||
|
||||
async onDeleteMilieu(event) {
|
||||
const milieu = this.$getEventMilieu(event);
|
||||
if (milieu != undefined) {
|
||||
const newList = this.item.getEnvironnements().filter(it => it.milieu != milieu)
|
||||
.sort(Misc.ascending(it => it.milieu));
|
||||
await this.item.update({ 'system.environnement': newList });
|
||||
}
|
||||
}
|
||||
|
||||
async onChange(event, doMutation) {
|
||||
const list = this.item.system.environnement;
|
||||
const milieu = this.$getEventMilieu(event);
|
||||
const updated = list.find(it => it.milieu == milieu);
|
||||
if (updated) {
|
||||
doMutation(updated);
|
||||
const newList = [...list.filter(it => it.milieu != milieu), updated]
|
||||
.sort(Misc.ascending(it => it.milieu));
|
||||
await this.item.update({ 'system.environnement': newList });
|
||||
}
|
||||
}
|
||||
|
||||
$getEventMilieu(event) {
|
||||
return this.html.find(event.currentTarget)?.parents("div.environnement-milieu").data("milieu");
|
||||
}
|
||||
}
|
||||
29
module/item/sheet-blessure.js
Normal file
@@ -0,0 +1,29 @@
|
||||
import { RdDItemSheet } from "../item-sheet.js";
|
||||
|
||||
export class RdDBlessureItemSheet extends RdDItemSheet {
|
||||
|
||||
static get ITEM_TYPE() { return "blessure" };
|
||||
|
||||
async getData() {
|
||||
const formData = await super.getData();
|
||||
formData.disabled = formData.options.isGM || formData.options.isOwned ? '' : 'disabled';
|
||||
return formData;
|
||||
}
|
||||
|
||||
activateListeners(html) {
|
||||
super.activateListeners(html);
|
||||
|
||||
if (!this.options.editable) return;
|
||||
|
||||
this.html.find('[name="premierssoins-done"]').change(async event => {
|
||||
await this.item.setSoinsBlessure({ premierssoins: { done: event.currentTarget.checked } });
|
||||
});
|
||||
this.html.find('[name="soinscomplets-done"]').change(async event => {
|
||||
await this.item.setSoinsBlessure({ soinscomplets: { done: event.currentTarget.checked } })
|
||||
});
|
||||
this.html.find('[name="system-gravite"]').change(async event => {
|
||||
const gravite = Number(event.currentTarget.value)
|
||||
await this.item.setSoinsBlessure({ gravite: gravite, difficulte: - gravite })
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,9 @@
|
||||
import { RdDItemSheet } from "./item-sheet.js";
|
||||
import { RdDSheetUtility } from "./rdd-sheet-utility.js";
|
||||
import { RdDUtility } from "./rdd-utility.js";
|
||||
import { RdDBaseActorSheet } from "../actor/base-actor-sheet.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 RdDItemSheet {
|
||||
export class RdDConteneurItemSheet extends RdDItemInventaireSheet {
|
||||
|
||||
static get ITEM_TYPE() { return "conteneur" };
|
||||
|
||||
@@ -27,8 +28,7 @@ export class RdDConteneurItemSheet extends RdDItemSheet {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
prepareConteneurData(formData) {
|
||||
RdDUtility.filterEquipementParType(formData, this.actor.itemTypes);
|
||||
|
||||
RdDBaseActorSheet.filterItemsPerTypeForSheet(formData, this.actor.itemTypes);
|
||||
this.objetVersConteneur = RdDUtility.buildArbreDeConteneurs(formData.conteneurs, formData.objets);
|
||||
formData.subItems = formData.conteneurs.find(it => it._id == this.item.id)?.subItems;
|
||||
}
|
||||
@@ -43,7 +43,8 @@ export class RdDConteneurItemSheet extends RdDItemSheet {
|
||||
const dragData = {
|
||||
actorId: this.actor.id,
|
||||
type: "Item",
|
||||
data: item.system
|
||||
data: item.system,
|
||||
uuid: item.uuid
|
||||
};
|
||||
|
||||
event.dataTransfer.setData("text/plain", JSON.stringify(dragData));
|
||||
@@ -51,7 +52,8 @@ export class RdDConteneurItemSheet extends RdDItemSheet {
|
||||
|
||||
async _onDropItem(event, dragData) {
|
||||
if (this.actor) {
|
||||
const dropParams = RdDSheetUtility.prepareItemDropParameters(this.item.id, this.actor, dragData, this.objetVersConteneur);
|
||||
const destItemId = this.html.find(event.target)?.closest('.item').attr('data-item-id') ?? this.item.id
|
||||
const dropParams = await RdDSheetUtility.prepareItemDropParameters(destItemId, this.actor, dragData, this.objetVersConteneur);
|
||||
await this.actor.processDropItem(dropParams);
|
||||
await this.render(true);
|
||||
}
|
||||
38
module/item/sheet-faune.js
Normal file
@@ -0,0 +1,38 @@
|
||||
import { RdDItemInventaireSheet } from "./sheet-base-inventaire.js";
|
||||
|
||||
export class RdDFauneItemSheet extends RdDItemInventaireSheet {
|
||||
|
||||
static get ITEM_TYPE() { return "faune" };
|
||||
|
||||
activateListeners(html) {
|
||||
super.activateListeners(html);
|
||||
|
||||
if (!this.options.editable) return;
|
||||
|
||||
html.find("a.linked-actor-delete").click(event => this.onDeleteLinkedActor());
|
||||
}
|
||||
|
||||
async _onDropActor(event, dragData) {
|
||||
console.log('faune:dropActor', event, dragData)
|
||||
const linkedActor = fromUuidSync(dragData.uuid);
|
||||
if (linkedActor?.pack) {
|
||||
this.item.update({
|
||||
'system.actor.pack': linkedActor.pack,
|
||||
'system.actor.id': linkedActor._id,
|
||||
'system.actor.name': linkedActor.name
|
||||
});
|
||||
}
|
||||
else {
|
||||
ui.notifications.warn(`${linkedActor.name} ne provient pas d'un compendium.
|
||||
<br>Choisissez une créature du compendium pour représenter un élément de faune générique`)
|
||||
}
|
||||
}
|
||||
async onDeleteLinkedActor() {
|
||||
this.item.update({
|
||||
'system.actor.pack': '',
|
||||
'system.actor.id': '',
|
||||
'system.actor.name': ''
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
6
module/item/sheet-herbe.js
Normal file
@@ -0,0 +1,6 @@
|
||||
import { RdDItemInventaireSheet } from "./sheet-base-inventaire.js";
|
||||
|
||||
export class RdDHerbeItemSheet extends RdDItemInventaireSheet {
|
||||
|
||||
static get ITEM_TYPE() { return "herbe" };
|
||||
}
|
||||
5
module/item/sheet-ingredient.js
Normal file
@@ -0,0 +1,5 @@
|
||||
import { RdDItemInventaireSheet } from "./sheet-base-inventaire.js";
|
||||
|
||||
export class RdDIngredientItemSheet extends RdDItemInventaireSheet {
|
||||
static get ITEM_TYPE() { return "ingredient" };
|
||||
}
|
||||
7
module/item/sheet-plante.js
Normal file
@@ -0,0 +1,7 @@
|
||||
import { RdDItemInventaireSheet } from "./sheet-base-inventaire.js";
|
||||
|
||||
export class RdDPlanteItemSheet extends RdDItemInventaireSheet {
|
||||
|
||||
static get ITEM_TYPE() { return "plante" };
|
||||
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
import { RdDRencontre } from "./item-rencontre.js";
|
||||
import { RdDItemSheet } from "./item-sheet.js";
|
||||
import { RdDRencontre } from "./rencontre.js";
|
||||
import { RdDItemSheet } from "../item-sheet.js";
|
||||
|
||||
export class RdDRencontreItemSheet extends RdDItemSheet {
|
||||
|
||||
16
module/item/sheet-service.js
Normal file
@@ -0,0 +1,16 @@
|
||||
import { RdDItemSheet } from "../item-sheet.js";
|
||||
|
||||
export class RdDServiceItemSheet extends RdDItemSheet {
|
||||
|
||||
static get ITEM_TYPE() { return "service" };
|
||||
|
||||
async getData() {
|
||||
const formData = await super.getData();
|
||||
formData.disabled = formData.options.isGM || formData.options.isOwned ? '' : 'disabled';
|
||||
return formData;
|
||||
}
|
||||
|
||||
activateListeners(html) {
|
||||
super.activateListeners(html);
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
import { RdDItemSheet } from "./item-sheet.js";
|
||||
import { RdDItemSigneDraconique } from "./item-signedraconique.js";
|
||||
import { TMRUtility } from "./tmr-utility.js";
|
||||
import { RdDItemSheet } from "../item-sheet.js";
|
||||
import { RdDItemSigneDraconique } from "./signedraconique.js";
|
||||
import { TMRUtility } from "../tmr-utility.js";
|
||||
|
||||
/**
|
||||
* Item sheet pour signes draconiques
|
||||
@@ -1,8 +1,9 @@
|
||||
import { defaultItemImg } from "./item.js";
|
||||
import { Misc } from "./misc.js";
|
||||
import { RdDDice } from "./rdd-dice.js";
|
||||
import { RdDRollTables } from "./rdd-rolltables.js";
|
||||
import { TMRType, TMRUtility } from "./tmr-utility.js";
|
||||
import { RdDItem, defaultItemImg } from "../item.js";
|
||||
import { Misc } from "../misc.js";
|
||||
import { RdDDice } from "../rdd-dice.js";
|
||||
import { RdDRollTables } from "../rdd-rolltables.js";
|
||||
import { RdDTimestamp } from "../rdd-timestamp.js";
|
||||
import { TMRType, TMRUtility } from "../tmr-utility.js";
|
||||
|
||||
const tableSignesIndicatifs = [
|
||||
{ rarete: "Très facile", difficulte: 0, xp: 6, nbCases: 14 },
|
||||
@@ -15,7 +16,17 @@ const tableSignesIndicatifs = [
|
||||
|
||||
const DIFFICULTE_LECTURE_SIGNE_MANQUE = +11;
|
||||
|
||||
export class RdDItemSigneDraconique {
|
||||
export class RdDItemSigneDraconique extends RdDItem {
|
||||
|
||||
static get defaultIcon() {
|
||||
return "systems/foundryvtt-reve-de-dragon/icons/tmr/signe_draconique.webp";
|
||||
}
|
||||
|
||||
|
||||
async calculerFinPeriodeTemporel(debut) {
|
||||
// TODO
|
||||
return RdDTimestamp.formulesDuree().find(it => it.code == "").calcul(debut, this.actor);
|
||||
}
|
||||
|
||||
static prepareSigneDraconiqueMeditation(meditation, rolled) {
|
||||
return {
|
||||
13
module/item/souffle.js
Normal file
@@ -0,0 +1,13 @@
|
||||
import { RdDItem } from "../item.js";
|
||||
|
||||
export class RdDItemSouffle extends RdDItem {
|
||||
|
||||
static get defaultIcon() {
|
||||
return "systems/foundryvtt-reve-de-dragon/icons/souffle_dragon.webp";
|
||||
}
|
||||
|
||||
async calculerFinPeriodeTemporel(debut) {
|
||||
return await debut.appliquerDuree(this.system.duree, this.parent);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,6 +1,10 @@
|
||||
import { RdDBaseActor } from "./actor/base-actor.js";
|
||||
import { LOG_HEAD, SYSTEM_RDD } from "./constants.js";
|
||||
import { Environnement } from "./environnement.js";
|
||||
import { Grammar } from "./grammar.js";
|
||||
import { Monnaie } from "./item-monnaie.js";
|
||||
import { RdDItem } from "./item.js";
|
||||
import { RdDTimestamp } from "./rdd-timestamp.js";
|
||||
import { RdDRaretes } from "./item/raretes.js";
|
||||
|
||||
class Migration {
|
||||
get code() { return "sample"; }
|
||||
@@ -29,6 +33,39 @@ class Migration {
|
||||
|
||||
}
|
||||
|
||||
class _1_5_34_migrationPngWebp {
|
||||
get code() { return "migrationPngWebp"; }
|
||||
get version() { return "1.5.34"; }
|
||||
async migrate() {
|
||||
|
||||
const regexOldPngJpg = /(systems\/foundryvtt-reve-de-dragon\/icons\/.*)\.(png|jpg)/;
|
||||
const replaceWithWebp = '$1.webp';
|
||||
function convertImgToWebp(img) {
|
||||
return img.replace(regexOldPngJpg, replaceWithWebp);
|
||||
}
|
||||
function prepareDocumentsImgUpdate(documents) {
|
||||
return documents.filter(it => it.img && it.img.match(regexOldPngJpg))
|
||||
.map(it => {
|
||||
return { _id: it.id, img: convertImgToWebp(it.img) }
|
||||
});
|
||||
}
|
||||
|
||||
const itemsUpdates = prepareDocumentsImgUpdate(game.items);
|
||||
const actorsUpdates = prepareDocumentsImgUpdate(game.actors);
|
||||
//Migrate system png to webp
|
||||
await Item.updateDocuments(itemsUpdates);
|
||||
await Actor.updateDocuments(actorsUpdates);
|
||||
game.actors.forEach(actor => {
|
||||
if (actor.token?.img && actor.token.img.match(regexOldPngJpg)) {
|
||||
actor.update({ "token.img": convertImgToWebp(actor.token.img) });
|
||||
}
|
||||
const actorItemsToUpdate = prepareDocumentsImgUpdate(actor.items);
|
||||
actor.updateEmbeddedDocuments('Item', actorItemsToUpdate);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
class _10_0_16_MigrationSortsReserve extends Migration {
|
||||
get code() { return "creation-item-sort-reserve"; }
|
||||
get version() { return "10.0.16"; }
|
||||
@@ -251,10 +288,11 @@ class _10_3_0_FrequenceEnvironnement extends Migration {
|
||||
}
|
||||
|
||||
_updatesFrequences(it) {
|
||||
const rarete = RdDRaretes.byCode(it.system.rarete);
|
||||
return {
|
||||
_id: it.id,
|
||||
'system.rarete': undefined,
|
||||
'system.environnement': [{ milieu: it.system.milieu, rarete: it.system.rarete, frequence: Environnement.getFrequenceRarete(it.system.rarete, 'frequence') }]
|
||||
'system.environnement': [{ milieu: it.system.milieu, rarete: rarete.code, frequence: rarete.frequence }]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -292,10 +330,139 @@ class _10_3_17_Monnaies extends Migration {
|
||||
}
|
||||
}
|
||||
|
||||
class _10_4_6_ServicesEnCommerces extends Migration {
|
||||
|
||||
get code() { return "migration-service-acteurs"; }
|
||||
get version() { return "10.4.6"; }
|
||||
|
||||
async migrate() {
|
||||
const servicesToMigrate = game.items.filter(it => it.type == 'service');
|
||||
servicesToMigrate.forEach(async service => {
|
||||
const commerce = await this.convertServiceToCommerce(service);
|
||||
await RdDBaseActor.create(commerce, { renderSheet: false });
|
||||
await service.delete();
|
||||
});
|
||||
}
|
||||
|
||||
async convertServiceToCommerce(service) {
|
||||
return {
|
||||
name: service.name, img: service.img, type: 'commerce',
|
||||
system: {
|
||||
description: service.system.description,
|
||||
notesmj: service.system.descriptionmj,
|
||||
illimite: service.system.illimite
|
||||
},
|
||||
items: await this.transformInventaireCommerce(service)
|
||||
}
|
||||
}
|
||||
async transformInventaireCommerce(service) {
|
||||
const serviceItems = (service.system.items ?? []);
|
||||
const commerceItems = await Promise.all(serviceItems.map(async (it) => { return await this.transformToItemBoutique(it); }));
|
||||
return commerceItems.concat(Monnaie.monnaiesStandard());
|
||||
}
|
||||
|
||||
async transformToItemBoutique(serviceRefItem) {
|
||||
const item = await RdDItem.getCorrespondingItem(serviceRefItem);
|
||||
const itemToCreate = {
|
||||
name: item.name, img: item.img, type: item.type,
|
||||
system: mergeObject({ cout: serviceRefItem.system.cout, quantite: serviceRefItem.system.quantite }, item.system, { overwrite: false })
|
||||
};
|
||||
return itemToCreate;
|
||||
}
|
||||
}
|
||||
class _10_5_0_UpdatePeriodicite extends Migration {
|
||||
get code() { return "migration-periodicite-poisons-maladies"; }
|
||||
get version() { return "10.5.0"; }
|
||||
|
||||
async migrate() {
|
||||
await this.applyItemsUpdates(items => this._updatePeriodicite(items));
|
||||
}
|
||||
|
||||
_updatePeriodicite(items) {
|
||||
return items.filter(it => ['poison', 'maladie'].includes(it.type))
|
||||
.filter(it => it.system.periodicite != "")
|
||||
.map(it => {
|
||||
let [incubation, periodicite] = this.getPeriodicite(it);
|
||||
const periode = periodicite.split(' ');
|
||||
let unite = periode.length == 2
|
||||
? RdDTimestamp.formulesPeriode().find(it => Grammar.includesLowerCaseNoAccent(periode[1], it.code))?.code
|
||||
: undefined
|
||||
if (unite && Number(periode[0])) {
|
||||
return {
|
||||
_id: it.id,
|
||||
'system.periodicite': undefined,
|
||||
'system.incubation': incubation,
|
||||
'system.periode.nombre': Number.parseInt(periode[0]),
|
||||
'system.periode.unite': unite
|
||||
};
|
||||
}
|
||||
else {
|
||||
return {
|
||||
_id: it.id,
|
||||
'system.periodicite': undefined,
|
||||
'system.incubation': it.system.periodicite
|
||||
};
|
||||
}
|
||||
}).filter(it => it != undefined);
|
||||
}
|
||||
|
||||
getPeriodicite(it) {
|
||||
let p = it.system.periodicite.split(/[\/\\]/);
|
||||
switch (p.length) {
|
||||
case 2: return [p[0].trim(), p[1].trim()];
|
||||
case 1: return ["", it.system.periodicite.trim()];
|
||||
default: return [it.system.periodicite.trim(), ""];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class _10_7_0_MigrationBlessures extends Migration {
|
||||
get code() { return "migration-blessures"; }
|
||||
get version() { return "10.7.0"; }
|
||||
|
||||
async migrate() {
|
||||
const timestamp = game.system.rdd.calendrier.getTimestamp()
|
||||
await Promise.all(game.actors.filter(it => it.isPersonnage() || it.isCreature())
|
||||
.map(async (actor) => {
|
||||
const legeres = actor.system.blessures?.legeres.liste.filter(it => it.active).map(it => this.creerBlessure(2, 'légère', it, timestamp)) ?? [];
|
||||
const graves = actor.system.blessures?.graves.liste.filter(it => it.active).map(it => this.creerBlessure(4, 'grave', it, timestamp)) ?? [];
|
||||
const critiques = actor.system.blessures?.critiques.liste.filter(it => it.active).map(it => this.creerBlessure(6, 'critique', it, timestamp));
|
||||
const blessures = legeres.concat(graves).concat(critiques);
|
||||
if (blessures.length > 0) {
|
||||
await actor.createEmbeddedDocuments("Item", blessures);
|
||||
}
|
||||
await actor.update({
|
||||
'system.blessures.legeres.liste': [],
|
||||
'system.blessures.graves.liste': [],
|
||||
'system.blessures.critiques.liste': []
|
||||
})
|
||||
}));
|
||||
}
|
||||
creerBlessure(gravite, graviteTexte, blessure, timestamp) {
|
||||
const dateBlessure = timestamp.addJours(-blessure.jours);
|
||||
const datePremiereRecup = dateBlessure.addJours(gravite);
|
||||
return {
|
||||
name: `Blessure ${graviteTexte}`,
|
||||
type: 'blessure',
|
||||
img: `systems/foundryvtt-reve-de-dragon/icons/sante/blessure${blessure.psdone ? '-soins' : ''}.webp`,
|
||||
system: {
|
||||
gravite: gravite,
|
||||
difficulte: -gravite,
|
||||
debut: { indexDate: dateBlessure.indexDate, indexMinute: 0 },
|
||||
fin: { indexDate: datePremiereRecup.indexDate, indexMinute: 0 },
|
||||
premierssoins: { done: blessure.psdone, bonus: blessure.premiers_soins },
|
||||
soinscomplets: { done: blessure.scdone, bonus: blessure.soins_complets },
|
||||
localisation: blessure.localisation,
|
||||
jours: blessure.jours
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export class Migrations {
|
||||
static getMigrations() {
|
||||
return [
|
||||
new _1_5_34_migrationPngWebp(),
|
||||
new _10_0_16_MigrationSortsReserve(),
|
||||
new _10_0_17_MigrationCompetenceCreature(),
|
||||
new _10_0_21_VehiculeStructureResistanceMax(),
|
||||
@@ -304,7 +471,10 @@ export class Migrations {
|
||||
new _10_2_10_DesirLancinant_IdeeFixe(),
|
||||
new _10_3_0_Inventaire(),
|
||||
new _10_3_0_FrequenceEnvironnement(),
|
||||
new _10_3_17_Monnaies()
|
||||
new _10_3_17_Monnaies(),
|
||||
new _10_4_6_ServicesEnCommerces(),
|
||||
new _10_5_0_UpdatePeriodicite(),
|
||||
new _10_7_0_MigrationBlessures(),
|
||||
];
|
||||
}
|
||||
|
||||
@@ -324,13 +494,7 @@ export class Migrations {
|
||||
//if (true) { /* comment previous and uncomment here to test before upgrade */
|
||||
const migrations = Migrations.getMigrations().filter(m => isNewerVersion(m.version, currentVersion));
|
||||
if (migrations.length > 0) {
|
||||
migrations.sort((a, b) =>
|
||||
isNewerVersion(a.version, b.version)
|
||||
? 1
|
||||
: isNewerVersion(b.version, a.version)
|
||||
? -1
|
||||
: 0
|
||||
);
|
||||
migrations.sort((a, b) => this.compareVersions(a, b));
|
||||
migrations.forEach(async (m) => {
|
||||
ui.notifications.info(
|
||||
`Executing migration ${m.code}: version ${currentVersion} is lower than ${m.version}`
|
||||
@@ -356,4 +520,8 @@ export class Migrations {
|
||||
console.log(LOG_HEAD + `No system version changed`);
|
||||
}
|
||||
}
|
||||
|
||||
compareVersions(a, b) {
|
||||
return isNewerVersion(a.version, b.version) ? 1 : isNewerVersion(b.version, a.version) ? -1 : 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -46,6 +46,9 @@ export class Misc {
|
||||
: '';
|
||||
}
|
||||
|
||||
static arrayOrEmpty(items) {
|
||||
return items?.length ? items : [];
|
||||
}
|
||||
/**
|
||||
* Converts the value to an integer, or to 0 if undefined/null/not representing integer
|
||||
* @param {*} value value to convert to an integer using parseInt
|
||||
@@ -82,6 +85,7 @@ export class Misc {
|
||||
list.forEach(it => addToObj(obj, it))
|
||||
return obj;
|
||||
}
|
||||
|
||||
static concat(lists) {
|
||||
return lists.reduce((a, b) => a.concat(b), []);
|
||||
}
|
||||
@@ -115,6 +119,17 @@ export class Misc {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @returns an array of incremental integers (including from / excluding to).
|
||||
* if max<min, the array is decrementing integers
|
||||
*/
|
||||
static intArray(from, to) {
|
||||
if (from > to) {
|
||||
return Array.from(Array(from - to).keys()).map(i => from - i)
|
||||
}
|
||||
return Array.from(Array(to - from).keys()).map(i => from + i)
|
||||
}
|
||||
|
||||
static distinct(array) {
|
||||
return [...new Set(array)];
|
||||
}
|
||||
|
||||
@@ -8,13 +8,11 @@ export class RdDAlchimie {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static processManipulation(recette, actorId = undefined) {
|
||||
//console.log("CALLED", recette, recette.isOwned, actorId );
|
||||
let manip = recette.system.manipulation;
|
||||
let matchArray = manip.match(matchOperations);
|
||||
if (matchArray) {
|
||||
for (let matchStr of matchArray) {
|
||||
let result = matchStr.match(matchOperationTerms);
|
||||
//console.log("RESULT ", result);
|
||||
if (result[1] && result[2]) {
|
||||
let commande = Misc.upperFirst(result[1]);
|
||||
let replacement = this[`_alchimie${commande}`](recette, result[2], actorId);
|
||||
@@ -27,20 +25,19 @@ export class RdDAlchimie {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static _alchimieCouleur(recette, couleurs, actorId) {
|
||||
if (actorId) {
|
||||
return `<span class="alchimie-tache"><a data-recette-id="${recette._id}" data-actor-id="${actorId}" data-alchimie-tache="couleur" data-alchimie-data="${couleurs}">couleur ${couleurs}</a></span>`;
|
||||
} else {
|
||||
return `<span class="alchimie-tache">couleur ${couleurs} </span>`;
|
||||
}
|
||||
return RdDAlchimie._alchimieLink(recette, couleurs, actorId, 'couleur', 'Température');
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static _alchimieConsistance(recette, consistances, actorId) {
|
||||
if (actorId) {
|
||||
return `<span class="alchimie-tache"><a data-recette-id="${recette._id}" data-actor-id="${actorId}" data-alchimie-tache="consistance" data-alchimie-data="${consistances}">consistance ${consistances}</a></span>`;
|
||||
} else {
|
||||
return `<span class="alchimie-tache">consistance ${consistances} </span>`;
|
||||
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>`;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
||||
@@ -1,48 +0,0 @@
|
||||
|
||||
/**
|
||||
* Extend the base Dialog entity by defining a custom window to perform roll.
|
||||
* @extends {Dialog}
|
||||
*/
|
||||
export class RdDAstrologieEditeur extends Dialog {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
constructor(html, calendrier, calendrierData) {
|
||||
|
||||
let myButtons = {
|
||||
resetButton: { label: "Re-tirer les nombres astraux", callback: html => this.resetNombreAstraux() },
|
||||
saveButton: { label: "Fermer", callback: html => this.fillData() }
|
||||
};
|
||||
|
||||
// Common conf
|
||||
let dialogConf = { content: html, title: "Editeur d'Astrologie", buttons: myButtons, default: "saveButton" };
|
||||
let dialogOptions = { classes: ["rdd-roll-dialog"], width: 600, height: 300, 'z-index': 99999 }
|
||||
super(dialogConf, dialogOptions)
|
||||
|
||||
this.calendrier = calendrier;
|
||||
this.updateData( calendrierData );
|
||||
}
|
||||
|
||||
activateListeners(html) {
|
||||
super.activateListeners(html);
|
||||
this.html = html;
|
||||
}
|
||||
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async resetNombreAstraux() {
|
||||
game.system.rdd.calendrier.resetNombreAstral();
|
||||
await game.system.rdd.calendrier.rebuildListeNombreAstral();
|
||||
|
||||
game.system.rdd.calendrier.showAstrologieEditor();
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
fillData( ) {
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
updateData( calendrierData ) {
|
||||
this.calendrierData = duplicate(calendrierData);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,104 +0,0 @@
|
||||
import { RdDItemCompetence } from "./item-competence.js";
|
||||
import { Misc } from "./misc.js";
|
||||
import { SYSTEM_SOCKET_ID } from "./constants.js";
|
||||
|
||||
|
||||
/**
|
||||
* Extend the base Dialog entity by defining a custom window to perform roll.
|
||||
* @extends {Dialog}
|
||||
*/
|
||||
export class RdDAstrologieJoueur extends Dialog {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static async create(actor, dialogConfig) {
|
||||
|
||||
let dialogData = {
|
||||
nombres: this.organizeNombres(actor),
|
||||
dates: game.system.rdd.calendrier.getJoursSuivants(10),
|
||||
etat: actor.getEtatGeneral(),
|
||||
ajustementsConditions: CONFIG.RDD.ajustementsConditions,
|
||||
astrologie: RdDItemCompetence.findCompetence(actor.items, 'Astrologie')
|
||||
}
|
||||
const html = await renderTemplate('systems/foundryvtt-reve-de-dragon/templates/dialog-astrologie-joueur.html', dialogData);
|
||||
let options = { classes: ["rdd-roll-dialog"], width: 600, height: 500, 'z-index': 99999 };
|
||||
if (dialogConfig.options) {
|
||||
mergeObject(options, dialogConfig.options, { overwrite: true });
|
||||
}
|
||||
return new RdDAstrologieJoueur(html, actor, dialogData);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
constructor(html, actor, dialogData) {
|
||||
const dialogConf = {
|
||||
title: "Nombres Astraux",
|
||||
content: html,
|
||||
default: "saveButton",
|
||||
buttons: {
|
||||
saveButton: { label: "Fermer", callback: html => this.quitDialog() }
|
||||
},
|
||||
};
|
||||
const dialogOptions = { classes: ["rdd-roll-dialog"], width: 600, height: 300, 'z-index': 99999 };
|
||||
super(dialogConf, dialogOptions);
|
||||
|
||||
this.actor = actor;
|
||||
this.dataNombreAstral = duplicate(dialogData);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
activateListeners(html) {
|
||||
super.activateListeners(html);
|
||||
this.html = html;
|
||||
|
||||
this.html.find(function () {
|
||||
this.html.find("[name='diffConditions']").val(0);
|
||||
});
|
||||
|
||||
this.html.find('[name="jet-astrologie"]').click((event) => {
|
||||
this.requestJetAstrologie();
|
||||
});
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static organizeNombres(actor) {
|
||||
let itemNombres = actor.listItemsData('nombreastral');
|
||||
let itemFiltered = {};
|
||||
for (let item of itemNombres) {
|
||||
if (itemFiltered[item.system.jourindex]) {
|
||||
itemFiltered[item.system.jourindex].listValues.push(item.system.value);
|
||||
} else {
|
||||
itemFiltered[item.system.jourindex] = {
|
||||
listValues: [item.system.value],
|
||||
jourlabel: item.system.jourlabel
|
||||
}
|
||||
}
|
||||
}
|
||||
return itemFiltered;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
requestJetAstrologie() {
|
||||
let socketData = {
|
||||
id: this.actor.id,
|
||||
carac_vue: this.actor.system.carac['vue'].value,
|
||||
etat: this.dataNombreAstral.etat,
|
||||
astrologie: this.dataNombreAstral.astrologie,
|
||||
conditions: this.html.find('[name="diffConditions"]').val(),
|
||||
date: this.html.find('[name="joursAstrologie"]').val(),
|
||||
userId: game.user.id
|
||||
}
|
||||
if (Misc.isUniqueConnectedGM()) {
|
||||
game.system.rdd.calendrier.requestNombreAstral(socketData);
|
||||
} else {
|
||||
game.socket.emit(SYSTEM_SOCKET_ID, {
|
||||
msg: "msg_request_nombre_astral",
|
||||
data: socketData
|
||||
});
|
||||
}
|
||||
this.close();
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
quitDialog() {
|
||||
}
|
||||
|
||||
}
|
||||
@@ -28,7 +28,7 @@ export class RdDBonus {
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static dmg(rollData, dmgActor, isCauchemar = false) {
|
||||
static dmg(rollData, dmgActor, isEntiteIncarnee = false) {
|
||||
let dmg = { total: 0 };
|
||||
if (rollData.arme && rollData.arme.name.toLowerCase() == "esquive") {
|
||||
// Specific case management
|
||||
@@ -41,7 +41,7 @@ export class RdDBonus {
|
||||
dmg.dmgSurprise = RdDBonus.dmgBonus(rollData.ajustements?.attaqueDefenseurSurpris.used);
|
||||
dmg.dmgActor = rollData.selectedCarac ? RdDBonus._dmgPerso(dmgActor, rollData.selectedCarac.label, dmg.dmgArme) : 0;
|
||||
dmg.total = dmg.dmgSurprise + dmg.dmgTactique + dmg.dmgArme + dmg.dmgActor + dmg.dmgParticuliere;
|
||||
dmg.mortalite = RdDBonus._calculMortalite(rollData, isCauchemar)
|
||||
dmg.mortalite = RdDBonus._calculMortalite(rollData, isEntiteIncarnee)
|
||||
}
|
||||
return dmg;
|
||||
}
|
||||
@@ -62,11 +62,8 @@ export class RdDBonus {
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static _calculMortalite(rollData, isCauchemar) {
|
||||
if (isCauchemar) {
|
||||
return "cauchemar";
|
||||
}
|
||||
return isCauchemar ? "cauchemar"
|
||||
static _calculMortalite(rollData, isEntiteIncarnee) {
|
||||
return isEntiteIncarnee ? "entiteincarnee"
|
||||
: rollData.dmg?.mortalite
|
||||
?? rollData.arme?.system.mortalite
|
||||
?? "mortel";
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Misc } from "./misc.js";
|
||||
import { RdDTimestamp } from "./rdd-timestamp.js";
|
||||
|
||||
/**
|
||||
* Extend the base Dialog entity by defining a custom window to perform roll.
|
||||
@@ -12,7 +12,7 @@ export class RdDCalendrierEditeur extends Dialog {
|
||||
content: html,
|
||||
title: "Editeur de date/heure",
|
||||
buttons: {
|
||||
save: { label: "Enregistrer", callback: html => this.fillData() }
|
||||
save: { label: "Enregistrer", callback: html => this.saveCalendrier() }
|
||||
},
|
||||
default: "save"
|
||||
};
|
||||
@@ -26,22 +26,37 @@ export class RdDCalendrierEditeur extends Dialog {
|
||||
activateListeners(html) {
|
||||
super.activateListeners(html);
|
||||
this.html = html;
|
||||
this.html.find("input[name='nomMois']").val(this.calendrierData.moisKey);
|
||||
this.html.find("select[name='nomHeure']").val(this.calendrierData.heureKey);
|
||||
this.html.find("select[name='jourMois']").val(this.calendrierData.jourMois);
|
||||
this.html.find("select[name='minutesRelative']").val(calendrierData.minutesRelative);
|
||||
this.html.find("select[name='annee']").val(this.calendrierData.annee);
|
||||
|
||||
this.html.find("input[name='calendar.annee']").val(this.calendrierData.annee);
|
||||
this.html.find("select[name='calendar.mois']").val(this.calendrierData.mois.key);
|
||||
this.html.find("select[name='calendar.heure']").val(this.calendrierData.heure.key);
|
||||
RdDCalendrierEditeur.setLimited(this.html.find("input[name='calendar.jourDuMois']"), this.calendrierData.jourDuMois, 1, 28);
|
||||
RdDCalendrierEditeur.setLimited(this.html.find("input[name='calendar.minute']"), this.calendrierData.minute, 0, 119);
|
||||
}
|
||||
|
||||
static setLimited(input, init, min, max) {
|
||||
input.val(init);
|
||||
input.change(event => {
|
||||
const val = Number.parseInt(input.val());
|
||||
if (val < min) {
|
||||
input.val(min);
|
||||
}
|
||||
if (val > max) {
|
||||
input.val(max);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
fillData() {
|
||||
this.calendrierData.annee = this.html.find("input[name='annee']").val();
|
||||
this.calendrierData.moisKey = this.html.find("select[name='nomMois']").val();
|
||||
this.calendrierData.heureKey = this.html.find("select[name='nomHeure']").val();
|
||||
this.calendrierData.jourMois = this.html.find("select[name='jourMois']").val();
|
||||
this.calendrierData.minutesRelative = this.html.find("select[name='minutesRelative']").val();
|
||||
saveCalendrier() {
|
||||
const annee = Number.parseInt(this.html.find("input[name='calendar.annee']").val());
|
||||
const mois = this.html.find("select[name='calendar.mois']").val();
|
||||
const jour = Number.parseInt(this.html.find("input[name='calendar.jourDuMois']").val());
|
||||
const heure = this.html.find("select[name='calendar.heure']").val();
|
||||
const minute = Number.parseInt(this.html.find("input[name='calendar.minute']").val());
|
||||
|
||||
this.calendrier.saveEditeur(this.calendrierData)
|
||||
this.calendrier.setNewTimestamp(RdDTimestamp.timestamp(annee, mois, jour, heure, minute))
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
||||
@@ -1,44 +1,14 @@
|
||||
/* -------------------------------------------- */
|
||||
import { RdDCalendrierEditeur } from "./rdd-calendrier-editeur.js";
|
||||
import { RdDAstrologieEditeur } from "./rdd-astrologie-editeur.js";
|
||||
import { HtmlUtility } from "./html-utility.js";
|
||||
import { RdDResolutionTable } from "./rdd-resolution-table.js";
|
||||
import { RdDUtility } from "./rdd-utility.js";
|
||||
import { Grammar } from "./grammar.js";
|
||||
import { RdDDice } from "./rdd-dice.js";
|
||||
import { Misc } from "./misc.js";
|
||||
import { HIDE_DICE, SHOW_DICE, SYSTEM_RDD, SYSTEM_SOCKET_ID } from "./constants.js";
|
||||
import { DialogChronologie } from "./dialog-chronologie.js";
|
||||
|
||||
/* -------------------------------------------- */
|
||||
const dossierIconesHeures = 'systems/foundryvtt-reve-de-dragon/icons/heures/'
|
||||
const heuresList = ["vaisseau", "sirene", "faucon", "couronne", "dragon", "epees", "lyre", "serpent", "poissonacrobate", "araignee", "roseau", "chateaudormant"];
|
||||
const heuresDef = {
|
||||
"vaisseau": {key: "vaisseau", label: "Vaisseau", lettreFont: 'v', saison: "printemps", heure: 0, icon: 'hd01.svg' },
|
||||
"sirene": { key: "sirene", label: "Sirène", lettreFont: 'i', saison: "printemps", heure: 1, icon: 'hd02.svg' },
|
||||
"faucon": { key: "faucon", label: "Faucon", lettreFont: 'f', saison: "printemps", heure: 2, icon: 'hd03.svg' },
|
||||
"couronne": { key: "couronne", label: "Couronne", lettreFont: '', saison: "ete", heure: 3, icon: 'hd04.svg' },
|
||||
"dragon": { key: "dragon", label: "Dragon", lettreFont: 'd', saison: "ete", heure: 4, icon: 'hd05.svg' },
|
||||
"epees": { key: "epees", label: "Epées", lettreFont: 'e', saison: "ete", heure: 5, icon: 'hd06.svg' },
|
||||
"lyre": { key: "lyre", label: "Lyre", lettreFont: 'l', saison: "automne", heure: 6, icon: 'hd07.svg' },
|
||||
"serpent": { key: "serpent", label: "Serpent", lettreFont: 's', saison: "automne", heure: 7, icon: 'hd08.svg' },
|
||||
"poissonacrobate": { key: "poissonacrobate", label: "Poisson Acrobate", lettreFont: 'p', saison: "automne", heure: 8, icon: 'hd09.svg' },
|
||||
"araignee": { key: "araignee", label: "Araignée", lettreFont: 'a', saison: "hiver", heure: 9, icon: 'hd10.svg' },
|
||||
"roseau": { key: "roseau", label: "Roseau", lettreFont: 'r', saison: "hiver", heure: 10, icon: 'hd11.svg' },
|
||||
"chateaudormant": { key: "chateaudormant", label: "Château Dormant", lettreFont: 'c', saison: "hiver", heure: 11, icon: 'hd12.svg' }
|
||||
};
|
||||
const saisonsDef = {
|
||||
"printemps": { label: "Printemps" },
|
||||
"ete": { label: "Eté" },
|
||||
"automne": { label: "Automne" },
|
||||
"hiver": { label: "Hiver" }
|
||||
};
|
||||
|
||||
const RDD_MOIS_PAR_AN = 12;
|
||||
export const RDD_JOUR_PAR_MOIS = 28;
|
||||
const RDD_HEURES_PAR_JOUR = 12;
|
||||
const RDD_MINUTES_PAR_HEURES = 120;
|
||||
const MAX_NOMBRE_ASTRAL = 12;
|
||||
import { MAX_NOMBRE_ASTRAL, RdDTimestamp, WORLD_TIMESTAMP_SETTING } from "./rdd-timestamp.js";
|
||||
import { DialogChateauDormant } from "./sommeil/dialog-chateau-dormant.js";
|
||||
import { ReglesOptionelles } from "./settings/regles-optionelles.js";
|
||||
import { APP_ASTROLOGIE_REFRESH, AppAstrologie } from "./sommeil/app-astrologie.js";
|
||||
|
||||
/* -------------------------------------------- */
|
||||
export class RdDCalendrier extends Application {
|
||||
@@ -55,57 +25,6 @@ export class RdDCalendrier extends Application {
|
||||
return { top: 200, left: 200 };
|
||||
}
|
||||
|
||||
static getDefSigne(chiffre) {
|
||||
chiffre = chiffre % RDD_MOIS_PAR_AN;
|
||||
return Object.values(heuresDef).find(h => h.heure == chiffre);
|
||||
}
|
||||
|
||||
static getSigneAs(key, value) {
|
||||
const heure = (typeof value == 'string' || typeof value == 'number') && Number.isInteger(Number(value))
|
||||
? Number(value)
|
||||
: (typeof value == 'string') ? RdDCalendrier.getChiffreFromSigne(value)
|
||||
: undefined
|
||||
|
||||
if (heure != undefined && ['key', 'label', 'lettreFont', 'saison', 'heure', 'icon'].includes(key)) {
|
||||
return RdDCalendrier.getDefSigne(heure)[key]
|
||||
}
|
||||
if (heure != undefined && ['webp'].includes(key)) {
|
||||
return RdDCalendrier.getDefSigne(heure)['icon'].replace('svg', 'webp');
|
||||
}
|
||||
console.error(`Appel à getSigneAs('${key}', ${value}) avec une clé/heure incorrects`);
|
||||
return value;
|
||||
|
||||
}
|
||||
static getChiffreFromSigne(signe) {
|
||||
return heuresList.indexOf(signe);
|
||||
}
|
||||
|
||||
static createCalendrierInitial() {
|
||||
return {
|
||||
heureRdD: 0,
|
||||
minutesRelative: 0,
|
||||
indexJour: 0,
|
||||
annee: 0,
|
||||
moisRdD: 0,
|
||||
moisLabel: heuresDef["vaisseau"].label,
|
||||
jour: 0
|
||||
}
|
||||
}
|
||||
|
||||
getCalendrier(index) {
|
||||
index = index ?? this.getCurrentDayIndex();
|
||||
const mois = Math.floor(index / RDD_JOUR_PAR_MOIS) % RDD_MOIS_PAR_AN;
|
||||
return {
|
||||
heureRdD: 0, // Index dans heuresList / heuresDef[x].heure
|
||||
minutesRelative: 0,
|
||||
indexJour: index,
|
||||
annee: Math.floor(index / (RDD_JOUR_PAR_MOIS * RDD_MOIS_PAR_AN)),
|
||||
moisRdD: RdDCalendrier.getDefSigne(mois).heure,
|
||||
moisLabel: RdDCalendrier.getDefSigne(mois).label,
|
||||
jour: (index % RDD_JOUR_PAR_MOIS) // Le calendrier stocke le jour en 0-27, mais en 1-28 à l'affichage
|
||||
}
|
||||
}
|
||||
|
||||
constructor() {
|
||||
super();
|
||||
// position
|
||||
@@ -114,19 +33,32 @@ export class RdDCalendrier extends Application {
|
||||
this.calendrierPos = RdDCalendrier.createCalendrierPos();
|
||||
game.settings.set(SYSTEM_RDD, "calendrier-pos", this.calendrierPos);
|
||||
}
|
||||
|
||||
// Calendrier
|
||||
this.calendrier = duplicate(game.settings.get(SYSTEM_RDD, "calendrier") ?? RdDCalendrier.createCalendrierInitial());
|
||||
this.calendrier.annee = this.calendrier.annee ?? Math.floor((this.calendrier.moisRdD ?? 0) / RDD_MOIS_PAR_AN);
|
||||
this.calendrier.moisRdD = (this.calendrier.moisRdD ?? 0) % RDD_MOIS_PAR_AN;
|
||||
this.timestamp = RdDTimestamp.getWorldTime();
|
||||
|
||||
if (Misc.isUniqueConnectedGM()) { // Uniquement si GM
|
||||
game.settings.set(SYSTEM_RDD, "calendrier", this.calendrier);
|
||||
|
||||
this.listeNombreAstral = this.getListeNombreAstral();
|
||||
this.rebuildListeNombreAstral(HIDE_DICE); // Ensure always up-to-date
|
||||
RdDTimestamp.setWorldTime(this.timestamp);
|
||||
this.nombresAstraux = this.getNombresAstraux();
|
||||
this.rebuildNombresAstraux(HIDE_DICE); // Ensure always up-to-date
|
||||
}
|
||||
console.log('RdDCalendrier.constructor()', this.timestamp, this.timestamp.toCalendrier(), this.calendrierPos, this.nombresAstraux);
|
||||
Hooks.on('updateSetting', async (setting, update, options, id) => this.onUpdateSetting(setting, update, options, id));
|
||||
}
|
||||
|
||||
display() {
|
||||
let templatePath = "systems/foundryvtt-reve-de-dragon/templates/calendar-template.html";
|
||||
renderTemplate(templatePath, {}).then(html => {
|
||||
this.render(true);
|
||||
});
|
||||
return this;
|
||||
}
|
||||
|
||||
async onUpdateSetting(setting, update, options, id) {
|
||||
if (setting.key == SYSTEM_RDD + '.' + WORLD_TIMESTAMP_SETTING) {
|
||||
this.timestamp = RdDTimestamp.getWorldTime();
|
||||
this.updateDisplay();
|
||||
Hooks.callAll(APP_ASTROLOGIE_REFRESH);
|
||||
}
|
||||
console.log('RdDCalendrier.constructor()', this.calendrier, this.calendrierPos, this.listeNombreAstral);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@@ -141,17 +73,17 @@ export class RdDCalendrier extends Application {
|
||||
|
||||
this.html.find('.calendar-btn').click(ev => this.onCalendarButton(ev));
|
||||
|
||||
this.html.find('.calendar-btn-edit').click(ev => {
|
||||
this.html.find('.calendar-set-datetime').click(ev => {
|
||||
ev.preventDefault();
|
||||
this.showCalendarEditor();
|
||||
});
|
||||
|
||||
this.html.find('.astrologie-btn-edit').click(ev => {
|
||||
this.html.find('.calendar-astrologie').click(ev => {
|
||||
ev.preventDefault();
|
||||
this.showAstrologieEditor();
|
||||
});
|
||||
|
||||
this.html.find('#calendar-move-handle').mousedown(ev => {
|
||||
this.html.find('.calendar-title').mousedown(ev => {
|
||||
ev.preventDefault();
|
||||
ev = ev || window.event;
|
||||
let isRightMB = false;
|
||||
@@ -222,53 +154,54 @@ export class RdDCalendrier extends Application {
|
||||
});
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
getListeNombreAstral() {
|
||||
getNombresAstraux() {
|
||||
return game.settings.get(SYSTEM_RDD, "liste-nombre-astral") ?? [];
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
getDateFromIndex(index) {
|
||||
const dateRdD = this.getCalendrier(index);
|
||||
return (dateRdD.jour + 1) + ' ' + dateRdD.moisLabel;
|
||||
dateCourante() {
|
||||
return this.timestamp.formatDate();
|
||||
}
|
||||
|
||||
isAfterIndexDate(indexDate) {
|
||||
// TODO: standardize
|
||||
return indexDate < this.timestamp.indexDate;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
getDayMonthFromIndex(index = undefined) {
|
||||
const dateRdD = this.getCalendrier(index);
|
||||
return {
|
||||
day: dateRdD.jour + 1,
|
||||
month: heuresList[dateRdD.moisRdD]
|
||||
}
|
||||
}
|
||||
heureCourante() { return RdDTimestamp.definition(this.timestamp.heure); }
|
||||
|
||||
/* -------------------------------------------- */
|
||||
getCurrentHeure() {
|
||||
return heuresList[this.calendrier.heureRdD];
|
||||
getCurrentMinute() { return this.timestamp.indexMinute; }
|
||||
|
||||
getTimestamp() {
|
||||
return this.timestamp;
|
||||
}
|
||||
getTimestampFinChateauDormant(nbJours = 0) {
|
||||
return this.timestamp.nouveauJour().addJours(nbJours);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
getCurrentDayIndex() {
|
||||
return (((this.calendrier.annee ?? 0) * RDD_MOIS_PAR_AN + (this.calendrier.moisRdD ?? 0)) * RDD_JOUR_PAR_MOIS) + (this.calendrier.jour ?? 0);
|
||||
getTimestampFinHeure(nbHeures = 0) {
|
||||
return this.timestamp.nouvelleHeure().addHeures(nbHeures);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
getIndexFromDate(jour, mois) {
|
||||
return (heuresDef[mois].heure * RDD_JOUR_PAR_MOIS) + jour - 1;
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
getJoursSuivants(num) {
|
||||
let jours = [];
|
||||
let index = this.getCurrentDayIndex();
|
||||
for (let i = 0; i < num; i++) {
|
||||
jours[i] = { label: this.getDateFromIndex(index + i), index: index + i };
|
||||
}
|
||||
return jours;
|
||||
const addYear = mois < this.timestamp.mois || (mois == this.timestamp.mois && jour < this.timestamp.jour)
|
||||
const time = RdDTimestamp.timestamp(this.timestamp.annee + (addYear ? 1 : 0), mois, jour);
|
||||
return time.indexDate;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async ajouterNombreAstral(index, showDice = SHOW_DICE) {
|
||||
getJoursSuivants(count) {
|
||||
return Misc.intArray(this.timestamp.indexDate, this.timestamp.indexDate + count)
|
||||
.map(i => { return { label: RdDTimestamp.formatIndexDate(i), index: i } })
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async ajouterNombreAstral(indexDate, showDice = SHOW_DICE) {
|
||||
const nombreAstral = await RdDDice.rollTotal("1dh", { showDice: showDice, rollMode: "selfroll" });
|
||||
const dateFuture = this.getDateFromIndex(index);
|
||||
const dateFuture = RdDTimestamp.formatIndexDate(indexDate);
|
||||
if (showDice != HIDE_DICE) {
|
||||
ChatMessage.create({
|
||||
whisper: ChatMessage.getWhisperRecipients("GM"),
|
||||
@@ -278,20 +211,14 @@ export class RdDCalendrier extends Application {
|
||||
return {
|
||||
nombreAstral: nombreAstral,
|
||||
valeursFausses: [],
|
||||
index: index
|
||||
index: indexDate
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
getCurrentNombreAstral() {
|
||||
let indexDate = this.getCurrentDayIndex();
|
||||
return this.getNombreAstral(indexDate);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
resetNombreAstral() {
|
||||
this.listeNombreAstral = [];
|
||||
game.settings.set(SYSTEM_RDD, "liste-nombre-astral", this.listeNombreAstral);
|
||||
resetNombresAstraux() {
|
||||
this.nombresAstraux = [];
|
||||
game.settings.set(SYSTEM_RDD, "liste-nombre-astral", []);
|
||||
|
||||
game.socket.emit(SYSTEM_SOCKET_ID, {
|
||||
msg: "msg_reset_nombre_astral",
|
||||
@@ -300,31 +227,62 @@ export class RdDCalendrier extends Application {
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
getNombreAstral(indexDate) {
|
||||
const listNombreAstral = this.getListeNombreAstral();
|
||||
let astralData = listNombreAstral.find((nombreAstral, i) => nombreAstral.index == indexDate);
|
||||
return astralData?.nombreAstral;
|
||||
/**
|
||||
*
|
||||
* @param {*} indexDate la date pour laquelle obtenir le nombre astral. Si undefined, on prend la date du jour
|
||||
* @returns le nombre astral pour la date, ou pour la date du jour si la date n'est pas fournie.
|
||||
* Si aucun nombre astral n'est trouvé, retourne 0 (cas où l'on demanderait un nombre astral en dehors des 12 jours courant et à venir)
|
||||
*/
|
||||
getNombreAstral(indexDate = undefined) {
|
||||
if (indexDate == undefined) {
|
||||
indexDate = this.timestamp.indexDate;
|
||||
}
|
||||
this.nombresAstraux = this.getNombresAstraux();
|
||||
let astralData = this.nombresAstraux.find((nombreAstral, i) => nombreAstral.index == indexDate);
|
||||
return astralData?.nombreAstral ?? 0;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async rebuildListeNombreAstral(showDice = HIDE_DICE) {
|
||||
async rebuildNombresAstraux(showDice = HIDE_DICE) {
|
||||
if (Misc.isUniqueConnectedGM()) {
|
||||
let jourCourant = this.getCurrentDayIndex();
|
||||
let newList = [];
|
||||
for (let i = 0; i < MAX_NOMBRE_ASTRAL; i++) {
|
||||
let dayIndex = jourCourant + i;
|
||||
let na = this.listeNombreAstral.find(n => n.index == dayIndex);
|
||||
let dayIndex = this.timestamp.indexDate + i;
|
||||
let na = this.nombresAstraux.find(n => n.index == dayIndex);
|
||||
if (na) {
|
||||
newList[i] = na;
|
||||
} else {
|
||||
newList[i] = await this.ajouterNombreAstral(dayIndex, showDice);
|
||||
}
|
||||
}
|
||||
this.nombresAstraux = newList;
|
||||
game.settings.set(SYSTEM_RDD, "liste-nombre-astral", newList);
|
||||
this.listeNombreAstral = newList;
|
||||
game.actors.filter(it => it.isPersonnage()).forEach(actor => actor.supprimerAnciensNombresAstraux());
|
||||
this.notifyChangeNombresAstraux();
|
||||
}
|
||||
}
|
||||
|
||||
notifyChangeNombresAstraux() {
|
||||
Hooks.callAll(APP_ASTROLOGIE_REFRESH);
|
||||
game.socket.emit(SYSTEM_SOCKET_ID, {
|
||||
msg: "msg_refresh_nombre_astral",
|
||||
data: {}
|
||||
});
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async setNewTimestamp(newTimestamp) {
|
||||
const oldTimestamp = this.timestamp;
|
||||
await Promise.all(game.actors.map(async actor => await actor.onTimeChanging(oldTimestamp, newTimestamp)));
|
||||
RdDTimestamp.setWorldTime(newTimestamp);
|
||||
if (oldTimestamp.indexDate + 1 == newTimestamp.indexDate && ReglesOptionelles.isUsing("chateau-dormant-gardien")) {
|
||||
await DialogChateauDormant.create();
|
||||
}
|
||||
this.timestamp = newTimestamp;
|
||||
await this.rebuildNombresAstraux();
|
||||
this.updateDisplay();
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async onCalendarButton(ev) {
|
||||
ev.preventDefault();
|
||||
@@ -337,103 +295,44 @@ export class RdDCalendrier extends Application {
|
||||
this.positionnerHeure(Number(calendarSet.value));
|
||||
}
|
||||
this.updateDisplay();
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
checkMaladie( periode) {
|
||||
for (let actor of game.actors) {
|
||||
if (actor.type == 'personnage') {
|
||||
let maladies = actor.items.filter( item => (item.type == 'maladie' || (item.type == 'poison' && item.system.active) ) && item.system.periodicite.toLowerCase().includes(periode) );
|
||||
for (let maladie of maladies) {
|
||||
if ( maladie.system.identifie) {
|
||||
ChatMessage.create({ content: `${actor.name} souffre de ${maladie.name} (${maladie.type}): vérifiez que les effets ne se sont pas aggravés !` });
|
||||
} else {
|
||||
ChatMessage.create({ content: `${actor.name} souffre d'un mal inconnu (${maladie.type}): vérifiez que les effets ne se sont pas aggravés !` });
|
||||
}
|
||||
let itemMaladie = actor.getObjet(maladie.id)
|
||||
itemMaladie.postItem( 'gmroll');
|
||||
}
|
||||
}
|
||||
}
|
||||
Hooks.callAll(APP_ASTROLOGIE_REFRESH);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async incrementTime(minutes = 0) {
|
||||
this.calendrier.minutesRelative += minutes;
|
||||
this.checkMaladie("round");
|
||||
this.checkMaladie("minute");
|
||||
if (this.calendrier.minutesRelative >= RDD_MINUTES_PAR_HEURES) {
|
||||
this.calendrier.minutesRelative -= RDD_MINUTES_PAR_HEURES;
|
||||
this.calendrier.heureRdD += 1;
|
||||
this.checkMaladie("heure");
|
||||
}
|
||||
if (this.calendrier.heureRdD >= RDD_HEURES_PAR_JOUR) {
|
||||
this.calendrier.heureRdD -= RDD_HEURES_PAR_JOUR;
|
||||
await this.incrementerJour();
|
||||
this.checkMaladie("heure");
|
||||
this.checkMaladie("jour");
|
||||
}
|
||||
game.settings.set(SYSTEM_RDD, "calendrier", duplicate(this.calendrier));
|
||||
// Notification aux joueurs // TODO: replace with Hook on game settings update
|
||||
game.socket.emit(SYSTEM_SOCKET_ID, {
|
||||
msg: "msg_sync_time",
|
||||
data: duplicate(this.calendrier)
|
||||
});
|
||||
await this.setNewTimestamp(this.timestamp.addMinutes(minutes));
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async incrementerJour() {
|
||||
const index = this.getCurrentDayIndex() + 1;
|
||||
this.calendrier = this.getCalendrier(index);
|
||||
await this.rebuildListeNombreAstral();
|
||||
await this.setNewTimestamp(this.timestamp.nouveauJour());
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
syncPlayerTime(calendrier) {
|
||||
this.calendrier = duplicate(calendrier); // Local copy update
|
||||
this.updateDisplay();
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async positionnerHeure(indexHeure) {
|
||||
if (indexHeure <= this.calendrier.heureRdD) {
|
||||
await this.incrementerJour();
|
||||
}
|
||||
this.calendrier.heureRdD = indexHeure;
|
||||
this.calendrier.minutesRelative = 0;
|
||||
game.settings.set(SYSTEM_RDD, "calendrier", duplicate(this.calendrier));
|
||||
async positionnerHeure(heure) {
|
||||
const indexDate = this.timestamp.indexDate;
|
||||
const addDay = this.timestamp.heure < heure ? 0 : 1;
|
||||
const newTimestamp = new RdDTimestamp({ indexDate: indexDate + addDay }).addHeures(heure);
|
||||
await this.setNewTimestamp(newTimestamp)
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
fillCalendrierData(formData = {}) {
|
||||
const mois = RdDCalendrier.getDefSigne(this.calendrier.moisRdD);
|
||||
const heure = RdDCalendrier.getDefSigne(this.calendrier.heureRdD);
|
||||
console.log('fillCalendrierData', this.calendrier, mois, heure);
|
||||
|
||||
formData.heureKey = heure.key;
|
||||
formData.moisKey = mois.key;
|
||||
formData.jourMois = this.calendrier.jour + 1;
|
||||
formData.nomMois = mois.label; // heures et mois nommés identiques
|
||||
formData.annee = this.calendrier.annee;
|
||||
formData.iconMois = dossierIconesHeures + mois.icon;
|
||||
formData.nomHeure = heure.label;
|
||||
formData.iconHeure = dossierIconesHeures + heure.icon;
|
||||
formData.nomSaison = saisonsDef[mois.saison].label;
|
||||
formData.heureRdD = this.calendrier.heureRdD;
|
||||
formData.minutesRelative = this.calendrier.minutesRelative;
|
||||
mergeObject(formData, this.timestamp.toCalendrier());
|
||||
formData.isGM = game.user.isGM;
|
||||
return formData;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
getLectureAstrologieDifficulte(dateIndex) {
|
||||
let indexNow = this.getCurrentDayIndex();
|
||||
let indexNow = this.timestamp.indexDate;
|
||||
let diffDay = dateIndex - indexNow;
|
||||
return - Math.floor(diffDay / 2);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async requestNombreAstral(request) {
|
||||
const actor = game.actors.get(request.id);
|
||||
if (Misc.isUniqueConnectedGM()) { // Only once
|
||||
console.log(request);
|
||||
let jourDiff = this.getLectureAstrologieDifficulte(request.date);
|
||||
@@ -445,18 +344,26 @@ export class RdDCalendrier extends Application {
|
||||
rollMode: "blindroll"
|
||||
};
|
||||
await RdDResolutionTable.rollData(rollData);
|
||||
let nbAstral = this.getNombreAstral(request.date);
|
||||
request.rolled = rollData.rolled;
|
||||
request.isValid = true;
|
||||
if (!request.rolled.isSuccess) {
|
||||
request.isValid = false;
|
||||
nbAstral = await RdDDice.rollTotal("1dhr" + nbAstral, { rollMode: "selfroll" });
|
||||
// Mise à jour des nombres astraux du joueur
|
||||
let astralData = this.listeNombreAstral.find((nombreAstral, i) => nombreAstral.index == request.date);
|
||||
astralData.valeursFausses.push({ actorId: request.id, nombreAstral: nbAstral });
|
||||
game.settings.set(SYSTEM_RDD, "liste-nombre-astral", this.listeNombreAstral);
|
||||
request.isValid = request.rolled.isSuccess;
|
||||
request.nbAstral = this.getNombreAstral(request.date);
|
||||
|
||||
if (request.rolled.isSuccess) {
|
||||
if (request.rolled.isPart) {
|
||||
// Gestion expérience (si existante)
|
||||
request.competence = actor.getCompetence("astrologie")
|
||||
request.selectedCarac = actor.system.carac["vue"];
|
||||
actor.appliquerAjoutExperience(request, 'hide');
|
||||
}
|
||||
request.nbAstral = nbAstral;
|
||||
}
|
||||
else {
|
||||
request.nbAstral = await RdDDice.rollTotal("1dhr" + request.nbAstral, {
|
||||
rollMode: "selfroll", showDice: HIDE_DICE
|
||||
});
|
||||
// Mise à jour des nombres astraux du joueur
|
||||
this.addNbAstralIncorect(request.id, request.date, request.nbAstral);
|
||||
}
|
||||
|
||||
if (Misc.getActiveUser(request.userId)?.isGM) {
|
||||
RdDUtility.responseNombreAstral(request);
|
||||
} else {
|
||||
@@ -468,57 +375,17 @@ export class RdDCalendrier extends Application {
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
findHeure(heure) {
|
||||
heure = Grammar.toLowerCaseNoAccentNoSpace(heure);
|
||||
let parHeureOuLabel = Object.values(heuresDef).filter(it => (it.heure + 1) == parseInt(heure) || Grammar.toLowerCaseNoAccentNoSpace(it.label) == heure);
|
||||
if (parHeureOuLabel.length == 1) {
|
||||
return parHeureOuLabel[0];
|
||||
}
|
||||
let parLabelPartiel = Object.values(heuresDef).filter(it => Grammar.toLowerCaseNoAccentNoSpace(it.label).includes(heure));
|
||||
if (parLabelPartiel.length > 0) {
|
||||
parLabelPartiel.sort(Misc.ascending(h => h.label.length));
|
||||
return parLabelPartiel[0];
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
getHeureNumber( hNum) {
|
||||
let heure = Object.values(heuresDef).find(it => (it.heure) == hNum);
|
||||
return heure
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
getHeuresChanceMalchance(heureNaissance) {
|
||||
let heuresChancesMalchances = [];
|
||||
let defHeure = this.findHeure(heureNaissance);
|
||||
if (defHeure) {
|
||||
let hn = defHeure.heure;
|
||||
let chiffreAstral = this.getCurrentNombreAstral() ?? 0;
|
||||
heuresChancesMalchances[0] = { value : "+4", heures: [this.getHeureNumber((hn + chiffreAstral) % RDD_HEURES_PAR_JOUR).label]};
|
||||
heuresChancesMalchances[1] = { value : "+2", heures: [this.getHeureNumber((hn + chiffreAstral+4) % RDD_HEURES_PAR_JOUR).label,
|
||||
this.getHeureNumber((hn + chiffreAstral + 8) % RDD_HEURES_PAR_JOUR).label ] };
|
||||
heuresChancesMalchances[2] = { value : "-4", heures: [this.getHeureNumber((hn + chiffreAstral+6) % RDD_HEURES_PAR_JOUR).label]};
|
||||
heuresChancesMalchances[3] = { value : "-2", heures: [this.getHeureNumber((hn + chiffreAstral+3) % RDD_HEURES_PAR_JOUR).label,
|
||||
this.getHeureNumber((hn + chiffreAstral + 9) % RDD_HEURES_PAR_JOUR).label ]};
|
||||
}
|
||||
return heuresChancesMalchances;
|
||||
addNbAstralIncorect(actorId, date, nbAstral) {
|
||||
let astralData = this.nombresAstraux.find((nombreAstral, i) => nombreAstral.index == date);
|
||||
astralData.valeursFausses.push({ actorId: actorId, nombreAstral: nbAstral });
|
||||
game.settings.set(SYSTEM_RDD, "liste-nombre-astral", this.nombresAstraux);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
getAjustementAstrologique(heureNaissance, name = undefined) {
|
||||
let defHeure = this.findHeure(heureNaissance);
|
||||
let defHeure = RdDTimestamp.findHeure(heureNaissance);
|
||||
if (defHeure) {
|
||||
let hn = defHeure.heure;
|
||||
let chiffreAstral = this.getCurrentNombreAstral() ?? 0;
|
||||
let heureCourante = this.calendrier.heureRdD;
|
||||
let ecartChance = (hn + chiffreAstral - heureCourante) % RDD_HEURES_PAR_JOUR;
|
||||
switch (ecartChance) {
|
||||
case 0: return 4;
|
||||
case 4: case 8: return 2;
|
||||
case 6: return -4;
|
||||
case 3: case 9: return -2;
|
||||
}
|
||||
return RdDTimestamp.ajustementAstrologiqueHeure(defHeure.heure, this.getNombreAstral(), this.timestamp.heure);
|
||||
}
|
||||
else if (name) {
|
||||
ui.notifications.warn(name + " n'a pas d'heure de naissance, ou elle est incorrecte : " + heureNaissance);
|
||||
@@ -532,9 +399,7 @@ export class RdDCalendrier extends Application {
|
||||
/* -------------------------------------------- */
|
||||
getData() {
|
||||
let formData = super.getData();
|
||||
|
||||
this.fillCalendrierData(formData);
|
||||
|
||||
this.setPos(this.calendrierPos);
|
||||
return formData;
|
||||
}
|
||||
@@ -563,50 +428,40 @@ export class RdDCalendrier extends Application {
|
||||
updateDisplay() {
|
||||
let calendrier = this.fillCalendrierData();
|
||||
// Rebuild text du calendrier
|
||||
let dateHTML = `${calendrier.jourMois} ${calendrier.nomMois} ${calendrier.annee} (${calendrier.nomSaison})`
|
||||
let dateHTML = `${calendrier.jourDuMois} ${calendrier.mois.label} (${calendrier.mois.saison}) de l'année ${calendrier.annee}`
|
||||
if (game.user.isGM) {
|
||||
dateHTML = dateHTML + " - NA: " + (this.getCurrentNombreAstral() ?? "indéterminé");
|
||||
dateHTML = dateHTML + "<br>Nombre Astral: " + (this.getNombreAstral() ?? "?");
|
||||
}
|
||||
for (let handle of document.getElementsByClassName("calendar-date-rdd")) {
|
||||
for (let handle of document.getElementsByClassName("calendar-title")) {
|
||||
handle.innerHTML = dateHTML;
|
||||
}
|
||||
for (let heure of document.getElementsByClassName("calendar-heure-texte")) {
|
||||
heure.innerHTML = calendrier.nomHeure;
|
||||
heure.innerHTML = calendrier.heure.label;
|
||||
}
|
||||
for (const minute of document.getElementsByClassName("calendar-time-disp")) {
|
||||
minute.innerHTML = `${calendrier.minutesRelative} minutes`;
|
||||
for (const minute of document.getElementsByClassName("calendar-minute-texte")) {
|
||||
minute.innerHTML = `${calendrier.minute} minutes`;
|
||||
}
|
||||
for (const heureImg of document.getElementsByClassName("calendar-heure-img")) {
|
||||
heureImg.src = calendrier.iconHeure;
|
||||
heureImg.src = calendrier.heure.icon;
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async saveEditeur(calendrierData) {
|
||||
this.calendrier.minutesRelative = Number(calendrierData.minutesRelative);
|
||||
this.calendrier.jour = Number(calendrierData.jourMois) - 1;
|
||||
this.calendrier.moisRdD = RdDCalendrier.getChiffreFromSigne(calendrierData.moisKey);
|
||||
this.calendrier.annee = Number(calendrierData.annee);
|
||||
this.calendrier.heureRdD = RdDCalendrier.getChiffreFromSigne(calendrierData.heureKey);
|
||||
game.settings.set(SYSTEM_RDD, "calendrier", duplicate(this.calendrier));
|
||||
|
||||
await this.rebuildListeNombreAstral();
|
||||
|
||||
game.socket.emit(SYSTEM_SOCKET_ID, {
|
||||
msg: "msg_sync_time",
|
||||
data: duplicate(this.calendrier)
|
||||
});
|
||||
|
||||
this.updateDisplay();
|
||||
const newTimestamp = RdDTimestamp.timestamp(
|
||||
Number.parseInt(calendrierData.annee),
|
||||
calendrierData.mois.heure,
|
||||
Number.parseInt(calendrierData.jourMois),
|
||||
calendrierData.heure.heure,
|
||||
Number.parseInt(calendrierData.minutes)
|
||||
);
|
||||
await this.setNewTimestamp(newTimestamp);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async showCalendarEditor() {
|
||||
let calendrierData = duplicate(this.fillCalendrierData());
|
||||
let calendrierData = this.fillCalendrierData();
|
||||
if (this.editeur == undefined) {
|
||||
calendrierData.jourMoisOptions = RdDCalendrier.buildJoursMois();
|
||||
calendrierData.heuresOptions = [0, 1];
|
||||
calendrierData.minutesOptions = Array(RDD_MINUTES_PAR_HEURES).fill().map((item, index) => 0 + index);
|
||||
let html = await renderTemplate('systems/foundryvtt-reve-de-dragon/templates/calendar-editor-template.html', calendrierData);
|
||||
this.editeur = new RdDCalendrierEditeur(html, this, calendrierData)
|
||||
}
|
||||
@@ -614,36 +469,8 @@ export class RdDCalendrier extends Application {
|
||||
this.editeur.render(true);
|
||||
}
|
||||
|
||||
static buildJoursMois() {
|
||||
return Array(RDD_JOUR_PAR_MOIS).fill().map((item, index) => 1 + index);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async showAstrologieEditor() {
|
||||
let calendrierData = duplicate(this.fillCalendrierData());
|
||||
let astrologieArray = [];
|
||||
this.listeNombreAstral = this.listeNombreAstral || [];
|
||||
for (let astralData of this.listeNombreAstral) {
|
||||
astralData.humanDate = this.getDateFromIndex(astralData.index);
|
||||
for (let vf of astralData.valeursFausses) {
|
||||
let actor = game.actors.get(vf.actorId);
|
||||
vf.actorName = (actor) ? actor.name : "Inconnu";
|
||||
}
|
||||
astrologieArray.push(duplicate(astralData));
|
||||
}
|
||||
let heuresParActeur = {};
|
||||
for (let actor of game.actors) {
|
||||
let heureNaissance = actor.getHeureNaissance();
|
||||
if ( heureNaissance) {
|
||||
heuresParActeur[actor.name] = this.getHeuresChanceMalchance(heureNaissance);
|
||||
}
|
||||
}
|
||||
//console.log("ASTRO", astrologieArray);
|
||||
calendrierData.astrologieData = astrologieArray;
|
||||
calendrierData.heuresParActeur = heuresParActeur;
|
||||
let html = await renderTemplate('systems/foundryvtt-reve-de-dragon/templates/calendar-astrologie-template.html', calendrierData);
|
||||
let astrologieEditeur = new RdDAstrologieEditeur(html, this, calendrierData)
|
||||
astrologieEditeur.updateData(calendrierData);
|
||||
astrologieEditeur.render(true);
|
||||
await AppAstrologie.create();
|
||||
}
|
||||
}
|
||||
@@ -39,9 +39,10 @@ const tableCaracDerivee = {
|
||||
|
||||
export class RdDCarac {
|
||||
|
||||
static isAgiliteOuDerivee(selectedCarac) {
|
||||
static isAgiliteOuDerobee(selectedCarac) {
|
||||
return selectedCarac?.label.match(/(Agilité|Dérobée)/);
|
||||
}
|
||||
|
||||
static isVolonte(selectedCarac) {
|
||||
return selectedCarac?.label == 'Volonté';
|
||||
}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import { ChatUtility } from "./chat-utility.js";
|
||||
import { ENTITE_BLURETTE, ENTITE_INCARNE, ENTITE_NONINCARNE, HIDE_DICE, SYSTEM_RDD, SYSTEM_SOCKET_ID } from "./constants.js";
|
||||
import { DialogSelectTarget } from "./dialog-select-target.js";
|
||||
import { ENTITE_BLURETTE, HIDE_DICE, SYSTEM_RDD, SYSTEM_SOCKET_ID } from "./constants.js";
|
||||
import { Grammar } from "./grammar.js";
|
||||
import { RdDItemArme } from "./item-arme.js";
|
||||
import { RdDItemCompetence } from "./item-competence.js";
|
||||
@@ -40,35 +39,31 @@ export class RdDCombatManager extends Combat {
|
||||
|
||||
static init() {
|
||||
/* -------------------------------------------- */
|
||||
Hooks.on("getCombatTrackerEntryContext", (html, options) => {
|
||||
RdDCombatManager.pushInitiativeOptions(html, options);
|
||||
});
|
||||
Hooks.on("preDeleteCombat", (combat, html, id) => {
|
||||
combat.onPreDeleteCombat()
|
||||
});
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
cleanItemUse() {
|
||||
for (let turn of this.turns) {
|
||||
turn.actor.resetItemUse()
|
||||
}
|
||||
Hooks.on("getCombatTrackerEntryContext", (html, options) => { RdDCombatManager.pushInitiativeOptions(html, options); });
|
||||
Hooks.on("updateCombat", (combat, change, options, userId) => { RdDCombat.onUpdateCombat(combat, change, options, userId) });
|
||||
Hooks.on("preDeleteCombat", (combat, html, id) => { combat.onPreDeleteCombat() });
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async nextRound() {
|
||||
this.cleanItemUse();
|
||||
await this.finDeRound();
|
||||
return await super.nextRound();
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async onPreDeleteCombat() {
|
||||
if (Misc.isUniqueConnectedGM()) {
|
||||
await this.finDeRound({ terminer: true });
|
||||
ChatUtility.removeChatMessageContaining(`<div data-combatid="${this.id}" data-combatmessage="actor-turn-summary">`)
|
||||
game.messages.filter(m => ChatUtility.getMessageData(m, 'attacker-roll') != undefined && ChatUtility.getMessageData(m, 'defender-roll') != undefined)
|
||||
.forEach(it => it.delete());
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async finDeRound(options = { terminer: false }) {
|
||||
this.turns.forEach(turn => turn.actor.resetItemUse());
|
||||
|
||||
for (let combatant of this.combatants) {
|
||||
if (combatant.actor) {
|
||||
await combatant.actor.finDeRound(options);
|
||||
@@ -111,10 +106,10 @@ export class RdDCombatManager extends Combat {
|
||||
if (!roll.total) {
|
||||
roll.evaluate({ async: false });
|
||||
}
|
||||
if (roll.total <= 0) roll.total = 0.00;
|
||||
console.log("Compute init for", rollFormula, roll.total, combatant);
|
||||
const total = Math.max(roll.total, 0.00);
|
||||
console.log("Compute init for", rollFormula, roll, total, combatant);
|
||||
let id = combatant._id || combatant.id;
|
||||
await this.updateEmbeddedDocuments("Combatant", [{ _id: id, initiative: roll.total }]);
|
||||
await this.updateEmbeddedDocuments("Combatant", [{ _id: id, initiative: total }]);
|
||||
|
||||
// Send a chat message
|
||||
let rollMode = messageOptions.rollMode || game.settings.get("core", "rollMode");
|
||||
@@ -145,9 +140,8 @@ export class RdDCombatManager extends Combat {
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static calculInitiative(niveau, caracValue, bonusEcaille = 0) {
|
||||
let base = niveau + Math.floor(caracValue / 2);
|
||||
base += bonusEcaille;
|
||||
static calculInitiative(niveau, caracValue, bonus = 0) {
|
||||
let base = niveau + Math.floor(caracValue / 2) + bonus;
|
||||
return "1d6" + (base >= 0 ? "+" : "") + base;
|
||||
}
|
||||
|
||||
@@ -162,7 +156,6 @@ export class RdDCombatManager extends Combat {
|
||||
if (arme.system.unemain && arme.system.deuxmains && !dommages.includes("/")) {
|
||||
ui.notifications.info("Les dommages de l'arme à 1/2 mains " + arme.name + " ne sont pas corrects (ie sous la forme X/Y)");
|
||||
}
|
||||
console.log(">>>>", arme)
|
||||
if ((arme.system.unemain && arme.system.competence) ||
|
||||
(arme.system.competence.toLowerCase().includes("corps à corps"))) {
|
||||
actions.push(RdDCombatManager.$prepareAttaqueArme({
|
||||
@@ -248,7 +241,7 @@ export class RdDCombatManager extends Combat {
|
||||
}
|
||||
if (actor.isCreatureEntite()) {
|
||||
actions = actions.concat(RdDCombatManager.listActionsCreature(actor.itemTypes['competencecreature']));
|
||||
} else {
|
||||
} else if (actor.isPersonnage()) {
|
||||
// Recupération des items 'arme'
|
||||
const armes = actor.itemTypes['arme'].filter(it => RdDItemArme.isArmeUtilisable(it))
|
||||
//.concat(RdDItemArme.empoignade())
|
||||
@@ -422,18 +415,11 @@ export class RdDCombatManager extends Combat {
|
||||
/* -------------------------------------------- */
|
||||
export class RdDCombat {
|
||||
|
||||
static init() {
|
||||
Hooks.on("updateCombat", (combat, change, options, userId) => { RdDCombat.onUpdateCombat(combat, change, options, userId) });
|
||||
Hooks.on("preDeleteCombat", (combat, options, userId) => { RdDCombat.onPreDeleteCombat(combat, options, userId); });
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static onSocketMessage(sockmsg) {
|
||||
switch (sockmsg.msg) {
|
||||
case "msg_encaisser":
|
||||
return RdDCombat.onMsgEncaisser(sockmsg.data);
|
||||
case "msg_defense":
|
||||
return RdDCombat.onMsgDefense(sockmsg.data);
|
||||
case "msg_encaisser": return RdDCombat.onMsgEncaisser(sockmsg.data);
|
||||
case "msg_defense": return RdDCombat.onMsgDefense(sockmsg.data);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -444,16 +430,6 @@ export class RdDCombat {
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static onPreDeleteCombat(combat, options, userId) {
|
||||
if (Misc.isUniqueConnectedGM()) {
|
||||
combat.cleanItemUse();
|
||||
ChatUtility.removeChatMessageContaining(`<div data-combatid="${combat.id}" data-combatmessage="actor-turn-summary">`)
|
||||
game.messages.filter(m => ChatUtility.getMessageData(m, 'attacker-roll') != undefined && ChatUtility.getMessageData(m, 'defender-roll') != undefined)
|
||||
.forEach(it => it.delete());
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static combatNouveauTour(combat) {
|
||||
if (Misc.isUniqueConnectedGM()) {
|
||||
@@ -758,15 +734,6 @@ export class RdDCombat {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async attaque(competence, arme) {
|
||||
// const nonIncarnee = this.defender.isEntite([ENTITE_NONINCARNE])
|
||||
// const blurette = this.defender.isEntite([ENTITE_BLURETTE])
|
||||
// if (nonIncarnee || blurette) {
|
||||
// ChatMessage.create( {
|
||||
// content: `<strong>La cible est ${nonIncarnee ? 'non incarnée' : 'une blurette'}.
|
||||
// Il est impossible de l'atteindre.`,
|
||||
// whisper: ChatMessage.getWhisperRecipients("GM")})
|
||||
// }
|
||||
|
||||
if (!await this.attacker.accorder(this.defender, 'avant-attaque')) {
|
||||
return;
|
||||
}
|
||||
@@ -972,9 +939,8 @@ export class RdDCombat {
|
||||
/* -------------------------------------------- */
|
||||
_filterArmesParade(defender, competence) {
|
||||
let items = defender.items.filter(it => RdDItemArme.isArmeUtilisable(it) || RdDItemCompetenceCreature.isCompetenceParade(it))
|
||||
for (let item of items) {
|
||||
item.system.nbUsage = defender.getItemUse(item.id); // Ajout du # d'utilisation ce round
|
||||
}
|
||||
items.forEach(item => item.system.nbUsage = defender.getItemUse(item.id)); // Ajout du # d'utilisation ce round
|
||||
|
||||
switch (competence.system.categorie) {
|
||||
case 'tir':
|
||||
case 'lancer':
|
||||
@@ -1329,13 +1295,8 @@ export class RdDCombat {
|
||||
blessuresStatus: actor.computeResumeBlessure(),
|
||||
SConst: actor.getSConst(),
|
||||
actorId: actor.id,
|
||||
isGrave: false,
|
||||
isCritique: false
|
||||
}
|
||||
if (actor.countBlessuresNonSoigneeByName("critiques") > 0) { // Pour éviter le cumul grave + critique
|
||||
formData.isCritique = true;
|
||||
} else if (actor.countBlessuresNonSoigneeByName("graves") > 0) {
|
||||
formData.isGrave = true;
|
||||
isGrave: actor.countBlessures(it => it.isGrave()) > 0,
|
||||
isCritique: actor.countBlessures(it => it.isCritique()) > 0
|
||||
}
|
||||
|
||||
ChatUtility.createChatWithRollMode(actor.name, {
|
||||
|
||||
@@ -2,7 +2,8 @@
|
||||
|
||||
import { DialogChronologie } from "./dialog-chronologie.js";
|
||||
import { DialogCreateSigneDraconique } from "./dialog-create-signedraconique.js";
|
||||
import { DialogStress } from "./dialog-stress.js";
|
||||
import { DialogChateauDormant } from "./sommeil/dialog-chateau-dormant.js";
|
||||
import { DialogStress } from "./sommeil/dialog-stress.js";
|
||||
import { RdDItemCompetence } from "./item-competence.js";
|
||||
import { Misc } from "./misc.js";
|
||||
import { RdDCarac } from "./rdd-carac.js";
|
||||
@@ -13,7 +14,7 @@ import { RdDResolutionTable } from "./rdd-resolution-table.js";
|
||||
import { RdDRollResolutionTable } from "./rdd-roll-resolution-table.js";
|
||||
import { RdDRollTables } from "./rdd-rolltables.js";
|
||||
import { RdDUtility } from "./rdd-utility.js";
|
||||
import { CompendiumTableHelpers } from "./settings/system-compendiums.js";
|
||||
import { FenetreRechercheTirage } from "./tirage/fenetre-recherche-tirage.js";
|
||||
import { TMRUtility } from "./tmr-utility.js";
|
||||
|
||||
const rddRollNumeric = /^(\d+)\s*([\+\-]?\d+)?\s*(s)?/;
|
||||
@@ -23,6 +24,7 @@ export class RdDCommands {
|
||||
|
||||
static init() {
|
||||
const rddCommands = new RdDCommands();
|
||||
game.system.rdd.commands = rddCommands;
|
||||
|
||||
Hooks.on("chatMessage", (html, content, msg) => {
|
||||
if (content[0] == '/') {
|
||||
@@ -35,7 +37,6 @@ export class RdDCommands {
|
||||
return true;
|
||||
});
|
||||
|
||||
game.system.rdd.commands = rddCommands;
|
||||
}
|
||||
|
||||
constructor() {
|
||||
@@ -63,7 +64,6 @@ export class RdDCommands {
|
||||
<br><strong>/table rencontre deso</strong> affiche la table des rencontres en Désolation
|
||||
<br><strong>/table rencontre mauvaise</strong> affiche la table des mauvaises rencontres`
|
||||
});
|
||||
this.registerCommand({ path: ["/table", "milieu"], func: (content, msg, params) => this.tableMilieu(msg, params, 'liste'), descr: "Affiche la table des ressource naturelles pour un milieu donné" });
|
||||
|
||||
this.registerCommand({ path: ["/tirer", "comp"], func: (content, msg, params) => RdDRollTables.getCompetence('chat'), descr: "Tire une compétence au hasard" });
|
||||
this.registerCommand({ path: ["/tirer", "queue"], func: (content, msg, params) => RdDRollTables.getQueue('chat'), descr: "Tire une Queue de Dragon" });
|
||||
@@ -75,8 +75,9 @@ export class RdDCommands {
|
||||
this.registerCommand({ path: ["/tirer", "ideefixe"], func: (content, msg, params) => RdDRollTables.getIdeeFixe('chat'), descr: "Tire une Idée fixe" });
|
||||
this.registerCommand({ path: ["/tirer", "desir"], func: (content, msg, params) => RdDRollTables.getDesirLancinant('chat'), descr: "Tire un Désir Lancinant" });
|
||||
this.registerCommand({ path: ["/tirer", "rencontre"], func: (content, msg, params) => this.getRencontreTMR(params), descr: `Détermine une rencontre dans les TMR (synonyme de "/tmrr")` });
|
||||
this.registerCommand({ path: ["/tirer", "milieu"], func: (content, msg, params) => this.tableMilieu(msg, params, 'chat'), descr: "Effectue un tirage dans la table desressource naturelles pour un milieu donné" });
|
||||
this.registerCommand({ path: ["/tirage"], func: (content, msg, params) => this.tirage(), descr: "Ouvre la fenêtre de recherche et tirage" });
|
||||
|
||||
this.registerCommand({ path: ["/sommeil"], func: (content, msg, params) => this.sommeil(msg, params), descr: "Prépare le passage de journée pour chateau dormant" });
|
||||
this.registerCommand({ path: ["/meteo"], func: (content, msg, params) => this.getMeteo(msg, params), descr: "Propose une météo marine" });
|
||||
this.registerCommand({ path: ["/nom"], func: (content, msg, params) => RdDNameGen.getName(msg, params), descr: "Génère un nom aléatoire" });
|
||||
|
||||
@@ -254,10 +255,7 @@ export class RdDCommands {
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async help(msg) {
|
||||
this.help(msg, undefined);
|
||||
}
|
||||
async help(msg, table) {
|
||||
async help(msg, table = undefined) {
|
||||
let commands = []
|
||||
this._buildSubTableHelp(commands, table ?? this.commandsTable);
|
||||
|
||||
@@ -334,7 +332,7 @@ export class RdDCommands {
|
||||
let competence = length > 1 ? actors[0].getCompetence(Misc.join(params.slice(1, length), ' ')) : { name: undefined };
|
||||
if (competence) {
|
||||
for (let actor of actors) {
|
||||
await actor.rollCaracCompetence(caracName, competence.name, diff);
|
||||
await actor.doRollCaracCompetence(caracName, competence.name, diff);
|
||||
}
|
||||
}
|
||||
return;
|
||||
@@ -398,32 +396,6 @@ export class RdDCommands {
|
||||
return false;
|
||||
}
|
||||
|
||||
async tableMilieu(msg, params, toChat) {
|
||||
if (params && params.length > 0) {
|
||||
const search = Misc.join(params, ' ');
|
||||
const milieux = await game.system.rdd.environnement.findEnvironnementsLike(search);
|
||||
if (milieux.length == 0) {
|
||||
const tous = Object.values(await game.system.rdd.environnement.milieux());
|
||||
return RdDCommands._chatAnswer(msg, `<strong>Aucun milieu correspondant à '${search}'.</strong>
|
||||
<br>Milieux disponibles:
|
||||
<br><ul class="chat-list"><li>${tous.reduce(Misc.joining('</li><li>'))}</li></ul>`);
|
||||
}
|
||||
if (milieux.length > 1) {
|
||||
ui.notifications.warn(`<strong>Plusieurs milieux correspondent à '${search}'</strong>:
|
||||
<br><ul class="chat-list"><li>${milieux.reduce(Misc.joining('</li><li>'))}</li></ul>`);
|
||||
}
|
||||
const tableName = `ressources en ${milieux.reduce(Misc.joining(', '))}`;
|
||||
if (toChat == 'liste') {
|
||||
return await game.system.rdd.environnement.searchToChatMessage(milieux, tableName);
|
||||
}
|
||||
else {
|
||||
const row = await game.system.rdd.environnement.getRandom(milieux, tableName);
|
||||
await CompendiumTableHelpers.tableRowToChatMessage(row, 'Item');
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
getCoutXpComp(msg, params) {
|
||||
if (params && (params.length == 1 || params.length == 2)) {
|
||||
@@ -448,17 +420,27 @@ export class RdDCommands {
|
||||
}
|
||||
|
||||
async creerSignesDraconiques() {
|
||||
if (game.user.isGM) {
|
||||
DialogCreateSigneDraconique.createSigneForActors();
|
||||
}
|
||||
else {
|
||||
ui.notifications.warn("Seul le MJ est autorisé à utiliser la commande /signe");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
async supprimerSignesDraconiquesEphemeres() {
|
||||
if (game.user.isGM) {
|
||||
game.actors.forEach(actor => {
|
||||
const ephemeres = actor.items.filter(item => item.type = 'signedraconique' && item.system.ephemere);
|
||||
if (ephemeres.length > 0) {
|
||||
actor.deleteEmbeddedDocuments("Item", ephemeres.map(item => item.id));
|
||||
}
|
||||
});
|
||||
}
|
||||
else {
|
||||
ui.notifications.warn("Seul le MJ est autorisé à utiliser la commande /signe");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -481,13 +463,14 @@ export class RdDCommands {
|
||||
let name = params[params.length - 1];
|
||||
if (name == undefined) {
|
||||
for (let actor of game.actors) {
|
||||
actor.distribuerStress('stress', stress, motif);
|
||||
// TODO: ne plus stresser les entités de cauchemar!
|
||||
await actor.distribuerStress('stress', stress, motif);
|
||||
}
|
||||
} else {
|
||||
//console.log(stressValue, nomJoueur);
|
||||
let actor = Misc.findActor(name, game.actors.filter(it => it.hasPlayerOwner)) ?? Misc.findPlayer(name)?.character
|
||||
if (actor) {
|
||||
actor.distribuerStress('stress', stress, motif);
|
||||
await actor.distribuerStress('stress', stress, motif);
|
||||
}
|
||||
else {
|
||||
ui.notifications.warn(`Pas de personnage ou de joueur correspondant à ${name}!`);
|
||||
@@ -501,5 +484,11 @@ export class RdDCommands {
|
||||
return await RdDMeteo.getMeteo();
|
||||
}
|
||||
|
||||
async tirage() {
|
||||
FenetreRechercheTirage.create();
|
||||
}
|
||||
async sommeil() {
|
||||
DialogChateauDormant.create();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { SYSTEM_RDD } from "./constants.js";
|
||||
|
||||
export class RddCompendiumOrganiser {
|
||||
export class RdDCompendiumOrganiser {
|
||||
static init() {
|
||||
Hooks.on('renderCompendium', async (pack, html, compendiumData) => RddCompendiumOrganiser.onRenderCompendium(pack, html, compendiumData))
|
||||
Hooks.on('renderCompendium', async (pack, html, compendiumData) => RdDCompendiumOrganiser.onRenderCompendium(pack, html, compendiumData))
|
||||
}
|
||||
|
||||
static async onRenderCompendium(compendium, html, compendiumData) {
|
||||
@@ -10,14 +10,14 @@ export class RddCompendiumOrganiser {
|
||||
const pack = compendium.collection
|
||||
if (pack.metadata.system === SYSTEM_RDD) {
|
||||
html.find('.directory-item').each((i, element) => {
|
||||
RddCompendiumOrganiser.setEntityTypeName(pack, element);
|
||||
RdDCompendiumOrganiser.setEntityTypeName(pack, element);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
static async setEntityTypeName(pack, element) {
|
||||
const label = RddCompendiumOrganiser.getEntityTypeLabel(await pack.getDocument(element.dataset.documentId));
|
||||
RddCompendiumOrganiser.insertEntityType(element, label);
|
||||
const label = RdDCompendiumOrganiser.getEntityTypeLabel(await pack.getDocument(element.dataset.documentId));
|
||||
RdDCompendiumOrganiser.insertEntityType(element, label);
|
||||
}
|
||||
|
||||
static insertEntityType(element, label) {
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import { RdDUtility } from "./rdd-utility.js";
|
||||
import { RdDCalendrier } from "./rdd-calendrier.js";
|
||||
import { Grammar } from "./grammar.js";
|
||||
import { SystemCompendiums } from "./settings/system-compendiums.js";
|
||||
import { RdDTimestamp } from "./rdd-timestamp.js";
|
||||
|
||||
/* -------------------------------------------- */
|
||||
export class RdDHerbes extends Item {
|
||||
@@ -29,7 +28,7 @@ export class RdDHerbes extends Item {
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static async updatePotionData(formData) {
|
||||
static async addPotionFormData(formData) {
|
||||
formData.isSoins = formData.system.categorie.includes('Soin');
|
||||
formData.isRepos = formData.system.categorie.includes('Repos');
|
||||
if (formData.isSoins) {
|
||||
@@ -40,9 +39,8 @@ export class RdDHerbes extends Item {
|
||||
}
|
||||
formData.herbesSoins = RdDHerbes.buildHerbesList(this.herbesSoins, 12);
|
||||
formData.herbesRepos = RdDHerbes.buildHerbesList(this.herbesRepos, 7);
|
||||
formData.jourMoisOptions = RdDCalendrier.buildJoursMois();
|
||||
formData.dateActuelle = game.system.rdd.calendrier.getDateFromIndex();
|
||||
formData.splitDate = game.system.rdd.calendrier.getDayMonthFromIndex(formData.system.prdate);
|
||||
formData.dateActuelle = game.system.rdd.calendrier.dateCourante();
|
||||
formData.enchantement = RdDTimestamp.splitIndexDate(formData.system.prdate);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import { Misc } from "./misc.js";
|
||||
|
||||
export class RdDHotbar {
|
||||
|
||||
|
||||
@@ -1,78 +1,214 @@
|
||||
/**
|
||||
* RdD system
|
||||
* Author: LeRatierBretonnien
|
||||
* Software License: GNU GPLv3
|
||||
*/
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
||||
/* -------------------------------------------- */
|
||||
// Import Modules
|
||||
import { SYSTEM_RDD, SYSTEM_SOCKET_ID } from "./constants.js";
|
||||
import { RdDActor } from "./actor.js";
|
||||
import { RdDItemSheet } from "./item-sheet.js";
|
||||
import { RdDActorSheet } from "./actor-sheet.js";
|
||||
import { RdDActorCreatureSheet } from "./actor-creature-sheet.js";
|
||||
import { RdDActorVehiculeSheet } from "./actor-vehicule-sheet.js";
|
||||
import { RdDActorEntiteSheet } from "./actor-entite-sheet.js";
|
||||
import { Migrations } from './migrations.js';
|
||||
|
||||
import { RdDUtility } from "./rdd-utility.js";
|
||||
import { TMRUtility } from "./tmr-utility.js";
|
||||
import { TMRRencontres } from "./tmr-rencontres.js";
|
||||
import { RdDCalendrier } from "./rdd-calendrier.js";
|
||||
import { RdDTimestamp } from "./rdd-timestamp.js";
|
||||
import { DialogChronologie } from "./dialog-chronologie.js";
|
||||
|
||||
import { RdDResolutionTable } from "./rdd-resolution-table.js";
|
||||
import { RdDTokenHud } from "./rdd-token-hud.js";
|
||||
import { RdDCommands } from "./rdd-commands.js";
|
||||
import { RdDCombatManager, RdDCombat } from "./rdd-combat.js";
|
||||
import { ChatUtility } from "./chat-utility.js";
|
||||
import { StatusEffects } from "./settings/status-effects.js";
|
||||
import { RddCompendiumOrganiser } from "./rdd-compendium-organiser.js";
|
||||
import { RdDCompendiumOrganiser } from "./rdd-compendium-organiser.js";
|
||||
import { ReglesOptionelles } from "./settings/regles-optionelles.js";
|
||||
import { RdDHotbar } from "./rdd-hotbar-drop.js"
|
||||
import { EffetsDraconiques } from "./tmr/effets-draconiques.js";
|
||||
import { RdDHerbes } from "./rdd-herbes.js";
|
||||
import { RdDItem } from "./item.js";
|
||||
import { RdDDice } from "./rdd-dice.js";
|
||||
import { RdDPossession } from "./rdd-possession.js";
|
||||
import { RdDSigneDraconiqueItemSheet } from "./item-signedraconique-sheet.js";
|
||||
import { Misc } from "./misc.js";
|
||||
import { Migrations } from './migrations.js';
|
||||
import { DialogChronologie } from "./dialog-chronologie.js";
|
||||
|
||||
import { SystemCompendiums } from "./settings/system-compendiums.js";
|
||||
import { RdDRencontreItemSheet } from "./item-rencontre-sheet.js";
|
||||
import { TMRRencontres } from "./tmr-rencontres.js";
|
||||
import { RdDHerbeItemSheet } from "./item-herbe-sheet.js";
|
||||
import { Environnement } from "./environnement.js";
|
||||
import { RdDIngredientItemSheet } from "./item-ingredient-sheet.js";
|
||||
import { RdDFauneItemSheet } from "./item-faune-sheet.js";
|
||||
import { RdDConteneurItemSheet } from "./item-conteneur-sheet.js";
|
||||
|
||||
import { RdDActor } from "./actor.js";
|
||||
import { RdDBaseActor } from "./actor/base-actor.js";
|
||||
import { RdDCommerce } from "./actor/commerce.js";
|
||||
import { RdDActorSheet } from "./actor-sheet.js";
|
||||
import { RdDCommerceSheet } from "./actor/commerce-sheet.js";
|
||||
import { RdDActorCreatureSheet } from "./actor-creature-sheet.js";
|
||||
import { RdDActorVehiculeSheet } from "./actor-vehicule-sheet.js";
|
||||
import { RdDActorEntiteSheet } from "./actor-entite-sheet.js";
|
||||
|
||||
import { RdDItem } from "./item.js";
|
||||
import { RdDItemBlessure } from "./item/blessure.js";
|
||||
import { RdDItemService } from "./item/service.js";
|
||||
import { RdDItemMaladie } from "./item/maladie.js";
|
||||
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 { RdDItemSouffle } from "./item/souffle.js";
|
||||
import { RdDRencontre } from "./item/rencontre.js";
|
||||
|
||||
import { RdDItemSheet } from "./item-sheet.js";
|
||||
import { RdDBlessureItemSheet } from "./item/sheet-blessure.js";
|
||||
import { RdDServiceItemSheet } from "./item/sheet-service.js";
|
||||
import { RdDRencontreItemSheet } from "./item/sheet-rencontre.js";
|
||||
import { RdDHerbeItemSheet } from "./item/sheet-herbe.js";
|
||||
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 { AppAstrologie } from "./sommeil/app-astrologie.js";
|
||||
|
||||
/**
|
||||
* RdD system
|
||||
* Author: LeRatierBretonnien
|
||||
* Software License: GNU GPLv3
|
||||
*/
|
||||
export class SystemReveDeDragon {
|
||||
|
||||
static start() {
|
||||
const system = new SystemReveDeDragon();
|
||||
Hooks.once('init', async () => await system.onInit());
|
||||
Hooks.once('diceSoNiceReady', (dice3d) => RdDDice.diceSoNiceReady(dice3d));
|
||||
}
|
||||
|
||||
constructor() {
|
||||
this.RdDUtility = RdDUtility;
|
||||
this.RdDHotbar = RdDHotbar;
|
||||
this.itemClasses = {
|
||||
blessure: RdDItemBlessure,
|
||||
maladie: RdDItemMaladie,
|
||||
ombre: RdDItemOmbre,
|
||||
poison: RdDItemPoison,
|
||||
queue: RdDItemQueue,
|
||||
rencontre: RdDRencontre,
|
||||
service: RdDItemService,
|
||||
signedraconique: RdDItemSigneDraconique,
|
||||
souffle: RdDItemSouffle,
|
||||
}
|
||||
this.actorClasses = {
|
||||
commerce: RdDCommerce,
|
||||
creature: RdDActor,
|
||||
entite: RdDActor,
|
||||
personnage: RdDActor,
|
||||
vehicule: RdDActor,
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/* Foundry VTT Initialization */
|
||||
/* -------------------------------------------- */
|
||||
async onInit() {
|
||||
game.system.rdd = this;
|
||||
this.AppAstrologie = AppAstrologie;
|
||||
|
||||
|
||||
|
||||
/************************************************************************************/
|
||||
Hooks.once("init", async function () {
|
||||
console.log(`Initializing Reve de Dragon System`);
|
||||
|
||||
// preload handlebars templates
|
||||
RdDUtility.preloadHandlebarsTemplates();
|
||||
// Create useful storage space
|
||||
game.system.rdd = {
|
||||
TMRUtility,
|
||||
RdDUtility,
|
||||
RdDHotbar,
|
||||
RdDPossession,
|
||||
|
||||
/* -------------------------------------------- */
|
||||
this.initSystemSettings();
|
||||
|
||||
/* -------------------------------------------- */
|
||||
// Set an initiative formula for the system
|
||||
CONFIG.Combat.initiative = {
|
||||
formula: "1+(1d6/10)",
|
||||
decimals: 2
|
||||
};
|
||||
|
||||
/* -------------------------------------------- */
|
||||
game.socket.on(SYSTEM_SOCKET_ID, async (sockmsg) => {
|
||||
console.log(">>>>> MSG RECV", sockmsg);
|
||||
try {
|
||||
RdDUtility.onSocketMessage(sockmsg);
|
||||
RdDCombat.onSocketMessage(sockmsg);
|
||||
ChatUtility.onSocketMessage(sockmsg);
|
||||
RdDBaseActor.onSocketMessage(sockmsg);
|
||||
} catch (e) {
|
||||
console.error('game.socket.on(SYSTEM_SOCKET_ID) Exception: ', sockmsg, ' => ', e)
|
||||
}
|
||||
});
|
||||
|
||||
/* -------------------------------------------- */
|
||||
// Define custom Entity classes
|
||||
CONFIG.Actor.documentClass = RdDBaseActor;
|
||||
CONFIG.Item.documentClass = RdDItem;
|
||||
CONFIG.RDD = {
|
||||
resolutionTable: RdDResolutionTable.resolutionTable,
|
||||
carac_array: RdDUtility.getCaracArray(),
|
||||
ajustementsConditions: RdDUtility.getAjustementsConditions(),
|
||||
difficultesLibres: RdDUtility.getDifficultesLibres()
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
// Register sheet application classes
|
||||
Actors.unregisterSheet("core", ActorSheet);
|
||||
Actors.registerSheet(SYSTEM_RDD, RdDCommerceSheet, { types: ["commerce"], makeDefault: true });
|
||||
Actors.registerSheet(SYSTEM_RDD, RdDActorSheet, { types: ["personnage"], makeDefault: true });
|
||||
Actors.registerSheet(SYSTEM_RDD, RdDActorCreatureSheet, { types: ["creature"], makeDefault: true });
|
||||
Actors.registerSheet(SYSTEM_RDD, RdDActorVehiculeSheet, { types: ["vehicule"], makeDefault: true });
|
||||
Actors.registerSheet(SYSTEM_RDD, RdDActorEntiteSheet, { types: ["entite"], makeDefault: true });
|
||||
Items.unregisterSheet("core", ItemSheet);
|
||||
|
||||
RdDItemSheet.register(RdDSigneDraconiqueItemSheet);
|
||||
RdDItemSheet.register(RdDRencontreItemSheet);
|
||||
RdDItemSheet.register(RdDConteneurItemSheet);
|
||||
RdDItemSheet.register(RdDHerbeItemSheet);
|
||||
RdDItemSheet.register(RdDFauneItemSheet);
|
||||
RdDItemSheet.register(RdDPlanteItemSheet);
|
||||
RdDItemSheet.register(RdDIngredientItemSheet);
|
||||
RdDItemSheet.register(RdDServiceItemSheet);
|
||||
RdDItemSheet.register(RdDBlessureItemSheet);
|
||||
|
||||
Items.registerSheet(SYSTEM_RDD, RdDItemInventaireSheet, {
|
||||
types: [
|
||||
"objet", "arme", "armure", "livre", "potion", "munition",
|
||||
"monnaie", "nourritureboisson", "gemme",
|
||||
], makeDefault: true
|
||||
});
|
||||
Items.registerSheet(SYSTEM_RDD, RdDItemSheet, {
|
||||
types: [
|
||||
"competence", "competencecreature",
|
||||
"recettealchimique", "musique", "chant", "danse", "jeu", "recettecuisine", "oeuvre",
|
||||
"meditation", "queue", "ombre", "souffle", "tete", "casetmr", "sort", "sortreserve",
|
||||
"nombreastral", "tache", "maladie", "poison", "possession",
|
||||
"tarot", "extraitpoetique"
|
||||
], makeDefault: true
|
||||
});
|
||||
CONFIG.Combat.documentClass = RdDCombatManager;
|
||||
|
||||
// préparation des différents modules
|
||||
RdDTimestamp.init();
|
||||
SystemCompendiums.init();
|
||||
DialogChronologie.init();
|
||||
ReglesOptionelles.init();
|
||||
RdDUtility.init();
|
||||
RdDDice.init();
|
||||
RdDCommands.init();
|
||||
RdDCombatManager.init();
|
||||
RdDTokenHud.init();
|
||||
RdDBaseActor.init();
|
||||
RdDCompendiumOrganiser.init();
|
||||
EffetsDraconiques.init()
|
||||
TMRUtility.init();
|
||||
RdDHotbar.initDropbar();
|
||||
RdDPossession.init();
|
||||
TMRRencontres.init();
|
||||
Environnement.init();
|
||||
|
||||
Hooks.once('ready', () => this.onReady());
|
||||
}
|
||||
|
||||
initSystemSettings() {
|
||||
game.settings.register(SYSTEM_RDD, "accorder-entite-cauchemar", {
|
||||
name: "Accorder le rêve aux entités",
|
||||
hint: "A quel moment les personnages doivent accorder leur rêve aux entités de cauchemar",
|
||||
scope: "world",
|
||||
config: true,
|
||||
type: String,
|
||||
choices: { // If choices are defined, the resulting setting will be a select menu
|
||||
choices: {
|
||||
"avant-attaque": "Avant l'attaque",
|
||||
"avant-defense": "Avant la défense",
|
||||
"avant-encaissement": "Avant l'encaissement",
|
||||
@@ -80,24 +216,6 @@ Hooks.once("init", async function () {
|
||||
default: "avant-encaissement"
|
||||
});
|
||||
|
||||
/* -------------------------------------------- */
|
||||
game.settings.register(SYSTEM_RDD, "calendrier", {
|
||||
name: "calendrier",
|
||||
scope: "world",
|
||||
config: false,
|
||||
default: RdDCalendrier.createCalendrierInitial(),
|
||||
type: Object
|
||||
});
|
||||
|
||||
/* -------------------------------------------- */
|
||||
game.settings.register(SYSTEM_RDD, "migration-png-webp-1.5.34", {
|
||||
name: "calendrier",
|
||||
scope: "world",
|
||||
config: false,
|
||||
default: false,
|
||||
type: Boolean
|
||||
});
|
||||
|
||||
/* -------------------------------------------- */
|
||||
game.settings.register(SYSTEM_RDD, "liste-nombre-astral", {
|
||||
name: "liste-nombre-astral",
|
||||
@@ -126,6 +244,7 @@ Hooks.once("init", async function () {
|
||||
default: true,
|
||||
type: Boolean
|
||||
});
|
||||
|
||||
/* -------------------------------------------- */
|
||||
game.settings.register(SYSTEM_RDD, "activer-sons-audio", {
|
||||
name: "Activer les bruitages intégrés",
|
||||
@@ -149,89 +268,46 @@ Hooks.once("init", async function () {
|
||||
},
|
||||
default: "aucun"
|
||||
});
|
||||
|
||||
/* -------------------------------------------- */
|
||||
// Set an initiative formula for the system
|
||||
CONFIG.Combat.initiative = {
|
||||
formula: "1+(1d6/10)",
|
||||
decimals: 2
|
||||
};
|
||||
|
||||
/* -------------------------------------------- */
|
||||
game.socket.on(SYSTEM_SOCKET_ID, async (sockmsg) => {
|
||||
console.log(">>>>> MSG RECV", sockmsg);
|
||||
try {
|
||||
RdDUtility.onSocketMessage(sockmsg);
|
||||
RdDCombat.onSocketMessage(sockmsg);
|
||||
ChatUtility.onSocketMessage(sockmsg);
|
||||
RdDActor.onSocketMessage(sockmsg);
|
||||
} catch (e) {
|
||||
console.error('game.socket.on(SYSTEM_SOCKET_ID) Exception: ', sockmsg, ' => ', e)
|
||||
}
|
||||
});
|
||||
|
||||
async onReady() {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
// Define custom Entity classes
|
||||
CONFIG.Actor.documentClass = RdDActor;
|
||||
CONFIG.Item.documentClass = RdDItem;
|
||||
CONFIG.RDD = {
|
||||
resolutionTable: RdDResolutionTable.resolutionTable,
|
||||
carac_array: RdDUtility.getCaracArray(),
|
||||
ajustementsConditions: RdDUtility.getAjustementsConditions(),
|
||||
difficultesLibres: RdDUtility.getDifficultesLibres()
|
||||
/* Foundry VTT Initialization */
|
||||
/* -------------------------------------------- */
|
||||
// CSS patch for v9
|
||||
if (game.version) {
|
||||
let sidebar = document.getElementById("sidebar");
|
||||
sidebar.style.width = "min-content";
|
||||
}
|
||||
if (Misc.isUniqueConnectedGM()) {
|
||||
game.system.rdd.calendrier = new RdDCalendrier();
|
||||
new Migrations().migrate();
|
||||
}
|
||||
|
||||
StatusEffects.onReady();
|
||||
RdDHerbes.initializeHerbes();
|
||||
RdDDice.onReady();
|
||||
/* -------------------------------------------- */
|
||||
/* Affiche/Init le calendrier */
|
||||
game.system.rdd.calendrier = new RdDCalendrier().display();
|
||||
|
||||
// Avertissement si joueur sans personnage
|
||||
if (!game.user.isGM && game.user.character == undefined) {
|
||||
ui.notifications.info("Attention ! Vous n'êtes connecté à aucun personnage !");
|
||||
ChatMessage.create({
|
||||
content: "<b>ATTENTION</b> Le joueur " + game.user.name + " n'est connecté à aucun personnage !",
|
||||
user: game.user.id
|
||||
});
|
||||
}
|
||||
if (Misc.isUniqueConnectedGM()) {
|
||||
this.messageDeBienvenue();
|
||||
this.registerUsageCount(SYSTEM_RDD);
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
// Register sheet application classes
|
||||
Actors.unregisterSheet("core", ActorSheet);
|
||||
Actors.registerSheet(SYSTEM_RDD, RdDActorSheet, { types: ["personnage"], makeDefault: true });
|
||||
Actors.registerSheet(SYSTEM_RDD, RdDActorCreatureSheet, { types: ["creature"], makeDefault: true });
|
||||
Actors.registerSheet(SYSTEM_RDD, RdDActorVehiculeSheet, { types: ["vehicule"], makeDefault: true });
|
||||
Actors.registerSheet(SYSTEM_RDD, RdDActorEntiteSheet, { types: ["entite"], makeDefault: true });
|
||||
Items.unregisterSheet("core", ItemSheet);
|
||||
|
||||
RdDItemSheet.register(RdDSigneDraconiqueItemSheet);
|
||||
RdDItemSheet.register(RdDRencontreItemSheet);
|
||||
RdDItemSheet.register(RdDConteneurItemSheet);
|
||||
RdDItemSheet.register(RdDHerbeItemSheet);
|
||||
RdDItemSheet.register(RdDFauneItemSheet);
|
||||
RdDItemSheet.register(RdDIngredientItemSheet);
|
||||
|
||||
Items.registerSheet(SYSTEM_RDD, RdDItemSheet, {
|
||||
types: [
|
||||
"competence", "competencecreature",
|
||||
"recettealchimique", "musique", "chant", "danse", "jeu", "recettecuisine", "oeuvre",
|
||||
"objet", "arme", "armure", "livre", "potion", "munition",
|
||||
"monnaie", "nourritureboisson", "gemme",
|
||||
"meditation", "queue", "ombre", "souffle", "tete", "casetmr", "sort", "sortreserve",
|
||||
"nombreastral", "tache", "maladie", "poison", "possession",
|
||||
"tarot", "extraitpoetique"
|
||||
], makeDefault: true
|
||||
});
|
||||
CONFIG.Combat.documentClass = RdDCombatManager;
|
||||
|
||||
// préparation des différents modules
|
||||
SystemCompendiums.init();
|
||||
DialogChronologie.init();
|
||||
ReglesOptionelles.init();
|
||||
RdDUtility.init();
|
||||
RdDDice.init();
|
||||
RdDCommands.init();
|
||||
RdDCombat.init();
|
||||
RdDCombatManager.init();
|
||||
RdDTokenHud.init();
|
||||
RdDActor.init();
|
||||
RddCompendiumOrganiser.init();
|
||||
EffetsDraconiques.init()
|
||||
TMRUtility.init();
|
||||
RdDHotbar.initDropbar();
|
||||
RdDPossession.init();
|
||||
TMRRencontres.init();
|
||||
Environnement.init();
|
||||
});
|
||||
|
||||
/* -------------------------------------------- */
|
||||
function messageDeBienvenue() {
|
||||
messageDeBienvenue() {
|
||||
if (game.user.isGM) {
|
||||
ChatUtility.removeChatMessageContaining('<div id="message-bienvenue-rdd">');
|
||||
ChatMessage.create({
|
||||
@@ -245,7 +321,7 @@ function messageDeBienvenue() {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
// Register world usage statistics
|
||||
function registerUsageCount(registerKey) {
|
||||
async registerUsageCount(registerKey) {
|
||||
if (game.user.isGM) {
|
||||
game.settings.register("world", "world-key", {
|
||||
name: "Unique world key",
|
||||
@@ -266,80 +342,7 @@ function registerUsageCount(registerKey) {
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/* Foundry VTT Initialization */
|
||||
/* -------------------------------------------- */
|
||||
Hooks.once("ready", async function () {
|
||||
await migrationPngWebp_1_5_34()
|
||||
if (Misc.isUniqueConnectedGM()) {
|
||||
new Migrations().migrate();
|
||||
}
|
||||
|
||||
StatusEffects.onReady();
|
||||
RdDHerbes.initializeHerbes();
|
||||
RdDDice.onReady();
|
||||
/* -------------------------------------------- */
|
||||
/* Affiche/Init le calendrier */
|
||||
let calendrier = new RdDCalendrier();
|
||||
let templatePath = "systems/foundryvtt-reve-de-dragon/templates/calendar-template.html";
|
||||
let templateData = {};
|
||||
renderTemplate(templatePath, templateData).then(html => {
|
||||
calendrier.render(true);
|
||||
});
|
||||
game.system.rdd.calendrier = calendrier; // Reference;
|
||||
|
||||
// Avertissement si joueur sans personnage
|
||||
if (!game.user.isGM && game.user.character == undefined) {
|
||||
ui.notifications.info("Attention ! Vous n'êtes connecté à aucun personnage !");
|
||||
ChatMessage.create({
|
||||
content: "<b>ATTENTION</b> Le joueur " + game.user.name + " n'est connecté à aucun personnage !",
|
||||
user: game.user.id
|
||||
});
|
||||
}
|
||||
if (Misc.isUniqueConnectedGM()) {
|
||||
messageDeBienvenue();
|
||||
registerUsageCount(SYSTEM_RDD);
|
||||
}
|
||||
});
|
||||
|
||||
async function migrationPngWebp_1_5_34() {
|
||||
if (!game.settings.get(SYSTEM_RDD, "migration-png-webp-1.5.34")) {
|
||||
const regexOldPngJpg = /(systems\/foundryvtt-reve-de-dragon\/icons\/.*)\.(png|jpg)/;
|
||||
const replaceWithWebp = '$1.webp';
|
||||
function convertImgToWebp(img) {
|
||||
return img.replace(regexOldPngJpg, replaceWithWebp);
|
||||
}
|
||||
function prepareDocumentsImgUpdate(documents) {
|
||||
return documents.filter(it => it.img && it.img.match(regexOldPngJpg))
|
||||
.map(it => {
|
||||
return { _id: it.id, img: convertImgToWebp(it.img) }
|
||||
});
|
||||
}
|
||||
const itemsUpdates = prepareDocumentsImgUpdate(game.items);
|
||||
const actorsUpdates = prepareDocumentsImgUpdate(game.actors);
|
||||
//Migrate system png to webp
|
||||
await Item.updateDocuments(itemsUpdates);
|
||||
await Actor.updateDocuments(actorsUpdates);
|
||||
game.actors.forEach(actor => {
|
||||
if (actor.token?.img && actor.token.img.match(regexOldPngJpg)) {
|
||||
actor.update({ "token.img": convertImgToWebp(actor.token.img) });
|
||||
}
|
||||
const actorItemsToUpdate = prepareDocumentsImgUpdate(actor.items);
|
||||
actor.updateEmbeddedDocuments('Item', actorItemsToUpdate);
|
||||
});
|
||||
game.settings.set(SYSTEM_RDD, "migration-png-webp-1.5.34", true)
|
||||
}
|
||||
|
||||
// CSS patch for v9
|
||||
if (game.version) {
|
||||
let sidebar = document.getElementById("sidebar");
|
||||
sidebar.style.width = "min-content";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/* Dice-so-nice ready */
|
||||
/* -------------------------------------------- */
|
||||
Hooks.once('diceSoNiceReady', (dice3d) => RdDDice.diceSoNiceReady(dice3d));
|
||||
SystemReveDeDragon.start();
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { RdDActor } from "./actor.js";
|
||||
import { RdDBaseActor } from "./actor/base-actor.js";
|
||||
import { Misc } from "./misc.js";
|
||||
import { RdDDice } from "./rdd-dice.js";
|
||||
|
||||
@@ -20,7 +20,7 @@ export class RdDNameGen {
|
||||
|
||||
static async onCreerActeur(event) {
|
||||
const button = event.currentTarget;
|
||||
await RdDActor.create({
|
||||
await RdDBaseActor.create({
|
||||
name: button.attributes['data-nom'].value,
|
||||
type: button.attributes['data-type'].value
|
||||
},
|
||||
|
||||
@@ -195,17 +195,6 @@ export class RdDResolutionTable {
|
||||
return Math.max(Math.floor(carac * (diff + 10) / 2), 1);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static isAjustementAstrologique(rollData) {
|
||||
if (rollData.selectedCarac?.label.toLowerCase().includes('chance')) {
|
||||
return true;
|
||||
}
|
||||
if (rollData.selectedSort?.system.isrituel) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static isEchec(rollData) {
|
||||
switch (rollData.surprise) {
|
||||
@@ -294,12 +283,9 @@ export class RdDResolutionTable {
|
||||
carac: carac,
|
||||
difficulte: level,
|
||||
min: minLevel,
|
||||
rows: RdDResolutionTable.incrementalArray(minCarac, maxCarac),
|
||||
cols: RdDResolutionTable.incrementalArray(minLevel, maxLevel)
|
||||
rows: Misc.intArray(minCarac, maxCarac+1),
|
||||
cols: Misc.intArray(minLevel, maxLevel+1)
|
||||
});
|
||||
}
|
||||
static incrementalArray(min, max) {
|
||||
return Array.from(Array(max-min+1).keys()).map(i=>i+min)
|
||||
}
|
||||
|
||||
}
|
||||
@@ -30,9 +30,9 @@ export class RdDEncaisser extends Dialog {
|
||||
};
|
||||
}
|
||||
else if (actor.isEntite([ENTITE_BLURETTE, ENTITE_INCARNE])) {
|
||||
dialogConf.default = "cauchemar"
|
||||
dialogConf.default = "entiteincarnee"
|
||||
dialogConf.buttons = {
|
||||
"cauchemar": { label: "Cauchemar", callback: html => this.performEncaisser("cauchemar") }
|
||||
"entiteincarnee": { label: "Entité incarnée", callback: html => this.performEncaisser("entiteincarnee") }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -70,7 +70,6 @@ export class RdDEncaisser extends Dialog {
|
||||
total: Number(this.modifier),
|
||||
ajustement: Number(this.modifier),
|
||||
encaisserSpecial: this.encaisserSpecial,
|
||||
loc: { result: 0, label: "" },
|
||||
mortalite: mortalite
|
||||
}
|
||||
});
|
||||
|
||||
@@ -276,11 +276,11 @@ export class RdDRoll extends Dialog {
|
||||
const diffVariable = RdDItemSort.isDifficulteVariable(sort);
|
||||
const coutVariable = RdDItemSort.isCoutVariable(sort);
|
||||
|
||||
HtmlUtility._showControlWhen(this.html.find(".div-sort-non-rituel"), !sort.system.isrituel);
|
||||
HtmlUtility._showControlWhen(this.html.find(".div-sort-difficulte-var"), diffVariable);
|
||||
HtmlUtility._showControlWhen(this.html.find(".div-sort-difficulte-fixe"), !diffVariable);
|
||||
HtmlUtility._showControlWhen(this.html.find(".div-sort-ptreve-var"), coutVariable);
|
||||
HtmlUtility._showControlWhen(this.html.find(".div-sort-ptreve-fixe"), !coutVariable);
|
||||
HtmlUtility.showControlWhen(this.html.find(".div-sort-non-rituel"), !sort.system.isrituel);
|
||||
HtmlUtility.showControlWhen(this.html.find(".div-sort-difficulte-var"), diffVariable);
|
||||
HtmlUtility.showControlWhen(this.html.find(".div-sort-difficulte-fixe"), !diffVariable);
|
||||
HtmlUtility.showControlWhen(this.html.find(".div-sort-ptreve-var"), coutVariable);
|
||||
HtmlUtility.showControlWhen(this.html.find(".div-sort-ptreve-fixe"), !coutVariable);
|
||||
}
|
||||
|
||||
async setSelectedSigneDraconique(signe) {
|
||||
@@ -311,11 +311,11 @@ export class RdDRoll extends Dialog {
|
||||
const resolutionTable = await RdDResolutionTable.buildHTMLTable(RdDResolutionTable.subTable(rollData.caracValue, rollData.finalLevel))
|
||||
const adjustements = await this.buildAjustements(rollData);
|
||||
|
||||
HtmlUtility._showControlWhen(this.html.find(".use-encTotal"), rollData.ajustements.encTotal.visible && RdDCarac.isAgiliteOuDerivee(rollData.selectedCarac));
|
||||
HtmlUtility._showControlWhen(this.html.find(".use-surenc"), rollData.ajustements.surenc.visible && RdDCarac.isActionPhysique(rollData.selectedCarac));
|
||||
HtmlUtility._showControlWhen(this.html.find(".utilisation-moral"), rollData.use.appelAuMoral);
|
||||
HtmlUtility._showControlWhen(this.html.find(".diffMoral"), rollData.ajustements.moralTotal.used);
|
||||
HtmlUtility._showControlWhen(this.html.find(".divAppelAuMoral"), rollData.use.appelAuMoral);
|
||||
HtmlUtility.showControlWhen(this.html.find(".use-encTotal"), rollData.ajustements.encTotal.visible && RdDCarac.isAgiliteOuDerobee(rollData.selectedCarac));
|
||||
HtmlUtility.showControlWhen(this.html.find(".use-surenc"), rollData.ajustements.surenc.visible && RdDCarac.isActionPhysique(rollData.selectedCarac));
|
||||
HtmlUtility.showControlWhen(this.html.find(".utilisation-moral"), rollData.use.appelAuMoral);
|
||||
HtmlUtility.showControlWhen(this.html.find(".diffMoral"), rollData.ajustements.moralTotal.used);
|
||||
HtmlUtility.showControlWhen(this.html.find(".divAppelAuMoral"), rollData.use.appelAuMoral);
|
||||
|
||||
// Mise à jour valeurs
|
||||
this.html.find(".dialog-roll-title").text(this._getTitle(rollData));
|
||||
|
||||
@@ -1,7 +1,25 @@
|
||||
import { DialogSplitItem } from "./dialog-split-item.js";
|
||||
import { RdDItem } from "./item.js";
|
||||
|
||||
export class RdDSheetUtility {
|
||||
|
||||
static mergeDocumentRights(options, document, editable) {
|
||||
const userRightLevel = game.user.isGM
|
||||
? CONST.DOCUMENT_OWNERSHIP_LEVELS.OWNER
|
||||
: document.getUserLevel(game.user);
|
||||
let newOptions = {
|
||||
isGM: game.user.isGM,
|
||||
isOwned: document.parent ? true : false,
|
||||
editable: editable,
|
||||
cssClass: editable ? "editable" : "locked",
|
||||
isLimited: userRightLevel >= CONST.DOCUMENT_OWNERSHIP_LEVELS.LIMITED,
|
||||
isObserver: userRightLevel >= CONST.DOCUMENT_OWNERSHIP_LEVELS.OBSERVER,
|
||||
isOwner: userRightLevel >= CONST.DOCUMENT_OWNERSHIP_LEVELS.OWNER
|
||||
}
|
||||
mergeObject(options, newOptions);
|
||||
return options;
|
||||
}
|
||||
|
||||
static getItem(event, actor) {
|
||||
return actor.items.get(RdDSheetUtility.getItemId(event))
|
||||
}
|
||||
@@ -19,8 +37,11 @@ export class RdDSheetUtility {
|
||||
return $(event.currentTarget)?.parents(".item");
|
||||
}
|
||||
|
||||
static prepareItemDropParameters(destItemId, actor, dragData, objetVersConteneur) {
|
||||
const item = fromUuidSync(dragData.uuid)
|
||||
static async prepareItemDropParameters(destItemId, actor, dragData, objetVersConteneur) {
|
||||
let item = fromUuidSync(dragData.uuid);
|
||||
if (item.pack && !item.system) {
|
||||
item = await RdDItem.getCorrespondingItem(item);
|
||||
}
|
||||
if (actor.canReceive(item)) {
|
||||
return {
|
||||
destId: destItemId,
|
||||
|
||||
341
module/rdd-timestamp.js
Normal file
@@ -0,0 +1,341 @@
|
||||
import { SHOW_DICE, SYSTEM_RDD, SYSTEM_SOCKET_ID } from "./constants.js";
|
||||
import { Grammar } from "./grammar.js";
|
||||
import { Misc } from "./misc.js";
|
||||
import { RdDDice } from "./rdd-dice.js";
|
||||
|
||||
export const WORLD_TIMESTAMP_SETTING = "calendrier";
|
||||
|
||||
const RDD_JOURS_PAR_AN = 336; //RDD_JOURS_PAR_MOIS * RDD_MOIS_PAR_AN;
|
||||
const RDD_MOIS_PAR_AN = 12;
|
||||
export const RDD_JOURS_PAR_MOIS = 28;
|
||||
export const RDD_HEURES_PAR_JOUR = 12;
|
||||
export const MAX_NOMBRE_ASTRAL = 12;
|
||||
export const RDD_MINUTES_PAR_HEURES = 120;
|
||||
export const RDD_MINUTES_PAR_JOUR = 1440; //RDD_HEURES_PAR_JOUR * RDD_MINUTES_PAR_HEURES;
|
||||
const ROUNDS_PAR_MINUTE = 10;
|
||||
|
||||
const DEFINITION_HEURES = [
|
||||
{ key: "vaisseau", label: "Vaisseau", lettreFont: 'v', saison: "Printemps" },
|
||||
{ key: "sirene", label: "Sirène", lettreFont: 'i', saison: "Printemps" },
|
||||
{ key: "faucon", label: "Faucon", lettreFont: 'f', saison: "Printemps" },
|
||||
{ key: "couronne", label: "Couronne", lettreFont: '', saison: "Eté" },
|
||||
{ key: "dragon", label: "Dragon", lettreFont: 'd', saison: "Eté" },
|
||||
{ key: "epees", label: "Epées", lettreFont: 'e', saison: "Eté" },
|
||||
{ key: "lyre", label: "Lyre", lettreFont: 'l', saison: "Automne" },
|
||||
{ key: "serpent", label: "Serpent", lettreFont: 's', saison: "Automne" },
|
||||
{ key: "poissonacrobate", label: "Poisson Acrobate", lettreFont: 'p', saison: "Automne" },
|
||||
{ key: "araignee", label: "Araignée", lettreFont: 'a', saison: "Hiver" },
|
||||
{ key: "roseau", label: "Roseau", lettreFont: 'r', saison: "Hiver" },
|
||||
{ key: "chateaudormant", label: "Château Dormant", lettreFont: 'c', saison: "Hiver" },
|
||||
]
|
||||
|
||||
const FORMULES_DUREE = [
|
||||
{ code: "", label: "", calcul: async (t, actor) => t.addJours(100 * RDD_JOURS_PAR_AN) },
|
||||
{ code: "jour", label: "1 jour", calcul: async (t, actor) => t.nouveauJour().addJours(1) },
|
||||
{ code: "1d7jours", label: "1d7 jour", calcul: async (t, actor) => t.nouveauJour().addJours(await RdDDice.rollTotal('1d7', { showDice: SHOW_DICE })) },
|
||||
{ code: "1ddr", label: "Un dé draconique jours", calcul: async (t, actor) => t.nouveauJour().addJours(await RdDDice.rollTotal('1dr+7', { showDice: SHOW_DICE })) },
|
||||
{ code: "hn", label: "Fin de l'Heure de Naissance", calcul: async (t, actor) => t.finHeure(actor.getHeureNaissance()) },
|
||||
// { code: "1h", label: "Une heure", calcul: async (t, actor) => t.nouvelleHeure().addHeures(1) },
|
||||
// { code: "12h", label: "12 heures", calcul: async (t, actor) => t.nouvelleHeure().addHeures(12) },
|
||||
// { code: "chateaudormant", label: "Fin Chateau dormant", calcul: async (t, actor) => t.nouveauJour() },
|
||||
// { code: "special", label: "Spéciale", calcul: async (t, actor) => t.addJours(100 * RDD_JOURS_PAR_AN) },
|
||||
]
|
||||
const FORMULES_PERIODE = [
|
||||
{ code: 'round', label: "Rounds", calcul: async (t, nombre) => t.addMinutes(nombre / 10) },
|
||||
{ code: 'minute', label: "Minutes", calcul: async (t, nombre) => t.addMinutes(nombre) },
|
||||
{ code: 'heure', label: "Heures", calcul: async (t, nombre) => t.addHeures(nombre) },
|
||||
{ code: 'jour', label: "Jours", calcul: async (t, nombre) => t.addJours(nombre) },
|
||||
]
|
||||
|
||||
|
||||
export class RdDTimestamp {
|
||||
|
||||
static init() {
|
||||
game.settings.register(SYSTEM_RDD, WORLD_TIMESTAMP_SETTING, {
|
||||
name: WORLD_TIMESTAMP_SETTING,
|
||||
scope: "world",
|
||||
config: false,
|
||||
default: { indexDate: 0, indexMinute: 0 },
|
||||
type: Object
|
||||
});
|
||||
|
||||
for (let i = 0; i < DEFINITION_HEURES.length; i++) {
|
||||
DEFINITION_HEURES[i].heure = i;
|
||||
DEFINITION_HEURES[i].hh = RdDTimestamp.hh(i);
|
||||
DEFINITION_HEURES[i].icon = RdDTimestamp.iconeHeure(i);
|
||||
DEFINITION_HEURES[i].webp = DEFINITION_HEURES[i].icon.replace(".svg", ".webp");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static hh(heure) {
|
||||
return heure < 9 ? `0${heure + 1}` : `${heure + 1}`;
|
||||
}
|
||||
|
||||
static iconeHeure(heure) {
|
||||
return `systems/foundryvtt-reve-de-dragon/icons/heures/hd${RdDTimestamp.hh(heure)}.svg`;
|
||||
}
|
||||
|
||||
static definitions() {
|
||||
return DEFINITION_HEURES
|
||||
}
|
||||
|
||||
static formulesDuree() {
|
||||
return FORMULES_DUREE
|
||||
}
|
||||
|
||||
static formulesPeriode() {
|
||||
return FORMULES_PERIODE
|
||||
}
|
||||
|
||||
static heures() {
|
||||
return Misc.intArray(0, RDD_HEURES_PAR_JOUR)
|
||||
}
|
||||
|
||||
/**
|
||||
* @param signe
|
||||
* @returns L'entrée de DEFINITION_HEURES correspondant au signe
|
||||
*/
|
||||
static definition(signe) {
|
||||
if (signe == undefined) {
|
||||
signe = 0;
|
||||
}
|
||||
if (Number.isInteger(signe)) {
|
||||
return DEFINITION_HEURES[signe % RDD_HEURES_PAR_JOUR];
|
||||
}
|
||||
let definition = DEFINITION_HEURES.find(it => it.key == signe);
|
||||
if (!definition) {
|
||||
definition = Misc.findFirstLike(signe, DEFINITION_HEURES, { mapper: it => it.label, description: 'signe' });
|
||||
}
|
||||
return definition
|
||||
}
|
||||
|
||||
static imgSigneHeure(heure) {
|
||||
return RdDTimestamp.imgSigne(RdDTimestamp.definition(heure));
|
||||
}
|
||||
|
||||
static imgSigne(signe) {
|
||||
return signe == undefined ? '' : `<img class="img-signe-heure" src="${signe.webp}" alt="${signe.label}" title="${signe.label}"/>`
|
||||
}
|
||||
|
||||
static ajustementAstrologiqueHeure(hn, nbAstral, heure) {
|
||||
let ecart = (hn + nbAstral - heure) % RDD_HEURES_PAR_JOUR;
|
||||
if (ecart < 0) {
|
||||
ecart = (ecart + RDD_HEURES_PAR_JOUR) % RDD_HEURES_PAR_JOUR;
|
||||
}
|
||||
switch (ecart) {
|
||||
case 0: return 4;
|
||||
case 4: case 8: return 2;
|
||||
case 6: return -4;
|
||||
case 3: case 9: return -2;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
static handleTimestampEditor(html, path, consumeTimestamp = async (path, timestamp) => { }) {
|
||||
const fields = {
|
||||
annee: html.find(`input[name="${path}.annee"]`),
|
||||
mois: html.find(`select[name="${path}.mois"]`),
|
||||
jourDuMois: html.find(`input[name="${path}.jourDuMois"]`),
|
||||
heure: html.find(`select[name="${path}.heure"]`),
|
||||
minute: html.find(`input[name="${path}.minute"]`)
|
||||
};
|
||||
|
||||
async function onChangeTimestamp(fields, path) {
|
||||
const annee = Number(fields.annee.val());
|
||||
const mois = fields.mois.val();
|
||||
const jour = Number(fields.jourDuMois.val());
|
||||
const heure = fields.heure.val();
|
||||
const minute = Number(fields.minute.val());
|
||||
await consumeTimestamp(path, RdDTimestamp.timestamp(annee, mois, jour, heure, minute));
|
||||
}
|
||||
|
||||
fields.annee.change(async (event) => await onChangeTimestamp(fields, path));
|
||||
fields.mois.change(async (event) => await onChangeTimestamp(fields, path));
|
||||
fields.jourDuMois.change(async (event) => await onChangeTimestamp(fields, path));
|
||||
fields.heure.change(async (event) => await onChangeTimestamp(fields, path));
|
||||
fields.minute.change(async (event) => await onChangeTimestamp(fields, path));
|
||||
}
|
||||
|
||||
|
||||
static findHeure(heure) {
|
||||
heure = Grammar.toLowerCaseNoAccentNoSpace(heure);
|
||||
let parHeureOuLabel = DEFINITION_HEURES.filter(it => (it.heure) == parseInt(heure) % RDD_HEURES_PAR_JOUR || Grammar.toLowerCaseNoAccentNoSpace(it.label) == heure);
|
||||
if (parHeureOuLabel.length == 1) {
|
||||
return parHeureOuLabel[0];
|
||||
}
|
||||
let parLabelPartiel = DEFINITION_HEURES.filter(it => Grammar.toLowerCaseNoAccentNoSpace(it.label).includes(heure));
|
||||
if (parLabelPartiel.length > 0) {
|
||||
parLabelPartiel.sort(Misc.ascending(h => h.label.length));
|
||||
return parLabelPartiel[0];
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param indexDate: la date (depuis le jour 0)
|
||||
* @return la version formattée de la date
|
||||
*/
|
||||
static formatIndexDate(indexDate) {
|
||||
return new RdDTimestamp({ indexDate }).formatDate()
|
||||
}
|
||||
|
||||
static splitIndexDate(indexDate) {
|
||||
const timestamp = new RdDTimestamp({ indexDate });
|
||||
return {
|
||||
jour: timestamp.jour + 1,
|
||||
mois: RdDTimestamp.definition(timestamp.mois).key
|
||||
}
|
||||
}
|
||||
|
||||
static getWorldTime() {
|
||||
let worldTime = game.settings.get(SYSTEM_RDD, WORLD_TIMESTAMP_SETTING);
|
||||
if (worldTime.indexJour != undefined && worldTime.heureRdD != undefined) {
|
||||
// Migration
|
||||
worldTime = {
|
||||
indexDate: worldTime.indexJour,
|
||||
indexMinute: worldTime.heureRdD * 120 + worldTime.minutesRelative
|
||||
};
|
||||
RdDTimestamp.setWorldTime(new RdDTimestamp(worldTime))
|
||||
}
|
||||
return new RdDTimestamp(worldTime);
|
||||
}
|
||||
|
||||
static setWorldTime(timestamp) {
|
||||
game.settings.set(SYSTEM_RDD, WORLD_TIMESTAMP_SETTING, duplicate(timestamp));
|
||||
}
|
||||
|
||||
/** construit un RdDTimestamp à partir de l'année/mois/jour/heure?/minute? */
|
||||
static timestamp(annee, mois, jour, heure = 0, minute = 0) {
|
||||
mois = this.definition(mois)?.heure
|
||||
heure = this.definition(heure)?.heure
|
||||
return new RdDTimestamp({
|
||||
indexDate: (jour - 1) + (mois + annee * RDD_MOIS_PAR_AN) * RDD_JOURS_PAR_MOIS,
|
||||
indexMinute: heure * RDD_MINUTES_PAR_HEURES + minute
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructeur d'un timestamp.
|
||||
* Selon les paramètres, l'objet construit se base su:
|
||||
* - le timestamp
|
||||
* - la date numérique + minute (dans la journée)
|
||||
* @param indexDate: la date à utiliser pour ce timestamp
|
||||
* @param indexMinute: la minute de la journée à utiliser pour ce timestamp
|
||||
*
|
||||
*/
|
||||
constructor({ indexDate, indexMinute = undefined }) {
|
||||
this.indexDate = indexDate
|
||||
this.indexMinute = indexMinute ?? 0
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Convertit le timestamp en une structure avec les informations utiles
|
||||
* pour afficher la date et l'heure
|
||||
*/
|
||||
toCalendrier() {
|
||||
return {
|
||||
timestamp: this,
|
||||
annee: this.annee,
|
||||
mois: RdDTimestamp.definition(this.mois),
|
||||
jour: this.jour,
|
||||
jourDuMois: this.jour + 1,
|
||||
heure: RdDTimestamp.definition(this.heure),
|
||||
minute: this.minute
|
||||
};
|
||||
}
|
||||
|
||||
get annee() { return Math.floor(this.indexDate / RDD_JOURS_PAR_AN) }
|
||||
get mois() { return Math.floor((this.indexDate % RDD_JOURS_PAR_AN) / RDD_JOURS_PAR_MOIS) }
|
||||
get jour() { return (this.indexDate % RDD_JOURS_PAR_AN) % RDD_JOURS_PAR_MOIS }
|
||||
get heure() { return Math.floor(this.indexMinute / RDD_MINUTES_PAR_HEURES) }
|
||||
get minute() { return this.indexMinute % RDD_MINUTES_PAR_HEURES }
|
||||
get round() { return ROUNDS_PAR_MINUTE * (this.indexMinute - Math.floor(this.indexMinute)) }
|
||||
get angleHeure() { return this.indexMinute / RDD_MINUTES_PAR_JOUR * 360 - 60 }
|
||||
get angleMinute() { return this.indexMinute / RDD_MINUTES_PAR_HEURES * 360 + 45}
|
||||
|
||||
formatDate() {
|
||||
const jour = this.jour + 1;
|
||||
const mois = RdDTimestamp.definition(this.mois).label;
|
||||
const annee = this.annee ?? '';
|
||||
return `${jour} ${mois}` + (annee ? ' ' + annee : '');
|
||||
}
|
||||
|
||||
nouveauJour() { return new RdDTimestamp({ indexDate: this.indexDate + 1, indexMinute: 0 }) }
|
||||
|
||||
nouvelleHeure() {
|
||||
return this.heure >= RDD_HEURES_PAR_JOUR ? this.nouveauJour() : new RdDTimestamp({
|
||||
indexDate: this.indexDate,
|
||||
indexMinute: (this.heure + 1) * RDD_MINUTES_PAR_HEURES
|
||||
})
|
||||
}
|
||||
|
||||
addJours(jours) {
|
||||
return jours == 0 ? this : new RdDTimestamp({
|
||||
indexDate: this.indexDate + jours,
|
||||
indexMinute: this.indexMinute
|
||||
})
|
||||
}
|
||||
|
||||
addHeures(heures) {
|
||||
if (heures == 0) {
|
||||
return this
|
||||
}
|
||||
const heure = this.heure + heures;
|
||||
return new RdDTimestamp({
|
||||
indexDate: this.indexDate + Math.floor(heure / RDD_HEURES_PAR_JOUR),
|
||||
indexMinute: this.indexMinute + (heure % RDD_HEURES_PAR_JOUR) * RDD_MINUTES_PAR_HEURES
|
||||
})
|
||||
}
|
||||
|
||||
addMinutes(minutes) {
|
||||
if (minutes == 0) {
|
||||
return this;
|
||||
}
|
||||
const indexMinute = this.indexMinute + minutes;
|
||||
const jours = Math.floor(indexMinute / RDD_MINUTES_PAR_JOUR)
|
||||
return new RdDTimestamp({
|
||||
indexDate: this.indexDate + jours,
|
||||
indexMinute: indexMinute - (jours * RDD_MINUTES_PAR_JOUR)
|
||||
})
|
||||
}
|
||||
|
||||
addPeriode(nombre, unite) {
|
||||
const formule = FORMULES_PERIODE.find(it => it.code == unite);
|
||||
if (formule) {
|
||||
return formule.calcul(this, nombre);
|
||||
}
|
||||
else {
|
||||
ui.notifications.info(`Pas de période pour ${unite ?? 'Aucune uinité définie'}`)
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
finHeure(heure) {
|
||||
return this.nouvelleHeure().addHeures((12 + heure - this.heure) % 12);
|
||||
}
|
||||
|
||||
async appliquerDuree(duree, actor) {
|
||||
const formule = FORMULES_DUREE.find(it => it.code == duree) ?? FORMULES_DUREE.find(it => it.code == "");
|
||||
return await formule.calcul(this, actor);
|
||||
}
|
||||
|
||||
compare(timestamp) {
|
||||
let diff = this.indexDate - timestamp.indexDate
|
||||
if (diff == 0) {
|
||||
diff = this.indexMinute - timestamp.indexMinute
|
||||
}
|
||||
return diff < 0 ? -1 : diff > 0 ? 1 : 0;
|
||||
}
|
||||
|
||||
difference(timestamp) {
|
||||
const jours = this.indexDate - timestamp.indexDate;
|
||||
const minutes = this.indexMinute - timestamp.indexMinute;
|
||||
return {
|
||||
jours: jours,
|
||||
heures: Math.floor(minutes / RDD_MINUTES_PAR_HEURES),
|
||||
minutes: minutes % RDD_MINUTES_PAR_HEURES
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -15,8 +15,9 @@ import { HtmlUtility } from "./html-utility.js";
|
||||
import { ReglesOptionelles } from "./settings/regles-optionelles.js";
|
||||
import { RdDDice } from "./rdd-dice.js";
|
||||
import { STATUSES } from "./settings/status-effects.js";
|
||||
import { RdDRencontre } from "./item-rencontre.js";
|
||||
import { RdDRencontre } from "./item/rencontre.js";
|
||||
import { RdDCalendrier } from "./rdd-calendrier.js";
|
||||
import { RdDTimestamp } from "./rdd-timestamp.js";
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
||||
@@ -207,8 +208,8 @@ export class RdDTMRDialog extends Dialog {
|
||||
return;
|
||||
}
|
||||
|
||||
HtmlUtility._showControlWhen(this.html.find(".appliquerFatigue"), ReglesOptionelles.isUsing("appliquer-fatigue"));
|
||||
HtmlUtility._showControlWhen(this.html.find(".lire-signe-draconique"), this.actor.isResonanceSigneDraconique(this._getActorCoord()));
|
||||
HtmlUtility.showControlWhen(this.html.find(".appliquerFatigue"), ReglesOptionelles.isUsing("appliquer-fatigue"));
|
||||
HtmlUtility.showControlWhen(this.html.find(".lire-signe-draconique"), this.actor.isResonanceSigneDraconique(this._getActorCoord()));
|
||||
|
||||
// Roll Sort
|
||||
this.html.find('.lancer-sort').click((event) => {
|
||||
@@ -245,7 +246,7 @@ export class RdDTMRDialog extends Dialog {
|
||||
}
|
||||
const coord = this._getActorCoord();
|
||||
|
||||
HtmlUtility._showControlWhen(this.html.find(".lire-signe-draconique"), this.actor.isResonanceSigneDraconique(coord));
|
||||
HtmlUtility.showControlWhen(this.html.find(".lire-signe-draconique"), this.actor.isResonanceSigneDraconique(coord));
|
||||
|
||||
let ptsreve = document.getElementById("tmr-pointsreve-value");
|
||||
ptsreve.innerHTML = this.actor.system.reve.reve.value;
|
||||
@@ -284,7 +285,12 @@ export class RdDTMRDialog extends Dialog {
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async onActionRencontre(action, tmr) {
|
||||
async onActionRencontre(action, tmr, rencontre) {
|
||||
if (!this.currentRencontre){
|
||||
ui.notifications.warn("#612 Rencontre perdue, récupération en cours. Vous pouvez contacter l'équipe avec les logs pour aider à résoudre ce problème")
|
||||
console.error("#612 Rencontre perdue", action, tmr, rencontre, this);
|
||||
this.currentRencontre = rencontre;
|
||||
}
|
||||
switch (action) {
|
||||
case 'derober':
|
||||
await this.derober();
|
||||
@@ -588,6 +594,7 @@ export class RdDTMRDialog extends Dialog {
|
||||
return await game.system.rdd.rencontresTMR.getRencontreAleatoire(tmr, this.actor.isMauvaiseRencontre())
|
||||
} else {
|
||||
this._tellToUser(myRoll + ": Pas de rencontre en " + locTMR);
|
||||
return undefined;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -840,7 +847,7 @@ export class RdDTMRDialog extends Dialog {
|
||||
async processSortReserve(sortReserve) {
|
||||
await this.actor.deleteEmbeddedDocuments('Item', [sortReserve.id]);
|
||||
console.log("declencheSortEnReserve", sortReserve);
|
||||
const heureCible = RdDCalendrier.getSigneAs('label', sortReserve.system.heurecible);
|
||||
const heureCible = RdDTimestamp.definition(sortReserve.system.heurecible).label;
|
||||
this._tellToUserAndGM(`Vous avez déclenché
|
||||
${sortReserve.system.echectotal ? "<strong>l'échec total!</strong>" : "le sort"}
|
||||
en réserve <strong>${sortReserve.name}</strong>
|
||||
|
||||
@@ -29,12 +29,13 @@ export class RdDTMRRencontreDialog extends Dialog {
|
||||
this.toClose = false;
|
||||
this.tmr = tmr;
|
||||
this.tmrApp = tmrApp;
|
||||
this.rencontre = rencontre;
|
||||
this.tmrApp.minimize();
|
||||
}
|
||||
|
||||
async onButtonAction(action) {
|
||||
this.toClose = true;
|
||||
this.tmrApp.onActionRencontre(action, this.tmr)
|
||||
this.tmrApp.onActionRencontre(action, this.tmr, this.rencontre)
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
import { HtmlUtility } from "./html-utility.js";
|
||||
import { Misc } from "./misc.js";
|
||||
import { RdDCombatManager } from "./rdd-combat.js";
|
||||
import { Targets } from "./targets.js";
|
||||
|
||||
/* -------------------------------------------- */
|
||||
export class RdDTokenHud {
|
||||
@@ -18,29 +19,39 @@ export class RdDTokenHud {
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static async addExtensionHud(app, html, tokenId) {
|
||||
static async addExtensionHud(app, html, tokenId, isCombat) {
|
||||
|
||||
let token = canvas.tokens.get(tokenId);
|
||||
let actor = token.actor;
|
||||
app.hasExtension = true;
|
||||
// soins
|
||||
await RdDTokenHud.addExtensionHudSoins(html, actor);
|
||||
|
||||
if (isCombat) {
|
||||
let combatant = game.combat.combatants.find(c => c.tokenId == tokenId);
|
||||
if (!(combatant?.actor)) {
|
||||
ui.notifications.warn(`Le combatant ${token.name} n'est pas associé à un acteur, impossible de déterminer ses actions de combat!`)
|
||||
return;
|
||||
}
|
||||
app.hasExtension = true;
|
||||
let actions = RdDCombatManager.listActionsCombat(combatant);
|
||||
// initiative
|
||||
await RdDTokenHud.addExtensionHudInit(html, combatant, actions);
|
||||
// combat
|
||||
await RdDTokenHud.addExtensionHudCombat(html, combatant, actions);
|
||||
}
|
||||
|
||||
let actionsCombat = RdDCombatManager.listActionsCombat(combatant);
|
||||
|
||||
}
|
||||
|
||||
static async addExtensionHudInit(html, combatant, actions) {
|
||||
const hudData = {
|
||||
combatant: combatant,
|
||||
actions: actionsCombat,
|
||||
combatant, actions,
|
||||
commandes: [
|
||||
{ name: "Autre action", command: 'autre' },
|
||||
{ name: 'Initiative +1', command: 'inc', value: 0.01 },
|
||||
{ name: 'Initiative -1', command: 'dec', value: -0.01 }]
|
||||
};
|
||||
|
||||
const controlIconCombat = html.find('.control-icon[data-action=combat]');
|
||||
// initiative
|
||||
await RdDTokenHud._configureSubMenu(controlIconCombat,
|
||||
'systems/foundryvtt-reve-de-dragon/templates/hud-actor-init.html',
|
||||
hudData,
|
||||
@@ -51,26 +62,47 @@ export class RdDTokenHud {
|
||||
RdDTokenHud._initiativeCommand(initCommand, combatantId);
|
||||
} else {
|
||||
let index = event.currentTarget.attributes['data-action-index'].value;
|
||||
let action = actionsCombat[index];
|
||||
let action = hudData.actions[index];
|
||||
RdDCombatManager.rollInitiativeAction(combatantId, action);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
static async addExtensionHudCombat(html, combatant, actions) {
|
||||
const hudData = { combatant, actions, commandes: [] };
|
||||
const controlIconTarget = html.find('.control-icon[data-action=target]');
|
||||
// combat
|
||||
await RdDTokenHud._configureSubMenu(controlIconTarget, 'systems/foundryvtt-reve-de-dragon/templates/hud-actor-attaque.html', hudData,
|
||||
(event) => {
|
||||
const actionIndex = event.currentTarget.attributes['data-action-index']?.value;
|
||||
const action = actionsCombat[actionIndex];
|
||||
const action = hudData.actions[actionIndex];
|
||||
if (action.action == 'conjurer') {
|
||||
actor.conjurerPossession(actor.getPossession(action.system.possessionid));
|
||||
const possession = combatant.actor.getPossession(action.system.possessionid);
|
||||
combatant.actor.conjurerPossession(possession);
|
||||
}
|
||||
else {
|
||||
actor.rollArme(action);
|
||||
combatant.actor.rollArme(action);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
static async addExtensionHudSoins(html, sourceActor) {
|
||||
const target = Targets.getTarget({ warn: false });
|
||||
if (target?.actor) {
|
||||
const hudSoins = { blessures: target.actor.blessuresASoigner() ?? [] };
|
||||
if (hudSoins.blessures.length > 0) {
|
||||
// soins
|
||||
const controlIconTarget = html.find('.control-icon[data-action=combat]');
|
||||
await RdDTokenHud._configureSubMenu(controlIconTarget,
|
||||
'systems/foundryvtt-reve-de-dragon/templates/hud-actor-soins.hbs',
|
||||
hudSoins,
|
||||
(event) => {
|
||||
const blessureId = event.currentTarget.attributes['data-blessure-id']?.value;
|
||||
sourceActor.rollSoins(target.actor, blessureId)
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static _initiativeCommand(initCommand, combatantId) {
|
||||
switch (initCommand) {
|
||||
case 'inc': return RdDCombatManager.incDecInit(combatantId, 0.01);
|
||||
@@ -83,16 +115,17 @@ export class RdDTokenHud {
|
||||
/* -------------------------------------------- */
|
||||
static async addTokenHudExtensions(app, html, tokenId) {
|
||||
const controlIconCombat = html.find('.control-icon[data-action=combat]');
|
||||
if (controlIconCombat.length > 0) {
|
||||
controlIconCombat.click(event => {
|
||||
if (event.currentTarget.className.includes('active')) {
|
||||
RdDTokenHud.removeExtensionHud(app, html, tokenId);
|
||||
} else {
|
||||
setTimeout(function () { RdDTokenHud.addExtensionHud(app, html, tokenId) }, 200);
|
||||
setTimeout(() => RdDTokenHud.addExtensionHud(app, html, tokenId), 200);
|
||||
}
|
||||
});
|
||||
|
||||
if (controlIconCombat.length>0 && controlIconCombat[0].className.includes('active')) {
|
||||
RdDTokenHud.addExtensionHud(app, html, tokenId);
|
||||
const isCombat = controlIconCombat[0].className.includes('active');
|
||||
RdDTokenHud.addExtensionHud(app, html, tokenId, isCombat);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -111,6 +144,6 @@ export class RdDTokenHud {
|
||||
|
||||
static _toggleHudListActive(hud, list) {
|
||||
hud.toggleClass('active');
|
||||
HtmlUtility._showControlWhen(list, hud.hasClass('active'));
|
||||
HtmlUtility.showControlWhen(list, hud.hasClass('active'));
|
||||
}
|
||||
}
|
||||
@@ -8,21 +8,20 @@ import { DialogItemAchat } from "./dialog-item-achat.js";
|
||||
import { ReglesOptionelles } from "./settings/regles-optionelles.js";
|
||||
import { RdDDice } from "./rdd-dice.js";
|
||||
import { RdDItem } from "./item.js";
|
||||
import { Monnaie } from "./item-monnaie.js";
|
||||
import { RdDPossession } from "./rdd-possession.js";
|
||||
import { RdDNameGen } from "./rdd-namegen.js";
|
||||
import { RdDConfirm } from "./rdd-confirm.js";
|
||||
import { RdDCalendrier } from "./rdd-calendrier.js";
|
||||
import { Environnement } from "./environnement.js";
|
||||
import { RdDItemCompetence } from "./item-competence.js";
|
||||
import { RdDResolutionTable } from "./rdd-resolution-table.js";
|
||||
import { RdDTimestamp } from "./rdd-timestamp.js";
|
||||
import { RdDRaretes } from "./item/raretes.js";
|
||||
|
||||
/* -------------------------------------------- */
|
||||
// This table starts at 0 -> niveau -10
|
||||
const carac_array = ["taille", "apparence", "constitution", "force", "agilite", "dexterite", "vue", "ouie", "odoratgout", "volonte", "intellect", "empathie", "reve", "chance", "melee", "tir", "lancer", "derobee"];
|
||||
const difficultesLibres = [0, -1, -2, -3, -4, -5, -6, -7, -8, -9, -10];
|
||||
const ajustementsConditions = [-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 0, +1, +2, +3, +4, +5, +6, +7, +8, +9, +10];
|
||||
const ajustementsEncaissement = [-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 0, +1, +2, +3, +4, +5, +6, +7, +8, +9, +10, +11, +12, +13, +14, +15, +16, +17, +18, +19, +20, +21, +22, +23, +24, +25];
|
||||
const difficultesLibres = Misc.intArray(0, -11);
|
||||
const ajustementsConditions = Misc.intArray(-10, 11);
|
||||
const ajustementsEncaissement = Misc.intArray(-10, 26);
|
||||
|
||||
/* -------------------------------------------- */
|
||||
function _buildAllSegmentsFatigue(max) {
|
||||
@@ -67,38 +66,31 @@ const fatigueMarche = {
|
||||
"tresdifficile": { "4": 4, "6": 6 }
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
const definitionsBlessures = [
|
||||
{ type: "legere", facteur: 2 },
|
||||
{ type: "grave", facteur: 4 },
|
||||
{ type: "critique", facteur: 6 }
|
||||
]
|
||||
|
||||
/* -------------------------------------------- */
|
||||
const nomEthylisme = ["Emeché", "Gris", "Pinté", "Pas frais", "Ivre", "Bu", "Complètement fait", "Ivre mort"];
|
||||
|
||||
/* -------------------------------------------- */
|
||||
const definitionsEncaissement = {
|
||||
"mortel": [
|
||||
{ minimum: undefined, maximum: 0, endurance: "0", vie: "0", eraflures: 0, legeres: 0, graves: 0, critiques: 0 },
|
||||
{ minimum: 1, maximum: 10, endurance: "1d4", vie: "0", eraflures: 1, legeres: 0, graves: 0, critiques: 0 },
|
||||
{ minimum: 11, maximum: 15, endurance: "1d6", vie: "0", eraflures: 0, legeres: 1, graves: 0, critiques: 0 },
|
||||
{ minimum: 16, maximum: 19, endurance: "2d6", vie: "2", eraflures: 0, legeres: 0, graves: 1, critiques: 0 },
|
||||
{ minimum: 20, maximum: undefined, endurance: "100", vie: "4 + @over20", eraflures: 0, legeres: 0, graves: 0, critiques: 1 },
|
||||
{ minimum: undefined, maximum: 0, endurance: "0", vie: "0", gravite: -1},
|
||||
{ minimum: 1, maximum: 10, endurance: "1d4", vie: "0", gravite: 0},
|
||||
{ minimum: 11, maximum: 15, endurance: "1d6", vie: "0", gravite: 2},
|
||||
{ minimum: 16, maximum: 19, endurance: "2d6", vie: "2", gravite: 4},
|
||||
{ minimum: 20, maximum: undefined, endurance: "100", vie: "4 + @over20", gravite: 6},
|
||||
],
|
||||
"non-mortel": [
|
||||
{ minimum: undefined, maximum: 0, endurance: "0", vie: "0", eraflures: 0, legeres: 0, graves: 0, critiques: 0 },
|
||||
{ minimum: 1, maximum: 10, endurance: "1d4", vie: "0", eraflures: 1, legeres: 0, graves: 0, critiques: 0 },
|
||||
{ minimum: 11, maximum: 15, endurance: "1d6", vie: "0", eraflures: 1, legeres: 0, graves: 0, critiques: 0 },
|
||||
{ minimum: 16, maximum: 19, endurance: "2d6", vie: "0", eraflures: 0, legeres: 1, graves: 0, critiques: 0 },
|
||||
{ minimum: 20, maximum: undefined, endurance: "100", vie: "0", eraflures: 0, legeres: 1, graves: 0, critiques: 0 },
|
||||
{ minimum: undefined, maximum: 0, endurance: "0", vie: "0", gravite: -1},
|
||||
{ minimum: 1, maximum: 10, endurance: "1d4", vie: "0", gravite: 0 },
|
||||
{ minimum: 11, maximum: 15, endurance: "1d6", vie: "0", gravite: 0 },
|
||||
{ minimum: 16, maximum: 19, endurance: "2d6", vie: "0", gravite: 2 },
|
||||
{ minimum: 20, maximum: undefined, endurance: "100", vie: "0", gravite: 2 },
|
||||
],
|
||||
"cauchemar": [
|
||||
{ minimum: undefined, maximum: 0, endurance: "0", vie: "0", eraflures: 0, legeres: 0, graves: 0, critiques: 0 },
|
||||
{ minimum: 1, maximum: 10, endurance: "1d4", vie: "0", eraflures: 1, legeres: 0, graves: 0, critiques: 0 },
|
||||
{ minimum: 11, maximum: 15, endurance: "1d6", vie: "0", eraflures: 1, legeres: 0, graves: 0, critiques: 0 },
|
||||
{ minimum: 16, maximum: 19, endurance: "2d6", vie: "0", eraflures: 1, legeres: 0, graves: 0, critiques: 0 },
|
||||
{ minimum: 20, maximum: undefined, endurance: "3d6 + @over20", vie: "0", eraflures: 1, legeres: 0, graves: 0, critiques: 0 },
|
||||
"entiteincarnee": [
|
||||
{ minimum: undefined, maximum: 0, endurance: "0", vie: "0", gravite: -1},
|
||||
{ minimum: 1, maximum: 10, endurance: "1d4", vie: "0", gravite: 0},
|
||||
{ minimum: 11, maximum: 15, endurance: "1d6", vie: "0", gravite: 0 },
|
||||
{ minimum: 16, maximum: 19, endurance: "2d6", vie: "0", gravite: 0 },
|
||||
{ minimum: 20, maximum: undefined, endurance: "3d6 + @over20", vie: "0", gravite: 0 },
|
||||
]
|
||||
};
|
||||
|
||||
@@ -140,7 +132,7 @@ export class RdDUtility {
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/xp-competences.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/combat.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/blessures.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/blessure.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/blessure.hbs',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/maladies-poisons.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/possessions.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/taches.html',
|
||||
@@ -150,6 +142,7 @@ export class RdDUtility {
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/jeux.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/alchimie.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/astrologie.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/chirurgie.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/non-haut-revant.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/haut-revant.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/dragon-queues.html',
|
||||
@@ -170,39 +163,18 @@ export class RdDUtility {
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/liens-animaux.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/liens-suivants.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/liens-vehicules.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/commerce-inventaire.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/actor/commerce-inventaire-item.html',
|
||||
//Items
|
||||
'systems/foundryvtt-reve-de-dragon/templates/scripts/autocomplete-script.hbs',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/scripts/autocomplete.hbs',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/item/boutons-comestible.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/item/temporel.hbs',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/item/partial-inventaire.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/item/partial-environnement.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/item/partial-tab-environnement.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/header-item.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/item-competence-sheet.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/item-competencecreature-sheet.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/item-arme-sheet.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/item-armure-sheet.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/item-objet-sheet.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/item-conteneur-sheet.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/item-sort-sheet.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/item-herbe-sheet.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/item-ingredient-sheet.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/item-faune-sheet.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/item-livre-sheet.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/item-tache-sheet.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/item-potion-sheet.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/item-rencontre-sheet.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/item-queue-sheet.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/item-souffle-sheet.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/item-tarot-sheet.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/item-tete-sheet.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/item-ombre-sheet.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/item-monnaie-sheet.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/item-meditation-sheet.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/item-nourritureboisson-sheet.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/item-signedraconique-sheet.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/item-possession-sheet.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/item-extraitpoetique-sheet.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/header-item.html',
|
||||
// partial enums
|
||||
'systems/foundryvtt-reve-de-dragon/templates/enum-caracteristiques.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/enum-base-competence.html',
|
||||
@@ -213,7 +185,6 @@ export class RdDUtility {
|
||||
'systems/foundryvtt-reve-de-dragon/templates/enum-categorie-potion.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/enum-categorie-vehicule.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/enum-competence.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/enum-herbesoin-ingredient.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/enum-heures.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/enum-initpremierround.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/enum-niveau-ethylisme.html',
|
||||
@@ -221,8 +192,13 @@ export class RdDUtility {
|
||||
'systems/foundryvtt-reve-de-dragon/templates/enum-categorie-queue.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/enum-draconic.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/enum-tmr-type.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/enum-periode.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/enum-tmr-effet.html',
|
||||
// Partials
|
||||
'systems/foundryvtt-reve-de-dragon/templates/tirage/liste-resultats-recherche.hbs',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/common/timestamp.hbs',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/common/periodicite.hbs',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/common/enum-duree.hbs',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/common/compendium-link.hbs',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/partial-description-overflow.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/partial-description-sort.html',
|
||||
@@ -251,7 +227,10 @@ export class RdDUtility {
|
||||
'systems/foundryvtt-reve-de-dragon/templates/dialog-roll-meditation.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/dialog-tmr.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/dialog-roll-alchimie.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/dialog-astrologie-joueur.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/sommeil/sommeil-actor-moral.hbs',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/sommeil/astrologie-gardien.hbs',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/sommeil/astrologie-joueur.hbs',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/sommeil/astrologie-theme.hbs',
|
||||
// Calendrier
|
||||
'systems/foundryvtt-reve-de-dragon/templates/calendar-template.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/calendar-editor-template.html',
|
||||
@@ -290,18 +269,27 @@ export class RdDUtility {
|
||||
Handlebars.registerHelper('computeResolutionChances', (row, col) => RdDResolutionTable.computeChances(row, col));
|
||||
Handlebars.registerHelper('upperFirst', str => Misc.upperFirst(str ?? 'Null'));
|
||||
Handlebars.registerHelper('lowerFirst', str => Misc.lowerFirst(str ?? 'Null'));
|
||||
Handlebars.registerHelper('upper', str => str?.toUpperCase() ?? 'NULL');
|
||||
Handlebars.registerHelper('upper', str => str?.toUpperCase() ?? '');
|
||||
Handlebars.registerHelper('lowercase', str => str?.toLowerCase() ?? '');
|
||||
Handlebars.registerHelper('le', str => Grammar.articleDetermine(str));
|
||||
Handlebars.registerHelper('apostrophe', (article, str) => Grammar.apostrophe(article, str));
|
||||
Handlebars.registerHelper('un', str => Grammar.articleIndetermine(str));
|
||||
Handlebars.registerHelper('accord', (genre, ...args) => Grammar.accord(genre, args));
|
||||
Handlebars.registerHelper('buildConteneur', (objet) => { return new Handlebars.SafeString(RdDUtility.buildConteneur(objet)); });
|
||||
Handlebars.registerHelper('buildContenu', (objet) => { return new Handlebars.SafeString(RdDUtility.buildContenu(objet, 1, true)); });
|
||||
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));
|
||||
Handlebars.registerHelper('signeHeure', (key, heure) => RdDCalendrier.getSigneAs(key, heure));
|
||||
|
||||
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());
|
||||
|
||||
Handlebars.registerHelper('min', (...args) => Math.min(...args.slice(0, -1)));
|
||||
Handlebars.registerHelper('regle-optionnelle', (option) => ReglesOptionelles.isUsing(option));
|
||||
Handlebars.registerHelper('trier', list => list.sort((a, b) => a.name.localeCompare(b.name)));
|
||||
@@ -309,68 +297,18 @@ export class RdDUtility {
|
||||
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('getFrequenceRarete', (rarete, field) => Environnement.getFrequenceRarete(rarete, field));
|
||||
Handlebars.registerHelper('rarete-getChamp', (rarete, field) => RdDRaretes.getChamp(rarete, field));
|
||||
return loadTemplates(templatePaths);
|
||||
}
|
||||
|
||||
static getItem(itemId, actorId = undefined) {
|
||||
return actorId ? game.actors.get(actorId)?.getObjet(itemId) : game.items.get(itemId);
|
||||
return actorId ? game.actors.get(actorId)?.getItem(itemId) : game.items.get(itemId);
|
||||
}
|
||||
|
||||
static linkCompendium(pack, id, name) {
|
||||
return `@Compendium[${pack}.${id}]{${name}}`;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static async creerObjet(actorSheet) {
|
||||
let itemType = $(".item-type").val();
|
||||
await actorSheet.createItem('Nouveau ' + itemType, itemType);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static async selectObjetType(actorSheet) {
|
||||
let typeObjets = RdDItem.getItemTypesInventaire();
|
||||
let options = `<span class="competence-label">Selectionnez le type d'équipement</span><select class="item-type">`;
|
||||
for (let typeName of typeObjets) {
|
||||
options += `<option value="${typeName}">${typeName}</option>`
|
||||
}
|
||||
options += '</select>';
|
||||
let d = new Dialog({
|
||||
title: "Créer un équipement",
|
||||
content: options,
|
||||
buttons: {
|
||||
one: {
|
||||
icon: '<i class="fas fa-check"></i>',
|
||||
label: "Créer l'objet",
|
||||
callback: () => this.creerObjet(actorSheet)
|
||||
}
|
||||
}
|
||||
});
|
||||
d.render(true);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static async selectTypeOeuvre(actorSheet) {
|
||||
let typeObjets = RdDItem.getTypesOeuvres();
|
||||
let options = `<span class="competence-label">Selectionnez le type d'oeuvre</span><select class="item-type">`;
|
||||
for (let typeName of typeObjets) {
|
||||
options += `<option value="${typeName}">${typeName}</option>`
|
||||
}
|
||||
options += '</select>';
|
||||
let d = new Dialog({
|
||||
title: "Créer un équipement",
|
||||
content: options,
|
||||
buttons: {
|
||||
one: {
|
||||
icon: '<i class="fas fa-check"></i>',
|
||||
label: "Créer l'objet",
|
||||
callback: () => this.creerObjet(actorSheet)
|
||||
}
|
||||
}
|
||||
});
|
||||
d.render(true);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static buildListOptions(min, max) {
|
||||
let options = ""
|
||||
@@ -410,68 +348,6 @@ export class RdDUtility {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static filterItemsPerTypeForSheet(formData, itemTypes) {
|
||||
|
||||
RdDUtility.filterEquipementParType(formData, itemTypes);
|
||||
|
||||
formData.sorts = this.arrayOrEmpty(itemTypes['sort']);
|
||||
formData.rencontres = this.arrayOrEmpty(itemTypes['rencontre']);
|
||||
formData.casestmr = this.arrayOrEmpty(itemTypes['casetmr']);
|
||||
formData.signesdraconiques = this.arrayOrEmpty(itemTypes['signedraconique']);
|
||||
formData.queues = this.arrayOrEmpty(itemTypes['queue']);
|
||||
formData.souffles = this.arrayOrEmpty(itemTypes['souffle']);
|
||||
formData.ombres = this.arrayOrEmpty(itemTypes['ombre']);
|
||||
formData.tetes = this.arrayOrEmpty(itemTypes['tete']);
|
||||
formData.taches = this.arrayOrEmpty(itemTypes['tache']);
|
||||
formData.meditations = this.arrayOrEmpty(itemTypes['meditation']);
|
||||
formData.chants = this.arrayOrEmpty(itemTypes['chant']);
|
||||
formData.danses = this.arrayOrEmpty(itemTypes['danse']);
|
||||
formData.musiques = this.arrayOrEmpty(itemTypes['musique']);
|
||||
formData.oeuvres = this.arrayOrEmpty(itemTypes['oeuvre']);
|
||||
formData.jeux = this.arrayOrEmpty(itemTypes['jeu']);
|
||||
|
||||
formData.recettescuisine = this.arrayOrEmpty(itemTypes['recettecuisine']);
|
||||
formData.recettesAlchimiques = this.arrayOrEmpty(itemTypes['recettealchimique']);
|
||||
formData.maladies = this.arrayOrEmpty(itemTypes['maladie']);
|
||||
formData.poisons = this.arrayOrEmpty(itemTypes['poison']);
|
||||
formData.possessions = this.arrayOrEmpty(itemTypes['possession']);
|
||||
formData.maladiesPoisons = formData.maladies.concat(formData.poisons);
|
||||
formData.competences = (itemTypes['competence'] ?? []).concat(itemTypes['competencecreature'] ?? []);
|
||||
formData.sortsReserve = this.arrayOrEmpty(itemTypes['sortreserve']);
|
||||
}
|
||||
|
||||
static filterEquipementParType(formData, itemTypes) {
|
||||
formData.conteneurs = this.arrayOrEmpty(itemTypes['conteneur']);
|
||||
|
||||
formData.materiel = this.arrayOrEmpty(itemTypes['objet']);
|
||||
formData.armes = this.arrayOrEmpty(itemTypes['arme']);
|
||||
formData.armures = this.arrayOrEmpty(itemTypes['armure']);
|
||||
formData.munitions = this.arrayOrEmpty(itemTypes['munition']);
|
||||
formData.livres = this.arrayOrEmpty(itemTypes['livre']);
|
||||
formData.potions = this.arrayOrEmpty(itemTypes['potion']);
|
||||
formData.ingredients = this.arrayOrEmpty(itemTypes['ingredient']);
|
||||
formData.faunes = this.arrayOrEmpty(itemTypes['faune']);
|
||||
formData.herbes = this.arrayOrEmpty(itemTypes['herbe']);
|
||||
formData.monnaie = this.arrayOrEmpty(itemTypes['monnaie']).sort(Monnaie.triValeurEntiere());
|
||||
formData.nourritureboissons = this.arrayOrEmpty(itemTypes['nourritureboisson']);
|
||||
formData.gemmes = this.arrayOrEmpty(itemTypes['gemme']);
|
||||
|
||||
formData.objets = formData.conteneurs
|
||||
.concat(formData.materiel)
|
||||
.concat(formData.armes)
|
||||
.concat(formData.armures)
|
||||
.concat(formData.munitions)
|
||||
.concat(formData.livres)
|
||||
.concat(formData.potions)
|
||||
.concat(formData.ingredients)
|
||||
.concat(formData.herbes)
|
||||
.concat(formData.faunes)
|
||||
.concat(formData.monnaie)
|
||||
.concat(formData.nourritureboissons)
|
||||
.concat(formData.gemmes);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static buildArbreDeConteneurs(conteneurs, objets) {
|
||||
let objetVersConteneur = {};
|
||||
@@ -516,35 +392,64 @@ export class RdDUtility {
|
||||
return conteneurs.filter((conteneur, index, arr) => !conteneur.estContenu);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/** Construit la structure récursive des conteneurs, avec imbrication potentielle
|
||||
*
|
||||
*/
|
||||
static buildConteneur(objet, profondeur) {
|
||||
if (!profondeur) profondeur = 1;
|
||||
objet.niveau = profondeur;
|
||||
const isConteneur = objet.type == 'conteneur';
|
||||
const isOuvert = isConteneur && this.getAfficheContenu(objet._id);
|
||||
const isVide = isConteneur && objet.system.contenu.length == 0;
|
||||
const conteneur = Handlebars.partials['systems/foundryvtt-reve-de-dragon/templates/actor/inventaire-item.html']({
|
||||
item: objet,
|
||||
vide: isVide,
|
||||
ouvert: isOuvert
|
||||
});
|
||||
const contenu = isConteneur ? RdDUtility.buildContenu(objet, profondeur, isOuvert) : '';
|
||||
return conteneur + contenu;
|
||||
static prepareOptionsArbreInventaire(item, optionsArbre) {
|
||||
if (!optionsArbre.profondeur) {
|
||||
optionsArbre.profondeur = 1
|
||||
};
|
||||
if (!optionsArbre.templateItem) {
|
||||
optionsArbre.templateItem = item.parent?.type == 'commerce'
|
||||
? "systems/foundryvtt-reve-de-dragon/templates/actor/commerce-inventaire-item.html"
|
||||
: "systems/foundryvtt-reve-de-dragon/templates/actor/inventaire-item.html";
|
||||
}
|
||||
item.niveau = optionsArbre.profondeur;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static buildContenu(objet, profondeur, afficherContenu) {
|
||||
if (!profondeur) profondeur = 1;
|
||||
objet.niveau = profondeur;
|
||||
const display = afficherContenu ? 'item-display-show' : 'item-display-hide';
|
||||
let strContenu = `<ul class='item-list alterne-list ${display} list-item-margin${Math.min(profondeur,6)}'>`;
|
||||
for (let subItem of objet.subItems) {
|
||||
strContenu += this.buildConteneur(subItem, profondeur + 1);
|
||||
|
||||
/**
|
||||
* Construit la structure récursive des conteneurs, avec imbrication potentielle
|
||||
*/
|
||||
static buildLigneInventaire(item, options = {}, optionsArbre = { ouvert: false, profondeur: 1 }) {
|
||||
RdDUtility.prepareOptionsArbreInventaire(item, optionsArbre);
|
||||
|
||||
const isConteneur = item.type == 'conteneur';
|
||||
const inventaire = {
|
||||
item: item,
|
||||
vide: isConteneur && item.system.contenu.length == 0,
|
||||
ouvert: isConteneur && RdDUtility.getAfficheContenu(item._id),
|
||||
options: options
|
||||
};
|
||||
optionsArbre.ouvert = inventaire.ouvert
|
||||
const ligneObjet = Handlebars.partials[optionsArbre.templateItem](inventaire);
|
||||
if (isConteneur) {
|
||||
return ligneObjet + RdDUtility.buildContenuConteneur(item, options, optionsArbre);
|
||||
}
|
||||
return strContenu + "</ul>";
|
||||
return ligneObjet;
|
||||
}
|
||||
|
||||
static buildInventaireConteneur(actorId, itemId, options) {
|
||||
const actor = game.actors.get(actorId)
|
||||
const item = actor?.items.get(itemId)
|
||||
if (item) {
|
||||
return RdDUtility.buildContenuConteneur(item, options, { ouvert: true, profondeur: 1 });
|
||||
}
|
||||
return '';
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static buildContenuConteneur(conteneur, options = {}, optionsArbre = {}) {
|
||||
RdDUtility.prepareOptionsArbreInventaire(conteneur, optionsArbre);
|
||||
const display = optionsArbre.ouvert ? 'item-display-show' : 'item-display-hide';
|
||||
const profondeur = optionsArbre.profondeur;
|
||||
|
||||
optionsArbre.profondeur++;
|
||||
const lignesContenu = conteneur.subItems.sort(Misc.ascending(it => it.name))
|
||||
.map(contenu => this.buildLigneInventaire(contenu, options, optionsArbre));
|
||||
|
||||
return `<ul class='item-list alterne-list ${display} list-item-margin${Math.min(profondeur, 6)}'>`
|
||||
+ lignesContenu.reduce(Misc.joining(''), '')
|
||||
+ "</ul>";
|
||||
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@@ -561,10 +466,6 @@ export class RdDUtility {
|
||||
return ajustementsEncaissement;
|
||||
}
|
||||
|
||||
static getDefinitionsBlessures() {
|
||||
return definitionsBlessures;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static getSegmentsFatigue(maxEnd) {
|
||||
maxEnd = Math.max(maxEnd, 1);
|
||||
@@ -705,17 +606,10 @@ export class RdDUtility {
|
||||
encaissement.dmg.loc.label = encaissement.dmg.loc.label ?? 'Corps;';
|
||||
encaissement.roll = roll;
|
||||
encaissement.armure = armure;
|
||||
encaissement.penetration = rollData.arme?.system.penetration ?? 0;
|
||||
encaissement.total = jetTotal;
|
||||
encaissement.vie = await RdDUtility._evaluatePerte(encaissement.vie, over20);
|
||||
encaissement.endurance = await RdDUtility._evaluatePerte(encaissement.endurance, over20);
|
||||
encaissement.penetration = rollData.arme?.system.penetration ?? 0;
|
||||
encaissement.blessures = (
|
||||
encaissement.critiques> 0 ? "Critique":
|
||||
encaissement.graves> 0 ? "Grave":
|
||||
encaissement.legeres> 0 ? "Légère":
|
||||
encaissement.eraflures>0 ? "Contusions/Eraflures":
|
||||
'Aucune'
|
||||
);
|
||||
return encaissement;
|
||||
}
|
||||
|
||||
@@ -768,8 +662,6 @@ export class RdDUtility {
|
||||
switch (sockmsg.msg) {
|
||||
case "msg_gm_chat_message":
|
||||
return ChatUtility.handleGMChatMessage(sockmsg.data);
|
||||
case "msg_sync_time":
|
||||
return game.system.rdd.calendrier.syncPlayerTime(sockmsg.data);
|
||||
case "msg_request_nombre_astral":
|
||||
return game.system.rdd.calendrier.requestNombreAstral(sockmsg.data);
|
||||
case "msg_response_nombre_astral":
|
||||
@@ -814,7 +706,7 @@ export class RdDUtility {
|
||||
|
||||
// gestion bouton tchat Acheter
|
||||
html.on("click", '.button-acheter', event => {
|
||||
const venteData = DialogItemAchat.venteData(event.currentTarget);
|
||||
const venteData = DialogItemAchat.preparerAchat(event.currentTarget);
|
||||
if (venteData) {
|
||||
DialogItemAchat.onAcheter(venteData);
|
||||
}
|
||||
@@ -830,6 +722,18 @@ export class RdDUtility {
|
||||
ChatUtility.removeChatMessageId(RdDUtility.findChatMessageId(event.currentTarget));
|
||||
}
|
||||
});
|
||||
html.on("click", '.rdd-world-content-link', async event => {
|
||||
const htmlElement = html.find(event.currentTarget);
|
||||
const id = htmlElement?.data("id");
|
||||
const doctype = htmlElement?.data("doctype");
|
||||
switch (doctype ?? 'Item') {
|
||||
case 'Actor':
|
||||
return game.actors.get(id)?.sheet.render(true);
|
||||
case 'Item':
|
||||
default:
|
||||
return game.items.get(id)?.sheet.render(true);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
static findChatMessageId(current) {
|
||||
@@ -947,7 +851,7 @@ export class RdDUtility {
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static async confirmerSuppressionItem(sheet, item, htmlToDelete) {
|
||||
static async confirmActorItemDelete(sheet, item, htmlToDelete) {
|
||||
const itemId = item.id;
|
||||
const confirmationSuppression = {
|
||||
settingConfirmer: "confirmation-supprimer-" + item.getItemGroup(),
|
||||
@@ -988,10 +892,10 @@ export class RdDUtility {
|
||||
/* -------------------------------------------- */
|
||||
static afficherHeuresChanceMalchance(heureNaissance) {
|
||||
if (game.user.isGM) {
|
||||
let heure = game.system.rdd.calendrier.findHeure(heureNaissance);
|
||||
const heure = RdDTimestamp.findHeure(heureNaissance - 1);
|
||||
if (heureNaissance && heure) {
|
||||
let ajustement = game.system.rdd.calendrier.getAjustementAstrologique(heureNaissance);
|
||||
const current = game.system.rdd.calendrier.findHeure(game.system.rdd.calendrier.getCurrentHeure());
|
||||
const current = game.system.rdd.calendrier.heureCourante();
|
||||
ChatMessage.create({
|
||||
content: `A l'heure de <strong>${current.label}</strong>, le modificateur de Chance/Malchance est de <strong>${Misc.toSignedString(ajustement)}</strong> pour l'heure de naissance <strong>${heure.label}</strong>.`,
|
||||
whisper: ChatMessage.getWhisperRecipients("GM")
|
||||
|
||||
@@ -56,14 +56,14 @@ export const referenceAjustements = {
|
||||
getValue: (rollData, actor) => actor.getEtatGeneral({ ethylisme: rollData.forceAlcool != undefined })
|
||||
},
|
||||
malusArmure: {
|
||||
isVisible: (rollData, actor) => RdDCarac.isAgiliteOuDerivee(rollData.selectedCarac),
|
||||
isUsed: (rollData, actor) => RdDCarac.isAgiliteOuDerivee(rollData.selectedCarac),
|
||||
isVisible: (rollData, actor) => RdDCarac.isAgiliteOuDerobee(rollData.selectedCarac),
|
||||
isUsed: (rollData, actor) => RdDCarac.isAgiliteOuDerobee(rollData.selectedCarac),
|
||||
getLabel: (rollData, actor) => 'Malus armure',
|
||||
getValue: (rollData, actor) => actor.getMalusArmure()
|
||||
},
|
||||
encTotal: {
|
||||
isVisible: (rollData, actor) => RdDCarac.isAgiliteOuDerivee(rollData.selectedCarac) && RdDItemCompetence.isMalusEncombrementTotal(rollData.competence),
|
||||
isUsed: (rollData, actor) => !rollData.oeuvre && RdDCarac.isAgiliteOuDerivee(rollData.selectedCarac) && RdDItemCompetence.isMalusEncombrementTotal(rollData.competence) && rollData.use.encTotal,
|
||||
isVisible: (rollData, actor) => RdDCarac.isAgiliteOuDerobee(rollData.selectedCarac) && RdDItemCompetence.isMalusEncombrementTotal(rollData.competence),
|
||||
isUsed: (rollData, actor) => !rollData.oeuvre && RdDCarac.isAgiliteOuDerobee(rollData.selectedCarac) && RdDItemCompetence.isMalusEncombrementTotal(rollData.competence) && rollData.use.encTotal,
|
||||
getLabel: (rollData, actor) => 'Encombrement total',
|
||||
getValue: (rollData, actor) => -actor.getEncTotal()
|
||||
},
|
||||
|
||||
@@ -17,6 +17,7 @@ const listeReglesOptionelles = [
|
||||
{ group: 'Règles générales', name: 'afficher-prix-joueurs', descr: "Afficher le prix de l'équipement des joueurs", uniquementJoueur: true},
|
||||
{ group: 'Règles générales', name: 'appliquer-fatigue', descr: "Appliquer les règles de fatigue"},
|
||||
{ group: 'Règles générales', name: 'afficher-colonnes-reussite', descr: "Afficher le nombre de colonnes de réussite ou d'échec", default: false },
|
||||
{ group: 'Règles générales', name: 'chateau-dormant-gardien', descr: "Saisie des heures de sommeil/jets de moral par le gardien des rêves", default: true },
|
||||
|
||||
{ group: 'Confirmations', name: 'confirmer-combat-sans-cible', descr: "Confirmer avant une attaque sans cible", scope: "client"},
|
||||
{ group: 'Confirmations', name: 'confirmation-tmr', descr: "Confirmer pour monter dans les TMR", scope: "client"},
|
||||
|
||||
@@ -52,12 +52,16 @@ export class SystemCompendiums extends FormApplication {
|
||||
}
|
||||
|
||||
static getPack(compendium) {
|
||||
const pack = game.packs.get(compendium);
|
||||
if (pack) {
|
||||
return pack;
|
||||
}
|
||||
return game.packs.get(SystemCompendiums.getCompendium(compendium)) ?? game.packs.get(SystemCompendiums._getDefaultCompendium(compendium));
|
||||
}
|
||||
|
||||
static async getPackContent(compendium, docType) {
|
||||
const pack = SystemCompendiums.getPack(compendium);
|
||||
if (pack.metadata.type == docType) {
|
||||
if (pack?.metadata.type == docType) {
|
||||
return await pack.getDocuments();
|
||||
}
|
||||
return [];
|
||||
@@ -87,6 +91,11 @@ export class SystemCompendiums extends FormApplication {
|
||||
return items;
|
||||
}
|
||||
|
||||
static async loadDocument(document) {
|
||||
const pack = game.packs.get(document.pack);
|
||||
return await pack.getDocument(document.id ?? document._id);
|
||||
}
|
||||
|
||||
static async getItems(compendium, itemType = undefined) {
|
||||
const items = await SystemCompendiums.getPackContent(compendium, 'Item');
|
||||
return (itemType ? items.filter(it => it.type == itemType) : items);
|
||||
@@ -172,7 +181,7 @@ export class SystemCompendiums extends FormApplication {
|
||||
*/
|
||||
export class CompendiumTable {
|
||||
|
||||
constructor(compendium, type, subTypes, sorting = undefined) {
|
||||
constructor(compendium, type, subTypes = undefined, sorting = undefined) {
|
||||
this.compendium = compendium;
|
||||
this.type = type;
|
||||
this.subTypes = subTypes;
|
||||
@@ -182,13 +191,13 @@ export class CompendiumTable {
|
||||
async getContent(itemFrequence = it => it.system.frequence, filter = it => true) {
|
||||
return await SystemCompendiums.getContent(this.compendium,
|
||||
this.type,
|
||||
it => this.subTypes.includes(it.type) && filter(it),
|
||||
it => (!this.subTypes || this.subTypes.includes(it.type)) && itemFrequence(it) > 0 && filter(it),
|
||||
itemFrequence,
|
||||
this.sorting);
|
||||
}
|
||||
|
||||
async buildTable(itemFrequence = it => it.system.frequence, filter = it => true) {
|
||||
const elements = await this.getContent(filter, itemFrequence);
|
||||
const elements = await this.getContent(itemFrequence, filter);
|
||||
return CompendiumTableHelpers.buildTable(elements, itemFrequence);
|
||||
}
|
||||
|
||||
@@ -220,9 +229,23 @@ export class CompendiumTableHelpers {
|
||||
});
|
||||
}
|
||||
|
||||
static async getRandom(table, type, subTypes, forcedRoll = undefined, localisation = undefined) {
|
||||
static concatTables(...tables) {
|
||||
const rows = tables.reduce((a, b) => a.concat(b));
|
||||
let max = 0;
|
||||
const total = rows.map(it => it.frequence).reduce(Misc.sum(), 0);
|
||||
return rows.map(row => {
|
||||
const frequence = row.frequence;
|
||||
row.min = max + 1;
|
||||
row.max = max + frequence;
|
||||
row.total = total
|
||||
max += frequence;
|
||||
return row;
|
||||
})
|
||||
}
|
||||
static async getRandom(table, type, subTypes = ['objet'], forcedRoll = undefined, localisation = undefined) {
|
||||
if (table.length == 0) {
|
||||
ui.notifications.warn(`Aucun ${Misc.typeName(type, subTypes[0])} trouvé dans ${localisation ?? ' les compendiums'}`);
|
||||
const typeName = Misc.typeName(type, subTypes[0]);
|
||||
ui.notifications.warn(`Aucun ${typeName} trouvé dans ${localisation ?? ' les compendiums'}`);
|
||||
return undefined;
|
||||
}
|
||||
return await CompendiumTableHelpers.selectRow(table, forcedRoll);
|
||||
@@ -255,7 +278,7 @@ export class CompendiumTableHelpers {
|
||||
roll: row.roll,
|
||||
document: row.document,
|
||||
percentages,
|
||||
typeName: Misc.typeName(type, row.document.type),
|
||||
typeName: Misc.typeName(type, row.document?.type ?? 'objet'),
|
||||
isGM: game.user.isGM,
|
||||
});
|
||||
const messageData = {
|
||||
|
||||
216
module/sommeil/app-astrologie.js
Normal file
@@ -0,0 +1,216 @@
|
||||
import { SYSTEM_RDD } from "../constants.js";
|
||||
import { Misc } from "../misc.js";
|
||||
import { RDD_MINUTES_PAR_HEURES, RDD_MINUTES_PAR_JOUR, RdDTimestamp } from "../rdd-timestamp.js";
|
||||
|
||||
export const APP_ASTROLOGIE_REFRESH = `${SYSTEM_RDD}-refresh-astrologie`
|
||||
|
||||
export class AppAstrologie extends Application {
|
||||
static async create(actor = undefined, options = {}) {
|
||||
if (actor == undefined && !game.user.isGM) {
|
||||
actor = game.user.character
|
||||
}
|
||||
if (!actor && !game.user.isGM) {
|
||||
console.error("AppAstrologie uniquement accessible pour le MJ, ou depuis un personnage pour un joueur")
|
||||
}
|
||||
new AppAstrologie(actor, options).render(true);
|
||||
}
|
||||
|
||||
|
||||
static get defaultOptions() {
|
||||
return mergeObject(super.defaultOptions, {
|
||||
template: "systems/foundryvtt-reve-de-dragon/templates/sommeil/app-astrologie.hbs",
|
||||
title: "Astrologie",
|
||||
width: 'fit-content',
|
||||
height: 'fit-content',
|
||||
popOut: true,
|
||||
resizable: false
|
||||
});
|
||||
}
|
||||
|
||||
constructor(actor, options = {}) {
|
||||
super(options);
|
||||
this.actor = actor;
|
||||
this.hookReference = Hooks.on(APP_ASTROLOGIE_REFRESH, () => this.refreshAstrologie());
|
||||
}
|
||||
|
||||
getData(options) {
|
||||
this.appData = super.getData(options)
|
||||
const calendrier = game.system.rdd.calendrier;
|
||||
mergeObject(this.appData, {
|
||||
isGM: game.user.isGM,
|
||||
isActor: this.actor != undefined,
|
||||
calendrier: calendrier.getTimestamp().toCalendrier(),
|
||||
dates: calendrier.getJoursSuivants(10),
|
||||
heures: RdDTimestamp.definitions(),
|
||||
actorAstrologie: this.getActorAstrologie(),
|
||||
gmAstrologie: this.getGMAstrologie(calendrier),
|
||||
theme: {
|
||||
signeAstral: RdDTimestamp.definition(0),
|
||||
signeNaissance: RdDTimestamp.definition(0)
|
||||
}
|
||||
})
|
||||
return this.appData;
|
||||
}
|
||||
|
||||
getActorAstrologie() {
|
||||
if (this.actor) {
|
||||
return {
|
||||
actor: this.actor,
|
||||
nombres: this._organizeNombresAstraux(this.actor.listItems('nombreastral')),
|
||||
ajustements: CONFIG.RDD.difficultesLibres,
|
||||
etat: this.actor.getEtatGeneral(),
|
||||
astrologie: this.actor.getCompetence('Astrologie')
|
||||
}
|
||||
}
|
||||
return {}
|
||||
}
|
||||
|
||||
_organizeNombresAstraux(nombresAstraux) {
|
||||
let organized = {};
|
||||
nombresAstraux.forEach(na => {
|
||||
if (!organized[na.system.jourindex]) {
|
||||
organized[na.system.jourindex] = {
|
||||
listValues: [],
|
||||
jourlabel: na.system.jourlabel
|
||||
}
|
||||
}
|
||||
organized[na.system.jourindex].listValues.push(na.system.value);
|
||||
})
|
||||
return organized;
|
||||
}
|
||||
|
||||
getGMAstrologie(calendrier) {
|
||||
if (game.user.isGM) {
|
||||
const nbAstral = calendrier.getNombreAstral()
|
||||
const heures = RdDTimestamp.heures();
|
||||
return {
|
||||
ajustementsActors: game.actors.filter(it => it.isPersonnage() && it.hasPlayerOwner)
|
||||
.map(actor => this.getAjustementActor(actor, nbAstral, heures)),
|
||||
nombresAstraux: calendrier.getNombresAstraux().map(na => this.getDetailNombreAstral(na))
|
||||
}
|
||||
}
|
||||
return {}
|
||||
}
|
||||
|
||||
getAjustementActor(actor, nbAstral, heures) {
|
||||
const hn = RdDTimestamp.findHeure(actor.getHeureNaissance())?.heure ?? 0;
|
||||
return {
|
||||
actor,
|
||||
ajustements: heures.map(heure => {
|
||||
return { heure, ajustement: RdDTimestamp.ajustementAstrologiqueHeure(hn, nbAstral, heure) };
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
getDetailNombreAstral(nombreAstral) {
|
||||
const detail = duplicate(nombreAstral);
|
||||
const timestamp = new RdDTimestamp({ indexDate: nombreAstral.index });
|
||||
detail.date = { mois: timestamp.mois, jour: timestamp.jour + 1 };
|
||||
detail.valeursFausses.forEach(fausse => fausse.actorName = game.actors.get(fausse.actorId).name ?? "Inconnu");
|
||||
return detail;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
activateListeners(html) {
|
||||
super.activateListeners(html);
|
||||
this.html = html;
|
||||
this.html.find('select[name="signe-astral"]').change(event => {
|
||||
this.selectNombreAstral(this.html.find('select[name="signe-astral"]').val());
|
||||
})
|
||||
this.html.find('select[name="signe-naissance"]').change(event => {
|
||||
this.selectHeureNaissance(this.html.find('select[name="signe-naissance"]').val());
|
||||
})
|
||||
this.html.find('td.nombre-astral').click(event => {
|
||||
this.selectNombreAstral(Number.parseInt(event.currentTarget.attributes['data-nombre-astral'].value) - 1);
|
||||
})
|
||||
this.html.find('tr.heure-naissance').click(event => {
|
||||
this.selectHeureNaissance(event.currentTarget.attributes['data-heure-naissance'].value);
|
||||
})
|
||||
this.html.find('[name="jet-astrologie"]').click(event => this.requestJetAstrologie());
|
||||
this.html.find('[name="rebuild-nombres-astraux"]').click(event => this.rebuildNombresAstraux());
|
||||
|
||||
this.onCalculThemeAstral();
|
||||
}
|
||||
|
||||
selectHeureNaissance(heureNaissance) {
|
||||
this.appData.theme.signeNaissance = RdDTimestamp.definition(heureNaissance);
|
||||
this.onCalculThemeAstral();
|
||||
}
|
||||
|
||||
selectNombreAstral(nombreAstral) {
|
||||
this.appData.theme.signeAstral = RdDTimestamp.definition(nombreAstral);
|
||||
this.onCalculThemeAstral();
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async rebuildNombresAstraux() {
|
||||
game.system.rdd.calendrier.resetNombresAstraux();
|
||||
|
||||
await game.system.rdd.calendrier.rebuildNombresAstraux();
|
||||
}
|
||||
|
||||
onCalculThemeAstral() {
|
||||
const chiffreAstral = this.appData.theme.signeAstral.heure + 1;
|
||||
const heureNaissance = this.appData.theme.signeNaissance.heure + 1;
|
||||
RdDTimestamp.definitions().forEach(dh => {
|
||||
const ajustement = RdDTimestamp.ajustementAstrologiqueHeure(heureNaissance, chiffreAstral, dh.heure + 1);
|
||||
const txtAjustement = ajustement == 0 ? '' : Misc.toSignedString(ajustement);
|
||||
this.html.find(`div.astro-ajustement.heure-${dh.hh}`).text(txtAjustement)
|
||||
});
|
||||
|
||||
this.html.find(`select[name="signe-astral"]`).val(this.appData.theme.signeAstral.key)
|
||||
this.html.find(`select[name="signe-naissance"]`).val(this.appData.theme.signeNaissance.key)
|
||||
|
||||
const angleAstrologie = ((chiffreAstral + heureNaissance) * 30) % 360 - 45;
|
||||
this.html.find(`div.astro-roue div.astro-disque img`).css(this.cssRotation(angleAstrologie));
|
||||
|
||||
const timestamp = game.system.rdd.calendrier.getTimestamp();
|
||||
|
||||
this.html.find(`div.astro-roue div.astro-horloge-heure img`).css(this.cssRotation(timestamp.angleHeure));
|
||||
this.html.find(`div.astro-roue div.astro-horloge-minute img`).css(this.cssRotation(timestamp.angleMinute));
|
||||
}
|
||||
|
||||
cssRotation(angleAstrologie) {
|
||||
const rotation = `rotate(${angleAstrologie}deg)`;
|
||||
return {
|
||||
'transform': rotation,
|
||||
'-ms-transform': rotation,
|
||||
'-moz-transform': rotation,
|
||||
'-webkit-transform': rotation,
|
||||
'-o-transform': rotation
|
||||
};
|
||||
}
|
||||
|
||||
requestJetAstrologie() {
|
||||
if (!this.appData?.isActor) {
|
||||
return
|
||||
}
|
||||
let socketData = {
|
||||
id: this.appData.actorAstrologie.actor.id,
|
||||
carac_vue: this.actor.system.carac['vue'].value,
|
||||
etat: this.actor.getEtatGeneral(),
|
||||
astrologie: this.actor.getCompetence('Astrologie'),
|
||||
conditions: this.html.find('[name="diffConditions"]').val(),
|
||||
date: this.html.find('[name="joursAstrologie"]').val(),
|
||||
userId: game.user.id
|
||||
}
|
||||
if (Misc.isUniqueConnectedGM()) {
|
||||
game.system.rdd.calendrier.requestNombreAstral(socketData);
|
||||
} else {
|
||||
game.socket.emit(SYSTEM_SOCKET_ID, {
|
||||
msg: "msg_request_nombre_astral",
|
||||
data: socketData
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
refreshAstrologie() {
|
||||
this.render(true)
|
||||
}
|
||||
|
||||
async close(options) {
|
||||
Hooks.off(APP_ASTROLOGIE_REFRESH, this.hookReference);
|
||||
this.hookReference = undefined
|
||||
await super.close(options)
|
||||
}
|
||||
}
|
||||
105
module/sommeil/dialog-chateau-dormant.js
Normal file
@@ -0,0 +1,105 @@
|
||||
|
||||
export class DialogChateauDormant extends Dialog {
|
||||
|
||||
static async create() {
|
||||
const date = game.system.rdd.calendrier.dateCourante();
|
||||
const actors = game.actors.filter(actor => actor.hasPlayerOwner && actor.isPersonnage());
|
||||
|
||||
const dialogData = {
|
||||
actors: actors,
|
||||
date: date,
|
||||
motifStress: `Nuit du ${date}`,
|
||||
finChateauDormant: game.system.rdd.calendrier.getTimestampFinChateauDormant()
|
||||
};
|
||||
const html = await renderTemplate("systems/foundryvtt-reve-de-dragon/templates/sommeil/dialog-chateau-dormant.hbs",
|
||||
dialogData);
|
||||
|
||||
new DialogChateauDormant(dialogData, html)
|
||||
.render(true);
|
||||
}
|
||||
|
||||
constructor(dialogData, html) {
|
||||
const options = {
|
||||
classes: ["rdd-dialog-chateau-dormant"],
|
||||
width: 600,
|
||||
height: 'fit-content',
|
||||
'z-index': 99999
|
||||
};
|
||||
const conf = {
|
||||
title: "De Chateau dormant à Vaisseau",
|
||||
content: html,
|
||||
buttons: {
|
||||
chateauDormant: { label: "Passer à Vaisseau!", callback: it => { this.onChateauDormant(); } }
|
||||
}
|
||||
};
|
||||
super(conf, options);
|
||||
this.dialogData = dialogData;
|
||||
}
|
||||
|
||||
activateListeners(html) {
|
||||
super.activateListeners(html);
|
||||
this.html = html;
|
||||
this.html.find('input.sommeil-insomnie').change(event => this.onInsomnie(event));
|
||||
this._activateListenerOnActorMoral(this.html);
|
||||
}
|
||||
|
||||
_activateListenerOnActorMoral(html) {
|
||||
html.find(`span.sommeil-actor-moral a`).click(event => this.onActorMoral(event));
|
||||
}
|
||||
|
||||
onInsomnie(event) {
|
||||
const sommeilInsomnie = this.html.find(event.currentTarget);
|
||||
const isInsomnie = sommeilInsomnie.is(':checked');
|
||||
const sommeilHeures = sommeilInsomnie.parents('.set-sommeil-actor').find('input.sommeil-heures');
|
||||
sommeilHeures.prop('disabled', isInsomnie);
|
||||
if (isInsomnie) {
|
||||
sommeilHeures.val('0');
|
||||
}
|
||||
}
|
||||
|
||||
async onActorMoral(event) {
|
||||
const selected = this.html.find(event.currentTarget);
|
||||
const actorRow = selected.parents('.set-sommeil-actor');
|
||||
const actorId = actorRow.data('actor-id');
|
||||
const actor = this.getActor(actorId);
|
||||
actor.system.sommeil.moral = selected.data('moral');
|
||||
const htmlMoral = await renderTemplate('systems/foundryvtt-reve-de-dragon/templates/sommeil/sommeil-actor-moral.hbs', actor.system.sommeil)
|
||||
actorRow.find('.sommeil-actor-moral').html(htmlMoral);
|
||||
// re-attach listeners for actor row
|
||||
this._activateListenerOnActorMoral(actorRow);
|
||||
}
|
||||
|
||||
getActor(actorId) {
|
||||
return this.dialogData.actors.find(it => it.id == actorId);
|
||||
}
|
||||
|
||||
async onChateauDormant() {
|
||||
const motifStress = this.html.find("form input[name='motifStress']").val();
|
||||
jQuery.map(
|
||||
this.html.find('li.set-sommeil-actor'),
|
||||
it => this.extractConsigneActor(this.html.find(it), motifStress)
|
||||
).forEach(async consigne => await consigne.actor.prepareChateauDormant(consigne))
|
||||
}
|
||||
|
||||
|
||||
extractConsigneActor(actorRow, motifStress) {
|
||||
const actorId = actorRow.data('actor-id');
|
||||
const actor = this.getActor(actorId);
|
||||
const insomnie = actorRow.find('input.sommeil-insomnie').is(':checked');
|
||||
return {
|
||||
actor,
|
||||
ignorer: actorRow.find('input.sommeil-ignorer').is(':checked'),
|
||||
stress: {
|
||||
motif: motifStress,
|
||||
valeur: Number.parseInt(actorRow.find('input.sommeil-stress').val()),
|
||||
},
|
||||
sommeil: {
|
||||
nouveaujour: true,
|
||||
date: this.dialogData.finChateauDormant,
|
||||
insomnie: insomnie,
|
||||
heures: insomnie ? 0 : Number.parseInt(actorRow.find('input.sommeil-heures').val()),
|
||||
moral: actor.system.sommeil.moral ?? 'neutre',
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
87
module/sommeil/dialog-repos.js
Normal file
@@ -0,0 +1,87 @@
|
||||
import { ReglesOptionelles } from "../settings/regles-optionelles.js";
|
||||
import { EffetsDraconiques } from "../tmr/effets-draconiques.js";
|
||||
|
||||
export class DialogRepos extends Dialog {
|
||||
|
||||
static async create(actor) {
|
||||
if (!actor.isPersonnage()) {
|
||||
return
|
||||
}
|
||||
if (!ReglesOptionelles.isUsing("chateau-dormant-gardien") || !actor.hasPlayerOwner) {
|
||||
actor.system.sommeil = {
|
||||
"nouveaujour": true,
|
||||
"insomnie": EffetsDraconiques.isSujetInsomnie(actor),
|
||||
"moral": "neutre",
|
||||
"heures": 4
|
||||
}
|
||||
}
|
||||
const html = await renderTemplate("systems/foundryvtt-reve-de-dragon/templates/sommeil/dialog-repos.html", actor);
|
||||
const dialog = new DialogRepos(html, actor);
|
||||
dialog.render(true);
|
||||
}
|
||||
|
||||
constructor(html, actor) {
|
||||
let options = { classes: ["DialogCreateSigneDraconiqueActorsActors"], width: 400, height: 'fit-content', 'z-index': 99999 };
|
||||
let conf = {
|
||||
title: "Se reposer",
|
||||
content: html,
|
||||
default: "repos",
|
||||
buttons: {
|
||||
"repos": { label: "Se reposer", callback: async it => { this.repos(); } }
|
||||
}
|
||||
};
|
||||
super(conf, options);
|
||||
this.actor = actor;
|
||||
}
|
||||
activateListeners(html) {
|
||||
super.activateListeners(html);
|
||||
this.html = html;
|
||||
this.html.find(`.sommeil-actor-moral a`).click(event => this.onActorMoral(event));
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
|
||||
async repos() {
|
||||
const selection = await this.html.find("[name='repos']:checked").val();
|
||||
switch (selection) {
|
||||
case "sieste": return await this.sieste();
|
||||
case "nuit": return await this.nuit();
|
||||
case "chateau-dormant": return await this.chateauDormant();
|
||||
case "gris-reve": return await this.grisReve();
|
||||
}
|
||||
}
|
||||
|
||||
async grisReve() {
|
||||
await this.html.find("[name='nb-jours']").change();
|
||||
const nbJours = Number.parseInt(await this.html.find("[name='nb-jours']").val());
|
||||
await this.actor.grisReve(nbJours);
|
||||
}
|
||||
|
||||
async chateauDormant() {
|
||||
await this.actor.dormirChateauDormant();
|
||||
}
|
||||
|
||||
async nuit() {
|
||||
await this.html.find("[name='sommeil.heures']").change();
|
||||
const val = await this.html.find("[name='sommeil.heures']").val();
|
||||
const sommeilHeures = Number.parseInt(val ?? '0');
|
||||
await this.actor.dormir(sommeilHeures, { chateauDormant: true });
|
||||
}
|
||||
|
||||
async sieste() {
|
||||
await this.html.find("[name='sieste.heures']").change();
|
||||
const siesteHeures = Number.parseInt(await this.html.find("[name='sieste.heures']").val());
|
||||
await this.actor.dormir(siesteHeures);
|
||||
}
|
||||
|
||||
async onActorMoral(event) {
|
||||
const selected = this.html.find(event.currentTarget);
|
||||
const parentDiv = selected.parents().find('.sommeil-actor-moral');
|
||||
const situationMoral = selected.data('moral');
|
||||
await this.actor.setInfoSommeilMoral(situationMoral);
|
||||
const htmlMoral = await renderTemplate('systems/foundryvtt-reve-de-dragon/templates/sommeil/sommeil-actor-moral.hbs', {
|
||||
moral: situationMoral
|
||||
});
|
||||
parentDiv.html(htmlMoral);
|
||||
this.html.find(`.sommeil-actor-moral a`).click(event => this.onActorMoral(event));
|
||||
}
|
||||
}
|
||||
@@ -15,7 +15,7 @@ export class DialogStress extends Dialog {
|
||||
)
|
||||
};
|
||||
|
||||
const html = await renderTemplate("systems/foundryvtt-reve-de-dragon/templates/dialog-stress.html", dialogData);
|
||||
const html = await renderTemplate("systems/foundryvtt-reve-de-dragon/templates/sommeil/dialog-stress.html", dialogData);
|
||||
new DialogStress(dialogData, html)
|
||||
.render(true);
|
||||
}
|
||||
@@ -50,7 +50,7 @@ export class DialogStress extends Dialog {
|
||||
|
||||
this.dialogData.actors.filter(it => it.selected)
|
||||
.map(it => game.actors.get(it.id))
|
||||
.forEach(actor => actor.distribuerStress(compteur, stress, motif));
|
||||
.forEach(async actor => await actor.distribuerStress(compteur, stress, motif));
|
||||
}
|
||||
|
||||
async onSelectActor(event) {
|
||||
@@ -39,18 +39,18 @@ export class Targets {
|
||||
}
|
||||
}
|
||||
|
||||
static getTarget() {
|
||||
static getTarget(options = { warn: true }) {
|
||||
const targets = Targets.listTargets();
|
||||
switch (targets.length) {
|
||||
case 1:
|
||||
return targets[0];
|
||||
case 0:
|
||||
ui.notifications.warn("Vous devez choisir une cible à attaquer!");
|
||||
if (options.warn) ui.notifications.warn("Vous devez choisir une cible à attaquer!");
|
||||
break;
|
||||
default:
|
||||
ui.notifications.warn("Vous devez choisir une cible (et <strong>une seule</strong>) à attaquer!");
|
||||
return;
|
||||
if (options.warn) ui.notifications.warn("Vous devez choisir une cible (et <strong>une seule</strong>) à attaquer!");
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
|
||||
}
|
||||
335
module/tirage/fenetre-recherche-tirage.js
Normal file
@@ -0,0 +1,335 @@
|
||||
import { RdDItem } from '../item.js';
|
||||
import { HtmlUtility } from '../html-utility.js';
|
||||
import { Misc } from "../misc.js";
|
||||
import { CompendiumTableHelpers } from '../settings/system-compendiums.js';
|
||||
import { RdDRaretes } from '../item/raretes.js';
|
||||
import { Grammar } from '../grammar.js';
|
||||
|
||||
const FILTER_GROUPS = [
|
||||
{ group: 'type', label: "Type d'objet" },
|
||||
{ group: 'comestible', label: 'Alimentaire' },
|
||||
{ group: 'utilisation', label: 'Utilisation' },
|
||||
{ group: 'rarete', label: 'Rarete' },
|
||||
{ group: 'qualite', label: 'Qualité' },
|
||||
{ group: 'enc', label: 'Encombrement' },
|
||||
{ group: 'prix', label: 'Prix' },
|
||||
]
|
||||
|
||||
const FILTERS = [
|
||||
{ group: 'comestible', code: 'comestible', label: 'Comestible', check: (item, milieux) => item.getUtilisation() == 'cuisine' },
|
||||
{ group: 'comestible', code: 'pret', label: 'Préparé', check: (item, milieux) => item.getUtilisationCuisine() == 'pret' },
|
||||
{ group: 'comestible', code: 'brut', label: 'A préparer', check: (item, milieux) => item.getUtilisationCuisine() == 'brut' },
|
||||
{ group: 'comestible', code: 'boisson', label: 'Boisson', check: (item, milieux) => item.isBoisson() },
|
||||
{ group: 'comestible', code: 'alcool', label: 'Alcool', check: (item, milieux) => item.isAlcool() },
|
||||
{ group: 'comestible', code: 'immangeable', label: 'Immangeable', check: (item, milieux) => item.isInventaire() && item.getUtilisation() != 'cuisine' },
|
||||
|
||||
{ group: 'utilisation', code: 'alchimie', label: 'Alchimique', check: (item, milieux) => item.isInventaire() && item.getUtilisation() == 'alchimie' },
|
||||
{ group: 'utilisation', code: 'soins', label: 'Médical', check: (item, milieux) => item.isInventaire() && item.getUtilisation() == 'soins' },
|
||||
{ group: 'utilisation', code: 'poison', label: 'Toxique', check: (item, milieux) => item.isInventaire() && item.getUtilisation() == 'poison' },
|
||||
{ group: 'utilisation', code: 'cuisine', label: 'Cuisine', check: (item, milieux) => item.isInventaire() && item.getUtilisation() == 'cuisine' },
|
||||
{ group: 'utilisation', code: 'autres', label: 'Autres/inconnu', check: (item, milieux) => !item.isInventaire() || item.getUtilisation() == '' },
|
||||
|
||||
{ group: "qualite", code: "mauvaise", label: "Mauvaise (négative)", check: (item, milieux) => item.isInventaire() && item.system.qualite < 0 },
|
||||
{ group: "qualite", code: "quelconque", label: "Quelconque (0)", check: (item, milieux) => item.isInventaire() && item.system.qualite == 0 },
|
||||
{ group: "qualite", code: "correcte", label: "Correcte (1-3)", check: (item, milieux) => item.isInventaire() && 1 <= item.system.qualite && item.system.qualite <= 3 },
|
||||
{ group: "qualite", code: "bonne", label: "Bonne (4-6)", check: (item, milieux) => item.isInventaire() && 4 <= item.system.qualite && item.system.qualite <= 6 },
|
||||
{ group: "qualite", code: "excellente", label: "Excellente (7-9)", check: (item, milieux) => item.isInventaire() && 7 <= item.system.qualite && item.system.qualite <= 9 },
|
||||
{ group: "qualite", code: "mythique", label: "Mythique (10+)", check: (item, milieux) => item.isInventaire() && 10 <= item.system.qualite },
|
||||
|
||||
{ group: "enc", code: "negligeable", label: "Négligeable (jusqu'à 0.1)", check: (item, milieux) => item.isInventaire() && item.system.encombrement <= 0.1 },
|
||||
{ group: "enc", code: "leger", label: "Léger (0.1 à 0.5)", check: (item, milieux) => item.isInventaire() && 0.1 < item.system.encombrement && item.system.encombrement <= 0.5 },
|
||||
{ group: "enc", code: "moyen", label: "Moyen (0.5 à 1.5)", check: (item, milieux) => item.isInventaire() && 0.5 < item.system.encombrement && item.system.encombrement <= 1.5 },
|
||||
{ group: "enc", code: "lourd", label: "Lourd (1.5 à 3)", check: (item, milieux) => item.isInventaire() && 1.5 < item.system.encombrement && item.system.encombrement <= 3 },
|
||||
{ group: "enc", code: "massif", label: "Massif (3 à 10)", check: (item, milieux) => item.isInventaire() && 3 < item.system.encombrement && item.system.encombrement <= 10 },
|
||||
{ group: "enc", code: "anemort", label: "Un âne mort (plus de 10)", check: (item, milieux) => item.isInventaire() && 10 < item.system.encombrement },
|
||||
|
||||
{ group: "prix", code: "gratuit", label: "Gratuit", check: (item, milieux) => item.isInventaire() && item.system.cout == 0 },
|
||||
{ group: "prix", code: "deniers", label: "Deniers (étain)", check: (item, milieux) => item.isInventaire() && 0 < item.system.cout && item.system.cout < 0.1 },
|
||||
{ group: "prix", code: "bronze", label: "Sous (bronze)", check: (item, milieux) => item.isInventaire() && 0.1 <= item.system.cout && item.system.cout < 1 },
|
||||
{ group: "prix", code: "sols", label: "Sols (argent)", check: (item, milieux) => item.isInventaire() && 1 <= item.system.cout && item.system.cout < 10 },
|
||||
{ group: "prix", code: "dragons", label: "Dragons (or)", check: (item, milieux) => item.isInventaire() && 10 <= item.system.cout },
|
||||
]
|
||||
|
||||
|
||||
function $filterMilieux(milieux) {
|
||||
return milieux.map(m => {
|
||||
return {
|
||||
code: m,
|
||||
label: m,
|
||||
check: (item, milieux) => item.isPresentDansMilieux(m)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function $filterRarete() {
|
||||
return RdDRaretes.raretes()
|
||||
.filter(it => it.frequence > 0)
|
||||
.map(r => {
|
||||
return {
|
||||
group: 'rarete',
|
||||
code: r.code,
|
||||
label: r.label,
|
||||
check: (item, milieux) => item.getRaretes(milieux).map(it => it.code).includes(r.code)
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function $filterTypes() {
|
||||
return RdDItem.getItemTypesInventaire().map(type => {
|
||||
return {
|
||||
group: 'type',
|
||||
code: type,
|
||||
label: Misc.typeName('Item', type),
|
||||
check: (item, milieux) => item.type == type
|
||||
};
|
||||
});
|
||||
}
|
||||
|
||||
function $getAllFilters() {
|
||||
return FILTERS
|
||||
.concat($filterTypes())
|
||||
.concat($filterRarete());
|
||||
}
|
||||
|
||||
function $addFilterToGroup(groups, filter) {
|
||||
if (filter.group && filter.code && filter.label) {
|
||||
let fg = groups.find(g => g.group == filter.group);
|
||||
if (fg == undefined) {
|
||||
groups.push({ group: filter.group, label: filter.group, filters: [filter] })
|
||||
}
|
||||
else if (fg.filters == undefined) {
|
||||
fg.filters = [filter];
|
||||
}
|
||||
else {
|
||||
fg.filters.push(filter);
|
||||
}
|
||||
}
|
||||
else {
|
||||
console.warn("Filtre incorrect, pas de groupe/code/label", filter);
|
||||
}
|
||||
}
|
||||
|
||||
function $loadFilters(parameters) {
|
||||
$getAllFilters(parameters.milieux).forEach(f => $addFilterToGroup(parameters.filterGroups, f));
|
||||
}
|
||||
|
||||
|
||||
|
||||
export class FenetreRechercheTirage extends Application {
|
||||
static get defaultOptions() {
|
||||
return mergeObject(super.defaultOptions, {
|
||||
template: "systems/foundryvtt-reve-de-dragon/templates/tirage/fenetre-recherche-tirage.hbs",
|
||||
title: `Recherches et tirages`,
|
||||
width: 600,
|
||||
height: 600,
|
||||
popOut: true,
|
||||
dragDrop: [{ dragSelector: "a.content-link" }],
|
||||
resizable: true
|
||||
});
|
||||
}
|
||||
|
||||
static async create() {
|
||||
const milieux = await game.system.rdd.environnement.milieux();
|
||||
const parameters = {
|
||||
milieux: milieux,
|
||||
filterMilieux: $filterMilieux(milieux),
|
||||
filterGroups: duplicate(FILTER_GROUPS).filter(it => it.group),
|
||||
}
|
||||
const options = {}
|
||||
$loadFilters(parameters);
|
||||
|
||||
new FenetreRechercheTirage(parameters, options).render(true);
|
||||
}
|
||||
|
||||
constructor(parameters, options) {
|
||||
super(options);
|
||||
this.parameters = parameters;
|
||||
}
|
||||
|
||||
async getData() {
|
||||
return mergeObject(await super.getData(), this.parameters)
|
||||
}
|
||||
|
||||
_canDragStart() { return true; }
|
||||
_onDragStart(event) { }
|
||||
|
||||
_getHeaderButtons() {
|
||||
let buttons = super._getHeaderButtons();
|
||||
if (game.user.isGM) {
|
||||
buttons.unshift({
|
||||
class: "configurer",
|
||||
label: "Configurer",
|
||||
icon: "fas fa-cogs",
|
||||
onclick: ev => this.configurer()
|
||||
});
|
||||
}
|
||||
return buttons
|
||||
}
|
||||
|
||||
activateListeners(html) {
|
||||
super.activateListeners(html);
|
||||
this.html = html;
|
||||
|
||||
this.showFilterGroup(this.html, false);
|
||||
|
||||
this.html.find("a.section-filters-toggle").click(event => {
|
||||
const groupDiv = this.html.find(event.currentTarget)?.parents('div.section-filters-root').first();
|
||||
const visible = groupDiv.find('div.section-filters-content').first().is(":visible");
|
||||
this.showFilterGroup(groupDiv, !visible)
|
||||
});
|
||||
|
||||
this.html.find("input:is(.activate-filter-group,.activate-filter-milieu)").change(event => this.changeListeFiltresActifs())
|
||||
|
||||
this.html.find("a.supprimer-filtres").click(async event => this.supprimerFiltres())
|
||||
|
||||
this.html.find("a.recherche-filtres").click(async event => await this.recherche())
|
||||
|
||||
this.html.find("a.tirage-filtres").click(async event => {
|
||||
const table = await this.buildTable();
|
||||
const row = await CompendiumTableHelpers.getRandom(table, 'Item')
|
||||
await CompendiumTableHelpers.tableRowToChatMessage(row, 'Item');
|
||||
})
|
||||
}
|
||||
|
||||
showFilterGroup(groupDiv, show) {
|
||||
if (groupDiv) {
|
||||
HtmlUtility.showControlWhen(groupDiv.find('div.section-filters-content'), show);
|
||||
HtmlUtility.showControlWhen(groupDiv.find('i.section-filters-hide'), show);
|
||||
HtmlUtility.showControlWhen(groupDiv.find('i.section-filters-show'), !show);
|
||||
}
|
||||
}
|
||||
|
||||
supprimerFiltres() {
|
||||
this.html.find('input:is(.activate-filter-group,.activate-filter-milieu)').prop("checked", false);
|
||||
this.html.find('div.liste-resultats-recherche').html('');
|
||||
this.html.find('.section-filters-text input.recherche').val('');
|
||||
}
|
||||
|
||||
async recherche() {
|
||||
const table = await this.buildTable();
|
||||
const htmlResultats = await renderTemplate(`systems/foundryvtt-reve-de-dragon/templates/tirage/liste-resultats-recherche.hbs`, { resultats: table });
|
||||
this.html.find('div.liste-resultats-recherche').html(htmlResultats);
|
||||
this._dragDrop.forEach(dragDropHandler => dragDropHandler.bind(this.element[0]))
|
||||
}
|
||||
|
||||
async buildTable() {
|
||||
const milieux = this.getSelectedMilieux();
|
||||
const filterItemMilieux = this.buildCheckedGroupFilter(milieux);
|
||||
const filter = it => filterItemMilieux(it, milieux);
|
||||
const itemFrequence = it => it.getFrequence(milieux);
|
||||
return await game.system.rdd.environnement.buildTable(itemFrequence, filter)
|
||||
}
|
||||
|
||||
buildMilieuxFilter(milieux) {
|
||||
if (milieux) {
|
||||
return this.buildOrFilter(this.parameters.filterMilieux.filter(it => milieux.includes(it.code)).map(f => f.check));
|
||||
}
|
||||
return (it, mi) => true;
|
||||
}
|
||||
buildFilterRechercheName() {
|
||||
const recherche = this.html.find('.section-filters-text input.recherche').val();
|
||||
if (recherche) {
|
||||
return (it, mi) => Grammar.includesLowerCaseNoAccent(it.name, recherche);
|
||||
}
|
||||
return (it, mi) => true;
|
||||
}
|
||||
|
||||
buildCheckedGroupFilter(milieux) {
|
||||
const filtersList = this.getGroupCheckedFilters()
|
||||
.map(gf => this.buildOrFilter(gf.filters.map(f => f.check)));
|
||||
filtersList.push(this.buildMilieuxFilter(milieux));
|
||||
filtersList.push(this.buildFilterRechercheName());
|
||||
return this.buildAndFilter(filtersList)
|
||||
}
|
||||
|
||||
buildAndFilter(filters) { return filters.reduce((f1, f2) => { return (it, mi) => f1(it, mi) && f2(it, mi); }); }
|
||||
buildOrFilter(filters) { return filters.reduce((f1, f2) => { return (it, mi) => f1(it, mi) || f2(it, mi); }); }
|
||||
|
||||
changeListeFiltresActifs() {
|
||||
const milieux = this.getSelectedMilieux();
|
||||
const summariesList = this.getGroupCheckedFilters()
|
||||
.map(gf => {
|
||||
return gf.group.label + ': ' + gf.filters
|
||||
.map(f => f.label)
|
||||
.reduce(Misc.joining(', '))
|
||||
});
|
||||
if (milieux) {
|
||||
summariesList.push('Milieux: ' + this.parameters.filterMilieux.filter(f => milieux.includes(f.code)).map(f => f.label).reduce(Misc.joining(', ')))
|
||||
}
|
||||
const fullText = summariesList.length == 0 ? "" : summariesList.reduce(Misc.joining(' - '));
|
||||
this.html.find('span.liste-filtres-actifs').text(fullText);
|
||||
}
|
||||
|
||||
getGroupCheckedFilters() {
|
||||
const checkedGroupFilters = jQuery.map(this.html.find('input.activate-filter-group:checked'), it => this.html.find(it))
|
||||
.map(element => {
|
||||
return {
|
||||
group: element.data('group'),
|
||||
code: element.data('code')
|
||||
};
|
||||
}).filter(it => it.group);
|
||||
|
||||
const entries = Object.entries(Misc.classify(checkedGroupFilters, it => it.group));
|
||||
return entries.map(([key, list]) => {
|
||||
const group = this.parameters.filterGroups.find(g => g.group == key);
|
||||
const filters = list.map(it => group.filters.find(f => it.code == f.code));
|
||||
return { group, filters };
|
||||
});
|
||||
}
|
||||
|
||||
getSelectedMilieux() {
|
||||
const milieux = jQuery.map(this.html.find('input.activate-filter-milieu:checked'), it => {
|
||||
return this.html.find(it).data('code');
|
||||
});
|
||||
return milieux.length == 0 ? undefined : milieux
|
||||
}
|
||||
|
||||
|
||||
async configurer() {
|
||||
FenetreRechercheConfiguration.create();
|
||||
}
|
||||
}
|
||||
|
||||
class FenetreRechercheConfiguration extends Dialog {
|
||||
static async create() {
|
||||
const configuration = {
|
||||
compendiums: game.packs.filter(it => it.metadata.type == 'Item').map(it => it.metadata)
|
||||
.map(it => mergeObject({ selected: game.system.rdd.environnement.compendiums.includes(it.id) }, it))
|
||||
}
|
||||
const html = await renderTemplate("systems/foundryvtt-reve-de-dragon/templates/tirage/fenetre-recherche-configuration.hbs", configuration);
|
||||
new FenetreRechercheConfiguration(html).render(true);
|
||||
}
|
||||
|
||||
constructor(html) {
|
||||
const options = {
|
||||
classes: ["fenetre-recherche-configuration"],
|
||||
width: 600,
|
||||
height: 'fit-content',
|
||||
'max-height': 600,
|
||||
height: 'fit-content',
|
||||
'z-index': 99999
|
||||
};
|
||||
const conf = {
|
||||
title: 'Configuration de la recherche',
|
||||
content: html,
|
||||
buttons: {
|
||||
"Sauvegarder": { label: "Sauvegarder", callback: async it => { await this.sauvegarder(); } }
|
||||
}
|
||||
};
|
||||
super(conf, options)
|
||||
}
|
||||
|
||||
activateListeners(html) {
|
||||
this.html = html;
|
||||
super.activateListeners(html);
|
||||
this.html.find("button.configuration-save").click(event => this.sauvegarder())
|
||||
}
|
||||
|
||||
async sauvegarder() {
|
||||
const compendiumIds = jQuery.map(this.html.find("input.select-compendium:checked"), it => {
|
||||
return this.html.find(it).data('id');
|
||||
});
|
||||
await game.system.rdd.environnement.saveCompendiums(compendiumIds);
|
||||
this.close();
|
||||
}
|
||||
}
|
||||
@@ -59,24 +59,16 @@ export class TMRRencontres {
|
||||
return rencontre.clone({
|
||||
'system.force': await RdDDice.rollTotal(rencontre.system.formule),
|
||||
'system.coord': tmr?.coord,
|
||||
'system.date': game.system.rdd.calendrier.getDateFromIndex(),
|
||||
'system.heure': game.system.rdd.calendrier.getCurrentHeure()
|
||||
'system.date': game.system.rdd.calendrier.dateCourante(),
|
||||
'system.heure': game.system.rdd.calendrier.heureCourante().key
|
||||
}, { save: false });
|
||||
}
|
||||
|
||||
async calculRencontre(rencontre, tmr = undefined) {
|
||||
if (rencontre.system.coord == "") {
|
||||
rencontre.system.coord = tmr?.coord;
|
||||
}
|
||||
if (rencontre.system.force == 0) {
|
||||
rencontre.system.force = await RdDDice.rollTotal(rencontre.system.formule);
|
||||
}
|
||||
if (rencontre.system.date == "") {
|
||||
rencontre.system.date = game.system.rdd.calendrier.getDateFromIndex();
|
||||
}
|
||||
if (rencontre.system.heure == "") {
|
||||
rencontre.system.heure = game.system.rdd.calendrier.getCurrentHeure();
|
||||
}
|
||||
rencontre.system.coord = rencontre.system.coord ?? tmr?.coord;
|
||||
rencontre.system.force = rencontre.system.force ?? await RdDDice.rollTotal(rencontre.system.formule);
|
||||
rencontre.system.date = rencontre.system.date ?? game.system.rdd.calendrier.dateCourante();
|
||||
rencontre.system.heure = rencontre.system.heure ?? game.system.rdd.calendrier.heureCourante().key;
|
||||
return rencontre;
|
||||
}
|
||||
|
||||
|
||||
@@ -164,6 +164,10 @@ export class EffetsDraconiques {
|
||||
return actor.items.find(it => EffetsDraconiques.urgenceDraconique.match(it));
|
||||
}
|
||||
|
||||
static isSujetInsomnie(actor) {
|
||||
return actor.items.find(it => ['queue', 'ombre'].includes(it.type) && Grammar.includesLowerCaseNoAccent(it.name, 'Insomnie')) ? true : false;
|
||||
}
|
||||
|
||||
static isPeage(actor) {
|
||||
return EffetsDraconiques.filterItems(actor, Draconique.isSouffleDragon, 'péage').length > 0;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { ChatUtility } from "./chat-utility.js";
|
||||
import { Poetique } from "./poetique.js";
|
||||
import { RdDDice } from "./rdd-dice.js";
|
||||
import { TMRUtility } from "./tmr-utility.js";
|
||||
import { ChatUtility } from "../chat-utility.js";
|
||||
import { Poetique } from "../poetique.js";
|
||||
import { RdDDice } from "../rdd-dice.js";
|
||||
import { TMRUtility } from "../tmr-utility.js";
|
||||
|
||||
export class EffetsRencontre {
|
||||
|
||||
@@ -1,198 +1,206 @@
|
||||
{"name":"Argent (1 sol)","type":"monnaie","img":"systems/foundryvtt-reve-de-dragon/icons/objets/piece_argent_sol.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.6M7WG9ciKuoYtN9i"}},"_id":"0I30m9qcYJk6UR6o","system":{"description":"","descriptionmj":"","encombrement":null,"quantite":null,"qualite":0,"cout":1},"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206013,"modifiedTime":1671050477120,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"0Vgscex1VV4ybSUQ","name":"Bonnet de laine","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/bonnet_laine.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.0Vgscex1VV4ybSUQ"}},"system":{"description":"","descriptionmj":"","encombrement":0.05,"quantite":1,"qualite":0,"cout":0.06,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206013,"modifiedTime":1671050477120,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"1Dc4KzZageae7lhI","name":"Balles de jongleur","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/balle_jongleur.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.1Dc4KzZageae7lhI"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":4,"qualite":0,"cout":0.32,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206013,"modifiedTime":1671050477120,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"1O7IJiQSDYxJ5VsD","name":"Bouclier moyen","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/bouclier_moyen.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.1O7IJiQSDYxJ5VsD"}},"system":{"description":"","descriptionmj":"","equipe":false,"encombrement":2,"quantite":1,"qualite":0,"cout":6,"resistance":15,"categorie_parade":"boucliers","dommages":"0","penetration":0,"force":"11","competence":"Bouclier","lancer":"","tir":"","portee_courte":0,"portee_moyenne":0,"portee_extreme":0,"magique":false,"ecaille_efficacite":null,"resistance_magique":null,"rapide":false,"deuxmains":false,"unemain":false,"initpremierround":"hast"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206014,"modifiedTime":1671050477120,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Provisions cuites","type":"nourritureboisson","img":"systems/foundryvtt-reve-de-dragon/icons/objets/provision_cuite.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.1keQMXTZ2iriOuJh"}},"_id":"1keQMXTZ2iriOuJh","system":{"description":"<p>pain, fromage, viande séchée...</p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.02,"sust":1,"exotisme":0,"cuisinier":"","boisson":false,"desaltere":0,"alcoolise":false,"force":0},"ownership":{"default":0,"wYnBx3HmLfGzsj7P":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206014,"modifiedTime":1671050477120,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"2y61gBIFbATQaKDl","name":"1 m2 de laine","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/tissu_laine.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.2y61gBIFbATQaKDl"}},"system":{"description":"","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":0.1,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206014,"modifiedTime":1671050477120,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"3DJePXhrDWQxbUeM","name":"Dé à jouer en os","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/des_en_os.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.3DJePXhrDWQxbUeM"}},"system":{"description":"","descriptionmj":"","encombrement":0.01,"quantite":1,"qualite":0,"cout":0.1,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206015,"modifiedTime":1671050477120,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"3cn9nWtY0Vb1PLTx","name":"Dague de jet","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/objets/dagues.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.3cn9nWtY0Vb1PLTx"}},"system":{"description":"<p>Chaque point de force au dessus de 10 augmente les portées de 1m.</p>\n<p>Chaque point de force en dessous de 9 diminue les portées de 1m.</p>","descriptionmj":"","equipe":false,"encombrement":0.5,"quantite":1,"qualite":0,"cout":3,"resistance":0,"categorie_parade":"","dommages":"1","penetration":0,"force":"0","competence":"Dague","lancer":"Dague de jet","tir":"","portee_courte":3,"portee_moyenne":8,"portee_extreme":15,"magique":false,"ecaille_efficacite":0,"resistance_magique":0,"rapide":true,"deuxmains":false,"unemain":true,"initpremierround":"dague"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206015,"modifiedTime":1671050477120,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"3t0NhMC0cFQyCZGH","name":"Soufflet","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/soufflet.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.3t0NhMC0cFQyCZGH"}},"system":{"description":"","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":0.4,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206015,"modifiedTime":1671050477120,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"3uWCDH1NOjHJpVo1","name":"Maillet","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/objets/maillet.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.3uWCDH1NOjHJpVo1"}},"system":{"description":"","descriptionmj":"","equipe":false,"encombrement":0.1,"quantite":1,"qualite":0,"cout":0.05,"resistance":7,"categorie_parade":"","dommages":"1","penetration":0,"force":"7","competence":"Masse à 1 main","lancer":"","tir":"","portee_courte":0,"portee_moyenne":0,"portee_extreme":0,"magique":false,"ecaille_efficacite":0,"resistance_magique":0,"rapide":false,"deuxmains":false,"unemain":false,"initpremierround":"masse"},"ownership":{"default":0,"Q4cUvqxCxMoTJXDL":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206015,"modifiedTime":1671050477120,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"4GeV81qoJrjHIgzR","name":"Tournegraisse","type":"potion","img":"systems/foundryvtt-reve-de-dragon/icons/objets/tournegraisse.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.4GeV81qoJrjHIgzR"}},"system":{"description":"<p>Crème sirupeuse blanchâtre.</p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":2,"rarete":"","categorie":"AlchimieAutre","herbe":"","herbebrins":0,"herbebonus":0,"reposalchimique":false,"pr":0,"prpermanent":false,"prdate":0,"soinherbe":"","soinherbebonus":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206015,"modifiedTime":1671050477121,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"4LFXefT0HFpaXQLx","name":"Briquet à silex","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/briquet.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.4LFXefT0HFpaXQLx"}},"system":{"description":"","descriptionmj":"","encombrement":0.08,"quantite":1,"qualite":0,"cout":0.4,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206015,"modifiedTime":1671050477121,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"4qPaCKONcrsK6JbQ","name":"Pichet de grès (1 litre)","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/pichet.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.4qPaCKONcrsK6JbQ"}},"system":{"description":"","descriptionmj":"","encombrement":0.3,"quantite":1,"qualite":0,"cout":0.3,"contenu":[],"capacite":0.5,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206016,"modifiedTime":1671050477121,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"4qoLpa4shvkgDZRy","name":"Culottes de velours","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/culottes_velours.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.4qoLpa4shvkgDZRy"}},"system":{"description":"","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":6,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206016,"modifiedTime":1671050477121,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"5GOk9cMApM4dBcIU","name":"Casserole de fer (1 litre)","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/casserole.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.5GOk9cMApM4dBcIU"}},"system":{"description":"","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":0.3,"contenu":[],"capacite":0.5,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206016,"modifiedTime":1671050477121,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"65SRmXVcyiG5ZW9l","name":"Cuillère de fer","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/cuillere_fer.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.65SRmXVcyiG5ZW9l"}},"system":{"description":"","descriptionmj":"","encombrement":0.05,"quantite":1,"qualite":0,"cout":0.1,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206016,"modifiedTime":1671050477121,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"6MVWA3DYbpw8122A","name":"Entonnoir de fer","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/entonnoir.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.6MVWA3DYbpw8122A"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.15,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206016,"modifiedTime":1671050477121,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"6s5QjArwz9w9JIGL","name":"Double dragonne","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/double_dragonne.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.6s5QjArwz9w9JIGL"}},"system":{"description":"<p>Apparue vers la fin du Second Âge, c’était<em> une grande épée à deux mains</em>. Encombrante et prohibant le bouclier, c’était avant tout une épée de duel et de frime.</p>","descriptionmj":"","equipe":false,"encombrement":4,"quantite":1,"qualite":0,"cout":50,"resistance":13,"categorie_parade":"epees-lourdes","dommages":"5","penetration":0,"force":"13","competence":"Epée à 2 mains","lancer":"","tir":"","portee_courte":0,"portee_moyenne":0,"portee_extreme":0,"magique":false,"ecaille_efficacite":null,"resistance_magique":null,"rapide":false,"deuxmains":true,"unemain":false,"initpremierround":"hast"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206017,"modifiedTime":1671050477121,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"7B9sKLf4ipRyyEjF","name":"Bouclier lourd","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/bouclier_grand.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.7B9sKLf4ipRyyEjF"}},"system":{"description":"","descriptionmj":"","equipe":false,"encombrement":3,"quantite":1,"qualite":0,"cout":8,"resistance":20,"categorie_parade":"boucliers","dommages":"0","penetration":0,"force":"13","competence":"Bouclier","lancer":"","tir":"","portee_courte":0,"portee_moyenne":0,"portee_extreme":0,"magique":false,"ecaille_efficacite":null,"resistance_magique":null,"rapide":false,"deuxmains":false,"unemain":false,"initpremierround":"hast"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206017,"modifiedTime":1671050477121,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"7YuWWsFIuZgakGUS","name":"Mortier en marbre","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/mortier.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.7YuWWsFIuZgakGUS"}},"system":{"description":"","descriptionmj":"","encombrement":0.3,"quantite":1,"qualite":0,"cout":0.2,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206017,"modifiedTime":1671050477121,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"7c7CO626TCo4lg8b","name":"Petite scie cadre","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/scie.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.7c7CO626TCo4lg8b"}},"system":{"description":"","descriptionmj":"","encombrement":1,"quantite":1,"qualite":0,"cout":6,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206017,"modifiedTime":1671050477121,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"7u9yAlaFhKcVdEC6","name":"Matériel de chirurgie","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/materiel_chirurgie.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.7u9yAlaFhKcVdEC6"}},"system":{"description":"<p>(pincettes, lancette, crin, aiguille)</p>","descriptionmj":"","encombrement":0.06,"quantite":1,"qualite":0,"cout":1,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206017,"modifiedTime":1671050477121,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"8bwP6zncdFP0O9ew","name":"Corde (10 m)","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/corde.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.8bwP6zncdFP0O9ew"}},"system":{"description":"","descriptionmj":"","encombrement":1,"quantite":1,"qualite":0,"cout":0.3,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206017,"modifiedTime":1671050477121,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"92GDNmNVa2u0gzpx","name":"Massette","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/massette.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.92GDNmNVa2u0gzpx"}},"system":{"description":"","descriptionmj":"","equipe":false,"encombrement":1,"quantite":1,"qualite":0,"cout":2,"resistance":8,"categorie_parade":"","dommages":"2","penetration":0,"force":"9","competence":"Masse à 1 main","lancer":"","tir":"","portee_courte":0,"portee_moyenne":0,"portee_extreme":0,"magique":false,"ecaille_efficacite":0,"resistance_magique":0,"rapide":true,"deuxmains":false,"unemain":true,"initpremierround":"masse"},"ownership":{"default":0,"Q4cUvqxCxMoTJXDL":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206017,"modifiedTime":1671050477121,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"9cLkTDugz84gpHUB","name":"Bitume de Camphre","type":"potion","img":"systems/foundryvtt-reve-de-dragon/icons/objets/bitume_de_camphre.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.9cLkTDugz84gpHUB"}},"system":{"description":"<p>Crème sirupeuse grisâtre.</p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":2,"rarete":"","categorie":"AlchimieAutre","herbe":"","herbebrins":0,"herbebonus":0,"reposalchimique":false,"pr":0,"prpermanent":false,"prdate":0,"soinherbe":"","soinherbebonus":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206018,"modifiedTime":1671050477122,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"A3jx5dPkk5IeXSXn","name":"Lait de lune","type":"potion","img":"systems/foundryvtt-reve-de-dragon/icons/objets/lait_de_lune.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.A3jx5dPkk5IeXSXn"}},"system":{"description":"<p>Fluide.</p>\n<p>Lait de laie.</p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":1,"rarete":"","categorie":"Alchimie","herbe":"","herbebrins":0,"herbebonus":0,"reposalchimique":false,"pr":0,"prpermanent":false,"prdate":0,"soinherbe":"","soinherbebonus":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206018,"modifiedTime":1671050477122,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Bronze (10 deniers)","type":"monnaie","img":"systems/foundryvtt-reve-de-dragon/icons/objets/piece_bronze_epees.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.hifMbbRrRdQxflsx"}},"_id":"A8UcYUIIlb6YfczN","system":{"description":"","descriptionmj":"","encombrement":0.01,"quantite":1,"qualite":0,"cout":0.1},"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206018,"modifiedTime":1671050477122,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"A9nMgTyEwYzdA0zT","name":"Manteau de velours","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/manteau_velours.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.A9nMgTyEwYzdA0zT"}},"system":{"description":"","descriptionmj":"","encombrement":1,"quantite":1,"qualite":0,"cout":10,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206018,"modifiedTime":1671050477122,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"AOQsKTjIbcy8NV9t","name":"Pierre à aiguiser","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/pierre_a_aiguiser.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.AOQsKTjIbcy8NV9t"}},"system":{"description":"","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":0.3,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206018,"modifiedTime":1671050477122,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"As5kYvyOrWrr8KJm","name":"Etui à luth de cuir","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/etui_luth.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.As5kYvyOrWrr8KJm"}},"system":{"description":"","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":1,"contenu":[],"capacite":1,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206018,"modifiedTime":1671050477122,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"B2BhuxveVKMnD8fe","name":"Bottes de cuir souple","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/bottes_de_cuir.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.B2BhuxveVKMnD8fe"}},"system":{"description":"","descriptionmj":"","encombrement":0.4,"quantite":1,"qualite":0,"cout":2,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206018,"modifiedTime":1671050477122,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"BQPhNy9AUCpEGgFg","name":"Couteau de cuisine","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/objets/couteau-cuisine.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.BQPhNy9AUCpEGgFg"}},"system":{"description":"","descriptionmj":"","equipe":false,"encombrement":0.2,"quantite":1,"qualite":0,"cout":1,"resistance":6,"categorie_parade":"dagues","dommages":"1","penetration":0,"force":"0","competence":"Dague","lancer":"Dague de jet","tir":"","portee_courte":3,"portee_moyenne":8,"portee_extreme":15,"magique":false,"ecaille_efficacite":null,"resistance_magique":null,"rapide":false,"deuxmains":false,"unemain":false,"initpremierround":"dague"},"ownership":{"default":0,"Q4cUvqxCxMoTJXDL":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206018,"modifiedTime":1671050477122,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"CMtQM06J3BZsHHxH","name":"Sandales","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/sandales.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.CMtQM06J3BZsHHxH"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.3,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206018,"modifiedTime":1671050477122,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"CQSxJv1mgmIeMCbM","name":"Grappin","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/grappin.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.CQSxJv1mgmIeMCbM"}},"system":{"description":"","descriptionmj":"","encombrement":0.5,"quantite":1,"qualite":0,"cout":2,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206018,"modifiedTime":1671050477122,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"ElweMV283IUpqaik","name":"Sable-Poudre","type":"potion","img":"systems/foundryvtt-reve-de-dragon/icons/objets/sable_poudre.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.ElweMV283IUpqaik"}},"system":{"description":"<p>Granulés. Poudre blanche.</p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":2,"rarete":"","categorie":"AlchimieAutre","herbe":"","herbebrins":0,"herbebonus":0,"reposalchimique":false,"pr":0,"prpermanent":false,"prdate":0,"soinherbe":"","soinherbebonus":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206019,"modifiedTime":1671050477123,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"Eospy1EFNlhgOyXc","name":"Lacet de cuir (1 m)","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/lacet.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.Eospy1EFNlhgOyXc"}},"system":{"description":"","descriptionmj":"","encombrement":0.01,"quantite":1,"qualite":0,"cout":0.06,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206019,"modifiedTime":1671050477123,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"F6ZHJth4t0PA5PMB","name":"Alêne, poinçon","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/poincon_2.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.F6ZHJth4t0PA5PMB"}},"system":{"description":"","descriptionmj":"","encombrement":0.05,"quantite":1,"qualite":0,"cout":0.1,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206019,"modifiedTime":1671050477123,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"FH3mSvdebfhIL2Af","name":"Topazoïne","type":"potion","img":"systems/foundryvtt-reve-de-dragon/icons/objets/topazoine.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.FH3mSvdebfhIL2Af"}},"system":{"description":"<p>Granulés. Coquille d'oeuf de cane broyé.</p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":2,"rarete":"","categorie":"AlchimieAutre","herbe":"","herbebrins":0,"herbebonus":0,"reposalchimique":false,"pr":0,"prpermanent":false,"prdate":0,"soinherbe":"","soinherbebonus":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206019,"modifiedTime":1671050477123,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"FaNRC7YQzibSdqZU","name":"Plume de fer","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/plume_de_fer.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.FaNRC7YQzibSdqZU"}},"system":{"description":"","descriptionmj":"","encombrement":0.01,"quantite":1,"qualite":0,"cout":0.1,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206019,"modifiedTime":1671050477123,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"Flx5inKGs1GQKoYq","name":"Tube à parchemins","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/tube_parchemin.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.Flx5inKGs1GQKoYq"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.5,"contenu":[],"capacite":1.3,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206019,"modifiedTime":1671050477123,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"GAJIShPe7WugrIVO","name":"Manteau de fourrure","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/manteau_fourrure.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.GAJIShPe7WugrIVO"}},"system":{"description":"<p>En fonction de la qualité de la fourrure, le prix d'un tel manteau peut varier de 1 à 20 sols.</p>","descriptionmj":"","encombrement":1,"quantite":1,"qualite":0,"cout":0,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206020,"modifiedTime":1671050477123,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"GiquTnEsiVZn7m6Y","name":"Bas de soie","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/bas_soie.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.GiquTnEsiVZn7m6Y"}},"system":{"description":"","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":3,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206020,"modifiedTime":1671050477123,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"Gp9ZrwXkqZbJoVVT","name":"1 m² de toile de voile","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/voile.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.Gp9ZrwXkqZbJoVVT"}},"system":{"description":"","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":0.1,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206020,"modifiedTime":1671050477123,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"HdciYu5J2SrJO8e3","name":"Épée gnome","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/epee_gnome.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.HdciYu5J2SrJO8e3"}},"system":{"description":"<p>C’est une épée <em>courte</em>, essentiellement fabriquée et portée par les Gnomes au Second Âge.</p>","descriptionmj":"","equipe":false,"encombrement":1,"quantite":1,"qualite":0,"cout":12,"resistance":12,"categorie_parade":"epees-courtes","dommages":"2","penetration":0,"force":"8","competence":"Epée à 1 main","lancer":"","tir":"","portee_courte":0,"portee_moyenne":0,"portee_extreme":0,"magique":false,"ecaille_efficacite":null,"resistance_magique":null,"rapide":true,"deuxmains":false,"unemain":true,"initpremierround":"epeegnome"},"ownership":{"default":0,"Q4cUvqxCxMoTJXDL":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206020,"modifiedTime":1671050477123,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"HjbB4f1CDz96Hv88","name":"Rasoir","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/objets/rasoir.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.HjbB4f1CDz96Hv88"}},"system":{"description":"","descriptionmj":"","equipe":false,"encombrement":0.1,"quantite":1,"qualite":0,"cout":2,"resistance":0,"categorie_parade":"dagues","dommages":"1","penetration":0,"force":"0","competence":"Dague","lancer":"Dague de jet","tir":"","portee_courte":3,"portee_moyenne":8,"portee_extreme":15,"magique":false,"ecaille_efficacite":0,"resistance_magique":0,"rapide":false,"deuxmains":false,"unemain":false,"initpremierround":"dague"},"ownership":{"default":0,"Q4cUvqxCxMoTJXDL":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206021,"modifiedTime":1671050477123,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"HsIJSPQ46cec22Y2","name":"Couverture de laine","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/couverture_laine.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.HsIJSPQ46cec22Y2"}},"system":{"description":"","descriptionmj":"","encombrement":0.6,"quantite":1,"qualite":0,"cout":0.3,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206021,"modifiedTime":1671050477123,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"Ig9qIzaZ5SveXLF7","name":"Pelle","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/pelle.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.Ig9qIzaZ5SveXLF7"}},"system":{"description":"","descriptionmj":"","encombrement":1,"quantite":1,"qualite":0,"cout":1,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206021,"modifiedTime":1671050477123,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"InTxnjInfBYHsqcR","name":"Poêle à frire (40 cm)","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/poele.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.InTxnjInfBYHsqcR"}},"system":{"description":"","descriptionmj":"","encombrement":0.3,"quantite":1,"qualite":0,"cout":0.5,"contenu":[],"capacite":0.5,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206021,"modifiedTime":1671050477123,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"JXMef7FXVOG1XYWO","name":"Elixir des gnomes","type":"potion","img":"systems/foundryvtt-reve-de-dragon/icons/objets/elixir_des_gnomes.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.JXMef7FXVOG1XYWO"}},"system":{"description":"<p>Fluide.</p>\n<p>Liqueur violette.</p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":1,"rarete":"","categorie":"Alchimie","herbe":"","herbebrins":0,"herbebonus":0,"reposalchimique":false,"pr":0,"prpermanent":false,"prdate":0,"soinherbe":"","soinherbebonus":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206021,"modifiedTime":1671050477123,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"JfxFBlokIegRWTDo","name":"Torche 1/2 heure (60 min)","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/torche.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.JfxFBlokIegRWTDo"}},"system":{"description":"","descriptionmj":"","encombrement":0.3,"quantite":1,"qualite":0,"cout":0.02,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206021,"modifiedTime":1671050477124,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"JhQZDbsmFZBLRcln","name":"Sac en jute (20 litres)","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/sac_jute_20.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.JhQZDbsmFZBLRcln"}},"system":{"description":"","descriptionmj":"","encombrement":0.05,"quantite":1,"qualite":0,"cout":0.04,"contenu":[],"capacite":10,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206021,"modifiedTime":1671050477124,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"K4n2JuDnoHDUPCZG","name":"Bouilloire de fer (2 litres)","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/bouilloire.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.K4n2JuDnoHDUPCZG"}},"system":{"description":"","descriptionmj":"","encombrement":0.5,"quantite":1,"qualite":0,"cout":0.5,"contenu":[],"capacite":1,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206022,"modifiedTime":1671050477124,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"KQZIK8ltQ3sQiDGe","name":"Mailles de Fer","type":"armure","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/mailles.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.KQZIK8ltQ3sQiDGe"}},"system":{"description":"<p>Grand haubert de mailles avec capuche À enfiler sur une cotte de cuir souple ou de drap matelassé) + bottes de cuir / métal.</p>\n<p> </p>","descriptionmj":"","equipe":false,"encombrement":6,"quantite":1,"qualite":0,"cout":50,"protection":5,"deterioration":null,"malus":-4},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206022,"modifiedTime":1671050477124,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"KlydiUbayqBgJB6J","name":"Tablette de cire","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/tablette_cire.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.KlydiUbayqBgJB6J"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.2,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206022,"modifiedTime":1671050477124,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"KvzSNxISkWDoilO8","name":"Gemme Inconnue","type":"objet","flags":{"core":{"sourceId":"Item.V3V3wUXNCG6gzJFB"}},"img":"systems/foundryvtt-reve-de-dragon/icons/gemmes/seliphane.webp","effects":[],"system":{"description":"","descriptionmj":"","encombrement":null,"quantite":1,"qualite":0,"cout":0,"equipe":false,"resistance":0},"ownership":{"default":0,"Q4cUvqxCxMoTJXDL":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206022,"modifiedTime":1671050477124,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"LZPEdSIv3KywCwdk","name":"Liquide","type":"munition","img":"systems/foundryvtt-reve-de-dragon/icons/liquides/liquide_neutre.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.LZPEdSIv3KywCwdk"}},"system":{"description":"<p>1 mesure (20cl) d'un liquide.</p>\n<p><em>(à modifier/compléter)</em></p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206022,"modifiedTime":1671050477124,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"LaAP5tsP1Sc43hKO","name":"Lanterne à huile","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/lanterne_huile.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.LaAP5tsP1Sc43hKO"}},"system":{"description":"","descriptionmj":"","encombrement":1,"quantite":1,"qualite":0,"cout":5,"contenu":[],"capacite":0.3,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206022,"modifiedTime":1671050477124,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"LkE8EjPfao9m6Rn7","name":"Huile de Sélikanthe","type":"potion","img":"systems/foundryvtt-reve-de-dragon/icons/objets/huile_de_selikanthe.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.LkE8EjPfao9m6Rn7"}},"system":{"description":"<p>Fluide.</p>\n<p>Liquide légèrement huileux.</p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":1,"rarete":"","categorie":"Alchimie","herbe":"","herbebrins":0,"herbebonus":0,"reposalchimique":false,"pr":0,"prpermanent":false,"prdate":0,"soinherbe":"","soinherbebonus":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206022,"modifiedTime":1671050477124,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"Lz4dA2NwxdSZ3FZK","name":"Lime, Râpe","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/lime.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.Lz4dA2NwxdSZ3FZK"}},"system":{"description":"","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":0.5,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206022,"modifiedTime":1671050477125,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"M1RgJDuQUvxjqJVV","name":"Chandelle de suif (1 heure)","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/chandelle.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.M1RgJDuQUvxjqJVV"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.02,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206022,"modifiedTime":1671050477125,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"MGvyXFQJpv6nNynl","name":"Masse lourde","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/masse_lourde.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.MGvyXFQJpv6nNynl"}},"system":{"description":"","descriptionmj":"","equipe":false,"encombrement":3,"quantite":1,"qualite":0,"cout":4,"resistance":10,"categorie_parade":"","dommages":"3/4","penetration":0,"force":"12/11","competence":"Masse à 1 main","lancer":"","tir":"","portee_courte":0,"portee_moyenne":0,"portee_extreme":0,"magique":false,"ecaille_efficacite":0,"resistance_magique":0,"rapide":false,"deuxmains":true,"unemain":true,"initpremierround":"masse"},"ownership":{"default":0,"Q4cUvqxCxMoTJXDL":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206023,"modifiedTime":1671050477125,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"MQxgfYTEQEUhG116","name":"Épée bâtarde","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/epee_batarde.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.MQxgfYTEQEUhG116"}},"system":{"description":"<p>Comme son nom l’indique, c’est une <em>bâtarde </em>de l'épée longue et de l'épée sorde, à la fois longue et large, pouvant s’utiliser à une ou deux mains.</p>","descriptionmj":"","equipe":false,"encombrement":3,"quantite":1,"qualite":0,"cout":30,"resistance":14,"categorie_parade":"epees-lourdes","dommages":"4/5","penetration":0,"force":"13/12","competence":"Epée à 1 main","lancer":"","tir":"","portee_courte":0,"portee_moyenne":0,"portee_extreme":0,"magique":false,"ecaille_efficacite":null,"resistance_magique":null,"rapide":false,"deuxmains":true,"unemain":true,"initpremierround":"epeebatarde"},"ownership":{"default":0,"Q4cUvqxCxMoTJXDL":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206023,"modifiedTime":1671050477125,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"Mbh2M8JS1Rf0vxEX","name":"Harpe","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/harpe.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.Mbh2M8JS1Rf0vxEX"}},"system":{"description":"","descriptionmj":"","encombrement":1,"quantite":1,"qualite":0,"cout":5,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206023,"modifiedTime":1671050477125,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"NCp2kdTKmQGyAh1U","name":"Dague","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/dague.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sheetClass":"","sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.NCp2kdTKmQGyAh1U"}},"system":{"description":"","descriptionmj":"","equipe":false,"encombrement":0.5,"quantite":1,"qualite":0,"cout":3,"resistance":8,"categorie_parade":"dagues","dommages":"1","penetration":0,"force":"7","competence":"Dague","lancer":"Dague de jet","tir":"","portee_courte":3,"portee_moyenne":8,"portee_extreme":15,"magique":false,"ecaille_efficacite":null,"resistance_magique":null,"rapide":true,"deuxmains":false,"unemain":true,"initpremierround":"dague"},"ownership":{"default":0,"Q4cUvqxCxMoTJXDL":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206023,"modifiedTime":1671050477125,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"NNLhxjFsoJVdFuit","name":"Bouteille de verre (1 litre)","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/bouteille_verre.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.NNLhxjFsoJVdFuit"}},"system":{"description":"","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":0.7,"contenu":[],"capacite":0.5,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206023,"modifiedTime":1671050477125,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"OXFFRZOqlhZDJas3","name":"Béret de velours","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/beret_velours.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.OXFFRZOqlhZDJas3"}},"system":{"description":"","descriptionmj":"","encombrement":0.05,"quantite":1,"qualite":0,"cout":3,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206023,"modifiedTime":1671050477125,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"OYWzXiQUFsjU5AF2","name":"Perles de Bjwal","type":"potion","img":"systems/foundryvtt-reve-de-dragon/icons/objets/perles_bjwal.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.OYWzXiQUFsjU5AF2"}},"system":{"description":"<p>Petits granulés translucides.</p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":1,"rarete":"","categorie":"AlchimieAutre","herbe":"","herbebrins":0,"herbebonus":0,"reposalchimique":false,"pr":0,"prpermanent":false,"prdate":0,"soinherbe":"","soinherbebonus":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206023,"modifiedTime":1671050477125,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"P0yc6QfgKVmM0fpu","name":"Ecuelle de grès","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/ecuelle_gres.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.P0yc6QfgKVmM0fpu"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.1,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206023,"modifiedTime":1671050477125,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"PAqV7Fj8AFEpfEpy","name":"Provisions non-cuites","type":"nourritureboisson","img":"systems/foundryvtt-reve-de-dragon/icons/objets/provision_crue.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.2P30CKBRVIPiTf3Z"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.01,"sust":1,"exotisme":0,"cuisinier":"","boisson":false,"desaltere":0,"alcoolise":false,"force":0},"ownership":{"default":0,"wYnBx3HmLfGzsj7P":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206023,"modifiedTime":1671050477125,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"PH2J4zR0hwXSg0vc","name":"Charbon de bois 1 kg","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/charbon.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.PH2J4zR0hwXSg0vc"}},"system":{"description":"","descriptionmj":"","encombrement":0.04,"quantite":1,"qualite":0,"cout":0.06,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206023,"modifiedTime":1671050477125,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"PSc92VlQCdNnbPlg","name":"Lance courte","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/lance.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.PSc92VlQCdNnbPlg"}},"system":{"description":"","descriptionmj":"","equipe":false,"encombrement":2,"quantite":1,"qualite":0,"cout":3,"resistance":5,"categorie_parade":"lances","dommages":"2","penetration":0,"force":"8","competence":"Lance","lancer":"","tir":"","portee_courte":0,"portee_moyenne":0,"portee_extreme":0,"magique":false,"ecaille_efficacite":null,"resistance_magique":null,"rapide":true,"deuxmains":false,"unemain":true,"initpremierround":"lance"},"ownership":{"default":0,"Q4cUvqxCxMoTJXDL":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206024,"modifiedTime":1671050477125,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"PaJoTirnA6h4F3pH","name":"Hameçon","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/hame%C3%A7on.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.PaJoTirnA6h4F3pH"}},"system":{"description":"","descriptionmj":"","encombrement":0.01,"quantite":1,"qualite":0,"cout":0.1,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206024,"modifiedTime":1671050477125,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"PkDJ36j7mS3Kfetp","name":"Bouteille de grès (1 litre)","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/bouteille_gres.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.PkDJ36j7mS3Kfetp"}},"system":{"description":"","descriptionmj":"","encombrement":0.3,"quantite":1,"qualite":0,"cout":0.4,"contenu":[],"capacite":0.5,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206024,"modifiedTime":1671050477125,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"PrnJrG50u1UPdlJN","name":"Liqueur de Bagdol","type":"potion","img":"systems/foundryvtt-reve-de-dragon/icons/objets/liqueur_de_bagdol.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.PrnJrG50u1UPdlJN"}},"system":{"description":"<p>Fluide. Liquide noir et odorant.</p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.5,"rarete":"","categorie":"Alchimie","herbe":"","herbebrins":0,"herbebonus":0,"reposalchimique":false,"pr":0,"prpermanent":false,"prdate":0,"soinherbe":"","soinherbebonus":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206024,"modifiedTime":1671050477125,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"PuuPn6WGfU8uBAyb","name":"Robe de soie","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/robe_soie.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.PuuPn6WGfU8uBAyb"}},"system":{"description":"","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":10,"equipe":false,"resistance":0},"ownership":{"default":0,"jOzRscDxoXZWpGS6":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206024,"modifiedTime":1671050477126,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"Qh4Tp7lZ6wLnX4w0","name":"Bâton","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/baton.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.Qh4Tp7lZ6wLnX4w0"}},"system":{"description":"","descriptionmj":"","equipe":false,"encombrement":2,"quantite":1,"qualite":0,"cout":0.5,"resistance":8,"categorie_parade":"","dommages":"1","penetration":0,"force":"9","competence":"Masse à 2 mains","lancer":"","tir":"","portee_courte":0,"portee_moyenne":0,"portee_extreme":0,"magique":false,"ecaille_efficacite":null,"resistance_magique":null,"rapide":false,"deuxmains":true,"unemain":false,"initpremierround":"baton"},"ownership":{"default":0,"Q4cUvqxCxMoTJXDL":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206024,"modifiedTime":1671050477126,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"RKr1ZhTvC6poiNa1","name":"Gros Clou","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/gros_clou.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.RKr1ZhTvC6poiNa1"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.05,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206024,"modifiedTime":1671050477126,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"RNxCQWMDy06uQ8uj","name":"Ecuelle de fer","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/ecuelle_fer.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.RNxCQWMDy06uQ8uj"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.15,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206024,"modifiedTime":1671050477126,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"RSni2r8jLccvkc9i","name":"Cristal alchimique","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/cristal_alchimique.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.RSni2r8jLccvkc9i"}},"system":{"description":"","descriptionmj":"","encombrement":0.09,"quantite":1,"qualite":0,"cout":4,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206024,"modifiedTime":1671050477126,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"RWYaq8tnpgrkh5ED","name":"Flacon de grès (40 cl)","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/flacon_gres1.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.RWYaq8tnpgrkh5ED"}},"system":{"description":"","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":0.15,"contenu":[],"capacite":0.2,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206025,"modifiedTime":1671050477126,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"Reqo8GC9p7GI9k9N","name":"Chope de grès (20 cl)","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/chope_gres.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.Reqo8GC9p7GI9k9N"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.1,"contenu":[],"capacite":0.1,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206025,"modifiedTime":1671050477126,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"Ri5QtS98FTfgHk2N","name":"Javeline","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/javeline.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.Ri5QtS98FTfgHk2N"}},"system":{"description":"","descriptionmj":"","equipe":false,"encombrement":1,"quantite":1,"qualite":0,"cout":1,"resistance":5,"categorie_parade":"lances","dommages":"1","penetration":0,"force":"7","competence":"Lance","lancer":"Javelot","tir":"","portee_courte":6,"portee_moyenne":12,"portee_extreme":20,"magique":false,"ecaille_efficacite":0,"resistance_magique":0,"rapide":true,"deuxmains":false,"unemain":true,"initpremierround":"hast"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206025,"modifiedTime":1671050477126,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"Ro5cOOtLLB0lMlzl","name":"Javelot","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/objets/javelot.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.Ro5cOOtLLB0lMlzl"}},"system":{"description":"<p>Chaque point de force au dessus de 10 augmente les portées de 1m.</p>\n<p>Chaque point de force en dessous de 9 diminue les portées de 1m.</p>","descriptionmj":"","equipe":false,"encombrement":1,"quantite":1,"qualite":0,"cout":1,"resistance":0,"categorie_parade":"lances","dommages":"1","penetration":0,"force":"0","competence":"Lance","lancer":"Javelot","tir":"","portee_courte":6,"portee_moyenne":12,"portee_extreme":20,"magique":false,"ecaille_efficacite":0,"resistance_magique":0,"rapide":true,"deuxmains":false,"unemain":true,"initpremierround":"hast"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206025,"modifiedTime":1671050477126,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"RyW0z9Y5UeZSYjFZ","name":"Savon 500g","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/savon.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.RyW0z9Y5UeZSYjFZ"}},"system":{"description":"","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":0.2,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206025,"modifiedTime":1671050477126,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"S3bLtbXe6BzEFCjt","name":"Plaques de Fer","type":"armure","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/armure_plaques.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.S3bLtbXe6BzEFCjt"}},"system":{"description":"<p>L'armure classique du chevalier. Armure complète de plaques (heaume, cuirasse, épaulières, cubitières, ventrière, cuissards, jambières).</p>\n<p> </p>","descriptionmj":"","equipe":false,"encombrement":8,"quantite":1,"qualite":0,"cout":100,"protection":6,"deterioration":0,"malus":-6},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206026,"modifiedTime":1671050477127,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"SZyBQbInuUGASlGb","name":"Tambourin","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/tambourin.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.SZyBQbInuUGASlGb"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.5,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206026,"modifiedTime":1671050477127,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"Sm28dG9isppoQzPQ","name":"Bas de lin","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/bas_lin.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.Sm28dG9isppoQzPQ"}},"system":{"description":"","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0.3,"equipe":false,"resistance":0},"ownership":{"default":0,"jOzRscDxoXZWpGS6":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206026,"modifiedTime":1671050477127,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"SrV0r5hnGdKeSIHR","name":"Cuillère de bois","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/cuillere_bois.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.SrV0r5hnGdKeSIHR"}},"system":{"description":"","descriptionmj":"","encombrement":0.03,"quantite":1,"qualite":0,"cout":0.03,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206026,"modifiedTime":1671050477127,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"SsnGNjTekvB50uWa","name":"Chapeau de cuir souple","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/chapeau_cuir.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.SsnGNjTekvB50uWa"}},"system":{"description":"","descriptionmj":"","encombrement":0.08,"quantite":1,"qualite":0,"cout":0.5,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206026,"modifiedTime":1671050477127,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"TKsUXJq9w7ezcFGQ","name":"Hache de bataille","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/hache_bataille.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.TKsUXJq9w7ezcFGQ"}},"system":{"description":"","descriptionmj":"","equipe":false,"encombrement":2,"quantite":1,"qualite":0,"cout":15,"resistance":8,"categorie_parade":"haches","dommages":"3/4","penetration":0,"force":"12/11","competence":"Hache à 1 main","lancer":"","tir":"","portee_courte":0,"portee_moyenne":0,"portee_extreme":0,"magique":false,"ecaille_efficacite":0,"resistance_magique":0,"rapide":false,"deuxmains":true,"unemain":true,"initpremierround":"hachebataille"},"ownership":{"default":0,"Q4cUvqxCxMoTJXDL":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206026,"modifiedTime":1671050477127,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"TY6Ft8a6WfxD6pD9","name":"Bobineau de fil","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/bobineau.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.TY6Ft8a6WfxD6pD9"}},"system":{"description":"","descriptionmj":"","encombrement":0.01,"quantite":1,"qualite":0,"cout":0.1,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206026,"modifiedTime":1671050477127,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"UDmq6CY3NsttcHe4","name":"Peigne en corne","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/peigne.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.UDmq6CY3NsttcHe4"}},"system":{"description":"","descriptionmj":"","encombrement":0.04,"quantite":1,"qualite":0,"cout":0.4,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206026,"modifiedTime":1671050477128,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"UE79xKWXTwYAn70K","name":"Arme d’hast","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/hast.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.UE79xKWXTwYAn70K"}},"system":{"description":"","descriptionmj":"","equipe":false,"encombrement":4,"quantite":1,"qualite":0,"cout":10,"resistance":8,"categorie_parade":"hast","dommages":"4","penetration":0,"force":"12","competence":"Armes d'hast","lancer":"","tir":"","portee_courte":0,"portee_moyenne":0,"portee_extreme":0,"magique":false,"ecaille_efficacite":null,"resistance_magique":null,"rapide":false,"deuxmains":true,"unemain":false,"initpremierround":"hast"},"ownership":{"default":0,"Q4cUvqxCxMoTJXDL":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206026,"modifiedTime":1671050477128,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"UICiMF3wBeLsqm8L","name":"Pipe en bois","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/pipe.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.UICiMF3wBeLsqm8L"}},"system":{"description":"","descriptionmj":"","encombrement":0.04,"quantite":1,"qualite":0,"cout":0.1,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206026,"modifiedTime":1671050477128,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"UMfXFhVhdoVQVEKy","name":"Fronde","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/objets/fronde.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.UMfXFhVhdoVQVEKy"}},"system":{"description":"<p>Peut tirer tous les rounds.</p>","descriptionmj":"","equipe":false,"encombrement":0.08,"quantite":1,"qualite":0,"cout":0.6,"resistance":0,"categorie_parade":"","dommages":"1","penetration":0,"force":"0","competence":"","lancer":"","tir":"Fronde","portee_courte":8,"portee_moyenne":15,"portee_extreme":25,"magique":false,"ecaille_efficacite":0,"resistance_magique":0,"rapide":false,"deuxmains":false,"unemain":false,"initpremierround":""},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206026,"modifiedTime":1671050477128,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"UYXXggulNwnodaOt","name":"Chope de fer (20 cl)","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/chope_fer.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.UYXXggulNwnodaOt"}},"system":{"description":"","descriptionmj":"","encombrement":0.08,"quantite":1,"qualite":0,"cout":0.15,"contenu":[],"capacite":0.1,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206027,"modifiedTime":1671050477128,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"UczsYTAoP9koA2SL","name":"Bourse, sachet de tissu","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/bourse_sachet.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.UczsYTAoP9koA2SL"}},"system":{"description":"","descriptionmj":"","encombrement":0.01,"quantite":1,"qualite":0,"cout":0.05,"contenu":[],"capacite":0.3,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206107,"modifiedTime":1671050477128,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"UsyV9n0byCeYirNC","name":"Esparlongue","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/esparlongue.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.UsyV9n0byCeYirNC"}},"system":{"description":"<p>C’est une épée semblable à la <em>rapière</em>, longue et ne frappant uniquement d’estoc. Elle doit son nom à ce qu’elle était particulièrement en vogue, au Second Âge, dans la cité d’Esparlongue. En ce début du Troisième Âge, toutefois, on lui substitue le plus souvent la <strong>demi-dragonne</strong>, épée très voisine, ne frappant pareillement que d’estoc, mais plus résistante (résistance 10) et moins coûteuse (15 sols) ; son bonus aux dommages (+2) est identique.</p>","descriptionmj":"","equipe":false,"encombrement":1.5,"quantite":1,"qualite":0,"cout":20,"resistance":9,"categorie_parade":"epees-longues","dommages":"2","penetration":0,"force":"10","competence":"Epée à 1 main","lancer":"","tir":"","portee_courte":0,"portee_moyenne":0,"portee_extreme":0,"magique":false,"ecaille_efficacite":0,"resistance_magique":0,"rapide":true,"deuxmains":false,"unemain":true,"initpremierround":"esparlongue"},"ownership":{"default":0,"Q4cUvqxCxMoTJXDL":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206107,"modifiedTime":1671050477129,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"Uxk2tvEqtrmYScjK","name":"Pot à braise","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/pot_a_braise.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.Uxk2tvEqtrmYScjK"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.2,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206107,"modifiedTime":1671050477129,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"VsjRwh9Z9PMpFKdI","name":"Craie 1 bâton","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/craie.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.VsjRwh9Z9PMpFKdI"}},"system":{"description":"","descriptionmj":"","encombrement":0.01,"quantite":1,"qualite":0,"cout":0.01,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206107,"modifiedTime":1671050477129,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"WC1jMDKcxEJQWGOR","name":"Burette de fer blanc (40 cl)","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/burette.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.WC1jMDKcxEJQWGOR"}},"system":{"description":"","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":0.5,"contenu":[],"capacite":0.2,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206107,"modifiedTime":1671050477129,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"WTHZdtgf6lHUSKDx","name":"Fouet","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/objets/fouet.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.WTHZdtgf6lHUSKDx"}},"system":{"description":"<p>Provoque des dégâts \"non mortels\".</p>\n<p>Les armures sont majorées de 2.</p>\n<p>Si la protection atteint une valeur de 5 ou plus, le fouet ne peut causer de dégât.</p>","descriptionmj":"","equipe":false,"encombrement":0.5,"quantite":1,"qualite":0,"cout":1,"resistance":0,"categorie_parade":"","dommages":"1","penetration":-1,"force":"0","competence":"","lancer":"Fouet","tir":"","portee_courte":2,"portee_moyenne":2,"portee_extreme":3,"magique":false,"ecaille_efficacite":0,"resistance_magique":0,"rapide":false,"deuxmains":false,"unemain":false,"initpremierround":"hast"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206107,"modifiedTime":1671050477129,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"WTWXZeoK5HpCrGFy","name":"Hachette","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/objets/hachette.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.WTWXZeoK5HpCrGFy"}},"system":{"description":"","descriptionmj":"","equipe":false,"encombrement":1,"quantite":1,"qualite":0,"cout":4,"resistance":6,"categorie_parade":"haches","dommages":"2","penetration":0,"force":"8","competence":"Hache à 1 main","lancer":"","tir":"","portee_courte":0,"portee_moyenne":0,"portee_extreme":0,"magique":false,"ecaille_efficacite":null,"resistance_magique":null,"rapide":false,"deuxmains":false,"unemain":false,"initpremierround":"dague"},"ownership":{"default":0,"Q4cUvqxCxMoTJXDL":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206107,"modifiedTime":1671050477129,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"XTZVrcMNofAviP63","name":"Cire d'abeille 500g","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/cire.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.XTZVrcMNofAviP63"}},"system":{"description":"","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":0.15,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206108,"modifiedTime":1671050477129,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"XlKp5BvZX8A03fUg","name":"Sac à dos de cuir","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/sac_a_dos.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.XlKp5BvZX8A03fUg"}},"system":{"description":"","descriptionmj":"","encombrement":0.4,"quantite":1,"qualite":0,"cout":1,"contenu":[],"capacite":25,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206108,"modifiedTime":1671050477129,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"XoslLyWIJYY2RGzz","name":"Fiole de verre (20 cl)","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/fiole_verre.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.XoslLyWIJYY2RGzz"}},"system":{"description":"","descriptionmj":"","encombrement":0.06,"quantite":1,"qualite":0,"cout":0.2,"contenu":[],"capacite":0.1,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206108,"modifiedTime":1671050477129,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"XwuLVGasPJXzvC09","name":"Encre 20 cl","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/encre_20cl.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.XwuLVGasPJXzvC09"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.1,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206108,"modifiedTime":1671050477129,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"YHPrUuGGGTGZMNAg","name":"Bière","type":"nourritureboisson","img":"systems/foundryvtt-reve-de-dragon/icons/liquides/liquide_biere.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.u7lMLkVlFCXBj8Bc"}},"system":{"description":"<p>1 mesure (20cl) de bière.</p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.01,"sust":0,"exotisme":0,"cuisinier":"","boisson":true,"desaltere":0.8,"alcoolise":true,"force":-1,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206108,"modifiedTime":1671050477129,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"YNbbSGLnexiXNyXU","name":"Manteau de laine","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/manteau_laine.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.YNbbSGLnexiXNyXU"}},"system":{"description":"","descriptionmj":"","encombrement":0.8,"quantite":1,"qualite":0,"cout":0.6,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206108,"modifiedTime":1671050477129,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"Yh7VGX3BikmIjVQH","name":"Gourdin","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/gourdin.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.Yh7VGX3BikmIjVQH"}},"system":{"description":"","descriptionmj":"","equipe":false,"encombrement":1,"quantite":1,"qualite":0,"cout":0,"resistance":8,"categorie_parade":"","dommages":"1","penetration":0,"force":"7","competence":"Masse à 1 main","lancer":"","tir":"","portee_courte":0,"portee_moyenne":0,"portee_extreme":0,"magique":false,"ecaille_efficacite":0,"resistance_magique":0,"rapide":true,"deuxmains":false,"unemain":true,"initpremierround":"gourdin"},"ownership":{"default":0,"Q4cUvqxCxMoTJXDL":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206108,"modifiedTime":1671050477129,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"Yyn39VDRnO6oA3Uq","name":"Echecs draconics en bois","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/echecs.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.Yyn39VDRnO6oA3Uq"}},"system":{"description":"","descriptionmj":"","encombrement":0.5,"quantite":1,"qualite":0,"cout":2,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206108,"modifiedTime":1671050477129,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"Z0ij7qpoYeWMVocP","name":"Ceinturon de cuir","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/ceinturon.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.Z0ij7qpoYeWMVocP"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.5,"contenu":[],"capacite":6,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206108,"modifiedTime":1671050477129,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"ZLda3pfrbiKucSea","name":"Cornebouffe","type":"nourritureboisson","img":"systems/foundryvtt-reve-de-dragon/icons/objets/cornebouffe.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.NuwD0kiJyoqevKib"}},"system":{"description":"<p><span class=\"fontstyle0\">La cornebouffe est une préparation à base de gibier, élaborée dans les forêts proches de la mer par des chasseurs spécialisés : les </span><span class=\"fontstyle2\">cornebouffiers</span><span class=\"fontstyle0\">. Acheminée vers les ports, principaux consommateurs, elle constitue l’aliment de base de la plupart des marins.</span></p>\n<p><span class=\"fontstyle0\">Certains voyageurs qui l’ont expérimentée et en ont accepté l’exotisme, en transportent parfois en cas de disette. Pratiquement, il s’agit de gibier référentiellement cornu (bramart, cornicochon, mercureuil), que l’on cuit et recuit dans de l’eau de mer avec des herbes, jusqu’à obtenir une pâte, sorte de mastic, que l’on façonne en forme de galettes, puis que l’on laisse longuement sécher au soleil. On aboutit au final à des sortes de petites briques plates, de la taille d’une demi-main, de couleur vert-de-gris, et à peu près aussi dures que les briques véritables. La meilleure façon de consommer ces galettes est de les réhydrater avec de l’eau chaude, c’est la façon dite </span><span class=\"fontstyle2\">soupée </span><span class=\"fontstyle0\">: on obtient une sorte de soupe ou de bouillie gluante. L’autre façon, dite sèche, consiste à les grignoter telles quelles comme des biscuits, mais il est impératif de boire beaucoup par dessus, sous peine d’une soif torride accompagnée de maux d’estomac.</span></p>\n<p><span class=\"fontstyle0\">Légère, peu encombrante, et surtout nourrissante, une galette de cornebouffe suffit pour un repas. Quant au goût, eh bien... ceux qui disent que, tant qu’à y aller, autant manger directement des crottes de chien à la croque-au-sel, ne sont probablement que des enfants gâtés et difficiles.</span></p>\n<p><span class=\"fontstyle0\">Aliment de longue conservation (pratiquement inaltérable), la cornebouffe possède un des meilleurs rapports sustentation/encombrement.</span></p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.02,"sust":3,"exotisme":-2,"cuisinier":"","boisson":false,"desaltere":0,"alcoolise":false,"force":0,"equipe":false,"resistance":0},"ownership":{"default":0,"Q4cUvqxCxMoTJXDL":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206108,"modifiedTime":1671050477130,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"ZaAKf4n8mtevbMM0","name":"Hydromel","type":"nourritureboisson","img":"systems/foundryvtt-reve-de-dragon/icons/liquides/liquide_biere.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.ZaAKf4n8mtevbMM0"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.04,"sust":0,"exotisme":0,"cuisinier":"","boisson":true,"desaltere":0.6,"alcoolise":true,"force":-4},"ownership":{"default":0,"wYnBx3HmLfGzsj7P":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206109,"modifiedTime":1671050477130,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"a3Wj2WNKFrzqRGVG","name":"Chemise de soie","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/chemise_soie.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.a3Wj2WNKFrzqRGVG"}},"system":{"description":"","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":6,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206109,"modifiedTime":1671050477130,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"b0f08L5CDeFIMluC","name":"Cuir Souple","type":"armure","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/cuir_souple.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.b0f08L5CDeFIMluC"}},"system":{"description":"<p>Même épaisseur que nos modernes blousons de cuir. Pourpoint ou cotte de cuir souple + culottes de cuir souple + bottes de cuir souple.</p>\n<p> </p>","descriptionmj":"","equipe":false,"encombrement":0,"quantite":1,"qualite":0,"cout":6,"protection":2,"deterioration":0,"malus":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206109,"modifiedTime":1671050477130,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"bA0JDA7awoWhu0vO","name":"Teinture d'Erozonne","type":"potion","img":"systems/foundryvtt-reve-de-dragon/icons/objets/teinture_erozonne.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.bA0JDA7awoWhu0vO"}},"system":{"description":"<p>Fluide. </p>\n<p>Liquide rosâtre.</p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":2,"rarete":"","categorie":"Alchimie","herbe":"","herbebrins":0,"herbebonus":0,"reposalchimique":false,"pr":0,"prpermanent":false,"prdate":0,"soinherbe":"","soinherbebonus":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206109,"modifiedTime":1671050477130,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"beQ9d4QQwZDQl5NA","name":"Flûte à bec","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/flute_bec.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.beQ9d4QQwZDQl5NA"}},"system":{"description":"","descriptionmj":"","encombrement":0.09,"quantite":1,"qualite":0,"cout":1,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206109,"modifiedTime":1671050477130,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"bgkEBYUEFLvAaeVf","name":"Luth, viole","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/luth.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.bgkEBYUEFLvAaeVf"}},"system":{"description":"","descriptionmj":"","encombrement":1,"quantite":1,"qualite":0,"cout":7,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206109,"modifiedTime":1671050477130,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"cVZbnh5cYxBx6P5b","name":"Burin, gouge, ciseau","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/gouge.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.cVZbnh5cYxBx6P5b"}},"system":{"description":"","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":0.3,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206109,"modifiedTime":1671050477130,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"ckKnviu9SHvWgya0","name":"Bougie de cire (2 heures)","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/bougie.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.ckKnviu9SHvWgya0"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.05,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206109,"modifiedTime":1671050477130,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"cobfvOmFpti5lJuK","name":"Chemise de lin","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/chemise_lin.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.cobfvOmFpti5lJuK"}},"system":{"description":"","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0.3,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206109,"modifiedTime":1671050477130,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"dBR6KXvfmjjIcwsc","name":"Pilon en marbre","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/pilon.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.dBR6KXvfmjjIcwsc"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.2,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206110,"modifiedTime":1671050477130,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"dLiMJO6aUkh0EuIZ","name":"Épée dragonne","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/epee_dragonne.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.dLiMJO6aUkh0EuIZ"}},"system":{"description":"<p>C’est une épée <em>longue</em>, plus robuste que l’esparlongue, pouvant également frapper de taille.</p>","descriptionmj":"","equipe":false,"encombrement":2,"quantite":1,"qualite":0,"cout":20,"resistance":12,"categorie_parade":"epees-longues","dommages":"3","penetration":0,"force":"11","competence":"Epée à 1 main","lancer":"","tir":"","portee_courte":0,"portee_moyenne":0,"portee_extreme":0,"magique":false,"ecaille_efficacite":null,"resistance_magique":null,"rapide":true,"deuxmains":false,"unemain":true,"initpremierround":"epeedragonne"},"ownership":{"default":0,"Q4cUvqxCxMoTJXDL":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206110,"modifiedTime":1671050477130,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"eK28jEeQiJdd93L3","name":"Bouclier léger","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/bouclier_petit.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.eK28jEeQiJdd93L3"}},"system":{"description":"","descriptionmj":"","equipe":false,"encombrement":1,"quantite":1,"qualite":0,"cout":4,"resistance":13,"categorie_parade":"boucliers","dommages":"0","penetration":0,"force":"8","competence":"Bouclier","lancer":"","tir":"","portee_courte":0,"portee_moyenne":0,"portee_extreme":0,"magique":false,"ecaille_efficacite":null,"resistance_magique":null,"rapide":false,"deuxmains":false,"unemain":false,"initpremierround":"hast"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206110,"modifiedTime":1671050477130,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"fAzYb7kkW6QxG6i6","name":"Graisse à Bottes 500g","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/graisse_a_cuir.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.fAzYb7kkW6QxG6i6"}},"system":{"description":"","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":0.3,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206110,"modifiedTime":1671050477130,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"fDwsTMuug0Z5BdaA","name":"Cuir / Metal","type":"armure","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/cuir_metal.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.fDwsTMuug0Z5BdaA"}},"system":{"description":"<p>Cuir épais clouté, ou petites plaquettes, écailles ou anneaux de fer cousus sur le cuir. Pectoral ou cotte de cuir/métal + jupon ou cuissards de cuir / métal sur culottes de cuir souple + bottes de cuir / métal + casque de métal.</p>\n<p> </p>","descriptionmj":"","equipe":false,"encombrement":4,"quantite":1,"qualite":0,"cout":20,"protection":"4","deterioration":0,"malus":-2},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206110,"modifiedTime":1671050477130,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"fLKFTvLWoj7juxQE","name":"Flèche, carreau","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/fleche.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.fLKFTvLWoj7juxQE"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.1,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206110,"modifiedTime":1671050477131,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"fOfVLKBacNEsDBn1","name":"Brandevin","type":"nourritureboisson","img":"systems/foundryvtt-reve-de-dragon/icons/liquides/liquide_sang.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.fOfVLKBacNEsDBn1"}},"system":{"description":"<p>Dose de 10cl de Brandevin</p>","descriptionmj":"","encombrement":0.05,"quantite":1,"qualite":0,"cout":0.1,"sust":0,"exotisme":0,"cuisinier":"","boisson":true,"desaltere":0.2,"alcoolise":true,"force":-5},"ownership":{"default":0,"wYnBx3HmLfGzsj7P":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206110,"modifiedTime":1671050477131,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Etain (1 denier)","type":"monnaie","img":"systems/foundryvtt-reve-de-dragon/icons/objets/piece_etain_poisson.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.UFCII7LUClrCWElV"}},"_id":"fhP2azbUBfmpF441","system":{"description":"","descriptionmj":"","encombrement":0.01,"quantite":0,"qualite":0,"cout":0.01},"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206110,"modifiedTime":1671050477131,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"gfU7oZL1JYqF3lAW","name":"Robe de lin","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/robe_lin.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.gfU7oZL1JYqF3lAW"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.6,"equipe":false,"resistance":0},"ownership":{"default":0,"jOzRscDxoXZWpGS6":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206111,"modifiedTime":1671050477131,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"gmBC6SO3F5d64Vpl","name":"Miroir en cuivre poli 20 cm","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/miroir.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.gmBC6SO3F5d64Vpl"}},"system":{"description":"","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":1,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206111,"modifiedTime":1671050477131,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Or (10 sols)","type":"monnaie","img":"systems/foundryvtt-reve-de-dragon/icons/objets/piece_or_sol.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.CmqfrDQgL61XIAqt"}},"_id":"gmbvvEx7hPrAy3zh","system":{"description":"","descriptionmj":"","encombrement":0.01,"quantite":0,"qualite":0,"cout":10},"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206111,"modifiedTime":1671050477131,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"godMVR796aSUVjLu","name":"Fléau léger","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/fleau_leger.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.godMVR796aSUVjLu"}},"system":{"description":"","descriptionmj":"","equipe":false,"encombrement":2,"quantite":1,"qualite":0,"cout":12,"resistance":10,"categorie_parade":"","dommages":"3","penetration":0,"force":"12","competence":"Fléau","lancer":"","tir":"","portee_courte":0,"portee_moyenne":0,"portee_extreme":0,"magique":false,"ecaille_efficacite":0,"resistance_magique":0,"rapide":false,"deuxmains":false,"unemain":true,"initpremierround":"fleau"},"ownership":{"default":0,"Q4cUvqxCxMoTJXDL":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206111,"modifiedTime":1671050477131,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"hEPimS3H8jihDuUS","name":"Crayon à mine de plomb","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/crayon_plomb.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.hEPimS3H8jihDuUS"}},"system":{"description":"","descriptionmj":"","encombrement":0.02,"quantite":1,"qualite":0,"cout":0.3,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206111,"modifiedTime":1671050477131,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"hVgd4APvAW8sbXf0","name":"Grande hache","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/grande_hache.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.hVgd4APvAW8sbXf0"}},"system":{"description":"","descriptionmj":"","equipe":false,"encombrement":3,"quantite":1,"qualite":0,"cout":15,"resistance":8,"categorie_parade":"haches","dommages":"4","penetration":0,"force":"13","competence":"Hache à 2 mains","lancer":"","tir":"","portee_courte":0,"portee_moyenne":0,"portee_extreme":0,"magique":false,"ecaille_efficacite":0,"resistance_magique":0,"rapide":false,"deuxmains":true,"unemain":false,"initpremierround":""},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206111,"modifiedTime":1671050477131,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"hjsIxUmanyz5otLJ","name":"Marmite de fer (3 litres)","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/marmite.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.hjsIxUmanyz5otLJ"}},"system":{"description":"","descriptionmj":"","encombrement":0.6,"quantite":1,"qualite":0,"cout":0.6,"contenu":[],"capacite":1.5,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206111,"modifiedTime":1671050477131,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"htaHjhHwVhlBnZjv","name":"Fléau lourd","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/fleau_lourd.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.htaHjhHwVhlBnZjv"}},"system":{"description":"","descriptionmj":"","equipe":false,"encombrement":3,"quantite":1,"qualite":0,"cout":15,"resistance":10,"categorie_parade":"","dommages":"4","penetration":0,"force":"13","competence":"Fléau","lancer":"","tir":"","portee_courte":0,"portee_moyenne":0,"portee_extreme":0,"magique":false,"ecaille_efficacite":0,"resistance_magique":0,"rapide":false,"deuxmains":false,"unemain":true,"initpremierround":"fleau"},"ownership":{"default":0,"Q4cUvqxCxMoTJXDL":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206111,"modifiedTime":1671050477131,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"huvZ4dMPpn9gk9km","name":"Sel","type":"objet","flags":{"core":{"sourceId":"Item.fLEyryhRi8Nw37SP"}},"img":"systems/foundryvtt-reve-de-dragon/icons/objets/sel.webp","effects":[],"system":{"description":"","descriptionmj":"","encombrement":0.01,"quantite":1,"qualite":0,"cout":null,"equipe":false,"resistance":0},"ownership":{"default":0,"Q4cUvqxCxMoTJXDL":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206111,"modifiedTime":1671050477131,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"iCvphbPdxUcfqetd","name":"Aumônière","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/aumoniere.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.iCvphbPdxUcfqetd"}},"system":{"description":"<p>Comme une bourse, mais sous forme d'une coque en cuir rigide.</p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0.2,"contenu":[],"capacite":0.25,"equipe":false},"ownership":{"default":0,"jOzRscDxoXZWpGS6":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206112,"modifiedTime":1671050477131,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"iGHudg5kBOfYWgwV","name":"Arc","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/objets/arc.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.iGHudg5kBOfYWgwV"}},"system":{"description":"<p>Nie jusqu'à 2 points d'armure.</p>\n<p>Rechargement 1/2 round (s'il tire en début de round, il pourra recharger durant le reste du round pour tirer de nouveau au début du round suivant).</p>","descriptionmj":"","equipe":false,"encombrement":1,"quantite":1,"qualite":0,"cout":10,"resistance":0,"categorie_parade":"","dommages":"2","penetration":2,"force":"0","competence":"","lancer":"","tir":"Arc","portee_courte":10,"portee_moyenne":20,"portee_extreme":50,"magique":false,"ecaille_efficacite":0,"resistance_magique":0,"rapide":false,"deuxmains":false,"unemain":false,"initpremierround":"hast"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206112,"modifiedTime":1671050477131,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"iq8ZZgphxOUgC1bi","name":"Flûte traversière de roseau","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/flute_traversiere.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.iq8ZZgphxOUgC1bi"}},"system":{"description":"","descriptionmj":"","encombrement":0.08,"quantite":1,"qualite":0,"cout":0.12,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206112,"modifiedTime":1671050477131,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"iss7ARW8oRoe1umi","name":"Eau","type":"nourritureboisson","img":"systems/foundryvtt-reve-de-dragon/icons/liquides/liquide_eau.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.DAFP7z5gzl1O3rCV"}},"system":{"description":"<p><span style=\"color: #191813; font-family: CaslonAntique; font-size: 16px; letter-spacing: 1px; text-align: justify; background-color: #f5f5f0;\">1 mesure (20cl) d'eau.</span></p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0,"sust":0,"exotisme":0,"cuisinier":"","boisson":true,"desaltere":1,"alcoolise":false,"force":0,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206112,"modifiedTime":1671050477131,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"iuSOVPBsK8Zg6hoY","name":"1 m² de bâche","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/bache.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.iuSOVPBsK8Zg6hoY"}},"system":{"description":null,"descriptionmj":"","encombrement":0.5,"quantite":1,"qualite":0,"cout":0.2,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206112,"modifiedTime":1671050477132,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"j9WpAl1SwHEovg3b","name":"Tresse de crin","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/tresse.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.j9WpAl1SwHEovg3b"}},"system":{"description":"","descriptionmj":"","encombrement":0.02,"quantite":1,"qualite":0,"cout":0.1,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206112,"modifiedTime":1671050477132,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"jHxnzdBSVzr7Z7wH","name":"Robe de velours","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/robe_velours.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.jHxnzdBSVzr7Z7wH"}},"system":{"description":"","descriptionmj":"","encombrement":0.3,"quantite":1,"qualite":0,"cout":10,"equipe":false,"resistance":0},"ownership":{"default":0,"jOzRscDxoXZWpGS6":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206112,"modifiedTime":1671050477132,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"jKWA5NjsjH0kIZzK","name":"Chaudron de fer (5 litres)","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/chaudron.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.jKWA5NjsjH0kIZzK"}},"system":{"description":"","descriptionmj":"","encombrement":1,"quantite":1,"qualite":0,"cout":1,"contenu":[],"capacite":2.5,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206112,"modifiedTime":1671050477132,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"jZMfiBnBXwW91drM","name":"Sablier 15 minutes","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/sablier.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.jZMfiBnBXwW91drM"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":2,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206112,"modifiedTime":1671050477132,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"jchAu828fr8TLtwi","name":"Lait","type":"nourritureboisson","img":"systems/foundryvtt-reve-de-dragon/icons/liquides/liquide_lait.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.6i90SWaq5Me0us8X"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.01,"sust":0.2,"exotisme":0,"cuisinier":"","boisson":true,"desaltere":1,"alcoolise":false,"force":0,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206113,"modifiedTime":1671050477132,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"jyBy6mDAGvJb9k0l","name":"1 m2 de lin","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/tissu_lin.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.jyBy6mDAGvJb9k0l"}},"system":{"description":"","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0.15,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206113,"modifiedTime":1671050477132,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"kFUh4027jnAdqbyK","name":"Gelée royale","type":"potion","img":"systems/foundryvtt-reve-de-dragon/icons/objets/gelee_royale.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.kFUh4027jnAdqbyK"}},"system":{"description":"<p>Crème sirupeuse.</p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.2,"rarete":"","categorie":"AlchimieAutre","herbe":"","herbebrins":0,"herbebonus":0,"reposalchimique":false,"pr":0,"prpermanent":false,"prdate":0,"soinherbe":"","soinherbebonus":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206113,"modifiedTime":1671050477132,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"keLCmhsbxHK39UIy","name":"Mirobolant","type":"potion","img":"systems/foundryvtt-reve-de-dragon/icons/objets/mirobolant.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.keLCmhsbxHK39UIy"}},"system":{"description":"<p>Fluide.</p>\n<p>Liquide rougeâtre clair et sans dépot.</p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":2,"rarete":"","categorie":"Alchimie","herbe":"","herbebrins":0,"herbebonus":0,"reposalchimique":false,"pr":0,"prpermanent":false,"prdate":0,"soinherbe":"","soinherbebonus":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206113,"modifiedTime":1671050477132,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"lJMKVPB5zlG9UqMD","name":"Pourpoint de velours","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/pourpoint_velours.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.lJMKVPB5zlG9UqMD"}},"system":{"description":"","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":8,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206113,"modifiedTime":1671050477132,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"lKkYFkzWVs2TZDZP","name":"Petit pot de fard","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/fard.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.lKkYFkzWVs2TZDZP"}},"system":{"description":"","descriptionmj":"","encombrement":0.04,"quantite":1,"qualite":0,"cout":0.3,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206113,"modifiedTime":1671050477132,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"lOI2HVu3B6EDY4sE","name":"Arbalète","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/objets/arbalete.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.lOI2HVu3B6EDY4sE"}},"system":{"description":"<p>Nie jusqu'à 2 points d'armure.</p>\n<p>Rechargement 1 round.</p>","descriptionmj":"","equipe":false,"encombrement":3,"quantite":1,"qualite":0,"cout":30,"resistance":0,"categorie_parade":"","dommages":"3","penetration":2,"force":"0","competence":"","lancer":"","tir":"Arbalète","portee_courte":15,"portee_moyenne":30,"portee_extreme":70,"magique":false,"ecaille_efficacite":0,"resistance_magique":0,"rapide":false,"deuxmains":false,"unemain":false,"initpremierround":""},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206114,"modifiedTime":1671050477132,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"lq7pjDQESNbZOQ3n","name":"1 m2 de soie ou de velours","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/tissu_velours.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.lq7pjDQESNbZOQ3n"}},"system":{"description":"","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":3,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206114,"modifiedTime":1671050477132,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"m9yuZjp9DK7pSqPK","name":"Lanterne à bougie","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/lanterne_bougie.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.m9yuZjp9DK7pSqPK"}},"system":{"description":"","descriptionmj":"","encombrement":1,"quantite":1,"qualite":0,"cout":3,"contenu":[],"capacite":0.1,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206114,"modifiedTime":1671050477132,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"n2HMv0xv0MFpuiKp","name":"Parchemin 1 feuille","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/parchemin_1_feuille.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.n2HMv0xv0MFpuiKp"}},"system":{"description":"","descriptionmj":"","encombrement":0.02,"quantite":1,"qualite":0,"cout":0.2,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206114,"modifiedTime":1671050477132,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"nBhYyPbRwcWswiyC","name":"Tonnelet (10 litres)","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/tonnelet.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.nBhYyPbRwcWswiyC"}},"system":{"description":"","descriptionmj":"","encombrement":1,"quantite":1,"qualite":0,"cout":0.25,"contenu":[],"capacite":5,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206114,"modifiedTime":1671050477132,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"nPczxZ7yylpmGSyO","name":"Crochet de serrurier","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/crochet.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.nPczxZ7yylpmGSyO"}},"system":{"description":"","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":0.3,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206114,"modifiedTime":1671050477132,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"nl9cICrauIOEXwFP","name":"Cordelette (10 m)","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/cordelette.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.nl9cICrauIOEXwFP"}},"system":{"description":"","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":0.2,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206114,"modifiedTime":1671050477132,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"nqMyaOqBfTxdP9tg","name":"Cor en corne","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/cor_corne.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.nqMyaOqBfTxdP9tg"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.6,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206114,"modifiedTime":1671050477132,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"oXpPZ9LS1nsU0nGT","name":"Épée sorde","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/epee_sord.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.oXpPZ9LS1nsU0nGT"}},"system":{"description":"<p>C’est une épée plus courte que la dragonne, mais plus <em>large</em>. Elle peut s’utiliser à une ou deux mains. Sa grande solidité en fait l’épée de prédilection des gardes et des soldats.</p>\n<p>C’est probablement à elle que le <em>Guerrier Sorde</em> doit son nom (à moins que ce ne soit l’inverse).</p>","descriptionmj":"","equipe":false,"encombrement":2,"quantite":1,"qualite":0,"cout":20,"resistance":15,"categorie_parade":"epees-lourdes","dommages":"3/4","penetration":null,"force":"12/11","competence":"Epée à 1 main","lancer":"","tir":"","portee_courte":0,"portee_moyenne":0,"portee_extreme":0,"magique":false,"ecaille_efficacite":null,"resistance_magique":null,"rapide":false,"deuxmains":true,"unemain":true,"initpremierround":"epeesorde"},"ownership":{"default":0,"Q4cUvqxCxMoTJXDL":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206115,"modifiedTime":1671050477133,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"of2LbmmB4EtlSwte","name":"Sac en jute (50 litres)","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/sac_jute_50.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.of2LbmmB4EtlSwte"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.08,"contenu":[],"capacite":25,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206115,"modifiedTime":1671050477133,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"orpj8CumQ39xMOHy","name":"Brosse à cheveux","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/Brosse.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.orpj8CumQ39xMOHy"}},"system":{"description":"","descriptionmj":"","encombrement":0.06,"quantite":1,"qualite":0,"cout":1,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206115,"modifiedTime":1671050477133,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"phfgVizT4ekUwqFq","name":"Selle et harnais","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/selle.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.phfgVizT4ekUwqFq"}},"system":{"description":"","descriptionmj":"","encombrement":4,"quantite":1,"qualite":0,"cout":5,"contenu":[],"capacite":25,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206115,"modifiedTime":1671050477133,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"q5zaNnlmNZZChi31","name":"Miel","type":"nourritureboisson","img":"systems/foundryvtt-reve-de-dragon/icons/objets/gelee_royale.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.0UhqiYISVSiztBfv"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.4,"sust":2,"exotisme":0,"cuisinier":"","boisson":false,"desaltere":0,"alcoolise":false,"force":0},"ownership":{"default":0,"wYnBx3HmLfGzsj7P":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206115,"modifiedTime":1671050477133,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"qCLTOjlIOvlj0uo7","name":"Chaperon de laine","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/chaperon_laine.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.qCLTOjlIOvlj0uo7"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.2,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206115,"modifiedTime":1671050477133,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"qWhl9EfdnJx4KFTZ","name":"Bas de laine","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/bas_laine.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.qWhl9EfdnJx4KFTZ"}},"system":{"description":"","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0.1,"equipe":false,"resistance":0},"ownership":{"default":0,"jOzRscDxoXZWpGS6":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206115,"modifiedTime":1671050477133,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"sSgPT3aKDOZ25svO","name":"Porte plume en bois","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/porte_plume2.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.sSgPT3aKDOZ25svO"}},"system":{"description":"","descriptionmj":"","encombrement":0.02,"quantite":1,"qualite":0,"cout":0.05,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206115,"modifiedTime":1671050477133,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"sXoStuW19r9zVi1S","name":"Flacon de verre (40 cl)","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/flacon_verre.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.sXoStuW19r9zVi1S"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.3,"contenu":[],"capacite":0.2,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206115,"modifiedTime":1671050477133,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"sbgHtwEj4sK9cMh7","name":"Livre","type":"livre","flags":{"core":{"sourceId":"Item.1bn0Q8cO1qRWQvlf"}},"img":"systems/foundryvtt-reve-de-dragon/icons/objets/livre.webp","effects":[],"system":{"description":"","descriptionmj":"","encombrement":1,"quantite":1,"qualite":0,"cout":3,"competence":"Ecriture","auteur":"Inconnu","difficulte":0,"points_de_tache":0,"xp":"0","niveau_minimum":0,"niveau_maximum":0},"ownership":{"default":0,"Q4cUvqxCxMoTJXDL":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206117,"modifiedTime":1671050477133,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"skTWp8PUgIG2U2ne","name":"Cire à cacheter","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/cire_a_cacheter.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.skTWp8PUgIG2U2ne"}},"system":{"description":"","descriptionmj":"","encombrement":0.02,"quantite":1,"qualite":0,"cout":0.2,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206117,"modifiedTime":1671050477133,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"slusKo2nVCtFwDkN","name":"Sang","type":"munition","img":"systems/foundryvtt-reve-de-dragon/icons/liquides/liquide_sang.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.slusKo2nVCtFwDkN"}},"system":{"description":"<p>1 mesure (20cl) de sang.</p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206117,"modifiedTime":1671050477133,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"snupUovwaPAe46aD","name":"Fiole en grès (20 cl)","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/fiole_gres.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.snupUovwaPAe46aD"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.1,"contenu":[],"capacite":0.1,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206117,"modifiedTime":1671050477135,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"szOThadvQvFcS79R","name":"Cuir Epais","type":"armure","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/cuir_epais.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.szOThadvQvFcS79R"}},"system":{"description":"<p>Cuir très épais comme le cuir de botte. Pectoral de cuir épais + jupon de bandes ou de tresses de cuir ou cuissards de cuir épais sur culottes de cuir souple + bottes dures + casque de cuir.</p>\n<p> </p>","descriptionmj":"","equipe":false,"encombrement":2,"quantite":1,"qualite":0,"cout":10,"protection":3,"deterioration":0,"malus":-1},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206117,"modifiedTime":1671050477135,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"tBFt4h3jqINsOxLI","name":"Outre (2 litres)","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/outre.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.tBFt4h3jqINsOxLI"}},"system":{"description":"","descriptionmj":"","encombrement":0.08,"quantite":1,"qualite":0,"cout":0.2,"contenu":[],"capacite":1,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206117,"modifiedTime":1671050477135,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"tMWzePiuMtiCQnAU","name":"Marteau","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/objets/marteau.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.tMWzePiuMtiCQnAU"}},"system":{"description":"","descriptionmj":"","equipe":false,"encombrement":0.3,"quantite":1,"qualite":0,"cout":1,"resistance":8,"categorie_parade":"","dommages":"2","penetration":0,"force":"7","competence":"Masse à 1 main","lancer":"","tir":"","portee_courte":0,"portee_moyenne":0,"portee_extreme":0,"magique":false,"ecaille_efficacite":0,"resistance_magique":0,"rapide":false,"deuxmains":false,"unemain":false,"initpremierround":"masse"},"ownership":{"default":0,"Q4cUvqxCxMoTJXDL":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206117,"modifiedTime":1671050477135,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"tY3shj5FA8nwMgxX","name":"Vin","type":"nourritureboisson","img":"systems/foundryvtt-reve-de-dragon/icons/liquides/liquide_vin.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.QNNWTG5yqQKmcpJ7"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.01,"sust":0,"exotisme":0,"cuisinier":"","boisson":true,"desaltere":0.6,"alcoolise":true,"force":-2,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206117,"modifiedTime":1671050477135,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"tZWQCuRr1ic3S0pL","name":"Souliers","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/souliers.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.tZWQCuRr1ic3S0pL"}},"system":{"description":"","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":0.8,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206117,"modifiedTime":1671050477135,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Repas moyen à l'auberge","type":"nourritureboisson","img":"systems/foundryvtt-reve-de-dragon/icons/objets/provision_cuite.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.tn1kvxEVoLyYODyg"}},"_id":"tn1kvxEVoLyYODyg","system":{"description":"","descriptionmj":"","encombrement":0.3,"quantite":1,"qualite":3,"cout":0.1,"sust":3,"exotisme":0,"cuisinier":"","boisson":false,"desaltere":0,"alcoolise":false,"force":0},"ownership":{"default":0,"wYnBx3HmLfGzsj7P":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206117,"modifiedTime":1671050477136,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"tswamwK2oKNARhjA","name":"Verre grossissant","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/verre_grossissant.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.tswamwK2oKNARhjA"}},"system":{"description":"","descriptionmj":"","encombrement":0.02,"quantite":1,"qualite":0,"cout":2,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206118,"modifiedTime":1671050477136,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"ueBk3MbdEaMbzyPS","name":"Ficelle (10 m)","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/ficelle.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.ueBk3MbdEaMbzyPS"}},"system":{"description":"","descriptionmj":"","encombrement":0.02,"quantite":1,"qualite":0,"cout":0.1,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206118,"modifiedTime":1671050477136,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"ueJnUMLK1vpL8xOB","name":"Stylet de bronze","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/stylet_de_bronze.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.ueJnUMLK1vpL8xOB"}},"system":{"description":"","descriptionmj":"","encombrement":0.02,"quantite":1,"qualite":0,"cout":0.12,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206118,"modifiedTime":1671050477136,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"uwwunMSrJoUYTDkG","name":"Seau de bois ferré (10 litres)","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/seau_ferre.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.uwwunMSrJoUYTDkG"}},"system":{"description":"","descriptionmj":"","encombrement":1,"quantite":1,"qualite":0,"cout":0.2,"contenu":[],"capacite":5,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206118,"modifiedTime":1671050477136,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"vQ494sD9FgFI08kZ","name":"Drap Matelassé","type":"armure","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/drap_matelasse.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.vQ494sD9FgFI08kZ"}},"system":{"description":"<p>Deux épaisseurs de drap surpiquées, avec rembourrage de laine.</p>\n<p>Pourpoint ou cotte de drap matelassé + culottes de drap matelassé + bottes de cuir souple. Le pourpoint est une sorte de veste ; la cotte est une sorte de tunique, lacée sur la poitrine, et descendant jusqu’aux genoux, façon Robin des Bois.</p>\n<p> </p>","descriptionmj":"","equipe":false,"encombrement":0,"quantite":1,"qualite":0,"cout":4,"protection":1,"deterioration":0,"malus":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206118,"modifiedTime":1671050477136,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Épée demi-dragonne","type":"arme","flags":{"core":{"sourceId":"Item.ErwaSLcGryAbYjkm"}},"img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/demi_dragonne.webp","effects":[],"_id":"vnlRGjt7X6yQRObA","system":{"description":null,"descriptionmj":"","equipe":false,"encombrement":1.5,"quantite":1,"qualite":0,"cout":15,"resistance":10,"categorie_parade":"epees-longues","dommages":"2","penetration":0,"force":"10","competence":"Epée à 1 main","lancer":"","tir":"","portee_courte":0,"portee_moyenne":0,"portee_extreme":0,"magique":false,"ecaille_efficacite":null,"resistance_magique":null,"rapide":true,"deuxmains":false,"unemain":true,"initpremierround":"epeedragonne"},"ownership":{"default":0,"Q4cUvqxCxMoTJXDL":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206118,"modifiedTime":1671050477136,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"wPE64RRcuLlvuPrY","name":"Épée cyane","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/epee_cyane.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.wPE64RRcuLlvuPrY"}},"system":{"description":"<p>Long <em>cimeterre </em>à l’acier bleuté, exclusivement fabriqué par les Cyans ou Hommes bleus.</p>","descriptionmj":"","equipe":false,"encombrement":2,"quantite":1,"qualite":0,"cout":25,"resistance":12,"categorie_parade":"epees-lourdes","dommages":"3","penetration":0,"force":"11","competence":"Epée à 1 main","lancer":"","tir":"","portee_courte":0,"portee_moyenne":0,"portee_extreme":0,"magique":false,"ecaille_efficacite":null,"resistance_magique":null,"rapide":true,"deuxmains":false,"unemain":true,"initpremierround":"epeecyane"},"ownership":{"default":0,"Q4cUvqxCxMoTJXDL":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206118,"modifiedTime":1671050477136,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"wcW5KcideGi8EY67","name":"Gants de cuir","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/gants_de_cuir.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.wcW5KcideGi8EY67"}},"system":{"description":"","descriptionmj":"","encombrement":0.05,"quantite":1,"qualite":0,"cout":1,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206118,"modifiedTime":1671050477136,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"wpWaqe96x3cvqTXy","name":"Robe de laine","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/robe_laine.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.wpWaqe96x3cvqTXy"}},"system":{"description":"","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":0.4,"equipe":false,"resistance":0},"ownership":{"default":0,"jOzRscDxoXZWpGS6":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206118,"modifiedTime":1671050477136,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"x4g6bDu3eUllSSSJ","name":"Eponge de mer","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/eponge.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.x4g6bDu3eUllSSSJ"}},"system":{"description":"","descriptionmj":"","encombrement":0.04,"quantite":1,"qualite":0,"cout":1,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206118,"modifiedTime":1671050477136,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"xfdeDEyMK8YtBpzC","name":"Huile 20 cl (4 heures)","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/huile.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.xfdeDEyMK8YtBpzC"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.04,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206119,"modifiedTime":1671050477136,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"xuk60njqtrSZusSX","name":"Chemise de laine","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/chemise_laine.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.xuk60njqtrSZusSX"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.2,"equipe":false,"resistance":0},"ownership":{"default":0,"jOzRscDxoXZWpGS6":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206119,"modifiedTime":1671050477136,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"yILNvELKbsz2OOln","name":"Ecritoire","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/ecritoire.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.yILNvELKbsz2OOln"}},"system":{"description":"","descriptionmj":"","encombrement":1,"quantite":1,"qualite":0,"cout":1,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206179,"modifiedTime":1671050477136,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"yO9Vx7tqF8qbZoYw","name":"Besace de cuir","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/besace.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.yO9Vx7tqF8qbZoYw"}},"system":{"description":"","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":0.5,"contenu":[],"capacite":10,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206179,"modifiedTime":1671050477136,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"zQWlnUsd8bPySujd","name":"Aiguille à coudre","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/aiguille.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.zQWlnUsd8bPySujd"}},"system":{"description":"","descriptionmj":"","encombrement":0.01,"quantite":1,"qualite":0,"cout":0.1,"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206179,"modifiedTime":1671050477136,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"zYI8mDiysWtmsSyy","name":"Carquois","type":"conteneur","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.zYI8mDiysWtmsSyy"}},"img":"systems/foundryvtt-reve-de-dragon/icons/objets/carquois.webp","effects":[],"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.5,"contenu":[],"capacite":2,"equipe":false},"ownership":{"default":0,"jOzRscDxoXZWpGS6":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206179,"modifiedTime":1671050477136,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"zlDa1vwmls6Uf4pt","name":"Bourse de cuir","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/bourse.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.zlDa1vwmls6Uf4pt"}},"system":{"description":"","descriptionmj":"","encombrement":0.01,"quantite":1,"qualite":0,"cout":0.1,"contenu":[],"capacite":0.5,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.13","coreVersion":"10.291","createdTime":1668808206179,"modifiedTime":1671050477136,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Argent (1 sol)","type":"monnaie","img":"systems/foundryvtt-reve-de-dragon/icons/objets/piece_argent_sol.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.6M7WG9ciKuoYtN9i"}},"_id":"0I30m9qcYJk6UR6o","system":{"description":"","descriptionmj":"","encombrement":null,"quantite":null,"qualite":0,"cout":1,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Commune","frequence":54}]},"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206013,"modifiedTime":1676074487962,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"0Vgscex1VV4ybSUQ","name":"Bonnet de laine","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/bonnet_laine.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.0Vgscex1VV4ybSUQ"}},"system":{"description":"","descriptionmj":"","encombrement":0.05,"quantite":1,"qualite":0,"cout":0.06,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Commune","frequence":54},{"milieu":"Villes","rarete":"Commune","frequence":54}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206013,"modifiedTime":1676074487962,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"1Dc4KzZageae7lhI","name":"Balles de jongleur","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/balle_jongleur.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.1Dc4KzZageae7lhI"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":4,"qualite":0,"cout":0.32,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206013,"modifiedTime":1676074487962,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"1O7IJiQSDYxJ5VsD","name":"Bouclier moyen","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/bouclier_moyen.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.1O7IJiQSDYxJ5VsD"}},"system":{"description":"","descriptionmj":"","equipe":false,"encombrement":2,"quantite":1,"qualite":0,"cout":6,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"resistance":15,"categorie_parade":"boucliers","dommages":"0","penetration":0,"force":"11","competence":"Bouclier","lancer":"","tir":"","portee_courte":0,"portee_moyenne":0,"portee_extreme":0,"magique":false,"ecaille_efficacite":null,"resistance_magique":null,"rapide":false,"deuxmains":false,"unemain":false,"initpremierround":"hast"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206014,"modifiedTime":1676074487962,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Provisions cuites","type":"nourritureboisson","img":"systems/foundryvtt-reve-de-dragon/icons/objets/provision_cuite.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.1keQMXTZ2iriOuJh"}},"_id":"1keQMXTZ2iriOuJh","system":{"description":"<p>pain, fromage, viande séchée...</p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.02,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Commune","frequence":54},{"milieu":"Villes","rarete":"Commune","frequence":54}],"sust":1,"exotisme":0,"cuisinier":"","boisson":false,"desaltere":0,"alcoolise":false,"force":0},"ownership":{"default":0,"wYnBx3HmLfGzsj7P":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206014,"modifiedTime":1676074487962,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"2y61gBIFbATQaKDl","name":"1 m2 de laine","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/tissu_laine.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.2y61gBIFbATQaKDl"}},"system":{"description":"","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":0.1,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Commune","frequence":54},{"milieu":"Villes","rarete":"Commune","frequence":54}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206014,"modifiedTime":1676074487962,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Poinçon","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/poincon_2.webp","effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.F6ZHJth4t0PA5PMB"}},"system":{"description":"","descriptionmj":"","encombrement":0.05,"quantite":1,"qualite":0,"cout":0.1,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206019,"modifiedTime":1676074352881,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"39iYJ6mJuy3Kno1C","folder":null,"sort":0,"ownership":{"default":0,"Hp9ImM4o9YRTSdfu":3}}
|
||||
{"_id":"3DJePXhrDWQxbUeM","name":"Dé à jouer en os","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/des_en_os.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.3DJePXhrDWQxbUeM"}},"system":{"description":"","descriptionmj":"","encombrement":0.01,"quantite":1,"qualite":0,"cout":0.1,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206015,"modifiedTime":1676074487962,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Lime","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/lime.webp","effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.Lz4dA2NwxdSZ3FZK"}},"system":{"description":"","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":0.5,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206022,"modifiedTime":1676074352882,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"3WpH3WZk0dPzvhiu","folder":null,"sort":0,"ownership":{"default":0,"Hp9ImM4o9YRTSdfu":3}}
|
||||
{"_id":"3cn9nWtY0Vb1PLTx","name":"Dague de jet","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/objets/dagues.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.3cn9nWtY0Vb1PLTx"}},"system":{"description":"<p>Chaque point de force au dessus de 10 augmente les portées de 1m.</p>\n<p>Chaque point de force en dessous de 9 diminue les portées de 1m.</p>","descriptionmj":"","equipe":false,"encombrement":0.5,"quantite":1,"qualite":0,"cout":3,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"resistance":0,"categorie_parade":"","dommages":"1","penetration":0,"force":"0","competence":"Dague","lancer":"Dague de jet","tir":"","portee_courte":3,"portee_moyenne":8,"portee_extreme":15,"magique":false,"ecaille_efficacite":0,"resistance_magique":0,"rapide":true,"deuxmains":false,"unemain":true,"initpremierround":"dague"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206015,"modifiedTime":1676074487962,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"3t0NhMC0cFQyCZGH","name":"Soufflet","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/soufflet.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.3t0NhMC0cFQyCZGH"}},"system":{"description":"","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":0.4,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206015,"modifiedTime":1676074487963,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"3uWCDH1NOjHJpVo1","name":"Maillet","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/objets/maillet.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.3uWCDH1NOjHJpVo1"}},"system":{"description":"","descriptionmj":"","equipe":false,"encombrement":0.1,"quantite":1,"qualite":0,"cout":0.05,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"resistance":7,"categorie_parade":"","dommages":"1","penetration":0,"force":"7","competence":"Masse à 1 main","lancer":"","tir":"","portee_courte":0,"portee_moyenne":0,"portee_extreme":0,"magique":false,"ecaille_efficacite":0,"resistance_magique":0,"rapide":false,"deuxmains":false,"unemain":true,"initpremierround":"masse"},"ownership":{"default":0,"Q4cUvqxCxMoTJXDL":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206015,"modifiedTime":1676074487963,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"4GeV81qoJrjHIgzR","name":"Tournegraisse","type":"potion","img":"systems/foundryvtt-reve-de-dragon/icons/objets/tournegraisse.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.4GeV81qoJrjHIgzR"}},"system":{"description":"<p>Crème sirupeuse blanchâtre.</p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":2,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rarissime","frequence":2},{"milieu":"Villes","rarete":"Rare","frequence":6}],"temporel":{"debut":{"indexDate":-1,"indexMinute":0},"fin":{"indexDate":-1,"indexMinute":0}},"rarete":"","categorie":"Remede","herbe":"","herbebrins":0,"herbebonus":0,"reposalchimique":false,"pr":0,"prpermanent":false,"prdate":0,"soinherbe":"","soinherbebonus":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206015,"modifiedTime":1676074487963,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"4LFXefT0HFpaXQLx","name":"Briquet à silex","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/briquet.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.4LFXefT0HFpaXQLx"}},"system":{"description":"","descriptionmj":"","encombrement":0.08,"quantite":1,"qualite":0,"cout":0.4,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206015,"modifiedTime":1676074487963,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"4qPaCKONcrsK6JbQ","name":"Pichet de grès (1 litre)","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/pichet.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.4qPaCKONcrsK6JbQ"}},"system":{"description":"","descriptionmj":"","encombrement":0.3,"quantite":1,"qualite":0,"cout":0.3,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"contenu":[],"capacite":0.5,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206016,"modifiedTime":1676074487963,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"4qoLpa4shvkgDZRy","name":"Culottes de velours","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/culottes_velours.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.4qoLpa4shvkgDZRy"}},"system":{"description":"","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":6,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206016,"modifiedTime":1676074487963,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"5GOk9cMApM4dBcIU","name":"Casserole de fer (1 litre)","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/casserole.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.5GOk9cMApM4dBcIU"}},"system":{"description":"","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":0.3,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"contenu":[],"capacite":0.5,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206016,"modifiedTime":1676074487963,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"65SRmXVcyiG5ZW9l","name":"Cuillère de fer","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/cuillere_fer.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.65SRmXVcyiG5ZW9l"}},"system":{"description":"","descriptionmj":"","encombrement":0.05,"quantite":1,"qualite":0,"cout":0.1,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Commune","frequence":54}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206016,"modifiedTime":1676074487963,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"6MVWA3DYbpw8122A","name":"Entonnoir de fer","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/entonnoir.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.6MVWA3DYbpw8122A"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.15,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206016,"modifiedTime":1676074487963,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"6s5QjArwz9w9JIGL","name":"Double dragonne","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/double_dragonne.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.6s5QjArwz9w9JIGL"}},"system":{"description":"<p>Apparue vers la fin du Second Âge, c’était<em> une grande épée à deux mains</em>. Encombrante et prohibant le bouclier, c’était avant tout une épée de duel et de frime.</p>","descriptionmj":"","equipe":false,"encombrement":4,"quantite":1,"qualite":0,"cout":50,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rarissime","frequence":2},{"milieu":"Villes","rarete":"Rare","frequence":6}],"resistance":13,"categorie_parade":"epees-lourdes","dommages":"5","penetration":0,"force":"13","competence":"Epée à 2 mains","lancer":"","tir":"","portee_courte":0,"portee_moyenne":0,"portee_extreme":0,"magique":false,"ecaille_efficacite":null,"resistance_magique":null,"rapide":false,"deuxmains":true,"unemain":false,"initpremierround":"hast"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206017,"modifiedTime":1676074487963,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Luth","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/luth.webp","effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.bgkEBYUEFLvAaeVf"}},"system":{"description":"","descriptionmj":"","encombrement":1,"quantite":1,"qualite":0,"cout":7,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Rare","frequence":6}],"equipe":false,"resistance":0},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206109,"modifiedTime":1676074487919,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"folder":null,"sort":0,"ownership":{"default":0,"Hp9ImM4o9YRTSdfu":3},"_id":"72CKhDHc22VSnDX1"}
|
||||
{"_id":"7B9sKLf4ipRyyEjF","name":"Bouclier lourd","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/bouclier_grand.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.7B9sKLf4ipRyyEjF"}},"system":{"description":"","descriptionmj":"","equipe":false,"encombrement":3,"quantite":1,"qualite":0,"cout":8,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"resistance":20,"categorie_parade":"boucliers","dommages":"0","penetration":0,"force":"13","competence":"Bouclier","lancer":"","tir":"","portee_courte":0,"portee_moyenne":0,"portee_extreme":0,"magique":false,"ecaille_efficacite":null,"resistance_magique":null,"rapide":false,"deuxmains":false,"unemain":false,"initpremierround":"hast"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206017,"modifiedTime":1676074487963,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"7YuWWsFIuZgakGUS","name":"Mortier en marbre","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/mortier.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.7YuWWsFIuZgakGUS"}},"system":{"description":"","descriptionmj":"","encombrement":0.3,"quantite":1,"qualite":0,"cout":0.2,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206017,"modifiedTime":1676074487963,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"7c7CO626TCo4lg8b","name":"Petite scie cadre","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/scie.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.7c7CO626TCo4lg8b"}},"system":{"description":"","descriptionmj":"","encombrement":1,"quantite":1,"qualite":0,"cout":6,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206017,"modifiedTime":1676074487963,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"7u9yAlaFhKcVdEC6","name":"Matériel de chirurgie","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/materiel_chirurgie.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.7u9yAlaFhKcVdEC6"}},"system":{"description":"<p>(pincettes, lancette, crin, aiguille)</p>","descriptionmj":"","encombrement":0.06,"quantite":1,"qualite":0,"cout":1,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Rare","frequence":6}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206017,"modifiedTime":1676074487963,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"8bwP6zncdFP0O9ew","name":"Corde (10 m)","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/corde.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.8bwP6zncdFP0O9ew"}},"system":{"description":"","descriptionmj":"","encombrement":1,"quantite":1,"qualite":0,"cout":0.3,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Commune","frequence":54},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206017,"modifiedTime":1676074487964,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"92GDNmNVa2u0gzpx","name":"Massette","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/massette.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.92GDNmNVa2u0gzpx"}},"system":{"description":"","descriptionmj":"","equipe":false,"encombrement":1,"quantite":1,"qualite":0,"cout":2,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"resistance":8,"categorie_parade":"","dommages":"2","penetration":0,"force":"9","competence":"Masse à 1 main","lancer":"","tir":"","portee_courte":0,"portee_moyenne":0,"portee_extreme":0,"magique":false,"ecaille_efficacite":0,"resistance_magique":0,"rapide":true,"deuxmains":false,"unemain":true,"initpremierround":"masse"},"ownership":{"default":0,"Q4cUvqxCxMoTJXDL":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206017,"modifiedTime":1676074487964,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"9cLkTDugz84gpHUB","name":"Bitume de Camphre","type":"potion","img":"systems/foundryvtt-reve-de-dragon/icons/objets/bitume_de_camphre.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.9cLkTDugz84gpHUB"}},"system":{"description":"<p>Crème sirupeuse grisâtre.</p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":2,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rarissime","frequence":2},{"milieu":"Villes","rarete":"Rare","frequence":6}],"temporel":{"debut":{"indexDate":-1,"indexMinute":0},"fin":{"indexDate":-1,"indexMinute":0}},"rarete":"","categorie":"Remede","herbe":"","herbebrins":0,"herbebonus":0,"reposalchimique":false,"pr":0,"prpermanent":false,"prdate":0,"soinherbe":"","soinherbebonus":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206018,"modifiedTime":1676074487964,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"A3jx5dPkk5IeXSXn","name":"Lait de lune","type":"potion","img":"systems/foundryvtt-reve-de-dragon/icons/objets/lait_de_lune.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.A3jx5dPkk5IeXSXn"}},"system":{"description":"<p>Fluide.</p>\n<p>Lait de laie.</p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":1,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rarissime","frequence":2},{"milieu":"Villes","rarete":"Rare","frequence":6}],"temporel":{"debut":{"indexDate":-1,"indexMinute":0},"fin":{"indexDate":-1,"indexMinute":0}},"rarete":"","categorie":"Remede","herbe":"","herbebrins":0,"herbebonus":0,"reposalchimique":false,"pr":0,"prpermanent":false,"prdate":0,"soinherbe":"","soinherbebonus":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206018,"modifiedTime":1676074487964,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Bronze (10 deniers)","type":"monnaie","img":"systems/foundryvtt-reve-de-dragon/icons/objets/piece_bronze_epees.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.hifMbbRrRdQxflsx"}},"_id":"A8UcYUIIlb6YfczN","system":{"description":"","descriptionmj":"","encombrement":0.01,"quantite":1,"qualite":0,"cout":0.1,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Commune","frequence":54},{"milieu":"Villes","rarete":"Commune","frequence":54}]},"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206018,"modifiedTime":1676074487964,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"A9nMgTyEwYzdA0zT","name":"Manteau de velours","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/manteau_velours.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.A9nMgTyEwYzdA0zT"}},"system":{"description":"","descriptionmj":"","encombrement":1,"quantite":1,"qualite":0,"cout":10,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rarissime","frequence":2},{"milieu":"Villes","rarete":"Rare","frequence":6}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206018,"modifiedTime":1676074487964,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"AOQsKTjIbcy8NV9t","name":"Pierre à aiguiser","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/pierre_a_aiguiser.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.AOQsKTjIbcy8NV9t"}},"system":{"description":"","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":0.3,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206018,"modifiedTime":1676074487964,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Alêne","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/poincon_2.webp","effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.F6ZHJth4t0PA5PMB"}},"system":{"description":"","descriptionmj":"","encombrement":0.05,"quantite":1,"qualite":0,"cout":0.1,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206019,"modifiedTime":1676074487919,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"folder":null,"sort":0,"ownership":{"default":0,"Hp9ImM4o9YRTSdfu":3},"_id":"AWQTOfz3HoidgUOf"}
|
||||
{"_id":"As5kYvyOrWrr8KJm","name":"Etui à luth de cuir","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/etui_luth.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.As5kYvyOrWrr8KJm"}},"system":{"description":"","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":1,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"contenu":[],"capacite":1,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206018,"modifiedTime":1676074487964,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"B2BhuxveVKMnD8fe","name":"Bottes de cuir souple","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/bottes_de_cuir.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.B2BhuxveVKMnD8fe"}},"system":{"description":"","descriptionmj":"","encombrement":0.4,"quantite":1,"qualite":0,"cout":2,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Commune","frequence":54}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206018,"modifiedTime":1676074487964,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"BQPhNy9AUCpEGgFg","name":"Couteau de cuisine","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/objets/couteau-cuisine.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.BQPhNy9AUCpEGgFg"}},"system":{"description":"","descriptionmj":"","equipe":false,"encombrement":0.2,"quantite":1,"qualite":0,"cout":1,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"resistance":6,"categorie_parade":"dagues","dommages":"1","penetration":0,"force":"0","competence":"Dague","lancer":"Dague de jet","tir":"","portee_courte":3,"portee_moyenne":8,"portee_extreme":15,"magique":false,"ecaille_efficacite":null,"resistance_magique":null,"rapide":true,"deuxmains":false,"unemain":true,"initpremierround":"dague"},"ownership":{"default":0,"Q4cUvqxCxMoTJXDL":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206018,"modifiedTime":1676074487964,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"CMtQM06J3BZsHHxH","name":"Sandales","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/sandales.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.CMtQM06J3BZsHHxH"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.3,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206018,"modifiedTime":1676074487964,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"CQSxJv1mgmIeMCbM","name":"Grappin","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/grappin.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.CQSxJv1mgmIeMCbM"}},"system":{"description":"","descriptionmj":"","encombrement":0.5,"quantite":1,"qualite":0,"cout":2,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Rare","frequence":6}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206018,"modifiedTime":1676074487964,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Râpe","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/lime.webp","effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.Lz4dA2NwxdSZ3FZK"}},"system":{"description":"","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":0.5,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206022,"modifiedTime":1676074487919,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"folder":null,"sort":0,"ownership":{"default":0,"Hp9ImM4o9YRTSdfu":3},"_id":"DJIvE20bU09h4YXw"}
|
||||
{"_id":"ElweMV283IUpqaik","name":"Sable-Poudre","type":"potion","img":"systems/foundryvtt-reve-de-dragon/icons/objets/sable_poudre.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.ElweMV283IUpqaik"}},"system":{"description":"<p>Granulés. Poudre blanche.</p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":2,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rarissime","frequence":2},{"milieu":"Villes","rarete":"Rare","frequence":6}],"temporel":{"debut":{"indexDate":-1,"indexMinute":0},"fin":{"indexDate":-1,"indexMinute":0}},"rarete":"","categorie":"Remede","herbe":"","herbebrins":0,"herbebonus":0,"reposalchimique":false,"pr":0,"prpermanent":false,"prdate":0,"soinherbe":"","soinherbebonus":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206019,"modifiedTime":1676074487964,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"Eospy1EFNlhgOyXc","name":"Lacet de cuir (1 m)","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/lacet.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.Eospy1EFNlhgOyXc"}},"system":{"description":"","descriptionmj":"","encombrement":0.01,"quantite":1,"qualite":0,"cout":0.06,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206019,"modifiedTime":1676074487964,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"FH3mSvdebfhIL2Af","name":"Topazoïne","type":"potion","img":"systems/foundryvtt-reve-de-dragon/icons/objets/topazoine.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.FH3mSvdebfhIL2Af"}},"system":{"description":"<p>Granulés. Coquille d'oeuf de cane broyé.</p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":2,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rarissime","frequence":2},{"milieu":"Villes","rarete":"Rare","frequence":6}],"temporel":{"debut":{"indexDate":-1,"indexMinute":0},"fin":{"indexDate":-1,"indexMinute":0}},"rarete":"","categorie":"Remede","herbe":"","herbebrins":0,"herbebonus":0,"reposalchimique":false,"pr":0,"prpermanent":false,"prdate":0,"soinherbe":"","soinherbebonus":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206019,"modifiedTime":1676074487964,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"FaNRC7YQzibSdqZU","name":"Plume de fer","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/plume_de_fer.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.FaNRC7YQzibSdqZU"}},"system":{"description":"","descriptionmj":"","encombrement":0.01,"quantite":1,"qualite":0,"cout":0.1,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rarissime","frequence":2},{"milieu":"Villes","rarete":"Rare","frequence":6}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206019,"modifiedTime":1676074487964,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"Flx5inKGs1GQKoYq","name":"Tube à parchemins","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/tube_parchemin.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.Flx5inKGs1GQKoYq"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.5,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"contenu":[],"capacite":1.3,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206019,"modifiedTime":1676074487964,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"GAJIShPe7WugrIVO","name":"Manteau de fourrure","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/manteau_fourrure.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.GAJIShPe7WugrIVO"}},"system":{"description":"<p>En fonction de la qualité de la fourrure, le prix d'un tel manteau peut varier de 1 à 20 sols.</p>","descriptionmj":"","encombrement":1,"quantite":1,"qualite":0,"cout":0,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Rare","frequence":6}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206020,"modifiedTime":1676074487964,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"GiquTnEsiVZn7m6Y","name":"Bas de soie","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/bas_soie.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.GiquTnEsiVZn7m6Y"}},"system":{"description":"","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":3,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Rare","frequence":6}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206020,"modifiedTime":1676074487965,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"Gp9ZrwXkqZbJoVVT","name":"1 m² de toile de voile","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/voile.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.Gp9ZrwXkqZbJoVVT"}},"system":{"description":"","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":0.1,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206020,"modifiedTime":1676074487965,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"HdciYu5J2SrJO8e3","name":"Épée gnome","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/epee_gnome.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.HdciYu5J2SrJO8e3"}},"system":{"description":"<p>C’est une épée <em>courte</em>, essentiellement fabriquée et portée par les Gnomes au Second Âge.</p>","descriptionmj":"","equipe":false,"encombrement":1,"quantite":1,"qualite":0,"cout":12,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"resistance":12,"categorie_parade":"epees-courtes","dommages":"2","penetration":0,"force":"8","competence":"Epée à 1 main","lancer":"","tir":"","portee_courte":0,"portee_moyenne":0,"portee_extreme":0,"magique":false,"ecaille_efficacite":null,"resistance_magique":null,"rapide":true,"deuxmains":false,"unemain":true,"initpremierround":"epeegnome"},"ownership":{"default":0,"Q4cUvqxCxMoTJXDL":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206020,"modifiedTime":1676074487965,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"HjbB4f1CDz96Hv88","name":"Rasoir","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/objets/rasoir.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.HjbB4f1CDz96Hv88"}},"system":{"description":"","descriptionmj":"","equipe":false,"encombrement":0.1,"quantite":1,"qualite":0,"cout":2,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"resistance":0,"categorie_parade":"dagues","dommages":"1","penetration":0,"force":"0","competence":"Dague","lancer":"Dague de jet","tir":"","portee_courte":3,"portee_moyenne":8,"portee_extreme":15,"magique":false,"ecaille_efficacite":0,"resistance_magique":0,"rapide":false,"deuxmains":false,"unemain":false,"initpremierround":"dague"},"ownership":{"default":0,"Q4cUvqxCxMoTJXDL":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206021,"modifiedTime":1676074487965,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"HsIJSPQ46cec22Y2","name":"Couverture de laine","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/couverture_laine.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.HsIJSPQ46cec22Y2"}},"system":{"description":"","descriptionmj":"","encombrement":0.6,"quantite":1,"qualite":0,"cout":0.3,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Commune","frequence":54},{"milieu":"Villes","rarete":"Commune","frequence":54}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206021,"modifiedTime":1676074487965,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"Ig9qIzaZ5SveXLF7","name":"Pelle","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/pelle.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.Ig9qIzaZ5SveXLF7"}},"system":{"description":"","descriptionmj":"","encombrement":1,"quantite":1,"qualite":0,"cout":1,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206021,"modifiedTime":1676074487965,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"InTxnjInfBYHsqcR","name":"Poêle à frire (40 cm)","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/poele.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.InTxnjInfBYHsqcR"}},"system":{"description":"","descriptionmj":"","encombrement":0.3,"quantite":1,"qualite":0,"cout":0.5,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"contenu":[],"capacite":0.5,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206021,"modifiedTime":1676074487965,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"JXMef7FXVOG1XYWO","name":"Elixir des gnomes","type":"potion","img":"systems/foundryvtt-reve-de-dragon/icons/objets/elixir_des_gnomes.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.JXMef7FXVOG1XYWO"}},"system":{"description":"<p>Fluide.</p>\n<p>Liqueur violette.</p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":1,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rarissime","frequence":2},{"milieu":"Villes","rarete":"Rare","frequence":6}],"temporel":{"debut":{"indexDate":-1,"indexMinute":0},"fin":{"indexDate":-1,"indexMinute":0}},"rarete":"","categorie":"Remede","herbe":"","herbebrins":0,"herbebonus":0,"reposalchimique":false,"pr":0,"prpermanent":false,"prdate":0,"soinherbe":"","soinherbebonus":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206021,"modifiedTime":1676074487965,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"JfxFBlokIegRWTDo","name":"Torche 1/2 heure (60 min)","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/torche.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.JfxFBlokIegRWTDo"}},"system":{"description":"","descriptionmj":"","encombrement":0.3,"quantite":1,"qualite":0,"cout":0.02,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Commune","frequence":54},{"milieu":"Villes","rarete":"Commune","frequence":54}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206021,"modifiedTime":1676074487965,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"JhQZDbsmFZBLRcln","name":"Sac en jute (20 litres)","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/sac_jute_20.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.JhQZDbsmFZBLRcln"}},"system":{"description":"","descriptionmj":"","encombrement":0.05,"quantite":1,"qualite":0,"cout":0.04,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"contenu":[],"capacite":10,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206021,"modifiedTime":1676074487965,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"K4n2JuDnoHDUPCZG","name":"Bouilloire de fer (2 litres)","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/bouilloire.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.K4n2JuDnoHDUPCZG"}},"system":{"description":"","descriptionmj":"","encombrement":0.5,"quantite":1,"qualite":0,"cout":0.5,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"contenu":[],"capacite":1,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206022,"modifiedTime":1676074487965,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"KQZIK8ltQ3sQiDGe","name":"Mailles de Fer","type":"armure","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/mailles.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.KQZIK8ltQ3sQiDGe"}},"system":{"description":"<p>Grand haubert de mailles avec capuche À enfiler sur une cotte de cuir souple ou de drap matelassé) + bottes de cuir / métal.</p>\n<p> </p>","descriptionmj":"","equipe":false,"encombrement":6,"quantite":1,"qualite":0,"cout":50,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rarissime","frequence":2},{"milieu":"Villes","rarete":"Rare","frequence":6}],"protection":"5","deterioration":null,"malus":-4},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206022,"modifiedTime":1676074487965,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"KlydiUbayqBgJB6J","name":"Tablette de cire","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/tablette_cire.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.KlydiUbayqBgJB6J"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.2,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Rare","frequence":6}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206022,"modifiedTime":1676074487965,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"KvzSNxISkWDoilO8","name":"Gemme Inconnue","type":"objet","flags":{"core":{"sourceId":"Item.V3V3wUXNCG6gzJFB"}},"img":"systems/foundryvtt-reve-de-dragon/icons/gemmes/seliphane.webp","effects":[],"system":{"description":"","descriptionmj":"","encombrement":null,"quantite":1,"qualite":0,"cout":0,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rarissime","frequence":2},{"milieu":"Villes","rarete":"Rare","frequence":6}],"equipe":false,"resistance":0},"ownership":{"default":0,"Q4cUvqxCxMoTJXDL":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206022,"modifiedTime":1676074487965,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"LZPEdSIv3KywCwdk","name":"Liquide","type":"munition","img":"systems/foundryvtt-reve-de-dragon/icons/liquides/liquide_neutre.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.LZPEdSIv3KywCwdk"}},"system":{"description":"<p>1 mesure (20cl) d'un liquide.</p>\n<p><em>(à modifier/compléter)</em></p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206022,"modifiedTime":1676074487965,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"LaAP5tsP1Sc43hKO","name":"Lanterne à huile","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/lanterne_huile.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.LaAP5tsP1Sc43hKO"}},"system":{"description":"","descriptionmj":"","encombrement":1,"quantite":1,"qualite":0,"cout":5,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"contenu":[],"capacite":0.3,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206022,"modifiedTime":1676074487965,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"LkE8EjPfao9m6Rn7","name":"Huile de Sélikanthe","type":"potion","img":"systems/foundryvtt-reve-de-dragon/icons/objets/huile_de_selikanthe.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.LkE8EjPfao9m6Rn7"}},"system":{"description":"<p>Fluide.</p>\n<p>Liquide légèrement huileux.</p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":1,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rarissime","frequence":2},{"milieu":"Villes","rarete":"Rare","frequence":6}],"temporel":{"debut":{"indexDate":-1,"indexMinute":0},"fin":{"indexDate":-1,"indexMinute":0}},"rarete":"","categorie":"Remede","herbe":"","herbebrins":0,"herbebonus":0,"reposalchimique":false,"pr":0,"prpermanent":false,"prdate":0,"soinherbe":"","soinherbebonus":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206022,"modifiedTime":1676074487965,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"M1RgJDuQUvxjqJVV","name":"Chandelle de suif (1 heure)","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/chandelle.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.M1RgJDuQUvxjqJVV"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.02,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206022,"modifiedTime":1676074487966,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"MGvyXFQJpv6nNynl","name":"Masse lourde","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/masse_lourde.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.MGvyXFQJpv6nNynl"}},"system":{"description":"","descriptionmj":"","equipe":false,"encombrement":3,"quantite":1,"qualite":0,"cout":4,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"resistance":10,"categorie_parade":"","dommages":"3/4","penetration":0,"force":"12/11","competence":"Masse à 1 main","lancer":"","tir":"","portee_courte":0,"portee_moyenne":0,"portee_extreme":0,"magique":false,"ecaille_efficacite":0,"resistance_magique":0,"rapide":false,"deuxmains":true,"unemain":true,"initpremierround":"masse"},"ownership":{"default":0,"Q4cUvqxCxMoTJXDL":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206023,"modifiedTime":1676074487966,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"MQxgfYTEQEUhG116","name":"Épée bâtarde","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/epee_batarde.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.MQxgfYTEQEUhG116"}},"system":{"description":"<p>Comme son nom l’indique, c’est une <em>bâtarde </em>de l'épée longue et de l'épée sorde, à la fois longue et large, pouvant s’utiliser à une ou deux mains.</p>","descriptionmj":"","equipe":false,"encombrement":3,"quantite":1,"qualite":0,"cout":30,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rarissime","frequence":2},{"milieu":"Villes","rarete":"Rare","frequence":6}],"resistance":14,"categorie_parade":"epees-lourdes","dommages":"4/5","penetration":0,"force":"13/12","competence":"Epée à 1 main","lancer":"","tir":"","portee_courte":0,"portee_moyenne":0,"portee_extreme":0,"magique":false,"ecaille_efficacite":null,"resistance_magique":null,"rapide":false,"deuxmains":true,"unemain":true,"initpremierround":"epeebatarde"},"ownership":{"default":0,"Q4cUvqxCxMoTJXDL":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206023,"modifiedTime":1676074487966,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"Mbh2M8JS1Rf0vxEX","name":"Harpe","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/harpe.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.Mbh2M8JS1Rf0vxEX"}},"system":{"description":"","descriptionmj":"","encombrement":1,"quantite":1,"qualite":0,"cout":5,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rarissime","frequence":2},{"milieu":"Villes","rarete":"Rare","frequence":6}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206023,"modifiedTime":1676074487966,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"NCp2kdTKmQGyAh1U","name":"Dague","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/dague.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sheetClass":"","sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.NCp2kdTKmQGyAh1U"}},"system":{"description":"","descriptionmj":"","equipe":false,"encombrement":0.5,"quantite":1,"qualite":0,"cout":3,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"resistance":8,"categorie_parade":"dagues","dommages":"1","penetration":0,"force":"7","competence":"Dague","lancer":"Dague de jet","tir":"","portee_courte":3,"portee_moyenne":8,"portee_extreme":15,"magique":false,"ecaille_efficacite":null,"resistance_magique":null,"rapide":true,"deuxmains":false,"unemain":true,"initpremierround":"dague"},"ownership":{"default":0,"Q4cUvqxCxMoTJXDL":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206023,"modifiedTime":1676074487966,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"NNLhxjFsoJVdFuit","name":"Bouteille de verre (1 litre)","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/bouteille_verre.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.NNLhxjFsoJVdFuit"}},"system":{"description":"","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":0.7,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"contenu":[],"capacite":0.5,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206023,"modifiedTime":1676074487966,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"OXFFRZOqlhZDJas3","name":"Béret de velours","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/beret_velours.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.OXFFRZOqlhZDJas3"}},"system":{"description":"","descriptionmj":"","encombrement":0.05,"quantite":1,"qualite":0,"cout":3,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206023,"modifiedTime":1676074487966,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"OYWzXiQUFsjU5AF2","name":"Perles de Bjwal","type":"potion","img":"systems/foundryvtt-reve-de-dragon/icons/objets/perles_bjwal.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.OYWzXiQUFsjU5AF2"}},"system":{"description":"<p>Petits granulés translucides.</p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":1,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rarissime","frequence":2},{"milieu":"Villes","rarete":"Rare","frequence":6}],"temporel":{"debut":{"indexDate":-1,"indexMinute":0},"fin":{"indexDate":-1,"indexMinute":0}},"rarete":"","categorie":"Remede","herbe":"","herbebrins":0,"herbebonus":0,"reposalchimique":false,"pr":0,"prpermanent":false,"prdate":0,"soinherbe":"","soinherbebonus":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206023,"modifiedTime":1676074487966,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"P0yc6QfgKVmM0fpu","name":"Ecuelle de grès","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/ecuelle_gres.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.P0yc6QfgKVmM0fpu"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.1,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206023,"modifiedTime":1676074487966,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"PAqV7Fj8AFEpfEpy","name":"Provisions non-cuites","type":"nourritureboisson","img":"systems/foundryvtt-reve-de-dragon/icons/objets/provision_crue.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.2P30CKBRVIPiTf3Z"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.01,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Commune","frequence":54},{"milieu":"Villes","rarete":"Commune","frequence":54}],"sust":1,"exotisme":0,"cuisinier":"","boisson":false,"desaltere":0,"alcoolise":false,"force":0},"ownership":{"default":0,"wYnBx3HmLfGzsj7P":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206023,"modifiedTime":1676074487966,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"PH2J4zR0hwXSg0vc","name":"Charbon de bois 1 kg","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/charbon.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.PH2J4zR0hwXSg0vc"}},"system":{"description":"","descriptionmj":"","encombrement":0.04,"quantite":1,"qualite":0,"cout":0.06,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206023,"modifiedTime":1676074487966,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"PSc92VlQCdNnbPlg","name":"Lance courte","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/lance.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.PSc92VlQCdNnbPlg"}},"system":{"description":"","descriptionmj":"","equipe":false,"encombrement":2,"quantite":1,"qualite":0,"cout":3,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Rare","frequence":6}],"resistance":5,"categorie_parade":"lances","dommages":"2","penetration":0,"force":"8","competence":"Lance","lancer":"","tir":"","portee_courte":0,"portee_moyenne":0,"portee_extreme":0,"magique":false,"ecaille_efficacite":null,"resistance_magique":null,"rapide":true,"deuxmains":false,"unemain":true,"initpremierround":"lance"},"ownership":{"default":0,"Q4cUvqxCxMoTJXDL":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206024,"modifiedTime":1676074487966,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"PaJoTirnA6h4F3pH","name":"Hameçon","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/hame%C3%A7on.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.PaJoTirnA6h4F3pH"}},"system":{"description":"","descriptionmj":"","encombrement":0.01,"quantite":1,"qualite":0,"cout":0.1,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Rare","frequence":6}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206024,"modifiedTime":1676074487966,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"PkDJ36j7mS3Kfetp","name":"Bouteille de grès (1 litre)","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/bouteille_gres.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.PkDJ36j7mS3Kfetp"}},"system":{"description":"","descriptionmj":"","encombrement":0.3,"quantite":1,"qualite":0,"cout":0.4,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"contenu":[],"capacite":0.5,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206024,"modifiedTime":1676074487967,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"PrnJrG50u1UPdlJN","name":"Liqueur de Bagdol","type":"potion","img":"systems/foundryvtt-reve-de-dragon/icons/objets/liqueur_de_bagdol.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.PrnJrG50u1UPdlJN"}},"system":{"description":"<p>Fluide. Liquide noir et odorant.</p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.5,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rarissime","frequence":2},{"milieu":"Villes","rarete":"Rare","frequence":6}],"temporel":{"debut":{"indexDate":-1,"indexMinute":0},"fin":{"indexDate":-1,"indexMinute":0}},"rarete":"","categorie":"Remede","herbe":"","herbebrins":0,"herbebonus":0,"reposalchimique":false,"pr":0,"prpermanent":false,"prdate":0,"soinherbe":"","soinherbebonus":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206024,"modifiedTime":1676074487967,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"PuuPn6WGfU8uBAyb","name":"Robe de soie","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/robe_soie.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.PuuPn6WGfU8uBAyb"}},"system":{"description":"","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":10,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rarissime","frequence":2},{"milieu":"Villes","rarete":"Rare","frequence":6}],"equipe":false,"resistance":0},"ownership":{"default":0,"jOzRscDxoXZWpGS6":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206024,"modifiedTime":1676074487967,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"Qh4Tp7lZ6wLnX4w0","name":"Bâton","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/baton.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.Qh4Tp7lZ6wLnX4w0"}},"system":{"description":"","descriptionmj":"","equipe":false,"encombrement":2,"quantite":1,"qualite":0,"cout":0.5,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Commune","frequence":54},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"resistance":8,"categorie_parade":"","dommages":"1","penetration":0,"force":"9","competence":"Masse à 2 mains","lancer":"","tir":"","portee_courte":0,"portee_moyenne":0,"portee_extreme":0,"magique":false,"ecaille_efficacite":null,"resistance_magique":null,"rapide":false,"deuxmains":true,"unemain":false,"initpremierround":"baton"},"ownership":{"default":0,"Q4cUvqxCxMoTJXDL":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206024,"modifiedTime":1676074487967,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"RKr1ZhTvC6poiNa1","name":"Gros Clou","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/gros_clou.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.RKr1ZhTvC6poiNa1"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.05,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206024,"modifiedTime":1676074487967,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"RNxCQWMDy06uQ8uj","name":"Ecuelle de fer","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/ecuelle_fer.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.RNxCQWMDy06uQ8uj"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.15,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206024,"modifiedTime":1676074487967,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"RSni2r8jLccvkc9i","name":"Cristal alchimique","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/cristal_alchimique.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.RSni2r8jLccvkc9i"}},"system":{"description":"","descriptionmj":"","encombrement":0.09,"quantite":1,"qualite":0,"cout":4,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rarissime","frequence":2},{"milieu":"Villes","rarete":"Rare","frequence":6}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206024,"modifiedTime":1676074487967,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"RWYaq8tnpgrkh5ED","name":"Flacon de grès (40 cl)","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/flacon_gres1.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.RWYaq8tnpgrkh5ED"}},"system":{"description":"","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":0.15,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"contenu":[],"capacite":0.2,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206025,"modifiedTime":1676074487967,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Herbe à pipe","type":"herbe","img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Endorlotte.webp","system":{"description":"","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0.01,"cout":0.01,"milieu":"","environnement":[],"sust":0,"exotisme":0,"niveau":0,"base":0,"categorie":"Autre"},"effects":[],"flags":{"core":{"sourceId":"Item.wxmHkhTTzPNepN4d"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1676073283027,"modifiedTime":1676074487920,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"folder":null,"sort":0,"ownership":{"default":0,"Hp9ImM4o9YRTSdfu":3},"_id":"RcfER27g7gX4YGFd"}
|
||||
{"_id":"Reqo8GC9p7GI9k9N","name":"Chope de grès (20 cl)","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/chope_gres.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.Reqo8GC9p7GI9k9N"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.1,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Commune","frequence":54},{"milieu":"Villes","rarete":"Commune","frequence":54}],"contenu":[],"capacite":0.1,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206025,"modifiedTime":1676074487967,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"Ri5QtS98FTfgHk2N","name":"Javeline","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/javeline.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.Ri5QtS98FTfgHk2N"}},"system":{"description":"","descriptionmj":"","equipe":false,"encombrement":1,"quantite":1,"qualite":0,"cout":1,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Rare","frequence":6}],"resistance":5,"categorie_parade":"lances","dommages":"1","penetration":0,"force":"7","competence":"Lance","lancer":"Javelot","tir":"","portee_courte":6,"portee_moyenne":12,"portee_extreme":20,"magique":false,"ecaille_efficacite":0,"resistance_magique":0,"rapide":true,"deuxmains":false,"unemain":true,"initpremierround":"hast"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206025,"modifiedTime":1676074487967,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"Ro5cOOtLLB0lMlzl","name":"Javelot","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/objets/javelot.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.Ro5cOOtLLB0lMlzl"}},"system":{"description":"<p>Chaque point de force au dessus de 10 augmente les portées de 1m.</p>\n<p>Chaque point de force en dessous de 9 diminue les portées de 1m.</p>","descriptionmj":"","equipe":false,"encombrement":1,"quantite":1,"qualite":0,"cout":1,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Rare","frequence":6}],"resistance":0,"categorie_parade":"lances","dommages":"1","penetration":0,"force":"0","competence":"Lance","lancer":"Javelot","tir":"","portee_courte":6,"portee_moyenne":12,"portee_extreme":20,"magique":false,"ecaille_efficacite":0,"resistance_magique":0,"rapide":true,"deuxmains":false,"unemain":true,"initpremierround":"hast"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206025,"modifiedTime":1676074487967,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"RyW0z9Y5UeZSYjFZ","name":"Savon 500g","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/savon.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.RyW0z9Y5UeZSYjFZ"}},"system":{"description":"","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":0.2,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206025,"modifiedTime":1676074487967,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"S3bLtbXe6BzEFCjt","name":"Plaques de Fer","type":"armure","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/armure_plaques.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.S3bLtbXe6BzEFCjt"}},"system":{"description":"<p>L'armure classique du chevalier. Armure complète de plaques (heaume, cuirasse, épaulières, cubitières, ventrière, cuissards, jambières).</p>\n<p> </p>","descriptionmj":"","equipe":false,"encombrement":8,"quantite":1,"qualite":0,"cout":100,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rarissime","frequence":2},{"milieu":"Villes","rarete":"Rare","frequence":6}],"protection":"6","deterioration":0,"malus":-6},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206026,"modifiedTime":1676074487967,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Carreau d'arbalète","type":"munition","img":"systems/foundryvtt-reve-de-dragon/icons/objets/fleche.webp","system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.1,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Rare","frequence":6}]},"effects":[],"flags":{"core":{"sourceId":"Item.SHsq6zY7THX0pF0r"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1676067642744,"modifiedTime":1676074487967,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"SHsq6zY7THX0pF0r","folder":null,"sort":0,"ownership":{"default":0,"Hp9ImM4o9YRTSdfu":3}}
|
||||
{"_id":"SZyBQbInuUGASlGb","name":"Tambourin","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/tambourin.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.SZyBQbInuUGASlGb"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.5,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206026,"modifiedTime":1676074487967,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"Sm28dG9isppoQzPQ","name":"Bas de lin","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/bas_lin.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.Sm28dG9isppoQzPQ"}},"system":{"description":"","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0.3,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Commune","frequence":54},{"milieu":"Villes","rarete":"Commune","frequence":54}],"equipe":false,"resistance":0},"ownership":{"default":0,"jOzRscDxoXZWpGS6":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206026,"modifiedTime":1676074487967,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"SrV0r5hnGdKeSIHR","name":"Cuillère de bois","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/cuillere_bois.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.SrV0r5hnGdKeSIHR"}},"system":{"description":"","descriptionmj":"","encombrement":0.03,"quantite":1,"qualite":0,"cout":0.03,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Commune","frequence":54},{"milieu":"Villes","rarete":"Commune","frequence":54}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206026,"modifiedTime":1676074487967,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"SsnGNjTekvB50uWa","name":"Chapeau de cuir souple","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/chapeau_cuir.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.SsnGNjTekvB50uWa"}},"system":{"description":"","descriptionmj":"","encombrement":0.08,"quantite":1,"qualite":0,"cout":0.5,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206026,"modifiedTime":1676074487967,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"TKsUXJq9w7ezcFGQ","name":"Hache de bataille","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/hache_bataille.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.TKsUXJq9w7ezcFGQ"}},"system":{"description":"","descriptionmj":"","equipe":false,"encombrement":2,"quantite":1,"qualite":0,"cout":15,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Rare","frequence":6}],"resistance":8,"categorie_parade":"haches","dommages":"3/4","penetration":0,"force":"12/11","competence":"Hache à 1 main","lancer":"","tir":"","portee_courte":0,"portee_moyenne":0,"portee_extreme":0,"magique":false,"ecaille_efficacite":0,"resistance_magique":0,"rapide":false,"deuxmains":true,"unemain":true,"initpremierround":"hachebataille"},"ownership":{"default":0,"Q4cUvqxCxMoTJXDL":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206026,"modifiedTime":1676074487968,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"TY6Ft8a6WfxD6pD9","name":"Bobineau de fil","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/bobineau.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.TY6Ft8a6WfxD6pD9"}},"system":{"description":"","descriptionmj":"","encombrement":0.01,"quantite":1,"qualite":0,"cout":0.1,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Commune","frequence":54},{"milieu":"Villes","rarete":"Commune","frequence":54}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206026,"modifiedTime":1676074487968,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"UDmq6CY3NsttcHe4","name":"Peigne en corne","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/peigne.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.UDmq6CY3NsttcHe4"}},"system":{"description":"","descriptionmj":"","encombrement":0.04,"quantite":1,"qualite":0,"cout":0.4,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206026,"modifiedTime":1676074487968,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"UE79xKWXTwYAn70K","name":"Arme d’hast","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/hast.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.UE79xKWXTwYAn70K"}},"system":{"description":"","descriptionmj":"","equipe":false,"encombrement":4,"quantite":1,"qualite":0,"cout":10,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"resistance":8,"categorie_parade":"hast","dommages":"4","penetration":0,"force":"12","competence":"Armes d'hast","lancer":"","tir":"","portee_courte":0,"portee_moyenne":0,"portee_extreme":0,"magique":false,"ecaille_efficacite":null,"resistance_magique":null,"rapide":false,"deuxmains":true,"unemain":false,"initpremierround":"hast"},"ownership":{"default":0,"Q4cUvqxCxMoTJXDL":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206026,"modifiedTime":1676074487968,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"UICiMF3wBeLsqm8L","name":"Pipe en bois","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/pipe.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.UICiMF3wBeLsqm8L"}},"system":{"description":"","descriptionmj":"","encombrement":0.04,"quantite":1,"qualite":0,"cout":0.1,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206026,"modifiedTime":1676074487968,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"UMfXFhVhdoVQVEKy","name":"Fronde","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/objets/fronde.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.UMfXFhVhdoVQVEKy"}},"system":{"description":"<p>Peut tirer tous les rounds.</p>","descriptionmj":"","equipe":false,"encombrement":0.08,"quantite":1,"qualite":0,"cout":0.6,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"resistance":0,"categorie_parade":"","dommages":"1","penetration":0,"force":"0","competence":"","lancer":"","tir":"Fronde","portee_courte":8,"portee_moyenne":15,"portee_extreme":25,"magique":false,"ecaille_efficacite":0,"resistance_magique":0,"rapide":false,"deuxmains":false,"unemain":false,"initpremierround":"hast"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206026,"modifiedTime":1676074487968,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"UYXXggulNwnodaOt","name":"Chope de fer (20 cl)","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/chope_fer.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.UYXXggulNwnodaOt"}},"system":{"description":"","descriptionmj":"","encombrement":0.08,"quantite":1,"qualite":0,"cout":0.15,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"contenu":[],"capacite":0.1,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206027,"modifiedTime":1676074487968,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"UczsYTAoP9koA2SL","name":"Bourse, sachet de tissu","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/bourse_sachet.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.UczsYTAoP9koA2SL"}},"system":{"description":"","descriptionmj":"","encombrement":0.01,"quantite":1,"qualite":0,"cout":0.05,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Commune","frequence":54},{"milieu":"Villes","rarete":"Commune","frequence":54}],"contenu":[],"capacite":0.3,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206107,"modifiedTime":1676074487968,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"UsyV9n0byCeYirNC","name":"Esparlongue","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/esparlongue.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.UsyV9n0byCeYirNC"}},"system":{"description":"<p>C’est une épée semblable à la <em>rapière</em>, longue et ne frappant uniquement d’estoc. Elle doit son nom à ce qu’elle était particulièrement en vogue, au Second Âge, dans la cité d’Esparlongue. En ce début du Troisième Âge, toutefois, on lui substitue le plus souvent la <strong>demi-dragonne</strong>, épée très voisine, ne frappant pareillement que d’estoc, mais plus résistante (résistance 10) et moins coûteuse (15 sols) ; son bonus aux dommages (+2) est identique.</p>","descriptionmj":"","equipe":false,"encombrement":1.5,"quantite":1,"qualite":0,"cout":20,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"resistance":9,"categorie_parade":"epees-longues","dommages":"2","penetration":0,"force":"10","competence":"Epée à 1 main","lancer":"","tir":"","portee_courte":0,"portee_moyenne":0,"portee_extreme":0,"magique":false,"ecaille_efficacite":0,"resistance_magique":0,"rapide":true,"deuxmains":false,"unemain":true,"initpremierround":"esparlongue"},"ownership":{"default":0,"Q4cUvqxCxMoTJXDL":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206107,"modifiedTime":1676074487968,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"Uxk2tvEqtrmYScjK","name":"Pot à braise","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/pot_a_braise.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.Uxk2tvEqtrmYScjK"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.2,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Rare","frequence":6}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206107,"modifiedTime":1676074487968,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"VsjRwh9Z9PMpFKdI","name":"Craie 1 bâton","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/craie.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.VsjRwh9Z9PMpFKdI"}},"system":{"description":"","descriptionmj":"","encombrement":0.01,"quantite":1,"qualite":0,"cout":0.01,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206107,"modifiedTime":1676074487968,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"WC1jMDKcxEJQWGOR","name":"Burette de fer blanc (40 cl)","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/burette.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.WC1jMDKcxEJQWGOR"}},"system":{"description":"","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":0.5,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"contenu":[],"capacite":0.2,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206107,"modifiedTime":1676074487968,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"WTHZdtgf6lHUSKDx","name":"Fouet","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/objets/fouet.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.WTHZdtgf6lHUSKDx"}},"system":{"description":"<p>Provoque des dégâts \"non mortels\".</p>\n<p>Les armures sont majorées de 2.</p>\n<p>Si la protection atteint une valeur de 5 ou plus, le fouet ne peut causer de dégât.</p>","descriptionmj":"","equipe":false,"encombrement":0.5,"quantite":1,"qualite":0,"cout":1,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Rare","frequence":6}],"resistance":0,"categorie_parade":"","dommages":"1","penetration":-1,"force":"0","competence":"","lancer":"Fouet","tir":"","portee_courte":2,"portee_moyenne":2,"portee_extreme":3,"magique":false,"ecaille_efficacite":0,"resistance_magique":0,"rapide":false,"deuxmains":false,"unemain":false,"initpremierround":"hast"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206107,"modifiedTime":1676074487968,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"WTWXZeoK5HpCrGFy","name":"Hachette","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/objets/hachette.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.WTWXZeoK5HpCrGFy"}},"system":{"description":"","descriptionmj":"","equipe":false,"encombrement":1,"quantite":1,"qualite":0,"cout":4,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Commune","frequence":54},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"resistance":6,"categorie_parade":"haches","dommages":"2","penetration":0,"force":"8","competence":"Hache à 1 main","lancer":"","tir":"","portee_courte":0,"portee_moyenne":0,"portee_extreme":0,"magique":false,"ecaille_efficacite":null,"resistance_magique":null,"rapide":true,"deuxmains":false,"unemain":true,"initpremierround":"dague"},"ownership":{"default":0,"Q4cUvqxCxMoTJXDL":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206107,"modifiedTime":1676074487968,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Ciseau à bois","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/gouge.webp","effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.cVZbnh5cYxBx6P5b"}},"system":{"description":"","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":0.3,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206109,"modifiedTime":1676074352882,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"XEMiC8DxAZFjBj6g","folder":null,"sort":0,"ownership":{"default":0,"Hp9ImM4o9YRTSdfu":3}}
|
||||
{"_id":"XTZVrcMNofAviP63","name":"Cire d'abeille 500g","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/cire.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.XTZVrcMNofAviP63"}},"system":{"description":"","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":0.15,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206108,"modifiedTime":1676074487968,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"XlKp5BvZX8A03fUg","name":"Sac à dos de cuir","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/sac_a_dos.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.XlKp5BvZX8A03fUg"}},"system":{"description":"","descriptionmj":"","encombrement":0.4,"quantite":1,"qualite":0,"cout":1,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"contenu":[],"capacite":25,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206108,"modifiedTime":1676074487968,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"XoslLyWIJYY2RGzz","name":"Fiole de verre (20 cl)","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/fiole_verre.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.XoslLyWIJYY2RGzz"}},"system":{"description":"","descriptionmj":"","encombrement":0.06,"quantite":1,"qualite":0,"cout":0.2,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"contenu":[],"capacite":0.1,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206108,"modifiedTime":1676074487968,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"XwuLVGasPJXzvC09","name":"Encre 20 cl","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/encre_20cl.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.XwuLVGasPJXzvC09"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.1,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206108,"modifiedTime":1676074487968,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"YHPrUuGGGTGZMNAg","name":"Bière","type":"nourritureboisson","img":"systems/foundryvtt-reve-de-dragon/icons/liquides/liquide_biere.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.u7lMLkVlFCXBj8Bc"}},"system":{"description":"<p>1 mesure (20cl) de bière.</p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.01,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Commune","frequence":54},{"milieu":"Villes","rarete":"Commune","frequence":54}],"sust":0,"exotisme":0,"cuisinier":"","boisson":true,"desaltere":0.8,"alcoolise":true,"force":-1,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206108,"modifiedTime":1676074487968,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"YNbbSGLnexiXNyXU","name":"Manteau de laine","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/manteau_laine.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.YNbbSGLnexiXNyXU"}},"system":{"description":"","descriptionmj":"","encombrement":0.8,"quantite":1,"qualite":0,"cout":0.6,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206108,"modifiedTime":1676074487969,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"Yh7VGX3BikmIjVQH","name":"Gourdin","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/gourdin.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.Yh7VGX3BikmIjVQH"}},"system":{"description":"","descriptionmj":"","equipe":false,"encombrement":1,"quantite":1,"qualite":0,"cout":0,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Commune","frequence":54},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"resistance":8,"categorie_parade":"","dommages":"1","penetration":0,"force":"7","competence":"Masse à 1 main","lancer":"","tir":"","portee_courte":0,"portee_moyenne":0,"portee_extreme":0,"magique":false,"ecaille_efficacite":0,"resistance_magique":0,"rapide":true,"deuxmains":false,"unemain":true,"initpremierround":"gourdin"},"ownership":{"default":0,"Q4cUvqxCxMoTJXDL":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206108,"modifiedTime":1676074487969,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"Yyn39VDRnO6oA3Uq","name":"Echecs draconics en bois","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/echecs.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.Yyn39VDRnO6oA3Uq"}},"system":{"description":"","descriptionmj":"","encombrement":0.5,"quantite":1,"qualite":0,"cout":2,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206108,"modifiedTime":1676074487969,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"Z0ij7qpoYeWMVocP","name":"Ceinturon de cuir","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/ceinturon.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.Z0ij7qpoYeWMVocP"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.5,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"contenu":[],"capacite":6,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206108,"modifiedTime":1676074487969,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"ZLda3pfrbiKucSea","name":"Cornebouffe","type":"nourritureboisson","img":"systems/foundryvtt-reve-de-dragon/icons/objets/cornebouffe.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.NuwD0kiJyoqevKib"}},"system":{"description":"<p><span class=\"fontstyle0\">La cornebouffe est une préparation à base de gibier, élaborée dans les forêts proches de la mer par des chasseurs spécialisés : les </span><span class=\"fontstyle2\">cornebouffiers</span><span class=\"fontstyle0\">. Acheminée vers les ports, principaux consommateurs, elle constitue l’aliment de base de la plupart des marins.</span></p>\n<p><span class=\"fontstyle0\">Certains voyageurs qui l’ont expérimentée et en ont accepté l’exotisme, en transportent parfois en cas de disette. Pratiquement, il s’agit de gibier référentiellement cornu (bramart, cornicochon, mercureuil), que l’on cuit et recuit dans de l’eau de mer avec des herbes, jusqu’à obtenir une pâte, sorte de mastic, que l’on façonne en forme de galettes, puis que l’on laisse longuement sécher au soleil. On aboutit au final à des sortes de petites briques plates, de la taille d’une demi-main, de couleur vert-de-gris, et à peu près aussi dures que les briques véritables. La meilleure façon de consommer ces galettes est de les réhydrater avec de l’eau chaude, c’est la façon dite </span><span class=\"fontstyle2\">soupée </span><span class=\"fontstyle0\">: on obtient une sorte de soupe ou de bouillie gluante. L’autre façon, dite sèche, consiste à les grignoter telles quelles comme des biscuits, mais il est impératif de boire beaucoup par dessus, sous peine d’une soif torride accompagnée de maux d’estomac.</span></p>\n<p><span class=\"fontstyle0\">Légère, peu encombrante, et surtout nourrissante, une galette de cornebouffe suffit pour un repas. Quant au goût, eh bien... ceux qui disent que, tant qu’à y aller, autant manger directement des crottes de chien à la croque-au-sel, ne sont probablement que des enfants gâtés et difficiles.</span></p>\n<p><span class=\"fontstyle0\">Aliment de longue conservation (pratiquement inaltérable), la cornebouffe possède un des meilleurs rapports sustentation/encombrement.</span></p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.02,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"sust":3,"exotisme":-2,"cuisinier":"","boisson":false,"desaltere":0,"alcoolise":false,"force":0,"equipe":false,"resistance":0},"ownership":{"default":0,"Q4cUvqxCxMoTJXDL":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206108,"modifiedTime":1676074487969,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"ZaAKf4n8mtevbMM0","name":"Hydromel","type":"nourritureboisson","img":"systems/foundryvtt-reve-de-dragon/icons/liquides/liquide_biere.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.ZaAKf4n8mtevbMM0"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.04,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"sust":0,"exotisme":0,"cuisinier":"","boisson":true,"desaltere":0.6,"alcoolise":true,"force":-4},"ownership":{"default":0,"wYnBx3HmLfGzsj7P":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206109,"modifiedTime":1676074487969,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"a3Wj2WNKFrzqRGVG","name":"Chemise de soie","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/chemise_soie.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.a3Wj2WNKFrzqRGVG"}},"system":{"description":"","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":6,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rarissime","frequence":2},{"milieu":"Villes","rarete":"Rare","frequence":6}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206109,"modifiedTime":1676074487969,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"b0f08L5CDeFIMluC","name":"Cuir Souple","type":"armure","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/cuir_souple.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.b0f08L5CDeFIMluC"}},"system":{"description":"<p>Même épaisseur que nos modernes blousons de cuir. Pourpoint ou cotte de cuir souple + culottes de cuir souple + bottes de cuir souple.</p>\n<p> </p>","descriptionmj":"","equipe":false,"encombrement":0,"quantite":1,"qualite":0,"cout":6,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"protection":2,"deterioration":0,"malus":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206109,"modifiedTime":1676074487969,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"bA0JDA7awoWhu0vO","name":"Teinture d'Erozonne","type":"potion","img":"systems/foundryvtt-reve-de-dragon/icons/objets/teinture_erozonne.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.bA0JDA7awoWhu0vO"}},"system":{"description":"<p>Fluide. </p>\n<p>Liquide rosâtre.</p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":2,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rarissime","frequence":2},{"milieu":"Villes","rarete":"Rare","frequence":6}],"temporel":{"debut":{"indexDate":-1,"indexMinute":0},"fin":{"indexDate":-1,"indexMinute":0}},"rarete":"","categorie":"Remede","herbe":"","herbebrins":0,"herbebonus":0,"reposalchimique":false,"pr":0,"prpermanent":false,"prdate":0,"soinherbe":"","soinherbebonus":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206109,"modifiedTime":1676074487969,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"beQ9d4QQwZDQl5NA","name":"Flûte à bec","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/flute_bec.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.beQ9d4QQwZDQl5NA"}},"system":{"description":"","descriptionmj":"","encombrement":0.09,"quantite":1,"qualite":0,"cout":1,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Commune","frequence":54},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206109,"modifiedTime":1676074487969,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"cVZbnh5cYxBx6P5b","name":"Burin","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/gouge.webp","effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.cVZbnh5cYxBx6P5b"}},"system":{"description":"","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":0.3,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206109,"modifiedTime":1676074398967,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"folder":null,"sort":0,"ownership":{"default":0,"Hp9ImM4o9YRTSdfu":3}}
|
||||
{"name":"Viole","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/luth.webp","effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.bgkEBYUEFLvAaeVf"}},"system":{"description":"","descriptionmj":"","encombrement":1,"quantite":1,"qualite":0,"cout":7,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Rare","frequence":6}],"equipe":false,"resistance":0},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206109,"modifiedTime":1676074487920,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"folder":null,"sort":0,"ownership":{"default":0,"Hp9ImM4o9YRTSdfu":3},"_id":"cbwLXpLTEtywFT6b"}
|
||||
{"_id":"ckKnviu9SHvWgya0","name":"Bougie de cire (2 heures)","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/bougie.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.ckKnviu9SHvWgya0"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.05,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Commune","frequence":54},{"milieu":"Villes","rarete":"Commune","frequence":54}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206109,"modifiedTime":1676074487969,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"cobfvOmFpti5lJuK","name":"Chemise de lin","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/chemise_lin.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.cobfvOmFpti5lJuK"}},"system":{"description":"","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0.3,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Commune","frequence":54},{"milieu":"Villes","rarete":"Commune","frequence":54}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206109,"modifiedTime":1676074487969,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"dBR6KXvfmjjIcwsc","name":"Pilon en marbre","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/pilon.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.dBR6KXvfmjjIcwsc"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.2,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206110,"modifiedTime":1676074487969,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"dLiMJO6aUkh0EuIZ","name":"Épée dragonne","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/epee_dragonne.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.dLiMJO6aUkh0EuIZ"}},"system":{"description":"<p>C’est une épée <em>longue</em>, plus robuste que l’esparlongue, pouvant également frapper de taille.</p>","descriptionmj":"","equipe":false,"encombrement":2,"quantite":1,"qualite":0,"cout":20,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"resistance":12,"categorie_parade":"epees-longues","dommages":"3","penetration":0,"force":"11","competence":"Epée à 1 main","lancer":"","tir":"","portee_courte":0,"portee_moyenne":0,"portee_extreme":0,"magique":false,"ecaille_efficacite":null,"resistance_magique":null,"rapide":true,"deuxmains":false,"unemain":true,"initpremierround":"epeedragonne"},"ownership":{"default":0,"Q4cUvqxCxMoTJXDL":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206110,"modifiedTime":1676074487969,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"eK28jEeQiJdd93L3","name":"Bouclier léger","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/bouclier_petit.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.eK28jEeQiJdd93L3"}},"system":{"description":"","descriptionmj":"","equipe":false,"encombrement":1,"quantite":1,"qualite":0,"cout":4,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"resistance":13,"categorie_parade":"boucliers","dommages":"0","penetration":0,"force":"8","competence":"Bouclier","lancer":"","tir":"","portee_courte":0,"portee_moyenne":0,"portee_extreme":0,"magique":false,"ecaille_efficacite":null,"resistance_magique":null,"rapide":false,"deuxmains":false,"unemain":false,"initpremierround":"hast"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206110,"modifiedTime":1676074487969,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"fAzYb7kkW6QxG6i6","name":"Graisse à Bottes 500g","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/graisse_a_cuir.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.fAzYb7kkW6QxG6i6"}},"system":{"description":"","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":0.3,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206110,"modifiedTime":1676074487969,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"fDwsTMuug0Z5BdaA","name":"Cuir / Metal","type":"armure","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/cuir_metal.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.fDwsTMuug0Z5BdaA"}},"system":{"description":"<p>Cuir épais clouté, ou petites plaquettes, écailles ou anneaux de fer cousus sur le cuir. Pectoral ou cotte de cuir/métal + jupon ou cuissards de cuir / métal sur culottes de cuir souple + bottes de cuir / métal + casque de métal.</p>\n<p> </p>","descriptionmj":"","equipe":false,"encombrement":4,"quantite":1,"qualite":0,"cout":20,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"protection":"4","deterioration":0,"malus":-2},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206110,"modifiedTime":1676074487969,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"fLKFTvLWoj7juxQE","name":"Flèche","type":"munition","img":"systems/foundryvtt-reve-de-dragon/icons/objets/fleche.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.X4mih6UN2mWf7Ndr"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.1,"milieu":"","environnement":[]},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1676067642744,"modifiedTime":1676074487970,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"fOfVLKBacNEsDBn1","name":"Brandevin","type":"nourritureboisson","img":"systems/foundryvtt-reve-de-dragon/icons/liquides/liquide_sang.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.fOfVLKBacNEsDBn1"}},"system":{"description":"<p>Dose de 10cl de Brandevin</p>","descriptionmj":"","encombrement":0.05,"quantite":1,"qualite":0,"cout":0.1,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"sust":0,"exotisme":0,"cuisinier":"","boisson":true,"desaltere":0.2,"alcoolise":true,"force":-5},"ownership":{"default":0,"wYnBx3HmLfGzsj7P":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206110,"modifiedTime":1676074487970,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Etain (1 denier)","type":"monnaie","img":"systems/foundryvtt-reve-de-dragon/icons/objets/piece_etain_poisson.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.UFCII7LUClrCWElV"}},"_id":"fhP2azbUBfmpF441","system":{"description":"","descriptionmj":"","encombrement":0.01,"quantite":0,"qualite":0,"cout":0.01,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Commune","frequence":54},{"milieu":"Villes","rarete":"Commune","frequence":54}]},"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206110,"modifiedTime":1676074487970,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"gfU7oZL1JYqF3lAW","name":"Robe de lin","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/robe_lin.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.gfU7oZL1JYqF3lAW"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.6,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"ownership":{"default":0,"jOzRscDxoXZWpGS6":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206111,"modifiedTime":1676074487970,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"gmBC6SO3F5d64Vpl","name":"Miroir en cuivre poli 20 cm","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/miroir.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.gmBC6SO3F5d64Vpl"}},"system":{"description":"","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":1,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206111,"modifiedTime":1676074487970,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Or (10 sols)","type":"monnaie","img":"systems/foundryvtt-reve-de-dragon/icons/objets/piece_or_sol.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.CmqfrDQgL61XIAqt"}},"_id":"gmbvvEx7hPrAy3zh","system":{"description":"","descriptionmj":"","encombrement":0.01,"quantite":0,"qualite":0,"cout":10,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Rare","frequence":6}]},"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206111,"modifiedTime":1676074487970,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"godMVR796aSUVjLu","name":"Fléau léger","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/fleau_leger.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.godMVR796aSUVjLu"}},"system":{"description":"","descriptionmj":"","equipe":false,"encombrement":2,"quantite":1,"qualite":0,"cout":12,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Rare","frequence":6}],"resistance":10,"categorie_parade":"","dommages":"3","penetration":0,"force":"12","competence":"Fléau","lancer":"","tir":"","portee_courte":0,"portee_moyenne":0,"portee_extreme":0,"magique":false,"ecaille_efficacite":0,"resistance_magique":0,"rapide":false,"deuxmains":false,"unemain":true,"initpremierround":"fleau"},"ownership":{"default":0,"Q4cUvqxCxMoTJXDL":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206111,"modifiedTime":1676074487970,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"hEPimS3H8jihDuUS","name":"Crayon à mine de plomb","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/crayon_plomb.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.hEPimS3H8jihDuUS"}},"system":{"description":"","descriptionmj":"","encombrement":0.02,"quantite":1,"qualite":0,"cout":0.3,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206111,"modifiedTime":1676074487970,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"hVgd4APvAW8sbXf0","name":"Grande hache","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/grande_hache.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.hVgd4APvAW8sbXf0"}},"system":{"description":"","descriptionmj":"","equipe":false,"encombrement":3,"quantite":1,"qualite":0,"cout":15,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Rare","frequence":6}],"resistance":8,"categorie_parade":"haches","dommages":"4","penetration":0,"force":"13","competence":"Hache à 2 mains","lancer":"","tir":"","portee_courte":0,"portee_moyenne":0,"portee_extreme":0,"magique":false,"ecaille_efficacite":0,"resistance_magique":0,"rapide":false,"deuxmains":true,"unemain":false,"initpremierround":"hast"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206111,"modifiedTime":1676074487970,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"hjsIxUmanyz5otLJ","name":"Marmite de fer (3 litres)","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/marmite.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.hjsIxUmanyz5otLJ"}},"system":{"description":"","descriptionmj":"","encombrement":0.6,"quantite":1,"qualite":0,"cout":0.6,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"contenu":[],"capacite":1.5,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206111,"modifiedTime":1676074487970,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"htaHjhHwVhlBnZjv","name":"Fléau lourd","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/fleau_lourd.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.htaHjhHwVhlBnZjv"}},"system":{"description":"","descriptionmj":"","equipe":false,"encombrement":3,"quantite":1,"qualite":0,"cout":15,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rarissime","frequence":2},{"milieu":"Villes","rarete":"Rare","frequence":6}],"resistance":10,"categorie_parade":"","dommages":"4","penetration":0,"force":"13","competence":"Fléau","lancer":"","tir":"","portee_courte":0,"portee_moyenne":0,"portee_extreme":0,"magique":false,"ecaille_efficacite":0,"resistance_magique":0,"rapide":false,"deuxmains":false,"unemain":true,"initpremierround":"fleau"},"ownership":{"default":0,"Q4cUvqxCxMoTJXDL":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206111,"modifiedTime":1676074487970,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"huvZ4dMPpn9gk9km","name":"Sel","type":"objet","flags":{"core":{"sourceId":"Item.fLEyryhRi8Nw37SP"}},"img":"systems/foundryvtt-reve-de-dragon/icons/objets/sel.webp","effects":[],"system":{"description":"","descriptionmj":"","encombrement":0.01,"quantite":1,"qualite":0,"cout":null,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"ownership":{"default":0,"Q4cUvqxCxMoTJXDL":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206111,"modifiedTime":1676074487970,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"iCvphbPdxUcfqetd","name":"Aumônière","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/aumoniere.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.iCvphbPdxUcfqetd"}},"system":{"description":"<p>Comme une bourse, mais sous forme d'une coque en cuir rigide.</p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0.2,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Commune","frequence":54}],"contenu":[],"capacite":0.25,"equipe":false},"ownership":{"default":0,"jOzRscDxoXZWpGS6":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206112,"modifiedTime":1676074487970,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"iGHudg5kBOfYWgwV","name":"Arc","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/objets/arc.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.iGHudg5kBOfYWgwV"}},"system":{"description":"<p>Nie jusqu'à 2 points d'armure.</p>\n<p>Rechargement 1/2 round (s'il tire en début de round, il pourra recharger durant le reste du round pour tirer de nouveau au début du round suivant).</p>","descriptionmj":"","equipe":false,"encombrement":1,"quantite":1,"qualite":0,"cout":10,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"resistance":0,"categorie_parade":"","dommages":"2","penetration":2,"force":"0","competence":"","lancer":"","tir":"Arc","portee_courte":10,"portee_moyenne":20,"portee_extreme":50,"magique":false,"ecaille_efficacite":0,"resistance_magique":0,"rapide":false,"deuxmains":false,"unemain":false,"initpremierround":"hast"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206112,"modifiedTime":1676074487971,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"iq8ZZgphxOUgC1bi","name":"Flûte traversière de roseau","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/flute_traversiere.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.iq8ZZgphxOUgC1bi"}},"system":{"description":"","descriptionmj":"","encombrement":0.08,"quantite":1,"qualite":0,"cout":0.12,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Commune","frequence":54},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206112,"modifiedTime":1676074487971,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"iss7ARW8oRoe1umi","name":"Eau","type":"nourritureboisson","img":"systems/foundryvtt-reve-de-dragon/icons/liquides/liquide_eau.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.DAFP7z5gzl1O3rCV"}},"system":{"description":"<p><span style=\"color: #191813; font-family: CaslonAntique; font-size: 16px; letter-spacing: 1px; text-align: justify; background-color: #f5f5f0;\">1 mesure (20cl) d'eau.</span></p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0,"milieu":"","environnement":[{"milieu":"Cours d'eau","rarete":"Commune","frequence":54},{"milieu":"Villages","rarete":"Commune","frequence":54},{"milieu":"Villes","rarete":"Commune","frequence":54}],"sust":0,"exotisme":0,"cuisinier":"","boisson":true,"desaltere":1,"alcoolise":false,"force":0,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206112,"modifiedTime":1676074487971,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"iuSOVPBsK8Zg6hoY","name":"1 m² de bâche","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/bache.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.iuSOVPBsK8Zg6hoY"}},"system":{"description":null,"descriptionmj":"","encombrement":0.5,"quantite":1,"qualite":0,"cout":0.2,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206112,"modifiedTime":1676074487971,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"j9WpAl1SwHEovg3b","name":"Tresse de crin","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/tresse.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.j9WpAl1SwHEovg3b"}},"system":{"description":"","descriptionmj":"","encombrement":0.02,"quantite":1,"qualite":0,"cout":0.1,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Commune","frequence":54},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206112,"modifiedTime":1676074487971,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"jHxnzdBSVzr7Z7wH","name":"Robe de velours","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/robe_velours.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.jHxnzdBSVzr7Z7wH"}},"system":{"description":"","descriptionmj":"","encombrement":0.3,"quantite":1,"qualite":0,"cout":10,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rarissime","frequence":2},{"milieu":"Villes","rarete":"Rare","frequence":6}],"equipe":false,"resistance":0},"ownership":{"default":0,"jOzRscDxoXZWpGS6":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206112,"modifiedTime":1676074487971,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"jKWA5NjsjH0kIZzK","name":"Chaudron de fer (5 litres)","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/chaudron.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.jKWA5NjsjH0kIZzK"}},"system":{"description":"","descriptionmj":"","encombrement":1,"quantite":1,"qualite":0,"cout":1,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"contenu":[],"capacite":2.5,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206112,"modifiedTime":1676074487971,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"jZMfiBnBXwW91drM","name":"Sablier 15 minutes","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/sablier.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.jZMfiBnBXwW91drM"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":2,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rarissime","frequence":2},{"milieu":"Villes","rarete":"Rare","frequence":6}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206112,"modifiedTime":1676074487971,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"jchAu828fr8TLtwi","name":"Lait","type":"nourritureboisson","img":"systems/foundryvtt-reve-de-dragon/icons/liquides/liquide_lait.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.6i90SWaq5Me0us8X"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.01,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"sust":0.2,"exotisme":0,"cuisinier":"","boisson":true,"desaltere":1,"alcoolise":false,"force":0,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206113,"modifiedTime":1676074487971,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"jyBy6mDAGvJb9k0l","name":"1 m2 de lin","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/tissu_lin.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.jyBy6mDAGvJb9k0l"}},"system":{"description":"","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0.15,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Commune","frequence":54},{"milieu":"Villes","rarete":"Commune","frequence":54}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206113,"modifiedTime":1676074487971,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"kFUh4027jnAdqbyK","name":"Gelée royale","type":"potion","img":"systems/foundryvtt-reve-de-dragon/icons/objets/gelee_royale.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.kFUh4027jnAdqbyK"}},"system":{"description":"<p>Crème sirupeuse.</p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.2,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Rare","frequence":6}],"temporel":{"debut":{"indexDate":-1,"indexMinute":0},"fin":{"indexDate":-1,"indexMinute":0}},"rarete":"","categorie":"Remede","herbe":"","herbebrins":0,"herbebonus":0,"reposalchimique":false,"pr":0,"prpermanent":false,"prdate":0,"soinherbe":"","soinherbebonus":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206113,"modifiedTime":1676074487971,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"keLCmhsbxHK39UIy","name":"Mirobolant","type":"potion","img":"systems/foundryvtt-reve-de-dragon/icons/objets/mirobolant.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.keLCmhsbxHK39UIy"}},"system":{"description":"<p>Fluide.</p>\n<p>Liquide rougeâtre clair et sans dépot.</p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":2,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rarissime","frequence":2},{"milieu":"Villes","rarete":"Rare","frequence":6}],"temporel":{"debut":{"indexDate":-1,"indexMinute":0},"fin":{"indexDate":-1,"indexMinute":0}},"rarete":"","categorie":"Remede","herbe":"","herbebrins":0,"herbebonus":0,"reposalchimique":false,"pr":0,"prpermanent":false,"prdate":0,"soinherbe":"","soinherbebonus":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206113,"modifiedTime":1676074487971,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"lJMKVPB5zlG9UqMD","name":"Pourpoint de velours","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/pourpoint_velours.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.lJMKVPB5zlG9UqMD"}},"system":{"description":"","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":8,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rarissime","frequence":2},{"milieu":"Villes","rarete":"Rare","frequence":6}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206113,"modifiedTime":1676074487971,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"lKkYFkzWVs2TZDZP","name":"Petit pot de fard","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/fard.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.lKkYFkzWVs2TZDZP"}},"system":{"description":"","descriptionmj":"","encombrement":0.04,"quantite":1,"qualite":0,"cout":0.3,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206113,"modifiedTime":1676074487971,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"lOI2HVu3B6EDY4sE","name":"Arbalète","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/objets/arbalete.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.lOI2HVu3B6EDY4sE"}},"system":{"description":"<p>Nie jusqu'à 2 points d'armure.</p>\n<p>Rechargement 1 round.</p>","descriptionmj":"","equipe":false,"encombrement":3,"quantite":1,"qualite":0,"cout":30,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"resistance":0,"categorie_parade":"","dommages":"3","penetration":2,"force":"0","competence":"","lancer":"","tir":"Arbalète","portee_courte":15,"portee_moyenne":30,"portee_extreme":70,"magique":false,"ecaille_efficacite":0,"resistance_magique":0,"rapide":false,"deuxmains":false,"unemain":false,"initpremierround":"hast"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206114,"modifiedTime":1676074487971,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"lq7pjDQESNbZOQ3n","name":"1 m2 de soie ou de velours","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/tissu_velours.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.lq7pjDQESNbZOQ3n"}},"system":{"description":"","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":3,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206114,"modifiedTime":1676074487971,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"m9yuZjp9DK7pSqPK","name":"Lanterne à bougie","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/lanterne_bougie.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.m9yuZjp9DK7pSqPK"}},"system":{"description":"","descriptionmj":"","encombrement":1,"quantite":1,"qualite":0,"cout":3,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"contenu":[],"capacite":0.1,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206114,"modifiedTime":1676074487971,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"n2HMv0xv0MFpuiKp","name":"Parchemin 1 feuille","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/parchemin_1_feuille.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.n2HMv0xv0MFpuiKp"}},"system":{"description":"","descriptionmj":"","encombrement":0.02,"quantite":1,"qualite":0,"cout":0.2,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206114,"modifiedTime":1676074487971,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"nBhYyPbRwcWswiyC","name":"Tonnelet (10 litres)","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/tonnelet.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.nBhYyPbRwcWswiyC"}},"system":{"description":"","descriptionmj":"","encombrement":1,"quantite":1,"qualite":0,"cout":0.25,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"contenu":[],"capacite":5,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206114,"modifiedTime":1676074487971,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"nPczxZ7yylpmGSyO","name":"Crochet de serrurier","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/crochet.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.nPczxZ7yylpmGSyO"}},"system":{"description":"","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":0.3,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rarissime","frequence":2},{"milieu":"Villes","rarete":"Rare","frequence":6}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206114,"modifiedTime":1676074487971,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"nl9cICrauIOEXwFP","name":"Cordelette (10 m)","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/cordelette.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.nl9cICrauIOEXwFP"}},"system":{"description":"","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":0.2,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Commune","frequence":54},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206114,"modifiedTime":1676074487972,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"nqMyaOqBfTxdP9tg","name":"Cor en corne","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/cor_corne.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.nqMyaOqBfTxdP9tg"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.6,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Rare","frequence":6}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206114,"modifiedTime":1676074487972,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"oXpPZ9LS1nsU0nGT","name":"Épée sorde","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/epee_sord.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.oXpPZ9LS1nsU0nGT"}},"system":{"description":"<p>C’est une épée plus courte que la dragonne, mais plus <em>large</em>. Elle peut s’utiliser à une ou deux mains. Sa grande solidité en fait l’épée de prédilection des gardes et des soldats.</p>\n<p>C’est probablement à elle que le <em>Guerrier Sorde</em> doit son nom (à moins que ce ne soit l’inverse).</p>","descriptionmj":"","equipe":false,"encombrement":2,"quantite":1,"qualite":0,"cout":20,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"resistance":15,"categorie_parade":"epees-lourdes","dommages":"3/4","penetration":null,"force":"12/11","competence":"Epée à 1 main","lancer":"","tir":"","portee_courte":0,"portee_moyenne":0,"portee_extreme":0,"magique":false,"ecaille_efficacite":null,"resistance_magique":null,"rapide":false,"deuxmains":true,"unemain":true,"initpremierround":"epeesorde"},"ownership":{"default":0,"Q4cUvqxCxMoTJXDL":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206115,"modifiedTime":1676074487972,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"of2LbmmB4EtlSwte","name":"Sac en jute (50 litres)","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/sac_jute_50.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.of2LbmmB4EtlSwte"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.08,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"contenu":[],"capacite":25,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206115,"modifiedTime":1676074487972,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"orpj8CumQ39xMOHy","name":"Brosse à cheveux","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/Brosse.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.orpj8CumQ39xMOHy"}},"system":{"description":"","descriptionmj":"","encombrement":0.06,"quantite":1,"qualite":0,"cout":1,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206115,"modifiedTime":1676074487972,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Gouge","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/gouge.webp","effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.cVZbnh5cYxBx6P5b"}},"system":{"description":"","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":0.3,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206109,"modifiedTime":1676074352882,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"pY17ihKKHgfThcyK","folder":null,"sort":0,"ownership":{"default":0,"Hp9ImM4o9YRTSdfu":3}}
|
||||
{"_id":"phfgVizT4ekUwqFq","name":"Selle et harnais","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/selle.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.phfgVizT4ekUwqFq"}},"system":{"description":"","descriptionmj":"","encombrement":4,"quantite":1,"qualite":0,"cout":5,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"contenu":[],"capacite":25,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206115,"modifiedTime":1676074487972,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"q5zaNnlmNZZChi31","name":"Miel","type":"nourritureboisson","img":"systems/foundryvtt-reve-de-dragon/icons/objets/gelee_royale.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.0UhqiYISVSiztBfv"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.4,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Rare","frequence":6}],"sust":2,"exotisme":0,"cuisinier":"","boisson":false,"desaltere":0,"alcoolise":false,"force":0},"ownership":{"default":0,"wYnBx3HmLfGzsj7P":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206115,"modifiedTime":1676074487972,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"qCLTOjlIOvlj0uo7","name":"Chaperon de laine","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/chaperon_laine.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.qCLTOjlIOvlj0uo7"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.2,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Commune","frequence":54},{"milieu":"Villes","rarete":"Commune","frequence":54}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206115,"modifiedTime":1676074487972,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"qWhl9EfdnJx4KFTZ","name":"Bas de laine","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/bas_laine.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.qWhl9EfdnJx4KFTZ"}},"system":{"description":"","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0.1,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Commune","frequence":54},{"milieu":"Villes","rarete":"Commune","frequence":54}],"equipe":false,"resistance":0},"ownership":{"default":0,"jOzRscDxoXZWpGS6":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206115,"modifiedTime":1676074487972,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"sSgPT3aKDOZ25svO","name":"Porte plume en bois","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/porte_plume2.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.sSgPT3aKDOZ25svO"}},"system":{"description":"","descriptionmj":"","encombrement":0.02,"quantite":1,"qualite":0,"cout":0.05,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206115,"modifiedTime":1676074487972,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"sXoStuW19r9zVi1S","name":"Flacon de verre (40 cl)","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/flacon_verre.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.sXoStuW19r9zVi1S"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.3,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"contenu":[],"capacite":0.2,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206115,"modifiedTime":1676074487972,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"sbgHtwEj4sK9cMh7","name":"Livre","type":"livre","flags":{"core":{"sourceId":"Item.1bn0Q8cO1qRWQvlf"}},"img":"systems/foundryvtt-reve-de-dragon/icons/objets/livre.webp","effects":[],"system":{"description":"","descriptionmj":"","encombrement":1,"quantite":1,"qualite":0,"cout":3,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rarissime","frequence":2},{"milieu":"Villes","rarete":"Rare","frequence":6}],"competence":"Ecriture","auteur":"Inconnu","difficulte":0,"points_de_tache":0,"xp":0,"niveau_minimum":0,"niveau_maximum":0},"ownership":{"default":0,"Q4cUvqxCxMoTJXDL":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206117,"modifiedTime":1676074487972,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"skTWp8PUgIG2U2ne","name":"Cire à cacheter","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/cire_a_cacheter.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.skTWp8PUgIG2U2ne"}},"system":{"description":"","descriptionmj":"","encombrement":0.02,"quantite":1,"qualite":0,"cout":0.2,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206117,"modifiedTime":1676074487972,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"slusKo2nVCtFwDkN","name":"Sang","type":"munition","img":"systems/foundryvtt-reve-de-dragon/icons/liquides/liquide_sang.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.slusKo2nVCtFwDkN"}},"system":{"description":"<p>1 mesure (20cl) de sang.</p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206117,"modifiedTime":1676074487972,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"snupUovwaPAe46aD","name":"Fiole en grès (20 cl)","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/fiole_gres.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.snupUovwaPAe46aD"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.1,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"contenu":[],"capacite":0.1,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206117,"modifiedTime":1676074487972,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"szOThadvQvFcS79R","name":"Cuir Epais","type":"armure","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/cuir_epais.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.szOThadvQvFcS79R"}},"system":{"description":"<p>Cuir très épais comme le cuir de botte. Pectoral de cuir épais + jupon de bandes ou de tresses de cuir ou cuissards de cuir épais sur culottes de cuir souple + bottes dures + casque de cuir.</p>\n<p> </p>","descriptionmj":"","equipe":false,"encombrement":2,"quantite":1,"qualite":0,"cout":10,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"protection":"3","deterioration":0,"malus":-1},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206117,"modifiedTime":1676074487972,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"tBFt4h3jqINsOxLI","name":"Outre (2 litres)","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/outre.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.tBFt4h3jqINsOxLI"}},"system":{"description":"","descriptionmj":"","encombrement":0.08,"quantite":1,"qualite":0,"cout":0.2,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"contenu":[],"capacite":1,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206117,"modifiedTime":1676074487972,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"tMWzePiuMtiCQnAU","name":"Marteau","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/objets/marteau.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.tMWzePiuMtiCQnAU"}},"system":{"description":"","descriptionmj":"","equipe":false,"encombrement":0.3,"quantite":1,"qualite":0,"cout":1,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"resistance":8,"categorie_parade":"","dommages":"2","penetration":0,"force":"7","competence":"Masse à 1 main","lancer":"","tir":"","portee_courte":0,"portee_moyenne":0,"portee_extreme":0,"magique":false,"ecaille_efficacite":0,"resistance_magique":0,"rapide":false,"deuxmains":false,"unemain":true,"initpremierround":"masse"},"ownership":{"default":0,"Q4cUvqxCxMoTJXDL":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206117,"modifiedTime":1676074487972,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"tY3shj5FA8nwMgxX","name":"Vin","type":"nourritureboisson","img":"systems/foundryvtt-reve-de-dragon/icons/liquides/liquide_vin.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Item.QNNWTG5yqQKmcpJ7"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.01,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Commune","frequence":54}],"sust":0,"exotisme":0,"cuisinier":"","boisson":true,"desaltere":0.6,"alcoolise":true,"force":-2,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206117,"modifiedTime":1676074487972,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"tZWQCuRr1ic3S0pL","name":"Souliers","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/souliers.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.tZWQCuRr1ic3S0pL"}},"system":{"description":"","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":0.8,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206117,"modifiedTime":1676074487975,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Repas moyen à l'auberge","type":"nourritureboisson","img":"systems/foundryvtt-reve-de-dragon/icons/objets/provision_cuite.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.tn1kvxEVoLyYODyg"}},"_id":"tn1kvxEVoLyYODyg","system":{"description":"","descriptionmj":"","encombrement":0.3,"quantite":1,"qualite":3,"cout":0.1,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Commune","frequence":54},{"milieu":"Villes","rarete":"Commune","frequence":54}],"sust":3,"exotisme":0,"cuisinier":"","boisson":false,"desaltere":0,"alcoolise":false,"force":0},"ownership":{"default":0,"wYnBx3HmLfGzsj7P":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206117,"modifiedTime":1676074487975,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"tswamwK2oKNARhjA","name":"Verre grossissant","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/verre_grossissant.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.tswamwK2oKNARhjA"}},"system":{"description":"","descriptionmj":"","encombrement":0.02,"quantite":1,"qualite":0,"cout":2,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rarissime","frequence":2},{"milieu":"Villes","rarete":"Rare","frequence":6}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206118,"modifiedTime":1676074487975,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"ueBk3MbdEaMbzyPS","name":"Ficelle (10 m)","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/ficelle.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.ueBk3MbdEaMbzyPS"}},"system":{"description":"","descriptionmj":"","encombrement":0.02,"quantite":1,"qualite":0,"cout":0.1,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206118,"modifiedTime":1676074487975,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"ueJnUMLK1vpL8xOB","name":"Stylet de bronze","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/stylet_de_bronze.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.ueJnUMLK1vpL8xOB"}},"system":{"description":"","descriptionmj":"","encombrement":0.02,"quantite":1,"qualite":0,"cout":0.12,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Rare","frequence":6}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206118,"modifiedTime":1676074487975,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"uwwunMSrJoUYTDkG","name":"Seau de bois ferré (10 litres)","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/seau_ferre.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.uwwunMSrJoUYTDkG"}},"system":{"description":"","descriptionmj":"","encombrement":1,"quantite":1,"qualite":0,"cout":0.2,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"contenu":[],"capacite":5,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206118,"modifiedTime":1676074487975,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"vQ494sD9FgFI08kZ","name":"Drap Matelassé","type":"armure","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/drap_matelasse.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.vQ494sD9FgFI08kZ"}},"system":{"description":"<p>Deux épaisseurs de drap surpiquées, avec rembourrage de laine.</p>\n<p>Pourpoint ou cotte de drap matelassé + culottes de drap matelassé + bottes de cuir souple. Le pourpoint est une sorte de veste ; la cotte est une sorte de tunique, lacée sur la poitrine, et descendant jusqu’aux genoux, façon Robin des Bois.</p>\n<p> </p>","descriptionmj":"","equipe":false,"encombrement":0,"quantite":1,"qualite":0,"cout":4,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Commune","frequence":54}],"protection":"1","deterioration":0,"malus":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206118,"modifiedTime":1676074487975,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Épée demi-dragonne","type":"arme","flags":{"core":{"sourceId":"Item.ErwaSLcGryAbYjkm"}},"img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/demi_dragonne.webp","effects":[],"_id":"vnlRGjt7X6yQRObA","system":{"description":null,"descriptionmj":"","equipe":false,"encombrement":1.5,"quantite":1,"qualite":0,"cout":15,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"resistance":10,"categorie_parade":"epees-longues","dommages":"2","penetration":0,"force":"10","competence":"Epée à 1 main","lancer":"","tir":"","portee_courte":0,"portee_moyenne":0,"portee_extreme":0,"magique":false,"ecaille_efficacite":null,"resistance_magique":null,"rapide":true,"deuxmains":false,"unemain":true,"initpremierround":"epeedragonne"},"ownership":{"default":0,"Q4cUvqxCxMoTJXDL":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206118,"modifiedTime":1676074487975,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"wPE64RRcuLlvuPrY","name":"Épée cyane","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/epee_cyane.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.wPE64RRcuLlvuPrY"}},"system":{"description":"<p>Long <em>cimeterre </em>à l’acier bleuté, exclusivement fabriqué par les Cyans ou Hommes bleus.</p>","descriptionmj":"","equipe":false,"encombrement":2,"quantite":1,"qualite":0,"cout":25,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rarissime","frequence":2},{"milieu":"Villes","rarete":"Rare","frequence":6}],"resistance":12,"categorie_parade":"epees-lourdes","dommages":"3","penetration":0,"force":"11","competence":"Epée à 1 main","lancer":"","tir":"","portee_courte":0,"portee_moyenne":0,"portee_extreme":0,"magique":false,"ecaille_efficacite":null,"resistance_magique":null,"rapide":true,"deuxmains":false,"unemain":true,"initpremierround":"epeecyane"},"ownership":{"default":0,"Q4cUvqxCxMoTJXDL":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206118,"modifiedTime":1676074487975,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"wcW5KcideGi8EY67","name":"Gants de cuir","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/gants_de_cuir.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.wcW5KcideGi8EY67"}},"system":{"description":"","descriptionmj":"","encombrement":0.05,"quantite":1,"qualite":0,"cout":1,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206118,"modifiedTime":1676074487975,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"wpWaqe96x3cvqTXy","name":"Robe de laine","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/robe_laine.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.wpWaqe96x3cvqTXy"}},"system":{"description":"","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":0.4,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"ownership":{"default":0,"jOzRscDxoXZWpGS6":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206118,"modifiedTime":1676074487975,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Herbe à pipe","type":"herbe","img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Endorlotte.webp","system":{"description":"","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0.01,"cout":0.01,"milieu":"","environnement":[],"sust":0,"exotisme":0,"niveau":0,"base":0,"categorie":"Autre"},"effects":[],"flags":{"core":{"sourceId":"Item.wxmHkhTTzPNepN4d"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1676073283027,"modifiedTime":1676074352883,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"wxmHkhTTzPNepN4d","folder":null,"sort":0,"ownership":{"default":0,"Hp9ImM4o9YRTSdfu":3}}
|
||||
{"_id":"x4g6bDu3eUllSSSJ","name":"Eponge de mer","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/eponge.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.x4g6bDu3eUllSSSJ"}},"system":{"description":"","descriptionmj":"","encombrement":0.04,"quantite":1,"qualite":0,"cout":1,"milieu":"","environnement":[{"milieu":"Maritimes","rarete":"Rare","frequence":6},{"milieu":"Villages","rarete":"Rarissime","frequence":2},{"milieu":"Villes","rarete":"Rare","frequence":6}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206118,"modifiedTime":1676074487975,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"xfdeDEyMK8YtBpzC","name":"Huile 20 cl (4 heures)","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/huile.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.xfdeDEyMK8YtBpzC"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.04,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206119,"modifiedTime":1676074487975,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"xuk60njqtrSZusSX","name":"Chemise de laine","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/chemise_laine.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.xuk60njqtrSZusSX"}},"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.2,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Commune","frequence":54},{"milieu":"Villes","rarete":"Commune","frequence":54}],"equipe":false,"resistance":0},"ownership":{"default":0,"jOzRscDxoXZWpGS6":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206119,"modifiedTime":1676074487975,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"yILNvELKbsz2OOln","name":"Ecritoire","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/ecritoire.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.yILNvELKbsz2OOln"}},"system":{"description":"","descriptionmj":"","encombrement":1,"quantite":1,"qualite":0,"cout":1,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Rare","frequence":6},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206179,"modifiedTime":1676074487975,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"yO9Vx7tqF8qbZoYw","name":"Besace de cuir","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/besace.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.yO9Vx7tqF8qbZoYw"}},"system":{"description":"","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":0.5,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Commune","frequence":54},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"contenu":[],"capacite":10,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206179,"modifiedTime":1676074487975,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"zQWlnUsd8bPySujd","name":"Aiguille à coudre","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/aiguille.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.zQWlnUsd8bPySujd"}},"system":{"description":"","descriptionmj":"","encombrement":0.01,"quantite":1,"qualite":0,"cout":0.1,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"equipe":false,"resistance":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206179,"modifiedTime":1676074487976,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"zYI8mDiysWtmsSyy","name":"Carquois","type":"conteneur","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.zYI8mDiysWtmsSyy"}},"img":"systems/foundryvtt-reve-de-dragon/icons/objets/carquois.webp","effects":[],"system":{"description":"","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.5,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Frequente","frequence":18}],"contenu":[],"capacite":2,"equipe":false},"ownership":{"default":0,"jOzRscDxoXZWpGS6":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206179,"modifiedTime":1676074487976,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"_id":"zlDa1vwmls6Uf4pt","name":"Bourse de cuir","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/bourse.webp","effects":[],"folder":null,"sort":0,"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.zlDa1vwmls6Uf4pt"}},"system":{"description":"","descriptionmj":"","encombrement":0.01,"quantite":1,"qualite":0,"cout":0.1,"milieu":"","environnement":[{"milieu":"Villages","rarete":"Frequente","frequence":18},{"milieu":"Villes","rarete":"Commune","frequence":54}],"contenu":[],"capacite":0.5,"equipe":false},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1668808206179,"modifiedTime":1676074487976,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
|
||||
@@ -1,119 +1,127 @@
|
||||
{"name":"Floume","type":"ingredient","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.0EA5It28VyLzQE6n"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Floume.webp","effects":[],"_id":"0EA5It28VyLzQE6n","system":{"description":"<p>Fruit du floumier, sorte de poirier pleureur vivant dans les lieux très humides, au bord des rivières ou dans les marais. La floume a l’aspect d’une poire jaune pâle à la chair ferme, grumeleuse et rose. Son goût est âcre et amer, et son pouvoir nutritif encore plus faible que celui des clopinettes. Il existe heureusement une larve parasite, appelée <em>ver du floumier</em> ou plus simplement <em>floumette</em>. Ce ver ronge la floume de l’intérieur et la dévore entièrement, ne laissant à la place de la chair qu’un excrément brunâtre, sorte de gelée poisseuse. Cette pommade est en revanche hautement nutritive, bien que son goût soit parmi les plus ignobles. Jouer VOLONTÉ à -3, et en cas d’échec, recracher tellement c’est mauvais. Une floume bien floumée, c’est à-dire bien véreuse, vaut en moyenne 3 points de sustentation.</p>\n<p>Fréquente.</p>","descriptionmj":"","encombrement":0.05,"quantite":1,"qualite":0,"cout":0,"milieu":"Lieux humides","environnement":[{"milieu":"Cours d'eau","rarete":"Frequente","frequence":18},{"milieu":"Marais","rarete":"Frequente","frequence":18}],"sust":0,"exotisme":0,"niveau":0,"base":0,"categorie":"Cuisine","rarete":"Frequente"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708516,"modifiedTime":1670621588439,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Salsimir à points jaunes","type":"ingredient","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.2IHZslApFfV72VMw"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Salsimir%20%C3%A0%20points%20jaunes.webp","effects":[],"_id":"2IHZslApFfV72VMw","system":{"description":"<p>Sorte de bolet doté d’un pied blanc et mince, au chapeau arrondi brun à pois jaunes.</p>\n<p>Commun.</p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0,"milieu":"Lieux sombres et humides","environnement":[{"milieu":"Forêts","rarete":"Commune","frequence":54},{"milieu":"Sous-sols","rarete":"Frequente","frequence":18}],"sust":0,"exotisme":0,"niveau":1,"base":0,"categorie":"Cuisine","rarete":"Commune"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708516,"modifiedTime":1670621588442,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Sourise","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/rongeur.webp","system":{"description":"<p>Sourise. Forêt, plaine, 500 g, 1 sust. La sourise est un petit rongeur gris, à têted’écureuil et à queue de souris.</p>","descriptionmj":"","encombrement":0.5,"quantite":1,"qualite":0,"cout":0,"milieu":"Forêt, plaine","environnement":[{"milieu":"Forêts","rarete":"Commune","frequence":54},{"milieu":"Plaines","rarete":"Commune","frequence":54}],"sust":1,"exotisme":0,"categorie":"","actor":{"id":"VsEw24DEekBbU69Z","pack":"foundryvtt-reve-de-dragon.animaux","name":"Cornicochon"}},"effects":[],"flags":{"core":{"sourceId":"Item.LU5eutNQqwm52oOG"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1670621588443,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"2e7pAKJsW9SuSZXy","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Cancrelas","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/cancrelas.webp","system":{"description":"<p>Petit crabe noir à la démarche lente, comme s’il était sous le coup d’une intense fatigue.</p>","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":0,"milieu":"","environnement":[{"milieu":"Maritimes","rarete":"Frequente","frequence":18}],"sust":1,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1670616441674,"modifiedTime":1670621588398,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"folder":null,"sort":0,"ownership":{"default":0,"Hp9ImM4o9YRTSdfu":3},"_id":"2zVusTyy2k6PDxiW"}
|
||||
{"name":"Rabier","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/lapin.webp","system":{"description":"<p>Rabier. Forêt, plaine, 2 kg, 4 sust. Petit lapinà fourrure très recherchée pour ses nuances roses ou bleues. La plupart des enfants de riches familles jouent avec des rabiers naturalisés, rebaptisés pluches.</p>","descriptionmj":"","encombrement":2,"quantite":1,"qualite":0,"cout":0,"milieu":"Forêt, plaine","environnement":[{"milieu":"Forêts","rarete":"Rare","frequence":6},{"milieu":"Plaines","rarete":"Rare","frequence":6}],"sust":4,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Item.LU5eutNQqwm52oOG"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1670621588442,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"33hA6dMd5FO9BO0f","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Tanemiel d'argent","type":"herbe","flags":{"core":{"sheetClass":"foundryvtt-reve-de-dragon.RdDItemSheet","sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.3Idia6bqLgdtiswS"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Tanemiel%20argent%C3%A9.webp","effects":[],"_id":"3Idia6bqLgdtiswS","system":{"description":"<p><em style=\"box-sizing: border-box; user-select: text;\">Herbe de repos.</em></p>\n<p>Variété de tanemiel aux reflets argentés, poussant comme ses frères en forêts humides et chaudes, et dont l'existence est presque aussi mythique. </p>\n<p>Rarissime.</p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0.5,"milieu":"Forêts chaudes et humides","environnement":[{"milieu":"Forêts","rarete":"Rarissime","frequence":4}],"niveau":5,"base":0,"categorie":"Repos","rarete":"Rarissime"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708516,"modifiedTime":1670621588444,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Cheleuse","type":"herbe","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.3PzaM8d7jLjdzdkt"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Cheleuse.webp","effects":[],"_id":"3PzaM8d7jLjdzdkt","system":{"description":"<p>Fausse menthe à feuilles urticantes.</p>\n<p>M1 \\ P 5 minutes \\ D1 \\ -3 \\ Liqueur de Bagdol +16, Mirobolant +14.</p>\n<p>Fréquente.</p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0,"milieu":"Lieux humides","environnement":[{"milieu":"Cours d'eau","rarete":"Frequente","frequence":18},{"milieu":"Marais","rarete":"Frequente","frequence":18},{"milieu":"Sous-sols","rarete":"Frequente","frequence":18}],"niveau":0,"base":0,"categorie":"","rarete":"Frequente"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708517,"modifiedTime":1670621588437,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Champirigolo","type":"ingredient","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.45vMHMwrCFeLZyH8"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Champirigolo.webp","effects":[],"_id":"45vMHMwrCFeLZyH8","system":{"description":"<p>Le champirigolo est un champignon de bordure de sous-bois, ressemblant à un petit bonhomme caché sous un chapeau conique aplati. Le « visage » du bonhomme, de couleur chair, tavelé, donne souvent l’impression de tirer la langue à qui le regarde. <br />Comestible, il possède toutefois des vertus hallucinogènes, provoquant des crises de fou rire, et, d’une manière générale, faisant trouver de la drôlerie dans tout. <br />En termes de jeu, il augmente l’EMPATHIE au détriment de l’INTELLECT.</p>\n<p>Fréquent.</p>\n<p><em>Cf : p.139</em></p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0,"milieu":"Lieux sombres et humides","environnement":[{"milieu":"Forêts","rarete":"Frequente","frequence":18},{"milieu":"Sous-sols","rarete":"Rare","frequence":6}],"sust":0,"exotisme":0,"niveau":null,"base":0,"categorie":"Cuisine","rarete":"Frequente"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708517,"modifiedTime":1670621588437,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Nanar","type":"ingredient","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.4ROad7HKzxuRKXNK"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Nanar.webp","effects":[],"_id":"4ROad7HKzxuRKXNK","system":{"description":"<p>Champignon assez amusant, avec un pied minuscule et un joli petit chapeau rose.</p>\n<p>M2 \\ P 2 minutes \\ D1 \\ -3 \\ Teinture d’Érozonne +16, Lait de lune +12.</p>\n<p>Commun.</p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0,"milieu":"Lieux sombres et humides","environnement":[{"milieu":"Forêts","rarete":"Commune","frequence":54},{"milieu":"Sous-sols","rarete":"Frequente","frequence":18}],"sust":0,"exotisme":0,"niveau":0,"base":0,"categorie":"","rarete":"Commune"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708517,"modifiedTime":1670621588440,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Fausse suppure","type":"herbe","flags":{"core":{"sheetClass":"foundryvtt-reve-de-dragon.RdDItemSheet","sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.57FoMF6mBK2ogX53"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Fausse%20suppure.webp","effects":[],"_id":"57FoMF6mBK2ogX53","system":{"description":"<p><em>Herbe de soin.</em></p>\n<p>Mousse semblable à la suppure, mais plus sèche, et poussant en tous milieux.</p>\n<p>Commune.</p>\n<p> </p>\n<p><em>Voir Les herbes de soin, p100.</em></p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0.02,"milieu":"Tous","environnement":[{"milieu":"Collines","rarete":"Commune","frequence":54},{"milieu":"Cours d'eau","rarete":"Commune","frequence":54},{"milieu":"Déserts","rarete":"Commune","frequence":54},{"milieu":"Forêts","rarete":"Commune","frequence":54},{"milieu":"Marais","rarete":"Commune","frequence":54},{"milieu":"Montagnes","rarete":"Commune","frequence":54},{"milieu":"Plaines","rarete":"Commune","frequence":54}],"niveau":1,"base":0,"categorie":"Soin","rarete":"Commune"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708517,"modifiedTime":1670621588438,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Grand Coq de Bruyère","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/oiseau.webp","system":{"description":"<p>Grand coq de bruyère. Montagne, 4 kg, 12 sust.</p>","descriptionmj":"","encombrement":2,"quantite":1,"qualite":0,"cout":0,"milieu":"Montagnes","environnement":[{"milieu":"Montagnes","rarete":"Rare","frequence":6}],"sust":12,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.5bNkhPn0SUfTmKZh"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1670621588445,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"5bNkhPn0SUfTmKZh","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Lièvre","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/lapin.webp","system":{"description":"<p>Lièvre. Plaine, 4 kg, 8 sust.</p>","descriptionmj":"","encombrement":2,"quantite":1,"qualite":0,"cout":0,"milieu":"Plaines","environnement":[{"milieu":"Plaines","rarete":"Frequente","frequence":18}],"sust":8,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Item.LU5eutNQqwm52oOG"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1670621588440,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"5rGi4IeFyxQwyOOq","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Salsimir ventru","type":"ingredient","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.66Rzf8phcEQRIShv"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Salsimir%20ventru.webp","effects":[],"_id":"66Rzf8phcEQRIShv","system":{"description":"<p>À points jaunes ou à points rouges, le salsimir ventru se distingue par un pied large et renflé.</p>\n<p>Rare.</p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0,"milieu":"Lieux sombres et humides","environnement":[{"milieu":"Forêts","rarete":"Rare","frequence":9},{"milieu":"Sous-sols","rarete":"Rarissime","frequence":3}],"sust":0,"exotisme":0,"niveau":4,"base":0,"categorie":"Cuisine","rarete":"Rare"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708517,"modifiedTime":1670621588442,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Sautille","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/oiseau.webp","system":{"description":"<p>Sautille. Rivage, 1 kg, 2 sust. Petit échassier voisin de la grue qui, au lieu de marcher tranquillement, passe son temps àsautiller sur ses longues pattes.</p>","descriptionmj":"","encombrement":0.5,"quantite":1,"qualite":0,"cout":0,"milieu":"Rivage","environnement":[{"milieu":"Cours d'eau","rarete":"Frequente","frequence":18}],"sust":2,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.6bvChVkjsy5tsa4d"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1670621588445,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"6bvChVkjsy5tsa4d","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Tricolet","type":"ingredient","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.6gb2cjdPXI44ym8D"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Tricollet.webp","effects":[],"_id":"6gb2cjdPXI44ym8D","system":{"description":"<p>Champignon à pied blanc, triple volve, et large chapeau vert à points bleus.</p>\n<p>Rare.</p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0,"milieu":"Lieux sombres et humides","environnement":[{"milieu":"Forêts","rarete":"Rare","frequence":6},{"milieu":"Sous-sols","rarete":"Rarissime","frequence":3}],"sust":0,"exotisme":0,"niveau":4,"base":0,"categorie":"Cuisine","rarete":"Rare"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708518,"modifiedTime":1670621588445,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Lapin","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/lapin.webp","system":{"description":"<p>Lapin. Forêt, plaine, 2 kg, 5 sust.</p>","descriptionmj":"","encombrement":1,"quantite":1,"qualite":0,"cout":0,"milieu":"Forets, Plaines","environnement":[{"milieu":"Forêts","rarete":"Commune","frequence":54},{"milieu":"Plaines","rarete":"Commune","frequence":54}],"sust":5,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Item.LU5eutNQqwm52oOG"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1670621588440,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"6pDi7Pew5FZ3Ca1I","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Salsimir à points verts","type":"ingredient","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.7IV2V4ZotDEP2sLs"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Salsimir%20%C3%A0%20points%20verts.webp","effects":[],"_id":"7IV2V4ZotDEP2sLs","system":{"description":"<p>Champignon semblable aux autres variétés de salsimir, hormis la couleur de ses points.</p>\n<p>M1 \\ P 5 minutes \\ D1 \\ -5 \\ Lait de lune +14, Gelée royale +12.</p>\n<p>Rare.</p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0,"milieu":"Lieux sombres et humides","environnement":[{"milieu":"Forêts","rarete":"Rare","frequence":9},{"milieu":"Sous-sols","rarete":"Rarissime","frequence":3}],"sust":0,"exotisme":0,"niveau":null,"base":0,"categorie":"","rarete":"Rare"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708518,"modifiedTime":1670621588442,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Tanemiel doré","type":"herbe","flags":{"core":{"sheetClass":"foundryvtt-reve-de-dragon.RdDItemSheet","sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.7RgTRB47YPH74BwF"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Tanemiel%20dor%C3%A9.webp","effects":[],"_id":"7RgTRB47YPH74BwF","system":{"description":"<p><em>Herbe de soin.</em></p>\n<p>Variété de tanemiel aux feuilles luisantes de couleur ambrée.</p>\n<p>Rarissime.</p>\n<p> </p>\n<p><em>Voir Les herbes de soin, p100.</em></p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":2,"milieu":"Forêts chaudes et humides","environnement":[{"milieu":"Forêts","rarete":"Rarissime","frequence":2}],"niveau":10,"base":0,"categorie":"Soin","rarete":"Rarissime"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708518,"modifiedTime":1670621588444,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Bousille","type":"ingredient","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.84i33KtUxLwCK2Uu"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Bousille.webp","effects":[],"_id":"84i33KtUxLwCK2Uu","system":{"description":"<p>Appétissant champignon brun beige très semblable à la morille.</p>\n<p>M5 \\ P 6 rounds \\ D3 \\ -4 \\ Teinture d’Érozonne +10, Topazoïne +6.</p>\n<p>Fréquente.</p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0,"milieu":"Lieux sombres et humides","environnement":[{"milieu":"Forêts","rarete":"Frequente","frequence":18},{"milieu":"Sous-sols","rarete":"Rare","frequence":6}],"sust":0,"exotisme":0,"niveau":0,"base":0,"categorie":"","rarete":"Frequente"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708519,"modifiedTime":1670621588437,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Plumard","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/oie.webp","system":{"description":"<p>Plumard. Plaine, forêt, 3 kg, 7 sust. Le plumard est un gros oiseau voisin du faisan, au plumage multicolore et rutilant comme celui d’un perroquet. Sa chair est particulièrement savoureuse et ses plumes fort recherchées pour orner les chapeaux.</p>","descriptionmj":"","encombrement":1.5,"quantite":1,"qualite":0,"cout":0,"milieu":"Plaine, Foret","environnement":[{"milieu":"Forêts","rarete":"Frequente","frequence":23},{"milieu":"Plaines","rarete":"Frequente","frequence":24}],"sust":7,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.8BVcgy3mLXirlPpm"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1670621588445,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"8BVcgy3mLXirlPpm","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Veloute","type":"ingredient","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.8MO2HBua7RUdGN3D"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Veloute.webp","effects":[],"_id":"8MO2HBua7RUdGN3D","system":{"description":"<p>Fruit du veloutier, petit arbre pleureur au tronc recouvert d’un lichen duveteux gris rose, poussant usuellement au bord de l’eau, la veloute est une petite pêche très velue, juteuse et douce, au goût panaché de litchi et de fraise des bois.</p>\n<p>Fréquente.</p>","descriptionmj":"","encombrement":0.05,"quantite":1,"qualite":0,"cout":0,"milieu":"Lieux humides","environnement":[{"milieu":"Cours d'eau","rarete":"Frequente","frequence":18},{"milieu":"Marais","rarete":"Frequente","frequence":18}],"sust":0,"exotisme":0,"niveau":0,"base":0,"categorie":"Cuisine","rarete":"Rare"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708519,"modifiedTime":1670621588445,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Enervure","type":"herbe","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.8QFBVNJMEsANaYaq"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/%C3%89nervure.webp","effects":[],"_id":"8QFBVNJMEsANaYaq","system":{"description":"<p>Fausse fougère aux feuilles tranchantes comme des rasoirs, distillant un venin mortel.</p>\n<p>M3 \\ P 1 minute \\ D2 \\ -3 \\ Tournegraisse +14, Mirobolant +10.</p>\n<p>Fréquente.</p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0,"milieu":"Forêts","environnement":[{"milieu":"Forêts","rarete":"Frequente","frequence":18}],"niveau":0,"base":0,"categorie":"","rarete":"Frequente"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708519,"modifiedTime":1670621588438,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Lulube","type":"ingredient","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.8a2EJVdhdU7CXFCn"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Lulube.webp","effects":[],"_id":"8a2EJVdhdU7CXFCn","system":{"description":"<p>Fruit du lulubier, arbre de la taille d’un cerisier, la lulube est un petit fruit rouge dont le goût est un panaché de cerise et de citron.</p>\n<p>Fréquente.</p>","descriptionmj":"","encombrement":0.05,"quantite":1,"qualite":0,"cout":0,"milieu":"Tous","environnement":[{"milieu":"Collines","rarete":"Frequente","frequence":18},{"milieu":"Cours d'eau","rarete":"Frequente","frequence":18},{"milieu":"Déserts","rarete":"Frequente","frequence":18},{"milieu":"Forêts","rarete":"Frequente","frequence":18},{"milieu":"Marais","rarete":"Frequente","frequence":18},{"milieu":"Montagnes","rarete":"Frequente","frequence":18},{"milieu":"Plaines","rarete":"Frequente","frequence":18}],"sust":0,"exotisme":0,"niveau":0,"base":0,"categorie":"Cuisine","rarete":"Frequente"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708519,"modifiedTime":1670621588440,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Suppure","type":"herbe","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.9XJEICURxX1qVud6"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Suppure.webp","effects":[],"_id":"9XJEICURxX1qVud6","system":{"description":"<p><em>Herbe de soin.</em></p>\n<p>Sorte de mousse d’aspect maladif, s’accrochant aux vieux troncs et aux rochers des forêts, d’où elle semble <em>suppurer</em>.</p>\n<p>Commune.</p>\n<p> </p>\n<p><em>Voir Les herbes de soin, p100.</em></p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0.03,"milieu":"Forêts","environnement":[{"milieu":"Forêts","rarete":"Commune","frequence":54}],"niveau":2,"base":0,"categorie":"Soin","rarete":"Commune"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708519,"modifiedTime":1670621588443,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Salsimir à points rouges","type":"ingredient","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.9pTMw1dFbVaN2iiF"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Salsimir%20%C3%A0%20points%20rouges.webp","effects":[],"_id":"9pTMw1dFbVaN2iiF","system":{"description":"<p>Autre variété de salsimir, au teint plus clair et tacheté de points rouges. Fréquent.</p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0,"milieu":"Lieux sombres et humides","environnement":[{"milieu":"Forêts","rarete":"Frequente","frequence":18},{"milieu":"Sous-sols","rarete":"Rare","frequence":6}],"sust":0,"exotisme":0,"niveau":2,"base":0,"categorie":"Cuisine","rarete":"Frequente"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708520,"modifiedTime":1670621588442,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Hécatombe","type":"ingredient","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.9tG4XPzyvjrSAj3o"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/H%C3%A9catombe.webp","effects":[],"_id":"9tG4XPzyvjrSAj3o","system":{"description":"<p>Petite poire rouge à peau lustrée, au goût acidulé et pas désagréable.</p>\n<p>M4 \\ P 1 minute \\ D2 \\ -5 \\ Bitume de Camphre +12, Mirobolant +6.</p>\n<p>Rare.</p>","descriptionmj":"","encombrement":0.05,"quantite":1,"qualite":0,"cout":0,"milieu":"Tous","environnement":[{"milieu":"Collines","rarete":"Rare","frequence":6},{"milieu":"Cours d'eau","rarete":"Rare","frequence":6},{"milieu":"Déserts","rarete":"Frequente","frequence":18},{"milieu":"Forêts","rarete":"Rare","frequence":6},{"milieu":"Marais","rarete":"Rare","frequence":6},{"milieu":"Montagnes","rarete":"Frequente","frequence":18},{"milieu":"Plaines","rarete":"Rare","frequence":6}],"sust":0,"exotisme":0,"niveau":null,"base":0,"categorie":"","rarete":"Rare"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708520,"modifiedTime":1670621588439,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Colimace","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/colimace.webp","system":{"description":"<p><span class=\"fontstyle0\">Bel escargot des jardins et autres lieux arrosés. La colimace vit généralement en couple, à deux individus dans la même coquille. Faire dégorger longuement dans la salnise avant de consommer, en soupe, omelette ou fricassée. </span></p>","descriptionmj":"","encombrement":0.01,"quantite":1,"qualite":0,"cout":0,"milieu":"Jardins et lieux arrosés","environnement":[{"milieu":"Forêts","rarete":"Commune","frequence":54},{"milieu":"Marais","rarete":"Frequente","frequence":18},{"milieu":"Plaines","rarete":"Commune","frequence":54}],"sust":0.1,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1670616816817,"modifiedTime":1670621588398,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"folder":null,"sort":0,"ownership":{"default":0,"Hp9ImM4o9YRTSdfu":3},"_id":"AK1LrrCkcJr2sP4g"}
|
||||
{"name":"Fesse de groin","type":"ingredient","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.ALwHAF15KYWUQfQc"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Fesse%20de%20groin.webp","effects":[],"_id":"ALwHAF15KYWUQfQc","system":{"description":"<p>Poussant à même le sol, sans quasiment de pied, c’est un champignon fendu verticalement, évoquant un gros derrière pustuleux. Quand on le bouscule, il émet un bruit incongru, accompagné d’une odeur pénible.</p>\n<p>M3 \\ P 1 minute \\ D1 \\ -3 \\ Bitume de Camphre +16, Élixir des Gnomes +12.</p>\n<p>Commune.</p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0,"milieu":"Lieux sombres et humides","environnement":[{"milieu":"Forêts","rarete":"Frequente","frequence":18},{"milieu":"Sous-sols","rarete":"Rare","frequence":6}],"sust":0,"exotisme":0,"niveau":0,"base":0,"categorie":"","rarete":"Commune"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708520,"modifiedTime":1670621588438,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Perdrix","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/oiseau.webp","system":{"description":"<p>Perdrix. Plaine, 500 g, 1 sust.</p>","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":0,"milieu":"Plaines","environnement":[{"milieu":"Plaines","rarete":"Frequente","frequence":18}],"sust":1,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.AfqIPuLffHuyNpLc"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1670621588445,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"AfqIPuLffHuyNpLc","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Pougne","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/oie.webp","system":{"description":"<p>Pougne. Rivage, 2 kg, 5 sust. Grosse poule d’eau à pattes palmées, de couleur blanche. Imaginez un cygne avec un cou et une tête de poulet.</p>","descriptionmj":"","encombrement":1,"quantite":1,"qualite":0,"cout":0,"milieu":"Rivages","environnement":[{"milieu":"Cours d'eau","rarete":"Frequente","frequence":18}],"sust":5,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.BW5QK5kQPJxKdteQ"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1670621588445,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"BW5QK5kQPJxKdteQ","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Padongre","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/padongre.webp","system":{"description":"<p>Padongre. Forêt clairsemée, 150 kg, 350 sust. Petit éléphant de la taille d’un sanglier(voir Cuisine, p343).</p>","descriptionmj":"","encombrement":75,"quantite":1,"qualite":0,"cout":0,"milieu":"Forêt clairsemée","environnement":[{"milieu":"Forêts","rarete":"Rare","frequence":6}],"sust":350,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Item.LU5eutNQqwm52oOG"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1670621588442,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"Dgy1oyD2ykWF56N5","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Chevreuil","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/chamois.webp","system":{"description":"<p>Chevreuil. Forêt, 25 kg, 60 sust.</p>","descriptionmj":"","encombrement":12,"quantite":1,"qualite":0,"cout":0,"milieu":"Colline, Montagne","environnement":[{"milieu":"Collines","rarete":"Frequente","frequence":18},{"milieu":"Montagnes","rarete":"Frequente","frequence":18}],"sust":60,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Item.LU5eutNQqwm52oOG"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1670621588437,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"DgzFoqASP4ALDEqJ","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Ours","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/ours.webp","system":{"description":"<p>Ours. Forêt, montagne, 300 kg, 600 sust.Surtout recherché pour sa peau (voir legrizzal, p405).</p>","descriptionmj":"","encombrement":150,"quantite":1,"qualite":0,"cout":0,"milieu":"Forêt, montagne","environnement":[{"milieu":"Forêts","rarete":"Rare","frequence":6},{"milieu":"Montagnes","rarete":"Rare","frequence":6}],"sust":600,"exotisme":0,"categorie":"","actor":{"id":"OWuf2ryyCtipWnpE","pack":"foundryvtt-reve-de-dragon.animaux","name":"Grizzal"}},"effects":[],"flags":{"core":{"sourceId":"Item.LU5eutNQqwm52oOG"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1670621588442,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"E59KBe57YIoAc8qV","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Asper violet","type":"ingredient","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.EYy9B0xJ0IGWYEuh"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Asper%20violet.webp","effects":[],"_id":"EYy9B0xJ0IGWYEuh","system":{"description":"<p>Champignon violet à pied filiforme et chapeau pointu très éfilé.</p>\n<p>Fréquent.</p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0,"milieu":"Lieux sombres et humides","environnement":[{"milieu":"Forêts","rarete":"Frequente","frequence":18},{"milieu":"Sous-sols","rarete":"Rare","frequence":6}],"sust":0,"exotisme":0,"niveau":2,"base":0,"categorie":"Cuisine","rarete":"Frequente"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708520,"modifiedTime":1670621588436,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Noisot","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/oiseau.webp","system":{"description":"<p>Noisot. Plaine, forêt, rivage, 3 kg, 7 sust.<br>Le noisot est un assez gros volatile, voiside la poule d’eau, au plumage gris et noir,<br>ne voletant que par bonds. Les noisots vivent toujours en couple et supportent très<br>mal la solitude. Quand cela arrive, celui qui se retrouve seul se met à crier et à sautiller sans raison apparente, abandonnant tout instinct de survie. On dit alors qu’il cherche noise. Son vacarme attire généralement un prédateur, à commencer par un chasseur, et la solitude du pauvre animal est bien vite achevée. En couple, par contre, il reste silencieux et discret. C’est la raison pour laquelle on peut dire : « j’entends un noisot », mais rarement : « j’entends deux noisots ».</p>","descriptionmj":"","encombrement":1.5,"quantite":1,"qualite":0,"cout":0,"milieu":"Forêt, Plaine, Rivage","environnement":[{"milieu":"Cours d'eau","rarete":"Frequente","frequence":18},{"milieu":"Forêts","rarete":"Frequente","frequence":18},{"milieu":"Plaines","rarete":"Frequente","frequence":18}],"sust":7,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.FQ8vGdPYYcBggw5g"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1670621588445,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"FQ8vGdPYYcBggw5g","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Candique","type":"ingredient","img":"systems/foundryvtt-reve-de-dragon/icons/objets/candique.webp","effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.bxDITKRhXiyvLhMz"}},"system":{"description":"<p>Poudre blanche apparaissant sous l’écorce de nombreux arbres,</p>\n<p>VUE/Alchimie à 0.</p>","descriptionmj":"","encombrement":0.001,"quantite":1,"qualite":0,"cout":0.02,"milieu":"Forêts","environnement":[{"milieu":"Forêts","rarete":"","frequence":54}],"sust":0,"exotisme":0,"niveau":0,"base":0,"categorie":"Alchimie","rarete":""},"ownership":{"default":0,"rYShh2P1DNavdoBD":3,"Hp9ImM4o9YRTSdfu":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1668808206109,"modifiedTime":1670621588437,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"folder":null,"sort":0,"_id":"FjfZ789LlkzUUSMU"}
|
||||
{"name":"Ortilise","type":"herbe","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.GrzjjbOUWlOUgzEQ"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Ortilise.webp","effects":[],"_id":"GrzjjbOUWlOUgzEQ","system":{"description":"<p>Redoutable variété d’ortie, poussant dans les lieux humides, le voisinage des marais.</p>\n<p>M3 \\ P 1 minute \\ D2 \\ -3 \\ Topazoïne +12, Lait de lune +8.</p>\n<p>Fréquente.</p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0,"milieu":"Lieux humides","environnement":[{"milieu":"Cours d'eau","rarete":"Frequente","frequence":18},{"milieu":"Marais","rarete":"Frequente","frequence":18}],"niveau":0,"base":0,"categorie":"","rarete":"Frequente"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708520,"modifiedTime":1670621588441,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Tshaï","type":"herbe","flags":{"core":{"sheetClass":"foundryvtt-reve-de-dragon.RdDItemSheet","sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.H0eZczDzhj1fUUxZ"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Tsha%C3%AF.webp","effects":[],"_id":"H0eZczDzhj1fUUxZ","system":{"description":"<p>Petit arbuste à fleurs blanches et feuilles persistantes, poussant au versant des collines ensoleillées. Une fois séchées, ses feuilles sont consommées en infusion, donnant une boisson parfumée et tonique. Par extension, tshaï est aussi le nom donné à la boisson en question.</p>\n<p>Fréquent.</p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":null,"milieu":"Collines","environnement":[{"milieu":"Collines","rarete":"Frequente","frequence":18}],"niveau":null,"base":0,"categorie":"Cuisine","rarete":"Frequente"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708520,"modifiedTime":1670621588445,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Obyssum vert","type":"ingredient","img":"systems/foundryvtt-reve-de-dragon/icons/objets/l_obyssum_vert.webp","effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.D5Z3FaUv91B8eCOP"}},"system":{"description":"<p>Poudre verdâtre apparaissant sur les tiges de certains roseaux.</p>\n<p>VUE/Alchimie à -2</p>","descriptionmj":"","encombrement":0.001,"quantite":1,"qualite":0,"cout":0.05,"milieu":"Lieux humides","environnement":[{"milieu":"Cours d'eau","rarete":"Commune","frequence":54},{"milieu":"Marais","rarete":"Commune","frequence":54}],"sust":0,"exotisme":0,"niveau":0,"base":0,"categorie":"Alchimie","rarete":""},"ownership":{"default":0,"rYShh2P1DNavdoBD":3,"Hp9ImM4o9YRTSdfu":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1668808206019,"modifiedTime":1670621588441,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"folder":null,"sort":0,"_id":"HTtgzxpvUvMHilqx"}
|
||||
{"name":"Calamine","type":"ingredient","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.HlUFBr3yInurp96Z"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Calamine.webp","effects":[],"_id":"HlUFBr3yInurp96Z","system":{"description":"<p>Fruit du calaminier, sorte de figuier rampant doté de lianes et de vrilles. La calamine pousse en petites grappes de fruits à goût mi-figue, mi-raisin.</p>\n<p>Fréquente.</p>","descriptionmj":"","encombrement":0.01,"quantite":1,"qualite":0,"cout":0,"milieu":"Tous","environnement":[{"milieu":"Collines","rarete":"Frequente","frequence":18},{"milieu":"Cours d'eau","rarete":"Frequente","frequence":18},{"milieu":"Déserts","rarete":"Frequente","frequence":18},{"milieu":"Forêts","rarete":"Frequente","frequence":18},{"milieu":"Marais","rarete":"Frequente","frequence":18},{"milieu":"Montagnes","rarete":"Frequente","frequence":18},{"milieu":"Plaines","rarete":"Frequente","frequence":18}],"sust":0,"exotisme":0,"niveau":0,"base":0,"categorie":"Cuisine","rarete":"Frequente"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708520,"modifiedTime":1670621588437,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Poule d'Eau","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/oiseau.webp","system":{"description":"<p>Poule d’eau. Rivage, 300 g, 1 sust.</p>","descriptionmj":"","encombrement":0.15,"quantite":1,"qualite":0,"cout":0,"milieu":"Rivages","environnement":[{"milieu":"Cours d'eau","rarete":"Commune","frequence":54}],"sust":1,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.IZ40yicDhxycPtXU"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1670621588445,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"IZ40yicDhxycPtXU","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Cancredoux","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/crabe.webp","system":{"description":"<p> Désigne toute variété de crabe que l’on peut trouver en eau douce.</p>","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":0,"milieu":"Crabe d'eau douce","environnement":[{"milieu":"Cours d'eau","rarete":"Frequente","frequence":18}],"sust":1,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1670616441674,"modifiedTime":1670621588397,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"folder":null,"sort":0,"ownership":{"default":0,"Hp9ImM4o9YRTSdfu":3},"_id":"JvD4mvZI9an4M23j"}
|
||||
{"name":"Primelune","type":"ingredient","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.Kg13pgjU0u421Kcm"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Primelune.webp","effects":[],"_id":"Kg13pgjU0u421Kcm","system":{"description":"<p>Apparaissant le plus souvent à la nouvelle lune, c’est un petit champignon à pied blanc et chapeau plat vert tendre.</p>\n<p>Commune.</p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0,"milieu":"Lieux sombres et humides","environnement":[{"milieu":"Forêts","rarete":"Commune","frequence":54},{"milieu":"Sous-sols","rarete":"Frequente","frequence":18}],"sust":0,"exotisme":0,"niveau":1,"base":0,"categorie":"Cuisine","rarete":"Commune"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708521,"modifiedTime":1670621588442,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Oie Sauvage","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/oie.webp","system":{"description":"<p>Oie sauvage. Rivage, 5 kg, 14 sust</p>","descriptionmj":"","encombrement":2.5,"quantite":1,"qualite":0,"cout":0,"milieu":"Rivage","environnement":[{"milieu":"Cours d'eau","rarete":"Frequente","frequence":18}],"sust":14,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.LBHzejJLFt4ymqay"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1670621588445,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"LBHzejJLFt4ymqay","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Fumebol","type":"ingredient","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.LJdoBQBE3KNDLXKq"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Fumebol.webp","effects":[],"_id":"LJdoBQBE3KNDLXKq","system":{"description":"<p>Champignon brun ressemblant grossièrement au cèpe bolet.</p>\n<p>M5 \\ P 8 rounds \\ D2 \\ -5 \\ Sable-Poudre +12, Huile de Sélikanthe +8.</p>\n<p>Rare.</p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0,"milieu":"Lieux sombres et humides","environnement":[{"milieu":"Forêts","rarete":"Rare","frequence":6},{"milieu":"Sous-sols","rarete":"Rare","frequence":6}],"sust":0,"exotisme":0,"niveau":0,"base":0,"categorie":"","rarete":"Rare"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708521,"modifiedTime":1670621588439,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Clognotte","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/rongeur.webp","system":{"description":"<p>Clognotte. Forêt, 2 kg, 4 sust. La clognot-<br>te, surtout recherchée pour sa peau, est un<br>gros écureuil blanc ou gris, rayé de fauve.</p>","descriptionmj":"","encombrement":1,"quantite":1,"qualite":0,"cout":0,"milieu":"Forêt","environnement":[{"milieu":"Forêts","rarete":"Frequente","frequence":18}],"sust":4,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Item.LU5eutNQqwm52oOG"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1670621588438,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"LOVGrwgIhE2JTxOk","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Andurak","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/andurak.webp","system":{"description":"<p>L’andurak est une petite antilope des plai-nes tempérées au pelage gris cendré, vivanten larges troupeaux.</p>","descriptionmj":"","encombrement":15,"quantite":1,"qualite":0,"cout":0,"milieu":"Plaine, Savane","environnement":[{"milieu":"Plaines","rarete":"Frequente","frequence":15}],"sust":70,"exotisme":0,"categorie":"","actor":{"id":"i7pvn7kgTwIdKYtP","pack":"foundryvtt-reve-de-dragon.animaux","name":"Mule"}},"effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.LU5eutNQqwm52oOG"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1670621588436,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"LU5eutNQqwm52oOG","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Chramaelium","type":"ingredient","img":"systems/foundryvtt-reve-de-dragon/icons/objets/chramaelium.webp","effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.ncpONCxPPNZ9YbBr"}},"system":{"description":"<p>Poudre rouge obtenue par disruption alchimique de la <em>chramaele</em>, minerai ayant l’apparence de la glaise.</p>\n<p>VUE/Alchimie à -4</p>","descriptionmj":"","encombrement":0.001,"quantite":1,"qualite":0,"cout":0.5,"milieu":"Obtenu à partir de glaise","environnement":[{"milieu":"Cours d'eau","rarete":"Rare","frequence":12},{"milieu":"Forêts","rarete":"Rare","frequence":12},{"milieu":"Marais","rarete":"Rare","frequence":12},{"milieu":"Plaines","rarete":"Rare","frequence":12}],"sust":0,"exotisme":0,"niveau":0,"base":0,"categorie":"Alchimie","rarete":""},"ownership":{"default":0,"rYShh2P1DNavdoBD":3,"Hp9ImM4o9YRTSdfu":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1668808206114,"modifiedTime":1670621588437,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"folder":null,"sort":0,"_id":"NNTl6CAdRZcylrU1"}
|
||||
{"name":"Gironcle","type":"ingredient","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.NhJm0FRVOi8L3xqv"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Gironcle.webp","effects":[],"_id":"NhJm0FRVOi8L3xqv","system":{"description":"<p>Sorte de girolle à pied violet et corolle brun doré.</p>\n<p>Rare.</p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0,"milieu":"Lieux sombres et humides","environnement":[{"milieu":"Forêts","rarete":"Rare","frequence":6},{"milieu":"Sous-sols","rarete":"Rarissime","frequence":2}],"sust":0,"exotisme":0,"niveau":4,"base":0,"categorie":"Cuisine","rarete":"Rare"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708521,"modifiedTime":1670621588439,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Outarde","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/oie.webp","system":{"description":"<p>Outarde. Plaine, 8 kg, 20 sust.</p>","descriptionmj":"","encombrement":4,"quantite":1,"qualite":0,"cout":0,"milieu":"Plaine","environnement":[{"milieu":"Plaines","rarete":"Frequente","frequence":18}],"sust":20,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.NusdRSh3S7kDOmjY"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1670621588445,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"NusdRSh3S7kDOmjY","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Falanquelle","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/oiseau.webp","system":{"description":"<p>Falanquelle. Forêt, 0,5 kg, 1 sust. Gros passereau au plumage de couleur unifor<br>me. Noire, elle est semblable au merle ; mais on la trouve également vert amande, rose tyrien ou jaune paille.</p>","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":0,"milieu":"Forêt","environnement":[{"milieu":"Forêts","rarete":"Frequente","frequence":18}],"sust":1,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.OWeGXfWZdmPn2gVL"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1670621588445,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"OWeGXfWZdmPn2gVL","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Chamois","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/chamois.webp","system":{"description":"<p>Chamois. Montagne, 35 kg, 80 sust.</p>","descriptionmj":"","encombrement":17,"quantite":1,"qualite":0,"cout":0,"milieu":"Montagne","environnement":[{"milieu":"Montagnes","rarete":"Rare","frequence":6}],"sust":80,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Item.LU5eutNQqwm52oOG"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1670621588437,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"QItDJlTl5xf3AmOR","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Amandelle","type":"ingredient","img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Amandelle.webp","effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.w7jEFHGFrcrKAesQ"}},"_id":"QN2KLZLNL1JUh2bF","system":{"description":"<p>Fruit de l’amandelier, un petit arbuste à feuilles très découpées de couleur mauve pâle à violet foncé. L’amandelle est une noix plate et allongée au goût d’amande allié au parfum de violette.</p>\n<p>Fréquente.</p>","descriptionmj":"","encombrement":0.01,"quantite":1,"qualite":0,"cout":0,"milieu":"Tous","environnement":[{"milieu":"Collines","rarete":"Frequente","frequence":18},{"milieu":"Cours d'eau","rarete":"Frequente","frequence":18},{"milieu":"Déserts","rarete":"Frequente","frequence":18},{"milieu":"Forêts","rarete":"Frequente","frequence":18},{"milieu":"Marais","rarete":"Frequente","frequence":18},{"milieu":"Montagnes","rarete":"Frequente","frequence":18},{"milieu":"Plaines","rarete":"Frequente","frequence":18}],"sust":0,"exotisme":0,"niveau":0,"base":0,"categorie":"Cuisine","rarete":"Frequente"},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708521,"modifiedTime":1670621588436,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"folder":null,"sort":0,"ownership":{"default":0,"Hp9ImM4o9YRTSdfu":3}}
|
||||
{"name":"Damaskin","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/andurak.webp","system":{"description":"<p>Damaskin. Forêt, 50 kg, 100 sust. Variété de petit daim vivant sous des cli<br>mats plus froids et à la fourrure grise et noire tachetée de blanc ou de gris clair.</p>","descriptionmj":"","encombrement":25,"quantite":1,"qualite":0,"cout":0,"milieu":"Forêt","environnement":[{"milieu":"Forêts","rarete":"Frequente","frequence":18}],"sust":100,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Item.LU5eutNQqwm52oOG"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1670621588438,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"QVEkBjXEVxjlrUK9","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Loup","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/wolf-head.webp","system":{"description":"<p>Loup. Forêt, 55 kg, 100 sust. Plus évitéque recherché (voir le lycan, p406).</p>","descriptionmj":"","encombrement":27,"quantite":1,"qualite":0,"cout":0,"milieu":"Forets","environnement":[{"milieu":"Forêts","rarete":"Frequente","frequence":18}],"sust":100,"exotisme":0,"categorie":"","actor":{"id":"99I06oTwCziLTnnl","pack":"foundryvtt-reve-de-dragon.animaux","name":"Lycan"}},"effects":[],"flags":{"core":{"sourceId":"Item.LU5eutNQqwm52oOG"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1670621588440,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"QhdvDcc3DTuoXkBW","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Pigeon","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/oiseau.webp","system":{"description":"<p>Pigeon. Plaine, 500 g, 1 sust.</p>","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":0,"milieu":"Plaine","environnement":[{"milieu":"Plaines","rarete":"Commune","frequence":68}],"sust":1,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.QrQM7bMCKWKdfFwA"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1670621588445,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"QrQM7bMCKWKdfFwA","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Liquette","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/ver.webp","system":{"description":"<p><span class=\"fontstyle0\">Gastéropode sans coquille, voisin de la limace, de couleur blanchâtre et semblable à de la pâte de guimauve. Excellente grillée sur les braises d’un feu de camp ou devant la cheminée.</span> </p>","descriptionmj":"","encombrement":0.02,"quantite":1,"qualite":0,"cout":0,"milieu":"","environnement":[{"milieu":"Collines","rarete":"Frequente","frequence":27},{"milieu":"Forêts","rarete":"Commune","frequence":54},{"milieu":"Marais","rarete":"Frequente","frequence":18},{"milieu":"Plaines","rarete":"Frequente","frequence":18}],"sust":0.2,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1670616668493,"modifiedTime":1670621588398,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"folder":null,"sort":0,"ownership":{"default":0,"Hp9ImM4o9YRTSdfu":3},"_id":"QujuNoksfSYVewKQ"}
|
||||
{"name":"Ortironce","type":"herbe","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.RpUC6z3xhwnmv3sp"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Ortironce.webp","effects":[],"_id":"RpUC6z3xhwnmv3sp","system":{"description":"<p>Ronce venimeuse infestant de nombreux fourrés.</p>\n<p>M4 \\ P 1 minute \\ D2 \\ -3 \\ Bitume de Camphre +12, Teinture d’Érozonne +8.</p>\n<p>Commune.</p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0,"milieu":"Forêts","environnement":[{"milieu":"Collines","rarete":"Commune","frequence":54},{"milieu":"Cours d'eau","rarete":"Commune","frequence":54},{"milieu":"Forêts","rarete":"Commune","frequence":54},{"milieu":"Plaines","rarete":"Commune","frequence":54}],"niveau":0,"base":0,"categorie":"","rarete":"Commune"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708522,"modifiedTime":1670621588442,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Cancre","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/cancre.webp","system":{"description":"<p><span class=\"fontstyle0\">Crustacé gris-vert, semblable au crabe, qui trompe habilement son monde en se déplaçant ni de travers, ni tout droit, mais à reculons.</span> </p>","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":0,"milieu":"","environnement":[{"milieu":"Maritimes","rarete":"Frequente","frequence":18}],"sust":1,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1670616441674,"modifiedTime":1670621588397,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"folder":null,"sort":0,"ownership":{"default":0,"Hp9ImM4o9YRTSdfu":3},"_id":"RvfkIVHt6FzCp4TZ"}
|
||||
{"name":"Nartha","type":"ingredient","img":"systems/foundryvtt-reve-de-dragon/icons/objets/nartha.webp","effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.3mHSocNVPyWkmGBR"}},"system":{"description":"<p>Poudre noire obtenue par disruption alchimique du minerai appelé <em>narthalide</em>, sorte de marne.</p>\n<p>VUE/Alchimie à -3</p>","descriptionmj":"","encombrement":0.001,"quantite":1,"qualite":0,"cout":0.4,"milieu":"Obtenu à partir de marne","environnement":[{"milieu":"Cours d'eau","rarete":"Frequente","frequence":30},{"milieu":"Marais","rarete":"Frequente","frequence":30},{"milieu":"Plaines","rarete":"Frequente","frequence":30}],"sust":0,"exotisme":0,"niveau":0,"base":0,"categorie":"Alchimie","rarete":""},"ownership":{"default":0,"rYShh2P1DNavdoBD":3,"Hp9ImM4o9YRTSdfu":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1668808206015,"modifiedTime":1670621588440,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"folder":null,"sort":0,"_id":"SiFtJoydPawJaMKA"}
|
||||
{"name":"Flottard","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/raton-laveur.webp","system":{"description":"<p>Flottard. Rivage, 15 kg, 35 sust. Le flottard, surtout recherché pour sa peau, est une sorte de gros castor à forme de saucisse, flottant sur les eaux semblable à une bûche qui dérive. Il se nourrit d’insectes et de larves. </p>","descriptionmj":"","encombrement":7,"quantite":1,"qualite":0,"cout":0,"milieu":"Rivage","environnement":[{"milieu":"Forêts","rarete":"Rare","frequence":6}],"sust":35,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Item.LU5eutNQqwm52oOG"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1670621588439,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"TQqwPEX49058mYQO","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Crétamère","type":"ingredient","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.Tfl4cElQxPQEXnPY"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Cr%C3%A9tam%C3%A8re.webp","effects":[],"_id":"Tfl4cElQxPQEXnPY","system":{"description":"<p>Petite fraise des bois en forme de crête dentelée. Son goût est très amer et devrait suffire à dissuader les gourmands.</p>\n<p>M3 \\ P 3 minutes \\ D2 \\ -3 \\ Lait de lune +12, Gelée royale +8.</p>\n<p>Fréquente.</p>","descriptionmj":"","encombrement":0.02,"quantite":1,"qualite":0,"cout":0,"milieu":"Tous","environnement":[{"milieu":"Collines","rarete":"Frequente","frequence":18},{"milieu":"Cours d'eau","rarete":"Frequente","frequence":18},{"milieu":"Déserts","rarete":"Frequente","frequence":18},{"milieu":"Forêts","rarete":"Frequente","frequence":18},{"milieu":"Marais","rarete":"Frequente","frequence":18},{"milieu":"Montagnes","rarete":"Frequente","frequence":18},{"milieu":"Plaines","rarete":"Frequente","frequence":18}],"sust":0,"exotisme":0,"niveau":null,"base":0,"categorie":"","rarete":"Frequente"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708522,"modifiedTime":1670621588438,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Klampin","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/rongeur.webp","system":{"description":"<p>Klampin. Forêt, plaine, 6 kg, 15 sust. Gros rongeur de couleur gris fauve (voir Cuisine, p343).</p>","descriptionmj":"","encombrement":3,"quantite":1,"qualite":0,"cout":0,"milieu":"Forets, Plaines","environnement":[{"milieu":"Forêts","rarete":"Commune","frequence":54},{"milieu":"Plaines","rarete":"Commune","frequence":54}],"sust":15,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Item.LU5eutNQqwm52oOG"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1670621588439,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"UYlEOi2YZLlhomQ5","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Mignote","type":"ingredient","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.UfzdMXpTcSgIpAEp"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Mignote.webp","effects":[],"_id":"UfzdMXpTcSgIpAEp","system":{"description":"<p>Cône du mignotier, arbre voisin du mélèze, poussant en contreforts montagneux. Les mignotes doivent être grillées puis moulues. La farine obtenue a un goût chocolaté qui accompagne agréablement le lait chaud du petit déjeuner.</p>\n<p>Fréquente.</p>","descriptionmj":"","encombrement":0.05,"quantite":1,"qualite":0,"cout":0,"milieu":"Contreforts montagneux","environnement":[{"milieu":"Forêts","rarete":"Frequente","frequence":18},{"milieu":"Montagnes","rarete":"Frequente","frequence":18}],"sust":0,"exotisme":0,"niveau":0,"base":0,"categorie":"Cuisine","rarete":"Frequente"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708522,"modifiedTime":1670621588440,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Faisan","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/oie.webp","system":{"description":"<p>Faisan. Plaine, 1,5 kg, 4 sust.</p>","descriptionmj":"","encombrement":0.7,"quantite":1,"qualite":0,"cout":0,"milieu":"Plaine","environnement":[{"milieu":"Plaines","rarete":"Commune","frequence":46}],"sust":4,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.Uqd3BFlPaq9s8LSN"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1670621588445,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"Uqd3BFlPaq9s8LSN","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Marmotte","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/lapin.webp","system":{"description":"<p>Marmotte. Montagne, 6 kg, 12 sust.Surtout recherchée pour sa peau.</p>","descriptionmj":"","encombrement":3,"quantite":1,"qualite":0,"cout":0,"milieu":"Montagne","environnement":[{"milieu":"Montagnes","rarete":"Frequente","frequence":18}],"sust":12,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Item.LU5eutNQqwm52oOG"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1670621588440,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"V9aS6RvcxyBN5XY9","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Endebrume","type":"herbe","flags":{"core":{"sheetClass":"foundryvtt-reve-de-dragon.RdDItemSheet","sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.VGId76yXwx2k0Cli"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Endebrume.webp","effects":[],"_id":"VGId76yXwx2k0Cli","system":{"description":"<p><em>Herbe de repos.</em></p>\n<p>Petite plante ramifiée aux tiges fines comme des cheveux, poussant dans les lieux frais et humides : marais ombragés, certaines forêts, et parfois vallées de montagne. Un peu moins rare est la fausse endebrume, qui lui ressemble physiquement, mais n'a aucune vertu. <br /><em>VUE/Botanique à -1 pour savoir à quelle espèce on a affaire (jet obligatoire à chaque cueillette).</em></p>\n<p>Rare</p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0.2,"milieu":"Lieux frais et humides","environnement":[{"milieu":"Cours d'eau","rarete":"Frequente","frequence":18},{"milieu":"Forêts","rarete":"Rare","frequence":9},{"milieu":"Marais","rarete":"Rare","frequence":6},{"milieu":"Sous-sols","rarete":"Rare","frequence":4}],"niveau":4,"base":0,"categorie":"Repos","rarete":"Rare"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708522,"modifiedTime":1670621588438,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Poilute","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/rongeur.webp","system":{"description":"<p>Poilute. Forêt, plaine, 3 kg, 6 sust. Le poi-lute est une sorte de hérisson gris noir à longspoils souples angoras en guise de piquants.</p>","descriptionmj":"","encombrement":1.5,"quantite":1,"qualite":0,"cout":0,"milieu":"Forêt, plaine","environnement":[{"milieu":"Forêts","rarete":"Frequente","frequence":18},{"milieu":"Plaines","rarete":"Frequente","frequence":18}],"sust":6,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Item.LU5eutNQqwm52oOG"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1670621588442,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"VhHFo9GMF9zwNIgp","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Mélikasse","type":"ingredient","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.WbNKazgQZ4CeHtRo"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/M%C3%A9likasse.webp","effects":[],"_id":"WbNKazgQZ4CeHtRo","system":{"description":"<p>Fruit du mélikassier, arbuste buissonneux voisin du sureau. La mélikasse pousse en grappes de petites baies noires. Insolite, son goût est un mélange de cassis et de savon.</p>\n<p>Fréquente.</p>","descriptionmj":"","encombrement":0.02,"quantite":1,"qualite":0,"cout":0,"milieu":"Tous","environnement":[{"milieu":"Collines","rarete":"Frequente","frequence":18},{"milieu":"Cours d'eau","rarete":"Frequente","frequence":18},{"milieu":"Déserts","rarete":"Frequente","frequence":18},{"milieu":"Forêts","rarete":"Frequente","frequence":18},{"milieu":"Marais","rarete":"Frequente","frequence":18},{"milieu":"Montagnes","rarete":"Frequente","frequence":18},{"milieu":"Plaines","rarete":"Frequente","frequence":18}],"sust":0,"exotisme":0,"niveau":0,"base":0,"categorie":"Cuisine","rarete":"Frequente"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708522,"modifiedTime":1670621588440,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Aigronce","type":"herbe","flags":{"core":{"sheetClass":"foundryvtt-reve-de-dragon.RdDItemSheet","sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.XVfDwjgzbRvotbP8"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Aigronce.webp","effects":[],"_id":"XVfDwjgzbRvotbP8","system":{"description":"<p><em>Herbe de repos.</em></p>\n<p>Variété de klampine à l'odeur aigre et piquante. Pousse en lieux boisés des climats tempérés, parfois en lisière.</p>\n<p>Fréquente.</p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0.04,"milieu":"Forêts tempérées","environnement":[{"milieu":"Forêts","rarete":"Frequente","frequence":18}],"niveau":2,"base":0,"categorie":"Repos","rarete":"Frequente"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708522,"modifiedTime":1670621588436,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Endorlotte","type":"herbe","flags":{"core":{"sheetClass":"foundryvtt-reve-de-dragon.RdDItemSheet","sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.XWpfl6UmaMel1tJn"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Endorlotte.webp","effects":[],"_id":"XWpfl6UmaMel1tJn","system":{"description":"<p>Plante voisine du gui, poussant en parasite dans les branches des arbres de toutes forêts, l’endorlotte est une herbe de soin fonctionnant comme les dix grandes herbes connues, avec un bonus de guérison de +5. Son pouvoir ne s’applique toutefois qu’à la récupération des points de vie, pas à la cicatrisation des blessures. <br /><br />Elle doit être préparée en décoction selon la règle standard, à raison de 12 - 5 = 7 brins pour une décoction, et bue par le convalescent. Puis lors du test de récupération des points de vie\": <br />Part. 4 points de vie regagnés <br />Sign. 3 points de vie regagnés <br />Norm. 2 points de vie regagnés <br />Tout échec. Aucun point, sans autre conséquence. <br /><br />Enchantée, la décoction d’endorlotte fonctionne selon la règle standard avec son bonus de +5, et pratiquement devient équivalente à l’ortigal noir. <br />Rare.</p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0.25,"milieu":"Forêts","environnement":[{"milieu":"Forêts","rarete":"Rare","frequence":6}],"niveau":5,"base":0,"categorie":"Soin","rarete":"Rare"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708522,"modifiedTime":1670621588438,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Ortigal noir","type":"herbe","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.Z20wqDHmbgFQSyXo"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Ortigal%20noir.webp","effects":[],"_id":"Z20wqDHmbgFQSyXo","system":{"description":"<p><em>Herbe de soin.</em></p>\n<p>Variété d’ortigal aux feuilles d’un vert sombre presque noir.</p>\n<p>Fréquent.</p>\n<p> </p>\n<p><em>Voir Les herbes de soin, p100.</em></p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0.2,"milieu":"Marais","environnement":[{"milieu":"Marais","rarete":"Frequente","frequence":18}],"niveau":5,"base":0,"categorie":"Soin","rarete":"Frequente"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708522,"modifiedTime":1670621588441,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Canard","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/oie.webp","system":{"description":"<p>Canard. Rivage, 1,5 kg, 4 sust.</p>","descriptionmj":"","encombrement":0.7,"quantite":1,"qualite":0,"cout":0,"milieu":"Rivage","environnement":[{"milieu":"Cours d'eau","rarete":"Commune","frequence":54}],"sust":4,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.ZEAxjKBryjKzLPOp"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1670621588446,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"ZEAxjKBryjKzLPOp","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Chèvre","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/chamois.webp","system":{"description":"<p>Chèvre. Colline, montagne, 25 kg, 55 sust.</p>","descriptionmj":"","encombrement":12,"quantite":1,"qualite":0,"cout":0,"milieu":"Colline, Montagne","environnement":[{"milieu":"Collines","rarete":"Frequente","frequence":18},{"milieu":"Montagnes","rarete":"Frequente","frequence":18}],"sust":55,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Item.LU5eutNQqwm52oOG"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1670621588437,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"ZoQCVfyFed9tTRiE","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Satum","type":"herbe","flags":{"core":{"sheetClass":"foundryvtt-reve-de-dragon.RdDItemSheet","sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.bBiHuMCom4B4nXBD"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Satum.webp","effects":[],"_id":"bBiHuMCom4B4nXBD","system":{"description":"<p>Également appelé nez de satin, le satum est une petite plante à feuille unique, douce et moirée comme le satin, poussant en toutes forêts, usuellement à l’orée des clairières. C’est une des herbes de base utilisées en alchimie.</p>\n<p>Commun.</p>\n<p> </p>\n<p><em>Voir Principes d’alchimie, p357.</em></p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0.03,"milieu":"Forêts","environnement":[{"milieu":"Forêts","rarete":"Commune","frequence":54}],"niveau":null,"base":0,"categorie":"Alchimie","rarete":"Commune"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708523,"modifiedTime":1670621588442,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Chronophile","type":"herbe","flags":{"core":{"sheetClass":"foundryvtt-reve-de-dragon.RdDItemSheet","sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.c6Gdd4A0QCTEnp6o"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Chronophile.webp","effects":[],"_id":"c6Gdd4A0QCTEnp6o","system":{"description":"","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0.2,"milieu":"Forêts","environnement":[{"milieu":"Forêts","rarete":"Rare","frequence":6}],"niveau":null,"base":0,"categorie":"Alchimie","rarete":"Rare"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708523,"modifiedTime":1670621588438,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Névropenthe","type":"herbe","flags":{"core":{"sheetClass":"foundryvtt-reve-de-dragon.RdDItemSheet","sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.chm4mCNhQXwJEtNy"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/N%C3%A9vropenthe.webp","effects":[],"_id":"chm4mCNhQXwJEtNy","system":{"description":"<p>Plante foisonnante à grappes de feuilles rondes, dont le vert est souvent piqueté de points rouges. Pousse au coeur de toutes forêts à l’abri des fourrés et des ronciers. C’est une des herbes de base utilisées en alchimie.</p>\n<p>Rare.</p>\n<p> </p>\n<p><em style=\"box-sizing: border-box; user-select: text; color: #191813; font-family: GoudyAcc, sans-serif; text-align: justify;\">Voir Principes d’alchimie, p357.</em></p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0.06,"milieu":"Forêts","environnement":[{"milieu":"Forêts","rarete":"Rare","frequence":6}],"niveau":null,"base":0,"categorie":"Alchimie","rarete":"Rare"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708523,"modifiedTime":1670621588441,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Ortigal","type":"herbe","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.ckBk9H7jhFQC2IRX"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Ortigal.webp","effects":[],"_id":"ckBk9H7jhFQC2IRX","system":{"description":"<p><em>Herbe de soin.</em></p>\n<p>Plante aquatique des marais, aux petites feuilles rondes et luisantes, voisine du nénuphar.</p>\n<p>Fréquent.</p>\n<p> </p>\n<p><em>Voir Les herbes de soin, p100.</em></p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0.1,"milieu":"Marais","environnement":[{"milieu":"Marais","rarete":"Frequente","frequence":18}],"niveau":4,"base":0,"categorie":"Soin","rarete":"Frequente"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708524,"modifiedTime":1670621588441,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Loutre","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/raton-laveur.webp","system":{"description":"<p>Loutre. Rivage, 15 kg, 32 sust. Surtout recherchée pour sa peau.</p>","descriptionmj":"","encombrement":7.5,"quantite":1,"qualite":0,"cout":0,"milieu":"Rivages","environnement":[{"milieu":"Cours d'eau","rarete":"Rare","frequence":6}],"sust":32,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Item.LU5eutNQqwm52oOG"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1670621588440,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"d7n9u9OAELDLtAvJ","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Sanglier","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/sanglier.webp","system":{"description":"<p>Sanglier. Forêt, 150 kg, 360 sust (voir lecornicochon, p402).</p>","descriptionmj":"","encombrement":75,"quantite":1,"qualite":0,"cout":0,"milieu":"Forêt","environnement":[{"milieu":"Forêts","rarete":"Commune","frequence":54}],"sust":360,"exotisme":0,"categorie":"","actor":{"id":"VsEw24DEekBbU69Z","pack":"foundryvtt-reve-de-dragon.animaux","name":"Cornicochon"}},"effects":[],"flags":{"core":{"sourceId":"Item.LU5eutNQqwm52oOG"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1670621588442,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"dp28i9k5Mpjyr9jl","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Croupigne","type":"ingredient","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.dr2xZkUKaWa3Gjvr"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Croupigne.webp","effects":[],"_id":"dr2xZkUKaWa3Gjvr","system":{"description":"<p>Sorte de groseille rose pâle, poussant à l’orée des sous-bois et des clairières.</p>\n<p>M2 \\ P 5 minutes \\ D1 \\ -3 \\ Élixir des Gnomes +16, Gelée royale +10.</p>\n<p>Fréquente.</p>","descriptionmj":"","encombrement":0.02,"quantite":1,"qualite":0,"cout":0,"milieu":"Forêts","environnement":[{"milieu":"Forêts","rarete":"Frequente","frequence":18}],"sust":0,"exotisme":0,"niveau":null,"base":0,"categorie":"","rarete":"Frequente"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708524,"modifiedTime":1670621588438,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Noisemûre","type":"ingredient","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.eB5Nhus3Ao4H8ePT"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Noisem%C3%BBre.webp","effects":[],"_id":"eB5Nhus3Ao4H8ePT","system":{"description":"<p>Fruit du noisemûrier, petit arbuste très ramifié vivant en sous-bois à l’ombre des plus grands arbres. La noisemûre a extérieurement l’apparence d’une grosse noisette à la coquille rougeâtre et granulée. Intérieurement, sa chair est tendre, juteuse et sucrée.</p>\n<p>Fréquente.</p>","descriptionmj":"","encombrement":0.02,"quantite":1,"qualite":0,"cout":0,"milieu":"Forêts","environnement":[{"milieu":"Forêts","rarete":"Frequente","frequence":18}],"sust":0,"exotisme":0,"niveau":0,"base":0,"categorie":"Cuisine","rarete":"Frequente"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708525,"modifiedTime":1670621588441,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Fricotille","type":"ingredient","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.eKrtkHj3EbYCZu8Y"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Fricotille.webp","effects":[],"_id":"eKrtkHj3EbYCZu8Y","system":{"description":"<p>Bolet à pied mince et blanc, et large chapeau pointu blanc à pois bleus.</p>\n<p>Fréquente.</p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0,"milieu":"Lieux sombres et humides","environnement":[{"milieu":"Forêts","rarete":"Frequente","frequence":18},{"milieu":"Sous-sols","rarete":"Frequente","frequence":18}],"sust":0,"exotisme":0,"niveau":3,"base":0,"categorie":"Cuisine","rarete":"Frequente"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708525,"modifiedTime":1670621588439,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Solimonce","type":"herbe","flags":{"core":{"sheetClass":"foundryvtt-reve-de-dragon.RdDItemSheet","sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.eqdFj8nT7JkibPvi"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Solimonce.webp","effects":[],"_id":"eqdFj8nT7JkibPvi","system":{"description":"<p>Variété d’ortie non urticante, poussant dans les lieux humides à l’abri de la lumière. Ses décoctions sont réputées souveraines contre les maladies des yeux.</p>\n<p>Rare.</p>\n<p> </p>\n<p><em>Voir Fièvre brune, p350.</em></p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":null,"milieu":"Lieux humides","environnement":[{"milieu":"Cours d'eau","rarete":"Rare","frequence":4},{"milieu":"Forêts","rarete":"Rare","frequence":8},{"milieu":"Marais","rarete":"Rare","frequence":4},{"milieu":"Sous-sols","rarete":"Rare","frequence":8}],"niveau":null,"base":0,"categorie":"Soin","rarete":"Rare"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708525,"modifiedTime":1670621588442,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Obbadion","type":"ingredient","img":"systems/foundryvtt-reve-de-dragon/icons/objets/l_obbadion.webp","effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.69vN8bRlnCrRHQCm"}},"system":{"description":"<p>Poudre bleuâtre obtenue par disruption alchimique du minerai appelé <em>obbadine</em>, sorte de tourbe.</p>\n<p>VUE/Alchimie à -2</p>","descriptionmj":"","encombrement":0.001,"quantite":1,"qualite":0,"cout":0.2,"milieu":"Lieux humides, obtenu à partir d'Obbadine (tourbe)","environnement":[{"milieu":"Cours d'eau","rarete":"Frequente","frequence":18},{"milieu":"Plaines","rarete":"Frequente","frequence":18},{"milieu":"Sous-sols","rarete":"Frequente","frequence":18}],"sust":0,"exotisme":0,"niveau":0,"base":0,"categorie":"Alchimie","rarete":""},"ownership":{"default":0,"rYShh2P1DNavdoBD":3,"Hp9ImM4o9YRTSdfu":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1668808206016,"modifiedTime":1670621588441,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"folder":null,"sort":0,"_id":"f4TPpX03pJuyBkuX"}
|
||||
{"name":"Frimart","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/oiseau.webp","system":{"description":"<p>Frimart. Plaine, forêt, rivage, 3 kg, 7 sust. Nom parfois donné au noisot mâle quand il est particulièrement énervé (voir ci-dessous).</p>","descriptionmj":"","encombrement":1.5,"quantite":1,"qualite":0,"cout":0,"milieu":"Forêt, Plaine, Rivage","environnement":[{"milieu":"Cours d'eau","rarete":"Frequente","frequence":18},{"milieu":"Forêts","rarete":"Frequente","frequence":18},{"milieu":"Plaines","rarete":"Frequente","frequence":18}],"sust":7,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.hajrJoywOF9iodSL"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1670621588446,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"hajrJoywOF9iodSL","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Crampe","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/oie.webp","system":{"description":"<p>Crampe. Forêt, plaine, 10 kg, 25 sust. Lacrampe est une grosse dinde sauvage vi-vant en lisière de forêt ou en sous-bois peu épais. La crampe passe sa vie à essayer deprendre son envol, ce qu’elle ne réussit querarement et pour quelques mètres. À forcede battre inutilement des ailes, les cram-pes s’écroulent périodiquement, en proie à de terribles douleurs musculaires. C’est évidemment à ce moment qu’elles sont les plus vulnérables – ce que n’ignorent pas les prédateurs patients.</p>","descriptionmj":"","encombrement":5,"quantite":1,"qualite":0,"cout":0,"milieu":"Foret, Plaine","environnement":[{"milieu":"Forêts","rarete":"Commune","frequence":54},{"milieu":"Plaines","rarete":"Commune","frequence":46}],"sust":25,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.i2tLFSbg4nXtcD6q"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1670621588446,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"i2tLFSbg4nXtcD6q","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Cerf","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/cerf.webp","system":{"description":"<p>(voir le bramart, p400).</p>","descriptionmj":"","encombrement":75,"quantite":1,"qualite":0,"cout":0,"milieu":"Forêt","environnement":[{"milieu":"Forêts","rarete":"Rare","frequence":6}],"sust":370,"exotisme":0,"categorie":"","actor":{"id":"zMvyRrp10dkfcS43","pack":"foundryvtt-reve-de-dragon.animaux","name":"Bramart"}},"effects":[],"flags":{"core":{"sourceId":"Item.LU5eutNQqwm52oOG"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1670621588437,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"iSVgVsoXJ7Z1kuqX","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Trésure","type":"ingredient","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.jOCPgZmP3aZtMGdi"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Tr%C3%A9sure.webp","effects":[],"_id":"jOCPgZmP3aZtMGdi","system":{"description":"<p>Fruit du trésurier, buisson épineux de la famille des ronces poussant principalement en montagne. La trésure est une grosse framboise de la taille d’une mandarine, rouge foncé avec un jus noir. Non seulement délicieuse, la trésure est nourrissante et énergétique. Chaque fruit vaut 3 points de sustentation et défatigue instantanément comme après une heure de sommeil. En termes de jeu, effacer un segment comme si l’on venait de dormir une heure. Enfin, faire suivre un repas de trésures (qu’il soit composé d’un ou plusieurs fruits) d’un jet de moral en situation heureuse. Une fois cueillies, les trésures ne se conservent pas plus de 12 heures, et même leur jus n’a plus aucune valeur. Véritables plantes miraculeuses, les trésuriers portent des fruits d’un bout de l’année à l’autre, même en hiver sous la neige.</p>\n<p>Rare.</p>","descriptionmj":"","encombrement":0.05,"quantite":1,"qualite":0,"cout":0,"milieu":"Montagnes","environnement":[{"milieu":"Montagnes","rarete":"Rare","frequence":6}],"sust":0,"exotisme":0,"niveau":0,"base":0,"categorie":"Cuisine","rarete":"Rare"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708526,"modifiedTime":1670621588444,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Genèfle","type":"ingredient","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.jbkZ9j04AAIAVBuG"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Gen%C3%A8fle.webp","effects":[],"_id":"jbkZ9j04AAIAVBuG","system":{"description":"<p>Fruit du genèflier, arbuste buissonneux vivant en plaine. La genèfle est très semblable à la clopinette, mais avec une peau plus nacrée.</p>\n<p>M1 \\ P 10 minutes \\ D1 \\ -3 \\ Teinture d’Érozonne +16, Topazoïne +12.</p>\n<p>Commune.</p>","descriptionmj":"","encombrement":0.02,"quantite":1,"qualite":0,"cout":0,"milieu":"Plaines","environnement":[{"milieu":"Plaines","rarete":"Commune","frequence":54}],"sust":0,"exotisme":0,"niveau":null,"base":0,"categorie":"","rarete":"Commune"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708526,"modifiedTime":1670621588439,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Murus","type":"herbe","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.jjVl1PTFgTGdIfZf"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Murus.webp","effects":[],"_id":"jjVl1PTFgTGdIfZf","system":{"description":"<p><em>Herbe de soin.</em></p>\n<p>Sorte de minuscule chardon aux feuilles vert violacé, s’accrochant aux rochers escarpés. Son principe actif est contenu dans ses piquants.</p>\n<p>Rare.</p>\n<p> </p>\n<p><em>Voir Les herbes de soin, p100.</em></p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0.6,"milieu":"Rochers escarpés","environnement":[{"milieu":"Montagnes","rarete":"Rare","frequence":6}],"niveau":8,"base":0,"categorie":"Soin","rarete":"Rare"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708526,"modifiedTime":1670621588440,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Tanemiel","type":"herbe","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.jqUrbSHwFr5kPW3q"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Tanemiel.webp","effects":[],"_id":"jqUrbSHwFr5kPW3q","system":{"description":"<p><em>Herbe de soin.</em></p>\n<p>Plante grimpante, dotée de vrilles, voisine du liseron, de couleur vert laiteux presque blanc, s’accrochant aux arbres des forêts chaudes et humides.</p>\n<p>Rare.</p>\n<p> </p>\n<p><em>Voir Les herbes de soin, p100.</em></p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0.9,"milieu":"Forêts chaudes et humides","environnement":[{"milieu":"Forêts","rarete":"Rare","frequence":6}],"niveau":9,"base":0,"categorie":"Soin","rarete":"Rare"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708526,"modifiedTime":1670621588443,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Mercurion","type":"herbe","flags":{"core":{"sheetClass":"foundryvtt-reve-de-dragon.RdDItemSheet","sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.k1l253yvSebgc7Xq"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Mercurion.webp","effects":[],"_id":"k1l253yvSebgc7Xq","system":{"description":"<p>Lierre noirâtre s’accrochant aux arbres des forêts, principalement les chênes. C’est une des herbes de base utilisées en alchimie.</p>\n<p>Commun. <br /><br /><em>Voir Principes d’alchimie, p357.</em></p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0.02,"milieu":"Forêts de chênes","environnement":[{"milieu":"Forêts","rarete":"Commune","frequence":54}],"niveau":null,"base":0,"categorie":"Alchimie","rarete":"Commune"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708526,"modifiedTime":1670621588440,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Mercureuil","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/andurak.webp","system":{"description":"<p>Mercureuil. Forêt, 20 kg, 50 sust. Petit cervidé au pelage gris clair à reflets métalliques, cousin du chevreuil. Le mercureuil est d’une rapidité inouïe quand il détale, à tel point que prédateurs et chasseurs necherchent même pas à le rattraper quandils n’ont pas réussi à le surprendre au dé-part. On l’appelle parfois « vif-argent ».</p>","descriptionmj":"","encombrement":10,"quantite":1,"qualite":0,"cout":0,"milieu":"Forêts","environnement":[{"milieu":"Forêts","rarete":"Rare","frequence":6}],"sust":50,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Item.LU5eutNQqwm52oOG"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1670621588440,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"kOeEn53AidfvJmIG","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Boralm","type":"ingredient","img":"systems/foundryvtt-reve-de-dragon/icons/objets/boralm.webp","effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.0ylGrNMzulUaKFP9"}},"system":{"description":"<p>Poudre brune apparaissant sur les parois des grottes.</p>\n<p>VUE/Alchimie à -1.</p>","descriptionmj":"","encombrement":0.001,"quantite":1,"qualite":0,"cout":0.03,"milieu":"Cavernes","environnement":[{"milieu":"Sous-sols","rarete":"Commune","frequence":54}],"sust":0,"exotisme":0,"niveau":0,"base":0,"categorie":"Alchimie","rarete":""},"ownership":{"default":0,"rYShh2P1DNavdoBD":3,"Hp9ImM4o9YRTSdfu":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1668808206013,"modifiedTime":1670621588437,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"folder":null,"sort":0,"_id":"kbWKsR0HovidPw6d"}
|
||||
{"name":"Arrache-rêve","type":"ingredient","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.koLhmV2g0Z2tQZiB"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Arrache-r%C3%AAve.webp","effects":[],"_id":"koLhmV2g0Z2tQZiB","system":{"description":"<p>Le plus virulent des champignons vénéneux après l’amanite thanataire, procurant une agonie des plus douloureuses. Ressemble à cette dernière, avec un chapeau en boule au lieu de plat et galbé.</p>\n<p>M6 \\ P 4 rounds \\ D4 \\ -3 \\ Tournegraisse +14, Perle de Bjwal +12.</p>\n<p>Fréquent.</p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0,"milieu":"Lieux sombres et humides","environnement":[{"milieu":"Forêts","rarete":"Frequente","frequence":18},{"milieu":"Sous-sols","rarete":"Rare","frequence":6}],"sust":0,"exotisme":0,"niveau":0,"base":0,"categorie":"","rarete":"Frequente"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708527,"modifiedTime":1670621588436,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Sajutte","type":"herbe","flags":{"core":{"sheetClass":"foundryvtt-reve-de-dragon.RdDItemSheet","sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.l5G3NrS8USofuBK8"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Sajutte.webp","effects":[],"_id":"l5G3NrS8USofuBK8","system":{"description":"<p><em style=\"box-sizing: border-box; user-select: text;\">Herbe de repos.</em></p>\n<p>Petite herbe à sève blanche, très poisseuse, poussant aussi bien en forêt qu'en plaine, qu'en marais (Plus rare en montagne).</p>\n<p>Commune.</p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0.02,"milieu":"Tous (plus rare en montagne)","environnement":[{"milieu":"Collines","rarete":"Commune","frequence":54},{"milieu":"Cours d'eau","rarete":"Commune","frequence":54},{"milieu":"Déserts","rarete":"Commune","frequence":54},{"milieu":"Forêts","rarete":"Commune","frequence":54},{"milieu":"Marais","rarete":"Commune","frequence":54},{"milieu":"Montagnes","rarete":"Frequente","frequence":18},{"milieu":"Plaines","rarete":"Commune","frequence":54}],"niveau":1,"base":0,"categorie":"Repos","rarete":"Commune"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708527,"modifiedTime":1670621588442,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Corne de rêve","type":"ingredient","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.lDZbDKaPQGvqzK1k"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Corne%20de%20r%C3%AAve.webp","effects":[],"_id":"lDZbDKaPQGvqzK1k","system":{"description":"<p>Champignon en forme de conque violet sombre.</p>\n<p>Rarissime.</p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0,"milieu":"Lieux sombres et humides","environnement":[{"milieu":"Forêts","rarete":"Rarissime","frequence":3},{"milieu":"Sous-sols","rarete":"Rarissime","frequence":2}],"sust":0,"exotisme":0,"niveau":5,"base":0,"categorie":"Cuisine","rarete":"Rarissime"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708527,"modifiedTime":1670621588438,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Amanite Thanataire","type":"ingredient","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.m01q5bqTSKOJLSkY"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Amanite%20thanataire.webp","effects":[],"_id":"m01q5bqTSKOJLSkY","system":{"description":"<p>L’un des plus beaux, mais également le plus foudroyant des champignons vénéneux. Pied et volve élégamment proportionnés, chapeau arrondi à peine galbé, le tout paré d’une somptueuse teinte blanc argenté parsemée de points noirs.</p>\n<p>M7 \\ P 3 rounds \\ D4 \\ -3 \\ Tournegraisse +12, Perle de Bjwal +10.</p>\n<p>Fréquente.</p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0,"milieu":"Lieux sombres et humides","environnement":[{"milieu":"Forêts","rarete":"Frequente","frequence":18},{"milieu":"Sous-sols","rarete":"Rare","frequence":6}],"sust":0,"exotisme":0,"niveau":0,"base":0,"categorie":"","rarete":"Frequente"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708527,"modifiedTime":1670621588436,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Obyssum gris","type":"ingredient","img":"systems/foundryvtt-reve-de-dragon/icons/objets/l_obyssum_gris.webp","effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.nIOEB0PpMaACqD65"}},"system":{"description":"<p>Plus rare que le vert, poudre grisâtre apparaissant le long de certaines lianes des marais.</p>\n<p>VUE/Alchimie à -4</p>","descriptionmj":"","encombrement":0.001,"quantite":1,"qualite":0,"cout":0.1,"milieu":"Marais","environnement":[{"milieu":"Marais","rarete":"Rare","frequence":12}],"sust":0,"exotisme":0,"niveau":0,"base":0,"categorie":"Alchimie","rarete":""},"ownership":{"default":0,"rYShh2P1DNavdoBD":3,"Hp9ImM4o9YRTSdfu":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1668808206114,"modifiedTime":1670621588441,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"folder":null,"sort":0,"_id":"m9ONkzH9KwLk3P3i"}
|
||||
{"name":"Castor","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/raton-laveur.webp","system":{"description":"<p>Surtoutrecherché pour sa peau.</p>","descriptionmj":"","encombrement":5,"quantite":1,"qualite":0,"cout":0,"milieu":"Rivages","environnement":[{"milieu":"Cours d'eau","rarete":"Frequente","frequence":18}],"sust":20,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Item.LU5eutNQqwm52oOG"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1670621588437,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"msoR9RkqOQhKVsJa","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Héron","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/oiseau.webp","system":{"description":"<p>Héron. Rivage, 5 kg, 14 sust.</p>","descriptionmj":"","encombrement":2.5,"quantite":1,"qualite":0,"cout":0,"milieu":"Rivage","environnement":[{"milieu":"Cours d'eau","rarete":"Frequente","frequence":18}],"sust":14,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.muY8ZmwvnfsCrhLi"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1670621588446,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"muY8ZmwvnfsCrhLi","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Lune de mer","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/coquillage-pointe.webp","system":{"description":"<p>Échinoderme de la même famille que l’étoile de mer, mais en forme de croissant de lune. À cuire de préférence dans de l’eau de mer fortement additionnée de vinaigre.</p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0,"milieu":"","environnement":[{"milieu":"Maritimes","rarete":"Frequente","frequence":18}],"sust":0.1,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1670616085735,"modifiedTime":1670621588398,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"folder":null,"sort":0,"ownership":{"default":0,"Hp9ImM4o9YRTSdfu":3},"_id":"nWRV7y6qGn9xHzHc"}
|
||||
{"name":"Méritoine","type":"herbe","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.nuOClbQwu6SLucJn"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/M%C3%A9ritoine.webp","effects":[],"_id":"nuOClbQwu6SLucJn","system":{"description":"<p><em>Herbe de soin.</em></p>\n<p>Plante rampante et ramifiée, aux minuscules feuilles vert pâle, s’accrochant aux troncs de certains conifères.</p>\n<p>Fréquente.</p>\n<p> </p>\n<p><em>Voir Les herbes de soin, p100.</em></p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0.06,"milieu":"Forêts de conifères","environnement":[{"milieu":"Forêts","rarete":"Frequente","frequence":18},{"milieu":"Montagnes","rarete":"Frequente","frequence":18}],"niveau":3,"base":0,"categorie":"Soin","rarete":"Frequente"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708527,"modifiedTime":1670621588440,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Grognuche","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/raton-laveur.webp","system":{"description":"<p>Grognuche. Rivage, 8 kg, 18 sust. La grognuche doit son nom à ses perpétuels<br>grognements d’insatisfaction. C’est un gros raton-laveur à nez de tapir. Surtout<br>recherchée pour sa peau.</p>","descriptionmj":"","encombrement":4,"quantite":1,"qualite":0,"cout":0,"milieu":"Rivage","environnement":[{"milieu":"Forêts","rarete":"Rare","frequence":6}],"sust":18,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Item.LU5eutNQqwm52oOG"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1670621588439,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"oT0Oryp8kUzBIXZN","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Daim","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/andurak.webp","system":{"description":"<p>Daim. Forêt, 60 kg, 140 sust.</p>","descriptionmj":"","encombrement":30,"quantite":1,"qualite":0,"cout":0,"milieu":"Forêt","environnement":[{"milieu":"Forêts","rarete":"Frequente","frequence":18}],"sust":140,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Item.LU5eutNQqwm52oOG"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1670621588438,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"p8Au8fNL2Lt4DJtb","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Hérisson","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/rongeur.webp","system":{"description":"<p>Hérisson. Forêt, plaine, 1 kg, 2 sust. Attention, ça pique.</p>","descriptionmj":"","encombrement":0.5,"quantite":1,"qualite":0,"cout":0,"milieu":"Forets","environnement":[{"milieu":"Forêts","rarete":"Commune","frequence":54}],"sust":2,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Item.LU5eutNQqwm52oOG"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1670621588439,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"pMYcfBjUVEv3wP7M","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Ossiphage","type":"herbe","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.pa0yqGaJX9x6kvKa"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Ossiphage.webp","effects":[],"_id":"pa0yqGaJX9x6kvKa","system":{"description":"<p>Également appelée <em>suceuse d’os</em>, c’est une liane rampante à feuilles triangulaires de couleur violacée. Chaque feuille est dotée de trois longs piquants, un à chaque pointe de son triangle. Son venin est si foudroyant que la victime n’a souvent pas le temps d’aller bien loin et meurt empêtrée dans la liane. Il arrive que l’on découvre un squelette entier au coeur d’un bouquet d’ossiphage, chaque os maintenu en place par les vrilles de la plante.</p>\n<p>M6 \\ P 3 rounds \\ D4 \\ -5 \\ Perle de Bjwal +10, Huile de Sélikanthe +6.</p>\n<p>Rare.</p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0,"milieu":"Forêts","environnement":[{"milieu":"Forêts","rarete":"Rare","frequence":6}],"niveau":0,"base":0,"categorie":"","rarete":"Rare"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708527,"modifiedTime":1670621588442,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Faux murus","type":"herbe","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.q6DoYNlSp6SEr5hj"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Faux%20murus.webp","effects":[],"_id":"q6DoYNlSp6SEr5hj","system":{"description":"<p><em>Herbe de soin.</em></p>\n<p>Variété de murus poussant en prairie de montagne.</p>\n<p>Rare.</p>\n<p> </p>\n<p><em>Voir Les herbes de soin, p100.</em></p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0.4,"milieu":"Prairies de montagnes","environnement":[{"milieu":"Montagnes","rarete":"Rare","frequence":6}],"niveau":7,"base":0,"categorie":"Soin","rarete":"Rare"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708527,"modifiedTime":1670621588438,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Ortigal rose","type":"herbe","flags":{"core":{"sheetClass":"foundryvtt-reve-de-dragon.RdDItemSheet","sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.rXGa2Mx1ttMETTXo"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Ortigal%20rose.webp","effects":[],"_id":"rXGa2Mx1ttMETTXo","system":{"description":"<p><em>Herbe de repos.</em></p>\n<p>Variété d'ortigal dont l'extrémité des feuilles est toute piquetée de points roses. Comme les autres ortigals, ne pousse qu'en lieux très humides, principalement en marais.</p>\n<p>Fréquent.</p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0.1,"milieu":"Lieux très humides","environnement":[{"milieu":"Cours d'eau","rarete":"Rare","frequence":9},{"milieu":"Marais","rarete":"Frequente","frequence":18}],"niveau":3,"base":0,"categorie":"Repos","rarete":"Frequente"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708528,"modifiedTime":1670621588441,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Clopinette","type":"ingredient","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.rkTRMgL8pFygYagr"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Clopinettes.webp","effects":[],"_id":"rkTRMgL8pFygYagr","system":{"description":"<p>Fruit du clopinier, petit arbuste buissonneux semblable au genêt. Les clopinettes poussent en grappes nombreuses de petites baies rondes d’un blanc presque translucide. Peu juteuses, elles sont d’un goût neutre, non sucré, même pas âpre, et sont d’un pouvoir nutritif ridiculement faible (3 livres pour 1 sust). Poussant de préférence en plaine, y compris à l’abord des villages, elles sont ordinairement dédaignées des autochtones, même des animaux sauvages. On les laisse aux voyageurs. Pour cette raison, elles sont parfois appelées baies des voyageurs.</p>\n<p>Commune.</p>","descriptionmj":"","encombrement":0.01,"quantite":1,"qualite":0,"cout":0,"milieu":"Plaines","environnement":[{"milieu":"Cours d'eau","rarete":"Commune","frequence":108},{"milieu":"Plaines","rarete":"Commune","frequence":108}],"sust":0,"exotisme":0,"niveau":0,"base":0,"categorie":"Cuisine","rarete":"Frequente"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708528,"modifiedTime":1670621588438,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Lièvre de Mars","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/lapin.webp","system":{"description":"<p>Lièvre de Mars. Forêt, plaine, 10 kg, 20 sust. Variété de klampin de très grande<br>taille, cet animal adopte un comportement bizarre quand il se sent en danger, notamment en présence de chasseurs. Il peut se dresser sur ses pattes postérieures<br>et tenter de s’éloigner subrepticement à reculons, faire le poirier pour feindre<br>précisément qu’il est un arbre, ou émettre des borborygmes dans lesquels cer-<br>tains ont cru entendre : « Quoi de neuf, docteur ? » L’origine de son nom est un<br>mystère attendu que ce n’est même pas un lièvre pour commencer.</p>","descriptionmj":"","encombrement":5,"quantite":1,"qualite":0,"cout":0,"milieu":"Plaines, Forrets","environnement":[{"milieu":"Forêts","rarete":"Rare","frequence":6},{"milieu":"Plaines","rarete":"Rare","frequence":6}],"sust":20,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Item.LU5eutNQqwm52oOG"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1670621588440,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"tBObmayQYLiSGzYF","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Sarcelle","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/oiseau.webp","system":{"description":"<p>Sarcelle. Plaine, 300 g, 1 sust.</p>","descriptionmj":"","encombrement":0.15,"quantite":1,"qualite":0,"cout":0,"milieu":"Plaine","environnement":[{"milieu":"Plaines","rarete":"Commune","frequence":71}],"sust":1,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.tYGOEogHcLqNkS4c"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1670621588446,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"tYGOEogHcLqNkS4c","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Bélidane","type":"herbe","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.vnq7HONrBm90g2gY"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/B%C3%A9lidane.webp","effects":[],"_id":"vnq7HONrBm90g2gY","system":{"description":"<p><em>Herbe de soin.</em></p>\n<p>Herbacée aux feuilles fines et dentelées comme celle de la ciguë. Ne pousse que sur les versants de collines ensoleillées.</p>\n<p>Fréquente.</p>\n<p> </p>\n<p><em>Voir Les herbes de soin, p100.</em></p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0.3,"milieu":"Collines ensoleillées","environnement":[{"milieu":"Collines","rarete":"Frequente","frequence":18}],"niveau":6,"base":0,"categorie":"Soin","rarete":"Frequente"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708528,"modifiedTime":1670621588436,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Blèmissure","type":"ingredient","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.wNBWvJSd9i1zHspR"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Bl%C3%A8missure.webp","effects":[],"_id":"wNBWvJSd9i1zHspR","system":{"description":"<p>Champignon affectant la forme d’une éponge, de couleur gris blême, apparaissant sur les troncs des arbres.</p>\n<p>M4 \\ P 1 minute \\ D2 \\ -4 \\ Élixir des Gnomes +14, Huile de Sélikanthe +10.</p>\n<p>Fréquente.</p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0,"milieu":"Forêts sombres et humides","environnement":[{"milieu":"Forêts","rarete":"Frequente","frequence":18}],"sust":0,"exotisme":0,"niveau":0,"base":0,"categorie":"","rarete":"Frequente"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708528,"modifiedTime":1670621588437,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Bécasse","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/oie.webp","system":{"description":"<p>Bécasse. Plaine, 400 g, 1 sust.</p>","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":0,"milieu":"Plaine","environnement":[{"milieu":"Plaines","rarete":"Frequente","frequence":15}],"sust":1,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.wWdH55gh9ErhJGgt"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1670621588446,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"wWdH55gh9ErhJGgt","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Ortigal glauque","type":"herbe","img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Ortigal%20noir.webp","system":{"description":"","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0,"milieu":"Plante aquatique","environnement":[{"milieu":"Cours d'eau","rarete":"Frequente","frequence":27},{"milieu":"Marais","rarete":"Commune","frequence":54}],"niveau":0,"base":0,"categorie":"Alchimie"},"effects":[],"flags":{"core":{"sourceId":"Item.wjvaEK4Bq2TwKCFH"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1670017184070,"modifiedTime":1670621588441,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"wjvaEK4Bq2TwKCFH","folder":null,"sort":0,"ownership":{"default":0,"Hp9ImM4o9YRTSdfu":3}}
|
||||
{"name":"Herbe de lune","type":"herbe","flags":{"core":{"sheetClass":"foundryvtt-reve-de-dragon.RdDItemSheet","sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.x4wGXTdmrzaOn8Sh"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Herbe%20de%20lune.webp","effects":[],"_id":"x4wGXTdmrzaOn8Sh","system":{"description":"<p>Petite herbacée aux feuilles en forme de polygone à 7 côtés, d’un bleu très pâle, presque translucide, ne poussant qu’en haute montagne, à partir de 2000 mètres, et uniquement dans les recoins pouvant être éclairés par la lune. <br /><br />L’herbe de lune possède un fort pouvoir onirique sur celui qui la consomme\"; en termes de jeu, elle permet de gagner des points de rêve. Elle doit être cueillie de nuit et lorsque la lune l’éclaire, faute de quoi son pouvoir est nul. Sa force dépend de la phase lunaire durant laquelle elle est cueillie. <br /><br />Une fois séchée, l’herbe de lune peut être fumée dans une pipe ou préparée en décoction. Dans les deux cas, une dose doit être composée de 7 brins. Dès la dose absorbée (bue ou fumée), le consommateur doit jouer un JR r-force, c’est-à-dire un jet de points de rêve ajusté négativement à la force de l’herbe. Si le JR réussit, aucun effet ne se produit\"; s’il échoue, le consommateur gagne immédiatement un nombre de points de rêve égal à la force de l’herbe, puis en échange, marque un nombre identique de points de fatigue. On peut ainsi gagner des points de rêve même si le seuil de rêve est dépassé, mais se souvenir que dépasser le triple de son seuil provoque l’éclatement. <br /><br />L’herbe de lune est parfois trouvable chez les herboristes, mais n’est pas bon marché. Une dose (7 brins) vaut usuellement un nombre de sols égal à sa force. Une dose de force 6 vaut ainsi 6 sols. <br />Rare.</p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":null,"milieu":"Hautes montagnes","environnement":[{"milieu":"Montagnes","rarete":"Rare","frequence":6}],"niveau":null,"base":0,"categorie":"","rarete":"Rare"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1669734708528,"modifiedTime":1670621588439,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Corbeau","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/oiseau.webp","system":{"description":"<p>Corbeau. Plaine, 4 kg, 8 sust.</p>","descriptionmj":"","encombrement":2,"quantite":1,"qualite":0,"cout":0,"milieu":"Plaine","environnement":[{"milieu":"Plaines","rarete":"Commune","frequence":71}],"sust":8,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.ySY57JWhYS7PWBXv"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.3.9","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1670621588446,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"ySY57JWhYS7PWBXv","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Floume","type":"plante","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.0EA5It28VyLzQE6n"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Floume.webp","effects":[],"_id":"0EA5It28VyLzQE6n","system":{"description":"<p>Fruit du floumier, sorte de poirier pleureur vivant dans les lieux très humides, au bord des rivières ou dans les marais. La floume a l’aspect d’une poire jaune pâle à la chair ferme, grumeleuse et rose. Son goût est âcre et amer, et son pouvoir nutritif encore plus faible que celui des clopinettes. Il existe heureusement une larve parasite, appelée <em>ver du floumier</em> ou plus simplement <em>floumette</em>. Ce ver ronge la floume de l’intérieur et la dévore entièrement, ne laissant à la place de la chair qu’un excrément brunâtre, sorte de gelée poisseuse. Cette pommade est en revanche hautement nutritive, bien que son goût soit parmi les plus ignobles. Jouer VOLONTÉ à -3, et en cas d’échec, recracher tellement c’est mauvais. Une floume bien floumée, c’est à-dire bien véreuse, vaut en moyenne 3 points de sustentation.</p>\n<p>Fréquente.</p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0,"milieu":"Lieux humides","environnement":[{"milieu":"Cours d'eau","rarete":"Frequente","frequence":18},{"milieu":"Marais","rarete":"Frequente","frequence":18}],"sust":3,"exotisme":-3,"niveau":0,"base":0,"categorie":"Cuisine","rarete":"Frequente"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708516,"modifiedTime":1673791884647,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Salsimir à points jaunes","type":"plante","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.2IHZslApFfV72VMw"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Salsimir%20%C3%A0%20points%20jaunes.webp","effects":[],"_id":"2IHZslApFfV72VMw","system":{"description":"<p>Sorte de bolet doté d’un pied blanc et mince, au chapeau arrondi brun à pois jaunes.</p>\n<p>Commun.</p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0,"milieu":"Lieux sombres et humides","environnement":[{"milieu":"Forêts","rarete":"Commune","frequence":54},{"milieu":"Sous-sols","rarete":"Frequente","frequence":18}],"sust":1,"exotisme":0,"niveau":1,"base":0,"categorie":"Cuisine","rarete":"Commune"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708516,"modifiedTime":1673792118064,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Sourise","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/rongeur.webp","system":{"description":"<p>Sourise. Forêt, plaine, 500 g, 1 sust. La sourise est un petit rongeur gris, à têted’écureuil et à queue de souris.</p>","descriptionmj":"","encombrement":0.5,"quantite":1,"qualite":0,"cout":0,"milieu":"Forêt, plaine","environnement":[{"milieu":"Forêts","rarete":"Commune","frequence":54},{"milieu":"Plaines","rarete":"Commune","frequence":54}],"sust":1,"exotisme":0,"categorie":"","actor":{"id":"VsEw24DEekBbU69Z","pack":"foundryvtt-reve-de-dragon.animaux","name":"Cornicochon"}},"effects":[],"flags":{"core":{"sourceId":"Item.LU5eutNQqwm52oOG"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1673657676885,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"2e7pAKJsW9SuSZXy","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Cancrelas","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/cancrelas.webp","system":{"description":"<p>Petit crabe noir à la démarche lente, comme s’il était sous le coup d’une intense fatigue.</p>","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":0,"milieu":"","environnement":[{"milieu":"Maritimes","rarete":"Frequente","frequence":18}],"sust":1,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.2zVusTyy2k6PDxiW"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1670616441674,"modifiedTime":1673657676875,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"folder":null,"sort":0,"ownership":{"default":0,"Hp9ImM4o9YRTSdfu":3},"_id":"2zVusTyy2k6PDxiW"}
|
||||
{"name":"Rabier","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/lapin.webp","system":{"description":"<p>Rabier. Forêt, plaine, 2 kg, 4 sust. Petit lapinà fourrure très recherchée pour ses nuances roses ou bleues. La plupart des enfants de riches familles jouent avec des rabiers naturalisés, rebaptisés pluches.</p>","descriptionmj":"","encombrement":2,"quantite":1,"qualite":0,"cout":0,"milieu":"Forêt, plaine","environnement":[{"milieu":"Forêts","rarete":"Rare","frequence":6},{"milieu":"Plaines","rarete":"Rare","frequence":6}],"sust":4,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Item.LU5eutNQqwm52oOG"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1673657676884,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"33hA6dMd5FO9BO0f","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Tanemiel d'argent","type":"herbe","flags":{"core":{"sheetClass":"foundryvtt-reve-de-dragon.RdDItemSheet","sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.3Idia6bqLgdtiswS"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Tanemiel%20argent%C3%A9.webp","effects":[],"_id":"3Idia6bqLgdtiswS","system":{"description":"<p><em style=\"box-sizing: border-box; user-select: text;\">Herbe de repos.</em></p>\n<p>Variété de tanemiel aux reflets argentés, poussant comme ses frères en forêts humides et chaudes, et dont l'existence est presque aussi mythique. </p>\n<p>Rarissime.</p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0.5,"milieu":"Forêts chaudes et humides","environnement":[{"milieu":"Forêts","rarete":"Rarissime","frequence":4}],"sust":0,"exotisme":0,"niveau":5,"base":0,"categorie":"Repos","rarete":"Rarissime"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708516,"modifiedTime":1673657676886,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Cheleuse","type":"herbe","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.3PzaM8d7jLjdzdkt"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Cheleuse.webp","effects":[],"_id":"3PzaM8d7jLjdzdkt","system":{"description":"<p>Fausse menthe à feuilles urticantes.</p><p>En cas de contact, voir: @UUID[Compendium.foundryvtt-reve-de-dragon.maladies-et-poisons.tpzD5959gxuIcTir]{Cheleuse}</p><p>Fréquente.</p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0,"milieu":"Lieux humides","environnement":[{"milieu":"Cours d'eau","rarete":"Frequente","frequence":18},{"milieu":"Marais","rarete":"Frequente","frequence":18},{"milieu":"Sous-sols","rarete":"Frequente","frequence":18}],"sust":0,"exotisme":0,"niveau":0,"base":0,"categorie":"Toxique","rarete":"Frequente"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708517,"modifiedTime":1673792344416,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Champirigolo","type":"plante","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.45vMHMwrCFeLZyH8"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Champirigolo.webp","effects":[],"_id":"45vMHMwrCFeLZyH8","system":{"description":"<p>Le champirigolo est un champignon de bordure de sous-bois, ressemblant à un petit bonhomme caché sous un chapeau conique aplati. Le « visage » du bonhomme, de couleur chair, tavelé, donne souvent l’impression de tirer la langue à qui le regarde. <br />Comestible, il possède toutefois des vertus hallucinogènes, provoquant des crises de fou rire, et, d’une manière générale, faisant trouver de la drôlerie dans tout. <br />En termes de jeu, il augmente l’EMPATHIE au détriment de l’INTELLECT.</p>\n<p>Fréquent.</p>\n<p><em>Cf : p.139</em></p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":3,"cout":0,"milieu":"Lieux sombres et humides","environnement":[{"milieu":"Forêts","rarete":"Frequente","frequence":18},{"milieu":"Sous-sols","rarete":"Rare","frequence":6}],"sust":1,"exotisme":0,"niveau":null,"base":0,"categorie":"Cuisine","rarete":"Frequente"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708517,"modifiedTime":1673791921755,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Nanar","type":"plante","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.4ROad7HKzxuRKXNK"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Nanar.webp","effects":[],"_id":"4ROad7HKzxuRKXNK","system":{"description":"<p>Champignon assez amusant, avec un pied minuscule et un joli petit chapeau rose.</p><p>Pour l'empoisonnement, voir: @UUID[Compendium.foundryvtt-reve-de-dragon.maladies-et-poisons.4zOQxOMwgAxxd2MV]{Nanar}</p><p>Commun.</p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0,"milieu":"Lieux sombres et humides","environnement":[{"milieu":"Forêts","rarete":"Commune","frequence":54},{"milieu":"Sous-sols","rarete":"Frequente","frequence":18}],"sust":0,"exotisme":0,"niveau":0,"base":0,"categorie":"Poison","rarete":"Commune"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708517,"modifiedTime":1673792052393,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Fausse suppure","type":"herbe","flags":{"core":{"sheetClass":"foundryvtt-reve-de-dragon.RdDItemSheet","sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.57FoMF6mBK2ogX53"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Fausse%20suppure.webp","effects":[],"_id":"57FoMF6mBK2ogX53","system":{"description":"<p><em>Herbe de soin.</em></p>\n<p>Mousse semblable à la suppure, mais plus sèche, et poussant en tous milieux.</p>\n<p>Commune.</p>\n<p> </p>\n<p><em>Voir Les herbes de soin, p100.</em></p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0.02,"milieu":"Tous","environnement":[{"milieu":"Collines","rarete":"Commune","frequence":54},{"milieu":"Cours d'eau","rarete":"Commune","frequence":54},{"milieu":"Déserts","rarete":"Commune","frequence":54},{"milieu":"Forêts","rarete":"Commune","frequence":54},{"milieu":"Marais","rarete":"Commune","frequence":54},{"milieu":"Montagnes","rarete":"Commune","frequence":54},{"milieu":"Plaines","rarete":"Commune","frequence":54}],"sust":0,"exotisme":0,"niveau":1,"base":0,"categorie":"Soin","rarete":"Commune"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708517,"modifiedTime":1673657676878,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Grand Coq de Bruyère","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/oiseau.webp","system":{"description":"<p>Grand coq de bruyère. Montagne, 4 kg, 12 sust.</p>","descriptionmj":"","encombrement":2,"quantite":1,"qualite":0,"cout":0,"milieu":"Montagnes","environnement":[{"milieu":"Montagnes","rarete":"Rare","frequence":6}],"sust":12,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.5bNkhPn0SUfTmKZh"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1673657676878,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"5bNkhPn0SUfTmKZh","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Lièvre","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/lapin.webp","system":{"description":"<p>Lièvre. Plaine, 4 kg, 8 sust.</p>","descriptionmj":"","encombrement":2,"quantite":1,"qualite":0,"cout":0,"milieu":"Plaines","environnement":[{"milieu":"Plaines","rarete":"Frequente","frequence":18}],"sust":8,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Item.LU5eutNQqwm52oOG"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1673657676879,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"5rGi4IeFyxQwyOOq","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Salsimir ventru","type":"plante","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.66Rzf8phcEQRIShv"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Salsimir%20ventru.webp","effects":[],"_id":"66Rzf8phcEQRIShv","system":{"description":"<p>À points jaunes ou à points rouges, le salsimir ventru se distingue par un pied large et renflé.</p>\n<p>Rare.</p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":4,"cout":0,"milieu":"Lieux sombres et humides","environnement":[{"milieu":"Forêts","rarete":"Rare","frequence":9},{"milieu":"Sous-sols","rarete":"Rarissime","frequence":3}],"sust":1,"exotisme":0,"niveau":4,"base":0,"categorie":"Cuisine","rarete":"Rare"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708517,"modifiedTime":1673792106248,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Sautille","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/oiseau.webp","system":{"description":"<p>Sautille. Rivage, 1 kg, 2 sust. Petit échassier voisin de la grue qui, au lieu de marcher tranquillement, passe son temps àsautiller sur ses longues pattes.</p>","descriptionmj":"","encombrement":0.5,"quantite":1,"qualite":0,"cout":0,"milieu":"Rivage","environnement":[{"milieu":"Cours d'eau","rarete":"Frequente","frequence":18}],"sust":2,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.6bvChVkjsy5tsa4d"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1673657676885,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"6bvChVkjsy5tsa4d","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Tricolet","type":"plante","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.6gb2cjdPXI44ym8D"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Tricollet.webp","effects":[],"_id":"6gb2cjdPXI44ym8D","system":{"description":"<p>Champignon à pied blanc, triple volve, et large chapeau vert à points bleus.</p>\n<p>Rare.</p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":4,"cout":0,"milieu":"Lieux sombres et humides","environnement":[{"milieu":"Forêts","rarete":"Rare","frequence":6},{"milieu":"Sous-sols","rarete":"Rarissime","frequence":3}],"sust":1,"exotisme":0,"niveau":4,"base":0,"categorie":"Cuisine","rarete":"Rare"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708518,"modifiedTime":1673792147727,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Lapin","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/lapin.webp","system":{"description":"<p>Lapin. Forêt, plaine, 2 kg, 5 sust.</p>","descriptionmj":"","encombrement":1,"quantite":1,"qualite":0,"cout":0,"milieu":"Forets, Plaines","environnement":[{"milieu":"Forêts","rarete":"Commune","frequence":54},{"milieu":"Plaines","rarete":"Commune","frequence":54}],"sust":5,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Item.LU5eutNQqwm52oOG"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1673657676879,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"6pDi7Pew5FZ3Ca1I","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Salsimir à points verts","type":"plante","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.7IV2V4ZotDEP2sLs"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Salsimir%20%C3%A0%20points%20verts.webp","effects":[],"_id":"7IV2V4ZotDEP2sLs","system":{"description":"<p>Champignon semblable aux autres variétés de salsimir, hormis la couleur de ses points.</p><p>Pour l'empoisonnement, voir: @UUID[Compendium.foundryvtt-reve-de-dragon.maladies-et-poisons.Rx2nQjwaCa5s38Tm]{Salsimir à points verts}</p><p>Rare.</p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0,"milieu":"Lieux sombres et humides","environnement":[{"milieu":"Forêts","rarete":"Rare","frequence":9},{"milieu":"Sous-sols","rarete":"Rarissime","frequence":3}],"sust":0,"exotisme":0,"niveau":null,"base":0,"categorie":"Poison","rarete":"Rare"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708518,"modifiedTime":1673792134571,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Tanemiel doré","type":"herbe","flags":{"core":{"sheetClass":"foundryvtt-reve-de-dragon.RdDItemSheet","sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.7RgTRB47YPH74BwF"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Tanemiel%20dor%C3%A9.webp","effects":[],"_id":"7RgTRB47YPH74BwF","system":{"description":"<p><em>Herbe de soin.</em></p>\n<p>Variété de tanemiel aux feuilles luisantes de couleur ambrée.</p>\n<p>Rarissime.</p>\n<p> </p>\n<p><em>Voir Les herbes de soin, p100.</em></p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":2,"milieu":"Forêts chaudes et humides","environnement":[{"milieu":"Forêts","rarete":"Rarissime","frequence":2}],"sust":0,"exotisme":0,"niveau":10,"base":0,"categorie":"Soin","rarete":"Rarissime"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708518,"modifiedTime":1673657676886,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Saumuche","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/saumon.webp","system":{"description":"<p>Salmonidé de la taille d’une truite de couleur bleue. Non seulement ses écailles sont bleutées, mais également sa chair, bleu pastel, avec des arêtes turquoise. Son goût est d’une $nesse incomparable. Généralement servie <em>au bleu</em>.</p>","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":4,"cout":0.06,"milieu":"","environnement":[{"milieu":"Cours d'eau","rarete":"Frequente","frequence":18}],"sust":2,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.5.4","coreVersion":"10.291","createdTime":1673656080829,"modifiedTime":1673656874816,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"80mxjQOIPK26FHtt","folder":null,"sort":0,"ownership":{"default":0,"Hp9ImM4o9YRTSdfu":3}}
|
||||
{"name":"Bousille","type":"plante","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.84i33KtUxLwCK2Uu"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Bousille.webp","effects":[],"_id":"84i33KtUxLwCK2Uu","system":{"description":"<p>Appétissant champignon brun beige très semblable à la morille.</p><p>Pour l'empoisonnement, voir: @UUID[Compendium.foundryvtt-reve-de-dragon.maladies-et-poisons.qE4IEazgBeRs4uE0]{Bousille}</p><p>Fréquente.</p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0,"milieu":"Lieux sombres et humides","environnement":[{"milieu":"Forêts","rarete":"Frequente","frequence":18},{"milieu":"Sous-sols","rarete":"Rare","frequence":6}],"sust":0,"exotisme":0,"niveau":0,"base":0,"categorie":"Poison","rarete":"Frequente"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708519,"modifiedTime":1673791325896,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Plumard","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/oie.webp","system":{"description":"<p>Plumard. Plaine, forêt, 3 kg, 7 sust. Le plumard est un gros oiseau voisin du faisan, au plumage multicolore et rutilant comme celui d’un perroquet. Sa chair est particulièrement savoureuse et ses plumes fort recherchées pour orner les chapeaux.</p>","descriptionmj":"","encombrement":1.5,"quantite":1,"qualite":0,"cout":0,"milieu":"Plaine, Foret","environnement":[{"milieu":"Forêts","rarete":"Frequente","frequence":23},{"milieu":"Plaines","rarete":"Frequente","frequence":24}],"sust":7,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.8BVcgy3mLXirlPpm"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1673657676883,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"8BVcgy3mLXirlPpm","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Veloute","type":"plante","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.8MO2HBua7RUdGN3D"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Veloute.webp","effects":[],"_id":"8MO2HBua7RUdGN3D","system":{"description":"<p>Fruit du veloutier, petit arbre pleureur au tronc recouvert d’un lichen duveteux gris rose, poussant usuellement au bord de l’eau, la veloute est une petite pêche très velue, juteuse et douce, au goût panaché de litchi et de fraise des bois.</p>\n<p>Fréquente.</p>","descriptionmj":"","encombrement":0.05,"quantite":1,"qualite":0,"cout":0,"milieu":"Lieux humides","environnement":[{"milieu":"Cours d'eau","rarete":"Frequente","frequence":18},{"milieu":"Marais","rarete":"Frequente","frequence":18}],"sust":0.5,"exotisme":0,"niveau":0,"base":0,"categorie":"Cuisine","rarete":"Rare"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708519,"modifiedTime":1673792178439,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Enervure","type":"herbe","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.8QFBVNJMEsANaYaq"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/%C3%89nervure.webp","effects":[],"_id":"8QFBVNJMEsANaYaq","system":{"description":"<p>Fausse fougère aux feuilles tranchantes comme des rasoirs, distillant un venin mortel.</p><p>En cas de contact, voir: @UUID[Compendium.foundryvtt-reve-de-dragon.maladies-et-poisons.SlfTPRdCC9t3o9ai]{Énervure}</p><p>Fréquente.</p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0,"milieu":"Forêts","environnement":[{"milieu":"Forêts","rarete":"Frequente","frequence":18}],"sust":0,"exotisme":0,"niveau":0,"base":0,"categorie":"Toxique","rarete":"Frequente"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708519,"modifiedTime":1673792331864,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Lulube","type":"plante","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.8a2EJVdhdU7CXFCn"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Lulube.webp","effects":[],"_id":"8a2EJVdhdU7CXFCn","system":{"description":"<p>Fruit du lulubier, arbre de la taille d’un cerisier, la lulube est un petit fruit rouge dont le goût est un panaché de cerise et de citron.</p>\n<p>Fréquente.</p>","descriptionmj":"","encombrement":0.05,"quantite":1,"qualite":0,"cout":0,"milieu":"Tous","environnement":[{"milieu":"Collines","rarete":"Frequente","frequence":18},{"milieu":"Cours d'eau","rarete":"Frequente","frequence":18},{"milieu":"Déserts","rarete":"Frequente","frequence":18},{"milieu":"Forêts","rarete":"Frequente","frequence":18},{"milieu":"Marais","rarete":"Frequente","frequence":18},{"milieu":"Montagnes","rarete":"Frequente","frequence":18},{"milieu":"Plaines","rarete":"Frequente","frequence":18}],"sust":0.5,"exotisme":0,"niveau":0,"base":0,"categorie":"Cuisine","rarete":"Frequente"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708519,"modifiedTime":1673792017030,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Suppure","type":"herbe","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.9XJEICURxX1qVud6"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Suppure.webp","effects":[],"_id":"9XJEICURxX1qVud6","system":{"description":"<p><em>Herbe de soin.</em></p>\n<p>Sorte de mousse d’aspect maladif, s’accrochant aux vieux troncs et aux rochers des forêts, d’où elle semble <em>suppurer</em>.</p>\n<p>Commune.</p>\n<p> </p>\n<p><em>Voir Les herbes de soin, p100.</em></p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0.03,"milieu":"Forêts","environnement":[{"milieu":"Forêts","rarete":"Commune","frequence":54}],"sust":0,"exotisme":0,"niveau":2,"base":0,"categorie":"Soin","rarete":"Commune"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708519,"modifiedTime":1673657676885,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Salsimir à points rouges","type":"plante","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.9pTMw1dFbVaN2iiF"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Salsimir%20%C3%A0%20points%20rouges.webp","effects":[],"_id":"9pTMw1dFbVaN2iiF","system":{"description":"<p>Autre variété de salsimir, au teint plus clair et tacheté de points rouges. Fréquent.</p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":2,"cout":0,"milieu":"Lieux sombres et humides","environnement":[{"milieu":"Forêts","rarete":"Frequente","frequence":18},{"milieu":"Sous-sols","rarete":"Rare","frequence":6}],"sust":1,"exotisme":0,"niveau":2,"base":0,"categorie":"Cuisine","rarete":"Frequente"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708520,"modifiedTime":1673792128732,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Hécatombe","type":"plante","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.9tG4XPzyvjrSAj3o"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/H%C3%A9catombe.webp","effects":[],"_id":"9tG4XPzyvjrSAj3o","system":{"description":"<p>Petite poire rouge à peau lustrée, au goût acidulé et pas désagréable.</p><p>Pour l'empoisonnement, voir: @UUID[Compendium.foundryvtt-reve-de-dragon.maladies-et-poisons.sSgu1FYK1s1vZinT]{Hécatombe}</p><p>Rare.</p>","descriptionmj":"","encombrement":0.05,"quantite":1,"qualite":0,"cout":0,"milieu":"Tous","environnement":[{"milieu":"Collines","rarete":"Rare","frequence":6},{"milieu":"Cours d'eau","rarete":"Rare","frequence":6},{"milieu":"Déserts","rarete":"Frequente","frequence":18},{"milieu":"Forêts","rarete":"Rare","frequence":6},{"milieu":"Marais","rarete":"Rare","frequence":6},{"milieu":"Montagnes","rarete":"Frequente","frequence":18},{"milieu":"Plaines","rarete":"Rare","frequence":6}],"sust":0,"exotisme":0,"niveau":null,"base":0,"categorie":"Poison","rarete":"Rare"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708520,"modifiedTime":1673792002111,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Colimace","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/colimace.webp","system":{"description":"<p><span class=\"fontstyle0\">Bel escargot des jardins et autres lieux arrosés. La colimace vit généralement en couple, à deux individus dans la même coquille. Faire dégorger longuement dans la salnise avant de consommer, en soupe, omelette ou fricassée. </span></p>","descriptionmj":"","encombrement":0.01,"quantite":1,"qualite":0,"cout":0,"milieu":"Jardins et lieux arrosés","environnement":[{"milieu":"Forêts","rarete":"Commune","frequence":54},{"milieu":"Marais","rarete":"Frequente","frequence":18},{"milieu":"Plaines","rarete":"Commune","frequence":54}],"sust":0.1,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.AK1LrrCkcJr2sP4g"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1670616816817,"modifiedTime":1673657676876,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"folder":null,"sort":0,"ownership":{"default":0,"Hp9ImM4o9YRTSdfu":3},"_id":"AK1LrrCkcJr2sP4g"}
|
||||
{"name":"Fesse de groin","type":"plante","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.ALwHAF15KYWUQfQc"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Fesse%20de%20groin.webp","effects":[],"_id":"ALwHAF15KYWUQfQc","system":{"description":"<p>Poussant à même le sol, sans quasiment de pied, c’est un champignon fendu verticalement, évoquant un gros derrière pustuleux. Quand on le bouscule, il émet un bruit incongru, accompagné d’une odeur pénible.</p><p>Pour l'empoisonnement, voir: @UUID[Compendium.foundryvtt-reve-de-dragon.maladies-et-poisons.LkDe57PbpOIshhMI]{Fesse de groin}</p><p>Commune.</p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0,"milieu":"Lieux sombres et humides","environnement":[{"milieu":"Forêts","rarete":"Frequente","frequence":18},{"milieu":"Sous-sols","rarete":"Rare","frequence":6}],"sust":0,"exotisme":0,"niveau":0,"base":0,"categorie":"Poison","rarete":"Commune"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708520,"modifiedTime":1673791809407,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Perdrix","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/oiseau.webp","system":{"description":"<p>Perdrix. Plaine, 500 g, 1 sust.</p>","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":0,"milieu":"Plaines","environnement":[{"milieu":"Plaines","rarete":"Frequente","frequence":18}],"sust":1,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.AfqIPuLffHuyNpLc"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1673657676883,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"AfqIPuLffHuyNpLc","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Pougne","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/oie.webp","system":{"description":"<p>Pougne. Rivage, 2 kg, 5 sust. Grosse poule d’eau à pattes palmées, de couleur blanche. Imaginez un cygne avec un cou et une tête de poulet.</p>","descriptionmj":"","encombrement":1,"quantite":1,"qualite":0,"cout":0,"milieu":"Rivages","environnement":[{"milieu":"Cours d'eau","rarete":"Frequente","frequence":18}],"sust":5,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.BW5QK5kQPJxKdteQ"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1673657676883,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"BW5QK5kQPJxKdteQ","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Padongre","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/padongre.webp","system":{"description":"<p>Padongre. Forêt clairsemée, 150 kg, 350 sust. Petit éléphant de la taille d’un sanglier(voir Cuisine, p343).</p>","descriptionmj":"","encombrement":75,"quantite":1,"qualite":0,"cout":0,"milieu":"Forêt clairsemée","environnement":[{"milieu":"Forêts","rarete":"Rare","frequence":6}],"sust":350,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Item.LU5eutNQqwm52oOG"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1673657676883,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"Dgy1oyD2ykWF56N5","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Chevreuil","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/chamois.webp","system":{"description":"<p>Chevreuil. Forêt, 25 kg, 60 sust.</p>","descriptionmj":"","encombrement":12,"quantite":1,"qualite":0,"cout":0,"milieu":"Colline, Montagne","environnement":[{"milieu":"Collines","rarete":"Frequente","frequence":18},{"milieu":"Montagnes","rarete":"Frequente","frequence":18}],"sust":60,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Item.LU5eutNQqwm52oOG"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1673657676876,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"DgzFoqASP4ALDEqJ","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Ours","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/ours.webp","system":{"description":"<p>Ours. Forêt, montagne, 300 kg, 600 sust.Surtout recherché pour sa peau (voir legrizzal, p405).</p>","descriptionmj":"","encombrement":150,"quantite":1,"qualite":0,"cout":0,"milieu":"Forêt, montagne","environnement":[{"milieu":"Forêts","rarete":"Rare","frequence":6},{"milieu":"Montagnes","rarete":"Rare","frequence":6}],"sust":600,"exotisme":0,"categorie":"","actor":{"id":"OWuf2ryyCtipWnpE","pack":"foundryvtt-reve-de-dragon.animaux","name":"Grizzal"}},"effects":[],"flags":{"core":{"sourceId":"Item.LU5eutNQqwm52oOG"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1673657676883,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"E59KBe57YIoAc8qV","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Asper violet","type":"plante","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.EYy9B0xJ0IGWYEuh"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Asper%20violet.webp","effects":[],"_id":"EYy9B0xJ0IGWYEuh","system":{"description":"<p>Champignon violet à pied filiforme et chapeau pointu très éfilé.</p>\n<p>Fréquent.</p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0.01,"milieu":"Lieux sombres et humides","environnement":[{"milieu":"Forêts","rarete":"Frequente","frequence":18},{"milieu":"Sous-sols","rarete":"Rare","frequence":6}],"sust":1,"exotisme":0,"niveau":2,"base":0,"categorie":"Cuisine","rarete":"Frequente"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708520,"modifiedTime":1673791784540,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Noisot","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/oiseau.webp","system":{"description":"<p>Noisot. Plaine, forêt, rivage, 3 kg, 7 sust.<br>Le noisot est un assez gros volatile, voiside la poule d’eau, au plumage gris et noir,<br>ne voletant que par bonds. Les noisots vivent toujours en couple et supportent très<br>mal la solitude. Quand cela arrive, celui qui se retrouve seul se met à crier et à sautiller sans raison apparente, abandonnant tout instinct de survie. On dit alors qu’il cherche noise. Son vacarme attire généralement un prédateur, à commencer par un chasseur, et la solitude du pauvre animal est bien vite achevée. En couple, par contre, il reste silencieux et discret. C’est la raison pour laquelle on peut dire : « j’entends un noisot », mais rarement : « j’entends deux noisots ».</p>","descriptionmj":"","encombrement":1.5,"quantite":1,"qualite":0,"cout":0,"milieu":"Forêt, Plaine, Rivage","environnement":[{"milieu":"Cours d'eau","rarete":"Frequente","frequence":18},{"milieu":"Forêts","rarete":"Frequente","frequence":18},{"milieu":"Plaines","rarete":"Frequente","frequence":18}],"sust":7,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.FQ8vGdPYYcBggw5g"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1673657676880,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"FQ8vGdPYYcBggw5g","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Candique","type":"ingredient","img":"systems/foundryvtt-reve-de-dragon/icons/objets/candique.webp","effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.bxDITKRhXiyvLhMz"}},"system":{"description":"<p>Poudre blanche apparaissant sous l’écorce de nombreux arbres,</p>\n<p>VUE/Alchimie à 0.</p>","descriptionmj":"","encombrement":0.001,"quantite":1,"qualite":0,"cout":0.02,"milieu":"Forêts","environnement":[{"milieu":"Forêts","rarete":"","frequence":54}],"sust":0,"exotisme":0,"niveau":0,"base":0,"categorie":"Alchimie","rarete":""},"ownership":{"default":0,"rYShh2P1DNavdoBD":3,"Hp9ImM4o9YRTSdfu":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1668808206109,"modifiedTime":1673657676875,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"folder":null,"sort":0,"_id":"FjfZ789LlkzUUSMU"}
|
||||
{"name":"Ortilise","type":"herbe","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.GrzjjbOUWlOUgzEQ"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Ortilise.webp","effects":[],"_id":"GrzjjbOUWlOUgzEQ","system":{"description":"<p>Redoutable variété d’ortie, poussant dans les lieux humides, le voisinage des marais.</p><p>En cas de contact, voir: @UUID[Compendium.foundryvtt-reve-de-dragon.maladies-et-poisons.X8vVqbK5pjuxQwBF]{Ortilise}</p><p>Fréquente.</p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0,"milieu":"Lieux humides","environnement":[{"milieu":"Cours d'eau","rarete":"Frequente","frequence":18},{"milieu":"Marais","rarete":"Frequente","frequence":18}],"sust":0,"exotisme":0,"niveau":0,"base":0,"categorie":"Toxique","rarete":"Frequente"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708520,"modifiedTime":1673792369256,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Tshaï","type":"herbe","flags":{"core":{"sheetClass":"foundryvtt-reve-de-dragon.RdDItemSheet","sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.H0eZczDzhj1fUUxZ"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Tsha%C3%AF.webp","effects":[],"_id":"H0eZczDzhj1fUUxZ","system":{"description":"<p>Petit arbuste à fleurs blanches et feuilles persistantes, poussant au versant des collines ensoleillées. Une fois séchées, ses feuilles sont consommées en infusion, donnant une boisson parfumée et tonique. Par extension, tshaï est aussi le nom donné à la boisson en question.</p>\n<p>Fréquent.</p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":null,"milieu":"Collines","environnement":[{"milieu":"Collines","rarete":"Frequente","frequence":18}],"sust":0,"exotisme":0,"niveau":null,"base":0,"categorie":"Cuisine","rarete":"Frequente"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708520,"modifiedTime":1673657676886,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Obyssum vert","type":"ingredient","img":"systems/foundryvtt-reve-de-dragon/icons/objets/l_obyssum_vert.webp","effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.D5Z3FaUv91B8eCOP"}},"system":{"description":"<p>Poudre verdâtre apparaissant sur les tiges de certains roseaux.</p>\n<p>VUE/Alchimie à -2</p>","descriptionmj":"","encombrement":0.001,"quantite":1,"qualite":0,"cout":0.05,"milieu":"Lieux humides","environnement":[{"milieu":"Cours d'eau","rarete":"Commune","frequence":54},{"milieu":"Marais","rarete":"Commune","frequence":54}],"sust":0,"exotisme":0,"niveau":0,"base":0,"categorie":"Alchimie","rarete":""},"ownership":{"default":0,"rYShh2P1DNavdoBD":3,"Hp9ImM4o9YRTSdfu":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1668808206019,"modifiedTime":1673657676881,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"folder":null,"sort":0,"_id":"HTtgzxpvUvMHilqx"}
|
||||
{"name":"Calamine","type":"plante","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.HlUFBr3yInurp96Z"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Calamine.webp","effects":[],"_id":"HlUFBr3yInurp96Z","system":{"description":"<p>Fruit du calaminier, sorte de figuier rampant doté de lianes et de vrilles. La calamine pousse en petites grappes de fruits à goût mi-figue, mi-raisin.</p>\n<p>Fréquente.</p>","descriptionmj":"","encombrement":0.01,"quantite":1,"qualite":0,"cout":0,"milieu":"Tous","environnement":[{"milieu":"Collines","rarete":"Frequente","frequence":18},{"milieu":"Cours d'eau","rarete":"Frequente","frequence":18},{"milieu":"Déserts","rarete":"Frequente","frequence":18},{"milieu":"Forêts","rarete":"Frequente","frequence":18},{"milieu":"Marais","rarete":"Frequente","frequence":18},{"milieu":"Montagnes","rarete":"Frequente","frequence":18},{"milieu":"Plaines","rarete":"Frequente","frequence":18}],"sust":0.1,"exotisme":0,"niveau":0,"base":0,"categorie":"Cuisine","rarete":"Frequente"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708520,"modifiedTime":1673791334575,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Poule d'Eau","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/oiseau.webp","system":{"description":"<p>Poule d’eau. Rivage, 300 g, 1 sust.</p>","descriptionmj":"","encombrement":0.15,"quantite":1,"qualite":0,"cout":0,"milieu":"Rivages","environnement":[{"milieu":"Cours d'eau","rarete":"Commune","frequence":54}],"sust":1,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.IZ40yicDhxycPtXU"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1673657676883,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"IZ40yicDhxycPtXU","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Cancredoux","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/crabe.webp","system":{"description":"<p> Désigne toute variété de crabe que l’on peut trouver en eau douce.</p>","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":0,"milieu":"Crabe d'eau douce","environnement":[{"milieu":"Cours d'eau","rarete":"Frequente","frequence":18}],"sust":1,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.JvD4mvZI9an4M23j"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1670616441674,"modifiedTime":1673657676875,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"folder":null,"sort":0,"ownership":{"default":0,"Hp9ImM4o9YRTSdfu":3},"_id":"JvD4mvZI9an4M23j"}
|
||||
{"name":"Primelune","type":"plante","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.Kg13pgjU0u421Kcm"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Primelune.webp","effects":[],"_id":"Kg13pgjU0u421Kcm","system":{"description":"<p>Apparaissant le plus souvent à la nouvelle lune, c’est un petit champignon à pied blanc et chapeau plat vert tendre.</p>\n<p>Commune.</p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0,"milieu":"Lieux sombres et humides","environnement":[{"milieu":"Forêts","rarete":"Commune","frequence":54},{"milieu":"Sous-sols","rarete":"Frequente","frequence":18}],"sust":1,"exotisme":0,"niveau":1,"base":0,"categorie":"Cuisine","rarete":"Commune"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708521,"modifiedTime":1673792093719,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Frétille","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/barbon.webp","system":{"description":"<p><span class=\"fontstyle0\">Grosse ablette particulièrement frétillante, d’où son nom. Plus souvent pêchée au filet ou à l’aide de nasses qu’à la ligne et l’hameçon.</span> <br style=\" font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; \"></p>","descriptionmj":"","encombrement":0.07,"quantite":1,"qualite":0,"cout":0.01,"milieu":"","environnement":[{"milieu":"Cours d'eau","rarete":"Frequente","frequence":18}],"sust":0.7,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.5.4","coreVersion":"10.291","createdTime":1673656080829,"modifiedTime":1673656874816,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"L2ZANNbcFU9jruvr","folder":null,"sort":0,"ownership":{"default":0,"Hp9ImM4o9YRTSdfu":3}}
|
||||
{"name":"Oie Sauvage","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/oie.webp","system":{"description":"<p>Oie sauvage. Rivage, 5 kg, 14 sust</p>","descriptionmj":"","encombrement":2.5,"quantite":1,"qualite":0,"cout":0,"milieu":"Rivage","environnement":[{"milieu":"Cours d'eau","rarete":"Frequente","frequence":18}],"sust":14,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.LBHzejJLFt4ymqay"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1673657676881,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"LBHzejJLFt4ymqay","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Fumebol","type":"plante","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.LJdoBQBE3KNDLXKq"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Fumebol.webp","effects":[],"_id":"LJdoBQBE3KNDLXKq","system":{"description":"<p>Champignon brun ressemblant grossièrement au cèpe bolet.</p><p>Pour l'empoisonnement, voir: @UUID[Compendium.foundryvtt-reve-de-dragon.maladies-et-poisons.xzCBr3FiSk1WewcT]{Fumebol}</p><p>Rare.</p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0,"milieu":"Lieux sombres et humides","environnement":[{"milieu":"Forêts","rarete":"Rare","frequence":6},{"milieu":"Sous-sols","rarete":"Rare","frequence":6}],"sust":0,"exotisme":0,"niveau":0,"base":0,"categorie":"Poison","rarete":"Rare"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708521,"modifiedTime":1673791927542,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Clognotte","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/rongeur.webp","system":{"description":"<p>Clognotte. Forêt, 2 kg, 4 sust. La clognot-<br>te, surtout recherchée pour sa peau, est un<br>gros écureuil blanc ou gris, rayé de fauve.</p>","descriptionmj":"","encombrement":1,"quantite":1,"qualite":0,"cout":0,"milieu":"Forêt","environnement":[{"milieu":"Forêts","rarete":"Frequente","frequence":18}],"sust":4,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Item.LU5eutNQqwm52oOG"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1673657676876,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"LOVGrwgIhE2JTxOk","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Andurak","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/andurak.webp","system":{"description":"<p>L’andurak est une petite antilope des plai-nes tempérées au pelage gris cendré, vivanten larges troupeaux.</p>","descriptionmj":"","encombrement":15,"quantite":1,"qualite":0,"cout":0,"milieu":"Plaine, Savane","environnement":[{"milieu":"Plaines","rarete":"Frequente","frequence":15}],"sust":70,"exotisme":0,"categorie":"","actor":{"id":"i7pvn7kgTwIdKYtP","pack":"foundryvtt-reve-de-dragon.animaux","name":"Mule"}},"effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.LU5eutNQqwm52oOG"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1673657676874,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"LU5eutNQqwm52oOG","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Chramaelium","type":"ingredient","img":"systems/foundryvtt-reve-de-dragon/icons/objets/chramaelium.webp","effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.ncpONCxPPNZ9YbBr"}},"system":{"description":"<p>Poudre rouge obtenue par disruption alchimique de la <em>chramaele</em>, minerai ayant l’apparence de la glaise.</p>\n<p>VUE/Alchimie à -4</p>","descriptionmj":"","encombrement":0.001,"quantite":1,"qualite":0,"cout":0.5,"milieu":"Obtenu à partir de glaise","environnement":[{"milieu":"Cours d'eau","rarete":"Rare","frequence":12},{"milieu":"Forêts","rarete":"Rare","frequence":12},{"milieu":"Marais","rarete":"Rare","frequence":12},{"milieu":"Plaines","rarete":"Rare","frequence":12}],"sust":0,"exotisme":0,"niveau":0,"base":0,"categorie":"Alchimie","rarete":""},"ownership":{"default":0,"rYShh2P1DNavdoBD":3,"Hp9ImM4o9YRTSdfu":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1668808206114,"modifiedTime":1673657676876,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"folder":null,"sort":0,"_id":"NNTl6CAdRZcylrU1"}
|
||||
{"name":"Gironcle","type":"plante","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.NhJm0FRVOi8L3xqv"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Gironcle.webp","effects":[],"_id":"NhJm0FRVOi8L3xqv","system":{"description":"<p>Sorte de girolle à pied violet et corolle brun doré.</p>\n<p>Rare.</p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":4,"cout":0,"milieu":"Lieux sombres et humides","environnement":[{"milieu":"Forêts","rarete":"Rare","frequence":6},{"milieu":"Sous-sols","rarete":"Rarissime","frequence":2}],"sust":1,"exotisme":0,"niveau":4,"base":0,"categorie":"Cuisine","rarete":"Rare"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708521,"modifiedTime":1673791970344,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Outarde","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/oie.webp","system":{"description":"<p>Outarde. Plaine, 8 kg, 20 sust.</p>","descriptionmj":"","encombrement":4,"quantite":1,"qualite":0,"cout":0,"milieu":"Plaine","environnement":[{"milieu":"Plaines","rarete":"Frequente","frequence":18}],"sust":20,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.NusdRSh3S7kDOmjY"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1673657676883,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"NusdRSh3S7kDOmjY","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Falanquelle","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/oiseau.webp","system":{"description":"<p>Falanquelle. Forêt, 0,5 kg, 1 sust. Gros passereau au plumage de couleur unifor<br>me. Noire, elle est semblable au merle ; mais on la trouve également vert amande, rose tyrien ou jaune paille.</p>","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":0,"milieu":"Forêt","environnement":[{"milieu":"Forêts","rarete":"Frequente","frequence":18}],"sust":1,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.OWeGXfWZdmPn2gVL"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1673657676878,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"OWeGXfWZdmPn2gVL","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Chamois","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/chamois.webp","system":{"description":"<p>Chamois. Montagne, 35 kg, 80 sust.</p>","descriptionmj":"","encombrement":17,"quantite":1,"qualite":0,"cout":0,"milieu":"Montagne","environnement":[{"milieu":"Montagnes","rarete":"Rare","frequence":6}],"sust":80,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Item.LU5eutNQqwm52oOG"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1673657676876,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"QItDJlTl5xf3AmOR","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Amandelle","type":"plante","img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Amandelle.webp","effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.w7jEFHGFrcrKAesQ"}},"_id":"QN2KLZLNL1JUh2bF","system":{"description":"<p>Fruit de l’amandelier, un petit arbuste à feuilles très découpées de couleur mauve pâle à violet foncé. L’amandelle est une noix plate et allongée au goût d’amande allié au parfum de violette.</p>\n<p>Fréquente.</p>","descriptionmj":"","encombrement":0.01,"quantite":1,"qualite":0,"cout":0,"milieu":"Tous","environnement":[{"milieu":"Collines","rarete":"Frequente","frequence":18},{"milieu":"Cours d'eau","rarete":"Frequente","frequence":18},{"milieu":"Déserts","rarete":"Frequente","frequence":18},{"milieu":"Forêts","rarete":"Frequente","frequence":18},{"milieu":"Marais","rarete":"Frequente","frequence":18},{"milieu":"Montagnes","rarete":"Frequente","frequence":18},{"milieu":"Plaines","rarete":"Frequente","frequence":18}],"sust":0.1,"exotisme":0,"niveau":0,"base":0,"categorie":"Cuisine","rarete":"Frequente"},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708521,"modifiedTime":1673791120973,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"folder":null,"sort":0,"ownership":{"default":0,"Hp9ImM4o9YRTSdfu":3}}
|
||||
{"name":"Damaskin","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/andurak.webp","system":{"description":"<p>Damaskin. Forêt, 50 kg, 100 sust. Variété de petit daim vivant sous des cli<br>mats plus froids et à la fourrure grise et noire tachetée de blanc ou de gris clair.</p>","descriptionmj":"","encombrement":25,"quantite":1,"qualite":0,"cout":0,"milieu":"Forêt","environnement":[{"milieu":"Forêts","rarete":"Frequente","frequence":18}],"sust":100,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Item.LU5eutNQqwm52oOG"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1673657676877,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"QVEkBjXEVxjlrUK9","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Loup","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/wolf-head.webp","system":{"description":"<p>Loup. Forêt, 55 kg, 100 sust. Plus évitéque recherché (voir le lycan, p406).</p>","descriptionmj":"","encombrement":27,"quantite":1,"qualite":0,"cout":0,"milieu":"Forets","environnement":[{"milieu":"Forêts","rarete":"Frequente","frequence":18}],"sust":100,"exotisme":0,"categorie":"","actor":{"id":"99I06oTwCziLTnnl","pack":"foundryvtt-reve-de-dragon.animaux","name":"Lycan"}},"effects":[],"flags":{"core":{"sourceId":"Item.LU5eutNQqwm52oOG"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1673657676879,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"QhdvDcc3DTuoXkBW","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Pigeon","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/oiseau.webp","system":{"description":"<p>Pigeon. Plaine, 500 g, 1 sust.</p>","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":0,"milieu":"Plaine","environnement":[{"milieu":"Plaines","rarete":"Commune","frequence":68}],"sust":1,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.QrQM7bMCKWKdfFwA"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1673657676883,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"QrQM7bMCKWKdfFwA","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Liquette","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/ver.webp","system":{"description":"<p><span class=\"fontstyle0\">Gastéropode sans coquille, voisin de la limace, de couleur blanchâtre et semblable à de la pâte de guimauve. Excellente grillée sur les braises d’un feu de camp ou devant la cheminée.</span> </p>","descriptionmj":"","encombrement":0.02,"quantite":1,"qualite":0,"cout":0,"milieu":"","environnement":[{"milieu":"Collines","rarete":"Frequente","frequence":27},{"milieu":"Forêts","rarete":"Commune","frequence":54},{"milieu":"Marais","rarete":"Frequente","frequence":18},{"milieu":"Plaines","rarete":"Frequente","frequence":18}],"sust":0.2,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.QujuNoksfSYVewKQ"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1670616668493,"modifiedTime":1673657676879,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"folder":null,"sort":0,"ownership":{"default":0,"Hp9ImM4o9YRTSdfu":3},"_id":"QujuNoksfSYVewKQ"}
|
||||
{"name":"Ortironce","type":"herbe","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.RpUC6z3xhwnmv3sp"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Ortironce.webp","effects":[],"_id":"RpUC6z3xhwnmv3sp","system":{"description":"<p>Ronce venimeuse infestant de nombreux fourrés.</p><p>En cas de contact, voir: @UUID[Compendium.foundryvtt-reve-de-dragon.maladies-et-poisons.bEDPtCAlJwmoZx5p]{Ortironce}</p><p>Commune.</p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0,"milieu":"Forêts","environnement":[{"milieu":"Collines","rarete":"Commune","frequence":54},{"milieu":"Cours d'eau","rarete":"Commune","frequence":54},{"milieu":"Forêts","rarete":"Commune","frequence":54},{"milieu":"Plaines","rarete":"Commune","frequence":54}],"sust":0,"exotisme":0,"niveau":0,"base":0,"categorie":"Toxique","rarete":"Commune"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708522,"modifiedTime":1673792390161,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Cancre","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/cancre.webp","system":{"description":"<p><span class=\"fontstyle0\">Crustacé gris-vert, semblable au crabe, qui trompe habilement son monde en se déplaçant ni de travers, ni tout droit, mais à reculons.</span> </p>","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":0,"milieu":"","environnement":[{"milieu":"Maritimes","rarete":"Frequente","frequence":18}],"sust":1,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.RvfkIVHt6FzCp4TZ"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1670616441674,"modifiedTime":1673657676875,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"folder":null,"sort":0,"ownership":{"default":0,"Hp9ImM4o9YRTSdfu":3},"_id":"RvfkIVHt6FzCp4TZ"}
|
||||
{"name":"Nartha","type":"ingredient","img":"systems/foundryvtt-reve-de-dragon/icons/objets/nartha.webp","effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.3mHSocNVPyWkmGBR"}},"system":{"description":"<p>Poudre noire obtenue par disruption alchimique du minerai appelé <em>narthalide</em>, sorte de marne.</p>\n<p>VUE/Alchimie à -3</p>","descriptionmj":"","encombrement":0.001,"quantite":1,"qualite":0,"cout":0.4,"milieu":"Obtenu à partir de marne","environnement":[{"milieu":"Cours d'eau","rarete":"Frequente","frequence":30},{"milieu":"Marais","rarete":"Frequente","frequence":30},{"milieu":"Plaines","rarete":"Frequente","frequence":30}],"sust":0,"exotisme":0,"niveau":0,"base":0,"categorie":"Alchimie","rarete":""},"ownership":{"default":0,"rYShh2P1DNavdoBD":3,"Hp9ImM4o9YRTSdfu":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1668808206015,"modifiedTime":1673657676880,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"folder":null,"sort":0,"_id":"SiFtJoydPawJaMKA"}
|
||||
{"name":"Flottard","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/raton-laveur.webp","system":{"description":"<p>Flottard. Rivage, 15 kg, 35 sust. Le flottard, surtout recherché pour sa peau, est une sorte de gros castor à forme de saucisse, flottant sur les eaux semblable à une bûche qui dérive. Il se nourrit d’insectes et de larves. </p>","descriptionmj":"","encombrement":7,"quantite":1,"qualite":0,"cout":0,"milieu":"Rivage","environnement":[{"milieu":"Forêts","rarete":"Rare","frequence":6}],"sust":35,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Item.LU5eutNQqwm52oOG"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1673657676878,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"TQqwPEX49058mYQO","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Crétamère","type":"plante","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.Tfl4cElQxPQEXnPY"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Cr%C3%A9tam%C3%A8re.webp","effects":[],"_id":"Tfl4cElQxPQEXnPY","system":{"description":"<p>Petite fraise des bois en forme de crête dentelée. Son goût est très amer et devrait suffire à dissuader les gourmands.</p><p>Pour l'empoisonnement, voir: @UUID[Compendium.foundryvtt-reve-de-dragon.maladies-et-poisons.WBmXlsa3Wt2AN952]{Crétamère}</p><p>Fréquente.</p>","descriptionmj":"","encombrement":0.02,"quantite":1,"qualite":0,"cout":0,"milieu":"Tous","environnement":[{"milieu":"Collines","rarete":"Frequente","frequence":18},{"milieu":"Cours d'eau","rarete":"Frequente","frequence":18},{"milieu":"Déserts","rarete":"Frequente","frequence":18},{"milieu":"Forêts","rarete":"Frequente","frequence":18},{"milieu":"Marais","rarete":"Frequente","frequence":18},{"milieu":"Montagnes","rarete":"Frequente","frequence":18},{"milieu":"Plaines","rarete":"Frequente","frequence":18}],"sust":0,"exotisme":0,"niveau":null,"base":0,"categorie":"Poison","rarete":"Frequente"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708522,"modifiedTime":1673791804099,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Klampin","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/rongeur.webp","system":{"description":"<p>Klampin. Forêt, plaine, 6 kg, 15 sust. Gros rongeur de couleur gris fauve (voir Cuisine, p343).</p>","descriptionmj":"","encombrement":3,"quantite":1,"qualite":0,"cout":0,"milieu":"Forets, Plaines","environnement":[{"milieu":"Forêts","rarete":"Commune","frequence":54},{"milieu":"Plaines","rarete":"Commune","frequence":54}],"sust":15,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Item.LU5eutNQqwm52oOG"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1673657676879,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"UYlEOi2YZLlhomQ5","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Mignote","type":"plante","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.UfzdMXpTcSgIpAEp"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Mignote.webp","effects":[],"_id":"UfzdMXpTcSgIpAEp","system":{"description":"<p>Cône du mignotier, arbre voisin du mélèze, poussant en contreforts montagneux. Les mignotes doivent être grillées puis moulues. La farine obtenue a un goût chocolaté qui accompagne agréablement le lait chaud du petit déjeuner.</p>\n<p>Fréquente.</p>","descriptionmj":"","encombrement":0.05,"quantite":1,"qualite":0,"cout":0,"milieu":"Contreforts montagneux","environnement":[{"milieu":"Forêts","rarete":"Frequente","frequence":18},{"milieu":"Montagnes","rarete":"Frequente","frequence":18}],"sust":0.5,"exotisme":0,"niveau":0,"base":0,"categorie":"Cuisine","rarete":"Frequente"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708522,"modifiedTime":1673792028022,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Faisan","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/oie.webp","system":{"description":"<p>Faisan. Plaine, 1,5 kg, 4 sust.</p>","descriptionmj":"","encombrement":0.7,"quantite":1,"qualite":0,"cout":0,"milieu":"Plaine","environnement":[{"milieu":"Plaines","rarete":"Commune","frequence":46}],"sust":4,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.Uqd3BFlPaq9s8LSN"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1673657676878,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"Uqd3BFlPaq9s8LSN","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Barbon","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/barbon.webp","system":{"description":"<p><span class=\"fontstyle0\">Carpe barbue des lacs et étangs à fond sablonneux. N’a généralement d’appétit qu’à l’aube et à la tombé de la nuit.</span> </p>","descriptionmj":"","encombrement":0.6,"quantite":1,"qualite":0,"cout":0.9,"milieu":"","environnement":[{"milieu":"Cours d'eau","rarete":"Frequente","frequence":18}],"sust":5,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Item.V9I1f5pzZhGCcxdu"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.5.4","coreVersion":"10.291","createdTime":1673655805183,"modifiedTime":1673656874815,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"V9I1f5pzZhGCcxdu","folder":null,"sort":0,"ownership":{"default":0,"Hp9ImM4o9YRTSdfu":3}}
|
||||
{"name":"Marmotte","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/lapin.webp","system":{"description":"<p>Marmotte. Montagne, 6 kg, 12 sust.Surtout recherchée pour sa peau.</p>","descriptionmj":"","encombrement":3,"quantite":1,"qualite":0,"cout":0,"milieu":"Montagne","environnement":[{"milieu":"Montagnes","rarete":"Frequente","frequence":18}],"sust":12,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Item.LU5eutNQqwm52oOG"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1673657676880,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"V9aS6RvcxyBN5XY9","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Endebrume","type":"herbe","flags":{"core":{"sheetClass":"foundryvtt-reve-de-dragon.RdDItemSheet","sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.VGId76yXwx2k0Cli"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Endebrume.webp","effects":[],"_id":"VGId76yXwx2k0Cli","system":{"description":"<p><em>Herbe de repos.</em></p>\n<p>Petite plante ramifiée aux tiges fines comme des cheveux, poussant dans les lieux frais et humides : marais ombragés, certaines forêts, et parfois vallées de montagne. Un peu moins rare est la fausse endebrume, qui lui ressemble physiquement, mais n'a aucune vertu. <br /><em>VUE/Botanique à -1 pour savoir à quelle espèce on a affaire (jet obligatoire à chaque cueillette).</em></p>\n<p>Rare</p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0.2,"milieu":"Lieux frais et humides","environnement":[{"milieu":"Cours d'eau","rarete":"Frequente","frequence":18},{"milieu":"Forêts","rarete":"Rare","frequence":9},{"milieu":"Marais","rarete":"Rare","frequence":6},{"milieu":"Sous-sols","rarete":"Rare","frequence":4}],"sust":0,"exotisme":0,"niveau":4,"base":0,"categorie":"Repos","rarete":"Rare"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708522,"modifiedTime":1673657676877,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Fretin","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/fretin.webp","system":{"description":"<p>S<span class=\"fontstyle3\">orte de vairon ou de goujon. </span><span class=\"fontstyle0\">Plus souvent pêchée au filet ou à l’aide de nasses qu’à la ligne et l’hameçon.</span> <span class=\"fontstyle3\">Quand on en parle, on ajoute généralement l’adjectif « menu ».</span> </p>","descriptionmj":"","encombrement":0.01,"quantite":1,"qualite":0,"cout":0,"milieu":"","environnement":[{"milieu":"Cours d'eau","rarete":"Frequente","frequence":18}],"sust":0.1,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.5.4","coreVersion":"10.291","createdTime":1673656080829,"modifiedTime":1673656874816,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"VJ8HpbZvgJFMkAlG","folder":null,"sort":0,"ownership":{"default":0,"Hp9ImM4o9YRTSdfu":3}}
|
||||
{"name":"Poilute","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/rongeur.webp","system":{"description":"<p>Poilute. Forêt, plaine, 3 kg, 6 sust. Le poi-lute est une sorte de hérisson gris noir à longspoils souples angoras en guise de piquants.</p>","descriptionmj":"","encombrement":1.5,"quantite":1,"qualite":0,"cout":0,"milieu":"Forêt, plaine","environnement":[{"milieu":"Forêts","rarete":"Frequente","frequence":18},{"milieu":"Plaines","rarete":"Frequente","frequence":18}],"sust":6,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Item.LU5eutNQqwm52oOG"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1673657676883,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"VhHFo9GMF9zwNIgp","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Mélikasse","type":"plante","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.WbNKazgQZ4CeHtRo"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/M%C3%A9likasse.webp","effects":[],"_id":"WbNKazgQZ4CeHtRo","system":{"description":"<p>Fruit du mélikassier, arbuste buissonneux voisin du sureau. La mélikasse pousse en grappes de petites baies noires. Insolite, son goût est un mélange de cassis et de savon.</p>\n<p>Fréquente.</p>","descriptionmj":"","encombrement":0.02,"quantite":1,"qualite":0,"cout":0,"milieu":"Tous","environnement":[{"milieu":"Collines","rarete":"Frequente","frequence":18},{"milieu":"Cours d'eau","rarete":"Frequente","frequence":18},{"milieu":"Déserts","rarete":"Frequente","frequence":18},{"milieu":"Forêts","rarete":"Frequente","frequence":18},{"milieu":"Marais","rarete":"Frequente","frequence":18},{"milieu":"Montagnes","rarete":"Frequente","frequence":18},{"milieu":"Plaines","rarete":"Frequente","frequence":18}],"sust":0.2,"exotisme":0,"niveau":0,"base":0,"categorie":"Cuisine","rarete":"Frequente"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708522,"modifiedTime":1673792038728,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Aigronce","type":"herbe","flags":{"core":{"sheetClass":"foundryvtt-reve-de-dragon.RdDItemSheet","sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.XVfDwjgzbRvotbP8"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Aigronce.webp","effects":[],"_id":"XVfDwjgzbRvotbP8","system":{"description":"<p><em>Herbe de repos.</em></p>\n<p>Variété de klampine à l'odeur aigre et piquante. Pousse en lieux boisés des climats tempérés, parfois en lisière.</p>\n<p>Fréquente.</p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0.04,"milieu":"Forêts tempérées","environnement":[{"milieu":"Forêts","rarete":"Frequente","frequence":18}],"sust":0,"exotisme":0,"niveau":2,"base":0,"categorie":"Repos","rarete":"Frequente"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708522,"modifiedTime":1673657676874,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Endorlotte","type":"herbe","flags":{"core":{"sheetClass":"foundryvtt-reve-de-dragon.RdDItemSheet","sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.XWpfl6UmaMel1tJn"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Endorlotte.webp","effects":[],"_id":"XWpfl6UmaMel1tJn","system":{"description":"<p>Plante voisine du gui, poussant en parasite dans les branches des arbres de toutes forêts, l’endorlotte est une herbe de soin fonctionnant comme les dix grandes herbes connues, avec un bonus de guérison de +5. Son pouvoir ne s’applique toutefois qu’à la récupération des points de vie, pas à la cicatrisation des blessures. <br /><br />Elle doit être préparée en décoction selon la règle standard, à raison de 12 - 5 = 7 brins pour une décoction, et bue par le convalescent. Puis lors du test de récupération des points de vie\": <br />Part. 4 points de vie regagnés <br />Sign. 3 points de vie regagnés <br />Norm. 2 points de vie regagnés <br />Tout échec. Aucun point, sans autre conséquence. <br /><br />Enchantée, la décoction d’endorlotte fonctionne selon la règle standard avec son bonus de +5, et pratiquement devient équivalente à l’ortigal noir. <br />Rare.</p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0.25,"milieu":"Forêts","environnement":[{"milieu":"Forêts","rarete":"Rare","frequence":6}],"sust":0,"exotisme":0,"niveau":5,"base":0,"categorie":"Soin","rarete":"Rare"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708522,"modifiedTime":1673657676877,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Ortigal noir","type":"herbe","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.Z20wqDHmbgFQSyXo"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Ortigal%20noir.webp","effects":[],"_id":"Z20wqDHmbgFQSyXo","system":{"description":"<p><em>Herbe de soin.</em></p>\n<p>Variété d’ortigal aux feuilles d’un vert sombre presque noir.</p>\n<p>Fréquent.</p>\n<p> </p>\n<p><em>Voir Les herbes de soin, p100.</em></p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0.2,"milieu":"Marais","environnement":[{"milieu":"Marais","rarete":"Frequente","frequence":18}],"sust":0,"exotisme":0,"niveau":5,"base":0,"categorie":"Soin","rarete":"Frequente"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708522,"modifiedTime":1673657676882,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Canard","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/oie.webp","system":{"description":"<p>Canard. Rivage, 1,5 kg, 4 sust.</p>","descriptionmj":"","encombrement":0.7,"quantite":1,"qualite":0,"cout":0,"milieu":"Rivage","environnement":[{"milieu":"Cours d'eau","rarete":"Commune","frequence":54}],"sust":4,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.ZEAxjKBryjKzLPOp"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1673657676875,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"ZEAxjKBryjKzLPOp","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Chèvre","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/chamois.webp","system":{"description":"<p>Chèvre. Colline, montagne, 25 kg, 55 sust.</p>","descriptionmj":"","encombrement":12,"quantite":1,"qualite":0,"cout":0,"milieu":"Colline, Montagne","environnement":[{"milieu":"Collines","rarete":"Frequente","frequence":18},{"milieu":"Montagnes","rarete":"Frequente","frequence":18}],"sust":55,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Item.LU5eutNQqwm52oOG"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1673657676876,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"ZoQCVfyFed9tTRiE","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Brocart","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/brocart.webp","system":{"description":"<p>Brochet bleu noir aussi vorace que méfiant. Le ramener est un challenge.</p>","descriptionmj":"","encombrement":0.6,"quantite":1,"qualite":0,"cout":0.12,"milieu":"","environnement":[{"milieu":"Cours d'eau","rarete":"Frequente","frequence":18}],"sust":6,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Item.aLKXl1sBtiQRBMiJ"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.5.4","coreVersion":"10.291","createdTime":1673655805183,"modifiedTime":1673656874815,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"aLKXl1sBtiQRBMiJ","folder":null,"sort":0,"ownership":{"default":0,"Hp9ImM4o9YRTSdfu":3}}
|
||||
{"name":"Satum","type":"herbe","flags":{"core":{"sheetClass":"foundryvtt-reve-de-dragon.RdDItemSheet","sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.bBiHuMCom4B4nXBD"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Satum.webp","effects":[],"_id":"bBiHuMCom4B4nXBD","system":{"description":"<p>Également appelé nez de satin, le satum est une petite plante à feuille unique, douce et moirée comme le satin, poussant en toutes forêts, usuellement à l’orée des clairières. C’est une des herbes de base utilisées en alchimie.</p>\n<p>Commun.</p>\n<p> </p>\n<p><em>Voir Principes d’alchimie, p357.</em></p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0.03,"milieu":"Forêts","environnement":[{"milieu":"Forêts","rarete":"Commune","frequence":54}],"sust":0,"exotisme":0,"niveau":null,"base":0,"categorie":"Alchimie","rarete":"Commune"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708523,"modifiedTime":1673657676885,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Mascarade","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/poisson.webp","system":{"description":"<p>Poisson voisin de la tanche, dont les écailles dessinent un damier. Existe en plusieurs coloris, gris et noir (le plus fréquent), mais également de deux tons de vert, ou rose et violet, bleu et or</p>","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":0.03,"milieu":"","environnement":[{"milieu":"Cours d'eau","rarete":"Frequente","frequence":18}],"sust":2,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.5.4","coreVersion":"10.291","createdTime":1673656080829,"modifiedTime":1673656874816,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"bImpa1mSK9iqjGwt","folder":null,"sort":0,"ownership":{"default":0,"Hp9ImM4o9YRTSdfu":3}}
|
||||
{"name":"Chronophile","type":"herbe","flags":{"core":{"sheetClass":"foundryvtt-reve-de-dragon.RdDItemSheet","sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.c6Gdd4A0QCTEnp6o"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Chronophile.webp","effects":[],"_id":"c6Gdd4A0QCTEnp6o","system":{"description":"","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0.2,"milieu":"Forêts","environnement":[{"milieu":"Forêts","rarete":"Rare","frequence":6}],"sust":0,"exotisme":0,"niveau":null,"base":0,"categorie":"Alchimie","rarete":"Rare"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708523,"modifiedTime":1673657676876,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Névropenthe","type":"herbe","flags":{"core":{"sheetClass":"foundryvtt-reve-de-dragon.RdDItemSheet","sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.chm4mCNhQXwJEtNy"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/N%C3%A9vropenthe.webp","effects":[],"_id":"chm4mCNhQXwJEtNy","system":{"description":"<p>Plante foisonnante à grappes de feuilles rondes, dont le vert est souvent piqueté de points rouges. Pousse au coeur de toutes forêts à l’abri des fourrés et des ronciers. C’est une des herbes de base utilisées en alchimie.</p>\n<p>Rare.</p>\n<p> </p>\n<p><em style=\"box-sizing: border-box; user-select: text; color: #191813; font-family: GoudyAcc, sans-serif; text-align: justify;\">Voir Principes d’alchimie, p357.</em></p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0.06,"milieu":"Forêts","environnement":[{"milieu":"Forêts","rarete":"Rare","frequence":6}],"sust":0,"exotisme":0,"niveau":null,"base":0,"categorie":"Alchimie","rarete":"Rare"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708523,"modifiedTime":1673657676880,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Ortigal","type":"herbe","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.ckBk9H7jhFQC2IRX"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Ortigal.webp","effects":[],"_id":"ckBk9H7jhFQC2IRX","system":{"description":"<p><em>Herbe de soin.</em></p>\n<p>Plante aquatique des marais, aux petites feuilles rondes et luisantes, voisine du nénuphar.</p>\n<p>Fréquent.</p>\n<p> </p>\n<p><em>Voir Les herbes de soin, p100.</em></p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0.1,"milieu":"Marais","environnement":[{"milieu":"Marais","rarete":"Frequente","frequence":18}],"sust":0,"exotisme":0,"niveau":4,"base":0,"categorie":"Soin","rarete":"Frequente"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708524,"modifiedTime":1673657676882,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Loutre","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/raton-laveur.webp","system":{"description":"<p>Loutre. Rivage, 15 kg, 32 sust. Surtout recherchée pour sa peau.</p>","descriptionmj":"","encombrement":7.5,"quantite":1,"qualite":0,"cout":0,"milieu":"Rivages","environnement":[{"milieu":"Cours d'eau","rarete":"Rare","frequence":6}],"sust":32,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Item.LU5eutNQqwm52oOG"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1673657676879,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"d7n9u9OAELDLtAvJ","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Sanglier","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/sanglier.webp","system":{"description":"<p>Sanglier. Forêt, 150 kg, 360 sust (voir lecornicochon, p402).</p>","descriptionmj":"","encombrement":75,"quantite":1,"qualite":0,"cout":0,"milieu":"Forêt","environnement":[{"milieu":"Forêts","rarete":"Commune","frequence":54}],"sust":360,"exotisme":0,"categorie":"","actor":{"id":"VsEw24DEekBbU69Z","pack":"foundryvtt-reve-de-dragon.animaux","name":"Cornicochon"}},"effects":[],"flags":{"core":{"sourceId":"Item.LU5eutNQqwm52oOG"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1673657676884,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"dp28i9k5Mpjyr9jl","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Croupigne","type":"plante","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.dr2xZkUKaWa3Gjvr"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Croupigne.webp","effects":[],"_id":"dr2xZkUKaWa3Gjvr","system":{"description":"<p>Sorte de groseille rose pâle, poussant à l’orée des sous-bois et des clairières.</p><p>Pour l'empoisonnement, voir: @UUID[Compendium.foundryvtt-reve-de-dragon.maladies-et-poisons.Zsodttv3S6OPTJL4]{Croupigne}</p><p>Fréquente.</p>","descriptionmj":"","encombrement":0.02,"quantite":1,"qualite":0,"cout":0,"milieu":"Forêts","environnement":[{"milieu":"Forêts","rarete":"Frequente","frequence":18}],"sust":0,"exotisme":0,"niveau":null,"base":0,"categorie":"Poison","rarete":"Frequente"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708524,"modifiedTime":1673791794975,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Noisemûre","type":"plante","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.eB5Nhus3Ao4H8ePT"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Noisem%C3%BBre.webp","effects":[],"_id":"eB5Nhus3Ao4H8ePT","system":{"description":"<p>Fruit du noisemûrier, petit arbuste très ramifié vivant en sous-bois à l’ombre des plus grands arbres. La noisemûre a extérieurement l’apparence d’une grosse noisette à la coquille rougeâtre et granulée. Intérieurement, sa chair est tendre, juteuse et sucrée.</p>\n<p>Fréquente.</p>","descriptionmj":"","encombrement":0.02,"quantite":1,"qualite":0,"cout":0,"milieu":"Forêts","environnement":[{"milieu":"Forêts","rarete":"Frequente","frequence":18}],"sust":0.2,"exotisme":0,"niveau":0,"base":0,"categorie":"Cuisine","rarete":"Frequente"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708525,"modifiedTime":1673792081023,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Soldièze","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/soldieze.webp","system":{"description":"<p><span class=\"fontstyle0\">Gros poisson plat, telle une grande limande ou une sole d’eau douce.</span></p>","descriptionmj":"","encombrement":0.3,"quantite":1,"qualite":0,"cout":0.06,"milieu":"","environnement":[{"milieu":"Cours d'eau","rarete":"Frequente","frequence":18}],"sust":3,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.5.4","coreVersion":"10.291","createdTime":1673656080829,"modifiedTime":1673656874815,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"eEkKZKqoF0Pk0EUW","folder":null,"sort":0,"ownership":{"default":0,"Hp9ImM4o9YRTSdfu":3}}
|
||||
{"name":"Fricotille","type":"plante","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.eKrtkHj3EbYCZu8Y"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Fricotille.webp","effects":[],"_id":"eKrtkHj3EbYCZu8Y","system":{"description":"<p>Bolet à pied mince et blanc, et large chapeau pointu blanc à pois bleus.</p>\n<p>Fréquente.</p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0,"milieu":"Lieux sombres et humides","environnement":[{"milieu":"Forêts","rarete":"Frequente","frequence":18},{"milieu":"Sous-sols","rarete":"Frequente","frequence":18}],"sust":0,"exotisme":0,"niveau":3,"base":0,"categorie":"Cuisine","rarete":"Frequente"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708525,"modifiedTime":1673791979385,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Solimonce","type":"herbe","flags":{"core":{"sheetClass":"foundryvtt-reve-de-dragon.RdDItemSheet","sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.eqdFj8nT7JkibPvi"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Solimonce.webp","effects":[],"_id":"eqdFj8nT7JkibPvi","system":{"description":"<p>Variété d’ortie non urticante, poussant dans les lieux humides à l’abri de la lumière. Ses décoctions sont réputées souveraines contre les maladies des yeux.</p>\n<p>Rare.</p>\n<p> </p>\n<p><em>Voir Fièvre brune, p350.</em></p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0.3,"milieu":"Lieux humides","environnement":[{"milieu":"Cours d'eau","rarete":"Rare","frequence":4},{"milieu":"Forêts","rarete":"Rare","frequence":8},{"milieu":"Marais","rarete":"Rare","frequence":4},{"milieu":"Sous-sols","rarete":"Rare","frequence":8}],"sust":0,"exotisme":0,"niveau":null,"base":0,"categorie":"Soin","rarete":"Rare"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1669734708525,"modifiedTime":1676073818889,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Obbadion","type":"ingredient","img":"systems/foundryvtt-reve-de-dragon/icons/objets/l_obbadion.webp","effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.69vN8bRlnCrRHQCm"}},"system":{"description":"<p>Poudre bleuâtre obtenue par disruption alchimique du minerai appelé <em>obbadine</em>, sorte de tourbe.</p>\n<p>VUE/Alchimie à -2</p>","descriptionmj":"","encombrement":0.001,"quantite":1,"qualite":0,"cout":0.2,"milieu":"Lieux humides, obtenu à partir d'Obbadine (tourbe)","environnement":[{"milieu":"Cours d'eau","rarete":"Frequente","frequence":18},{"milieu":"Plaines","rarete":"Frequente","frequence":18},{"milieu":"Sous-sols","rarete":"Frequente","frequence":18}],"sust":0,"exotisme":0,"niveau":0,"base":0,"categorie":"Alchimie","rarete":""},"ownership":{"default":0,"rYShh2P1DNavdoBD":3,"Hp9ImM4o9YRTSdfu":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1668808206016,"modifiedTime":1673657676880,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"folder":null,"sort":0,"_id":"f4TPpX03pJuyBkuX"}
|
||||
{"name":"Frimart","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/oiseau.webp","system":{"description":"<p>Frimart. Plaine, forêt, rivage, 3 kg, 7 sust. Nom parfois donné au noisot mâle quand il est particulièrement énervé (voir ci-dessous).</p>","descriptionmj":"","encombrement":1.5,"quantite":1,"qualite":0,"cout":0,"milieu":"Forêt, Plaine, Rivage","environnement":[{"milieu":"Cours d'eau","rarete":"Frequente","frequence":18},{"milieu":"Forêts","rarete":"Frequente","frequence":18},{"milieu":"Plaines","rarete":"Frequente","frequence":18}],"sust":7,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.hajrJoywOF9iodSL"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1673657676878,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"hajrJoywOF9iodSL","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Crampe","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/oie.webp","system":{"description":"<p>Crampe. Forêt, plaine, 10 kg, 25 sust. Lacrampe est une grosse dinde sauvage vi-vant en lisière de forêt ou en sous-bois peu épais. La crampe passe sa vie à essayer deprendre son envol, ce qu’elle ne réussit querarement et pour quelques mètres. À forcede battre inutilement des ailes, les cram-pes s’écroulent périodiquement, en proie à de terribles douleurs musculaires. C’est évidemment à ce moment qu’elles sont les plus vulnérables – ce que n’ignorent pas les prédateurs patients.</p>","descriptionmj":"","encombrement":5,"quantite":1,"qualite":0,"cout":0,"milieu":"Foret, Plaine","environnement":[{"milieu":"Forêts","rarete":"Commune","frequence":54},{"milieu":"Plaines","rarete":"Commune","frequence":46}],"sust":25,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.i2tLFSbg4nXtcD6q"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1673657676877,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"i2tLFSbg4nXtcD6q","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Cerf","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/cerf.webp","system":{"description":"<p>(voir le bramart, p400).</p>","descriptionmj":"","encombrement":75,"quantite":1,"qualite":0,"cout":0,"milieu":"Forêt","environnement":[{"milieu":"Forêts","rarete":"Rare","frequence":6}],"sust":370,"exotisme":0,"categorie":"","actor":{"id":"zMvyRrp10dkfcS43","pack":"foundryvtt-reve-de-dragon.animaux","name":"Bramart"}},"effects":[],"flags":{"core":{"sourceId":"Item.LU5eutNQqwm52oOG"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1673657676876,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"iSVgVsoXJ7Z1kuqX","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Trésure","type":"plante","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.jOCPgZmP3aZtMGdi"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Tr%C3%A9sure.webp","effects":[],"_id":"jOCPgZmP3aZtMGdi","system":{"description":"<p>Fruit du trésurier, buisson épineux de la famille des ronces poussant principalement en montagne. La trésure est une grosse framboise de la taille d’une mandarine, rouge foncé avec un jus noir. Non seulement délicieuse, la trésure est nourrissante et énergétique. Chaque fruit vaut 3 points de sustentation et défatigue instantanément comme après une heure de sommeil. En termes de jeu, effacer un segment comme si l’on venait de dormir une heure. Enfin, faire suivre un repas de trésures (qu’il soit composé d’un ou plusieurs fruits) d’un jet de moral en situation heureuse. Une fois cueillies, les trésures ne se conservent pas plus de 12 heures, et même leur jus n’a plus aucune valeur. Véritables plantes miraculeuses, les trésuriers portent des fruits d’un bout de l’année à l’autre, même en hiver sous la neige.</p>\n<p>Rare.</p>","descriptionmj":"","encombrement":0.05,"quantite":1,"qualite":0,"cout":0,"milieu":"Montagnes","environnement":[{"milieu":"Montagnes","rarete":"Rare","frequence":6}],"sust":3,"exotisme":0,"niveau":0,"base":0,"categorie":"Cuisine","rarete":"Rare"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708526,"modifiedTime":1673792162950,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Genèfle","type":"plante","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.jbkZ9j04AAIAVBuG"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Gen%C3%A8fle.webp","effects":[],"_id":"jbkZ9j04AAIAVBuG","system":{"description":"<p>Fruit du genèflier, arbuste buissonneux vivant en plaine. La genèfle est très semblable à la clopinette, mais avec une peau plus nacrée.</p><p>Pour l'empoisonnement, voir: @UUID[Compendium.foundryvtt-reve-de-dragon.maladies-et-poisons.jl0MvAcVRo63LWg3]{Genèfle}</p><p>Commune.</p>","descriptionmj":"","encombrement":0.02,"quantite":1,"qualite":0,"cout":0,"milieu":"Plaines","environnement":[{"milieu":"Plaines","rarete":"Commune","frequence":54}],"sust":0,"exotisme":0,"niveau":null,"base":0,"categorie":"Poison","rarete":"Commune"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708526,"modifiedTime":1673791933220,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Murus","type":"herbe","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.jjVl1PTFgTGdIfZf"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Murus.webp","effects":[],"_id":"jjVl1PTFgTGdIfZf","system":{"description":"<p><em>Herbe de soin.</em></p>\n<p>Sorte de minuscule chardon aux feuilles vert violacé, s’accrochant aux rochers escarpés. Son principe actif est contenu dans ses piquants.</p>\n<p>Rare.</p>\n<p> </p>\n<p><em>Voir Les herbes de soin, p100.</em></p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0.6,"milieu":"Rochers escarpés","environnement":[{"milieu":"Montagnes","rarete":"Rare","frequence":6}],"sust":0,"exotisme":0,"niveau":8,"base":0,"categorie":"Soin","rarete":"Rare"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708526,"modifiedTime":1673657676880,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Tanemiel","type":"herbe","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.jqUrbSHwFr5kPW3q"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Tanemiel.webp","effects":[],"_id":"jqUrbSHwFr5kPW3q","system":{"description":"<p><em>Herbe de soin.</em></p>\n<p>Plante grimpante, dotée de vrilles, voisine du liseron, de couleur vert laiteux presque blanc, s’accrochant aux arbres des forêts chaudes et humides.</p>\n<p>Rare.</p>\n<p> </p>\n<p><em>Voir Les herbes de soin, p100.</em></p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0.9,"milieu":"Forêts chaudes et humides","environnement":[{"milieu":"Forêts","rarete":"Rare","frequence":6}],"sust":0,"exotisme":0,"niveau":9,"base":0,"categorie":"Soin","rarete":"Rare"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708526,"modifiedTime":1673657676886,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Mercurion","type":"herbe","flags":{"core":{"sheetClass":"foundryvtt-reve-de-dragon.RdDItemSheet","sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.k1l253yvSebgc7Xq"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Mercurion.webp","effects":[],"_id":"k1l253yvSebgc7Xq","system":{"description":"<p>Lierre noirâtre s’accrochant aux arbres des forêts, principalement les chênes. C’est une des herbes de base utilisées en alchimie.</p>\n<p>Commun. <br /><br /><em>Voir Principes d’alchimie, p357.</em></p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0.02,"milieu":"Forêts de chênes","environnement":[{"milieu":"Forêts","rarete":"Commune","frequence":54}],"sust":0,"exotisme":0,"niveau":null,"base":0,"categorie":"Alchimie","rarete":"Commune"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708526,"modifiedTime":1673657676880,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Mercureuil","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/andurak.webp","system":{"description":"<p>Mercureuil. Forêt, 20 kg, 50 sust. Petit cervidé au pelage gris clair à reflets métalliques, cousin du chevreuil. Le mercureuil est d’une rapidité inouïe quand il détale, à tel point que prédateurs et chasseurs necherchent même pas à le rattraper quandils n’ont pas réussi à le surprendre au dé-part. On l’appelle parfois « vif-argent ».</p>","descriptionmj":"","encombrement":10,"quantite":1,"qualite":0,"cout":0,"milieu":"Forêts","environnement":[{"milieu":"Forêts","rarete":"Rare","frequence":6}],"sust":50,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Item.LU5eutNQqwm52oOG"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1673657676880,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"kOeEn53AidfvJmIG","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Boralm","type":"ingredient","img":"systems/foundryvtt-reve-de-dragon/icons/objets/boralm.webp","effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.0ylGrNMzulUaKFP9"}},"system":{"description":"<p>Poudre brune apparaissant sur les parois des grottes.</p>\n<p>VUE/Alchimie à -1.</p>","descriptionmj":"","encombrement":0.001,"quantite":1,"qualite":0,"cout":0.03,"milieu":"Cavernes","environnement":[{"milieu":"Sous-sols","rarete":"Commune","frequence":54}],"sust":0,"exotisme":0,"niveau":0,"base":0,"categorie":"Alchimie","rarete":""},"ownership":{"default":0,"rYShh2P1DNavdoBD":3,"Hp9ImM4o9YRTSdfu":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1668808206013,"modifiedTime":1673657676875,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"folder":null,"sort":0,"_id":"kbWKsR0HovidPw6d"}
|
||||
{"name":"Arrache-rêve","type":"plante","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.koLhmV2g0Z2tQZiB"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Arrache-r%C3%AAve.webp","effects":[],"_id":"koLhmV2g0Z2tQZiB","system":{"description":"<p>Le plus virulent des champignons vénéneux après l’amanite thanataire, procurant une agonie des plus douloureuses. Ressemble à cette dernière, avec un chapeau en boule au lieu de plat et galbé.</p><p>Pour l'empoisonnement, voir: @UUID[Compendium.foundryvtt-reve-de-dragon.maladies-et-poisons.Rl5jadqNYTxzn6Ns]{Arrache-rêve}</p><p>Fréquent.</p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0,"milieu":"Lieux sombres et humides","environnement":[{"milieu":"Forêts","rarete":"Frequente","frequence":18},{"milieu":"Sous-sols","rarete":"Rare","frequence":6}],"sust":0,"exotisme":0,"niveau":0,"base":0,"categorie":"Poison","rarete":"Frequente"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708527,"modifiedTime":1673791293977,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Sajutte","type":"herbe","flags":{"core":{"sheetClass":"foundryvtt-reve-de-dragon.RdDItemSheet","sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.l5G3NrS8USofuBK8"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Sajutte.webp","effects":[],"_id":"l5G3NrS8USofuBK8","system":{"description":"<p><em style=\"box-sizing: border-box; user-select: text;\">Herbe de repos.</em></p>\n<p>Petite herbe à sève blanche, très poisseuse, poussant aussi bien en forêt qu'en plaine, qu'en marais (Plus rare en montagne).</p>\n<p>Commune.</p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0.02,"milieu":"Tous (plus rare en montagne)","environnement":[{"milieu":"Collines","rarete":"Commune","frequence":54},{"milieu":"Cours d'eau","rarete":"Commune","frequence":54},{"milieu":"Déserts","rarete":"Commune","frequence":54},{"milieu":"Forêts","rarete":"Commune","frequence":54},{"milieu":"Marais","rarete":"Commune","frequence":54},{"milieu":"Montagnes","rarete":"Frequente","frequence":18},{"milieu":"Plaines","rarete":"Commune","frequence":54}],"sust":0,"exotisme":0,"niveau":1,"base":0,"categorie":"Repos","rarete":"Commune"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708527,"modifiedTime":1673657676884,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Corne de rêve","type":"plante","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.lDZbDKaPQGvqzK1k"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Corne%20de%20r%C3%AAve.webp","effects":[],"_id":"lDZbDKaPQGvqzK1k","system":{"description":"<p>Champignon en forme de conque violet sombre.</p>\n<p>Rarissime.</p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":5,"cout":0,"milieu":"Lieux sombres et humides","environnement":[{"milieu":"Forêts","rarete":"Rarissime","frequence":3},{"milieu":"Sous-sols","rarete":"Rarissime","frequence":2}],"sust":1,"exotisme":0,"niveau":5,"base":0,"categorie":"Cuisine","rarete":"Rarissime"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708527,"modifiedTime":1673791756580,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Amanite Thanataire","type":"plante","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.m01q5bqTSKOJLSkY"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Amanite%20thanataire.webp","effects":[],"_id":"m01q5bqTSKOJLSkY","system":{"description":"<p>L’un des plus beaux, mais également le plus foudroyant des champignons vénéneux. Pied et volve élégamment proportionnés, chapeau arrondi à peine galbé, le tout paré d’une somptueuse teinte blanc argenté parsemée de points noirs.</p><p>Pour l'empoisonnement, voir: @UUID[Compendium.foundryvtt-reve-de-dragon.maladies-et-poisons.sriGtgt3FQkc642z]{Amanite thanataire}</p><p>Fréquente.</p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0,"milieu":"Lieux sombres et humides","environnement":[{"milieu":"Forêts","rarete":"Frequente","frequence":18},{"milieu":"Sous-sols","rarete":"Rare","frequence":6}],"sust":0,"exotisme":0,"niveau":0,"base":0,"categorie":"Poison","rarete":"Frequente"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708527,"modifiedTime":1673791287389,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Obyssum gris","type":"ingredient","img":"systems/foundryvtt-reve-de-dragon/icons/objets/l_obyssum_gris.webp","effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.nIOEB0PpMaACqD65"}},"system":{"description":"<p>Plus rare que le vert, poudre grisâtre apparaissant le long de certaines lianes des marais.</p>\n<p>VUE/Alchimie à -4</p>","descriptionmj":"","encombrement":0.001,"quantite":1,"qualite":0,"cout":0.1,"milieu":"Marais","environnement":[{"milieu":"Marais","rarete":"Rare","frequence":12}],"sust":0,"exotisme":0,"niveau":0,"base":0,"categorie":"Alchimie","rarete":""},"ownership":{"default":0,"rYShh2P1DNavdoBD":3,"Hp9ImM4o9YRTSdfu":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1668808206114,"modifiedTime":1673657676880,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"folder":null,"sort":0,"_id":"m9ONkzH9KwLk3P3i"}
|
||||
{"name":"Pistouche","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/fretin.webp","system":{"description":"<p><span class=\"fontstyle0\">Gros gardon hésitant, mordillant cent fois l’appât avant de se décider (ou pas).</span> <br style=\" font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; \"></p>","descriptionmj":"","encombrement":0.07,"quantite":1,"qualite":0,"cout":0.01,"milieu":"","environnement":[{"milieu":"Cours d'eau","rarete":"Frequente","frequence":18}],"sust":0.7,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.5.4","coreVersion":"10.291","createdTime":1673656080829,"modifiedTime":1673656874816,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"mNI6Ad8RHRNIHhKS","folder":null,"sort":0,"ownership":{"default":0,"Hp9ImM4o9YRTSdfu":3}}
|
||||
{"name":"Castor","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/raton-laveur.webp","system":{"description":"<p>Surtoutrecherché pour sa peau.</p>","descriptionmj":"","encombrement":5,"quantite":1,"qualite":0,"cout":0,"milieu":"Rivages","environnement":[{"milieu":"Cours d'eau","rarete":"Frequente","frequence":18}],"sust":20,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Item.LU5eutNQqwm52oOG"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1673657676876,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"msoR9RkqOQhKVsJa","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Héron","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/oiseau.webp","system":{"description":"<p>Héron. Rivage, 5 kg, 14 sust.</p>","descriptionmj":"","encombrement":2.5,"quantite":1,"qualite":0,"cout":0,"milieu":"Rivage","environnement":[{"milieu":"Cours d'eau","rarete":"Frequente","frequence":18}],"sust":14,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.muY8ZmwvnfsCrhLi"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1673657676879,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"muY8ZmwvnfsCrhLi","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Lune de mer","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/coquillage-pointe.webp","system":{"description":"<p>Échinoderme de la même famille que l’étoile de mer, mais en forme de croissant de lune. À cuire de préférence dans de l’eau de mer fortement additionnée de vinaigre.</p>","descriptionmj":"","encombrement":0.1,"quantite":1,"qualite":0,"cout":0,"milieu":"","environnement":[{"milieu":"Maritimes","rarete":"Frequente","frequence":18}],"sust":0.1,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.nWRV7y6qGn9xHzHc"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1670616085735,"modifiedTime":1673657676880,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"folder":null,"sort":0,"ownership":{"default":0,"Hp9ImM4o9YRTSdfu":3},"_id":"nWRV7y6qGn9xHzHc"}
|
||||
{"name":"Méritoine","type":"herbe","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.nuOClbQwu6SLucJn"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/M%C3%A9ritoine.webp","effects":[],"_id":"nuOClbQwu6SLucJn","system":{"description":"<p><em>Herbe de soin.</em></p>\n<p>Plante rampante et ramifiée, aux minuscules feuilles vert pâle, s’accrochant aux troncs de certains conifères.</p>\n<p>Fréquente.</p>\n<p> </p>\n<p><em>Voir Les herbes de soin, p100.</em></p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0.06,"milieu":"Forêts de conifères","environnement":[{"milieu":"Forêts","rarete":"Frequente","frequence":18},{"milieu":"Montagnes","rarete":"Frequente","frequence":18}],"sust":0,"exotisme":0,"niveau":3,"base":0,"categorie":"Soin","rarete":"Frequente"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708527,"modifiedTime":1673657676880,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Grognuche","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/raton-laveur.webp","system":{"description":"<p>Grognuche. Rivage, 8 kg, 18 sust. La grognuche doit son nom à ses perpétuels<br>grognements d’insatisfaction. C’est un gros raton-laveur à nez de tapir. Surtout<br>recherchée pour sa peau.</p>","descriptionmj":"","encombrement":4,"quantite":1,"qualite":0,"cout":0,"milieu":"Rivage","environnement":[{"milieu":"Forêts","rarete":"Rare","frequence":6}],"sust":18,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Item.LU5eutNQqwm52oOG"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1673657676878,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"oT0Oryp8kUzBIXZN","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Daim","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/andurak.webp","system":{"description":"<p>Daim. Forêt, 60 kg, 140 sust.</p>","descriptionmj":"","encombrement":30,"quantite":1,"qualite":0,"cout":0,"milieu":"Forêt","environnement":[{"milieu":"Forêts","rarete":"Frequente","frequence":18}],"sust":140,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Item.LU5eutNQqwm52oOG"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1673657676877,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"p8Au8fNL2Lt4DJtb","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Hérisson","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/rongeur.webp","system":{"description":"<p>Hérisson. Forêt, plaine, 1 kg, 2 sust. Attention, ça pique.</p>","descriptionmj":"","encombrement":0.5,"quantite":1,"qualite":0,"cout":0,"milieu":"Forets","environnement":[{"milieu":"Forêts","rarete":"Commune","frequence":54}],"sust":2,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Item.LU5eutNQqwm52oOG"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1673657676879,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"pMYcfBjUVEv3wP7M","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Ossiphage","type":"herbe","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.pa0yqGaJX9x6kvKa"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Ossiphage.webp","effects":[],"_id":"pa0yqGaJX9x6kvKa","system":{"description":"<p>Également appelée <em>suceuse d’os</em>, c’est une liane rampante à feuilles triangulaires de couleur violacée. Chaque feuille est dotée de trois longs piquants, un à chaque pointe de son triangle. Son venin est si foudroyant que la victime n’a souvent pas le temps d’aller bien loin et meurt empêtrée dans la liane. Il arrive que l’on découvre un squelette entier au coeur d’un bouquet d’ossiphage, chaque os maintenu en place par les vrilles de la plante.</p><p>En cas de contact, voir: @UUID[Compendium.foundryvtt-reve-de-dragon.maladies-et-poisons.HB057aVUY1GylYxw]{Ossiphage}</p><p>Rare.</p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0,"milieu":"Forêts","environnement":[{"milieu":"Forêts","rarete":"Rare","frequence":6}],"sust":0,"exotisme":0,"niveau":0,"base":0,"categorie":"Toxique","rarete":"Rare"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708527,"modifiedTime":1673792376897,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Faux murus","type":"herbe","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.q6DoYNlSp6SEr5hj"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Faux%20murus.webp","effects":[],"_id":"q6DoYNlSp6SEr5hj","system":{"description":"<p><em>Herbe de soin.</em></p>\n<p>Variété de murus poussant en prairie de montagne.</p>\n<p>Rare.</p>\n<p> </p>\n<p><em>Voir Les herbes de soin, p100.</em></p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0.4,"milieu":"Prairies de montagnes","environnement":[{"milieu":"Montagnes","rarete":"Rare","frequence":6}],"sust":0,"exotisme":0,"niveau":7,"base":0,"categorie":"Soin","rarete":"Rare"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708527,"modifiedTime":1673657676878,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Ortigal rose","type":"herbe","flags":{"core":{"sheetClass":"foundryvtt-reve-de-dragon.RdDItemSheet","sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.rXGa2Mx1ttMETTXo"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Ortigal%20rose.webp","effects":[],"_id":"rXGa2Mx1ttMETTXo","system":{"description":"<p><em>Herbe de repos.</em></p>\n<p>Variété d'ortigal dont l'extrémité des feuilles est toute piquetée de points roses. Comme les autres ortigals, ne pousse qu'en lieux très humides, principalement en marais.</p>\n<p>Fréquent.</p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0.1,"milieu":"Lieux très humides","environnement":[{"milieu":"Cours d'eau","rarete":"Rare","frequence":9},{"milieu":"Marais","rarete":"Frequente","frequence":18}],"sust":0,"exotisme":0,"niveau":3,"base":0,"categorie":"Repos","rarete":"Frequente"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708528,"modifiedTime":1673657676883,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Clopinette","type":"plante","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.rkTRMgL8pFygYagr"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Clopinettes.webp","effects":[],"_id":"rkTRMgL8pFygYagr","system":{"description":"<p>Fruit du clopinier, petit arbuste buissonneux semblable au genêt. Les clopinettes poussent en grappes nombreuses de petites baies rondes d’un blanc presque translucide. Peu juteuses, elles sont d’un goût neutre, non sucré, même pas âpre, et sont d’un pouvoir nutritif ridiculement faible (3 livres pour 1 sust). Poussant de préférence en plaine, y compris à l’abord des villages, elles sont ordinairement dédaignées des autochtones, même des animaux sauvages. On les laisse aux voyageurs. Pour cette raison, elles sont parfois appelées baies des voyageurs.</p>\n<p>Commune.</p>","descriptionmj":"","encombrement":0.01,"quantite":1,"qualite":0,"cout":0,"milieu":"Plaines","environnement":[{"milieu":"Cours d'eau","rarete":"Commune","frequence":108},{"milieu":"Plaines","rarete":"Commune","frequence":108}],"sust":0.003,"exotisme":0,"niveau":0,"base":0,"categorie":"Cuisine","rarete":"Frequente"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708528,"modifiedTime":1673791453797,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Lièvre de Mars","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/lapin.webp","system":{"description":"<p>Lièvre de Mars. Forêt, plaine, 10 kg, 20 sust. Variété de klampin de très grande<br>taille, cet animal adopte un comportement bizarre quand il se sent en danger, notamment en présence de chasseurs. Il peut se dresser sur ses pattes postérieures<br>et tenter de s’éloigner subrepticement à reculons, faire le poirier pour feindre<br>précisément qu’il est un arbre, ou émettre des borborygmes dans lesquels cer-<br>tains ont cru entendre : « Quoi de neuf, docteur ? » L’origine de son nom est un<br>mystère attendu que ce n’est même pas un lièvre pour commencer.</p>","descriptionmj":"","encombrement":5,"quantite":1,"qualite":0,"cout":0,"milieu":"Plaines, Forrets","environnement":[{"milieu":"Forêts","rarete":"Rare","frequence":6},{"milieu":"Plaines","rarete":"Rare","frequence":6}],"sust":20,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Item.LU5eutNQqwm52oOG"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1673657676879,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"tBObmayQYLiSGzYF","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Sarcelle","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/oiseau.webp","system":{"description":"<p>Sarcelle. Plaine, 300 g, 1 sust.</p>","descriptionmj":"","encombrement":0.15,"quantite":1,"qualite":0,"cout":0,"milieu":"Plaine","environnement":[{"milieu":"Plaines","rarete":"Commune","frequence":71}],"sust":1,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.tYGOEogHcLqNkS4c"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1673657676884,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"tYGOEogHcLqNkS4c","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Bélidane","type":"herbe","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.vnq7HONrBm90g2gY"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/B%C3%A9lidane.webp","effects":[],"_id":"vnq7HONrBm90g2gY","system":{"description":"<p><em>Herbe de soin.</em></p>\n<p>Herbacée aux feuilles fines et dentelées comme celle de la ciguë. Ne pousse que sur les versants de collines ensoleillées.</p>\n<p>Fréquente.</p>\n<p> </p>\n<p><em>Voir Les herbes de soin, p100.</em></p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0.3,"milieu":"Collines ensoleillées","environnement":[{"milieu":"Collines","rarete":"Frequente","frequence":18}],"sust":0,"exotisme":0,"niveau":6,"base":0,"categorie":"Soin","rarete":"Frequente"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708528,"modifiedTime":1673657676875,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Blèmissure","type":"plante","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.wNBWvJSd9i1zHspR"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Bl%C3%A8missure.webp","effects":[],"_id":"wNBWvJSd9i1zHspR","system":{"description":"<p>Champignon affectant la forme d’une éponge, de couleur gris blême, apparaissant sur les troncs des arbres.</p><p>Pour l'empoisonnement, voir: @UUID[Compendium.foundryvtt-reve-de-dragon.maladies-et-poisons.JYMeJz8mxyI2oYIj]{Blèmissure}</p><p>Fréquente.</p>","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0,"milieu":"Forêts sombres et humides","environnement":[{"milieu":"Forêts","rarete":"Frequente","frequence":18}],"sust":0,"exotisme":0,"niveau":0,"base":0,"categorie":"Poison","rarete":"Frequente"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1669734708528,"modifiedTime":1673791316842,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Bécasse","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/oie.webp","system":{"description":"<p>Bécasse. Plaine, 400 g, 1 sust.</p>","descriptionmj":"","encombrement":0.2,"quantite":1,"qualite":0,"cout":0,"milieu":"Plaine","environnement":[{"milieu":"Plaines","rarete":"Frequente","frequence":15}],"sust":1,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.wWdH55gh9ErhJGgt"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1673657676875,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"wWdH55gh9ErhJGgt","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
{"name":"Ortigal glauque","type":"herbe","img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Ortigal%20noir.webp","system":{"description":"","descriptionmj":"","encombrement":0,"quantite":1,"qualite":0,"cout":0,"milieu":"Plante aquatique","environnement":[{"milieu":"Cours d'eau","rarete":"Frequente","frequence":27},{"milieu":"Marais","rarete":"Commune","frequence":54}],"sust":0,"exotisme":0,"niveau":0,"base":0,"categorie":"Alchimie"},"effects":[],"flags":{"core":{"sourceId":"Item.wjvaEK4Bq2TwKCFH"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1670017184070,"modifiedTime":1673657676882,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"wjvaEK4Bq2TwKCFH","folder":null,"sort":0,"ownership":{"default":0,"Hp9ImM4o9YRTSdfu":3}}
|
||||
{"name":"Herbe de lune","type":"herbe","flags":{"core":{"sheetClass":"foundryvtt-reve-de-dragon.RdDItemSheet","sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.x4wGXTdmrzaOn8Sh"}},"img":"systems/foundryvtt-reve-de-dragon/icons/botanique/Herbe%20de%20lune.webp","effects":[],"_id":"x4wGXTdmrzaOn8Sh","system":{"description":"<p>Petite herbacée aux feuilles en forme de polygone à 7 côtés, d’un bleu très pâle, presque translucide, ne poussant qu’en haute montagne, à partir de 2000 mètres, et uniquement dans les recoins pouvant être éclairés par la lune. <br /><br />L’herbe de lune possède un fort pouvoir onirique sur celui qui la consomme\"; en termes de jeu, elle permet de gagner des points de rêve. Elle doit être cueillie de nuit et lorsque la lune l’éclaire, faute de quoi son pouvoir est nul. Sa force dépend de la phase lunaire durant laquelle elle est cueillie. <br /><br />Une fois séchée, l’herbe de lune peut être fumée dans une pipe ou préparée en décoction. Dans les deux cas, une dose doit être composée de 7 brins. Dès la dose absorbée (bue ou fumée), le consommateur doit jouer un JR r-force, c’est-à-dire un jet de points de rêve ajusté négativement à la force de l’herbe. Si le JR réussit, aucun effet ne se produit\"; s’il échoue, le consommateur gagne immédiatement un nombre de points de rêve égal à la force de l’herbe, puis en échange, marque un nombre identique de points de fatigue. On peut ainsi gagner des points de rêve même si le seuil de rêve est dépassé, mais se souvenir que dépasser le triple de son seuil provoque l’éclatement. <br /><br />L’herbe de lune est parfois trouvable chez les herboristes, mais n’est pas bon marché. Une dose (7 brins) vaut usuellement un nombre de sols égal à sa force. Une dose de force 6 vaut ainsi 6 sols. <br />Rare.</p>","descriptionmj":"","encombrement":0,"quantite":7,"qualite":0,"cout":3,"milieu":"Hautes montagnes","environnement":[{"milieu":"Montagnes","rarete":"Rare","frequence":6}],"sust":0,"exotisme":0,"niveau":3,"base":0,"categorie":"Autre","rarete":"Rare"},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.15","coreVersion":"10.291","createdTime":1669734708528,"modifiedTime":1676073898671,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"}}
|
||||
{"name":"Corbeau","type":"faune","img":"systems/foundryvtt-reve-de-dragon/icons/faune/oiseau.webp","system":{"description":"<p>Corbeau. Plaine, 4 kg, 8 sust.</p>","descriptionmj":"","encombrement":2,"quantite":1,"qualite":0,"cout":0,"milieu":"Plaine","environnement":[{"milieu":"Plaines","rarete":"Commune","frequence":71}],"sust":8,"exotisme":0,"categorie":"","actor":{"id":"","pack":"","name":""}},"effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.faune-flore-mineraux.ySY57JWhYS7PWBXv"}},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.6.0","coreVersion":"10.291","createdTime":1670580597921,"modifiedTime":1673657676876,"lastModifiedBy":"Hp9ImM4o9YRTSdfu"},"_id":"ySY57JWhYS7PWBXv","folder":null,"sort":0,"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3}}
|
||||
|
||||