The_Dark_Side_of_Earth/items/consumables/updash/updash.gd

24 lines
695 B
GDScript

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)