31 lines
2.7 KiB
JSON
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"
|
|
}
|