diff --git a/module/rdd-rolltables.js b/module/rdd-rolltables.js new file mode 100644 index 00000000..0cf0a1cb --- /dev/null +++ b/module/rdd-rolltables.js @@ -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); + } + +} \ No newline at end of file diff --git a/module/rdd-tmr-dialog.js b/module/rdd-tmr-dialog.js index a417457b..b6dbea2c 100644 --- a/module/rdd-tmr-dialog.js +++ b/module/rdd-tmr-dialog.js @@ -4,6 +4,7 @@ */ import { RdDUtility } from "./rdd-utility.js"; import { TMRUtility } from "./tmr-utility.js"; +import { RdDRollTables } from "./rdd-rolltables.js"; /** Helper functions */ export class RdDTMRDialog extends Dialog { @@ -119,7 +120,7 @@ export class RdDTMRDialog extends Dialog { let result = await this.actor.ajouterRefoulement(1); this.updatePreviousRencontres(); if (result == "souffle") { - let souffle = TMRUtility.getSouffle(); + let souffle = RdDRollTables.getSouffle(); } console.log("-> refouler", this.currentRencontre) this.updateValuesDisplay(); @@ -245,7 +246,7 @@ export class RdDTMRDialog extends Dialog { if ( result > scoreDef.score ) { content = "Vous êtes entré sur une case humide, et vous avez raté votre maîtrise ! Vous quittez les Terres Médianes ! ("+ draconic.name +") :" + carac + " / " + level + " -> " + result + " / " + scoreDef.score; if ( result >= scoreDef.etotal ) { - let souffle = TMRUtility.getSouffle(true); + let souffle = RdDRollTables.getSouffle(true); content += "
Vous avez fait un Echec Total. Vous subissez un Souffle de Dragon : " + souffle.name ; this.actor.createOwnedItem( souffle ); } diff --git a/module/rdd-utility.js b/module/rdd-utility.js index 066121dd..884e0d4a 100644 --- a/module/rdd-utility.js +++ b/module/rdd-utility.js @@ -2,6 +2,7 @@ import { RdDActor } from "./actor.js"; import { TMRUtility } from "./tmr-utility.js"; +import { RdDRollTables } from "./rdd-rolltables.js"; const level_category = { "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 }, "tresdifficile": { "4":4, "6":6 } } /* Static tables for commands /table */ -const table2func = { "queues": {descr: "queues : Tire une queue de Dragon", func: TMRUtility.getQueue}, - "ombre": { descr: "ombre: Tire une Ombre de Dragon", func: TMRUtility.getOmbre }, - "tetehr": {descr: "tetehr: Tire une Tête de Dragon pour Hauts Revants", fund: TMRUtility.getTeteHR}, - "tete" : { descr: "tete: Tire une Tête de Dragon", func: TMRUtility.getTete}, - "souffle": { descr: "souffle: Tire un Souffle de Dragon", func: TMRUtility.getSouffle} }; +const table2func = { "queues": {descr: "queues : Tire une queue de Dragon", func: RdDRollTables.getQueue}, + "ombre": { descr: "ombre: Tire une Ombre de Dragon", func: RdDRollTables.getOmbre }, + "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: RdDRollTables.getTete}, + "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 = { "mortel": [ diff --git a/module/tmr-utility.js b/module/tmr-utility.js index c920d3b2..b3df2293 100644 --- a/module/tmr-utility.js +++ b/module/tmr-utility.js @@ -374,32 +374,7 @@ export class TMRUtility { console.log("CAT", 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