Files

34 lines
898 B
GDScript3
Raw Permalink Normal View History

2025-06-11 17:54:55 +02:00
extends State
class_name PlayerJump
func get_state_name():
return str(self).split(":")[0]
func enter():
player.ap.play("jump")
player.velocity.y = -player.jump_force
2025-06-21 06:25:34 +02:00
player.jumps_done += 1
player.v_mult = player.jump_mult
2025-06-11 17:54:55 +02:00
func exit():
2025-06-21 06:25:34 +02:00
player.v_mult = 1
2025-06-11 17:54:55 +02:00
func update(delta):
2025-06-21 06:25:34 +02:00
player.jumpbuffer(delta)
2025-06-11 17:54:55 +02:00
if player.transitionledgegrab():
Transitioned.emit(self, "PlayerLedgeGrab")
2025-06-21 06:25:34 +02:00
elif player.transitiondash():
Transitioned.emit(self, "PlayerDash")
2025-06-11 17:54:55 +02:00
elif player.transitionfall():
Transitioned.emit(self, "PlayerFall")
elif !player.is_on_floor() and Input.is_action_just_pressed("jump") and (player.air_jumps_done < player.max_air_jumps):
Transitioned.emit(self, "PlayerDoubleJump")
elif player.is_on_floor() && player.velocity.x != 0:
Transitioned.emit(self, "PlayerRun")
elif player.is_on_floor():
Transitioned.emit(self, "PlayerIdle")
func physics_update(delta):
pass