[gd_scene load_steps=37 format=3 uid="uid://gwhff4qaouxy"]

[ext_resource type="Script" uid="uid://dq1g1qp66chwy" path="res://_player/avatar.gd" id="1_rkqpu"]
[ext_resource type="Script" uid="uid://isu8onknb75o" path="res://_player/states/character_state_machine.gd" id="1_wvs5h"]
[ext_resource type="Script" uid="uid://15n8yfyr4eqj" path="res://_player/states/grounded.gd" id="2_5p50s"]
[ext_resource type="Texture2D" uid="uid://doxhsab56pe50" path="res://_asset/all.png" id="2_8nsdm"]
[ext_resource type="Script" uid="uid://dcfq4wnx2g6bs" path="res://_player/player_locomotion.gd" id="2_11vl8"]
[ext_resource type="Script" uid="uid://b5hkfpjbye70" path="res://_player/states/idle.gd" id="4_30i7g"]
[ext_resource type="BlackboardPlan" uid="uid://nlw7rxugv5uh" path="res://_player/bbp_player.tres" id="4_mwufa"]
[ext_resource type="Script" uid="uid://bpd54nf8oxwsb" path="res://_player/states/player_hsm.gd" id="6_8q4ov"]
[ext_resource type="Script" uid="uid://po21boe8iqcc" path="res://_player/states/move.gd" id="7_rrwxs"]
[ext_resource type="Script" uid="uid://cjf7kds0cipkw" path="res://_tools/limbo_state_helper.gd" id="8_clxy3"]
[ext_resource type="Script" uid="uid://bbsdsqxujlsbp" path="res://_player/states/airbone.gd" id="8_d42ye"]
[ext_resource type="Script" uid="uid://db6ttwe3skqfv" path="res://_player/states/fall.gd" id="9_iqoog"]
[ext_resource type="Script" uid="uid://dh3115a8iyabg" path="res://_player/states/jump.gd" id="10_mwufa"]
[ext_resource type="Script" uid="uid://cky34pinqpewd" path="res://_player/states/ghost.gd" id="12_8nsdm"]
[ext_resource type="Script" uid="uid://dhlg4ct8al76c" path="res://_player/states/wall_jump.gd" id="12_basl5"]
[ext_resource type="Script" uid="uid://fpfkas0s46xq" path="res://_player/states/on_wall.gd" id="13_l6fs8"]
[ext_resource type="Script" uid="uid://cpruvcwcgmdrx" path="res://_player/states/climb_jump.gd" id="15_l6fs8"]
[ext_resource type="Script" uid="uid://bjjatv4bxv7w" path="res://_player/states/climb.gd" id="15_mt2s8"]
[ext_resource type="Script" uid="uid://d0mw2e4u5u8g" path="res://_player/states/grap_hook.gd" id="16_f07it"]
[ext_resource type="Script" uid="uid://diq7vk63exae7" path="res://_player/states/hook_shooting.gd" id="16_xcbik"]
[ext_resource type="Script" uid="uid://ca88urm45gx2c" path="res://_player/states/dead.gd" id="17_5r2pj"]
[ext_resource type="Script" uid="uid://bqrel2r5hcmxk" path="res://_player/states/grapping.gd" id="19_u7cua"]
[ext_resource type="PackedScene" uid="uid://blm8q46h3v2im" path="res://addons/reedcomponent/locomotion/wall_detector.tscn" id="20_air0b"]
[ext_resource type="Script" uid="uid://bkkkyugppu7sl" path="res://addons/reedcomponent/grap_hook/spawn_hook_component.gd" id="21_p14kj"]
[ext_resource type="Script" uid="uid://ta2r2bc1nrwe" path="res://addons/reedfx/vfx/VFXManager.gd" id="24_mwlgv"]
[ext_resource type="Script" uid="uid://lp1ge1qbyfr3" path="res://addons/reedfx/sfx/SFXManager.gd" id="24_x5g5e"]
[ext_resource type="Script" uid="uid://du267phqvtqyr" path="res://addons/reedfx/sfx/SFXSignalBinding.gd" id="25_rjd7i"]
[ext_resource type="Script" uid="uid://dipfdfnp506hl" path="res://addons/reedfx/vfx/VFXSignalBinding.gd" id="25_s5egm"]
[ext_resource type="Resource" uid="uid://cb73bysplqpo7" path="res://_player/effect_binding/jump_sound.tres" id="26_256x0"]
[ext_resource type="Resource" uid="uid://do0bnwse614jw" path="res://_player/effect_binding/land_dust.tres" id="26_s5egm"]
[ext_resource type="Script" uid="uid://bijoqygv6tncj" path="res://addons/reedcomponent/SingleComponentRemotor.gd" id="28_mxt3b"]
[ext_resource type="Resource" uid="uid://bdad4yjv1q0uu" path="res://_player/effect_binding/jump_dust.tres" id="30_hquoe"]

