diff --git a/i18n/black-flag.json b/i18n/black-flag.json new file mode 100644 index 0000000..a46104d --- /dev/null +++ b/i18n/black-flag.json @@ -0,0 +1,3 @@ +{ + "$import": ["playtest.json", "common.json", "character.json", "char-builder.json"] +} diff --git a/i18n/char-builder.json b/i18n/char-builder.json new file mode 100644 index 0000000..84e3432 --- /dev/null +++ b/i18n/char-builder.json @@ -0,0 +1,15 @@ +{ + "BlackFlag.CharacterBuilder.AbilityScoresClickToRoll": "Click to roll for your ability scores.", + "BlackFlag.CharacterBuilder.AbilityScoresButtonRoll": "Roll", + "BlackFlag.CharacterBuilder.AbilityScoresButtonPointBuy": "Point Buy", + "BlackFlag.CharacterBuilder.AbilityScoresButtonStandardArray": "Standard Array", + "BlackFlag.CharacterBuilder.BackgroundDesc": "Your choice of background helps define your character’s personal history prior to taking up the mantle of an adventurer.", + "BlackFlag.CharacterBuilder.CharacterBuilderJson": "Character Builder JSON", + "BlackFlag.CharacterBuilder.ChooseTalentFromList": "Choose one talent from the following list to represent this experience", + "BlackFlag.CharacterBuilder.ClassDesc": "Your choice of class helps define your character’s role in the party.", + "BlackFlag.CharacterBuilder.CreateElement": "Create {elem}", + "BlackFlag.CharacterBuilder.HeritageDesc": "Your heritage dictates certain abilities you have because of your connection to a particular group or society.", + "BlackFlag.CharacterBuilder.HowToGenerateAbilities": "How do you want to do this?", + "BlackFlag.CharacterBuilder.LineageDesc": "Your lineage dictates certain fantastical lineage traits your character has because of their ancestry.", + "BlackFlag.CharacterBuilder.RollAbilityScores": "Click to roll for your ability scores." +} \ No newline at end of file diff --git a/i18n/character.json b/i18n/character.json new file mode 100644 index 0000000..874a6d5 --- /dev/null +++ b/i18n/character.json @@ -0,0 +1,58 @@ +{ + "BlackFlag.Character.Age": "Age", + "BlackFlag.Character.Alignment": "Alignment", + "BlackFlag.Character.Background": "Background", + "BlackFlag.Character.BackgroundDescription": "Description", + "BlackFlag.Character.BiographyDesc": "Description", + "BlackFlag.Character.BiographyTab": "Biography", + "BlackFlag.Character.CharacterTab": "Character", + "BlackFlag.Character.Class": "Class", + "BlackFlag.Character.ClassDescription": "Description", + "BlackFlag.Character.ClassName": "Class Name", + "BlackFlag.Character.ClassUsesMagic": "Uses Magic", + "BlackFlag.Character.Details": "Details", + "BlackFlag.Character.Equipment": "Equipment", + "BlackFlag.Character.HereditaryTraits": "Hereditary Traits", + "BlackFlag.Character.Heritage": "Heritage", + "BlackFlag.Character.HeritageAlignment": "Alignment", + "BlackFlag.Character.HeritageDescription": "Description", + "BlackFlag.Character.HeritageTraits": "Traits", + "BlackFlag.Character.HpAndLuck": "Hp & Luck", + "BlackFlag.Character.HpCurrent": "Current", + "BlackFlag.Character.HpMax": "Max", + "BlackFlag.Character.Language": "Language", + "BlackFlag.Character.Languages": "Languages", + "BlackFlag.Character.Level": "Level", + "BlackFlag.Character.Lineage": "Lineage", + "BlackFlag.Character.LineageAge": "Age", + "BlackFlag.Character.LineageAndHeritage": "Lineage & Heritage", + "BlackFlag.Character.LineageDescription": "Description", + "BlackFlag.Character.LineageSize": "Size", + "BlackFlag.Character.LineageSizeInfo": "Size Info", + "BlackFlag.Character.LineageSpeed": "Speed", + "BlackFlag.Character.LineageSight": "Sight", + "BlackFlag.Character.LineageBrightVision": "Bright Vision", + "BlackFlag.Character.LineageDimVision": "Dim Vision", + "BlackFlag.Character.LineageDarkVision": "Dark Vision", + "BlackFlag.Character.Luck": "Luck", + "BlackFlag.Character.Name": "Player Name", + "BlackFlag.Character.Proficiencies": "Proficiencies", + "BlackFlag.Character.Proficiency": "Proficiency", + "BlackFlag.Character.RaceName": "Race Name", + "BlackFlag.Character.Size": "Size", + "BlackFlag.Character.Talent": "Talent", + "BlackFlag.Character.TalentDescription": "Talent Description", + "BlackFlag.Character.TalentName": "Talent Name", + "BlackFlag.Character.TalentOptions": "Talent Options", + "BlackFlag.Character.TalentsNumber": "Number of Talents", + "BlackFlag.Character.Trait": "Trait", + "BlackFlag.Character.Traits": "Traits", + "BlackFlag.Character.TraitPrerequisite": "Prerequisite", + "BlackFlag.Character.TraitChoicesFulfilled": "Choices Fulfilled", + "BlackFlag.Character.TraitChoicesUnfulfilled": "Choices Unfulfilled", + "BlackFlag.Character.TraitInnateDesc": "These values are granted automatically to an owning PC", + "BlackFlag.Character.TraitsChosen": "Chosen Talents", + "BlackFlag.Character.TraitSource": "Source", + "BlackFlag.Character.TraitsTab": "Traits", + "BlackFlag.Character.XP": "XP" +} \ No newline at end of file diff --git a/i18n/common.json b/i18n/common.json new file mode 100644 index 0000000..fa2646b --- /dev/null +++ b/i18n/common.json @@ -0,0 +1,27 @@ +{ + "BlackFlag.Common.AbilityScores": "Ability Scores", + "BlackFlag.Common.Ability.Str": "STR", + "BlackFlag.Common.Ability.Strength": "Strength", + "BlackFlag.Common.Ability.Dex": "DEX", + "BlackFlag.Common.Ability.Dexterity": "Dexterity", + "BlackFlag.Common.Ability.Con": "CON", + "BlackFlag.Common.Ability.Constitution": "Constitution", + "BlackFlag.Common.Ability.Int": "INT", + "BlackFlag.Common.Ability.Intelligence": "Intelligence", + "BlackFlag.Common.Ability.Wis": "WIS", + "BlackFlag.Common.Ability.Wisdom": "Wisdom", + "BlackFlag.Common.Ability.Cha": "CHA", + "BlackFlag.Common.Ability.Charisma": "Charisma", + "BlackFlag.Common.Add": "Add", + "BlackFlag.Common.Choose": "Choose", + "BlackFlag.Common.Config": "Config", + "BlackFlag.Common.DamageType": "Damage Type", + "BlackFlag.Common.Delete": "Delete", + "BlackFlag.Common.Description": "Description", + "BlackFlag.Common.Done": "Done", + "BlackFlag.Common.Edit": "Edit", + "BlackFlag.Common.Info": "Info", + "BlackFlag.Common.Save": "Save", + "BlackFlag.Common.Units.Speed.Feet": "Feet", + "BlackFlag.Common.Units.Distance.Feet": "Feet" +} \ No newline at end of file diff --git a/i18n/playtest.json b/i18n/playtest.json new file mode 100644 index 0000000..118a572 --- /dev/null +++ b/i18n/playtest.json @@ -0,0 +1,5 @@ +{ + "BlackFlag.Playtest.ActorSheetNoticeTitle": "Important Notes", + "BlackFlag.Playtest.ActorSheetNotice": "The Playtest does not currently have data for classes or items yet. The focus is on the character-building experience. Check out the link below.", + "BlackFlag.Playtest.CharCreationRules": "Character Creation Rules" +} \ No newline at end of file diff --git a/lang/en.json b/lang/en.json index 0db3279..911aba7 100644 --- a/lang/en.json +++ b/lang/en.json @@ -1,3 +1,99 @@ { - + "BlackFlag.Playtest.ActorSheetNoticeTitle": "Important Notes", + "BlackFlag.Playtest.ActorSheetNotice": "The Playtest does not currently have data for classes or items yet. The focus is on the character-building experience. Check out the link below.", + "BlackFlag.Playtest.CharCreationRules": "Character Creation Rules", + "BlackFlag.Common.AbilityScores": "Ability Scores", + "BlackFlag.Common.Ability.Str": "STR", + "BlackFlag.Common.Ability.Strength": "Strength", + "BlackFlag.Common.Ability.Dex": "DEX", + "BlackFlag.Common.Ability.Dexterity": "Dexterity", + "BlackFlag.Common.Ability.Con": "CON", + "BlackFlag.Common.Ability.Constitution": "Constitution", + "BlackFlag.Common.Ability.Int": "INT", + "BlackFlag.Common.Ability.Intelligence": "Intelligence", + "BlackFlag.Common.Ability.Wis": "WIS", + "BlackFlag.Common.Ability.Wisdom": "Wisdom", + "BlackFlag.Common.Ability.Cha": "CHA", + "BlackFlag.Common.Ability.Charisma": "Charisma", + "BlackFlag.Common.Add": "Add", + "BlackFlag.Common.Choose": "Choose", + "BlackFlag.Common.Config": "Config", + "BlackFlag.Common.DamageType": "Damage Type", + "BlackFlag.Common.Delete": "Delete", + "BlackFlag.Common.Description": "Description", + "BlackFlag.Common.Done": "Done", + "BlackFlag.Common.Edit": "Edit", + "BlackFlag.Common.Info": "Info", + "BlackFlag.Common.Save": "Save", + "BlackFlag.Common.Units.Speed.Feet": "Feet", + "BlackFlag.Common.Units.Distance.Feet": "Feet", + "BlackFlag.Character.Age": "Age", + "BlackFlag.Character.Alignment": "Alignment", + "BlackFlag.Character.Background": "Background", + "BlackFlag.Character.BackgroundDescription": "Description", + "BlackFlag.Character.BiographyDesc": "Description", + "BlackFlag.Character.BiographyTab": "Biography", + "BlackFlag.Character.CharacterTab": "Character", + "BlackFlag.Character.Class": "Class", + "BlackFlag.Character.ClassDescription": "Description", + "BlackFlag.Character.ClassName": "Class Name", + "BlackFlag.Character.ClassUsesMagic": "Uses Magic", + "BlackFlag.Character.Details": "Details", + "BlackFlag.Character.Equipment": "Equipment", + "BlackFlag.Character.HereditaryTraits": "Hereditary Traits", + "BlackFlag.Character.Heritage": "Heritage", + "BlackFlag.Character.HeritageAlignment": "Alignment", + "BlackFlag.Character.HeritageDescription": "Description", + "BlackFlag.Character.HeritageTraits": "Traits", + "BlackFlag.Character.HpAndLuck": "Hp & Luck", + "BlackFlag.Character.HpCurrent": "Current", + "BlackFlag.Character.HpMax": "Max", + "BlackFlag.Character.Language": "Language", + "BlackFlag.Character.Languages": "Languages", + "BlackFlag.Character.Level": "Level", + "BlackFlag.Character.Lineage": "Lineage", + "BlackFlag.Character.LineageAge": "Age", + "BlackFlag.Character.LineageAndHeritage": "Lineage & Heritage", + "BlackFlag.Character.LineageDescription": "Description", + "BlackFlag.Character.LineageSize": "Size", + "BlackFlag.Character.LineageSizeInfo": "Size Info", + "BlackFlag.Character.LineageSpeed": "Speed", + "BlackFlag.Character.LineageSight": "Sight", + "BlackFlag.Character.LineageBrightVision": "Bright Vision", + "BlackFlag.Character.LineageDimVision": "Dim Vision", + "BlackFlag.Character.LineageDarkVision": "Dark Vision", + "BlackFlag.Character.Luck": "Luck", + "BlackFlag.Character.Name": "Player Name", + "BlackFlag.Character.Proficiencies": "Proficiencies", + "BlackFlag.Character.Proficiency": "Proficiency", + "BlackFlag.Character.RaceName": "Race Name", + "BlackFlag.Character.Size": "Size", + "BlackFlag.Character.Talent": "Talent", + "BlackFlag.Character.TalentDescription": "Talent Description", + "BlackFlag.Character.TalentName": "Talent Name", + "BlackFlag.Character.TalentOptions": "Talent Options", + "BlackFlag.Character.TalentsNumber": "Number of Talents", + "BlackFlag.Character.Trait": "Trait", + "BlackFlag.Character.Traits": "Traits", + "BlackFlag.Character.TraitPrerequisite": "Prerequisite", + "BlackFlag.Character.TraitChoicesFulfilled": "Choices Fulfilled", + "BlackFlag.Character.TraitChoicesUnfulfilled": "Choices Unfulfilled", + "BlackFlag.Character.TraitInnateDesc": "These values are granted automatically to an owning PC", + "BlackFlag.Character.TraitsChosen": "Chosen Talents", + "BlackFlag.Character.TraitSource": "Source", + "BlackFlag.Character.TraitsTab": "Traits", + "BlackFlag.Character.XP": "XP", + "BlackFlag.CharacterBuilder.AbilityScoresClickToRoll": "Click to roll for your ability scores.", + "BlackFlag.CharacterBuilder.AbilityScoresButtonRoll": "Roll", + "BlackFlag.CharacterBuilder.AbilityScoresButtonPointBuy": "Point Buy", + "BlackFlag.CharacterBuilder.AbilityScoresButtonStandardArray": "Standard Array", + "BlackFlag.CharacterBuilder.BackgroundDesc": "Your choice of background helps define your character’s personal history prior to taking up the mantle of an adventurer.", + "BlackFlag.CharacterBuilder.CharacterBuilderJson": "Character Builder JSON", + "BlackFlag.CharacterBuilder.ChooseTalentFromList": "Choose one talent from the following list to represent this experience", + "BlackFlag.CharacterBuilder.ClassDesc": "Your choice of class helps define your character’s role in the party.", + "BlackFlag.CharacterBuilder.CreateElement": "Create {elem}", + "BlackFlag.CharacterBuilder.HeritageDesc": "Your heritage dictates certain abilities you have because of your connection to a particular group or society.", + "BlackFlag.CharacterBuilder.HowToGenerateAbilities": "How do you want to do this?", + "BlackFlag.CharacterBuilder.LineageDesc": "Your lineage dictates certain fantastical lineage traits your character has because of their ancestry.", + "BlackFlag.CharacterBuilder.RollAbilityScores": "Click to roll for your ability scores." } diff --git a/package-lock.json b/package-lock.json index 63bd707..1f95167 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,6 +10,7 @@ "devDependencies": { "autoprefixer": "^10.4.13", "eslint": "^8.36.0", + "json-merger": "^1.1.9", "postcss": "^8.4.21", "postcss-cli": "^10.1.0", "postcss-import": "^15.1.0", @@ -178,6 +179,15 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, + "node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -435,6 +445,15 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, + "node_modules/commander": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "dev": true, + "engines": { + "node": "^12.20.0 || >=14" + } + }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -556,6 +575,101 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "dev": true, + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=4.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/escodegen/node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/escodegen/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/escodegen/node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/escodegen/node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/escodegen/node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/escodegen/node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/eslint": { "version": "8.36.0", "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.36.0.tgz", @@ -664,6 +778,19 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/esprima": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.2.2.tgz", + "integrity": "sha512-+JpPZam9w5DuJ3Q67SqsMGtiHKENSMRVoxvArfJZK01/BfLEObtZ6orJa/MtoGNR/rfMgp5837T41PAmTwAv/A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/esquery": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", @@ -841,20 +968,6 @@ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, "node_modules/function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -1143,6 +1256,44 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/json-merger": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/json-merger/-/json-merger-1.1.9.tgz", + "integrity": "sha512-kbt/SUtX3sMm11PjBG4CjgjIEaYKqWP7xYk8lwIlXUs1EXCZaIHKv9uqSxAs6EPdisQhsa2k64C3I/RVn+562w==", + "dev": true, + "dependencies": { + "commander": "^9.1.0", + "fs-extra": "^10.0.1", + "js-yaml": "^4.1.0", + "json-ptr": "^3.1.0", + "jsonpath": "^1.1.1", + "lodash.range": "^3.2.0", + "vm2": "^3.9.9" + }, + "bin": { + "json-merger": "bin/json-merger.js" + } + }, + "node_modules/json-merger/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/json-ptr": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/json-ptr/-/json-ptr-3.1.1.tgz", + "integrity": "sha512-SiSJQ805W1sDUCD1+/t1/1BIrveq2Fe9HJqENxZmMCILmrPI7WhS/pePpIOx85v6/H2z1Vy7AI08GV2TzfXocg==", + "dev": true + }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -1167,6 +1318,17 @@ "graceful-fs": "^4.1.6" } }, + "node_modules/jsonpath": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.1.1.tgz", + "integrity": "sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w==", + "dev": true, + "dependencies": { + "esprima": "1.2.2", + "static-eval": "2.0.2", + "underscore": "1.12.1" + } + }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -1210,6 +1372,12 @@ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, + "node_modules/lodash.range": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash.range/-/lodash.range-3.2.0.tgz", + "integrity": "sha512-Fgkb7SinmuzqgIhNhAElo0BL/R1rHCnhwSZf78omqSwvWqD0kD2ssOAutQonDKH/ldS8BxA72ORYI09qAY9CYg==", + "dev": true + }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", @@ -1771,6 +1939,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/source-map-js": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", @@ -1780,6 +1958,15 @@ "node": ">=0.10.0" } }, + "node_modules/static-eval": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.0.2.tgz", + "integrity": "sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg==", + "dev": true, + "dependencies": { + "escodegen": "^1.8.1" + } + }, "node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", @@ -1890,6 +2077,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/underscore": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", + "dev": true + }, "node_modules/universalify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", @@ -1940,6 +2133,22 @@ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "dev": true }, + "node_modules/vm2": { + "version": "3.9.14", + "resolved": "https://registry.npmjs.org/vm2/-/vm2-3.9.14.tgz", + "integrity": "sha512-HgvPHYHeQy8+QhzlFryvSteA4uQLBCOub02mgqdR+0bN/akRZ48TGB1v0aCv7ksyc0HXx16AZtMHKS38alc6TA==", + "dev": true, + "dependencies": { + "acorn": "^8.7.0", + "acorn-walk": "^8.2.0" + }, + "bin": { + "vm2": "bin/vm2" + }, + "engines": { + "node": ">=6.0" + } + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -2153,6 +2362,12 @@ "dev": true, "requires": {} }, + "acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true + }, "ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -2317,6 +2532,12 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, + "commander": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "dev": true + }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -2403,6 +2624,72 @@ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true }, + "escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "dev": true, + "requires": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "dev": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + } + } + }, "eslint": { "version": "8.36.0", "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.36.0.tgz", @@ -2489,6 +2776,12 @@ "eslint-visitor-keys": "^3.3.0" } }, + "esprima": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.2.2.tgz", + "integrity": "sha512-+JpPZam9w5DuJ3Q67SqsMGtiHKENSMRVoxvArfJZK01/BfLEObtZ6orJa/MtoGNR/rfMgp5837T41PAmTwAv/A==", + "dev": true + }, "esquery": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", @@ -2626,13 +2919,6 @@ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "optional": true - }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -2841,6 +3127,40 @@ "argparse": "^2.0.1" } }, + "json-merger": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/json-merger/-/json-merger-1.1.9.tgz", + "integrity": "sha512-kbt/SUtX3sMm11PjBG4CjgjIEaYKqWP7xYk8lwIlXUs1EXCZaIHKv9uqSxAs6EPdisQhsa2k64C3I/RVn+562w==", + "dev": true, + "requires": { + "commander": "^9.1.0", + "fs-extra": "^10.0.1", + "js-yaml": "^4.1.0", + "json-ptr": "^3.1.0", + "jsonpath": "^1.1.1", + "lodash.range": "^3.2.0", + "vm2": "^3.9.9" + }, + "dependencies": { + "fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + } + } + }, + "json-ptr": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/json-ptr/-/json-ptr-3.1.1.tgz", + "integrity": "sha512-SiSJQ805W1sDUCD1+/t1/1BIrveq2Fe9HJqENxZmMCILmrPI7WhS/pePpIOx85v6/H2z1Vy7AI08GV2TzfXocg==", + "dev": true + }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -2863,6 +3183,17 @@ "universalify": "^2.0.0" } }, + "jsonpath": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.1.1.tgz", + "integrity": "sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w==", + "dev": true, + "requires": { + "esprima": "1.2.2", + "static-eval": "2.0.2", + "underscore": "1.12.1" + } + }, "levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -2894,6 +3225,12 @@ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, + "lodash.range": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash.range/-/lodash.range-3.2.0.tgz", + "integrity": "sha512-Fgkb7SinmuzqgIhNhAElo0BL/R1rHCnhwSZf78omqSwvWqD0kD2ssOAutQonDKH/ldS8BxA72ORYI09qAY9CYg==", + "dev": true + }, "merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", @@ -3251,12 +3588,28 @@ "integrity": "sha512-n6KkmvKS0623igEVj3FF0OZs1gYYJ0o0Hj939yc1fyxl2xt+xYpLnzJB6xBSqOfV9ZFLEWodBBN/heZJahuIJQ==", "dev": true }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true + }, "source-map-js": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", "dev": true }, + "static-eval": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.0.2.tgz", + "integrity": "sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg==", + "dev": true, + "requires": { + "escodegen": "^1.8.1" + } + }, "string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", @@ -3334,6 +3687,12 @@ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true }, + "underscore": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", + "dev": true + }, "universalify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", @@ -3365,6 +3724,16 @@ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "dev": true }, + "vm2": { + "version": "3.9.14", + "resolved": "https://registry.npmjs.org/vm2/-/vm2-3.9.14.tgz", + "integrity": "sha512-HgvPHYHeQy8+QhzlFryvSteA4uQLBCOub02mgqdR+0bN/akRZ48TGB1v0aCv7ksyc0HXx16AZtMHKS38alc6TA==", + "dev": true, + "requires": { + "acorn": "^8.7.0", + "acorn-walk": "^8.2.0" + } + }, "which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", diff --git a/package.json b/package.json index fdb407f..5526c7c 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,8 @@ "build": "postcss postcss/black-flag.css --use autoprefixer --use postcss-nesting --use postcss-import -o css/black-flag.css -m", "lint": "eslint --ext .mjs ./", "lint:fix": "eslint --ext .mjs ./ --fix", - "watch": "postcss postcss/black-flag.css --use autoprefixer --use postcss-nesting --use postcss-import -o css/black-flag.css -m -w" + "watch": "postcss postcss/black-flag.css --use autoprefixer --use postcss-nesting --use postcss-import -o css/black-flag.css -m -w", + "build:i18n": "json-merger -p ./i18n/black-flag.json > ./lang/en.json" }, "devDependencies": { "autoprefixer": "^10.4.13", @@ -15,6 +16,7 @@ "postcss": "^8.4.21", "postcss-cli": "^10.1.0", "postcss-import": "^15.1.0", - "postcss-nesting": "^11.2.1" + "postcss-nesting": "^11.2.1", + "json-merger": "^1.1.9" } } \ No newline at end of file diff --git a/system/apps/forms/trait-form.mjs b/system/apps/forms/trait-form.mjs index b1ae6ee..20468ac 100644 --- a/system/apps/forms/trait-form.mjs +++ b/system/apps/forms/trait-form.mjs @@ -203,7 +203,7 @@ export default class TraitForm extends FormApplication { proficiency.classList.add(tagClass); proficiency.classList.add("tag"); proficiency.dataset.value = value; - proficiency.innerText = game.i18n.localize(configList[value].label); + proficiency.innerText = game.i18n.localize(`BF[${configList[value].label}]`); const deleteIcon = document.createElement("i"); deleteIcon.classList.add("fas"); diff --git a/system/hooks/init.mjs b/system/hooks/init.mjs index 3a473f3..da4288e 100644 --- a/system/hooks/init.mjs +++ b/system/hooks/init.mjs @@ -75,7 +75,7 @@ function registerHandlebarsHelpers() { // Convert a type and value to a localized label Handlebars.registerHelper("typeLabel", (type, value) => { - return game.i18n.localize(CONFIG.SYSTEM[type][value]?.label); + return game.i18n.localize(`BF[${CONFIG.SYSTEM[type][value]?.label}`); }); // Truncate a string to a certain length with an ellipsis diff --git a/system/sheets/actors/pc-config.mjs b/system/sheets/actors/pc-config.mjs index 6eca7e7..aac2530 100644 --- a/system/sheets/actors/pc-config.mjs +++ b/system/sheets/actors/pc-config.mjs @@ -215,11 +215,11 @@ export default class PcConfig extends ActorDocumentSheet { }, 50); new Dialog({ - title: "How do you want to do this?", + title: game.i18n.localize("BlackFlag.CharacterBuilder.HowToGenerateAbilities"), content: "", buttons: { roll: { - label: game.i18n.localize("Roll"), + label: game.i18n.localize("BlackFlag.CharacterBuilder.AbilityScoresButtonRoll"), callback: async () => { const result = await new Roll("{4d6kh3,4d6kh3,4d6kh3,4d6kh3,4d6kh3,4d6kh3}").toMessage({flavor: "Your ability score rolls:"}); expandRoll(result); @@ -227,7 +227,7 @@ export default class PcConfig extends ActorDocumentSheet { icon: '' }, pointBuy: { - label: game.i18n.localize("Point Buy"), + label: game.i18n.localize("BlackFlag.CharacterBuilder.AbilityScoresButtonPointBuy"), callback: async () => { const j = await fromUuid("Compendium.black-flag-content.playtest-1-packet.bHbtZZkt9UyEMu2r"); if ( !j ) { @@ -238,7 +238,7 @@ export default class PcConfig extends ActorDocumentSheet { icon: "" }, standard: { - label: game.i18n.localize("Standard Array"), + label: game.i18n.localize("BlackFlag.CharacterBuilder.AbilityScoresButtonStandardArray"), callback: () => {return new Dialog({title: "Standard Array", content: "

