[gd_scene load_steps=21 format=3 uid="uid://dvqj0souma3mh"] [ext_resource type="Script" path="res://scripts/runner.gd" id="1_hjhpa"] [ext_resource type="Script" path="res://scripts/multiplayer/input.gd" id="2_ktv5u"] [ext_resource type="Material" uid="uid://diptcpjxid3cm" path="res://materials/chaser.tres" id="3_tvy4p"] [ext_resource type="Script" path="res://scripts/states/state_machine.gd" id="4_ttxqy"] [ext_resource type="Script" path="res://scripts/states/idle.gd" id="5_vepvv"] [ext_resource type="Script" path="res://scripts/states/run.gd" id="6_fllo7"] [ext_resource type="Script" path="res://scripts/states/fall.gd" id="7_0e04j"] [ext_resource type="Script" path="res://scripts/states/dead.gd" id="9_8je4a"] [ext_resource type="Script" path="res://scripts/states/lunge.gd" id="9_nqccg"] [sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_ukf45"] properties/0/path = NodePath(".:player_id") properties/0/spawn = true properties/0/replication_mode = 2 properties/1/path = NodePath(".:server_position") properties/1/spawn = true properties/1/replication_mode = 1 properties/2/path = NodePath(".:server_rotation") properties/2/spawn = true properties/2/replication_mode = 1 properties/3/path = NodePath("RotationBase/Attack:visible") properties/3/spawn = true properties/3/replication_mode = 1 properties/4/path = NodePath(".:dead") properties/4/spawn = true properties/4/replication_mode = 1 [sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_1agtp"] properties/0/path = NodePath("Input:direction") properties/0/spawn = true properties/0/replication_mode = 1 properties/1/path = NodePath("Input:walk") properties/1/spawn = true properties/1/replication_mode = 1 properties/2/path = NodePath("Input:primary_interact") properties/2/spawn = true properties/2/replication_mode = 1 properties/3/path = NodePath("Input:secondary_interact") properties/3/spawn = true properties/3/replication_mode = 1 [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_j6tb3"] radius = 0.3 height = 1.8 [sub_resource type="CapsuleMesh" id="CapsuleMesh_di3a0"] radius = 0.3 height = 1.8 [sub_resource type="PrismMesh" id="PrismMesh_fcj1v"] [sub_resource type="SphereMesh" id="SphereMesh_tudvv"] [sub_resource type="SphereMesh" id="SphereMesh_1gltg"] [sub_resource type="BoxShape3D" id="BoxShape3D_rsamr"] size = Vector3(1, 1.75, 1.5) [sub_resource type="BoxMesh" id="BoxMesh_phaav"] size = Vector3(1, 1.75, 1.5) [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ssauw"] albedo_color = Color(1, 0, 0, 1) [sub_resource type="SphereShape3D" id="SphereShape3D_wsx1k"] [node name="Chaser" type="CharacterBody3D" node_paths=PackedStringArray("state_machine")] script = ExtResource("1_hjhpa") state_machine = NodePath("StateMachine") [node name="Sync" type="MultiplayerSynchronizer" parent="."] replication_config = SubResource("SceneReplicationConfig_ukf45") [node name="Input" type="MultiplayerSynchronizer" parent="."] unique_name_in_owner = true replication_config = SubResource("SceneReplicationConfig_1agtp") script = ExtResource("2_ktv5u") [node name="CameraPivot" type="Node3D" parent="."] unique_name_in_owner = true transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0) [node name="Collider" type="CollisionShape3D" parent="."] unique_name_in_owner = true transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0) shape = SubResource("CapsuleShape3D_j6tb3") [node name="RotationBase" type="Node3D" parent="."] unique_name_in_owner = true [node name="Skin" type="Node3D" parent="RotationBase"] unique_name_in_owner = true [node name="MainBody" type="MeshInstance3D" parent="RotationBase/Skin"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0) mesh = SubResource("CapsuleMesh_di3a0") skeleton = NodePath("../../..") surface_material_override/0 = ExtResource("3_tvy4p") [node name="Beak" type="MeshInstance3D" parent="RotationBase/Skin/MainBody"] transform = Transform3D(0.35, 0, 0, 0, -0.105655, 0.0906308, 0, -0.226577, -0.0422618, 0, 0.45, -0.3) mesh = SubResource("PrismMesh_fcj1v") [node name="RightEye" type="MeshInstance3D" parent="RotationBase/Skin/MainBody"] transform = Transform3D(0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0.1, 0.6, -0.25) mesh = SubResource("SphereMesh_tudvv") [node name="LeftEye" type="MeshInstance3D" parent="RotationBase/Skin/MainBody"] transform = Transform3D(0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, -0.1, 0.6, -0.25) mesh = SubResource("SphereMesh_1gltg") [node name="Attack" type="Area3D" parent="RotationBase"] unique_name_in_owner = true transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, -0.75) visible = false monitorable = false [node name="CollisionShape3D" type="CollisionShape3D" parent="RotationBase/Attack"] shape = SubResource("BoxShape3D_rsamr") [node name="MeshInstance3D" type="MeshInstance3D" parent="RotationBase/Attack"] transparency = 0.8 mesh = SubResource("BoxMesh_phaav") surface_material_override/0 = SubResource("StandardMaterial3D_ssauw") [node name="AttackTimer" type="Timer" parent="RotationBase/Attack"] unique_name_in_owner = true process_callback = 0 wait_time = 0.35 one_shot = true [node name="AttackCooldown" type="Timer" parent="RotationBase/Attack"] unique_name_in_owner = true process_callback = 0 wait_time = 2.0 one_shot = true autostart = true [node name="FloatingCamera" type="Node" parent="."] [node name="CameraPlatform" type="Node3D" parent="FloatingCamera"] unique_name_in_owner = true [node name="CameraSpringArm" type="SpringArm3D" parent="FloatingCamera/CameraPlatform"] shape = SubResource("SphereShape3D_wsx1k") spring_length = 3.5 [node name="Camera" type="Camera3D" parent="FloatingCamera/CameraPlatform/CameraSpringArm"] unique_name_in_owner = true [node name="StateMachine" type="Node" parent="." node_paths=PackedStringArray("current_state")] script = ExtResource("4_ttxqy") current_state = NodePath("Idle") [node name="Idle" type="Node" parent="StateMachine"] unique_name_in_owner = true script = ExtResource("5_vepvv") [node name="Run" type="Node" parent="StateMachine"] unique_name_in_owner = true script = ExtResource("6_fllo7") [node name="Fall" type="Node" parent="StateMachine"] unique_name_in_owner = true script = ExtResource("7_0e04j") [node name="Dead" type="Node" parent="StateMachine"] unique_name_in_owner = true script = ExtResource("9_8je4a") [node name="Lunge" type="Node" parent="StateMachine"] unique_name_in_owner = true script = ExtResource("9_nqccg") [connection signal="delta_synchronized" from="Sync" to="." method="_on_sync_delta_synchronized"] [connection signal="body_entered" from="RotationBase/Attack" to="StateMachine/Lunge" method="_on_attack_body_entered"] [connection signal="body_exited" from="RotationBase/Attack" to="StateMachine/Lunge" method="_on_attack_body_exited"]