swade-mb-helpers/packs/helper-macros.db

2 lines
1.6 KiB
Plaintext

{"name":"Gold Totals","type":"script","author":"ueJGUfSYuRRL3Ypr","img":"icons/commodities/currency/coins-plain-stack-gold-yellow.webp","scope":"global","command":"let tokens = []\nif (canvas.tokens.controlled.length > 0) {\n tokens = canvas.tokens.controlled\n}\nif (tokens.length > 0) {\n main(tokens)\n} else {\n ui.notifications.error('Please select or target a token')\n}\n\nasync function main (tokens) {\n const currencies = ['Copper', 'Silver', 'Gold', 'Platinum']\n let template = '<div><table><thead><tr><th>Actor</th><th>Currency</th></tr></thead><tbody>'\n const fmtOptions = {\n minimumIntegerDigits: 1,\n minimumFractionDigits: 2,\n maximumFractionDigits: 2\n }\n const fmt = Intl.NumberFormat('en-US', fmtOptions)\n for (const token of tokens) {\n const actor = token.actor\n let total = 0\n for (const item of actor.items.filter(i => currencies.indexOf(i.name) > -1)) {\n total += item.system.price * item.system.quantity\n }\n template += `<tr><td>${actor.name}</td><td>${fmt.format(total)}</td></tr>`\n }\n template += '</thead></tbody>'\n Dialog.prompt({\n title: 'Currency Totals',\n content: template\n })\n}","ownership":{"default":0,"ueJGUfSYuRRL3Ypr":3},"flags":{"advanced-macros":{"runAsGM":false,"runForSpecificUser":""},"exportSource":{"world":"swade-module-test","system":"swade","coreVersion":"10.291","systemVersion":"2.2.5"},"core":{"sourceId":"Macro.lOAxoK00x5QQFbTH"}},"_stats":{"systemId":"swade","systemVersion":"2.2.5","coreVersion":"10.291","createdTime":1680966567327,"modifiedTime":1681013325194,"lastModifiedBy":"ueJGUfSYuRRL3Ypr"},"folder":null,"sort":0,"_id":"QMnx9cuyw81kRS2o"}