Skip to main content

A package to mod Brawl Stars game files for custom brawler creation.

Project description

Brawl Stars Brawler Maker: Unleash Your Creativity

Brawl Stars Brawler Maker is an innovative Python package designed to empower the Brawl Stars community with the ability to create custom brawlers and integrate them into the game. This package provides an extensive toolkit for modders of all skill levels, from beginners to experienced developers, to modify game files and bring their unique brawler concepts to life. Whether you're looking to introduce a new character with special abilities or tweak existing ones, Brawl Stars Brawler Maker offers a user-friendly and comprehensive platform to make your vision a reality.

Key Features:

  • Custom Brawler Creation: Easily define brawler characteristics such as name, description, health points (HP), speed, attack and super abilities, including range, reload time, damage, and much more.
  • Intuitive Modding Process: Modify game files to add your custom brawlers without the hassle of navigating through complex file structures. The toolkit handles the intricacies, allowing you to focus on creativity.
  • APK Export and Signing: Generate and export your modded version of the game as an APK file, ready for installation on Android devices. Optional APK signing is available for a seamless installation experience.
  • Support for Customization: With additional resources like predefined projectile types, rarities, and speed constants, the toolkit caters to both novice and seasoned modders, providing essential elements to customize your brawler to the fullest.

Getting Started:

The Brawl Stars Brawler Maker is straightforward to use. To create your custom brawler, you simply need to instantiate a Brawler object with your desired parameters, such as brawler name, stats, abilities, and appearance. Then, use the generate_files method to modify the necessary game files and export_csv_logic_to_apk to compile and export your modded game.

Here's a quick example to get you started:

from brawl_stars_brawler_maker import brawler_maker

brawler = brawler_maker.Brawler(
    brawlername="FrostByte",
    description="A cybernetic warrior with ice-infused cybernetics, capable of manipulating ice and cold.",
    hp=4800,
    speed=770,
    icon="nita",
    rarity="epic",
    attack_name="Ice Shard Barrage",
    attack_description="Launches a volley of sharp ice shards, piercing through enemies.",
    reloadtime=1600,
    ammonumber=3,
    range=26,
    numberofprojectiles=1,
    spread=0,
    damage=500,
    projectile="MummyProjectile",
    ulti_name="Blizzard Dome",
    ulti_description="Creates a dome of blizzard, slowing and damaging enemies, while boosting her speed.",
    ulti_spread=80,
    ulti_range=20,
    ulti_numberofprojectiles=1,
    ulti_damage=200,
    ulti_projectile="CactusUltiProjectile"
)

brawler.generate_files()
brawler.export_csv_logic_to_apk()

This example showcases how to create a brawler named FrostByte, complete with custom abilities and characteristics, then integrate it into the game.

Documentation and Support:

The Brawl Stars Brawler Maker package includes additional resources such as projectiles.py, rarities.py, and speeds.py to assist less experienced modders with predefined constants. These files are entirely optional but can simplify the process of setting up brawler attributes.

For a detailed understanding of all the features and functionalities offered by Brawl Stars Brawler Maker, including how to use the additional resources and customize your brawler further, please refer to the comprehensive documentation provided within the package.

Whether you're a seasoned modder looking to push the boundaries of Brawl Stars or a newcomer eager to create your first custom brawler, Brawl Stars Brawler Maker is your go-to toolkit. Unleash your creativity and transform the way you play Brawl Stars today!

Brawl Stars Brawler Maker: Code Documentation

The Brawl Stars Brawler Maker library provides a comprehensive suite of tools designed for modding the game Brawl Stars, allowing users to create custom brawlers with unique characteristics and abilities. This documentation covers the core functionalities, including class definitions, methods, and usage examples to guide both novice and advanced modders through the process of creating and exporting custom brawlers.

Core Class: Brawler

The Brawler class is the centerpiece of the Brawl Stars Brawler Maker package, encapsulating all the properties and methods needed to define a custom brawler and modify the game files accordingly.

