summon macro
This commit is contained in:
parent
179bd1d106
commit
024d2c96c5
@ -1,4 +1,5 @@
|
|||||||
const ACTORFOLDER = 'Summonables'
|
const ACTORFOLDER = 'Summonables'
|
||||||
|
const SUMMONICON = 'icons/magic/symbols/runes-star-orange.webp'
|
||||||
|
|
||||||
swadeMBHelpers.runOnTargetOrSelectedTokens(main)
|
swadeMBHelpers.runOnTargetOrSelectedTokens(main)
|
||||||
|
|
||||||
@ -38,12 +39,37 @@ async function main (tokens) {
|
|||||||
}
|
}
|
||||||
summonData.actor = game.actors.get(summonData.actorId)
|
summonData.actor = game.actors.get(summonData.actorId)
|
||||||
summonData.actorName = summonData.actor.name
|
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)
|
doWork(summonData, token)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function doWork (summonData, token) {
|
async function doWork (summonData, token) {
|
||||||
console.log(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
Loading…
x
Reference in New Issue
Block a user