{ "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\nconst 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 menuData = {\n inputs: [\n { type: 'info', label: `Requesting roll from ${tokens.map(t => t.name).join(', ')}` },\n {\n type: 'info',\n label: `Requesting a ${traitName} roll`\n },\n { type: 'number', label: 'Roll Modifier', options: 0 },\n { type: 'text', label: 'Roll Modifier Description', options: 'Roll Modifier' }\n ],\n buttons: [\n { label: 'Request roll', value: 'ok', default: true },\n { label: 'Cancel', value: 'cancel' }\n ]\n }\n const menuConfig = {\n title: `Request ${traitName} roll...`\n }\n const result = await warpgate.menu(menuData, menuConfig)\n\n if (result.buttons !== 'ok') {\n return\n }\n console.log(result)\n const rollMod = result.inputs[2]\n const rollModDesc = result.inputs[3]\n const rollType = traitType\n const rollDesc = traitName\n const options = {}\n if (rollMod !== 0) {\n options.mods = [{ label: rollModDesc, value: rollMod }]\n }\n\n requestRollFromTokens(tokens, rollType, rollDesc, options)\n}\n\nmain()", "folder": null, "ownership": { "default": 0, "sVoCvBU1knmXzoYe": 3 }, "flags": { "core": {} }, "_stats": { "systemId": "swade", "systemVersion": "3.2.5", "coreVersion": "11.315", "createdTime": 1700430548162, "modifiedTime": 1702860052587, "lastModifiedBy": "sVoCvBU1knmXzoYe" }, "_id": "pnLnFrfTTJeodFRy", "sort": 0, "_key": "!macros!pnLnFrfTTJeodFRy" }