mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-01-11 19:25:21 +01:00
29 lines
932 B
JavaScript
29 lines
932 B
JavaScript
const fields = foundry.data.fields;
|
|
|
|
export default class MacroField extends fields.DocumentUUIDField {
|
|
/**
|
|
* Action Workflow order
|
|
*/
|
|
static order = 70;
|
|
|
|
/** @inheritDoc */
|
|
constructor(context = {}) {
|
|
super({ type: 'Macro' }, context);
|
|
}
|
|
|
|
/**
|
|
* Macro Action Workflow part.
|
|
* Must be called within Action context or similar or similar.
|
|
* @param {object} config Object that contains workflow datas. Usually made from Action Fields prepareConfig methods. Currently not used.
|
|
*/
|
|
static async execute(config) {
|
|
const fixUUID = !this.macro.includes('Macro.') ? `Macro.${this.macro}` : this.macro,
|
|
macro = await fromUuid(fixUUID);
|
|
try {
|
|
if (!macro) throw new Error(`No macro found for the UUID: ${this.macro}.`);
|
|
macro.execute();
|
|
} catch (error) {
|
|
ui.notifications.error(error);
|
|
}
|
|
}
|
|
}
|