diff --git a/.idea/ballisticakit.iml b/.idea/ballisticakit.iml index 4c2844c3..45327b93 100644 --- a/.idea/ballisticakit.iml +++ b/.idea/ballisticakit.iml @@ -74,4 +74,4 @@ - + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index 7326dccb..e94ce45b 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -10,4 +10,4 @@ - + \ No newline at end of file diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 8fccc544..6aacc6ad 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -41,9 +41,9 @@ - Modder ### Era0S -- Community Suggestions Implementer - Bug Fixer - Modder +- Added a feature ### VinniTR - Fixes diff --git a/src/assets/.asset_manifest_public.json b/src/assets/.asset_manifest_public.json index 55998cf7..4ff9c920 100644 --- a/src/assets/.asset_manifest_public.json +++ b/src/assets/.asset_manifest_public.json @@ -370,7 +370,6 @@ "ba_data/python/bauiv1lib/__pycache__/continues.cpython-311.opt-1.pyc", "ba_data/python/bauiv1lib/__pycache__/creditslist.cpython-311.opt-1.pyc", "ba_data/python/bauiv1lib/__pycache__/debug.cpython-311.opt-1.pyc", - "ba_data/python/bauiv1lib/__pycache__/discord.cpython-311.opt-1.pyc", "ba_data/python/bauiv1lib/__pycache__/feedback.cpython-311.opt-1.pyc", "ba_data/python/bauiv1lib/__pycache__/fileselector.cpython-311.opt-1.pyc", "ba_data/python/bauiv1lib/__pycache__/getcurrency.cpython-311.opt-1.pyc", @@ -431,7 +430,6 @@ "ba_data/python/bauiv1lib/coop/tournamentbutton.py", "ba_data/python/bauiv1lib/creditslist.py", "ba_data/python/bauiv1lib/debug.py", - "ba_data/python/bauiv1lib/discord.py", "ba_data/python/bauiv1lib/feedback.py", "ba_data/python/bauiv1lib/fileselector.py", "ba_data/python/bauiv1lib/gather/__init__.py", diff --git a/src/assets/ba_data/python/bascenev1lib/actor/spaz.py b/src/assets/ba_data/python/bascenev1lib/actor/spaz.py index 71a31a4c..e38be539 100644 --- a/src/assets/ba_data/python/bascenev1lib/actor/spaz.py +++ b/src/assets/ba_data/python/bascenev1lib/actor/spaz.py @@ -624,7 +624,7 @@ class Spaz(bs.Actor): 1000.0 * (tval + self.curse_time) ) self._curse_timer = bs.Timer( - 5.0, bs.WeakCall(self.handlemessage, CurseExplodeMessage()) + 5.0, bs.WeakCall(self.curse_explode) ) def equip_boxing_gloves(self) -> None: diff --git a/src/assets/ba_data/python/bauiv1lib/discord.py b/src/assets/ba_data/python/bauiv1lib/discord.py deleted file mode 100644 index 22060d8c..00000000 --- a/src/assets/ba_data/python/bauiv1lib/discord.py +++ /dev/null @@ -1,129 +0,0 @@ -# Released under the MIT License. See LICENSE for details. -# -"""UI functionality for the Discord window.""" - -from __future__ import annotations - -import bauiv1 as bui - - -class DiscordWindow(bui.Window): - """Window for joining the Discord.""" - - def __init__( - self, - transition: str = 'in_right', - origin_widget: bui.Widget | None = None, - ): - if bui.app.classic is None: - raise RuntimeError('This requires classic support.') - - app = bui.app - assert app.classic is not None - - # If they provided an origin-widget, scale up from that. - scale_origin: tuple[float, float] | None - if origin_widget is not None: - self._transition_out = 'out_scale' - scale_origin = origin_widget.get_screen_space_center() - transition = 'in_scale' - else: - self._transition_out = 'out_right' - scale_origin = None - - uiscale = bui.app.ui_v1.uiscale - self._width = 800 - x_inset = 100 if uiscale is bui.UIScale.SMALL else 0 - self._height = 320 - top_extra = 10 if uiscale is bui.UIScale.SMALL else 0 - super().__init__( - root_widget=bui.containerwidget( - size=(self._width, self._height + top_extra), - transition=transition, - toolbar_visibility='menu_minimal', - scale_origin_stack_offset=scale_origin, - scale=( - 1.6 - if uiscale is bui.UIScale.SMALL - else 1.3 - if uiscale is bui.UIScale.MEDIUM - else 1.0 - ), - stack_offset=(0, 5) if uiscale is bui.UIScale.SMALL else (0, 0), - ) - ) - - if app.ui_v1.use_toolbars and uiscale is bui.UIScale.SMALL: - bui.containerwidget( - edit=self._root_widget, on_cancel_call=self._do_back - ) - self._back_button = None - else: - self._back_button = bui.buttonwidget( - parent=self._root_widget, - position=(53 + x_inset, self._height - 60), - size=(140, 60), - scale=0.8, - autoselect=True, - label=bui.Lstr(resource='backText'), - button_type='back', - on_activate_call=self._do_back, - ) - bui.containerwidget( - edit=self._root_widget, cancel_button=self._back_button - ) - - self._title_text = bui.textwidget( - parent=self._root_widget, - position=(0, self._height - 52), - size=(self._width, 25), - text='Discord', - color=app.ui_v1.title_color, - h_align='center', - v_align='top', - ) - - min_size = min(self._width - 25, self._height - 25) - bui.imagewidget( - parent=self._root_widget, - position=(40, -15), - size=(min_size, min_size), - texture=bui.gettexture('discordPreview'), - ) - - bui.textwidget( - parent=self._root_widget, - position=(self._width / 2 - 60, self._height - 100), - text='We have our own Discord server where you can:\n- Find new' - ' friends and people to play with\n- Participate in Office' - ' Hours/Coffee with Eric\n- Share mods, plugins, art, and' - ' memes\n- Report bugs and make feature suggestions\n' - '- Troubleshoot issues', - maxwidth=(self._width - 10) / 2, - color=(1, 1, 1, 1), - h_align='left', - v_align='top', - ) - - bui.buttonwidget( - parent=self._root_widget, - position=(self._width / 2 - 30, 20), - size=(self._width / 2 - 60, 60), - autoselect=True, - label='Join The Discord', - text_scale=1.0, - on_activate_call=bui.Call( - bui.open_url, 'https://ballistica.net/discord' - ), - ) - - if self._back_button is not None: - bui.buttonwidget( - edit=self._back_button, - button_type='backSmall', - size=(60, 60), - label=bui.charstr(bui.SpecialChar.BACK), - ) - - def _do_back(self) -> None: - bui.containerwidget(edit=self._root_widget, transition='out_scale') diff --git a/src/assets/ba_data/python/bauiv1lib/gather/abouttab.py b/src/assets/ba_data/python/bauiv1lib/gather/abouttab.py index 67d02bcd..66c3f480 100644 --- a/src/assets/ba_data/python/bauiv1lib/gather/abouttab.py +++ b/src/assets/ba_data/python/bauiv1lib/gather/abouttab.py @@ -80,12 +80,15 @@ class AboutGatherTab(GatherTab): bui.textwidget( parent=self._container, - position=(region_width * 0.5, c_height_2 * 0.58), + position=( + region_width * 0.5, + c_height_2 * (0.58 if include_invite else 0.5), + ), color=(0.6, 1.0, 0.6), scale=msc_scale, size=(0, 0), maxwidth=region_width * 0.9, - max_height=c_height_2 * 0.7, + max_height=c_height_2 * (0.7 if include_invite else 0.9), h_align='center', v_align='center', text=message, @@ -94,7 +97,7 @@ class AboutGatherTab(GatherTab): if include_invite: bui.textwidget( parent=self._container, - position=(region_width * 0.57, 85), + position=(region_width * 0.57, 35), color=(0, 1, 0), scale=0.6, size=(0, 0), @@ -109,7 +112,7 @@ class AboutGatherTab(GatherTab): ) bui.buttonwidget( parent=self._container, - position=(region_width * 0.59, 60), + position=(region_width * 0.59, 10), size=(230, 50), color=(0.54, 0.42, 0.56), textcolor=(0, 1, 0), @@ -121,32 +124,6 @@ class AboutGatherTab(GatherTab): on_activate_call=bui.WeakCall(self._invite_to_try_press), up_widget=tab_button, ) - - bui.textwidget( - parent=self._container, - position=(region_width * 0.57, 15 if include_invite else 75), - color=(0.6, 0.6, 1), - scale=0.6, - size=(0, 0), - maxwidth=region_width * 0.5, - h_align='right', - v_align='center', - flatness=1.0, - text='Want to look for new people to play with?\nJoin our Discord' - ' and find new friends!', - ) - bui.buttonwidget( - parent=self._container, - position=(region_width * 0.59, -10 if include_invite else 50), - size=(230, 50), - color=(0.54, 0.42, 0.56), - textcolor=(0.6, 0.6, 1), - label='Join The Discord', - autoselect=True, - on_activate_call=bui.WeakCall(self._join_the_discord_press), - up_widget=tab_button, - ) - return self._container def _invite_to_try_press(self) -> None: @@ -160,10 +137,3 @@ class AboutGatherTab(GatherTab): show_sign_in_prompt() return handle_app_invites_press() - - def _join_the_discord_press(self) -> None: - # pylint: disable=cyclic-import - from bauiv1lib.discord import DiscordWindow - - assert bui.app.classic is not None - DiscordWindow().get_root_widget()