API Reference¶
Below is a description of the Client class that you’ll be interfacing with, as well as the data model used by the module including Enums and Dataclasses.
Client¶
This is the class you’ll be interfacing with to get data about the games. Most methods are static, however you can create an instance with a Ninja Kiwi Open Access Key to gain access to more functions.
- class bloonspy.Client(open_access_key: str)¶
Client for all API calls.
- Parameters:
open_access_key (str) – Your OAK for the Ninja Kiwi Open Data API.
- static challenges(challenge_filter: ChallengeFilter, pages: int = 1, start_from_page: int = 1) List[Challenge] ¶
Get a list of challenges given a specific filter.
Note
The returned
Challenge
objects will only have the propertiesid
,name
,created_at
, andcreator_id
loaded.- Parameters:
challenge_filter (ChallengeFilter) – Which type of challenges you’d like to see.
pages (int) – The number of pages to fetch.
start_from_page (int) – The page to start fetching from.
- Returns:
A list of challenges (lazy loaded).
- Return type:
- static contested_territories() List[ContestedTerritoryEvent] ¶
Get a list of Contested Territory events.
- static custom_maps(custom_map_fliter: CustomMapFilter, pages: int = 1, start_from_page: int = 1) List[CustomMap] ¶
Get a list of challenges given a specific filter.
- Parameters:
custom_map_fliter (CustomMapFilter) – Which type of custom maps you’d like to see.
pages (int) – The number of pages to fetch.
start_from_page (int) – The page to start fetching from.
- Returns:
A list of custom maps (lazy loaded).
- Return type:
- static get_boss(boss_id: str, eager: bool = False) BossEvent ¶
Fetch a specific Boss event by its ID.
- Parameters:
boss_id (str) – The boss ID.
eager (bool) – If True, it loads all of the data right away. Set it to False if you want to limit API calls and don’t need all the data. For more information, please read Lazy and Eager Loading.
- Returns:
The found Boss event.
- Return type:
- Raises:
NotFound – If no boss event with that ID is found.
- static get_contested_territory(ct_id: str, eager: bool = False) ContestedTerritoryEvent ¶
Fetch a specific Contested Territory event by its ID.
Note
If lazy loaded, the returned
ContestedTerritoryEvent
object will only have the propertyid
loaded.- Parameters:
ct_id (str) – The ID of the event.
eager (bool) –
If True, it loads all of the data right away. Set it to False if you want to limit API calls and don’t need all the data. For more information, please read Lazy and Eager Loading.
- Returns:
The found Contested Territory event.
- Return type:
- Raises:
NotFound – If no CT with that ID is found.
- static get_odyssey(odyssey_id: str, eager: bool = False) OdysseyEvent ¶
Fetch a specific Odyssey by its ID.
Note
If lazy loaded, the returned
OdysseyEvent
object will only have the propertyid
loaded.- Parameters:
odyssey_id (str) – The ID of the odyssey.
eager (bool) –
If True, it loads all of the data right away. Set it to False if you want to limit API calls and don’t need all the data. For more information, please read Lazy and Eager Loading.
- Returns:
The found odyssey.
- Return type:
- Raises:
NotFound – If no odyssey with that ID is found.
- static get_race(race_id: str, eager: bool = False) Race ¶
Fetch a specific Race by its ID.
- Parameters:
race_id (str) – The ID of the race.
eager (bool) –
If True, it loads all of the data right away. Set it to False if you want to limit API calls and don’t need all the data. For more information, please read Lazy and Eager Loading.
- Returns:
The found race.
- Return type:
- Raises:
NotFound – If no race with that ID is found.
- static odysseys() List[OdysseyEvent] ¶
Get a list of Odyssey events.
Model¶
Loadable¶
- class bloonspy.model.Loadable¶
Represents a resource that can be loaded.
- x == y
Checks if the Event is equal to another Event.
- property id: str¶
The unique ID of the resource.
- load_resource(only_if_unloaded: bool = True) None ¶
Load the resource.
- Parameters:
only_if_unloaded (
bool
) – Only make an API call if the resource is unloaded. If False, it essentially “reloads” the resource.- Raises:
bloonspy.exceptions.NotFound – If the resource is not found.
- property loaded: bool¶
True if the resource is loaded.
Challenge¶
- class bloonspy.model.btd6.Challenge¶
Bases:
Loadable
A BTD6 Challenge. It extends
Loadable
.- property challenge_map: Asset¶
Name and URL of the map the challenge takes place in.
- property created_at: datetime¶
The time the challenge was created at.
- creator() User ¶
Fetch the creator of the challenge.
Warning
This function needs the property
creator_id
to be loaded, or it will make another API call to fetch that first.- Returns:
The creator of the challenge of None if there isn’t one.
- Return type:
User or None
- property creator_id: str¶
The ID of the challenge’s creator. None if there isn’t one (e.g. Odyssey challenges).
- property disable_continues: bool¶
True if Continues are disabled.
- property disable_double_cash: bool¶
True if Double Cash is disabled.
- property disable_instas: bool¶
True if Insta Monkeys is disabled.
- property disable_monkey_knowledge: bool¶
True if Monkey Knowledge is disabled.
- property disable_powers: bool¶
True if Powers are disabled.
- property disable_selling: bool¶
True if Selling is disabled.
- property end_round: int¶
The round the challenge ends at.
- property game_version: GameVersion¶
The latest game version the challenge was last beaten in.
- property id: str¶
The unique ID of the challenge.
- property least_cash_used: int | Infinity¶
Least Cash restriction on the challenge. If there’s none, it’s
Infinity
.
- property least_tiers_used: int | Infinity¶
Least Tiers restriction on the challenge. If there’s none, it’s
Infinity
.
- property losses: int¶
How many times the challenge has been lost.
- property losses_unique: int¶
Amount of unique people that have lost the challenge.
- property max_lives: int¶
The maximum amount of lives you can have.
- property max_paragons: int¶
The maximum amount of paragons you can have at any given time.
- property max_towers: int¶
The maximum amount of towers you can have at any given time.
- property modifiers: Dict[ChallengeModifier, float]¶
Challenge modifiers, such as bloon speeds and health.
- property name: str¶
The name of the challenge.
- property plays: int¶
How many times the challenge has been played.
- property plays_unique: int¶
Amount of unique people that have played the challenge.
- property powers: Dict[Power, int | Infinity]¶
The powers allowed for the challenge, and how many you can use of each.
- property restarts: int¶
New in 0.3.0
The number of times users have restarted the challenge.
- property round_sets: List[str]¶
Names of the round sets of the challenge.
- property seed: int¶
The RNG seed for the challenge.
- property start_round: int¶
The round the challenge starts at.
- property starting_cash: int¶
The amount of cash you start with.
- property starting_lives: int¶
The amount of lives you start with.
- property towers: Dict[Tower, Restriction]¶
Tower and Hero restrictions on the challenge.
- property upvotes: int¶
Amount of upvotes the challenge has.
- property wins: int¶
How many times the challenge has been won.
- property wins_unique: int¶
Amount of unique people that have won the challenge.
User¶
- class bloonspy.model.btd6.User¶
Bases:
Loadable
A BTD6 player. Inherits from
Loadable
.- property achievements: int¶
Number of achievements this user unlocked.
- property avatar: Asset¶
The user’s current avatar.
- property banner: Asset¶
The user’s current banner.
- property boss_elite_medals: EventMedals¶
Ranked elite boss medals.
- property boss_normal_medals: EventMedals¶
Ranked normal boss mdeals.
- property ct_global_medals: CtGlobalMedals¶
Contested Territory global medals.
- property ct_local_medals: CtLocalMedals¶
Contested Territory local medals.
- property followers: int¶
Number of followers this user has.
- get_progress() UserSave ¶
New in 0.5.0
Get an user’s save state.
Warning
The field
id
must be an OAK. Currently, the only way to guarantee this is if the object has been generated throughbloonspy.Client.get_user()
with an OAK passed as identifier.
- has_oak() bool ¶
New in 0.5.0
Checks whether the user is identified through an OAK instead of an ID. If True, it means it will have access to many methods such as
get_progress()
.- Returns:
Whether the User is identified through its OAK.
- Return type:
bool
- property name: str¶
The name of the user.
- property race_medals: EventMedals¶
Race event medals.
- property rank: int¶
The user’s rank.
- property stats: GameplayStats¶
Gameplay stats.
- property veteran_rank: int¶
The user’s veteran rank, or 0 if they haven’t reached it yet.
Team¶
- class bloonspy.model.btd6.Team¶
Bases:
Loadable
A BTD6 Team.
- property banner: Asset¶
The team’s equipped banner.
- property frame: Asset¶
The team’s equipped frame.
- property full_name: str¶
The complete name of the team. It may not be exactly what you see in game, in some cases it has the team code appended at the end, among other things.
- property icon: Asset¶
The team’s equipped icon.
- property is_disbanded: bool¶
New in 0.6.1.
Shortcut for status == TeamStatus.DISBANDED. If you’re fetching a team through the leaderboard, it has the advantage of not causing an extra API call to fetch the status property.
- property member_count: int¶
The team’s member count.
- property name: str¶
The name of the team, as seen in-game.
- owner() User ¶
Fetch the owner of the team.
Warning
This function needs the property
owner_id
to be loaded, or it will make another API call to fetch that first.- Returns:
The owner of the team.
- Return type:
User or None
- property owner_id: str¶
The ID of the user who currently owns the team.
- property status: TeamStatus¶
The team’s entry status (public, closed, …).
Event¶
- class bloonspy.model.Event¶
A game event.
- x == y
Checks if the Event is equal to another Event.
- property end: datetime¶
When the event ends.
- property id: str¶
The unique ID of the event.
- load_event(only_if_unloaded: bool = True) None ¶
Load the event.
- Parameters:
only_if_unloaded (
bool
) – Only make an API call if the event is unloaded. If False, it essentially “reloads” the event.- Raises:
bloonspy.exceptions.NotFound – If the resource is not found.
- property name: str¶
The name of the event.
- property start: datetime¶
When the event starts.
Race¶
- class bloonspy.model.btd6.Race¶
Bases:
Challenge
A race event. Inherits from
Challenge
.- property end: datetime¶
When the event ends.
- leaderboard(pages: int = 1, start_from_page: int = 1) List[RacePlayer] ¶
Get a page of the leaderboard for this event.
Note
The returned
RacePlayer
objects will only have the propertiesid
,name
,score
, andsubmission_time
loaded.- Parameters:
pages (int) – Number of pages to fetch.
start_from_page (int) – The first page to fetch.
- Returns:
A list of players in the leaderboard.
- Return type:
List[
RacePlayer
]- Raises:
NotFound – If the race doesn’t exist or is expired.
- property name: str¶
The name of the race.
- property start: datetime¶
When the event starts.
- property total_scores: int¶
Number of users who played and submitted a score.
RacePlayer¶
BossEvent¶
- class bloonspy.model.btd6.BossEvent¶
Bases:
Event
A boss event. Inherits from
Event
.- property boss_banner: str¶
The URL to the banner used to advertise the event.
- elite(eager: bool = False) Boss ¶
Get the elite boss challenge.
Note
If lazy loaded, the returned
Boss
object will only have the propertiesid
,name
,boss_bloon
,is_elite
, andtotal_scores
loaded.- Parameters:
eager (bool) –
If True, it loads all of the data right away. Set it to False if you want to limit API calls and don’t need all the data. For more information, please read Lazy and Eager Loading.
- Returns:
The elite boss event.
- Return type:
- standard(eager: bool = False) Boss ¶
Get the standard boss challenge.
Note
If lazy loaded, the returned
Boss
object will only have the propertiesid
,name
,boss_bloon
,is_elite
, andtotal_scores
loaded.- Parameters:
eager (bool) –
If True, it loads all of the data right away. Set it to False if you want to limit API calls and don’t need all the data. For more information, please read Lazy and Eager Loading.
- Returns:
The standard boss event.
- Return type:
- property total_scores_elite: int¶
Total scores submitted in the elite boss.
- property total_scores_standard: int¶
Total scores submitted in the standard boss.
Boss¶
- class bloonspy.model.btd6.Boss¶
Bases:
Challenge
A Boss challenge. Inherits from
Challenge
.- property is_elite: bool¶
True if the boss is Elite.
- leaderboard(pages: int = 1, start_from_page: int = 1, team_size: int = 1) List[BossPlayer] | List[BossPlayerTeam] ¶
Get a page of the leaderboard for this boss.
Note
The returned
BossPlayer
objects will only have the propertiesid
,name
,score
, andsubmission_time
loaded.- Parameters:
pages (int) – Number of pages to fetch.
start_from_page (int) – The first page to fetch.
team_size (int) – The team size to get the leaderboard for.
- Returns:
A list of players in the leaderboard.
- Return type:
Union[List[
BossPlayer
], List[BossPlayerTeam
]]- Raises:
NotFound – If the boss doesn’t exist or is expired.
BadTeamSize – If team_size is less than 1 or more than 4.
- property total_scores: int¶
The total scores submitted.
BossPlayer¶
BossPlayerTeam¶
- class bloonspy.model.btd6.BossPlayerTeam¶
A team of players who played a Ranked Co-op Boss Event.
- property is_fully_loaded: bool¶
Whether the team is fully loaded.
Due to API restrictions, when calling
leaderboard()
to get coop leaderboards, the team at the end of the List could not have all of its members loaded.
- property players: Tuple[BossPlayer]¶
The users in the team.
- property submission_time: datetime¶
The time the team’s score was submitted at.
OdysseyEvent¶
- class bloonspy.model.btd6.OdysseyEvent¶
Bases:
Event
An Odyssey event. Inherits from
Event
.- property description: str¶
New in 0.3.0
The Odyssey’s description.
- easy(eager: bool = False) Odyssey ¶
Get the easy mode version of the Odyssey.
Note
If lazily loaded, the returned
Odyssey
object will only have the propertiesid
,name
, anddifficulty
loaded.- Parameters:
eager (bool) –
If True, it loads all of the data right away. Set it to False if you want to limit API calls and don’t need all the data. For more information, please read Lazy and Eager Loading.
- Returns:
The easy mode of the odyssey.
- Return type:
- hard(eager: bool = False) Odyssey ¶
Get the hard mode version of the Odyssey.
Note
If lazily loaded, the returned
Odyssey
object will only have the propertiesid
,name
, anddifficulty
loaded.- Parameters:
eager (bool) –
If True, it loads all of the data right away. Set it to False if you want to limit API calls and don’t need all the data. For more information, please read Lazy and Eager Loading.
- Returns:
The hard mode of the odyssey.
- Return type:
- medium(eager: bool = False) Odyssey ¶
Get the medium mode version of the Odyssey.
Note
If lazily loaded, the returned
Odyssey
object will only have the propertiesid
,name
, anddifficulty
loaded.- Parameters:
eager (bool) –
If True, it loads all of the data right away. Set it to False if you want to limit API calls and don’t need all the data. For more information, please read Lazy and Eager Loading.
- Returns:
The medium mode of the odyssey.
- Return type:
Odyssey¶
- class bloonspy.model.btd6.Odyssey¶
Bases:
Loadable
Represents a single Odyssey. Inherits from
Loadable
.- property available_towers: Dict[Tower, Restriction]¶
Available towers to choose from for the odyssey.
- property description: str¶
New in 0.3.0
The Odyssey’s description
- property difficulty: OdysseyDifficulty¶
The Odysseys’s difficulty
- property is_extreme: bool¶
True if the odyssey is extreme.
- property max_boat_seats: int¶
Max number of monkeys you can take.
- property max_monkey_seats: int¶
Max number of monkey types you can take.
- property max_power_slots: int¶
Max number of powers you can take.
- property name: str¶
The Odyssey’s name
- property rewards: List[Power | InstaMonkey | Reward]¶
Rewards for completing the odyssey.
- property starting_lives: int¶
Odyssey’s starting lives
ContestedTerritoryEvent¶
- class bloonspy.model.btd6.ContestedTerritoryEvent¶
Bases:
Event
A Contested Territory event. Inherits from
Event
.- property event_number: int¶
Number of the event.
- leaderboard_player(pages: int = 1, start_from_page: int = 1) list[bloonspy.model.btd6.ContestedTerritory.CtPlayer] ¶
Get a page of the player leaderboard.
- leaderboard_team(pages: int = 1, start_from_page: int = 1) list[bloonspy.model.btd6.ContestedTerritory.CtTeam] ¶
Get a page of the team leaderboard.
- property name: str¶
The name of the event.
- property total_scores_player: int¶
Number of players who participated in the event.
- property total_scores_team: int¶
Number of teams who participated in the event.
CtPlayer¶
CtTeam¶
CustomMap¶
- class bloonspy.model.btd6.CustomMap¶
Bases:
Loadable
New in 0.7.0
A custom map created by an user.
- property created_at: datetime¶
The time the map was created at.
- property game_version: GameVersion¶
The game version this map was created in.
- property id: str¶
The unique ID of the custom map.
- property losses: int¶
How many times people have lost on this map.
- property losses_unique: int¶
How many unique people have lost at this map.
- property name: str¶
The name of the custom map.
- property plays: int¶
The amount of times this map has been played.
- property plays_unique: int¶
How many unique users have played the map.
- property restarts: int¶
How many times this map has been restarted.
- property thumbnail: str¶
URL to an image of the custom map.
- property upvotes: int¶
How many upvotes this map has.
- property wins: int¶
How many times this time has been beaten.
- property wins_unique: int¶
How many unique players have won at this map.
Data Classes¶
UserSave¶
- class bloonspy.model.btd6.UserSave¶
New in 0.5.0
A dataclass detailing an user’s save state.
- achievements_claimed: list[bloonspy.model.btd6.Progress.Achievement]¶
Achievements claimed.
- big_bloons_active: bool¶
Whether Big Bloons is active.
- big_towers_active: bool¶
Whether Big Towers is active.
- challenges_played: int¶
Total challenges played.
Total challenges shared.
- collection_event_crates_opened: int¶
Number of ollect event crates opened.
- consecutive_daily_challenges_completed: int¶
Current number of consecutive days a Daily Challenge has been completed.
- continues_used: int¶
Continues used.
- daily_reward_count: int¶
Daily rewards claimed.
- static fetch(oak: str) UserSave ¶
Get an UserSave object through an OAK.
- Parameters:
oak (str) – The OAK used to get the save of.
- Returns:
The UserSave belonging to the User who owns the OAK.
- Return type:
- Raises:
bloonspy.exceptions.NotFound – If the player is not found.
- games_played: int¶
Total games played.
- highest_round: int¶
Highest seen round.
- insta_monkeys: dict[bloonspy.model.btd6.Tower.Tower, dict[bloonspy.model.btd6.Rewards.InstaMonkey, int]]¶
Insta monkeys collected.
- knowledge_points: int¶
Current Monkey Knowledge points.
- latest_game_version: GameVersion¶
The latest version of the game that this player has played.
- map_progress: dict[bloonspy.model.btd6.Map.Map, bloonspy.model.btd6.Map.MapProgress]¶
The player’s map completions.
- monkey_money: int¶
Current Monkey Money.
- named_monkeys: dict[bloonspy.model.btd6.Tower.Tower, str]¶
Named monkey names.
- powers: dict[bloonspy.model.btd6.Power.Power, bloonspy.model.btd6.Power.PowerAmount]¶
New in 0.5.1. Amount of powers obtained.
- rank: int¶
Current Rank.
- small_bloons_active: bool¶
Whether Small Bloons is active.
- small_towers_active: bool¶
Whether Small Towers is active.
- total_completed_odysseys: int¶
Total Odysseys completed.
- total_daily_challenges_completed: int¶
Total Daily Challenges completed.
- total_races_entered: int¶
Total eaces entered.
- total_team_trophies_earned: int¶
Lifetime team trophies earned through events.
- total_trophies_earned: int¶
Lifetime trophies earned through events.
- tower_xp: dict[bloonspy.model.btd6.Tower.Tower, int]¶
XP accumulated for each tower.
- trophies: int¶
Current trophies.
- trophy_store_items: TrophyStoreItemStatus¶
Trophy Store items purchased.
- unlocked_big_bloons: bool¶
Whether Big Bloons has been unlocked.
- unlocked_big_towers: bool¶
Whether Big Towers has been unlocked.
- unlocked_hero_skins: dict[bloonspy.model.btd6.Tower.HeroSkin, bool]¶
Hero skins unlocked.
- unlocked_heros: dict[bloonspy.model.btd6.Tower.Tower, bool]¶
Heroes unlocked.
- unlocked_knowledge: dict[bloonspy.model.btd6.Progress.MonkeyKnowledge, bool]¶
Monkey Knowledge unlocked.
- unlocked_small_bloons: bool¶
Whether Small Bloons has been unlocked.
- unlocked_small_towers: bool¶
Whether Small Towers has been unlocked.
- unlocked_towers: dict[bloonspy.model.btd6.Tower.Tower, bool]¶
Towers unlocked.
- unlocked_upgrades: dict[bloonspy.model.btd6.Progress.Upgrade, bool]¶
Upgrades unlocked.
- veteran_rank: int¶
Current Veteran Rank.
- veteran_xp: int¶
Current Veteran XP.
- xp: int¶
Current XP.
GameVersion¶
Asset¶
InstaMonkey¶
- class bloonspy.model.btd6.InstaMonkey¶
An Insta Monkey. Can be created manually by passing a
Tower
and 3 paths as parameters.from bloonspy import btd6, exceptions glaive_dominus = btd6.InstaMonkey(btd6.Tower.BOOMERANG_MONKEY, 5, 0, 0) try: invalid_insta = btd6.InstaMonkey(btd6.Tower.BOOMERANG_MONKEY, 3, 3, 3) except exceptions.InvalidTowerPath: print("3-3-3 is not a valid path!")
- bottom_path: int¶
Bottom path upgrades.
- middle_path: int¶
Middle path upgrades.
- property tier: int¶
The tier of the Insta Monkey.
- top_path: int¶
Top path upgrades.
Reward¶
ChallengeModifier¶
- class bloonspy.model.btd6.ChallengeModifier¶
All the modifiers of a challenge.
- ability_cooldown_reduction: float = 1.0¶
Multiplier for ability cooldowns.
- all_camo: bool = False¶
If True, all bloons will be camo.
- all_regrow: bool = False¶
If True, all bloons will be regrow.
- bloon_speed: float = 1.0¶
Bloon speed multiplier.
- boss_health: float = 1.0¶
Boss bloon health multiplier
- boss_speed: float = 1.0¶
Boss bloon speed multiplier.
- ceramic_health: float = 1.0¶
Ceramic layer health multiplier.
- moab_health: float = 1.0¶
MOAB class bloon health multiplier.
- moab_speed: float = 1.0¶
MOAB speed multiplier.
- regrow_rate: float = 1.0¶
Regrow rate multiplier
- removable_cost: float = 1.0¶
Multiplier for the cost of track removables.
Gamemode¶
- class bloonspy.model.btd6.Gamemode¶
Difficulty and mode for a game. Can be created manually by passing a
Difficulty
andMode
enum as parameters.from bloonspy import btd6 chimps = btd6.Gamemode(btd6.Difficulty.HARD, btd6.Mode.CHIMPS) military_only = btd6.Gamemode(btd6.Difficulty.MEDIUM, btd6.Mode.MILITARY_ONLY) some_custom_mode = btd6.Gamemode(btd6.Difficulty.EASY, btd6.Mode.DOUBLE_HP_MOABS)
- difficulty: Difficulty¶
The game’s difficulty.
- static easy_modes() list['Gamemode'] ¶
Shortcut for getting all Easy mode gamemodes.
- Returns:
A list of gamemodes.
- Return type:
list[Gamemode]
- static hard_modes() list['Gamemode'] ¶
Shortcut for getting all Hard mode gamemodes.
- Returns:
A list of gamemodes.
- Return type:
list[Gamemode]
EventMedals¶
- class bloonspy.model.btd6.EventMedals¶
Medal set for events.
- first: int = 0¶
Number of first place finishes.
- second: int = 0¶
Number of second place finishes.
- third: int = 0¶
Number of third place finishes.
- top_10_percent: int = 0¶
Number of Top 10% finishes.
- top_1_percent: int = 0¶
Number of Top 1% finishes.
- top_25_percent: int = 0¶
Number of Top 25% finishes.
- top_50: int = 0¶
Number of Top 50 finishes.
- top_50_percent: int = 0¶
Number of Top 50% finishes.
- top_75_percent: int = 0¶
Number of Top 75% finishes.
CtLocalMedals¶
- class bloonspy.model.btd6.CtLocalMedals¶
Medal set for Contested Territory (local leaderboard).
- first: int = 0¶
Number of first place finishes.
- second: int = 0¶
Number of second place finishes.
- third: int = 0¶
Number of third place finishes.
- top_10: int = 0¶
Number of Top 10 finishes.
- top_20: int = 0¶
Number of Top 20 finishes.
- top_40: int = 0¶
Number of Top 40 finishes.
- top_60: int = 0¶
Number of Top 60 finishes.
CtGlobalMedals¶
- class bloonspy.model.btd6.CtGlobalMedals¶
Medal set for Contested Territory (global leaderboard).
- top_100: int = 0¶
Number of Top 100 finishes.
- top_10_percent: int = 0¶
Number of Top 10% finishes.
- top_1_percent: int = 0¶
Number of Top 1% finishes.
- top_25: int = 0¶
Number of Top 25 finishes.
- top_25_percent: int = 0¶
Number of Top 25% finishes.
- top_50_percent: int = 0¶
Number of Top 50% finishes.
- top_75_percent: int = 0¶
Number of Top 75% finishes.
MapMedals¶
- class bloonspy.model.btd6.MapMedals¶
Medal set for maps.
- alternate_bloons_rounds: int = 0¶
Number of medals for Hard - Alternate Bloons Rounds.
- apopalypse: int = 0¶
Number of medals for Medium - Apopalypse.
- chimps_black: int = 0¶
Number of medals for Hard - CHIMPS (black).
- chimps_red: int = 0¶
Number of medals for Hard - CHIMPS (red).
- deflation: int = 0¶
Number of medals for Easy - Deflation.
- double_hp_moabs: int = 0¶
Number of medals for Hard - Double HP MOABs.
- easy: int = 0¶
Number of medals for Easy - Standard.
- half_cash: int = 0¶
Number of medals for Hard - Half Cash.
- hard: int = 0¶
Number of medals for Hard - Standard.
- impoppable: int = 0¶
Number of medals for Hard - Impoppable.
- magic_only: int = 0¶
Number of medals for Hard - Magic only.
- medium: int = 0¶
Number of medals for Medium - Standard.
- military_only: int = 0¶
Number of medals for Medium - Military only.
- primary_only: int = 0¶
Number of medals for Easy - Primary only.
- reverse: int = 0¶
Number of medals for Medium - Reverse.
Restriction¶
TowerRestriction¶
- class bloonspy.model.btd6.TowerRestriction¶
Non-hero restriction. Inherits from
Restriction
.- bottom_path_blocked: int¶
Number of restricted bottom path upgrades.
- middle_path_blocked: int¶
Number of restricted middle path upgrades.
- top_path_blocked: int¶
Number of restricted top path upgrades.
BloonsPoppedStats¶
GameplayStats¶
- class bloonspy.model.btd6.GameplayStats¶
User’s gameplay stats.
- bloons_leaked: int = 0¶
Total RBE leaked.
- bloons_popped: BloonsPoppedStats¶
In depth stats about bloons popped.
- cash_earned: int = 0¶
Total cash earned.
- challenges_completed: int = 0¶
Total challenges completed.
- collection_chests_opened: int = 0¶
Number of collection chests opened.
- coop_cash_given: int = 0¶
Total cash gifted in coop games.
- daily_rewards: int = 0¶
Total daily rewards collected.
- damage_done_to_bosses: int = 0¶
Total damage done to Boss bloons
- game_count: int = 0¶
Number of games played
- games_won: int = 0¶
Number of games won
- highest_round: int = 0¶
Highest round beaten
- highest_round_chimps: int = 0¶
Highest round beaten in CHIMPS mode
- highest_round_deflation: int = 0¶
Highest round beaten in Deflation mode
- insta_monkey_collection: int = 0¶
Number of unique Insta Monkeys collected
- monkey_teams_wins: int = 0¶
Number of games won with the Monkey Teams restrictions.
- necro_bloons_reanimated: int = 0¶
Number of necro bloons reanimated.
- powers_used: int = 0¶
Number of powers used.
- total_odyssey_stars: int = 0¶
Total odyssey stars.
- total_odysseys_completed: int = 0¶
Number of odysseys completed.
- total_trophies_earned: int = 0¶
Lifetime trophies earned through events.
- transforming_tonics_used: int = 0¶
Number of times the Transformation Tonic ability was used.
Infinity¶
- class bloonspy.Infinity¶
Class to represent infinity.
To check whether something is infinity, just see if they’re equal.
not_infinity = 3 print(not_infinity == Infinity) # False infinity = Infinity() print(infinity == Infinity) # True
Score¶
- class bloonspy.model.btd6.Score¶
An event score.
- x == y
Checks if the Score is equal to another Score.
- x >= y
Checks if the Score is greater or equal than another Score.
- x <= y
Checks if the Score is less or equal than another Score.
- x > y
Checks if the Score is greater than another Score.
- x < y
Checks if the Score is less than another Score.
- value: int | timedelta¶
The actual score value.
MapProgress¶
- class bloonspy.model.btd6.MapProgress¶
New in 0.5.0
The User’s progress in a map.
- beaten: bool¶
Whether the map was beaten at least once, in any gamemode.
- coop: dict[bloonspy.model.btd6.Gamemode.Gamemode, bloonspy.model.btd6.Map.GamemodeCompletionData]¶
Coop map progress.
- single_player: dict[bloonspy.model.btd6.Gamemode.Gamemode, bloonspy.model.btd6.Map.GamemodeCompletionData]¶
Single player map progress.
GamemodeCompletionData¶
- class bloonspy.model.btd6.GamemodeCompletionData¶
New in 0.5.0
Statistics of a gamemode in a map.
- completed: bool¶
Whether this gamemode was beaten.
- completed_without_loading_save: bool¶
Whether this gamemode was beaten without loading from saves.
- highest_round: int¶
Highest round on this gamemode.
- times_completed: int¶
Number of times this gamemode was completed.
TrophyStoreItemStatus¶
- class bloonspy.model.btd6.TrophyStoreItemStatus¶
New in 0.5.0
Purchase status of all trophy store items.
- all_monkeys: AllMonkeyFx¶
Cosmetics that apply to all monkeys.
- avatars: dict[int, bool]¶
Avatars bought, the dict keys represent the numeric ID of the avatar.
- banners: dict[int, bool]¶
Banners bought, the dict keys represent the numeric ID of the banner.
- bloon_decals: BloonDecals¶
Decals that apply to Bloons, MOABs, or both.
- bloon_pop_fx: BloonsPopFx¶
Effects when bloons pop.
- coop_emotes: CoopEmotes¶
Coop emotes bought.
- hero_fx: HeroPlacementFx¶
Hero placement/upgrade effects.
- monkey_names: bool¶
Whether Monkey Names has been bought.
- music_tracks: MusicTracks¶
Music tracks bought.
- power_skins: PowerSkins¶
Skins that apply to Powers.
- projectiles: TowerProjectiles¶
Tower projectiles bought.
- village_flags: VillageFlagCosmetics¶
Village flags bought.
HeroPlacementFx¶
- class bloonspy.model.btd6.HeroPlacementFx¶
New in 0.5.0
Purchase status of Hero placement effects.
- adora_sunbeam: bool¶
Adora’s Sunbeam placement FX.
- benjamin_matrix: bool¶
Benjamin’s Matrix placement FX.
- benjammin_party_lights: bool¶
BenJammin’s Party Lights placement FX.
- biker_bones_hellrift: bool¶
Biker Bones’ Hellrift placement FX.
- churchill_tank_drop: bool¶
Churchill’s Tank Drop placement FX.
- cyber_quincy_fireworks: bool¶
Cyber Quincy’s Fireworks placement FX.
- etn_beam_down: bool¶
ETN’s Beam Down placement FX.
- ezili_glyph: bool¶
Ezili’s Glyph placement FX.
- gwendolin_fireball: bool¶
Gwen’s Fireball placement FX.
- pat_fusty_superjump: bool¶
Pat’s Superjump placement FX.
- quincy_special_forces: bool¶
Quincy’s Special Forces placement FX.
- striker_jones_paradrop: bool¶
Striker Jones’ Paradrop placement FX.
PowerSkins¶
- class bloonspy.model.btd6.PowerSkins¶
New in 0.5.0
Purchase status of Power skins.
- banana_farmer_banana_costume: bool¶
The Banana Farmer’s Banana Costume.
- banana_farmer_reaper: bool¶
New in 0.5.1. The Banana Farmer’s Reaper.
- camo_trap_sprinkler: bool¶
New in 0.5.1. The Camo Trap’s Sprinkler.
- cash_drop_coffin: bool¶
New in 0.5.1. The Cash Drop’s Coffin Drop.
- dart_time_matrix: bool¶
The Time Stop’s Dart Matrix.
- energising_totem_christmas_tree: bool¶
New in 0.5.1. The Energising Totem’s Christmas Tree.
- glue_trap_honey_trap: bool¶
The Glue Trap’s Honey Trap.
- iceberg_pontoon: bool¶
The Pontoon’s Iceberg.
- lava_lake: bool¶
The Portable Lake’s Lava Lake.
- mine_bauble: bool¶
New in 0.5.1. The Moab Mine’s Bauble.
- monkey_boost_fireworks: bool¶
New in 0.5.1. The Monkey Boost’s Fireworks.
- monkey_boost_sugar_rush: bool¶
The Monkey Boost’s Sugar Rush.
- retro_techbot: bool¶
New in 0.5.1. The Techbot’s Retro skin.
- road_spikes_flower_patch: bool¶
The Road Spikes’ Flower Patch.
- super_vampire_storm: bool¶
The Super Monkey Storm’s Vampire Storm.
- thrive_stonks: bool¶
The Thrive Stonks.
TowerPets¶
- class bloonspy.model.btd6.TowerPets¶
New in 0.5.0
Purchase status of Tower and Hero pets.
- banana_farm_chicken: bool¶
The Banana Farm’s Chicken pet.
- bomb_shooter_tortoise: bool¶
New in 0.5.1. The Bomb Shooter’s Tortoise pet.
- brickell_parrot: bool¶
Brickell’s Parrot pet.
- etienne_roomba: bool¶
Etienne’s Roomba pet.
- ezili_frog: bool¶
Ezili’s Frog pet.
- geraldo_pack_mule: bool¶
Gerald’s Pack Mule pet.
- glue_gunner_rat: bool¶
The Glue Gunner’s Glue Rat pet.
- gwendolin_firefox: bool¶
Gwen’s Firefox pet.
- heli_pilot_hummingbird: bool¶
The Heli Pilot’s Hummingbird pet.
- ice_monkey_snowman: bool¶
New in 0.5.1. The Ice Monkey’s Snowman pet.
- joan_of_arc_adora_dragon: bool¶
Joan of Arc Adora’s Dragon pet.
- monkey_ace_dragonfly: bool¶
The Monkey Ace’s Dragonfly pet.
- monkey_buccaneer_narwhal: bool¶
The Monkey Buccaneer’s Narwhal pet.
- monkey_sub_rubber_duck: bool¶
The Monkey Sub’s Rubber Duck pet.
- mountain_obyn_balfrog: bool¶
Mountain Obyn’s Balfrog pet.
- ninja_monkey_kiwi: bool¶
The Ninja’s Kiwi pet.
- obyn_bunny: bool¶
Obyn’s Bunny pet.
- obyn_wolf: bool¶
Obyn’s Wolf pet.
- pat_penguin: bool¶
New in 0.5.1. Pat Fusty’s Penguin pet.
- psi_bison: bool¶
Psi’s Bison pet.
- quincy_dad_of_quincy: bool¶
Quincy’s Dad of Quincy pet.
- sauda_crane: bool¶
Sauda’s Crane pet.
- sentai_churchill_drone: bool¶
Sentai Churchill’s Drone pet.
- sniper_monkey_chameleon: bool¶
The Sniper Monkey’s Chameleon pet.
- striker_jones_german_shepherd: bool¶
Striker Jones’ German Shepherd pet.
- super_monkey_bat: bool¶
The Super Monkey’s Bat pet.
- tack_shooter_hedgehog: bool¶
The Tack Shooter’s Hedgehog pet.
- village_elf: bool¶
New in 0.5.1. The Monkey Village’s Elf pet.
TowerProjectiles¶
- class bloonspy.model.btd6.TowerProjectiles¶
New in 0.5.0
Purchase status of custom Tower projectiles.
- alchemist_spring_flowers: bool¶
Alchemist’s spring flower projectiles.
- bomb_pumpkin: bool¶
New in 0.5.1. The Bomb Shooter’s Pumpkin bombs.
- boomerang_candy_cane: bool¶
New in 0.5.1. The Boomerang Monkey’s Candy Cane projectiles.
- dart_monkey_snowballs: bool¶
New in 0.5.1. The Dart Monkey’s Snowball projectiles.
- dartling_easter_eggs: bool¶
Dartling Gunner’s easter egg projectiles.
- engineer_vampire_hunter: bool¶
New in 0.5.1. The Engineer’s Vampire bloontraps.
- farm_candy_corn: bool¶
New in 0.5.1. The Banana Farm’s Candy Corn bananas.
- farm_presents: bool¶
New in 0.5.1. The Banana Farm’s Present bananas.
- monkey_ace_bones: bool¶
New in 0.5.1. The Monkey Ace’s Bone projectiles.
- mortar_snow: bool¶
New in 0.5.1. The Mortar’s Snow projectiles.
- ninja_snowflakes: bool¶
New in 0.5.1. The Ninja Monkey’s Snowflake projectiles.
- sniper_confetti: bool¶
New in 0.5.1. The Sniper’s Confetti projectiles.
- spike_factory_pineapples: bool¶
Spike Factory’s pineapple spikes.
- tack_icicles: bool¶
New in 0.5.1. The Tack Shooter’s Icicle projectiles.
- wizard_fireworks: bool¶
New in 0.5.1. The Wizard Monkey’s Firework projectiles.
- wizard_zombies: bool¶
Necromancer’s smiling zombie bloons.
VillageFlagCosmetics¶
- class bloonspy.model.btd6.VillageFlagCosmetics¶
New in 0.5.0
Purchase status of the Village flag cosmetics.
- flag_australian: bool¶
The Australian flag
- flag_banana: bool¶
The Banana Republic flag
- flag_brazil: bool¶
The Brazil flag
- flag_canada: bool¶
The Canada flag
- flag_germany: bool¶
The Germany flag
- flag_new_zeland: bool¶
The New Zeland flag
- flag_pride: bool¶
The pride flag
- flag_scotland: bool¶
The Scotland flag
- flag_sweden: bool¶
The Sweden flag
- flag_uk: bool¶
The UK flag
- flag_usa: bool¶
The USA flag
MusicTracks¶
- class bloonspy.model.btd6.MusicTracks¶
New in 0.5.0
Purchase status of music tracks.
- bmc_street_party: bool¶
The “BMC Street Party” music track.
- fiesta_synthwave_mix: bool¶
The “Fiesta Flamenco - Synthwave Mix” music track.
- jingle_bloons: bool¶
The “Jingle - Bloons” music track.
- sunset64_mix: bool¶
The “Sunset - 64 Mix” music track.
- sunset_silent_night_mix: bool¶
The “Sunset - Silent Night Mix” music track.
- sunshine_fiesta_mix: bool¶
The “Sunshine - Fiesta Mix” music track.
- sunshine_gameboy_mix: bool¶
The “Sunshine - Gameboy Mix” music track.
- title_fiesta_mix: bool¶
The “Title - Fiesta Mix” music track.
- tribes_funked_mix: bool¶
The “Tribes - Funked Mix” music track.
- tribes_jaloon_mix: bool¶
The “Tribes - Jaloon Mix” music track.
- tropical_complextro_mix: bool¶
The “Tropical - Complextro Mix” music track.
- tropical_octopus_mix: bool¶
The “Tropical - Octopus Mix” music track.
- winter_chilled_mix: bool¶
The “Winter - Chilled Mix” music track.
AllMonkeyFx¶
- class bloonspy.model.btd6.AllMonkeyFx¶
New in 0.5.0
Purchase status of Monkey FX that apply to all monkeys.
- bats: bool¶
The Bats upgrade FX.
- butterflies: bool¶
The Butterflies upgrade FX.
- fireworks: bool¶
New in 0.5.1. The Fireworks upgrade FX.
- ghosts: bool¶
The Ghosts upgrade FX.
- presents: bool¶
New in 0.5.1. The Presents upgrade FX.
CoopEmotes¶
- class bloonspy.model.btd6.CoopEmotes¶
New in 0.5.0
Purchase status of Coop emotes.
- animation_begging_monkey: bool¶
The Pleeeease Monkey emote.
- animation_ben_cool: bool¶
The Ben Cool emote.
- animation_biker_bones_rage: bool¶
The Biker Bones Rage emote.
- animation_ezili_facepalm: bool¶
The Ezili Facepalm emote.
- animation_fistpump: bool¶
The Fist Pump emote.
- animation_mind_blown: bool¶
The Mind Blown emote.
- animation_obyn_peace: bool¶
The Obyn Peace emote.
- animation_panic_monkey: bool¶
The Panic Monkey emote.
- animation_pat_flex: bool¶
The Pat Flex emote.
- animation_pixel_monkey_dance: bool¶
The Pixel Monkey Dance emote.
- animation_psigh: bool¶
The Psigh emote.
- animation_thinking_monkey: bool¶
The Thinking Monkey emote.
- animation_trophy: bool¶
The Trophy emote.
- animation_tumbleweed: bool¶
The Tumbleweed emote.
- fullscreen_celebration: bool¶
The Celebration animation.
- fullscreen_disco_ball: bool¶
The Disco Ball animation.
- fullscreen_flower_bloom: bool¶
The Flower Bloom emote.
- fullscreen_happy_holidays: bool¶
New in 0.5.1. The Happy Holidays! emote.
- fullscreen_love_hearts: bool¶
The Love Hearts animation.
- fullscreen_rainbow: bool¶
The Rainbow animation.
- fullscreen_snow_and_sleighbells: bool¶
New in 0.5.1. The Snow and Sleighbells animation.
- fullscreen_sparkling_hearts: bool¶
The Sparkling Hearts animation.
- fulscreen_confetti_cannon: bool¶
The Confetti Cannon animation.
- icon_danger: bool¶
The Danger Icon emote.
- icon_no_cash_drops: bool¶
The No Cash Drops emote.
- icon_player_numbers: bool¶
The Player Number Icons emote.
- icon_skull_and_crossbones: bool¶
The Skull and Crossbones emote.
- icon_stop: bool¶
The Stop Icon emote.
- icon_tower_types: bool¶
New in 0.5.1. The Tower Types emote.
- sound_airhorn: bool¶
The Airhorn sound.
- sound_crickets: bool¶
The Crickets sound.
- sound_scream: bool¶
The Scream sound.
- sound_siren: bool¶
The Siren sound.
- text_activate: bool¶
The “Activate!” emote.
- text_all_is_fine: bool¶
The “All is Fine” emote.
- text_amazing: bool¶
The “Amazing” emote.
- text_lets_go: bool¶
The “Let’s Go” emote.
- text_need_more: bool¶
The “Need More!” emote.
- text_next_round_scary: bool¶
The “Next Round! Scary!” emote.
- text_ok: bool¶
The “OK” emote.
- text_perfect_timing: bool¶
The “Perfect Timing” emote.
- text_why: bool¶
The “Why?!” emote.
BloonsPopFx¶
- class bloonspy.model.btd6.BloonsPopFx¶
New in 0.5.0
Purchase status of Bloons Pop FX.
- bones: bool¶
New in 0.5.1. The Bones pop FX
- confetti: bool¶
The Confetti pop FX.
- flowers: bool¶
The Flowers pop FX.
- mo_monkeys: bool¶
The Mo’ Monkeys pop FX.
- pewpew: bool¶
The PewPew Pop pop FX.
- pow_pop: bool¶
The Pow Pop pop FX.
- snowflakes: bool¶
The Snowflakes pop FX.
- water_bloon: bool¶
The Water bloon pop FX.
BloonDecals¶
- class bloonspy.model.btd6.BloonDecals¶
New in 0.5.0
Purchase status of bloon decals.
- all_bucket_hat: bool¶
The Bucket Hat cosmetic.
- all_cat_ear: bool¶
The Cat Ears cosmetic.
- all_disguise_glasses: bool¶
The Disguise Glasses cosmetic.
- all_elf_hat: bool¶
New in 0.5.1. The Elf Hat cosmetic.
- all_googly_eyes: bool¶
The Googly Eyes cosmetic.
- all_hatchet: bool¶
New in 0.5.1. The Hatchet cosmetic.
- all_party_hat: bool¶
The Party Hat cosmetic.
- all_sunglasses: bool¶
New in 0.5.1. The Sunglasses cosmetic.
- all_top_hats: bool¶
The Top Hat cosmetic.
- all_trucker_hats: bool¶
The Trucker Hat cosmetic.
- bloons_beards: bool¶
The Beard cosmetic.
- bloons_bunny_ears: bool¶
The Bunny Ears cosmetic.
- bloons_daisy_chain: bool¶
The Daisy Chain cosmetic.
- bloons_santa_hats: bool¶
New in 0.5.1. The Santa Hats cosmetic.
- bloons_vampire_cape: bool¶
New in 0.5.1. The Vampire Cape cosmetic.
- moab_red_nose: bool¶
New in 0.5.1. The Red Nose MOAB cosmetic.
MoabSkins¶
- class bloonspy.model.btd6.MoabSkins¶
New in 0.5.0
Purchase status of MOAB skins.
- all_old_timey: bool¶
The Old Timey skin.
- bad_pinata: bool¶
The BAD Pinata skin.
- bad_skeleton: bool¶
The BAD Skeleton skin.
- bad_whale: bool¶
The BAD Whale skin.
- bfb_btd4_retro: bool¶
The BFB BTD4 Retro skin.
- bfb_chocolate_egg: bool¶
The BFB Chocolate Egg skin.
- bfb_lantern: bool¶
The BFB Lantern skin.
- bfb_lobster: bool¶
The BFB Lobster skin.
- bfb_pizza: bool¶
The BFB Pizza skin.
- bfb_sci_fi: bool¶
The BFB Sci-Fi skin.
- ddt_doomsleigh: bool¶
New in 0.5.1. The DDT Doomsleigh skin.
- ddt_neon: bool¶
The DDT Neon skin.
- ddt_shark: bool¶
The DDT Shark skin.
- ddt_spider: bool¶
New in 0.5.1. The DDT Spider skin.
- moab_boat: bool¶
New in 0.5.1. The MOAB Boat skin.
- moab_btd4_retro: bool¶
The MOAB BTD4 Retro skin.
- moab_chocolate_egg: bool¶
The MOAB Chocolate Egg skin.
- moab_football: bool¶
The MOAB Football skin.
- moab_frozen_glacier: bool¶
The MOAB Frozen Glacier skin.
- moab_mauler: bool¶
The MOAB Mauler skin.
- moab_pufferfish: bool¶
The MOAB Pufferfish skin.
- zomg_jack_o_lantern: bool¶
New in 0.5.1. The ZOMG Jack-O-Lantern skin.
- zomg_steampunk: bool¶
The ZOMG Steampunk skin.
- zomg_watermelon: bool¶
The ZOMG Watermelon skin.
PowerAmount¶
CtTile¶
Enums¶
BossBloon¶
- enum bloonspy.model.btd6.BossBloon(value)¶
Valid Boss Bloons in the game.
Valid values are as follows:
- BLOONARIUS = <BossBloon.BLOONARIUS: 'bloonarius'>¶
- LYCH = <BossBloon.LYCH: 'lych'>¶
- VORTEX = <BossBloon.VORTEX: 'vortex'>¶
- DREADBLOON = <BossBloon.DREADBLOON: 'dreadbloon'>¶
- PHAYZE = <BossBloon.PHAYZE: 'phayze'>¶
TeamStatus¶
ChallengeFilter¶
Difficulty¶
Mode¶
- enum bloonspy.model.btd6.Mode(value)¶
A game’s secondary mode.
Valid values are as follows:
- STANDARD = <Mode.STANDARD: 'Standard'>¶
- PRIMARY_ONLY = <Mode.PRIMARY_ONLY: 'Primary Only'>¶
- DEFLATION = <Mode.DEFLATION: 'Deflation'>¶
- MILITARY_ONLY = <Mode.MILITARY_ONLY: 'Military Only'>¶
- REVERSE = <Mode.REVERSE: 'Reverse'>¶
- APOPALYPSE = <Mode.APOPALYPSE: 'Apopalypse'>¶
- MAGIC_ONLY = <Mode.MAGIC_ONLY: 'Magic Only'>¶
- DOUBLE_HP_MOABS = <Mode.DOUBLE_HP_MOABS: 'Double HP MOABs'>¶
- HALF_CASH = <Mode.HALF_CASH: 'Half Cash'>¶
- ALTERNATE_BLOONS_ROUNDS = <Mode.ALTERNATE_BLOONS_ROUNDS: 'Alternate Bloons Rounds'>¶
- IMPOPPABLE = <Mode.IMPOPPABLE: 'Impoppable'>¶
- CHIMPS = <Mode.CHIMPS: 'CHIMPS'>¶
OdysseyDifficulty¶
Power¶
- enum bloonspy.model.btd6.Power(value)¶
Available powers in the game
Valid values are as follows:
- SMS = <Power.SMS: 'Super Monkey Storm'>¶
- MONKEY_BOOST = <Power.MONKEY_BOOST: 'Monkeyboost'>¶
- THRIVE = <Power.THRIVE: 'Thrive'>¶
- TIME_STOP = <Power.TIME_STOP: 'Time Stop'>¶
- CASH_DROP = <Power.CASH_DROP: 'Cash Drop'>¶
- PONTOON = <Power.PONTOON: 'Pontoon'>¶
- ROAD_SPIKES = <Power.ROAD_SPIKES: 'Road Spikes'>¶
- GLUE_TRAP = <Power.GLUE_TRAP: 'Glue Trap'>¶
- MOAB_MINE = <Power.MOAB_MINE: 'Moab Mine'>¶
- CAMO_TRAP = <Power.CAMO_TRAP: 'Camo Trap'>¶
- PORTABLE_LAKE = <Power.PORTABLE_LAKE: 'Portable Lake'>¶
- TECH_BOT = <Power.TECH_BOT: 'Tech Bot'>¶
- ENERGISING_TOTEM = <Power.ENERGISING_TOTEM: 'Energising Totem'>¶
- BANANA_FARMER = <Power.BANANA_FARMER: 'Banana Farmer'>¶
Tower¶
- enum bloonspy.model.btd6.Tower(value)¶
Available towers in the game.
Valid values are as follows:
- QUINCY = <Tower.QUINCY: 'Quincy'>¶
- GWENDOLIN = <Tower.GWENDOLIN: 'Gwendolin'>¶
- STRIKER_JONES = <Tower.STRIKER_JONES: 'Striker Jones'>¶
- OBYN = <Tower.OBYN: 'Obyn Greenfoot'>¶
- CHURCHILL = <Tower.CHURCHILL: 'Captain Churchill'>¶
- BENJAMIN = <Tower.BENJAMIN: 'Benjamin'>¶
- EZILI = <Tower.EZILI: 'Ezili'>¶
- PAT_FUSTY = <Tower.PAT_FUSTY: 'Pat Fusty'>¶
- SAUDA = <Tower.SAUDA: 'Sauda'>¶
- PSI = <Tower.PSI: 'Psi'>¶
- GERALDO = <Tower.GERALDO: 'Geraldo'>¶
- BRICKELL = <Tower.BRICKELL: 'Admiral Brickell'>¶
- ETIENNE = <Tower.ETIENNE: 'Etienne'>¶
- ADORA = <Tower.ADORA: 'Adora'>¶
- DART_MONKEY = <Tower.DART_MONKEY: 'Dart Monkey'>¶
- BOOMERANG_MONKEY = <Tower.BOOMERANG_MONKEY: 'Boomerang Monkey'>¶
- TACK_SHOOTER = <Tower.TACK_SHOOTER: 'Tack Shooter'>¶
- BOMB_SHOOTER = <Tower.BOMB_SHOOTER: 'Bomb Shooter'>¶
- GLUE_GUNNER = <Tower.GLUE_GUNNER: 'Glue Gunner'>¶
- ICE_MONKEY = <Tower.ICE_MONKEY: 'Ice Monkey'>¶
- SNIPER_MONKEY = <Tower.SNIPER_MONKEY: 'Sniper Monkey'>¶
- MONKEY_BUCCANEER = <Tower.MONKEY_BUCCANEER: 'Monkey Buccaneer'>¶
- MONKEY_SUB = <Tower.MONKEY_SUB: 'Monkey Sub'>¶
- DARTLING_GUNNER = <Tower.DARTLING_GUNNER: 'Dartling Gunner'>¶
- MONKEY_ACE = <Tower.MONKEY_ACE: 'Monkey Ace'>¶
- HELI_PILOT = <Tower.HELI_PILOT: 'Heli Pilot'>¶
- MORTAR_MONKEY = <Tower.MORTAR_MONKEY: 'Mortar Monkey'>¶
- WIZARD_MONKEY = <Tower.WIZARD_MONKEY: 'Wizard Monkey'>¶
- NINJA_MONKEY = <Tower.NINJA_MONKEY: 'Ninja Monkey'>¶
- SUPER_MONKEY = <Tower.SUPER_MONKEY: 'Super Monkey'>¶
- DRUID = <Tower.DRUID: 'Druid'>¶
- ALCHEMIST = <Tower.ALCHEMIST: 'Alchemist'>¶
- MONKEY_VILLAGE = <Tower.MONKEY_VILLAGE: 'Monkey Village'>¶
- BANANA_FARM = <Tower.BANANA_FARM: 'Banana Farm'>¶
- ENGINEER_MONKEY = <Tower.ENGINEER_MONKEY: 'Engineer Monkey'>¶
- SPIKE_FACTORY = <Tower.SPIKE_FACTORY: 'Spike Factory'>¶
- BEAST_HANDLER = <Tower.BEAST_HANDLER: 'Beast Handler'>¶
ScoreType¶
- enum bloonspy.model.btd6.ScoreType(value)¶
Ways to judge how good a player did in events.
Valid values are as follows:
- GAME_TIME = <ScoreType.GAME_TIME: 'Game Time'>¶
- LEAST_CASH = <ScoreType.LEAST_CASH: 'Least Cash'>¶
- LEAST_TIERS = <ScoreType.LEAST_TIERS: 'Least Tiers'>¶
- TIME_AFTER_EVENT_START = <ScoreType.TIME_AFTER_EVENT_START: 'Time After Event Start'>¶
MonkeyKnowledge¶
- enum bloonspy.model.btd6.MonkeyKnowledge(value)¶
New in 0.5.0
The Monkey Knowledge points present in the game.
Valid values are as follows:
- EXTRA_DART_POPS = <MonkeyKnowledge.EXTRA_DART_POPS: 'Extra Dart Pops'>¶
- FAST_TACK_ATTACKS = <MonkeyKnowledge.FAST_TACK_ATTACKS: 'Fast Tack Attacks'>¶
- INCREASED_LIFESPAN = <MonkeyKnowledge.INCREASED_LIFESPAN: 'Increased Lifespan'>¶
- FRAGGY_FRAGS = <MonkeyKnowledge.FRAGGY_FRAGS: 'Fraggy Frags'>¶
- FAST_GLUE = <MonkeyKnowledge.FAST_GLUE: 'Fast Glue'>¶
- HARD_TACKS = <MonkeyKnowledge.HARD_TACKS: 'Hard Tacks'>¶
- CHEAP_RANGS = <MonkeyKnowledge.CHEAP_RANGS: 'Cheap Rangs'>¶
- ELITE_MILITARY_TRAINING = <MonkeyKnowledge.ELITE_MILITARY_TRAINING: 'Elite Military Training'>¶
- AIRFORCE_UPGRADES = <MonkeyKnowledge.AIRFORCE_UPGRADES: 'Airforce Upgrades'>¶
- NAVAL_UPGRADES = <MonkeyKnowledge.NAVAL_UPGRADES: 'Naval Upgrades'>¶
- MAGIC_TRICKS = <MonkeyKnowledge.MAGIC_TRICKS: 'Magic Tricks'>¶
- FLAT_PACK_BUILDINGS = <MonkeyKnowledge.FLAT_PACK_BUILDINGS: 'Flat Pack Buildings'>¶
- ONE_MORE_SPIKE = <MonkeyKnowledge.ONE_MORE_SPIKE: 'One More Spike'>¶
- MORE_VALUABLE_BANANAS = <MonkeyKnowledge.MORE_VALUABLE_BANANAS: 'More Valuable Bananas'>¶
- SPEEDY_BREWING = <MonkeyKnowledge.SPEEDY_BREWING: 'Speedy Brewing'>¶
- MO_MONKEY_MONEY = <MonkeyKnowledge.MO_MONKEY_MONEY: 'Mo Monkey Money'>¶
- LINGERING_MAGIC = <MonkeyKnowledge.LINGERING_MAGIC: 'Lingering Magic'>¶
- HOT_MAGIC = <MonkeyKnowledge.HOT_MAGIC: 'Hot Magic'>¶
- FLAME_JET = <MonkeyKnowledge.FLAME_JET: 'Flame Jet'>¶
- ARCANE_IMPALE = <MonkeyKnowledge.ARCANE_IMPALE: 'Arcane Impale'>¶
- SUPER_RANGE = <MonkeyKnowledge.SUPER_RANGE: 'Super Range'>¶
- MANA_SHIELD = <MonkeyKnowledge.MANA_SHIELD: 'Mana Shield'>¶
- BUDGET_CLUSTERS = <MonkeyKnowledge.BUDGET_CLUSTERS: 'Budget Clusters'>¶
- ICY_CHILL = <MonkeyKnowledge.ICY_CHILL: 'Icy Chill'>¶
- CROSSBOW_REACH = <MonkeyKnowledge.CROSSBOW_REACH: 'Crossbow Reach'>¶
- FOUR_AND_FOuR = <MonkeyKnowledge.FOUR_AND_FOuR: '4 And 4'>¶
- MASTER_DOUBLE_CROSS = <MonkeyKnowledge.MASTER_DOUBLE_CROSS: 'Master Double Cross'>¶
- BONUS_MONKEY = <MonkeyKnowledge.BONUS_MONKEY: 'Bonus Monkey'>¶
- MORE_SPLATTY_GLUE = <MonkeyKnowledge.MORE_SPLATTY_GLUE: 'More Splatty Glue'>¶
- AVIATION_GRADE_GLUE = <MonkeyKnowledge.AVIATION_GRADE_GLUE: 'Aviation Grade Glue'>¶
- CHEAPER_SOLUTION = <MonkeyKnowledge.CHEAPER_SOLUTION: 'Cheaper Solution'>¶
- MORE_CASH = <MonkeyKnowledge.MORE_CASH: 'More Cash'>¶
- MORE_SPLODY = <MonkeyKnowledge.MORE_SPLODY: 'More Splody'>¶
- SCHOLARSHIPS = <MonkeyKnowledge.SCHOLARSHIPS: 'Scholarships'>¶
- HEROIC_REACH = <MonkeyKnowledge.HEROIC_REACH: 'Heroic Reach'>¶
- SELF_TAUGHT_HEROES = <MonkeyKnowledge.SELF_TAUGHT_HEROES: 'Self Taught Heroes'>¶
- HEROIC_VELOCITY = <MonkeyKnowledge.HEROIC_VELOCITY: 'Heroic Velocity'>¶
- QUICK_HANDS = <MonkeyKnowledge.QUICK_HANDS: 'Quick Hands'>¶
- HERO_FAVORS = <MonkeyKnowledge.HERO_FAVORS: 'Hero Favors'>¶
- EMPOWERED_HEROES = <MonkeyKnowledge.EMPOWERED_HEROES: 'Empowered Heroes'>¶
- ABILITY_DISCIPLINE = <MonkeyKnowledge.ABILITY_DISCIPLINE: 'Ability Discipline'>¶
- ABILITY_MASTERY = <MonkeyKnowledge.ABILITY_MASTERY: 'Ability Mastery'>¶
- BIG_BLOON_BLUEPRINTS = <MonkeyKnowledge.BIG_BLOON_BLUEPRINTS: 'Big Bloon Blueprints'>¶
- BIG_BUNCH = <MonkeyKnowledge.BIG_BUNCH: 'Big Bunch'>¶
- CERAMIC_SHOCK = <MonkeyKnowledge.CERAMIC_SHOCK: 'Ceramic Shock'>¶
- CHEAPER_MAIMING = <MonkeyKnowledge.CHEAPER_MAIMING: 'Cheaper Maiming'>¶
- BREAKING_BALLISTIC = <MonkeyKnowledge.BREAKING_BALLISTIC: 'Breaking Ballistic'>¶
- RAPID_RAZORS = <MonkeyKnowledge.RAPID_RAZORS: 'Rapid Razors'>¶
- CHARGED_CHINOOKS = <MonkeyKnowledge.CHARGED_CHINOOKS: 'Charged Chinooks'>¶
- QUAD_BURST = <MonkeyKnowledge.QUAD_BURST: 'Quad Burst'>¶
- MASTER_DEFENDER = <MonkeyKnowledge.MASTER_DEFENDER: 'Master Defender'>¶
- FASTER_TAKEDOWNS = <MonkeyKnowledge.FASTER_TAKEDOWNS: 'Faster Takedowns'>¶
- FARM_SUBSIDY = <MonkeyKnowledge.FARM_SUBSIDY: 'Farm Subsidy'>¶
- WEAK_POINT = <MonkeyKnowledge.WEAK_POINT: 'Weak Point'>¶
- CHEAPER_DOUBLES = <MonkeyKnowledge.CHEAPER_DOUBLES: 'Cheaper Doubles'>¶
- INSIDER_TRADES = <MonkeyKnowledge.INSIDER_TRADES: 'Insider Trades'>¶
- VIGILANT_SENTRIES = <MonkeyKnowledge.VIGILANT_SENTRIES: 'Vigilant Sentries'>¶
- BIGGER_BANKS = <MonkeyKnowledge.BIGGER_BANKS: 'Bigger Banks'>¶
- HEAVY_KNOCKBACK = <MonkeyKnowledge.HEAVY_KNOCKBACK: 'Heavy Knockback'>¶
- STRIKE_DOWN_THE_FALSE = <MonkeyKnowledge.STRIKE_DOWN_THE_FALSE: 'Strike Down The False'>¶
- STRONG_TONIC = <MonkeyKnowledge.STRONG_TONIC: 'Strong Tonic'>¶
- ACCELERATED_AERODARTS = <MonkeyKnowledge.ACCELERATED_AERODARTS: 'Accelerated Aerodarts'>¶
- EXTRA_BURNY_STUFF = <MonkeyKnowledge.EXTRA_BURNY_STUFF: 'Extra Burny Stuff'>¶
- POPPY_BLADES = <MonkeyKnowledge.POPPY_BLADES: 'Poppy Blades'>¶
- BIG_INFERNO = <MonkeyKnowledge.BIG_INFERNO: 'Big Inferno'>¶
- TRADE_AGREEMENTS = <MonkeyKnowledge.TRADE_AGREEMENTS: 'Trade Agreements'>¶
- EXTRA_BOUNCE = <MonkeyKnowledge.EXTRA_BOUNCE: 'Extra Bounce'>¶
- SUB_ADMIRAL = <MonkeyKnowledge.SUB_ADMIRAL: 'Sub Admiral'>¶
- RECURRING_RANGS = <MonkeyKnowledge.RECURRING_RANGS: 'Recurring Rangs'>¶
- BIG_BLOON_SABOTAGE = <MonkeyKnowledge.BIG_BLOON_SABOTAGE: 'Big Bloon Sabotage'>¶
- EMERGENCY_UNLOCK = <MonkeyKnowledge.EMERGENCY_UNLOCK: 'Emergency Unlock'>¶
- FIRST_LAST_LINE_OF_DEFENSE = <MonkeyKnowledge.FIRST_LAST_LINE_OF_DEFENSE: 'First Last Line Of Defense'>¶
- MONKEY_EDUCATION = <MonkeyKnowledge.MONKEY_EDUCATION: 'Monkey Education'>¶
- GORGON_STORM = <MonkeyKnowledge.GORGON_STORM: 'Gorgon Storm'>¶
- FORCE_VS_FORCE = <MonkeyKnowledge.FORCE_VS_FORCE: 'Force Vs Force'>¶
- BONUS_GLUE_GUNNER = <MonkeyKnowledge.BONUS_GLUE_GUNNER: 'Bonus Glue Gunner'>¶
- TARGETED_PINEAPPLES = <MonkeyKnowledge.TARGETED_PINEAPPLES: 'Targeted Pineapples'>¶
- GUN_COOLANT = <MonkeyKnowledge.GUN_COOLANT: 'Gun Coolant'>¶
- AERONAUTIC_SUBSIDY = <MonkeyKnowledge.AERONAUTIC_SUBSIDY: 'Aeronautic Subsidy'>¶
- WINGMONKEY = <MonkeyKnowledge.WINGMONKEY: 'Wingmonkey'>¶
- MONKEYS_TOGETHER_STRONG = <MonkeyKnowledge.MONKEYS_TOGETHER_STRONG: 'Monkeys Together Strong'>¶
- XRAY_ULTRA = <MonkeyKnowledge.XRAY_ULTRA: 'Xray Ultra'>¶
- THERE_CAN_BE_ONLY_ONE = <MonkeyKnowledge.THERE_CAN_BE_ONLY_ONE: 'There Can Be Only One'>¶
- MILITARY_CONSCRIPTION = <MonkeyKnowledge.MILITARY_CONSCRIPTION: 'Military Conscription'>¶
- CROSS_THE_STREAMS = <MonkeyKnowledge.CROSS_THE_STREAMS: 'Cross The Streams'>¶
- JUST_ONE_MORE = <MonkeyKnowledge.JUST_ONE_MORE: 'Just One More'>¶
- LONGER_DART_TIME = <MonkeyKnowledge.LONGER_DART_TIME: 'Longer Dart Time'>¶
- CHEAPER_LAKES = <MonkeyKnowledge.CHEAPER_LAKES: 'Cheaper Lakes'>¶
- LONGER_BOOSTS = <MonkeyKnowledge.LONGER_BOOSTS: 'Longer Boosts'>¶
- PRE_GAME_PREP = <MonkeyKnowledge.PRE_GAME_PREP: 'Pre Game Prep'>¶
- PAINT_STRIPPER = <MonkeyKnowledge.PAINT_STRIPPER: 'Paint Stripper'>¶
- INLAND_REVENUE_STREAMS = <MonkeyKnowledge.INLAND_REVENUE_STREAMS: 'Inland Revenue Streams'>¶
- BACKROOM_DEALS = <MonkeyKnowledge.BACKROOM_DEALS: 'Backroom Deals'>¶
- BETTER_SELL_DEALS = <MonkeyKnowledge.BETTER_SELL_DEALS: 'Better Sell Deals'>¶
- THICKER_FOAMS = <MonkeyKnowledge.THICKER_FOAMS: 'Thicker Foams'>¶
- BIG_TRAPS = <MonkeyKnowledge.BIG_TRAPS: 'Big Traps'>¶
- HEALTHY_BANANAS = <MonkeyKnowledge.HEALTHY_BANANAS: 'Healthy Bananas'>¶
- SO_COLD = <MonkeyKnowledge.SO_COLD: 'So Cold'>¶
- COME_ON_EVERYBODY = <MonkeyKnowledge.COME_ON_EVERYBODY: 'Come On Everybody'>¶
- DOOR_GUNNER = <MonkeyKnowledge.DOOR_GUNNER: 'Door Gunner'>¶
- ADVANCED_LOGISTICS = <MonkeyKnowledge.ADVANCED_LOGISTICS: 'Advanced Logistics'>¶
- FLANKING_MANEUVERS = <MonkeyKnowledge.FLANKING_MANEUVERS: 'Flanking Maneuvers'>¶
- BUDGET_BATTERY = <MonkeyKnowledge.BUDGET_BATTERY: 'Budget Battery'>¶
- VERY_SHREDDY = <MonkeyKnowledge.VERY_SHREDDY: 'Very Shreddy'>¶
- HARD_PRESS = <MonkeyKnowledge.HARD_PRESS: 'Hard Press'>¶
- HI_VALUE_MINES = <MonkeyKnowledge.HI_VALUE_MINES: 'Hi Value Mines'>¶
- TO_ARMS = <MonkeyKnowledge.TO_ARMS: 'To Arms'>¶
- VETERAN_MONKEY_TRAINING = <MonkeyKnowledge.VETERAN_MONKEY_TRAINING: 'Veteran Monkey Training'>¶
- GLOBAL_ABILITY_COOLDOWNS = <MonkeyKnowledge.GLOBAL_ABILITY_COOLDOWNS: 'Global Ability Cooldowns'>¶
- WARM_OAK = <MonkeyKnowledge.WARM_OAK: 'Warm Oak'>¶
- COLD_FRONT = <MonkeyKnowledge.COLD_FRONT: 'Cold Front'>¶
- VINE_RUPTURE = <MonkeyKnowledge.VINE_RUPTURE: 'Vine Rupture'>¶
- DIVERSION_TACTICS = <MonkeyKnowledge.DIVERSION_TACTICS: 'Diversion Tactics'>¶
- DEADLY_TRANQUILITY = <MonkeyKnowledge.DEADLY_TRANQUILITY: 'Deadly Tranquility'>¶
- TINY_TORNADOES = <MonkeyKnowledge.TINY_TORNADOES: 'Tiny Tornadoes'>¶
- MEGA_MAULER = <MonkeyKnowledge.MEGA_MAULER: 'Mega Mauler'>¶
- LONG_TURBO = <MonkeyKnowledge.LONG_TURBO: 'Long Turbo'>¶
- BIONIC_AUGMENTATION = <MonkeyKnowledge.BIONIC_AUGMENTATION: 'Bionic Augmentation'>¶
- BUDGET_PONTOONS = <MonkeyKnowledge.BUDGET_PONTOONS: 'Budget Pontoons'>¶
- POWERFUL_MONKEY_STORM = <MonkeyKnowledge.POWERFUL_MONKEY_STORM: 'Powerful Monkey Storm'>¶
- FIT_FARMERS = <MonkeyKnowledge.FIT_FARMERS: 'Fit Farmers'>¶
- SUPA_THRIVE = <MonkeyKnowledge.SUPA_THRIVE: 'Supa Thrive'>¶
- VIOLENT_IMPACT = <MonkeyKnowledge.VIOLENT_IMPACT: 'Violent Impact'>¶
- BIG_CRYO_BLAST = <MonkeyKnowledge.BIG_CRYO_BLAST: 'Big Cryo Blast'>¶
- HYPOTHERMIA = <MonkeyKnowledge.HYPOTHERMIA: 'Hypothermia'>¶
- BUDGET_CASH_DROPS = <MonkeyKnowledge.BUDGET_CASH_DROPS: 'Budget Cash Drops'>¶
- GRAND_PRIX_SPREE = <MonkeyKnowledge.GRAND_PRIX_SPREE: 'Grand Prix Spree'>¶
- ACID_STABILITY = <MonkeyKnowledge.ACID_STABILITY: 'Acid Stability'>¶
- BIGGER_CAMO_TRAP = <MonkeyKnowledge.BIGGER_CAMO_TRAP: 'Bigger Camo Trap'>¶
Upgrade¶
- enum bloonspy.model.btd6.Upgrade(value)¶
New in 0.5.0
Every single tower upgrade present in the game.
Valid values are as follows:
- DART_TOP_1 = <Upgrade.DART_TOP_1: 'Sharp Shots'>¶
- DART_TOP_2 = <Upgrade.DART_TOP_2: 'Razor Sharp Shots'>¶
- DART_TOP_3 = <Upgrade.DART_TOP_3: 'Spike-o-pult'>¶
- DART_TOP_4 = <Upgrade.DART_TOP_4: 'Juggernaut'>¶
- DART_TOP_5 = <Upgrade.DART_TOP_5: 'Ultra-Juggernaut'>¶
- DART_MID_1 = <Upgrade.DART_MID_1: 'Quick Shots'>¶
- DART_MID_2 = <Upgrade.DART_MID_2: 'Very Quick Shots'>¶
- DART_MID_3 = <Upgrade.DART_MID_3: 'Triple Shot'>¶
- DART_MID_4 = <Upgrade.DART_MID_4: 'Super Monkey Fan Club'>¶
- DART_MID_5 = <Upgrade.DART_MID_5: 'Plasma Monkey Fan Club'>¶
- DART_BTM_1 = <Upgrade.DART_BTM_1: 'Long Range Darts'>¶
- DART_BTM_2 = <Upgrade.DART_BTM_2: 'Enhanced Eyesight'>¶
- DART_BTM_3 = <Upgrade.DART_BTM_3: 'Crossbow'>¶
- DART_BTM_4 = <Upgrade.DART_BTM_4: 'Sharp Shooter'>¶
- DART_BTM_5 = <Upgrade.DART_BTM_5: 'Crossbow Master'>¶
- DART_PARAGON = <Upgrade.DART_PARAGON: 'Apex Plasma Master'>¶
- BOMB_TOP_1 = <Upgrade.BOMB_TOP_1: 'Bigger Bombs'>¶
- BOMB_TOP_2 = <Upgrade.BOMB_TOP_2: 'Heavy Bombs'>¶
- BOMB_TOP_3 = <Upgrade.BOMB_TOP_3: 'Really Big Bombs'>¶
- BOMB_TOP_4 = <Upgrade.BOMB_TOP_4: 'Bloon Impact'>¶
- BOMB_TOP_5 = <Upgrade.BOMB_TOP_5: 'Bloon Crush'>¶
- BOMB_MID_1 = <Upgrade.BOMB_MID_1: 'Faster Reload'>¶
- BOMB_MID_2 = <Upgrade.BOMB_MID_2: 'Missile Launcher'>¶
- BOMB_MID_3 = <Upgrade.BOMB_MID_3: 'MOAB Mauler'>¶
- BOMB_MID_4 = <Upgrade.BOMB_MID_4: 'MOAB Assassin'>¶
- BOMB_MID_5 = <Upgrade.BOMB_MID_5: 'MOAB Eliminator'>¶
- BOMB_BTM_1 = <Upgrade.BOMB_BTM_1: 'Extra Range'>¶
- BOMB_BTM_2 = <Upgrade.BOMB_BTM_2: 'Frag Bombs'>¶
- BOMB_BTM_3 = <Upgrade.BOMB_BTM_3: 'Cluster Bombs'>¶
- BOMB_BTM_4 = <Upgrade.BOMB_BTM_4: 'Recursive Cluster'>¶
- BOMB_BTM_5 = <Upgrade.BOMB_BTM_5: 'Bomb Blitz'>¶
- BOMB_PARAGON = <Upgrade.BOMB_PARAGON: None>¶
- TACK_TOP_1 = <Upgrade.TACK_TOP_1: 'Faster Shooting'>¶
- TACK_TOP_2 = <Upgrade.TACK_TOP_2: 'Even Faster Shooting'>¶
- TACK_TOP_3 = <Upgrade.TACK_TOP_3: 'Hot Shots'>¶
- TACK_TOP_4 = <Upgrade.TACK_TOP_4: 'Ring of Fire'>¶
- TACK_TOP_5 = <Upgrade.TACK_TOP_5: 'Inferno Ring'>¶
- TACK_MID_1 = <Upgrade.TACK_MID_1: 'Long Range Tacks'>¶
- TACK_MID_2 = <Upgrade.TACK_MID_2: 'Super Range Tacks'>¶
- TACK_MID_3 = <Upgrade.TACK_MID_3: 'Blade Shooter'>¶
- TACK_MID_4 = <Upgrade.TACK_MID_4: 'Blade Maelstrom'>¶
- TACK_MID_5 = <Upgrade.TACK_MID_5: 'Super Maelstrom'>¶
- TACK_BTM_1 = <Upgrade.TACK_BTM_1: 'More Tacks'>¶
- TACK_BTM_2 = <Upgrade.TACK_BTM_2: 'Even More Tacks'>¶
- TACK_BTM_3 = <Upgrade.TACK_BTM_3: 'Tack Sprayer'>¶
- TACK_BTM_4 = <Upgrade.TACK_BTM_4: 'Overdrive'>¶
- TACK_BTM_5 = <Upgrade.TACK_BTM_5: 'The Tack Zone'>¶
- GLUE_TOP_1 = <Upgrade.GLUE_TOP_1: 'Glue Soak'>¶
- GLUE_TOP_2 = <Upgrade.GLUE_TOP_2: 'Corrosive Glue'>¶
- GLUE_TOP_3 = <Upgrade.GLUE_TOP_3: 'Bloon Dissolver'>¶
- GLUE_TOP_4 = <Upgrade.GLUE_TOP_4: 'Bloon Liquefier'>¶
- GLUE_TOP_5 = <Upgrade.GLUE_TOP_5: 'The Bloon Solver'>¶
- GLUE_MID_1 = <Upgrade.GLUE_MID_1: 'Bigger Globs'>¶
- GLUE_MID_2 = <Upgrade.GLUE_MID_2: 'Glue Splatter'>¶
- GLUE_MID_3 = <Upgrade.GLUE_MID_3: 'Glue Hose'>¶
- GLUE_MID_4 = <Upgrade.GLUE_MID_4: 'Glue Strike'>¶
- GLUE_MID_5 = <Upgrade.GLUE_MID_5: 'Glue Storm'>¶
- GLUE_BTM_1 = <Upgrade.GLUE_BTM_1: 'Stickier Glue'>¶
- GLUE_BTM_2 = <Upgrade.GLUE_BTM_2: 'Stronger Glue'>¶
- GLUE_BTM_3 = <Upgrade.GLUE_BTM_3: 'MOAB Glue'>¶
- GLUE_BTM_4 = <Upgrade.GLUE_BTM_4: 'Relentless Glue'>¶
- GLUE_BTM_5 = <Upgrade.GLUE_BTM_5: 'Super Glue'>¶
- ENGINEER_TOP_1 = <Upgrade.ENGINEER_TOP_1: 'Sentry Gun'>¶
- ENGINEER_TOP_2 = <Upgrade.ENGINEER_TOP_2: 'Faster Engineering'>¶
- ENGINEER_TOP_3 = <Upgrade.ENGINEER_TOP_3: 'Sprockets'>¶
- ENGINEER_TOP_4 = <Upgrade.ENGINEER_TOP_4: 'Sentry Expert'>¶
- ENGINEER_TOP_5 = <Upgrade.ENGINEER_TOP_5: 'Sentry Champion'>¶
- ENGINEER_MID_1 = <Upgrade.ENGINEER_MID_1: 'Larger Service Area'>¶
- ENGINEER_MID_2 = <Upgrade.ENGINEER_MID_2: 'Deconstruction'>¶
- ENGINEER_MID_3 = <Upgrade.ENGINEER_MID_3: 'Cleansing Foam'>¶
- ENGINEER_MID_4 = <Upgrade.ENGINEER_MID_4: 'Overclock'>¶
- ENGINEER_MID_5 = <Upgrade.ENGINEER_MID_5: 'Ultraboost'>¶
- ENGINEER_BTM_1 = <Upgrade.ENGINEER_BTM_1: 'Oversize Nails'>¶
- ENGINEER_BTM_2 = <Upgrade.ENGINEER_BTM_2: 'Pin'>¶
- ENGINEER_BTM_3 = <Upgrade.ENGINEER_BTM_3: 'Double Gun'>¶
- ENGINEER_BTM_4 = <Upgrade.ENGINEER_BTM_4: 'Bloon Trap'>¶
- ENGINEER_BTM_5 = <Upgrade.ENGINEER_BTM_5: 'XXXL Trap'>¶
- ENGINEER_PARAGON = <Upgrade.ENGINEER_PARAGON: 'Master Builder'>¶
- DARTLING_TOP_1 = <Upgrade.DARTLING_TOP_1: 'Focused Firing'>¶
- DARTLING_TOP_2 = <Upgrade.DARTLING_TOP_2: 'Laser Shock'>¶
- DARTLING_TOP_3 = <Upgrade.DARTLING_TOP_3: 'Laser Cannon'>¶
- DARTLING_TOP_4 = <Upgrade.DARTLING_TOP_4: 'Plasma Accelerator'>¶
- DARTLING_TOP_5 = <Upgrade.DARTLING_TOP_5: 'Ray of Doom'>¶
- DARTLING_MID_1 = <Upgrade.DARTLING_MID_1: 'Advanced Targeting'>¶
- DARTLING_MID_2 = <Upgrade.DARTLING_MID_2: 'Faster Swivel'>¶
- DARTLING_MID_3 = <Upgrade.DARTLING_MID_3: 'Hydra Rocket Pods'>¶
- DARTLING_MID_4 = <Upgrade.DARTLING_MID_4: 'Rocket Storm'>¶
- DARTLING_MID_5 = <Upgrade.DARTLING_MID_5: 'M.A.D'>¶
- DARTLING_BTM_1 = <Upgrade.DARTLING_BTM_1: 'Faster Barrel Spin'>¶
- DARTLING_BTM_2 = <Upgrade.DARTLING_BTM_2: 'Powerful Darts'>¶
- DARTLING_BTM_3 = <Upgrade.DARTLING_BTM_3: 'Buckshot'>¶
- DARTLING_BTM_4 = <Upgrade.DARTLING_BTM_4: 'Bloon Area Denial System'>¶
- DARTLING_BTM_5 = <Upgrade.DARTLING_BTM_5: 'Bloon Exclusion Zone'>¶
- BEAST_TOP_1 = <Upgrade.BEAST_TOP_1: 'Piranha'>¶
- BEAST_TOP_2 = <Upgrade.BEAST_TOP_2: 'Barracuda'>¶
- BEAST_TOP_3 = <Upgrade.BEAST_TOP_3: 'Great White'>¶
- BEAST_TOP_4 = <Upgrade.BEAST_TOP_4: 'Orca'>¶
- BEAST_TOP_5 = <Upgrade.BEAST_TOP_5: 'Megalodon'>¶
- BEAST_MID_1 = <Upgrade.BEAST_MID_1: 'Microraptor'>¶
- BEAST_MID_2 = <Upgrade.BEAST_MID_2: 'Adasaurus'>¶
- BEAST_MID_3 = <Upgrade.BEAST_MID_3: 'Velociraptor'>¶
- BEAST_MID_4 = <Upgrade.BEAST_MID_4: 'Tyrannosaurus Rex'>¶
- BEAST_MID_5 = <Upgrade.BEAST_MID_5: 'Giganotosaurus'>¶
- BEAST_BTM_1 = <Upgrade.BEAST_BTM_1: 'Gyrfalcon'>¶
- BEAST_BTM_2 = <Upgrade.BEAST_BTM_2: 'Horned Owl'>¶
- BEAST_BTM_3 = <Upgrade.BEAST_BTM_3: 'Golden Eagle'>¶
- BEAST_BTM_4 = <Upgrade.BEAST_BTM_4: 'Giant Condor'>¶
- BEAST_BTM_5 = <Upgrade.BEAST_BTM_5: 'Pouakai'>¶
- SUPER_TOP_1 = <Upgrade.SUPER_TOP_1: 'Laser Blasts'>¶
- SUPER_TOP_2 = <Upgrade.SUPER_TOP_2: 'Plasma Blasts'>¶
- SUPER_TOP_3 = <Upgrade.SUPER_TOP_3: 'Sun Avatar'>¶
- SUPER_TOP_4 = <Upgrade.SUPER_TOP_4: 'Sun Temple'>¶
- SUPER_TOP_5 = <Upgrade.SUPER_TOP_5: 'True Sun God'>¶
- SUPER_MID_1 = <Upgrade.SUPER_MID_1: 'Super Range'>¶
- SUPER_MID_2 = <Upgrade.SUPER_MID_2: 'Epic Range'>¶
- SUPER_MID_3 = <Upgrade.SUPER_MID_3: 'Robo Monkey'>¶
- SUPER_MID_4 = <Upgrade.SUPER_MID_4: 'Tech Terror'>¶
- SUPER_MID_5 = <Upgrade.SUPER_MID_5: 'The Anti-Bloon'>¶
- SUPER_BTM_1 = <Upgrade.SUPER_BTM_1: 'Knockback'>¶
- SUPER_BTM_2 = <Upgrade.SUPER_BTM_2: 'Ultravision'>¶
- SUPER_BTM_3 = <Upgrade.SUPER_BTM_3: 'Dark Knight'>¶
- SUPER_BTM_4 = <Upgrade.SUPER_BTM_4: 'Dark Champion'>¶
- SUPER_BTM_5 = <Upgrade.SUPER_BTM_5: 'Legend of the Night'>¶
- FARM_TOP_1 = <Upgrade.FARM_TOP_1: 'Increased Production'>¶
- FARM_TOP_2 = <Upgrade.FARM_TOP_2: 'Greater Production'>¶
- FARM_TOP_3 = <Upgrade.FARM_TOP_3: 'Banana Plantation'>¶
- FARM_TOP_4 = <Upgrade.FARM_TOP_4: 'Banana Research Facility'>¶
- FARM_TOP_5 = <Upgrade.FARM_TOP_5: 'Banana Central'>¶
- FARM_MID_1 = <Upgrade.FARM_MID_1: 'Long Life Bananas'>¶
- FARM_MID_2 = <Upgrade.FARM_MID_2: 'Valuable Bananas'>¶
- FARM_MID_3 = <Upgrade.FARM_MID_3: 'Monkey Bank'>¶
- FARM_MID_4 = <Upgrade.FARM_MID_4: 'IMF loan'>¶
- FARM_MID_5 = <Upgrade.FARM_MID_5: 'Monkey-Nomics'>¶
- FARM_BTM_1 = <Upgrade.FARM_BTM_1: 'EZ Collect'>¶
- FARM_BTM_2 = <Upgrade.FARM_BTM_2: 'Banana Salvage'>¶
- FARM_BTM_3 = <Upgrade.FARM_BTM_3: 'Marketplace'>¶
- FARM_BTM_4 = <Upgrade.FARM_BTM_4: 'Central Market'>¶
- FARM_BTM_5 = <Upgrade.FARM_BTM_5: 'Monkey Wall Street'>¶
- DRUID_TOP_1 = <Upgrade.DRUID_TOP_1: 'Hard Thorns'>¶
- DRUID_TOP_2 = <Upgrade.DRUID_TOP_2: 'Heart of Thunder'>¶
- DRUID_TOP_3 = <Upgrade.DRUID_TOP_3: 'Druid of the Storm'>¶
- DRUID_TOP_4 = <Upgrade.DRUID_TOP_4: 'Ball Lightning'>¶
- DRUID_TOP_5 = <Upgrade.DRUID_TOP_5: 'Superstorm'>¶
- DRUID_MID_1 = <Upgrade.DRUID_MID_1: 'Thorn Swarm'>¶
- DRUID_MID_2 = <Upgrade.DRUID_MID_2: 'Heart of Oak'>¶
- DRUID_MID_3 = <Upgrade.DRUID_MID_3: 'Druid of the Jungle'>¶
- DRUID_MID_4 = <Upgrade.DRUID_MID_4: "Jungle's Bounty">¶
- DRUID_MID_5 = <Upgrade.DRUID_MID_5: 'Spirit of the Forest'>¶
- DRIOD_BTM_1 = <Upgrade.DRIOD_BTM_1: 'Druidic Reach'>¶
- DRUID_BTM_2 = <Upgrade.DRUID_BTM_2: 'Heart of Vengeance'>¶
- DRUID_BTM_3 = <Upgrade.DRUID_BTM_3: 'Druid of Wrath'>¶
- DRUID_BTM_4 = <Upgrade.DRUID_BTM_4: 'Poplust'>¶
- DRUID_BTM_5 = <Upgrade.DRUID_BTM_5: 'Avatar of Wrath'>¶
- ACE_TOP_1 = <Upgrade.ACE_TOP_1: 'Rapid Fire'>¶
- ACE_TOP_2 = <Upgrade.ACE_TOP_2: 'Lots More Darts'>¶
- ACE_TOP_3 = <Upgrade.ACE_TOP_3: 'Fighter Plane'>¶
- ACE_TOP_4 = <Upgrade.ACE_TOP_4: 'Operation: Dart Storm'>¶
- ACE_TOP_5 = <Upgrade.ACE_TOP_5: 'Sky Shredder'>¶
- ACE_MID_1 = <Upgrade.ACE_MID_1: 'Exploding Pineapple'>¶
- ACE_MID_2 = <Upgrade.ACE_MID_2: 'Spy Plane'>¶
- ACE_MID_3 = <Upgrade.ACE_MID_3: 'Bomber Ace'>¶
- ACE_MID_4 = <Upgrade.ACE_MID_4: 'Ground Zero'>¶
- ACE_MID_5 = <Upgrade.ACE_MID_5: 'Tsar Bomba'>¶
- ACE_BTM_1 = <Upgrade.ACE_BTM_1: 'Sharper Darts'>¶
- ACE_BTM_2 = <Upgrade.ACE_BTM_2: 'Centered Path'>¶
- ACE_BTM_3 = <Upgrade.ACE_BTM_3: 'Neva-Miss Targeting'>¶
- ACE_BTM_4 = <Upgrade.ACE_BTM_4: 'Spectre'>¶
- ACE_BTM_5 = <Upgrade.ACE_BTM_5: 'Flying Fortress'>¶
- ACE_PARAGON = <Upgrade.ACE_PARAGON: 'Goliath Doomship'>¶
- HELI_TOP_1 = <Upgrade.HELI_TOP_1: 'Quad Darts'>¶
- HELI_TOP_2 = <Upgrade.HELI_TOP_2: 'Pursuit'>¶
- HELI_TOP_3 = <Upgrade.HELI_TOP_3: 'Razor Rotors'>¶
- HELI_TOP_4 = <Upgrade.HELI_TOP_4: 'Apache Dartship'>¶
- HELI_TOP_5 = <Upgrade.HELI_TOP_5: 'Apache Prime'>¶
- HELI_MID_1 = <Upgrade.HELI_MID_1: 'Bigger Jets'>¶
- HELI_MID_2 = <Upgrade.HELI_MID_2: 'IFR'>¶
- HELI_MID_3 = <Upgrade.HELI_MID_3: 'Downdraft'>¶
- HELI_MID_4 = <Upgrade.HELI_MID_4: 'Support Chinook'>¶
- HELI_MID_5 = <Upgrade.HELI_MID_5: 'Special Poperations'>¶
- HELI_BTM_1 = <Upgrade.HELI_BTM_1: 'Faster Darts'>¶
- HELI_BTM_2 = <Upgrade.HELI_BTM_2: 'Faster Firing'>¶
- HELI_BTM_3 = <Upgrade.HELI_BTM_3: 'MOAB Shove'>¶
- HELI_BTM_4 = <Upgrade.HELI_BTM_4: 'Comanche Defense'>¶
- HELI_BTM_5 = <Upgrade.HELI_BTM_5: 'Comanche Commander'>¶
- BUCCANEER_TOP_2 = <Upgrade.BUCCANEER_TOP_2: 'Double Shot'>¶
- BUCCANEER_TOP_3 = <Upgrade.BUCCANEER_TOP_3: 'Destroyer'>¶
- BUCCANEER_TOP_4 = <Upgrade.BUCCANEER_TOP_4: 'Aircraft Carrier'>¶
- BUCCANEER_TOP_5 = <Upgrade.BUCCANEER_TOP_5: 'Carrier Flagship'>¶
- BUCCANEER_MID_1 = <Upgrade.BUCCANEER_MID_1: 'Grape Shot'>¶
- BUCCANEER_MID_2 = <Upgrade.BUCCANEER_MID_2: 'Hot Shot'>¶
- BUCCANEER_MID_3 = <Upgrade.BUCCANEER_MID_3: 'Cannon Ship'>¶
- BUCCANEER_MID_4 = <Upgrade.BUCCANEER_MID_4: 'Monkey Pirates'>¶
- BUCCANEER_MID_5 = <Upgrade.BUCCANEER_MID_5: 'Pirate Lord'>¶
- BUCCANEER_BTM_1 = <Upgrade.BUCCANEER_BTM_1: 'Long Range'>¶
- BUCCANEER_BTM_2 = <Upgrade.BUCCANEER_BTM_2: "Crow's Nest">¶
- BUCCANEER_BTM_3 = <Upgrade.BUCCANEER_BTM_3: 'Merchantman'>¶
- BUCCANEER_BTM_4 = <Upgrade.BUCCANEER_BTM_4: 'Favored Trades'>¶
- BUCCANEER_BTM_5 = <Upgrade.BUCCANEER_BTM_5: 'Trade Empire'>¶
- BUCCANEER_PARAGON = <Upgrade.BUCCANEER_PARAGON: 'Navarch of the Seas'>¶
- BOOMERANG_TOP_1 = <Upgrade.BOOMERANG_TOP_1: 'Improved Rangs'>¶
- BOOMERANG_TOP_2 = <Upgrade.BOOMERANG_TOP_2: 'Glaives'>¶
- BOOMERANG_TOP_3 = <Upgrade.BOOMERANG_TOP_3: 'Glaive Ricochet'>¶
- BOOMERANG_TOP_4 = <Upgrade.BOOMERANG_TOP_4: 'M.O.A.R Glaives'>¶
- BOOMERANG_TOP_5 = <Upgrade.BOOMERANG_TOP_5: 'Glaive Lord'>¶
- BOOMERANG_MID_1 = <Upgrade.BOOMERANG_MID_1: 'Faster Throwing'>¶
- BOOMERANG_MID_2 = <Upgrade.BOOMERANG_MID_2: 'Faster Rangs'>¶
- BOOMERANG_MID_3 = <Upgrade.BOOMERANG_MID_3: 'Bionic Boomerang'>¶
- BOOMERANG_MID_4 = <Upgrade.BOOMERANG_MID_4: 'Turbo Charge'>¶
- BOOMERANG_MID_5 = <Upgrade.BOOMERANG_MID_5: 'Perma Charge'>¶
- BOOMERANG_BTM_1 = <Upgrade.BOOMERANG_BTM_1: 'Long Range Rangs'>¶
- BOOMERANG_BTM_2 = <Upgrade.BOOMERANG_BTM_2: 'Red Hot Rangs'>¶
- BOOMERANG_BTM_3 = <Upgrade.BOOMERANG_BTM_3: 'Kylie Boomerang'>¶
- BOOMERANG_BTM_4 = <Upgrade.BOOMERANG_BTM_4: 'MOAB Press'>¶
- BOOMERANG_BTM_5 = <Upgrade.BOOMERANG_BTM_5: 'MOAB Domination'>¶
- BOOMERANG_PARAGON = <Upgrade.BOOMERANG_PARAGON: 'Glaive Dominus'>¶
- WIZARD_TOP_1 = <Upgrade.WIZARD_TOP_1: 'Guided Magic'>¶
- WIZARD_TOP_2 = <Upgrade.WIZARD_TOP_2: 'Arcane Blast'>¶
- WIZARD_TOP_3 = <Upgrade.WIZARD_TOP_3: 'Arcane Mastery'>¶
- WIZARD_TOP_4 = <Upgrade.WIZARD_TOP_4: 'Arcane Spike'>¶
- WIZARD_TOP_5 = <Upgrade.WIZARD_TOP_5: 'Archmage'>¶
- WIZARD_MID_1 = <Upgrade.WIZARD_MID_1: 'Fireball'>¶
- WIZARD_MID_2 = <Upgrade.WIZARD_MID_2: 'Wall of Fire'>¶
- WIZARD_MID_3 = <Upgrade.WIZARD_MID_3: "Dragon's Breath">¶
- WIZARD_MID_4 = <Upgrade.WIZARD_MID_4: 'Summon Phoenix'>¶
- WIZARD_MID_5 = <Upgrade.WIZARD_MID_5: 'Wizard Lord Phoenix'>¶
- WIZARD_BTM_1 = <Upgrade.WIZARD_BTM_1: 'Intense Magic'>¶
- WIZARD_BTM_2 = <Upgrade.WIZARD_BTM_2: 'Monkey Sense'>¶
- WIZARD_BTM_3 = <Upgrade.WIZARD_BTM_3: 'Shimmer'>¶
- WIZARD_BTM_4 = <Upgrade.WIZARD_BTM_4: 'Necromancer: Unpopped Army'>¶
- WIZARD_BTM_5 = <Upgrade.WIZARD_BTM_5: 'Prince of Darkness'>¶
- WIZARD_PARAGON = <Upgrade.WIZARD_PARAGON: 'Magus Perfectus'>¶
- NINJA_TOP_1 = <Upgrade.NINJA_TOP_1: 'Ninja Discipline'>¶
- NINJA_TOP_2 = <Upgrade.NINJA_TOP_2: 'Sharp Shurikens'>¶
- NINJA_TOP_4 = <Upgrade.NINJA_TOP_4: 'Bloonjitsu'>¶
- NINJA_TOP_5 = <Upgrade.NINJA_TOP_5: 'Grandmaster Ninja'>¶
- NINJA_MID_1 = <Upgrade.NINJA_MID_1: 'Distraction'>¶
- NINJA_MID_2 = <Upgrade.NINJA_MID_2: 'Counter-Espionage'>¶
- NINJA_MID_3 = <Upgrade.NINJA_MID_3: 'Shinobi Tactics'>¶
- NINJA_MID_4 = <Upgrade.NINJA_MID_4: 'Bloon Sabotage'>¶
- NINJA_MID_5 = <Upgrade.NINJA_MID_5: 'Grand Saboteur'>¶
- NINJA_BTM_1 = <Upgrade.NINJA_BTM_1: 'Seeking Shuriken'>¶
- NINJA_BTM_2 = <Upgrade.NINJA_BTM_2: 'Caltrops'>¶
- NINJA_BTM_3 = <Upgrade.NINJA_BTM_3: 'Flash Bomb'>¶
- NINJA_BTM_4 = <Upgrade.NINJA_BTM_4: 'Sticky Bomb'>¶
- NINJA_BTM_5 = <Upgrade.NINJA_BTM_5: 'Master Bomber'>¶
- NINJA_PARAGON = <Upgrade.NINJA_PARAGON: 'Ascended Shadow'>¶
- ICE_TOP_1 = <Upgrade.ICE_TOP_1: 'Permafrost'>¶
- ICE_TOP_2 = <Upgrade.ICE_TOP_2: 'Cold Snap'>¶
- ICE_TOP_3 = <Upgrade.ICE_TOP_3: 'Ice Shards'>¶
- ICE_TOP_4 = <Upgrade.ICE_TOP_4: 'Embrittlement'>¶
- ICE_TOP_5 = <Upgrade.ICE_TOP_5: 'Super Brittle'>¶
- ICE_MID_1 = <Upgrade.ICE_MID_1: 'Enhanced Freeze'>¶
- ICE_MID_2 = <Upgrade.ICE_MID_2: 'Deep Freeze'>¶
- ICE_MID_3 = <Upgrade.ICE_MID_3: 'Arctic Wind'>¶
- ICE_MID_4 = <Upgrade.ICE_MID_4: 'Snowstorm'>¶
- ICE_MID_5 = <Upgrade.ICE_MID_5: 'Absolute Zero'>¶
- ICE_BTM_1 = <Upgrade.ICE_BTM_1: 'Larger Radius'>¶
- ICE_BTM_2 = <Upgrade.ICE_BTM_2: 'Re-Freeze'>¶
- ICE_BTM_3 = <Upgrade.ICE_BTM_3: 'Cryo Cannon'>¶
- ICE_BTM_4 = <Upgrade.ICE_BTM_4: 'Icicles'>¶
- ICE_BTM_5 = <Upgrade.ICE_BTM_5: 'Icicle Impale'>¶
- VILLAGE_TOP_1 = <Upgrade.VILLAGE_TOP_1: 'Bigger Radius'>¶
- VILLAGE_TOP_2 = <Upgrade.VILLAGE_TOP_2: 'Jungle Drums'>¶
- VILLAGE_TOP_3 = <Upgrade.VILLAGE_TOP_3: 'Primary Training'>¶
- VILLAGE_TOP_4 = <Upgrade.VILLAGE_TOP_4: 'Primary Mentoring'>¶
- VILLAGE_TOP_5 = <Upgrade.VILLAGE_TOP_5: 'Primary Expertise'>¶
- VILLAGE_MID_1 = <Upgrade.VILLAGE_MID_1: 'Grow Blocker'>¶
- VILLAGE_MID_2 = <Upgrade.VILLAGE_MID_2: 'Radar Scanner'>¶
- VILLAGE_MID_3 = <Upgrade.VILLAGE_MID_3: 'Monkey Intelligence Bureau'>¶
- VILLAGE_MID_4 = <Upgrade.VILLAGE_MID_4: 'Call to Arms'>¶
- VILLAGE_MID_5 = <Upgrade.VILLAGE_MID_5: 'Homeland Defense'>¶
- VILLAGE_BTM_1 = <Upgrade.VILLAGE_BTM_1: 'Monkey Business'>¶
- VILLAGE_BTM_2 = <Upgrade.VILLAGE_BTM_2: 'Monkey Commerce'>¶
- VILLAGE_BTM_3 = <Upgrade.VILLAGE_BTM_3: 'Monkey City'>¶
- VILLAGE_BTM_4 = <Upgrade.VILLAGE_BTM_4: 'Monkey Town'>¶
- VILLAGE_BTM_5 = <Upgrade.VILLAGE_BTM_5: 'Monkeyopolis'>¶
- ALCHEMIST_TOP_1 = <Upgrade.ALCHEMIST_TOP_1: 'Larger Potions'>¶
- ALCHEMIST_TOP_2 = <Upgrade.ALCHEMIST_TOP_2: 'Acidic Mixture Dip'>¶
- ALCHEMIST_TOP_3 = <Upgrade.ALCHEMIST_TOP_3: 'Berserker Brew'>¶
- ALCHEMIST_TOP_4 = <Upgrade.ALCHEMIST_TOP_4: 'Stronger Stimulant'>¶
- ALCHEMIST_TOP_5 = <Upgrade.ALCHEMIST_TOP_5: 'Permanent Brew'>¶
- ALCHEMIST_MID_1 = <Upgrade.ALCHEMIST_MID_1: 'Stronger Acid'>¶
- ALCHEMIST_MID_2 = <Upgrade.ALCHEMIST_MID_2: 'Perishing Potions'>¶
- ALCHEMIST_MID_3 = <Upgrade.ALCHEMIST_MID_3: 'Unstable Concoction'>¶
- ALCHEMIST_MID_4 = <Upgrade.ALCHEMIST_MID_4: 'Transforming Tonic'>¶
- ALCHEMIST_MID_5 = <Upgrade.ALCHEMIST_MID_5: 'Total Transformation'>¶
- ALCHEMIST_BTM_2 = <Upgrade.ALCHEMIST_BTM_2: 'Acid Pool'>¶
- ALCHEMIST_BTM_3 = <Upgrade.ALCHEMIST_BTM_3: 'Lead to Gold'>¶
- ALCHEMIST_BTM_4 = <Upgrade.ALCHEMIST_BTM_4: 'Rubber to Gold'>¶
- ALCHEMIST_BTM_5 = <Upgrade.ALCHEMIST_BTM_5: 'Bloon Master Alchemist'>¶
- SUB_TOP_1 = <Upgrade.SUB_TOP_1: 'Longer Range'>¶
- SUB_TOP_2 = <Upgrade.SUB_TOP_2: 'Advanced Intel'>¶
- SUB_TOP_3 = <Upgrade.SUB_TOP_3: 'Submerge and Support'>¶
- SUB_TOP_4 = <Upgrade.SUB_TOP_4: 'Bloontonium Reactor'>¶
- SUB_TOP_5 = <Upgrade.SUB_TOP_5: 'Energizer'>¶
- SUB_MID_1 = <Upgrade.SUB_MID_1: 'Barbed Darts'>¶
- SUB_MID_2 = <Upgrade.SUB_MID_2: 'Heat-tipped Darts'>¶
- SUB_MID_3 = <Upgrade.SUB_MID_3: 'Ballistic Missile'>¶
- SUB_MID_4 = <Upgrade.SUB_MID_4: 'First Strike Capability'>¶
- SUB_MID_5 = <Upgrade.SUB_MID_5: 'Pre-emptive Strike'>¶
- SUB_BTM_1 = <Upgrade.SUB_BTM_1: 'Twin Guns'>¶
- SUB_BTM_2 = <Upgrade.SUB_BTM_2: 'Airburst Darts'>¶
- SUB_BTM_3 = <Upgrade.SUB_BTM_3: 'Triple Guns'>¶
- SUB_BTM_4 = <Upgrade.SUB_BTM_4: 'Armor Piercing Darts'>¶
- SUB_BTM_5 = <Upgrade.SUB_BTM_5: 'Sub Commander'>¶
- MORTAR_TOP_1 = <Upgrade.MORTAR_TOP_1: 'Bigger Blast'>¶
- MORTAR_TOP_2 = <Upgrade.MORTAR_TOP_2: 'Bloon Buster'>¶
- MORTAR_TOP_3 = <Upgrade.MORTAR_TOP_3: 'Shockwave'>¶
- MORTAR_TOP_4 = <Upgrade.MORTAR_TOP_4: 'The Big One'>¶
- MORTAR_TOP_5 = <Upgrade.MORTAR_TOP_5: 'The Biggest One'>¶
- MORTAR_MID_2 = <Upgrade.MORTAR_MID_2: 'Rapid Reload'>¶
- MORTAR_MID_3 = <Upgrade.MORTAR_MID_3: 'Heavy Shells'>¶
- MORTAR_MID_4 = <Upgrade.MORTAR_MID_4: 'Artillery Battery'>¶
- MORTAR_MID_5 = <Upgrade.MORTAR_MID_5: 'Pop and Awe'>¶
- MORTAR_BTM_1 = <Upgrade.MORTAR_BTM_1: 'Increased Accuracy'>¶
- MORTAR_BTM_2 = <Upgrade.MORTAR_BTM_2: 'Burny Stuff'>¶
- MORTAR_BTM_3 = <Upgrade.MORTAR_BTM_3: 'Signal Flare'>¶
- MORTAR_BTM_4 = <Upgrade.MORTAR_BTM_4: 'Shattering Shells'>¶
- MORTAR_BTM_5 = <Upgrade.MORTAR_BTM_5: 'Blooncineration'>¶
- SNIPER_TOP_1 = <Upgrade.SNIPER_TOP_1: 'Full Metal Jacket'>¶
- SNIPER_TOP_2 = <Upgrade.SNIPER_TOP_2: 'Large Calibre'>¶
- SNIPER_TOP_3 = <Upgrade.SNIPER_TOP_3: 'Deadly Precision'>¶
- SNIPER_TOP_4 = <Upgrade.SNIPER_TOP_4: 'Maim MOAB'>¶
- SNIPER_TOP_5 = <Upgrade.SNIPER_TOP_5: 'Cripple MOAB'>¶
- SNIPER_MID_1 = <Upgrade.SNIPER_MID_1: 'Night Vision Goggles'>¶
- SNIPER_MID_2 = <Upgrade.SNIPER_MID_2: 'Shrapnel Shot'>¶
- SNIPER_MID_3 = <Upgrade.SNIPER_MID_3: 'Bouncing Bullet'>¶
- SNIPER_MID_4 = <Upgrade.SNIPER_MID_4: 'Supply Drop'>¶
- SNIPER_MID_5 = <Upgrade.SNIPER_MID_5: 'Elite Sniper'>¶
- SNIPER_BTM_1 = <Upgrade.SNIPER_BTM_1: 'Fast Firing'>¶
- SNIPER_BTM_2 = <Upgrade.SNIPER_BTM_2: 'Even Faster Firing'>¶
- SNIPER_BTM_3 = <Upgrade.SNIPER_BTM_3: 'Semi-Automatic'>¶
- SNIPER_BTM_4 = <Upgrade.SNIPER_BTM_4: 'Full Auto Rifle'>¶
- SNIPER_BTM_5 = <Upgrade.SNIPER_BTM_5: 'Elite Defender'>¶
- SPIKE_TOP_1 = <Upgrade.SPIKE_TOP_1: 'Bigger Stacks'>¶
- SPIKE_TOP_2 = <Upgrade.SPIKE_TOP_2: 'White Hot Spikes'>¶
- SPIKE_MID_1 = <Upgrade.SPIKE_MID_1: 'Faster Production'>¶
- SPIKE_MID_2 = <Upgrade.SPIKE_MID_2: 'Even Faster Production'>¶
- SPIKE_TOP_3 = <Upgrade.SPIKE_TOP_3: 'Spiked Balls'>¶
- SPIKE_TOP_4 = <Upgrade.SPIKE_TOP_4: 'Spiked Mines'>¶
- SPIKE_TOP_5 = <Upgrade.SPIKE_TOP_5: 'Super Mines'>¶
- SPIKE_MID_3 = <Upgrade.SPIKE_MID_3: 'MOAB SHREDR'>¶
- SPIKE_MID_4 = <Upgrade.SPIKE_MID_4: 'Spike Storm'>¶
- SPIKE_MID_5 = <Upgrade.SPIKE_MID_5: 'Carpet of Spikes'>¶
- SPIKE_BTM_1 = <Upgrade.SPIKE_BTM_1: 'Long Reach'>¶
- SPIKE_BTM_2 = <Upgrade.SPIKE_BTM_2: 'Smart Spikes'>¶
- SPIKE_BTM_3 = <Upgrade.SPIKE_BTM_3: 'Long Life Spikes'>¶
- SPIKE_BTM_4 = <Upgrade.SPIKE_BTM_4: 'Deadly Spikes'>¶
- SPIKE_BTM_5 = <Upgrade.SPIKE_BTM_5: 'Perma-Spike'>¶
Achievement¶
- enum bloonspy.model.btd6.Achievement(value)¶
New in 0.5.0
Every achievement present in the game.
Valid values are as follows:
- FIRST_WIN = <Achievement.FIRST_WIN: 'First Win'>¶
- HERO_TIME = <Achievement.HERO_TIME: 'Hero Time'>¶
- HERO_POWERS_ACTIVATE = <Achievement.HERO_POWERS_ACTIVATE: 'Hero Powers Activate'>¶
- BIGGER_BADDER = <Achievement.BIGGER_BADDER: 'Bigger, Badder'>¶
- BIG_MONKEY = <Achievement.BIG_MONKEY: 'Big Monkey'>¶
- CHALLENGER = <Achievement.CHALLENGER: 'Challenger'>¶
- STUDENT = <Achievement.STUDENT: 'Student'>¶
- MEGA_MONKEY = <Achievement.MEGA_MONKEY: 'Mega Monkey'>¶
- ROLE_REVERSER = <Achievement.ROLE_REVERSER: 'Role Reverser'>¶
- MONKEY_AVENGER_LEAGUE = <Achievement.MONKEY_AVENGER_LEAGUE: 'Monkey Avenger League'>¶
- SCHOLAR = <Achievement.SCHOLAR: 'Scholar'>¶
- NEXT_LEVEL = <Achievement.NEXT_LEVEL: 'Next Level'>¶
- GRASSHOPPER = <Achievement.GRASSHOPPER: 'Grasshopper'>¶
- FIRST_MONKEYS_FIRST = <Achievement.FIRST_MONKEYS_FIRST: 'First Monkeys First'>¶
- INFRARED = <Achievement.INFRARED: 'Infrared'>¶
- WAR_MONKEYS = <Achievement.WAR_MONKEYS: 'War Monkeys'>¶
- YOUVE_GOT_THE_POWER = <Achievement.YOUVE_GOT_THE_POWER: "You've Got the Power">¶
- CHALLENGE_APPRENTICE = <Achievement.CHALLENGE_APPRENTICE: 'Challenge Apprentice'>¶
- EPIC_HERO = <Achievement.EPIC_HERO: 'Epic Hero'>¶
- SURVIVOR = <Achievement.SURVIVOR: 'Survivor'>¶
- ACOLYTE = <Achievement.ACOLYTE: 'Acolyte'>¶
- ABRACADABMONKEY = <Achievement.ABRACADABMONKEY: 'Abracadabmonkey'>¶
- MOAB_ASSASSIN = <Achievement.MOAB_ASSASSIN: 'MOAB Assassin'>¶
- MEDAL_WINNER = <Achievement.MEDAL_WINNER: 'Medal Winner'>¶
- OUR_POWERS_COMBINED = <Achievement.OUR_POWERS_COMBINED: 'Our Powers Combined'>¶
- CLICKER = <Achievement.CLICKER: 'Clicker'>¶
- KNOWLEDGABLE_PRIMATE = <Achievement.KNOWLEDGABLE_PRIMATE: 'Knowledgable Primate'>¶
- DECORATED_HERO = <Achievement.DECORATED_HERO: 'Decorated Hero'>¶
- BFB_BRAWLER = <Achievement.BFB_BRAWLER: 'BFB Brawler'>¶
- ADVANCED_PLAYER = <Achievement.ADVANCED_PLAYER: 'Advanced Player'>¶
- SUPERIOR_CLICKER = <Achievement.SUPERIOR_CLICKER: 'Superior Clicker'>¶
- POWER_USER = <Achievement.POWER_USER: 'Power User'>¶
- PERFECT_WEEK = <Achievement.PERFECT_WEEK: 'Perfect Week'>¶
- BIG_BLOONS = <Achievement.BIG_BLOONS: 'Big Bloons'>¶
- RED_AND_BLUE_MAKES = <Achievement.RED_AND_BLUE_MAKES: 'Red and Blue Makes...'>¶
- ROOKIE_OF_THE_YEAR = <Achievement.ROOKIE_OF_THE_YEAR: 'Rookie of the year'>¶
- THRIFTY = <Achievement.THRIFTY: 'Thrifty'>¶
- COOPERATION = <Achievement.COOPERATION: 'Co-operation'>¶
- TRIPLE_THREAT = <Achievement.TRIPLE_THREAT: 'Triple Threat'>¶
- KIND_BENEFACTOR = <Achievement.KIND_BENEFACTOR: 'Kind Benefactor'>¶
- GENEROUS_BENEFACTOR = <Achievement.GENEROUS_BENEFACTOR: 'Generous Benefactor'>¶
- MONKEY_CONTRIBUTOR = <Achievement.MONKEY_CONTRIBUTOR: 'Monkey Contributor'>¶
- FOUR_TIMES_THE_FUN = <Achievement.FOUR_TIMES_THE_FUN: 'Four times the fun'>¶
- COLLABORATE = <Achievement.COLLABORATE: 'Collaborate!'>¶
- ME_DID_A_JOB_ON_DDT = <Achievement.ME_DID_A_JOB_ON_DDT: 'Me Did A Job on DDT'>¶
- POWERSHARE = <Achievement.POWERSHARE: 'Powershare'>¶
- EMPOWERED = <Achievement.EMPOWERED: 'Empowered'>¶
- ALL_FOR_ONE_AND_ONE_FOR_ONE = <Achievement.ALL_FOR_ONE_AND_ONE_FOR_ONE: 'All for one and one for one'>¶
- TETRIMINO = <Achievement.TETRIMINO: 'Tetrimino'>¶
- RAINBOW_IS_MAGIC = <Achievement.RAINBOW_IS_MAGIC: 'Rainbow is Magic'>¶
- RISING_STAR = <Achievement.RISING_STAR: 'Rising star'>¶
- ULTIMATE_CLICKER = <Achievement.ULTIMATE_CLICKER: 'Ultimate Clicker'>¶
- SMALL_BLOONS = <Achievement.SMALL_BLOONS: 'Small Bloons'>¶
- ZOMGINATOR = <Achievement.ZOMGINATOR: 'ZOMGinator'>¶
- MASTER_OF_LIFE = <Achievement.MASTER_OF_LIFE: 'Master of Life'>¶
- LOOKING_FAB = <Achievement.LOOKING_FAB: 'Looking fab'>¶
- WHEN_THE_GOING_GETS_TOUGH = <Achievement.WHEN_THE_GOING_GETS_TOUGH: 'When the going gets tough...'>¶
- TOWER_KEEPER = <Achievement.TOWER_KEEPER: 'Tower Keeper'>¶
- DR_MONKEY = <Achievement.DR_MONKEY: 'Dr. Monkey'>¶
- THERPOPYLAE = <Achievement.THERPOPYLAE: 'Therpopylae'>¶
- MONKEY_PHILANTHROPIST = <Achievement.MONKEY_PHILANTHROPIST: 'Monkey Philanthropist'>¶
- I_SEE_YOU = <Achievement.I_SEE_YOU: 'I see you'>¶
- INDIE = <Achievement.INDIE: 'Indie'>¶
- IMPOPPABLE = <Achievement.IMPOPPABLE: 'Impoppable'>¶
- POPPABLE = <Achievement.POPPABLE: 'Poppable'>¶
- UNSUNG_MONKEYS = <Achievement.UNSUNG_MONKEYS: 'Unsung Monkeys'>¶
- A_CRATE_TIME = <Achievement.A_CRATE_TIME: 'A Crate Time'>¶
- BLOONZILLA = <Achievement.BLOONZILLA: 'Bloonzilla!'>¶
- GOLDEN_TICKET = <Achievement.GOLDEN_TICKET: 'Golden Ticket'>¶
- BILL_GREATES = <Achievement.BILL_GREATES: 'Bill Greates'>¶
- CO_OP_POPPER = <Achievement.CO_OP_POPPER: 'Co-op Popper!'>¶
- POWER_OVERWHELMING = <Achievement.POWER_OVERWHELMING: 'Power overwhelming!'>¶
- STRANGELY_ADORABLE = <Achievement.STRANGELY_ADORABLE: 'Strangely Adorable'>¶
- ADVENTURER = <Achievement.ADVENTURER: 'Adventurer'>¶
- SEASONED_ADVENTURER = <Achievement.SEASONED_ADVENTURER: 'Seasoned Adventurer'>¶
- ACHIEVEMENT_OF_ACHIEVEMENTS = <Achievement.ACHIEVEMENT_OF_ACHIEVEMENTS: 'Achievement Of Achievements'>¶
- MONKEY_FAN_CLUB = <Achievement.MONKEY_FAN_CLUB: 'Monkey Fan Club'>¶
- ALL_ABOUT_THAT_BLING = <Achievement.ALL_ABOUT_THAT_BLING: 'All About That Bling'>¶
- APOTHEOSIS = <Achievement.APOTHEOSIS: 'Apotheosis'>¶
- WHOS_THE_BOSS = <Achievement.WHOS_THE_BOSS: "Who's the Boss">¶
- WHAT_IS_THIS_NEW_BLOONERY = <Achievement.WHAT_IS_THIS_NEW_BLOONERY: 'What is this new Bloonery'>¶
- IM_THE_BOSS = <Achievement.IM_THE_BOSS: "I'm the Boss">¶
- COUPON_CRAZY = <Achievement.COUPON_CRAZY: 'Coupon Crazy'>¶
- MO_HEROES_MO_PROBLEMS = <Achievement.MO_HEROES_MO_PROBLEMS: 'Mo Heroes, Mo Problems'>¶
- BIG_SPENDER = <Achievement.BIG_SPENDER: 'Big Spender'>¶
- ILL_BE_BACK = <Achievement.ILL_BE_BACK: "I'll Be Back">¶
- TWO_TOWER_CHIMPS = <Achievement.TWO_TOWER_CHIMPS: '2TC'>¶
- WHAT_DID_IT_COST = <Achievement.WHAT_DID_IT_COST: 'What did it cost'>¶
- REGIFTED = <Achievement.REGIFTED: 'Regifted'>¶
- FULL_SPEED_AHEAD = <Achievement.FULL_SPEED_AHEAD: 'Full Speed Ahead!'>¶
- NO_STONE_LEFT_UNTURNED = <Achievement.NO_STONE_LEFT_UNTURNED: 'No Stone Left Unturned'>¶
- TOP_OF_YOUR_GAME = <Achievement.TOP_OF_YOUR_GAME: 'Top of your game'>¶
- SO_SPIIICEY_NINJA_KIWI = <Achievement.SO_SPIIICEY_NINJA_KIWI: 'So Spiiicey Ninj aKiwi'>¶
- SNAP_OF_YOUR_FINGERS = <Achievement.SNAP_OF_YOUR_FINGERS: 'Snap of your fingers'>¶
- SO_SHINY = <Achievement.SO_SHINY: 'So Shiny'>¶
- LIVING_ON_THE_EDGE = <Achievement.LIVING_ON_THE_EDGE: 'Living on the Edge'>¶
- MAGICAL_GOLD = <Achievement.MAGICAL_GOLD: 'Magical Gold'>¶
- HOOK_LINE_AND_SINKER = <Achievement.HOOK_LINE_AND_SINKER: 'Hook Line And Sinker'>¶
- SUPER_BAD = <Achievement.SUPER_BAD: 'Super BAD'>¶
- LIKE_A_BOSS = <Achievement.LIKE_A_BOSS: 'Like a Boss'>¶
- DAVIDS_VS_GOLIATH = <Achievement.DAVIDS_VS_GOLIATH: 'Davids Vs Goliath'>¶
- TOOLS_TO_DARWIN = <Achievement.TOOLS_TO_DARWIN: 'Tools To Darwin'>¶
- CHUNKY_MONKEYS = <Achievement.CHUNKY_MONKEYS: 'Chunky Monkeys'>¶
- NOT_LACKING_CRITICAL_INFORMATION = <Achievement.NOT_LACKING_CRITICAL_INFORMATION: 'Not Lacking Critical Information'>¶
- SOCIAL_BUTTERFLY = <Achievement.SOCIAL_BUTTERFLY: 'Social Butterfly'>¶
- PERFECT_PARAGON = <Achievement.PERFECT_PARAGON: 'Perfect Paragon'>¶
- TERRITORY_SAMPLER = <Achievement.TERRITORY_SAMPLER: 'Territory Sampler'>¶
- CONQUESTED_TERRITORY = <Achievement.CONQUESTED_TERRITORY: 'Conquested Territory'>¶
- INFLATED = <Achievement.INFLATED: 'Inflated'>¶
- OATHBREAKERS = <Achievement.OATHBREAKERS: 'Oathbreakers'>¶
- CHALLENGE_MASTER = <Achievement.CHALLENGE_MASTER: 'Challenge Master'>¶
- NO_HARVEST = <Achievement.NO_HARVEST: 'No Harvest'>¶
- STUBBORN_STRATEGY = <Achievement.STUBBORN_STRATEGY: 'Stubborn Strategy'>¶
- STAGE_OF_EMPIRES = <Achievement.STAGE_OF_EMPIRES: 'Stage of Empires'>¶
- A_LA_CODE = <Achievement.A_LA_CODE: 'A La Code'>¶
- AXIS_OF_HAVOK = <Achievement.AXIS_OF_HAVOK: 'Axis of Havok'>¶
- BLOON_MASTER_POPULOUS = <Achievement.BLOON_MASTER_POPULOUS: 'Bloon Master Populous'>¶
- READY_PLAYER_ONE = <Achievement.READY_PLAYER_ONE: 'Ready Player One'>¶
- THE_GREATEST_CHALLENGE = <Achievement.THE_GREATEST_CHALLENGE: 'The greatest challenge'>¶
- LIMITE_DRUN = <Achievement.LIMITE_DRUN: 'Limited Run'>¶
- TWELVE_TASKS_OF_MONKULES = <Achievement.TWELVE_TASKS_OF_MONKULES: '12 Tasks of Monk-ules'>¶
- INVIGORATION = <Achievement.INVIGORATION: 'Invigoration'>¶
- STICKY_SITUATION = <Achievement.STICKY_SITUATION: 'Sticky Situation'>¶
- BLOONTONA_500 = <Achievement.BLOONTONA_500: 'Bloontona 500'>¶
- SIDE_QUEST = <Achievement.SIDE_QUEST: 'Side Quest'>¶
- A_YEAR_IN_THE_MAKING = <Achievement.A_YEAR_IN_THE_MAKING: 'A year in the making'>¶
- WORLD_LEAGUE_TRAINING = <Achievement.WORLD_LEAGUE_TRAINING: 'World League Training'>¶
MapBorder¶
- enum bloonspy.model.btd6.MapBorder(value)¶
New in 0.5.0
Colors of the border of a map, to symbolize progression.
Valid values are as follows:
- NONE = <MapBorder.NONE: 'None'>¶
- BRONZE = <MapBorder.BRONZE: 'Bronze'>¶
- SILVER = <MapBorder.SILVER: 'Silver'>¶
- GOLD = <MapBorder.GOLD: 'Gold'>¶
- BLACK = <MapBorder.BLACK: 'Black'>¶
Map¶
- enum bloonspy.model.btd6.Map(value)¶
New in 0.5.0
All maps present in the game.
Valid values are as follows:
- MONKEY_MEADOW = <Map.MONKEY_MEADOW: 'Monkey Meadow'>¶
- TREE_STUMP = <Map.TREE_STUMP: 'Tree Stump'>¶
- TOWN_CENTRE = <Map.TOWN_CENTRE: 'Town Centre'>¶
- PARK_PATH = <Map.PARK_PATH: 'Park Path'>¶
- ALPINE_RUN = <Map.ALPINE_RUN: 'Alpine Run'>¶
- FROZEN_OVER = <Map.FROZEN_OVER: 'Frozen Over'>¶
- IN_THE_LOOP = <Map.IN_THE_LOOP: 'In The Loop'>¶
- CUBISM = <Map.CUBISM: 'Cubism'>¶
- FOUR_CIRCLES = <Map.FOUR_CIRCLES: 'Four Circles'>¶
- HEDGE = <Map.HEDGE: 'Hedge'>¶
- END_OF_THE_ROAD = <Map.END_OF_THE_ROAD: 'End Of The Road'>¶
- LOGS = <Map.LOGS: 'Logs'>¶
- SPRING_SPRING = <Map.SPRING_SPRING: 'Spring Spring'>¶
- KARTSNDARTS = <Map.KARTSNDARTS: 'Karts N Darts'>¶
- MOON_LANDING = <Map.MOON_LANDING: 'Moon Landing'>¶
- HAUNTED = <Map.HAUNTED: 'Haunted'>¶
- DOWNSTREAM = <Map.DOWNSTREAM: 'Downstream'>¶
- FIRING_RANGE = <Map.FIRING_RANGE: 'Firing Range'>¶
- CRACKED = <Map.CRACKED: 'Cracked'>¶
- STREAMBED = <Map.STREAMBED: 'Streambed'>¶
- CHUTES = <Map.CHUTES: 'Chutes'>¶
- RAKE = <Map.RAKE: 'Rake'>¶
- SPICE_ISLANDS = <Map.SPICE_ISLANDS: 'Spice Islands'>¶
- CARGO = <Map.CARGO: 'Cargo'>¶
- PATS_POND = <Map.PATS_POND: "Pat's Pond">¶
- PENINSULA = <Map.PENINSULA: 'Peninsula'>¶
- HIGH_FINANCE = <Map.HIGH_FINANCE: 'High Finance'>¶
- ANOTHER_BRICK = <Map.ANOTHER_BRICK: 'Another Brick'>¶
- OFF_THE_COAST = <Map.OFF_THE_COAST: 'Off The Coast'>¶
- CORNFIELD = <Map.CORNFIELD: 'Cornfield'>¶
- UNDERGROUND = <Map.UNDERGROUND: 'Underground'>¶
- QUAD = <Map.QUAD: 'Quad'>¶
- DARK_CASTLE = <Map.DARK_CASTLE: 'Dark Castle'>¶
- MUDDY_PUDDLES = <Map.MUDDY_PUDDLES: 'Muddy Puddles'>¶
- OUCH = <Map.OUCH: '#ouch'>¶
- SPILLWAY = <Map.SPILLWAY: 'Spillway'>¶
- WORKSHOP = <Map.WORKSHOP: 'Workshop'>¶
- CARVED = <Map.CARVED: 'Carved'>¶
- BLOODY_PUDDLES = <Map.BLOODY_PUDDLES: 'Bloody Puddles'>¶
- WINTER_PARK = <Map.WINTER_PARK: 'Winter Park'>¶
- ADORAS_TEMPLE = <Map.ADORAS_TEMPLE: "Adora's Temple">¶
- INFERNAL = <Map.INFERNAL: 'Infernal'>¶
- GEARED = <Map.GEARED: 'Geared'>¶
- CANDY_FALLS = <Map.CANDY_FALLS: 'Candy Falls'>¶
- BAZAAR = <Map.BAZAAR: 'Bazaar'>¶
- FLOODED_VALLEY = <Map.FLOODED_VALLEY: 'Flooded Valley'>¶
- LOTUS_ISLAND = <Map.LOTUS_ISLAND: 'Lotus Island'>¶
- RESORT = <Map.RESORT: 'Resort'>¶
- SKATES = <Map.SKATES: 'Skates'>¶
- BLOONARIUS_PRIME = <Map.BLOONARIUS_PRIME: 'Bloonarius Prime'>¶
- BALANCE = <Map.BALANCE: 'Balance'>¶
- ENCRYPTED = <Map.ENCRYPTED: 'Encrypted'>¶
- X_FACTOR = <Map.X_FACTOR: 'X Factor'>¶
- MESA = <Map.MESA: 'Mesa'>¶
- SANCTUARY = <Map.SANCTUARY: 'Sanctuary'>¶
- RAVINE = <Map.RAVINE: 'Ravine'>¶
- SCRAPYARD = <Map.SCRAPYARD: 'Scrapyard'>¶
- THE_CABIN = <Map.THE_CABIN: 'The Cabin'>¶
- QUARRY = <Map.QUARRY: 'Quarry'>¶
- QUIET_STREET = <Map.QUIET_STREET: 'Quiet Street'>¶
- SUNKEN_COLUMNS = <Map.SUNKEN_COLUMNS: 'Sunken Columns'>¶
- COVERED_GARDEN = <Map.COVERED_GARDEN: 'Covered Garden'>¶
- MIDNIGHT_MANSION = <Map.MIDNIGHT_MANSION: 'Midnight Mansion'>¶
- ONE_TWO_TREE = <Map.ONE_TWO_TREE: 'One Two Tree'>¶
- MIDDLE_OF_THE_ROAD = <Map.MIDDLE_OF_THE_ROAD: 'Middle Of The Road'>¶
- POLYPHEMUS = <Map.POLYPHEMUS: 'Polyphemus'>¶
- WATER_PARK = <Map.WATER_PARK: 'Water Park'>¶
- DARK_PATH = <Map.DARK_PATH: 'Dark Path'>¶
- CUSTOM_MAP = <Map.CUSTOM_MAP: 'Custom Map'>¶
Relic¶
- enum bloonspy.model.btd6.Relic(value)¶
New in 0.6.0.
Represents Relic Knowledge.
Valid values are as follows:
- ABILITIZED = <Relic.ABILITIZED: 'Abilitized'>¶
- AIR_AND_SEA = <Relic.AIR_AND_SEA: 'Air And Sea'>¶
- ALCHEMIST_TOUCH = <Relic.ALCHEMIST_TOUCH: 'Alchemist Touch'>¶
- BIGGER_BLOON_SABOTAGE = <Relic.BIGGER_BLOON_SABOTAGE: 'Bigger Bloon Sabotage'>¶
- BOX_OF_CHOCOLATES = <Relic.BOX_OF_CHOCOLATES: 'Box Of Chocolates'>¶
- BOX_OF_MONKEY = <Relic.BOX_OF_MONKEY: 'Box Of Monkey'>¶
- BROKEN_HEART = <Relic.BROKEN_HEART: 'Broken Heart'>¶
- CAMO_FLOGGED = <Relic.CAMO_FLOGGED: 'Camo Flogged'>¶
- CAMO_TRAP = <Relic.CAMO_TRAP: 'Camo Trap'>¶
- DEEP_HEAT = <Relic.DEEP_HEAT: 'Deep Heat'>¶
- DURABLE_SHOTS = <Relic.DURABLE_SHOTS: 'Durable Shots'>¶
- EL_DORADO = <Relic.EL_DORADO: 'El Dorado'>¶
- EXTRA_EMPOWERED = <Relic.EXTRA_EMPOWERED: 'Extra Empowered'>¶
- FLINT_TIPS = <Relic.FLINT_TIPS: 'Flint Tips'>¶
- FORTIFRIED = <Relic.FORTIFRIED: 'Fortifried'>¶
- GLUE_TRAP = <Relic.GLUE_TRAP: 'Glue Trap'>¶
- GOING_THE_DISTANCE = <Relic.GOING_THE_DISTANCE: 'Going The Distance'>¶
- HARD_BAKED = <Relic.HARD_BAKED: 'Hard Baked'>¶
- HEARTLESS = <Relic.HEARTLESS: 'Heartless'>¶
- HERO_BOOST = <Relic.HERO_BOOST: 'Hero Boost'>¶
- MAGIC_MONKEYS = <Relic.MAGIC_MONKEYS: 'Magic Monkeys'>¶
- MANA_BULWARK = <Relic.MANA_BULWARK: 'Mana Bulwark'>¶
- MARCHING_BOOTS = <Relic.MARCHING_BOOTS: 'Marching Boots'>¶
- MILITARY_MONKEYS = <Relic.MILITARY_MONKEYS: 'Military Monkeys'>¶
- MOAB_CLASH = <Relic.MOAB_CLASH: 'MOAB Clash'>¶
- MOAB_MINE = <Relic.MOAB_MINE: 'MOAB Mine'>¶
- MONKEY_BOOST = <Relic.MONKEY_BOOST: 'Monkey Boost'>¶
- MONKEY_SHIELD = <Relic.MONKEY_SHIELD: 'Monkey Shield'>¶
- MONKEY_SHIELD_MARK2 = <Relic.MONKEY_SHIELD_MARK2: 'Monkey Shield MKII'>¶
- MONKEY_SHIELD_MARK3 = <Relic.MONKEY_SHIELD_MARK3: 'Monkey Shield MKIII'>¶
- MONKEY_TYCOON = <Relic.MONKEY_TYCOON: 'Monkey Tycoon'>¶
- OPEN_SEASON = <Relic.OPEN_SEASON: 'Open Season'>¶
- PRIMARY_PRIMATES = <Relic.PRIMARY_PRIMATES: 'Primary Primates'>¶
- PSI_VISION = <Relic.PSI_VISION: 'Psi Vision'>¶
- REGENERATION = <Relic.REGENERATION: 'Regeneration'>¶
- RESTORATION = <Relic.RESTORATION: 'Restoration'>¶
- ROAD_SPIKES = <Relic.ROAD_SPIKES: 'Road Spikes'>¶
- ROUNDING_UP = <Relic.ROUNDING_UP: 'Rounding Up'>¶
- ROYAL_TREATMENT = <Relic.ROYAL_TREATMENT: 'Royal Treatment'>¶
- SHARPSPLOSION = <Relic.SHARPSPLOSION: 'Sharpsplosion'>¶
- STARTING_STASH = <Relic.STARTING_STASH: 'Starting Stash'>¶
- SMS = <Relic.SMS: 'Super Monkey Storm'>¶
- SUPPORT_SIMIANS = <Relic.SUPPORT_SIMIANS: 'Support Simians'>¶
- TECHBOT = <Relic.TECHBOT: 'Techbot'>¶
- THRIVE = <Relic.THRIVE: 'Thrive'>¶
CtTileType¶
- enum bloonspy.model.btd6.CtTileType(value)¶
New in 0.6.0.
Represents a CT tile’s type, or what’s on top of it.
Valid values are as follows:
- TEAM_START = <CtTileType.TEAM_START: 'Team Start'>¶
- REGULAR = <CtTileType.REGULAR: 'Regular'>¶
- RELIC = <CtTileType.RELIC: 'Relic'>¶
- BANNER = <CtTileType.BANNER: 'Banner'>¶
GameType¶
GameType¶
Exceptions¶
BloonsException¶
- class bloonspy.exceptions.BloonsException¶
Superclass for all Bloons exceptions. Can be used as a catch-all.
NotFound¶
- class bloonspy.exceptions.NotFound¶
The requested resource or event doesn’t exist or has expired.
UnderMaintenance¶
- class bloonspy.exceptions.UnderMaintenance¶
The Ninja Kiwi server is under maintenance.
BadTeamSize¶
- class bloonspy.exceptions.BadTeamSize¶
You specified a bad team size.
InvalidTowerPath¶
- class bloonspy.exceptions.InvalidTowerPath(tp: int, mp: int, bp: int)¶
New in 0.5.0
You specified a bad path (for example: 522).
Forbidden¶
- class bloonspy.exceptions.Forbidden¶
New in 0.5.0
You are not allowed to use this method.