shoot ball straight up on power hit

This commit is contained in:
yuki 2025-11-17 22:23:40 -03:00
parent 8351708490
commit fd4c08975d

View file

@ -31,17 +31,15 @@ func play_animation(speed_scale: float = 0) -> void:
sprite.play("default")
func decelerate_to_stop(duration: float = 0.3) -> void: # Call this after collision
# KILL ANY EXISTING TWEEN (one at a time guaranteed!)
func decelerate_to_stop(duration: float = 0.3) -> void:
if current_decel_tween:
current_decel_tween.kill()
# CREATE NEW ONE
current_decel_tween = create_tween()
current_decel_tween.tween_property(sprite, "speed_scale", 0.0, duration)
current_decel_tween.tween_callback(func() -> void:
sprite.pause() # Freeze on last frame
current_decel_tween = null # Clean up
sprite.pause()
current_decel_tween = null
)
@ -53,8 +51,8 @@ func _on_hit(hitbox: Hit) -> void:
print("ball not hit yet")
var player: Player = hitbox.get_parent()
var timer: Timer = player.hit_timer
var angle: float = randf_range(3*PI/4, PI/4) * (-1 if player.id == 1 else 1)
var speed: float = randf_range(300, 350) if hitbox.power_hit else 0.0 # o.o
var angle: float = (PI/2 if hitbox.power_hit else randf_range(3*PI/4, PI/4)) * (-1 if player.id == 1 else 1)
var speed: float = randf_range(350, 450) if hitbox.power_hit else 0.0 # o.o
launch(angle, speed)
print("ball hit")
if not timer.is_connected("timeout", _on_hit_end):