foundryacks/7.5/module/helpers.js

60 lines
1.6 KiB
JavaScript

export const registerHelpers = async function () {
// Handlebars template helpers
Handlebars.registerHelper("eq", function (a, b) {
return a == b;
});
Handlebars.registerHelper("gt", function (a, b) {
return a >= b;
});
Handlebars.registerHelper("mod", function (val) {
if (val > 0) {
return `+${val}`;
} else if (val < 0) {
return `${val}`;
} else {
return "0";
}
});
Handlebars.registerHelper("add", function (lh, rh) {
return parseInt(lh) + parseInt(rh);
});
Handlebars.registerHelper("subtract", function (lh, rh) {
return parseInt(rh) - parseInt(lh);
});
Handlebars.registerHelper("divide", function (lh, rh) {
return Math.floor(parseFloat(lh) / parseFloat(rh));
});
Handlebars.registerHelper("mult", function (lh, rh) {
return parseFloat(lh) * parseFloat(rh);
});
Handlebars.registerHelper("multround", function (lh, rh) {
return Math.round(parseFloat(lh) * parseFloat(rh) * 100) / 100;
})
Handlebars.registerHelper("roundTreas", function (value) {
return Math.round(value * 100) / 100;
})
Handlebars.registerHelper("roundWeight", function (weight) {
return Math.round(parseFloat(weight) / 100) / 10;
});
Handlebars.registerHelper("getTagIcon", function (tag) {
let idx = Object.keys(CONFIG.ACKS.tags).find(k => (CONFIG.ACKS.tags[k] == tag));
return CONFIG.ACKS.tag_images[idx];
});
Handlebars.registerHelper("counter", function (status, value, max) {
return status
? Math.clamped((100.0 * value) / max, 0, 100)
: Math.clamped(100 - (100.0 * value) / max, 0, 100);
});
};