basis of wound system

This commit is contained in:
François-Xavier Guillois
2023-09-05 15:04:06 +02:00
parent 983f856187
commit 848366e05c
7 changed files with 156 additions and 75 deletions
+42 -1
View File
@@ -8,7 +8,6 @@
// Actor partials.
// "systems/vermine2047/templates/actor/parts/actor-features.html",
"systems/vermine2047/templates/actor/parts/actor-id.hbs",
"systems/vermine2047/templates/actor/parts/actor-totem.hbs",
"systems/vermine2047/templates/actor/parts/character-features.hbs",
@@ -32,6 +31,37 @@
};
/**
* Produce a range of numbers (positive and/or negative), processing from
* `start` up to, but not including, `end`.
*
* @param {number} start Range start value (inclusive)
* @param {number} [end] Range end value (exclusive)
* @param {number} [step=1] Value to increment by
* @return {number[]} Array of numbers
*/
function range(start, end, step) {
/* jshint eqeqeq:false, maxcomplexity:7 */
start = Number(start) || 0;
end = end == null ? end : Number(end);
step = step == null ? 1 : Number(step);
if (end == null) {
end = start;
start = 0;
}
var length = Math.max(Math.ceil((end - start) / (step || 1)), 0);
var result = new Array(length);
for (var i = 0; i < length; i += 1) {
result[i] = start;
start += step;
}
return result;
}
export const registerHandlebarsHelpers = function () {
Handlebars.registerHelper('concat', (...args) => args.slice(0, -1).join(''));
Handlebars.registerHelper('lower', e => e.toLocaleLowerCase());
@@ -176,4 +206,15 @@ export const registerHandlebarsHelpers = function () {
if (isNpc) return "npc";
});
Handlebars.registerHelper('range', function() {
var args = Array.prototype.slice.call(arguments),
rangeArgs = args.slice(0, -1),
options = args[args.length - 1];
return range.apply(null, rangeArgs)
.map(function(num) { return options.fn(num); })
.join('');
});
}