mirror of
https://gitlab.com/MaddoScientisto/cirnogodot.git
synced 2026-06-01 08:55:35 +00:00
271 lines
13 KiB
Text
271 lines
13 KiB
Text
[gd_scene load_steps=38 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://cy34e3htvbvnl" path="res://Scripts/Components/FSM/Enemy/3D/Init.cs" id="4_jgarc"]
|
|
[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" 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="."]
|
|
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="."]
|
|
script = ExtResource("2_xne4s")
|
|
|
|
[node name="Init" type="Node" parent="StateMachine" node_paths=PackedStringArray("Storage", "DetectionProvider", "HealthProvider", "_moduleNodes")]
|
|
script = ExtResource("4_jgarc")
|
|
Storage = NodePath("../../Storage")
|
|
DetectionProvider = NodePath("../../PlayerDetectionProvider")
|
|
HealthProvider = NodePath("../../DamageReceiver/HealthProvider")
|
|
_moduleNodes = [NodePath("../../AnimationModule")]
|
|
|
|
[node name="Idle" type="Node" parent="StateMachine" node_paths=PackedStringArray("Storage", "PlayerDetection", "GravityProvider", "_moduleNodes")]
|
|
script = ExtResource("5_rg1hb")
|
|
Storage = NodePath("../../Storage")
|
|
PlayerDetection = NodePath("../../PlayerDetectionProvider")
|
|
GravityProvider = NodePath("../../GravityProvider")
|
|
DebugEnabled = true
|
|
_moduleNodes = [NodePath("../../DamageModule"), NodePath("../../AnimationModule"), NodePath("../../SoundModule")]
|
|
|
|
[node name="Alert" type="Node" parent="StateMachine" 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" node_paths=PackedStringArray("Storage", "PlayerDetection", "EquippedWeapon", "NavigationModule", "GravityProvider", "_moduleNodes")]
|
|
script = ExtResource("7_rg1hb")
|
|
Storage = NodePath("../../Storage")
|
|
PlayerDetection = NodePath("../../PlayerDetectionProvider")
|
|
EquippedWeapon = NodePath("../../Weapon")
|
|
NavigationModule = NodePath("../../NavigationProvider")
|
|
GravityProvider = NodePath("../../GravityProvider")
|
|
_moduleNodes = [NodePath("../../DamageModule"), NodePath("../../AnimationModule"), NodePath("../../SoundModule")]
|
|
|
|
[node name="Dead" type="Node" parent="StateMachine" node_paths=PackedStringArray("Storage", "_moduleNodes")]
|
|
script = ExtResource("8_5j04l")
|
|
Storage = NodePath("../../Storage")
|
|
_moduleNodes = [NodePath("../../LootModule")]
|
|
|
|
[node name="Controlled" type="Node" parent="StateMachine" node_paths=PackedStringArray("Storage", "_moduleNodes")]
|
|
script = ExtResource("9_dm2sd")
|
|
Storage = NodePath("../../Storage")
|
|
_moduleNodes = [NodePath("../../DamageModule")]
|
|
|
|
[node name="AnimationModule" type="Node" parent="." 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="." 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="."]
|
|
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="." node_paths=PackedStringArray("Root")]
|
|
script = ExtResource("11_xne4s")
|
|
Root = NodePath("..")
|
|
|
|
[node name="PlayerDetectionProvider" type="Area3D" parent="."]
|
|
collision_layer = 0
|
|
collision_mask = 2
|
|
script = ExtResource("13_rg1hb")
|
|
ObstaclesCollisionMask = 17
|
|
|
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="PlayerDetectionProvider"]
|
|
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="." node_paths=PackedStringArray("NavigationAgent", "StorageModule")]
|
|
script = ExtResource("14_dm2sd")
|
|
NavigationAgent = NodePath("../NavigationAgent3D")
|
|
StorageModule = NodePath("../Storage")
|
|
|
|
[node name="NavigationAgent3D" type="NavigationAgent3D" parent="."]
|
|
path_postprocessing = 1
|
|
debug_enabled = true
|
|
|
|
[node name="Weapon" parent="." instance=ExtResource("15_27vgy")]
|
|
|
|
[node name="DamageModule" type="Node" parent="." 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="." 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"]
|
|
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"]
|
|
script = ExtResource("18_4fnoq")
|
|
ResourceName = "Health"
|
|
|
|
[node name="GravityProvider" type="Node" parent="."]
|
|
script = ExtResource("25_qg061")
|
|
Gravity = -20.0
|
|
MaxFallSpeed = 50.0
|
|
|
|
[node name="SoundModule" type="Node" parent="." 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"]
|
|
unit_size = 30.0
|
|
bus = &"Effects"
|
|
|
|
[node name="AlertPlayer" type="AudioStreamPlayer3D" parent="SoundModule"]
|
|
unit_size = 30.0
|
|
bus = &"Effects"
|
|
|
|
[node name="DeathPlayer" type="AudioStreamPlayer3D" parent="SoundModule"]
|
|
unit_size = 30.0
|
|
bus = &"Effects"
|
|
|
|
[node name="Hitbox" type="AnimatedSprite3D" parent="."]
|
|
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="." node_paths=PackedStringArray("StorageModule")]
|
|
script = ExtResource("28_2ut2v")
|
|
StorageModule = NodePath("../Storage")
|
|
|
|
[node name="Shadow2" type="Decal" parent="."]
|
|
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"]
|