summaryrefslogtreecommitdiffstats
path: root/ps_dead.gd
diff options
context:
space:
mode:
authorJan Tuomi <jan@jantuomi.fi>2026-01-27 18:24:43 +0200
committerJan Tuomi <jan@jantuomi.fi>2026-01-27 18:24:43 +0200
commit7e2875109d458e2183ad0c27f833b432981a54c2 (patch)
tree9b3384de96be5babd8b629c5ac3794cf00d9942c /ps_dead.gd
parent82fb5c296243d91a9b49589dec8e7d39b54e39ca (diff)
Work on levels
Diffstat (limited to 'ps_dead.gd')
-rw-r--r--ps_dead.gd30
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()