From 70d61700d0c62d0356eaa279fc3cef2404e6ecdd Mon Sep 17 00:00:00 2001 From: Flashfyre Date: Sun, 31 Mar 2024 21:14:35 -0400 Subject: [PATCH] Re-implement UI reskin with working legacy toggle Re-implement UI reskin with working legacy toggle; add return to title option to menu --- index.css | 4 +- public/images/categories.png | Bin 267 -> 691 bytes public/images/categories_legacy.json | 83 ++++ public/images/categories_legacy.png | Bin 0 -> 267 bytes public/images/items.json | 2 +- public/images/items/rb.png | Bin 509 -> 914 bytes public/images/pb.json | 2 +- public/images/pb.png | Bin 1104 -> 1120 bytes public/images/pokeball/gb.png | Bin 297 -> 780 bytes public/images/pokeball/gb_open.png | Bin 307 -> 730 bytes public/images/pokeball/gb_opening.png | Bin 309 -> 781 bytes public/images/pokeball/mb.png | Bin 299 -> 795 bytes public/images/pokeball/mb_open.png | Bin 289 -> 724 bytes public/images/pokeball/mb_opening.png | Bin 331 -> 794 bytes public/images/pokeball/pb.png | Bin 289 -> 709 bytes public/images/pokeball/pb_open.png | Bin 278 -> 711 bytes public/images/pokeball/pb_opening.png | Bin 289 -> 739 bytes public/images/pokeball/rb.png | Bin 294 -> 735 bytes public/images/pokeball/rb_open.png | Bin 319 -> 768 bytes public/images/pokeball/rb_opening.png | Bin 309 -> 767 bytes public/images/pokeball/ub.png | Bin 284 -> 740 bytes public/images/pokeball/ub_open.png | Bin 296 -> 743 bytes public/images/pokeball/ub_opening.png | Bin 291 -> 758 bytes public/images/{ui => }/pokemon_icons_0.json | 0 public/images/{ui => }/pokemon_icons_0.png | Bin public/images/{ui => }/pokemon_icons_1.json | 0 public/images/{ui => }/pokemon_icons_1.png | Bin public/images/{ui => }/pokemon_icons_2.json | 0 public/images/{ui => }/pokemon_icons_2.png | Bin public/images/{ui => }/pokemon_icons_3.json | 0 public/images/{ui => }/pokemon_icons_3.png | Bin public/images/{ui => }/pokemon_icons_4.json | 0 public/images/{ui => }/pokemon_icons_4.png | Bin public/images/{ui => }/pokemon_icons_5.json | 0 public/images/{ui => }/pokemon_icons_5.png | Bin public/images/{ui => }/pokemon_icons_6.json | 0 public/images/{ui => }/pokemon_icons_6.png | Bin public/images/{ui => }/pokemon_icons_7.json | 0 public/images/{ui => }/pokemon_icons_7.png | Bin public/images/{ui => }/pokemon_icons_8.json | 0 public/images/{ui => }/pokemon_icons_8.png | Bin public/images/{ui => }/pokemon_icons_9.json | 0 public/images/{ui => }/pokemon_icons_9.png | Bin public/images/types_legacy.json | 440 ++++++++++++++++++ public/images/types_legacy.png | Bin 0 -> 2142 bytes public/images/ui/ability_bar.png | Bin 332 -> 0 bytes public/images/ui/ability_bar_left.png | Bin 0 -> 233 bytes public/images/ui/ability_bar_right.png | Bin 0 -> 228 bytes public/images/ui/achv_bar.png | Bin 399 -> 414 bytes public/images/ui/achv_bar_2.png | Bin 437 -> 463 bytes public/images/ui/achv_bar_3.png | Bin 433 -> 461 bytes public/images/ui/achv_bar_4.png | Bin 433 -> 458 bytes public/images/ui/bg.json | 125 +++++ public/images/ui/bg.png | Bin 471 -> 703 bytes public/images/ui/bmenu_sel.png | Bin 2985 -> 2810 bytes public/images/ui/boolean_sel.png | Bin 2912 -> 2799 bytes public/images/ui/command_fight_labels.png | Bin 234 -> 259 bytes public/images/ui/cursor.png | Bin 3059 -> 522 bytes public/images/ui/cursor_reverse.png | Bin 128 -> 139 bytes public/images/ui/egg_list_bg.png | Bin 1249 -> 1800 bytes public/images/ui/icon_owned.png | Bin 4265 -> 553 bytes public/images/ui/legacy/ability_bar_left.png | Bin 0 -> 346 bytes public/images/ui/legacy/ability_bar_right.png | Bin 0 -> 347 bytes public/images/ui/legacy/achv_bar.png | Bin 0 -> 399 bytes public/images/ui/legacy/achv_bar_2.png | Bin 0 -> 437 bytes public/images/ui/legacy/achv_bar_3.png | Bin 0 -> 433 bytes public/images/ui/legacy/achv_bar_4.png | Bin 0 -> 433 bytes public/images/ui/legacy/bg.png | Bin 0 -> 471 bytes public/images/ui/legacy/bmenu_sel.png | Bin 0 -> 2985 bytes public/images/ui/legacy/boolean_sel.png | Bin 0 -> 2912 bytes .../images/ui/legacy/command_fight_labels.png | Bin 0 -> 234 bytes public/images/ui/legacy/cursor.png | Bin 0 -> 3059 bytes public/images/ui/legacy/cursor_reverse.png | Bin 0 -> 128 bytes public/images/ui/legacy/egg_list_bg.png | Bin 0 -> 1271 bytes public/images/ui/legacy/icon_owned.png | Bin 0 -> 4265 bytes public/images/ui/legacy/icon_spliced.png | Bin 0 -> 225 bytes public/images/ui/legacy/icon_tera.png | Bin 0 -> 250 bytes public/images/ui/legacy/mmenu_sel.png | Bin 0 -> 2996 bytes public/images/ui/legacy/namebox.png | Bin 0 -> 278 bytes public/images/ui/legacy/numbers.json | 251 ++++++++++ public/images/ui/legacy/numbers.png | Bin 0 -> 253 bytes public/images/ui/legacy/numbers_alt.png | Bin 0 -> 321 bytes public/images/ui/legacy/numbers_red.json | 251 ++++++++++ public/images/ui/legacy/numbers_red.png | Bin 0 -> 265 bytes public/images/ui/legacy/numbers_red_alt.png | Bin 0 -> 459 bytes public/images/ui/legacy/overlay_exp.png | Bin 0 -> 1282 bytes public/images/ui/legacy/overlay_hp.json | 83 ++++ public/images/ui/legacy/overlay_hp.png | Bin 0 -> 138 bytes public/images/ui/legacy/overlay_hp_boss.json | 83 ++++ public/images/ui/legacy/overlay_hp_boss.png | Bin 0 -> 139 bytes public/images/ui/legacy/overlay_lv.png | Bin 0 -> 3783 bytes public/images/ui/legacy/overlay_lv_alt.png | Bin 0 -> 547 bytes public/images/ui/legacy/overlay_message.png | Bin 0 -> 332 bytes public/images/ui/legacy/party_bg.png | Bin 0 -> 445 bytes public/images/ui/legacy/party_bg_double.png | Bin 0 -> 471 bytes public/images/ui/legacy/party_cancel.json | 62 +++ public/images/ui/legacy/party_cancel.png | Bin 0 -> 214 bytes public/images/ui/legacy/party_exp_bar.png | Bin 0 -> 287 bytes public/images/ui/legacy/party_pb.json | 62 +++ public/images/ui/legacy/party_pb.png | Bin 0 -> 292 bytes public/images/ui/legacy/party_slot.json | 146 ++++++ public/images/ui/legacy/party_slot.png | Bin 0 -> 407 bytes public/images/ui/legacy/party_slot_hp_bar.png | Bin 0 -> 172 bytes .../ui/legacy/party_slot_hp_overlay.json | 83 ++++ .../ui/legacy/party_slot_hp_overlay.png | Bin 0 -> 143 bytes public/images/ui/legacy/party_slot_main.json | 146 ++++++ public/images/ui/legacy/party_slot_main.png | Bin 0 -> 434 bytes .../ui/legacy/party_slot_overlay_hp.png | Bin 0 -> 126 bytes .../ui/legacy/party_slot_overlay_lv.png | Bin 0 -> 115 bytes .../ui/legacy/party_slot_overlay_lv_alt.png | Bin 0 -> 154 bytes public/images/ui/legacy/pb_tray_ball.json | 104 +++++ public/images/ui/legacy/pb_tray_ball.png | Bin 0 -> 205 bytes .../ui/legacy/pb_tray_overlay_enemy.png | Bin 0 -> 157 bytes .../ui/legacy/pb_tray_overlay_player.png | Bin 0 -> 156 bytes public/images/ui/legacy/pbinfo_enemy_boss.png | Bin 0 -> 630 bytes public/images/ui/legacy/pbinfo_enemy_mini.png | Bin 0 -> 3200 bytes public/images/ui/legacy/pbinfo_player.png | Bin 0 -> 362 bytes .../images/ui/legacy/pbinfo_player_mini.png | Bin 0 -> 4435 bytes public/images/ui/legacy/prompt.json | 104 +++++ public/images/ui/legacy/prompt.png | Bin 0 -> 148 bytes public/images/ui/legacy/select_cursor.png | Bin 0 -> 104 bytes .../ui/legacy/select_cursor_highlight.png | Bin 0 -> 104 bytes .../legacy/select_cursor_highlight_thick.png | Bin 0 -> 115 bytes .../ui/legacy/select_cursor_pokerus.png | Bin 0 -> 103 bytes public/images/ui/legacy/select_gen_cursor.png | Bin 0 -> 106 bytes .../ui/legacy/select_gen_cursor_highlight.png | Bin 0 -> 106 bytes public/images/ui/legacy/shiny.png | Bin 0 -> 138 bytes public/images/ui/legacy/starter_select_bg.png | Bin 0 -> 906 bytes public/images/ui/legacy/summary_bg.png | Bin 0 -> 4217 bytes public/images/ui/legacy/summary_moves.png | Bin 0 -> 1304 bytes .../ui/legacy/summary_moves_cursor.json | 62 +++ .../images/ui/legacy/summary_moves_cursor.png | Bin 0 -> 166 bytes .../images/ui/legacy/summary_moves_effect.png | Bin 0 -> 4827 bytes .../ui/legacy/summary_moves_overlay_pp.png | Bin 0 -> 144 bytes .../ui/legacy/summary_moves_overlay_row.png | Bin 0 -> 209 bytes .../ui/legacy/summary_overlay_shiny.png | Bin 0 -> 292 bytes public/images/ui/legacy/summary_profile.png | Bin 0 -> 1507 bytes public/images/ui/legacy/summary_stats.png | Bin 0 -> 1545 bytes .../ui/legacy/summary_stats_overlay_exp.png | Bin 0 -> 89 bytes public/images/ui/legacy/summary_status.png | Bin 0 -> 183 bytes public/images/ui/legacy/summary_tabs_1.png | Bin 0 -> 309 bytes public/images/ui/legacy/summary_tabs_2.png | Bin 0 -> 317 bytes public/images/ui/legacy/summary_tabs_3.png | Bin 0 -> 253 bytes public/images/ui/legacy/type_bgs.json | 419 +++++++++++++++++ public/images/ui/legacy/type_bgs.png | Bin 0 -> 882 bytes public/images/ui/legacy/type_tera.png | Bin 0 -> 234 bytes public/images/ui/legacy/windows/window_1.png | Bin 0 -> 3041 bytes .../ui/legacy/windows/window_1_thin.png | Bin 0 -> 232 bytes .../ui/legacy/windows/window_1_xthin.png | Bin 0 -> 217 bytes public/images/ui/legacy/windows/window_2.png | Bin 0 -> 3040 bytes .../ui/legacy/windows/window_2_thin.png | Bin 0 -> 248 bytes .../ui/legacy/windows/window_2_xthin.png | Bin 0 -> 229 bytes public/images/ui/legacy/windows/window_3.png | Bin 0 -> 3042 bytes .../ui/legacy/windows/window_3_thin.png | Bin 0 -> 234 bytes .../ui/legacy/windows/window_3_xthin.png | Bin 0 -> 218 bytes public/images/ui/legacy/windows/window_4.png | Bin 0 -> 3038 bytes .../ui/legacy/windows/window_4_thin.png | Bin 0 -> 243 bytes .../ui/legacy/windows/window_4_xthin.png | Bin 0 -> 225 bytes public/images/ui/legacy/windows/window_5.png | Bin 0 -> 3041 bytes .../ui/legacy/windows/window_5_thin.png | Bin 0 -> 232 bytes .../ui/legacy/windows/window_5_xthin.png | Bin 0 -> 217 bytes public/images/ui/mmenu_sel.png | Bin 2996 -> 2820 bytes public/images/ui/namebox.png | Bin 278 -> 322 bytes public/images/ui/numbers.json | 68 +-- public/images/ui/numbers.png | Bin 253 -> 424 bytes public/images/ui/numbers_red.json | 68 +-- public/images/ui/numbers_red.png | Bin 265 -> 478 bytes public/images/ui/overlay_exp.png | Bin 1282 -> 485 bytes public/images/ui/overlay_hp.png | Bin 138 -> 129 bytes public/images/ui/overlay_hp_boss.png | Bin 139 -> 149 bytes public/images/ui/overlay_lv.png | Bin 3783 -> 573 bytes public/images/ui/overlay_message.png | Bin 332 -> 490 bytes public/images/ui/party_bg.png | Bin 445 -> 2293 bytes public/images/ui/party_bg_double.png | Bin 471 -> 1950 bytes public/images/ui/party_cancel.png | Bin 214 -> 552 bytes public/images/ui/party_exp_bar.png | Bin 287 -> 221 bytes public/images/ui/party_pb.png | Bin 292 -> 96 bytes public/images/ui/party_slot.png | Bin 407 -> 1930 bytes public/images/ui/party_slot_hp_bar.png | Bin 172 -> 227 bytes public/images/ui/party_slot_hp_overlay.png | Bin 143 -> 137 bytes public/images/ui/party_slot_main.png | Bin 434 -> 2592 bytes public/images/ui/party_slot_overlay_hp.png | Bin 126 -> 137 bytes public/images/ui/party_slot_overlay_lv.png | Bin 115 -> 158 bytes public/images/ui/pb_tray_ball.png | Bin 205 -> 307 bytes public/images/ui/pb_tray_overlay_enemy.png | Bin 157 -> 189 bytes public/images/ui/pb_tray_overlay_player.png | Bin 156 -> 156 bytes public/images/ui/pbinfo_enemy_boss.png | Bin 630 -> 554 bytes public/images/ui/pbinfo_enemy_mini.png | Bin 3200 -> 888 bytes public/images/ui/pbinfo_player.png | Bin 362 -> 654 bytes public/images/ui/pbinfo_player_mini.png | Bin 4435 -> 898 bytes public/images/ui/select_cursor.png | Bin 104 -> 180 bytes public/images/ui/select_cursor_highlight.png | Bin 104 -> 179 bytes .../ui/select_cursor_highlight_thick.png | Bin 115 -> 191 bytes public/images/ui/select_cursor_pokerus.png | Bin 103 -> 159 bytes public/images/ui/select_gen_cursor.png | Bin 106 -> 182 bytes .../images/ui/select_gen_cursor_highlight.png | Bin 106 -> 181 bytes public/images/ui/starter_select_bg.png | Bin 1424 -> 2828 bytes public/images/ui/summary_bg.png | Bin 4217 -> 2880 bytes public/images/ui/summary_moves.png | Bin 1304 -> 1321 bytes public/images/ui/summary_moves_cursor.png | Bin 166 -> 293 bytes public/images/ui/summary_moves_effect.png | Bin 4827 -> 973 bytes public/images/ui/summary_moves_overlay_pp.png | Bin 144 -> 156 bytes .../images/ui/summary_moves_overlay_row.png | Bin 209 -> 128 bytes public/images/ui/summary_overlay_shiny.png | Bin 292 -> 228 bytes public/images/ui/summary_profile.png | Bin 1507 -> 1820 bytes public/images/ui/summary_stats.png | Bin 1545 -> 2179 bytes .../images/ui/summary_stats_overlay_exp.png | Bin 89 -> 124 bytes public/images/ui/summary_status.png | Bin 183 -> 159 bytes public/images/ui/summary_tabs_1.png | Bin 309 -> 289 bytes public/images/ui/summary_tabs_2.png | Bin 317 -> 287 bytes public/images/ui/summary_tabs_3.png | Bin 253 -> 313 bytes public/images/ui/windows/window_1.png | Bin 3041 -> 640 bytes public/images/ui/windows/window_1_thin.png | Bin 232 -> 643 bytes public/images/ui/windows/window_1_xthin.png | Bin 217 -> 632 bytes public/images/ui/windows/window_2.png | Bin 3040 -> 657 bytes public/images/ui/windows/window_2_thin.png | Bin 248 -> 632 bytes public/images/ui/windows/window_2_xthin.png | Bin 229 -> 636 bytes public/images/ui/windows/window_3.png | Bin 3042 -> 671 bytes public/images/ui/windows/window_3_thin.png | Bin 234 -> 635 bytes public/images/ui/windows/window_3_xthin.png | Bin 218 -> 636 bytes public/images/ui/windows/window_4.png | Bin 3038 -> 659 bytes public/images/ui/windows/window_4_thin.png | Bin 243 -> 645 bytes public/images/ui/windows/window_4_xthin.png | Bin 225 -> 641 bytes public/images/ui/windows/window_5.png | Bin 0 -> 629 bytes public/images/ui/windows/window_5_thin.png | Bin 0 -> 629 bytes public/images/ui/windows/window_5_xthin.png | Bin 0 -> 625 bytes src/battle-scene.ts | 34 +- src/data/nature.ts | 2 +- src/enums/battle-spec.ts | 1 - src/enums/ui-theme.ts | 4 + src/system/settings.ts | 12 +- src/ui/ability-bar.ts | 6 +- src/ui/abstact-option-select-ui-handler.ts | 2 +- src/ui/achv-bar.ts | 2 +- src/ui/achvs-ui-handler.ts | 2 +- src/ui/ball-ui-handler.ts | 2 +- src/ui/battle-info.ts | 28 +- src/ui/battle-message-ui-handler.ts | 4 +- src/ui/biome-select-ui-handler.ts | 2 +- src/ui/daily-run-scoreboard.ts | 2 +- src/ui/egg-gacha-ui-handler.ts | 4 +- src/ui/egg-list-ui-handler.ts | 6 +- src/ui/evolution-scene-handler.ts | 2 +- src/ui/form-modal-ui-handler.ts | 6 +- src/ui/game-stats-ui-handler.ts | 2 +- src/ui/menu-ui-handler.ts | 17 +- src/ui/modal-ui-handler.ts | 2 +- src/ui/modifier-select-ui-handler.ts | 11 +- src/ui/party-ui-handler.ts | 2 +- src/ui/pokemon-info-container.ts | 2 +- src/ui/save-slot-select-ui-handler.ts | 4 +- src/ui/settings-ui-handler.ts | 37 +- src/ui/starter-select-ui-handler.ts | 63 +-- src/ui/stats-container.ts | 2 +- src/ui/summary-ui-handler.ts | 40 +- src/ui/text.ts | 30 +- src/ui/ui-handler.ts | 5 + src/ui/ui-theme.ts | 147 ++++++ src/ui/ui.ts | 2 +- src/ui/vouchers-ui-handler.ts | 2 +- src/ui/window.ts | 73 --- 261 files changed, 2942 insertions(+), 268 deletions(-) create mode 100644 public/images/categories_legacy.json create mode 100644 public/images/categories_legacy.png rename public/images/{ui => }/pokemon_icons_0.json (100%) rename public/images/{ui => }/pokemon_icons_0.png (100%) rename public/images/{ui => }/pokemon_icons_1.json (100%) rename public/images/{ui => }/pokemon_icons_1.png (100%) rename public/images/{ui => }/pokemon_icons_2.json (100%) rename public/images/{ui => }/pokemon_icons_2.png (100%) rename public/images/{ui => }/pokemon_icons_3.json (100%) rename public/images/{ui => }/pokemon_icons_3.png (100%) rename public/images/{ui => }/pokemon_icons_4.json (100%) rename public/images/{ui => }/pokemon_icons_4.png (100%) rename public/images/{ui => }/pokemon_icons_5.json (100%) rename public/images/{ui => }/pokemon_icons_5.png (100%) rename public/images/{ui => }/pokemon_icons_6.json (100%) rename public/images/{ui => }/pokemon_icons_6.png (100%) rename public/images/{ui => }/pokemon_icons_7.json (100%) rename public/images/{ui => }/pokemon_icons_7.png (100%) rename public/images/{ui => }/pokemon_icons_8.json (100%) rename public/images/{ui => }/pokemon_icons_8.png (100%) rename public/images/{ui => }/pokemon_icons_9.json (100%) rename public/images/{ui => }/pokemon_icons_9.png (100%) create mode 100644 public/images/types_legacy.json create mode 100644 public/images/types_legacy.png delete mode 100644 public/images/ui/ability_bar.png create mode 100644 public/images/ui/ability_bar_left.png create mode 100644 public/images/ui/ability_bar_right.png create mode 100644 public/images/ui/bg.json create mode 100644 public/images/ui/legacy/ability_bar_left.png create mode 100644 public/images/ui/legacy/ability_bar_right.png create mode 100644 public/images/ui/legacy/achv_bar.png create mode 100644 public/images/ui/legacy/achv_bar_2.png create mode 100644 public/images/ui/legacy/achv_bar_3.png create mode 100644 public/images/ui/legacy/achv_bar_4.png create mode 100644 public/images/ui/legacy/bg.png create mode 100644 public/images/ui/legacy/bmenu_sel.png create mode 100644 public/images/ui/legacy/boolean_sel.png create mode 100644 public/images/ui/legacy/command_fight_labels.png create mode 100644 public/images/ui/legacy/cursor.png create mode 100644 public/images/ui/legacy/cursor_reverse.png create mode 100644 public/images/ui/legacy/egg_list_bg.png create mode 100644 public/images/ui/legacy/icon_owned.png create mode 100644 public/images/ui/legacy/icon_spliced.png create mode 100644 public/images/ui/legacy/icon_tera.png create mode 100644 public/images/ui/legacy/mmenu_sel.png create mode 100644 public/images/ui/legacy/namebox.png create mode 100644 public/images/ui/legacy/numbers.json create mode 100644 public/images/ui/legacy/numbers.png create mode 100644 public/images/ui/legacy/numbers_alt.png create mode 100644 public/images/ui/legacy/numbers_red.json create mode 100644 public/images/ui/legacy/numbers_red.png create mode 100644 public/images/ui/legacy/numbers_red_alt.png create mode 100644 public/images/ui/legacy/overlay_exp.png create mode 100644 public/images/ui/legacy/overlay_hp.json create mode 100644 public/images/ui/legacy/overlay_hp.png create mode 100644 public/images/ui/legacy/overlay_hp_boss.json create mode 100644 public/images/ui/legacy/overlay_hp_boss.png create mode 100644 public/images/ui/legacy/overlay_lv.png create mode 100644 public/images/ui/legacy/overlay_lv_alt.png create mode 100644 public/images/ui/legacy/overlay_message.png create mode 100644 public/images/ui/legacy/party_bg.png create mode 100644 public/images/ui/legacy/party_bg_double.png create mode 100644 public/images/ui/legacy/party_cancel.json create mode 100644 public/images/ui/legacy/party_cancel.png create mode 100644 public/images/ui/legacy/party_exp_bar.png create mode 100644 public/images/ui/legacy/party_pb.json create mode 100644 public/images/ui/legacy/party_pb.png create mode 100644 public/images/ui/legacy/party_slot.json create mode 100644 public/images/ui/legacy/party_slot.png create mode 100644 public/images/ui/legacy/party_slot_hp_bar.png create mode 100644 public/images/ui/legacy/party_slot_hp_overlay.json create mode 100644 public/images/ui/legacy/party_slot_hp_overlay.png create mode 100644 public/images/ui/legacy/party_slot_main.json create mode 100644 public/images/ui/legacy/party_slot_main.png create mode 100644 public/images/ui/legacy/party_slot_overlay_hp.png create mode 100644 public/images/ui/legacy/party_slot_overlay_lv.png create mode 100644 public/images/ui/legacy/party_slot_overlay_lv_alt.png create mode 100644 public/images/ui/legacy/pb_tray_ball.json create mode 100644 public/images/ui/legacy/pb_tray_ball.png create mode 100644 public/images/ui/legacy/pb_tray_overlay_enemy.png create mode 100644 public/images/ui/legacy/pb_tray_overlay_player.png create mode 100644 public/images/ui/legacy/pbinfo_enemy_boss.png create mode 100644 public/images/ui/legacy/pbinfo_enemy_mini.png create mode 100644 public/images/ui/legacy/pbinfo_player.png create mode 100644 public/images/ui/legacy/pbinfo_player_mini.png create mode 100644 public/images/ui/legacy/prompt.json create mode 100644 public/images/ui/legacy/prompt.png create mode 100644 public/images/ui/legacy/select_cursor.png create mode 100644 public/images/ui/legacy/select_cursor_highlight.png create mode 100644 public/images/ui/legacy/select_cursor_highlight_thick.png create mode 100644 public/images/ui/legacy/select_cursor_pokerus.png create mode 100644 public/images/ui/legacy/select_gen_cursor.png create mode 100644 public/images/ui/legacy/select_gen_cursor_highlight.png create mode 100644 public/images/ui/legacy/shiny.png create mode 100644 public/images/ui/legacy/starter_select_bg.png create mode 100644 public/images/ui/legacy/summary_bg.png create mode 100644 public/images/ui/legacy/summary_moves.png create mode 100644 public/images/ui/legacy/summary_moves_cursor.json create mode 100644 public/images/ui/legacy/summary_moves_cursor.png create mode 100644 public/images/ui/legacy/summary_moves_effect.png create mode 100644 public/images/ui/legacy/summary_moves_overlay_pp.png create mode 100644 public/images/ui/legacy/summary_moves_overlay_row.png create mode 100644 public/images/ui/legacy/summary_overlay_shiny.png create mode 100644 public/images/ui/legacy/summary_profile.png create mode 100644 public/images/ui/legacy/summary_stats.png create mode 100644 public/images/ui/legacy/summary_stats_overlay_exp.png create mode 100644 public/images/ui/legacy/summary_status.png create mode 100644 public/images/ui/legacy/summary_tabs_1.png create mode 100644 public/images/ui/legacy/summary_tabs_2.png create mode 100644 public/images/ui/legacy/summary_tabs_3.png create mode 100644 public/images/ui/legacy/type_bgs.json create mode 100644 public/images/ui/legacy/type_bgs.png create mode 100644 public/images/ui/legacy/type_tera.png create mode 100644 public/images/ui/legacy/windows/window_1.png create mode 100644 public/images/ui/legacy/windows/window_1_thin.png create mode 100644 public/images/ui/legacy/windows/window_1_xthin.png create mode 100644 public/images/ui/legacy/windows/window_2.png create mode 100644 public/images/ui/legacy/windows/window_2_thin.png create mode 100644 public/images/ui/legacy/windows/window_2_xthin.png create mode 100644 public/images/ui/legacy/windows/window_3.png create mode 100644 public/images/ui/legacy/windows/window_3_thin.png create mode 100644 public/images/ui/legacy/windows/window_3_xthin.png create mode 100644 public/images/ui/legacy/windows/window_4.png create mode 100644 public/images/ui/legacy/windows/window_4_thin.png create mode 100644 public/images/ui/legacy/windows/window_4_xthin.png create mode 100644 public/images/ui/legacy/windows/window_5.png create mode 100644 public/images/ui/legacy/windows/window_5_thin.png create mode 100644 public/images/ui/legacy/windows/window_5_xthin.png create mode 100644 public/images/ui/windows/window_5.png create mode 100644 public/images/ui/windows/window_5_thin.png create mode 100644 public/images/ui/windows/window_5_xthin.png create mode 100644 src/enums/ui-theme.ts create mode 100644 src/ui/ui-theme.ts delete mode 100644 src/ui/window.ts diff --git a/index.css b/index.css index 716f06321a7..0d7e671c720 100644 --- a/index.css +++ b/index.css @@ -56,7 +56,7 @@ body { } #dpad svg rect { - opacity: 0.4; + opacity: 0.6; } #apad > * { @@ -151,7 +151,7 @@ body { } #dpad path:not(.active), #apad .apadBtn:not(.active) { - opacity: 0.4; + opacity: 0.6; } #layout:fullscreen #dpad, #layout:fullscreen #apad { diff --git a/public/images/categories.png b/public/images/categories.png index 94ba1d4c4bc55db4135275409b88d3b4d624a449..0f683399495fc2b5abb3ad58cf2017d192c83387 100644 GIT binary patch delta 678 zcmV;X0$Kfw0<#5>8Gi-<007~$s^b6v00DDSM?wIu&K&6g00M1EL_t(YiM5x%Yui8+ z$G;Z>Rtx?EJi2s<3V|$EBMVG%mW;tmA<)0TO9mA@dNfo+7X1YULl)7oOGGfl*UC#E z5OpZYm_It3XqvF?u5^#{5Jk?n+ed5{P(z?S!vzcnNU!Ty@C3}+ zh6`*0mc55m1b;@SWnwam;rW4d-|hFbU`4wQ27%-}L@@T1KE2bv7A)C!m5~I^J-~1Q z<|HtjwcT(5AX)j8Ap%7pvsp?IqbOd1l|e5ef|La*%T~_ArOoat!2`ff(cn5@Wx=#8 zb0h2Aeh&cP`N8TD?NJnCGFyWES2dcZGUH^WFWMSSb$>i9(3)Lemb**YD3|C%z4U+7 zX_*@^JwMng=_p!euLxDvXY*v+U1j+OV;`J{+OsNYOMbxi2=aX z!Cw0I)eEUZS@+QI_rLM(<_80S3Mvvhy|wbuW+ z_t4whpBRqL+3IiN>R_+ZKM8_KIzBw9G#Px# delta 250 zcmdnY+RZdUvYwfNf#F(i)I}gA7vK}(3Z&bO+7~S7*sx*3frJAm8csYY2zdXn_(w;^ zj~_o4y^D?ns$eV$@(X5gcy=QV$l)yTh%9Dc;1&j9Muu5)B!Gf#o-U3d8t1oO_U3C) z;9Q{#ys6rr;BE;{hMUxD0|InNP4ZVQg+p_wysR0m1Rr#)c%G~7NLEQ?}yZ0 xpCW%@eY(}`<8Ax%uk`)e?O*-wrM&(trh7;D?`5vH{s?pugQu&X%Q~loCIIVjXT$&i diff --git a/public/images/categories_legacy.json b/public/images/categories_legacy.json new file mode 100644 index 00000000000..e840e2d2060 --- /dev/null +++ b/public/images/categories_legacy.json @@ -0,0 +1,83 @@ +{ + "textures": [ + { + "image": "categories_legacy.png", + "format": "RGBA8888", + "size": { + "w": 84, + "h": 11 + }, + "scale": 1, + "frames": [ + { + "filename": "physical", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 28, + "h": 11 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 28, + "h": 11 + }, + "frame": { + "x": 0, + "y": 0, + "w": 28, + "h": 11 + } + }, + { + "filename": "special", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 28, + "h": 11 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 28, + "h": 11 + }, + "frame": { + "x": 28, + "y": 0, + "w": 28, + "h": 11 + } + }, + { + "filename": "status", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 28, + "h": 11 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 28, + "h": 11 + }, + "frame": { + "x": 56, + "y": 0, + "w": 28, + "h": 11 + } + } + ] + } + ], + "meta": { + "app": "https://www.codeandweb.com/texturepacker", + "version": "3.0", + "smartupdate": "$TexturePacker:SmartUpdate:624cc5ad31c0279b246b3f142bfd9c96:8422b1554e15389969070f2f708b78a0:70593749cf27aa2aea2f8132ad50259f$" + } +} diff --git a/public/images/categories_legacy.png b/public/images/categories_legacy.png new file mode 100644 index 0000000000000000000000000000000000000000..94ba1d4c4bc55db4135275409b88d3b4d624a449 GIT binary patch literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^AwbN{!3-p?K?W6`_lNT3SFk|4ie28U-i(tsS!0*}aIpi#mg%*Zfnjs#G! z&C|s(MC1I{%ieqq3Opch#%3kNJRiDe=n5UcSbkWSUf0OJSWv^KcNw3va%B~vL)|F|rvTO;T z+TZZWBDC-E{gB%0Q{*qKPq&(VylsE}mA+rQ{j1--l-Ga7bngiNz0CF2AAv4n@O1Ta JS?83{1ORi!utAr zZM7x)Jbj+e>v=!V=hO3i97w<(UfFCaoW|_jr z7{g4+JcgSQhJR#5oqW%4{sQZgtH`WUKx2(0DRQ_(%}e#T#DwT^8EFb;|Nr(?PmGR~ ztJ}TM_+l9E1JJYsrJ`Yc9UDgJ1Z>Z6m96HlAHn#C=*6n$JcRZwxVWxr(LK1_hMp%i zqD6iso47TRfVVSf3q#i}w5*hSR@vwD5ki~tRX4DI03(BPzJ2uvjKpX65UNW500009 Ya7bBm000ie000ie0hKEb8?i3W0f~CcyZ`_I delta 23 fcmbQl{+D@zGB*Qbage(c!@6@aFE<}%JkJOKTu%sZ diff --git a/public/images/pb.json b/public/images/pb.json index d55dd5efa63..fe11336cf82 100644 --- a/public/images/pb.json +++ b/public/images/pb.json @@ -393,6 +393,6 @@ "meta": { "app": "https://www.codeandweb.com/texturepacker", "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:0efebcf5a0349e3198f05490d6ab3701:bd953ec0b847e86511a613c51d748a6b:8bcd206ed4f9371dcc2f2cbe354ed6ed$" + "smartupdate": "$TexturePacker:SmartUpdate:2715eb0a025a0813db1a38a913af8e68:4c4ffcc420a57c7dbc4ff35c5fbc8716:8bcd206ed4f9371dcc2f2cbe354ed6ed$" } } diff --git a/public/images/pb.png b/public/images/pb.png index af62128f0fbfab80bf250ddcb6b539a207dcfd41..acb3a96f0665935dbc88623e29fe87136f32384e 100644 GIT binary patch delta 1099 zcmV-R1ho6m2;c~iB!7xfOjJcoX>mwMNFf$}GbE?~|NkKwRzX2QARr(zGBT8ul(b41 z|C|UhF)8Ls7+P9V)hQ{g004sk0NOY>q(QxN5S&1p^ouF17#J8MZox1+-~YWiff#-2 zs~ucfX8+!5{M$OuL1wFX2i`$*|6+^(oO^6%sl8gw|C_(PDSukD&E|uHd$g>i`t@1= zl&rl?b(#PG00DGTPE!Ct=GbNc000SaNLh0L01m_e01m_fl`9S#000ATNkl&&!pCoqCY=+n%W*VD~ z^WG`#oV!6d*METs6pF;n6de+Cg>$4pgw07v?5K7;MaEky183=Fh?ry^cBLYZJ5|jjzK*DjHjiV4L zLu_Scq%H6+PDVy@r!z|`)>zgo&2G0tZ&qfoON6ztZ+~kiIGe2z6Xf|QZPSjnAI_(} zoKO25&u4|0AlIX`OdXUT)>B^AQ+~(wED#f{UtVgZSzYIdy3RlZ3PmEHBAfO3Lg6Cs zNrWv(z;aHV6NB~4^nzWcU1w~1kt@l;-jT!vqlS}ZSr*rm5q`R!2SkM9$nzOT`Aw!B zwI9yMUVqNVe!uf^Zi|TTc|HC3vFT2)WUn3YX47q7LAC%G*>zjN&Kb`_H`{iOUE;Hq zC1^XcoY=IqeU%^5U#h1c6opb+L&30-grEd?2*a=oWOg|e#co#=fvKTTM=HYPPH?0` z9Vr?dXE0(==Hf^p=zGwCyz&!Aa*c#8=Wu?0UVpde16O@$nrC=btT3J%q@4HnqI zw`50I)wF3xo3HGspA&v@M=L~nUOhgp%1TR0;8kQ5fOAz@R)V$B3aP40jaL8t=&9}W zJb!vxWVx1Pz>CP>2K1CH%LUi9d7;I)S)TRu8Mp(-^~nPIi&2PGT*VyzR@Tw`2Yb|# z{eLeH+t>?(VZbche$UrDjJl&o)H$1W)cyAzrRvjj=o-q_lG6#QPZn@G8?e&}7O?Fk z10t&5&;+y!-y1HWql-wR-cM#_j5IOz=D#X*y&kCKilv9f&L?k({Am=j4`Ozo?E>|lNdMR>VQQcaF z?-hFkzEW@R6iodj1uvectf=58BMc;m-_Y`ei^G;FsDn!~i zY!YquFQPpnCeiK@NwgzGYm;by888*C9Y>M#UPL>N5BS$tf*S7I{&-^W}4PFL%hpzr$d=twAmn@5F3rMG>EbkY|I@36hxptBRSb5^T&40m_112$WU3HGe833WWtyAi@d~))WPAgbB3U z?f*Y#M1Wn#OxFoEW{&`6!9E1ay8Rj*5{<$JDG*@|32T~$H^Kzk?e_0;dVfC!*!NpR z-wWP`Alt5Sm0)VSO%>vYL>T`{O`6J$%~c1%vErCdrAr3vLQ+XB-K2)i(l`#?VuW@J z&DZyd5Pty<1K)HQ1RHZefN}#4A+Qa@VT}QaR$+@2h_IG~HEqiqVMn#w?f*Yl#F(ci zdYoXwvdnYo24HAkT!zqF8Wtuf`NK;sO{WoTKONLw4QkgxWxBr_G|Q4C44M%mOd!rF z0iNAFPmauFbCOI`k~pU3L>(z{t2@Dw5_P0taDOtW7?i&_l5@HaCXgk+9`xmft|a&k zu&Rntx&as(4woV1j?!yP#UEa3Lb`3c+wbW4OuG?G*mX@K-2e=ogv$_eP@0J8_`^%x zMW@-{WY8-CQm~6O1&UHd!ExO8O16Y`Eq((c5ErZJS{2HJ+`d;`OXjEUNo`wD-u7@Z9CllU(a($81#6A?DOL@ z+4FJqV8`P#61ikRMD-V10pK?;Fnti?+uXN?Wx3 z_V&YrjpK;KI98PXjwuw-3<^15@SwtdD|WZoH^Xmzn62r~RP$cteD>#{Z6uh{l%eFM zj0B9cHT(ZH+Xn?-^rN5MMZxLi8yvpJnv%rnqzc@gfZzK%j%#N6{se79_$u18t~6Ia z_?Bq-4PHfSuSEOPgDs-fjEHuXb0FL|Y4NZ7_6t>xatWTzrUU>0002ovPDHLkV1nHj B`;7nq diff --git a/public/images/pokeball/gb.png b/public/images/pokeball/gb.png index 8cebe59cbd76ba21ffc50bd1c4efd28be6479b45..94f278c8ef154dffbdec9a47e438f6a9975a18c7 100644 GIT binary patch delta 757 zcmVi!utAr zZM7x)Jbj+e>v=!V=hO3i97w<(UfFCaoW|_jr z7{g4+JcgSQhJR#5oqW%4{sQZgtH`WUKx2(0DRQ_(%}e#T#DwT^8EFb;|Nr(?PmGR~ ztJ}TM_+l9E1JJYsrJ`Yc9UDgJ1Z>Z6m96HlAHn#C=*6n$JcRZwxVWxr(LK1_hMp%i zqD6iso47TRfVVSf3q#i}w5*hSR@vwD5ki~tRX4DI0DpsWzJ2uvjKpX65UNW500009 za7bBm000ie000ie0hKEb8vp=J~4U^SOWNXlRet8guJZ+7zro@(yl+;3nG z{C|1#Mt`xQHu-*Q2dT_LJcx*0+kRnE?xz8$9S^D)V?4J(MC@~L2Ecn%C+e;M@Y(C| z)N7%mA?M$(7-Kvi;AZI%fFQ_mT*?!cz5v+SFaP?vyvz8-irR~#O8`_yJa&g}LsIpP z1|nj;Vnyww+;=np(FU#fqY6cBOf$s;0t8xfVsl n&QoJDkS;E%_@lenUoh4WdxUbX{q{g)00000NkvXXu0mjfM|x)9 delta 271 zcmV+q0r38e2B`v&BYyz!Nkl`usl2GZZK5|eAo^}i(Oa} zs{|fs0T}N$eEACieujaTY4#uzoO7!+!0W64XquYGR&l2`0Dq`DYBaUVn6-!myMF^< znr7ZVeO6e;@%af6303NJ+P}mbf59Afr1uQlpZa->3P1*=+**s)nvY|w`}4?jI$XD8 zt)=U_OzQhS=ZU1X#uyWQ5RqW5&7efqT3?loA#bVdnnwE7>1139G{)RG{^zgp4N;J1 VRk$T^1ONa400>D%PDHLkV1jf|gBt(< diff --git a/public/images/pokeball/gb_open.png b/public/images/pokeball/gb_open.png index 06409c56cf747b22642748354a0430fe8190d848..26d8956fd27f01832e76b29c93679dee72a08ef7 100644 GIT binary patch delta 707 zcmV;!0zCb*0@?+TBYy#bX+uL$b5ch_AW20-HZeIiHZ3wPF#rH4k#&*JE5l(N$6wos zm=FgCWoeu?4J9rPTa3bCn=)Ls?|!LmzJ0%2TCU1i!utAr zZM7x)Jbj+e>v=!V=hO3i97w<(UfFCaoW|_jr z7{g4+JcgSQhJR#5oqW%4{sQZgtH`WUKx2(0DRQ_(%}e#T#DwT^8EFb;|Nr(?PmGR~ ztJ}TM_+l9E1JJYsrJ`Yc9UDgJ1Z>Z6m96HlAHn#C=*6n$JcRZwxVWxr(LK1_hMp%i zqD6iso47TRfVVSf3q#i}w5*hSR@vwD5ki~tRX4DI0DpsWzJ2uvjKpX65UNW500009 za7bBm000ie000ie0hKEb8vp!lA&(KAQXi^y2`0vRFl+H>>W1Sq}eM> z%~tUWbEqY#slCENQoFuI%>udtHM=me(4UevI|%~rcR3tDQ0U?9JLdDx=Ub7_>k{-Y zcPOO*(0^KQ>#0!ywBsCqKAr%$TrNAu5CQ-2lG=MRNX_|JhG3MAI pxuk%(wAR4&mUdq^Z%j&H(l7K6ez+o`Ni_ff002ovPDHLkV1l^DPTT+h delta 281 zcmV+!0p|YN1+xN>BYyz;Nkl?FEqFsG|~2Fe`cMB9WD;gKMnY zJx1KV%H#wfi`zPo9AOZUkPXn+UuFLJXD0t7h6>a3o0f5RcV)`BNrz#Y6`+55STsod zu3MX2Fif-heha|${o|q_@xwIhu3H-eAR<}|YaI7IF-BvCX@Az2*8}I^_GZH>jl8_r z{3}d3-)~v{l{m#UF-8L@-yUkg`^RD7p#jK60G0XUzNgT9tyM(ST8sBS3rbjP0W`*F zjEHCmfwpZ=ZYVWeaVDH|0OW@YAprcERPxz0z&MUL=dz&WOXQy@B3c;y`Agm}wq)wN frox0IO!x#QF%oTEI+9|a00000NkvXXu0mjff8&JZ diff --git a/public/images/pokeball/gb_opening.png b/public/images/pokeball/gb_opening.png index 2a44eb6d7c263b8bc4520949155fcb6ee310bd7f..9947f7ceb37fc7056b6c833de1376d4ed8b0eeb7 100644 GIT binary patch delta 758 zcmVi!utAr zZM7x)Jbj+e>v=!V=hO3i97w<(UfFCaoW|_jr z7{g4+JcgSQhJR#5oqW%4{sQZgtH`WUKx2(0DRQ_(%}e#T#DwT^8EFb;|Nr(?PmGR~ ztJ}TM_+l9E1JJYsrJ`Yc9UDgJ1Z>Z6m96HlAHn#C=*6n$JcRZwxVWxr(LK1_hMp%i zqD6iso47TRfVVSf3q#i}w5*hSR@vwD5ki~tRX4DI0DpsWzJ2uvjKpX65UNW500009 za7bBm000ie000ie0hKEb8vp1R49?nk}*p|F%*Trl!xL_DGvliEcXpU2L+*9 zor-iQbn^#P5OnC8&DkxBL&p9Imu@;aR)m6dORyB3g5V~|bCA5Y*6yAu;eIFgB)RbK zq~bzEa({rz?)?JrK5YWvy;lH9g!>x}vh5w7%{l<)ag)ht$lcm0?(LOxA@|;^1fajs z;G%WOO?SV50rn2-w1Dzwm43M51pgE1=-B0zvn>E7qak0nU1GeC`U?Q%VU?$cOeOQM zzdiuKIfu0tW129X-AhFBWd77NO##TV44~MDX>YSIspw48ln}z7PZ?|8dsPyVTx-1& z1_&XbwMInp5Gw=*t^fc407*qoM6N<$g6Gm`zW@LL delta 283 zcmV+$0p$LT2DJi^BYyz=NklLUai<^nsw z$`UY87#I>zP++rMpa*UxSmlVbXn5V69DJh5))@ass4z$$#Vec@f}VM7%0@xB(9D z1?OXjF@|v*>AM~0W5?=g!+P_=!9=+y2@Az}x|7t#6y2i1;8PvN+y*UsaV4bBaaRb&b{o1f|ph h2(>LHeakL=0~A;i!utAr zZM7x)Jbj+e>v=!V=hO3i97w<(UfFCaoW|_jr z7{g4+JcgSQhJR#5oqW%4{sQZgtH`WUKx2(0DRQ_(%}e#T#DwT^8EFb;|Nr(?PmGR~ ztJ}TM_+l9E1JJYsrJ`Yc9UDgJ1Z>Z6m96HlAHn#C=*6n$JcRZwxVWxr(LK1_hMp%i zqD6iso47TRfVVSf3q#i}w5*hSR@vwD5ki~tRX4DI0DpsWzJ2uvjKpX65UNW500009 za7bBm000ie000ie0hKEb8vpD)V5*Tl2tAN zhi0SBa=GH-D8u&-xx(X(uV~NyG}Cj&iRAjRO%SY80^dVDd(8BFGsAZ8t(GJR1ZkR; zK)U#5k!IyA&YgHD{6G-+UJ3Pe7l2+pE^F3QOMU&1Xqt~W`MIRosMFV7wAQ$;%U}|5 z=5{IxH6cW#lwvT67-z2lxULI8k|a#?5uXPWlu{%~vc5wYhK1I;jF(aZpp+_WaU5fe zampq+D6{wmE^wqK27RxvLfU<^Gou~B|3AgHVXa+W>kz^lX1@it(`m!N@;bOr zV3iZxMzpGlaRwkx543IpXkZB;6gvQwC+o4L=|8Ee5`fBlWPhPFSXgV9RP^HtP6`0` z`$+foSXIVhwbWhfCnLl-bKy*SkEu$!YsnO6IKU2IFfPkqIHRhF2!n9|OmXIR=zq4P zsx(cLZ8+!heJ~CThzQ>MH3w_$qN*8`hD9Xzy!YfSZCR70Uz1M3ZGqnVx5WSaHNF9Q XdT3F^#u4iP015yANkvXXu0mjf)~|hc diff --git a/public/images/pokeball/mb_open.png b/public/images/pokeball/mb_open.png index fc3926fe938981801a74fe67f2f65c0dff0de64e..f4e0145dcd462d0aa07e1603bc8f38ca5a43bd22 100644 GIT binary patch delta 701 zcmV;u0z&i!utAr zZM7x)Jbj+e>v=!V=hO3i97w<(UfFCaoW|_jr z7{g4+JcgSQhJR#5oqW%4{sQZgtH`WUKx2(0DRQ_(%}e#T#DwT^8EFb;|Nr(?PmGR~ ztJ}TM_+l9E1JJYsrJ`Yc9UDgJ1Z>Z6m96HlAHn#C=*6n$JcRZwxVWxr(LK1_hMp%i zqD6iso47TRfVVSf3q#i}w5*hSR@vwD5ki~tRX4DI0DpsWzJ2uvjKpX65UNW500009 za7bBm000ie000ie0hKEb8vp!lA&(KAQXi^nwr^)YGnHu%T$xf$+^i{ z=Jp1~@&=QYBvs2EV|Ab_u#-&up+6;Ub`k{K?{YYRpwQ>zSIp-x-%lc+*CqJjUQtQ` zptauDQ-7lXnEE-I-y764&A~B*0KnUW=Kbec2mmQ%EWuJC1ibg6n)>-)I5|)K97Wo_ zZCkc&JB3p%gg{jm&fr|N_g(<;3P`RgLk&gHb|fifOm`nbI1B)#6jI6vP)RAH za}I0mXjv5~?s5Zv=nz=!`KC77?^>=KkcWQ1ygkQN-0 z88Ve%T?OD0K7^1C^vRz_l8uMW?soTdwy+_kDiwWt#3U9(% zn;-4H2Y|^-XKh5T2nNTk@mjD0& M07*qoM6N<$f|SH}OaK4? diff --git a/public/images/pokeball/mb_opening.png b/public/images/pokeball/mb_opening.png index a25b38aaab5f8a2a29e354bd6aa53a664e1b393b..9c483fbbb9c7cee916620dfb137fa741de2b5d2b 100644 GIT binary patch delta 770 zcmV+d1O5EV0-6SpB!7WvLqkw=Qb$4{Nkv08F*!CiEix`K001bFb&=02!(kl9U)zY7 z5C;ckX`D6qiHlzc{sOMbSt%kVXJ_KV`ucor zwI%yJeV)(jc|XtR)AM{Du!hn~MsM&yCY#d&ey?LGyzFRt#eYU09dzP~D7rcyoDNaf zJ|D1{@y>15s( z&*E!T5*h#j55!g!V1CxUOo^J-FP4o+mY; zMSdllxHXZ0w=-x9L)R^|tdx6J+2`~TLYwkcH?V&IgMV_qef0;7#Ao*qs!IO=000Sa zNLh0L01m_e01m_fl`9S#0003$Nkl=K4!3F6Lms;gsSNfG3lj%=P^-QD~CKkr^1{5yH> zAR^_sn139El6Hu-)~gI6QqF=tSHT6Z+dBZVtRP!&(6@#U^To)dSZh7c!7s}j00x6= zvaG1mmrFy^4w(ggMkd7*krE&broYMS4e_@IU|dW%J8!ej3X*mRz{w-g)BWWG02A}b zVwYl!q19?JeSc=LOX+TVbhkY|Pv2ZFW*Q%C`F~o7qd_HHjT2dcf zMk$3-iu&7M?X3oY)_MudK%_j4||mkLli6k5}BTADFa{+|0gSe1uT8BYy#bX+uL$b5ch_AW20-HZeIiHZ3wPF#rH4k#&*JE5l(N$6wos zm=FgCWoeu?4J9rPTa3bCn=)Ls?|!LmzJ0%2TCU1i!utAr zZM7x)Jbj+e>v=!V=hO3i97w<(UfFCaoW|_jr z7{g4+JcgSQhJR#5oqW%4{sQZgtH`WUKx2(0DRQ_(%}e#T#DwT^8EFb;|Nr(?PmGR~ ztJ}TM_+l9E1JJYsrJ`Yc9UDgJ1Z>Z6m96HlAHn#C=*6n$JcRZwxVWxr(LK1_hMp%i zqD6iso47TRfVVSf3q#i}w5*hSR@vwD5ki~tRX4DI0DpsWzJ2uvjKpX65UNW500009 za7bBm000ie000ie0hKEb8vpPbXFR49?vk~?n0Fc3ta9jkYvepE7L4w1&k$Q9TH z0Su^>OLg%L1Ro&xklYv`kKj(_rU|K!lLKTLVi&WIpCSBzZPtw%Y+iq?Jh_l$Z!zLl zfGcp8h<`CogOaQR>zyz%U>tOKjTBuzWlGqaifIRvn)!O}5?(}m}s^*2ef z-MTrPE*!=YfF{O=p{F1nzxI1xZa2!Zqe5Gaa*<1p}gzvqhsYyrIYcqxHq)$07*qoM6N<$f)WBjp8x;= delta 262 zcmV+h0r~#L1)&0vBYyzsNklz$`RNjP==0@h8bv6 zy5k7m96>5Mfs-~J1-^qQ;x&%RFhj{UtJS>!rClxj|FxJWR5hk&cRypQIk<73JH!v6 zszwXZiA20TMJE!SNVE_w#0x|*To#dtaQk=%_phgY$N|Wt;D42>#>SnxuK9dFP+xzr z-|j}B?|T4ljz>^^uBJ`^`|Xa0)ryPvDJ>PC#AZfHiAEKG17Jg30hk%<^?DRFP4gWO zU`mOc^JxyM8fG>^MVwL^b2(?+eX+dcT3Y&b(&e4!V9xn$;(z`cU%824gWqj}O#lD@ M07*qoM6N<$g6J-Iy#N3J diff --git a/public/images/pokeball/pb_open.png b/public/images/pokeball/pb_open.png index ba166d1fcdea41a1f5e825fb27ca9b116823d2f7..62db56cdddef557271f7e8145d34e348da8a6f09 100644 GIT binary patch delta 688 zcmV;h0#E&x0>=fABYy#bX+uL$b5ch_AW20-HZeIiHZ3wPF#rH4k#&*JE5l(N$6wos zm=FgCWoeu?4J9rPTa3bCn=)Ls?|!LmzJ0%2TCU1i!utAr zZM7x)Jbj+e>v=!V=hO3i97w<(UfFCaoW|_jr z7{g4+JcgSQhJR#5oqW%4{sQZgtH`WUKx2(0DRQ_(%}e#T#DwT^8EFb;|Nr(?PmGR~ ztJ}TM_+l9E1JJYsrJ`Yc9UDgJ1Z>Z6m96HlAHn#C=*6n$JcRZwxVWxr(LK1_hMp%i zqD6iso47TRfVVSf3q#i}w5*hSR@vwD5ki~tRX4DI0DpsWzJ2uvjKpX65UNW500009 za7bBm000ie000ie0hKEb8vp`6pHR49>!k};0MAQVI&R+_XfT>sM1p2S+0dlZgA z%Pm~8@<~>42ek{@l%$AA0NL7+C=hQL22eEmyWLVb|GM8*Iae+C{dl0Y2EZ7@@AX<4 z6~F>Xi+=#n_kEQZV|`oAgR3jFbwSbehBBa7$aS~ za0HjSgb);v&VZbnJ6r%-Q(LxRUPlsj!4bkR43m2uqATQ>!X1IEz%Si^Hyh9&D})i^ zDY&fAEzG01B%#+suh^0uTM40oKCW8Ebh%L#+u`M$0>Cs3RfGGo002%o69DukHsL5z z6->-)LqJbC69E7-Yb$J#m?0uWFX!}`GycKZIdnFPI}jQ-4Riy#J>n?$vqLM$?G8pT zv+lW+J}!yK*H&g$?>%CSo1ldE9spECh?rSZN*KrS&>?Hs;ZKAR>ZMak>q|E`m3a}N z-iUdg5klAmWq$YbnMi!utAr zZM7x)Jbj+e>v=!V=hO3i97w<(UfFCaoW|_jr z7{g4+JcgSQhJR#5oqW%4{sQZgtH`WUKx2(0DRQ_(%}e#T#DwT^8EFb;|Nr(?PmGR~ ztJ}TM_+l9E1JJYsrJ`Yc9UDgJ1Z>Z6m96HlAHn#C=*6n$JcRZwxVWxr(LK1_hMp%i zqD6iso47TRfVVSf3q#i}w5*hSR@vwD5ki~tRX4DI0DpsWzJ2uvjKpX65UNW500009 za7bBm000ie000ie0hKEb8vp^yjf&Hmp%j~)1TVXhyx5U2Ua9R>gqiCc(q zw~2ALiGROU6~7^FA&SUY#3b0M^0wOmaQyli3w2#b2kb>qRb$c^uT?byRs?`|RjOpX zjQ2E!U(RO^c}@s{EX(l6BZoZa`E&vxh~_d}AV zs%9Y~(OUZu1{j6`Yb_!Y7XVGuP?qIG!&Dnb3PmBXUa#r<{syk=8s{9UYL-dx-qW`2 y4EEmNbQ{l}u4%2E0nRx9RMpH3*TxhHOz{UK&vO<~M6_=J0000c)9=T^jYhSVHmzUea&C`034rt?ZApWDF6Tf M07*qoM6N<$g0+%^w*UYD diff --git a/public/images/pokeball/rb.png b/public/images/pokeball/rb.png index 3d83ce0ecf07784a3b65c0ab241c5d1e218ced24..e2e1f1b077e71da0ddc2d22da593e79c1ec3a25f 100644 GIT binary patch delta 712 zcmV;(0yq7p0^bFYBYy#bX+uL$b5ch_AW20-HZeIiHZ3wPF#rH4k#&*JE5l(N$6wos zm=FgCWoeu?4J9rPTa3bCn=)Ls?|!LmzJ0%2TCU1i!utAr zZM7x)Jbj+e>v=!V=hO3i97w<(UfFCaoW|_jr z7{g4+JcgSQhJR#5oqW%4{sQZgtH`WUKx2(0DRQ_(%}e#T#DwT^8EFb;|Nr(?PmGR~ ztJ}TM_+l9E1JJYsrJ`Yc9UDgJ1Z>Z6m96HlAHn#C=*6n$JcRZwxVWxr(LK1_hMp%i zqD6iso47TRfVVSf3q#i}w5*hSR@vwD5ki~tRX4DI0DpsWzJ2uvjKpX65UNW500009 za7bBm000ie000ie0hKEb8vpG3^#A~juV?otg%UwJRQi@-a$`WIYiv8wnFXO}X u+H3*A;sDff5)h=a1PB-B!wM}d(c%}MyJ18SZ4%u80000&`W%&5uRzjz6@GGHU|)cz@^~HAj;F#kJV+J HQ$iB}r-N={ diff --git a/public/images/pokeball/rb_open.png b/public/images/pokeball/rb_open.png index ff72ae05f50b76bead423fcf7c144058285d5fd9..94d480b5828dee3a7aae15bcb68bc5c17ec8f245 100644 GIT binary patch delta 745 zcmVi!utAr zZM7x)Jbj+e>v=!V=hO3i97w<(UfFCaoW|_jr z7{g4+JcgSQhJR#5oqW%4{sQZgtH`WUKx2(0DRQ_(%}e#T#DwT^8EFb;|Nr(?PmGR~ ztJ}TM_+l9E1JJYsrJ`Yc9UDgJ1Z>Z6m96HlAHn#C=*6n$JcRZwxVWxr(LK1_hMp%i zqD6iso47TRfVVSf3q#i}w5*hSR@vwD5ki~tRX4DI0DpsWzJ2uvjKpX65UNW500009 za7bBm000ie000ie0hKEb8vpslD%pIQ4mJYtP6nzQfLsXcnwLk4+Nhe zsV!|p$Wx?HF&10r0Rkb7rL}ni38dEikZi0Z#TJ4>3YiqkUDsvxbTjkKotcj-B)B;3 zYdn7atba>9c9X*X(LHB39snN?x6}#qwow2|`L+&Eo&mW2Io_B!EKbAx*A?HtcOn4q z)v6|iNruHK=cAEGDc@Eylbzy-RRyQ%gg0gnYFl--)^rpnt*|R60Np}MALT7o5G)4a z>sqEW>q+Esx6o1m+h}QO8Gz2Lx3<+7qq1zE`(jV2H`to*`{Ed5H0OHkbSg7JmJN(C z>TFk~6RnhUJ%Ysm-Fw*-{9VGT60H>drC>fLdsqY3E(P;(`UE@09vH_O;rqU9G$b1> bR%rPL@lR(fOYc{f00000NkvXXu0mjf^eI@m delta 293 zcmV+=0owk62EPK3BYyw^b5ch_0Itp)=>Px#-$_J4R49>+P&*2PKoEViBwavc8!I7& zH`p84SXgV}`Emo1G`WE{un1VCStMX5I4NX|ZdCGMVRq)d`8>b@XE}3KO)tyYt&;?; zF$@6lGguKG*B1aFtZSMDtugEpT|BNYgmq17tLqkoqhytT(0>}kN|e4=>=LCGKLe<( z!cmR@Akr!C5xVznjvHIjZ0l0Ag~pZyU|K2CDPMfOOTPGeZb*?%+4qXo=si*2+4a#! zIFAW{#nE!CJ87A3Y)L064C;>anEbdjsQc>wi!utAr zZM7x)Jbj+e>v=!V=hO3i97w<(UfFCaoW|_jr z7{g4+JcgSQhJR#5oqW%4{sQZgtH`WUKx2(0DRQ_(%}e#T#DwT^8EFb;|Nr(?PmGR~ ztJ}TM_+l9E1JJYsrJ`Yc9UDgJ1Z>Z6m96HlAHn#C=*6n$JcRZwxVWxr(LK1_hMp%i zqD6iso47TRfVVSf3q#i}w5*hSR@vwD5ki~tRX4DI0DpsWzJ2uvjKpX65UNW500009 za7bBm000ie000ie0hKEb8vpN zlK6O)X4-Xd@CZQrV;^Y1yn!SDF;c5`&D#zDxZAx3;BYvEn`ho`PcuTW(ukt74GTtl z`db*ZS~+59bs`xrm%i9Lvq;8RY4rCg6Q9uPoMC@mNnw*a6$)1 aboc=%wReO{F~BDP0000Px#)k#D_R49?nk}VFxKoEt$ZNLzcwy6M% zz`y}G00u#VLiHvbfSaIDBo!DAzyXS>z!uRI5`t;cBARXXr-0>|%}&0_&b+tqcM@h{ z94ssKo@9~62ov<(5P-rt0`SZ;tx-tW1Wi5jj3kRhM;27@;D5yctnO2LhjFm1`hK8+ z=hqN`SuX`(ejPRq%?k%Fwm^A5jnbw`0PH9A!kb&`_-qIDxxPfA8A-bFNs@5@y5-_4 ztje-Af9y2CcS8#2*lugLTv)*s=($))ON*silUDWXFTDYTf>>_tHWdi~000hUSV?A0 hO#mtY000O802BZK0002eQi!utAr zZM7x)Jbj+e>v=!V=hO3i97w<(UfFCaoW|_jr z7{g4+JcgSQhJR#5oqW%4{sQZgtH`WUKx2(0DRQ_(%}e#T#DwT^8EFb;|Nr(?PmGR~ ztJ}TM_+l9E1JJYsrJ`Yc9UDgJ1Z>Z6m96HlAHn#C=*6n$JcRZwxVWxr(LK1_hMp%i zqD6iso47TRfVVSf3q#i}w5*hSR@vwD5ki~tRX4DI0DpsWzJ2uvjKpX65UNW500009 za7bBm000ie000ie0hKEb8vpt^}?e`aUk|5GVH z++FY3Vt;*pvk5f55E0wI_~7)Y5d_>nu1JS1@;tA2gNWFN{ulLbo5ARk`E&um`{y&a zS1*Ana!K`WoA2Fyk|g2yqyxZS^AI5DS`!f)$1$)WTE3!3+IJ`;BDPk3oKF`_W@7+; zgF+$zV+`x3HvlHHF~%5_QW#_W#{+{>ie6gf;6`i-fY#azdTEt(*g`3_U8{&#msT9b zi2$-J3%68EbtC;naJX`+O9sNj6>&y~6FPnX;=gD-J00000NkvXXu0mjfhU`qR delta 257 zcmV+c0sj8v1)KtqBYyznNklb>!47?b5fJb|)M~=-8=r8aYUi$=X>1chS zQ`spq^@7YAv!!c)zz%_w$S4YQECB)H@$N*B0{(yOwg5BxW1doKIQuQ}b-6SKFSy~2 zkeU5-?EQLv_H|u-7>0Vz?@xX@_FfF@3x|2aIQ3W#3jiR5P>bkn^`3lv4~VmRgqHKbw9b5mVVuIne&#Ys?Em#{58G-;8a}O{AB_y00000NkvXX Hu0mjfqn~;W diff --git a/public/images/pokeball/ub_open.png b/public/images/pokeball/ub_open.png index 40fdd0941e30e4851fa73af3149ed6895daecde8..2ccf2ae366d7e6daf9be8861172d1d0b9b0cca47 100644 GIT binary patch delta 720 zcmV;>0x$ij0_O#gBYy#bX+uL$b5ch_AW20-HZeIiHZ3wPF#rH4k#&*JE5l(N$6wos zm=FgCWoeu?4J9rPTa3bCn=)Ls?|!LmzJ0%2TCU1i!utAr zZM7x)Jbj+e>v=!V=hO3i97w<(UfFCaoW|_jr z7{g4+JcgSQhJR#5oqW%4{sQZgtH`WUKx2(0DRQ_(%}e#T#DwT^8EFb;|Nr(?PmGR~ ztJ}TM_+l9E1JJYsrJ`Yc9UDgJ1Z>Z6m96HlAHn#C=*6n$JcRZwxVWxr(LK1_hMp%i zqD6iso47TRfVVSf3q#i}w5*hSR@vwD5ki~tRX4DI0DpsWzJ2uvjKpX65UNW500009 za7bBm000ie000ie0hKEb8vpsl0AyUFc3zcOnQS0*K+47bx10e245hs z^`5}TaO-C4g}s2lkj70QS1_cIY8M9g0d27>|FPN+1e(zsWLT)%wjrJw9g%^wE}PJsthXcUAXf1zBzs%1_ zQc71<)eNi`Kvh*pDIGv0rF6y^wAMk>TI;ze3Q1A{%@1dcp(qOazTW_Oo>P`3bzLu} z0h*?vZQBjpG|k@~d>3zUt-7v(<(4*IcU|b^L9cHGlz?`$O545w00008 zmT^f;AZrA7ipp$&6fqf!a(sRj34DOSKN1R>rqTSqEDPoLw|JOGqX5wL^{T=3bEg2X zKTebi=Fw;ro<62kLD!qqaDSYL0Dzgb6qcMX1|mWbDX)Bpeg diff --git a/public/images/pokeball/ub_opening.png b/public/images/pokeball/ub_opening.png index eb92b5b77a2c79ccddf5530ed842ef28bd8c4e5f..6c8e77112010ddb5326f3b8bb200fd546d4f86bc 100644 GIT binary patch delta 735 zcmV<50wDdP0`>)vBYy#bX+uL$b5ch_AW20-HZeIiHZ3wPF#rH4k#&*JE5l(N$6wos zm=FgCWoeu?4J9rPTa3bCn=)Ls?|!LmzJ0%2TCU1i!utAr zZM7x)Jbj+e>v=!V=hO3i97w<(UfFCaoW|_jr z7{g4+JcgSQhJR#5oqW%4{sQZgtH`WUKx2(0DRQ_(%}e#T#DwT^8EFb;|Nr(?PmGR~ ztJ}TM_+l9E1JJYsrJ`Yc9UDgJ1Z>Z6m96HlAHn#C=*6n$JcRZwxVWxr(LK1_hMp%i zqD6iso47TRfVVSf3q#i}w5*hSR@vwD5ki~tRX4DI0DpsWzJ2uvjKpX65UNW500009 za7bBm000ie000ie0hKEb8vpwr<k0 zlByENF-1{qz)6yjWf{)7z^^sWb0(8X1J3h&L#^@CfL~`7S(X8-6Z!Kk{Q~WWbeHMh RnIQlG002ovPDHLkV1iR*S2zFw delta 265 zcmV+k0rvj(1)~CxBYyzuNklgR>3+AWSTR=We4=$r#!+cx$F zn@m0(E(~MG@bY>`d|RG)zkUE}F~+LSjbZExNkkBlf}gv#oPTRowUiP7$Eig`2qEB{ zLqwR?uZL1fsH!!2@;J4e4i^B%aRexMT6-XUi_RM6bH8h4?!_3ZMpex@$GrXS{e14T zdsYK@?;lG~RV|mQ-Yqk;WmzoeR79`qiuaxnLczEDpGoJ+iRYvr{!5>;Ms9sIu86My P0000g~1Lhrx;k7fXgr{5fy0D#U-Z~t58|D- zK~!kom6_*b(^w3^MVCd=CTT`nT*BTI(o$&QC@|(*zteK4;HUTp- zEynp%z=Y=%-d~9jQZz@13|6n9;JKJe0MpAEtHC6IQmA#^zYegj3U%{>D&!xjasfse zfsrWzn^9_538*&G8?(2-$c}=MlT$$Q6#h&Zg$R`tb)d;e3T~vE4!5UUh3VbMs^5=B zemvSop>(+ja8VWN=3!OH-&5r<^fE$#RJbRj9&cQJ222GQ;8Cm$^eP6?SXNGfJ(og8 zJxSwJ^n8kNu9Bjtr3kmav@-!P6?1GRMe~JP(ESSl3#w2z&#OZIB~{MDQbriC1z6&Z z+qh&J90BzSp#e|GOnXMjsUGtYr208U`-Y3 z<^fg6KdZ_Cn9T?S{^xAgZbt1<05EQ+1a^*eqn0H_-rSg<9AB`}y6>-2Kqg+uh529Owffd*4s9@lge+^pm6th_&iY zPg5WRg){XO5js%d(wc=+^qY==O z2+p8AjsX9Vf-Np`s{(|FSsPCFaf%R~jLZZ;zF%AM6Kw)eOnY5cvE@tzXoXtU{i^`0 zs!%sit3v*+DyN~F5e8`CT~lcuMMi+Bf20JUi^iB~HpnIb@-5!=kDOgpQgnj}DMEBI zU1uC1-E=@`sb3}?cdhz8&v`&A)G6J63gDC~`}qr{ugYQQXM_M+aNkr|Mn>7#Iq28A z*e{~5S_|}(^CF-xfV489iWo?vHvnmLHc<*`Wk3B>Q&wSsK27$WVswc1Fkh$@-M<2` zq6&5Mq$=c}Q{^PgWh4M**>k)ZTL;odpax*hoQ!h@X-*-4h4Cjd^ULft&13ics_x&kD57_>hp)_(ReKi2uT#|d3AygOW25WtkySTU>#P<<4t0}C=uMv!_62S~1_6d_D4LYzV_qz=Tl zW%VKvS#iM{))-IhKfLcqLh=FCV%YGjNHmamqo|b}#XiXe}KV(`8jDdhVfI^xpUv`S_$N_4h zQ1|broA2JefB)#wqfeinJbCip-+%u6{k?nlUcY|v;-`-vA3uH!@bA{n?(X*X)vGse zUcdg;x8HnuG`WsLc(Ue>#?=81V);N{Eb&+p#7`|8z$2M_-E{nuZ9ynp}xn>TOY{_ybO!w(bg$b-6piV9(mkVg#++ETz-A$QlpzBR|pNA(! zGk$wgov)Ho1IO0{eeqe;$u$RA}rP9`Bz{Ww+sQct&UD*6Y2bVWpuhzg68`4|jWXW^TOB_r2@K ex>>!-a^)8d{a_s?DOWxK0000MBZ*OkoVlotHdD!`b zi=F$B>7mfFY1{0!tzA0zYU9~Pg984Ap$|T>O#1qNmBTLCG({ICpjHNk9~*@P<&RBh zej9YY`q;(gg)>Ta&QtaLe%tx9mHBsTw=2t2=cYzaDzTAO@x1-kdxLDX?S0dL-oq}* z{}*m$nY{&yMGmS}d~1|Bx{%y0j>l{?e(LSh_3&N|9s5@xgPGAIC_~NAa W*?f1|PU{1LAg-sYpUXO@geCyA30!&r literal 0 HcmV?d00001 diff --git a/public/images/ui/ability_bar_right.png b/public/images/ui/ability_bar_right.png new file mode 100644 index 0000000000000000000000000000000000000000..282025bfc74d1e7dd2ef7ada4e672e80e97c041e GIT binary patch literal 228 zcmV00021Nkl;xfs3BuSFA zvSxmWh>s(wVZXfS+Mdhx48Z;NV4Mc0v_ZRNTaTv$0GVm16@vY>H6j3bJ>O1e>%rRA z!i}}9#e%i1f3Ra!DA>$w=Fe|L(6zmjsnXbS8purM&$2citgS7+V{L80U~O$Jega66 eBuSE_)qMdu{z0n@OjaBK0000=?`+G3i~tSU5XJ(6TG6bGyfno(KESZAxiVH(@(3ArMlxEOXaZz9bdBwagN{oa)LC zQ||1RzP-)xu|v;9t2phreJ1l$tKS>ydrv*M{&!!{smE0;FPGPAE?t(xFk?FFz28~q zw|5j-NP=~$%;{;FT)CS+|KzT99Ew}`7IUe!whK%scJo?Usu6#j@w+JNfh#P*Ua{-G za2Lb}im9g=F7r2>88mNY?XA@0s_B!vDWV$Et4k}7zz0uV{|yTvsC8r z1BPhzGxq|$6oD>OsRdaCmUcUIat@dN(g(ZVUuFA$`;{4!KDU73G57jJ%~qwf1CIlcBYy!_NklZq}7>41`5eH!Xw~p~Oe1s0&Gk2^yAtpqY zC_@LX!4Z57XYA&c8?*y4GPFyZVhH`-F>wSuu>c9IFsXQ{KAdx4x2Ls6eJ)k}nVLd- z@6plwPs%kQA|rSeu&uS|+;|ZCeevYYHDHWEeJ)iNzU&;Jjem@Oz-~)KAObk+;iUIe zVRnZBKtEuSb6)g^Zz=D4Ph$+S>Fjpao@%Xd}=(e%z2M;s*VZY}&oDrPhjNk+( zI3qa08Nmt82yRYrf-`~>oDrPh>_^~LaZ0`;OKfwAzC2>nM$k5Pcm|iUt-h}OEqMF_ z{(m^|l)YarWAI$}FO9EtsY$%U_t@d^hWyH^xR`4G;&oHQqAITGnfdy3UCH(d%tn3S TZ5X!W00000NkvXXu0mjfr`x(y diff --git a/public/images/ui/achv_bar_2.png b/public/images/ui/achv_bar_2.png index 23ffca0a7d984eb43404ae71091f5cfef11a3b6f..8505760d66ea056cc8e1ee3042b5de826bd8108b 100644 GIT binary patch delta 438 zcmdnWe4crNayT*0LOK-DE?hYn|N6Nn%75&L) zxHT5p*r+X*zpj|H=&6-M&WeJ>kR1lk?)9BKK0Spmtb68*igooneqPu!ZSGfgpX0gO z&F8PXpHkYNb6jEXwk0>F@EXW&KlzI}`}lXkwGR(LbZf;(i0YlWTe-t~-X?RayYpU4 zgnbCASbjTs|Lr1;>FXAo^fg`+*Q`R%#s%m&u<<>NH{NesSM1Wvxc{Dkv%7Z}RG3TL zt(AN6q1M2MhpuqxchC9xDTW7@n;y$hPeDel*m9~9ODi_@% delta 412 zcmV;N0b~Bp1GNK?BYy#WNkl9ZOKsIelVX~tVxX9sCTSMtmmm=P z2q-{J;kr+Os91tSkTgxEQA3f5rm1RDQ8hIM0&cku42)ja^8Dr2rMKTM-IDdyu+zoe z(_8%d0=9qd$tmX3ktRQ;?Lrq>jCGz+>kl$a2VKi8!D|BhIe&V1{wqIS#Mb~nXF2k*-CU&hMadHi8qJ;Edn|X9PdY z^rroeC3wXJw|~a~HjRglf(C$p?CcHfUXRysMsR{Nf)kwJjNk-k1SdEnIKc_d2u^TD zaDuZRflp=&!`tJ9IzLW3WR=>W!e6O~~ zBAZ_J^Y+`ETU<_;HCzaIcxXjI;v#qTef#gJ78}H`ak;(u=-uh{&(^;2+wQ;H-1yRu zmphhdZGK(IaVguo%kw6~+j~8J+w_LE<9(~Np@ zj~g^iKBRtl#@T%ddv$Z%Gv{!ev*jvy#diI6)AZ~7mrS9Hh1q+ zx}K8^Bzkj>XYed{*8~b3uW$XWCM_fWPFV|ThZ@t3H+N@#_~FNrch;cR-Mh;GCIhiO z@Zq5=T%_*K!{*N7TR9)l+ zHj6i9Vv}bmGX329;D6!I8PlFyKDd6W|6j<`A7}M%=<>O*l>X2i#=yY9mm1-j=IhI# Y1!QvoF$i1=o(!TqUHx3vIVCg!0OPO1g8%>k delta 408 zcmV;J0cZZr1F-{;BYy#SNkl7@C2OXP5(ptfCvof4L6Ab1f>3dg z(huO`_J;E0USlTh;#ST6JX{{IuQN5nZEsxcIPdjsP&8+Ue=Uuz`&qmkZoP2S{-!0jxAMQPJ zh!ea1R$__yG?Cex7{6WCn|$%ct&g=X**gp%y1B&NTDd)W2Jo=1`n=Fr@hGV6a-oc6b^iN zXhlI{2*@Qf+#Xg&UWk@i!~1XhRb94sdJbn+{oK0WK%ZOVEqmv}^#W31HA#XBz2&BV zHZ9=&5FN@l`NqM98vP&jF?P$Ymh!f2{j}IVR5P)dsoKHaU5nvDr4R!H17B){XPU1s ZgBFm@0mLA1DR?r7@^tlcS?83{1OSHrzD585 delta 408 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 XMdLFEnr!r}00000NkvXXu0mjfpvGl< delta 2906 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 delta 206 zcmV;<05SiA0_p*fB!968l_|yJck~mhNMbnxZHG&a zRbmIPhMJFeI(av59$RBWMs6osPUg)?W#uhv`L*}w>+HB4eiHhpE&&V6B>(^b07*qo IM6N<$f`=zu`2YX_ diff --git a/public/images/ui/cursor.png b/public/images/ui/cursor.png index 39d7b7977eea935a6da876e97f1eff56abcdac01..68283fcc22de2f929a1501dd8b1ac68074b49c9e 100644 GIT binary patch delta 126 zcmew?-o-LOS(LFg)7d$|)7e>}peR2rGbfdSL1W_P2b^V$F_x_#7cwv~IC#1^hH%VG z{=v`6lhMF=%wc+p(=!F{MIH*?Ngf73km4@-|F~9TsJmYY=Q0+bf>)d3+|+WKG^VAx ei!T1b%wYIh@#&u5$^}5P7(8A5T-G@yGywplk}M4X delta 2665 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 delta 99 zcmeBXY+#(A665aa;uyklJvqUFNls4gzpahUKVt(RP~<*zLtJmpkMk{h9Lzp9SOR;L z;*yT{$@W;3mXw$zOgAvtkl-@i#qimoR^bA1CWapyM8ED+I;qG21fH&bF6*2UngFzX BBQXE~ diff --git a/public/images/ui/egg_list_bg.png b/public/images/ui/egg_list_bg.png index 5600a3e6ab7581549b13d6249d90323c973576e6..4ec09441866bff5b4c6b07695b4dd7d218e89bdc 100644 GIT binary patch literal 1800 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 literal 0 HcmV?d00001 diff --git a/public/images/ui/legacy/achv_bar.png b/public/images/ui/legacy/achv_bar.png new file mode 100644 index 0000000000000000000000000000000000000000..442b43343cc8906f2ad853959c44b4c309fa94d2 GIT binary patch literal 399 zcmV;A0dW3_P)Zq}7>41`5eH!Xw~p~Oe1s0&Gk2^yAtpqYC_@LX!4Z57XYA&c8?*y4GPFyZVhH`- zF>wSuu>c9IFsXQ{KAdx4x2Ls6eJ)k}nVLd-@6plwPs%kQA|rSeu&uS|+;|ZCeevYY zHDHWEeJ)iNzU&;Jjf{T4Zc9WU0yyj8r1w-|c838#KVXq_Ui61=DerqvV+^wC>~_}U z@!6oPUz6@sRh-Z^c9ZBLGR*Q_d_@hV#$IZhDeqQ7JDzFNMsR`?oDrPhjNt1mySMvT zg3sLX__PV=wz2C64>S8=zvnre5uD(R-~=Z)BRIhs!3oX?PH=)Vf)kt(oZ#$7;8k%- zz9UO)bBVq@V$(*@Hg9ZOKsIelVX~tVxX9sCTSMtmmm=P2q-{J;kr+Os91tSkTgxEQA3f5rm1RD zQ8hIM0&cku42)ja^8Dr2rMKTM-IDdyu+zoe(_8%d0=9qd$tmX3ktRQ;?Lrq>jCGz+ z>kl$a2VKi8!D|BhIeNf4Pf7=|-zRTg!*nq4#+Xk>nl7GP=Lziou=E19UtP;Z*K(0A z!>y+#cDFbH0Mcbx%L3&OyiFBZ3;-B-W9YlPJ6(qGE^lyueWr9#li31M;I|T8-sK(n z8&#wlyRLJp{Iw$L@Jg#Tf)kwJjNk-k1V7C5ru~j3c*O;`#{f2shmL{oZyV$1ZM;%I3qa03C;*ka7J)~vmb#^W((yDspFh=^yM!$yFWw}_&5rD z<%?WLIiw}0xL|$+cJHL8_VLAXlCm=XXRc-Rz)OM(f fGd7@C2OXP5(ptfCvof4L6Ab1f>3dg(huO`io4L>+wpfH-ZzK;Edn|X9RC&=Dz)oC3wx9UfgtqI&MF>+}Uow&ucg% zIKdgg2~KcEaDp>}6Pyv8-~?v`CpaTG!P$?%SIfEfg*0)_Ci?Oh+i2(_2xA1{f%e68 z^>*cN!POh^|HB*CnOLvO;GSb46-8@DP1FVNV|TY#@Ei-k=L7_Ysp?Igo7xUlai*u< b7@C0mv(P8pKm(nTD)6%^_uSfNn5=~%k@9sB}WgM&jCK?I?84s^)oATC`b z$&fuuW?j5;i7r}mY2x!A+mu{?J<>w+YAAJocJu!7_6oLrhx-SZET@|Mm{x|4vIKFS zQtJJ2ejPBmRT8RsbmR=@B9wq34i!!>OL zX}Iy!#O@Xc06>t2wJcEnz}r-mB>;d?ZwS4-yMr{u)$t7H50^?8wHVLgt^8J^%e%ZI zf1`?2W7l;~mA_U*9bReGMsR`?oDrPhjNrSO-n8Gb1h2S@yOVZEA2k46>};po}6Pyv8;Os}>i}76fLh3kY9ew$WZD94`t$cWUzVgMi z^>*cN!Q~t9|HB(sS-f5s!5zawlqEYmY9cSViCv%G!Z9oWpA!%qrm8l1ZfY}B#hIRJ b6O(Ko9+rbtUwk(500000NkvXXu0mjfWv;=( literal 0 HcmV?d00001 diff --git a/public/images/ui/legacy/bg.png b/public/images/ui/legacy/bg.png new file mode 100644 index 0000000000000000000000000000000000000000..a02aa8dc65284022e0d184aac19a95f2c7f5e1f8 GIT binary patch literal 471 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 literal 0 HcmV?d00001 diff --git a/public/images/ui/legacy/boolean_sel.png b/public/images/ui/legacy/boolean_sel.png new file mode 100644 index 0000000000000000000000000000000000000000..bd832fa1289488d99048e356cbc31638661d05a6 GIT binary patch literal 2912 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 literal 0 HcmV?d00001 diff --git a/public/images/ui/legacy/cursor.png b/public/images/ui/legacy/cursor.png new file mode 100644 index 0000000000000000000000000000000000000000..39d7b7977eea935a6da876e97f1eff56abcdac01 GIT binary patch literal 3059 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 B#@qk^ literal 0 HcmV?d00001 diff --git a/public/images/ui/legacy/cursor_reverse.png b/public/images/ui/legacy/cursor_reverse.png new file mode 100644 index 0000000000000000000000000000000000000000..57fb297747ee0ca52ea9e5e89754d033204d41ed GIT binary patch literal 128 zcmeAS@N?(olHy`uVBq!ia0vp^Y(UJ#0V1dK=^FzncTX3`5RU7~2@Xtha&rG|ZEXG- z8vubK_n{l&dUJl9Z_(pm_PN0l*rODebi7Zt$D*{P#3W(5fx(6Zm+3Bs&knT;7l<=4 Y{MaD+b)V8nMWB%kp00i_>zopr0JY&I761SM literal 0 HcmV?d00001 diff --git a/public/images/ui/legacy/egg_list_bg.png b/public/images/ui/legacy/egg_list_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..932d01d335fb7b7189b4a8f0e5f45f13f23ce251 GIT binary patch literal 1271 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 WRtHbcnz0?|Q3g*}KbLh*2~7a(mut`f literal 0 HcmV?d00001 diff --git a/public/images/ui/legacy/numbers.json b/public/images/ui/legacy/numbers.json new file mode 100644 index 00000000000..33a3e60f641 --- /dev/null +++ b/public/images/ui/legacy/numbers.json @@ -0,0 +1,251 @@ +{ + "textures": [ + { + "image": "numbers.png", + "format": "RGBA8888", + "size": { + "w": 88, + "h": 7 + }, + "scale": 1, + "frames": [ + { + "filename": "0", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 8, + "h": 7 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 8, + "h": 7 + }, + "frame": { + "x": 0, + "y": 0, + "w": 8, + "h": 7 + } + }, + { + "filename": "1", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 8, + "h": 7 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 8, + "h": 7 + }, + "frame": { + "x": 8, + "y": 0, + "w": 8, + "h": 7 + } + }, + { + "filename": "2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 8, + "h": 7 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 8, + "h": 7 + }, + "frame": { + "x": 16, + "y": 0, + "w": 8, + "h": 7 + } + }, + { + "filename": "3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 8, + "h": 7 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 8, + "h": 7 + }, + "frame": { + "x": 24, + "y": 0, + "w": 8, + "h": 7 + } + }, + { + "filename": "4", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 8, + "h": 7 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 8, + "h": 7 + }, + "frame": { + "x": 32, + "y": 0, + "w": 8, + "h": 7 + } + }, + { + "filename": "5", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 8, + "h": 7 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 8, + "h": 7 + }, + "frame": { + "x": 40, + "y": 0, + "w": 8, + "h": 7 + } + }, + { + "filename": "6", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 8, + "h": 7 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 8, + "h": 7 + }, + "frame": { + "x": 48, + "y": 0, + "w": 8, + "h": 7 + } + }, + { + "filename": "7", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 8, + "h": 7 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 8, + "h": 7 + }, + "frame": { + "x": 56, + "y": 0, + "w": 8, + "h": 7 + } + }, + { + "filename": "8", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 8, + "h": 7 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 8, + "h": 7 + }, + "frame": { + "x": 64, + "y": 0, + "w": 8, + "h": 7 + } + }, + { + "filename": "9", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 8, + "h": 7 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 8, + "h": 7 + }, + "frame": { + "x": 72, + "y": 0, + "w": 8, + "h": 7 + } + }, + { + "filename": "/", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 8, + "h": 7 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 8, + "h": 7 + }, + "frame": { + "x": 80, + "y": 0, + "w": 8, + "h": 7 + } + } + ] + } + ], + "meta": { + "app": "https://www.codeandweb.com/texturepacker", + "version": "3.0", + "smartupdate": "$TexturePacker:SmartUpdate:3ed4555c7a85f0413e7039bcf9d9e18f:d744841445f249d21eff1bc3a2b50d78:1070938cc284949ced1e46ffd0a9abd0$" + } +} diff --git a/public/images/ui/legacy/numbers.png b/public/images/ui/legacy/numbers.png new file mode 100644 index 0000000000000000000000000000000000000000..ba48453fa60f3e9972ce25ee3177cc3db7a59812 GIT binary patch literal 253 zcmeAS@N?(olHy`uVBq!ia0vp^5kSn&!3-pKPp(n{Qk(%kA+A8$$;s*7wXK$mpUePq z7)yfuf*Bm1-ADteDDa3ZW?Cg7k@f?gS5jeCD#S{_l~%n z-x|rkj^C}E!`5}Bf#(9&dntU!uAYmYI?FOL@0^>4F6-_2CgwBrw&h!&50+D2zvAcH u*0_RSjz7Ph(zI~jt8Vc3!>`|;F4YLwF)g~!tttX^7=x#)pUXO@geCy8!&(~v literal 0 HcmV?d00001 diff --git a/public/images/ui/legacy/numbers_alt.png b/public/images/ui/legacy/numbers_alt.png new file mode 100644 index 0000000000000000000000000000000000000000..1512ef435d0d2e67d9225e987b0e89580e8a3b62 GIT binary patch literal 321 zcmV-H0lxl;P)Px#`$Dv-Qis>b3Vgw78lifDzJAuUW+i;l>}M*uDUY*QT`df zP`&JY@mkAMXQp0jelhKPcRptPpP0Yq>=lvQFF5mhUwMJOGoFb53;yQcgNVEUz6kI+ TPiz_~00000NkvXXu0mjf-Or9j literal 0 HcmV?d00001 diff --git a/public/images/ui/legacy/numbers_red.json b/public/images/ui/legacy/numbers_red.json new file mode 100644 index 00000000000..5248ac89db4 --- /dev/null +++ b/public/images/ui/legacy/numbers_red.json @@ -0,0 +1,251 @@ +{ + "textures": [ + { + "image": "numbers_red.png", + "format": "RGBA8888", + "size": { + "w": 88, + "h": 7 + }, + "scale": 1, + "frames": [ + { + "filename": "0", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 8, + "h": 7 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 8, + "h": 7 + }, + "frame": { + "x": 0, + "y": 0, + "w": 8, + "h": 7 + } + }, + { + "filename": "1", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 8, + "h": 7 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 8, + "h": 7 + }, + "frame": { + "x": 8, + "y": 0, + "w": 8, + "h": 7 + } + }, + { + "filename": "2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 8, + "h": 7 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 8, + "h": 7 + }, + "frame": { + "x": 16, + "y": 0, + "w": 8, + "h": 7 + } + }, + { + "filename": "3", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 8, + "h": 7 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 8, + "h": 7 + }, + "frame": { + "x": 24, + "y": 0, + "w": 8, + "h": 7 + } + }, + { + "filename": "4", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 8, + "h": 7 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 8, + "h": 7 + }, + "frame": { + "x": 32, + "y": 0, + "w": 8, + "h": 7 + } + }, + { + "filename": "5", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 8, + "h": 7 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 8, + "h": 7 + }, + "frame": { + "x": 40, + "y": 0, + "w": 8, + "h": 7 + } + }, + { + "filename": "6", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 8, + "h": 7 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 8, + "h": 7 + }, + "frame": { + "x": 48, + "y": 0, + "w": 8, + "h": 7 + } + }, + { + "filename": "7", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 8, + "h": 7 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 8, + "h": 7 + }, + "frame": { + "x": 56, + "y": 0, + "w": 8, + "h": 7 + } + }, + { + "filename": "8", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 8, + "h": 7 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 8, + "h": 7 + }, + "frame": { + "x": 64, + "y": 0, + "w": 8, + "h": 7 + } + }, + { + "filename": "9", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 8, + "h": 7 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 8, + "h": 7 + }, + "frame": { + "x": 72, + "y": 0, + "w": 8, + "h": 7 + } + }, + { + "filename": "/", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 8, + "h": 7 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 8, + "h": 7 + }, + "frame": { + "x": 80, + "y": 0, + "w": 8, + "h": 7 + } + } + ] + } + ], + "meta": { + "app": "https://www.codeandweb.com/texturepacker", + "version": "3.0", + "smartupdate": "$TexturePacker:SmartUpdate:3ed4555c7a85f0413e7039bcf9d9e18f:d744841445f249d21eff1bc3a2b50d78:1070938cc284949ced1e46ffd0a9abd0$" + } +} diff --git a/public/images/ui/legacy/numbers_red.png b/public/images/ui/legacy/numbers_red.png new file mode 100644 index 0000000000000000000000000000000000000000..acafb20c98af4103d7f01471e16e8b8c3b8ad5f2 GIT binary patch literal 265 zcmeAS@N?(olHy`uVBq!ia0vp^5kSn&!VDzqlBcTzDT4r?5LY1GVpj7az~Vr{fd>Tv zKPnPVG@MwlpyNkJM#qK+8#YYXu|s0Ufe$B6G~Bzk^~aANZ8lRU0rfDJ1o;IsI6S+N z2IRDRx;TbNTsHON6g*(S^GIodl7PVfq9WmjHpls~mKn|o4ALvyCMLV^^z(hMou53Z z)%MDDZ;_-)di&}ajHL4;s-N_Jd#fUSqb%rluPx$g-Jv~R7i=%Rv~T!F%TSADF}$PFzgBqBONKsAMQC-QI+T94+ldc6&fb&;7J7q z1y_)ayK%gZTUG5MUuJi9);DLz0f2~1Fk&1>SIQa3(fxP*tr<#D)4xU^W4T<$++i5p zj1QZ|99`SQ#O?lwr?>YDGM$s+HT7ZbO`P?<4;O2z9zYS-{At}!^w-SCczt}pYIgtt z-0?>iQ?w>yScJrUABy$957_RHS-fi-6BChXvzSK?-N(XHt=s+a>V>5JS#Rkp;lRng z&-X6Q0RS^CP6N4M9+2Pc)Zq*fnQ|^7M&7P%&>6kS8`eI$M}M9cE+P{*C8uBaXT7B_ zhckFIbZrye3jj_J@B09~2ENW9y?Hg5#`$dJ)#7?U--pO=>DT9TNq=enTl(08?gfCC zj|sytH~^RdC%1KN6UphmoI^?&Hy}Nq(zl-D5Roa@Bj^6~OSAOrDCsZFpS~Q6gFRNe zL)={8?BFXk=P2FKHMjS7ZeXj&Z}9(x{`B7i*PpW?i19|GUY-B|002ovPDHLkV1k{C B(cl08 literal 0 HcmV?d00001 diff --git a/public/images/ui/legacy/overlay_exp.png b/public/images/ui/legacy/overlay_exp.png new file mode 100644 index 0000000000000000000000000000000000000000..51166cd9e62a7a22c623c52c30b39a1d1b2a4b9d GIT binary patch literal 1282 zcmV+d1^xPoP) zaB^>EX>4U6ba`-PAZ2)IW&i+q+O3salH4E+MgLhvmVhLLU^zUivV$x?7mRzlGn2AvA2?}H0!DdreGu8>3Kf`{a=e#Kd0Y=MCwoq{o=n?u+^L*9 zlD9M2H5Tvg*$@mWbwway9zx=G9WEbPw@5*|YLdja1-09z`;#EZ%jey#_s;^oh1@TVgIeVIOTwhm0grf1RDDQ4{ z))+WeNG^L=L^0foXWJ#CBwu_3^6s0jD2*~Ps7yzJIu)8UcH5{S#lV9NEpubpwj{=x z8;F78Dm2+7OP2&@jfVriApFRMcHF$)CGsVr>mPE7#jaw_^ z#Y=FcvB<3&UI0S#aMLaDT@HT#w6L&LK~T5M2_IN|y{4#2Z);07XMvxhy|xfJ>t_N; zgxHE?NI(D^NR-wtVm2b^m;k6CbC$pr1W1)TlH?!~*%@QYAU4JrZC_T7yv#V8074~- zflZbISRp9ZkA;LaR8%ymYE;wYG;4_xL(~|f#dXLP6APvm%`92Ak|c$sDJDxP#65n z2DyQgVuYb14jXCYQ6|>flo_VZIBlkxXL(RNRNs|PP@_YQH>u@k4{ESFvwI3!$B8ax zAjW|}+!g^WXkN^Gq7ZnITg-f3XPPpS)WybiTEu`b3}T)1VE0DupSU?q|HO^|M$RpC z|AU+Zy7$~Zpw`!au5Du1E?k;=!R{Lc;n}4!OO+|z7sflb?$=uP)qzN6cKj{fPaoIE zVXM4x`2YX`g=s@WP)S2WAaHVTW@&6?004NLeUUv#!$2IxUsI(bErM1MamY|zv>+iY`*(|B^zB7!Qv7 z@$TN^?j0c1%S<&p#sO8cj8r@(W^*fI;1z!KB7}a7O3c&~>4gkD$Jaf4e7%eEEbnuF zj*yZ!8Q>F%XPItT#OuVYciDr?@8zc85BmeX9PIfOVCkw6k6WK^+%GAu-C z)krasqWzeMf6(zK$t9C(1B@K=s6d6}_`(0+ceiF?a>7jt#(>Tj+x{2^0=qz?X4~J# zw%s@Z{LjFZ*78^Cz|1GL;#2d9Y_EG010qNS#tmY4#EHc4#EKyC`y0;000McNliru=K~W1 s7Y)1ZMM(ev01HV(K~xCWV_?7z000;O0Zj*LNB{r;07*qoM6N<$f)-9dnE(I) literal 0 HcmV?d00001 diff --git a/public/images/ui/legacy/overlay_hp.json b/public/images/ui/legacy/overlay_hp.json new file mode 100644 index 00000000000..4e3a6943165 --- /dev/null +++ b/public/images/ui/legacy/overlay_hp.json @@ -0,0 +1,83 @@ +{ + "textures": [ + { + "image": "overlay_hp.png", + "format": "RGBA8888", + "size": { + "w": 48, + "h": 6 + }, + "scale": 1, + "frames": [ + { + "filename": "high", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 48, + "h": 2 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 48, + "h": 2 + }, + "frame": { + "x": 0, + "y": 0, + "w": 48, + "h": 2 + } + }, + { + "filename": "medium", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 48, + "h": 2 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 48, + "h": 2 + }, + "frame": { + "x": 0, + "y": 2, + "w": 48, + "h": 2 + } + }, + { + "filename": "low", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 48, + "h": 2 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 48, + "h": 2 + }, + "frame": { + "x": 0, + "y": 4, + "w": 48, + "h": 2 + } + } + ] + } + ], + "meta": { + "app": "https://www.codeandweb.com/texturepacker", + "version": "3.0", + "smartupdate": "$TexturePacker:SmartUpdate:38e540ccb5c63da1ebec1acbf71f691e:0086e8a13120324b29c37336ee1e53d1:9863437373166ab9545f5c99d88f5cd6$" + } +} diff --git a/public/images/ui/legacy/overlay_hp.png b/public/images/ui/legacy/overlay_hp.png new file mode 100644 index 0000000000000000000000000000000000000000..9855c6106f4f7b108320141534daebfa38d773e7 GIT binary patch literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^20+Zl!3-of{eQ~}q=W)|LR_P+wG{tfyVl9;+**$R zQI`LoTkgGF>zopr0F7NF(EtDd literal 0 HcmV?d00001 diff --git a/public/images/ui/legacy/overlay_hp_boss.json b/public/images/ui/legacy/overlay_hp_boss.json new file mode 100644 index 00000000000..06313756e9a --- /dev/null +++ b/public/images/ui/legacy/overlay_hp_boss.json @@ -0,0 +1,83 @@ +{ + "textures": [ + { + "image": "overlay_hp_boss.png", + "format": "RGBA8888", + "size": { + "w": 96, + "h": 12 + }, + "scale": 1, + "frames": [ + { + "filename": "high", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 86, + "h": 4 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 86, + "h": 4 + }, + "frame": { + "x": 0, + "y": 0, + "w": 86, + "h": 4 + } + }, + { + "filename": "medium", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 86, + "h": 4 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 98, + "h": 4 + }, + "frame": { + "x": 0, + "y": 4, + "w": 86, + "h": 4 + } + }, + { + "filename": "low", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 86, + "h": 4 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 86, + "h": 4 + }, + "frame": { + "x": 0, + "y": 8, + "w": 86, + "h": 4 + } + } + ] + } + ], + "meta": { + "app": "https://www.codeandweb.com/texturepacker", + "version": "3.0", + "smartupdate": "$TexturePacker:SmartUpdate:0ab3d30defc8fe4d0802d006063b09c5:9cc1fb380aa2908ff6c9e92f310fde62:e6c4614fcfcf040f918551c90d4448f7$" + } +} diff --git a/public/images/ui/legacy/overlay_hp_boss.png b/public/images/ui/legacy/overlay_hp_boss.png new file mode 100644 index 0000000000000000000000000000000000000000..d7dc3b74e0f3edcfa0b531cb63218c6f747f3f81 GIT binary patch literal 139 zcmeAS@N?(olHy`uVBq!ia0vp^VL;5o!2~4B74I4XsUS}m#}JR>$vwNS9WvO&$Sp4a z--DmYFK*vNIhLFn8)X{~iSuipO1xa@5a3d=guSuB;D3fd&kuzNab1f`%?{JPz6UCo m?7OdQ%b~J!fBy#s1_rqw9CuiSn7V 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 literal 0 HcmV?d00001 diff --git a/public/images/ui/legacy/party_bg.png b/public/images/ui/legacy/party_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..323de1856c8a0dde8057ecabfe7c730938c20eb8 GIT binary patch literal 445 zcmeAS@N?(olHy`uVBq!ia0y~yU~~Yox3Dk+N%2!Jlz@~_fKP~P#|(`P8zN3zsPOPe zc<`blA%ekrrN~U6@-$Bu$B>F!Z|@%TJ?tRD5->X?L4a2xkU=qof!9Uw@AgByZ`J{$FmN&fOQhBSGzf%swXZrpGdR7R$Kv zVw?Qei$-$f)n2;n?iyFevVGmu;G;}6c4Z=KA{zQxIE7R^CMY;I{T8s$?7Zb zc3X2Cdw&#e7|Z|d3-XTbjo9oEV7_?vMse%20)Ik3tbM9c@@?B?>GCG9!Vg>rFF}oP z-0&@K&TmIPpfd!&_)gw?BeMzRI4Vo8ak;Lq-#Odmg6e@km$l?;pz N22WQ%mvv4FO#ni-wSWKs literal 0 HcmV?d00001 diff --git a/public/images/ui/legacy/party_bg_double.png b/public/images/ui/legacy/party_bg_double.png new file mode 100644 index 0000000000000000000000000000000000000000..89beff1edf0ca37a9e626a03cdd267fa059b5d80 GIT binary patch literal 471 zcmeAS@N?(olHy`uVBq!ia0y~yU~~Yox3Dk+N%2!Jlz@~_fKP~P#|(`P8zN3zsPOPe zc<`blA%ekrrN~U6@&->A$B>F!Z|`38JsiNpdVx*NLy()rkYTA01NVZizu^zf|5$yS zEN@%h^hBd8$zI!TuFI4EDL19k>Kn60YJIrt9mw_B`c`)0R7M-Fs2OQRW{$6B5J^9zS9I$|%6#i_mWw4T)WU zZ+jd(@%Ao{yx zZQyFpkWv;-kPd}|K?nOiia*}Yd_H&Xj_Kc42(x5YU*T*@+YUAmsIi#)+P4+S^ZzJU zUs=d_d}3+giZ?Qm;_Y1JKqJ8>0L^Cq3e?yAd__OE*!etJah-X0m7tcM(~GcipZmcz z_V(hi$tzxQ2<<68c%$L5!@-`*=YkyT-zb9A6<>L_!gs$Q$T=W~3aMCZec)Vv@Y`%& zzq_or^RK_y6}R|z*POq7bLMfI{afSsN>4+{_?dXdYZvq5u5RyvF~#8N>gTe~DWM4f DH*m{( literal 0 HcmV?d00001 diff --git a/public/images/ui/legacy/party_cancel.json b/public/images/ui/legacy/party_cancel.json new file mode 100644 index 00000000000..c0fa3bc28c9 --- /dev/null +++ b/public/images/ui/legacy/party_cancel.json @@ -0,0 +1,62 @@ +{ + "textures": [ + { + "image": "party_cancel.png", + "format": "RGBA8888", + "size": { + "w": 52, + "h": 32 + }, + "scale": 1, + "frames": [ + { + "filename": "party_cancel", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 52, + "h": 16 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 52, + "h": 16 + }, + "frame": { + "x": 0, + "y": 0, + "w": 52, + "h": 16 + } + }, + { + "filename": "party_cancel_sel", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 52, + "h": 16 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 52, + "h": 16 + }, + "frame": { + "x": 0, + "y": 16, + "w": 52, + "h": 16 + } + } + ] + } + ], + "meta": { + "app": "https://www.codeandweb.com/texturepacker", + "version": "3.0", + "smartupdate": "$TexturePacker:SmartUpdate:90d007d5b18ff4693e19427683160d05:05f58f289d3501584131227313418600:829bbc2aca10a215777ee107bbadd91f$" + } +} diff --git a/public/images/ui/legacy/party_cancel.png b/public/images/ui/legacy/party_cancel.png new file mode 100644 index 0000000000000000000000000000000000000000..4219c8d33c4cee2bd5dbf9ba3263f1482e8f0815 GIT binary patch literal 214 zcmeAS@N?(olHy`uVBq!ia0vp^CP1vf!3-p`9uc0002yNklFys^lhA_6UQ-jpYVZ5C{+g4Go(Lp4#kA zGCwoP|En+~3X_(ZaU?{9G>g^vPR#{~2%2Mcz#%|uJrSgO5oKAT;c3xcg5a|He!u5K zFW>i(X0fsXfSJ)SK)xP|_pXPC;CkL_&FlR{T~)YUbFl9ESW%d?A_9kC6xZ|M5FjFm z!lbqOX=trsnxc51;coiYc%-Houh7Dua0)qvd@bbYd|9Hds^M(+-Y+6QTl-RjEvxU1 lRGAFBweVA>qJQg4@BwK+W$Ga=B002ovPDHLkV1oK8eNX@Z literal 0 HcmV?d00001 diff --git a/public/images/ui/legacy/party_pb.json b/public/images/ui/legacy/party_pb.json new file mode 100644 index 00000000000..f7fa66da67c --- /dev/null +++ b/public/images/ui/legacy/party_pb.json @@ -0,0 +1,62 @@ +{ + "textures": [ + { + "image": "party_pb.png", + "format": "RGBA8888", + "size": { + "w": 20, + "h": 46 + }, + "scale": 1, + "frames": [ + { + "filename": "party_pb", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 20, + "h": 24 + }, + "spriteSourceSize": { + "x": 0, + "y": 1, + "w": 20, + "h": 22 + }, + "frame": { + "x": 0, + "y": 24, + "w": 20, + "h": 22 + } + }, + { + "filename": "party_pb_sel", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 20, + "h": 24 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 20, + "h": 24 + }, + "frame": { + "x": 0, + "y": 0, + "w": 20, + "h": 24 + } + } + ] + } + ], + "meta": { + "app": "https://www.codeandweb.com/texturepacker", + "version": "3.0", + "smartupdate": "$TexturePacker:SmartUpdate:13f7a00fc4a7a4cc80f3bb82316282f4:922760ce93e3ee2e335fda565facb79d:0a5761cf37c97cf64558a62d03bdb2ee$" + } +} diff --git a/public/images/ui/legacy/party_pb.png b/public/images/ui/legacy/party_pb.png new file mode 100644 index 0000000000000000000000000000000000000000..a1e5f7a9bf76c873f9910f9c0de95df53435b46f GIT binary patch literal 292 zcmeAS@N?(olHy`uVBq!ia0vp^B0#Li!3-qjx1Ia~q$C1-LR^8ghetw2M#BaNh7CJT z90*{z@!-XW4Hd~uZ=Hd1j3q&S!3+-1ZlnP@oCO|{#S9GG!XV7ZFl&wkP;jZIi(`n! z`Pz$(e60!`tN|vE{{ENW-@?5ps62b|X0Zh>)7CAVBNzE*x#z2tnpv;2E^r0+uaK!0 z?=*4~k?czJ?)i9iMMO#T>`(hO{;Qi#y2-qBaZBe~74HqzjkC`&+w%TiaQpkwtKokp zEz`_+`uyo7l~NzWnhI`ZA+l!Yf|GwU}Q0`3RgJs1( mFMoNl==OKT>(@6vw$Oz2Q!fLOgL>1q$~q`LR=Xbt^t`E6&oxj-0<*7 zsF;yZap6V9jfRE;Hx_s>ta$Nb!;b|AG6XIxP`DJv@T0)s$B%;l&Fud#$?;~a*a_6h zSQ6wH%;50sMjDXKlr?L3I?)AU*Ef!|91NH?G@8EoS)5JAqRe~QSd@7~Tov=X{oe2P s1@GIRo&9P148u*$|A4l=IQy58;rE&LWUVZ9U?4Ggy85}Sb4q9e0941!9{>OV literal 0 HcmV?d00001 diff --git a/public/images/ui/legacy/party_slot_hp_bar.png b/public/images/ui/legacy/party_slot_hp_bar.png new file mode 100644 index 0000000000000000000000000000000000000000..13ac7436cc785e572c01c307e0e03107e04928c4 GIT binary patch literal 172 zcmeAS@N?(olHy`uVBq!ia0vp^DL~B5!VDyN)_k1|q(lRJLR^7#K|w)4K){a+0Y89X zg9A`R!0Xz5AjMb`j!3-oP`9&`PQbGYfA+8Y@8VY`_IJiOLT1MQp zS+jmTHhSjia|oogz$3Dlfq`2Xgc%uT&5-~KDto#(hG?8$dxo8nfq{d0!Ovge+gMl> mE^>WNOtw7J-kfSEXZPb3`$d-RI}QSsGkCiCxvXgnPbQgQ3;t<$-O4Fp^RttJW8C!Kt` zKax9*J;ui1$xdFGGhLSwyds;Xt|+TI{YiLrQT#$Z3mLxl!w(BAWY+b1n;tCzabHi} zedJfc<2(s(&FT$n%Bp_Xb%*ZM6@{wfYtMchAkGJ>+giAB|8+^Ix|qCL dt6yJVN~iE;CSE?l^#T}b44$rjF6*2UngGXPz+C_U literal 0 HcmV?d00001 diff --git a/public/images/ui/legacy/party_slot_overlay_hp.png b/public/images/ui/legacy/party_slot_overlay_hp.png new file mode 100644 index 0000000000000000000000000000000000000000..8c15c63f31a878505829e46b666bdfae1d7bb9f6 GIT binary patch literal 126 zcmeAS@N?(olHy`uVBq!ia0vp^0YJ>j!VDzC_ibAUq(lRJLR^3R_z`iTq2R}ggBv7% zJT|(P5qE9YEWNKhaX&YGo2@Q)(G`MCT-QdN{U{c3wdb+RN9H@Z7)78&q Iol`;+0KLT>egFUf literal 0 HcmV?d00001 diff --git a/public/images/ui/legacy/party_slot_overlay_lv_alt.png b/public/images/ui/legacy/party_slot_overlay_lv_alt.png new file mode 100644 index 0000000000000000000000000000000000000000..a52b9c2fa60e48415d6afb650e9721cebb8d4613 GIT binary patch literal 154 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqjKx9jP7LeL$-D$|LOfj@LnNjq zCnzvTu(GiHJ8U6uSCilpe&EP~0|!1-Tx6f4wn3qIf^YN86D>Ln#+)}@L|9K>=Qb!| zb;{V$$;8C;-#$O-$Nx&mdKI;Vst0Ho3| A3IG5A literal 0 HcmV?d00001 diff --git a/public/images/ui/legacy/pb_tray_ball.json b/public/images/ui/legacy/pb_tray_ball.json new file mode 100644 index 00000000000..0fee95aeff5 --- /dev/null +++ b/public/images/ui/legacy/pb_tray_ball.json @@ -0,0 +1,104 @@ +{ + "textures": [ + { + "image": "pb_tray_ball.png", + "format": "RGBA8888", + "size": { + "w": 28, + "h": 7 + }, + "scale": 1, + "frames": [ + { + "filename": "ball", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 7, + "h": 7 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 7, + "h": 7 + }, + "frame": { + "x": 0, + "y": 0, + "w": 7, + "h": 7 + } + }, + { + "filename": "empty", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 7, + "h": 7 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 7, + "h": 7 + }, + "frame": { + "x": 7, + "y": 0, + "w": 7, + "h": 7 + } + }, + { + "filename": "faint", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 7, + "h": 7 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 7, + "h": 7 + }, + "frame": { + "x": 14, + "y": 0, + "w": 7, + "h": 7 + } + }, + { + "filename": "status", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 7, + "h": 7 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 7, + "h": 7 + }, + "frame": { + "x": 21, + "y": 0, + "w": 7, + "h": 7 + } + } + ] + } + ], + "meta": { + "app": "https://www.codeandweb.com/texturepacker", + "version": "3.0", + "smartupdate": "$TexturePacker:SmartUpdate:f7a37dfea18d90e97d6fe0b1f2e1f69c:6823410fc296184fa84e87f6ca79158a:097b8eb81a77f8ed73a75d6d94f48dac$" + } +} diff --git a/public/images/ui/legacy/pb_tray_ball.png b/public/images/ui/legacy/pb_tray_ball.png new file mode 100644 index 0000000000000000000000000000000000000000..112184f8593529ae800aed2ee06982a8b481d63c GIT binary patch literal 205 zcmeAS@N?(olHy`uVBq!ia0vp^GC<7E!3-pI4&D6+q@)9ULR^8gms3zopr09T?(U;qFB literal 0 HcmV?d00001 diff --git a/public/images/ui/legacy/pb_tray_overlay_enemy.png b/public/images/ui/legacy/pb_tray_overlay_enemy.png new file mode 100644 index 0000000000000000000000000000000000000000..c557ac736fc23ea939679c73e8520d9ecf15d1ad GIT binary patch literal 157 zcmeAS@N?(olHy`uVBq!ia0vp^89>a!!VDxQu%vGWQlbGqA+CApB@6~^ik1vP*~!&Y zS}cQ{fHLRPr5k`0V@Z%-FoVOh8)-m}nWu|m2*>s01O-72;|YvY9CpPt9AM$-X;hHl zaB6fA<(N{yl-i+|uE3CK#L6^bnSw&Vp~c(`jZcI>PTH6j2{eJh)78&qol`;+0O9l~ A&Hw-a literal 0 HcmV?d00001 diff --git a/public/images/ui/legacy/pb_tray_overlay_player.png b/public/images/ui/legacy/pb_tray_overlay_player.png new file mode 100644 index 0000000000000000000000000000000000000000..4a065de5d7d2ed1b7896ede42b9361be9c85cf15 GIT binary patch literal 156 zcmeAS@N?(olHy`uVBq!ia0vp^89>a!!VDxQu%vGWQlbGqA+9Bv`MHVdLD|WQmJF6b zPSsOdfHEQ){SSZ?V@Z%-FoVOh8)-m}si%u$2*>s0goK2EGzD1=>B)=P)eG2|#1#S< ynN$@xn3@6<4lF-@gN4Ik)|>{0C7z-{2E(B=vGUtWBHBO$7(8A5T-G@yGywqKIVXSs literal 0 HcmV?d00001 diff --git a/public/images/ui/legacy/pbinfo_enemy_boss.png b/public/images/ui/legacy/pbinfo_enemy_boss.png new file mode 100644 index 0000000000000000000000000000000000000000..cffefd32396c64f4cdc7da38e2603c3f4e90e8cf GIT binary patch literal 630 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 F69CU(lK%hz literal 0 HcmV?d00001 diff --git a/public/images/ui/legacy/pbinfo_player_mini.png b/public/images/ui/legacy/pbinfo_player_mini.png new file mode 100644 index 0000000000000000000000000000000000000000..1ccaf4efd650ba08a25ca7ebad99c7b8f7fb032b GIT binary patch literal 4435 zcmeHLeNYtV8D9#D0-8pGAJo)k5fzfX-M!oU*!52NxP#;4kRHV7#T54T_F#qkV0YmT zqy&(pGBy}TZLL8wI@W1YLx?~}k}{D7)Pl9fB%1g^s3nrg#E)vyXbsYLj}Kv*nGQ3} zf85O8yYKTp&+mDk-}^kz+*I)lYLuD_9Z_Hl(&>FpBuk-cn zZCi;KZwz1hJCV2wZZB@Vkdc`6D}6K?S&c8G?$uZ~`(F#L2zw&7vG;y*->}%2zjdSj zol4?-VOZbuc=`*&M6Xf5;N@ydY-a3{_=0Hv3fGb0e~0(2zj>~r;M}oAeaFT7LmMlv z^xOWiI;)Kk<~o19q~;V;u;a+=*tFjd{M2CjW>b&!ow#o0Kyc@7n`bCw-C+m{s^?Qu za?(>$#sdOjH2q?y!Tf&W(w_X>Op|Tt8Ti^O2kB2urYAF_wig_1i?WsB9bbpe|us#@6kv&GVb<;Cn&WzPxt$3ncC#7T>n*p99C2-MVSG*&merhhDN3n_ct{ zcQ~>%{x|u1>fV|IM?Aj3$vH3V`fbnC`coGTRaKqa?>v1=e4(+$hA$b|wT(UM-q8J% zZq=*n_upOf_UYbZ8CBVO=G?4?WgX4OzdPA6*m6Q;ihcFK%7qQTvp)8e;Y{yKsd~%O zpQ-oXd9kT4VF*2IYwx1J9mFD{zTOjYk#9t5_nJSfzViOs zYxi;ot*4&}iaqtC&FA3N)wkE)yZYwFrhU?`w56ulRsWwSu?Wa z`1yAq+QRofSl;>R$4J_V0gbox>c_hc148KH>Nomc`pR6rFZt~`e|qf$?dP=zpDQT% z>y0;CcYGKMXFiX928I6egumg~MMMA9&n{nnuaF)dhVB}LOS|G9=7Gd3=RtyPuw>D! z$E9E#9y_P-ySyOtAV|N~?`7CxPJ-=RA@4RIx88jZfq91kc~)(~E#4Hah&NXXTyAA{ z9$Q(=QVwM8nlQbe1^_NjVqm|k#4XZ(0}{Zc!MiNR5ICSB6&sKZmK-?6BXBUOAQd=j z^7G|NWK9^X7aUI7YD^u205bzpBuQQx!+buU!lzPrghGs6qjk~ zmYfL-nSw&z!RQ}!mW1j3oT5nw)nJ4Jgu_JA_bvRG)Nhb@!0mu@s5 zvVYp)VR;8V`pV&IN@;hZgp#6A5?A6V!|HS>skSS%I=eKImok~*gfwQFz!b?WR+PUF;QwKzKoVx7Q)tYk_i?@ESp04RoXP)e19 zLn+Qdprl4aqLi9cp{#~-D0Mhak&G$;o($U%Iw1f{76ATB+ zf@av!5JaY&a|HGYutt~IBF0_Ff&MX;u;X(6dy;{`wVad0aTK>ZwJ7OuGN?|&*in{J zYe=n<;Iwx2RCLkflzfc9B^3f50aqYF16;wY#*Qj}s=lv?lg|NAhT>{;5@iTB7Az)r zjPYpo*njb%4=7A(F~DwA23i;BgxEwY9OFxFIzQlN>>PeT4*+_`$+Y;Lp=*Y&X)!P@ z<(cf7p=(+UOiOttyZ&!C@la*%zKKYB_g-mgnd`gNA985F zu8O$Y)PnVQR^7k(d6vB@#>ktM2|M$9lQL{EajX!&#mql;^sUp)URd4u%7VDWn!$uf sTVG6Y%(2ZjN8-Nlmc@8jYFA4zG^gep@7dMY>p>7ux+&Y(oLo@%AFmZh2mk;8 literal 0 HcmV?d00001 diff --git a/public/images/ui/legacy/prompt.json b/public/images/ui/legacy/prompt.json new file mode 100644 index 00000000000..753dc827754 --- /dev/null +++ b/public/images/ui/legacy/prompt.json @@ -0,0 +1,104 @@ +{ + "textures": [ + { + "image": "prompt.png", + "format": "RGBA8888", + "size": { + "w": 7, + "h": 25 + }, + "scale": 1, + "frames": [ + { + "filename": "1", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 7, + "h": 9 + }, + "spriteSourceSize": { + "x": 0, + "y": 1, + "w": 7, + "h": 8 + }, + "frame": { + "x": 0, + "y": 9, + "w": 7, + "h": 8 + } + }, + { + "filename": "2", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 7, + "h": 9 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 7, + "h": 9 + }, + "frame": { + "x": 0, + "y": 0, + "w": 7, + "h": 9 + } + }, + { + "filename": "3", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 7, + "h": 9 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 7, + "h": 8 + }, + "frame": { + "x": 0, + "y": 17, + "w": 7, + "h": 8 + } + }, + { + "filename": "4", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 7, + "h": 9 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 7, + "h": 9 + }, + "frame": { + "x": 0, + "y": 0, + "w": 7, + "h": 9 + } + } + ] + } + ], + "meta": { + "app": "https://www.codeandweb.com/texturepacker", + "version": "3.0", + "smartupdate": "$TexturePacker:SmartUpdate:5bcc63184b61d0dc629911d570bd41df:218cc0a560337ff14e1a820297e99878:2fb4d6746b04cafb843a7980571a009f$" + } +} diff --git a/public/images/ui/legacy/prompt.png b/public/images/ui/legacy/prompt.png new file mode 100644 index 0000000000000000000000000000000000000000..ee74128ce562bc99f704831463fa4a7c6a619bfb GIT binary patch literal 148 zcmeAS@N?(olHy`uVBq!ia0vp^>_9BZ!3-o%1snlMa0d8P!OD m>XrZpHfAx0b(SKx_!*q9Ff3bsvLy+qp25@A&t;ucLK6U<%OyAf literal 0 HcmV?d00001 diff --git a/public/images/ui/legacy/select_cursor.png b/public/images/ui/legacy/select_cursor.png new file mode 100644 index 0000000000000000000000000000000000000000..f55e33fdb94b6c2ed9f270f71d7d987c57d66952 GIT binary patch literal 104 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|eNPw15R22vDG3P)KPC!%oZrZF zU}FNS^3k>fGKY>hs2XHlSmC&stv94uVrA$CMux0%-ujT4g?2!#44$rjF6*2UngD>? BA1wd? literal 0 HcmV?d00001 diff --git a/public/images/ui/legacy/select_cursor_highlight.png b/public/images/ui/legacy/select_cursor_highlight.png new file mode 100644 index 0000000000000000000000000000000000000000..6819454bf64117047d59702bc51a56e33229d274 GIT binary patch literal 104 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|eNPw15R22vDG3P)1~I??+cUF1 zs4-AhKH7Fb=FkxbRfDVxD;yWI^@cP{tPI`2$e?%SQxB|gT+G%h?M5R22vDG3P)78eU1*)y{q zSah&yVv=(LUt-b%AqmrrD+>af-BvmFT+zD0plHlzf70@s7f>gIr>mdKI;Vst04seS A7ytkO literal 0 HcmV?d00001 diff --git a/public/images/ui/legacy/select_gen_cursor.png b/public/images/ui/legacy/select_gen_cursor.png new file mode 100644 index 0000000000000000000000000000000000000000..e602d15316d4481d35276ded5ff41e46916f6575 GIT binary patch literal 106 zcmeAS@N?(olHy`uVBq!ia0vp^Qa~)g!3HEbF6OTQQih%`jv*GOlT#8B5`Ih+_&C3@ zts(g!m)opprq3M0%ySQ{a9u3c8)cGp(PKl$#JH<046Ho7)t!~v_CU=Hp00i_>zopr E0H+Ec2LJ#7 literal 0 HcmV?d00001 diff --git a/public/images/ui/legacy/select_gen_cursor_highlight.png b/public/images/ui/legacy/select_gen_cursor_highlight.png new file mode 100644 index 0000000000000000000000000000000000000000..ce2f2265ffe80942d3c6577aecf083d60e0cab04 GIT binary patch literal 106 zcmeAS@N?(olHy`uVBq!ia0vp^Qa~)g!3HEbF6OTQQih%`jv*GOlT#8B5)5K~|F>u6 zJ@_-h&23gR(`OE0=D7z}xGom!jWWr)=&_+=V%$|02J0H$t7rABCIK}wc)I$ztaD0e F0sxo6AGrVk literal 0 HcmV?d00001 diff --git a/public/images/ui/legacy/shiny.png b/public/images/ui/legacy/shiny.png new file mode 100644 index 0000000000000000000000000000000000000000..04dad2a279e47704a315c91a1a535e9a20f20bd2 GIT binary patch literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)H!VDyjYyB_}zl-;^{MpjJ&BF;`eCA4Yw1ACgn2jTUIN#SuyQiOMQJT z%K;BxC8cZaZ%=CeTA8^!!)$k__kp*zmX7;%pDkqqFKwH!VOjm(=C3)W|7@3vTupn~ zb>IV+!P1hgOu=4y>^#*B`tAY=CCo2G#U9q8zI72)GYZcrho=60b()F0;Z6L1P0LsOf1YR7(^8`97M>(tQ;B+#ACJqMlA<} z2Ce|cCdLq;dqot;#6X9OkbuFSlyG2O!QcpV04oQV02w%d(TWk>vv*P%LKBYt`23-9 z4|9ZgY{)-(=-pOwMVDRSEN4LWuRi3VX JF6*2Ung9rT_Tm5l literal 0 HcmV?d00001 diff --git a/public/images/ui/legacy/summary_bg.png b/public/images/ui/legacy/summary_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..e4da2dd5da235dbded64b2c036088bfb6125ba9e GIT binary patch literal 4217 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 BWC8#H literal 0 HcmV?d00001 diff --git a/public/images/ui/legacy/summary_moves.png b/public/images/ui/legacy/summary_moves.png new file mode 100644 index 0000000000000000000000000000000000000000..54ddf0fb2c72bfb02b91c8ced4253168007b95ce GIT binary patch literal 1304 zcmeAS@N?(olHy`uVBq!ia0vp^*MN9F2OE%V-J;&bz`%0f)5S5Q;?~={3#)F$$Q*cB zzkfNCWM|JCRUai~^>R)RmFWVKCsjj~l$FalC%d~Tz5doIHj5=F%F8O!+(N#yHoF;CUC+(dpRvk* z-nH2?+E?uG`9HV1xjk)maN0hb)QQV=!tAH-&1ir8;c5Ds?Pq*;-_)I#zH|DcIqOeH zw0S%3%Z$k9+8`w_%{F@#y*8`f?A1PX={T;k!;yN=1iL$o)}E_6 z$tf;>?SspGJ%0U%yEX@Y-}&}Ngn@o8yWZJ%@o^>g$7hMno)J2`epm9!Z#&PHPZQ@4 z-#GuQQunsHe>J6Fir2)~2Z{VNQCjxDr2X}x(z4p*{^t)w-#oWk-1J^UuY@WPzN1ynQw27|K&#NDAZx73Rt@G}^QT^^e#{1XT{J$&8 zLWBe1{yF${muz*C6n}ref4s+R{^{)TA+wkN6R*(||2$*;>AfE}KHrvnIJYlbs^gZ?itRYU0PWkksV9(|ljg z&+gmyw?Cbz>(wn!-<6y3VdeXcr?NyVPbv9FuBp?jR)1RXCt$^N8|9u@x1?jgrc8bx zU~u>53)A&~Qn%hZE788~=e@7~a~E!(zTv~lMA=KCw1&E;(L)URUYVmRsEk<(Z+q$2aaiX*ff3+x|T1N6|^I z?)`k7r!F?%__N}g$@<^>Y`+)Ip2+)ky{IoJm`QXFY}{sj^BR^DrGc5rA%4H uu~&ACbKa>bEwavLd|z|^>Ysf-b8)9{ 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 BKu`bx literal 0 HcmV?d00001 diff --git a/public/images/ui/legacy/summary_moves_overlay_pp.png b/public/images/ui/legacy/summary_moves_overlay_pp.png new file mode 100644 index 0000000000000000000000000000000000000000..a42c86f28ea2915eae7edd62021072dbfefcf98a GIT binary patch literal 144 zcmeAS@N?(olHy`uVBq!ia0vp^AT|dF8<0HkD{mW+3iotz43W6p+i%Fnpvb`@{+S7@l7|cg8ZL6L z5|TWraiXs&MI^;Np=EMUpk!p{5z(Uzx=o+H+DcA+U$oz6XaD0n^Rsdsw`ty3zxK_; zNwu~WW)c1l3JL-O92_hxAk4(X$Oy!Z4Guuzgir@v>)-~_s4}Le^-NNm#OxgtXXXU+ zM0)>}iTRajcYmI}{;a=NU)S&7@%(XBk79ObM+I|>g5rfjF=aQP8yP%Z{an^LB{Ts5 DC^t#) literal 0 HcmV?d00001 diff --git a/public/images/ui/legacy/summary_overlay_shiny.png b/public/images/ui/legacy/summary_overlay_shiny.png new file mode 100644 index 0000000000000000000000000000000000000000..e4ab820730a4be7c7909020bbdf93aaf534035ed GIT binary patch literal 292 zcmeAS@N?(olHy`uVBq!ia0vp^2|%35!3HFcPFMQ?q+WZvIEGZ*dV75%Z?l1b!$sv& z406qZ5{DP>Olgr;Ro-!iZAqs#ifWpPL@vr1W^7suIj~&}~&hFVg`^V?rf4=ved+zsq@6EH$b}~>HR6;^R z=CnQPoVX8)DVN+WuGj0evn3=TPfw$4&{szUqZ+Xj80FOWMC880Li>wa3SM4bH>-0{ zi{I1g`=*@F4NalR9b0NumnD>BG zVdGV_FoXys#PO(Zuoez&93Wgh^IlpzHguNXNm%~ufLWi}YiKs=$S&g-^q}P!@vmWH zLVvVqX-CB~-Uu;Qx%MSmPQ2BQZT!9wbB!b+W*h;nT1Q5mx*!{J48DIb+6q@xk&Zp$ zNm+bXV!LqYa(l%G`vGN-z(pG8fk266Tb(lN4+?IAIAG9|<<4C#Nw(oM2mlpA;ztB% zX0bLwS-L{%&X5m=is)Ylal%sRJ9Qv z&TCp@Tq9M-W+&Pi+T{YjNvrvOLMV6uh;18)L1jFYIVkg_6D^xDuyDk~VqbN5%x^4D zvtzwFeN8E#0McnhB{#zvb|}5M%utsuVlh4}qLJHmf3Wpw(Y*;kxNfCEAaa)(xrKmW z`oYTjbEKZ{vP{#!mTwwJGJTwu4){phLY_%SBrGh(*2)hBhM%nX30vvdXT3_RS8c{a ze2-()_2d*KrMAg{Y_okuyNd$$sT+-SWzdcZjW+cb4ao0TEP)Y| z81Pjtr}!z*udq3YDfv+&EGXdhuS^0{A^J|}l&+`G4|O_fyP3+-DwVKTPo3@;ALF15 zH8tZA_^Qd-%{3`Yp&8!DV1nmKshz_e8Xh8?Zx)#I7?cl2N$IB7~o3ZR0%~; z^)iO8*vi+VXT|8x*Ky$6;aq!LYm3OR`)wkBueIjaH7?bIx_Te(o~PddcE4+O1{H-fb(VpvkSc zy-4IVV0`!yKp+C9MPVHr6Qqgz?|=Ru`C2lf25HpnW7R+(^`YEFK7;htm*zrwYu*pv zFaY+e5payEQpe*~={Ewblk=Yg6EK^p$}x^xsbr`)xfn}n|9-^LfS%T1%WPgERWuLH zhFY{2hD`M?%UT(Rb<78}D1GtyUrG6D)c^YWB~*Wxt`b^xQ&^?)LnlX=?O7&eE@fIX s>g+D}8rtEXT`i?cjb_Zxxo_@dwXY7<{&L$u{JbSj+d89aPFzU)1H173{Qv*} literal 0 HcmV?d00001 diff --git a/public/images/ui/legacy/summary_stats.png b/public/images/ui/legacy/summary_stats.png new file mode 100644 index 0000000000000000000000000000000000000000..e744f84be8f0da06f0028e5f964de56940e4f772 GIT binary patch literal 1545 zcmbW1dpOg39LJ|xn6RU8Y>`_WED9MF-H35W$}P<8k=$>QGTS(%5_X10AyP|^v$4rE zcTL9OF^6g{Lq7@SZqDR3JIiw}|D3=2;3wCKlhxSY-J%Z2nYm{McG-q zh+nSw6ie+E-?yuE(?KBcA1Le7mlB8OMh+DW*@M!?^3WSQe z?pbRRiFTjF)hr5yr&Z;j17)?RDGf}S6}IG(X!0h~NktjjA!bDlGA-)qBUn>SeZRyg zfh?Rlpw*(xgd$r*Z53@Q;%5qYY$TiD#mmmsp;uwz1;P*o1IP5%WjCIn`Ki^US}Jm) z8m&E%K-+u=)TqoD^gTl`AmhVALHkfSU9ei-G88zkqPz(5S8U|G+3mc8D|U+R09NmiGdVITaYH*thCrrP@T zGQ`cHdR<{*IF{N}eH>}!_>n!(G$@z&Bu9D4l~4@Bg?cCHC3c5PZbsbs(C`9BQ1q<) zg6SER;0#3QK<1aB6Q5;1c4BIYNAEq8PLefmeeOaZx!PRx*ovJ_5#5EfkgqgPrc+L; zl0qz{0ORLKN^y$iu04QcJxCpar-4{IPI-X*C2oPYSxRP`p-SSql#Dt8bPEhs5;uHf zal|) zvj-bGqxIu&Uc*hbHU45UMBTE>F6~GjUZ1R4vc*Mu*BdzokWszN$_2Vt`v-@`30>z4 zx$ew8ulW~m-EWi?SO<>7-5EXn_w5P8LrqwWqHF(Z5*xg^OtT8k=1U4+A?~ra2Qt!IdiqV0Vvp zs}Z)6N_y6}9{56WYNbr*^&XEL-}*8PksCeV=*!u-PQYE)w+C*8`MhaZVcn$o-x0_v-l13E`VF|&Z_^cty(aSN2Y`$}HwfB#>BH^R zsK|mViGgwZ10KB*2i&La_GsUonD@dt`uluaC}vIi(mqtJDk6Tg7rSw}aw?)j*CB_A zteCC|!yG?_r@=H78)F#lPz7{vNg3}YhD=|A!7CBP@$9p9er%YZUZUX}FA-vKE-zKE zS4lAbBH`x{m;Fwu(G6hMbbd-5fjX^g>;X%qMWT1tocDOA1rM;0K2iFQAC4I@nQe4; z37KDXZU8sg!`#KtLRP+1vMZo5E4nvebt_3xQ)`7I?JlZFYs`y@KP?M z@&~1^lK}f*?6#4W?>7>yJ9obf$>K9awa4)WtWd^VDFgGkOKNy5XDZVm%TCoDJ{VQT z&+1wQatnQ&FQVDOSn;p8J(X%=3*IpyX|w?-M9roy==pHuL`8>W$X$cI5yBW$CzqtE ztLJ0RVuiRKPA0ggxLzQm5L1N|#s_|a*K96zZjfm{veg|-J!{Swgdo5%Pk~JCOwWvy zkrKTs=t-L<_hzHZ;<@`a6u^S3gYXWb|72wCBTuQo;_9M1xo)0K0neL(AHz%woJJ4+ zes1<~p|Z`qSMwHh{XD>gngsf<9zf)p-;nrs2LKkVa;LpJR_oYb5pr{kR3tH})b3~*$HI$OJP2juWL%EZRQ#*n?9{pZ1^u1cT`gQu&X%Q~loCIBcn6>k6l literal 0 HcmV?d00001 diff --git a/public/images/ui/legacy/summary_status.png b/public/images/ui/legacy/summary_status.png new file mode 100644 index 0000000000000000000000000000000000000000..4a5b27e9e2bd286f2956d06ac97781e97783386b GIT binary patch literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^SwJkn!3HG%&3I)1r0P6f977@wzrC@L_ketsZF?BU#s>*@}B@p7!03xPWX$ujlxbEUrJLZxumA09$GvaW?$w^3;PP4Z+QH=X?lqNek=xHu{j%vR3T=smZ+J zvo~#%U#o8wxu3DU#2?IP6k~bP=J^~k3R?rQ)rX{(o5!pxT5KU(y5e&SVXjsx8%O*` zgrp!M>3+t1LIHq?qwD}G5@yCCp}4lhs!-rWjf=|Sv6WmB)9#F zOQLkV?xwW73|DVT$M=%_^VnYa3)6YY)MK-tc*m1k_Gg|N@e#@G;qmcQG?+qksrZ;e zm@gxhNg|pcA_*P~|2*a*3IKR4{0omg2jSosMF9XS=<;=s*#yv%H;1?ZUg%yq`JGV@ P00000NkvXXu0mjf3_pr8 literal 0 HcmV?d00001 diff --git a/public/images/ui/legacy/summary_tabs_3.png b/public/images/ui/legacy/summary_tabs_3.png new file mode 100644 index 0000000000000000000000000000000000000000..cf8829886649723fb066fa8315253c56a7d0a4cd GIT binary patch literal 253 zcmeAS@N?(olHy`uVBq!ia0vp^W%*=eam)Bkb1R_pc+QTepBqb+Ra(%tvg2pF;S5$sH zI>yY#3xsY#-25r-6CYc6eYN&E5K_H>;i?ZOFYBdAN@ng4g_m!udotsY`oBlVnjcO- z-j@5&aoX{Mr>sezIhOvq$jue=NJxrniMU+z-jJ59P7>|jlesLnnJ`(j#mimhcpy>N x%3kC=Bh#X)s}Tqan+|m;&OdHqBw}!cK`hGmV!OK1VxWH*JYD@<);T3K0RR%gTnhjI literal 0 HcmV?d00001 diff --git a/public/images/ui/legacy/type_bgs.json b/public/images/ui/legacy/type_bgs.json new file mode 100644 index 00000000000..6b98a733d07 --- /dev/null +++ b/public/images/ui/legacy/type_bgs.json @@ -0,0 +1,419 @@ +{ + "textures": [ + { + "image": "type_bgs.png", + "format": "RGBA8888", + "size": { + "w": 14, + "h": 266 + }, + "scale": 1, + "frames": [ + { + "filename": "unknown", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 14, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 14, + "h": 14 + }, + "frame": { + "x": 0, + "y": 0, + "w": 14, + "h": 14 + } + }, + { + "filename": "bug", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 14, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 14, + "h": 14 + }, + "frame": { + "x": 0, + "y": 14, + "w": 14, + "h": 14 + } + }, + { + "filename": "dark", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 14, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 14, + "h": 14 + }, + "frame": { + "x": 0, + "y": 28, + "w": 14, + "h": 14 + } + }, + { + "filename": "dragon", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 14, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 14, + "h": 14 + }, + "frame": { + "x": 0, + "y": 42, + "w": 14, + "h": 14 + } + }, + { + "filename": "electric", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 14, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 14, + "h": 14 + }, + "frame": { + "x": 0, + "y": 56, + "w": 14, + "h": 14 + } + }, + { + "filename": "fairy", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 14, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 14, + "h": 14 + }, + "frame": { + "x": 0, + "y": 70, + "w": 14, + "h": 14 + } + }, + { + "filename": "fighting", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 14, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 14, + "h": 14 + }, + "frame": { + "x": 0, + "y": 84, + "w": 14, + "h": 14 + } + }, + { + "filename": "fire", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 14, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 14, + "h": 14 + }, + "frame": { + "x": 0, + "y": 98, + "w": 14, + "h": 14 + } + }, + { + "filename": "flying", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 14, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 14, + "h": 14 + }, + "frame": { + "x": 0, + "y": 112, + "w": 14, + "h": 14 + } + }, + { + "filename": "ghost", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 14, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 14, + "h": 14 + }, + "frame": { + "x": 0, + "y": 126, + "w": 14, + "h": 14 + } + }, + { + "filename": "grass", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 14, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 14, + "h": 14 + }, + "frame": { + "x": 0, + "y": 140, + "w": 14, + "h": 14 + } + }, + { + "filename": "ground", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 14, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 14, + "h": 14 + }, + "frame": { + "x": 0, + "y": 154, + "w": 14, + "h": 14 + } + }, + { + "filename": "ice", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 14, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 14, + "h": 14 + }, + "frame": { + "x": 0, + "y": 168, + "w": 14, + "h": 14 + } + }, + { + "filename": "normal", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 14, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 14, + "h": 14 + }, + "frame": { + "x": 0, + "y": 182, + "w": 14, + "h": 14 + } + }, + { + "filename": "poison", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 14, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 14, + "h": 14 + }, + "frame": { + "x": 0, + "y": 196, + "w": 14, + "h": 14 + } + }, + { + "filename": "psychic", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 14, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 14, + "h": 14 + }, + "frame": { + "x": 0, + "y": 210, + "w": 14, + "h": 14 + } + }, + { + "filename": "rock", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 14, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 14, + "h": 14 + }, + "frame": { + "x": 0, + "y": 224, + "w": 14, + "h": 14 + } + }, + { + "filename": "steel", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 14, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 14, + "h": 14 + }, + "frame": { + "x": 0, + "y": 238, + "w": 14, + "h": 14 + } + }, + { + "filename": "water", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 14, + "h": 14 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 14, + "h": 14 + }, + "frame": { + "x": 0, + "y": 252, + "w": 14, + "h": 14 + } + } + ] + } + ], + "meta": { + "app": "https://www.codeandweb.com/texturepacker", + "version": "3.0", + "smartupdate": "$TexturePacker:SmartUpdate:f14cf47d9a8f1d40c8e03aa6ba00fff3:6fc4227b57a95d429a1faad4280f7ec8:5961efbfbf4c56b8745347e7a663a14f$" + } +} diff --git a/public/images/ui/legacy/type_bgs.png b/public/images/ui/legacy/type_bgs.png new file mode 100644 index 0000000000000000000000000000000000000000..6e682d9c327bd34373a88ef17d35a2193f402f08 GIT binary patch literal 882 zcmV-&1C9KNP)mj~U(yTffScU0Gsa);7p?;UFL z6j(hH5jFXsMy}MV2Bax{>>UyOO`ya0az{CE?l8^XI~Kih@gV`k`!>KSuGYMQcw0nw zMDPHpZ9+rZCU~`gl57F5-VxqDC{TX>CFk(=5&rx8U#isb_7P<3O>{>D4}h~9X=rw@ z-Z4D5RNhR}-a8%{7atk`^6ZLW7tf{gTLRHV9^Dba17M$~G}Nc*CvyjT)=3I0;%yQ9 z!j+obfD;P=fM23=BFKJ>0l+SPcL)1XzFN2Uj$|O`$kzm7v=6K0%FT)dCl&&L)%vKM zFAo|s(~vRq?vCa@a!b9r-rZ4_ck(b-L+0Tb*mBGAj&DEGtYhEt{r#V)oG%Z$Rnd@J z)vuY=jhtC6yE|IVo##{ni1v@5EH{9ziWJhCTg)91JOHkW-*>F)wePrhS4wtsr(e0l zw_NT>dJ*s2uovpueJFMR*ut+X)wtfp{ z<%Dki7G!iT_KpZ10KMYf;nm9>!!U6Z-R7~Mtg0%bpL%vq2Wz>5pmRFNJh#yu5j>L0 z7ycHaS?sS=UXiI>?e3`ahI--v1#z7UhFr3j*9&C2PSG6^JaV!+und^}ay*sqxkGa| z*pur`#OozsbX=`<4)OOsx+8)Iz%g+&G$!toyYkzEyT8&*fULR>Zsl5Co)r-G!b?<6 z1b5Jy1KU93Kbgv%)7<|%@~en*I;<-<3eK`8PAmif>zYR8#N44LK6mJ8cSqMYl*qe& z*xkWSk?K4b8J!DOU8quvYJ=3nGxm-M9sn;}M?;sbJMNDE0Tm;SxY$>r(f|Me07*qo IM6N<$f*D$*H2?qr literal 0 HcmV?d00001 diff --git a/public/images/ui/legacy/type_tera.png b/public/images/ui/legacy/type_tera.png new file mode 100644 index 0000000000000000000000000000000000000000..5c35966a6f4a7fcbe7005a00b1e8217f0fe08fd3 GIT binary patch literal 234 zcmV-R0M$(+ic8n*)t{xa*Sjz%Al{CiAQbO;+sMw`4TwnrsB7X0YKsG#811S72%8(9gW#>ajB@AQ)Ka$3CvL_|eUdD*JV`RYDhG2z3< zqeZ_&zXM8lGA=$=lk~WQ96Zuo&{vZlTO;eQU7iLrN4RfeY6@oc_K0TRf3mtQxZeN8 zK{}7$0~C|==vQefoYh3T4QD@KBC_&~lIPFFJSkC7-OTmd_cOM%UyD`7g;nKzbIT<5 zLlPqU{Fmm`xZ(GeLZh5&iQh7%9+Y6YOQUhK*LDf))gp2vB1%Nvjhl@VTK!5M*3P`6 zKMgwzd<`0Pelx$9;{P`1<8MR-eF*Mpdv_EuM-<|k>SM14NLL~>N#B46-^hz2w zwYL{O-F0wn<*F?wullq?l$8@Ms4{8}Ucc6Mttqa*esK|kiQ>+;CKdLA?SRoqR0;qb zFb075Bmh_dAH}~0fG9Ws{OJz>=mG%H3O{poyCWFTb#w6`fZh}iCy`ibX~J+;d{uMR z(7@3A{QUCr^5sX3MPL}hqq@2STPBB?;zht#B3?G-S>6F~As0^C83_PZhGK)nRBYY{ zK9u2+DFm5UiW-v2#umXNdZ4D`fQL7aN{fbtb2&_Q2m{93AI^ZS{9EiZD%{`P(Oaju zv`xdTW4@>rp50z_r^=7F+IO)Z_KmQwsBrDK^VpajreIW<;P&*e{t;JCYZ>W~%Q4#ji2@ zx3XgjOww*`ZJ%6}bCFZN6PMsLUZQne(cews9BG%GYG*b|XDU>W6u@xa@?!9%qcx$5j zewiF~k|2M&!>mc`IbpzNWs?ZvWS2#)O6gfOqo4ox8X&OtrUC2LPQ73K2qYySL++fi{T^N9lh?^&(XIvD#+RU3QBcmmFr=Do^MW{0W2F z_4a1S$#WN9$`MBlb1?Bvq|z}FmRqDSFKegy%&CT7ep=_o;UcV#d%8Zj}5%DuaQ zx+f{J$kdechcyX(B|KAXVRANEmljD|`F)D`q!fHJWcP7$Ad`p9aE#Y%`?Z+!S&8)E zSf@1u%i1(ckbdECL&s|mTE#uE!NYXySL^2v>+%#ku*{w;#hVgLykfvT%^ZV37J|fl1S}sI~6vMPq%`--jqmEl3hI-bSJ?JYJjo4$!y5^MeCK5rWtG1bmRk8 zA>ODwVm$@oms@*>5H3+xrBjF6;+Gtovu89QRn7!Y!#jBRn_bE)NVuT_No+Z)j5*kN z0e(ThvuIcdz4h&Gl_s^mO^1?gX-Zap5eO}~(hJ!W z%|hj}aNnh@D<`}7{n}xXda_C6^oglyAKzy>hQ=}oO4a3GnNF}Ep~@l@9_ro_8T-JB zs9yyfUEh`Ik~zBTR!8GPRb}F>%;tN#b=BuH6Npl88dNn-eHwsr4ER(xr}sx53o*VT z7aGPJc_HVo%*MoZ!)Jm-<|F90o`%*kV|KkGkvk;29F7YVun0lP))wkgiedMk4R;2g zB$Qv4@iKkrRr#sN!uye`J(2d9c=)dQxyiKW$~6Yh6k1iMVAC<)X9(RX(Z^CZy=lVr z9IrU}ha;xqe0vHdojZ2;1i$7{!|9nR>C1{U$_7JsR~Lnct$nK$MW`WFiFv2A_@|hWdEkTFX#Mqz za8YN!Bbze4dBP3p`1!9_bqmA77gL{m-e(8RXw2n5Z~M9xSHu4-95}3XJ2h#J!*|%r zYVy9D_&UDyOXndLtBv;fR?^(zzBBgqox{{=1%kGnvD>CXy0 zb|@o~M*~j+@fLp+0r!eR+t`0AQagca2Q`{v4I_rlL}S^!NH+%89aM!d0DDVV!M448 zkfHXIf#Za5xbERJIs-sh!j9S82mr(DeunYjOL>5W|LwEf=T?t`WR0I>0$6ezlNrh2 z0SE`UC9LSHWb8i(K@A1#U2gQxj`5AZT zFnQ55E(7>`&*oUFjUY=`%mSw#G@TQ^pUVzn@c_4|fDkqvhUbLR*kO&?h+QDf;0G;` z5lQE=!+C5@*tc{6QS1=j26h-Ml1jw71UadJ?3I@jCk>^AMKNh~UKE$XU7@=aWr-(3 cR|83#rHGQkyp8SBsgFI2V7oB#j- literal 0 HcmV?d00001 diff --git a/public/images/ui/legacy/windows/window_1_thin.png b/public/images/ui/legacy/windows/window_1_thin.png new file mode 100644 index 0000000000000000000000000000000000000000..4648d812f1704df54f075e7b7d6585e3c7b893d8 GIT binary patch literal 232 zcmVP)5!ctAdke4--3hZF(4c_^~ zQ);7u@WBE4^@pRAe(UYIsBZX%Z}{(Us_AEF-@8e-C7r^l*xbPDkdGk~$){J*z3-h? iw#jZwjSGC$F?|6j=sLrEMhWZy0000tET^zv)_)5X)|YK=CqGw2t6Nca}S_Sls#o!QW@ ze}UzB1sOJlW1MTX6)TUNQr(b|7+tn!a|r8YHpR*ypXsx$-Z!-VoXjY3`$5*_;&aDN zc)u)Yx4!dm|AR$O&C1Mp8m@`1WjOuT`M%MX`sX$W9W9)uY^u8m| Otqh*7elF{r5}E*~lU6VQ literal 0 HcmV?d00001 diff --git a/public/images/ui/legacy/windows/window_2.png b/public/images/ui/legacy/windows/window_2.png new file mode 100644 index 0000000000000000000000000000000000000000..7da47310d64435b7f5fb1618b0416e3f28a46f7c GIT binary patch literal 3040 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 u5cTtt_q=2JRq{{sUwgY literal 0 HcmV?d00001 diff --git a/public/images/ui/legacy/windows/window_2_xthin.png b/public/images/ui/legacy/windows/window_2_xthin.png new file mode 100644 index 0000000000000000000000000000000000000000..01e9511333831ec483e3841d7b5e0ae6d14073fe GIT binary patch literal 229 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H1|*Mc$*~4fYdl>XLo80ey{ahGY#`A3(4J?J zP-JJ!PWKmr6Q)i*;gyoo-|&Rvgq*U`CL^OweOzAbw;A-#zfE~I+gxxrn?s0tSx@;n ziNLwHUS#I%<+i#dUaJb^&HHX%$Z$XM%NoxG+OWRqV`(<~HWBf@T c`BEQylm8}#%LFVdQ&MBb@09^4{_5c6? literal 0 HcmV?d00001 diff --git a/public/images/ui/legacy/windows/window_3.png b/public/images/ui/legacy/windows/window_3.png new file mode 100644 index 0000000000000000000000000000000000000000..0764ea2d6b09939ae3b968290f33d24db5466cda GIT binary patch literal 3042 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 literal 0 HcmV?d00001 diff --git a/public/images/ui/legacy/windows/window_3_thin.png b/public/images/ui/legacy/windows/window_3_thin.png new file mode 100644 index 0000000000000000000000000000000000000000..12cc6d60778bc2ad109336a9aaa9cc01b5d027e1 GIT binary patch literal 234 zcmV literal 0 HcmV?d00001 diff --git a/public/images/ui/legacy/windows/window_3_xthin.png b/public/images/ui/legacy/windows/window_3_xthin.png new file mode 100644 index 0000000000000000000000000000000000000000..57ac6427b79ffc3fe6e6b9aaa617d797b0a9afcd GIT binary patch literal 218 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H1|*Mc$*~4f3q4&NLo80ey}DMg#Xz9#p*at$ zg1?(v9_K_4uZ|@=ryQ2`OpbO^F%t4*pOawJY+Dy&x7+x9&E}-*3>FjTvTt6J(j$Dc z_{EH>{~T7eqSEG34J*HAgfS_9n&_PnB|K5`y~1HeW)?R#`%fW R`T!lv;OXk;vd$@?2>{W7QV;+D literal 0 HcmV?d00001 diff --git a/public/images/ui/legacy/windows/window_4.png b/public/images/ui/legacy/windows/window_4.png new file mode 100644 index 0000000000000000000000000000000000000000..69c5bce9dc988b7022487fbf69f4be1b30f6c38c GIT binary patch literal 3038 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 literal 0 HcmV?d00001 diff --git a/public/images/ui/legacy/windows/window_4_xthin.png b/public/images/ui/legacy/windows/window_4_xthin.png new file mode 100644 index 0000000000000000000000000000000000000000..45fec09adb093b5fb2684ebbd083c4ef07428c3d GIT binary patch literal 225 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H1|*Mc$*~4fD?D8sLo80ey{awLY#`G5P+pCD zMURWyJ=Ksfw=~X)C-fLQ*SIK6)KNAPl03;5bTN@FT2Alyy_xxayOuK z@T8}8)O$V0-{(67H!)@GO`Z{MB`v7ieqaLA`;#9s;wHFVDSMG~#P03GWxbgVocHxJ z7Tn`=pZ#vLc~+iRBX`ULrvI$%B7Vu$&Wt>txg-*-{=P_LTyX1~-plM|p36V7-#1+r Y|GU9ByjkO_1<=h5p00i_>zopr072?i761SM literal 0 HcmV?d00001 diff --git a/public/images/ui/legacy/windows/window_5.png b/public/images/ui/legacy/windows/window_5.png new file mode 100644 index 0000000000000000000000000000000000000000..edfef03f924ffeb6fcac7b7144ca16457e918447 GIT binary patch literal 3041 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 cR|83#rHGQkyp8SBsgFI2V7oB#j- literal 0 HcmV?d00001 diff --git a/public/images/ui/legacy/windows/window_5_thin.png b/public/images/ui/legacy/windows/window_5_thin.png new file mode 100644 index 0000000000000000000000000000000000000000..4648d812f1704df54f075e7b7d6585e3c7b893d8 GIT binary patch literal 232 zcmVP)5!ctAdke4--3hZF(4c_^~ zQ);7u@WBE4^@pRAe(UYIsBZX%Z}{(Us_AEF-@8e-C7r^l*xbPDkdGk~$){J*z3-h? iw#jZwjSGC$F?|6j=sLrEMhWZy0000tET^zv)_)5X)|YK=CqGw2t6Nca}S_Sls#o!QW@ ze}UzB1sOJlW1MTX6)TUNQr(b|7+tn!a|r8YHpR*ypXsx$-Z!-VoXjY3`$5*_;&aDN zc)u)Yx4!dm|AR$O&C1Mp8m@`1WjOuT`M%MX`sX$W9W9)uY^u8m| Otqh*7elF{r5}E*~lU6VQ literal 0 HcmV?d00001 diff --git a/public/images/ui/mmenu_sel.png b/public/images/ui/mmenu_sel.png index 26952f7ece943dda5237a64e2a1fba7daf16ba5b..584403e5d74f467afda1c9939116c362a3e5bc49 100644 GIT binary patch delta 2790 zcmV9)Gc>Uwq5=^`LdiiLn+!5)wxpu}JlQBip_vQ~8E<-M1e-ydgv zYoERMJ!kKI*17~vAmcQ7uoQ$&mudEnVrUCi&%W-40ak@%snFBnkD3j81WZzQ5KhzE#g}u z)=U+qaYg)A9Gk{rW&(hJB8lw+4l7B-rXnWs!$RCdyc7T&De)_g|B3~i9D(>!Zs{4h zd~RZrfUe8Zqnp{{O0GU=+k;r7-zyx?6f$29uWyz~Y@hOGaECN~9iXLAsD$ClpY8|Q+RgF4=YDe{;ZlXp}GpJ8!GFl03fVM;Xpd-Lq)(kHo* zVn{-N(st5e(s|N7(kn8VtW9<%N0SBQ?c^r%Me<|vTM3GUv4oEVTVlOLjYPY|ki-i~ zyrh<-i{vWFJjqJQlad3H(^7aTZ7DY?rqnvA8mUuK!&0--6lpW*K@3{{8fLrtcZP`{)0Q)gslWG!XG zWpiX}WY5Ts&=8t7&4-psE2EvD-J!jgQ zfv(`8kfN|tp+n)3B1%zTF<3EM@qpqb#pxx~CH6~LONy7ASaM$pR?=4rQCg#PNU2YM zX;xW9*-JS?d9U(CNC15-G!b?ucG(RXVjF` zyw!wib!z=;^XfY4%he0iTh$+F5HuJX2^tj|-5N8Rs+s|s`I^m|_qFg^46P)sJzBk5 zbJ{xE5!zd{JG3Wt@^qSY9_o^Rb)9rq>(=Yu(!=O6^iuTp>)p_Y^{w=i^lS77 z3}6Fm1Fpe-gF!>Ip{*g$u-szvGhed;vo5pW&GpS$<~8QGEXWp~7V9lKEnZq0SaK{6Sl+dwSOr*rZL#XM z`efGt8hef*7TYE4FA`SKIZrr)}TaS=$NhPT2isZ)Bfhf7E_* zsm@Z)(uSpD4(bj}hdPH5N4jI2<3Yy}Cp9OgQ@zs@XANhzbEETwi=Ioe%Q2T1uBNVh z*EZKVH#@hrZs*+*cQ5y1_kIt58IR>2)gF&M)jbnEn>}Z|ti0BEo%cq2`+4v59`;f8 zVfi%q%=p^)uJ!HlBl(5;Rr@{h*Z1f9cLl%!z5%-e9xl^b##`1A2m*ZqcLhEQ(g|7} z^kXn4I4HO#_-Tk)NPb9fC?zyD^l0dtFxRlMum{U^mkXD7hf9XXgg1qM&qcULlt+w2 znnbRRydI?(#f|EW#zu!nH%8B{@K~{X#dwTWOi|38l{zbPR$g7DxGHtknOMnKX6(s0 zbX-K-(YO!HKxRF2Hr^+GU;GTqjkSmMobAl6U{7%zIOUv)1c!w3gvmsQ#9fI~Nlrz=6$;c zwT88(J6|n-WB%w`m$h~4pmp)GHhtv0VYX+AHW4#TBo2$L_vbX<1pjhpz}3Y2Bx^Z`;1P{p|fi2b>SI)GF7O)V@E+J$SdytFFCXyT0-e z=1|t5rw!o^z27pvZE93(ENT3Bn0I*ONXU_%CYz?Fqe@51n&D<)^VG4JV>iBY|E{ye zsHLuz)>?8L92Xvc_I=#P6$aLXUfhJ&K90sIG1;B_I$?q=?jS$#=2v>A6$&Qc&jJ4r~i`Q zr7M>`FJJ6+={@`mOuh2W$p9Z`j`G8eBSf zcF1Yy!cF&oo0o6-+`4{y+3mqQ%kSJBju{@g%f35#FZJHb`&swrA8dGtepviS>QUum zrN{L@>;2q1Vm)$Z)P1z?N$8UYW2~{~zhwUMVZ87u`Dx{Z>O|9|`Q+&->FRy-Sj zp7DHsy69KwU-!MxeeuI@&cF4|M9z%AwxKWcnIt=)ljfm;CA-*q$tlgjmY~=HgQ`V$6%i59|FJ!IV6*9fx?QJQ*qLjB st)HyhM=@|F$2Z^3SDEmek delta 2991 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 diff --git a/public/images/ui/namebox.png b/public/images/ui/namebox.png index ed43bc4aa5b3deeee6405495a264e637b5485723..034adbcc993daae82f0ecf718d52123f9f24fc77 100644 GIT binary patch delta 295 zcmV+?0oeYQ0>T22B!2;OQb$4nuFf3k0002|Nkl z@=%8)otx>K$~#29A4=5$fU?D=41~G5m~s>5=weEKR`*TGf6QkW*Lq}fngIZJzGMfu zXWZ6oLiaB2Y)ubiYp_)ucrW=G5XdFECe0=>TGvol-sGpU_7)dwnlZ>yb&( t+U}O7Oui4P9U!GEFlaoufnl)qwn6ElEI?Nz@!|zR!z5n3z_k3O z%mOCsvt_%`T^Vp-171UM7GGz}cG0GQrDhcX089ycQx{1^@s6eH%E#00001b5ch_0Itp)=>Px$NJ&INR7i=nR?CgT zKnyi#8?kGm0S=S^5(h3IfkX>Aq=D4rl#)H{&d50S*x6()A(46Z^LIWw002asz>skq zcjdpa5q}=Pp6dOomi>yH8X^KBf_~^K&dk8fa6Fto)&YJdydS!1C#Ox@|Cf~b zy)_x1we!r$m0;$Q^SZb860w3^VxQ&z>kjmC)MvVP;iaA-E!@L0I@U8s>u&XovUojg z34g)7C)+o>DC*uz?Ydq7000hUSV?A0O#mtY000O802BZK0002eQUoeBivm0q3 z6$KuV#S9GG!XV7ZFl&wkP_Wn2#W6(Vd~ARt(_sS+r~m(7_%W8AT&N-1#3&%xX?27{ z=wTD{$K$)pH~z75eRfgYy-C4!(s}m!`QlI0XK#>pn5E>pAphPGm-AaA`PcEgm2=p- zt~BsmzSH9hTgV(>+`{K%IjDBeA^mV@XPV%w^N!H k?t9e@{(kuN`_rWw0XwEe_qkO?fG%V3boFyt=akR{0Eo0&8~^|S diff --git a/public/images/ui/numbers_red.json b/public/images/ui/numbers_red.json index 5248ac89db4..39fe9c61708 100644 --- a/public/images/ui/numbers_red.json +++ b/public/images/ui/numbers_red.json @@ -5,7 +5,7 @@ "format": "RGBA8888", "size": { "w": 88, - "h": 7 + "h": 8 }, "scale": 1, "frames": [ @@ -15,19 +15,19 @@ "trimmed": false, "sourceSize": { "w": 8, - "h": 7 + "h": 8 }, "spriteSourceSize": { "x": 0, "y": 0, "w": 8, - "h": 7 + "h": 8 }, "frame": { "x": 0, "y": 0, "w": 8, - "h": 7 + "h": 8 } }, { @@ -36,19 +36,19 @@ "trimmed": false, "sourceSize": { "w": 8, - "h": 7 + "h": 8 }, "spriteSourceSize": { "x": 0, "y": 0, "w": 8, - "h": 7 + "h": 8 }, "frame": { "x": 8, "y": 0, "w": 8, - "h": 7 + "h": 8 } }, { @@ -57,19 +57,19 @@ "trimmed": false, "sourceSize": { "w": 8, - "h": 7 + "h": 8 }, "spriteSourceSize": { "x": 0, "y": 0, "w": 8, - "h": 7 + "h": 8 }, "frame": { "x": 16, "y": 0, "w": 8, - "h": 7 + "h": 8 } }, { @@ -78,19 +78,19 @@ "trimmed": false, "sourceSize": { "w": 8, - "h": 7 + "h": 8 }, "spriteSourceSize": { "x": 0, "y": 0, "w": 8, - "h": 7 + "h": 8 }, "frame": { "x": 24, "y": 0, "w": 8, - "h": 7 + "h": 8 } }, { @@ -99,19 +99,19 @@ "trimmed": false, "sourceSize": { "w": 8, - "h": 7 + "h": 8 }, "spriteSourceSize": { "x": 0, "y": 0, "w": 8, - "h": 7 + "h": 8 }, "frame": { "x": 32, "y": 0, "w": 8, - "h": 7 + "h": 8 } }, { @@ -120,19 +120,19 @@ "trimmed": false, "sourceSize": { "w": 8, - "h": 7 + "h": 8 }, "spriteSourceSize": { "x": 0, "y": 0, "w": 8, - "h": 7 + "h": 8 }, "frame": { "x": 40, "y": 0, "w": 8, - "h": 7 + "h": 8 } }, { @@ -141,19 +141,19 @@ "trimmed": false, "sourceSize": { "w": 8, - "h": 7 + "h": 8 }, "spriteSourceSize": { "x": 0, "y": 0, "w": 8, - "h": 7 + "h": 8 }, "frame": { "x": 48, "y": 0, "w": 8, - "h": 7 + "h": 8 } }, { @@ -162,19 +162,19 @@ "trimmed": false, "sourceSize": { "w": 8, - "h": 7 + "h": 8 }, "spriteSourceSize": { "x": 0, "y": 0, "w": 8, - "h": 7 + "h": 8 }, "frame": { "x": 56, "y": 0, "w": 8, - "h": 7 + "h": 8 } }, { @@ -183,19 +183,19 @@ "trimmed": false, "sourceSize": { "w": 8, - "h": 7 + "h": 8 }, "spriteSourceSize": { "x": 0, "y": 0, "w": 8, - "h": 7 + "h": 8 }, "frame": { "x": 64, "y": 0, "w": 8, - "h": 7 + "h": 8 } }, { @@ -204,19 +204,19 @@ "trimmed": false, "sourceSize": { "w": 8, - "h": 7 + "h": 8 }, "spriteSourceSize": { "x": 0, "y": 0, "w": 8, - "h": 7 + "h": 8 }, "frame": { "x": 72, "y": 0, "w": 8, - "h": 7 + "h": 8 } }, { @@ -225,19 +225,19 @@ "trimmed": false, "sourceSize": { "w": 8, - "h": 7 + "h": 8 }, "spriteSourceSize": { "x": 0, "y": 0, "w": 8, - "h": 7 + "h": 8 }, "frame": { "x": 80, "y": 0, "w": 8, - "h": 7 + "h": 8 } } ] diff --git a/public/images/ui/numbers_red.png b/public/images/ui/numbers_red.png index acafb20c98af4103d7f01471e16e8b8c3b8ad5f2..37cae6b4d60944f1203345b0b3dbf4fd7aa19453 100644 GIT binary patch delta 465 zcmV;?0WSWD0^S3V7k>x{1^@s6eH%E#00001b5ch_0Itp)=>Px$en~_@R7i=nRy%Tq zFbrI0sB!?PRZvq?a4imzYf-qSrf>}hc&$?qWrUDFNyyH;86L8v^&)BH0Dy=h41^FI zKkG9&n>>@UJptzMm;AXiHStq%*{30*`0?&A_3h=rvK^R-B7YN*XU28E1j_jXfFC-O z1jk`}>A&Th$}c(Q^4IV$>7(NkQS?KHaoy1XxC!Tn?tCXm>I4!ce|cGpY%OFQEB~?` zm|u3mN}CqE#J@%#h7>o1;F_OYu2hK@dD&*twrodjYBRR1Fvirk@P^&u#{$UqPu;H; zT3i5lt8vWD8h_xdNl{-xWJdd%XXaYm1tqz z-hSvX0=EG#TNJ>h8m7LzwJ@W!k(BtA>?P#%3DE!m01jnXNoGw=04e|g00;m8000000Mb*F00000NkvXX Hu0mjf)ri(L delta 250 zcmVu?0{{R3eq)y<0000mP)t-s0001lHhkz%IKW`Q;BZj*cwoqY z$e^Hz_=sqTu;8$;khr)Qn85JJ$bjC~wfOk>hCG#$00001bW%=J06^y0W&i*Hhe3n9dYrm0Xa)`1#Zcl9smFU07*qoM6N<$f)sCP A>i_@% diff --git a/public/images/ui/overlay_exp.png b/public/images/ui/overlay_exp.png index 51166cd9e62a7a22c623c52c30b39a1d1b2a4b9d..6b745bedcef1b9c8b06952455c681cfb9688fbb8 100644 GIT binary patch delta 100 zcmZqTddfUOLV<&gfq_A@Zh|NS17mBZvvYu_v$H}$QGQxxPAUU~#>CBv%w>$`maQKb z0@X=-x;TbtOiWH#G3V?2#Ou%hFE;s_q1G1YP|Cot_TWj!Pi4mqfyx*>UHx3vIVCg! E000&uDF6Tf delta 892 zcmV-?1B3kK1A+>W7=Hl+0000JumV;900P~5R9JLUVRs;Ka&Km7Y-J#Hd2nSQWq4_3 z004N}t(9An+#n1^|5-(rfFy)qIXtVfgDgK6jC;B>lgCWOl))AP$@c(uct$!T<0=vEqxMNU#wYzkB zIGu@3$33B}$SYWXP7-#$>=e#Kd0Y=MCwoq{o=n?u+^L*9lD9M2H5Tvg*$@mWbwway z9zx=G9WEbPw@5*|YLdja1-09z`;#EZ%jey#_s;^ohhuPBW&F{n&OfjSkMGxq*{ngrOr28)@WG zCf3@N8K%xSZKj!Lc~Co4-<3~LqeG21spV%6YJadgvwI3!$B8axAjW|}+!g^WXkN^G zq7ZnITg-f3XPPpS)WybiTEu`b3}T)1VE0DupSU?q|HO^|M$RpC|AU+Zy7$~Zpw`!a zu5Du1E?k;=!R{Lc;n}4!OO+|z7sflb?$=uP)qzN6cKj{fPaoIEVXM4x`2YX`g=s@W zP?0GO0(hLUICcSRF;+Wf00003P)t-sLeBrJA8|PV0004EOGiWihy@);00009a7bBm z000ic000ic0Tn1pfB*mh2XskIMF-~t69X3wyX{3u0000BNklnp|i-X*q7}lMWc?slLd%8G=XiQAr@+bbR!3+lF`)Yq1 z%b2+mDo+&@F1Xvk6fteRxI~8e0)}Jv+4`8@vWXlp`g`~{NC^YOjzG>0W*a?r0F7br MboFyt=akR{0OO%1ivR!s delta 120 zcmZo<>|&fCS;)-5z_986TUHbP0l+XkK^oJwe diff --git a/public/images/ui/overlay_hp_boss.png b/public/images/ui/overlay_hp_boss.png index d7dc3b74e0f3edcfa0b531cb63218c6f747f3f81..5f7a02a4814a0fa67b0661f335b5ae84a7f89a20 100644 GIT binary patch delta 131 zcmeBXoXR*svWAU;f#HX z*>4FR7Bu*jdr6-6MxX(gn@z%>J)MbLG!`%>MDB}ASa268c2Gm2;J}aD2MV|JEM-iX i`S0Ohhuw)0Obq>#cxP-L@^o2xMwYb#mFzxGmpmNE+`^vT)Dm(Z0e^6jx Yko&=LhgFEF8)!O%r>mdKI;Vst0NRWyDF6Tf diff --git a/public/images/ui/overlay_lv.png b/public/images/ui/overlay_lv.png index d79614f41eb08131c56b3920dae50379552c370f..bbd406d957aa0ecad3929289ca6e6c92120c3bf3 100644 GIT binary patch delta 188 zcmX>uyO(8xgaQW}0|UdoyzQ|J42*4=&dvdz&dv%2Mfqu&IjIZ`8WT4k;wfjW_wn7$ z1ymQ|>Eak7F*P~GfvKyj>wn^#-{0RG8!cc|D`~9${%#@nK}K#p&Xni`v&0!adCZ%9 zHQoh8n`oq$ZfIa&z`(G1qMn#k)rowd i9ek+~o@u_m3|c@o2M~h*|E1u`AllQ_&t;ucLK6TJu|3ZK delta 3405 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 diff --git a/public/images/ui/party_bg.png b/public/images/ui/party_bg.png index 323de1856c8a0dde8057ecabfe7c730938c20eb8..378b1302cb766b0138a4ff27343268e4082aef26 100644 GIT binary patch literal 2293 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 literal 445 zcmeAS@N?(olHy`uVBq!ia0y~yU~~Yox3Dk+N%2!Jlz@~_fKP~P#|(`P8zN3zsPOPe zc<`blA%ekrrN~U6@-$Bu$B>F!Z|@%TJ?tRD5->X?L4a2xkU=qof!9Uw@AgByZ`J{$FmN&fOQhBSGzf%swXZrpGdR7R$Kv zVw?Qei$-$f)n2;n?iyFevVGmu;G;}6c4Z=KA{zQxIE7R^CMY;I{T8s$?7Zb zc3X2Cdw&#e7|Z|d3-XTbjo9oEV7_?vMse%20)Ik3tbM9c@@?B?>GCG9!Vg>rFF}oP z-0&@K&TmIPpfd!&_)gw?BeMzRI4Vo8ak;Lq-#Odmg6e@km$l?;pz N22WQ%mvv4FO#ni-wSWKs diff --git a/public/images/ui/party_bg_double.png b/public/images/ui/party_bg_double.png index 89beff1edf0ca37a9e626a03cdd267fa059b5d80..e0411c1199bdc144a60c35f47baeda079980493e 100644 GIT binary patch literal 1950 zcmZ8i3pAVA7EY)e^{5WZqol%Wdl%DA>0q=}qNvncnL$fMr=wHPP^IdTUxu<~si@(K z4q=QjIw4Z;x1=>~5J^;;#-oCjVoXYEB2-BJ`?u3Ix4mbrbIv~J?6uC```i25-v|0* zb+t^jU@(}j*Ex?M7!2+T$?ckI&>EZnwI{T}Q-ZK=ux2iD1qMT)y*$o*nO?Oz%SklD z8vSeh`A@C}S{_q*hleAr@pl*FmoMzjmtInHvam3%jUg5uGqpH5OIyG>TbS!a3t|P$jQ(B4jue~)C3-XoouNX=w?q51JS>^}D`4(XYC6Qd zwtN1~+#hCI%%T9b&CQVnmxJ~VRO+Yfejh+7=S|EVv45-Zk@h4952|?eDD|XY%p^p) z5R(W#Yu11C&2`3hig%2?VqEp3yQHX7LFR)4dIZg+bEP9n{wjY76YMRK_bQ_co};AZ z6IAh$T41lzxKOx>>-pX=;Lt!sZo^Ci7spl8IdS7^SdQhLw0sQ{wKnsUkuLRRL9!5R z-_Pjb3~#XXf`llRql(b>YnPXLwJ(14RXJL*B?JZ{@sVbTF`{Fr$eq$gnPkX}FdGSU z7=FoUsJe|3M!w9&-^}qlxV3=&{cN{3rAQ}*pjO3S?px+=O^zGDxvvI_`_G`#cto>c zRw3`^+$d54&mBeo83l6O9RJpNQ%R^%`VNld6_M@Sz&pA*U!cQ+t|pD~m%7&wVW z@JyLKT0&tbzMOWr9;RGo-x3u&8Kt9X zD)OpS-&D;YO4B#T(iWc2Y(kJ?Glytj?oORo)J%c{kM-1$LE`?(_?u4;)%ZEQQBmTQ zG{jnqh@UY(GlQFEb(g(XQnx~-FXH=K&AWvv7aF3|W+QbIAOA(aOWYKX(5gB4CM-+1?Nq* zZaE^JV=_Vc(`9ui#GMs6KO?gY*gKc4SP$W80otRbd>`7x&=Vl z9_&4nDJbv3C7zetl-gL=Fa9N6&3JMvN_^myBAJS9dJ9Nmm1pL7 zRgcm*yMO-fHx)m^ut$bMuXR>Al<$%D)$h}oK27cs<C4M!{=dy_=H0A}00~hbaBPCi2Ou#(S_eicK30|x z>!#7^*7f$L+1CJ0t=uzQ$zB0Pe)L&*vygw1FlYtw-KO0S2@ZnUp{t8i){qNz!16`# zgS00+F0;iI1xaJ}Wo7R8?9B1?2XS)MpOgas(48@2T%#a%AQDh)B%e!}9^9ERz6jn? znn7;`T%vJdXt*y^qeG8^esjE?=39$IASTm(4$wIC8lHR7R^188&b~;#~W9h{QklO`yw&*5!4Tbnnbl^BmSPc~hw2gp!Z$2n*TQIhGCll`N4M z>nF#w0OAyaczv=utYy)~HS0bq`d}N+`f5#I<9F#)b_MCoWWYcqBY{(UB0rV7*dgCIbUw zgQtsQNX4zUcQ5)L4&Y(Ez^3LQ$jxHNu+)cvdqLOV@Q3DqtiDZ_w=HjaqS2LPuWdKi z<;nk)n^I}@joHWFtb4!bt60pnXHB+@+n@PA@GH1Ei(Bt5YyJ7Vtk>T)xxfGNbgxop z)AjXTd!BN}Y0DkB?!74CDDw}W2?^o{kDsu9WfWlWMd-JThQzMFw>=J?czc&aNX28q zgODbBQBRQ?EzMciY!2SqW#PDCo1U7-1O>+?7EV9?h}(;HgL6PNGS^^NQc6~ zpo9G$#UF2HKA$^x$MpJdD}-6HtFLf2rELeB2-I23eeK(dAa-f-DBY=jpe+BC6e!ilgTkL$Ethmm+yGl@7&*??jxX=CI8hd+j*yI(jIE3~T zAH31<*x_K$<#R!f^=}kG>WZ&CTj9H3P{qRu;#46Oi>(iw%MX5=&FgoU^>+UC7rWvX t|L&Uew{OloZnJ-D9AD{aC>cK!&v@-(e%#gVJutEuJYD@<);T3K0RVq;%a#BD diff --git a/public/images/ui/party_cancel.png b/public/images/ui/party_cancel.png index 4219c8d33c4cee2bd5dbf9ba3263f1482e8f0815..4ea4bc6d65e81d851efdd53b53b9a73c9732de60 100644 GIT binary patch delta 538 zcmV+#0_FYI0jLC!8Gi-<003P-TV?jQK=Rec@c>aV#N(Xe*zyAtET1;I6qKgnz(%{?AJR^USIXLI^08)WtkLBYR3}AIP2(E7lblV7p^@d`8xb+sNx|j6;?? z9*O|~#<|F+)0yRtk79tv8LAQjMCUi_Pr_3KyF^8FIvte?3X11i91p8Hyu;`{lNcoc_hv>jvjx+dnK#}N%)YWt(Xixuk%3~;zp@PE+b;C$3dV&`HUYP#d27yw}5 zVv~Qpjx2Y46a)NmA4>Ntr2Ex1bGZmCn~a0|<<`sI cT_3&yvJ*eVVZrzPMgRZ+07*qoM6N<$f&?!9+yDRo delta 197 zcmZ3%a*c6^21^@s6N-55d00001b5ch_0Itp)=>Px#mq|oHR5*>zl{*T< zKnw+E7hl2fAmAq8DqYI7Id!lzENgNHIf9kVjYL|hAkkLRx`}*xKdgp9tC`X)?f?J)07*qo IM6N<$g6Pap^8f$< delta 273 zcmV+s0q*|Y0iObp7k>~41^@s6bM>uc0002yNklFys^lhA_6UQ-jpYVZ5C{+g4Go(Lp4#kAGCwoP|En+~3X_(ZaU?{9 zG>g^vPR#{~2%2Mcz#%|uJrSgO5oKAT;c3xcg5a|He!u5KFMr?nk!G>70f3p&FhIT@ ziubOEh~RqOYR&8YL|s+5U30MR`dCqzv?2nBU=-K$;1D1ph{B|``e|sbVVa_Npy6)% z)_A0*8L!a7pKuB}g?ugK=zLkCuBzc|_ueleKU@1!gDtD?jZ~QoyS4CBrlNoAOYi|{ XKxOJ7F67Vv015yANkvXXu0mjfZWeui diff --git a/public/images/ui/party_pb.png b/public/images/ui/party_pb.png index a1e5f7a9bf76c873f9910f9c0de95df53435b46f..4169e9c70dcffbf013b8607902bfccc05e3ca5fc 100644 GIT binary patch delta 77 zcmZ3&lrTZkosEHkK_kQR7?5Ht4sv&5Sa(k5C6FWK>EamT(fRhEAtR7?Xu((iTyFgZ bK<0y7zCH%V!lr}8Kn{batDnm{r-UW|HKi6g delta 275 zcmV+u0qp)@qymr`e**vj03Wu=^Z)<=7*I@9MF0Q*NJwC4Xn?Rl0I;~oz)%3#;OOwM zcw++XLjV8(0d!JMQvg8b*k%9#010qNS#tmY3ljhU3ljkVnw%H_005;)L_t(2&wbH> z4uv2H1yD5N{r?}ogbSilcWa}w7NA6yuA!VBS?s4t>STPHf9q<{3R91$9D5guGDZ{` zieXEP@ztnUbX%M9zbOAFHImr_rK5z2tt3mZdx4wI13eA-ilH9NS>UE~`P201qTBZ&*VnP- Z52`W&hz~~=lA(~;<3h9 z1OkEg+C}vP$6Bym($xn0)H@VBI3Q2?dAcLGorJdtgbvk<>gJztMbU4^7^E3yPoDL? zSFr1-2a8#kz{e%f_3EG*2*;5>Deb@f*3pTISNy>1KsgVw{&hgQLfW zq?MOXB^@nmHQ8Tvu_h?#gGb)my*C?&BqvR$lJl!1IKun%w#jmctJxagp(?v_#V-Ia z$4Lv{qo5#UOv}fn;q#i>-3Bj3jjk78{bi1lKiYON`!`v#U~I3jBe_IlG$=?T^6*P& z%|rp_-09%vVM=vdZsV|X>lWs94L+a*>Wjm3YteN|M<0fw3MW2|8e1Y=vw%zYkri6D z#DNF(AeQpQ9)^O%!U>r!f`$%#qVB{nT1*V(nYZ)+r!5~Nv)#*3L@pre#@Y)Ss&@cE z4h!uV*_;hXBT^pdw^vTn`D z(L-W8+Ock}u7@(7#n`}AzqqnXh6oj;Gj9Ct&;74o=T}8u2;IF{8EQH{lTtgWYEt|& zczLd-YcMdMht$*Lr}38m$p1rN@3qi#kyDCr4IJ4`q7ZXy;$yADf~b(pJrhr+V%pm* zdExZTQEM%m79U_35l$!aU1iaiq0%11n1jMYTLcarD3C%cT5MwtQV;`^jf|xX@?|`! z&&CN4{Q{iYG=1qiwD`s?5bQEw=sN>~EeC=l5ZFM_XSgM_0l{66r6*mVE58S+_TuI6 z4Iw7sWm9UbyD*;u5(>}C#$B_Xpre+--jpD{o!yVGe|H%1&CvF$>S0j^c1elxU4J@} zB0A92=(bu}RUM|Yu}c|q7WZqwFJp52FlxNjeLsyd9jP zaCPk!rId%aPf5Ke9A`aPQDO()9THzC*$BWO(%3oxFYS4}tXdoZUN$gZyBUgl7%vBa zmjS@*9>6OKB&PW^x)&i{J1B3`z0C<6~(CiKj7__*4AHyQ^^xvDqor~u* zl`t!o#-pF=wv0qZXcb489qT*RUc z-pGgpw4n(H3iNXEEA{5o9UiOHON}}c>j@d5nW2{nxu#!dRQJRCuX);L36h)V3GUG^ zJY9nN=6Tu#@_>1&0eQeY1;T;BJb8n_V4gt#e&XpFTFm{#lL4*y6HkRefO*;sYDUxa zgSInlaTp^~!ZluZb%d$_ly5-fx4)QXE-~QDH{RFDj5{C9<&^Ai5F$ADGyDTP^0bz& zAvv6@Y@)^I*8C8gxf2Qq>{u95K16TD){KPT6brLv?B|Y8CwX)1+`2p~o5)UYkZD6M zf;je`bBnf+$rT$esx7;VP>{%(X0*dNt@aSXqor;7;B4+yBz6B=PcK3qp#uf6MeQt! zji6x^MS~<^$^4X5tr=B#UP0ThRiJV%fBN=1^`qd7=_9_~px{zQiU#|6T;XMfR{z7e z8q85!o|qlImW>0zA!R7%jZDSu>6H%?Qq$5gVlJN{2>wiyZj6Cw_0?3hd_J=XQ11{q zW={L2cu=Yhk1e^({hm}CjIGYX6?~f;Ol+FtZn|Cb_jij-pO&ue8Lp2iPj-3Aa_LdL z!_CZ2ik$oNx^nKn8s*eV#+s($Bnc#xNLyq{Cb&RT3(6ozfI!nbmr0TQO_Yz&_$Bm= zxv5p6v;*(yV8+NtE|YS=DW3iK^MvZFXvHHzh<`R(gs`HDW*pIAfoIa}bl~cf=!5p$ z!(544!;3#2>%j-ODWY|Yq5nQ4ww-bGKH;3Rwk<8vi471+iv2>61?a8O1I(4<25@KT zj&~=JO2c>dV6}>kb^PeI+ZOs4KX`7=89CWYzV)mXZ=4ZGx22?iFjE`O=)b}&j|M+i Ngx3yVD%U-P^)Ijdvl{>a literal 407 zcmeAS@N?(olHy`uVBq!ia0vp^>w$Oz2Q!fLOgL>1q$~q`LR=Xbt^t`E6&oxj-0<*7 zsF;yZap6V9jfRE;Hx_s>ta$Nb!;b|AG6XIxP`DJv@T0)s$B%;l&Fud#$?;~a*a_6h zSQ6wH%;50sMjDXKlr?L3I?)AU*Ef!|91NH?G@8EoS)5JAqRe~QSd@7~Tov=X{oe2P s1@GIRo&9P148u*$|A4l=IQy58;rE&LWUVZ9U?4Ggy85}Sb4q9e0941!9{>OV diff --git a/public/images/ui/party_slot_hp_bar.png b/public/images/ui/party_slot_hp_bar.png index 13ac7436cc785e572c01c307e0e03107e04928c4..1771123c1415904a12a77e11ef8f9a5eecaf8fa9 100644 GIT binary patch delta 211 zcmV;^04)Ek0pkIX7=H)`0002~g6N5X!;0F+FZ~%%3cwM^>q!>$r z{DK)Ap4~_Ta$G%K977~7CnpF5DRFWb7#L_tOKM9?Ywr}`6p@r@afs@f656r#sAq$t zhpCB3M+i$NOM|~rES-{4?z_4_}>PbL~u{g-xiDBJ2nU_G0v!{z=h(~AgmOt@-=O>Cx;Fb7k z_OhStfrf;|fghE^hcmdAFl^9?*EhJ3C&8*LY4FdiK<4Zr5r%0m}Q-HS;ox3z%a=#dI69U3h)VWjkwTI@MFcn4HDNf;;zk__2aS8Gf$sGKv~WL zkH}&M25w;xW@MN(M*=9Q?CIhdqH%uh8Foen1`g&0KYxX9V_{La$n`lf+44+#bE=`7 Z-H%u77g@INI0#hE;OXk;vd$@?2>?IxDyskh diff --git a/public/images/ui/party_slot_main.png b/public/images/ui/party_slot_main.png index 06eb9b03a7d606af415f7b0e29ae9b3d5ec4c965..ab1f70d8034ab1e134833dae042fd58f7fa8b6cd 100644 GIT binary patch literal 2592 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 Q;Fk~NyN`eq?>)`@7l>r@xBvhE literal 434 zcmeAS@N?(olHy`uVBq!ia0vp^c?=AUY8=c!)|Q{4H9*QNz$e5NNNZGVu$XYe!y}<$ zMnc7f7Zo=e8V=l8;K8us#g7d?797YBxUfLsQW(RJ0)rnv3jQ~<|Gy-cb;{;2P$y$a zkY6x^!?PP{Kn`btM`SSr1Gg{;GcwGYBLP$(>gnPbQgQ3;t<$-O4Fp^RttJW8C!Kt` zKax9*J;ui1$xdFGGhLSwyds;Xt|+TI{YiLrQT#$Z3mLxl!w(BAWY+b1n;tCzabHi} zedJfc<2(s(&FT$n%Bp_Xb%*ZM6@{wfYtMchAkGJ>+giAB|8+^Ix|qCL dt6yJVN~iE;CSE?l^#T}b44$rjF6*2UngGXPz+C_U diff --git a/public/images/ui/party_slot_overlay_hp.png b/public/images/ui/party_slot_overlay_hp.png index 8c15c63f31a878505829e46b666bdfae1d7bb9f6..09e8c974ca3b1e83631c71f910898e010d79af8c 100644 GIT binary patch delta 119 zcmb>HWSk&T$ic?Iz_4_}>PbL~u{g-xiDBJ2nU_G0v!{z=h(~AgmOt@-=O>Cx;Fb7k z_OhStfrf;|fghE^hcmdAFl^9?*EhJ3C&8*LY4FdiK<4Zr5r%0mMhcoI?$t tAKCXUcun!%h;sh&{yD3?|KBcUZt~Y@RK4k!1+;^~lik(NWt~$(699HtG$Q~2 delta 97 zcmbQoSUf=@nu(c#fnjH2m;{jG3GfMV_0VSh@#9B9K><*p|4ot{kYX$e@(X5gcy=QV w$Px8)aSY+Op6rp3(6GovgKPHD4PML)CUvZ)r~AsyfeIKrUHx3vIVCg!07ms3rT_o{ diff --git a/public/images/ui/pb_tray_ball.png b/public/images/ui/pb_tray_ball.png index 112184f8593529ae800aed2ee06982a8b481d63c..554f90790429ee074b660fb2aeb4bfb3bce0de7c 100644 GIT binary patch delta 291 zcmV+;0o?x00kZ;-8Gi-<000{tEzAG_00DDSM?wIu&K&6g008YtL_t(2k+o7iYXU(K zeGAv555eLPo<$(V3Hb{Pw&`rH)y{vAAK*Vomus)_Cmh+@N(({3;szu|kXT#ETEtt% zQ@9lRU|?q6y!l|)-~^Js@6oM+3`Su3); delta 188 zcmdnYbe3^~WIZzj1B1??yZ?ZcbbwEYE0FebiVDbx2+EFXY3aFkZtuP9sP9vX|NsB* zk=l0?D9uR#q8c#-kG$h_!P7L%f`Ecg$YM; kq@Dhj7H>cLZ{J?Vnyri`ujf5}1~iw!)78&qol`;+04DcIH~;_u diff --git a/public/images/ui/pb_tray_overlay_enemy.png b/public/images/ui/pb_tray_overlay_enemy.png index c557ac736fc23ea939679c73e8520d9ecf15d1ad..b6fdbcd17538dc7c88f684559a2499f0b6a0cc79 100644 GIT binary patch delta 173 zcmV;e08;;*0lfi`7=H)`0001DDtdqb0004VQb$4nuFf3k0001YNkl*Wy11uapjS3PRPK^$t98(IIQajYr p6&Ny&SeYg)Q&0#vw3wTr@rm%qNgLB5fhI6`y0ZDXtaD0e0swdBC=LJs diff --git a/public/images/ui/pb_tray_overlay_player.png b/public/images/ui/pb_tray_overlay_player.png index 4a065de5d7d2ed1b7896ede42b9361be9c85cf15..ddbacced3d33fb0f3af951ecec8be56bb361a313 100644 GIT binary patch delta 140 zcmV;70CWGG0h|Gl7=H)`0001DDtdqb0004VQb$4nuFf3k00011NkllFz;kcfhkdP3NrXZ^!J$W&^dI1}gxIzFUld1v-Q&WJ#f#t_< muy8ocn$y6r#8VW=U^tW}R(@MaL>p)TgQu$>tIIm4geCxCPbQrJ diff --git a/public/images/ui/pbinfo_enemy_boss.png b/public/images/ui/pbinfo_enemy_boss.png index cffefd32396c64f4cdc7da38e2603c3f4e90e8cf..58edefa164fa9ba14d55945d9da5c21efbf6f8ba 100644 GIT binary patch delta 530 zcmV+t0`2|w1gZp(BYyw^b5ch_0Itp)=>Px$LGu z5M4P4u7&L4UA#cf;RSjZXBTiS$hgu#cXlJBAcaD@D5l0F+Km6k_jKdJVJST|( zh=|AxR$kF@+OcJQU3xBb$Kv=AVK~d}$N#W*3y#x{8}-I(=SnFIheNHglSU51nKc?A_I+P( zmKU~3=J7Pbz7^7V8ll&zr?wxg?83TI%Gd+>*8OMS>VKp$kaN{S_lUT(Zm>poD{+eq zR(7&2@R!6zb-JEodM_1an^eAqpVr+(&P!Op&RtXQs|z8xv^bMZ8W-(fDJ8;iq4lU! z=1ZoZ^hqf*HP7?TTBp<5ce1CutN;q0qHZ>uvCd#b$5<@%(wK;dh=_=Yh{#+&QK;*t U6Ds$H01E&B07*qoM6N<$f;LkF3jhEB delta 606 zcmV-k0-^n?1oi}wBYy%tNklRLTsxi4)UYygC3QvS9Ca5N$+?`P z4rJ=U1$U8=kv(^jS6Af9$i=q;mx}9hA#*9Y<5H6HKDG0*!!XOo&h8Jp7D~**AXh2_ zA#FfP8(**I)}ek@SzxU*Y;?*IBqwJe90+08lDTgrPSX?{oqu8=9K^vC1L1Ha$;sI0 z6w}ojTGv}0^Z`JrhgmodrugLe97S?+Y$>tC3f_DPAtnd=_hw;`Yn@>r97;@Dx3s8B z&&*wwwdNhc`cI21Ra$ zU^2lxilF}pxBzx-Bj%!ze=$4d!fVvY-D{7Vy@oe?b$QMqXzS9S zazVPubIWfd_X+@Nouuv;?Qgrta%dw70~&D#d{0-{=oG_`4+l?`$}kIqyh>*4(x2q! z$o0}6@>j?cIVt8E0CP2k5c_4)s+rm1#Vn+4JSFfUnJs|VWRdPsmbn!LQ+|=iu`;)& s@=uw`F*3LAC#+c*)q|N~u!nI~O4Yq?Ab0)cUDa4A$g)|GB+zjjyH$DN zlu{Sp;D;RZA6(J^uv|5`cGRUYNim(gR9s1UPC0iQQ-etbpCZ(@E->2xpqYObLeyev z0QOHzaZ*ZT+1%+>wVfaNvS^f20{C4#?Hk+n_uXHMMb~Ko*z*>1x7*b&2cv4u=Wc00 fL_|bHM0D5>)LE${MNRhx00000NkvXXu0mjf$C%jj delta 2817 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 diff --git a/public/images/ui/pbinfo_player_mini.png b/public/images/ui/pbinfo_player_mini.png index 1ccaf4efd650ba08a25ca7ebad99c7b8f7fb032b..db276227233ead5b61921220dd64ad0ad345c55d 100644 GIT binary patch delta 517 zcmV+g0{Z>aB7z5y7$67+0001gOoM&^00D$)LqkwWLqi~Na&Km7Y-IodD3P-X0d)a? zE#4Fv0005GNkl7zOZ`s!|s^Ay5~jkO`|t=mu+hfnI_k=inM#0M>Zx z5s;aZNL^66l`fsq0gNCG1sw9X?>Cu1(1-l#*$DxNh%_t9$+kU+E$jPQwNL@#_zq#X z{59{lreA2=gSdO&%~lna!$zEJhMTf~YN2W|S{j%J^%t$9gC&BAKmZI9foaej`>DW0 zAOII80@I**bSf|r2*3r2z%*#CXdQ8nKpSiX0>DO~Ej9uH;N|1Lr!OCk|9z~BkFR$C zK&RD99q;S3dWF_jB}TWHN28}aYPmWoB_8}&0Km$brjE76Y>xK$v+x@8G8_(nPkzSp z-gdW`jT6CjT?ipePcMYyIJmjUQgE%cfCE31G8%IyO%GeBJ%ESxhbq zK*pz-`~7~L<$Nkf5Coa#ors8th=_=Yh=_=Yh=_=Yi0EuTD|e=gS5o(w00000NkvXX Hu0mjf?&jvc literal 4435 zcmeHLeNYtV8D9#D0-8pGAJo)k5fzfX-M!oU*!52NxP#;4kRHV7#T54T_F#qkV0YmT zqy&(pGBy}TZLL8wI@W1YLx?~}k}{D7)Pl9fB%1g^s3nrg#E)vyXbsYLj}Kv*nGQ3} zf85O8yYKTp&+mDk-}^kz+*I)lYLuD_9Z_Hl(&>FpBuk-cn zZCi;KZwz1hJCV2wZZB@Vkdc`6D}6K?S&c8G?$uZ~`(F#L2zw&7vG;y*->}%2zjdSj zol4?-VOZbuc=`*&M6Xf5;N@ydY-a3{_=0Hv3fGb0e~0(2zj>~r;M}oAeaFT7LmMlv z^xOWiI;)Kk<~o19q~;V;u;a+=*tFjd{M2CjW>b&!ow#o0Kyc@7n`bCw-C+m{s^?Qu za?(>$#sdOjH2q?y!Tf&W(w_X>Op|Tt8Ti^O2kB2urYAF_wig_1i?WsB9bbpe|us#@6kv&GVb<;Cn&WzPxt$3ncC#7T>n*p99C2-MVSG*&merhhDN3n_ct{ zcQ~>%{x|u1>fV|IM?Aj3$vH3V`fbnC`coGTRaKqa?>v1=e4(+$hA$b|wT(UM-q8J% zZq=*n_upOf_UYbZ8CBVO=G?4?WgX4OzdPA6*m6Q;ihcFK%7qQTvp)8e;Y{yKsd~%O zpQ-oXd9kT4VF*2IYwx1J9mFD{zTOjYk#9t5_nJSfzViOs zYxi;ot*4&}iaqtC&FA3N)wkE)yZYwFrhU?`w56ulRsWwSu?Wa z`1yAq+QRofSl;>R$4J_V0gbox>c_hc148KH>Nomc`pR6rFZt~`e|qf$?dP=zpDQT% z>y0;CcYGKMXFiX928I6egumg~MMMA9&n{nnuaF)dhVB}LOS|G9=7Gd3=RtyPuw>D! z$E9E#9y_P-ySyOtAV|N~?`7CxPJ-=RA@4RIx88jZfq91kc~)(~E#4Hah&NXXTyAA{ z9$Q(=QVwM8nlQbe1^_NjVqm|k#4XZ(0}{Zc!MiNR5ICSB6&sKZmK-?6BXBUOAQd=j z^7G|NWK9^X7aUI7YD^u205bzpBuQQx!+buU!lzPrghGs6qjk~ zmYfL-nSw&z!RQ}!mW1j3oT5nw)nJ4Jgu_JA_bvRG)Nhb@!0mu@s5 zvVYp)VR;8V`pV&IN@;hZgp#6A5?A6V!|HS>skSS%I=eKImok~*gfwQFz!b?WR+PUF;QwKzKoVx7Q)tYk_i?@ESp04RoXP)e19 zLn+Qdprl4aqLi9cp{#~-D0Mhak&G$;o($U%Iw1f{76ATB+ zf@av!5JaY&a|HGYutt~IBF0_Ff&MX;u;X(6dy;{`wVad0aTK>ZwJ7OuGN?|&*in{J zYe=n<;Iwx2RCLkflzfc9B^3f50aqYF16;wY#*Qj}s=lv?lg|NAhT>{;5@iTB7Az)r zjPYpo*njb%4=7A(F~DwA23i;BgxEwY9OFxFIzQlN>>PeT4*+_`$+Y;Lp=*Y&X)!P@ z<(cf7p=(+UOiOttyZ&!C@la*%zKKYB_g-mgnd`gNA985F zu8O$Y)PnVQR^7k(d6vB@#>ktM2|M$9lQL{EajX!&#mql;^sUp)URd4u%7VDWn!$uf sTVG6Y%(2ZjN8-Nlmc@8jYFA4zG^gep@7dMY>p>7ux+&Y(oLo@%AFmZh2mk;8 diff --git a/public/images/ui/select_cursor.png b/public/images/ui/select_cursor.png index f55e33fdb94b6c2ed9f270f71d7d987c57d66952..41e52ac0d607bb3ef18ed80830df13dbc8e38db9 100644 GIT binary patch delta 151 zcmV;I0BHYcv;mMLe*tq+M?wIu&K&6g003@DL_t(IjboIMkoeDl241{)!H6z~46x~8 zVPIfjc;Mjx7f{%70G}CffUbvyR0Gh}!wh6WmL%jQbalvHWJKl=YY+@z3#(Bu3Mc_o zOOQ+q45%59RDdoKF~s6@a!Nu%!jFjpALlnR9oU$_s(iHVfXtyI4yp!O7gjhfX6p@U emRK3OfsrAroVPw?W}zJe5O})!xvXML!Kg;EbK8Gs+h2 z34_G6mG$LRbuV`sjTpnT0@2?D*oKF~s6@a!Nu%fE*o=&8Wcb25c@4u6I=kFzH1 QEdT%j07*qoM6N<$g3CQe5&!@I delta 85 zcmdnbSUf?+-^$a)F~s6@a!Nu%f?qE9@hW> diff --git a/public/images/ui/select_cursor_pokerus.png b/public/images/ui/select_cursor_pokerus.png index 123b0a0f15433a9727a15bbb30331cd23da4fc1c..cccc4ada77b63134dcc8fef8a636081bfe03b078 100644 GIT binary patch delta 129 zcmYeF&p1J)nz1;@-HBn{IhmIX3=EN;E{-7pjmU4UQ*M{jvT9%HEckz hrd4E<#70(WhMkFJx%Ph7CIKyB@O1TaS?83{1OVHcE(!nu delta 73 zcmbQwm_9+pSzopr00Af({r~^~ diff --git a/public/images/ui/select_gen_cursor.png b/public/images/ui/select_gen_cursor.png index e602d15316d4481d35276ded5ff41e46916f6575..e4ed90ecc776438d3260ee1f0701c7ec4be41f71 100644 GIT binary patch delta 153 zcmV;K0A~McwgHeNe*tq+M?wIu&K&6g003}FL_t(IjboIMkoeDl241{)!H6zK3czM2 z3j+fK!vhZoxPZcr1C-bS2k2(9P}>4@^I#UTAWKpjWa#D~2O%RehgufF0JgXq1*3p| zfNsf~iGcyNxS%$`S~9>~K(j&>*=AZ4stgQhaRdXj@DTt-6XP=nnr!r}00000NkvXX Hu0mjfmW4VW delta 76 zcmdnSm^DGg&Ct`uF~s6@a!Nu%!jFjpALlo=H6$P8a+?*+^qE7LdG3J~u8YNbqfD|c gdTi*J77D9RL6T diff --git a/public/images/ui/select_gen_cursor_highlight.png b/public/images/ui/select_gen_cursor_highlight.png index ce2f2265ffe80942d3c6577aecf083d60e0cab04..8019de6f3cd86622d760caf04102393ec92c1c5e 100644 GIT binary patch delta 152 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 RA2(&UgLW>qrPj3ge*@%I8cqNJ literal 1424 zcmeAS@N?(olHy`uVBq!ia0y~yV6+3WH*v55$=kMz)fpIA!#!ObLn>~)y}PjJc7{aT z#q)C+oE;sVf%ve~VJGMKCVfSN4F&}Z6B8FKSdj35pZ9FggCo07F1vhp<dn|8SAU$&-2{>VY{w;^Y)ED zcinQ0)MK-)^E&_W@ymaA>rWTT6|DUI!=~ozrjk^*WiK!7{L@!&>l&N8XomczIj0{+ zxLme#b4jt~-*Ke&&(Wn4>$mH>U46Y?vs7|_RN4H0a?3(%msfv3w{*q_gLTsbr-tg! z-|d@g@>}nBrGxzUkIN5lkF4o_TPFQA@9WFsJ;`6LtuD=9I+b$({y`TF3>x$ixHP-**7@2~*4Po1+OdX7X`Ui@z%+vn<{vYxxE-{xqzNU989q1=8&xAhvQ zJUss{{Ba_n=KRa|*Hd@=^O_j+{oRcPKO~m?*tKo0?&?>n&l&d4Z5HP^dOQIb6Z>Xs z?c09o7c~9Ooigw7@yoR$=mhaNA+az*-zgEuPFZKq_k9NO%^xLB9_0?V5gDw7+?%4a$`J>^yN3U0Zv6D;g z*e}V{#sA-m8(Z9i#GvuNuICZ+(e_8ptL5yjPB;8kbFtCp@bxpnSMD`LniSig<=G@U z-&~4G)AAYN{Qjj~AXzSdKc&Zicl8Wl_#d6xz|AkOEVDX`R? zHa5(DR9%C`{V1-4`SkGdlr1Y|j~cdF@bCCi`)2;U`717;-+edzf8(Rt`Rrc`<)!y^ zT0#=b3zLhyMQ1vu{Iz)y^nIiI-A>J}PhVMO3NpHlepen)eV=Tfk)d?2ZqJiNYc|XL zw={ikcdk^fp!4^Q555I|ieBC-Gi&?YV86G&o{1&Z;-sIutsbzXW$<+Mb6Mw<&;$UK Cv8D$A diff --git a/public/images/ui/summary_bg.png b/public/images/ui/summary_bg.png index e4da2dd5da235dbded64b2c036088bfb6125ba9e..1fa1d95fcc3ea6c3c6c09a65682e2d5b2de54ef8 100644 GIT binary patch delta 2489 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 delta 3833 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 ByVL*x diff --git a/public/images/ui/summary_moves.png b/public/images/ui/summary_moves.png index 54ddf0fb2c72bfb02b91c8ced4253168007b95ce..8f6b01137c19d49c2f48a4fcd893c2c93f46e6ef 100644 GIT binary patch literal 1321 zcmeAS@N?(olHy`uVBq!ia0vp^*MN9F2OE%V-J;$Fq!^2X+?^QKos)UVz`*j@)5S5Q zV$R#Uwnew1WR5+2Y^`}EO@GRo1F6r-7JhU%*t6aFp;FK69lkF`Q`C5?J-wet%dXQ= zvE#{?$)2~IQ;0qC=Z}~C^BVF`G2Y)-TWwiVuetQh^Up=)<>AXNzr6RY#_s;w?Dwyu z|Nr>0qx_BYammeJf4Tqs`ugXyz2}>^|28Q(p0%~=X5Myn*(V=A7V7s&`IP(iE_r|B z?bqXd#xs5VthV<*d--x_&A&TSZr|2-*U$R1x9YG}YS7lJD}Je+zfh7nYgzgK3%_>N z?~Us(OImx~-b-`opMSNtSbO(hkBfNjvufME%wVtoDN?uY_igf9nztr-ZkWIS`S-P4 zF&9^FI5#&Wce&rPcO}{EH+wf{&N7-p^r}px)z3XeM zci)}%`}gmA$?-+&>V+p~&9R$WbaTn7HnrgD-RoZat^Rf6-RsS}ckgaK{_};;s*k%O z*M^C^ZoQe~rTO1~*0-{~v0Im4yzqEepX~F+Mk|lKefI6!>F)PV2TT8czNgNRtfIpq zAjZPM&D6rmc&LdX(XnBJfdFhYQ#(y{bduhLE$(-cl^%WI6GX8G-Jm+j$_47OT_O&ha z4}bbtg6H+?>$f-Eo%fA%=jo?K<-Z?3T&Oes^j-TM>)!p_weMfm8;jEa=jYqU=gM2p zU-NVwOyqzPTl9-m>*mH`_9+) zZ~SXl@9+P$Rc|Ix`432HY?He^*RA{LqX*Yle%BT2-g`abtNh0lBTI|OU5@h6^%?&c zmR_&uO%3Y3ygW$n|ICP5;YGXm-`jpOr|SB5Ti2Xy|BiRJs&?D{?5mx=&Tq!I@_)CE zOIn?O_qctVe_~MY^|Qdtxbq3a?6Yb4_fw2s-nB1@-}~wN+x5TOuJOFw=k|Ku`;Cuz z=RUvixP9L}fyr5S{yf-O{$zQ2-}QH<)ApzAm=_!I|J$GQEDv)3#1oqu@g;M-X@c0i b@R)RmFWVKCsjj~l$FalC%d~Tz5doIHj5=F%F8O!+(N#yHoF;CUC+(dpRvk* z-nH2?+E?uG`9HV1xjk)maN0hb)QQV=!tAH-&1ir8;c5Ds?Pq*;-_)I#zH|DcIqOeH zw0S%3%Z$k9+8`w_%{F@#y*8`f?A1PX={T;k!;yN=1iL$o)}E_6 z$tf;>?SspGJ%0U%yEX@Y-}&}Ngn@o8yWZJ%@o^>g$7hMno)J2`epm9!Z#&PHPZQ@4 z-#GuQQunsHe>J6Fir2)~2Z{VNQCjxDr2X}x(z4p*{^t)w-#oWk-1J^UuY@WPzN1ynQw27|K&#NDAZx73Rt@G}^QT^^e#{1XT{J$&8 zLWBe1{yF${muz*C6n}ref4s+R{^{)TA+wkN6R*(||2$*;>AfE}KHrvnIJYlbs^gZ?itRYU0PWkksV9(|ljg z&+gmyw?Cbz>(wn!-<6y3VdeXcr?NyVPbv9FuBp?jR)1RXCt$^N8|9u@x1?jgrc8bx zU~u>53)A&~Qn%hZE788~=e@7~a~E!(zTv~lMA=KCw1&E;(L)URUYVmRsEk<(Z+q$2aaiX*ff3+x|T1N6|^I z?)`k7r!F?%__N}g$@<^>Y`+)Ip2+)ky{IoJm`QXFY}{sj^BR^DrGc5rA%4H uu~&ACbKa>bEwavLd|z|^>Ysf-Vg z@7-HFf9KzowfYYXbEMm&*#l~!3 z0`I?TOjzXn_AaxdmxF+S01FEXBcr1OI`dfUj>CBc{4D&h`nHPk*}RlD{iKpAYFC&D P^eTg=tDnm{r-UW|LE;|eM&DqFY%7klmPWIWk*diELqxyp?|6B#^R{an^LB{Ts5DF!r% diff --git a/public/images/ui/summary_moves_effect.png b/public/images/ui/summary_moves_effect.png index ed422d1b439069a3b74ac2c45a1c2241bac0906d..e1b0e066732040434354314960b26596c2a1541a 100644 GIT binary patch delta 582 zcmcbudX{~HvM6Iqrn7T^r?ay{K~a8MW=<*tgT}e5edQT_m$0yJ!W(vk=(eURD(39o zez{ttl6$uKoV}dP#vKAqC*~)bnM8;j{d%u+O3>V>c}q84Z=L?DXlq_=`|7m*pAQNu zCZB$4Q!%f`=)LrXsQCKTtE5aL=Pk7l3-{XksyfzV-qK0w)32o;zHu*hj$eA`V~xscl>FX$ z+Jut^XIz)5A5Mr@G!3u1f2#Cq?B^Td32Ax1f4B<^SxL6dymqU*=Y0S7gN4WW=*sA(U30}U1)oXqpiKWtdI?f4a&AvVBFMYR_us`B;srhkubHwYwx4c^DF?CX&n TakmsV1|aZs^>bP0l+XkK+AsUx delta 4447 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 diff --git a/public/images/ui/summary_moves_overlay_pp.png b/public/images/ui/summary_moves_overlay_pp.png index a42c86f28ea2915eae7edd62021072dbfefcf98a..9dd0a080e3d9b96c042f523c8617f714e72a96a3 100644 GIT binary patch delta 127 zcmV-_0D%9H0h|GlBzOUHQb$4nuFf3k00011NklJQ3{Tn%^VG%&)D!@Fh036o_pv)N$XWI(_?}{Y#5L#ZYNKy~IC3E%f hw8i5W<|pD`o*S{lL^gR6kBa~R002ovPDHLkV1nR1F^T{H delta 115 zcmV-(0F3{f0gwTZBy3knL_t&-(~XZY4gett1Q+9jD1E{{$Hq)$ delta 181 zcmZo*yvR5~rGAE|i(^Q|t+%%qN**#0Xt>C|N=Wjg#)-bB6p(qoS75M6Y2d^PbTJ9rrrH{_WHB_T76x=f5-F3 fRXvK?ogEd-EeeVk3dNM&7=Xaj)z4*}Q$iB}&WuHK diff --git a/public/images/ui/summary_overlay_shiny.png b/public/images/ui/summary_overlay_shiny.png index e4ab820730a4be7c7909020bbdf93aaf534035ed..472728cc3a3a7c9b64f1b5b3f5d2e8c1cbb8a55d 100644 GIT binary patch delta 200 zcmZ3&^n`JONGZx^prw85kJmdAc};RLpsMqG=67V|mpKmOOlgr;Ro-!iZAqs#ifWpPL@vi>Mk}gwHbTv&~Gc_;i z+)4v1g*46U@q(17R0g7G%$#Z5)D$g$AYZpT6Qhm78UKpS};F3x`E%cT=_1Vayl zzJ-w*&~P`S8*(??W4}uCaCDJxxuKthYy(_-9%Xq(3-oSe#uPe}G3}AFYfSi(035%8xZhfv= zhQI8%ai3hytkTgiVH)Ke*~PCk37``!L9?&(PwWL9blI?3cVEC|P}lL;y&O&sNwu~} zqzn@B@!~p~=+XdK9|OFdUgW9LS^?rE;KC2-(b?fujl?;a3n_&i5j3mPJ({5j*0ofm zP`sFC$qm@+3hl^WiL2++I&8mbZCBd+(^_jK(2Oi{0t$Mz)>$jj;wss|^D+{wztyZQ zq%!H+qLr2AvoY3U@?j{4tng|zt6HF;&qwoZ&ZeRij=W0Jf}l3atk!7mCFv@YjTgAE!VEuhg^&pKun{v7w{=pJc*!J#hvM=UBN(wJZ zS5&6>IRs zjU`Izsd#%cHltsT&jdC@vDEf2?)vqh6{f+8G@u#j1p74E^5yApQg%4AV-oa}VFwhf zM&aLX{r|ny$2(Qtyw`DJ{06$>)-CSV1pBhWG5rhiVRJH1e8H334Y{#(yUoY#?9vL9 ztE};qfdJKfGZqjDUDaWk8e z>?(=7Ne+7m2LSAMli9hW)uiUSYBcQ%LQq9g+YE++?8f_Ix$@1$So4NXBXqVIYa0!L z!d6oQhev{$e^D{!N7YjeA9e7+O6k%_wpxzf{dpInpm(*G>P|g$C+{~JZDVno_PT04Vd){rbu!yy52vh6e^UD+2JB$8J{!bU_vS)R71%y9t44}rR~FylU1 z(+MLcrOyK_s*|LT3`>*bg>vb<+>+9o_iRccRt<+O#;UjuFodG`iyQbtf$JZ1JzvevSz)4Z(Obcqa|fJpq9zj47DNs iw^9Chczgh0#in~~pAaJhdxJmYtt=0?E) literal 1507 zcmaKsdor1W^7suIj~&}~&hFVg`^V?rf4=ved+zsq@6EH$b}~>HR6;^R z=CnQPoVX8)DVN+WuGj0evn3=TPfw$4&{szUqZ+Xj80FOWMC880Li>wa3SM4bH>-0{ zi{I1g`=*@F4NalR9b0NumnD>BG zVdGV_FoXys#PO(Zuoez&93Wgh^IlpzHguNXNm%~ufLWi}YiKs=$S&g-^q}P!@vmWH zLVvVqX-CB~-Uu;Qx%MSmPQ2BQZT!9wbB!b+W*h;nT1Q5mx*!{J48DIb+6q@xk&Zp$ zNm+bXV!LqYa(l%G`vGN-z(pG8fk266Tb(lN4+?IAIAG9|<<4C#Nw(oM2mlpA;ztB% zX0bLwS-L{%&X5m=is)Ylal%sRJ9Qv z&TCp@Tq9M-W+&Pi+T{YjNvrvOLMV6uh;18)L1jFYIVkg_6D^xDuyDk~VqbN5%x^4D zvtzwFeN8E#0McnhB{#zvb|}5M%utsuVlh4}qLJHmf3Wpw(Y*;kxNfCEAaa)(xrKmW z`oYTjbEKZ{vP{#!mTwwJGJTwu4){phLY_%SBrGh(*2)hBhM%nX30vvdXT3_RS8c{a ze2-()_2d*KrMAg{Y_okuyNd$$sT+-SWzdcZjW+cb4ao0TEP)Y| z81Pjtr}!z*udq3YDfv+&EGXdhuS^0{A^J|}l&+`G4|O_fyP3+-DwVKTPo3@;ALF15 zH8tZA_^Qd-%{3`Yp&8!DV1nmKshz_e8Xh8?Zx)#I7?cl2N$IB7~o3ZR0%~; z^)iO8*vi+VXT|8x*Ky$6;aq!LYm3OR`)wkBueIjaH7?bIx_Te(o~PddcE4+O1{H-fb(VpvkSc zy-4IVV0`!yKp+C9MPVHr6Qqgz?|=Ru`C2lf25HpnW7R+(^`YEFK7;htm*zrwYu*pv zFaY+e5payEQpe*~={Ewblk=Yg6EK^p$}x^xsbr`)xfn}n|9-^LfS%T1%WPgERWuLH zhFY{2hD`M?%UT(Rb<78}D1GtyUrG6D)c^YWB~*Wxt`b^xQ&^?)LnlX=?O7&eE@fIX s>g+D}8rtEXT`i?cjb_Zxxo_@dwXY7<{&L$u{JbSj+d89aPFzU)1H173{Qv*} diff --git a/public/images/ui/summary_stats.png b/public/images/ui/summary_stats.png index e744f84be8f0da06f0028e5f964de56940e4f772..b87d67b864a45df113b7995109c59e025cb1757b 100644 GIT binary patch literal 2179 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 Zkmqz|{k*63g(uJw22WQ%mvv4FO#py;GmroP delta 155 zcmbQwxSer=N`0NDi(^Q{;kP#y@*YqSaJaa8nR7^(k(0ZllH^il1?`EliVP?BsyuFaxJ(f(|q#5Mr@ZI?|%gGoq9vUYUFlqA5Nk;KH@d3l!{ z4gFau4IjPvOkx^*UB>`_DQ&qAZBUF*oWQ%YQEDIPf1~{?HhzRV3hk;g1epMt00000 LNkvXXu0mjfGCOm2 delta 282 zcmV+#0p3+t1LIHq?qIpKoHUjP6A07*qoM6N<$g4-vH^#A|> diff --git a/public/images/ui/summary_tabs_2.png b/public/images/ui/summary_tabs_2.png index f147d1b83851047f3ed14577753a6d4f98b1a978..16f7c35b278812ea8f1c21405f5e380cd4dc1950 100644 GIT binary patch delta 260 zcmV+f0sH>F0-pkqBYyw^b5ch_0Itp)=>Px#*-1n}R7i>Kmcb2!FbqXMhy`+Eg|5K} z9d*abZx@h@ zDzrd!5|E8~p$S@%`92OWYjxZ29+QgOG0{o9(~u2x+nWMx;(bR!wkWRmj`7wNV@z~% z?kdyIEDFg8&!ZJNLtKX_gQjSL7zgug=$MU(W+hLGx!{axMF5|X$g}TeC(>MM9v@|> z8=JcR0c&|;M}<=Xvmvc$p#iufVs$n=c~VRP=MVb-IPZ!lKf)a#gPZ5D5OEv;0000< KMNUMnLSTYdw{YPA delta 291 zcmV+;0o?wd0=)u|BYyz|Nkl$Vh?*IS* delta 225 zcmV<703QFj0{sDyB!9$7L_t(Y$79@)ap6D1FaQn}8Yp}whG7B@ble!89z*xsu<{rK z0|Ud24L=wd7#J8>$kMz65i%Mc8g$pM5ukzO5!593;>H684F(McMp6q8WJi(XI7;<9 zOu$ropa9iO2@M6(k|H)o;S;B}e&m?KC;sBbgW;FQhHc?NmRiSf7%f3OTkk0yu_W9@7Zm7=DEZazmJDIC_eKfq{W>g2IX+pT{&Z b6fnd97FtcwhbJPV00000NkvXXu0mjfsuo$1 diff --git a/public/images/ui/windows/window_1.png b/public/images/ui/windows/window_1.png index edfef03f924ffeb6fcac7b7144ca16457e918447..16a088108ee57cf5504d23ed668486448295a9e2 100644 GIT binary patch literal 640 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 cR|83#rHGQkyp8SBsgFI2V7oB#j- diff --git a/public/images/ui/windows/window_1_thin.png b/public/images/ui/windows/window_1_thin.png index 4648d812f1704df54f075e7b7d6585e3c7b893d8..96750d47c0f8817ac429189959fe0837aa78cad5 100644 GIT binary patch literal 643 zcmV-}0(||6P)n+HZ7F0pjwzguZ><` zf!gI>C8TZ8Rw#(t^jg$kP}`t&5EMlaty>qhskoi1ff9L!Gv}M%%sI@Q0c$v|Wb`^O zWU@Ie6!g0m7MEQ17i@Ilq=UYQqN_7=6JcuF$2}G^-g?Yhwa@))O|iJHfTclrOi{I* z@TBncdQLTYN4QN%MPkBd!u^_DQ25T&qh)?EIa%f}leKUt0M-^^SF(zuRjj16jIg{M zcP5=ze(z(x#1YTV&q?eS??fj=5I-)a7$?9mgN({Nj0YbBvZ6-5x0FB2n&c`ns}#^! zB}s}L{i5cjdR$^c^tg;P1+)Ku`>H2~eC6s6Kh!@P##;~Ax8b{J7@tRm@qG-oC%DX3 z^4AVwKmc0tXFcgK)jhfAX+Xca)@6*9o z@WJ{D4t<{vLg8*gx&>?;G^IZ}NK$af+3qELA7sc0;T>l7NEi_z0N4ijg^wt;O#-i- zK?QgbA)3Q$XQJR^P9-gfnf>*&AC^t8qXdO=gXDbcURM;-^cs!dMG4SPM>QVqeiH}( zz))Y#B}*1$K^A1e-w6)%hz8CXlRhYvTfFDLrciDvsGUKnElO>ZRwmGafR##LT8Icy dSg!SLc>=KVN8?15&bt5r002ovPDHLkV1m4IB9Z_A literal 232 zcmVP)5!ctAdke4--3hZF(4c_^~ zQ);7u@WBE4^@pRAe(UYIsBZX%Z}{(Us_AEF-@8e-C7r^l*xbPDkdGk~$){J*z3-h? iw#jZwjSGC$F?|6j=sLrEMhWZy0000n+HZ7F0pjwzguZ><` zf!gI>C8TZ8Rw#(t^jg$kP}`t&5EMlaty>qhskoi1ff9L!Gv}M%%sI@Q0c$v|Wb`^O zWU@Ie6!g0m7MEQ17i@Ilq=UYQqN_7=6JcuF$2}G^-g?Yhwa@))O|iJHfTclrOi{I* z@TBncdQLTYN4QN%MPkBd!u^_DQ25T&qh)?EIa%f}leKUt0M-^^SF(zuRjj16jIg{M zcP5=ze(z(x#1YTV&q?eS??fj=5I-)a7$?9mgN({Nj0YbBvZ6-5x0FB2n&c`ns}#^! zB}s}L{i5cjdR$^c^tg;P1+)Ku`>H2~eC6s6Kh!@P##;~Ax8b{J7@tRm@qG-oC%DX3 z^4AVwKmaz)LFcd{kV$B$E3v}!M^e6nV z{zU$#oA5TFZUGwy8*Lq2dG25XK!)5HmV^*8iV+b5&=mMNwDfLLfyd+-Ad84; z*6^6TilBEBgq8tvQx-9K#@VR|V)FEEVqm!O$GFX?RB3Q7ZMR_2p+!@y3ZFBe3_n6ljK+wuS{enN-k S7<~Z%0000tET^zv)_)5X)|YK=CqGw2t6Nca}S_Sls#o!QW@ ze}UzB1sOJlW1MTX6)TUNQr(b|7+tn!a|r8YHpR*ypXsx$-Z!-VoXjY3`$5*_;&aDN zc)u)Yx4!dm|AR$O&C1Mp8m@`1WjOuT`M%MX`sX$W9W9)uY^u8m| Otqh*7elF{r5}E*~lU6VQ diff --git a/public/images/ui/windows/window_2.png b/public/images/ui/windows/window_2.png index 7da47310d64435b7f5fb1618b0416e3f28a46f7c..98a6de12270f084feb2dc60078c0ef7a791ce76d 100644 GIT binary patch literal 657 zcmV;C0&e|@P)n+HZ7F0pjwzguZ><` zf!gI>C8TZ8Rw#(t^jg$kP}`t&5EMlaty>qhskoi1ff9L!Gv}M%%sI@Q0c$v|Wb`^O zWU@Ie6!g0m7MEQ17i@Ilq=UYQqN_7=6JcuF$2}G^-g?Yhwa@))O|iJHfTclrOi{I* z@TBncdQLTYN4QN%MPkBd!u^_DQ25T&qh)?EIa%f}leKUt0M-^^SF(zuRjj16jIg{M zcP5=ze(z(x#1YTV&q?eS??fj=5I-)a7$?9mgN({Nj0YbBvZ6-5x0FB2n&c`ns}#^! zB}s}L{i5cjdR$^c^tg;P1+)Ku`>H2~eC6s6Kh!@P##;~Ax8b{J7@tRm@qG-oC%DX3 z^4AVwKmN5##FcgOWw2g}yG6-fBFVItT z7Ek1fO6Qy+H|Su8S5R<>Ad1vM3z}pK=_38d2k-krhWugpL@6~OVTgzUKrzBs`yFgm zCV>lWfVvroh~=r_0C3+b$c039><$G04=%Kc0)KOCRRVSMz9JXS+dfJlwDAt>33%Is zcjqWUD49FRFV|>TXx9^@&McS(v*0fUPq~bSg?7Ey^s!k-3qre|z*c3F!ub)nMUkRD rg*LbWV8Aq`f2tc05o6(`* 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 YKN%r_RO;(T#DWokhn+HZ7F0pjwzguZ><` zf!gI>C8TZ8Rw#(t^jg$kP}`t&5EMlaty>qhskoi1ff9L!Gv}M%%sI@Q0c$v|Wb`^O zWU@Ie6!g0m7MEQ17i@Ilq=UYQqN_7=6JcuF$2}G^-g?Yhwa@))O|iJHfTclrOi{I* z@TBncdQLTYN4QN%MPkBd!u^_DQ25T&qh)?EIa%f}leKUt0M-^^SF(zuRjj16jIg{M zcP5=ze(z(x#1YTV&q?eS??fj=5I-)a7$?9mgN({Nj0YbBvZ6-5x0FB2n&c`ns}#^! zB}s}L{i5cjdR$^c^tg;P1+)Ku`>H2~eC6s6Kh!@P##;~Ax8b{J7@tRm@qG-oC%DX3 z^4AVwKmaz)LFcd}atIcEv2f?iVLBFE2 z_@NVxTgN*2V78d$eb&dPiNAYhx)AG8586Zzp*XUhkqDn}=3 SvX*@S0000nYn?qQ27Xt?{uA>&f~X6vw3yn7nWKiogKuDILr{bu9co~fB)Co)!@m8{UJT&d%n u5cTtt_q=2JRq{{sUwgY diff --git a/public/images/ui/windows/window_2_xthin.png b/public/images/ui/windows/window_2_xthin.png index 01e9511333831ec483e3841d7b5e0ae6d14073fe..bbb68216776bc85474531de244bd4426311d547d 100644 GIT binary patch literal 636 zcmV-?0)zdDP)n+HZ7F0pjwzguZ><` zf!gI>C8TZ8Rw#(t^jg$kP}`t&5EMlaty>qhskoi1ff9L!Gv}M%%sI@Q0c$v|Wb`^O zWU@Ie6!g0m7MEQ17i@Ilq=UYQqN_7=6JcuF$2}G^-g?Yhwa@))O|iJHfTclrOi{I* z@TBncdQLTYN4QN%MPkBd!u^_DQ25T&qh)?EIa%f}leKUt0M-^^SF(zuRjj16jIg{M zcP5=ze(z(x#1YTV&q?eS??fj=5I-)a7$?9mgN({Nj0YbBvZ6-5x0FB2n&c`ns}#^! zB}s}L{i5cjdR$^c^tg;P1+)Ku`>H2~eC6s6Kh!@P##;~Ax8b{J7@tRm@qG-oC%DX3 z^4AVwKmN5##KoCXW#-wr!i-2jpK~7;U z9(37yPq8;hV=(~*iwJ^9EaK``Ruizuua;qX52pEJc&BNa5ygmz0Vor^J{}nMtqR9!+Rs>LWJ=N)=BFIyu$Le}hgXXN_ z$3K-Uf<>?h7QtT$o}0BAG-rMK;IZ4P3365m-v-jGOdBG1z`#7Ee|8=bF(wV?I$K^2 WK|<#V6PRrP0000XLo80ey{ahGY#`A3(4J?J zP-JJ!PWKmr6Q)i*;gyoo-|&Rvgq*U`CL^OweOzAbw;A-#zfE~I+gxxrn?s0tSx@;n ziNLwHUS#I%<+i#dUaJb^&HHX%$Z$XM%NoxG+OWRqV`(<~HWBf@T c`BEQylm8}#%LFVdQ&MBb@09^4{_5c6? diff --git a/public/images/ui/windows/window_3.png b/public/images/ui/windows/window_3.png index 0764ea2d6b09939ae3b968290f33d24db5466cda..d3810b06e0c07e0730fc362c6cf79736d8532123 100644 GIT binary patch literal 671 zcmV;Q0$}}#P)n+HZ7F0pjwzguZ><` zf!gI>C8TZ8Rw#(t^jg$kP}`t&5EMlaty>qhskoi1ff9L!Gv}M%%sI@Q0c$v|Wb`^O zWU@Ie6!g0m7MEQ17i@Ilq=UYQqN_7=6JcuF$2}G^-g?Yhwa@))O|iJHfTclrOi{I* z@TBncdQLTYN4QN%MPkBd!u^_DQ25T&qh)?EIa%f}leKUt0M-^^SF(zuRjj16jIg{M zcP5=ze(z(x#1YTV&q?eS??fj=5I-)a7$?9mgN({Nj0YbBvZ6-5x0FB2n&c`ns}#^! zB}s}L{i5cjdR$^c^tg;P1+)Ku`>H2~eC6s6Kh!@P##;~Ax8b{J7@tRm@qG-oC%DX3 z^4AVw`d1_lNOZCyB{NKNS zKZXm)0qBl&baZ53L07bD*?NW>S8tMK!K!8JF)YEb;KtRP40mteC(8nCfC*jT^{cmJ z8-`6Uh6U6HqZW)>FlxcDv_Mo$m~6wa>BT5bHMG^qwg8)63=6`d0;yKvz%4+pD5z0= z!W_x`<;$1G8@H}DaIx_-XzOZHY%t7lSf$Sh6QotM1pu(3OTyRU>a+j=002ovPDHLk FV1iy!ENuV) literal 3042 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 diff --git a/public/images/ui/windows/window_3_thin.png b/public/images/ui/windows/window_3_thin.png index 12cc6d60778bc2ad109336a9aaa9cc01b5d027e1..db5e0a91266bc8de1017f902caa6c1a0529f9019 100644 GIT binary patch literal 635 zcmV->0)+jEP)n+HZ7F0pjwzguZ><` zf!gI>C8TZ8Rw#(t^jg$kP}`t&5EMlaty>qhskoi1ff9L!Gv}M%%sI@Q0c$v|Wb`^O zWU@Ie6!g0m7MEQ17i@Ilq=UYQqN_7=6JcuF$2}G^-g?Yhwa@))O|iJHfTclrOi{I* z@TBncdQLTYN4QN%MPkBd!u^_DQ25T&qh)?EIa%f}leKUt0M-^^SF(zuRjj16jIg{M zcP5=ze(z(x#1YTV&q?eS??fj=5I-)a7$?9mgN({Nj0YbBvZ6-5x0FB2n&c`ns}#^! zB}s}L{i5cjdR$^c^tg;P1+)Ku`>H2~eC6s6Kh!@P##;~Ax8b{J7@tRm@qG-oC%DX3 z^4AVw~ z^(I9YXlSd$Epc>oWMDy-ym9p=!`<8WDY5_^Fd=hZzj{ltf#_y1;ZR34Flxc51)~;> zS}^D=5ET=q*g$kMQ0fB>ZFPz*KsSShfdNvJg+&E2ghd5XwaR2*phu+-6QotM1pqkI VMbNEs@qGXQ002ovPDHLkV1oXV6&U~k literal 234 zcmV diff --git a/public/images/ui/windows/window_3_xthin.png b/public/images/ui/windows/window_3_xthin.png index 57ac6427b79ffc3fe6e6b9aaa617d797b0a9afcd..bbf7f904a98ae3f1a5942cf527b310bf9996d313 100644 GIT binary patch literal 636 zcmV-?0)zdDP)n+HZ7F0pjwzguZ><` zf!gI>C8TZ8Rw#(t^jg$kP}`t&5EMlaty>qhskoi1ff9L!Gv}M%%sI@Q0c$v|Wb`^O zWU@Ie6!g0m7MEQ17i@Ilq=UYQqN_7=6JcuF$2}G^-g?Yhwa@))O|iJHfTclrOi{I* z@TBncdQLTYN4QN%MPkBd!u^_DQ25T&qh)?EIa%f}leKUt0M-^^SF(zuRjj16jIg{M zcP5=ze(z(x#1YTV&q?eS??fj=5I-)a7$?9mgN({Nj0YbBvZ6-5x0FB2n&c`ns}#^! zB}s}L{i5cjdR$^c^tg;P1+)Ku`>H2~eC6s6Kh!@P##;~Ax8b{J7@tRm@qG-oC%DX3 z^4AVwltoby-5`dG_=(j!lD8h9334QSYU!TuHIz0d;30BEIeS|vRO=c)KLYD zS}FjTvTt6J(j$Dc z_{EH>{~T7eqSEG34J*HAgfS_9n&_PnB|K5`y~1HeW)?R#`%fW R`T!lv;OXk;vd$@?2>{W7QV;+D diff --git a/public/images/ui/windows/window_4.png b/public/images/ui/windows/window_4.png index 69c5bce9dc988b7022487fbf69f4be1b30f6c38c..5be8161ca8b079c2a8bc6b9a40735fe9f55d1560 100644 GIT binary patch literal 659 zcmV;E0&M+>P)n+HZ7F0pjwzguZ><` zf!gI>C8TZ8Rw#(t^jg$kP}`t&5EMlaty>qhskoi1ff9L!Gv}M%%sI@Q0c$v|Wb`^O zWU@Ie6!g0m7MEQ17i@Ilq=UYQqN_7=6JcuF$2}G^-g?Yhwa@))O|iJHfTclrOi{I* z@TBncdQLTYN4QN%MPkBd!u^_DQ25T&qh)?EIa%f}leKUt0M-^^SF(zuRjj16jIg{M zcP5=ze(z(x#1YTV&q?eS??fj=5I-)a7$?9mgN({Nj0YbBvZ6-5x0FB2n&c`ns}#^! zB}s}L{i5cjdR$^c^tg;P1+)Ku`>H2~eC6s6Kh!@P##;~Ax8b{J7@tRm@qG-oC%DX3 z^4AVw002ovPDHLkV1gwbBJcnJ literal 3038 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 diff --git a/public/images/ui/windows/window_4_xthin.png b/public/images/ui/windows/window_4_xthin.png index 45fec09adb093b5fb2684ebbd083c4ef07428c3d..15bf0f8c6926f5bdee7704ddf5003581ef2343a6 100644 GIT binary patch literal 641 zcmV-{0)G98P)n+HZ7F0pjwzguZ><` zf!gI>C8TZ8Rw#(t^jg$kP}`t&5EMlaty>qhskoi1ff9L!Gv}M%%sI@Q0c$v|Wb`^O zWU@Ie6!g0m7MEQ17i@Ilq=UYQqN_7=6JcuF$2}G^-g?Yhwa@))O|iJHfTclrOi{I* z@TBncdQLTYN4QN%MPkBd!u^_DQ25T&qh)?EIa%f}leKUt0M-^^SF(zuRjj16jIg{M zcP5=ze(z(x#1YTV&q?eS??fj=5I-)a7$?9mgN({Nj0YbBvZ6-5x0FB2n&c`ns}#^! zB}s}L{i5cjdR$^c^tg;P1+)Ku`>H2~eC6s6Kh!@P##;~Ax8b{J7@tRm@qG-oC%DX3 z^4AVwKmLU$qFbqY%tDIoS#YF`}Jw-1t zKHMt|_6ot{y+BS;G)+S#BQ@FyqGq6L6lv0sD-FabAbKyh!4Kh6%p9OtB0>OQHu&XK zqic-{+&YhbKoAi!Dcm}*B3K_a=b|D2 zitp3>(%W&$Dt_EksVvBXEXabt5|js0gQl#Q2TeuLYG`F80_(hbWNs`1_6q$6M1*25 bdwpBpOW{LK3~}2d00000NkvXXu0mjf!{i%! literal 225 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H1|*Mc$*~4fD?D8sLo80ey{awLY#`G5P+pCD zMURWyJ=Ksfw=~X)C-fLQ*SIK6)KNAPl03;5bTN@FT2Alyy_xxayOuK z@T8}8)O$V0-{(67H!)@GO`Z{MB`v7ieqaLA`;#9s;wHFVDSMG~#P03GWxbgVocHxJ z7Tn`=pZ#vLc~+iRBX`ULrvI$%B7Vu$&Wt>txg-*-{=P_LTyX1~-plM|p36V7-#1+r Y|GU9ByjkO_1<=h5p00i_>zopr072?i761SM diff --git a/public/images/ui/windows/window_5.png b/public/images/ui/windows/window_5.png new file mode 100644 index 0000000000000000000000000000000000000000..35ad9c4f22c1cbe26bf129fa4b51c1950977e1ae GIT binary patch literal 629 zcmV-*0*d{KP)n+HZ7F0pjwzguZ><` zf!gI>C8TZ8Rw#(t^jg$kP}`t&5EMlaty>qhskoi1ff9L!Gv}M%%sI@Q0c$v|Wb`^O zWU@Ie6!g0m7MEQ17i@Ilq=UYQqN_7=6JcuF$2}G^-g?Yhwa@))O|iJHfTclrOi{I* z@TBncdQLTYN4QN%MPkBd!u^_DQ25T&qh)?EIa%f}leKUt0M-^^SF(zuRjj16jIg{M zcP5=ze(z(x#1YTV&q?eS??fj=5I-)a7$?9mgN({Nj0YbBvZ6-5x0FB2n&c`ns}#^! zB}s}L{i5cjdR$^c^tg;P1+)Ku`>H2~eC6s6Kh!@P##;~Ax8b{J7@tRm@qG-oC%DX3 z^4AVwK*0BwMAP|M&hhYIa)?t|&gfUp= z)}gx*v?38b3dqs%I*s}Mf&v|s#Takx{mPt%mr_h{BEq!`Z}TIZnZe9UXwJD0jPMY` zG%h0D^JR%^>(0O$R|A&#FR)`LZ~`Y_91sztl=cJ~z9pdHM1)$a^V-L=8{xp~Mg#hr zXmxKKFh1lj4gk*b7v+lszyp10Q5OPn+HZ7F0pjwzguZ><` zf!gI>C8TZ8Rw#(t^jg$kP}`t&5EMlaty>qhskoi1ff9L!Gv}M%%sI@Q0c$v|Wb`^O zWU@Ie6!g0m7MEQ17i@Ilq=UYQqN_7=6JcuF$2}G^-g?Yhwa@))O|iJHfTclrOi{I* z@TBncdQLTYN4QN%MPkBd!u^_DQ25T&qh)?EIa%f}leKUt0M-^^SF(zuRjj16jIg{M zcP5=ze(z(x#1YTV&q?eS??fj=5I-)a7$?9mgN({Nj0YbBvZ6-5x0FB2n&c`ns}#^! zB}s}L{i5cjdR$^c^tg;P1+)Ku`>H2~eC6s6Kh!@P##;~Ax8b{J7@tRm@qG-oC%DX3 z^4AVwK*0BwMAP|M&hhYIa)?t|&gfUp= z)}gx*v?38b3dqs%I*s}Mf&v|s#Takx{mPt%mr_h{BEq!`Z}TIZnZe9UXwJD0jPMY` zG%h0D^JR%^>(0O$R|A&#FR)`LZ~`Y_91sztl=cJ~z9pdHM1)$a^V-L=8{xp~Mg#hr zXmxKKFh1lj4gk*b7v+lszyp10Q5OPn+HZ7F0pjwzguZ><` zf!gI>C8TZ8Rw#(t^jg$kP}`t&5EMlaty>qhskoi1ff9L!Gv}M%%sI@Q0c$v|Wb`^O zWU@Ie6!g0m7MEQ17i@Ilq=UYQqN_7=6JcuF$2}G^-g?Yhwa@))O|iJHfTclrOi{I* z@TBncdQLTYN4QN%MPkBd!u^_DQ25T&qh)?EIa%f}leKUt0M-^^SF(zuRjj16jIg{M zcP5=ze(z(x#1YTV&q?eS??fj=5I-)a7$?9mgN({Nj0YbBvZ6-5x0FB2n&c`ns}#^! zB}s}L{i5cjdR$^c^tg;P1+)Ku`>H2~eC6s6Kh!@P##;~Ax8b{J7@tRm@qG-oC%DX3 z^4AVwKma!27Aq)hUA2&coJ2az0D1&Cy z4w*`@6TfX3CH{wujTnO6AvyvMDW#`(e}&-5Ypqk{BErLyt17B`OI}I=_y$IKjPbJE z%s%I1wtVDRDTnt9fF<%Su! i ? (i * 10).toString() : 'Mute'), [Setting.Damage_Numbers]: [ 'Off', 'Simple', 'Fancy' ], [Setting.Show_Stats_on_Level_Up]: [ 'Off', 'On' ], - [Setting.Window_Type]: new Array(4).fill(null).map((_, i) => (i + 1).toString()), + [Setting.UI_Theme]: [ 'Default', 'Legacy' ], + [Setting.Window_Type]: new Array(5).fill(null).map((_, i) => (i + 1).toString()), [Setting.Tutorials]: [ 'Off', 'On' ], [Setting.Sprite_Set]: [ 'Consistent', 'Prioritize Animation' ], [Setting.Fusion_Palette_Swaps]: [ 'Off', 'On' ], @@ -50,6 +52,7 @@ export const settingDefaults: SettingDefaults = { [Setting.SE_Volume]: 10, [Setting.Damage_Numbers]: 0, [Setting.Show_Stats_on_Level_Up]: 1, + [Setting.UI_Theme]: 0, [Setting.Window_Type]: 0, [Setting.Tutorials]: 1, [Setting.Sprite_Set]: 0, @@ -59,6 +62,8 @@ export const settingDefaults: SettingDefaults = { [Setting.Vibration]: 0 }; +export const reloadSettings: Setting[] = [ Setting.UI_Theme ]; + export function setSetting(scene: BattleScene, setting: Setting, value: integer): boolean { switch (setting) { case Setting.Game_Speed: @@ -82,6 +87,9 @@ export function setSetting(scene: BattleScene, setting: Setting, value: integer) case Setting.Show_Stats_on_Level_Up: scene.showLevelUpStats = settingOptions[setting][value] === 'On'; break; + case Setting.UI_Theme: + scene.uiTheme = value; + break; case Setting.Window_Type: updateWindowType(scene, parseInt(settingOptions[setting][value])); break; diff --git a/src/ui/ability-bar.ts b/src/ui/ability-bar.ts index c7e771af93a..ce0cdd7c9ab 100644 --- a/src/ui/ability-bar.ts +++ b/src/ui/ability-bar.ts @@ -2,8 +2,8 @@ import BattleScene from "../battle-scene"; import Pokemon from "../field/pokemon"; import { TextStyle, addTextObject } from "./text"; -const hiddenX = -91; -const shownX = 10; +const hiddenX = -118; +const shownX = 0; const baseY = -116; export default class AbilityBar extends Phaser.GameObjects.Container { @@ -20,7 +20,7 @@ export default class AbilityBar extends Phaser.GameObjects.Container { } setup(): void { - this.bg = this.scene.add.image(0, 0, 'ability_bar'); + this.bg = this.scene.add.image(0, 0, 'ability_bar_left'); this.bg.setOrigin(0, 0); this.add(this.bg); diff --git a/src/ui/abstact-option-select-ui-handler.ts b/src/ui/abstact-option-select-ui-handler.ts index b9186ee13df..910f490a91d 100644 --- a/src/ui/abstact-option-select-ui-handler.ts +++ b/src/ui/abstact-option-select-ui-handler.ts @@ -2,7 +2,7 @@ import BattleScene, { Button } from "../battle-scene"; import { TextStyle, addTextObject } from "./text"; import { Mode } from "./ui"; import UiHandler from "./ui-handler"; -import { addWindow } from "./window"; +import { addWindow } from "./ui-theme"; export interface OptionSelectConfig { xOffset?: number; diff --git a/src/ui/achv-bar.ts b/src/ui/achv-bar.ts index bd04d046517..475982117a2 100644 --- a/src/ui/achv-bar.ts +++ b/src/ui/achv-bar.ts @@ -36,7 +36,7 @@ export default class AchvBar extends Phaser.GameObjects.Container { this.scoreText.setOrigin(1, 0); this.add(this.scoreText); - this.descriptionText = addTextObject(this.scene, 43, 16, '', TextStyle.WINDOW, { fontSize: '72px' }); + this.descriptionText = addTextObject(this.scene, 43, 16, '', TextStyle.WINDOW_ALT, { fontSize: '72px' }); this.descriptionText.setOrigin(0, 0); this.add(this.descriptionText); diff --git a/src/ui/achvs-ui-handler.ts b/src/ui/achvs-ui-handler.ts index 75ec27e4b46..cadda64e032 100644 --- a/src/ui/achvs-ui-handler.ts +++ b/src/ui/achvs-ui-handler.ts @@ -3,7 +3,7 @@ import { Achv, achvs } from "../system/achv"; import MessageUiHandler from "./message-ui-handler"; import { TextStyle, addTextObject } from "./text"; import { Mode } from "./ui"; -import { addWindow } from "./window"; +import { addWindow } from "./ui-theme"; export default class AchvsUiHandler extends MessageUiHandler { private achvsContainer: Phaser.GameObjects.Container; diff --git a/src/ui/ball-ui-handler.ts b/src/ui/ball-ui-handler.ts index 8c9a0f8feae..f2ebdc342a4 100644 --- a/src/ui/ball-ui-handler.ts +++ b/src/ui/ball-ui-handler.ts @@ -5,7 +5,7 @@ import { addTextObject, TextStyle } from "./text"; import { Command } from "./command-ui-handler"; import { Mode } from "./ui"; import UiHandler from "./ui-handler"; -import { addWindow } from "./window"; +import { addWindow } from "./ui-theme"; export default class BallUiHandler extends UiHandler { private pokeballSelectContainer: Phaser.GameObjects.Container; diff --git a/src/ui/battle-info.ts b/src/ui/battle-info.ts index 218d5d2ed4d..e6c2c3b5c77 100644 --- a/src/ui/battle-info.ts +++ b/src/ui/battle-info.ts @@ -38,6 +38,7 @@ export default class BattleInfo extends Phaser.GameObjects.Container { private levelNumbersContainer: Phaser.GameObjects.Container; private hpNumbersContainer: Phaser.GameObjects.Container; private expBar: Phaser.GameObjects.Image; + private expMaskRect: Phaser.GameObjects.Graphics; constructor(scene: Phaser.Scene, x: number, y: number, player: boolean) { super(scene, x, y); @@ -119,7 +120,7 @@ export default class BattleInfo extends Phaser.GameObjects.Container { this.hpBarSegmentDividers = []; - this.levelNumbersContainer = this.scene.add.container(9.5, 0); + this.levelNumbersContainer = this.scene.add.container(9.5, (this.scene as BattleScene).uiTheme ? 0 : -0.5); this.levelContainer.add(this.levelNumbersContainer); if (this.player) { @@ -128,10 +129,20 @@ export default class BattleInfo extends Phaser.GameObjects.Container { const expBar = this.scene.add.image(-98, 18, 'overlay_exp'); expBar.setOrigin(0); - expBar.setScale(0, 1); this.add(expBar); + const expMaskRect = this.scene.make.graphics({}); + expMaskRect.setScale(6); + expMaskRect.fillStyle(0xFFFFFF); + expMaskRect.beginPath(); + expMaskRect.fillRect(127, 126, 85, 2); + + const expMask = expMaskRect.createGeometryMask(); + + expBar.setMask(expMask); + this.expBar = expBar; + this.expMaskRect = expMaskRect; } } @@ -185,7 +196,7 @@ export default class BattleInfo extends Phaser.GameObjects.Container { this.shinyIcon.setVisible(pokemon.isShiny()); if (this.player) { - this.expBar.setScale(pokemon.levelExp / getLevelTotalExp(pokemon.level, pokemon.species.growthRate), 1); + this.expMaskRect.x = (pokemon.levelExp / getLevelTotalExp(pokemon.level, pokemon.species.growthRate)) * 510; this.lastExp = pokemon.exp; this.lastLevelExp = pokemon.levelExp; } @@ -237,14 +248,15 @@ export default class BattleInfo extends Phaser.GameObjects.Container { this.hpBarSegmentDividers.pop().destroy(); if (this.boss && this.bossSegments > 1) { + const uiTheme = (this.scene as BattleScene).uiTheme; const maxHp = pokemon.getMaxHp(); for (let s = 1; s < this.bossSegments; s++) { const dividerX = (Math.round((maxHp / this.bossSegments) * s) / maxHp) * this.hpBar.width; - const divider = this.scene.add.rectangle(0, 0, 1, this.hpBar.height, pokemon.bossSegmentIndex >= s ? 0xFFFFFF : 0x404040); + const divider = this.scene.add.rectangle(0, 0, 1, this.hpBar.height - (uiTheme ? 0 : 1), pokemon.bossSegmentIndex >= s ? 0xFFFFFF : 0x404040) divider.setOrigin(0.5, 0); this.add(divider); - divider.setPositionRelative(this.hpBar, dividerX, 0); + divider.setPositionRelative(this.hpBar, dividerX, uiTheme ? 0 : 1); this.hpBarSegmentDividers.push(divider); } } @@ -402,9 +414,9 @@ export default class BattleInfo extends Phaser.GameObjects.Container { if (duration) (this.scene as BattleScene).playSound('exp'); this.scene.tweens.add({ - targets: this.expBar, + targets: this.expMaskRect, ease: 'Sine.easeIn', - scaleX: ratio, + x: ratio * 510, duration: duration, onComplete: () => { if (!this.scene) @@ -415,7 +427,7 @@ export default class BattleInfo extends Phaser.GameObjects.Container { (this.scene as BattleScene).playSound('level_up'); this.setLevel(this.lastLevel); this.scene.time.delayedCall(500 * levelDurationMultiplier, () => { - this.expBar.setScale(0, 1); + this.expMaskRect.x = 0; this.updateInfo(pokemon, instant).then(() => resolve()); }); return; diff --git a/src/ui/battle-message-ui-handler.ts b/src/ui/battle-message-ui-handler.ts index 6ee111f34f9..6f33ec7b69f 100644 --- a/src/ui/battle-message-ui-handler.ts +++ b/src/ui/battle-message-ui-handler.ts @@ -4,7 +4,7 @@ import { Mode } from "./ui"; import * as Utils from "../utils"; import MessageUiHandler from "./message-ui-handler"; import { getStatName, Stat } from "../data/pokemon-stat"; -import { addWindow } from "./window"; +import { addWindow } from "./ui-theme"; export default class BattleMessageUiHandler extends MessageUiHandler { private levelUpStatsContainer: Phaser.GameObjects.Container; @@ -28,7 +28,7 @@ export default class BattleMessageUiHandler extends MessageUiHandler { this.textTimer = null; this.textCallbackTimer = null; - const bg = this.scene.add.image(0, 0, 'bg'); + const bg = this.scene.add.sprite(0, 0, 'bg', this.scene.windowType + 1); bg.setOrigin(0, 1); ui.add(bg); diff --git a/src/ui/biome-select-ui-handler.ts b/src/ui/biome-select-ui-handler.ts index 9bd32befb32..8321488c4d2 100644 --- a/src/ui/biome-select-ui-handler.ts +++ b/src/ui/biome-select-ui-handler.ts @@ -5,7 +5,7 @@ import { addTextObject, TextStyle } from "./text"; import { Mode } from "./ui"; import UiHandler from "./ui-handler"; import * as Utils from "../utils"; -import { addWindow } from "./window"; +import { addWindow } from "./ui-theme"; export default class BiomeSelectUiHandler extends UiHandler { private biomeSelectContainer: Phaser.GameObjects.Container; diff --git a/src/ui/daily-run-scoreboard.ts b/src/ui/daily-run-scoreboard.ts index 0a210827a40..90fef5ba5e4 100644 --- a/src/ui/daily-run-scoreboard.ts +++ b/src/ui/daily-run-scoreboard.ts @@ -1,6 +1,6 @@ import BattleScene from "../battle-scene"; import { TextStyle, addTextObject } from "./text"; -import { WindowVariant, addWindow } from "./window"; +import { WindowVariant, addWindow } from "./ui-theme"; import * as Utils from "../utils"; interface RankingEntry { diff --git a/src/ui/egg-gacha-ui-handler.ts b/src/ui/egg-gacha-ui-handler.ts index 7c69c3121a0..e2ec457a091 100644 --- a/src/ui/egg-gacha-ui-handler.ts +++ b/src/ui/egg-gacha-ui-handler.ts @@ -6,7 +6,7 @@ import * as Utils from "../utils"; import { EGG_SEED, Egg, GachaType, getEggTierDefaultHatchWaves, getEggDescriptor, getLegendaryGachaSpeciesForTimestamp } from "../data/egg"; import { VoucherType, getVoucherTypeIcon } from "../system/voucher"; import { getPokemonSpecies } from "../data/pokemon-species"; -import { addWindow } from "./window"; +import { addWindow } from "./ui-theme"; import { Tutorial, handleTutorial } from "../tutorial"; import { EggTier } from "../data/enums/egg-type"; @@ -88,7 +88,7 @@ export default class EggGachaUiHandler extends MessageUiHandler { const gachaInfoContainer = this.scene.add.container(160, 46); - const gachaUpLabel = addTextObject(this.scene, 4, 0, 'UP!', TextStyle.WINDOW); + const gachaUpLabel = addTextObject(this.scene, 4, 0, 'UP!', TextStyle.WINDOW_ALT); gachaUpLabel.setOrigin(0, 0); gachaInfoContainer.add(gachaUpLabel); diff --git a/src/ui/egg-list-ui-handler.ts b/src/ui/egg-list-ui-handler.ts index e81677031b6..7537b8deeb0 100644 --- a/src/ui/egg-list-ui-handler.ts +++ b/src/ui/egg-list-ui-handler.ts @@ -5,7 +5,7 @@ import { TextStyle, addTextObject } from "./text"; import MessageUiHandler from "./message-ui-handler"; import { EGG_SEED, Egg, GachaType, getEggGachaTypeDescriptor, getEggHatchWavesMessage, getEggDescriptor } from "../data/egg"; import * as Utils from "../utils"; -import { addWindow } from "./window"; +import { addWindow } from "./ui-theme"; export default class EggListUiHandler extends MessageUiHandler { private eggListContainer: Phaser.GameObjects.Container; @@ -36,7 +36,7 @@ export default class EggListUiHandler extends MessageUiHandler { bgColor.setOrigin(0, 0); this.eggListContainer.add(bgColor); - const eggListBg = this.scene.add.image(1, 1, 'egg_list_bg'); + const eggListBg = this.scene.add.image(0, 0, 'egg_list_bg'); eggListBg.setOrigin(0, 0); this.eggListContainer.add(eggListBg); @@ -48,7 +48,7 @@ export default class EggListUiHandler extends MessageUiHandler { this.iconAnimHandler = new PokemonIconAnimHandler(); this.iconAnimHandler.setup(this.scene); - this.eggNameText = addTextObject(this.scene, 6, 66, '', TextStyle.SUMMARY); + this.eggNameText = addTextObject(this.scene, 8, 66, '', TextStyle.SUMMARY); this.eggNameText.setOrigin(0, 0); this.eggListContainer.add(this.eggNameText); diff --git a/src/ui/evolution-scene-handler.ts b/src/ui/evolution-scene-handler.ts index 6aa5177701b..382cae76354 100644 --- a/src/ui/evolution-scene-handler.ts +++ b/src/ui/evolution-scene-handler.ts @@ -23,7 +23,7 @@ export default class EvolutionSceneHandler extends MessageUiHandler { this.evolutionContainer = this.scene.add.container(0, -this.scene.game.canvas.height / 6); ui.add(this.evolutionContainer); - const messageBg = this.scene.add.image(0, 0, 'bg'); + const messageBg = this.scene.add.sprite(0, 0, 'bg', this.scene.windowType + 1); messageBg.setOrigin(0, 1); messageBg.setVisible(false); ui.add(messageBg); diff --git a/src/ui/form-modal-ui-handler.ts b/src/ui/form-modal-ui-handler.ts index b0e9fe92ce3..d992f0166bf 100644 --- a/src/ui/form-modal-ui-handler.ts +++ b/src/ui/form-modal-ui-handler.ts @@ -2,7 +2,7 @@ import BattleScene, { Button } from "../battle-scene"; import { ModalConfig, ModalUiHandler } from "./modal-ui-handler"; import { Mode } from "./ui"; import { TextStyle, addTextInputObject, addTextObject, getTextColor } from "./text"; -import { WindowVariant, addWindow } from "./window"; +import { WindowVariant, addWindow } from "./ui-theme"; import InputText from "phaser3-rex-plugins/plugins/inputtext"; export interface FormModalConfig extends ModalConfig { @@ -66,8 +66,8 @@ export abstract class FormModalUiHandler extends ModalUiHandler { }); this.errorMessage = addTextObject(this.scene, 10, (hasTitle ? 31 : 5) + 20 * (fields.length - 1) + 16, '', TextStyle.TOOLTIP_CONTENT); - this.errorMessage.setColor(getTextColor(TextStyle.SUMMARY_PINK)); - this.errorMessage.setShadowColor(getTextColor(TextStyle.SUMMARY_PINK, true)); + this.errorMessage.setColor(this.getTextColor(TextStyle.SUMMARY_PINK)); + this.errorMessage.setShadowColor(this.getTextColor(TextStyle.SUMMARY_PINK, true)); this.errorMessage.setVisible(false); this.modalContainer.add(this.errorMessage); } diff --git a/src/ui/game-stats-ui-handler.ts b/src/ui/game-stats-ui-handler.ts index 52b12a9ad82..75ec3552c6d 100644 --- a/src/ui/game-stats-ui-handler.ts +++ b/src/ui/game-stats-ui-handler.ts @@ -2,7 +2,7 @@ import BattleScene, { Button } from "../battle-scene"; import { TextStyle, addTextObject, getTextColor } from "./text"; import { Mode } from "./ui"; import UiHandler from "./ui-handler"; -import { addWindow } from "./window"; +import { addWindow } from "./ui-theme"; import * as Utils from "../utils"; import { DexAttr, GameData } from "../system/game-data"; import { speciesStarters } from "../data/pokemon-species"; diff --git a/src/ui/menu-ui-handler.ts b/src/ui/menu-ui-handler.ts index 7850b9f51c7..98564e7534d 100644 --- a/src/ui/menu-ui-handler.ts +++ b/src/ui/menu-ui-handler.ts @@ -2,7 +2,7 @@ import BattleScene, { Button, bypassLogin } from "../battle-scene"; import { TextStyle, addTextObject } from "./text"; import { Mode } from "./ui"; import * as Utils from "../utils"; -import { addWindow } from "./window"; +import { addWindow } from "./ui-theme"; import MessageUiHandler from "./message-ui-handler"; import { GameDataType } from "../system/game-data"; import { OptionSelectConfig } from "./abstact-option-select-ui-handler"; @@ -18,6 +18,7 @@ export enum MenuOptions { EGG_GACHA, MANAGE_DATA, COMMUNITY, + RETURN_TO_TITLE, LOG_OUT } @@ -45,7 +46,7 @@ export default class MenuUiHandler extends MessageUiHandler { this.ignoredMenuOptions = !bypassLogin ? [ ] : [ MenuOptions.LOG_OUT ]; - this.menuOptions = Utils.getEnumKeys(MenuOptions).map(m => parseInt(MenuOptions[m]) as MenuOptions).filter(m => this.ignoredMenuOptions.indexOf(m) === -1); + this.menuOptions = Utils.getEnumKeys(MenuOptions).map(m => parseInt(MenuOptions[m]) as MenuOptions).filter(m => !this.ignoredMenuOptions.includes(m)); } setup() { @@ -254,6 +255,18 @@ export default class MenuUiHandler extends MessageUiHandler { ui.setOverlayMode(Mode.MENU_OPTION_SELECT, this.communityConfig); success = true; break; + case MenuOptions.RETURN_TO_TITLE: + if (this.scene.currentBattle) { + success = true; + ui.showText('You will lose any progress since the beginning of the battle. Proceed?', null, () => { + ui.setOverlayMode(Mode.CONFIRM, () => this.scene.reset(true), () => { + ui.revertMode(); + ui.showText(null, 0); + }, false, -98); + }); + } else + error = true; + break; case MenuOptions.LOG_OUT: success = true; const doLogout = () => { diff --git a/src/ui/modal-ui-handler.ts b/src/ui/modal-ui-handler.ts index 4b4d87f9574..2bdc809b364 100644 --- a/src/ui/modal-ui-handler.ts +++ b/src/ui/modal-ui-handler.ts @@ -2,7 +2,7 @@ import BattleScene, { Button } from "../battle-scene"; import { TextStyle, addTextObject } from "./text"; import { Mode } from "./ui"; import UiHandler from "./ui-handler"; -import { WindowVariant, addWindow } from "./window"; +import { WindowVariant, addWindow } from "./ui-theme"; export interface ModalConfig { buttonActions: Function[]; diff --git a/src/ui/modifier-select-ui-handler.ts b/src/ui/modifier-select-ui-handler.ts index c231ca23f0d..6c6ce221ba3 100644 --- a/src/ui/modifier-select-ui-handler.ts +++ b/src/ui/modifier-select-ui-handler.ts @@ -316,8 +316,8 @@ export default class ModifierSelectUiHandler extends AwaitableUiHandler { const canReroll = this.scene.money >= this.rerollCost; this.rerollCostText.setText(`₽${this.rerollCost.toLocaleString('en-US')}`); - this.rerollCostText.setColor(getTextColor(canReroll ? TextStyle.MONEY : TextStyle.PARTY_RED)); - this.rerollCostText.setShadowColor(getTextColor(canReroll ? TextStyle.MONEY : TextStyle.PARTY_RED, true)); + this.rerollCostText.setColor(this.getTextColor(canReroll ? TextStyle.MONEY : TextStyle.PARTY_RED)); + this.rerollCostText.setShadowColor(this.getTextColor(canReroll ? TextStyle.MONEY : TextStyle.PARTY_RED, true)); } clear() { @@ -556,10 +556,11 @@ class ModifierOption extends Phaser.GameObjects.Container { } updateCostText(): void { - const textStyle = this.modifierTypeOption.cost <= (this.scene as BattleScene).money ? TextStyle.MONEY : TextStyle.PARTY_RED; + const scene = this.scene as BattleScene; + const textStyle = this.modifierTypeOption.cost <= scene.money ? TextStyle.MONEY : TextStyle.PARTY_RED; this.itemCostText.setText(`₽${this.modifierTypeOption.cost.toLocaleString('en-US')}`); - this.itemCostText.setColor(getTextColor(textStyle)); - this.itemCostText.setShadowColor(getTextColor(textStyle, true)); + this.itemCostText.setColor(getTextColor(textStyle, false, scene.uiTheme)); + this.itemCostText.setShadowColor(getTextColor(textStyle, true, scene.uiTheme)); } } \ No newline at end of file diff --git a/src/ui/party-ui-handler.ts b/src/ui/party-ui-handler.ts index d5f1c4f4c26..0d7d92790a7 100644 --- a/src/ui/party-ui-handler.ts +++ b/src/ui/party-ui-handler.ts @@ -13,7 +13,7 @@ import { getGenderColor, getGenderSymbol } from "../data/gender"; import { StatusEffect } from "../data/status-effect"; import PokemonIconAnimHandler, { PokemonIconAnimMode } from "./pokemon-icon-anim-handler"; import { pokemonEvolutions } from "../data/pokemon-evolutions"; -import { addWindow } from "./window"; +import { addWindow } from "./ui-theme"; import { SpeciesFormChangeItemTrigger } from "../data/pokemon-forms"; const defaultMessage = 'Choose a Pokémon.'; diff --git a/src/ui/pokemon-info-container.ts b/src/ui/pokemon-info-container.ts index 9eb53fcc372..355c08e2716 100644 --- a/src/ui/pokemon-info-container.ts +++ b/src/ui/pokemon-info-container.ts @@ -4,7 +4,7 @@ import { Gender, getGenderColor, getGenderSymbol } from "../data/gender"; import Pokemon from "../field/pokemon"; import { StatsContainer } from "./stats-container"; import { TextStyle, addBBCodeTextObject, addTextObject } from "./text"; -import { addWindow } from "./window"; +import { addWindow } from "./ui-theme"; import { getNatureName } from "../data/nature"; import * as Utils from "../utils"; import { Type } from "../data/type"; diff --git a/src/ui/save-slot-select-ui-handler.ts b/src/ui/save-slot-select-ui-handler.ts index bc9064b2f8e..64c50d69ca1 100644 --- a/src/ui/save-slot-select-ui-handler.ts +++ b/src/ui/save-slot-select-ui-handler.ts @@ -3,7 +3,7 @@ import { gameModes } from "../game-mode"; import { SessionSaveData } from "../system/game-data"; import { TextStyle, addTextObject } from "./text"; import { Mode } from "./ui"; -import { addWindow } from "./window"; +import { addWindow } from "./ui-theme"; import * as Utils from "../utils"; import PokemonData from "../system/pokemon-data"; import { PokemonHeldItemModifier } from "../modifier/modifier"; @@ -172,7 +172,7 @@ export default class SaveSlotSelectUiHandler extends MessageUiHandler { let changed = super.setCursor(cursor); if (!this.cursorObj) { - this.cursorObj = this.scene.add.nineslice(0, 0, 'select_cursor_highlight_thick', null, 296, 44, 2, 2, 2, 2); + this.cursorObj = this.scene.add.nineslice(0, 0, 'select_cursor_highlight_thick', null, 296, 44, 6, 6, 6, 6); this.cursorObj.setOrigin(0, 0); this.sessionSlotsContainer.add(this.cursorObj); } diff --git a/src/ui/settings-ui-handler.ts b/src/ui/settings-ui-handler.ts index 3319b2e9133..ce8a7542d89 100644 --- a/src/ui/settings-ui-handler.ts +++ b/src/ui/settings-ui-handler.ts @@ -1,10 +1,10 @@ import BattleScene, { Button } from "../battle-scene"; -import { Setting, settingDefaults, settingOptions } from "../system/settings"; +import { Setting, reloadSettings, settingDefaults, settingOptions } from "../system/settings"; import { hasTouchscreen, isMobile } from "../touch-controls"; -import { TextStyle, addTextObject, getTextColor } from "./text"; +import { TextStyle, addTextObject } from "./text"; import { Mode } from "./ui"; import UiHandler from "./ui-handler"; -import { addWindow } from "./window"; +import { addWindow } from "./ui-theme"; export default class SettingsUiHandler extends UiHandler { private settingsContainer: Phaser.GameObjects.Container; @@ -21,8 +21,12 @@ export default class SettingsUiHandler extends UiHandler { private cursorObj: Phaser.GameObjects.NineSlice; + private reloadRequired: boolean; + constructor(scene: BattleScene, mode?: Mode) { super(scene, mode); + + this.reloadRequired = false; } setup() { @@ -48,7 +52,11 @@ export default class SettingsUiHandler extends UiHandler { this.optionValueLabels = []; Object.keys(Setting).forEach((setting, s) => { - this.settingLabels[s] = addTextObject(this.scene, 8, 28 + s * 16, setting.replace(/\_/g, ' '), TextStyle.SETTINGS_LABEL); + let settingName = setting.replace(/\_/g, ' '); + if (reloadSettings.includes(Setting[setting])) + settingName += ' (Requires Reload)'; + + this.settingLabels[s] = addTextObject(this.scene, 8, 28 + s * 16, settingName, TextStyle.SETTINGS_LABEL); this.settingLabels[s].setOrigin(0, 0); this.optionsContainer.add(this.settingLabels[s]); @@ -157,7 +165,7 @@ export default class SettingsUiHandler extends UiHandler { const ret = super.setCursor(cursor); if (!this.cursorObj) { - this.cursorObj = this.scene.add.nineslice(0, 0, 'select_cursor_highlight', null, (this.scene.game.canvas.width / 6) - 10, 16, 1, 1, 1, 1); + this.cursorObj = this.scene.add.nineslice(0, 0, 'summary_moves_cursor', null, (this.scene.game.canvas.width / 6) - 10, 16, 1, 1, 1, 1); this.cursorObj.setOrigin(0, 0); this.optionsContainer.add(this.cursorObj); } @@ -178,17 +186,20 @@ export default class SettingsUiHandler extends UiHandler { const lastCursor = this.optionCursors[settingIndex]; const lastValueLabel = this.optionValueLabels[settingIndex][lastCursor]; - lastValueLabel.setColor(getTextColor(TextStyle.WINDOW)); - lastValueLabel.setShadowColor(getTextColor(TextStyle.WINDOW, true)); + lastValueLabel.setColor(this.getTextColor(TextStyle.WINDOW)); + lastValueLabel.setShadowColor(this.getTextColor(TextStyle.WINDOW, true)); this.optionCursors[settingIndex] = cursor; const newValueLabel = this.optionValueLabels[settingIndex][cursor]; - newValueLabel.setColor(getTextColor(TextStyle.SETTINGS_SELECTED)); - newValueLabel.setShadowColor(getTextColor(TextStyle.SETTINGS_SELECTED, true)); + newValueLabel.setColor(this.getTextColor(TextStyle.SETTINGS_SELECTED)); + newValueLabel.setShadowColor(this.getTextColor(TextStyle.SETTINGS_SELECTED, true)); - if (save) - this.scene.gameData.saveSetting(setting, cursor); + if (save) { + this.scene.gameData.saveSetting(setting, cursor) + if (reloadSettings.includes(setting)) + this.reloadRequired = true; + } return true; } @@ -221,6 +232,10 @@ export default class SettingsUiHandler extends UiHandler { super.clear(); this.settingsContainer.setVisible(false); this.eraseCursor(); + if (this.reloadRequired) { + this.reloadRequired = false; + this.scene.reset(true); + } } eraseCursor() { diff --git a/src/ui/starter-select-ui-handler.ts b/src/ui/starter-select-ui-handler.ts index 6636c967ce9..8fb019257cf 100644 --- a/src/ui/starter-select-ui-handler.ts +++ b/src/ui/starter-select-ui-handler.ts @@ -13,7 +13,7 @@ import { DexAttr, DexEntry, StarterFormMoveData, StarterMoveset } from "../syste import * as Utils from "../utils"; import PokemonIconAnimHandler, { PokemonIconAnimMode } from "./pokemon-icon-anim-handler"; import { StatsContainer } from "./stats-container"; -import { addWindow } from "./window"; +import { addWindow } from "./ui-theme"; import { Nature, getNatureName } from "../data/nature"; import BBCodeText from "phaser3-rex-plugins/plugins/bbcodetext"; import { pokemonFormChanges } from "../data/pokemon-forms"; @@ -127,7 +127,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { bgColor.setOrigin(0, 0); this.starterSelectContainer.add(bgColor); - const starterSelectBg = this.scene.add.image(1, 1, 'starter_select_bg'); + const starterSelectBg = this.scene.add.image(0, 0, 'starter_select_bg'); starterSelectBg.setOrigin(0, 0); this.starterSelectContainer.add(starterSelectBg); @@ -136,10 +136,15 @@ export default class StarterSelectUiHandler extends MessageUiHandler { this.shinyOverlay.setVisible(false); this.starterSelectContainer.add(this.shinyOverlay); + const starterContainerWindow = addWindow(this.scene, 141, 1, 178, 178); + this.starterSelectContainer.add(addWindow(this.scene, 107, 1, 34, 58)); this.starterSelectContainer.add(addWindow(this.scene, 107, 59, 34, 91)); this.starterSelectContainer.add(addWindow(this.scene, 107, 145, 34, 34, true)); - this.starterSelectContainer.add(addWindow(this.scene, 141, 1, 178, 178)); + this.starterSelectContainer.add(starterContainerWindow); + + if (!this.scene.uiTheme) + starterContainerWindow.setVisible(false); this.iconAnimHandler = new PokemonIconAnimHandler(); this.iconAnimHandler.setup(this.scene); @@ -152,7 +157,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { this.pokemonNameText.setOrigin(0, 0); this.starterSelectContainer.add(this.pokemonNameText); - this.pokemonGrowthRateLabelText = addTextObject(this.scene, 8, 106, 'Growth Rate:', TextStyle.SUMMARY, { fontSize: '36px' }); + this.pokemonGrowthRateLabelText = addTextObject(this.scene, 8, 106, 'Growth Rate:', TextStyle.SUMMARY_ALT, { fontSize: '36px' }); this.pokemonGrowthRateLabelText.setOrigin(0, 0); this.pokemonGrowthRateLabelText.setVisible(false); this.starterSelectContainer.add(this.pokemonGrowthRateLabelText); @@ -161,38 +166,38 @@ export default class StarterSelectUiHandler extends MessageUiHandler { this.pokemonGrowthRateText.setOrigin(0, 0); this.starterSelectContainer.add(this.pokemonGrowthRateText); - this.pokemonGenderText = addTextObject(this.scene, 96, 112, '', TextStyle.SUMMARY); + this.pokemonGenderText = addTextObject(this.scene, 96, 112, '', TextStyle.SUMMARY_ALT); this.pokemonGenderText.setOrigin(0, 0); this.starterSelectContainer.add(this.pokemonGenderText); - this.pokemonUncaughtText = addTextObject(this.scene, 6, 126, 'Uncaught', TextStyle.SUMMARY, { fontSize: '56px' }); + this.pokemonUncaughtText = addTextObject(this.scene, 6, 126, 'Uncaught', TextStyle.SUMMARY_ALT, { fontSize: '56px' }); this.pokemonUncaughtText.setOrigin(0, 0); this.starterSelectContainer.add(this.pokemonUncaughtText); - this.pokemonAbilityLabelText = addTextObject(this.scene, 6, 126, 'Ability:', TextStyle.SUMMARY, { fontSize: '56px' }); + this.pokemonAbilityLabelText = addTextObject(this.scene, 6, 126, 'Ability:', TextStyle.SUMMARY_ALT, { fontSize: '56px' }); this.pokemonAbilityLabelText.setOrigin(0, 0); this.pokemonAbilityLabelText.setVisible(false); this.starterSelectContainer.add(this.pokemonAbilityLabelText); - this.pokemonAbilityText = addTextObject(this.scene, 30, 126, '', TextStyle.SUMMARY, { fontSize: '56px' }); + this.pokemonAbilityText = addTextObject(this.scene, 30, 126, '', TextStyle.SUMMARY_ALT, { fontSize: '56px' }); this.pokemonAbilityText.setOrigin(0, 0); this.starterSelectContainer.add(this.pokemonAbilityText); - this.pokemonNatureLabelText = addTextObject(this.scene, 6, 135, 'Nature:', TextStyle.SUMMARY, { fontSize: '56px' }); + this.pokemonNatureLabelText = addTextObject(this.scene, 6, 135, 'Nature:', TextStyle.SUMMARY_ALT, { fontSize: '56px' }); this.pokemonNatureLabelText.setOrigin(0, 0); this.pokemonNatureLabelText.setVisible(false); this.starterSelectContainer.add(this.pokemonNatureLabelText); - this.pokemonNatureText = addBBCodeTextObject(this.scene, 30, 135, '', TextStyle.SUMMARY, { fontSize: '56px' }); + this.pokemonNatureText = addBBCodeTextObject(this.scene, 30, 135, '', TextStyle.SUMMARY_ALT, { fontSize: '56px' }); this.pokemonNatureText.setOrigin(0, 0); this.starterSelectContainer.add(this.pokemonNatureText); - this.pokemonCaughtCountLabelText = addTextObject(this.scene, 6, 144, 'Caught/Hatched:', TextStyle.SUMMARY, { fontSize: '56px' }); + this.pokemonCaughtCountLabelText = addTextObject(this.scene, 6, 144, 'Caught/Hatched:', TextStyle.SUMMARY_ALT, { fontSize: '56px' }); this.pokemonCaughtCountLabelText.setOrigin(0, 0); this.pokemonCaughtCountLabelText.setVisible(false); this.starterSelectContainer.add(this.pokemonCaughtCountLabelText); - this.pokemonCaughtCountText = addTextObject(this.scene, 58, 144, '0/0 (0)', TextStyle.SUMMARY, { fontSize: '56px' }); + this.pokemonCaughtCountText = addTextObject(this.scene, 58, 144, '0/0 (0)', TextStyle.SUMMARY_ALT, { fontSize: '56px' }); this.pokemonCaughtCountText.setOrigin(0, 0); this.starterSelectContainer.add(this.pokemonCaughtCountText); @@ -212,7 +217,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { this.updateGenOptions(); this.starterSelectGenIconContainers = new Array(gens.length).fill(null).map((_, i) => { - const container = this.scene.add.container(149, 9); + const container = this.scene.add.container(151, 9); if (i) container.setVisible(false); this.starterSelectContainer.add(container); @@ -256,7 +261,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { startLabel.setOrigin(0.5, 0); this.starterSelectContainer.add(startLabel); - this.startCursorObj = this.scene.add.nineslice(111, 160, 'select_cursor', null, 26, 15, 1, 1, 1, 1); + this.startCursorObj = this.scene.add.nineslice(111, 160, 'select_cursor', null, 26, 15, 6, 6, 6, 6); this.startCursorObj.setVisible(false); this.startCursorObj.setOrigin(0, 0); this.starterSelectContainer.add(this.startCursorObj); @@ -301,7 +306,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { this.starterValueLabels = new Array(81).fill(null).map((_, i) => { const x = (i % 9) * 18; const y = Math.floor(i / 9) * 18; - const ret = addTextObject(this.scene, x + 150, y + 11, '0', TextStyle.WINDOW, { fontSize: '32px' }); + const ret = addTextObject(this.scene, x + 152, y + 11, '0', TextStyle.WINDOW, { fontSize: '32px' }); ret.setShadowOffset(2, 2); ret.setOrigin(0, 0); ret.setVisible(false); @@ -312,7 +317,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { this.shinyIcons = new Array(81).fill(null).map((_, i) => { const x = (i % 9) * 18; const y = Math.floor(i / 9) * 18; - const ret = this.scene.add.image(x + 161, y + 11, 'shiny_star'); + const ret = this.scene.add.image(x + 163, y + 11, 'shiny_star'); ret.setOrigin(0, 0); ret.setScale(0.5); ret.setVisible(false); @@ -355,7 +360,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { this.pokemonEggMovesContainer = this.scene.add.container(102, 85); this.pokemonEggMovesContainer.setScale(0.375); - const eggMovesLabel = addTextObject(this.scene, -46, 0, 'Egg Moves', TextStyle.SUMMARY); + const eggMovesLabel = addTextObject(this.scene, -46, 0, 'Egg Moves', TextStyle.SUMMARY_ALT); eggMovesLabel.setOrigin(0.5, 0); this.pokemonEggMovesContainer.add(eggMovesLabel); @@ -429,7 +434,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { this.pokerusGens.push(species.generation - 1); this.pokerusCursors.push(pokerusCursor); - this.pokerusCursorObjs[c].setPosition(148 + 18 * (pokerusCursor % 9), 10 + 18 * Math.floor(pokerusCursor / 9)); + this.pokerusCursorObjs[c].setPosition(150 + 18 * (pokerusCursor % 9), 10 + 18 * Math.floor(pokerusCursor / 9)); } }, 0, date.getTime().toString()); @@ -862,8 +867,8 @@ export default class StarterSelectUiHandler extends MessageUiHandler { textStyle = TextStyle.SUMMARY_GOLD; break; } - this.starterValueLabels[s].setColor(getTextColor(textStyle)); - this.starterValueLabels[s].setShadowColor(getTextColor(textStyle, true)); + this.starterValueLabels[s].setColor(this.getTextColor(textStyle)); + this.starterValueLabels[s].setShadowColor(this.getTextColor(textStyle, true)); } this.starterValueLabels[s].setVisible(slotVisible); this.shinyIcons[s].setVisible(slotVisible && !!(this.scene.gameData.dexData[speciesId].caughtAttr & DexAttr.SHINY)); @@ -871,7 +876,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { } else { changed = super.setCursor(cursor); - this.cursorObj.setPosition(148 + 18 * (cursor % 9), 10 + 18 * Math.floor(cursor / 9)); + this.cursorObj.setPosition(150 + 18 * (cursor % 9), 10 + 18 * Math.floor(cursor / 9)); this.setSpecies(this.genSpecies[this.getGenCursorWithScroll()][cursor]); @@ -1056,8 +1061,8 @@ export default class StarterSelectUiHandler extends MessageUiHandler { } this.shinyOverlay.setVisible(shiny); - this.pokemonNumberText.setColor(getTextColor(shiny ? TextStyle.SUMMARY_GOLD : TextStyle.SUMMARY)); - this.pokemonNumberText.setShadowColor(getTextColor(shiny ? TextStyle.SUMMARY_GOLD : TextStyle.SUMMARY, true)); + this.pokemonNumberText.setColor(this.getTextColor(shiny ? TextStyle.SUMMARY_GOLD : TextStyle.SUMMARY, false)); + this.pokemonNumberText.setShadowColor(this.getTextColor(shiny ? TextStyle.SUMMARY_GOLD : TextStyle.SUMMARY, true)); if (forSeen ? this.speciesStarterDexEntry?.seenAttr : this.speciesStarterDexEntry?.caughtAttr) { let starterIndex = -1; @@ -1111,8 +1116,8 @@ export default class StarterSelectUiHandler extends MessageUiHandler { this.pokemonAbilityText.setText(allAbilities[ability].name); const isHidden = ability === this.lastSpecies.abilityHidden; - this.pokemonAbilityText.setColor(getTextColor(!isHidden ? TextStyle.SUMMARY : TextStyle.SUMMARY_GOLD)); - this.pokemonAbilityText.setShadowColor(getTextColor(!isHidden ? TextStyle.SUMMARY : TextStyle.SUMMARY_GOLD, true)); + this.pokemonAbilityText.setColor(this.getTextColor(!isHidden ? TextStyle.SUMMARY_ALT : TextStyle.SUMMARY_GOLD)); + this.pokemonAbilityText.setShadowColor(this.getTextColor(!isHidden ? TextStyle.SUMMARY_ALT : TextStyle.SUMMARY_GOLD, true)); this.pokemonNatureText.setText(getNatureName(natureIndex as unknown as Nature, true, true)); @@ -1146,8 +1151,8 @@ export default class StarterSelectUiHandler extends MessageUiHandler { } } else { this.shinyOverlay.setVisible(false); - this.pokemonNumberText.setColor(getTextColor(TextStyle.SUMMARY)); - this.pokemonNumberText.setShadowColor(getTextColor(TextStyle.SUMMARY, true)); + this.pokemonNumberText.setColor(this.getTextColor(TextStyle.SUMMARY)); + this.pokemonNumberText.setShadowColor(this.getTextColor(TextStyle.SUMMARY, true)); this.pokemonGenderText.setText(''); this.pokemonAbilityText.setText(''); this.pokemonNatureText.setText(''); @@ -1200,8 +1205,8 @@ export default class StarterSelectUiHandler extends MessageUiHandler { if (newValueStr.startsWith('0.')) newValueStr = newValueStr.slice(1); this.valueLimitLabel.setText(`${newValueStr}/10`); - this.valueLimitLabel.setColor(getTextColor(!overLimit ? TextStyle.TOOLTIP_CONTENT : TextStyle.SUMMARY_PINK)); - this.valueLimitLabel.setShadowColor(getTextColor(!overLimit ? TextStyle.TOOLTIP_CONTENT : TextStyle.SUMMARY_PINK, true)); + this.valueLimitLabel.setColor(this.getTextColor(!overLimit ? TextStyle.TOOLTIP_CONTENT : TextStyle.SUMMARY_PINK)); + this.valueLimitLabel.setShadowColor(this.getTextColor(!overLimit ? TextStyle.TOOLTIP_CONTENT : TextStyle.SUMMARY_PINK, true)); if (overLimit) { this.scene.time.delayedCall(Utils.fixedInt(500), () => this.tryUpdateValue()); return false; diff --git a/src/ui/stats-container.ts b/src/ui/stats-container.ts index ae3776636ee..0144658051f 100644 --- a/src/ui/stats-container.ts +++ b/src/ui/stats-container.ts @@ -70,7 +70,7 @@ export class StatsContainer extends Phaser.GameObjects.Container { let label = ivs[i].toString(); if (this.showDiff && originalIvs) { if (originalIvs[i] < ivs[i]) - label += ` ([color=${getTextColor(TextStyle.SUMMARY_BLUE)}][shadow=${getTextColor(TextStyle.SUMMARY_BLUE, true)}]+${ivs[i] - originalIvs[i]}[/shadow][/color])`; + label += ` ([color=${getTextColor(TextStyle.SUMMARY_BLUE, false, (this.scene as BattleScene).uiTheme)}][shadow=${getTextColor(TextStyle.SUMMARY_BLUE, true, (this.scene as BattleScene).uiTheme)}]+${ivs[i] - originalIvs[i]}[/shadow][/color])`; else label += ' (-)'; } diff --git a/src/ui/summary-ui-handler.ts b/src/ui/summary-ui-handler.ts index 71babf9f9d3..97aea72d40a 100644 --- a/src/ui/summary-ui-handler.ts +++ b/src/ui/summary-ui-handler.ts @@ -8,7 +8,7 @@ import { TextStyle, addBBCodeTextObject, addTextObject, getBBCodeFrag, getTextCo import Move, { MoveCategory } from "../data/move"; import { getPokeballAtlasKey } from "../data/pokeball"; import { getGenderColor, getGenderSymbol } from "../data/gender"; -import { getLevelTotalExp } from "../data/exp"; +import { getLevelRelExp, getLevelTotalExp } from "../data/exp"; import { Stat, getStatName } from "../data/pokemon-stat"; import { PokemonHeldItemModifier } from "../modifier/modifier"; import { StatusEffect } from "../data/status-effect"; @@ -119,11 +119,11 @@ export default class SummaryUiHandler extends UiHandler { this.pokeball.setOrigin(0, 1); this.summaryContainer.add(this.pokeball); - this.levelText = addTextObject(this.scene, 36, -18, '', TextStyle.SUMMARY); + this.levelText = addTextObject(this.scene, 36, -17, '', TextStyle.SUMMARY_ALT); this.levelText.setOrigin(0, 1); this.summaryContainer.add(this.levelText); - this.genderText = addTextObject(this.scene, 96, -18, '', TextStyle.SUMMARY); + this.genderText = addTextObject(this.scene, 96, -17, '', TextStyle.SUMMARY); this.genderText.setOrigin(0, 1); this.summaryContainer.add(this.genderText); @@ -160,11 +160,11 @@ export default class SummaryUiHandler extends UiHandler { this.moveEffectContainer.add(moveEffectLabels); - this.movePowerText = addTextObject(this.scene, 99, 27, '0', TextStyle.WINDOW); + this.movePowerText = addTextObject(this.scene, 99, 27, '0', TextStyle.WINDOW_ALT); this.movePowerText.setOrigin(1, 1); this.moveEffectContainer.add(this.movePowerText); - this.moveAccuracyText = addTextObject(this.scene, 99, 43, '0', TextStyle.WINDOW); + this.moveAccuracyText = addTextObject(this.scene, 99, 43, '0', TextStyle.WINDOW_ALT); this.moveAccuracyText.setOrigin(1, 1); this.moveEffectContainer.add(this.moveAccuracyText); @@ -206,8 +206,8 @@ export default class SummaryUiHandler extends UiHandler { this.shinyOverlay.setVisible(this.pokemon.isShiny()); this.numberText.setText(Utils.padInt(this.pokemon.species.speciesId, 4)); - this.numberText.setColor(getTextColor(!this.pokemon.isShiny() ? TextStyle.SUMMARY : TextStyle.SUMMARY_GOLD)); - this.numberText.setShadowColor(getTextColor(!this.pokemon.isShiny() ? TextStyle.SUMMARY : TextStyle.SUMMARY_GOLD, true)); + this.numberText.setColor(this.getTextColor(!this.pokemon.isShiny() ? TextStyle.SUMMARY : TextStyle.SUMMARY_GOLD)); + this.numberText.setShadowColor(this.getTextColor(!this.pokemon.isShiny() ? TextStyle.SUMMARY : TextStyle.SUMMARY_GOLD, true)); this.pokemonSprite.play(this.pokemon.getSpriteKey(true)); this.pokemonSprite.pipelineData['teraColor'] = getTypeRgb(this.pokemon.getTeraType()); @@ -502,7 +502,7 @@ export default class SummaryUiHandler extends UiHandler { const profileContainer = this.scene.add.container(0, -pageBg.height); pageContainer.add(profileContainer); - const trainerLabel = addTextObject(this.scene, 7, 12, 'OT/', TextStyle.SUMMARY); + const trainerLabel = addTextObject(this.scene, 7, 12, 'OT/', TextStyle.SUMMARY_ALT); trainerLabel.setOrigin(0, 0); profileContainer.add(trainerLabel); @@ -511,11 +511,11 @@ export default class SummaryUiHandler extends UiHandler { trainerText.setOrigin(0, 0); profileContainer.add(trainerText); - const trainerIdText = addTextObject(this.scene, 174, 12, this.scene.gameData.trainerId.toString(), TextStyle.SUMMARY); + const trainerIdText = addTextObject(this.scene, 174, 12, this.scene.gameData.trainerId.toString(), TextStyle.SUMMARY_ALT); trainerIdText.setOrigin(0, 0); profileContainer.add(trainerIdText); - const typeLabel = addTextObject(this.scene, 7, 28, 'Type/', TextStyle.WINDOW); + const typeLabel = addTextObject(this.scene, 7, 28, 'Type/', TextStyle.WINDOW_ALT); typeLabel.setOrigin(0, 0); profileContainer.add(typeLabel); @@ -542,11 +542,11 @@ export default class SummaryUiHandler extends UiHandler { const ability = this.pokemon.getAbility(true); - const abilityNameText = addTextObject(this.scene, 7, 66, ability.name, TextStyle.SUMMARY); + const abilityNameText = addTextObject(this.scene, 7, 66, ability.name, TextStyle.SUMMARY_ALT); abilityNameText.setOrigin(0, 1); profileContainer.add(abilityNameText); - const abilityDescriptionText = addTextObject(this.scene, 7, 69, ability.description, TextStyle.WINDOW, { wordWrap: { width: 1224 } }); + const abilityDescriptionText = addTextObject(this.scene, 7, 69, ability.description, TextStyle.WINDOW_ALT, { wordWrap: { width: 1224 } }); abilityDescriptionText.setOrigin(0, 0); profileContainer.add(abilityDescriptionText); @@ -574,9 +574,9 @@ export default class SummaryUiHandler extends UiHandler { }); } - let memoString = `${getBBCodeFrag(Utils.toReadableString(Nature[this.pokemon.nature]), TextStyle.SUMMARY_RED)}${getBBCodeFrag(' nature,', TextStyle.WINDOW)}\n${getBBCodeFrag(`${this.pokemon.metBiome === -1 ? 'apparently ' : ''}met at Lv`, TextStyle.WINDOW)}${getBBCodeFrag(this.pokemon.metLevel.toString(), TextStyle.SUMMARY_RED)}${getBBCodeFrag(',', TextStyle.WINDOW)}\n${getBBCodeFrag(getBiomeName(this.pokemon.metBiome), TextStyle.SUMMARY_RED)}${getBBCodeFrag('.', TextStyle.WINDOW)}`; + let memoString = `${getBBCodeFrag(Utils.toReadableString(Nature[this.pokemon.nature]), TextStyle.SUMMARY_RED)}${getBBCodeFrag(' nature,', TextStyle.WINDOW_ALT)}\n${getBBCodeFrag(`${this.pokemon.metBiome === -1 ? 'apparently ' : ''}met at Lv`, TextStyle.WINDOW_ALT)}${getBBCodeFrag(this.pokemon.metLevel.toString(), TextStyle.SUMMARY_RED)}${getBBCodeFrag(',', TextStyle.WINDOW_ALT)}\n${getBBCodeFrag(getBiomeName(this.pokemon.metBiome), TextStyle.SUMMARY_RED)}${getBBCodeFrag('.', TextStyle.WINDOW_ALT)}`; - const memoText = addBBCodeTextObject(this.scene, 7, 113, memoString, TextStyle.WINDOW); + const memoText = addBBCodeTextObject(this.scene, 7, 113, memoString, TextStyle.WINDOW_ALT); memoText.setOrigin(0, 0); profileContainer.add(memoText); break; @@ -603,7 +603,7 @@ export default class SummaryUiHandler extends UiHandler { ? Utils.formatStat(this.pokemon.stats[s]) : `${Utils.formatStat(this.pokemon.hp, true)}/${Utils.formatStat(this.pokemon.getMaxHp(), true)}`; - const statValue = addTextObject(this.scene, 120 + 88 * colIndex, 56 + 16 * rowIndex, statValueText, TextStyle.WINDOW); + const statValue = addTextObject(this.scene, 120 + 88 * colIndex, 56 + 16 * rowIndex, statValueText, TextStyle.WINDOW_ALT); statValue.setOrigin(1, 0); statsContainer.add(statValue); }); @@ -622,8 +622,8 @@ export default class SummaryUiHandler extends UiHandler { icon.on('pointerout', () => (this.scene as BattleScene).ui.hideTooltip()); }); - const totalLvExp = getLevelTotalExp(this.pokemon.level, this.pokemon.species.growthRate); - const expRatio = this.pokemon.level < this.scene.getMaxExpLevel() ? this.pokemon.levelExp / totalLvExp : 0; + const relLvExp = getLevelRelExp(this.pokemon.level + 1, this.pokemon.species.growthRate); + const expRatio = this.pokemon.level < this.scene.getMaxExpLevel() ? this.pokemon.levelExp / relLvExp : 0; const expLabel = addTextObject(this.scene, 6, 112, 'EXP. Points', TextStyle.SUMMARY); expLabel.setOrigin(0, 0); @@ -633,14 +633,14 @@ export default class SummaryUiHandler extends UiHandler { nextLvExpLabel.setOrigin(0, 0); statsContainer.add(nextLvExpLabel); - const expText = addTextObject(this.scene, 208, 112, this.pokemon.exp.toString(), TextStyle.WINDOW); + const expText = addTextObject(this.scene, 208, 112, this.pokemon.exp.toString(), TextStyle.WINDOW_ALT); expText.setOrigin(1, 0); statsContainer.add(expText); const nextLvExp = this.pokemon.level < this.scene.getMaxExpLevel() ? getLevelTotalExp(this.pokemon.level + 1, this.pokemon.species.growthRate) - this.pokemon.exp : 0; - const nextLvExpText = addTextObject(this.scene, 208, 128, nextLvExp.toString(), TextStyle.WINDOW); + const nextLvExpText = addTextObject(this.scene, 208, 128, nextLvExp.toString(), TextStyle.WINDOW_ALT); nextLvExpText.setOrigin(1, 0); statsContainer.add(nextLvExpText); @@ -724,7 +724,7 @@ export default class SummaryUiHandler extends UiHandler { moveRowContainer.add(ppText); } - this.moveDescriptionText = addTextObject(this.scene, 2, 84, '', TextStyle.WINDOW, { wordWrap: { width: 1212 } }); + this.moveDescriptionText = addTextObject(this.scene, 2, 84, '', TextStyle.WINDOW_ALT, { wordWrap: { width: 1212 } }); this.movesContainer.add(this.moveDescriptionText); const moveDescriptionTextMaskRect = this.scene.make.graphics({}); diff --git a/src/ui/text.ts b/src/ui/text.ts index d715eff4712..21672847fdb 100644 --- a/src/ui/text.ts +++ b/src/ui/text.ts @@ -2,14 +2,18 @@ import BBCodeText from "phaser3-rex-plugins/plugins/gameobjects/tagtext/bbcodete import InputText from "phaser3-rex-plugins/plugins/inputtext"; import { ModifierTier } from "../modifier/modifier-tier"; import { EggTier } from "../data/enums/egg-type"; +import BattleScene from "../battle-scene"; +import { UiTheme } from "../enums/ui-theme"; export enum TextStyle { MESSAGE, WINDOW, + WINDOW_ALT, BATTLE_INFO, PARTY, PARTY_RED, SUMMARY, + SUMMARY_ALT, SUMMARY_RED, SUMMARY_BLUE, SUMMARY_PINK, @@ -22,7 +26,7 @@ export enum TextStyle { }; export function addTextObject(scene: Phaser.Scene, x: number, y: number, content: string, style: TextStyle, extraStyleOptions?: Phaser.Types.GameObjects.Text.TextStyle): Phaser.GameObjects.Text { - const [ styleOptions, shadowColor, shadowSize ] = getTextStyleOptions(style, extraStyleOptions); + const [ styleOptions, shadowColor, shadowSize ] = getTextStyleOptions(style, (scene as BattleScene).uiTheme, extraStyleOptions); const ret = scene.add.text(x, y, content, styleOptions); ret.setScale(0.1666666667); @@ -34,7 +38,7 @@ export function addTextObject(scene: Phaser.Scene, x: number, y: number, content } export function addBBCodeTextObject(scene: Phaser.Scene, x: number, y: number, content: string, style: TextStyle, extraStyleOptions?: Phaser.Types.GameObjects.Text.TextStyle): BBCodeText { - const [ styleOptions, shadowColor, shadowSize ] = getTextStyleOptions(style, extraStyleOptions); + const [ styleOptions, shadowColor, shadowSize ] = getTextStyleOptions(style, (scene as BattleScene).uiTheme, extraStyleOptions); const ret = new BBCodeText(scene, x, y, content, styleOptions as BBCodeText.TextStyle); scene.add.existing(ret); @@ -47,7 +51,7 @@ export function addBBCodeTextObject(scene: Phaser.Scene, x: number, y: number, c } export function addTextInputObject(scene: Phaser.Scene, x: number, y: number, width: number, height: number, style: TextStyle, extraStyleOptions?: InputText.IConfig): InputText { - const [ styleOptions ] = getTextStyleOptions(style, extraStyleOptions); + const [ styleOptions ] = getTextStyleOptions(style, (scene as BattleScene).uiTheme, extraStyleOptions); const ret = new InputText(scene, x, y, width, height, styleOptions as InputText.IConfig); scene.add.existing(ret); @@ -56,14 +60,14 @@ export function addTextInputObject(scene: Phaser.Scene, x: number, y: number, wi return ret; } -function getTextStyleOptions(style: TextStyle, extraStyleOptions?: Phaser.Types.GameObjects.Text.TextStyle): [ Phaser.Types.GameObjects.Text.TextStyle | InputText.IConfig, string, integer ] { +function getTextStyleOptions(style: TextStyle, uiTheme: UiTheme, extraStyleOptions?: Phaser.Types.GameObjects.Text.TextStyle): [ Phaser.Types.GameObjects.Text.TextStyle | InputText.IConfig, string, integer ] { let shadowColor: string; let shadowSize = 6; let styleOptions: Phaser.Types.GameObjects.Text.TextStyle = { fontFamily: 'emerald', fontSize: '96px', - color: getTextColor(style, false), + color: getTextColor(style, false, uiTheme), padding: { bottom: 6 } @@ -97,7 +101,7 @@ function getTextStyleOptions(style: TextStyle, extraStyleOptions?: Phaser.Types. break; } - shadowColor = getTextColor(style, true); + shadowColor = getTextColor(style, true, uiTheme); if (extraStyleOptions) { if (extraStyleOptions.fontSize) { @@ -114,21 +118,31 @@ export function getBBCodeFrag(content: string, textStyle: TextStyle): string { return `[color=${getTextColor(textStyle)}][shadow=${getTextColor(textStyle, true)}]${content}`; } -export function getTextColor(textStyle: TextStyle, shadow?: boolean): string { +export function getTextColor(textStyle: TextStyle, shadow?: boolean, uiTheme: UiTheme = UiTheme.DEFAULT): string { switch (textStyle) { case TextStyle.MESSAGE: return !shadow ? '#f8f8f8' : '#6b5a73'; case TextStyle.WINDOW: case TextStyle.TOOLTIP_CONTENT: + if (uiTheme) + return !shadow ? '#484848' : '#d0d0c8'; + return !shadow ? '#f8f8f8' : '#6b5a73'; + case TextStyle.WINDOW_ALT: return !shadow ? '#484848' : '#d0d0c8'; case TextStyle.BATTLE_INFO: - return !shadow ? '#404040' : '#ded6b5'; + if (uiTheme) + return !shadow ? '#404040' : '#ded6b5'; + return !shadow ? '#f8f8f8' : '#6b5a73'; case TextStyle.PARTY: return !shadow ? '#f8f8f8' : '#707070'; case TextStyle.PARTY_RED: return !shadow ? '#f89890' : '#984038'; case TextStyle.SUMMARY: return !shadow ? '#ffffff' : '#636363'; + case TextStyle.SUMMARY_ALT: + if (uiTheme) + return !shadow ? '#ffffff' : '#636363'; + return !shadow ? '#484848' : '#d0d0c8'; case TextStyle.SUMMARY_RED: case TextStyle.TOOLTIP_TITLE: return !shadow ? '#e70808' : '#ffbd73'; diff --git a/src/ui/ui-handler.ts b/src/ui/ui-handler.ts index 16c7b375643..e3c94b76467 100644 --- a/src/ui/ui-handler.ts +++ b/src/ui/ui-handler.ts @@ -1,4 +1,5 @@ import BattleScene, { Button } from "../battle-scene"; +import { TextStyle, getTextColor } from "./text"; import UI, { Mode } from "./ui"; export default abstract class UiHandler { @@ -26,6 +27,10 @@ export default abstract class UiHandler { return this.scene.ui; } + getTextColor(style: TextStyle, shadow: boolean = false): string { + return getTextColor(style, shadow, this.scene.uiTheme); + } + getCursor(): integer { return this.cursor; } diff --git a/src/ui/ui-theme.ts b/src/ui/ui-theme.ts new file mode 100644 index 00000000000..28612fbcbdd --- /dev/null +++ b/src/ui/ui-theme.ts @@ -0,0 +1,147 @@ +import { UiTheme } from "#app/enums/ui-theme"; +import BattleScene, { legacyCompatibleImages } from "../battle-scene"; + +export enum WindowVariant { + NORMAL, + THIN, + XTHIN +} + +export function getWindowVariantSuffix(windowVariant: WindowVariant): string { + switch (windowVariant) { + case WindowVariant.THIN: + return '_thin'; + case WindowVariant.XTHIN: + return '_xthin'; + default: + return ''; + } +} + +const windowTypeControlColors = { + [UiTheme.DEFAULT]: { + 0: [ '#6b5a73', '#DD5748', '#7E4955' ], + 1: [ '#6b5a73', '#48DDAA', '#4D7574' ], + 2: [ '#6b5a73', '#C5C5C5', '#766D7E' ], + 3: [ '#6b5a73', '#EBC07C', '#836C66' ], + 4: [ '#686868', '#E8E8E8', '#919191' ] + }, + [UiTheme.LEGACY]: { + 0: [ '#706880', '#8888c8', '#484868' ], + 1: [ '#d04028', '#e0a028', '#902008' ], + 2: [ '#48b840', '#88d880', '#089040' ], + 3: [ '#2068d0', '#80b0e0', '#104888' ], + 4: [ '#706880', '#8888c8', '#484868' ] + } +}; + +export function addWindow(scene: BattleScene, x: number, y: number, width: number, height: number, mergeMaskTop?: boolean, mergeMaskLeft?: boolean, maskOffsetX?: number, maskOffsetY?: number, windowVariant?: WindowVariant): Phaser.GameObjects.NineSlice { + if (windowVariant === undefined) + windowVariant = WindowVariant.NORMAL; + + const borderSize = scene.uiTheme ? 6 : 8; + + const window = scene.add.nineslice(x, y, `window_${scene.windowType}${getWindowVariantSuffix(windowVariant)}`, null, width, height, borderSize, borderSize, borderSize, borderSize); + window.setOrigin(0, 0); + + if (mergeMaskTop || mergeMaskLeft) { + const maskRect = scene.make.graphics({}); + maskRect.setScale(6); + maskRect.fillStyle(0xFFFFFF); + maskRect.beginPath(); + maskRect.fillRect(window.x + (mergeMaskLeft ? 2 : 0) + (maskOffsetX || 0), window.y + (mergeMaskTop ? 2 : 0) + (maskOffsetY || 0), window.width - (mergeMaskLeft ? 2 : 0), window.height - (mergeMaskTop ? 2 : 0)); + window.setMask(maskRect.createGeometryMask()); + } + + return window; +} + +export function updateWindowType(scene: BattleScene, windowTypeIndex: integer): void { + const windowObjects: [Phaser.GameObjects.NineSlice, WindowVariant][] = []; + const bgObjects: Phaser.GameObjects.Image[] = []; + const traverse = (object: any) => { + if (object.hasOwnProperty('children')) { + const children = object.children as Phaser.GameObjects.DisplayList; + for (let child of children.getAll()) + traverse(child); + } else if (object instanceof Phaser.GameObjects.Container) { + for (let child of object.getAll()) + traverse(child); + } else if (object instanceof Phaser.GameObjects.NineSlice) { + if (object.texture.key.startsWith('window_')) + windowObjects.push([ object, object.texture.key.endsWith(getWindowVariantSuffix(WindowVariant.XTHIN)) ? WindowVariant.XTHIN : object.texture.key.endsWith(getWindowVariantSuffix(WindowVariant.THIN)) ? WindowVariant.THIN : WindowVariant.NORMAL ]); + } else if (object instanceof Phaser.GameObjects.Sprite && object.texture?.key === 'bg') + bgObjects.push(object) + } + + traverse(scene); + + scene.windowType = windowTypeIndex; + + const rootStyle = document.documentElement.style; + [ 'base', 'light', 'dark' ].map((k, i) => rootStyle.setProperty(`--color-${k}`, windowTypeControlColors[scene.uiTheme][windowTypeIndex - 1][i])); + + const windowKey = `window_${windowTypeIndex}`; + + for (let [ window, variant ] of windowObjects) + window.setTexture(`${windowKey}${getWindowVariantSuffix(variant)}`); + + for (let bg of bgObjects) + bg.setFrame(windowTypeIndex); +} + +export function addUiThemeOverrides(scene: BattleScene): void { + const originalAddImage = scene.add.image; + scene.add.image = function (x: number, y: number, texture: string | Phaser.Textures.Texture, frame?: string | number): Phaser.GameObjects.Image { + let legacy = false; + if (typeof texture === 'string' && scene.uiTheme && legacyCompatibleImages.includes(texture)) { + legacy = true; + texture += '_legacy'; + } + const ret: Phaser.GameObjects.Image = originalAddImage.apply(this, [ x, y, texture, frame ]); + if (legacy) { + const originalSetTexture = ret.setTexture; + ret.setTexture = function (key: string, frame?: string | number) { + key += '_legacy'; + return originalSetTexture.apply(this, [ key, frame ]); + }; + } + return ret; + }; + + const originalAddSprite = scene.add.sprite; + scene.add.sprite = function (x: number, y: number, texture: string | Phaser.Textures.Texture, frame?: string | number): Phaser.GameObjects.Sprite { + let legacy = false; + if (typeof texture === 'string' && scene.uiTheme && legacyCompatibleImages.includes(texture)) { + legacy = true; + texture += '_legacy'; + } + const ret: Phaser.GameObjects.Sprite = originalAddSprite.apply(this, [ x, y, texture, frame ]); + if (legacy) { + const originalSetTexture = ret.setTexture; + ret.setTexture = function (key: string, frame?: string | number) { + key += '_legacy'; + return originalSetTexture.apply(this, [ key, frame ]); + }; + } + return ret; + }; + + const originalAddNineslice = scene.add.nineslice; + scene.add.nineslice = function (x: number, y: number, texture: string | Phaser.Textures.Texture, frame?: string | number, width?: number, height?: number, leftWidth?: number, rightWidth?: number, topHeight?: number, bottomHeight?: number): Phaser.GameObjects.NineSlice { + let legacy = false; + if (typeof texture === 'string' && scene.uiTheme && legacyCompatibleImages.includes(texture)) { + legacy = true; + texture += '_legacy'; + } + const ret: Phaser.GameObjects.NineSlice = originalAddNineslice.apply(this, [ x, y, texture, frame, width, height, leftWidth, rightWidth, topHeight, bottomHeight ]); + if (legacy) { + const originalSetTexture = ret.setTexture; + ret.setTexture = function (key: string | Phaser.Textures.Texture, frame?: string | number, updateSize?: boolean, updateOrigin?: boolean) { + key += '_legacy'; + return originalSetTexture.apply(this, [ key, frame, updateSize, updateOrigin ]); + }; + } + return ret; + }; +} \ No newline at end of file diff --git a/src/ui/ui.ts b/src/ui/ui.ts index c30cd9fbe90..dd8fcc12fba 100644 --- a/src/ui/ui.ts +++ b/src/ui/ui.ts @@ -23,7 +23,7 @@ import EggHatchSceneHandler from './egg-hatch-scene-handler'; import EggListUiHandler from './egg-list-ui-handler'; import EggGachaUiHandler from './egg-gacha-ui-handler'; import VouchersUiHandler from './vouchers-ui-handler'; -import { addWindow } from './window'; +import { addWindow } from './ui-theme'; import LoginFormUiHandler from './login-form-ui-handler'; import RegistrationFormUiHandler from './registration-form-ui-handler'; import LoadingModalUiHandler from './loading-modal-ui-handler'; diff --git a/src/ui/vouchers-ui-handler.ts b/src/ui/vouchers-ui-handler.ts index b0e9f9c626b..96ef7984a5f 100644 --- a/src/ui/vouchers-ui-handler.ts +++ b/src/ui/vouchers-ui-handler.ts @@ -3,7 +3,7 @@ import { Voucher, getVoucherTypeIcon, getVoucherTypeName, vouchers } from "../sy import MessageUiHandler from "./message-ui-handler"; import { TextStyle, addTextObject } from "./text"; import { Mode } from "./ui"; -import { addWindow } from "./window"; +import { addWindow } from "./ui-theme"; const itemRows = 4; const itemCols = 17; diff --git a/src/ui/window.ts b/src/ui/window.ts deleted file mode 100644 index c0299e9be68..00000000000 --- a/src/ui/window.ts +++ /dev/null @@ -1,73 +0,0 @@ -import BattleScene from "../battle-scene"; - -export enum WindowVariant { - NORMAL, - THIN, - XTHIN -} - -export function getWindowVariantSuffix(windowVariant: WindowVariant): string { - switch (windowVariant) { - case WindowVariant.THIN: - return '_thin'; - case WindowVariant.XTHIN: - return '_xthin'; - default: - return ''; - } -} - -const windowTypeControlColors = { - 0: [ '#706880', '#8888c8', '#484868' ], - 1: [ '#d04028', '#e0a028', '#902008' ], - 2: [ '#48b840', '#88d880', '#089040' ], - 3: [ '#2068d0', '#80b0e0', '#104888' ] -}; - -export function addWindow(scene: BattleScene, x: number, y: number, width: number, height: number, mergeMaskTop?: boolean, mergeMaskLeft?: boolean, maskOffsetX?: number, maskOffsetY?: number, windowVariant?: WindowVariant): Phaser.GameObjects.NineSlice { - if (windowVariant === undefined) - windowVariant = WindowVariant.NORMAL; - - const window = scene.add.nineslice(x, y, `window_${scene.windowType}${getWindowVariantSuffix(windowVariant)}`, null, width, height, 6, 6, 6, 6); - window.setOrigin(0, 0); - - if (mergeMaskTop || mergeMaskLeft) { - const maskRect = scene.make.graphics({}); - maskRect.setScale(6); - maskRect.fillStyle(0xFFFFFF); - maskRect.beginPath(); - maskRect.fillRect(window.x + (mergeMaskLeft ? 2 : 0) + (maskOffsetX || 0), window.y + (mergeMaskTop ? 2 : 0) + (maskOffsetY || 0), window.width - (mergeMaskLeft ? 2 : 0), window.height - (mergeMaskTop ? 2 : 0)); - window.setMask(maskRect.createGeometryMask()); - } - - return window; -} - -export function updateWindowType(scene: BattleScene, windowTypeIndex: integer): void { - const windowObjects: [Phaser.GameObjects.NineSlice, WindowVariant][] = []; - const traverse = (object: any) => { - if (object.hasOwnProperty('children')) { - const children = object.children as Phaser.GameObjects.DisplayList; - for (let child of children.getAll()) - traverse(child); - } else if (object instanceof Phaser.GameObjects.Container) { - for (let child of object.getAll()) - traverse(child); - } else if (object instanceof Phaser.GameObjects.NineSlice) { - if (object.texture.key.startsWith('window_')) - windowObjects.push([ object, object.texture.key.endsWith(getWindowVariantSuffix(WindowVariant.XTHIN)) ? WindowVariant.XTHIN : object.texture.key.endsWith(getWindowVariantSuffix(WindowVariant.THIN)) ? WindowVariant.THIN : WindowVariant.NORMAL ]); - } - } - - traverse(scene); - - scene.windowType = windowTypeIndex; - - const rootStyle = document.documentElement.style; - [ 'base', 'light', 'dark' ].map((k, i) => rootStyle.setProperty(`--color-${k}`, windowTypeControlColors[windowTypeIndex - 1][i])); - - const windowKey = `window_${windowTypeIndex}`; - - for (let [ window, variant ] of windowObjects) - window.setTexture(`${windowKey}${getWindowVariantSuffix(variant)}`); -} \ No newline at end of file