{ "name": "Request Notice Roll", "type": "script", "scope": "global", "author": "sVoCvBU1knmXzoYe", "img": "icons/sundries/gaming/dice-pair-white-green.webp", "command": "const requestRollFromTokens = game.modules.get('swade-mb-helpers').api.requestRollFromTokens\n\n;const traitName = 'Notice';\nconst traitType = 'skill'; // or 'attribute'\n\nasync function main() {\n let tokens = Array.from(game.user.targets);\n if (tokens.length < 1) {\n tokens = canvas.tokens.controlled;\n }\n if (tokens.length < 1) {\n ui.notifications.error('Please target or select some tokens');\n return;\n }\n\n const content = `\n
\n `;\n const buttons = [\n {\n action: \"submit\",\n label: 'Request Roll',\n callback: (event, button, dialog) => {\n const form = button.form;\n const formDataObject = new foundry.applications.ux.FormDataExtended(form).object;\n console.log(formDataObject);\n const rollMod = parseInt(formDataObject.mod);\n const rollModDesc = formDataObject.modDesc;\n const rollType = traitType;\n const rollDesc = traitName;\n const targetNumber = parseInt(formDataObject.tn);\n const options = { targetNumber };\n if (rollMod !== 0) {\n options.mods = [{ label: rollModDesc, value: rollMod }];\n }\n requestRollFromTokens(tokens, rollType, rollDesc, options);\n },\n },\n {\n action: \"cancel\", label: 'Cancel',\n },\n ];\n new foundry.applications.api.DialogV2({\n window: { title: 'Request roll' }, \n content,\n buttons,\n }).render(true);\n}\n\nmain();", "folder": null, "ownership": { "default": 0, "sVoCvBU1knmXzoYe": 3 }, "flags": { "core": {} }, "_stats": { "systemId": "swade", "systemVersion": "3.3.11", "coreVersion": "13.344", "createdTime": 1700430548162, "modifiedTime": 1748489319298, "lastModifiedBy": "sVoCvBU1knmXzoYe", "compendiumSource": null, "duplicateSource": null, "exportSource": null }, "_id": "pnLnFrfTTJeodFRy", "sort": 700000, "_key": "!macros!pnLnFrfTTJeodFRy" }