Fix criticals roll

This commit is contained in:
2025-02-09 18:11:17 +01:00
parent 8168cbfdd9
commit 7bc7570eb4
17 changed files with 99 additions and 74 deletions

View File

@@ -183,19 +183,24 @@ export class RMFRPProcessTable {
}
let roll = new Roll("1d100")
await roll.evaluate()
await RMFRPUtility.showDiceSoNice(roll, game.settings.get("core", "rollMode"))
let score = roll.total
console.log("Critical Roll: ", score)
// Search the result
for (let criticalDef of table.criticals) {
if (Number(criticalDef.score) ) {
if (Number(criticalDef.score) == score) {
return criticalDef.levels[criticalKey.toUpperCase()]
let critDef = foundry.utils.duplicate(criticalDef.levels[criticalKey.toUpperCase()])
critDef.diceResult = score
return critDef
}
} else {
// Score is XX-YY so split it to get the range values
let range = criticalDef.score.split("-")
if (Number(range[0]) <= score && score <= Number(range[1])) {
return criticalDef.levels[criticalKey.toUpperCase()]
let critDef = foundry.utils.duplicate(criticalDef.levels[criticalKey.toUpperCase()])
critDef.diceResult = score
return critDef
}
}
}