mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-01-11 19:25:21 +01:00
* Fixed translation of TrackedAttributeChoices * Styling improvements * Added hints * fix autocomplete style, fix tagify style, fix magical and physical tag style and fix lang in details adversary settings * Removed commented out code * Some companion fixes --------- Co-authored-by: moliloo <dev.murilobrito@gmail.com>
35 lines
1.7 KiB
JavaScript
35 lines
1.7 KiB
JavaScript
export default class DHToken extends TokenDocument {
|
|
/**
|
|
* Inspect the Actor data model and identify the set of attributes which could be used for a Token Bar.
|
|
* @param {object} attributes The tracked attributes which can be chosen from
|
|
* @returns {object} A nested object of attribute choices to display
|
|
*/
|
|
static getTrackedAttributeChoices(attributes, model) {
|
|
attributes = attributes || this.getTrackedAttributes();
|
|
const barGroup = game.i18n.localize('TOKEN.BarAttributes');
|
|
const valueGroup = game.i18n.localize('TOKEN.BarValues');
|
|
|
|
const bars = attributes.bar.map(v => {
|
|
const a = v.join('.');
|
|
const modelLabel = model ? game.i18n.localize(model.schema.getField(`${a}.value`).label) : null;
|
|
return { group: barGroup, value: a, label: modelLabel ? modelLabel : a };
|
|
});
|
|
bars.sort((a, b) => a.label.compare(b.label));
|
|
|
|
const invalidAttributes = ['gold', 'levelData', 'rules.damageReduction.maxArmorMarked.value'];
|
|
const values = attributes.value.reduce((acc, v) => {
|
|
const a = v.join('.');
|
|
if (invalidAttributes.some(x => a.startsWith(x))) return acc;
|
|
|
|
const field = model ? model.schema.getField(a) : null;
|
|
const modelLabel = field ? game.i18n.localize(field.label) : null;
|
|
const hint = field ? game.i18n.localize(field.hint) : null;
|
|
acc.push({ group: valueGroup, value: a, label: modelLabel ? modelLabel : a, hint: hint });
|
|
|
|
return acc;
|
|
}, []);
|
|
values.sort((a, b) => a.label.compare(b.label));
|
|
|
|
return bars.concat(values);
|
|
}
|
|
}
|