swade-mb-helpers/src/packsrc/helper-macros/Request_Notice_Roll_pnLnFrfTTJeodFRy.json
2025-05-28 22:37:59 -05:00

31 lines
2.7 KiB
JSON

{
"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 <form>\n <p>Requesting roll from ${tokens.map((t) => t.name).join(', ')}.</p>\n <p>Requesting a ${traitName} roll...</p>\n <div class=\"form-group\">\n <label for=\"mod\">Roll Modifier:</label>\n <input type=\"number\" value=\"0\" name=\"mod\">\n </div>\n <div class=\"form-group\">\n <label for=\"modDesc\">Roll Modifier Description:</label>\n <input type=\"text\" value=\"Roll Modifier\" name=\"modDesc\">\n </div>\n <div class=\"form-group\">\n <label for=\"tn\">Target Number</label>\n <input type=\"number\" value=\"4\" name=\"tn\">\n </div>\n </form>\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"
}