diff --git a/module/applications/sheets-configs/activeEffectConfig.mjs b/module/applications/sheets-configs/activeEffectConfig.mjs index 087b5b08..88edf9d6 100644 --- a/module/applications/sheets-configs/activeEffectConfig.mjs +++ b/module/applications/sheets-configs/activeEffectConfig.mjs @@ -99,7 +99,17 @@ export default class DhActiveEffectConfig extends foundry.applications.sheets.Ac async _preparePartContext(partId, context) { const partContext = await super._preparePartContext(partId, context); switch (partId) { - case 'changes': + case 'details': + const useGeneric = game.settings.get( + CONFIG.DH.id, + CONFIG.DH.SETTINGS.gameSettings.appearance + ).showGenericStatusEffects; + if (!useGeneric) { + partContext.statuses = Object.values(CONFIG.DH.GENERAL.conditions).map(status => ({ + value: status.id, + label: game.i18n.localize(status.name) + })); + } break; } diff --git a/module/documents/activeEffect.mjs b/module/documents/activeEffect.mjs index 3c45929b..5d45e2e1 100644 --- a/module/documents/activeEffect.mjs +++ b/module/documents/activeEffect.mjs @@ -41,6 +41,14 @@ export default class DhActiveEffect extends ActiveEffect { }); } + get localizedStatuses() { + const statusMap = new Map(foundry.CONFIG.statusEffects.map(status => [status.id, status.name])); + return this.statuses.map(x => ({ + key: x, + name: game.i18n.localize(statusMap.get(x)) + })); + } + async _preCreate(data, options, user) { const update = {}; if (!data.img) { diff --git a/templates/sheets/global/partials/inventory-item-V2.hbs b/templates/sheets/global/partials/inventory-item-V2.hbs index 90e1c543..46d63861 100644 --- a/templates/sheets/global/partials/inventory-item-V2.hbs +++ b/templates/sheets/global/partials/inventory-item-V2.hbs @@ -156,8 +156,8 @@ Parameters: {{localize 'DAGGERHEART.EFFECTS.Duration.passive'}} {{/if}} - {{#each item.statuses as |status|}} -
{{localize (concat 'DAGGERHEART.CONFIG.Condition.' status '.name')}}
+ {{#each item.localizedStatuses as |status|}} +
{{status.name}}
{{/each}} {{else if (not hideLabels)}}