diff --git a/3D/Shelf/Shelf.blend b/3D/Shelf/Shelf.blend new file mode 100644 index 00000000..e55fe5a4 Binary files /dev/null and b/3D/Shelf/Shelf.blend differ diff --git a/3D/Shelf/Shelf.blend.import b/3D/Shelf/Shelf.blend.import new file mode 100644 index 00000000..ffa41679 --- /dev/null +++ b/3D/Shelf/Shelf.blend.import @@ -0,0 +1,53 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://c1jbsiq7wqs0y" +path="res://.godot/imported/Shelf.blend-53a38d40752639970ff5938e1b9f9b39.scn" + +[deps] + +source_file="res://3D/Shelf/Shelf.blend" +dest_files=["res://.godot/imported/Shelf.blend-53a38d40752639970ff5938e1b9f9b39.scn"] + +[params] + +nodes/root_type="" +nodes/root_name="" +nodes/apply_root_scale=true +nodes/root_scale=1.0 +nodes/import_as_skeleton_bones=false +nodes/use_node_type_suffixes=true +meshes/ensure_tangents=true +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 +meshes/force_disable_compression=false +skins/use_named_skins=true +animation/import=true +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +animation/import_rest_as_RESET=false +import_script/path="" +_subresources={} +blender/nodes/visible=0 +blender/nodes/active_collection_only=false +blender/nodes/punctual_lights=true +blender/nodes/cameras=true +blender/nodes/custom_properties=true +blender/nodes/modifiers=1 +blender/meshes/colors=false +blender/meshes/uvs=true +blender/meshes/normals=true +blender/meshes/export_geometry_nodes_instances=false +blender/meshes/tangents=true +blender/meshes/skins=2 +blender/meshes/export_bones_deforming_mesh_only=false +blender/materials/unpack_enabled=true +blender/materials/export_materials=1 +blender/animation/limit_playback=true +blender/animation/always_sample=true +blender/animation/group_tracks=true diff --git a/3D/Shelf/Shelf.blend1 b/3D/Shelf/Shelf.blend1 new file mode 100644 index 00000000..75b65e7b Binary files /dev/null and b/3D/Shelf/Shelf.blend1 differ diff --git a/ExternalMaterial/WallTurret/WallTurret.png b/ExternalMaterial/WallTurret/WallTurret.png new file mode 100644 index 00000000..6c9391a9 --- /dev/null +++ b/ExternalMaterial/WallTurret/WallTurret.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6d87b15696c8625b189de6c1f034e62b08b9f7abccb50aa78c2e549f5df0f3db +size 4685 diff --git a/ExternalMaterial/WallTurret/WallTurret.png.import b/ExternalMaterial/WallTurret/WallTurret.png.import new file mode 100644 index 00000000..5e880ae4 --- /dev/null +++ b/ExternalMaterial/WallTurret/WallTurret.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://om06o2mqo1el" +path="res://.godot/imported/WallTurret.png-fe4408a9ea4c8700c92b581fb42223fa.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://ExternalMaterial/WallTurret/WallTurret.png" +dest_files=["res://.godot/imported/WallTurret.png-fe4408a9ea4c8700c92b581fb42223fa.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/ExternalMaterial/WallTurret/WallTurret.pxc b/ExternalMaterial/WallTurret/WallTurret.pxc new file mode 100644 index 00000000..c1614ea4 Binary files /dev/null and b/ExternalMaterial/WallTurret/WallTurret.pxc differ diff --git a/ExternalMaterial/WallTurret/WallTurret.pxc1 b/ExternalMaterial/WallTurret/WallTurret.pxc1 new file mode 100644 index 00000000..9f827ab3 Binary files /dev/null and b/ExternalMaterial/WallTurret/WallTurret.pxc1 differ diff --git a/ExternalMaterial/WallTurret/WallTurret_Small.png b/ExternalMaterial/WallTurret/WallTurret_Small.png new file mode 100644 index 00000000..224f926c --- /dev/null +++ b/ExternalMaterial/WallTurret/WallTurret_Small.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d0d973ae94baac4fc245972c8043ff00c0a50740048aa645eee203870580b056 +size 2041 diff --git a/ExternalMaterial/WallTurret/WallTurret_Small.png.import b/ExternalMaterial/WallTurret/WallTurret_Small.png.import new file mode 100644 index 00000000..768c859c --- /dev/null +++ b/ExternalMaterial/WallTurret/WallTurret_Small.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b58oxkofm64o7" +path="res://.godot/imported/WallTurret_Small.png-c0c67febba1459afd0921ae33e47822e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://ExternalMaterial/WallTurret/WallTurret_Small.png" +dest_files=["res://.godot/imported/WallTurret_Small.png-c0c67febba1459afd0921ae33e47822e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Resources/Items/Blue_Keycard.tres b/Resources/Items/Blue_Keycard.tres index 48dc5159..bde7f1aa 100644 --- a/Resources/Items/Blue_Keycard.tres +++ b/Resources/Items/Blue_Keycard.tres @@ -10,6 +10,7 @@ region = Rect2(0, 0, 16, 16) [resource] script = ExtResource("1_k8cnp") ItemName = &"Blue Keycard" +ShortName = null ItemDescription = &"Activates Blue KeyPads" ItemKey = &"BLUE_KEY" Item = 1 @@ -19,5 +20,6 @@ PickupIfMaxed = false ConsumeOnUse = false UiType = 1 Selectable = false +AutoPickup = false InventorySprite = SubResource("AtlasTexture_ebbst") DropScenePath = &"res://Scenes/Items/Blue_Keycard.tscn" diff --git a/Resources/Items/Green_Keycard.tres b/Resources/Items/Green_Keycard.tres index d584a8ec..82d241ef 100644 --- a/Resources/Items/Green_Keycard.tres +++ b/Resources/Items/Green_Keycard.tres @@ -10,6 +10,7 @@ region = Rect2(0, 0, 16, 16) [resource] script = ExtResource("1_t0s5w") ItemName = &"Green Keycard" +ShortName = null ItemDescription = &"Activates Green KeyPads" ItemKey = &"GREEN_KEY" Item = 2 @@ -19,5 +20,6 @@ PickupIfMaxed = false ConsumeOnUse = false UiType = 1 Selectable = false +AutoPickup = false InventorySprite = SubResource("AtlasTexture_iasoh") DropScenePath = &"res://Scenes/Items/Green_Keycard.tscn" diff --git a/Resources/Items/Heart_Extend_Pickup.tres b/Resources/Items/Heart_Extend_Pickup.tres index 4bfef7f2..61f7059c 100644 --- a/Resources/Items/Heart_Extend_Pickup.tres +++ b/Resources/Items/Heart_Extend_Pickup.tres @@ -13,6 +13,7 @@ metadata/_custom_type_script = "uid://6cupx85nnda4" [resource] script = ExtResource("3_1s60f") ItemName = &"Health Extend" +ShortName = null ItemDescription = &"Extends the max health" ItemKey = &"HEALTH_EXTEND" Item = 13 @@ -23,6 +24,7 @@ PickupIfMaxed = false ConsumeOnUse = true UiType = 0 Selectable = false +AutoPickup = false InventorySprite = ExtResource("1_00obu") DropScenePath = &"res://Scenes/Items/Heart_Extend_Pickup.tscn" metadata/_custom_type_script = "uid://epnwjptvks3t" diff --git a/Resources/Items/IceShotgun.tres b/Resources/Items/IceShotgun.tres index f7056102..2f2252e1 100644 --- a/Resources/Items/IceShotgun.tres +++ b/Resources/Items/IceShotgun.tres @@ -18,5 +18,6 @@ PickupIfMaxed = false ConsumeOnUse = false UiType = 1 Selectable = true +AutoPickup = false InventorySprite = ExtResource("2_4ibag") DropScenePath = &"res://Scenes/Items/Ice_Shotgun_Pickup.tscn" diff --git a/Resources/Items/NuclearGunPickup.tres b/Resources/Items/NuclearGunPickup.tres index f3743b65..434a5195 100644 --- a/Resources/Items/NuclearGunPickup.tres +++ b/Resources/Items/NuclearGunPickup.tres @@ -18,5 +18,6 @@ PickupIfMaxed = false ConsumeOnUse = false UiType = 1 Selectable = true +AutoPickup = false InventorySprite = ExtResource("1_qxsuv") DropScenePath = &"res://Scenes/Items/Nuclear_Gun_Pickup.tscn" diff --git a/Resources/Items/Shield_Extend_Pickup.tres b/Resources/Items/Shield_Extend_Pickup.tres index 089e28bc..2377784f 100644 --- a/Resources/Items/Shield_Extend_Pickup.tres +++ b/Resources/Items/Shield_Extend_Pickup.tres @@ -13,6 +13,7 @@ metadata/_custom_type_script = "uid://6cupx85nnda4" [resource] script = ExtResource("2_n442a") ItemName = &"Shield Extend" +ShortName = null ItemDescription = &"Extends the max shield" ItemKey = &"SHIELD_EXTEND" Item = 13 @@ -23,6 +24,7 @@ PickupIfMaxed = false ConsumeOnUse = true UiType = 0 Selectable = false +AutoPickup = false InventorySprite = ExtResource("1_e61f8") DropScenePath = &"res://Scenes/Items/Shield_Extend_Pickup.tscn" metadata/_custom_type_script = "uid://epnwjptvks3t" diff --git a/Resources/Items/Yellow_Keycard.tres b/Resources/Items/Yellow_Keycard.tres index 304bd7bd..2b9d1f35 100644 --- a/Resources/Items/Yellow_Keycard.tres +++ b/Resources/Items/Yellow_Keycard.tres @@ -10,6 +10,7 @@ region = Rect2(0, 0, 16.0056, 16) [resource] script = ExtResource("4_tfyxc") ItemName = &"Yellow Keycard" +ShortName = null ItemDescription = &"Opens Yellow KeyPads" ItemKey = &"YELLOW_KEY" Item = 0 @@ -19,5 +20,6 @@ PickupIfMaxed = false ConsumeOnUse = false UiType = 1 Selectable = false +AutoPickup = false InventorySprite = SubResource("AtlasTexture_ew85h") DropScenePath = &"res://Scenes/Items/Yellow_Keycard.tscn" diff --git a/Scenes/Actors/Wall_Turret.tscn b/Scenes/Actors/Wall_Turret.tscn new file mode 100644 index 00000000..a5a7740c --- /dev/null +++ b/Scenes/Actors/Wall_Turret.tscn @@ -0,0 +1,288 @@ +[gd_scene load_steps=44 format=3 uid="uid://8ab7omgqeodu"] + +[ext_resource type="Script" uid="uid://bi2edpdosngll" path="res://Scripts/Components/FSM/Enemy/EnemyFSMProxy.cs" id="1_q7y0e"] +[ext_resource type="Resource" uid="uid://cocl3qontm3be" path="res://Resources/Enemies/Base_Fairy.tres" id="2_eymbs"] +[ext_resource type="Script" uid="uid://dn6dbog1s2818" path="res://Scripts/Components/FSM/Enemy/EnemyStateMachine.cs" id="3_x4aey"] +[ext_resource type="Script" uid="uid://rrelumir3g6n" path="res://Scripts/Components/FSM/Enemy/Init.cs" id="4_kkydi"] +[ext_resource type="Script" uid="uid://bjrh5q24nuoec" path="res://Scripts/Components/FSM/Enemy/Idle.cs" id="5_mjnu8"] +[ext_resource type="Script" uid="uid://dbmc3klko5x18" path="res://Scripts/Components/FSM/Enemy/Alert.cs" id="6_yl0md"] +[ext_resource type="Script" uid="uid://7mig30eneu8x" path="res://Scripts/Components/FSM/Enemy/Shooting.cs" id="7_xa3rc"] +[ext_resource type="Script" uid="uid://4hwtlc1ftjsc" path="res://Scripts/Components/FSM/Enemy/Dead.cs" id="8_itp26"] +[ext_resource type="Script" uid="uid://dj37rup1ibnn6" path="res://Scripts/Components/FSM/Enemy/Controlled.cs" id="9_uk6hn"] +[ext_resource type="Texture2D" uid="uid://b58oxkofm64o7" path="res://ExternalMaterial/WallTurret/WallTurret_Small.png" id="10_q7y0e"] +[ext_resource type="Script" uid="uid://mb4ugq74a17c" path="res://Scripts/Components/FSM/Enemy/PlayerDetectionModule.cs" id="11_es6qk"] +[ext_resource type="Script" uid="uid://bflvr26h52c55" path="res://Scripts/Components/FSM/Enemy/EnemyStorageModule.cs" id="12_2603f"] +[ext_resource type="Script" uid="uid://cq3hkweplldbr" path="res://Scripts/Components/Actors/GenericDamageReceiver.cs" id="13_bk7yi"] +[ext_resource type="PackedScene" uid="uid://dmumxecckh42r" path="res://Scenes/Activable/BrokenFloorEmitter.tscn" id="14_oisk5"] +[ext_resource type="Script" uid="uid://cqwvssstkrdmw" path="res://Scripts/Components/Actors/ActorResourceProvider.cs" id="15_wa21v"] +[ext_resource type="Script" uid="uid://ik7s65de723k" path="res://Scripts/Components/FSM/Enemy/NavigationMovementModule.cs" id="16_m83ka"] +[ext_resource type="PackedScene" uid="uid://cj63k0dmk7tl1" path="res://Scenes/Weapons/enemy_weapon_base.tscn" id="17_vm1se"] +[ext_resource type="Resource" uid="uid://csdlihliv4cr8" path="res://Resources/Weapons/EnemyWeapon_simple.tres" id="18_s86e3"] +[ext_resource type="Script" uid="uid://dhsqsajq537qn" path="res://Scripts/Components/FSM/Enemy/EnemyAlarmModule.cs" id="19_3veuh"] +[ext_resource type="Script" uid="uid://bo5sgbv1t8ril" path="res://Scripts/Components/Actors/PlayerAnimationProvider.cs" id="20_sw3pd"] +[ext_resource type="Material" uid="uid://dnvwgyt2tbqmr" path="res://Resources/Materials/Player_Blink_Teleport_Material.tres" id="21_tdg7b"] +[ext_resource type="Script" uid="uid://dncdgq843sj2f" path="res://Scripts/Components/FSM/Enemy/AnimationModule.cs" id="22_whdyq"] +[ext_resource type="Script" uid="uid://bw4t2clyr6lib" path="res://Scripts/Components/FSM/Enemy/EnemyDropsProvider.cs" id="23_n8wpv"] +[ext_resource type="Texture2D" uid="uid://b2v6j7lsyltrc" path="res://Sprites/Actors/CirnoWings.png" id="24_uelh5"] +[ext_resource type="Script" uid="uid://dq338w2lw5phl" path="res://Scripts/Components/Actors/KeyboardInputProvider.cs" id="25_v7gpu"] +[ext_resource type="Script" uid="uid://d208gvthkstvc" path="res://Scripts/Components/Actors/PlayerCrosshairProvider.cs" id="26_fmjk0"] +[ext_resource type="Texture2D" uid="uid://cf2855sd3hqty" path="res://Sprites/Actors/Aiming_Reticule_Small.png" id="27_nyvts"] + +[sub_resource type="CircleShape2D" id="CircleShape2D_pnkma"] + +[sub_resource type="AtlasTexture" id="AtlasTexture_eymbs"] +atlas = ExtResource("10_q7y0e") +region = Rect2(0, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_x4aey"] +atlas = ExtResource("10_q7y0e") +region = Rect2(16, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_kkydi"] +atlas = ExtResource("10_q7y0e") +region = Rect2(32, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_mjnu8"] +atlas = ExtResource("10_q7y0e") +region = Rect2(48, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_yl0md"] +atlas = ExtResource("10_q7y0e") +region = Rect2(64, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_xa3rc"] +atlas = ExtResource("10_q7y0e") +region = Rect2(80, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_itp26"] +atlas = ExtResource("10_q7y0e") +region = Rect2(96, 0, 16, 16) + +[sub_resource type="SpriteFrames" id="SpriteFrames_uk6hn"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_eymbs") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_x4aey") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_kkydi") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_mjnu8") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_yl0md") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_xa3rc") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_itp26") +}], +"loop": true, +"name": &"default", +"speed": 5.0 +}] + +[sub_resource type="CircleShape2D" id="CircleShape2D_5wstg"] +radius = 29.0 + +[sub_resource type="CircleShape2D" id="CircleShape2D_6x22m"] +radius = 5.0 + +[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_poxpj"] +particle_flag_disable_z = true +emission_shape = 2 +emission_sphere_radius = 16.0 +orbit_velocity_min = -1.0 +orbit_velocity_max = 1.098 +gravity = Vector3(0, 0, 0) +color = Color(0.0392157, 0.380392, 1, 1) + +[sub_resource type="AtlasTexture" id="AtlasTexture_urwql"] +atlas = ExtResource("24_uelh5") +region = Rect2(0, 0, 16, 16) + +[sub_resource type="SpriteFrames" id="SpriteFrames_wafqr"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_urwql") +}], +"loop": true, +"name": &"default", +"speed": 5.0 +}] + +[sub_resource type="AtlasTexture" id="AtlasTexture_12erk"] +atlas = ExtResource("27_nyvts") +region = Rect2(0, 0, 16, 16) + +[sub_resource type="SpriteFrames" id="SpriteFrames_biwfl"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_12erk") +}], +"loop": true, +"name": &"default", +"speed": 5.0 +}] + +[node name="WallTurret" type="CharacterBody2D" node_paths=PackedStringArray("EnemyFSM")] +collision_layer = 16 +collision_mask = 33 +script = ExtResource("1_q7y0e") +EnemyFSM = NodePath("StateMachine") +EnemyResource = ExtResource("2_eymbs") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +shape = SubResource("CircleShape2D_pnkma") + +[node name="StateMachine" type="Node2D" parent="."] +script = ExtResource("3_x4aey") + +[node name="Init" type="Node2D" parent="StateMachine" node_paths=PackedStringArray("DamageReceiver", "StorageModule")] +script = ExtResource("4_kkydi") +DamageReceiver = NodePath("../../DamageReceiver") +StorageModule = NodePath("../../Storage") + +[node name="Idle" type="Node2D" parent="StateMachine" node_paths=PackedStringArray("StorageModule", "PlayerDetection", "DamageReceiver", "_moduleNodes")] +script = ExtResource("5_mjnu8") +StorageModule = NodePath("../../Storage") +PlayerDetection = NodePath("../../PlayerDetection") +DamageReceiver = NodePath("../../DamageReceiver") +_moduleNodes = [NodePath("../../AlarmModule"), NodePath("../../AnimationModule")] + +[node name="Alert" type="Node2D" parent="StateMachine" node_paths=PackedStringArray("StorageModule", "PlayerDetection", "DamageReceiver", "NavigationModule", "_moduleNodes")] +script = ExtResource("6_yl0md") +StorageModule = NodePath("../../Storage") +PlayerDetection = NodePath("../../PlayerDetection") +DamageReceiver = NodePath("../../DamageReceiver") +NavigationModule = NodePath("../../NavigationModule") +_moduleNodes = [NodePath("../../AnimationModule")] + +[node name="Shooting" type="Node2D" parent="StateMachine" node_paths=PackedStringArray("StorageModule", "PlayerDetection", "DamageReceiver", "NavigationModule", "EquippedWeapon", "_moduleNodes")] +script = ExtResource("7_xa3rc") +StorageModule = NodePath("../../Storage") +PlayerDetection = NodePath("../../PlayerDetection") +DamageReceiver = NodePath("../../DamageReceiver") +NavigationModule = NodePath("../../NavigationModule") +EquippedWeapon = NodePath("../../EnemyWeapon") +_moduleNodes = [NodePath("../../AnimationModule")] + +[node name="Dead" type="Node2D" parent="StateMachine" node_paths=PackedStringArray("StorageModule", "DropsProvider")] +script = ExtResource("8_itp26") +StorageModule = NodePath("../../Storage") +DropsProvider = NodePath("../../DropsProvider") + +[node name="Controlled" type="Node2D" parent="StateMachine" node_paths=PackedStringArray("StorageModule", "DamageReceiver", "_inputProvider", "CrosshairProvider", "EquippedWeapon", "_moduleNodes")] +script = ExtResource("9_uk6hn") +StorageModule = NodePath("../../Storage") +DamageReceiver = NodePath("../../DamageReceiver") +_inputProvider = NodePath("../../InputProvider") +CrosshairProvider = NodePath("../../CrosshairProvider") +EquippedWeapon = NodePath("../../EnemyWeapon") +_moduleNodes = [NodePath("../../AnimationModule")] + +[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."] +sprite_frames = SubResource("SpriteFrames_uk6hn") +frame = 5 +frame_progress = 0.318811 + +[node name="PlayerDetection" type="Area2D" parent="."] +collision_layer = 0 +collision_mask = 2 +script = ExtResource("11_es6qk") +ObstaclesCollisionMask = 81 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="PlayerDetection"] +shape = SubResource("CircleShape2D_5wstg") + +[node name="Storage" type="Node2D" parent="." node_paths=PackedStringArray("Root")] +script = ExtResource("12_2603f") +Root = NodePath("..") + +[node name="DamageReceiver" type="Area2D" parent="." node_paths=PackedStringArray("HealthProvider")] +collision_layer = 0 +collision_mask = 136 +script = ExtResource("13_bk7yi") +HealthProvider = NodePath("Health") +BulletGroup = 2 +Debris = ExtResource("14_oisk5") +DeleteParentOnDeath = false + +[node name="CollisionShape2D" type="CollisionShape2D" parent="DamageReceiver"] +position = Vector2(0, 3.865) +shape = SubResource("CircleShape2D_6x22m") + +[node name="Health" type="Node2D" parent="DamageReceiver"] +script = ExtResource("15_wa21v") +ResourceName = "Health" + +[node name="NavigationModule" type="Node2D" parent="." node_paths=PackedStringArray("StorageModule")] +script = ExtResource("16_m83ka") +StorageModule = NodePath("../Storage") + +[node name="NavigationAgent2D" type="NavigationAgent2D" parent="NavigationModule"] +target_desired_distance = 8.0 +path_max_distance = 800.0 +path_postprocessing = 1 +avoidance_enabled = true +debug_path_custom_color = Color(1, 0, 0, 1) + +[node name="EnemyWeapon" parent="." instance=ExtResource("17_vm1se")] +WeaponData = ExtResource("18_s86e3") + +[node name="AlarmModule" type="Node2D" parent="." node_paths=PackedStringArray("PlayerDetection")] +script = ExtResource("19_3veuh") +PlayerDetection = NodePath("../PlayerDetection") + +[node name="AnimationProvider" type="Node2D" parent="." node_paths=PackedStringArray("_animatedSprite", "_shieldParticles")] +script = ExtResource("20_sw3pd") +_animatedSprite = NodePath("../AnimatedSprite2D") +_shieldParticles = NodePath("ShieldParticles") +WalkRightAnimationName = &"right" +WalkLeftAnimationName = &"left" +WalkDownAnimationName = &"down" +WalkUpAnimationName = &"up" +BlinkMaterial = ExtResource("21_tdg7b") + +[node name="ShieldParticles" type="GPUParticles2D" parent="AnimationProvider"] +emitting = false +amount = 32 +lifetime = 0.4 +one_shot = true +process_material = SubResource("ParticleProcessMaterial_poxpj") + +[node name="AnimationModule" type="Node2D" parent="." node_paths=PackedStringArray("AnimationProvider", "StorageModule")] +script = ExtResource("22_whdyq") +AnimationProvider = NodePath("../AnimationProvider") +StorageModule = NodePath("../Storage") + +[node name="DropsProvider" type="Node2D" parent="." node_paths=PackedStringArray("StorageModule")] +script = ExtResource("23_n8wpv") +StorageModule = NodePath("../Storage") + +[node name="PossessionWings" type="AnimatedSprite2D" parent="."] +visible = false +sprite_frames = SubResource("SpriteFrames_wafqr") + +[node name="InputProvider" type="Node2D" parent="."] +script = ExtResource("25_v7gpu") + +[node name="CrosshairProvider" type="Node2D" parent="." node_paths=PackedStringArray("AnimatedSprite")] +script = ExtResource("26_fmjk0") +AnimatedSprite = NodePath("Crosshair") +CrosshairDistance = 35.0 + +[node name="Crosshair" type="AnimatedSprite2D" parent="CrosshairProvider"] +sprite_frames = SubResource("SpriteFrames_biwfl") + +[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="area_entered" from="DamageReceiver" to="DamageReceiver" method="_on_damage_hitbox_area_entered"] +[connection signal="velocity_computed" from="NavigationModule/NavigationAgent2D" to="NavigationModule" method="_on_navigation_agent_2d_velocity_computed"] diff --git a/Scenes/Maps/Level3.tscn b/Scenes/Maps/Level3.tscn index 4c56fff5..bbe7164a 100644 --- a/Scenes/Maps/Level3.tscn +++ b/Scenes/Maps/Level3.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=56 format=4 uid="uid://dnpmeebmjgv2t"] +[gd_scene load_steps=57 format=4 uid="uid://dnpmeebmjgv2t"] [ext_resource type="Script" uid="uid://doxmbokehw8ci" path="res://Scripts/GameManager.cs" id="1_0pe42"] [ext_resource type="PackedScene" uid="uid://c4pr2707hbeph" path="res://Scenes/Actors/fsm_player.tscn" id="2_bn5f4"] @@ -52,11 +52,12 @@ [ext_resource type="PackedScene" uid="uid://dqr6myj0yaqvd" path="res://Scenes/Interactable/ScriptableMovementSensorLonger.tscn" id="50_tu8ih"] [ext_resource type="Script" uid="uid://b5fesrd4lv8t1" path="res://Scripts/Resources/Events/EventResource.cs" id="51_rasxb"] [ext_resource type="Script" uid="uid://c8tx1gh0lxt0t" path="res://Scripts/Resources/Events/AlarmEnableEvent.cs" id="52_udf20"] +[ext_resource type="PackedScene" uid="uid://8ab7omgqeodu" path="res://Scenes/Actors/Wall_Turret.tscn" id="53_rasxb"] [sub_resource type="Resource" id="Resource_6wo78"] script = ExtResource("4_w0rax") EggIndex = 0 -StartingEquipment = [] +StartingEquipment = Array[ExtResource("3_w0rax")]([]) [sub_resource type="RectangleShape2D" id="RectangleShape2D_tvyok"] size = Vector2(52, 64) @@ -397,3 +398,6 @@ autoplay = true [node name="MovementSensorLonger" parent="." instance=ExtResource("50_tu8ih")] position = Vector2(400, 368) Events = Array[ExtResource("51_rasxb")]([SubResource("Resource_wy0ue")]) + +[node name="FairyFsm" parent="." instance=ExtResource("53_rasxb")] +position = Vector2(603, 334) diff --git a/Scripts/Components/FSM/IFSMStorage.cs.uid b/Scripts/Components/FSM/IFSMStorage.cs.uid new file mode 100644 index 00000000..4278e328 --- /dev/null +++ b/Scripts/Components/FSM/IFSMStorage.cs.uid @@ -0,0 +1 @@ +uid://brwr5814emke0