bombsquad-mods-byfreaku/Maps/allMapsInOne/allMapsInOne.py
2022-02-06 11:53:33 +05:30

3027 lines
131 KiB
Python

from __future__ import annotations
## Map Credits: byANG3L ##
## Modpack Credits: BSWorld (https://youtu.be/1TN56NLlShE) ##
## Plugin by: Jinx (https://github.com/JinxBs/BombSquad-Community-Plugin-Manager/blob/main/plugins/allMapsInOne.py) ##
# was modified for "Freaku Maps" server by me ##
# ba_meta require api 6
import os, ssl, threading, urllib.request
from hashlib import md5
from typing import TYPE_CHECKING
import _ba, ba
from ba import _map
from bastd.gameutils import SharedObjects
ssl._create_default_https_context = ssl._create_unverified_context
if TYPE_CHECKING:
from typing import Any
file_naam = __name__ + '.py'
file_location = _ba.env()['python_directory_user'] + '/' + file_naam
my_version = 5
ur_version = 5
package_name = "Maps for \ue048Freaku's server"
package_files = {
# arena mini gore map
"arenaminigoreMapCob.cob": {
"md5": "fde6e6c61ffe5201dc814eeb97a84418",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/arenaminigoreMap/arenaminigoreMapCob.cob",
"target": "ba_data/models/arenaminigoreMapCob.cob"
},
"arenaminigoreMapColor.dds": {
"md5": "5380f35794ade00de4cc68de0d6e29ad",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/arenaminigoreMap/arenaminigoreMapColor.dds",
"target": "ba_data/textures/arenaminigoreMapColor.dds"
},
"arenaminigoreMapColor.ktx": {
"md5": "8588a0ae308f6e04f000eea6ffbdc00c",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/arenaminigoreMap/arenaminigoreMapColor.ktx",
"target": "ba_data/textures/arenaminigoreMapColor.ktx"
},
"arenaminigoreMap.bob": {
"md5": "42be9c3b8bf3f595d53b8b0223723194",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/arenaminigoreMap/arenaminigoreMap.bob",
"target": "ba_data/models/arenaminigoreMap.bob"
},
"arenaMinigorePreview.dds": {
"md5": "9eed3b7c488d0ef3738d63445b5ae7e3",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/arenaminigoreMap/arenaMinigorePreview.dds",
"target": "ba_data/textures/arenaMinigorePreview.dds"
},
"arenaMinigorePreview.ktx": {
"md5": "ad72dd59ac437f0dd3cd89ad073dd185",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/arenaminigoreMap/arenaMinigorePreview.ktx",
"target": "ba_data/textures/arenaMinigorePreview.ktx"
},
# bikini bottom map
"bikiniBottomMapBG.bob": {
"md5": "05313e78a62302fe2791ad8fd3ef24bc",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/bikiniBottomMap/bikiniBottomMapBG.bob",
"target": "ba_data/models/bikiniBottomMapBG.bob"
},
"bikiniBottomMapBGColor.ktx": {
"md5": "6c06dfc088b8edd54fab7a745b60061c",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/bikiniBottomMap/bikiniBottomMapBGColor.ktx",
"target": "ba_data/textures/bikiniBottomMapBGColor.ktx"
},
"cangremovilColor.ktx": {
"md5": "43301ff824cd1d485509674e6e49ed62",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/bikiniBottomMap/cangremovilColor.ktx",
"target": "ba_data/textures/cangremovilColor.ktx"
},
"bikiniBottomMapColor.ktx": {
"md5": "91f764531b63faa1c15753c4cfb9f299",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/bikiniBottomMap/bikiniBottomMapColor.ktx",
"target": "ba_data/textures/bikiniBottomMapColor.ktx"
},
"bikiniBottomMapColor.dds": {
"md5": "e499bfec39d793b0bf40424b99057e09",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/bikiniBottomMap/bikiniBottomMapColor.dds",
"target": "ba_data/textures/bikiniBottomMapColor.dds"
},
"bikiniBottomMapCob.cob": {
"md5": "1c5662b93973e69c63e449ee17fd523f",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/bikiniBottomMap/bikiniBottomMapCob.cob",
"target": "ba_data/models/bikiniBottomMapCob.cob"
},
"cangremovilColor.dds": {
"md5": "948f7a83275db17451c6b6ed862a5cd0",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/bikiniBottomMap/cangremovilColor.dds",
"target": "ba_data/textures/cangremovilColor.dds"
},
"bikiniBottomMapBGColor.dds": {
"md5": "33c0f36dad26b4ac904b3e2b8b53b913",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/bikiniBottomMap/bikiniBottomMapBGColor.dds",
"target": "ba_data/textures/bikiniBottomMapBGColor.dds"
},
"bikiniBottomPreview.dds": {
"md5": "93b19b85f00ebee9932da09f22bb4b15",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/bikiniBottomMap/bikiniBottomPreview.dds",
"target": "ba_data/textures/bikiniBottomPreview.dds"
},
"bikiniBottomPreview.ktx": {
"md5": "d9275a66db9dff147a50b0b769e21aea",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/bikiniBottomMap/bikiniBottomPreview.ktx",
"target": "ba_data/textures/bikiniBottomPreview.ktx"
},
"cangremovilModel.bob": {
"md5": "986d4699e7bfe3bf55db008634a503bf",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/bikiniBottomMap/cangremovilModel.bob",
"target": "ba_data/models/cangremovilModel.bob"
},
"bikiniBottomMap.bob": {
"md5": "bb10c4aedaa7fa0f82ac6a9b25d3dd53",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/bikiniBottomMap/bikiniBottomMap.bob",
"target": "ba_data/models/bikiniBottomMap.bob"
},
# bomberman map
"bombermanMapColor.dds": {
"md5": "ed7911ea9b23cea1c2044b27bc8a413c",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/bombermanMap/bombermanMapColor.dds",
"target": "ba_data/textures/bombermanMapColor.dds"
},
"bombermanMapPreview.ktx": {
"md5": "0d8579bcf5169588f23ff18b6d0c2338",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/bombermanMap/bombermanMapPreview.ktx",
"target": "ba_data/textures/bombermanMapPreview.ktx"
},
"bombermanMapPreview.dds": {
"md5": "297df338402bea9c49c4b7ff5ba0c593",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/bombermanMap/bombermanMapPreview.dds",
"target": "ba_data/textures/bombermanMapPreview.dds"
},
"bombermanMapCob.cob": {
"md5": "7a0ce7caf64821e04fbebdd32075ebc0",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/bombermanMap/bombermanMapCob.cob",
"target": "ba_data/models/bombermanMapCob.cob"
},
"bombermanMapColor.ktx": {
"md5": "9475047324957a7270143a173f71d2a9",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/bombermanMap/bombermanMapColor.ktx",
"target": "ba_data/textures/bombermanMapColor.ktx"
},
"bombermanMap.bob": {
"md5": "b1e809656e200056a1f5df9fbcac1c6f",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/bombermanMap/bombermanMap.bob",
"target": "ba_data/models/bombermanMap.bob"
},
# courage map
"courageBGColor.ktx": {
"md5": "f8b40a6652e3c4676c9a5a993e3da888",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/courageMap/courageBGColor.ktx",
"target": "ba_data/textures/courageBGColor.ktx"
},
"courageMapColor.ktx": {
"md5": "55d4cb427671307b3f079c6f17970e7f",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/courageMap/courageMapColor.ktx",
"target": "ba_data/textures/courageMapColor.ktx"
},
"courageMap.bob": {
"md5": "d4e13d0902a6bc94a5ec4582e685f432",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/courageMap/courageMap.bob",
"target": "ba_data/models/courageMap.bob"
},
"courageMapPreview.dds": {
"md5": "302a82c26f15d76d41a021b503cfbed4",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/courageMap/courageMapPreview.dds",
"target": "ba_data/textures/courageMapPreview.dds"
},
"courageMapPreview.ktx": {
"md5": "82ce6089d43c51bc49b70c1a2ec0410b",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/courageMap/courageMapPreview.ktx",
"target": "ba_data/textures/courageMapPreview.ktx"
},
"courageBGColor.dds": {
"md5": "7a1f36e515db763dbbc4dd964862c85b",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/courageMap/courageBGColor.dds",
"target": "ba_data/textures/courageBGColor.dds"
},
"courageMapColor.dds": {
"md5": "bab38b7ec1008e18e4725f80eec55010",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/courageMap/courageMapColor.dds",
"target": "ba_data/textures/courageMapColor.dds"
},
"courageMapCob.cob": {
"md5": "855b2aed970c961d11614e2445ad49b9",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/courageMap/courageMapCob.cob",
"target": "ba_data/models/courageMapCob.cob"
},
# cragcatle map
"cragCastleBigPreview.ktx": {
"md5": "85235ee6e75074c3b8dfd77fc8c84fe3",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/cragcastleMap/cragCastleBigPreview.ktx",
"target": "ba_data/textures/cragCastleBigPreview.ktx"
},
"cragCastleLevelBig.bob": {
"md5": "10975567481e02de6c13f01dd94942c3",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/cragcastleMap/cragCastleLevelBig.bob",
"target": "ba_data/models/cragCastleLevelBig.bob"
},
"cragCastleLevelBottomBig.bob": {
"md5": "39d5313854efb10054cf26bc9be09919",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/cragcastleMap/cragCastleLevelBottomBig.bob",
"target": "ba_data/models/cragCastleLevelBottomBig.bob"
},
"cragCastleLevelBumperBig.cob": {
"md5": "37427fc882b0c842f0457a17fb1c2bba",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/cragcastleMap/cragCastleLevelBumperBig.cob",
"target": "ba_data/models/cragCastleLevelBumperBig.cob"
},
"cragCastleBigPreview.dds": {
"md5": "682fcde82d682f2dabfdad36eca455e2",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/cragcastleMap/cragCastleBigPreview.dds",
"target": "ba_data/textures/cragCastleBigPreview.dds"
},
"cragCastleLevelCollideBig.cob": {
"md5": "5981bafc0a936e779c0e668af6739327",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/cragcastleMap/cragCastleLevelCollideBig.cob",
"target": "ba_data/models/cragCastleLevelCollideBig.cob"
},
# dreamland map
"dreamlandMapColor.dds": {
"md5": "bda203e2cfe909878652727ab2f210b1",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/dreamlandMap/dreamlandMapColor.dds",
"target": "ba_data/textures/dreamlandMapColor.dds"
},
"dreamlandMapNPreview.ktx": {
"md5": "a3b4332a4746b38cc537d67260cebc27",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/dreamlandMap/dreamlandMapNPreview.ktx",
"target": "ba_data/textures/dreamlandMapNPreview.ktx"
},
"dreamlandMapBottomCob.cob": {
"md5": "34fbf6c50e8ca999abb16d424d89fde8",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/dreamlandMap/dreamlandMapBottomCob.cob",
"target": "ba_data/models/dreamlandMapBottomCob.cob"
},
"dreamlandMapPreview.ktx": {
"md5": "994a4fd3f9225876e8b7136150e34bab",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/dreamlandMap/dreamlandMapPreview.ktx",
"target": "ba_data/textures/dreamlandMapPreview.ktx"
},
"dreamlandMapPreview.dds": {
"md5": "f58dbc7c8ccc68e7f157d8728192584f",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/dreamlandMap/dreamlandMapPreview.dds",
"target": "ba_data/textures/dreamlandMapPreview.dds"
},
"dreamlandMapCob.cob": {
"md5": "2c08f895e2792185092842f6099b80b9",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/dreamlandMap/dreamlandMapCob.cob",
"target": "ba_data/models/dreamlandMapCob.cob"
},
"dreamlandMapColor.ktx": {
"md5": "05314980d146b6fcebb46d57a6b7719c",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/dreamlandMap/dreamlandMapColor.ktx",
"target": "ba_data/textures/dreamlandMapColor.ktx"
},
"dreamlandMapNPreview.dds": {
"md5": "373683cae6db67f8652dc3ef7ccab59d",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/dreamlandMap/dreamlandMapNPreview.dds",
"target": "ba_data/textures/dreamlandMapNPreview.dds"
},
"uknucklesBGColor.ktx": {
"md5": "6556f72533b6e9c8ee0836a0c0c1a0fc",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/dreamlandMap/uknucklesBGColor.ktx",
"target": "ba_data/textures/uknucklesBGColor.ktx"
},
"dreamlandMapBottom.bob": {
"md5": "58a31fe6c07a42e25cb77d4c182dbf68",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/dreamlandMap/dreamlandMapBottom.bob",
"target": "ba_data/models/dreamlandMapBottom.bob"
},
"uknucklesBGColor.dds": {
"md5": "6850d4a1cf9018a9ca43a2ca07fb8bec",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/dreamlandMap/uknucklesBGColor.dds",
"target": "ba_data/textures/uknucklesBGColor.dds"
},
"dreamlandMap.bob": {
"md5": "0884957ab480c97f36652d082d280f96",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/dreamlandMap/dreamlandMap.bob",
"target": "ba_data/models/dreamlandMap.bob"
},
# elimination chamber raw
"ecMapColor.dds": {
"md5": "0d7345db0bda49b6d2ab80d5e1b71f0b",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/eliminationChamberRaw/ecMapColor.dds",
"target": "ba_data/textures/ecMapColor.dds"
},
"ecBGMap.bob": {
"md5": "a5bd0d85133a86c06bf74a6bbfdc1c34",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/eliminationChamberRaw/ecBGMap.bob",
"target": "ba_data/models/ecBGMap.bob"
},
"ecGlassMapCob.cob": {
"md5": "755b6838f3d4bbfe0447659878b437d5",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/eliminationChamberRaw/ecGlassMapCob.cob",
"target": "ba_data/models/ecGlassMapCob.cob"
},
"ecRawMapPreview.dds": {
"md5": "160cdf0558238e15de168a3ec178da89",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/eliminationChamberRaw/ecRawMapPreview.dds",
"target": "ba_data/textures/ecRawMapPreview.dds"
},
"ecRawNLMap.bob": {
"md5": "1616ad9e25600473cdb75954aaa3037a",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/eliminationChamberRaw/ecRawNLMap.bob",
"target": "ba_data/models/ecRawNLMap.bob"
},
"ecRawMapPreview.ktx": {
"md5": "2096ea7ccc79b5634b210b67fa4f254d",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/eliminationChamberRaw/ecRawMapPreview.ktx",
"target": "ba_data/textures/ecRawMapPreview.ktx"
},
"ecRawInvMap.bob": {
"md5": "54a556e9e62c185c03c65acb41e4b31d",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/eliminationChamberRaw/ecRawInvMap.bob",
"target": "ba_data/models/ecRawInvMap.bob"
},
"ecMapColor.ktx": {
"md5": "01e33af58c380fef2b840ed9ce23073b",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/eliminationChamberRaw/ecMapColor.ktx",
"target": "ba_data/textures/ecMapColor.ktx"
},
"ecMapCob.cob": {
"md5": "86d05e5a6a2c7ee168372a5779961051",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/eliminationChamberRaw/ecMapCob.cob",
"target": "ba_data/models/ecMapCob.cob"
},
"ecRawMap.bob": {
"md5": "8fc840ea238849d53f761a0a2ddd7d20",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/eliminationChamberRaw/ecRawMap.bob",
"target": "ba_data/models/ecRawMap.bob"
},
"ecExtMap.bob": {
"md5": "224b883703dc352fd550a8139e650c51",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/eliminationChamberRaw/ecExtMap.bob",
"target": "ba_data/models/ecExtMap.bob"
},
"ecRawGlassMap.bob": {
"md5": "3f943556b4f9691c5ca182ee394735cc",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/eliminationChamberRaw/ecRawGlassMap.bob",
"target": "ba_data/models/ecRawGlassMap.bob"
},
"ecExtMapCob.cob": {
"md5": "389a191ae68cabcc63886f05cec4c2d0",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/eliminationChamberRaw/ecExtMapCob.cob",
"target": "ba_data/models/ecExtMapCob.cob"
},
# elimination chamber sd
"ecSDMap.bob": {
"md5": "0a1cafe8222ceb919243d6bd2e328dc9",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/eliminationChamberSD/ecSDMap.bob",
"target": "ba_data/models/ecSDMap.bob"
},
"ecSDMapPreview.ktx": {
"md5": "5591a97277653d35effdf86c5b948dda",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/eliminationChamberSD/ecSDMapPreview.ktx",
"target": "ba_data/textures/ecSDMapPreview.ktx"
},
"ecMapColor.dds": {
"md5": "0d7345db0bda49b6d2ab80d5e1b71f0b",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/eliminationChamberSD/ecMapColor.dds",
"target": "ba_data/textures/ecMapColor.dds"
},
"ecBGMap.bob": {
"md5": "a5bd0d85133a86c06bf74a6bbfdc1c34",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/eliminationChamberSD/ecBGMap.bob",
"target": "ba_data/models/ecBGMap.bob"
},
"ecGlassMapCob.cob": {
"md5": "755b6838f3d4bbfe0447659878b437d5",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/eliminationChamberSD/ecGlassMapCob.cob",
"target": "ba_data/models/ecGlassMapCob.cob"
},
"ecMapColor.ktx": {
"md5": "01e33af58c380fef2b840ed9ce23073b",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/eliminationChamberSD/ecMapColor.ktx",
"target": "ba_data/textures/ecMapColor.ktx"
},
"ecMapCob.cob": {
"md5": "86d05e5a6a2c7ee168372a5779961051",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/eliminationChamberSD/ecMapCob.cob",
"target": "ba_data/models/ecMapCob.cob"
},
"ecSDMapPreview.dds": {
"md5": "09669b93fefbeca963cea00bf84ac95d",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/eliminationChamberSD/ecSDMapPreview.dds",
"target": "ba_data/textures/ecSDMapPreview.dds"
},
"ecSDNLMap.bob": {
"md5": "6e68e754cfc213b492c7e26fb673d9bd",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/eliminationChamberSD/ecSDNLMap.bob",
"target": "ba_data/models/ecSDNLMap.bob"
},
"ecExtMap.bob": {
"md5": "224b883703dc352fd550a8139e650c51",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/eliminationChamberSD/ecExtMap.bob",
"target": "ba_data/models/ecExtMap.bob"
},
"ecSDInvMap.bob": {
"md5": "a7842a820221353f9bedddbd335cc696",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/eliminationChamberSD/ecSDInvMap.bob",
"target": "ba_data/models/ecSDInvMap.bob"
},
"ecSDGlassMap.bob": {
"md5": "a9b01db08d5a5df894b51614c7399710",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/eliminationChamberSD/ecSDGlassMap.bob",
"target": "ba_data/models/ecSDGlassMap.bob"
},
"ecExtMapCob.cob": {
"md5": "389a191ae68cabcc63886f05cec4c2d0",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/eliminationChamberSD/ecExtMapCob.cob",
"target": "ba_data/models/ecExtMapCob.cob"
},
# gotcha map
"gotchaMapColor.dds": {
"md5": "9dbc9cf5f2e8ea488102ba75253b4c8a",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/gotchaMap/gotchaMapColor.dds",
"target": "ba_data/textures/gotchaMapColor.dds"
},
"gotchaMap.bob": {
"md5": "3415e902a77ffa579fd825da877c51f2",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/gotchaMap/gotchaMap.bob",
"target": "ba_data/models/gotchaMap.bob"
},
"gotchaMapColor.ktx": {
"md5": "f8ff1a19e1f994572ec7fe0b53098d74",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/gotchaMap/gotchaMapColor.ktx",
"target": "ba_data/textures/gotchaMapColor.ktx"
},
"gotchaMapRailing.cob": {
"md5": "4e99322da9ffb84a95acfdc451f67750",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/gotchaMap/gotchaMapRailing.cob",
"target": "ba_data/models/gotchaMapRailing.cob"
},
"gotchaMapBG.bob": {
"md5": "1903f42c0edc8403c9d1fbfb10a9cf7d",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/gotchaMap/gotchaMapBG.bob",
"target": "ba_data/models/gotchaMapBG.bob"
},
"gotchaMapCob.cob": {
"md5": "4196e66d85f35ae5ec3fe4004a2ef3f9",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/gotchaMap/gotchaMapCob.cob",
"target": "ba_data/models/gotchaMapCob.cob"
},
"gotchaMapPreview.ktx": {
"md5": "f17bc3d3eb68c43eec28e4ea20097810",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/gotchaMap/gotchaMapPreview.ktx",
"target": "ba_data/textures/gotchaMapPreview.ktx"
},
"gotchaMapPreview.dds": {
"md5": "20cf9237d3f49fa65f8790e832cd5342",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/gotchaMap/gotchaMapPreview.dds",
"target": "ba_data/textures/gotchaMapPreview.dds"
},
# gravity falls map
"gravityFallsMap.bob": {
"md5": "8835ac3225f7f79fd239d55968f52dc1",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/gravityFallsMap/gravityFallsMap.bob",
"target": "ba_data/models/gravityFallsMap.bob"
},
"gravityFallsMapCob.cob": {
"md5": "eab0568aff3978e0c79bcc0b4e5d4462",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/gravityFallsMap/gravityFallsMapCob.cob",
"target": "ba_data/models/gravityFallsMapCob.cob"
},
"gravityFallsMapD.bob": {
"md5": "d280b120b35af472e163a4d7a054c2aa",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/gravityFallsMap/gravityFallsMapD.bob",
"target": "ba_data/models/gravityFallsMapD.bob"
},
"gravityFallsMapColor.ktx": {
"md5": "0cfddb31c4c4834d982b56e33e6b6e1b",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/gravityFallsMap/gravityFallsMapColor.ktx",
"target": "ba_data/textures/gravityFallsMapColor.ktx"
},
"gravityFallsMapPreview.dds": {
"md5": "8d1be1942ef3f01b90ee2932ac757151",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/gravityFallsMap/gravityFallsMapPreview.dds",
"target": "ba_data/textures/gravityFallsMapPreview.dds"
},
"gravityFallsMapColor.dds": {
"md5": "adfc0b76353a860bc8352d709c4f116a",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/gravityFallsMap/gravityFallsMapColor.dds",
"target": "ba_data/textures/gravityFallsMapColor.dds"
},
"gravityFallsMapPreview.ktx": {
"md5": "b225a5dac315a2c9e68b444659f0bc64",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/gravityFallsMap/gravityFallsMapPreview.ktx",
"target": "ba_data/textures/gravityFallsMapPreview.ktx"
},
# guardian map
"skyGlassBG.ktx": {
"md5": "d0e0dcbcdc1a1a0ac2ee135a3deabd44",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/guardianMap/skyGlassBG.ktx",
"target": "ba_data/textures/skyGlassBG.ktx"
},
"guardianMapCob.cob": {
"md5": "648a46324ddb883ab66ee9e1f5578fb1",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/guardianMap/guardianMapCob.cob",
"target": "ba_data/models/guardianMapCob.cob"
},
"guardianMapPreview.dds": {
"md5": "6c93e078f2267f1fad9b893c5c27a9c0",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/guardianMap/guardianMapPreview.dds",
"target": "ba_data/textures/guardianMapPreview.dds"
},
"guardianMap.bob": {
"md5": "862cb7c9c1aa9bc02e343e82a2f32887",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/guardianMap/guardianMap.bob",
"target": "ba_data/models/guardianMap.bob"
},
"guardianMapColor.ktx": {
"md5": "ba9cf86e182e621e06e6b70b304b6eb2",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/guardianMap/guardianMapColor.ktx",
"target": "ba_data/textures/guardianMapColor.ktx"
},
"guardianMapColor.dds": {
"md5": "7f0b6ca414ae3b28aabc33994acf9f27",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/guardianMap/guardianMapColor.dds",
"target": "ba_data/textures/guardianMapColor.dds"
},
"skyGlassBG.dds": {
"md5": "3ec0945c5c188ec7d4989020fc414eb6",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/guardianMap/skyGlassBG.dds",
"target": "ba_data/textures/skyGlassBG.dds"
},
"guardianMapPreview.ktx": {
"md5": "7ac123c93e088f5df3f5f7738d9af421",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/guardianMap/guardianMapPreview.ktx",
"target": "ba_data/textures/guardianMapPreview.ktx"
},
# halloween map
"hwMap.bob": {
"md5": "bcd81762eaae80061dfe8655b3e779be",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/hwMap/hwMap.bob",
"target": "ba_data/models/hwMap.bob"
},
"hwMapColor.ktx": {
"md5": "f51257bf0ceb9a86fd604475a99ff197",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/hwMap/hwMapColor.ktx",
"target": "ba_data/textures/hwMapColor.ktx"
},
"hwMapCob.cob": {
"md5": "85c3a8957a74b4ec01686ce763a62787",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/hwMap/hwMapCob.cob",
"target": "ba_data/models/hwMapCob.cob"
},
"hwMapPreview.dds": {
"md5": "42fdcfb32000277ab05ab59ae26c6ffc",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/hwMap/hwMapPreview.dds",
"target": "ba_data/textures/hwMapPreview.dds"
},
"hwMapColor.dds": {
"md5": "c54b4d09c9e3b9fab95f8ce1fc0ee62d",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/hwMap/hwMapColor.dds",
"target": "ba_data/textures/hwMapColor.dds"
},
"hwMapPreview.ktx": {
"md5": "d2b1daeb416f96907c65c5cd0518fdb9",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/hwMap/hwMapPreview.ktx",
"target": "ba_data/textures/hwMapPreview.ktx"
},
# ice map
"iceMapColor.dds": {
"md5": "61dadb6e68eab0e69abcb891500aa0d5",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/iceMap/iceMapColor.dds",
"target": "ba_data/textures/iceMapColor.dds"
},
"iceMapTopCob.cob": {
"md5": "420edc2422d4a75253d1d372718eaa92",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/iceMap/iceMapTopCob.cob",
"target": "ba_data/models/iceMapTopCob.cob"
},
"iceMapTop.bob": {
"md5": "1c2afc3f7b17d1e788150945fb19af7c",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/iceMap/iceMapTop.bob",
"target": "ba_data/models/iceMapTop.bob"
},
"iceMapPreview.ktx": {
"md5": "39146f2246341c7036d044bb54fdb788",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/iceMap/iceMapPreview.ktx",
"target": "ba_data/textures/iceMapPreview.ktx"
},
"iceMapIce.bob": {
"md5": "b89807481e96f854b97b37f38709831d",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/iceMap/iceMapIce.bob",
"target": "ba_data/models/iceMapIce.bob"
},
"natureBackgroundNColor.dds": {
"md5": "2a0e93248cd284ec5875c2fd005ca8e3",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/iceMap/natureBackgroundNColor.dds",
"target": "ba_data/textures/natureBackgroundNColor.dds"
},
"iceMapPreview.dds": {
"md5": "d874e09943d502b689e92a3c32bfe3cc",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/iceMap/iceMapPreview.dds",
"target": "ba_data/textures/iceMapPreview.dds"
},
"iceMapBottom.bob": {
"md5": "c61b7d717399565a6320a3278da9b827",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/iceMap/iceMapBottom.bob",
"target": "ba_data/models/iceMapBottom.bob"
},
"iceMapIceCob.cob": {
"md5": "6b1ab014d59932666e59923132b658ca",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/iceMap/iceMapIceCob.cob",
"target": "ba_data/models/iceMapIceCob.cob"
},
"iceMapColor.ktx": {
"md5": "29cca7526a8c928505913e89d8e6136b",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/iceMap/iceMapColor.ktx",
"target": "ba_data/textures/iceMapColor.ktx"
},
"iceMapBottomCob.cob": {
"md5": "76185914f2f3a86771d4781116ec4933",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/iceMap/iceMapBottomCob.cob",
"target": "ba_data/models/iceMapBottomCob.cob"
},
"natureBackgroundNColor.ktx": {
"md5": "e00ec03bee7ad98e704cc361ed11882f",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/iceMap/natureBackgroundNColor.ktx",
"target": "ba_data/textures/natureBackgroundNColor.ktx"
},
# krusty krab map
"krustyKrabBGMapColor.ktx": {
"md5": "33715489d4cc5754d2e91521df0be6f4",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/krustyKrabMap/krustyKrabBGMapColor.ktx",
"target": "ba_data/textures/krustyKrabBGMapColor.ktx"
},
"krustyKrabMap.bob": {
"md5": "4c46a9d561c5dced7aed232c72dfcc05",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/krustyKrabMap/krustyKrabMap.bob",
"target": "ba_data/models/krustyKrabMap.bob"
},
"krustyKrabBGMapColor.dds": {
"md5": "2b461c1f4156c489220fad1100cd909b",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/krustyKrabMap/krustyKrabBGMapColor.dds",
"target": "ba_data/textures/krustyKrabBGMapColor.dds"
},
"krustyKrabMapColor.ktx": {
"md5": "4574504d09c683871c7ad36b55a80f7e",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/krustyKrabMap/krustyKrabMapColor.ktx",
"target": "ba_data/textures/krustyKrabMapColor.ktx"
},
"krustyKrabBGMap.bob": {
"md5": "85f20afe5b8d6b8dd6c1b668d26ab3b3",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/krustyKrabMap/krustyKrabBGMap.bob",
"target": "ba_data/models/krustyKrabBGMap.bob"
},
"krustyKrabMapPreview.ktx": {
"md5": "fdb37b5db63f2018c55fd72a9e98009e",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/krustyKrabMap/krustyKrabMapPreview.ktx",
"target": "ba_data/textures/krustyKrabMapPreview.ktx"
},
"krustyKrabMapPreview.dds": {
"md5": "171854a77bf1ae688cc6d3f5d01d4114",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/krustyKrabMap/krustyKrabMapPreview.dds",
"target": "ba_data/textures/krustyKrabMapPreview.dds"
},
"krustyKrabMapColor.dds": {
"md5": "ce0a8641a8ecd248ffd6b03f1e606638",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/krustyKrabMap/krustyKrabMapColor.dds",
"target": "ba_data/textures/krustyKrabMapColor.dds"
},
"krustyKrabMapCob.cob": {
"md5": "d5087aa84f1aff77302d9da64d59a049",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/krustyKrabMap/krustyKrabMapCob.cob",
"target": "ba_data/models/krustyKrabMapCob.cob"
},
# picnic map
"mapPicnicPreview.ktx": {
"md5": "77b8b0ac74f0cdd05f81bb7024f120dc",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/mapPicnic/mapPicnicPreview.ktx",
"target": "ba_data/textures/mapPicnicPreview.ktx"
},
"mapPicnic.bob": {
"md5": "7d5f423039ff8158ee66c8238b4d5ef8",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/mapPicnic/mapPicnic.bob",
"target": "ba_data/models/mapPicnic.bob"
},
"mapPicnicCob.cob": {
"md5": "0f6de05dbfeb0ed5b32ec14fbdbc8c4a",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/mapPicnic/mapPicnicCob.cob",
"target": "ba_data/models/mapPicnicCob.cob"
},
"mapPicnicDeathCob.cob": {
"md5": "4ca617e5900561452e2a1451e61f596a",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/mapPicnic/mapPicnicDeathCob.cob",
"target": "ba_data/models/mapPicnicDeathCob.cob"
},
"mapPicnicTransparent.bob": {
"md5": "8590631c1a0e40a549c955541ece7375",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/mapPicnic/mapPicnicTransparent.bob",
"target": "ba_data/models/mapPicnicTransparent.bob"
},
"mapPicnicColor.ktx": {
"md5": "8d680a695c4b3c646a1d868e448e5f08",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/mapPicnic/mapPicnicColor.ktx",
"target": "ba_data/textures/mapPicnicColor.ktx"
},
"mapPicnicTransparentCob.cob": {
"md5": "fce6f383c3e1c123577f584edb1395cd",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/mapPicnic/mapPicnicTransparentCob.cob",
"target": "ba_data/models/mapPicnicTransparentCob.cob"
},
"mapPicnicColor.dds": {
"md5": "5819ab98ba94437477162044ee2a7b8f",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/mapPicnic/mapPicnicColor.dds",
"target": "ba_data/textures/mapPicnicColor.dds"
},
"mapPicnicPreview.dds": {
"md5": "2c843812693868eaaa3b675650cf4f9c",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/mapPicnic/mapPicnicPreview.dds",
"target": "ba_data/textures/mapPicnicPreview.dds"
},
# mario world map
"mbwMapPreview.dds": {
"md5": "6c6d7062799de2b898a2c674e3ffb314",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/mbwMap/mbwMapPreview.dds",
"target": "ba_data/textures/mbwMapPreview.dds"
},
"mbw.bob": {
"md5": "9e691e5f440fda84ca62337d39e55fba",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/mbwMap/mbw.bob",
"target": "ba_data/models/mbw.bob"
},
"mbwColor.ktx": {
"md5": "5278e9c816df915c26ade9e8385689ed",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/mbwMap/mbwColor.ktx",
"target": "ba_data/textures/mbwColor.ktx"
},
"mbwMapPreview.ktx": {
"md5": "77b9229478fce80db42a095eb8006b41",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/mbwMap/mbwMapPreview.ktx",
"target": "ba_data/textures/mbwMapPreview.ktx"
},
"mbwCob.cob": {
"md5": "2d043b3b0f79d8702db2a4e2c4207895",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/mbwMap/mbwCob.cob",
"target": "ba_data/models/mbwCob.cob"
},
"mbwColor.dds": {
"md5": "cf23e23848984494b2bf66e72687a5ff",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/mbwMap/mbwColor.dds",
"target": "ba_data/textures/mbwColor.dds"
},
# pacman map
"pacmanMapPreview.dds": {
"md5": "b5b99904392f574f7f799e8d64c3b7c6",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/pacmanMap/pacmanMapPreview.dds",
"target": "ba_data/textures/pacmanMapPreview.dds"
},
"pacmanMap.bob": {
"md5": "c3123b22e06547968b6ec5d6c6986a0f",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/pacmanMap/pacmanMap.bob",
"target": "ba_data/models/pacmanMap.bob"
},
"pacmanMapColor.ktx": {
"md5": "4c622b279250158afcfe9137a8d8b11a",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/pacmanMap/pacmanMapColor.ktx",
"target": "ba_data/textures/pacmanMapColor.ktx"
},
"pacmanMapColor.dds": {
"md5": "4c797309320a6d8e6426ae5534e7a140",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/pacmanMap/pacmanMapColor.dds",
"target": "ba_data/textures/pacmanMapColor.dds"
},
"pacmanMapPreview.ktx": {
"md5": "1c2bf698b76cd05157b75d14cd84d6ac",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/pacmanMap/pacmanMapPreview.ktx",
"target": "ba_data/textures/pacmanMapPreview.ktx"
},
"pacmanMapCob.cob": {
"md5": "47843aac9f607568e9cb087302984088",
"url": "https://raw.githubusercontent.com/JinxBs/BombSquad-Community-Plugin-Manager/main/Maps/pacmanMap/pacmanMapCob.cob",
"target": "ba_data/models/pacmanMapCob.cob"
},
# geom map
"geomArcoMap.bob": {
"md5": "37dbfb68c13bbeeba708e4b6039f8f12",
"url": "https://github.com/Freaku17/BombSquad-Mods-byFreaku/blob/main/Maps/Geometry2D/geomArcoMap.bob?raw=true",
"target": "ba_data/models/geomArcoMap.bob"
},
"geomExtraMap.bob": {
"md5": "29ec1b79df4c66bb79c61b42305e1be5",
"url": "https://github.com/Freaku17/BombSquad-Mods-byFreaku/blob/main/Maps/Geometry2D/geomExtraMap.bob?raw=true",
"target": "ba_data/models/geomExtraMap.bob"
},
"geomMap.bob": {
"md5": "1229805f9511ce739badd87da1b7dae9",
"url": "https://github.com/Freaku17/BombSquad-Mods-byFreaku/blob/main/Maps/Geometry2D/geomMap.bob?raw=true",
"target": "ba_data/models/geomMap.bob"
},
"geomMapBG.bob": {
"md5": "84a5bcd0405b1c8f03634af6f5ee2bb6",
"url": "https://github.com/Freaku17/BombSquad-Mods-byFreaku/blob/main/Maps/Geometry2D/geomMapBG.bob?raw=true",
"target": "ba_data/models/geomMapBG.bob"
},
"geomMapBGColor.dds": {
"md5": "9f5cfdb9ade877c3557308d467d6fa74",
"url": "https://github.com/Freaku17/BombSquad-Mods-byFreaku/blob/main/Maps/Geometry2D/geomMapBGColor.dds?raw=true",
"target": "ba_data/textures/geomMapBGColor.dds"
},
"geomMapBGColor.ktx": {
"md5": "2de2a3390e3ddea36178f8197ffefabb",
"url": "https://github.com/Freaku17/BombSquad-Mods-byFreaku/blob/main/Maps/Geometry2D/geomMapBGColor.ktx?raw=true",
"target": "ba_data/textures/geomMapBGColor.ktx"
},
"geomMapColor.dds": {
"md5": "3b64295efd44a3ee5dc6ec0606aa43dc",
"url": "https://github.com/Freaku17/BombSquad-Mods-byFreaku/blob/main/Maps/Geometry2D/geomMapColor.dds?raw=true",
"target": "ba_data/textures/geomMapColor.dds"
},
"geomMapColor.ktx": {
"md5": "09c37e28d613112977b9de01d548354c",
"url": "https://github.com/Freaku17/BombSquad-Mods-byFreaku/blob/main/Maps/Geometry2D/geomMapColor.ktx?raw=true",
"target": "ba_data/textures/geomMapColor.ktx"
},
"geomMapDeathCob.cob": {
"md5": "f6cfb43bccc522c461dd700cfd41ee57",
"url": "https://github.com/Freaku17/BombSquad-Mods-byFreaku/blob/main/Maps/Geometry2D/geomMapDeathCob.cob?raw=true",
"target": "ba_data/models/geomMapDeathCob.cob"
},
"geomMapPreview.dds": {
"md5": "7f6feb2c7c413cc572c987e37d2b3147",
"url": "https://github.com/Freaku17/BombSquad-Mods-byFreaku/blob/main/Maps/Geometry2D/geomMapPreview.dds?raw=true",
"target": "ba_data/textures/geomMapPreview.dds"
},
"geomMapPreview.ktx": {
"md5": "bdf84c5f279e9fce5b6beac924bc09bf",
"url": "https://github.com/Freaku17/BombSquad-Mods-byFreaku/blob/main/Maps/Geometry2D/geomMapPreview.ktx?raw=true",
"target": "ba_data/textures/geomMapPreview.ktx"
},
"geomMapCob.cob": {
"md5": "ac62d729bb62bb98081c816814e390d3",
"url": "https://github.com/Freaku17/BombSquad-Mods-byFreaku/blob/main/Maps/Geometry2D/geomMapCob.cob?raw=true",
"target": "ba_data/models/geomMapCob.cob"
},
# lava map
"washMap.bob": {
"md5": "f6d1537b7a4a6c4ae2ed258d44ba51a0",
"url": "https://raw.githubusercontent.com/Freaku17/BombSquad-Mods-byFreaku/main/Maps/LavaMap/washMap.bob",
"target": "ba_data/models/washMap.bob"
},
"washMapBG.bob": {
"md5": "7943b3d5133742aad663d96404e8b6ff",
"url": "https://raw.githubusercontent.com/Freaku17/BombSquad-Mods-byFreaku/main/Maps/LavaMap/washMapBG.bob",
"target": "ba_data/models/washMapBG.bob"
},
"washMapCob.cob": {
"md5": "e7b32899e5a2517dc8e4616ea38a48ea",
"url": "https://raw.githubusercontent.com/Freaku17/BombSquad-Mods-byFreaku/main/Maps/LavaMap/washMapCob.cob",
"target": "ba_data/models/washMapCob.cob"
},
"washMapColor.dds": {
"md5": "ba2ff0a35404e591e4bada4eada7fb80",
"url": "https://raw.githubusercontent.com/Freaku17/BombSquad-Mods-byFreaku/main/Maps/LavaMap/washMapColor.dds",
"target": "ba_data/textures/washMapColor.dds"
},
"washMapColor.ktx": {
"md5": "1340f62ffcd0385045894d2513d67969",
"url": "https://raw.githubusercontent.com/Freaku17/BombSquad-Mods-byFreaku/main/Maps/LavaMap/washMapColor.ktx",
"target": "ba_data/textures/washMapColor.ktx"
},
"washMapDeath.bob": {
"md5": "6731144ddfc55b08c03c3c48462e7df0",
"url": "https://raw.githubusercontent.com/Freaku17/BombSquad-Mods-byFreaku/main/Maps/LavaMap/washMapDeath.bob",
"target": "ba_data/models/washMapDeath.bob"
},
"washMapDeathCob.cob": {
"md5": "70daadd2374198bd5d71dadc1828c96b",
"url": "https://raw.githubusercontent.com/Freaku17/BombSquad-Mods-byFreaku/main/Maps/LavaMap/washMapDeathCob.cob",
"target": "ba_data/models/washMapDeathCob.cob"
},
"washMapPreview.ktx": {
"md5": "35090e1fad9b5344ca152312d51bb65d",
"url": "https://raw.githubusercontent.com/Freaku17/BombSquad-Mods-byFreaku/main/Maps/LavaMap/washMapPreview.ktx",
"target": "ba_data/textures/washMapPreview.ktx"
},
"washMapPreview.dds": {
"md5": "91bc3dccd1cbf95c6ddf75702024a991",
"url": "https://raw.githubusercontent.com/Freaku17/BombSquad-Mods-byFreaku/main/Maps/LavaMap/washMapPreview.dds",
"target": "ba_data/textures/washMapPreview.dds"
}
}
def Install_msg():
ba.screenmessage(f"Installing: {package_name}", color=(1, 1, 0))
def Update_msg():
ba.screenmessage(f"Updating: {package_name}", color=(1,1,0))
def Update_success():
ba.screenmessage(f"Update Success, please restart game :)", color=(1,1,0))
class PackInstaller:
def __init__(self, name, package_files):
self.name = name
self.package_files = package_files
self.give_update_popup = False
self.give_update_success = False
if self._installed():
threading.Thread(target=self.check_update).start()
ba.timer(3, self.get_update_clue)
ba.timer(5, self.update_success_clue)
return
try:
ba.timer(1, Install_msg)
download = threading.Thread(target=self.download)
download.start()
except:
ba.print_exception()
def check_update(self):
check_url = "https://raw.githubusercontent.com/Freaku17/BombSquad-Mods-byFreaku/main/Maps/allMapsInOne/url_version.txt"
try:
response = urllib.request.urlopen(check_url)
if response.getcode() == 200:
ur_version = response.read().decode()
except Exception as e:
print(e)
ur_version = my_version
if int(ur_version) > my_version:
self.give_update_popup = True
self.updateit()
else: return
def updateit(self):
update_url = "https://raw.githubusercontent.com/Freaku17/BombSquad-Mods-byFreaku/main/Maps/allMapsInOne/allMapsInOne.py"
updated_file = ""
try:
response = urllib.request.urlopen(update_url)
if response.getcode() == 200:
updated_file = response.read().decode()
with open(file_location, 'w+') as f:
f.write(updated_file)
f.close()
self.give_update_success = True
except Exception as e:
print(e)
def get_update_clue(self):
if self.give_update_popup: Update_msg()
def update_success_clue(self):
if self.give_update_success: Update_success()
def _get_md5(self, file):
with open(file, 'rb') as f:
data = f.read()
return md5(data).hexdigest()
def _installed(self):
for info in self.package_files.values():
if not os.path.exists(info['target']):
return False
if check_md5:
if self._get_md5(info['target']) != info['md5']:
return False
return True
def download(self):
for info in self.package_files.values():
# download only if file isnt present
if os.path.exists(info['target']) and self._get_md5(info['target']) == info['md5']:
continue
request = info['url']
try:
response = urllib.request.urlopen(request)
if response.getcode() == 200:
data = response.read()
with open(info['target'], 'wb') as f:
f.write(data)
except:
ba.print_exception()
class geomMapDefs:
# This file was automatically generated from "alwaysLandLevel.ma"
points= {}
boxes = {}
points['ffa_spawn1'] = (-12.0422, 14.94395, -5.44451) + (1.55584, 0.05, 0.11656)
points['ffa_spawn2'] = (8.44448, 14.94068, -5.61448) + (1.55386, 0.05, 0.0442)
points['ffa_spawn3'] = (-7.23133, 12.23867, -5.61448) + (1.33793, 0.05, 0.0442)
points['ffa_spawn4'] = (3.96227, 12.25704, -5.61448) + (1.33793, 0.05, 0.0442)
points['ffa_spawn5'] = (-12.97798, 7.37773, -5.61448) + (0.90462, 0.05, 0.0442)
points['ffa_spawn6'] = (5.83325, 7.69005, -5.52167) + (0.97071, 0.05, 0.00758)
points['flag1'] = (-13.02317, 7.59685, -5.52)
points['flag2'] = (10.71013, 6.72526, -5.52)
points['flag3'] = (-12.12348, 15.19512, -5.52)
points['flag4'] = (8.56178, 15.09921, -5.52)
points['flag_default'] = (-1.91162, 10.61648, -5.52)
points['powerup_spawn1'] = (-13.62341, 15.21751, -5.46911)
points['powerup_spawn2'] = (10.21625, 15.23359, -5.50572)
points['powerup_spawn3'] = (-7.79082, 6.81023, -5.57623)
points['powerup_spawn4'] = (0.64672, 6.66186, -5.57623)
points['spawn1'] = (-12.96446, 7.35024, -5.44451) + (0.92773, 0.05, 0.11656)
points['spawn2'] = (10.77293, 6.6801, -5.61448) + (0.81303, 0.05, 0.0442)
points['spawn_by_flag1'] = (-13.01779, 7.34912, -5.44451) + (0.80423, 0.05, 0.11656)
points['spawn_by_flag2'] = (10.76989, 6.67741, -5.61448) + (0.70346, 0.05, 0.0442)
points['spawn_by_flag3'] = (-12.23744, 14.93243, -5.53528) + (0.95164, 0.05, 0.08607)
points['spawn_by_flag4'] = (8.6825, 14.95201, -5.59898) + (0.69982, 0.05, 0.01941)
boxes['area_of_interest_bounds'] = (-1.04586, 12.67723, -5.40154) + (0, 0, 0) + (34.46157, 20.94045, 0.69316)
boxes['map_bounds'] = (-0.87483, 9.21294, -5.72954) + (0, 0, 0) + (36.09666, 26.1995, 7.89541)
class GeomMap(ba.Map):
defs = geomMapDefs()
name = 'Geometrical Dominator'
@classmethod
def get_play_types(cls) -> List[str]:
"""Return valid play types for this map."""
return ['melee', 'keep_away', 'team_flag', 'conquest', 'king_of_the_hill']
@classmethod
def get_preview_texture_name(cls) -> str:
return 'geomMapPreview'
@classmethod
def on_preload(cls) -> Any:
data: Dict[str, Any] = {
'model': ba.getmodel('geomMap'),
'model_arco': ba.getmodel('geomArcoMap'),
'model_extra': ba.getmodel('geomExtraMap'),
'collide_model': ba.getcollidemodel('geomMapCob'),
'collide_death': ba.getcollidemodel('geomMapDeathCob'),
'tex': ba.gettexture('geomMapColor'),
'bg_tex': ba.gettexture('geomMapBGColor'),
'bg_model': ba.getmodel('alwaysLandBG'),
'bg_model2': ba.getmodel('geomMapBG'),
'bg_material': ba.Material()
}
data['bg_material'].add_actions(actions=('modify_part_collision',
'friction', 10.0))
return data
@classmethod
def get_music_type(cls) -> ba.MusicType:
return ba.MusicType.FLYING
def __init__(self) -> None:
super().__init__(vr_overlay_offset=(0, -3.7, 2.5))
shared = SharedObjects.get()
self.node = ba.newnode(
'terrain',
delegate=self,
attrs={
'collide_model': self.preloaddata['collide_model'],
'model': self.preloaddata['model'],
'color_texture': self.preloaddata['tex'],
'materials': [shared.footing_material]
})
self.nodeArco = ba.newnode('terrain', delegate=self, attrs={
'model': self.preloaddata['model_arco'],
'lighting': False,
'color_texture': self.preloaddata['tex']
})
self.nodeExtra = ba.newnode(
'terrain',
delegate=self,
attrs={
'model': self.preloaddata['model_extra'],
'lighting': False,
'color_texture': self.preloaddata['tex']
})
self.death = ba.newnode('terrain', delegate=self, attrs={
'collide_model':self.preloaddata['collide_death'],
'materials':[shared.footing_material, shared.death_material]})
self.foo = ba.newnode('terrain', attrs={
'model':self.preloaddata['bg_model'],
'lighting':False,
'background':True,
'color_texture':self.preloaddata['bg_tex']})
self.bg = ba.newnode('terrain', attrs={
'model':self.preloaddata['bg_model2'],
'lighting':False,
'background':True,
'color_texture':self.preloaddata['bg_tex']})
gnode = ba.getactivity().globalsnode
gnode.happy_thoughts_mode = True
gnode.shadow_offset = (0.0, 8.0, 5.0)
gnode.tint = (1.3, 1.23, 1.0)
gnode.ambient_color = (1.3, 1.23, 1.0)
gnode.vignette_outer = (0.64, 0.59, 0.69)
gnode.vignette_inner = (0.95, 0.95, 0.93)
gnode.vr_near_clip = 1.0
self.is_flying = True
# throw out some tips on flying
txt = ba.newnode('text',
attrs={
'text': ba.Lstr(resource='pressJumpToFlyText'),
'scale': 1.2,
'maxwidth': 800,
'position': (0, 200),
'shadow': 0.5,
'flatness': 0.5,
'h_align': 'center',
'v_attach': 'bottom'
})
cmb = ba.newnode('combine',
owner=txt,
attrs={
'size': 4,
'input0': 0.3,
'input1': 0.9,
'input2': 0.0
})
ba.animate(cmb, 'input3', {3.0: 0, 4.0: 1, 9.0: 1, 10.0: 0})
cmb.connectattr('output', txt, 'color')
ba.timer(10.0, txt.delete)
class washMapDefs:
# pylint: disable=all
points = {}
# noinspection PyDictCreation
boxes = {}
points['ffa_spawn1'] = (-0.04757, 1.09686, -3.89173) + (3.8064, 0.05, 0.44435)
points['ffa_spawn2'] = (-0.04757, 1.08571, 3.37578) + (3.8064, 0.05, 0.44435)
points['flag_default'] = (-0.10014, 1.44659, -0.47588)
points['powerup_spawn1'] = (-0.30229, 1.50386, -7.7884)
points['powerup_spawn2'] = (-7.553, 1.50386, -0.3482)
points['powerup_spawn3'] = (-0.3006, 1.50386, 7.01017)
points['powerup_spawn4'] = (7.23978, 1.50386, -0.35983)
points['spawn1'] = (-3.48876, 1.09929, -0.24436) + (0.5, 0.05, 4.0)
points['spawn2'] = (3.40264, 1.1049, -0.27694) + (0.5, 0.05, 4.0)
boxes['area_of_interest_bounds'] = (0.0, 1.18575,0.43262) + (0.0, 0.0, 0.0) + (29.81803, 17.99181, 18.89134)
boxes['edge_box'] = (-0.10387, 0.41333, 0.42947) + (0.0, 0.0, 0.0) + (22.48296, 1.29024, 8.99025)
boxes['map_bounds'] = (0.0, 1.18575, 0.43262) + (0.0, 0.0, 0.0) + (42.09507, 35.46551, 29.76723)
class WashMap(ba.Map):
defs = washMapDefs()
name = 'Wash Map'
@classmethod
def get_play_types(cls) -> List[str]:
"""Return valid play types for this map."""
return ['melee', 'king_of_the_hill', 'keep_away']
@classmethod
def get_preview_texture_name(cls) -> str:
return 'washMapPreview'
@classmethod
def on_preload(cls) -> Any:
data: Dict[str, Any] = {
'model': ba.getmodel('washMap'),
'collide_model': ba.getcollidemodel('washMapCob'),
'model_death': ba.getmodel('washMapDeath'),
'collide_death': ba.getcollidemodel('washMapDeathCob'),
'tex': ba.gettexture('washMapColor'),
'model_bg': ba.getmodel('washMapBG'),
'bg_material': ba.Material()
}
data['bg_material'].add_actions(actions=('modify_part_collision',
'friction', 10.0))
return data
def __init__(self):
super().__init__()
shared = SharedObjects.get()
self.node = ba.newnode(
'terrain',
delegate=self,
attrs={
'collide_model': self.preloaddata['collide_model'],
'model': self.preloaddata['model'],
'color_texture': self.preloaddata['tex'],
'materials': [shared.footing_material]
})
self.death = ba.newnode(
'terrain',
delegate=self,
attrs={
'collide_model': self.preloaddata['collide_death'],
'model': self.preloaddata['model_death'],
'color_texture': self.preloaddata['tex'],
'materials': [shared.footing_material,
shared.death_material]
})
self.background = ba.newnode(
'terrain',
delegate=self,
attrs={
'model': self.preloaddata['model_bg'],
'lighting': False,
'background': True,
'color_texture': self.preloaddata['tex']
})
gnode = ba.getactivity().globalsnode
gnode.tint = (1.1, 1.1, 1.0)
gnode.ambient_color = (1.1, 1.1, 1.0)
gnode.vignette_outer = (0.7, 0.65, 0.75)
gnode.vignette_inner = (0.95, 0.95, 0.93)
class ArenaminigoremapDefs:
# This file was automatically generated from "thePadLevel.ma"
points = {}
boxes = {}
points['ffa_spawn1'] = (-4.42149, 3.1618, -7.59045) + (3.13882, 0.05, 2.58941)
points['ffa_spawn2'] = (4.89134, 3.18797, -7.59754) + (3.13385, 0.05, 2.56661)
points['ffa_spawn3'] = (4.87849, 3.16192, 1.10463) + (3.11134, 0.05, 2.49891)
points['ffa_spawn4'] = (-4.42791, 3.16192, 1.10463) + (3.12373, 0.05, 2.57577)
points['flag1'] = (-8.85376, 3.08991, -3.21865)
points['flag2'] = (9.53636, 3.14715, -3.35611)
points['flag_default'] = (0.30888, 3.16322, -3.28703)
points['powerup_spawn1'] = (-4.16659, 3.42372, -6.42749)
points['powerup_spawn2'] = (4.42687, 3.48435, -6.32974)
points['powerup_spawn3'] = (-4.20169, 3.26527, 0.44007)
points['powerup_spawn4'] = (4.75892, 3.26527, 0.34941)
points['spawn1'] = (-8.35908, 3.1618, -3.16719) + (0.42967, 0.05, 2.68171)
points['spawn2'] = (8.96465, 3.18797, -3.18894) + (0.42967, 0.05, 2.68171)
points['tnt1'] = (-7.91677, 3.55083, -10.26691)
points['tnt2'] = (8.8223, 3.55083, -10.26691)
points['tnt3'] = (-7.91677, 3.55083, 3.94815)
points['tnt4'] = (8.8223, 3.55083, 3.94815)
boxes['area_of_interest_bounds'] = (0.35634, 4.49356, -2.2642) + (0, 0, 0) + (17.33594, 12.05851, 18.50299)
boxes['map_bounds'] = (0.25894, 4.89966, -3.79786) + (0, 0, 0) + (30.44458, 21.24073, 29.92689)
class ArenaMinigore(ba.Map):
defs = ArenaminigoremapDefs()
name = 'Hardland Arena'
@classmethod
def get_play_types(cls) -> list[str]:
"""Return valid play types for this map."""
return ['melee', 'keep_away', 'team_flag', 'king_of_the_hill']
@classmethod
def get_preview_texture_name(cls) -> str:
return 'arenaMinigorePreview'
@classmethod
def on_preload(cls) -> Any:
data: dict[str, Any] = {
'model': ba.getmodel('arenaminigoreMap'),
'collide_model': ba.getcollidemodel('arenaminigoreMapCob'),
'tex': ba.gettexture('arenaminigoreMapColor')
}
return data
def __init__(self) -> None:
super().__init__()
shared = SharedObjects.get()
self.node = ba.newnode(
'terrain',
delegate=self,
attrs={
'collide_model': self.preloaddata['collide_model'],
'model': self.preloaddata['model'],
'color_texture': self.preloaddata['tex'],
'materials': [shared.footing_material]
})
gnode = ba.getactivity().globalsnode
gnode.tint = (1.1, 1.1, 1.0)
gnode.ambient_color = (1.1, 1.1, 1.0)
gnode.vignette_outer = (0.7, 0.65, 0.75)
gnode.vignette_inner = (0.95, 0.95, 0.93)
class BikiniBottomDefs:
# This file was automatically generated from "thePadLevel.ma"
points = {}
boxes = {}
points['ffa_spawn1'] = (-12.941, 0.49259, 0.40543) + (0.4868, 0.05, 1.25935)
points['ffa_spawn2'] = (10.01692, 0.53469, -5.54644) + (2.14841, 0.05, 0.69308)
points['ffa_spawn3'] = (12.65346, 0.5398, 0.32502) + (0.41375, 0.05, 1.32322)
points['ffa_spawn4'] = (-9.92497, 0.54031, -5.55539) + (2.1591, 0.05, 0.65578)
points['flag1'] = (-10.10481, 0.81866, 5.65734)
points['flag2'] = (9.64363, 0.7631, 5.65322)
points['flag_default'] = (0.20325, 3.43438, -4.75406)
points['powerup_spawn1'] = (-7.33996, 0.7924, 1.15642)
points['powerup_spawn2'] = (-2.61051, 0.7562, 1.13188)
points['powerup_spawn3'] = (2.95595, 0.75344, 1.11008)
points['powerup_spawn4'] = (7.01624, 0.77552, 1.14522)
points['spawn1'] = (-9.92708, 0.52016, -5.56546) + (2.30817, 0.05, 0.69569)
points['spawn2'] = (10.03658, 0.50706, -5.54186) + (2.35914, 0.05, 0.71615)
points['tnt1'] = (0.0365, 0.87095, 5.72216)
boxes['area_of_interest_bounds'] = (-0.01839, 1.30799, 0.46229) + (0, 0, 0) + (38.48324, 21.2151, 14.40626)
boxes['map_bounds'] = (0.47584, 4.09931, 0.09103) + (0, 0, 0) + (59.82487, 27.42716, 23.30082)
class Cangremovil(ba.Actor):
def __init__(self,
position: Sequence[float] = (0.0, 1.0, 0.0),
position2: Sequence[float] = (0.0, 1.0, 0.0),
time: float = 5.0):
super().__init__()
shared = SharedObjects.get()
self.node = ba.newnode(
'prop',
delegate=self,
attrs={
'position': position,
'model': ba.getmodel('cangremovilModel'),
'body': 'crate',
'body_scale': 3.0,
'density': 999999999999999999999,
'damping': 999999999999999999999,
'gravity_scale': 0.0,
'reflection': 'powerup',
'reflection_scale': [0.3],
'color_texture': ba.gettexture('cangremovilColor'),
'materials': [shared.footing_material]
}
)
ba.animate_array(self.node,
'position',
3,
{0.0: position, time: position2}, loop=True)
class BikiniBottomMap(ba.Map):
defs = BikiniBottomDefs()
name = 'Bikini Bottom'
@classmethod
def get_play_types(cls) -> list[str]:
"""Return valid play types for this map."""
return ['melee', 'keep_away', 'team_flag', 'king_of_the_hill']
@classmethod
def get_preview_texture_name(cls) -> str:
return 'bikiniBottomPreview'
@classmethod
def on_preload(cls) -> Any:
data: dict[str, Any] = {
'model': ba.getmodel('bikiniBottomMap'),
'collide_model': ba.getcollidemodel('bikiniBottomMapCob'),
'tex': ba.gettexture('bikiniBottomMapColor'),
'bgtex': ba.gettexture('bikiniBottomMapBGColor'),
'bgmodel': ba.getmodel('bikiniBottomMapBG')
}
return data
def __init__(self) -> None:
super().__init__()
shared = SharedObjects.get()
Cangremovil(position=(-30.10481, 0.81866, 3.05734),
position2=(30.10481, 0.81866, 3.05734),
time=3.0).autoretain()
self.node = ba.newnode(
'terrain',
delegate=self,
attrs={
'collide_model': self.preloaddata['collide_model'],
'model': self.preloaddata['model'],
'color_texture': self.preloaddata['tex'],
'materials': [shared.footing_material]
})
self.background = ba.newnode(
'terrain',
attrs={
'model': self.preloaddata['bgmodel'],
'lighting': False,
'materials': [shared.footing_material],
'color_texture': self.preloaddata['bgtex']
})
gnode = ba.getactivity().globalsnode
gnode.tint = (1.1, 1.1, 1.0)
gnode.ambient_color = (1.1, 1.1, 1.0)
gnode.vignette_outer = (0.7, 0.65, 0.75)
gnode.vignette_inner = (0.95, 0.95, 0.93)
class BombermanDefs:
# This file was automatically generated from "thePadLevel.ma"
points = {}
boxes = {}
points['ffa_spawn1'] = (-6.67542, 3.68439, -5.53375) + (0.36007, 0.02575, 0.9315)
points['ffa_spawn2'] = (-7.2624, 3.71553, -0.03071) + (0.51265, 0.02934, 1.58911)
points['ffa_spawn3'] = (7.19605, 3.71931, -5.43993) + (0.30604, 0.05, 0.97874)
points['ffa_spawn4'] = (7.7071, 3.71969, -0.02085) + (0.48506, 0.05, 1.59702)
points['flag1'] = (-5.53975, 4.90844, -1.29316)
points['flag2'] = (6.03798, 4.86734, -1.2541)
points['flag_default'] = (0.25697, 4.91175, -1.23932)
points['powerup_spawn1'] = (-4.26423, 4.15187, -2.68368)
points['powerup_spawn2'] = (4.7916, 4.12509, -2.73491)
points['powerup_spawn3'] = (-4.29883, 4.12305, 0.08537)
points['powerup_spawn4'] = (4.8075, 4.13938, 0.12609)
points['spawn1'] = (-7.28662, 3.70478, -1.38929) + (0.51458, 0.05, 1.70728)
points['spawn2'] = (7.72787, 3.75089, -0.76991) + (0.52971, 0.05, 2.20823)
points['tnt1'] = (0.32876, 3.96425, -6.16745)
boxes['area_of_interest_bounds'] = (0.64605, 8.43146, 1.88631) + (0, 0, 0) + (12.56183, 9.47264, 10.65585)
boxes['map_bounds'] = (0.56149, 10.49611, -2.47924) + (0, 0, 0) + (22.0605, 16.68579, 17.23487)
class BombermanMap(ba.Map):
defs = BombermanDefs()
name = 'BombermanMap'
@classmethod
def get_play_types(cls) -> list[str]:
"""Return valid play types for this map."""
return ['melee', 'keep_away', 'team_flag', 'king_of_the_hill']
@classmethod
def get_preview_texture_name(cls) -> str:
return 'bombermanMapPreview'
@classmethod
def on_preload(cls) -> Any:
data: dict[str, Any] = {
'model': ba.getmodel('bombermanMap'),
'collide_model': ba.getcollidemodel('bombermanMapCob'),
'tex': ba.gettexture('bombermanMapColor')
}
return data
def __init__(self) -> None:
super().__init__()
shared = SharedObjects.get()
self.node = ba.newnode(
'terrain',
delegate=self,
attrs={
'collide_model': self.preloaddata['collide_model'],
'model': self.preloaddata['model'],
'color_texture': self.preloaddata['tex'],
'materials': [shared.footing_material]
})
gnode = ba.getactivity().globalsnode
gnode.tint = (1.1, 1.1, 1.0)
gnode.ambient_color = (1.1, 1.1, 1.0)
gnode.vignette_outer = (0.7, 0.65, 0.75)
gnode.vignette_inner = (0.95, 0.95, 0.93)
class CouragemapDefs:
# This file was automatically generated from "thePadLevel.ma"
points = {}
boxes = {}
points['ffa_spawn1'] = (-6.5205, 1.13883, 4.19109) + (0.4868, 0.05, 1.25935)
points['ffa_spawn2'] = (8.78868, 1.18093, -2.49017) + (0.69308, 0.05, 2.14841)
points['ffa_spawn3'] = (8.22231, 1.18604, 4.1369) + (0.41375, 0.05, 1.32322)
points['ffa_spawn4'] = (-6.39927, 1.18655, -2.2972) + (0.65578, 0.05, 2.1591)
points['flag1'] = (-6.40246, 1.4649, -0.18825)
points['flag2'] = (8.6688, 1.40934, -0.34307)
points['flag_default'] = (1.10226, 1.46938, 3.37262)
points['powerup_spawn1'] = (-2.72635, 1.43864, -2.69105)
points['powerup_spawn2'] = (4.57531, 1.40244, -2.55269)
points['powerup_spawn3'] = (-2.5655, 1.39968, 5.91099)
points['powerup_spawn4'] = (4.63833, 1.42176, 5.88299)
points['spawn1'] = (-6.43877, 1.1664, -2.26988) + (0.69569, 0.05, 2.30817)
points['spawn2'] = (8.71112, 1.1533, -2.47063) + (0.71615, 0.05, 2.35914)
points['tnt1'] = (-7.47936, 1.51719, 1.60992)
points['tnt2'] = (9.08903, 1.52706, 1.56156)
boxes['area_of_interest_bounds'] = (0.59016, 0.74947, 3.06926) + (0, 0, 0) + (16.98306, 12.80661, 14.40626)
boxes['edge_box'] = (1.01079, 3.81195, -0.03497) + (0, 0, 0) + (9.46205, 7.07351, 5.54318)
boxes['map_bounds'] = (0.47584, 3.54079, -2.83278) + (0, 0, 0) + (29.82487, 22.55849, 23.30082)
class CourageMap(ba.Map):
defs = CouragemapDefs()
name = 'Courage'
@classmethod
def get_play_types(cls) -> list[str]:
"""Return valid play types for this map."""
return ['melee', 'keep_away', 'team_flag', 'king_of_the_hill']
@classmethod
def get_preview_texture_name(cls) -> str:
return 'courageMapPreview'
@classmethod
def on_preload(cls) -> Any:
data: dict[str, Any] = {
'model': ba.getmodel('courageMap'),
'collide_model': ba.getcollidemodel('courageMapCob'),
'tex': ba.gettexture('courageMapColor'),
'bgtex': ba.gettexture('courageBGColor'),
'bgmodel': ba.getmodel('thePadBG')
}
return data
def __init__(self) -> None:
super().__init__()
shared = SharedObjects.get()
self.node = ba.newnode(
'terrain',
delegate=self,
attrs={
'collide_model': self.preloaddata['collide_model'],
'model': self.preloaddata['model'],
'color_texture': self.preloaddata['tex'],
'materials': [shared.footing_material]
})
self.background = ba.newnode(
'terrain',
attrs={
'model': self.preloaddata['bgmodel'],
'lighting': False,
'background': True,
'color_texture': self.preloaddata['bgtex']
})
gnode = ba.getactivity().globalsnode
gnode.tint = (0.8, 0.9, 1.3)
gnode.ambient_color = (0.8, 0.9, 1.3)
gnode.vignette_outer = (0.79, 0.79, 0.69)
gnode.vignette_inner = (0.97, 0.97, 0.99)
def is_point_near_edge(self,
point: ba.Vec3,
running: bool = False) -> bool:
# count anything off our ground level as safe (for our platforms)
# see if we're within edge_box
box_position = self.defs.boxes['edge_box'][0:3]
box_scale = self.defs.boxes['edge_box'][6:9]
xpos = (point.x - box_position[0]) / box_scale[0]
zpos = (point.z - box_position[2]) / box_scale[2]
return xpos < -0.5 or xpos > 0.5 or zpos < -0.5 or zpos > 0.5
class CragcastlemapDefs:
# This file generated from "cragCastleBig.ma"
points = {}
boxes = {}
points['ffa_spawn1'] = (-2.22659, 14.63751, 11.52419) + (1.55044, 0.03137, 0.1124)
points['ffa_spawn2'] = (3.71513, 14.66076, 11.55282) + (1.51546, 0.03137, 0.11228)
points['ffa_spawn3'] = (3.35989, 15.7454, 9.97398) + (1.01492, 0.03137, 0.11228)
points['ffa_spawn4'] = (-1.9671, 15.7454, 9.97398) + (1.01492, 0.03137, 0.11228)
points['ffa_spawn5'] = (-1.20575, 13.62445, 13.76571) + (1.01492, 0.03137, 0.11228)
points['ffa_spawn6'] = (2.51764, 13.62445, 13.76571) + (1.01492, 0.03137, 0.11228)
points['flag1'] = (-0.88318, 15.77746, 9.70605)
points['flag2'] = (2.34138, 15.74996, 9.73634)
points['flag3'] = (-4.00945, 14.59352, 13.8783)
points['flag4'] = (5.4491, 14.59501, 13.84305)
points['flag_default'] = (0.70381, 13.80694, 13.71932)
points['powerup_spawn1'] = (5.27504, 14.8211, 9.98847)
points['powerup_spawn2'] = (-0.12894, 14.84951, 9.9409)
points['powerup_spawn3'] = (1.47447, 14.8553, 9.93446)
points['powerup_spawn4'] = (-3.87666, 14.91756, 9.90655)
points['spawn1'] = (-2.93425, 14.63751, 11.52419) + (0.66332, 0.03137, 0.1124)
points['spawn2'] = (4.20019, 14.66076, 11.55282) + (0.63351, 0.03137, 0.11228)
points['spawn_by_flag1'] = (-1.49292, 15.77746, 9.95693)
points['spawn_by_flag2'] = (3.01471, 15.77746, 9.95693)
points['spawn_by_flag3'] = (-3.85287, 14.61411, 13.37536)
points['spawn_by_flag4'] = (5.2451, 14.61411, 13.37536)
points['tnt1'] = (-2.85167, 16.18561, 9.88324)
points['tnt2'] = (4.20036, 16.18561, 9.88324)
boxes['area_of_interest_bounds'] = (0.75009, 14.01822, 11.76844) + (0, 0, 0) + (10.49919, 9.37717, 7.27735)
boxes['map_bounds'] = (0.44951, 15.90257, 11.61652) + (0, 0, 0) + (14.40166, 6.21587, 8.89543)
class CragCastleBigMap(ba.Map):
defs = CragcastlemapDefs()
name = 'Crag Castle Big'
@classmethod
def get_play_types(cls) -> list[str]:
"""Return valid play types for this map."""
return ['melee', 'keep_away', 'team_flag', 'conquest']
@classmethod
def get_preview_texture_name(cls) -> str:
return 'cragCastleBigPreview'
@classmethod
def on_preload(cls) -> Any:
data: dict[str, Any] = {
'model': ba.getmodel('cragCastleLevelBig'),
'bottom_model': ba.getmodel('cragCastleLevelBottomBig'),
'collide_model': ba.getcollidemodel('cragCastleLevelCollideBig'),
'tex': ba.gettexture('cragCastleLevelColor'),
'bgtex': ba.gettexture('menuBG'),
'bgmodel': ba.getmodel('thePadBG'),
'railing_collide_model':
(ba.getcollidemodel('cragCastleLevelBumperBig')),
'vr_fill_mound_model': ba.getmodel('cragCastleVRFillMound'),
'vr_fill_mound_tex': ba.gettexture('vrFillMound')
}
# fixme should chop this into vr/non-vr sections
return data
def __init__(self) -> None:
super().__init__()
shared = SharedObjects.get()
self.node = ba.newnode(
'terrain',
delegate=self,
attrs={
'collide_model': self.preloaddata['collide_model'],
'model': self.preloaddata['model'],
'color_texture': self.preloaddata['tex'],
'materials': [shared.footing_material]
})
self.bottom = ba.newnode('terrain',
attrs={
'model': self.preloaddata['bottom_model'],
'lighting': False,
'color_texture': self.preloaddata['tex']
})
self.background = ba.newnode(
'terrain',
attrs={
'model': self.preloaddata['bgmodel'],
'lighting': False,
'background': True,
'color_texture': self.preloaddata['bgtex']
})
self.railing = ba.newnode(
'terrain',
attrs={
'collide_model': self.preloaddata['railing_collide_model'],
'materials': [shared.railing_material],
'bumper': True
})
ba.newnode('terrain',
attrs={
'model': self.preloaddata['vr_fill_mound_model'],
'lighting': False,
'vr_only': True,
'color': (0.2, 0.25, 0.2),
'background': True,
'color_texture': self.preloaddata['vr_fill_mound_tex']
})
gnode = ba.getactivity().globalsnode
gnode.shadow_ortho = True
gnode.shadow_offset = (0, 0, -5.0)
gnode.tint = (1.15, 1.05, 0.75)
gnode.ambient_color = (1.15, 1.05, 0.75)
gnode.vignette_outer = (0.6, 0.65, 0.6)
gnode.vignette_inner = (0.95, 0.95, 0.95)
gnode.vr_near_clip = 1.0
class DreamlandmapDefs:
# This file generated from "torneo.ma"
points = {}
boxes = {}
points['ffa_spawn1'] = (-6.69624, 2.85039, -4.10288) + (0.77236, 0.05, 0.87378)
points['ffa_spawn2'] = (-10.40827, 2.85039, -1.56054) + (0.77236, 0.05, 0.87378)
points['ffa_spawn3'] = (-8.65731, 2.85039, 2.62386) + (0.77236, 0.05, 0.87378)
points['ffa_spawn4'] = (-2.02022, 2.85039, 4.61688) + (0.77236, 0.05, 0.87378)
points['ffa_spawn5'] = (1.86972, 2.85039, 4.72121) + (0.77236, 0.05, 0.87378)
points['ffa_spawn6'] = (8.4577, 2.85039, 2.62079) + (0.77236, 0.05, 0.87378)
points['ffa_spawn7'] = (10.39531, 2.85039, -1.52552) + (0.77236, 0.05, 0.87378)
points['ffa_spawn8'] = (6.67172, 2.85039, -4.13483) + (0.77236, 0.05, 0.87378)
points['flag1'] = (-11.02499, 3.17053, 0.88749)
points['flag2'] = (11.10934, 3.17053, 0.88885)
points['flag3'] = (-8.37111, 3.25837, -4.26217)
points['flag4'] = (8.32579, 3.3096, -4.23468)
points['flag5'] = (-2.36192, 3.21392, 4.21456)
points['flag6'] = (2.24404, 3.21392, 4.31202)
points['flag_default'] = (-0.16211, 3.663, -0.46622)
points['powerup_spawn1'] = (-8.08751, 3.11164, -6.17346)
points['powerup_spawn2'] = (-6.24881, 3.0105, -0.35762)
points['powerup_spawn3'] = (-2.07277, 3.11164, 6.74271)
points['powerup_spawn4'] = (1.84842, 3.11164, 6.75979)
points['powerup_spawn5'] = (6.08678, 3.0105, -0.38878)
points['powerup_spawn6'] = (8.08131, 3.11164, -6.15938)
points['spawn1'] = (-9.46633, 2.84651, 0.25554) + (0.87378, 0.05, 1.6634)
points['spawn2'] = (9.38817, 2.84651, 0.21746) + (0.87378, 0.05, 1.6634)
points['spawn_by_flag1'] = (-10.01502, 2.85596, 1.81426) + (0.84416, 0.05, 0.84945)
points['spawn_by_flag2'] = (10.15712, 3.12542, 1.82582) + (0.85053, 0.05, 0.83403)
points['spawn_by_flag3'] = (-7.454, 2.95629, -3.34154) + (0.8398, 0.05, 0.83771)
points['spawn_by_flag4'] = (7.38268, 2.89333, -3.31041) + (0.84957, 0.05, 0.83771)
points['spawn_by_flag5'] = (-2.22089, 3.01925, 5.55799) + (0.8398, 0.05, 0.83771)
points['spawn_by_flag6'] = (1.84214, 3.05073, 5.55764) + (0.83672, 0.05, 0.83771)
points['tnt1'] = (0.0091, 3.11164, -3.65076)
points['tnt2'] = (0.0091, 3.11164, 2.39515)
boxes['area_of_interest_bounds'] = (0.35441, 4.49356, -2.40045) + (0, 0, 0) + (29.91755, 23.28733, 24.08552)
boxes['map_bounds'] = (0.26088, 5.81105, -3.66161) + (0, 0, 0) + (54.98705, 41.72606, 26.50049)
class DreamlandMap(ba.Map):
defs = DreamlandmapDefs()
name = 'Dream Land'
@classmethod
def get_play_types(cls) -> list[str]:
"""Return valid play types for this map."""
return ['melee', 'keep_away', 'team_flag', 'king_of_the_hill', 'conquest']
@classmethod
def get_preview_texture_name(cls) -> str:
return 'dreamlandMapPreview'
@classmethod
def on_preload(cls) -> Any:
data: dict[str, Any] = {
'model': ba.getmodel('dreamlandMap'),
'collide_model': ba.getcollidemodel('dreamlandMapCob'),
'modelb': ba.getmodel('dreamlandMapBottom'),
'collide_modelb': ba.getcollidemodel('dreamlandMapBottomCob'),
'tex': ba.gettexture('dreamlandMapColor'),
'bgtex': ba.gettexture('uknucklesBGColor'),
'bgmodel': ba.getmodel('thePadBG')
}
return data
def __init__(self) -> None:
super().__init__()
shared = SharedObjects.get()
self.node = ba.newnode(
'terrain',
delegate=self,
attrs={
'collide_model': self.preloaddata['collide_model'],
'model': self.preloaddata['model'],
'color_texture': self.preloaddata['tex'],
'materials': [shared.footing_material]
})
self.nodeb = ba.newnode(
'terrain',
delegate=self,
attrs={
'collide_model': self.preloaddata['collide_modelb'],
'model': self.preloaddata['modelb'],
'color_texture': self.preloaddata['tex'],
'lighting': False,
'materials': [shared.footing_material]
})
self.background = ba.newnode(
'terrain',
attrs={
'model': self.preloaddata['bgmodel'],
'lighting': False,
'background': True,
'color_texture': self.preloaddata['bgtex']
})
gnode = ba.getactivity().globalsnode
gnode.tint = (0.9, 0.9, 1.3)
gnode.ambient_color = (0.8, 0.9, 1.3)
gnode.vignette_outer = (0.79, 0.79, 0.69)
gnode.vignette_inner = (0.97, 0.97, 0.99)
class EliminationChamberDefs:
# This file was automatically generated from "thePadLevel.ma"
points = {}
boxes = {}
points['ffa_spawn1'] = (-5.73834, 2.80152, -8.8294) + (0.16326, 0.05, 1.17729)
points['ffa_spawn2'] = (6.29593, 2.82769, -8.84425) + (1.17571, 0.05, 0.19976)
points['ffa_spawn3'] = (-5.73994, 2.80164, 3.14882) + (0.1102, 0.05, 1.11355)
points['ffa_spawn4'] = (6.28908, 2.80164, 3.1914) + (1.10532, 0.05, 0.1034)
points['flag1'] = (-6.75103, 3.00062, -2.80413)
points['flag2'] = (7.09391, 3.02284, -2.94835)
points['flag_default'] = (0.27249, 4.38208, -2.93376)
points['powerup_spawn1'] = (-6.64437, 3.08947, -6.27667)
points['powerup_spawn2'] = (-3.48047, 3.15009, -9.86327)
points['powerup_spawn3'] = (4.13658, 2.93102, -9.85887)
points['powerup_spawn4'] = (7.40907, 2.93102, -6.63147)
points['powerup_spawn5'] = (7.40355, 3.19542, 0.85875)
points['powerup_spawn6'] = (4.10369, 3.08724, 4.3101)
points['powerup_spawn7'] = (-3.61995, 3.09165, 4.27063)
points['powerup_spawn8'] = (-6.81122, 3.13612, 0.9741)
points['spawn1'] = (-5.47127, 2.70749, -0.86437) + (1.29739, 0.05, 0.87378)
points['spawn2'] = (6.18423, 2.73365, -4.87303) + (1.3172, 0.05, 0.87378)
boxes['area_of_interest_bounds'] = (0.35441, 2.49356, -2.51839) + (0, 0, 0) + (16.64755, 8.06139, 22.50299)
boxes['map_bounds'] = (0.26088, 4.89966, -3.54367) + (0, 0, 0) + (29.23565, 14.19991, 29.92689)
class EliminationRawMap(ba.Map):
defs = EliminationChamberDefs()
name = 'Elimination Chamber - Raw'
@classmethod
def get_play_types(cls) -> list[str]:
"""Return valid play types for this map."""
return ['melee', 'keep_away', 'team_flag', 'king_of_the_hill', 'wwe']
@classmethod
def get_preview_texture_name(cls) -> str:
return 'ecRawMapPreview'
@classmethod
def on_preload(cls) -> Any:
data: dict[str, Any] = {
'model': ba.getmodel('ecRawMap'),
'collide_model': ba.getcollidemodel('ecMapCob'),
'modeli': ba.getmodel('ecRawInvMap'),
'modelnl': ba.getmodel('ecRawNLMap'),
'modelg': ba.getmodel('ecRawGlassMap'),
'collide_modelg': ba.getcollidemodel('ecGlassMapCob'),
'modele': ba.getmodel('ecExtMap'),
'collide_modele': ba.getcollidemodel('ecExtMapCob'),
'tex': ba.gettexture('ecMapColor'),
'bgmodel': ba.getmodel('ecBGMap')
}
return data
def __init__(self) -> None:
super().__init__()
shared = SharedObjects.get()
self.node = ba.newnode(
'terrain',
delegate=self,
attrs={
'collide_model': self.preloaddata['collide_model'],
'model': self.preloaddata['model'],
'color_texture': self.preloaddata['tex'],
'materials': [shared.footing_material]
})
self.nodenl = ba.newnode(
'terrain',
delegate=self,
attrs={
'lighting': False,
'model': self.preloaddata['modelnl'],
'color_texture': self.preloaddata['tex'],
'materials': [shared.footing_material]
})
self.nodei = ba.newnode(
'terrain',
delegate=self,
attrs={
'opacity': 0.05,
'model': self.preloaddata['modeli'],
'color_texture': self.preloaddata['tex'],
'materials': [shared.footing_material]
})
self.nodeg = ba.newnode(
'terrain',
delegate=self,
attrs={
'collide_model': self.preloaddata['collide_modelg'],
'model': self.preloaddata['modelg'],
'color_texture': self.preloaddata['tex'],
'lighting': False,
'opacity': 0.2,
'materials': [shared.footing_material]
})
self.nodee = ba.newnode(
'terrain',
delegate=self,
attrs={
'collide_model': self.preloaddata['collide_modele'],
'model': self.preloaddata['modele'],
'color_texture': self.preloaddata['tex'],
'materials': [shared.footing_material]
})
self.background = ba.newnode(
'terrain',
attrs={
'model': self.preloaddata['bgmodel'],
'lighting': False,
'background': True,
'color_texture': self.preloaddata['tex']
})
gnode = ba.getactivity().globalsnode
gnode.tint = (1.1, 1.1, 1.0)
gnode.ambient_color = (1.1, 1.1, 1.0)
gnode.vignette_outer = (0.7, 0.65, 0.75)
gnode.vignette_inner = (0.95, 0.95, 0.93)
class EliminationSDMap(ba.Map):
defs = EliminationChamberDefs()
name = 'Elimination Chamber - SD'
@classmethod
def get_play_types(cls) -> list[str]:
"""Return valid play types for this map."""
return ['melee', 'keep_away', 'team_flag', 'king_of_the_hill', 'wwe']
@classmethod
def get_preview_texture_name(cls) -> str:
return 'ecSDMapPreview'
@classmethod
def on_preload(cls) -> Any:
data: dict[str, Any] = {
'model': ba.getmodel('ecSDMap'),
'collide_model': ba.getcollidemodel('ecMapCob'),
'modeli': ba.getmodel('ecSDInvMap'),
'modelnl': ba.getmodel('ecSDNLMap'),
'modelg': ba.getmodel('ecSDGlassMap'),
'collide_modelg': ba.getcollidemodel('ecGlassMapCob'),
'modele': ba.getmodel('ecExtMap'),
'collide_modele': ba.getcollidemodel('ecExtMapCob'),
'tex': ba.gettexture('ecMapColor'),
'bgmodel': ba.getmodel('ecBGMap')
}
return data
def __init__(self) -> None:
super().__init__()
shared = SharedObjects.get()
self.node = ba.newnode(
'terrain',
delegate=self,
attrs={
'collide_model': self.preloaddata['collide_model'],
'model': self.preloaddata['model'],
'color_texture': self.preloaddata['tex'],
'materials': [shared.footing_material]
})
self.nodenl = ba.newnode(
'terrain',
delegate=self,
attrs={
'lighting': False,
'model': self.preloaddata['modelnl'],
'color_texture': self.preloaddata['tex'],
'materials': [shared.footing_material]
})
self.nodei = ba.newnode(
'terrain',
delegate=self,
attrs={
'opacity': 0.05,
'model': self.preloaddata['modeli'],
'color_texture': self.preloaddata['tex'],
'materials': [shared.footing_material]
})
self.nodeg = ba.newnode(
'terrain',
delegate=self,
attrs={
'collide_model': self.preloaddata['collide_modelg'],
'model': self.preloaddata['modelg'],
'color_texture': self.preloaddata['tex'],
'lighting': False,
'opacity': 0.2,
'materials': [shared.footing_material]
})
self.nodee = ba.newnode(
'terrain',
delegate=self,
attrs={
'collide_model': self.preloaddata['collide_modele'],
'model': self.preloaddata['modele'],
'color_texture': self.preloaddata['tex'],
'materials': [shared.footing_material]
})
self.background = ba.newnode(
'terrain',
attrs={
'model': self.preloaddata['bgmodel'],
'lighting': False,
'background': True,
'color_texture': self.preloaddata['tex']
})
gnode = ba.getactivity().globalsnode
gnode.tint = (1.1, 1.1, 1.0)
gnode.ambient_color = (1.1, 1.1, 1.0)
gnode.vignette_outer = (0.7, 0.65, 0.75)
gnode.vignette_inner = (0.95, 0.95, 0.93)
class GotchamapDefs:
# This file was automatically generated from "thePadLevel.ma"
points = {}
boxes = {}
points['ffa_spawn1'] = (-8.5184, 0.56928, -1.49458) + (1.22169, 0.05, 1.26353)
points['ffa_spawn2'] = (8.59355, 0.59544, -1.43799) + (1.20895, 0.05, 1.25724)
points['ffa_spawn3'] = (-8.54483, 0.5694, 4.72378) + (1.18984, 0.05, 1.29418)
points['ffa_spawn4'] = (8.70633, 0.5694, 4.74922) + (1.18907, 0.05, 1.26568)
points['flag1'] = (-9.9261, 1.26464, 1.5577)
points['flag2'] = (10.02378, 1.32188, 1.59798)
points['flag_default'] = (0.02873, 2.60659, 1.51861)
points['powerup_spawn1'] = (-3.93765, 1.08218, -2.33189)
points['powerup_spawn2'] = (4.12161, 1.14281, -2.33589)
points['powerup_spawn3'] = (-3.92186, 0.92373, 5.8076)
points['powerup_spawn4'] = (4.1484, 0.92373, 5.74238)
points['spawn1'] = (-8.4059, 0.5624, 1.62179) + (0.4613, 0.05, 2.22033)
points['spawn2'] = (8.46397, 0.58856, 1.70095) + (0.4613, 0.05, 2.22033)
points['tnt1'] = (0.0275, 0.87995, 1.51592)
boxes['area_of_interest_bounds'] = (0.36325, 1.10086, 2.99368) + (0, 0, 0) + (28.94068, 14.07879, 14.7444)
boxes['map_bounds'] = (0.25204, 1.42446, 3.3493) + (0, 0, 0) + (34.76113, 24.79939, 23.84771)
class GotchaMap(ba.Map):
defs = GotchamapDefs()
name = 'Gotcha'
@classmethod
def get_play_types(cls) -> list[str]:
"""Return valid play types for this map."""
return ['melee', 'keep_away', 'team_flag', 'king_of_the_hill']
@classmethod
def get_preview_texture_name(cls) -> str:
return 'gotchaMapPreview'
@classmethod
def on_preload(cls) -> Any:
data: dict[str, Any] = {
'model': ba.getmodel('gotchaMap'),
'collide_model': ba.getcollidemodel('gotchaMapCob'),
'tex': ba.gettexture('gotchaMapColor'),
'bgmodel': ba.getmodel('gotchaMapBG'),
'railing_collide_model': ba.getcollidemodel('gotchaMapRailing')
}
return data
def __init__(self) -> None:
super().__init__()
shared = SharedObjects.get()
self.node = ba.newnode(
'terrain',
delegate=self,
attrs={
'collide_model': self.preloaddata['collide_model'],
'model': self.preloaddata['model'],
'color_texture': self.preloaddata['tex'],
'materials': [shared.footing_material]
})
self.railing = ba.newnode(
'terrain',
attrs={
'collide_model': self.preloaddata['railing_collide_model'],
'materials': [shared.railing_material],
'bumper': True
})
self.background = ba.newnode(
'terrain',
attrs={
'model': self.preloaddata['bgmodel'],
'lighting': False,
'background': True,
'color_texture': self.preloaddata['tex']
})
gnode = ba.getactivity().globalsnode
gnode.tint = (0.8, 0.9, 1.3)
gnode.ambient_color = (0.8, 0.9, 1.3)
gnode.vignette_outer = (0.79, 0.79, 0.69)
gnode.vignette_inner = (0.97, 0.97, 0.99)
class GravityfallsmapDefs:
# This file was automatically generated from "thePadLevel.ma"
points = {}
boxes = {}
points['ffa_spawn1'] = (-6.97783, 2.05753, -4.75154) + (1.4663, 0.05, 0.87378)
points['ffa_spawn2'] = (7.28045, 2.0837, -5.7546) + (1.67437, 0.05, 0.87378)
points['ffa_spawn3'] = (12.50401, 2.04888, -1.16587) + (0.48506, 0.05, 1.59702)
points['ffa_spawn4'] = (-10.66812, 2.04888, 1.1377) + (0.48506, 0.05, 1.59702)
points['flag1'] = (-12.62698, 3.02028, -2.23155)
points['flag2'] = (11.71206, 2.51231, -4.23504)
points['flag_default'] = (0.16225, 2.56307, -1.87058)
points['powerup_spawn1'] = (-8.4451, 2.39672, -2.23429)
points['powerup_spawn2'] = (5.24553, 2.45735, 2.6822)
points['powerup_spawn3'] = (-13.7492, 2.43847, 2.63631)
points['powerup_spawn4'] = (11.17395, 2.43847, -6.65691)
points['spawn1'] = (-12.93303, 2.01032, 0.78771) + (1.6634, 0.05, 0.87378)
points['spawn2'] = (13.39258, 2.03649, -1.57687) + (1.6634, 0.05, 0.87378)
points['tnt1'] = (-4.29628, 2.48705, -10.83656)
boxes['area_of_interest_bounds'] = (-1.0776, 2.93491, -2.53375) + (0, 0, 0) + (46.36258, 11.84662, 21.07336)
boxes['map_bounds'] = (-1.22571, 3.39742, -4.04047) + (0, 0, 0) + (46.29672, 20.86748, 34.08423)
class PortalGF(ba.Actor):
def __init__(self,
position: Sequence[float] = (0.0, 1.0, 0.0),
position2: Sequence[float] = (0.0, 1.0, 0.0),
color: Sequence[float] = (1.0, 1.0, 1.0)):
super().__init__()
shared = SharedObjects.get()
self.radius = 1.1
self.position = position
self.position2 = position2
self.cooldown = False
self.portalmaterial = ba.Material()
self.portalmaterial.add_actions(
conditions=(
('they_have_material', shared.player_material)
),
actions=(('modify_part_collision', 'collide', True),
('modify_part_collision', 'physical', False),
('call', 'at_connect', self.portal)),
)
self.portalmaterial.add_actions(
conditions=(
('they_have_material', shared.object_material),
'or',
('they_dont_have_material', shared.player_material),
),
actions=(('modify_part_collision', 'collide', True),
('modify_part_collision', 'physical', False),
('call', 'at_connect', self.objportal)),
)
self.node = ba.newnode(
'region',
attrs={'position': (self.position[0],
self.position[1],
self.position[2]),
'scale': (0.1, 0.1, 0.1),
'type': 'sphere',
'materials': [self.portalmaterial]}
)
ba.animate_array(self.node, 'scale', 3,
{0: (0, 0, 0), 0.5: (self.radius * 5,
self.radius * 5,
self.radius * 5)})
self.portal2material = ba.Material()
self.portal2material.add_actions(
conditions=(
('they_have_material', shared.player_material)
),
actions=(('modify_part_collision', 'collide', True),
('modify_part_collision', 'physical', False),
('call', 'at_connect', self.portal2)),
)
self.portal2material.add_actions(
conditions=(
('they_have_material', shared.object_material),
'or',
('they_dont_have_material', shared.player_material),
),
actions=(('modify_part_collision', 'collide', True),
('modify_part_collision', 'physical', False),
('call', 'at_connect', self.objportal2)),
)
self.node2 = ba.newnode(
'region',
attrs={'position': (self.position2[0],
self.position2[1],
self.position2[2]),
'scale': (0.1, 0.1, 0.1),
'type': 'sphere',
'materials': [self.portal2material]}
)
ba.animate_array(self.node2, 'scale', 3,
{0: (0, 0, 0), 0.5: (self.radius * 5,
self.radius * 5,
self.radius * 5)})
def cooldown1(self):
self.cooldown = True
def off():
self.cooldown = False
ba.timer(0.01, off)
def portal(self):
sound = ba.getsound('powerup01')
ba.playsound(sound)
node = ba.getcollision().opposingnode
node.handlemessage(ba.StandMessage(self.node2.position))
def portal2(self):
return
def objportal(self):
node = ba.getcollision().opposingnode
if node.getnodetype() == 'spaz':
return
v = node.velocity
if not self.cooldown:
node.position = self.position2
self.cooldown1()
def vel():
node.velocity = v
ba.timer(0.01, vel)
def objportal2(self):
return
class GravityFallsMap(ba.Map):
defs = GravityfallsmapDefs()
name = 'Gravity Falls'
@classmethod
def get_play_types(cls) -> list[str]:
"""Return valid play types for this map."""
return ['melee', 'keep_away', 'team_flag', 'king_of_the_hill']
@classmethod
def get_preview_texture_name(cls) -> str:
return 'gravityFallsMapPreview'
@classmethod
def on_preload(cls) -> Any:
data: dict[str, Any] = {
'model': ba.getmodel('gravityFallsMap'),
'collide_model': ba.getcollidemodel('gravityFallsMapCob'),
'modeld': ba.getmodel('gravityFallsMapD'),
'tex': ba.gettexture('gravityFallsMapColor')
}
return data
def __init__(self) -> None:
super().__init__()
shared = SharedObjects.get()
self.node = ba.newnode(
'terrain',
delegate=self,
attrs={
'collide_model': self.preloaddata['collide_model'],
'model': self.preloaddata['model'],
'color_texture': self.preloaddata['tex'],
'materials': [shared.footing_material]
})
self.noded = ba.newnode(
'terrain',
attrs={
'model': self.preloaddata['modeld'],
'materials': [shared.footing_material,
shared.death_material]
})
gnode = ba.getactivity().globalsnode
gnode.tint = (0.8, 0.9, 1.3)
gnode.ambient_color = (0.8, 0.9, 1.3)
gnode.vignette_outer = (0.79, 0.79, 0.69)
gnode.vignette_inner = (0.97, 0.97, 0.99)
PortalGF(position=(7.5929, -10.1028, -1.68649),
position2=(5.2929, 11.1028, -2.78649),
color=(3, 0, 9))
class GuardianmapDefs:
# This file was automatically generated from "thePadLevel.ma"
points = {}
boxes = {}
points['ffa_spawn1'] = (-2.07349, 3.88767, -6.65336) + (0.19747, 0.03, 0.51546)
points['ffa_spawn2'] = (-4.70652, 3.91384, -3.78073) + (0.2047, 0.0271, 0.46127)
points['ffa_spawn3'] = (-4.75011, 3.88779, 0.05944) + (0.46197, 0.0271, 0.20634)
points['ffa_spawn4'] = (-1.96338, 3.88779, 2.74233) + (0.46098, 0.02698, 0.21011)
points['ffa_spawn5'] = (2.1002, 3.88767, 2.65299) + (0.17194, 0.0271, 0.46628)
points['ffa_spawn6'] = (4.74843, 3.91384, -0.14317) + (0.21347, 0.0271, 0.45728)
points['ffa_spawn7'] = (4.71459, 3.88779, -4.09687) + (0.47092, 0.0271, 0.1773)
points['ffa_spawn8'] = (1.80796, 3.88779, -6.9272) + (0.44113, 0.0271, 0.24531)
points['flag1'] = (-12.55316, 4.98557, -14.28474)
points['flag2'] = (12.34078, 5.04281, -14.94647)
points['flag_default'] = (0.01441, 4.69604, -2.06973)
points['powerup_spawn1'] = (-0.06763, 4.25657, -6.24298)
points['powerup_spawn2'] = (-3.04409, 4.4172, -5.05894)
points['powerup_spawn3'] = (-4.14865, 4.19812, -1.90987)
points['powerup_spawn4'] = (-2.89817, 4.19812, 1.01643)
points['powerup_spawn5'] = (0.06065, 4.35657, 2.15929)
points['powerup_spawn6'] = (3.00639, 4.4172, 0.88465)
points['powerup_spawn7'] = (4.18947, 4.19812, -2.12366)
points['powerup_spawn8'] = (2.91713, 4.19812, -5.14095)
points['spawn1'] = (-10.34384, 4.73805, -11.94499) + (0.09711, 0.04517, 3.35739)
points['spawn2'] = (10.23575, 4.86421, -12.60951) + (3.34782, 0.04517, 0.2713)
points['tnt1'] = (-5.48852, 4.87128, 3.64587)
points['tnt2'] = (5.63454, 4.87128, 3.55774)
boxes['area_of_interest_bounds'] = (-0.24115, 4.79046, -3.77876) + (0, 0, 0) + (17.63465, 15.05966, 16.71558)
boxes['map_bounds'] = (-0.33468, 5.19656, -4.80404) + (0, 0, 0) + (30.96915, 26.52718, 27.03592)
class GuardianMap(ba.Map):
defs = GuardianmapDefs()
name = 'Guardian'
@classmethod
def get_play_types(cls) -> list[str]:
"""Return valid play types for this map."""
return ['melee', 'keep_away', 'team_flag', 'king_of_the_hill']
@classmethod
def get_preview_texture_name(cls) -> str:
return 'guardianMapPreview'
@classmethod
def on_preload(cls) -> Any:
data: dict[str, Any] = {
'model': ba.getmodel('guardianMap'),
'collide_model': ba.getcollidemodel('guardianMapCob'),
'tex': ba.gettexture('guardianMapColor'),
'bgtex': ba.gettexture('skyGlassBG'),
'bgmodel': ba.getmodel('thePadBG')
}
return data
def __init__(self) -> None:
super().__init__()
shared = SharedObjects.get()
self.node = ba.newnode(
'terrain',
delegate=self,
attrs={
'collide_model': self.preloaddata['collide_model'],
'model': self.preloaddata['model'],
'color_texture': self.preloaddata['tex'],
'materials': [shared.footing_material]
})
self.background = ba.newnode(
'terrain',
attrs={
'model': self.preloaddata['bgmodel'],
'lighting': False,
'background': True,
'color_texture': self.preloaddata['bgtex']
})
gnode = ba.getactivity().globalsnode
gnode.tint = (0.8, 0.9, 1.3)
gnode.ambient_color = (0.8, 0.9, 1.3)
gnode.vignette_outer = (0.79, 0.79, 0.69)
gnode.vignette_inner = (0.97, 0.97, 0.99)
class HalloweenmapDefs:
# This file was automatically generated from "thePadLevel.ma"
points = {}
boxes = {}
points['ffa_spawn1'] = (-3.21939, 4.36361, -20.48689) + (0.55372, 0.05, 0.52935)
points['ffa_spawn10'] = (6.11609, 4.53849, -18.89968) + (0.55372, 0.05, 0.52935)
points['ffa_spawn11'] = (8.65855, 4.75483, -16.74401) + (0.55372, 0.05, 0.52935)
points['ffa_spawn12'] = (10.50375, 5.01777, -8.63663) + (0.55372, 0.05, 5.43854)
points['ffa_spawn13'] = (9.58738, 4.93388, -0.37638) + (0.55372, 0.05, 0.52935)
points['ffa_spawn14'] = (7.64953, 4.91408, 1.82044) + (0.55372, 0.05, 0.52935)
points['ffa_spawn15'] = (5.01917, 4.93212, 2.20499) + (0.55372, 0.05, 0.52935)
points['ffa_spawn16'] = (-0.0325, 3.14097, 2.10002) + (0.55372, 0.05, 0.52935)
points['ffa_spawn2'] = (-6.24933, 4.53849, -18.89968) + (0.55372, 0.05, 0.52935)
points['ffa_spawn3'] = (-8.65944, 4.75483, -16.74401) + (0.55372, 0.05, 0.52935)
points['ffa_spawn4'] = (-10.56597, 5.01777, -8.63663) + (0.55372, 0.05, 5.43854)
points['ffa_spawn5'] = (-9.80749, 4.93388, -0.37638) + (0.55372, 0.05, 0.52935)
points['ffa_spawn6'] = (-7.87914, 4.91408, 1.82044) + (0.55372, 0.05, 0.52935)
points['ffa_spawn7'] = (-5.10961, 4.93212, 2.20499) + (0.55372, 0.05, 0.52935)
points['ffa_spawn8'] = (-0.0325, 3.14097, 2.10002) + (0.55372, 0.05, 0.52935)
points['ffa_spawn9'] = (3.20042, 4.36361, -20.48689) + (0.55372, 0.05, 0.52935)
points['flag1'] = (-8.62451, 4.24695, -7.51276)
points['flag2'] = (8.59073, 4.17493, -7.4768)
points['flag_default'] = (-0.04391, 4.97167, -20.18156)
points['powerup_spawn1'] = (8.45206, 4.24325, -12.30868)
points['powerup_spawn2'] = (-8.11399, 4.27517, -12.19911)
points['powerup_spawn3'] = (-8.23795, 4.23112, -3.28173)
points['powerup_spawn4'] = (8.14943, 4.24283, -2.71368)
points['spawn1'] = (-10.5791, 4.84945, -7.53411) + (0.50029, 0.05, 3.20865)
points['spawn2'] = (10.51234, 4.84931, -7.51627) + (0.48792, 0.05, 3.2029)
points['tnt1'] = (0.44224, 2.83063, -11.26023)
points['tnt2'] = (-0.66255, 2.81362, -3.3946)
boxes['area_of_interest_bounds'] = (0.08641, 4.39067, -7.46992) + (0, 0, 0) + (51.08173, 54.97659, 42.52111)
boxes['map_bounds'] = (-0.10175, 5.00256, -12.05441) + (0, 0, 0) + (58.81755, 63.49395, 45.09238)
class Halloween(ba.Map):
defs = HalloweenmapDefs()
name = 'Halloween'
@classmethod
def get_play_types(cls) -> list[str]:
"""Return valid play types for this map."""
return ['melee', 'keep_away', 'team_flag', 'king_of_the_hill']
@classmethod
def get_preview_texture_name(cls) -> str:
return 'hwMapPreview'
@classmethod
def on_preload(cls) -> Any:
data: dict[str, Any] = {
'model': ba.getmodel('hwMap'),
'collide_model': ba.getcollidemodel('hwMapCob'),
'tex': ba.gettexture('hwMapColor')
}
return data
def __init__(self) -> None:
super().__init__()
shared = SharedObjects.get()
self.node = ba.newnode(
'terrain',
delegate=self,
attrs={
'collide_model': self.preloaddata['collide_model'],
'model': self.preloaddata['model'],
'color_texture': self.preloaddata['tex'],
'materials': [shared.footing_material]
})
gnode = ba.getactivity().globalsnode
gnode.tint = (0.8, 0.9, 1.3)
gnode.ambient_color = (0.8, 0.9, 1.3)
gnode.vignette_outer = (0.79, 0.79, 0.69)
gnode.vignette_inner = (0.97, 0.97, 0.99)
class IcemapDefs:
# This file was automatically generated from "thePadLevel.ma"
points = {}
boxes = {}
points['ffa_spawn1'] = (8.73357, 5.09934, 2.27606) + (0.78982, 0.05, 1.3628)
points['ffa_spawn2'] = (8.63628, 5.83788, -7.26134) + (0.78982, 0.05, 1.3628)
points['ffa_spawn3'] = (-9.03869, 5.09934, 2.27066) + (0.78982, 0.05, 1.3628)
points['ffa_spawn4'] = (-8.89221, 5.83788, -7.2801) + (0.78982, 0.05, 1.3628)
points['flag1'] = (8.97686, 5.45802, 4.83282)
points['flag2'] = (-8.94129, 6.20577, -8.61665)
points['flag3'] = (-9.36293, 5.45802, 4.79063)
points['flag4'] = (8.63678, 6.20577, -8.66938)
points['flag_default'] = (-0.19593, 4.38208, 4.59982)
points['powerup_spawn1'] = (9.3797, 5.59043, 3.62563)
points['powerup_spawn2'] = (-9.70205, 5.65105, 3.64135)
points['powerup_spawn3'] = (-9.92278, 6.17397, -6.07351)
points['powerup_spawn4'] = (9.52793, 6.07397, -6.12759)
points['race_mine1'] = (6.62301, 5.38078, 3.805)
points['race_mine2'] = (4.548, 5.38078, 0.49843)
points['race_mine3'] = (5.73178, 5.74403, -4.13684)
points['race_mine4'] = (-6.43899, 5.51047, -4.09674)
points['race_mine5'] = (-5.05255, 5.36071, 0.52398)
points['race_mine6'] = (-7.22847, 5.33566, 3.74171)
points['race_point1'] = (-0.23437, 5.40034, 4.69668) + (0.2825, 3.95051, 1.70289)
points['race_point2'] = (8.70337, 5.34581, 2.06327) + (1.54214, 3.95051, 0.2825)
points['race_point3'] = (8.60551, 5.82501, -7.23624) + (1.4634, 3.95051, 0.2575)
points['race_point4'] = (-9.01558, 5.7132, -7.22704) + (1.4513, 3.95051, 0.26029)
points['race_point5'] = (-9.16008, 5.53273, 2.04487) + (1.54315, 3.95051, 0.2825)
points['spawn1'] = (-4.03787, 3.21046, -6.22642) + (0.93466, 0.05, 3.0751)
points['spawn2'] = (4.45458, 3.23662, -6.22464) + (0.93466, 0.05, 3.0751)
points['tnt1'] = (-0.21676, 5.59505, -2.38739)
boxes['area_of_interest_bounds'] = (-0.08966, 2.55672, -3.97028) + (0, 0, 0) + (24.12044, 12.6595, 18.50299)
boxes['map_bounds'] = (-0.18319, 6.96282, -1.58038) + (0, 0, 0) + (29.23565, 16.29936, 21.43922)
class IceMap(ba.Map):
defs = IcemapDefs()
name = 'Ice Map'
@classmethod
def get_play_types(cls) -> list[str]:
"""Return valid play types for this map."""
return [
'melee', 'keep_away', 'team_flag', 'king_of_the_hill', 'conquest', 'race']
@classmethod
def get_preview_texture_name(cls) -> str:
return 'iceMapPreview'
@classmethod
def on_preload(cls) -> Any:
data: dict[str, Any] = {
'model_top': ba.getmodel('iceMapTop'),
'collide_model_top': ba.getcollidemodel('iceMapTopCob'),
'model_bottom': ba.getmodel('iceMapBottom'),
'collide_model_bottom': ba.getcollidemodel('iceMapBottomCob'),
'model_ice': ba.getmodel('iceMapIce'),
'collide_model_ice': ba.getcollidemodel('iceMapIceCob'),
'tex': ba.gettexture('iceMapColor'),
'bgtex': ba.gettexture('natureBackgroundNColor'),
'bgmodel': ba.getmodel('natureBackground')
}
mat = ba.Material()
mat.add_actions(actions=('modify_part_collision', 'friction', 0.01))
data['ice_material'] = mat
return data
def __init__(self) -> None:
super().__init__()
shared = SharedObjects.get()
self.top = ba.newnode(
'terrain',
delegate=self,
attrs={
'collide_model': self.preloaddata['collide_model_top'],
'model': self.preloaddata['model_top'],
'color_texture': self.preloaddata['tex'],
'materials': [shared.footing_material]
})
self.bottom = ba.newnode(
'terrain',
delegate=self,
attrs={
'collide_model': self.preloaddata['collide_model_bottom'],
'model': self.preloaddata['model_bottom'],
'lighting': False,
'color_texture': self.preloaddata['tex'],
'materials': [shared.footing_material]
})
self.ice = ba.newnode(
'terrain',
delegate=self,
attrs={
'collide_model': self.preloaddata['collide_model_ice'],
'model': self.preloaddata['model_ice'],
'reflection': 'soft',
'reflection_scale': [0.65],
'color_texture': self.preloaddata['tex'],
'materials': [shared.footing_material,
self.preloaddata['ice_material']]
})
self.background = ba.newnode(
'terrain',
attrs={
'model': self.preloaddata['bgmodel'],
'lighting': False,
'background': True,
'color_texture': self.preloaddata['bgtex']
})
gnode = ba.getactivity().globalsnode
gnode.tint = (0.8, 0.9, 1.3)
gnode.ambient_color = (0.8, 0.9, 1.3)
gnode.vignette_outer = (0.79, 0.79, 0.69)
gnode.vignette_inner = (0.97, 0.97, 0.99)
class KrustykrabmapDefs:
# This file was automatically generated from "thePadLevel.ma"
points = {}
boxes = {}
points['ffa_spawn1'] = (-6.22221, 4.04595, -2.42887) + (1.00304, 0.05, 0.67435)
points['ffa_spawn2'] = (4.34829, 4.04595, -2.42887) + (1.00304, 0.05, 0.67435)
points['ffa_spawn3'] = (-6.12272, 4.04595, 5.08241) + (1.00304, 0.05, 0.67435)
points['ffa_spawn4'] = (5.56701, 4.04595, 4.95805) + (1.00304, 0.05, 0.67435)
points['flag1'] = (-9.61277, 4.30876, 1.45718)
points['flag2'] = (9.17461, 4.366, 1.29792)
points['flag_default'] = (-0.63318, 4.38208, 0.99473)
points['powerup_spawn1'] = (-6.38018, 4.40338, 0.61122)
points['powerup_spawn2'] = (4.2279, 4.43021, 0.55974)
points['powerup_spawn3'] = (-0.37144, 4.36881, 4.96673)
points['powerup_spawn4'] = (-0.78748, 4.35755, -1.71495)
points['spawn1'] = (-9.71476, 4.06156, 2.26422) + (0.46069, 0.05, 1.22664)
points['spawn2'] = (9.51737, 4.08772, 2.20081) + (0.46069, 0.05, 1.22664)
points['tnt1'] = (-1.32497, 4.77605, -4.34548)
boxes['area_of_interest_bounds'] = (-0.19385, 4.69839, 1.34427) + (0, 0, 0) + (25.75767, 18.8136, 10.50299)
boxes['map_bounds'] = (0.10981, 5.1045, -1.04853) + (0, 0, 0) + (57.5275, 33.13962, 29.92689)
class KrustyKrabMap(ba.Map):
defs = KrustykrabmapDefs()
name = 'Krusty Krab'
@classmethod
def get_play_types(cls) -> list[str]:
"""Return valid play types for this map."""
return ['melee', 'keep_away', 'team_flag', 'king_of_the_hill', 'race']
@classmethod
def get_preview_texture_name(cls) -> str:
return 'krustyKrabMapPreview'
@classmethod
def on_preload(cls) -> Any:
data: dict[str, Any] = {
'model': ba.getmodel('krustyKrabMap'),
'collide_model': ba.getcollidemodel('krustyKrabMapCob'),
'tex': ba.gettexture('krustyKrabMapColor'),
'bgtex': ba.gettexture('krustyKrabBGMapColor'),
'bgmodel': ba.getmodel('krustyKrabBGMap')
}
return data
def __init__(self) -> None:
super().__init__()
shared = SharedObjects.get()
self.node = ba.newnode(
'terrain',
delegate=self,
attrs={
'collide_model': self.preloaddata['collide_model'],
'model': self.preloaddata['model'],
'color_texture': self.preloaddata['tex'],
'materials': [shared.footing_material]
})
self.background = ba.newnode(
'terrain',
attrs={
'model': self.preloaddata['bgmodel'],
'lighting': False,
'background': True,
'color_texture': self.preloaddata['bgtex']
})
gnode = ba.getactivity().globalsnode
gnode.tint = (1.15, 1.11, 1.03)
gnode.ambient_color = (1.2, 1.1, 1.0)
gnode.vignette_outer = (0.7, 0.73, 0.7)
gnode.vignette_inner = (0.95, 0.95, 0.95)
class PicnicmapDefs:
# This file was automatically generated from "thePadLevel.ma"
points = {}
boxes = {}
points['ffa_spawn1'] = (-7.44398, 3.19387, -7.65979) + (1.50247, 0.03167, 0.55348)
points['ffa_spawn2'] = (8.06371, 3.22003, -7.62365) + (1.4616, 0.02953, 0.51603)
points['ffa_spawn3'] = (-7.41217, 3.194, 1.58774) + (1.49532, 0.05173, 0.50184)
points['ffa_spawn4'] = (8.10603, 3.19399, 1.60122) + (1.42925, 0.05045, 0.48938)
points['flag1'] = (-8.83272, 3.6421, -3.06993)
points['flag2'] = (9.50256, 3.69934, -3.27696)
points['flag_default'] = (0.30904, 3.54993, -3.16521)
points['powerup_spawn1'] = (-3.82429, 3.7163, -6.69373)
points['powerup_spawn2'] = (-6.30979, 3.77692, -0.92893)
points['powerup_spawn3'] = (5.53497, 3.55785, -1.38555)
points['powerup_spawn4'] = (5.67173, 3.55785, -6.19241)
points['spawn1'] = (-8.88537, 3.19387, -3.02879) + (0.87378, 0.05, 1.6634)
points['spawn2'] = (9.52927, 3.22003, -3.30216) + (0.87378, 0.05, 1.6634)
points['tnt1'] = (0.73104, 3.61641, 0.91022)
boxes['area_of_interest_bounds'] = (0.35441, 4.49356, -2.51839) + (0, 0, 0) + (23.64755, 8.06139, 18.50299)
boxes['map_bounds'] = (0.39722, 4.89966, -5.12601) + (0, 0, 0) + (22.08287, 20.7854, 29.92689)
class PicnicMap(ba.Map):
defs = PicnicmapDefs()
name = 'Picnic'
@classmethod
def get_play_types(cls) -> list[str]:
"""Return valid play types for this map."""
return ['melee', 'keep_away', 'team_flag', 'king_of_the_hill']
@classmethod
def get_preview_texture_name(cls) -> str:
return 'mapPicnicPreview'
@classmethod
def on_preload(cls) -> Any:
data: dict[str, Any] = {
'model': ba.getmodel('mapPicnic'),
'collide_model': ba.getcollidemodel('mapPicnicCob'),
'modelc': ba.getmodel('mapPicnicTransparent'),
'collide_modelc': ba.getcollidemodel('mapPicnicTransparentCob'),
'collide_modeld': ba.getcollidemodel('mapPicnicDeathCob'),
'tex': ba.gettexture('mapPicnicColor'),
'bgtex': ba.gettexture('menuBG'),
'bgmodel': ba.getmodel('thePadBG')
}
return data
def __init__(self) -> None:
super().__init__()
shared = SharedObjects.get()
self.node = ba.newnode(
'terrain',
delegate=self,
attrs={
'collide_model': self.preloaddata['collide_model'],
'model': self.preloaddata['model'],
'color_texture': self.preloaddata['tex'],
'materials': [shared.footing_material]
})
self.nodec = ba.newnode(
'terrain',
delegate=self,
attrs={
'collide_model': self.preloaddata['collide_modelc'],
'model': self.preloaddata['modelc'],
'color_texture': self.preloaddata['tex'],
'opacity': 0.8,
'materials': [shared.footing_material]
})
self.noded = ba.newnode(
'terrain',
delegate=self,
attrs={
'collide_model': self.preloaddata['collide_modeld'],
'materials': [shared.footing_material,
shared.death_material]
})
self.background = ba.newnode(
'terrain',
attrs={
'model': self.preloaddata['bgmodel'],
'lighting': False,
'background': True,
'color_texture': self.preloaddata['bgtex']
})
gnode = ba.getactivity().globalsnode
gnode.tint = (1.1, 1.1, 1.0)
gnode.ambient_color = (1.1, 1.1, 1.0)
gnode.vignette_outer = (0.7, 0.65, 0.75)
gnode.vignette_inner = (0.95, 0.95, 0.93)
class MarioworldmapDefs:
# This file was automatically generated from "thePadLevel.ma"
points = {}
boxes = {}
points['ffa_spawn1'] = (3.151, 3.28557, -11.62294) + (0.78108, 0.05, 0.78913)
points['ffa_spawn2'] = (-3.89813, 3.28557, -11.61621) + (0.77292, 0.05, 0.79949)
points['ffa_spawn3'] = (-8.91371, 3.28557, -6.39059) + (0.76822, 0.05, 0.78687)
points['ffa_spawn4'] = (-8.91988, 3.28557, 0.39817) + (0.77204, 0.05, 0.78333)
points['ffa_spawn5'] = (-3.91388, 3.28557, 5.41779) + (0.7682, 0.05, 0.77865)
points['ffa_spawn6'] = (3.13084, 3.28557, 5.42816) + (0.76469, 0.05, 0.80429)
points['ffa_spawn7'] = (8.00649, 3.28557, 0.39817) + (0.76822, 0.05, 0.78687)
points['ffa_spawn8'] = (7.9949, 3.28557, -6.39856) + (0.76689, 0.05, 0.7936)
points['flag1'] = (5.29873, 4.46068, -8.91326)
points['flag2'] = (5.29841, 4.46068, 2.67068)
points['flag3'] = (-6.0173, 4.46068, 2.64588)
points['flag4'] = (-6.00445, 4.46068, -8.91204)
points['flag_default'] = (-0.32485, 4.64644, -2.97299)
points['powerup_spawn1'] = (5.4662, 3.62173, -3.13033)
points['powerup_spawn2'] = (-0.30004, 3.62173, -8.9136)
points['powerup_spawn3'] = (-6.17938, 3.62173, -3.12631)
points['powerup_spawn4'] = (-0.30531, 3.62173, 2.94049)
points['spawn1'] = (9.04137, 3.02487, -2.90355) + (1.29071, 0.05, 1.91677)
points['spawn2'] = (-9.729, 3.02487, -2.95026) + (1.29071, 0.05, 1.91677)
points['spawn_by_flag1'] = (7.94788, 3.01322, -8.88789) + (0.75187, 0.05, 0.84538)
points['spawn_by_flag2'] = (-8.87075, 3.01322, -8.93492) + (0.75187, 0.05, 0.84538)
points['spawn_by_flag3'] = (-8.91571, 3.01322, 2.8066) + (0.75187, 0.05, 0.84538)
points['spawn_by_flag4'] = (8.07702, 3.01322, 2.84106) + (0.75187, 0.05, 0.84538)
points['tnt1'] = (3.16319, 3.31034, -6.37489)
points['tnt2'] = (-3.86491, 3.31034, -6.42483)
points['tnt3'] = (-3.83403, 3.31034, 0.45535)
points['tnt4'] = (3.1593, 3.31034, 0.56443)
boxes['area_of_interest_bounds'] = (0.35441, 0.15553, 0.02918) + (0, 0, 0) + (20.65136, 23.83756, 18.50299)
boxes['map_bounds'] = (0.26088, 7.08896, -3.08543) + (0, 0, 0) + (29.00671, 28.73445, 27.12031)
class MarioWorldMap(ba.Map):
defs = MarioworldmapDefs()
name = 'Mario Bros World'
@classmethod
def get_play_types(cls) -> list[str]:
"""Return valid play types for this map."""
return ['melee', 'keep_away', 'team_flag', 'king_of_the_hill', 'conquest']
@classmethod
def get_preview_texture_name(cls) -> str:
return 'mbwMapPreview'
@classmethod
def on_preload(cls) -> Any:
data: dict[str, Any] = {
'model': ba.getmodel('mbw'),
'collide_model': ba.getcollidemodel('mbwCob'),
'tex': ba.gettexture('mbwColor'),
'bgtex': ba.gettexture('uknucklesBGColor'),
'bgmodel': ba.getmodel('thePadBG')
}
return data
def __init__(self) -> None:
super().__init__()
shared = SharedObjects.get()
self.node = ba.newnode(
'terrain',
delegate=self,
attrs={
'collide_model': self.preloaddata['collide_model'],
'model': self.preloaddata['model'],
'color_texture': self.preloaddata['tex'],
'materials': [shared.footing_material]
})
self.background = ba.newnode(
'terrain',
attrs={
'model': self.preloaddata['bgmodel'],
'lighting': False,
'background': True,
'color_texture': self.preloaddata['bgtex']
})
gnode = ba.getactivity().globalsnode
gnode.tint = (1.1, 1.1, 1.0)
gnode.ambient_color = (1.1, 1.1, 1.0)
gnode.vignette_outer = (0.7, 0.65, 0.75)
gnode.vignette_inner = (0.95, 0.95, 0.93)
def is_point_near_edge(self,
point: ba.Vec3,
running: bool = False) -> bool:
box_position = self.defs.boxes['edge_box'][0:3]
box_scale = self.defs.boxes['edge_box'][6:9]
xpos = (point.x - box_position[0]) / box_scale[0]
zpos = (point.z - box_position[2]) / box_scale[2]
return xpos < -0.5 or xpos > 0.5 or zpos < -0.5 or zpos > 0.5
class PacmanmapDefs:
# This file generated from "pacmanMap.ma"
points = {}
boxes = {}
points['ffa_spawn1'] = (-9.67927, 0.58588, -7.13608) + (0.65447, 0.05, 0.58413)
points['ffa_spawn2'] = (8.08484, 0.58588, 5.82097) + (0.71956, 0.05, 0.64222)
points['ffa_spawn3'] = (-8.18949, 0.58588, 5.81325) + (0.65447, 0.05, 0.58413)
points['ffa_spawn4'] = (9.5672, 0.58588, -7.12513) + (0.71956, 0.05, 0.64222)
points['flag1'] = (-0.01855, 0.91513, 9.92087)
points['flag2'] = (-0.05367, 0.92024, -7.16025)
points['flag_default'] = (-0.05154, 0.99034, -0.74039)
points['powerup_spawn1'] = (-9.6929, 0.93028, -8.68649)
points['powerup_spawn2'] = (9.59894, 0.93028, -8.60753)
points['powerup_spawn3'] = (-9.72155, 0.93028, 5.58694)
points['powerup_spawn4'] = (9.72079, 0.93028, 5.6272)
points['powerup_spawn5'] = (-0.01869, 0.93028, 1.34941)
points['spawn1'] = (-0.01986, 0.77565, 9.98158) + (3.94253, 0.05, 0.38847)
points['spawn2'] = (-0.05893, 0.77565, -7.1692) + (3.90012, 0.05, 0.3592)
points['tnt1'] = (-1.42239, 0.98812, -0.69979)
points['tnt2'] = (1.40068, 0.98811, -0.77369)
boxes['area_of_interest_bounds'] = (-0.08534, 2.76726, 2.09197) + (0, 0, 0) + (14.50743, 14.58622, 28.3354)
boxes['map_bounds'] = (-0.0229, 9.33466, -0.52407) + (0, 0, 0) + (21.48431, 18.8591, 22.6373)
class PortalPM(ba.Actor):
def __init__(self,
position: Sequence[float] = (0.0, 1.0, 0.0),
position2: Sequence[float] = (0.0, 1.0, 0.0),
color: Sequence[float] = (1.0, 1.0, 1.0)):
super().__init__()
shared = SharedObjects.get()
self.radius = 1.1
self.position = position
self.position2 = position2
self.cooldown = False
self.portalmaterial = ba.Material()
self.portalmaterial.add_actions(
conditions=(
('they_have_material', shared.player_material)
),
actions=(('modify_part_collision', 'collide', True),
('modify_part_collision', 'physical', False),
('call', 'at_connect', self.portal)),
)
self.portalmaterial.add_actions(
conditions=(
('they_have_material', shared.object_material),
'or',
('they_dont_have_material', shared.player_material),
),
actions=(('modify_part_collision', 'collide', True),
('modify_part_collision', 'physical', False),
('call', 'at_connect', self.objportal)),
)
self.node = ba.newnode(
'region',
attrs={'position': (self.position[0],
self.position[1],
self.position[2]),
'scale': (0.1, 0.1, 0.1),
'type': 'sphere',
'materials': [self.portalmaterial]}
)
ba.animate_array(self.node, 'scale', 3,
{0: (0, 0, 0), 0.5: (self.radius,
self.radius,
self.radius)})
self.portal2material = ba.Material()
self.portal2material.add_actions(
conditions=(
('they_have_material', shared.player_material)
),
actions=(('modify_part_collision', 'collide', True),
('modify_part_collision', 'physical', False),
('call', 'at_connect', self.portal2)),
)
self.portal2material.add_actions(
conditions=(
('they_have_material', shared.object_material),
'or',
('they_dont_have_material', shared.player_material),
),
actions=(('modify_part_collision', 'collide', True),
('modify_part_collision', 'physical', False),
('call', 'at_connect', self.objportal2)),
)
self.node2 = ba.newnode(
'region',
attrs={'position': (self.position2[0],
self.position2[1],
self.position2[2]),
'scale': (0.1, 0.1, 0.1),
'type': 'sphere',
'materials': [self.portal2material]}
)
ba.animate_array(self.node2, 'scale', 3,
{0: (0, 0, 0), 0.5: (self.radius,
self.radius,
self.radius)})
def cooldown1(self):
self.cooldown = True
def off():
self.cooldown = False
ba.timer(0.01, off)
def portal(self):
sound = ba.getsound('powerup01')
ba.playsound(sound)
node = ba.getcollision().opposingnode
node.handlemessage(ba.StandMessage(self.node2.position))
def portal2(self):
sound = ba.getsound('powerup01')
ba.playsound(sound)
node = ba.getcollision().opposingnode
node.handlemessage(ba.StandMessage(self.node.position))
def objportal(self):
node = ba.getcollision().opposingnode
if node.getnodetype() == 'spaz':
return
v = node.velocity
if not self.cooldown:
node.position = self.position2
self.cooldown1()
def vel():
node.velocity = v
ba.timer(0.01, vel)
def objportal2(self):
node = ba.getcollision().opposingnode
if node.getnodetype() == 'spaz':
return
v = node.velocity
if not self.cooldown:
node.position = self.position
self.cooldown1()
def vel():
node.velocity = v
ba.timer(0.01, vel)
class PacMan(ba.Map):
defs = PacmanmapDefs()
name = 'PAC-MAN'
@classmethod
def get_play_types(cls) -> list[str]:
"""Return valid play types for this map."""
return ['melee', 'keep_away', 'team_flag', 'king_of_the_hill']
@classmethod
def get_preview_texture_name(cls) -> str:
return 'pacmanMapPreview'
@classmethod
def on_preload(cls) -> Any:
data: dict[str, Any] = {
'model': ba.getmodel('pacmanMap'),
'collide_model': ba.getcollidemodel('pacmanMapCob'),
'tex': ba.gettexture('pacmanMapColor')
}
return data
def __init__(self) -> None:
super().__init__()
shared = SharedObjects.get()
self.node = ba.newnode(
'terrain',
delegate=self,
attrs={
'collide_model': self.preloaddata['collide_model'],
'model': self.preloaddata['model'],
'color_texture': self.preloaddata['tex'],
'materials': [shared.footing_material]
})
gnode = ba.getactivity().globalsnode
gnode.tint = (1.3, 1.2, 1.0)
gnode.ambient_color = (1.3, 1.2, 1.0)
gnode.vignette_outer = (0.57, 0.57, 0.57)
gnode.vignette_inner = (0.9, 0.9, 0.9)
gnode.vr_camera_offset = (0.0, -4.2, -1.1)
gnode.vr_near_clip = 0.5
PortalPM(position=(-10.2929, 0.1028, -0.68649),
position2=(10.2929, 0.1028, -0.68649),
color=(3, 0, 9))
files_needed = {}
headless_mode = _ba.env()['headless_mode']
for file, value in package_files.items():
if headless_mode:
if not file.endswith('.cob'):
continue
else:
if file.endswith('.dds'):
if _ba.app.platform == 'android':
continue
elif file.endswith('.ktx'):
if _ba.app.platform != 'android':
continue
files_needed[file] = value
check_md5 = True
PackInstaller(package_name, files_needed)
# ba_meta export plugin
class Map(ba.Plugin):
def on_app_launch(self):
for map in (GeomMap, WashMap, ArenaMinigore, BikiniBottomMap, BombermanMap, CourageMap, DreamlandMap, EliminationRawMap, EliminationSDMap, GotchaMap, GravityFallsMap, GuardianMap, Halloween, IceMap, KrustyKrabMap, PicnicMap, MarioWorldMap, PacMan):
try:
_map.register_map(map)
except:
pass