extends CharacterBody2D var camera var bar_progress = 0 var is_casting = false var fireball = preload("res://scenes/fireball.tscn") func _ready() -> void: camera = get_node("/root/Game/Camera2D") func _physics_process(delta: float) -> void: # Add the gravity. pass func _on_collect(DropsBase): if is_casting: return $CauldronBar.change_texture(bar_progress,3) bar_progress += 1 if bar_progress == 3: bar_progress = 0 is_casting = true await $CauldronBar.ignite_cauldrons() shoot_fireballs() camera.shake(0.3,0.8) $CauldronBar.reset_texture() is_casting = false func shoot_fireballs(): var enemies = get_tree().get_nodes_in_group("enemies") for enemy in enemies: var fb = fireball.instantiate() fb.global_position = global_position get_parent().add_child(fb) fb.launch(enemy.global_position)