bcsfe 3.0.1__tar.gz → 3.2.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {bcsfe-3.0.1 → bcsfe-3.2.0}/PKG-INFO +110 -20
- bcsfe-3.0.1/src/bcsfe.egg-info/PKG-INFO → bcsfe-3.2.0/README.md +105 -44
- {bcsfe-3.0.1 → bcsfe-3.2.0}/pyproject.toml +4 -4
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/__init__.py +1 -1
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/__main__.py +3 -1
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/cli/color.py +4 -14
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/cli/dialog_creator.py +23 -4
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/cli/edits/__init__.py +5 -1
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/cli/edits/basic_items.py +6 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/cli/edits/cat_editor.py +150 -76
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/cli/edits/event_tickets.py +2 -1
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/cli/edits/map.py +46 -30
- bcsfe-3.2.0/src/bcsfe/cli/edits/max_all.py +146 -0
- bcsfe-3.2.0/src/bcsfe/cli/edits/storage.py +214 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/cli/feature_handler.py +14 -3
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/cli/main.py +1 -1
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/cli/save_management.py +94 -27
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/__init__.py +39 -7
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game/catbase/__init__.py +2 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game/catbase/cat.py +28 -23
- bcsfe-3.2.0/src/bcsfe/core/game/catbase/gambling.py +111 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game/catbase/gatya.py +14 -32
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game/catbase/scheme_items.py +1 -3
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game/catbase/special_skill.py +10 -14
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game/catbase/upgrade.py +6 -6
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game/map/chapters.py +12 -10
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game/map/enigma.py +5 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game/map/event.py +24 -16
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game/map/gauntlets.py +13 -10
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game/map/legend_quest.py +9 -10
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game/map/map_names.py +56 -18
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game/map/outbreaks.py +2 -10
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game/map/story.py +1 -1
- bcsfe-3.2.0/src/bcsfe/core/game/map/uncanny.py +104 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game/map/zero_legends.py +23 -9
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/io/bc_csv.py +1 -1
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/io/config.py +16 -4
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/io/path.py +9 -9
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/io/root_handler.py +7 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/io/save.py +46 -169
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/io/waydroid.py +9 -5
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/io/yaml.py +13 -7
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/locale_handler.py +2 -2
- bcsfe-3.2.0/src/bcsfe/core/max_value_helper.py +70 -0
- bcsfe-3.2.0/src/bcsfe/core/server/game_data_getter.py +329 -0
- bcsfe-3.2.0/src/bcsfe/core/server/request.py +115 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/server/server_handler.py +21 -42
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/server/updater.py +1 -2
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/files/locales/en/core/config.properties +5 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/files/locales/en/core/input.properties +2 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/files/locales/en/core/locale.properties +1 -1
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/files/locales/en/core/main.properties +10 -7
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/files/locales/en/core/save.properties +15 -3
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/files/locales/en/core/server.properties +4 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/files/locales/en/core/theme.properties +2 -2
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/files/locales/en/edits/cats.properties +42 -1
- bcsfe-3.2.0/src/bcsfe/files/locales/en/edits/gambling.properties +3 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/files/locales/en/edits/gatya.properties +3 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/files/locales/en/edits/items.properties +3 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/files/locales/en/edits/map.properties +19 -1
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/files/locales/en/edits/treasures.properties +2 -2
- bcsfe-3.2.0/src/bcsfe/files/locales/vi/core/config.properties +97 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/files/locales/vi/core/files.properties +10 -9
- bcsfe-3.2.0/src/bcsfe/files/locales/vi/core/input.properties +32 -0
- bcsfe-3.2.0/src/bcsfe/files/locales/vi/core/locale.properties +33 -0
- bcsfe-3.2.0/src/bcsfe/files/locales/vi/core/main.properties +113 -0
- bcsfe-3.2.0/src/bcsfe/files/locales/vi/core/save.properties +107 -0
- bcsfe-3.2.0/src/bcsfe/files/locales/vi/core/server.properties +51 -0
- bcsfe-3.2.0/src/bcsfe/files/locales/vi/core/theme.properties +25 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/files/locales/vi/core/updater.properties +20 -21
- bcsfe-3.2.0/src/bcsfe/files/locales/vi/edits/bannable_items.properties +31 -0
- bcsfe-3.2.0/src/bcsfe/files/locales/vi/edits/cats.properties +166 -0
- bcsfe-3.2.0/src/bcsfe/files/locales/vi/edits/enemy.properties +18 -0
- bcsfe-3.2.0/src/bcsfe/files/locales/vi/edits/fixes.properties +14 -0
- bcsfe-3.2.0/src/bcsfe/files/locales/vi/edits/gambling.properties +3 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/files/locales/vi/edits/gamototo.properties +55 -54
- bcsfe-3.2.0/src/bcsfe/files/locales/vi/edits/gatya.properties +9 -0
- bcsfe-3.2.0/src/bcsfe/files/locales/vi/edits/gold_pass.properties +7 -0
- bcsfe-3.2.0/src/bcsfe/files/locales/vi/edits/items.properties +56 -0
- bcsfe-3.2.0/src/bcsfe/files/locales/vi/edits/map.properties +158 -0
- bcsfe-3.2.0/src/bcsfe/files/locales/vi/edits/medals.properties +9 -0
- bcsfe-3.2.0/src/bcsfe/files/locales/vi/edits/missions.properties +8 -0
- bcsfe-3.2.0/src/bcsfe/files/locales/vi/edits/playtime.properties +8 -0
- bcsfe-3.2.0/src/bcsfe/files/locales/vi/edits/scheme_items.properties +7 -0
- bcsfe-3.2.0/src/bcsfe/files/locales/vi/edits/special_skills.properties +11 -0
- bcsfe-3.2.0/src/bcsfe/files/locales/vi/edits/talent_orbs.properties +25 -0
- bcsfe-3.2.0/src/bcsfe/files/locales/vi/edits/treasures.properties +25 -0
- bcsfe-3.2.0/src/bcsfe/files/locales/vi/edits/user_rank.properties +10 -0
- bcsfe-3.2.0/src/bcsfe/files/locales/vi/metadata.json +4 -0
- bcsfe-3.0.1/README.md → bcsfe-3.2.0/src/bcsfe.egg-info/PKG-INFO +134 -15
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe.egg-info/SOURCES.txt +5 -0
- bcsfe-3.0.1/src/bcsfe/core/game/map/uncanny.py +0 -47
- bcsfe-3.0.1/src/bcsfe/core/max_value_helper.py +0 -35
- bcsfe-3.0.1/src/bcsfe/core/server/game_data_getter.py +0 -217
- bcsfe-3.0.1/src/bcsfe/core/server/request.py +0 -64
- bcsfe-3.0.1/src/bcsfe/files/locales/vi/core/config.properties +0 -87
- bcsfe-3.0.1/src/bcsfe/files/locales/vi/core/input.properties +0 -29
- bcsfe-3.0.1/src/bcsfe/files/locales/vi/core/locale.properties +0 -32
- bcsfe-3.0.1/src/bcsfe/files/locales/vi/core/main.properties +0 -108
- bcsfe-3.0.1/src/bcsfe/files/locales/vi/core/save.properties +0 -99
- bcsfe-3.0.1/src/bcsfe/files/locales/vi/core/server.properties +0 -69
- bcsfe-3.0.1/src/bcsfe/files/locales/vi/core/theme.properties +0 -23
- bcsfe-3.0.1/src/bcsfe/files/locales/vi/edits/bannable_items.properties +0 -30
- bcsfe-3.0.1/src/bcsfe/files/locales/vi/edits/cats.properties +0 -125
- bcsfe-3.0.1/src/bcsfe/files/locales/vi/edits/enemy.properties +0 -17
- bcsfe-3.0.1/src/bcsfe/files/locales/vi/edits/fixes.properties +0 -13
- bcsfe-3.0.1/src/bcsfe/files/locales/vi/edits/gatya.properties +0 -5
- bcsfe-3.0.1/src/bcsfe/files/locales/vi/edits/gold_pass.properties +0 -6
- bcsfe-3.0.1/src/bcsfe/files/locales/vi/edits/items.properties +0 -53
- bcsfe-3.0.1/src/bcsfe/files/locales/vi/edits/map.properties +0 -118
- bcsfe-3.0.1/src/bcsfe/files/locales/vi/edits/medals.properties +0 -8
- bcsfe-3.0.1/src/bcsfe/files/locales/vi/edits/missions.properties +0 -7
- bcsfe-3.0.1/src/bcsfe/files/locales/vi/edits/playtime.properties +0 -7
- bcsfe-3.0.1/src/bcsfe/files/locales/vi/edits/scheme_items.properties +0 -6
- bcsfe-3.0.1/src/bcsfe/files/locales/vi/edits/special_skills.properties +0 -10
- bcsfe-3.0.1/src/bcsfe/files/locales/vi/edits/talent_orbs.properties +0 -25
- bcsfe-3.0.1/src/bcsfe/files/locales/vi/edits/treasures.properties +0 -24
- bcsfe-3.0.1/src/bcsfe/files/locales/vi/edits/user_rank.properties +0 -9
- bcsfe-3.0.1/src/bcsfe/files/locales/vi/metadata.json +0 -4
- {bcsfe-3.0.1 → bcsfe-3.2.0}/LICENSE +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/MANIFEST.in +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/setup.cfg +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/setup.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/cli/__init__.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/cli/edits/aku_realm.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/cli/edits/clear_tutorial.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/cli/edits/enemy_editor.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/cli/edits/fixes.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/cli/edits/rare_ticket_trade.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/cli/file_dialog.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/cli/server_cli.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/country_code.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/crypto.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game/__init__.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game/battle/__init__.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game/battle/battle_items.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game/battle/cleared_slots.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game/battle/enemy.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game/battle/slots.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game/catbase/beacon_base.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game/catbase/drop_chara.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game/catbase/gatya_item.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game/catbase/item_pack.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game/catbase/login_bonuses.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game/catbase/matatabi.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game/catbase/medals.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game/catbase/mission.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game/catbase/my_sale.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game/catbase/nyanko_club.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game/catbase/officer_pass.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game/catbase/playtime.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game/catbase/powerup.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game/catbase/stamp.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game/catbase/talent_orbs.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game/catbase/unlock_popups.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game/catbase/user_rank_rewards.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game/gamoto/__init__.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game/gamoto/base_materials.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game/gamoto/cat_shrine.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game/gamoto/catamins.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game/gamoto/gamatoto.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game/gamoto/ototo.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game/localizable.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game/map/__init__.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game/map/aku.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game/map/challenge.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game/map/dojo.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game/map/ex_stage.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game/map/item_reward_stage.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game/map/map_reset.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game/map/timed_score.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game/map/tower.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/game_version.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/io/__init__.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/io/adb_handler.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/io/command.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/io/data.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/io/git_handler.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/io/json_file.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/io/thread_helper.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/log.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/server/__init__.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/server/client_info.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/server/event_data.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/server/headers.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/server/managed_item.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/core/theme_handler.py +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/files/locales/en/core/files.properties +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/files/locales/en/core/updater.properties +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/files/locales/en/edits/bannable_items.properties +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/files/locales/en/edits/enemy.properties +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/files/locales/en/edits/fixes.properties +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/files/locales/en/edits/gamototo.properties +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/files/locales/en/edits/gold_pass.properties +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/files/locales/en/edits/medals.properties +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/files/locales/en/edits/missions.properties +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/files/locales/en/edits/playtime.properties +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/files/locales/en/edits/scheme_items.properties +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/files/locales/en/edits/special_skills.properties +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/files/locales/en/edits/talent_orbs.properties +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/files/locales/en/edits/user_rank.properties +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/files/max_values.json +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/files/themes/default.json +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/files/themes/discord.json +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe/py.typed +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe.egg-info/dependency_links.txt +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe.egg-info/entry_points.txt +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe.egg-info/requires.txt +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/src/bcsfe.egg-info/top_level.txt +0 -0
- {bcsfe-3.0.1 → bcsfe-3.2.0}/tests/test_parse.py +0 -0
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: bcsfe
|
|
3
|
-
Version: 3.0
|
|
3
|
+
Version: 3.2.0
|
|
4
4
|
Summary: A save file editor for The Battle Cats
|
|
5
5
|
Author: fieryhenry
|
|
6
6
|
License-Expression: GPL-3.0-or-later
|
|
7
|
-
Project-URL: Homepage, https://
|
|
8
|
-
Project-URL: Repository, https://
|
|
9
|
-
Project-URL: Issues, https://
|
|
10
|
-
Project-URL: Changelog, https://
|
|
7
|
+
Project-URL: Homepage, https://codeberg.org/fieryhenry/BCSFE-Python
|
|
8
|
+
Project-URL: Repository, https://codeberg.org/fieryhenry/BCSFE-Python
|
|
9
|
+
Project-URL: Issues, https://codeberg.org/fieryhenry/BCSFE-Python/issues
|
|
10
|
+
Project-URL: Changelog, https://codeberg.org/fieryhenry/BCSFE-Python/raw/branch/main/CHANGELOG.md
|
|
11
11
|
Keywords: battle cats,save editor,hacking
|
|
12
12
|
Classifier: Development Status :: 4 - Beta
|
|
13
13
|
Classifier: Intended Audience :: End Users/Desktop
|
|
@@ -98,7 +98,8 @@ python3 -m pip install bcsfe
|
|
|
98
98
|
py -m ensurepip --upgrade
|
|
99
99
|
```
|
|
100
100
|
|
|
101
|
-
Again change `py` for `python` or `python3` if needed
|
|
101
|
+
Again change `py` for `python` or `python3` if needed. I won't mention this again, so just remember
|
|
102
|
+
the one which works at keep using that.
|
|
102
103
|
|
|
103
104
|
5. To run the editor, as long as Python is in your PATH, you should be able to run:
|
|
104
105
|
|
|
@@ -112,9 +113,19 @@ bcsfe
|
|
|
112
113
|
py -m bcsfe
|
|
113
114
|
```
|
|
114
115
|
|
|
115
|
-
|
|
116
|
+
If you are using Windows and you are still struggling, try watching this video [here](https://codeberg.org/fieryhenry/videos/media/branch/main/bcsfe_windows_help.webm).
|
|
116
117
|
|
|
117
|
-
|
|
118
|
+
7. To update the editor run:
|
|
119
|
+
|
|
120
|
+
```powershell
|
|
121
|
+
py -m pip install -U bcsfe
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
8. To uninstall the editor run:
|
|
125
|
+
|
|
126
|
+
```powershell
|
|
127
|
+
py -m pip uninstall bcsfe
|
|
128
|
+
```
|
|
118
129
|
|
|
119
130
|
### Linux
|
|
120
131
|
|
|
@@ -145,6 +156,18 @@ bcsfe
|
|
|
145
156
|
6. You may also need to install `tk` with your system package manager to open the
|
|
146
157
|
file selection dialog. This package may be called `tk` or `python-tk` or `python3-tk`.
|
|
147
158
|
|
|
159
|
+
7. To update the editor if you are using pipx run:
|
|
160
|
+
|
|
161
|
+
```sh
|
|
162
|
+
pipx upgrade bcsfe
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
8. To uninstall the editor if you are using pipx run:
|
|
166
|
+
|
|
167
|
+
```sh
|
|
168
|
+
pipx uninstall bcsfe
|
|
169
|
+
```
|
|
170
|
+
|
|
148
171
|
If anyone wants to put the editor on the AUR or another package repo, feel free, I'll be happy to
|
|
149
172
|
help if needed.
|
|
150
173
|
|
|
@@ -207,23 +230,84 @@ selection dialog, you just have to type the file path manually.
|
|
|
207
230
|
For example to save your save file to your downloads directory, the path might look something like
|
|
208
231
|
`/storage/emulated/0/Download/SAVE_DATA` or `/sdcard/Download/SAVE_DATA`
|
|
209
232
|
|
|
233
|
+
5. To update the editor run:
|
|
234
|
+
|
|
235
|
+
```sh
|
|
236
|
+
pip install -U bcsfe
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
Or
|
|
240
|
+
|
|
241
|
+
```sh
|
|
242
|
+
python -m pip install -U bcsfe
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
|
|
246
|
+
5. To uninstall the editor run:
|
|
247
|
+
|
|
248
|
+
```sh
|
|
249
|
+
pip uninstall bcsfe
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
Or
|
|
253
|
+
|
|
254
|
+
```sh
|
|
255
|
+
python -m pip uninstall bcsfe
|
|
256
|
+
```
|
|
210
257
|
|
|
211
258
|
### iOS
|
|
212
259
|
|
|
213
|
-
I do not have an iOS device, so there is no
|
|
214
|
-
|
|
215
|
-
apparently quite slow, and other people recommend using a-Shell instead.
|
|
260
|
+
I do not have an iOS device, so there is no tutorial. The video that was recommended is now outdated.
|
|
261
|
+
But for a general overview of what you need to do:
|
|
216
262
|
|
|
263
|
+
1. Download a-Shell from the App Store
|
|
264
|
+
2. Install the editor with:
|
|
217
265
|
|
|
266
|
+
```sh
|
|
267
|
+
pip install bcsfe
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
3. Run the editor with:
|
|
271
|
+
|
|
272
|
+
```sh
|
|
273
|
+
bcsfe
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
Or if that doesn't work try:
|
|
277
|
+
|
|
278
|
+
```sh
|
|
279
|
+
python -m bcsfe
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
Or
|
|
283
|
+
|
|
284
|
+
```sh
|
|
285
|
+
python3 -m bcsfe
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
4. To update the editor run:
|
|
289
|
+
|
|
290
|
+
```sh
|
|
291
|
+
pip install -U bcsfe
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
5. To uninstall the editor run:
|
|
295
|
+
|
|
296
|
+
```sh
|
|
297
|
+
pip uninstall bcsfe
|
|
298
|
+
```
|
|
218
299
|
## Terms of Use
|
|
219
300
|
|
|
301
|
+
I don't like that I have to have Terms of use but these terms are designed to prevent scams and the
|
|
302
|
+
exploitation of users.
|
|
303
|
+
|
|
220
304
|
By using the editor you agree to the following:
|
|
221
305
|
|
|
222
306
|
If you are using the editor to run a paid service that profits off of the editor
|
|
223
307
|
(e.g a service to provide people with hacked accounts, or a paid discord bot to edit people's accounts,
|
|
224
308
|
etc) you must make it very clear that you are using this save editor.
|
|
225
309
|
|
|
226
|
-
This should be done by linking this
|
|
310
|
+
This should be done by linking this Codeberg page, and explicitly stating that the tool you are
|
|
227
311
|
using is available for free and that they don't need to use your service to hack their account.
|
|
228
312
|
|
|
229
313
|
This information needs to be visible and something the customer agrees to **before** any payment is made.
|
|
@@ -237,8 +321,6 @@ the editor under the hood as long as you abide by the [License](#license). Basic
|
|
|
237
321
|
distributing a program which uses the editor, you need to license your own program under the GPL
|
|
238
322
|
or a compatible license (basically make it open source / free software too).
|
|
239
323
|
|
|
240
|
-
These terms are designed to prevent scams and the exploitation of users.
|
|
241
|
-
|
|
242
324
|
Also if you **are** profiting from the editor, it would be greatly appreciated if you could
|
|
243
325
|
give back something and support me.
|
|
244
326
|
|
|
@@ -348,14 +430,18 @@ You'll need to collect the catfood in-game after each clear though
|
|
|
348
430
|
|
|
349
431
|
### Install from source
|
|
350
432
|
|
|
351
|
-
If you want the latest features then you can install the editor from the
|
|
433
|
+
If you want the latest features then you can install the editor from the git repo.
|
|
352
434
|
|
|
353
|
-
1. Download
|
|
435
|
+
1. Download git:
|
|
436
|
+
- Windows: [Git](https://git-scm.com/downloads)
|
|
437
|
+
- Linux: (use package manager, e.g `sudo apt-get install git` or `sudo pacman -S git`)
|
|
438
|
+
- Android: Termux: `pkg install git`
|
|
439
|
+
- iOS: a-Shell should already include it
|
|
354
440
|
|
|
355
441
|
2. Run the following commands: (You may have to replace `py` with `python` or `python3`)
|
|
356
442
|
|
|
357
443
|
```sh
|
|
358
|
-
git clone https://
|
|
444
|
+
git clone https://codeberg.org/fieryhenry/BCSFE-Python.git
|
|
359
445
|
cd BCSFE-Python
|
|
360
446
|
py -m pip install -e .
|
|
361
447
|
py -m bcsfe
|
|
@@ -368,16 +454,18 @@ Alternatively you can use pip directly, although it won't auto-update with the l
|
|
|
368
454
|
git commits.
|
|
369
455
|
|
|
370
456
|
```sh
|
|
371
|
-
py -m pip install git+https://
|
|
457
|
+
py -m pip install -U git+https://codeberg.org/fieryhenry/BCSFE-Python.git
|
|
372
458
|
py -m bcsfe
|
|
373
459
|
```
|
|
374
460
|
|
|
461
|
+
Again, you might need change `py` for `python` or `python3`
|
|
462
|
+
|
|
375
463
|
If you want to use the editor again all you need to do is run the `py -m bcsfe` command
|
|
376
464
|
|
|
377
465
|
## Documentation
|
|
378
466
|
|
|
379
|
-
- [Custom Editor Locales](https://
|
|
380
|
-
- [Custom Editor Themes](https://
|
|
467
|
+
- [Custom Editor Locales](https://codeberg.org/fieryhenry/ExampleEditorLocale)
|
|
468
|
+
- [Custom Editor Themes](https://codeberg.org/fieryhenry/ExampleEditorTheme)
|
|
381
469
|
|
|
382
470
|
I only have documentation for the locales and themes atm, but I will probably
|
|
383
471
|
add more documentation in the future.
|
|
@@ -390,6 +478,8 @@ discussion in #dev-chat, or create an issue in this repo, or a draft pull reques
|
|
|
390
478
|
If you need help with reverse engineering the save file, I have a basic starting guide here:
|
|
391
479
|
<https://codeberg.org/fieryhenry/bc_ree>.
|
|
392
480
|
|
|
481
|
+
If you want to localize the editor see [here](./LOCALIZATION.md).
|
|
482
|
+
|
|
393
483
|
## License
|
|
394
484
|
|
|
395
485
|
BCSFE is licensed under the GNU GPLv3 which can be read [here](https://www.gnu.org/licenses/gpl-3.0.en.html).
|
|
@@ -1,32 +1,3 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: bcsfe
|
|
3
|
-
Version: 3.0.1
|
|
4
|
-
Summary: A save file editor for The Battle Cats
|
|
5
|
-
Author: fieryhenry
|
|
6
|
-
License-Expression: GPL-3.0-or-later
|
|
7
|
-
Project-URL: Homepage, https://github.com/fieryhenry/BCSFE-Python
|
|
8
|
-
Project-URL: Repository, https://github.com/fieryhenry/BCSFE-Python
|
|
9
|
-
Project-URL: Issues, https://github.com/fieryhenry/BCSFE-Python/issues
|
|
10
|
-
Project-URL: Changelog, https://github.com/fieryhenry/BCSFE-Python/blob/master/CHANGELOG.md
|
|
11
|
-
Keywords: battle cats,save editor,hacking
|
|
12
|
-
Classifier: Development Status :: 4 - Beta
|
|
13
|
-
Classifier: Intended Audience :: End Users/Desktop
|
|
14
|
-
Classifier: Topic :: Utilities
|
|
15
|
-
Classifier: Programming Language :: Python :: 3
|
|
16
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
17
|
-
Classifier: Operating System :: OS Independent
|
|
18
|
-
Requires-Python: >=3.9
|
|
19
|
-
Description-Content-Type: text/markdown
|
|
20
|
-
License-File: LICENSE
|
|
21
|
-
Requires-Dist: aenum
|
|
22
|
-
Requires-Dist: colored==1.4.4
|
|
23
|
-
Requires-Dist: pyjwt
|
|
24
|
-
Requires-Dist: requests
|
|
25
|
-
Requires-Dist: pyyaml
|
|
26
|
-
Requires-Dist: beautifulsoup4
|
|
27
|
-
Requires-Dist: argparse
|
|
28
|
-
Dynamic: license-file
|
|
29
|
-
|
|
30
1
|
# Battle Cats Save File Editor
|
|
31
2
|
|
|
32
3
|
[](https://ko-fi.com/fieryhenry)
|
|
@@ -98,7 +69,8 @@ python3 -m pip install bcsfe
|
|
|
98
69
|
py -m ensurepip --upgrade
|
|
99
70
|
```
|
|
100
71
|
|
|
101
|
-
Again change `py` for `python` or `python3` if needed
|
|
72
|
+
Again change `py` for `python` or `python3` if needed. I won't mention this again, so just remember
|
|
73
|
+
the one which works at keep using that.
|
|
102
74
|
|
|
103
75
|
5. To run the editor, as long as Python is in your PATH, you should be able to run:
|
|
104
76
|
|
|
@@ -112,9 +84,19 @@ bcsfe
|
|
|
112
84
|
py -m bcsfe
|
|
113
85
|
```
|
|
114
86
|
|
|
115
|
-
|
|
87
|
+
If you are using Windows and you are still struggling, try watching this video [here](https://codeberg.org/fieryhenry/videos/media/branch/main/bcsfe_windows_help.webm).
|
|
88
|
+
|
|
89
|
+
7. To update the editor run:
|
|
90
|
+
|
|
91
|
+
```powershell
|
|
92
|
+
py -m pip install -U bcsfe
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
8. To uninstall the editor run:
|
|
116
96
|
|
|
117
|
-
|
|
97
|
+
```powershell
|
|
98
|
+
py -m pip uninstall bcsfe
|
|
99
|
+
```
|
|
118
100
|
|
|
119
101
|
### Linux
|
|
120
102
|
|
|
@@ -145,6 +127,18 @@ bcsfe
|
|
|
145
127
|
6. You may also need to install `tk` with your system package manager to open the
|
|
146
128
|
file selection dialog. This package may be called `tk` or `python-tk` or `python3-tk`.
|
|
147
129
|
|
|
130
|
+
7. To update the editor if you are using pipx run:
|
|
131
|
+
|
|
132
|
+
```sh
|
|
133
|
+
pipx upgrade bcsfe
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
8. To uninstall the editor if you are using pipx run:
|
|
137
|
+
|
|
138
|
+
```sh
|
|
139
|
+
pipx uninstall bcsfe
|
|
140
|
+
```
|
|
141
|
+
|
|
148
142
|
If anyone wants to put the editor on the AUR or another package repo, feel free, I'll be happy to
|
|
149
143
|
help if needed.
|
|
150
144
|
|
|
@@ -207,23 +201,84 @@ selection dialog, you just have to type the file path manually.
|
|
|
207
201
|
For example to save your save file to your downloads directory, the path might look something like
|
|
208
202
|
`/storage/emulated/0/Download/SAVE_DATA` or `/sdcard/Download/SAVE_DATA`
|
|
209
203
|
|
|
204
|
+
5. To update the editor run:
|
|
205
|
+
|
|
206
|
+
```sh
|
|
207
|
+
pip install -U bcsfe
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
Or
|
|
211
|
+
|
|
212
|
+
```sh
|
|
213
|
+
python -m pip install -U bcsfe
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
|
|
217
|
+
5. To uninstall the editor run:
|
|
218
|
+
|
|
219
|
+
```sh
|
|
220
|
+
pip uninstall bcsfe
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
Or
|
|
224
|
+
|
|
225
|
+
```sh
|
|
226
|
+
python -m pip uninstall bcsfe
|
|
227
|
+
```
|
|
210
228
|
|
|
211
229
|
### iOS
|
|
212
230
|
|
|
213
|
-
I do not have an iOS device, so there is no
|
|
214
|
-
|
|
215
|
-
|
|
231
|
+
I do not have an iOS device, so there is no tutorial. The video that was recommended is now outdated.
|
|
232
|
+
But for a general overview of what you need to do:
|
|
233
|
+
|
|
234
|
+
1. Download a-Shell from the App Store
|
|
235
|
+
2. Install the editor with:
|
|
236
|
+
|
|
237
|
+
```sh
|
|
238
|
+
pip install bcsfe
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
3. Run the editor with:
|
|
242
|
+
|
|
243
|
+
```sh
|
|
244
|
+
bcsfe
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
Or if that doesn't work try:
|
|
216
248
|
|
|
249
|
+
```sh
|
|
250
|
+
python -m bcsfe
|
|
251
|
+
```
|
|
217
252
|
|
|
253
|
+
Or
|
|
254
|
+
|
|
255
|
+
```sh
|
|
256
|
+
python3 -m bcsfe
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
4. To update the editor run:
|
|
260
|
+
|
|
261
|
+
```sh
|
|
262
|
+
pip install -U bcsfe
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
5. To uninstall the editor run:
|
|
266
|
+
|
|
267
|
+
```sh
|
|
268
|
+
pip uninstall bcsfe
|
|
269
|
+
```
|
|
218
270
|
## Terms of Use
|
|
219
271
|
|
|
272
|
+
I don't like that I have to have Terms of use but these terms are designed to prevent scams and the
|
|
273
|
+
exploitation of users.
|
|
274
|
+
|
|
220
275
|
By using the editor you agree to the following:
|
|
221
276
|
|
|
222
277
|
If you are using the editor to run a paid service that profits off of the editor
|
|
223
278
|
(e.g a service to provide people with hacked accounts, or a paid discord bot to edit people's accounts,
|
|
224
279
|
etc) you must make it very clear that you are using this save editor.
|
|
225
280
|
|
|
226
|
-
This should be done by linking this
|
|
281
|
+
This should be done by linking this Codeberg page, and explicitly stating that the tool you are
|
|
227
282
|
using is available for free and that they don't need to use your service to hack their account.
|
|
228
283
|
|
|
229
284
|
This information needs to be visible and something the customer agrees to **before** any payment is made.
|
|
@@ -237,8 +292,6 @@ the editor under the hood as long as you abide by the [License](#license). Basic
|
|
|
237
292
|
distributing a program which uses the editor, you need to license your own program under the GPL
|
|
238
293
|
or a compatible license (basically make it open source / free software too).
|
|
239
294
|
|
|
240
|
-
These terms are designed to prevent scams and the exploitation of users.
|
|
241
|
-
|
|
242
295
|
Also if you **are** profiting from the editor, it would be greatly appreciated if you could
|
|
243
296
|
give back something and support me.
|
|
244
297
|
|
|
@@ -348,14 +401,18 @@ You'll need to collect the catfood in-game after each clear though
|
|
|
348
401
|
|
|
349
402
|
### Install from source
|
|
350
403
|
|
|
351
|
-
If you want the latest features then you can install the editor from the
|
|
404
|
+
If you want the latest features then you can install the editor from the git repo.
|
|
352
405
|
|
|
353
|
-
1. Download
|
|
406
|
+
1. Download git:
|
|
407
|
+
- Windows: [Git](https://git-scm.com/downloads)
|
|
408
|
+
- Linux: (use package manager, e.g `sudo apt-get install git` or `sudo pacman -S git`)
|
|
409
|
+
- Android: Termux: `pkg install git`
|
|
410
|
+
- iOS: a-Shell should already include it
|
|
354
411
|
|
|
355
412
|
2. Run the following commands: (You may have to replace `py` with `python` or `python3`)
|
|
356
413
|
|
|
357
414
|
```sh
|
|
358
|
-
git clone https://
|
|
415
|
+
git clone https://codeberg.org/fieryhenry/BCSFE-Python.git
|
|
359
416
|
cd BCSFE-Python
|
|
360
417
|
py -m pip install -e .
|
|
361
418
|
py -m bcsfe
|
|
@@ -368,16 +425,18 @@ Alternatively you can use pip directly, although it won't auto-update with the l
|
|
|
368
425
|
git commits.
|
|
369
426
|
|
|
370
427
|
```sh
|
|
371
|
-
py -m pip install git+https://
|
|
428
|
+
py -m pip install -U git+https://codeberg.org/fieryhenry/BCSFE-Python.git
|
|
372
429
|
py -m bcsfe
|
|
373
430
|
```
|
|
374
431
|
|
|
432
|
+
Again, you might need change `py` for `python` or `python3`
|
|
433
|
+
|
|
375
434
|
If you want to use the editor again all you need to do is run the `py -m bcsfe` command
|
|
376
435
|
|
|
377
436
|
## Documentation
|
|
378
437
|
|
|
379
|
-
- [Custom Editor Locales](https://
|
|
380
|
-
- [Custom Editor Themes](https://
|
|
438
|
+
- [Custom Editor Locales](https://codeberg.org/fieryhenry/ExampleEditorLocale)
|
|
439
|
+
- [Custom Editor Themes](https://codeberg.org/fieryhenry/ExampleEditorTheme)
|
|
381
440
|
|
|
382
441
|
I only have documentation for the locales and themes atm, but I will probably
|
|
383
442
|
add more documentation in the future.
|
|
@@ -390,6 +449,8 @@ discussion in #dev-chat, or create an issue in this repo, or a draft pull reques
|
|
|
390
449
|
If you need help with reverse engineering the save file, I have a basic starting guide here:
|
|
391
450
|
<https://codeberg.org/fieryhenry/bc_ree>.
|
|
392
451
|
|
|
452
|
+
If you want to localize the editor see [here](./LOCALIZATION.md).
|
|
453
|
+
|
|
393
454
|
## License
|
|
394
455
|
|
|
395
456
|
BCSFE is licensed under the GNU GPLv3 which can be read [here](https://www.gnu.org/licenses/gpl-3.0.en.html).
|
|
@@ -30,10 +30,10 @@ dynamic = ["version"]
|
|
|
30
30
|
keywords = ["battle cats", "save editor", "hacking"]
|
|
31
31
|
|
|
32
32
|
[project.urls]
|
|
33
|
-
Homepage = "https://
|
|
34
|
-
Repository = "https://
|
|
35
|
-
Issues = "https://
|
|
36
|
-
Changelog = "https://
|
|
33
|
+
Homepage = "https://codeberg.org/fieryhenry/BCSFE-Python"
|
|
34
|
+
Repository = "https://codeberg.org/fieryhenry/BCSFE-Python"
|
|
35
|
+
Issues = "https://codeberg.org/fieryhenry/BCSFE-Python/issues"
|
|
36
|
+
Changelog = "https://codeberg.org/fieryhenry/BCSFE-Python/raw/branch/main/CHANGELOG.md"
|
|
37
37
|
|
|
38
38
|
[tool.setuptools.dynamic]
|
|
39
39
|
version = { attr = "bcsfe.__version__" }
|
|
@@ -52,7 +52,9 @@ def main():
|
|
|
52
52
|
cli.main.Main.leave()
|
|
53
53
|
except Exception as e:
|
|
54
54
|
tb = traceback.format_exc()
|
|
55
|
-
cli.color.ColoredText.localize(
|
|
55
|
+
cli.color.ColoredText.localize(
|
|
56
|
+
"error", error=e, version=bcsfe.__version__, traceback=tb
|
|
57
|
+
)
|
|
56
58
|
try:
|
|
57
59
|
cli.main.Main.exit_editor()
|
|
58
60
|
except Exception:
|
|
@@ -113,13 +113,9 @@ class ColoredText:
|
|
|
113
113
|
print(colored.stylize(text, fg), end="") # type: ignore
|
|
114
114
|
|
|
115
115
|
@staticmethod
|
|
116
|
-
def localize(
|
|
117
|
-
string: str, escape: bool = True, **kwargs: Any
|
|
118
|
-
) -> ColoredText:
|
|
116
|
+
def localize(string: str, escape: bool = True, **kwargs: Any) -> ColoredText:
|
|
119
117
|
return ColoredText(
|
|
120
|
-
core.core_data.local_manager.get_key(
|
|
121
|
-
string, escape=escape, **kwargs
|
|
122
|
-
)
|
|
118
|
+
core.core_data.local_manager.get_key(string, escape=escape, **kwargs)
|
|
123
119
|
)
|
|
124
120
|
|
|
125
121
|
def parse(self, txt: str) -> list[tuple[str, str]]:
|
|
@@ -134,11 +130,7 @@ class ColoredText:
|
|
|
134
130
|
special_chars = core.LocalManager.get_special_chars()
|
|
135
131
|
while i < len(txt):
|
|
136
132
|
char = txt[i]
|
|
137
|
-
if (
|
|
138
|
-
char == "\\"
|
|
139
|
-
and i + 1 < len(txt)
|
|
140
|
-
and txt[i + 1] in special_chars
|
|
141
|
-
):
|
|
133
|
+
if char == "\\" and i + 1 < len(txt) and txt[i + 1] in special_chars:
|
|
142
134
|
i += 1
|
|
143
135
|
char = txt[i]
|
|
144
136
|
text += char
|
|
@@ -183,7 +175,5 @@ class ColoredInput:
|
|
|
183
175
|
return input()
|
|
184
176
|
|
|
185
177
|
def localize(self, string: str, escape: bool = True, **kwargs: Any) -> str:
|
|
186
|
-
text = core.core_data.local_manager.get_key(
|
|
187
|
-
string, escape=escape, **kwargs
|
|
188
|
-
)
|
|
178
|
+
text = core.core_data.local_manager.get_key(string, escape=escape, **kwargs)
|
|
189
179
|
return self.get(text)
|
|
@@ -285,6 +285,11 @@ class ChoiceInput:
|
|
|
285
285
|
return int_val
|
|
286
286
|
if user_input == core.core_data.local_manager.get_key("quit_key"):
|
|
287
287
|
return None
|
|
288
|
+
for i, string in enumerate(self.strings):
|
|
289
|
+
if self.localize_options:
|
|
290
|
+
string = core.core_data.local_manager.get_key(string)
|
|
291
|
+
if string.lower().strip() == user_input.lower().strip():
|
|
292
|
+
return i + self.start_index
|
|
288
293
|
|
|
289
294
|
def get_max_value(self) -> int:
|
|
290
295
|
return len(self.strings) + self.start_index - 1
|
|
@@ -322,7 +327,7 @@ class ChoiceInput:
|
|
|
322
327
|
dialog = core.core_data.local_manager.get_key(key).format(
|
|
323
328
|
min=self.get_min_value(), max=self.get_max_value()
|
|
324
329
|
)
|
|
325
|
-
usr_input = color.ColoredInput().get(dialog).split(" ")
|
|
330
|
+
usr_input = color.ColoredInput().get(dialog).strip().split(" ")
|
|
326
331
|
int_vals: list[int] = []
|
|
327
332
|
for inp in usr_input:
|
|
328
333
|
try:
|
|
@@ -333,9 +338,19 @@ class ChoiceInput:
|
|
|
333
338
|
except ValueError:
|
|
334
339
|
if inp == core.core_data.local_manager.get_key("quit_key"):
|
|
335
340
|
return None, False
|
|
336
|
-
|
|
337
|
-
|
|
341
|
+
|
|
342
|
+
cont = False
|
|
343
|
+
for i, string in enumerate(self.strings):
|
|
344
|
+
if self.localize_options:
|
|
345
|
+
string = core.core_data.local_manager.get_key(string)
|
|
346
|
+
if string.lower().strip() == inp.lower().strip():
|
|
347
|
+
int_vals.append(i + self.start_index)
|
|
348
|
+
cont = True
|
|
349
|
+
break
|
|
350
|
+
|
|
351
|
+
if cont:
|
|
338
352
|
continue
|
|
353
|
+
|
|
339
354
|
color.ColoredText.localize(
|
|
340
355
|
"invalid_input_int",
|
|
341
356
|
min=self.get_min_value(),
|
|
@@ -674,7 +689,11 @@ class YesNoInput:
|
|
|
674
689
|
|
|
675
690
|
if usr_input == core.core_data.local_manager.get_key("quit_key"):
|
|
676
691
|
return None
|
|
677
|
-
return
|
|
692
|
+
return (
|
|
693
|
+
usr_input == core.core_data.local_manager.get_key("yes_key")
|
|
694
|
+
or usr_input.lower().strip()
|
|
695
|
+
== core.core_data.local_manager.get_key("yes").lower().strip()
|
|
696
|
+
)
|
|
678
697
|
|
|
679
698
|
|
|
680
699
|
class DialogBuilder:
|
|
@@ -8,6 +8,8 @@ from bcsfe.cli.edits import (
|
|
|
8
8
|
aku_realm,
|
|
9
9
|
map,
|
|
10
10
|
event_tickets,
|
|
11
|
+
max_all,
|
|
12
|
+
storage,
|
|
11
13
|
)
|
|
12
14
|
|
|
13
15
|
__all__ = [
|
|
@@ -19,5 +21,7 @@ __all__ = [
|
|
|
19
21
|
"enemy_editor",
|
|
20
22
|
"aku_realm",
|
|
21
23
|
"map",
|
|
22
|
-
"event_tickets"
|
|
24
|
+
"event_tickets",
|
|
25
|
+
"max_all",
|
|
26
|
+
"storage",
|
|
23
27
|
]
|
|
@@ -12,6 +12,12 @@ class BasicItems:
|
|
|
12
12
|
return core.core_data.local_manager.get_key(key)
|
|
13
13
|
return name.strip()
|
|
14
14
|
|
|
15
|
+
@staticmethod
|
|
16
|
+
def reset_golden_cat_cpus(save_file: core.SaveFile):
|
|
17
|
+
save_file.golden_cpu_count = 0
|
|
18
|
+
|
|
19
|
+
color.ColoredText.localize("reset_golden_cat_cpus_success")
|
|
20
|
+
|
|
15
21
|
@staticmethod
|
|
16
22
|
def edit_catfood(save_file: core.SaveFile):
|
|
17
23
|
should_exit = not dialog_creator.YesNoInput().get_input_once("catfood_warning")
|