diff --git a/daggerheart.mjs b/daggerheart.mjs index 82c56dff..c881801f 100644 --- a/daggerheart.mjs +++ b/daggerheart.mjs @@ -190,7 +190,7 @@ Hooks.on('chatMessage', (_, message) => { if (message.startsWith('/dr')) { const rollCommand = rollCommandToJSON(message.replace(/\/dr\s?/, '')); if (!rollCommand) { - ui.notifications.error(game.i18n.localize('DAGGERHEART.Notification.Error.DualityParsing')); + ui.notifications.error(game.i18n.localize('DAGGERHEART.UI.Notifications.dualityParsing')); return false; } @@ -203,16 +203,16 @@ Hooks.on('chatMessage', (_, message) => { new Promise(async (resolve, reject) => { const trait = target ? target.system.traits[traitValue] : undefined; if (traitValue && !trait) { - ui.notifications.error(game.i18n.localize('DAGGERHEART.Notification.Error.AttributeFaulty')); + ui.notifications.error(game.i18n.localize('DAGGERHEART.UI.Notifications.attributeFaulty')); reject(); return; } const title = traitValue - ? game.i18n.format('DAGGERHEART.Chat.DualityRoll.AbilityCheckTitle', { + ? game.i18n.format('DAGGERHEART.UI.Chat.dualityRoll.abilitychecktitle', { ability: game.i18n.localize(SYSTEM.ACTOR.abilities[traitValue].label) }) - : game.i18n.localize('DAGGERHEART.General.Duality'); + : game.i18n.localize('DAGGERHEART.GENERAL.duality'); const config = { title: title, @@ -247,8 +247,8 @@ Hooks.on('renderJournalDirectory', async (tab, html, _, options) => { if (options.parts && !options.parts.includes('footer')) return; const buttons = tab.element.querySelector('.directory-footer.action-buttons'); - const title = game.i18n.format('DAGGERHEART.Countdown.Title', { - type: game.i18n.localize('DAGGERHEART.Countdown.Types.narrative') + const title = game.i18n.format('DAGGERHEART.APPLICATIONS.Countdown.title', { + type: game.i18n.localize('DAGGERHEART.APPLICATIONS.Countdown.types.narrative') }); buttons.insertAdjacentHTML( 'afterbegin', diff --git a/lang/en.json b/lang/en.json index 6052dfba..a6fa661c 100755 --- a/lang/en.json +++ b/lang/en.json @@ -21,322 +21,385 @@ } }, "DAGGERHEART": { - "UI": { - "notifications": { - "adversaryMissing": "The linked adversary doesn't exist in the world.", - "beastformInapplicable": "A beastform can only be applied to a Character.", - "beastformAlreadyApplied": "The character already has a beastform applied!", - "featureIsMissing": "The feature doesn't exist. You should remove it.", - "featureIsFull": "You can only have 1 entry of this feature" - } - }, - "Settings": { - "Menu": { - "Automation": { - "Name": "Automation Settings", - "Label": "Configure Automation", - "Hint": "Various settings automating resource management and more" - }, - "Homebrew": { - "Name": "Homebrew Settings", - "Label": "Configure Homebrew", - "Hint": "Various settings allowing extensions to types or altered game rules", - "AbilityArrayLabel": "Ability Array" - }, - "Range": { - "Name": "Range Settings", - "Label": "Configure Range Handling", - "Hint": "System ruler setup for displaying ranges in Daggerheart" - }, - "Appearance": { - "title": "Appearance Settings", - "label": "Appearance Settings", - "hint": "Modify the look of various parts of the system", - "name": "Appearance Settings", - "duality": "Duality Rolls", - "DiceSoNice": { - "title": "Dice So Nice", - "hint": "Coloration of Hope and Fear dice if the Dice So Nice module is used.", - "foreground": "Foreground", - "background": "Background", - "outline": "Outline", - "edge": "Edge" - } - }, - "VariantRules": { - "title": "Variant Rules", - "label": "Variant Rules", - "hint": "Apply variant rules from the Daggerheart system", - "name": "Variant Rules", - "actionTokens": "Action Tokens" + "ACTIONS": { + "Config": { + "beastform": { + "exact": "Beastform Max Tier", + "exactHint": "The Character's Tier is used if empty", + "label": "Beastform" } }, - "Appearance": { - "FIELDS": { - "displayFear": { "label": "Fear Display" } - }, - "FearDisplay": { - "Token": "Tokens", - "Bar": "Bar", - "Hide": "Hide" + "Settings": { + "resultBased": { + "label": "Formula based on Hope/Fear result." } }, - "Automation": { - "Fear": { - "Name": "Fear", - "Hint": "Automatically increase the GM's fear pool on a fear duality roll result." + "TYPES": { + "attack": { + "name": "Attack" }, - "FIELDS": { - "hope": { - "label": "Hope", - "hint": "Automatically increase a character's hope on a hope duality roll result." - }, - "actionPoints": { - "label": "Action Points", - "hint": "Automatically give and take Action Points as combatants take their turns." - }, - "countdowns": { - "label": "Countdowns", - "hint": "Automatically progress non-custom countdowns" - } - } - }, - "Homebrew": { - "NewDowntimeMove": "Downtime Move", - "DowntimeMoves": "Downtime Moves", - "NrChoices": "# Moves Per Rest", - "ResetMovesTitle": "Reset {type} Downtime Moves", - "ResetMovesText": "Are you sure you want to reset?", - "FIELDS": { - "maxFear": { "label": "Max Fear" }, - "traitArray": { "label": "Initial Trait Modifiers" } + "beastform": { + "name": "Beastform" }, - "Currency": { - "enabled": "Enable Overrides", - "title": "Currency Overrides", - "currencyName": "Currency Name", - "coinName": "Coin Name", - "handfullName": "Handfull Name", - "bagName": "Bag Name", - "chestName": "Chest Name" - } - }, - "Resources": { - "Fear": { - "Name": "Fear", - "Hint": "The Fear pool of the GM." + "damage": { + "name": "Damage" }, - "MaxFear": { - "Name": "Maximum amount of Fear", - "Hint": "The maximum amount of Fear the GM can get." + "effect": { + "name": "Effect" }, - "DisplayFear": { - "Name": "Fear display style", - "Hint": "Change how the GM Fear count should be displayed." - } - }, - "General": { - "AbilityArray": { - "Name": "Ability Score Array", - "Hint": "The starting distribution of Ability Scores for a character." + "healing": { + "name": "Healing" }, - "RangeMeasurement": { - "Name": "Enable Range Measurement", - "Hint": "Enable measuring of ranges with the ruler according to set distances." - } - }, - "VariantRules": { - "ActionTokens": { - "label": "Action Tokens", - "hint": "Give each player action tokens to use in combat" + "macro": { + "name": "Macro" }, - "FIELDS": { - "actionTokens": { - "enabled": { "label": "Enabled" }, - "tokens": { "label": "Tokens" } - }, - "useCoins": { - "label": "Use Coins", - "hint": "test" - } - } - }, - "DualityRollColor": { - "Name": "Duality Roll Colour Scheme", - "Hint": "The display type for Duality Rolls", - "Options": { - "Colorful": "Colorful", - "Normal": "Normal" + "summon": { + "name": "Summon" } } }, - "Notification": { - "Info": { - "ClassCanOnlyHaveTwoDomains": "A class can only have 2 domains!", - "NoTargetsSelected": "No targets are selected.", - "SelectClassBeforeSubclass": "Select a Class before selecting a Subclass.", - "SubclassNotOfClass": "This Subclass doesn't belong to your current Class.", - "AttackTargetDoesNotExist": "The target token no longer exists" - }, - "Error": { - "ActionRequiresTarget": "The action requires at least one target", - "NoAssignedPlayerCharacter": "You have no assigned character.", - "NoSelectedToken": "You have no selected token", - "OnlyUseableByPC": "This can only be used with a PC token", - "DualityParsing": "Duality roll not properly formated", - "AttributeFaulty": "The supplied Attribute doesn't exist" - } - }, - "General": { - "Name": "Name", - "Hope": "Hope", - "Fear": "Fear", - "Duality": "Duality", - "Check": "{check} Check", - "CriticalSuccess": "Critical Success", - "Advantage": { - "Full": "Advantage", - "Short": "Adv" - }, - "Disadvantage": { - "Full": "Disadvantage", - "Short": "Dis" - }, - "Neutral": { - "Full": "None", - "Short": "no" - }, - "OK": "OK", - "Cancel": "Cancel", - "Or": "Or", - "Enabled": "Enabled", - "Description": "Description", - "Modifier": "Modifier", - "Features": "Features", - "proficiency": "Proficiency", - "unarmored": "Unarmored", - "Experience": { - "Single": "Experience", - "plural": "Experiences" - }, + "ACTORS": { "Adversary": { - "Singular": "Adversary", - "Plural": "Adversaries" + "FIELDS": { + "attack": { + "name": { "label": "Name" }, + "modifier": { "label": "Modifier" }, + "range": { "label": "Range" }, + "damage": { + "value": { "label": "Damage" }, + "type": { "label": "Damage Type" } + } + }, + "damageThresholds": { + "major": { "label": "Major" }, + "severe": { "label": "Severe" } + }, + "description": { "label": "Description" }, + "difficulty": { "label": "Difficulty" }, + "experiences": { + "element": { + "name": { "label": "Name" }, + "value": { "label": "Modifier" } + } + }, + "motivesAndTactics": { "label": "Motives & Tactics" }, + "resources": { + "hitPoints": { + "value": { "label": "Current" }, + "max": { "label": "Max" } + }, + "stress": { + "value": { "label": "Current" }, + "max": { "label": "Max" } + } + }, + "tier": { "label": "Tier" }, + "type": { "label": "Type" } + }, + "horderHp": "Horde/HP" }, "Character": { - "Singular": "Character", - "Plural": "Characters" - }, - "RefreshType": { - "Session": "Session", - "Shortrest": "Short Rest", - "Longrest": "Long Rest" - }, - "Damage": { - "Severe": "Severe", - "Major": "Major", - "Minor": "Minor", - "None": "None" - }, - "tabs": { - "details": "Details", - "attack": "Attack", - "experiences": "Experiences", - "features": "Features", - "actions": "Actions", - "potentialAdversaries": "Potential Adversaries", - "adversaries": "Adversaries" - }, - "basics": "Basics", - "dualityRoll": "Duality Roll" - }, - "ActionType": { - "passive": "Passive", - "action": "Action", - "reaction": "Reaction" - }, - "Abilities": { - "agility": { - "name": "Agility", - "short": "AGI", - "verb": { - "sprint": "Sprint", - "leap": "Leap", - "maneuver": "Maneuver" + "age": "Age", + "companionFeatures": "Companion Features", + "contextMenu": { + "consume": "Consume Item", + "equip": "Equip", + "sendToChat": "Send To Chat", + "toLoadout": "Send to Loadout", + "toVault": "Send to Vault", + "unequip": "Unequip" + }, + "faith": "Faith", + "levelUp": "You can level up", + "pronouns": "Pronouns", + "story": { + "backgroundTitle": "Background", + "characteristics": "Characteristics", + "connectionsTitle": "Connections" } }, - "strength": { - "name": "Strength", - "short": "STR", - "verb": { - "lift": "Lift", - "smash": "Smash", - "grapple": "Grapple" - } + "Companion": { + "FIELDS": { + "attack": { + "name": { "label": "Attack Name" } + }, + "evasion": { + "value": { "label": "Evasion" } + }, + "partner": { "label": "Partner" }, + "resources": { + "stress": { + "value": { "label": "Stress" } + } + } + }, + "noPartner": "No Partner selected" }, - "finesse": { - "name": "Finesse", - "short": "FIN", - "verb": { - "control": "Control", - "hide": "Hide", - "tinker": "Tinker" - } - }, - "instinct": { - "name": "Instinct", - "short": "INS", - "verb": { - "perceive": "Perceive", - "sense": "Sense", - "navigate": "Navigate" - } - }, - "presence": { - "name": "Presence", - "short": "PRE", - "verb": { - "charm": "Charm", - "perform": "Perform", - "deceive": "Deceive" - } - }, - "knowledge": { - "name": "Knowledge", - "short": "KNO", - "verb": { - "recall": "Recall", - "analyze": "Analyze", - "comprehend": "Comprehend" - } + "Environment": { + "FIELDS": { + "description": { + "label": "Description" + }, + "difficulty": { + "label": "Difficulty" + }, + "impulses": { + "label": "Impulses" + }, + "tier": { + "label": "Tier" + }, + "type": { + "label": "Type" + } + }, + "newAdversary": "New Adversary" } }, - "FeatureProperty": { - "SpellcastingTrait": "Spellcasting Trait" - }, - "Condition": { - "vulnerable": { - "name": "Vulnerable", - "description": "While a creature is Vulnerable, all rolls targeting them have advantage.\nA creature who is already Vulnerable can’t be made to take the condition again." + "APPLICATIONS": { + "CharacterCreation": { + "choice": "Choice", + "finishCreation": "Finish Character Setup", + "heritage": "Heritage", + "initialExperiences": "Initial Experiences", + "newExperience": "New Experience..", + "selectAncestry": "Select Ancestry", + "selectArmor": "Select Armor", + "selectClass": "Select Class", + "selectCommunity": "Select Community", + "selectPrimaryWeapon": "Select Primary Weapon", + "selectSecondaryWeapon": "Select Secondary Weapon", + "selectSubclass": "Select Subclass", + "startingItems": "Starting Items", + "suggestedArmor": "Suggested Armor", + "suggestedPrimaryWeapon": "Suggested Primary Weapon", + "suggestedSecondaryWeapon": "Suggested Secondary Weapon", + "suggestedTraits": "Suggested Traits", + "suggestedWeapons": "Suggested Weapon", + "title": "{actor} - Character Setup", + "traitIncreases": "Trait Increases" }, - "hidden": { - "name": "Hidden", - "description": "While Hidden, attacks cannot be made directly targeting them nd any rolls against them are at disadvantage.\nWhen a Hidden creature moves or attacks, they are no longer Hidden. However, if a creature is Hidden when they begin making an attack, the roll has advantage; the Hidden condition isn’t cleared until after the attack is resolved." + "CombatTracker": { + "combatStarted": "Active", + "giveSpotlight": "Give The Spotlight", + "requestingSpotlight": "Requesting The Spotlight", + "requestSpotlight": "Request The Spotlight" }, - "restrained": { - "name": "Restrained", - "description": "When an effect makes a creature Restrained, it means they cannot move until this condition is cleared.\nThey can still take actions from their current position." + "Countdown": { + "addCountdown": "Add Countdown", + "FIELDS": { + "countdowns": { + "element": { + "name": { "label": "Name" }, + "progress": { + "current": { "label": "Current" }, + "max": { "label": "Max" }, + "type": { + "label": { "label": "Label", "hint": "Used for custom" }, + "value": { "label": "Value" } + } + } + } + } + }, + "newCountdown": "New Countdown", + "openOwnership": "Edit Player Ownership", + "removeCountdownText": "Are you sure you want to remove the countdown: {name}?", + "removeCountdownTitle": "Remove Countdown", + "title": "{type} Countdowns", + "toggleSimple": "Toggle Simple View", + "types": { + "narrative": "Narrative", + "encounter": "Encounter" + } + }, + "DamageReduction": { + "armorMarks": "Armor Marks", + "armorWithStress": "Spend 1 stress to use an extra mark", + "stress": "Stress", + "stressReduction": "Reduce By Stress", + "title": "Damage Reduction", + "unncessaryStress": "You don't need to expend stress", + "usedMarks": "Used Marks" + }, + "DeathMove": { + "takeMove": "Take Death Move", + "title": "{actor} - Death Move" + }, + "Downtime": { + "downtimeHeader": "Downtime Moves ({current}/{max})", + "longRest": { + "clearStress": { + "description": "Describe how you blow off steam or pull yourself together, and clear all marked Stress.", + "name": "Clear Stress" + }, + "prepare": { + "description": "Describe how you are preparing for the next day's adventure, then gain a Hope. If you choose to Prepare with one or more members of your party, you may each take two Hope.", + "name": "Prepare" + }, + "repairArmor": { + "description": "Describe how you spend time repairing your armor and clear all of its Armor Slots. You may also do this to an ally's armor instead.", + "name": "Repair Armor" + }, + "tendToWounds": { + "description": "Describe how you patch yourself up and remove all marked Hit Points. You may also do this on an ally instead.", + "name": "Tend to Wounds" + }, + "title": "Long Rest", + "workOnAProject": { + "description": "Establish or continue work on a project.", + "name": "Work on a Project" + } + }, + "shortRest": { + "title": "Short Rest", + "tendToWounds": { + "name": "Tend to Wounds", + "description": "Describe how you hastily patch yourself up, then clear a number of Hit Points equal to 1d4 + your tier. You can do this to an ally instead." + }, + "clearStress": { + "name": "Clear Stress", + "description": "Describe how you blow off steam or pull yourself together, then clear a number of Stress equal to 1d4 + your tier." + }, + "repairArmor": { + "name": "Repair Armor", + "description": "Describe how you quickly repair your armor, then clear a number of Armor Slots equal to 1d4 + your tier. You can do this to an ally's armor instead." + }, + "prepare": { + "name": "Prepare", + "description": "Describe how you prepare yourself for the path ahead, then gain a Hope. If you choose to Prepare with one or more members of your party, you each gain 2 Hope." + } + } + }, + "Levelup": { + "actions": { + "creatureComfort": { + "name": "Creature Comfort", + "description": "Once per rest, when you take time during a quiet moment to give your companion love and attention, you can gain a Hope or you can both clear a Stress." + }, + "armored": { + "name": "Armored", + "description": "When your companion takes damage, you can mark one of your Armor Slots instead of marking one of their Stress." + }, + "bonded": { + "name": "Bonded", + "description": "When you mark your last Hit Point, your companion rushes to your side to comfort you. Roll a number of d6s equal to the unmarked Stress slots they have and mark them. If any roll a 6, your companion helps you up. Clear your last Hit Point and return to the scene." + } + }, + "choiceDescriptions": { + "attributes": "Gain a +1 bonus to two unmarked character traits and mark them.", + "hitPointSlots": "Permanently gain one Hit Point slot.", + "stressSlots": "Permanently gain one Stress slot.", + "experiences": "Permanently gain a +1 bonus to two experiences.", + "domainCard": "Choose an additional domain card of your level or lower from a domain you have access to (up to level {maxLevel})", + "evasion": "Permanently gain a +1 bonus to your Evasion.", + "proficiency": "Increase your Proficiency by +1.", + "subclass": "Take an upgraded subclass card. Then cross out the multiclass option for this tier.", + "multiclass": "Multiclass: Choose an additional class for your character, then cross out an unused “Take an upgraded subclass card” and the other multiclass option on this sheet." + }, + "delevel": { + "content": "Returning to the previous level selection will remove all selections made for this level. Do you want to proceed?", + "title": "Go back to previous level" + }, + "navigateLevel": "To Level {level}", + "navigateToLevelup": "Return To Levelup", + "navigateToSummary": "To Summary", + "options": { + "trait": "Gain a +1 bonus to two unmarked character traits and mark them.", + "hitPoint": "Permanently gain one Hit Point slot.", + "stress": "Permanently gain one Stress slot.", + "experience": "Permanently gain a +1 bonus to two experiences.", + "domainCard": "Choose an additional domain card of your level or lower from a domain you have access to (up to level {maxLevel})", + "evasion": "Permanently gain a +1 bonus to your Evasion.", + "subclass": "Take an upgraded subclass card. Then cross out the multiclass option for this tier.", + "proficiency": "Increase your Proficiency by +1.", + "multiclass": "Multiclass: Choose an additional class for your character, then cross out an unused “Take an upgraded subclass card” and the other multiclass option on this sheet.", + "intelligent": "Your companion gains a permanent +1 bonus to a Companion Experience of your choice.", + "lightInTheDark": "Gain an additional Hope slot for your character.", + "creatureComfort": "Once per rest, when you take time during a quiet moment to give your companion love and attention, you can gain a Hope or you can both clear a Stress.", + "armored": "When your companion takes damage, you can mark one of your Armor Slots instead of marking one of their Stress.", + "vicious": "Increase your companion's damage dice or range by one step (d6 to d8, Close to Far, etc.)", + "resilient": "Your companion gains an additional Stress slot.", + "bonded": "When you mark your last Hit Point, your companion rushes to your side to comfort you. Roll a number of d6s equal to the unmarked Stress slots they have and mark them. If any roll a 6, your companion helps you up. Clear your last Hit Point and return to the scene.", + "aware": "Your companion gains a permanent +2 bonus to their Evasion." + }, + "selections": { + "emptyDomainCardHint": "{domain} level {level} or below", + "viciousDamage": "Damage", + "viciousRange": "Range" + }, + "summary": { + "levelAchievements": "Level Achievements", + "levelAdvancements": "Level Advancements", + "proficiencyIncrease": "Proficiency Increased: {proficiency}", + "hpIncrease": "Hit Points Increased: {hitPoints}", + "stressIncrease": "Stress Increased: {stress}", + "evasionIncrease": "Evasion Increased: {evasion}", + "damageThresholdMajorIncrease": "Major: {threshold}", + "damageThresholdSevereIncrease": "Severe: {threshold}", + "newExperiences": "New Experiences", + "experiencePlaceholder": "A new experience..", + "domainCards": "Domain Cards", + "subclass": "Subclass", + "multiclass": "Multiclass", + "traits": "Increased Traits", + "experienceIncreases": "Experience Increases", + "damageThresholds": "Damage Thresholds", + "vicious": "Vicious", + "damageIncreased": "Damage Increased: {damage}", + "rangeIncreased": "Range Increased: {range}", + "simpleFeature": "Feature: {feature}" + }, + "takeLevelUp": "Finish Level Up", + "tier2": { + "label": "Levels 2-4", + "infoLabel": "At Level 2, gain an additional Experience at +2 and gain a +1 bonus to your Proficiency.", + "pretext": "Choose two options from the list below", + "posttext": "Take an additional domain card of your level or lower from a domain you have access to." + }, + "tier3": { + "label": "Levels 5-7", + "infoLabel": "At Level 5, take an additional Experience and clear all marks on Character Traits.", + "pretext": "When you level up, record it on your character sheet, then choose two from the list below or any unmarked from the previous tier.", + "posttext": "Take an additional domain card of your level or lower from a domain you have access to." + }, + "tier4": { + "label": "Levels 8-10", + "infoLabel": "At Level 8, take an additional Experience and clear all marks on Character Traits.", + "pretext": "When you level up, record it on your character sheet, then choose two from the list below or any unmarked from the previous tier.", + "posttext": "Take an additional domain card of your level or lower from a domain you have access to." + }, + "title": "{actor} Level Up" + }, + "OwnershipSelection": { + "title": "Ownership Selection - {name}", + "default": "Default Ownership" } }, - "Tiers": { - "singular": "Tier", - "tier1": "Tier 1", - "tier2": "Tier 2", - "tier3": "Tier 3", - "tier4": "Tier 4" - }, - "Adversary": { - "Type": { + "CONFIG": { + "ActionType": { + "passive": "Passive", + "action": "Action", + "reaction": "Reaction" + }, + "AdversaryTrait": { + "relentless": { + "name": "Relentless", + "description": "A foe with Relentless can activate up to X times during a GM move so long as there are enough action tokens.", + "tip": "The Relentless move is useful if you want an adversary you can activate more than once during a single GM move. This is often best for exceedingly fast or dangerous foes, or for adversaries who are likely to be battling the party on their own." + }, + "slow": { + "name": "Slow", + "description": "A foe with Slow costs X action tokens to activate.", + "tip": "The Slow move is useful if you want an adversary who narratively takes longer to act than others, like a slug creature or a massive ogre. This is usually most effective when that creature is very powerful when it does act, but eats up lots of action tokens to do it." + }, + "minion": { + "name": "Minion", + "description": "For every X damage a PC deals to this adversary, they also deal 1 HP to an additional minion within their attack’s range.", + "tip": "The Minion move is useful when you want to drop lots of small enemies into the battlefield, knowing the party can swing through them very easily. This move means that if a PC hits one minion and they do enough damage, they also hit a number of others that are in range for them. Because of this, it’s often best to have minions crowd a PC–it will feel overwhelming and dangerous until they’re able to make an attack against them. If you want that cinematic feeling of the PCs taking out waves of enemies with a single attack roll, minions are a great tool to make that happen." + } + }, + "AdversaryType": { "bruiser": { "label": "Bruiser", "description": "Tough adversaries with powerful attacks." @@ -378,26 +441,145 @@ "description": "Enemies that enhance their allies and/or disrupt their opponents." } }, - "Trait": { - "Relentless": { - "Name": "Relentless", - "Description": "A foe with Relentless can activate up to X times during a GM move so long as there are enough action tokens.", - "Tip": "The Relentless move is useful if you want an adversary you can activate more than once during a single GM move. This is often best for exceedingly fast or dangerous foes, or for adversaries who are likely to be battling the party on their own." + "ArmorFeature": { + "burning": { + "name": "Burning", + "description": "When an adversary attacks you within Melee range, they mark a Stress." }, - "Slow": { - "Name": "Slow", - "Description": "A foe with Slow costs X action tokens to activate.", - "Tip": "The Slow move is useful if you want an adversary who narratively takes longer to act than others, like a slug creature or a massive ogre. This is usually most effective when that creature is very powerful when it does act, but eats up lots of action tokens to do it." + "channeling": { + "name": "Channeling", + "description": "+1 to Spellcast Rolls" }, - "Minion": { - "Name": "Minion", - "Description": "For every X damage a PC deals to this adversary, they also deal 1 HP to an additional minion within their attack’s range.", - "Tip": "The Minion move is useful when you want to drop lots of small enemies into the battlefield, knowing the party can swing through them very easily. This move means that if a PC hits one minion and they do enough damage, they also hit a number of others that are in range for them. Because of this, it’s often best to have minions crowd a PC–it will feel overwhelming and dangerous until they’re able to make an attack against them. If you want that cinematic feeling of the PCs taking out waves of enemies with a single attack roll, minions are a great tool to make that happen." + "difficult": { + "name": "Difficult", + "description": "-1 to all character traits and Evasion" + }, + "flexible": { + "name": "Flexible", + "description": "+1 to Evasion" + }, + "fortified": { + "name": "Fortified", + "description": "When you mark an Armor Slot, you reduce the severity of an attack by two thresholds instead of one." + }, + "gilded": { + "name": "Gilded", + "description": "+1 to Presence" + }, + "heavy": { + "name": "Heavy", + "description": "-1 to Evasion" + }, + "hopeful": { + "name": "Hopeful", + "description": "When you would spend a Hope, you can mark an Armor Slot instead." + }, + "impenetrable": { + "name": "Impenetrable", + "description": "Once per short rest, when you would mark your last Hit Point, you can instead mark a Stress." + }, + "magic": { + "name": "Magic", + "description": "You can't mark an Armor Slot to reduce physical damage." + }, + "painful": { + "name": "Painful", + "description": "Each time you mark an Armor Slot, you must mark a Stress." + }, + "physical": { + "name": "Physical", + "description": "You can't mark an Armor Slot to reduce magic damage." + }, + "quiet": { + "name": "Quiet", + "description": "You gain a +2 bonus to rolls you make to move silently." + }, + "reinforced": { + "name": "Reinforced", + "description": "When you mark your last Armor Slot, increase your damage thresholds by +2 until you clear at least 1 Armor Slot." + }, + "resilient": { + "name": "Resilient", + "description": "Before you mark your last Armor Slot, roll a d6. On a result of 6, reduce the severity by one threshold without marking an Armor Slot." + }, + "sharp": { + "name": "Sharp", + "description": "On a successful attack against a target within Melee range, add a d4 to the damage roll." + }, + "shifting": { + "name": "Shifting", + "description": "When you are targeted for an attack, you can mark an Armor Slot to give the attack roll against you disadvantage." + }, + "timeslowing": { + "name": "Timeslowing", + "description": "Mark an Armor Slot to roll a d4 and add its result as a bonus to your Evasion against an incoming attack." + }, + "truthseeking": { + "name": "Truthseeking", + "description": "This armor glows when another creature within Close range tells a lie." + }, + "veryHeavy": { + "name": "Very Heavy", + "description": "-2 to Evasion; -1 to Agility" + }, + "warded": { + "name": "Warded", + "description": "You reduce incoming magic damage by your Armor Score before applying it to your damage thresholds." } - } - }, - "Environment": { - "Type": { + }, + "Burden": { + "oneHanded": "One-Handed", + "twoHanded": "Two-Handed" + }, + "Condition": { + "vulnerable": { + "name": "Vulnerable", + "description": "While a creature is Vulnerable, all rolls targeting them have advantage.\nA creature who is already Vulnerable can’t be made to take the condition again." + }, + "hidden": { + "name": "Hidden", + "description": "While Hidden, attacks cannot be made directly targeting them nd any rolls against them are at disadvantage.\nWhen a Hidden creature moves or attacks, they are no longer Hidden. However, if a creature is Hidden when they begin making an attack, the roll has advantage; the Hidden condition isn’t cleared until after the attack is resolved." + }, + "restrained": { + "name": "Restrained", + "description": "When an effect makes a creature Restrained, it means they cannot move until this condition is cleared.\nThey can still take actions from their current position." + } + }, + "CountdownType": { + "spotlight": "Spotlight", + "custom": "Custom", + "characterAttack": "Character Attack" + }, + "DamageType": { + "physical": { + "name": "Physical", + "abbreviation": "Phy" + }, + "magical": { + "name": "Magical", + "abbreviation": "Mag" + } + }, + "DeathMoves": { + "avoidDeath": { + "name": "Avoid Death", + "description": "You drop unconscious temporarily and work with the GM to describe how the situation gets much worse because of it. Then roll your Fear die; if its value is equal to or under your Level, take a Scar." + }, + "riskItAll": { + "name": "Risk It All", + "description": "Roll your Duality Dice. If Hope is higher, you stay on your feet and clear an amount of Hit Points and/or Stress equal to the value of the Hope die (divide the Hope die value up between these however you’d prefer). If your Fear die is higher, you cross through the veil of death. If the Duality Dice are tied, you stay on your feet and clear all Hit Points and Stress." + }, + "blazeOfGlory": { + "name": "Blaze Of Glory", + "description": "With Blaze of Glory, the player is accepting death for the character. Take one action (at GM discretion), which becomes an automatic critical success, then cross through the veil of death." + } + }, + "DomainCardTypes": { + "ability": "Ability", + "spell": "Spell", + "grimoire": "Grimoire" + }, + "EnvironmentType": { "exploration": { "label": "Exploration", "description": "" @@ -414,1048 +596,522 @@ "label": "Event", "description": "" } - } - }, - "Domains": { - "arcana": { - "label": "Arcana", - "Description": "This is the domain of the innate or instinctual use of magic. Those who walk this path tap into the raw, enigmatic forces of the realms to manipulate both the elements and their own energy. Arcana offers wielders a volatile power, but it is incredibly potent when correctly channeled." }, - "blade": { - "label": "Blade", - "Description": "This is the domain of those who dedicate their lives to the mastery of weapons. Whether by blade, bow, or perhaps a more specialized arm, those who follow this path have the skill to cut short the lives of others. Blade requires study and dedication from its followers, in exchange for inexorable power over death." + "Gold": { + "title": "Gold", + "coins": "Coins", + "handfulls": "Handfulls", + "bags": "Bags", + "chests": "Chests" }, - "bone": { - "label": "Bone", - "Description": "This is the domain of mastery of swiftness and tactical mastery. Practitioners of this domain have an uncanny control over their own physical abilities, and an eye for predicting the behaviors of others in combat. Bone grants its adherents unparalleled understanding of bodies and their movements in exchange for diligent training." - }, - "codex": { - "label": "Codex", - "Description": "This is the domain of intensive magical study. Those who seek magical knowledge turn to the recipes of power recorded in books, on scrolls, etched into walls, or tattooed on bodies. Codex offers a commanding and versatile understanding of magic to those devotees who are willing to seek beyond the common knowledge." - }, - "grace": { - "label": "Grace", - "Description": "This is the domain of charisma. Through rapturous storytelling, clever charm, or a shroud of lies, those who channel this power define the realities of their adversaries, bending perception to their will. Grace offers its wielders raw magnetism and mastery over language." - }, - "midnight": { - "label": "Midnight", - "Description": "This is the domain of shadows and secrecy. Whether by clever tricks, or cloak of night those who channel these forces are practiced in that art of obscurity and there is nothing hidden they cannot reach. Midnight offers practitioners the incredible power to control and create enigmas." - }, - "sage": { - "label": "Sage", - "Description": "This is the domain of the natural world. Those who walk this path tap into the unfettered power of the earth and its creatures to unleash raw magic. Sage grants its adherents the vitality of a blooming flower and ferocity of a hungry predator." - }, - "splendor": { - "label": "Splendor", - "Description": "This is the domain of life. Through this magic, followers gain the ability to heal, though such power also grants the wielder some control over death. Splendor offers its disciples the magnificent ability to both give and end life." - }, - "valor": { - "label": "Valor", - "Description": "This is the domain of protection. Whether through attack or defense, those who choose this discipline channel formidable strength to protect their allies in battle. Valor offers great power to those who raise their shield in defense of others." - } - }, - "Domain": { - "CardTypes": { - "ability": "Ability", - "spell": "Spell", - "grimoire": "Grimoire" - } - }, - "Combat": { - "giveSpotlight": "Give The Spotlight", - "requestSpotlight": "Request The Spotlight", - "requestingSpotlight": "Requesting The Spotlight", - "combatStarted": "Active" - }, - "CharacterCreation": { - "Title": "{actor} - Character Setup", - "TraitIncreases": "Trait Increases", - "SuggestedTraits": "Suggested Traits", - "InitialExperiences": "Initial Experiences", - "Heritage": "Heritage", - "SelectAncestry": "Select Ancestry", - "SelectCommunity": "Select Community", - "SelectClass": "Select Class", - "SelectSubclass": "Select Subclass", - "SelectArmor": "Select Armor", - "SelectPrimaryWeapon": "Select Primary Weapon", - "SelectSecondaryWeapon": "Select Secondary Weapon", - "SuggestedArmor": "Suggested Armor", - "SuggestedWeapons": "Suggested Weapon", - "SuggestedPrimaryWeapon": "Suggested Primary Weapon", - "SuggestedSecondaryWeapon": "Suggested Secondary Weapon", - "StartingItems": "Starting Items", - "Choice": "Choice", - "NewExperience": "New Experience..", - "FinishCreation": "Finish Character Setup", - "Tabs": { - "Optional": "Optional", - "Setup": "Setup", - "Equipment": "Equipment", - "Story": "Story" - }, - "Notifications": { - "SubclassNotInClass": "This subclass does not belong to your selected class.", - "MissingClass": "You don't have a class selected yet.", - "WrongDomain": "The card isn't from one of your class domains.", - "CardTooHighLevel": "The card is too high level!", - "DuplicateCard": "You cannot select the same card more than once.", - "NotPrimary": "The weapon is not a primary weapon!", - "NotSecondary": "The weapon is not a secondary weapon!", - "ItemTooHighTier": "The item must be from Tier1", - "PrimaryIsTwoHanded": "Cannot select a secondary weapon with a two-handed primary!" - } - }, - "LevelUp": { - "Options": { - "trait": "Gain a +1 bonus to two unmarked character traits and mark them.", - "hitPoint": "Permanently gain one Hit Point slot.", - "stress": "Permanently gain one Stress slot.", - "experience": "Permanently gain a +1 bonus to two experiences.", - "domainCard": "Choose an additional domain card of your level or lower from a domain you have access to (up to level {maxLevel})", - "evasion": "Permanently gain a +1 bonus to your Evasion.", - "subclass": "Take an upgraded subclass card. Then cross out the multiclass option for this tier.", - "proficiency": "Increase your Proficiency by +1.", - "multiclass": "Multiclass: Choose an additional class for your character, then cross out an unused “Take an upgraded subclass card” and the other multiclass option on this sheet.", - "intelligent": "Your companion gains a permanent +1 bonus to a Companion Experience of your choice.", - "lightInTheDark": "Gain an additional Hope slot for your character.", - "creatureComfort": "Once per rest, when you take time during a quiet moment to give your companion love and attention, you can gain a Hope or you can both clear a Stress.", - "armored": "When your companion takes damage, you can mark one of your Armor Slots instead of marking one of their Stress.", - "vicious": "Increase your companion's damage dice or range by one step (d6 to d8, Close to Far, etc.)", - "resilient": "Your companion gains an additional Stress slot.", - "bonded": "When you mark your last Hit Point, your companion rushes to your side to comfort you. Roll a number of d6s equal to the unmarked Stress slots they have and mark them. If any roll a 6, your companion helps you up. Clear your last Hit Point and return to the scene.", - "aware": "Your companion gains a permanent +2 bonus to their Evasion." - }, - "Actions": { - "CreatureComfort": { - "Name": "Creature Comfort", - "Description": "Once per rest, when you take time during a quiet moment to give your companion love and attention, you can gain a Hope or you can both clear a Stress." + "HealingType": { + "hitPoints": { + "name": "Hit Points", + "abbreviation": "HP" }, - "Armored": { - "Name": "Armored", - "Description": "When your companion takes damage, you can mark one of your Armor Slots instead of marking one of their Stress." + "stress": { + "name": "Stress", + "stress": "STR" }, - "Bonded": { - "Name": "Bonded", - "Description": "When you mark your last Hit Point, your companion rushes to your side to comfort you. Roll a number of d6s equal to the unmarked Stress slots they have and mark them. If any roll a 6, your companion helps you up. Clear your last Hit Point and return to the scene." + "hope": { + "name": "Hope", + "abbreviation": "HO" + }, + "armorStack": { + "name": "Armor Stack", + "stress": "AS" } }, - "Tier2": { - "Label": "Levels 2-4", - "InfoLabel": "At Level 2, gain an additional Experience at +2 and gain a +1 bonus to your Proficiency.", - "Pretext": "Choose two options from the list below", - "Posttext": "Take an additional domain card of your level or lower from a domain you have access to." - }, - "Tier3": { - "Label": "Levels 5-7", - "InfoLabel": "At Level 5, take an additional Experience and clear all marks on Character Traits.", - "Pretext": "When you level up, record it on your character sheet, then choose two from the list below or any unmarked from the previous tier.", - "Posttext": "Take an additional domain card of your level or lower from a domain you have access to." - }, - "Tier4": { - "Label": "Levels 8-10", - "InfoLabel": "At Level 8, take an additional Experience and clear all marks on Character Traits.", - "Pretext": "When you level up, record it on your character sheet, then choose two from the list below or any unmarked from the previous tier.", - "Posttext": "Take an additional domain card of your level or lower from a domain you have access to." - }, - "ChoiceDescriptions": { - "Attributes": "Gain a +1 bonus to two unmarked character traits and mark them.", - "HitPointSlots": "Permanently gain one Hit Point slot.", - "StressSlots": "Permanently gain one Stress slot.", - "Experiences": "Permanently gain a +1 bonus to two experiences.", - "DomainCard": "Choose an additional domain card of your level or lower from a domain you have access to (up to level {maxLevel})", - "Evasion": "Permanently gain a +1 bonus to your Evasion.", - "Proficiency": "Increase your Proficiency by +1.", - "Subclass": "Take an upgraded subclass card. Then cross out the multiclass option for this tier.", - "Multiclass": "Multiclass: Choose an additional class for your character, then cross out an unused “Take an upgraded subclass card” and the other multiclass option on this sheet." - } - }, - "Downtime": { - "DowntimeHeader": "Downtime Moves ({current}/{max})", - "ShortRest": { - "title": "Short Rest", - "TendToWounds": { - "Name": "Tend to Wounds", - "Description": "Describe how you hastily patch yourself up, then clear a number of Hit Points equal to 1d4 + your tier. You can do this to an ally instead." + "Range": { + "self": { + "name": "Self", + "description": "means yourself." }, - "ClearStress": { - "Name": "Clear Stress", - "Description": "Describe how you blow off steam or pull yourself together, then clear a number of Stress equal to 1d4 + your tier." + "melee": { + "name": "Melee", + "description": "means a character is within touching distance of the target. PCs can generally touch targets up to a few feet away from them, but melee range may be greater for especially large NPCs." }, - "RepairArmor": { - "Name": "Repair Armor", - "Description": "Describe how you quickly repair your armor, then clear a number of Armor Slots equal to 1d4 + your tier. You can do this to an ally's armor instead." + "veryClose": { + "name": "Very Close", + "description": "means a distance where one can see fine details of a target- within moments of reaching, if need be. This is usually anywhere from about 5-10 feet away. While in danger, a PC can usually get to anything that’s very close as part of any other action they take. Anything on a battle map that is within the shortest length of a game card (~2-3 inches) can usually be considered very close." }, - "Prepare": { - "Name": "Prepare", - "Description": "Describe how you prepare yourself for the path ahead, then gain a Hope. If you choose to Prepare with one or more members of your party, you each gain 2 Hope." + "close": { + "name": "Close", + "description": "means a distance where one can see prominent details of a target-- across a room or to a neighboring market stall, generally about 10-30 feet away. While in danger, a PC can usually get to anything that’s close as part of any other action they take. Anything on a battle map that is within the length of a standard pen or pencil (~5-6 inches) can usually be considered close." + }, + "far": { + "name": "Far", + "description": "means a distance where one can see the appearance of a person or object, but probably not in great detail-- across a small battlefield or down a large corridor. This is usually about 30-100 feet away. While under danger, a PC will likely have to make an Agility check to get here safely. Anything on a battle map that is within the length of a standard piece of paper (~10-11 inches) can usually be considered far." + }, + "veryFar": { + "name": "Very Far", + "description": "means a distance where you can see the shape of a person or object, but probably not make outany details-- across a large battlefield or down a long street, generally about 100-300 feet away. While under danger, a PC likely has to make an Agility check to get here safely. Anything on a battle map that is beyond far distance, but still within sight of the characters can usually be considered very far." } }, - "LongRest": { - "title": "Long Rest", - "TendToWounds": { - "Name": "Tend to Wounds", - "Description": "Describe how you patch yourself up and remove all marked Hit Points. You may also do this on an ally instead." + "RollTypes": { + "ability": { + "name": "Ability" }, - "ClearStress": { - "Name": "Clear Stress", - "Description": "Describe how you blow off steam or pull yourself together, and clear all marked Stress." + "weapon": { + "name": "Weapon" }, - "RepairArmor": { - "Name": "Repair Armor", - "Description": "Describe how you spend time repairing your armor and clear all of its Armor Slots. You may also do this to an ally's armor instead." + "spellcast": { + "name": "SpellCast" }, - "Prepare": { - "Name": "Prepare", - "Description": "Describe how you are preparing for the next day's adventure, then gain a Hope. If you choose to Prepare with one or more members of your party, you may each take two Hope." - }, - "WorkOnAProject": { - "Name": "Work on a Project", - "Description": "Establish or continue work on a project." + "diceSet": { + "name": "Dice Set" } }, - "Notifications": { - "NoMoreMoves": "You cannot select any more downtime moves" - } - }, - "DeathMoves": { - "AvoidDeath": { - "Name": "Avoid Death", - "Description": "You drop unconscious temporarily and work with the GM to describe how the situation gets much worse because of it. Then roll your Fear die; if its value is equal to or under your Level, take a Scar." - }, - "RiskItAll": { - "Name": "Risk It All", - "Description": "Roll your Duality Dice. If Hope is higher, you stay on your feet and clear an amount of Hit Points and/or Stress equal to the value of the Hope die (divide the Hope die value up between these however you’d prefer). If your Fear die is higher, you cross through the veil of death. If the Duality Dice are tied, you stay on your feet and clear all Hit Points and Stress." - }, - "BlazeOfGlory": { - "Name": "Blaze Of Glory", - "Description": "With Blaze of Glory, the player is accepting death for the character. Take one action (at GM discretion), which becomes an automatic critical success, then cross through the veil of death." - } - }, - "Burden": { - "oneHanded": "One-Handed", - "twoHanded": "Two-Handed" - }, - "Range": { - "self": { - "name": "Self", - "description": "means yourself." - }, - "melee": { - "name": "Melee", - "description": "means a character is within touching distance of the target. PCs can generally touch targets up to a few feet away from them, but melee range may be greater for especially large NPCs." - }, - "veryClose": { - "name": "Very Close", - "description": "means a distance where one can see fine details of a target- within moments of reaching, if need be. This is usually anywhere from about 5-10 feet away. While in danger, a PC can usually get to anything that’s very close as part of any other action they take. Anything on a battle map that is within the shortest length of a game card (~2-3 inches) can usually be considered very close." - }, - "close": { - "name": "Close", - "description": "means a distance where one can see prominent details of a target-- across a room or to a neighboring market stall, generally about 10-30 feet away. While in danger, a PC can usually get to anything that’s close as part of any other action they take. Anything on a battle map that is within the length of a standard pen or pencil (~5-6 inches) can usually be considered close." - }, - "far": { - "name": "Far", - "description": "means a distance where one can see the appearance of a person or object, but probably not in great detail-- across a small battlefield or down a large corridor. This is usually about 30-100 feet away. While under danger, a PC will likely have to make an Agility check to get here safely. Anything on a battle map that is within the length of a standard piece of paper (~10-11 inches) can usually be considered far." - }, - "veryFar": { - "name": "Very Far", - "description": "means a distance where you can see the shape of a person or object, but probably not make outany details-- across a large battlefield or down a long street, generally about 100-300 feet away. While under danger, a PC likely has to make an Agility check to get here safely. Anything on a battle map that is beyond far distance, but still within sight of the characters can usually be considered very far." - } - }, - "DamageType": { - "physical": { - "name": "Physical", - "abbreviation": "Phy" - }, - "magical": { - "name": "Magical", - "abbreviation": "Mag" - } - }, - "HealingType": { - "HitPoints": { - "Name": "Hit Points", - "Abbreviation": "HP" - }, - "Stress": { - "Name": "Stress", - "Stress": "STR" - }, - "Hope": { - "Name": "Hope", - "Abbreviation": "HO" - }, - "ArmorStack": { - "Name": "Armor Stack", - "Stress": "AS" - } - }, - "ArmorFeature": { - "Burning": { - "Name": "Burning", - "Description": "When an adversary attacks you within Melee range, they mark a Stress." - }, - "Channeling": { - "Name": "Channeling", - "Description": "+1 to Spellcast Rolls" - }, - "Difficult": { - "Name": "Difficult", - "Description": "-1 to all character traits and Evasion" - }, - "Flexible": { - "Name": "Flexible", - "Description": "+1 to Evasion" - }, - "Fortified": { - "Name": "Fortified", - "Description": "When you mark an Armor Slot, you reduce the severity of an attack by two thresholds instead of one." - }, - "Gilded": { - "Name": "Gilded", - "Description": "+1 to Presence" - }, - "Heavy": { - "Name": "Heavy", - "Description": "-1 to Evasion" - }, - "Hopeful": { - "Name": "Hopeful", - "Description": "When you would spend a Hope, you can mark an Armor Slot instead." - }, - "Impenetrable": { - "Name": "Impenetrable", - "Description": "Once per short rest, when you would mark your last Hit Point, you can instead mark a Stress." - }, - "Magic": { - "Name": "Magic", - "Description": "You can't mark an Armor Slot to reduce physical damage." - }, - "Painful": { - "Name": "Painful", - "Description": "Each time you mark an Armor Slot, you must mark a Stress." - }, - "Physical": { - "Name": "Physical", - "Description": "You can't mark an Armor Slot to reduce magic damage." - }, - "Quiet": { - "Name": "Quiet", - "Description": "You gain a +2 bonus to rolls you make to move silently." - }, - "Reinforced": { - "Name": "Reinforced", - "Description": "When you mark your last Armor Slot, increase your damage thresholds by +2 until you clear at least 1 Armor Slot." - }, - "Resilient": { - "Name": "Resilient", - "Description": "Before you mark your last Armor Slot, roll a d6. On a result of 6, reduce the severity by one threshold without marking an Armor Slot." - }, - "Sharp": { - "Name": "Sharp", - "Description": "On a successful attack against a target within Melee range, add a d4 to the damage roll." - }, - "Shifting": { - "Name": "Shifting", - "Description": "When you are targeted for an attack, you can mark an Armor Slot to give the attack roll against you disadvantage." - }, - "Timeslowing": { - "Name": "Timeslowing", - "Description": "Mark an Armor Slot to roll a d4 and add its result as a bonus to your Evasion against an incoming attack." - }, - "Truthseeking": { - "Name": "Truthseeking", - "Description": "This armor glows when another creature within Close range tells a lie." - }, - "VeryHeavy": { - "Name": "Very Heavy", - "Description": "-2 to Evasion; -1 to Agility" - }, - "Warded": { - "Name": "Warded", - "Description": "You reduce incoming magic damage by your Armor Score before applying it to your damage thresholds." - } - }, - "WeaponFeature": { - "Barrier": { - "Name": "Barrier", - "Description": "+{armorScore} to Armor Score; -1 to Evasion" - }, - "Bonded": { - "Name": "Bonded", - "Description": "Gain a bonus to your damage rolls equal to your level." - }, - "Bouncing": { - "Name": "Bouncing", - "Description": "Mark 1 or more Stress to hit that many targets in range of the attack." - }, - "Brave": { - "Name": "Brave", - "Description": "-1 to Evasion; +3 to Severe damage threshold" - }, - "Brutal": { - "Name": "Brutal", - "Description": "When you roll the maximum value on a damage die, roll an additional damage die." - }, - "Charged": { - "Name": "Charged", - "Description": "Mark a Stress to gain a +1 bonus to your Proficiency on a primary weapon attack." - }, - "Concussive": { - "Name": "Concussive", - "Description": "On a successful attack, you can spend a Hope to knock the target back to Far range." - }, - "Cumbersome": { - "Name": "Cumbersome", - "Description": "-1 to Finesse" - }, - "Deadly": { - "Name": "Deadly", - "Description": "When you deal Severe damage, the target must mark an additional HP." - }, - "Deflecting": { - "Name": "Deflecting", - "Description": "When you are attacked, you can mark an Armor Slot to gain a bonus to your Evasion equal to your Armor Score against the attack." - }, - "Destructive": { - "Name": "Destructive", - "Description": "-1 to Agility; on a successful attack, all adversaries within Very Close range must mark a Stress." - }, - "Devastating": { - "Name": "Devastating", - "Description": "Before you make an attack roll, you can mark a Stress to use a d20 as your damage die." - }, - "DoubleDuty": { - "Name": "Double Duty", - "Description": "+1 to Armor Score; +1 to primary weapon damage within Melee range" - }, - "DoubledUp": { - "Name": "Doubled Up", - "Description": "When you make an attack with your primary weapon, you can deal damage to another target within Melee range." - }, - "Dueling": { - "Name": "Dueling", - "Description": "When there are no other creatures within Close range of the target, gain advantage on your attack roll against them." - }, - "Eruptive": { - "Name": "Eruptive", - "Description": "On a successful attack against a target within Melee range, all other adversaries within Very Close range must succeed on a reaction roll (14) or take half damage." - }, - "Grappling": { - "Name": "Grappling", - "Description": "On a successful attack, you can spend a Hope to Restrain the target or pull them into Melee range with you." - }, - "Greedy": { - "Name": "Greedy", - "Description": "Spend a handful of gold to gain a +1 bonus to your Proficiency on a damage roll." - }, - "Healing": { - "Name": "Healing", - "Description": "During downtime, automatically clear a Hit Point." - }, - "Heavy": { - "Name": "Heavy", - "Description": "-1 to Evasion" - }, - "Hooked": { - "Name": "Hooked", - "Description": "On a successful attack, you can pull the target into Melee range." - }, - "Hot": { - "Name": "Hot", - "Description": "This weapon cuts through solid material." - }, - "Invigorating": { - "Name": "Invigorating", - "Description": "On a successful attack, roll a d4. On a result of 4, clear a Stress." - }, - "Lifestealing": { - "Name": "Lifestealing", - "Description": "On a successful attack, roll a d6. On a result of 6, clear a Hit Point or clear a Stress." - }, - "LockedOn": { - "Name": "Locked On", - "Description": "On a successful attack, your next attack against the same target with your primary weapon automatically succeeds." - }, - "Lucky": { - "Name": "Lucky", - "Description": "On a failed attack, you can mark a Stress to reroll your attack." - }, - "Long": { - "Name": "Long", - "Description": "This weapon's attack targets all adversaries in a line within range." - }, - "Massive": { - "Name": "Massive", - "Description": "-1 to Evasion; on a successful attack, roll an additional damage die and discard the lowest result." - }, - "Painful": { - "Name": "Painful", - "Description": "Each time you make a successful attack, you must mark a Stress." - }, - "Paired": { - "Name": "Paired", - "Description": "+{bonusDamage} to primary weapon damage to targets within Melee range" - }, - "Parry": { - "Name": "Parry", - "Description": "When you are attacked, roll this weapon's damage dice. If any of the attacker's damage dice rolled the same value as your dice, the matching results are discarded from the attacker's damage dice before the damage you take is totaled." - }, - "Persuasive": { - "Name": "Persuasive", - "Description": "Before you make a Presence Roll, you can mark a Stress to gain a +2 bonus to the result." - }, - "Pompous": { - "Name": "Pompous", - "Description": "You must have a Presence of 0 or lower to use this weapon." - }, - "Powerful": { - "Name": "Powerful", - "Description": "On a successful attack, roll an additional damage die and discard the lowest result." - }, - "Protective": { - "Name": "Protective", - "Description": "+{tier} to Armor Score" - }, - "Quick": { - "Name": "Quick", - "Description": "When you make an attack, you can mark a Stress to target another creature within range." - }, - "Reliable": { - "Name": "Reliable", - "Description": "+1 to attack rolls" - }, - "Reloading": { - "Name": "Reloading", - "Description": "After you make an attack, roll a d6. On a result of 1, you must mark a Stress to reload this weapon before you can fire it again." - }, - "Retractable": { - "Name": "Retractable", - "Description": "The blade can be hidden in the hilt to avoid detection." - }, - "Returning": { - "Name": "Returning", - "Description": "When this weapon is thrown within its range, it appears in your hand immediately after the attack." - }, - "Scary": { - "Name": "Scary", - "Description": "On a successful attack, the target must mark a Stress." - }, - "Serrated": { - "Name": "Serrated", - "Description": "When you roll a 1 on a damage die, it deals 8 damage instead." - }, - "Sharpwing": { - "Name": "Sharpwing", - "Description": "Gain a bonus to your damage rolls equal to your Agility." - }, - "Sheltering": { - "Name": "Sheltering", - "Description": "When you mark an Armor Slot, it reduces damage for you and all allies within Melee range of you who took the same damage." - }, - "Startling": { - "Name": "Startling", - "Description": "Mark a Stress to crack the whip and force all adversaries within Melee range back to Close range." - }, - "Timebending": { - "Name": "Timebending", - "Description": "You can choose the target of your attack after making your attack roll." - }, - "Versatile": { - "Name": "Versatile", - "Description": "This weapon can also be used with these statistics—{characterTrait}, {range}, {damage}." - } - }, - "Application": { - "Downtime": { - "TakeDowntime": "Take Downtime" - }, - "LevelUp": { - "Title": "{actor} Level Up", - "Tabs": { - "advancement": "Level Advancement", - "selections": "Advancement Choices", - "summary": "Summary" + "Traits": { + "agility": { + "name": "Agility", + "short": "AGI", + "verb": { + "sprint": "Sprint", + "leap": "Leap", + "maneuver": "Maneuver" + } }, - "navigateLevel": "To Level {level}", - "navigateToLevelup": "Return To Levelup", - "navigateToSummary": "To Summary", - "TakeLevelUp": "Finish Level Up", - "Delevel": { - "title": "Go back to previous level", - "content": "Returning to the previous level selection will remove all selections made for this level. Do you want to proceed?" + "strength": { + "name": "Strength", + "short": "STR", + "verb": { + "lift": "Lift", + "smash": "Smash", + "grapple": "Grapple" + } }, - "Selections": { - "emptyDomainCardHint": "{domain} level {level} or below", - "viciousDamage": "Damage", - "viciousRange": "Range" + "finesse": { + "name": "Finesse", + "short": "FIN", + "verb": { + "control": "Control", + "hide": "Hide", + "tinker": "Tinker" + } }, - "summary": { - "levelAchievements": "Level Achievements", - "levelAdvancements": "Level Advancements", - "proficiencyIncrease": "Proficiency Increased: {proficiency}", - "hpIncrease": "Hit Points Increased: {hitPoints}", - "stressIncrease": "Stress Increased: {stress}", - "evasionIncrease": "Evasion Increased: {evasion}", - "damageThresholdMajorIncrease": "Major: {threshold}", - "damageThresholdSevereIncrease": "Severe: {threshold}", - "newExperiences": "New Experiences", - "experiencePlaceholder": "A new experience..", - "domainCards": "Domain Cards", - "subclass": "Subclass", - "multiclass": "Multiclass", - "traits": "Increased Traits", - "experienceIncreases": "Experience Increases", - "damageThresholds": "Damage Thresholds", - "vicious": "Vicious", - "damageIncreased": "Damage Increased: {damage}", - "rangeIncreased": "Range Increased: {range}", - "simpleFeature": "Feature: {feature}" + "instinct": { + "name": "Instinct", + "short": "INS", + "verb": { + "perceive": "Perceive", + "sense": "Sense", + "navigate": "Navigate" + } }, - "notifications": { - "info": { - "insufficentAdvancements": "You don't have enough advancements left.", - "insufficientTierAdvancements": "You have no available advancements for this tier." - }, - "error": { - "domainCardWrongDomain": "You don't have access to that Domain", - "domainCardToHighLevel": "The Domain Card is too high level to be selected", - "domainCardDuplicate": "You already have that domain card!", - "noSelectionsLeft": "Nothing more to select!", - "alreadySelectedClass": "You already have that class!" + "presence": { + "name": "Presence", + "short": "PRE", + "verb": { + "charm": "Charm", + "perform": "Perform", + "deceive": "Deceive" + } + }, + "knowledge": { + "name": "Knowledge", + "short": "KNO", + "verb": { + "recall": "Recall", + "analyze": "Analyze", + "comprehend": "Comprehend" } } }, - "DeathMove": { - "Title": "{actor} - Death Move", - "TakeMove": "Take Death Move" - }, - "RollSelection": { - "Title": "Roll Options" - }, - "Settings": { - "Title": "Daggerheart Settings" - }, - "Multiclass": { - "ClassSection": { - "Title": "Select Class" + "WeaponFeature": { + "barrier": { + "name": "Barrier", + "description": "+{armorScore} to Armor Score; -1 to Evasion" }, - "SubclassSection": { - "Title": "Select Subclass" + "bonded": { + "name": "Bonded", + "description": "Gain a bonus to your damage rolls equal to your level." }, - "DomainSection": { - "Title": "Select Domain" + "bouncing": { + "name": "Bouncing", + "description": "Mark 1 or more Stress to hit that many targets in range of the attack." }, - "AlreadyOwnedDomain": "You already have this domain!", - "Finish": "Finish Multiclass", - "Close": "Cancel" - }, - "Cancel": "Cancel" - }, - "Chat": { - "DualityRoll": { - "AbilityCheckTitle": "{ability} Check" - }, - "AttackRoll": { - "Title": "Attack - {attack}", - "RollDamage": "Roll Damage", - "RollHealing": "Roll Healing", - "ApplyEffect": "Apply Effects" - }, - "DamageRoll": { - "Title": "Damage - {damage}", - "DealDamageToTargets": "Damage Hit Targets", - "DealDamage": "Deal Damage", - "RollDamage": "Roll Damage", - "HitTarget": "Hit Targets", - "SelectedTarget": "Selected" - }, - "ApplyEffect": { - "Title": "Apply Effects - {name}" - }, - "HealingRoll": { - "Title": "Heal - {healing}", - "Heal": "Heal" - }, - "DeathMove": { - "Title": "Death Move" - }, - "DomainCard": { - "Title": "Domain Card" - }, - "FoundationCard": { - "AncestryTitle": "Ancestry Card", - "CommunityTitle": "Community Card", - "SubclassFeatureTitle": "Subclass Feature" - }, - "FeatureTitle": "Class Feature", - "EnvironmentTitle": "Environment {actionType}", - "Downtime": { - "Title": "Downtime" + "brave": { + "name": "Brave", + "description": "-1 to Evasion; +3 to Severe damage threshold" + }, + "brutal": { + "name": "Brutal", + "description": "When you roll the maximum value on a damage die, roll an additional damage die." + }, + "charged": { + "name": "Charged", + "description": "Mark a Stress to gain a +1 bonus to your Proficiency on a primary weapon attack." + }, + "concussive": { + "name": "Concussive", + "description": "On a successful attack, you can spend a Hope to knock the target back to Far range." + }, + "cumbersome": { + "name": "Cumbersome", + "description": "-1 to Finesse" + }, + "deadly": { + "name": "Deadly", + "description": "When you deal Severe damage, the target must mark an additional HP." + }, + "deflecting": { + "name": "Deflecting", + "description": "When you are attacked, you can mark an Armor Slot to gain a bonus to your Evasion equal to your Armor Score against the attack." + }, + "destructive": { + "name": "Destructive", + "description": "-1 to Agility; on a successful attack, all adversaries within Very Close range must mark a Stress." + }, + "devastating": { + "name": "Devastating", + "description": "Before you make an attack roll, you can mark a Stress to use a d20 as your damage die." + }, + "doubleDuty": { + "name": "Double Duty", + "description": "+1 to Armor Score; +1 to primary weapon damage within Melee range" + }, + "doubledUp": { + "name": "Doubled Up", + "description": "When you make an attack with your primary weapon, you can deal damage to another target within Melee range." + }, + "dueling": { + "name": "Dueling", + "description": "When there are no other creatures within Close range of the target, gain advantage on your attack roll against them." + }, + "eruptive": { + "name": "Eruptive", + "description": "On a successful attack against a target within Melee range, all other adversaries within Very Close range must succeed on a reaction roll (14) or take half damage." + }, + "grappling": { + "name": "Grappling", + "description": "On a successful attack, you can spend a Hope to Restrain the target or pull them into Melee range with you." + }, + "greedy": { + "name": "Greedy", + "description": "Spend a handful of gold to gain a +1 bonus to your Proficiency on a damage roll." + }, + "healing": { + "name": "Healing", + "description": "During downtime, automatically clear a Hit Point." + }, + "heavy": { + "name": "Heavy", + "description": "-1 to Evasion" + }, + "hooked": { + "name": "Hooked", + "description": "On a successful attack, you can pull the target into Melee range." + }, + "hot": { + "name": "Hot", + "description": "This weapon cuts through solid material." + }, + "invigorating": { + "name": "Invigorating", + "description": "On a successful attack, roll a d4. On a result of 4, clear a Stress." + }, + "lifestealing": { + "name": "Lifestealing", + "description": "On a successful attack, roll a d6. On a result of 6, clear a Hit Point or clear a Stress." + }, + "lockedOn": { + "name": "Locked On", + "description": "On a successful attack, your next attack against the same target with your primary weapon automatically succeeds." + }, + "lucky": { + "name": "Lucky", + "description": "On a failed attack, you can mark a Stress to reroll your attack." + }, + "long": { + "name": "Long", + "description": "This weapon's attack targets all adversaries in a line within range." + }, + "massive": { + "name": "Massive", + "description": "-1 to Evasion; on a successful attack, roll an additional damage die and discard the lowest result." + }, + "painful": { + "name": "Painful", + "description": "Each time you make a successful attack, you must mark a Stress." + }, + "paired": { + "name": "Paired", + "description": "+{bonusDamage} to primary weapon damage to targets within Melee range" + }, + "parry": { + "name": "Parry", + "description": "When you are attacked, roll this weapon's damage dice. If any of the attacker's damage dice rolled the same value as your dice, the matching results are discarded from the attacker's damage dice before the damage you take is totaled." + }, + "persuasive": { + "name": "Persuasive", + "description": "Before you make a Presence Roll, you can mark a Stress to gain a +2 bonus to the result." + }, + "pompous": { + "name": "Pompous", + "description": "You must have a Presence of 0 or lower to use this weapon." + }, + "powerful": { + "name": "Powerful", + "description": "On a successful attack, roll an additional damage die and discard the lowest result." + }, + "protective": { + "name": "Protective", + "description": "+{tier} to Armor Score" + }, + "quick": { + "name": "Quick", + "description": "When you make an attack, you can mark a Stress to target another creature within range." + }, + "reliable": { + "name": "Reliable", + "description": "+1 to attack rolls" + }, + "reloading": { + "name": "Reloading", + "description": "After you make an attack, roll a d6. On a result of 1, you must mark a Stress to reload this weapon before you can fire it again." + }, + "retractable": { + "name": "Retractable", + "description": "The blade can be hidden in the hilt to avoid detection." + }, + "returning": { + "name": "Returning", + "description": "When this weapon is thrown within its range, it appears in your hand immediately after the attack." + }, + "scary": { + "name": "Scary", + "description": "On a successful attack, the target must mark a Stress." + }, + "serrated": { + "name": "Serrated", + "description": "When you roll a 1 on a damage die, it deals 8 damage instead." + }, + "sharpwing": { + "name": "Sharpwing", + "description": "Gain a bonus to your damage rolls equal to your Agility." + }, + "sheltering": { + "name": "Sheltering", + "description": "When you mark an Armor Slot, it reduces damage for you and all allies within Melee range of you who took the same damage." + }, + "startling": { + "name": "Startling", + "description": "Mark a Stress to crack the whip and force all adversaries within Melee range back to Close range." + }, + "timebending": { + "name": "Timebending", + "description": "You can choose the target of your attack after making your attack roll." + }, + "versatile": { + "name": "Versatile", + "description": "This weapon can also be used with these statistics—{characterTrait}, {range}, {damage}." + } } }, - "Countdown": { - "FIELDS": { - "countdowns": { - "element": { - "name": { "label": "Name" }, - "progress": { - "current": { "label": "Current" }, - "max": { "label": "Max" }, - "type": { - "value": { "label": "Value" }, - "label": { "label": "Label", "hint": "Used for custom" } - } - } - } + "EFFECTS": { + "ApplyLocations": { + "attackRoll": { + "name": "Attack Roll" + }, + "damageRoll": { + "name": "Damage Roll" } }, - "Type": { - "Spotlight": "Spotlight", - "Custom": "Custom", - "CharacterAttack": "Character Attack" + "Duration": { + "passive": "Passive", + "temporary": "Temporary" }, - "NewCountdown": "New Countdown", - "AddCountdown": "Add Countdown", - "RemoveCountdownTitle": "Remove Countdown", - "RemoveCountdownText": "Are you sure you want to remove the countdown: {name}?", - "OpenOwnership": "Edit Player Ownership", - "Title": "{type} Countdowns", - "ToggleSimple": "Toggle Simple View", "Types": { - "narrative": "Narrative", - "encounter": "Encounter" - }, - "Notifications": { - "LimitedOwnershipMaximise": "You don't have permission to enter edit view" - } - }, - "OwnershipSelection": { - "Title": "Ownership Selection - {name}", - "Default": "Default Ownership" - }, - "DamageReduction": { - "Title": "Damage Reduction", - "ArmorMarks": "Armor Marks", - "UsedMarks": "Used Marks", - "Stress": "Stress", - "ArmorWithStress": "Spend 1 stress to use an extra mark", - "UnncessaryStress": "You don't need to expend stress", - "StressReduction": "Reduce By Stress", - "Notifications": { - "DamageAlreadyNone": "The damage has already been reduced to none", - "NoAvailableArmorMarks": "You have no more available armor marks", - "NotEnoughStress": "You don't have enough stress", - "DamageIgnore": "{character} did not take damage" - } - }, - "Sheets": { - "TABS": { - "features": "Features", - "effects": "Effects", - "settings": "Settings", - "actions": "Actions", - "description": "Description" - }, - "PC": { - "Name": "Name", - "Pronouns": "Pronouns", - "age": "Age", - "faith": "Faith", - "ShortRest": "Take a Short Rest", - "LongRest": "Take a Long Rest", - "CharacterSetup": "Character setup isn't done yet", - "Level": "Level", - "LevelUp": "You can level up", - "Features": "Features", - "CompanionFeatures": "Companion Features", - "beastformFeatures": "Beastform Features", - "Tabs": { - "Features": "Features", - "Inventory": "Inventory", - "Foundation": "Foundation", - "Loadout": "Loadout", - "Vault": "Vault", - "Heritage": "Heritage", - "Story": "Story", - "biography": "Biography", - "effects": "Effects" + "damage": { + "name": "Damage" }, - "ContextMenu": { - "UseItem": "Use", - "Equip": "Equip", - "Unequip": "Unequip", - "Edit": "Edit", - "Delete": "Delete", - "ToLoadout": "Send to Loadout", - "ToVault": "Send to Vault", - "Consume": "Consume Item", - "SendToChat": "Send To Chat" + "hitPoints": { + "name": "Hit Points" }, - "Armor": { - "Title": "Active Armor" + "reach": { + "name": "Reach" }, - "Attributes": { - "AttributeBaseMenuTitle": "Edit starting attribute values" - }, - "Defense": { - "Evasion": "EVASION", - "Armor": "ARMOR" - }, - "DomainCard": { - "Recall": "Recall", - "ToVault": "To Vault", - "AvailableDomainSlot": "Available Loadout Slot", - "UnavailableDomainSlot": "Available at level {level}", - "FoundationTitle": "Foundation", - "SpecializationTitle": "Specialization", - "MasteryTitle": "Mastery" - }, - "Experience": { - "Title": "Experience" - }, - "Gold": { - "Title": "Gold", - "Coins": "Coins", - "Handfulls": "Handfulls", - "Bags": "Bags", - "Chests": "Chests" - }, - "Health": { - "Title": "HIT POINTS & STRESS", - "Minor": "Minor", - "Major": "Major", - "Severe": "Severe", - "DeathMoveTooltip": "Make a Death Move", - "HealthTitle": "HP", - "StressTitle": "STRESS" - }, - "Heritage": { - "EmptyAncestry": "Ancestry Card", - "EmptyAncestryTip": "(Select an Ancestry)", - "EmptyCommunity": "Community Card", - "EmptyCommunityTip": "(Select a Community)", - "SubclassFoundation": "Subclass Foundation", - "SubclassFoundationTip": "(Select a Subclass)", - "Subclass": "Subclass Upgrade", - "Multiclass": "Multiclass" - }, - "Hope": { - "Title": "Hope", - "Description": "Spend Hope to use an experience or help an ally." - }, - "Inventory": { - "Title": "Inventory", - "InventoryArmor": "Inventory Armor", - "InventoryWeapon": "Inventory Weapon" - }, - "InventoryTab": { - "ConsumableTitle": "Consumables", - "MiscellaneousTitle": "Miscellaneous", - "WeaponsTitle": "Weapons", - "ArmorsTitle": "Armors", - "QuantityTitle": "Quantity" - }, - "Weapons": { - "Title": "Active Weapons", - "ProficiencyTitle": "Proficiency", - "PrimaryTitle": "PRIMARY", - "SecondaryTitle": "SECONDARY" - }, - "Story": { - "BackgroundTitle": "Background", - "AppearanceTitle": "Appearance", - "ConnectionsTitle": "Connections", - "characteristics": "Characteristics", - "Scars": { - "Title": "Scars" - } - }, - "NewItem": "New Item", - "NewScar": "New Scar", - "DeleteConfirmation": "Are you sure you want to delete the item - {item}?", - "Errors": { - "missingClassOrSubclass": "The character doesn't have a class and subclass", - "tooHighLevel": "You cannot raise the character level past the maximum", - "tooLowLevel": "You cannot lower the character level below starting level" + "stress": { + "name": "Stress" } + } + }, + "GENERAL": { + "Action": { + "single": "Action", + "plural": "Actions" }, - "Companion": { - "FIELDS": { - "partner": { "label": "Partner" }, - "evasion": { - "value": { "label": "Evasion" } - }, - "resources": { - "stress": { - "value": { "label": "Stress" } - } - }, - "attack": { - "name": { "label": "Attack Name" } - } - }, - "Experiences": "Experiences", - "Level": "Level", - "noPartner": "No Partner selected" + "Advantage": { + "full": "Advantage", + "short": "Adv" }, "Adversary": { - "FIELDS": { - "tier": { "label": "Tier" }, - "type": { "label": "Type" }, - "description": { "label": "Description" }, - "motivesAndTactics": { "label": "Motives & Tactics" }, - "difficulty": { "label": "Difficulty" }, - "damageThresholds": { - "major": { "label": "Major" }, - "severe": { "label": "Severe" } - }, - "resources": { - "hitPoints": { - "value": { "label": "Current" }, - "max": { "label": "Max" } - }, - "stress": { - "value": { "label": "Current" }, - "max": { "label": "Max" } - } - }, - "experiences": { - "element": { - "name": { "label": "Name" }, - "value": { "label": "Modifier" } - } - }, - "attack": { - "name": { "label": "Name" }, - "modifier": { "label": "Modifier" }, - "range": { "label": "Range" }, - "damage": { - "value": { "label": "Damage" }, - "type": { "label": "Damage Type" } - } - } - }, - "Tabs": { - "Main": "Data", - "Information": "Information", - "features": "Features", - "notes": "Notes", - "effects": "Effects" - }, - "General": "General", - "DamageThresholds": "Damage Thresholds", - "HitPoints": "Hit Points", - "Stress": "Stress", - "Experiences": "Experiences", - "Attack": "Attack", - "horderHp": "Horde/HP" + "singular": "Adversary", + "plural": "Adversaries" }, - "Environment": { - "FIELDS": { - "tier": { - "label": "Tier" - }, - "type": { - "label": "Type" - }, - "difficulty": { - "label": "Difficulty" - }, - "impulses": { - "label": "Impulses" - }, - "description": { - "label": "Description" - } + "Character": { + "singular": "Character", + "plural": "Characters" + }, + "Damage": { + "severe": "Severe", + "major": "Major", + "minor": "Minor", + "none": "None" + }, + "DamageThresholds": { + "title": "Damage Thresholds", + "minor": "Minor", + "major": "Major", + "severe": "Severe" + }, + "Dice": { + "single": "Die", + "plural": "Dice" + }, + "Disadvantage": { + "full": "Disadvantage", + "short": "Dis" + }, + "Domain": { + "single": "Domain", + "plural": "Domains", + "arcana": { + "label": "Arcana", + "Description": "This is the domain of the innate or instinctual use of magic. Those who walk this path tap into the raw, enigmatic forces of the realms to manipulate both the elements and their own energy. Arcana offers wielders a volatile power, but it is incredibly potent when correctly channeled." }, - "Tabs": { - "Main": "Data", - "Information": "Information" + "blade": { + "label": "Blade", + "Description": "This is the domain of those who dedicate their lives to the mastery of weapons. Whether by blade, bow, or perhaps a more specialized arm, those who follow this path have the skill to cut short the lives of others. Blade requires study and dedication from its followers, in exchange for inexorable power over death." }, - "general": "General", - "newAdversary": "New Adversary", - "newFeature": "New feature", - "description": "Description", - "impulses": "Impulses", - "potentialAdversaries": { - "label": "Potential Adversaries", - "placeholder": "Optionally drag and drop adversaries here" + "bone": { + "label": "Bone", + "Description": "This is the domain of mastery of swiftness and tactical mastery. Practitioners of this domain have an uncanny control over their own physical abilities, and an eye for predicting the behaviors of others in combat. Bone grants its adherents unparalleled understanding of bodies and their movements in exchange for diligent training." }, - "features": { - "label": "Features" + "codex": { + "label": "Codex", + "Description": "This is the domain of intensive magical study. Those who seek magical knowledge turn to the recipes of power recorded in books, on scrolls, etched into walls, or tattooed on bodies. Codex offers a commanding and versatile understanding of magic to those devotees who are willing to seek beyond the common knowledge." + }, + "grace": { + "label": "Grace", + "Description": "This is the domain of charisma. Through rapturous storytelling, clever charm, or a shroud of lies, those who channel this power define the realities of their adversaries, bending perception to their will. Grace offers its wielders raw magnetism and mastery over language." + }, + "midnight": { + "label": "Midnight", + "Description": "This is the domain of shadows and secrecy. Whether by clever tricks, or cloak of night those who channel these forces are practiced in that art of obscurity and there is nothing hidden they cannot reach. Midnight offers practitioners the incredible power to control and create enigmas." + }, + "sage": { + "label": "Sage", + "Description": "This is the domain of the natural world. Those who walk this path tap into the unfettered power of the earth and its creatures to unleash raw magic. Sage grants its adherents the vitality of a blooming flower and ferocity of a hungry predator." + }, + "splendor": { + "label": "Splendor", + "Description": "This is the domain of life. Through this magic, followers gain the ability to heal, though such power also grants the wielder some control over death. Splendor offers its disciples the magnificent ability to both give and end life." + }, + "valor": { + "label": "Valor", + "Description": "This is the domain of protection. Whether through attack or defense, those who choose this discipline channel formidable strength to protect their allies in battle. Valor offers great power to those who raise their shield in defense of others." } }, + "Effect": { + "single": "Effect", + "plural": "Effects" + }, + "Experience": { + "single": "Experience", + "plural": "Experiences" + }, + "Neutral": { + "full": "None", + "short": "no" + }, + "RefreshType": { + "session": "Session", + "shortrest": "Short Rest", + "longrest": "Long Rest" + }, + "Tabs": { + "details": "Details", + "attack": "Attack", + "experiences": "Experiences", + "features": "Features", + "actions": "Actions", + "potentialAdversaries": "Potential Adversaries", + "adversaries": "Adversaries", + "advancement": "Level Advancement", + "selections": "Advancement Choices", + "summary": "Summary", + "effects": "Effects", + "settings": "Settings", + "description": "Description", + "main": "Data", + "information": "Information", + "notes": "Notes", + "inventory": "Inventory", + "loadout": "Loadout", + "vault": "Vault", + "heritage": "Heritage", + "story": "Story", + "biography": "Biography", + "general": "General", + "foundation": "Foundation", + "specialization": "Specialization", + "mastery": "Mastery", + "optional": "Optional", + "setup": "Setup", + "equipment": "Equipment" + }, + "Tiers": { + "singular": "Tier", + "tier1": "Tier 1", + "tier2": "Tier 2", + "tier3": "Tier 3", + "tier4": "Tier 4" + }, + "Trait": { + "single": "Trait", + "plural": "Traits" + }, + "activeEffects": "Active Effects", + "attack": "Attack", + "basics": "Basics", + "bonus": "Bonus", + "burden": "Burden", + "check": "{check} Check", + "criticalSuccess": "Critical Success", + "description": "Description", + "duality": "Duality", + "dualityRoll": "Duality Roll", + "enabled": "Enabled", + "evasion": "Evasion", + "fear": "Fear", + "features": "Features", + "hitPoints": "Hit Points", + "hope": "Hope", + "inactiveEffects": "Inactive Effects", + "inventory": "Inventory", + "level": "Level", + "modifier": "Modifier", + "multiclass": "Multiclass", + "quantity": "Quantity", + "range": "Range", + "stress": "Stress", + "take": "Take", + "title": "Title", + "type": "Type", + "unarmored": "Unarmored", + "use": "Use" + }, + "ITEMS": { "Armor": { "baseScore": "Base Score", - "feature": "Feature", - "description": "Description", "baseThresholds": { "base": "Base Thresholds", "major": "Major Threshold", "severe": "Severe Threshold" } }, - "Class": { - "Tabs": { - "Features": "Features", - "Guide": "Character Guide", - "Items": "Items", - "Appearance": "Appearance", - "settings": "Settings" - }, - "HopeFeatures": "Hope Features", - "Class Features": "Class Features", - "Domains": "Domains", - "DamageThresholds": { - "Title": "Damage Thresholds", - "Minor": "Minor", - "Major": "Major", - "Severe": "Severe" - }, - "Evasion": "Evasion", - "HitPoints": "Hit Points", - "ClassFeatures": "Class Features", - "Subclasses": "Subclasses", - "Guide": { - "Suggestions": { - "Title": "Suggested Equipments", - "Traits": { - "Title": "Traits" - } - }, - "SuggestedPrimaryWeaponTitle": "Primary Weapon", - "SuggestedSecondaryWeaponTitle": "Secondary Weapon", - "SuggestedArmorTitle": "Armor", - "Inventory": { - "Title": "Inventory", - "Take": "Take", - "ThenChoose": "Then Choose Between", - "AndEither": "And Either" - }, - "Description": { - "Title": "Character Description", - "Explanation": "Choose one (or more) from each line, or make your own", - "Clothes": "Clothes", - "Eyes": "Eyes", - "Body": "Body", - "Color": "Color", - "Attitude": "Attitude" - }, - "Extra": { - "Title": "Extra", - "Subtitle": "Title" - }, - "BackgroundQuestions": { - "Title": "Background Questions", - "Question": "Question" - }, - "Connections": { - "Title": "Connections", - "Question": "Question" - } - } - }, "Beastform": { "FIELDS": { "tier": { "label": "Tier" }, @@ -1473,197 +1129,242 @@ "transform": "Transform", "beastformEffect": "Beastform Transformation" }, - "Global": { - "Actions": "Actions", - "Features": "Features", - "Effects": "Effects", - "activeEffects": "Active Effects", - "inactiveEffects": "Inactive Effects" - }, - "DomainCard": { - "Type": "Type", - "Category": "Category", - "Foundation": "Foundation", - "Domain": "Domain", - "Costs": "Costs", - "Level": "Level", - "RecallCost": "Recall Cost", - "Description": "Description" - }, - "Feature": { - "FeatureType": "Type", - "ActionType": "Action Type", - "RefreshType": "Refresh Type", - "ValueType": { - "Title": "Feature Type", - "Type": "Type", - "Property": "Property", - "Dice": "Dice", - "Icon": "Icon" - }, - "Max": "Max", - "Tabs": { - "Features": "Features", - "Effects": "Effects", - "Settings": "Settings", - "Actions": "Actions", - "Description": "Description" - }, - "Description": "Description", - "effects": { - "addEffect": "Add Effect", - "applyLocation": "Apply Location", - "value": "Value", - "initiallySelected": "Initially Selected", - "hopeIncrease": "Hope Increase" + "Class": { + "hopeFeatures": "Hope Features", + "classFeatures": "Class Features", + "guide": { + "suggestedEquipment": "Suggested Equipments", + "suggestedPrimaryWeaponTitle": "Primary Weapon", + "suggestedSecondaryWeaponTitle": "Secondary Weapon", + "suggestedArmorTitle": "Armor", + "inventory": { + "thenChoose": "Then Choose Between", + "andEither": "And Either" + } } }, "Consumable": { - "Quantity": "Quantity", - "ConsumeOnUse": "Consume On Use" + "consumeOnUse": "Consume On Use" }, - "Miscellaneous": { - "Quantity": "Quantity" + "DomainCard": { + "type": "Type", + "foundation": "Foundation", + "recallCost": "Recall Cost", + "specializationTitle": "Specialization", + "masteryTitle": "Mastery" }, "Subclass": { - "Tabs": { - "General": "General", - "Foundation": "Foundation", - "Specialization": "Specialization", - "Mastery": "Mastery" - }, - "SpellcastingTrait": "Spellcasting Trait", - "Description": "Description", - "SubclassFeature": { - "Description": "Description", - "Abilities": "Abilities", - "Actions": "Actions", - "Effects": "Effects" - } + "spellcastingTrait": "Spellcasting Trait" }, "Weapon": { - "PrimaryWeapon": "Primary Weapon", - "SecondaryWeapon": "Secondary Weapon", - "Trait": "Trait", - "Range": "Range", - "Damage": { - "Title": "Damage", - "Die": "Die", - "Bonus": "Bonus", - "Type": "Type" - }, - "Burden": "Burden", - "Feature": "Feature", - "Description": "Description" + "primaryWeapon": "Primary Weapon", + "secondaryWeapon": "Secondary Weapon" } }, - "Item": { - "Errors": { - "MissingClass": "The character is missing a class", - "SubclassNotInClass": "The subclass does not belong to the character's class", - "ClassAlreadySelected": "The character already has a class", - "SubclassAlreadySelected": "The character already has a subclass for that class.", - "NoClassSelected": "Your character has no class selected!", - "LacksDomain": "Your character doesn't have the domain of the card!", - "MaxLoadoutReached": "You can't have any more domain cards at this level!", - "DuplicateDomainCard": "You already have a domain card with that name!" - } - }, - "Effects": { - "duration": { - "passive": "Passive", - "temporary": "Temporary" - }, - "Types": { - "health": { - "Name": "Health" + "SETTINGS": { + "Appearance": { + "FIELDS": { + "displayFear": { "label": "Fear Display" } }, - "stress": { - "Name": "Stress" - }, - "reach": { - "Name": "Reach" - }, - "damage": { - "Name": "Damage" + "fearDisplay": { + "token": "Tokens", + "bar": "Bar", + "hide": "Hide" } }, - "ApplyLocations": { - "AttackRoll": { - "Name": "Attack Roll" + "Automation": { + "fear": { + "name": "Fear", + "hint": "Automatically increase the GM's fear pool on a fear duality roll result." }, - "DamageRoll": { - "Name": "Damage Roll" + "FIELDS": { + "hope": { + "label": "Hope", + "hint": "Automatically increase a character's hope on a hope duality roll result." + }, + "actionPoints": { + "label": "Action Points", + "hint": "Automatically give and take Action Points as combatants take their turns." + }, + "countdowns": { + "label": "Countdowns", + "hint": "Automatically progress non-custom countdowns" + } + } + }, + "DualityRollColor": { + "options": { + "colorful": "Colorful", + "normal": "Normal" + } + }, + "Homebrew": { + "newDowntimeMove": "Downtime Move", + "downtimeMoves": "Downtime Moves", + "nrChoices": "# Moves Per Rest", + "resetMovesTitle": "Reset {type} Downtime Moves", + "resetMovesText": "Are you sure you want to reset?", + "FIELDS": { + "maxFear": { "label": "Max Fear" }, + "traitArray": { "label": "Initial Trait Modifiers" } + }, + "currency": { + "enabled": "Enable Overrides", + "title": "Currency Overrides", + "currencyName": "Currency Name", + "coinName": "Coin Name", + "handfullName": "Handfull Name", + "bagName": "Bag Name", + "chestName": "Chest Name" + } + }, + "Menu": { + "automation": { + "name": "Automation Settings", + "label": "Configure Automation", + "hint": "Various settings automating resource management and more" + }, + "homebrew": { + "name": "Homebrew Settings", + "label": "Configure Homebrew", + "hint": "Various settings allowing extensions to types or altered game rules" + }, + "range": { + "name": "Range Settings", + "label": "Configure Range Handling", + "hint": "System ruler setup for displaying ranges in Daggerheart" + }, + "appearance": { + "title": "Appearance Settings", + "label": "Appearance Settings", + "hint": "Modify the look of various parts of the system", + "name": "Appearance Settings", + "duality": "Duality Rolls", + "diceSoNice": { + "title": "Dice So Nice", + "hint": "Coloration of Hope and Fear dice if the Dice So Nice module is used.", + "foreground": "Foreground", + "background": "Background", + "outline": "Outline", + "edge": "Edge" + } + }, + "variantRules": { + "title": "Variant Rules", + "label": "Variant Rules", + "hint": "Apply variant rules from the Daggerheart system", + "name": "Variant Rules", + "actionTokens": "Action Tokens" + } + }, + "Resources": { + "fear": { + "name": "Fear", + "hint": "The Fear pool of the GM." + } + }, + "VariantRules": { + "FIELDS": { + "actionTokens": { + "enabled": { "label": "Enabled" }, + "tokens": { "label": "Tokens" } + }, + "useCoins": { + "label": "Use Coins", + "hint": "test" + } } } }, - "Tooltip": { - "openItemWorld": "Open Item World", - "openActorWorld": "Open Actor World", - "sendToChat": "Send to Chat", - "moreOptions": "More Options", - "equip": "Equip", - "edit": "Edit", - "unequip": "Unequip", - "delete": "Delete", - "sendToVault": "Send to Vault", - "sendToLoadout": "Send to Loadout" - }, - "Actions": { - "Types": { - "attack": { - "name": "Attack" + "UI": { + "Chat": { + "dualityRoll": { + "abilityCheckTitle": "{ability} Check" }, - "spellcast": { - "name": "Spellcast" + "attackRoll": { + "title": "Attack - {attack}", + "rollDamage": "Roll Damage", + "rollHealing": "Roll Healing", + "applyEffect": "Apply Effects" }, - "resource": { - "name": "Resource" + "damageRoll": { + "title": "Damage - {damage}", + "dealDamageToTargets": "Damage Hit Targets", + "dealDamage": "Deal Damage", + "rollDamage": "Roll Damage", + "hitTarget": "Hit Targets", + "selectedTarget": "Selected" }, - "damage": { - "name": "Damage" + "applyEffect": { + "title": "Apply Effects - {name}" }, - "healing": { - "name": "Healing" + "healingRoll": { + "title": "Heal - {healing}", + "heal": "Heal" }, - "summon": { - "name": "Summon" + "deathMove": { + "title": "Death Move" }, - "effect": { - "name": "Effect" + "domainCard": { + "title": "Domain Card" }, - "macro": { - "name": "Macro" + "foundationCard": { + "ancestryTitle": "Ancestry Card", + "communityTitle": "Community Card", + "subclassFeatureTitle": "Subclass Feature" }, - "beastform": { - "name": "Beastform" - } + "featureTitle": "Class Feature" }, - "Settings": { - "ResultBased": { - "label": "Formula based on Hope/Fear result." - } + "Notifications": { + "adversaryMissing": "The linked adversary doesn't exist in the world.", + "beastformInapplicable": "A beastform can only be applied to a Character.", + "beastformAlreadyApplied": "The character already has a beastform applied!", + "noTargetsSelected": "No targets are selected.", + "attackTargetDoesNotExist": "The target token no longer exists", + "insufficentAdvancements": "You don't have enough advancements left.", + "noAssignedPlayerCharacter": "You have no assigned character.", + "noSelectedToken": "You have no selected token", + "onlyUseableByPC": "This can only be used with a PC token", + "dualityParsing": "Duality roll not properly formated", + "attributeFaulty": "The supplied Attribute doesn't exist", + "domainCardWrongDomain": "You don't have access to that Domain", + "domainCardToHighLevel": "The Domain Card is too high level to be selected", + "domainCardDuplicate": "You already have that domain card!", + "noSelectionsLeft": "Nothing more to select!", + "alreadySelectedClass": "You already have that class!", + "classAlreadySelected": "The character already has a class", + "subclassAlreadySelected": "The character already has a subclass for that class.", + "noClassSelected": "Your character has no class selected!", + "lacksDomain": "Your character doesn't have the domain of the card!", + "duplicateDomainCard": "You already have a domain card with that name!", + "missingClassOrSubclass": "The character doesn't have a class and subclass", + "tooHighLevel": "You cannot raise the character level past the maximum", + "tooLowLevel": "You cannot lower the character level below starting level", + "subclassNotInClass": "This subclass does not belong to your selected class.", + "missingClass": "You don't have a class selected yet.", + "wrongDomain": "The card isn't from one of your class domains.", + "cardTooHighLevel": "The card is too high level!", + "duplicateCard": "You cannot select the same card more than once.", + "notPrimary": "The weapon is not a primary weapon!", + "notSecondary": "The weapon is not a secondary weapon!", + "itemTooHighTier": "The item must be from Tier1", + "primaryIsTwoHanded": "Cannot select a secondary weapon with a two-handed primary!", + "noMoreMoves": "You cannot select any more downtime moves", + "damageAlreadyNone": "The damage has already been reduced to none", + "noAvailableArmorMarks": "You have no more available armor marks", + "notEnoughStress": "You don't have enough stress", + "damageIgnore": "{character} did not take damage" }, - "Config": { - "Beastform": { - "label": "Beastform", - "exact": "Beastform Max Tier", - "exactHint": "The Character's Tier is used if empty" - } - } - }, - "RollTypes": { - "ability": { - "name": "Ability" - }, - "weapon": { - "name": "Weapon" - }, - "spellcast": { - "name": "SpellCast" - }, - "diceSet": { - "name": "Dice Set" + "Tooltip": { + "openItemWorld": "Open Item World", + "openActorWorld": "Open Actor World", + "sendToChat": "Send to Chat", + "moreOptions": "More Options", + "equip": "Equip", + "unequip": "Unequip", + "sendToVault": "Send to Vault", + "sendToLoadout": "Send to Loadout", + "makeDeathMove": "Make a Death Move" } } } diff --git a/module/applications/characterCreation/characterCreation.mjs b/module/applications/characterCreation/characterCreation.mjs index 48ad3bfb..71849f56 100644 --- a/module/applications/characterCreation/characterCreation.mjs +++ b/module/applications/characterCreation/characterCreation.mjs @@ -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; } diff --git a/module/applications/dialogs/beastformDialog.mjs b/module/applications/dialogs/beastformDialog.mjs index df0ee584..367311b0 100644 --- a/module/applications/dialogs/beastformDialog.mjs +++ b/module/applications/dialogs/beastformDialog.mjs @@ -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 */ diff --git a/module/applications/dialogs/damageReductionDialog.mjs b/module/applications/dialogs/damageReductionDialog.mjs index c91bf5d3..8a67ef98 100644 --- a/module/applications/dialogs/damageReductionDialog.mjs +++ b/module/applications/dialogs/damageReductionDialog.mjs @@ -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; } diff --git a/module/applications/dialogs/deathMove.mjs b/module/applications/dialogs/deathMove.mjs index ecb8ed60..735c3c18 100644 --- a/module/applications/dialogs/deathMove.mjs +++ b/module/applications/dialogs/deathMove.mjs @@ -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 = { diff --git a/module/applications/dialogs/downtime.mjs b/module/applications/dialogs/downtime.mjs index fc6da253..3966f7e4 100644 --- a/module/applications/dialogs/downtime.mjs +++ b/module/applications/dialogs/downtime.mjs @@ -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 } ) diff --git a/module/applications/dialogs/ownershipSelection.mjs b/module/applications/dialogs/ownershipSelection.mjs index 3555b585..e4a7e628 100644 --- a/module/applications/dialogs/ownershipSelection.mjs +++ b/module/applications/dialogs/ownershipSelection.mjs @@ -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) { diff --git a/module/applications/levelup/characterLevelup.mjs b/module/applications/levelup/characterLevelup.mjs index 5c32f929..6dc6f4c3 100644 --- a/module/applications/levelup/characterLevelup.mjs +++ b/module/applications/levelup/characterLevelup.mjs @@ -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 }); diff --git a/module/applications/levelup/companionLevelup.mjs b/module/applications/levelup/companionLevelup.mjs index 64cbef82..de411572 100644 --- a/module/applications/levelup/companionLevelup.mjs +++ b/module/applications/levelup/companionLevelup.mjs @@ -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 diff --git a/module/applications/levelup/levelup.mjs b/module/applications/levelup/levelup.mjs index 1d9731a2..eb120ac5 100644 --- a/module/applications/levelup/levelup.mjs +++ b/module/applications/levelup/levelup.mjs @@ -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; diff --git a/module/applications/settings/appearanceSettings.mjs b/module/applications/settings/appearanceSettings.mjs index 51185b81..006bab78 100644 --- a/module/applications/settings/appearanceSettings.mjs +++ b/module/applications/settings/appearanceSettings.mjs @@ -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 = { diff --git a/module/applications/settings/automationSettings.mjs b/module/applications/settings/automationSettings.mjs index a32b0dae..75105b16 100644 --- a/module/applications/settings/automationSettings.mjs +++ b/module/applications/settings/automationSettings.mjs @@ -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 = { diff --git a/module/applications/settings/homebrewSettings.mjs b/module/applications/settings/homebrewSettings.mjs index f54f127f..08b4cf4e 100644 --- a/module/applications/settings/homebrewSettings.mjs +++ b/module/applications/settings/homebrewSettings.mjs @@ -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; diff --git a/module/applications/settings/rangeMeasurementSettings.mjs b/module/applications/settings/rangeMeasurementSettings.mjs index e655d963..e9fd332e 100644 --- a/module/applications/settings/rangeMeasurementSettings.mjs +++ b/module/applications/settings/rangeMeasurementSettings.mjs @@ -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 = { diff --git a/module/applications/settings/variantRuleSettings.mjs b/module/applications/settings/variantRuleSettings.mjs index 26a73761..059e1726 100644 --- a/module/applications/settings/variantRuleSettings.mjs +++ b/module/applications/settings/variantRuleSettings.mjs @@ -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 = { diff --git a/module/applications/sheets-configs/action-config.mjs b/module/applications/sheets-configs/action-config.mjs index 4fb39853..c5c70557 100644 --- a/module/applications/sheets-configs/action-config.mjs +++ b/module/applications/sheets-configs/action-config.mjs @@ -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 })) ]; diff --git a/module/applications/sheets-configs/adversary-settings.mjs b/module/applications/sheets-configs/adversary-settings.mjs index 33899020..4b849907 100644 --- a/module/applications/sheets-configs/adversary-settings.mjs +++ b/module/applications/sheets-configs/adversary-settings.mjs @@ -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' } }; diff --git a/module/applications/sheets-configs/companion-settings.mjs b/module/applications/sheets-configs/companion-settings.mjs index 7f9d5423..e25b401d 100644 --- a/module/applications/sheets-configs/companion-settings.mjs +++ b/module/applications/sheets-configs/companion-settings.mjs @@ -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' } }; diff --git a/module/applications/sheets-configs/environment-settings.mjs b/module/applications/sheets-configs/environment-settings.mjs index 27969634..69ae7f87 100644 --- a/module/applications/sheets-configs/environment-settings.mjs +++ b/module/applications/sheets-configs/environment-settings.mjs @@ -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; } diff --git a/module/applications/sheets/actors/adversary.mjs b/module/applications/sheets/actors/adversary.mjs index 17f56c02..0766b9a1 100644 --- a/module/applications/sheets/actors/adversary.mjs +++ b/module/applications/sheets/actors/adversary.mjs @@ -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}` }` diff --git a/module/applications/sheets/actors/character.mjs b/module/applications/sheets/actors/character.mjs index 9122122c..95bbbec1 100644 --- a/module/applications/sheets/actors/character.mjs +++ b/module/applications/sheets/actors/character.mjs @@ -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: '', 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: '', 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: '', 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: '', 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: '', 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: '', callback: this.constructor.toChat.bind(this) }, edit: { - name: 'DAGGERHEART.Sheets.PC.ContextMenu.Edit', + name: 'CONTROLS.CommonEdit', icon: '', callback: this.constructor.viewObject.bind(this) }, delete: { - name: 'DAGGERHEART.Sheets.PC.ContextMenu.Delete', + name: 'CONTROLS.CommonDelete', icon: '', 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, diff --git a/module/applications/sheets/actors/companion.mjs b/module/applications/sheets/actors/companion.mjs index bf8f2ec6..e8a3ddaa 100644 --- a/module/applications/sheets/actors/companion.mjs +++ b/module/applications/sheets/actors/companion.mjs @@ -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({ diff --git a/module/applications/sheets/actors/environment.mjs b/module/applications/sheets/actors/environment.mjs index 1182a764..9f3e8bb3 100644 --- a/module/applications/sheets/actors/environment.mjs +++ b/module/applications/sheets/actors/environment.mjs @@ -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; } diff --git a/module/applications/sheets/api/base-item.mjs b/module/applications/sheets/api/base-item.mjs index 5d09b942..5e7e8d59 100644 --- a/module/applications/sheets/api/base-item.mjs +++ b/module/applications/sheets/api/base-item.mjs @@ -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' } }; diff --git a/module/applications/sheets/api/heritage-sheet.mjs b/module/applications/sheets/api/heritage-sheet.mjs index d9a63388..349da194 100644 --- a/module/applications/sheets/api/heritage-sheet.mjs +++ b/module/applications/sheets/api/heritage-sheet.mjs @@ -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' } }; } diff --git a/module/applications/sheets/items/beastform.mjs b/module/applications/sheets/items/beastform.mjs index f1be204a..e3b72d01 100644 --- a/module/applications/sheets/items/beastform.mjs +++ b/module/applications/sheets/items/beastform.mjs @@ -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' } }; diff --git a/module/applications/sheets/items/class.mjs b/module/applications/sheets/items/class.mjs index f1e11623..c7b84340 100644 --- a/module/applications/sheets/items/class.mjs +++ b/module/applications/sheets/items/class.mjs @@ -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' } }; diff --git a/module/applications/sheets/items/domainCard.mjs b/module/applications/sheets/items/domainCard.mjs index d7a70741..7820fa0e 100644 --- a/module/applications/sheets/items/domainCard.mjs +++ b/module/applications/sheets/items/domainCard.mjs @@ -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' } }; diff --git a/module/applications/sheets/items/feature.mjs b/module/applications/sheets/items/feature.mjs index 4f3bb438..a54c3bcb 100644 --- a/module/applications/sheets/items/feature.mjs +++ b/module/applications/sheets/items/feature.mjs @@ -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' } }; diff --git a/module/applications/sheets/items/subclass.mjs b/module/applications/sheets/items/subclass.mjs index 3509ebf1..7761dcbc 100644 --- a/module/applications/sheets/items/subclass.mjs +++ b/module/applications/sheets/items/subclass.mjs @@ -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' } }; diff --git a/module/applications/ui/chatLog.mjs b/module/applications/ui/chatLog.mjs index 8b09a643..8a0ff3e0 100644 --- a/module/applications/ui/chatLog.mjs +++ b/module/applications/ui/chatLog.mjs @@ -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 }]); diff --git a/module/applications/ui/countdowns.mjs b/module/applications/ui/countdowns.mjs index 627eac75..895ab908 100644 --- a/module/applications/ui/countdowns.mjs +++ b/module/applications/ui/countdowns.mjs @@ -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; diff --git a/module/applications/ux/filter-menu.mjs b/module/applications/ux/filter-menu.mjs index bc9e2f81..b62e884b 100644 --- a/module/applications/ux/filter-menu.mjs +++ b/module/applications/ux/filter-menu.mjs @@ -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', diff --git a/module/canvas/placeables/measuredTemplate.mjs b/module/canvas/placeables/measuredTemplate.mjs index 6fffa1e5..42601d6c 100644 --- a/module/canvas/placeables/measuredTemplate.mjs +++ b/module/canvas/placeables/measuredTemplate.mjs @@ -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 ''; diff --git a/module/config/actionConfig.mjs b/module/config/actionConfig.mjs index 4dc65fd7..5600ae72 100644 --- a/module/config/actionConfig.mjs +++ b/module/config/actionConfig.mjs @@ -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 } }; diff --git a/module/config/actorConfig.mjs b/module/config/actorConfig.mjs index 5b5169ad..7a179308 100644 --- a/module/config/actorConfig.mjs +++ b/module/config/actorConfig.mjs @@ -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' }; diff --git a/module/config/domainConfig.mjs b/module/config/domainConfig.mjs index 136b077e..6c8b8bfd 100644 --- a/module/config/domainConfig.mjs +++ b/module/config/domainConfig.mjs @@ -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: '' } }; diff --git a/module/config/effectConfig.mjs b/module/config/effectConfig.mjs index 2204b612..97a03fad 100644 --- a/module/config/effectConfig.mjs +++ b/module/config/effectConfig.mjs @@ -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, diff --git a/module/config/generalConfig.mjs b/module/config/generalConfig.mjs index 971ee3fe..1299dccb 100644 --- a/module/config/generalConfig.mjs +++ b/module/config/generalConfig.mjs @@ -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' } }; diff --git a/module/config/itemConfig.mjs b/module/config/itemConfig.mjs index b446bc28..4cdd8125 100644 --- a/module/config/itemConfig.mjs +++ b/module/config/itemConfig.mjs @@ -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' } }; diff --git a/module/config/settingsConfig.mjs b/module/config/settingsConfig.mjs index 95a3de0e..51197e8a 100644 --- a/module/config/settingsConfig.mjs +++ b/module/config/settingsConfig.mjs @@ -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' } }; diff --git a/module/data/action/actionDice.mjs b/module/data/action/actionDice.mjs index 38122c1d..cb430d63 100644 --- a/module/data/action/actionDice.mjs +++ b/module/data/action/actionDice.mjs @@ -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) diff --git a/module/data/action/baseAction.mjs b/module/data/action/baseAction.mjs index b9faecc4..f797323c 100644 --- a/module/data/action/baseAction.mjs +++ b/module/data/action/baseAction.mjs @@ -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, diff --git a/module/data/action/damageAction.mjs b/module/data/action/damageAction.mjs index ab34198d..2dd88af4 100644 --- a/module/data/action/damageAction.mjs +++ b/module/data/action/damageAction.mjs @@ -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, diff --git a/module/data/action/effectAction.mjs b/module/data/action/effectAction.mjs index 6ef3e93c..cfe15305 100644 --- a/module/data/action/effectAction.mjs +++ b/module/data/action/effectAction.mjs @@ -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 })), diff --git a/module/data/action/healingAction.mjs b/module/data/action/healingAction.mjs index ed785388..26e53817 100644 --- a/module/data/action/healingAction.mjs +++ b/module/data/action/healingAction.mjs @@ -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 }, diff --git a/module/data/actor/adversary.mjs b/module/data/actor/adversary.mjs index 35d816c5..db7d2ca1 100644 --- a/module/data/actor/adversary.mjs +++ b/module/data/actor/adversary.mjs @@ -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, { diff --git a/module/data/actor/character.mjs b/module/data/actor/character.mjs index f94ce7d1..4ccda1cd 100644 --- a/module/data/actor/character.mjs +++ b/module/data/actor/character.mjs @@ -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 } }; } diff --git a/module/data/actor/companion.mjs b/module/data/actor/companion.mjs index b1254f87..8745473f 100644 --- a/module/data/actor/companion.mjs +++ b/module/data/actor/companion.mjs @@ -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, { diff --git a/module/data/actor/environment.mjs b/module/data/actor/environment.mjs index 58bdc695..2cd3338f 100644 --- a/module/data/actor/environment.mjs +++ b/module/data/actor/environment.mjs @@ -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, { diff --git a/module/data/countdowns.mjs b/module/data/countdowns.mjs index eaa8d9d9..e9649f6e 100644 --- a/module/data/countdowns.mjs +++ b/module/data/countdowns.mjs @@ -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' }) }) }) diff --git a/module/data/item/beastform.mjs b/module/data/item/beastform.mjs index 2f50ab21..2eb871ec 100644 --- a/module/data/item/beastform.mjs +++ b/module/data/item/beastform.mjs @@ -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, diff --git a/module/data/item/class.mjs b/module/data/item/class.mjs index ad0d8082..4d951ed4 100644 --- a/module/data/item/class.mjs +++ b/module/data/item/class.mjs @@ -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; } } diff --git a/module/data/item/domainCard.mjs b/module/data/item/domainCard.mjs index 3f64d74f..3451a14a 100644 --- a/module/data/item/domainCard.mjs +++ b/module/data/item/domainCard.mjs @@ -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; } } diff --git a/module/data/item/subclass.mjs b/module/data/item/subclass.mjs index eac1b288..3c47841d 100644 --- a/module/data/item/subclass.mjs +++ b/module/data/item/subclass.mjs @@ -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; } } diff --git a/module/data/levelTier.mjs b/module/data/levelTier.mjs index d29ce09e..b037d921 100644 --- a/module/data/levelTier.mjs +++ b/module/data/levelTier.mjs @@ -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, diff --git a/module/data/settings/Appearance.mjs b/module/data/settings/Appearance.mjs index 6382b613..8b04f558 100644 --- a/module/data/settings/Appearance.mjs +++ b/module/data/settings/Appearance.mjs @@ -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' } }; diff --git a/module/data/settings/Automation.mjs b/module/data/settings/Automation.mjs index bf2aed4b..013e9e1e 100644 --- a/module/data/settings/Automation.mjs +++ b/module/data/settings/Automation.mjs @@ -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; diff --git a/module/data/settings/Homebrew.mjs b/module/data/settings/Homebrew.mjs index d26de253..ead5a09f 100644 --- a/module/data/settings/Homebrew.mjs +++ b/module/data/settings/Homebrew.mjs @@ -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({ diff --git a/module/data/settings/RangeMeasurement.mjs b/module/data/settings/RangeMeasurement.mjs index 5d3e1125..71fb7787 100644 --- a/module/data/settings/RangeMeasurement.mjs +++ b/module/data/settings/RangeMeasurement.mjs @@ -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' + }) }; } } diff --git a/module/data/settings/VariantRules.mjs b/module/data/settings/VariantRules.mjs index 25e012bc..4428ae75 100644 --- a/module/data/settings/VariantRules.mjs +++ b/module/data/settings/VariantRules.mjs @@ -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' }) }; } diff --git a/module/dice/dualityRoll.mjs b/module/dice/dualityRoll.mjs index 0960ba1b..0f1c51d9 100644 --- a/module/dice/dualityRoll.mjs +++ b/module/dice/dualityRoll.mjs @@ -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) }); } diff --git a/module/documents/activeEffect.mjs b/module/documents/activeEffect.mjs index c27baccb..65610e7c 100644 --- a/module/documents/activeEffect.mjs +++ b/module/documents/activeEffect.mjs @@ -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, diff --git a/module/documents/actor.mjs b/module/documents/actor.mjs index a12d4e6a..812f7963 100644 --- a/module/documents/actor.mjs +++ b/module/documents/actor.mjs @@ -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 }) }); diff --git a/module/documents/item.mjs b/module/documents/item.mjs index a2a8955f..21674009 100644 --- a/module/documents/item.mjs +++ b/module/documents/item.mjs @@ -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, diff --git a/module/enrichers/DualityRollEnricher.mjs b/module/enrichers/DualityRollEnricher.mjs index 54fe2a1a..094a6948 100644 --- a/module/enrichers/DualityRollEnricher.mjs +++ b/module/enrichers/DualityRollEnricher.mjs @@ -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 = ` diff --git a/module/enrichers/TemplateEnricher.mjs b/module/enrichers/TemplateEnricher.mjs index 33061151..11523ce5 100644 --- a/module/enrichers/TemplateEnricher.mjs +++ b/module/enrichers/TemplateEnricher.mjs @@ -31,7 +31,7 @@ export default function DhTemplateEnricher(match, _options) { const templateElement = document.createElement('span'); templateElement.innerHTML = ` `; diff --git a/module/helpers/utils.mjs b/module/helpers/utils.mjs index 72a8a95d..e719b25e 100644 --- a/module/helpers/utils.mjs +++ b/module/helpers/utils.mjs @@ -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'); } }; diff --git a/module/systemRegistration/settings.mjs b/module/systemRegistration/settings.mjs index 6da1cce0..a4ed05c8 100644 --- a/module/systemRegistration/settings.mjs +++ b/module/systemRegistration/settings.mjs @@ -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, diff --git a/templates/actionTypes/beastform.hbs b/templates/actionTypes/beastform.hbs index 3ff4b0f1..d7ddba7a 100644 --- a/templates/actionTypes/beastform.hbs +++ b/templates/actionTypes/beastform.hbs @@ -1,17 +1,17 @@
-
{{localize "DAGGERHEART.Actions.Config.Beastform.label"}}
+
{{localize "DAGGERHEART.ACTIONS.Config.beastform.label"}}
- +
-

{{localize "DAGGERHEART.Actions.Config.Beastform.exactHint"}}

+

{{localize "DAGGERHEART.ACTIONS.Config.beastform.exactHint"}}

\ No newline at end of file diff --git a/templates/actionTypes/cost.hbs b/templates/actionTypes/cost.hbs index 62ca5644..515f4968 100644 --- a/templates/actionTypes/cost.hbs +++ b/templates/actionTypes/cost.hbs @@ -9,7 +9,7 @@ {{formField ../fields.type choices=(@root.disableOption index ../fields.type.choices ../source) label="Resource" value=cost.type name=(concat "cost." index ".type") localize=true}} {{formField ../fields.value label="Amount" value=cost.value name=(concat "cost." index ".value")}} {{formField ../fields.step label="Step" value=cost.step name=(concat "cost." index ".step") disabled=(not cost.scalable)}} - + {{/each}} \ No newline at end of file diff --git a/templates/actionTypes/effect.hbs b/templates/actionTypes/effect.hbs index 9214ecce..d144f2fc 100644 --- a/templates/actionTypes/effect.hbs +++ b/templates/actionTypes/effect.hbs @@ -15,7 +15,7 @@ {{#if @root.source.save.trait}}{{formInput ../fields.onSave value=effect.onSave name=(concat "effects." index ".onSave") dataset=(object tooltip="Applied even if save succeeded" tooltipDirection="UP")}}{{/if}}
- +
{{/each}} diff --git a/templates/characterCreation/footer.hbs b/templates/characterCreation/footer.hbs index 3cc3aa5e..fb9b6a29 100644 --- a/templates/characterCreation/footer.hbs +++ b/templates/characterCreation/footer.hbs @@ -1,4 +1,4 @@ \ No newline at end of file diff --git a/templates/characterCreation/tabs.hbs b/templates/characterCreation/tabs.hbs index 44065d4e..3983bcce 100644 --- a/templates/characterCreation/tabs.hbs +++ b/templates/characterCreation/tabs.hbs @@ -5,7 +5,7 @@ {{localize tab.label}}
{{#if tab.finished}}{{/if}}
- {{#if tab.optional}}
{{localize "DAGGERHEART.CharacterCreation.Tabs.Optional"}}
{{/if}} + {{#if tab.optional}}
{{localize "DAGGERHEART.GENERAL.Tabs.optional"}}
{{/if}}
{{/each}} diff --git a/templates/characterCreation/tabs/equipment.hbs b/templates/characterCreation/tabs/equipment.hbs index 75f2631e..c66088a2 100644 --- a/templates/characterCreation/tabs/equipment.hbs +++ b/templates/characterCreation/tabs/equipment.hbs @@ -6,11 +6,11 @@
- {{localize "DAGGERHEART.CharacterCreation.SuggestedArmor"}} + {{localize "DAGGERHEART.APPLICATIONS.CharacterCreation.suggestedArmor"}}
{{#> "systems/daggerheart/templates/components/card-preview.hbs" armor }} - {{localize "DAGGERHEART.CharacterCreation.SelectArmor"}} + {{localize "DAGGERHEART.APPLICATIONS.CharacterCreation.selectArmor"}} {{/"systems/daggerheart/templates/components/card-preview.hbs"}}
{{#if armor.suggestion}} @@ -24,13 +24,13 @@
- {{localize "DAGGERHEART.CharacterCreation.SuggestedWeapons"}} + {{localize "DAGGERHEART.APPLICATIONS.CharacterCreation.suggestedWeapons"}}
{{#> "systems/daggerheart/templates/components/card-preview.hbs" primaryWeapon }} - {{localize "DAGGERHEART.CharacterCreation.SelectPrimaryWeapon"}} + {{localize "DAGGERHEART.APPLICATIONS.CharacterCreation.selectPrimaryWeapon"}} {{/"systems/daggerheart/templates/components/card-preview.hbs"}}
{{#if primaryWeapon.suggestion}} @@ -45,7 +45,7 @@
{{#> "systems/daggerheart/templates/components/card-preview.hbs" secondaryWeapon }} - {{localize "DAGGERHEART.CharacterCreation.SelectSecondaryWeapon"}} + {{localize "DAGGERHEART.APPLICATIONS.CharacterCreation.selectSecondaryWeapon"}} {{/"systems/daggerheart/templates/components/card-preview.hbs"}}
{{#if secondaryWeapon.suggestion}} @@ -65,7 +65,7 @@
- {{localize "DAGGERHEART.CharacterCreation.StartingItems"}} + {{localize "DAGGERHEART.APPLICATIONS.CharacterCreation.startingItems"}}
{{#each inventory.take}} @@ -78,7 +78,7 @@
- {{localize "DAGGERHEART.CharacterCreation.Choice"}} + {{localize "DAGGERHEART.APPLICATIONS.CharacterCreation.choice"}}
{{#each inventory.choiceA.suggestions}} @@ -91,7 +91,7 @@
- {{localize "DAGGERHEART.CharacterCreation.Choice"}} + {{localize "DAGGERHEART.APPLICATIONS.CharacterCreation.choice"}}
{{#each inventory.choiceB.suggestions}} diff --git a/templates/characterCreation/tabs/setup.hbs b/templates/characterCreation/tabs/setup.hbs index 6dd04345..3f21fbb4 100644 --- a/templates/characterCreation/tabs/setup.hbs +++ b/templates/characterCreation/tabs/setup.hbs @@ -9,13 +9,13 @@
{{#> "systems/daggerheart/templates/components/card-preview.hbs" class }} - {{localize "DAGGERHEART.CharacterCreation.SelectClass"}} + {{localize "DAGGERHEART.APPLICATIONS.CharacterCreation.selectClass"}} {{/"systems/daggerheart/templates/components/card-preview.hbs"}}
{{#> "systems/daggerheart/templates/components/card-preview.hbs" subclass disabled=(not class.img) }} - {{localize "DAGGERHEART.CharacterCreation.SelectSubclass"}} + {{localize "DAGGERHEART.APPLICATIONS.CharacterCreation.selectSubclass"}} {{/"systems/daggerheart/templates/components/card-preview.hbs"}}
@@ -23,17 +23,17 @@ {{#if (gte visibility 2)}}
- {{localize "DAGGERHEART.CharacterCreation.Heritage"}} + {{localize "DAGGERHEART.APPLICATIONS.CharacterCreation.heritage"}}
{{#> "systems/daggerheart/templates/components/card-preview.hbs" ancestry }} - {{localize "DAGGERHEART.CharacterCreation.SelectAncestry"}} + {{localize "DAGGERHEART.APPLICATIONS.CharacterCreation.selectAncestry"}} {{/"systems/daggerheart/templates/components/card-preview.hbs"}}
{{#> "systems/daggerheart/templates/components/card-preview.hbs" community }} - {{localize "DAGGERHEART.CharacterCreation.SelectCommunity"}} + {{localize "DAGGERHEART.APPLICATIONS.CharacterCreation.selectCommunity"}} {{/"systems/daggerheart/templates/components/card-preview.hbs"}}
@@ -42,10 +42,10 @@ {{#if (gte visibility 3)}}
- {{localize "DAGGERHEART.CharacterCreation.TraitIncreases"}} {{traits.nrSelected}}/{{traits.nrTotal}} + {{localize "DAGGERHEART.APPLICATIONS.CharacterCreation.traitIncreases"}} {{traits.nrSelected}}/{{traits.nrTotal}}
- {{localize "DAGGERHEART.CharacterCreation.SuggestedTraits"}} + {{localize "DAGGERHEART.APPLICATIONS.CharacterCreation.suggestedTraits"}}
{{#each suggestedTraits}}
{{this}}
@@ -69,11 +69,11 @@ {{#if (gte visibility 4)}}
- {{localize "DAGGERHEART.CharacterCreation.InitialExperiences"}} {{experience.nrSelected}}/{{experience.nrTotal}} + {{localize "DAGGERHEART.APPLICATIONS.CharacterCreation.initialExperiences"}} {{experience.nrSelected}}/{{experience.nrTotal}}
{{#each experience.values as |experience id|}}
- +
{{numberFormat this.value sign=true}}
{{/each}} @@ -89,7 +89,7 @@
{{#> "systems/daggerheart/templates/components/card-preview.hbs" domainCard }} {{#each @root.class.system.domains }} -
{{localize (concat "DAGGERHEART.Domains." this ".label")}}
+
{{localize (concat "DAGGERHEART.GENERAL.Domain." this ".label")}}
{{/each}} {{/"systems/daggerheart/templates/components/card-preview.hbs"}}
diff --git a/templates/dialogs/beastformDialog.hbs b/templates/dialogs/beastformDialog.hbs index a9a0f757..05f87b89 100644 --- a/templates/dialogs/beastformDialog.hbs +++ b/templates/dialogs/beastformDialog.hbs @@ -13,6 +13,6 @@ {{/each}}
- +
\ No newline at end of file diff --git a/templates/dialogs/damageReduction.hbs b/templates/dialogs/damageReduction.hbs index 33bf53aa..4c30bbfc 100644 --- a/templates/dialogs/damageReduction.hbs +++ b/templates/dialogs/damageReduction.hbs @@ -2,12 +2,12 @@
-

{{localize "DAGGERHEART.DamageReduction.ArmorMarks"}}

+

{{localize "DAGGERHEART.APPLICATIONS.DamageReduction.armorMarks"}}

{{armorMarks}}/{{armorScore}}
{{#if this.stress}}
-

{{localize "DAGGERHEART.DamageReduction.Stress"}}

+

{{localize "DAGGERHEART.APPLICATIONS.DamageReduction.stress"}}

{{this.stress.value}}/{{this.stress.maxTotal}}
{{/if}} @@ -30,19 +30,19 @@ {{#each marks.stress}}
{{/each}}
-
{{localize "DAGGERHEART.DamageReduction.UsedMarks"}}
+
{{localize "DAGGERHEART.APPLICATIONS.DamageReduction.usedMarks"}}
-

{{localize "DAGGERHEART.DamageReduction.StressReduction"}}

+

{{localize "DAGGERHEART.APPLICATIONS.DamageReduction.stressReduction"}}

diff --git a/templates/dialogs/deathMove.hbs b/templates/dialogs/deathMove.hbs index 3b041ea3..1747a340 100644 --- a/templates/dialogs/deathMove.hbs +++ b/templates/dialogs/deathMove.hbs @@ -13,7 +13,7 @@ {{/each}}
- +
\ No newline at end of file diff --git a/templates/dialogs/dice-roll/rollSelection.hbs b/templates/dialogs/dice-roll/rollSelection.hbs index fb0b2074..c01b33ba 100644 --- a/templates/dialogs/dice-roll/rollSelection.hbs +++ b/templates/dialogs/dice-roll/rollSelection.hbs @@ -97,7 +97,7 @@ {{else}} {{/if}} - {{localize "DAGGERHEART.General.Advantage.Full"}} + {{localize "DAGGERHEART.GENERAL.Advantage.full"}} {{#unless (eq @root.rollType 'D20Roll')}} {{selectOptions @root.ownershipOptions selected=ownership.default labelAttr="label" valueAttr="value" }} diff --git a/templates/levelup/tabs/selections.hbs b/templates/levelup/tabs/selections.hbs index 9d1d00b8..f6996934 100644 --- a/templates/levelup/tabs/selections.hbs +++ b/templates/levelup/tabs/selections.hbs @@ -6,12 +6,12 @@
{{#if (gt this.newExperiences.length 0)}}
-

{{localize "DAGGERHEART.Application.LevelUp.summary.newExperiences"}}

+

{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.newExperiences"}}

{{#each this.newExperiences}}
- +
{{numberFormat this.modifier sign=true}}
@@ -26,7 +26,7 @@ {{#if this.traits.active}}

-
{{localize "DAGGERHEART.Application.LevelUp.summary.traits"}}
+
{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.traits"}}
{{this.traits.progress.selected}}/{{this.traits.progress.max}}

@@ -37,7 +37,7 @@ {{#if this.experienceIncreases.active}}

-
{{localize "DAGGERHEART.Application.LevelUp.summary.experienceIncreases"}}
+
{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.experienceIncreases"}}
{{this.experienceIncreases.progress.selected}}/{{this.experienceIncreases.progress.max}}

@@ -47,7 +47,7 @@ {{#if (gt this.domainCards.length 0)}}
-

{{localize "DAGGERHEART.Application.LevelUp.summary.domainCards"}}

+

{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.domainCards"}}

{{#each this.domainCards}} @@ -63,7 +63,7 @@ {{#if (gt this.subclassCards.length 0)}}
-

{{localize "DAGGERHEART.Application.LevelUp.summary.subclass"}}

+

{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.subclass"}}

{{#each this.subclassCards}} @@ -75,7 +75,7 @@ {{#if this.multiclass}}
-

{{localize "DAGGERHEART.Application.LevelUp.summary.multiclass"}}

+

{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.multiclass"}}

{{#> "systems/daggerheart/templates/components/card-preview.hbs" this.multiclass }} @@ -114,7 +114,7 @@ {{#if this.vicious}}
-

{{localize "DAGGERHEART.Application.LevelUp.summary.vicious"}}

+

{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.vicious"}}

{{#each this.vicious}}
{{radioBoxes (concat "levelup." this.path ".data") @root.viciousChoices checked=(lookup this.data 0)}} diff --git a/templates/levelup/tabs/summary.hbs b/templates/levelup/tabs/summary.hbs index dc7e2a47..78220b23 100644 --- a/templates/levelup/tabs/summary.hbs +++ b/templates/levelup/tabs/summary.hbs @@ -6,13 +6,13 @@
{{#if this.achievements}}
- {{localize "DAGGERHEART.Application.LevelUp.summary.levelAchievements"}} + {{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.levelAchievements"}}
{{#if this.achievements.proficiency.shown}}
- {{localize "DAGGERHEART.Application.LevelUp.summary.proficiencyIncrease" proficiency=this.achievements.proficiency.old }} + {{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.proficiencyIncrease" proficiency=this.achievements.proficiency.old }} {{this.achievements.proficiency.new}}
@@ -20,14 +20,14 @@ {{/if}} {{#if this.achievements.damageThresholds}}
-
{{localize "DAGGERHEART.Application.LevelUp.summary.damageThresholds"}}{{#if this.levelAchievements.damageThresholds.unarmored}}({{localize "DAGGERHEART.General.unarmored"}}){{/if}}
+
{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.damageThresholds"}}{{#if this.levelAchievements.damageThresholds.unarmored}}({{localize "DAGGERHEART.GENERAL.unarmored"}}){{/if}}
- {{localize "DAGGERHEART.Application.LevelUp.summary.damageThresholdMajorIncrease" threshold=this.achievements.damageThresholds.major.old }} + {{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.damageThresholdMajorIncrease" threshold=this.achievements.damageThresholds.major.old }} {{this.achievements.damageThresholds.major.new}}
- {{localize "DAGGERHEART.Application.LevelUp.summary.damageThresholdSevereIncrease" threshold=this.achievements.damageThresholds.severe.old }} + {{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.damageThresholdSevereIncrease" threshold=this.achievements.damageThresholds.severe.old }} {{this.achievements.damageThresholds.severe.new}}
@@ -35,7 +35,7 @@ {{/if}} {{#if this.achievements.domainCards.shown}}
-
{{localize "DAGGERHEART.Application.LevelUp.summary.domainCards"}}
+
{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.domainCards"}}
{{#each this.achievements.domainCards.values}}
{{this.name}}
@@ -45,7 +45,7 @@ {{/if}} {{#if this.achievements.experiences.shown}}
-
{{localize "DAGGERHEART.Application.LevelUp.summary.newExperiences"}}
+
{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.newExperiences"}}
{{#each this.achievements.experiences.values}}
{{this.name}} {{numberFormat this.modifier sign=true}}
@@ -57,14 +57,14 @@
{{/if}}
- {{localize "DAGGERHEART.Application.LevelUp.summary.levelAdvancements"}} + {{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.levelAdvancements"}}
{{#if this.advancements.statistics.shown}}
{{#if this.advancements.statistics.proficiency.shown}}
- {{localize "DAGGERHEART.Application.LevelUp.summary.proficiencyIncrease" proficiency=this.advancements.statistics.proficiency.old }} + {{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.proficiencyIncrease" proficiency=this.advancements.statistics.proficiency.old }} {{this.advancements.statistics.proficiency.new}}
@@ -72,7 +72,7 @@ {{#if this.advancements.statistics.hitPoints.shown}}
- {{localize "DAGGERHEART.Application.LevelUp.summary.hpIncrease" hitPoints=this.advancements.statistics.hitPoints.old }} + {{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.hpIncrease" hitPoints=this.advancements.statistics.hitPoints.old }} {{this.advancements.statistics.hitPoints.new}}
@@ -80,14 +80,14 @@ {{#if this.advancements.statistics.stress.shown}}
- {{localize "DAGGERHEART.Application.LevelUp.summary.stressIncrease" stress=this.advancements.statistics.stress.old }} + {{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.stressIncrease" stress=this.advancements.statistics.stress.old }} {{this.advancements.statistics.stress.new}}
{{/if}} {{#if this.advancements.statistics.evasion.shown}}
- {{localize "DAGGERHEART.Application.LevelUp.summary.evasionIncrease" evasion=this.advancements.statistics.evasion.old }} + {{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.evasionIncrease" evasion=this.advancements.statistics.evasion.old }} {{this.advancements.statistics.evasion.new}}
@@ -97,7 +97,7 @@ {{#if this.advancements.traits}}
-
{{localize "DAGGERHEART.Application.LevelUp.summary.traits"}}
+
{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.traits"}}
{{#each this.advancements.traits}}
@@ -111,7 +111,7 @@ {{#if this.advancements.domainCards}}
-
{{localize "DAGGERHEART.Application.LevelUp.summary.domainCards"}}
+
{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.domainCards"}}
{{#each this.advancements.domainCards}}
{{this.name}}
@@ -122,7 +122,7 @@ {{#if this.advancements.experiences}}
-
{{localize "DAGGERHEART.Application.LevelUp.summary.experienceIncreases"}}
+
{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.experienceIncreases"}}
{{#each this.advancements.experiences}}
{{this.name}} {{numberFormat this.modifier sign=true}}
@@ -133,7 +133,7 @@ {{#if this.advancements.subclass}}
-
{{localize "DAGGERHEART.Application.LevelUp.summary.subclass"}}
+
{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.subclass"}}
{{#each this.advancements.subclass}}
{{this.name}} - {{this.featureLabel}}
@@ -145,7 +145,7 @@ {{#if this.advancements.multiclass}} {{#with this.advancements.multiclass}}
-
{{localize "DAGGERHEART.Application.LevelUp.summary.multiclass"}}
+
{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.multiclass"}}
{{this.name}}
{{this.domain}}
@@ -157,21 +157,21 @@ {{#if this.advancements.vicious.damage}}
- {{localize "DAGGERHEART.Application.LevelUp.summary.damageIncreased" damage=this.advancements.vicious.damage.old }} + {{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.damageIncreased" damage=this.advancements.vicious.damage.old }} {{this.advancements.vicious.damage.new}}
{{/if}} {{#if this.advancements.vicious.range}}
- {{localize "DAGGERHEART.Application.LevelUp.summary.rangeIncreased" range=this.advancements.vicious.range.old }} + {{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.rangeIncreased" range=this.advancements.vicious.range.old }} {{this.advancements.vicious.range.new}}
{{/if}} {{#each this.advancements.simple}}
-
{{localize "DAGGERHEART.Application.LevelUp.summary.simpleFeature" feature=this}}
+
{{localize "DAGGERHEART.APPLICATIONS.Levelup.summary.simpleFeature" feature=this}}
{{/each}}
diff --git a/templates/levelup/tabs/tab-navigation.hbs b/templates/levelup/tabs/tab-navigation.hbs index 3552825b..82aacf1e 100644 --- a/templates/levelup/tabs/tab-navigation.hbs +++ b/templates/levelup/tabs/tab-navigation.hbs @@ -19,7 +19,7 @@ {{/if}}
{{#if this.navigate.previous.fromSummary}} - + {{else}} {{#if (not this.navigate.previous.disabled)}} @@ -27,7 +27,7 @@ {{/if}} {{#if this.navigate.next.show}} {{#if this.navigate.next.toSummary}} - + {{else}} {{/if}} diff --git a/templates/settings/appearance-settings.hbs b/templates/settings/appearance-settings.hbs index 6464f9c9..5aa6d28d 100644 --- a/templates/settings/appearance-settings.hbs +++ b/templates/settings/appearance-settings.hbs @@ -2,104 +2,104 @@ {{formGroup settingFields.schema.fields.displayFear value=settingFields._source.displayFear localize=true}}
- {{localize "DAGGERHEART.Settings.Menu.Appearance.duality"}} + {{localize "DAGGERHEART.SETTINGS.Menu.appearance.duality"}} {{formInput settingFields.schema.fields.dualityColorScheme value=settingFields._source.dualityColorScheme localize=true}} -

{{localize "DAGGERHEART.Settings.Menu.Appearance.DiceSoNice.title"}}

-
{{localize "DAGGERHEART.Settings.Menu.Appearance.DiceSoNice.hint"}}
+

{{localize "DAGGERHEART.SETTINGS.Menu.appearance.diceSoNice.title"}}

+
{{localize "DAGGERHEART.SETTINGS.Menu.appearance.diceSoNice.hint"}}
- {{localize "DAGGERHEART.General.Hope"}} + {{localize "DAGGERHEART.GENERAL.hope"}}
- + {{formInput settingFields.schema.fields.diceSoNice.fields.hope.fields.foreground value=settingFields._source.diceSoNice.hope.foreground localize=true}}
- + {{formInput settingFields.schema.fields.diceSoNice.fields.hope.fields.background value=settingFields._source.diceSoNice.hope.background localize=true}}
- + {{formInput settingFields.schema.fields.diceSoNice.fields.hope.fields.outline value=settingFields._source.diceSoNice.hope.outline localize=true}}
- + {{formInput settingFields.schema.fields.diceSoNice.fields.hope.fields.edge value=settingFields._source.diceSoNice.hope.edge localize=true}}
- {{localize "DAGGERHEART.General.Fear"}} + {{localize "DAGGERHEART.GENERAL.fear"}}
- + {{formInput settingFields.schema.fields.diceSoNice.fields.fear.fields.foreground value=settingFields._source.diceSoNice.fear.foreground localize=true}}
- + {{formInput settingFields.schema.fields.diceSoNice.fields.fear.fields.background value=settingFields._source.diceSoNice.fear.background localize=true}}
- + {{formInput settingFields.schema.fields.diceSoNice.fields.fear.fields.outline value=settingFields._source.diceSoNice.fear.outline localize=true}}
- + {{formInput settingFields.schema.fields.diceSoNice.fields.fear.fields.edge value=settingFields._source.diceSoNice.fear.edge localize=true}}
- {{localize "DAGGERHEART.General.Advantage.Full"}} + {{localize "DAGGERHEART.GENERAL.Advantage.full"}}
- + {{formInput settingFields.schema.fields.diceSoNice.fields.advantage.fields.foreground value=settingFields._source.diceSoNice.advantage.foreground localize=true}}
- + {{formInput settingFields.schema.fields.diceSoNice.fields.advantage.fields.background value=settingFields._source.diceSoNice.advantage.background localize=true}}
- + {{formInput settingFields.schema.fields.diceSoNice.fields.advantage.fields.outline value=settingFields._source.diceSoNice.advantage.outline localize=true}}
- + {{formInput settingFields.schema.fields.diceSoNice.fields.advantage.fields.edge value=settingFields._source.diceSoNice.advantage.edge localize=true}}
- {{localize "DAGGERHEART.General.Disadvantage.Full"}} + {{localize "DAGGERHEART.GENERAL.Disadvantage.full"}}
- + {{formInput settingFields.schema.fields.diceSoNice.fields.disadvantage.fields.foreground value=settingFields._source.diceSoNice.disadvantage.foreground localize=true}}
- + {{formInput settingFields.schema.fields.diceSoNice.fields.disadvantage.fields.background value=settingFields._source.diceSoNice.disadvantage.background localize=true}}
- + {{formInput settingFields.schema.fields.diceSoNice.fields.disadvantage.fields.outline value=settingFields._source.diceSoNice.disadvantage.outline localize=true}}
- + {{formInput settingFields.schema.fields.diceSoNice.fields.disadvantage.fields.edge value=settingFields._source.diceSoNice.disadvantage.edge localize=true}}
diff --git a/templates/settings/automation-settings.hbs b/templates/settings/automation-settings.hbs index 8db980c7..1b7b9e44 100644 --- a/templates/settings/automation-settings.hbs +++ b/templates/settings/automation-settings.hbs @@ -1,18 +1,18 @@
- +
{{formInput settingFields.schema.fields.hope value=settingFields._source.hope }}
- +
{{formInput settingFields.schema.fields.actionPoints value=settingFields._source.actionPoints }}
- +
{{formInput settingFields.schema.fields.countdowns value=settingFields._source.countdowns }}
diff --git a/templates/settings/homebrew-settings.hbs b/templates/settings/homebrew-settings.hbs index e32830fe..4d0e1f29 100644 --- a/templates/settings/homebrew-settings.hbs +++ b/templates/settings/homebrew-settings.hbs @@ -1,11 +1,11 @@
{{formGroup settingFields.schema.fields.maxFear value=settingFields._source.maxFear localize=true}} -

{{localize "DAGGERHEART.Settings.Homebrew.FIELDS.traitArray.label"}}

+

{{localize "DAGGERHEART.SETTINGS.Homebrew.FIELDS.traitArray.label"}}

{{#each settingFields._source.traitArray as |trait index|}}
- +
{{/each}} @@ -13,7 +13,7 @@
- {{localize "DAGGERHEART.Settings.Homebrew.Currency.title"}} + {{localize "DAGGERHEART.SETTINGS.Homebrew.currency.title"}} {{formGroup settingFields.schema.fields.currency.fields.enabled value=settingFields._source.currency.enabled localize=true}} {{formGroup settingFields.schema.fields.currency.fields.title value=settingFields._source.currency.title localize=true}} @@ -25,17 +25,17 @@
- {{localize "DAGGERHEART.Settings.Homebrew.DowntimeMoves"}} + {{localize "DAGGERHEART.SETTINGS.Homebrew.downtimeMoves"}}
- {{localize "DAGGERHEART.Downtime.LongRest.title"}} + {{localize "DAGGERHEART.APPLICATIONS.Downtime.longRest.title"}}
- +
@@ -50,13 +50,13 @@
- {{localize "DAGGERHEART.Downtime.ShortRest.title"}} + {{localize "DAGGERHEART.APPLICATIONS.Downtime.shortRest.title"}}
- +
diff --git a/templates/settings/variant-rules.hbs b/templates/settings/variant-rules.hbs index f4fa3fdf..1ee18b99 100644 --- a/templates/settings/variant-rules.hbs +++ b/templates/settings/variant-rules.hbs @@ -1,6 +1,6 @@
- +
{{formGroup settingFields.schema.fields.actionTokens.fields.enabled value=settingFields._source.actionTokens.enabled localize=true}} diff --git a/templates/sheets-settings/adversary-settings/attack.hbs b/templates/sheets-settings/adversary-settings/attack.hbs index a40aeae1..eb7183b2 100644 --- a/templates/sheets-settings/adversary-settings/attack.hbs +++ b/templates/sheets-settings/adversary-settings/attack.hbs @@ -4,12 +4,12 @@ data-group="{{tabs.attack.group}}" >
- {{localize "DAGGERHEART.General.basics"}} + {{localize "DAGGERHEART.GENERAL.basics"}} {{formGroup systemFields.attack.fields.img value=document.system.attack.img label="Image Path" name="system.attack.img"}} {{formGroup systemFields.attack.fields.name value=document.system.attack.name label="Attack Name" name="system.attack.name"}}
- {{localize "DAGGERHEART.Sheets.Adversary.Attack"}} + {{localize "DAGGERHEART.GENERAL.attack"}} {{formField systemFields.attack.fields.roll.fields.bonus value=document.system.attack.roll.bonus label="Attack Bonus" name="system.attack.roll.bonus"}} {{formField systemFields.attack.fields.range value=document.system.attack.range label="Range" name="system.attack.range" localize=true}} {{#if systemFields.attack.fields.target.fields}} diff --git a/templates/sheets-settings/adversary-settings/details.hbs b/templates/sheets-settings/adversary-settings/details.hbs index 885e2f5f..08668fd8 100644 --- a/templates/sheets-settings/adversary-settings/details.hbs +++ b/templates/sheets-settings/adversary-settings/details.hbs @@ -4,34 +4,34 @@ data-group='{{tabs.details.group}}' >
- {{localize 'DAGGERHEART.General.basics'}} + {{localize 'DAGGERHEART.GENERAL.basics'}}
{{formGroup systemFields.tier value=document.system.tier localize=true}} {{formGroup systemFields.type value=document.system.type localize=true}} {{#if (eq document.system.type 'horde')}} - {{formGroup systemFields.hordeHp value=document.system.hordeHp label=(localize "DAGGERHEART.Sheets.Adversary.horderHp")}} + {{formGroup systemFields.hordeHp value=document.system.hordeHp label=(localize "DAGGERHEART.ACTORS.Adversary.horderHp")}} {{/if}} {{formGroup systemFields.difficulty value=document.system.difficulty localize=true}}
- {{formField systemFields.description value=document.system.description label=(localize "DAGGERHEART.Sheets.Adversary.FIELDS.description.label")}} - {{formField systemFields.motivesAndTactics value=document.system.motivesAndTactics label=(localize "DAGGERHEART.Sheets.Adversary.FIELDS.motivesAndTactics.label")}} + {{formField systemFields.description value=document.system.description label=(localize "DAGGERHEART.ACTORS.Adversary.FIELDS.description.label")}} + {{formField systemFields.motivesAndTactics value=document.system.motivesAndTactics label=(localize "DAGGERHEART.ACTORS.Adversary.FIELDS.motivesAndTactics.label")}}
- {{localize "DAGGERHEART.Sheets.Adversary.HitPoints"}} + {{localize "DAGGERHEART.GENERAL.hitPoints"}} {{formGroup systemFields.resources.fields.hitPoints.fields.value value=document.system.resources.hitPoints.value}} {{formGroup systemFields.resources.fields.hitPoints.fields.max value=document.system.resources.hitPoints.max}}
- {{localize "DAGGERHEART.Sheets.Adversary.Stress"}} + {{localize "DAGGERHEART.GENERAL.stress"}} {{formGroup systemFields.resources.fields.stress.fields.value value=document.system.resources.stress.value}} {{formGroup systemFields.resources.fields.stress.fields.max value=document.system.resources.stress.max}}
- {{localize "DAGGERHEART.Sheets.Adversary.DamageThresholds"}} + {{localize "DAGGERHEART.GENERAL.DamageThresholds.title"}} {{formGroup systemFields.damageThresholds.fields.major value=document.system.damageThresholds.major}} {{formGroup systemFields.damageThresholds.fields.severe value=document.system.damageThresholds.severe}}
diff --git a/templates/sheets-settings/adversary-settings/experiences.hbs b/templates/sheets-settings/adversary-settings/experiences.hbs index 92e1f69a..26ac5d44 100644 --- a/templates/sheets-settings/adversary-settings/experiences.hbs +++ b/templates/sheets-settings/adversary-settings/experiences.hbs @@ -14,7 +14,7 @@
  • - +
  • {{/each}} diff --git a/templates/sheets-settings/adversary-settings/features.hbs b/templates/sheets-settings/adversary-settings/features.hbs index 497bf1c6..e0a1bfce 100644 --- a/templates/sheets-settings/adversary-settings/features.hbs +++ b/templates/sheets-settings/adversary-settings/features.hbs @@ -17,7 +17,7 @@
    - +
    {{/each}} diff --git a/templates/sheets-settings/companion-settings/attack.hbs b/templates/sheets-settings/companion-settings/attack.hbs index ad68b34e..0c874ac1 100644 --- a/templates/sheets-settings/companion-settings/attack.hbs +++ b/templates/sheets-settings/companion-settings/attack.hbs @@ -4,12 +4,12 @@ data-group="{{tabs.attack.group}}" >
    - {{localize "DAGGERHEART.General.basics"}} + {{localize "DAGGERHEART.GENERAL.basics"}} {{formGroup systemFields.attack.fields.img value=document.system.attack.img label="Image Path" name="system.attack.img"}} {{formGroup systemFields.attack.fields.name value=document.system.attack.name label="Attack Name" name="system.attack.name"}}
    - {{localize "DAGGERHEART.Sheets.Adversary.Attack"}} + {{localize "DAGGERHEART.GENERAL.attack"}} {{formField systemFields.attack.fields.range value=document.system.attack.range label="Range" name="system.attack.range" localize=true}} {{#if systemFields.attack.fields.target.fields}} {{ formField systemFields.attack.fields.target.fields.type value=document.system.attack.target.type label="Target" name="system.attack.target.type" localize=true }} diff --git a/templates/sheets-settings/companion-settings/details.hbs b/templates/sheets-settings/companion-settings/details.hbs index 9aea2d05..802db637 100644 --- a/templates/sheets-settings/companion-settings/details.hbs +++ b/templates/sheets-settings/companion-settings/details.hbs @@ -4,7 +4,7 @@ data-group='{{tabs.details.group}}' >
    - {{localize 'DAGGERHEART.General.basics'}} + {{localize 'DAGGERHEART.GENERAL.basics'}}
    {{formGroup systemFields.evasion.fields.value value=document.system.evasion.value localize=true}} {{formGroup systemFields.resources.fields.stress.fields.value value=document.system.resources.stress.value label='Current Stress'}} @@ -12,7 +12,7 @@
    - + diff --git a/templates/sheets-settings/environment-settings/adversaries.hbs b/templates/sheets-settings/environment-settings/adversaries.hbs index 2d994be3..8d75f943 100644 --- a/templates/sheets-settings/environment-settings/adversaries.hbs +++ b/templates/sheets-settings/environment-settings/adversaries.hbs @@ -11,7 +11,7 @@ {{this.label}}
    - +
    {{#each this.adversaries as |adversary|}} diff --git a/templates/sheets-settings/environment-settings/details.hbs b/templates/sheets-settings/environment-settings/details.hbs index 2c0e06c4..1f8c45f2 100644 --- a/templates/sheets-settings/environment-settings/details.hbs +++ b/templates/sheets-settings/environment-settings/details.hbs @@ -4,13 +4,13 @@ data-group='{{tabs.details.group}}' >
    - {{localize 'DAGGERHEART.General.basics'}} + {{localize 'DAGGERHEART.GENERAL.basics'}}
    {{formGroup systemFields.tier value=document.system.tier localize=true}} {{formGroup systemFields.type value=document.system.type localize=true}} {{formGroup systemFields.difficulty value=document.system.difficulty localize=true}}
    - {{formField systemFields.description value=document.system.description label=(localize "DAGGERHEART.Sheets.Environment.FIELDS.description.label")}} - {{formField systemFields.impulses value=document.system.impulses label=(localize "DAGGERHEART.Sheets.Environment.FIELDS.impulses.label")}} + {{formField systemFields.description value=document.system.description label=(localize "DAGGERHEART.ACTORS.Environment.FIELDS.description.label")}} + {{formField systemFields.impulses value=document.system.impulses label=(localize "DAGGERHEART.ACTORS.Environment.FIELDS.impulses.label")}}
    \ No newline at end of file diff --git a/templates/sheets-settings/environment-settings/features.hbs b/templates/sheets-settings/environment-settings/features.hbs index 497bf1c6..e0a1bfce 100644 --- a/templates/sheets-settings/environment-settings/features.hbs +++ b/templates/sheets-settings/environment-settings/features.hbs @@ -17,7 +17,7 @@
    - +
    {{/each}} diff --git a/templates/sheets/actors/adversary/effects.hbs b/templates/sheets/actors/adversary/effects.hbs index 817b07ae..3d378802 100644 --- a/templates/sheets/actors/adversary/effects.hbs +++ b/templates/sheets/actors/adversary/effects.hbs @@ -3,6 +3,6 @@ data-tab='{{tabs.effects.id}}' data-group='{{tabs.effects.group}}' > - {{> 'systems/daggerheart/templates/sheets/global/partials/inventory-fieldset-items.hbs' title=(localize 'DAGGERHEART.Sheets.Global.activeEffects') type='effect'}} - {{> 'systems/daggerheart/templates/sheets/global/partials/inventory-fieldset-items.hbs' title=(localize 'DAGGERHEART.Sheets.Global.inactiveEffects') type='effect'}} + {{> 'systems/daggerheart/templates/sheets/global/partials/inventory-fieldset-items.hbs' title=(localize 'DAGGERHEART.GENERAL.activeEffects') type='effect'}} + {{> 'systems/daggerheart/templates/sheets/global/partials/inventory-fieldset-items.hbs' title=(localize 'DAGGERHEART.GENERAL.inactiveEffects') type='effect'}} \ No newline at end of file diff --git a/templates/sheets/actors/adversary/header.hbs b/templates/sheets/actors/adversary/header.hbs index 6fd131f7..9b126f73 100644 --- a/templates/sheets/actors/adversary/header.hbs +++ b/templates/sheets/actors/adversary/header.hbs @@ -9,12 +9,12 @@
    - {{localize (concat 'DAGGERHEART.Tiers.' source.system.tier)}} + {{localize (concat 'DAGGERHEART.GENERAL.Tiers.' source.system.tier)}}
    - {{localize (concat 'DAGGERHEART.Adversary.Type.' source.system.type '.label')}} + {{localize (concat 'DAGGERHEART.CONFIG.AdversaryType.' source.system.type '.label')}}
    {{#if (eq source.system.type 'horde')}} @@ -30,7 +30,7 @@ {{source.system.description}}
    - {{localize 'DAGGERHEART.Sheets.Adversary.FIELDS.motivesAndTactics.label'}}: {{{source.system.motivesAndTactics}}} + {{localize 'DAGGERHEART.ACTORS.Adversary.FIELDS.motivesAndTactics.label'}}: {{{source.system.motivesAndTactics}}}
    diff --git a/templates/sheets/actors/adversary/sidebar.hbs b/templates/sheets/actors/adversary/sidebar.hbs index ce2b20be..8a410348 100644 --- a/templates/sheets/actors/adversary/sidebar.hbs +++ b/templates/sheets/actors/adversary/sidebar.hbs @@ -1,7 +1,7 @@
    @@ -57,7 +57,7 @@ {{#if document.system.multiclass.value}} {{document.system.multiclass.value.name}} {{else}} - {{localize 'DAGGERHEART.Sheets.PC.Heritage.Multiclass'}} + {{localize 'DAGGERHEART.GENERAL.multiclass'}} {{/if}} {{#if document.system.multiclass.subclass}} @@ -73,7 +73,7 @@
    -

    {{localize "DAGGERHEART.General.Hope"}}

    +

    {{localize "DAGGERHEART.GENERAL.hope"}}

    {{#times document.system.resources.hope.max}} {{#if (gte ../document.system.resources.hope.value (add this 1))}} @@ -85,11 +85,11 @@ {{/times}}
    -

    {{localize "DAGGERHEART.Sheets.PC.Health.Minor"}}

    +

    {{localize "DAGGERHEART.GENERAL.DamageThresholds.minor"}}

    {{document.system.damageThresholds.major}}

    -

    {{localize "DAGGERHEART.Sheets.PC.Health.Major"}}

    +

    {{localize "DAGGERHEART.GENERAL.DamageThresholds.major"}}

    {{document.system.damageThresholds.severe}}

    -

    {{localize "DAGGERHEART.Sheets.PC.Health.Severe"}}

    +

    {{localize "DAGGERHEART.GENERAL.DamageThresholds.severe"}}

    @@ -97,7 +97,7 @@ {{#each this.attributes as |attribute key|}}
    - {{localize (concat 'DAGGERHEART.Abilities.' key '.short')}} + {{localize (concat 'DAGGERHEART.CONFIG.Traits.' key '.short')}} {{#if attribute.tierMarked}} {{else}} diff --git a/templates/sheets/actors/character/loadout.hbs b/templates/sheets/actors/character/loadout.hbs index c9c9d4b2..887f1b2b 100644 --- a/templates/sheets/actors/character/loadout.hbs +++ b/templates/sheets/actors/character/loadout.hbs @@ -25,15 +25,15 @@
    {{#if this.abilities.loadout.listView}} - {{> 'systems/daggerheart/templates/sheets/global/partials/inventory-fieldset-items.hbs' title=(localize 'DAGGERHEART.Sheets.PC.Tabs.Loadout') type='domainCard' isGlassy=true cardView='list'}} + {{> 'systems/daggerheart/templates/sheets/global/partials/inventory-fieldset-items.hbs' title=(localize 'DAGGERHEART.GENERAL.Tabs.loadout') type='domainCard' isGlassy=true cardView='list'}} {{else}} - {{> 'systems/daggerheart/templates/sheets/global/partials/inventory-fieldset-items.hbs' title=(localize 'DAGGERHEART.Sheets.PC.Tabs.Loadout') type='domainCard' isGlassy=true cardView='card'}} + {{> 'systems/daggerheart/templates/sheets/global/partials/inventory-fieldset-items.hbs' title=(localize 'DAGGERHEART.GENERAL.Tabs.loadout') type='domainCard' isGlassy=true cardView='card'}} {{/if}} {{#if this.abilities.loadout.listView}} - {{> 'systems/daggerheart/templates/sheets/global/partials/inventory-fieldset-items.hbs' title=(localize 'DAGGERHEART.Sheets.PC.Tabs.Vault') type='domainCard' isVault=true isGlassy=true cardView='list'}} + {{> 'systems/daggerheart/templates/sheets/global/partials/inventory-fieldset-items.hbs' title=(localize 'DAGGERHEART.GENERAL.Tabs.vault') type='domainCard' isVault=true isGlassy=true cardView='list'}} {{else}} - {{> 'systems/daggerheart/templates/sheets/global/partials/inventory-fieldset-items.hbs' title=(localize 'DAGGERHEART.Sheets.PC.Tabs.Vault') type='domainCard' isVault=true isGlassy=true cardView='card'}} + {{> 'systems/daggerheart/templates/sheets/global/partials/inventory-fieldset-items.hbs' title=(localize 'DAGGERHEART.GENERAL.Tabs.vault') type='domainCard' isVault=true isGlassy=true cardView='card'}} {{/if}} diff --git a/templates/sheets/actors/character/sidebar.hbs b/templates/sheets/actors/character/sidebar.hbs index 1f54be0e..f1e2b345 100644 --- a/templates/sheets/actors/character/sidebar.hbs +++ b/templates/sheets/actors/character/sidebar.hbs @@ -1,7 +1,7 @@

    - {{localize "DAGGERHEART.Sheets.Companion.Level"}} + {{localize "DAGGERHEART.GENERAL.level"}} {{source.system.levelData.level.changed}}

    diff --git a/templates/sheets/actors/companion/tempMain.hbs b/templates/sheets/actors/companion/tempMain.hbs index f1f315ed..7d0d13a3 100644 --- a/templates/sheets/actors/companion/tempMain.hbs +++ b/templates/sheets/actors/companion/tempMain.hbs @@ -2,7 +2,7 @@ {{document.name}}
    - + @@ -12,7 +12,7 @@ {{formGroup systemFields.resources.fields.stress.fields.value value=source.system.resources.stress.value localize=true }} {{formGroup systemFields.evasion.fields.value value=source.system.evasion.value localize=true }} -
    {{localize "DAGGERHEART.Sheets.Companion.Experiences"}}
    +
    {{localize "DAGGERHEART.GENERAL.Experience.plural"}}
    {{#each source.system.experiences as |experience key|}}
    @@ -25,7 +25,7 @@
    - +
    @@ -35,7 +35,7 @@
    - +
    {{source.system.levelData.level.changed}}
    diff --git a/templates/sheets/actors/environment/header.hbs b/templates/sheets/actors/environment/header.hbs index d7fa9c3a..ca49e764 100644 --- a/templates/sheets/actors/environment/header.hbs +++ b/templates/sheets/actors/environment/header.hbs @@ -6,13 +6,13 @@
    - {{localize (concat 'DAGGERHEART.Tiers.' source.system.tier)}} + {{localize (concat 'DAGGERHEART.GENERAL.Tiers.' source.system.tier)}}
    {{#if source.system.type}}
    - {{localize (concat 'DAGGERHEART.Environment.Type.' source.system.type '.label')}} + {{localize (concat 'DAGGERHEART.CONFIG.EnvironmentType.' source.system.type '.label')}}
    {{/if}} @@ -37,7 +37,7 @@ {{source.system.description}}
    - {{localize 'DAGGERHEART.Sheets.Environment.FIELDS.impulses.label'}}: {{{source.system.impulses}}} + {{localize 'DAGGERHEART.ACTORS.Environment.FIELDS.impulses.label'}}: {{{source.system.impulses}}}
    diff --git a/templates/sheets/global/partials/action-item.hbs b/templates/sheets/global/partials/action-item.hbs index 5259f31a..c9c859a5 100644 --- a/templates/sheets/global/partials/action-item.hbs +++ b/templates/sheets/global/partials/action-item.hbs @@ -10,7 +10,7 @@
    --}}
    - - + +
    \ No newline at end of file diff --git a/templates/sheets/global/partials/domain-card-item.hbs b/templates/sheets/global/partials/domain-card-item.hbs index 37fa978d..45ce6044 100644 --- a/templates/sheets/global/partials/domain-card-item.hbs +++ b/templates/sheets/global/partials/domain-card-item.hbs @@ -3,29 +3,29 @@
    {{#if (eq type 'weapon')}} - + {{/if}} {{#if (eq type 'armor')}} - + {{/if}} {{#if (eq type 'domainCard')}} {{#unless item.system.inVault}} - + {{else}} - + {{/unless}} {{/if}} - - + +
    {{item.name}}
    diff --git a/templates/sheets/global/partials/feature-section-item.hbs b/templates/sheets/global/partials/feature-section-item.hbs index 7bcf7736..a1eb6432 100644 --- a/templates/sheets/global/partials/feature-section-item.hbs +++ b/templates/sheets/global/partials/feature-section-item.hbs @@ -11,7 +11,7 @@ data-action='editFeature' data-feature='{{feature._id}}' data-type='{{type}}' - data-tooltip='{{localize "DAGGERHEART.Tooltip.openItemWorld"}}' + data-tooltip='{{localize "DAGGERHEART.UI.Tooltip.openItemWorld"}}' > @@ -20,7 +20,7 @@ data-action='deleteFeature' data-feature='{{feature._id}}' data-type='{{type}}' - data-tooltip='{{localize "DAGGERHEART.Tooltip.delete"}}' + data-tooltip='{{localize "CONTROLS.CommonDelete"}}' > diff --git a/templates/sheets/global/partials/inventory-item.hbs b/templates/sheets/global/partials/inventory-item.hbs index 0dcc485a..06bc1228 100644 --- a/templates/sheets/global/partials/inventory-item.hbs +++ b/templates/sheets/global/partials/inventory-item.hbs @@ -11,24 +11,24 @@ {{#if isSidebar}}
    - {{localize (concat 'DAGGERHEART.Abilities.' item.system.trait '.name')}} - {{localize (concat 'DAGGERHEART.Range.' item.system.range '.name')}} + {{localize (concat 'DAGGERHEART.CONFIG.Traits.' item.system.trait '.name')}} + {{localize (concat 'DAGGERHEART.CONFIG.Range.' item.system.range '.name')}} - {{item.system.damage.value}} - ({{localize (concat 'DAGGERHEART.DamageType.' item.system.damage.type '.abbreviation')}}) + ({{localize (concat 'DAGGERHEART.CONFIG.DamageType.' item.system.damage.type '.abbreviation')}})
    {{else}}
    - {{localize (concat 'DAGGERHEART.Abilities.' item.system.trait '.name')}} - {{localize (concat 'DAGGERHEART.Range.' item.system.range '.name')}} + {{localize (concat 'DAGGERHEART.CONFIG.Traits.' item.system.trait '.name')}} + {{localize (concat 'DAGGERHEART.CONFIG.Range.' item.system.range '.name')}}
    {{item.system.damage.value}} - ({{localize (concat 'DAGGERHEART.DamageType.' item.system.damage.type '.abbreviation')}}) + ({{localize (concat 'DAGGERHEART.CONFIG.DamageType.' item.system.damage.type '.abbreviation')}})
    - {{localize (concat 'DAGGERHEART.Burden.' item.system.burden)}} + {{localize (concat 'DAGGERHEART.CONFIG.Burden.' item.system.burden)}}
    {{/if}}
    @@ -37,18 +37,18 @@ {{#if isSidebar}}
    - {{localize "DAGGERHEART.Sheets.Armor.baseScore"}}: + {{localize "DAGGERHEART.ITEMS.Armor.baseScore"}}: {{item.system.baseScore}}
    {{else}}
    - {{localize "DAGGERHEART.Sheets.Armor.baseScore"}}: + {{localize "DAGGERHEART.ITEMS.Armor.baseScore"}}: {{item.system.baseScore}}
    - {{localize "DAGGERHEART.Sheets.Armor.baseThresholds.base"}}: + {{localize "DAGGERHEART.ITEMS.Armor.baseThresholds.base"}}: {{item.system.baseThresholds.major}} / {{item.system.baseThresholds.severe}} @@ -60,9 +60,9 @@ {{#if isSidebar}}
    - {{localize (concat 'DAGGERHEART.Domain.CardTypes.' item.system.type)}} + {{localize (concat 'DAGGERHEART.CONFIG.DomainCardTypes.' item.system.type)}} - - {{localize (concat 'DAGGERHEART.Domains.' item.system.domain '.label')}} + {{localize (concat 'DAGGERHEART.GENERAL.Domain.' item.system.domain '.label')}} - {{item.system.recallCost}} @@ -71,13 +71,13 @@ {{else}}
    - {{localize (concat 'DAGGERHEART.Domain.CardTypes.' item.system.type)}} + {{localize (concat 'DAGGERHEART.CONFIG.DomainCardTypes.' item.system.type)}}
    - {{localize (concat 'DAGGERHEART.Domains.' item.system.domain '.label')}} + {{localize (concat 'DAGGERHEART.GENERAL.Domain.' item.system.domain '.label')}}
    - {{localize "DAGGERHEART.Sheets.DomainCard.RecallCost"}}: + {{localize "DAGGERHEART.ITEMS.DomainCard.recallCost"}}: {{item.system.recallCost}}
    @@ -92,14 +92,14 @@
    {{#if item.duration.duration}} - {{localize 'DAGGERHEART.Effects.duration.temporary'}} + {{localize 'DAGGERHEART.EFFECTS.Duration.temporary'}} {{else}} - {{localize 'DAGGERHEART.Effects.duration.passive'}} + {{localize 'DAGGERHEART.EFFECTS.Duration.passive'}} {{/if}}
    {{#each item.statuses as |status|}}
    - {{localize (concat 'DAGGERHEART.Condition.' status '.name')}} + {{localize (concat 'DAGGERHEART.CONFIG.Condition.' status '.name')}}
    {{/each}}
    @@ -107,10 +107,10 @@ {{#if (eq type 'action')}}
    - {{localize (concat 'DAGGERHEART.Actions.Types.' item.type '.name')}} + {{localize (concat 'DAGGERHEART.ACTIONS.TYPES.' item.type '.name')}}
    - {{localize (concat 'DAGGERHEART.ActionType.' item.actionType)}} + {{localize (concat 'DAGGERHEART.CONFIG.ActionType.' item.actionType)}}
    {{/if}} @@ -119,15 +119,15 @@ {{#if isActor}}
    {{#if (eq type 'actor')}} - + {{/if}} {{#if (eq type 'adversary')}} - + - + {{/if}} @@ -135,29 +135,29 @@ {{else}}
    {{#if (eq type 'weapon')}} - + {{/if}} {{#if (eq type 'armor')}} - + {{/if}} {{#if (eq type 'domainCard')}} {{#unless item.system.inVault}} - + {{else}} - + {{/unless}} {{/if}} - - + +
    {{/if}} {{else}} diff --git a/templates/sheets/global/tabs/tab-actions.hbs b/templates/sheets/global/tabs/tab-actions.hbs index 44c6082d..54345bed 100644 --- a/templates/sheets/global/tabs/tab-actions.hbs +++ b/templates/sheets/global/tabs/tab-actions.hbs @@ -4,7 +4,7 @@ data-group='{{tabs.actions.group}}' >
    - {{localize "DAGGERHEART.Sheets.Global.Actions"}} + {{localize "DAGGERHEART.GENERAL.Action.plural"}}
    {{#each document.system.actions as |action index|}}
    - {{localize "DAGGERHEART.Sheets.Feature.Description"}} + {{localize "DAGGERHEART.GENERAL.description"}} {{formInput systemFields.description value=document.system.description enriched=enrichedDescription toggled=true}}
    \ No newline at end of file diff --git a/templates/sheets/global/tabs/tab-effects.hbs b/templates/sheets/global/tabs/tab-effects.hbs index e6191c80..384f13b7 100644 --- a/templates/sheets/global/tabs/tab-effects.hbs +++ b/templates/sheets/global/tabs/tab-effects.hbs @@ -4,7 +4,7 @@ data-group='{{tabs.effects.group}}' >
    - {{localize "DAGGERHEART.Sheets.Global.Effects"}} + {{localize "DAGGERHEART.GENERAL.Effect.plural"}}
    {{#each document.effects as |effect|}}
    diff --git a/templates/sheets/global/tabs/tab-feature-section.hbs b/templates/sheets/global/tabs/tab-feature-section.hbs index f82c84b1..ca6af184 100644 --- a/templates/sheets/global/tabs/tab-feature-section.hbs +++ b/templates/sheets/global/tabs/tab-feature-section.hbs @@ -4,7 +4,7 @@ data-group='{{tabs.features.group}}' >
    - {{localize "DAGGERHEART.Sheets.Feature.Tabs.Features"}} + {{localize "DAGGERHEART.GENERAL.Tabs.features"}}
    {{#each source.system.abilities as |feature key|}} {{> 'systems/daggerheart/templates/sheets/global/partials/feature-section-item.hbs' feature=feature}} diff --git a/templates/sheets/global/tabs/tab-features.hbs b/templates/sheets/global/tabs/tab-features.hbs index 8ea1d534..71f6f1f1 100644 --- a/templates/sheets/global/tabs/tab-features.hbs +++ b/templates/sheets/global/tabs/tab-features.hbs @@ -4,7 +4,7 @@ data-group='{{tabs.features.group}}' >
    - {{localize "DAGGERHEART.Sheets.Global.Features"}} + {{localize "DAGGERHEART.GENERAL.features"}}
    {{#each document.system.features as |feature|}}

    - {{localize "DAGGERHEART.Sheets.Armor.baseScore"}}: + {{localize "DAGGERHEART.ITEMS.Armor.baseScore"}}: {{source.system.baseScore}} - - {{localize "DAGGERHEART.Sheets.Armor.baseThresholds.base"}}: + {{localize "DAGGERHEART.ITEMS.Armor.baseThresholds.base"}}: {{source.system.baseThresholds.major}} / {{source.system.baseThresholds.severe}} diff --git a/templates/sheets/items/armor/settings.hbs b/templates/sheets/items/armor/settings.hbs index 6a2341d9..e7bde6fe 100644 --- a/templates/sheets/items/armor/settings.hbs +++ b/templates/sheets/items/armor/settings.hbs @@ -5,18 +5,18 @@ >
    {{localize tabs.settings.label}} - {{localize "DAGGERHEART.Tiers.singular"}} + {{localize "DAGGERHEART.GENERAL.Tiers.singular"}} {{formField systemFields.tier value=source.system.tier}} - {{localize "DAGGERHEART.Sheets.Armor.baseScore"}} + {{localize "DAGGERHEART.ITEMS.Armor.baseScore"}} {{formField systemFields.baseScore value=source.system.baseScore}} - {{localize "DAGGERHEART.Sheets.Armor.feature"}} + {{localize "TYPES.Item.feature"}} - {{localize "DAGGERHEART.Sheets.Armor.baseThresholds.base"}} + {{localize "DAGGERHEART.ITEMS.Armor.baseThresholds.base"}}
    - {{ formField systemFields.baseThresholds.fields.major value=source.system.baseThresholds.major label=(localize "DAGGERHEART.Sheets.Armor.baseThresholds.major") }} - {{ formField systemFields.baseThresholds.fields.severe value=source.system.baseThresholds.severe label=(localize "DAGGERHEART.Sheets.Armor.baseThresholds.severe") }} + {{ formField systemFields.baseThresholds.fields.major value=source.system.baseThresholds.major label=(localize "DAGGERHEART.ITEMS.Armor.baseThresholds.major") }} + {{ formField systemFields.baseThresholds.fields.severe value=source.system.baseThresholds.severe label=(localize "DAGGERHEART.ITEMS.Armor.baseThresholds.severe") }}
    \ No newline at end of file diff --git a/templates/sheets/items/beastform/settings.hbs b/templates/sheets/items/beastform/settings.hbs index a9052122..78af825f 100644 --- a/templates/sheets/items/beastform/settings.hbs +++ b/templates/sheets/items/beastform/settings.hbs @@ -9,19 +9,19 @@

    - {{localize "DAGGERHEART.Sheets.Beastform.FIELDS.advantageOn.label"}} + {{localize "DAGGERHEART.ITEMS.Beastform.FIELDS.advantageOn.label"}} {{!-- {{formGroup systemFields.examples value=source.system.examples localize=true}} --}}
    - {{localize "DAGGERHEART.Sheets.Beastform.tokenTitle"}} + {{localize "DAGGERHEART.ITEMS.Beastform.tokenTitle"}}
    {{formGroup systemFields.tokenImg value=source.system.tokenImg localize=true}}
    - {{formGroup systemFields.tokenSize.fields.height value=source.system.tokenSize.height localize=true placeholder=(localize "DAGGERHEART.Sheets.Beastform.FIELDS.tokenSize.placeholder") }} - {{formGroup systemFields.tokenSize.fields.width value=source.system.tokenSize.width localize=true placeholder=(localize "DAGGERHEART.Sheets.Beastform.FIELDS.tokenSize.placeholder")}} + {{formGroup systemFields.tokenSize.fields.height value=source.system.tokenSize.height localize=true placeholder=(localize "DAGGERHEART.ITEMS.Beastform.FIELDS.tokenSize.placeholder") }} + {{formGroup systemFields.tokenSize.fields.width value=source.system.tokenSize.width localize=true placeholder=(localize "DAGGERHEART.ITEMS.Beastform.FIELDS.tokenSize.placeholder")}}
    \ No newline at end of file diff --git a/templates/sheets/items/class/features.hbs b/templates/sheets/items/class/features.hbs index 811d6ce5..96ce2655 100644 --- a/templates/sheets/items/class/features.hbs +++ b/templates/sheets/items/class/features.hbs @@ -5,7 +5,7 @@ >
    - {{localize "DAGGERHEART.Sheets.Class.HopeFeatures"}} + {{localize "DAGGERHEART.ITEMS.Class.hopeFeatures"}}
    {{#each source.system.hopeFeatures as |feature|}} {{> 'systems/daggerheart/templates/sheets/global/partials/feature-section-item.hbs' type='hope' feature=feature}} @@ -14,7 +14,7 @@
    - {{localize "DAGGERHEART.Sheets.Class.ClassFeatures"}} + {{localize "DAGGERHEART.ITEMS.Class.classFeatures"}}
    {{#each source.system.classFeatures as |feature|}} {{> 'systems/daggerheart/templates/sheets/global/partials/feature-section-item.hbs' type='class' feature=feature}} @@ -38,7 +38,7 @@ class='effect-control' data-action='viewDoc' data-uuid={{subclass.uuid}} - data-tooltip='{{localize "DAGGERHEART.Tooltip.openItemWorld"}}' + data-tooltip='{{localize "DAGGERHEART.UI.Tooltip.openItemWorld"}}' > @@ -47,7 +47,7 @@ data-action='removeItemFromCollection' data-target="subclasses" data-uuid={{subclass.uuid}} - data-tooltip='{{localize "DAGGERHEART.Tooltip.delete"}}' + data-tooltip='{{localize "CONTROLS.CommonDelete"}}' > diff --git a/templates/sheets/items/class/header.hbs b/templates/sheets/items/class/header.hbs index 6d601987..6b60ada6 100644 --- a/templates/sheets/items/class/header.hbs +++ b/templates/sheets/items/class/header.hbs @@ -5,7 +5,7 @@

    {{localize 'TYPES.Item.class'}}

    - {{localize "DAGGERHEART.Sheets.Class.Domains"}} + {{localize "DAGGERHEART.GENERAL.Domain.plural"}}

    diff --git a/templates/sheets/items/class/settings.hbs b/templates/sheets/items/class/settings.hbs index 47e3ddb9..b110bf4c 100644 --- a/templates/sheets/items/class/settings.hbs +++ b/templates/sheets/items/class/settings.hbs @@ -11,31 +11,31 @@
    - {{localize "DAGGERHEART.Sheets.Class.Guide.Suggestions.Traits.Title"}} + {{localize "DAGGERHEART.GENERAL.Trait.plural"}} - {{localize "DAGGERHEART.Abilities.agility.name"}} + {{localize "DAGGERHEART.CONFIG.Traits.agility.name"}} - {{localize "DAGGERHEART.Abilities.strength.name"}} + {{localize "DAGGERHEART.CONFIG.Traits.strength.name"}} - {{localize "DAGGERHEART.Abilities.finesse.name"}} + {{localize "DAGGERHEART.CONFIG.Traits.finesse.name"}} - {{localize "DAGGERHEART.Abilities.instinct.name"}} + {{localize "DAGGERHEART.CONFIG.Traits.instinct.name"}} - {{localize "DAGGERHEART.Abilities.presence.name"}} + {{localize "DAGGERHEART.CONFIG.Traits.presence.name"}} - {{localize "DAGGERHEART.Abilities.knowledge.name"}} + {{localize "DAGGERHEART.CONFIG.Traits.knowledge.name"}}
    - {{localize "DAGGERHEART.Sheets.Class.Guide.Suggestions.Title"}} + {{localize "DAGGERHEART.ITEMS.Class.guide.suggestedEquipment"}}
    - {{localize "DAGGERHEART.Sheets.Class.Guide.SuggestedPrimaryWeaponTitle"}} + {{localize "DAGGERHEART.ITEMS.Class.guide.suggestedPrimaryWeaponTitle"}}
    {{#if document.system.characterGuide.suggestedPrimaryWeapon}}
    @@ -50,7 +50,7 @@
    - {{localize "DAGGERHEART.Sheets.Class.Guide.SuggestedSecondaryWeaponTitle"}} + {{localize "DAGGERHEART.ITEMS.Class.guide.suggestedSecondaryWeaponTitle"}}
    {{#if document.system.characterGuide.suggestedSecondaryWeapon}}
    @@ -65,7 +65,7 @@
    - {{localize "DAGGERHEART.Sheets.Class.Guide.SuggestedArmorTitle"}} + {{localize "DAGGERHEART.ITEMS.Class.guide.suggestedArmorTitle"}}
    {{#if document.system.characterGuide.suggestedArmor}}
    @@ -81,9 +81,9 @@
    - {{localize "DAGGERHEART.Sheets.Class.Guide.Inventory.Title"}} + {{localize "DAGGERHEART.GENERAL.inventory"}}
    - {{localize "DAGGERHEART.Sheets.Class.Guide.Inventory.Take"}} + {{localize "DAGGERHEART.GENERAL.take"}}
    {{#each source.system.inventory.take}}
    @@ -98,7 +98,7 @@
    - {{localize "DAGGERHEART.Sheets.Class.Guide.Inventory.ThenChoose"}} + {{localize "DAGGERHEART.ITEMS.Class.guide.inventory.thenChoose"}}
    {{#each source.system.inventory.choiceA}}
    @@ -113,7 +113,7 @@
    - {{localize "DAGGERHEART.Sheets.Class.Guide.Inventory.AndEither"}} + {{localize "DAGGERHEART.ITEMS.Class.guide.inventory.andEither"}}
    {{#each source.system.inventory.choiceB}}
    diff --git a/templates/sheets/items/consumable/settings.hbs b/templates/sheets/items/consumable/settings.hbs index d3a9e2bb..71bb2a83 100644 --- a/templates/sheets/items/consumable/settings.hbs +++ b/templates/sheets/items/consumable/settings.hbs @@ -5,10 +5,10 @@ >
    {{localize tabs.settings.label}} - {{localize "DAGGERHEART.Sheets.Consumable.Quantity"}} + {{localize "DAGGERHEART.GENERAL.quantity"}} {{formField systemFields.quantity value=source.system.quantity}} - {{localize "DAGGERHEART.Sheets.Consumable.ConsumeOnUse"}} + {{localize "DAGGERHEART.ITEMS.Consumable.consumeOnUse"}} {{formField systemFields.consumeOnUse value=source.system.consumeOnUse}}
    \ No newline at end of file diff --git a/templates/sheets/items/domainCard/header.hbs b/templates/sheets/items/domainCard/header.hbs index a875ef56..566de11c 100644 --- a/templates/sheets/items/domainCard/header.hbs +++ b/templates/sheets/items/domainCard/header.hbs @@ -2,7 +2,7 @@
    - {{localize "DAGGERHEART.Sheets.DomainCard.RecallCost"}} + {{localize "DAGGERHEART.ITEMS.DomainCard.recallCost"}} {{source.system.recallCost}} @@ -12,11 +12,11 @@

    {{localize 'TYPES.Item.domainCard'}}

    - {{localize (concat 'DAGGERHEART.Domain.CardTypes.' source.system.type)}} + {{localize (concat 'DAGGERHEART.CONFIG.DomainCardTypes.' source.system.type)}} - - {{localize (concat 'DAGGERHEART.Domains.' source.system.domain '.label')}} + {{localize (concat 'DAGGERHEART.GENERAL.Domain.' source.system.domain '.label')}} - - {{localize "DAGGERHEART.Sheets.DomainCard.Level"}}: + {{localize "DAGGERHEART.GENERAL.level"}}: {{source.system.level}}

    diff --git a/templates/sheets/items/domainCard/settings.hbs b/templates/sheets/items/domainCard/settings.hbs index 2a55fb88..5c653fdc 100644 --- a/templates/sheets/items/domainCard/settings.hbs +++ b/templates/sheets/items/domainCard/settings.hbs @@ -6,15 +6,15 @@
    {{localize tabs.settings.label}} - {{localize "DAGGERHEART.Sheets.DomainCard.Type"}} + {{localize "DAGGERHEART.GENERAL.type"}} {{formField systemFields.type value=source.system.type localize=true}} - {{localize "DAGGERHEART.Sheets.DomainCard.Foundation"}} + {{localize "DAGGERHEART.ITEMS.DomainCard.foundation"}} {{formField systemFields.foundation value=source.system.foundation }} - {{localize "DAGGERHEART.Sheets.DomainCard.Domain"}} + {{localize "DAGGERHEART.GENERAL.Domain.single"}} {{formField systemFields.domain value=source.system.domain localize=true}} - {{localize "DAGGERHEART.Sheets.DomainCard.Level"}} + {{localize "DAGGERHEART.GENERAL.level"}} {{formField systemFields.level value=source.system.level data-dtype="Number"}} - {{localize "DAGGERHEART.Sheets.DomainCard.RecallCost"}} + {{localize "DAGGERHEART.ITEMS.DomainCard.recallCost"}} {{formField systemFields.recallCost value=source.system.recallCost data-dtype="Number"}}
    \ No newline at end of file diff --git a/templates/sheets/items/miscellaneous/settings.hbs b/templates/sheets/items/miscellaneous/settings.hbs index 96c1dbe9..e853c1db 100644 --- a/templates/sheets/items/miscellaneous/settings.hbs +++ b/templates/sheets/items/miscellaneous/settings.hbs @@ -5,7 +5,7 @@ >
    {{localize tabs.settings.label}} - {{localize "DAGGERHEART.Sheets.Miscellaneous.Quantity"}} + {{localize "DAGGERHEART.GENERAL.quantity"}} {{formField systemFields.quantity value=source.system.quantity}}
    \ No newline at end of file diff --git a/templates/sheets/items/subclass/features.hbs b/templates/sheets/items/subclass/features.hbs index 98dcb054..d2424d01 100644 --- a/templates/sheets/items/subclass/features.hbs +++ b/templates/sheets/items/subclass/features.hbs @@ -5,7 +5,7 @@ >
    - {{localize "DAGGERHEART.Sheets.Subclass.Tabs.Foundation"}} + {{localize "DAGGERHEART.GENERAL.Tabs.foundation"}} @@ -18,7 +18,7 @@
    - {{localize "DAGGERHEART.Sheets.Subclass.Tabs.Specialization"}} + {{localize "DAGGERHEART.GENERAL.Tabs.specialization"}} @@ -31,7 +31,7 @@
    - {{localize "DAGGERHEART.Sheets.Subclass.Tabs.Mastery"}} + {{localize "DAGGERHEART.GENERAL.Tabs.mastery"}} diff --git a/templates/sheets/items/subclass/header.hbs b/templates/sheets/items/subclass/header.hbs index 8459949b..ed0ff057 100644 --- a/templates/sheets/items/subclass/header.hbs +++ b/templates/sheets/items/subclass/header.hbs @@ -4,7 +4,7 @@

    {{localize 'TYPES.Item.subclass'}}

    - {{#if source.system.spellcastingTrait}}

    {{localize (concat 'DAGGERHEART.Abilities.' source.system.spellcastingTrait '.name')}}

    {{/if}} + {{#if source.system.spellcastingTrait}}

    {{localize (concat 'DAGGERHEART.CONFIG.Traits.' source.system.spellcastingTrait '.name')}}

    {{/if}}
    \ No newline at end of file diff --git a/templates/sheets/items/subclass/settings.hbs b/templates/sheets/items/subclass/settings.hbs index 2d8c3381..237ba9db 100644 --- a/templates/sheets/items/subclass/settings.hbs +++ b/templates/sheets/items/subclass/settings.hbs @@ -6,7 +6,7 @@
    {{localize tabs.settings.label}} - {{localize "DAGGERHEART.Sheets.Subclass.SpellcastingTrait"}} + {{localize "DAGGERHEART.ITEMS.Subclass.spellcastingTrait"}} {{formField systemFields.spellcastingTrait value=source.system.spellcastingTrait localize=true}}
    \ No newline at end of file diff --git a/templates/sheets/items/weapon/header.hbs b/templates/sheets/items/weapon/header.hbs index 7a10bcc1..f381de0a 100644 --- a/templates/sheets/items/weapon/header.hbs +++ b/templates/sheets/items/weapon/header.hbs @@ -5,20 +5,20 @@

    {{#if source.system.secondary}} -

    {{localize "DAGGERHEART.Sheets.Weapon.SecondaryWeapon"}}

    +

    {{localize "DAGGERHEART.ITEMS.Weapon.secondaryWeapon"}}

    {{else}} -

    {{localize "DAGGERHEART.Sheets.Weapon.PrimaryWeapon"}}

    +

    {{localize "DAGGERHEART.ITEMS.Weapon.primaryWeapon"}}

    {{/if}}

    - {{localize (concat 'DAGGERHEART.Abilities.' source.system.trait '.short')}} + {{localize (concat 'DAGGERHEART.CONFIG.Traits.' source.system.trait '.short')}} - - {{localize (concat 'DAGGERHEART.Range.' source.system.range '.name')}} + {{localize (concat 'DAGGERHEART.CONFIG.Range.' source.system.range '.name')}} - {{log this}} {{source.system.damage.dice}} + {{source.system.damage.bonus}} - ({{localize (concat 'DAGGERHEART.DamageType.' source.system.damage.type '.abbreviation')}}) + ({{localize (concat 'DAGGERHEART.CONFIG.DamageType.' source.system.damage.type '.abbreviation')}}) - - {{localize (concat 'DAGGERHEART.Burden.' source.system.burden)}} + {{localize (concat 'DAGGERHEART.CONFIG.Burden.' source.system.burden)}}

    diff --git a/templates/sheets/items/weapon/settings.hbs b/templates/sheets/items/weapon/settings.hbs index b431f1dd..5fe0b9bd 100644 --- a/templates/sheets/items/weapon/settings.hbs +++ b/templates/sheets/items/weapon/settings.hbs @@ -5,30 +5,30 @@ >
    {{localize tabs.settings.label}} - {{localize "DAGGERHEART.Tiers.singular"}} + {{localize "DAGGERHEART.GENERAL.Tiers.singular"}} {{formField systemFields.tier value=source.system.tier}} - {{localize "DAGGERHEART.Sheets.Weapon.SecondaryWeapon"}} + {{localize "DAGGERHEART.ITEMS.Weapon.secondaryWeapon"}} {{formField systemFields.secondary value=source.system.secondary}} - {{localize "DAGGERHEART.Sheets.Weapon.Trait"}} + {{localize "DAGGERHEART.GENERAL.Trait.single"}} {{formField systemFields.trait value=source.system.trait localize=true}} - {{localize "DAGGERHEART.Sheets.Weapon.Range"}} + {{localize "DAGGERHEART.GENERAL.range"}} {{formField systemFields.range value=source.system.range localize=true}} - {{localize "DAGGERHEART.Sheets.Weapon.Burden"}} + {{localize "DAGGERHEART.GENERAL.burden"}} {{formField systemFields.burden value=source.system.burden localize=true}}
    - {{localize "DAGGERHEART.Sheets.Weapon.Damage.Title"}} - {{localize "DAGGERHEART.Sheets.Weapon.Damage.Die"}} + {{localize "DAGGERHEART.GENERAL.title"}} + {{localize "DAGGERHEART.GENERAL.Dice.single"}} {{formGroup systemFields.damage.fields.dice value=source.system.damage.dice}} - {{localize "DAGGERHEART.Sheets.Weapon.Damage.Bonus"}} + {{localize "DAGGERHEART.GENERAL.bonus"}} {{formGroup systemFields.damage.fields.bonus value=source.system.damage.bonus}} - {{localize "DAGGERHEART.Sheets.Weapon.Damage.Type"}} + {{localize "DAGGERHEART.GENERAL.type"}} {{formGroup systemFields.damage.fields.type value=source.system.damage.type localize=true}}
    - {{localize "DAGGERHEART.Sheets.Weapon.Feature"}} - {{localize "DAGGERHEART.Sheets.Weapon.Feature"}} + {{localize "TYPES.Item.feature"}} + {{localize "TYPES.Item.feature"}}
    \ No newline at end of file diff --git a/templates/ui/chat/adversary-attack-roll.hbs b/templates/ui/chat/adversary-attack-roll.hbs index f6051bfe..74e0d7ca 100644 --- a/templates/ui/chat/adversary-attack-roll.hbs +++ b/templates/ui/chat/adversary-attack-roll.hbs @@ -1,5 +1,5 @@
    -
    {{localize "DAGGERHEART.Chat.AttackRoll.Title" attack=this.title}}
    +
    {{localize "DAGGERHEART.UI.Chat.attackRoll.title" attack=this.title}}
    {{roll.formula}}
    @@ -17,7 +17,7 @@
  • {{result}}
  • {{/each}} -
    {{#if ../advantageState}}{{localize "DAGGERHEART.General.Advantage.Full"}}{{/if}}{{#if (eq ../advantageState false)}}{{localize "DAGGERHEART.General.Disadvantage.Full"}}{{/if}}
    +
    {{#if ../advantageState}}{{localize "DAGGERHEART.GENERAL.Advantage.full"}}{{/if}}{{#if (eq ../advantageState false)}}{{localize "DAGGERHEART.GENERAL.Disadvantage.full"}}{{/if}}
    {{/each}}
    diff --git a/templates/ui/chat/adversary-roll.hbs b/templates/ui/chat/adversary-roll.hbs index 1b58ea9b..1f97fefe 100644 --- a/templates/ui/chat/adversary-roll.hbs +++ b/templates/ui/chat/adversary-roll.hbs @@ -19,7 +19,7 @@ {{#if (eq index 0)}}
    - {{#if (eq ../roll.advantage.type 1)}}{{localize "DAGGERHEART.General.Advantage.Full"}}{{/if}}{{#if (eq ../roll.advantage.type -1)}}{{localize "DAGGERHEART.General.Disadvantage.Full"}}{{/if}} + {{#if (eq ../roll.advantage.type 1)}}{{localize "DAGGERHEART.GENERAL.Advantage.full"}}{{/if}}{{#if (eq ../roll.advantage.type -1)}}{{localize "DAGGERHEART.GENERAL.Disadvantage.full"}}{{/if}}
    {{/if}}
    @@ -49,12 +49,11 @@
    {{#if damage.roll}}
    - {{!-- --}} - +
    {{else}}
    - +
    {{/if}}
    diff --git a/templates/ui/chat/apply-effects.hbs b/templates/ui/chat/apply-effects.hbs index 2b54fed4..41e31888 100644 --- a/templates/ui/chat/apply-effects.hbs +++ b/templates/ui/chat/apply-effects.hbs @@ -3,7 +3,7 @@
    {{{description}}}
    - +
    \ No newline at end of file diff --git a/templates/ui/chat/damage-roll.hbs b/templates/ui/chat/damage-roll.hbs index 2d008e06..f1fbb6c1 100644 --- a/templates/ui/chat/damage-roll.hbs +++ b/templates/ui/chat/damage-roll.hbs @@ -3,7 +3,7 @@
    - +
    diff --git a/templates/ui/chat/deathMove.hbs b/templates/ui/chat/deathMove.hbs index ebc577cb..c3c961cb 100644 --- a/templates/ui/chat/deathMove.hbs +++ b/templates/ui/chat/deathMove.hbs @@ -1,6 +1,6 @@

    -
    {{this.player}} {{localize "DAGGERHEART.Chat.DeathMove.Title"}}
    +
    {{this.player}} {{localize "DAGGERHEART.UI.Chat.deathMove.title"}}
    {{this.title}}

    diff --git a/templates/ui/chat/duality-roll.hbs b/templates/ui/chat/duality-roll.hbs index d9c56988..4242c515 100644 --- a/templates/ui/chat/duality-roll.hbs +++ b/templates/ui/chat/duality-roll.hbs @@ -8,12 +8,12 @@ {{/each}} {{#if (eq roll.advantage.type 1)}}
    - {{localize "DAGGERHEART.General.Advantage.Full"}} + {{localize "DAGGERHEART.GENERAL.Advantage.full"}}
    {{/if}} {{#if (eq roll.advantage.type -1)}}
    - {{localize "DAGGERHEART.General.Disadvantage.Full"}} + {{localize "DAGGERHEART.GENERAL.Disadvantage.full"}}
    {{/if}}
    @@ -33,10 +33,10 @@
      -
    1. +
    2. -
      {{localize "DAGGERHEART.General.Hope"}}
      -
      +
      {{localize "DAGGERHEART.GENERAL.hope"}}
      +
      @@ -44,10 +44,10 @@
    3. -
    4. +
    5. -
      {{localize "DAGGERHEART.General.Fear"}}
      -
      +
      {{localize "DAGGERHEART.GENERAL.fear"}}
      +
      @@ -136,15 +136,15 @@ {{#if damage.roll}} {{else}} - + {{/if}} {{else}} {{#if hasHealing}} - + {{/if}} {{/if}} {{#if hasEffect}} - + {{/if}}
      {{roll.total}} {{#if (eq roll.result.duality 1)}}With Hope{{else}}{{#if (eq roll.result.duality -1)}}With Fear{{else}}Critical Success{{/if}}{{/if}}
      diff --git a/templates/ui/chat/healing-roll.hbs b/templates/ui/chat/healing-roll.hbs index 3e18a185..562f2a92 100644 --- a/templates/ui/chat/healing-roll.hbs +++ b/templates/ui/chat/healing-roll.hbs @@ -23,7 +23,7 @@
      {{roll.total}}
      - +
      \ No newline at end of file diff --git a/templates/ui/chat/parts/target-chat.hbs b/templates/ui/chat/parts/target-chat.hbs index 9ac993cc..b3785652 100644 --- a/templates/ui/chat/parts/target-chat.hbs +++ b/templates/ui/chat/parts/target-chat.hbs @@ -5,8 +5,8 @@
      - - + +
      {{#if (and hasSave @root.targetSelection @root.hasHitTarget)}} diff --git a/templates/ui/combatTracker/combatTracker.hbs b/templates/ui/combatTracker/combatTracker.hbs index 13bd512e..9b5b2a4f 100644 --- a/templates/ui/combatTracker/combatTracker.hbs +++ b/templates/ui/combatTracker/combatTracker.hbs @@ -1,8 +1,8 @@
      {{#if (gt this.characters.length 0)}} - {{> 'systems/daggerheart/templates/ui/combat/combatTrackerSection.hbs' this title=(localize "DAGGERHEART.General.Character.Plural") turns=this.characters}} + {{> 'systems/daggerheart/templates/ui/combat/combatTrackerSection.hbs' this title=(localize "DAGGERHEART.GENERAL.Character.plural") turns=this.characters}} {{/if}} {{#if (gt this.adversaries.length 0)}} - {{> 'systems/daggerheart/templates/ui/combat/combatTrackerSection.hbs' this title=(localize "DAGGERHEART.General.Adversary.Plural") turns=this.adversaries}} + {{> 'systems/daggerheart/templates/ui/combat/combatTrackerSection.hbs' this title=(localize "DAGGERHEART.GENERAL.Adversary.plural") turns=this.adversaries}} {{/if}}
      \ No newline at end of file diff --git a/templates/ui/combatTracker/combatTrackerHeader.hbs b/templates/ui/combatTracker/combatTrackerHeader.hbs index 3d36f571..4eb68c9a 100644 --- a/templates/ui/combatTracker/combatTrackerHeader.hbs +++ b/templates/ui/combatTracker/combatTrackerHeader.hbs @@ -60,7 +60,7 @@
      {{fear}}
      - +
      {{/if}} @@ -68,7 +68,7 @@ {{#if combats.length}} {{#if combat.round}} - {{ localize "DAGGERHEART.Combat.combatStarted" }} + {{ localize "DAGGERHEART.APPLICATIONS.CombatTracker.combatStarted" }} {{else}} {{ localize "COMBAT.NotStarted" }} {{/if}} diff --git a/templates/ui/combatTracker/combatTrackerSection.hbs b/templates/ui/combatTracker/combatTrackerSection.hbs index 688b4efc..004d130c 100644 --- a/templates/ui/combatTracker/combatTrackerSection.hbs +++ b/templates/ui/combatTracker/combatTrackerSection.hbs @@ -50,12 +50,12 @@ {{#if @root.user.isGM}} {{else}} {{/if}}
    6. diff --git a/templates/ui/countdowns.hbs b/templates/ui/countdowns.hbs index f06aa4db..11a112ae 100644 --- a/templates/ui/countdowns.hbs +++ b/templates/ui/countdowns.hbs @@ -12,8 +12,8 @@ {{else}}
      - {{#if canCreate}}{{/if}} - {{#if isGM}}{{/if}} + {{#if canCreate}}{{/if}} + {{#if isGM}}{{/if}}
      @@ -22,7 +22,7 @@ {{this.name}} {{#if this.canEdit}}{{/if}} - {{#if @root.isGM}}{{/if}} + {{#if @root.isGM}}{{/if}}