diff --git a/levels/prototype_scene.tscn b/levels/prototype_scene.tscn index 2f565c9..8286305 100644 --- a/levels/prototype_scene.tscn +++ b/levels/prototype_scene.tscn @@ -109,7 +109,7 @@ size = Vector3(7.2811394, 2.1549835, 16.348633) material = ExtResource("5_bno23") [node name="CSGBox3D9" type="CSGBox3D" parent="CSGCombiner3D/CSGBox3D6"] -transform = Transform3D(0.91243464, -0.40922245, 0, 0.40922245, 0.91243464, 0, 0, 0, 1, -2.315074, 0.8311236, 0) +transform = Transform3D(0.91243464, -0.40922245, 0, 0.40922245, 0.91243464, 0, 0, 0, 1, -2.2474291, 0.6802974, 0) layers = 5 operation = 2 size = Vector3(7.1386776, 2.1549835, 16.348633) diff --git a/players/player/player.gd b/players/player/player.gd index 1d5217f..6c8efb7 100644 --- a/players/player/player.gd +++ b/players/player/player.gd @@ -20,6 +20,8 @@ const MAX_HP = 100 @export var hp: int = 100: set(value): + if dead: + return if value < 0: hp = 0 else: @@ -27,10 +29,13 @@ const MAX_HP = 100 health_changed.emit(hp) if hp == 0: die() + dead = true get: return hp +var dead: bool + func _physics_process(_delta: float) -> void: if not multiplayer.is_server(): return @@ -58,6 +63,8 @@ func depassive() -> void: passived = false func take_damage(damage: int): + if dead: + return hp -= damage damaged.emit() $DamageAudio.multiplayer_play()