From 565eab0b756bee3556210bd0d94ac75cce75ddd7 Mon Sep 17 00:00:00 2001 From: Raxki Date: Tue, 29 Oct 2024 12:07:28 -0400 Subject: [PATCH] Fix range marker detection issue (could fix other issues too?) --- Reed/reed_ai.tscn | 10 ++++++---- Scripts/Characters/base.gd | 2 +- Scripts/hiro_ai.gd | 14 ++++++++------ 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/Reed/reed_ai.tscn b/Reed/reed_ai.tscn index 71f243b..820c560 100644 --- a/Reed/reed_ai.tscn +++ b/Reed/reed_ai.tscn @@ -606,16 +606,18 @@ script = ExtResource("7_jc1pg") [node name="Victory" type="Node" parent="StateMachine/Root"] script = ExtResource("7_jc1pg") -[node name="BlastSpawnerEast" type="Marker2D" parent="."] +[node name="RangeSpawners" type="Node2D" parent="."] + +[node name="East" type="Marker2D" parent="RangeSpawners"] position = Vector2(19, -14) -[node name="BlastSpawnerWest" type="Marker2D" parent="."] +[node name="West" type="Marker2D" parent="RangeSpawners"] position = Vector2(-21, -15) -[node name="BlastSpawnerSouth" type="Marker2D" parent="."] +[node name="South" type="Marker2D" parent="RangeSpawners"] position = Vector2(-2, 15) -[node name="BlastSpawnerNorth" type="Marker2D" parent="."] +[node name="North" type="Marker2D" parent="RangeSpawners"] position = Vector2(-4, -40) [connection signal="animation_finished" from="AnimationTree" to="." method="_on_animation_tree_animation_finished"] diff --git a/Scripts/Characters/base.gd b/Scripts/Characters/base.gd index 9d9bb81..5f7149f 100644 --- a/Scripts/Characters/base.gd +++ b/Scripts/Characters/base.gd @@ -61,7 +61,7 @@ func _on_attackbox_area_entered(area: Area2D): func _on_cutscene_issued_command(command: CutsceneCommand, manager: CutsceneManager): if command is MoveCharacterCommand: - var target_character = manager.root.get_node(command.target_character) + var target_character = manager.get_node(command.target_character) if target_character != self: return movement_scripted_target = command.target_vector if command.target_type == "Vector" else manager.get_node(command.target_node).global_position diff --git a/Scripts/hiro_ai.gd b/Scripts/hiro_ai.gd index abafd94..44bfb6c 100644 --- a/Scripts/hiro_ai.gd +++ b/Scripts/hiro_ai.gd @@ -26,12 +26,7 @@ signal range_attack_initiated(by: CharacterBase) @onready var melee_hitbox = $Meleebox @onready var melee_hitbox_collider = $Meleebox/DetectionArea -@onready var spawners = { - Vector2(1,0): $BlastSpawnerEast, - Vector2(-1,0): $BlastSpawnerWest, - Vector2(0,1): $BlastSpawnerSouth, - Vector2(0,-1): $BlastSpawnerNorth -} +@onready var spawners: Dictionary var timer = 0 @@ -46,6 +41,13 @@ var wants_to_melee = false func _ready(): state_machine.set_expression_property("melee_stage", 0) + if has_node("RangeSpawners"): + spawners = { + Vector2(1,0): $RangeSpawners/East, + Vector2(-1,0): $RangeSpawners/West, + Vector2(0,1): $RangeSpawners/South, + Vector2(0,-1): $RangeSpawners/North + } func set_animation_direction(facing_direction: Vector2): anim_tree.set("parameters/idle/blend_position", facing_direction)