mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-07-21 18:09:54 +02:00
Remove postEvaluate static method (#2073)
Some checks are pending
Project CI / build (24.x) (push) Waiting to run
Some checks are pending
Project CI / build (24.x) (push) Waiting to run
This commit is contained in:
parent
7a01793f67
commit
0fbfe388b0
5 changed files with 76 additions and 71 deletions
|
|
@ -33,7 +33,9 @@ export default class DHRoll extends Roll {
|
|||
|
||||
if (config.skips?.createMessage) config.messageRoll = roll;
|
||||
|
||||
await this.buildEvaluate(roll, config, (message = {}));
|
||||
if (config.evaluate !== false) {
|
||||
await this.buildEvaluate(roll, config, (message = {}));
|
||||
}
|
||||
await this.buildPost(roll, config, (message = {}));
|
||||
return config;
|
||||
}
|
||||
|
|
@ -72,27 +74,14 @@ export default class DHRoll extends Roll {
|
|||
return roll;
|
||||
}
|
||||
|
||||
/**
|
||||
* Evaluates the roll and assigns roll data into the config.
|
||||
* This is only called if config.evaluate is not set to false
|
||||
* @protected
|
||||
*/
|
||||
static async buildEvaluate(roll, config = {}, message = {}) {
|
||||
if (config.evaluate !== false) {
|
||||
await roll.evaluate();
|
||||
config.roll = this.postEvaluate(roll, config);
|
||||
}
|
||||
}
|
||||
|
||||
static async buildPost(roll, config, message) {
|
||||
for (const hook of config.hooks) {
|
||||
if (Hooks.call(`${CONFIG.DH.id}.postRoll${hook.capitalize()}`, config, message) === false) return null;
|
||||
}
|
||||
|
||||
if (config.skips?.createMessage) {
|
||||
await triggerChatRollFx([roll]);
|
||||
} else if (!config.source?.message) {
|
||||
config.message = await this.toMessage(roll, config);
|
||||
}
|
||||
}
|
||||
|
||||
static postEvaluate(roll, config = {}) {
|
||||
return {
|
||||
await roll.evaluate();
|
||||
config.roll = {
|
||||
...roll.options.roll,
|
||||
total: roll.total,
|
||||
formula: roll.formula,
|
||||
|
|
@ -105,6 +94,22 @@ export default class DHRoll extends Roll {
|
|||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Runs any post configuration events that need to happen towards the end, such as hooks and dice so nice
|
||||
* @protected
|
||||
*/
|
||||
static async buildPost(roll, config, message) {
|
||||
for (const hook of config.hooks) {
|
||||
if (Hooks.call(`${CONFIG.DH.id}.postRoll${hook.capitalize()}`, config, message) === false) return null;
|
||||
}
|
||||
|
||||
if (config.skips?.createMessage) {
|
||||
await triggerChatRollFx([roll]);
|
||||
} else if (!config.source?.message) {
|
||||
config.message = await this.toMessage(roll, config);
|
||||
}
|
||||
}
|
||||
|
||||
static async toMessage(roll, config) {
|
||||
const item = config.data.parent?.items?.get?.(config.source.item) ?? null;
|
||||
const action = item ? item.system.actions.get(config.source.action) : null;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue