diff options
Diffstat (limited to 'ps_dead.gd')
| -rw-r--r-- | ps_dead.gd | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/ps_dead.gd b/ps_dead.gd new file mode 100644 index 0000000..30df1af --- /dev/null +++ b/ps_dead.gd @@ -0,0 +1,30 @@ +class_name PlayerStateDead +extends PlayerState + +const DEAD_TIMEOUT = 1 # sec + +func _to_string() -> String: + return "PlayerStateDead" + +func _init(pl: Player): + super(pl) + + p.anim_sp.set_animation("dead") + + wait_respawn.call_deferred() + +func wait_respawn(): + await p.get_tree().create_timer(DEAD_TIMEOUT).timeout + p.top.game_load() + +func _handle(_delta: float): + pass + +func _handle_physics(delta: float): + p.velocity.y += p.gravity * delta + if p.velocity.y > p.jump_strength: + p.velocity.y = p.jump_strength + + p.velocity.x = 0 + + p.move_and_slide() |