Assign one of the following numbers to each ability score: 16, 15, 13, 12, 10, and 8.

", buttons: {}}).render(true);}, icon: "" } diff --git a/system/sheets/black-flag-sheet.mjs b/system/sheets/black-flag-sheet.mjs index 798ff24..0276f70 100644 --- a/system/sheets/black-flag-sheet.mjs +++ b/system/sheets/black-flag-sheet.mjs @@ -24,7 +24,7 @@ const BlackFlagSheetMixin = Base => class BlackFlagSheet extends Base { /** @override */ get title() { - return `${this.object.name} ${game.i18n.localize("Config")}`; + return `${this.object.name} ${game.i18n.localize("BlackFlag.Common.Config")}`; } /* -------------------------------------------- */ @@ -110,7 +110,7 @@ const BlackFlagSheetMixin = Base => class BlackFlagSheet extends Base { static getOptionsList(choices) { return Object.entries(choices).reduce((obj, [k, v]) => { - obj[k] = game.i18n.localize(v.label); + obj[k] = game.i18n.localize(`BF[${v.label}`); return obj; }, {}); } @@ -178,7 +178,7 @@ const BlackFlagSheetMixin = Base => class BlackFlagSheet extends Base { proficiency.classList.add("tag"); proficiency.classList.add("manual"); proficiency.dataset.value = value; - proficiency.innerText = game.i18n.localize(configList[value].label); + proficiency.innerText = game.i18n.localize(`BF[${configList[value].label}`); const deleteIcon = document.createElement("i"); deleteIcon.classList.add("fas"); diff --git a/system/sheets/items/lineage-config.mjs b/system/sheets/items/lineage-config.mjs index 8893b92..2081beb 100644 --- a/system/sheets/items/lineage-config.mjs +++ b/system/sheets/items/lineage-config.mjs @@ -20,7 +20,7 @@ export default class LineageConfig extends ItemDocumentSheet { async getData() { const context = await super.getData(); context.SIZE_TYPES = Object.entries(CONFIG.SYSTEM.RACE_SIZE_TYPES).reduce((obj, [k, v]) => { - obj[k] = game.i18n.localize(v.label); + obj[k] = game.i18n.localize(`BF[${v.label}`); return obj; }, {}); return context; diff --git a/system/templates/actors/pc-config.hbs b/system/templates/actors/pc-config.hbs index d0bdd03..3d2a4af 100644 --- a/system/templates/actors/pc-config.hbs +++ b/system/templates/actors/pc-config.hbs @@ -1,47 +1,48 @@
- Important Notes + {{ localize "BlackFlag.Playtest.ActorSheetNoticeTitle" }}
{{!-- Sheet Header --}}

