Separer les rolltables

Les Tarots ne sont pas liées au TMR
This commit is contained in:
Vincent Vandemeulebrouck 2020-11-11 04:31:17 +01:00
parent c6e5bca5ef
commit 5fbfb4f3e7
4 changed files with 55 additions and 32 deletions

45
module/rdd-rolltables.js Normal file
View File

@ -0,0 +1,45 @@
export class RdDRollTables {
/* -------------------------------------------- */
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 = await rollQueues.draw( { displayChat: toChat } );
console.log("CAT", result);
return result;
}
/* -------------------------------------------- */
static async getSouffle( toChat ) {
return genericGetTableResult( "Souffles de Dragon", toChat);
}
/* -------------------------------------------- */
static async getQueue( toChat = true) {
return genericGetTableResult( "Queues de dragon", toChat);
}
/* -------------------------------------------- */
static async getTete( toChat = true ) {
return genericGetTableResult( "Têtes de Dragon pour haut-rêvants", toChat);
}
/* -------------------------------------------- */
static async getTeteHR( toChat = true ) {
return genericGetTableResult( "Têtes de Dragon pour tous personnages", toChat);
}
/* -------------------------------------------- */
static async getOmbre( toChat = true ) {
return genericGetTableResult( "Ombre de Thanatos", toChat);
}
/* -------------------------------------------- */
static async getTarot( toChat = true ) {
return genericGetTableResult( "Tarot Draconique", toChat);
}
}

View File

@ -4,6 +4,7 @@
*/ */
import { RdDUtility } from "./rdd-utility.js"; import { RdDUtility } from "./rdd-utility.js";
import { TMRUtility } from "./tmr-utility.js"; import { TMRUtility } from "./tmr-utility.js";
import { RdDRollTables } from "./rdd-rolltables.js";
/** Helper functions */ /** Helper functions */
export class RdDTMRDialog extends Dialog { export class RdDTMRDialog extends Dialog {
@ -119,7 +120,7 @@ export class RdDTMRDialog extends Dialog {
let result = await this.actor.ajouterRefoulement(1); let result = await this.actor.ajouterRefoulement(1);
this.updatePreviousRencontres(); this.updatePreviousRencontres();
if (result == "souffle") { if (result == "souffle") {
let souffle = TMRUtility.getSouffle(); let souffle = RdDRollTables.getSouffle();
} }
console.log("-> refouler", this.currentRencontre) console.log("-> refouler", this.currentRencontre)
this.updateValuesDisplay(); this.updateValuesDisplay();
@ -245,7 +246,7 @@ export class RdDTMRDialog extends Dialog {
if ( result > scoreDef.score ) { if ( result > scoreDef.score ) {
content = "Vous êtes entré sur une case humide, et vous avez <strong>raté</strong> votre maîtrise ! Vous <strong>quittez les Terres Médianes</strong> ! ("+ draconic.name +") :" + carac + " / " + level + " -> " + result + " / " + scoreDef.score; content = "Vous êtes entré sur une case humide, et vous avez <strong>raté</strong> votre maîtrise ! Vous <strong>quittez les Terres Médianes</strong> ! ("+ draconic.name +") :" + carac + " / " + level + " -> " + result + " / " + scoreDef.score;
if ( result >= scoreDef.etotal ) { if ( result >= scoreDef.etotal ) {
let souffle = TMRUtility.getSouffle(true); let souffle = RdDRollTables.getSouffle(true);
content += "<br>Vous avez fait un Echec Total. Vous subissez un Souffle de Dragon : " + souffle.name ; content += "<br>Vous avez fait un Echec Total. Vous subissez un Souffle de Dragon : " + souffle.name ;
this.actor.createOwnedItem( souffle ); this.actor.createOwnedItem( souffle );
} }

View File

@ -2,6 +2,7 @@
import { RdDActor } from "./actor.js"; import { RdDActor } from "./actor.js";
import { TMRUtility } from "./tmr-utility.js"; import { TMRUtility } from "./tmr-utility.js";
import { RdDRollTables } from "./rdd-rolltables.js";
const level_category = { const level_category = {
"generale": "-4", "generale": "-4",
@ -78,11 +79,12 @@ const fatigueMarche = { "aise": { "4":1, "6":2, "8":3, "10":4, "12":6 },
"difficile": { "4":3, "6":4, "8":6 }, "difficile": { "4":3, "6":4, "8":6 },
"tresdifficile": { "4":4, "6":6 } } "tresdifficile": { "4":4, "6":6 } }
/* Static tables for commands /table */ /* Static tables for commands /table */
const table2func = { "queues": {descr: "queues : Tire une queue de Dragon", func: TMRUtility.getQueue}, const table2func = { "queues": {descr: "queues : Tire une queue de Dragon", func: RdDRollTables.getQueue},
"ombre": { descr: "ombre: Tire une Ombre de Dragon", func: TMRUtility.getOmbre }, "ombre": { descr: "ombre: Tire une Ombre de Dragon", func: RdDRollTables.getOmbre },
"tetehr": {descr: "tetehr: Tire une Tête de Dragon pour Hauts Revants", fund: TMRUtility.getTeteHR}, "tetehr": {descr: "tetehr: Tire une Tête de Dragon pour Hauts Revants", fund: RdDRollTables.getTeteHR},
"tete" : { descr: "tete: Tire une Tête de Dragon", func: TMRUtility.getTete}, "tete" : { descr: "tete: Tire une Tête de Dragon", func: RdDRollTables.getTete},
"souffle": { descr: "souffle: Tire un Souffle de Dragon", func: TMRUtility.getSouffle} }; "souffle": { descr: "souffle: Tire un Souffle de Dragon", func: RdDRollTables.getSouffle},
"tarot" : { descr: "tarot: Tire une carte de Tarot Dracnique", func: RdDRollTables.getTarot} };
const definitionsEncaissement = { const definitionsEncaissement = {
"mortel": [ "mortel": [

View File

@ -374,32 +374,7 @@ export class TMRUtility {
console.log("CAT", result); console.log("CAT", result);
return result; return result;
} }
/* -------------------------------------------- */
static async getSouffle( toChat ) {
return TMRUtility.genericGetTableResult( "Souffles de Dragon", toChat);
}
/* -------------------------------------------- */
static async getQueue( toChat = true) {
return TMRUtility.genericGetTableResult( "Queues de dragon", toChat);
}
/* -------------------------------------------- */
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 async getOmbre( toChat = true ) {
return TMRUtility.genericGetTableResult( "Ombre de Thanatos", toChat);
}
/* -------------------------------------------- */ /* -------------------------------------------- */
/** /**
* Retourne une recontre en fonction de la case ou du tirage * Retourne une recontre en fonction de la case ou du tirage