From 886338ee1598f6c436c316689a9cb5e62fc0b096 Mon Sep 17 00:00:00 2001 From: Kritartha Talukdar Date: Tue, 15 Jul 2025 14:08:52 +0530 Subject: [PATCH 01/10] Add files via upload --- plugins/utilities/snowfallModz.py | 49 +++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 plugins/utilities/snowfallModz.py diff --git a/plugins/utilities/snowfallModz.py b/plugins/utilities/snowfallModz.py new file mode 100644 index 0000000..6b0dbd8 --- /dev/null +++ b/plugins/utilities/snowfallModz.py @@ -0,0 +1,49 @@ +# ba_meta require api 9 +# ba_meta name Snowfall FX +# ba_meta description Adds snowfall particle effects in all maps. +# ba_meta author KritarthaT + +import random +import bascenev1 as bs +import babase + +def start_snowfall(activity: bs.Activity) -> None: + if not hasattr(activity, 'map'): + return + + try: + bounds = activity.map.get_def_bound_box('map_bounds') + except Exception: + return + + def emit_snow() -> None: + for i in range(int(bounds[3] * bounds[5])): + + def _emit() -> None: + bs.emitfx( + position=( + random.uniform(bounds[0], bounds[3]), + random.uniform(bounds[4] * 1.2, bounds[4] * 1.45), + random.uniform(bounds[2], bounds[5]) + ), + velocity=(0, 0, 0), + scale=random.uniform(1.0, 1.6), + count=random.randint(6, 12), + spread=random.uniform(0.03, 0.08), + chunk_type='ice' # ❄️ Snowflake particle + ) + + bs.timer(random.uniform(0.01, 0.05) * (i + 1), _emit) + + bs.timer(0.5, emit_snow, repeat=True) + +# ba_meta export plugin +class SnowfallFX(babase.Plugin): + def __init__(self): + bs.Activity.__init__ = self._wrap_activity_init(bs.Activity.__init__) + + def _wrap_activity_init(self, original_init): + def new_init(activity_self, settings): + original_init(activity_self, settings) + bs.timer(1.0, lambda: start_snowfall(activity_self)) + return new_init \ No newline at end of file From 2a770b4a631a89cf3627376154f559c8d3f3cdb5 Mon Sep 17 00:00:00 2001 From: Kritartha Talukdar Date: Tue, 15 Jul 2025 14:09:53 +0530 Subject: [PATCH 02/10] Add files via upload --- plugins/utilities/aura_overload_fx.py | 82 +++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 plugins/utilities/aura_overload_fx.py diff --git a/plugins/utilities/aura_overload_fx.py b/plugins/utilities/aura_overload_fx.py new file mode 100644 index 0000000..69f1109 --- /dev/null +++ b/plugins/utilities/aura_overload_fx.py @@ -0,0 +1,82 @@ +# ba_meta require api 9 +# ba_meta name Aura Overload FX +# ba_meta description Gives the host player a glowing, smoothly transitioning aura. +# ba_meta author KritarthaT + +import bascenev1 as bs +import babase +import random + +class AuraEffect: + def __init__(self, player: bs.Player): + self._player = player + self._light = None + self._colors = [ + (1, 0, 0), (0, 1, 0), (0, 0, 1), + (1, 1, 0), (0, 1, 1), (1, 0, 1) + ] + self._color_index = 0 + self._next_index = 1 + self._t = 0.0 + + self._timer = bs.Timer(0.05, self._update, repeat=True) + + def _lerp_color(self, c1, c2, t): + return tuple(c1[i] + (c2[i] - c1[i]) * t for i in range(3)) + + def _update(self): + if not self._player or not self._player.actor or not self._player.actor.node: + return + + pos = self._player.actor.node.position + if not self._light: + self._light = bs.newnode('light', attrs={ + 'position': pos, + 'color': self._colors[self._color_index], + 'radius': 0.3, + 'intensity': 0.8, + 'volume_intensity_scale': 1.0 + }) + + # Interpolate color + self._t += 0.05 / 1.0 # 1 sec per color transition + if self._t >= 1.0: + self._t = 0.0 + self._color_index = self._next_index + self._next_index = (self._next_index + 1) % len(self._colors) + + smooth_color = self._lerp_color( + self._colors[self._color_index], + self._colors[self._next_index], + self._t + ) + + self._light.color = smooth_color + self._light.position = (pos[0], pos[1] + 0.8, pos[2]) # Follow player + + # Optional visual sparks + bs.emitfx( + position=pos, + velocity=(0, 2, 0), + count=10, + scale=0.6, + spread=0.2, + chunk_type='spark' + ) + + +# ba_meta export plugin +class AuraOverloadFX(babase.Plugin): + def __init__(self): + bs.Activity.__init__ = self._wrap_activity_init(bs.Activity.__init__) + + def _wrap_activity_init(self, original): + def new_init(activity_self, settings): + original(activity_self, settings) + bs.timer(1.0, lambda: self._start_glow(activity_self)) + return new_init + + def _start_glow(self, activity: bs.Activity): + if activity.players: + player = activity.players[0] # Host player + AuraEffect(player) \ No newline at end of file From e95faaa2a08b09f896ad3213171d5b6d87f8fd1c Mon Sep 17 00:00:00 2001 From: KritarthaT <220769104+KritarthaT@users.noreply.github.com> Date: Tue, 15 Jul 2025 08:45:14 +0000 Subject: [PATCH 03/10] [ci] auto-format --- plugins/utilities/aura_overload_fx.py | 5 +++-- plugins/utilities/snowfallModz.py | 5 ++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/plugins/utilities/aura_overload_fx.py b/plugins/utilities/aura_overload_fx.py index 69f1109..366e236 100644 --- a/plugins/utilities/aura_overload_fx.py +++ b/plugins/utilities/aura_overload_fx.py @@ -7,6 +7,7 @@ import bascenev1 as bs import babase import random + class AuraEffect: def __init__(self, player: bs.Player): self._player = player @@ -69,7 +70,7 @@ class AuraEffect: class AuraOverloadFX(babase.Plugin): def __init__(self): bs.Activity.__init__ = self._wrap_activity_init(bs.Activity.__init__) - + def _wrap_activity_init(self, original): def new_init(activity_self, settings): original(activity_self, settings) @@ -79,4 +80,4 @@ class AuraOverloadFX(babase.Plugin): def _start_glow(self, activity: bs.Activity): if activity.players: player = activity.players[0] # Host player - AuraEffect(player) \ No newline at end of file + AuraEffect(player) diff --git a/plugins/utilities/snowfallModz.py b/plugins/utilities/snowfallModz.py index 6b0dbd8..6b97458 100644 --- a/plugins/utilities/snowfallModz.py +++ b/plugins/utilities/snowfallModz.py @@ -7,6 +7,7 @@ import random import bascenev1 as bs import babase + def start_snowfall(activity: bs.Activity) -> None: if not hasattr(activity, 'map'): return @@ -38,6 +39,8 @@ def start_snowfall(activity: bs.Activity) -> None: bs.timer(0.5, emit_snow, repeat=True) # ba_meta export plugin + + class SnowfallFX(babase.Plugin): def __init__(self): bs.Activity.__init__ = self._wrap_activity_init(bs.Activity.__init__) @@ -46,4 +49,4 @@ class SnowfallFX(babase.Plugin): def new_init(activity_self, settings): original_init(activity_self, settings) bs.timer(1.0, lambda: start_snowfall(activity_self)) - return new_init \ No newline at end of file + return new_init From d845b6168fba2df632a3603d9dcea51da16c867e Mon Sep 17 00:00:00 2001 From: Kritartha Talukdar Date: Tue, 15 Jul 2025 14:38:17 +0530 Subject: [PATCH 04/10] Update utilities.json --- plugins/utilities.json | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/plugins/utilities.json b/plugins/utilities.json index 435c37f..fc13325 100644 --- a/plugins/utilities.json +++ b/plugins/utilities.json @@ -2128,4 +2128,21 @@ } } } -} \ No newline at end of file +}, + "snowfallModz": { + "description": "add snowfall in local match", + "external_url": "", + "authors": [ + { + "name": "KritarthaT", + "email": "ktgamer768@gmail.com", + "discord": kritarthat + } + ], + "versions": { + "1.0.0": null + "api_version": 9, + "released_on": "15-07-2025" + } + } + From e1feece56846561a4f9af116411fa04b2f5491e4 Mon Sep 17 00:00:00 2001 From: Kritartha Talukdar Date: Tue, 15 Jul 2025 14:39:32 +0530 Subject: [PATCH 05/10] Update utilities.json --- plugins/utilities.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/utilities.json b/plugins/utilities.json index fc13325..b1fdc4f 100644 --- a/plugins/utilities.json +++ b/plugins/utilities.json @@ -2136,7 +2136,7 @@ { "name": "KritarthaT", "email": "ktgamer768@gmail.com", - "discord": kritarthat + "discord": "kritarthat" } ], "versions": { From 69001fb64ededd4fa61d687f04e4233c50fb1568 Mon Sep 17 00:00:00 2001 From: Kritartha Talukdar Date: Tue, 15 Jul 2025 14:48:43 +0530 Subject: [PATCH 06/10] Update utilities.json --- plugins/utilities.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/utilities.json b/plugins/utilities.json index b1fdc4f..a8fb79b 100644 --- a/plugins/utilities.json +++ b/plugins/utilities.json @@ -2144,5 +2144,6 @@ "api_version": 9, "released_on": "15-07-2025" } - } + }, + ... From 16f7ec57b5d2ee04b0c9e9c69106d05e01dfecfe Mon Sep 17 00:00:00 2001 From: Kritartha Talukdar Date: Tue, 15 Jul 2025 14:51:32 +0530 Subject: [PATCH 07/10] Update utilities.json --- plugins/utilities.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/plugins/utilities.json b/plugins/utilities.json index a8fb79b..b1fdc4f 100644 --- a/plugins/utilities.json +++ b/plugins/utilities.json @@ -2144,6 +2144,5 @@ "api_version": 9, "released_on": "15-07-2025" } - }, - ... + } From d63e43940350b98a3e27d9f92ce4fb5ba93e1f41 Mon Sep 17 00:00:00 2001 From: Kritartha Talukdar Date: Tue, 15 Jul 2025 15:29:30 +0530 Subject: [PATCH 08/10] Update utilities.json --- plugins/utilities.json | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/plugins/utilities.json b/plugins/utilities.json index b1fdc4f..47247bc 100644 --- a/plugins/utilities.json +++ b/plugins/utilities.json @@ -2129,7 +2129,7 @@ } } }, - "snowfallModz": { +"snowfallModz": { "description": "add snowfall in local match", "external_url": "", "authors": [ @@ -2141,8 +2141,10 @@ ], "versions": { "1.0.0": null - "api_version": 9, - "released_on": "15-07-2025" } - } + }, + ... + } + ... +} From f2e3157bbb8329d0307b044a675ec5ccf6f73f53 Mon Sep 17 00:00:00 2001 From: Kritartha Talukdar Date: Tue, 15 Jul 2025 15:33:34 +0530 Subject: [PATCH 09/10] Update utilities.json --- plugins/utilities.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/plugins/utilities.json b/plugins/utilities.json index 47247bc..1a734a2 100644 --- a/plugins/utilities.json +++ b/plugins/utilities.json @@ -2144,7 +2144,4 @@ } }, ... - } - ... -} From cf90eca770e9973e1f0e4dab48ef12c9faaebe7a Mon Sep 17 00:00:00 2001 From: Kritartha Talukdar Date: Tue, 15 Jul 2025 15:37:15 +0530 Subject: [PATCH 10/10] Update utilities.json --- plugins/utilities.json | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/plugins/utilities.json b/plugins/utilities.json index 1a734a2..f5d6408 100644 --- a/plugins/utilities.json +++ b/plugins/utilities.json @@ -2140,8 +2140,10 @@ } ], "versions": { - "1.0.0": null + "1.0.0": { + "api_version": 9, + "released_on": "15-07-2025" } }, - ... +