Compare commits

..

2 commits

Author SHA1 Message Date
WBHarry
cfd9950aae Translation fixes 2026-04-25 20:33:12 +02:00
WBHarry
702c9e0b6a Fixed translations. Fixed actions without Effects causing errors in Homebrew ItemFeatures 2026-04-25 18:35:22 +02:00
14 changed files with 22 additions and 16 deletions

View file

@ -712,6 +712,11 @@
}
},
"CONFIG": {
"ActionAutomationChoices": {
"never": "Never",
"showDialog": "Show Dialog Only",
"always": "Always"
},
"AdversaryTrait": {
"relentless": {
"name": "Relentless",

View file

@ -188,8 +188,9 @@ export default class SettingFeatureConfig extends HandlebarsApplicationMixin(App
if (type === 'effect') {
const move = foundry.utils.getProperty(this.settings, this.movePath);
for (const action of move.actions) {
const remainingEffects = action.effects.filter(x => x._id !== id);
if (action.effects.length !== remainingEffects.length) {
const actionEffects = action.effects ?? [];
const remainingEffects = actionEffects.filter(x => x._id !== id);
if (actionEffects.length !== remainingEffects.length) {
await action.update({
effects: remainingEffects.map(x => {
const { _id, ...rest } = x;

View file

@ -172,8 +172,8 @@ export const typeConfig = {
key: 'system.secondary',
label: 'DAGGERHEART.UI.ItemBrowser.subtype',
choices: [
{ value: false, label: 'DAGGERHEART.ITEMS.Weapon.primaryWeapon' },
{ value: true, label: 'DAGGERHEART.ITEMS.Weapon.secondaryWeapon' }
{ value: false, label: 'DAGGERHEART.ITEMS.Weapon.primaryWeapon.short' },
{ value: true, label: 'DAGGERHEART.ITEMS.Weapon.secondaryWeapon.short' }
]
},
{

View file

@ -453,7 +453,7 @@ export const allArmorFeatures = () => {
const feature = homebrewFeatures[key];
const actions = feature.actions.map(action => ({
...action,
effects: action.effects.map(effect => feature.effects.find(x => x.id === effect._id)),
effects: action.effects?.map(effect => feature.effects.find(x => x.id === effect._id))??[],
type: action.type
}));
const actionEffects = actions.flatMap(a => a.effects);
@ -1389,7 +1389,7 @@ export const allWeaponFeatures = () => {
const actions = feature.actions.map(action => ({
...action,
effects: action.effects.map(effect => feature.effects.find(x => x.id === effect._id)),
effects: action.effects?.map(effect => feature.effects.find(x => x.id === effect._id))??[],
type: action.type
}));
const actionEffects = actions.flatMap(a => a.effects);

View file

@ -28,7 +28,7 @@ export default class DHWeapon extends AttachableItem {
equipped: new fields.BooleanField({ initial: false }),
//SETTINGS
secondary: new fields.BooleanField({ initial: false, label: 'DAGGERHEART.ITEMS.Weapon.secondaryWeapon' }),
secondary: new fields.BooleanField({ initial: false, label: 'DAGGERHEART.ITEMS.Weapon.secondaryWeapon.full' }),
burden: new fields.StringField({
required: true,
choices: CONFIG.DH.GENERAL.burden,

View file

@ -1,5 +1,5 @@
<section class="creation-action-footer">
<button data-action="close">{{localize "COMMON.Cancel"}}</button>
<button data-action="close">{{localize "Cancel"}}</button>
{{#if isLastTab}}
<button data-action="finish">{{localize "DAGGERHEART.APPLICATIONS.CharacterCreation.finishCreation"}}</button>
{{else}}

View file

@ -17,7 +17,7 @@
</div>
<footer class="flexrow">
<button data-action="close">
<span>{{localize "COMMON.Cancel"}}</span>
<span>{{localize "Cancel"}}</span>
</button>
<button data-action="takeMove" {{#if (not this.selectedMove)}}disabled{{/if}}>
<span>

View file

@ -28,7 +28,7 @@
</fieldset>
<footer>
<button type="button" data-action="close">{{localize "COMMON.Cancel"}}</button>
<button type="button" data-action="close">{{localize "Cancel"}}</button>
<button type="button" data-action="takeDowntime" {{#if disabledDowntime}}disabled{{/if}}>{{localize "DAGGERHEART.APPLICATIONS.Downtime.takeDowntime"}}</button>
</footer>
</div>

View file

@ -1,4 +1,4 @@
<div class="footer">
<button data-action="close">{{localize "COMMON.Cancel"}}</button>
<button data-action="close">{{localize "Cancel"}}</button>
<button type="button" data-action="finishSelection">{{localize "DAGGERHEART.APPLICATIONS.ImageSelect.selectImage"}}</button>
</div>

View file

@ -16,7 +16,7 @@
</div>
<footer>
<button data-action="close">{{localize "COMMON.Cancel"}}</button>
<button data-action="close">{{localize "Cancel"}}</button>
<button data-action="save" {{disabled multiclassDisabled}}>{{localize "DAGGERHEART.GENERAL.multiclass"}}</button>
</footer>
</div>

View file

@ -20,7 +20,7 @@
{{/if}}
{{#unless levelupAuto}}
<div class="levelup-footer">
<button type="button" data-action="close">{{localize "COMMON.Cancel"}}</button>
<button type="button" data-action="close">{{localize "Cancel"}}</button>
<button type="button" data-action="save">{{localize "Save"}}</button>
</div>
{{/unless}}

View file

@ -1,4 +1,4 @@
<section class='tab-form-footer spaced'>
<button data-action="close">{{localize "COMMON.Cancel"}}</button>
<button data-action="close">{{localize "Cancel"}}</button>
<button data-action="saveForm"><i class="fa-solid fa-floppy-disk"></i> {{localize "Save"}}</button>
</section>

View file

@ -7,7 +7,7 @@
<legend>{{localize tabs.settings.label}}</legend>
<span>{{localize "DAGGERHEART.GENERAL.Tiers.singular"}}</span>
{{formInput systemFields.tier value=source.system.tier}}
<span>{{localize "DAGGERHEART.ITEMS.Weapon.secondaryWeapon"}}</span>
<span>{{localize "DAGGERHEART.ITEMS.Weapon.secondaryWeapon.full"}}</span>
{{formInput systemFields.secondary value=source.system.secondary}}
<span>{{localize "DAGGERHEART.GENERAL.Trait.single"}}</span>
{{formInput systemFields.attack.fields.roll.fields.trait value=document.system.attack.roll.trait name="system.attack.roll.trait" label="DAGGERHEART.GENERAL.Trait.single" localize=true}}

View file

@ -66,7 +66,7 @@
{{#if (and combats.length user.isGM)}}
<div class="encounter-battlepoints" data-tooltip="#battlepoints#" data-combat-id="{{combat.id}}">
{{battlepoints.current}}/{{battlepoints.max}} BP{{#if battlepoints.hasModifierBP}}*{{/if}}
{{battlepoints.current}}/{{battlepoints.max}} {{localize "DAGGERHEART.GENERAL.Battlepoints.short"}}{{#if battlepoints.hasModifierBP}}*{{/if}}
</div>
{{/if}}