Attribute rolls working

This commit is contained in:
Neill Cox 2024-05-05 11:22:51 +10:00
parent 03761d2e2f
commit 4f5b33d29b
4 changed files with 42 additions and 13 deletions

View file

@ -1,3 +1,6 @@
import {doRoll} from "/systems/gurps/module/dierolls/dieroll.js"
export let RollHandler = null
Hooks.once('tokenActionHudCoreApiReady', async (coreModule) => {
@ -74,6 +77,8 @@ Hooks.once('tokenActionHudCoreApiReady', async (coreModule) => {
case 'utility':
this.#handleUtilityAction(token, actionId)
break
case 'attributes':
this.#handleAttributeAction(actor, actionId)
}
}
@ -104,5 +109,25 @@ Hooks.once('tokenActionHudCoreApiReady', async (coreModule) => {
break
}
}
async #handleAttributeAction(actor, actionId) {
// actor, formula, targetmods, prefix = '', thing = '', chatthing = '', origtarget = -1, optionalArgs = {},
if ( actionId == "WILL" ) actionId = "Will";
if ( actionId == "PER" ) actionId = "Per";
// debugger;
let formula = '3d6';
let targetmods = null;
let prefix = "Rolls vs" // should be i18n of 'GURPS.rollVs'
let attrname = coreModule.api.Utils.i18n(GURPS.attributeNames[actionId])
let thing = attrname; // actionID ?
let chatthing = attrname + "/[@" + actor.id + "@" + coreModule.api.Utils.i18n(GURPS.attributes[actionId]) +"]";
let target = actor.system.attributes[actionId.toUpperCase()].value;
let opt = {};
doRoll({ actor, formula, targetmods, prefix, thing, chatthing, origtarget: target, optionalArgs: opt })
}
}
})