Constructor: __init__(self, brawlername, description, rarity, attack_name, attack_description, ulti_name, ulti_description, speed, hp, icon, range, reloadtime, ammonumber, damage, spread, numberofprojectiles, projectile, ulti_projectile, ulti_damage, ulti_spread, ulti_numberofprojectiles, ulti_range)

  • Parameters:

    • brawlername: String. The name of the brawler.
    • description: String. A short description of the brawler.
    • rarity: String. The rarity level of the brawler. Must be one of the predefined rarity levels.
    • attack_name: String. The name of the brawler's main attack.
    • attack_description: String. Description of the main attack.
    • ulti_name: String. The name of the brawler's ultimate ability.
    • ulti_description: String. Description of the ultimate ability.
    • speed: Integer. The movement speed of the brawler.
    • hp: Integer. The hit points (health) of the brawler.
    • icon: String. The name of the icon used for the brawler, must be one of the predefined brawler names.
    • range: Integer. The range of the main attack.
    • reloadtime: Integer. The reload time of the main attack.
    • ammonumber: Integer. The ammo number for the main attack.
    • damage: Integer. The damage dealt by the main attack.
    • spread: Integer. The spread of the main attack projectiles.
    • numberofprojectiles: Integer. The number of projectiles fired in the main attack.
    • projectile: String. The projectile type for the main attack.
    • ulti_projectile: String. The projectile type for the ultimate ability.
    • ulti_damage: Integer. The damage dealt by the ultimate ability.
    • ulti_spread: Integer. The spread of the ultimate ability projectiles.
    • ulti_numberofprojectiles: Integer. The number of projectiles for the ultimate ability.
    • ulti_range: Integer. The range of the ultimate ability.
  • Functionality: Initializes a new Brawler instance with specified attributes. Validates the provided attributes against predefined criteria and constraints.

Method: generate_files(self, csv_logic_folder_path, localization_folder_path, directly_modify=False, warning=True, debug=True)

  • Purpose: Modifies the game's CSV files to include the custom brawler's data.
  • Parameters (all optional):
    • csv_logic_folder_path: String. Path to the game's csv_logic folder.
    • localization_folder_path: String. Path to the game's localization folder.
    • directly_modify: Boolean. If True, modifies the CSV files directly. If False, duplicates the folders before modification.
    • warning: Boolean. If True and directly_modify is True, displays a warning message before proceeding when modifying the original files.
    • debug: Boolean. If True, prints debug messages during the operation.
  • Functionality: Adds the custom brawler's data to the game's texts.csv, cards.csv, characters.csv, skins.csv, skin_confs.csv, and skills.csv files, either by directly modifying the original files or by working on duplicates.

Static Method: export_csv_logic_to_apk(csv_logic_folder_path=None, localization_folder_path=None, destination_folder=None, apk_mega_link="...", existing_apk_path=None, sign=False, debug=True)

  • Purpose: Compiles the modified game files into an APK, ready for installation.
  • Parameters (all optional):
    • csv_logic_folder_path: String. Path to the modified csv_logic folder.
    • localization_folder_path: String. Path to the modified localization folder.
    • destination_folder: String. Path where the APK should be saved.
    • apk_mega_link: String. Custom Mega.nz link to the base APK if not using the default.
    • existing_apk_path: String. Path to an existing base APK to be modified.
    • sign: Boolean. Whether to sign the APK. Requires Java to be installed.
    • debug: Boolean. If True, prints debug messages during the operation.
  • Functionality: Downloads the base APK if necessary, integrates the modified game files, and exports the result as an APK file. Optionally signs the APK for installation.

Additional Resources

The package includes three optional resources to aid less experienced modders: projectiles.py, rarities.py, and speeds.py. These modules provide convenient constants for common game elements like projectile types, brawler rarities, and movement speeds, simplifying the process of setting up custom brawler attributes.

  • projectiles.py: Contains predefined projectile type constants.
  • rarities.py: Lists available rarity levels for brawlers.
  • speeds.py: Offers predefined constants for brawler speeds.

Example Usage

from brawl_stars_brawler_maker import brawler_maker

# Define a new custom brawler
brawler = brawler_maker.Brawler(
    brawlername="ExampleBrawler",
    description="This is an example custom brawler.",
    rarity="epic",
    attack_name="Example Attack",
    # Additional parameters omitted for brevity...
)

# Generate game files for the custom brawler
brawler.generate_files()

# Export the modified game as an APK
brawler.export_csv_logic_to_apk()

