Dead.gd 794 B

1234567891011121314151617181920212223242526272829
  1. extends PlayerState
  2. var can_fall := false
  3. func enter(msg := {}) -> void:
  4. player.z_index = 20
  5. can_fall = false
  6. player.velocity = Vector2.ZERO
  7. player.stop_all_timers()
  8. await get_tree().create_timer(0.5).timeout
  9. can_fall =true
  10. for i in 16:
  11. player.set_collision_mask_value(i + 1, false)
  12. player.gravity = player.JUMP_GRAVITY
  13. if msg["Pit"] == false:
  14. player.velocity.y = -300
  15. func physics_update(delta: float) -> void:
  16. if can_fall:
  17. player.play_animation("Die")
  18. else:
  19. player.play_animation("DieFreeze")
  20. player.sprite.speed_scale = 1
  21. if can_fall:
  22. player.velocity.y += (player.JUMP_GRAVITY / delta) * delta
  23. player.velocity.y = clamp(player.velocity.y, -INF, player.MAX_FALL_SPEED)
  24. player.move_and_slide()
  25. if Input.is_action_just_pressed("jump_0"):
  26. player.death_load()