This commit is contained in:
Marek Le
2026-03-29 22:58:23 +02:00
parent b9ed399d34
commit 80a65fa555
19 changed files with 217 additions and 58 deletions

View File

@@ -5,6 +5,7 @@ enum State { IDLE, CHASE, ATTACK, RETURN }
var state: int = State.IDLE
var target: Node3D = null
var spawn_position: Vector3
var portal: Node3D = null
var gravity: float = ProjectSettings.get_setting("physics/3d/default_gravity")
@onready var health: Node = $Health
@@ -12,6 +13,7 @@ var gravity: float = ProjectSettings.get_setting("physics/3d/default_gravity")
func _ready() -> void:
spawn_position = global_position
add_to_group("enemies")
add_to_group("targetable")
EventBus.entity_died.connect(_on_entity_died)
func _on_entity_died(entity: Node) -> void:
@@ -39,7 +41,7 @@ func _engage(new_target: Node3D) -> void:
func _alert_nearby() -> void:
var enemies := get_tree().get_nodes_in_group("enemies")
for enemy in enemies:
if enemy != self and is_instance_valid(enemy):
if enemy != self and is_instance_valid(enemy) and "state" in enemy:
if enemy.state == enemy.State.IDLE:
var dist: float = global_position.distance_to(enemy.global_position)
if dist <= 3.0: