[gd_scene load_steps=10 format=2]

[ext_resource path="res://src/Player/Hook/Hook.gd" type="Script" id=1]
[ext_resource path="res://src/Player/Hook/Arrow.tscn" type="PackedScene" id=2]
[ext_resource path="res://src/Combat/DamageSource.tscn" type="PackedScene" id=3]
[ext_resource path="res://src/Player/Hook/TargetCircle.gd" type="Script" id=4]
[ext_resource path="res://src/Player/Hook/SnapDetector.tscn" type="PackedScene" id=5]
[ext_resource path="res://src/StateMachine/StateMachine.gd" type="Script" id=6]
[ext_resource path="res://src/Player/Hook/States/Aim.gd" type="Script" id=7]
[ext_resource path="res://src/Player/Hook/States/Fire.gd" type="Script" id=8]

[sub_resource type="GDScript" id=1]
script/source = "extends RayCast2D

var length = cast_to.length()"

[node name="Hook" type="Position2D"]
script = ExtResource( 1 )

[node name="RayCast2D" type="RayCast2D" parent="."]
cast_to = Vector2( 460, 0 )
collision_mask = 6
script = SubResource( 1 )

[node name="Arrow" parent="." instance=ExtResource( 2 )]

[node name="Head" parent="Arrow" index="1"]
editor/display_folded = true

[node name="DamageSource" parent="Arrow/Head" index="0" instance=ExtResource( 3 )]

[node name="TargetCircle" type="Node2D" parent="."]
script = ExtResource( 4 )
offset = Vector2( 120, 0 )
color = Color( 1, 0.34375, 0.635986, 1 )

[node name="SnapDetector" parent="." instance=ExtResource( 5 )]

[node name="Cooldown" type="Timer" parent="."]
process_mode = 0
wait_time = 0.2
one_shot = true

[node name="StateMachine" type="Node" parent="."]
script = ExtResource( 6 )
initial_state = NodePath("Aim")

[node name="Aim" type="Node" parent="StateMachine"]
script = ExtResource( 7 )

[node name="Fire" type="Node" parent="StateMachine/Aim"]
script = ExtResource( 8 )

[editable path="Arrow"]

[editable path="Arrow/Head/DamageSource"]