[sub_resource type="CircleShape2D" id="CircleShape2D_1a1t3"]
radius = 3.0

[sub_resource type="RectangleShape2D" id="RectangleShape2D_qnulu"]
size = Vector2(9, 23)

[sub_resource type="AtlasTexture" id="AtlasTexture_basl5"]
atlas = ExtResource("2_8nsdm")
region = Rect2(9, 22, 13, 26)

[sub_resource type="RectangleShape2D" id="RectangleShape2D_ogl63"]
size = Vector2(10, 25)

[node name="Avatar" type="CharacterBody2D" groups=["PLAYER"]]
collision_layer = 2
collision_mask = 36
floor_snap_length = 4.0
platform_floor_layers = 4
platform_wall_layers = 4
script = ExtResource("1_rkqpu")

[node name="GroundCompanion" type="Area2D" parent="."]
unique_name_in_owner = true
position = Vector2(0, 11)
collision_layer = 0
collision_mask = 4

[node name="CollisionShape2D" type="CollisionShape2D" parent="GroundCompanion"]
shape = SubResource("CircleShape2D_1a1t3")
debug_color = Color(0, 0.63529414, 0.40784314, 0.41960785)

[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_qnulu")

[node name="Sprite2D" type="Sprite2D" parent="."]
texture_filter = 1
position = Vector2(0, -2)
texture = SubResource("AtlasTexture_basl5")

[node name="LimboStateDebugger" type="Node2D" parent="." node_paths=PackedStringArray("state_root")]
script = ExtResource("8_clxy3")
state_root = NodePath("../PlayerHSM/Normal")
draw_offset = Vector2(20, -10)

[node name="PlayerHSM" type="LimboHSM" parent="."]
blackboard_plan = ExtResource("4_mwufa")
unique_name_in_owner = true
script = ExtResource("6_8q4ov")

[node name="Normal" type="LimboHSM" parent="PlayerHSM"]
unique_name_in_owner = true
script = ExtResource("1_wvs5h")

[node name="Grounded" type="LimboHSM" parent="PlayerHSM/Normal"]
unique_name_in_owner = true
script = ExtResource("2_5p50s")

[node name="Idle" type="LimboState" parent="PlayerHSM/Normal/Grounded"]
unique_name_in_owner = true
script = ExtResource("4_30i7g")

[node name="Move" type="LimboState" parent="PlayerHSM/Normal/Grounded"]
unique_name_in_owner = true
script = ExtResource("7_rrwxs")

[node name="Airbone" type="LimboHSM" parent="PlayerHSM/Normal"]
unique_name_in_owner = true
script = ExtResource("8_d42ye")

[node name="Fall" type="LimboState" parent="PlayerHSM/Normal/Airbone"]
unique_name_in_owner = true
script = ExtResource("9_iqoog")
jump_grace_time = 0.16

[node name="Jump" type="LimboState" parent="PlayerHSM/Normal/Airbone"]
unique_name_in_owner = true
script = ExtResource("10_mwufa")

[node name="WallJump" type="LimboState" parent="PlayerHSM/Normal/Airbone"]
unique_name_in_owner = true
script = ExtResource("12_basl5")

[node name="OnWall" type="LimboHSM" parent="PlayerHSM/Normal"]
unique_name_in_owner = true
script = ExtResource("13_l6fs8")

[node name="Climb" type="LimboState" parent="PlayerHSM/Normal/OnWall"]
unique_name_in_owner = true
script = ExtResource("15_mt2s8")

[node name="ClimbJump" type="LimboState" parent="PlayerHSM/Normal/OnWall"]
unique_name_in_owner = true
script = ExtResource("15_l6fs8")

[node name="GrapHook" type="LimboHSM" parent="PlayerHSM/Normal"]
unique_name_in_owner = true
script = ExtResource("16_f07it")

[node name="HookShooting" type="LimboState" parent="PlayerHSM/Normal/GrapHook"]
unique_name_in_owner = true
script = ExtResource("16_xcbik")
grap_hook_shooting_time = 0.2

[node name="Grapping" type="LimboState" parent="PlayerHSM/Normal/GrapHook"]
unique_name_in_owner = true
script = ExtResource("19_u7cua")

[node name="Dash" type="LimboState" parent="PlayerHSM/Normal"]
unique_name_in_owner = true
script = ExtResource("12_8nsdm")

[node name="Dead" type="LimboState" parent="PlayerHSM"]
unique_name_in_owner = true
script = ExtResource("17_5r2pj")

[node name="LocomotionComponent" type="Node" parent="."]
unique_name_in_owner = true
script = ExtResource("2_11vl8")
dash_speed = 400.0
end_dash_speed = 190.0
climb_hop_velocity_x = 180.0
climb_hop_velocity_y = 334.0
jump_force = 460.0
jump_hold_maxium_time = 0.125
jump_horizontal_Boost = 265.0
jump_horizontal_Boost_last_time = 0.3
light_gravity_threshold = 135.0
light_gravity_mult = 0.6
wall_jump_base_force_x = 260.0
wall_jump_base_force_y = 220.0
fall_maxium_speed = 430.0
air_control_mult = 0.85
run_accel = 1300.0
run_reduce = 2400.0
move_speed_max = 202.0

[node name="WallDetector" parent="LocomotionComponent" instance=ExtResource("20_air0b")]
unique_name_in_owner = true

[node name="MidRayCast2D" parent="LocomotionComponent/WallDetector" index="1"]
position = Vector2(0, 3)

[node name="SpawnHookComponet" type="Node" parent="."]
script = ExtResource("21_p14kj")
binded_hook_move_input_property_name = &"m_input_intent_direction"
metadata/_custom_type_script = "uid://bkkkyugppu7sl"

[node name="ReedSFXMananger" type="Node" parent="."]
script = ExtResource("24_x5g5e")
bindings = Array[ExtResource("25_rjd7i")]([ExtResource("26_256x0")])
metadata/_custom_type_script = "uid://lp1ge1qbyfr3"

[node name="ReedVFXManager" type="Node" parent="."]
script = ExtResource("24_mwlgv")
bindings = Array[ExtResource("25_s5egm")]([ExtResource("26_s5egm"), ExtResource("30_hquoe")])
metadata/_custom_type_script = "uid://ta2r2bc1nrwe"

[node name="HitBox" type="Area2D" parent="."]
unique_name_in_owner = true
collision_layer = 0
collision_mask = 8

[node name="CollisionShape2D" type="CollisionShape2D" parent="HitBox"]
position = Vector2(0, -2.5)
shape = SubResource("RectangleShape2D_ogl63")
debug_color = Color(0.95815283, 0, 0.5313341, 0.41960785)

[node name="RemotePositionSetting" type="Node2D" parent="."]

[node name="Remotor[WallDetector]" type="RemoteTransform2D" parent="RemotePositionSetting"]
remote_path = NodePath("../../LocomotionComponent/WallDetector")
update_rotation = false
update_scale = false
script = ExtResource("28_mxt3b")
observed_remote_path = NodePath("../../LocomotionComponent/WallDetector")
metadata/_custom_type_script = "uid://bijoqygv6tncj"

[node name="FootPosMarker" type="Marker2D" parent="."]
unique_name_in_owner = true
position = Vector2(0, 11)

[connection signal="v_land_dust" from="." to="." method="_on_v_land_dust"]

[editable path="LocomotionComponent/WallDetector"]
