| 123456789101112131415161718192021222324252627282930 |
- extends PlayerState
- var direction := 0
- var fall_off := 0.0
- func enter(_msg := {}) -> void:
- fall_off = 0
- direction = player.direction
- player.direction *= -1
- func physics_update(delta: float) -> void:
- if player.input_direction == player.direction or player.input_direction == 0:
- fall_off += 4 * delta
- player.apply_gravity(delta)
- player.velocity.y = clamp(player.velocity.y, -INF, 50)
- player.sprite.play("Skid")
- player.velocity.x = 50 * direction
- if Global.player_action_just_pressed("jump", player.player_id):
- jump_off()
- if player.is_on_floor() or player.is_on_wall() == false or fall_off >= 1:
- player.velocity.x = 50 * player.input_direction
- state_machine.transition_to("Normal")
- player.move_and_slide()
- func jump_off() -> void:
- AudioManager.play_sfx("bump", player.global_position)
- player.state_machine.transition_to("Normal")
- player.jump()
- player.velocity.x = 120 * player.direction
|