Untitled
unknown
plain_text
3 years ago
3.5 kB
55
Indexable
const handleCrits = (roll) => roll === 1 ? -10 : (roll === 20 ? 10 : 0);
const options = ['all', 'skill-check', "religion", 'battle-prayer']
if (canvas.tokens.controlled == 0) {
ui.notifications.warn("You must select a token.");
return
}
if (game.user.targets.size == 0) {
ui.notifications.warn("You must have a target.");
return
}
////////////// To chat message data /////////////////
let toChat = (content) => {
let chatData = {
user: game.user.id,
content,
speaker: ChatMessage.getSpeaker(),
}
ChatMessage.create(chatData, {})
}
//////////// To chat message data //////////////////
game.user.targets.forEach(t => {
token.actor.data.data.skills.itm.roll(event, options, (result) => {
let roll = result._total;
let crit = handleCrits(result.parts[0].rolls[0].result);
let willDC = 10 + t.actor.data.data.saves.will.totalModifier
if (roll + crit >= willDC + 10) {
toChat(`<div><h3 style='border-bottom: 3px solid black'>Battle-Prayer</h3></div><div style="color:#131516;margin-top:4px;">
💥 <b>Crit Success!
<br> <b>${t.name}:</b> takes [[/r 2d6[lawful]]],[[/r 2d6[good]]], [[/r 2d6[chaotic]]], [[/r 2d6[evil]]] damage!
<div style="border-bottom: 2px solid black;color:#131516;padding-bottom:4px;">
<b style="color:#990000">
</div> `)
addAlert(t, 2)
} else if (roll + crit >= willDC) {
toChat(`<div><h3 style='border-bottom: 3px solid black'>Battle-Prayer</h3></div><div style="color:#131516;margin-top:4px;">
✔️ <b>Success!
<br> <b>${t.name}:</b> takes [[/r 1d6[lawful]]],[[/r 1d6[good]]], [[/r 1d6[chaotic]]], [[/r 1d6[evil]]] damage!
<div style="border-bottom: 2px solid black;color:#131516;padding-bottom:4px;">
<b style="color:#990000">
</div> `)
addAlert(t, 1)
} else if (roll + crit < willDC - 10) {
toChat(`<div><h3 style='border-bottom: 3px solid black'>Battle-Prayer</h3></div><div style="color:#131516;margin-top:4px;">
❌ <b>Crit Fail!
<br> <b>${t.name}:</b> unaffected
<div style="border-bottom: 2px solid black;color:#131516;padding-bottom:4px;">
<b style="color:#990000">
</div> `)
} else if (roll + crit < willDC) {
toChat(`<div><h3 style='border-bottom: 3px solid black'>Battle-Prayer</h3></div><div style="color:#131516;margin-top:4px;">
❌ <b>Fail!
<br> <b>${t.name}:</b> unaffected
<div style="border-bottom: 2px solid black;color:#131516;padding-bottom:4px;">
<b style="color:#990000">
</div> `)
} else if (roll + crit >= willDC - 10) {
toChat(`<div><h3 style='border-bottom: 3px solid black'>Battle-Prayer</h3></div><div style="color:#131516;margin-top:4px;">
💥 <b>Crit failure!
The backlash of <br> <b>${t.name}:</b>'s will against your prayer prevents you from using Battle Prayer again for 10 minutes.
<div style="border-bottom: 2px solid black;color:#131516;padding-bottom:4px;">
<b style="color:#990000">
</div> `)
addAlert(t, 2)
})
})Editor is loading...