Compare commits
20 Commits
foundryvtt
...
foundryvtt
| Author | SHA1 | Date | |
|---|---|---|---|
| 73718070cf | |||
| 091ce15dce | |||
|
|
cdde7c5f2f | ||
|
|
eb0afffbd6 | ||
| 6b0c7f4d38 | |||
| dd2109735d | |||
|
|
0b192d66c3 | ||
|
|
472cbb372e | ||
|
|
8d2e7fd0c8 | ||
|
|
c8526a2270 | ||
|
|
8b6abcc8bb | ||
|
|
468982b07b | ||
|
|
95179ffff2 | ||
|
|
884733e54b | ||
| a2d4b1049e | |||
| 3ce3898326 | |||
|
|
32fc0019d5 | ||
|
|
f3f928e43f | ||
|
|
374a0e1846 | ||
|
|
1e5a99e009 |
@@ -16,7 +16,6 @@
|
||||
"TypeTarot": "Carte de tarot",
|
||||
"TypeCasetmr": "TMR spéciale",
|
||||
"TypeRencontre": "Rencontre TMR",
|
||||
"TypeRencontrestmr": "Rencontre TMR (ancien)",
|
||||
"TypeMunition": "Munition",
|
||||
"TypeMonnaie": "Monnaie",
|
||||
"TypeHerbe": "Herbe ou plante",
|
||||
@@ -43,7 +42,8 @@
|
||||
"TypeSouffle": "Souffle de Dragon",
|
||||
"TypeTete": "Tête de Dragon",
|
||||
"TypePossession": "Possession",
|
||||
"TypeSortreserve": "Sort en réserve"
|
||||
"TypeSortreserve": "Sort en réserve",
|
||||
"TypeExtraitpoetique": "Extrait poetique"
|
||||
},
|
||||
"EFFECT": {
|
||||
"StatusStunned": "Sonné",
|
||||
|
||||
@@ -29,7 +29,6 @@ import { Monnaie } from "./item-monnaie.js";
|
||||
import { DialogConsommer } from "./dialog-item-consommer.js";
|
||||
import { DialogFabriquerPotion } from "./dialog-fabriquer-potion.js";
|
||||
import { RollDataAjustements } from "./rolldata-ajustements.js";
|
||||
import { DialogItemAchat } from "./dialog-item-achat.js";
|
||||
import { RdDItem } from "./item.js";
|
||||
import { RdDPossession } from "./rdd-possession.js";
|
||||
import { ENTITE_BLURETTE, ENTITE_INCARNE, ENTITE_NONINCARNE, HIDE_DICE, SHOW_DICE, SYSTEM_RDD, SYSTEM_SOCKET_ID } from "./constants.js";
|
||||
@@ -2349,7 +2348,7 @@ export class RdDActor extends Actor {
|
||||
const dialog = await RdDRoll.create(this, rollData,
|
||||
{
|
||||
html: 'systems/foundryvtt-reve-de-dragon/templates/dialog-roll-sort.html',
|
||||
options: { height: 600 },
|
||||
options: { height: 'fit-content' },
|
||||
close: html => { this.currentTMR.maximize() } // Re-display TMR
|
||||
},
|
||||
{
|
||||
@@ -2674,7 +2673,7 @@ export class RdDActor extends Actor {
|
||||
const dialog = await RdDRoll.create(this, artData,
|
||||
{
|
||||
html: `systems/foundryvtt-reve-de-dragon/templates/dialog-roll-${oeuvre.type}.html`,
|
||||
options: { height: 500, }
|
||||
options: { height: 'fit-content', }
|
||||
},
|
||||
{
|
||||
name: `jet-${artData.art}`,
|
||||
@@ -2814,7 +2813,7 @@ export class RdDActor extends Actor {
|
||||
const dialog = await RdDRoll.create(this, meditationData,
|
||||
{
|
||||
html: 'systems/foundryvtt-reve-de-dragon/templates/dialog-roll-meditation.html',
|
||||
options: { height: 575, }
|
||||
options: { height: 'fit-content', }
|
||||
},
|
||||
{
|
||||
name: 'jet-meditation',
|
||||
@@ -2891,7 +2890,7 @@ export class RdDActor extends Actor {
|
||||
const dialog = await RdDRoll.create(this, rollData,
|
||||
{
|
||||
html: 'systems/foundryvtt-reve-de-dragon/templates/dialog-roll-signedraconique.html',
|
||||
options: { height: 600 },
|
||||
options: { height: 'fit-content' },
|
||||
close: html => { this.currentTMR.maximize() } // Re-display TMR
|
||||
},
|
||||
{
|
||||
@@ -3200,11 +3199,12 @@ export class RdDActor extends Actor {
|
||||
signes: this.listItemsData("signedraconique"),
|
||||
caracReve: this.system.carac.reve.value,
|
||||
pointsReve: this.getReveActuel(),
|
||||
isRapide: isRapide
|
||||
isRapide: isRapide,
|
||||
isGM: game.user.isGM,
|
||||
hasPlayerOwner: this.hasPlayerOwner
|
||||
}
|
||||
|
||||
let html = await renderTemplate('systems/foundryvtt-reve-de-dragon/templates/dialog-tmr.html', tmrFormData);
|
||||
this.currentTMR = await RdDTMRDialog.create(html, this, tmrFormData);
|
||||
this.currentTMR = await RdDTMRDialog.create(this, tmrFormData);
|
||||
this.currentTMR.render(true);
|
||||
}
|
||||
|
||||
@@ -3658,7 +3658,6 @@ export class RdDActor extends Actor {
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
const acheteur = achat.acheteurId ? game.actors.get(achat.acheteurId) : undefined;
|
||||
const vendeur = achat.vendeurId ? game.actors.get(achat.vendeurId) : undefined;
|
||||
const vente = achat.vente;
|
||||
@@ -3724,6 +3723,7 @@ export class RdDActor extends Actor {
|
||||
vente["properties"] = new RdDItem(vente.item).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);
|
||||
}
|
||||
|
||||
@@ -35,7 +35,7 @@ export class DialogChronologie extends Dialog {
|
||||
const options = {
|
||||
classes: ["DialogChronologie"],
|
||||
width: 500,
|
||||
height: 350,
|
||||
height: 'fit-content',
|
||||
'z-index': 99999
|
||||
};
|
||||
const conf = {
|
||||
@@ -43,8 +43,7 @@ export class DialogChronologie extends Dialog {
|
||||
content: html,
|
||||
buttons: {
|
||||
ajout: { label: "Ajouter", callback: it => this.ajouter() },
|
||||
},
|
||||
default: "ajout"
|
||||
}
|
||||
};
|
||||
super(conf, options);
|
||||
}
|
||||
|
||||
@@ -49,7 +49,7 @@ export class DialogItemAchat extends Dialog {
|
||||
|
||||
constructor(html, venteData) {
|
||||
const isConsommable = venteData.item.type == 'nourritureboisson' && venteData.acheteur?.isPersonnage();
|
||||
let options = { classes: ["dialogachat"], width: 400, height: isConsommable ? 450 : 350, 'z-index': 99999 };
|
||||
let options = { classes: ["dialogachat"], width: 400, height: 'fit-content', 'z-index': 99999 };
|
||||
|
||||
const actionAchat = venteData.prixLot > 0 ? "Acheter" : "Prendre";
|
||||
const buttons = {};
|
||||
|
||||
@@ -9,7 +9,7 @@ export class DialogConsommer extends Dialog {
|
||||
}
|
||||
|
||||
constructor(actor, item, consommerData, html, onActionItem = async ()=>{}) {
|
||||
const options = { classes: ["dialogconsommer"], width: 350, height: 450, 'z-index': 99999 };
|
||||
const options = { classes: ["dialogconsommer"], width: 350, height: 'fit-content', 'z-index': 99999 };
|
||||
let conf = {
|
||||
title: consommerData.title,
|
||||
content: html,
|
||||
|
||||
@@ -24,7 +24,7 @@ export class DialogItemVente extends Dialog {
|
||||
}
|
||||
|
||||
constructor(venteData, html, callback) {
|
||||
let options = { classes: ["dialogvente"], width: 400, height: 300, 'z-index': 99999 };
|
||||
let options = { classes: ["dialogvente"], width: 400, height: 'fit-content', 'z-index': 99999 };
|
||||
|
||||
let conf = {
|
||||
title: "Proposer",
|
||||
|
||||
@@ -23,7 +23,7 @@ export class DialogStress extends Dialog {
|
||||
constructor(dialogData, html) {
|
||||
const options = { classes: ["DialogStress"],
|
||||
width: 400,
|
||||
height: 205+dialogData.actors.length*25,
|
||||
height: 'fit-content',
|
||||
'z-index': 99999
|
||||
};
|
||||
const conf = {
|
||||
@@ -31,8 +31,7 @@ export class DialogStress extends Dialog {
|
||||
content: html,
|
||||
buttons: {
|
||||
stress: { label: "Stress !", callback: it => { this.onStress(); } }
|
||||
},
|
||||
default: "stress"
|
||||
}
|
||||
};
|
||||
super(conf, options);
|
||||
this.dialogData = dialogData;
|
||||
|
||||
@@ -177,7 +177,7 @@ export class RdDItemArme extends Item {
|
||||
equipe: true,
|
||||
rapide: true,
|
||||
force: 0,
|
||||
dommages: 0,
|
||||
dommages: "0",
|
||||
dommagesReels: 0,
|
||||
mortalite: 'non-mortel',
|
||||
competence: 'Corps à corps',
|
||||
|
||||
@@ -72,19 +72,19 @@ export class Monnaie {
|
||||
let parValeur = Misc.classifyFirst(monnaies, it => it.system.valeur_deniers);
|
||||
for (let valeur of [1000, 100, 10, 1]) {
|
||||
const itemPiece = parValeur[valeur];
|
||||
const piecesDeCetteValeur = Math.floor(reste / valeur);
|
||||
if (itemPiece) {
|
||||
if (piecesDeCetteValeur != itemPiece.system.quantite) {
|
||||
updates.push({ _id: parValeur[valeur].id, 'system.quantite': piecesDeCetteValeur });
|
||||
const quantite = Math.floor(reste / valeur);
|
||||
if (quantite != itemPiece.system.quantite) {
|
||||
updates.push({ _id: parValeur[valeur].id, 'system.quantite': quantite });
|
||||
}
|
||||
reste -= piecesDeCetteValeur*valeur;
|
||||
reste -= quantite*valeur;
|
||||
}
|
||||
}
|
||||
console.log('Monnaie.optimiser', actor.name, 'total', fortune, 'parValeur', parValeur, 'updates', updates, 'reste', reste);
|
||||
if (updates.length > 0) {
|
||||
await actor.updateEmbeddedDocuments('Item', updates);
|
||||
}
|
||||
if (reste>0){
|
||||
if (reste > 0){
|
||||
// créer le reste en deniers fortune en deniers
|
||||
await Monnaie.creerMonnaiesDeniers(actor, reste);
|
||||
}
|
||||
|
||||
@@ -96,14 +96,18 @@ export class RdDItemSheet extends ItemSheet {
|
||||
formData.competences = await RdDUtility.loadItems(it => RdDItemCompetence.isDraconic(it), RdDItemCompetence.actorCompendium(this.actor?.type))
|
||||
}
|
||||
if (this.item.type == 'recettecuisine') {
|
||||
formData.ingredients = await TextEditor.enrichHTML(this.object.system.ingredients, {async: true})
|
||||
formData.ingredients = await TextEditor.enrichHTML(this.object.system.ingredients, {async: true})
|
||||
}
|
||||
if (this.item.type == 'extraitpoetique') {
|
||||
formData.extrait = await TextEditor.enrichHTML(this.object.system.extrait, {async: true})
|
||||
formData.texte = await TextEditor.enrichHTML(this.object.system.texte, {async: true})
|
||||
}
|
||||
if (this.item.type == 'recettealchimique') {
|
||||
RdDAlchimie.processManipulation(this.item, this.actor && this.actor.id);
|
||||
formData.manipulation_update = await TextEditor.enrichHTML(this.object.system.manipulation_update, {async: true})
|
||||
formData.utilisation = await TextEditor.enrichHTML(this.object.system.utilisation, {async: true})
|
||||
formData.enchantement = await TextEditor.enrichHTML(this.object.system.enchantement, {async: true})
|
||||
formData.sureffet = await TextEditor.enrichHTML(this.object.system.sureffet, {async: true})
|
||||
formData.manipulation_update = await TextEditor.enrichHTML(this.object.system.manipulation_update, {async: true})
|
||||
formData.utilisation = await TextEditor.enrichHTML(this.object.system.utilisation, {async: true})
|
||||
formData.enchantement = await TextEditor.enrichHTML(this.object.system.enchantement, {async: true})
|
||||
formData.sureffet = await TextEditor.enrichHTML(this.object.system.sureffet, {async: true})
|
||||
}
|
||||
if (this.item.type == 'gemme') {
|
||||
formData.gemmeTypeList = RdDGemme.getGemmeTypeOptionList();
|
||||
|
||||
@@ -58,6 +58,7 @@ export const defaultItemImg = {
|
||||
gemme: "systems/foundryvtt-reve-de-dragon/icons/gemmes/almaze.webp",
|
||||
possession: "systems/foundryvtt-reve-de-dragon/icons/entites/possession2.webp",
|
||||
sortreserve: "systems/foundryvtt-reve-de-dragon/icons/competence_oniros.webp",
|
||||
extraitpoetique: "systems/foundryvtt-reve-de-dragon/icons/competence_ecriture.webp",
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
||||
@@ -102,7 +102,7 @@ export class Misc {
|
||||
}
|
||||
|
||||
static join(params, separator = '') {
|
||||
return params.reduce((a, b) => a + separator + b);
|
||||
return params?.reduce((a, b) => a + separator + b) ?? '';
|
||||
}
|
||||
|
||||
static connectedGMOrUser(ownerId = undefined) {
|
||||
@@ -195,4 +195,4 @@ export class Misc {
|
||||
}
|
||||
return subset;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,72 +1,13 @@
|
||||
import { Misc } from "./misc.js"
|
||||
import { RdDDice } from "./rdd-dice.js";
|
||||
|
||||
const poesieHautReve = [
|
||||
{
|
||||
reference: 'Le Ratier Bretonien',
|
||||
extrait: `Le courant du Fleuve
|
||||
<br>Te domine et te Porte
|
||||
<br>Avant que tu te moeuves
|
||||
<br>Combat le, ou il t'emporte`
|
||||
},
|
||||
{
|
||||
reference: 'Incompatibilité, Charles Beaudelaire',
|
||||
extrait: `Et lorsque par hasard une nuée errante
|
||||
<br>Assombrit dans son vol le lac silencieux,
|
||||
<br>On croirait voir la robe ou l'ombre transparente
|
||||
<br>D'un esprit qui voyage et passe dans les cieux.`
|
||||
},
|
||||
{
|
||||
reference: 'Au fleuve de Loire, Joachim du Bellay',
|
||||
extrait: `Ô de qui la vive course
|
||||
<br>Prend sa bienheureuse source,
|
||||
<br>D’une argentine fontaine,
|
||||
<br>Qui d’une fuite lointaine,
|
||||
<br>Te rends au sein fluctueux
|
||||
<br>De l’Océan monstrueux`
|
||||
},
|
||||
{
|
||||
reference: 'Denis Gerfaud',
|
||||
extrait: `Et l'on peut savoir qui est le maître d'Oniros, c'est le Fleuve de l'Oubli.
|
||||
Et l'on sait qui est le créateur du Fleuve de l'Oubli, c'est Hypnos et Narcos.
|
||||
Mais l'on ne sait pas qui est le maître du Fleuve de l'Oubli,
|
||||
sinon peut-être lui-même, ou peut-être Thanatos` },
|
||||
{
|
||||
reference: 'Denis Gerfaud',
|
||||
extrait: `Narcos est la source du Fleuve de l'Oubli et Hypnos l'embouchure
|
||||
Remonter le Fleuve est la Voie de la Nuit, la Voie du Souvenir.
|
||||
Descendre le Fleuve est la Voie du Jour, la Voie de l'Oubli`
|
||||
},
|
||||
{
|
||||
reference: 'Denis Gerfaud',
|
||||
extrait: `Narcos engendre le fils dont il est la mère à l'heure du Vaisseau,
|
||||
car Oniros s'embarque pour redescendre le Fleuve
|
||||
vers son père Hypnos sur la Voie de l'Oubli`
|
||||
},
|
||||
{
|
||||
reference: 'Denis Gerfaud',
|
||||
extrait: `Hypnos engendre le fils dont il est la mère à l'heure du Serpent, car
|
||||
tel les serpents, Oniros commence à remonter le Fleuve
|
||||
sur le Voie du Souvenir vers son père Narcos`
|
||||
},
|
||||
{
|
||||
reference: 'Denis Gerfaud',
|
||||
extrait: `Ainsi se succèdent les Jours et les Ages.
|
||||
<br>Les jours des Dragons sont les Ages des Hommes.`
|
||||
},
|
||||
{
|
||||
reference: 'Denis Gerfaud',
|
||||
extrait: `Ainsi parlent les sages:
|
||||
«Les Dragons sont créateurs de leurs rêves, mais ils ne sont pas créateurs d'Oniros
|
||||
Les Dragons ne sont pas les maîtres de leurs rêvezs, car ils ne sont pas maîtres d'Oniros.
|
||||
Nul ne sait qui est le créateur des Dragons, ni qui est leur maître.
|
||||
Mais l'on peut supposer qui est le maître du Rêve des Dragons, c'est Oniros»`
|
||||
},
|
||||
]
|
||||
import { SystemCompendiums } from "./settings/system-compendiums.js";
|
||||
|
||||
export class Poetique {
|
||||
static async getExtrait(){
|
||||
return await RdDDice.rollOneOf(poesieHautReve);
|
||||
static async getExtrait() {
|
||||
const items = await SystemCompendiums.getItems('extrait-poetique', 'extraitpoetique')
|
||||
const selected = await RdDDice.rollOneOf(items);
|
||||
return {
|
||||
reference: selected?.name,
|
||||
extrait: selected?.system.extrait
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,18 +8,19 @@ export class RdDCalendrierEditeur extends Dialog {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
constructor(html, calendrier, calendrierData) {
|
||||
|
||||
let myButtons = {
|
||||
saveButton: { label: "Enregistrer", callback: html => this.fillData() }
|
||||
};
|
||||
|
||||
// Common conf
|
||||
let dialogConf = { content: html, title: "Editeur de date/heure", buttons: myButtons, default: "saveButton" };
|
||||
let dialogOptions = { classes: ["rdddialog"], width: 400, height: 300, 'z-index': 99999 }
|
||||
let dialogConf = {
|
||||
content: html,
|
||||
title: "Editeur de date/heure",
|
||||
buttons: {
|
||||
save: { label: "Enregistrer", callback: html => this.fillData() }
|
||||
},
|
||||
default: "save"
|
||||
};
|
||||
let dialogOptions = { classes: ["rdddialog"], width: 400, height: 'fit-content', 'z-index': 99999 }
|
||||
super(dialogConf, dialogOptions)
|
||||
|
||||
this.calendrier = calendrier;
|
||||
this.calendrierData = calendrierData; //duplicate(calendrierData);
|
||||
this.calendrierData = calendrierData;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
||||
@@ -14,7 +14,7 @@ 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' },
|
||||
"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' },
|
||||
@@ -92,7 +92,7 @@ export class RdDCalendrier extends Application {
|
||||
minutesRelative: 0,
|
||||
indexJour: index,
|
||||
annee: Math.floor(index / (RDD_JOUR_PAR_MOIS * RDD_MOIS_PAR_AN)),
|
||||
moisRdD: RdDCalendrier.getDefSigne(mois),
|
||||
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
|
||||
}
|
||||
@@ -316,16 +316,12 @@ export class RdDCalendrier extends Application {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
fillCalendrierData(formData = {}) {
|
||||
console.log(this.calendrier);
|
||||
let moisKey = heuresList[this.calendrier.moisRdD];
|
||||
let heureKey = heuresList[this.calendrier.heureRdD];
|
||||
console.log(moisKey, heureKey);
|
||||
const mois = RdDCalendrier.getDefSigne(this.calendrier.moisRdD);
|
||||
const heure = RdDCalendrier.getDefSigne(this.calendrier.heureRdD);
|
||||
console.log('fillCalendrierData', this.calendrier, mois, heure);
|
||||
|
||||
const mois = heuresDef[moisKey];
|
||||
const heure = heuresDef[heureKey];
|
||||
|
||||
formData.heureKey = heureKey;
|
||||
formData.moisKey = moisKey;
|
||||
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.iconMois = dossierIconesHeures + mois.icon;
|
||||
|
||||
@@ -151,50 +151,61 @@ export class RdDCombatManager extends Combat {
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/** Retourne une liste triée d'actions d'armes avec le split arme1 main / arme 2 main */
|
||||
/** Retourne une liste triée d'actions d'armes avec le split arme1 main / arme 2 main / lancer */
|
||||
static listActionsArmes(armes, competences, carac) {
|
||||
// Gestion des armes 1/2 mains
|
||||
let actionsArme = [];
|
||||
let actions = [];
|
||||
for (const arme of armes) {
|
||||
let action = duplicate(arme)
|
||||
if (action.system.equipe) {
|
||||
let compData = competences.find(c => c.name == action.system.competence)
|
||||
|
||||
actionsArme.push(action);
|
||||
action.action = 'attaque';
|
||||
action.system.dommagesReels = Number(action.system.dommages);
|
||||
action.system.niveau = compData.system.niveau;
|
||||
action.system.initiative = RdDCombatManager.calculInitiative(compData.system.niveau, carac[compData.system.defaut_carac].value);
|
||||
// Dupliquer les armes pouvant être à 1 main et 2 mains en patchant la compétence
|
||||
if (action.system.unemain && !action.system.deuxmains) {
|
||||
action.system.mainInfo = "(1m)";
|
||||
} else if (!action.system.unemain && action.system.deuxmains) {
|
||||
action.system.mainInfo = "(2m)";
|
||||
} else if (action.system.unemain && action.system.deuxmains) {
|
||||
action.system.mainInfo = "(1m)";
|
||||
|
||||
const comp2m = action.system.competence.replace(" 1 main", " 2 mains"); // Replace !
|
||||
const comp = competences.find(c => c.name == comp2m)
|
||||
|
||||
const arme2main = duplicate(action);
|
||||
arme2main.system.mainInfo = "(2m)";
|
||||
arme2main.system.niveau = comp.system.niveau;
|
||||
arme2main.system.competence = comp2m;
|
||||
arme2main.system.initiative = RdDCombatManager.calculInitiative(arme2main.system.niveau, carac[comp.system.defaut_carac].value);
|
||||
actionsArme.push(arme2main);
|
||||
const containsSlash = action.system.dommages.includes("/");
|
||||
if (containsSlash) {
|
||||
const tableauDegats = action.system.dommages.split("/");
|
||||
action.system.dommagesReels = Number(tableauDegats[0]);
|
||||
arme2main.system.dommagesReels = Number(tableauDegats[1]);
|
||||
}
|
||||
else{
|
||||
ui.notifications.info("Les dommages de l'arme à 1/2 mains " + action.name + " ne sont pas corrects (ie sous la forme X/Y)");
|
||||
}
|
||||
if (arme.system.equipe) {
|
||||
const dommages = arme.system.dommages;
|
||||
const tableauDommages = dommages.includes("/") ? dommages.split("/") : [dommages, dommages] ;
|
||||
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)");
|
||||
}
|
||||
if (arme.system.unemain) {
|
||||
actions.push(RdDCombatManager.$prepareAttaqueArme({
|
||||
arme: arme,
|
||||
infoMain: "(1 main)",
|
||||
dommagesReel: Number(tableauDommages[0]),
|
||||
competence: arme.system.competence,
|
||||
carac: carac,
|
||||
competences: competences
|
||||
}));
|
||||
}
|
||||
if (arme.system.deuxmains) {
|
||||
actions.push(RdDCombatManager.$prepareAttaqueArme({
|
||||
arme: arme,
|
||||
infoMain: "(2 mains)",
|
||||
dommagesReel: Number(tableauDommages[1]),
|
||||
competence: arme.system.competence.replace(" 1 main", " 2 mains"),
|
||||
carac: carac,
|
||||
competences: competences
|
||||
}));
|
||||
}
|
||||
if (arme.system.lancer) {
|
||||
actions.push(RdDCombatManager.$prepareAttaqueArme({
|
||||
arme: arme,
|
||||
infoMain: "(lancer)",
|
||||
dommagesReel: Number(tableauDommages[0]),
|
||||
competence: arme.system.lancer,
|
||||
carac: carac,
|
||||
competences: competences
|
||||
}));
|
||||
}
|
||||
}
|
||||
}
|
||||
return actionsArme.sort(Misc.ascending(armeData => armeData.name + (armeData.system.mainInfo ?? '')));
|
||||
return actions.sort(Misc.ascending(action => action.name + (action.system.infoMain ?? '')));
|
||||
}
|
||||
|
||||
static $prepareAttaqueArme(infoAttaque) {
|
||||
const comp = infoAttaque.competences.find(c => c.name == infoAttaque.competence);
|
||||
const attaque = duplicate(infoAttaque.arme);
|
||||
attaque.action = 'attaque';
|
||||
attaque.system.competence = infoAttaque.competence;
|
||||
attaque.system.dommagesReels = infoAttaque.dommagesReel;
|
||||
attaque.system.infoMain = infoAttaque.infoMain;
|
||||
attaque.system.niveau = comp.system.niveau;
|
||||
attaque.system.initiative = RdDCombatManager.calculInitiative(comp.system.niveau, infoAttaque.carac[comp.system.defaut_carac].value);
|
||||
return attaque;
|
||||
}
|
||||
|
||||
static listActionsCreature(competences) {
|
||||
|
||||
@@ -39,21 +39,22 @@ export class RdDCommands {
|
||||
rddCommands.registerCommand({ path: ["/meteo"], func: (content, msg, params) => rddCommands.getMeteo(msg, params), descr: "Propose une météo marine" });
|
||||
rddCommands.registerCommand({ path: ["/nom"], func: (content, msg, params) => RdDNameGen.getName(msg, params), descr: "Génère un nom aléatoire" });
|
||||
|
||||
rddCommands.registerCommand({
|
||||
path: ["/tmr"], func: (content, msg, params) => rddCommands.findTMR(msg, params),
|
||||
descr: `Cherche où se trouve une case des Terres médianes
|
||||
<br><strong>/tmr sord</strong> indique que la cité Sordide est en D13
|
||||
<br><strong>/tmr foret</strong> donne la liste des TMR dont le nom contient "foret" (donc, toutes les forêts)` });
|
||||
rddCommands.registerCommand({
|
||||
path: ["/tmra"], func: (content, msg, params) => rddCommands.getTMRAleatoire(msg, params),
|
||||
descr: `Tire une case aléatoire des Terres médianes
|
||||
<br><strong>/tmra forêt</strong> détermine une 'forêt' aléatoire
|
||||
<br><strong>/tmra</strong> détermine une case aléatoire dans toutes les TMR` });
|
||||
rddCommands.registerCommand({
|
||||
path: ["/tmr"], func: (content, msg, params) => rddCommands.findTMR(msg, params),
|
||||
descr: `Cherche où se trouve une case des Terres médianes
|
||||
<br><strong>/tmr? sordide</strong> indique que la cité Sordide est en D13
|
||||
<br><strong>/tmr? foret</strong> donne la liste des TMR dont le nom contient "foret" (donc, toutes les forêts)` });
|
||||
rddCommands.registerCommand({
|
||||
path: ["/tmrr"], func: (content, msg, params) => rddCommands.getRencontreTMR(params),
|
||||
descr: `Détermine une rencontre dans un type de case
|
||||
<br><strong>/tmrr foret</strong> lance un d100 et détermine la rencontre correspondante en 'forêt'
|
||||
<br><strong>/tmrr forêt 47</strong> détermine la rencontre en 'forêt' pour un jet de dé de 47`
|
||||
<br><strong>/tmrr forêt</strong> détermine une rencontre aléatoire en 'forêt'
|
||||
<br><strong>/tmrr mauvaise</strong> détermine une mauvaise rencontre aléatoire
|
||||
<br><strong>/tmrr for 47</strong> détermine la rencontre en 'forêt' pour un jet de dé de 47`
|
||||
});
|
||||
|
||||
rddCommands.registerCommand({
|
||||
@@ -84,7 +85,7 @@ export class RdDCommands {
|
||||
|
||||
rddCommands.registerCommand({
|
||||
path: ["/payer"], func: (content, msg, params) => RdDUtility.afficherDemandePayer(params[0], params[1]),
|
||||
descr: `Permet de payer un montant. Exemples:
|
||||
descr: `Demande aux joueurs de payer un montant. Exemples:
|
||||
<br><strong>/payer 5s 10d</strong> permet d'envoyer un message pour payer 5 sols et 10 deniers
|
||||
<br><strong>/payer 10d</strong> permet d'envoyer un message pour payer 10 deniers`
|
||||
});
|
||||
@@ -180,7 +181,7 @@ export class RdDCommands {
|
||||
return this._processCommand(this.commandsTable, command, params, content, msg);
|
||||
}
|
||||
|
||||
_processCommand(commandsTable, name, params, content = '', msg = {}, path = "") {
|
||||
async _processCommand(commandsTable, name, params, content = '', msg = {}, path = "") {
|
||||
let command = commandsTable[name];
|
||||
path = path + name + " ";
|
||||
if (command && command.subTable) {
|
||||
@@ -193,7 +194,7 @@ export class RdDCommands {
|
||||
}
|
||||
}
|
||||
if (command && command.func) {
|
||||
const result = command.func(content, msg, params);
|
||||
const result = await command.func(content, msg, params);
|
||||
if (result == false) {
|
||||
RdDCommands._chatAnswer(msg, command.descr);
|
||||
}
|
||||
@@ -218,7 +219,7 @@ export class RdDCommands {
|
||||
buttons: {},
|
||||
},
|
||||
{
|
||||
width: 600, height: 500,
|
||||
width: 600, height: 600,
|
||||
});
|
||||
|
||||
d.render(true);
|
||||
@@ -250,9 +251,7 @@ export class RdDCommands {
|
||||
if (params.length == 1 || params.length == 2) {
|
||||
return TMRRencontres.rollRencontre(params[0], params[1])
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@@ -305,20 +304,20 @@ export class RdDCommands {
|
||||
show: { title: "Table de résolution" }
|
||||
};
|
||||
await RdDResolutionTable.rollData(rollData);
|
||||
RdDCommands._chatAnswer(msg, await RdDResolutionTable.buildRollDataHtml(rollData));
|
||||
return RdDCommands._chatAnswer(msg, await RdDResolutionTable.buildRollDataHtml(rollData));
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async rollDeDraconique(msg) {
|
||||
let ddr = await RdDDice.rollTotal("1dr + 7");
|
||||
RdDCommands._chatAnswer(msg, `Lancer d'un Dé draconique: ${ddr}`);
|
||||
return RdDCommands._chatAnswer(msg, `Lancer d'un Dé draconique: ${ddr}`);
|
||||
}
|
||||
|
||||
async getTMRAleatoire(msg, params) {
|
||||
if (params.length < 2) {
|
||||
let type = params[0];
|
||||
const tmr = await TMRUtility.getTMRAleatoire(type ? (it => it.type == type) : (it => true));
|
||||
RdDCommands._chatAnswer(msg, `Case aléatoire: ${tmr.coord} - ${tmr.label}`);
|
||||
return RdDCommands._chatAnswer(msg, `Case aléatoire: ${tmr.coord} - ${tmr.label}`);
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
@@ -326,12 +325,15 @@ export class RdDCommands {
|
||||
}
|
||||
|
||||
async findTMR(msg, params) {
|
||||
const search = Misc.join(params, ' ');
|
||||
const found = TMRUtility.findTMR(search);
|
||||
if (found?.length > 0) {
|
||||
return RdDCommands._chatAnswer(msg, `Les TMRs correspondant à '${search}' sont:` + Misc.join(found.map(it => `<br>${it.coord}: ${it.label}`)));
|
||||
if (params && params.length > 0) {
|
||||
const search = Misc.join(params, ' ');
|
||||
const found = TMRUtility.findTMR(search);
|
||||
if (found?.length > 0) {
|
||||
return RdDCommands._chatAnswer(msg, `Les TMRs correspondant à '${search}' sont:` + Misc.join(found.map(it => `<br>${it.coord}: ${it.label}`)));
|
||||
}
|
||||
return RdDCommands._chatAnswer(msg, 'Aucune TMR correspondant à ' + search);
|
||||
}
|
||||
return RdDCommands._chatAnswer(msg, 'Aucune TMR correspondant à ' + search);
|
||||
return false;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@@ -339,7 +341,7 @@ export class RdDCommands {
|
||||
if (params && (params.length == 1 || params.length == 2)) {
|
||||
let to = params.length == 1 ? Number(params[0]) : Number(params[1]);
|
||||
let from = params.length == 1 ? to - 1 : Number(params[0]);
|
||||
RdDCommands._chatAnswer(msg, `Coût pour passer une compétence de ${from} à ${to}: ${RdDItemCompetence.getDeltaXp(from, to)}`);
|
||||
return RdDCommands._chatAnswer(msg, `Coût pour passer une compétence de ${from} à ${to}: ${RdDItemCompetence.getDeltaXp(from, to)}`);
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
@@ -350,7 +352,7 @@ export class RdDCommands {
|
||||
getCoutXpCarac(msg, params) {
|
||||
if (params && params.length == 1) {
|
||||
let to = Number(params[0]);
|
||||
RdDCommands._chatAnswer(msg, `Coût pour passer une caractéristique de ${to - 1} à ${to}: ${RdDCarac.getCaracXp(to)}`);
|
||||
return RdDCommands._chatAnswer(msg, `Coût pour passer une caractéristique de ${to - 1} à ${to}: ${RdDCarac.getCaracXp(to)}`);
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
|
||||
@@ -144,6 +144,9 @@ export class RdDDice {
|
||||
}
|
||||
|
||||
static async rollOneOf(array) {
|
||||
if (array == undefined || array.length == 0) {
|
||||
return undefined;
|
||||
}
|
||||
const roll = await RdDDice.rollTotal(`1d${array.length}`);
|
||||
return array[roll - 1];
|
||||
}
|
||||
|
||||
@@ -200,9 +200,9 @@ Hooks.once("init", async function () {
|
||||
"recettealchimique", "musique", "chant", "danse", "jeu", "recettecuisine", "oeuvre",
|
||||
"objet", "arme", "armure", "conteneur", "herbe", "ingredient", "livre", "potion", "munition",
|
||||
"monnaie", "nourritureboisson", "gemme",
|
||||
"meditation", "rencontresTMR", "queue", "ombre", "souffle", "tete", "casetmr", "sort", "sortreserve",
|
||||
"meditation", "queue", "ombre", "souffle", "tete", "casetmr", "sort", "sortreserve",
|
||||
"nombreastral", "tache", "maladie", "poison", "possession",
|
||||
"tarot"
|
||||
"tarot", "extraitpoetique"
|
||||
], makeDefault: true
|
||||
});
|
||||
CONFIG.Combat.documentClass = RdDCombatManager;
|
||||
|
||||
@@ -92,8 +92,7 @@ export class RdDPossession {
|
||||
|
||||
const dialog = await RdDRoll.create(defender, rollData,
|
||||
{
|
||||
html: 'systems/foundryvtt-reve-de-dragon/templates/dialog-roll-defense-possession.html',
|
||||
options: { height: 450 }
|
||||
html: 'systems/foundryvtt-reve-de-dragon/templates/dialog-roll-defense-possession.html'
|
||||
},
|
||||
{
|
||||
name: 'conjurer',
|
||||
@@ -134,8 +133,7 @@ export class RdDPossession {
|
||||
|
||||
const dialog = await RdDRoll.create(attacker, rollData,
|
||||
{
|
||||
html: 'systems/foundryvtt-reve-de-dragon/templates/dialog-roll-competence.html',
|
||||
options: { height: 540 }
|
||||
html: 'systems/foundryvtt-reve-de-dragon/templates/dialog-roll-competence.html'
|
||||
}, {
|
||||
name: 'jet-possession',
|
||||
label: rollData.isECNIDefender ? 'Conjurer la possession' : 'Possession',
|
||||
|
||||
@@ -33,7 +33,7 @@ export class RdDEncaisser extends Dialog {
|
||||
let dialogOptions = {
|
||||
classes: ["rdddialog"],
|
||||
width: 320,
|
||||
height: 260
|
||||
height: 'fit-content'
|
||||
}
|
||||
|
||||
// Select proper roll dialog template and stuff
|
||||
|
||||
@@ -15,7 +15,7 @@ export class RdDRollDialogEthylisme extends Dialog {
|
||||
default: "rollButton",
|
||||
buttons: { "rollButton": { label: "Test d'éthylisme", callback: html => this.onButton(html) } }
|
||||
};
|
||||
let dialogOptions = { classes: ["rdddialog"], width: 400, height: 270, 'z-index': 99999 }
|
||||
let dialogOptions = { classes: ["rdddialog"], width: 400, height: 'fit-content', 'z-index': 99999 }
|
||||
super(dialogConf, dialogOptions)
|
||||
|
||||
//console.log("ETH", rollData);
|
||||
|
||||
@@ -53,7 +53,7 @@ export class RdDRollResolutionTable extends Dialog {
|
||||
'lancer-fermer': { label: 'Lancer les dés et fermer', callback: html => this.onLancerFermer() }
|
||||
}
|
||||
};
|
||||
super(conf, { classes: ["rdddialog"], width: 800, height: 800, 'z-index': 99999 });
|
||||
super(conf, { classes: ["rdddialog"], width: 800, height: 'fit-content', 'z-index': 99999 });
|
||||
|
||||
this.rollData = rollData;
|
||||
}
|
||||
|
||||
@@ -29,7 +29,7 @@ export class RdDRoll extends Dialog {
|
||||
|
||||
const html = await renderTemplate(dialogConfig.html, rollData);
|
||||
|
||||
let options = { classes: ["rdddialog"], width: 600, height: 500, 'z-index': 99999 };
|
||||
let options = { classes: ["rdddialog"], width: 600, height: 'fit-content', 'z-index': 99999 };
|
||||
if (dialogConfig.options) {
|
||||
mergeObject(options, dialogConfig.options, { overwrite: true })
|
||||
}
|
||||
|
||||
@@ -17,12 +17,14 @@ 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 { RdDCalendrier } from "./rdd-calendrier.js";
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
||||
export class RdDTMRDialog extends Dialog {
|
||||
|
||||
static async create(html, actor, tmrData) {
|
||||
static async create(actor, tmrData) {
|
||||
let html = await renderTemplate('systems/foundryvtt-reve-de-dragon/templates/dialog-tmr.html', tmrData);
|
||||
|
||||
if (tmrData.mode != 'visu') {
|
||||
// Notification au MJ
|
||||
@@ -773,7 +775,7 @@ export class RdDTMRDialog extends Dialog {
|
||||
const dialog = await RdDRoll.create(this.actor, rollData,
|
||||
{
|
||||
html: 'systems/foundryvtt-reve-de-dragon/templates/dialog-roll-maitrise-tmr.html',
|
||||
options: { height: 420 },
|
||||
options: { height: 'fit-content' },
|
||||
close: html => { this.maximize(); } // Re-display TMR
|
||||
},
|
||||
{
|
||||
@@ -838,12 +840,13 @@ 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);
|
||||
this._tellToUserAndGM(`Vous avez déclenché
|
||||
${sortReserve.system.echectotal ? "<strong>l'échec total!</strong>" : "le sort"}
|
||||
en réserve <strong>${sortReserve.name}</strong>
|
||||
avec ${sortReserve.system.ptreve} points de Rêve
|
||||
en ${sortReserve.system.coord} (${TMRUtility.getTMRLabel(sortReserve.system.coord)}).
|
||||
L'heure ciblée est ${sortReserve.system.heurecible}`);
|
||||
L'heure ciblée est ${heureCible}`);
|
||||
this.close();
|
||||
}
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ export class RdDTMRRencontreDialog extends Dialog {
|
||||
|
||||
const dialogOptions = {
|
||||
classes: ["tmrrencdialog"],
|
||||
width: 320, height: 240,
|
||||
width: 320, height: 'fit-content',
|
||||
'z-index': 50
|
||||
}
|
||||
super(dialogConf, dialogOptions);
|
||||
|
||||
@@ -182,7 +182,6 @@ export class RdDUtility {
|
||||
'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-rencontresTMR-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',
|
||||
@@ -193,6 +192,7 @@ export class RdDUtility {
|
||||
'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',
|
||||
// partial enums
|
||||
'systems/foundryvtt-reve-de-dragon/templates/enum-caracteristiques.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/enum-base-competence.html',
|
||||
@@ -203,6 +203,7 @@ 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-competence-lancer.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',
|
||||
|
||||
@@ -100,7 +100,7 @@ export class StatusEffects extends FormApplication {
|
||||
mergeObject(options, {
|
||||
id: "status-effects",
|
||||
template: "systems/foundryvtt-reve-de-dragon/templates/settings/status-effects.html",
|
||||
height: "800",
|
||||
height: 800,
|
||||
width: 350,
|
||||
minimizable: false,
|
||||
closeOnSubmit: true,
|
||||
|
||||
@@ -5,6 +5,7 @@ const COMPENDIUM_SETTING_PREFIX = 'compendium-';
|
||||
const CONFIGURABLE_COMPENDIUMS = {
|
||||
'tables-diverses': { label: "Tables aléatoires", type: "RollTable" },
|
||||
'competences': { label: "Compétences", type: "Item" },
|
||||
'extrait-poetique': { label: "Extraits poetiques", type: "Item" },
|
||||
'queues-de-dragon': { label: "Queues de dragon", type: "Item" },
|
||||
'ombres-de-thanatos': { label: "Ombres de Thanatos", type: "Item" },
|
||||
'souffles-de-dragon': { label: "Souffles de Dragon", type: "Item" },
|
||||
@@ -54,8 +55,9 @@ export class SystemCompendiums extends FormApplication {
|
||||
return [];
|
||||
}
|
||||
|
||||
static async getItems(compendium) {
|
||||
return await SystemCompendiums.getContent(compendium, 'Item')
|
||||
static async getItems(compendium, itemType = undefined) {
|
||||
const items = await SystemCompendiums.getContent(compendium, 'Item');
|
||||
return itemType ? items.filter(it => it.type == itemType) : items;
|
||||
}
|
||||
|
||||
static async getDefaultItems(compendium) {
|
||||
|
||||
@@ -15,21 +15,15 @@ export class TMRRencontres {
|
||||
* @param {*} forcedRoll
|
||||
*/
|
||||
static async rollRencontre(terrain, forcedRoll) {
|
||||
// TODO: recherche parmi les types de terrains + mauvaise, rejet si plusieurs choix
|
||||
const codeTerrain = Grammar.toLowerCaseNoAccent(terrain);
|
||||
if (!terrain) {
|
||||
ChatMessage.create({
|
||||
user: game.user.id,
|
||||
whisper: [game.user.id],
|
||||
content: "Un type de case doit être indiqué (par exemple sanctuaire, desert ou cité)"
|
||||
});
|
||||
return false;
|
||||
terrain = TMRUtility.findTMRLike(terrain);
|
||||
if (terrain == undefined) {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
if (forcedRoll && (forcedRoll <= 0 || forcedRoll > 100)) {
|
||||
forcedRoll = undefined;
|
||||
}
|
||||
|
||||
const codeTerrain = Grammar.toLowerCaseNoAccent(terrain)
|
||||
const table = await TMRRencontres.$buildTableRencontre(codeTerrain);
|
||||
const [selected, roll] = await TMRRencontres.$selectRencontre(codeTerrain, table, forcedRoll);
|
||||
const rencontre = await TMRRencontres.createRencontre(selected.rencontre);
|
||||
@@ -40,7 +34,7 @@ export class TMRRencontres {
|
||||
/* -------------------------------------------- */
|
||||
static async $buildTableRencontre(codeTerrain) {
|
||||
let max = 0;
|
||||
const items = await SystemCompendiums.getItems('rencontres');
|
||||
const items = await SystemCompendiums.getItems('rencontres', 'rencontre');
|
||||
const filtreMauvaise = codeTerrain == 'mauvaise' ? it => it.system.mauvaiseRencontre : it => !it.system.mauvaiseRencontre;
|
||||
const rencontres = items.filter(it => it.type == 'rencontre')
|
||||
.filter(filtreMauvaise)
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import { TMRRencontres } from "./tmr-rencontres.js";
|
||||
import { Misc } from "./misc.js";
|
||||
import { Grammar } from "./grammar.js";
|
||||
import { RdDDice } from "./rdd-dice.js";
|
||||
@@ -287,13 +286,30 @@ export class TMRUtility {
|
||||
const tmr = TMRMapping[coord];
|
||||
return Grammar.articleDetermine(tmr.type) + ' ' + tmr.label;
|
||||
}
|
||||
|
||||
static findTMRLike(type, options = {inclusMauvaise:true}) {
|
||||
const choix = [...Object.values(TMRType)]
|
||||
if (options.inclusMauvaise){
|
||||
choix.push({name: 'Mauvaise'});
|
||||
}
|
||||
const selection = Misc.findAllLike(type, choix).map(it => it.name);
|
||||
if (selection.length == 0) {
|
||||
ui.notifications.warn(`Un type de TMR doit être indiqué, '${type}' n'est pas trouvé dans ${choix}`);
|
||||
return undefined;
|
||||
}
|
||||
if (selection.length > 1) {
|
||||
ui.notifications.warn(`Plusieurs types de TMR pourraient correspondre à '${type}': ${selection}`);
|
||||
return undefined;
|
||||
}
|
||||
return selection[0];
|
||||
}
|
||||
|
||||
static typeTmrName(type) {
|
||||
return Misc.upperFirst(TMRType[Grammar.toLowerCaseNoAccent(type)].name);
|
||||
}
|
||||
|
||||
|
||||
static buildSelectionTypesTMR(typesTMR) {
|
||||
typesTMR= typesTMR?? [];
|
||||
typesTMR = typesTMR?? [];
|
||||
return Object.values(TMRType).map(value => Misc.upperFirst(value.name))
|
||||
.sort()
|
||||
.map(name => { return { name: name, selected: typesTMR.includes(name) } });
|
||||
@@ -339,8 +355,7 @@ export class TMRUtility {
|
||||
}
|
||||
|
||||
static findTMR(search) {
|
||||
const labelSearch = Grammar.toLowerCaseNoAccent(search)
|
||||
return TMRUtility.filterTMR(it => Grammar.toLowerCaseNoAccent(it.label).match(labelSearch) || it.coord == search);
|
||||
return TMRUtility.filterTMR(it => Grammar.includesLowerCaseNoAccent(it.label, search) || it.coord == search);
|
||||
}
|
||||
|
||||
static filterTMRCoord(filter) {
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
{"_id":"65SRmXVcyiG5ZW9l","name":"Cuillère de fer","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/cuillere_fer.webp","data":{"description":"","quantite":1,"encombrement":0.05,"equipe":false,"resistance":0,"qualite":0,"cout":0.1},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"rYShh2P1DNavdoBD":3},"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.65SRmXVcyiG5ZW9l"}}}
|
||||
{"_id":"69vN8bRlnCrRHQCm","name":"Obbadion","type":"ingredient","img":"systems/foundryvtt-reve-de-dragon/icons/objets/l_obbadion.webp","data":{"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>","niveau":0,"encombrement":0.001,"base":0,"quantite":1,"milieu":"Lieux humides","rarete":"","categorie":"Alchimie","cout":0.2},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"rYShh2P1DNavdoBD":3},"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.69vN8bRlnCrRHQCm"}}}
|
||||
{"_id":"6MVWA3DYbpw8122A","name":"Entonnoir de fer","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/entonnoir.webp","data":{"description":"","quantite":1,"encombrement":0.1,"equipe":false,"resistance":0,"qualite":0,"cout":0.15},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"rYShh2P1DNavdoBD":3},"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.6MVWA3DYbpw8122A"}}}
|
||||
{"_id":"6fW8gPkxgeBCKA59","name":"Premier Chant Dérisoire","type":"livre","img":"systems/foundryvtt-reve-de-dragon/icons/competence_hypnos.webp","data":{"description":"<p>Les <em>Chants Dérisoires</em> de Yester l’Ancien ont été peu retranscrits, probablement à cause de leur ineptie fondamentale. En dénicher un exemplaire n’est donc déjà pas chose aisée. Le premier chant, cependant, peut être source de révélation pour les haut-rêvants. La découverte de ce sens caché demande un minimum de +4 en voie d’Hypnos et permet la synthèse du sort de <em>Dérision</em>. Sans son assimilation préalable, la synthèse de ce sort est totalement inenvisageable. Sa difficulté de lecture est de -5, son assimilation requiert 16 points de tâche, périodicité 1 heure.</p>","competence":"Comédie","auteur":"Yester l’Ancien","quantite":1,"difficulte":-5,"points_de_tache":16,"encombrement":0,"xp":"","niveau_minimum":0,"niveau_maximum":0,"cout":0},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"jOzRscDxoXZWpGS6":3},"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.6fW8gPkxgeBCKA59"}}}
|
||||
{"_id":"6s5QjArwz9w9JIGL","name":"Double dragonne","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/double_dragonne.webp","data":{"categorie_parade":"epees-lourdes","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>","quantite":1,"encombrement":4,"equipe":false,"dommages":"5","penetration":0,"force":"13","resistance":13,"competence":"Epée à 2 mains","cout":50,"portee_courte":0,"magique":false,"ecaille_efficacite":null,"resistance_magique":null,"portee_moyenne":0,"portee_extreme":0,"rapide":false,"deuxmains":true,"unemain":false,"initpremierround":"hast"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"rYShh2P1DNavdoBD":3},"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.6s5QjArwz9w9JIGL"}}}
|
||||
{"_id":"7B9sKLf4ipRyyEjF","name":"Bouclier lourd","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/bouclier_grand.webp","data":{"categorie_parade":"boucliers","description":"","quantite":1,"encombrement":3,"equipe":false,"dommages":"0","penetration":0,"force":"13","resistance":20,"competence":"Bouclier","cout":8,"portee_courte":0,"magique":false,"ecaille_efficacite":null,"resistance_magique":null,"portee_moyenne":0,"portee_extreme":0,"rapide":false,"deuxmains":false,"unemain":false,"initpremierround":"hast"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"rYShh2P1DNavdoBD":3},"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.7B9sKLf4ipRyyEjF"}}}
|
||||
{"_id":"7YuWWsFIuZgakGUS","name":"Mortier en marbre","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/mortier.webp","data":{"description":"","quantite":1,"encombrement":0.3,"equipe":false,"resistance":0,"qualite":0,"cout":0.2},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"rYShh2P1DNavdoBD":3},"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.7YuWWsFIuZgakGUS"}}}
|
||||
@@ -39,7 +38,6 @@
|
||||
{"_id":"D5Z3FaUv91B8eCOP","name":"Obyssum vert","type":"ingredient","img":"systems/foundryvtt-reve-de-dragon/icons/objets/l_obyssum_vert.webp","data":{"description":"<p>Poudre verdâtre apparaissant sur les tiges de certains roseaux.</p>\n<p>VUE/Alchimie à -2</p>","niveau":0,"encombrement":0.001,"base":0,"quantite":1,"milieu":"Lieux humides","rarete":"","categorie":"Alchimie","cout":0.05},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"rYShh2P1DNavdoBD":3},"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.D5Z3FaUv91B8eCOP"}}}
|
||||
{"_id":"ElweMV283IUpqaik","name":"Sable-Poudre","type":"potion","img":"systems/foundryvtt-reve-de-dragon/icons/objets/sable_poudre.webp","data":{"description":"<p>Granulés. Poudre blanche.</p>","descriptionmj":"","quantite":1,"encombrement":0.1,"rarete":"","categorie":"AlchimieAutre","herbe":"","herbebrins":0,"herbebonus":0,"reposalchimique":false,"pr":0,"prpermanent":false,"prdate":0,"cout":2,"soinherbe":"","soinherbebonus":0},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"rYShh2P1DNavdoBD":3},"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.ElweMV283IUpqaik"}}}
|
||||
{"_id":"Eospy1EFNlhgOyXc","name":"Lacet de cuir (1 m)","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/lacet.webp","data":{"description":"","quantite":1,"encombrement":0.01,"equipe":false,"resistance":0,"qualite":0,"cout":0.06},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"rYShh2P1DNavdoBD":3},"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.Eospy1EFNlhgOyXc"}}}
|
||||
{"_id":"F0hcXfGaaYKQ0229","name":"Narcos, voie des Sortilèges","type":"livre","img":"systems/foundryvtt-reve-de-dragon/icons/competence_narcos.webp","data":{"description":"<p>Ce tome imposant, ouvertement destiné aux haut-rêvants, révèle que la voie de Narcos ne possède pas que des rituels, mais également des sortilèges. En saisir le sens demande toutefois un minimum de +4 en voie de Narcos. Il permet de comprendre le principe des sorts de transformation et d’envisager la synthèse de <em>Flèche de feu</em>,<em> Dague de force</em>, <em>Dragonne lame</em> et <em>Gourdindragon</em>. Sans son assimilation préalable, la synthèse de ces sorts est totalement inenvisageable. Sa difficulté de lecture est de -6, son assimilation requiert 28 points de tâche, périodicité 1 heure.</p>","competence":"","auteur":"Segamor le Transformiste","quantite":1,"difficulte":-6,"points_de_tache":28,"encombrement":0,"xp":"","niveau_minimum":0,"niveau_maximum":0,"cout":0},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"jOzRscDxoXZWpGS6":3},"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.F0hcXfGaaYKQ0229"}}}
|
||||
{"_id":"F6ZHJth4t0PA5PMB","name":"Alêne, poinçon","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/poincon_2.webp","data":{"description":"","quantite":1,"encombrement":0.05,"equipe":false,"resistance":0,"qualite":0,"cout":0.1},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"rYShh2P1DNavdoBD":3},"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.F6ZHJth4t0PA5PMB"}}}
|
||||
{"_id":"FH3mSvdebfhIL2Af","name":"Topazoïne","type":"potion","img":"systems/foundryvtt-reve-de-dragon/icons/objets/topazoine.webp","data":{"description":"<p>Granulés. Coquille d'oeuf de cane broyé.</p>","descriptionmj":"","quantite":1,"encombrement":0.1,"rarete":"","categorie":"AlchimieAutre","herbe":"","herbebrins":0,"herbebonus":0,"reposalchimique":false,"pr":0,"prpermanent":false,"prdate":0,"cout":2,"soinherbe":"","soinherbebonus":0},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"rYShh2P1DNavdoBD":3},"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.FH3mSvdebfhIL2Af"}}}
|
||||
{"_id":"FaNRC7YQzibSdqZU","name":"Plume de fer","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/plume_de_fer.webp","data":{"description":"","quantite":1,"encombrement":0.01,"equipe":false,"resistance":0,"qualite":0,"cout":0.1},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"rYShh2P1DNavdoBD":3},"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.FaNRC7YQzibSdqZU"}}}
|
||||
@@ -112,7 +110,6 @@
|
||||
{"_id":"XoslLyWIJYY2RGzz","name":"Fiole de verre (20 cl)","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/fiole_verre.webp","data":{"description":"","capacite":0.1,"encombrement":0.06,"equipe":false,"qualite":0,"contenu":[],"cout":0.2},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"rYShh2P1DNavdoBD":3},"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.XoslLyWIJYY2RGzz"}}}
|
||||
{"_id":"XwuLVGasPJXzvC09","name":"Encre 20 cl","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/encre_20cl.webp","data":{"description":"","quantite":1,"encombrement":0.1,"equipe":false,"resistance":0,"qualite":0,"cout":0.1},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"rYShh2P1DNavdoBD":3},"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.XwuLVGasPJXzvC09"}}}
|
||||
{"_id":"YHPrUuGGGTGZMNAg","name":"Bière","type":"nourritureboisson","img":"systems/foundryvtt-reve-de-dragon/icons/liquides/liquide_biere.webp","data":{"description":"<p>1 mesure (20cl) de bière.</p>","sust":0,"boisson":true,"desaltere":0.8,"alcoolise":true,"force":-1,"qualite":0,"exotisme":0,"encombrement":0.1,"quantite":1,"cout":0.01,"equipe":false},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"rYShh2P1DNavdoBD":3},"flags":{"core":{"sourceId":"Item.u7lMLkVlFCXBj8Bc"}}}
|
||||
{"_id":"YNHDt4EerstJvx5l","name":"Le Principe Drachromatique","type":"livre","img":"systems/foundryvtt-reve-de-dragon/icons/competence_oniros.webp","data":{"description":"<p>Cet ouvrage de profonde érudition sur l’origine des couleurs et leur signification onirique est foncièrement incompréhensible, à moins de posséder un minimum de +4 en voie d’Oniros. Il permet d’envisager la synthèse des sorts d’<em>Invulnérabilité Chromatique</em> et de <em>Transmutation Chromatique</em>. Sans son assimilation préalable, la synthèse de ces sorts est totalement inenvisageable. Sa difficulté de lecture est de -4, son assimilation requiert 26 points de tâche, périodicité 1 heure.</p>","competence":"","auteur":"Anonyme","quantite":1,"difficulte":-4,"points_de_tache":26,"encombrement":0,"xp":"","niveau_minimum":0,"niveau_maximum":0,"cout":0},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"jOzRscDxoXZWpGS6":3},"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.YNHDt4EerstJvx5l"}}}
|
||||
{"_id":"YNbbSGLnexiXNyXU","name":"Manteau de laine","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/manteau_laine.webp","data":{"description":"","quantite":1,"encombrement":0.8,"equipe":false,"resistance":0,"qualite":0,"cout":0.6},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"rYShh2P1DNavdoBD":3},"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.YNbbSGLnexiXNyXU"}}}
|
||||
{"_id":"Yh7VGX3BikmIjVQH","name":"Gourdin","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/gourdin.webp","data":{"categorie_parade":"","description":"","quantite":1,"encombrement":1,"equipe":false,"dommages":"1","penetration":0,"force":"7","resistance":8,"competence":"Masse à 1 main","cout":0,"portee_courte":0,"magique":false,"ecaille_efficacite":0,"resistance_magique":0,"portee_moyenne":0,"portee_extreme":0,"rapide":true,"deuxmains":false,"unemain":true,"initpremierround":"gourdin"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.Yh7VGX3BikmIjVQH"}}}
|
||||
{"_id":"Yyn39VDRnO6oA3Uq","name":"Echecs draconics en bois","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/echecs.webp","data":{"description":"","quantite":1,"encombrement":0.5,"equipe":false,"resistance":0,"qualite":0,"cout":2},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"rYShh2P1DNavdoBD":3},"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.Yyn39VDRnO6oA3Uq"}}}
|
||||
@@ -136,7 +133,6 @@
|
||||
{"_id":"fLKFTvLWoj7juxQE","name":"Flèche, carreau","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/fleche.webp","data":{"description":"","quantite":1,"encombrement":0.1,"equipe":false,"resistance":0,"qualite":0,"cout":0.1},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"rYShh2P1DNavdoBD":3},"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.fLKFTvLWoj7juxQE"}}}
|
||||
{"_id":"fOfVLKBacNEsDBn1","name":"Brandevin","type":"nourritureboisson","img":"systems/foundryvtt-reve-de-dragon/icons/liquides/liquide_sang.webp","data":{"description":"<p>Dose de 10cl de Brandevin</p>","sust":0,"boisson":true,"desaltere":0.2,"alcoolise":true,"force":-5,"qualite":0,"exotisme":0,"encombrement":0.05,"quantite":1,"cout":0.1},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"wYnBx3HmLfGzsj7P":3},"flags":{}}
|
||||
{"name":"Etain (1 denier)","type":"monnaie","img":"systems/foundryvtt-reve-de-dragon/icons/objets/piece_etain_poisson.webp","data":{"quantite":0,"valeur_deniers":1,"encombrement":0.01,"description":""},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"jtRmvSuwkwMmIMf0":3},"flags":{"core":{"sourceId":"Item.UFCII7LUClrCWElV"}},"_id":"fhP2azbUBfmpF441"}
|
||||
{"_id":"gYFprGGUUVG1Apcf","name":"Carquois","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/carquois.webp","data":{"description":"","capacite":2,"encombrement":0.1,"equipe":false,"qualite":0,"contenu":[],"cout":0.5},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"rYShh2P1DNavdoBD":3},"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.zYI8mDiysWtmsSyy"}}}
|
||||
{"_id":"gfU7oZL1JYqF3lAW","name":"Robe de lin","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/robe_lin.webp","data":{"description":"","quantite":1,"encombrement":0.1,"equipe":false,"resistance":0,"qualite":0,"cout":0.6},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"jOzRscDxoXZWpGS6":3},"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.gfU7oZL1JYqF3lAW"}}}
|
||||
{"_id":"gmBC6SO3F5d64Vpl","name":"Miroir en cuivre poli 20 cm","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/miroir.webp","data":{"description":"","quantite":1,"encombrement":0.2,"equipe":false,"resistance":0,"qualite":0,"cout":1},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"rYShh2P1DNavdoBD":3},"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.gmBC6SO3F5d64Vpl"}}}
|
||||
{"name":"Or (10 sols)","type":"monnaie","img":"systems/foundryvtt-reve-de-dragon/icons/objets/piece_or_sol.webp","data":{"quantite":0,"valeur_deniers":1000,"encombrement":0.01,"description":""},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"jtRmvSuwkwMmIMf0":3},"flags":{"core":{"sourceId":"Item.CmqfrDQgL61XIAqt"}},"_id":"gmbvvEx7hPrAy3zh"}
|
||||
@@ -164,7 +160,6 @@
|
||||
{"_id":"lOI2HVu3B6EDY4sE","name":"Arbalète","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/objets/arbalete.webp","data":{"categorie_parade":"","description":"<p>Nie jusqu'à 2 points d'armure.</p>\n<p>Rechargement 1 round.</p>","quantite":1,"encombrement":3,"equipe":false,"dommages":"3","penetration":2,"force":"0","resistance":0,"competence":"Arbalète","cout":30,"portee_courte":15,"magique":false,"ecaille_efficacite":0,"resistance_magique":0,"portee_moyenne":30,"portee_extreme":70,"rapide":false,"deuxmains":false,"unemain":false,"initpremierround":""},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"rYShh2P1DNavdoBD":3},"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.lOI2HVu3B6EDY4sE"}}}
|
||||
{"_id":"lq7pjDQESNbZOQ3n","name":"1 m2 de soie ou de velours","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/tissu_velours.webp","data":{"description":"","quantite":1,"encombrement":0,"equipe":false,"resistance":0,"qualite":0,"cout":3},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"rYShh2P1DNavdoBD":3},"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.lq7pjDQESNbZOQ3n"}}}
|
||||
{"_id":"m9yuZjp9DK7pSqPK","name":"Lanterne à bougie","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/lanterne_bougie.webp","data":{"description":"","capacite":0.1,"encombrement":1,"equipe":false,"qualite":0,"contenu":[],"cout":3},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"rYShh2P1DNavdoBD":3},"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.m9yuZjp9DK7pSqPK"}}}
|
||||
{"_id":"mOZodpJYobvmZO9o","name":"Le Narcolepton","type":"livre","img":"systems/foundryvtt-reve-de-dragon/icons/competence_narcos.webp","data":{"description":"<p>Cet ouvrage ne peut être assimilé que si l’on possède un niveau minimum de zéro en voie de Narcos. Il confère un bonus de synthèse de +3 aux sept Écailles de Protection présentées dans les règles (Venin, Maladie, Feu, Magie, Projectiles, Lames, Griffes et crocs), mais aucun bonus de points de sorts. Sa difficulté de lecture est de -4, son assimilation requiert 24 points de tâche, périodicité une heure.</p>","competence":"","auteur":"anonyme","quantite":1,"difficulte":-4,"points_de_tache":24,"encombrement":0,"xp":"","niveau_minimum":0,"niveau_maximum":0,"cout":0},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"jOzRscDxoXZWpGS6":3},"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.mOZodpJYobvmZO9o"}}}
|
||||
{"_id":"n2HMv0xv0MFpuiKp","name":"Parchemin 1 feuille","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/parchemin_1_feuille.webp","data":{"description":"","quantite":1,"encombrement":0.02,"equipe":false,"resistance":0,"qualite":0,"cout":0.2},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"rYShh2P1DNavdoBD":3},"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.n2HMv0xv0MFpuiKp"}}}
|
||||
{"_id":"nBhYyPbRwcWswiyC","name":"Tonnelet (10 litres)","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/tonnelet.webp","data":{"description":"","capacite":5,"encombrement":1,"equipe":false,"qualite":0,"contenu":[],"cout":0.25},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"rYShh2P1DNavdoBD":3},"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.nBhYyPbRwcWswiyC"}}}
|
||||
{"_id":"nIOEB0PpMaACqD65","name":"Obyssum gris","type":"ingredient","img":"systems/foundryvtt-reve-de-dragon/icons/objets/l_obyssum_gris.webp","data":{"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>","niveau":0,"encombrement":0.001,"base":0,"quantite":1,"milieu":"Marais","rarete":"","categorie":"Alchimie","cout":0.1},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"rYShh2P1DNavdoBD":3},"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.nIOEB0PpMaACqD65"}}}
|
||||
@@ -175,7 +170,6 @@
|
||||
{"_id":"oXpPZ9LS1nsU0nGT","name":"Épée sorde","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/epee_sord.webp","data":{"categorie_parade":"epees-lourdes","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>","quantite":1,"encombrement":2,"equipe":false,"dommages":"3/4","penetration":null,"force":"12/11","resistance":15,"competence":"Epée à 1 main","cout":20,"portee_courte":0,"magique":false,"ecaille_efficacite":null,"resistance_magique":null,"portee_moyenne":0,"portee_extreme":0,"rapide":false,"deuxmains":true,"unemain":true,"initpremierround":"epeesorde"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.oXpPZ9LS1nsU0nGT"}}}
|
||||
{"_id":"of2LbmmB4EtlSwte","name":"Sac en jute (50 litres)","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/sac_jute_50.webp","data":{"description":"","capacite":25,"encombrement":0.1,"equipe":false,"qualite":0,"contenu":[],"cout":0.08},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"rYShh2P1DNavdoBD":3},"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.of2LbmmB4EtlSwte"}}}
|
||||
{"_id":"orpj8CumQ39xMOHy","name":"Brosse à cheveux","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/Brosse.webp","data":{"description":"","quantite":1,"encombrement":0.06,"equipe":false,"resistance":0,"qualite":0,"cout":1},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"rYShh2P1DNavdoBD":3},"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.orpj8CumQ39xMOHy"}}}
|
||||
{"_id":"oyAyc3tp1JrIFfos","name":"L'Oniricon","type":"livre","img":"systems/foundryvtt-reve-de-dragon/icons/icone_parchement_vierge.svg","data":{"description":"<p>Cet abécédaire draconic permet de gagner jusqu’à 80 points d’expérience en voie d’Oniros, jusqu’à concurrence du niveau +1. C’est un livre pour débutants, inutile aux haut-rêvants confirmés. Sa difficulté de lecture est de -2, son assimilation requiert 20 points de tâche, périodicité une heure. Le gain final est de 4d10+40 points d’expérience en voie d’Oniros.</p>","competence":"","auteur":"anonyme","quantite":1,"difficulte":-2,"points_de_tache":0,"encombrement":0,"xp":"4d10+40","niveau_minimum":0,"niveau_maximum":0,"cout":0},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"jOzRscDxoXZWpGS6":3},"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.oyAyc3tp1JrIFfos"}}}
|
||||
{"_id":"phfgVizT4ekUwqFq","name":"Selle et harnais","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/selle.webp","data":{"description":"","capacite":25,"encombrement":4,"equipe":false,"qualite":0,"contenu":[],"cout":5},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"rYShh2P1DNavdoBD":3},"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.phfgVizT4ekUwqFq"}}}
|
||||
{"_id":"q5zaNnlmNZZChi31","name":"Miel","type":"nourritureboisson","img":"systems/foundryvtt-reve-de-dragon/icons/objets/gelee_royale.webp","data":{"description":"","sust":2,"boisson":false,"desaltere":0,"alcoolise":false,"force":0,"qualite":0,"exotisme":0,"encombrement":0.1,"quantite":1,"cout":0.4},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"wYnBx3HmLfGzsj7P":3},"flags":{"core":{"sourceId":"Item.0UhqiYISVSiztBfv"}}}
|
||||
{"_id":"qCLTOjlIOvlj0uo7","name":"Chaperon de laine","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/chaperon_laine.webp","data":{"description":"","quantite":1,"encombrement":0.1,"equipe":false,"resistance":0,"qualite":0,"cout":0.2},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"rYShh2P1DNavdoBD":3},"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.qCLTOjlIOvlj0uo7"}}}
|
||||
@@ -201,13 +195,11 @@
|
||||
{"_id":"wPE64RRcuLlvuPrY","name":"Épée cyane","type":"arme","img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/epee_cyane.webp","data":{"categorie_parade":"epees-lourdes","description":"<p>Long <em>cimeterre </em>à l’acier bleuté, exclusivement fabriqué par les Cyans ou Hommes bleus.</p>","quantite":1,"encombrement":2,"equipe":false,"dommages":"3","penetration":0,"force":"11","resistance":12,"competence":"Epée à 1 main","cout":25,"portee_courte":0,"magique":false,"ecaille_efficacite":null,"resistance_magique":null,"portee_moyenne":0,"portee_extreme":0,"rapide":true,"deuxmains":false,"unemain":true,"initpremierround":"epeecyane"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.wPE64RRcuLlvuPrY"}}}
|
||||
{"_id":"wcW5KcideGi8EY67","name":"Gants de cuir","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/gants_de_cuir.webp","data":{"description":"","quantite":1,"encombrement":0.05,"equipe":false,"resistance":0,"qualite":0,"cout":1},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"rYShh2P1DNavdoBD":3},"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.wcW5KcideGi8EY67"}}}
|
||||
{"_id":"wpWaqe96x3cvqTXy","name":"Robe de laine","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/robe_laine.webp","data":{"description":"","quantite":1,"encombrement":0.2,"equipe":false,"resistance":0,"qualite":0,"cout":0.4},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"jOzRscDxoXZWpGS6":3},"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.wpWaqe96x3cvqTXy"}}}
|
||||
{"_id":"wwWRn95ByBD08eGQ","name":"Le Paradoxe de l’Immobilité Rapide","type":"livre","img":"systems/foundryvtt-reve-de-dragon/icons/competence_hypnos.webp","data":{"description":"<p>Ce texte de pure logique ne peut être assimilé que si l’on possède un minimum de +4 en voie d’Hypnos. Il permet d’envisager la synthèse du sort de <em>Concentration</em>. (Sans son assimilation préalable, la synthèse de ce sort est totalement inenvisageable.) Sa difficulté de lecture est de -5, son assimilation requiert 12 points de tâche, périodicité 1 heure.</p>","competence":"","auteur":"Wanister de Bravo","quantite":1,"difficulte":-5,"points_de_tache":12,"encombrement":0,"xp":"","niveau_minimum":0,"niveau_maximum":0,"cout":0},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"jOzRscDxoXZWpGS6":3},"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.wwWRn95ByBD08eGQ"}}}
|
||||
{"_id":"x4g6bDu3eUllSSSJ","name":"Eponge de mer","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/eponge.webp","data":{"description":"","quantite":1,"encombrement":0.04,"equipe":false,"resistance":0,"qualite":0,"cout":1},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"rYShh2P1DNavdoBD":3},"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.x4g6bDu3eUllSSSJ"}}}
|
||||
{"_id":"xfdeDEyMK8YtBpzC","name":"Huile 20 cl (4 heures)","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/huile.webp","data":{"description":"","quantite":1,"encombrement":0.1,"equipe":false,"resistance":0,"qualite":0,"cout":0.04},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"rYShh2P1DNavdoBD":3},"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.xfdeDEyMK8YtBpzC"}}}
|
||||
{"_id":"xuk60njqtrSZusSX","name":"Chemise de laine","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/chemise_laine.webp","data":{"description":"","quantite":1,"encombrement":0.1,"equipe":false,"resistance":0,"qualite":0,"cout":0.2},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"jOzRscDxoXZWpGS6":3},"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.xuk60njqtrSZusSX"}}}
|
||||
{"_id":"yILNvELKbsz2OOln","name":"Ecritoire","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/ecritoire.webp","data":{"description":"","quantite":1,"encombrement":1,"equipe":false,"resistance":0,"qualite":0,"cout":1},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"rYShh2P1DNavdoBD":3},"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.yILNvELKbsz2OOln"}}}
|
||||
{"_id":"yO9Vx7tqF8qbZoYw","name":"Besace de cuir","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/besace.webp","data":{"description":"","capacite":10,"encombrement":0.2,"equipe":false,"qualite":0,"contenu":[],"cout":0.5},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"rYShh2P1DNavdoBD":3},"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.yO9Vx7tqF8qbZoYw"}}}
|
||||
{"_id":"z3xiBzZBZXlaRVzZ","name":"Le Grand Iris","type":"livre","img":"systems/foundryvtt-reve-de-dragon/icons/competence_hypnos.webp","data":{"description":"<p>Cette judicieuse réflexion sur les sorts d’illusion visuelle d’Hypnos ne peut être assimilée que si l’on possède au minimum zéro en voie d’Hypnos. Il confère un bonus de synthèse de +2 et de 12 points de sorts aux trois yeux d’Hypnos : Invisibilité, Transfiguration, Métamorphose. Sa difficulté de lecture est de -3, son assimilation requiert 16 points de tâche, périodicité une heure.</p>","competence":"","auteur":"Khrachtchoum le Problémeux","quantite":1,"difficulte":-3,"points_de_tache":16,"encombrement":0,"xp":"0","niveau_minimum":0,"niveau_maximum":0,"cout":0},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"jOzRscDxoXZWpGS6":3},"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.z3xiBzZBZXlaRVzZ"}}}
|
||||
{"_id":"zQWlnUsd8bPySujd","name":"Aiguille à coudre","type":"objet","img":"systems/foundryvtt-reve-de-dragon/icons/objets/aiguille.webp","data":{"description":"","quantite":1,"encombrement":0.01,"equipe":false,"resistance":0,"qualite":0,"cout":0.1},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"rYShh2P1DNavdoBD":3},"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.zQWlnUsd8bPySujd"}}}
|
||||
{"_id":"zYI8mDiysWtmsSyy","name":"Carquois","permission":{"default":0,"jOzRscDxoXZWpGS6":3},"type":"conteneur","data":{"description":"","capacite":2,"encombrement":0.1,"equipe":false,"qualite":0,"cout":0.5},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/objets/carquois.webp","effects":[]}
|
||||
{"_id":"zlDa1vwmls6Uf4pt","name":"Bourse de cuir","type":"conteneur","img":"systems/foundryvtt-reve-de-dragon/icons/objets/bourse.webp","data":{"description":"","capacite":0.5,"encombrement":0.01,"equipe":false,"qualite":0,"contenu":[],"cout":0.1},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"rYShh2P1DNavdoBD":3},"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.zlDa1vwmls6Uf4pt"}}}
|
||||
|
||||
9
packs/extrait-poetique.db
Normal file
9
packs/extrait-poetique.db
Normal file
@@ -0,0 +1,9 @@
|
||||
{"name":"Au fleuve de Loire, Joachim du Bellay","type":"extraitpoetique","img":"systems/foundryvtt-reve-de-dragon/icons/competence_ecriture.webp","system":{"extrait":"<p>Ô de qui la vive course <br>Prend sa bienheureuse source, <br>D’une argentine fontaine, <br>Qui d’une fuite lointaine, <br>Te rends au sein fluctueux <br>De l’Océan monstrueux</p>","texte":""},"effects":[],"flags":{},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.2.0","coreVersion":"10.288"},"_id":"1xzVPsfnO3uukbc4","ownership":{"default":0}}
|
||||
{"name":"Le Fleuve, Le Ratier Bretonien","type":"extraitpoetique","img":"systems/foundryvtt-reve-de-dragon/icons/competence_ecriture.webp","system":{"extrait":"<p>Le courant du Fleuve<br>Te domine et te Porte<br>Avant que tu te moeuves<br>Combats le, ou il t'emporte</p>","texte":""},"effects":[],"flags":{},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.2.0","coreVersion":"10.288"},"_id":"4dPfQh9ovWa90M9o","ownership":{"default":0}}
|
||||
{"name":"Des voies du Rêve (4), Denis Gerfaud","type":"extraitpoetique","img":"systems/foundryvtt-reve-de-dragon/icons/competence_ecriture.webp","system":{"extrait":"<p>«Narcos engendre le fils dont il est la mère à l'heure du Vaisseau, <br>car Oniros s'embarque pour redescendre le Fleuve <br>vers son père Hypnos sur la Voie de l'Oubli»</p>","texte":"<p>Ainsi parlent les sages: <br>«Les Dragons sont créateurs de leurs rêves, mais ils ne sont pas créateurs d'Oniros <br>Les Dragons ne sont pas les maîtres de leurs rêves, car ils ne sont pas maîtres d'Oniros. <br>Nul ne sait qui est le créateur des Dragons, ni qui est leur maître. <br>Mais l'on peut supposer qui est le maître du Rêve des Dragons, c'est Oniros»</p>\n<p>«Et l'on peut savoir qui est le maître d'Oniros, c'est le Fleuve de l'Oubli. <br>Et l'on sait qui est le créateur du Fleuve de l'Oubli, c'est Hypnos et Narcos. <br>Mais l'on ne sait pas qui est le maître du Fleuve de l'Oubli, <br>sinon peut-être lui-même, ou peut-être Thanatos»</p>\n<p>«Hypnos engendre le fils dont il est la mère à l'heure du Serpent, car <br>tel les serpents, Oniros commence à remonter le Fleuve <br>sur le Voie du Souvenir vers son père Narcos»</p>\n<p>«Narcos engendre le fils dont il est la mère à l'heure du Vaisseau, <br>car Oniros s'embarque pour redescendre le Fleuve <br>vers son père Hypnos sur la Voie de l'Oubli»</p>\n<p>«Narcos est la source du Fleuve de l'Oubli et Hypnos l'embouchure <br>Remonter le Fleuve est la Voie de la Nuit, la Voie du Souvenir. <br>Descendre le Fleuve est la Voie du Jour, la Voie de l'Oubli»</p>\n<p>«Ainsi se succèdent les Jours et les Ages. <br>Les jours des Dragons sont les Ages des Hommes.»</p>"},"effects":[],"flags":{},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.2.0","coreVersion":"10.288"},"_id":"7DNOC40NKHog49rb","ownership":{"default":0}}
|
||||
{"name":"Des voies du Rêve (5), Denis Gerfaud","type":"extraitpoetique","img":"systems/foundryvtt-reve-de-dragon/icons/competence_ecriture.webp","system":{"extrait":"<p>«Narcos est la source du Fleuve de l'Oubli et Hypnos l'embouchure <br>Remonter le Fleuve est la Voie de la Nuit, la Voie du Souvenir. <br>Descendre le Fleuve est la Voie du Jour, la Voie de l'Oubli»</p>","texte":"<p>Ainsi parlent les sages: <br>«Les Dragons sont créateurs de leurs rêves, mais ils ne sont pas créateurs d'Oniros <br>Les Dragons ne sont pas les maîtres de leurs rêves, car ils ne sont pas maîtres d'Oniros. <br>Nul ne sait qui est le créateur des Dragons, ni qui est leur maître. <br>Mais l'on peut supposer qui est le maître du Rêve des Dragons, c'est Oniros»</p>\n<p>«Et l'on peut savoir qui est le maître d'Oniros, c'est le Fleuve de l'Oubli. <br>Et l'on sait qui est le créateur du Fleuve de l'Oubli, c'est Hypnos et Narcos. <br>Mais l'on ne sait pas qui est le maître du Fleuve de l'Oubli, <br>sinon peut-être lui-même, ou peut-être Thanatos»</p>\n<p>«Hypnos engendre le fils dont il est la mère à l'heure du Serpent, car <br>tel les serpents, Oniros commence à remonter le Fleuve <br>sur le Voie du Souvenir vers son père Narcos»</p>\n<p>«Narcos engendre le fils dont il est la mère à l'heure du Vaisseau, <br>car Oniros s'embarque pour redescendre le Fleuve <br>vers son père Hypnos sur la Voie de l'Oubli»</p>\n<p>«Narcos est la source du Fleuve de l'Oubli et Hypnos l'embouchure <br>Remonter le Fleuve est la Voie de la Nuit, la Voie du Souvenir. <br>Descendre le Fleuve est la Voie du Jour, la Voie de l'Oubli»</p>\n<p>«Ainsi se succèdent les Jours et les Ages. <br>Les jours des Dragons sont les Ages des Hommes.»</p>"},"effects":[],"flags":{},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.2.0","coreVersion":"10.288"},"_id":"Ym0pweWHr8CIZFIR","ownership":{"default":0}}
|
||||
{"name":"Des voies du Rêve (1), Denis Gerfaud (Copy)","type":"extraitpoetique","img":"systems/foundryvtt-reve-de-dragon/icons/competence_ecriture.webp","system":{"extrait":"<p>Ainsi parlent les sages: <br>«Les Dragons sont créateurs de leurs rêves, mais ils ne sont pas créateurs d'Oniros <br>Les Dragons ne sont pas les maîtres de leurs rêves, car ils ne sont pas maîtres d'Oniros. <br>Nul ne sait qui est le créateur des Dragons, ni qui est leur maître. <br>Mais l'on peut supposer qui est le maître du Rêve des Dragons, c'est Oniros»</p>","texte":"<p>Ainsi parlent les sages: <br>«Les Dragons sont créateurs de leurs rêves, mais ils ne sont pas créateurs d'Oniros <br>Les Dragons ne sont pas les maîtres de leurs rêves, car ils ne sont pas maîtres d'Oniros. <br>Nul ne sait qui est le créateur des Dragons, ni qui est leur maître. <br>Mais l'on peut supposer qui est le maître du Rêve des Dragons, c'est Oniros»</p>\n<p>«Et l'on peut savoir qui est le maître d'Oniros, c'est le Fleuve de l'Oubli. <br>Et l'on sait qui est le créateur du Fleuve de l'Oubli, c'est Hypnos et Narcos. <br>Mais l'on ne sait pas qui est le maître du Fleuve de l'Oubli, <br>sinon peut-être lui-même, ou peut-être Thanatos»</p>\n<p>«Hypnos engendre le fils dont il est la mère à l'heure du Serpent, car <br>tel les serpents, Oniros commence à remonter le Fleuve <br>sur le Voie du Souvenir vers son père Narcos»</p>\n<p>«Narcos engendre le fils dont il est la mère à l'heure du Vaisseau, <br>car Oniros s'embarque pour redescendre le Fleuve <br>vers son père Hypnos sur la Voie de l'Oubli»</p>\n<p>«Narcos est la source du Fleuve de l'Oubli et Hypnos l'embouchure <br>Remonter le Fleuve est la Voie de la Nuit, la Voie du Souvenir. <br>Descendre le Fleuve est la Voie du Jour, la Voie de l'Oubli»</p>\n<p>«Ainsi se succèdent les Jours et les Ages. <br>Les jours des Dragons sont les Ages des Hommes.»</p>"},"effects":[],"flags":{},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.2.0","coreVersion":"10.288"},"_id":"fXBZ0YjF12LRtSOp","ownership":{"default":0}}
|
||||
{"name":"Des voies du Rêve (6), Denis Gerfaud","type":"extraitpoetique","img":"systems/foundryvtt-reve-de-dragon/icons/competence_ecriture.webp","system":{"extrait":"<p>«Ainsi se succèdent les Jours et les Ages. <br>Les jours des Dragons sont les Ages des Hommes.»</p>","texte":"<p>Ainsi parlent les sages: <br>«Les Dragons sont créateurs de leurs rêves, mais ils ne sont pas créateurs d'Oniros <br>Les Dragons ne sont pas les maîtres de leurs rêves, car ils ne sont pas maîtres d'Oniros. <br>Nul ne sait qui est le créateur des Dragons, ni qui est leur maître. <br>Mais l'on peut supposer qui est le maître du Rêve des Dragons, c'est Oniros»</p>\n<p>«Et l'on peut savoir qui est le maître d'Oniros, c'est le Fleuve de l'Oubli. <br>Et l'on sait qui est le créateur du Fleuve de l'Oubli, c'est Hypnos et Narcos. <br>Mais l'on ne sait pas qui est le maître du Fleuve de l'Oubli, <br>sinon peut-être lui-même, ou peut-être Thanatos»</p>\n<p>«Hypnos engendre le fils dont il est la mère à l'heure du Serpent, car <br>tel les serpents, Oniros commence à remonter le Fleuve <br>sur le Voie du Souvenir vers son père Narcos»</p>\n<p>«Narcos engendre le fils dont il est la mère à l'heure du Vaisseau, <br>car Oniros s'embarque pour redescendre le Fleuve <br>vers son père Hypnos sur la Voie de l'Oubli»</p>\n<p>«Narcos est la source du Fleuve de l'Oubli et Hypnos l'embouchure <br>Remonter le Fleuve est la Voie de la Nuit, la Voie du Souvenir. <br>Descendre le Fleuve est la Voie du Jour, la Voie de l'Oubli»</p>\n<p>«Ainsi se succèdent les Jours et les Ages. <br>Les jours des Dragons sont les Ages des Hommes.»</p>"},"effects":[],"flags":{},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.2.0","coreVersion":"10.288"},"_id":"k55zGYj5cTis14Cw","ownership":{"default":0}}
|
||||
{"name":"Des voies du Rêve (2), Denis Gerfaud","type":"extraitpoetique","img":"systems/foundryvtt-reve-de-dragon/icons/competence_ecriture.webp","system":{"extrait":"<p>«Et l'on peut savoir qui est le maître d'Oniros, c'est le Fleuve de l'Oubli. <br>Et l'on sait qui est le créateur du Fleuve de l'Oubli, c'est Hypnos et Narcos. <br>Mais l'on ne sait pas qui est le maître du Fleuve de l'Oubli, <br>sinon peut-être lui-même, ou peut-être Thanatos»</p>","texte":"<p>Ainsi parlent les sages: <br>«Les Dragons sont créateurs de leurs rêves, mais ils ne sont pas créateurs d'Oniros <br>Les Dragons ne sont pas les maîtres de leurs rêves, car ils ne sont pas maîtres d'Oniros. <br>Nul ne sait qui est le créateur des Dragons, ni qui est leur maître. <br>Mais l'on peut supposer qui est le maître du Rêve des Dragons, c'est Oniros»</p>\n<p>«Et l'on peut savoir qui est le maître d'Oniros, c'est le Fleuve de l'Oubli. <br>Et l'on sait qui est le créateur du Fleuve de l'Oubli, c'est Hypnos et Narcos. <br>Mais l'on ne sait pas qui est le maître du Fleuve de l'Oubli, <br>sinon peut-être lui-même, ou peut-être Thanatos»</p>\n<p>«Hypnos engendre le fils dont il est la mère à l'heure du Serpent, car <br>tel les serpents, Oniros commence à remonter le Fleuve <br>sur le Voie du Souvenir vers son père Narcos»</p>\n<p>«Narcos engendre le fils dont il est la mère à l'heure du Vaisseau, <br>car Oniros s'embarque pour redescendre le Fleuve <br>vers son père Hypnos sur la Voie de l'Oubli»</p>\n<p>«Narcos est la source du Fleuve de l'Oubli et Hypnos l'embouchure <br>Remonter le Fleuve est la Voie de la Nuit, la Voie du Souvenir. <br>Descendre le Fleuve est la Voie du Jour, la Voie de l'Oubli»</p>\n<p>«Ainsi se succèdent les Jours et les Ages. <br>Les jours des Dragons sont les Ages des Hommes.»</p>"},"effects":[],"flags":{},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.2.0","coreVersion":"10.288"},"_id":"rjlGncoP26PljA2G","ownership":{"default":0}}
|
||||
{"name":"Des voies du Rêve (3), Denis Gerfaud","type":"extraitpoetique","img":"systems/foundryvtt-reve-de-dragon/icons/competence_ecriture.webp","system":{"extrait":"<p>«Hypnos engendre le fils dont il est la mère à l'heure du Serpent, car <br>tel les serpents, Oniros commence à remonter le Fleuve <br>sur le Voie du Souvenir vers son père Narcos»</p>","texte":"<p>Ainsi parlent les sages: <br>«Les Dragons sont créateurs de leurs rêves, mais ils ne sont pas créateurs d'Oniros <br>Les Dragons ne sont pas les maîtres de leurs rêves, car ils ne sont pas maîtres d'Oniros. <br>Nul ne sait qui est le créateur des Dragons, ni qui est leur maître. <br>Mais l'on peut supposer qui est le maître du Rêve des Dragons, c'est Oniros»</p>\n<p>«Et l'on peut savoir qui est le maître d'Oniros, c'est le Fleuve de l'Oubli. <br>Et l'on sait qui est le créateur du Fleuve de l'Oubli, c'est Hypnos et Narcos. <br>Mais l'on ne sait pas qui est le maître du Fleuve de l'Oubli, <br>sinon peut-être lui-même, ou peut-être Thanatos»</p>\n<p>«Hypnos engendre le fils dont il est la mère à l'heure du Serpent, car <br>tel les serpents, Oniros commence à remonter le Fleuve <br>sur le Voie du Souvenir vers son père Narcos»</p>\n<p>«Narcos engendre le fils dont il est la mère à l'heure du Vaisseau, <br>car Oniros s'embarque pour redescendre le Fleuve <br>vers son père Hypnos sur la Voie de l'Oubli»</p>\n<p>«Narcos est la source du Fleuve de l'Oubli et Hypnos l'embouchure <br>Remonter le Fleuve est la Voie de la Nuit, la Voie du Souvenir. <br>Descendre le Fleuve est la Voie du Jour, la Voie de l'Oubli»</p>\n<p>«Ainsi se succèdent les Jours et les Ages. <br>Les jours des Dragons sont les Ages des Hommes.»</p>"},"effects":[],"flags":{},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.2.0","coreVersion":"10.288"},"_id":"xMigGwI39BORZ82r","ownership":{"default":0}}
|
||||
{"name":"Incompatibilité, Charles Beaudelaire","type":"extraitpoetique","img":"systems/foundryvtt-reve-de-dragon/icons/competence_ecriture.webp","system":{"extrait":"<p>Et lorsque par hasard une nuée errante <br>Assombrit dans son vol le lac silencieux, <br>On croirait voir la robe ou l'ombre transparente <br>D'un esprit qui voyage et passe dans les cieux.</p>","texte":""},"effects":[],"flags":{},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.2.0","coreVersion":"10.288"},"_id":"yJ3m3fheGJluiGDx","ownership":{"default":0}}
|
||||
@@ -4,12 +4,12 @@
|
||||
{"name":"L’Art des Vocalises","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"livre","data":{"description":"<p>Cette méthode très abordable est essentiellement destinée aux débutants. On sait peu de choses de son auteur, sinon qu’il possédait une tessiture d’une étendue prodigieuse.</p>","competence":"Chant","auteur":"Octave de Cinque","quantite":1,"difficulte":-1,"points_de_tache":8,"encombrement":0,"xp":"","niveau_minimum":null,"niveau_maximum":3,"cout":0},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/meditations_ecrits/ecrits_chant.webp","effects":[],"_id":"1S9dNTNGhrnYDQsF"}
|
||||
{"name":"Lamenticides","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"livre","data":{"description":"<p style=\"text-align: justify;\"><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">Waldemar de Gnia fut à coup sûr le poète </span></span><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">le plus flippé de tout le Second Âge.</span></span></p>","competence":"Légendes","auteur":"Waldemar de Gnia","quantite":1,"difficulte":-4,"points_de_tache":12,"encombrement":0.5,"xp":"12","niveau_minimum":null,"niveau_maximum":9,"cout":0},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/meditations_ecrits/ecrits_legendes.webp","effects":[],"_id":"1YFuBEkLN4jxzUTz"}
|
||||
{"name":"Méditation selon Werther de Zloth","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"meditation","data":{"competence":"Légendes","theme":"Légendes (la diversité des royaumes)","support":"la face d’une pièce de monnaie","heure":"dragon","purification":"se frotter les pieds et le visage avec de la poussière","veture":"rien qu’une grande pièce de tissu blanc (une toge)","comportement":"avoir marché durant toute l’heure précédente","tmr":"cite","malus":0,"description":""},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/meditations_ecrits/meditation_legendes.webp","effects":[],"_id":"3IVqd0Atdf5DEVf2"}
|
||||
{"name":"Premier Chant Dérisoire","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"livre","data":{"description":"<p>Les Chants Dérisoires de Yester l’Ancien ont été peu retranscrits, probablement à cause de leur ineptie fondamentale. En dénicher un exemplaire n’est donc déjà pas chose aisée. Le premier chant, cependant, peut être source de révélation pour les haut-rêvants. La découverte de ce sens caché permet la <strong>synthèse </strong>du sort de <strong>Dérision</strong>. Sans son assimilation préalable, la synthèse de ce sort est totalement inenvisageable.</p>","competence":"Voie d'Hypnos","auteur":"Yester l’Ancien","quantite":1,"difficulte":-5,"points_de_tache":16,"encombrement":0.5,"xp":"synthèse possible*","niveau_minimum":4,"niveau_maximum":null,"cout":0},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/meditations_ecrits/ecrits_hypnos.webp","effects":[],"_id":"3ya2og0wNFKHZs3Q"}
|
||||
{"name":"Premier Chant Dérisoire","type":"livre","flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/meditations_ecrits/ecrits_hypnos.webp","effects":[],"_id":"3ya2og0wNFKHZs3Q","system":{"description":"<p>Les Chants Dérisoires de Yester l’Ancien ont été peu retranscrits, probablement à cause de leur ineptie fondamentale. En dénicher un exemplaire n’est donc déjà pas chose aisée. Le premier chant, cependant, peut être source de révélation pour les haut-rêvants. La découverte de ce sens caché permet la <strong>synthèse </strong>du sort de <strong>Dérision</strong>. Sans son assimilation préalable, la synthèse de ce sort est totalement inenvisageable.</p>","descriptionmj":"<p>Les <em>Chants Dérisoires</em> de Yester l’Ancien ont été peu retranscrits, probablement à cause de leur ineptie fondamentale. En dénicher un exemplaire n’est donc déjà pas chose aisée. Le premier chant, cependant, peut être source de révélation pour les haut-rêvants. La découverte de ce sens caché demande un minimum de +4 en voie d’Hypnos et permet la synthèse du sort de <em>Dérision</em>. Sans son assimilation préalable, la synthèse de ce sort est totalement inenvisageable. Sa difficulté de lecture est de -5, son assimilation requiert 16 points de tâche, périodicité 1 heure.</p>","competence":"Voie d'Hypnos","auteur":"Yester l’Ancien","quantite":1,"difficulte":-5,"points_de_tache":16,"encombrement":0.5,"xp":null,"niveau_minimum":4,"niveau_maximum":null,"cout":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.2.3","coreVersion":"10.290","createdTime":null,"modifiedTime":1668767557640,"lastModifiedBy":"jtRmvSuwkwMmIMf0"}}
|
||||
{"name":"Toi, mon Luth","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"livre","data":{"description":"<h4>Luth</h4>\n<p>Gringor le Tablatif est le premier luthiste connu à avoir eu l’idée d’utiliser toutes les cordes de l’instrument.</p>","competence":"Musique","auteur":"Gringor le Tablatif","quantite":1,"difficulte":-1,"points_de_tache":10,"encombrement":0,"xp":"","niveau_minimum":-2,"niveau_maximum":5,"cout":0},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/meditations_ecrits/ecrits_musique.webp","effects":[],"_id":"4CXq0Np4d6PFjwxi"}
|
||||
{"name":"Ordre et Désordre des Fièvres","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"livre","data":{"description":"<p style=\"text-align: justify;\"><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">Lanquedû est l’inventeur oublié de la fèvre </span></span><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">ronde, qui avant lui n’existait pas.</span></span></p>","competence":"Médecine","auteur":"Lanquedû","quantite":1,"difficulte":-4,"points_de_tache":15,"encombrement":0.5,"xp":"24","niveau_minimum":null,"niveau_maximum":7,"cout":0},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/meditations_ecrits/ecrits_medecine.webp","effects":[],"_id":"5CMGcFHvzPmI4Qei"}
|
||||
{"name":"Jus d’Herbes","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"livre","data":{"description":"<p style=\"text-align: justify;\"><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">Radikos, par ailleurs fin cuisinier, est l’inventeur </span></span><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">de plus d’une centaine de salades, </span></span><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">dont la célèbre «draconique»\" : navet, </span></span><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">clopinette, estragon, herbe de lune.</span></span></p>","competence":"Botanique","auteur":"Radikos","quantite":1,"difficulte":-2,"points_de_tache":10,"encombrement":0.5,"xp":"15","niveau_minimum":null,"niveau_maximum":4,"cout":0},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/meditations_ecrits/ecrits_botanique.webp","effects":[],"_id":"7cuYCbpfyrS0NWoR"}
|
||||
{"name":"Méditation selon Sémolosse de Tucléide","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"meditation","data":{"competence":"Médecine","theme":"Médecine (la diversité des fièvres)","support":"un corps nu (humanoïde et vivant)","heure":"lyre","purification":"se laver entièrement le corps à l’eau froide","veture":"nu(e), sauf reins et cuisses drapés dans une étoffe rouge","comportement":"n’avoir eu aucun rapport sexuel au cours des 12 dernières heures","tmr":"necropole","malus":0,"description":""},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/meditations_ecrits/meditation_medecine.webp","effects":[],"_id":"89447FJFB8pKuiNv"}
|
||||
{"name":"Le Grand Iris","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"livre","data":{"description":"<p>*Cette judicieuse réflexion sur les sorts d’illusion visuelle d’Hypnos confère un <strong>bonus de synthèse de +2</strong> et de <strong>12 points de sorts</strong> aux trois yeux d’Hypnos : Invisibilité, Transfiguration, Métamorphose.</p>","competence":"Voie d'Hypnos","auteur":"Khrachtchoum le Problémeux","quantite":1,"difficulte":-3,"points_de_tache":16,"encombrement":0.5,"xp":"(+2), 3 x 12 points de sort*","niveau_minimum":0,"niveau_maximum":null,"cout":0},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/meditations_ecrits/ecrits_hypnos.webp","effects":[],"_id":"8ELG0TCfKr5L9PcW"}
|
||||
{"name":"Le Grand Iris","type":"livre","flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/meditations_ecrits/ecrits_hypnos.webp","effects":[],"_id":"8ELG0TCfKr5L9PcW","system":{"description":"<p>*Cette judicieuse réflexion sur les sorts d’illusion visuelle d’Hypnos confère un <strong>bonus de synthèse de +2</strong> et de <strong>12 points de sorts</strong> aux trois yeux d’Hypnos : Invisibilité, Transfiguration, Métamorphose.</p>","descriptionmj":"<p>Cette judicieuse réflexion sur les sorts d’illusion visuelle d’Hypnos ne peut être assimilée que si l’on possède au minimum zéro en voie d’Hypnos. Il confère un bonus de synthèse de +2 et de 12 points de sorts aux trois yeux d’Hypnos : Invisibilité, Transfiguration, Métamorphose. Sa difficulté de lecture est de -3, son assimilation requiert 16 points de tâche, périodicité une heure.</p>","competence":"Voie d'Hypnos","auteur":"Khrachtchoum le Problémeux","quantite":1,"difficulte":-3,"points_de_tache":16,"encombrement":0.5,"xp":null,"niveau_minimum":0,"niveau_maximum":null,"cout":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.2.3","coreVersion":"10.290","createdTime":null,"modifiedTime":1668767470112,"lastModifiedBy":"jtRmvSuwkwMmIMf0"}}
|
||||
{"name":"Tiges et Racines","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"livre","data":{"description":"<p style=\"text-align: justify;\"><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">Le seul trait marquant de la destinée de Kotylédon, </span></span><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">botaniste patient et appliqué, fut </span></span><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">qu’il mourut d’une indigestion d’escargots.</span></span></p>","competence":"Botanique","auteur":"Kotylédon","quantite":1,"difficulte":-3,"points_de_tache":13,"encombrement":0.5,"xp":"25","niveau_minimum":null,"niveau_maximum":5,"cout":0},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/meditations_ecrits/ecrits_botanique.webp","effects":[],"_id":"DDaiwO5pGQA3L7GC"}
|
||||
{"name":"Précis de Calligraphie","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"livre","data":{"description":"<p style=\"text-align: justify;\"><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">Frampanar le Bienveillant fut l’un des </span></span><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">professeurs les plus adulés, les étudiants </span></span><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">venant s’inscrire à ses cours par centaines. </span></span><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">On dit qu’il n’a jamais accordé de mention </span></span><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">inférieure à «très bien».</span></span></p>","competence":"Ecriture","auteur":"Frampanar le Bienveillant","quantite":1,"difficulte":-1,"points_de_tache":18,"encombrement":0.5,"xp":"15","niveau_minimum":null,"niveau_maximum":4,"cout":0},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/meditations_ecrits/ecrits_ecriture.webp","effects":[],"_id":"DPqaU76Up7zKZ471"}
|
||||
{"name":"Des Curiosités Bestiales","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"livre","data":{"description":"<p style=\"text-align: justify;\"><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">C’est à Tétragore le Grand, qui était sourd </span></span><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">comme une bûche, que l’on doit la seule </span></span><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">véritable approche scientifique jamais faite </span></span><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">sur les sirènes.</span></span></p>","competence":"Zoologie","auteur":"Tétragore le Grand","quantite":1,"difficulte":-4,"points_de_tache":10,"encombrement":0.5,"xp":"16","niveau_minimum":null,"niveau_maximum":8,"cout":0},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/meditations_ecrits/ecrits_zoologie.webp","effects":[],"_id":"EZpnnyARaJRiu7w9"}
|
||||
@@ -23,25 +23,25 @@
|
||||
{"name":"Numérologie Astrale","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"livre","data":{"description":"<p style=\"text-align: justify;\"><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">Grand amateur de loteries et de jeux de hasard, </span></span><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">Wortex se fit une réputation de perdant </span></span><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">systématique, et s’expliquait ainsi : «Si </span></span><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">je gagnais, on me traiterait de tricheur !»</span></span></p>","competence":"Astrologie","auteur":"Wortex","quantite":1,"difficulte":-5,"points_de_tache":15,"encombrement":0.5,"xp":"25","niveau_minimum":null,"niveau_maximum":7,"cout":0},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/meditations_ecrits/ecrits_astrologie.webp","effects":[],"_id":"RQUvNMupUY4ZOdQ8"}
|
||||
{"name":"Le Regard des Étoiles","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"livre","data":{"description":"<p style=\"text-align: justify;\"><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">«C’est écrit dans les étoiles», répondait </span></span><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">Zulgar le Pointu, à qui l’on reprochait des </span></span><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">honoraires exorbitants.</span></span></p>","competence":"Astrologie","auteur":"Zulgar le Pointu","quantite":1,"difficulte":-3,"points_de_tache":8,"encombrement":0.5,"xp":"12","niveau_minimum":null,"niveau_maximum":5,"cout":0},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/meditations_ecrits/ecrits_astrologie.webp","effects":[],"_id":"SB6eiSoKvGsBotBH"}
|
||||
{"name":"Pétalographie","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"livre","data":{"description":"<p style=\"text-align: justify;\"><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">Zormilius l’Aîné, horticulteur autant que </span></span><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">botaniste, est l’inventeur d’une énorme </span></span><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">rose verte à senteur de chou.</span></span></p>","competence":"Botanique","auteur":"Zormilius l’Aîné","quantite":1,"difficulte":-6,"points_de_tache":18,"encombrement":0.5,"xp":"28","niveau_minimum":null,"niveau_maximum":8,"cout":0},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/meditations_ecrits/ecrits_botanique.webp","effects":[],"_id":"SGRs6kDlKvXlpOi2"}
|
||||
{"name":"Le Principe Drachromatique","type":"livre","img":"systems/foundryvtt-reve-de-dragon/icons/competence_oniros.webp","effects":[],"flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.equipement.YNHDt4EerstJvx5l"}},"system":{"description":"<p>Cet ouvrage de profonde érudition sur l’origine des couleurs et leur signification onirique est foncièrement incompréhensible, à moins de posséder un minimum de +4 en voie d’Oniros. Il permet d’envisager la synthèse des sorts d’<em>Invulnérabilité Chromatique</em> et de <em>Transmutation Chromatique</em>. Sans son assimilation préalable, la synthèse de ces sorts est totalement inenvisageable. Sa difficulté de lecture est de -4, son assimilation requiert 26 points de tâche, périodicité 1 heure.</p>","descriptionmj":"","competence":"Voie d'Oniros","auteur":"Anonyme","quantite":1,"difficulte":-4,"points_de_tache":26,"encombrement":0,"xp":null,"niveau_minimum":0,"niveau_maximum":0,"cout":0},"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.2.3","coreVersion":"10.290","createdTime":1668767388116,"modifiedTime":1668767414763,"lastModifiedBy":"jtRmvSuwkwMmIMf0"},"folder":null,"sort":0,"_id":"UoEHSr7Mcz4crdSF"}
|
||||
{"name":"Des Pieds et des Iambes","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"livre","data":{"description":"<p style=\"text-align: justify;\"><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">Werther de Zloth fut le poète le plus à cheval </span></span><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">sur les rimes de tout le Second Âge ; il </span></span><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">se suicida de désespoir à ne pouvoir trouver </span></span><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">une rime suffsamment riche à «Ffjkuikhl», </span></span><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">le nom de sa fiancée.</span></span></p>","competence":"Ecriture","auteur":"Werther de Zloth","quantite":1,"difficulte":-2,"points_de_tache":15,"encombrement":0.5,"xp":"20","niveau_minimum":null,"niveau_maximum":5,"cout":0},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/meditations_ecrits/ecrits_ecriture.webp","effects":[],"_id":"XK8c248b0kGXMTDH"}
|
||||
{"name":"Nos Ennemies les Bêtes","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"livre","data":{"description":"<p style=\"text-align: justify;\"><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">Génie précoce, Paranos le Moindre connut </span></span><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">sa première griffade de chat à l’âge de sept </span></span><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">mois, sa première piqûre d’abeille à l’âge de onze mois, sa première morsure de chien à </span></span><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">dix-huit mois, son premier coup de corne </span></span><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">de chèvre à deux ans, et son premier coup </span></span><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">de pied d’âne à deux ans et demi.</span></span></p>","competence":"Zoologie","auteur":"Paranos le Moindre","quantite":1,"difficulte":-2,"points_de_tache":15,"encombrement":0.5,"xp":"36","niveau_minimum":null,"niveau_maximum":7,"cout":0},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/meditations_ecrits/ecrits_zoologie.webp","effects":[],"_id":"XKwRGSMlUMxnqnWp"}
|
||||
{"name":"Des Maladies Terrifiantes","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"livre","data":{"description":"<p style=\"text-align: justify;\"><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">Artomik le Pensif, également auteur de célèbres </span></span><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">pensées, toussait de plus en plus vers </span></span><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">la fin de sa vie.</span></span></p>","competence":"Médecine","auteur":"Artomik le Pensif","quantite":1,"difficulte":-5,"points_de_tache":16,"encombrement":0.5,"xp":"28","niveau_minimum":null,"niveau_maximum":9,"cout":0},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/meditations_ecrits/ecrits_medecine.webp","effects":[],"_id":"ZUM2JkowXikygLJd"}
|
||||
{"name":"Rien dans les Mains","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"livre","data":{"description":"<p>Capable de jongler avec simultanément trois dagues, trois épées et trois fers de lance, Passy de Muscade aurait, dit-on, terminé sa carrière borgne et manchot.</p>","competence":"Jonglerie","auteur":"Kabo del Arte","quantite":1,"difficulte":-2,"points_de_tache":11,"encombrement":0.5,"xp":"","niveau_minimum":2,"niveau_maximum":7,"cout":0},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/meditations_ecrits/ecrits_jonglerie.webp","effects":[],"_id":"ZrTZQVJ43gQutLVW"}
|
||||
{"name":"Le Principe Drachromatique","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"livre","data":{"description":"<p>Cet ouvrage de profonde érudition sur l’origine des couleurs et leur signification onirique est foncièrement incompréhensible. Il permet d’envisager la <strong>synthèse </strong>des sorts <strong>d’Invulnérabilité Chromatique </strong>et de <strong>Transmutation Chromatique</strong>. Sans son assimilation préalable, la synthèse de ces sorts est totalement inenvisageable.</p>","competence":"Voie d'Oniros","auteur":"anonyme","quantite":1,"difficulte":-4,"points_de_tache":26,"encombrement":0.5,"xp":"synthèses possibles*","niveau_minimum":4,"niveau_maximum":null,"cout":0},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/meditations_ecrits/ecrits_oniros.webp","effects":[],"_id":"a3eCJxyetlGEeX4F"}
|
||||
{"name":"Le Paradoxe de l’Immobilité Rapide","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"livre","data":{"description":"<p>Ce texte de pure logique permet d’envisager la <strong>synthèse </strong>du sort de <strong>Concentration</strong>. (Sans son assimilation préalable, la synthèse de ce sort est totalement inenvisageable.)</p>","competence":"Voie d'Hypnos","auteur":"Wanister de Bravo","quantite":1,"difficulte":-5,"points_de_tache":12,"encombrement":0.5,"xp":"synthèse possible*","niveau_minimum":4,"niveau_maximum":null,"cout":0},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/meditations_ecrits/ecrits_hypnos.webp","effects":[],"_id":"aFTL3ynBabEUHdP3"}
|
||||
{"name":"Le Paradoxe de l’Immobilité Rapide","type":"livre","flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/meditations_ecrits/ecrits_hypnos.webp","effects":[],"_id":"aFTL3ynBabEUHdP3","system":{"description":"<p>Ce texte de pure logique permet d’envisager la <strong>synthèse </strong>du sort de <strong>Concentration</strong>. (Sans son assimilation préalable, la synthèse de ce sort est totalement inenvisageable.)</p>","descriptionmj":"<p>Ce texte de pure logique ne peut être assimilé que si l’on possède un minimum de +4 en voie d’Hypnos. Il permet d’envisager la synthèse du sort de <em>Concentration</em>. (Sans son assimilation préalable, la synthèse de ce sort est totalement inenvisageable.) Sa difficulté de lecture est de -5, son assimilation requiert 12 points de tâche, périodicité 1 heure.</p>","competence":"Voie d'Hypnos","auteur":"Wanister de Bravo","quantite":1,"difficulte":-5,"points_de_tache":12,"encombrement":0.5,"xp":null,"niveau_minimum":4,"niveau_maximum":null,"cout":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.2.3","coreVersion":"10.290","createdTime":null,"modifiedTime":1668767494806,"lastModifiedBy":"jtRmvSuwkwMmIMf0"}}
|
||||
{"name":"La Voie du Sang","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"livre","data":{"description":"<p style=\"text-align: justify;\"><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">Spécialiste des plaies béantes, Sémolosse </span></span><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">de Tucleïde ne parvint jamais à se débarrasser </span></span><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">du rouge qui restait marqué sous </span></span><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">ses ongles.</span></span></p>","competence":"Chirurgie","auteur":"Sémolosse de Tucleïde","quantite":1,"difficulte":-4,"points_de_tache":14,"encombrement":0.5,"xp":"26","niveau_minimum":null,"niveau_maximum":7,"cout":0},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/meditations_ecrits/ecrits_chirurgie.webp","effects":[],"_id":"bw5c8d9bS4Y3kF8V"}
|
||||
{"name":"Méditation selon le sage Kotylédon","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"meditation","data":{"competence":"Botanique","theme":"Botanique (la diversité des herbes)","support":"une herbe (enracinée)","heure":"sirene","purification":"s’oindre les cuisses d’une décoction d’herbe","veture":"ne porter qu’une chemise de lin","comportement":"n’avoir mangé la chair d’aucun animal au cours des 12 dernières heures","tmr":"foret","malus":0,"description":""},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/meditations_ecrits/meditation_botanique.webp","effects":[],"_id":"cRdMQ6UFrQcAa5j9"}
|
||||
{"name":"Narcos, voie des Sortilèges","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"livre","data":{"description":"<p>Ce tome imposant, ouvertement destiné aux haut-rêvants, révèle que la voie de Narcos ne possède pas que des rituels, mais également des sortilèges. Il permet de comprendre le principe des sorts de transformation et d’envisager la <strong>synthèse </strong>de <strong>Flèche de feu, Dague de force, Dragonne lame</strong> et <strong>Gourdindragon</strong>. Sans son assimilation préalable, la synthèse de ces sorts est totalement inenvisageable. </p>","competence":"Voie de Narcos","auteur":"Segamor le Transformiste","quantite":1,"difficulte":-6,"points_de_tache":28,"encombrement":0.5,"xp":"synthèses possibles*","niveau_minimum":4,"niveau_maximum":null,"cout":0},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/meditations_ecrits/ecrits_narcos.webp","effects":[],"_id":"cRjuGUsD6zWqZM46"}
|
||||
{"name":"Narcos, voie des Sortilèges","type":"livre","flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/meditations_ecrits/ecrits_narcos.webp","effects":[],"_id":"cRjuGUsD6zWqZM46","system":{"description":"<p>Ce tome imposant, ouvertement destiné aux haut-rêvants, révèle que la voie de Narcos ne possède pas que des rituels, mais également des sortilèges. Il permet de comprendre le principe des sorts de transformation et d’envisager la <strong>synthèse </strong>de <strong>Flèche de feu, Dague de force, Dragonne lame</strong> et <strong>Gourdindragon</strong>. Sans son assimilation préalable, la synthèse de ces sorts est totalement inenvisageable. </p>","descriptionmj":"<p>Ce tome imposant, ouvertement destiné aux haut-rêvants, révèle que la voie de Narcos ne possède pas que des rituels, mais également des sortilèges. En saisir le sens demande toutefois un minimum de +4 en voie de Narcos. Il permet de comprendre le principe des sorts de transformation et d’envisager la synthèse de <em>Flèche de feu</em>,<em> Dague de force</em>, <em>Dragonne lame</em> et <em>Gourdindragon</em>. Sans son assimilation préalable, la synthèse de ces sorts est totalement inenvisageable. Sa difficulté de lecture est de -6, son assimilation requiert 28 points de tâche, périodicité 1 heure.</p>","competence":"Voie de Narcos","auteur":"Segamor le Transformiste","quantite":1,"difficulte":-6,"points_de_tache":28,"encombrement":0.5,"xp":null,"niveau_minimum":4,"niveau_maximum":null,"cout":0},"ownership":{"default":0,"rYShh2P1DNavdoBD":3},"folder":null,"sort":0,"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.2.3","coreVersion":"10.290","createdTime":null,"modifiedTime":1668767524302,"lastModifiedBy":"jtRmvSuwkwMmIMf0"}}
|
||||
{"name":"Principes d’Astrologie","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"livre","data":{"description":"<p style=\"text-align: justify;\"><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">C’est à Antédar de Bagdol que l’on doit le </span></span><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">nom actuel de l’heure du Poisson Acrobate, </span></span><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">d’après la constellation du même nom, </span></span><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">et qui s’appelait avant lui «le Chameau </span></span><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">Suggestif».</span></span></p>","competence":"Astrologie","auteur":"Antédar de Bagdol","quantite":1,"difficulte":-4,"points_de_tache":12,"encombrement":0.5,"xp":"20","niveau_minimum":null,"niveau_maximum":4,"cout":0},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/meditations_ecrits/ecrits_astrologie.webp","effects":[],"_id":"g9i63HdpcPcFpvDh"}
|
||||
{"name":"Traité de Vivisection","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"livre","data":{"description":"<p style=\"text-align: justify;\"><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">«Les grandes douleurs sont muettes», se </span></span><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">plaisait à répéter Wertèbre.</span></span></p>","competence":"Zoologie","auteur":"Wertèbre","quantite":1,"difficulte":-4,"points_de_tache":12,"encombrement":0.5,"xp":"20","niveau_minimum":null,"niveau_maximum":null,"cout":0},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/meditations_ecrits/ecrits_zoologie.webp","effects":[],"_id":"gIjyvfijzDKDZHCB"}
|
||||
{"name":"Mimes et Pantomimes","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"livre","data":{"description":"<p>Kabo del Arte n’est nul autre que l’inventeur du coup de pied aux fesses, cet effet théâtral qui déclencha et déclenchera toujours des tonnerres de rire.</p>","competence":"Comédie","auteur":"Kabo del Arte","quantite":1,"difficulte":-3,"points_de_tache":12,"encombrement":0.5,"xp":"","niveau_minimum":1,"niveau_maximum":6,"cout":0},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/meditations_ecrits/ecrits_comedie.webp","effects":[],"_id":"gO2y7pBypJCIzbiz"}
|
||||
{"name":"Méditation selon Paranos le Moindre","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"meditation","data":{"competence":"Zoologie","theme":"Zoologie (la méchanceté des animaux)","support":"un animal vertébré mort","heure":"serpent","purification":"s’oindre la poitrine et le visage de sang frais","veture":"ne porter que de la fourrure","comportement":"avoir mangé de la chair d’oiseau au cours de l’heure précédente","tmr":"desolation","malus":0,"description":""},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/meditations_ecrits/meditation_zoologie.webp","effects":[],"_id":"gjlTAV9PYlaHEY9g"}
|
||||
{"name":"Traité de Précipitation Lente","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"livre","data":{"description":"<p style=\"text-align: justify;\"><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">C’est à Algagath le Vieil qu’on doit le célèbre </span></span><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">procédé de reliquéfaction alchimique.</span></span></p>","competence":"Alchimie","auteur":"Algagath le Vieil","quantite":1,"difficulte":-6,"points_de_tache":18,"encombrement":0.5,"xp":"30","niveau_minimum":null,"niveau_maximum":6,"cout":0},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/meditations_ecrits/ecrits_alchimie.webp","effects":[],"_id":"gx1CBMU3Dj14oUj3"}
|
||||
{"name":"L’Oniricon","type":"livre","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.meditations-et-ecrits.tlWlAORtSXDCg0Vd"}},"img":"systems/foundryvtt-reve-de-dragon/icons/meditations_ecrits/ecrits_oniros.webp","effects":[],"system":{"description":"<p>C’est un livre pour débutants, inutile aux haut-rêvants confirmés.</p>\n<p>*Le gain final est de <strong>4d10+40</strong> points d’expérience en voie d’Oniros.</p>","descriptionmj":"<p>Cet abécédaire draconic permet de gagner jusqu’à 80 points d’expérience en voie d’Oniros, jusqu’à concurrence du niveau +1. C’est un livre pour débutants, inutile aux haut-rêvants confirmés. Sa difficulté de lecture est de -2, son assimilation requiert 20 points de tâche, périodicité une heure. Le gain final est de 4d10+40 points d’expérience en voie d’Oniros.</p>","competence":"Voie d'Oniros","auteur":"anonyme","quantite":1,"difficulte":-2,"points_de_tache":20,"encombrement":0.5,"xp":null,"niveau_minimum":null,"niveau_maximum":1,"cout":0},"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.2.3","coreVersion":"10.290","createdTime":1668767192410,"modifiedTime":1668767289586,"lastModifiedBy":"jtRmvSuwkwMmIMf0"},"folder":null,"sort":0,"_id":"iv3BmnI0TLerTVal"}
|
||||
{"name":"Méditation selon Frampanar le Bienveillant","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"meditation","data":{"competence":"Ecriture","theme":"Écriture (la diversité des runes)","support":"un texte étranger","heure":"couronne","purification":"se tremper le bout des doigts dans de l’encre noire","veture":"tête coiffée d’un cône de parchemin","comportement":"n’avoir proféré aucun son au cours de l’heure précédente","tmr":"sanctuaire","malus":0,"description":""},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/meditations_ecrits/meditation_ecriture.webp","effects":[],"_id":"kqfaAu35MCg08eaU"}
|
||||
{"name":"Traité d'ébullition","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"livre","data":{"description":"<p style=\"text-align: justify;\"><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">C’est à Van Glüten, de son véritable nom </span></span><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">Aratchik Kammerloduck, que l’on doit l’élaboration </span></span><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">de l’échelle de température selon </span></span><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">les couleurs, adoptée en alchimie moderne.</span></span></p>","competence":"Alchimie","auteur":"Van Glüten","quantite":1,"difficulte":-2,"points_de_tache":12,"encombrement":0.5,"xp":"18","niveau_minimum":null,"niveau_maximum":4,"cout":0},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/meditations_ecrits/ecrits_alchimie.webp","effects":[],"_id":"l9qugXUNnuZU1gqC"}
|
||||
{"name":"Aphorismes Majeurs","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"livre","data":{"description":"<p style=\"text-align: justify;\"><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">Khrachtchoum le Problémeux, célèbre </span></span><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">haut-rêvant, prétendait que son génie draconic </span></span><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">était contenu dans les ongles de ses </span></span><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">orteils, qu’il ne coupait jamais, malgré de </span></span><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">grandissants problèmes pour marcher.</span></span></p>","competence":"Légendes","auteur":"Khrachtchoum le Problémeux","quantite":1,"difficulte":-3,"points_de_tache":14,"encombrement":0.5,"xp":"20","niveau_minimum":null,"niveau_maximum":5,"cout":0},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/meditations_ecrits/ecrits_legendes.webp","effects":[],"_id":"pbWzLSnxy8WNUyJT"}
|
||||
{"name":"Le Narcolepton","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"livre","data":{"description":"<p>*Cet ouvrage confère un <strong>bonus de synthèse de +3</strong> aux sept Écailles de Protection présentées dans les règles (Venin, Maladie, Feu, Magie, Projectiles, Lames, Griffes et crocs), mais aucun bonus de points de sorts.</p>","competence":"Voie de Narcos","auteur":"anonyme","quantite":1,"difficulte":-4,"points_de_tache":24,"encombrement":0.5,"xp":"(+3)*","niveau_minimum":0,"niveau_maximum":null,"cout":0},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/meditations_ecrits/ecrits_narcos.webp","effects":[],"_id":"r358myfXHctpotWk"}
|
||||
{"name":"Le Narcolepton","type":"livre","flags":{"core":{"sourceId":"Compendium.foundryvtt-reve-de-dragon.meditations-et-ecrits.r358myfXHctpotWk"}},"img":"systems/foundryvtt-reve-de-dragon/icons/meditations_ecrits/ecrits_narcos.webp","effects":[],"system":{"description":"<p>*Cet ouvrage confère un <strong>bonus de synthèse de +3</strong> aux sept Écailles de Protection présentées dans les règles (Venin, Maladie, Feu, Magie, Projectiles, Lames, Griffes et crocs), mais aucun bonus de points de sorts.</p>","descriptionmj":"<p>Cet ouvrage ne peut être assimilé que si l’on possède un niveau minimum de zéro en voie de Narcos. Il confère un bonus de synthèse de +3 aux sept Écailles de Protection présentées dans les règles (Venin, Maladie, Feu, Magie, Projectiles, Lames, Griffes et crocs), mais aucun bonus de points de sorts. Sa difficulté de lecture est de -4, son assimilation requiert 24 points de tâche, périodicité une heure.</p>","competence":"Voie de Narcos","auteur":"anonyme","quantite":1,"difficulte":-4,"points_de_tache":24,"encombrement":0.5,"xp":null,"niveau_minimum":0,"niveau_maximum":null,"cout":0},"ownership":{"default":0,"jtRmvSuwkwMmIMf0":3},"_stats":{"systemId":"foundryvtt-reve-de-dragon","systemVersion":"10.2.3","coreVersion":"10.290","createdTime":1668767301176,"modifiedTime":1668767336716,"lastModifiedBy":"jtRmvSuwkwMmIMf0"},"folder":null,"sort":0,"_id":"qvX3em3UkFw4VJcT"}
|
||||
{"name":"Méditation selon Antédar de Bagdol","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"meditation","data":{"competence":"Astrologie","theme":"Astrologie (la diversité des étoiles)","support":"une étoile","heure":"araignee","purification":"se huiler les cheveux","veture":"nu(e)","comportement":"avoir veillé au cours de l’heure précédente","tmr":"plaines","malus":0,"description":""},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/meditations_ecrits/meditation_astrologie.webp","effects":[],"_id":"s6t4X8O5LrW0dCCc"}
|
||||
{"name":"L’Oniricon","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"livre","data":{"description":"<p>C’est un livre pour débutants, inutile aux haut-rêvants confirmés.</p>\n<p> </p>\n<p>*Le gain final est de <strong>4d10+40</strong> points d’expérience en voie d’Oniros.</p>","competence":"Voie d'Oniros","auteur":"anonyme","quantite":1,"difficulte":-2,"points_de_tache":20,"encombrement":0.5,"xp":"80*","niveau_minimum":null,"niveau_maximum":1,"cout":0},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/meditations_ecrits/ecrits_oniros.webp","effects":[],"_id":"tlWlAORtSXDCg0Vd"}
|
||||
{"name":"Songes Infinis","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"livre","data":{"description":"<p style=\"text-align: justify;\"><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">Artomik le Pensif mourut la plume à la </span></span><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">main, en butte à une pensée insolite.</span></span></p>","competence":"Légendes","auteur":"Artomik le Pensif","quantite":1,"difficulte":-2,"points_de_tache":8,"encombrement":0.5,"xp":"12","niveau_minimum":null,"niveau_maximum":7,"cout":0},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/meditations_ecrits/ecrits_legendes.webp","effects":[],"_id":"usjzmZ3xKuZ88dld"}
|
||||
{"name":"Des Plaies et des Bosses","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"livre","data":{"description":"<p style=\"text-align: justify;\"><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">Estobide le Forcené se rendit justement célèbre </span></span><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">par la vigueur avec laquelle il maîtrisait </span></span><span style=\"color: #191813; font-family: CaslonAntique;\"><span style=\"font-size: 16px; letter-spacing: 1px;\">ses patients.</span></span></p>","competence":"Chirurgie","auteur":"Estobide le Forcené","quantite":1,"difficulte":-3,"points_de_tache":14,"encombrement":0.5,"xp":"20","niveau_minimum":null,"niveau_maximum":6,"cout":0},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/meditations_ecrits/ecrits_chirurgie.webp","effects":[],"_id":"wsgsNdfiEiVo6ylJ"}
|
||||
|
||||
29
system.json
29
system.json
@@ -1,13 +1,12 @@
|
||||
{
|
||||
"id": "foundryvtt-reve-de-dragon",
|
||||
"title": "Rêve de Dragon",
|
||||
"version": "10.2.1",
|
||||
"download": "https://www.uberwald.me/gitea/public/foundryvtt-reve-de-dragon/archive/foundryvtt-reve-de-dragon-10.2.1.zip",
|
||||
"version": "10.2.4",
|
||||
"download": "https://www.uberwald.me/gitea/public/foundryvtt-reve-de-dragon/archive/foundryvtt-reve-de-dragon-10.2.4.zip",
|
||||
"manifest": "https://www.uberwald.me/gitea/public/foundryvtt-reve-de-dragon/raw/v10/system.json",
|
||||
"compatibility": {
|
||||
"minimum": "10",
|
||||
"verified": "10",
|
||||
"maximum": "10"
|
||||
"verified": "10"
|
||||
},
|
||||
"description": "Rêve de Dragon RPG for FoundryVTT",
|
||||
"authors": [
|
||||
@@ -198,6 +197,15 @@
|
||||
"private": false,
|
||||
"flags": {}
|
||||
},
|
||||
{
|
||||
"name": "extrait-poetique",
|
||||
"label": "Extraits poétiques",
|
||||
"system": "foundryvtt-reve-de-dragon",
|
||||
"path": "packs/extrait-poetique.db",
|
||||
"type": "Item",
|
||||
"private": false,
|
||||
"flags": {}
|
||||
},
|
||||
{
|
||||
"name": "tetes-de-dragon-pour-haut-revants",
|
||||
"label": "Têtes de Dragon (Hauts-Rêvants)",
|
||||
@@ -348,22 +356,27 @@
|
||||
"gridUnits": "m",
|
||||
"primaryTokenAttribute": "sante.vie",
|
||||
"secondaryTokenAttribute": "sante.endurance",
|
||||
"manifestPlusVersion": "1.2.0",
|
||||
"media": [
|
||||
{
|
||||
"type": "icon",
|
||||
"url": "systems/foundryvtt-reve-de-dragon/styles/img/reve-de-dragon-icon.webp",
|
||||
"caption": "Logo Rêve de Dragon"
|
||||
"caption": "Logo Rêve de Dragon",
|
||||
"loop": false,
|
||||
"flags": {}
|
||||
},
|
||||
{
|
||||
"type": "cover",
|
||||
"url": "systems/foundryvtt-reve-de-dragon/styles/img/reve-de-dragon-cover.webp",
|
||||
"caption": "Logo Rêve de Dragon"
|
||||
"caption": "Logo Rêve de Dragon",
|
||||
"loop": false,
|
||||
"flags": {}
|
||||
},
|
||||
{
|
||||
"type": "screenshot",
|
||||
"url": "systems/foundryvtt-reve-de-dragon/styles/img/apercu.webp",
|
||||
"caption": "Capture d'écran de Rêve de Dragon sur Foundry"
|
||||
"caption": "Capture d'écran de Rêve de Dragon sur Foundry",
|
||||
"loop": false,
|
||||
"flags": {}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -586,9 +586,9 @@
|
||||
"recettealchimique", "musique", "chant", "danse", "jeu", "recettecuisine", "oeuvre",
|
||||
"objet", "arme", "armure", "conteneur", "herbe", "ingredient", "livre", "potion", "munition",
|
||||
"monnaie", "nourritureboisson", "gemme",
|
||||
"meditation", "rencontre", "rencontresTMR", "queue", "ombre", "souffle", "tete", "casetmr", "signedraconique", "sort", "sortreserve",
|
||||
"meditation", "rencontre", "queue", "ombre", "souffle", "tete", "casetmr", "signedraconique", "sort", "sortreserve",
|
||||
"nombreastral", "tache", "maladie", "poison", "possession",
|
||||
"tarot"
|
||||
"tarot", "extraitpoetique"
|
||||
],
|
||||
"possession": {
|
||||
"typepossession": "",
|
||||
@@ -644,6 +644,7 @@
|
||||
"force": "0",
|
||||
"resistance": 0,
|
||||
"competence": "",
|
||||
"lancer": "",
|
||||
"cout": 0,
|
||||
"portee_courte": 0,
|
||||
"magique": false,
|
||||
@@ -827,10 +828,6 @@
|
||||
},
|
||||
"description": ""
|
||||
},
|
||||
"rencontresTMR": {
|
||||
"description": "",
|
||||
"descriptionmj": ""
|
||||
},
|
||||
"queue": {
|
||||
"description": "",
|
||||
"descriptionmj": "",
|
||||
@@ -1007,6 +1004,10 @@
|
||||
"ptreve": 0,
|
||||
"heurecible": "",
|
||||
"echectotal": false
|
||||
},
|
||||
"extraitpoetique": {
|
||||
"extrait": "",
|
||||
"texte": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,7 +5,15 @@
|
||||
<tr id="tmrrow1">
|
||||
<td>
|
||||
{{#if (eq mode "visu")}}
|
||||
<div class="flex-group-center">
|
||||
<h4>Visualisation!</h4>
|
||||
</div>
|
||||
{{else}}
|
||||
{{#if (and isGM hasPlayerOwner)}}
|
||||
<div class="flex-group-center">
|
||||
<h4>Le gardien gére les TMR du joueur, le joueur ne peut pas monter dans les TMR!</h4>
|
||||
</div>
|
||||
{{/if}}
|
||||
<div class="flex-group-center">
|
||||
<img class="small-button-direction" id='dir-top-left' src='systems/foundryvtt-reve-de-dragon/styles/img/ui/dir-top-left.svg'>
|
||||
<img class="small-button-direction" id='dir-top' src='systems/foundryvtt-reve-de-dragon/styles/img/ui/dir-top.svg'>
|
||||
@@ -16,7 +24,6 @@
|
||||
<img class="small-button-direction" id='dir-bottom' src='systems/foundryvtt-reve-de-dragon/styles/img/ui/dir-bottom.svg'>
|
||||
<img class="small-button-direction" id='dir-bottom-right' src='systems/foundryvtt-reve-de-dragon/styles/img/ui/dir-bottom-right.svg'>
|
||||
</div>
|
||||
{{/if}}
|
||||
<div class="flex-group-center lire-signe-draconique">
|
||||
<a>Lire un signe draconique</a>
|
||||
</div>
|
||||
@@ -43,7 +50,8 @@
|
||||
Fatigue
|
||||
<span id="tmr-fatigue-table">{{{fatigue.html}}}</span>
|
||||
</div>
|
||||
</td>
|
||||
{{/if}}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
5
templates/enum-competence-lancer.html
Normal file
5
templates/enum-competence-lancer.html
Normal file
@@ -0,0 +1,5 @@
|
||||
{{#each (trier @root.competences) as |competence key|}}
|
||||
{{#if (eq competence.system.categorie 'lancer')}}
|
||||
<option value="{{competence.name}}">{{competence.name}}</option>
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
@@ -7,7 +7,7 @@
|
||||
data-combatant-id="{{../combatant.id}}"
|
||||
data-action-index="{{action.index}}"
|
||||
title="{{action.name}}">
|
||||
<label>{{action.name}} {{action.system.mainInfo}}</label>
|
||||
<label>{{action.name}} {{action.system.infoMain}}</label>
|
||||
</div>
|
||||
{{/unless}}
|
||||
{{/each}}
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
data-combatant-id="{{../combatant.id}}"
|
||||
data-action-index="{{action.index}}"
|
||||
title="{{action.name}}">
|
||||
<label>init: {{action.name}} {{action.system.mainInfo}}</label>
|
||||
<label>init: {{action.name}} {{action.system.infoMain}}</label>
|
||||
</div>
|
||||
{{/each}}
|
||||
{{#each commandes as |commande key|}}
|
||||
|
||||
@@ -11,6 +11,15 @@
|
||||
{{/select}}
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="system.lancer">Compétence de lancer</label>
|
||||
<select name="system.lancer" data-dtype="String">
|
||||
{{#select system.lancer}}
|
||||
<option value="">- lancer impossible -</option>
|
||||
{{>"systems/foundryvtt-reve-de-dragon/templates/enum-competence-lancer.html"}}
|
||||
{{/select}}
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="system.dommages">Dommages </label>
|
||||
<input class="attribute-value" type="text" name="system.dommages" value="{{system.dommages}}" data-dtype="String"/>
|
||||
|
||||
25
templates/item-extraitpoetique-sheet.html
Normal file
25
templates/item-extraitpoetique-sheet.html
Normal file
@@ -0,0 +1,25 @@
|
||||
<form class="{{cssClass}}" autocomplete="off">
|
||||
<header class="sheet-header">
|
||||
<img class="chat-icon" src="{{img}}" data-edit="img" title="{{name}}"/>
|
||||
<div class="header-fields">
|
||||
<h1 class="charname">
|
||||
<input name="name" type="text" value="{{name}}" placeholder="Name"/>
|
||||
</h1>
|
||||
<p class="poesie-reference">Référence</p>
|
||||
</div>
|
||||
</header>
|
||||
<section class="sheet-body">
|
||||
<div class="flexcol">
|
||||
<label>Extrait</label>
|
||||
<div class="form-group editor">
|
||||
{{editor extrait target="system.extrait" button=true owner=owner editable=editable}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="flexcol">
|
||||
<label>Texte complet</label>
|
||||
<div class="form-group editor">
|
||||
{{editor texte target="system.texte" button=true owner=owner editable=editable}}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</form>
|
||||
Reference in New Issue
Block a user