* Fixes

* .
This commit is contained in:
WBHarry 2026-04-11 22:55:41 +02:00 committed by GitHub
parent f4282429cd
commit d12220c64f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
37 changed files with 124 additions and 66 deletions

View file

@ -118,8 +118,13 @@ export default class DHAppearanceSettings extends HandlebarsApplicationMixin(App
break;
case 'footer':
partContext.buttons = [
{ type: 'button', action: 'reset', icon: 'fa-solid fa-arrow-rotate-left', label: 'Reset' },
{ type: 'submit', icon: 'fa-solid fa-floppy-disk', label: 'Save Changes' }
{
type: 'button',
action: 'reset',
icon: 'fa-solid fa-arrow-rotate-left',
label: game.i18n.localize('ACTIONS.Reset')
},
{ type: 'submit', icon: 'fa-solid fa-floppy-disk', label: game.i18n.localize('EDITOR.Save') }
];
break;
}

View file

@ -217,8 +217,8 @@ export default class AdversarySheet extends DHBaseActorSheet {
static #reactionRoll(event) {
const config = {
event,
title: `Reaction Roll: ${this.actor.name}`,
headerTitle: 'Adversary Reaction Roll',
title: game.i18n.localize('DAGGERHEART.GENERAL.reactionRoll'),
headerTitle: game.i18n.localize('DAGGERHEART.ACTORS.Adversary.adversaryReactionRoll.headerTitle'),
roll: {
type: 'trait'
},

View file

@ -229,7 +229,7 @@ export default class Party extends DHBaseActorSheet {
title: game.i18n.localize(`DAGGERHEART.APPLICATIONS.Downtime.${button.dataset.type}.title`),
icon: button.dataset.type === 'shortRest' ? 'fa-solid fa-utensils' : 'fa-solid fa-bed'
},
content: 'This will trigger a dialog to players make their downtime moves, are you sure?',
content: game.i18n.localize('DAGGERHEART.ACTORS.Party.triggerRestContent'),
classes: ['daggerheart', 'dialog', 'dh-style']
});

View file

@ -652,12 +652,12 @@ export default function DHApplicationMixin(Base) {
buttons: [
{
action: 'create',
label: 'Create Item',
label: game.i18n.localize('DAGGERHEART.APPLICATIONS.CreateItemDialog.createItem'),
icon: 'fa-solid fa-plus'
},
{
action: 'browse',
label: 'Browse Compendium',
label: game.i18n.localize('DAGGERHEART.APPLICATIONS.CreateItemDialog.browseCompendium'),
icon: 'fa-solid fa-book'
}
]

View file

@ -76,7 +76,7 @@ export default class DhActorDirectory extends foundry.applications.sidebar.tabs.
window: { title: 'DAGGERHEART.UI.Sidebar.actorDirectory.pickTierTitle' },
content,
ok: {
label: 'Create Adversary',
label: 'DAGGERHEART.UI.Sidebar.actorDirectory.createAdversary',
callback: (event, button, dialog) => Number(button.form.elements.tier.value)
}
});

View file

