foundryvtt-reve-de-dragon/module/rdd-rolltables.js

52 lines
2.1 KiB
JavaScript
Raw Normal View History

export class RdDRollTables {
2020-11-12 18:42:41 +01:00
/* -------------------------------------------- */
2020-11-12 18:42:41 +01:00
static async genericGetTableResult(tableName, toChat) {
const pack = game.packs.get("foundryvtt-reve-de-dragon.tables-diverses");
const index = await pack.getIndex();
const entry = index.find(e => e.name === tableName);
const table = await pack.getEntity(entry._id);
const draw = await table.draw({ displayChat: toChat });
console.log("RdDRollTables", tableName, toChat, ":", draw);
console.log("RdDRollTables", tableName, toChat, ":", draw.roll, draw.results);
return draw;
}
2020-11-12 18:42:41 +01:00
/* -------------------------------------------- */
static async drawItemFromRollTable(tableName, toChat) {
const draw = await RdDRollTables.genericGetTableResult(tableName, toChat);
const drawnItemRef = draw.results.length > 0 ? draw.results[0] : undefined;
const pack = game.packs.get(drawnItemRef.collection);
return await pack.getEntity(drawnItemRef.resultId);
}
/* -------------------------------------------- */
static async getSouffle(toChat = true) {
return await RdDRollTables.drawItemFromRollTable("Souffles de Dragon", toChat);
}
/* -------------------------------------------- */
2020-11-12 18:42:41 +01:00
static async getQueue(toChat = true) {
return await RdDRollTables.drawItemFromRollTable("Queues de dragon", toChat);
}
/* -------------------------------------------- */
2020-11-12 18:42:41 +01:00
static async getTete(toChat = true) {
return await RdDRollTables.drawItemFromRollTable("Têtes de Dragon pour haut-rêvants", toChat);
}
2020-11-12 18:42:41 +01:00
/* -------------------------------------------- */
2020-11-12 18:42:41 +01:00
static async getTeteHR(toChat = true) {
return await RdDRollTables.drawItemFromRollTable("Têtes de Dragon pour tous personnages", toChat);
}
/* -------------------------------------------- */
2020-11-12 18:42:41 +01:00
static async getOmbre(toChat = true) {
return await RdDRollTables.drawItemFromRollTable("Ombre de Thanatos", toChat);
}
/* -------------------------------------------- */
2020-11-12 18:42:41 +01:00
static async getTarot(toChat = true) {
return await RdDRollTables.drawItemFromRollTable("Tarot Draconique", toChat);
}
2020-11-12 18:42:41 +01:00
}