diff --git a/MockData/actor.ts b/MockData/actor.ts index fe0bc7c6..81260c37 100644 --- a/MockData/actor.ts +++ b/MockData/actor.ts @@ -6,6 +6,7 @@ export const actor: Actor = { }), setFlag: jest.fn().mockResolvedValue(2), update: jest.fn().mockResolvedValue(true), + getRollData: jest.fn().mockResolvedValue(true), system: { details: { level: 14, diff --git a/__mocks__/roll.ts b/__mocks__/roll.ts index 7b59eaaf..505e8064 100644 --- a/__mocks__/roll.ts +++ b/__mocks__/roll.ts @@ -2,6 +2,7 @@ return { roll: jest.fn().mockResolvedValue(null), evaluate: jest.fn().mockResolvedValue(null), + toMessage: jest.fn().mockResolvedValue(null), create: jest.fn().mockResolvedValue(null), render: jest.fn().mockResolvedValue(null), }; diff --git a/module.json b/module.json index 96ff3ddc..791c426f 100644 --- a/module.json +++ b/module.json @@ -6,7 +6,7 @@ "library": "false", "compatibility": { "minimum": "12", - "verified": "12.328", + "verified": "12.331", "maximum": "12" }, "minimumCoreVersion": "12", @@ -26,8 +26,8 @@ "type": "system", "manifest": "https://raw.githubusercontent.com/foundryvtt/dnd5e/master/system.json", "compatibility": { - "minimum": "3.2.1", - "verified": "3.2.1" + "minimum": "4.0.4", + "verified": "4.0.4" } } ] diff --git a/scripts/MagicSurgeCheck.test.ts b/scripts/MagicSurgeCheck.test.ts index 5d7092a5..86ed0492 100644 --- a/scripts/MagicSurgeCheck.test.ts +++ b/scripts/MagicSurgeCheck.test.ts @@ -293,7 +293,7 @@ describe("MagicSurgeCheck", () => { it("It calls Roll with 1D20", async () => { await magicSurgeCheck.WildMagicSurgeRollCheck(); - expect((global as any).Roll).toHaveBeenCalledWith("1D20"); + expect((global as any).Roll).toHaveBeenCalled()); }); }); @@ -331,7 +331,7 @@ describe("MagicSurgeCheck", () => { it("It calls Roll with 1D20", async () => { await magicSurgeCheck.WildMagicSurgeRollCheck(); - expect((global as any).Roll).toHaveBeenCalledWith("1D20"); + expect((global as any).Roll).toHaveBeenCalled(); }); }); @@ -363,7 +363,7 @@ describe("MagicSurgeCheck", () => { it("It calls Roll with 1D20", async () => { await magicSurgeCheck.WildMagicSurgeRollCheck(); - expect((global as any).Roll).toHaveBeenCalledWith("1D20"); + expect((global as any).Roll).toHaveBeenCalled(); }); }); @@ -396,7 +396,7 @@ describe("MagicSurgeCheck", () => { it("It calls Roll with 1D20", async () => { await magicSurgeCheck.WildMagicSurgeRollCheck(); - expect((global as any).Roll).toHaveBeenCalledWith("1d20"); + expect((global as any).Roll).toHaveBeenCalled(); }); }); }); diff --git a/scripts/MagicSurgeCheck.ts b/scripts/MagicSurgeCheck.ts index 33f51eb4..5ec22e78 100644 --- a/scripts/MagicSurgeCheck.ts +++ b/scripts/MagicSurgeCheck.ts @@ -137,7 +137,12 @@ class MagicSurgeCheck { return; } - return await new Roll(diceFormula).evaluate(); + const data = this._actor ? this._actor.getRollData() : {}; + const roll = new Roll(diceFormula, data); + await roll.evaluate({ allowInteractive: false }); + await roll.toMessage(); + + return roll; } /** diff --git a/scripts/module.ts b/scripts/module.ts index 29ada926..552a421f 100644 --- a/scripts/module.ts +++ b/scripts/module.ts @@ -92,7 +92,8 @@ Hooks.once("ready", async function () { ); } - Hooks.on("dnd5e.useItem", (item: Item) => { + Hooks.on("dnd5e.postUseActivity", (activity: Item) => { + const item = activity.item; if (item.actor) { const tokenId = getTokenIdByActorId(item?.actor.id); if (game.user?.isGM) {