newest Version as of right now

This commit is contained in:
2025-06-21 06:25:34 +02:00
parent 35d8ece14f
commit 76da17dfbe
40 changed files with 1104 additions and 156 deletions

View File

@ -1,30 +1,65 @@
extends State
class_name PlayerFall
var initgrav = 0
func get_state_name():
return str(self).split(":")[0]
func enter():
pass
initgrav = player.grav
player.grav = player.fallgrav
func exit():
pass
player.grav = initgrav
player.fallroll_timer = 0.0
player.fallroll_input_timer = 0.0
player.land_delay_timer = 0.0
player.can_fallroll = true
player.fallrolling = false
player.jump_buffered = false
func update(delta):
player.ap.play("fall")
player.coyote_timer += delta
fallrollcheck(delta)
player.jumpbuffer(delta)
if player.transitionledgegrab():
Transitioned.emit(self, "PlayerLedgeGrab")
elif player.transitiondoublejump():
Transitioned.emit(self, "PlayerDoubleJump")
elif player.transitionidle():
Transitioned.emit(self, "PlayerIdle")
elif player.transitionrun():
Transitioned.emit(self, "PlayerRun")
player.gravity()
if player.fallroll_timer <= player.fallroll_time or player.land_delay_timer >= player.land_delay_time:
if player.transitioncoyotejump() or player.transitionjump():
Transitioned.emit(self, "PlayerJump")
elif player.transitiondoublejump():
Transitioned.emit(self, "PlayerDoubleJump")
elif player.is_on_floor() and player.fallroll_timer >= player.fallroll_time and player.fallrolling:
print("fallroll")
Transitioned.emit(self, "PlayerFallRoll") #ersetzen durch state: PlayerFallRoll
elif player.transitionidle():
Transitioned.emit(self, "PlayerIdle")
elif player.transitionrun():
Transitioned.emit(self, "PlayerRun")
#elif player.transitiondash():
#Transitioned.emit(self, "PlayerDash")
func physics_update(delta):
pass
#player.turnmovement()
func fallrollcheck(delta):
player.fallroll_timer += delta
if Input.is_action_just_pressed("sprint") and player.can_fallroll:
player.fallrolling = true
player.can_fallroll = false
if player.fallrolling == true:
player.fallroll_input_timer += delta
if player.fallroll_input_timer >= player.fallroll_input_time:
player.fallrolling = false
if player.is_on_floor():
player.land_delay_timer += delta