This documentation provides an overview of the Brawl Stars Brawler Maker package's capabilities. By following the guidelines and examples provided, modders can create and share their unique brawlers within the Brawl Stars community, enhancing the game experience for themselves and others.

Note (English) :

English Version:

Hello there ! If you're interested in this project or any of my other projects, please read this message :

I'm here to invite you to AngelFire's Stuff, my personal Discord server. Here I will share all kinds of projects I'm working on, may it be programming, statistics (I love numbers, graphs, sheets, etc.), and some writing projects (so get ready to read !). If you enjoy devlogs or just following how projects develop, you'll find plenty to explore here. You can choose which topics interest you and pick roles to receive notifications or access channels—nothing is forced upon you !

Our community is bilingual, welcoming both English and French speakers. I do my best to post every important message in both languages, though sometimes there might be a slight delay. Even if my projects don't catch your interest, you're more than welcome to share your own work, get feedback, or just chat with others who share your passions, the goal is to bring together people who share the same passions !

In the server, you'll find many categories like important information, general chatting, and specific categories for code, stats, and writing projects. There are also channels for introducing yourself, sharing your own projects, suggesting new ideas for the server and for me to post personal updates. It's a discord for mature and chill individuals who enjoy similar interests, in the goal of making a united and friendly community.

Looking forward to seeing you there, even if it's just to take a quick look !

https://discord.gg/pzd7dJS72t


Note (Français)

Salut toi ! Si tu es intéressé par ce projet ou n'importe quel autre de mes projets, je te conseille de lire ce message :

Je suis ravi de t'inviter dans AngelFire's Stuff, mon serveur Discord personnel. Ici, je partage tout type de projets sur lesquels je travaille—programmation, statistiques (j'adore les chiffres, les graphiques, les tableaux, etc.), et des projets d'écriture (alors prépare-toi à bien lire !). Si tu aimes les devlogs, ou juste suivre comment les projets évoluent, tu trouveras plein de choses à explorer ici. Tu peux choisir les sujets qui t'intéressent et sélectionner les rôles pour recevoir des notifications ou accéder à certains salons—rien n'est forcé !

Cette communauté est bilingue, accueillant à la fois les anglophones et les francophones. Je fais de mon mieux pour publier les messages importants dans les deux langues, même si parfois il peut y avoir un peu de délai ou des mots laissés en anglais lorsqu'ils sont transparents. Et même si mes projets ne t'intéressent pas, tu es plus que bienvenu de partager tes propres projets, obtenir des retours ou simplement discuter avec d'autres passionnés comme toi. Le but est de rassembler des personnes ayant des intérêts similaires !

Sur le serveur, tu trouveras des catégories pour des informations importantes, des discussions générales, et des catégories spécifiques pour les projets de programmation, de stats, et d'écriture. Il y a aussi des salons pour te présenter, partager tes propres projets, suggérer de nouvelles idées pour le serveur et suivre des actualités sur ma vie. C'est un discord pour des personnes chills et matures qui ont des intérêts similaires, dans le but de faire une communauté unie et conviviale.

Au plaisir de te voir bientôt !

https://discord.gg/pzd7dJS72t

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

brawl_stars_brawler_maker-1.0.6.tar.gz (1.9 MB view details)

Uploaded Source

Built Distribution

File details

Details for the file brawl_stars_brawler_maker-1.0.6.tar.gz.

File metadata

File hashes

Hashes for brawl_stars_brawler_maker-1.0.6.tar.gz
Algorithm Hash digest
SHA256 8bcf72c69a88b012641af71e2b00a6b0cf26d17018c5eac2697dde29096264c7
MD5 7c695e8fb79bfc8db77b979f02e3a497
BLAKE2b-256 d013444804b2747d9fdd5049897a9171a2fdc001e380abbd7795d7802119f941

See more details on using hashes here.

File details

Details for the file brawl_stars_brawler_maker-1.0.6-py3-none-any.whl.

File metadata

File hashes

Hashes for brawl_stars_brawler_maker-1.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 ade9225849d6c67a9c19420c3d222316e9723df0d31ab104f79a280c735d2079
MD5 e718aa471dba21504d5a46376ca20d0d
BLAKE2b-256 08a8bed596f1e4b6826421f251153ceb755e18cb40b0f8dbb6315bee2a1ff8d5

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page