Language Organization (#281)

* Organized language

* Organized high level folders

* Some deeper organization

* More org. That's enough ._.

* Capitalized initial system localization categories
This commit is contained in:
WBHarry 2025-07-06 17:43:12 +02:00 committed by GitHub
parent 8a7ff2306a
commit 488844603a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
149 changed files with 2130 additions and 2512 deletions

View file

@ -41,7 +41,7 @@ export default class DhCharacterCreation extends HandlebarsApplicationMixin(Appl
}
get title() {
return game.i18n.format('DAGGERHEART.CharacterCreation.Title', { actor: this.character.name });
return game.i18n.format('DAGGERHEART.APPLICATIONS.CharacterCreation.title', { actor: this.character.name });
}
static DEFAULT_OPTIONS = {
@ -87,14 +87,14 @@ export default class DhCharacterCreation extends HandlebarsApplicationMixin(Appl
cssClass: '',
group: 'primary',
id: 'setup',
label: 'DAGGERHEART.CharacterCreation.Tabs.Setup'
label: 'DAGGERHEART.GENERAL.Tabs.setup'
},
equipment: {
active: false,
cssClass: '',
group: 'primary',
id: 'equipment',
label: 'DAGGERHEART.CharacterCreation.Tabs.Equipment',
label: 'DAGGERHEART.GENERAL.Tabs.equipment',
optional: true
}
// story: {
@ -102,7 +102,7 @@ export default class DhCharacterCreation extends HandlebarsApplicationMixin(Appl
// cssClass: '',
// group: 'primary',
// id: 'story',
// label: 'DAGGERHEART.CharacterCreation.Tabs.Story',
// label: 'DAGGERHEART.GENERAL.Tabs.story',
// optional: true
// }
};
@ -188,7 +188,7 @@ export default class DhCharacterCreation extends HandlebarsApplicationMixin(Appl
context.suggestedTraits = this.setup.class.system
? Object.keys(this.setup.class.system.characterGuide.suggestedTraits).map(traitKey => {
const trait = this.setup.class.system.characterGuide.suggestedTraits[traitKey];
return `${game.i18n.localize(`DAGGERHEART.Abilities.${traitKey}.short`)} ${trait > 0 ? `+${trait}` : trait}`;
return `${game.i18n.localize(`DAGGERHEART.CONFIG.Traits.${traitKey}.short`)} ${trait > 0 ? `+${trait}` : trait}`;
})
: [];
context.traits = {
@ -417,9 +417,7 @@ export default class DhCharacterCreation extends HandlebarsApplicationMixin(Appl
};
} else if (item.type === 'subclass' && event.target.closest('.subclass-card')) {
if (this.setup.class.system.subclasses.every(subclass => subclass.uuid !== item.uuid)) {
ui.notifications.error(
game.i18n.localize('DAGGERHEART.CharacterCreation.Notifications.SubclassNotInClass')
);
ui.notifications.error(game.i18n.localize('DAGGERHEART.UI.Notifications.subclassNotInClass'));
return;
}
@ -430,68 +428,58 @@ export default class DhCharacterCreation extends HandlebarsApplicationMixin(Appl
};
} else if (item.type === 'domainCard' && event.target.closest('.domain-card')) {
if (!this.setup.class.uuid) {
ui.notifications.error(game.i18n.localize('DAGGERHEART.CharacterCreation.Notifications.MissingClass'));
ui.notifications.error(game.i18n.localize('DAGGERHEART.UI.Notifications.missingClass'));
return;
}
if (!this.setup.class.system.domains.includes(item.system.domain)) {
ui.notifications.error(game.i18n.localize('DAGGERHEART.CharacterCreation.Notifications.WrongDomain'));
ui.notifications.error(game.i18n.localize('DAGGERHEART.UI.Notifications.wrongDomain'));
return;
}
if (item.system.level > 1) {
ui.notifications.error(
game.i18n.localize('DAGGERHEART.CharacterCreation.Notifications.CardTooHighLevel')
);
ui.notifications.error(game.i18n.localize('DAGGERHEART.UI.Notifications.cardTooHighLevel'));
return;
}
if (Object.values(this.setup.domainCards).some(card => card.uuid === item.uuid)) {
ui.notifications.error(game.i18n.localize('DAGGERHEART.CharacterCreation.Notifications.DuplicateCard'));
ui.notifications.error(game.i18n.localize('DAGGERHEART.UI.Notifications.duplicateCard'));
return;
}
this.setup.domainCards[event.target.closest('.domain-card').dataset.card] = { ...item, uuid: item.uuid };
} else if (item.type === 'armor' && event.target.closest('.armor-card')) {
if (item.system.tier > 1) {
ui.notifications.error(
game.i18n.localize('DAGGERHEART.CharacterCreation.Notifications.ItemTooHighTier')
);
ui.notifications.error(game.i18n.localize('DAGGERHEART.UI.Notifications.itemTooHighTier'));
return;
}
this.equipment.armor = { ...item, uuid: item.uuid };
} else if (item.type === 'weapon' && event.target.closest('.primary-weapon-card')) {
if (item.system.secondary) {
ui.notifications.error(game.i18n.localize('DAGGERHEART.CharacterCreation.Notifications.NotPrimary'));
ui.notifications.error(game.i18n.localize('DAGGERHEART.UI.Notifications.notPrimary'));
return;
}
if (item.system.tier > 1) {
ui.notifications.error(
game.i18n.localize('DAGGERHEART.CharacterCreation.Notifications.ItemTooHighTier')
);
ui.notifications.error(game.i18n.localize('DAGGERHEART.UI.Notifications.itemTooHighTier'));
return;
}
this.equipment.primaryWeapon = { ...item, uuid: item.uuid };
} else if (item.type === 'weapon' && event.target.closest('.secondary-weapon-card')) {
if (this.equipment.primaryWeapon?.system?.burden === burden.twoHanded.value) {
ui.notifications.error(
game.i18n.localize('DAGGERHEART.CharacterCreation.Notifications.PrimaryIsTwoHanded')
);
ui.notifications.error(game.i18n.localize('DAGGERHEART.UI.Notifications.primaryIsTwoHanded'));
return;
}
if (!item.system.secondary) {
ui.notifications.error(game.i18n.localize('DAGGERHEART.CharacterCreation.Notifications.NotSecondary'));
ui.notifications.error(game.i18n.localize('DAGGERHEART.UI.Notifications.notSecondary'));
return;
}
if (item.system.tier > 1) {
ui.notifications.error(
game.i18n.localize('DAGGERHEART.CharacterCreation.Notifications.ItemTooHighTier')
);
ui.notifications.error(game.i18n.localize('DAGGERHEART.UI.Notifications.itemTooHighTier'));
return;
}

View file

@ -27,7 +27,7 @@ export default class BeastformDialog extends HandlebarsApplicationMixin(Applicat
};
get title() {
return game.i18n.localize('DAGGERHEART.Sheets.Beastform.dialogTitle');
return game.i18n.localize('DAGGERHEART.ITEMS.Beastform.dialogTitle');
}
/** @override */

View file

@ -45,7 +45,7 @@ export default class DamageReductionDialog extends HandlebarsApplicationMixin(Ap
}
get title() {
return game.i18n.localize('DAGGERHEART.DamageReduction.Title');
return game.i18n.localize('DAGGERHEART.APPLICATIONS.DamageReduction.title');
}
static DEFAULT_OPTIONS = {
@ -79,7 +79,7 @@ export default class DamageReductionDialog extends HandlebarsApplicationMixin(Ap
/** @inheritDoc */
get title() {
return game.i18n.localize('DAGGERHEART.DamageReduction.Title');
return game.i18n.localize('DAGGERHEART.APPLICATIONS.DamageReduction.title');
}
async _prepareContext(_options) {
@ -136,14 +136,12 @@ export default class DamageReductionDialog extends HandlebarsApplicationMixin(Ap
const currentMark = this.marks[target.dataset.type][target.dataset.key];
const { selectedStressMarks, stressReductions, currentMarks, currentDamage } = this.getDamageInfo();
if (!currentMark.selected && currentDamage === 0) {
ui.notifications.info(game.i18n.localize('DAGGERHEART.DamageReduction.Notifications.DamageAlreadyNone'));
ui.notifications.info(game.i18n.localize('DAGGERHEART.UI.Notifications.damageAlreadyNone'));
return;
}
if (!currentMark.selected && currentMarks === this.actor.system.armorScore) {
ui.notifications.info(
game.i18n.localize('DAGGERHEART.DamageReduction.Notifications.NoAvailableArmorMarks')
);
ui.notifications.info(game.i18n.localize('DAGGERHEART.UI.Notifications.noAvailableArmorMarks'));
return;
}
@ -187,7 +185,7 @@ export default class DamageReductionDialog extends HandlebarsApplicationMixin(Ap
const currentStress =
this.actor.system.resources.stress.value + selectedStressMarks.length + stressReductionStress;
if (currentStress + stressReduction.cost > this.actor.system.resources.stress.maxTotal) {
ui.notifications.info(game.i18n.localize('DAGGERHEART.DamageReduction.Notifications.NotEnoughStress'));
ui.notifications.info(game.i18n.localize('DAGGERHEART.UI.Notifications.notEnoughStress'));
return;
}

View file

@ -9,7 +9,7 @@ export default class DhpDeathMove extends HandlebarsApplicationMixin(Application
}
get title() {
return game.i18n.format('DAGGERHEART.Application.DeathMove.Title', { actor: this.actor.name });
return game.i18n.format('DAGGERHEART.APPLICATIONS.DeathMove.title', { actor: this.actor.name });
}
static DEFAULT_OPTIONS = {

View file

@ -54,7 +54,7 @@ export default class DhpDowntime extends HandlebarsApplicationMixin(ApplicationV
static selectMove(_, button) {
const nrSelected = Object.values(this.moveData.moves).reduce((acc, x) => acc + (x.selected ?? 0), 0);
if (nrSelected === this.moveData.nrChoices) {
ui.notifications.error(game.i18n.localize('DAGGERHEART.Downtime.Notifications.NoMoreMoves'));
ui.notifications.error(game.i18n.localize('DAGGERHEART.UI.Notifications.noMoreMoves'));
return;
}
@ -88,7 +88,7 @@ export default class DhpDowntime extends HandlebarsApplicationMixin(ApplicationV
content: await foundry.applications.handlebars.renderTemplate(
'systems/daggerheart/templates/ui/chat/downtime.hbs',
{
title: `${this.actor.name} - ${game.i18n.localize(`DAGGERHEART.Downtime.${this.shortRest ? 'ShortRest' : 'LongRest'}.title`)}`,
title: `${this.actor.name} - ${game.i18n.localize(`DAGGERHEART.APPLICATIONS.Downtime.${this.shortRest ? 'shortRest' : 'longRest'}.title`)}`,
moves: moves
}
)

View file

@ -27,7 +27,7 @@ export default class OwnershipSelection extends HandlebarsApplicationMixin(Appli
};
get title() {
return game.i18n.format('DAGGERHEART.OwnershipSelection.Title', { name: this.name });
return game.i18n.format('DAGGERHEART.APPLICATIONS.OwnershipSelection.title', { name: this.name });
}
async _prepareContext(_options) {

View file

@ -112,7 +112,7 @@ export default class DhCharacterLevelUp extends LevelUpBase {
? Math.min(domainCard.secondaryData.limit, levelBase)
: levelBase;
return game.i18n.format('DAGGERHEART.Application.LevelUp.Selections.emptyDomainCardHint', {
return game.i18n.format('DAGGERHEART.APPLICATIONS.Levelup.selections.emptyDomainCardHint', {
domain: game.i18n.localize(domains[domain.domain].label),
level: levelMax
});

View file

@ -63,8 +63,8 @@ export default class DhCompanionLevelUp extends BaseLevelUp {
context.vicious = advancementChoices.vicious ? Object.values(advancementChoices.vicious) : null;
context.viciousChoices = {
damage: game.i18n.localize('DAGGERHEART.Application.LevelUp.Selections.viciousDamage'),
range: game.i18n.localize('DAGGERHEART.Application.LevelUp.Selections.viciousRange')
damage: game.i18n.localize('DAGGERHEART.APPLICATIONS.Levelup.selections.viciousDamage'),
range: game.i18n.localize('DAGGERHEART.APPLICATIONS.Levelup.selections.viciousRange')
};
break;
@ -142,7 +142,7 @@ export default class DhCompanionLevelUp extends BaseLevelUp {
: null,
range: advancement.vicious?.range
? {
old: game.i18n.localize(`DAGGERHEART.Range.${actorRange}.name`),
old: game.i18n.localize(`DAGGERHEART.CONFIG.Range.${actorRange}.name`),
new: game.i18n.localize(advancement.vicious.range.label)
}
: null

View file

@ -15,7 +15,7 @@ export default class DhlevelUp extends HandlebarsApplicationMixin(ApplicationV2)
}
get title() {
return game.i18n.format('DAGGERHEART.Application.LevelUp.Title', { actor: this.actor.name });
return game.i18n.format('DAGGERHEART.APPLICATIONS.Levelup.title', { actor: this.actor.name });
}
static DEFAULT_OPTIONS = {
@ -56,7 +56,7 @@ export default class DhlevelUp extends HandlebarsApplicationMixin(ApplicationV2)
group: 'primary',
id: 'advancements',
icon: null,
label: 'DAGGERHEART.Application.LevelUp.Tabs.advancement'
label: 'DAGGERHEART.GENERAL.Tabs.advancement'
},
selections: {
active: false,
@ -64,7 +64,7 @@ export default class DhlevelUp extends HandlebarsApplicationMixin(ApplicationV2)
group: 'primary',
id: 'selections',
icon: null,
label: 'DAGGERHEART.Application.LevelUp.Tabs.selections'
label: 'DAGGERHEART.GENERAL.Tabs.selections'
},
summary: {
active: false,
@ -72,7 +72,7 @@ export default class DhlevelUp extends HandlebarsApplicationMixin(ApplicationV2)
group: 'primary',
id: 'summary',
icon: null,
label: 'DAGGERHEART.Application.LevelUp.Tabs.summary'
label: 'DAGGERHEART.GENERAL.Tabs.summary'
}
};
@ -110,14 +110,14 @@ export default class DhlevelUp extends HandlebarsApplicationMixin(ApplicationV2)
previous: {
disabled: !previous,
label: previous
? game.i18n.format('DAGGERHEART.Application.LevelUp.navigateLevel', { level: previous })
? game.i18n.format('DAGGERHEART.APPLICATIONS.Levelup.navigateLevel', { level: previous })
: '',
fromSummary: this.tabGroups.primary === 'summary'
},
next: {
disabled: !this.levelup.currentLevelFinished,
label: next
? game.i18n.format('DAGGERHEART.Application.LevelUp.navigateLevel', { level: next })
? game.i18n.format('DAGGERHEART.APPLICATIONS.Levelup.navigateLevel', { level: next })
: '',
toSummary: !next,
show: this.tabGroups.primary !== 'summary'
@ -384,9 +384,7 @@ export default class DhlevelUp extends HandlebarsApplicationMixin(ApplicationV2)
);
if (!updatePath) {
ui.notifications.error(
game.i18n.localize('DAGGERHEART.Application.LevelUp.notifications.error.noSelectionsLeft')
);
ui.notifications.error(game.i18n.localize('DAGGERHEART.UI.Notifications.noSelectionsLeft'));
return;
}
@ -414,18 +412,14 @@ export default class DhlevelUp extends HandlebarsApplicationMixin(ApplicationV2)
!this.actor.system.domains.includes(item.system.domain) &&
this.levelup.classUpgradeChoices?.multiclass?.domain !== item.system.domain
) {
ui.notifications.error(
game.i18n.localize('DAGGERHEART.Application.LevelUp.notifications.error.domainCardWrongDomain')
);
ui.notifications.error(game.i18n.localize('DAGGERHEART.UI.Notifications.domainCardWrongDomain'));
return;
}
const levelBase = isMulticlass ? Math.ceil(this.levelup.currentLevel / 2) : this.levelup.currentLevel;
const levelMax = target.dataset.limit ? Math.min(Number(target.dataset.limit), levelBase) : levelBase;
if (levelMax < item.system.level) {
ui.notifications.error(
game.i18n.localize('DAGGERHEART.Application.LevelUp.notifications.error.domainCardToHighLevel')
);
ui.notifications.error(game.i18n.localize('DAGGERHEART.UI.Notifications.domainCardToHighLevel'));
return;
}
@ -443,9 +437,7 @@ export default class DhlevelUp extends HandlebarsApplicationMixin(ApplicationV2)
return achievementExists || advancementExists;
});
if (cardExistsInCharacter || cardExistsInLevelup) {
ui.notifications.error(
game.i18n.localize('DAGGERHEART.Application.LevelUp.notifications.error.domainCardDuplicate')
);
ui.notifications.error(game.i18n.localize('DAGGERHEART.UI.Notifications.domainCardDuplicate'));
return;
}
@ -456,9 +448,7 @@ export default class DhlevelUp extends HandlebarsApplicationMixin(ApplicationV2)
const target = event.target.closest('.multiclass-cards');
if (item.type === 'class') {
if (item.name === this.actor.system.class.value.name) {
ui.notifications.error(
game.i18n.localize('DAGGERHEART.Application.LevelUp.notifications.error.alreadySelectedClass')
);
ui.notifications.error(game.i18n.localize('DAGGERHEART.UI.Notifications.alreadySelectedClass'));
return;
}
@ -498,9 +488,7 @@ export default class DhlevelUp extends HandlebarsApplicationMixin(ApplicationV2)
}
} else {
if (this.levelup.levels[this.levelup.currentLevel].nrSelections.available < Number(button.dataset.cost)) {
ui.notifications.info(
game.i18n.localize('DAGGERHEART.Application.LevelUp.notifications.info.insufficentAdvancements')
);
ui.notifications.info(game.i18n.localize('DAGGERHEART.UI.Notifications.insufficentAdvancements'));
this.render();
return;
}
@ -571,9 +559,9 @@ export default class DhlevelUp extends HandlebarsApplicationMixin(ApplicationV2)
if (!button.dataset.forward) {
const confirmed = await foundry.applications.api.DialogV2.confirm({
window: {
title: game.i18n.localize('DAGGERHEART.Application.LevelUp.Delevel.title')
title: game.i18n.localize('DAGGERHEART.APPLICATIONS.Levelup.delevel.title')
},
content: game.i18n.format('DAGGERHEART.Application.LevelUp.Delevel.content')
content: game.i18n.format('DAGGERHEART.APPLICATIONS.Levelup.delevel.content')
});
if (!confirmed) return;

View file

@ -12,7 +12,7 @@ export default class DHAppearanceSettings extends HandlebarsApplicationMixin(App
}
get title() {
return game.i18n.localize('DAGGERHEART.Settings.Menu.Appearance.name');
return game.i18n.localize('DAGGERHEART.SETTINGS.Menu.appearance.name');
}
static DEFAULT_OPTIONS = {

View file

@ -12,7 +12,7 @@ export default class DhAutomationSettings extends HandlebarsApplicationMixin(App
}
get title() {
return game.i18n.localize('DAGGERHEART.Settings.Menu.Automation.Name');
return game.i18n.localize('DAGGERHEART.SETTINGS.Menu.automation.name');
}
static DEFAULT_OPTIONS = {

View file

@ -13,7 +13,7 @@ export default class DhHomebrewSettings extends HandlebarsApplicationMixin(Appli
}
get title() {
return game.i18n.localize('DAGGERHEART.Settings.Menu.Homebrew.Name');
return game.i18n.localize('DAGGERHEART.SETTINGS.Menu.homebrew.name');
}
static DEFAULT_OPTIONS = {
@ -59,7 +59,7 @@ export default class DhHomebrewSettings extends HandlebarsApplicationMixin(Appli
static async addItem(_, target) {
await this.settings.updateSource({
[`restMoves.${target.dataset.type}.moves.${foundry.utils.randomID()}`]: {
name: game.i18n.localize('DAGGERHEART.Settings.Homebrew.NewDowntimeMove'),
name: game.i18n.localize('DAGGERHEART.SETTINGS.Homebrew.newDowntimeMove'),
img: 'icons/magic/life/cross-worn-green.webp',
description: '',
actions: []
@ -74,7 +74,7 @@ export default class DhHomebrewSettings extends HandlebarsApplicationMixin(Appli
new DhSettingsActionView(
resolve,
reject,
game.i18n.localize('DAGGERHEART.Settings.Homebrew.DowntimeMoves'),
game.i18n.localize('DAGGERHEART.SETTINGS.Homebrew.downtimeMoves'),
move.name,
move.img,
move.description,
@ -104,13 +104,13 @@ export default class DhHomebrewSettings extends HandlebarsApplicationMixin(Appli
static async resetMoves(_, target) {
const confirmed = await foundry.applications.api.DialogV2.confirm({
window: {
title: game.i18n.format('DAGGERHEART.Settings.Homebrew.ResetMovesTitle', {
title: game.i18n.format('DAGGERHEART.SETTINGS.Homebrew.resetMovesTitle', {
type: game.i18n.localize(
`DAGGERHEART.Downtime.${target.dataset.type === 'shortRest' ? 'ShortRest' : 'LongRest'}.title`
`DAGGERHEART.APPLICATIONS.Downtime.${target.dataset.type === 'shortRest' ? 'shortRest' : 'longRest'}.title`
)
})
},
content: game.i18n.localize('DAGGERHEART.Settings.Homebrew.ResetMovesText')
content: game.i18n.localize('DAGGERHEART.SETTINGS.Homebrew.resetMovesText')
});
if (!confirmed) return;

View file

@ -12,7 +12,7 @@ export default class DhRangeMeasurementSettings extends HandlebarsApplicationMix
}
get title() {
return game.i18n.localize('DAGGERHEART.Settings.Menu.Automation.Name');
return game.i18n.localize('DAGGERHEART.SETTINGS.Menu.automation.name');
}
static DEFAULT_OPTIONS = {

View file

@ -12,7 +12,7 @@ export default class DHVariantRuleSettings extends HandlebarsApplicationMixin(Ap
}
get title() {
return game.i18n.localize('DAGGERHEART.Settings.Menu.VariantRules.name');
return game.i18n.localize('DAGGERHEART.SETTINGS.Menu.variantRules.name');
}
static DEFAULT_OPTIONS = {

View file

@ -10,7 +10,7 @@ export default class DHActionConfig extends DaggerheartSheet(ApplicationV2) {
}
get title() {
return `${game.i18n.localize('DAGGERHEART.Sheets.TABS.settings')}: ${this.action.name}`;
return `${game.i18n.localize('DAGGERHEART.GENERAL.Tabs.settings')}: ${this.action.name}`;
}
static DEFAULT_OPTIONS = {
@ -117,7 +117,7 @@ export default class DHActionConfig extends DaggerheartSheet(ApplicationV2) {
const settingsTiers = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.LevelTiers).tiers;
context.tierOptions = [
{ key: 1, label: game.i18n.localize('DAGGERHEART.Tiers.tier1') },
{ key: 1, label: game.i18n.localize('DAGGERHEART.GENERAL.Tiers.tier1') },
...Object.values(settingsTiers).map(x => ({ key: x.tier, label: x.name }))
];

View file

@ -9,7 +9,7 @@ export default class DHAdversarySettings extends HandlebarsApplicationMixin(Appl
}
get title() {
return `${game.i18n.localize('DAGGERHEART.Sheets.TABS.settings')}`;
return `${game.i18n.localize('DAGGERHEART.GENERAL.Tabs.settings')}`;
}
static DEFAULT_OPTIONS = {
@ -69,7 +69,7 @@ export default class DHAdversarySettings extends HandlebarsApplicationMixin(Appl
group: 'primary',
id: 'details',
icon: null,
label: 'DAGGERHEART.General.tabs.details'
label: 'DAGGERHEART.GENERAL.Tabs.details'
},
attack: {
active: false,
@ -77,7 +77,7 @@ export default class DHAdversarySettings extends HandlebarsApplicationMixin(Appl
group: 'primary',
id: 'attack',
icon: null,
label: 'DAGGERHEART.General.tabs.attack'
label: 'DAGGERHEART.GENERAL.Tabs.attack'
},
experiences: {
active: false,
@ -85,7 +85,7 @@ export default class DHAdversarySettings extends HandlebarsApplicationMixin(Appl
group: 'primary',
id: 'experiences',
icon: null,
label: 'DAGGERHEART.General.tabs.experiences'
label: 'DAGGERHEART.GENERAL.Tabs.experiences'
},
features: {
active: false,
@ -93,7 +93,7 @@ export default class DHAdversarySettings extends HandlebarsApplicationMixin(Appl
group: 'primary',
id: 'features',
icon: null,
label: 'DAGGERHEART.General.tabs.features'
label: 'DAGGERHEART.GENERAL.Tabs.features'
}
};

View file

@ -11,7 +11,7 @@ export default class DHCompanionSettings extends HandlebarsApplicationMixin(Appl
}
get title() {
return `${game.i18n.localize('DAGGERHEART.Sheets.TABS.settings')}`;
return `${game.i18n.localize('DAGGERHEART.GENERAL.Tabs.settings')}`;
}
static DEFAULT_OPTIONS = {
@ -59,7 +59,7 @@ export default class DHCompanionSettings extends HandlebarsApplicationMixin(Appl
group: 'primary',
id: 'details',
icon: null,
label: 'DAGGERHEART.General.tabs.details'
label: 'DAGGERHEART.GENERAL.Tabs.details'
},
experiences: {
active: false,
@ -67,7 +67,7 @@ export default class DHCompanionSettings extends HandlebarsApplicationMixin(Appl
group: 'primary',
id: 'experiences',
icon: null,
label: 'DAGGERHEART.General.tabs.experiences'
label: 'DAGGERHEART.GENERAL.Tabs.experiences'
},
attack: {
active: false,
@ -75,7 +75,7 @@ export default class DHCompanionSettings extends HandlebarsApplicationMixin(Appl
group: 'primary',
id: 'attack',
icon: null,
label: 'DAGGERHEART.General.tabs.attack'
label: 'DAGGERHEART.GENERAL.Tabs.attack'
}
};

View file

@ -9,7 +9,7 @@ export default class DHEnvironmentSettings extends HandlebarsApplicationMixin(Ap
}
get title() {
return `${game.i18n.localize('DAGGERHEART.Sheets.TABS.settings')}`;
return `${game.i18n.localize('DAGGERHEART.GENERAL.Tabs.settings')}`;
}
static DEFAULT_OPTIONS = {
@ -68,7 +68,7 @@ export default class DHEnvironmentSettings extends HandlebarsApplicationMixin(Ap
group: 'primary',
id: 'details',
icon: null,
label: 'DAGGERHEART.General.tabs.details'
label: 'DAGGERHEART.GENERAL.Tabs.details'
},
features: {
active: false,
@ -76,7 +76,7 @@ export default class DHEnvironmentSettings extends HandlebarsApplicationMixin(Ap
group: 'primary',
id: 'features',
icon: null,
label: 'DAGGERHEART.General.tabs.features'
label: 'DAGGERHEART.GENERAL.Tabs.features'
},
adversaries: {
active: false,
@ -84,7 +84,7 @@ export default class DHEnvironmentSettings extends HandlebarsApplicationMixin(Ap
group: 'primary',
id: 'adversaries',
icon: null,
label: 'DAGGERHEART.General.tabs.adversaries'
label: 'DAGGERHEART.GENERAL.Tabs.adversaries'
}
};
@ -146,7 +146,7 @@ export default class DHEnvironmentSettings extends HandlebarsApplicationMixin(Ap
static async #addCategory() {
await this.actor.update({
[`system.potentialAdversaries.${foundry.utils.randomID()}.label`]: game.i18n.localize(
'DAGGERHEART.Sheets.Environment.newAdversary'
'DAGGERHEART.ACTORS.Environment.newAdversary'
)
});
this.render();
@ -160,7 +160,7 @@ export default class DHEnvironmentSettings extends HandlebarsApplicationMixin(Ap
static async #viewAdversary(_, button) {
const adversary = await foundry.utils.fromUuid(button.dataset.adversary);
if (!adversary) {
ui.notifications.warn(game.i18n.localize('DAGGERHEART.UI.notifications.adversaryMissing'));
ui.notifications.warn(game.i18n.localize('DAGGERHEART.UI.Notifications.adversaryMissing'));
return;
}

View file

@ -41,7 +41,7 @@ export default class AdversarySheet extends DaggerheartSheet(ActorSheetV2) {
group: 'primary',
id: 'features',
icon: null,
label: 'DAGGERHEART.General.tabs.features'
label: 'DAGGERHEART.GENERAL.Tabs.features'
},
notes: {
active: false,
@ -49,7 +49,7 @@ export default class AdversarySheet extends DaggerheartSheet(ActorSheetV2) {
group: 'primary',
id: 'notes',
icon: null,
label: 'DAGGERHEART.Sheets.Adversary.Tabs.notes'
label: 'DAGGERHEART.GENERAL.Tabs.notes'
},
effects: {
active: false,
@ -57,7 +57,7 @@ export default class AdversarySheet extends DaggerheartSheet(ActorSheetV2) {
group: 'primary',
id: 'effects',
icon: null,
label: 'DAGGERHEART.Sheets.Adversary.Tabs.effects'
label: 'DAGGERHEART.GENERAL.Tabs.effects'
}
};
@ -118,7 +118,7 @@ export default class AdversarySheet extends DaggerheartSheet(ActorSheetV2) {
const experience = this.document.system.experiences[button.dataset.uuid];
const cls = getDocumentClass('ChatMessage');
const systemData = {
name: game.i18n.localize('DAGGERHEART.General.Experience.Single'),
name: game.i18n.localize('DAGGERHEART.GENERAL.Experience.single'),
description: `${experience.name} ${
experience.modifier < 0 ? experience.modifier : `+${experience.modifier}`
}`

View file

@ -38,7 +38,6 @@ export default class CharacterSheet extends DaggerheartSheet(ActorSheetV2) {
takeShortRest: this.takeShortRest,
takeLongRest: this.takeLongRest,
deleteItem: this.deleteItem,
addScar: this.addScar,
deleteScar: this.deleteScar,
makeDeathMove: this.makeDeathMove,
itemQuantityDecrease: (_, button) => this.setItemQuantity(button, -1),
@ -100,7 +99,7 @@ export default class CharacterSheet extends DaggerheartSheet(ActorSheetV2) {
group: 'primary',
id: 'features',
icon: null,
label: 'DAGGERHEART.Sheets.PC.Tabs.Features'
label: 'DAGGERHEART.GENERAL.Tabs.features'
},
loadout: {
active: false,
@ -108,7 +107,7 @@ export default class CharacterSheet extends DaggerheartSheet(ActorSheetV2) {
group: 'primary',
id: 'loadout',
icon: null,
label: 'DAGGERHEART.Sheets.PC.Tabs.Loadout'
label: 'DAGGERHEART.GENERAL.Tabs.loadout'
},
inventory: {
active: false,
@ -116,7 +115,7 @@ export default class CharacterSheet extends DaggerheartSheet(ActorSheetV2) {
group: 'primary',
id: 'inventory',
icon: null,
label: 'DAGGERHEART.Sheets.PC.Tabs.Inventory'
label: 'DAGGERHEART.GENERAL.Tabs.inventory'
},
biography: {
active: false,
@ -124,7 +123,7 @@ export default class CharacterSheet extends DaggerheartSheet(ActorSheetV2) {
group: 'primary',
id: 'biography',
icon: null,
label: 'DAGGERHEART.Sheets.PC.Tabs.biography'
label: 'DAGGERHEART.GENERAL.Tabs.biography'
},
effects: {
active: false,
@ -132,7 +131,7 @@ export default class CharacterSheet extends DaggerheartSheet(ActorSheetV2) {
group: 'primary',
id: 'effects',
icon: null,
label: 'DAGGERHEART.Sheets.PC.Tabs.effects'
label: 'DAGGERHEART.GENERAL.Tabs.effects'
}
};
@ -151,7 +150,7 @@ export default class CharacterSheet extends DaggerheartSheet(ActorSheetV2) {
group: 'primary',
id: 'features',
icon: null,
label: game.i18n.localize('DAGGERHEART.Sheets.PC.Tabs.Features')
label: game.i18n.localize('DAGGERHEART.GENERAL.Tabs.features')
},
loadout: {
active: false,
@ -159,7 +158,7 @@ export default class CharacterSheet extends DaggerheartSheet(ActorSheetV2) {
group: 'primary',
id: 'loadout',
icon: null,
label: game.i18n.localize('DAGGERHEART.Sheets.PC.Tabs.Loadout')
label: game.i18n.localize('DAGGERHEART.GENERAL.Tabs.loadout')
},
inventory: {
active: false,
@ -167,7 +166,7 @@ export default class CharacterSheet extends DaggerheartSheet(ActorSheetV2) {
group: 'primary',
id: 'inventory',
icon: null,
label: game.i18n.localize('DAGGERHEART.Sheets.PC.Tabs.Inventory')
label: game.i18n.localize('DAGGERHEART.GENERAL.Tabs.inventory')
},
story: {
active: false,
@ -175,7 +174,7 @@ export default class CharacterSheet extends DaggerheartSheet(ActorSheetV2) {
group: 'primary',
id: 'story',
icon: null,
label: game.i18n.localize('DAGGERHEART.Sheets.PC.Tabs.Story')
label: game.i18n.localize('DAGGERHEART.GENERAL.Tabs.story')
}
};
const secondaryTabs = {
@ -185,7 +184,7 @@ export default class CharacterSheet extends DaggerheartSheet(ActorSheetV2) {
group: 'secondary',
id: 'foundation',
icon: null,
label: game.i18n.localize('DAGGERHEART.Sheets.PC.Tabs.Foundation')
label: game.i18n.localize('DAGGERHEART.GENERAL.Tabs.foundation')
},
loadout: {
active: false,
@ -193,7 +192,7 @@ export default class CharacterSheet extends DaggerheartSheet(ActorSheetV2) {
group: 'secondary',
id: 'loadout',
icon: null,
label: game.i18n.localize('DAGGERHEART.Sheets.PC.Tabs.Loadout')
label: game.i18n.localize('DAGGERHEART.GENERAL.Tabs.loadout')
},
vault: {
active: false,
@ -201,7 +200,7 @@ export default class CharacterSheet extends DaggerheartSheet(ActorSheetV2) {
group: 'secondary',
id: 'vault',
icon: null,
label: game.i18n.localize('DAGGERHEART.Sheets.PC.Tabs.Vault')
label: game.i18n.localize('DAGGERHEART.GENERAL.Tabs.vault')
}
};
@ -231,7 +230,7 @@ export default class CharacterSheet extends DaggerheartSheet(ActorSheetV2) {
_createContextMenues() {
const allOptions = {
useItem: {
name: 'DAGGERHEART.Sheets.PC.ContextMenu.UseItem',
name: 'DAGGERHEART.GENERAL.use',
icon: '<i class="fa-solid fa-burst"></i>',
condition: el => {
const item = this.getItem(el);
@ -240,7 +239,7 @@ export default class CharacterSheet extends DaggerheartSheet(ActorSheetV2) {
callback: (button, event) => this.constructor.useItem.bind(this)(event, button)
},
equip: {
name: 'DAGGERHEART.Sheets.PC.ContextMenu.Equip',
name: 'DAGGERHEART.ACTORS.Character.contextMenu.equip',
icon: '<i class="fa-solid fa-hands"></i>',
condition: el => {
const item = this.getItem(el);
@ -249,7 +248,7 @@ export default class CharacterSheet extends DaggerheartSheet(ActorSheetV2) {
callback: this.constructor.toggleEquipItem.bind(this)
},
unequip: {
name: 'DAGGERHEART.Sheets.PC.ContextMenu.Unequip',
name: 'DAGGERHEART.ACTORS.Character.contextMenu.unequip',
icon: '<i class="fa-solid fa-hands"></i>',
condition: el => {
const item = this.getItem(el);
@ -258,7 +257,7 @@ export default class CharacterSheet extends DaggerheartSheet(ActorSheetV2) {
callback: this.constructor.toggleEquipItem.bind(this)
},
sendToLoadout: {
name: 'DAGGERHEART.Sheets.PC.ContextMenu.ToLoadout',
name: 'DAGGERHEART.ACTORS.Character.contextMenu.toLoadout',
icon: '<i class="fa-solid fa-arrow-up"></i>',
condition: el => {
const item = this.getItem(el);
@ -267,7 +266,7 @@ export default class CharacterSheet extends DaggerheartSheet(ActorSheetV2) {
callback: this.constructor.toggleVault.bind(this)
},
sendToVault: {
name: 'DAGGERHEART.Sheets.PC.ContextMenu.ToVault',
name: 'DAGGERHEART.ACTORS.Character.contextMenu.toVault',
icon: '<i class="fa-solid fa-arrow-down"></i>',
condition: el => {
const item = this.getItem(el);
@ -276,17 +275,17 @@ export default class CharacterSheet extends DaggerheartSheet(ActorSheetV2) {
callback: this.constructor.toggleVault.bind(this)
},
sendToChat: {
name: 'DAGGERHEART.Sheets.PC.ContextMenu.SendToChat',
name: 'DAGGERHEART.ACTORS.Character.contextMenu.sendToChat',
icon: '<i class="fa-regular fa-message"></i>',
callback: this.constructor.toChat.bind(this)
},
edit: {
name: 'DAGGERHEART.Sheets.PC.ContextMenu.Edit',
name: 'CONTROLS.CommonEdit',
icon: '<i class="fa-solid fa-pen-to-square"></i>',
callback: this.constructor.viewObject.bind(this)
},
delete: {
name: 'DAGGERHEART.Sheets.PC.ContextMenu.Delete',
name: 'CONTROLS.CommonDelete',
icon: '<i class="fa-solid fa-trash"></i>',
callback: this.constructor.deleteItem.bind(this)
}
@ -350,11 +349,11 @@ export default class CharacterSheet extends DaggerheartSheet(ActorSheetV2) {
context.inventory = {
currency: {
title: game.i18n.localize('DAGGERHEART.Sheets.PC.Gold.Title'),
coins: game.i18n.localize('DAGGERHEART.Sheets.PC.Gold.Coins'),
handfulls: game.i18n.localize('DAGGERHEART.Sheets.PC.Gold.Handfulls'),
bags: game.i18n.localize('DAGGERHEART.Sheets.PC.Gold.Bags'),
chests: game.i18n.localize('DAGGERHEART.Sheets.PC.Gold.Chests')
title: game.i18n.localize('DAGGERHEART.CONFIG.Gold.title'),
coins: game.i18n.localize('DAGGERHEART.CONFIG.Gold.coins'),
handfulls: game.i18n.localize('DAGGERHEART.CONFIG.Gold.handfulls'),
bags: game.i18n.localize('DAGGERHEART.CONFIG.Gold.bags'),
chests: game.i18n.localize('DAGGERHEART.CONFIG.Gold.chests')
}
};
@ -494,8 +493,10 @@ export default class CharacterSheet extends DaggerheartSheet(ActorSheetV2) {
const abilityLabel = game.i18n.localize(abilities[button.dataset.attribute].label);
const config = {
event: event,
title: `${game.i18n.localize('DAGGERHEART.General.dualityRoll')}: ${this.actor.name}`,
headerTitle: game.i18n.format('DAGGERHEART.Chat.DualityRoll.AbilityCheckTitle', { ability: abilityLabel }),
title: `${game.i18n.localize('DAGGERHEART.GENERAL.dualityRoll')}: ${this.actor.name}`,
headerTitle: game.i18n.format('DAGGERHEART.UI.Chat.dualityRoll.abilitychecktitle', {
ability: abilityLabel
}),
roll: {
trait: button.dataset.attribute
}
@ -604,7 +605,7 @@ export default class CharacterSheet extends DaggerheartSheet(ActorSheetV2) {
const abilityLabel = game.i18n.localize(abilities[button.dataset.attribute].label);
const config = {
event: event,
title: game.i18n.format('DAGGERHEART.Chat.DualityRoll.AbilityCheckTitle', { ability: abilityLabel }),
title: game.i18n.format('DAGGERHEART.UI.Chat.dualityRoll.abilitychecktitle', { ability: abilityLabel }),
roll: {
trait: button.dataset.attribute
}
@ -681,7 +682,7 @@ export default class CharacterSheet extends DaggerheartSheet(ActorSheetV2) {
openLevelUp() {
if (!this.document.system.class.value || !this.document.system.class.subclass) {
ui.notifications.error(game.i18n.localize('DAGGERHEART.Sheets.PC.Errors.missingClassOrSubclass'));
ui.notifications.error(game.i18n.localize('DAGGERHEART.UI.Notifications.missingClassOrSubclass'));
return;
}
@ -694,7 +695,7 @@ export default class CharacterSheet extends DaggerheartSheet(ActorSheetV2) {
const cls = getDocumentClass('ChatMessage');
const systemData = {
title: `${game.i18n.localize('DAGGERHEART.Chat.DomainCard.Title')} - ${capitalize(button.dataset.domain)}`,
title: `${game.i18n.localize('DAGGERHEART.UI.Chat.domainCard.title')} - ${capitalize(button.dataset.domain)}`,
origin: this.document.id,
img: card.img,
name: card.name,
@ -773,17 +774,6 @@ export default class CharacterSheet extends DaggerheartSheet(ActorSheetV2) {
await this.minimize();
}
static async addScar() {
if (this.document.system.story.scars.length === 5) return;
await this.document.update({
'system.story.scars': [
...this.document.system.story.scars,
{ name: game.i18n.localize('DAGGERHEART.Sheets.PC.NewScar'), description: '' }
]
});
}
static async deleteScar(event, button) {
event.stopPropagation();
await this.document.update({
@ -823,7 +813,7 @@ export default class CharacterSheet extends DaggerheartSheet(ActorSheetV2) {
const cls = getDocumentClass('ChatMessage');
const systemData = {
title: game.i18n.localize('DAGGERHEART.Chat.FeatureTitle'),
title: game.i18n.localize('DAGGERHEART.UI.Chat.featureTitle'),
origin: this.document.id,
img: item.img,
name: item.name,
@ -848,7 +838,7 @@ export default class CharacterSheet extends DaggerheartSheet(ActorSheetV2) {
const experience = this.document.system.experiences[button.dataset.uuid];
const cls = getDocumentClass('ChatMessage');
const systemData = {
name: game.i18n.localize('DAGGERHEART.General.Experience.Single'),
name: game.i18n.localize('DAGGERHEART.GENERAL.Experience.single'),
description: `${experience.name} ${experience.total < 0 ? experience.total : `+${experience.total}`}`
};
const msg = new cls({
@ -876,12 +866,12 @@ export default class CharacterSheet extends DaggerheartSheet(ActorSheetV2) {
: this.document.system.class.subclass;
const ability = item.system[`${button.dataset.key}Feature`];
const title = `${item.name} - ${game.i18n.localize(
`DAGGERHEART.Sheets.PC.DomainCard.${capitalize(button.dataset.key)}Title`
`DAGGERHEART.ITEMS.DomainCard.${capitalize(button.dataset.key)}Title`
)}`;
const cls = getDocumentClass('ChatMessage');
const systemData = {
title: game.i18n.localize('DAGGERHEART.Chat.FoundationCard.SubclassFeatureTitle'),
title: game.i18n.localize('DAGGERHEART.UI.Chat.foundationCard.subclassFeatureTitle'),
origin: this.document.id,
name: title,
img: item.img,
@ -905,7 +895,7 @@ export default class CharacterSheet extends DaggerheartSheet(ActorSheetV2) {
const cls = getDocumentClass('ChatMessage');
const systemData = {
title: game.i18n.localize('DAGGERHEART.Chat.FoundationCard.SubclassFeatureTitle'),
title: game.i18n.localize('DAGGERHEART.UI.Chat.foundationCard.subclassFeatureTitle'),
origin: this.document.id,
name: item.name,
img: item.img,

View file

@ -33,7 +33,7 @@ export default class DhCompanionSheet extends DaggerheartSheet(ActorSheetV2) {
group: 'primary',
id: 'details',
icon: null,
label: 'DAGGERHEART.General.tabs.details'
label: 'DAGGERHEART.GENERAL.Tabs.details'
},
effects: {
active: false,
@ -41,7 +41,7 @@ export default class DhCompanionSheet extends DaggerheartSheet(ActorSheetV2) {
group: 'primary',
id: 'effects',
icon: null,
label: 'DAGGERHEART.Sheets.PC.Tabs.effects'
label: 'DAGGERHEART.GENERAL.Tabs.effects'
}
};
@ -82,7 +82,7 @@ export default class DhCompanionSheet extends DaggerheartSheet(ActorSheetV2) {
const experience = this.document.system.experiences[button.dataset.uuid];
const cls = getDocumentClass('ChatMessage');
const systemData = {
name: game.i18n.localize('DAGGERHEART.General.Experience.Single'),
name: game.i18n.localize('DAGGERHEART.GENERAL.Experience.single'),
description: `${experience.name} ${experience.total < 0 ? experience.total : `+${experience.total}`}`
};
const msg = new cls({

View file

@ -40,7 +40,7 @@ export default class DhpEnvironment extends DaggerheartSheet(ActorSheetV2) {
group: 'primary',
id: 'features',
icon: null,
label: 'DAGGERHEART.General.tabs.features'
label: 'DAGGERHEART.GENERAL.Tabs.features'
},
potentialAdversaries: {
active: false,
@ -48,7 +48,7 @@ export default class DhpEnvironment extends DaggerheartSheet(ActorSheetV2) {
group: 'primary',
id: 'potentialAdversaries',
icon: null,
label: 'DAGGERHEART.General.tabs.potentialAdversaries'
label: 'DAGGERHEART.GENERAL.Tabs.potentialAdversaries'
},
notes: {
active: false,
@ -56,7 +56,7 @@ export default class DhpEnvironment extends DaggerheartSheet(ActorSheetV2) {
group: 'primary',
id: 'notes',
icon: null,
label: 'DAGGERHEART.Sheets.Adversary.Tabs.notes'
label: 'DAGGERHEART.GENERAL.Tabs.notes'
}
};
@ -91,7 +91,7 @@ export default class DhpEnvironment extends DaggerheartSheet(ActorSheetV2) {
static async addAdversary() {
await this.document.update({
[`system.potentialAdversaries.${foundry.utils.randomID()}.label`]: game.i18n.localize(
'DAGGERHEART.Sheets.Environment.newAdversary'
'DAGGERHEART.ACTORS.Environment.newAdversary'
)
});
this.render();
@ -106,7 +106,7 @@ export default class DhpEnvironment extends DaggerheartSheet(ActorSheetV2) {
const target = button.closest('[data-item-uuid]');
const adversary = await foundry.utils.fromUuid(target.dataset.itemUuid);
if (!adversary) {
ui.notifications.warn(game.i18n.localize('DAGGERHEART.UI.notifications.adversaryMissing'));
ui.notifications.warn(game.i18n.localize('DAGGERHEART.UI.Notifications.adversaryMissing'));
return;
}

View file

@ -37,7 +37,7 @@ export default class DHBaseItemSheet extends DHApplicationMixin(ItemSheetV2) {
primary: {
tabs: [{ id: 'description' }, { id: 'actions' }, { id: 'settings' }],
initial: 'description',
labelPrefix: 'DAGGERHEART.Sheets.TABS'
labelPrefix: 'DAGGERHEART.GENERAL.Tabs'
}
};

View file

@ -25,7 +25,7 @@ export default class DHHeritageSheet extends DHBaseItemSheet {
primary: {
tabs: [{ id: 'description' }, { id: 'features' }, { id: 'effects' }],
initial: 'description',
labelPrefix: 'DAGGERHEART.Sheets.TABS'
labelPrefix: 'DAGGERHEART.GENERAL.Tabs'
}
};
}

View file

@ -25,7 +25,7 @@ export default class BeastformSheet extends DHBaseItemSheet {
primary: {
tabs: [{ id: 'settings' }, { id: 'features' }, { id: 'effects' }],
initial: 'settings',
labelPrefix: 'DAGGERHEART.Sheets.TABS'
labelPrefix: 'DAGGERHEART.GENERAL.Tabs'
}
};

View file

@ -54,7 +54,7 @@ export default class ClassSheet extends DHBaseItemSheet {
primary: {
tabs: [{ id: 'description' }, { id: 'features' }, { id: 'settings' }],
initial: 'description',
labelPrefix: 'DAGGERHEART.Sheets.TABS'
labelPrefix: 'DAGGERHEART.GENERAL.Tabs'
}
};

View file

@ -12,7 +12,7 @@ export default class DomainCardSheet extends DHBaseItemSheet {
primary: {
tabs: [{ id: 'description' }, { id: 'actions' }, { id: 'settings' }, { id: 'effects' }],
initial: 'description',
labelPrefix: 'DAGGERHEART.Sheets.TABS'
labelPrefix: 'DAGGERHEART.GENERAL.Tabs'
}
};

View file

@ -36,7 +36,7 @@ export default class FeatureSheet extends DHBaseItemSheet {
primary: {
tabs: [{ id: 'description' }, { id: 'actions' }, { id: 'effects' }],
initial: 'description',
labelPrefix: 'DAGGERHEART.Sheets.TABS'
labelPrefix: 'DAGGERHEART.GENERAL.Tabs'
}
};

View file

@ -33,7 +33,7 @@ export default class SubclassSheet extends DHBaseItemSheet {
primary: {
tabs: [{ id: 'description' }, { id: 'features' }, { id: 'settings' }],
initial: 'description',
labelPrefix: 'DAGGERHEART.Sheets.TABS'
labelPrefix: 'DAGGERHEART.GENERAL.Tabs'
}
};

View file

@ -137,7 +137,7 @@ export default class DhpChatLog extends foundry.applications.sidebar.tabs.ChatLo
if (!action || !action?.applyEffects) return;
const { isHit, targets } = this.getTargetList(event, message);
if (targets.length === 0)
ui.notifications.info(game.i18n.localize('DAGGERHEART.Notification.Info.NoTargetsSelected'));
ui.notifications.info(game.i18n.localize('DAGGERHEART.UI.Notifications.noTargetsSelected'));
await action.applyEffects(event, message, targets);
}
};
@ -148,7 +148,7 @@ export default class DhpChatLog extends foundry.applications.sidebar.tabs.ChatLo
msg = ui.chat.collection.get(message._id);
if (msg.system.targetSelection === targetSelection) return;
if (targetSelection !== true && !Array.from(game.user.targets).length)
return ui.notifications.info(game.i18n.localize('DAGGERHEART.Notification.Info.NoTargetsSelected'));
return ui.notifications.info(game.i18n.localize('DAGGERHEART.UI.Notifications.noTargetsSelected'));
msg.system.targetSelection = targetSelection;
msg.system.prepareDerivedData();
ui.chat.updateMessage(msg);
@ -182,7 +182,7 @@ export default class DhpChatLog extends foundry.applications.sidebar.tabs.ChatLo
event.stopPropagation();
const token = canvas.tokens.get(event.currentTarget.dataset.token);
if (!token) {
ui.notifications.info(game.i18n.localize('DAGGERHEART.Notification.Info.AttackTargetDoesNotExist'));
ui.notifications.info(game.i18n.localize('DAGGERHEART.UI.Notifications.attackTargetDoesNotExist'));
return;
}
@ -207,7 +207,7 @@ export default class DhpChatLog extends foundry.applications.sidebar.tabs.ChatLo
}
if (targets.length === 0)
ui.notifications.info(game.i18n.localize('DAGGERHEART.Notification.Info.NoTargetsSelected'));
ui.notifications.info(game.i18n.localize('DAGGERHEART.UI.Notifications.noTargetsSelected'));
for (let target of targets) {
let damage = message.system.roll.total;
if (message.system.onSave && message.system.targets.find(t => t.id === target.id)?.saved?.success === true)
@ -222,7 +222,7 @@ export default class DhpChatLog extends foundry.applications.sidebar.tabs.ChatLo
const targets = Array.from(game.user.targets);
if (targets.length === 0)
ui.notifications.info(game.i18n.localize('DAGGERHEART.Notification.Info.NoTargetsSelected'));
ui.notifications.info(game.i18n.localize('DAGGERHEART.UI.Notifications.noTargetsSelected'));
for (var target of targets) {
await target.actor.takeHealing([{ value: message.system.roll.total, type: message.system.roll.type }]);

View file

@ -13,8 +13,8 @@ class Countdowns extends HandlebarsApplicationMixin(ApplicationV2) {
}
get title() {
return game.i18n.format('DAGGERHEART.Countdown.Title', {
type: game.i18n.localize(`DAGGERHEART.Countdown.Types.${this.basePath}`)
return game.i18n.format('DAGGERHEART.APPLICATIONS.Countdown.Title', {
type: game.i18n.localize(`DAGGERHEART.APPLICATIONS.Countdown.types.${this.basePath}`)
});
}
@ -78,7 +78,7 @@ class Countdowns extends HandlebarsApplicationMixin(ApplicationV2) {
const button = constructHTMLButton({
label: '',
classes: ['header-control', 'icon', 'fa-solid', 'fa-wrench'],
dataset: { action: 'toggleSimpleView', tooltip: 'DAGGERHEART.Countdown.ToggleSimple' }
dataset: { action: 'toggleSimpleView', tooltip: 'DAGGERHEART.APPLICATIONS.Countdown.toggleSimple' }
});
this.window.controls.after(button);
}
@ -265,7 +265,7 @@ class Countdowns extends HandlebarsApplicationMixin(ApplicationV2) {
const countdownSetting = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.Countdowns);
await countdownSetting.updateSource({
[`${this.basePath}.countdowns.${foundry.utils.randomID()}`]: {
name: game.i18n.localize('DAGGERHEART.Countdown.NewCountdown'),
name: game.i18n.localize('DAGGERHEART.APPLICATIONS.Countdown.newCountdown'),
ownership: game.user.isGM
? {}
: {
@ -285,9 +285,9 @@ class Countdowns extends HandlebarsApplicationMixin(ApplicationV2) {
const confirmed = await foundry.applications.api.DialogV2.confirm({
window: {
title: game.i18n.localize('DAGGERHEART.Countdown.RemoveCountdownTitle')
title: game.i18n.localize('DAGGERHEART.APPLICATIONS.Countdown.removeCountdownTitle')
},
content: game.i18n.format('DAGGERHEART.Countdown.RemoveCountdownText', { name: countdownName })
content: game.i18n.format('DAGGERHEART.APPLICATIONS.Countdown.removeCountdownText', { name: countdownName })
});
if (!confirmed) return;

View file

@ -178,7 +178,7 @@ export default class FilterMenu extends foundry.applications.ux.ContextMenu {
}));
const burdenFilter = Object.values(CONFIG.DH.GENERAL.burden).map(({ value, label }) => ({
group: game.i18n.localize('DAGGERHEART.Sheets.Weapon.Burden'),
group: game.i18n.localize('DAGGERHEART.GENERAL.burden'),
name: game.i18n.localize(label),
filter: {
field: 'system.burden',
@ -220,7 +220,7 @@ export default class FilterMenu extends foundry.applications.ux.ContextMenu {
}));
const domainFilter = Object.values(CONFIG.DH.DOMAIN.domains).map(({ id, label }) => ({
group: game.i18n.localize('DAGGERHEART.Sheets.DomainCard.Domain'),
group: game.i18n.localize('DAGGERHEART.GENERAL.Domain.single'),
name: game.i18n.localize(label),
filter: {
field: 'system.domain',

View file

@ -18,19 +18,19 @@ export default class DhMeasuredTemplate extends foundry.canvas.placeables.Measur
static getDistanceLabel(distance, settings) {
if (distance <= settings.melee) {
return game.i18n.localize('DAGGERHEART.Range.melee.name');
return game.i18n.localize('DAGGERHEART.CONFIG.Range.melee.name');
}
if (distance <= settings.veryClose) {
return game.i18n.localize('DAGGERHEART.Range.veryClose.name');
return game.i18n.localize('DAGGERHEART.CONFIG.Range.veryClose.name');
}
if (distance <= settings.close) {
return game.i18n.localize('DAGGERHEART.Range.close.name');
return game.i18n.localize('DAGGERHEART.CONFIG.Range.close.name');
}
if (distance <= settings.far) {
return game.i18n.localize('DAGGERHEART.Range.far.name');
return game.i18n.localize('DAGGERHEART.CONFIG.Range.far.name');
}
if (distance <= settings.veryFar) {
return game.i18n.localize('DAGGERHEART.Range.veryFar.name');
return game.i18n.localize('DAGGERHEART.CONFIG.Range.veryFar.name');
}
return '';

View file

@ -1,47 +1,37 @@
export const actionTypes = {
attack: {
id: 'attack',
name: 'DAGGERHEART.Actions.Types.attack.name',
name: 'DAGGERHEART.ACTIONS.TYPES.attack.name',
icon: 'fa-swords'
},
// spellcast: {
// id: 'spellcast',
// name: 'DAGGERHEART.Actions.Types.spellcast.name',
// icon: 'fa-book-sparkles'
// },
healing: {
id: 'healing',
name: 'DAGGERHEART.Actions.Types.healing.name',
name: 'DAGGERHEART.ACTIONS.TYPES.healing.name',
icon: 'fa-kit-medical'
},
// resource: {
// id: 'resource',
// name: 'DAGGERHEART.Actions.Types.resource.name',
// icon: 'fa-honey-pot'
// },
damage: {
id: 'damage',
name: 'DAGGERHEART.Actions.Types.damage.name',
name: 'DAGGERHEART.ACTIONS.TYPES.damage.name',
icon: 'fa-bone-break'
},
summon: {
id: 'summon',
name: 'DAGGERHEART.Actions.Types.summon.name',
name: 'DAGGERHEART.ACTIONS.TYPES.summon.name',
icon: 'fa-ghost'
},
effect: {
id: 'effect',
name: 'DAGGERHEART.Actions.Types.effect.name',
name: 'DAGGERHEART.ACTIONS.TYPES.effect.name',
icon: 'fa-person-rays'
},
macro: {
id: 'macro',
name: 'DAGGERHEART.Actions.Types.macro.name',
name: 'DAGGERHEART.ACTIONS.TYPES.macro.name',
icon: 'fa-scroll'
},
beastform: {
id: 'beastform',
name: 'DAGGERHEART.Actions.Types.beastform.name',
name: 'DAGGERHEART.ACTIONS.TYPES.beastform.name',
icon: 'fa-paw'
}
};
@ -113,15 +103,15 @@ export const diceCompare = {
export const advandtageState = {
disadvantage: {
label: 'DAGGERHEART.General.Disadvantage.Full',
label: 'DAGGERHEART.GENERAL.Disadvantage.full',
value: -1
},
neutral: {
label: 'DAGGERHEART.General.Neutral.Full',
label: 'DAGGERHEART.GENERAL.Neutral.full',
value: 0
},
advantage: {
label: 'DAGGERHEART.General.Advantage.Full',
label: 'DAGGERHEART.GENERAL.Advantage.full',
value: 1
}
};

View file

@ -1,77 +1,77 @@
export const abilities = {
agility: {
label: 'DAGGERHEART.Abilities.agility.name',
label: 'DAGGERHEART.CONFIG.Traits.agility.name',
verbs: [
'DAGGERHEART.Abilities.agility.verb.sprint',
'DAGGERHEART.Abilities.agility.verb.leap',
'DAGGERHEART.Abilities.agility.verb.maneuver'
'DAGGERHEART.CONFIG.Traits.agility.verb.sprint',
'DAGGERHEART.CONFIG.Traits.agility.verb.leap',
'DAGGERHEART.CONFIG.Traits.agility.verb.maneuver'
]
},
strength: {
label: 'DAGGERHEART.Abilities.strength.name',
label: 'DAGGERHEART.CONFIG.Traits.strength.name',
verbs: [
'DAGGERHEART.Abilities.strength.verb.lift',
'DAGGERHEART.Abilities.strength.verb.smash',
'DAGGERHEART.Abilities.strength.verb.grapple'
'DAGGERHEART.CONFIG.Traits.strength.verb.lift',
'DAGGERHEART.CONFIG.Traits.strength.verb.smash',
'DAGGERHEART.CONFIG.Traits.strength.verb.grapple'
]
},
finesse: {
label: 'DAGGERHEART.Abilities.finesse.name',
label: 'DAGGERHEART.CONFIG.Traits.finesse.name',
verbs: [
'DAGGERHEART.Abilities.finesse.verb.control',
'DAGGERHEART.Abilities.finesse.verb.hide',
'DAGGERHEART.Abilities.finesse.verb.tinker'
'DAGGERHEART.CONFIG.Traits.finesse.verb.control',
'DAGGERHEART.CONFIG.Traits.finesse.verb.hide',
'DAGGERHEART.CONFIG.Traits.finesse.verb.tinker'
]
},
instinct: {
label: 'DAGGERHEART.Abilities.instinct.name',
label: 'DAGGERHEART.CONFIG.Traits.instinct.name',
verbs: [
'DAGGERHEART.Abilities.instinct.verb.perceive',
'DAGGERHEART.Abilities.instinct.verb.sense',
'DAGGERHEART.Abilities.instinct.verb.navigate'
'DAGGERHEART.CONFIG.Traits.instinct.verb.perceive',
'DAGGERHEART.CONFIG.Traits.instinct.verb.sense',
'DAGGERHEART.CONFIG.Traits.instinct.verb.navigate'
]
},
presence: {
label: 'DAGGERHEART.Abilities.presence.name',
label: 'DAGGERHEART.CONFIG.Traits.presence.name',
verbs: [
'DAGGERHEART.Abilities.presence.verb.charm',
'DAGGERHEART.Abilities.presence.verb.perform',
'DAGGERHEART.Abilities.presence.verb.deceive'
'DAGGERHEART.CONFIG.Traits.presence.verb.charm',
'DAGGERHEART.CONFIG.Traits.presence.verb.perform',
'DAGGERHEART.CONFIG.Traits.presence.verb.deceive'
]
},
knowledge: {
label: 'DAGGERHEART.Abilities.knowledge.name',
label: 'DAGGERHEART.CONFIG.Traits.knowledge.name',
verbs: [
'DAGGERHEART.Abilities.knowledge.verb.recall',
'DAGGERHEART.Abilities.knowledge.verb.analyze',
'DAGGERHEART.Abilities.knowledge.verb.comprehend'
'DAGGERHEART.CONFIG.Traits.knowledge.verb.recall',
'DAGGERHEART.CONFIG.Traits.knowledge.verb.analyze',
'DAGGERHEART.CONFIG.Traits.knowledge.verb.comprehend'
]
}
};
export const featureProperties = {
agility: {
name: 'DAGGERHEART.Abilities.agility.name',
name: 'DAGGERHEART.CONFIG.Traits.agility.name',
path: actor => actor.system.traits.agility.data.value
},
strength: {
name: 'DAGGERHEART.Abilities.strength.name',
name: 'DAGGERHEART.CONFIG.Traits.strength.name',
path: actor => actor.system.traits.strength.data.value
},
finesse: {
name: 'DAGGERHEART.Abilities.finesse.name',
name: 'DAGGERHEART.CONFIG.Traits.finesse.name',
path: actor => actor.system.traits.finesse.data.value
},
instinct: {
name: 'DAGGERHEART.Abilities.instinct.name',
name: 'DAGGERHEART.CONFIG.Traits.instinct.name',
path: actor => actor.system.traits.instinct.data.value
},
presence: {
name: 'DAGGERHEART.Abilities.presence.name',
name: 'DAGGERHEART.CONFIG.Traits.presence.name',
path: actor => actor.system.traits.presence.data.value
},
knowledge: {
name: 'DAGGERHEART.Abilities.knowledge.name',
name: 'DAGGERHEART.CONFIG.Traits.knowledge.name',
path: actor => actor.system.traits.knowledge.data.value
},
spellcastingTrait: {
@ -83,90 +83,90 @@ export const featureProperties = {
export const adversaryTypes = {
bruiser: {
id: 'bruiser',
label: 'DAGGERHEART.Adversary.Type.bruiser.label',
description: 'DAGGERHEART.Adversary.bruiser.description'
label: 'DAGGERHEART.CONFIG.AdversaryType.bruiser.label',
description: 'DAGGERHEART.ACTORS.Adversary.bruiser.description'
},
horde: {
id: 'horde',
label: 'DAGGERHEART.Adversary.Type.horde.label',
description: 'DAGGERHEART.Adversary.horde.description'
label: 'DAGGERHEART.CONFIG.AdversaryType.horde.label',
description: 'DAGGERHEART.ACTORS.Adversary.horde.description'
},
leader: {
id: 'leader',
label: 'DAGGERHEART.Adversary.Type.leader.label',
description: 'DAGGERHEART.Adversary.leader.description'
label: 'DAGGERHEART.CONFIG.AdversaryType.leader.label',
description: 'DAGGERHEART.ACTORS.Adversary.leader.description'
},
minion: {
id: 'minion',
label: 'DAGGERHEART.Adversary.Type.minion.label',
description: 'DAGGERHEART.Adversary.minion.description'
label: 'DAGGERHEART.CONFIG.AdversaryType.minion.label',
description: 'DAGGERHEART.ACTORS.Adversary.minion.description'
},
ranged: {
id: 'ranged',
label: 'DAGGERHEART.Adversary.Type.ranged.label',
description: 'DAGGERHEART.Adversary.ranged.description'
label: 'DAGGERHEART.CONFIG.AdversaryType.ranged.label',
description: 'DAGGERHEART.ACTORS.Adversary.ranged.description'
},
skulk: {
id: 'skulk',
label: 'DAGGERHEART.Adversary.Type.skulk.label',
description: 'DAGGERHEART.Adversary.skulk.description'
label: 'DAGGERHEART.CONFIG.AdversaryType.skulk.label',
description: 'DAGGERHEART.ACTORS.Adversary.skulk.description'
},
social: {
id: 'social',
label: 'DAGGERHEART.Adversary.Type.social.label',
description: 'DAGGERHEART.Adversary.social.description'
label: 'DAGGERHEART.CONFIG.AdversaryTypee.social.label',
description: 'DAGGERHEART.ACTORS.Adversary.social.description'
},
solo: {
id: 'solo',
label: 'DAGGERHEART.Adversary.Type.solo.label',
description: 'DAGGERHEART.Adversary.solo.description'
label: 'DAGGERHEART.CONFIG.AdversaryType.solo.label',
description: 'DAGGERHEART.ACTORS.Adversary.solo.description'
},
standard: {
id: 'standard',
label: 'DAGGERHEART.Adversary.Type.standard.label',
description: 'DAGGERHEART.Adversary.standard.description'
label: 'DAGGERHEART.CONFIG.AdversaryType.standard.label',
description: 'DAGGERHEART.ACTORS.Adversary.standard.description'
},
support: {
id: 'support',
label: 'DAGGERHEART.Adversary.Type.support.label',
description: 'DAGGERHEART.Adversary.support.description'
label: 'DAGGERHEART.CONFIG.AdversaryType.support.label',
description: 'DAGGERHEART.ACTORS.Adversary.support.description'
}
};
export const environmentTypes = {
exploration: {
label: 'DAGGERHEART.Environment.Type.exploration.label',
description: 'DAGGERHEART.Environment.Type.exploration.description'
label: 'DAGGERHEART.CONFIG.EnvironmentType.exploration.label',
description: 'DAGGERHEART.CONFIG.EnvironmentType.exploration.description'
},
social: {
label: 'DAGGERHEART.Environment.Type.social.label',
description: 'DAGGERHEART.Environment.Type.social.description'
label: 'DAGGERHEART.CONFIG.EnvironmentType.social.label',
description: 'DAGGERHEART.CONFIG.EnvironmentType.social.description'
},
traversal: {
label: 'DAGGERHEART.Environment.Type.traversal.label',
description: 'DAGGERHEART.Environment.Type.traversal.description'
label: 'DAGGERHEART.CONFIG.EnvironmentType.traversal.label',
description: 'DAGGERHEART.CONFIG.EnvironmentType.traversal.description'
},
event: {
label: 'DAGGERHEART.Environment.Type.event.label',
description: 'DAGGERHEART.Environment.Type.event.description'
label: 'DAGGERHEART.CONFIG.EnvironmentType.event.label',
description: 'DAGGERHEART.CONFIG.EnvironmentType.event.description'
}
};
export const adversaryTraits = {
relentless: {
name: 'DAGGERHEART.Adversary.Trait..Name',
description: 'DAGGERHEART.Adversary.Trait..Description',
tip: 'DAGGERHEART.Adversary.Trait..Tip'
name: 'DAGGERHEART.CONFIG.AdversaryTrait.relentless.name',
description: 'DAGGERHEART.CONFIG.AdversaryTrait.relentless.description',
tip: 'DAGGERHEART.CONFIG.AdversaryTrait.relentless.tip'
},
slow: {
name: 'DAGGERHEART.Adversary.Trait..Name',
description: 'DAGGERHEART.Adversary.Trait..Description',
tip: 'DAGGERHEART.Adversary.Trait..Tip'
name: 'DAGGERHEART.CONFIG.AdversaryTrait.slow.name',
description: 'DAGGERHEART.CONFIG.AdversaryTrait.slow.description',
tip: 'DAGGERHEART.CONFIG.AdversaryTrait.slow.tip'
},
minion: {
name: 'DAGGERHEART.Adversary.Trait..Name',
description: 'DAGGERHEART.Adversary.Trait..Description',
tip: 'DAGGERHEART.Adversary.Trait..Tip'
name: 'DAGGERHEART.CONFIG.AdversaryTrait.slow.name',
description: 'DAGGERHEART.CONFIG.AdversaryTrait.slow.description',
tip: 'DAGGERHEART.CONFIG.AdversaryTrait.slow.tip'
}
};
@ -265,41 +265,41 @@ export const levelupData = {
id: '2_4',
tier: 1,
levels: [2, 3, 4],
label: 'DAGGERHEART.LevelUp.Tier1.Label',
info: 'DAGGERHEART.LevelUp.Tier1.InfoLabel',
pretext: 'DAGGERHEART.LevelUp.Tier1.Pretext',
posttext: 'DAGGERHEART.LevelUp.Tier1.Posttext',
label: 'DAGGERHEART.APPLICATIONS.Levelup.tier1.Label',
info: 'DAGGERHEART.APPLICATIONS.Levelup.tier1.InfoLabel',
pretext: 'DAGGERHEART.APPLICATIONS.Levelup.tier1.Pretext',
posttext: 'DAGGERHEART.APPLICATIONS.Levelup.tier1.Posttext',
choices: {
[levelChoices.attributes.name]: {
description: 'DAGGERHEART.LevelUp.ChoiceDescriptions.Attributes',
description: 'DAGGERHEART.APPLICATIONS.Levelup.choiceDescriptions.attributes',
maxChoices: 3
},
[levelChoices.hitPointSlots.name]: {
description: 'DAGGERHEART.LevelUp.ChoiceDescriptions.HitPointSlots',
description: 'DAGGERHEART.APPLICATIONS.Levelup.choiceDescriptions.hitPointSlots',
maxChoices: 1
},
[levelChoices.stressSlots.name]: {
description: 'DAGGERHEART.LevelUp.ChoiceDescriptions.StressSlots',
description: 'DAGGERHEART.APPLICATIONS.Levelup.choiceDescriptions.stressSlots',
maxChoices: 1
},
[levelChoices.experiences.name]: {
description: 'DAGGERHEART.LevelUp.ChoiceDescriptions.Experiences',
description: 'DAGGERHEART.APPLICATIONS.Levelup.choiceDescriptions.experiences',
maxChoices: 1
},
[levelChoices.proficiency.name]: {
description: 'DAGGERHEART.LevelUp.ChoiceDescriptions.Proficiency',
description: 'DAGGERHEART.APPLICATIONS.Levelup.choiceDescriptions.proficiency',
maxChoices: 1
},
[levelChoices.armorOrEvasionSlot.name]: {
description: 'DAGGERHEART.LevelUp.ChoiceDescriptions.ArmorOrEvasionSlot',
description: 'DAGGERHEART.APPLICATIONS.Levelup.choiceDescriptions.armorOrEvasionSlot',
maxChoices: 1
},
[levelChoices.majorDamageThreshold2.name]: {
description: 'DAGGERHEART.LevelUp.ChoiceDescriptions.MajorDamageThreshold2',
description: 'DAGGERHEART.APPLICATIONS.Levelup.choiceDescriptions.majorDamageThreshold2',
maxChoices: 1
},
[levelChoices.severeDamageThreshold2.name]: {
description: 'DAGGERHEART.LevelUp.ChoiceDescriptions.SevereDamageThreshold2',
description: 'DAGGERHEART.APPLICATIONS.Levelup.choiceDescriptions.severeDamageThreshold2',
maxChoices: 1
}
}
@ -308,49 +308,49 @@ export const levelupData = {
id: '5_7',
tier: 2,
levels: [5, 6, 7],
label: 'DAGGERHEART.LevelUp.Tier2.Label',
info: 'DAGGERHEART.LevelUp.Tier2.InfoLabel',
pretext: 'DAGGERHEART.LevelUp.Tier2.Pretext',
posttext: 'DAGGERHEART.LevelUp.Tier2.Posttext',
label: 'DAGGERHEART.APPLICATIONS.Levelup.tier2.Label',
info: 'DAGGERHEART.APPLICATIONS.Levelup.tier2.InfoLabel',
pretext: 'DAGGERHEART.APPLICATIONS.Levelup.tier2.Pretext',
posttext: 'DAGGERHEART.APPLICATIONS.Levelup.tier2.Posttext',
choices: {
[levelChoices.attributes.name]: {
description: 'DAGGERHEART.LevelUp.ChoiceDescriptions.Attributes',
description: 'DAGGERHEART.APPLICATIONS.Levelup.choiceDescriptions.attributes',
maxChoices: 3
},
[levelChoices.hitPointSlots.name]: {
description: 'DAGGERHEART.LevelUp.ChoiceDescriptions.HitPointSlots',
description: 'DAGGERHEART.APPLICATIONS.Levelup.choiceDescriptions.hitPointSlots',
maxChoices: 2
},
[levelChoices.stressSlots.name]: {
description: 'DAGGERHEART.LevelUp.ChoiceDescriptions.StressSlots',
description: 'DAGGERHEART.APPLICATIONS.Levelup.choiceDescriptions.stressSlots',
maxChoices: 2
},
[levelChoices.experiences.name]: {
description: 'DAGGERHEART.LevelUp.ChoiceDescriptions.Experiences',
description: 'DAGGERHEART.APPLICATIONS.Levelup.choiceDescriptions.experiences',
maxChoices: 1
},
[levelChoices.proficiency.name]: {
description: 'DAGGERHEART.LevelUp.ChoiceDescriptions.Proficiency',
description: 'DAGGERHEART.APPLICATIONS.Levelup.choiceDescriptions.proficiency',
maxChoices: 2
},
[levelChoices.armorOrEvasionSlot.name]: {
description: 'DAGGERHEART.LevelUp.ChoiceDescriptions.ArmorOrEvasionSlot',
description: 'DAGGERHEART.APPLICATIONS.Levelup.choiceDescriptions.armorOrEvasionSlot',
maxChoices: 2
},
[levelChoices.majorDamageThreshold2.name]: {
description: 'DAGGERHEART.LevelUp.ChoiceDescriptions.MajorDamageThreshold2',
description: 'DAGGERHEART.APPLICATIONS.Levelup.choiceDescriptions.majorDamageThreshold2',
maxChoices: 1
},
[levelChoices.severeDamageThreshold3.name]: {
description: 'DAGGERHEART.LevelUp.ChoiceDescriptions.SevereDamageThreshold3',
description: 'DAGGERHEART.APPLICATIONS.Levelup.choiceDescriptions.severeDamageThreshold3',
maxChoices: 1
},
[levelChoices.subclass.name]: {
description: 'DAGGERHEART.LevelUp.ChoiceDescriptions.Subclass',
description: 'DAGGERHEART.APPLICATIONS.Levelup.choiceDescriptions.subclass',
maxChoices: 1
},
[levelChoices.multiclass.name]: {
description: 'DAGGERHEART.LevelUp.ChoiceDescriptions.Multiclass',
description: 'DAGGERHEART.APPLICATIONS.Levelup.choiceDescriptions.multiclass',
maxChoices: 1,
cost: 2
}
@ -360,49 +360,49 @@ export const levelupData = {
id: '8_10',
tier: 3,
levels: [8, 9, 10],
label: 'DAGGERHEART.LevelUp.Tier3.Label',
info: 'DAGGERHEART.LevelUp.Tier3.InfoLabel',
pretext: 'DAGGERHEART.LevelUp.Tier3.Pretext',
posttext: 'DAGGERHEART.LevelUp.Tier3.Posttext',
label: 'DAGGERHEART.APPLICATIONS.Levelup.tier3.Label',
info: 'DAGGERHEART.APPLICATIONS.Levelup.tier3.InfoLabel',
pretext: 'DAGGERHEART.APPLICATIONS.Levelup.tier3.Pretext',
posttext: 'DAGGERHEART.APPLICATIONS.Levelup.tier3.Posttext',
choices: {
[levelChoices.attributes.name]: {
description: 'DAGGERHEART.LevelUp.ChoiceDescriptions.Attributes',
description: 'DAGGERHEART.APPLICATIONS.Levelup.choiceDescriptions.attributes',
maxChoices: 3
},
[levelChoices.hitPointSlots.name]: {
description: 'DAGGERHEART.LevelUp.ChoiceDescriptions.HitPointSlots',
description: 'DAGGERHEART.APPLICATIONS.Levelup.choiceDescriptions.hitPointSlots',
maxChoices: 2
},
[levelChoices.stressSlots.name]: {
description: 'DAGGERHEART.LevelUp.ChoiceDescriptions.StressSlots',
description: 'DAGGERHEART.APPLICATIONS.Levelup.choiceDescriptions.stressSlots',
maxChoices: 2
},
[levelChoices.experiences.name]: {
description: 'DAGGERHEART.LevelUp.ChoiceDescriptions.Experiences',
description: 'DAGGERHEART.APPLICATIONS.Levelup.choiceDescriptions.experiences',
maxChoices: 1
},
[levelChoices.proficiency.name]: {
description: 'DAGGERHEART.LevelUp.ChoiceDescriptions.Proficiency',
description: 'DAGGERHEART.APPLICATIONS.Levelup.choiceDescriptions.proficiency',
maxChoices: 2
},
[levelChoices.armorOrEvasionSlot.name]: {
description: 'DAGGERHEART.LevelUp.ChoiceDescriptions.ArmorOrEvasionSlot',
description: 'DAGGERHEART.APPLICATIONS.Levelup.choiceDescriptions.armorOrEvasionSlot',
maxChoices: 2
},
[levelChoices.majorDamageThreshold2.name]: {
description: 'DAGGERHEART.LevelUp.ChoiceDescriptions.MajorDamageThreshold2',
description: 'DAGGERHEART.APPLICATIONS.Levelup.choiceDescriptions.majorDamageThreshold2',
maxChoices: 1
},
[levelChoices.severeDamageThreshold4.name]: {
description: 'DAGGERHEART.LevelUp.ChoiceDescriptions.SevereDamageThreshold4',
description: 'DAGGERHEART.APPLICATIONS.Levelup.choiceDescriptions.severeDamageThreshold4',
maxChoices: 1
},
[levelChoices.subclass.name]: {
description: 'DAGGERHEART.LevelUp.ChoiceDescriptions.Subclass',
description: 'DAGGERHEART.APPLICATIONS.Levelup.choiceDescriptions.subclass',
maxChoices: 1
},
[levelChoices.multiclass.name]: {
description: 'DAGGERHEART.LevelUp.ChoiceDescriptions.Multiclass',
description: 'DAGGERHEART.APPLICATIONS.Levelup.choiceDescriptions.multiclass',
maxChoices: 1,
cost: 2
}
@ -411,7 +411,7 @@ export const levelupData = {
};
export const subclassFeatureLabels = {
1: 'DAGGERHEART.Sheets.PC.DomainCard.FoundationTitle',
2: 'DAGGERHEART.Sheets.PC.DomainCard.SpecializationTitle',
3: 'DAGGERHEART.Sheets.PC.DomainCard.MasteryTitle'
1: 'DAGGERHEART.ITEMS.DomainCard.foundation',
2: 'DAGGERHEART.ITEMS.DomainCard.specializationTitle',
3: 'DAGGERHEART.ITEMS.DomainCard.masteryTitle'
};

View file

@ -1,57 +1,57 @@
export const domains = {
arcana: {
id: 'arcana',
label: 'DAGGERHEART.Domains.arcana.label',
label: 'DAGGERHEART.GENERAL.Domain.arcana.label',
src: 'systems/daggerheart/assets/icons/domains/arcana.svg',
description: 'DAGGERHEART.Domains.Arcana'
description: 'DAGGERHEART.GENERAL.Domain.Arcana'
},
blade: {
id: 'blade',
label: 'DAGGERHEART.Domains.blade.label',
label: 'DAGGERHEART.GENERAL.Domain.blade.label',
src: 'systems/daggerheart/assets/icons/domains/blade.svg',
description: 'DAGGERHEART.Domains.Blade'
description: 'DAGGERHEART.GENERAL.Domain.Blade'
},
bone: {
id: 'bone',
label: 'DAGGERHEART.Domains.bone.label',
label: 'DAGGERHEART.GENERAL.Domain.bone.label',
src: 'systems/daggerheart/assets/icons/domains/bone.svg',
description: 'DAGGERHEART.Domains.Bone'
description: 'DAGGERHEART.GENERAL.Domain.Bone'
},
codex: {
id: 'codex',
label: 'DAGGERHEART.Domains.codex.label',
label: 'DAGGERHEART.GENERAL.Domain.codex.label',
src: 'systems/daggerheart/assets/icons/domains/codex.svg',
description: 'DAGGERHEART.Domains.Codex'
description: 'DAGGERHEART.GENERAL.Domain.Codex'
},
grace: {
id: 'grace',
label: 'DAGGERHEART.Domains.grace.label',
label: 'DAGGERHEART.GENERAL.Domain.grace.label',
src: 'systems/daggerheart/assets/icons/domains/grace.svg',
description: 'DAGGERHEART.Domains.Grace'
description: 'DAGGERHEART.GENERAL.Domain.Grace'
},
midnight: {
id: 'midnight',
label: 'DAGGERHEART.Domains.midnight.label',
label: 'DAGGERHEART.GENERAL.Domain.midnight.label',
src: 'systems/daggerheart/assets/icons/domains/midnight.svg',
description: 'DAGGERHEART.Domains.Midnight'
description: 'DAGGERHEART.GENERAL.Domain.Midnight'
},
sage: {
id: 'sage',
label: 'DAGGERHEART.Domains.sage.label',
label: 'DAGGERHEART.GENERAL.Domain.sage.label',
src: 'systems/daggerheart/assets/icons/domains/sage.svg',
description: 'DAGGERHEART.Domains.Sage'
description: 'DAGGERHEART.GENERAL.Domain.Sage'
},
splendor: {
id: 'splendor',
label: 'DAGGERHEART.Domains.splendor.label',
label: 'DAGGERHEART.GENERAL.Domain.splendor.label',
src: 'systems/daggerheart/assets/icons/domains/splendor.svg',
description: 'DAGGERHEART.Domains.Splendor'
description: 'DAGGERHEART.GENERAL.Domain.Splendor'
},
valor: {
id: 'valor',
label: 'DAGGERHEART.Domains.valor.label',
label: 'DAGGERHEART.GENERAL.Domain.valor.label',
src: 'systems/daggerheart/assets/icons/domains/valor.svg',
description: 'DAGGERHEART.Domains.Valor'
description: 'DAGGERHEART.GENERAL.Domain.Valor'
}
};
@ -84,17 +84,17 @@ export const classMap = {
export const cardTypes = {
ability: {
id: 'ability',
label: 'DAGGERHEART.Domain.CardTypes.ability',
label: 'DAGGERHEART.CONFIG.DomainCardTypes.ability',
img: ''
},
spell: {
id: 'spell',
label: 'DAGGERHEART.Domain.CardTypes.spell',
label: 'DAGGERHEART.CONFIG.DomainCardTypes.spell',
img: ''
},
grimoire: {
id: 'grimoire',
label: 'DAGGERHEART.Domain.CardTypes.grimoire',
label: 'DAGGERHEART.CONFIG.DomainCardTypes.grimoire',
img: ''
}
};

View file

@ -21,38 +21,38 @@ export const parseTypes = {
export const applyLocations = {
attackRoll: {
id: 'attackRoll',
name: 'DAGGERHEART.Effects.ApplyLocations.AttackRoll.Name'
name: 'DAGGERHEART.EFFECTS.ApplyLocations.attackRoll.name'
},
damageRoll: {
id: 'damageRoll',
name: 'DAGGERHEART.Effects.ApplyLocations.DamageRoll.Name'
name: 'DAGGERHEART.EFFECTS.ApplyLocations.damageRoll.name'
}
};
export const effectTypes = {
health: {
id: 'health',
name: 'DAGGERHEART.Effects.Types.Health.Name',
name: 'DAGGERHEART.EFFECTS.Types.HitPoints.name',
values: [],
valueType: valueTypes.numberString.id,
parseType: parseTypes.number.id
},
stress: {
id: 'stress',
name: 'DAGGERHEART.Effects.Types.Stress.Name',
name: 'DAGGERHEART.EFFECTS.Types.Stress.name',
valueType: valueTypes.numberString.id,
parseType: parseTypes.number.id
},
reach: {
id: 'reach',
name: 'DAGGERHEART.Effects.Types.Reach.Name',
name: 'DAGGERHEART.EFFECTS.Types.Reach.name',
valueType: valueTypes.select.id,
parseType: parseTypes.string.id,
options: Object.keys(range).map(x => ({ name: range[x].name, value: x }))
},
damage: {
id: 'damage',
name: 'DAGGERHEART.Effects.Types.Damage.Name',
name: 'DAGGERHEART.EFFECTS.Types.Damage.name',
valueType: valueTypes.numberString.id,
parseType: parseTypes.string.id,
appliesOn: applyLocations.damageRoll.id,

View file

@ -2,43 +2,43 @@ export const range = {
self: {
id: 'self',
short: 's',
label: 'DAGGERHEART.Range.self.name',
description: 'DAGGERHEART.Range.self.description',
label: 'DAGGERHEART.CONFIG.Range.self.name',
description: 'DAGGERHEART.CONFIG.Range.self.description',
distance: 0
},
melee: {
id: 'melee',
short: 'm',
label: 'DAGGERHEART.Range.melee.name',
description: 'DAGGERHEART.Range.melee.description',
label: 'DAGGERHEART.CONFIG.Range.melee.name',
description: 'DAGGERHEART.CONFIG.Range.melee.description',
distance: 1
},
veryClose: {
id: 'veryClose',
short: 'vc',
label: 'DAGGERHEART.Range.veryClose.name',
description: 'DAGGERHEART.Range.veryClose.description',
label: 'DAGGERHEART.CONFIG.Range.veryClose.name',
description: 'DAGGERHEART.CONFIG.Range.veryClose.description',
distance: 3
},
close: {
id: 'close',
short: 'c',
label: 'DAGGERHEART.Range.close.name',
description: 'DAGGERHEART.Range.close.description',
label: 'DAGGERHEART.CONFIG.Range.close.name',
description: 'DAGGERHEART.CONFIG.Range.close.description',
distance: 10
},
far: {
id: 'far',
short: 'f',
label: 'DAGGERHEART.Range.far.name',
description: 'DAGGERHEART.Range.far.description',
label: 'DAGGERHEART.CONFIG.Range.far.name',
description: 'DAGGERHEART.CONFIG.Range.far.description',
distance: 20
},
veryFar: {
id: 'veryFar',
short: 'vf',
label: 'DAGGERHEART.Range.veryFar.name',
description: 'DAGGERHEART.Range.veryFar.description',
label: 'DAGGERHEART.CONFIG.Range.veryFar.name',
description: 'DAGGERHEART.CONFIG.Range.veryFar.description',
distance: 30
}
};
@ -46,68 +46,68 @@ export const range = {
export const burden = {
oneHanded: {
value: 'oneHanded',
label: 'DAGGERHEART.Burden.oneHanded'
label: 'DAGGERHEART.CONFIG.Burden.oneHanded'
},
twoHanded: {
value: 'twoHanded',
label: 'DAGGERHEART.Burden.twoHanded'
label: 'DAGGERHEART.CONFIG.Burden.twoHanded'
}
};
export const damageTypes = {
physical: {
id: 'physical',
label: 'DAGGERHEART.DamageType.physical.name',
abbreviation: 'DAGGERHEART.DamageType.physical.abbreviation'
label: 'DAGGERHEART.CONFIG.DamageType.physical.name',
abbreviation: 'DAGGERHEART.CONFIG.DamageType.physical.abbreviation'
},
magical: {
id: 'magical',
label: 'DAGGERHEART.DamageType.magical.name',
abbreviation: 'DAGGERHEART.DamageType.magical.abbreviation'
label: 'DAGGERHEART.CONFIG.DamageType.magical.name',
abbreviation: 'DAGGERHEART.CONFIG.DamageType.magical.abbreviation'
}
};
export const healingTypes = {
hitPoints: {
id: 'hitPoints',
label: 'DAGGERHEART.HealingType.HitPoints.Name',
abbreviation: 'DAGGERHEART.HealingType.HitPoints.Abbreviation'
label: 'DAGGERHEART.CONFIG.HealingType.hitPoints.name',
abbreviation: 'DAGGERHEART.CONFIG.HealingType.hitPoints.abbreviation'
},
stress: {
id: 'stress',
label: 'DAGGERHEART.HealingType.Stress.Name',
abbreviation: 'DAGGERHEART.HealingType.Stress.Abbreviation'
label: 'DAGGERHEART.CONFIG.HealingType.stress.name',
abbreviation: 'DAGGERHEART.CONFIG.HealingType.stress.abbreviation'
},
hope: {
id: 'hope',
label: 'DAGGERHEART.HealingType.Hope.Name',
abbreviation: 'DAGGERHEART.HealingType.Hope.Abbreviation'
label: 'DAGGERHEART.CONFIG.HealingType.hope.name',
abbreviation: 'DAGGERHEART.CONFIG.HealingType.hope.abbreviation'
},
armorStack: {
id: 'armorStack',
label: 'DAGGERHEART.HealingType.ArmorStack.Name',
abbreviation: 'DAGGERHEART.HealingType.ArmorStack.Abbreviation'
label: 'DAGGERHEART.CONFIG.HealingType.armorStack.name',
abbreviation: 'DAGGERHEART.CONFIG.HealingType.armorStack.abbreviation'
}
};
export const conditions = {
vulnerable: {
id: 'vulnerable',
name: 'DAGGERHEART.Condition.vulnerable.name',
name: 'DAGGERHEART.CONFIG.Condition.vulnerable.name',
icon: 'icons/magic/control/silhouette-fall-slip-prone.webp',
description: 'DAGGERHEART.Condition.vulnerable.description'
description: 'DAGGERHEART.CONFIG.Condition.vulnerable.description'
},
hidden: {
id: 'hidden',
name: 'DAGGERHEART.Condition.hidden.name',
name: 'DAGGERHEART.CONFIG.Condition.hidden.name',
icon: 'icons/magic/perception/silhouette-stealth-shadow.webp',
description: 'DAGGERHEART.Condition.hidden.description'
description: 'DAGGERHEART.CONFIG.Condition.hidden.description'
},
restrained: {
id: 'restrained',
name: 'DAGGERHEART.Condition.restrained.name',
name: 'DAGGERHEART.CONFIG.Condition.restrained.name',
icon: 'icons/magic/control/debuff-chains-shackle-movement-red.webp',
description: 'DAGGERHEART.Condition.restrained.description'
description: 'DAGGERHEART.CONFIG.Condition.restrained.description'
}
};
@ -115,13 +115,13 @@ export const defaultRestOptions = {
shortRest: () => ({
tendToWounds: {
id: 'tendToWounds',
name: game.i18n.localize('DAGGERHEART.Downtime.ShortRest.TendToWounds.Name'),
name: game.i18n.localize('DAGGERHEART.APPLICATIONS.Downtime.shortRest.tendToWounds.name'),
img: 'icons/magic/life/cross-worn-green.webp',
description: game.i18n.localize('DAGGERHEART.Downtime.ShortRest.TendToWounds.Description'),
description: game.i18n.localize('DAGGERHEART.APPLICATIONS.Downtime.shortRest.tendToWounds.description'),
actions: [
{
type: 'healing',
name: game.i18n.localize('DAGGERHEART.Downtime.ShortRest.TendToWounds.Name'),
name: game.i18n.localize('DAGGERHEART.APPLICATIONS.Downtime.shortRest.tendToWounds.name'),
img: 'icons/magic/life/cross-worn-green.webp',
actionType: 'action',
healing: {
@ -138,13 +138,13 @@ export const defaultRestOptions = {
},
clearStress: {
id: 'clearStress',
name: game.i18n.localize('DAGGERHEART.Downtime.ShortRest.ClearStress.Name'),
name: game.i18n.localize('DAGGERHEART.APPLICATIONS.Downtime.shortRest.clearStress.name'),
img: 'icons/magic/perception/eye-ringed-green.webp',
description: game.i18n.localize('DAGGERHEART.Downtime.ShortRest.ClearStress.Description'),
description: game.i18n.localize('DAGGERHEART.APPLICATIONS.Downtime.shortRest.clearStress.description'),
actions: [
{
type: 'healing',
name: game.i18n.localize('DAGGERHEART.Downtime.ShortRest.ClearStress.Name'),
name: game.i18n.localize('DAGGERHEART.APPLICATIONS.Downtime.shortRest.clearStress.name'),
img: 'icons/magic/perception/eye-ringed-green.webp',
actionType: 'action',
healing: {
@ -161,53 +161,53 @@ export const defaultRestOptions = {
},
repairArmor: {
id: 'repairArmor',
name: game.i18n.localize('DAGGERHEART.Downtime.ShortRest.RepairArmor.Name'),
name: game.i18n.localize('DAGGERHEART.APPLICATIONS.Downtime.shortRest.repairArmor.name'),
img: 'icons/skills/trades/smithing-anvil-silver-red.webp',
description: game.i18n.localize('DAGGERHEART.Downtime.ShortRest.RepairArmor.Description'),
description: game.i18n.localize('DAGGERHEART.APPLICATIONS.Downtime.shortRest.repairArmor.description'),
actions: []
},
prepare: {
id: 'prepare',
name: game.i18n.localize('DAGGERHEART.Downtime.ShortRest.Prepare.Name'),
name: game.i18n.localize('DAGGERHEART.APPLICATIONS.Downtime.shortRest.prepare.name'),
img: 'icons/skills/trades/academics-merchant-scribe.webp',
description: game.i18n.localize('DAGGERHEART.Downtime.ShortRest.Prepare.Description'),
description: game.i18n.localize('DAGGERHEART.APPLICATIONS.Downtime.shortRest.prepare.description'),
actions: []
}
}),
longRest: () => ({
tendToWounds: {
id: 'tendToWounds',
name: game.i18n.localize('DAGGERHEART.Downtime.LongRest.TendToWounds.Name'),
name: game.i18n.localize('DAGGERHEART.APPLICATIONS.Downtime.longRest.tendToWounds.name'),
img: 'icons/magic/life/cross-worn-green.webp',
description: game.i18n.localize('DAGGERHEART.Downtime.LongRest.TendToWounds.Description'),
description: game.i18n.localize('DAGGERHEART.APPLICATIONS.Downtime.longRest.tendToWounds.description'),
actions: []
},
clearStress: {
id: 'clearStress',
name: game.i18n.localize('DAGGERHEART.Downtime.LongRest.ClearStress.Name'),
name: game.i18n.localize('DAGGERHEART.APPLICATIONS.Downtime.longRest.clearStress.name'),
img: 'icons/magic/perception/eye-ringed-green.webp',
description: game.i18n.localize('DAGGERHEART.Downtime.LongRest.ClearStress.Description'),
description: game.i18n.localize('DAGGERHEART.APPLICATIONS.Downtime.longRest.clearStress.description'),
actions: []
},
repairArmor: {
id: 'repairArmor',
name: game.i18n.localize('DAGGERHEART.Downtime.LongRest.RepairArmor.Name'),
name: game.i18n.localize('DAGGERHEART.APPLICATIONS.Downtime.longRest.repairArmor.name'),
img: 'icons/skills/trades/smithing-anvil-silver-red.webp',
description: game.i18n.localize('DAGGERHEART.Downtime.LongRest.RepairArmor.Description'),
description: game.i18n.localize('DAGGERHEART.APPLICATIONS.Downtime.longRest.repairArmor.description'),
actions: []
},
prepare: {
id: 'prepare',
name: game.i18n.localize('DAGGERHEART.Downtime.LongRest.Prepare.Name'),
name: game.i18n.localize('DAGGERHEART.APPLICATIONS.Downtime.longRest.prepare.name'),
img: 'icons/skills/trades/academics-merchant-scribe.webp',
description: game.i18n.localize('DAGGERHEART.Downtime.LongRest.Prepare.Description'),
description: game.i18n.localize('DAGGERHEART.APPLICATIONS.Downtime.longRest.prepare.description'),
actions: []
},
workOnAProject: {
id: 'workOnAProject',
name: game.i18n.localize('DAGGERHEART.Downtime.LongRest.WorkOnAProject.Name'),
name: game.i18n.localize('DAGGERHEART.APPLICATIONS.Downtime.longRest.workOnAProject.name'),
img: 'icons/skills/social/thumbsup-approval-like.webp',
description: game.i18n.localize('DAGGERHEART.Downtime.LongRest.WorkOnAProject.Description'),
description: game.i18n.localize('DAGGERHEART.APPLICATIONS.Downtime.longRest.workOnAProject.description'),
actions: []
}
}),
@ -216,51 +216,51 @@ export const defaultRestOptions = {
name: '',
img: 'icons/skills/trades/academics-investigation-puzzles.webp',
description: '',
namePlaceholder: 'DAGGERHEART.Downtime.Custom.NamePlaceholder',
placeholder: 'DAGGERHEART.Downtime.Custom.Placeholder'
namePlaceholder: 'DAGGERHEART.APPLICATIONS.Downtime.custom.namePlaceholder',
placeholder: 'DAGGERHEART.APPLICATIONS.Downtime.custom.placeholder'
}
};
export const deathMoves = {
avoidDeath: {
id: 'avoidDeath',
name: 'DAGGERHEART.DeathMoves.AvoidDeath.Name',
name: 'DAGGERHEART.CONFIG.DeathMoves.avoidDeath.name',
img: 'icons/magic/time/hourglass-yellow-green.webp',
description: 'DAGGERHEART.DeathMoves.AvoidDeath.Description'
description: 'DAGGERHEART.CONFIG.DeathMoves.avoidDeath.description'
},
riskItAll: {
id: 'riskItAll',
name: 'DAGGERHEART.DeathMoves.RiskItAll.Name',
name: 'DAGGERHEART.CONFIG.DeathMoves.riskItAll.name',
img: 'icons/sundries/gaming/dice-pair-white-green.webp',
description: 'DAGGERHEART.DeathMoves.RiskItAll.Description'
description: 'DAGGERHEART.CONFIG.DeathMoves.riskItAll.description'
},
blazeOfGlory: {
id: 'blazeOfGlory',
name: 'DAGGERHEART.DeathMoves.BlazeOfGlory.Name',
name: 'DAGGERHEART.CONFIG.DeathMoves.blazeOfGlory.name',
img: 'icons/magic/life/heart-cross-strong-flame-purple-orange.webp',
description: 'DAGGERHEART.DeathMoves.BlazeOfGlory.Description'
description: 'DAGGERHEART.CONFIG.DeathMoves.blazeOfGlory.description'
}
};
export const tiers = {
tier1: {
id: 'tier1',
label: 'DAGGERHEART.Tiers.tier1',
label: 'DAGGERHEART.GENERAL.Tiers.tier1',
value: 1
},
tier2: {
id: 'tier2',
label: 'DAGGERHEART.Tiers.tier2',
label: 'DAGGERHEART.GENERAL.Tiers.tier2',
value: 2
},
tier3: {
id: 'tier3',
label: 'DAGGERHEART.Tiers.tier3',
label: 'DAGGERHEART.GENERAL.Tiers.tier3',
value: 3
},
tier4: {
id: 'tier4',
label: 'DAGGERHEART.Tiers.tier4',
label: 'DAGGERHEART.GENERAL.Tiers.tier4',
value: 4
}
};
@ -331,15 +331,15 @@ export const getDiceSoNicePresets = () => {
export const refreshTypes = {
session: {
id: 'session',
label: 'DAGGERHEART.General.RefreshType.Session'
label: 'DAGGERHEART.GENERAL.RefreshType.session'
},
shortRest: {
id: 'shortRest',
label: 'DAGGERHEART.General.RefreshType.Shortrest'
label: 'DAGGERHEART.GENERAL.RefreshType.shortrest'
},
longRest: {
id: 'longRest',
label: 'DAGGERHEART.General.RefreshType.Longrest'
label: 'DAGGERHEART.GENERAL.RefreshType.longrest'
}
};
@ -351,7 +351,7 @@ export const abilityCosts = {
},
stress: {
id: 'stress',
label: 'DAGGERHEART.HealingType.Stress.Name',
label: 'DAGGERHEART.CONFIG.HealingType.Stress.Name',
group: 'TYPES.Actor.character'
},
armor: {
@ -361,7 +361,7 @@ export const abilityCosts = {
},
hp: {
id: 'hp',
label: 'DAGGERHEART.HealingType.HitPoints.Name',
label: 'DAGGERHEART.CONFIG.HealingType.HitPoints.Name',
group: 'TYPES.Actor.character'
},
prayer: {
@ -399,38 +399,38 @@ export const abilityCosts = {
export const countdownTypes = {
spotlight: {
id: 'spotlight',
label: 'DAGGERHEART.Countdown.Type.Spotlight'
label: 'DAGGERHEART.CONFIG.CountdownTypes.Spotlight'
},
characterAttack: {
id: 'characterAttack',
label: 'DAGGERHEART.Countdown.Type.CharacterAttack'
label: 'DAGGERHEART.CONFIG.CountdownTypes.CharacterAttack'
},
custom: {
id: 'custom',
label: 'DAGGERHEART.Countdown.Type.Custom'
label: 'DAGGERHEART.CONFIG.CountdownTypes.Custom'
}
};
export const rollTypes = {
weapon: {
id: 'weapon',
label: 'DAGGERHEART.RollTypes.weapon.name'
label: 'DAGGERHEART.CONFIG.RollTypes.weapon.name'
},
spellcast: {
id: 'spellcast',
label: 'DAGGERHEART.RollTypes.spellcast.name'
label: 'DAGGERHEART.CONFIG.RollTypes.spellcast.name'
},
ability: {
id: 'ability',
label: 'DAGGERHEART.RollTypes.ability.name'
label: 'DAGGERHEART.CONFIG.RollTypes.ability.name'
},
diceSet: {
id: 'diceSet',
label: 'DAGGERHEART.RollTypes.diceSet.name'
label: 'DAGGERHEART.CONFIG.RollTypes.diceSet.name'
}
};
export const fearDisplay = {
token: { value: 'token', label: 'DAGGERHEART.Settings.Appearance.FearDisplay.Token' },
bar: { value: 'bar', label: 'DAGGERHEART.Settings.Appearance.FearDisplay.Bar' },
hide: { value: 'hide', label: 'DAGGERHEART.Settings.Appearance.FearDisplay.Hide' }
token: { value: 'token', label: 'DAGGERHEART.SETTINGS.Appearance.fearDisplay.token' },
bar: { value: 'bar', label: 'DAGGERHEART.SETTINGS.Appearance.fearDisplay.bar' },
hide: { value: 'hide', label: 'DAGGERHEART.SETTINGS.Appearance.fearDisplay.hide' }
};

View file

@ -1,11 +1,11 @@
export const armorFeatures = {
burning: {
label: 'DAGGERHEART.ArmorFeature.Burning.Name',
description: 'DAGGERHEART.ArmorFeature.Burning.Description'
label: 'DAGGERHEART.CONFIG.ArmorFeature.burning.name',
description: 'DAGGERHEART.CONFIG.ArmorFeature.burning.description'
},
channeling: {
label: 'DAGGERHEART.ArmorFeature.Channeling.Name',
description: 'DAGGERHEART.ArmorFeature.Channeling.Description',
label: 'DAGGERHEART.CONFIG.ArmorFeature.channeling.name',
description: 'DAGGERHEART.CONFIG.ArmorFeature.channeling.description',
effects: [
{
changes: [
@ -19,8 +19,8 @@ export const armorFeatures = {
]
},
difficult: {
label: 'DAGGERHEART.ArmorFeature.Difficult.Name',
description: 'DAGGERHEART.ArmorFeature.Difficult.Description',
label: 'DAGGERHEART.CONFIG.ArmorFeature.difficult.name',
description: 'DAGGERHEART.CONFIG.ArmorFeature.difficult.description',
effects: [
{
changes: [
@ -64,8 +64,8 @@ export const armorFeatures = {
]
},
flexible: {
label: 'DAGGERHEART.ArmorFeature.Flexible.Name',
description: 'DAGGERHEART.ArmorFeature.Flexible.Description',
label: 'DAGGERHEART.CONFIG.ArmorFeature.flexible.name',
description: 'DAGGERHEART.CONFIG.ArmorFeature.flexible.description',
effects: [
{
changes: [
@ -79,12 +79,12 @@ export const armorFeatures = {
]
},
fortified: {
label: 'DAGGERHEART.ArmorFeature.Fortified.Name',
description: 'DAGGERHEART.ArmorFeature.Fortified.Description'
label: 'DAGGERHEART.CONFIG.ArmorFeature.fortified.name',
description: 'DAGGERHEART.CONFIG.ArmorFeature.fortified.description'
},
gilded: {
label: 'DAGGERHEART.ArmorFeature.Gilded.Name',
description: 'DAGGERHEART.ArmorFeature.Gilded.Description',
label: 'DAGGERHEART.CONFIG.ArmorFeature.gilded.name',
description: 'DAGGERHEART.CONFIG.ArmorFeature.gilded.description',
effects: [
{
changes: [
@ -98,8 +98,8 @@ export const armorFeatures = {
]
},
heavy: {
label: 'DAGGERHEART.ArmorFeature.Heavy.Name',
description: 'DAGGERHEART.ArmorFeature.Heavy.Description',
label: 'DAGGERHEART.CONFIG.ArmorFeature.heavy.name',
description: 'DAGGERHEART.CONFIG.ArmorFeature.heavy.description',
effects: [
{
changes: [
@ -113,56 +113,56 @@ export const armorFeatures = {
]
},
hopeful: {
label: 'DAGGERHEART.ArmorFeature.Hopeful.Name',
description: 'DAGGERHEART.ArmorFeature.Hopeful.Description'
label: 'DAGGERHEART.CONFIG.ArmorFeature.hopeful.name',
description: 'DAGGERHEART.CONFIG.ArmorFeature.hopeful.description'
},
impenetrable: {
label: 'DAGGERHEART.ArmorFeature.Impenetrable.Name',
description: 'DAGGERHEART.ArmorFeature.Impenetrable.Description'
label: 'DAGGERHEART.CONFIG.ArmorFeature.impenetrable.name',
description: 'DAGGERHEART.CONFIG.ArmorFeature.impenetrable.description'
},
magic: {
label: 'DAGGERHEART.ArmorFeature.Magic.Name',
description: 'DAGGERHEART.ArmorFeature.Magic.Description'
label: 'DAGGERHEART.CONFIG.ArmorFeature.magic.name',
description: 'DAGGERHEART.CONFIG.ArmorFeature.magic.description'
},
painful: {
label: 'DAGGERHEART.ArmorFeature.Painful.Name',
description: 'DAGGERHEART.ArmorFeature.Painful.Description'
label: 'DAGGERHEART.CONFIG.ArmorFeature.painful.name',
description: 'DAGGERHEART.CONFIG.ArmorFeature.painful.description'
},
physical: {
label: 'DAGGERHEART.ArmorFeature.Physical.Name',
description: 'DAGGERHEART.ArmorFeature.Physical.Description'
label: 'DAGGERHEART.CONFIG.ArmorFeature.physical.name',
description: 'DAGGERHEART.CONFIG.ArmorFeature.physical.description'
},
quiet: {
label: 'DAGGERHEART.ArmorFeature.Quiet.Name',
description: 'DAGGERHEART.ArmorFeature.Quiet.Description'
label: 'DAGGERHEART.CONFIG.ArmorFeature.quiet.name',
description: 'DAGGERHEART.CONFIG.ArmorFeature.quiet.description'
},
reinforced: {
label: 'DAGGERHEART.ArmorFeature.Reinforced.Name',
description: 'DAGGERHEART.ArmorFeature.Reinforced.Description'
label: 'DAGGERHEART.CONFIG.ArmorFeature.reinforced.name',
description: 'DAGGERHEART.CONFIG.ArmorFeature.reinforced.description'
},
resilient: {
label: 'DAGGERHEART.ArmorFeature.Resilient.Name',
description: 'DAGGERHEART.ArmorFeature.Resilient.Description'
label: 'DAGGERHEART.CONFIG.ArmorFeature.resilient.name',
description: 'DAGGERHEART.CONFIG.ArmorFeature.resilient.description'
},
sharp: {
label: 'DAGGERHEART.ArmorFeature.Sharp.Name',
description: 'DAGGERHEART.ArmorFeature.Sharp.Description'
label: 'DAGGERHEART.CONFIG.ArmorFeature.sharp.name',
description: 'DAGGERHEART.CONFIG.ArmorFeature.sharp.description'
},
shifting: {
label: 'DAGGERHEART.ArmorFeature.Shifting.Name',
description: 'DAGGERHEART.ArmorFeature.Shifting.Description'
label: 'DAGGERHEART.CONFIG.ArmorFeature.shifting.name',
description: 'DAGGERHEART.CONFIG.ArmorFeature.shifting.description'
},
timeslowing: {
label: 'DAGGERHEART.ArmorFeature.Timeslowing.Name',
description: 'DAGGERHEART.ArmorFeature.Timeslowing.Description'
label: 'DAGGERHEART.CONFIG.ArmorFeature.timeslowing.name',
description: 'DAGGERHEART.CONFIG.ArmorFeature.timeslowing.description'
},
truthseeking: {
label: 'DAGGERHEART.ArmorFeature.Truthseeking.Name',
description: 'DAGGERHEART.ArmorFeature.Truthseeking.Description'
label: 'DAGGERHEART.CONFIG.ArmorFeature.truthseeking.name',
description: 'DAGGERHEART.CONFIG.ArmorFeature.truthseeking.description'
},
veryheavy: {
label: 'DAGGERHEART.ArmorFeature.VeryHeavy.Name',
description: 'DAGGERHEART.ArmorFeature.VeryHeavy.Description',
label: 'DAGGERHEART.CONFIG.ArmorFeature.veryHeavy.name',
description: 'DAGGERHEART.CONFIG.ArmorFeature.veryHeavy.description',
effects: [
{
changes: [
@ -181,15 +181,15 @@ export const armorFeatures = {
]
},
warded: {
label: 'DAGGERHEART.ArmorFeature.Warded.Name',
description: 'DAGGERHEART.ArmorFeature.Warded.Description'
label: 'DAGGERHEART.CONFIG.ArmorFeature.warded.name',
description: 'DAGGERHEART.CONFIG.ArmorFeature.warded.description'
}
};
export const weaponFeatures = {
barrier: {
label: 'DAGGERHEART.WeaponFeature.Barrier.Name',
description: 'DAGGERHEART.WeaponFeature.Barrier.Description',
label: 'DAGGERHEART.CONFIG.WeaponFeature.barrier.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.barrier.description',
effects: [
{
changes: [
@ -212,8 +212,8 @@ export const weaponFeatures = {
]
},
bonded: {
label: 'DAGGERHEART.WeaponFeature.Bonded.Name',
description: 'DAGGERHEART.WeaponFeature.Bonded.Description',
label: 'DAGGERHEART.CONFIG.WeaponFeature.bonded.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.bonded.description',
effects: [
{
changes: [
@ -227,12 +227,12 @@ export const weaponFeatures = {
]
},
bouncing: {
label: 'DAGGERHEART.WeaponFeature.Bouncing.Name',
description: 'DAGGERHEART.WeaponFeature.Bouncing.Description'
label: 'DAGGERHEART.CONFIG.WeaponFeature.bouncing.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.bouncing.description'
},
brave: {
label: 'DAGGERHEART.WeaponFeature.Brave.Name',
description: 'DAGGERHEART.WeaponFeature.Brave.Description',
label: 'DAGGERHEART.CONFIG.WeaponFeature.brave.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.brave.description',
effects: [
{
changes: [
@ -255,16 +255,16 @@ export const weaponFeatures = {
]
},
brutal: {
label: 'DAGGERHEART.WeaponFeature.Brutal.Name',
description: 'DAGGERHEART.WeaponFeature.Brutal.Description'
label: 'DAGGERHEART.CONFIG.WeaponFeature.brutal.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.brutal.description'
},
charged: {
label: 'DAGGERHEART.WeaponFeature.Charged.Name',
description: 'DAGGERHEART.WeaponFeature.Charged.Description',
label: 'DAGGERHEART.CONFIG.WeaponFeature.charged.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.charged.description',
actions: [
{
type: 'effect',
name: 'DAGGERHEART.WeaponFeature.Concussive.Name',
name: 'DAGGERHEART.CONFIG.WeaponFeature.concussive.name',
img: 'icons/skills/melee/shield-damaged-broken-brown.webp',
actionType: 'action',
cost: [
@ -278,12 +278,12 @@ export const weaponFeatures = {
]
},
concussive: {
label: 'DAGGERHEART.WeaponFeature.Concussive.Name',
description: 'DAGGERHEART.WeaponFeature.Concussive.Description',
label: 'DAGGERHEART.CONFIG.WeaponFeature.concussive.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.concussive.description',
actions: [
{
type: 'resource',
name: 'DAGGERHEART.WeaponFeature.Concussive.Name',
name: 'DAGGERHEART.CONFIG.WeaponFeature.concussive.name',
img: 'icons/skills/melee/shield-damaged-broken-brown.webp',
actionType: 'action',
cost: [
@ -296,8 +296,8 @@ export const weaponFeatures = {
]
},
cumbersome: {
label: 'DAGGERHEART.WeaponFeature.Cumbersome.Name',
description: 'DAGGERHEART.WeaponFeature.Cumbersome.Description',
label: 'DAGGERHEART.CONFIG.WeaponFeature.cumbersome.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.cumbersome.description',
effects: [
{
changes: [
@ -311,15 +311,15 @@ export const weaponFeatures = {
]
},
deadly: {
label: 'DAGGERHEART.WeaponFeature.Deadly.Name',
description: 'DAGGERHEART.WeaponFeature.Deadly.Description'
label: 'DAGGERHEART.CONFIG.WeaponFeature.deadly.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.deadly.description'
},
deflecting: {
label: 'DAGGERHEART.WeaponFeature.Deflecting.Name',
description: 'DAGGERHEART.WeaponFeature.Deflecting.Description'
label: 'DAGGERHEART.CONFIG.WeaponFeature.deflecting.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.deflecting.description'
// actions: [{
// type: 'effect',
// name: 'DAGGERHEART.WeaponFeature.Deflecting.Name',
// name: 'DAGGERHEART.CONFIG.WeaponFeature.Deflecting.Name',
// img: 'icons/skills/melee/strike-flail-destructive-yellow.webp',
// actionType: 'reaction',
// cost: [{
@ -329,8 +329,8 @@ export const weaponFeatures = {
// }],
},
destructive: {
label: 'DAGGERHEART.WeaponFeature.Destructive.Name',
description: 'DAGGERHEART.WeaponFeature.Destructive.Description',
label: 'DAGGERHEART.CONFIG.WeaponFeature.destructive.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.destructive.description',
effects: [
{
changes: [
@ -344,12 +344,12 @@ export const weaponFeatures = {
]
},
devastating: {
label: 'DAGGERHEART.WeaponFeature.Devastating.Name',
description: 'DAGGERHEART.WeaponFeature.Devastating.Description',
label: 'DAGGERHEART.CONFIG.WeaponFeature.devastating.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.devastating.description',
actions: [
{
type: 'resource',
name: 'DAGGERHEART.WeaponFeature.Devastating.Name',
name: 'DAGGERHEART.CONFIG.WeaponFeature.devastating.name',
img: 'icons/skills/melee/strike-flail-destructive-yellow.webp',
actionType: 'action',
cost: [
@ -362,8 +362,8 @@ export const weaponFeatures = {
]
},
doubleduty: {
label: 'DAGGERHEART.WeaponFeature.DoubleDuty.Name',
description: 'DAGGERHEART.WeaponFeature.DoubleDuty.Description',
label: 'DAGGERHEART.CONFIG.WeaponFeature.doubleDuty.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.doubleDuty.description',
effects: [
{
changes: [
@ -377,24 +377,24 @@ export const weaponFeatures = {
]
},
doubledup: {
label: 'DAGGERHEART.WeaponFeature.DoubledUp.Name',
description: 'DAGGERHEART.WeaponFeature.DoubledUp.Description'
label: 'DAGGERHEART.CONFIG.WeaponFeature.doubledUp.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.doubledUp.description'
},
dueling: {
label: 'DAGGERHEART.WeaponFeature.Dueling.Name',
description: 'DAGGERHEART.WeaponFeature.Dueling.Description'
label: 'DAGGERHEART.CONFIG.WeaponFeature.dueling.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.dueling.description'
},
eruptive: {
label: 'DAGGERHEART.WeaponFeature.Eruptive.Name',
description: 'DAGGERHEART.WeaponFeature.Eruptive.Description'
label: 'DAGGERHEART.CONFIG.WeaponFeature.eruptive.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.eruptive.description'
},
grappling: {
label: 'DAGGERHEART.WeaponFeature.Grappling.Name',
description: 'DAGGERHEART.WeaponFeature.Grappling.Description',
label: 'DAGGERHEART.CONFIG.WeaponFeature.grappling.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.grappling.description',
actions: [
{
type: 'resource',
name: 'DAGGERHEART.WeaponFeature.Grappling.Name',
name: 'DAGGERHEART.CONFIG.WeaponFeature.grappling.name',
img: 'icons/magic/control/debuff-chains-ropes-net-white.webp',
actionType: 'action',
cost: [
@ -407,16 +407,16 @@ export const weaponFeatures = {
]
},
greedy: {
label: 'DAGGERHEART.WeaponFeature.Greedy.Name',
description: 'DAGGERHEART.WeaponFeature.Greedy.Description'
label: 'DAGGERHEART.CONFIG.WeaponFeature.greedy.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.greedy.description'
},
healing: {
label: 'DAGGERHEART.WeaponFeature.Healing.Name',
description: 'DAGGERHEART.WeaponFeature.Healing.Description',
label: 'DAGGERHEART.CONFIG.WeaponFeature.healing.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.healing.description',
actions: [
{
type: 'healing',
name: 'DAGGERHEART.WeaponFeature.Healing.Name',
name: 'DAGGERHEART.CONFIG.WeaponFeature.healing.name',
img: 'icons/magic/life/cross-beam-green.webp',
actionType: 'action',
healing: {
@ -432,8 +432,8 @@ export const weaponFeatures = {
]
},
heavy: {
label: 'DAGGERHEART.WeaponFeature.Heavy.Name',
description: 'DAGGERHEART.WeaponFeature.Heavy.Description',
label: 'DAGGERHEART.CONFIG.WeaponFeature.heavy.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.heavy.description',
effects: [
{
changes: [
@ -447,36 +447,36 @@ export const weaponFeatures = {
]
},
hooked: {
label: 'DAGGERHEART.WeaponFeature.Hooked.Name',
description: 'DAGGERHEART.WeaponFeature.Hooked.Description'
label: 'DAGGERHEART.CONFIG.WeaponFeature.hooked.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.hooked.description'
},
hot: {
label: 'DAGGERHEART.WeaponFeature.Hot.Name',
description: 'DAGGERHEART.WeaponFeature.Hot.Description'
label: 'DAGGERHEART.CONFIG.WeaponFeature.hot.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.hot.description'
},
invigorating: {
label: 'DAGGERHEART.WeaponFeature.Invigorating.Name',
description: 'DAGGERHEART.WeaponFeature.Invigorating.Description'
label: 'DAGGERHEART.CONFIG.WeaponFeature.invigorating.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.invigorating.description'
},
lifestealing: {
label: 'DAGGERHEART.WeaponFeature.Lifestealing.Name',
description: 'DAGGERHEART.WeaponFeature.Lifestealing.Description'
label: 'DAGGERHEART.CONFIG.WeaponFeature.lifestealing.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.lifestealing.description'
},
lockedon: {
label: 'DAGGERHEART.WeaponFeature.LockedOn.Name',
description: 'DAGGERHEART.WeaponFeature.LockedOn.Description'
label: 'DAGGERHEART.CONFIG.WeaponFeature.lockedOn.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.lockedOn.description'
},
long: {
label: 'DAGGERHEART.WeaponFeature.Long.Name',
description: 'DAGGERHEART.WeaponFeature.Long.Description'
label: 'DAGGERHEART.CONFIG.WeaponFeature.long.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.long.description'
},
lucky: {
label: 'DAGGERHEART.WeaponFeature.Lucky.Name',
description: 'DAGGERHEART.WeaponFeature.Lucky.Description',
label: 'DAGGERHEART.CONFIG.WeaponFeature.lucky.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.lucky.description',
actions: [
{
type: 'resource',
name: 'DAGGERHEART.WeaponFeature.Lucky.Name',
name: 'DAGGERHEART.CONFIG.WeaponFeature.lucky.name',
img: 'icons/magic/control/buff-luck-fortune-green.webp',
actionType: 'action',
cost: [
@ -489,8 +489,8 @@ export const weaponFeatures = {
]
},
massive: {
label: 'DAGGERHEART.WeaponFeature.Massive.Name',
description: 'DAGGERHEART.WeaponFeature.Massive.Description',
label: 'DAGGERHEART.CONFIG.WeaponFeature.massive.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.massive.description',
effects: [
{
changes: [
@ -504,12 +504,12 @@ export const weaponFeatures = {
]
},
painful: {
label: 'DAGGERHEART.WeaponFeature.Painful.Name',
description: 'DAGGERHEART.WeaponFeature.Painful.Description',
label: 'DAGGERHEART.CONFIG.WeaponFeature.painful.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.painful.description',
actions: [
{
type: 'resource',
name: 'DAGGERHEART.WeaponFeature.Painful.Name',
name: 'DAGGERHEART.CONFIG.WeaponFeature.painful.name',
img: 'icons/skills/wounds/injury-face-impact-orange.webp',
actionType: 'action',
cost: [
@ -522,31 +522,31 @@ export const weaponFeatures = {
]
},
paired: {
label: 'DAGGERHEART.WeaponFeature.Paired.Name',
description: 'DAGGERHEART.WeaponFeature.Paired.Description',
label: 'DAGGERHEART.CONFIG.WeaponFeature.paired.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.paired.description',
override: {
bonusDamage: 1
}
},
parry: {
label: 'DAGGERHEART.WeaponFeature.Parry.Name',
description: 'DAGGERHEART.WeaponFeature.Parry.Description'
label: 'DAGGERHEART.CONFIG.WeaponFeature.parry.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.parry.description'
},
persuasive: {
label: 'DAGGERHEART.WeaponFeature.Persuasive.Name',
description: 'DAGGERHEART.WeaponFeature.Persuasive.Description'
label: 'DAGGERHEART.CONFIG.WeaponFeature.persuasive.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.persuasive.description'
},
pompous: {
label: 'DAGGERHEART.WeaponFeature.Pompous.Name',
description: 'DAGGERHEART.WeaponFeature.Pompous.Description'
label: 'DAGGERHEART.CONFIG.WeaponFeature.pompous.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.pompous.description'
},
powerful: {
label: 'DAGGERHEART.WeaponFeature.Powerful.Name',
description: 'DAGGERHEART.WeaponFeature.Powerful.Description'
label: 'DAGGERHEART.CONFIG.WeaponFeature.powerful.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.powerful.description'
},
protective: {
label: 'DAGGERHEART.WeaponFeature.Protective.Name',
description: 'DAGGERHEART.WeaponFeature.Protective.Description',
label: 'DAGGERHEART.CONFIG.WeaponFeature.protective.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.protective.description',
effects: [
{
changes: [
@ -560,12 +560,12 @@ export const weaponFeatures = {
]
},
quick: {
label: 'DAGGERHEART.WeaponFeature.Quick.Name',
description: 'DAGGERHEART.WeaponFeature.Quick.Description',
label: 'DAGGERHEART.CONFIG.WeaponFeature.quick.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.quick.description',
actions: [
{
type: 'resource',
name: 'DAGGERHEART.WeaponFeature.Quick.Name',
name: 'DAGGERHEART.CONFIG.WeaponFeature.quick.name',
img: 'icons/skills/movement/arrow-upward-yellow.webp',
actionType: 'action',
cost: [
@ -578,8 +578,8 @@ export const weaponFeatures = {
]
},
reliable: {
label: 'DAGGERHEART.WeaponFeature.Reliable.Name',
description: 'DAGGERHEART.WeaponFeature.Reliable.Description',
label: 'DAGGERHEART.CONFIG.WeaponFeature.reliable.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.reliable.description',
effects: [
{
changes: [
@ -593,40 +593,40 @@ export const weaponFeatures = {
]
},
reloading: {
label: 'DAGGERHEART.WeaponFeature.Reloading.Name',
description: 'DAGGERHEART.WeaponFeature.Reloading.Description'
label: 'DAGGERHEART.CONFIG.WeaponFeature.reloading.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.reloading.description'
},
retractable: {
label: 'DAGGERHEART.WeaponFeature.Retractable.Name',
description: 'DAGGERHEART.WeaponFeature.Retractable.Description'
label: 'DAGGERHEART.CONFIG.WeaponFeature.retractable.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.retractable.description'
},
returning: {
label: 'DAGGERHEART.WeaponFeature.Returning.Name',
description: 'DAGGERHEART.WeaponFeature.Returning.Description'
label: 'DAGGERHEART.CONFIG.WeaponFeature.returning.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.returning.description'
},
scary: {
label: 'DAGGERHEART.WeaponFeature.Scary.Name',
description: 'DAGGERHEART.WeaponFeature.Scary.Description'
label: 'DAGGERHEART.CONFIG.WeaponFeature.scary.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.scary.description'
},
serrated: {
label: 'DAGGERHEART.WeaponFeature.Serrated.Name',
description: 'DAGGERHEART.WeaponFeature.Serrated.Description'
label: 'DAGGERHEART.CONFIG.WeaponFeature.serrated.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.serrated.description'
},
sharpwing: {
label: 'DAGGERHEART.WeaponFeature.Sharpwing.Name',
description: 'DAGGERHEART.WeaponFeature.Sharpwing.Description'
label: 'DAGGERHEART.CONFIG.WeaponFeature.sharpwing.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.sharpwing.description'
},
sheltering: {
label: 'DAGGERHEART.WeaponFeature.Sheltering.Name',
description: 'DAGGERHEART.WeaponFeature.Sheltering.Description'
label: 'DAGGERHEART.CONFIG.WeaponFeature.sheltering.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.sheltering.description'
},
startling: {
label: 'DAGGERHEART.WeaponFeature.Startling.Name',
description: 'DAGGERHEART.WeaponFeature.Startling.Description',
label: 'DAGGERHEART.CONFIG.WeaponFeature.startling.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.startling.description',
actions: [
{
type: 'resource',
name: 'DAGGERHEART.WeaponFeature.Startling.Name',
name: 'DAGGERHEART.CONFIG.WeaponFeature.startling.name',
img: 'icons/magic/control/fear-fright-mask-orange.webp',
actionType: 'action',
cost: [
@ -639,12 +639,12 @@ export const weaponFeatures = {
]
},
timebending: {
label: 'DAGGERHEART.WeaponFeature.Timebending.Name',
description: 'DAGGERHEART.WeaponFeature.Timebending.Description'
label: 'DAGGERHEART.CONFIG.WeaponFeature.timebending.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.timebending.description'
},
versatile: {
label: 'DAGGERHEART.WeaponFeature.Versatile.Name',
description: 'DAGGERHEART.WeaponFeature.Versatile.Description',
label: 'DAGGERHEART.CONFIG.WeaponFeature.versatile.name',
description: 'DAGGERHEART.CONFIG.WeaponFeature.versatile.description',
versatile: {
characterTrait: '',
range: '',
@ -700,42 +700,17 @@ export const featureTypes = {
}
};
export const valueTypes = {
normal: {
id: 'normal',
name: 'DAGGERHEART.Feature.ValueType.Normal',
data: {
value: 0,
max: 0
}
},
input: {
id: 'input',
name: 'DAGGERHEART.Feature.ValueType.Input',
data: {
value: null
}
},
dice: {
id: 'dice',
name: 'DAGGERHEART.Feature.ValueType.Dice',
data: {
value: null
}
}
};
export const actionTypes = {
passive: {
id: 'passive',
label: 'DAGGERHEART.ActionType.passive'
label: 'DAGGERHEART.CONFIG.ActionType.passive'
},
action: {
id: 'action',
label: 'DAGGERHEART.ActionType.action'
label: 'DAGGERHEART.CONFIG.ActionType.action'
},
reaction: {
id: 'reaction',
label: 'DAGGERHEART.ActionType.reaction'
label: 'DAGGERHEART.CONFIG.ActionType.reaction'
}
};

View file

@ -33,10 +33,10 @@ export const gameSettings = {
export const DualityRollColor = {
colorful: {
value: 0,
label: 'DAGGERHEART.Settings.DualityRollColor.Options.Colorful'
label: 'DAGGERHEART.SETTINGS.DualityRollColor.options.colorful'
},
normal: {
value: 1,
label: 'DAGGERHEART.Settings.DualityRollColor.Options.Normal'
label: 'DAGGERHEART.SETTINGS.DualityRollColor.options.normal'
}
};

View file

@ -113,7 +113,7 @@ export class DHDamageData extends foundry.abstract.DataModel {
}),
resultBased: new fields.BooleanField({
initial: false,
label: 'DAGGERHEART.Actions.Settings.ResultBased.label'
label: 'DAGGERHEART.ACTIONS.Settings.resultBased.label'
}),
value: new fields.EmbeddedDataField(DHActionDiceData),
valueAlt: new fields.EmbeddedDataField(DHActionDiceData)

View file

@ -110,7 +110,7 @@ export default class DHBaseAction extends foundry.abstract.DataModel {
}),
resultBased: new fields.BooleanField({
initial: false,
label: 'DAGGERHEART.Actions.Settings.ResultBased.label'
label: 'DAGGERHEART.ACTIONS.Settings.resultBased.label'
}),
value: new fields.EmbeddedDataField(DHActionDiceData),
valueAlt: new fields.EmbeddedDataField(DHActionDiceData)
@ -563,7 +563,7 @@ export default class DHBaseAction extends foundry.abstract.DataModel {
async toChat(origin) {
const cls = getDocumentClass('ChatMessage');
const systemData = {
title: game.i18n.localize('DAGGERHEART.ActionType.action'),
title: game.i18n.localize('DAGGERHEART.CONFIG.ActionType.action'),
origin: origin,
img: this.img,
name: this.name,

View file

@ -19,7 +19,7 @@ export default class DHDamageAction extends DHBaseAction {
if (isNaN(formula)) formula = Roll.replaceFormulaData(formula, this.getRollData(data.system ?? data));
const config = {
title: game.i18n.format('DAGGERHEART.Chat.DamageRoll.Title', { damage: this.name }),
title: game.i18n.format('DAGGERHEART.UI.Chat.damageRoll.title', { damage: this.name }),
roll: { formula },
targets: data.system?.targets.filter(t => t.hit) ?? data.targets,
hasSave: this.hasSave,

View file

@ -12,7 +12,7 @@ export default class DHEffectAction extends DHBaseAction {
async chatApplyEffects(event, data) {
const cls = getDocumentClass('ChatMessage'),
systemData = {
title: game.i18n.format('DAGGERHEART.Chat.ApplyEffect.Title', { name: this.name }),
title: game.i18n.format('DAGGERHEART.UI.Chat.applyEffect.title', { name: this.name }),
origin: this.actor._id,
description: '',
targets: data.targets.map(x => ({ id: x.id, name: x.name, img: x.img, hit: true })),

View file

@ -23,7 +23,7 @@ export default class DHHealingAction extends DHBaseAction {
bonusDamage = [];
const config = {
title: game.i18n.format('DAGGERHEART.Chat.HealingRoll.Title', {
title: game.i18n.format('DAGGERHEART.UI.Chat.healingRoll.title', {
healing: game.i18n.localize(CONFIG.DH.GENERAL.healingTypes[this.healing.type].label)
}),
roll: { formula },

View file

@ -8,7 +8,7 @@ const resourceField = () =>
});
export default class DhpAdversary extends BaseDataActor {
static LOCALIZATION_PREFIXES = ['DAGGERHEART.Sheets.Adversary'];
static LOCALIZATION_PREFIXES = ['DAGGERHEART.ACTORS.Adversary'];
static get metadata() {
return foundry.utils.mergeObject(super.metadata, {

View file

@ -251,11 +251,11 @@ export default class DhCharacter extends BaseDataActor {
values: subclassFeatures
},
companionFeatures: {
title: game.i18n.localize('DAGGERHEART.Sheets.PC.CompanionFeatures'),
title: game.i18n.localize('DAGGERHEART.ACTORS.Character.companionFeatures'),
type: 'companion',
values: companionFeatures
},
features: { title: game.i18n.localize('DAGGERHEART.Sheets.PC.Features'), type: 'feature', values: features }
features: { title: game.i18n.localize('DAGGERHEART.GENERAL.features'), type: 'feature', values: features }
};
}

View file

@ -5,7 +5,7 @@ import ActionField from '../fields/actionField.mjs';
import { adjustDice, adjustRange } from '../../helpers/utils.mjs';
export default class DhCompanion extends BaseDataActor {
static LOCALIZATION_PREFIXES = ['DAGGERHEART.Sheets.Companion'];
static LOCALIZATION_PREFIXES = ['DAGGERHEART.ACTORS.Companion'];
static get metadata() {
return foundry.utils.mergeObject(super.metadata, {

View file

@ -1,9 +1,8 @@
import BaseDataActor from './base.mjs';
import ActionField from '../fields/actionField.mjs';
import ForeignDocumentUUIDArrayField from '../fields/foreignDocumentUUIDArrayField.mjs';
export default class DhEnvironment extends BaseDataActor {
static LOCALIZATION_PREFIXES = ['DAGGERHEART.Sheets.Environment'];
static LOCALIZATION_PREFIXES = ['DAGGERHEART.ACTORS.Environment'];
static get metadata() {
return foundry.utils.mergeObject(super.metadata, {

View file

@ -14,7 +14,7 @@ export default class DhCountdowns extends foundry.abstract.DataModel {
}
class DhCountdownData extends foundry.abstract.DataModel {
static LOCALIZATION_PREFIXES = ['DAGGERHEART.Countdown']; // Nots ure why this won't work. Setting labels manually for now
static LOCALIZATION_PREFIXES = ['DAGGERHEART.APPLICATIONS.Countdown']; // Nots ure why this won't work. Setting labels manually for now
static defineSchema() {
const fields = foundry.data.fields;
@ -62,7 +62,7 @@ class DhCountdown extends foundry.abstract.DataModel {
return {
name: new fields.StringField({
required: true,
label: 'DAGGERHEART.Countdown.FIELDS.countdowns.element.name.label'
label: 'DAGGERHEART.APPLICATIONS.Countdown.FIELDS.countdowns.element.name.label'
}),
img: new fields.FilePathField({
categories: ['IMAGE'],
@ -90,23 +90,23 @@ class DhCountdown extends foundry.abstract.DataModel {
required: true,
integer: true,
initial: 1,
label: 'DAGGERHEART.Countdown.FIELDS.countdowns.element.progress.current.label'
label: 'DAGGERHEART.APPLICATIONS.Countdown.FIELDS.countdowns.element.progress.current.label'
}),
max: new fields.NumberField({
required: true,
integer: true,
initial: 1,
label: 'DAGGERHEART.Countdown.FIELDS.countdowns.element.progress.max.label'
label: 'DAGGERHEART.APPLICATIONS.Countdown.FIELDS.countdowns.element.progress.max.label'
}),
type: new fields.SchemaField({
value: new fields.StringField({
required: true,
choices: CONFIG.DH.GENERAL.countdownTypes,
initial: CONFIG.DH.GENERAL.countdownTypes.spotlight.id,
label: 'DAGGERHEART.Countdown.FIELDS.countdowns.element.progress.type.value.label'
label: 'DAGGERHEART.APPLICATIONS.Countdown.FIELDS.countdowns.element.progress.type.value.label'
}),
label: new fields.StringField({
label: 'DAGGERHEART.Countdown.FIELDS.countdowns.element.progress.type.label.label'
label: 'DAGGERHEART.APPLICATIONS.Countdown.FIELDS.countdowns.element.progress.type.label.label'
})
})
})

View file

@ -43,12 +43,12 @@ export default class DHBeastform extends BaseDataItem {
if (!this.actor) return;
if (this.actor.type !== 'character') {
ui.notifications.error(game.i18n.localize('DAGGERHEART.UI.notifications.beastformInapplicable'));
ui.notifications.error(game.i18n.localize('DAGGERHEART.UI.Notifications.beastformInapplicable'));
return false;
}
if (this.actor.items.find(x => x.type === 'beastform')) {
ui.notifications.error(game.i18n.localize('DAGGERHEART.UI.notifications.beastformAlreadyApplied'));
ui.notifications.error(game.i18n.localize('DAGGERHEART.UI.Notifications.beastformAlreadyApplied'));
return false;
}
@ -64,7 +64,7 @@ export default class DHBeastform extends BaseDataItem {
await this.parent.parent.createEmbeddedDocuments('ActiveEffect', [
{
type: 'beastform',
name: game.i18n.localize('DAGGERHEART.Sheets.Beastform.beastformEffect'),
name: game.i18n.localize('DAGGERHEART.ITEMS.Beastform.beastformEffect'),
img: 'icons/creatures/abilities/paw-print-pair-purple.webp',
system: {
isBeastform: true,

View file

@ -24,9 +24,9 @@ export default class DHClass extends BaseDataItem {
integer: true,
min: 1,
initial: 5,
label: 'DAGGERHEART.Sheets.Class.HitPoints'
label: 'DAGGERHEART.GENERAL.hitPoints'
}),
evasion: new fields.NumberField({ initial: 0, integer: true, label: 'DAGGERHEART.Sheets.Class.Evasion' }),
evasion: new fields.NumberField({ initial: 0, integer: true, label: 'DAGGERHEART.GENERAL.evasion' }),
hopeFeatures: new ForeignDocumentUUIDArrayField({ type: 'Item' }),
classFeatures: new ForeignDocumentUUIDArrayField({ type: 'Item' }),
subclasses: new ForeignDocumentUUIDArrayField({ type: 'Item', required: false }),
@ -67,7 +67,7 @@ export default class DHClass extends BaseDataItem {
if (this.actor?.type === 'character') {
const path = data.system.isMulticlass ? 'system.multiclass.value' : 'system.class.value';
if (foundry.utils.getProperty(this.actor, path)) {
ui.notifications.error(game.i18n.localize('DAGGERHEART.Item.Errors.ClassAlreadySelected'));
ui.notifications.error(game.i18n.localize('DAGGERHEART.UI.Notifications.classAlreadySelected'));
return false;
}
}

View file

@ -40,17 +40,17 @@ export default class DHDomainCard extends BaseDataItem {
if (this.actor?.type === 'character') {
if (!this.actor.system.class.value) {
ui.notifications.error(game.i18n.localize('DAGGERHEART.Item.Errors.NoClassSelected'));
ui.notifications.error(game.i18n.localize('DAGGERHEART.UI.Notifications.noClassSelected'));
return false;
}
if (!this.actor.system.domains.find(x => x === this.domain)) {
ui.notifications.error(game.i18n.localize('DAGGERHEART.Item.Errors.LacksDomain'));
ui.notifications.error(game.i18n.localize('DAGGERHEART.UI.Notifications.lacksDomain'));
return false;
}
if (this.actor.system.domainCards.total.find(x => x.name === this.parent.name)) {
ui.notifications.error(game.i18n.localize('DAGGERHEART.Item.Errors.DuplicateDomainCard'));
ui.notifications.error(game.i18n.localize('DAGGERHEART.UI.Notifications.duplicateDomainCard'));
return false;
}
}

View file

@ -50,13 +50,13 @@ export default class DHSubclass extends BaseDataItem {
x => x.type === 'subclass' && x.system.isMulticlass === data.system.isMulticlass
);
if (!classData) {
ui.notifications.error(game.i18n.localize('DAGGERHEART.Item.Errors.MissingClass'));
ui.notifications.error(game.i18n.localize('DAGGERHEART.UI.Notifications.missingClass'));
return false;
} else if (subclassData) {
ui.notifications.error(game.i18n.localize('DAGGERHEART.Item.Errors.SubclassAlreadySelected'));
ui.notifications.error(game.i18n.localize('DAGGERHEART.UI.Notifications.subclassAlreadySelected'));
return false;
} else if (classData.system.subclasses.every(x => x.uuid !== (data.uuid ?? `Item.${data._id}`))) {
ui.notifications.error(game.i18n.localize('DAGGERHEART.Item.Errors.SubclassNotInClass'));
ui.notifications.error(game.i18n.localize('DAGGERHEART.UI.Notifications.subclassNotInClass'));
return false;
}
}

View file

@ -68,9 +68,9 @@ export const CompanionLevelOptionType = {
label: 'Creature Comfort',
features: [
{
name: 'DAGGERHEART.LevelUp.Actions.CreatureComfort.Name',
name: 'DAGGERHEART.APPLICATIONS.Levelup.actions.creatureComfort.name',
img: 'icons/magic/life/heart-cross-purple-orange.webp',
description: 'DAGGERHEART.LevelUp.Actions.CreatureComfort.Description'
description: 'DAGGERHEART.APPLICATIONS.Levelup.actions.creatureComfort.description'
}
]
},
@ -79,9 +79,9 @@ export const CompanionLevelOptionType = {
label: 'Armored',
features: [
{
name: 'DAGGERHEART.LevelUp.Actions.Armored.Name',
name: 'DAGGERHEART.APPLICATIONS.Levelup.actions.armored.name',
img: 'icons/equipment/shield/kite-wooden-oak-glow.webp',
description: 'DAGGERHEART.LevelUp.Actions.Armored.Description'
description: 'DAGGERHEART.APPLICATIONS.Levelup.actions.armored.description'
}
]
},
@ -98,9 +98,9 @@ export const CompanionLevelOptionType = {
label: 'Bonded',
features: [
{
name: 'DAGGERHEART.LevelUp.Actions.Bonded.Name',
name: 'DAGGERHEART.APPLICATIONS.Levelup.actions.bonded.name',
img: 'icons/magic/life/heart-red-blue.webp',
description: 'DAGGERHEART.LevelUp.Actions.Bonded.Description'
description: 'DAGGERHEART.APPLICATIONS.Levelup.actions.bonded.description'
}
]
},
@ -182,14 +182,14 @@ export const defaultLevelTiers = {
domainCardByLevel: 1,
options: {
trait: {
label: 'DAGGERHEART.LevelUp.Options.trait',
label: 'DAGGERHEART.APPLICATIONS.Levelup.options.trait',
checkboxSelections: 3,
minCost: 1,
type: LevelOptionType.trait.id,
amount: 2
},
hitPoint: {
label: 'DAGGERHEART.LevelUp.Options.hitPoint',
label: 'DAGGERHEART.APPLICATIONS.Levelup.options.hitPoint',
checkboxSelections: 2,
minCost: 1,
type: LevelOptionType.hitPoint.id,
@ -197,14 +197,14 @@ export const defaultLevelTiers = {
value: 1
},
stress: {
label: 'DAGGERHEART.LevelUp.Options.stress',
label: 'DAGGERHEART.APPLICATIONS.Levelup.options.stress',
checkboxSelections: 2,
minCost: 1,
type: LevelOptionType.stress.id,
value: 1
},
experience: {
label: 'DAGGERHEART.LevelUp.Options.experience',
label: 'DAGGERHEART.APPLICATIONS.Levelup.options.experience',
checkboxSelections: 1,
minCost: 1,
type: LevelOptionType.experience.id,
@ -212,14 +212,14 @@ export const defaultLevelTiers = {
amount: 2
},
domainCard: {
label: 'DAGGERHEART.LevelUp.Options.domainCard',
label: 'DAGGERHEART.APPLICATIONS.Levelup.options.domainCard',
checkboxSelections: 1,
minCost: 1,
type: LevelOptionType.domainCard.id,
amount: 1
},
evasion: {
label: 'DAGGERHEART.LevelUp.Options.evasion',
label: 'DAGGERHEART.APPLICATIONS.Levelup.options.evasion',
checkboxSelections: 1,
minCost: 1,
type: LevelOptionType.evasion.id,
@ -245,28 +245,28 @@ export const defaultLevelTiers = {
domainCardByLevel: 1,
options: {
trait: {
label: 'DAGGERHEART.LevelUp.Options.trait',
label: 'DAGGERHEART.APPLICATIONS.Levelup.options.trait',
checkboxSelections: 3,
minCost: 1,
type: LevelOptionType.trait.id,
amount: 2
},
hitPoint: {
label: 'DAGGERHEART.LevelUp.Options.hitPoint',
label: 'DAGGERHEART.APPLICATIONS.Levelup.options.hitPoint',
checkboxSelections: 2,
minCost: 1,
type: LevelOptionType.hitPoint.id,
value: 1
},
stress: {
label: 'DAGGERHEART.LevelUp.Options.stress',
label: 'DAGGERHEART.APPLICATIONS.Levelup.options.stress',
checkboxSelections: 2,
minCost: 1,
type: LevelOptionType.stress.id,
value: 1
},
experience: {
label: 'DAGGERHEART.LevelUp.Options.experience',
label: 'DAGGERHEART.APPLICATIONS.Levelup.options.experience',
checkboxSelections: 1,
minCost: 1,
type: LevelOptionType.experience.id,
@ -274,34 +274,34 @@ export const defaultLevelTiers = {
amount: 2
},
domainCard: {
label: 'DAGGERHEART.LevelUp.Options.domainCard',
label: 'DAGGERHEART.APPLICATIONS.Levelup.options.domainCard',
checkboxSelections: 1,
minCost: 1,
type: LevelOptionType.domainCard.id,
amount: 1
},
evasion: {
label: 'DAGGERHEART.LevelUp.Options.evasion',
label: 'DAGGERHEART.APPLICATIONS.Levelup.options.evasion',
checkboxSelections: 1,
minCost: 1,
type: LevelOptionType.evasion.id,
value: 1
},
subclass: {
label: 'DAGGERHEART.LevelUp.Options.subclass',
label: 'DAGGERHEART.APPLICATIONS.Levelup.options.subclass',
checkboxSelections: 1,
minCost: 1,
type: LevelOptionType.subclass.id
},
proficiency: {
label: 'DAGGERHEART.LevelUp.Options.proficiency',
label: 'DAGGERHEART.APPLICATIONS.Levelup.options.proficiency',
checkboxSelections: 2,
minCost: 2,
type: LevelOptionType.proficiency.id,
value: 1
},
multiclass: {
label: 'DAGGERHEART.LevelUp.Options.multiclass',
label: 'DAGGERHEART.APPLICATIONS.Levelup.options.multiclass',
checkboxSelections: 2,
minCost: 2,
type: LevelOptionType.multiclass.id
@ -326,28 +326,28 @@ export const defaultLevelTiers = {
domainCardByLevel: 1,
options: {
trait: {
label: 'DAGGERHEART.LevelUp.Options.trait',
label: 'DAGGERHEART.APPLICATIONS.Levelup.options.trait',
checkboxSelections: 3,
minCost: 1,
type: LevelOptionType.trait.id,
amount: 2
},
hitPoint: {
label: 'DAGGERHEART.LevelUp.Options.hitPoint',
label: 'DAGGERHEART.APPLICATIONS.Levelup.options.hitPoint',
checkboxSelections: 2,
minCost: 1,
type: LevelOptionType.hitPoint.id,
value: 1
},
stress: {
label: 'DAGGERHEART.LevelUp.Options.stress',
label: 'DAGGERHEART.APPLICATIONS.Levelup.options.stress',
checkboxSelections: 2,
minCost: 1,
type: LevelOptionType.stress.id,
value: 1
},
experience: {
label: 'DAGGERHEART.LevelUp.Options.experience',
label: 'DAGGERHEART.APPLICATIONS.Levelup.options.experience',
checkboxSelections: 1,
minCost: 1,
type: LevelOptionType.experience.id,
@ -355,34 +355,34 @@ export const defaultLevelTiers = {
amount: 2
},
domainCard: {
label: 'DAGGERHEART.LevelUp.Options.domainCard',
label: 'DAGGERHEART.APPLICATIONS.Levelup.options.domainCard',
checkboxSelections: 1,
minCost: 1,
type: LevelOptionType.domainCard.id,
amount: 1
},
evasion: {
label: 'DAGGERHEART.LevelUp.Options.evasion',
label: 'DAGGERHEART.APPLICATIONS.Levelup.options.evasion',
checkboxSelections: 1,
minCost: 1,
type: LevelOptionType.evasion.id,
value: 1
},
subclass: {
label: 'DAGGERHEART.LevelUp.Options.subclass',
label: 'DAGGERHEART.APPLICATIONS.Levelup.options.subclass',
checkboxSelections: 1,
minCost: 1,
type: LevelOptionType.subclass.id
},
proficiency: {
label: 'DAGGERHEART.LevelUp.Options.proficiency',
label: 'DAGGERHEART.APPLICATIONS.Levelup.options.proficiency',
checkboxSelections: 2,
minCost: 2,
type: LevelOptionType.proficiency.id,
value: 1
},
multiclass: {
label: 'DAGGERHEART.LevelUp.Options.multiclass',
label: 'DAGGERHEART.APPLICATIONS.Levelup.options.multiclass',
checkboxSelections: 2,
minCost: 2,
type: LevelOptionType.multiclass.id
@ -406,7 +406,7 @@ export const defaultCompanionTier = {
domainCardByLevel: 0,
options: {
experience: {
label: 'DAGGERHEART.LevelUp.Options.intelligent',
label: 'DAGGERHEART.APPLICATIONS.Levelup.options.intelligent',
checkboxSelections: 3,
minCost: 1,
type: LevelOptionType.experience.id,
@ -414,28 +414,28 @@ export const defaultCompanionTier = {
amount: 1
},
hope: {
label: 'DAGGERHEART.LevelUp.Options.lightInTheDark',
label: 'DAGGERHEART.APPLICATIONS.Levelup.options.lightInTheDark',
checkboxSelections: 1,
minCost: 1,
type: CompanionLevelOptionType.hope.id,
value: 1
},
creatureComfort: {
label: 'DAGGERHEART.LevelUp.Options.creatureComfort',
label: 'DAGGERHEART.APPLICATIONS.Levelup.options.creatureComfort',
checkboxSelections: 1,
minCost: 1,
type: CompanionLevelOptionType.creatureComfort.id,
value: 1
},
armored: {
label: 'DAGGERHEART.LevelUp.Options.armored',
label: 'DAGGERHEART.APPLICATIONS.Levelup.options.armored',
checkboxSelections: 1,
minCost: 1,
type: CompanionLevelOptionType.armored.id,
value: 1
},
vicious: {
label: 'DAGGERHEART.LevelUp.Options.vicious',
label: 'DAGGERHEART.APPLICATIONS.Levelup.options.vicious',
checkboxSelections: 3,
minCost: 1,
type: CompanionLevelOptionType.vicious.id,
@ -443,21 +443,21 @@ export const defaultCompanionTier = {
amount: 1
},
stress: {
label: 'DAGGERHEART.LevelUp.Options.resilient',
label: 'DAGGERHEART.APPLICATIONS.Levelup.options.resilient',
checkboxSelections: 3,
minCost: 1,
type: LevelOptionType.stress.id,
value: 1
},
bonded: {
label: 'DAGGERHEART.LevelUp.Options.bonded',
label: 'DAGGERHEART.APPLICATIONS.Levelup.options.bonded',
checkboxSelections: 1,
minCost: 1,
type: CompanionLevelOptionType.bonded.id,
value: 1
},
evasion: {
label: 'DAGGERHEART.LevelUp.Options.aware',
label: 'DAGGERHEART.APPLICATIONS.Levelup.options.aware',
checkboxSelections: 3,
minCost: 1,
type: LevelOptionType.evasion.id,

View file

@ -8,7 +8,7 @@ export default class DhAppearance extends foundry.abstract.DataModel {
required: true,
choices: fearDisplay,
initial: fearDisplay.token.value,
label: 'DAGGERHEART.Settings.Appearance.FIELDS.displayFear.label'
label: 'DAGGERHEART.SETTINGS.Appearance.FIELDS.displayFear.label'
}),
dualityColorScheme: new fields.StringField({
required: true,
@ -48,10 +48,10 @@ export default class DhAppearance extends foundry.abstract.DataModel {
export const DualityRollColor = {
colorful: {
value: 'colorful',
label: 'DAGGERHEART.Settings.DualityRollColor.Options.Colorful'
label: 'DAGGERHEART.SETTINGS.DualityRollColor.options.colorful'
},
normal: {
value: 'normal',
label: 'DAGGERHEART.Settings.DualityRollColor.Options.Normal'
label: 'DAGGERHEART.SETTINGS.DualityRollColor.options.normal'
}
};

View file

@ -1,5 +1,5 @@
export default class DhAutomation extends foundry.abstract.DataModel {
static LOCALIZATION_PREFIXES = ['DAGGERHEART.Settings.Automation']; // Doesn't work for some reason
static LOCALIZATION_PREFIXES = ['DAGGERHEART.SETTINGS.Automation']; // Doesn't work for some reason
static defineSchema() {
const fields = foundry.data.fields;

View file

@ -1,7 +1,7 @@
import { defaultRestOptions } from '../../config/generalConfig.mjs';
export default class DhHomebrew extends foundry.abstract.DataModel {
static LOCALIZATION_PREFIXES = ['DAGGERHEART.Settings.Homebrew']; // Doesn't work for some reason
static LOCALIZATION_PREFIXES = ['DAGGERHEART.SETTINGS.Homebrew']; // Doesn't work for some reason
static defineSchema() {
const fields = foundry.data.fields;
@ -11,7 +11,7 @@ export default class DhHomebrew extends foundry.abstract.DataModel {
integer: true,
min: 0,
initial: 12,
label: 'DAGGERHEART.Settings.Homebrew.FIELDS.maxFear.label'
label: 'DAGGERHEART.SETTINGS.Homebrew.FIELDS.maxFear.label'
}),
traitArray: new fields.ArrayField(new fields.NumberField({ required: true, integer: true }), {
initial: () => [2, 1, 1, 0, 0, -1]
@ -20,32 +20,32 @@ export default class DhHomebrew extends foundry.abstract.DataModel {
enabled: new fields.BooleanField({
required: true,
initial: false,
label: 'DAGGERHEART.Settings.Homebrew.Currency.enabled'
label: 'DAGGERHEART.SETTINGS.Homebrew.currency.enabled'
}),
title: new fields.StringField({
required: true,
initial: 'Gold',
label: 'DAGGERHEART.Settings.Homebrew.Currency.currencyName'
label: 'DAGGERHEART.SETTINGS.Homebrew.currency.currencyName'
}),
coins: new fields.StringField({
required: true,
initial: 'Coins',
label: 'DAGGERHEART.Settings.Homebrew.Currency.coinName'
label: 'DAGGERHEART.SETTINGS.Homebrew.currency.coinName'
}),
handfulls: new fields.StringField({
required: true,
initial: 'Handfulls',
label: 'DAGGERHEART.Settings.Homebrew.Currency.handfullName'
label: 'DAGGERHEART.SETTINGS.Homebrew.currency.handfullName'
}),
bags: new fields.StringField({
required: true,
initial: 'Bags',
label: 'DAGGERHEART.Settings.Homebrew.Currency.bagName'
label: 'DAGGERHEART.SETTINGS.Homebrew.currency.bagName'
}),
chests: new fields.StringField({
required: true,
initial: 'Chests',
label: 'DAGGERHEART.Settings.Homebrew.Currency.chestName'
label: 'DAGGERHEART.SETTINGS.Homebrew.currency.chestName'
})
}),
restMoves: new fields.SchemaField({

View file

@ -2,16 +2,24 @@ export default class DhRangeMeasurement extends foundry.abstract.DataModel {
static defineSchema() {
const fields = foundry.data.fields;
return {
enabled: new fields.BooleanField({ required: true, initial: false, label: 'DAGGERHEART.General.Enabled' }),
melee: new fields.NumberField({ required: true, initial: 5, label: 'DAGGERHEART.Range.melee.name' }),
enabled: new fields.BooleanField({ required: true, initial: false, label: 'DAGGERHEART.GENERAL.enabled' }),
melee: new fields.NumberField({ required: true, initial: 5, label: 'DAGGERHEART.CONFIG.Range.melee.name' }),
veryClose: new fields.NumberField({
required: true,
initial: 15,
label: 'DAGGERHEART.Range.veryClose.name'
label: 'DAGGERHEART.CONFIG.Range.veryClose.name'
}),
close: new fields.NumberField({ required: true, initial: 30, label: 'DAGGERHEART.Range.close.name' }),
far: new fields.NumberField({ required: true, initial: 60, label: 'DAGGERHEART.Range.far.name' }),
veryFar: new fields.NumberField({ required: true, initial: 120, label: 'DAGGERHEART.Range.veryFar.name' })
close: new fields.NumberField({
required: true,
initial: 30,
label: 'DAGGERHEART.CONFIG.Range.close.name'
}),
far: new fields.NumberField({ required: true, initial: 60, label: 'DAGGERHEART.CONFIG.Range.far.name' }),
veryFar: new fields.NumberField({
required: true,
initial: 120,
label: 'DAGGERHEART.CONFIG.Range.veryFar.name'
})
};
}
}

View file

@ -1,5 +1,5 @@
export default class DhVariantRules extends foundry.abstract.DataModel {
static LOCALIZATION_PREFIXES = ['DAGGERHEART.Settings.VariantRules'];
static LOCALIZATION_PREFIXES = ['DAGGERHEART.SETTINGS.VariantRules'];
static defineSchema() {
const fields = foundry.data.fields;
@ -8,18 +8,18 @@ export default class DhVariantRules extends foundry.abstract.DataModel {
enabled: new fields.BooleanField({
required: true,
initial: false,
label: 'DAGGERHEART.Settings.VariantRules.FIELDS.actionTokens.enabled.label'
label: 'DAGGERHEART.SETTINGS.VariantRules.FIELDS.actionTokens.enabled.label'
}),
tokens: new fields.NumberField({
required: true,
integer: true,
initial: 3,
label: 'DAGGERHEART.Settings.VariantRules.FIELDS.actionTokens.tokens.label'
label: 'DAGGERHEART.SETTINGS.VariantRules.FIELDS.actionTokens.tokens.label'
})
}),
useCoins: new fields.BooleanField({
initial: false,
label: 'DAGGERHEART.Settings.VariantRules.FIELDS.useCoins.label'
label: 'DAGGERHEART.SETTINGS.VariantRules.FIELDS.useCoins.label'
})
};
}

View file

@ -71,10 +71,10 @@ export default class DualityRoll extends D20Roll {
get totalLabel() {
const label = this.withHope
? 'DAGGERHEART.General.Hope'
? 'DAGGERHEART.GENERAL.hope'
: this.withFear
? 'DAGGERHEART.General.Fear'
: 'DAGGERHEART.General.CriticalSuccess';
? 'DAGGERHEART.GENERAL.fear'
: 'DAGGERHEART.GENERAL.criticalSuccess';
return game.i18n.localize(label);
}
@ -119,7 +119,7 @@ export default class DualityRoll extends D20Roll {
this.options.roll.modifiers = [];
if (!this.options.roll.trait) return;
this.options.roll.modifiers.push({
label: `DAGGERHEART.Abilities.${this.options.roll.trait}.name`,
label: `DAGGERHEART.CONFIG.Traits.${this.options.roll.trait}.name`,
value: Roll.replaceFormulaData(`@traits.${this.options.roll.trait}.total`, this.data)
});
}

View file

@ -32,7 +32,7 @@ export default class DhActiveEffect extends ActiveEffect {
async toChat(origin) {
const cls = getDocumentClass('ChatMessage');
const systemData = {
title: game.i18n.localize('DAGGERHEART.ActionType.action'),
title: game.i18n.localize('DAGGERHEART.CONFIG.ActionType.action'),
origin: origin,
img: this.img,
name: this.name,

View file

@ -27,14 +27,14 @@ export default class DhpActor extends Actor {
game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.LevelTiers).tiers
).reduce((acc, tier) => Math.max(acc, tier.levels.end), 0);
if (newLevel > maxLevel) {
ui.notifications.warn(game.i18n.localize('DAGGERHEART.Sheets.PC.Errors.tooHighLevel'));
ui.notifications.warn(game.i18n.localize('DAGGERHEART.UI.Notifications.tooHighLevel'));
}
await this.update({ 'system.levelData.level.changed': Math.min(newLevel, maxLevel) });
} else {
const usedLevel = Math.max(newLevel, 1);
if (newLevel < 1) {
ui.notifications.warn(game.i18n.localize('DAGGERHEART.Sheets.PC.Errors.tooLowLevel'));
ui.notifications.warn(game.i18n.localize('DAGGERHEART.UI.Notifications.tooLowLevel'));
}
const updatedLevelups = Object.keys(this.system.levelData.levelups).reduce((acc, level) => {
@ -405,7 +405,7 @@ export default class DhpActor extends Actor {
const cls = getDocumentClass('ChatMessage');
const systemData = {
title: game.i18n.format('DAGGERHEART.Chat.DamageRoll.Title', { damage: title }),
title: game.i18n.format('DAGGERHEART.UI.Chat.damageRoll.title', { damage: title }),
roll: rollString,
damage: {
total: rollResult.total,
@ -465,7 +465,7 @@ export default class DhpActor extends Actor {
const cls = getDocumentClass('ChatMessage');
const msg = new cls({
user: game.user.id,
content: game.i18n.format('DAGGERHEART.DamageReduction.Notifications.DamageIgnore', {
content: game.i18n.format('DAGGERHEART.UI.Notifications.damageIgnore', {
character: this.name
})
});

View file

@ -114,12 +114,12 @@ export default class DHItem extends foundry.documents.Item {
const systemData = {
title:
this.type === 'ancestry'
? game.i18n.localize('DAGGERHEART.Chat.FoundationCard.AncestryTitle')
? game.i18n.localize('DAGGERHEART.UI.Chat.foundationCard.ancestryTitle')
: this.type === 'community'
? game.i18n.localize('DAGGERHEART.Chat.FoundationCard.CommunityTitle')
? game.i18n.localize('DAGGERHEART.UI.Chat.foundationCard.communityTitle')
: this.type === 'feature'
? game.i18n.localize('TYPES.Item.feature')
: game.i18n.localize('DAGGERHEART.Chat.FoundationCard.SubclassFeatureTitle'),
: game.i18n.localize('DAGGERHEART.UI.Chat.foundationCard.subclassFeatureTitle'),
origin: origin,
img: this.img,
name: this.name,

View file

@ -11,15 +11,15 @@ export default function DhDualityRollEnricher(match, _options) {
export function getDualityMessage(roll) {
const traitLabel =
roll.trait && abilities[roll.trait]
? game.i18n.format('DAGGERHEART.General.Check', {
? game.i18n.format('DAGGERHEART.GENERAL.check', {
check: game.i18n.localize(abilities[roll.trait].label)
})
: null;
const label = traitLabel ?? game.i18n.localize('DAGGERHEART.General.Duality');
const label = traitLabel ?? game.i18n.localize('DAGGERHEART.GENERAL.duality');
const dataLabel = traitLabel
? game.i18n.localize(abilities[roll.trait].label)
: game.i18n.localize('DAGGERHEART.General.Duality');
: game.i18n.localize('DAGGERHEART.GENERAL.duality');
const dualityElement = document.createElement('span');
dualityElement.innerHTML = `

View file

@ -31,7 +31,7 @@ export default function DhTemplateEnricher(match, _options) {
const templateElement = document.createElement('span');
templateElement.innerHTML = `
<button class="measured-template-button" data-type="${type}" data-range="${range}">
${game.i18n.localize(`TEMPLATE.TYPES.${type}`)} - ${game.i18n.localize(`DAGGERHEART.Range.${range}.name`)}
${game.i18n.localize(`TEMPLATE.TYPES.${type}`)} - ${game.i18n.localize(`DAGGERHEART.CONFIG.Range.${range}.name`)}
</button>
`;

View file

@ -106,16 +106,16 @@ export const getCommandTarget = () => {
if (!game.user.isGM) {
target = game.user.character;
if (!target) {
ui.notifications.error(game.i18n.localize('DAGGERHEART.Notification.Error.NoAssignedPlayerCharacter'));
ui.notifications.error(game.i18n.localize('DAGGERHEART.UI.Notifications.noAssignedPlayerCharacter'));
return null;
}
}
if (!target) {
ui.notifications.error(game.i18n.localize('DAGGERHEART.Notification.Error.NoSelectedToken'));
ui.notifications.error(game.i18n.localize('DAGGERHEART.UI.Notifications.noSelectedToken'));
return null;
}
if (target.type !== 'character') {
ui.notifications.error(game.i18n.localize('DAGGERHEART.Notification.Error.OnlyUseableByPC'));
ui.notifications.error(game.i18n.localize('DAGGERHEART.UI.Notifications.onlyUseableByPC'));
return null;
}
@ -236,13 +236,13 @@ Roll.replaceFormulaData = function (formula, data = {}, { missing, warn = false
export const getDamageLabel = damage => {
switch (damage) {
case 3:
return game.i18n.localize('DAGGERHEART.General.Damage.Severe');
return game.i18n.localize('DAGGERHEART.GENERAL.Damage.severe');
case 2:
return game.i18n.localize('DAGGERHEART.General.Damage.Major');
return game.i18n.localize('DAGGERHEART.GENERAL.Damage.major');
case 1:
return game.i18n.localize('DAGGERHEART.General.Damage.Minor');
return game.i18n.localize('DAGGERHEART.GENERAL.Damage.minor');
case 0:
return game.i18n.localize('DAGGERHEART.General.Damage.None');
return game.i18n.localize('DAGGERHEART.GENERAL.Damage.none');
}
};

View file

@ -68,43 +68,43 @@ const registerMenuSettings = () => {
const registerMenus = () => {
game.settings.registerMenu(CONFIG.DH.id, CONFIG.DH.SETTINGS.menu.Automation.Name, {
name: game.i18n.localize('DAGGERHEART.Settings.Menu.Automation.Name'),
label: game.i18n.localize('DAGGERHEART.Settings.Menu.Automation.Label'),
hint: game.i18n.localize('DAGGERHEART.Settings.Menu.Automation.Hint'),
name: game.i18n.localize('DAGGERHEART.SETTINGS.Menu.automation.name'),
label: game.i18n.localize('DAGGERHEART.SETTINGS.Menu.automation.label'),
hint: game.i18n.localize('DAGGERHEART.SETTINGS.Menu.automation.hint'),
icon: CONFIG.DH.SETTINGS.menu.Automation.Icon,
type: DhAutomationSettings,
restricted: true
});
game.settings.registerMenu(CONFIG.DH.id, CONFIG.DH.SETTINGS.menu.Homebrew.Name, {
name: game.i18n.localize('DAGGERHEART.Settings.Menu.Homebrew.Name'),
label: game.i18n.localize('DAGGERHEART.Settings.Menu.Homebrew.Label'),
hint: game.i18n.localize('DAGGERHEART.Settings.Menu.Homebrew.Hint'),
name: game.i18n.localize('DAGGERHEART.SETTINGS.Menu.homebrew.name'),
label: game.i18n.localize('DAGGERHEART.SETTINGS.Menu.homebrew.label'),
hint: game.i18n.localize('DAGGERHEART.SETTINGS.Menu.homebrew.hint'),
icon: CONFIG.DH.SETTINGS.menu.Homebrew.Icon,
type: DhHomebrewSettings,
restricted: true
});
game.settings.registerMenu(CONFIG.DH.id, CONFIG.DH.SETTINGS.menu.Range.Name, {
name: game.i18n.localize('DAGGERHEART.Settings.Menu.Range.Name'),
label: game.i18n.localize('DAGGERHEART.Settings.Menu.Range.Label'),
hint: game.i18n.localize('DAGGERHEART.Settings.Menu.Range.Hint'),
name: game.i18n.localize('DAGGERHEART.SETTINGS.Menu.range.name'),
label: game.i18n.localize('DAGGERHEART.SETTINGS.Menu.range.label'),
hint: game.i18n.localize('DAGGERHEART.SETTINGS.Menu.range.hint'),
icon: CONFIG.DH.SETTINGS.menu.Range.Icon,
type: DhRangeMeasurementSettings,
restricted: true
});
game.settings.registerMenu(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.appearance, {
name: game.i18n.localize('DAGGERHEART.Settings.Menu.Appearance.title'),
label: game.i18n.localize('DAGGERHEART.Settings.Menu.Appearance.label'),
hint: game.i18n.localize('DAGGERHEART.Settings.Menu.Appearance.hint'),
name: game.i18n.localize('DAGGERHEART.SETTINGS.Menu.appearance.title'),
label: game.i18n.localize('DAGGERHEART.SETTINGS.Menu.appearance.label'),
hint: game.i18n.localize('DAGGERHEART.SETTINGS.Menu.appearance.hint'),
icon: 'fa-solid fa-palette',
type: DhAppearanceSettings,
restricted: false
});
game.settings.registerMenu(CONFIG.DH.id, CONFIG.DH.SETTINGS.menu.VariantRules.Name, {
name: game.i18n.localize('DAGGERHEART.Settings.Menu.VariantRules.title'),
label: game.i18n.localize('DAGGERHEART.Settings.Menu.VariantRules.label'),
hint: game.i18n.localize('DAGGERHEART.Settings.Menu.VariantRules.hint'),
name: game.i18n.localize('DAGGERHEART.SETTINGS.Menu.variantRules.title'),
label: game.i18n.localize('DAGGERHEART.SETTINGS.Menu.variantRules.label'),
hint: game.i18n.localize('DAGGERHEART.SETTINGS.Menu.variantRules.hint'),
icon: CONFIG.DH.SETTINGS.menu.VariantRules.Icon,
type: DhVariantRuleSettings,
restricted: false
@ -120,8 +120,8 @@ const registerNonConfigSettings = () => {
});
game.settings.register(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.Resources.Fear, {
name: game.i18n.localize('DAGGERHEART.Settings.Resources.Fear.Name'),
hint: game.i18n.localize('DAGGERHEART.Settings.Resources.Fear.Hint'),
name: game.i18n.localize('DAGGERHEART.SETTINGS.Resources.fear.name'),
hint: game.i18n.localize('DAGGERHEART.SETTINGS.Resources.fear.hint'),
scope: 'world',
config: false,
type: Number,