diff --git a/game/src/Combat/Stats.gd b/game/src/Combat/Stats.gd index e9b669d..d0336c6 100644 --- a/game/src/Combat/Stats.gd +++ b/game/src/Combat/Stats.gd @@ -26,7 +26,12 @@ func _ready() -> void: func take_damage(hit: Hit) -> void: if invulnerable: return - + + # Damages with value of -1 mean instakill + if hit.damage == -1: + emit_signal("health_depleted") + return + var old_health = health health -= hit.damage emit_signal("damage_taken") @@ -58,8 +63,8 @@ func remove_modifier(id: int) -> void: func set_invulnerable_for_seconds(time: float) -> void: invulnerable = true - + var timer := get_tree().create_timer(time) yield(timer, "timeout") - + invulnerable = false diff --git a/game/src/Objects/FallLimitArea.tscn b/game/src/Objects/FallLimitArea.tscn new file mode 100644 index 0000000..6df01ef --- /dev/null +++ b/game/src/Objects/FallLimitArea.tscn @@ -0,0 +1,12 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://src/Combat/DamageSource.tscn" type="PackedScene" id=1] + +[sub_resource type="LineShape2D" id=1] + +[node name="FallLimitArea" instance=ExtResource( 1 )] +position = Vector2( 0, -2.93628 ) +damage = -1 + +[node name="CollisionShape2D" parent="." index="0"] +shape = SubResource( 1 )