[gd_scene load_steps=24 format=3 uid="uid://clxx2ytg3qkcr"] [ext_resource type="Script" path="res://Scripts/Enemy.cs" id="1_d31cy"] [ext_resource type="Texture2D" uid="uid://xhwfgbv0fjbr" path="res://Sprites/Actors/FairyGuard.png" id="2_dhwsn"] [ext_resource type="Script" path="res://Scripts/Components/ProximityPlayerDetection.cs" id="3_i7ey1"] [ext_resource type="PackedScene" uid="uid://crry0rgk7a8sm" path="res://Scenes/Weapons/BaseWeapon.tscn" id="4_p0lt3"] [ext_resource type="Resource" uid="uid://cdfmedtgp2rcn" path="res://Resources/Weapons/EnemyWeapon.tres" id="5_s8k35"] [ext_resource type="PackedScene" uid="uid://cuixq5ex0j40h" path="res://Scenes/enemyBullet.tscn" id="6_vxjxr"] [sub_resource type="AtlasTexture" id="AtlasTexture_42a57"] atlas = ExtResource("2_dhwsn") region = Rect2(0, 0, 16, 16) [sub_resource type="AtlasTexture" id="AtlasTexture_gl2o5"] atlas = ExtResource("2_dhwsn") region = Rect2(16, 0, 16, 16) [sub_resource type="AtlasTexture" id="AtlasTexture_ad5n8"] atlas = ExtResource("2_dhwsn") region = Rect2(32, 0, 16, 16) [sub_resource type="AtlasTexture" id="AtlasTexture_hfqok"] atlas = ExtResource("2_dhwsn") region = Rect2(0, 32, 16, 16) [sub_resource type="AtlasTexture" id="AtlasTexture_47idc"] atlas = ExtResource("2_dhwsn") region = Rect2(32, 32, 16, 16) [sub_resource type="AtlasTexture" id="AtlasTexture_gquu4"] atlas = ExtResource("2_dhwsn") region = Rect2(16, 32, 16, 16) [sub_resource type="AtlasTexture" id="AtlasTexture_2ftnw"] atlas = ExtResource("2_dhwsn") region = Rect2(0, 48, 16, 16) [sub_resource type="AtlasTexture" id="AtlasTexture_o4btr"] atlas = ExtResource("2_dhwsn") region = Rect2(16, 48, 16, 16) [sub_resource type="AtlasTexture" id="AtlasTexture_ue8y7"] atlas = ExtResource("2_dhwsn") region = Rect2(32, 48, 16, 16) [sub_resource type="AtlasTexture" id="AtlasTexture_n8dp2"] atlas = ExtResource("2_dhwsn") region = Rect2(0, 16, 16, 16) [sub_resource type="AtlasTexture" id="AtlasTexture_6p57w"] atlas = ExtResource("2_dhwsn") region = Rect2(16, 16, 16, 16) [sub_resource type="AtlasTexture" id="AtlasTexture_gpakj"] atlas = ExtResource("2_dhwsn") region = Rect2(32, 16, 16, 16) [sub_resource type="SpriteFrames" id="SpriteFrames_0g5m3"] animations = [{ "frames": [{ "duration": 1.0, "texture": SubResource("AtlasTexture_42a57") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_gl2o5") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_ad5n8") }], "loop": true, "name": &"down", "speed": 5.0 }, { "frames": [{ "duration": 1.0, "texture": SubResource("AtlasTexture_hfqok") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_47idc") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_gquu4") }], "loop": true, "name": &"left", "speed": 5.0 }, { "frames": [{ "duration": 1.0, "texture": SubResource("AtlasTexture_2ftnw") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_o4btr") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_ue8y7") }], "loop": true, "name": &"right", "speed": 5.0 }, { "frames": [{ "duration": 1.0, "texture": SubResource("AtlasTexture_n8dp2") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_6p57w") }, { "duration": 1.0, "texture": SubResource("AtlasTexture_gpakj") }], "loop": true, "name": &"up", "speed": 5.0 }] [sub_resource type="CircleShape2D" id="CircleShape2D_8gtts"] radius = 7.0 [sub_resource type="CircleShape2D" id="CircleShape2D_cacb5"] radius = 4.0 [sub_resource type="CircleShape2D" id="CircleShape2D_v711r"] radius = 85.0529 [sub_resource type="RectangleShape2D" id="RectangleShape2D_m1rsg"] size = Vector2(8, 12) [node name="Enemy" type="CharacterBody2D" node_paths=PackedStringArray("EquippedWeapon", "_playerDetection") groups=["Destroyable"]] collision_layer = 16 collision_mask = 9 script = ExtResource("1_d31cy") EquippedWeapon = NodePath("Weapon") _playerDetection = NodePath("PlayerDetection") _navigationEnabled = true metadata/_edit_group_ = true [node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."] sprite_frames = SubResource("SpriteFrames_0g5m3") animation = &"left" frame = 2 frame_progress = 0.309308 [node name="Damage_HitBox" type="CollisionShape2D" parent="."] visible = false shape = SubResource("CircleShape2D_8gtts") [node name="RigidBody2D" type="RigidBody2D" parent="."] collision_layer = 16 [node name="CollisionShape2D" type="CollisionShape2D" parent="RigidBody2D"] visible = false position = Vector2(0, 5) shape = SubResource("CircleShape2D_cacb5") [node name="PlayerDetection" type="Area2D" parent="."] visible = false collision_layer = 16 collision_mask = 2 script = ExtResource("3_i7ey1") [node name="PlayerDetectionArea" type="CollisionShape2D" parent="PlayerDetection"] shape = SubResource("CircleShape2D_v711r") [node name="ShootTimer" type="Timer" parent="."] wait_time = 0.4 one_shot = true [node name="Weapon" parent="." instance=ExtResource("4_p0lt3")] WeaponData = ExtResource("5_s8k35") BulletScene = ExtResource("6_vxjxr") [node name="NavigationAgent2D" type="NavigationAgent2D" parent="."] target_desired_distance = 64.0 path_max_distance = 800.0 path_postprocessing = 1 avoidance_enabled = true debug_path_custom_color = Color(1, 0, 0, 1) [node name="DamageHitbox" type="Area2D" parent="."] collision_layer = 16 collision_mask = 9 [node name="CollisionShape2D" type="CollisionShape2D" parent="DamageHitbox"] shape = SubResource("RectangleShape2D_m1rsg") [connection signal="area_entered" from="PlayerDetection" to="PlayerDetection" method="_on_area_entered"] [connection signal="area_exited" from="PlayerDetection" to="PlayerDetection" method="_on_area_exited"] [connection signal="velocity_computed" from="NavigationAgent2D" to="." method="_on_navigation_agent_2d_velocity_computed"] [connection signal="area_entered" from="DamageHitbox" to="." method="_on_damage_hitbox_area_entered"]