diff --git a/.efrocachemap b/.efrocachemap
index 7206fa65..8a51eada 100644
--- a/.efrocachemap
+++ b/.efrocachemap
@@ -1,425 +1,425 @@
{
- "assets/build/ba_data/audio/achievement.ogg": "https://files.ballistica.net/cache/ba1/cb/ab/2d6ea35efc25d60a438e7ece17da",
- "assets/build/ba_data/audio/actionHero1.ogg": "https://files.ballistica.net/cache/ba1/5f/f8/e28c70dae7478253a593055b7f39",
- "assets/build/ba_data/audio/actionHero2.ogg": "https://files.ballistica.net/cache/ba1/a2/9c/1e5d37cc7f17faa51b8687bdfbdd",
- "assets/build/ba_data/audio/actionHero3.ogg": "https://files.ballistica.net/cache/ba1/83/c6/af98a7f49372ee42ae4e13b94c1f",
- "assets/build/ba_data/audio/actionHero4.ogg": "https://files.ballistica.net/cache/ba1/a1/ec/92187fe07c7104ecb95d592745ce",
- "assets/build/ba_data/audio/actionHeroDeath.ogg": "https://files.ballistica.net/cache/ba1/b5/40/f13df4e9759bf6a07d16126ad209",
- "assets/build/ba_data/audio/actionHeroFall.ogg": "https://files.ballistica.net/cache/ba1/f6/e2/e79abf259be67f747227f703897b",
- "assets/build/ba_data/audio/actionHeroHit1.ogg": "https://files.ballistica.net/cache/ba1/5e/86/aad0e972ecd05cbb47c0d763ed94",
- "assets/build/ba_data/audio/actionHeroHit2.ogg": "https://files.ballistica.net/cache/ba1/b3/3b/061719631d7b6456007fee1ea7cb",
- "assets/build/ba_data/audio/activateBeep.ogg": "https://files.ballistica.net/cache/ba1/78/5e/925c8c553299727135831a57b70e",
- "assets/build/ba_data/audio/agent1.ogg": "https://files.ballistica.net/cache/ba1/19/73/5845fb4cb3452a4e7cc406d6c308",
- "assets/build/ba_data/audio/agent2.ogg": "https://files.ballistica.net/cache/ba1/32/7f/ca537f1df01d03a883edd3e56465",
- "assets/build/ba_data/audio/agent3.ogg": "https://files.ballistica.net/cache/ba1/bb/8a/543d0f44b6c7e7435f309db67830",
- "assets/build/ba_data/audio/agent4.ogg": "https://files.ballistica.net/cache/ba1/64/f7/968ec161fbd4664dcb02adad36bc",
- "assets/build/ba_data/audio/agentDeath.ogg": "https://files.ballistica.net/cache/ba1/cc/eb/0f4fb1f08488b983696f9bae1f04",
- "assets/build/ba_data/audio/agentFall.ogg": "https://files.ballistica.net/cache/ba1/2b/07/8147ad5e3ed939b20917bca07ce7",
- "assets/build/ba_data/audio/agentHit1.ogg": "https://files.ballistica.net/cache/ba1/28/97/81c2486a7f2a21b01c0c37897851",
- "assets/build/ba_data/audio/agentHit2.ogg": "https://files.ballistica.net/cache/ba1/97/5b/68d5e47bcc38b41c1c021fca6734",
- "assets/build/ba_data/audio/alarm.ogg": "https://files.ballistica.net/cache/ba1/e6/c7/494a9ab00fcbefcafc5708b965fc",
- "assets/build/ba_data/audio/ali1.ogg": "https://files.ballistica.net/cache/ba1/ab/06/a5101ba8bf3ece607dcab63f638c",
- "assets/build/ba_data/audio/ali2.ogg": "https://files.ballistica.net/cache/ba1/eb/30/68ed4470cd99fd9d5e92da402e79",
- "assets/build/ba_data/audio/ali3.ogg": "https://files.ballistica.net/cache/ba1/08/45/fd48e69b43ad0c407a3c6538187d",
- "assets/build/ba_data/audio/ali4.ogg": "https://files.ballistica.net/cache/ba1/64/82/010bfa0a8c42b16590fd3567a5d3",
- "assets/build/ba_data/audio/aliDeath.ogg": "https://files.ballistica.net/cache/ba1/61/45/bc437757318afdaafcd939295257",
- "assets/build/ba_data/audio/aliFall.ogg": "https://files.ballistica.net/cache/ba1/f1/35/4e5c372963c6151bf8c4e330add0",
- "assets/build/ba_data/audio/aliHit1.ogg": "https://files.ballistica.net/cache/ba1/a1/bf/236d797fefd739a0faca9d43a05e",
- "assets/build/ba_data/audio/aliHit2.ogg": "https://files.ballistica.net/cache/ba1/3e/63/dcb20edee20a60d5a1ed442aaeb9",
- "assets/build/ba_data/audio/alien1.ogg": "https://files.ballistica.net/cache/ba1/92/1d/ecbba63b9a4f09362fdae312bbed",
- "assets/build/ba_data/audio/alien2.ogg": "https://files.ballistica.net/cache/ba1/d6/47/894134eeb6d969d2ccd62325d54f",
- "assets/build/ba_data/audio/alien3.ogg": "https://files.ballistica.net/cache/ba1/6d/14/2f5afc9cab01c13d4101014497cb",
- "assets/build/ba_data/audio/alien4.ogg": "https://files.ballistica.net/cache/ba1/31/9e/cf4924e83b1295ac46e3ef6b3200",
- "assets/build/ba_data/audio/alienDeath.ogg": "https://files.ballistica.net/cache/ba1/5c/06/88114cbc4523a6967fb068a31d72",
- "assets/build/ba_data/audio/alienFall.ogg": "https://files.ballistica.net/cache/ba1/50/e6/19e2c76c858a0062e23630d2a739",
- "assets/build/ba_data/audio/alienHit1.ogg": "https://files.ballistica.net/cache/ba1/67/62/a4501475b13c36e3cd20c08535a1",
- "assets/build/ba_data/audio/alienHit2.ogg": "https://files.ballistica.net/cache/ba1/d5/c3/c4616a4d3a68a972bd53944839bb",
- "assets/build/ba_data/audio/announceEight.ogg": "https://files.ballistica.net/cache/ba1/42/b1/e686feb97d65eaae220f8fcadfef",
- "assets/build/ba_data/audio/announceFive.ogg": "https://files.ballistica.net/cache/ba1/61/a4/7436a7c49e99630ff02d342399c3",
- "assets/build/ba_data/audio/announceFour.ogg": "https://files.ballistica.net/cache/ba1/3e/48/20584897c0b9a834dec42da0abbd",
- "assets/build/ba_data/audio/announceNine.ogg": "https://files.ballistica.net/cache/ba1/53/e0/6e3980f8662d57259735a1ba74a9",
- "assets/build/ba_data/audio/announceOne.ogg": "https://files.ballistica.net/cache/ba1/bb/d8/23d80294d743605ffe300bc13c67",
- "assets/build/ba_data/audio/announceSeven.ogg": "https://files.ballistica.net/cache/ba1/c0/70/32a7f0985cb4da92ab54a353434f",
- "assets/build/ba_data/audio/announceSix.ogg": "https://files.ballistica.net/cache/ba1/81/8d/a4adf86b22c56301e775eb5ec7c8",
- "assets/build/ba_data/audio/announceTen.ogg": "https://files.ballistica.net/cache/ba1/e1/fa/14a0e93ab607c0d0cb59e44d2595",
- "assets/build/ba_data/audio/announceThree.ogg": "https://files.ballistica.net/cache/ba1/82/c4/9a3f54546bb67069d4eb28e14bb7",
- "assets/build/ba_data/audio/announceTwo.ogg": "https://files.ballistica.net/cache/ba1/75/41/888c7b22351424e71527792c9e2f",
- "assets/build/ba_data/audio/assassin1.ogg": "https://files.ballistica.net/cache/ba1/65/d9/1f1d586e426935f4e42d613bf229",
- "assets/build/ba_data/audio/assassin2.ogg": "https://files.ballistica.net/cache/ba1/c2/1a/46720c6613b6aa32ece147707383",
- "assets/build/ba_data/audio/assassin3.ogg": "https://files.ballistica.net/cache/ba1/e9/4a/42a2dc60b7b889b8ac446fa2bca5",
- "assets/build/ba_data/audio/assassin4.ogg": "https://files.ballistica.net/cache/ba1/56/5c/fc77452f83d8f37b2dac7d1b429c",
- "assets/build/ba_data/audio/assassinDeath.ogg": "https://files.ballistica.net/cache/ba1/bd/ee/e9e36b97abf7b59e20bacc1cfb06",
- "assets/build/ba_data/audio/assassinFall.ogg": "https://files.ballistica.net/cache/ba1/18/a6/613c0cdc89266d007e30942cf933",
- "assets/build/ba_data/audio/assassinHit1.ogg": "https://files.ballistica.net/cache/ba1/ed/c5/288fd1d3b1f046e54fe15bfbb0cb",
- "assets/build/ba_data/audio/assassinHit2.ogg": "https://files.ballistica.net/cache/ba1/9e/3a/6599fd2c5b164e323f0c1520cd54",
- "assets/build/ba_data/audio/bear1.ogg": "https://files.ballistica.net/cache/ba1/4f/56/abd87a1509aae2fe2a916a838738",
- "assets/build/ba_data/audio/bear2.ogg": "https://files.ballistica.net/cache/ba1/5a/79/e3d5eb66dad4419a444ef9e78800",
- "assets/build/ba_data/audio/bear3.ogg": "https://files.ballistica.net/cache/ba1/40/41/fc30bda6d0512c65f0f5c2af5fd6",
- "assets/build/ba_data/audio/bear4.ogg": "https://files.ballistica.net/cache/ba1/11/d0/2098ad6707eb3990ebfa247ed2aa",
- "assets/build/ba_data/audio/bearDeath.ogg": "https://files.ballistica.net/cache/ba1/43/7d/f55df97e3ece6d0a35131a7cbd8e",
- "assets/build/ba_data/audio/bearFall.ogg": "https://files.ballistica.net/cache/ba1/b8/11/a8fc8e12c61284355395b66f1208",
- "assets/build/ba_data/audio/bearHit1.ogg": "https://files.ballistica.net/cache/ba1/d5/5c/401deb576e2b33abecce9f11a1c3",
- "assets/build/ba_data/audio/bearHit2.ogg": "https://files.ballistica.net/cache/ba1/f5/c3/f9045d531d4f6a94345f23eef7c2",
- "assets/build/ba_data/audio/bellHigh.ogg": "https://files.ballistica.net/cache/ba1/83/12/2563f760c5708d07131b62a3205c",
- "assets/build/ba_data/audio/bellLow.ogg": "https://files.ballistica.net/cache/ba1/0c/e7/0b7f120498c93f4b73d9605a9c05",
- "assets/build/ba_data/audio/bellMed.ogg": "https://files.ballistica.net/cache/ba1/3c/86/0ffdef9573bed45f5c02b16a0a9c",
- "assets/build/ba_data/audio/bigImpact.ogg": "https://files.ballistica.net/cache/ba1/a9/33/6d6856fce790ea58725968ee994f",
- "assets/build/ba_data/audio/bigImpact2.ogg": "https://files.ballistica.net/cache/ba1/79/78/c5ae3896392876024d0dc5b09abe",
- "assets/build/ba_data/audio/blank.ogg": "https://files.ballistica.net/cache/ba1/36/34/1091be93fc4de625b349619e5d4a",
- "assets/build/ba_data/audio/blip.ogg": "https://files.ballistica.net/cache/ba1/56/6a/0a9ce1a16ff567346b5274d4d3fc",
- "assets/build/ba_data/audio/block.ogg": "https://files.ballistica.net/cache/ba1/94/8b/612f7219dda2ab10bc915826bc1d",
- "assets/build/ba_data/audio/bombDrop01.ogg": "https://files.ballistica.net/cache/ba1/48/e4/7059abf02828e2b2028ece33d4fb",
- "assets/build/ba_data/audio/bombDrop02.ogg": "https://files.ballistica.net/cache/ba1/c4/09/667eaeab8e953e266b2590174392",
- "assets/build/ba_data/audio/bombRoll01.ogg": "https://files.ballistica.net/cache/ba1/eb/e6/449ff777ac20f3dde1dbc8fcbae5",
- "assets/build/ba_data/audio/bones1.ogg": "https://files.ballistica.net/cache/ba1/86/9e/cdc4cc56d18de403c997721c296e",
- "assets/build/ba_data/audio/bones2.ogg": "https://files.ballistica.net/cache/ba1/a4/27/84d4389613cb70e6b6b01c518342",
- "assets/build/ba_data/audio/bones3.ogg": "https://files.ballistica.net/cache/ba1/b5/75/8fc4027848a6b070d8a5d738c46f",
- "assets/build/ba_data/audio/bonesDeath.ogg": "https://files.ballistica.net/cache/ba1/6b/b6/0297afbded9af2527b42229a8594",
- "assets/build/ba_data/audio/bonesFall.ogg": "https://files.ballistica.net/cache/ba1/fc/6c/83feba62ebdefa5c54fab3e1ff7f",
- "assets/build/ba_data/audio/boo.ogg": "https://files.ballistica.net/cache/ba1/ec/db/582d0730aa22e1f96329e7b5bd22",
- "assets/build/ba_data/audio/boxDrop.ogg": "https://files.ballistica.net/cache/ba1/ca/32/f71e4e7c6c821fe3cedf729ceda6",
- "assets/build/ba_data/audio/boxingBell.ogg": "https://files.ballistica.net/cache/ba1/d9/f6/a76ab7158580e9900cf8b09dc5c7",
- "assets/build/ba_data/audio/bunny1.ogg": "https://files.ballistica.net/cache/ba1/50/3d/ded806bbb47d207d85487989ef75",
- "assets/build/ba_data/audio/bunny2.ogg": "https://files.ballistica.net/cache/ba1/6c/0c/1a7063168bb67d625f095409ba22",
- "assets/build/ba_data/audio/bunny3.ogg": "https://files.ballistica.net/cache/ba1/77/40/5c29e993c896e5aac26173c297bc",
- "assets/build/ba_data/audio/bunny4.ogg": "https://files.ballistica.net/cache/ba1/b9/8e/2c3a9bc55c140bea8b22bfc74e05",
- "assets/build/ba_data/audio/bunnyDeath.ogg": "https://files.ballistica.net/cache/ba1/c8/b6/0fae511916818a5d2e96f997bd53",
- "assets/build/ba_data/audio/bunnyFall.ogg": "https://files.ballistica.net/cache/ba1/16/42/f56c2241fc379d4fed2e859de91d",
- "assets/build/ba_data/audio/bunnyHit1.ogg": "https://files.ballistica.net/cache/ba1/ed/19/4c7adb273ecd9a4daeb0aa1871e7",
- "assets/build/ba_data/audio/bunnyHit2.ogg": "https://files.ballistica.net/cache/ba1/56/46/6089ad88b17cc7b54cb8278e0827",
- "assets/build/ba_data/audio/bunnyJump.ogg": "https://files.ballistica.net/cache/ba1/51/89/51bf0ef263ce6e93fe4952053ee2",
- "assets/build/ba_data/audio/cashRegister.ogg": "https://files.ballistica.net/cache/ba1/19/ba/474d5016013849089bd53fea405b",
- "assets/build/ba_data/audio/cashRegister2.ogg": "https://files.ballistica.net/cache/ba1/57/2a/9f46332bf8fec2f9edeb1e2b41d0",
- "assets/build/ba_data/audio/charSelectMusic.ogg": "https://files.ballistica.net/cache/ba1/88/43/ca42428df5ddd98afcdc230d3bfa",
- "assets/build/ba_data/audio/cheer.ogg": "https://files.ballistica.net/cache/ba1/88/d3/7c4a6ce953e32bea70f2a960aa2d",
- "assets/build/ba_data/audio/click01.ogg": "https://files.ballistica.net/cache/ba1/46/52/58ade1fd15a5b105156d94435dc7",
- "assets/build/ba_data/audio/corkPop.ogg": "https://files.ballistica.net/cache/ba1/bb/64/00f03c3c8dc1a4de948135d0313b",
- "assets/build/ba_data/audio/cowboy1.ogg": "https://files.ballistica.net/cache/ba1/68/13/107eb7b0ab45fe2c97c20d0aa0d1",
- "assets/build/ba_data/audio/cowboy2.ogg": "https://files.ballistica.net/cache/ba1/4e/20/d14b17a7c7dfd6c1e7a581ab7c13",
- "assets/build/ba_data/audio/cowboy3.ogg": "https://files.ballistica.net/cache/ba1/b3/13/24d779bccb5d629232bad9561696",
- "assets/build/ba_data/audio/cowboy4.ogg": "https://files.ballistica.net/cache/ba1/45/4f/e74a3a2af2266f6cb84634794b43",
- "assets/build/ba_data/audio/cowboyDeath.ogg": "https://files.ballistica.net/cache/ba1/32/60/f8f038fd6051536073aeb3afc8f6",
- "assets/build/ba_data/audio/cowboyFall.ogg": "https://files.ballistica.net/cache/ba1/1a/7b/40760c8cf56f49cfd5f50ebeb1b8",
- "assets/build/ba_data/audio/cowboyHit1.ogg": "https://files.ballistica.net/cache/ba1/a3/11/ed69e9bf10790291bdc4ff58c4f3",
- "assets/build/ba_data/audio/cowboyHit2.ogg": "https://files.ballistica.net/cache/ba1/c6/50/1fd260288b18d4713de3953ff80b",
- "assets/build/ba_data/audio/crowdChant.ogg": "https://files.ballistica.net/cache/ba1/0a/84/2866198cedd9f6d6130cb1c515b4",
- "assets/build/ba_data/audio/cyborg1.ogg": "https://files.ballistica.net/cache/ba1/e3/9f/471f6a84f196ed866b2174bf9c92",
- "assets/build/ba_data/audio/cyborg2.ogg": "https://files.ballistica.net/cache/ba1/43/58/d8eaf3477f352bf2639f6bc69338",
- "assets/build/ba_data/audio/cyborg3.ogg": "https://files.ballistica.net/cache/ba1/91/71/6eca76defc42c58c0e4d3a563cce",
- "assets/build/ba_data/audio/cyborg4.ogg": "https://files.ballistica.net/cache/ba1/34/62/4ff3eafad0116710a8b43167899d",
- "assets/build/ba_data/audio/cyborgDeath.ogg": "https://files.ballistica.net/cache/ba1/39/15/2b868c62b7e57871f86456702e2d",
- "assets/build/ba_data/audio/cyborgFall.ogg": "https://files.ballistica.net/cache/ba1/5e/03/a97150ab79c3c5f6949f257f0d05",
- "assets/build/ba_data/audio/cyborgHit1.ogg": "https://files.ballistica.net/cache/ba1/e9/2a/c2ceda9d5108ec9da01f6eaf6d66",
- "assets/build/ba_data/audio/cyborgHit2.ogg": "https://files.ballistica.net/cache/ba1/f2/4a/57ca0f7f061c81894ae31240fb68",
- "assets/build/ba_data/audio/cymbal.ogg": "https://files.ballistica.net/cache/ba1/65/3d/096ba6468a191c2bb0841715cf0e",
- "assets/build/ba_data/audio/debrisFall.ogg": "https://files.ballistica.net/cache/ba1/c5/2c/daeea5fe8ee17bb98fccd964294d",
- "assets/build/ba_data/audio/deek.ogg": "https://files.ballistica.net/cache/ba1/30/8c/7443bed085ff0142cf02a1212bd5",
- "assets/build/ba_data/audio/deek2.ogg": "https://files.ballistica.net/cache/ba1/02/9b/d82898d809fcdc31536434c4664f",
- "assets/build/ba_data/audio/ding.ogg": "https://files.ballistica.net/cache/ba1/a6/05/8d63d138a3def941a5fa3e9d29d8",
- "assets/build/ba_data/audio/dingSmall.ogg": "https://files.ballistica.net/cache/ba1/2e/99/c2bbeb7ad34af7cdc2e5bdc0162e",
- "assets/build/ba_data/audio/dingSmallHigh.ogg": "https://files.ballistica.net/cache/ba1/56/34/44a17eb4a03b0af4cda2635e6f9f",
- "assets/build/ba_data/audio/dripity.ogg": "https://files.ballistica.net/cache/ba1/25/2c/a0c8f8b402266692fc619caecee9",
- "assets/build/ba_data/audio/drumRoll.ogg": "https://files.ballistica.net/cache/ba1/77/1e/35b3f6e0536006c7cb49f0cb10df",
- "assets/build/ba_data/audio/error.ogg": "https://files.ballistica.net/cache/ba1/66/94/51b1f7f236d527e5c6b7aaa38df4",
- "assets/build/ba_data/audio/explosion01.ogg": "https://files.ballistica.net/cache/ba1/28/8b/354d177513c116e8ffe8c4a33170",
- "assets/build/ba_data/audio/explosion02.ogg": "https://files.ballistica.net/cache/ba1/a2/85/7e036bfe7ca05f71d32da98c5f97",
- "assets/build/ba_data/audio/explosion03.ogg": "https://files.ballistica.net/cache/ba1/a8/79/bece5fe5fd9f4e7d51efa1dc1456",
- "assets/build/ba_data/audio/explosion04.ogg": "https://files.ballistica.net/cache/ba1/cb/21/360b3d69ad2f26ccba5357e39e1a",
- "assets/build/ba_data/audio/explosion05.ogg": "https://files.ballistica.net/cache/ba1/ca/48/22180176ef8ca975c15dc0fe8fdf",
- "assets/build/ba_data/audio/fanfare.ogg": "https://files.ballistica.net/cache/ba1/e9/08/ca9f982446c394120e8b1087c839",
- "assets/build/ba_data/audio/flagCatcherMusic.ogg": "https://files.ballistica.net/cache/ba1/f8/4a/e6e9f5e1748fc0f5da61b4270051",
- "assets/build/ba_data/audio/flyingMusic.ogg": "https://files.ballistica.net/cache/ba1/e0/50/ac8414bb072b1003689d2e25aa55",
- "assets/build/ba_data/audio/foghorn.ogg": "https://files.ballistica.net/cache/ba1/ad/81/f239c532e098a75ec31b0ea1be18",
- "assets/build/ba_data/audio/footImpact01.ogg": "https://files.ballistica.net/cache/ba1/95/cd/b1cdf4f368f181485364c4523e1f",
- "assets/build/ba_data/audio/footImpact02.ogg": "https://files.ballistica.net/cache/ba1/cb/62/1aa42e0ffd1fc6a2d903d41c2ffb",
- "assets/build/ba_data/audio/footImpact03.ogg": "https://files.ballistica.net/cache/ba1/1d/1e/51ac91bcb961f6919c239de832db",
- "assets/build/ba_data/audio/forwardMarchMusic.ogg": "https://files.ballistica.net/cache/ba1/ae/e2/f126bdf270f6e0e0df8960d47e62",
- "assets/build/ba_data/audio/freeze.ogg": "https://files.ballistica.net/cache/ba1/aa/09/04cfd6bd13c85d4fea0c1ea64cd2",
- "assets/build/ba_data/audio/frosty01.ogg": "https://files.ballistica.net/cache/ba1/fe/2c/523d70333081c5a601754af177b8",
- "assets/build/ba_data/audio/frosty02.ogg": "https://files.ballistica.net/cache/ba1/7e/31/ef9b158f59f7c2ba999d6e7ab659",
- "assets/build/ba_data/audio/frosty03.ogg": "https://files.ballistica.net/cache/ba1/85/b0/c0af5d2822fb8b16d54547de91e0",
- "assets/build/ba_data/audio/frosty04.ogg": "https://files.ballistica.net/cache/ba1/a5/30/8df73c185bfdea6ff68ade0cc1fd",
- "assets/build/ba_data/audio/frosty05.ogg": "https://files.ballistica.net/cache/ba1/3d/51/8cdde58436dbf07811e17960530c",
- "assets/build/ba_data/audio/frostyDeath.ogg": "https://files.ballistica.net/cache/ba1/81/4f/94d1d3a0a0d4d76ec157c9e62f5d",
- "assets/build/ba_data/audio/frostyFall.ogg": "https://files.ballistica.net/cache/ba1/66/f1/189455d59d83befc748023eb5a3b",
- "assets/build/ba_data/audio/frostyHit01.ogg": "https://files.ballistica.net/cache/ba1/93/b9/efb726844982629e84436eff6b70",
- "assets/build/ba_data/audio/frostyHit02.ogg": "https://files.ballistica.net/cache/ba1/5a/c6/f5468203e6a1e7a88cd1df36cddb",
- "assets/build/ba_data/audio/frostyHit03.ogg": "https://files.ballistica.net/cache/ba1/11/a7/10058c88ae6c0616c242a81225cb",
- "assets/build/ba_data/audio/fuse01.ogg": "https://files.ballistica.net/cache/ba1/c0/6d/cea041c63d5e6c2673a155ef3b5e",
- "assets/build/ba_data/audio/gladiator1.ogg": "https://files.ballistica.net/cache/ba1/83/c3/7f27a72348692a28f3d934721a70",
- "assets/build/ba_data/audio/gladiator2.ogg": "https://files.ballistica.net/cache/ba1/c6/25/9f7e88466aa35312b576671efcb9",
- "assets/build/ba_data/audio/gladiator3.ogg": "https://files.ballistica.net/cache/ba1/9a/a0/dd97f411483f32e9ca28e97978ec",
- "assets/build/ba_data/audio/gladiator4.ogg": "https://files.ballistica.net/cache/ba1/e9/0b/1037b4fd77a0609a731421142069",
- "assets/build/ba_data/audio/gladiatorDeath.ogg": "https://files.ballistica.net/cache/ba1/58/dc/242c3c9db9ea287a7ca84d4b58f2",
- "assets/build/ba_data/audio/gladiatorFall.ogg": "https://files.ballistica.net/cache/ba1/9e/b4/e97cb15384b43bc44848a9940fcd",
- "assets/build/ba_data/audio/gladiatorHit1.ogg": "https://files.ballistica.net/cache/ba1/78/1c/2c14f09c156faaf53bc97f1fa4ab",
- "assets/build/ba_data/audio/gladiatorHit2.ogg": "https://files.ballistica.net/cache/ba1/ee/0b/724da82d345acce6d24f1f78aebe",
- "assets/build/ba_data/audio/gong.ogg": "https://files.ballistica.net/cache/ba1/9d/98/fe9e5e31712035f2f821732fa426",
- "assets/build/ba_data/audio/grandRompMusic.ogg": "https://files.ballistica.net/cache/ba1/44/9c/820f7ee74ad55c985a41824b629f",
- "assets/build/ba_data/audio/gravelSkid.ogg": "https://files.ballistica.net/cache/ba1/91/a5/103c0131a043b57271a7dd498de1",
- "assets/build/ba_data/audio/gunCocking.ogg": "https://files.ballistica.net/cache/ba1/8c/f3/c5e91220d25f23cbf61e8c2de65e",
- "assets/build/ba_data/audio/healthPowerup.ogg": "https://files.ballistica.net/cache/ba1/21/79/faae5fb678a77a4514479213c5d2",
- "assets/build/ba_data/audio/hiss.ogg": "https://files.ballistica.net/cache/ba1/14/a2/ad09926d21069aad7b56a55bb2b4",
- "assets/build/ba_data/audio/impactHard.ogg": "https://files.ballistica.net/cache/ba1/7d/8b/8121a2270a1ba3efa3709a07c17a",
- "assets/build/ba_data/audio/impactHard2.ogg": "https://files.ballistica.net/cache/ba1/08/1f/df44f42082c6f465ff5a78a832cc",
- "assets/build/ba_data/audio/impactHard3.ogg": "https://files.ballistica.net/cache/ba1/78/6f/765aaeff1cd83131ebda60a2ed28",
- "assets/build/ba_data/audio/impactMedium.ogg": "https://files.ballistica.net/cache/ba1/93/44/fc428d21a3e9a748389b78657ed0",
- "assets/build/ba_data/audio/impactMedium2.ogg": "https://files.ballistica.net/cache/ba1/67/e0/6a5ba28a3750d940cfc85df9a48c",
- "assets/build/ba_data/audio/jack01.ogg": "https://files.ballistica.net/cache/ba1/6f/d4/d026538f3457f2551e2b32f8a04e",
- "assets/build/ba_data/audio/jack02.ogg": "https://files.ballistica.net/cache/ba1/b1/bb/f521552e2d5563d0002471f4934e",
- "assets/build/ba_data/audio/jack03.ogg": "https://files.ballistica.net/cache/ba1/d8/27/5a3eb6f846ad3e1baf8f8bd180ab",
- "assets/build/ba_data/audio/jack04.ogg": "https://files.ballistica.net/cache/ba1/82/e3/22c30cbca677c1146fd7e2a44402",
- "assets/build/ba_data/audio/jack05.ogg": "https://files.ballistica.net/cache/ba1/03/88/f8a5726e7f05ca77fcb11458b84d",
- "assets/build/ba_data/audio/jack06.ogg": "https://files.ballistica.net/cache/ba1/96/0f/3a11156fd9e49625ef93e5f1837c",
- "assets/build/ba_data/audio/jackDeath01.ogg": "https://files.ballistica.net/cache/ba1/57/bd/dd8f71ede748e5b816fa0edacf2a",
- "assets/build/ba_data/audio/jackFall01.ogg": "https://files.ballistica.net/cache/ba1/cd/da/511c6b136af4e42325894a17c974",
- "assets/build/ba_data/audio/jackHit01.ogg": "https://files.ballistica.net/cache/ba1/10/17/301e483f642387bcf5b9a6cac455",
- "assets/build/ba_data/audio/jackHit02.ogg": "https://files.ballistica.net/cache/ba1/a5/cb/47ed0c7ad9f1239fc0292eada391",
- "assets/build/ba_data/audio/jackHit03.ogg": "https://files.ballistica.net/cache/ba1/bd/9c/dabb062bb53f6889324ed4e2648c",
- "assets/build/ba_data/audio/jackHit04.ogg": "https://files.ballistica.net/cache/ba1/0f/66/4969ee4ffd6f93f8091d7e3c460e",
- "assets/build/ba_data/audio/jackHit05.ogg": "https://files.ballistica.net/cache/ba1/e8/1e/f9df352de2a81c2c8e7cbb9d53f8",
- "assets/build/ba_data/audio/jackHit06.ogg": "https://files.ballistica.net/cache/ba1/36/11/7f08ed2a79c0357346544a378b97",
- "assets/build/ba_data/audio/jackHit07.ogg": "https://files.ballistica.net/cache/ba1/34/6b/d0de6621336d8a2dbac0b5a9cc64",
- "assets/build/ba_data/audio/jumpsuit1.ogg": "https://files.ballistica.net/cache/ba1/2e/ba/5251d92cfc50e05891f49266a58c",
- "assets/build/ba_data/audio/jumpsuit2.ogg": "https://files.ballistica.net/cache/ba1/85/ad/6318e0d7dfb4c562f0796d752ca1",
- "assets/build/ba_data/audio/jumpsuit3.ogg": "https://files.ballistica.net/cache/ba1/b0/3a/b493714bed82a8447adcc12a305c",
- "assets/build/ba_data/audio/jumpsuit4.ogg": "https://files.ballistica.net/cache/ba1/61/f6/07faf71815cc86137d4b0ee873bc",
- "assets/build/ba_data/audio/jumpsuitDeath.ogg": "https://files.ballistica.net/cache/ba1/a0/ca/91cab7d426036018c9f695056001",
- "assets/build/ba_data/audio/jumpsuitFall.ogg": "https://files.ballistica.net/cache/ba1/2e/89/3b4f798016588c8787598ba28104",
- "assets/build/ba_data/audio/jumpsuitHit1.ogg": "https://files.ballistica.net/cache/ba1/54/3e/eabd980699d6a30c4f4a0d6ef239",
- "assets/build/ba_data/audio/jumpsuitHit2.ogg": "https://files.ballistica.net/cache/ba1/19/e9/2077741fb34eeff9aa71f83dd098",
- "assets/build/ba_data/audio/kronk1.ogg": "https://files.ballistica.net/cache/ba1/39/e8/d2b97739d30bb8933ee3fadbcbdd",
- "assets/build/ba_data/audio/kronk10.ogg": "https://files.ballistica.net/cache/ba1/2e/f6/e062133061984ce247db1148235a",
- "assets/build/ba_data/audio/kronk2.ogg": "https://files.ballistica.net/cache/ba1/59/47/70f7400429b641ff159b9be3bd68",
- "assets/build/ba_data/audio/kronk3.ogg": "https://files.ballistica.net/cache/ba1/90/98/b950d293de08669c5eb37cf5b089",
- "assets/build/ba_data/audio/kronk4.ogg": "https://files.ballistica.net/cache/ba1/1d/f4/47454ddc187e9c28f09b5f2641dd",
- "assets/build/ba_data/audio/kronk5.ogg": "https://files.ballistica.net/cache/ba1/c9/0f/efacd82b0a3a1f7b7b0fa611ab24",
- "assets/build/ba_data/audio/kronk6.ogg": "https://files.ballistica.net/cache/ba1/76/d6/8cd1f0b55d4297e24d94d86b27f9",
- "assets/build/ba_data/audio/kronk7.ogg": "https://files.ballistica.net/cache/ba1/87/88/0cc4e3afd6735e62009a1b7a559f",
- "assets/build/ba_data/audio/kronk8.ogg": "https://files.ballistica.net/cache/ba1/03/43/00789923ce5d554b1fc59dc29efe",
- "assets/build/ba_data/audio/kronk9.ogg": "https://files.ballistica.net/cache/ba1/9e/37/905f2b0bf9b62aac66370e22171a",
- "assets/build/ba_data/audio/kronkDeath.ogg": "https://files.ballistica.net/cache/ba1/84/93/9d86402d4c414f7f8e5cbb84e7da",
- "assets/build/ba_data/audio/kronkFall.ogg": "https://files.ballistica.net/cache/ba1/39/5e/bee74f268c641c327fe574ff96a1",
- "assets/build/ba_data/audio/laser.ogg": "https://files.ballistica.net/cache/ba1/ba/11/d9ea29ec409d58ef9933051f00a3",
- "assets/build/ba_data/audio/laserReverse.ogg": "https://files.ballistica.net/cache/ba1/4d/6c/ea540847197dd3817f00836b7c47",
- "assets/build/ba_data/audio/mel01.ogg": "https://files.ballistica.net/cache/ba1/65/1f/f146b8e3a3854caf4d3e9dfb5907",
- "assets/build/ba_data/audio/mel02.ogg": "https://files.ballistica.net/cache/ba1/a9/06/26c796767095b7cae2b822807736",
- "assets/build/ba_data/audio/mel03.ogg": "https://files.ballistica.net/cache/ba1/fe/d5/6f54d408cc2a4c9e875d72a2471f",
- "assets/build/ba_data/audio/mel04.ogg": "https://files.ballistica.net/cache/ba1/6c/70/91661316e90b2fc681b248196415",
- "assets/build/ba_data/audio/mel05.ogg": "https://files.ballistica.net/cache/ba1/aa/c2/2d1a6e91f87196ab0e0582b34f4d",
- "assets/build/ba_data/audio/mel06.ogg": "https://files.ballistica.net/cache/ba1/90/a4/cfcf8f764e5e6f63869f01e9240b",
- "assets/build/ba_data/audio/mel07.ogg": "https://files.ballistica.net/cache/ba1/1c/7b/c8a607b89f95e7c3c91a9a6dbd1f",
- "assets/build/ba_data/audio/mel08.ogg": "https://files.ballistica.net/cache/ba1/d3/fb/ec4085912068c8890bfdaf5f6f41",
- "assets/build/ba_data/audio/mel09.ogg": "https://files.ballistica.net/cache/ba1/99/60/1ba62554da26788072721151c7ca",
- "assets/build/ba_data/audio/mel10.ogg": "https://files.ballistica.net/cache/ba1/38/ed/d131624611fd8bf12faf95ad1bfe",
- "assets/build/ba_data/audio/melDeath01.ogg": "https://files.ballistica.net/cache/ba1/56/55/cfcbc1b20f357843d1efa62bdc17",
- "assets/build/ba_data/audio/melFall01.ogg": "https://files.ballistica.net/cache/ba1/82/e6/9ce3ae6f486f6f951e97c9eac869",
- "assets/build/ba_data/audio/menuMusic.ogg": "https://files.ballistica.net/cache/ba1/2f/04/3b69056ee929761c7e7e702db2c1",
- "assets/build/ba_data/audio/metalHit.ogg": "https://files.ballistica.net/cache/ba1/9c/30/a61de1a6d1787ab90b2647e6d8e2",
- "assets/build/ba_data/audio/metalSkid.ogg": "https://files.ballistica.net/cache/ba1/03/77/fe701a38c7c448b6c29c44df1be3",
- "assets/build/ba_data/audio/ninjaAttack1.ogg": "https://files.ballistica.net/cache/ba1/3e/f6/b245f532ead500368f0b413177ce",
- "assets/build/ba_data/audio/ninjaAttack2.ogg": "https://files.ballistica.net/cache/ba1/7b/a9/47dfcb386fc92e07af0badffebe2",
- "assets/build/ba_data/audio/ninjaAttack3.ogg": "https://files.ballistica.net/cache/ba1/8c/87/d4e6698efa137c523ffe9843d46f",
- "assets/build/ba_data/audio/ninjaAttack4.ogg": "https://files.ballistica.net/cache/ba1/a3/35/5f1533eef06b6e0c6d4cce1bb437",
- "assets/build/ba_data/audio/ninjaAttack5.ogg": "https://files.ballistica.net/cache/ba1/98/72/c5ff77cf253c0141531c791b2fd3",
- "assets/build/ba_data/audio/ninjaAttack6.ogg": "https://files.ballistica.net/cache/ba1/87/ef/abcb38ba5f79212d975f1e8660f3",
- "assets/build/ba_data/audio/ninjaAttack7.ogg": "https://files.ballistica.net/cache/ba1/3f/6f/94d48a93f1ecb66f786c27a9fd63",
- "assets/build/ba_data/audio/ninjaDeath1.ogg": "https://files.ballistica.net/cache/ba1/62/63/10c7a4204a1383b8330bae91af14",
- "assets/build/ba_data/audio/ninjaFall1.ogg": "https://files.ballistica.net/cache/ba1/6d/38/7067e8b67e42646f0a3f6fea0b25",
- "assets/build/ba_data/audio/ninjaHit1.ogg": "https://files.ballistica.net/cache/ba1/52/dd/c411d8585d17f542075f279e1b83",
- "assets/build/ba_data/audio/ninjaHit2.ogg": "https://files.ballistica.net/cache/ba1/18/ef/e6df5814069eb171a43014dda531",
- "assets/build/ba_data/audio/ninjaHit3.ogg": "https://files.ballistica.net/cache/ba1/8d/94/751982314c25413ab46b4ba4552c",
- "assets/build/ba_data/audio/ninjaHit4.ogg": "https://files.ballistica.net/cache/ba1/fc/45/513450f5f446ce5c256828b79785",
- "assets/build/ba_data/audio/ninjaHit5.ogg": "https://files.ballistica.net/cache/ba1/13/35/a55d46a38eacd2ceb43ee8703b73",
- "assets/build/ba_data/audio/ninjaHit6.ogg": "https://files.ballistica.net/cache/ba1/49/27/eb032a6501af3b4d95d3fa1f8dda",
- "assets/build/ba_data/audio/ninjaHit7.ogg": "https://files.ballistica.net/cache/ba1/e9/ed/bde7ba9d85250298b1002f23fa9e",
- "assets/build/ba_data/audio/ninjaHit8.ogg": "https://files.ballistica.net/cache/ba1/c4/0f/b4be18ea1ccd5c8d9a2bc784f19f",
- "assets/build/ba_data/audio/oldLady1.ogg": "https://files.ballistica.net/cache/ba1/01/d5/d07ff67ffc9ed9c30433a57a722d",
- "assets/build/ba_data/audio/oldLady2.ogg": "https://files.ballistica.net/cache/ba1/8b/2a/2c0c10526294afbac2ed5fdbe7d5",
- "assets/build/ba_data/audio/oldLady3.ogg": "https://files.ballistica.net/cache/ba1/46/d7/a64bb5019b01a9bf8a3a71c32d85",
- "assets/build/ba_data/audio/oldLady4.ogg": "https://files.ballistica.net/cache/ba1/63/64/a98e6bbeffe5a8947a7320ca06c5",
- "assets/build/ba_data/audio/oldLadyDeath.ogg": "https://files.ballistica.net/cache/ba1/a0/ca/4a4c7cc453d0f254dfeffdaad436",
- "assets/build/ba_data/audio/oldLadyFall.ogg": "https://files.ballistica.net/cache/ba1/92/41/b3d47aa08e285a464ab1d81e02b5",
- "assets/build/ba_data/audio/oldLadyHit1.ogg": "https://files.ballistica.net/cache/ba1/68/74/6019b76e9d36f153ead330ebbdee",
- "assets/build/ba_data/audio/oldLadyHit2.ogg": "https://files.ballistica.net/cache/ba1/06/2c/3807ed553aacf8ffcac05bc334a9",
- "assets/build/ba_data/audio/ooh.ogg": "https://files.ballistica.net/cache/ba1/75/78/b05997e40ea9327283bfbcd73d0f",
- "assets/build/ba_data/audio/operaSinger1.ogg": "https://files.ballistica.net/cache/ba1/67/b4/456ca84157861e1a01552f1bbb60",
- "assets/build/ba_data/audio/operaSinger2.ogg": "https://files.ballistica.net/cache/ba1/7f/e1/aa3e383b835e6caabc52e92c0f2e",
- "assets/build/ba_data/audio/operaSinger3.ogg": "https://files.ballistica.net/cache/ba1/2f/3b/8f41cca76f4d874df8c418a14844",
- "assets/build/ba_data/audio/operaSinger4.ogg": "https://files.ballistica.net/cache/ba1/86/0c/4814731188a54fc6829eb3d4987e",
- "assets/build/ba_data/audio/operaSingerDeath.ogg": "https://files.ballistica.net/cache/ba1/37/6f/82c8fe95d70eccacd9c5d95f54a5",
- "assets/build/ba_data/audio/operaSingerFall.ogg": "https://files.ballistica.net/cache/ba1/c0/d4/6f960ef15bbded8ce6f2b5b6657f",
- "assets/build/ba_data/audio/operaSingerHit1.ogg": "https://files.ballistica.net/cache/ba1/a8/c0/c1aea91573c7902322105d920502",
- "assets/build/ba_data/audio/operaSingerHit2.ogg": "https://files.ballistica.net/cache/ba1/6a/b8/0ed146abd109205008d9badea4ae",
- "assets/build/ba_data/audio/orchestraHit.ogg": "https://files.ballistica.net/cache/ba1/e2/1f/ece696b97992ca2193c352f3da84",
- "assets/build/ba_data/audio/orchestraHit2.ogg": "https://files.ballistica.net/cache/ba1/93/23/089101e0936aa2f05a3aaee20f8e",
- "assets/build/ba_data/audio/orchestraHit3.ogg": "https://files.ballistica.net/cache/ba1/6f/88/41a8b64754c979c2f608558b2205",
- "assets/build/ba_data/audio/orchestraHit4.ogg": "https://files.ballistica.net/cache/ba1/0d/52/4396bd2e95954bbc3c88aba19f5f",
- "assets/build/ba_data/audio/orchestraHitBig1.ogg": "https://files.ballistica.net/cache/ba1/cb/48/deb5a4eeeaa0e9c14456f66d2fe8",
- "assets/build/ba_data/audio/orchestraHitBig2.ogg": "https://files.ballistica.net/cache/ba1/2a/c4/84c2e64feffba098cd1dacb59c1c",
- "assets/build/ba_data/audio/penguin1.ogg": "https://files.ballistica.net/cache/ba1/66/e4/d940e0bcae6a7a658aacf15ee8c6",
- "assets/build/ba_data/audio/penguin2.ogg": "https://files.ballistica.net/cache/ba1/5e/dc/54dd8785e0236478f219e15a2b32",
- "assets/build/ba_data/audio/penguin3.ogg": "https://files.ballistica.net/cache/ba1/d7/6e/fab15b63c2e8dafef1f523af9448",
- "assets/build/ba_data/audio/penguin4.ogg": "https://files.ballistica.net/cache/ba1/df/72/f49eb5520e1275556a309925ca2f",
- "assets/build/ba_data/audio/penguinDeath.ogg": "https://files.ballistica.net/cache/ba1/31/a8/f414335a2e8f2f7f11d927740993",
- "assets/build/ba_data/audio/penguinFall.ogg": "https://files.ballistica.net/cache/ba1/75/ac/6673cf05b554f93e4f80e5a1f032",
- "assets/build/ba_data/audio/penguinHit1.ogg": "https://files.ballistica.net/cache/ba1/fb/80/d751a93245e5a81f2d7122b10601",
- "assets/build/ba_data/audio/penguinHit2.ogg": "https://files.ballistica.net/cache/ba1/37/07/219f073f5e8042795662c37e27c2",
- "assets/build/ba_data/audio/pixie1.ogg": "https://files.ballistica.net/cache/ba1/a1/ba/0e576188e12d5d3d90dbe2ba4aa2",
- "assets/build/ba_data/audio/pixie2.ogg": "https://files.ballistica.net/cache/ba1/a2/a8/df2edb0fcddee0a292b116f6511a",
- "assets/build/ba_data/audio/pixie3.ogg": "https://files.ballistica.net/cache/ba1/4e/f6/74bc253a5cc01d681e4ad8d38337",
- "assets/build/ba_data/audio/pixie4.ogg": "https://files.ballistica.net/cache/ba1/da/7e/bf6c1a336eab325cc602a1876a23",
- "assets/build/ba_data/audio/pixieDeath.ogg": "https://files.ballistica.net/cache/ba1/62/46/e12933d09d0d589c7c122c9b8fa8",
- "assets/build/ba_data/audio/pixieFall.ogg": "https://files.ballistica.net/cache/ba1/0c/e1/b1a37fc2a365f693aa40a756c235",
- "assets/build/ba_data/audio/pixieHit1.ogg": "https://files.ballistica.net/cache/ba1/2a/7a/12e4dafb36ffef321e55f943a12c",
- "assets/build/ba_data/audio/pixieHit2.ogg": "https://files.ballistica.net/cache/ba1/61/1c/93fb0399ad2bcab8ccdb5e145633",
- "assets/build/ba_data/audio/playerDeath.ogg": "https://files.ballistica.net/cache/ba1/26/47/b948161697a84fb0bce339f3ad71",
- "assets/build/ba_data/audio/playerLeft.ogg": "https://files.ballistica.net/cache/ba1/bc/9d/da4df4b55e84fe9eb05509049f21",
- "assets/build/ba_data/audio/pop01.ogg": "https://files.ballistica.net/cache/ba1/e0/ca/fc13159fce5ef09dc2ad1db9645d",
- "assets/build/ba_data/audio/powerdown01.ogg": "https://files.ballistica.net/cache/ba1/ac/8f/4d4e570ab6238879232242bd2367",
- "assets/build/ba_data/audio/powerup01.ogg": "https://files.ballistica.net/cache/ba1/16/7a/93da7e6859d880331e589732cf70",
- "assets/build/ba_data/audio/punch01.ogg": "https://files.ballistica.net/cache/ba1/bb/fd/85fbab1939dea07583aae2c9f43b",
- "assets/build/ba_data/audio/punchStrong01.ogg": "https://files.ballistica.net/cache/ba1/46/1b/62bc8d51c3672bacb9c2b99ce66f",
- "assets/build/ba_data/audio/punchStrong02.ogg": "https://files.ballistica.net/cache/ba1/d5/f7/feb06da4c021a2c81a505593a7f4",
- "assets/build/ba_data/audio/punchSwish.ogg": "https://files.ballistica.net/cache/ba1/fa/47/9494fe756a1f7cde27deab651a2d",
- "assets/build/ba_data/audio/punchWeak01.ogg": "https://files.ballistica.net/cache/ba1/8c/ac/4055d2df143632938148dd369b40",
- "assets/build/ba_data/audio/raceBeep1.ogg": "https://files.ballistica.net/cache/ba1/1c/52/61b720a805db063223eb5f9572f4",
- "assets/build/ba_data/audio/raceBeep2.ogg": "https://files.ballistica.net/cache/ba1/c7/b3/7c33fec0f23065a56d7bdd082af8",
- "assets/build/ba_data/audio/refWhistle.ogg": "https://files.ballistica.net/cache/ba1/9b/dd/da98b9d3efafaf2655407f64a09c",
- "assets/build/ba_data/audio/robot1.ogg": "https://files.ballistica.net/cache/ba1/c4/f3/46c5b5a8d60f1ee7e5836ddf3baf",
- "assets/build/ba_data/audio/robot2.ogg": "https://files.ballistica.net/cache/ba1/6c/d5/59c4c07ec9edec23590bcc9aa7d7",
- "assets/build/ba_data/audio/robot3.ogg": "https://files.ballistica.net/cache/ba1/10/98/27748b76c889f5b21def4c702341",
- "assets/build/ba_data/audio/robot4.ogg": "https://files.ballistica.net/cache/ba1/b4/32/0bf631e348c14b41a64190e8376a",
- "assets/build/ba_data/audio/robotDeath.ogg": "https://files.ballistica.net/cache/ba1/65/3e/599289f5b9d08d02607f26f9c42c",
- "assets/build/ba_data/audio/robotFall.ogg": "https://files.ballistica.net/cache/ba1/35/cc/9693e8fa39a5ad2a245f3a848e72",
- "assets/build/ba_data/audio/robotHit1.ogg": "https://files.ballistica.net/cache/ba1/70/a9/07a5eb870bfd24143a5a1dae6b11",
- "assets/build/ba_data/audio/robotHit2.ogg": "https://files.ballistica.net/cache/ba1/60/79/490c8f75cce45183a66357d30a85",
- "assets/build/ba_data/audio/runAwayMusic.ogg": "https://files.ballistica.net/cache/ba1/28/8d/db39413af847b4aba765938a439c",
- "assets/build/ba_data/audio/santa01.ogg": "https://files.ballistica.net/cache/ba1/8f/25/7b73c6cb3a67dd4d0c537a8ff486",
- "assets/build/ba_data/audio/santa02.ogg": "https://files.ballistica.net/cache/ba1/6b/62/d9acb101fc2ae91cce4ebf21dea7",
- "assets/build/ba_data/audio/santa03.ogg": "https://files.ballistica.net/cache/ba1/1c/ed/a69839caf83c6f2678b194aa5bb2",
- "assets/build/ba_data/audio/santa04.ogg": "https://files.ballistica.net/cache/ba1/c9/46/1e88517f694e317b2e19574c6817",
- "assets/build/ba_data/audio/santa05.ogg": "https://files.ballistica.net/cache/ba1/90/5f/dcb00f73be3f7ba6a3d2253f29db",
- "assets/build/ba_data/audio/santaDeath.ogg": "https://files.ballistica.net/cache/ba1/64/4b/3d8d95da0c30e91db75a67726e8b",
- "assets/build/ba_data/audio/santaFall.ogg": "https://files.ballistica.net/cache/ba1/13/45/ec999a23e68ad3b3ca731e8ee004",
- "assets/build/ba_data/audio/santaHit01.ogg": "https://files.ballistica.net/cache/ba1/7c/35/1c404fe708f33b7ff8fa9aaf1d6b",
- "assets/build/ba_data/audio/santaHit02.ogg": "https://files.ballistica.net/cache/ba1/b7/7c/05b6af01635a185c7ef6eda204ef",
- "assets/build/ba_data/audio/santaHit03.ogg": "https://files.ballistica.net/cache/ba1/bb/3a/faf8638851148f5a1c6759afd9f7",
- "assets/build/ba_data/audio/santaHit04.ogg": "https://files.ballistica.net/cache/ba1/cd/49/6722b707a2863cb28f18e4e4d359",
- "assets/build/ba_data/audio/scamper01.ogg": "https://files.ballistica.net/cache/ba1/3a/50/6874379b5acfa4333fac8374f388",
- "assets/build/ba_data/audio/scaryMusic.ogg": "https://files.ballistica.net/cache/ba1/de/62/d51342211c0ee9ffc15753a0dc38",
- "assets/build/ba_data/audio/score.ogg": "https://files.ballistica.net/cache/ba1/35/63/59c439ce3ae53448b69e65b12f01",
- "assets/build/ba_data/audio/scoreHit01.ogg": "https://files.ballistica.net/cache/ba1/ae/3d/4817efe2e3397780a333b75df614",
- "assets/build/ba_data/audio/scoreHit02.ogg": "https://files.ballistica.net/cache/ba1/66/3e/db8772a6b9f0fd0f56072fa1ec65",
- "assets/build/ba_data/audio/scoreIncrease.ogg": "https://files.ballistica.net/cache/ba1/a3/d4/2d4f01ac1e805a91f2f6232a0047",
- "assets/build/ba_data/audio/scoresEpicMusic.ogg": "https://files.ballistica.net/cache/ba1/7a/dd/61fb2430a8f22259f2cbe4558766",
- "assets/build/ba_data/audio/shatter.ogg": "https://files.ballistica.net/cache/ba1/d1/d6/50f5299a21f7f88e35871be01342",
- "assets/build/ba_data/audio/shieldDown.ogg": "https://files.ballistica.net/cache/ba1/4f/31/da9f37085fa732a001dc23eeb32b",
- "assets/build/ba_data/audio/shieldHit.ogg": "https://files.ballistica.net/cache/ba1/c1/16/915c9c8ea1d8996fd8fb7d18ab9d",
- "assets/build/ba_data/audio/shieldUp.ogg": "https://files.ballistica.net/cache/ba1/3f/d1/096975c0e59df14948b0a3595c3a",
- "assets/build/ba_data/audio/skid01.ogg": "https://files.ballistica.net/cache/ba1/f0/f8/9e6e4378363b6e8eec747cd592e6",
- "assets/build/ba_data/audio/slowEpicMusic.ogg": "https://files.ballistica.net/cache/ba1/e0/76/3d356a9f7c2ecf52144adcd93c3e",
- "assets/build/ba_data/audio/sparkle01.ogg": "https://files.ballistica.net/cache/ba1/00/23/d33bc638bb97885470d8d1dceff4",
- "assets/build/ba_data/audio/sparkle02.ogg": "https://files.ballistica.net/cache/ba1/0f/97/6bf234b8297dacb24d16f3fc6835",
- "assets/build/ba_data/audio/sparkle03.ogg": "https://files.ballistica.net/cache/ba1/7b/67/f32943885c7b4e42cd71c950c094",
- "assets/build/ba_data/audio/spawn.ogg": "https://files.ballistica.net/cache/ba1/5b/e1/7976a3409551f06b465dbf9afc92",
- "assets/build/ba_data/audio/spazAttack01.ogg": "https://files.ballistica.net/cache/ba1/ce/c1/a0fe34d38d134a260e8215117be5",
- "assets/build/ba_data/audio/spazAttack02.ogg": "https://files.ballistica.net/cache/ba1/5b/ab/f5708a7196cd7c1d3c5856c49077",
- "assets/build/ba_data/audio/spazAttack03.ogg": "https://files.ballistica.net/cache/ba1/02/b9/ced762c00a80b55f85e5a537694d",
- "assets/build/ba_data/audio/spazAttack04.ogg": "https://files.ballistica.net/cache/ba1/58/09/ffc7f2269fccb7d6ba3a2d4fa70e",
- "assets/build/ba_data/audio/spazDeath01.ogg": "https://files.ballistica.net/cache/ba1/64/75/818509a97557a1efed0d391c7d26",
- "assets/build/ba_data/audio/spazEff.ogg": "https://files.ballistica.net/cache/ba1/bd/70/525e9bd572821a59886d89790f48",
- "assets/build/ba_data/audio/spazFall01.ogg": "https://files.ballistica.net/cache/ba1/f0/4b/07e339002b262a7ffe2427a749e3",
- "assets/build/ba_data/audio/spazImpact01.ogg": "https://files.ballistica.net/cache/ba1/0e/33/de9d8f2006bdfba05d4daa4c43bc",
- "assets/build/ba_data/audio/spazImpact02.ogg": "https://files.ballistica.net/cache/ba1/19/ea/6d27a7931ed4b60f6de393422046",
- "assets/build/ba_data/audio/spazImpact03.ogg": "https://files.ballistica.net/cache/ba1/fd/7c/abc4d0b8350f263675fce1719815",
- "assets/build/ba_data/audio/spazImpact04.ogg": "https://files.ballistica.net/cache/ba1/0e/04/29b57759816c1dc80f0fcc8dbdf5",
- "assets/build/ba_data/audio/spazJump01.ogg": "https://files.ballistica.net/cache/ba1/0a/74/02bcb3ccfdc45548d2d6328d5762",
- "assets/build/ba_data/audio/spazJump02.ogg": "https://files.ballistica.net/cache/ba1/87/ae/f80c533dedc2a5048c31c7fd05a5",
- "assets/build/ba_data/audio/spazJump03.ogg": "https://files.ballistica.net/cache/ba1/8d/f3/d89923c4894e8fe5a144f3dac2b8",
- "assets/build/ba_data/audio/spazJump04.ogg": "https://files.ballistica.net/cache/ba1/01/76/c82cf77f0ea683ced0dce96a6590",
- "assets/build/ba_data/audio/spazOw.ogg": "https://files.ballistica.net/cache/ba1/81/30/c272cef86432c32683fff2b6a856",
- "assets/build/ba_data/audio/spazPickup01.ogg": "https://files.ballistica.net/cache/ba1/0f/3f/49392c99fe3f5029086a1cc80d8a",
- "assets/build/ba_data/audio/spazScream01.ogg": "https://files.ballistica.net/cache/ba1/ac/99/e38ffb38dcac926ebc9666e6687a",
- "assets/build/ba_data/audio/splatter.ogg": "https://files.ballistica.net/cache/ba1/65/0e/95216b45b9fb7e1fcf29753a3b86",
- "assets/build/ba_data/audio/sportsMusic.ogg": "https://files.ballistica.net/cache/ba1/b8/be/bded110195557ffeb9928f8f35a8",
- "assets/build/ba_data/audio/stickyImpact.ogg": "https://files.ballistica.net/cache/ba1/7f/96/aca2db315454d319400d505c84bd",
- "assets/build/ba_data/audio/superPunch.ogg": "https://files.ballistica.net/cache/ba1/68/b1/3857d2b85c2137dfc71c59d99866",
- "assets/build/ba_data/audio/superhero1.ogg": "https://files.ballistica.net/cache/ba1/f8/be/d5ddef17888c0f0918a6ca5f9fed",
- "assets/build/ba_data/audio/superhero2.ogg": "https://files.ballistica.net/cache/ba1/c5/88/fa61647f14b026cdb0c710a6a241",
- "assets/build/ba_data/audio/superhero3.ogg": "https://files.ballistica.net/cache/ba1/a6/1a/a0fa6c752ceacbc3d581191bea79",
- "assets/build/ba_data/audio/superhero4.ogg": "https://files.ballistica.net/cache/ba1/e8/a8/ffc0743aa669e24bb7c856359ff1",
- "assets/build/ba_data/audio/superheroDeath.ogg": "https://files.ballistica.net/cache/ba1/98/00/7fa8feb367547d7b4053d6d6f8e8",
- "assets/build/ba_data/audio/superheroFall.ogg": "https://files.ballistica.net/cache/ba1/38/46/dd8019ab7a705500e32609f8d240",
- "assets/build/ba_data/audio/superheroHit1.ogg": "https://files.ballistica.net/cache/ba1/d7/64/04ae978100fa9d92f94b3e474c36",
- "assets/build/ba_data/audio/superheroHit2.ogg": "https://files.ballistica.net/cache/ba1/71/d2/d20bcca0587ea75ec510b9e9d9a3",
- "assets/build/ba_data/audio/survivalMusic.ogg": "https://files.ballistica.net/cache/ba1/7b/3a/afefd67ab21251571721a84d5631",
- "assets/build/ba_data/audio/swip.ogg": "https://files.ballistica.net/cache/ba1/a5/fc/7c9573cac08082db1eb1a1780be6",
- "assets/build/ba_data/audio/swip2.ogg": "https://files.ballistica.net/cache/ba1/c0/8a/f4acc9197c51dd87bdcd649979f7",
- "assets/build/ba_data/audio/swish.ogg": "https://files.ballistica.net/cache/ba1/5e/ef/8085f12f781b3fd1a83e7a3f9ec1",
- "assets/build/ba_data/audio/swish2.ogg": "https://files.ballistica.net/cache/ba1/e2/42/6242489e58bd314faddbc2cdfa39",
- "assets/build/ba_data/audio/swish3.ogg": "https://files.ballistica.net/cache/ba1/cd/00/dc59c4e85428742a3219d790862c",
- "assets/build/ba_data/audio/tap.ogg": "https://files.ballistica.net/cache/ba1/07/fb/512704ee3acc4f54dbbe335a0b92",
- "assets/build/ba_data/audio/technoHit01.ogg": "https://files.ballistica.net/cache/ba1/d7/3d/c4bd72b56365c29c2ff7eaf237f7",
- "assets/build/ba_data/audio/tick.ogg": "https://files.ballistica.net/cache/ba1/e7/22/9effe1e9201ca6f787536c2cc7d1",
- "assets/build/ba_data/audio/ticking.ogg": "https://files.ballistica.net/cache/ba1/01/a7/e9b2614da4bb07ad3c54d81284fe",
- "assets/build/ba_data/audio/tickingCrazy.ogg": "https://files.ballistica.net/cache/ba1/49/b1/b258d1b3223fe5c2f76590cc3609",
- "assets/build/ba_data/audio/toTheDeathMusic.ogg": "https://files.ballistica.net/cache/ba1/5d/e8/f388a2c241952af159074ec131a5",
- "assets/build/ba_data/audio/trashRummage.ogg": "https://files.ballistica.net/cache/ba1/9e/a1/56f36558300299849f1141bbe313",
- "assets/build/ba_data/audio/victoryMusic.ogg": "https://files.ballistica.net/cache/ba1/b4/3f/3910943af8d4303708c75cbfe621",
- "assets/build/ba_data/audio/warnBeep.ogg": "https://files.ballistica.net/cache/ba1/dc/37/9c623b28aae041ca19ba3dc97f6a",
- "assets/build/ba_data/audio/warnBeeps.ogg": "https://files.ballistica.net/cache/ba1/0e/6c/ebc2183df283709a0198849fd7c0",
- "assets/build/ba_data/audio/warrior1.ogg": "https://files.ballistica.net/cache/ba1/ab/cb/7e57a8733470f535142015d9582f",
- "assets/build/ba_data/audio/warrior2.ogg": "https://files.ballistica.net/cache/ba1/35/65/14173145d20eaf84ad79fb0f1a69",
- "assets/build/ba_data/audio/warrior3.ogg": "https://files.ballistica.net/cache/ba1/6a/1c/4d238beefe81e1d44ef8eef00de0",
- "assets/build/ba_data/audio/warrior4.ogg": "https://files.ballistica.net/cache/ba1/42/07/6d08d278a613b85adde7b2c8b8f8",
- "assets/build/ba_data/audio/warriorDeath.ogg": "https://files.ballistica.net/cache/ba1/62/18/36598cfbd77bc73bd6bb4b02d0ac",
- "assets/build/ba_data/audio/warriorFall.ogg": "https://files.ballistica.net/cache/ba1/b8/f1/c9b2fe1babd2c3027c2c6b955dd9",
- "assets/build/ba_data/audio/warriorHit1.ogg": "https://files.ballistica.net/cache/ba1/66/88/1aba5328534ea0b21db7e0c35a97",
- "assets/build/ba_data/audio/warriorHit2.ogg": "https://files.ballistica.net/cache/ba1/ff/cb/42e31f8089ad1760d7aad0d7ff7f",
- "assets/build/ba_data/audio/whenJohnnyComesMarchingHomeMusic.ogg": "https://files.ballistica.net/cache/ba1/fb/d9/c6925d7fb50c229857c172478bc3",
- "assets/build/ba_data/audio/witch1.ogg": "https://files.ballistica.net/cache/ba1/5c/03/9f32f1bda3d7fa8ded269938d5fc",
- "assets/build/ba_data/audio/witch2.ogg": "https://files.ballistica.net/cache/ba1/3e/f6/3eb43eba873b08f776cd54ba4ecd",
- "assets/build/ba_data/audio/witch3.ogg": "https://files.ballistica.net/cache/ba1/fc/38/74f15bb395ecd29b50ef4cacbd3b",
- "assets/build/ba_data/audio/witch4.ogg": "https://files.ballistica.net/cache/ba1/8f/71/87c58a955524e8f7ef19db0b2c19",
- "assets/build/ba_data/audio/witchDeath.ogg": "https://files.ballistica.net/cache/ba1/63/b7/34d892c9382fcca2143f47360681",
- "assets/build/ba_data/audio/witchFall.ogg": "https://files.ballistica.net/cache/ba1/ca/21/e880c95abe23462d31027d396d17",
- "assets/build/ba_data/audio/witchHit1.ogg": "https://files.ballistica.net/cache/ba1/28/ff/eda01ba4d712ed8f87ad41689eb5",
- "assets/build/ba_data/audio/witchHit2.ogg": "https://files.ballistica.net/cache/ba1/7f/9b/9ae61751b71e2b3cd6e380351afe",
- "assets/build/ba_data/audio/wizard1.ogg": "https://files.ballistica.net/cache/ba1/1d/54/3f31d7d0e0b9c0e7514c8d7b07d6",
- "assets/build/ba_data/audio/wizard2.ogg": "https://files.ballistica.net/cache/ba1/fc/c5/02945950ad0e595983b9042a7fd2",
- "assets/build/ba_data/audio/wizard3.ogg": "https://files.ballistica.net/cache/ba1/c3/64/86c3743515757904d14676aecadc",
- "assets/build/ba_data/audio/wizard4.ogg": "https://files.ballistica.net/cache/ba1/92/6e/1274261230bf73320ac2b8ea32a2",
- "assets/build/ba_data/audio/wizardDeath.ogg": "https://files.ballistica.net/cache/ba1/68/57/dfa7a98252eeb017ba95022a71d4",
- "assets/build/ba_data/audio/wizardFall.ogg": "https://files.ballistica.net/cache/ba1/72/7a/6fd39cfd7cf25152fe267061b6e6",
- "assets/build/ba_data/audio/wizardHit1.ogg": "https://files.ballistica.net/cache/ba1/d8/47/8774de373d5716f8b1def11323ba",
- "assets/build/ba_data/audio/wizardHit2.ogg": "https://files.ballistica.net/cache/ba1/6e/6d/14771c5d4885856765fef6668ffd",
- "assets/build/ba_data/audio/woodDebrisFall.ogg": "https://files.ballistica.net/cache/ba1/79/94/e96e205a438bcf6ea27829616eeb",
- "assets/build/ba_data/audio/wrestler1.ogg": "https://files.ballistica.net/cache/ba1/2f/eb/15d8e43ce34d1677a25bf3870d30",
- "assets/build/ba_data/audio/wrestler2.ogg": "https://files.ballistica.net/cache/ba1/f7/9a/27c12f0bc136c5ff5d361a855b54",
- "assets/build/ba_data/audio/wrestler3.ogg": "https://files.ballistica.net/cache/ba1/22/cb/8a7866702f5e95d18287ad3a3b3c",
- "assets/build/ba_data/audio/wrestler4.ogg": "https://files.ballistica.net/cache/ba1/08/9f/90516d853c3e62ecd1dcb1d9f0ff",
- "assets/build/ba_data/audio/wrestlerDeath.ogg": "https://files.ballistica.net/cache/ba1/dc/a6/8019396b91152cab4db09b0a7ec8",
- "assets/build/ba_data/audio/wrestlerFall.ogg": "https://files.ballistica.net/cache/ba1/49/16/5edc44a1ed74fc37b57c7473b1f6",
- "assets/build/ba_data/audio/wrestlerHit1.ogg": "https://files.ballistica.net/cache/ba1/3d/fb/6b2741940714e3f5a564c55ccd6a",
- "assets/build/ba_data/audio/wrestlerHit2.ogg": "https://files.ballistica.net/cache/ba1/4c/e3/f398eae1b37afbec4b42cd88c90c",
- "assets/build/ba_data/audio/zoeAttack01.ogg": "https://files.ballistica.net/cache/ba1/37/04/5a12395a7df33f69d7bf874f5054",
- "assets/build/ba_data/audio/zoeAttack02.ogg": "https://files.ballistica.net/cache/ba1/f3/b1/ac78bfad015ebdc003a408bbf1c0",
- "assets/build/ba_data/audio/zoeAttack03.ogg": "https://files.ballistica.net/cache/ba1/97/e0/2f82bf9878472e3e5535a29f6b57",
- "assets/build/ba_data/audio/zoeAttack04.ogg": "https://files.ballistica.net/cache/ba1/2c/6a/da814c4c37dd0b5d0ff3564be852",
- "assets/build/ba_data/audio/zoeDeath01.ogg": "https://files.ballistica.net/cache/ba1/0b/3f/d197dafe8e65bc9ad44227d76595",
- "assets/build/ba_data/audio/zoeEff.ogg": "https://files.ballistica.net/cache/ba1/d0/63/161c6c7139a432a6548657b2cbf8",
- "assets/build/ba_data/audio/zoeFall01.ogg": "https://files.ballistica.net/cache/ba1/15/9b/bc1e6d1c46984ff15d8c7c7be553",
- "assets/build/ba_data/audio/zoeImpact01.ogg": "https://files.ballistica.net/cache/ba1/14/ab/e0ffc2ee28d047d498e7fb9d9a29",
- "assets/build/ba_data/audio/zoeImpact02.ogg": "https://files.ballistica.net/cache/ba1/46/06/2da242b286aa30d24b1a51c48a1e",
- "assets/build/ba_data/audio/zoeImpact03.ogg": "https://files.ballistica.net/cache/ba1/5b/bb/820dca4d4ebd863aacab96739197",
- "assets/build/ba_data/audio/zoeImpact04.ogg": "https://files.ballistica.net/cache/ba1/2e/83/10966e237b36b0726962e7511789",
- "assets/build/ba_data/audio/zoeJump01.ogg": "https://files.ballistica.net/cache/ba1/51/b0/6912fe028eb5e787e8b2e2451aa7",
- "assets/build/ba_data/audio/zoeJump02.ogg": "https://files.ballistica.net/cache/ba1/ad/3b/1ea95c528b3ac203407c71b6c250",
- "assets/build/ba_data/audio/zoeJump03.ogg": "https://files.ballistica.net/cache/ba1/88/2d/857625213c26f31ca53625228ac5",
- "assets/build/ba_data/audio/zoeOw.ogg": "https://files.ballistica.net/cache/ba1/dc/d2/160fc27fcaff10793327ac2c70fd",
- "assets/build/ba_data/audio/zoePickup01.ogg": "https://files.ballistica.net/cache/ba1/11/7a/87d6bca0acfb877fd4fd8fe3a598",
- "assets/build/ba_data/audio/zoeScream01.ogg": "https://files.ballistica.net/cache/ba1/44/f5/c943c9075abb3e1835d2408a1ef8",
+ "assets/build/ba_data/audio/achievement.ogg": "https://files.ballistica.net/cache/ba1/0a/68/217f0217608cf4a222fc9eee4c61",
+ "assets/build/ba_data/audio/actionHero1.ogg": "https://files.ballistica.net/cache/ba1/85/64/f0a0fca97ff0a3b3eea73fad4d90",
+ "assets/build/ba_data/audio/actionHero2.ogg": "https://files.ballistica.net/cache/ba1/9a/af/42a29027e4634dd83ae1acd67bee",
+ "assets/build/ba_data/audio/actionHero3.ogg": "https://files.ballistica.net/cache/ba1/ff/11/0292bcf5fc1b1b969af6bf700c51",
+ "assets/build/ba_data/audio/actionHero4.ogg": "https://files.ballistica.net/cache/ba1/c3/25/95113251a5e90feaa532a2d2d75e",
+ "assets/build/ba_data/audio/actionHeroDeath.ogg": "https://files.ballistica.net/cache/ba1/eb/f1/199af4bc736a3b9739a206712f65",
+ "assets/build/ba_data/audio/actionHeroFall.ogg": "https://files.ballistica.net/cache/ba1/21/3a/2de6098db80a069d0984f85d4c22",
+ "assets/build/ba_data/audio/actionHeroHit1.ogg": "https://files.ballistica.net/cache/ba1/31/af/6a16322ec8719966c2a338357ee0",
+ "assets/build/ba_data/audio/actionHeroHit2.ogg": "https://files.ballistica.net/cache/ba1/8a/13/a4186b24ffeb374d03028ef24ecd",
+ "assets/build/ba_data/audio/activateBeep.ogg": "https://files.ballistica.net/cache/ba1/d7/a8/b18ed43be241200c9876057c1a42",
+ "assets/build/ba_data/audio/agent1.ogg": "https://files.ballistica.net/cache/ba1/e3/de/9965b5acd5d083f493db7a408b58",
+ "assets/build/ba_data/audio/agent2.ogg": "https://files.ballistica.net/cache/ba1/78/6f/cf56862475a7bd86fbc73ca1c494",
+ "assets/build/ba_data/audio/agent3.ogg": "https://files.ballistica.net/cache/ba1/d1/fa/0f52bb5f094ba46774c9ca24c659",
+ "assets/build/ba_data/audio/agent4.ogg": "https://files.ballistica.net/cache/ba1/b8/62/ce3dfde3658d00435ba61ab1e7d7",
+ "assets/build/ba_data/audio/agentDeath.ogg": "https://files.ballistica.net/cache/ba1/76/08/67dc0ea61546959a509717418361",
+ "assets/build/ba_data/audio/agentFall.ogg": "https://files.ballistica.net/cache/ba1/8b/20/651b5e1988be5f01104c07e93327",
+ "assets/build/ba_data/audio/agentHit1.ogg": "https://files.ballistica.net/cache/ba1/82/f6/2e8ec79e09a5326b4ca991b3f070",
+ "assets/build/ba_data/audio/agentHit2.ogg": "https://files.ballistica.net/cache/ba1/e9/e7/d164d89824cb6575c17e0284bf42",
+ "assets/build/ba_data/audio/alarm.ogg": "https://files.ballistica.net/cache/ba1/13/93/28999304b8286925018dd50a3319",
+ "assets/build/ba_data/audio/ali1.ogg": "https://files.ballistica.net/cache/ba1/83/d1/4e4dc2fe02cf61721a71d1bf102b",
+ "assets/build/ba_data/audio/ali2.ogg": "https://files.ballistica.net/cache/ba1/43/99/10b9d046af9150ee6eedd667d178",
+ "assets/build/ba_data/audio/ali3.ogg": "https://files.ballistica.net/cache/ba1/89/49/0860ebeb8d3def51c54da2c96e70",
+ "assets/build/ba_data/audio/ali4.ogg": "https://files.ballistica.net/cache/ba1/e2/24/0bec29c4575f638189fdcafa65f7",
+ "assets/build/ba_data/audio/aliDeath.ogg": "https://files.ballistica.net/cache/ba1/2f/cb/ed02a2d320a02b69b93b78312c83",
+ "assets/build/ba_data/audio/aliFall.ogg": "https://files.ballistica.net/cache/ba1/55/ca/cc6391e940e46defe2fe67a342f1",
+ "assets/build/ba_data/audio/aliHit1.ogg": "https://files.ballistica.net/cache/ba1/ed/2e/3a510d5dd2f0dcbaa20d2db82bdd",
+ "assets/build/ba_data/audio/aliHit2.ogg": "https://files.ballistica.net/cache/ba1/3f/cc/66f352d5975b851aa3ad32df916c",
+ "assets/build/ba_data/audio/alien1.ogg": "https://files.ballistica.net/cache/ba1/fd/59/7bb59081017057754f55f035d0c5",
+ "assets/build/ba_data/audio/alien2.ogg": "https://files.ballistica.net/cache/ba1/5b/11/030a9724f1de959363ba17f1d59f",
+ "assets/build/ba_data/audio/alien3.ogg": "https://files.ballistica.net/cache/ba1/b6/ef/7257b932ceba2fd6e8138b7bfea3",
+ "assets/build/ba_data/audio/alien4.ogg": "https://files.ballistica.net/cache/ba1/1b/60/793dd7f1da8c240411acd685e22d",
+ "assets/build/ba_data/audio/alienDeath.ogg": "https://files.ballistica.net/cache/ba1/fd/f9/e4fd8e9413eba5deb740c93b82e8",
+ "assets/build/ba_data/audio/alienFall.ogg": "https://files.ballistica.net/cache/ba1/66/af/ab8b2e81555a88a775844991ade2",
+ "assets/build/ba_data/audio/alienHit1.ogg": "https://files.ballistica.net/cache/ba1/0c/00/0349f977c443136276d1c2efd8aa",
+ "assets/build/ba_data/audio/alienHit2.ogg": "https://files.ballistica.net/cache/ba1/ba/13/fc0e2e0e4c2cfb2d15d556ae8fac",
+ "assets/build/ba_data/audio/announceEight.ogg": "https://files.ballistica.net/cache/ba1/ef/bb/b39f3ab0f6242acb2e1b3c20e580",
+ "assets/build/ba_data/audio/announceFive.ogg": "https://files.ballistica.net/cache/ba1/d2/af/910284371f563826b9a3430a7806",
+ "assets/build/ba_data/audio/announceFour.ogg": "https://files.ballistica.net/cache/ba1/04/bf/e5f857dbc51715545c04e8e26661",
+ "assets/build/ba_data/audio/announceNine.ogg": "https://files.ballistica.net/cache/ba1/54/68/c703fe2dcc4de4c14c01d75485ab",
+ "assets/build/ba_data/audio/announceOne.ogg": "https://files.ballistica.net/cache/ba1/69/3a/3f1c240b37dbe0f0c70337295456",
+ "assets/build/ba_data/audio/announceSeven.ogg": "https://files.ballistica.net/cache/ba1/39/b2/f68a38a8d9026d8eb5cdef4c3d0b",
+ "assets/build/ba_data/audio/announceSix.ogg": "https://files.ballistica.net/cache/ba1/3e/d2/c3f92979ee852f8a61fb99b6426b",
+ "assets/build/ba_data/audio/announceTen.ogg": "https://files.ballistica.net/cache/ba1/15/6b/d93db740348d51f6c5d55675a6d6",
+ "assets/build/ba_data/audio/announceThree.ogg": "https://files.ballistica.net/cache/ba1/10/ef/d30208968f7216c3baba9868ca84",
+ "assets/build/ba_data/audio/announceTwo.ogg": "https://files.ballistica.net/cache/ba1/fa/6c/6cd92cdd682df006c0c3ed24742a",
+ "assets/build/ba_data/audio/assassin1.ogg": "https://files.ballistica.net/cache/ba1/38/4f/680374a978ed25698b4fc9217f75",
+ "assets/build/ba_data/audio/assassin2.ogg": "https://files.ballistica.net/cache/ba1/af/f6/c6fe5dcb7a9ca7e61cae3a4b8ed2",
+ "assets/build/ba_data/audio/assassin3.ogg": "https://files.ballistica.net/cache/ba1/cc/ff/477b013c6eedebddaa7211daf7d9",
+ "assets/build/ba_data/audio/assassin4.ogg": "https://files.ballistica.net/cache/ba1/b6/16/86f4ba5613d093c44760c019fe82",
+ "assets/build/ba_data/audio/assassinDeath.ogg": "https://files.ballistica.net/cache/ba1/71/17/66fa6669e86bdca6240f1fbaf0c7",
+ "assets/build/ba_data/audio/assassinFall.ogg": "https://files.ballistica.net/cache/ba1/57/76/980dc478a1f237d9215271aff93a",
+ "assets/build/ba_data/audio/assassinHit1.ogg": "https://files.ballistica.net/cache/ba1/22/3c/b16509338f7acedf88e942cde851",
+ "assets/build/ba_data/audio/assassinHit2.ogg": "https://files.ballistica.net/cache/ba1/e4/a8/9e3c35af89d6646b1f6057efdb04",
+ "assets/build/ba_data/audio/bear1.ogg": "https://files.ballistica.net/cache/ba1/d9/43/90301c8f79ca8fc7bf9d46debe8b",
+ "assets/build/ba_data/audio/bear2.ogg": "https://files.ballistica.net/cache/ba1/06/09/2e0b901d67e637daebfb127633a8",
+ "assets/build/ba_data/audio/bear3.ogg": "https://files.ballistica.net/cache/ba1/30/72/9c65d8b677ad9c7835a4d8564e61",
+ "assets/build/ba_data/audio/bear4.ogg": "https://files.ballistica.net/cache/ba1/95/75/f741993d1324b07428daa763a9dd",
+ "assets/build/ba_data/audio/bearDeath.ogg": "https://files.ballistica.net/cache/ba1/67/13/dadd79d161bc2631f2c042c99a0c",
+ "assets/build/ba_data/audio/bearFall.ogg": "https://files.ballistica.net/cache/ba1/2a/28/0296bdae09a10107adefe10efc4a",
+ "assets/build/ba_data/audio/bearHit1.ogg": "https://files.ballistica.net/cache/ba1/40/f7/7c8710bcd59b6985559c46dc77dd",
+ "assets/build/ba_data/audio/bearHit2.ogg": "https://files.ballistica.net/cache/ba1/03/6a/773d51c38135a560991cc9bfd00e",
+ "assets/build/ba_data/audio/bellHigh.ogg": "https://files.ballistica.net/cache/ba1/71/d2/22d1f17c9b3b2096717d05ca6abf",
+ "assets/build/ba_data/audio/bellLow.ogg": "https://files.ballistica.net/cache/ba1/3e/e9/39cf8b93495275f65e6366635a04",
+ "assets/build/ba_data/audio/bellMed.ogg": "https://files.ballistica.net/cache/ba1/fd/03/158b893534c37bf3fe175f35658a",
+ "assets/build/ba_data/audio/bigImpact.ogg": "https://files.ballistica.net/cache/ba1/b8/c0/c32a1e9f48b0b930523610a80421",
+ "assets/build/ba_data/audio/bigImpact2.ogg": "https://files.ballistica.net/cache/ba1/76/a1/98a76f85ba7b82b93a407185c4b4",
+ "assets/build/ba_data/audio/blank.ogg": "https://files.ballistica.net/cache/ba1/d9/76/0804ca388dfc99bfc59f96995885",
+ "assets/build/ba_data/audio/blip.ogg": "https://files.ballistica.net/cache/ba1/3e/7b/7202c689b52d6013d039100569b1",
+ "assets/build/ba_data/audio/block.ogg": "https://files.ballistica.net/cache/ba1/bd/9b/e8562a2ac698ec0134161fbb00ab",
+ "assets/build/ba_data/audio/bombDrop01.ogg": "https://files.ballistica.net/cache/ba1/f5/98/f2228e345715984d30fc0972f122",
+ "assets/build/ba_data/audio/bombDrop02.ogg": "https://files.ballistica.net/cache/ba1/31/b1/929d3d8392287b24e7f13d506346",
+ "assets/build/ba_data/audio/bombRoll01.ogg": "https://files.ballistica.net/cache/ba1/ed/7d/7b854c9fe4cd31256b31d595001b",
+ "assets/build/ba_data/audio/bones1.ogg": "https://files.ballistica.net/cache/ba1/85/81/74dc1408dd2caa790ac56e79fd72",
+ "assets/build/ba_data/audio/bones2.ogg": "https://files.ballistica.net/cache/ba1/99/b7/e4f72eee3f7d470454517ccf8db9",
+ "assets/build/ba_data/audio/bones3.ogg": "https://files.ballistica.net/cache/ba1/4d/ac/91d42d50db70c1680e3939792211",
+ "assets/build/ba_data/audio/bonesDeath.ogg": "https://files.ballistica.net/cache/ba1/26/fe/f1e83a4625209cc4b731df64d23b",
+ "assets/build/ba_data/audio/bonesFall.ogg": "https://files.ballistica.net/cache/ba1/36/68/36b1e4ebec91246ff59596265121",
+ "assets/build/ba_data/audio/boo.ogg": "https://files.ballistica.net/cache/ba1/46/6d/7153999fd341b2d929d92f12d300",
+ "assets/build/ba_data/audio/boxDrop.ogg": "https://files.ballistica.net/cache/ba1/cb/01/68c7de734ec2904d69a19be3df9a",
+ "assets/build/ba_data/audio/boxingBell.ogg": "https://files.ballistica.net/cache/ba1/f2/4e/0fdb572eec4ec1d1503b1d28e038",
+ "assets/build/ba_data/audio/bunny1.ogg": "https://files.ballistica.net/cache/ba1/f8/ea/8d075f42f0bf17b92a95fb44bead",
+ "assets/build/ba_data/audio/bunny2.ogg": "https://files.ballistica.net/cache/ba1/1a/c6/b5afc0ebcaa7bc52579c218c512a",
+ "assets/build/ba_data/audio/bunny3.ogg": "https://files.ballistica.net/cache/ba1/05/98/7f644f767c2941dd3945bff39982",
+ "assets/build/ba_data/audio/bunny4.ogg": "https://files.ballistica.net/cache/ba1/e2/3c/9057dcf62b0e4cd8ec47a5a8f2ff",
+ "assets/build/ba_data/audio/bunnyDeath.ogg": "https://files.ballistica.net/cache/ba1/f8/e0/bb3cdf44d95b4ff0fd6f309064ca",
+ "assets/build/ba_data/audio/bunnyFall.ogg": "https://files.ballistica.net/cache/ba1/5a/4d/e493a554ea7924992ee80ee874b8",
+ "assets/build/ba_data/audio/bunnyHit1.ogg": "https://files.ballistica.net/cache/ba1/37/8a/1403fd21f6b6977a3e9bca899e8e",
+ "assets/build/ba_data/audio/bunnyHit2.ogg": "https://files.ballistica.net/cache/ba1/d2/45/32b28f2b80da230e19373f24fe72",
+ "assets/build/ba_data/audio/bunnyJump.ogg": "https://files.ballistica.net/cache/ba1/22/e1/87cd1162f9c12c277337d4db858d",
+ "assets/build/ba_data/audio/cashRegister.ogg": "https://files.ballistica.net/cache/ba1/7f/6c/fe7fe79bf50d805f715e857e35c1",
+ "assets/build/ba_data/audio/cashRegister2.ogg": "https://files.ballistica.net/cache/ba1/49/7e/479f0086092c26bea84951b02c65",
+ "assets/build/ba_data/audio/charSelectMusic.ogg": "https://files.ballistica.net/cache/ba1/8f/60/cad028618fc7a96a57d3e0607ced",
+ "assets/build/ba_data/audio/cheer.ogg": "https://files.ballistica.net/cache/ba1/10/fc/f5db81aa1f8c88b616f81f0c06d6",
+ "assets/build/ba_data/audio/click01.ogg": "https://files.ballistica.net/cache/ba1/51/9b/a44d857e14a52b5d4c08fc4cea21",
+ "assets/build/ba_data/audio/corkPop.ogg": "https://files.ballistica.net/cache/ba1/ba/3b/cbaccb2a2f2faccecc2295fe6eb7",
+ "assets/build/ba_data/audio/cowboy1.ogg": "https://files.ballistica.net/cache/ba1/d0/97/652e140e26e078e7f999502dccc0",
+ "assets/build/ba_data/audio/cowboy2.ogg": "https://files.ballistica.net/cache/ba1/ad/e8/1c9180456e93674a9e5cf0bcf316",
+ "assets/build/ba_data/audio/cowboy3.ogg": "https://files.ballistica.net/cache/ba1/a9/e2/3837dd4a54605278413892bbb1b3",
+ "assets/build/ba_data/audio/cowboy4.ogg": "https://files.ballistica.net/cache/ba1/5c/23/d092d238c8dc6b984b564acb741e",
+ "assets/build/ba_data/audio/cowboyDeath.ogg": "https://files.ballistica.net/cache/ba1/92/30/505b35679973265c77aec1879918",
+ "assets/build/ba_data/audio/cowboyFall.ogg": "https://files.ballistica.net/cache/ba1/e9/73/79acef733ca545471f8ad41ddb70",
+ "assets/build/ba_data/audio/cowboyHit1.ogg": "https://files.ballistica.net/cache/ba1/48/ca/deae1b1c80d04b2460ce31009cc0",
+ "assets/build/ba_data/audio/cowboyHit2.ogg": "https://files.ballistica.net/cache/ba1/04/80/09b6ea92633e1fed60761dc09b49",
+ "assets/build/ba_data/audio/crowdChant.ogg": "https://files.ballistica.net/cache/ba1/40/ed/c9de5de485a4004c331251b0e47a",
+ "assets/build/ba_data/audio/cyborg1.ogg": "https://files.ballistica.net/cache/ba1/cb/76/ab5d8bdf5171ec6d01c69a0c6f6b",
+ "assets/build/ba_data/audio/cyborg2.ogg": "https://files.ballistica.net/cache/ba1/0b/47/b5d02aea0b9f87d7f21090d886f5",
+ "assets/build/ba_data/audio/cyborg3.ogg": "https://files.ballistica.net/cache/ba1/fd/c0/271def6b971461e61b08fb7cb45e",
+ "assets/build/ba_data/audio/cyborg4.ogg": "https://files.ballistica.net/cache/ba1/6d/21/103490ce2916f176221af16cd203",
+ "assets/build/ba_data/audio/cyborgDeath.ogg": "https://files.ballistica.net/cache/ba1/e3/d3/34dfd0cc263f6ad90f3dea0f1585",
+ "assets/build/ba_data/audio/cyborgFall.ogg": "https://files.ballistica.net/cache/ba1/69/57/f82b6830a246d77222155920802d",
+ "assets/build/ba_data/audio/cyborgHit1.ogg": "https://files.ballistica.net/cache/ba1/8a/44/73888a76aea298601345d7630d22",
+ "assets/build/ba_data/audio/cyborgHit2.ogg": "https://files.ballistica.net/cache/ba1/54/78/2336a2c02ce7c8e5886c81c9db21",
+ "assets/build/ba_data/audio/cymbal.ogg": "https://files.ballistica.net/cache/ba1/fe/42/05a8ebd48833c0d9dc759b2b009b",
+ "assets/build/ba_data/audio/debrisFall.ogg": "https://files.ballistica.net/cache/ba1/24/8c/d4048dbe06b7df22295157896476",
+ "assets/build/ba_data/audio/deek.ogg": "https://files.ballistica.net/cache/ba1/d3/c6/3eb603673a58aba669d9913d7165",
+ "assets/build/ba_data/audio/deek2.ogg": "https://files.ballistica.net/cache/ba1/26/e9/d8b78b4485ffa71564fae35c8525",
+ "assets/build/ba_data/audio/ding.ogg": "https://files.ballistica.net/cache/ba1/f2/27/35f6bb6afdf1888232be7433fdea",
+ "assets/build/ba_data/audio/dingSmall.ogg": "https://files.ballistica.net/cache/ba1/07/2b/660cc90ea49fe2321bb4e0660e65",
+ "assets/build/ba_data/audio/dingSmallHigh.ogg": "https://files.ballistica.net/cache/ba1/74/20/68790ee05e2a2ad4ac6e41ce2b23",
+ "assets/build/ba_data/audio/dripity.ogg": "https://files.ballistica.net/cache/ba1/09/10/a0ca0893396b096d7484a300796e",
+ "assets/build/ba_data/audio/drumRoll.ogg": "https://files.ballistica.net/cache/ba1/0c/d8/f9a591ed0f9e2144e321c23c0b31",
+ "assets/build/ba_data/audio/error.ogg": "https://files.ballistica.net/cache/ba1/14/92/b4d09408b166dc26f3f2b4ef7f95",
+ "assets/build/ba_data/audio/explosion01.ogg": "https://files.ballistica.net/cache/ba1/d2/87/26eab8d87272008bc864dea3b3f2",
+ "assets/build/ba_data/audio/explosion02.ogg": "https://files.ballistica.net/cache/ba1/a0/54/15d8efb734b3d738a67d7b615be0",
+ "assets/build/ba_data/audio/explosion03.ogg": "https://files.ballistica.net/cache/ba1/48/09/54c2fdb0c81c195adcceb14bf3ed",
+ "assets/build/ba_data/audio/explosion04.ogg": "https://files.ballistica.net/cache/ba1/06/31/5eabf40d5de5331c7c3a98736523",
+ "assets/build/ba_data/audio/explosion05.ogg": "https://files.ballistica.net/cache/ba1/f9/79/7a855a0ee59a5d7b9a4054951170",
+ "assets/build/ba_data/audio/fanfare.ogg": "https://files.ballistica.net/cache/ba1/3a/24/dfef21fc7086aa10501e7932fd5f",
+ "assets/build/ba_data/audio/flagCatcherMusic.ogg": "https://files.ballistica.net/cache/ba1/bd/b9/d8f470548312b759a594e61a6547",
+ "assets/build/ba_data/audio/flyingMusic.ogg": "https://files.ballistica.net/cache/ba1/a3/f3/36f02fe509a69cd3ef93434bf5bb",
+ "assets/build/ba_data/audio/foghorn.ogg": "https://files.ballistica.net/cache/ba1/c4/d7/69f880ee863c405931d209e1a6fb",
+ "assets/build/ba_data/audio/footImpact01.ogg": "https://files.ballistica.net/cache/ba1/6a/07/687c4cf9bd3c0689b3ba981b2413",
+ "assets/build/ba_data/audio/footImpact02.ogg": "https://files.ballistica.net/cache/ba1/aa/d2/185699752a0e588356ec32c01798",
+ "assets/build/ba_data/audio/footImpact03.ogg": "https://files.ballistica.net/cache/ba1/48/5e/a414bd8f60aae584ef6c232118db",
+ "assets/build/ba_data/audio/forwardMarchMusic.ogg": "https://files.ballistica.net/cache/ba1/9a/05/d6545c0544aae3cf5b66bd6d592f",
+ "assets/build/ba_data/audio/freeze.ogg": "https://files.ballistica.net/cache/ba1/20/40/f8df119ec438f26a2ce7272b813c",
+ "assets/build/ba_data/audio/frosty01.ogg": "https://files.ballistica.net/cache/ba1/4e/e3/3900cffb0982629c4b852c7af08d",
+ "assets/build/ba_data/audio/frosty02.ogg": "https://files.ballistica.net/cache/ba1/77/23/a38bb0cf56705fda65e28564011f",
+ "assets/build/ba_data/audio/frosty03.ogg": "https://files.ballistica.net/cache/ba1/4c/25/0c561d18089b5258fd82326cd1ca",
+ "assets/build/ba_data/audio/frosty04.ogg": "https://files.ballistica.net/cache/ba1/1a/0d/f1a6526db70a1ec72cce3b40c116",
+ "assets/build/ba_data/audio/frosty05.ogg": "https://files.ballistica.net/cache/ba1/0f/b0/66ad212e837ebf391b99677fcdf6",
+ "assets/build/ba_data/audio/frostyDeath.ogg": "https://files.ballistica.net/cache/ba1/25/0e/c885a49c36796f108d0c0d119056",
+ "assets/build/ba_data/audio/frostyFall.ogg": "https://files.ballistica.net/cache/ba1/21/90/eefff7985a66f117b2f054b58e55",
+ "assets/build/ba_data/audio/frostyHit01.ogg": "https://files.ballistica.net/cache/ba1/b8/f0/6b261ca09a74d265a281a12a3ec7",
+ "assets/build/ba_data/audio/frostyHit02.ogg": "https://files.ballistica.net/cache/ba1/b4/a2/63af2e0c0171f8af3114537c468e",
+ "assets/build/ba_data/audio/frostyHit03.ogg": "https://files.ballistica.net/cache/ba1/d6/52/74ab1f9569db7c321b3fc5ce377e",
+ "assets/build/ba_data/audio/fuse01.ogg": "https://files.ballistica.net/cache/ba1/43/90/d08e1c92f549f36017e149b55a86",
+ "assets/build/ba_data/audio/gladiator1.ogg": "https://files.ballistica.net/cache/ba1/f5/87/636e940bfa0e145286f0dfe8333d",
+ "assets/build/ba_data/audio/gladiator2.ogg": "https://files.ballistica.net/cache/ba1/ee/d1/5448ef6a3577079ef5edf14051bf",
+ "assets/build/ba_data/audio/gladiator3.ogg": "https://files.ballistica.net/cache/ba1/ad/fe/9ee7fd34457375c5bd03d982f513",
+ "assets/build/ba_data/audio/gladiator4.ogg": "https://files.ballistica.net/cache/ba1/1d/d0/45434851db9c23b445e5b5582ebe",
+ "assets/build/ba_data/audio/gladiatorDeath.ogg": "https://files.ballistica.net/cache/ba1/51/f5/bff1b5b647f107e2cfdb1160522f",
+ "assets/build/ba_data/audio/gladiatorFall.ogg": "https://files.ballistica.net/cache/ba1/6f/fb/94d366edc7f7450ccf1ccb0646a4",
+ "assets/build/ba_data/audio/gladiatorHit1.ogg": "https://files.ballistica.net/cache/ba1/fd/f7/0ea8e9de001d6672bef84a85052a",
+ "assets/build/ba_data/audio/gladiatorHit2.ogg": "https://files.ballistica.net/cache/ba1/60/dc/ca2b8c97e4d4be7abb4cd8d7a965",
+ "assets/build/ba_data/audio/gong.ogg": "https://files.ballistica.net/cache/ba1/4e/1d/4fe6dc99d3ae2bc0a7535b0a7de8",
+ "assets/build/ba_data/audio/grandRompMusic.ogg": "https://files.ballistica.net/cache/ba1/e4/0d/ed53d243edff086373ef8ba3fe31",
+ "assets/build/ba_data/audio/gravelSkid.ogg": "https://files.ballistica.net/cache/ba1/b6/8b/58b7d422bccb11166f0bf3171aab",
+ "assets/build/ba_data/audio/gunCocking.ogg": "https://files.ballistica.net/cache/ba1/14/3f/eafa05c127495e6bc3c84e632ce0",
+ "assets/build/ba_data/audio/healthPowerup.ogg": "https://files.ballistica.net/cache/ba1/02/13/aaae3af392f998a1cdd0875de995",
+ "assets/build/ba_data/audio/hiss.ogg": "https://files.ballistica.net/cache/ba1/27/6c/d4f59706325bcf457bab6d58fa29",
+ "assets/build/ba_data/audio/impactHard.ogg": "https://files.ballistica.net/cache/ba1/95/c0/f8eee544bb59d3d2edcec38631f1",
+ "assets/build/ba_data/audio/impactHard2.ogg": "https://files.ballistica.net/cache/ba1/3c/30/5a0392d264aba976eaf4bff54a46",
+ "assets/build/ba_data/audio/impactHard3.ogg": "https://files.ballistica.net/cache/ba1/98/d1/86f127f805946f73f4c76aa2cb1d",
+ "assets/build/ba_data/audio/impactMedium.ogg": "https://files.ballistica.net/cache/ba1/db/ff/25dabed832b64709713bd94db23b",
+ "assets/build/ba_data/audio/impactMedium2.ogg": "https://files.ballistica.net/cache/ba1/27/68/d1634b8121357cef61aa4a9e70c6",
+ "assets/build/ba_data/audio/jack01.ogg": "https://files.ballistica.net/cache/ba1/bf/d2/3d9567c8643d184004f3227d616f",
+ "assets/build/ba_data/audio/jack02.ogg": "https://files.ballistica.net/cache/ba1/5c/66/87ce7724585ee2c96c6c3c44b03a",
+ "assets/build/ba_data/audio/jack03.ogg": "https://files.ballistica.net/cache/ba1/51/1a/8fd6c69e6dab8d8623d2f929494d",
+ "assets/build/ba_data/audio/jack04.ogg": "https://files.ballistica.net/cache/ba1/51/27/2ac65eff8450fa022cfb6d1750c3",
+ "assets/build/ba_data/audio/jack05.ogg": "https://files.ballistica.net/cache/ba1/59/e0/33a7e8f0db571b32a904d15cbf08",
+ "assets/build/ba_data/audio/jack06.ogg": "https://files.ballistica.net/cache/ba1/f1/64/09fb6cdb1fed5570bbbb4e7c4fb8",
+ "assets/build/ba_data/audio/jackDeath01.ogg": "https://files.ballistica.net/cache/ba1/5e/1d/2b2e0cd4cd0f6b2fa2ab6b6759f9",
+ "assets/build/ba_data/audio/jackFall01.ogg": "https://files.ballistica.net/cache/ba1/46/e6/9ea02050fc672ffb325e79108e22",
+ "assets/build/ba_data/audio/jackHit01.ogg": "https://files.ballistica.net/cache/ba1/05/19/240edaaf38549ec6fe660f10c03e",
+ "assets/build/ba_data/audio/jackHit02.ogg": "https://files.ballistica.net/cache/ba1/bd/4a/072c239adb19d0964563ad50d788",
+ "assets/build/ba_data/audio/jackHit03.ogg": "https://files.ballistica.net/cache/ba1/af/a3/810685c06b7458143d903ab6a429",
+ "assets/build/ba_data/audio/jackHit04.ogg": "https://files.ballistica.net/cache/ba1/c2/15/c38a691562682fde7c6a76e58efc",
+ "assets/build/ba_data/audio/jackHit05.ogg": "https://files.ballistica.net/cache/ba1/72/c3/def655e1744d2184519bdd64d82c",
+ "assets/build/ba_data/audio/jackHit06.ogg": "https://files.ballistica.net/cache/ba1/80/d2/ed95168a62421ef432e56b131855",
+ "assets/build/ba_data/audio/jackHit07.ogg": "https://files.ballistica.net/cache/ba1/50/c5/f189dadd6138127499c8672a6240",
+ "assets/build/ba_data/audio/jumpsuit1.ogg": "https://files.ballistica.net/cache/ba1/5a/32/ff15c66cddbca09cee47c6b56531",
+ "assets/build/ba_data/audio/jumpsuit2.ogg": "https://files.ballistica.net/cache/ba1/4d/f0/d5e9747e59bd8aaf976340727cd5",
+ "assets/build/ba_data/audio/jumpsuit3.ogg": "https://files.ballistica.net/cache/ba1/d6/1a/92a5757591b3cea495e86e86fb61",
+ "assets/build/ba_data/audio/jumpsuit4.ogg": "https://files.ballistica.net/cache/ba1/8d/64/fe184b240ac15ccd655df29817ae",
+ "assets/build/ba_data/audio/jumpsuitDeath.ogg": "https://files.ballistica.net/cache/ba1/2d/d2/f5ca729b0bc64906b8077ab1ed24",
+ "assets/build/ba_data/audio/jumpsuitFall.ogg": "https://files.ballistica.net/cache/ba1/4f/7e/10d644a66c1394d0d49d8602b9a1",
+ "assets/build/ba_data/audio/jumpsuitHit1.ogg": "https://files.ballistica.net/cache/ba1/6e/19/bab0d0caf87a12d1e17a25284b66",
+ "assets/build/ba_data/audio/jumpsuitHit2.ogg": "https://files.ballistica.net/cache/ba1/51/02/969e4f6c881f5b824d8e551fe271",
+ "assets/build/ba_data/audio/kronk1.ogg": "https://files.ballistica.net/cache/ba1/a9/61/1dccd3357fc2d5b018e601feed91",
+ "assets/build/ba_data/audio/kronk10.ogg": "https://files.ballistica.net/cache/ba1/9f/3b/72a2ee3fcba979e262383598799f",
+ "assets/build/ba_data/audio/kronk2.ogg": "https://files.ballistica.net/cache/ba1/d2/ed/203a359909d9c0e1ac45857b8e74",
+ "assets/build/ba_data/audio/kronk3.ogg": "https://files.ballistica.net/cache/ba1/a8/3c/cf3b065c9aeaa2f8b50a5f9f8148",
+ "assets/build/ba_data/audio/kronk4.ogg": "https://files.ballistica.net/cache/ba1/47/b6/7bef9e6740b2b2ea5cd36b214ebf",
+ "assets/build/ba_data/audio/kronk5.ogg": "https://files.ballistica.net/cache/ba1/21/35/f016ea1c890091815cdd2ea861fd",
+ "assets/build/ba_data/audio/kronk6.ogg": "https://files.ballistica.net/cache/ba1/12/a4/3917f77bd8b5582c74368de4aa99",
+ "assets/build/ba_data/audio/kronk7.ogg": "https://files.ballistica.net/cache/ba1/7e/38/1a243e435cba6fa9a09e72ebe028",
+ "assets/build/ba_data/audio/kronk8.ogg": "https://files.ballistica.net/cache/ba1/06/71/14bff8e7bb70c7f658a8f383e172",
+ "assets/build/ba_data/audio/kronk9.ogg": "https://files.ballistica.net/cache/ba1/c5/45/21d042958f41044a1e5f2b21e8b7",
+ "assets/build/ba_data/audio/kronkDeath.ogg": "https://files.ballistica.net/cache/ba1/3f/d0/c186a2d33aa506d5070d705fc641",
+ "assets/build/ba_data/audio/kronkFall.ogg": "https://files.ballistica.net/cache/ba1/6c/8a/f805ef2fb55059a5d2dd3890c74d",
+ "assets/build/ba_data/audio/laser.ogg": "https://files.ballistica.net/cache/ba1/ef/dc/8e0e6949e4e8c78c339fb4575d50",
+ "assets/build/ba_data/audio/laserReverse.ogg": "https://files.ballistica.net/cache/ba1/f3/79/93b34c76018d124032c2e754b36d",
+ "assets/build/ba_data/audio/mel01.ogg": "https://files.ballistica.net/cache/ba1/55/3d/9c36e4d21b55f8c0322bfd4290be",
+ "assets/build/ba_data/audio/mel02.ogg": "https://files.ballistica.net/cache/ba1/96/7f/7d5c30801c38dbdbcf155c2ee273",
+ "assets/build/ba_data/audio/mel03.ogg": "https://files.ballistica.net/cache/ba1/28/82/6d63e036dfdd8d5965f1218651f7",
+ "assets/build/ba_data/audio/mel04.ogg": "https://files.ballistica.net/cache/ba1/bd/01/b2f32e88d481782a005d78680d24",
+ "assets/build/ba_data/audio/mel05.ogg": "https://files.ballistica.net/cache/ba1/7c/2b/94ab4f2c97d5c5552eec345403c1",
+ "assets/build/ba_data/audio/mel06.ogg": "https://files.ballistica.net/cache/ba1/42/aa/cb28f95d435a80f45ba854e18a43",
+ "assets/build/ba_data/audio/mel07.ogg": "https://files.ballistica.net/cache/ba1/00/aa/aa1a0cc52828a04725db7b9340ad",
+ "assets/build/ba_data/audio/mel08.ogg": "https://files.ballistica.net/cache/ba1/d9/44/48c0c4b5709224e541e4bee9ef2a",
+ "assets/build/ba_data/audio/mel09.ogg": "https://files.ballistica.net/cache/ba1/44/9e/d21685907d9a74e87170012b2236",
+ "assets/build/ba_data/audio/mel10.ogg": "https://files.ballistica.net/cache/ba1/fc/06/b2243194927b8234f000a8be9ba1",
+ "assets/build/ba_data/audio/melDeath01.ogg": "https://files.ballistica.net/cache/ba1/70/98/828f9b9b5cbc7267d8d395c501e9",
+ "assets/build/ba_data/audio/melFall01.ogg": "https://files.ballistica.net/cache/ba1/38/ad/eac309a412a7647d303e72f25552",
+ "assets/build/ba_data/audio/menuMusic.ogg": "https://files.ballistica.net/cache/ba1/ab/4b/bccc6bc6f012ee7f54dcfe0a5a6c",
+ "assets/build/ba_data/audio/metalHit.ogg": "https://files.ballistica.net/cache/ba1/a1/6c/4290e1a92ab6f041c443cbd937f9",
+ "assets/build/ba_data/audio/metalSkid.ogg": "https://files.ballistica.net/cache/ba1/fc/50/4bbff0c0ce85ca86caabbc6d6ee9",
+ "assets/build/ba_data/audio/ninjaAttack1.ogg": "https://files.ballistica.net/cache/ba1/ca/37/cc9c5422e75c7f3f1a17656d9694",
+ "assets/build/ba_data/audio/ninjaAttack2.ogg": "https://files.ballistica.net/cache/ba1/44/df/e2a26d752ed0e43e67201bfc4550",
+ "assets/build/ba_data/audio/ninjaAttack3.ogg": "https://files.ballistica.net/cache/ba1/7a/f6/487acb624f70665498ea74184f7d",
+ "assets/build/ba_data/audio/ninjaAttack4.ogg": "https://files.ballistica.net/cache/ba1/df/a2/5ff0a991b482c467bcc7955531e6",
+ "assets/build/ba_data/audio/ninjaAttack5.ogg": "https://files.ballistica.net/cache/ba1/23/28/5cdbe35e5a22c8c33ba10a2b4a00",
+ "assets/build/ba_data/audio/ninjaAttack6.ogg": "https://files.ballistica.net/cache/ba1/fd/c3/e5f31b1e6612d5c9e605cfe31ecf",
+ "assets/build/ba_data/audio/ninjaAttack7.ogg": "https://files.ballistica.net/cache/ba1/d9/0a/88eb0c01b87e8656a19c0a67adaa",
+ "assets/build/ba_data/audio/ninjaDeath1.ogg": "https://files.ballistica.net/cache/ba1/2c/29/3a722832bb0fd8761c5620d0827a",
+ "assets/build/ba_data/audio/ninjaFall1.ogg": "https://files.ballistica.net/cache/ba1/08/35/6bc7d2bbbf39725d62288ef11ca5",
+ "assets/build/ba_data/audio/ninjaHit1.ogg": "https://files.ballistica.net/cache/ba1/8c/14/294ef00400c30419aae3cc41631f",
+ "assets/build/ba_data/audio/ninjaHit2.ogg": "https://files.ballistica.net/cache/ba1/1d/38/fe15621fca654933213fa3274f96",
+ "assets/build/ba_data/audio/ninjaHit3.ogg": "https://files.ballistica.net/cache/ba1/0d/ae/5c85d617f8e147126463dd8e5163",
+ "assets/build/ba_data/audio/ninjaHit4.ogg": "https://files.ballistica.net/cache/ba1/90/24/0ef9be3dd5d3b5145af5527c0dc1",
+ "assets/build/ba_data/audio/ninjaHit5.ogg": "https://files.ballistica.net/cache/ba1/f1/bd/953051dc708cc3f33d9ca121db42",
+ "assets/build/ba_data/audio/ninjaHit6.ogg": "https://files.ballistica.net/cache/ba1/48/72/cf2ebaab2c8b52b4bb494b686273",
+ "assets/build/ba_data/audio/ninjaHit7.ogg": "https://files.ballistica.net/cache/ba1/87/31/56b83292e8201726fb0a4c9cbab4",
+ "assets/build/ba_data/audio/ninjaHit8.ogg": "https://files.ballistica.net/cache/ba1/f6/ef/cca1cb76a4e41508954b73de6308",
+ "assets/build/ba_data/audio/oldLady1.ogg": "https://files.ballistica.net/cache/ba1/34/3b/433e750cb7036ab83f8b7084c283",
+ "assets/build/ba_data/audio/oldLady2.ogg": "https://files.ballistica.net/cache/ba1/76/f2/964f13d179283046c5d3b1edfd13",
+ "assets/build/ba_data/audio/oldLady3.ogg": "https://files.ballistica.net/cache/ba1/3c/08/4d97a1f3b0f5e4d99df9ddad4f30",
+ "assets/build/ba_data/audio/oldLady4.ogg": "https://files.ballistica.net/cache/ba1/8c/74/b6312c863f55d4ff554463fd3ed9",
+ "assets/build/ba_data/audio/oldLadyDeath.ogg": "https://files.ballistica.net/cache/ba1/d3/8d/b71638aaef9288e07657f4513c87",
+ "assets/build/ba_data/audio/oldLadyFall.ogg": "https://files.ballistica.net/cache/ba1/43/d2/fec2d0452691293f426aa03be4dc",
+ "assets/build/ba_data/audio/oldLadyHit1.ogg": "https://files.ballistica.net/cache/ba1/02/39/f1fe700db605bd8e797508776688",
+ "assets/build/ba_data/audio/oldLadyHit2.ogg": "https://files.ballistica.net/cache/ba1/54/79/fb42c97d42b8293a85a75e8b33be",
+ "assets/build/ba_data/audio/ooh.ogg": "https://files.ballistica.net/cache/ba1/23/0c/7e1fcd7e3aeff4ed21801d0b9ba3",
+ "assets/build/ba_data/audio/operaSinger1.ogg": "https://files.ballistica.net/cache/ba1/d5/61/ad21f3901822f2ec68af0eea84c1",
+ "assets/build/ba_data/audio/operaSinger2.ogg": "https://files.ballistica.net/cache/ba1/a7/12/7ff05d2e3e9f68f66c4c6eb071af",
+ "assets/build/ba_data/audio/operaSinger3.ogg": "https://files.ballistica.net/cache/ba1/46/d6/224b0d02b74bfdea302dfea7ed15",
+ "assets/build/ba_data/audio/operaSinger4.ogg": "https://files.ballistica.net/cache/ba1/28/7c/832b55bb96758a42001c7cf68215",
+ "assets/build/ba_data/audio/operaSingerDeath.ogg": "https://files.ballistica.net/cache/ba1/e7/a8/804bb741d4d2fcc0c60e8e9fd335",
+ "assets/build/ba_data/audio/operaSingerFall.ogg": "https://files.ballistica.net/cache/ba1/c5/5a/4569654f579a21398b50bdab3f92",
+ "assets/build/ba_data/audio/operaSingerHit1.ogg": "https://files.ballistica.net/cache/ba1/fc/3d/f7672ed3203a91ccca65ca49a0c8",
+ "assets/build/ba_data/audio/operaSingerHit2.ogg": "https://files.ballistica.net/cache/ba1/1b/b0/69b941acf395ddd100326a23eea8",
+ "assets/build/ba_data/audio/orchestraHit.ogg": "https://files.ballistica.net/cache/ba1/2f/91/41b6588da3ec7866f74b919beb44",
+ "assets/build/ba_data/audio/orchestraHit2.ogg": "https://files.ballistica.net/cache/ba1/3b/f4/786587cb2e9c1ecec09e54624f85",
+ "assets/build/ba_data/audio/orchestraHit3.ogg": "https://files.ballistica.net/cache/ba1/db/ae/b8732b553140f72e6006b00846ae",
+ "assets/build/ba_data/audio/orchestraHit4.ogg": "https://files.ballistica.net/cache/ba1/95/1f/043f24e7bce9a47d6114a170de6b",
+ "assets/build/ba_data/audio/orchestraHitBig1.ogg": "https://files.ballistica.net/cache/ba1/4b/96/735af33d2bdb86c62527bda009ee",
+ "assets/build/ba_data/audio/orchestraHitBig2.ogg": "https://files.ballistica.net/cache/ba1/50/8e/ce4a93e35749c030656892f10c84",
+ "assets/build/ba_data/audio/penguin1.ogg": "https://files.ballistica.net/cache/ba1/a1/56/cccc174b7d01e304205c07278d4a",
+ "assets/build/ba_data/audio/penguin2.ogg": "https://files.ballistica.net/cache/ba1/8a/2d/c569e669bfda1ccca8c41a332d3b",
+ "assets/build/ba_data/audio/penguin3.ogg": "https://files.ballistica.net/cache/ba1/de/7e/b6126ac0de242102dce5cc68f6b5",
+ "assets/build/ba_data/audio/penguin4.ogg": "https://files.ballistica.net/cache/ba1/55/f8/5abeb1e85580a0ea1156625ff4ba",
+ "assets/build/ba_data/audio/penguinDeath.ogg": "https://files.ballistica.net/cache/ba1/b6/f2/2ff4bd85c6d13d550d9e4b25334e",
+ "assets/build/ba_data/audio/penguinFall.ogg": "https://files.ballistica.net/cache/ba1/2f/e5/3af6a27a526c648c21cd150745c2",
+ "assets/build/ba_data/audio/penguinHit1.ogg": "https://files.ballistica.net/cache/ba1/47/fb/e8828f69f05025c63f9b9603a097",
+ "assets/build/ba_data/audio/penguinHit2.ogg": "https://files.ballistica.net/cache/ba1/60/02/30e129de220ff963c45412783fb7",
+ "assets/build/ba_data/audio/pixie1.ogg": "https://files.ballistica.net/cache/ba1/d0/7e/0a85b9ac15240c8f087b69805e23",
+ "assets/build/ba_data/audio/pixie2.ogg": "https://files.ballistica.net/cache/ba1/0e/29/7aceddc028e159d1c023db535e36",
+ "assets/build/ba_data/audio/pixie3.ogg": "https://files.ballistica.net/cache/ba1/e2/cc/64f79c3f9cbbf027127b20b32fb6",
+ "assets/build/ba_data/audio/pixie4.ogg": "https://files.ballistica.net/cache/ba1/20/1d/39e0752f7c1231ccb27bcb054b26",
+ "assets/build/ba_data/audio/pixieDeath.ogg": "https://files.ballistica.net/cache/ba1/3e/d0/ef9860763cfe49e7e9db020b1b1b",
+ "assets/build/ba_data/audio/pixieFall.ogg": "https://files.ballistica.net/cache/ba1/09/ee/c44fcfab934b45cef56139996047",
+ "assets/build/ba_data/audio/pixieHit1.ogg": "https://files.ballistica.net/cache/ba1/78/15/0e6e98db0ef3f0be3d86d950d895",
+ "assets/build/ba_data/audio/pixieHit2.ogg": "https://files.ballistica.net/cache/ba1/7b/b8/656ed2801c5a76ea74f61f13ab10",
+ "assets/build/ba_data/audio/playerDeath.ogg": "https://files.ballistica.net/cache/ba1/01/73/b91c9eb89e1a80915143c562b35b",
+ "assets/build/ba_data/audio/playerLeft.ogg": "https://files.ballistica.net/cache/ba1/aa/9c/7b9a90d7cb03d0035f82e35f242a",
+ "assets/build/ba_data/audio/pop01.ogg": "https://files.ballistica.net/cache/ba1/ed/86/fc3dd7d0fa21457b1e7a1628e682",
+ "assets/build/ba_data/audio/powerdown01.ogg": "https://files.ballistica.net/cache/ba1/bb/8b/2b583a10252b0c35a8d0d94d155e",
+ "assets/build/ba_data/audio/powerup01.ogg": "https://files.ballistica.net/cache/ba1/76/11/c1ae47a3da790bb5cff24a7ab4d8",
+ "assets/build/ba_data/audio/punch01.ogg": "https://files.ballistica.net/cache/ba1/4f/78/c482335129ed447b9d724d3beaa2",
+ "assets/build/ba_data/audio/punchStrong01.ogg": "https://files.ballistica.net/cache/ba1/a9/5f/fe87867511123094372a5475b226",
+ "assets/build/ba_data/audio/punchStrong02.ogg": "https://files.ballistica.net/cache/ba1/9e/eb/9db7d3ed9dddf86675cace3b11f2",
+ "assets/build/ba_data/audio/punchSwish.ogg": "https://files.ballistica.net/cache/ba1/0c/26/8c32ebffa2ecfa5392e1dd4185b3",
+ "assets/build/ba_data/audio/punchWeak01.ogg": "https://files.ballistica.net/cache/ba1/17/9f/d4fd7800628a4aa92004045425a8",
+ "assets/build/ba_data/audio/raceBeep1.ogg": "https://files.ballistica.net/cache/ba1/c6/d5/a6b10c5aaea3deb7f4e4d9e321b5",
+ "assets/build/ba_data/audio/raceBeep2.ogg": "https://files.ballistica.net/cache/ba1/4b/52/774d1d69680f5a40e6c80fc931ed",
+ "assets/build/ba_data/audio/refWhistle.ogg": "https://files.ballistica.net/cache/ba1/5c/7f/65d1eaae5188084e40a8e36e10ae",
+ "assets/build/ba_data/audio/robot1.ogg": "https://files.ballistica.net/cache/ba1/2b/7d/ba2578be63ef419a648fc0811bd0",
+ "assets/build/ba_data/audio/robot2.ogg": "https://files.ballistica.net/cache/ba1/bd/a1/7916ed96d4fed53ba277e7ee2595",
+ "assets/build/ba_data/audio/robot3.ogg": "https://files.ballistica.net/cache/ba1/f0/fd/f03c5b9b4c123ac826740842775d",
+ "assets/build/ba_data/audio/robot4.ogg": "https://files.ballistica.net/cache/ba1/5b/e3/844433786561eb13d11d055f99e5",
+ "assets/build/ba_data/audio/robotDeath.ogg": "https://files.ballistica.net/cache/ba1/bc/a0/4d220d10ca9d4e7d72598bee4d8d",
+ "assets/build/ba_data/audio/robotFall.ogg": "https://files.ballistica.net/cache/ba1/5b/ff/560d3441f7feb2a08ed3af6d3f64",
+ "assets/build/ba_data/audio/robotHit1.ogg": "https://files.ballistica.net/cache/ba1/d7/17/a7cda9a0fe0f80f432bc11c5eac1",
+ "assets/build/ba_data/audio/robotHit2.ogg": "https://files.ballistica.net/cache/ba1/0d/7d/814b4863fe9892fba623d4e0d617",
+ "assets/build/ba_data/audio/runAwayMusic.ogg": "https://files.ballistica.net/cache/ba1/66/08/98c1524b0600bb80cbc87af072d2",
+ "assets/build/ba_data/audio/santa01.ogg": "https://files.ballistica.net/cache/ba1/c9/19/82588da97c4ce959f7bb60966ed7",
+ "assets/build/ba_data/audio/santa02.ogg": "https://files.ballistica.net/cache/ba1/9d/ef/51d0c125428148be91fac4421970",
+ "assets/build/ba_data/audio/santa03.ogg": "https://files.ballistica.net/cache/ba1/29/ec/2a632082a2643ca3d93042412b4f",
+ "assets/build/ba_data/audio/santa04.ogg": "https://files.ballistica.net/cache/ba1/31/55/f18e7197c3c95a3ad42650c23c53",
+ "assets/build/ba_data/audio/santa05.ogg": "https://files.ballistica.net/cache/ba1/61/b6/dbba826ef7a45da86498c07b1011",
+ "assets/build/ba_data/audio/santaDeath.ogg": "https://files.ballistica.net/cache/ba1/47/37/caa73b64d58866ba34594ca6b2e7",
+ "assets/build/ba_data/audio/santaFall.ogg": "https://files.ballistica.net/cache/ba1/94/4a/234a39ae524069dfb71af1a3b234",
+ "assets/build/ba_data/audio/santaHit01.ogg": "https://files.ballistica.net/cache/ba1/1b/df/0743b9cb9a220820c3d6c7b81e01",
+ "assets/build/ba_data/audio/santaHit02.ogg": "https://files.ballistica.net/cache/ba1/ae/83/92ff894aac5ef18ba73948a8af48",
+ "assets/build/ba_data/audio/santaHit03.ogg": "https://files.ballistica.net/cache/ba1/e9/55/ae36656682b2b4087cccea278326",
+ "assets/build/ba_data/audio/santaHit04.ogg": "https://files.ballistica.net/cache/ba1/4f/fa/24028c09a765d80071282fd6aada",
+ "assets/build/ba_data/audio/scamper01.ogg": "https://files.ballistica.net/cache/ba1/94/42/46eda264db7e181099f35e6cc69c",
+ "assets/build/ba_data/audio/scaryMusic.ogg": "https://files.ballistica.net/cache/ba1/98/4c/e47ffb3e1ebf9ced1d294543d4f6",
+ "assets/build/ba_data/audio/score.ogg": "https://files.ballistica.net/cache/ba1/0d/20/8d717d57b960e9b210cd4786ca1b",
+ "assets/build/ba_data/audio/scoreHit01.ogg": "https://files.ballistica.net/cache/ba1/bf/17/08fb27b75beacb78ce2eb70f7ac8",
+ "assets/build/ba_data/audio/scoreHit02.ogg": "https://files.ballistica.net/cache/ba1/4b/73/b6f64f95bbad8092feb750d0293d",
+ "assets/build/ba_data/audio/scoreIncrease.ogg": "https://files.ballistica.net/cache/ba1/ed/79/e4db6933f8219e6f47096dd99c9c",
+ "assets/build/ba_data/audio/scoresEpicMusic.ogg": "https://files.ballistica.net/cache/ba1/58/92/fbb2eb1d729efd6c727d3401f95d",
+ "assets/build/ba_data/audio/shatter.ogg": "https://files.ballistica.net/cache/ba1/99/96/d5fe6b4ee382a956b7ab66252e8c",
+ "assets/build/ba_data/audio/shieldDown.ogg": "https://files.ballistica.net/cache/ba1/37/e1/13c7bf43e8bb2a70118e68294df0",
+ "assets/build/ba_data/audio/shieldHit.ogg": "https://files.ballistica.net/cache/ba1/53/01/872df7fb82b2ad6df01ee3482ecd",
+ "assets/build/ba_data/audio/shieldUp.ogg": "https://files.ballistica.net/cache/ba1/fc/27/095cf6373e8c2d49bb3f3b2244c8",
+ "assets/build/ba_data/audio/skid01.ogg": "https://files.ballistica.net/cache/ba1/14/19/d43dcce5b9a9f71ab7f2f8aa4913",
+ "assets/build/ba_data/audio/slowEpicMusic.ogg": "https://files.ballistica.net/cache/ba1/22/cf/c9211a2f313cb478c397e6f740c2",
+ "assets/build/ba_data/audio/sparkle01.ogg": "https://files.ballistica.net/cache/ba1/56/3f/5428ef7501a08cd19ef685ff298c",
+ "assets/build/ba_data/audio/sparkle02.ogg": "https://files.ballistica.net/cache/ba1/14/07/1d78f055f07244c63e83aafc39e4",
+ "assets/build/ba_data/audio/sparkle03.ogg": "https://files.ballistica.net/cache/ba1/26/e2/a9e5427679856c3f915e217fd08b",
+ "assets/build/ba_data/audio/spawn.ogg": "https://files.ballistica.net/cache/ba1/0c/86/d493edf56032bb3290ac4c171df9",
+ "assets/build/ba_data/audio/spazAttack01.ogg": "https://files.ballistica.net/cache/ba1/5f/ec/fd918fcd0b8d82810ea3553609e2",
+ "assets/build/ba_data/audio/spazAttack02.ogg": "https://files.ballistica.net/cache/ba1/73/f6/d904bcd83d0bcbec47fa79001bd4",
+ "assets/build/ba_data/audio/spazAttack03.ogg": "https://files.ballistica.net/cache/ba1/f1/8a/0b038156f892adc34874ef6eef67",
+ "assets/build/ba_data/audio/spazAttack04.ogg": "https://files.ballistica.net/cache/ba1/bb/48/0785d392e57dfcfa09027ab4a303",
+ "assets/build/ba_data/audio/spazDeath01.ogg": "https://files.ballistica.net/cache/ba1/b2/5f/63d88d289580df60729b32626699",
+ "assets/build/ba_data/audio/spazEff.ogg": "https://files.ballistica.net/cache/ba1/38/0a/5a56fd9d1df359482d2d6f2c8d37",
+ "assets/build/ba_data/audio/spazFall01.ogg": "https://files.ballistica.net/cache/ba1/7c/60/9c47495b6af5c601b39ae90e481d",
+ "assets/build/ba_data/audio/spazImpact01.ogg": "https://files.ballistica.net/cache/ba1/34/b7/c0f0515e0ab65b575da2af952431",
+ "assets/build/ba_data/audio/spazImpact02.ogg": "https://files.ballistica.net/cache/ba1/83/49/1db0bb58dd0b050214781591a385",
+ "assets/build/ba_data/audio/spazImpact03.ogg": "https://files.ballistica.net/cache/ba1/6a/2b/ac5ecd7c292e3d9ce4f68638583f",
+ "assets/build/ba_data/audio/spazImpact04.ogg": "https://files.ballistica.net/cache/ba1/28/15/bcfee01705a7b4e0dba4fc73034f",
+ "assets/build/ba_data/audio/spazJump01.ogg": "https://files.ballistica.net/cache/ba1/ff/87/e1e020f6cbf4ba670610b17b904a",
+ "assets/build/ba_data/audio/spazJump02.ogg": "https://files.ballistica.net/cache/ba1/4f/41/5b5668d853a32fce5a6b411942de",
+ "assets/build/ba_data/audio/spazJump03.ogg": "https://files.ballistica.net/cache/ba1/56/5e/6ba676555042e089adea8b93973e",
+ "assets/build/ba_data/audio/spazJump04.ogg": "https://files.ballistica.net/cache/ba1/69/69/ff506664e234e228a6c08c74eed7",
+ "assets/build/ba_data/audio/spazOw.ogg": "https://files.ballistica.net/cache/ba1/1c/0c/b334c03933c3a87d046f555f5ce5",
+ "assets/build/ba_data/audio/spazPickup01.ogg": "https://files.ballistica.net/cache/ba1/4c/d2/1967c799bf1a39878de5aaa3cfdc",
+ "assets/build/ba_data/audio/spazScream01.ogg": "https://files.ballistica.net/cache/ba1/bf/ff/3490d32b6e4158c43844450bf802",
+ "assets/build/ba_data/audio/splatter.ogg": "https://files.ballistica.net/cache/ba1/64/64/9d254c22c8ff301f9681f6b6b1a2",
+ "assets/build/ba_data/audio/sportsMusic.ogg": "https://files.ballistica.net/cache/ba1/53/4a/d881d3cd8a345d5cc8cbf0fe0e05",
+ "assets/build/ba_data/audio/stickyImpact.ogg": "https://files.ballistica.net/cache/ba1/f5/cf/7f26696fe44601727a34ed978ebc",
+ "assets/build/ba_data/audio/superPunch.ogg": "https://files.ballistica.net/cache/ba1/88/50/8e1ae48999c8accf8ddd43388117",
+ "assets/build/ba_data/audio/superhero1.ogg": "https://files.ballistica.net/cache/ba1/e0/8e/e0a31ae553e27f6f65ae39d26299",
+ "assets/build/ba_data/audio/superhero2.ogg": "https://files.ballistica.net/cache/ba1/7e/59/68f9a38cbd10ea9715caef250311",
+ "assets/build/ba_data/audio/superhero3.ogg": "https://files.ballistica.net/cache/ba1/21/1b/083a951747aab159ce936c9cace2",
+ "assets/build/ba_data/audio/superhero4.ogg": "https://files.ballistica.net/cache/ba1/39/06/9708e4b46da177f9bee0bb52c22e",
+ "assets/build/ba_data/audio/superheroDeath.ogg": "https://files.ballistica.net/cache/ba1/a9/2d/bdc87c195976a1a0f3734947abc7",
+ "assets/build/ba_data/audio/superheroFall.ogg": "https://files.ballistica.net/cache/ba1/ba/ad/8c177322ef9e2ff8a41b088c723f",
+ "assets/build/ba_data/audio/superheroHit1.ogg": "https://files.ballistica.net/cache/ba1/ce/25/f5564f377f19c56ff23c98daf5ef",
+ "assets/build/ba_data/audio/superheroHit2.ogg": "https://files.ballistica.net/cache/ba1/84/64/babfb59a5f4d833872109ba6b072",
+ "assets/build/ba_data/audio/survivalMusic.ogg": "https://files.ballistica.net/cache/ba1/70/55/69e84aec4d40a240456f3d0a6c35",
+ "assets/build/ba_data/audio/swip.ogg": "https://files.ballistica.net/cache/ba1/06/a2/b97619467c1f5009d7625265f876",
+ "assets/build/ba_data/audio/swip2.ogg": "https://files.ballistica.net/cache/ba1/02/4a/2dc47f9183d771c7a51e2a685e86",
+ "assets/build/ba_data/audio/swish.ogg": "https://files.ballistica.net/cache/ba1/d1/2f/6567abf1b0c7ce24a4cbb71ba6ac",
+ "assets/build/ba_data/audio/swish2.ogg": "https://files.ballistica.net/cache/ba1/ed/2d/d86b2e5bc5bd68cd27b66192a643",
+ "assets/build/ba_data/audio/swish3.ogg": "https://files.ballistica.net/cache/ba1/21/0b/c9cc9a85fd48eeedf77a500ddb46",
+ "assets/build/ba_data/audio/tap.ogg": "https://files.ballistica.net/cache/ba1/76/1e/1db1020fe29cbd7fae4ba6afe15e",
+ "assets/build/ba_data/audio/technoHit01.ogg": "https://files.ballistica.net/cache/ba1/96/2e/506a75ccb5a3413b061866d3ad93",
+ "assets/build/ba_data/audio/tick.ogg": "https://files.ballistica.net/cache/ba1/29/e7/ded4aafe85d66da06295d2c31b77",
+ "assets/build/ba_data/audio/ticking.ogg": "https://files.ballistica.net/cache/ba1/2d/6d/007f2dae91fded99cf04e0b41d49",
+ "assets/build/ba_data/audio/tickingCrazy.ogg": "https://files.ballistica.net/cache/ba1/64/d8/dbc824fe73b7a15d0ed365254de1",
+ "assets/build/ba_data/audio/toTheDeathMusic.ogg": "https://files.ballistica.net/cache/ba1/99/b7/d28b47c5eff5d7168ff8fdb54725",
+ "assets/build/ba_data/audio/trashRummage.ogg": "https://files.ballistica.net/cache/ba1/3a/16/551f189f459216ec5567cde03be8",
+ "assets/build/ba_data/audio/victoryMusic.ogg": "https://files.ballistica.net/cache/ba1/43/58/535c929b38d6b9f2301bac7f1d0f",
+ "assets/build/ba_data/audio/warnBeep.ogg": "https://files.ballistica.net/cache/ba1/78/ba/ff620c7e4155589bd3fdec204fe9",
+ "assets/build/ba_data/audio/warnBeeps.ogg": "https://files.ballistica.net/cache/ba1/cd/4b/e0fc659ea8f386e60032e0d2f187",
+ "assets/build/ba_data/audio/warrior1.ogg": "https://files.ballistica.net/cache/ba1/3b/4e/99f657c939841416ab10705e2f0f",
+ "assets/build/ba_data/audio/warrior2.ogg": "https://files.ballistica.net/cache/ba1/cf/af/e163e2623b582695c6ef1fee7de6",
+ "assets/build/ba_data/audio/warrior3.ogg": "https://files.ballistica.net/cache/ba1/9d/67/4153af13d3ca485a1da80d7bfc73",
+ "assets/build/ba_data/audio/warrior4.ogg": "https://files.ballistica.net/cache/ba1/55/47/77e46614fbbe4124a9e2776d73fa",
+ "assets/build/ba_data/audio/warriorDeath.ogg": "https://files.ballistica.net/cache/ba1/c7/5a/78b83b2c2f20ee68865126444ea0",
+ "assets/build/ba_data/audio/warriorFall.ogg": "https://files.ballistica.net/cache/ba1/cf/f3/7fa5b0e061a151e606d0838a5011",
+ "assets/build/ba_data/audio/warriorHit1.ogg": "https://files.ballistica.net/cache/ba1/14/17/d834c78b06953345b6b914f57c78",
+ "assets/build/ba_data/audio/warriorHit2.ogg": "https://files.ballistica.net/cache/ba1/99/c9/53c4ab9e87a099e8a327011b6c74",
+ "assets/build/ba_data/audio/whenJohnnyComesMarchingHomeMusic.ogg": "https://files.ballistica.net/cache/ba1/81/c5/0f20ab2032736ff7a3f1c413d358",
+ "assets/build/ba_data/audio/witch1.ogg": "https://files.ballistica.net/cache/ba1/54/27/803ace97bef46592461e38f0efeb",
+ "assets/build/ba_data/audio/witch2.ogg": "https://files.ballistica.net/cache/ba1/97/ad/986af5fccff5a9ee0810c741bd14",
+ "assets/build/ba_data/audio/witch3.ogg": "https://files.ballistica.net/cache/ba1/d3/09/d274e22491e94a339f50dbe36df2",
+ "assets/build/ba_data/audio/witch4.ogg": "https://files.ballistica.net/cache/ba1/1d/c0/25666bade6399ec48d42bccf1705",
+ "assets/build/ba_data/audio/witchDeath.ogg": "https://files.ballistica.net/cache/ba1/e4/b9/df51c74b9acd74b73a42747515ec",
+ "assets/build/ba_data/audio/witchFall.ogg": "https://files.ballistica.net/cache/ba1/87/a0/9b60db4e4d3244c754596f9810a6",
+ "assets/build/ba_data/audio/witchHit1.ogg": "https://files.ballistica.net/cache/ba1/d4/bc/90a8fba8d7d950d8d8be589cec1b",
+ "assets/build/ba_data/audio/witchHit2.ogg": "https://files.ballistica.net/cache/ba1/6a/91/f9d58a9502bee9ec980b36484695",
+ "assets/build/ba_data/audio/wizard1.ogg": "https://files.ballistica.net/cache/ba1/1a/af/593fdc90435f06f8dac346ede775",
+ "assets/build/ba_data/audio/wizard2.ogg": "https://files.ballistica.net/cache/ba1/59/0f/08135d11dc6a829c641b56b99375",
+ "assets/build/ba_data/audio/wizard3.ogg": "https://files.ballistica.net/cache/ba1/9b/c7/1862004a61c07368d9bf9a3b9cbe",
+ "assets/build/ba_data/audio/wizard4.ogg": "https://files.ballistica.net/cache/ba1/97/9b/71b9b8bbf34334686388d4ebca9f",
+ "assets/build/ba_data/audio/wizardDeath.ogg": "https://files.ballistica.net/cache/ba1/c3/74/d3e39365c1ef81a3eec0ca21b48e",
+ "assets/build/ba_data/audio/wizardFall.ogg": "https://files.ballistica.net/cache/ba1/9e/b8/b27b01bb4f9a3b5a7145f92a2f61",
+ "assets/build/ba_data/audio/wizardHit1.ogg": "https://files.ballistica.net/cache/ba1/9b/60/4a301083a3513101329c6d2dc2f5",
+ "assets/build/ba_data/audio/wizardHit2.ogg": "https://files.ballistica.net/cache/ba1/69/af/ec859bd88cb98ef3d9f7a59959de",
+ "assets/build/ba_data/audio/woodDebrisFall.ogg": "https://files.ballistica.net/cache/ba1/a5/4a/92dae35ddef9dc360775e30383f5",
+ "assets/build/ba_data/audio/wrestler1.ogg": "https://files.ballistica.net/cache/ba1/a0/6a/c44f925a476f89a1ccb0f04ac18d",
+ "assets/build/ba_data/audio/wrestler2.ogg": "https://files.ballistica.net/cache/ba1/31/75/f2f2417279808ccf6d0110b3307a",
+ "assets/build/ba_data/audio/wrestler3.ogg": "https://files.ballistica.net/cache/ba1/ac/02/9265798623cb289a6f29ce07d840",
+ "assets/build/ba_data/audio/wrestler4.ogg": "https://files.ballistica.net/cache/ba1/b3/26/a1c54a9b771616bae9b64f7c1a83",
+ "assets/build/ba_data/audio/wrestlerDeath.ogg": "https://files.ballistica.net/cache/ba1/76/49/ca56d58cb9e2911dddbb9f8c7f2c",
+ "assets/build/ba_data/audio/wrestlerFall.ogg": "https://files.ballistica.net/cache/ba1/1a/15/b80123a7fdf63f7583200555f7e0",
+ "assets/build/ba_data/audio/wrestlerHit1.ogg": "https://files.ballistica.net/cache/ba1/da/88/ff0255b3a88419b60bf818326389",
+ "assets/build/ba_data/audio/wrestlerHit2.ogg": "https://files.ballistica.net/cache/ba1/83/50/6182cd93dafbf826a27440c77903",
+ "assets/build/ba_data/audio/zoeAttack01.ogg": "https://files.ballistica.net/cache/ba1/b0/0c/f13584fba6b3c187734260847142",
+ "assets/build/ba_data/audio/zoeAttack02.ogg": "https://files.ballistica.net/cache/ba1/a2/5b/88ef15998d4d021bbb91f3cf6412",
+ "assets/build/ba_data/audio/zoeAttack03.ogg": "https://files.ballistica.net/cache/ba1/98/46/233b085adbcb62cfcd2219741bc8",
+ "assets/build/ba_data/audio/zoeAttack04.ogg": "https://files.ballistica.net/cache/ba1/d2/16/b43c829bf35e6f274d6bbb5362df",
+ "assets/build/ba_data/audio/zoeDeath01.ogg": "https://files.ballistica.net/cache/ba1/70/db/53d06c54f20ed0c7415f8b2a268c",
+ "assets/build/ba_data/audio/zoeEff.ogg": "https://files.ballistica.net/cache/ba1/91/28/35b8c180eceefc74976b2031d627",
+ "assets/build/ba_data/audio/zoeFall01.ogg": "https://files.ballistica.net/cache/ba1/93/85/202aa54ee53dfddc9f4b224f87ae",
+ "assets/build/ba_data/audio/zoeImpact01.ogg": "https://files.ballistica.net/cache/ba1/20/c0/36b904a3c2dd6e6bdf940bc47f5e",
+ "assets/build/ba_data/audio/zoeImpact02.ogg": "https://files.ballistica.net/cache/ba1/1d/c2/54d7b87a6bcbea9492d6e2b26b83",
+ "assets/build/ba_data/audio/zoeImpact03.ogg": "https://files.ballistica.net/cache/ba1/69/39/fc740f0342d796ceeb0a53e239a3",
+ "assets/build/ba_data/audio/zoeImpact04.ogg": "https://files.ballistica.net/cache/ba1/b0/d9/144192c9b533ab09ed35fabaa2af",
+ "assets/build/ba_data/audio/zoeJump01.ogg": "https://files.ballistica.net/cache/ba1/b9/e9/a20d4a89805318c49b06c98c1d20",
+ "assets/build/ba_data/audio/zoeJump02.ogg": "https://files.ballistica.net/cache/ba1/d4/2e/f73de8f7ffd4b91251f8383aeaba",
+ "assets/build/ba_data/audio/zoeJump03.ogg": "https://files.ballistica.net/cache/ba1/8c/13/17780b788fb9d15c0c6a60f38a89",
+ "assets/build/ba_data/audio/zoeOw.ogg": "https://files.ballistica.net/cache/ba1/d5/f8/de3b22ac60d0caee44369117c8db",
+ "assets/build/ba_data/audio/zoePickup01.ogg": "https://files.ballistica.net/cache/ba1/c7/37/660e2ceca8b9b2db2cfce5a9f6f0",
+ "assets/build/ba_data/audio/zoeScream01.ogg": "https://files.ballistica.net/cache/ba1/d9/82/92157cb4f21fdd8c911eec910ad4",
"assets/build/ba_data/data/langdata.json": "https://files.ballistica.net/cache/ba1/d2/3b/8570014ea8623a9acd11cff77b51",
"assets/build/ba_data/data/languages/arabic.json": "https://files.ballistica.net/cache/ba1/45/70/91f386517fa3dc7322e1345ee1ab",
"assets/build/ba_data/data/languages/belarussian.json": "https://files.ballistica.net/cache/ba1/61/03/89070ca765e06da3a419a579f503",
@@ -1073,7 +1073,7 @@
"assets/build/ba_data/textures/actionHeroColor.dds": "https://files.ballistica.net/cache/ba1/62/91/355fa26219c26750e46ad358dbc7",
"assets/build/ba_data/textures/actionHeroColor.ktx": "https://files.ballistica.net/cache/ba1/01/ce/95415b6b29f60015900b2f33db42",
"assets/build/ba_data/textures/actionHeroColor.pvr": "https://files.ballistica.net/cache/ba1/0d/03/832309d85531d4be991b6f7a9107",
- "assets/build/ba_data/textures/actionHeroColorMask.dds": "https://files.ballistica.net/cache/ba1/7d/8d/5b94b6e589f7f67ecc310e2cfa3c",
+ "assets/build/ba_data/textures/actionHeroColorMask.dds": "https://files.ballistica.net/cache/ba1/5c/c0/7f52de795a1f08ffa72030cf9178",
"assets/build/ba_data/textures/actionHeroColorMask.ktx": "https://files.ballistica.net/cache/ba1/07/ed/6791e01ac69bb61cdffade59808f",
"assets/build/ba_data/textures/actionHeroColorMask.pvr": "https://files.ballistica.net/cache/ba1/22/40/d50cbe4fa13a3294638bb1b42c72",
"assets/build/ba_data/textures/actionHeroColorMask_preview.png": "https://files.ballistica.net/cache/ba1/83/2f/9a009e8f2cc9b956043511db105c",
@@ -1090,15 +1090,15 @@
"assets/build/ba_data/textures/advancedIcon.ktx": "https://files.ballistica.net/cache/ba1/87/6d/1758aaf14120f6c418e2ecdb410f",
"assets/build/ba_data/textures/advancedIcon.pvr": "https://files.ballistica.net/cache/ba1/39/00/237c07cd4a239ca69f90ba571e07",
"assets/build/ba_data/textures/advancedIcon_preview.png": "https://files.ballistica.net/cache/ba1/21/d5/3a3a834112b84befe910c15df2b6",
- "assets/build/ba_data/textures/agentColor.dds": "https://files.ballistica.net/cache/ba1/17/c2/2a9cc0d3c88e048cce4e75880328",
+ "assets/build/ba_data/textures/agentColor.dds": "https://files.ballistica.net/cache/ba1/05/19/15d35284e062e8d037dfece71af5",
"assets/build/ba_data/textures/agentColor.ktx": "https://files.ballistica.net/cache/ba1/ff/8a/3e375971f932cba1e4c8800129e8",
"assets/build/ba_data/textures/agentColor.pvr": "https://files.ballistica.net/cache/ba1/f8/3a/438fae77e7ad607345ff883c272d",
- "assets/build/ba_data/textures/agentColorMask.dds": "https://files.ballistica.net/cache/ba1/4f/ab/db5c3baed96dbec309c33ca13258",
+ "assets/build/ba_data/textures/agentColorMask.dds": "https://files.ballistica.net/cache/ba1/dc/b1/a5a98e27864377a91452abcfba66",
"assets/build/ba_data/textures/agentColorMask.ktx": "https://files.ballistica.net/cache/ba1/64/9a/255eeabf2f4a5626d478b41f2268",
"assets/build/ba_data/textures/agentColorMask.pvr": "https://files.ballistica.net/cache/ba1/6a/d2/7a311a8525c02f7c8edb974e9651",
"assets/build/ba_data/textures/agentColorMask_preview.png": "https://files.ballistica.net/cache/ba1/78/ec/c4ddf22b95d893fa467412334ff5",
"assets/build/ba_data/textures/agentColor_preview.png": "https://files.ballistica.net/cache/ba1/9f/1b/1c128a69900d438c220ca7885dc7",
- "assets/build/ba_data/textures/agentIcon.dds": "https://files.ballistica.net/cache/ba1/64/37/c020b7e02cf7a7b90eec2e094395",
+ "assets/build/ba_data/textures/agentIcon.dds": "https://files.ballistica.net/cache/ba1/b4/ea/bc2ed456f6536711e03d292121fa",
"assets/build/ba_data/textures/agentIcon.ktx": "https://files.ballistica.net/cache/ba1/eb/1e/e73199f7c33e9002e92fe363a23b",
"assets/build/ba_data/textures/agentIcon.pvr": "https://files.ballistica.net/cache/ba1/5e/2d/e18e2133517fdcc8cb7ac28b31a8",
"assets/build/ba_data/textures/agentIconColorMask.dds": "https://files.ballistica.net/cache/ba1/b1/9a/ecb2300afababd460ca4bae36d96",
@@ -1106,11 +1106,11 @@
"assets/build/ba_data/textures/agentIconColorMask.pvr": "https://files.ballistica.net/cache/ba1/22/24/8aadc852761e3f2c0fbf9d2f025a",
"assets/build/ba_data/textures/agentIconColorMask_preview.png": "https://files.ballistica.net/cache/ba1/e2/02/85032b1257accbb85ad1904018ef",
"assets/build/ba_data/textures/agentIcon_preview.png": "https://files.ballistica.net/cache/ba1/49/70/68d243aeff2de4e474e9a22ee6ef",
- "assets/build/ba_data/textures/aliBSRemoteIOSQR.dds": "https://files.ballistica.net/cache/ba1/32/c7/d95e248a28236f7495f285a9e65f",
+ "assets/build/ba_data/textures/aliBSRemoteIOSQR.dds": "https://files.ballistica.net/cache/ba1/b7/69/9c4a96ceb3f84c6670355cac136d",
"assets/build/ba_data/textures/aliBSRemoteIOSQR.ktx": "https://files.ballistica.net/cache/ba1/10/a6/2cc21c0bae6eb45208974d8b1f60",
"assets/build/ba_data/textures/aliBSRemoteIOSQR.pvr": "https://files.ballistica.net/cache/ba1/56/8f/3f31426a93b70d4c1c7c54050473",
"assets/build/ba_data/textures/aliBSRemoteIOSQR_preview.png": "https://files.ballistica.net/cache/ba1/96/d8/d37b845efc618616a8e1fd0dd04b",
- "assets/build/ba_data/textures/aliColor.dds": "https://files.ballistica.net/cache/ba1/d8/6d/edff4cac631ca75db279ccfb1399",
+ "assets/build/ba_data/textures/aliColor.dds": "https://files.ballistica.net/cache/ba1/54/17/1d3b7c4d9577908ed773ad11dad2",
"assets/build/ba_data/textures/aliColor.ktx": "https://files.ballistica.net/cache/ba1/ed/f3/3005b276e2b231be8170102c1cd7",
"assets/build/ba_data/textures/aliColor.pvr": "https://files.ballistica.net/cache/ba1/f3/bd/2c82648f6ef242ca4b34fd278629",
"assets/build/ba_data/textures/aliColorMask.dds": "https://files.ballistica.net/cache/ba1/68/bb/c7db9f1886a6d3fd5cdb308f3cef",
@@ -1118,14 +1118,14 @@
"assets/build/ba_data/textures/aliColorMask.pvr": "https://files.ballistica.net/cache/ba1/31/2a/ddb2a68bdfb3b175be2d3d6bcade",
"assets/build/ba_data/textures/aliColorMask_preview.png": "https://files.ballistica.net/cache/ba1/3b/05/0dd47cdf3a3ac437e5e276f5fd86",
"assets/build/ba_data/textures/aliColor_preview.png": "https://files.ballistica.net/cache/ba1/cb/93/d9230bee0324b2eec4bb8519dae3",
- "assets/build/ba_data/textures/aliControllerQR.dds": "https://files.ballistica.net/cache/ba1/68/f4/742194ee422ce66e9c0c4c7a2c66",
+ "assets/build/ba_data/textures/aliControllerQR.dds": "https://files.ballistica.net/cache/ba1/55/0a/44ecb9f5cf4e5c02b83089d0d13b",
"assets/build/ba_data/textures/aliControllerQR.ktx": "https://files.ballistica.net/cache/ba1/56/50/6d84e5b788b25b4e7275d20ce635",
"assets/build/ba_data/textures/aliControllerQR.pvr": "https://files.ballistica.net/cache/ba1/22/8d/34c3d66662866cc806c81ee13517",
"assets/build/ba_data/textures/aliControllerQR_preview.png": "https://files.ballistica.net/cache/ba1/59/83/a2dce8f9ec55f87cf450813a31c1",
- "assets/build/ba_data/textures/aliIcon.dds": "https://files.ballistica.net/cache/ba1/a0/a6/f4fc06a5e3967f1cfc35eb627706",
+ "assets/build/ba_data/textures/aliIcon.dds": "https://files.ballistica.net/cache/ba1/bf/c9/ad39ef333825bbd5d6f5462d1a11",
"assets/build/ba_data/textures/aliIcon.ktx": "https://files.ballistica.net/cache/ba1/d1/ee/7c1c37d57cdb70d854ecdfb235ed",
"assets/build/ba_data/textures/aliIcon.pvr": "https://files.ballistica.net/cache/ba1/b6/04/931fbed4b2a9c75ae7745a88ed40",
- "assets/build/ba_data/textures/aliIconColorMask.dds": "https://files.ballistica.net/cache/ba1/64/09/2fdf334c8cb3661bdbecdd2d2dd4",
+ "assets/build/ba_data/textures/aliIconColorMask.dds": "https://files.ballistica.net/cache/ba1/58/bc/04f52451d42f051acb8409ab965b",
"assets/build/ba_data/textures/aliIconColorMask.ktx": "https://files.ballistica.net/cache/ba1/78/89/c3e95a7c3794e4c86ece540aa3a3",
"assets/build/ba_data/textures/aliIconColorMask.pvr": "https://files.ballistica.net/cache/ba1/7a/81/d269ece740203c2e1a9a3c9523af",
"assets/build/ba_data/textures/aliIconColorMask_preview.png": "https://files.ballistica.net/cache/ba1/0f/8d/203f6ec0ff5a8dd380330a0f3853",
@@ -1137,7 +1137,7 @@
"assets/build/ba_data/textures/alienColor.dds": "https://files.ballistica.net/cache/ba1/b3/63/1ec79e210306f871f4d24b7a005e",
"assets/build/ba_data/textures/alienColor.ktx": "https://files.ballistica.net/cache/ba1/97/fe/96c9ab440866a08d2510109eaaff",
"assets/build/ba_data/textures/alienColor.pvr": "https://files.ballistica.net/cache/ba1/39/dc/bb457bc12cd61482e2c7edfa457c",
- "assets/build/ba_data/textures/alienColorMask.dds": "https://files.ballistica.net/cache/ba1/12/8c/4b32a6cb77e2d4b840b7fd19ec8a",
+ "assets/build/ba_data/textures/alienColorMask.dds": "https://files.ballistica.net/cache/ba1/ce/51/a41c4af1205bd33dc8647898e4b6",
"assets/build/ba_data/textures/alienColorMask.ktx": "https://files.ballistica.net/cache/ba1/a7/3e/7759a1566e2dacd35c0a23304fc7",
"assets/build/ba_data/textures/alienColorMask.pvr": "https://files.ballistica.net/cache/ba1/70/70/49e327a70992f6f2cd57a69e182b",
"assets/build/ba_data/textures/alienColorMask_preview.png": "https://files.ballistica.net/cache/ba1/6a/7c/7e2fe077f46778b639b58d533ef8",
@@ -1150,15 +1150,15 @@
"assets/build/ba_data/textures/alienIconColorMask.pvr": "https://files.ballistica.net/cache/ba1/0b/8a/54fa4a11a7d066ff0cbc6c741451",
"assets/build/ba_data/textures/alienIconColorMask_preview.png": "https://files.ballistica.net/cache/ba1/55/bc/686e349c8557f232c6404bc22371",
"assets/build/ba_data/textures/alienIcon_preview.png": "https://files.ballistica.net/cache/ba1/4c/c9/12ab7e3cf9f1af93c608ce1bcefb",
- "assets/build/ba_data/textures/alwaysLandBGColor.dds": "https://files.ballistica.net/cache/ba1/3e/1e/ee38b7626761d3ead1f2fec82070",
+ "assets/build/ba_data/textures/alwaysLandBGColor.dds": "https://files.ballistica.net/cache/ba1/88/d6/3afdd31b573a08eb0cf3771f86bb",
"assets/build/ba_data/textures/alwaysLandBGColor.ktx": "https://files.ballistica.net/cache/ba1/5a/80/c2ff48e9f0f3e549f105e926dd3d",
"assets/build/ba_data/textures/alwaysLandBGColor.pvr": "https://files.ballistica.net/cache/ba1/2d/c0/c236df146c22606a3d290139e5b3",
"assets/build/ba_data/textures/alwaysLandBGColor_preview.png": "https://files.ballistica.net/cache/ba1/59/9c/933c8322bf93c02968e6f440ae59",
- "assets/build/ba_data/textures/alwaysLandLevelColor.dds": "https://files.ballistica.net/cache/ba1/8a/5e/a2d2c01be327dd3fc34e46706b43",
+ "assets/build/ba_data/textures/alwaysLandLevelColor.dds": "https://files.ballistica.net/cache/ba1/1e/da/7e0f8f4f82a9728a9996fe4b76bc",
"assets/build/ba_data/textures/alwaysLandLevelColor.ktx": "https://files.ballistica.net/cache/ba1/13/bd/5458fc8068b06a20ec00d2e35c2e",
"assets/build/ba_data/textures/alwaysLandLevelColor.pvr": "https://files.ballistica.net/cache/ba1/29/12/7c1b247f977a20c2d70069f95787",
"assets/build/ba_data/textures/alwaysLandLevelColor_preview.png": "https://files.ballistica.net/cache/ba1/4a/61/15580dd303e1682c7c2f63e890da",
- "assets/build/ba_data/textures/alwaysLandPreview.dds": "https://files.ballistica.net/cache/ba1/36/6c/c1c4fcc4464359de5403244d3e30",
+ "assets/build/ba_data/textures/alwaysLandPreview.dds": "https://files.ballistica.net/cache/ba1/de/5e/62854d25f37a4f2151716dcbb5e0",
"assets/build/ba_data/textures/alwaysLandPreview.ktx": "https://files.ballistica.net/cache/ba1/44/1b/8985da2a7c0670089ec086237de2",
"assets/build/ba_data/textures/alwaysLandPreview.pvr": "https://files.ballistica.net/cache/ba1/8b/bb/db84d43e0acd251940d39ad52622",
"assets/build/ba_data/textures/alwaysLandPreview_preview.png": "https://files.ballistica.net/cache/ba1/c7/6d/d633bbe5ad1fb1478a49cc51f702",
@@ -1173,7 +1173,7 @@
"assets/build/ba_data/textures/assassinColor.dds": "https://files.ballistica.net/cache/ba1/74/4c/15d8400e13ddef0e6712bf52dd6e",
"assets/build/ba_data/textures/assassinColor.ktx": "https://files.ballistica.net/cache/ba1/77/1e/340bae7b1759427c0cf4ef6f200a",
"assets/build/ba_data/textures/assassinColor.pvr": "https://files.ballistica.net/cache/ba1/88/27/2a6734a37b350a8fe9d4313169ae",
- "assets/build/ba_data/textures/assassinColorMask.dds": "https://files.ballistica.net/cache/ba1/e2/e5/dc0bcae56faf7203eda79a9397d0",
+ "assets/build/ba_data/textures/assassinColorMask.dds": "https://files.ballistica.net/cache/ba1/b9/72/87c5ff1b72de68f5751140508d0e",
"assets/build/ba_data/textures/assassinColorMask.ktx": "https://files.ballistica.net/cache/ba1/52/6b/126ba01cd6e6f883e0a6695aec9c",
"assets/build/ba_data/textures/assassinColorMask.pvr": "https://files.ballistica.net/cache/ba1/c0/2c/5b137a905b0719022101f82f581d",
"assets/build/ba_data/textures/assassinColorMask_preview.png": "https://files.ballistica.net/cache/ba1/b0/c5/cb9321a0aca799d83159479d602c",
@@ -1198,7 +1198,7 @@
"assets/build/ba_data/textures/bar.ktx": "https://files.ballistica.net/cache/ba1/69/25/7c811b9c7e77e6c7d1df1a047991",
"assets/build/ba_data/textures/bar.pvr": "https://files.ballistica.net/cache/ba1/1c/b7/605cdb8193d4190f3a90a173cc90",
"assets/build/ba_data/textures/bar_preview.png": "https://files.ballistica.net/cache/ba1/b6/63/94b82a98ae1305b0f6b57fe32e8b",
- "assets/build/ba_data/textures/bearColor.dds": "https://files.ballistica.net/cache/ba1/8d/13/f83d6f1249673ad7ba10996d0ac8",
+ "assets/build/ba_data/textures/bearColor.dds": "https://files.ballistica.net/cache/ba1/e3/9a/f6b129a0fe2933fb23643e71d9ef",
"assets/build/ba_data/textures/bearColor.ktx": "https://files.ballistica.net/cache/ba1/62/fc/be9341da4cfa66a8ce63807a3a8e",
"assets/build/ba_data/textures/bearColor.pvr": "https://files.ballistica.net/cache/ba1/c3/f7/1773a5033ab0a6689d01e0683a63",
"assets/build/ba_data/textures/bearColorMask.dds": "https://files.ballistica.net/cache/ba1/38/04/166ea3d73ed0af9b285db1b7e6c0",
@@ -1209,19 +1209,19 @@
"assets/build/ba_data/textures/bearIcon.dds": "https://files.ballistica.net/cache/ba1/cd/80/163ac24028fd5d8ce484040d4176",
"assets/build/ba_data/textures/bearIcon.ktx": "https://files.ballistica.net/cache/ba1/01/f7/c2ef1c82862e74f74386c6341cb8",
"assets/build/ba_data/textures/bearIcon.pvr": "https://files.ballistica.net/cache/ba1/87/83/c856c8fb48ba9d7a7fd9869746f2",
- "assets/build/ba_data/textures/bearIconColorMask.dds": "https://files.ballistica.net/cache/ba1/60/b8/634304bf7f29d239d63dd89ce96b",
+ "assets/build/ba_data/textures/bearIconColorMask.dds": "https://files.ballistica.net/cache/ba1/78/c9/123f72ce037631bb8f1906b8fd92",
"assets/build/ba_data/textures/bearIconColorMask.ktx": "https://files.ballistica.net/cache/ba1/ad/75/804e6901f09e75348f1d480c5ae8",
"assets/build/ba_data/textures/bearIconColorMask.pvr": "https://files.ballistica.net/cache/ba1/ce/23/1fd7ce03b72db0dc6b3903d8146f",
"assets/build/ba_data/textures/bearIconColorMask_preview.png": "https://files.ballistica.net/cache/ba1/72/1c/9775c5e7acec13a491299b998703",
"assets/build/ba_data/textures/bearIcon_preview.png": "https://files.ballistica.net/cache/ba1/d9/d2/b74a4de7ca068c378d78c745331b",
- "assets/build/ba_data/textures/bg.dds": "https://files.ballistica.net/cache/ba1/2e/60/a4e78e526ace713727738e3a5587",
+ "assets/build/ba_data/textures/bg.dds": "https://files.ballistica.net/cache/ba1/92/e3/7beb6a9b50408b92e02a94965664",
"assets/build/ba_data/textures/bg.ktx": "https://files.ballistica.net/cache/ba1/97/6c/b965850bfa25cf9db805b921d291",
"assets/build/ba_data/textures/bg.pvr": "https://files.ballistica.net/cache/ba1/11/84/be878cc8fbe77a3ffdb4cd4ce125",
"assets/build/ba_data/textures/bg_preview.png": "https://files.ballistica.net/cache/ba1/6a/77/7613140be4610b02dcb0372111ed",
- "assets/build/ba_data/textures/bigG.dds": "https://files.ballistica.net/cache/ba1/2e/74/5d1c4fe9f920a291846c62c7d65e",
+ "assets/build/ba_data/textures/bigG.dds": "https://files.ballistica.net/cache/ba1/49/34/fe6162a12af04927e4c3489dcfff",
"assets/build/ba_data/textures/bigG.ktx": "https://files.ballistica.net/cache/ba1/df/1c/526de060409ebbd5235592943e94",
"assets/build/ba_data/textures/bigG.pvr": "https://files.ballistica.net/cache/ba1/41/82/532ef83baefbde887504c11ce140",
- "assets/build/ba_data/textures/bigGPreview.dds": "https://files.ballistica.net/cache/ba1/93/0e/842e2e3a11f71802c81a5de450a6",
+ "assets/build/ba_data/textures/bigGPreview.dds": "https://files.ballistica.net/cache/ba1/2b/1c/8fb6a40e7e08419473d22e23cfcc",
"assets/build/ba_data/textures/bigGPreview.ktx": "https://files.ballistica.net/cache/ba1/4a/28/d3c6f8ad9f0c65cd7a422d9177dd",
"assets/build/ba_data/textures/bigGPreview.pvr": "https://files.ballistica.net/cache/ba1/4f/b4/9b4069351815040b2af7c4c9b498",
"assets/build/ba_data/textures/bigGPreview_preview.png": "https://files.ballistica.net/cache/ba1/4b/24/f4b442bc8ed68d6f3f740ffb19fd",
@@ -1237,16 +1237,16 @@
"assets/build/ba_data/textures/bombColor.dds": "https://files.ballistica.net/cache/ba1/5e/2b/492e68d77e6be9d6399e49435a8d",
"assets/build/ba_data/textures/bombColor.ktx": "https://files.ballistica.net/cache/ba1/bc/9f/c7a76334cf56bb0bb93d1f720b40",
"assets/build/ba_data/textures/bombColor.pvr": "https://files.ballistica.net/cache/ba1/c7/bb/89159008de3b624bcb90b3c25568",
- "assets/build/ba_data/textures/bombColorIce.dds": "https://files.ballistica.net/cache/ba1/27/d6/7790056abb3e73e7ffd01920dfb8",
+ "assets/build/ba_data/textures/bombColorIce.dds": "https://files.ballistica.net/cache/ba1/ab/ed/3f5a8f9f2fb8d1e60f34f1f1701b",
"assets/build/ba_data/textures/bombColorIce.ktx": "https://files.ballistica.net/cache/ba1/4b/2d/c8cfa1990fa1f211de36679a3665",
"assets/build/ba_data/textures/bombColorIce.pvr": "https://files.ballistica.net/cache/ba1/71/aa/3127d32782835de9fa0fab8c7395",
"assets/build/ba_data/textures/bombColorIce_preview.png": "https://files.ballistica.net/cache/ba1/ec/3a/96b5191c5e7662be273c311fa826",
"assets/build/ba_data/textures/bombColor_preview.png": "https://files.ballistica.net/cache/ba1/a5/65/878c8aa7876031426f5adf3aeb79",
- "assets/build/ba_data/textures/bombStickyColor.dds": "https://files.ballistica.net/cache/ba1/b9/54/8e1dc631ecdb5a045441e96ea2e9",
+ "assets/build/ba_data/textures/bombStickyColor.dds": "https://files.ballistica.net/cache/ba1/c2/2d/cf8b630173546f03926c56258724",
"assets/build/ba_data/textures/bombStickyColor.ktx": "https://files.ballistica.net/cache/ba1/be/83/f3b7ca04ca377e2df7359784d6cf",
"assets/build/ba_data/textures/bombStickyColor.pvr": "https://files.ballistica.net/cache/ba1/14/a3/90a633e9edd9f826d89d2f610a0d",
"assets/build/ba_data/textures/bombStickyColor_preview.png": "https://files.ballistica.net/cache/ba1/c0/98/05587d954ce791ba5caa41af943f",
- "assets/build/ba_data/textures/bonesColor.dds": "https://files.ballistica.net/cache/ba1/31/d5/90d0088aa8435ff2eb9c3b79ebc0",
+ "assets/build/ba_data/textures/bonesColor.dds": "https://files.ballistica.net/cache/ba1/02/23/f9f6293644faaff5d3fe2f49408f",
"assets/build/ba_data/textures/bonesColor.ktx": "https://files.ballistica.net/cache/ba1/51/24/beed81e702c15d04b4f94388a328",
"assets/build/ba_data/textures/bonesColor.pvr": "https://files.ballistica.net/cache/ba1/84/85/d3822cbf93732d312b64dd0d2b26",
"assets/build/ba_data/textures/bonesColorMask.dds": "https://files.ballistica.net/cache/ba1/9e/57/bc0c41cf259d94e11814170d0137",
@@ -1266,7 +1266,7 @@
"assets/build/ba_data/textures/boxingGlovesColor.ktx": "https://files.ballistica.net/cache/ba1/9c/c1/fcb445a18de7bb2adb9c93644840",
"assets/build/ba_data/textures/boxingGlovesColor.pvr": "https://files.ballistica.net/cache/ba1/93/a9/c6d48979dc6c72c70f5c39ccabff",
"assets/build/ba_data/textures/boxingGlovesColor_preview.png": "https://files.ballistica.net/cache/ba1/75/d2/6056b445e3c8da206f4d7574c623",
- "assets/build/ba_data/textures/bridgitLevelColor.dds": "https://files.ballistica.net/cache/ba1/04/af/6c34a515c1e52a5f9c4303683853",
+ "assets/build/ba_data/textures/bridgitLevelColor.dds": "https://files.ballistica.net/cache/ba1/91/ab/184a0bbeba1c1bb79d28168709be",
"assets/build/ba_data/textures/bridgitLevelColor.ktx": "https://files.ballistica.net/cache/ba1/30/08/4f5fec91381abc98c3382763cad9",
"assets/build/ba_data/textures/bridgitLevelColor.pvr": "https://files.ballistica.net/cache/ba1/6f/89/65a75daf364c9f3aec77c73bc343",
"assets/build/ba_data/textures/bridgitLevelColor_preview.png": "https://files.ballistica.net/cache/ba1/c9/fd/7e9daa40ebce9e08d2daf07aef49",
@@ -1274,7 +1274,7 @@
"assets/build/ba_data/textures/bridgitPreview.ktx": "https://files.ballistica.net/cache/ba1/d4/d9/6f936f48e988e335ee1949c2219d",
"assets/build/ba_data/textures/bridgitPreview.pvr": "https://files.ballistica.net/cache/ba1/51/18/4716016fd0d40a0bb94cdac9c627",
"assets/build/ba_data/textures/bridgitPreview_preview.png": "https://files.ballistica.net/cache/ba1/c8/77/01fcaf507ca7c4575a76bff62ff0",
- "assets/build/ba_data/textures/bunnyColor.dds": "https://files.ballistica.net/cache/ba1/9e/30/d07e0031093130e6cbc23a135e45",
+ "assets/build/ba_data/textures/bunnyColor.dds": "https://files.ballistica.net/cache/ba1/fc/32/5452de45237f804355667a2584ba",
"assets/build/ba_data/textures/bunnyColor.ktx": "https://files.ballistica.net/cache/ba1/52/88/9b31fa2ce14ef7b98631cb36e769",
"assets/build/ba_data/textures/bunnyColor.pvr": "https://files.ballistica.net/cache/ba1/6b/33/e48393656bbbf7a146d4e246fdc9",
"assets/build/ba_data/textures/bunnyColorMask.dds": "https://files.ballistica.net/cache/ba1/b8/f2/7570c919e1f06c66c7236524d53f",
@@ -1282,7 +1282,7 @@
"assets/build/ba_data/textures/bunnyColorMask.pvr": "https://files.ballistica.net/cache/ba1/db/91/d3ad07cabd17cffa0d9591532477",
"assets/build/ba_data/textures/bunnyColorMask_preview.png": "https://files.ballistica.net/cache/ba1/72/b8/27c36d27c73d19f496f955fa50e2",
"assets/build/ba_data/textures/bunnyColor_preview.png": "https://files.ballistica.net/cache/ba1/cb/f2/861b06f9154cd59a8e20802a0875",
- "assets/build/ba_data/textures/bunnyIcon.dds": "https://files.ballistica.net/cache/ba1/3a/8c/c4615ce15d075e64da5768272ee7",
+ "assets/build/ba_data/textures/bunnyIcon.dds": "https://files.ballistica.net/cache/ba1/ca/2e/0352302668a840b50cf83b7d69b3",
"assets/build/ba_data/textures/bunnyIcon.ktx": "https://files.ballistica.net/cache/ba1/da/92/e1ce1ba464ffc9ce57bfe87dd792",
"assets/build/ba_data/textures/bunnyIcon.pvr": "https://files.ballistica.net/cache/ba1/6e/03/4848e2435ac4f9938a98a7adaf25",
"assets/build/ba_data/textures/bunnyIconColorMask.dds": "https://files.ballistica.net/cache/ba1/d2/5d/7427e249e21960ab7f5e738f833d",
@@ -1353,14 +1353,14 @@
"assets/build/ba_data/textures/circle.dds": "https://files.ballistica.net/cache/ba1/88/a6/c2e3db7c1c6aab2ad9b05d7074b4",
"assets/build/ba_data/textures/circle.ktx": "https://files.ballistica.net/cache/ba1/85/cd/0d9bd306a8f91a9ed661f99529b2",
"assets/build/ba_data/textures/circle.pvr": "https://files.ballistica.net/cache/ba1/3a/a2/d61927bc0770e37848ddd6712876",
- "assets/build/ba_data/textures/circleNoAlpha.dds": "https://files.ballistica.net/cache/ba1/e9/c1/6af34d954867f725dbb7c63026f1",
+ "assets/build/ba_data/textures/circleNoAlpha.dds": "https://files.ballistica.net/cache/ba1/90/8b/7c1942e8bd58a3f2f20fc4be7173",
"assets/build/ba_data/textures/circleNoAlpha.ktx": "https://files.ballistica.net/cache/ba1/e4/83/17f847e9f832201929a30f1ea535",
"assets/build/ba_data/textures/circleNoAlpha.pvr": "https://files.ballistica.net/cache/ba1/23/d1/6d053de8f4ab7871c3275920cf18",
"assets/build/ba_data/textures/circleNoAlpha_preview.png": "https://files.ballistica.net/cache/ba1/5c/9d/0ffc70edd5440cea9d5b22810aa2",
"assets/build/ba_data/textures/circleOutline.dds": "https://files.ballistica.net/cache/ba1/a4/c2/e0a5bf011be78509dbef899b8f28",
"assets/build/ba_data/textures/circleOutline.ktx": "https://files.ballistica.net/cache/ba1/ce/91/5fe4f6f2ade655564632f78ddb32",
"assets/build/ba_data/textures/circleOutline.pvr": "https://files.ballistica.net/cache/ba1/df/7a/6de156c06892d833f7ebd264e772",
- "assets/build/ba_data/textures/circleOutlineNoAlpha.dds": "https://files.ballistica.net/cache/ba1/86/32/c8fe0fbf2003b7883216b19984fa",
+ "assets/build/ba_data/textures/circleOutlineNoAlpha.dds": "https://files.ballistica.net/cache/ba1/60/0e/c7d019fe5cd651e26967c97c4969",
"assets/build/ba_data/textures/circleOutlineNoAlpha.ktx": "https://files.ballistica.net/cache/ba1/3d/19/19c290ceb02d8d41740c864e7793",
"assets/build/ba_data/textures/circleOutlineNoAlpha.pvr": "https://files.ballistica.net/cache/ba1/b0/56/02950e983c0fb55e9bc491b8860c",
"assets/build/ba_data/textures/circleOutlineNoAlpha_preview.png": "https://files.ballistica.net/cache/ba1/fc/b5/7d4368c1ff5655ecd7b22234cf54",
@@ -1382,18 +1382,18 @@
"assets/build/ba_data/textures/controllerIcon.ktx": "https://files.ballistica.net/cache/ba1/14/16/a15ad29481944559f81f54fdfe20",
"assets/build/ba_data/textures/controllerIcon.pvr": "https://files.ballistica.net/cache/ba1/fe/01/befdbde27b052c35d3b12d80e80f",
"assets/build/ba_data/textures/controllerIcon_preview.png": "https://files.ballistica.net/cache/ba1/59/a5/1465197ee1267ba0e0b25c43d80f",
- "assets/build/ba_data/textures/courtyardLevelColor.dds": "https://files.ballistica.net/cache/ba1/46/f5/b4e9bdd3e30776884339293408eb",
+ "assets/build/ba_data/textures/courtyardLevelColor.dds": "https://files.ballistica.net/cache/ba1/b2/e1/fb40e54fac2969cbaa71682af9ce",
"assets/build/ba_data/textures/courtyardLevelColor.ktx": "https://files.ballistica.net/cache/ba1/bd/56/4b6d7c0144fc37f99f35c52ab009",
"assets/build/ba_data/textures/courtyardLevelColor.pvr": "https://files.ballistica.net/cache/ba1/77/97/bf195499e7e18777f02bb87061d7",
"assets/build/ba_data/textures/courtyardLevelColor_preview.png": "https://files.ballistica.net/cache/ba1/91/bf/617c0d77529aa079200fdf75173d",
- "assets/build/ba_data/textures/courtyardPreview.dds": "https://files.ballistica.net/cache/ba1/52/e5/cfdaab9a05d3f5706c7e5be114a1",
+ "assets/build/ba_data/textures/courtyardPreview.dds": "https://files.ballistica.net/cache/ba1/cf/c7/5e5a25f7b6b1c0840d66d203e030",
"assets/build/ba_data/textures/courtyardPreview.ktx": "https://files.ballistica.net/cache/ba1/58/1c/ceeccf17dd5f3f1beb9af1ab720a",
"assets/build/ba_data/textures/courtyardPreview.pvr": "https://files.ballistica.net/cache/ba1/a4/e8/9f1afe13ee2ebb9f6754a5f00f26",
"assets/build/ba_data/textures/courtyardPreview_preview.png": "https://files.ballistica.net/cache/ba1/cb/40/06faf314dd35177a6d0e2a041bb7",
"assets/build/ba_data/textures/cowboyColor.dds": "https://files.ballistica.net/cache/ba1/a4/49/f004e03fe36543d89dd8d1a6ed7f",
"assets/build/ba_data/textures/cowboyColor.ktx": "https://files.ballistica.net/cache/ba1/00/30/f2ae84970bd0697725b821f2f152",
"assets/build/ba_data/textures/cowboyColor.pvr": "https://files.ballistica.net/cache/ba1/45/1a/5bbcf702a33fd48e2b9a7016323f",
- "assets/build/ba_data/textures/cowboyColorMask.dds": "https://files.ballistica.net/cache/ba1/bd/6a/6158fd65af4641bcd936045005a2",
+ "assets/build/ba_data/textures/cowboyColorMask.dds": "https://files.ballistica.net/cache/ba1/52/2f/874896a060d55f6498656cb8ba1d",
"assets/build/ba_data/textures/cowboyColorMask.ktx": "https://files.ballistica.net/cache/ba1/51/68/9145727dc989afded72318e673c7",
"assets/build/ba_data/textures/cowboyColorMask.pvr": "https://files.ballistica.net/cache/ba1/69/44/41ab993ebfc0a1aa32e431582fb4",
"assets/build/ba_data/textures/cowboyColorMask_preview.png": "https://files.ballistica.net/cache/ba1/93/43/7bb7d6df6b89daa507ead29d4f2a",
@@ -1406,11 +1406,11 @@
"assets/build/ba_data/textures/cowboyIconColorMask.pvr": "https://files.ballistica.net/cache/ba1/b9/bf/be1704729e7714781060d58d65c2",
"assets/build/ba_data/textures/cowboyIconColorMask_preview.png": "https://files.ballistica.net/cache/ba1/ca/e7/0bc54a6b3fd60923c951fc97d790",
"assets/build/ba_data/textures/cowboyIcon_preview.png": "https://files.ballistica.net/cache/ba1/1c/67/f2c47c042d89c220e78e7ebce5ed",
- "assets/build/ba_data/textures/cragCastleLevelColor.dds": "https://files.ballistica.net/cache/ba1/89/88/9723a3035d39ef69cf3f3c7bda03",
+ "assets/build/ba_data/textures/cragCastleLevelColor.dds": "https://files.ballistica.net/cache/ba1/fe/9a/3d8efc6b02fe3f071b832d41dacb",
"assets/build/ba_data/textures/cragCastleLevelColor.ktx": "https://files.ballistica.net/cache/ba1/ea/44/3b99b25e09c05fc6e85583866694",
"assets/build/ba_data/textures/cragCastleLevelColor.pvr": "https://files.ballistica.net/cache/ba1/1e/9a/9b5125e165f5ebaecc8f1934a2c1",
"assets/build/ba_data/textures/cragCastleLevelColor_preview.png": "https://files.ballistica.net/cache/ba1/b4/6c/6b8f525be822459dd4bd6548b2a8",
- "assets/build/ba_data/textures/cragCastlePreview.dds": "https://files.ballistica.net/cache/ba1/87/12/9abc61fcd67f230597f166220d60",
+ "assets/build/ba_data/textures/cragCastlePreview.dds": "https://files.ballistica.net/cache/ba1/fb/22/e6c8a874a13b94a688ba5421141a",
"assets/build/ba_data/textures/cragCastlePreview.ktx": "https://files.ballistica.net/cache/ba1/0c/b2/890cb8167c41cd2c220daa3db7a9",
"assets/build/ba_data/textures/cragCastlePreview.pvr": "https://files.ballistica.net/cache/ba1/c9/61/1c57e31b464b26c5e6c125d38944",
"assets/build/ba_data/textures/cragCastlePreview_preview.png": "https://files.ballistica.net/cache/ba1/b1/b2/d49537dbba63c3cbc25b3989a2e2",
@@ -1430,31 +1430,31 @@
"assets/build/ba_data/textures/cuteSpaz.ktx": "https://files.ballistica.net/cache/ba1/9a/65/5bfc1d1ef2bb7ac9b767e70d6015",
"assets/build/ba_data/textures/cuteSpaz.pvr": "https://files.ballistica.net/cache/ba1/ff/ec/9172f64f96803393de8da58f7566",
"assets/build/ba_data/textures/cuteSpaz_preview.png": "https://files.ballistica.net/cache/ba1/e9/74/364547fef623e7bbbbc8a92a9efa",
- "assets/build/ba_data/textures/cyborgColor.dds": "https://files.ballistica.net/cache/ba1/35/94/7e5c288cb0f17bd904f3a66ee6f7",
+ "assets/build/ba_data/textures/cyborgColor.dds": "https://files.ballistica.net/cache/ba1/93/d4/75c140eff1c3cc45e1766fc0e95c",
"assets/build/ba_data/textures/cyborgColor.ktx": "https://files.ballistica.net/cache/ba1/d0/d6/e611760948207bebc5cec40721ee",
"assets/build/ba_data/textures/cyborgColor.pvr": "https://files.ballistica.net/cache/ba1/3b/b4/14499682862c916ba7e6df183445",
- "assets/build/ba_data/textures/cyborgColorMask.dds": "https://files.ballistica.net/cache/ba1/28/57/0bd64f9f7d5573a9e1fd1c5f422d",
+ "assets/build/ba_data/textures/cyborgColorMask.dds": "https://files.ballistica.net/cache/ba1/34/e0/24881a8cabf3b48f1e68635b0096",
"assets/build/ba_data/textures/cyborgColorMask.ktx": "https://files.ballistica.net/cache/ba1/09/49/64a4b4bd11d7f43ee3e3b4557ccb",
"assets/build/ba_data/textures/cyborgColorMask.pvr": "https://files.ballistica.net/cache/ba1/aa/8f/2017c219d46766b0a8a58b12ef80",
"assets/build/ba_data/textures/cyborgColorMask_preview.png": "https://files.ballistica.net/cache/ba1/b2/c8/1ca1bb73d93dd93169977aef26eb",
"assets/build/ba_data/textures/cyborgColor_preview.png": "https://files.ballistica.net/cache/ba1/23/68/de2999bc4db759030c77dd372e23",
- "assets/build/ba_data/textures/cyborgIcon.dds": "https://files.ballistica.net/cache/ba1/99/c3/8eed2f236f66aef901d452cdb98b",
+ "assets/build/ba_data/textures/cyborgIcon.dds": "https://files.ballistica.net/cache/ba1/5a/55/c63bdf0b63c76da7b387b4bebecb",
"assets/build/ba_data/textures/cyborgIcon.ktx": "https://files.ballistica.net/cache/ba1/de/ab/4d5b2163047d3fb9b05d43c9183d",
"assets/build/ba_data/textures/cyborgIcon.pvr": "https://files.ballistica.net/cache/ba1/0c/7b/b47a4bfbbfd8607ea06375963485",
- "assets/build/ba_data/textures/cyborgIconColorMask.dds": "https://files.ballistica.net/cache/ba1/9d/2a/1852d636d06de05bff2ffac52d9c",
+ "assets/build/ba_data/textures/cyborgIconColorMask.dds": "https://files.ballistica.net/cache/ba1/ad/20/71a5de426d081b99c1abe672474a",
"assets/build/ba_data/textures/cyborgIconColorMask.ktx": "https://files.ballistica.net/cache/ba1/20/95/85096b550149fb17500c673a9589",
"assets/build/ba_data/textures/cyborgIconColorMask.pvr": "https://files.ballistica.net/cache/ba1/1f/70/35e302e1a91d78ab23cb3e936bde",
"assets/build/ba_data/textures/cyborgIconColorMask_preview.png": "https://files.ballistica.net/cache/ba1/09/bb/e6563f614b2cda0ca5da89b80b2a",
"assets/build/ba_data/textures/cyborgIcon_preview.png": "https://files.ballistica.net/cache/ba1/4e/af/0d54cad1089f73c91ed766519d77",
- "assets/build/ba_data/textures/doomShroomBGColor.dds": "https://files.ballistica.net/cache/ba1/12/cc/3fa62b5809176403776958657571",
+ "assets/build/ba_data/textures/doomShroomBGColor.dds": "https://files.ballistica.net/cache/ba1/5c/2b/88deea7de0cf4b7e3250ca76bcc1",
"assets/build/ba_data/textures/doomShroomBGColor.ktx": "https://files.ballistica.net/cache/ba1/db/35/7f5884df9de36467179b45e8e241",
"assets/build/ba_data/textures/doomShroomBGColor.pvr": "https://files.ballistica.net/cache/ba1/65/5d/fc508d48f3703e91cfbfce0187ed",
"assets/build/ba_data/textures/doomShroomBGColor_preview.png": "https://files.ballistica.net/cache/ba1/b5/7e/995e3c648eb68d4c72c4e50be7e6",
- "assets/build/ba_data/textures/doomShroomLevelColor.dds": "https://files.ballistica.net/cache/ba1/ac/a4/03513b905d7379ee44e6e686056d",
+ "assets/build/ba_data/textures/doomShroomLevelColor.dds": "https://files.ballistica.net/cache/ba1/cd/1e/f297f1c37249810e7aaffca591a4",
"assets/build/ba_data/textures/doomShroomLevelColor.ktx": "https://files.ballistica.net/cache/ba1/6c/96/d887b3d3cf79d2264ad2e601193d",
"assets/build/ba_data/textures/doomShroomLevelColor.pvr": "https://files.ballistica.net/cache/ba1/e2/15/8303117a33a96a61376dad6f5e9d",
"assets/build/ba_data/textures/doomShroomLevelColor_preview.png": "https://files.ballistica.net/cache/ba1/61/cf/327dd838ebab6875b92ee28c3bcd",
- "assets/build/ba_data/textures/doomShroomPreview.dds": "https://files.ballistica.net/cache/ba1/f5/68/bd828096f33579d65a44c5357933",
+ "assets/build/ba_data/textures/doomShroomPreview.dds": "https://files.ballistica.net/cache/ba1/d7/c7/888bb15afe907f3a37006e76b3af",
"assets/build/ba_data/textures/doomShroomPreview.ktx": "https://files.ballistica.net/cache/ba1/f6/3c/20abd773a8502a0954d62c0917c7",
"assets/build/ba_data/textures/doomShroomPreview.pvr": "https://files.ballistica.net/cache/ba1/d3/92/aca35e87cb29f4da683e88859a21",
"assets/build/ba_data/textures/doomShroomPreview_preview.png": "https://files.ballistica.net/cache/ba1/19/85/7ec1b3b28c5bc564fd0a106d2423",
@@ -1494,7 +1494,7 @@
"assets/build/ba_data/textures/empty.ktx": "https://files.ballistica.net/cache/ba1/1c/1a/c944b4615540bebbd2337f37a36e",
"assets/build/ba_data/textures/empty.pvr": "https://files.ballistica.net/cache/ba1/e1/85/0e5d594e57336cf14b4914ebb37c",
"assets/build/ba_data/textures/empty_preview.png": "https://files.ballistica.net/cache/ba1/27/1d/936488a18c78f387f2f4ec562545",
- "assets/build/ba_data/textures/explosion.dds": "https://files.ballistica.net/cache/ba1/da/1f/fac45c02f2f889b62335f3f85d77",
+ "assets/build/ba_data/textures/explosion.dds": "https://files.ballistica.net/cache/ba1/e7/95/a6d20541c8ffff02583799ab77ba",
"assets/build/ba_data/textures/explosion.ktx": "https://files.ballistica.net/cache/ba1/72/e7/7db06c8ab6f0dd8dfc48162824b1",
"assets/build/ba_data/textures/explosion.pvr": "https://files.ballistica.net/cache/ba1/38/42/e4de72086e36187dcb5e4005f4e9",
"assets/build/ba_data/textures/explosion_preview.png": "https://files.ballistica.net/cache/ba1/6f/01/8a6cf54d2e9b24c87c00ea2ca9c3",
@@ -1510,11 +1510,11 @@
"assets/build/ba_data/textures/file.ktx": "https://files.ballistica.net/cache/ba1/d5/f6/a80ff58c84435b33a05a1e61016e",
"assets/build/ba_data/textures/file.pvr": "https://files.ballistica.net/cache/ba1/5f/25/e6079cc54364d95d6101fc74bdba",
"assets/build/ba_data/textures/file_preview.png": "https://files.ballistica.net/cache/ba1/ef/c6/71a8f503449908b15a40ce3b5b03",
- "assets/build/ba_data/textures/flagColor.dds": "https://files.ballistica.net/cache/ba1/ee/84/655bd471f8265bc7d61f95beda16",
+ "assets/build/ba_data/textures/flagColor.dds": "https://files.ballistica.net/cache/ba1/4a/ce/2682d3720bff14ec43bdfcaca346",
"assets/build/ba_data/textures/flagColor.ktx": "https://files.ballistica.net/cache/ba1/81/3c/f16914e9d68d64ce59a1f7681bff",
"assets/build/ba_data/textures/flagColor.pvr": "https://files.ballistica.net/cache/ba1/e0/b0/06fd752a0f3563252d6dee64dcb3",
"assets/build/ba_data/textures/flagColor_preview.png": "https://files.ballistica.net/cache/ba1/0b/33/50db4a9487b0ef8d65f2628776e5",
- "assets/build/ba_data/textures/flagPoleColor.dds": "https://files.ballistica.net/cache/ba1/ba/7a/25e2cd1d33d4f323682716489099",
+ "assets/build/ba_data/textures/flagPoleColor.dds": "https://files.ballistica.net/cache/ba1/22/e0/43555f1a8a4bff7088c33ccd179e",
"assets/build/ba_data/textures/flagPoleColor.ktx": "https://files.ballistica.net/cache/ba1/0f/56/7d16d9b2af848d004da2012c2cf7",
"assets/build/ba_data/textures/flagPoleColor.pvr": "https://files.ballistica.net/cache/ba1/7b/63/e163c96ff68bb242e8b9ef339711",
"assets/build/ba_data/textures/flagPoleColor_preview.png": "https://files.ballistica.net/cache/ba1/e0/e4/6c41b0bfd6796344ba60d0bdf189",
@@ -1574,10 +1574,10 @@
"assets/build/ba_data/textures/fontSmall7.ktx": "https://files.ballistica.net/cache/ba1/14/d0/23e59a31103533757dea7ffae94e",
"assets/build/ba_data/textures/fontSmall7.pvr": "https://files.ballistica.net/cache/ba1/48/b5/26321b2643219162a713170ab9b8",
"assets/build/ba_data/textures/fontSmall7_preview.png": "https://files.ballistica.net/cache/ba1/70/56/13b940fb6d0ba48023e7fac6f184",
- "assets/build/ba_data/textures/footballStadium.dds": "https://files.ballistica.net/cache/ba1/37/98/82cd29605606ef50ec7f7f1a2b38",
+ "assets/build/ba_data/textures/footballStadium.dds": "https://files.ballistica.net/cache/ba1/c6/f3/1906912b8e4d923a0ec975de5e8f",
"assets/build/ba_data/textures/footballStadium.ktx": "https://files.ballistica.net/cache/ba1/00/bf/6b8e37071ad1d6e33f30f1998bed",
"assets/build/ba_data/textures/footballStadium.pvr": "https://files.ballistica.net/cache/ba1/92/69/f2c5577a1de103343ddcb01d6104",
- "assets/build/ba_data/textures/footballStadiumPreview.dds": "https://files.ballistica.net/cache/ba1/f6/f3/032deefbd09bdb75806d9ed813c2",
+ "assets/build/ba_data/textures/footballStadiumPreview.dds": "https://files.ballistica.net/cache/ba1/d9/7f/b42a16567ea5ae5a85faa027e4ce",
"assets/build/ba_data/textures/footballStadiumPreview.ktx": "https://files.ballistica.net/cache/ba1/96/f2/6cf9b95e27aeca2d8be08feedaef",
"assets/build/ba_data/textures/footballStadiumPreview.pvr": "https://files.ballistica.net/cache/ba1/3f/1b/ce5faa6a8678c3b7d0a461c9509b",
"assets/build/ba_data/textures/footballStadiumPreview_preview.png": "https://files.ballistica.net/cache/ba1/a7/c8/393d085e92e185e6c43ab28cd5ee",
@@ -1586,15 +1586,15 @@
"assets/build/ba_data/textures/frameInset.ktx": "https://files.ballistica.net/cache/ba1/61/d7/264cfcdd0d07d67ac90827969caa",
"assets/build/ba_data/textures/frameInset.pvr": "https://files.ballistica.net/cache/ba1/d1/ef/b0dd66aab3c8cf21933dc53f0c8f",
"assets/build/ba_data/textures/frameInset_preview.png": "https://files.ballistica.net/cache/ba1/51/2f/a18329872f0d0b71f0a333c0db81",
- "assets/build/ba_data/textures/frostyColor.dds": "https://files.ballistica.net/cache/ba1/8c/ae/6ca51f72866944ce9691c8a1a7d5",
+ "assets/build/ba_data/textures/frostyColor.dds": "https://files.ballistica.net/cache/ba1/6d/c6/2a49a0ec7810e7431c35752d3d37",
"assets/build/ba_data/textures/frostyColor.ktx": "https://files.ballistica.net/cache/ba1/17/6c/fe178ee04831b332ff771bade627",
"assets/build/ba_data/textures/frostyColor.pvr": "https://files.ballistica.net/cache/ba1/f8/fb/83779ec75b8113a47b9368ad6992",
- "assets/build/ba_data/textures/frostyColorMask.dds": "https://files.ballistica.net/cache/ba1/f0/aa/0c7c2dfc831bb96d76b2c1719597",
+ "assets/build/ba_data/textures/frostyColorMask.dds": "https://files.ballistica.net/cache/ba1/7c/a3/3cd619ea33d9e222af6da8ce7ccc",
"assets/build/ba_data/textures/frostyColorMask.ktx": "https://files.ballistica.net/cache/ba1/5d/ff/5a82bf1855c957357d277dec18c7",
"assets/build/ba_data/textures/frostyColorMask.pvr": "https://files.ballistica.net/cache/ba1/d2/e3/5ccf3bc21b48180ef890cfd1ebab",
"assets/build/ba_data/textures/frostyColorMask_preview.png": "https://files.ballistica.net/cache/ba1/44/6f/795803f91fbf1628e708a6a293a4",
"assets/build/ba_data/textures/frostyColor_preview.png": "https://files.ballistica.net/cache/ba1/cd/3c/f7e49e7cf8164f754c2384f35e55",
- "assets/build/ba_data/textures/frostyIcon.dds": "https://files.ballistica.net/cache/ba1/52/39/1044bf10f62219a9c804efec91ea",
+ "assets/build/ba_data/textures/frostyIcon.dds": "https://files.ballistica.net/cache/ba1/17/76/45c5a0a3d416259aab598bad0303",
"assets/build/ba_data/textures/frostyIcon.ktx": "https://files.ballistica.net/cache/ba1/74/b4/d498eb65a6a3b562e9eb6195131b",
"assets/build/ba_data/textures/frostyIcon.pvr": "https://files.ballistica.net/cache/ba1/a2/a6/589107d7ab94e8ba9dec5895ba6d",
"assets/build/ba_data/textures/frostyIconColorMask.dds": "https://files.ballistica.net/cache/ba1/af/d5/5421823e52ef7bb86d1e24a610c4",
@@ -1602,7 +1602,7 @@
"assets/build/ba_data/textures/frostyIconColorMask.pvr": "https://files.ballistica.net/cache/ba1/8e/98/89e07ef5493074a2c4cbb7aa1592",
"assets/build/ba_data/textures/frostyIconColorMask_preview.png": "https://files.ballistica.net/cache/ba1/ef/77/6b17bc9b8d8d3fa37760ed4d96ac",
"assets/build/ba_data/textures/frostyIcon_preview.png": "https://files.ballistica.net/cache/ba1/3e/dd/9cc6d8f3f494b586237b050a4e06",
- "assets/build/ba_data/textures/fuse.dds": "https://files.ballistica.net/cache/ba1/4b/72/e7709195c5903f968c33209dc1ed",
+ "assets/build/ba_data/textures/fuse.dds": "https://files.ballistica.net/cache/ba1/9a/72/5eb4b3235d38ec3f69c61fdb0445",
"assets/build/ba_data/textures/fuse.ktx": "https://files.ballistica.net/cache/ba1/49/ea/71c5c7dcbdcb213c036460d59117",
"assets/build/ba_data/textures/fuse.pvr": "https://files.ballistica.net/cache/ba1/48/3a/710945756ee605974820d4c98e49",
"assets/build/ba_data/textures/fuse_preview.png": "https://files.ballistica.net/cache/ba1/f1/69/975f7d19d7db9a01d78ecb33bfe2",
@@ -1617,7 +1617,7 @@
"assets/build/ba_data/textures/gladiatorColor.dds": "https://files.ballistica.net/cache/ba1/a8/6a/2b8eb1e0f4c15993e98be5395e4c",
"assets/build/ba_data/textures/gladiatorColor.ktx": "https://files.ballistica.net/cache/ba1/20/13/e491823b8cc38a52400f9d74a209",
"assets/build/ba_data/textures/gladiatorColor.pvr": "https://files.ballistica.net/cache/ba1/14/60/1d4a45b0036538368348613ad01f",
- "assets/build/ba_data/textures/gladiatorColorMask.dds": "https://files.ballistica.net/cache/ba1/05/7f/ee686ec23643b388502639d98879",
+ "assets/build/ba_data/textures/gladiatorColorMask.dds": "https://files.ballistica.net/cache/ba1/d2/ac/02d7c9a4320ed6a8b416d48f2665",
"assets/build/ba_data/textures/gladiatorColorMask.ktx": "https://files.ballistica.net/cache/ba1/1e/ae/f91222e92e938c0fc8be66103cb5",
"assets/build/ba_data/textures/gladiatorColorMask.pvr": "https://files.ballistica.net/cache/ba1/46/18/4ad8171ff791a86b03160648afcf",
"assets/build/ba_data/textures/gladiatorColorMask_preview.png": "https://files.ballistica.net/cache/ba1/87/45/0621a7a40782a938a8f66f8985ae",
@@ -1662,10 +1662,10 @@
"assets/build/ba_data/textures/heart.ktx": "https://files.ballistica.net/cache/ba1/b7/b1/8db1d5e585578b16ad0e7dac922e",
"assets/build/ba_data/textures/heart.pvr": "https://files.ballistica.net/cache/ba1/b1/78/46eb38e941aa94b7a8c654c1ef38",
"assets/build/ba_data/textures/heart_preview.png": "https://files.ballistica.net/cache/ba1/3c/d8/bc7b73e6920382202f1bf27b7b40",
- "assets/build/ba_data/textures/hockeyStadium.dds": "https://files.ballistica.net/cache/ba1/8e/19/703679fb5ac0e07d577d2727ab27",
+ "assets/build/ba_data/textures/hockeyStadium.dds": "https://files.ballistica.net/cache/ba1/bc/a0/0ddbb1707aab5481582f40b5042c",
"assets/build/ba_data/textures/hockeyStadium.ktx": "https://files.ballistica.net/cache/ba1/57/14/4a768367b5a3ada80b8b866320ae",
"assets/build/ba_data/textures/hockeyStadium.pvr": "https://files.ballistica.net/cache/ba1/f4/e4/65792658b9ef354781472d5f82ba",
- "assets/build/ba_data/textures/hockeyStadiumPreview.dds": "https://files.ballistica.net/cache/ba1/e0/84/38b2f0294f016bf122dcbfa226d2",
+ "assets/build/ba_data/textures/hockeyStadiumPreview.dds": "https://files.ballistica.net/cache/ba1/3c/d6/a0f39559e614781ef7590cf98826",
"assets/build/ba_data/textures/hockeyStadiumPreview.ktx": "https://files.ballistica.net/cache/ba1/af/05/69b7f2c83e332b6ec410163a59fd",
"assets/build/ba_data/textures/hockeyStadiumPreview.pvr": "https://files.ballistica.net/cache/ba1/4c/fb/7bcd3e1d5f830558cd01206c57e6",
"assets/build/ba_data/textures/hockeyStadiumPreview_preview.png": "https://files.ballistica.net/cache/ba1/d8/99/5d6922a337009674a13b647e06c5",
@@ -1682,7 +1682,7 @@
"assets/build/ba_data/textures/iircadeLogo.ktx": "https://files.ballistica.net/cache/ba1/58/b9/848fbac7a1c7ad6a9b2efd758ff1",
"assets/build/ba_data/textures/iircadeLogo.pvr": "https://files.ballistica.net/cache/ba1/19/ba/66f832c978d9cf46f991e4811401",
"assets/build/ba_data/textures/iircadeLogo_preview.png": "https://files.ballistica.net/cache/ba1/c7/d6/0740136951cbc17907f6192357b2",
- "assets/build/ba_data/textures/impactBombColor.dds": "https://files.ballistica.net/cache/ba1/59/f6/810262f238679951f7702f2ed1a5",
+ "assets/build/ba_data/textures/impactBombColor.dds": "https://files.ballistica.net/cache/ba1/a6/70/8486c52fb904e18e9b13f4850b5e",
"assets/build/ba_data/textures/impactBombColor.ktx": "https://files.ballistica.net/cache/ba1/fc/3b/e1051061b1ed03bcbfdc6b9f8c79",
"assets/build/ba_data/textures/impactBombColor.pvr": "https://files.ballistica.net/cache/ba1/d6/d9/0f81193db5aa44780ee8bb0943b9",
"assets/build/ba_data/textures/impactBombColorLit.dds": "https://files.ballistica.net/cache/ba1/fe/65/a55aba9c983239516c96f28fd4b2",
@@ -1694,15 +1694,15 @@
"assets/build/ba_data/textures/inventoryIcon.ktx": "https://files.ballistica.net/cache/ba1/3c/ca/1a61ddc33fbae07060b3ffe24531",
"assets/build/ba_data/textures/inventoryIcon.pvr": "https://files.ballistica.net/cache/ba1/a7/e3/6fe1d29dd307067b5b42aa1e78ca",
"assets/build/ba_data/textures/inventoryIcon_preview.png": "https://files.ballistica.net/cache/ba1/5d/95/fc2f9cf29120f6e5714a82b49762",
- "assets/build/ba_data/textures/jackColor.dds": "https://files.ballistica.net/cache/ba1/3e/bb/562defe30cd5860a6648aa8c3127",
+ "assets/build/ba_data/textures/jackColor.dds": "https://files.ballistica.net/cache/ba1/9c/16/c4c568eec16b4ac15110e2213107",
"assets/build/ba_data/textures/jackColor.ktx": "https://files.ballistica.net/cache/ba1/b4/92/c66d4bd99efdd17578c1ab40eb38",
"assets/build/ba_data/textures/jackColor.pvr": "https://files.ballistica.net/cache/ba1/93/f0/b67389b8a52446f9d60119b4e4b0",
- "assets/build/ba_data/textures/jackColorMask.dds": "https://files.ballistica.net/cache/ba1/74/c3/18ed606a334e8096ab0f9a6b6045",
+ "assets/build/ba_data/textures/jackColorMask.dds": "https://files.ballistica.net/cache/ba1/33/86/4e8b48b1274373302fed850899f3",
"assets/build/ba_data/textures/jackColorMask.ktx": "https://files.ballistica.net/cache/ba1/c9/40/a44ca36c9fcb3ca51fb61dbaa2cf",
"assets/build/ba_data/textures/jackColorMask.pvr": "https://files.ballistica.net/cache/ba1/32/89/9243f17fdd9d8c3d7c9cc8a26191",
"assets/build/ba_data/textures/jackColorMask_preview.png": "https://files.ballistica.net/cache/ba1/71/92/54cc17903955e0b923f64bb746a7",
"assets/build/ba_data/textures/jackColor_preview.png": "https://files.ballistica.net/cache/ba1/83/f8/daf0dc5014e0220a8e4bc8d1113a",
- "assets/build/ba_data/textures/jackIcon.dds": "https://files.ballistica.net/cache/ba1/0c/1f/ec2d1e00f2b409df11b485667334",
+ "assets/build/ba_data/textures/jackIcon.dds": "https://files.ballistica.net/cache/ba1/42/a1/c6f5a537e23a509a22a13870470f",
"assets/build/ba_data/textures/jackIcon.ktx": "https://files.ballistica.net/cache/ba1/e8/5d/e5e222130b790f5239089333fd92",
"assets/build/ba_data/textures/jackIcon.pvr": "https://files.ballistica.net/cache/ba1/da/f9/29d46bb6b052d5aad5a81efa994e",
"assets/build/ba_data/textures/jackIconColorMask.dds": "https://files.ballistica.net/cache/ba1/1e/8e/395cb09dbe9ca002ad0d5532f6bd",
@@ -1713,7 +1713,7 @@
"assets/build/ba_data/textures/jumpsuitColor.dds": "https://files.ballistica.net/cache/ba1/5b/9c/4761afb2e6fc3e0f8ef028d317be",
"assets/build/ba_data/textures/jumpsuitColor.ktx": "https://files.ballistica.net/cache/ba1/45/25/6084698fbdd038fbd750fc72dd28",
"assets/build/ba_data/textures/jumpsuitColor.pvr": "https://files.ballistica.net/cache/ba1/6c/77/39fe91748b79f2aabc640f38fd2a",
- "assets/build/ba_data/textures/jumpsuitColorMask.dds": "https://files.ballistica.net/cache/ba1/c3/3c/5ad8f955187c9825ea9871fa3c3c",
+ "assets/build/ba_data/textures/jumpsuitColorMask.dds": "https://files.ballistica.net/cache/ba1/04/00/8fbe70c2d5bc499f842e76b6a71d",
"assets/build/ba_data/textures/jumpsuitColorMask.ktx": "https://files.ballistica.net/cache/ba1/50/c2/79341c7081f28d70de09cb6db116",
"assets/build/ba_data/textures/jumpsuitColorMask.pvr": "https://files.ballistica.net/cache/ba1/51/1e/5f4580d17068abebb0f8d2609c3c",
"assets/build/ba_data/textures/jumpsuitColorMask_preview.png": "https://files.ballistica.net/cache/ba1/6f/05/15f3184259761adc208e2dd659ca",
@@ -1726,26 +1726,26 @@
"assets/build/ba_data/textures/jumpsuitIconColorMask.pvr": "https://files.ballistica.net/cache/ba1/77/e0/1326a95629aec5d0a447f4694dc8",
"assets/build/ba_data/textures/jumpsuitIconColorMask_preview.png": "https://files.ballistica.net/cache/ba1/d0/81/c975a77166d8bac47d63340960b4",
"assets/build/ba_data/textures/jumpsuitIcon_preview.png": "https://files.ballistica.net/cache/ba1/06/1f/0f16b73da3b140ae91a645ad3920",
- "assets/build/ba_data/textures/kronk.dds": "https://files.ballistica.net/cache/ba1/41/b3/1173def9511feb2ebc516e070ed6",
+ "assets/build/ba_data/textures/kronk.dds": "https://files.ballistica.net/cache/ba1/79/99/217e4d40c7107337bf4ff402e020",
"assets/build/ba_data/textures/kronk.ktx": "https://files.ballistica.net/cache/ba1/80/d7/0f40cc83961456cca52f50d87657",
"assets/build/ba_data/textures/kronk.pvr": "https://files.ballistica.net/cache/ba1/4d/74/fb56c0df66aa36551ae4ac73a141",
- "assets/build/ba_data/textures/kronkColorMask.dds": "https://files.ballistica.net/cache/ba1/fa/9c/bba4cffffd4d7e7bdc53bd27819b",
+ "assets/build/ba_data/textures/kronkColorMask.dds": "https://files.ballistica.net/cache/ba1/f7/e2/92c6c2179b0ea3dcaa85f357e3d7",
"assets/build/ba_data/textures/kronkColorMask.ktx": "https://files.ballistica.net/cache/ba1/de/23/7ab48fef2af0a1253b2eb6a083ab",
"assets/build/ba_data/textures/kronkColorMask.pvr": "https://files.ballistica.net/cache/ba1/d4/ab/0df43e24f6aa11608a2f9b2bda6d",
"assets/build/ba_data/textures/kronkColorMask_preview.png": "https://files.ballistica.net/cache/ba1/5c/14/80f2148210e89e8ca6b3b03b6e10",
"assets/build/ba_data/textures/kronkIcon.dds": "https://files.ballistica.net/cache/ba1/d2/66/367fb5a09d45419be710683f0b8a",
"assets/build/ba_data/textures/kronkIcon.ktx": "https://files.ballistica.net/cache/ba1/0b/23/ca03de39efd26cc2ca53a46f70b4",
"assets/build/ba_data/textures/kronkIcon.pvr": "https://files.ballistica.net/cache/ba1/d7/2c/17a833f010265c66243ec90fcf09",
- "assets/build/ba_data/textures/kronkIconColorMask.dds": "https://files.ballistica.net/cache/ba1/8b/b1/d2f52c09816856963fa41e1e8b83",
+ "assets/build/ba_data/textures/kronkIconColorMask.dds": "https://files.ballistica.net/cache/ba1/ec/4f/d9c86c700f2feaf28767f666a836",
"assets/build/ba_data/textures/kronkIconColorMask.ktx": "https://files.ballistica.net/cache/ba1/41/41/5c76cd5af36248308d96cf1b4bcd",
"assets/build/ba_data/textures/kronkIconColorMask.pvr": "https://files.ballistica.net/cache/ba1/4c/0c/41d95110ecda25e0e66a3876cce4",
"assets/build/ba_data/textures/kronkIconColorMask_preview.png": "https://files.ballistica.net/cache/ba1/a3/24/7b66c17a8bae4ef0f9f3ca4a95ca",
"assets/build/ba_data/textures/kronkIcon_preview.png": "https://files.ballistica.net/cache/ba1/5f/28/4ca750d54dcb57ad82f3bbacd2e5",
"assets/build/ba_data/textures/kronk_preview.png": "https://files.ballistica.net/cache/ba1/0b/2e/083f0a0c74bec4b4f629e2bdd2a0",
- "assets/build/ba_data/textures/lakeFrigid.dds": "https://files.ballistica.net/cache/ba1/52/fb/3df33cd21b7e6cfa4e4f9b03add5",
+ "assets/build/ba_data/textures/lakeFrigid.dds": "https://files.ballistica.net/cache/ba1/de/16/41f8895b19d81123ab48ad72f38d",
"assets/build/ba_data/textures/lakeFrigid.ktx": "https://files.ballistica.net/cache/ba1/d2/ad/c28e092d9eeea2c5643d1d89613f",
"assets/build/ba_data/textures/lakeFrigid.pvr": "https://files.ballistica.net/cache/ba1/f8/c0/53f0c6ec9f5ec37514b07d0c3506",
- "assets/build/ba_data/textures/lakeFrigidPreview.dds": "https://files.ballistica.net/cache/ba1/23/9b/b65965dc2da90a77737df299527f",
+ "assets/build/ba_data/textures/lakeFrigidPreview.dds": "https://files.ballistica.net/cache/ba1/eb/fd/9d832e847a72de6f62a02403abc5",
"assets/build/ba_data/textures/lakeFrigidPreview.ktx": "https://files.ballistica.net/cache/ba1/8f/d5/185af314124e8ca312475205704e",
"assets/build/ba_data/textures/lakeFrigidPreview.pvr": "https://files.ballistica.net/cache/ba1/9b/2d/8b05ecb7e85b4dd42613e3e0ff89",
"assets/build/ba_data/textures/lakeFrigidPreview_preview.png": "https://files.ballistica.net/cache/ba1/80/ef/8283d6c6c7f144b1dd187262b661",
@@ -1822,10 +1822,10 @@
"assets/build/ba_data/textures/medalSilver.ktx": "https://files.ballistica.net/cache/ba1/68/84/934ab97c1014e98ffd6bbb24ad89",
"assets/build/ba_data/textures/medalSilver.pvr": "https://files.ballistica.net/cache/ba1/37/e8/0f2d99b80e98d8388cbb1fb81aed",
"assets/build/ba_data/textures/medalSilver_preview.png": "https://files.ballistica.net/cache/ba1/1c/38/7e840a4f3b6f7c15e21b22628603",
- "assets/build/ba_data/textures/melColor.dds": "https://files.ballistica.net/cache/ba1/bd/29/6743f3197828fb39a9f424788023",
+ "assets/build/ba_data/textures/melColor.dds": "https://files.ballistica.net/cache/ba1/c6/f1/ef8f3740635ec2b601f73afe0424",
"assets/build/ba_data/textures/melColor.ktx": "https://files.ballistica.net/cache/ba1/fa/a1/645eb759ffd7b046fe91ff4f9f8b",
"assets/build/ba_data/textures/melColor.pvr": "https://files.ballistica.net/cache/ba1/b1/90/45696ef2a4717ce5f3e1838e31f1",
- "assets/build/ba_data/textures/melColorMask.dds": "https://files.ballistica.net/cache/ba1/0c/95/4cce7a44347eef0356dd96dbae60",
+ "assets/build/ba_data/textures/melColorMask.dds": "https://files.ballistica.net/cache/ba1/b7/64/9ae23dc4897fd612952d3193c023",
"assets/build/ba_data/textures/melColorMask.ktx": "https://files.ballistica.net/cache/ba1/bb/ed/2e666f6e2d647b45874645084028",
"assets/build/ba_data/textures/melColorMask.pvr": "https://files.ballistica.net/cache/ba1/af/a4/002bc32b803774a668ce8953014e",
"assets/build/ba_data/textures/melColorMask_preview.png": "https://files.ballistica.net/cache/ba1/58/ee/347860a4fc2faf37f1fa3013ce18",
@@ -1833,12 +1833,12 @@
"assets/build/ba_data/textures/melIcon.dds": "https://files.ballistica.net/cache/ba1/0e/b2/683438456569eacf65b24f18b66f",
"assets/build/ba_data/textures/melIcon.ktx": "https://files.ballistica.net/cache/ba1/a6/fb/e0f4945bea0edf83729dadf52f24",
"assets/build/ba_data/textures/melIcon.pvr": "https://files.ballistica.net/cache/ba1/b6/ec/ed46dda142a62f35c28720878c8f",
- "assets/build/ba_data/textures/melIconColorMask.dds": "https://files.ballistica.net/cache/ba1/5a/db/4439edcfbbef9ea932fb7d56e26a",
+ "assets/build/ba_data/textures/melIconColorMask.dds": "https://files.ballistica.net/cache/ba1/61/b4/637cf663cd1df1d6adacfcbc148c",
"assets/build/ba_data/textures/melIconColorMask.ktx": "https://files.ballistica.net/cache/ba1/64/e0/2f0de4aca98350b0cecbaea53cda",
"assets/build/ba_data/textures/melIconColorMask.pvr": "https://files.ballistica.net/cache/ba1/ba/94/c1955a495fcb9156ef4415105fa3",
"assets/build/ba_data/textures/melIconColorMask_preview.png": "https://files.ballistica.net/cache/ba1/60/9b/38b259d63b5b8c17e0e8f4a09682",
"assets/build/ba_data/textures/melIcon_preview.png": "https://files.ballistica.net/cache/ba1/cf/1d/5fd4405703e177ab90cc331e2809",
- "assets/build/ba_data/textures/menuBG.dds": "https://files.ballistica.net/cache/ba1/7c/60/840dbf0ae2e0273c5553a81a9613",
+ "assets/build/ba_data/textures/menuBG.dds": "https://files.ballistica.net/cache/ba1/66/38/e19d5d26e0c3b7750ad612288f51",
"assets/build/ba_data/textures/menuBG.ktx": "https://files.ballistica.net/cache/ba1/f9/f7/a09f825ab514e1a57fcf67149798",
"assets/build/ba_data/textures/menuBG.pvr": "https://files.ballistica.net/cache/ba1/2e/8a/11960533b874cb081c384a521710",
"assets/build/ba_data/textures/menuBG_preview.png": "https://files.ballistica.net/cache/ba1/03/1c/9a07cf577bdf39e58effdbc2e242",
@@ -1854,11 +1854,11 @@
"assets/build/ba_data/textures/meter.ktx": "https://files.ballistica.net/cache/ba1/b5/e7/3ba3d4c7c7e05081eb033ae5da8f",
"assets/build/ba_data/textures/meter.pvr": "https://files.ballistica.net/cache/ba1/58/de/ab83ad9e0d9b434ca42811030ef9",
"assets/build/ba_data/textures/meter_preview.png": "https://files.ballistica.net/cache/ba1/09/b7/40a1a187d7b057defa6f32c6b372",
- "assets/build/ba_data/textures/monkeyFaceLevelColor.dds": "https://files.ballistica.net/cache/ba1/c6/29/e07d5663f90bec057f4c0a175baa",
+ "assets/build/ba_data/textures/monkeyFaceLevelColor.dds": "https://files.ballistica.net/cache/ba1/e8/41/cfcdc67b1adbf50621ae9ebdafef",
"assets/build/ba_data/textures/monkeyFaceLevelColor.ktx": "https://files.ballistica.net/cache/ba1/33/d0/e2600748ebab847b7a146350a3c9",
"assets/build/ba_data/textures/monkeyFaceLevelColor.pvr": "https://files.ballistica.net/cache/ba1/09/98/9491294da842980b75739e8d1c59",
"assets/build/ba_data/textures/monkeyFaceLevelColor_preview.png": "https://files.ballistica.net/cache/ba1/2f/84/fd142ba957ead4acb7b4081a3771",
- "assets/build/ba_data/textures/monkeyFacePreview.dds": "https://files.ballistica.net/cache/ba1/3d/14/795c5ec8cf2e1b5c49e1dba05341",
+ "assets/build/ba_data/textures/monkeyFacePreview.dds": "https://files.ballistica.net/cache/ba1/7d/53/6c90a28662f70e03ae967a63151c",
"assets/build/ba_data/textures/monkeyFacePreview.ktx": "https://files.ballistica.net/cache/ba1/ff/83/d340f1495861ebb97bd7f766ccbb",
"assets/build/ba_data/textures/monkeyFacePreview.pvr": "https://files.ballistica.net/cache/ba1/85/e7/807edc04137ee1a3b7767e90d692",
"assets/build/ba_data/textures/monkeyFacePreview_preview.png": "https://files.ballistica.net/cache/ba1/5c/62/929429eb7fd47b21edf6dd8d8f63",
@@ -1866,19 +1866,19 @@
"assets/build/ba_data/textures/multiplayerExamples.ktx": "https://files.ballistica.net/cache/ba1/48/2c/081cf255b138824720c0b49d2e1e",
"assets/build/ba_data/textures/multiplayerExamples.pvr": "https://files.ballistica.net/cache/ba1/d1/db/8902cdbf501bf919e5f9f0ada2b4",
"assets/build/ba_data/textures/multiplayerExamples_preview.png": "https://files.ballistica.net/cache/ba1/ea/7c/acf4240ca1fa313126060a8258f0",
- "assets/build/ba_data/textures/natureBackgroundColor.dds": "https://files.ballistica.net/cache/ba1/78/ff/45c52ff0f98ffabcd472e68e3a04",
+ "assets/build/ba_data/textures/natureBackgroundColor.dds": "https://files.ballistica.net/cache/ba1/41/5a/2821b371bfb514531fd617be39cd",
"assets/build/ba_data/textures/natureBackgroundColor.ktx": "https://files.ballistica.net/cache/ba1/60/09/50676eca6d0599eabf895f18aa21",
"assets/build/ba_data/textures/natureBackgroundColor.pvr": "https://files.ballistica.net/cache/ba1/1f/37/b4950cf37311fc39f53235adb190",
"assets/build/ba_data/textures/natureBackgroundColor_preview.png": "https://files.ballistica.net/cache/ba1/61/91/2af689aba61ee35bc281a8c2fc88",
- "assets/build/ba_data/textures/neoSpazColor.dds": "https://files.ballistica.net/cache/ba1/91/44/f06dba5c1cb7fda6d62e2c0c5484",
+ "assets/build/ba_data/textures/neoSpazColor.dds": "https://files.ballistica.net/cache/ba1/e7/77/ba83d0d9a1472d495d3ebaa182c4",
"assets/build/ba_data/textures/neoSpazColor.ktx": "https://files.ballistica.net/cache/ba1/d1/d7/797152df3d1260338405ea0ea59f",
"assets/build/ba_data/textures/neoSpazColor.pvr": "https://files.ballistica.net/cache/ba1/8b/68/60b1e0bc0c6295fba84e493c313d",
- "assets/build/ba_data/textures/neoSpazColorMask.dds": "https://files.ballistica.net/cache/ba1/72/05/774cf76faed583a54d1658e17402",
+ "assets/build/ba_data/textures/neoSpazColorMask.dds": "https://files.ballistica.net/cache/ba1/05/ff/08bba0e201d0eea3ead5746ca96f",
"assets/build/ba_data/textures/neoSpazColorMask.ktx": "https://files.ballistica.net/cache/ba1/ef/f6/84779b7eb27ccbbcdb77f3b6f2fb",
"assets/build/ba_data/textures/neoSpazColorMask.pvr": "https://files.ballistica.net/cache/ba1/a2/a8/4aa145599bd4b8c53d87624553e2",
"assets/build/ba_data/textures/neoSpazColorMask_preview.png": "https://files.ballistica.net/cache/ba1/62/88/1239b81fe081de88c08ac7434bc3",
"assets/build/ba_data/textures/neoSpazColor_preview.png": "https://files.ballistica.net/cache/ba1/23/2c/b541bf04f85d1aa5de3b475b82d2",
- "assets/build/ba_data/textures/neoSpazIcon.dds": "https://files.ballistica.net/cache/ba1/d9/ef/2e3e5cb4151c3ac209c0774dea79",
+ "assets/build/ba_data/textures/neoSpazIcon.dds": "https://files.ballistica.net/cache/ba1/e0/6e/59525196623212ac76d96d9cd3bb",
"assets/build/ba_data/textures/neoSpazIcon.ktx": "https://files.ballistica.net/cache/ba1/d2/b5/f7c3badf697bc9dd82cffd17352c",
"assets/build/ba_data/textures/neoSpazIcon.pvr": "https://files.ballistica.net/cache/ba1/47/c1/5ee2e1475e142aa8468b2d50c752",
"assets/build/ba_data/textures/neoSpazIconColorMask.dds": "https://files.ballistica.net/cache/ba1/60/46/4e61726cb5e2c81b0e0af5a7cd5e",
@@ -1890,15 +1890,15 @@
"assets/build/ba_data/textures/nextLevelIcon.ktx": "https://files.ballistica.net/cache/ba1/b2/84/0bb105ab76cc15c66f52ecbefcf7",
"assets/build/ba_data/textures/nextLevelIcon.pvr": "https://files.ballistica.net/cache/ba1/0b/8d/087ad0de136250c54e42f4dca92f",
"assets/build/ba_data/textures/nextLevelIcon_preview.png": "https://files.ballistica.net/cache/ba1/76/5f/ffae5ff97775780301b96a1a3f52",
- "assets/build/ba_data/textures/ninjaColor.dds": "https://files.ballistica.net/cache/ba1/d3/5c/67af280eab6793195bb039488ce1",
+ "assets/build/ba_data/textures/ninjaColor.dds": "https://files.ballistica.net/cache/ba1/e7/25/60195fddd30365324328f09e1230",
"assets/build/ba_data/textures/ninjaColor.ktx": "https://files.ballistica.net/cache/ba1/2a/a1/22d137826995da608c2e3898083e",
"assets/build/ba_data/textures/ninjaColor.pvr": "https://files.ballistica.net/cache/ba1/2d/0c/6a9364e38112591a5f77de741ca2",
- "assets/build/ba_data/textures/ninjaColorMask.dds": "https://files.ballistica.net/cache/ba1/02/06/3c07252b18ba88964bba62b8a656",
+ "assets/build/ba_data/textures/ninjaColorMask.dds": "https://files.ballistica.net/cache/ba1/db/da/51021e6f1482e5664af808b29b00",
"assets/build/ba_data/textures/ninjaColorMask.ktx": "https://files.ballistica.net/cache/ba1/1d/68/ee8c4f656d583b49638f3cb40b4e",
"assets/build/ba_data/textures/ninjaColorMask.pvr": "https://files.ballistica.net/cache/ba1/06/0a/58e0e29f5b9f503afcfc1a93f052",
"assets/build/ba_data/textures/ninjaColorMask_preview.png": "https://files.ballistica.net/cache/ba1/8c/22/0103111a22390dd49615eaf2a4c3",
"assets/build/ba_data/textures/ninjaColor_preview.png": "https://files.ballistica.net/cache/ba1/d9/d9/52cf79858329ee664417fa86325a",
- "assets/build/ba_data/textures/ninjaIcon.dds": "https://files.ballistica.net/cache/ba1/38/30/a7b91f95d0d38b8d31558ca83680",
+ "assets/build/ba_data/textures/ninjaIcon.dds": "https://files.ballistica.net/cache/ba1/a4/34/ac0523aa0d224b5668966a1ce6cd",
"assets/build/ba_data/textures/ninjaIcon.ktx": "https://files.ballistica.net/cache/ba1/fb/be/7acdbf4b9e212c3a20bf7b7ffe1a",
"assets/build/ba_data/textures/ninjaIcon.pvr": "https://files.ballistica.net/cache/ba1/1a/c3/a5843f74115717fcbeb44cb792df",
"assets/build/ba_data/textures/ninjaIconColorMask.dds": "https://files.ballistica.net/cache/ba1/b8/eb/6b4811f664e79059a8604db820d6",
@@ -1917,7 +1917,7 @@
"assets/build/ba_data/textures/oldLadyColor.dds": "https://files.ballistica.net/cache/ba1/9c/9a/7b82b343061f5b2f8f2b281abf07",
"assets/build/ba_data/textures/oldLadyColor.ktx": "https://files.ballistica.net/cache/ba1/e9/a6/b2c434cba993f176a1fbce5e017c",
"assets/build/ba_data/textures/oldLadyColor.pvr": "https://files.ballistica.net/cache/ba1/49/6e/5d95e58db32fafff298781d3c379",
- "assets/build/ba_data/textures/oldLadyColorMask.dds": "https://files.ballistica.net/cache/ba1/e3/9e/dc76d3799d4e1900d605745f71e6",
+ "assets/build/ba_data/textures/oldLadyColorMask.dds": "https://files.ballistica.net/cache/ba1/e5/91/354e94e932df33f458ee0bf6e1a0",
"assets/build/ba_data/textures/oldLadyColorMask.ktx": "https://files.ballistica.net/cache/ba1/81/da/80cd97c5f4c228ea585d4c6b1906",
"assets/build/ba_data/textures/oldLadyColorMask.pvr": "https://files.ballistica.net/cache/ba1/b7/fc/328a89dfc0578184d0cd9be05e5f",
"assets/build/ba_data/textures/oldLadyColorMask_preview.png": "https://files.ballistica.net/cache/ba1/f7/23/f290703d2c69f7f115151907afdd",
@@ -1933,7 +1933,7 @@
"assets/build/ba_data/textures/operaSingerColor.dds": "https://files.ballistica.net/cache/ba1/06/40/1d46db18bbf308f1e8e88ed25c7d",
"assets/build/ba_data/textures/operaSingerColor.ktx": "https://files.ballistica.net/cache/ba1/a9/34/bac2cb5bfa5cfac1b5a209e77a36",
"assets/build/ba_data/textures/operaSingerColor.pvr": "https://files.ballistica.net/cache/ba1/1b/e3/4a871e36791bf302c0ecb68426a7",
- "assets/build/ba_data/textures/operaSingerColorMask.dds": "https://files.ballistica.net/cache/ba1/e4/57/7f6534987c17b43ac14da7aa15cc",
+ "assets/build/ba_data/textures/operaSingerColorMask.dds": "https://files.ballistica.net/cache/ba1/a6/c8/eb903a977a1c83792b5a9485357a",
"assets/build/ba_data/textures/operaSingerColorMask.ktx": "https://files.ballistica.net/cache/ba1/ad/76/24839951a638bcdbd2f399e26b96",
"assets/build/ba_data/textures/operaSingerColorMask.pvr": "https://files.ballistica.net/cache/ba1/1e/56/ce51acda0e9f77cf8450c4871503",
"assets/build/ba_data/textures/operaSingerColorMask_preview.png": "https://files.ballistica.net/cache/ba1/99/5e/a20ff9e112ae711dff9d9b0602c0",
@@ -1966,34 +1966,34 @@
"assets/build/ba_data/textures/ouyaYButton.ktx": "https://files.ballistica.net/cache/ba1/dd/99/0a8364d55243d59174e449445c40",
"assets/build/ba_data/textures/ouyaYButton.pvr": "https://files.ballistica.net/cache/ba1/2d/f8/ebd32f8ca2f65f450641eda0e4b3",
"assets/build/ba_data/textures/ouyaYButton_preview.png": "https://files.ballistica.net/cache/ba1/a0/39/27eb09f33ca04d133a2c86d30f87",
- "assets/build/ba_data/textures/penguinColor.dds": "https://files.ballistica.net/cache/ba1/b0/90/b5e0f65db8428e7f58a677fc8712",
+ "assets/build/ba_data/textures/penguinColor.dds": "https://files.ballistica.net/cache/ba1/46/06/98a0d4e3a61c17eabca8a5addac9",
"assets/build/ba_data/textures/penguinColor.ktx": "https://files.ballistica.net/cache/ba1/e8/a4/4bebf5671504129dd5daa25a8eaf",
"assets/build/ba_data/textures/penguinColor.pvr": "https://files.ballistica.net/cache/ba1/5c/7b/af36d581b9c5e920609861c4fab0",
- "assets/build/ba_data/textures/penguinColorMask.dds": "https://files.ballistica.net/cache/ba1/70/9c/9b96ade9b7231f07ae0580e4f60f",
+ "assets/build/ba_data/textures/penguinColorMask.dds": "https://files.ballistica.net/cache/ba1/ea/71/c0d2e8b03f5e02a17e884c332691",
"assets/build/ba_data/textures/penguinColorMask.ktx": "https://files.ballistica.net/cache/ba1/8a/10/60999fce550b8de1444f1d05f263",
"assets/build/ba_data/textures/penguinColorMask.pvr": "https://files.ballistica.net/cache/ba1/46/27/d3978fdfac00e02373d9298e755f",
"assets/build/ba_data/textures/penguinColorMask_preview.png": "https://files.ballistica.net/cache/ba1/a9/f6/99954cafdabea10227ac0943a206",
"assets/build/ba_data/textures/penguinColor_preview.png": "https://files.ballistica.net/cache/ba1/d5/4d/bb509ed353b4dd0e1e5231ddb59d",
- "assets/build/ba_data/textures/penguinIcon.dds": "https://files.ballistica.net/cache/ba1/2c/07/d519ac490eec7432713ce7b85473",
+ "assets/build/ba_data/textures/penguinIcon.dds": "https://files.ballistica.net/cache/ba1/8b/01/d805bef78053a8bc2980fa9e987d",
"assets/build/ba_data/textures/penguinIcon.ktx": "https://files.ballistica.net/cache/ba1/5a/d8/daadfc2654dd77d31caf4e0796d0",
"assets/build/ba_data/textures/penguinIcon.pvr": "https://files.ballistica.net/cache/ba1/87/1c/dcbc92cc2fe862c43e81d587b1fe",
- "assets/build/ba_data/textures/penguinIconColorMask.dds": "https://files.ballistica.net/cache/ba1/b7/be/a11bb4ae3d7535c43ca02afd0ee3",
+ "assets/build/ba_data/textures/penguinIconColorMask.dds": "https://files.ballistica.net/cache/ba1/f0/0d/71a45142684d98ec7004eab7cfcd",
"assets/build/ba_data/textures/penguinIconColorMask.ktx": "https://files.ballistica.net/cache/ba1/b2/10/73b6efac0d2df908570c53ded344",
"assets/build/ba_data/textures/penguinIconColorMask.pvr": "https://files.ballistica.net/cache/ba1/25/26/0551afc2a52c6a6426ff3c21e4f4",
"assets/build/ba_data/textures/penguinIconColorMask_preview.png": "https://files.ballistica.net/cache/ba1/7c/0e/7df9e0157fd40450e0b5935cdc41",
"assets/build/ba_data/textures/penguinIcon_preview.png": "https://files.ballistica.net/cache/ba1/db/bf/98796d0f0d33bc200c896ba82109",
- "assets/build/ba_data/textures/pixieColor.dds": "https://files.ballistica.net/cache/ba1/f0/f6/90a78ac8b17c8b3b6cb258f078ed",
+ "assets/build/ba_data/textures/pixieColor.dds": "https://files.ballistica.net/cache/ba1/75/cc/389a63b73cfcbae4aed11b8b710a",
"assets/build/ba_data/textures/pixieColor.ktx": "https://files.ballistica.net/cache/ba1/23/90/c836828f9342e6bd21612ff78938",
"assets/build/ba_data/textures/pixieColor.pvr": "https://files.ballistica.net/cache/ba1/3d/ce/acca60b5cde2111bd62d90adc41e",
- "assets/build/ba_data/textures/pixieColorMask.dds": "https://files.ballistica.net/cache/ba1/7f/8f/4eaddebfa9dfb7909c7cdad4b576",
+ "assets/build/ba_data/textures/pixieColorMask.dds": "https://files.ballistica.net/cache/ba1/82/27/8c1fe9eec5b984f42fca3d3e9381",
"assets/build/ba_data/textures/pixieColorMask.ktx": "https://files.ballistica.net/cache/ba1/59/fe/138ccc612be62ef4a30b9adfbcf9",
"assets/build/ba_data/textures/pixieColorMask.pvr": "https://files.ballistica.net/cache/ba1/57/84/72b8fc64aad487d406fc876b1b42",
"assets/build/ba_data/textures/pixieColorMask_preview.png": "https://files.ballistica.net/cache/ba1/8a/7e/51ba798eac9278727df8a804ba35",
"assets/build/ba_data/textures/pixieColor_preview.png": "https://files.ballistica.net/cache/ba1/07/86/d9bab7a777b2e38107403edfcd50",
- "assets/build/ba_data/textures/pixieIcon.dds": "https://files.ballistica.net/cache/ba1/b7/f4/fd43b64dacef89608c5ab6db0377",
+ "assets/build/ba_data/textures/pixieIcon.dds": "https://files.ballistica.net/cache/ba1/68/32/7d731f50bf51e633df18254034a3",
"assets/build/ba_data/textures/pixieIcon.ktx": "https://files.ballistica.net/cache/ba1/e8/25/576bf3a4e9e2dba964c5f18b6622",
"assets/build/ba_data/textures/pixieIcon.pvr": "https://files.ballistica.net/cache/ba1/21/72/ba1ca96c4f017c11cffaec11d788",
- "assets/build/ba_data/textures/pixieIconColorMask.dds": "https://files.ballistica.net/cache/ba1/1d/8c/bcfcc534447ae4a5eb33effa157c",
+ "assets/build/ba_data/textures/pixieIconColorMask.dds": "https://files.ballistica.net/cache/ba1/3c/25/1f57bdf36447463ad1065a614c7f",
"assets/build/ba_data/textures/pixieIconColorMask.ktx": "https://files.ballistica.net/cache/ba1/76/3f/caf7f06633052fa327db6eaa39d6",
"assets/build/ba_data/textures/pixieIconColorMask.pvr": "https://files.ballistica.net/cache/ba1/1f/1e/da8a3c0f1a42acbe09140e29609d",
"assets/build/ba_data/textures/pixieIconColorMask_preview.png": "https://files.ballistica.net/cache/ba1/18/f4/e96160f142153a37f9e0919c883e",
@@ -2006,7 +2006,7 @@
"assets/build/ba_data/textures/powerupBomb.ktx": "https://files.ballistica.net/cache/ba1/1b/bc/5bf3f52c9f880476221d63a41ee1",
"assets/build/ba_data/textures/powerupBomb.pvr": "https://files.ballistica.net/cache/ba1/99/05/7144537430a306d45efbd75f733f",
"assets/build/ba_data/textures/powerupBomb_preview.png": "https://files.ballistica.net/cache/ba1/75/17/31e7f1997e0f3304b597a062efa7",
- "assets/build/ba_data/textures/powerupCurse.dds": "https://files.ballistica.net/cache/ba1/2e/ff/9c66e6f7c1a973155e68ab5560a8",
+ "assets/build/ba_data/textures/powerupCurse.dds": "https://files.ballistica.net/cache/ba1/6f/cd/50c78074de3f655afe1d029ffce8",
"assets/build/ba_data/textures/powerupCurse.ktx": "https://files.ballistica.net/cache/ba1/40/4f/0648e5b36ad56442fdba6e07ce6c",
"assets/build/ba_data/textures/powerupCurse.pvr": "https://files.ballistica.net/cache/ba1/31/2b/01f49d263a0915691651ae6b8196",
"assets/build/ba_data/textures/powerupCurse_preview.png": "https://files.ballistica.net/cache/ba1/07/21/962169962af41bec8c43cf3d01a1",
@@ -2014,7 +2014,7 @@
"assets/build/ba_data/textures/powerupHealth.ktx": "https://files.ballistica.net/cache/ba1/be/3e/5bd4f2ac8d7bf972571f89992264",
"assets/build/ba_data/textures/powerupHealth.pvr": "https://files.ballistica.net/cache/ba1/64/ec/f1507c9ed94d0bd4b0c9ab8569da",
"assets/build/ba_data/textures/powerupHealth_preview.png": "https://files.ballistica.net/cache/ba1/42/11/e09c9daf2dadf44be3b9249e3fa4",
- "assets/build/ba_data/textures/powerupIceBombs.dds": "https://files.ballistica.net/cache/ba1/03/8e/96c1d4ef593ea45528f2dda9853c",
+ "assets/build/ba_data/textures/powerupIceBombs.dds": "https://files.ballistica.net/cache/ba1/9f/4d/af9b3707142271e4b6090c19f330",
"assets/build/ba_data/textures/powerupIceBombs.ktx": "https://files.ballistica.net/cache/ba1/27/6e/3b2b5fa2e68a073db9ed5c67da39",
"assets/build/ba_data/textures/powerupIceBombs.pvr": "https://files.ballistica.net/cache/ba1/b3/32/b9c0df53502d4402b36b8bdba951",
"assets/build/ba_data/textures/powerupIceBombs_preview.png": "https://files.ballistica.net/cache/ba1/61/8b/7f43a09b4ca30edef5099cecbbb1",
@@ -2022,7 +2022,7 @@
"assets/build/ba_data/textures/powerupImpactBombs.ktx": "https://files.ballistica.net/cache/ba1/49/0c/df4b313585f897592ccee9d5c542",
"assets/build/ba_data/textures/powerupImpactBombs.pvr": "https://files.ballistica.net/cache/ba1/f2/1b/8b6c447613d2bbec20cff630b1f1",
"assets/build/ba_data/textures/powerupImpactBombs_preview.png": "https://files.ballistica.net/cache/ba1/0c/33/5d041471446792bb5da31291b869",
- "assets/build/ba_data/textures/powerupLandMines.dds": "https://files.ballistica.net/cache/ba1/8b/96/2731079019cf1688415831619c76",
+ "assets/build/ba_data/textures/powerupLandMines.dds": "https://files.ballistica.net/cache/ba1/99/f8/ea06e3d99018797fe82841988cce",
"assets/build/ba_data/textures/powerupLandMines.ktx": "https://files.ballistica.net/cache/ba1/79/ac/333130d040444c03fbcf7302e35b",
"assets/build/ba_data/textures/powerupLandMines.pvr": "https://files.ballistica.net/cache/ba1/2b/7a/4ac9f04cfa3a59e19fd3ddd72b2e",
"assets/build/ba_data/textures/powerupLandMines_preview.png": "https://files.ballistica.net/cache/ba1/21/bc/b619e59db015ed4cc8020972a336",
@@ -2038,31 +2038,31 @@
"assets/build/ba_data/textures/powerupSpeed.ktx": "https://files.ballistica.net/cache/ba1/2e/fc/63e2a260e55d0d33ed0dc4400cb0",
"assets/build/ba_data/textures/powerupSpeed.pvr": "https://files.ballistica.net/cache/ba1/35/c1/657cc9772d575786c21d2575034d",
"assets/build/ba_data/textures/powerupSpeed_preview.png": "https://files.ballistica.net/cache/ba1/f1/2a/278da1921f939809afad254fbb03",
- "assets/build/ba_data/textures/powerupStickyBombs.dds": "https://files.ballistica.net/cache/ba1/eb/e0/0191d68d9daf896e9d2298c57941",
+ "assets/build/ba_data/textures/powerupStickyBombs.dds": "https://files.ballistica.net/cache/ba1/02/93/92f9be86367f44404b8257bdbf6c",
"assets/build/ba_data/textures/powerupStickyBombs.ktx": "https://files.ballistica.net/cache/ba1/fd/1b/0a64a4e0149e6c9acc3bd5710283",
"assets/build/ba_data/textures/powerupStickyBombs.pvr": "https://files.ballistica.net/cache/ba1/f5/44/ea00c858e1fdd2c73ae953b6fbe5",
"assets/build/ba_data/textures/powerupStickyBombs_preview.png": "https://files.ballistica.net/cache/ba1/76/67/7e11feb9a7f94a68be36128e9afd",
- "assets/build/ba_data/textures/puckColor.dds": "https://files.ballistica.net/cache/ba1/55/0f/0ad93b23a0a4d86ce4799135b26d",
+ "assets/build/ba_data/textures/puckColor.dds": "https://files.ballistica.net/cache/ba1/14/5f/893c54c1ccb320272450c24d232b",
"assets/build/ba_data/textures/puckColor.ktx": "https://files.ballistica.net/cache/ba1/91/a8/49adfe0386637b17fd0d5df798d5",
"assets/build/ba_data/textures/puckColor.pvr": "https://files.ballistica.net/cache/ba1/00/54/b9d50d210bfba69387909e6e91de",
"assets/build/ba_data/textures/puckColor_preview.png": "https://files.ballistica.net/cache/ba1/bd/c4/4a3a3dcb8c1084a34479d43dcaed",
- "assets/build/ba_data/textures/rampageBGColor.dds": "https://files.ballistica.net/cache/ba1/34/2b/e98df914e71d6789e771ea70a264",
+ "assets/build/ba_data/textures/rampageBGColor.dds": "https://files.ballistica.net/cache/ba1/37/a1/a11281d3002afc84c3d28db58395",
"assets/build/ba_data/textures/rampageBGColor.ktx": "https://files.ballistica.net/cache/ba1/b0/39/acaf74037621c74a29a72576ee20",
"assets/build/ba_data/textures/rampageBGColor.pvr": "https://files.ballistica.net/cache/ba1/6b/9d/54521c22a5e2de98eabfb985fa85",
- "assets/build/ba_data/textures/rampageBGColor2.dds": "https://files.ballistica.net/cache/ba1/22/94/8c49d6e549a2f08076d48417fb40",
+ "assets/build/ba_data/textures/rampageBGColor2.dds": "https://files.ballistica.net/cache/ba1/08/35/b2aca6e05626aaf870cceb35ba8e",
"assets/build/ba_data/textures/rampageBGColor2.ktx": "https://files.ballistica.net/cache/ba1/60/23/d866c382fc22fdea03bf2527d147",
"assets/build/ba_data/textures/rampageBGColor2.pvr": "https://files.ballistica.net/cache/ba1/3e/69/d3c1a9d7f8910199598f010efd8a",
"assets/build/ba_data/textures/rampageBGColor2_preview.png": "https://files.ballistica.net/cache/ba1/79/f6/068a9185d32b580a4e73806d8d12",
"assets/build/ba_data/textures/rampageBGColor_preview.png": "https://files.ballistica.net/cache/ba1/38/39/0a2366c421eacc7c5a051c430e15",
- "assets/build/ba_data/textures/rampageLevelColor.dds": "https://files.ballistica.net/cache/ba1/81/69/f4b28c3c4713d96e3cb208bcfbce",
+ "assets/build/ba_data/textures/rampageLevelColor.dds": "https://files.ballistica.net/cache/ba1/fe/40/41c878b5db3ebe47686d8a605cf6",
"assets/build/ba_data/textures/rampageLevelColor.ktx": "https://files.ballistica.net/cache/ba1/ef/06/d2ac2ec0f775180b62e341a5890f",
"assets/build/ba_data/textures/rampageLevelColor.pvr": "https://files.ballistica.net/cache/ba1/8a/74/ff813c81875c81cd8ccd345c5a27",
"assets/build/ba_data/textures/rampageLevelColor_preview.png": "https://files.ballistica.net/cache/ba1/b9/db/0920892160b677dac33844acb9e3",
- "assets/build/ba_data/textures/rampagePreview.dds": "https://files.ballistica.net/cache/ba1/09/56/67a073d1abfec5e861e3412bca94",
+ "assets/build/ba_data/textures/rampagePreview.dds": "https://files.ballistica.net/cache/ba1/15/af/3089f17f4e969b3780c92ef1ba58",
"assets/build/ba_data/textures/rampagePreview.ktx": "https://files.ballistica.net/cache/ba1/b3/80/783d2507b45af55ebe7d9e4aa7b1",
"assets/build/ba_data/textures/rampagePreview.pvr": "https://files.ballistica.net/cache/ba1/97/d2/99028f0da86ef4d61a70da709c29",
"assets/build/ba_data/textures/rampagePreview_preview.png": "https://files.ballistica.net/cache/ba1/4f/64/6469bc8cfe52cdd9590c1edbc89c",
- "assets/build/ba_data/textures/reflectionChar_+x.dds": "https://files.ballistica.net/cache/ba1/2c/ec/82270cbcd6f3fc72aa1c69036163",
+ "assets/build/ba_data/textures/reflectionChar_+x.dds": "https://files.ballistica.net/cache/ba1/5b/6d/76948a60ad687d91d4db8696ff35",
"assets/build/ba_data/textures/reflectionChar_+x.ktx": "https://files.ballistica.net/cache/ba1/d2/31/6eb2af3d54a5a9b194f5fd5a0cd7",
"assets/build/ba_data/textures/reflectionChar_+x.pvr": "https://files.ballistica.net/cache/ba1/45/72/1bf60fc63ee6024e2c62026e1d13",
"assets/build/ba_data/textures/reflectionChar_+x_preview.png": "https://files.ballistica.net/cache/ba1/3e/19/1545732b54357b959468baeadb05",
@@ -2078,7 +2078,7 @@
"assets/build/ba_data/textures/reflectionChar_-x.ktx": "https://files.ballistica.net/cache/ba1/7b/a7/6592e876e7c31687e11e019a305d",
"assets/build/ba_data/textures/reflectionChar_-x.pvr": "https://files.ballistica.net/cache/ba1/88/fb/372bde1b68e238da396a7576088f",
"assets/build/ba_data/textures/reflectionChar_-x_preview.png": "https://files.ballistica.net/cache/ba1/81/8f/422c1c54b3021abc70a4aa64b3fd",
- "assets/build/ba_data/textures/reflectionChar_-y.dds": "https://files.ballistica.net/cache/ba1/45/c3/d1f2ffdb624d2236eb41e93b79cc",
+ "assets/build/ba_data/textures/reflectionChar_-y.dds": "https://files.ballistica.net/cache/ba1/25/03/628a5da0305261041300f75ef756",
"assets/build/ba_data/textures/reflectionChar_-y.ktx": "https://files.ballistica.net/cache/ba1/25/1f/4e5b9240dcf6ea6639fb81f3579a",
"assets/build/ba_data/textures/reflectionChar_-y.pvr": "https://files.ballistica.net/cache/ba1/4e/ee/7cdca1ae6b1458a443262c5a4e9c",
"assets/build/ba_data/textures/reflectionChar_-y_preview.png": "https://files.ballistica.net/cache/ba1/ba/70/f2f188b95e2735467e823c94504a",
@@ -2086,7 +2086,7 @@
"assets/build/ba_data/textures/reflectionChar_-z.ktx": "https://files.ballistica.net/cache/ba1/96/56/0f9aef42c876c3d2832ba570de79",
"assets/build/ba_data/textures/reflectionChar_-z.pvr": "https://files.ballistica.net/cache/ba1/60/68/cb7fefc89119f14265c58200afde",
"assets/build/ba_data/textures/reflectionChar_-z_preview.png": "https://files.ballistica.net/cache/ba1/b5/10/70b59c9cd551b44f8422867a38c2",
- "assets/build/ba_data/textures/reflectionPowerup_+x.dds": "https://files.ballistica.net/cache/ba1/aa/16/e46748f64851d1f0fd6c3b0bab9a",
+ "assets/build/ba_data/textures/reflectionPowerup_+x.dds": "https://files.ballistica.net/cache/ba1/4b/3d/76538e3f18edb2a373bb3b591314",
"assets/build/ba_data/textures/reflectionPowerup_+x.ktx": "https://files.ballistica.net/cache/ba1/a6/9b/682e676c993ae660475b4467fa6a",
"assets/build/ba_data/textures/reflectionPowerup_+x.pvr": "https://files.ballistica.net/cache/ba1/f9/45/2b58be3bf14314607a25143fb477",
"assets/build/ba_data/textures/reflectionPowerup_+x_preview.png": "https://files.ballistica.net/cache/ba1/66/cc/5021c0239527286f8c8f63aad21a",
@@ -2118,11 +2118,11 @@
"assets/build/ba_data/textures/reflectionSharp_+y.ktx": "https://files.ballistica.net/cache/ba1/2c/a5/141e266b590226ee4a3474ac874e",
"assets/build/ba_data/textures/reflectionSharp_+y.pvr": "https://files.ballistica.net/cache/ba1/a5/10/cdd96a99404584f090032ca60e62",
"assets/build/ba_data/textures/reflectionSharp_+y_preview.png": "https://files.ballistica.net/cache/ba1/0f/58/f04fac2b705b92c8b0e11036a8ff",
- "assets/build/ba_data/textures/reflectionSharp_+z.dds": "https://files.ballistica.net/cache/ba1/ac/4b/db6e2bf52594a0cb882d17579bec",
+ "assets/build/ba_data/textures/reflectionSharp_+z.dds": "https://files.ballistica.net/cache/ba1/2a/be/a4ec2fb348452797276aa8a7ea52",
"assets/build/ba_data/textures/reflectionSharp_+z.ktx": "https://files.ballistica.net/cache/ba1/21/2c/51df5254932dac26b7068bc1e044",
"assets/build/ba_data/textures/reflectionSharp_+z.pvr": "https://files.ballistica.net/cache/ba1/e4/87/2eaf17f6a15512b4326c7a2ae395",
"assets/build/ba_data/textures/reflectionSharp_+z_preview.png": "https://files.ballistica.net/cache/ba1/1f/14/cd9fa509c22fea0f73a5eb76ac54",
- "assets/build/ba_data/textures/reflectionSharp_-x.dds": "https://files.ballistica.net/cache/ba1/d7/b4/19de232b288604ffd66e48b182cf",
+ "assets/build/ba_data/textures/reflectionSharp_-x.dds": "https://files.ballistica.net/cache/ba1/8f/2f/def7cd6049055701946f6ba7efcb",
"assets/build/ba_data/textures/reflectionSharp_-x.ktx": "https://files.ballistica.net/cache/ba1/04/cf/03b8b252c6d0a14b4a74df1697b2",
"assets/build/ba_data/textures/reflectionSharp_-x.pvr": "https://files.ballistica.net/cache/ba1/f3/5b/36f37a9ca99d555c8950524ca118",
"assets/build/ba_data/textures/reflectionSharp_-x_preview.png": "https://files.ballistica.net/cache/ba1/80/18/f2f8c9ce1f0dc8f297e0b29def1b",
@@ -2134,7 +2134,7 @@
"assets/build/ba_data/textures/reflectionSharp_-z.ktx": "https://files.ballistica.net/cache/ba1/09/79/7c34e93c1453fa653098644dc902",
"assets/build/ba_data/textures/reflectionSharp_-z.pvr": "https://files.ballistica.net/cache/ba1/08/d2/fa84664b3558ce68269581d52ab3",
"assets/build/ba_data/textures/reflectionSharp_-z_preview.png": "https://files.ballistica.net/cache/ba1/e0/6e/de9a4cfdcb483bf92a63ac64e435",
- "assets/build/ba_data/textures/reflectionSharper_+x.dds": "https://files.ballistica.net/cache/ba1/86/21/0ed2cff91343e7d697e3fdbc9d15",
+ "assets/build/ba_data/textures/reflectionSharper_+x.dds": "https://files.ballistica.net/cache/ba1/ed/05/68ad6e013833ba230bee61037591",
"assets/build/ba_data/textures/reflectionSharper_+x.ktx": "https://files.ballistica.net/cache/ba1/ab/9b/243e80e52d6f837f206472054489",
"assets/build/ba_data/textures/reflectionSharper_+x.pvr": "https://files.ballistica.net/cache/ba1/70/29/f1847b9d9c4892e3d383c8136b28",
"assets/build/ba_data/textures/reflectionSharper_+x_preview.png": "https://files.ballistica.net/cache/ba1/22/db/1afb62440951a98fcf57663d5884",
@@ -2202,7 +2202,7 @@
"assets/build/ba_data/textures/reflectionSoft_-y.ktx": "https://files.ballistica.net/cache/ba1/c7/af/7e09853ae6f0487e3a4122ac31d5",
"assets/build/ba_data/textures/reflectionSoft_-y.pvr": "https://files.ballistica.net/cache/ba1/80/81/e5428d62dd5a31f708a68b258366",
"assets/build/ba_data/textures/reflectionSoft_-y_preview.png": "https://files.ballistica.net/cache/ba1/2f/e1/b0cee0f161188752abcba04c9291",
- "assets/build/ba_data/textures/reflectionSoft_-z.dds": "https://files.ballistica.net/cache/ba1/35/65/f84fc0c302b96ffde8d816c118c4",
+ "assets/build/ba_data/textures/reflectionSoft_-z.dds": "https://files.ballistica.net/cache/ba1/14/be/6bab80deb23a5105dd1ddd57740b",
"assets/build/ba_data/textures/reflectionSoft_-z.ktx": "https://files.ballistica.net/cache/ba1/55/b2/45ec181ec07cd28be1a089b6bb79",
"assets/build/ba_data/textures/reflectionSoft_-z.pvr": "https://files.ballistica.net/cache/ba1/67/6e/271b323497b797718b7d9bd3f939",
"assets/build/ba_data/textures/reflectionSoft_-z_preview.png": "https://files.ballistica.net/cache/ba1/6f/38/dce6d5c26bc45005b9355b030c94",
@@ -2221,7 +2221,7 @@
"assets/build/ba_data/textures/robotColor.dds": "https://files.ballistica.net/cache/ba1/a3/c0/2f7089d363c3e22b4ab10cd1c589",
"assets/build/ba_data/textures/robotColor.ktx": "https://files.ballistica.net/cache/ba1/9a/9d/dbdec15776fd014e03eb1808ad28",
"assets/build/ba_data/textures/robotColor.pvr": "https://files.ballistica.net/cache/ba1/9d/24/cc381a8ff6e80947618a97d36107",
- "assets/build/ba_data/textures/robotColorMask.dds": "https://files.ballistica.net/cache/ba1/9f/89/248c558b1f019a7e37c24c6f2c74",
+ "assets/build/ba_data/textures/robotColorMask.dds": "https://files.ballistica.net/cache/ba1/ec/0e/d1b4b152415679464cd0bf773b94",
"assets/build/ba_data/textures/robotColorMask.ktx": "https://files.ballistica.net/cache/ba1/19/4e/6bf15a0ac4ba4ad3bedd5eb3a3f3",
"assets/build/ba_data/textures/robotColorMask.pvr": "https://files.ballistica.net/cache/ba1/ee/88/47d89b21335c4ba8916ff4eb11fd",
"assets/build/ba_data/textures/robotColorMask_preview.png": "https://files.ballistica.net/cache/ba1/03/fd/c13045e5beed778e19f9a70f81ea",
@@ -2234,18 +2234,18 @@
"assets/build/ba_data/textures/robotIconColorMask.pvr": "https://files.ballistica.net/cache/ba1/b8/65/40642024959c225ce4704b954f8f",
"assets/build/ba_data/textures/robotIconColorMask_preview.png": "https://files.ballistica.net/cache/ba1/3a/c2/771b5f4aa159f61383b8bbefa291",
"assets/build/ba_data/textures/robotIcon_preview.png": "https://files.ballistica.net/cache/ba1/7a/b8/1dad64c97fa4655f70490004cedc",
- "assets/build/ba_data/textures/roundaboutLevelColor.dds": "https://files.ballistica.net/cache/ba1/b6/df/cc3d90cdccfc1e07c99a4a5a5851",
+ "assets/build/ba_data/textures/roundaboutLevelColor.dds": "https://files.ballistica.net/cache/ba1/69/bd/5a0e33f022abb454eebf4b9668ab",
"assets/build/ba_data/textures/roundaboutLevelColor.ktx": "https://files.ballistica.net/cache/ba1/19/f8/d8ea41097c6dfe7bec255d85ea0a",
"assets/build/ba_data/textures/roundaboutLevelColor.pvr": "https://files.ballistica.net/cache/ba1/0a/5a/19e1f33492b7ae2a9f100cf26fff",
"assets/build/ba_data/textures/roundaboutLevelColor_preview.png": "https://files.ballistica.net/cache/ba1/18/c7/7dbe95a06d9e877fbe848f415141",
- "assets/build/ba_data/textures/roundaboutPreview.dds": "https://files.ballistica.net/cache/ba1/c5/62/00e8ad165d2350b7136784bc0dc7",
+ "assets/build/ba_data/textures/roundaboutPreview.dds": "https://files.ballistica.net/cache/ba1/a8/c2/d800722b8b7e172fcf19227abf05",
"assets/build/ba_data/textures/roundaboutPreview.ktx": "https://files.ballistica.net/cache/ba1/1f/63/e4776ec44e00a0d736aec31f1dfb",
"assets/build/ba_data/textures/roundaboutPreview.pvr": "https://files.ballistica.net/cache/ba1/65/1a/019c03931b513047b9a5fcb7e8af",
"assets/build/ba_data/textures/roundaboutPreview_preview.png": "https://files.ballistica.net/cache/ba1/d4/df/d26e050aac7285a6f453185f0046",
- "assets/build/ba_data/textures/santaColor.dds": "https://files.ballistica.net/cache/ba1/26/e6/febe3c69537cb30d8f1988cd405d",
+ "assets/build/ba_data/textures/santaColor.dds": "https://files.ballistica.net/cache/ba1/5f/a1/91e228dda47c28f430ec2ff226b8",
"assets/build/ba_data/textures/santaColor.ktx": "https://files.ballistica.net/cache/ba1/cc/f4/de2aaaf8cc855afaaceb1e618409",
"assets/build/ba_data/textures/santaColor.pvr": "https://files.ballistica.net/cache/ba1/b6/22/85dfce13ccc2a531a42a91d4dd89",
- "assets/build/ba_data/textures/santaColorMask.dds": "https://files.ballistica.net/cache/ba1/5e/5f/6c47e8aa0cdfc92d06bfd3a23b6d",
+ "assets/build/ba_data/textures/santaColorMask.dds": "https://files.ballistica.net/cache/ba1/8a/9c/db332211cdc1deb5d60ce035d5a8",
"assets/build/ba_data/textures/santaColorMask.ktx": "https://files.ballistica.net/cache/ba1/b7/b0/9ebd903f0d9e491fa6a65181de19",
"assets/build/ba_data/textures/santaColorMask.pvr": "https://files.ballistica.net/cache/ba1/a8/8c/6ab8ad9a2ea2e907635286163e57",
"assets/build/ba_data/textures/santaColorMask_preview.png": "https://files.ballistica.net/cache/ba1/01/c4/436aca37ae86e73db9b7c856056a",
@@ -2253,7 +2253,7 @@
"assets/build/ba_data/textures/santaIcon.dds": "https://files.ballistica.net/cache/ba1/50/10/67dc3f02df57883342cc345cf72e",
"assets/build/ba_data/textures/santaIcon.ktx": "https://files.ballistica.net/cache/ba1/b7/6c/f22cde80b89403aeb4e950d8e2d2",
"assets/build/ba_data/textures/santaIcon.pvr": "https://files.ballistica.net/cache/ba1/a0/4c/24e260da5e86b10a86049503b986",
- "assets/build/ba_data/textures/santaIconColorMask.dds": "https://files.ballistica.net/cache/ba1/6c/54/c155cd9278a8411441fe9f68f09b",
+ "assets/build/ba_data/textures/santaIconColorMask.dds": "https://files.ballistica.net/cache/ba1/9e/36/dbeba27f8008aa3404864070f5bc",
"assets/build/ba_data/textures/santaIconColorMask.ktx": "https://files.ballistica.net/cache/ba1/32/7a/c2d2cc16c7be82dbcff72a376f70",
"assets/build/ba_data/textures/santaIconColorMask.pvr": "https://files.ballistica.net/cache/ba1/25/db/3dfff995ae0b87511a6bb7cc8b79",
"assets/build/ba_data/textures/santaIconColorMask_preview.png": "https://files.ballistica.net/cache/ba1/ca/f2/a9f44952811c708bd50525d4da30",
@@ -2302,7 +2302,7 @@
"assets/build/ba_data/textures/slash.ktx": "https://files.ballistica.net/cache/ba1/54/cb/a35780a274f021fc1044b45daf99",
"assets/build/ba_data/textures/slash.pvr": "https://files.ballistica.net/cache/ba1/b6/d2/fa0617f78a81fc0eacb962484729",
"assets/build/ba_data/textures/slash_preview.png": "https://files.ballistica.net/cache/ba1/33/2f/060dad5afdba8162d7a3ad082df0",
- "assets/build/ba_data/textures/smoke.dds": "https://files.ballistica.net/cache/ba1/66/a6/714c50394e08e6709f9470f2f02d",
+ "assets/build/ba_data/textures/smoke.dds": "https://files.ballistica.net/cache/ba1/c1/b5/f1c19535edd6f9abc74b85a9673a",
"assets/build/ba_data/textures/smoke.ktx": "https://files.ballistica.net/cache/ba1/8c/d8/74ac19c7930bbd695f533ec09fa3",
"assets/build/ba_data/textures/smoke.pvr": "https://files.ballistica.net/cache/ba1/d7/a5/014c007053212e96096b545626ea",
"assets/build/ba_data/textures/smoke_preview.png": "https://files.ballistica.net/cache/ba1/b1/c6/52443210c0229920389219868dcc",
@@ -2318,7 +2318,7 @@
"assets/build/ba_data/textures/softRectVertical.pvr": "https://files.ballistica.net/cache/ba1/4d/19/857d457d9b5a0279a80dceea2cd3",
"assets/build/ba_data/textures/softRectVertical_preview.png": "https://files.ballistica.net/cache/ba1/56/0f/524a88de51160a96224fb40249c1",
"assets/build/ba_data/textures/softRect_preview.png": "https://files.ballistica.net/cache/ba1/5e/31/512ca0d886a0d866f194f875c3db",
- "assets/build/ba_data/textures/sparks.dds": "https://files.ballistica.net/cache/ba1/0a/c4/0514ac00c5978979f65fbdf1b56e",
+ "assets/build/ba_data/textures/sparks.dds": "https://files.ballistica.net/cache/ba1/89/77/00c8ba51a9cf06bfc0a0a427efc3",
"assets/build/ba_data/textures/sparks.ktx": "https://files.ballistica.net/cache/ba1/3d/6d/beee025480e5711ecd52bc5f6b07",
"assets/build/ba_data/textures/sparks.pvr": "https://files.ballistica.net/cache/ba1/39/af/5b9e1081c0973f5e853c11fa06bc",
"assets/build/ba_data/textures/sparks_preview.png": "https://files.ballistica.net/cache/ba1/19/fc/4a53d76b56ea0f0c3d5eaeed93b4",
@@ -2330,11 +2330,11 @@
"assets/build/ba_data/textures/startButton.ktx": "https://files.ballistica.net/cache/ba1/ef/9a/9323a447cb7cf8fa119bbeadbf7c",
"assets/build/ba_data/textures/startButton.pvr": "https://files.ballistica.net/cache/ba1/a8/25/74bd9ee857764fba362a0ecdc9b3",
"assets/build/ba_data/textures/startButton_preview.png": "https://files.ballistica.net/cache/ba1/ba/d5/48858f0b1a1e0e4043762d4b0216",
- "assets/build/ba_data/textures/stepRightUpLevelColor.dds": "https://files.ballistica.net/cache/ba1/58/51/eec340a570c3797198bcd9c7c205",
+ "assets/build/ba_data/textures/stepRightUpLevelColor.dds": "https://files.ballistica.net/cache/ba1/aa/27/277f7741294d367810f01ef150f8",
"assets/build/ba_data/textures/stepRightUpLevelColor.ktx": "https://files.ballistica.net/cache/ba1/6f/35/3380ac50585bce22311666d28782",
"assets/build/ba_data/textures/stepRightUpLevelColor.pvr": "https://files.ballistica.net/cache/ba1/8b/fb/eba3c0faa304123c784c888d0c65",
"assets/build/ba_data/textures/stepRightUpLevelColor_preview.png": "https://files.ballistica.net/cache/ba1/5d/b9/bcdca38ad1d808b541b8008d5555",
- "assets/build/ba_data/textures/stepRightUpPreview.dds": "https://files.ballistica.net/cache/ba1/26/45/d61d7173f3875fb5a8e7a748b2df",
+ "assets/build/ba_data/textures/stepRightUpPreview.dds": "https://files.ballistica.net/cache/ba1/ce/8f/8843ebbc561cf5dd44eb657b797d",
"assets/build/ba_data/textures/stepRightUpPreview.ktx": "https://files.ballistica.net/cache/ba1/bd/75/7b19bfb14c8a73ae9a42156d70f2",
"assets/build/ba_data/textures/stepRightUpPreview.pvr": "https://files.ballistica.net/cache/ba1/fe/44/e09c5a523cb3e8576709256c79a9",
"assets/build/ba_data/textures/stepRightUpPreview_preview.png": "https://files.ballistica.net/cache/ba1/ad/ff/086bca9f87fdc17bae4bd55e904f",
@@ -2357,7 +2357,7 @@
"assets/build/ba_data/textures/superheroColor.dds": "https://files.ballistica.net/cache/ba1/20/22/1e1f70c67cdbf49ce120b454f76a",
"assets/build/ba_data/textures/superheroColor.ktx": "https://files.ballistica.net/cache/ba1/6d/7c/bc6c4f9b237301fefea90f27f9a0",
"assets/build/ba_data/textures/superheroColor.pvr": "https://files.ballistica.net/cache/ba1/48/12/34feeaf8bb9724e3d084b96cda3b",
- "assets/build/ba_data/textures/superheroColorMask.dds": "https://files.ballistica.net/cache/ba1/3b/2f/c7890bc048477e15698c7663b3d4",
+ "assets/build/ba_data/textures/superheroColorMask.dds": "https://files.ballistica.net/cache/ba1/68/a5/b09635c375edc462cf4b102c3236",
"assets/build/ba_data/textures/superheroColorMask.ktx": "https://files.ballistica.net/cache/ba1/a5/19/f7169d492c759f9f3416887df9d5",
"assets/build/ba_data/textures/superheroColorMask.pvr": "https://files.ballistica.net/cache/ba1/39/dc/256d7b9203f90032bbe21cec3a03",
"assets/build/ba_data/textures/superheroColorMask_preview.png": "https://files.ballistica.net/cache/ba1/7d/f0/d05466477b420b25ff7dd881c87b",
@@ -2374,11 +2374,11 @@
"assets/build/ba_data/textures/textClearButton.ktx": "https://files.ballistica.net/cache/ba1/05/60/2ae6636eb10907f2973342229949",
"assets/build/ba_data/textures/textClearButton.pvr": "https://files.ballistica.net/cache/ba1/b1/32/dc45a735786df68c442b16a62a57",
"assets/build/ba_data/textures/textClearButton_preview.png": "https://files.ballistica.net/cache/ba1/12/64/67e74f9e5d77ba1230304ea40497",
- "assets/build/ba_data/textures/thePadLevelColor.dds": "https://files.ballistica.net/cache/ba1/7c/0d/09d84d8de458a7bcc7343b65ab9f",
+ "assets/build/ba_data/textures/thePadLevelColor.dds": "https://files.ballistica.net/cache/ba1/61/17/6fb9d7fef2499c9ef5e3eb7ac928",
"assets/build/ba_data/textures/thePadLevelColor.ktx": "https://files.ballistica.net/cache/ba1/4e/34/bf0d6a8b0e64cf7fef14b1ec9da5",
"assets/build/ba_data/textures/thePadLevelColor.pvr": "https://files.ballistica.net/cache/ba1/27/ad/471ab1086db8d6669040fc48742a",
"assets/build/ba_data/textures/thePadLevelColor_preview.png": "https://files.ballistica.net/cache/ba1/88/1d/42616ff95265cb0d0db6c353a044",
- "assets/build/ba_data/textures/thePadPreview.dds": "https://files.ballistica.net/cache/ba1/cd/ee/a4e2f05ada77eab50013534e46fc",
+ "assets/build/ba_data/textures/thePadPreview.dds": "https://files.ballistica.net/cache/ba1/12/67/c64f2c3a5726712453400859e0f3",
"assets/build/ba_data/textures/thePadPreview.ktx": "https://files.ballistica.net/cache/ba1/5e/11/ff9caf9657a7c439b2e0fab39049",
"assets/build/ba_data/textures/thePadPreview.pvr": "https://files.ballistica.net/cache/ba1/5a/8f/4061a1deafca6ba331738f6c9db8",
"assets/build/ba_data/textures/thePadPreview_preview.png": "https://files.ballistica.net/cache/ba1/94/12/ec4cc8f0378cf62f811122e6faec",
@@ -2402,11 +2402,11 @@
"assets/build/ba_data/textures/ticketsMore.pvr": "https://files.ballistica.net/cache/ba1/59/1a/73c4109d96e85316c2c46ff2c025",
"assets/build/ba_data/textures/ticketsMore_preview.png": "https://files.ballistica.net/cache/ba1/24/01/32ba85edd6394dd56562f64eee09",
"assets/build/ba_data/textures/tickets_preview.png": "https://files.ballistica.net/cache/ba1/90/ce/b693dd116e50d1b0eff488cfdd98",
- "assets/build/ba_data/textures/tipTopBGColor.dds": "https://files.ballistica.net/cache/ba1/ac/31/d9009e21104f4131117610ba03a0",
+ "assets/build/ba_data/textures/tipTopBGColor.dds": "https://files.ballistica.net/cache/ba1/19/bf/258c624e1b3e3e3efabeefe3dd20",
"assets/build/ba_data/textures/tipTopBGColor.ktx": "https://files.ballistica.net/cache/ba1/39/8c/a9f1ba489b23f5d899bb3f9941b1",
"assets/build/ba_data/textures/tipTopBGColor.pvr": "https://files.ballistica.net/cache/ba1/1b/0d/89ecc99bc58aa985f00f7097177a",
"assets/build/ba_data/textures/tipTopBGColor_preview.png": "https://files.ballistica.net/cache/ba1/54/0b/9978639a58e703cece49de6523b7",
- "assets/build/ba_data/textures/tipTopLevelColor.dds": "https://files.ballistica.net/cache/ba1/5f/d8/d29d224f0fcdcbf04ce625945baf",
+ "assets/build/ba_data/textures/tipTopLevelColor.dds": "https://files.ballistica.net/cache/ba1/d9/9d/5887220819a9bceaf547349cc1f3",
"assets/build/ba_data/textures/tipTopLevelColor.ktx": "https://files.ballistica.net/cache/ba1/4f/77/17f60fceaa239805af2bb7a169be",
"assets/build/ba_data/textures/tipTopLevelColor.pvr": "https://files.ballistica.net/cache/ba1/8b/20/240ddac5158fb481ce41c50a86ce",
"assets/build/ba_data/textures/tipTopLevelColor_preview.png": "https://files.ballistica.net/cache/ba1/75/88/019f15db873f836c5651b1b12130",
@@ -2426,15 +2426,15 @@
"assets/build/ba_data/textures/touchArrowsActions.pvr": "https://files.ballistica.net/cache/ba1/74/1b/7642cfb899d1337073b10855d01d",
"assets/build/ba_data/textures/touchArrowsActions_preview.png": "https://files.ballistica.net/cache/ba1/3c/21/1933b01847e20ed77164097aaea5",
"assets/build/ba_data/textures/touchArrows_preview.png": "https://files.ballistica.net/cache/ba1/14/bd/595019a7e3b87bd844f8a60bf04c",
- "assets/build/ba_data/textures/towerDLevelColor.dds": "https://files.ballistica.net/cache/ba1/08/c1/8925800c38503c077829f7b3fa96",
+ "assets/build/ba_data/textures/towerDLevelColor.dds": "https://files.ballistica.net/cache/ba1/8a/1f/997dafb004fe5b2122c66ae66302",
"assets/build/ba_data/textures/towerDLevelColor.ktx": "https://files.ballistica.net/cache/ba1/8d/42/47252953095838210efdf6abc37d",
"assets/build/ba_data/textures/towerDLevelColor.pvr": "https://files.ballistica.net/cache/ba1/9f/18/de2d35f9737871b3a1a914561428",
"assets/build/ba_data/textures/towerDLevelColor_preview.png": "https://files.ballistica.net/cache/ba1/d4/e2/96ed47c7c856cf772a74f7385fab",
- "assets/build/ba_data/textures/towerDPreview.dds": "https://files.ballistica.net/cache/ba1/de/cc/3810b38d96b849375c4d9a416665",
+ "assets/build/ba_data/textures/towerDPreview.dds": "https://files.ballistica.net/cache/ba1/4f/91/7de86add4cdc30060477c93e2aa6",
"assets/build/ba_data/textures/towerDPreview.ktx": "https://files.ballistica.net/cache/ba1/e9/3a/d62eb672f3f26757b59f4d6d9e48",
"assets/build/ba_data/textures/towerDPreview.pvr": "https://files.ballistica.net/cache/ba1/be/40/cc2ad06c0c08a1b937a2165f3bdb",
"assets/build/ba_data/textures/towerDPreview_preview.png": "https://files.ballistica.net/cache/ba1/20/80/2314d36626f44f2ded99773ce267",
- "assets/build/ba_data/textures/treesColor.dds": "https://files.ballistica.net/cache/ba1/ff/c9/f24bda9787c79435fea19b8ff647",
+ "assets/build/ba_data/textures/treesColor.dds": "https://files.ballistica.net/cache/ba1/a9/c6/e78e8aecedb379288c5a2d6e41f0",
"assets/build/ba_data/textures/treesColor.ktx": "https://files.ballistica.net/cache/ba1/e7/19/2b8b0c8cfd26839ebd1d514354b7",
"assets/build/ba_data/textures/treesColor.pvr": "https://files.ballistica.net/cache/ba1/03/b2/159518817084766a2cc464ba0a1b",
"assets/build/ba_data/textures/treesColor_preview.png": "https://files.ballistica.net/cache/ba1/72/2b/7addb4861a6a8cd09748248e4de4",
@@ -2462,14 +2462,14 @@
"assets/build/ba_data/textures/usersButton.ktx": "https://files.ballistica.net/cache/ba1/5b/e6/34fb5d6f905c30b3a2b9aa9e5734",
"assets/build/ba_data/textures/usersButton.pvr": "https://files.ballistica.net/cache/ba1/0a/de/0f45f12e34557fb1141d7a266a0d",
"assets/build/ba_data/textures/usersButton_preview.png": "https://files.ballistica.net/cache/ba1/1a/fc/7d74541cd06ad5db3de119418f81",
- "assets/build/ba_data/textures/vrFillMound.dds": "https://files.ballistica.net/cache/ba1/03/2e/06c7ee248c6adef3fde077f4e4e1",
+ "assets/build/ba_data/textures/vrFillMound.dds": "https://files.ballistica.net/cache/ba1/bc/b3/8e14500bb766cf3639ea003cd9af",
"assets/build/ba_data/textures/vrFillMound.ktx": "https://files.ballistica.net/cache/ba1/5d/1e/e86c34fd33355e21955d3d48bfe6",
"assets/build/ba_data/textures/vrFillMound.pvr": "https://files.ballistica.net/cache/ba1/e8/da/46ed26badb88b6fd10abc37f35f6",
"assets/build/ba_data/textures/vrFillMound_preview.png": "https://files.ballistica.net/cache/ba1/fd/33/4f817cfe06d2f8a04c395a9dc960",
"assets/build/ba_data/textures/warriorColor.dds": "https://files.ballistica.net/cache/ba1/f2/51/d42750c9df1f55f39c134c925c7f",
"assets/build/ba_data/textures/warriorColor.ktx": "https://files.ballistica.net/cache/ba1/e7/72/6f9a3314300c12b5ffd99a4d0000",
"assets/build/ba_data/textures/warriorColor.pvr": "https://files.ballistica.net/cache/ba1/f2/63/d8bf3ba74b47932b4465847ef133",
- "assets/build/ba_data/textures/warriorColorMask.dds": "https://files.ballistica.net/cache/ba1/9f/d5/4787b04a7004e2b830f37cea8f2d",
+ "assets/build/ba_data/textures/warriorColorMask.dds": "https://files.ballistica.net/cache/ba1/e4/4c/e0ccd356704be279c55ad5d7bc68",
"assets/build/ba_data/textures/warriorColorMask.ktx": "https://files.ballistica.net/cache/ba1/d4/22/c8c01a12e9ec10f214659ce9faa4",
"assets/build/ba_data/textures/warriorColorMask.pvr": "https://files.ballistica.net/cache/ba1/17/c5/87586c89935377cb8d4336713094",
"assets/build/ba_data/textures/warriorColorMask_preview.png": "https://files.ballistica.net/cache/ba1/d9/97/16b01e9e4bf3bdc8c57672526158",
@@ -2501,7 +2501,7 @@
"assets/build/ba_data/textures/witchColor.dds": "https://files.ballistica.net/cache/ba1/41/36/4b562ef0323d0b3ad88fea31bec8",
"assets/build/ba_data/textures/witchColor.ktx": "https://files.ballistica.net/cache/ba1/f2/32/d61ee331287b1c4e508a1f6ea317",
"assets/build/ba_data/textures/witchColor.pvr": "https://files.ballistica.net/cache/ba1/e5/f4/1ae61921f42efa27ed72120337a1",
- "assets/build/ba_data/textures/witchColorMask.dds": "https://files.ballistica.net/cache/ba1/39/b4/db14abde641fa3b63447936f2f9b",
+ "assets/build/ba_data/textures/witchColorMask.dds": "https://files.ballistica.net/cache/ba1/85/13/5d498983b93a3b27565525e60e03",
"assets/build/ba_data/textures/witchColorMask.ktx": "https://files.ballistica.net/cache/ba1/e0/23/4fb45223a969626489041af0de9f",
"assets/build/ba_data/textures/witchColorMask.pvr": "https://files.ballistica.net/cache/ba1/ab/d9/d03a2366b07854e7c82cd0e1e443",
"assets/build/ba_data/textures/witchColorMask_preview.png": "https://files.ballistica.net/cache/ba1/49/7f/61faa30b3b091c142c1212a85019",
@@ -2514,18 +2514,18 @@
"assets/build/ba_data/textures/witchIconColorMask.pvr": "https://files.ballistica.net/cache/ba1/2e/76/a2b8bfd7868a47c11b2c5fd1660b",
"assets/build/ba_data/textures/witchIconColorMask_preview.png": "https://files.ballistica.net/cache/ba1/49/bc/8479175256d1e62e607b2c392f2d",
"assets/build/ba_data/textures/witchIcon_preview.png": "https://files.ballistica.net/cache/ba1/5f/96/cb2eb1c3a9fb0240f5748c5c1da5",
- "assets/build/ba_data/textures/wizardColor.dds": "https://files.ballistica.net/cache/ba1/91/1b/af0d8cd18532d766b4b129317ed4",
+ "assets/build/ba_data/textures/wizardColor.dds": "https://files.ballistica.net/cache/ba1/ec/e9/fcbc0fc4d1fc397f8ec5b498337f",
"assets/build/ba_data/textures/wizardColor.ktx": "https://files.ballistica.net/cache/ba1/50/da/d0569142ec7924ca40eccf82a930",
"assets/build/ba_data/textures/wizardColor.pvr": "https://files.ballistica.net/cache/ba1/11/dc/b7f4a083ef2a93d7834b3d841443",
- "assets/build/ba_data/textures/wizardColorMask.dds": "https://files.ballistica.net/cache/ba1/ad/cc/a104746ef03fa4a788e118424fc4",
+ "assets/build/ba_data/textures/wizardColorMask.dds": "https://files.ballistica.net/cache/ba1/b4/32/3d46d2e5920e7530b384d7626617",
"assets/build/ba_data/textures/wizardColorMask.ktx": "https://files.ballistica.net/cache/ba1/0d/0d/80e2b947ebd3dbde1330682f62a4",
"assets/build/ba_data/textures/wizardColorMask.pvr": "https://files.ballistica.net/cache/ba1/5a/7c/9933e396902aca69b786468d1c38",
"assets/build/ba_data/textures/wizardColorMask_preview.png": "https://files.ballistica.net/cache/ba1/44/93/65a9e806485cd757e6a05655916a",
"assets/build/ba_data/textures/wizardColor_preview.png": "https://files.ballistica.net/cache/ba1/cf/3c/3db3b3f5b6dab73f8b8a5353fe1a",
- "assets/build/ba_data/textures/wizardIcon.dds": "https://files.ballistica.net/cache/ba1/0a/79/2ccd8ee9c225bf6a969f8f29d5d9",
+ "assets/build/ba_data/textures/wizardIcon.dds": "https://files.ballistica.net/cache/ba1/e6/2f/74df3fe2e97c960ff1ca64aed588",
"assets/build/ba_data/textures/wizardIcon.ktx": "https://files.ballistica.net/cache/ba1/b9/3d/2c10de406177de22b8e89c9cb3b3",
"assets/build/ba_data/textures/wizardIcon.pvr": "https://files.ballistica.net/cache/ba1/e3/c0/7d62f35ec06d5c4442a92b175cc0",
- "assets/build/ba_data/textures/wizardIconColorMask.dds": "https://files.ballistica.net/cache/ba1/f1/aa/65c24f94a227616f5ef7d1f77bb8",
+ "assets/build/ba_data/textures/wizardIconColorMask.dds": "https://files.ballistica.net/cache/ba1/b5/16/7f556e4b852a94400388b4c96db4",
"assets/build/ba_data/textures/wizardIconColorMask.ktx": "https://files.ballistica.net/cache/ba1/91/17/307bfa8af7dc435aa92dd38158f6",
"assets/build/ba_data/textures/wizardIconColorMask.pvr": "https://files.ballistica.net/cache/ba1/3e/31/19cb4995ec02f1884bd35b29a464",
"assets/build/ba_data/textures/wizardIconColorMask_preview.png": "https://files.ballistica.net/cache/ba1/20/24/700221546a08f3bc9c31e751ebcc",
@@ -2533,7 +2533,7 @@
"assets/build/ba_data/textures/wrestlerColor.dds": "https://files.ballistica.net/cache/ba1/1f/d5/d21adac8982ad713b0bbdbb7ee6c",
"assets/build/ba_data/textures/wrestlerColor.ktx": "https://files.ballistica.net/cache/ba1/d7/22/bf15886b227531620eec6462be2d",
"assets/build/ba_data/textures/wrestlerColor.pvr": "https://files.ballistica.net/cache/ba1/ab/76/9f573919ed6b9e635f4a014584ba",
- "assets/build/ba_data/textures/wrestlerColorMask.dds": "https://files.ballistica.net/cache/ba1/9f/98/98d3c41b83875f850abc3b2c31df",
+ "assets/build/ba_data/textures/wrestlerColorMask.dds": "https://files.ballistica.net/cache/ba1/fb/a5/472ae89a40a52d189c9337c179fa",
"assets/build/ba_data/textures/wrestlerColorMask.ktx": "https://files.ballistica.net/cache/ba1/21/1f/eebe5e1fe740412aad15026d21b5",
"assets/build/ba_data/textures/wrestlerColorMask.pvr": "https://files.ballistica.net/cache/ba1/36/43/ef6da6107379ac3f74204a34c529",
"assets/build/ba_data/textures/wrestlerColorMask_preview.png": "https://files.ballistica.net/cache/ba1/0c/5f/8619903636053dc0ff1858bf3451",
@@ -2546,26 +2546,26 @@
"assets/build/ba_data/textures/wrestlerIconColorMask.pvr": "https://files.ballistica.net/cache/ba1/7b/5d/83a1a0f4d7b06303d5da137e5847",
"assets/build/ba_data/textures/wrestlerIconColorMask_preview.png": "https://files.ballistica.net/cache/ba1/b5/74/774b56f03e583df47388c552c63e",
"assets/build/ba_data/textures/wrestlerIcon_preview.png": "https://files.ballistica.net/cache/ba1/38/71/8b5f4d69dde24101ce0d69747486",
- "assets/build/ba_data/textures/zigZagLevelColor.dds": "https://files.ballistica.net/cache/ba1/ea/cf/a59f7ca3b2f0d7a08e3ad42d83ab",
+ "assets/build/ba_data/textures/zigZagLevelColor.dds": "https://files.ballistica.net/cache/ba1/df/17/9994816ad67f481800bae16f2db2",
"assets/build/ba_data/textures/zigZagLevelColor.ktx": "https://files.ballistica.net/cache/ba1/c1/1e/82884d1423ce4a7d641003e84bfb",
"assets/build/ba_data/textures/zigZagLevelColor.pvr": "https://files.ballistica.net/cache/ba1/56/df/c53d264147677138e47799ea990e",
"assets/build/ba_data/textures/zigZagLevelColor_preview.png": "https://files.ballistica.net/cache/ba1/cd/d7/b45e95db0117c4fe5d957136b4bb",
- "assets/build/ba_data/textures/zigzagPreview.dds": "https://files.ballistica.net/cache/ba1/00/3b/3a7f2ab4aed12f4d911e94093002",
+ "assets/build/ba_data/textures/zigzagPreview.dds": "https://files.ballistica.net/cache/ba1/6c/13/64e4a3570343f8a8965b8c6bb318",
"assets/build/ba_data/textures/zigzagPreview.ktx": "https://files.ballistica.net/cache/ba1/33/ca/b022d38b1306d8382c2ecdb270b9",
"assets/build/ba_data/textures/zigzagPreview.pvr": "https://files.ballistica.net/cache/ba1/0e/21/4f296b4440f8467c904221d18400",
"assets/build/ba_data/textures/zigzagPreview_preview.png": "https://files.ballistica.net/cache/ba1/f4/32/1f69e507893d054aca0371c31248",
- "assets/build/ba_data/textures/zoeColor.dds": "https://files.ballistica.net/cache/ba1/82/6e/c531db13a3eff5a2e37c32af79c1",
+ "assets/build/ba_data/textures/zoeColor.dds": "https://files.ballistica.net/cache/ba1/05/e4/93016a653b2bb3433138594c9c0e",
"assets/build/ba_data/textures/zoeColor.ktx": "https://files.ballistica.net/cache/ba1/8d/80/906fb08660e1fcde3f5997108abf",
"assets/build/ba_data/textures/zoeColor.pvr": "https://files.ballistica.net/cache/ba1/4a/74/8ca47effb87502b7334398e967be",
- "assets/build/ba_data/textures/zoeColorMask.dds": "https://files.ballistica.net/cache/ba1/eb/a5/a71bc5739b02d7101dbd29e6b81b",
+ "assets/build/ba_data/textures/zoeColorMask.dds": "https://files.ballistica.net/cache/ba1/b6/06/e4086e65b697d7de1c8864f49029",
"assets/build/ba_data/textures/zoeColorMask.ktx": "https://files.ballistica.net/cache/ba1/b9/32/91c389da7403df50125cddc37575",
"assets/build/ba_data/textures/zoeColorMask.pvr": "https://files.ballistica.net/cache/ba1/f4/6a/4cbdbcf47abdb7f8fdc8d283451e",
"assets/build/ba_data/textures/zoeColorMask_preview.png": "https://files.ballistica.net/cache/ba1/ca/0e/66481610316607e9adcb456467d1",
"assets/build/ba_data/textures/zoeColor_preview.png": "https://files.ballistica.net/cache/ba1/3b/3e/91abd548d271a97df63b327a1f82",
- "assets/build/ba_data/textures/zoeIcon.dds": "https://files.ballistica.net/cache/ba1/23/d4/d1b9a5a9fd790beb494b823f7a35",
+ "assets/build/ba_data/textures/zoeIcon.dds": "https://files.ballistica.net/cache/ba1/da/63/063fc70b4a22b7a0f32ca8e9f8b4",
"assets/build/ba_data/textures/zoeIcon.ktx": "https://files.ballistica.net/cache/ba1/fd/75/88d1a4355980906272cf904bd722",
"assets/build/ba_data/textures/zoeIcon.pvr": "https://files.ballistica.net/cache/ba1/7c/66/7959cdfaa884068bdb11db1ef330",
- "assets/build/ba_data/textures/zoeIconColorMask.dds": "https://files.ballistica.net/cache/ba1/0b/61/f5e3848c72b5359e129ed7fd9ee0",
+ "assets/build/ba_data/textures/zoeIconColorMask.dds": "https://files.ballistica.net/cache/ba1/75/06/c186a1ad6e54ba6d8862b23c2136",
"assets/build/ba_data/textures/zoeIconColorMask.ktx": "https://files.ballistica.net/cache/ba1/bd/eb/deb5899cffa81a665248e3062363",
"assets/build/ba_data/textures/zoeIconColorMask.pvr": "https://files.ballistica.net/cache/ba1/2b/dc/22df1ef245a7f368060d2eecb839",
"assets/build/ba_data/textures/zoeIconColorMask_preview.png": "https://files.ballistica.net/cache/ba1/d5/08/7d5e28abf51591fb4923892f43dd",
@@ -3992,50 +3992,50 @@
"assets/src/ba_data/python/ba/_generated/__init__.py": "https://files.ballistica.net/cache/ba1/ee/e8/cad05aa531c7faf7ff7b96db7f6e",
"assets/src/ba_data/python/ba/_generated/enums.py": "https://files.ballistica.net/cache/ba1/b2/e5/0ee0561e16257a32830645239f34",
"ballisticacore-windows/Generic/BallisticaCore.ico": "https://files.ballistica.net/cache/ba1/89/c0/e32c7d2a35dc9aef57cc73b0911a",
- "build/prefab/full/linux_arm64_gui/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/91/42/40d3d68a023907931bd0607bda85",
- "build/prefab/full/linux_arm64_gui/release/ballisticacore": "https://files.ballistica.net/cache/ba1/32/63/c4e986eabc1ea23c5c1cdd6461ab",
- "build/prefab/full/linux_arm64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/7d/ae/75e71403860e67cbc3b0facf0667",
- "build/prefab/full/linux_arm64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/ee/37/67886cc96bb5685d74c25dfd1861",
- "build/prefab/full/linux_x86_64_gui/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/c5/ab/3bf790e91bb62f0813eb36068b23",
- "build/prefab/full/linux_x86_64_gui/release/ballisticacore": "https://files.ballistica.net/cache/ba1/42/a2/912b3d7c1c3dd5962c21c6308707",
- "build/prefab/full/linux_x86_64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/7b/a5/5312559793a768b3112145f921cd",
- "build/prefab/full/linux_x86_64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/9e/dc/6b4b77c9719790a1b7b13613bcb7",
- "build/prefab/full/mac_arm64_gui/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/a8/3b/21a81d94f9fdcb14c6ebc965e1bb",
- "build/prefab/full/mac_arm64_gui/release/ballisticacore": "https://files.ballistica.net/cache/ba1/a0/17/837cd62e5cc754326483feeee145",
- "build/prefab/full/mac_arm64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/34/34/8c88b65847fcaf0ee784f7e4d3fc",
- "build/prefab/full/mac_arm64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/f6/e1/af0184b03b3ce6277f08d6f96a96",
- "build/prefab/full/mac_x86_64_gui/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/7e/f2/8d3b9bae2bfd0cd7d58162861d14",
- "build/prefab/full/mac_x86_64_gui/release/ballisticacore": "https://files.ballistica.net/cache/ba1/06/32/361440b616c5af4edc44ed059d92",
- "build/prefab/full/mac_x86_64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/9e/b3/7431daff15c5f777e9bf5be8fe3d",
- "build/prefab/full/mac_x86_64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/74/0e/e3f9c2c7c8762e1e1b0b78b04233",
- "build/prefab/full/windows_x86_gui/debug/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/3c/9f/ce3edd8f8a9d08dead66dd251bcf",
- "build/prefab/full/windows_x86_gui/release/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/3d/58/7c91da27a573425a1ff759866502",
- "build/prefab/full/windows_x86_server/debug/dist/BallisticaCoreHeadless.exe": "https://files.ballistica.net/cache/ba1/fd/39/93180659dab22ad061c9881f1132",
- "build/prefab/full/windows_x86_server/release/dist/BallisticaCoreHeadless.exe": "https://files.ballistica.net/cache/ba1/bb/43/92b705d488ea4a60b7062bc5f0cb",
- "build/prefab/lib/linux_arm64_gui/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/6d/55/43cb804fe2b6b591e8c4713a1f4f",
- "build/prefab/lib/linux_arm64_gui/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/fe/61/9eaaa15072167c2928db497e8d36",
- "build/prefab/lib/linux_arm64_server/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/99/f1/ac4818ad69cfe75f7091ee08231b",
- "build/prefab/lib/linux_arm64_server/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/19/93/20ef44fccd2fbec462e75eaebb94",
- "build/prefab/lib/linux_x86_64_gui/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/f5/21/0b5914e203834307064814157891",
- "build/prefab/lib/linux_x86_64_gui/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/9b/ec/39c43dc87aa884935ebd41c51a65",
- "build/prefab/lib/linux_x86_64_server/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/0f/47/7cdadc48b80922a35fef02954f55",
- "build/prefab/lib/linux_x86_64_server/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/b5/1a/9237a45253d7fb78caa61dda705d",
- "build/prefab/lib/mac_arm64_gui/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/76/67/9e81120039eaa5dd2fdea8158920",
- "build/prefab/lib/mac_arm64_gui/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/9c/f0/b700bcf9f82f3569ff65cec8195c",
- "build/prefab/lib/mac_arm64_server/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/83/b6/5e554b5077bd5fe5f539250c11e9",
- "build/prefab/lib/mac_arm64_server/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/04/24/505ea85abe32bb75db13d76d7b0d",
- "build/prefab/lib/mac_x86_64_gui/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/52/b6/f0ef528479230a231ad44afd0644",
- "build/prefab/lib/mac_x86_64_gui/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/8b/4a/df2e8786ef7c5594d57bdd50f753",
- "build/prefab/lib/mac_x86_64_server/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/27/a2/2b5dc6f6be53b109294ce735f59f",
- "build/prefab/lib/mac_x86_64_server/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/87/e1/2d4766493963104e82f0eaa2b5e9",
- "build/prefab/lib/windows/Debug_Win32/BallisticaCoreGenericInternal.lib": "https://files.ballistica.net/cache/ba1/2d/e3/c2b5c1268c972b9de6c0c61619dd",
- "build/prefab/lib/windows/Debug_Win32/BallisticaCoreGenericInternal.pdb": "https://files.ballistica.net/cache/ba1/e2/c3/a14f3d7f26b44e17dc86be06bb2c",
- "build/prefab/lib/windows/Debug_Win32/BallisticaCoreHeadlessInternal.lib": "https://files.ballistica.net/cache/ba1/78/15/9e17e9a4b29c1a41276a958f369f",
- "build/prefab/lib/windows/Debug_Win32/BallisticaCoreHeadlessInternal.pdb": "https://files.ballistica.net/cache/ba1/52/b5/9a129b8efd0596b6d610a6ae8cf4",
- "build/prefab/lib/windows/Release_Win32/BallisticaCoreGenericInternal.lib": "https://files.ballistica.net/cache/ba1/81/07/bee5edbf61365c47a62c002e54bc",
- "build/prefab/lib/windows/Release_Win32/BallisticaCoreGenericInternal.pdb": "https://files.ballistica.net/cache/ba1/1a/3b/7303e08773e9ab5beaadd8524d32",
- "build/prefab/lib/windows/Release_Win32/BallisticaCoreHeadlessInternal.lib": "https://files.ballistica.net/cache/ba1/72/a0/3f4d952782ea386ff85c6f5c8001",
- "build/prefab/lib/windows/Release_Win32/BallisticaCoreHeadlessInternal.pdb": "https://files.ballistica.net/cache/ba1/f4/56/d9e62b10d6c64e7c539505ed6c43",
+ "build/prefab/full/linux_arm64_gui/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/1a/39/acfbc22a3b5c42fc8d7041c39d69",
+ "build/prefab/full/linux_arm64_gui/release/ballisticacore": "https://files.ballistica.net/cache/ba1/32/13/b2fb8f259bbd899789108036bae9",
+ "build/prefab/full/linux_arm64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/c0/82/b986c8348b474e3299d4aac7bc32",
+ "build/prefab/full/linux_arm64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/48/39/3978b186f6db8e0fd01c250868b7",
+ "build/prefab/full/linux_x86_64_gui/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/4f/1e/17ffb859868e36203dc9286a4434",
+ "build/prefab/full/linux_x86_64_gui/release/ballisticacore": "https://files.ballistica.net/cache/ba1/77/77/6671c0637457b48041711daf27da",
+ "build/prefab/full/linux_x86_64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/18/82/776af0c81fb17839b7b8bc264012",
+ "build/prefab/full/linux_x86_64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/1c/cf/75b00bce2ce670a5c95af086d9a0",
+ "build/prefab/full/mac_arm64_gui/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/b3/d3/4c0fc4960a1fd06fc0f86f6d5777",
+ "build/prefab/full/mac_arm64_gui/release/ballisticacore": "https://files.ballistica.net/cache/ba1/9b/5f/904c100c7c5646c7331cb26b8db6",
+ "build/prefab/full/mac_arm64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/86/4f/087dedb270ea874623e3da1a7c3e",
+ "build/prefab/full/mac_arm64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/5c/ea/0f158f114b2b3d0a534aebfeaebf",
+ "build/prefab/full/mac_x86_64_gui/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/ba/c2/b590f6860f465fa2a9803204124c",
+ "build/prefab/full/mac_x86_64_gui/release/ballisticacore": "https://files.ballistica.net/cache/ba1/72/4a/de64093c85f32f5dbba5389da90c",
+ "build/prefab/full/mac_x86_64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/73/4c/5aa3525b583998c2e0f4f8493c94",
+ "build/prefab/full/mac_x86_64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/7c/39/05b1d3873ca9f1d6a7b904732630",
+ "build/prefab/full/windows_x86_gui/debug/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/a0/28/15fff103cb8ee86ce62c9d09c12c",
+ "build/prefab/full/windows_x86_gui/release/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/fb/bc/0279767aab40958a8912d18d924b",
+ "build/prefab/full/windows_x86_server/debug/dist/BallisticaCoreHeadless.exe": "https://files.ballistica.net/cache/ba1/60/8b/9bd45d3d3ecb9430d9f4e54f061c",
+ "build/prefab/full/windows_x86_server/release/dist/BallisticaCoreHeadless.exe": "https://files.ballistica.net/cache/ba1/ad/13/a9aa8f24b210a75ee22f4db0c386",
+ "build/prefab/lib/linux_arm64_gui/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/95/cf/7c343cd320548f535b75b5993275",
+ "build/prefab/lib/linux_arm64_gui/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/a5/ee/8c89b68c2b26464768335e4c3361",
+ "build/prefab/lib/linux_arm64_server/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/18/93/76a49888f17ea1677b9b49244416",
+ "build/prefab/lib/linux_arm64_server/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/35/1a/0f4d7ba4b2ef0ef560561e5bf12e",
+ "build/prefab/lib/linux_x86_64_gui/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/e1/c4/0779774d7bfd3785a6a72f5ad9b3",
+ "build/prefab/lib/linux_x86_64_gui/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/ef/56/16ef6ac991d22b2b7a4e84d9d63f",
+ "build/prefab/lib/linux_x86_64_server/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/2c/de/bc6f000b410cec07e221381a7a08",
+ "build/prefab/lib/linux_x86_64_server/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/b7/25/5e4c27c79a9d7d5ed115a7d9e522",
+ "build/prefab/lib/mac_arm64_gui/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/3e/a7/906d0c23c59e5088524a61589e9e",
+ "build/prefab/lib/mac_arm64_gui/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/d4/c7/5e17ad8698cb25751509b038f23f",
+ "build/prefab/lib/mac_arm64_server/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/f1/fb/7d8fcfeb8c28a7f8c83599433fd8",
+ "build/prefab/lib/mac_arm64_server/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/7e/4a/b22dbbc69a1d7f707ecbad6eb3a0",
+ "build/prefab/lib/mac_x86_64_gui/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/20/13/9bb2efeb5925d0c8e981076a149f",
+ "build/prefab/lib/mac_x86_64_gui/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/ae/bb/4a015a49120e908a6d17f302d0d8",
+ "build/prefab/lib/mac_x86_64_server/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/e2/ff/1b0c530cbba73a0ea895a56626b6",
+ "build/prefab/lib/mac_x86_64_server/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/9c/8e/53fdfaf4f5113970e2aefcb6a06e",
+ "build/prefab/lib/windows/Debug_Win32/BallisticaCoreGenericInternal.lib": "https://files.ballistica.net/cache/ba1/91/30/b88dfadbd2c03ee3324ee331120c",
+ "build/prefab/lib/windows/Debug_Win32/BallisticaCoreGenericInternal.pdb": "https://files.ballistica.net/cache/ba1/6a/5f/d9c21a29c24bae4fe234eec09981",
+ "build/prefab/lib/windows/Debug_Win32/BallisticaCoreHeadlessInternal.lib": "https://files.ballistica.net/cache/ba1/4a/1c/df6e06fdf2028fa206c7dce2e405",
+ "build/prefab/lib/windows/Debug_Win32/BallisticaCoreHeadlessInternal.pdb": "https://files.ballistica.net/cache/ba1/8f/b9/054894bdc040b2b2013c1cbc31ab",
+ "build/prefab/lib/windows/Release_Win32/BallisticaCoreGenericInternal.lib": "https://files.ballistica.net/cache/ba1/e3/d6/6724c587d81bfd4ebbea313a5388",
+ "build/prefab/lib/windows/Release_Win32/BallisticaCoreGenericInternal.pdb": "https://files.ballistica.net/cache/ba1/e4/6b/7ddca5ca6ba5ac1a59c7e193ceb5",
+ "build/prefab/lib/windows/Release_Win32/BallisticaCoreHeadlessInternal.lib": "https://files.ballistica.net/cache/ba1/53/ac/0f8c81b9f6ee4d2006bd3096b355",
+ "build/prefab/lib/windows/Release_Win32/BallisticaCoreHeadlessInternal.pdb": "https://files.ballistica.net/cache/ba1/57/56/31132df71eecafd491785a791d88",
"src/ballistica/generated/python_embedded/binding.inc": "https://files.ballistica.net/cache/ba1/6e/6f/004b696e9a13b083069374e4bb6a",
"src/ballistica/generated/python_embedded/bootstrap.inc": "https://files.ballistica.net/cache/ba1/d3/db/e73d4dcf1280d5f677c3cf8b47c3"
}
\ No newline at end of file
diff --git a/.idea/dictionaries/ericf.xml b/.idea/dictionaries/ericf.xml
index 34da2077..fdd708f3 100644
--- a/.idea/dictionaries/ericf.xml
+++ b/.idea/dictionaries/ericf.xml
@@ -2153,6 +2153,7 @@
sbwht
sbylw
sbytes
+ scanresults
scenefile
scenefiles
scenename
@@ -2567,6 +2568,7 @@
totalwaves
totype
touchpad
+ tournamentbutton
tournamententry
tournamentscores
tpartial
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 593d8ea3..833ddb9b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,6 @@
-### 1.7.4 (20637, 2022-07-07)
+### 1.7.4 (20638, 2022-07-07)
- Fixed the trophies list showing an incorrect total (Thanks itsre3!)
+- ba.app.meta.metascan is now ba.app.meta.scanresults
### 1.7.3 (20634, 2022-07-06)
- Fixed an issue with King of the Hill flag regions not working when players entered them (Thanks itsre3!)
diff --git a/assets/.asset_manifest_public.json b/assets/.asset_manifest_public.json
index 1a14f289..306022cc 100644
--- a/assets/.asset_manifest_public.json
+++ b/assets/.asset_manifest_public.json
@@ -374,9 +374,11 @@
"ba_data/python/bastd/ui/coop/__pycache__/browser.cpython-310.opt-1.pyc",
"ba_data/python/bastd/ui/coop/__pycache__/gamebutton.cpython-310.opt-1.pyc",
"ba_data/python/bastd/ui/coop/__pycache__/level.cpython-310.opt-1.pyc",
+ "ba_data/python/bastd/ui/coop/__pycache__/tournamentbutton.cpython-310.opt-1.pyc",
"ba_data/python/bastd/ui/coop/browser.py",
"ba_data/python/bastd/ui/coop/gamebutton.py",
"ba_data/python/bastd/ui/coop/level.py",
+ "ba_data/python/bastd/ui/coop/tournamentbutton.py",
"ba_data/python/bastd/ui/creditslist.py",
"ba_data/python/bastd/ui/debug.py",
"ba_data/python/bastd/ui/feedback.py",
diff --git a/assets/Makefile b/assets/Makefile
index 1a0f7880..b24095fd 100644
--- a/assets/Makefile
+++ b/assets/Makefile
@@ -298,6 +298,7 @@ SCRIPT_TARGETS_PY_PUBLIC = \
build/ba_data/python/bastd/ui/coop/browser.py \
build/ba_data/python/bastd/ui/coop/gamebutton.py \
build/ba_data/python/bastd/ui/coop/level.py \
+ build/ba_data/python/bastd/ui/coop/tournamentbutton.py \
build/ba_data/python/bastd/ui/creditslist.py \
build/ba_data/python/bastd/ui/debug.py \
build/ba_data/python/bastd/ui/feedback.py \
@@ -546,6 +547,7 @@ SCRIPT_TARGETS_PYC_PUBLIC = \
build/ba_data/python/bastd/ui/coop/__pycache__/browser.cpython-310.opt-1.pyc \
build/ba_data/python/bastd/ui/coop/__pycache__/gamebutton.cpython-310.opt-1.pyc \
build/ba_data/python/bastd/ui/coop/__pycache__/level.cpython-310.opt-1.pyc \
+ build/ba_data/python/bastd/ui/coop/__pycache__/tournamentbutton.cpython-310.opt-1.pyc \
build/ba_data/python/bastd/ui/__pycache__/creditslist.cpython-310.opt-1.pyc \
build/ba_data/python/bastd/ui/__pycache__/debug.cpython-310.opt-1.pyc \
build/ba_data/python/bastd/ui/__pycache__/feedback.cpython-310.opt-1.pyc \
diff --git a/assets/src/ba_data/python/ba/_campaign.py b/assets/src/ba_data/python/ba/_campaign.py
index 915fc4cd..fff28fe2 100644
--- a/assets/src/ba_data/python/ba/_campaign.py
+++ b/assets/src/ba_data/python/ba/_campaign.py
@@ -28,10 +28,16 @@ class Campaign:
Category: **App Classes**
"""
- def __init__(self, name: str, sequential: bool = True):
+ def __init__(self,
+ name: str,
+ sequential: bool = True,
+ levels: list[ba.Level] | None = None):
self._name = name
- self._levels: list[ba.Level] = []
self._sequential = sequential
+ self._levels: list[ba.Level] = []
+ if levels is not None:
+ for level in levels:
+ self.addlevel(level)
@property
def name(self) -> str:
@@ -91,9 +97,8 @@ class Campaign:
def init_campaigns() -> None:
"""Fill out initial default Campaigns."""
- # pylint: disable=too-many-statements
# pylint: disable=cyclic-import
- from ba import _level
+ from ba._level import Level
from bastd.game.onslaught import OnslaughtGame
from bastd.game.football import FootballCoopGame
from bastd.game.runaround import RunaroundGame
@@ -109,244 +114,218 @@ def init_campaigns() -> None:
# FIXME: Once translations catch up, we can convert these to use the
# generic display-name '${GAME} Training' type stuff.
- campaign = Campaign('Easy')
- campaign.addlevel(
- _level.Level('Onslaught Training',
- gametype=OnslaughtGame,
- settings={'preset': 'training_easy'},
- preview_texture_name='doomShroomPreview'))
- campaign.addlevel(
- _level.Level('Rookie Onslaught',
- gametype=OnslaughtGame,
- settings={'preset': 'rookie_easy'},
- preview_texture_name='courtyardPreview'))
- campaign.addlevel(
- _level.Level('Rookie Football',
- gametype=FootballCoopGame,
- settings={'preset': 'rookie_easy'},
- preview_texture_name='footballStadiumPreview'))
- campaign.addlevel(
- _level.Level('Pro Onslaught',
- gametype=OnslaughtGame,
- settings={'preset': 'pro_easy'},
- preview_texture_name='doomShroomPreview'))
- campaign.addlevel(
- _level.Level('Pro Football',
- gametype=FootballCoopGame,
- settings={'preset': 'pro_easy'},
- preview_texture_name='footballStadiumPreview'))
- campaign.addlevel(
- _level.Level('Pro Runaround',
- gametype=RunaroundGame,
- settings={'preset': 'pro_easy'},
- preview_texture_name='towerDPreview'))
- campaign.addlevel(
- _level.Level('Uber Onslaught',
- gametype=OnslaughtGame,
- settings={'preset': 'uber_easy'},
- preview_texture_name='courtyardPreview'))
- campaign.addlevel(
- _level.Level('Uber Football',
- gametype=FootballCoopGame,
- settings={'preset': 'uber_easy'},
- preview_texture_name='footballStadiumPreview'))
- campaign.addlevel(
- _level.Level('Uber Runaround',
- gametype=RunaroundGame,
- settings={'preset': 'uber_easy'},
- preview_texture_name='towerDPreview'))
- register_campaign(campaign)
+ register_campaign(
+ Campaign(
+ 'Easy',
+ levels=[
+ Level('Onslaught Training',
+ gametype=OnslaughtGame,
+ settings={'preset': 'training_easy'},
+ preview_texture_name='doomShroomPreview'),
+ Level('Rookie Onslaught',
+ gametype=OnslaughtGame,
+ settings={'preset': 'rookie_easy'},
+ preview_texture_name='courtyardPreview'),
+ Level('Rookie Football',
+ gametype=FootballCoopGame,
+ settings={'preset': 'rookie_easy'},
+ preview_texture_name='footballStadiumPreview'),
+ Level('Pro Onslaught',
+ gametype=OnslaughtGame,
+ settings={'preset': 'pro_easy'},
+ preview_texture_name='doomShroomPreview'),
+ Level('Pro Football',
+ gametype=FootballCoopGame,
+ settings={'preset': 'pro_easy'},
+ preview_texture_name='footballStadiumPreview'),
+ Level('Pro Runaround',
+ gametype=RunaroundGame,
+ settings={'preset': 'pro_easy'},
+ preview_texture_name='towerDPreview'),
+ Level('Uber Onslaught',
+ gametype=OnslaughtGame,
+ settings={'preset': 'uber_easy'},
+ preview_texture_name='courtyardPreview'),
+ Level('Uber Football',
+ gametype=FootballCoopGame,
+ settings={'preset': 'uber_easy'},
+ preview_texture_name='footballStadiumPreview'),
+ Level('Uber Runaround',
+ gametype=RunaroundGame,
+ settings={'preset': 'uber_easy'},
+ preview_texture_name='towerDPreview')
+ ],
+ ))
# "hard" mode
- campaign = Campaign('Default')
- campaign.addlevel(
- _level.Level('Onslaught Training',
- gametype=OnslaughtGame,
- settings={'preset': 'training'},
- preview_texture_name='doomShroomPreview'))
- campaign.addlevel(
- _level.Level('Rookie Onslaught',
- gametype=OnslaughtGame,
- settings={'preset': 'rookie'},
- preview_texture_name='courtyardPreview'))
- campaign.addlevel(
- _level.Level('Rookie Football',
- gametype=FootballCoopGame,
- settings={'preset': 'rookie'},
- preview_texture_name='footballStadiumPreview'))
- campaign.addlevel(
- _level.Level('Pro Onslaught',
- gametype=OnslaughtGame,
- settings={'preset': 'pro'},
- preview_texture_name='doomShroomPreview'))
- campaign.addlevel(
- _level.Level('Pro Football',
- gametype=FootballCoopGame,
- settings={'preset': 'pro'},
- preview_texture_name='footballStadiumPreview'))
- campaign.addlevel(
- _level.Level('Pro Runaround',
- gametype=RunaroundGame,
- settings={'preset': 'pro'},
- preview_texture_name='towerDPreview'))
- campaign.addlevel(
- _level.Level('Uber Onslaught',
- gametype=OnslaughtGame,
- settings={'preset': 'uber'},
- preview_texture_name='courtyardPreview'))
- campaign.addlevel(
- _level.Level('Uber Football',
- gametype=FootballCoopGame,
- settings={'preset': 'uber'},
- preview_texture_name='footballStadiumPreview'))
- campaign.addlevel(
- _level.Level('Uber Runaround',
- gametype=RunaroundGame,
- settings={'preset': 'uber'},
- preview_texture_name='towerDPreview'))
- campaign.addlevel(
- _level.Level('The Last Stand',
- gametype=TheLastStandGame,
- settings={},
- preview_texture_name='rampagePreview'))
- register_campaign(campaign)
+ register_campaign(
+ Campaign(
+ 'Default',
+ levels=[
+ Level('Onslaught Training',
+ gametype=OnslaughtGame,
+ settings={'preset': 'training'},
+ preview_texture_name='doomShroomPreview'),
+ Level('Rookie Onslaught',
+ gametype=OnslaughtGame,
+ settings={'preset': 'rookie'},
+ preview_texture_name='courtyardPreview'),
+ Level('Rookie Football',
+ gametype=FootballCoopGame,
+ settings={'preset': 'rookie'},
+ preview_texture_name='footballStadiumPreview'),
+ Level('Pro Onslaught',
+ gametype=OnslaughtGame,
+ settings={'preset': 'pro'},
+ preview_texture_name='doomShroomPreview'),
+ Level('Pro Football',
+ gametype=FootballCoopGame,
+ settings={'preset': 'pro'},
+ preview_texture_name='footballStadiumPreview'),
+ Level('Pro Runaround',
+ gametype=RunaroundGame,
+ settings={'preset': 'pro'},
+ preview_texture_name='towerDPreview'),
+ Level('Uber Onslaught',
+ gametype=OnslaughtGame,
+ settings={'preset': 'uber'},
+ preview_texture_name='courtyardPreview'),
+ Level('Uber Football',
+ gametype=FootballCoopGame,
+ settings={'preset': 'uber'},
+ preview_texture_name='footballStadiumPreview'),
+ Level('Uber Runaround',
+ gametype=RunaroundGame,
+ settings={'preset': 'uber'},
+ preview_texture_name='towerDPreview'),
+ Level('The Last Stand',
+ gametype=TheLastStandGame,
+ settings={},
+ preview_texture_name='rampagePreview')
+ ],
+ ))
# challenges: our 'official' random extra co-op levels
- campaign = Campaign('Challenges', sequential=False)
- campaign.addlevel(
- _level.Level('Infinite Onslaught',
- gametype=OnslaughtGame,
- settings={'preset': 'endless'},
- preview_texture_name='doomShroomPreview'))
- campaign.addlevel(
- _level.Level('Infinite Runaround',
- gametype=RunaroundGame,
- settings={'preset': 'endless'},
- preview_texture_name='towerDPreview'))
- campaign.addlevel(
- _level.Level('Race',
- displayname='${GAME}',
- gametype=RaceGame,
- settings={
- 'map': 'Big G',
- 'Laps': 3,
- 'Bomb Spawning': 0
- },
- preview_texture_name='bigGPreview'))
- campaign.addlevel(
- _level.Level('Pro Race',
- displayname='Pro ${GAME}',
- gametype=RaceGame,
- settings={
- 'map': 'Big G',
- 'Laps': 3,
- 'Bomb Spawning': 1000
- },
- preview_texture_name='bigGPreview'))
- campaign.addlevel(
- _level.Level('Lake Frigid Race',
- displayname='${GAME}',
- gametype=RaceGame,
- settings={
- 'map': 'Lake Frigid',
- 'Laps': 6,
- 'Mine Spawning': 2000,
- 'Bomb Spawning': 0
- },
- preview_texture_name='lakeFrigidPreview'))
- campaign.addlevel(
- _level.Level('Football',
- displayname='${GAME}',
- gametype=FootballCoopGame,
- settings={'preset': 'tournament'},
- preview_texture_name='footballStadiumPreview'))
- campaign.addlevel(
- _level.Level('Pro Football',
- displayname='Pro ${GAME}',
- gametype=FootballCoopGame,
- settings={'preset': 'tournament_pro'},
- preview_texture_name='footballStadiumPreview'))
- campaign.addlevel(
- _level.Level('Runaround',
- displayname='${GAME}',
- gametype=RunaroundGame,
- settings={'preset': 'tournament'},
- preview_texture_name='towerDPreview'))
- campaign.addlevel(
- _level.Level('Uber Runaround',
- displayname='Uber ${GAME}',
- gametype=RunaroundGame,
- settings={'preset': 'tournament_uber'},
- preview_texture_name='towerDPreview'))
- campaign.addlevel(
- _level.Level('The Last Stand',
- displayname='${GAME}',
- gametype=TheLastStandGame,
- settings={'preset': 'tournament'},
- preview_texture_name='rampagePreview'))
- campaign.addlevel(
- _level.Level('Tournament Infinite Onslaught',
- displayname='Infinite Onslaught',
- gametype=OnslaughtGame,
- settings={'preset': 'endless_tournament'},
- preview_texture_name='doomShroomPreview'))
- campaign.addlevel(
- _level.Level('Tournament Infinite Runaround',
- displayname='Infinite Runaround',
- gametype=RunaroundGame,
- settings={'preset': 'endless_tournament'},
- preview_texture_name='towerDPreview'))
- campaign.addlevel(
- _level.Level('Target Practice',
- displayname='Pro ${GAME}',
- gametype=TargetPracticeGame,
- settings={},
- preview_texture_name='doomShroomPreview'))
- campaign.addlevel(
- _level.Level('Target Practice B',
- displayname='${GAME}',
- gametype=TargetPracticeGame,
- settings={
- 'Target Count': 2,
- 'Enable Impact Bombs': False,
- 'Enable Triple Bombs': False
- },
- preview_texture_name='doomShroomPreview'))
- campaign.addlevel(
- _level.Level('Meteor Shower',
- displayname='${GAME}',
- gametype=MeteorShowerGame,
- settings={},
- preview_texture_name='rampagePreview'))
- campaign.addlevel(
- _level.Level('Epic Meteor Shower',
- displayname='${GAME}',
- gametype=MeteorShowerGame,
- settings={'Epic Mode': True},
- preview_texture_name='rampagePreview'))
- campaign.addlevel(
- _level.Level('Easter Egg Hunt',
- displayname='${GAME}',
- gametype=EasterEggHuntGame,
- settings={},
- preview_texture_name='towerDPreview'))
- campaign.addlevel(
- _level.Level('Pro Easter Egg Hunt',
- displayname='Pro ${GAME}',
- gametype=EasterEggHuntGame,
- settings={'Pro Mode': True},
- preview_texture_name='towerDPreview'))
- campaign.addlevel(
- _level.Level(
- name='Ninja Fight', # (unique id not seen by player)
- displayname='${GAME}', # (readable name seen by player)
- gametype=NinjaFightGame,
- settings={'preset': 'regular'},
- preview_texture_name='courtyardPreview'))
- campaign.addlevel(
- _level.Level(name='Pro Ninja Fight',
- displayname='Pro ${GAME}',
- gametype=NinjaFightGame,
- settings={'preset': 'pro'},
- preview_texture_name='courtyardPreview'))
- register_campaign(campaign)
+ register_campaign(
+ Campaign(
+ 'Challenges',
+ sequential=False,
+ levels=[
+ Level('Infinite Onslaught',
+ gametype=OnslaughtGame,
+ settings={'preset': 'endless'},
+ preview_texture_name='doomShroomPreview'),
+ Level('Infinite Runaround',
+ gametype=RunaroundGame,
+ settings={'preset': 'endless'},
+ preview_texture_name='towerDPreview'),
+ Level('Race',
+ displayname='${GAME}',
+ gametype=RaceGame,
+ settings={
+ 'map': 'Big G',
+ 'Laps': 3,
+ 'Bomb Spawning': 0
+ },
+ preview_texture_name='bigGPreview'),
+ Level('Pro Race',
+ displayname='Pro ${GAME}',
+ gametype=RaceGame,
+ settings={
+ 'map': 'Big G',
+ 'Laps': 3,
+ 'Bomb Spawning': 1000
+ },
+ preview_texture_name='bigGPreview'),
+ Level('Lake Frigid Race',
+ displayname='${GAME}',
+ gametype=RaceGame,
+ settings={
+ 'map': 'Lake Frigid',
+ 'Laps': 6,
+ 'Mine Spawning': 2000,
+ 'Bomb Spawning': 0
+ },
+ preview_texture_name='lakeFrigidPreview'),
+ Level('Football',
+ displayname='${GAME}',
+ gametype=FootballCoopGame,
+ settings={'preset': 'tournament'},
+ preview_texture_name='footballStadiumPreview'),
+ Level('Pro Football',
+ displayname='Pro ${GAME}',
+ gametype=FootballCoopGame,
+ settings={'preset': 'tournament_pro'},
+ preview_texture_name='footballStadiumPreview'),
+ Level('Runaround',
+ displayname='${GAME}',
+ gametype=RunaroundGame,
+ settings={'preset': 'tournament'},
+ preview_texture_name='towerDPreview'),
+ Level('Uber Runaround',
+ displayname='Uber ${GAME}',
+ gametype=RunaroundGame,
+ settings={'preset': 'tournament_uber'},
+ preview_texture_name='towerDPreview'),
+ Level('The Last Stand',
+ displayname='${GAME}',
+ gametype=TheLastStandGame,
+ settings={'preset': 'tournament'},
+ preview_texture_name='rampagePreview'),
+ Level('Tournament Infinite Onslaught',
+ displayname='Infinite Onslaught',
+ gametype=OnslaughtGame,
+ settings={'preset': 'endless_tournament'},
+ preview_texture_name='doomShroomPreview'),
+ Level('Tournament Infinite Runaround',
+ displayname='Infinite Runaround',
+ gametype=RunaroundGame,
+ settings={'preset': 'endless_tournament'},
+ preview_texture_name='towerDPreview'),
+ Level('Target Practice',
+ displayname='Pro ${GAME}',
+ gametype=TargetPracticeGame,
+ settings={},
+ preview_texture_name='doomShroomPreview'),
+ Level('Target Practice B',
+ displayname='${GAME}',
+ gametype=TargetPracticeGame,
+ settings={
+ 'Target Count': 2,
+ 'Enable Impact Bombs': False,
+ 'Enable Triple Bombs': False
+ },
+ preview_texture_name='doomShroomPreview'),
+ Level('Meteor Shower',
+ displayname='${GAME}',
+ gametype=MeteorShowerGame,
+ settings={},
+ preview_texture_name='rampagePreview'),
+ Level('Epic Meteor Shower',
+ displayname='${GAME}',
+ gametype=MeteorShowerGame,
+ settings={'Epic Mode': True},
+ preview_texture_name='rampagePreview'),
+ Level('Easter Egg Hunt',
+ displayname='${GAME}',
+ gametype=EasterEggHuntGame,
+ settings={},
+ preview_texture_name='towerDPreview'),
+ Level('Pro Easter Egg Hunt',
+ displayname='Pro ${GAME}',
+ gametype=EasterEggHuntGame,
+ settings={'Pro Mode': True},
+ preview_texture_name='towerDPreview'),
+ Level(
+ name='Ninja Fight', # (unique id not seen by player)
+ displayname='${GAME}', # (readable name seen by player)
+ gametype=NinjaFightGame,
+ settings={'preset': 'regular'},
+ preview_texture_name='courtyardPreview'),
+ Level(name='Pro Ninja Fight',
+ displayname='Pro ${GAME}',
+ gametype=NinjaFightGame,
+ settings={'preset': 'pro'},
+ preview_texture_name='courtyardPreview')
+ ],
+ ))
diff --git a/assets/src/ba_data/python/ba/_meta.py b/assets/src/ba_data/python/ba/_meta.py
index 6fde0598..8b29f9e3 100644
--- a/assets/src/ba_data/python/ba/_meta.py
+++ b/assets/src/ba_data/python/ba/_meta.py
@@ -42,7 +42,7 @@ class MetadataSubsystem:
"""
def __init__(self) -> None:
- self.metascan: ScanResults | None = None
+ self.scanresults: ScanResults | None = None
self.extra_scan_dirs: list[str] = []
def on_app_running(self) -> None:
@@ -56,7 +56,7 @@ class MetadataSubsystem:
Should be called only once at launch."""
app = _ba.app
- if self.metascan is not None:
+ if self.scanresults is not None:
print('WARNING: meta scan run more than once.')
pythondirs = ([app.python_directory_app, app.python_directory_user] +
self.extra_scan_dirs)
@@ -131,7 +131,7 @@ class MetadataSubsystem:
def get_scan_results(self) -> ScanResults:
"""Return meta scan results; block if the scan is not yet complete."""
- if self.metascan is None:
+ if self.scanresults is None:
print('WARNING: ba.meta.get_scan_results()'
' called before scan completed.'
' This can cause hitches.')
@@ -139,12 +139,12 @@ class MetadataSubsystem:
# Now wait a bit for the scan to complete.
# Eventually error though if it doesn't.
starttime = time.time()
- while self.metascan is None:
+ while self.scanresults is None:
time.sleep(0.05)
if time.time() - starttime > 10.0:
raise TimeoutError(
'timeout waiting for meta scan to complete.')
- return self.metascan
+ return self.scanresults
def get_game_types(self) -> list[type[ba.GameActivity]]:
"""Return available game types."""
@@ -204,7 +204,7 @@ class ScanThread(threading.Thread):
# We also, however, immediately make results available.
# This is because the game thread may be blocked waiting
# for them so we can't push a call or we'd get deadlock.
- _ba.app.meta.metascan = results
+ _ba.app.meta.scanresults = results
class DirectoryScan:
diff --git a/assets/src/ba_data/python/bastd/ui/coop/browser.py b/assets/src/ba_data/python/bastd/ui/coop/browser.py
index 9ea7a9d9..90e35fe8 100644
--- a/assets/src/ba_data/python/bastd/ui/coop/browser.py
+++ b/assets/src/ba_data/python/bastd/ui/coop/browser.py
@@ -6,7 +6,6 @@
from __future__ import annotations
-import copy
from typing import TYPE_CHECKING
import _ba
@@ -18,6 +17,8 @@ from bastd.ui.store.browser import StoreBrowserWindow
if TYPE_CHECKING:
from typing import Any
+ from bastd.ui.coop.tournamentbutton import TournamentButton
+
class CoopBrowserWindow(ba.Window):
"""Window for browsing co-op levels/games/etc."""
@@ -175,8 +176,6 @@ class CoopBrowserWindow(ba.Window):
'Selected Coop Campaign Level', None))
self._selected_custom_level = (cfg.get('Selected Coop Custom Level',
None))
- self._selected_challenge_level = (cfg.get(
- 'Selected Coop Challenge Level', None))
# Don't want initial construction affecting our last-selected.
self._do_selection_callbacks = False
@@ -283,6 +282,7 @@ class CoopBrowserWindow(ba.Window):
import bastd.ui.tournamentscores as _unused8
import bastd.ui.tournamententry as _unused9
import bastd.ui.play as _unused10
+ import bastd.ui.coop.tournamentbutton as _unused11
def _update(self) -> None:
# Do nothing if we've somehow outlived our actual UI.
@@ -335,21 +335,21 @@ class CoopBrowserWindow(ba.Window):
# Decrement time on our tournament buttons.
ads_enabled = _ba.have_incentivized_ad()
for tbtn in self._tournament_buttons:
- tbtn['time_remaining'] = max(0, tbtn['time_remaining'] - 1)
- if tbtn['time_remaining_value_text'] is not None:
+ tbtn.time_remaining = max(0, tbtn.time_remaining - 1)
+ if tbtn.time_remaining_value_text is not None:
ba.textwidget(
- edit=tbtn['time_remaining_value_text'],
- text=ba.timestring(tbtn['time_remaining'],
+ edit=tbtn.time_remaining_value_text,
+ text=ba.timestring(tbtn.time_remaining,
centi=False,
suppress_format_warning=True) if
- (tbtn['has_time_remaining']
+ (tbtn.has_time_remaining
and self._tourney_data_up_to_date) else '-')
# Also adjust the ad icon visibility.
- if tbtn.get('allow_ads', False) and _ba.has_video_ads():
- ba.imagewidget(edit=tbtn['entry_fee_ad_image'],
+ if tbtn.allow_ads and _ba.has_video_ads():
+ ba.imagewidget(edit=tbtn.entry_fee_ad_image,
opacity=1.0 if ads_enabled else 0.25)
- ba.textwidget(edit=tbtn['entry_fee_text_remaining'],
+ ba.textwidget(edit=tbtn.entry_fee_text_remaining,
color=(0.6, 0.6, 0.6, 1 if ads_enabled else 0.2))
self._update_hard_mode_lock_image()
@@ -363,232 +363,21 @@ class CoopBrowserWindow(ba.Window):
ba.print_exception('Error updating campaign lock.')
def _update_for_data(self, data: list[dict[str, Any]] | None) -> None:
- # pylint: disable=too-many-statements
- # pylint: disable=too-many-locals
- # pylint: disable=too-many-branches
- from ba.internal import getcampaign, get_tournament_prize_strings
# If the number of tournaments or challenges in the data differs from
# our current arrangement, refresh with the new number.
if ((data is None and self._tournament_button_count != 0)
or (data is not None and
(len(data) != self._tournament_button_count))):
- self._tournament_button_count = len(
- data) if data is not None else 0
+ self._tournament_button_count = (len(data)
+ if data is not None else 0)
ba.app.config['Tournament Rows'] = self._tournament_button_count
self._refresh()
# Update all of our tourney buttons based on whats in data.
for i, tbtn in enumerate(self._tournament_buttons):
assert data is not None
- entry: dict[str, Any] = data[i]
- prize_y_offs = (34 if 'prizeRange3' in entry else
- 20 if 'prizeRange2' in entry else 12)
- x_offs = 90
-
- # This seems to be a false alarm.
- # pylint: disable=unbalanced-tuple-unpacking
- pr1, pv1, pr2, pv2, pr3, pv3 = (
- get_tournament_prize_strings(entry))
- # pylint: enable=unbalanced-tuple-unpacking
- enabled = 'requiredLeague' not in entry
- ba.buttonwidget(edit=tbtn['button'],
- color=(0.5, 0.7, 0.2) if enabled else
- (0.5, 0.5, 0.5))
- ba.imagewidget(edit=tbtn['lock_image'],
- opacity=0.0 if enabled else 1.0)
- ba.textwidget(edit=tbtn['prize_range_1_text'],
- text='-' if pr1 == '' else pr1,
- position=(tbtn['button_x'] + 365 + x_offs,
- tbtn['button_y'] + tbtn['button_scale_y'] -
- 93 + prize_y_offs))
-
- # We want to draw values containing tickets a bit smaller
- # (scratch that; we now draw medals a bit bigger).
- ticket_char = ba.charstr(ba.SpecialChar.TICKET_BACKING)
- prize_value_scale_large = 1.0
- prize_value_scale_small = 1.0
-
- ba.textwidget(edit=tbtn['prize_value_1_text'],
- text='-' if pv1 == '' else pv1,
- scale=prize_value_scale_large if ticket_char
- not in pv1 else prize_value_scale_small,
- position=(tbtn['button_x'] + 380 + x_offs,
- tbtn['button_y'] + tbtn['button_scale_y'] -
- 93 + prize_y_offs))
-
- ba.textwidget(edit=tbtn['prize_range_2_text'],
- text=pr2,
- position=(tbtn['button_x'] + 365 + x_offs,
- tbtn['button_y'] + tbtn['button_scale_y'] -
- 93 - 45 + prize_y_offs))
- ba.textwidget(edit=tbtn['prize_value_2_text'],
- text=pv2,
- scale=prize_value_scale_large if ticket_char
- not in pv2 else prize_value_scale_small,
- position=(tbtn['button_x'] + 380 + x_offs,
- tbtn['button_y'] + tbtn['button_scale_y'] -
- 93 - 45 + prize_y_offs))
-
- ba.textwidget(edit=tbtn['prize_range_3_text'],
- text=pr3,
- position=(tbtn['button_x'] + 365 + x_offs,
- tbtn['button_y'] + tbtn['button_scale_y'] -
- 93 - 90 + prize_y_offs))
- ba.textwidget(edit=tbtn['prize_value_3_text'],
- text=pv3,
- scale=prize_value_scale_large if ticket_char
- not in pv3 else prize_value_scale_small,
- position=(tbtn['button_x'] + 380 + x_offs,
- tbtn['button_y'] + tbtn['button_scale_y'] -
- 93 - 90 + prize_y_offs))
-
- leader_name = '-'
- leader_score: str | ba.Lstr = '-'
- if entry['scores']:
- score = tbtn['leader'] = copy.deepcopy(entry['scores'][0])
- leader_name = score[1]
- leader_score = (ba.timestring(
- score[0] * 10,
- centi=True,
- timeformat=ba.TimeFormat.MILLISECONDS,
- suppress_format_warning=True) if entry['scoreType']
- == 'time' else str(score[0]))
- else:
- tbtn['leader'] = None
-
- ba.textwidget(edit=tbtn['current_leader_name_text'],
- text=ba.Lstr(value=leader_name))
- self._tournament_leader_score_type = (entry['scoreType'])
- ba.textwidget(edit=tbtn['current_leader_score_text'],
- text=leader_score)
- ba.buttonwidget(edit=tbtn['more_scores_button'],
- label=ba.Lstr(resource=self._r + '.seeMoreText'))
- out_of_time_text: str | ba.Lstr = (
- '-' if 'totalTime' not in entry else ba.Lstr(
- resource=self._r + '.ofTotalTimeText',
- subs=[('${TOTAL}',
- ba.timestring(entry['totalTime'],
- centi=False,
- suppress_format_warning=True))]))
- ba.textwidget(edit=tbtn['time_remaining_out_of_text'],
- text=out_of_time_text)
-
- tbtn['time_remaining'] = entry['timeRemaining']
- tbtn['has_time_remaining'] = entry is not None
- tbtn['tournament_id'] = entry['tournamentID']
- tbtn['required_league'] = (None if 'requiredLeague' not in entry
- else entry['requiredLeague'])
-
- game = ba.app.accounts_v1.tournament_info[
- tbtn['tournament_id']]['game']
-
- if game is None:
- ba.textwidget(edit=tbtn['button_text'], text='-')
- ba.imagewidget(edit=tbtn['image'],
- texture=ba.gettexture('black'),
- opacity=0.2)
- else:
- campaignname, levelname = game.split(':')
- campaign = getcampaign(campaignname)
- max_players = ba.app.accounts_v1.tournament_info[
- tbtn['tournament_id']]['maxPlayers']
- txt = ba.Lstr(
- value='${A} ${B}',
- subs=[('${A}', campaign.getlevel(levelname).displayname),
- ('${B}',
- ba.Lstr(resource='playerCountAbbreviatedText',
- subs=[('${COUNT}', str(max_players))]))])
- ba.textwidget(edit=tbtn['button_text'], text=txt)
- ba.imagewidget(
- edit=tbtn['image'],
- texture=campaign.getlevel(levelname).get_preview_texture(),
- opacity=1.0 if enabled else 0.5)
-
- fee = entry['fee']
-
- if fee is None:
- fee_var = None
- elif fee == 4:
- fee_var = 'price.tournament_entry_4'
- elif fee == 3:
- fee_var = 'price.tournament_entry_3'
- elif fee == 2:
- fee_var = 'price.tournament_entry_2'
- elif fee == 1:
- fee_var = 'price.tournament_entry_1'
- else:
- if fee != 0:
- print('Unknown fee value:', fee)
- fee_var = 'price.tournament_entry_0'
-
- tbtn['allow_ads'] = allow_ads = entry['allowAds']
-
- final_fee: int | None = (None if fee_var is None else
- _ba.get_v1_account_misc_read_val(
- fee_var, '?'))
-
- final_fee_str: str | ba.Lstr
- if fee_var is None:
- final_fee_str = ''
- else:
- if final_fee == 0:
- final_fee_str = ba.Lstr(
- resource='getTicketsWindow.freeText')
- else:
- final_fee_str = (
- ba.charstr(ba.SpecialChar.TICKET_BACKING) +
- str(final_fee))
-
- ad_tries_remaining = ba.app.accounts_v1.tournament_info[
- tbtn['tournament_id']]['adTriesRemaining']
- free_tries_remaining = ba.app.accounts_v1.tournament_info[
- tbtn['tournament_id']]['freeTriesRemaining']
-
- # Now, if this fee allows ads and we support video ads, show
- # the 'or ad' version.
- if allow_ads and _ba.has_video_ads():
- ads_enabled = _ba.have_incentivized_ad()
- ba.imagewidget(edit=tbtn['entry_fee_ad_image'],
- opacity=1.0 if ads_enabled else 0.25)
- or_text = ba.Lstr(resource='orText',
- subs=[('${A}', ''),
- ('${B}', '')]).evaluate().strip()
- ba.textwidget(edit=tbtn['entry_fee_text_or'], text=or_text)
- ba.textwidget(
- edit=tbtn['entry_fee_text_top'],
- position=(tbtn['button_x'] + 360,
- tbtn['button_y'] + tbtn['button_scale_y'] - 60),
- scale=1.3,
- text=final_fee_str)
-
- # Possibly show number of ad-plays remaining.
- ba.textwidget(
- edit=tbtn['entry_fee_text_remaining'],
- position=(tbtn['button_x'] + 360,
- tbtn['button_y'] + tbtn['button_scale_y'] - 146),
- text='' if ad_tries_remaining in [None, 0] else
- ('' + str(ad_tries_remaining)),
- color=(0.6, 0.6, 0.6, 1 if ads_enabled else 0.2))
- else:
- ba.imagewidget(edit=tbtn['entry_fee_ad_image'], opacity=0.0)
- ba.textwidget(edit=tbtn['entry_fee_text_or'], text='')
- ba.textwidget(
- edit=tbtn['entry_fee_text_top'],
- position=(tbtn['button_x'] + 360,
- tbtn['button_y'] + tbtn['button_scale_y'] - 80),
- scale=1.3,
- text=final_fee_str)
-
- # Possibly show number of free-plays remaining.
- ba.textwidget(
- edit=tbtn['entry_fee_text_remaining'],
- position=(tbtn['button_x'] + 360,
- tbtn['button_y'] + tbtn['button_scale_y'] - 100),
- text=('' if (free_tries_remaining in [None, 0]
- or final_fee != 0) else
- ('' + str(free_tries_remaining))),
- color=(0.6, 0.6, 0.6, 1))
+ tbtn.update_for_data(data[i])
def _on_tournament_query_response(self,
data: dict[str, Any] | None) -> None:
@@ -715,10 +504,13 @@ class CoopBrowserWindow(ba.Window):
items = [
campaignname + ':Onslaught Training',
campaignname + ':Rookie Onslaught',
- campaignname + ':Rookie Football', campaignname + ':Pro Onslaught',
- campaignname + ':Pro Football', campaignname + ':Pro Runaround',
- campaignname + ':Uber Onslaught', campaignname + ':Uber Football',
- campaignname + ':Uber Runaround'
+ campaignname + ':Rookie Football',
+ campaignname + ':Pro Onslaught',
+ campaignname + ':Pro Football',
+ campaignname + ':Pro Runaround',
+ campaignname + ':Uber Onslaught',
+ campaignname + ':Uber Football',
+ campaignname + ':Uber Runaround',
]
items += [campaignname + ':The Last Stand']
if self._selected_campaign_level is None:
@@ -772,6 +564,7 @@ class CoopBrowserWindow(ba.Window):
# pylint: disable=too-many-locals
# pylint: disable=cyclic-import
from bastd.ui.coop.gamebutton import GameButton
+ from bastd.ui.coop.tournamentbutton import TournamentButton
# (Re)create the sub-container if need be.
if self._subcontainer is not None:
@@ -839,7 +632,7 @@ class CoopBrowserWindow(ba.Window):
# Tournaments
- self._tournament_buttons: list[dict[str, Any]] = []
+ self._tournament_buttons: list[TournamentButton] = []
v -= 53
# FIXME shouldn't use hard-coded strings here.
@@ -919,7 +712,12 @@ class CoopBrowserWindow(ba.Window):
v2 = -2
is_last_sel = True
self._tournament_buttons.append(
- self._tournament_button(sc2, h, v2, is_last_sel))
+ TournamentButton(sc2,
+ h,
+ v2,
+ is_last_sel,
+ on_pressed=ba.WeakCall(
+ self.run_tournament)))
v -= 200
# Custom Games.
@@ -949,7 +747,8 @@ class CoopBrowserWindow(ba.Window):
if _ba.get_v1_account_misc_read_val(
'easter', False) or _ba.get_purchased('games.easter_egg_hunt'):
items = [
- 'Challenges:Easter Egg Hunt', 'Challenges:Pro Easter Egg Hunt'
+ 'Challenges:Easter Egg Hunt',
+ 'Challenges:Pro Easter Egg Hunt',
] + items
# add all custom user levels here..
@@ -995,19 +794,19 @@ class CoopBrowserWindow(ba.Window):
for i, tbutton in enumerate(self._tournament_buttons):
ba.widget(
- edit=tbutton['button'],
+ edit=tbutton.button,
up_widget=self._tournament_info_button
- if i == 0 else self._tournament_buttons[i - 1]['button'],
- down_widget=self._tournament_buttons[(i + 1)]['button']
+ if i == 0 else self._tournament_buttons[i - 1].button,
+ down_widget=self._tournament_buttons[(i + 1)].button
if i + 1 < len(self._tournament_buttons) else custom_h_scroll)
ba.widget(
- edit=tbutton['more_scores_button'],
+ edit=tbutton.more_scores_button,
down_widget=self._tournament_buttons[(
- i + 1)]['current_leader_name_text']
+ i + 1)].current_leader_name_text
if i + 1 < len(self._tournament_buttons) else custom_h_scroll)
- ba.widget(edit=tbutton['current_leader_name_text'],
+ ba.widget(edit=tbutton.current_leader_name_text,
up_widget=self._tournament_info_button if i == 0 else
- self._tournament_buttons[i - 1]['more_scores_button'])
+ self._tournament_buttons[i - 1].more_scores_button)
for btn in self._custom_buttons:
try:
@@ -1037,314 +836,6 @@ class CoopBrowserWindow(ba.Window):
def _enable_selectable_callback(self) -> None:
self._do_selection_callbacks = True
- def _tournament_button(self, parent: ba.Widget, x: float, y: float,
- select: bool) -> dict[str, Any]:
- sclx = 300
- scly = 195.0
- data: dict[str, Any] = {
- 'tournament_id': None,
- 'time_remaining': 0,
- 'has_time_remaining': False,
- 'leader': None
- }
- data['button'] = btn = ba.buttonwidget(
- parent=parent,
- position=(x + 23, y + 4),
- size=(sclx, scly),
- label='',
- button_type='square',
- autoselect=True,
- on_activate_call=lambda: self.run(None, tournament_button=data))
- ba.widget(edit=btn,
- show_buffer_bottom=50,
- show_buffer_top=50,
- show_buffer_left=400,
- show_buffer_right=200)
- if select:
- ba.containerwidget(edit=parent,
- selected_child=btn,
- visible_child=btn)
- image_width = sclx * 0.85 * 0.75
-
- data['image'] = ba.imagewidget(
- parent=parent,
- draw_controller=btn,
- position=(x + 21 + sclx * 0.5 - image_width * 0.5, y + scly - 150),
- size=(image_width, image_width * 0.5),
- model_transparent=self.lsbt,
- model_opaque=self.lsbo,
- texture=ba.gettexture('black'),
- opacity=0.2,
- mask_texture=ba.gettexture('mapPreviewMask'))
-
- data['lock_image'] = ba.imagewidget(
- parent=parent,
- draw_controller=btn,
- position=(x + 21 + sclx * 0.5 - image_width * 0.25,
- y + scly - 150),
- size=(image_width * 0.5, image_width * 0.5),
- texture=ba.gettexture('lock'),
- opacity=0.0)
-
- data['button_text'] = ba.textwidget(parent=parent,
- draw_controller=btn,
- position=(x + 20 + sclx * 0.5,
- y + scly - 35),
- size=(0, 0),
- h_align='center',
- text='-',
- v_align='center',
- maxwidth=sclx * 0.76,
- scale=0.85,
- color=(0.8, 1.0, 0.8, 1.0))
-
- header_color = (0.43, 0.4, 0.5, 1)
- value_color = (0.6, 0.6, 0.6, 1)
-
- x_offs = 0
- ba.textwidget(parent=parent,
- draw_controller=btn,
- position=(x + 360, y + scly - 20),
- size=(0, 0),
- h_align='center',
- text=ba.Lstr(resource=self._r + '.entryFeeText'),
- v_align='center',
- maxwidth=100,
- scale=0.9,
- color=header_color,
- flatness=1.0)
-
- data['entry_fee_text_top'] = ba.textwidget(parent=parent,
- draw_controller=btn,
- position=(x + 360,
- y + scly - 60),
- size=(0, 0),
- h_align='center',
- text='-',
- v_align='center',
- maxwidth=60,
- scale=1.3,
- color=value_color,
- flatness=1.0)
- data['entry_fee_text_or'] = ba.textwidget(parent=parent,
- draw_controller=btn,
- position=(x + 360,
- y + scly - 90),
- size=(0, 0),
- h_align='center',
- text='',
- v_align='center',
- maxwidth=60,
- scale=0.5,
- color=value_color,
- flatness=1.0)
- data['entry_fee_text_remaining'] = ba.textwidget(parent=parent,
- draw_controller=btn,
- position=(x + 360, y +
- scly - 90),
- size=(0, 0),
- h_align='center',
- text='',
- v_align='center',
- maxwidth=60,
- scale=0.5,
- color=value_color,
- flatness=1.0)
-
- data['entry_fee_ad_image'] = ba.imagewidget(
- parent=parent,
- size=(40, 40),
- draw_controller=btn,
- position=(x + 360 - 20, y + scly - 140),
- opacity=0.0,
- texture=ba.gettexture('tv'))
-
- x_offs += 50
-
- ba.textwidget(parent=parent,
- draw_controller=btn,
- position=(x + 447 + x_offs, y + scly - 20),
- size=(0, 0),
- h_align='center',
- text=ba.Lstr(resource=self._r + '.prizesText'),
- v_align='center',
- maxwidth=130,
- scale=0.9,
- color=header_color,
- flatness=1.0)
-
- data['button_x'] = x
- data['button_y'] = y
- data['button_scale_y'] = scly
-
- xo2 = 0
- prize_value_scale = 1.5
-
- data['prize_range_1_text'] = ba.textwidget(
- parent=parent,
- draw_controller=btn,
- position=(x + 355 + xo2 + x_offs, y + scly - 93),
- size=(0, 0),
- h_align='right',
- v_align='center',
- maxwidth=50,
- text='-',
- scale=0.8,
- color=header_color,
- flatness=1.0)
- data['prize_value_1_text'] = ba.textwidget(
- parent=parent,
- draw_controller=btn,
- position=(x + 380 + xo2 + x_offs, y + scly - 93),
- size=(0, 0),
- h_align='left',
- text='-',
- v_align='center',
- maxwidth=100,
- scale=prize_value_scale,
- color=value_color,
- flatness=1.0)
-
- data['prize_range_2_text'] = ba.textwidget(
- parent=parent,
- draw_controller=btn,
- position=(x + 355 + xo2 + x_offs, y + scly - 93),
- size=(0, 0),
- h_align='right',
- v_align='center',
- maxwidth=50,
- scale=0.8,
- color=header_color,
- flatness=1.0)
- data['prize_value_2_text'] = ba.textwidget(
- parent=parent,
- draw_controller=btn,
- position=(x + 380 + xo2 + x_offs, y + scly - 93),
- size=(0, 0),
- h_align='left',
- text='',
- v_align='center',
- maxwidth=100,
- scale=prize_value_scale,
- color=value_color,
- flatness=1.0)
-
- data['prize_range_3_text'] = ba.textwidget(
- parent=parent,
- draw_controller=btn,
- position=(x + 355 + xo2 + x_offs, y + scly - 93),
- size=(0, 0),
- h_align='right',
- v_align='center',
- maxwidth=50,
- scale=0.8,
- color=header_color,
- flatness=1.0)
- data['prize_value_3_text'] = ba.textwidget(
- parent=parent,
- draw_controller=btn,
- position=(x + 380 + xo2 + x_offs, y + scly - 93),
- size=(0, 0),
- h_align='left',
- text='',
- v_align='center',
- maxwidth=100,
- scale=prize_value_scale,
- color=value_color,
- flatness=1.0)
-
- ba.textwidget(parent=parent,
- draw_controller=btn,
- position=(x + 620 + x_offs, y + scly - 20),
- size=(0, 0),
- h_align='center',
- text=ba.Lstr(resource=self._r + '.currentBestText'),
- v_align='center',
- maxwidth=180,
- scale=0.9,
- color=header_color,
- flatness=1.0)
- data['current_leader_name_text'] = ba.textwidget(
- parent=parent,
- draw_controller=btn,
- position=(x + 620 + x_offs - (170 / 1.4) * 0.5,
- y + scly - 60 - 40 * 0.5),
- selectable=True,
- click_activate=True,
- autoselect=True,
- on_activate_call=lambda: self._show_leader(tournament_button=data),
- size=(170 / 1.4, 40),
- h_align='center',
- text='-',
- v_align='center',
- maxwidth=170,
- scale=1.4,
- color=value_color,
- flatness=1.0)
- data['current_leader_score_text'] = ba.textwidget(
- parent=parent,
- draw_controller=btn,
- position=(x + 620 + x_offs, y + scly - 113 + 10),
- size=(0, 0),
- h_align='center',
- text='-',
- v_align='center',
- maxwidth=170,
- scale=1.8,
- color=value_color,
- flatness=1.0)
-
- data['more_scores_button'] = ba.buttonwidget(
- parent=parent,
- position=(x + 620 + x_offs - 60, y + scly - 50 - 125),
- color=(0.5, 0.5, 0.6),
- textcolor=(0.7, 0.7, 0.8),
- label='-',
- size=(120, 40),
- autoselect=True,
- up_widget=data['current_leader_name_text'],
- text_scale=0.6,
- on_activate_call=lambda: self._show_scores(tournament_button=data))
- ba.widget(edit=data['current_leader_name_text'],
- down_widget=data['more_scores_button'])
-
- ba.textwidget(parent=parent,
- draw_controller=btn,
- position=(x + 820 + x_offs, y + scly - 20),
- size=(0, 0),
- h_align='center',
- text=ba.Lstr(resource=self._r + '.timeRemainingText'),
- v_align='center',
- maxwidth=180,
- scale=0.9,
- color=header_color,
- flatness=1.0)
- data['time_remaining_value_text'] = ba.textwidget(
- parent=parent,
- draw_controller=btn,
- position=(x + 820 + x_offs, y + scly - 68),
- size=(0, 0),
- h_align='center',
- text='-',
- v_align='center',
- maxwidth=180,
- scale=2.0,
- color=value_color,
- flatness=1.0)
- data['time_remaining_out_of_text'] = ba.textwidget(
- parent=parent,
- draw_controller=btn,
- position=(x + 820 + x_offs, y + scly - 110),
- size=(0, 0),
- h_align='center',
- text='-',
- v_align='center',
- maxwidth=120,
- scale=0.72,
- color=(0.4, 0.4, 0.5),
- flatness=1.0)
- return data
-
def _switch_to_league_rankings(self) -> None:
# pylint: disable=cyclic-import
from bastd.ui.account import show_sign_in_prompt
@@ -1378,100 +869,20 @@ class CoopBrowserWindow(ba.Window):
show_tab=show_tab,
back_location='CoopBrowserWindow').get_root_widget())
- def _show_leader(self, tournament_button: dict[str, Any]) -> None:
- # pylint: disable=cyclic-import
- from bastd.ui.account.viewer import AccountViewerWindow
- tournament_id = tournament_button['tournament_id']
-
- # FIXME: This assumes a single player entry in leader; should expand
- # this to work with multiple.
- if tournament_id is None or tournament_button['leader'] is None or len(
- tournament_button['leader'][2]) != 1:
- ba.playsound(ba.getsound('error'))
- return
- ba.playsound(ba.getsound('swish'))
- AccountViewerWindow(
- account_id=tournament_button['leader'][2][0].get('a', None),
- profile_id=tournament_button['leader'][2][0].get('p', None),
- position=tournament_button['current_leader_name_text'].
- get_screen_space_center())
-
- def _show_scores(self, tournament_button: dict[str, Any]) -> None:
- # pylint: disable=cyclic-import
- from bastd.ui.tournamentscores import TournamentScoresWindow
- tournament_id = tournament_button['tournament_id']
- if tournament_id is None:
- ba.playsound(ba.getsound('error'))
- return
-
- TournamentScoresWindow(
- tournament_id=tournament_id,
- position=tournament_button['more_scores_button'].
- get_screen_space_center())
-
def is_tourney_data_up_to_date(self) -> bool:
"""Return whether our tourney data is up to date."""
return self._tourney_data_up_to_date
- def run(self,
- game: str | None,
- tournament_button: dict[str, Any] | None = None) -> None:
+ def run_game(self, game: str) -> None:
"""Run the provided game."""
# pylint: disable=too-many-branches
- # pylint: disable=too-many-statements
- # pylint: disable=too-many-return-statements
# pylint: disable=cyclic-import
from bastd.ui.confirm import ConfirmWindow
- from bastd.ui.tournamententry import TournamentEntryWindow
from bastd.ui.purchase import PurchaseWindow
from bastd.ui.account import show_sign_in_prompt
args: dict[str, Any] = {}
- # Do a bit of pre-flight for tournament options.
- if tournament_button is not None:
-
- if _ba.get_v1_account_state() != 'signed_in':
- show_sign_in_prompt()
- return
-
- if not self._tourney_data_up_to_date:
- ba.screenmessage(
- ba.Lstr(resource='tournamentCheckingStateText'),
- color=(1, 1, 0))
- ba.playsound(ba.getsound('error'))
- return
-
- if tournament_button['tournament_id'] is None:
- ba.screenmessage(
- ba.Lstr(resource='internal.unavailableNoConnectionText'),
- color=(1, 0, 0))
- ba.playsound(ba.getsound('error'))
- return
-
- if tournament_button['required_league'] is not None:
- ba.screenmessage(ba.Lstr(
- resource='league.tournamentLeagueText',
- subs=[
- ('${NAME}',
- ba.Lstr(
- translate=('leagueNames',
- tournament_button['required_league'])))
- ]),
- color=(1, 0, 0))
- ba.playsound(ba.getsound('error'))
- return
-
- if tournament_button['time_remaining'] <= 0:
- ba.screenmessage(ba.Lstr(resource='tournamentEndedText'),
- color=(1, 0, 0))
- ba.playsound(ba.getsound('error'))
- return
-
- # Game is whatever the tournament tells us it is.
- game = ba.app.accounts_v1.tournament_info[
- tournament_button['tournament_id']]['game']
-
- if tournament_button is None and game == 'Easy:The Last Stand':
+ if game == 'Easy:The Last Stand':
ConfirmWindow(ba.Lstr(resource='difficultyHardUnlockOnlyText',
fallback_resource='difficultyHardOnlyText'),
cancel_button=False,
@@ -1479,12 +890,11 @@ class CoopBrowserWindow(ba.Window):
height=130)
return
- # Infinite onslaught/runaround require pro; bring up a store link if
- # need be.
- if tournament_button is None and game in (
- 'Challenges:Infinite Runaround',
- 'Challenges:Infinite Onslaught'
- ) and not ba.app.accounts_v1.have_pro():
+ # Infinite onslaught/runaround require pro; bring up a store link
+ # if need be.
+ if game in ('Challenges:Infinite Runaround',
+ 'Challenges:Infinite Onslaught'
+ ) and not ba.app.accounts_v1.have_pro():
if _ba.get_v1_account_state() != 'signed_in':
show_sign_in_prompt()
else:
@@ -1495,7 +905,8 @@ class CoopBrowserWindow(ba.Window):
if game in ['Challenges:Meteor Shower']:
required_purchase = 'games.meteor_shower'
elif game in [
- 'Challenges:Target Practice', 'Challenges:Target Practice B'
+ 'Challenges:Target Practice',
+ 'Challenges:Target Practice B',
]:
required_purchase = 'games.target_practice'
elif game in ['Challenges:Ninja Fight']:
@@ -1503,13 +914,14 @@ class CoopBrowserWindow(ba.Window):
elif game in ['Challenges:Pro Ninja Fight']:
required_purchase = 'games.ninja_fight'
elif game in [
- 'Challenges:Easter Egg Hunt', 'Challenges:Pro Easter Egg Hunt'
+ 'Challenges:Easter Egg Hunt',
+ 'Challenges:Pro Easter Egg Hunt',
]:
required_purchase = 'games.easter_egg_hunt'
else:
required_purchase = None
- if (tournament_button is None and required_purchase is not None
+ if (required_purchase is not None
and not _ba.get_purchased(required_purchase)):
if _ba.get_v1_account_state() != 'signed_in':
show_sign_in_prompt()
@@ -1519,17 +931,57 @@ class CoopBrowserWindow(ba.Window):
self._save_state()
- # For tournaments, we pop up the entry window.
- if tournament_button is not None:
- TournamentEntryWindow(
- tournament_id=tournament_button['tournament_id'],
- position=tournament_button['button'].get_screen_space_center())
- else:
- # Otherwise just dive right in.
- assert game is not None
- if ba.app.launch_coop_game(game, args=args):
- ba.containerwidget(edit=self._root_widget,
- transition='out_left')
+ if ba.app.launch_coop_game(game, args=args):
+ ba.containerwidget(edit=self._root_widget, transition='out_left')
+
+ def run_tournament(self, tournament_button: TournamentButton) -> None:
+ """Run the provided tournament game."""
+ from bastd.ui.account import show_sign_in_prompt
+ from bastd.ui.tournamententry import TournamentEntryWindow
+
+ if _ba.get_v1_account_state() != 'signed_in':
+ show_sign_in_prompt()
+ return
+
+ if not self._tourney_data_up_to_date:
+ ba.screenmessage(ba.Lstr(resource='tournamentCheckingStateText'),
+ color=(1, 1, 0))
+ ba.playsound(ba.getsound('error'))
+ return
+
+ if tournament_button.tournament_id is None:
+ ba.screenmessage(
+ ba.Lstr(resource='internal.unavailableNoConnectionText'),
+ color=(1, 0, 0))
+ ba.playsound(ba.getsound('error'))
+ return
+
+ if tournament_button.required_league is not None:
+ ba.screenmessage(
+ ba.Lstr(
+ resource='league.tournamentLeagueText',
+ subs=[('${NAME}',
+ ba.Lstr(
+ translate=('leagueNames',
+ tournament_button.required_league)))
+ ]),
+ color=(1, 0, 0),
+ )
+ ba.playsound(ba.getsound('error'))
+ return
+
+ if tournament_button.time_remaining <= 0:
+ ba.screenmessage(ba.Lstr(resource='tournamentEndedText'),
+ color=(1, 0, 0))
+ ba.playsound(ba.getsound('error'))
+ return
+
+ self._save_state()
+
+ assert tournament_button.tournament_id is not None
+ TournamentEntryWindow(
+ tournament_id=tournament_button.tournament_id,
+ position=tournament_button.button.get_screen_space_center())
def _back(self) -> None:
# pylint: disable=cyclic-import
@@ -1542,24 +994,6 @@ class CoopBrowserWindow(ba.Window):
ba.app.ui.set_main_menu_window(
PlayWindow(transition='in_left').get_root_widget())
- def _restore_state(self) -> None:
- try:
- sel_name = ba.app.ui.window_states.get(type(self),
- {}).get('sel_name')
- if sel_name == 'Back':
- sel = self._back_button
- elif sel_name == 'Scroll':
- sel = self._scrollwidget
- elif sel_name == 'PowerRanking':
- sel = self._league_rank_button_widget
- elif sel_name == 'Store':
- sel = self._store_button_widget
- else:
- sel = self._scrollwidget
- ba.containerwidget(edit=self._root_widget, selected_child=sel)
- except Exception:
- ba.print_exception(f'Error restoring state for {self}.')
-
def _save_state(self) -> None:
cfg = ba.app.config
try:
@@ -1580,16 +1014,31 @@ class CoopBrowserWindow(ba.Window):
cfg['Selected Coop Row'] = self._selected_row
cfg['Selected Coop Custom Level'] = self._selected_custom_level
- cfg['Selected Coop Challenge Level'] = self._selected_challenge_level
cfg['Selected Coop Campaign Level'] = self._selected_campaign_level
cfg.commit()
+ def _restore_state(self) -> None:
+ try:
+ sel_name = ba.app.ui.window_states.get(type(self),
+ {}).get('sel_name')
+ if sel_name == 'Back':
+ sel = self._back_button
+ elif sel_name == 'Scroll':
+ sel = self._scrollwidget
+ elif sel_name == 'PowerRanking':
+ sel = self._league_rank_button_widget
+ elif sel_name == 'Store':
+ sel = self._store_button_widget
+ else:
+ sel = self._scrollwidget
+ ba.containerwidget(edit=self._root_widget, selected_child=sel)
+ except Exception:
+ ba.print_exception(f'Error restoring state for {self}.')
+
def sel_change(self, row: str, game: str) -> None:
"""(internal)"""
if self._do_selection_callbacks:
if row == 'custom':
self._selected_custom_level = game
- if row == 'challenges':
- self._selected_challenge_level = game
elif row == 'campaign':
self._selected_campaign_level = game
diff --git a/assets/src/ba_data/python/bastd/ui/coop/gamebutton.py b/assets/src/ba_data/python/bastd/ui/coop/gamebutton.py
index 40ff1cff..fb819f32 100644
--- a/assets/src/ba_data/python/bastd/ui/coop/gamebutton.py
+++ b/assets/src/ba_data/python/bastd/ui/coop/gamebutton.py
@@ -55,7 +55,7 @@ class GameButton:
position=(x + 23, y + 4),
size=(sclx, scly),
label='',
- on_activate_call=ba.Call(window.run, game),
+ on_activate_call=ba.Call(window.run_game, game),
button_type='square',
autoselect=True,
on_select_call=ba.Call(window.sel_change, row, game))
diff --git a/assets/src/ba_data/python/bastd/ui/coop/tournamentbutton.py b/assets/src/ba_data/python/bastd/ui/coop/tournamentbutton.py
new file mode 100644
index 00000000..f443ef23
--- /dev/null
+++ b/assets/src/ba_data/python/bastd/ui/coop/tournamentbutton.py
@@ -0,0 +1,561 @@
+# Released under the MIT License. See LICENSE for details.
+#
+"""Defines button for co-op games."""
+
+from __future__ import annotations
+
+from typing import TYPE_CHECKING
+import copy
+
+import ba
+import _ba
+
+if TYPE_CHECKING:
+ from typing import Any, Callable
+
+
+class TournamentButton:
+ """Button showing a tournament in coop window."""
+
+ def __init__(self, parent: ba.Widget, x: float, y: float, select: bool,
+ on_pressed: Callable[[TournamentButton], None]) -> None:
+ self._r = 'coopSelectWindow'
+ sclx = 300
+ scly = 195.0
+ self.on_pressed = on_pressed
+ self.lsbt = ba.getmodel('level_select_button_transparent')
+ self.lsbo = ba.getmodel('level_select_button_opaque')
+ self.allow_ads = False
+ self.tournament_id: str | None = None
+ self.time_remaining: int = 0
+ self.has_time_remaining: bool = False
+ self.leader: Any = None
+ self.required_league: str | None = None
+ self.button = btn = ba.buttonwidget(
+ parent=parent,
+ position=(x + 23, y + 4),
+ size=(sclx, scly),
+ label='',
+ button_type='square',
+ autoselect=True,
+ # on_activate_call=lambda: self.run(None, tournament_button=data)
+ on_activate_call=ba.WeakCall(self._pressed))
+ ba.widget(edit=btn,
+ show_buffer_bottom=50,
+ show_buffer_top=50,
+ show_buffer_left=400,
+ show_buffer_right=200)
+ if select:
+ ba.containerwidget(edit=parent,
+ selected_child=btn,
+ visible_child=btn)
+ image_width = sclx * 0.85 * 0.75
+
+ self.image = ba.imagewidget(
+ parent=parent,
+ draw_controller=btn,
+ position=(x + 21 + sclx * 0.5 - image_width * 0.5, y + scly - 150),
+ size=(image_width, image_width * 0.5),
+ model_transparent=self.lsbt,
+ model_opaque=self.lsbo,
+ texture=ba.gettexture('black'),
+ opacity=0.2,
+ mask_texture=ba.gettexture('mapPreviewMask'))
+
+ self.lock_image = ba.imagewidget(
+ parent=parent,
+ draw_controller=btn,
+ position=(x + 21 + sclx * 0.5 - image_width * 0.25,
+ y + scly - 150),
+ size=(image_width * 0.5, image_width * 0.5),
+ texture=ba.gettexture('lock'),
+ opacity=0.0)
+
+ self.button_text = ba.textwidget(parent=parent,
+ draw_controller=btn,
+ position=(x + 20 + sclx * 0.5,
+ y + scly - 35),
+ size=(0, 0),
+ h_align='center',
+ text='-',
+ v_align='center',
+ maxwidth=sclx * 0.76,
+ scale=0.85,
+ color=(0.8, 1.0, 0.8, 1.0))
+
+ header_color = (0.43, 0.4, 0.5, 1)
+ value_color = (0.6, 0.6, 0.6, 1)
+
+ x_offs = 0
+ ba.textwidget(parent=parent,
+ draw_controller=btn,
+ position=(x + 360, y + scly - 20),
+ size=(0, 0),
+ h_align='center',
+ text=ba.Lstr(resource=self._r + '.entryFeeText'),
+ v_align='center',
+ maxwidth=100,
+ scale=0.9,
+ color=header_color,
+ flatness=1.0)
+
+ self.entry_fee_text_top = ba.textwidget(parent=parent,
+ draw_controller=btn,
+ position=(x + 360,
+ y + scly - 60),
+ size=(0, 0),
+ h_align='center',
+ text='-',
+ v_align='center',
+ maxwidth=60,
+ scale=1.3,
+ color=value_color,
+ flatness=1.0)
+ self.entry_fee_text_or = ba.textwidget(parent=parent,
+ draw_controller=btn,
+ position=(x + 360,
+ y + scly - 90),
+ size=(0, 0),
+ h_align='center',
+ text='',
+ v_align='center',
+ maxwidth=60,
+ scale=0.5,
+ color=value_color,
+ flatness=1.0)
+ self.entry_fee_text_remaining = ba.textwidget(parent=parent,
+ draw_controller=btn,
+ position=(x + 360,
+ y + scly - 90),
+ size=(0, 0),
+ h_align='center',
+ text='',
+ v_align='center',
+ maxwidth=60,
+ scale=0.5,
+ color=value_color,
+ flatness=1.0)
+
+ self.entry_fee_ad_image = ba.imagewidget(parent=parent,
+ size=(40, 40),
+ draw_controller=btn,
+ position=(x + 360 - 20,
+ y + scly - 140),
+ opacity=0.0,
+ texture=ba.gettexture('tv'))
+
+ x_offs += 50
+
+ ba.textwidget(parent=parent,
+ draw_controller=btn,
+ position=(x + 447 + x_offs, y + scly - 20),
+ size=(0, 0),
+ h_align='center',
+ text=ba.Lstr(resource=self._r + '.prizesText'),
+ v_align='center',
+ maxwidth=130,
+ scale=0.9,
+ color=header_color,
+ flatness=1.0)
+
+ self.button_x = x
+ self.button_y = y
+ self.button_scale_y = scly
+
+ xo2 = 0
+ prize_value_scale = 1.5
+
+ self.prize_range_1_text = ba.textwidget(
+ parent=parent,
+ draw_controller=btn,
+ position=(x + 355 + xo2 + x_offs, y + scly - 93),
+ size=(0, 0),
+ h_align='right',
+ v_align='center',
+ maxwidth=50,
+ text='-',
+ scale=0.8,
+ color=header_color,
+ flatness=1.0)
+ self.prize_value_1_text = ba.textwidget(
+ parent=parent,
+ draw_controller=btn,
+ position=(x + 380 + xo2 + x_offs, y + scly - 93),
+ size=(0, 0),
+ h_align='left',
+ text='-',
+ v_align='center',
+ maxwidth=100,
+ scale=prize_value_scale,
+ color=value_color,
+ flatness=1.0)
+
+ self.prize_range_2_text = ba.textwidget(
+ parent=parent,
+ draw_controller=btn,
+ position=(x + 355 + xo2 + x_offs, y + scly - 93),
+ size=(0, 0),
+ h_align='right',
+ v_align='center',
+ maxwidth=50,
+ scale=0.8,
+ color=header_color,
+ flatness=1.0)
+ self.prize_value_2_text = ba.textwidget(
+ parent=parent,
+ draw_controller=btn,
+ position=(x + 380 + xo2 + x_offs, y + scly - 93),
+ size=(0, 0),
+ h_align='left',
+ text='',
+ v_align='center',
+ maxwidth=100,
+ scale=prize_value_scale,
+ color=value_color,
+ flatness=1.0)
+
+ self.prize_range_3_text = ba.textwidget(
+ parent=parent,
+ draw_controller=btn,
+ position=(x + 355 + xo2 + x_offs, y + scly - 93),
+ size=(0, 0),
+ h_align='right',
+ v_align='center',
+ maxwidth=50,
+ scale=0.8,
+ color=header_color,
+ flatness=1.0)
+ self.prize_value_3_text = ba.textwidget(
+ parent=parent,
+ draw_controller=btn,
+ position=(x + 380 + xo2 + x_offs, y + scly - 93),
+ size=(0, 0),
+ h_align='left',
+ text='',
+ v_align='center',
+ maxwidth=100,
+ scale=prize_value_scale,
+ color=value_color,
+ flatness=1.0)
+
+ ba.textwidget(parent=parent,
+ draw_controller=btn,
+ position=(x + 620 + x_offs, y + scly - 20),
+ size=(0, 0),
+ h_align='center',
+ text=ba.Lstr(resource=self._r + '.currentBestText'),
+ v_align='center',
+ maxwidth=180,
+ scale=0.9,
+ color=header_color,
+ flatness=1.0)
+ self.current_leader_name_text = ba.textwidget(
+ parent=parent,
+ draw_controller=btn,
+ position=(x + 620 + x_offs - (170 / 1.4) * 0.5,
+ y + scly - 60 - 40 * 0.5),
+ selectable=True,
+ click_activate=True,
+ autoselect=True,
+ on_activate_call=ba.WeakCall(self._show_leader),
+ size=(170 / 1.4, 40),
+ h_align='center',
+ text='-',
+ v_align='center',
+ maxwidth=170,
+ scale=1.4,
+ color=value_color,
+ flatness=1.0)
+ self.current_leader_score_text = ba.textwidget(
+ parent=parent,
+ draw_controller=btn,
+ position=(x + 620 + x_offs, y + scly - 113 + 10),
+ size=(0, 0),
+ h_align='center',
+ text='-',
+ v_align='center',
+ maxwidth=170,
+ scale=1.8,
+ color=value_color,
+ flatness=1.0)
+
+ self.more_scores_button = ba.buttonwidget(
+ parent=parent,
+ position=(x + 620 + x_offs - 60, y + scly - 50 - 125),
+ color=(0.5, 0.5, 0.6),
+ textcolor=(0.7, 0.7, 0.8),
+ label='-',
+ size=(120, 40),
+ autoselect=True,
+ up_widget=self.current_leader_name_text,
+ text_scale=0.6,
+ on_activate_call=ba.WeakCall(self._show_scores))
+ ba.widget(edit=self.current_leader_name_text,
+ down_widget=self.more_scores_button)
+
+ ba.textwidget(parent=parent,
+ draw_controller=btn,
+ position=(x + 820 + x_offs, y + scly - 20),
+ size=(0, 0),
+ h_align='center',
+ text=ba.Lstr(resource=self._r + '.timeRemainingText'),
+ v_align='center',
+ maxwidth=180,
+ scale=0.9,
+ color=header_color,
+ flatness=1.0)
+ self.time_remaining_value_text = ba.textwidget(
+ parent=parent,
+ draw_controller=btn,
+ position=(x + 820 + x_offs, y + scly - 68),
+ size=(0, 0),
+ h_align='center',
+ text='-',
+ v_align='center',
+ maxwidth=180,
+ scale=2.0,
+ color=value_color,
+ flatness=1.0)
+ self.time_remaining_out_of_text = ba.textwidget(
+ parent=parent,
+ draw_controller=btn,
+ position=(x + 820 + x_offs, y + scly - 110),
+ size=(0, 0),
+ h_align='center',
+ text='-',
+ v_align='center',
+ maxwidth=120,
+ scale=0.72,
+ color=(0.4, 0.4, 0.5),
+ flatness=1.0)
+
+ def _pressed(self) -> None:
+ self.on_pressed(self)
+
+ def _show_leader(self) -> None:
+ # pylint: disable=cyclic-import
+ from bastd.ui.account.viewer import AccountViewerWindow
+ tournament_id = self.tournament_id
+
+ # FIXME: This assumes a single player entry in leader; should expand
+ # this to work with multiple.
+ if tournament_id is None or self.leader is None or len(
+ self.leader[2]) != 1:
+ ba.playsound(ba.getsound('error'))
+ return
+ ba.playsound(ba.getsound('swish'))
+ AccountViewerWindow(
+ account_id=self.leader[2][0].get('a', None),
+ profile_id=self.leader[2][0].get('p', None),
+ position=self.current_leader_name_text.get_screen_space_center())
+
+ def _show_scores(self) -> None:
+ # pylint: disable=cyclic-import
+ from bastd.ui.tournamentscores import TournamentScoresWindow
+ tournament_id = self.tournament_id
+ if tournament_id is None:
+ ba.playsound(ba.getsound('error'))
+ return
+
+ TournamentScoresWindow(
+ tournament_id=tournament_id,
+ position=self.more_scores_button.get_screen_space_center())
+
+ def update_for_data(self, entry: dict[str, Any]) -> None:
+ """Update for new incoming data."""
+ # pylint: disable=too-many-statements
+ # pylint: disable=too-many-locals
+ # pylint: disable=too-many-branches
+ from ba.internal import getcampaign, get_tournament_prize_strings
+ prize_y_offs = (34 if 'prizeRange3' in entry else
+ 20 if 'prizeRange2' in entry else 12)
+ x_offs = 90
+
+ # This seems to be a false alarm.
+ # pylint: disable=unbalanced-tuple-unpacking
+ pr1, pv1, pr2, pv2, pr3, pv3 = (get_tournament_prize_strings(entry))
+ # pylint: enable=unbalanced-tuple-unpacking
+ enabled = 'requiredLeague' not in entry
+ ba.buttonwidget(edit=self.button,
+ color=(0.5, 0.7, 0.2) if enabled else (0.5, 0.5, 0.5))
+ ba.imagewidget(edit=self.lock_image, opacity=0.0 if enabled else 1.0)
+ ba.textwidget(edit=self.prize_range_1_text,
+ text='-' if pr1 == '' else pr1,
+ position=(self.button_x + 365 + x_offs, self.button_y +
+ self.button_scale_y - 93 + prize_y_offs))
+
+ # We want to draw values containing tickets a bit smaller
+ # (scratch that; we now draw medals a bit bigger).
+ ticket_char = ba.charstr(ba.SpecialChar.TICKET_BACKING)
+ prize_value_scale_large = 1.0
+ prize_value_scale_small = 1.0
+
+ ba.textwidget(edit=self.prize_value_1_text,
+ text='-' if pv1 == '' else pv1,
+ scale=prize_value_scale_large
+ if ticket_char not in pv1 else prize_value_scale_small,
+ position=(self.button_x + 380 + x_offs, self.button_y +
+ self.button_scale_y - 93 + prize_y_offs))
+
+ ba.textwidget(edit=self.prize_range_2_text,
+ text=pr2,
+ position=(self.button_x + 365 + x_offs, self.button_y +
+ self.button_scale_y - 93 - 45 + prize_y_offs))
+ ba.textwidget(edit=self.prize_value_2_text,
+ text=pv2,
+ scale=prize_value_scale_large
+ if ticket_char not in pv2 else prize_value_scale_small,
+ position=(self.button_x + 380 + x_offs, self.button_y +
+ self.button_scale_y - 93 - 45 + prize_y_offs))
+
+ ba.textwidget(edit=self.prize_range_3_text,
+ text=pr3,
+ position=(self.button_x + 365 + x_offs, self.button_y +
+ self.button_scale_y - 93 - 90 + prize_y_offs))
+ ba.textwidget(edit=self.prize_value_3_text,
+ text=pv3,
+ scale=prize_value_scale_large
+ if ticket_char not in pv3 else prize_value_scale_small,
+ position=(self.button_x + 380 + x_offs, self.button_y +
+ self.button_scale_y - 93 - 90 + prize_y_offs))
+
+ leader_name = '-'
+ leader_score: str | ba.Lstr = '-'
+ if entry['scores']:
+ score = self.leader = copy.deepcopy(entry['scores'][0])
+ leader_name = score[1]
+ leader_score = (ba.timestring(
+ score[0] * 10,
+ centi=True,
+ timeformat=ba.TimeFormat.MILLISECONDS,
+ suppress_format_warning=True)
+ if entry['scoreType'] == 'time' else str(score[0]))
+ else:
+ self.leader = None
+
+ ba.textwidget(edit=self.current_leader_name_text,
+ text=ba.Lstr(value=leader_name))
+ ba.textwidget(edit=self.current_leader_score_text, text=leader_score)
+ ba.buttonwidget(edit=self.more_scores_button,
+ label=ba.Lstr(resource=self._r + '.seeMoreText'))
+ out_of_time_text: str | ba.Lstr = (
+ '-' if 'totalTime' not in entry else ba.Lstr(
+ resource=self._r + '.ofTotalTimeText',
+ subs=[('${TOTAL}',
+ ba.timestring(entry['totalTime'],
+ centi=False,
+ suppress_format_warning=True))]))
+ ba.textwidget(edit=self.time_remaining_out_of_text,
+ text=out_of_time_text)
+
+ self.time_remaining = entry['timeRemaining']
+ self.has_time_remaining = entry is not None
+ self.tournament_id = entry['tournamentID']
+ self.required_league = (None if 'requiredLeague' not in entry else
+ entry['requiredLeague'])
+
+ game = ba.app.accounts_v1.tournament_info[self.tournament_id]['game']
+
+ if game is None:
+ ba.textwidget(edit=self.button_text, text='-')
+ ba.imagewidget(edit=self.image,
+ texture=ba.gettexture('black'),
+ opacity=0.2)
+ else:
+ campaignname, levelname = game.split(':')
+ campaign = getcampaign(campaignname)
+ max_players = ba.app.accounts_v1.tournament_info[
+ self.tournament_id]['maxPlayers']
+ txt = ba.Lstr(value='${A} ${B}',
+ subs=[('${A}',
+ campaign.getlevel(levelname).displayname),
+ ('${B}',
+ ba.Lstr(resource='playerCountAbbreviatedText',
+ subs=[('${COUNT}', str(max_players))
+ ]))])
+ ba.textwidget(edit=self.button_text, text=txt)
+ ba.imagewidget(
+ edit=self.image,
+ texture=campaign.getlevel(levelname).get_preview_texture(),
+ opacity=1.0 if enabled else 0.5)
+
+ fee = entry['fee']
+
+ if fee is None:
+ fee_var = None
+ elif fee == 4:
+ fee_var = 'price.tournament_entry_4'
+ elif fee == 3:
+ fee_var = 'price.tournament_entry_3'
+ elif fee == 2:
+ fee_var = 'price.tournament_entry_2'
+ elif fee == 1:
+ fee_var = 'price.tournament_entry_1'
+ else:
+ if fee != 0:
+ print('Unknown fee value:', fee)
+ fee_var = 'price.tournament_entry_0'
+
+ self.allow_ads = allow_ads = entry['allowAds']
+
+ final_fee: int | None = (None if fee_var is None else
+ _ba.get_v1_account_misc_read_val(
+ fee_var, '?'))
+
+ final_fee_str: str | ba.Lstr
+ if fee_var is None:
+ final_fee_str = ''
+ else:
+ if final_fee == 0:
+ final_fee_str = ba.Lstr(resource='getTicketsWindow.freeText')
+ else:
+ final_fee_str = (ba.charstr(ba.SpecialChar.TICKET_BACKING) +
+ str(final_fee))
+
+ ad_tries_remaining = ba.app.accounts_v1.tournament_info[
+ self.tournament_id]['adTriesRemaining']
+ free_tries_remaining = ba.app.accounts_v1.tournament_info[
+ self.tournament_id]['freeTriesRemaining']
+
+ # Now, if this fee allows ads and we support video ads, show
+ # the 'or ad' version.
+ if allow_ads and _ba.has_video_ads():
+ ads_enabled = _ba.have_incentivized_ad()
+ ba.imagewidget(edit=self.entry_fee_ad_image,
+ opacity=1.0 if ads_enabled else 0.25)
+ or_text = ba.Lstr(resource='orText',
+ subs=[('${A}', ''),
+ ('${B}', '')]).evaluate().strip()
+ ba.textwidget(edit=self.entry_fee_text_or, text=or_text)
+ ba.textwidget(edit=self.entry_fee_text_top,
+ position=(self.button_x + 360,
+ self.button_y + self.button_scale_y - 60),
+ scale=1.3,
+ text=final_fee_str)
+
+ # Possibly show number of ad-plays remaining.
+ ba.textwidget(edit=self.entry_fee_text_remaining,
+ position=(self.button_x + 360,
+ self.button_y + self.button_scale_y - 146),
+ text='' if ad_tries_remaining in [None, 0] else
+ ('' + str(ad_tries_remaining)),
+ color=(0.6, 0.6, 0.6, 1 if ads_enabled else 0.2))
+ else:
+ ba.imagewidget(edit=self.entry_fee_ad_image, opacity=0.0)
+ ba.textwidget(edit=self.entry_fee_text_or, text='')
+ ba.textwidget(edit=self.entry_fee_text_top,
+ position=(self.button_x + 360,
+ self.button_y + self.button_scale_y - 80),
+ scale=1.3,
+ text=final_fee_str)
+
+ # Possibly show number of free-plays remaining.
+ ba.textwidget(
+ edit=self.entry_fee_text_remaining,
+ position=(self.button_x + 360,
+ self.button_y + self.button_scale_y - 100),
+ text=('' if (free_tries_remaining in [None, 0]
+ or final_fee != 0) else
+ ('' + str(free_tries_remaining))),
+ color=(0.6, 0.6, 0.6, 1),
+ )
diff --git a/assets/src/ba_data/python/bastd/ui/onscreenkeyboard.py b/assets/src/ba_data/python/bastd/ui/onscreenkeyboard.py
index c55917fb..69d2303a 100644
--- a/assets/src/ba_data/python/bastd/ui/onscreenkeyboard.py
+++ b/assets/src/ba_data/python/bastd/ui/onscreenkeyboard.py
@@ -213,8 +213,8 @@ class OnScreenKeyboardWindow(ba.Window):
# Show change instructions only if we have more than one
# keyboard option.
- if (ba.app.meta.metascan is not None
- and len(ba.app.meta.metascan.keyboards) > 1):
+ if (ba.app.meta.scanresults is not None
+ and len(ba.app.meta.scanresults.keyboards) > 1):
ba.textwidget(
parent=self._root_widget,
h_align='center',
@@ -238,8 +238,8 @@ class OnScreenKeyboardWindow(ba.Window):
self._refresh()
def _get_keyboard(self) -> ba.Keyboard:
- assert ba.app.meta.metascan is not None
- classname = ba.app.meta.metascan.keyboards[self._keyboard_index]
+ assert ba.app.meta.scanresults is not None
+ classname = ba.app.meta.scanresults.keyboards[self._keyboard_index]
kbclass = ba.getclass(classname, ba.Keyboard)
return kbclass()
@@ -317,11 +317,11 @@ class OnScreenKeyboardWindow(ba.Window):
self._refresh()
def _next_keyboard(self) -> None:
- assert ba.app.meta.metascan is not None
+ assert ba.app.meta.scanresults is not None
self._keyboard_index = (self._keyboard_index + 1) % len(
- ba.app.meta.metascan.keyboards)
+ ba.app.meta.scanresults.keyboards)
self._load_keyboard()
- if len(ba.app.meta.metascan.keyboards) < 2:
+ if len(ba.app.meta.scanresults.keyboards) < 2:
ba.playsound(ba.getsound('error'))
ba.screenmessage(ba.Lstr(resource='keyboardNoOthersAvailableText'),
color=(1, 0, 0))
diff --git a/assets/src/ba_data/python/bastd/ui/settings/plugins.py b/assets/src/ba_data/python/bastd/ui/settings/plugins.py
index f4eb5d8c..c90b73d4 100644
--- a/assets/src/ba_data/python/bastd/ui/settings/plugins.py
+++ b/assets/src/ba_data/python/bastd/ui/settings/plugins.py
@@ -93,7 +93,7 @@ class PluginSettingsWindow(ba.Window):
self._subcontainer = ba.columnwidget(parent=self._scrollwidget,
selection_loops_to_parent=True)
- if ba.app.meta.metascan is None:
+ if ba.app.meta.scanresults is None:
ba.screenmessage('Still scanning plugins; please try again.',
color=(1, 0, 0))
ba.playsound(ba.getsound('error'))
diff --git a/ballisticacore-cmake/.idea/dictionaries/ericf.xml b/ballisticacore-cmake/.idea/dictionaries/ericf.xml
index 4cb8ba44..041f5d77 100644
--- a/ballisticacore-cmake/.idea/dictionaries/ericf.xml
+++ b/ballisticacore-cmake/.idea/dictionaries/ericf.xml
@@ -1101,6 +1101,7 @@
savebutton
sbytes
scancode
+ scanresults
scenetime
screenmessage
scrollwidget
@@ -1287,6 +1288,7 @@
topos
touchpad
toucs
+ tournamentbutton
toutf
tpartial
tpimport
diff --git a/src/ballistica/ballistica.cc b/src/ballistica/ballistica.cc
index ae5023f5..9126f0f4 100644
--- a/src/ballistica/ballistica.cc
+++ b/src/ballistica/ballistica.cc
@@ -21,7 +21,7 @@
namespace ballistica {
// These are set automatically via script; don't modify them here.
-const int kAppBuildNumber = 20637;
+const int kAppBuildNumber = 20638;
const char* kAppVersion = "1.7.4";
// Our standalone globals.
diff --git a/tools/batools/assetsmakefile.py b/tools/batools/assetsmakefile.py
index 0a87ea2b..53d7d50a 100755
--- a/tools/batools/assetsmakefile.py
+++ b/tools/batools/assetsmakefile.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env python3.10
# Released under the MIT License. See LICENSE for details.
#
"""Updates assets/Makefile based on source assets present."""
diff --git a/tools/batools/assetstaging.py b/tools/batools/assetstaging.py
index d174c39f..49f62f63 100755
--- a/tools/batools/assetstaging.py
+++ b/tools/batools/assetstaging.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env python3.10
# Released under the MIT License. See LICENSE for details.
#
"""Stage assets for a build."""
diff --git a/tools/batools/project.py b/tools/batools/project.py
index ee6df9e6..8d8dcf3d 100755
--- a/tools/batools/project.py
+++ b/tools/batools/project.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env python3.10
# Released under the MIT License. See LICENSE for details.
#
"""General project related functionality."""