mirror of
https://github.com/imayushsaini/Bombsquad-Ballistica-Modded-Server.git
synced 2025-10-20 00:00:39 +00:00
more bug fix and security update
This commit is contained in:
parent
e40f147121
commit
6216752a83
23 changed files with 123 additions and 146 deletions
|
|
@ -72,15 +72,15 @@ def kill(arguments, clientid):
|
||||||
def heal(arguments, clientid):
|
def heal(arguments, clientid):
|
||||||
if arguments == [] or arguments == ['']:
|
if arguments == [] or arguments == ['']:
|
||||||
myself = clientid_to_myself(clientid)
|
myself = clientid_to_myself(clientid)
|
||||||
handlemsg(myself, babase.PowerupMessage(poweruptype='health'))
|
handlemsg(myself, bs.PowerupMessage(poweruptype='health'))
|
||||||
|
|
||||||
elif arguments[0] == 'all':
|
elif arguments[0] == 'all':
|
||||||
handlemsg_all(babase.PowerupMessage(poweruptype='health'))
|
handlemsg_all(bs.PowerupMessage(poweruptype='health'))
|
||||||
|
|
||||||
else:
|
else:
|
||||||
try:
|
try:
|
||||||
req_player = int(arguments[0])
|
req_player = int(arguments[0])
|
||||||
handlemsg(req_player, babase.PowerupMessage(poweruptype='health'))
|
handlemsg(req_player, bs.PowerupMessage(poweruptype='health'))
|
||||||
except:
|
except:
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
@ -88,15 +88,15 @@ def heal(arguments, clientid):
|
||||||
def curse(arguments, clientid):
|
def curse(arguments, clientid):
|
||||||
if arguments == [] or arguments == ['']:
|
if arguments == [] or arguments == ['']:
|
||||||
myself = clientid_to_myself(clientid)
|
myself = clientid_to_myself(clientid)
|
||||||
handlemsg(myself, babase.PowerupMessage(poweruptype='curse'))
|
handlemsg(myself, bs.PowerupMessage(poweruptype='curse'))
|
||||||
|
|
||||||
elif arguments[0] == 'all':
|
elif arguments[0] == 'all':
|
||||||
handlemsg_all(babase.PowerupMessage(poweruptype='curse'))
|
handlemsg_all(bs.PowerupMessage(poweruptype='curse'))
|
||||||
|
|
||||||
else:
|
else:
|
||||||
try:
|
try:
|
||||||
req_player = int(arguments[0])
|
req_player = int(arguments[0])
|
||||||
handlemsg(req_player, babase.PowerupMessage(poweruptype='curse'))
|
handlemsg(req_player, bs.PowerupMessage(poweruptype='curse'))
|
||||||
except:
|
except:
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
@ -164,15 +164,15 @@ def super_punch(arguments, clientid):
|
||||||
def gloves(arguments, clientid):
|
def gloves(arguments, clientid):
|
||||||
if arguments == [] or arguments == ['']:
|
if arguments == [] or arguments == ['']:
|
||||||
myself = clientid_to_myself(clientid)
|
myself = clientid_to_myself(clientid)
|
||||||
handlemsg(myself, babase.PowerupMessage(poweruptype='punch'))
|
handlemsg(myself, bs.PowerupMessage(poweruptype='punch'))
|
||||||
|
|
||||||
elif arguments[0] == 'all':
|
elif arguments[0] == 'all':
|
||||||
handlemsg_all(babase.PowerupMessage(poweruptype='punch'))
|
handlemsg_all(bs.PowerupMessage(poweruptype='punch'))
|
||||||
|
|
||||||
else:
|
else:
|
||||||
try:
|
try:
|
||||||
req_player = int(arguments[0])
|
req_player = int(arguments[0])
|
||||||
handlemsg(req_player, babase.PowerupMessage(poweruptype='punch'))
|
handlemsg(req_player, bs.PowerupMessage(poweruptype='punch'))
|
||||||
except:
|
except:
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
@ -180,15 +180,15 @@ def gloves(arguments, clientid):
|
||||||
def shield(arguments, clientid):
|
def shield(arguments, clientid):
|
||||||
if arguments == [] or arguments == ['']:
|
if arguments == [] or arguments == ['']:
|
||||||
myself = clientid_to_myself(clientid)
|
myself = clientid_to_myself(clientid)
|
||||||
handlemsg(myself, babase.PowerupMessage(poweruptype='shield'))
|
handlemsg(myself, bs.PowerupMessage(poweruptype='shield'))
|
||||||
|
|
||||||
elif arguments[0] == 'all':
|
elif arguments[0] == 'all':
|
||||||
handlemsg_all(babase.PowerupMessage(poweruptype='shield'))
|
handlemsg_all(bs.PowerupMessage(poweruptype='shield'))
|
||||||
|
|
||||||
else:
|
else:
|
||||||
try:
|
try:
|
||||||
req_player = int(arguments[0])
|
req_player = int(arguments[0])
|
||||||
handlemsg(req_player, babase.PowerupMessage(poweruptype='shield'))
|
handlemsg(req_player, bs.PowerupMessage(poweruptype='shield'))
|
||||||
except:
|
except:
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
@ -196,15 +196,15 @@ def shield(arguments, clientid):
|
||||||
def freeze(arguments, clientid):
|
def freeze(arguments, clientid):
|
||||||
if arguments == [] or arguments == ['']:
|
if arguments == [] or arguments == ['']:
|
||||||
myself = clientid_to_myself(clientid)
|
myself = clientid_to_myself(clientid)
|
||||||
handlemsg(myself, babase.FreezeMessage())
|
handlemsg(myself, bs.FreezeMessage())
|
||||||
|
|
||||||
elif arguments[0] == 'all':
|
elif arguments[0] == 'all':
|
||||||
handlemsg_all(babase.FreezeMessage())
|
handlemsg_all(bs.FreezeMessage())
|
||||||
|
|
||||||
else:
|
else:
|
||||||
try:
|
try:
|
||||||
req_player = int(arguments[0])
|
req_player = int(arguments[0])
|
||||||
handlemsg(req_player, babase.FreezeMessage())
|
handlemsg(req_player, bs.FreezeMessage())
|
||||||
except:
|
except:
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
@ -212,15 +212,15 @@ def freeze(arguments, clientid):
|
||||||
def un_freeze(arguments, clientid):
|
def un_freeze(arguments, clientid):
|
||||||
if arguments == [] or arguments == ['']:
|
if arguments == [] or arguments == ['']:
|
||||||
myself = clientid_to_myself(clientid)
|
myself = clientid_to_myself(clientid)
|
||||||
handlemsg(myself, babase.ThawMessage())
|
handlemsg(myself, bs.ThawMessage())
|
||||||
|
|
||||||
elif arguments[0] == 'all':
|
elif arguments[0] == 'all':
|
||||||
handlemsg_all(babase.ThawMessage())
|
handlemsg_all(bs.ThawMessage())
|
||||||
|
|
||||||
else:
|
else:
|
||||||
try:
|
try:
|
||||||
req_player = int(arguments[0])
|
req_player = int(arguments[0])
|
||||||
handlemsg(req_player, babase.ThawMessage())
|
handlemsg(req_player, bs.ThawMessage())
|
||||||
except:
|
except:
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -178,8 +178,8 @@ def creep(arguments):
|
||||||
|
|
||||||
if node.head_mesh != None:
|
if node.head_mesh != None:
|
||||||
node.head_mesh = None
|
node.head_mesh = None
|
||||||
node.handlemessage(babase.PowerupMessage(poweruptype='punch'))
|
node.handlemessage(bs.PowerupMessage(poweruptype='punch'))
|
||||||
node.handlemessage(babase.PowerupMessage(poweruptype='shield'))
|
node.handlemessage(bs.PowerupMessage(poweruptype='shield'))
|
||||||
|
|
||||||
else:
|
else:
|
||||||
try:
|
try:
|
||||||
|
|
@ -190,8 +190,8 @@ def creep(arguments):
|
||||||
|
|
||||||
if node.head_mesh != None:
|
if node.head_mesh != None:
|
||||||
node.head_mesh = None
|
node.head_mesh = None
|
||||||
node.handlemessage(babase.PowerupMessage(poweruptype='punch'))
|
node.handlemessage(bs.PowerupMessage(poweruptype='punch'))
|
||||||
node.handlemessage(babase.PowerupMessage(poweruptype='shield'))
|
node.handlemessage(bs.PowerupMessage(poweruptype='shield'))
|
||||||
except:
|
except:
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -304,7 +304,7 @@ def ban(arguments):
|
||||||
pdata.ban_player(
|
pdata.ban_player(
|
||||||
account["pbid"], duration, "by chat command")
|
account["pbid"], duration, "by chat command")
|
||||||
logger.log(
|
logger.log(
|
||||||
f'banned {ros["display_string"]} by chat command, recents')
|
f'banned {account["pbid"]} by chat command, recents')
|
||||||
kick(arguments)
|
kick(arguments)
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
|
|
@ -350,7 +350,7 @@ def un_mute(arguments):
|
||||||
if account['client_id'] == int(arguments[0]):
|
if account['client_id'] == int(arguments[0]):
|
||||||
pdata.unmute(account["pbid"])
|
pdata.unmute(account["pbid"])
|
||||||
logger.log(
|
logger.log(
|
||||||
f'unmuted {ros["display_string"]} by chat command, recents')
|
f'unmuted {account["pbid"]} by chat command, recents')
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
@ -377,7 +377,7 @@ def remove(arguments):
|
||||||
def slow_motion():
|
def slow_motion():
|
||||||
activity = _babase.get_foreground_host_activity()
|
activity = _babase.get_foreground_host_activity()
|
||||||
|
|
||||||
if activity.globalsnode.slow_motion != True:
|
if not activity.globalsnode.slow_motion:
|
||||||
activity.globalsnode.slow_motion = True
|
activity.globalsnode.slow_motion = True
|
||||||
|
|
||||||
else:
|
else:
|
||||||
|
|
@ -423,7 +423,7 @@ def dv(arguments):
|
||||||
def pause():
|
def pause():
|
||||||
activity = _babase.get_foreground_host_activity()
|
activity = _babase.get_foreground_host_activity()
|
||||||
|
|
||||||
if activity.globalsnode.paused != True:
|
if not activity.globalsnode.paused:
|
||||||
activity.globalsnode.paused = True
|
activity.globalsnode.paused = True
|
||||||
|
|
||||||
else:
|
else:
|
||||||
|
|
@ -437,7 +437,7 @@ def rotate_camera():
|
||||||
activity.globalsnode.camera_mode = 'rotate'
|
activity.globalsnode.camera_mode = 'rotate'
|
||||||
|
|
||||||
else:
|
else:
|
||||||
activity.globalsnode.camera_mode == 'normal'
|
activity.globalsnode.camera_mode = 'normal'
|
||||||
|
|
||||||
|
|
||||||
def create_role(arguments):
|
def create_role(arguments):
|
||||||
|
|
|
||||||
|
|
@ -4,10 +4,11 @@ from __future__ import annotations
|
||||||
import _babase
|
import _babase
|
||||||
import math
|
import math
|
||||||
import random
|
import random
|
||||||
from babase._generated.enums import InputType
|
|
||||||
from typing import TYPE_CHECKING
|
|
||||||
|
|
||||||
|
from typing import TYPE_CHECKING
|
||||||
|
from babase import InputType
|
||||||
import bascenev1 as bs
|
import bascenev1 as bs
|
||||||
|
import babase
|
||||||
from bascenev1lib.actor.bomb import Bomb
|
from bascenev1lib.actor.bomb import Bomb
|
||||||
from bascenev1lib.gameutils import SharedObjects
|
from bascenev1lib.gameutils import SharedObjects
|
||||||
|
|
||||||
|
|
@ -209,7 +210,7 @@ class Floater(bs.Actor):
|
||||||
|
|
||||||
|
|
||||||
def assignFloInputs(clientID: int):
|
def assignFloInputs(clientID: int):
|
||||||
with babase.Context(_babase.get_foreground_host_activity()):
|
with bs.get_foreground_host_activity().context():
|
||||||
activity = bs.getactivity()
|
activity = bs.getactivity()
|
||||||
if not hasattr(activity, 'flo') or not activity.flo.node.exists():
|
if not hasattr(activity, 'flo') or not activity.flo.node.exists():
|
||||||
try:
|
try:
|
||||||
|
|
|
||||||
7
dist/ba_root/mods/custom_hooks.py
vendored
7
dist/ba_root/mods/custom_hooks.py
vendored
|
|
@ -17,7 +17,6 @@ import time
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
import _babase
|
import _babase
|
||||||
import _bascenev1
|
|
||||||
from typing import TYPE_CHECKING
|
from typing import TYPE_CHECKING
|
||||||
|
|
||||||
import babase
|
import babase
|
||||||
|
|
@ -65,13 +64,13 @@ class modSetup(babase.Plugin):
|
||||||
bootstraping()
|
bootstraping()
|
||||||
servercheck.checkserver().start()
|
servercheck.checkserver().start()
|
||||||
ServerUpdate.check()
|
ServerUpdate.check()
|
||||||
bs.AppTimer(5, account.updateOwnerIps)
|
bs.apptimer(5, account.updateOwnerIps)
|
||||||
if settings["afk_remover"]['enable']:
|
if settings["afk_remover"]['enable']:
|
||||||
afk_check.checkIdle().start()
|
afk_check.checkIdle().start()
|
||||||
if (settings["useV2Account"]):
|
if (settings["useV2Account"]):
|
||||||
|
|
||||||
if (babase.internal.get_v1_account_state() ==
|
if (plus.get_v1_account_state() ==
|
||||||
'signed_in' and babase.internal.get_v1_account_type() == 'V2'):
|
'signed_in' and plus.get_v1_account_type() == 'V2'):
|
||||||
logging.debug("Account V2 is active")
|
logging.debug("Account V2 is active")
|
||||||
else:
|
else:
|
||||||
logging.warning("Account V2 login require ....stay tuned.")
|
logging.warning("Account V2 login require ....stay tuned.")
|
||||||
|
|
|
||||||
5
dist/ba_root/mods/features/afk_check.py
vendored
5
dist/ba_root/mods/features/afk_check.py
vendored
|
|
@ -21,8 +21,7 @@ class checkIdle(object):
|
||||||
def check(self):
|
def check(self):
|
||||||
global cLastIdle
|
global cLastIdle
|
||||||
global cIdle
|
global cIdle
|
||||||
current = bs.time(babase.TimeType.REAL,
|
current = bs.apptime() * 1000
|
||||||
timeformat=babase.TimeFormat.MILLISECONDS)
|
|
||||||
if not bs.get_foreground_host_session():
|
if not bs.get_foreground_host_session():
|
||||||
return
|
return
|
||||||
for player in bs.get_foreground_host_session().sessionplayers:
|
for player in bs.get_foreground_host_session().sessionplayers:
|
||||||
|
|
@ -54,7 +53,7 @@ class checkIdle(object):
|
||||||
lobby_afk = int(
|
lobby_afk = int(
|
||||||
(current - self.lobbies[player['client_id']]) / 1000)
|
(current - self.lobbies[player['client_id']]) / 1000)
|
||||||
if lobby_afk in range(INLOBBY_TIME, INLOBBY_TIME + 10):
|
if lobby_afk in range(INLOBBY_TIME, INLOBBY_TIME + 10):
|
||||||
_bs.broadcastmessage("Join game within " + str(
|
bs.broadcastmessage("Join game within " + str(
|
||||||
INLOBBY_TIME + 10 - lobby_afk) + " secs",
|
INLOBBY_TIME + 10 - lobby_afk) + " secs",
|
||||||
color=(1, 0, 0), transient=True,
|
color=(1, 0, 0), transient=True,
|
||||||
clients=[player['client_id']])
|
clients=[player['client_id']])
|
||||||
|
|
|
||||||
14
dist/ba_root/mods/features/discord_bot.py
vendored
14
dist/ba_root/mods/features/discord_bot.py
vendored
|
|
@ -50,7 +50,7 @@ async def on_message(message):
|
||||||
channel = message.channel
|
channel = message.channel
|
||||||
|
|
||||||
if message.channel.id == logsChannelID:
|
if message.channel.id == logsChannelID:
|
||||||
_babase.pushcall(Call(babase.internal.chatmessage,
|
_babase.pushcall(Call(bs.chatmessage,
|
||||||
message.content), from_other_thread=True)
|
message.content), from_other_thread=True)
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -147,7 +147,7 @@ def get_chats():
|
||||||
class BsDataThread(object):
|
class BsDataThread(object):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.refreshStats()
|
self.refreshStats()
|
||||||
self.Timer = bs.Timer(8, babase.Call(self.refreshStats), repeat=True)
|
self.Timer = bs.AppTimer(8, babase.Call(self.refreshStats), repeat=True)
|
||||||
# self.Timerr = bs.Timer( 10,babase.Call(self.refreshLeaderboard),timetype = babase.TimeType.REAL,repeat = True)
|
# self.Timerr = bs.Timer( 10,babase.Call(self.refreshLeaderboard),timetype = babase.TimeType.REAL,repeat = True)
|
||||||
|
|
||||||
# def refreshLeaderboard(self):
|
# def refreshLeaderboard(self):
|
||||||
|
|
@ -175,7 +175,7 @@ class BsDataThread(object):
|
||||||
currentMap = ''
|
currentMap = ''
|
||||||
global stats
|
global stats
|
||||||
|
|
||||||
for i in babase.internal.get_game_roster():
|
for i in bs.get_game_roster():
|
||||||
try:
|
try:
|
||||||
liveplayers[i['account_id']] = {
|
liveplayers[i['account_id']] = {
|
||||||
'name': i['players'][0]['name_full'],
|
'name': i['players'][0]['name_full'],
|
||||||
|
|
@ -186,11 +186,11 @@ class BsDataThread(object):
|
||||||
'name': "<in-lobby>", 'clientid': i['client_id'],
|
'name': "<in-lobby>", 'clientid': i['client_id'],
|
||||||
'device_id': i['display_string']}
|
'device_id': i['display_string']}
|
||||||
try:
|
try:
|
||||||
nextMap = babase.internal.get_foreground_host_session(
|
nextMap = bs.get_foreground_host_session(
|
||||||
).get_next_game_description().evaluate()
|
).get_next_game_description().evaluate()
|
||||||
|
|
||||||
current_game_spec = babase.internal.get_foreground_host_session()._current_game_spec
|
current_game_spec = bs.get_foreground_host_session()._current_game_spec
|
||||||
gametype: Type[GameActivity] = current_game_spec['resolved_type']
|
gametype = current_game_spec['resolved_type']
|
||||||
|
|
||||||
currentMap = gametype.get_settings_display_string(
|
currentMap = gametype.get_settings_display_string(
|
||||||
current_game_spec).evaluate()
|
current_game_spec).evaluate()
|
||||||
|
|
@ -201,7 +201,7 @@ class BsDataThread(object):
|
||||||
# system={'cpu':80,'ram':34}
|
# system={'cpu':80,'ram':34}
|
||||||
# stats['system']=system
|
# stats['system']=system
|
||||||
stats['roster'] = liveplayers
|
stats['roster'] = liveplayers
|
||||||
stats['chats'] = babase.internal.get_chat_messages()
|
stats['chats'] = bs.get_chat_messages()
|
||||||
stats['playlist'] = minigame
|
stats['playlist'] = minigame
|
||||||
|
|
||||||
# stats['teamInfo']=self.getTeamInfo()
|
# stats['teamInfo']=self.getTeamInfo()
|
||||||
|
|
|
||||||
2
dist/ba_root/mods/features/fire_flies.py
vendored
2
dist/ba_root/mods/features/fire_flies.py
vendored
|
|
@ -104,7 +104,7 @@ class FireFly(bs.Actor):
|
||||||
|
|
||||||
def off(self):
|
def off(self):
|
||||||
death_secs = random.uniform(0.5, 3)
|
death_secs = random.uniform(0.5, 3)
|
||||||
with babase.Context(self._activity()):
|
with self._activity().context():
|
||||||
bs.animate(
|
bs.animate(
|
||||||
self.node,
|
self.node,
|
||||||
'mesh_scale',
|
'mesh_scale',
|
||||||
|
|
|
||||||
4
dist/ba_root/mods/playersdata/roles.json
vendored
4
dist/ba_root/mods/playersdata/roles.json
vendored
|
|
@ -70,8 +70,8 @@
|
||||||
],
|
],
|
||||||
"commands": [],
|
"commands": [],
|
||||||
"ids": [
|
"ids": [
|
||||||
"pb-IF5RU3EcAg==",
|
"pb-IF4VAk4a",
|
||||||
"pb-IF4VAk4a"
|
"pb-IF5RU3EcAg=="
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"bypass-warn": {
|
"bypass-warn": {
|
||||||
|
|
|
||||||
|
|
@ -70,8 +70,8 @@
|
||||||
],
|
],
|
||||||
"commands": [],
|
"commands": [],
|
||||||
"ids": [
|
"ids": [
|
||||||
"pb-IF5RU3EcAg==",
|
"pb-IF4VAk4a",
|
||||||
"pb-IF4VAk4a"
|
"pb-IF5RU3EcAg=="
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"bypass-warn": {
|
"bypass-warn": {
|
||||||
|
|
|
||||||
3
dist/ba_root/mods/plugins/auto_stunt.py
vendored
3
dist/ba_root/mods/plugins/auto_stunt.py
vendored
|
|
@ -17,11 +17,10 @@ import babase
|
||||||
import bascenev1 as bs
|
import bascenev1 as bs
|
||||||
import bascenev1lib
|
import bascenev1lib
|
||||||
import bauiv1 as bui
|
import bauiv1 as bui
|
||||||
from bascenev1lib.actor import spaz
|
from bascenev1lib.actor import spaz, playerspaz
|
||||||
from bascenev1lib.actor.image import Image
|
from bascenev1lib.actor.image import Image
|
||||||
from bascenev1lib.actor.powerupbox import PowerupBoxFactory
|
from bascenev1lib.actor.powerupbox import PowerupBoxFactory
|
||||||
from bascenev1lib.actor.spazfactory import SpazFactory
|
from bascenev1lib.actor.spazfactory import SpazFactory
|
||||||
from bascenev1lib.actor.text import Text
|
|
||||||
from bascenev1lib.game.elimination import EliminationGame
|
from bascenev1lib.game.elimination import EliminationGame
|
||||||
from bascenev1lib.gameutils import SharedObjects
|
from bascenev1lib.gameutils import SharedObjects
|
||||||
|
|
||||||
|
|
|
||||||
18
dist/ba_root/mods/plugins/bombsquad_service.py
vendored
18
dist/ba_root/mods/plugins/bombsquad_service.py
vendored
|
|
@ -1,4 +1,4 @@
|
||||||
import babase
|
|
||||||
import _thread
|
import _thread
|
||||||
import os
|
import os
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
@ -30,12 +30,10 @@ class BsDataThread(object):
|
||||||
stats["discord"] = "https://discord.gg/ucyaesh"
|
stats["discord"] = "https://discord.gg/ucyaesh"
|
||||||
stats["vapidKey"] = notification_manager.get_vapid_keys()["public_key"]
|
stats["vapidKey"] = notification_manager.get_vapid_keys()["public_key"]
|
||||||
|
|
||||||
self.refresh_stats_cache_timer = bs.Timer(8, babase.Call(
|
self.refresh_stats_cache_timer = bs.AppTimer(8, babase.Call(
|
||||||
self.refreshStats),
|
self.refreshStats) , repeat=True)
|
||||||
babase.TimeType.REAL,
|
self.refresh_leaderboard_cache_timer = bs.AppTimer(10, babase.Call(
|
||||||
repeat=True)
|
self.refreshLeaderboard), repeat=True)
|
||||||
self.refresh_leaderboard_cache_timer = bs.Timer(10, babase.Call(
|
|
||||||
self.refreshLeaderboard), babase.TimeType.REAL, repeat=True)
|
|
||||||
|
|
||||||
def startThread(self):
|
def startThread(self):
|
||||||
_thread.start_new_thread(self.refreshLeaderboard, ())
|
_thread.start_new_thread(self.refreshLeaderboard, ())
|
||||||
|
|
@ -58,7 +56,7 @@ class BsDataThread(object):
|
||||||
nextMap = ''
|
nextMap = ''
|
||||||
currentMap = ''
|
currentMap = ''
|
||||||
|
|
||||||
for i in babase.internal.get_game_roster():
|
for i in bs.get_game_roster():
|
||||||
try:
|
try:
|
||||||
liveplayers[i['account_id']] = {
|
liveplayers[i['account_id']] = {
|
||||||
'name': i['players'][0]['name_full'],
|
'name': i['players'][0]['name_full'],
|
||||||
|
|
@ -84,11 +82,11 @@ class BsDataThread(object):
|
||||||
system = {'cpu': "null", 'ram': 'null'}
|
system = {'cpu': "null", 'ram': 'null'}
|
||||||
stats['system'] = system
|
stats['system'] = system
|
||||||
stats['roster'] = liveplayers
|
stats['roster'] = liveplayers
|
||||||
stats['chats'] = babase.internal.get_chat_messages()
|
stats['chats'] = bs.get_chat_messages()
|
||||||
stats['playlist'] = current_games
|
stats['playlist'] = current_games
|
||||||
stats['teamInfo'] = self.getTeamInfo()
|
stats['teamInfo'] = self.getTeamInfo()
|
||||||
stats["sessionType"] = type(
|
stats["sessionType"] = type(
|
||||||
babase.internal.get_foreground_host_session()).__name__
|
bs.get_foreground_host_session()).__name__
|
||||||
|
|
||||||
# print(self.getTeamInfo());
|
# print(self.getTeamInfo());
|
||||||
|
|
||||||
|
|
|
||||||
83
dist/ba_root/mods/plugins/elPatronPowerups.py
vendored
83
dist/ba_root/mods/plugins/elPatronPowerups.py
vendored
|
|
@ -504,7 +504,7 @@ class NewProfileBrowserWindow(browser.ProfileBrowserWindow):
|
||||||
super().__init__(transition, in_main_menu, selected_profile,
|
super().__init__(transition, in_main_menu, selected_profile,
|
||||||
origin_widget)
|
origin_widget)
|
||||||
|
|
||||||
self.session = babase.internal.get_foreground_host_session()
|
self.session = bs.get_foreground_host_session()
|
||||||
uiscale = bui.app.ui_v1.uiscale
|
uiscale = bui.app.ui_v1.uiscale
|
||||||
width = (100 if uiscale is
|
width = (100 if uiscale is
|
||||||
babase.UIScale.SMALL else -14)
|
babase.UIScale.SMALL else -14)
|
||||||
|
|
@ -688,7 +688,7 @@ def bomb_handlemessage(self, msg: Any) -> Any:
|
||||||
source_player=babase.existing(self._source_player)))
|
source_player=babase.existing(self._source_player)))
|
||||||
if self.blast_type in ('ice', 'ice_bubble'):
|
if self.blast_type in ('ice', 'ice_bubble'):
|
||||||
bomb.BombFactory.get().freeze_sound.play(10, position=nodepos)
|
bomb.BombFactory.get().freeze_sound.play(10, position=nodepos)
|
||||||
node.handlemessage(babase.FreezeMessage())
|
node.handlemessage(bs.FreezeMessage())
|
||||||
|
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
@ -949,7 +949,7 @@ def spaz_on_punch_release(self) -> None:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
def new_get_bomb_type_tex(self) -> babase.Texture:
|
def new_get_bomb_type_tex(self):
|
||||||
factory = NewPowerupBoxFactory.get()
|
factory = NewPowerupBoxFactory.get()
|
||||||
if self.bomb_type == 'sticky':
|
if self.bomb_type == 'sticky':
|
||||||
return factory.tex_sticky_bombs
|
return factory.tex_sticky_bombs
|
||||||
|
|
@ -1002,12 +1002,10 @@ def new_handlemessage(self, msg: Any) -> Any:
|
||||||
t_ms + POWERUP_WEAR_OFF_TIME)
|
t_ms + POWERUP_WEAR_OFF_TIME)
|
||||||
self._multi_bomb_wear_off_timer = (bs.Timer(
|
self._multi_bomb_wear_off_timer = (bs.Timer(
|
||||||
(POWERUP_WEAR_OFF_TIME - 2000),
|
(POWERUP_WEAR_OFF_TIME - 2000),
|
||||||
babase.Call(self._multi_bomb_wear_off_flash),
|
babase.Call(self._multi_bomb_wear_off_flash)))
|
||||||
timeformat=babase.TimeFormat.MILLISECONDS))
|
|
||||||
self._multi_bomb_wear_off_timer = (bs.Timer(
|
self._multi_bomb_wear_off_timer = (bs.Timer(
|
||||||
POWERUP_WEAR_OFF_TIME,
|
POWERUP_WEAR_OFF_TIME,
|
||||||
babase.Call(self._multi_bomb_wear_off),
|
babase.Call(self._multi_bomb_wear_off)))
|
||||||
timeformat=babase.TimeFormat.MILLISECONDS))
|
|
||||||
elif msg.poweruptype == 'land_mines':
|
elif msg.poweruptype == 'land_mines':
|
||||||
self.set_land_mine_count(min(self.land_mine_count + 3, 3))
|
self.set_land_mine_count(min(self.land_mine_count + 3, 3))
|
||||||
elif msg.poweruptype == 'impact_bombs':
|
elif msg.poweruptype == 'impact_bombs':
|
||||||
|
|
@ -1023,12 +1021,10 @@ def new_handlemessage(self, msg: Any) -> Any:
|
||||||
t_ms + POWERUP_WEAR_OFF_TIME)
|
t_ms + POWERUP_WEAR_OFF_TIME)
|
||||||
self._bomb_wear_off_flash_timer = (bs.Timer(
|
self._bomb_wear_off_flash_timer = (bs.Timer(
|
||||||
POWERUP_WEAR_OFF_TIME - 2000,
|
POWERUP_WEAR_OFF_TIME - 2000,
|
||||||
babase.Call(self._bomb_wear_off_flash),
|
babase.Call(self._bomb_wear_off_flash)))
|
||||||
timeformat=babase.TimeFormat.MILLISECONDS))
|
|
||||||
self._bomb_wear_off_timer = (bs.Timer(
|
self._bomb_wear_off_timer = (bs.Timer(
|
||||||
POWERUP_WEAR_OFF_TIME,
|
POWERUP_WEAR_OFF_TIME,
|
||||||
babase.Call(self._bomb_wear_off),
|
babase.Call(self._bomb_wear_off)))
|
||||||
timeformat=babase.TimeFormat.MILLISECONDS))
|
|
||||||
elif msg.poweruptype == 'sticky_bombs':
|
elif msg.poweruptype == 'sticky_bombs':
|
||||||
self.bomb_type = 'sticky'
|
self.bomb_type = 'sticky'
|
||||||
tex = self._get_bomb_type_tex()
|
tex = self._get_bomb_type_tex()
|
||||||
|
|
@ -1042,12 +1038,10 @@ def new_handlemessage(self, msg: Any) -> Any:
|
||||||
t_ms + POWERUP_WEAR_OFF_TIME)
|
t_ms + POWERUP_WEAR_OFF_TIME)
|
||||||
self._bomb_wear_off_flash_timer = (bs.Timer(
|
self._bomb_wear_off_flash_timer = (bs.Timer(
|
||||||
POWERUP_WEAR_OFF_TIME - 2000,
|
POWERUP_WEAR_OFF_TIME - 2000,
|
||||||
babase.Call(self._bomb_wear_off_flash),
|
babase.Call(self._bomb_wear_off_flash)))
|
||||||
timeformat=babase.TimeFormat.MILLISECONDS))
|
|
||||||
self._bomb_wear_off_timer = (bs.Timer(
|
self._bomb_wear_off_timer = (bs.Timer(
|
||||||
POWERUP_WEAR_OFF_TIME,
|
POWERUP_WEAR_OFF_TIME,
|
||||||
babase.Call(self._bomb_wear_off),
|
babase.Call(self._bomb_wear_off)))
|
||||||
timeformat=babase.TimeFormat.MILLISECONDS))
|
|
||||||
elif msg.poweruptype == 'punch':
|
elif msg.poweruptype == 'punch':
|
||||||
self._has_boxing_gloves = True
|
self._has_boxing_gloves = True
|
||||||
tex = PowerupBoxFactory.get().tex_punch
|
tex = PowerupBoxFactory.get().tex_punch
|
||||||
|
|
@ -1063,12 +1057,10 @@ def new_handlemessage(self, msg: Any) -> Any:
|
||||||
t_ms + POWERUP_WEAR_OFF_TIME)
|
t_ms + POWERUP_WEAR_OFF_TIME)
|
||||||
self._boxing_gloves_wear_off_flash_timer = (bs.Timer(
|
self._boxing_gloves_wear_off_flash_timer = (bs.Timer(
|
||||||
POWERUP_WEAR_OFF_TIME - 2000,
|
POWERUP_WEAR_OFF_TIME - 2000,
|
||||||
bs.WeakCall(self._gloves_wear_off_flash),
|
bs.WeakCall(self._gloves_wear_off_flash)))
|
||||||
timeformat=babase.TimeFormat.MILLISECONDS))
|
|
||||||
self._boxing_gloves_wear_off_timer = (bs.Timer(
|
self._boxing_gloves_wear_off_timer = (bs.Timer(
|
||||||
POWERUP_WEAR_OFF_TIME,
|
POWERUP_WEAR_OFF_TIME,
|
||||||
bs.WeakCall(self._gloves_wear_off),
|
bs.WeakCall(self._gloves_wear_off),))
|
||||||
timeformat=babase.TimeFormat.MILLISECONDS))
|
|
||||||
elif msg.poweruptype == 'shield':
|
elif msg.poweruptype == 'shield':
|
||||||
factory = SpazFactory.get()
|
factory = SpazFactory.get()
|
||||||
self.equip_shields(decay=factory.shield_decay_rate > 0)
|
self.equip_shields(decay=factory.shield_decay_rate > 0)
|
||||||
|
|
@ -1087,12 +1079,10 @@ def new_handlemessage(self, msg: Any) -> Any:
|
||||||
t_ms + POWERUP_WEAR_OFF_TIME)
|
t_ms + POWERUP_WEAR_OFF_TIME)
|
||||||
self._bomb_wear_off_flash_timer = (bs.Timer(
|
self._bomb_wear_off_flash_timer = (bs.Timer(
|
||||||
POWERUP_WEAR_OFF_TIME - 2000,
|
POWERUP_WEAR_OFF_TIME - 2000,
|
||||||
bs.WeakCall(self._bomb_wear_off_flash),
|
bs.WeakCall(self._bomb_wear_off_flash)))
|
||||||
timeformat=babase.TimeFormat.MILLISECONDS))
|
|
||||||
self._bomb_wear_off_timer = (bs.Timer(
|
self._bomb_wear_off_timer = (bs.Timer(
|
||||||
POWERUP_WEAR_OFF_TIME,
|
POWERUP_WEAR_OFF_TIME,
|
||||||
bs.WeakCall(self._bomb_wear_off),
|
bs.WeakCall(self._bomb_wear_off)))
|
||||||
timeformat=babase.TimeFormat.MILLISECONDS))
|
|
||||||
elif msg.poweruptype == 'health':
|
elif msg.poweruptype == 'health':
|
||||||
if self.edg_eff:
|
if self.edg_eff:
|
||||||
f = self.color[0]
|
f = self.color[0]
|
||||||
|
|
@ -1151,12 +1141,10 @@ def new_handlemessage(self, msg: Any) -> Any:
|
||||||
t_ms + POWERUP_WEAR_OFF_TIME)
|
t_ms + POWERUP_WEAR_OFF_TIME)
|
||||||
self._bomb_wear_off_flash_timer = (bs.Timer(
|
self._bomb_wear_off_flash_timer = (bs.Timer(
|
||||||
POWERUP_WEAR_OFF_TIME - 2000,
|
POWERUP_WEAR_OFF_TIME - 2000,
|
||||||
bs.WeakCall(self._bomb_wear_off_flash),
|
bs.WeakCall(self._bomb_wear_off_flash)))
|
||||||
timeformat=babase.TimeFormat.MILLISECONDS))
|
|
||||||
self._bomb_wear_off_timer = (bs.Timer(
|
self._bomb_wear_off_timer = (bs.Timer(
|
||||||
POWERUP_WEAR_OFF_TIME,
|
POWERUP_WEAR_OFF_TIME,
|
||||||
bs.WeakCall(self._bomb_wear_off),
|
bs.WeakCall(self._bomb_wear_off)))
|
||||||
timeformat=babase.TimeFormat.MILLISECONDS))
|
|
||||||
|
|
||||||
elif msg.poweruptype == 'fire_bombs':
|
elif msg.poweruptype == 'fire_bombs':
|
||||||
self.bomb_type = 'fire'
|
self.bomb_type = 'fire'
|
||||||
|
|
@ -1171,12 +1159,10 @@ def new_handlemessage(self, msg: Any) -> Any:
|
||||||
t_ms + POWERUP_WEAR_OFF_TIME)
|
t_ms + POWERUP_WEAR_OFF_TIME)
|
||||||
self._bomb_wear_off_flash_timer = (bs.Timer(
|
self._bomb_wear_off_flash_timer = (bs.Timer(
|
||||||
POWERUP_WEAR_OFF_TIME - 2000,
|
POWERUP_WEAR_OFF_TIME - 2000,
|
||||||
bs.WeakCall(self._bomb_wear_off_flash),
|
bs.WeakCall(self._bomb_wear_off_flash)))
|
||||||
timeformat=babase.TimeFormat.MILLISECONDS))
|
|
||||||
self._bomb_wear_off_timer = (bs.Timer(
|
self._bomb_wear_off_timer = (bs.Timer(
|
||||||
POWERUP_WEAR_OFF_TIME,
|
POWERUP_WEAR_OFF_TIME,
|
||||||
bs.WeakCall(self._bomb_wear_off),
|
bs.WeakCall(self._bomb_wear_off)))
|
||||||
timeformat=babase.TimeFormat.MILLISECONDS))
|
|
||||||
|
|
||||||
elif msg.poweruptype == 'impairment_bombs':
|
elif msg.poweruptype == 'impairment_bombs':
|
||||||
self.bomb_type = 'impairment'
|
self.bomb_type = 'impairment'
|
||||||
|
|
@ -1191,12 +1177,10 @@ def new_handlemessage(self, msg: Any) -> Any:
|
||||||
t_ms + POWERUP_WEAR_OFF_TIME)
|
t_ms + POWERUP_WEAR_OFF_TIME)
|
||||||
self._bomb_wear_off_flash_timer = (bs.Timer(
|
self._bomb_wear_off_flash_timer = (bs.Timer(
|
||||||
POWERUP_WEAR_OFF_TIME - 2000,
|
POWERUP_WEAR_OFF_TIME - 2000,
|
||||||
bs.WeakCall(self._bomb_wear_off_flash),
|
bs.WeakCall(self._bomb_wear_off_flash)))
|
||||||
timeformat=babase.TimeFormat.MILLISECONDS))
|
|
||||||
self._bomb_wear_off_timer = (bs.Timer(
|
self._bomb_wear_off_timer = (bs.Timer(
|
||||||
POWERUP_WEAR_OFF_TIME,
|
POWERUP_WEAR_OFF_TIME,
|
||||||
bs.WeakCall(self._bomb_wear_off),
|
bs.WeakCall(self._bomb_wear_off)))
|
||||||
timeformat=babase.TimeFormat.MILLISECONDS))
|
|
||||||
|
|
||||||
elif msg.poweruptype == 'ice_man':
|
elif msg.poweruptype == 'ice_man':
|
||||||
tex = factory.tex_ice_man
|
tex = factory.tex_ice_man
|
||||||
|
|
@ -1216,13 +1200,11 @@ def new_handlemessage(self, msg: Any) -> Any:
|
||||||
|
|
||||||
self.ice_man_flash_timer = (bs.Timer(
|
self.ice_man_flash_timer = (bs.Timer(
|
||||||
ice_man_time - 2000,
|
ice_man_time - 2000,
|
||||||
babase.Call(_ice_man_off_flash, self),
|
babase.Call(_ice_man_off_flash, self)))
|
||||||
timeformat=babase.TimeFormat.MILLISECONDS))
|
|
||||||
|
|
||||||
self.ice_man_timer = (bs.Timer(ice_man_time,
|
self.ice_man_timer = (bs.Timer(ice_man_time,
|
||||||
babase.Call(_ice_man_wear_off,
|
babase.Call(_ice_man_wear_off,
|
||||||
self),
|
self)))
|
||||||
timeformat=babase.TimeFormat.MILLISECONDS))
|
|
||||||
|
|
||||||
elif msg.poweruptype == 'speed':
|
elif msg.poweruptype == 'speed':
|
||||||
self.node.hockey = True
|
self.node.hockey = True
|
||||||
|
|
@ -1238,8 +1220,7 @@ def new_handlemessage(self, msg: Any) -> Any:
|
||||||
|
|
||||||
self.speed_flash_timer = (bs.Timer(
|
self.speed_flash_timer = (bs.Timer(
|
||||||
speed_time - 2000,
|
speed_time - 2000,
|
||||||
babase.Call(_speed_off_flash, self),
|
babase.Call(_speed_off_flash, self)))
|
||||||
timeformat=babase.TimeFormat.MILLISECONDS))
|
|
||||||
|
|
||||||
self.speed_timer = (bs.apptimer(speed_time,
|
self.speed_timer = (bs.apptimer(speed_time,
|
||||||
babase.Call(_speed_wear_off,
|
babase.Call(_speed_wear_off,
|
||||||
|
|
@ -1265,11 +1246,11 @@ def new_handlemessage(self, msg: Any) -> Any:
|
||||||
self.frozen = True
|
self.frozen = True
|
||||||
self.node.frozen = True
|
self.node.frozen = True
|
||||||
bs.timer(5.0, babase.Call(self.handlemessage,
|
bs.timer(5.0, babase.Call(self.handlemessage,
|
||||||
babase.ThawMessage()))
|
bs.ThawMessage()))
|
||||||
if self.hitpoints <= 0:
|
if self.hitpoints <= 0:
|
||||||
self.shatter()
|
self.shatter()
|
||||||
if self.freeze_punch:
|
if self.freeze_punch:
|
||||||
self.handlemessage(babase.ThawMessage())
|
self.handlemessage(bs.ThawMessage())
|
||||||
|
|
||||||
elif isinstance(msg, bs.ThawMessage):
|
elif isinstance(msg, bs.ThawMessage):
|
||||||
if self.frozen and not self.shattered and self.node:
|
if self.frozen and not self.shattered and self.node:
|
||||||
|
|
@ -1309,7 +1290,7 @@ def new_handlemessage(self, msg: Any) -> Any:
|
||||||
def fire(time, damage):
|
def fire(time, damage):
|
||||||
if not self.shield and not self._dead:
|
if not self.shield and not self._dead:
|
||||||
self.hitpoints -= damage
|
self.hitpoints -= damage
|
||||||
babase.show_damage_count(f'-{damage}HP',
|
bs.show_damage_count(f'-{damage}HP',
|
||||||
self.node.position,
|
self.node.position,
|
||||||
msg.force_direction)
|
msg.force_direction)
|
||||||
bs.getsound('fuse01').play()
|
bs.getsound('fuse01').play()
|
||||||
|
|
@ -1362,7 +1343,7 @@ def new_handlemessage(self, msg: Any) -> Any:
|
||||||
else:
|
else:
|
||||||
hitpoints = int(self.hitpoints * 0.80)
|
hitpoints = int(self.hitpoints * 0.80)
|
||||||
self.hitpoints -= int(hitpoints)
|
self.hitpoints -= int(hitpoints)
|
||||||
babase.show_damage_count((f'-{int(hitpoints / 10)}%'),
|
bs.show_damage_count((f'-{int(hitpoints / 10)}%'),
|
||||||
self.node.position,
|
self.node.position,
|
||||||
msg.force_direction)
|
msg.force_direction)
|
||||||
|
|
||||||
|
|
@ -1446,7 +1427,7 @@ def new_handlemessage(self, msg: Any) -> Any:
|
||||||
dism = int(damage * porcentaje)
|
dism = int(damage * porcentaje)
|
||||||
damage = int(damage - dism)
|
damage = int(damage - dism)
|
||||||
|
|
||||||
babase.show_damage_count('-' + str(int(damage / 10)) + '%',
|
bs.show_damage_count('-' + str(int(damage / 10)) + '%',
|
||||||
msg.pos, msg.force_direction)
|
msg.pos, msg.force_direction)
|
||||||
|
|
||||||
self.node.handlemessage('hurt_sound')
|
self.node.handlemessage('hurt_sound')
|
||||||
|
|
@ -1470,13 +1451,13 @@ def new_handlemessage(self, msg: Any) -> Any:
|
||||||
if msg.get_source_player(bs.Player).actor.freeze_punch:
|
if msg.get_source_player(bs.Player).actor.freeze_punch:
|
||||||
self.node.color = (0, 1, 4)
|
self.node.color = (0, 1, 4)
|
||||||
bs.getsound('freeze').play()
|
bs.getsound('freeze').play()
|
||||||
self.node.handlemessage(babase.FreezeMessage())
|
self.node.handlemessage(bs.FreezeMessage())
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
if damage > 350:
|
if damage > 350:
|
||||||
assert msg.force_direction is not None
|
assert msg.force_direction is not None
|
||||||
babase.show_damage_count('-' + str(int(damage / 10)) + '%',
|
bs.show_damage_count('-' + str(int(damage / 10)) + '%',
|
||||||
msg.pos, msg.force_direction)
|
msg.pos, msg.force_direction)
|
||||||
|
|
||||||
if msg.hit_subtype == 'super_punch':
|
if msg.hit_subtype == 'super_punch':
|
||||||
|
|
@ -1562,7 +1543,7 @@ def new_handlemessage(self, msg: Any) -> Any:
|
||||||
self.shatter()
|
self.shatter()
|
||||||
elif self.hitpoints <= 0:
|
elif self.hitpoints <= 0:
|
||||||
self.node.handlemessage(
|
self.node.handlemessage(
|
||||||
bs.DieMessage(how=babase.DeathType.IMPACT))
|
bs.DieMessage(how=bs.DeathType.IMPACT))
|
||||||
|
|
||||||
if self.hitpoints <= 0:
|
if self.hitpoints <= 0:
|
||||||
damage_avg = self.node.damage_smoothed * damage_scale
|
damage_avg = self.node.damage_smoothed * damage_scale
|
||||||
|
|
@ -1703,7 +1684,7 @@ class PowerupManagerWindow(PopupWindow):
|
||||||
self._sub_height = 200
|
self._sub_height = 200
|
||||||
self._scroll_width = self._width * 0.90
|
self._scroll_width = self._width * 0.90
|
||||||
self._scroll_height = self._height - 180
|
self._scroll_height = self._height - 180
|
||||||
self._sub_width = self._scroll_width * 0.95;
|
self._sub_width = self._scroll_width * 0.95
|
||||||
self.tab_buttons: set = {}
|
self.tab_buttons: set = {}
|
||||||
self.list_cls_power: list = []
|
self.list_cls_power: list = []
|
||||||
self.default_powerups = default_powerups()
|
self.default_powerups = default_powerups()
|
||||||
|
|
@ -1856,7 +1837,7 @@ class PowerupManagerWindow(PopupWindow):
|
||||||
if tab == 'Action 4':
|
if tab == 'Action 4':
|
||||||
if self._scrollwidget:
|
if self._scrollwidget:
|
||||||
self._scrollwidget.delete()
|
self._scrollwidget.delete()
|
||||||
self._scrollwidget = babase.hscrollwidget(parent=self._root_widget,
|
self._scrollwidget = bui.hscrollwidget(parent=self._root_widget,
|
||||||
position=(
|
position=(
|
||||||
self._width * 0.08,
|
self._width * 0.08,
|
||||||
51 * 1.8), size=(
|
51 * 1.8), size=(
|
||||||
|
|
|
||||||
2
dist/ba_root/mods/plugins/wavedash.py
vendored
2
dist/ba_root/mods/plugins/wavedash.py
vendored
|
|
@ -41,7 +41,7 @@ class MikiWavedashTest:
|
||||||
if self.node.knockout > 0.0 or self.frozen or self.node.hold_node:
|
if self.node.knockout > 0.0 or self.frozen or self.node.hold_node:
|
||||||
return
|
return
|
||||||
|
|
||||||
t_ms = bs.time(timeformat=babase.TimeFormat.MILLISECONDS)
|
t_ms = bs.time() * 1000
|
||||||
assert isinstance(t_ms, int)
|
assert isinstance(t_ms, int)
|
||||||
|
|
||||||
if t_ms - self.last_wavedash_time_ms >= self._wavedash_cooldown:
|
if t_ms - self.last_wavedash_time_ms >= self._wavedash_cooldown:
|
||||||
|
|
|
||||||
8
dist/ba_root/mods/spazmod/hitmessage.py
vendored
8
dist/ba_root/mods/spazmod/hitmessage.py
vendored
|
|
@ -16,16 +16,16 @@ def handle_hit(mag, pos):
|
||||||
if mag >= 110:
|
if mag >= 110:
|
||||||
PopupText("#PRO !", color=(1, 0.2, 0.2), scale=1.6,
|
PopupText("#PRO !", color=(1, 0.2, 0.2), scale=1.6,
|
||||||
position=pos).autoretain()
|
position=pos).autoretain()
|
||||||
elif mag >= 93 and mag < 110:
|
elif 93 <= mag < 110:
|
||||||
PopupText("GOOD ONE!", color=(1, 0.3, 0.1), scale=1.6,
|
PopupText("GOOD ONE!", color=(1, 0.3, 0.1), scale=1.6,
|
||||||
position=pos).autoretain()
|
position=pos).autoretain()
|
||||||
elif mag >= 63 and mag < 93:
|
elif 63 <= mag < 93:
|
||||||
PopupText("OH! YEAH", color=(1, 0.5, 0.2), scale=1.6,
|
PopupText("OH! YEAH", color=(1, 0.5, 0.2), scale=1.6,
|
||||||
position=pos).autoretain()
|
position=pos).autoretain()
|
||||||
elif mag >= 45 and mag < 63:
|
elif 45 <= mag < 63:
|
||||||
PopupText("WTF!", color=(0.7, 0.4, 0.2), scale=1.6,
|
PopupText("WTF!", color=(0.7, 0.4, 0.2), scale=1.6,
|
||||||
position=pos).autoretain()
|
position=pos).autoretain()
|
||||||
elif mag > 30 and mag < 45:
|
elif 30 < mag < 45:
|
||||||
PopupText("!!!", color=(1, 1, 1), scale=1.6,
|
PopupText("!!!", color=(1, 1, 1), scale=1.6,
|
||||||
position=pos).autoretain()
|
position=pos).autoretain()
|
||||||
except:
|
except:
|
||||||
|
|
|
||||||
6
dist/ba_root/mods/spazmod/modifyspaz.py
vendored
6
dist/ba_root/mods/spazmod/modifyspaz.py
vendored
|
|
@ -2,7 +2,7 @@ from random import randint
|
||||||
|
|
||||||
import setting
|
import setting
|
||||||
from spazmod import tag
|
from spazmod import tag
|
||||||
|
import babase
|
||||||
import bascenev1 as bs
|
import bascenev1 as bs
|
||||||
|
|
||||||
_setting = setting.get_settings_data()
|
_setting = setting.get_settings_data()
|
||||||
|
|
@ -55,7 +55,7 @@ def getCharacter(player, character):
|
||||||
|
|
||||||
|
|
||||||
def getRandomCharacter(otherthen):
|
def getRandomCharacter(otherthen):
|
||||||
characters = list(babase.app.spaz_appearances.keys())
|
characters = list(babase.app.classic.spaz_appearances.keys())
|
||||||
invalid_characters = ["Snake Shadow", "Lee", "Zola", "Butch", "Witch",
|
invalid_characters = ["Snake Shadow", "Lee", "Zola", "Butch", "Witch",
|
||||||
"Middle-Man", "Alien", "OldLady", "Wrestler",
|
"Middle-Man", "Alien", "OldLady", "Wrestler",
|
||||||
"Gretel", "Robot"]
|
"Gretel", "Robot"]
|
||||||
|
|
@ -71,7 +71,7 @@ def setTeamCharacter():
|
||||||
if not _setting["sameCharacterForTeam"]:
|
if not _setting["sameCharacterForTeam"]:
|
||||||
return
|
return
|
||||||
used = []
|
used = []
|
||||||
teams = babase.internal.get_foreground_host_session().sessionteams
|
teams = bs.get_foreground_host_session().sessionteams
|
||||||
if len(teams) < 10:
|
if len(teams) < 10:
|
||||||
for team in teams:
|
for team in teams:
|
||||||
character = getRandomCharacter(used)
|
character = getRandomCharacter(used)
|
||||||
|
|
|
||||||
2
dist/ba_root/mods/tools/ServerUpdate.py
vendored
2
dist/ba_root/mods/tools/ServerUpdate.py
vendored
|
|
@ -80,7 +80,7 @@ def fetchChangelogs():
|
||||||
|
|
||||||
def checkChangelog():
|
def checkChangelog():
|
||||||
changelog = fetchChangelogs()
|
changelog = fetchChangelogs()
|
||||||
if changelog == None:
|
if changelog is None:
|
||||||
print(
|
print(
|
||||||
f'{Clr.BRED} UNABLE TO CHECK UPDATES , CHECK MANUALLY FROM URL {Clr.RST}',
|
f'{Clr.BRED} UNABLE TO CHECK UPDATES , CHECK MANUALLY FROM URL {Clr.RST}',
|
||||||
flush=True)
|
flush=True)
|
||||||
|
|
|
||||||
2
dist/ba_root/mods/tools/file_handle.py
vendored
2
dist/ba_root/mods/tools/file_handle.py
vendored
|
|
@ -64,7 +64,7 @@ class JsonFile:
|
||||||
output = json.dumps(data, indent=4)
|
output = json.dumps(data, indent=4)
|
||||||
output2 = re.sub(r'": \[\s+', '": [', output)
|
output2 = re.sub(r'": \[\s+', '": [', output)
|
||||||
output3 = re.sub(r'",\s+', '", ', output2)
|
output3 = re.sub(r'",\s+', '", ', output2)
|
||||||
output4 = re.sub(r'"\s+\]', '"]', output3)
|
output4 = re.sub(r'"\s+]', '"]', output3)
|
||||||
|
|
||||||
with open(self.path, mode="w", encoding="utf-8") as json_file:
|
with open(self.path, mode="w", encoding="utf-8") as json_file:
|
||||||
json_file.write(output4)
|
json_file.write(output4)
|
||||||
|
|
|
||||||
8
dist/ba_root/mods/tools/playlist.py
vendored
8
dist/ba_root/mods/tools/playlist.py
vendored
|
|
@ -7,7 +7,7 @@ import time
|
||||||
|
|
||||||
import _babase
|
import _babase
|
||||||
import setting
|
import setting
|
||||||
|
from bascenev1 import filter_playlist
|
||||||
import babase
|
import babase
|
||||||
import bascenev1 as bs
|
import bascenev1 as bs
|
||||||
import bauiv1 as bui
|
import bauiv1 as bui
|
||||||
|
|
@ -67,19 +67,19 @@ def updateSession(session, playlist):
|
||||||
|
|
||||||
def updatePlaylist(playlist):
|
def updatePlaylist(playlist):
|
||||||
session = bs.get_foreground_host_session()
|
session = bs.get_foreground_host_session()
|
||||||
content = babase._playlist.filter_playlist(
|
content = filter_playlist(
|
||||||
playlist,
|
playlist,
|
||||||
sessiontype=type(session),
|
sessiontype=type(session),
|
||||||
add_resolved_type=True,
|
add_resolved_type=True,
|
||||||
)
|
)
|
||||||
playlist = babase._multiteamsession.ShuffleList(content, shuffle=False)
|
playlist = bs._multiteamsession.ShuffleList(content, shuffle=False)
|
||||||
session._playlist = playlist
|
session._playlist = playlist
|
||||||
set_next_map(session, playlist.pull_next())
|
set_next_map(session, playlist.pull_next())
|
||||||
|
|
||||||
|
|
||||||
def set_next_map(session, game_map):
|
def set_next_map(session, game_map):
|
||||||
session._next_game_spec = game_map
|
session._next_game_spec = game_map
|
||||||
with babase.Context(session):
|
with session.context():
|
||||||
session._instantiate_next_game()
|
session._instantiate_next_game()
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
24
dist/ba_root/mods/tools/servercheck.py
vendored
24
dist/ba_root/mods/tools/servercheck.py
vendored
|
|
@ -41,7 +41,7 @@ class checkserver(object):
|
||||||
ip = _bascenev1.get_client_ip(ros["client_id"])
|
ip = _bascenev1.get_client_ip(ros["client_id"])
|
||||||
device_id = _bascenev1.get_client_public_device_uuid(
|
device_id = _bascenev1.get_client_public_device_uuid(
|
||||||
ros["client_id"])
|
ros["client_id"])
|
||||||
if (device_id == None):
|
if device_id is None:
|
||||||
device_id = _bascenev1.get_client_device_uuid(ros["client_id"])
|
device_id = _bascenev1.get_client_device_uuid(ros["client_id"])
|
||||||
if device_id not in deviceClientMap:
|
if device_id not in deviceClientMap:
|
||||||
deviceClientMap[device_id] = [ros["client_id"]]
|
deviceClientMap[device_id] = [ros["client_id"]]
|
||||||
|
|
@ -87,7 +87,7 @@ class checkserver(object):
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
if d_str2 != d_str:
|
if d_str2 != d_str:
|
||||||
_bs.broadcastmessage(
|
bs.broadcastmessage(
|
||||||
"Profanity in Id , change your ID and join back",
|
"Profanity in Id , change your ID and join back",
|
||||||
color=(1, 0, 0), transient=True,
|
color=(1, 0, 0), transient=True,
|
||||||
clients=[ros['client_id']])
|
clients=[ros['client_id']])
|
||||||
|
|
@ -100,9 +100,9 @@ class checkserver(object):
|
||||||
bs.disconnect_client(ros['client_id'], 1)
|
bs.disconnect_client(ros['client_id'], 1)
|
||||||
return
|
return
|
||||||
|
|
||||||
if settings["whitelist"] and ros["account_id"] != None:
|
if settings["whitelist"] and ros["account_id"] is not None:
|
||||||
if ros["account_id"] not in pdata.CacheData.whitelist:
|
if ros["account_id"] not in pdata.CacheData.whitelist:
|
||||||
_bs.broadcastmessage("Not in whitelist,contact admin",
|
bs.broadcastmessage("Not in whitelist,contact admin",
|
||||||
color=(1, 0, 0), transient=True,
|
color=(1, 0, 0), transient=True,
|
||||||
clients=[ros['client_id']])
|
clients=[ros['client_id']])
|
||||||
logger.log(
|
logger.log(
|
||||||
|
|
@ -111,7 +111,7 @@ class checkserver(object):
|
||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
if ros['account_id'] != None:
|
if ros['account_id'] is not None:
|
||||||
if ros['account_id'] in serverdata.clients:
|
if ros['account_id'] in serverdata.clients:
|
||||||
on_player_join_server(ros['account_id'],
|
on_player_join_server(ros['account_id'],
|
||||||
serverdata.clients[
|
serverdata.clients[
|
||||||
|
|
@ -140,7 +140,7 @@ def on_player_join_server(pbid, player_data, ip, device_id):
|
||||||
if now - lastjoin < 15:
|
if now - lastjoin < 15:
|
||||||
joincount += 1
|
joincount += 1
|
||||||
if joincount > 2:
|
if joincount > 2:
|
||||||
_bs.broadcastmessage("Joining too fast , slow down dude",
|
bs.broadcastmessage("Joining too fast , slow down dude",
|
||||||
# its not possible now tho, network layer will catch it before reaching here
|
# its not possible now tho, network layer will catch it before reaching here
|
||||||
color=(1, 0, 1), transient=True,
|
color=(1, 0, 1), transient=True,
|
||||||
clients=[clid])
|
clients=[clid])
|
||||||
|
|
@ -158,7 +158,7 @@ def on_player_join_server(pbid, player_data, ip, device_id):
|
||||||
if pbid in serverdata.clients:
|
if pbid in serverdata.clients:
|
||||||
serverdata.clients[pbid]["lastJoin"] = now
|
serverdata.clients[pbid]["lastJoin"] = now
|
||||||
|
|
||||||
if player_data != None: # player data is in serevrdata or in local.json cache
|
if player_data is not None: # player data is in serevrdata or in local.json cache
|
||||||
serverdata.recents.append(
|
serverdata.recents.append(
|
||||||
{"client_id": clid, "deviceId": device_string, "pbid": pbid})
|
{"client_id": clid, "deviceId": device_string, "pbid": pbid})
|
||||||
serverdata.recents = serverdata.recents[-20:]
|
serverdata.recents = serverdata.recents[-20:]
|
||||||
|
|
@ -172,7 +172,7 @@ def on_player_join_server(pbid, player_data, ip, device_id):
|
||||||
settings["minAgeToJoinInHours"]:
|
settings["minAgeToJoinInHours"]:
|
||||||
for ros in bs.get_game_roster():
|
for ros in bs.get_game_roster():
|
||||||
if ros['account_id'] == pbid:
|
if ros['account_id'] == pbid:
|
||||||
_bs.broadcastmessage(
|
bs.broadcastmessage(
|
||||||
"New Accounts not allowed here , come back later",
|
"New Accounts not allowed here , come back later",
|
||||||
color=(1, 0, 0), transient=True,
|
color=(1, 0, 0), transient=True,
|
||||||
clients=[ros['client_id']])
|
clients=[ros['client_id']])
|
||||||
|
|
@ -199,7 +199,7 @@ def on_player_join_server(pbid, player_data, ip, device_id):
|
||||||
serverdata.clients[pbid]["lastIP"] = ip
|
serverdata.clients[pbid]["lastIP"] = ip
|
||||||
|
|
||||||
device_id = _bascenev1.get_client_public_device_uuid(clid)
|
device_id = _bascenev1.get_client_public_device_uuid(clid)
|
||||||
if (device_id == None):
|
if device_id is None:
|
||||||
device_id = _bascenev1.get_client_device_uuid(clid)
|
device_id = _bascenev1.get_client_device_uuid(clid)
|
||||||
serverdata.clients[pbid]["deviceUUID"] = device_id
|
serverdata.clients[pbid]["deviceUUID"] = device_id
|
||||||
verify_account(pbid, player_data) # checked for spoofed ids
|
verify_account(pbid, player_data) # checked for spoofed ids
|
||||||
|
|
@ -209,7 +209,7 @@ def on_player_join_server(pbid, player_data, ip, device_id):
|
||||||
settings["regularWelcomeMsg"] + " " + device_string,
|
settings["regularWelcomeMsg"] + " " + device_string,
|
||||||
color=(0.60, 0.8, 0.6), transient=True,
|
color=(0.60, 0.8, 0.6), transient=True,
|
||||||
clients=[clid])
|
clients=[clid])
|
||||||
if (settings["ballistica_web"]["enable"]):
|
if settings["ballistica_web"]["enable"]:
|
||||||
from . import notification_manager
|
from . import notification_manager
|
||||||
notification_manager.player_joined(pbid)
|
notification_manager.player_joined(pbid)
|
||||||
else:
|
else:
|
||||||
|
|
@ -224,7 +224,7 @@ def on_player_join_server(pbid, player_data, ip, device_id):
|
||||||
thread.start()
|
thread.start()
|
||||||
bs.broadcastmessage(settings["firstTimeJoinMsg"], color=(0.6, 0.8, 0.6),
|
bs.broadcastmessage(settings["firstTimeJoinMsg"], color=(0.6, 0.8, 0.6),
|
||||||
transient=True, clients=[clid])
|
transient=True, clients=[clid])
|
||||||
if (settings["ballistica_web"]["enable"]):
|
if settings["ballistica_web"]["enable"]:
|
||||||
from . import notification_manager
|
from . import notification_manager
|
||||||
notification_manager.player_joined(pbid)
|
notification_manager.player_joined(pbid)
|
||||||
|
|
||||||
|
|
@ -400,7 +400,7 @@ def save_ids(ids, pb_id, display_string):
|
||||||
def kick_by_pb_id(pb_id, msg):
|
def kick_by_pb_id(pb_id, msg):
|
||||||
for ros in bs.get_game_roster():
|
for ros in bs.get_game_roster():
|
||||||
if ros['account_id'] == pb_id:
|
if ros['account_id'] == pb_id:
|
||||||
_bs.broadcastmessage(msg, transient=True,
|
bs.broadcastmessage(msg, transient=True,
|
||||||
clients=[ros['client_id']])
|
clients=[ros['client_id']])
|
||||||
bs.disconnect_client(ros['client_id'])
|
bs.disconnect_client(ros['client_id'])
|
||||||
|
|
||||||
|
|
|
||||||
16
dist/ba_root/mods/tools/servercontroller.py
vendored
16
dist/ba_root/mods/tools/servercontroller.py
vendored
|
|
@ -98,24 +98,24 @@ def check_queue():
|
||||||
def on_update_response(response):
|
def on_update_response(response):
|
||||||
allowed_to_join = response["c"]
|
allowed_to_join = response["c"]
|
||||||
players_in_queue = response["e"]
|
players_in_queue = response["e"]
|
||||||
max_allowed_in_server = _babase.app.server._config.max_party_size
|
max_allowed_in_server = babase.app.classic.server._config.max_party_size
|
||||||
current_players = len(_babase.get_game_roster())
|
current_players = len(bs.get_game_roster())
|
||||||
# print(allowed_to_join)
|
# print(allowed_to_join)
|
||||||
if allowed_to_join:
|
if allowed_to_join:
|
||||||
# looks good , yipee
|
# looks good , yipee
|
||||||
_babase.set_public_party_queue_enabled(True)
|
bs.set_public_party_queue_enabled(True)
|
||||||
return
|
return
|
||||||
if not allowed_to_join and len(
|
if not allowed_to_join and len(
|
||||||
players_in_queue) > 1 and current_players < max_allowed_in_server:
|
players_in_queue) > 1 and current_players < max_allowed_in_server:
|
||||||
# something is wrong , lets disable queue for some time
|
# something is wrong , lets disable queue for some time
|
||||||
_babase.set_public_party_queue_enabled(False)
|
bs.set_public_party_queue_enabled(False)
|
||||||
|
|
||||||
|
|
||||||
def simple_queue_checker():
|
def simple_queue_checker():
|
||||||
max_allowed_in_server = _babase.app.server._config.max_party_size
|
max_allowed_in_server = babase.app.classic.server._config.max_party_size
|
||||||
current_players = len(_babase.get_game_roster())
|
current_players = len(bs.get_game_roster())
|
||||||
|
|
||||||
if current_players < max_allowed_in_server:
|
if current_players < max_allowed_in_server:
|
||||||
_babase.set_public_party_queue_enabled(False)
|
bs.set_public_party_queue_enabled(False)
|
||||||
else:
|
else:
|
||||||
_babase.set_public_party_queue_enabled(True)
|
bs.set_public_party_queue_enabled(True)
|
||||||
|
|
|
||||||
BIN
dist/bombsquad_headless
vendored
BIN
dist/bombsquad_headless
vendored
Binary file not shown.
BIN
dist/bombsquad_headless_aarch64
vendored
BIN
dist/bombsquad_headless_aarch64
vendored
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue