make death liquids not cause blood splatter (closes #140)

This commit is contained in:
Haze Weathers 2023-07-13 11:41:10 -04:00
parent 5a73af8887
commit 3b835b78f1
6 changed files with 45 additions and 29 deletions

View file

@ -37,6 +37,8 @@ var velocity: Vector2 = Vector2.ZERO
var snap: Vector2 = Vector2.ZERO
# ladder currently attached to
var _attached_ladder: Node2D = null
# whether to skip blood splatter for this death
var skip_blood: bool = false
# NODE REFERENCES #
@ -250,10 +252,13 @@ func _on_Dead_state_entered() -> void:
emit_signal("died")
state_chart.send_event("died")
# spawn death particles
var particles = DeathSplatter.instance()
particles.global_position = death_splatter_position.global_position
particles.emitting = true
get_parent().add_child(particles)
if not skip_blood:
var particles = DeathSplatter.instance()
particles.global_position = death_splatter_position.global_position
particles.emitting = true
get_parent().add_child(particles)
else:
skip_blood = false
# fade into the ether
graphics.visible = false
state_chart.send_event("respawn")
@ -427,6 +432,8 @@ func _process_floating_up(delta: float) -> void:
# COLLISION CALLBACKS #
func _on_Hitbox_body_entered(body: Node) -> void:
if body.is_in_group("death"):
if body.is_in_group("no_blood"):
skip_blood = true
die()