mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-01-18 16:09:03 +01:00
Fixed Feature spellcasting modifier
This commit is contained in:
parent
637918d686
commit
8fc26495c1
12 changed files with 57 additions and 34 deletions
|
|
@ -1,3 +1,5 @@
|
|||
import { itemAbleRollParse } from './utils.mjs';
|
||||
|
||||
export default class RegisterHandlebarsHelpers {
|
||||
static registerHelpers() {
|
||||
Handlebars.registerHelper({
|
||||
|
|
@ -42,7 +44,9 @@ export default class RegisterHandlebarsHelpers {
|
|||
return new Handlebars.SafeString(Array.from(symbols).map(symbol => `<i class="fa-solid ${symbol}"></i>`));
|
||||
}
|
||||
|
||||
static rollParsed(value, actor) {
|
||||
return Roll.replaceFormulaData(value, actor);
|
||||
static rollParsed(value, actor, item, numerical) {
|
||||
const isNumerical = typeof numerical === 'boolean' ? numerical : false;
|
||||
const result = itemAbleRollParse(value, actor, item);
|
||||
return isNumerical && !result ? 0 : result;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -299,3 +299,15 @@ export const updateActorTokens = async (actor, update) => {
|
|||
}
|
||||
}
|
||||
};
|
||||
|
||||
export const itemAbleRollParse = (value, actor, item) => {
|
||||
if (!value) return value;
|
||||
|
||||
const isItemTarget = value.toLowerCase().startsWith('item.');
|
||||
const slicedValue = isItemTarget ? value.slice(5) : value;
|
||||
try {
|
||||
return Roll.safeEval(Roll.replaceFormulaData(slicedValue, isItemTarget ? item : actor));
|
||||
} catch (_) {
|
||||
return '';
|
||||
}
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue