Add new Compendium

This commit is contained in:
sladecraven 2020-07-21 23:51:24 +02:00
parent a14f05f762
commit e17e01f7e8
8 changed files with 422 additions and 128 deletions

View File

@ -272,7 +272,41 @@ export class RdDActor extends Actor {
await this.update( {"data.reve.refoulement": refoulement } ); await this.update( {"data.reve.refoulement": refoulement } );
return ret; return ret;
} }
/* -------------------------------------------- */
async deleteTMRRencontreAtPosition( ) {
let rencontres = duplicate(this.data.data.reve.rencontre);
let len = rencontres.list.length;
let i = 0;
//console.log("List", rencontres, len);
let newTable = [];
for( i=0; i < len; i++) {
if (rencontres.list[i].coord != this.data.data.reve.tmrpos.coord )
newTable.push(rencontres.list[i]);
}
if ( newTable.length != len ) {
rencontres.list = newTable;
//console.log("Result: ", rencontres);
await this.update( {"data.reve.rencontre": rencontres } );
}
}
/* -------------------------------------------- */
async addTMRRencontre( currentRencontre ) {
let rencontres = duplicate(this.data.data.reve.rencontre);
let len = rencontres.list.length;
let i = 0;
let already = false;
for( i=0; i < len; i++) {
if (rencontres.list[i].coord == this.data.data.reve.tmrpos.coord )
already = true;
}
if ( !already ) {
rencontres.list.push( {coord: this.data.data.reve.tmrpos.coord, rencontre: currentRencontre} );
await this.update( {"data.reve.rencontre": rencontres } );
}
}
/* -------------------------------------------- */ /* -------------------------------------------- */
async updatePointsDeReve( value ) { async updatePointsDeReve( value ) {
let reve = duplicate(this.data.data.reve.reve); let reve = duplicate(this.data.data.reve.reve);
@ -423,12 +457,23 @@ export class RdDActor extends Actor {
return sortList; return sortList;
} }
/* -------------------------------------------- */
getDraconicList( ) {
let draconicList = []
for (const item of this.data.items) {
if (item.type == "competence" && item.data.categorie == 'draconic' )
draconicList.push(item);
}
return draconicList;
}
/* -------------------------------------------- */ /* -------------------------------------------- */
async rollSort( sortID ) async rollSort( sortID )
{ {
console.log("Loading TMR template!!!"); console.log("Loading TMR template!!!");
let data = { let data = {
fatigueHTML:"<table class='table-fatigue'>" + RdDUtility.makeHTMLfatigueMatrix( this.data.data.sante.fatigue.value, this.data.data.sante.endurance.max ).html() + "</table>", fatigueHTML:"<table class='table-fatigue'>" + RdDUtility.makeHTMLfatigueMatrix( this.data.data.sante.fatigue.value, this.data.data.sante.endurance.max ).html() + "</table>",
draconic: this.getDraconicList(),
sort: this.getSortList(), sort: this.getSortList(),
caracReve: this.data.data.carac.reve.value caracReve: this.data.data.carac.reve.value
} }

View File

@ -12,6 +12,7 @@ import { RdDActor } from "./actor.js";
import { RdDItemSheet } from "./item-sheet.js"; import { RdDItemSheet } from "./item-sheet.js";
import { RdDActorSheet } from "./actor-sheet.js"; import { RdDActorSheet } from "./actor-sheet.js";
import { RdDUtility } from "./rdd-utility.js"; import { RdDUtility } from "./rdd-utility.js";
import { TMRUtility } from "./tmr-utility.js";
/* -------------------------------------------- */ /* -------------------------------------------- */
/* Foundry VTT Initialization */ /* Foundry VTT Initialization */
@ -50,7 +51,32 @@ Hooks.once("init", async function() {
Actors.registerSheet("foundryvtt-reve-de-dragon", RdDActorSheet, { makeDefault: true }); Actors.registerSheet("foundryvtt-reve-de-dragon", RdDActorSheet, { makeDefault: true });
Items.unregisterSheet("core", ItemSheet); Items.unregisterSheet("core", ItemSheet);
Items.registerSheet("foundryvtt-reve-de-dragon", RdDItemSheet, {makeDefault: true}); Items.registerSheet("foundryvtt-reve-de-dragon", RdDItemSheet, {makeDefault: true});
}); });
/* -------------------------------------------- */
/* Foundry VTT Initialization */
/* -------------------------------------------- */
const table2func = { "queues": TMRUtility.getQueue, "ombre": TMRUtility.getOmbre, "tetehr": TMRUtility.getTeteHR, "tete": TMRUtility.getTete, "souffle": TMRUtility.getSouffle };
Hooks.on("chatMessage", (html, content, msg) => {
// Setup new message's visibility
let rollMode = game.settings.get("core", "rollMode");
if (["gmroll", "blindroll"].includes(rollMode)) msg["whisper"] = ChatMessage.getWhisperIDs("GM");
if (rollMode === "blindroll") msg["blind"] = true;
msg["type"] = 0;
let regExp;
regExp = /(\S+)/g;
let commands = content.match(regExp);
let command = commands[0];
// Roll on a table
if (command === "/table") {
let tableName = commands[1].toLowerCase();
table2func[tableName]();
return false
}
return true;
} );

View File

@ -37,20 +37,51 @@ export class RdDTMRDialog extends Dialog {
this.cellw = 55; this.cellw = 55;
this.actor = actor; this.actor = actor;
this.sort = sort; this.sort = sort;
this.rencontresExistantes = duplicate(this.actor.data.data.reve.rencontre.list);
//console.log(this.rencontresExistantes);
this.pixiApp = new PIXI.Application( {width: 720, height: 860 } ); this.pixiApp = new PIXI.Application( {width: 720, height: 860 } );
} }
/* -------------------------------------------- */
displayPreviousRencontres() {
for (let rencontre of this.rencontresExistantes) {
rencontre.circle = new PIXI.Graphics();
rencontre.circle.beginFill(0x101010, 0.8);
rencontre.circle.drawCircle(0, 0, 6);
rencontre.circle.endFill();
let coordXY = TMRUtility.convertToCellCoord( rencontre.coord );
let basey = (coordXY.x % 2 == 0) ? this.col1_y : this.col2_y;
let myx = 28+(coordXY.x * this.cellw);
let myy = basey+28+(coordXY.y * this.cellh);
rencontre.circle.x = myx - (this.cellw/2)+16;
rencontre.circle.y = myy - (this.cellh/2)+16;
this.pixiApp.stage.addChild(rencontre.circle);
}
}
/* -------------------------------------------- */
updatePreviousRencontres() {
for (let rencontre of this.rencontresExistantes) {
this.pixiApp.stage.removeChild( rencontre.circle );
}
this.rencontresExistantes = duplicate(this.actor.data.data.reve.rencontre.list);
this.displayPreviousRencontres();
}
/* -------------------------------------------- */ /* -------------------------------------------- */
async derober() { async derober() {
await this.maximize(); await this.actor.addTMRRencontre( this.currentRencontre );
let rencontre = duplicate(this.actor.data.data.reve.rencontre);
rencontre.list.push( {coord: this.actor.data.data.reve.tmrpos.coord, rencontre: this.currentRencontre} );
console.log("-> derober", this.currentRencontre); console.log("-> derober", this.currentRencontre);
ChatMessage.create( { title: "TMR", content: game.user.name + " s'est dérobé et quitte les TMR.", user: game.user._id, whisper: ChatMessage.getWhisperRecipients("GM") } );
this.close();
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
async refouler(data) { async refouler(data) {
ChatMessage.create( { title: "TMR", content: game.user.name + " a refoulé une rencontre.", user: game.user._id, whisper: ChatMessage.getWhisperRecipients("GM") } );
await this.actor.deleteTMRRencontreAtPosition( ); // Remove the stored rencontre if necessary
let result = await this.actor.ajouterRefoulement(1); let result = await this.actor.ajouterRefoulement(1);
this.updatePreviousRencontres();
if (result == "souffle") { if (result == "souffle") {
let souffle = TMRUtility.getSouffle(); let souffle = TMRUtility.getSouffle();
} }
@ -60,20 +91,24 @@ export class RdDTMRDialog extends Dialog {
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
async matriser(data) { async matriser(data) {
this.actor.deleteTMRRencontreAtPosition( ); // Remove the stored rencontre if necessary
this.updatePreviousRencontres();
await this.maximize(); await this.maximize();
let draconic = this.actor.getBestDraconic(); let draconic = this.actor.getBestDraconic();
let carac = this.actor.getCurrentReve(); let carac = this.actor.getCurrentReve();
let level = draconic.data.niveau - this.currentRencontre.force; let level = draconic.data.niveau - this.currentRencontre.force;
console.log("Maitriser", carac, draconic.data.niveau, this.currentRencontre.force);
let scoreDef = CONFIG.RDD.resolutionTable[carac][level+10]; let scoreDef = CONFIG.RDD.resolutionTable[carac][level+10];
let myroll = new Roll("d100"); let myroll = new Roll("d100");
myroll.roll(); myroll.roll();
if ( myroll.total > scoreDef.score ) { if ( myroll.total > scoreDef.score ) {
TMRUtility.processRencontreEchec( this.actor, this.rencontre); TMRUtility.processRencontreEchec( this.actor, this.rencontre);
this.close(); ChatMessage.create( { title: "TMR", content: game.user.name + " a perdu sa rencontre.", user: game.user._id, whisper: ChatMessage.getWhisperRecipients("GM") } );
this.close();
} else { } else {
TMRUtility.processRencontreReussite( this.actor, this.rencontre); TMRUtility.processRencontreReussite( this.actor, this.rencontre);
ChatMessage.create( { title: "TMR", content: game.user.name + " a gagné sa rencontre.", user: game.user._id, whisper: ChatMessage.getWhisperRecipients("GM") } );
} }
console.log("-> matriser", this.currentRencontre); console.log("-> matriser", this.currentRencontre);
this.updateValuesDisplay(); this.updateValuesDisplay();
@ -83,26 +118,30 @@ export class RdDTMRDialog extends Dialog {
async manageRencontre(coordTMR, cellDescr) async manageRencontre(coordTMR, cellDescr)
{ {
// Roll until diffent than '8' // Roll until diffent than '8'
this.currentRencontre = undefined;
let rencontre let rencontre
let val = 8; this.currentRencontre = undefined;
while (val == 8) { for (let previousRencontre of this.rencontresExistantes ) {
let myroll = new Roll("d7"); if ( previousRencontre.coord == coordTMR)
myroll.roll(); rencontre = previousRencontre.rencontre;
val = myroll.total; }
if ( val == 7 ) { if ( rencontre == undefined ) {
rencontre = TMRUtility.rencontreTMRRoll(coordTMR, cellDescr); let val = 8;
while (val == 8) {
let myroll = new Roll("d7");
myroll.roll();
val = myroll.total;
if ( val == 7 ) {
rencontre = TMRUtility.rencontreTMRRoll(coordTMR, cellDescr);
rencontre.force = new Roll(rencontre.data.force).roll().total;
}
} }
} }
if (rencontre) { // Manages it if (rencontre) { // Manages it
let myroll = new Roll(rencontre.data.force); this.currentRencontre = duplicate(rencontre);
myroll.roll();
rencontre.force = myroll.total;
this.currentRencontre = rencontre;
await this.minimize(); await this.minimize();
let diag = new Dialog( { title: "Rencontre en TMR!", let diag = new Dialog( { title: "Rencontre en TMR!",
content: "Vous recontrez un " + rencontre.name + " de force " + myroll.total + "<br>", content: "Vous recontrez un " + rencontre.name + " de force " + rencontre.force + "<br>",
buttons: { buttons: {
derober: { derober: {
icon: '<i class="fas fa-check"></i>', icon: '<i class="fas fa-check"></i>',
@ -251,7 +290,7 @@ export class RdDTMRDialog extends Dialog {
cell1.append( this.pixiApp.view ); cell1.append( this.pixiApp.view );
// load the texture we need // load the texture we need
this.pixiApp.loader.add('tmr', 'systems/foundryvtt-reve-de-dragon/styles/ui/tmp_main_r1.webp').load((loader, resources) => { await this.pixiApp.loader.add('tmr', 'systems/foundryvtt-reve-de-dragon/styles/ui/tmp_main_r1.webp').load((loader, resources) => {
// This creates a texture from a 'bunny.png' image // This creates a texture from a 'bunny.png' image
const mytmr = new PIXI.Sprite(resources.tmr.texture); const mytmr = new PIXI.Sprite(resources.tmr.texture);
// Setup the position of the bunny // Setup the position of the bunny
@ -272,11 +311,12 @@ export class RdDTMRDialog extends Dialog {
this.circle.drawCircle(0, 0, 15); this.circle.drawCircle(0, 0, 15);
this.circle.endFill(); this.circle.endFill();
this.updateSprites( this ); this.updateSprites( this );
// Add the bunny to the scene we are building // Add the bunny to the scene we are building
this.pixiApp.stage.addChild(mytmr); this.pixiApp.stage.addChild(mytmr);
this.pixiApp.stage.addChild(this.circle); this.pixiApp.stage.addChild(this.circle);
//this.updateSprites();
this.displayPreviousRencontres();
} ); } );
await this.actor.santeIncDec("fatigue", 1); // 1 point defatigue await this.actor.santeIncDec("fatigue", 1); // 1 point defatigue

View File

@ -1,12 +1,210 @@
/* -------------------------------------------- */ /* -------------------------------------------- */
const TMRMapping = { A1: { type: "cite", label: "Cité VIDE"}, B1: { type:"plaines", label: "Plaines d'ASSORH"}, C1: { type:"necropole", label: "Nécropole de KROAK"}, D1: { type: "fleuve", label: "Fleuve de l'Oubli"}, E1: { type: "monts", label: "Monts de KANAI"}, const TMRMapping = {
F1: { type: "cite", label: "Cité GLAUQUE"}, G1: { type: "desolation", label: "Désolation de JAMAIS"}, H1: {type: "lac", label: "Lac d'ANTI-CALME"}, I1: { type: "plaines", label: "Plaines GRISES"}, J1: { type: "monts", label: "Monts FAINEANTS"}, A1: { type: "cite", label: "Cité Vide"},
K1: { type: "cite", label: "Cité d'ONKAUS"}, L1: { type: "fleuve", label: "Fleuve de l'Oubli"}, M1: { type: "cite", label: "Cité JALOUSE"}, B1: { type: "plaines", label: "Plaines dAssorh"},
C1: { type: "necropole", label: "Nécropole de Kroak"},
A2: { type: "desert", label: "Désert de MIEUX"}, B2: { type:"collines", label: "Collines de DAWELL"}, C2: { type:"monts", label: "Monts GLIGNANTS"}, D2: { type: "cite", label: "Cité de FROST"}, E2: { type: "plaines", label: "Plaines de FIASK"}, D1: { type: "fleuve", label: "Fleuve"},
F2: { type: "lac", label: "Lac de MISERE"}, G2: { type: "marais", label: "Marais NUISANTS"}, H2: {type: "collines", label: "Collines de PARTA"}, I2: { type: "foret", label: "Forêt FADE"}, J2: { type: "desert", label: "Désert de POLY"}, E1: { type: "monts", label: "Monts de Kanaï"},
K2: { type: "foret", label: "Forêt TAMEE"}, L2: { type: "fleuve", label: "Fleuve de l'Oubli"}, M2: { type: "necropole", label: "Nécropole de LOGOS"} F1: { type: "cite", label: "Cité Glauque"},
} G1: { type: "desolation", label: "Désolation de Demain"},
H1: { type: "lac", label: "Lac dAnticalme"},
I1: { type: "plaines", label: "Plaines Grises"},
J1: { type: "monts", label: "Monts Fainéants"},
K1: { type: "cite", label: "Cité dOnkause"},
L1: { type: "fleuve", label: "Fleuve"},
M1: { type: "cite", label: "Cité Jalouse"},
A2: { type: "desert", label: "Désert de Mieux"},
B2: { type: "collines", label: "Collines de Dawell"},
C2: { type: "marais", label: "Marais Glignants"},
D2: { type: "cite", label: "Cité de Frost"},
E2: { type: "plaines", label: "Plaines de Fiask"},
F2: { type: "lac", label: "Lac de Misère"},
G2: { type: "marais", label: "Marais Nuisants"},
H2: { type: "collines", label: "Collines de Parta"},
I2: { type: "foret", label: "Forêt Fade"},
J2: { type: "desert", label: "Désert de Poly"},
K2: { type: "foret", label: "Forêt Tamée"},
L2: { type: "fleuve", label: "Fleuve"},
M2: { type: "necropole", label: "Nécropole de Logos"},
A3: { type: "desolation", label: "Désolation de Demain"},
B3: { type: "plaines", label: "Plaines de Rubéga"},
C3: { type: "fleuve", label: "Fleuve"},
D3: { type: "gouffre", label: "Gouffre dOki"},
E3: { type: "foret", label: "Forêt dEstoubh"},
F3: { type: "fleuve", label: "Fleuve"},
G3: { type: "gouffre", label: "Gouffre de Sun"},
H3: { type: "foret", label: "Forêt de Ganna"},
I3: { type: "monts", label: "Monts Grinçants"},
J3: { type: "cite", label: "Cité Venin"},
K3: { type: "plaines", label: "Plaines de Dois"},
L3: { type: "lac", label: "Lac Laineux"},
M3: { type: "monts", label: "Monts de Vdah"},
A4: { type: "foret", label: "Forêt de Falconax"},
B4: { type: "monts", label: "Monts Crâneurs"},
C4: { type: "pont", label: "Pont de Giolii"},
D4: { type: "lac", label: "Lac de Foam"},
E4: { type: "plaines", label: "Plaines dOrti"},
F4: { type: "fleuve", label: "Fleuve"},
G4: { type: "sanctuaire", label: "Sanctuaire Blanc"},
H4: { type: "plaines", label: "Plaines de Psark"},
I4: { type: "plaines", label: "Plaines de Xiax"},
J4: { type: "collines", label: "Collines dEncre"},
K4: { type: "pont", label: "Pont de Fah"},
L4: { type: "sanctuaire", label: "Sanctuaire Mauve"},
M4: { type: "gouffre ", label: "Gouffre Grisant"},
A5: { type: "plaines", label: "Plaines de Trilkh"},
B5: { type: "collines", label: "Collines de Tanegy"},
C5: { type: "marais", label: "Marais Flouants"},
D5: { type: "fleuve", label: "Fleuve"},
E5: { type: "monts", label: "Monts Brûlants"},
F5: { type: "cite", label: "Cité de Panople"},
G5: { type: "pont", label: "Pont dIk"},
H5: { type: "desert", label: "Désert de Krane"},
I5: { type: "desolation", label: "Désolation de Demain"},
J5: { type: "marais", label: "Marais de Jab"},
K5: { type: "fleuve", label: "Fleuve"},
L5: { type: "collines", label: "Collines Suaves"},
M5: { type: "cite", label: "Cité Rimarde"},
A6: { type: "necropole", label: "Nécropole de Zniak"},
B6: { type: "foret", label: "Forêt de Bust"},
C6: { type: "cite", label: "Cité Pavois"},
D6: { type: "fleuve", label: "Fleuve"},
E6: { type: "sanctuaire", label: "Sanctuaire de Plaine"},
F6: { type: "fleuve", label: "Fleuve"},
G6: { type: "marais", label: "Marais Glutants"},
H6: { type: "monts", label: "Monts Gurdes"},
I6: { type: "necropole", label: "Nécropole de Xotar"},
J6: { type: "lac", label: "Lac dIaupe"},
K6: { type: "desolation", label: "Désolation de Demain"},
L6: { type: "foret", label: "Forêt Gueuse"},
M6: { type: "desolation", label: "Désolation de Demain"},
A7: { type: "plaines", label: "Plaines de lArc"},
B7: { type: "marais", label: "Marais Bluants"},
C7: { type: "fleuve", label: "Fleuve"},
D7: { type: "plaines", label: "Plaines dA!a"},
E7: { type: "foret", label: "Forêt de Glusks"},
F7: { type: "fleuve", label: "Fleuve"},
G7: { type: "cite", label: "Cité de Terwa"},
H7: { type: "gouffre", label: "Gouffre de Kapfa"},
I7: { type: "plaines", label: "Plaines de Troo"},
J7: { type: "fleuve", label: "Fleuve"},
K7: { type: "cite", label: "Cité de Kolix"},
L7: { type: "gouffre", label: "Gouffre dEpisophe"},
M7: { type: "desert", label: "Désert de Lave"},
A8: { type: "gouffre", label: "Gouffre de Shok"},
B8: { type: "fleuve", label: "Fleuve"},
C8: { type: "foret", label: "Forêt Turmide"},
D8: { type: "cite", label: "Cité dOlak"},
E8: { type: "plaines", label: "Plaines dIolise"},
F8: { type: "lac", label: "Lac des Chats"},
G8: { type: "plaines", label: "Plaines Sans Joie"},
H8: { type: "foret", label: "Forêt dOurf"},
I8: { type: "fleuve", label: "Fleuve"},
J8: { type: "monts", label: "Monts Barask"},
K8: { type: "desert", label: "Désert de Fumée"},
L8: { type: "monts", label: "Monts Tavelés"},
M8: { type: "plaines", label: "Plaines Lavées"},
A9: { type: "collines", label: "Collines de Korrex"},
B9: { type: "lac", label: "Lac de Lucre"},
C9: { type: "monts", label: "Monts Tuméfiés"},
D9: { type: "pont", label: "Pont dOrx"},
E9: { type: "fleuve", label: "Fleuve"},
F9: { type: "plaines", label: "Plaines de Foe"},
G9: { type: "desolation", label: "Désolation de Demain"},
H9: { type: "collines", label: "Collines de Noirseul"},
I9: { type: "fleuve", label: "Fleuve"},
J9: { type: "marais", label: "Marais Gronchants"},
K9: { type: "sanctuaire", label: "Sanctuaire Noir"},
L9: { type: "collines", label: "Collines Cornues"},
M9: { type: "necropole", label: "Nécropole de Zonar"},
A10: { type: "sanctuaire", label: "Sanctuaire dOlis"},
B10: { type: "monts", label: "Monts Salés"},
C10: { type: "marais", label: "Marais de Dom"},
D10: { type: "fleuve", label: "Fleuve"},
E10: { type: "gouffre", label: "Gouffre de Junk"},
F10: { type: "marais", label: "Marais Zultants"},
G10: { type: "cite", label: "Cité de Sergal"},
H10: { type: "plaines", label: "Plaines Noires"},
I10: { type: "lac", label: "Lac Wanito"},
J10: { type: "fleuve", label: "Fleuve"},
K10: { type: "plaines", label: "Plaines Jaunes"},
L10: { type: "desert", label: "Désert de Nicrop"},
M10: { type: "foret", label: "Forêt de Jajou"},
A11: { type: "desolation", label: "Désolation de Demain"},
B11: { type: "cite", label: "Cité de Brilz"},
C11: { type: "pont", label: "Pont de Roï"},
D11: { type: "desolation", label: "Désolation de Demain"},
E11: { type: "lac", label: "Lac de Glinster"},
F11: { type: "cite", label: "Cité de Noape"},
G11: { type: "fleuve", label: "Fleuve"},
H11: { type: "fleuve", label: "Fleuve"},
I11: { type: "pont", label: "Pont de Yalm"},
J11: { type: "plaines", label: "Plaines de Miltiar"},
K11: { type: "cite", label: "Cité Tonnerre"},
L11: { type: "collines", label: "Collines de Kol"},
M11: { type: "cite", label: "Cité Crapaud"},
A12: { type: "plaines", label: "Plaines Sages"},
B12: { type: "fleuve", label: "Fleuve"},
C12: { type: "lac", label: "Lac de Fricassa"},
D12: { type: "collines", label: "Collines dHuaï"},
E12: { type: "monts", label: "Monts Ajourés"},
F12: { type: "necropole", label: "Nécropole de 'roat"},
G12: { type: "plaines", label: "Plaines de Lufmil"},
H12: { type: "collines", label: "Collines de Tooth"},
I12: { type: "gouffre", label: "Gouffre Abimeux"},
J12: { type: "cite", label: "Cité Folle"},
K12: { type: "desolation", label: "Désolation de Demain"},
L12: { type: "plaines", label: "Plaines Venteuses"},
M12: { type: "collines", label: "Collines Révulsantes"},
A13: { type: "fleuve", label: "Fleuve"},
B13: { type: "gouffre", label: "Gouffre des Litiges"},
C13: { type: "desert", label: "Désert de Neige"},
D13: { type: "cite", label: "Cité Sordide"},
E13: { type: "plaines", label: "Plaines de Xnez"},
F13: { type: "foret", label: "Forêt des Cris"},
G13: { type: "plaines", label: "Plaines Calcaires"},
H13: { type: "desolation", label: "Désolation de Demain"},
I13: { type: "monts", label: "Monts Bigleux"},
J13: { type: "gouffre", label: "Gouffre de Gromph"},
K13: { type: "foret", label: "Forêt de Kluth"},
L13: { type: "monts", label: "Monts Dormants"},
M13: { type: "plaines", label: "Plaines dAnjou"},
A14: { type: "collines", label: "Collines de Stolis"},
B14: { type: "necropole", label: "Nécropole de Gorlo"},
C14: { type: "foret", label: "Forêt de Bissam"},
D14: { type: "sanctuaire", label: "Sanctuaire Plat"},
E14: { type: "monts", label: "Monts de Quath"},
F14: { type: "plaines", label: "Plaines Brisées"},
G14: { type: "desert", label: "Désert de Sek"},
H14: { type: "plaines", label: "Plaines Blanches"},
I14: { type: "cite", label: "Cité Destituée"},
J14: { type: "desert", label: "Désert de Sank"},
K14: { type: "necropole", label: "Nécropole dAntinéar"},
L14: { type: "plaines", label: "Plaines de Jislith"},
M14: { type: "desolation", label: "Désolation de Demain"},
A15: { type: "cite", label: "Cité de Mielh"},
C15: { type: "plaines", label: "Plaines de Toué"},
E15: { type: "foret", label: "Forêt des Furies"},
G15: { type: "plaines", label: "Plaines des Soupirs"},
I15: { type: "monts", label: "Monts des Dragées"},
K15: { type: "collines", label: "Collines Pourpres"},
M15: { type: "cite", label: "Cité de Klana"}
}
const rencontresTable = [ const rencontresTable = [
{name:"Messagers des Rêves", data: { force: "2d4", ignorer: true, derober: true, refoulement: 1, {name:"Messagers des Rêves", data: { force: "2d4", ignorer: true, derober: true, refoulement: 1,
cite: "01-25", sanctuaire: "01-25", plaines: "01-20", pont: "01-20", collines: "01-15", forêt: "01-15", monts: "01-10", desert: "01-10", fleuve: "01-05", cite: "01-25", sanctuaire: "01-25", plaines: "01-20", pont: "01-20", collines: "01-15", forêt: "01-15", monts: "01-10", desert: "01-10", fleuve: "01-05",
@ -68,9 +266,7 @@ export class TMRUtility {
/* -------------------------------------------- */ /* -------------------------------------------- */
static rencontreTMRRoll( coordTMR, cellDescr ) static rencontreTMRRoll( coordTMR, cellDescr )
{ {
let myroll = new Roll("d100"); let val = new Roll("d100").roll().total;
myroll.roll();
let val = myroll.total;
//console.log("Rencontre !!!!", val, coordTMR, cellDescr); //console.log("Rencontre !!!!", val, coordTMR, cellDescr);
for( let renc of rencontresTable) { for( let renc of rencontresTable) {
@ -91,7 +287,41 @@ export class TMRUtility {
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
static processRencontreReussite( actor, rencontre ) { static async processRencontreReussite( actor, rencontre ) {
let msg = "Vous avez réussi votre maîtrise ! ";
if (rencontre.name == "Messagers des Rêves") {
msg += "Le Messager des Rêves vous permet de lancer votre sort à XX cases !";
} else if (rencontre.name == "Passeur des Rêves") {
msg += "Le Passeur des Rêves vous téléporte sur une case à distance XX !";
} else if (rencontre.name == "Fleur des Rêves") {
await actor.updatePointsDeReve( rencontre.force );
msg += "La Fleur des rêves s'évanouit en vous fournissant " + rencontre.force + " Points de Rêve";
} else if (rencontre.name == "Mangeur de Rêve") {
msg += "Ce Mangeur des Rêves disparait !"
} else if (rencontre.name == "Changeur de Rêve") {
msg += "Ce Changeur des Rêves disparait !"
} else if (rencontre.name == "Briseur de Rêve") {
msg += "Ce Briseur des Rêves disparait !"
} else if (rencontre.name == "Reflet d'ancien Rêve") {
msg += "Ce Reflet d'ancien Rêve disparait !"
} else if (rencontre.name == "Tourbillon blanc") {
msg += "Ce Tourbillon Blanc disparait !"
} else if (rencontre.name == "Tourbillon noir") {
msg += "Ce Tourbillon Noir disparait !"
} else if (rencontre.name == "Rêve de Dragon") {
msg += "Un Rêve de Dragon survient !"
}
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
@ -134,19 +364,39 @@ export class TMRUtility {
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
static getSouffle( ) { static async genericGetTableResult( tableName, toChat)
{
let pack = game.packs.get("foundryvtt-reve-de-dragon.tables-diverses");
await pack.getIndex();
let entry = pack.index.find(e => e.name === tableName);
let rollQueues = await pack.getEntity(entry._id);
let result = rollQueues.draw( { displayChat: toChat } );
return result;
}
/* -------------------------------------------- */
static async getSouffle( toChat ) {
return TMRUtility.genericGetTableResult( "Souffles de Dragon", toChat);
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
static getQueue( ) { static async getQueue( toChat = true) {
return TMRUtility.genericGetTableResult( "Queues de dragon", toChat);
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
static getTete( ) { static async getTete( toChat = true ) {
return TMRUtility.genericGetTableResult( "Têtes de Dragon pour haut-rêvants", toChat);
}
/* -------------------------------------------- */
static async getTeteHR( toChat = true ) {
return TMRUtility.genericGetTableResult( "Têtes de Dragon pour tous personnages", toChat);
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
static getOmbre( ) { static async getOmbre( toChat = true ) {
return TMRUtility.genericGetTableResult( "Ombre de Thanatos", toChat);
} }
} }

View File

@ -1,65 +0,0 @@
{"name":"Comédie","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-8,"base":-8,"categorie":"particuliere","xp":0,"description":"<p>Lart de paraître sur une scène : jouer un rôle, déclamer des vers, mimer, conter. Peut aussi servir à simuler, mystifier.</p>\n<p>&nbsp;</p>","defaut_carac":"apparence"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_comedie.png","_id":"2JLK5e97WbTM5WxX"}
{"name":"Jeu","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-11,"base":-11,"categorie":"specialisee","xp":0,"description":"<p>Jeux de tripot, manipuler les dés. Connaître les jeux et les meilleures stratégies, déceler un tricheur et tricher soi-même.</p>\n<p>&nbsp;</p>","defaut_carac":"intellect"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_jeu.png","_id":"3VSMRwMYpOi83wgE"}
{"name":"Cuisine","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-4,"base":-4,"categorie":"generale","xp":0,"description":"<p>Identifier les saveurs culinaires, les épices et les aromates. Exécuter, inventer une recette. Faire griller un gibier sur un feu de&nbsp;camp nest généralement pas de la cuisine,&nbsp;mais de la simple survie.</p>\n<p>&nbsp;</p>","defaut_carac":"odoratgout"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_cuisine.png","_id":"3qRzl3nhLZNsoDsI"}
{"name":"Survie en Sous-Sol","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-8,"base":-8,"categorie":"particuliere","xp":0,"description":"<p>Par exemple pister un gibier en forêt demande lusage de Survie en forêt, trouver une grotte pour sabriter en montagne demande Survie en montagne. Survie en extérieur tient lieu de survie spécifique pour les plaines et collines non boisées.</p>\n<p>&nbsp;</p>","defaut_carac":"intellect"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_survie_sous_sol.png","_id":"6pXxEdeo7xcDvgx0"}
{"name":"Corps à corps","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-6,"base":-6,"categorie":"melee","xp":0,"description":"<p>Groupées en une seule jusquau niveau zéro, ces compétences sont les principes de base du combat de mêlée. Corps à&nbsp;corps permet de se battre sans armes ; Es-quive permet desquiver toutes les sortes&nbsp;de coup ; Dague de mêlée permet lutilisation de la dague au contact.</p>\n<p>&nbsp;</p>","defaut_carac":"melee"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_corps_a_corps.png","_id":"8Uj41cL5Qlxxy675"}
{"name":"Discrétion","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-4,"base":-4,"categorie":"generale","xp":0,"description":"<p>Se déplacer en silence, sans se faire remarquer, passer inaperçu, se fondre dans</p>\n<p>lanonymat, se cacher.</p>\n<p>&nbsp;</p>","defaut_carac":"agilite"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_discretion.png","_id":"94P55yZfeipCGbsr"}
{"name":"Saut","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-4,"base":-4,"categorie":"generale","xp":0,"description":"<p>Sauter par-dessus un obstacle ou sauter en contrebas ; rattraper une chute en la transformant en saut.</p>\n<p>&nbsp;</p>","defaut_carac":"agilite"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_saut.png","_id":"9ICvksiNG6Bhm8CE"}
{"name":"Navigation","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-11,"base":-11,"categorie":"specialisee","xp":0,"description":"<p>Connaissance des manœuvres à accomplir sur un voilier, connaissance de la mer, de ses courants (voir Navigation, p325).</p>\n<p>&nbsp;</p>","defaut_carac":"vue"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_navigation.png","_id":"AXeWswf2Dth9ysvy"}
{"name":"Séduction","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-4,"base":-4,"categorie":"generale","xp":0,"description":"<p>Lart dêtre galant, de paraître attirant. Permet les conquêtes amoureuses.</p>\n<p>&nbsp;</p>","defaut_carac":"apparence"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_seduction.png","_id":"AbM6lJ7DI2UAWLxj"}
{"name":"Masse à 2 mains","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-6,"base":-6,"categorie":"melee","xp":0,"description":"<p>Ces compétences permettent lutilisation des masses, gourdins, bâtons, pour attaquer, voire parer.</p>\n<p>&nbsp;</p>","defaut_carac":"melee"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_masse_2_mains.png","_id":"BMAloiSbDKOu3b4C"}
{"name":"Chirurgie","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-11,"base":-11,"categorie":"specialisee","xp":0,"description":"<p>Lart de soigner les blessures, panser, recoudre ; savoir se servir dun rasoir. Chirurgie&nbsp;est utilisée pour accomplir premiers soins et soins complets sur toutes les blessures, et&nbsp;par extension, pour tous les actes de secourisme et de réanimation.</p>\n<p>&nbsp;</p>","defaut_carac":"dexterite"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_chirurgie.png","_id":"BlG2YPATIbnY3m9P"}
{"name":"Survie en Montagne","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-8,"base":-8,"categorie":"particuliere","xp":0,"description":"<p>Par exemple pister un gibier en forêt demande lusage de Survie en forêt, trouver une grotte pour sabriter en montagne demande Survie en montagne. Survie en extérieur tient lieu de survie spécifique pour les plaines et collines non boisées.</p>\n<p>&nbsp;</p>","defaut_carac":"intellect"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_survie_montagne.png","_id":"BzqBOeqS6HvJhqey"}
{"name":"Métallurgie","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-11,"base":-11,"categorie":"specialisee","xp":0,"description":"<p>Cest au sens large le travail du métal, et principalement du fer. Battre le fer, forger, tremper, limer, poncer, riveter. Évaluer la qualité, la solidité, dun objet de fer, une arme par exemple.</p>\n<p>&nbsp;</p>","defaut_carac":"force"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_metallurgie.png","_id":"CHyk96ypxMrg8VXh"}
{"name":"Equitation","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-8,"base":-8,"categorie":"particuliere","xp":0,"description":"<p>Monter à cheval, et, dune manière générale, connaissance des chevaux. Peut sappliquer aux autres montures de Rêve de&nbsp;Dragon : aligates, zyglutes, etc.</p>\n<p>&nbsp;</p>","defaut_carac":"agilite"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_equitation.png","_id":"F5iQNrZSeJsfyTnV"}
{"name":"Charpenterie","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-8,"base":-8,"categorie":"particuliere","xp":0,"description":"<p>Cest au sens large le travail du bois, charpenterie, menuiserie, ébénisterie. Évaluer&nbsp;la qualité, solidité, dune structure de bois.</p>\n<p>&nbsp;</p>","defaut_carac":"dexterite"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_charpenterie.png","_id":"FqLWG6xjISKMLPiX"}
{"name":"Astrologie","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-11,"base":-11,"categorie":"connaissance","xp":0,"description":"<p>Connaissance des étoiles et de leur signification symbolique. Calculer les nombres astraux gouvernant la chance de chaque&nbsp;individu. Sorienter aux étoiles (voir Astrologie, p155).</p>\n<p>&nbsp;</p>","defaut_carac":"vue"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_astrologie.png","_id":"GIIQm22Q4bBsmxpE"}
{"name":"Course","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-4,"base":-4,"categorie":"generale","xp":0,"description":"<p>Sprinter le plus vite possible, ou courir sur de longues distances en m&eacute;nageant son souffle.</p>\n<p>&nbsp;</p>","defaut_carac":"agilite"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_course.png","_id":"Jz4AZdDlSjsyoUsm"}
{"name":"Chant","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-4,"base":-4,"categorie":"generale","xp":0,"description":"<p>Savoir chanter juste, se souvenir de mélodies, improviser.</p>\n<p>&nbsp;</p>","defaut_carac":"ouie"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_chant.png","_id":"LE4nA119la5cd0bC"}
{"name":"Danse","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-4,"base":-4,"categorie":"generale","xp":0,"description":"<p>Être capable de danser en mesure, de danser harmonieusement avec une personne</p>\n<p>ou un groupe, de charmer un public par&nbsp;une exhibition.</p>\n<p>&nbsp;</p>","defaut_carac":"agilite"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_danse.png","_id":"LhP3Y0qCBHNp2atl"}
{"name":"Epée à 2 mains","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-6,"base":-6,"categorie":"melee","xp":0,"description":"<p>Ces compétences permettent lutilisation des sept types dépées de Rêve de Dragon pour attaquer ou parer.</p>\n<p>&nbsp;</p>\n<p>&nbsp;</p>","defaut_carac":"melee"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_epee_2_mains.png","_id":"MLIEbxSJHkY1m3No"}
{"name":"Dessin","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-4,"base":-4,"categorie":"generale","xp":0,"description":"<p>Avoir le sens des proportions. Savoir dessiner, faire le portrait de quelquun, mais</p>\n<p>également savoir faire un schéma, une carte, un plan, aux proportions exactes.</p>\n<p>&nbsp;</p>","defaut_carac":"tir"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_dessin.png","_id":"OVcZE4kfiPYEOzgm"}
{"name":"Orfèvrerie","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-11,"base":-11,"categorie":"specialisee","xp":0,"description":"<p>Travail et connaissance des métaux précieux : or, argent, cuivre, étain, et par extension des pierres et perles précieuses.&nbsp;Évaluer la taille et la pureté dune gemme,&nbsp;le prix dun bijou.</p>\n<p>&nbsp;</p>","defaut_carac":"dexterite"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_orfevrerie.png","_id":"PMOjO2CdedH1UTyi"}
{"name":"Serrurerie","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-11,"base":-11,"categorie":"specialisee","xp":0,"description":"<p>Compréhension des mécaniques et mécanismes, et plus particulièrement des serrures. Comprendre un mécanisme, le faire fonctionner, le réparer, le désarmer, le crocheter.</p>\n<p>&nbsp;</p>","defaut_carac":"dexterite"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_serrurerie.png","_id":"PMnsXDyeB8w8ZG2k"}
{"name":"Survie en Forêt","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-8,"base":-8,"categorie":"particuliere","xp":0,"description":"<p>Par exemple pister un gibier en forêt demande lusage de Survie en forêt, trouver une grotte pour sabriter en montagne demande Survie en montagne. Survie en extérieur tient lieu de survie spécifique pour les plaines et collines non boisées.</p>\n<p>&nbsp;</p>","defaut_carac":"intellect"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_survie_foret.png","_id":"PbvubzCxnOSnWLpG"}
{"name":"Botanique","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-11,"base":-11,"categorie":"connaissance","xp":0,"description":"<p>Identification des espèces végétales et de leurs propriétés. Permet de savoir si une plante connue pousse dans un milieu donné. Recherche de cette plante.</p>\n<p>&nbsp;</p>","defaut_carac":"vue"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_botanique.png","_id":"PmwXYvmutlyQEonB"}
{"name":"Bouclier","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-6,"base":-6,"categorie":"melee","xp":0,"description":"<p>Utilisation de toutes les sortes de bouclierpour parer.</p>\n<p>&nbsp;</p>","defaut_carac":"melee"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_bouclier.png","_id":"SJE3ghtswQwP1dIy"}
{"name":"Alchimie","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-11,"base":-11,"categorie":"connaissance","xp":0,"description":"<p>Connaissance des recettes et préparations alchimiques. Identification, élaboration, des solutions diverses, breuvages, poudres, onguents, crèmes, etc. (voir Principes dalchimie, p357).</p>\n<p>&nbsp;</p>","defaut_carac":"intellect"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_alchimie.png","_id":"TAKRb9CdMUhs9dd4"}
{"name":"Vigilance","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-4,"base":-4,"categorie":"generale","xp":0,"description":"<p>Le talent dêtre toujours sur ses gardes, prêt à déceler la moindre anomalie, de</p>\n<p>bruit, dodeur, de mouvement, etc. Permet de ne pas être surpris en combat, par</p>\n<p>exemple. Indispensable pour monter sérieusement la garde.</p>\n<p>&nbsp;</p>","defaut_carac":"volonte"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_vigilance.png","_id":"VyAJK54OPjiRt8oH"}
{"name":"Médecine","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-11,"base":-11,"categorie":"connaissance","xp":0,"description":"<p>Diagnostic et soin des maladies. Connaissance des remèdes.</p>\n<p>&nbsp;</p>","defaut_carac":"intellect"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_medecine.png","_id":"XK2TlYnhR8FlDaEi"}
{"name":"Maroquinerie","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-11,"base":-11,"categorie":"specialisee","xp":0,"description":"<p>Travail du cuir et de la peau. Dépecer correctement un animal en vue de conserver la peau, préparation au tannage, tannage. Évaluer la qualité, la solidité, dun travail de cuir.</p>\n<p>&nbsp;</p>","defaut_carac":"dexterite"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_maroquinerie.png","_id":"XYMQBxFKSs2nPW0J"}
{"name":"Survie en Marais","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-8,"base":-8,"categorie":"particuliere","xp":0,"description":"<p>Par exemple pister un gibier en forêt demande lusage de Survie en forêt, trouver une grotte pour sabriter en montagne demande Survie en montagne. Survie en extérieur tient lieu de survie spécifique pour les plaines et collines non boisées.</p>\n<p>&nbsp;</p>","defaut_carac":"intellect"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_survie_marais.png","_id":"azn3Sm7XYKP78huL"}
{"name":"Voie d'Hypnos","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-11,"base":-11,"categorie":"draconic","xp":0,"description":"<p>Magie dillusion, suggestion, invocation.</p>\n<p>&nbsp;</p>","defaut_carac":"reve"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_hypnos.png","_id":"bt2cR4aE6lIOeg4F"}
{"name":"Zoologie","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-11,"base":-11,"categorie":"connaissance","xp":0,"description":"<p>Connaissance des espèces animales, de leurs mœurs, leur des habitat.</p>","defaut_carac":"intellect"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_zoologie.png","_id":"c5wursWW03ckpyqn"}
{"name":"Masse à 1 main","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-6,"base":-6,"categorie":"melee","xp":0,"description":"<p>Ces compétences permettent lutilisation des masses, gourdins, bâtons, pour attaquer, voire parer.</p>\n<p>&nbsp;</p>","defaut_carac":"melee"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_masse_1_main.png","_id":"cMHm3gQr9rUp4iPK"}
{"name":"Voie de Thanatos","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-11,"base":-11,"categorie":"draconic","xp":0,"description":"<p>Magie noire des forces du cauchemar.</p>\n<p>&nbsp;</p>","defaut_carac":"reve"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_thanatos.png","_id":"dPlTQzvU3CEg5qKc"}
{"name":"Pickpocket","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-8,"base":-8,"categorie":"particuliere","xp":0,"description":"<p>Art extrêmement dangereux du vol à la tire.</p>","defaut_carac":"dexterite"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_pickpocket.png","_id":"dT5cvI7q1HcrLaT1"}
{"name":"Maçonnerie","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-8,"base":-8,"categorie":"particuliere","xp":0,"description":"<p>Cest au sens large le travail de la pierre. Évaluer la qualité, la solidité dune struc-</p>\n<p>ture maçonnée.</p>\n<p>&nbsp;</p>","defaut_carac":"vue"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_maconnerie.png","_id":"dwGVDTUJYP9FcmWM"}
{"name":"Epée à 1 main","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-6,"base":-6,"categorie":"melee","xp":0,"description":"<p>Groupées en une seule jusquau niveau zéro, ces compétences sont les principes de base du combat de mêlée. Corps à&nbsp;corps permet de se battre sans armes ; Es-quive permet desquiver toutes les sortes&nbsp;de coup ; Dague de mêlée permet lutilisation de la dague au contact.</p>\n<p>&nbsp;</p>","defaut_carac":"melee"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_epee_1_main.png","_id":"fPhPcCP3sbS6mfbS"}
{"name":"Escalade","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-4,"base":-4,"categorie":"generale","xp":0,"description":"<p>Escalader des obstacles, grimper à la corde, à un arbre, le long dune paroi.</p>\n<p>&nbsp;</p>","defaut_carac":"force"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_escalade.png","_id":"gECPPcn6j3B3sWTS"}
{"name":"Légendes","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-11,"base":-11,"categorie":"connaissance","xp":0,"description":"<p>Connaissance des légendes et des faits du passé. Légendes tient lieu dhistoire.</p>\n<p>&nbsp;</p>","defaut_carac":"intellect"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_legendes.png","_id":"i3wMVkXObzlDVZTG"}
{"name":"Fronde","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-8,"base":-8,"categorie":"tir","xp":0,"description":"<p>Utilisation de la fronde giratoire.</p>\n<p>&nbsp;</p>","defaut_carac":"tir"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_fronde.png","_id":"iNXKIfaETtgSGA0S"}
{"name":"Arbalète","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-8,"base":-8,"categorie":"tir","xp":0,"description":"<p>Utilisation de tous les types darbalètes.</p>","defaut_carac":"tir"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_arbalete.png","_id":"lt9VC7PkX4Faiduq"}
{"name":"Javelot","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-8,"base":-8,"categorie":"lancer","xp":0,"description":"<p>Utilisation de la lance courte ou de la javeline en lancer.</p>\n<p>&nbsp;</p>","defaut_carac":"lancer"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_javelot.png","_id":"neuzZG2C5C0IJ1yk"}
{"name":"Voie d'Oniros","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-11,"base":-11,"categorie":"draconic","xp":0,"description":"<p>Magie sappliquant au monde inanimé.</p>\n<p>&nbsp;</p>","defaut_carac":"reve"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_oniros.png","_id":"nnR2UHelUaF8dxYn"}
{"name":"Esquive","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-6,"base":-6,"categorie":"melee","xp":0,"description":"<p>Groupées en une seule jusquau niveau zéro, ces compétences sont les principes de base du combat de mêlée. Corps à&nbsp;corps permet de se battre sans armes ; Es-quive permet desquiver toutes les sortes&nbsp;de coup ; Dague de mêlée permet lutilisation de la dague au contact.</p>\n<p>&nbsp;</p>","defaut_carac":"derobee"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_esquive.png","_id":"oFje22fZF1FaCQhN"}
{"name":"Survie en Cité","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-8,"base":-8,"categorie":"particuliere","xp":0,"description":"<p>Se sentir à son aise dans un milieu urbain, dans une foule. Savoir sorienter intuitivement dans le dédale dune cité inconnue, et en déceler les dangers : coupeurs de bourse, escrocs, tout autant que patrouilles de gardes. Savoir à qui sadresser.</p>\n<p>&nbsp;</p>","defaut_carac":"derobee"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_survie_cite.png","_id":"oHnSnCw1RAW5t15S"}
{"name":"Jonglerie","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-11,"base":-11,"categorie":"specialisee","xp":0,"description":"<p>Balles, quilles, couteaux, torches enflammées : lart traditionnel du jongleur.</p>\n<p>&nbsp;</p>","defaut_carac":"dexterite"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_jonglerie.png","_id":"owCW3nZDvlJy1kCT"}
{"name":"Natation","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-11,"base":-11,"categorie":"specialisee","xp":0,"description":"<p>Nager, plonger.</p>\n<p>&nbsp;</p>","defaut_carac":"force"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_natation.png","_id":"qBUtHhyjvrg1c34I"}
{"name":"Ecriture","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-11,"base":-11,"categorie":"connaissance","xp":0,"description":"<p>Lire et &eacute;crire. Savoir composer un texte, un po&egrave;me. Connaissance g&eacute;n&eacute;rale des langues anciennes.</p>\n<p>&nbsp;</p>","defaut_carac":"intellect"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_ecriture.png","_id":"qmIpUeedvjC8nGF1"}
{"name":"Fléau","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-6,"base":-6,"categorie":"melee","xp":0,"description":"<p>Utilisation de tous les types de fléaux, pour attaquer.</p>\n<p>&nbsp;</p>","defaut_carac":"melee"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_fleau.png","_id":"r79VAGS1fRUm4oAd"}
{"name":"Armes d'hast","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-6,"base":-6,"categorie":"melee","xp":0,"description":"<p>Utilisation de toutes les piques, vouges, hallebardes, toujours maniées à deux mains, pour attaquer.</p>\n<p>&nbsp;</p>","defaut_carac":"melee"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_armes_hast.png","_id":"rwsHwIDszSIPBkrO"}
{"name":"Arc","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-8,"base":-8,"categorie":"tir","xp":0,"description":"<p>Utilisation de tous les types darcs.</p>\n<p>&nbsp;</p>","defaut_carac":"tir"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_arc.png","_id":"tVbFkKSN4n0RSrFU"}
{"name":"Dague de jet","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-8,"base":-8,"categorie":"lancer","xp":0,"description":"<p>Utilisation de la dague en lancer.</p>","defaut_carac":"lancer"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_dague_jet.png","_id":"thJy5AN0qePmfpJu"}
{"name":"Bricolage","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-4,"base":-4,"categorie":"generale","xp":0,"description":"<p>Lart dêtre inventif avec ses doigts, pour de&nbsp;petits aménagements ou réparations. Ne&nbsp;peut en aucun cas se substituer aux compétences dartisanat, Charpenterie, Maçonnerie, etc. Bricolage est utilisé quand lusage&nbsp;de ces compétences nest pas pertinent.</p>\n<p>&nbsp;</p>","defaut_carac":"dexterite"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_bricolage.png","_id":"tvIGIPaEJZBaySil"}
{"name":"Voie de Narcos","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-11,"base":-11,"categorie":"draconic","xp":0,"description":"<p>Magie denchantement.</p>","defaut_carac":"reve"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_narcos.png","_id":"u1Peok1EYkBcVsmN"}
{"name":"Survie en Glaces","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-8,"base":-8,"categorie":"particuliere","xp":0,"description":"<p>Par exemple pister un gibier en forêt demande lusage de Survie en forêt, trouver une grotte pour sabriter en montagne demande Survie en montagne. Survie en extérieur tient lieu de survie spécifique pour les plaines et collines non boisées.</p>\n<p>&nbsp;</p>","defaut_carac":"intellect"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_survie_glace.png","_id":"uGPqmorAYxv1jboC"}
{"name":"Survie en Extérieur","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-8,"base":-8,"categorie":"particuliere","xp":0,"description":"<p>Se sentir à son aise dans la nature, hors de toute civilisation, sorienter. Construireun abri, allumer un feu en mauvaisesconditions, trouver de leau, pêcher, savoirExemplaire pour dépecer un gibier et laccommoder sur un feu de braise. Quand un milieu particulier devient déterminant, utiliser à la place une des 6 survies spécifiques.</p>","defaut_carac":"intellect"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_survie_exterieur.png","_id":"ue5iDSm2f4efQDWO"}
{"name":"Survie en Désert","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-8,"base":-8,"categorie":"particuliere","xp":0,"description":"<p>Par exemple pister un gibier en forêt demande lusage de Survie en forêt, trouver une grotte pour sabriter en montagne demande Survie en montagne. Survie en extérieur tient lieu de survie spécifique pour les plaines et collines non boisées.</p>\n<p>&nbsp;</p>","defaut_carac":"intellect"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_survie_desert.png","_id":"vDOAyWc2YnuhNnFF"}
{"name":"Fouet","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-8,"base":-8,"categorie":"lancer","xp":0,"description":"<p>Utilisation du fouet.</p>","defaut_carac":"lancer"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_fouet.png","_id":"vIQVQxUeiw36hztI"}
{"name":"Travestissement","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-8,"base":-8,"categorie":"particuliere","xp":0,"description":"<p>Lart de se déguiser, de se grimer, de se rendre méconnaissable.</p>\n<p>&nbsp;</p>","defaut_carac":"apparence"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_travestissement.png","_id":"w9QubIHdWEUorges"}
{"name":"Hache à 1 main","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-6,"base":-6,"categorie":"melee","xp":0,"description":"<p>Ces deux compétences permettent lutilisation des hachettes, cognées et haches de bataille, pour attaquer.</p>\n<p>&nbsp;</p>\n<p>&nbsp;</p>","defaut_carac":"melee"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_hache_a_1_main.png","_id":"wEfuLImdNX4BSXVi"}
{"name":"Musique","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-8,"base":-8,"categorie":"particuliere","xp":0,"description":"<p>Solfège et règles musicales, jeu dun instrument. Musique donne droit à la connaissance dun instrument de musique, un seul, à spécifier.</p>\n<p>&nbsp;</p>","defaut_carac":"ouie"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_musique.png","_id":"wefdYe0kvWKioPmk"}
{"name":"Commerce","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-8,"base":-8,"categorie":"particuliere","xp":0,"description":"<p>Évaluer le prix dune marchandise, la valeur dune monnaie locale. Savoir</p>\n<p>jusquoù lon peut marchander (lequel&nbsp;marchandage doit être fait en jeu de rôle</p>\n<p>par le joueur lui-même).</p>\n<p>&nbsp;</p>","defaut_carac":"intellect"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_defaut.png","_id":"zO7Av9hJ2vdJiPgI"}
{"name":"Lance","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-6,"base":-6,"categorie":"melee","xp":0,"description":"<p>Utilisation en mêlée de la lance courte et de la javeline, pour attaquer, voire parer. La lance nest toujours quà une main.</p>\n<p>&nbsp;</p>","defaut_carac":"melee"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_lance.png","_id":"zPTXua2Kq6TeBTTZ"}
{"name":"Acrobatie","permission":{"default":0,"Q4cUvqxCxMoTJXDL":3},"type":"competence","data":{"niveau":-11,"base":-11,"categorie":"specialisee","xp":0,"description":"<p>Pirouettes, sauts périlleux, art du funambule, et dune manière générale, toutes les performances dagilité spécialisées.</p>\n<p>&nbsp;</p>","defaut_carac":"agilite"},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_acrobatie.png","_id":"zyNYa3hYtrOcF2jA"}

View File

@ -1,16 +1,16 @@
{"_id":"0ninnfcmwzrj7k1n","name":"Mauvaise rencontre en perspective","permission":{"default":0,"jOzRscDxoXZWpGS6":3},"folder":"","flags":{},"content":"<p>Tirer la prochaine rencontre dans les TMR sur la @RollTable[52ymSWISvXPUhRyQ]{Table sp&eacute;ciale de rencontres}</p>\n<p>@JournalEntry[pyyjQGx3Hz0R5a0Z]{Passeur fou}</p>\n<p>@JournalEntry[S6XCr67fUuUpLtRm]{Tourbillon rouge}</p>"} {"name":"Mauvaise rencontre en perspective","permission":{"default":0,"jOzRscDxoXZWpGS6":3},"type":"queue","data":{"description":"<p>Tirer la prochaine rencontre dans les TMR sur la @RollTable[52ymSWISvXPUhRyQ]{Table spéciale de rencontres}</p>","refoulement":1},"flags":{},"img":"icons/svg/mystery-man.svg","_id":"0jrEZ62Q2Jz4kBGf"}
{"name":"Idée fixe","permission":{"default":0,"jOzRscDxoXZWpGS6":3},"flags":{},"content":"<p>Tirer 1d20 sur la table des @RollTable[FKXqN9FOJQHQXZ2L]{Id&eacute;es fixes}. Les id&eacute;es fixes prennent e!et imm&eacute;diatement et durent jusqu&rsquo;&agrave; l&rsquo;extr&ecirc;me $n de l&rsquo;heure du Ch&acirc;teau Dormant du lendemain. Si pass&eacute; ce d&eacute;lai, l&rsquo;occasion de les manifester ne s&rsquo;est pas pr&eacute;sent&eacute;e, la queue prend $n n&eacute;anmoins. Si elles entrent en contradiction avec une autre queue de Dragon, retirer. <em>Les id&eacute;es fixes peuvent &ecirc;tre refoul&eacute;es &agrave; tout moment au prix de 1 point de refoulement</em>.</p>","_id":"3SlglNScMS7nKQlx"} {"name":"Souvenir obsessionnel de l'archétype","permission":{"default":0,"jOzRscDxoXZWpGS6":3},"type":"queue","data":{"description":"<p>Les prochains points dexpérience dus au stress doivent être mis dans une compétence déterminée aléatoirement. TABLE ALÉATOIRE À CRÉER</p>","refoulement":1},"flags":{},"img":"icons/svg/mystery-man.svg","_id":"1gGVlZM0UyifL6RK"}
{"name":"Pélerinage","permission":{"default":0,"jOzRscDxoXZWpGS6":3},"flags":{},"content":"<p>Avant de pouvoir &agrave; nouveau faire usage du haut-r&ecirc;ve, y compris d&eacute;clencher volontairement un sort mis en r&eacute;serve, le haut-r&ecirc;vant doit se rendre dans une certaine case des TMR d&eacute;termin&eacute;e al&eacute;atoirement. Un Passeur peut l&rsquo;y t&eacute;l&eacute;porter, mais un Messager ne peut s&rsquo;y rendre &agrave; sa place. D&egrave;s que la case est atteinte, le p&egrave;lerinage est accompli.</p>","_id":"5CeHIVMp1q4UInfA"} {"name":"Coup de foudre fatal","permission":{"default":0,"jOzRscDxoXZWpGS6":3},"type":"queue","data":{"description":"<p>On devient immédiatement amoureux fou de la première personne inconnue de sexe opposé et de même espèce rencontrée. Tant que satisfaction nest pas obtenue, traiter comme un désir lancinant.&nbsp;</p>","refoulement":2},"flags":{},"img":"icons/svg/mystery-man.svg","_id":"32LbwxxokC9Tn370"}
{"name":"Souvenir obsessionnel de l'archétype","permission":{"default":0,"jOzRscDxoXZWpGS6":3},"flags":{},"content":"<p>Les prochains points d&rsquo;exp&eacute;rience dus au stress doivent &ecirc;tre mis dans une comp&eacute;tence d&eacute;termin&eacute;e al&eacute;atoirement (voir table page suivante).</p>","_id":"8luj4WAhdV94mr6l"} {"name":"Montée laborieuse","permission":{"default":0,"jOzRscDxoXZWpGS6":3},"type":"queue","data":{"description":"<p>Pendant un jour, monter en TMR coûte 2 points de rêve au lieu dun, et 3 points en déplacement accéléré.</p>","refoulement":1},"flags":{},"img":"icons/svg/mystery-man.svg","_id":"5knw1NcnBsLIjHpr"}
{"name":"Coup de barre","permission":{"default":0,"jOzRscDxoXZWpGS6":3},"flags":{},"content":"<p>Prise imm&eacute;diate de 3d6 points de fatigue.</p>","_id":"9zh3JAHw0AgS6B4v"} {"name":"Inertie draconique","permission":{"default":0,"jOzRscDxoXZWpGS6":3},"type":"queue","data":{"description":"<p>Pendant un jour, la fatigue en TMR est doublée. Chaque case ou round coûte 2 points au lieu dun.</p>","refoulement":1},"flags":{},"img":"icons/svg/mystery-man.svg","_id":"EUrxQGd7FuW628NS"}
{"name":"Dépouillement","permission":{"default":0,"jOzRscDxoXZWpGS6":3},"flags":{},"content":"<p>Faire don de toute la monnaie actuellement poss&eacute;d&eacute;e &agrave; la premi&egrave;re personne inconnue rencontr&eacute;e. En attendant, se garder d&rsquo;aucune d&eacute;pense. <em>Refoulable au prix de 2 points de refoulement</em>.</p>","_id":"FYzlFFtKbrrYwR49"} {"name":"Idée fixe","permission":{"default":0,"jOzRscDxoXZWpGS6":3},"type":"queue","data":{"description":"<p>Tirer 1d20 sur la table des @RollTable[FKXqN9FOJQHQXZ2L]{Idées fixes}. Les idées fixes prennent e!et immédiatement et durent jusquà lextrême $n de lheure du Château Dormant du lendemain. Si passé ce délai, loccasion de les manifester ne sest pas présentée, la queue prend $n néanmoins. Si elles entrent en contradiction avec une autre queue de Dragon, retirer.</p>","refoulement":1},"flags":{},"img":"icons/svg/mystery-man.svg","_id":"J3XtcVuQo846U1OT"}
{"name":"Désir lancinant","permission":{"default":0,"jOzRscDxoXZWpGS6":3},"flags":{},"content":"<p>Tirer 1d20 sur la table des@RollTable[wysZQFqioBqPijZM]{D&eacute;sirs lancinants}. Les d&eacute;sirs lancinants durent jusqu&rsquo;&agrave; ce qu&rsquo;ils soient satisfaits ou refoul&eacute;s. Tant que satisfaction n&rsquo;est pas obtenue, aucun point d&rsquo;exp&eacute;rience ne peut plus &ecirc;tre gagn&eacute; par l&rsquo;exercice en cas de particuli&egrave;re et d&rsquo;ajustement final n&eacute;gatif. Les points d&rsquo;exp&eacute;rience dus au stress ne sont pas affect&eacute;s. Les d&eacute;sirs lancinants peuvent &ecirc;tre refoul&eacute;s &agrave; tout moment au prix de 1 point de refoulement.</p>","_id":"I97dLVQibx8t5C0z"} {"name":"Désir lancinant","permission":{"default":0,"jOzRscDxoXZWpGS6":3},"type":"queue","data":{"description":"<p>Tirer 1d20 sur la table des@RollTable[wysZQFqioBqPijZM]{Désirs lancinants}. Les désirs lancinants durent jusquà ce quils soient satisfaits ou refoulés. Tant que satisfaction nest pas obtenue, aucun point dexpérience ne peut plus être gagné par lexercice en cas de particulière et dajustement final négatif. Les points dexpérience dus au stress ne sont pas affectés.</p>","refoulement":1},"flags":{},"img":"icons/svg/mystery-man.svg","_id":"Ltgqj86rYQr8D8LW"}
{"name":"Montée laborieuse","permission":{"default":0,"jOzRscDxoXZWpGS6":3},"flags":{},"content":"<p>Pendant un jour, monter en TMR co&ucirc;te 2 points de r&ecirc;ve au lieu d&rsquo;un, et 3 points en d&eacute;placement acc&eacute;l&eacute;r&eacute;.</p>","_id":"K38bDmtyuVycJOqX"} {"name":"Pélerinage","permission":{"default":0,"jOzRscDxoXZWpGS6":3},"type":"queue","data":{"description":"<p>Avant de pouvoir à nouveau faire usage du haut-rêve, y compris déclencher volontairement un sort mis en réserve, le haut-rêvant doit se rendre dans une certaine case des TMR déterminée aléatoirement. Un Passeur peut ly téléporter, mais un Messager ne peut sy rendre à sa place. Dès que la case est atteinte, le pèlerinage est accompli.</p>","refoulement":1},"flags":{},"img":"icons/svg/mystery-man.svg","_id":"NF4E7jTty1QGjaNj"}
{"name":"Urgence draconique","permission":{"default":0,"jOzRscDxoXZWpGS6":3},"flags":{},"content":"<p>Le haut-r&ecirc;vant est pris du besoin irr&eacute;sistible de d&eacute;clencher imm&eacute;diatement son plus proche sort en r&eacute;serve. &Agrave; &eacute;quidistance, prendre dans le sens des aiguilles d&rsquo;une montre en commen&ccedil;ant par le haut. En cas de rencontre dans les TMR, se d&eacute;rober &eacute;quivaut &agrave; refouler la queue de Dragon. Si aucun sort n&rsquo;est en r&eacute;serve, ou si il y a impossibilit&eacute; de pratiquer la magie &agrave; cause d&rsquo;une autre queue ou d&rsquo;un sou%e, tirer &agrave; la place une id&eacute;e fixe. <em>Refoulable au prix de 2 points de refoulement</em>.</p>","_id":"YCsytmWKopcm7HIv"} {"name":"Urgence draconique","permission":{"default":0,"jOzRscDxoXZWpGS6":3},"type":"queue","data":{"description":"<p>Le haut-rêvant est pris du besoin irrésistible de déclencher immédiatement son plus proche sort en réserve. À équidistance, prendre dans le sens des aiguilles dune montre en commençant par le haut. En cas de rencontre dans les TMR, se dérober équivaut à refouler la queue de Dragon. Si aucun sort nest en réserve, ou si il y a impossibilité de pratiquer la magie à cause dune autre queue ou dun souffle, tirer à la place une idée fixe.</p>","refoulement":2},"flags":{},"img":"icons/svg/mystery-man.svg","_id":"OSV2b7bVWv2SCfUY"}
{"name":"Amnésie sélective","permission":{"default":0,"jOzRscDxoXZWpGS6":3},"flags":{},"content":"<p>Pendant un jour, perte totale d&rsquo;une comp&eacute;tence, &agrave; l&rsquo;exclusion du Draconic. D&eacute;terminer al&eacute;atoirement la comp&eacute;tence vis&eacute;e qui, pratiquement, retourne au niveau de base. Si elle est d&eacute;j&agrave; au niveau de base, en choisir une autre.</p>","_id":"a2J6ZIQv8GtWLzck"} {"name":"Coup de barre","permission":{"default":0,"jOzRscDxoXZWpGS6":3},"type":"queue","data":{"description":"<p>Prise immédiate de 3d6 points de fatigue.</p>","refoulement":1},"flags":{},"img":"icons/svg/mystery-man.svg","_id":"Qgj5eSMpQ0IDHwZX"}
{"name":"Conquête","permission":{"default":0,"jOzRscDxoXZWpGS6":3},"flags":{},"content":"<p>Avant de pouvoir &agrave; nouveau faire usage du haut-r&ecirc;ve, y compris d&eacute;clencher volontairement un sort mis en r&eacute;serve, le haut-r&ecirc;vant doit se rendre dans une certaine case des TMR d&eacute;termin&eacute;e al&eacute;atoirement et la <em>ma&icirc;triser</em>, difficult&eacute; -7. Ce peut &ecirc;tre n&rsquo;importe quelle case, sauf une case humide. En cas d&rsquo;&eacute;chec, la concentration est rompue ; il n&rsquo;y a pas de souffle de Dragon en cas d&rsquo;&eacute;chec total.</p>","_id":"csgDcwgvW9KF9o17"} {"name":"Masque de Narcos","permission":{"default":0,"jOzRscDxoXZWpGS6":3},"type":"queue","data":{"description":"<p>Pendant 1d7 jours à compter du lendemain, la caractéristique APPARENCE baisse de 1d6 points, de même que la Beauté.</p>","refoulement":1},"flags":{},"img":"icons/svg/mystery-man.svg","_id":"TmEeikWOQt6NZGVY"}
{"_id":"jBFgNBBewS49hVJU","name":"Inertie draconique","permission":{"default":0,"jOzRscDxoXZWpGS6":3},"folder":"","flags":{},"content":"<p>Pendant un jour, la fatigue en TMR est doubl&eacute;e. Chaque case ou round co&ucirc;te 2 points au lieu d&rsquo;un.</p>"} {"name":"Réinsertion aléatoire","permission":{"default":0,"jOzRscDxoXZWpGS6":3},"type":"queue","data":{"description":"<p>Comme apr&egrave;s une sortie de la carte, le gardien des r&ecirc;ves r&eacute;introduit secr&egrave;tement le demi-r&ecirc;ve du haut-r&ecirc;vant dans les TMR.</p>","refoulement":1},"flags":{},"img":"icons/svg/mystery-man.svg","_id":"iHuLw0I1Gc5mIucG"}
{"name":"Réinsertion aléatoire","permission":{"default":0,"jOzRscDxoXZWpGS6":3},"flags":{},"content":"<p>Comme apr&egrave;s une sortie de la carte, le gardien des r&ecirc;ves r&eacute;introduit secr&egrave;tement le demi-r&ecirc;ve du haut-r&ecirc;vant dans les TMR.</p>","_id":"m0kzaruhTBXbXqEH"} {"_id":"iJw6j7kuP1eAHIck","name":"Amnésie sélective","permission":{"default":0,"jOzRscDxoXZWpGS6":3},"type":"queue","data":{"description":"<p>Pendant un jour, perte totale dune compétence, à lexclusion du Draconic. Déterminer aléatoirement la compétence visée qui, pratiquement, retourne au niveau de base. Si elle est déjà au niveau de base, en choisir une autre.</p>","refoulement":1},"flags":{},"img":"icons/svg/mystery-man.svg"}
{"name":"Insomnie","permission":{"default":0,"jOzRscDxoXZWpGS6":3},"flags":{},"content":"<p>Impossibilit&eacute; totale de dormir, et donc de r&ecirc;ver, pendant un jour.</p>","_id":"n9LQh69JSlPin0CS"} {"name":"Insomnie","permission":{"default":0,"jOzRscDxoXZWpGS6":3},"type":"queue","data":{"description":"<p>Impossibilité totale de dormir, et donc de rêver, pendant un jour.</p>","refoulement":1},"flags":{},"img":"icons/svg/mystery-man.svg","_id":"kHWwwxA0alcpDYpf"}
{"name":"Masque de Narcos","permission":{"default":0,"jOzRscDxoXZWpGS6":3},"flags":{},"content":"<p>Pendant 1d7 jours &agrave; compter du lendemain, la caract&eacute;ristique APPARENCE baisse de 1d6 points, de m&ecirc;me que la Beaut&eacute;.</p>","_id":"ovEIUV4ZRBeQlhW7"} {"name":"Conquête","permission":{"default":0,"jOzRscDxoXZWpGS6":3},"type":"queue","data":{"description":"<p>Avant de pouvoir &agrave; nouveau faire usage du haut-r&ecirc;ve, y compris d&eacute;clencher volontairement un sort mis en r&eacute;serve, le haut-r&ecirc;vant doit se rendre dans une certaine case des TMR d&eacute;termin&eacute;e al&eacute;atoirement et la&nbsp;<em>ma&icirc;triser</em>, difficult&eacute; -7. Ce peut &ecirc;tre n&rsquo;importe quelle case, sauf une case humide. En cas d&rsquo;&eacute;chec, la concentration est rompue ; il n&rsquo;y a pas de souffle de Dragon en cas d&rsquo;&eacute;chec total.</p>","refoulement":1},"flags":{},"img":"icons/svg/mystery-man.svg","_id":"lBkO8FvFqXoKNhvk"}
{"name":"Coup de foudre fatal","permission":{"default":0,"jOzRscDxoXZWpGS6":3},"flags":{},"content":"<p>On devient imm&eacute;diatement amoureux fou de la premi&egrave;re personne inconnue de sexe oppos&eacute; et de m&ecirc;me esp&egrave;ce rencontr&eacute;e. Tant que satisfaction n&rsquo;est pas obtenue, traiter comme un d&eacute;sir lancinant. <em>Refoulable au prix de 2 points de refoulement</em>.</p>","_id":"vaLh2NBnVo22rnpc"} {"name":"Dépouillement","permission":{"default":0,"jOzRscDxoXZWpGS6":3},"type":"queue","data":{"description":"<p>Faire don de toute la monnaie actuellement possédée à la première personne inconnue rencontrée. En attendant, se garder daucune dépense.</p>","refoulement":2},"flags":{},"img":"icons/svg/mystery-man.svg","_id":"vft88ioHpGxMzdML"}

View File

@ -28,7 +28,9 @@
Draconic : <span id="draconic-list"> Draconic : <span id="draconic-list">
<select name="draconic" id="draconic-list" data-dtype="String"> <select name="draconic" id="draconic-list" data-dtype="String">
{{#select draconic}} {{#select draconic}}
{{>"systems/foundryvtt-reve-de-dragon/templates/sort-draconic.html"}} {{#each draconic}}
<option value={{this.name}}>{{this.name}} - {{this.data.niveau}}</option>
{{/each}}
{{/select}} {{/select}}
</select> </select>
</span> </span>
@ -38,7 +40,7 @@
<div class="flex-group-center"> <div class="flex-group-center">
Sorts : <span id="sorts-list"> Sorts : <span id="sorts-list">
<select name="sort" id="sort-list" data-dtype="String"> <select name="sort" id="sort-list" data-dtype="String">
{{#select draconic}} {{#select sort}}
{{#each sort}} {{#each sort}}
<option value={{this.name}}>{{this.name}}</option> <option value={{this.name}}>{{this.name}}</option>
{{/each}} {{/each}}

View File

@ -8,10 +8,6 @@
{{!-- Sheet Body --}} {{!-- Sheet Body --}}
<section class="sheet-body"> <section class="sheet-body">
<div class="form-group">
<label for="xp">Refoulement</label>
<input class="attribute-value" type="text" name="data.refoulement" value="{{data.refoulement}}" data-dtype="Number"/>
</div>
<header class="header-field"> <header class="header-field">
<span>Description : </span> <span>Description : </span>
</header> </header>