# Battle Cats Game Modding Tool
A python game modding tool for the mobile game The Battle Cats that can decrypt,
encrypt, and modify some game files.
Note: I am no longer actively working on this tool so there may be bugs.
If you know how to program and want to do more powerful things with the game
then you should use [TBCML](https://github.com/fieryhenry/tbcml) instead.
Join the [discord server](https://discord.gg/DvmMgvn5ZB) if you want to suggest
new features, report bugs or get help on how to use the modder. (Discord is the
same one as for save editing as I haven't made a modding specific one yet)
PyPi: <https://pypi.org/project/battle-cats-game-modder/>
If you want to support me then consider gifting me some ko-fi here:
<https://ko-fi.com/fieryhenry>
## Thanks to
- EasyMoneko for the original keys for decrypting/encrypting:
<https://www.reddit.com/r/battlecats/comments/41e4l1/is_there_anyone_able_to_access_bc_files_your_help/>
- Battle Cats Ultimate for what some of the numbers mean in various csvs.
<https://github.com/battlecatsultimate>
- This resource for unit csvs: <https://pastebin.com/JrCTPnUV>
- Vi on discord for enemy csvs
## How to use
1. Install python (If you haven't already) <https://www.python.org/downloads/>
1. Enter the command: `py -m pip install -U battle-cats-game-modder` into cmd or
another terminal to install the editor. If that doesn't work then use
`python` instead of `py` in the command
1. Download the apk you want to edit from somewhere like
[uptodown](https://the-battle-cats.en.uptodown.com/android/download) or
[apkmirror](https://www.apkmirror.com/apk/ponos/the-battle-cats)
1. Unpack the apk file for the game using
[Apktool](https://ibotpeaches.github.io/Apktool/) or
[APKToolGui](https://github.com/AndnixSH/APKToolGUI).
1. You can then find the .pack and .list files in the assets folder of the
extracted APK.
1. Get the .pack and .list files that contain the files you want to edit:
- Most stats are in DataLocal
- Most text is in resLocal
- Sprites are in various Server files
1. Then enter the command: `py -m BCGM_Python` to run the tool. If that doesn't
work then use `python` instead of `py` in the command
1. Select option to decrypt .pack files
1. Select .pack files that you want, they will be in the `assets` folder in the
apk for local files, or `/data/data/jp.co.ponos.battlecatsen/files` on your
device (if rooted) for downloaded server files
1. Also decrypt the DownloadLocal pack as you will need it for later
1. Once completed the files will be in a `game_files` folder in the folder you
ran the command from
1. You can manually edit the data, or use the option in the tool that you want
1. Once edited, you should place any modified files in the DownloadLocal pack
folder instead of the original pack folder. This is because the game does not
check if DownloadLocal has been modified, but it does check if the original
pack has been modified. The game also prioritises DownloadLocal over the
original pack, so if you have a file in both, the game will use the one in
DownloadLocal.
1. Open the tool again and select the `encrypt` option
1. Select the DownloadLocal folder
1. Once complete the encrypted .pack and .list files will be in
an`encrypted_files` folder in the folder you ran the command from
1. If you are asked if you want to patch the libnative file, say no as this
feature is broken and you do not need to do it if you placed your
files in DownloadLocal
1. Then you need to place the encrypted .pack and .list files back into the
assets folder of the apk
1. You then need to pack the apk using apktool or apktoolgui
1. You then need to sign the apk using apktool or apktoolgui
1. You then need to install the apk, you may have to uninstall the game first
before installing the modified apk for the first time
1. Open the game and see if it works
## Install from source
1. Install python <https://www.python.org/downloads/>
1. Install git <https://git-scm.com/downloads>
1. Enter the command: `git clone https://github.com/fieryhenry/BCGM-Python.git`
1. Enter the command: `cd BCGM-Python`
1. Enter the command: `py -m pip install -e .` to install the tool. If that
doesn't work then use `python` instead of `py` in the command
1. Enter the command: `py -m BCGM_Python` to run the tool. If that doesn't work
then use `python` instead of `py` in the command
1. If you want to update the tool then enter the command: `git pull` in the
`BCGM-Python` folder
Raw data
{
"_id": null,
"home_page": "https://github.com/fieryhenry/BCGM-Python",
"name": "battle-cats-game-modder",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": null,
"author": "fieryhenry",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/9a/fa/4687b3fb746611bad9c0617ceba894cc2e158ee1a511fb26516320061306/battle-cats-game-modder-1.0.6.tar.gz",
"platform": null,
"description": "# Battle Cats Game Modding Tool\n\nA python game modding tool for the mobile game The Battle Cats that can decrypt,\nencrypt, and modify some game files.\n\nNote: I am no longer actively working on this tool so there may be bugs.\n\nIf you know how to program and want to do more powerful things with the game\nthen you should use [TBCML](https://github.com/fieryhenry/tbcml) instead.\n\nJoin the [discord server](https://discord.gg/DvmMgvn5ZB) if you want to suggest\nnew features, report bugs or get help on how to use the modder. (Discord is the\nsame one as for save editing as I haven't made a modding specific one yet)\n\nPyPi: <https://pypi.org/project/battle-cats-game-modder/>\n\nIf you want to support me then consider gifting me some ko-fi here:\n<https://ko-fi.com/fieryhenry>\n\n## Thanks to\n\n- EasyMoneko for the original keys for decrypting/encrypting:\n <https://www.reddit.com/r/battlecats/comments/41e4l1/is_there_anyone_able_to_access_bc_files_your_help/>\n\n- Battle Cats Ultimate for what some of the numbers mean in various csvs.\n <https://github.com/battlecatsultimate>\n\n- This resource for unit csvs: <https://pastebin.com/JrCTPnUV>\n\n- Vi on discord for enemy csvs\n\n## How to use\n\n1. Install python (If you haven't already) <https://www.python.org/downloads/>\n\n1. Enter the command: `py -m pip install -U battle-cats-game-modder` into cmd or\n another terminal to install the editor. If that doesn't work then use\n `python` instead of `py` in the command\n\n1. Download the apk you want to edit from somewhere like\n [uptodown](https://the-battle-cats.en.uptodown.com/android/download) or\n [apkmirror](https://www.apkmirror.com/apk/ponos/the-battle-cats)\n\n1. Unpack the apk file for the game using\n [Apktool](https://ibotpeaches.github.io/Apktool/) or\n [APKToolGui](https://github.com/AndnixSH/APKToolGUI).\n\n1. You can then find the .pack and .list files in the assets folder of the\n extracted APK.\n\n1. Get the .pack and .list files that contain the files you want to edit:\n\n - Most stats are in DataLocal\n\n - Most text is in resLocal\n\n - Sprites are in various Server files\n\n1. Then enter the command: `py -m BCGM_Python` to run the tool. If that doesn't\n work then use `python` instead of `py` in the command\n\n1. Select option to decrypt .pack files\n\n1. Select .pack files that you want, they will be in the `assets` folder in the\n apk for local files, or `/data/data/jp.co.ponos.battlecatsen/files` on your\n device (if rooted) for downloaded server files\n\n1. Also decrypt the DownloadLocal pack as you will need it for later\n\n1. Once completed the files will be in a `game_files` folder in the folder you\n ran the command from\n\n1. You can manually edit the data, or use the option in the tool that you want\n\n1. Once edited, you should place any modified files in the DownloadLocal pack\n folder instead of the original pack folder. This is because the game does not\n check if DownloadLocal has been modified, but it does check if the original\n pack has been modified. The game also prioritises DownloadLocal over the\n original pack, so if you have a file in both, the game will use the one in\n DownloadLocal.\n\n1. Open the tool again and select the `encrypt` option\n\n1. Select the DownloadLocal folder\n\n1. Once complete the encrypted .pack and .list files will be in\n an`encrypted_files` folder in the folder you ran the command from\n\n1. If you are asked if you want to patch the libnative file, say no as this\n feature is broken and you do not need to do it if you placed your\n files in DownloadLocal\n\n1. Then you need to place the encrypted .pack and .list files back into the\n assets folder of the apk\n\n1. You then need to pack the apk using apktool or apktoolgui\n\n1. You then need to sign the apk using apktool or apktoolgui\n\n1. You then need to install the apk, you may have to uninstall the game first\n before installing the modified apk for the first time\n\n1. Open the game and see if it works\n\n## Install from source\n\n1. Install python <https://www.python.org/downloads/>\n\n1. Install git <https://git-scm.com/downloads>\n\n1. Enter the command: `git clone https://github.com/fieryhenry/BCGM-Python.git`\n\n1. Enter the command: `cd BCGM-Python`\n\n1. Enter the command: `py -m pip install -e .` to install the tool. If that\n doesn't work then use `python` instead of `py` in the command\n\n1. Enter the command: `py -m BCGM_Python` to run the tool. If that doesn't work\n then use `python` instead of `py` in the command\n\n1. If you want to update the tool then enter the command: `git pull` in the\n `BCGM-Python` folder\n",
"bugtrack_url": null,
"license": null,
"summary": "A battle cats tool for modifying, encrypting, and decrypting game files",
"version": "1.0.6",
"project_urls": {
"Homepage": "https://github.com/fieryhenry/BCGM-Python"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "58591b52fe89b32a380d9fe51836d234f5e2a7c66e97b6f0e90b66a624b6f2a3",
"md5": "774068294b5d48da32bf6677bb646f81",
"sha256": "186a8d3713952c3be9d31329ce734d39f776b4cefc86016b45d907cb002dcffe"
},
"downloads": -1,
"filename": "battle_cats_game_modder-1.0.6-py3-none-any.whl",
"has_sig": false,
"md5_digest": "774068294b5d48da32bf6677bb646f81",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 17403,
"upload_time": "2024-03-20T18:51:54",
"upload_time_iso_8601": "2024-03-20T18:51:54.313024Z",
"url": "https://files.pythonhosted.org/packages/58/59/1b52fe89b32a380d9fe51836d234f5e2a7c66e97b6f0e90b66a624b6f2a3/battle_cats_game_modder-1.0.6-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9afa4687b3fb746611bad9c0617ceba894cc2e158ee1a511fb26516320061306",
"md5": "3c0fbbea0b7acb58715e9ccb53a7660a",
"sha256": "e8bd737a9e668940a10348a3350f97c5805c2a032c126cd4e360288d205d1501"
},
"downloads": -1,
"filename": "battle-cats-game-modder-1.0.6.tar.gz",
"has_sig": false,
"md5_digest": "3c0fbbea0b7acb58715e9ccb53a7660a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 15654,
"upload_time": "2024-03-20T18:51:55",
"upload_time_iso_8601": "2024-03-20T18:51:55.870978Z",
"url": "https://files.pythonhosted.org/packages/9a/fa/4687b3fb746611bad9c0617ceba894cc2e158ee1a511fb26516320061306/battle-cats-game-modder-1.0.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-03-20 18:51:55",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "fieryhenry",
"github_project": "BCGM-Python",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "battle-cats-game-modder"
}