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

[ext_resource type="Script" uid="uid://dq1g1qp66chwy" path="res://_player/agens.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://bjjatv4bxv7w" path="res://_player/states/climb.gd" id="15_mt2s8"]
[ext_resource type="PackedScene" uid="uid://blm8q46h3v2im" path="res://addons/reedcomponent/locomotion/wall_detector.tscn" id="20_air0b"]

[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)

[node name="Agens" type="CharacterBody2D"]
platform_wall_layers = 4
script = ExtResource("1_rkqpu")

[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2(-0.5, -0.5)
shape = SubResource("RectangleShape2D_qnulu")

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

[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")

[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="ClimbHop" type="LimboState" parent="PlayerHSM/Normal/OnWall"]
unique_name_in_owner = true

[node name="ClimbJump" type="LimboState" parent="PlayerHSM/Normal/OnWall"]
unique_name_in_owner = true

[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

[node name="LocomotionComponent" type="Node" parent="."]
unique_name_in_owner = true
script = ExtResource("2_11vl8")
fall_maxium_speed = 430.0
air_control_mult = 0.7
run_accel = 2100.0
run_reduce = 420.0
move_speed_max = 157.0

[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="WallCheckRayer" type="RayCast2D" parent="."]
unique_name_in_owner = true
target_position = Vector2(14, 0)
collision_mask = 4

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