[gd_scene format=3 uid="uid://bh3vxmqflijgj"] [ext_resource type="Script" uid="uid://dwregubt4iila" path="res://Scripts/Components/FSM/Enemy/3D/EnemyProxy3D.cs" id="1_a3crc"] [ext_resource type="Resource" uid="uid://ccym6mcq4fbul" path="res://Resources/Enemies/Fairy_Guard_3D.tres" id="2_jgarc"] [ext_resource type="Script" uid="uid://c651imhj6rjsh" path="res://Scripts/Components/FSM/Enemy/3D/EnemyStateMachine3D.cs" id="2_xne4s"] [ext_resource type="Script" uid="uid://dkmwqvhenu1xq" path="res://Scripts/Components/FSM/Enemy/3D/InitState.cs" id="4_2ut2v"] [ext_resource type="Script" uid="uid://jpdgfn701crh" path="res://Scripts/Components/FSM/Enemy/3D/Idle.cs" id="5_rg1hb"] [ext_resource type="Script" uid="uid://dvtdw2hcp4rm2" path="res://Scripts/Components/FSM/Enemy/3D/Alert.cs" id="6_jgarc"] [ext_resource type="Script" uid="uid://crahxykgis2bp" path="res://Scripts/Components/FSM/Enemy/3D/Shooting.cs" id="7_rg1hb"] [ext_resource type="Script" uid="uid://3irm5sccr2fc" path="res://Scripts/Components/FSM/Enemy/3D/Dead.cs" id="8_5j04l"] [ext_resource type="Script" uid="uid://mpws3eyrmx0q" path="res://Scripts/Components/FSM/Enemy/3D/Controlled.cs" id="9_dm2sd"] [ext_resource type="Shader" uid="uid://b8up3g1w7uqey" path="res://Shaders/Blink_3D.gdshader" id="10_2xi0r"] [ext_resource type="Script" uid="uid://cq1joxgoj3jdp" path="res://Scripts/Components/Actors/3D/PlayerAnimationProvider3D.cs" id="10_5gcuf"] [ext_resource type="Material" uid="uid://dsrsfpcpwmaql" path="res://Resources/Materials/Player_Blink_Teleport_Material_3D.tres" id="10_05pdu"] [ext_resource type="Script" uid="uid://ts64slgd7twt" path="res://Scripts/Components/FSM/Enemy/3D/EnemyAnimationModule3D.cs" id="10_d6h7c"] [ext_resource type="SpriteFrames" uid="uid://ch2ll1on8im2p" path="res://Resources/Sprites/FairyGuard.tres" id="10_hew1j"] [ext_resource type="Texture2D" uid="uid://xhwfgbv0fjbr" path="res://Sprites/Actors/FairyGuard.png" id="11_2xi0r"] [ext_resource type="Script" uid="uid://de31afbiua8xu" path="res://Scripts/Components/FSM/Enemy/3D/EnemyFSMAnimatedSprite3D.cs" id="11_jgarc"] [ext_resource type="Script" uid="uid://chq5a73kw0c0m" path="res://Scripts/Components/FSM/Enemy/3D/EnemyStorage3D.cs" id="11_xne4s"] [ext_resource type="Script" uid="uid://extjdng8nk6r" path="res://Scripts/Components/FSM/Enemy/3D/PlayerDetection3D.cs" id="13_rg1hb"] [ext_resource type="Script" uid="uid://k5k8wf821ytg" path="res://Scripts/Components/FSM/Enemy/3D/NavigationProvider3D.cs" id="14_dm2sd"] [ext_resource type="PackedScene" uid="uid://cfgc6ik8vb08c" path="res://Scenes/Weapons/BaseWeapon_3D.tscn" id="15_27vgy"] [ext_resource type="Script" uid="uid://bvcfa6wivpgy1" path="res://Scripts/Components/FSM/Enemy/3D/EnemyDamageModule3D.cs" id="16_27vgy"] [ext_resource type="Script" uid="uid://dmawekjfas6k8" path="res://Scripts/Components/Actors/DamageReceiver3D.cs" id="17_tabhk"] [ext_resource type="Script" uid="uid://cqwvssstkrdmw" path="res://Scripts/Components/Actors/ActorResourceProvider.cs" id="18_4fnoq"] [ext_resource type="Script" uid="uid://qrdor3gk6x37" path="res://Scripts/Components/FSM/Enemy/3D/GravityProvider.cs" id="25_qg061"] [ext_resource type="Script" uid="uid://khph8rethll7" path="res://Scripts/Components/Actors/3D/EnemySoundModule3D.cs" id="26_ojvcb"] [ext_resource type="Texture2D" uid="uid://bf37ce6jskdel" path="res://Sprites/SmallHitbox.png" id="27_bh48e"] [ext_resource type="Script" uid="uid://buvtqwl5fvwxk" path="res://Scripts/Components/Actors/3D/EnemyDropModule3D.cs" id="28_2ut2v"] [ext_resource type="Texture2D" uid="uid://dq60rr6ejqd2t" path="res://Sprites/Actors/Shadow-Blob_001.png" id="28_t121s"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_jgarc"] radius = 0.343 height = 0.686 [sub_resource type="AtlasTexture" id="AtlasTexture_ad5n8"] atlas = ExtResource("11_2xi0r") region = Rect2(32, 0, 16, 16) [sub_resource type="ShaderMaterial" id="ShaderMaterial_d6h7c"] resource_local_to_scene = true render_priority = 0 shader = ExtResource("10_2xi0r") shader_parameter/tex = SubResource("AtlasTexture_ad5n8") shader_parameter/blink_color = Color(0.954799, 0.00675169, 0, 1) shader_parameter/blink_intensity = 0.0 shader_parameter/teleport_progress = 0.0 shader_parameter/scanline_density = 0.0 [sub_resource type="CylinderShape3D" id="CylinderShape3D_5j04l"] height = 1.91858 radius = 3.04834 [sub_resource type="CylinderShape3D" id="CylinderShape3D_uv2lf"] height = 0.853027 radius = 0.426758 [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_j6bpw"] render_priority = 1 transparency = 1 no_depth_test = true shading_mode = 0 albedo_color = Color(0.86049104, 0.15461949, 0.15461949, 1) stencil_mode = 3 stencil_flags = 1 stencil_compare = 5 metadata/_stencil_owned = true [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_2ut2v"] next_pass = SubResource("StandardMaterial3D_j6bpw") transparency = 1 stencil_mode = 2 stencil_flags = 2 stencil_color = Color(0.86049104, 0.15461949, 0.15461949, 1) [sub_resource type="AtlasTexture" id="AtlasTexture_igu66"] atlas = ExtResource("27_bh48e") region = Rect2(0, 0, 4, 4) [sub_resource type="SpriteFrames" id="SpriteFrames_t121s"] animations = [{ "frames": [{ "duration": 1.0, "texture": SubResource("AtlasTexture_igu66") }], "loop": true, "name": &"default", "speed": 5.0 }] [node name="Enemy" type="CharacterBody3D" unique_id=1428692983 node_paths=PackedStringArray("EnemyFSM")] collision_layer = 64 collision_mask = 1553 script = ExtResource("1_a3crc") EnemyFSM = NodePath("StateMachine") EnemyResource = ExtResource("2_jgarc") [node name="CollisionShape2D" type="CollisionShape3D" parent="." unique_id=397512658] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.047, 0) shape = SubResource("CapsuleShape3D_jgarc") [node name="StateMachine" type="Node" parent="." unique_id=146081447] script = ExtResource("2_xne4s") [node name="Init" type="Node" parent="StateMachine" unique_id=321304267 node_paths=PackedStringArray("_moduleNodes")] script = ExtResource("4_2ut2v") _moduleNodes = [NodePath("../../AnimationModule")] [node name="Idle" type="Node" parent="StateMachine" unique_id=1798192567 node_paths=PackedStringArray("_moduleNodes")] script = ExtResource("5_rg1hb") DebugEnabled = true _moduleNodes = [NodePath("../../DamageModule"), NodePath("../../AnimationModule"), NodePath("../../SoundModule")] [node name="Alert" type="Node" parent="StateMachine" unique_id=2023331935 node_paths=PackedStringArray("Storage", "PlayerDetection", "NavigationModule", "GravityProvider", "_moduleNodes")] script = ExtResource("6_jgarc") Storage = NodePath("../../Storage") PlayerDetection = NodePath("../../PlayerDetectionProvider") NavigationModule = NodePath("../../NavigationProvider") GravityProvider = NodePath("../../GravityProvider") DebugEnabled = true _moduleNodes = [NodePath("../../DamageModule"), NodePath("../../AnimationModule"), NodePath("../../SoundModule")] [node name="Shooting" type="Node" parent="StateMachine" unique_id=767265433 node_paths=PackedStringArray("EquippedWeapon", "_moduleNodes")] script = ExtResource("7_rg1hb") EquippedWeapon = NodePath("../../Weapon") _moduleNodes = [NodePath("../../DamageModule"), NodePath("../../AnimationModule"), NodePath("../../SoundModule")] [node name="Dead" type="Node" parent="StateMachine" unique_id=1312501461 node_paths=PackedStringArray("Storage", "_moduleNodes")] script = ExtResource("8_5j04l") Storage = NodePath("../../Storage") _moduleNodes = [NodePath("../../LootModule")] [node name="Controlled" type="Node" parent="StateMachine" unique_id=481921517 node_paths=PackedStringArray("Storage", "_moduleNodes")] script = ExtResource("9_dm2sd") Storage = NodePath("../../Storage") _moduleNodes = [NodePath("../../DamageModule")] [node name="AnimationModule" type="Node" parent="." unique_id=920204467 node_paths=PackedStringArray("AnimationProvider", "Storage", "HealthProvider")] script = ExtResource("10_d6h7c") AnimationProvider = NodePath("../AnimationProvider") Storage = NodePath("../Storage") HealthProvider = NodePath("../DamageReceiver/HealthProvider") [node name="AnimationProvider" type="Node3D" parent="." unique_id=2053395074 node_paths=PackedStringArray("AnimatedSprite")] script = ExtResource("10_5gcuf") AnimatedSprite = NodePath("../AnimatedSprite3D") WalkRightAnimationName = &"right" WalkLeftAnimationName = &"left" WalkDownAnimationName = &"down" WalkUpAnimationName = &"up" BlinkMaterial = ExtResource("10_05pdu") [node name="AnimatedSprite3D" type="AnimatedSprite3D" parent="." unique_id=1186020475] transform = Transform3D(0.707107, -0.5, 0.5, 0, 0.707107, 0.707107, -0.707107, -0.5, 0.5, 0, 0, 0) material_override = SubResource("ShaderMaterial_d6h7c") pixel_size = 0.05 billboard = 1 texture_filter = 0 sprite_frames = ExtResource("10_hew1j") animation = &"down" frame = 2 frame_progress = 0.92087 script = ExtResource("11_jgarc") [node name="Storage" type="Node" parent="." unique_id=8651828 node_paths=PackedStringArray("Root")] script = ExtResource("11_xne4s") Root = NodePath("..") [node name="PlayerDetectionProvider" type="Area3D" parent="." unique_id=77201234] collision_layer = 0 collision_mask = 2 script = ExtResource("13_rg1hb") ObstaclesCollisionMask = 17 [node name="CollisionShape3D" type="CollisionShape3D" parent="PlayerDetectionProvider" unique_id=1149305496] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.557434, 0) shape = SubResource("CylinderShape3D_5j04l") [node name="NavigationProvider" type="Node" parent="." unique_id=1851675964 node_paths=PackedStringArray("NavigationAgent", "StorageModule")] script = ExtResource("14_dm2sd") NavigationAgent = NodePath("../NavigationAgent3D") StorageModule = NodePath("../Storage") [node name="NavigationAgent3D" type="NavigationAgent3D" parent="." unique_id=1202654381] path_postprocessing = 1 debug_enabled = true [node name="Weapon" parent="." unique_id=771249458 instance=ExtResource("15_27vgy")] [node name="DamageModule" type="Node" parent="." unique_id=430721165 node_paths=PackedStringArray("DamageReceiver", "StorageModule", "AnimationProvider")] script = ExtResource("16_27vgy") DamageReceiver = NodePath("../DamageReceiver") StorageModule = NodePath("../Storage") AnimationProvider = NodePath("../AnimationProvider") [node name="DamageReceiver" type="Area3D" parent="." unique_id=1792872756 node_paths=PackedStringArray("HealthProvider")] collision_layer = 64 collision_mask = 8 script = ExtResource("17_tabhk") HealthProvider = NodePath("HealthProvider") BulletGroup = 2 DeleteParentOnDeath = false [node name="CollisionShape3D" type="CollisionShape3D" parent="DamageReceiver" unique_id=1457345703] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.00463867, 0) shape = SubResource("CylinderShape3D_uv2lf") [node name="HealthProvider" type="Node" parent="DamageReceiver" unique_id=610376220] script = ExtResource("18_4fnoq") ResourceName = "Health" [node name="GravityProvider" type="Node" parent="." unique_id=2086594224] script = ExtResource("25_qg061") Gravity = -20.0 MaxFallSpeed = 50.0 [node name="SoundModule" type="Node" parent="." unique_id=540759764 node_paths=PackedStringArray("DamageReceiver", "StorageModule", "HitPlayer", "DeathPlayer", "AlertPlayer")] script = ExtResource("26_ojvcb") DamageReceiver = NodePath("../DamageReceiver") StorageModule = NodePath("../Storage") HitPlayer = NodePath("HitPlayer") DeathPlayer = NodePath("DeathPlayer") AlertPlayer = NodePath("AlertPlayer") [node name="HitPlayer" type="AudioStreamPlayer3D" parent="SoundModule" unique_id=1334761769] unit_size = 30.0 bus = &"Effects" [node name="AlertPlayer" type="AudioStreamPlayer3D" parent="SoundModule" unique_id=1111891836] unit_size = 30.0 bus = &"Effects" [node name="DeathPlayer" type="AudioStreamPlayer3D" parent="SoundModule" unique_id=1385917323] unit_size = 30.0 bus = &"Effects" [node name="Hitbox" type="AnimatedSprite3D" parent="." unique_id=123796697] transform = Transform3D(0.707107, -0.5, 0.5, 0, 0.707107, 0.707107, -0.707107, -0.5, 0.5, 0, 0, 0) material_overlay = SubResource("StandardMaterial3D_2ut2v") ignore_occlusion_culling = true pixel_size = 0.05 double_sided = false texture_filter = 0 render_priority = -1 sprite_frames = SubResource("SpriteFrames_t121s") [node name="LootModule" type="Node" parent="." unique_id=729648693 node_paths=PackedStringArray("StorageModule")] script = ExtResource("28_2ut2v") StorageModule = NodePath("../Storage") [node name="Shadow2" type="Decal" parent="." unique_id=2007780472] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.13562012, -0.118652344, 0.13336182) size = Vector3(0.5, 0.7373047, 0.5) texture_albedo = ExtResource("28_t121s") normal_fade = 0.5 cull_mask = 1048574 [connection signal="body_entered" from="PlayerDetectionProvider" to="PlayerDetectionProvider" method="_on_body_entered"] [connection signal="body_exited" from="PlayerDetectionProvider" to="PlayerDetectionProvider" method="_on_body_exited"] [connection signal="velocity_computed" from="NavigationAgent3D" to="NavigationProvider" method="_on_navigation_agent_3d_velocity_computed"] [connection signal="area_entered" from="DamageReceiver" to="DamageReceiver" method="_on_damage_hitbox_area_entered"]