diff --git a/.github/workflows/github-pages.yml b/.github/workflows/github-pages.yml
index 46957c02e56..6e056bc4032 100644
--- a/.github/workflows/github-pages.yml
+++ b/.github/workflows/github-pages.yml
@@ -23,7 +23,9 @@ jobs:
timeout-minutes: 10
runs-on: ubuntu-latest
env:
- api-dir: ./
+ docs-dir: ./pokerogue_docs
+ # Only push docs when running on pushes to main/beta
+ DRY_RUN: ${{github.event_name != 'push' || (github.ref_name != 'beta' && github.ref_name != 'main')}}
strategy:
fail-fast: false
@@ -45,7 +47,7 @@ jobs:
with:
version: 10
- - name: Setup Node 22.14.1
+ - name: Setup Node
uses: actions/setup-node@v4
with:
node-version-file: "pokerogue_docs/.nvmrc"
@@ -58,26 +60,24 @@ jobs:
ref: gh-pages
- name: Install Node.js dependencies
- working-directory: ${{env.api-dir}}
- run: |
- cd pokerogue_docs
- pnpm i
+ working-directory: ${{env.docs-dir}}
+ run: pnpm i
- name: Generate Typedoc docs
- working-directory: ${{env.api-dir}}
- run: |
- cd pokerogue_docs
- pnpm exec typedoc --out /tmp/docs --githubPages false --entryPoints ./src/
+ working-directory: ${{env.docs-dir}}
+ env:
+ REF_NAME: ${{github.ref_name}}
+ DRY_RUN: ${{env.DRY_RUN}}
+ run: pnpm typedoc
- name: Commit & Push docs
- if: github.event_name == 'push' && (github.ref_name == 'beta' || github.ref_name == 'main')
+ # env vars are stored as strings instead of booleans (hence why an explicit check is required)
+ if: ${{ env.DRY_RUN == 'false'}}
run: |
cd pokerogue_gh
git config user.email "github-actions[bot]@users.noreply.github.com"
git config user.name "github-actions[bot]"
- mkdir -p $GITHUB_REF_NAME
- rm -rf $GITHUB_REF_NAME/*
- cp -r /tmp/docs/. $GITHUB_REF_NAME
+ rsync -rd --delete /tmp/docs/ $GITHUB_REF_NAME
git add $GITHUB_REF_NAME
- git commit --allow-empty -m "[skip ci] Deploy docs"
- git push
\ No newline at end of file
+ git commit -m "[skip ci] Deploy docs"
+ git push
diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml
index 08327ee3653..edecae64f95 100644
--- a/.github/workflows/linting.yml
+++ b/.github/workflows/linting.yml
@@ -18,7 +18,7 @@ on:
jobs:
run-linters:
- name: Run linters
+ name: Run all linters
timeout-minutes: 10
runs-on: ubuntu-latest
@@ -26,27 +26,86 @@ jobs:
- name: Check out Git repository
uses: actions/checkout@v4
with:
- submodules: 'recursive'
+ submodules: "recursive"
- name: Install pnpm
uses: pnpm/action-setup@v4
with:
version: 10
- - name: Set up Node.js
+ - name: Set up Node
uses: actions/setup-node@v4
with:
- node-version-file: '.nvmrc'
- cache: 'pnpm'
+ node-version-file: ".nvmrc"
+ cache: "pnpm"
- - name: Install Node.js dependencies
+ - name: Install Node modules
run: pnpm i
- - name: Lint with Biome
+ # Lint files with Biome-Lint - https://biomejs.dev/linter/
+ - name: Run Biome-Lint
run: pnpm biome-ci
+ id: biome_lint
+ continue-on-error: true
- - name: Check dependencies with depcruise
+ # Validate dependencies with dependency-cruiser - https://github.com/sverweij/dependency-cruiser
+ - name: Run Dependency-Cruise
run: pnpm depcruise
-
- - name: Lint with ls-lint
- run: pnpm ls-lint
\ No newline at end of file
+ id: depcruise
+ continue-on-error: true
+
+ # Validate types with tsc - https://www.typescriptlang.org/docs/handbook/compiler-options.html#using-the-cli
+ - name: Run Typecheck
+ run: pnpm typecheck
+ id: typecheck
+ continue-on-error: true
+
+ # The exact same thing
+ - name: Run Typecheck (scripts)
+ run: pnpm typecheck:scripts
+ id: typecheck-scripts
+ continue-on-error: true
+
+ - name: Evaluate for Errors
+ env:
+ BIOME_LINT_OUTCOME: ${{ steps.biome_lint.outcome }}
+ DEPCRUISE_OUTCOME: ${{ steps.depcruise.outcome }}
+ TYPECHECK_OUTCOME: ${{ steps.typecheck.outcome }}
+ TYPECHECK_SCRIPTS_OUTCOME: ${{ steps.typecheck-scripts.outcome }}
+ run: |
+ # Check for Errors
+
+ # Make text red.
+ red () {
+ printf "\e[31m%s\e[0m" "$1"
+ }
+
+ # Make text green.
+ green () {
+ printf "\e[32m%s\e[0m" "$1"
+ }
+
+ print_result() {
+ local name=$1
+ local outcome=$2
+ if [ "$outcome" == "success" ]; then
+ printf "$(green "✅ $name: $outcome")\n"
+ else
+ printf "$(red "❌ $name: $outcome")\n"
+ fi
+ }
+
+ print_result "Biome" "$BIOME_LINT_OUTCOME"
+ print_result "Depcruise" "$DEPCRUISE_OUTCOME"
+ print_result "Typecheck" "$TYPECHECK_OUTCOME"
+ print_result "Typecheck scripts" "$TYPECHECK_SCRIPTS_OUTCOME"
+
+ if [[ "$BIOME_LINT_OUTCOME" != "success" || \
+ "$DEPCRUISE_OUTCOME" != "success" || \
+ "$TYPECHECK_OUTCOME" != "success" || \
+ "$TYPECHECK_SCRIPTS_OUTCOME" != "success" ]]; then
+ printf "$(red "❌ One or more checks failed!")\n" >&2
+ exit 1
+ fi
+
+ printf "$(green "✅ All checks passed!")\n"
diff --git a/README.md b/README.md
index 1bb8c7772f3..73477968bc0 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,9 @@
-
+

+
+[](https://discord.gg/pokerogue)
+[](https://pagefaultgames.github.io/pokerogue/beta)
+[](https://github.com/pagefaultgames/pokerogue/actions/workflows/tests.yml)
+[](https://www.gnu.org/licenses/agpl-3.0)
PokéRogue is a browser based Pokémon fangame heavily inspired by the roguelite genre. Battle endlessly while gathering stacking items, exploring many different biomes, fighting trainers, bosses, and more!
@@ -7,7 +12,7 @@ PokéRogue is a browser based Pokémon fangame heavily inspired by the roguelite
See [CONTRIBUTING.md](./CONTRIBUTING.md), this includes instructions on how to set up the game locally.
# 📝 Credits
->
+
> If this project contains assets you have produced and you do not see your name, **please** reach out, either [here on GitHub](https://github.com/pagefaultgames/pokerogue/issues/new) or via [Discord](https://discord.gg/pokerogue).
Thank you to all the wonderful people that have contributed to the PokéRogue project! You can find the credits [here](./CREDITS.md).
diff --git a/biome.jsonc b/biome.jsonc
index a63ce0ee07d..e6f9ff5711a 100644
--- a/biome.jsonc
+++ b/biome.jsonc
@@ -175,10 +175,17 @@
}
},
- // Overrides to prevent unused import removal inside `overrides.ts` and enums files (for TSDoc linkcodes),
- // as well as in all TS files in `scripts/` (which are assumed to be boilerplate templates).
+ // Overrides to prevent unused import removal inside `overrides.ts`, enums & `.d.ts` files (for TSDoc linkcodes),
+ // as well as inside script boilerplate files.
{
- "includes": ["**/src/overrides.ts", "**/src/enums/**/*", "**/scripts/**/*.ts", "**/*.d.ts"],
+ // TODO: Rename existing boilerplates in the folder and remove this last alias
+ "includes": [
+ "**/src/overrides.ts",
+ "**/src/enums/**/*",
+ "**/*.d.ts",
+ "scripts/**/*.boilerplate.ts",
+ "**/boilerplates/*.ts"
+ ],
"linter": {
"rules": {
"correctness": {
@@ -188,7 +195,7 @@
}
},
{
- "includes": ["**/src/overrides.ts", "**/scripts/**/*.ts"],
+ "includes": ["**/src/overrides.ts"],
"linter": {
"rules": {
"style": {
diff --git a/global.d.ts b/global.d.ts
index 8b79d966e3c..92a883f40c9 100644
--- a/global.d.ts
+++ b/global.d.ts
@@ -18,3 +18,14 @@ declare global {
call(this: T, thisArg: ThisParameterType, ...argArray: Parameters): ReturnType;
}
}
+
+// Global augments for `typedoc` to prevent TS from erroring when editing the config JS file
+declare module "typedoc" {
+ export interface TypeDocOptionMap {
+ coverageLabel: string;
+ coverageColor: string;
+ coverageOutputPath: string;
+ coverageOutputType: "svg" | "json" | "all";
+ coverageSvgWidth: number;
+ }
+}
diff --git a/package.json b/package.json
index 38386c3d964..76a0f46d192 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "pokemon-rogue-battle",
"private": true,
- "version": "1.10.6",
+ "version": "1.10.7",
"type": "module",
"scripts": {
"start:prod": "vite --mode production",
@@ -15,11 +15,13 @@
"test:watch": "vitest watch --coverage --no-isolate",
"test:silent": "vitest run --silent='passed-only' --no-isolate",
"test:create": "node scripts/create-test/create-test.js",
+ "eggMoves:parse": "node scripts/parse-egg-moves/main.js",
"scrape-trainers": "node scripts/scrape-trainer-names/main.js",
"typecheck": "tsc --noEmit",
+ "typecheck:scripts": "tsc -p scripts/jsconfig.json",
"biome": "biome check --write --changed --no-errors-on-unmatched --diagnostic-level=error",
"biome-ci": "biome ci --diagnostic-level=error --reporter=github --no-errors-on-unmatched",
- "docs": "typedoc",
+ "typedoc": "typedoc",
"depcruise": "depcruise src test",
"postinstall": "lefthook install; git submodule update --init --recursive",
"update-version:patch": "pnpm version patch --force --no-git-tag-version",
@@ -34,6 +36,7 @@
"@types/node": "^22.16.5",
"@vitest/coverage-istanbul": "^3.2.4",
"@vitest/expect": "^3.2.4",
+ "@vitest/utils": "^3.2.4",
"chalk": "^5.4.1",
"dependency-cruiser": "^16.10.4",
"inquirer": "^12.8.2",
@@ -42,6 +45,9 @@
"msw": "^2.10.4",
"phaser3spectorjs": "^0.0.8",
"typedoc": "^0.28.8",
+ "typedoc-github-theme": "^0.3.1",
+ "typedoc-plugin-coverage": "^4.0.1",
+ "typedoc-plugin-mdn-links": "^5.0.9",
"typescript": "^5.8.3",
"vite": "^7.0.6",
"vite-tsconfig-paths": "^5.1.4",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index c3b58a60f48..be3e683f71c 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -63,6 +63,9 @@ importers:
'@vitest/expect':
specifier: ^3.2.4
version: 3.2.4
+ '@vitest/utils':
+ specifier: ^3.2.4
+ version: 3.2.4
chalk:
specifier: ^5.4.1
version: 5.4.1
@@ -87,6 +90,15 @@ importers:
typedoc:
specifier: ^0.28.8
version: 0.28.8(typescript@5.8.3)
+ typedoc-github-theme:
+ specifier: ^0.3.1
+ version: 0.3.1(typedoc@0.28.8(typescript@5.8.3))
+ typedoc-plugin-coverage:
+ specifier: ^4.0.1
+ version: 4.0.1(typedoc@0.28.8(typescript@5.8.3))
+ typedoc-plugin-mdn-links:
+ specifier: ^5.0.9
+ version: 5.0.9(typedoc@0.28.8(typescript@5.8.3))
typescript:
specifier: ^5.8.3
version: 5.8.3
@@ -1789,6 +1801,23 @@ packages:
resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==}
engines: {node: '>=16'}
+ typedoc-github-theme@0.3.1:
+ resolution: {integrity: sha512-j6PmkAGmf/MGCzYjQcUH6jS9djPsNl/IoTXooxC+MoeMkBhbmPyKJlpR6Lw12BLoe2OYpYA2J1KMktUJXp/8Sw==}
+ engines: {node: '>=18.0.0'}
+ peerDependencies:
+ typedoc: ~0.28.0
+
+ typedoc-plugin-coverage@4.0.1:
+ resolution: {integrity: sha512-P1QBR5GJSfW3fDrpz4Vkd8z8lzWaBYjaHebRLk0u2Uga0oSFlPaqrCyiHzItBXxZX28aMlNlZwrUnsLgUgqA7g==}
+ engines: {node: '>= 18'}
+ peerDependencies:
+ typedoc: 0.28.x
+
+ typedoc-plugin-mdn-links@5.0.9:
+ resolution: {integrity: sha512-kXssRKBhUd0JeHzFmxWVsGWVFR9WXafe70Y8Ed+MYH2Nu2647cqfGQN1OBKgvXpmAT8MTpACmUIQ7GnQnh1/iw==}
+ peerDependencies:
+ typedoc: 0.27.x || 0.28.x
+
typedoc@0.28.8:
resolution: {integrity: sha512-16GfLopc8icHfdvqZDqdGBoS2AieIRP2rpf9mU+MgN+gGLyEQvAO0QgOa6NJ5QNmQi0LFrDY9in4F2fUNKgJKA==}
engines: {node: '>= 18', pnpm: '>= 10'}
@@ -3634,6 +3663,18 @@ snapshots:
type-fest@4.41.0: {}
+ typedoc-github-theme@0.3.1(typedoc@0.28.8(typescript@5.8.3)):
+ dependencies:
+ typedoc: 0.28.8(typescript@5.8.3)
+
+ typedoc-plugin-coverage@4.0.1(typedoc@0.28.8(typescript@5.8.3)):
+ dependencies:
+ typedoc: 0.28.8(typescript@5.8.3)
+
+ typedoc-plugin-mdn-links@5.0.9(typedoc@0.28.8(typescript@5.8.3)):
+ dependencies:
+ typedoc: 0.28.8(typescript@5.8.3)
+
typedoc@0.28.8(typescript@5.8.3):
dependencies:
'@gerrit0/mini-shiki': 3.8.1
diff --git a/public/images/ui/legacy/numbers_alt.png b/public/images/ui/legacy/numbers_alt.png
deleted file mode 100644
index fb510465471..00000000000
Binary files a/public/images/ui/legacy/numbers_alt.png and /dev/null differ
diff --git a/public/images/ui/legacy/numbers_red_alt.png b/public/images/ui/legacy/numbers_red_alt.png
deleted file mode 100644
index d9edb0468d8..00000000000
Binary files a/public/images/ui/legacy/numbers_red_alt.png and /dev/null differ
diff --git a/public/images/ui/legacy/overlay_lv.png b/public/images/ui/legacy/overlay_lv.png
deleted file mode 100644
index fdcbb1c7082..00000000000
Binary files a/public/images/ui/legacy/overlay_lv.png and /dev/null differ
diff --git a/public/images/ui/legacy/overlay_lv_alt.png b/public/images/ui/legacy/overlay_lv_alt.png
deleted file mode 100644
index 92ec684bf75..00000000000
Binary files a/public/images/ui/legacy/overlay_lv_alt.png and /dev/null differ
diff --git a/public/images/ui/legacy/party_slot_hp_bar.png b/public/images/ui/legacy/party_slot_hp_bar.png
index 6a37002744c..7ec53ae806b 100644
Binary files a/public/images/ui/legacy/party_slot_hp_bar.png and b/public/images/ui/legacy/party_slot_hp_bar.png differ
diff --git a/public/images/ui/legacy/party_slot_overlay_lv_alt.png b/public/images/ui/legacy/party_slot_overlay_lv_alt.png
deleted file mode 100644
index 7aa9a590a13..00000000000
Binary files a/public/images/ui/legacy/party_slot_overlay_lv_alt.png and /dev/null differ
diff --git a/public/images/ui/legacy/pbinfo_enemy_boss.png b/public/images/ui/legacy/pbinfo_enemy_boss.png
index 98b2f09f941..20eb74c59b3 100644
Binary files a/public/images/ui/legacy/pbinfo_enemy_boss.png and b/public/images/ui/legacy/pbinfo_enemy_boss.png differ
diff --git a/public/images/ui/legacy/pbinfo_enemy_mini.png b/public/images/ui/legacy/pbinfo_enemy_mini.png
index c1c002a4b21..7beddd98d55 100644
Binary files a/public/images/ui/legacy/pbinfo_enemy_mini.png and b/public/images/ui/legacy/pbinfo_enemy_mini.png differ
diff --git a/public/images/ui/legacy/pbinfo_player.png b/public/images/ui/legacy/pbinfo_player.png
index 60c92f886aa..f9e16a9aa0c 100644
Binary files a/public/images/ui/legacy/pbinfo_player.png and b/public/images/ui/legacy/pbinfo_player.png differ
diff --git a/public/images/ui/legacy/pbinfo_player_mini.png b/public/images/ui/legacy/pbinfo_player_mini.png
index 120e9592ab9..183db0d44f9 100644
Binary files a/public/images/ui/legacy/pbinfo_player_mini.png and b/public/images/ui/legacy/pbinfo_player_mini.png differ
diff --git a/public/images/ui/legacy/pbinfo_stat.png b/public/images/ui/legacy/pbinfo_stat.png
deleted file mode 100644
index 25c94f9a807..00000000000
Binary files a/public/images/ui/legacy/pbinfo_stat.png and /dev/null differ
diff --git a/public/images/ui/legacy/text_images/ca/battle_ui/overlay_exp_label_ca.png b/public/images/ui/legacy/text_images/ca/battle_ui/overlay_exp_label_ca.png
new file mode 100644
index 00000000000..acb04a84a31
Binary files /dev/null and b/public/images/ui/legacy/text_images/ca/battle_ui/overlay_exp_label_ca.png differ
diff --git a/public/images/ui/legacy/text_images/ca/battle_ui/overlay_hp_label_boss_ca.png b/public/images/ui/legacy/text_images/ca/battle_ui/overlay_hp_label_boss_ca.png
new file mode 100644
index 00000000000..283d63fb235
Binary files /dev/null and b/public/images/ui/legacy/text_images/ca/battle_ui/overlay_hp_label_boss_ca.png differ
diff --git a/public/images/ui/legacy/text_images/ca/battle_ui/overlay_hp_label_ca.png b/public/images/ui/legacy/text_images/ca/battle_ui/overlay_hp_label_ca.png
new file mode 100644
index 00000000000..4f388b70a75
Binary files /dev/null and b/public/images/ui/legacy/text_images/ca/battle_ui/overlay_hp_label_ca.png differ
diff --git a/public/images/ui/legacy/text_images/ca/battle_ui/overlay_lv_ca.png b/public/images/ui/legacy/text_images/ca/battle_ui/overlay_lv_ca.png
new file mode 100644
index 00000000000..7fdf26388bf
Binary files /dev/null and b/public/images/ui/legacy/text_images/ca/battle_ui/overlay_lv_ca.png differ
diff --git a/public/images/ui/legacy/text_images/ca/battle_ui/pbinfo_stat_ca.json b/public/images/ui/legacy/text_images/ca/battle_ui/pbinfo_stat_ca.json
new file mode 100644
index 00000000000..4bae82011ea
--- /dev/null
+++ b/public/images/ui/legacy/text_images/ca/battle_ui/pbinfo_stat_ca.json
@@ -0,0 +1,209 @@
+{
+ "textures": [
+ {
+ "image": "pbinfo_stat_ca.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 112,
+ "h": 8
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "SPATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 18,
+ "h": 8
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 18,
+ "h": 8
+ }
+ },
+ {
+ "filename": "SPDEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 18,
+ "h": 8
+ },
+ "frame": {
+ "x": 18,
+ "y": 0,
+ "w": 18,
+ "h": 8
+ }
+ },
+ {
+ "filename": "CRIT",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 17,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 16,
+ "h": 8
+ },
+ "frame": {
+ "x": 36,
+ "y": 0,
+ "w": 16,
+ "h": 8
+ }
+ },
+ {
+ "filename": "ACC",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 12,
+ "h": 8
+ },
+ "frame": {
+ "x": 52,
+ "y": 0,
+ "w": 12,
+ "h": 8
+ }
+ },
+ {
+ "filename": "ATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 12,
+ "h": 8
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 12,
+ "h": 8
+ }
+ },
+ {
+ "filename": "DEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 12,
+ "h": 8
+ },
+ "frame": {
+ "x": 76,
+ "y": 0,
+ "w": 12,
+ "h": 8
+ }
+ },
+ {
+ "filename": "EVA",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 12,
+ "h": 8
+ },
+ "frame": {
+ "x": 88,
+ "y": 0,
+ "w": 12,
+ "h": 8
+ }
+ },
+ {
+ "filename": "SPD",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 12,
+ "h": 8
+ },
+ "frame": {
+ "x": 100,
+ "y": 0,
+ "w": 12,
+ "h": 8
+ }
+ },
+ {
+ "filename": "HP",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 9,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 8,
+ "h": 8
+ },
+ "frame": {
+ "x": 112,
+ "y": 0,
+ "w": 8,
+ "h": 8
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:40d30205ce8efd40dfa86cd11b0491d6:7076db6ed74199dcfb38fc8cd4d4a0e8:05882267d3999884e0491134e98b1b53$"
+ }
+}
diff --git a/public/images/ui/legacy/text_images/ca/battle_ui/pbinfo_stat_ca.png b/public/images/ui/legacy/text_images/ca/battle_ui/pbinfo_stat_ca.png
new file mode 100644
index 00000000000..a6ccf90c284
Binary files /dev/null and b/public/images/ui/legacy/text_images/ca/battle_ui/pbinfo_stat_ca.png differ
diff --git a/public/images/ui/legacy/text_images/ca/party_ui/party_slot_overlay_hp_ca.png b/public/images/ui/legacy/text_images/ca/party_ui/party_slot_overlay_hp_ca.png
new file mode 100644
index 00000000000..981d8573aca
Binary files /dev/null and b/public/images/ui/legacy/text_images/ca/party_ui/party_slot_overlay_hp_ca.png differ
diff --git a/public/images/ui/legacy/text_images/ca/party_ui/party_slot_overlay_lv_ca.png b/public/images/ui/legacy/text_images/ca/party_ui/party_slot_overlay_lv_ca.png
new file mode 100644
index 00000000000..512db34fa85
Binary files /dev/null and b/public/images/ui/legacy/text_images/ca/party_ui/party_slot_overlay_lv_ca.png differ
diff --git a/public/images/ui/legacy/text_images/da/battle_ui/overlay_exp_label_da.png b/public/images/ui/legacy/text_images/da/battle_ui/overlay_exp_label_da.png
new file mode 100644
index 00000000000..4c456fff94e
Binary files /dev/null and b/public/images/ui/legacy/text_images/da/battle_ui/overlay_exp_label_da.png differ
diff --git a/public/images/ui/legacy/text_images/da/battle_ui/overlay_hp_label_boss_da.png b/public/images/ui/legacy/text_images/da/battle_ui/overlay_hp_label_boss_da.png
new file mode 100644
index 00000000000..283d63fb235
Binary files /dev/null and b/public/images/ui/legacy/text_images/da/battle_ui/overlay_hp_label_boss_da.png differ
diff --git a/public/images/ui/legacy/text_images/da/battle_ui/overlay_hp_label_da.png b/public/images/ui/legacy/text_images/da/battle_ui/overlay_hp_label_da.png
new file mode 100644
index 00000000000..67824c7ee4e
Binary files /dev/null and b/public/images/ui/legacy/text_images/da/battle_ui/overlay_hp_label_da.png differ
diff --git a/public/images/ui/legacy/text_images/da/battle_ui/overlay_lv_da.png b/public/images/ui/legacy/text_images/da/battle_ui/overlay_lv_da.png
new file mode 100644
index 00000000000..ea32ac03ee2
Binary files /dev/null and b/public/images/ui/legacy/text_images/da/battle_ui/overlay_lv_da.png differ
diff --git a/public/images/ui/legacy/text_images/da/battle_ui/pbinfo_stat_da.json b/public/images/ui/legacy/text_images/da/battle_ui/pbinfo_stat_da.json
new file mode 100644
index 00000000000..eca2a9071ac
--- /dev/null
+++ b/public/images/ui/legacy/text_images/da/battle_ui/pbinfo_stat_da.json
@@ -0,0 +1,209 @@
+{
+ "textures": [
+ {
+ "image": "pbinfo_stat_da.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 112,
+ "h": 6
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "SPATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 18,
+ "h": 6
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 18,
+ "h": 6
+ }
+ },
+ {
+ "filename": "SPDEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 18,
+ "h": 6
+ },
+ "frame": {
+ "x": 18,
+ "y": 0,
+ "w": 18,
+ "h": 6
+ }
+ },
+ {
+ "filename": "CRIT",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 17,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 16,
+ "h": 6
+ },
+ "frame": {
+ "x": 36,
+ "y": 0,
+ "w": 16,
+ "h": 6
+ }
+ },
+ {
+ "filename": "ACC",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 6
+ },
+ "frame": {
+ "x": 52,
+ "y": 0,
+ "w": 12,
+ "h": 6
+ }
+ },
+ {
+ "filename": "ATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 6
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 12,
+ "h": 6
+ }
+ },
+ {
+ "filename": "DEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 6
+ },
+ "frame": {
+ "x": 76,
+ "y": 0,
+ "w": 12,
+ "h": 6
+ }
+ },
+ {
+ "filename": "EVA",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 6
+ },
+ "frame": {
+ "x": 88,
+ "y": 0,
+ "w": 12,
+ "h": 6
+ }
+ },
+ {
+ "filename": "SPD",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 6
+ },
+ "frame": {
+ "x": 100,
+ "y": 0,
+ "w": 12,
+ "h": 6
+ }
+ },
+ {
+ "filename": "HP",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 9,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 8,
+ "h": 6
+ },
+ "frame": {
+ "x": 112,
+ "y": 0,
+ "w": 8,
+ "h": 6
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:40d30205ce8efd40dfa86cd11b0491d6:7076db6ed74199dcfb38fc8cd4d4a0e8:05882267d3999884e0491134e98b1b53$"
+ }
+}
diff --git a/public/images/ui/legacy/text_images/da/battle_ui/pbinfo_stat_da.png b/public/images/ui/legacy/text_images/da/battle_ui/pbinfo_stat_da.png
new file mode 100644
index 00000000000..c729e7a2207
Binary files /dev/null and b/public/images/ui/legacy/text_images/da/battle_ui/pbinfo_stat_da.png differ
diff --git a/public/images/ui/legacy/text_images/da/party_ui/party_slot_overlay_hp_da.png b/public/images/ui/legacy/text_images/da/party_ui/party_slot_overlay_hp_da.png
new file mode 100644
index 00000000000..a78ac090d3b
Binary files /dev/null and b/public/images/ui/legacy/text_images/da/party_ui/party_slot_overlay_hp_da.png differ
diff --git a/public/images/ui/legacy/party_slot_overlay_lv.png b/public/images/ui/legacy/text_images/da/party_ui/party_slot_overlay_lv_da.png
similarity index 100%
rename from public/images/ui/legacy/party_slot_overlay_lv.png
rename to public/images/ui/legacy/text_images/da/party_ui/party_slot_overlay_lv_da.png
diff --git a/public/images/ui/legacy/text_images/de/battle_ui/overlay_exp_label_de.png b/public/images/ui/legacy/text_images/de/battle_ui/overlay_exp_label_de.png
new file mode 100644
index 00000000000..4c456fff94e
Binary files /dev/null and b/public/images/ui/legacy/text_images/de/battle_ui/overlay_exp_label_de.png differ
diff --git a/public/images/ui/legacy/text_images/de/battle_ui/overlay_hp_label_boss_de.png b/public/images/ui/legacy/text_images/de/battle_ui/overlay_hp_label_boss_de.png
new file mode 100644
index 00000000000..283d63fb235
Binary files /dev/null and b/public/images/ui/legacy/text_images/de/battle_ui/overlay_hp_label_boss_de.png differ
diff --git a/public/images/ui/legacy/text_images/de/battle_ui/overlay_hp_label_de.png b/public/images/ui/legacy/text_images/de/battle_ui/overlay_hp_label_de.png
new file mode 100644
index 00000000000..b8404159bc9
Binary files /dev/null and b/public/images/ui/legacy/text_images/de/battle_ui/overlay_hp_label_de.png differ
diff --git a/public/images/ui/legacy/text_images/de/battle_ui/overlay_lv_de.png b/public/images/ui/legacy/text_images/de/battle_ui/overlay_lv_de.png
new file mode 100644
index 00000000000..ea32ac03ee2
Binary files /dev/null and b/public/images/ui/legacy/text_images/de/battle_ui/overlay_lv_de.png differ
diff --git a/public/images/ui/legacy/text_images/de/battle_ui/pbinfo_stat_de.json b/public/images/ui/legacy/text_images/de/battle_ui/pbinfo_stat_de.json
new file mode 100644
index 00000000000..c5ace776596
--- /dev/null
+++ b/public/images/ui/legacy/text_images/de/battle_ui/pbinfo_stat_de.json
@@ -0,0 +1,209 @@
+{
+ "textures": [
+ {
+ "image": "pbinfo_stat_de.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 112,
+ "h": 6
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "SPATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 18,
+ "h": 6
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 18,
+ "h": 6
+ }
+ },
+ {
+ "filename": "SPDEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 18,
+ "h": 6
+ },
+ "frame": {
+ "x": 18,
+ "y": 0,
+ "w": 18,
+ "h": 6
+ }
+ },
+ {
+ "filename": "CRIT",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 17,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 16,
+ "h": 6
+ },
+ "frame": {
+ "x": 36,
+ "y": 0,
+ "w": 16,
+ "h": 6
+ }
+ },
+ {
+ "filename": "ACC",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 6
+ },
+ "frame": {
+ "x": 52,
+ "y": 0,
+ "w": 12,
+ "h": 6
+ }
+ },
+ {
+ "filename": "ATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 6
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 12,
+ "h": 6
+ }
+ },
+ {
+ "filename": "DEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 6
+ },
+ "frame": {
+ "x": 76,
+ "y": 0,
+ "w": 12,
+ "h": 6
+ }
+ },
+ {
+ "filename": "EVA",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 6
+ },
+ "frame": {
+ "x": 88,
+ "y": 0,
+ "w": 12,
+ "h": 6
+ }
+ },
+ {
+ "filename": "SPD",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 6
+ },
+ "frame": {
+ "x": 100,
+ "y": 0,
+ "w": 12,
+ "h": 6
+ }
+ },
+ {
+ "filename": "HP",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 9,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 8,
+ "h": 6
+ },
+ "frame": {
+ "x": 112,
+ "y": 0,
+ "w": 8,
+ "h": 6
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:40d30205ce8efd40dfa86cd11b0491d6:7076db6ed74199dcfb38fc8cd4d4a0e8:05882267d3999884e0491134e98b1b53$"
+ }
+}
diff --git a/public/images/ui/legacy/text_images/de/battle_ui/pbinfo_stat_de.png b/public/images/ui/legacy/text_images/de/battle_ui/pbinfo_stat_de.png
new file mode 100644
index 00000000000..8de02e9f16e
Binary files /dev/null and b/public/images/ui/legacy/text_images/de/battle_ui/pbinfo_stat_de.png differ
diff --git a/public/images/ui/legacy/text_images/de/party_ui/party_slot_overlay_hp_de.png b/public/images/ui/legacy/text_images/de/party_ui/party_slot_overlay_hp_de.png
new file mode 100644
index 00000000000..8265dfda0d2
Binary files /dev/null and b/public/images/ui/legacy/text_images/de/party_ui/party_slot_overlay_hp_de.png differ
diff --git a/public/images/ui/legacy/text_images/de/party_ui/party_slot_overlay_lv_de.png b/public/images/ui/legacy/text_images/de/party_ui/party_slot_overlay_lv_de.png
new file mode 100644
index 00000000000..11bb545c7af
Binary files /dev/null and b/public/images/ui/legacy/text_images/de/party_ui/party_slot_overlay_lv_de.png differ
diff --git a/public/images/ui/legacy/text_images/en/battle_ui/overlay_exp_label.png b/public/images/ui/legacy/text_images/en/battle_ui/overlay_exp_label.png
new file mode 100644
index 00000000000..40b5e8925a1
Binary files /dev/null and b/public/images/ui/legacy/text_images/en/battle_ui/overlay_exp_label.png differ
diff --git a/public/images/ui/legacy/text_images/en/battle_ui/overlay_hp_label.png b/public/images/ui/legacy/text_images/en/battle_ui/overlay_hp_label.png
new file mode 100644
index 00000000000..67824c7ee4e
Binary files /dev/null and b/public/images/ui/legacy/text_images/en/battle_ui/overlay_hp_label.png differ
diff --git a/public/images/ui/legacy/text_images/en/battle_ui/overlay_hp_label_boss.png b/public/images/ui/legacy/text_images/en/battle_ui/overlay_hp_label_boss.png
new file mode 100644
index 00000000000..283d63fb235
Binary files /dev/null and b/public/images/ui/legacy/text_images/en/battle_ui/overlay_hp_label_boss.png differ
diff --git a/public/images/ui/legacy/text_images/en/battle_ui/overlay_lv.png b/public/images/ui/legacy/text_images/en/battle_ui/overlay_lv.png
new file mode 100644
index 00000000000..ea32ac03ee2
Binary files /dev/null and b/public/images/ui/legacy/text_images/en/battle_ui/overlay_lv.png differ
diff --git a/public/images/ui/legacy/pbinfo_stat.json b/public/images/ui/legacy/text_images/en/battle_ui/pbinfo_stat.json
similarity index 100%
rename from public/images/ui/legacy/pbinfo_stat.json
rename to public/images/ui/legacy/text_images/en/battle_ui/pbinfo_stat.json
diff --git a/public/images/ui/legacy/text_images/en/battle_ui/pbinfo_stat.png b/public/images/ui/legacy/text_images/en/battle_ui/pbinfo_stat.png
new file mode 100644
index 00000000000..c729e7a2207
Binary files /dev/null and b/public/images/ui/legacy/text_images/en/battle_ui/pbinfo_stat.png differ
diff --git a/public/images/ui/legacy/text_images/en/party_ui/party_slot_overlay_hp.png b/public/images/ui/legacy/text_images/en/party_ui/party_slot_overlay_hp.png
new file mode 100644
index 00000000000..a78ac090d3b
Binary files /dev/null and b/public/images/ui/legacy/text_images/en/party_ui/party_slot_overlay_hp.png differ
diff --git a/public/images/ui/legacy/text_images/en/party_ui/party_slot_overlay_lv.png b/public/images/ui/legacy/text_images/en/party_ui/party_slot_overlay_lv.png
new file mode 100644
index 00000000000..11bb545c7af
Binary files /dev/null and b/public/images/ui/legacy/text_images/en/party_ui/party_slot_overlay_lv.png differ
diff --git a/public/images/ui/legacy/text_images/es-ES/battle_ui/overlay_exp_label_es-ES.png b/public/images/ui/legacy/text_images/es-ES/battle_ui/overlay_exp_label_es-ES.png
new file mode 100644
index 00000000000..acb04a84a31
Binary files /dev/null and b/public/images/ui/legacy/text_images/es-ES/battle_ui/overlay_exp_label_es-ES.png differ
diff --git a/public/images/ui/legacy/text_images/es-ES/battle_ui/overlay_hp_label_boss_es-ES.png b/public/images/ui/legacy/text_images/es-ES/battle_ui/overlay_hp_label_boss_es-ES.png
new file mode 100644
index 00000000000..6018011d75b
Binary files /dev/null and b/public/images/ui/legacy/text_images/es-ES/battle_ui/overlay_hp_label_boss_es-ES.png differ
diff --git a/public/images/ui/legacy/text_images/es-ES/battle_ui/overlay_hp_label_es-ES.png b/public/images/ui/legacy/text_images/es-ES/battle_ui/overlay_hp_label_es-ES.png
new file mode 100644
index 00000000000..4f388b70a75
Binary files /dev/null and b/public/images/ui/legacy/text_images/es-ES/battle_ui/overlay_hp_label_es-ES.png differ
diff --git a/public/images/ui/legacy/text_images/es-ES/battle_ui/overlay_lv_es-ES.png b/public/images/ui/legacy/text_images/es-ES/battle_ui/overlay_lv_es-ES.png
new file mode 100644
index 00000000000..7fdf26388bf
Binary files /dev/null and b/public/images/ui/legacy/text_images/es-ES/battle_ui/overlay_lv_es-ES.png differ
diff --git a/public/images/ui/legacy/text_images/es-ES/battle_ui/pbinfo_stat_es_ES.json b/public/images/ui/legacy/text_images/es-ES/battle_ui/pbinfo_stat_es_ES.json
new file mode 100644
index 00000000000..e7e6318b3b5
--- /dev/null
+++ b/public/images/ui/legacy/text_images/es-ES/battle_ui/pbinfo_stat_es_ES.json
@@ -0,0 +1,209 @@
+{
+ "textures": [
+ {
+ "image": "pbinfo_stat_es-ES.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 112,
+ "h": 8
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "SPATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 18,
+ "h": 8
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 18,
+ "h": 8
+ }
+ },
+ {
+ "filename": "SPDEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 18,
+ "h": 8
+ },
+ "frame": {
+ "x": 18,
+ "y": 0,
+ "w": 18,
+ "h": 8
+ }
+ },
+ {
+ "filename": "CRIT",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 17,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 16,
+ "h": 8
+ },
+ "frame": {
+ "x": 36,
+ "y": 0,
+ "w": 16,
+ "h": 8
+ }
+ },
+ {
+ "filename": "ACC",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 12,
+ "h": 8
+ },
+ "frame": {
+ "x": 52,
+ "y": 0,
+ "w": 12,
+ "h": 8
+ }
+ },
+ {
+ "filename": "ATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 12,
+ "h": 8
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 12,
+ "h": 8
+ }
+ },
+ {
+ "filename": "DEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 12,
+ "h": 8
+ },
+ "frame": {
+ "x": 76,
+ "y": 0,
+ "w": 12,
+ "h": 8
+ }
+ },
+ {
+ "filename": "EVA",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 12,
+ "h": 8
+ },
+ "frame": {
+ "x": 88,
+ "y": 0,
+ "w": 12,
+ "h": 8
+ }
+ },
+ {
+ "filename": "SPD",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 12,
+ "h": 8
+ },
+ "frame": {
+ "x": 100,
+ "y": 0,
+ "w": 12,
+ "h": 8
+ }
+ },
+ {
+ "filename": "HP",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 9,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 8,
+ "h": 8
+ },
+ "frame": {
+ "x": 112,
+ "y": 0,
+ "w": 8,
+ "h": 8
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:40d30205ce8efd40dfa86cd11b0491d6:7076db6ed74199dcfb38fc8cd4d4a0e8:05882267d3999884e0491134e98b1b53$"
+ }
+}
diff --git a/public/images/ui/legacy/text_images/es-ES/battle_ui/pbinfo_stat_es_ES.png b/public/images/ui/legacy/text_images/es-ES/battle_ui/pbinfo_stat_es_ES.png
new file mode 100644
index 00000000000..0a66f1a7137
Binary files /dev/null and b/public/images/ui/legacy/text_images/es-ES/battle_ui/pbinfo_stat_es_ES.png differ
diff --git a/public/images/ui/legacy/text_images/es-ES/party_ui/party_slot_overlay_hp_es-ES.png b/public/images/ui/legacy/text_images/es-ES/party_ui/party_slot_overlay_hp_es-ES.png
new file mode 100644
index 00000000000..981d8573aca
Binary files /dev/null and b/public/images/ui/legacy/text_images/es-ES/party_ui/party_slot_overlay_hp_es-ES.png differ
diff --git a/public/images/ui/legacy/text_images/es-ES/party_ui/party_slot_overlay_lv_es-ES.png b/public/images/ui/legacy/text_images/es-ES/party_ui/party_slot_overlay_lv_es-ES.png
new file mode 100644
index 00000000000..512db34fa85
Binary files /dev/null and b/public/images/ui/legacy/text_images/es-ES/party_ui/party_slot_overlay_lv_es-ES.png differ
diff --git a/public/images/ui/legacy/text_images/es-MX/battle_ui/overlay_exp_label_es-MX.png b/public/images/ui/legacy/text_images/es-MX/battle_ui/overlay_exp_label_es-MX.png
new file mode 100644
index 00000000000..acb04a84a31
Binary files /dev/null and b/public/images/ui/legacy/text_images/es-MX/battle_ui/overlay_exp_label_es-MX.png differ
diff --git a/public/images/ui/legacy/text_images/es-MX/battle_ui/overlay_hp_label_boss_es-MX.png b/public/images/ui/legacy/text_images/es-MX/battle_ui/overlay_hp_label_boss_es-MX.png
new file mode 100644
index 00000000000..6018011d75b
Binary files /dev/null and b/public/images/ui/legacy/text_images/es-MX/battle_ui/overlay_hp_label_boss_es-MX.png differ
diff --git a/public/images/ui/legacy/text_images/es-MX/battle_ui/overlay_hp_label_es-MX.png b/public/images/ui/legacy/text_images/es-MX/battle_ui/overlay_hp_label_es-MX.png
new file mode 100644
index 00000000000..4f388b70a75
Binary files /dev/null and b/public/images/ui/legacy/text_images/es-MX/battle_ui/overlay_hp_label_es-MX.png differ
diff --git a/public/images/ui/legacy/text_images/es-MX/battle_ui/overlay_lv_es-MX.png b/public/images/ui/legacy/text_images/es-MX/battle_ui/overlay_lv_es-MX.png
new file mode 100644
index 00000000000..7fdf26388bf
Binary files /dev/null and b/public/images/ui/legacy/text_images/es-MX/battle_ui/overlay_lv_es-MX.png differ
diff --git a/public/images/ui/legacy/text_images/es-MX/battle_ui/pbinfo_stat_es_MX.json b/public/images/ui/legacy/text_images/es-MX/battle_ui/pbinfo_stat_es_MX.json
new file mode 100644
index 00000000000..98bd43e7dd9
--- /dev/null
+++ b/public/images/ui/legacy/text_images/es-MX/battle_ui/pbinfo_stat_es_MX.json
@@ -0,0 +1,209 @@
+{
+ "textures": [
+ {
+ "image": "pbinfo_stat_es-MX.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 112,
+ "h": 8
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "SPATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 18,
+ "h": 8
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 18,
+ "h": 8
+ }
+ },
+ {
+ "filename": "SPDEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 18,
+ "h": 8
+ },
+ "frame": {
+ "x": 18,
+ "y": 0,
+ "w": 18,
+ "h": 8
+ }
+ },
+ {
+ "filename": "CRIT",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 17,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 16,
+ "h": 8
+ },
+ "frame": {
+ "x": 36,
+ "y": 0,
+ "w": 16,
+ "h": 8
+ }
+ },
+ {
+ "filename": "ACC",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 12,
+ "h": 8
+ },
+ "frame": {
+ "x": 52,
+ "y": 0,
+ "w": 12,
+ "h": 8
+ }
+ },
+ {
+ "filename": "ATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 12,
+ "h": 8
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 12,
+ "h": 8
+ }
+ },
+ {
+ "filename": "DEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 12,
+ "h": 8
+ },
+ "frame": {
+ "x": 76,
+ "y": 0,
+ "w": 12,
+ "h": 8
+ }
+ },
+ {
+ "filename": "EVA",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 12,
+ "h": 8
+ },
+ "frame": {
+ "x": 88,
+ "y": 0,
+ "w": 12,
+ "h": 8
+ }
+ },
+ {
+ "filename": "SPD",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 12,
+ "h": 8
+ },
+ "frame": {
+ "x": 100,
+ "y": 0,
+ "w": 12,
+ "h": 8
+ }
+ },
+ {
+ "filename": "HP",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 9,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 8,
+ "h": 8
+ },
+ "frame": {
+ "x": 112,
+ "y": 0,
+ "w": 8,
+ "h": 8
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:40d30205ce8efd40dfa86cd11b0491d6:7076db6ed74199dcfb38fc8cd4d4a0e8:05882267d3999884e0491134e98b1b53$"
+ }
+}
diff --git a/public/images/ui/legacy/text_images/es-MX/battle_ui/pbinfo_stat_es_MX.png b/public/images/ui/legacy/text_images/es-MX/battle_ui/pbinfo_stat_es_MX.png
new file mode 100644
index 00000000000..0a66f1a7137
Binary files /dev/null and b/public/images/ui/legacy/text_images/es-MX/battle_ui/pbinfo_stat_es_MX.png differ
diff --git a/public/images/ui/legacy/text_images/es-MX/party_ui/party_slot_overlay_hp_es-MX.png b/public/images/ui/legacy/text_images/es-MX/party_ui/party_slot_overlay_hp_es-MX.png
new file mode 100644
index 00000000000..981d8573aca
Binary files /dev/null and b/public/images/ui/legacy/text_images/es-MX/party_ui/party_slot_overlay_hp_es-MX.png differ
diff --git a/public/images/ui/legacy/text_images/es-MX/party_ui/party_slot_overlay_lv_es-MX.png b/public/images/ui/legacy/text_images/es-MX/party_ui/party_slot_overlay_lv_es-MX.png
new file mode 100644
index 00000000000..512db34fa85
Binary files /dev/null and b/public/images/ui/legacy/text_images/es-MX/party_ui/party_slot_overlay_lv_es-MX.png differ
diff --git a/public/images/ui/legacy/text_images/fr/battle_ui/overlay_exp_label_fr.png b/public/images/ui/legacy/text_images/fr/battle_ui/overlay_exp_label_fr.png
new file mode 100644
index 00000000000..40b5e8925a1
Binary files /dev/null and b/public/images/ui/legacy/text_images/fr/battle_ui/overlay_exp_label_fr.png differ
diff --git a/public/images/ui/legacy/text_images/fr/battle_ui/overlay_hp_label_boss_fr.png b/public/images/ui/legacy/text_images/fr/battle_ui/overlay_hp_label_boss_fr.png
new file mode 100644
index 00000000000..283d63fb235
Binary files /dev/null and b/public/images/ui/legacy/text_images/fr/battle_ui/overlay_hp_label_boss_fr.png differ
diff --git a/public/images/ui/legacy/text_images/fr/battle_ui/overlay_hp_label_fr.png b/public/images/ui/legacy/text_images/fr/battle_ui/overlay_hp_label_fr.png
new file mode 100644
index 00000000000..3f7e12c3246
Binary files /dev/null and b/public/images/ui/legacy/text_images/fr/battle_ui/overlay_hp_label_fr.png differ
diff --git a/public/images/ui/legacy/text_images/fr/battle_ui/overlay_lv_fr.png b/public/images/ui/legacy/text_images/fr/battle_ui/overlay_lv_fr.png
new file mode 100644
index 00000000000..5a31182069c
Binary files /dev/null and b/public/images/ui/legacy/text_images/fr/battle_ui/overlay_lv_fr.png differ
diff --git a/public/images/ui/legacy/text_images/fr/battle_ui/pbinfo_stat_fr.json b/public/images/ui/legacy/text_images/fr/battle_ui/pbinfo_stat_fr.json
new file mode 100644
index 00000000000..00cc9f7ea0e
--- /dev/null
+++ b/public/images/ui/legacy/text_images/fr/battle_ui/pbinfo_stat_fr.json
@@ -0,0 +1,209 @@
+{
+ "textures": [
+ {
+ "image": "pbinfo_stat_fr.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 112,
+ "h": 8
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "SPATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 18,
+ "h": 8
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 18,
+ "h": 8
+ }
+ },
+ {
+ "filename": "SPDEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 18,
+ "h": 8
+ },
+ "frame": {
+ "x": 18,
+ "y": 0,
+ "w": 18,
+ "h": 8
+ }
+ },
+ {
+ "filename": "CRIT",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 17,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 16,
+ "h": 8
+ },
+ "frame": {
+ "x": 36,
+ "y": 0,
+ "w": 16,
+ "h": 8
+ }
+ },
+ {
+ "filename": "ACC",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 12,
+ "h": 8
+ },
+ "frame": {
+ "x": 52,
+ "y": 0,
+ "w": 12,
+ "h": 8
+ }
+ },
+ {
+ "filename": "ATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 12,
+ "h": 8
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 12,
+ "h": 8
+ }
+ },
+ {
+ "filename": "DEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 12,
+ "h": 8
+ },
+ "frame": {
+ "x": 76,
+ "y": 0,
+ "w": 12,
+ "h": 8
+ }
+ },
+ {
+ "filename": "EVA",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 12,
+ "h": 8
+ },
+ "frame": {
+ "x": 88,
+ "y": 0,
+ "w": 12,
+ "h": 8
+ }
+ },
+ {
+ "filename": "SPD",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 12,
+ "h": 8
+ },
+ "frame": {
+ "x": 100,
+ "y": 0,
+ "w": 12,
+ "h": 8
+ }
+ },
+ {
+ "filename": "HP",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 9,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 8,
+ "h": 8
+ },
+ "frame": {
+ "x": 112,
+ "y": 0,
+ "w": 8,
+ "h": 8
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:40d30205ce8efd40dfa86cd11b0491d6:7076db6ed74199dcfb38fc8cd4d4a0e8:05882267d3999884e0491134e98b1b53$"
+ }
+}
diff --git a/public/images/ui/legacy/text_images/fr/battle_ui/pbinfo_stat_fr.png b/public/images/ui/legacy/text_images/fr/battle_ui/pbinfo_stat_fr.png
new file mode 100644
index 00000000000..1919561ddfe
Binary files /dev/null and b/public/images/ui/legacy/text_images/fr/battle_ui/pbinfo_stat_fr.png differ
diff --git a/public/images/ui/legacy/text_images/fr/party_ui/party_slot_overlay_hp_fr.png b/public/images/ui/legacy/text_images/fr/party_ui/party_slot_overlay_hp_fr.png
new file mode 100644
index 00000000000..55468e4b1d1
Binary files /dev/null and b/public/images/ui/legacy/text_images/fr/party_ui/party_slot_overlay_hp_fr.png differ
diff --git a/public/images/ui/legacy/text_images/fr/party_ui/party_slot_overlay_lv_fr.png b/public/images/ui/legacy/text_images/fr/party_ui/party_slot_overlay_lv_fr.png
new file mode 100644
index 00000000000..e7bbec23b07
Binary files /dev/null and b/public/images/ui/legacy/text_images/fr/party_ui/party_slot_overlay_lv_fr.png differ
diff --git a/public/images/ui/legacy/text_images/it/battle_ui/overlay_exp_label_it.png b/public/images/ui/legacy/text_images/it/battle_ui/overlay_exp_label_it.png
new file mode 100644
index 00000000000..3a888a5ffb0
Binary files /dev/null and b/public/images/ui/legacy/text_images/it/battle_ui/overlay_exp_label_it.png differ
diff --git a/public/images/ui/legacy/text_images/it/battle_ui/overlay_hp_label_boss_it.png b/public/images/ui/legacy/text_images/it/battle_ui/overlay_hp_label_boss_it.png
new file mode 100644
index 00000000000..283d63fb235
Binary files /dev/null and b/public/images/ui/legacy/text_images/it/battle_ui/overlay_hp_label_boss_it.png differ
diff --git a/public/images/ui/legacy/text_images/it/battle_ui/overlay_hp_label_it.png b/public/images/ui/legacy/text_images/it/battle_ui/overlay_hp_label_it.png
new file mode 100644
index 00000000000..4f388b70a75
Binary files /dev/null and b/public/images/ui/legacy/text_images/it/battle_ui/overlay_hp_label_it.png differ
diff --git a/public/images/ui/legacy/text_images/it/battle_ui/overlay_lv_it.png b/public/images/ui/legacy/text_images/it/battle_ui/overlay_lv_it.png
new file mode 100644
index 00000000000..579c684d766
Binary files /dev/null and b/public/images/ui/legacy/text_images/it/battle_ui/overlay_lv_it.png differ
diff --git a/public/images/ui/legacy/text_images/it/battle_ui/pbinfo_stat_it.json b/public/images/ui/legacy/text_images/it/battle_ui/pbinfo_stat_it.json
new file mode 100644
index 00000000000..1971bb61221
--- /dev/null
+++ b/public/images/ui/legacy/text_images/it/battle_ui/pbinfo_stat_it.json
@@ -0,0 +1,209 @@
+{
+ "textures": [
+ {
+ "image": "pbinfo_stat_it.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 112,
+ "h": 6
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "SPATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 18,
+ "h": 6
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 18,
+ "h": 6
+ }
+ },
+ {
+ "filename": "SPDEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 18,
+ "h": 6
+ },
+ "frame": {
+ "x": 18,
+ "y": 0,
+ "w": 18,
+ "h": 6
+ }
+ },
+ {
+ "filename": "CRIT",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 17,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 16,
+ "h": 6
+ },
+ "frame": {
+ "x": 36,
+ "y": 0,
+ "w": 16,
+ "h": 6
+ }
+ },
+ {
+ "filename": "ACC",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 6
+ },
+ "frame": {
+ "x": 52,
+ "y": 0,
+ "w": 12,
+ "h": 6
+ }
+ },
+ {
+ "filename": "ATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 6
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 12,
+ "h": 6
+ }
+ },
+ {
+ "filename": "DEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 6
+ },
+ "frame": {
+ "x": 76,
+ "y": 0,
+ "w": 12,
+ "h": 6
+ }
+ },
+ {
+ "filename": "EVA",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 6
+ },
+ "frame": {
+ "x": 88,
+ "y": 0,
+ "w": 12,
+ "h": 6
+ }
+ },
+ {
+ "filename": "SPD",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 6
+ },
+ "frame": {
+ "x": 100,
+ "y": 0,
+ "w": 12,
+ "h": 6
+ }
+ },
+ {
+ "filename": "HP",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 9,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 8,
+ "h": 6
+ },
+ "frame": {
+ "x": 112,
+ "y": 0,
+ "w": 8,
+ "h": 6
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:40d30205ce8efd40dfa86cd11b0491d6:7076db6ed74199dcfb38fc8cd4d4a0e8:05882267d3999884e0491134e98b1b53$"
+ }
+}
diff --git a/public/images/ui/legacy/text_images/it/battle_ui/pbinfo_stat_it.png b/public/images/ui/legacy/text_images/it/battle_ui/pbinfo_stat_it.png
new file mode 100644
index 00000000000..ced53e91a6e
Binary files /dev/null and b/public/images/ui/legacy/text_images/it/battle_ui/pbinfo_stat_it.png differ
diff --git a/public/images/ui/legacy/text_images/it/party_ui/party_slot_overlay_hp_it.png b/public/images/ui/legacy/text_images/it/party_ui/party_slot_overlay_hp_it.png
new file mode 100644
index 00000000000..981d8573aca
Binary files /dev/null and b/public/images/ui/legacy/text_images/it/party_ui/party_slot_overlay_hp_it.png differ
diff --git a/public/images/ui/legacy/text_images/it/party_ui/party_slot_overlay_lv_it.png b/public/images/ui/legacy/text_images/it/party_ui/party_slot_overlay_lv_it.png
new file mode 100644
index 00000000000..5338254b4d0
Binary files /dev/null and b/public/images/ui/legacy/text_images/it/party_ui/party_slot_overlay_lv_it.png differ
diff --git a/public/images/ui/legacy/text_images/ja/battle_ui/overlay_exp_label_ja.png b/public/images/ui/legacy/text_images/ja/battle_ui/overlay_exp_label_ja.png
new file mode 100644
index 00000000000..40b5e8925a1
Binary files /dev/null and b/public/images/ui/legacy/text_images/ja/battle_ui/overlay_exp_label_ja.png differ
diff --git a/public/images/ui/legacy/text_images/ja/battle_ui/overlay_hp_label_boss_ja.png b/public/images/ui/legacy/text_images/ja/battle_ui/overlay_hp_label_boss_ja.png
new file mode 100644
index 00000000000..283d63fb235
Binary files /dev/null and b/public/images/ui/legacy/text_images/ja/battle_ui/overlay_hp_label_boss_ja.png differ
diff --git a/public/images/ui/legacy/text_images/ja/battle_ui/overlay_hp_label_ja.png b/public/images/ui/legacy/text_images/ja/battle_ui/overlay_hp_label_ja.png
new file mode 100644
index 00000000000..67824c7ee4e
Binary files /dev/null and b/public/images/ui/legacy/text_images/ja/battle_ui/overlay_hp_label_ja.png differ
diff --git a/public/images/ui/legacy/text_images/ja/battle_ui/overlay_lv_ja.png b/public/images/ui/legacy/text_images/ja/battle_ui/overlay_lv_ja.png
new file mode 100644
index 00000000000..ea32ac03ee2
Binary files /dev/null and b/public/images/ui/legacy/text_images/ja/battle_ui/overlay_lv_ja.png differ
diff --git a/public/images/ui/legacy/text_images/ja/battle_ui/pbinfo_stat_ja.json b/public/images/ui/legacy/text_images/ja/battle_ui/pbinfo_stat_ja.json
new file mode 100644
index 00000000000..d8907e8e68c
--- /dev/null
+++ b/public/images/ui/legacy/text_images/ja/battle_ui/pbinfo_stat_ja.json
@@ -0,0 +1,209 @@
+{
+ "textures": [
+ {
+ "image": "pbinfo_stat_ja.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 112,
+ "h": 6
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "SPATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 18,
+ "h": 6
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 18,
+ "h": 6
+ }
+ },
+ {
+ "filename": "SPDEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 18,
+ "h": 6
+ },
+ "frame": {
+ "x": 18,
+ "y": 0,
+ "w": 18,
+ "h": 6
+ }
+ },
+ {
+ "filename": "CRIT",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 17,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 16,
+ "h": 6
+ },
+ "frame": {
+ "x": 36,
+ "y": 0,
+ "w": 16,
+ "h": 6
+ }
+ },
+ {
+ "filename": "ACC",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 6
+ },
+ "frame": {
+ "x": 52,
+ "y": 0,
+ "w": 12,
+ "h": 6
+ }
+ },
+ {
+ "filename": "ATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 6
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 12,
+ "h": 6
+ }
+ },
+ {
+ "filename": "DEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 6
+ },
+ "frame": {
+ "x": 76,
+ "y": 0,
+ "w": 12,
+ "h": 6
+ }
+ },
+ {
+ "filename": "EVA",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 6
+ },
+ "frame": {
+ "x": 88,
+ "y": 0,
+ "w": 12,
+ "h": 6
+ }
+ },
+ {
+ "filename": "SPD",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 6
+ },
+ "frame": {
+ "x": 100,
+ "y": 0,
+ "w": 12,
+ "h": 6
+ }
+ },
+ {
+ "filename": "HP",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 9,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 8,
+ "h": 6
+ },
+ "frame": {
+ "x": 112,
+ "y": 0,
+ "w": 8,
+ "h": 6
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:40d30205ce8efd40dfa86cd11b0491d6:7076db6ed74199dcfb38fc8cd4d4a0e8:05882267d3999884e0491134e98b1b53$"
+ }
+}
diff --git a/public/images/ui/legacy/text_images/ja/battle_ui/pbinfo_stat_ja.png b/public/images/ui/legacy/text_images/ja/battle_ui/pbinfo_stat_ja.png
new file mode 100644
index 00000000000..c729e7a2207
Binary files /dev/null and b/public/images/ui/legacy/text_images/ja/battle_ui/pbinfo_stat_ja.png differ
diff --git a/public/images/ui/legacy/text_images/ja/party_ui/party_slot_overlay_hp_ja.png b/public/images/ui/legacy/text_images/ja/party_ui/party_slot_overlay_hp_ja.png
new file mode 100644
index 00000000000..a78ac090d3b
Binary files /dev/null and b/public/images/ui/legacy/text_images/ja/party_ui/party_slot_overlay_hp_ja.png differ
diff --git a/public/images/ui/legacy/text_images/ja/party_ui/party_slot_overlay_lv_ja.png b/public/images/ui/legacy/text_images/ja/party_ui/party_slot_overlay_lv_ja.png
new file mode 100644
index 00000000000..11bb545c7af
Binary files /dev/null and b/public/images/ui/legacy/text_images/ja/party_ui/party_slot_overlay_lv_ja.png differ
diff --git a/public/images/ui/legacy/text_images/ko/battle_ui/overlay_exp_label_ko.png b/public/images/ui/legacy/text_images/ko/battle_ui/overlay_exp_label_ko.png
new file mode 100644
index 00000000000..40b5e8925a1
Binary files /dev/null and b/public/images/ui/legacy/text_images/ko/battle_ui/overlay_exp_label_ko.png differ
diff --git a/public/images/ui/legacy/text_images/ko/battle_ui/overlay_hp_label_boss_ko.png b/public/images/ui/legacy/text_images/ko/battle_ui/overlay_hp_label_boss_ko.png
new file mode 100644
index 00000000000..283d63fb235
Binary files /dev/null and b/public/images/ui/legacy/text_images/ko/battle_ui/overlay_hp_label_boss_ko.png differ
diff --git a/public/images/ui/legacy/text_images/ko/battle_ui/overlay_hp_label_ko.png b/public/images/ui/legacy/text_images/ko/battle_ui/overlay_hp_label_ko.png
new file mode 100644
index 00000000000..67824c7ee4e
Binary files /dev/null and b/public/images/ui/legacy/text_images/ko/battle_ui/overlay_hp_label_ko.png differ
diff --git a/public/images/ui/legacy/text_images/ko/battle_ui/overlay_lv_ko.png b/public/images/ui/legacy/text_images/ko/battle_ui/overlay_lv_ko.png
new file mode 100644
index 00000000000..ea32ac03ee2
Binary files /dev/null and b/public/images/ui/legacy/text_images/ko/battle_ui/overlay_lv_ko.png differ
diff --git a/public/images/ui/legacy/text_images/ko/battle_ui/pbinfo_stat_ko.json b/public/images/ui/legacy/text_images/ko/battle_ui/pbinfo_stat_ko.json
new file mode 100644
index 00000000000..359e3a5b76f
--- /dev/null
+++ b/public/images/ui/legacy/text_images/ko/battle_ui/pbinfo_stat_ko.json
@@ -0,0 +1,209 @@
+{
+ "textures": [
+ {
+ "image": "pbinfo_stat_ko.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 112,
+ "h": 6
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "SPATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 18,
+ "h": 6
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 18,
+ "h": 6
+ }
+ },
+ {
+ "filename": "SPDEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 18,
+ "h": 6
+ },
+ "frame": {
+ "x": 18,
+ "y": 0,
+ "w": 18,
+ "h": 6
+ }
+ },
+ {
+ "filename": "CRIT",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 17,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 16,
+ "h": 6
+ },
+ "frame": {
+ "x": 36,
+ "y": 0,
+ "w": 16,
+ "h": 6
+ }
+ },
+ {
+ "filename": "ACC",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 6
+ },
+ "frame": {
+ "x": 52,
+ "y": 0,
+ "w": 12,
+ "h": 6
+ }
+ },
+ {
+ "filename": "ATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 6
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 12,
+ "h": 6
+ }
+ },
+ {
+ "filename": "DEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 6
+ },
+ "frame": {
+ "x": 76,
+ "y": 0,
+ "w": 12,
+ "h": 6
+ }
+ },
+ {
+ "filename": "EVA",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 6
+ },
+ "frame": {
+ "x": 88,
+ "y": 0,
+ "w": 12,
+ "h": 6
+ }
+ },
+ {
+ "filename": "SPD",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 6
+ },
+ "frame": {
+ "x": 100,
+ "y": 0,
+ "w": 12,
+ "h": 6
+ }
+ },
+ {
+ "filename": "HP",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 9,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 8,
+ "h": 6
+ },
+ "frame": {
+ "x": 112,
+ "y": 0,
+ "w": 8,
+ "h": 6
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:40d30205ce8efd40dfa86cd11b0491d6:7076db6ed74199dcfb38fc8cd4d4a0e8:05882267d3999884e0491134e98b1b53$"
+ }
+}
diff --git a/public/images/ui/legacy/text_images/ko/battle_ui/pbinfo_stat_ko.png b/public/images/ui/legacy/text_images/ko/battle_ui/pbinfo_stat_ko.png
new file mode 100644
index 00000000000..c729e7a2207
Binary files /dev/null and b/public/images/ui/legacy/text_images/ko/battle_ui/pbinfo_stat_ko.png differ
diff --git a/public/images/ui/legacy/text_images/ko/party_ui/party_slot_overlay_hp_ko.png b/public/images/ui/legacy/text_images/ko/party_ui/party_slot_overlay_hp_ko.png
new file mode 100644
index 00000000000..a78ac090d3b
Binary files /dev/null and b/public/images/ui/legacy/text_images/ko/party_ui/party_slot_overlay_hp_ko.png differ
diff --git a/public/images/ui/legacy/text_images/ko/party_ui/party_slot_overlay_lv_ko.png b/public/images/ui/legacy/text_images/ko/party_ui/party_slot_overlay_lv_ko.png
new file mode 100644
index 00000000000..11bb545c7af
Binary files /dev/null and b/public/images/ui/legacy/text_images/ko/party_ui/party_slot_overlay_lv_ko.png differ
diff --git a/public/images/ui/legacy/text_images/pt-BR/battle_ui/overlay_exp_label_pt-BR.png b/public/images/ui/legacy/text_images/pt-BR/battle_ui/overlay_exp_label_pt-BR.png
new file mode 100644
index 00000000000..acb04a84a31
Binary files /dev/null and b/public/images/ui/legacy/text_images/pt-BR/battle_ui/overlay_exp_label_pt-BR.png differ
diff --git a/public/images/ui/legacy/text_images/pt-BR/battle_ui/overlay_hp_label_boss_pt-BR.png b/public/images/ui/legacy/text_images/pt-BR/battle_ui/overlay_hp_label_boss_pt-BR.png
new file mode 100644
index 00000000000..283d63fb235
Binary files /dev/null and b/public/images/ui/legacy/text_images/pt-BR/battle_ui/overlay_hp_label_boss_pt-BR.png differ
diff --git a/public/images/ui/legacy/text_images/pt-BR/battle_ui/overlay_hp_label_pt-BR.png b/public/images/ui/legacy/text_images/pt-BR/battle_ui/overlay_hp_label_pt-BR.png
new file mode 100644
index 00000000000..4f388b70a75
Binary files /dev/null and b/public/images/ui/legacy/text_images/pt-BR/battle_ui/overlay_hp_label_pt-BR.png differ
diff --git a/public/images/ui/legacy/text_images/pt-BR/battle_ui/overlay_lv_pt-BR.png b/public/images/ui/legacy/text_images/pt-BR/battle_ui/overlay_lv_pt-BR.png
new file mode 100644
index 00000000000..7fdf26388bf
Binary files /dev/null and b/public/images/ui/legacy/text_images/pt-BR/battle_ui/overlay_lv_pt-BR.png differ
diff --git a/public/images/ui/legacy/text_images/pt-BR/battle_ui/pbinfo_stat_pt-BR.json b/public/images/ui/legacy/text_images/pt-BR/battle_ui/pbinfo_stat_pt-BR.json
new file mode 100644
index 00000000000..dc7eecf1970
--- /dev/null
+++ b/public/images/ui/legacy/text_images/pt-BR/battle_ui/pbinfo_stat_pt-BR.json
@@ -0,0 +1,209 @@
+{
+ "textures": [
+ {
+ "image": "pbinfo_stat_pt-BR.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 112,
+ "h": 8
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "SPATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 18,
+ "h": 8
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 18,
+ "h": 8
+ }
+ },
+ {
+ "filename": "SPDEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 18,
+ "h": 8
+ },
+ "frame": {
+ "x": 18,
+ "y": 0,
+ "w": 18,
+ "h": 8
+ }
+ },
+ {
+ "filename": "CRIT",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 17,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 16,
+ "h": 8
+ },
+ "frame": {
+ "x": 36,
+ "y": 0,
+ "w": 16,
+ "h": 8
+ }
+ },
+ {
+ "filename": "ACC",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 12,
+ "h": 8
+ },
+ "frame": {
+ "x": 52,
+ "y": 0,
+ "w": 12,
+ "h": 8
+ }
+ },
+ {
+ "filename": "ATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 12,
+ "h": 8
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 12,
+ "h": 8
+ }
+ },
+ {
+ "filename": "DEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 12,
+ "h": 8
+ },
+ "frame": {
+ "x": 76,
+ "y": 0,
+ "w": 12,
+ "h": 8
+ }
+ },
+ {
+ "filename": "EVA",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 12,
+ "h": 8
+ },
+ "frame": {
+ "x": 88,
+ "y": 0,
+ "w": 12,
+ "h": 8
+ }
+ },
+ {
+ "filename": "SPD",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 12,
+ "h": 8
+ },
+ "frame": {
+ "x": 100,
+ "y": 0,
+ "w": 12,
+ "h": 8
+ }
+ },
+ {
+ "filename": "HP",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 9,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 8,
+ "h": 8
+ },
+ "frame": {
+ "x": 112,
+ "y": 0,
+ "w": 8,
+ "h": 8
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:40d30205ce8efd40dfa86cd11b0491d6:7076db6ed74199dcfb38fc8cd4d4a0e8:05882267d3999884e0491134e98b1b53$"
+ }
+}
diff --git a/public/images/ui/legacy/text_images/pt-BR/battle_ui/pbinfo_stat_pt-BR.png b/public/images/ui/legacy/text_images/pt-BR/battle_ui/pbinfo_stat_pt-BR.png
new file mode 100644
index 00000000000..3dcd273bcc9
Binary files /dev/null and b/public/images/ui/legacy/text_images/pt-BR/battle_ui/pbinfo_stat_pt-BR.png differ
diff --git a/public/images/ui/legacy/text_images/pt-BR/party_ui/party_slot_overlay_hp_pt-BR.png b/public/images/ui/legacy/text_images/pt-BR/party_ui/party_slot_overlay_hp_pt-BR.png
new file mode 100644
index 00000000000..981d8573aca
Binary files /dev/null and b/public/images/ui/legacy/text_images/pt-BR/party_ui/party_slot_overlay_hp_pt-BR.png differ
diff --git a/public/images/ui/legacy/text_images/pt-BR/party_ui/party_slot_overlay_lv_pt-BR.png b/public/images/ui/legacy/text_images/pt-BR/party_ui/party_slot_overlay_lv_pt-BR.png
new file mode 100644
index 00000000000..512db34fa85
Binary files /dev/null and b/public/images/ui/legacy/text_images/pt-BR/party_ui/party_slot_overlay_lv_pt-BR.png differ
diff --git a/public/images/ui/legacy/text_images/ro/battle_ui/overlay_exp_label_ro.png b/public/images/ui/legacy/text_images/ro/battle_ui/overlay_exp_label_ro.png
new file mode 100644
index 00000000000..40b5e8925a1
Binary files /dev/null and b/public/images/ui/legacy/text_images/ro/battle_ui/overlay_exp_label_ro.png differ
diff --git a/public/images/ui/legacy/text_images/ro/battle_ui/overlay_hp_label_boss_ro.png b/public/images/ui/legacy/text_images/ro/battle_ui/overlay_hp_label_boss_ro.png
new file mode 100644
index 00000000000..283d63fb235
Binary files /dev/null and b/public/images/ui/legacy/text_images/ro/battle_ui/overlay_hp_label_boss_ro.png differ
diff --git a/public/images/ui/legacy/text_images/ro/battle_ui/overlay_hp_label_ro.png b/public/images/ui/legacy/text_images/ro/battle_ui/overlay_hp_label_ro.png
new file mode 100644
index 00000000000..67824c7ee4e
Binary files /dev/null and b/public/images/ui/legacy/text_images/ro/battle_ui/overlay_hp_label_ro.png differ
diff --git a/public/images/ui/legacy/text_images/ro/battle_ui/overlay_lv_ro.png b/public/images/ui/legacy/text_images/ro/battle_ui/overlay_lv_ro.png
new file mode 100644
index 00000000000..ea32ac03ee2
Binary files /dev/null and b/public/images/ui/legacy/text_images/ro/battle_ui/overlay_lv_ro.png differ
diff --git a/public/images/ui/legacy/text_images/ro/battle_ui/pbinfo_stat_ro.json b/public/images/ui/legacy/text_images/ro/battle_ui/pbinfo_stat_ro.json
new file mode 100644
index 00000000000..8c268a77098
--- /dev/null
+++ b/public/images/ui/legacy/text_images/ro/battle_ui/pbinfo_stat_ro.json
@@ -0,0 +1,209 @@
+{
+ "textures": [
+ {
+ "image": "pbinfo_stat_ro.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 112,
+ "h": 6
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "SPATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 18,
+ "h": 6
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 18,
+ "h": 6
+ }
+ },
+ {
+ "filename": "SPDEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 18,
+ "h": 6
+ },
+ "frame": {
+ "x": 18,
+ "y": 0,
+ "w": 18,
+ "h": 6
+ }
+ },
+ {
+ "filename": "CRIT",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 17,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 16,
+ "h": 6
+ },
+ "frame": {
+ "x": 36,
+ "y": 0,
+ "w": 16,
+ "h": 6
+ }
+ },
+ {
+ "filename": "ACC",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 6
+ },
+ "frame": {
+ "x": 52,
+ "y": 0,
+ "w": 12,
+ "h": 6
+ }
+ },
+ {
+ "filename": "ATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 6
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 12,
+ "h": 6
+ }
+ },
+ {
+ "filename": "DEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 6
+ },
+ "frame": {
+ "x": 76,
+ "y": 0,
+ "w": 12,
+ "h": 6
+ }
+ },
+ {
+ "filename": "EVA",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 6
+ },
+ "frame": {
+ "x": 88,
+ "y": 0,
+ "w": 12,
+ "h": 6
+ }
+ },
+ {
+ "filename": "SPD",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 6
+ },
+ "frame": {
+ "x": 100,
+ "y": 0,
+ "w": 12,
+ "h": 6
+ }
+ },
+ {
+ "filename": "HP",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 9,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 8,
+ "h": 6
+ },
+ "frame": {
+ "x": 112,
+ "y": 0,
+ "w": 8,
+ "h": 6
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:40d30205ce8efd40dfa86cd11b0491d6:7076db6ed74199dcfb38fc8cd4d4a0e8:05882267d3999884e0491134e98b1b53$"
+ }
+}
diff --git a/public/images/ui/legacy/text_images/ro/battle_ui/pbinfo_stat_ro.png b/public/images/ui/legacy/text_images/ro/battle_ui/pbinfo_stat_ro.png
new file mode 100644
index 00000000000..c729e7a2207
Binary files /dev/null and b/public/images/ui/legacy/text_images/ro/battle_ui/pbinfo_stat_ro.png differ
diff --git a/public/images/ui/legacy/text_images/ro/party_ui/party_slot_overlay_hp_ro.png b/public/images/ui/legacy/text_images/ro/party_ui/party_slot_overlay_hp_ro.png
new file mode 100644
index 00000000000..a78ac090d3b
Binary files /dev/null and b/public/images/ui/legacy/text_images/ro/party_ui/party_slot_overlay_hp_ro.png differ
diff --git a/public/images/ui/legacy/text_images/ro/party_ui/party_slot_overlay_lv_ro.png b/public/images/ui/legacy/text_images/ro/party_ui/party_slot_overlay_lv_ro.png
new file mode 100644
index 00000000000..11bb545c7af
Binary files /dev/null and b/public/images/ui/legacy/text_images/ro/party_ui/party_slot_overlay_lv_ro.png differ
diff --git a/public/images/ui/legacy/text_images/ru/battle_ui/overlay_exp_label_ru.png b/public/images/ui/legacy/text_images/ru/battle_ui/overlay_exp_label_ru.png
new file mode 100644
index 00000000000..d8817108408
Binary files /dev/null and b/public/images/ui/legacy/text_images/ru/battle_ui/overlay_exp_label_ru.png differ
diff --git a/public/images/ui/legacy/text_images/ru/battle_ui/overlay_hp_label_boss_ru.png b/public/images/ui/legacy/text_images/ru/battle_ui/overlay_hp_label_boss_ru.png
new file mode 100644
index 00000000000..26c4d570bb1
Binary files /dev/null and b/public/images/ui/legacy/text_images/ru/battle_ui/overlay_hp_label_boss_ru.png differ
diff --git a/public/images/ui/legacy/text_images/ru/battle_ui/overlay_hp_label_ru.png b/public/images/ui/legacy/text_images/ru/battle_ui/overlay_hp_label_ru.png
new file mode 100644
index 00000000000..490c93f8d39
Binary files /dev/null and b/public/images/ui/legacy/text_images/ru/battle_ui/overlay_hp_label_ru.png differ
diff --git a/public/images/ui/legacy/text_images/ru/battle_ui/overlay_lv_ru.png b/public/images/ui/legacy/text_images/ru/battle_ui/overlay_lv_ru.png
new file mode 100644
index 00000000000..e8760560dfa
Binary files /dev/null and b/public/images/ui/legacy/text_images/ru/battle_ui/overlay_lv_ru.png differ
diff --git a/public/images/ui/legacy/text_images/ru/battle_ui/pbinfo_stat_ru.json b/public/images/ui/legacy/text_images/ru/battle_ui/pbinfo_stat_ru.json
new file mode 100644
index 00000000000..e4e67b4da18
--- /dev/null
+++ b/public/images/ui/legacy/text_images/ru/battle_ui/pbinfo_stat_ru.json
@@ -0,0 +1,209 @@
+{
+ "textures": [
+ {
+ "image": "pbinfo_stat_ru.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 112,
+ "h": 7
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "SPATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 18,
+ "h": 7
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 18,
+ "h": 7
+ }
+ },
+ {
+ "filename": "SPDEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 18,
+ "h": 7
+ },
+ "frame": {
+ "x": 18,
+ "y": 0,
+ "w": 18,
+ "h": 7
+ }
+ },
+ {
+ "filename": "CRIT",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 17,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 16,
+ "h": 7
+ },
+ "frame": {
+ "x": 36,
+ "y": 0,
+ "w": 16,
+ "h": 7
+ }
+ },
+ {
+ "filename": "ACC",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 7
+ },
+ "frame": {
+ "x": 52,
+ "y": 0,
+ "w": 12,
+ "h": 7
+ }
+ },
+ {
+ "filename": "ATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 7
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 12,
+ "h": 7
+ }
+ },
+ {
+ "filename": "DEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 7
+ },
+ "frame": {
+ "x": 76,
+ "y": 0,
+ "w": 12,
+ "h": 7
+ }
+ },
+ {
+ "filename": "EVA",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 7
+ },
+ "frame": {
+ "x": 88,
+ "y": 0,
+ "w": 12,
+ "h": 7
+ }
+ },
+ {
+ "filename": "SPD",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 7
+ },
+ "frame": {
+ "x": 100,
+ "y": 0,
+ "w": 12,
+ "h": 7
+ }
+ },
+ {
+ "filename": "HP",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 9,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 8,
+ "h": 7
+ },
+ "frame": {
+ "x": 112,
+ "y": 0,
+ "w": 8,
+ "h": 7
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:40d30205ce8efd40dfa86cd11b0491d6:7076db6ed74199dcfb38fc8cd4d4a0e8:05882267d3999884e0491134e98b1b53$"
+ }
+}
diff --git a/public/images/ui/legacy/text_images/ru/battle_ui/pbinfo_stat_ru.png b/public/images/ui/legacy/text_images/ru/battle_ui/pbinfo_stat_ru.png
new file mode 100644
index 00000000000..0899fbdbfc1
Binary files /dev/null and b/public/images/ui/legacy/text_images/ru/battle_ui/pbinfo_stat_ru.png differ
diff --git a/public/images/ui/legacy/text_images/ru/party_ui/party_slot_overlay_hp_ru.png b/public/images/ui/legacy/text_images/ru/party_ui/party_slot_overlay_hp_ru.png
new file mode 100644
index 00000000000..24bf5a8923f
Binary files /dev/null and b/public/images/ui/legacy/text_images/ru/party_ui/party_slot_overlay_hp_ru.png differ
diff --git a/public/images/ui/legacy/text_images/ru/party_ui/party_slot_overlay_lv_ru.png b/public/images/ui/legacy/text_images/ru/party_ui/party_slot_overlay_lv_ru.png
new file mode 100644
index 00000000000..319d7a75fb8
Binary files /dev/null and b/public/images/ui/legacy/text_images/ru/party_ui/party_slot_overlay_lv_ru.png differ
diff --git a/public/images/ui/legacy/text_images/tl/battle_ui/overlay_exp_label_tl.png b/public/images/ui/legacy/text_images/tl/battle_ui/overlay_exp_label_tl.png
new file mode 100644
index 00000000000..40b5e8925a1
Binary files /dev/null and b/public/images/ui/legacy/text_images/tl/battle_ui/overlay_exp_label_tl.png differ
diff --git a/public/images/ui/legacy/text_images/tl/battle_ui/overlay_hp_label_boss_tl.png b/public/images/ui/legacy/text_images/tl/battle_ui/overlay_hp_label_boss_tl.png
new file mode 100644
index 00000000000..283d63fb235
Binary files /dev/null and b/public/images/ui/legacy/text_images/tl/battle_ui/overlay_hp_label_boss_tl.png differ
diff --git a/public/images/ui/legacy/text_images/tl/battle_ui/overlay_hp_label_tl.png b/public/images/ui/legacy/text_images/tl/battle_ui/overlay_hp_label_tl.png
new file mode 100644
index 00000000000..67824c7ee4e
Binary files /dev/null and b/public/images/ui/legacy/text_images/tl/battle_ui/overlay_hp_label_tl.png differ
diff --git a/public/images/ui/legacy/text_images/tl/battle_ui/overlay_lv_tl.png b/public/images/ui/legacy/text_images/tl/battle_ui/overlay_lv_tl.png
new file mode 100644
index 00000000000..ea32ac03ee2
Binary files /dev/null and b/public/images/ui/legacy/text_images/tl/battle_ui/overlay_lv_tl.png differ
diff --git a/public/images/ui/legacy/text_images/tl/battle_ui/pbinfo_stat_tl.json b/public/images/ui/legacy/text_images/tl/battle_ui/pbinfo_stat_tl.json
new file mode 100644
index 00000000000..023a5ee45f9
--- /dev/null
+++ b/public/images/ui/legacy/text_images/tl/battle_ui/pbinfo_stat_tl.json
@@ -0,0 +1,209 @@
+{
+ "textures": [
+ {
+ "image": "pbinfo_stat_tl.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 112,
+ "h": 6
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "SPATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 18,
+ "h": 6
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 18,
+ "h": 6
+ }
+ },
+ {
+ "filename": "SPDEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 18,
+ "h": 6
+ },
+ "frame": {
+ "x": 18,
+ "y": 0,
+ "w": 18,
+ "h": 6
+ }
+ },
+ {
+ "filename": "CRIT",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 17,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 16,
+ "h": 6
+ },
+ "frame": {
+ "x": 36,
+ "y": 0,
+ "w": 16,
+ "h": 6
+ }
+ },
+ {
+ "filename": "ACC",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 6
+ },
+ "frame": {
+ "x": 52,
+ "y": 0,
+ "w": 12,
+ "h": 6
+ }
+ },
+ {
+ "filename": "ATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 6
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 12,
+ "h": 6
+ }
+ },
+ {
+ "filename": "DEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 6
+ },
+ "frame": {
+ "x": 76,
+ "y": 0,
+ "w": 12,
+ "h": 6
+ }
+ },
+ {
+ "filename": "EVA",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 6
+ },
+ "frame": {
+ "x": 88,
+ "y": 0,
+ "w": 12,
+ "h": 6
+ }
+ },
+ {
+ "filename": "SPD",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 6
+ },
+ "frame": {
+ "x": 100,
+ "y": 0,
+ "w": 12,
+ "h": 6
+ }
+ },
+ {
+ "filename": "HP",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 9,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 8,
+ "h": 6
+ },
+ "frame": {
+ "x": 112,
+ "y": 0,
+ "w": 8,
+ "h": 6
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:40d30205ce8efd40dfa86cd11b0491d6:7076db6ed74199dcfb38fc8cd4d4a0e8:05882267d3999884e0491134e98b1b53$"
+ }
+}
diff --git a/public/images/ui/legacy/text_images/tl/battle_ui/pbinfo_stat_tl.png b/public/images/ui/legacy/text_images/tl/battle_ui/pbinfo_stat_tl.png
new file mode 100644
index 00000000000..c729e7a2207
Binary files /dev/null and b/public/images/ui/legacy/text_images/tl/battle_ui/pbinfo_stat_tl.png differ
diff --git a/public/images/ui/legacy/text_images/tl/party_ui/party_slot_overlay_hp_tl.png b/public/images/ui/legacy/text_images/tl/party_ui/party_slot_overlay_hp_tl.png
new file mode 100644
index 00000000000..a78ac090d3b
Binary files /dev/null and b/public/images/ui/legacy/text_images/tl/party_ui/party_slot_overlay_hp_tl.png differ
diff --git a/public/images/ui/legacy/text_images/tl/party_ui/party_slot_overlay_lv_tl.png b/public/images/ui/legacy/text_images/tl/party_ui/party_slot_overlay_lv_tl.png
new file mode 100644
index 00000000000..11bb545c7af
Binary files /dev/null and b/public/images/ui/legacy/text_images/tl/party_ui/party_slot_overlay_lv_tl.png differ
diff --git a/public/images/ui/legacy/text_images/tr/battle_ui/overlay_exp_label_tr.png b/public/images/ui/legacy/text_images/tr/battle_ui/overlay_exp_label_tr.png
new file mode 100644
index 00000000000..5b9bd882581
Binary files /dev/null and b/public/images/ui/legacy/text_images/tr/battle_ui/overlay_exp_label_tr.png differ
diff --git a/public/images/ui/legacy/text_images/tr/battle_ui/overlay_hp_label_boss_tr.png b/public/images/ui/legacy/text_images/tr/battle_ui/overlay_hp_label_boss_tr.png
new file mode 100644
index 00000000000..283d63fb235
Binary files /dev/null and b/public/images/ui/legacy/text_images/tr/battle_ui/overlay_hp_label_boss_tr.png differ
diff --git a/public/images/ui/legacy/text_images/tr/battle_ui/overlay_hp_label_tr.png b/public/images/ui/legacy/text_images/tr/battle_ui/overlay_hp_label_tr.png
new file mode 100644
index 00000000000..da11c11cb50
Binary files /dev/null and b/public/images/ui/legacy/text_images/tr/battle_ui/overlay_hp_label_tr.png differ
diff --git a/public/images/ui/legacy/text_images/tr/battle_ui/overlay_lv_tr.png b/public/images/ui/legacy/text_images/tr/battle_ui/overlay_lv_tr.png
new file mode 100644
index 00000000000..6d8ccbb3f3a
Binary files /dev/null and b/public/images/ui/legacy/text_images/tr/battle_ui/overlay_lv_tr.png differ
diff --git a/public/images/ui/legacy/text_images/tr/battle_ui/pbinfo_stat_tr.json b/public/images/ui/legacy/text_images/tr/battle_ui/pbinfo_stat_tr.json
new file mode 100644
index 00000000000..6de50500767
--- /dev/null
+++ b/public/images/ui/legacy/text_images/tr/battle_ui/pbinfo_stat_tr.json
@@ -0,0 +1,209 @@
+{
+ "textures": [
+ {
+ "image": "pbinfo_stat_tr.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 112,
+ "h": 6
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "SPATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 18,
+ "h": 6
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 18,
+ "h": 6
+ }
+ },
+ {
+ "filename": "SPDEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 18,
+ "h": 6
+ },
+ "frame": {
+ "x": 18,
+ "y": 0,
+ "w": 18,
+ "h": 6
+ }
+ },
+ {
+ "filename": "CRIT",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 17,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 16,
+ "h": 6
+ },
+ "frame": {
+ "x": 36,
+ "y": 0,
+ "w": 16,
+ "h": 6
+ }
+ },
+ {
+ "filename": "ACC",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 6
+ },
+ "frame": {
+ "x": 52,
+ "y": 0,
+ "w": 12,
+ "h": 6
+ }
+ },
+ {
+ "filename": "ATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 6
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 12,
+ "h": 6
+ }
+ },
+ {
+ "filename": "DEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 6
+ },
+ "frame": {
+ "x": 76,
+ "y": 0,
+ "w": 12,
+ "h": 6
+ }
+ },
+ {
+ "filename": "EVA",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 6
+ },
+ "frame": {
+ "x": 88,
+ "y": 0,
+ "w": 12,
+ "h": 6
+ }
+ },
+ {
+ "filename": "SPD",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 6
+ },
+ "frame": {
+ "x": 100,
+ "y": 0,
+ "w": 12,
+ "h": 6
+ }
+ },
+ {
+ "filename": "HP",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 9,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 8,
+ "h": 6
+ },
+ "frame": {
+ "x": 112,
+ "y": 0,
+ "w": 8,
+ "h": 6
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:40d30205ce8efd40dfa86cd11b0491d6:7076db6ed74199dcfb38fc8cd4d4a0e8:05882267d3999884e0491134e98b1b53$"
+ }
+}
diff --git a/public/images/ui/legacy/text_images/tr/battle_ui/pbinfo_stat_tr.png b/public/images/ui/legacy/text_images/tr/battle_ui/pbinfo_stat_tr.png
new file mode 100644
index 00000000000..c729e7a2207
Binary files /dev/null and b/public/images/ui/legacy/text_images/tr/battle_ui/pbinfo_stat_tr.png differ
diff --git a/public/images/ui/legacy/text_images/tr/party_ui/party_slot_overlay_hp_tr.png b/public/images/ui/legacy/text_images/tr/party_ui/party_slot_overlay_hp_tr.png
new file mode 100644
index 00000000000..2833fa27fb4
Binary files /dev/null and b/public/images/ui/legacy/text_images/tr/party_ui/party_slot_overlay_hp_tr.png differ
diff --git a/public/images/ui/legacy/text_images/tr/party_ui/party_slot_overlay_lv_tr.png b/public/images/ui/legacy/text_images/tr/party_ui/party_slot_overlay_lv_tr.png
new file mode 100644
index 00000000000..958a750a665
Binary files /dev/null and b/public/images/ui/legacy/text_images/tr/party_ui/party_slot_overlay_lv_tr.png differ
diff --git a/public/images/ui/legacy/text_images/zh-CN/battle_ui/overlay_exp_label_zh-CN.png b/public/images/ui/legacy/text_images/zh-CN/battle_ui/overlay_exp_label_zh-CN.png
new file mode 100644
index 00000000000..40b5e8925a1
Binary files /dev/null and b/public/images/ui/legacy/text_images/zh-CN/battle_ui/overlay_exp_label_zh-CN.png differ
diff --git a/public/images/ui/legacy/text_images/zh-CN/battle_ui/overlay_hp_label_boss_zh-CN.png b/public/images/ui/legacy/text_images/zh-CN/battle_ui/overlay_hp_label_boss_zh-CN.png
new file mode 100644
index 00000000000..283d63fb235
Binary files /dev/null and b/public/images/ui/legacy/text_images/zh-CN/battle_ui/overlay_hp_label_boss_zh-CN.png differ
diff --git a/public/images/ui/legacy/text_images/zh-CN/battle_ui/overlay_hp_label_zh-CN.png b/public/images/ui/legacy/text_images/zh-CN/battle_ui/overlay_hp_label_zh-CN.png
new file mode 100644
index 00000000000..67824c7ee4e
Binary files /dev/null and b/public/images/ui/legacy/text_images/zh-CN/battle_ui/overlay_hp_label_zh-CN.png differ
diff --git a/public/images/ui/legacy/text_images/zh-CN/battle_ui/overlay_lv_zh-CN.png b/public/images/ui/legacy/text_images/zh-CN/battle_ui/overlay_lv_zh-CN.png
new file mode 100644
index 00000000000..ea32ac03ee2
Binary files /dev/null and b/public/images/ui/legacy/text_images/zh-CN/battle_ui/overlay_lv_zh-CN.png differ
diff --git a/public/images/ui/legacy/text_images/zh-CN/battle_ui/pbinfo_stat_zh-CN.json b/public/images/ui/legacy/text_images/zh-CN/battle_ui/pbinfo_stat_zh-CN.json
new file mode 100644
index 00000000000..49649bbc315
--- /dev/null
+++ b/public/images/ui/legacy/text_images/zh-CN/battle_ui/pbinfo_stat_zh-CN.json
@@ -0,0 +1,209 @@
+{
+ "textures": [
+ {
+ "image": "pbinfo_stat_zh-CN.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 112,
+ "h": 6
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "SPATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 18,
+ "h": 6
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 18,
+ "h": 6
+ }
+ },
+ {
+ "filename": "SPDEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 18,
+ "h": 6
+ },
+ "frame": {
+ "x": 18,
+ "y": 0,
+ "w": 18,
+ "h": 6
+ }
+ },
+ {
+ "filename": "CRIT",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 17,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 16,
+ "h": 6
+ },
+ "frame": {
+ "x": 36,
+ "y": 0,
+ "w": 16,
+ "h": 6
+ }
+ },
+ {
+ "filename": "ACC",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 6
+ },
+ "frame": {
+ "x": 52,
+ "y": 0,
+ "w": 12,
+ "h": 6
+ }
+ },
+ {
+ "filename": "ATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 6
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 12,
+ "h": 6
+ }
+ },
+ {
+ "filename": "DEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 6
+ },
+ "frame": {
+ "x": 76,
+ "y": 0,
+ "w": 12,
+ "h": 6
+ }
+ },
+ {
+ "filename": "EVA",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 6
+ },
+ "frame": {
+ "x": 88,
+ "y": 0,
+ "w": 12,
+ "h": 6
+ }
+ },
+ {
+ "filename": "SPD",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 6
+ },
+ "frame": {
+ "x": 100,
+ "y": 0,
+ "w": 12,
+ "h": 6
+ }
+ },
+ {
+ "filename": "HP",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 9,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 8,
+ "h": 6
+ },
+ "frame": {
+ "x": 112,
+ "y": 0,
+ "w": 8,
+ "h": 6
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:40d30205ce8efd40dfa86cd11b0491d6:7076db6ed74199dcfb38fc8cd4d4a0e8:05882267d3999884e0491134e98b1b53$"
+ }
+}
diff --git a/public/images/ui/legacy/text_images/zh-CN/battle_ui/pbinfo_stat_zh-CN.png b/public/images/ui/legacy/text_images/zh-CN/battle_ui/pbinfo_stat_zh-CN.png
new file mode 100644
index 00000000000..c729e7a2207
Binary files /dev/null and b/public/images/ui/legacy/text_images/zh-CN/battle_ui/pbinfo_stat_zh-CN.png differ
diff --git a/public/images/ui/legacy/text_images/zh-CN/party_ui/party_slot_overlay_hp_zh-CN.png b/public/images/ui/legacy/text_images/zh-CN/party_ui/party_slot_overlay_hp_zh-CN.png
new file mode 100644
index 00000000000..a78ac090d3b
Binary files /dev/null and b/public/images/ui/legacy/text_images/zh-CN/party_ui/party_slot_overlay_hp_zh-CN.png differ
diff --git a/public/images/ui/legacy/text_images/zh-CN/party_ui/party_slot_overlay_lv_zh-CN.png b/public/images/ui/legacy/text_images/zh-CN/party_ui/party_slot_overlay_lv_zh-CN.png
new file mode 100644
index 00000000000..11bb545c7af
Binary files /dev/null and b/public/images/ui/legacy/text_images/zh-CN/party_ui/party_slot_overlay_lv_zh-CN.png differ
diff --git a/public/images/ui/legacy/text_images/zh-TW/battle_ui/overlay_exp_label_zh-TW.png b/public/images/ui/legacy/text_images/zh-TW/battle_ui/overlay_exp_label_zh-TW.png
new file mode 100644
index 00000000000..40b5e8925a1
Binary files /dev/null and b/public/images/ui/legacy/text_images/zh-TW/battle_ui/overlay_exp_label_zh-TW.png differ
diff --git a/public/images/ui/legacy/text_images/zh-TW/battle_ui/overlay_hp_label_boss_zh-TW.png b/public/images/ui/legacy/text_images/zh-TW/battle_ui/overlay_hp_label_boss_zh-TW.png
new file mode 100644
index 00000000000..283d63fb235
Binary files /dev/null and b/public/images/ui/legacy/text_images/zh-TW/battle_ui/overlay_hp_label_boss_zh-TW.png differ
diff --git a/public/images/ui/legacy/text_images/zh-TW/battle_ui/overlay_hp_label_zh-TW.png b/public/images/ui/legacy/text_images/zh-TW/battle_ui/overlay_hp_label_zh-TW.png
new file mode 100644
index 00000000000..67824c7ee4e
Binary files /dev/null and b/public/images/ui/legacy/text_images/zh-TW/battle_ui/overlay_hp_label_zh-TW.png differ
diff --git a/public/images/ui/legacy/text_images/zh-TW/battle_ui/overlay_lv_zh-TW.png b/public/images/ui/legacy/text_images/zh-TW/battle_ui/overlay_lv_zh-TW.png
new file mode 100644
index 00000000000..ea32ac03ee2
Binary files /dev/null and b/public/images/ui/legacy/text_images/zh-TW/battle_ui/overlay_lv_zh-TW.png differ
diff --git a/public/images/ui/legacy/text_images/zh-TW/battle_ui/pbinfo_stat_zh-TW.json b/public/images/ui/legacy/text_images/zh-TW/battle_ui/pbinfo_stat_zh-TW.json
new file mode 100644
index 00000000000..5a2e0fe2c30
--- /dev/null
+++ b/public/images/ui/legacy/text_images/zh-TW/battle_ui/pbinfo_stat_zh-TW.json
@@ -0,0 +1,209 @@
+{
+ "textures": [
+ {
+ "image": "pbinfo_stat_zh-TW.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 112,
+ "h": 6
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "SPATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 18,
+ "h": 6
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 18,
+ "h": 6
+ }
+ },
+ {
+ "filename": "SPDEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 18,
+ "h": 6
+ },
+ "frame": {
+ "x": 18,
+ "y": 0,
+ "w": 18,
+ "h": 6
+ }
+ },
+ {
+ "filename": "CRIT",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 17,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 16,
+ "h": 6
+ },
+ "frame": {
+ "x": 36,
+ "y": 0,
+ "w": 16,
+ "h": 6
+ }
+ },
+ {
+ "filename": "ACC",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 6
+ },
+ "frame": {
+ "x": 52,
+ "y": 0,
+ "w": 12,
+ "h": 6
+ }
+ },
+ {
+ "filename": "ATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 6
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 12,
+ "h": 6
+ }
+ },
+ {
+ "filename": "DEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 6
+ },
+ "frame": {
+ "x": 76,
+ "y": 0,
+ "w": 12,
+ "h": 6
+ }
+ },
+ {
+ "filename": "EVA",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 6
+ },
+ "frame": {
+ "x": 88,
+ "y": 0,
+ "w": 12,
+ "h": 6
+ }
+ },
+ {
+ "filename": "SPD",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 12,
+ "h": 6
+ },
+ "frame": {
+ "x": 100,
+ "y": 0,
+ "w": 12,
+ "h": 6
+ }
+ },
+ {
+ "filename": "HP",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 9,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 8,
+ "h": 6
+ },
+ "frame": {
+ "x": 112,
+ "y": 0,
+ "w": 8,
+ "h": 6
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:40d30205ce8efd40dfa86cd11b0491d6:7076db6ed74199dcfb38fc8cd4d4a0e8:05882267d3999884e0491134e98b1b53$"
+ }
+}
diff --git a/public/images/ui/legacy/text_images/zh-TW/battle_ui/pbinfo_stat_zh-TW.png b/public/images/ui/legacy/text_images/zh-TW/battle_ui/pbinfo_stat_zh-TW.png
new file mode 100644
index 00000000000..c729e7a2207
Binary files /dev/null and b/public/images/ui/legacy/text_images/zh-TW/battle_ui/pbinfo_stat_zh-TW.png differ
diff --git a/public/images/ui/legacy/text_images/zh-TW/party_ui/party_slot_overlay_hp_zh-TW.png b/public/images/ui/legacy/text_images/zh-TW/party_ui/party_slot_overlay_hp_zh-TW.png
new file mode 100644
index 00000000000..a78ac090d3b
Binary files /dev/null and b/public/images/ui/legacy/text_images/zh-TW/party_ui/party_slot_overlay_hp_zh-TW.png differ
diff --git a/public/images/ui/legacy/text_images/zh-TW/party_ui/party_slot_overlay_lv_zh-TW.png b/public/images/ui/legacy/text_images/zh-TW/party_ui/party_slot_overlay_lv_zh-TW.png
new file mode 100644
index 00000000000..11bb545c7af
Binary files /dev/null and b/public/images/ui/legacy/text_images/zh-TW/party_ui/party_slot_overlay_lv_zh-TW.png differ
diff --git a/public/images/ui/overlay_lv.png b/public/images/ui/overlay_lv.png
deleted file mode 100644
index 6ced2da2660..00000000000
Binary files a/public/images/ui/overlay_lv.png and /dev/null differ
diff --git a/public/images/ui/party_slot_hp_bar.png b/public/images/ui/party_slot_hp_bar.png
index 181bd04c0ea..c1818439e75 100644
Binary files a/public/images/ui/party_slot_hp_bar.png and b/public/images/ui/party_slot_hp_bar.png differ
diff --git a/public/images/ui/pbinfo_enemy_boss.png b/public/images/ui/pbinfo_enemy_boss.png
index ce829bf4631..421edabba03 100644
Binary files a/public/images/ui/pbinfo_enemy_boss.png and b/public/images/ui/pbinfo_enemy_boss.png differ
diff --git a/public/images/ui/pbinfo_enemy_mini.png b/public/images/ui/pbinfo_enemy_mini.png
index ddf10776778..bf60bb0f964 100644
Binary files a/public/images/ui/pbinfo_enemy_mini.png and b/public/images/ui/pbinfo_enemy_mini.png differ
diff --git a/public/images/ui/pbinfo_player.png b/public/images/ui/pbinfo_player.png
index c7b2227e800..55c381bd436 100644
Binary files a/public/images/ui/pbinfo_player.png and b/public/images/ui/pbinfo_player.png differ
diff --git a/public/images/ui/pbinfo_player_mini.png b/public/images/ui/pbinfo_player_mini.png
index 90d5e03dae8..255ad00f8ca 100644
Binary files a/public/images/ui/pbinfo_player_mini.png and b/public/images/ui/pbinfo_player_mini.png differ
diff --git a/public/images/ui/pbinfo_stat.png b/public/images/ui/pbinfo_stat.png
deleted file mode 100644
index 1f86cc6a958..00000000000
Binary files a/public/images/ui/pbinfo_stat.png and /dev/null differ
diff --git a/public/images/ui/text_images/ca/battle_ui/overlay_exp_label_ca.png b/public/images/ui/text_images/ca/battle_ui/overlay_exp_label_ca.png
new file mode 100644
index 00000000000..fde37213eff
Binary files /dev/null and b/public/images/ui/text_images/ca/battle_ui/overlay_exp_label_ca.png differ
diff --git a/public/images/ui/text_images/ca/battle_ui/overlay_hp_label_boss_ca.png b/public/images/ui/text_images/ca/battle_ui/overlay_hp_label_boss_ca.png
new file mode 100644
index 00000000000..0bcec679e05
Binary files /dev/null and b/public/images/ui/text_images/ca/battle_ui/overlay_hp_label_boss_ca.png differ
diff --git a/public/images/ui/text_images/ca/battle_ui/overlay_hp_label_ca.png b/public/images/ui/text_images/ca/battle_ui/overlay_hp_label_ca.png
new file mode 100644
index 00000000000..7c7ccba752f
Binary files /dev/null and b/public/images/ui/text_images/ca/battle_ui/overlay_hp_label_ca.png differ
diff --git a/public/images/ui/text_images/ca/battle_ui/overlay_lv_ca.png b/public/images/ui/text_images/ca/battle_ui/overlay_lv_ca.png
new file mode 100644
index 00000000000..869a1ee0051
Binary files /dev/null and b/public/images/ui/text_images/ca/battle_ui/overlay_lv_ca.png differ
diff --git a/public/images/ui/text_images/ca/battle_ui/pbinfo_stat_ca.json b/public/images/ui/text_images/ca/battle_ui/pbinfo_stat_ca.json
new file mode 100644
index 00000000000..488321effd7
--- /dev/null
+++ b/public/images/ui/text_images/ca/battle_ui/pbinfo_stat_ca.json
@@ -0,0 +1,209 @@
+{
+ "textures": [
+ {
+ "image": "pbinfo_stat_ca.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 120,
+ "h": 9
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "SPATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": -1,
+ "w": 19,
+ "h": 9
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 19,
+ "h": 9
+ }
+ },
+ {
+ "filename": "SPDEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": -1,
+ "w": 19,
+ "h": 9
+ },
+ "frame": {
+ "x": 19,
+ "y": 0,
+ "w": 19,
+ "h": 9
+ }
+ },
+ {
+ "filename": "CRIT",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 17,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": -1,
+ "w": 17,
+ "h": 9
+ },
+ "frame": {
+ "x": 38,
+ "y": 0,
+ "w": 17,
+ "h": 9
+ }
+ },
+ {
+ "filename": "ACC",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": -1,
+ "w": 13,
+ "h": 9
+ },
+ "frame": {
+ "x": 55,
+ "y": 0,
+ "w": 13,
+ "h": 9
+ }
+ },
+ {
+ "filename": "ATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": -1,
+ "w": 13,
+ "h": 9
+ },
+ "frame": {
+ "x": 68,
+ "y": 0,
+ "w": 13,
+ "h": 9
+ }
+ },
+ {
+ "filename": "DEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": -1,
+ "w": 13,
+ "h": 9
+ },
+ "frame": {
+ "x": 81,
+ "y": 0,
+ "w": 13,
+ "h": 9
+ }
+ },
+ {
+ "filename": "EVA",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": -1,
+ "w": 13,
+ "h": 9
+ },
+ "frame": {
+ "x": 94,
+ "y": 0,
+ "w": 13,
+ "h": 9
+ }
+ },
+ {
+ "filename": "SPD",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": -1,
+ "w": 13,
+ "h": 9
+ },
+ "frame": {
+ "x": 107,
+ "y": 0,
+ "w": 13,
+ "h": 9
+ }
+ },
+ {
+ "filename": "HP",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 9,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": -1,
+ "w": 9,
+ "h": 9
+ },
+ "frame": {
+ "x": 120,
+ "y": 0,
+ "w": 9,
+ "h": 9
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:86fbd1b45d46271597a7d9de482aaa74:df702dd9d88db50369f1a096f82fd915:05882267d3999884e0491134e98b1b53$"
+ }
+}
diff --git a/public/images/ui/text_images/ca/battle_ui/pbinfo_stat_ca.png b/public/images/ui/text_images/ca/battle_ui/pbinfo_stat_ca.png
new file mode 100644
index 00000000000..2b22b4f4d6f
Binary files /dev/null and b/public/images/ui/text_images/ca/battle_ui/pbinfo_stat_ca.png differ
diff --git a/public/images/ui/text_images/ca/party_ui/party_slot_overlay_hp_ca.png b/public/images/ui/text_images/ca/party_ui/party_slot_overlay_hp_ca.png
new file mode 100644
index 00000000000..4bc95e4f95e
Binary files /dev/null and b/public/images/ui/text_images/ca/party_ui/party_slot_overlay_hp_ca.png differ
diff --git a/public/images/ui/text_images/ca/party_ui/party_slot_overlay_lv_ca.png b/public/images/ui/text_images/ca/party_ui/party_slot_overlay_lv_ca.png
new file mode 100644
index 00000000000..c5971de4fd0
Binary files /dev/null and b/public/images/ui/text_images/ca/party_ui/party_slot_overlay_lv_ca.png differ
diff --git a/public/images/ui/text_images/da/battle_ui/overlay_exp_label_da.png b/public/images/ui/text_images/da/battle_ui/overlay_exp_label_da.png
new file mode 100644
index 00000000000..39a92725bc0
Binary files /dev/null and b/public/images/ui/text_images/da/battle_ui/overlay_exp_label_da.png differ
diff --git a/public/images/ui/text_images/da/battle_ui/overlay_hp_label_boss_da.png b/public/images/ui/text_images/da/battle_ui/overlay_hp_label_boss_da.png
new file mode 100644
index 00000000000..0bcec679e05
Binary files /dev/null and b/public/images/ui/text_images/da/battle_ui/overlay_hp_label_boss_da.png differ
diff --git a/public/images/ui/text_images/da/battle_ui/overlay_hp_label_da.png b/public/images/ui/text_images/da/battle_ui/overlay_hp_label_da.png
new file mode 100644
index 00000000000..38a34761381
Binary files /dev/null and b/public/images/ui/text_images/da/battle_ui/overlay_hp_label_da.png differ
diff --git a/public/images/ui/text_images/da/battle_ui/overlay_lv_da.png b/public/images/ui/text_images/da/battle_ui/overlay_lv_da.png
new file mode 100644
index 00000000000..9ad4312d561
Binary files /dev/null and b/public/images/ui/text_images/da/battle_ui/overlay_lv_da.png differ
diff --git a/public/images/ui/text_images/da/battle_ui/pbinfo_stat_da.json b/public/images/ui/text_images/da/battle_ui/pbinfo_stat_da.json
new file mode 100644
index 00000000000..5108fa59582
--- /dev/null
+++ b/public/images/ui/text_images/da/battle_ui/pbinfo_stat_da.json
@@ -0,0 +1,209 @@
+{
+ "textures": [
+ {
+ "image": "pbinfo_stat_da.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 120,
+ "h": 7
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "SPATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 19,
+ "h": 7
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 19,
+ "h": 7
+ }
+ },
+ {
+ "filename": "SPDEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 19,
+ "h": 7
+ },
+ "frame": {
+ "x": 19,
+ "y": 0,
+ "w": 19,
+ "h": 7
+ }
+ },
+ {
+ "filename": "CRIT",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 17,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 17,
+ "h": 7
+ },
+ "frame": {
+ "x": 38,
+ "y": 0,
+ "w": 17,
+ "h": 7
+ }
+ },
+ {
+ "filename": "ACC",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 7
+ },
+ "frame": {
+ "x": 55,
+ "y": 0,
+ "w": 13,
+ "h": 7
+ }
+ },
+ {
+ "filename": "ATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 7
+ },
+ "frame": {
+ "x": 68,
+ "y": 0,
+ "w": 13,
+ "h": 7
+ }
+ },
+ {
+ "filename": "DEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 7
+ },
+ "frame": {
+ "x": 81,
+ "y": 0,
+ "w": 13,
+ "h": 7
+ }
+ },
+ {
+ "filename": "EVA",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 7
+ },
+ "frame": {
+ "x": 94,
+ "y": 0,
+ "w": 13,
+ "h": 7
+ }
+ },
+ {
+ "filename": "SPD",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 7
+ },
+ "frame": {
+ "x": 107,
+ "y": 0,
+ "w": 13,
+ "h": 7
+ }
+ },
+ {
+ "filename": "HP",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 9,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 9,
+ "h": 7
+ },
+ "frame": {
+ "x": 120,
+ "y": 0,
+ "w": 9,
+ "h": 7
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:86fbd1b45d46271597a7d9de482aaa74:df702dd9d88db50369f1a096f82fd915:05882267d3999884e0491134e98b1b53$"
+ }
+}
diff --git a/public/images/ui/text_images/da/battle_ui/pbinfo_stat_da.png b/public/images/ui/text_images/da/battle_ui/pbinfo_stat_da.png
new file mode 100644
index 00000000000..9656c5f04b9
Binary files /dev/null and b/public/images/ui/text_images/da/battle_ui/pbinfo_stat_da.png differ
diff --git a/public/images/ui/text_images/da/party_ui/party_slot_overlay_hp_da.png b/public/images/ui/text_images/da/party_ui/party_slot_overlay_hp_da.png
new file mode 100644
index 00000000000..9be90b5c6bb
Binary files /dev/null and b/public/images/ui/text_images/da/party_ui/party_slot_overlay_hp_da.png differ
diff --git a/public/images/ui/party_slot_overlay_lv.png b/public/images/ui/text_images/da/party_ui/party_slot_overlay_lv_da.png
similarity index 100%
rename from public/images/ui/party_slot_overlay_lv.png
rename to public/images/ui/text_images/da/party_ui/party_slot_overlay_lv_da.png
diff --git a/public/images/ui/text_images/de/battle_ui/overlay_exp_label_de.png b/public/images/ui/text_images/de/battle_ui/overlay_exp_label_de.png
new file mode 100644
index 00000000000..39a92725bc0
Binary files /dev/null and b/public/images/ui/text_images/de/battle_ui/overlay_exp_label_de.png differ
diff --git a/public/images/ui/text_images/de/battle_ui/overlay_hp_label_boss_de.png b/public/images/ui/text_images/de/battle_ui/overlay_hp_label_boss_de.png
new file mode 100644
index 00000000000..0bcec679e05
Binary files /dev/null and b/public/images/ui/text_images/de/battle_ui/overlay_hp_label_boss_de.png differ
diff --git a/public/images/ui/text_images/de/battle_ui/overlay_hp_label_de.png b/public/images/ui/text_images/de/battle_ui/overlay_hp_label_de.png
new file mode 100644
index 00000000000..8b227eebd7a
Binary files /dev/null and b/public/images/ui/text_images/de/battle_ui/overlay_hp_label_de.png differ
diff --git a/public/images/ui/text_images/de/battle_ui/overlay_lv_de.png b/public/images/ui/text_images/de/battle_ui/overlay_lv_de.png
new file mode 100644
index 00000000000..9ad4312d561
Binary files /dev/null and b/public/images/ui/text_images/de/battle_ui/overlay_lv_de.png differ
diff --git a/public/images/ui/text_images/de/battle_ui/pbinfo_stat_de.json b/public/images/ui/text_images/de/battle_ui/pbinfo_stat_de.json
new file mode 100644
index 00000000000..dbf39c94059
--- /dev/null
+++ b/public/images/ui/text_images/de/battle_ui/pbinfo_stat_de.json
@@ -0,0 +1,209 @@
+{
+ "textures": [
+ {
+ "image": "pbinfo_stat_de.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 120,
+ "h": 7
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "SPATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 19,
+ "h": 7
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 19,
+ "h": 7
+ }
+ },
+ {
+ "filename": "SPDEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 19,
+ "h": 7
+ },
+ "frame": {
+ "x": 19,
+ "y": 0,
+ "w": 19,
+ "h": 7
+ }
+ },
+ {
+ "filename": "CRIT",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 17,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 17,
+ "h": 7
+ },
+ "frame": {
+ "x": 38,
+ "y": 0,
+ "w": 17,
+ "h": 7
+ }
+ },
+ {
+ "filename": "ACC",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 7
+ },
+ "frame": {
+ "x": 55,
+ "y": 0,
+ "w": 13,
+ "h": 7
+ }
+ },
+ {
+ "filename": "ATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 7
+ },
+ "frame": {
+ "x": 68,
+ "y": 0,
+ "w": 13,
+ "h": 7
+ }
+ },
+ {
+ "filename": "DEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 7
+ },
+ "frame": {
+ "x": 81,
+ "y": 0,
+ "w": 13,
+ "h": 7
+ }
+ },
+ {
+ "filename": "EVA",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 7
+ },
+ "frame": {
+ "x": 94,
+ "y": 0,
+ "w": 13,
+ "h": 7
+ }
+ },
+ {
+ "filename": "SPD",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 7
+ },
+ "frame": {
+ "x": 107,
+ "y": 0,
+ "w": 13,
+ "h": 7
+ }
+ },
+ {
+ "filename": "HP",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 9,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 9,
+ "h": 7
+ },
+ "frame": {
+ "x": 120,
+ "y": 0,
+ "w": 9,
+ "h": 7
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:86fbd1b45d46271597a7d9de482aaa74:df702dd9d88db50369f1a096f82fd915:05882267d3999884e0491134e98b1b53$"
+ }
+}
diff --git a/public/images/ui/text_images/de/battle_ui/pbinfo_stat_de.png b/public/images/ui/text_images/de/battle_ui/pbinfo_stat_de.png
new file mode 100644
index 00000000000..b8bcb6138b9
Binary files /dev/null and b/public/images/ui/text_images/de/battle_ui/pbinfo_stat_de.png differ
diff --git a/public/images/ui/text_images/de/party_ui/party_slot_overlay_hp_de.png b/public/images/ui/text_images/de/party_ui/party_slot_overlay_hp_de.png
new file mode 100644
index 00000000000..47ac22e52cb
Binary files /dev/null and b/public/images/ui/text_images/de/party_ui/party_slot_overlay_hp_de.png differ
diff --git a/public/images/ui/text_images/de/party_ui/party_slot_overlay_lv_de.png b/public/images/ui/text_images/de/party_ui/party_slot_overlay_lv_de.png
new file mode 100644
index 00000000000..122d3f7151c
Binary files /dev/null and b/public/images/ui/text_images/de/party_ui/party_slot_overlay_lv_de.png differ
diff --git a/public/images/ui/text_images/en/battle_ui/overlay_exp_label.png b/public/images/ui/text_images/en/battle_ui/overlay_exp_label.png
new file mode 100644
index 00000000000..fde37213eff
Binary files /dev/null and b/public/images/ui/text_images/en/battle_ui/overlay_exp_label.png differ
diff --git a/public/images/ui/text_images/en/battle_ui/overlay_hp_label.png b/public/images/ui/text_images/en/battle_ui/overlay_hp_label.png
new file mode 100644
index 00000000000..38a34761381
Binary files /dev/null and b/public/images/ui/text_images/en/battle_ui/overlay_hp_label.png differ
diff --git a/public/images/ui/text_images/en/battle_ui/overlay_hp_label_boss.png b/public/images/ui/text_images/en/battle_ui/overlay_hp_label_boss.png
new file mode 100644
index 00000000000..0bcec679e05
Binary files /dev/null and b/public/images/ui/text_images/en/battle_ui/overlay_hp_label_boss.png differ
diff --git a/public/images/ui/text_images/en/battle_ui/overlay_lv.png b/public/images/ui/text_images/en/battle_ui/overlay_lv.png
new file mode 100644
index 00000000000..9ad4312d561
Binary files /dev/null and b/public/images/ui/text_images/en/battle_ui/overlay_lv.png differ
diff --git a/public/images/ui/pbinfo_stat.json b/public/images/ui/text_images/en/battle_ui/pbinfo_stat.json
similarity index 100%
rename from public/images/ui/pbinfo_stat.json
rename to public/images/ui/text_images/en/battle_ui/pbinfo_stat.json
diff --git a/public/images/ui/text_images/en/battle_ui/pbinfo_stat.png b/public/images/ui/text_images/en/battle_ui/pbinfo_stat.png
new file mode 100644
index 00000000000..9656c5f04b9
Binary files /dev/null and b/public/images/ui/text_images/en/battle_ui/pbinfo_stat.png differ
diff --git a/public/images/ui/text_images/en/party_ui/party_slot_overlay_hp.png b/public/images/ui/text_images/en/party_ui/party_slot_overlay_hp.png
new file mode 100644
index 00000000000..9be90b5c6bb
Binary files /dev/null and b/public/images/ui/text_images/en/party_ui/party_slot_overlay_hp.png differ
diff --git a/public/images/ui/text_images/en/party_ui/party_slot_overlay_lv.png b/public/images/ui/text_images/en/party_ui/party_slot_overlay_lv.png
new file mode 100644
index 00000000000..122d3f7151c
Binary files /dev/null and b/public/images/ui/text_images/en/party_ui/party_slot_overlay_lv.png differ
diff --git a/public/images/ui/text_images/es-ES/battle_ui/overlay_exp_label_es-ES.png b/public/images/ui/text_images/es-ES/battle_ui/overlay_exp_label_es-ES.png
new file mode 100644
index 00000000000..fde37213eff
Binary files /dev/null and b/public/images/ui/text_images/es-ES/battle_ui/overlay_exp_label_es-ES.png differ
diff --git a/public/images/ui/text_images/es-ES/battle_ui/overlay_hp_label_boss_es-ES.png b/public/images/ui/text_images/es-ES/battle_ui/overlay_hp_label_boss_es-ES.png
new file mode 100644
index 00000000000..440ba6136dc
Binary files /dev/null and b/public/images/ui/text_images/es-ES/battle_ui/overlay_hp_label_boss_es-ES.png differ
diff --git a/public/images/ui/text_images/es-ES/battle_ui/overlay_hp_label_es-ES.png b/public/images/ui/text_images/es-ES/battle_ui/overlay_hp_label_es-ES.png
new file mode 100644
index 00000000000..7c7ccba752f
Binary files /dev/null and b/public/images/ui/text_images/es-ES/battle_ui/overlay_hp_label_es-ES.png differ
diff --git a/public/images/ui/text_images/es-ES/battle_ui/overlay_lv_es-ES.png b/public/images/ui/text_images/es-ES/battle_ui/overlay_lv_es-ES.png
new file mode 100644
index 00000000000..869a1ee0051
Binary files /dev/null and b/public/images/ui/text_images/es-ES/battle_ui/overlay_lv_es-ES.png differ
diff --git a/public/images/ui/text_images/es-ES/battle_ui/pbinfo_stat_es-ES.json b/public/images/ui/text_images/es-ES/battle_ui/pbinfo_stat_es-ES.json
new file mode 100644
index 00000000000..1af1d7108bc
--- /dev/null
+++ b/public/images/ui/text_images/es-ES/battle_ui/pbinfo_stat_es-ES.json
@@ -0,0 +1,209 @@
+{
+ "textures": [
+ {
+ "image": "pbinfo_stat_es-ES.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 120,
+ "h": 9
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "SPATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": -1,
+ "w": 19,
+ "h": 9
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 19,
+ "h": 9
+ }
+ },
+ {
+ "filename": "SPDEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": -1,
+ "w": 19,
+ "h": 9
+ },
+ "frame": {
+ "x": 19,
+ "y": 0,
+ "w": 19,
+ "h": 9
+ }
+ },
+ {
+ "filename": "CRIT",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 17,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": -1,
+ "w": 17,
+ "h": 9
+ },
+ "frame": {
+ "x": 38,
+ "y": 0,
+ "w": 17,
+ "h": 9
+ }
+ },
+ {
+ "filename": "ACC",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": -1,
+ "w": 13,
+ "h": 9
+ },
+ "frame": {
+ "x": 55,
+ "y": 0,
+ "w": 13,
+ "h": 9
+ }
+ },
+ {
+ "filename": "ATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": -1,
+ "w": 13,
+ "h": 9
+ },
+ "frame": {
+ "x": 68,
+ "y": 0,
+ "w": 13,
+ "h": 9
+ }
+ },
+ {
+ "filename": "DEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": -1,
+ "w": 13,
+ "h": 9
+ },
+ "frame": {
+ "x": 81,
+ "y": 0,
+ "w": 13,
+ "h": 9
+ }
+ },
+ {
+ "filename": "EVA",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": -1,
+ "w": 13,
+ "h": 9
+ },
+ "frame": {
+ "x": 94,
+ "y": 0,
+ "w": 13,
+ "h": 9
+ }
+ },
+ {
+ "filename": "SPD",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": -1,
+ "w": 13,
+ "h": 9
+ },
+ "frame": {
+ "x": 107,
+ "y": 0,
+ "w": 13,
+ "h": 9
+ }
+ },
+ {
+ "filename": "HP",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 9,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": -1,
+ "w": 9,
+ "h": 9
+ },
+ "frame": {
+ "x": 120,
+ "y": 0,
+ "w": 9,
+ "h": 9
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:86fbd1b45d46271597a7d9de482aaa74:df702dd9d88db50369f1a096f82fd915:05882267d3999884e0491134e98b1b53$"
+ }
+}
diff --git a/public/images/ui/text_images/es-ES/battle_ui/pbinfo_stat_es-ES.png b/public/images/ui/text_images/es-ES/battle_ui/pbinfo_stat_es-ES.png
new file mode 100644
index 00000000000..63f8215113f
Binary files /dev/null and b/public/images/ui/text_images/es-ES/battle_ui/pbinfo_stat_es-ES.png differ
diff --git a/public/images/ui/text_images/es-ES/party_ui/party_slot_overlay_hp_es-ES.png b/public/images/ui/text_images/es-ES/party_ui/party_slot_overlay_hp_es-ES.png
new file mode 100644
index 00000000000..4bc95e4f95e
Binary files /dev/null and b/public/images/ui/text_images/es-ES/party_ui/party_slot_overlay_hp_es-ES.png differ
diff --git a/public/images/ui/text_images/es-ES/party_ui/party_slot_overlay_lv_es-ES.png b/public/images/ui/text_images/es-ES/party_ui/party_slot_overlay_lv_es-ES.png
new file mode 100644
index 00000000000..c5971de4fd0
Binary files /dev/null and b/public/images/ui/text_images/es-ES/party_ui/party_slot_overlay_lv_es-ES.png differ
diff --git a/public/images/ui/text_images/es-MX/battle_ui/overlay_exp_label_es-MX.png b/public/images/ui/text_images/es-MX/battle_ui/overlay_exp_label_es-MX.png
new file mode 100644
index 00000000000..fde37213eff
Binary files /dev/null and b/public/images/ui/text_images/es-MX/battle_ui/overlay_exp_label_es-MX.png differ
diff --git a/public/images/ui/text_images/es-MX/battle_ui/overlay_hp_label_boss_es-MX.png b/public/images/ui/text_images/es-MX/battle_ui/overlay_hp_label_boss_es-MX.png
new file mode 100644
index 00000000000..440ba6136dc
Binary files /dev/null and b/public/images/ui/text_images/es-MX/battle_ui/overlay_hp_label_boss_es-MX.png differ
diff --git a/public/images/ui/text_images/es-MX/battle_ui/overlay_hp_label_es-MX.png b/public/images/ui/text_images/es-MX/battle_ui/overlay_hp_label_es-MX.png
new file mode 100644
index 00000000000..7c7ccba752f
Binary files /dev/null and b/public/images/ui/text_images/es-MX/battle_ui/overlay_hp_label_es-MX.png differ
diff --git a/public/images/ui/text_images/es-MX/battle_ui/overlay_lv_es-MX.png b/public/images/ui/text_images/es-MX/battle_ui/overlay_lv_es-MX.png
new file mode 100644
index 00000000000..869a1ee0051
Binary files /dev/null and b/public/images/ui/text_images/es-MX/battle_ui/overlay_lv_es-MX.png differ
diff --git a/public/images/ui/text_images/es-MX/battle_ui/pbinfo_stat_es-MX.json b/public/images/ui/text_images/es-MX/battle_ui/pbinfo_stat_es-MX.json
new file mode 100644
index 00000000000..b372566656b
--- /dev/null
+++ b/public/images/ui/text_images/es-MX/battle_ui/pbinfo_stat_es-MX.json
@@ -0,0 +1,209 @@
+{
+ "textures": [
+ {
+ "image": "pbinfo_stat_es-MX.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 120,
+ "h": 9
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "SPATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": -1,
+ "w": 19,
+ "h": 9
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 19,
+ "h": 9
+ }
+ },
+ {
+ "filename": "SPDEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": -1,
+ "w": 19,
+ "h": 9
+ },
+ "frame": {
+ "x": 19,
+ "y": 0,
+ "w": 19,
+ "h": 9
+ }
+ },
+ {
+ "filename": "CRIT",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 17,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": -1,
+ "w": 17,
+ "h": 9
+ },
+ "frame": {
+ "x": 38,
+ "y": 0,
+ "w": 17,
+ "h": 9
+ }
+ },
+ {
+ "filename": "ACC",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": -1,
+ "w": 13,
+ "h": 9
+ },
+ "frame": {
+ "x": 55,
+ "y": 0,
+ "w": 13,
+ "h": 9
+ }
+ },
+ {
+ "filename": "ATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": -1,
+ "w": 13,
+ "h": 9
+ },
+ "frame": {
+ "x": 68,
+ "y": 0,
+ "w": 13,
+ "h": 9
+ }
+ },
+ {
+ "filename": "DEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": -1,
+ "w": 13,
+ "h": 9
+ },
+ "frame": {
+ "x": 81,
+ "y": 0,
+ "w": 13,
+ "h": 9
+ }
+ },
+ {
+ "filename": "EVA",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": -1,
+ "w": 13,
+ "h": 9
+ },
+ "frame": {
+ "x": 94,
+ "y": 0,
+ "w": 13,
+ "h": 9
+ }
+ },
+ {
+ "filename": "SPD",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": -1,
+ "w": 13,
+ "h": 9
+ },
+ "frame": {
+ "x": 107,
+ "y": 0,
+ "w": 13,
+ "h": 9
+ }
+ },
+ {
+ "filename": "HP",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 9,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": -1,
+ "w": 9,
+ "h": 9
+ },
+ "frame": {
+ "x": 120,
+ "y": 0,
+ "w": 9,
+ "h": 9
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:86fbd1b45d46271597a7d9de482aaa74:df702dd9d88db50369f1a096f82fd915:05882267d3999884e0491134e98b1b53$"
+ }
+}
diff --git a/public/images/ui/text_images/es-MX/battle_ui/pbinfo_stat_es-MX.png b/public/images/ui/text_images/es-MX/battle_ui/pbinfo_stat_es-MX.png
new file mode 100644
index 00000000000..63f8215113f
Binary files /dev/null and b/public/images/ui/text_images/es-MX/battle_ui/pbinfo_stat_es-MX.png differ
diff --git a/public/images/ui/text_images/es-MX/party_ui/party_slot_overlay_hp_es-MX.png b/public/images/ui/text_images/es-MX/party_ui/party_slot_overlay_hp_es-MX.png
new file mode 100644
index 00000000000..4bc95e4f95e
Binary files /dev/null and b/public/images/ui/text_images/es-MX/party_ui/party_slot_overlay_hp_es-MX.png differ
diff --git a/public/images/ui/text_images/es-MX/party_ui/party_slot_overlay_lv_es-MX.png b/public/images/ui/text_images/es-MX/party_ui/party_slot_overlay_lv_es-MX.png
new file mode 100644
index 00000000000..c5971de4fd0
Binary files /dev/null and b/public/images/ui/text_images/es-MX/party_ui/party_slot_overlay_lv_es-MX.png differ
diff --git a/public/images/ui/text_images/fr/battle_ui/overlay_exp_label_fr.png b/public/images/ui/text_images/fr/battle_ui/overlay_exp_label_fr.png
new file mode 100644
index 00000000000..fde37213eff
Binary files /dev/null and b/public/images/ui/text_images/fr/battle_ui/overlay_exp_label_fr.png differ
diff --git a/public/images/ui/text_images/fr/battle_ui/overlay_hp_label_boss_fr.png b/public/images/ui/text_images/fr/battle_ui/overlay_hp_label_boss_fr.png
new file mode 100644
index 00000000000..0bcec679e05
Binary files /dev/null and b/public/images/ui/text_images/fr/battle_ui/overlay_hp_label_boss_fr.png differ
diff --git a/public/images/ui/text_images/fr/battle_ui/overlay_hp_label_fr.png b/public/images/ui/text_images/fr/battle_ui/overlay_hp_label_fr.png
new file mode 100644
index 00000000000..e086339f047
Binary files /dev/null and b/public/images/ui/text_images/fr/battle_ui/overlay_hp_label_fr.png differ
diff --git a/public/images/ui/text_images/fr/battle_ui/overlay_lv_fr.png b/public/images/ui/text_images/fr/battle_ui/overlay_lv_fr.png
new file mode 100644
index 00000000000..9a9ccb6d02d
Binary files /dev/null and b/public/images/ui/text_images/fr/battle_ui/overlay_lv_fr.png differ
diff --git a/public/images/ui/text_images/fr/battle_ui/pbinfo_stat_fr.json b/public/images/ui/text_images/fr/battle_ui/pbinfo_stat_fr.json
new file mode 100644
index 00000000000..1275fe16ec3
--- /dev/null
+++ b/public/images/ui/text_images/fr/battle_ui/pbinfo_stat_fr.json
@@ -0,0 +1,209 @@
+{
+ "textures": [
+ {
+ "image": "pbinfo_stat_fr.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 120,
+ "h": 9
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "SPATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": -1,
+ "w": 19,
+ "h": 9
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 19,
+ "h": 9
+ }
+ },
+ {
+ "filename": "SPDEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": -1,
+ "w": 19,
+ "h": 9
+ },
+ "frame": {
+ "x": 19,
+ "y": 0,
+ "w": 19,
+ "h": 9
+ }
+ },
+ {
+ "filename": "CRIT",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 17,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": -1,
+ "w": 17,
+ "h": 9
+ },
+ "frame": {
+ "x": 38,
+ "y": 0,
+ "w": 17,
+ "h": 9
+ }
+ },
+ {
+ "filename": "ACC",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": -1,
+ "w": 13,
+ "h": 9
+ },
+ "frame": {
+ "x": 55,
+ "y": 0,
+ "w": 13,
+ "h": 9
+ }
+ },
+ {
+ "filename": "ATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": -1,
+ "w": 13,
+ "h": 9
+ },
+ "frame": {
+ "x": 68,
+ "y": 0,
+ "w": 13,
+ "h": 9
+ }
+ },
+ {
+ "filename": "DEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": -1,
+ "w": 13,
+ "h": 9
+ },
+ "frame": {
+ "x": 81,
+ "y": 0,
+ "w": 13,
+ "h": 9
+ }
+ },
+ {
+ "filename": "EVA",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": -1,
+ "w": 13,
+ "h": 9
+ },
+ "frame": {
+ "x": 94,
+ "y": 0,
+ "w": 13,
+ "h": 9
+ }
+ },
+ {
+ "filename": "SPD",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": -1,
+ "w": 13,
+ "h": 9
+ },
+ "frame": {
+ "x": 107,
+ "y": 0,
+ "w": 13,
+ "h": 9
+ }
+ },
+ {
+ "filename": "HP",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 9,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": -1,
+ "w": 9,
+ "h": 9
+ },
+ "frame": {
+ "x": 120,
+ "y": 0,
+ "w": 9,
+ "h": 9
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:86fbd1b45d46271597a7d9de482aaa74:df702dd9d88db50369f1a096f82fd915:05882267d3999884e0491134e98b1b53$"
+ }
+}
diff --git a/public/images/ui/text_images/fr/battle_ui/pbinfo_stat_fr.png b/public/images/ui/text_images/fr/battle_ui/pbinfo_stat_fr.png
new file mode 100644
index 00000000000..baea5c8d93c
Binary files /dev/null and b/public/images/ui/text_images/fr/battle_ui/pbinfo_stat_fr.png differ
diff --git a/public/images/ui/text_images/fr/party_ui/party_slot_overlay_hp_fr.png b/public/images/ui/text_images/fr/party_ui/party_slot_overlay_hp_fr.png
new file mode 100644
index 00000000000..140c99eef68
Binary files /dev/null and b/public/images/ui/text_images/fr/party_ui/party_slot_overlay_hp_fr.png differ
diff --git a/public/images/ui/text_images/fr/party_ui/party_slot_overlay_lv_fr.png b/public/images/ui/text_images/fr/party_ui/party_slot_overlay_lv_fr.png
new file mode 100644
index 00000000000..ff489e33712
Binary files /dev/null and b/public/images/ui/text_images/fr/party_ui/party_slot_overlay_lv_fr.png differ
diff --git a/public/images/ui/text_images/it/battle_ui/overlay_exp_label_it.png b/public/images/ui/text_images/it/battle_ui/overlay_exp_label_it.png
new file mode 100644
index 00000000000..6ad5855cc46
Binary files /dev/null and b/public/images/ui/text_images/it/battle_ui/overlay_exp_label_it.png differ
diff --git a/public/images/ui/text_images/it/battle_ui/overlay_hp_label_boss_it.png b/public/images/ui/text_images/it/battle_ui/overlay_hp_label_boss_it.png
new file mode 100644
index 00000000000..0bcec679e05
Binary files /dev/null and b/public/images/ui/text_images/it/battle_ui/overlay_hp_label_boss_it.png differ
diff --git a/public/images/ui/text_images/it/battle_ui/overlay_hp_label_it.png b/public/images/ui/text_images/it/battle_ui/overlay_hp_label_it.png
new file mode 100644
index 00000000000..7c7ccba752f
Binary files /dev/null and b/public/images/ui/text_images/it/battle_ui/overlay_hp_label_it.png differ
diff --git a/public/images/ui/text_images/it/battle_ui/overlay_lv_it.png b/public/images/ui/text_images/it/battle_ui/overlay_lv_it.png
new file mode 100644
index 00000000000..987d806b93a
Binary files /dev/null and b/public/images/ui/text_images/it/battle_ui/overlay_lv_it.png differ
diff --git a/public/images/ui/text_images/it/battle_ui/pbinfo_stat_it.json b/public/images/ui/text_images/it/battle_ui/pbinfo_stat_it.json
new file mode 100644
index 00000000000..111a88ba365
--- /dev/null
+++ b/public/images/ui/text_images/it/battle_ui/pbinfo_stat_it.json
@@ -0,0 +1,209 @@
+{
+ "textures": [
+ {
+ "image": "pbinfo_stat_it.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 120,
+ "h": 7
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "SPATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 19,
+ "h": 7
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 19,
+ "h": 7
+ }
+ },
+ {
+ "filename": "SPDEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 19,
+ "h": 7
+ },
+ "frame": {
+ "x": 19,
+ "y": 0,
+ "w": 19,
+ "h": 7
+ }
+ },
+ {
+ "filename": "CRIT",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 17,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 17,
+ "h": 7
+ },
+ "frame": {
+ "x": 38,
+ "y": 0,
+ "w": 17,
+ "h": 7
+ }
+ },
+ {
+ "filename": "ACC",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 7
+ },
+ "frame": {
+ "x": 55,
+ "y": 0,
+ "w": 13,
+ "h": 7
+ }
+ },
+ {
+ "filename": "ATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 7
+ },
+ "frame": {
+ "x": 68,
+ "y": 0,
+ "w": 13,
+ "h": 7
+ }
+ },
+ {
+ "filename": "DEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 7
+ },
+ "frame": {
+ "x": 81,
+ "y": 0,
+ "w": 13,
+ "h": 7
+ }
+ },
+ {
+ "filename": "EVA",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 7
+ },
+ "frame": {
+ "x": 94,
+ "y": 0,
+ "w": 13,
+ "h": 7
+ }
+ },
+ {
+ "filename": "SPD",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 7
+ },
+ "frame": {
+ "x": 107,
+ "y": 0,
+ "w": 13,
+ "h": 7
+ }
+ },
+ {
+ "filename": "HP",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 9,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 9,
+ "h": 7
+ },
+ "frame": {
+ "x": 120,
+ "y": 0,
+ "w": 9,
+ "h": 7
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:86fbd1b45d46271597a7d9de482aaa74:df702dd9d88db50369f1a096f82fd915:05882267d3999884e0491134e98b1b53$"
+ }
+}
diff --git a/public/images/ui/text_images/it/battle_ui/pbinfo_stat_it.png b/public/images/ui/text_images/it/battle_ui/pbinfo_stat_it.png
new file mode 100644
index 00000000000..c2ac58da184
Binary files /dev/null and b/public/images/ui/text_images/it/battle_ui/pbinfo_stat_it.png differ
diff --git a/public/images/ui/text_images/it/party_ui/party_slot_overlay_hp_it.png b/public/images/ui/text_images/it/party_ui/party_slot_overlay_hp_it.png
new file mode 100644
index 00000000000..4bc95e4f95e
Binary files /dev/null and b/public/images/ui/text_images/it/party_ui/party_slot_overlay_hp_it.png differ
diff --git a/public/images/ui/text_images/it/party_ui/party_slot_overlay_lv_it.png b/public/images/ui/text_images/it/party_ui/party_slot_overlay_lv_it.png
new file mode 100644
index 00000000000..31a2a31dd41
Binary files /dev/null and b/public/images/ui/text_images/it/party_ui/party_slot_overlay_lv_it.png differ
diff --git a/public/images/ui/text_images/ja/battle_ui/overlay_exp_label_ja.png b/public/images/ui/text_images/ja/battle_ui/overlay_exp_label_ja.png
new file mode 100644
index 00000000000..fde37213eff
Binary files /dev/null and b/public/images/ui/text_images/ja/battle_ui/overlay_exp_label_ja.png differ
diff --git a/public/images/ui/text_images/ja/battle_ui/overlay_hp_label_boss_ja.png b/public/images/ui/text_images/ja/battle_ui/overlay_hp_label_boss_ja.png
new file mode 100644
index 00000000000..0bcec679e05
Binary files /dev/null and b/public/images/ui/text_images/ja/battle_ui/overlay_hp_label_boss_ja.png differ
diff --git a/public/images/ui/text_images/ja/battle_ui/overlay_hp_label_ja.png b/public/images/ui/text_images/ja/battle_ui/overlay_hp_label_ja.png
new file mode 100644
index 00000000000..38a34761381
Binary files /dev/null and b/public/images/ui/text_images/ja/battle_ui/overlay_hp_label_ja.png differ
diff --git a/public/images/ui/text_images/ja/battle_ui/overlay_lv_ja.png b/public/images/ui/text_images/ja/battle_ui/overlay_lv_ja.png
new file mode 100644
index 00000000000..9ad4312d561
Binary files /dev/null and b/public/images/ui/text_images/ja/battle_ui/overlay_lv_ja.png differ
diff --git a/public/images/ui/text_images/ja/battle_ui/pbinfo_stat_ja.json b/public/images/ui/text_images/ja/battle_ui/pbinfo_stat_ja.json
new file mode 100644
index 00000000000..d8de5c788ef
--- /dev/null
+++ b/public/images/ui/text_images/ja/battle_ui/pbinfo_stat_ja.json
@@ -0,0 +1,209 @@
+{
+ "textures": [
+ {
+ "image": "pbinfo_stat_ja.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 120,
+ "h": 7
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "SPATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 19,
+ "h": 7
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 19,
+ "h": 7
+ }
+ },
+ {
+ "filename": "SPDEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 19,
+ "h": 7
+ },
+ "frame": {
+ "x": 19,
+ "y": 0,
+ "w": 19,
+ "h": 7
+ }
+ },
+ {
+ "filename": "CRIT",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 17,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 17,
+ "h": 7
+ },
+ "frame": {
+ "x": 38,
+ "y": 0,
+ "w": 17,
+ "h": 7
+ }
+ },
+ {
+ "filename": "ACC",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 7
+ },
+ "frame": {
+ "x": 55,
+ "y": 0,
+ "w": 13,
+ "h": 7
+ }
+ },
+ {
+ "filename": "ATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 7
+ },
+ "frame": {
+ "x": 68,
+ "y": 0,
+ "w": 13,
+ "h": 7
+ }
+ },
+ {
+ "filename": "DEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 7
+ },
+ "frame": {
+ "x": 81,
+ "y": 0,
+ "w": 13,
+ "h": 7
+ }
+ },
+ {
+ "filename": "EVA",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 7
+ },
+ "frame": {
+ "x": 94,
+ "y": 0,
+ "w": 13,
+ "h": 7
+ }
+ },
+ {
+ "filename": "SPD",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 7
+ },
+ "frame": {
+ "x": 107,
+ "y": 0,
+ "w": 13,
+ "h": 7
+ }
+ },
+ {
+ "filename": "HP",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 9,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 9,
+ "h": 7
+ },
+ "frame": {
+ "x": 120,
+ "y": 0,
+ "w": 9,
+ "h": 7
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:86fbd1b45d46271597a7d9de482aaa74:df702dd9d88db50369f1a096f82fd915:05882267d3999884e0491134e98b1b53$"
+ }
+}
diff --git a/public/images/ui/text_images/ja/battle_ui/pbinfo_stat_ja.png b/public/images/ui/text_images/ja/battle_ui/pbinfo_stat_ja.png
new file mode 100644
index 00000000000..9656c5f04b9
Binary files /dev/null and b/public/images/ui/text_images/ja/battle_ui/pbinfo_stat_ja.png differ
diff --git a/public/images/ui/text_images/ja/party_ui/party_slot_overlay_hp_ja.png b/public/images/ui/text_images/ja/party_ui/party_slot_overlay_hp_ja.png
new file mode 100644
index 00000000000..9be90b5c6bb
Binary files /dev/null and b/public/images/ui/text_images/ja/party_ui/party_slot_overlay_hp_ja.png differ
diff --git a/public/images/ui/text_images/ja/party_ui/party_slot_overlay_lv_ja.png b/public/images/ui/text_images/ja/party_ui/party_slot_overlay_lv_ja.png
new file mode 100644
index 00000000000..122d3f7151c
Binary files /dev/null and b/public/images/ui/text_images/ja/party_ui/party_slot_overlay_lv_ja.png differ
diff --git a/public/images/ui/text_images/ko/battle_ui/overlay_exp_label_ko.png b/public/images/ui/text_images/ko/battle_ui/overlay_exp_label_ko.png
new file mode 100644
index 00000000000..fde37213eff
Binary files /dev/null and b/public/images/ui/text_images/ko/battle_ui/overlay_exp_label_ko.png differ
diff --git a/public/images/ui/text_images/ko/battle_ui/overlay_hp_label_boss_ko.png b/public/images/ui/text_images/ko/battle_ui/overlay_hp_label_boss_ko.png
new file mode 100644
index 00000000000..0bcec679e05
Binary files /dev/null and b/public/images/ui/text_images/ko/battle_ui/overlay_hp_label_boss_ko.png differ
diff --git a/public/images/ui/text_images/ko/battle_ui/overlay_hp_label_ko.png b/public/images/ui/text_images/ko/battle_ui/overlay_hp_label_ko.png
new file mode 100644
index 00000000000..38a34761381
Binary files /dev/null and b/public/images/ui/text_images/ko/battle_ui/overlay_hp_label_ko.png differ
diff --git a/public/images/ui/text_images/ko/battle_ui/overlay_lv_ko.png b/public/images/ui/text_images/ko/battle_ui/overlay_lv_ko.png
new file mode 100644
index 00000000000..9ad4312d561
Binary files /dev/null and b/public/images/ui/text_images/ko/battle_ui/overlay_lv_ko.png differ
diff --git a/public/images/ui/text_images/ko/battle_ui/pbinfo_stat_ko.json b/public/images/ui/text_images/ko/battle_ui/pbinfo_stat_ko.json
new file mode 100644
index 00000000000..a1d660dfca3
--- /dev/null
+++ b/public/images/ui/text_images/ko/battle_ui/pbinfo_stat_ko.json
@@ -0,0 +1,209 @@
+{
+ "textures": [
+ {
+ "image": "pbinfo_stat_ko.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 120,
+ "h": 7
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "SPATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 19,
+ "h": 7
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 19,
+ "h": 7
+ }
+ },
+ {
+ "filename": "SPDEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 19,
+ "h": 7
+ },
+ "frame": {
+ "x": 19,
+ "y": 0,
+ "w": 19,
+ "h": 7
+ }
+ },
+ {
+ "filename": "CRIT",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 17,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 17,
+ "h": 7
+ },
+ "frame": {
+ "x": 38,
+ "y": 0,
+ "w": 17,
+ "h": 7
+ }
+ },
+ {
+ "filename": "ACC",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 7
+ },
+ "frame": {
+ "x": 55,
+ "y": 0,
+ "w": 13,
+ "h": 7
+ }
+ },
+ {
+ "filename": "ATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 7
+ },
+ "frame": {
+ "x": 68,
+ "y": 0,
+ "w": 13,
+ "h": 7
+ }
+ },
+ {
+ "filename": "DEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 7
+ },
+ "frame": {
+ "x": 81,
+ "y": 0,
+ "w": 13,
+ "h": 7
+ }
+ },
+ {
+ "filename": "EVA",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 7
+ },
+ "frame": {
+ "x": 94,
+ "y": 0,
+ "w": 13,
+ "h": 7
+ }
+ },
+ {
+ "filename": "SPD",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 7
+ },
+ "frame": {
+ "x": 107,
+ "y": 0,
+ "w": 13,
+ "h": 7
+ }
+ },
+ {
+ "filename": "HP",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 9,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 9,
+ "h": 7
+ },
+ "frame": {
+ "x": 120,
+ "y": 0,
+ "w": 9,
+ "h": 7
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:86fbd1b45d46271597a7d9de482aaa74:df702dd9d88db50369f1a096f82fd915:05882267d3999884e0491134e98b1b53$"
+ }
+}
diff --git a/public/images/ui/text_images/ko/battle_ui/pbinfo_stat_ko.png b/public/images/ui/text_images/ko/battle_ui/pbinfo_stat_ko.png
new file mode 100644
index 00000000000..9656c5f04b9
Binary files /dev/null and b/public/images/ui/text_images/ko/battle_ui/pbinfo_stat_ko.png differ
diff --git a/public/images/ui/text_images/ko/party_ui/party_slot_overlay_hp_ko.png b/public/images/ui/text_images/ko/party_ui/party_slot_overlay_hp_ko.png
new file mode 100644
index 00000000000..9be90b5c6bb
Binary files /dev/null and b/public/images/ui/text_images/ko/party_ui/party_slot_overlay_hp_ko.png differ
diff --git a/public/images/ui/text_images/ko/party_ui/party_slot_overlay_lv_ko.png b/public/images/ui/text_images/ko/party_ui/party_slot_overlay_lv_ko.png
new file mode 100644
index 00000000000..122d3f7151c
Binary files /dev/null and b/public/images/ui/text_images/ko/party_ui/party_slot_overlay_lv_ko.png differ
diff --git a/public/images/ui/text_images/pt-BR/battle_ui/overlay_exp_label_pt-BR.png b/public/images/ui/text_images/pt-BR/battle_ui/overlay_exp_label_pt-BR.png
new file mode 100644
index 00000000000..fde37213eff
Binary files /dev/null and b/public/images/ui/text_images/pt-BR/battle_ui/overlay_exp_label_pt-BR.png differ
diff --git a/public/images/ui/text_images/pt-BR/battle_ui/overlay_hp_label_boss_pt-BR.png b/public/images/ui/text_images/pt-BR/battle_ui/overlay_hp_label_boss_pt-BR.png
new file mode 100644
index 00000000000..0bcec679e05
Binary files /dev/null and b/public/images/ui/text_images/pt-BR/battle_ui/overlay_hp_label_boss_pt-BR.png differ
diff --git a/public/images/ui/text_images/pt-BR/battle_ui/overlay_hp_label_pt-BR.png b/public/images/ui/text_images/pt-BR/battle_ui/overlay_hp_label_pt-BR.png
new file mode 100644
index 00000000000..7c7ccba752f
Binary files /dev/null and b/public/images/ui/text_images/pt-BR/battle_ui/overlay_hp_label_pt-BR.png differ
diff --git a/public/images/ui/text_images/pt-BR/battle_ui/overlay_lv_pt-BR.png b/public/images/ui/text_images/pt-BR/battle_ui/overlay_lv_pt-BR.png
new file mode 100644
index 00000000000..869a1ee0051
Binary files /dev/null and b/public/images/ui/text_images/pt-BR/battle_ui/overlay_lv_pt-BR.png differ
diff --git a/public/images/ui/text_images/pt-BR/battle_ui/pbinfo_stat_pt-BR.json b/public/images/ui/text_images/pt-BR/battle_ui/pbinfo_stat_pt-BR.json
new file mode 100644
index 00000000000..ca97288795e
--- /dev/null
+++ b/public/images/ui/text_images/pt-BR/battle_ui/pbinfo_stat_pt-BR.json
@@ -0,0 +1,209 @@
+{
+ "textures": [
+ {
+ "image": "pbinfo_stat_pt-BR.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 120,
+ "h": 9
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "SPATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": -1,
+ "w": 19,
+ "h": 9
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 19,
+ "h": 9
+ }
+ },
+ {
+ "filename": "SPDEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": -1,
+ "w": 19,
+ "h": 9
+ },
+ "frame": {
+ "x": 19,
+ "y": 0,
+ "w": 19,
+ "h": 9
+ }
+ },
+ {
+ "filename": "CRIT",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 17,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": -1,
+ "w": 17,
+ "h": 9
+ },
+ "frame": {
+ "x": 38,
+ "y": 0,
+ "w": 17,
+ "h": 9
+ }
+ },
+ {
+ "filename": "ACC",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": -1,
+ "w": 13,
+ "h": 9
+ },
+ "frame": {
+ "x": 55,
+ "y": 0,
+ "w": 13,
+ "h": 9
+ }
+ },
+ {
+ "filename": "ATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": -1,
+ "w": 13,
+ "h": 9
+ },
+ "frame": {
+ "x": 68,
+ "y": 0,
+ "w": 13,
+ "h": 9
+ }
+ },
+ {
+ "filename": "DEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": -1,
+ "w": 13,
+ "h": 9
+ },
+ "frame": {
+ "x": 81,
+ "y": 0,
+ "w": 13,
+ "h": 9
+ }
+ },
+ {
+ "filename": "EVA",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": -1,
+ "w": 13,
+ "h": 9
+ },
+ "frame": {
+ "x": 94,
+ "y": 0,
+ "w": 13,
+ "h": 9
+ }
+ },
+ {
+ "filename": "SPD",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": -1,
+ "w": 13,
+ "h": 9
+ },
+ "frame": {
+ "x": 107,
+ "y": 0,
+ "w": 13,
+ "h": 9
+ }
+ },
+ {
+ "filename": "HP",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 9,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": -1,
+ "w": 9,
+ "h": 9
+ },
+ "frame": {
+ "x": 120,
+ "y": 0,
+ "w": 9,
+ "h": 9
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:86fbd1b45d46271597a7d9de482aaa74:df702dd9d88db50369f1a096f82fd915:05882267d3999884e0491134e98b1b53$"
+ }
+}
diff --git a/public/images/ui/text_images/pt-BR/battle_ui/pbinfo_stat_pt-BR.png b/public/images/ui/text_images/pt-BR/battle_ui/pbinfo_stat_pt-BR.png
new file mode 100644
index 00000000000..c20f4441983
Binary files /dev/null and b/public/images/ui/text_images/pt-BR/battle_ui/pbinfo_stat_pt-BR.png differ
diff --git a/public/images/ui/text_images/pt-BR/party_ui/party_slot_overlay_hp_pt-BR.png b/public/images/ui/text_images/pt-BR/party_ui/party_slot_overlay_hp_pt-BR.png
new file mode 100644
index 00000000000..4bc95e4f95e
Binary files /dev/null and b/public/images/ui/text_images/pt-BR/party_ui/party_slot_overlay_hp_pt-BR.png differ
diff --git a/public/images/ui/text_images/pt-BR/party_ui/party_slot_overlay_lv_pt-BR.png b/public/images/ui/text_images/pt-BR/party_ui/party_slot_overlay_lv_pt-BR.png
new file mode 100644
index 00000000000..c5971de4fd0
Binary files /dev/null and b/public/images/ui/text_images/pt-BR/party_ui/party_slot_overlay_lv_pt-BR.png differ
diff --git a/public/images/ui/text_images/ro/battle_ui/overlay_exp_label_ro.png b/public/images/ui/text_images/ro/battle_ui/overlay_exp_label_ro.png
new file mode 100644
index 00000000000..fde37213eff
Binary files /dev/null and b/public/images/ui/text_images/ro/battle_ui/overlay_exp_label_ro.png differ
diff --git a/public/images/ui/text_images/ro/battle_ui/overlay_hp_label_boss_ro.png b/public/images/ui/text_images/ro/battle_ui/overlay_hp_label_boss_ro.png
new file mode 100644
index 00000000000..0bcec679e05
Binary files /dev/null and b/public/images/ui/text_images/ro/battle_ui/overlay_hp_label_boss_ro.png differ
diff --git a/public/images/ui/text_images/ro/battle_ui/overlay_hp_label_ro.png b/public/images/ui/text_images/ro/battle_ui/overlay_hp_label_ro.png
new file mode 100644
index 00000000000..38a34761381
Binary files /dev/null and b/public/images/ui/text_images/ro/battle_ui/overlay_hp_label_ro.png differ
diff --git a/public/images/ui/text_images/ro/battle_ui/overlay_lv_ro.png b/public/images/ui/text_images/ro/battle_ui/overlay_lv_ro.png
new file mode 100644
index 00000000000..9ad4312d561
Binary files /dev/null and b/public/images/ui/text_images/ro/battle_ui/overlay_lv_ro.png differ
diff --git a/public/images/ui/text_images/ro/battle_ui/pbinfo_stat_ro.json b/public/images/ui/text_images/ro/battle_ui/pbinfo_stat_ro.json
new file mode 100644
index 00000000000..b5f74fdd7cc
--- /dev/null
+++ b/public/images/ui/text_images/ro/battle_ui/pbinfo_stat_ro.json
@@ -0,0 +1,209 @@
+{
+ "textures": [
+ {
+ "image": "pbinfo_stat_ro.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 120,
+ "h": 7
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "SPATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 19,
+ "h": 7
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 19,
+ "h": 7
+ }
+ },
+ {
+ "filename": "SPDEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 19,
+ "h": 7
+ },
+ "frame": {
+ "x": 19,
+ "y": 0,
+ "w": 19,
+ "h": 7
+ }
+ },
+ {
+ "filename": "CRIT",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 17,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 17,
+ "h": 7
+ },
+ "frame": {
+ "x": 38,
+ "y": 0,
+ "w": 17,
+ "h": 7
+ }
+ },
+ {
+ "filename": "ACC",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 7
+ },
+ "frame": {
+ "x": 55,
+ "y": 0,
+ "w": 13,
+ "h": 7
+ }
+ },
+ {
+ "filename": "ATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 7
+ },
+ "frame": {
+ "x": 68,
+ "y": 0,
+ "w": 13,
+ "h": 7
+ }
+ },
+ {
+ "filename": "DEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 7
+ },
+ "frame": {
+ "x": 81,
+ "y": 0,
+ "w": 13,
+ "h": 7
+ }
+ },
+ {
+ "filename": "EVA",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 7
+ },
+ "frame": {
+ "x": 94,
+ "y": 0,
+ "w": 13,
+ "h": 7
+ }
+ },
+ {
+ "filename": "SPD",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 7
+ },
+ "frame": {
+ "x": 107,
+ "y": 0,
+ "w": 13,
+ "h": 7
+ }
+ },
+ {
+ "filename": "HP",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 9,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 9,
+ "h": 7
+ },
+ "frame": {
+ "x": 120,
+ "y": 0,
+ "w": 9,
+ "h": 7
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:86fbd1b45d46271597a7d9de482aaa74:df702dd9d88db50369f1a096f82fd915:05882267d3999884e0491134e98b1b53$"
+ }
+}
diff --git a/public/images/ui/text_images/ro/battle_ui/pbinfo_stat_ro.png b/public/images/ui/text_images/ro/battle_ui/pbinfo_stat_ro.png
new file mode 100644
index 00000000000..9656c5f04b9
Binary files /dev/null and b/public/images/ui/text_images/ro/battle_ui/pbinfo_stat_ro.png differ
diff --git a/public/images/ui/text_images/ro/party_ui/party_slot_overlay_hp_ro.png b/public/images/ui/text_images/ro/party_ui/party_slot_overlay_hp_ro.png
new file mode 100644
index 00000000000..9be90b5c6bb
Binary files /dev/null and b/public/images/ui/text_images/ro/party_ui/party_slot_overlay_hp_ro.png differ
diff --git a/public/images/ui/text_images/ro/party_ui/party_slot_overlay_lv_ro.png b/public/images/ui/text_images/ro/party_ui/party_slot_overlay_lv_ro.png
new file mode 100644
index 00000000000..122d3f7151c
Binary files /dev/null and b/public/images/ui/text_images/ro/party_ui/party_slot_overlay_lv_ro.png differ
diff --git a/public/images/ui/text_images/ru/battle_ui/overlay_exp_label_ru.png b/public/images/ui/text_images/ru/battle_ui/overlay_exp_label_ru.png
new file mode 100644
index 00000000000..8342acb74fb
Binary files /dev/null and b/public/images/ui/text_images/ru/battle_ui/overlay_exp_label_ru.png differ
diff --git a/public/images/ui/text_images/ru/battle_ui/overlay_hp_label_boss_ru.png b/public/images/ui/text_images/ru/battle_ui/overlay_hp_label_boss_ru.png
new file mode 100644
index 00000000000..af85409a084
Binary files /dev/null and b/public/images/ui/text_images/ru/battle_ui/overlay_hp_label_boss_ru.png differ
diff --git a/public/images/ui/text_images/ru/battle_ui/overlay_hp_label_ru.png b/public/images/ui/text_images/ru/battle_ui/overlay_hp_label_ru.png
new file mode 100644
index 00000000000..b040247cd64
Binary files /dev/null and b/public/images/ui/text_images/ru/battle_ui/overlay_hp_label_ru.png differ
diff --git a/public/images/ui/text_images/ru/battle_ui/overlay_lv_ru.png b/public/images/ui/text_images/ru/battle_ui/overlay_lv_ru.png
new file mode 100644
index 00000000000..65ec593d656
Binary files /dev/null and b/public/images/ui/text_images/ru/battle_ui/overlay_lv_ru.png differ
diff --git a/public/images/ui/text_images/ru/battle_ui/pbinfo_stat_ru.json b/public/images/ui/text_images/ru/battle_ui/pbinfo_stat_ru.json
new file mode 100644
index 00000000000..61618578d25
--- /dev/null
+++ b/public/images/ui/text_images/ru/battle_ui/pbinfo_stat_ru.json
@@ -0,0 +1,209 @@
+{
+ "textures": [
+ {
+ "image": "pbinfo_stat_ru.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 120,
+ "h": 8
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "SPATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 19,
+ "h": 8
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 19,
+ "h": 8
+ }
+ },
+ {
+ "filename": "SPDEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 19,
+ "h": 8
+ },
+ "frame": {
+ "x": 19,
+ "y": 0,
+ "w": 19,
+ "h": 8
+ }
+ },
+ {
+ "filename": "CRIT",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 17,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 17,
+ "h": 8
+ },
+ "frame": {
+ "x": 38,
+ "y": 0,
+ "w": 17,
+ "h": 8
+ }
+ },
+ {
+ "filename": "ACC",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 8
+ },
+ "frame": {
+ "x": 55,
+ "y": 0,
+ "w": 13,
+ "h": 8
+ }
+ },
+ {
+ "filename": "ATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 8
+ },
+ "frame": {
+ "x": 68,
+ "y": 0,
+ "w": 13,
+ "h": 8
+ }
+ },
+ {
+ "filename": "DEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 8
+ },
+ "frame": {
+ "x": 81,
+ "y": 0,
+ "w": 13,
+ "h": 8
+ }
+ },
+ {
+ "filename": "EVA",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 8
+ },
+ "frame": {
+ "x": 94,
+ "y": 0,
+ "w": 13,
+ "h": 8
+ }
+ },
+ {
+ "filename": "SPD",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 8
+ },
+ "frame": {
+ "x": 107,
+ "y": 0,
+ "w": 13,
+ "h": 8
+ }
+ },
+ {
+ "filename": "HP",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 9,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 9,
+ "h": 8
+ },
+ "frame": {
+ "x": 120,
+ "y": 0,
+ "w": 9,
+ "h": 8
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:86fbd1b45d46271597a7d9de482aaa74:df702dd9d88db50369f1a096f82fd915:05882267d3999884e0491134e98b1b53$"
+ }
+}
diff --git a/public/images/ui/text_images/ru/battle_ui/pbinfo_stat_ru.png b/public/images/ui/text_images/ru/battle_ui/pbinfo_stat_ru.png
new file mode 100644
index 00000000000..9688d78d425
Binary files /dev/null and b/public/images/ui/text_images/ru/battle_ui/pbinfo_stat_ru.png differ
diff --git a/public/images/ui/text_images/ru/party_ui/party_slot_overlay_hp_ru.png b/public/images/ui/text_images/ru/party_ui/party_slot_overlay_hp_ru.png
new file mode 100644
index 00000000000..5d9e62ac79a
Binary files /dev/null and b/public/images/ui/text_images/ru/party_ui/party_slot_overlay_hp_ru.png differ
diff --git a/public/images/ui/text_images/ru/party_ui/party_slot_overlay_lv_ru.png b/public/images/ui/text_images/ru/party_ui/party_slot_overlay_lv_ru.png
new file mode 100644
index 00000000000..65ec593d656
Binary files /dev/null and b/public/images/ui/text_images/ru/party_ui/party_slot_overlay_lv_ru.png differ
diff --git a/public/images/ui/text_images/tl/battle_ui/overlay_exp_label_tl.png b/public/images/ui/text_images/tl/battle_ui/overlay_exp_label_tl.png
new file mode 100644
index 00000000000..fde37213eff
Binary files /dev/null and b/public/images/ui/text_images/tl/battle_ui/overlay_exp_label_tl.png differ
diff --git a/public/images/ui/text_images/tl/battle_ui/overlay_hp_label_boss_tl.png b/public/images/ui/text_images/tl/battle_ui/overlay_hp_label_boss_tl.png
new file mode 100644
index 00000000000..0bcec679e05
Binary files /dev/null and b/public/images/ui/text_images/tl/battle_ui/overlay_hp_label_boss_tl.png differ
diff --git a/public/images/ui/text_images/tl/battle_ui/overlay_hp_label_tl.png b/public/images/ui/text_images/tl/battle_ui/overlay_hp_label_tl.png
new file mode 100644
index 00000000000..38a34761381
Binary files /dev/null and b/public/images/ui/text_images/tl/battle_ui/overlay_hp_label_tl.png differ
diff --git a/public/images/ui/text_images/tl/battle_ui/overlay_lv_tl.png b/public/images/ui/text_images/tl/battle_ui/overlay_lv_tl.png
new file mode 100644
index 00000000000..9ad4312d561
Binary files /dev/null and b/public/images/ui/text_images/tl/battle_ui/overlay_lv_tl.png differ
diff --git a/public/images/ui/text_images/tl/battle_ui/pbinfo_stat_tl.json b/public/images/ui/text_images/tl/battle_ui/pbinfo_stat_tl.json
new file mode 100644
index 00000000000..d2277c79f24
--- /dev/null
+++ b/public/images/ui/text_images/tl/battle_ui/pbinfo_stat_tl.json
@@ -0,0 +1,209 @@
+{
+ "textures": [
+ {
+ "image": "pbinfo_stat_tl.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 120,
+ "h": 7
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "SPATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 19,
+ "h": 7
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 19,
+ "h": 7
+ }
+ },
+ {
+ "filename": "SPDEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 19,
+ "h": 7
+ },
+ "frame": {
+ "x": 19,
+ "y": 0,
+ "w": 19,
+ "h": 7
+ }
+ },
+ {
+ "filename": "CRIT",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 17,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 17,
+ "h": 7
+ },
+ "frame": {
+ "x": 38,
+ "y": 0,
+ "w": 17,
+ "h": 7
+ }
+ },
+ {
+ "filename": "ACC",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 7
+ },
+ "frame": {
+ "x": 55,
+ "y": 0,
+ "w": 13,
+ "h": 7
+ }
+ },
+ {
+ "filename": "ATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 7
+ },
+ "frame": {
+ "x": 68,
+ "y": 0,
+ "w": 13,
+ "h": 7
+ }
+ },
+ {
+ "filename": "DEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 7
+ },
+ "frame": {
+ "x": 81,
+ "y": 0,
+ "w": 13,
+ "h": 7
+ }
+ },
+ {
+ "filename": "EVA",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 7
+ },
+ "frame": {
+ "x": 94,
+ "y": 0,
+ "w": 13,
+ "h": 7
+ }
+ },
+ {
+ "filename": "SPD",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 7
+ },
+ "frame": {
+ "x": 107,
+ "y": 0,
+ "w": 13,
+ "h": 7
+ }
+ },
+ {
+ "filename": "HP",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 9,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 9,
+ "h": 7
+ },
+ "frame": {
+ "x": 120,
+ "y": 0,
+ "w": 9,
+ "h": 7
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:86fbd1b45d46271597a7d9de482aaa74:df702dd9d88db50369f1a096f82fd915:05882267d3999884e0491134e98b1b53$"
+ }
+}
diff --git a/public/images/ui/text_images/tl/battle_ui/pbinfo_stat_tl.png b/public/images/ui/text_images/tl/battle_ui/pbinfo_stat_tl.png
new file mode 100644
index 00000000000..9656c5f04b9
Binary files /dev/null and b/public/images/ui/text_images/tl/battle_ui/pbinfo_stat_tl.png differ
diff --git a/public/images/ui/text_images/tl/party_ui/party_slot_overlay_hp_tl.png b/public/images/ui/text_images/tl/party_ui/party_slot_overlay_hp_tl.png
new file mode 100644
index 00000000000..9be90b5c6bb
Binary files /dev/null and b/public/images/ui/text_images/tl/party_ui/party_slot_overlay_hp_tl.png differ
diff --git a/public/images/ui/text_images/tl/party_ui/party_slot_overlay_lv_tl.png b/public/images/ui/text_images/tl/party_ui/party_slot_overlay_lv_tl.png
new file mode 100644
index 00000000000..122d3f7151c
Binary files /dev/null and b/public/images/ui/text_images/tl/party_ui/party_slot_overlay_lv_tl.png differ
diff --git a/public/images/ui/text_images/tr/battle_ui/overlay_exp_label_tr.png b/public/images/ui/text_images/tr/battle_ui/overlay_exp_label_tr.png
new file mode 100644
index 00000000000..0920a95fba2
Binary files /dev/null and b/public/images/ui/text_images/tr/battle_ui/overlay_exp_label_tr.png differ
diff --git a/public/images/ui/text_images/tr/battle_ui/overlay_hp_label_boss_tr.png b/public/images/ui/text_images/tr/battle_ui/overlay_hp_label_boss_tr.png
new file mode 100644
index 00000000000..0bcec679e05
Binary files /dev/null and b/public/images/ui/text_images/tr/battle_ui/overlay_hp_label_boss_tr.png differ
diff --git a/public/images/ui/text_images/tr/battle_ui/overlay_hp_label_tr.png b/public/images/ui/text_images/tr/battle_ui/overlay_hp_label_tr.png
new file mode 100644
index 00000000000..e28aceaf0fa
Binary files /dev/null and b/public/images/ui/text_images/tr/battle_ui/overlay_hp_label_tr.png differ
diff --git a/public/images/ui/text_images/tr/battle_ui/overlay_lv_tr.png b/public/images/ui/text_images/tr/battle_ui/overlay_lv_tr.png
new file mode 100644
index 00000000000..5140444ec15
Binary files /dev/null and b/public/images/ui/text_images/tr/battle_ui/overlay_lv_tr.png differ
diff --git a/public/images/ui/text_images/tr/battle_ui/pbinfo_stat_tr.json b/public/images/ui/text_images/tr/battle_ui/pbinfo_stat_tr.json
new file mode 100644
index 00000000000..c3ccb4a5391
--- /dev/null
+++ b/public/images/ui/text_images/tr/battle_ui/pbinfo_stat_tr.json
@@ -0,0 +1,209 @@
+{
+ "textures": [
+ {
+ "image": "pbinfo_stat_tr.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 120,
+ "h": 7
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "SPATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 19,
+ "h": 7
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 19,
+ "h": 7
+ }
+ },
+ {
+ "filename": "SPDEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 19,
+ "h": 7
+ },
+ "frame": {
+ "x": 19,
+ "y": 0,
+ "w": 19,
+ "h": 7
+ }
+ },
+ {
+ "filename": "CRIT",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 17,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 17,
+ "h": 7
+ },
+ "frame": {
+ "x": 38,
+ "y": 0,
+ "w": 17,
+ "h": 7
+ }
+ },
+ {
+ "filename": "ACC",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 7
+ },
+ "frame": {
+ "x": 55,
+ "y": 0,
+ "w": 13,
+ "h": 7
+ }
+ },
+ {
+ "filename": "ATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 7
+ },
+ "frame": {
+ "x": 68,
+ "y": 0,
+ "w": 13,
+ "h": 7
+ }
+ },
+ {
+ "filename": "DEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 7
+ },
+ "frame": {
+ "x": 81,
+ "y": 0,
+ "w": 13,
+ "h": 7
+ }
+ },
+ {
+ "filename": "EVA",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 7
+ },
+ "frame": {
+ "x": 94,
+ "y": 0,
+ "w": 13,
+ "h": 7
+ }
+ },
+ {
+ "filename": "SPD",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 7
+ },
+ "frame": {
+ "x": 107,
+ "y": 0,
+ "w": 13,
+ "h": 7
+ }
+ },
+ {
+ "filename": "HP",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 9,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 9,
+ "h": 7
+ },
+ "frame": {
+ "x": 120,
+ "y": 0,
+ "w": 9,
+ "h": 7
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:86fbd1b45d46271597a7d9de482aaa74:df702dd9d88db50369f1a096f82fd915:05882267d3999884e0491134e98b1b53$"
+ }
+}
diff --git a/public/images/ui/text_images/tr/battle_ui/pbinfo_stat_tr.png b/public/images/ui/text_images/tr/battle_ui/pbinfo_stat_tr.png
new file mode 100644
index 00000000000..9656c5f04b9
Binary files /dev/null and b/public/images/ui/text_images/tr/battle_ui/pbinfo_stat_tr.png differ
diff --git a/public/images/ui/text_images/tr/party_ui/party_slot_overlay_hp_tr.png b/public/images/ui/text_images/tr/party_ui/party_slot_overlay_hp_tr.png
new file mode 100644
index 00000000000..bb0017bcb58
Binary files /dev/null and b/public/images/ui/text_images/tr/party_ui/party_slot_overlay_hp_tr.png differ
diff --git a/public/images/ui/text_images/tr/party_ui/party_slot_overlay_lv_tr.png b/public/images/ui/text_images/tr/party_ui/party_slot_overlay_lv_tr.png
new file mode 100644
index 00000000000..12782430b9e
Binary files /dev/null and b/public/images/ui/text_images/tr/party_ui/party_slot_overlay_lv_tr.png differ
diff --git a/public/images/ui/text_images/zh-CN/battle_ui/overlay_exp_label_zh-CN.png b/public/images/ui/text_images/zh-CN/battle_ui/overlay_exp_label_zh-CN.png
new file mode 100644
index 00000000000..fde37213eff
Binary files /dev/null and b/public/images/ui/text_images/zh-CN/battle_ui/overlay_exp_label_zh-CN.png differ
diff --git a/public/images/ui/text_images/zh-CN/battle_ui/overlay_hp_label_boss_zh-CN.png b/public/images/ui/text_images/zh-CN/battle_ui/overlay_hp_label_boss_zh-CN.png
new file mode 100644
index 00000000000..0bcec679e05
Binary files /dev/null and b/public/images/ui/text_images/zh-CN/battle_ui/overlay_hp_label_boss_zh-CN.png differ
diff --git a/public/images/ui/text_images/zh-CN/battle_ui/overlay_hp_label_zh-CN.png b/public/images/ui/text_images/zh-CN/battle_ui/overlay_hp_label_zh-CN.png
new file mode 100644
index 00000000000..38a34761381
Binary files /dev/null and b/public/images/ui/text_images/zh-CN/battle_ui/overlay_hp_label_zh-CN.png differ
diff --git a/public/images/ui/text_images/zh-CN/battle_ui/overlay_lv_zh-CN.png b/public/images/ui/text_images/zh-CN/battle_ui/overlay_lv_zh-CN.png
new file mode 100644
index 00000000000..9ad4312d561
Binary files /dev/null and b/public/images/ui/text_images/zh-CN/battle_ui/overlay_lv_zh-CN.png differ
diff --git a/public/images/ui/text_images/zh-CN/battle_ui/pbinfo_stat_zh-CN.json b/public/images/ui/text_images/zh-CN/battle_ui/pbinfo_stat_zh-CN.json
new file mode 100644
index 00000000000..22a1da0b536
--- /dev/null
+++ b/public/images/ui/text_images/zh-CN/battle_ui/pbinfo_stat_zh-CN.json
@@ -0,0 +1,209 @@
+{
+ "textures": [
+ {
+ "image": "pbinfo_stat_zh-CN.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 120,
+ "h": 7
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "SPATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 19,
+ "h": 7
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 19,
+ "h": 7
+ }
+ },
+ {
+ "filename": "SPDEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 19,
+ "h": 7
+ },
+ "frame": {
+ "x": 19,
+ "y": 0,
+ "w": 19,
+ "h": 7
+ }
+ },
+ {
+ "filename": "CRIT",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 17,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 17,
+ "h": 7
+ },
+ "frame": {
+ "x": 38,
+ "y": 0,
+ "w": 17,
+ "h": 7
+ }
+ },
+ {
+ "filename": "ACC",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 7
+ },
+ "frame": {
+ "x": 55,
+ "y": 0,
+ "w": 13,
+ "h": 7
+ }
+ },
+ {
+ "filename": "ATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 7
+ },
+ "frame": {
+ "x": 68,
+ "y": 0,
+ "w": 13,
+ "h": 7
+ }
+ },
+ {
+ "filename": "DEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 7
+ },
+ "frame": {
+ "x": 81,
+ "y": 0,
+ "w": 13,
+ "h": 7
+ }
+ },
+ {
+ "filename": "EVA",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 7
+ },
+ "frame": {
+ "x": 94,
+ "y": 0,
+ "w": 13,
+ "h": 7
+ }
+ },
+ {
+ "filename": "SPD",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 7
+ },
+ "frame": {
+ "x": 107,
+ "y": 0,
+ "w": 13,
+ "h": 7
+ }
+ },
+ {
+ "filename": "HP",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 9,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 9,
+ "h": 7
+ },
+ "frame": {
+ "x": 120,
+ "y": 0,
+ "w": 9,
+ "h": 7
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:86fbd1b45d46271597a7d9de482aaa74:df702dd9d88db50369f1a096f82fd915:05882267d3999884e0491134e98b1b53$"
+ }
+}
diff --git a/public/images/ui/text_images/zh-CN/battle_ui/pbinfo_stat_zh-CN.png b/public/images/ui/text_images/zh-CN/battle_ui/pbinfo_stat_zh-CN.png
new file mode 100644
index 00000000000..9656c5f04b9
Binary files /dev/null and b/public/images/ui/text_images/zh-CN/battle_ui/pbinfo_stat_zh-CN.png differ
diff --git a/public/images/ui/text_images/zh-CN/party_ui/party_slot_overlay_hp_zh-CN.png b/public/images/ui/text_images/zh-CN/party_ui/party_slot_overlay_hp_zh-CN.png
new file mode 100644
index 00000000000..9be90b5c6bb
Binary files /dev/null and b/public/images/ui/text_images/zh-CN/party_ui/party_slot_overlay_hp_zh-CN.png differ
diff --git a/public/images/ui/text_images/zh-CN/party_ui/party_slot_overlay_lv_zh-CN.png b/public/images/ui/text_images/zh-CN/party_ui/party_slot_overlay_lv_zh-CN.png
new file mode 100644
index 00000000000..122d3f7151c
Binary files /dev/null and b/public/images/ui/text_images/zh-CN/party_ui/party_slot_overlay_lv_zh-CN.png differ
diff --git a/public/images/ui/text_images/zh-TW/battle_ui/overlay_exp_label_zh-TW.png b/public/images/ui/text_images/zh-TW/battle_ui/overlay_exp_label_zh-TW.png
new file mode 100644
index 00000000000..fde37213eff
Binary files /dev/null and b/public/images/ui/text_images/zh-TW/battle_ui/overlay_exp_label_zh-TW.png differ
diff --git a/public/images/ui/text_images/zh-TW/battle_ui/overlay_hp_label_boss_zh-TW.png b/public/images/ui/text_images/zh-TW/battle_ui/overlay_hp_label_boss_zh-TW.png
new file mode 100644
index 00000000000..0bcec679e05
Binary files /dev/null and b/public/images/ui/text_images/zh-TW/battle_ui/overlay_hp_label_boss_zh-TW.png differ
diff --git a/public/images/ui/text_images/zh-TW/battle_ui/overlay_hp_label_zh-TW.png b/public/images/ui/text_images/zh-TW/battle_ui/overlay_hp_label_zh-TW.png
new file mode 100644
index 00000000000..38a34761381
Binary files /dev/null and b/public/images/ui/text_images/zh-TW/battle_ui/overlay_hp_label_zh-TW.png differ
diff --git a/public/images/ui/text_images/zh-TW/battle_ui/overlay_lv_zh-TW.png b/public/images/ui/text_images/zh-TW/battle_ui/overlay_lv_zh-TW.png
new file mode 100644
index 00000000000..9ad4312d561
Binary files /dev/null and b/public/images/ui/text_images/zh-TW/battle_ui/overlay_lv_zh-TW.png differ
diff --git a/public/images/ui/text_images/zh-TW/battle_ui/pbinfo_stat_zh-TW.json b/public/images/ui/text_images/zh-TW/battle_ui/pbinfo_stat_zh-TW.json
new file mode 100644
index 00000000000..26c01d8bcc2
--- /dev/null
+++ b/public/images/ui/text_images/zh-TW/battle_ui/pbinfo_stat_zh-TW.json
@@ -0,0 +1,209 @@
+{
+ "textures": [
+ {
+ "image": "pbinfo_stat_zh-TW.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 120,
+ "h": 7
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "SPATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 19,
+ "h": 7
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 19,
+ "h": 7
+ }
+ },
+ {
+ "filename": "SPDEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 19,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 19,
+ "h": 7
+ },
+ "frame": {
+ "x": 19,
+ "y": 0,
+ "w": 19,
+ "h": 7
+ }
+ },
+ {
+ "filename": "CRIT",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 17,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 17,
+ "h": 7
+ },
+ "frame": {
+ "x": 38,
+ "y": 0,
+ "w": 17,
+ "h": 7
+ }
+ },
+ {
+ "filename": "ACC",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 7
+ },
+ "frame": {
+ "x": 55,
+ "y": 0,
+ "w": 13,
+ "h": 7
+ }
+ },
+ {
+ "filename": "ATK",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 7
+ },
+ "frame": {
+ "x": 68,
+ "y": 0,
+ "w": 13,
+ "h": 7
+ }
+ },
+ {
+ "filename": "DEF",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 7
+ },
+ "frame": {
+ "x": 81,
+ "y": 0,
+ "w": 13,
+ "h": 7
+ }
+ },
+ {
+ "filename": "EVA",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 7
+ },
+ "frame": {
+ "x": 94,
+ "y": 0,
+ "w": 13,
+ "h": 7
+ }
+ },
+ {
+ "filename": "SPD",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 13,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 13,
+ "h": 7
+ },
+ "frame": {
+ "x": 107,
+ "y": 0,
+ "w": 13,
+ "h": 7
+ }
+ },
+ {
+ "filename": "HP",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 9,
+ "h": 8
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 9,
+ "h": 7
+ },
+ "frame": {
+ "x": 120,
+ "y": 0,
+ "w": 9,
+ "h": 7
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:86fbd1b45d46271597a7d9de482aaa74:df702dd9d88db50369f1a096f82fd915:05882267d3999884e0491134e98b1b53$"
+ }
+}
diff --git a/public/images/ui/text_images/zh-TW/battle_ui/pbinfo_stat_zh-TW.png b/public/images/ui/text_images/zh-TW/battle_ui/pbinfo_stat_zh-TW.png
new file mode 100644
index 00000000000..9656c5f04b9
Binary files /dev/null and b/public/images/ui/text_images/zh-TW/battle_ui/pbinfo_stat_zh-TW.png differ
diff --git a/public/images/ui/text_images/zh-TW/party_ui/party_slot_overlay_hp_zh-TW.png b/public/images/ui/text_images/zh-TW/party_ui/party_slot_overlay_hp_zh-TW.png
new file mode 100644
index 00000000000..9be90b5c6bb
Binary files /dev/null and b/public/images/ui/text_images/zh-TW/party_ui/party_slot_overlay_hp_zh-TW.png differ
diff --git a/public/images/ui/text_images/zh-TW/party_ui/party_slot_overlay_lv_zh-TW.png b/public/images/ui/text_images/zh-TW/party_ui/party_slot_overlay_lv_zh-TW.png
new file mode 100644
index 00000000000..122d3f7151c
Binary files /dev/null and b/public/images/ui/text_images/zh-TW/party_ui/party_slot_overlay_lv_zh-TW.png differ
diff --git a/public/locales b/public/locales
index 2686cd3edc0..090bfefaf7e 160000
--- a/public/locales
+++ b/public/locales
@@ -1 +1 @@
-Subproject commit 2686cd3edc0bd2c7a7f12cc54c00c109e51a48d7
+Subproject commit 090bfefaf7e9d4efcbca61fa78a9cdf5d701830b
diff --git a/scripts/create-test/create-test.js b/scripts/create-test/create-test.js
index 765993959d1..5e395783da7 100644
--- a/scripts/create-test/create-test.js
+++ b/scripts/create-test/create-test.js
@@ -156,7 +156,7 @@ async function runInteractive() {
console.log(chalk.green.bold(`✔ File created at: test/${localDir}/${fileName}.test.ts\n`));
console.groupEnd();
} catch (err) {
- console.error(chalk.red("✗ Error: ", err.message));
+ console.error(chalk.red("✗ Error: ", err));
}
}
diff --git a/scripts/decrypt-save.js b/scripts/decrypt-save.js
index e50f152f159..26b0a311378 100644
--- a/scripts/decrypt-save.js
+++ b/scripts/decrypt-save.js
@@ -1,7 +1,6 @@
// Usage: node decrypt-save.js [save-file]
-// biome-ignore lint/performance/noNamespaceImport: This is how you import fs from node
-import * as fs from "node:fs";
+import fs from "node:fs";
import crypto_js from "crypto-js";
const { AES, enc } = crypto_js;
@@ -60,6 +59,11 @@ function decryptSave(path) {
try {
fileData = fs.readFileSync(path, "utf8");
} catch (e) {
+ if (!(e instanceof Error)) {
+ console.error(`Unrecognized error: ${e}`);
+ process.exit(1);
+ }
+ // @ts-expect-error - e is usually a SystemError (all of which have codes)
switch (e.code) {
case "ENOENT":
console.error(`File not found: ${path}`);
@@ -104,6 +108,13 @@ function writeToFile(filePath, data) {
try {
fs.writeFileSync(filePath, data);
} catch (e) {
+ if (!(e instanceof Error)) {
+ console.error("Unknown error detected: ", e);
+ process.exitCode = 1;
+ return;
+ }
+
+ // @ts-expect-error - e is usually a SystemError (all of which have codes)
switch (e.code) {
case "EACCES":
console.error(`Could not open ${filePath}: Permission denied`);
@@ -114,7 +125,8 @@ function writeToFile(filePath, data) {
default:
console.error(`Error writing file: ${e.message}`);
}
- process.exit(1);
+ process.exitCode = 1;
+ return;
}
}
diff --git a/scripts/jsconfig.json b/scripts/jsconfig.json
new file mode 100644
index 00000000000..aed71f4f576
--- /dev/null
+++ b/scripts/jsconfig.json
@@ -0,0 +1,17 @@
+{
+ "include": ["**/*.js"],
+ "compilerOptions": {
+ "allowJs": true,
+ "checkJs": true,
+ "rootDir": ".",
+ "target": "esnext",
+ "module": "nodenext",
+ "moduleResolution": "nodenext",
+ "erasableSyntaxOnly": true,
+ "strict": true,
+ "noEmit": true,
+ // Forcibly disable `node_modules` recursion to prevent TSC from typechecking random JS files.
+ // This is disabled by default in `tsconfig.json`, but needs to be explicitly disabled from the default of `2`
+ "maxNodeModuleJsDepth": 0
+ }
+}
diff --git a/scripts/parse-egg-moves/egg-move-template.boilerplate.ts b/scripts/parse-egg-moves/egg-move-template.boilerplate.ts
new file mode 100644
index 00000000000..bfac05f4bde
--- /dev/null
+++ b/scripts/parse-egg-moves/egg-move-template.boilerplate.ts
@@ -0,0 +1,10 @@
+//! DO NOT EDIT THIS FILE - CREATED BY THE `eggMoves:parse` script automatically
+import { MoveId } from "#enums/move-id";
+import { SpeciesId } from "#enums/species-id";
+
+/**
+ * An object mapping all base form {@linkcode SpeciesId}s to an array of {@linkcode MoveId}s corresponding
+ * to their current egg moves.
+ * Generated by the `eggMoves:parse` script using a CSV sourced from the current Balance Team spreadsheet.
+ */
+export const speciesEggMoves = "{{table}}";
diff --git a/scripts/parse-egg-moves/help-message.js b/scripts/parse-egg-moves/help-message.js
new file mode 100644
index 00000000000..397a28e5011
--- /dev/null
+++ b/scripts/parse-egg-moves/help-message.js
@@ -0,0 +1,17 @@
+import chalk from "chalk";
+
+/** Show help/usage text for the `eggMoves:parse` CLI. */
+export function showHelpText() {
+ console.log(`
+Usage: ${chalk.cyan("pnpm eggMoves:parse [options]")}
+If given no options, assumes ${chalk.blue("\`--interactive\`")}.
+If given only a file path, assumes ${chalk.blue("\`--file\`")}.
+
+${chalk.hex("#ffa500")("Options:")}
+ ${chalk.blue("-h, --help")} Show this help message.
+ ${chalk.blue("-f, --file[=PATH]")} Specify a path to a CSV file to read, or provide one from stdin.
+ ${chalk.blue("-t, --text[=TEXT]")}
+ ${chalk.blue("-c, --console[=TEXT]")} Specify CSV text to read, or provide it from stdin.
+ ${chalk.blue("-i, --interactive")} Run in interactive mode (default)
+`);
+}
diff --git a/scripts/parse-egg-moves/interactive.js b/scripts/parse-egg-moves/interactive.js
new file mode 100644
index 00000000000..68ee41e7900
--- /dev/null
+++ b/scripts/parse-egg-moves/interactive.js
@@ -0,0 +1,108 @@
+import fs from "fs";
+import chalk from "chalk";
+import inquirer from "inquirer";
+import { showHelpText } from "./help-message.js";
+
+/**
+ * @import { Option } from "./main.js"
+ */
+
+/**
+ * Prompt the user to interactively select an option (console/file) to retrieve the egg move CSV.
+ * @returns {Promise