diff --git a/.github/workflows/github-pages.yml b/.github/workflows/github-pages.yml index b7b1aad5ae7..6e056bc4032 100644 --- a/.github/workflows/github-pages.yml +++ b/.github/workflows/github-pages.yml @@ -77,9 +77,7 @@ jobs: 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 -m "[skip ci] Deploy docs" git push diff --git a/README.md b/README.md index cf70b5d9335..73477968bc0 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ -PokéRogue +
PokéRogue -![Discord Static Badge](https://img.shields.io/badge/Community_Discord-blurple?style=flat&logo=discord&logoSize=auto&labelColor=white&color=5865F2&link=https://discord.gg/pokerogue) +[![Discord Static Badge](https://img.shields.io/badge/Community_Discord-blurple?style=flat&logo=discord&logoSize=auto&labelColor=white&color=5865F2)](https://discord.gg/pokerogue) [![Docs Coverage Static Badge](https://pagefaultgames.github.io/pokerogue/beta/coverage.svg)](https://pagefaultgames.github.io/pokerogue/beta) [![Testing Badge](https://github.com/pagefaultgames/pokerogue/actions/workflows/tests.yml/badge.svg)](https://github.com/pagefaultgames/pokerogue/actions/workflows/tests.yml) -[![License: GNU AGPL v3](https://img.shields.io/badge/License-AGPL_v3-blue.svg)](https://www.gnu.org/licenses/agpl-3.0) +[![License: GNU AGPL v3](https://img.shields.io/badge/License-AGPL_v3-blue.svg)](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! diff --git a/package.json b/package.json index 0620cf6a88c..f6097b8ccb9 100644 --- a/package.json +++ b/package.json @@ -34,6 +34,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", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 089689818ac..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 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..102cbdcd924 160000 --- a/public/locales +++ b/public/locales @@ -1 +1 @@ -Subproject commit 2686cd3edc0bd2c7a7f12cc54c00c109e51a48d7 +Subproject commit 102cbdcd924e2a7cdc7eab64d1ce79f6ec7604ff diff --git a/src/constants/colors.ts b/src/constants/colors.ts new file mode 100644 index 00000000000..e4d740addff --- /dev/null +++ b/src/constants/colors.ts @@ -0,0 +1,23 @@ +/** + * @module + * A big file storing colors used in logging. + * Minified by Terser during production builds, so has no overhead. + */ + +// Colors used in prod +export const PHASE_START_COLOR = "green" as const; +export const MOVE_COLOR = "RebeccaPurple" as const; + +// Colors used for testing code +export const NEW_TURN_COLOR = "#ffad00ff" as const; +export const UI_MSG_COLOR = "#009dffff" as const; +export const OVERRIDES_COLOR = "#b0b01eff" as const; +export const SETTINGS_COLOR = "#008844ff" as const; + +// Colors used for Vitest-related test utils +export const TEST_NAME_COLOR = "#008886ff" as const; +export const VITEST_PINK_COLOR = "#c162de" as const; + +// Mock console log stuff +export const TRACE_COLOR = "#b700ff" as const; +export const DEBUG_COLOR = "#874600ff" as const; diff --git a/src/data/abilities/ability.ts b/src/data/abilities/ability.ts index 66d00d950d2..adcf93f7adf 100644 --- a/src/data/abilities/ability.ts +++ b/src/data/abilities/ability.ts @@ -4813,7 +4813,7 @@ export class MoodyAbAttr extends PostTurnAbAttr { if (!simulated) { if (canRaise.length > 0) { const raisedStat = canRaise[pokemon.randBattleSeedInt(canRaise.length)]; - canLower = canRaise.filter(s => s !== raisedStat); + canLower = canLower.filter(s => s !== raisedStat); globalScene.phaseManager.unshiftNew("StatStageChangePhase", pokemon.getBattlerIndex(), true, [raisedStat], 2); } if (canLower.length > 0) { diff --git a/src/loading-scene.ts b/src/loading-scene.ts index e1b658f578a..232c2abca29 100644 --- a/src/loading-scene.ts +++ b/src/loading-scene.ts @@ -60,9 +60,7 @@ export class LoadingScene extends SceneBase { this.loadAtlas("pbinfo_enemy_type", "ui"); this.loadAtlas("pbinfo_enemy_type1", "ui"); this.loadAtlas("pbinfo_enemy_type2", "ui"); - this.loadAtlas("pbinfo_stat", "ui"); this.loadAtlas("pbinfo_stat_numbers", "ui"); - this.loadImage("overlay_lv", "ui"); this.loadAtlas("numbers", "ui"); this.loadAtlas("numbers_red", "ui"); this.loadAtlas("overlay_hp", "ui"); @@ -125,7 +123,6 @@ export class LoadingScene extends SceneBase { this.loadAtlas("party_slot_main", "ui"); this.loadAtlas("party_slot_main_short", "ui"); this.loadAtlas("party_slot", "ui"); - this.loadImage("party_slot_overlay_lv", "ui"); this.loadImage("party_slot_hp_bar", "ui"); this.loadAtlas("party_slot_hp_overlay", "ui"); this.loadAtlas("party_pb", "ui"); @@ -309,6 +306,34 @@ export class LoadingScene extends SceneBase { `text_images/${lang}/summary/summary_moves_effect_title${keySuffix}.png`, ); // Pixel text 'EFFECT' + this.loadAtlas(`pbinfo_stat${keySuffix}`, "ui", `text_images/${lang}/battle_ui/pbinfo_stat${keySuffix}`); // Pixel text for in-battle stats info tab + this.loadImage(`overlay_lv${keySuffix}`, "ui", `text_images/${lang}/battle_ui/overlay_lv${keySuffix}.png`); // Pixel text in-battle 'Lv.' + this.loadImage( + `overlay_hp_label${keySuffix}`, + "ui", + `text_images/${lang}/battle_ui/overlay_hp_label${keySuffix}.png`, + ); // Pixel text in-battle 'HP' + this.loadImage( + `overlay_hp_label_boss${keySuffix}`, + "ui", + `text_images/${lang}/battle_ui/overlay_hp_label_boss${keySuffix}.png`, + ); // Pixel text in-battle 'BOSS' + this.loadImage( + `overlay_exp_label${keySuffix}`, + "ui", + `text_images/${lang}/battle_ui/overlay_exp_label${keySuffix}.png`, + ); // Pixel text in-battle 'EXP' + this.loadImage( + `party_slot_overlay_lv${keySuffix}`, + "ui", + `text_images/${lang}/party_ui/party_slot_overlay_lv${keySuffix}.png`, + ); // Pixel text party 'Lv.' + this.loadImage( + `party_slot_overlay_hp${keySuffix}`, + "ui", + `text_images/${lang}/party_ui/party_slot_overlay_hp${keySuffix}.png`, + ); // Pixel text party 'HP' + if (timedEventManager.activeEventHasBanner()) { const availableLangs = timedEventManager.getEventBannerLangs(); if (lang && availableLangs.includes(lang)) { diff --git a/src/phase-manager.ts b/src/phase-manager.ts index 281ac8bd671..68b7d74293b 100644 --- a/src/phase-manager.ts +++ b/src/phase-manager.ts @@ -392,7 +392,7 @@ export class PhaseManager { * Helper method to start and log the current phase. */ private startCurrentPhase(): void { - console.log(`%cStart Phase ${this.currentPhase.phaseName}`, "color:green;"); + console.log(`%cStart Phase ${this.currentPhase.phaseName}`, "color:${PHASE_START_COLOR};"); this.currentPhase.start(); } diff --git a/src/phases/move-phase.ts b/src/phases/move-phase.ts index 9a8e509e302..6587597a0d9 100644 --- a/src/phases/move-phase.ts +++ b/src/phases/move-phase.ts @@ -1,4 +1,5 @@ import { applyAbAttrs } from "#abilities/apply-ab-attrs"; +import { MOVE_COLOR } from "#app/constants/colors"; import { globalScene } from "#app/global-scene"; import { getPokemonNameWithAffix } from "#app/messages"; import Overrides from "#app/overrides"; @@ -118,7 +119,10 @@ export class MovePhase extends BattlePhase { public start(): void { super.start(); - console.log(MoveId[this.move.moveId], enumValueToKey(MoveUseMode, this.useMode)); + console.log( + `%cMove: ${MoveId[this.move.moveId]}\nUse Mode: ${enumValueToKey(MoveUseMode, this.useMode)}`, + `color:${MOVE_COLOR}`, + ); // Check if move is unusable (e.g. running out of PP due to a mid-turn Spite // or the user no longer being on field), ending the phase early if not. diff --git a/src/ui/battle-info/battle-info.ts b/src/ui/battle-info/battle-info.ts index 4d2cf597ed2..2a502148bc5 100644 --- a/src/ui/battle-info/battle-info.ts +++ b/src/ui/battle-info/battle-info.ts @@ -72,6 +72,7 @@ export abstract class BattleInfo extends Phaser.GameObjects.Container { protected splicedIcon: Phaser.GameObjects.Sprite; protected statusIndicator: Phaser.GameObjects.Sprite; protected levelContainer: Phaser.GameObjects.Container; + protected hpLabel: Phaser.GameObjects.Image; protected hpBar: Phaser.GameObjects.Image; protected levelNumbersContainer: Phaser.GameObjects.Container; protected type1Icon: Phaser.GameObjects.Sprite; @@ -178,7 +179,7 @@ export abstract class BattleInfo extends Phaser.GameObjects.Container { } const statLabel = globalScene.add - .sprite(statX, statY, "pbinfo_stat", Stat[s]) + .sprite(statX, statY, getLocalizedSpriteKey("pbinfo_stat"), Stat[s]) .setName("icon_stat_label_" + i.toString()) .setOrigin(0); statLabels.push(statLabel); @@ -259,12 +260,17 @@ export abstract class BattleInfo extends Phaser.GameObjects.Container { .setName("container_level"); this.add(this.levelContainer); - const levelOverlay = globalScene.add.image(0, 0, "overlay_lv"); + const levelOverlay = globalScene.add.image(5.5, 0, getLocalizedSpriteKey("overlay_lv")).setOrigin(1, 0.5); this.levelContainer.add(levelOverlay); this.hpBar = globalScene.add.image(posParams.hpBarX, posParams.hpBarY, "overlay_hp").setName("hp_bar").setOrigin(0); this.add(this.hpBar); + this.hpLabel = globalScene.add + .image(posParams.hpBarX - 1, posParams.hpBarY - 3, getLocalizedSpriteKey("overlay_hp_label")) + .setOrigin(1, 0); + this.add(this.hpLabel); + this.levelNumbersContainer = globalScene.add .container(9.5, globalScene.uiTheme === UiTheme.LEGACY ? 0 : -0.5) .setName("container_level"); diff --git a/src/ui/battle-info/enemy-battle-info.ts b/src/ui/battle-info/enemy-battle-info.ts index 0feb314a2e7..a48948e9617 100644 --- a/src/ui/battle-info/enemy-battle-info.ts +++ b/src/ui/battle-info/enemy-battle-info.ts @@ -8,6 +8,7 @@ import type { BattleInfoParamList } from "#ui/battle-info"; import { BattleInfo } from "#ui/battle-info"; import { addTextObject } from "#ui/text"; import { addWindow, WindowVariant } from "#ui/ui-theme"; +import { getLocalizedSpriteKey } from "#utils/common"; import i18next from "i18next"; import type { GameObjects } from "phaser"; @@ -189,6 +190,9 @@ export class EnemyBattleInfo extends BattleInfo { this.hpBar.x += 38 * (boss ? -1 : 1); this.hpBar.y += 2 * (this.boss ? -1 : 1); this.hpBar.setTexture(`overlay_hp${boss ? "_boss" : ""}`); + this.hpLabel.x += 38 * (boss ? -1 : 1); + this.hpLabel.y += 1 * (this.boss ? -1 : 1); + this.hpLabel.setTexture(getLocalizedSpriteKey(`overlay_hp_label${boss ? "_boss" : ""}`)); this.levelContainer.x += 2 * (boss ? -1 : 1); this.box.setTexture(this.getTextureName()); this.statsBox.setTexture(`${this.getTextureName()}_stats`); diff --git a/src/ui/battle-info/player-battle-info.ts b/src/ui/battle-info/player-battle-info.ts index f0b50748154..5a23eab2071 100644 --- a/src/ui/battle-info/player-battle-info.ts +++ b/src/ui/battle-info/player-battle-info.ts @@ -5,10 +5,12 @@ import { Stat } from "#enums/stat"; import type { PlayerPokemon } from "#field/pokemon"; import type { BattleInfoParamList } from "#ui/battle-info"; import { BattleInfo } from "#ui/battle-info"; +import { getLocalizedSpriteKey } from "#utils/common"; export class PlayerBattleInfo extends BattleInfo { protected player: true = true; protected hpNumbersContainer: Phaser.GameObjects.Container; + protected expBarLabel: Phaser.GameObjects.Image; override get statOrder(): Stat[] { return [Stat.ATK, Stat.DEF, Stat.SPATK, Stat.SPDEF, Stat.ACC, Stat.EVA, Stat.SPD]; @@ -46,6 +48,12 @@ export class PlayerBattleInfo extends BattleInfo { // hp number container must be beneath the stat container for overlay to display properly this.addAt(this.hpNumbersContainer, this.getIndex(this.statsContainer)); + const expBarLabel = globalScene.add + .image(-91, 20, getLocalizedSpriteKey("overlay_exp_label")) + .setName("overlay_exp_label") + .setOrigin(1, 1); + this.add(expBarLabel); + const expBar = globalScene.add.image(-98, 18, "overlay_exp").setName("overlay_exp").setOrigin(0); this.add(expBar); @@ -60,6 +68,7 @@ export class PlayerBattleInfo extends BattleInfo { expBar.setMask(expMask); + this.expBarLabel = expBarLabel; this.expBar = expBar; this.expMaskRect = expMaskRect; } @@ -108,7 +117,7 @@ export class PlayerBattleInfo extends BattleInfo { this.statValuesContainer.x += 2 * (mini ? 1 : -1); this.statValuesContainer.y += -7 * (mini ? 1 : -1); - const toggledElements = [this.hpNumbersContainer, this.expBar]; + const toggledElements = [this.hpNumbersContainer, this.expBarLabel, this.expBar]; toggledElements.forEach(el => el.setVisible(!mini)); } diff --git a/src/ui/party-ui-handler.ts b/src/ui/party-ui-handler.ts index b77710d8140..9fc777809bf 100644 --- a/src/ui/party-ui-handler.ts +++ b/src/ui/party-ui-handler.ts @@ -631,6 +631,7 @@ export class PartyUiHandler extends MessageUiHandler { // this else relates to the transfer pokemon. We set the text to be blank so there's no "Able"/"Not able" text ableToTransferText = ""; } + partySlot.slotHpLabel.setVisible(false); partySlot.slotHpBar.setVisible(false); partySlot.slotHpOverlay.setVisible(false); partySlot.slotHpText.setVisible(false); @@ -1738,6 +1739,7 @@ export class PartyUiHandler extends MessageUiHandler { this.partySlots[this.transferCursor].setTransfer(false); for (let i = 0; i < this.partySlots.length; i++) { this.partySlots[i].slotDescriptionLabel.setVisible(false); + this.partySlots[i].slotHpLabel.setVisible(true); this.partySlots[i].slotHpBar.setVisible(true); this.partySlots[i].slotHpOverlay.setVisible(true); this.partySlots[i].slotHpText.setVisible(true); @@ -1890,6 +1892,7 @@ class PartySlot extends Phaser.GameObjects.Container { private slotBg: Phaser.GameObjects.Image; private slotPb: Phaser.GameObjects.Sprite; public slotName: Phaser.GameObjects.Text; + public slotHpLabel: Phaser.GameObjects.Image; public slotHpBar: Phaser.GameObjects.Image; public slotHpOverlay: Phaser.GameObjects.Sprite; public slotHpText: Phaser.GameObjects.Text; @@ -2042,7 +2045,7 @@ class PartySlot extends Phaser.GameObjects.Container { this.slotName.setOrigin(0); const slotLevelLabel = globalScene.add - .image(0, 0, "party_slot_overlay_lv") + .image(0, 0, getLocalizedSpriteKey("party_slot_overlay_lv")) .setPositionRelative(this.slotBg, levelLabelPosition.x, levelLabelPosition.y) .setOrigin(0); @@ -2104,6 +2107,12 @@ class PartySlot extends Phaser.GameObjects.Container { } } + this.slotHpLabel = globalScene.add + .image(0, 0, getLocalizedSpriteKey("party_slot_overlay_hp")) + .setOrigin(1, 0) + .setVisible(false) + .setPositionRelative(this.slotBg, hpBarPosition.x + 15, hpBarPosition.y); + this.slotHpBar = globalScene.add .image(0, 0, "party_slot_hp_bar") .setOrigin(0) @@ -2133,14 +2142,22 @@ class PartySlot extends Phaser.GameObjects.Container { .setVisible(false) .setPositionRelative(this.slotBg, descriptionLabelPosition.x, descriptionLabelPosition.y); - slotInfoContainer.add([this.slotHpBar, this.slotHpOverlay, this.slotHpText, this.slotDescriptionLabel]); + slotInfoContainer.add([ + this.slotHpLabel, + this.slotHpBar, + this.slotHpOverlay, + this.slotHpText, + this.slotDescriptionLabel, + ]); if (partyUiMode !== PartyUiMode.TM_MODIFIER) { this.slotDescriptionLabel.setVisible(false); + this.slotHpLabel.setVisible(true); this.slotHpBar.setVisible(true); this.slotHpOverlay.setVisible(true); this.slotHpText.setVisible(true); } else { + this.slotHpLabel.setVisible(false); this.slotHpBar.setVisible(false); this.slotHpOverlay.setVisible(false); this.slotHpText.setVisible(false); diff --git a/src/ui/settings/abstract-control-settings-ui-handler.ts b/src/ui/settings/abstract-control-settings-ui-handler.ts index c08f1570b75..17812785d1e 100644 --- a/src/ui/settings/abstract-control-settings-ui-handler.ts +++ b/src/ui/settings/abstract-control-settings-ui-handler.ts @@ -544,8 +544,13 @@ export abstract class AbstractControlSettingsUiHandler extends UiHandler { } if (this.settingBlacklisted.includes(setting) || setting.includes("BUTTON_")) { success = false; - } else if (this.optionCursors[cursor]) { - success = this.setOptionCursor(cursor, this.optionCursors[cursor] - 1, true); + } else { + // Cycle to the rightmost position when at the leftmost, otherwise move left + success = this.setOptionCursor( + cursor, + Phaser.Math.Wrap(this.optionCursors[cursor] - 1, 0, this.optionValueLabels[cursor].length), + true, + ); } break; case Button.RIGHT: // Move selection right within the current option set. @@ -554,8 +559,13 @@ export abstract class AbstractControlSettingsUiHandler extends UiHandler { } if (this.settingBlacklisted.includes(setting) || setting.includes("BUTTON_")) { success = false; - } else if (this.optionCursors[cursor] < this.optionValueLabels[cursor].length - 1) { - success = this.setOptionCursor(cursor, this.optionCursors[cursor] + 1, true); + } else { + // Cycle to the leftmost position when at the rightmost, otherwise move right + success = this.setOptionCursor( + cursor, + Phaser.Math.Wrap(this.optionCursors[cursor] + 1, 0, this.optionValueLabels[cursor].length), + true, + ); } break; case Button.CYCLE_FORM: diff --git a/src/ui/settings/abstract-settings-ui-handler.ts b/src/ui/settings/abstract-settings-ui-handler.ts index ae1bb40dbeb..85e93bd8e2e 100644 --- a/src/ui/settings/abstract-settings-ui-handler.ts +++ b/src/ui/settings/abstract-settings-ui-handler.ts @@ -318,16 +318,20 @@ export class AbstractSettingsUiHandler extends MessageUiHandler { } break; case Button.LEFT: - if (this.optionCursors[cursor]) { - // Moves the option cursor left, if possible. - success = this.setOptionCursor(cursor, this.optionCursors[cursor] - 1, true); - } + // Cycle to the rightmost position when at the leftmost, otherwise move left + success = this.setOptionCursor( + cursor, + Phaser.Math.Wrap(this.optionCursors[cursor] - 1, 0, this.optionValueLabels[cursor].length), + true, + ); break; case Button.RIGHT: - // Moves the option cursor right, if possible. - if (this.optionCursors[cursor] < this.optionValueLabels[cursor].length - 1) { - success = this.setOptionCursor(cursor, this.optionCursors[cursor] + 1, true); - } + // Cycle to the leftmost position when at the rightmost, otherwise move right + success = this.setOptionCursor( + cursor, + Phaser.Math.Wrap(this.optionCursors[cursor] + 1, 0, this.optionValueLabels[cursor].length), + true, + ); break; case Button.CYCLE_FORM: case Button.CYCLE_SHINY: diff --git a/test/abilities/cud-chew.test.ts b/test/abilities/cud-chew.test.ts index f68141096eb..ae3b4ad8765 100644 --- a/test/abilities/cud-chew.test.ts +++ b/test/abilities/cud-chew.test.ts @@ -99,7 +99,7 @@ describe("Abilities - Cud Chew", () => { expect(abDisplaySpy.mock.calls[1][2]).toBe(false); // should display messgae - expect(game.textInterceptor.getLatestMessage()).toBe( + expect(game.textInterceptor.logs).toContain( i18next.t("battle:hpIsFull", { pokemonName: getPokemonNameWithAffix(farigiraf), }), diff --git a/test/abilities/moody.test.ts b/test/abilities/moody.test.ts index d1f8aa2e351..b7882c15ced 100644 --- a/test/abilities/moody.test.ts +++ b/test/abilities/moody.test.ts @@ -84,4 +84,40 @@ describe("Abilities - Moody", () => { expect(decreasedStat).toBeTruthy(); expect(decreasedStat.length).toBe(1); }); + + it("should only try to increase a stat stage by 1 if the stat stage is not at 6", async () => { + await game.classicMode.startBattle(); + + const playerPokemon = game.field.getPlayerPokemon(); + + // Set all stat stages to 6 + vi.spyOn(playerPokemon.summonData, "statStages", "get").mockReturnValue(new Array(BATTLE_STATS.length).fill(6)); + + // Set one of the stat stages to -6 + const raisedStat = EFFECTIVE_STATS[playerPokemon.randBattleSeedInt(EFFECTIVE_STATS.length)]; + playerPokemon.setStatStage(raisedStat, -6); + + game.move.select(MoveId.SPLASH); + await game.toNextTurn(); + + expect(playerPokemon.getStatStage(raisedStat), "should increase only the stat that is not at stage 6").toBe(-4); + }); + + it("should only try to decrease a stat stage by 1 if the stat stage is not at -6", async () => { + await game.classicMode.startBattle(); + + const playerPokemon = game.field.getPlayerPokemon(); + + // Set all stat stages to -6 + vi.spyOn(playerPokemon.summonData, "statStages", "get").mockReturnValue(new Array(BATTLE_STATS.length).fill(-6)); + + // Set one of the stat stages to 6 + const raisedStat = EFFECTIVE_STATS[playerPokemon.randBattleSeedInt(EFFECTIVE_STATS.length)]; + playerPokemon.setStatStage(raisedStat, 6); + + game.move.select(MoveId.SPLASH); + await game.toNextTurn(); + + expect(playerPokemon.getStatStage(raisedStat), "should decrease only the stat that is not at stage -6").toBe(5); + }); }); diff --git a/test/moves/focus-punch.test.ts b/test/moves/focus-punch.test.ts index 9a76dbec0db..d7b40569aaa 100644 --- a/test/moves/focus-punch.test.ts +++ b/test/moves/focus-punch.test.ts @@ -9,7 +9,7 @@ import { TurnStartPhase } from "#phases/turn-start-phase"; import { GameManager } from "#test/test-utils/game-manager"; import i18next from "i18next"; import Phaser from "phaser"; -import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; +import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; describe("Moves - Focus Punch", () => { let phaserGame: Phaser.Game; @@ -125,8 +125,8 @@ describe("Moves - Focus Punch", () => { game.move.select(MoveId.FOCUS_PUNCH); await game.phaseInterceptor.to("MoveEndPhase", true); await game.phaseInterceptor.to("MessagePhase", false); - const consoleSpy = vi.spyOn(console, "log"); await game.phaseInterceptor.to("MoveEndPhase", true); - expect(consoleSpy).nthCalledWith(1, i18next.t("moveTriggers:lostFocus", { pokemonName: "Charizard" })); + expect(game.textInterceptor.logs).toContain(i18next.t("moveTriggers:lostFocus", { pokemonName: "Charizard" })); + expect(game.textInterceptor.logs).not.toContain(i18next.t("battle:attackFailed")); }); }); diff --git a/test/test-utils/game-wrapper.ts b/test/test-utils/game-wrapper.ts index 1a906bf8492..d18ea9301ea 100644 --- a/test/test-utils/game-wrapper.ts +++ b/test/test-utils/game-wrapper.ts @@ -6,17 +6,13 @@ import * as bypassLoginModule from "#app/global-vars/bypass-login"; import { MoveAnim } from "#data/battle-anims"; import { Pokemon } from "#field/pokemon"; import { version } from "#package.json"; -import { blobToString } from "#test/test-utils/game-manager-utils"; import { MockClock } from "#test/test-utils/mocks/mock-clock"; -import { MockFetch } from "#test/test-utils/mocks/mock-fetch"; import { MockGameObjectCreator } from "#test/test-utils/mocks/mock-game-object-creator"; import { MockLoader } from "#test/test-utils/mocks/mock-loader"; import { MockTextureManager } from "#test/test-utils/mocks/mock-texture-manager"; import { MockTimedEventManager } from "#test/test-utils/mocks/mock-timed-event-manager"; import { MockContainer } from "#test/test-utils/mocks/mocks-container/mock-container"; import { PokedexMonContainer } from "#ui/pokedex-mon-container"; -import { sessionIdKey } from "#utils/common"; -import { setCookie } from "#utils/cookies"; import fs from "node:fs"; import Phaser from "phaser"; import { vi } from "vitest"; @@ -28,20 +24,6 @@ const GamepadPlugin = Phaser.Input.Gamepad.GamepadPlugin; const EventEmitter = Phaser.Events.EventEmitter; const UpdateList = Phaser.GameObjects.UpdateList; -window.URL.createObjectURL = (blob: Blob) => { - blobToString(blob).then((data: string) => { - localStorage.setItem("toExport", data); - }); - return null; -}; -navigator.getGamepads = () => []; -global.fetch = vi.fn(MockFetch); -setCookie(sessionIdKey, "fake_token"); - -window.matchMedia = () => ({ - matches: false, -}); - export class GameWrapper { public game: Phaser.Game; public scene: BattleScene; @@ -99,6 +81,7 @@ export class GameWrapper { removeAll: () => null, }; + // TODO: Can't we just turn on `noAudio` in audio config? this.scene.sound = { play: () => null, pause: () => null, diff --git a/test/test-utils/helpers/overrides-helper.ts b/test/test-utils/helpers/overrides-helper.ts index 93b89688935..07ea1ea3d09 100644 --- a/test/test-utils/helpers/overrides-helper.ts +++ b/test/test-utils/helpers/overrides-helper.ts @@ -1,7 +1,9 @@ /** biome-ignore-start lint/correctness/noUnusedImports: tsdoc imports */ import type { NewArenaEvent } from "#events/battle-scene"; + /** biome-ignore-end lint/correctness/noUnusedImports: tsdoc imports */ +import { OVERRIDES_COLOR } from "#app/constants/colors"; import type { BattleStyle, RandomTrainerOverride } from "#app/overrides"; import Overrides from "#app/overrides"; import { AbilityId } from "#enums/ability-id"; @@ -19,6 +21,7 @@ import type { ModifierOverride } from "#modifiers/modifier-type"; import type { Variant } from "#sprites/variant"; import { GameManagerHelper } from "#test/test-utils/helpers/game-manager-helper"; import { coerceArray, shiftCharCodes } from "#utils/common"; +import chalk from "chalk"; import { vi } from "vitest"; /** @@ -665,6 +668,6 @@ export class OverridesHelper extends GameManagerHelper { } private log(...params: any[]) { - console.log("Overrides:", ...params); + console.log(chalk.hex(OVERRIDES_COLOR)(...params)); } } diff --git a/test/test-utils/helpers/settings-helper.ts b/test/test-utils/helpers/settings-helper.ts index a26aa2de33c..46ac74b83dc 100644 --- a/test/test-utils/helpers/settings-helper.ts +++ b/test/test-utils/helpers/settings-helper.ts @@ -1,7 +1,9 @@ +import { SETTINGS_COLOR } from "#app/constants/colors"; import { BattleStyle } from "#enums/battle-style"; import { ExpGainsSpeed } from "#enums/exp-gains-speed"; import { PlayerGender } from "#enums/player-gender"; import { GameManagerHelper } from "#test/test-utils/helpers/game-manager-helper"; +import chalk from "chalk"; /** * Helper to handle settings for tests @@ -49,6 +51,6 @@ export class SettingsHelper extends GameManagerHelper { } private log(...params: any[]) { - console.log("Settings:", ...params); + console.log(chalk.hex(SETTINGS_COLOR)(...params)); } } diff --git a/test/test-utils/mocks/mock-console-log.ts b/test/test-utils/mocks/mock-console-log.ts deleted file mode 100644 index f54d41fea3e..00000000000 --- a/test/test-utils/mocks/mock-console-log.ts +++ /dev/null @@ -1,80 +0,0 @@ -const originalLog = console.log; -const originalError = console.error; -const originalDebug = console.debug; -const originalWarn = console.warn; - -const blacklist = ["Phaser", "variant icon does not exist", 'Texture "%s" not found']; -const whitelist = ["Phase"]; - -export class MockConsoleLog { - constructor( - private logDisabled = false, - private phaseText = false, - ) {} - private logs: any[] = []; - private notified: any[] = []; - - public log(...args) { - const argsStr = this.getStr(args); - this.logs.push(argsStr); - if (this.logDisabled && !this.phaseText) { - return; - } - if ((this.phaseText && !whitelist.some(b => argsStr.includes(b))) || blacklist.some(b => argsStr.includes(b))) { - return; - } - originalLog(args); - } - public error(...args) { - const argsStr = this.getStr(args); - this.logs.push(argsStr); - originalError(args); // Appelle le console.error originel - } - public debug(...args) { - const argsStr = this.getStr(args); - this.logs.push(argsStr); - if (this.logDisabled && !this.phaseText) { - return; - } - if (!whitelist.some(b => argsStr.includes(b)) || blacklist.some(b => argsStr.includes(b))) { - return; - } - originalDebug(args); - } - warn(...args) { - const argsStr = this.getStr(args); - this.logs.push(args); - if (this.logDisabled && !this.phaseText) { - return; - } - if (!whitelist.some(b => argsStr.includes(b)) || blacklist.some(b => argsStr.includes(b))) { - return; - } - originalWarn(args); - } - notify(msg) { - originalLog(msg); - this.notified.push(msg); - } - getLogs() { - return this.logs; - } - clearLogs() { - this.logs = []; - } - getStr(...args) { - return args - .map(arg => { - if (typeof arg === "object" && arg !== null) { - // Handle objects including arrays - return JSON.stringify(arg, (_key, value) => (typeof value === "bigint" ? value.toString() : value)); - } - if (typeof arg === "bigint") { - // Handle BigInt values - return arg.toString(); - } - return arg.toString(); - }) - .join(";"); - } -} diff --git a/test/test-utils/mocks/mock-console/color-map.json b/test/test-utils/mocks/mock-console/color-map.json new file mode 100644 index 00000000000..ded83e889b0 --- /dev/null +++ b/test/test-utils/mocks/mock-console/color-map.json @@ -0,0 +1,150 @@ +{ + "AliceBlue": "f0f8ff", + "AntiqueWhite": "faebd7", + "Aqua": "00ffff", + "Aquamarine": "7fffd4", + "Azure": "f0ffff", + "Beige": "f5f5dc", + "Bisque": "ffe4c4", + "Black": "000000", + "BlanchedAlmond": "ffebcd", + "Blue": "0000ff", + "BlueViolet": "8a2be2", + "Brown": "a52a2a", + "BurlyWood": "deb887", + "CadetBlue": "5f9ea0", + "Chartreuse": "7fff00", + "Chocolate": "d2691e", + "Coral": "ff7f50", + "CornflowerBlue": "6495ed", + "Cornsilk": "fff8dc", + "Crimson": "dc143c", + "Cyan": "00ffff", + "DarkBlue": "00008b", + "DarkCyan": "008b8b", + "DarkGoldenRod": "b8860b", + "DarkGray": "a9a9a9", + "DarkGrey": "a9a9a9", + "DarkGreen": "006400", + "DarkKhaki": "bdb76b", + "DarkMagenta": "8b008b", + "DarkOliveGreen": "556b2f", + "DarkOrange": "ff8c00", + "DarkOrchid": "9932cc", + "DarkRed": "8b0000", + "DarkSalmon": "e9967a", + "DarkSeaGreen": "8fbc8f", + "DarkSlateBlue": "483d8b", + "DarkSlateGray": "2f4f4f", + "DarkSlateGrey": "2f4f4f", + "DarkTurquoise": "00ced1", + "DarkViolet": "9400d3", + "DeepPink": "ff1493", + "DeepSkyBlue": "00bfff", + "DimGray": "696969", + "DimGrey": "696969", + "DodgerBlue": "1e90ff", + "FireBrick": "b22222", + "FloralWhite": "fffaf0", + "ForestGreen": "228b22", + "Fuchsia": "ff00ff", + "Gainsboro": "dcdcdc", + "GhostWhite": "f8f8ff", + "Gold": "ffd700", + "GoldenRod": "daa520", + "Gray": "808080", + "Grey": "808080", + "Green": "008000", + "GreenYellow": "adff2f", + "HoneyDew": "f0fff0", + "HotPink": "ff69b4", + "IndianRed": "cd5c5c", + "Indigo": "4b0082", + "Ivory": "fffff0", + "Khaki": "f0e68c", + "Lavender": "e6e6fa", + "LavenderBlush": "fff0f5", + "LawnGreen": "7cfc00", + "LemonChiffon": "fffacd", + "LightBlue": "add8e6", + "LightCoral": "f08080", + "LightCyan": "e0ffff", + "LightGoldenRodYellow": "fafad2", + "LightGray": "d3d3d3", + "LightGrey": "d3d3d3", + "LightGreen": "90ee90", + "LightPink": "ffb6c1", + "LightSalmon": "ffa07a", + "LightSeaGreen": "20b2aa", + "LightSkyBlue": "87cefa", + "LightSlateGray": "778899", + "LightSlateGrey": "778899", + "LightSteelBlue": "b0c4de", + "LightYellow": "ffffe0", + "Lime": "00ff00", + "LimeGreen": "32cd32", + "Linen": "faf0e6", + "Magenta": "ff00ff", + "Maroon": "800000", + "MediumAquaMarine": "66cdaa", + "MediumBlue": "0000cd", + "MediumOrchid": "ba55d3", + "MediumPurple": "9370db", + "MediumSeaGreen": "3cb371", + "MediumSlateBlue": "7b68ee", + "MediumSpringGreen": "00fa9a", + "MediumTurquoise": "48d1cc", + "MediumVioletRed": "c71585", + "MidnightBlue": "191970", + "MintCream": "f5fffa", + "MistyRose": "ffe4e1", + "Moccasin": "ffe4b5", + "NavajoWhite": "ffdead", + "Navy": "000080", + "OldLace": "fdf5e6", + "Olive": "808000", + "OliveDrab": "6b8e23", + "Orange": "ffa500", + "OrangeRed": "ff4500", + "Orchid": "da70d6", + "PaleGoldenRod": "eee8aa", + "PaleGreen": "98fb98", + "PaleTurquoise": "afeeee", + "PaleVioletRed": "db7093", + "PapayaWhip": "ffefd5", + "PeachPuff": "ffdab9", + "Peru": "cd853f", + "Pink": "ffc0cb", + "Plum": "dda0dd", + "PowderBlue": "b0e0e6", + "Purple": "800080", + "RebeccaPurple": "663399", + "Red": "ff0000", + "RosyBrown": "bc8f8f", + "RoyalBlue": "4169e1", + "SaddleBrown": "8b4513", + "Salmon": "fa8072", + "SandyBrown": "f4a460", + "SeaGreen": "2e8b57", + "SeaShell": "fff5ee", + "Sienna": "a0522d", + "Silver": "c0c0c0", + "SkyBlue": "87ceeb", + "SlateBlue": "6a5acd", + "SlateGray": "708090", + "SlateGrey": "708090", + "Snow": "fffafa", + "SpringGreen": "00ff7f", + "SteelBlue": "4682b4", + "Tan": "d2b48c", + "Teal": "008080", + "Thistle": "d8bfd8", + "Tomato": "ff6347", + "Turquoise": "40e0d0", + "Violet": "ee82ee", + "Wheat": "f5deb3", + "White": "ffffff", + "WhiteSmoke": "f5f5f5", + "Yellow": "ffff00", + "YellowGreen": "9acd32" +} diff --git a/test/test-utils/mocks/mock-console/infer-color.ts b/test/test-utils/mocks/mock-console/infer-color.ts new file mode 100644 index 00000000000..e01adbc4ad4 --- /dev/null +++ b/test/test-utils/mocks/mock-console/infer-color.ts @@ -0,0 +1,61 @@ +import { hslToHex } from "#utils/common"; +import chalk, { type ChalkInstance, type ForegroundColorName, foregroundColorNames } from "chalk"; +import colorMap from "./color-map.json"; + +export function inferColorFormat(data: [string, ...unknown[]]): ChalkInstance { + // Remove all CSS format strings and find the first one containing something vaguely resembling a color + data[0] = data[0].replaceAll("%c", ""); + const args = data.slice(1).filter(t => typeof t === "string"); + const color = findColorPrefix(args); + + // If the color is within Chalk's native roster, use it directly. + if ((foregroundColorNames as string[]).includes(color)) { + return chalk[color as ForegroundColorName]; + } + + // Otherwise, coerce it to hex before feeding it in. + return getColor(color); +} + +/** + * Find the first string with a "color:" CSS directive in an argument list. + * @param args - The arguments containing the color directive + * @returns The found color, or `"green"` if none were found + */ +function findColorPrefix(args: string[]): string { + for (const arg of args) { + const match = /color:\s*(.+?)(?:;|$)/g.exec(arg); + if (match === null) { + continue; + } + + return match[1]; + } + return "green"; +} + +/** + * Coerce an arbitrary CSS color string to a Chalk instance. + * @param color - The color to coerce + * @returns The Chalk color equivalent. + */ +function getColor(color: string): ChalkInstance { + if (/^#([a-z0-9]{3,4}|[a-z0-9]{6}|[a-z0-9]{8})$/i.test(color)) { + // already in hex + return chalk.hex(color); + } + + const rgbMatch = /^rgba?\((\d{1,3})%?,\s*(\d{1,3})%?,?\s*(\d{1,3})%?,\s*/i.exec(color); + if (rgbMatch) { + const [red, green, blue] = rgbMatch; + return chalk.rgb(+red, +green, +blue); + } + + const hslMatch = /^hslv?\((\d{1,3}),\s*(\d{1,3})%,\s*(\d{1,3})%\)$/i.exec(color); + if (hslMatch) { + const [hue, saturation, light] = hslMatch; + return chalk.hex(hslToHex(+hue, +saturation / 100, +light / 100)); + } + + return chalk.hex(colorMap[color] ?? "#00ff95ff"); +} diff --git a/test/test-utils/mocks/mock-console/mock-console.ts b/test/test-utils/mocks/mock-console/mock-console.ts new file mode 100644 index 00000000000..52ed0af6aa7 --- /dev/null +++ b/test/test-utils/mocks/mock-console/mock-console.ts @@ -0,0 +1,211 @@ +import { DEBUG_COLOR, NEW_TURN_COLOR, TRACE_COLOR, UI_MSG_COLOR } from "#app/constants/colors"; +import { inferColorFormat } from "#test/test-utils/mocks/mock-console/infer-color"; +import { coerceArray } from "#utils/common"; +import { type InspectOptions, inspect } from "node:util"; +import chalk, { type ChalkInstance } from "chalk"; + +// Tell chalk we support truecolor +chalk.level = 3; + +// TODO: Review this +const blacklist = [ + "variant icon does not exist", // Repetitive warnings about icons not found + 'Texture "%s" not found', // Repetitive warnings about textures not found + "type: 'Pokemon',", // Large Pokemon objects + "gameVersion: ", // Large session-data and system-data objects + "Phaser v", // Phaser version text + "Seed:", // Stuff about wave seed (we should really stop logging this shit) + "Wave Seed:", // Stuff about wave seed (we should really stop logging this shit) +] as const; +const whitelist = ["Start Phase"] as const; + +const inspectOptions: InspectOptions = { sorted: true, breakLength: 120, numericSeparator: true }; + +/** + * The {@linkcode MockConsole} is a wrapper around the global {@linkcode console} object. + * It automatically colors text and such. + */ +export class MockConsole implements Omit { + /** + * A list of warnings that are queued to be displayed after all tests in the same file are finished. + */ + private static readonly queuedWarnings: unknown[][] = []; + /** + * The original `Console` object, preserved to avoid overwriting + * Vitest's native `console.log` wrapping. + */ + private console = console; + + //#region Static Properties + + /** + * Queue a warning to be printed after all tests in the same file are finished. + */ + // TODO: Add some warnings + public static queuePostTestWarning(...data: unknown[]): void { + MockConsole.queuedWarnings.push(data); + } + + /** + * Print and reset all post-test warnings. + */ + public static printPostTestWarnings(): void { + for (const data of MockConsole.queuedWarnings) { + console.warn(...data); + } + MockConsole.queuedWarnings.splice(0); + } + + //#endregion Private Properties + + //#region Utilities + + /** + * Check whether a given set of data is in the blacklist to be barred from logging. + * @param data - The data being logged + * @returns Whether `data` is blacklisted from console logging + */ + private checkBlacklist(data: unknown[]): boolean { + const dataStr = this.getStr(data); + return !whitelist.some(b => dataStr.includes(b)) && blacklist.some(b => dataStr.includes(b)); + } + + /** + * Returns a human-readable string representation of `data`. + */ + private getStr(data: unknown): string { + return inspect(data, inspectOptions); + } + + /** + * Stringify the given data in a manner fit for logging. + * @param color - A Chalk instance or other transformation function used to transform the output, + * or `undefined` to not transform it at all. + * @param data - The data that the format should be applied to. + * @returns A stringified copy of `data` with {@linkcode color} applied to each individual argument. + * @todo Do we need to apply color to each entry or just run it through `util.format`? + */ + private format(color: ((s: unknown) => unknown) | undefined, data: unknown | unknown[]): unknown[] { + data = coerceArray(data); + color ??= a => a; + return (data as unknown[]).map(a => color(typeof a === "function" || typeof a === "object" ? this.getStr(a) : a)); + } + + //#endregion Utilities + + //#region Custom wrappers + public info(...data: unknown[]) { + return this.log(...data); + } + + public trace(...data: unknown[]) { + if (this.checkBlacklist(data)) { + return; + } + + // TODO: Figure out how to add color to the full trace text + this.console.trace(...this.format(chalk.hex(TRACE_COLOR), data)); + } + + public debug(...data: unknown[]) { + if (this.checkBlacklist(data)) { + return; + } + + this.console.debug(...this.format(chalk.hex(DEBUG_COLOR), data)); + } + + public log(...data: unknown[]): void { + if (this.checkBlacklist(data)) { + return; + } + + let formatter: ChalkInstance | undefined; + + if (data.some(d => typeof d === "string" && d.includes("color:"))) { + // Infer the color format from the arguments, then remove everything but the message. + formatter = inferColorFormat(data as [string, ...unknown[]]); + data.splice(1); + } else if (data[0] === "[UI]") { + // Cyan for UI debug messages + formatter = chalk.hex(UI_MSG_COLOR); + } else if (typeof data[0] === "string" && data[0].startsWith("=====")) { + // Orange logging for "New Turn"/etc messages + formatter = chalk.hex(NEW_TURN_COLOR); + } + + this.console.log(...this.format(formatter, data)); + } + + public warn(...data: unknown[]) { + if (this.checkBlacklist(data)) { + return; + } + + this.console.warn(...this.format(chalk.yellow, data)); + } + + public error(...data: unknown[]) { + if (this.checkBlacklist(data)) { + return; + } + + this.console.error(...this.format(chalk.redBright, data)); + } + + //#endregion Custom Wrappers + + //#region Copy-pasted Console code + // TODO: Progressively add proper coloration and support for all these methods + public dir(...args: Parameters<(typeof console)["dir"]>): ReturnType<(typeof console)["dir"]> { + return this.console.dir(...args); + } + public dirxml(...args: Parameters<(typeof console)["dirxml"]>): ReturnType<(typeof console)["dirxml"]> { + return this.console.dirxml(...args); + } + public table(...args: Parameters<(typeof console)["table"]>): ReturnType<(typeof console)["table"]> { + return this.console.table(...args); + } + public group(...args: Parameters<(typeof console)["group"]>): ReturnType<(typeof console)["group"]> { + return this.console.group(...args); + } + public groupCollapsed( + ...args: Parameters<(typeof console)["groupCollapsed"]> + ): ReturnType<(typeof console)["groupCollapsed"]> { + return this.console.groupCollapsed(...args); + } + public groupEnd(...args: Parameters<(typeof console)["groupEnd"]>): ReturnType<(typeof console)["groupEnd"]> { + return this.console.groupEnd(...args); + } + public clear(...args: Parameters<(typeof console)["clear"]>): ReturnType<(typeof console)["clear"]> { + return this.console.clear(...args); + } + public count(...args: Parameters<(typeof console)["count"]>): ReturnType<(typeof console)["count"]> { + return this.console.count(...args); + } + public countReset(...args: Parameters<(typeof console)["countReset"]>): ReturnType<(typeof console)["countReset"]> { + return this.console.countReset(...args); + } + public assert(...args: Parameters<(typeof console)["assert"]>): ReturnType<(typeof console)["assert"]> { + return this.console.assert(...args); + } + public profile(...args: Parameters<(typeof console)["profile"]>): ReturnType<(typeof console)["profile"]> { + return this.console.profile(...args); + } + public profileEnd(...args: Parameters<(typeof console)["profileEnd"]>): ReturnType<(typeof console)["profileEnd"]> { + return this.console.profileEnd(...args); + } + public time(...args: Parameters<(typeof console)["time"]>): ReturnType<(typeof console)["time"]> { + return this.console.time(...args); + } + public timeLog(...args: Parameters<(typeof console)["timeLog"]>): ReturnType<(typeof console)["timeLog"]> { + return this.console.timeLog(...args); + } + public timeEnd(...args: Parameters<(typeof console)["timeEnd"]>): ReturnType<(typeof console)["timeEnd"]> { + return this.console.timeEnd(...args); + } + public timeStamp(...args: Parameters<(typeof console)["timeStamp"]>): ReturnType<(typeof console)["timeStamp"]> { + return this.console.timeStamp(...args); + } + //#endregion Copy-pasted Console code +} diff --git a/test/test-utils/mocks/mocks-container/mock-text.ts b/test/test-utils/mocks/mocks-container/mock-text.ts index ad2fce80972..a64aa45ef80 100644 --- a/test/test-utils/mocks/mocks-container/mock-text.ts +++ b/test/test-utils/mocks/mocks-container/mock-text.ts @@ -1,4 +1,5 @@ import type { MockGameObject } from "#test/test-utils/mocks/mock-game-object"; +import type { TextInterceptor } from "#test/test-utils/text-interceptor"; import { UI } from "#ui/ui"; export class MockText implements MockGameObject { @@ -82,13 +83,14 @@ export class MockText implements MockGameObject { showText( text: string, - delay?: number | null, + _delay?: number | null, callback?: Function | null, - callbackDelay?: number | null, - prompt?: boolean | null, - promptDelay?: number | null, + _callbackDelay?: number | null, + _prompt?: boolean | null, + _promptDelay?: number | null, ) { - this.scene.messageWrapper.showText(text, delay, callback, callbackDelay, prompt, promptDelay); + // TODO: this is a very bad way to pass calls around + (this.scene.messageWrapper as TextInterceptor).showText(text); if (callback) { callback(); } @@ -96,13 +98,13 @@ export class MockText implements MockGameObject { showDialogue( keyOrText: string, - name: string | undefined, - delay: number | null = 0, + name: string, + _delay: number | null, callback: Function, - callbackDelay?: number, - promptDelay?: number, + _callbackDelay?: number, + _promptDelay?: number, ) { - this.scene.messageWrapper.showDialogue(keyOrText, name, delay, callback, callbackDelay, promptDelay); + (this.scene.messageWrapper as TextInterceptor).showDialogue(keyOrText, name); if (callback) { callback(); } diff --git a/test/test-utils/reporters/custom-default-reporter.ts b/test/test-utils/reporters/custom-default-reporter.ts new file mode 100644 index 00000000000..15c4881b83c --- /dev/null +++ b/test/test-utils/reporters/custom-default-reporter.ts @@ -0,0 +1,62 @@ +import { relative } from "node:path"; +import { parseStacktrace } from "@vitest/utils/source-map"; +import chalk from "chalk"; +import type { UserConsoleLog } from "vitest"; +import type { TestState } from "vitest/node"; +import { DefaultReporter } from "vitest/reporters"; + +/** + * Custom Vitest reporter to strip the current file names from the output. + */ +export default class CustomDefaultReporter extends DefaultReporter { + public override onUserConsoleLog(log: UserConsoleLog, taskState?: TestState): void { + // This code is more or less copied verbatim from `vitest/reporters` source, with minor tweaks to use + // dependencies we actually _have_ (i.e. chalk) rather than ones we don't (i.e. tinyrainbow). + + // SPDX-SnippetBegin + // SPDX-SnippetCopyrightText: 2021 VoidZero Inc. and Vitest contributors + // SPDX-License-Identifier: MIT + + if (!super.shouldLog(log, taskState)) { + return; + } + + const output = log.type === "stdout" ? this.ctx.logger.outputStream : this.ctx.logger.errorStream; + + const write = (msg: string) => output.write(msg); + + const task = log.taskId ? this.ctx.state.idMap.get(log.taskId) : undefined; + + write(log.content); // this is about the only changed line (that and us skipping a newline) + + if (!log.origin) { + return; + } + + // Code for stack trace, ripped directly out of Vitest source code. + // I wish they had a helper function to do this so we didn't have to import `@vitest/utils`, but oh well... + // browser logs don't have an extra end of line at the end like Node.js does + if (log.browser) { + write("\n"); + } + + const project = task ? this.ctx.getProjectByName(task.file.projectName ?? "") : this.ctx.getRootProject(); + + const stack = log.browser ? (project.browser?.parseStacktrace(log.origin) ?? []) : parseStacktrace(log.origin); + + const highlight = task && stack.find(i => i.file === task.file.filepath); + + for (const frame of stack) { + const color = frame === highlight ? chalk.cyan : chalk.gray; + const path = relative(project.config.root, frame.file); + + const positions = [frame.method, `${path}:${chalk.dim(`${frame.line}:${frame.column}`)}`] + .filter(Boolean) + .join(" "); + + write(color(` ${chalk.dim(">")} ${positions}\n`)); + } + + // SPDX-SnippetEnd + } +} diff --git a/test/test-utils/setup/test-end-log.ts b/test/test-utils/setup/test-end-log.ts new file mode 100644 index 00000000000..9814ba8a45c --- /dev/null +++ b/test/test-utils/setup/test-end-log.ts @@ -0,0 +1,113 @@ +// biome-ignore lint/correctness/noUnusedImports: TSDoc +import type CustomDefaultReporter from "#test/test-utils/reporters/custom-default-reporter"; +import { basename, join, relative } from "path"; +import chalk from "chalk"; +import type { RunnerTask, RunnerTaskResult, RunnerTestCase } from "vitest"; + +/** + * @module + * Code to add markers to the beginning and end of tests. + * Intended for use with {@linkcode CustomDefaultReporter}, and placed inside test hooks + * (rather than as part of the reporter) to ensure Vitest waits for the log messages to be printed. + */ + +/** A long string of "="s to partition off each test from one another. */ +const TEST_END_BARRIER = chalk.bold.hex("#ff7c7cff")("=================="); + +// Colors used for Vitest-related test utils +const TEST_NAME_COLOR = "#008886ff" as const; +const VITEST_PINK_COLOR = "#c162de" as const; + +const testRoot = join(import.meta.dirname, "..", "..", ".."); + +/** + * Log the testfile name and path upon a case starting. \ + * Used to compensate for us overridding the global Console object and removing Vitest's + * test name annotations. + * @param test - The {@linkcode RunnerTask} passed from the context + */ +export function logTestStart(test: RunnerTask): void { + console.log(TEST_END_BARRIER); + console.log( + `${chalk.dim("> ")}${chalk.hex(VITEST_PINK_COLOR)("Starting test: ")}${chalk.hex(TEST_NAME_COLOR)(getTestName(test))}`, + ); +} + +/** + * Log the testfile name, path and result upon a case ending. \ + * Used to compensate for us overridding the global Console object and removing Vitest's + * test name annotations. + * @param task - The {@linkcode RunnerTestCase} passed from the hook + */ +export function logTestEnd(task: RunnerTestCase): void { + const durationStr = getDurationPrefix(task.result); + const resultStr = getResultStr(task.result); + console.log(`${chalk.dim("> ")}${chalk.black.bgHex(VITEST_PINK_COLOR)(" Test finished! ")} + Name: ${chalk.hex(TEST_NAME_COLOR)(getTestName(task))} + Result: ${resultStr}${durationStr} + File: ${chalk.hex("#d29b0eff")( + getPathFromTest(task.file.filepath) + (task.location ? `:${task.location.line}:${task.location.column}` : ""), + )}`); +} + +/** + * Get the path of the current test file relative to the `test` directory. + * @param abs - The absolute path to the file + * @returns The relative path with `test/` appended to it. + */ +function getPathFromTest(abs: string): string { + return join(basename(testRoot), relative(testRoot, abs)); +} + +function getResultStr(result: RunnerTaskResult | undefined): string { + if (result?.state !== "pass" && result?.state !== "fail") { + return "Unknown"; + } + + const resultStr = + result.state === "pass" + ? chalk.green.bold("✔ Passed") + : (result?.duration ?? 0) > 2 + ? chalk.cyan.bold("◴ Timed out") + : chalk.red.bold("✗ Failed"); + + return resultStr; +} + +/** + * Get the text to be displayed for a test's duration. + * @param result - The {@linkcode RunnerTaskResult} of the finished test + * @returns An appropriately colored suffix for the start time. + * Will return an empty string if `result.startTime` is `undefined` + */ +function getDurationPrefix(result?: RunnerTaskResult): string { + const startTime = result?.startTime; + if (!startTime) { + return ""; + } + const duration = Math.round(Date.now() - startTime); + + // TODO: Figure out a way to access the current vitest config from a hook + const color = duration > 10_000 ? chalk.yellow : chalk.green; + return ` ${chalk.dim("in")} ${color(duration)}${chalk.dim("ms")}`; +} + +// Function copied from vitest source to avoid having to import `@vitest/runner/utils` for 1 function + +// SPDX-SnippetBegin +// SPDX-SnippetCopyrightText: 2021 VoidZero Inc. and Vitest contributors +// SPDX-License-Identifier: MIT +function getTestName(task: RunnerTask, separator = " > "): string { + const names: string[] = [task.name]; + let current: RunnerTask | undefined = task; + + while ((current = current?.suite)) { + if (current?.name) { + names.unshift(current.name); + } + } + + return names.join(separator); +} + +// SPDX-SnippetEnd diff --git a/test/test-utils/test-file-initialization.ts b/test/test-utils/test-file-initialization.ts index 631d3f9146b..c172e2d1da8 100644 --- a/test/test-utils/test-file-initialization.ts +++ b/test/test-utils/test-file-initialization.ts @@ -3,7 +3,7 @@ import { initializeGame } from "#app/init/init"; import { initI18n } from "#plugins/i18n"; import { blobToString } from "#test/test-utils/game-manager-utils"; import { manageListeners } from "#test/test-utils/listeners-manager"; -import { MockConsoleLog } from "#test/test-utils/mocks/mock-console-log"; +import { MockConsole } from "#test/test-utils/mocks/mock-console/mock-console"; import { mockContext } from "#test/test-utils/mocks/mock-context-canvas"; import { mockLocalStorage } from "#test/test-utils/mocks/mock-local-storage"; import { MockImage } from "#test/test-utils/mocks/mocks-container/mock-image"; @@ -38,14 +38,22 @@ function initTestFile(): void { /** * Setup various stubs for testing. * @todo Move this into a dedicated stub file instead of running it once per test instance + * @todo review these to see which are actually necessary * @todo Investigate why this resets on new test suite start */ function setupStubs(): void { - Object.defineProperty(window, "localStorage", { - value: mockLocalStorage(), - }); - Object.defineProperty(window, "console", { - value: new MockConsoleLog(false), + Object.defineProperties(global, { + localStorage: { + value: mockLocalStorage(), + }, + console: { + value: new MockConsole(), + }, + matchMedia: { + value: () => ({ + matches: false, + }), + }, }); Object.defineProperty(document, "fonts", { writable: true, @@ -69,11 +77,6 @@ function setupStubs(): void { navigator.getGamepads = () => []; setCookie(SESSION_ID_COOKIE_NAME, "fake_token"); - window.matchMedia = () => - ({ - matches: false, - }) as any; - /** * Sets this object's position relative to another object with a given offset * @param guideObject - The {@linkcode Phaser.GameObjects.GameObject} to base the position off of diff --git a/test/test-utils/text-interceptor.ts b/test/test-utils/text-interceptor.ts index 36a5db4c78d..dfbaf2ff11c 100644 --- a/test/test-utils/text-interceptor.ts +++ b/test/test-utils/text-interceptor.ts @@ -1,39 +1,49 @@ +import type { BattleScene } from "#app/battle-scene"; +import chalk from "chalk"; + /** - * Class will intercept any text or dialogue message calls and log them for test purposes + * The {@linkcode TextInterceptor} is a wrapper class that intercepts and logs any messages + * that would be displayed on-screen. */ export class TextInterceptor { - private scene; - public logs: string[] = []; - constructor(scene) { - this.scene = scene; + /** A log containing messages having been displayed on screen, sorted in FIFO order. */ + public readonly logs: string[] = []; + + constructor(scene: BattleScene) { + // @ts-expect-error: Find another more sanitary way of doing this scene.messageWrapper = this; } - showText( - text: string, - _delay?: number, - _callback?: Function, - _callbackDelay?: number, - _prompt?: boolean, - _promptDelay?: number, - ): void { - console.log(text); + /** Clear the current content of the TextInterceptor. */ + public clearLogs(): void { + this.logs.splice(0); + } + + showText(text: string): void { + // NB: We do not format the raw _logs_ themselves as tests will be actively checking it. + console.log(this.formatText(text)); this.logs.push(text); } - showDialogue( - text: string, - name: string, - _delay?: number, - _callback?: Function, - _callbackDelay?: number, - _promptDelay?: number, - ): void { - console.log(name, text); + showDialogue(text: string, name: string): void { + console.log(`${name}: \n${this.formatText(text)}`); this.logs.push(name, text); } - getLatestMessage(): string { - return this.logs.pop() ?? ""; + /** + * Format text to be displayed to the test console, as follows: + * 1. Replaces new lines and new text boxes (marked by `$`) with indented new lines. + * 2. Removes all `@c{}`, `@d{}`, `@s{}`, and `@f{}` flags from the text. + * 3. Makes text blue + * @param text - The unformatted text + * @returns The formatted text + */ + private formatText(text: string): string { + return chalk.blue( + text + .replace(/\n/g, " ") + .replace(/\$/g, "\n ") + .replace(/@\w{.*?}/g, ""), + ); } } diff --git a/test/vitest.setup.ts b/test/vitest.setup.ts index be35e18e2e9..23adab01a05 100644 --- a/test/vitest.setup.ts +++ b/test/vitest.setup.ts @@ -1,16 +1,21 @@ import "vitest-canvas-mock"; +import { MockConsole } from "#test/test-utils/mocks/mock-console/mock-console"; +import { logTestEnd, logTestStart } from "#test/test-utils/setup/test-end-log"; import { initTests } from "#test/test-utils/test-file-initialization"; -import { afterAll, beforeAll, vi } from "vitest"; +import chalk from "chalk"; +import { afterAll, afterEach, beforeAll, beforeEach, vi } from "vitest"; -/** Set the timezone to UTC for tests. */ +//#region Mocking -/** Mock the override import to always return default values, ignoring any custom overrides. */ -vi.mock("#app/overrides", async importOriginal => { - const { defaultOverrides } = await importOriginal(); +// Mock the override import to always return default values, ignoring any custom overrides. +vi.mock(import("#app/overrides"), async importOriginal => { + const { defaultOverrides } = await importOriginal(); return { default: defaultOverrides, - defaultOverrides, + // Export `defaultOverrides` as a *copy*. + // This ensures we can easily reset `overrides` back to its default values after modifying it. + defaultOverrides: { ...defaultOverrides }, } satisfies typeof import("#app/overrides"); }); @@ -20,7 +25,7 @@ vi.mock("#app/overrides", async importOriginal => { * This is necessary because how our code is structured. * Do NOT try to put any of this code into external functions, it won't work as it's elevated during runtime. */ -vi.mock("i18next", async importOriginal => { +vi.mock(import("i18next"), async importOriginal => { console.log("Mocking i18next"); const { setupServer } = await import("msw/node"); const { http, HttpResponse } = await import("msw"); @@ -30,8 +35,11 @@ vi.mock("i18next", async importOriginal => { const filename = req.params[0]; try { - const json = await import(`../public/locales/en/${req.params[0]}`); - console.log("Loaded locale", filename); + const localeFiles = import.meta.glob("../public/locales/en/**/*.json", { eager: true }); + const json = localeFiles[`../public/locales/en/${filename}`] || {}; + if (import.meta.env.VITE_I18N_DEBUG === "1") { + console.log("Loaded locale", filename); + } return HttpResponse.json(json); } catch (err) { console.log(`Failed to load locale ${filename}!`, err); @@ -54,7 +62,15 @@ beforeAll(() => { initTests(); }); +beforeEach(context => { + logTestStart(context.task); +}); +afterEach(context => { + logTestEnd(context.task); +}); + afterAll(() => { global.server.close(); - console.log("Closing i18n MSW server!"); + MockConsole.printPostTestWarnings(); + console.log(chalk.hex("#dfb8d8")("Closing i18n MSW server!")); }); diff --git a/typedoc-plugins/typedoc-plugin-rename-svg.js b/typedoc-plugins/typedoc-plugin-rename-svg.js index 5fda4ee3c6d..307206d6006 100644 --- a/typedoc-plugins/typedoc-plugin-rename-svg.js +++ b/typedoc-plugins/typedoc-plugin-rename-svg.js @@ -19,15 +19,10 @@ export function load(app) { app.renderer.on(Renderer.EVENT_END_PAGE, page => { if (page.pageKind === PageKind.Index && page.contents) { page.contents = page.contents - // Replace links to the beta documentation site with the current ref name + // Replace the SVG to the beta documentation site with the current ref name .replace( - /href="(.*pagefaultgames.github.io\/pokerogue\/).*?"/, // formatting - `href="$1/${process.env.REF_NAME}"`, - ) - // Replace the link to Beta's coverage SVG with the SVG file for the branch in question. - .replace( - /img src=".*?coverage.svg/, // formatting - `img src="coverage.svg"`, + /^ ({ +export default defineConfig(({ mode }) => ({ ...defaultConfig, test: { + reporters: process.env.GITHUB_ACTIONS + ? ["github-actions", "./test/test-utils/reporters/custom-default-reporter.ts"] + : ["./test/test-utils/reporters/custom-default-reporter.ts"], env: { TZ: "UTC", }, - testTimeout: 20000, + testTimeout: 20_000, + slowTestThreshold: 10_000, + // TODO: Consider enabling + // expect: {requireAssertions: true}, setupFiles: ["./test/font-face.setup.ts", "./test/vitest.setup.ts", "./test/matchers.setup.ts"], sequence: { sequencer: MySequencer, }, + includeTaskLocation: true, environment: "jsdom" as const, environmentOptions: { jsdom: {