extends ActiveItem var cooldown = 10 var timer : SceneTreeTimer func actually_collect(): player.set_cooldown(cooldown) func activate(): $UpdashSound.play() player.activate_cooldown() # Drop the player for a moment, then boost upwards. player.reset_to_velocity = Vector2(0,1) timer = get_tree().create_timer(0.1) await timer.timeout player.reset_to_velocity = Vector2(0, -2400) func remove(reset_player_active = true): # If the item is removed during the dash startup, clear the active item slot, # but only remove the item from the scene afterwards. if reset_player_active: player.active_item = null if timer != null and timer.time_left > 0: await timer.timeout super(false)