Added cultist fall states

This commit is contained in:
2026-02-06 01:18:35 +03:00
parent a5a3fa2acf
commit c3522f5417
22 changed files with 141 additions and 195 deletions
@@ -3,3 +3,12 @@ extends AbstractState
@export var cultist: AbstractCultist
func _physics_process(_delta: float) -> void:
if !cultist.is_on_floor():
pass
func _set_ray_cast_enable(ray_cast: RayCast2D, enabled: bool) -> void:
ray_cast.process_mode = Node.PROCESS_MODE_INHERIT if enabled else Node.PROCESS_MODE_DISABLED
@@ -0,0 +1,5 @@
extends CultistFallState
func enter() -> void:
cultist.sprite.play(CultistSprite.ANIMATION_FALL_LEFT)
@@ -0,0 +1 @@
uid://b8o0lvuy6a5q1
@@ -0,0 +1,5 @@
extends CultistFallState
func enter() -> void:
cultist.sprite.play(CultistSprite.ANIMATION_FALL_RIGHT)
@@ -0,0 +1 @@
uid://cxg54u14yb6go
@@ -0,0 +1,16 @@
class_name CultistFallState
extends CultistState
@export var look_around_state: CultistState
func enter() -> void:
cultist.sprite.play(CultistSprite.ANIMATION_FALL)
func physics_process(delta: float) -> void:
cultist.velocity += cultist.get_gravity() * delta
cultist.move_and_slide()
if cultist.is_on_floor():
switch_state.emit(look_around_state)
@@ -0,0 +1 @@
uid://bqnq6m0s4etqh
@@ -1 +1,5 @@
extends CultistState
func enter() -> void:
cultist.sprite.play(CultistSprite.ANIMATION_IDLE)
@@ -0,0 +1,12 @@
extends CultistState
func enter() -> void:
cultist.sprite.play(CultistSprite.LOOK_AROUND_ANIMATIONS.pick_random())
_set_ray_cast_enable(cultist.left_player_close_ray, true)
_set_ray_cast_enable(cultist.right_player_close_ray, true)
func exit() -> void:
_set_ray_cast_enable(cultist.left_player_close_ray, false)
_set_ray_cast_enable(cultist.right_player_close_ray, false)
@@ -0,0 +1 @@
uid://bfp8gywqqkju7