added an assassinate target modifier

This commit is contained in:
Derek
2025-05-04 23:35:43 -05:00
parent 68facaf544
commit 6521b39492
20 changed files with 467 additions and 24 deletions

View File

@@ -0,0 +1,59 @@
extends Node
class_name Modifier
@export var time_to_kill : float = 30.0
@onready var level: Node3D = $"../../Level"
@onready var marker = preload("res://enemyTargetMarker.tscn")
@onready var level_control = get_tree().current_scene
var target_enemy
var timer
func _ready() -> void:
await get_tree().create_timer(5).timeout
select_random_enemy()
SignalBus.connect("enemy_killed",check_killed_target)
timer = time_to_kill
func _process(delta: float) -> void:
if target_enemy != null:
if timer > 0:
timer -= delta
update_timer("kill target")
else:
level_control.die()
func update_timer(label):
var rounded_timer = round(timer)
SignalBus.emit_signal("ui_timer_update",label,timer)
func check_killed_target(enemy):
print("ENEMY KILLED : ",enemy)
print("TARGET ENEMY : ",target_enemy)
if enemy == target_enemy:
timer = time_to_kill
target_enemy = null
select_random_enemy()
func add_marker_to_enemy():
if target_enemy != null:
var instance_marker = marker.instantiate()
target_enemy.add_child(instance_marker)
instance_marker.global_position = target_enemy.global_position
func select_random_enemy():
var level_stuff = level.get_children()
var enemies = []
for node in level_stuff:
print(node)
if node is Enemy:
enemies.append(node)
if enemies.size() > 0:
target_enemy = enemies.pick_random()
add_marker_to_enemy()
print("TARGET ENEMY : ",target_enemy.name)
else:
print("KILLED EM ALL")