[gd_scene load_steps=12 format=3 uid="uid://03eh1nglfg6t"] [ext_resource type="PackedScene" uid="uid://xykil2ydlxoc" path="res://assets/3rdparty/KayKit_Adventurers_1.0_EXTRA/Characters/gltf/Rogue_Hooded.glb" id="1_25fog"] [ext_resource type="Script" path="res://objects/non_player_character.gd" id="1_c2apr"] [ext_resource type="BehaviorTree" uid="uid://dck7kl4210076" path="res://ai/trees/empty.tres" id="2_3dryb"] [ext_resource type="AnimationLibrary" uid="uid://dbaynxuqbkor6" path="res://assets/characters/rogue_animation_library.tres" id="2_sp2o4"] [sub_resource type="CylinderShape3D" id="CylinderShape3D_uynrb"] height = 0.8 radius = 0.2 [sub_resource type="BoxShape3D" id="BoxShape3D_d611i"] size = Vector3(1, 0.9, 0.6) [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_7ujep"] animation = &"rogue_animation_library/Idle" [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_821y4"] advance_mode = 2 [sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_tq8nf"] states/rogue_animation_library_Idle/node = SubResource("AnimationNodeAnimation_7ujep") states/rogue_animation_library_Idle/position = Vector2(404, 92) transitions = ["Start", "rogue_animation_library_Idle", SubResource("AnimationNodeStateMachineTransition_821y4")] [sub_resource type="CylinderShape3D" id="CylinderShape3D_3da0u"] height = 0.706301 radius = 1.0 [sub_resource type="BlackboardPlan" id="BlackboardPlan_gttte"] [node name="NonPlayerCharacter" type="CharacterBody3D" groups=["non_player_character"]] collision_layer = 64 collision_mask = 33 script = ExtResource("1_c2apr") [node name="CollisionShape3D" type="CollisionShape3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.4, 0) shape = SubResource("CylinderShape3D_uynrb") [node name="DashCollisionShape" type="CollisionShape3D" parent="."] unique_name_in_owner = true transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.571, 0.15) shape = SubResource("BoxShape3D_d611i") disabled = true [node name="DashDetectionArea" type="Area3D" parent="."] unique_name_in_owner = true transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.05) collision_layer = 0 collision_mask = 2 input_ray_pickable = false monitorable = false [node name="DashCollisionShape" type="CollisionShape3D" parent="DashDetectionArea"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.571, 0.15) shape = SubResource("BoxShape3D_d611i") [node name="DefaultGeometry" parent="." instance=ExtResource("1_25fog")] unique_name_in_owner = true transform = Transform3D(0.4, 0, 0, 0, 0.4, 0, 0, 0, 0.4, 0, 0, 0) [node name="AnimationPlayer" type="AnimationPlayer" parent="."] unique_name_in_owner = true root_node = NodePath("../DefaultGeometry") libraries = { "rogue_animation_library": ExtResource("2_sp2o4") } [node name="AnimationTree" type="AnimationTree" parent="."] root_node = NodePath("%DefaultGeometry") tree_root = SubResource("AnimationNodeStateMachine_tq8nf") anim_player = NodePath("../AnimationPlayer") [node name="PlayerDetection" type="Area3D" parent="."] unique_name_in_owner = true collision_layer = 0 collision_mask = 2 monitorable = false [node name="CollisionShape3D" type="CollisionShape3D" parent="PlayerDetection"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.322685, 0) shape = SubResource("CylinderShape3D_3da0u") [node name="BTPlayer" type="BTPlayer" parent="."] behavior_tree = ExtResource("2_3dryb") blackboard_plan = SubResource("BlackboardPlan_gttte") unique_name_in_owner = true [node name="NavigationAgent" type="NavigationAgent3D" parent="."] unique_name_in_owner = true path_desired_distance = 0.1 target_desired_distance = 0.75 simplify_path = true radius = 0.25 neighbor_distance = 10.0 time_horizon_obstacles = 0.3 [connection signal="body_entered" from="DashDetectionArea" to="." method="_on_dash_detection_area_body_entered"] [connection signal="body_exited" from="DashDetectionArea" to="." method="_on_dash_detection_area_body_exited"] [connection signal="body_entered" from="PlayerDetection" to="." method="_on_player_detection_body_entered"] [connection signal="body_exited" from="PlayerDetection" to="." method="_on_player_detection_body_exited"]