- +

{{!-- Level --}}
- {{localize "Level"}} + {{localize "BlackFlag.Character.Level"}} {{!-- Current --}}
- + {{numberInput document.system.level name="system.level" min=0 max=20 step=1}}
{{!-- Experience --}}
- + {{numberInput document.system.experience name="system.experience" min=0 max=nextLevelXP step=1}}
{{!-- Resources --}}
- {{localize "Details"}} + {{localize "BlackFlag.Character.Details"}} - {{!-- Age --}} + {{!-- Age --}}
- - + +
{{!-- Size --}}
- + @@ -55,17 +56,17 @@
{{!-- Health --}}
- {{localize "HP & Luck"}} + {{localize "BlackFlag.Character.HPAndLuck"}} {{!-- Current --}}
- + {{numberInput document.system.hp.current name="system.hp.current" min=0 max=document.system.hp.max step=1}}
{{!-- Max --}}
- + {{numberInput document.system.hp.max name="system.hp.max" min=0 max=100 step=1}}
@@ -78,53 +79,53 @@ {{!-- Luck --}}
- + {{numberInput document.system.luck name="system.luck" min=0 step=1}}
{{!-- Abilitity Scores --}}
- {{localize "Ability Scores"}} + {{localize "BlackFlag.Common.AbilityScores"}} {{!-- Strength --}}
- +
{{document.system.abilities.strength.mod}}
{{numberInput document.system.abilities.strength.value name="system.abilities.strength" step=1 min=0 max=20}}
{{!-- Dexterity --}}
- +
{{document.system.abilities.dexterity.mod}}
{{numberInput document.system.abilities.dexterity.value name="system.abilities.dexterity" step=1 min=0 max=20}}
{{!-- Constitution --}}
- +
{{document.system.abilities.constitution.mod}}
{{numberInput document.system.abilities.constitution.value name="system.abilities.constitution" step=1 min=0 max=20}}
{{!-- Intelligence --}}
- +
{{document.system.abilities.intelligence.mod}}
{{numberInput document.system.abilities.intelligence.value name="system.abilities.intelligence" step=1 min=0 max=20}}
{{!-- Wisdom --}}
- +
{{document.system.abilities.wisdom.mod}}
{{numberInput document.system.abilities.wisdom.value name="system.abilities.wisdom" step=1 min=0 max=20}}
{{!-- Charisma --}}
- +
{{document.system.abilities.charisma.mod}}
{{numberInput document.system.abilities.charisma.value name="system.abilities.charisma" step=1 min=0 max=20}}
@@ -133,10 +134,10 @@ {{!-- Core Details --}}
- {{localize "Lineage & Heritage"}} + {{localize "BlackFlag.Character.LineageAndHeritage"}} {{!-- Lineage --}}
- + @@ -144,7 +145,7 @@ {{!-- Heritage --}}
- + @@ -152,7 +153,7 @@ {{!-- Background --}}
- + @@ -160,7 +161,7 @@ {{!-- Class --}}
- + @@ -168,7 +169,7 @@ {{!-- Alignment --}}
- + @@ -181,9 +182,9 @@ {{!-- Character Sheet Navigation --}} @@ -194,7 +195,7 @@ {{!-- Talents --}}
- + {{!-- Render each existing Talent as a document link, with a button to remove --}}
{{#each document.system.talents}} @@ -208,7 +209,7 @@
{{!-- Render a text input with search ahead to add a new Talent --}} - + {{#each allTalents}} @@ -218,7 +219,7 @@ {{!-- Proficiencies --}}
- + {{!-- Render each existing Proficiency as a .tag, with a button to remove --}}
@@ -229,7 +230,7 @@ {{/each}}
{{!-- Render a text input with search ahead to add a new Proficiency --}} - + {{#each PROFICIENCY_TYPES}} @@ -240,7 +241,7 @@ {{!-- Languages --}}
- + {{!-- Render each existing Language as a .tag, with a button to remove --}}
@@ -251,7 +252,7 @@ {{/each}}
{{!-- Render a text input with search ahead to add a new Language --}} - + {{#each LANGUAGE_TYPES}} @@ -267,7 +268,7 @@
{{!-- Description --}}
- + {{editor descriptionHTML target="system.description" button=false editable=editable engine="prosemirror" collaborate=false}}
@@ -284,13 +285,13 @@

{{{this.description}}}

-

{{localize "Source"}}: {{this.source}}

+

{{localize "BlackFlag.Character.TraitSource"}}: {{this.source}}

{{#if this.hasChoices}} {{#if this.choicesFulfilled}} - + {{else}} - + {{/if}} {{/if}}
@@ -299,5 +300,5 @@
- + diff --git a/system/templates/forms/character-builder-background-option.hbs b/system/templates/forms/character-builder-background-option.hbs index 301a78d..2f1bb39 100644 --- a/system/templates/forms/character-builder-background-option.hbs +++ b/system/templates/forms/character-builder-background-option.hbs @@ -9,18 +9,18 @@ {{!-- Equipment --}}
- {{localize "Equipment"}} + {{localize "BlackFlag.CharacterBuilder.Equipment"}}

{{this.system.equipment}}

{{!-- Talents --}}
- {{localize "Talent"}} + {{localize "BlackFlag.CharacterBuilder.Talent"}}

{{this.system.talentDescription}}

-

{{localize "Choose one talent from the following list to represent this experience"}}:

+

{{localize "BlackFlag.CharacterBuilder.ChooseTalentFromList"}}:

- + {{!-- Render each existing Talent as a document link, with a button to remove --}}
@@ -32,7 +32,7 @@ {{!-- Render a text input with search ahead to add a new Talent --}} - + {{#each allTalents}} @@ -44,7 +44,7 @@ {{!-- Traits --}}
-

{{localize "Traits"}}

+

{{localize "BlackFlag.CharacterBuilder.Traits"}}

{{#each this.system.traits}}
@@ -59,7 +59,7 @@
{{!-- Choose Button --}} - +
{{/each}} diff --git a/system/templates/forms/character-builder-class-option.hbs b/system/templates/forms/character-builder-class-option.hbs index 292aef1..ba10b48 100644 --- a/system/templates/forms/character-builder-class-option.hbs +++ b/system/templates/forms/character-builder-class-option.hbs @@ -9,14 +9,14 @@ {{!-- Uses Magic Checkbox --}}
- +
{{!-- Choose Button --}} - +
{{/each}} diff --git a/system/templates/forms/character-builder-form.hbs b/system/templates/forms/character-builder-form.hbs index 67ec8e7..cfe688e 100644 --- a/system/templates/forms/character-builder-form.hbs +++ b/system/templates/forms/character-builder-form.hbs @@ -13,8 +13,8 @@ {{/if}}
-

{{localize "Lineage"}}{{#if this.lineageCompleted}}: {{this.document.system.lineage.name}}{{/if}}

-

{{localize "Your lineage dictates certain fantastical lineage traits your character has because of their ancestry."}}

+

{{localize "BlackFlag.Character.Lineage"}}{{#if this.lineageCompleted}}: {{this.document.system.lineage.name}}{{/if}}

+

{{localize "BlackFlag.CharacterBuilder.LineageDesc"}}

@@ -26,8 +26,8 @@ {{/if}}
-

{{localize "Heritage"}}{{#if this.heritageCompleted}}: {{this.document.system.heritage.name}}{{/if}}

-

{{localize "Your heritage dictates certain abilities you have because of your connection to a particular group or society."}}

+

{{localize "BlackFlag.Character.Heritage"}}{{#if this.heritageCompleted}}: {{this.document.system.heritage.name}}{{/if}}

+

{{localize "BlackFlag.CharacterBuilder.HeritageDesc"}}

@@ -39,8 +39,8 @@ {{/if}}
-

{{localize "Background"}}{{#if this.backgroundCompleted}}: {{this.document.system.background.name}}{{/if}}

-

{{localize "Your choice of background helps define your character’s personal history prior to taking up the mantle of an adventurer."}}

+

{{localize "BlackFlag.Character.Background"}}{{#if this.backgroundCompleted}}: {{this.document.system.background.name}}{{/if}}

+

{{localize "BlackFlag.CharacterBuilder.BackgroundDesc"}}

@@ -52,14 +52,14 @@ {{/if}}
-

{{localize "Class"}}{{#if this.classCompleted}}: {{this.document.system.class.name}}{{/if}}

-

{{localize "Your choice of class helps define your character’s role in the party."}}

+

{{localize "BlackFlag.Character.Class"}}{{#if this.classCompleted}}: {{this.document.system.class.name}}{{/if}}

+

{{localize "BlackFlag.CharacterBuilder.ClassDesc"}}

{{!-- Done Button --}} - +
diff --git a/system/templates/forms/character-builder-heritage-option.hbs b/system/templates/forms/character-builder-heritage-option.hbs index c041ff7..75229be 100644 --- a/system/templates/forms/character-builder-heritage-option.hbs +++ b/system/templates/forms/character-builder-heritage-option.hbs @@ -9,10 +9,10 @@ {{!-- Alignment --}}
- {{localize "Alignment"}} + {{localize "BlackFlag.Character.Alignment"}}

{{this.system.alignment}}

- + @@ -21,7 +21,7 @@ {{!-- Traits --}}
-

{{localize "Traits"}}

+

{{localize "BlackFlag.Character.Traits"}}

{{#each this.system.traits}}
@@ -36,7 +36,7 @@
{{!-- Choose Button --}} - +
{{/each}} diff --git a/system/templates/forms/character-builder-lineage-option.hbs b/system/templates/forms/character-builder-lineage-option.hbs index 9e45c20..c399f37 100644 --- a/system/templates/forms/character-builder-lineage-option.hbs +++ b/system/templates/forms/character-builder-lineage-option.hbs @@ -9,20 +9,20 @@ {{!-- Age --}}
- {{localize "Age"}} + {{localize "BlackFlag.Character.Age"}}

{{this.system.age}}

- +
{{!-- Size --}}
- {{localize "Size"}} + {{localize "BlackFlag.Character.Size"}}

{{this.system.size.description}}

- + @@ -31,7 +31,7 @@ {{!-- Traits --}}
-

{{localize "Traits"}}

+

{{localize "BlackFlag.Character.Traits"}}

{{#each this.system.traits}}
@@ -46,7 +46,7 @@
{{!-- Choose Button --}} - +
{{/each}} diff --git a/system/templates/forms/choices-form.hbs b/system/templates/forms/choices-form.hbs index 130e1f4..714a810 100644 --- a/system/templates/forms/choices-form.hbs +++ b/system/templates/forms/choices-form.hbs @@ -4,7 +4,7 @@

- +

@@ -33,7 +33,7 @@ {{!-- Save Changes --}}
- +
diff --git a/system/templates/forms/trait-form.hbs b/system/templates/forms/trait-form.hbs index 31f4169..b64373c 100644 --- a/system/templates/forms/trait-form.hbs +++ b/system/templates/forms/trait-form.hbs @@ -4,14 +4,14 @@

- +

{{!-- Main Content --}} @@ -21,17 +21,17 @@ {{!-- Description --}}
- +
- {{localize "Innate"}} -

These values are granted automatically to an owning PC

+ {{localize "BlackFlag.Character.InnateTraits"}} +

{{ localize "BlackFlag.Character.TraitInnateDesc" }}

{{!-- Proficiencies --}}
- + {{!-- Render each existing Proficiency as a .tag, with a button to remove --}}
@@ -42,7 +42,7 @@ {{/each}}
{{!-- Render a text input with search ahead to add a new Proficiency --}} - + {{#each PROFICIENCY_TYPES}} @@ -53,7 +53,7 @@ {{!-- Languages --}}
- + {{!-- Render each existing Language as a .tag, with a button to remove --}}
@@ -64,7 +64,7 @@ {{/each}}
{{!-- Render a text input with search ahead to add a new Language --}} - + {{#each LANGUAGE_TYPES}} @@ -75,7 +75,7 @@ {{!-- Resistances --}}
- + {{!-- Render each existing Resistance as a .tag, with a button to remove --}}
@@ -86,7 +86,7 @@ {{/each}}
{{!-- Render a text input with search ahead to add a new Talent --}} - + {{#each RESISTANCE_TYPES}} @@ -97,7 +97,7 @@ {{!-- Save Advantages --}}
- + {{!-- Render each existing Save Advantage as a .tag, with a button to remove --}}
@@ -108,7 +108,7 @@ {{/each}}
{{!-- Render a text input with search ahead to add a new Talent --}} - + {{#each SAVE_ADVANTAGE_TYPES}} @@ -125,7 +125,7 @@ {{!-- Character Builder JSON --}}
- + {{#if hasAceEditor}}
{{builderInfoJson}}
{{else}} @@ -136,7 +136,7 @@ {{!-- Save Changes --}}
- +
diff --git a/system/templates/items/background-config.hbs b/system/templates/items/background-config.hbs index 5f3e4ab..6eb84d2 100644 --- a/system/templates/items/background-config.hbs +++ b/system/templates/items/background-config.hbs @@ -4,7 +4,7 @@

- +

@@ -17,19 +17,19 @@
{{!-- Description --}}
- + {{editor descriptionHTML target="system.description" button=false editable=editable engine="prosemirror" collaborate=false}}
{{!-- Talent Description --}}
- - + +
{{!-- Talents --}}
- + {{!-- Render each existing Talent as a document link, with a button to remove --}}
{{#each document.system.talents}} @@ -41,7 +41,7 @@
{{/each}} {{!-- Render a text input with search ahead to add a new Talent --}} - + {{#each allTalents}} @@ -52,14 +52,14 @@ {{!-- Number of Talents --}}
- - + +
{{!-- Equipment --}}
- - + +

@@ -67,11 +67,11 @@ {{!-- Traits --}}
-

{{ localize "Traits" }}

+

{{ localize "BlackFlag.Character.Traits" }}

{{#if owner}} {{/if}} @@ -87,8 +87,8 @@
{{truncate trait.description 50}}
{{#if ../owner}}
- - + +
{{/if}} @@ -98,6 +98,6 @@
- +
diff --git a/system/templates/items/class-config.hbs b/system/templates/items/class-config.hbs index 08d22f6..cfd5428 100644 --- a/system/templates/items/class-config.hbs +++ b/system/templates/items/class-config.hbs @@ -4,7 +4,7 @@

- +

@@ -18,13 +18,13 @@ {{!-- Description --}}
- + {{editor descriptionHTML target="system.description" button=false editable=editable engine="prosemirror" collaborate=false}}
{{!-- Uses Magic Checkbox --}}
- +
@@ -32,6 +32,6 @@ {{!-- Save Changes --}}
- +
diff --git a/system/templates/items/heritage-config.hbs b/system/templates/items/heritage-config.hbs index f9106fb..8111fc1 100644 --- a/system/templates/items/heritage-config.hbs +++ b/system/templates/items/heritage-config.hbs @@ -4,7 +4,7 @@

- +

@@ -18,14 +18,14 @@ {{!-- Description --}}
- + {{editor descriptionHTML target="system.description" button=false editable=editable engine="prosemirror" collaborate=false}}
{{!-- Alignment --}}
- - + +

@@ -33,11 +33,11 @@ {{!-- Traits --}}
-

{{ localize "Traits" }}

+

{{ localize "BlackFlag.Character.HeritageTraits" }}

{{#if owner}} {{/if}} @@ -53,8 +53,8 @@
{{truncate trait.description 50}}
{{#if ../owner}}
- - + +
{{/if}} @@ -65,6 +65,6 @@ {{!-- Save Changes --}}
- +
diff --git a/system/templates/items/lineage-config.hbs b/system/templates/items/lineage-config.hbs index 07705e2..ac0e3d3 100644 --- a/system/templates/items/lineage-config.hbs +++ b/system/templates/items/lineage-config.hbs @@ -4,7 +4,7 @@

- +

@@ -18,28 +18,28 @@ {{!-- Description --}}
- + {{editor descriptionHTML target="system.description" button=false editable=editable engine="prosemirror" collaborate=false}}
- {{ localize "Hereditary Traits" }} + {{ localize "BlackFlag.Character.HereditaryTraits" }} {{!-- Age --}}
- - + +
{{!-- Size Description --}}
- - + +
{{!-- Size --}}
- + @@ -47,35 +47,35 @@ {{!-- Speed --}}
- - + +
- {{localize "Sight"}} + {{localize "BlackFlag.Character.LineageSight"}} {{!-- Sight Description --}}
- - + +
{{!-- Bright --}}
- - + +
{{!-- Dim --}}
- - + +
{{!-- Dark --}}
- - + +
@@ -86,11 +86,11 @@ {{!-- Traits --}}
-

{{ localize "Traits" }}

+

{{ localize "BlackFlag.Character.Traits" }}

{{#if owner}} {{/if}} @@ -106,8 +106,8 @@
{{truncate trait.description 50}}
{{#if ../owner}}
- - + +
{{/if}} @@ -118,6 +118,6 @@ {{!-- Save Changes --}}
- +
diff --git a/system/templates/items/talent-config.hbs b/system/templates/items/talent-config.hbs index b378bb7..6546513 100644 --- a/system/templates/items/talent-config.hbs +++ b/system/templates/items/talent-config.hbs @@ -4,7 +4,7 @@

- +

@@ -13,18 +13,18 @@ {{!-- Prequisite --}}
- - + +
{{!-- Description --}}
- + {{editor descriptionHTML target="system.description" button=false editable=editable engine="prosemirror" collaborate=false}}