@ -22,7 +22,7 @@ export default class FearTracker extends HandlebarsApplicationMixin(ApplicationV
tag: 'div',
window: {
frame: true,
title: 'Fear',
title: 'DAGGERHEART.GENERAL.fear',
positioned: true,
resizable: true,
minimizable: false

View file

@ -207,8 +207,23 @@ export class ItemBrowser extends HandlebarsApplicationMixin(ApplicationV2) {
label: game.i18n.localize(col.label)
}));
const splitPath = folderId?.split('.') ?? [];
const { pathLabels } = splitPath.reduce(
(acc, curr) => {
acc.currentPath = !acc.currentPath ? curr : [acc.currentPath, curr].join('.');
if (curr === 'folder') return acc;
const label = foundry.utils.getProperty(this.config, acc.currentPath)?.label;
if (label) acc.pathLabels.push(game.i18n.localize(label));
return acc;
},
{ pathLabels: [], currentPath: '' }
);
this.selectedMenu = {
path: folderId?.split('.') ?? [],
path: splitPath,
pathLabels: pathLabels,
data: {
...folderData,
columns: columns

View file

@ -188,7 +188,7 @@ export default class FilterMenu extends foundry.applications.ux.ContextMenu {
}));
const damageTypeFilter = Object.values(CONFIG.DH.GENERAL.damageTypes).map(({ id, abbreviation }) => ({
group: 'Damage Type', //TODO localize
group: game.i18n.localize('DAGGERHEART.GENERAL.damageType'),
name: game.i18n.localize(abbreviation),
filter: {
field: 'system.damage.type',

View file

@ -943,14 +943,14 @@ export const countdownAppMode = {
export const sceneRangeMeasurementSetting = {
disable: {
id: 'disable',
label: 'Disable Daggerheart Range Measurement'
label: 'DAGGERHEART.CONFIG.SceneRangeMeasurementTypes.disable'
},
default: {
id: 'default',
label: 'Default'
label: 'DAGGERHEART.CONFIG.SceneRangeMeasurementTypes.default'
},
custom: {
id: 'custom',
label: 'Custom'
label: 'DAGGERHEART.CONFIG.SceneRangeMeasurementTypes.custom'
}
};

View file

@ -7,7 +7,12 @@ export const typeConfig = {
},
{
key: 'system.type',
label: 'DAGGERHEART.GENERAL.type'
label: 'DAGGERHEART.GENERAL.type',
format: type => {
if (!type) return '-';
return CONFIG.DH.ACTOR.allAdversaryTypes()[type].label;
}
}
],
filters: [
@ -318,7 +323,14 @@ export const typeConfig = {
},
{
key: 'system.domains',
label: 'DAGGERHEART.GENERAL.Domain.plural'
label: 'DAGGERHEART.GENERAL.Domain.plural',
format: domains => {
const config = CONFIG.DH.DOMAIN.allDomains();
return domains
.map(x => (x ? game.i18n.localize(config[x].label) : null))
.filter(x => x)
.join(', ');
}
}
],
filters: [
@ -367,7 +379,8 @@ export const typeConfig = {
},
{
key: 'system.spellcastingTrait',
label: 'DAGGERHEART.ITEMS.Subclass.spellcastingTrait'
label: 'DAGGERHEART.ITEMS.Subclass.spellcastingTrait',
format: trait => (trait ? `DAGGERHEART.CONFIG.Traits.${trait}.name` : '-')
}
],
filters: [

View file

@ -46,18 +46,14 @@ export const gameSettings = {
export const actionAutomationChoices = {
never: {
id: 'never',
label: 'Never'
label: 'DAGGERHEART.CONFIG.ActionAutomationChoices.never'
},
showDialog: {
id: 'showDialog',
label: 'Show Dialog only'
label: 'DAGGERHEART.CONFIG.ActionAutomationChoices.showDialog'
},
// npcOnly: {
// id: "npcOnly",
// label: "Always for non-characters"
// },
always: {
id: 'always',
label: 'Always'
label: 'DAGGERHEART.CONFIG.ActionAutomationChoices.always'
}
};

View file

@ -295,7 +295,7 @@ export class DHDamageData extends DHResourceData {
required: true
}),
{
label: 'Type'
label: game.i18n.localize('DAGGERHEART.GENERAL.type')
}
)
};

View file

@ -197,8 +197,8 @@ export default class DhpChatMessage extends foundry.documents.ChatMessage {
const pendingingSaves = targets.filter(t => t.saved.success === null);
if (pendingingSaves.length) {
const confirm = await foundry.applications.api.DialogV2.confirm({
window: { title: 'Pending Reaction Rolls found' },
content: `<p>Some Tokens still need to roll their Reaction Roll.</p><p>Are you sure you want to continue ?</p><p><i>Undone reaction rolls will be considered as failed</i></p>`
window: { title: game.i18n.localize('DAGGERHEART.APPLICATIONS.PendingReactionsDialog.title') },
content: `<p>${game.i18n.localize('DAGGERHEART.APPLICATIONS.PendingReactionsDialog.unfinishedRolls')}</p><p>${game.i18n.localize('DAGGERHEART.APPLICATIONS.PendingReactionsDialog.confirmation')}</p><p><i>${game.i18n.localize('DAGGERHEART.APPLICATIONS.PendingReactionsDialog.warning')}</i></p>`
});
if (!confirm) return;
}