diff --git a/dist/ba_data/python/efro/dataclassio/_api.py b/dist/ba_data/python/efro/dataclassio/_api.py index 2579b82..8e3080f 100644 --- a/dist/ba_data/python/efro/dataclassio/_api.py +++ b/dist/ba_data/python/efro/dataclassio/_api.py @@ -8,8 +8,6 @@ unrecognized attribute data, allowing older clients to interact with newer data formats in a nondestructive manner. """ -from __future__ import annotations - import json from enum import Enum from typing import TYPE_CHECKING diff --git a/dist/ba_data/python/efro/dataclassio/_base.py b/dist/ba_data/python/efro/dataclassio/_base.py index 6229b59..97bca72 100644 --- a/dist/ba_data/python/efro/dataclassio/_base.py +++ b/dist/ba_data/python/efro/dataclassio/_base.py @@ -2,8 +2,6 @@ # """Core components of dataclassio.""" -from __future__ import annotations - import dataclasses import typing import warnings diff --git a/dist/ba_data/python/efro/dataclassio/_inputter.py b/dist/ba_data/python/efro/dataclassio/_inputter.py index 43fd6fe..f35c8d8 100644 --- a/dist/ba_data/python/efro/dataclassio/_inputter.py +++ b/dist/ba_data/python/efro/dataclassio/_inputter.py @@ -6,8 +6,6 @@ # frowned upon (stuff like isinstance() is usually encouraged). # pylint: disable=unidiomatic-typecheck -from __future__ import annotations - from enum import Enum import dataclasses import typing diff --git a/dist/ba_data/python/efro/dataclassio/_outputter.py b/dist/ba_data/python/efro/dataclassio/_outputter.py index 11cf29f..3273218 100644 --- a/dist/ba_data/python/efro/dataclassio/_outputter.py +++ b/dist/ba_data/python/efro/dataclassio/_outputter.py @@ -6,8 +6,6 @@ # frowned upon (stuff like isinstance() is usually encouraged). # pylint: disable=unidiomatic-typecheck -from __future__ import annotations - from enum import Enum import dataclasses import typing diff --git a/dist/ba_data/python/efro/dataclassio/_pathcapture.py b/dist/ba_data/python/efro/dataclassio/_pathcapture.py index db01f6f..9f40db0 100644 --- a/dist/ba_data/python/efro/dataclassio/_pathcapture.py +++ b/dist/ba_data/python/efro/dataclassio/_pathcapture.py @@ -2,8 +2,6 @@ # """Functionality related to capturing nested dataclass paths.""" -from __future__ import annotations - import dataclasses from typing import TYPE_CHECKING diff --git a/dist/ba_data/python/efro/dataclassio/_prep.py b/dist/ba_data/python/efro/dataclassio/_prep.py index 6950256..a4d8ecb 100644 --- a/dist/ba_data/python/efro/dataclassio/_prep.py +++ b/dist/ba_data/python/efro/dataclassio/_prep.py @@ -7,8 +7,6 @@ # # pylint: disable=unidiomatic-typecheck -from __future__ import annotations - import logging from enum import Enum import dataclasses diff --git a/dist/ba_data/python/efro/error.py b/dist/ba_data/python/efro/error.py index 0edc724..b9a1be0 100644 --- a/dist/ba_data/python/efro/error.py +++ b/dist/ba_data/python/efro/error.py @@ -5,8 +5,6 @@ # """Common errors and related functionality.""" -from __future__ import annotations - from typing import TYPE_CHECKING, override import errno diff --git a/dist/ba_data/python/efro/terminal.py b/dist/ba_data/python/efro/terminal.py index 4ddbcf1..f7c8e40 100644 --- a/dist/ba_data/python/efro/terminal.py +++ b/dist/ba_data/python/efro/terminal.py @@ -2,8 +2,6 @@ # """Functionality related to terminal IO.""" -from __future__ import annotations - import sys import os from enum import Enum, unique diff --git a/dist/ba_data/python/efro/util.py b/dist/ba_data/python/efro/util.py index 56031a4..864bee3 100644 --- a/dist/ba_data/python/efro/util.py +++ b/dist/ba_data/python/efro/util.py @@ -6,8 +6,6 @@ # pylint: disable=too-many-lines """Small handy bits of functionality.""" -from __future__ import annotations - import os import time import random diff --git a/dist/ba_root/config.json b/dist/ba_root/config.json index 7ee2e97..72a17e7 100644 --- a/dist/ba_root/config.json +++ b/dist/ba_root/config.json @@ -206,26 +206,16 @@ "Fleet Zone Ping Last Flush Time": 1784128904, "Fleet Zone Pings": { "prod": { - "bangkok.v4": 169.84028096308512, - "delhi.v4": 217.6381037222891, - "helsinki.v4": 181.6233879981155, - "hong_kong.v4": 97.65329500078224, - "hyderabad.v4": 90.04969035134027, - "jakarta.v4": 126.03041445786221, - "kolkata.v4": 48.5306748606865, - "kuala_lampur.v4": 80.35435232571763, - "manila.v4": 82.0402399986051, - "mumbai.v4": 71.56822602374099, - "seoul.v4": 130.2257630013628, - "singapore.v4": 91.58391039609705, - "taipei.v4": 101.02094900139491, - "tel_aviv.v4": 206.06530000077328, - "tokyo.v4": 137.08936700277263, - "warsaw.v4": 190.2154919989698 + "bangkok.v4": 79.76979999511968, + "delhi.v4": 52.73921035118477, + "hyderabad.v4": 27.893118701544765, + "kolkata.v4": 52.23812143063419, + "mumbai.v4": 105.13554275932287, + "singapore.v4": 47.26909899909515 } }, "Fleet Zone Pings Updated Time": { - "prod": 1784187190 + "prod": 1784199269 }, "Free-for-All Playlist Randomize": true, "Free-for-All Playlist Selection": "__default__", @@ -295,7 +285,7 @@ "Team Tournament Playlist Selection": "\u041a\u043e\u043f\u0438\u044f \u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u043f\u043b\u0435\u0439-\u043b\u0438\u0441\u0442 \u0440\u0435\u0436\u0438\u043c\u0430 \u041a\u043e\u043c\u0430\u043d\u0434\u044b", "Team Tournament Playlists": {}, "Teams Series Length": 7, - "launchCount": 130, + "launchCount": 153, "lc14173": 1, "lc14292": 1 } \ No newline at end of file diff --git a/dist/ba_root/mods/custom_hooks.py b/dist/ba_root/mods/custom_hooks.py index 8754030..53bcc6c 100644 --- a/dist/ba_root/mods/custom_hooks.py +++ b/dist/ba_root/mods/custom_hooks.py @@ -330,7 +330,7 @@ def on_player_join(self, player) -> None: try: from shop.shop_system import preload_player - account_id = player.get_account_id() + account_id = player.sessionplayer.get_account_id() if account_id: preload_player(account_id) except Exception as e: @@ -417,11 +417,11 @@ ServerController.shutdown = shutdown(ServerController.shutdown) def on_player_request(func) -> bool: def wrapper(*args, **kwargs): - player = args[1] + player: bs.SessionPlayer = args[1] count = 0 if not (player.get_account_id( ) in serverdata.clients and - serverdata.clients[player.get_v1_account_id()]["verified"]): + serverdata.clients[player.get_account_id()]["verified"]): return False for current_player in args[0].sessionplayers: diff --git a/dist/ba_root/mods/features/dual_team_score.py b/dist/ba_root/mods/features/dual_team_score.py index e7e5154..aec3cfa 100644 --- a/dist/ba_root/mods/features/dual_team_score.py +++ b/dist/ba_root/mods/features/dual_team_score.py @@ -63,7 +63,7 @@ class TeamVictoryScoreScreenActivity(MultiTeamScoreScreenActivity): for team in self.session.sessionteams: bs.timer( i * 0.15 + 0.15, - bs.WeakCall(self._show_team_name, vval - i * height, team, + bs.WeakCallPartial(self._show_team_name, vval - i * height, team, i * 0.2, shift_time - (i * 0.150 + 0.150))) bs.timer(i * 0.150 + 0.5, self._score_display_sound_small.play) scored = (team is self._winner) @@ -72,13 +72,13 @@ class TeamVictoryScoreScreenActivity(MultiTeamScoreScreenActivity): delay = 1.2 bs.timer( i * 0.150 + 0.2, - bs.WeakCall(self._show_team_old_score, vval - i * height, + bs.WeakCallPartial(self._show_team_old_score, vval - i * height, team, shift_time - (i * 0.15 + 0.2))) bs.timer(i * 0.15 + 1.5, self._score_display_sound.play) bs.timer( i * 0.150 + delay, - bs.WeakCall(self._show_team_score, vval - i * height, team, + bs.WeakCallParial(self._show_team_score, vval - i * height, team, scored, i * 0.2 + 0.1, shift_time - (i * 0.15 + delay))) i += 1 diff --git a/dist/ba_root/mods/features/votingmachine.py b/dist/ba_root/mods/features/votingmachine.py index bef2c6f..b76b8db 100644 --- a/dist/ba_root/mods/features/votingmachine.py +++ b/dist/ba_root/mods/features/votingmachine.py @@ -78,7 +78,10 @@ def vote(pb_id, client_id, vote_type): try: activity = bs.get_foreground_host_activity() with activity.context: - bs.get_foreground_host_activity().end() + results = bs.GameResults() + for team in activity.teams: + results.set_team_score(team, team.score) + bs.get_foreground_host_activity().end(results=results) except: pass elif vote_type == "nv": diff --git a/dist/ba_root/mods/stats/stats.json b/dist/ba_root/mods/stats/stats.json index 46f425e..ea6c6eb 100644 --- a/dist/ba_root/mods/stats/stats.json +++ b/dist/ba_root/mods/stats/stats.json @@ -26,6 +26,19 @@ "avg_score": 0.0, "last_seen": "2026-07-15 08:46:34.946691", "aid": "a-1828" + }, + "pb-IF5cVXEyAA==": { + "rank": 3, + "name": "Vishyyy", + "scores": 93, + "total_damage": 0.0, + "kills": 0, + "deaths": 1, + "games": 4, + "kd": 0.0, + "avg_score": 23.25, + "last_seen": "2026-07-16 16:21:28.671836", + "aid": "pb-IF5cVXEyAA==" } } } \ No newline at end of file diff --git a/dist/ba_root/mods/stats/stats.json.backup b/dist/ba_root/mods/stats/stats.json.backup index 46f425e..644af46 100644 --- a/dist/ba_root/mods/stats/stats.json.backup +++ b/dist/ba_root/mods/stats/stats.json.backup @@ -26,6 +26,19 @@ "avg_score": 0.0, "last_seen": "2026-07-15 08:46:34.946691", "aid": "a-1828" + }, + "pb-IF5cVXEyAA==": { + "rank": 3, + "name": "Vishyyy", + "scores": 93, + "total_damage": 0.0, + "kills": 0, + "deaths": 0, + "games": 3, + "kd": 0.0, + "avg_score": 31.0, + "last_seen": "2026-07-16 15:27:54.340453", + "aid": "pb-IF5cVXEyAA==" } } } \ No newline at end of file diff --git a/dist/ba_root/mods/tools/servercheck.py b/dist/ba_root/mods/tools/servercheck.py index 4eaa7e1..d247875 100644 --- a/dist/ba_root/mods/tools/servercheck.py +++ b/dist/ba_root/mods/tools/servercheck.py @@ -216,7 +216,6 @@ def on_player_join_server(pbid: str, player_data: Optional[Dict[str, Any]], ip: serverdata.clients[pbid]["lastJoin"] = now if player_data is not None: - print(player_data) handle_existing_player(pbid, player_data, ip, device_id, client_id, display_string) else: