This commit is contained in:
Dapoolp 2025-06-14 21:36:50 +02:00
parent 4e110e30b1
commit 22497dd6af
12 changed files with 308 additions and 117 deletions

View file

@ -0,0 +1,34 @@
export default class DHRoll extends Roll {
static async build(config={}, message={}) {
const roll = await this.buildConfigure();
await this.buildEvaluate(config, message={});
await this.buildPost(config, message={});
return roll;
}
static async buildConfigure(config={}, message={}) {
config.hooks = [...(config.hooks ?? []), ""];
for ( const hook of config.hooks ) {
if ( Hooks.call(`dnd5e.preRoll${hook.capitalize()}`, config, message) === false ) return null;
}
}
static async buildEvaluate(roll, config={}, message={}) {
if(config.evaluate !== false) await roll.evalutate();
}
static async buildPost(config, message) {
for ( const hook of config.hooks ) {
if ( Hooks.call(`dnd5e.postRoll${hook.capitalize()}`, config, message) === false ) return null;
}
// Create Chat Message
await this.toMessage(roll, message.data);
}
static async toMessage(roll, data) {
const cls = getDocumentClass("ChatMessage");
const msg = new cls(data);
}
}