summon macro

This commit is contained in:
Mike Bloy 2023-03-05 16:32:21 -06:00
parent 179bd1d106
commit 024d2c96c5
2 changed files with 39 additions and 12 deletions

View File

@ -1,4 +1,5 @@
const ACTORFOLDER = 'Summonables'
const SUMMONICON = 'icons/magic/symbols/runes-star-orange.webp'
swadeMBHelpers.runOnTargetOrSelectedTokens(main)
@ -38,12 +39,37 @@ async function main (tokens) {
}
summonData.actor = game.actors.get(summonData.actorId)
summonData.actorName = summonData.actor.name
summonData.icon = summonData.actor.token.img
summonData.icon = summonData.actor.prototypeToken.texture.src
summonData.token = summonData.actor.prototypeToken
doWork(summonData, token)
}
}
function doWork (summonData, token) {
console.log(summonData, token)
async function doWork (summonData, token) {
console.log('Summon ', token, summonData)
const effectName = `Summoned ${summonData.actorName} (${summonData.number})`
const tokenEffectMutation = swadeMBHelpers.createMutationWithEffect(SUMMONICON, effectName, 5, [])
const mutateOptions = swadeMBHelpers.defaultMutationOptions(effectName)
await warpgate.mutate(token.document, tokenEffectMutation, {}, mutateOptions)
const spawnOptions = {
controllingActor: token.actor,
duplicates: summonData.number,
comparisonKeys: { ActiveEffect: 'label' },
crosshairs: {
size: 1,
icon: summonData.icon,
label: `Summon ${summonData.actorName}`,
drawOutline: false,
rememberControlled: true
}
}
const spawnMutation = {
token: {
actorLink: false,
name: `${token.name}'s ${summonData.token.name}`
}
}
await warpgate.spawn(summonData.actorName, spawnMutation, {}, spawnOptions)
}

File diff suppressed because one or more lines are too long