mirror of
https://github.com/hypervortex/VH-Bombsquad-Modded-Server-Files
synced 2025-10-16 12:02:51 +00:00
58 lines
2.7 KiB
Python
58 lines
2.7 KiB
Python
# ba_meta require api 7
|
|
#backflip by SARA
|
|
|
|
import ba, _ba
|
|
from bastd.actor import spaz
|
|
import setting
|
|
import random
|
|
|
|
settings = setting.get_settings_data()
|
|
|
|
def myOnJumpPress(Slade):
|
|
def wrapper(self):
|
|
is_moving = abs(self.node.move_up_down) >= 0.75 or abs(self.node.move_left_right) >= 0.75
|
|
if not self.node.exists():
|
|
return
|
|
|
|
t = ba.time(timetype=ba.TimeType.REAL, timeformat=ba.TimeFormat.SECONDS)
|
|
self.last_jump_time_ms = -9999
|
|
|
|
if t - self.last_jump_time_ms >= self._jump_cooldown:
|
|
self.node.jump_pressed = True
|
|
|
|
if t - self.last_punch_time_ms <= 95 and is_moving and self.node.jump_pressed and self.node.punch_pressed:
|
|
# Apply impulses for a backflip with reduced flip strength for bomb jumping
|
|
flip_strength = 160 # Adjust this value for the desired flip strength
|
|
self.node.handlemessage("impulse", self.node.position[0], self.node.position[1] + 3.5, self.node.position[2],
|
|
self.node.velocity[0], self.node.velocity[1], self.node.velocity[2],
|
|
-flip_strength * self.node.run, 15 * self.node.run, 0, 0, self.node.velocity[0],
|
|
self.node.velocity[1], self.node.velocity[2])
|
|
|
|
self.node.handlemessage("impulse", self.node.position[0], self.node.position[1] + 3.6, self.node.position[2],
|
|
self.node.velocity[0], self.node.velocity[1], self.node.velocity[2],
|
|
-flip_strength * self.node.run, 15 * self.node.run, 0, 0, self.node.velocity[0],
|
|
self.node.velocity[1], self.node.velocity[2])
|
|
|
|
self.node.handlemessage('impulse', self.node.position[0], self.node.position[1] + 0.001,
|
|
self.node.position[2], 0, 0.2, 0, 200, 200, 0, 0, 0, 5, 0)
|
|
|
|
# Emit sparks with a random chunk type during the backflip
|
|
chunk_types = ["spark", "slime", "ice", "metal"] # Add more chunk types if needed
|
|
random_chunk_type = random.choice(chunk_types)
|
|
ba.emitfx(
|
|
position=self.node.position,
|
|
velocity=self.node.velocity,
|
|
count=random.randint(1, 10),
|
|
scale=0.5,
|
|
spread=0.2,
|
|
chunk_type=random_chunk_type
|
|
)
|
|
|
|
self.last_jump_time_ms = t
|
|
|
|
self._turbo_filter_add_press('jump')
|
|
|
|
return wrapper
|
|
|
|
if settings["backflip"]["enable"]:
|
|
spaz.Spaz.on_jump_press = myOnJumpPress(spaz.Spaz.on_jump_press)
|