summon macro selection part is complete.
This commit is contained in:
parent
04b9c21ea8
commit
179bd1d106
49
macros/summon.js
Normal file
49
macros/summon.js
Normal file
@ -0,0 +1,49 @@
|
||||
const ACTORFOLDER = 'Summonables'
|
||||
|
||||
swadeMBHelpers.runOnTargetOrSelectedTokens(main)
|
||||
|
||||
async function main (tokens) {
|
||||
const token = tokens[0]
|
||||
const tokenList = token.name
|
||||
const folder = swadeMBHelpers.getActorFolderByPath(ACTORFOLDER)
|
||||
const actors = swadeMBHelpers.getActorsInFolder(folder)
|
||||
const menuOptions = {
|
||||
title: 'Summon Creature',
|
||||
defaultButton: 'cancel',
|
||||
options: {}
|
||||
}
|
||||
const menuData = {
|
||||
inputs: [
|
||||
{ type: 'header', label: 'Summon Creature' },
|
||||
{ type: 'info', label: `${tokenList} is summoning` },
|
||||
{
|
||||
type: 'select',
|
||||
label: 'Ally to summon',
|
||||
options: Object.keys(actors).sort().map(k => { return { value: actors[k].id, html: k } })
|
||||
},
|
||||
{ type: 'number', label: 'Number to spawn (+half base cost per)', options: 1 }
|
||||
],
|
||||
buttons: [
|
||||
{ label: 'Apply', value: 'apply' },
|
||||
{ label: 'Apply with raise', value: 'raise' },
|
||||
{ label: 'Cancel', value: 'cancel' }
|
||||
]
|
||||
}
|
||||
const { buttons, inputs } = await warpgate.menu(menuData, menuOptions)
|
||||
if (buttons && buttons !== 'cancel') {
|
||||
const summonData = {
|
||||
raise: (buttons === 'raise'),
|
||||
actorId: inputs[2],
|
||||
number: inputs[3]
|
||||
}
|
||||
summonData.actor = game.actors.get(summonData.actorId)
|
||||
summonData.actorName = summonData.actor.name
|
||||
summonData.icon = summonData.actor.token.img
|
||||
|
||||
doWork(summonData, token)
|
||||
}
|
||||
}
|
||||
|
||||
function doWork (summonData, token) {
|
||||
console.log(summonData, token)
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user