From efc9316c31737e9f283654967edbd7ca48457264 Mon Sep 17 00:00:00 2001 From: Oliver-Akins Date: Fri, 26 Jan 2024 22:43:26 -0700 Subject: [PATCH] Implement Spell send to chat --- module/documents/Actor/Handler.mjs | 19 +++++++++++++++++++ module/sheets/GenericActorSheet.mjs | 2 ++ .../char-sheet-mvp/panels/spells.pc.hbs | 4 +++- 3 files changed, 24 insertions(+), 1 deletion(-) diff --git a/module/documents/Actor/Handler.mjs b/module/documents/Actor/Handler.mjs index 77cd7fd..db708ad 100644 --- a/module/documents/Actor/Handler.mjs +++ b/module/documents/Actor/Handler.mjs @@ -57,6 +57,25 @@ export class ActorHandler extends Actor { this.fn?.[`createCustom${data.embeddedCreate}`].bind(this)($event); }; + async genericSendToChat($event) { + const data = $event.currentTarget.dataset; + const type = data.messageType; + console.log(data) + if (this.fn?.[`send${type}ToChat`]) { + return await this.fn?.[`send${type}ToChat`].bind(this)($event); + }; + if (!data.messageContent) { + console.warn(`.dungeon | Tried to send a chat message with no content`); + return; + }; + let message = await ChatMessage.create({ + content: data.messageContent, + flavor: data.messageFlavor, + speaker: { actor: this.actor } + }); + message.render(); + }; + /** * @param {ItemHandler} item * @returns {boolean} true to allow the document to be embedded diff --git a/module/sheets/GenericActorSheet.mjs b/module/sheets/GenericActorSheet.mjs index dfb1b7c..1dcc4c8 100644 --- a/module/sheets/GenericActorSheet.mjs +++ b/module/sheets/GenericActorSheet.mjs @@ -49,6 +49,8 @@ export class GenericActorSheet extends ActorSheet { .on(`click`, this.actor.genericEmbeddedDelete.bind(this.actor)); html.find(`[data-embedded-create]`) .on(`click`, this.actor.genericEmbeddedCreate.bind(this.actor)); + html.find(`[data-message-type]`) + .on(`click`, this.actor.genericSendToChat.bind(this.actor)); html.find(`[data-embedded-edit]`) .on(`click`, this.actor.openEmbeddedSheet.bind(this.actor)); }; diff --git a/templates/actors/char-sheet-mvp/panels/spells.pc.hbs b/templates/actors/char-sheet-mvp/panels/spells.pc.hbs index ef37010..26ffb91 100644 --- a/templates/actors/char-sheet-mvp/panels/spells.pc.hbs +++ b/templates/actors/char-sheet-mvp/panels/spells.pc.hbs @@ -40,7 +40,9 @@