Blobby/src/Actors/Enemies/Beings/Enemy.gd
Jakob Feldmann 8021aa1bf5 fix: platforms are tweens, enemies hurting fix
Enemies now make the player die
(would be better with event)
This resolves blobby detecting being killed
whilst stomping
2023-08-04 20:56:17 +02:00

36 lines
1.1 KiB
GDScript

extends Actor
class_name Enemy
var player_entered_stomp = false
func _on_StompDetector_body_entered(body: Node) -> void:
if !body.is_in_group("player"):
return
player_entered_stomp = true
var incoming_vel_vector: Vector2 = body.velocity.normalized()
print(rad2deg(abs(incoming_vel_vector.angle_to(Vector2.DOWN.rotated(rotation)))))
if abs(incoming_vel_vector.angle_to(Vector2.DOWN.rotated(rotation))) > deg2rad(90):
print("too shallow entry")
body.die()
player_entered_stomp = false
return
signalManager.emit_signal("got_stomped")
remove_from_group("harmful")
$StompDetector.remove_from_group("weakpoint")
get_node("EnemyBody").disabled = true
die()
func die() -> void:
queue_free()
# TODO make batterr
levelState.kills += 1
func _on_EnemySkin_area_entered(area:Area2D) -> void:
if area.is_in_group("harmful"):
get_node("EnemyBody").disabled = true
die()
func _on_EnemySkin_body_entered(body: Node) -> void:
if body.is_in_group("player") && !player_entered_stomp:
body.die()