mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-06-06 04:44:16 +02:00
.
This commit is contained in:
parent
93ea6f990f
commit
6834abbfab
4 changed files with 40 additions and 118 deletions
|
|
@ -34,7 +34,7 @@ export default class AdversarySheet extends DHBaseActorSheet {
|
||||||
],
|
],
|
||||||
contextMenus: [
|
contextMenus: [
|
||||||
{
|
{
|
||||||
handler: AdversarySheet.#getStandardAttackContextOptions,
|
handler: DHBaseActorSheet.getBaseAttackContextOptions,
|
||||||
selector: '[data-item-uuid][data-type="attack"]',
|
selector: '[data-item-uuid][data-type="attack"]',
|
||||||
options: {
|
options: {
|
||||||
parentClassHooks: false,
|
parentClassHooks: false,
|
||||||
|
|
@ -274,43 +274,6 @@ export default class AdversarySheet extends DHBaseActorSheet {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the set of ContextMenu options for the standard attack.
|
|
||||||
* @returns {import('@client/applications/ux/context-menu.mjs').ContextMenuEntry[]} - The Array of context options passed to the ContextMenu instance
|
|
||||||
* @this {CharacterSheet}
|
|
||||||
* @protected
|
|
||||||
*/
|
|
||||||
static #getStandardAttackContextOptions() {
|
|
||||||
/**@type {import('@client/applications/ux/context-menu.mjs').ContextMenuEntry[]} */
|
|
||||||
return [
|
|
||||||
{
|
|
||||||
label: 'DAGGERHEART.CONFIG.RollTypes.attack.name',
|
|
||||||
icon: 'fa-solid fa-burst',
|
|
||||||
onClick: async (event, target) => (await getDocFromElement(target)).use(event)
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: 'DAGGERHEART.GENERAL.damage',
|
|
||||||
icon: 'fa-solid fa-explosion',
|
|
||||||
onClick: async (event, target) => {
|
|
||||||
const doc = await getDocFromElement(target),
|
|
||||||
action = doc?.system?.attack ?? doc;
|
|
||||||
const config = action.prepareConfig(event);
|
|
||||||
config.effects = await game.system.api.data.actions.actionsTypes.base.getEffects(
|
|
||||||
this.document,
|
|
||||||
doc
|
|
||||||
);
|
|
||||||
config.hasRoll = false;
|
|
||||||
return action && action.workflow.get('damage').execute(config, null, true);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: 'DAGGERHEART.APPLICATIONS.ContextMenu.sendToChat',
|
|
||||||
icon: 'fa-solid fa-message',
|
|
||||||
onClick: async (_, target) => (await getDocFromElement(target)).toChat(this.document.uuid)
|
|
||||||
}
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
/* Application Listener Actions */
|
/* Application Listener Actions */
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
|
|
|
||||||
|
|
@ -66,7 +66,7 @@ export default class CharacterSheet extends DHBaseActorSheet {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
handler: CharacterSheet.#getBaseAttackContextOptions,
|
handler: DHBaseActorSheet.getBaseAttackContextOptions,
|
||||||
selector: '[data-item-uuid][data-type="attack"]',
|
selector: '[data-item-uuid][data-type="attack"]',
|
||||||
options: {
|
options: {
|
||||||
parentClassHooks: false,
|
parentClassHooks: false,
|
||||||
|
|
@ -388,43 +388,6 @@ export default class CharacterSheet extends DHBaseActorSheet {
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the set of ContextMenu options for the base attack.
|
|
||||||
* @returns {import('@client/applications/ux/context-menu.mjs').ContextMenuEntry[]} - The Array of context options passed to the ContextMenu instance
|
|
||||||
* @this {CharacterSheet}
|
|
||||||
* @protected
|
|
||||||
*/
|
|
||||||
static #getBaseAttackContextOptions() {
|
|
||||||
/**@type {import('@client/applications/ux/context-menu.mjs').ContextMenuEntry[]} */
|
|
||||||
return [
|
|
||||||
{
|
|
||||||
label: 'DAGGERHEART.CONFIG.RollTypes.attack.name',
|
|
||||||
icon: 'fa-solid fa-burst',
|
|
||||||
onClick: async (event, target) => (await getDocFromElement(target)).use(event)
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: 'DAGGERHEART.GENERAL.damage',
|
|
||||||
icon: 'fa-solid fa-explosion',
|
|
||||||
onClick: async (event, target) => {
|
|
||||||
const doc = await getDocFromElement(target),
|
|
||||||
action = doc?.system?.attack ?? doc;
|
|
||||||
const config = action.prepareConfig(event);
|
|
||||||
config.effects = await game.system.api.data.actions.actionsTypes.base.getEffects(
|
|
||||||
this.document,
|
|
||||||
doc
|
|
||||||
);
|
|
||||||
config.hasRoll = false;
|
|
||||||
return action && action.workflow.get('damage').execute(config, null, true);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: 'DAGGERHEART.APPLICATIONS.ContextMenu.sendToChat',
|
|
||||||
icon: 'fa-solid fa-message',
|
|
||||||
onClick: async (_, target) => (await getDocFromElement(target)).toChat(this.document.uuid)
|
|
||||||
}
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the set of ContextMenu options for DomainCards.
|
* Get the set of ContextMenu options for DomainCards.
|
||||||
* @returns {import('@client/applications/ux/context-menu.mjs').ContextMenuEntry[]} - The Array of context options passed to the ContextMenu instance
|
* @returns {import('@client/applications/ux/context-menu.mjs').ContextMenuEntry[]} - The Array of context options passed to the ContextMenu instance
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ export default class DhCompanionSheet extends DHBaseActorSheet {
|
||||||
},
|
},
|
||||||
contextMenus: [
|
contextMenus: [
|
||||||
{
|
{
|
||||||
handler: DhCompanionSheet.#getAttackContextOptions,
|
handler: DHBaseActorSheet.getBaseAttackContextOptions,
|
||||||
selector: '[data-item-uuid][data-type="attack"]',
|
selector: '[data-item-uuid][data-type="attack"]',
|
||||||
options: {
|
options: {
|
||||||
parentClassHooks: false,
|
parentClassHooks: false,
|
||||||
|
|
@ -49,47 +49,6 @@ export default class DhCompanionSheet extends DHBaseActorSheet {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
|
||||||
/* Context Menu */
|
|
||||||
/* -------------------------------------------- */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the set of ContextMenu options for the companion's attack.
|
|
||||||
* @returns {import('@client/applications/ux/context-menu.mjs').ContextMenuEntry[]} - The Array of context options passed to the ContextMenu instance
|
|
||||||
* @this {CharacterSheet}
|
|
||||||
* @protected
|
|
||||||
*/
|
|
||||||
static #getAttackContextOptions() {
|
|
||||||
/**@type {import('@client/applications/ux/context-menu.mjs').ContextMenuEntry[]} */
|
|
||||||
return [
|
|
||||||
{
|
|
||||||
label: 'DAGGERHEART.CONFIG.RollTypes.attack.name',
|
|
||||||
icon: 'fa-solid fa-burst',
|
|
||||||
onClick: async (event, target) => (await getDocFromElement(target)).use(event)
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: 'DAGGERHEART.GENERAL.damage',
|
|
||||||
icon: 'fa-solid fa-explosion',
|
|
||||||
onClick: async (event, target) => {
|
|
||||||
const doc = await getDocFromElement(target),
|
|
||||||
action = doc?.system?.attack ?? doc;
|
|
||||||
const config = action.prepareConfig(event);
|
|
||||||
config.effects = await game.system.api.data.actions.actionsTypes.base.getEffects(
|
|
||||||
this.document,
|
|
||||||
doc
|
|
||||||
);
|
|
||||||
config.hasRoll = false;
|
|
||||||
return action && action.workflow.get('damage').execute(config, null, true);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: 'DAGGERHEART.APPLICATIONS.ContextMenu.sendToChat',
|
|
||||||
icon: 'fa-solid fa-message',
|
|
||||||
onClick: async (_, target) => (await getDocFromElement(target)).toChat(this.document.uuid)
|
|
||||||
}
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
/* Application Clicks Actions */
|
/* Application Clicks Actions */
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
|
|
|
||||||
|
|
@ -189,6 +189,43 @@ export default class DHBaseActorSheet extends DHApplicationMixin(ActorSheetV2) {
|
||||||
return this._getContextMenuCommonOptions.call(this, { usable: true, toChat: true });
|
return this._getContextMenuCommonOptions.call(this, { usable: true, toChat: true });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the set of ContextMenu options for the base attack.
|
||||||
|
* @returns {import('@client/applications/ux/context-menu.mjs').ContextMenuEntry[]} - The Array of context options passed to the ContextMenu instance
|
||||||
|
* @this {CharacterSheet}
|
||||||
|
* @protected
|
||||||
|
*/
|
||||||
|
static getBaseAttackContextOptions() {
|
||||||
|
/**@type {import('@client/applications/ux/context-menu.mjs').ContextMenuEntry[]} */
|
||||||
|
return [
|
||||||
|
{
|
||||||
|
label: 'DAGGERHEART.CONFIG.RollTypes.attack.name',
|
||||||
|
icon: 'fa-solid fa-burst',
|
||||||
|
onClick: async (event, target) => (await getDocFromElement(target)).use(event)
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'DAGGERHEART.GENERAL.damage',
|
||||||
|
icon: 'fa-solid fa-explosion',
|
||||||
|
onClick: async (event, target) => {
|
||||||
|
const doc = await getDocFromElement(target),
|
||||||
|
action = doc?.system?.attack ?? doc;
|
||||||
|
const config = action.prepareConfig(event);
|
||||||
|
config.effects = await game.system.api.data.actions.actionsTypes.base.getEffects(
|
||||||
|
this.document,
|
||||||
|
doc
|
||||||
|
);
|
||||||
|
config.hasRoll = false;
|
||||||
|
return action && action.workflow.get('damage').execute(config, null, true);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'DAGGERHEART.APPLICATIONS.ContextMenu.sendToChat',
|
||||||
|
icon: 'fa-solid fa-message',
|
||||||
|
onClick: async (_, target) => (await getDocFromElement(target)).toChat(this.document.uuid)
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
/* Application Listener Actions */
|
/* Application Listener Actions */
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue