diff --git a/Scenes/Actors/Fairy_SpecialForce_FSM.tscn b/Scenes/Actors/Fairy_SpecialForce_FSM.tscn new file mode 100644 index 00000000..edb680e2 --- /dev/null +++ b/Scenes/Actors/Fairy_SpecialForce_FSM.tscn @@ -0,0 +1,386 @@ +[gd_scene load_steps=52 format=3 uid="uid://dth038hcu6v1i"] + +[ext_resource type="Script" uid="uid://bi2edpdosngll" path="res://Scripts/Components/FSM/Enemy/EnemyFSMProxy.cs" id="1_8dyt7"] +[ext_resource type="Resource" uid="uid://qbo6avc7x64b" path="res://Resources/Enemies/Fairy_Guard.tres" id="2_b4nu6"] +[ext_resource type="Script" uid="uid://dn6dbog1s2818" path="res://Scripts/Components/FSM/Enemy/EnemyStateMachine.cs" id="3_gk7cq"] +[ext_resource type="Script" uid="uid://rrelumir3g6n" path="res://Scripts/Components/FSM/Enemy/Init.cs" id="4_sjn6t"] +[ext_resource type="Script" uid="uid://bjrh5q24nuoec" path="res://Scripts/Components/FSM/Enemy/Idle.cs" id="5_gwqv3"] +[ext_resource type="Script" uid="uid://dbmc3klko5x18" path="res://Scripts/Components/FSM/Enemy/Alert.cs" id="6_uuv46"] +[ext_resource type="Script" uid="uid://7mig30eneu8x" path="res://Scripts/Components/FSM/Enemy/Shooting.cs" id="7_daulx"] +[ext_resource type="Script" uid="uid://4hwtlc1ftjsc" path="res://Scripts/Components/FSM/Enemy/Dead.cs" id="8_rt4x1"] +[ext_resource type="Script" uid="uid://dj37rup1ibnn6" path="res://Scripts/Components/FSM/Enemy/Controlled.cs" id="9_cwa6s"] +[ext_resource type="Texture2D" uid="uid://xhwfgbv0fjbr" path="res://Sprites/Actors/FairyGuard.png" id="10_b4nu6"] +[ext_resource type="Script" uid="uid://mb4ugq74a17c" path="res://Scripts/Components/FSM/Enemy/PlayerDetectionModule.cs" id="11_2d0if"] +[ext_resource type="Texture2D" uid="uid://bklm5bna6lvh1" path="res://Sprites/Actors/FairySpecialForce.png" id="11_gk7cq"] +[ext_resource type="Script" uid="uid://bflvr26h52c55" path="res://Scripts/Components/FSM/Enemy/EnemyStorageModule.cs" id="12_jhqgi"] +[ext_resource type="Script" uid="uid://cq3hkweplldbr" path="res://Scripts/Components/Actors/GenericDamageReceiver.cs" id="13_yseh8"] +[ext_resource type="PackedScene" uid="uid://cm564ue740cpx" path="res://Scenes/Actors/DeadFairyGuard.tscn" id="14_m1qoh"] +[ext_resource type="Script" uid="uid://cqwvssstkrdmw" path="res://Scripts/Components/Actors/ActorResourceProvider.cs" id="15_bnqfp"] +[ext_resource type="Script" uid="uid://ik7s65de723k" path="res://Scripts/Components/FSM/Enemy/NavigationMovementModule.cs" id="16_8c6kq"] +[ext_resource type="PackedScene" uid="uid://cj63k0dmk7tl1" path="res://Scenes/Weapons/enemy_weapon_base.tscn" id="17_hf8tb"] +[ext_resource type="Resource" uid="uid://csdlihliv4cr8" path="res://Resources/Weapons/EnemyWeapon_simple.tres" id="18_d4nha"] +[ext_resource type="Script" uid="uid://dhsqsajq537qn" path="res://Scripts/Components/FSM/Enemy/EnemyAlarmModule.cs" id="19_ty8wq"] +[ext_resource type="Script" uid="uid://bo5sgbv1t8ril" path="res://Scripts/Components/Actors/PlayerAnimationProvider.cs" id="20_qdl0h"] +[ext_resource type="Material" uid="uid://dnvwgyt2tbqmr" path="res://Resources/Materials/Player_Blink_Teleport_Material.tres" id="21_kl61b"] +[ext_resource type="Script" uid="uid://dncdgq843sj2f" path="res://Scripts/Components/FSM/Enemy/AnimationModule.cs" id="22_uxv3s"] +[ext_resource type="Script" uid="uid://bw4t2clyr6lib" path="res://Scripts/Components/FSM/Enemy/EnemyDropsProvider.cs" id="23_f8h5e"] +[ext_resource type="Texture2D" uid="uid://b2v6j7lsyltrc" path="res://Sprites/Actors/CirnoWings.png" id="24_kbb4q"] +[ext_resource type="Script" uid="uid://dq338w2lw5phl" path="res://Scripts/Components/Actors/KeyboardInputProvider.cs" id="25_b42gp"] +[ext_resource type="Script" uid="uid://d208gvthkstvc" path="res://Scripts/Components/Actors/PlayerCrosshairProvider.cs" id="26_dryy3"] +[ext_resource type="Texture2D" uid="uid://cf2855sd3hqty" path="res://Sprites/Actors/Aiming_Reticule_Small.png" id="27_qh7ee"] + +[sub_resource type="CircleShape2D" id="CircleShape2D_pnkma"] + +[sub_resource type="AtlasTexture" id="AtlasTexture_em6qg"] +atlas = ExtResource("10_b4nu6") +region = Rect2(0, 64, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_klwxr"] +atlas = ExtResource("10_b4nu6") +region = Rect2(16, 64, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_sjn6t"] +atlas = ExtResource("11_gk7cq") +region = Rect2(0, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_gwqv3"] +atlas = ExtResource("11_gk7cq") +region = Rect2(16, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_uuv46"] +atlas = ExtResource("11_gk7cq") +region = Rect2(32, 0, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_hfqok"] +atlas = ExtResource("10_b4nu6") +region = Rect2(0, 32, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_47idc"] +atlas = ExtResource("10_b4nu6") +region = Rect2(32, 32, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_gquu4"] +atlas = ExtResource("10_b4nu6") +region = Rect2(16, 32, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_2ftnw"] +atlas = ExtResource("10_b4nu6") +region = Rect2(0, 48, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_o4btr"] +atlas = ExtResource("10_b4nu6") +region = Rect2(16, 48, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ue8y7"] +atlas = ExtResource("10_b4nu6") +region = Rect2(32, 48, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_n8dp2"] +atlas = ExtResource("10_b4nu6") +region = Rect2(0, 16, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_6p57w"] +atlas = ExtResource("10_b4nu6") +region = Rect2(16, 16, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_gpakj"] +atlas = ExtResource("10_b4nu6") +region = Rect2(32, 16, 16, 16) + +[sub_resource type="SpriteFrames" id="SpriteFrames_daulx"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_em6qg") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_klwxr") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_em6qg") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_em6qg") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_em6qg") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_em6qg") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_em6qg") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_em6qg") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_em6qg") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_em6qg") +}], +"loop": true, +"name": &"dead", +"speed": 5.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_sjn6t") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_gwqv3") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_uuv46") +}], +"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_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_kbb4q") +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_qh7ee") +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="FairyGuardFsm" type="CharacterBody2D" node_paths=PackedStringArray("EnemyFSM")] +collision_layer = 16 +collision_mask = 33 +script = ExtResource("1_8dyt7") +EnemyFSM = NodePath("StateMachine") +EnemyResource = ExtResource("2_b4nu6") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +visible = false +shape = SubResource("CircleShape2D_pnkma") + +[node name="StateMachine" type="Node2D" parent="."] +script = ExtResource("3_gk7cq") + +[node name="Init" type="Node2D" parent="StateMachine" node_paths=PackedStringArray("DamageReceiver", "StorageModule")] +script = ExtResource("4_sjn6t") +DamageReceiver = NodePath("../../DamageReceiver") +StorageModule = NodePath("../../Storage") + +[node name="Idle" type="Node2D" parent="StateMachine" node_paths=PackedStringArray("StorageModule", "PlayerDetection", "DamageReceiver", "_moduleNodes")] +script = ExtResource("5_gwqv3") +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_uuv46") +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_daulx") +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_rt4x1") +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_cwa6s") +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_daulx") +animation = &"down" + +[node name="PlayerDetection" type="Area2D" parent="."] +visible = false +collision_layer = 0 +collision_mask = 2 +script = ExtResource("11_2d0if") +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_jhqgi") +Root = NodePath("..") + +[node name="DamageReceiver" type="Area2D" parent="." node_paths=PackedStringArray("HealthProvider")] +visible = false +collision_layer = 64 +collision_mask = 136 +script = ExtResource("13_yseh8") +HealthProvider = NodePath("Health") +BulletGroup = 2 +Debris = ExtResource("14_m1qoh") +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_bnqfp") +ResourceName = "Health" + +[node name="NavigationModule" type="Node2D" parent="." node_paths=PackedStringArray("StorageModule")] +script = ExtResource("16_8c6kq") +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_enabled = true +debug_path_custom_color = Color(1, 0, 0, 1) + +[node name="EnemyWeapon" parent="." instance=ExtResource("17_hf8tb")] +WeaponData = ExtResource("18_d4nha") + +[node name="AlarmModule" type="Node2D" parent="." node_paths=PackedStringArray("PlayerDetection")] +script = ExtResource("19_ty8wq") +PlayerDetection = NodePath("../PlayerDetection") + +[node name="AnimationProvider" type="Node2D" parent="." node_paths=PackedStringArray("_animatedSprite", "_shieldParticles")] +script = ExtResource("20_qdl0h") +_animatedSprite = NodePath("../AnimatedSprite2D") +_shieldParticles = NodePath("ShieldParticles") +WalkRightAnimationName = &"right" +WalkLeftAnimationName = &"left" +WalkDownAnimationName = &"down" +WalkUpAnimationName = &"up" +BlinkMaterial = ExtResource("21_kl61b") + +[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_uxv3s") +AnimationProvider = NodePath("../AnimationProvider") +StorageModule = NodePath("../Storage") + +[node name="DropsProvider" type="Node2D" parent="." node_paths=PackedStringArray("StorageModule")] +script = ExtResource("23_f8h5e") +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_b42gp") + +[node name="CrosshairProvider" type="Node2D" parent="." node_paths=PackedStringArray("AnimatedSprite")] +script = ExtResource("26_dryy3") +AnimatedSprite = NodePath("Crosshair") +CrosshairDistance = 35.0 + +[node name="Crosshair" type="AnimatedSprite2D" parent="CrosshairProvider"] +visible = false +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/PlayerFSMTest.tscn b/Scenes/Maps/PlayerFSMTest.tscn index 93d35db1..620b8c19 100644 --- a/Scenes/Maps/PlayerFSMTest.tscn +++ b/Scenes/Maps/PlayerFSMTest.tscn @@ -56,7 +56,6 @@ [ext_resource type="Script" uid="uid://bngko08ho85p6" path="res://Scripts/Resources/BulletScript.cs" id="39_83jc5"] [ext_resource type="Resource" uid="uid://dqnvesdj0dk3v" path="res://Resources/Bullets/simple_enemy_bullet.tres" id="39_b0wyy"] [ext_resource type="Script" uid="uid://c0ndqalsc4jve" path="res://Scripts/AttackPatterns/SpiralPattern.cs" id="40_o56je"] -[ext_resource type="Script" uid="uid://b5s5mjuk1rng5" path="res://Scripts/Resources/TimeModifier.cs" id="43_8n581"] [ext_resource type="Script" uid="uid://c6467d6yx50qh" path="res://Scripts/Components/BulletSpawner.cs" id="43_b8ffn"] [ext_resource type="PackedScene" uid="uid://b7gkxlll3b1eg" path="res://Scenes/Activable/FloorEmitter.tscn" id="44_b8ffn"] [ext_resource type="Resource" uid="uid://cmra7n6so1x4u" path="res://Resources/BulletScripts/Basic_Enemy_Emitter_Spiral_Bullets.tres" id="45_4mkc6"] @@ -72,11 +71,12 @@ [ext_resource type="PackedScene" uid="uid://ey71mxa5ocpn" path="res://Scenes/Items/Shield_Extend_Pickup.tscn" id="60_bjd5y"] [ext_resource type="PackedScene" uid="uid://d3hds3dbosfcm" path="res://Scenes/Items/PhysicsDropWrapper.tscn" id="62_5glx6"] [ext_resource type="PackedScene" uid="uid://d360rx247qywn" path="res://3D/3DTest.tscn" id="68_8n581"] +[ext_resource type="PackedScene" uid="uid://dth038hcu6v1i" path="res://Scenes/Actors/Fairy_SpecialForce_FSM.tscn" id="73_nadrw"] [sub_resource type="Resource" id="Resource_6wo78"] script = ExtResource("4_u1i8n") EggIndex = 0 -StartingEquipment = Array[ExtResource("5_u1i8n")]([]) +StartingEquipment = [] [sub_resource type="RectangleShape2D" id="RectangleShape2D_rff8l"] size = Vector2(30, 52.5) @@ -130,7 +130,7 @@ DamageType = 0 OverrideControllable = false Controllable = false OverrideCreationModifier = false -TimeModifiers = Array[ExtResource("43_8n581")]([]) +TimeModifiers = [] WaitForCompletion = true metadata/_custom_type_script = "uid://c0ndqalsc4jve" @@ -158,16 +158,18 @@ DamageType = 0 OverrideControllable = false Controllable = false OverrideCreationModifier = false -TimeModifiers = Array[ExtResource("43_8n581")]([]) +TimeModifiers = [] WaitForCompletion = true metadata/_custom_type_script = "uid://c0ndqalsc4jve" -[sub_resource type="Resource" id="Resource_nadrw"] +[sub_resource type="Resource" id="Resource_8qe0x"] resource_local_to_scene = true script = ExtResource("39_83jc5") Patterns = Array[Object]([SubResource("Resource_kuo18")]) metadata/_custom_type_script = "uid://bngko08ho85p6" +[sub_resource type="CircleShape2D" id="CircleShape2D_mpb62"] + [sub_resource type="Resource" id="Resource_8n581"] script = ExtResource("52_q2wmj") ActivationType = 2 @@ -308,8 +310,6 @@ GTweenEasing = 0 WaitForCompletion = true metadata/_custom_type_script = "uid://dkihoo85jfec5" -[sub_resource type="CircleShape2D" id="CircleShape2D_mpb62"] - [node name="GameScene" type="Node2D"] process_mode = 3 script = ExtResource("1_c3v4x") @@ -384,7 +384,7 @@ scale = Vector2(0.66, 2.04) [node name="FairyFsm" parent="Tilemaps/AcidHitboxes" node_paths=PackedStringArray("DefeatScript") instance=ExtResource("12_64bae")] position = Vector2(776, -56) -ExtraLoot = Array[ExtResource("13_b3y78")]([SubResource("Resource_w8nwr"), SubResource("Resource_awjkl")]) +ExtraLoot = [SubResource("Resource_w8nwr"), SubResource("Resource_awjkl")] DefeatScript = NodePath("../../Actors/HorizontalForceField2") ActivationType = 2 @@ -555,12 +555,33 @@ InvertSignal = true [node name="FloorEmitter2" parent="Tilemaps/Actors" instance=ExtResource("44_b8ffn")] position = Vector2(601, 147) -Script = SubResource("Resource_nadrw") +Script = SubResource("Resource_8qe0x") InvertSignal = true [node name="Camera" parent="Tilemaps/Actors" instance=ExtResource("48_r562v")] position = Vector2(616, -88) +[node name="Nodetest" type="Node2D" parent="Tilemaps/Actors"] +position = Vector2(157.312, 54.1842) + +[node name="Body" type="CharacterBody2D" parent="Tilemaps/Actors/Nodetest"] + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Tilemaps/Actors/Nodetest/Body"] +shape = SubResource("CircleShape2D_mpb62") + +[node name="FSM" type="Node2D" parent="Tilemaps/Actors/Nodetest/Body"] +script = ExtResource("34_2vu2h") + +[node name="Init" type="Node2D" parent="Tilemaps/Actors/Nodetest/Body/FSM" node_paths=PackedStringArray("_moduleNodes")] +script = ExtResource("35_mpb62") +_moduleNodes = [NodePath("../../TestModule")] + +[node name="TestModule" type="Node2D" parent="Tilemaps/Actors/Nodetest/Body"] +script = ExtResource("36_4rfvg") + +[node name="FairyGuardFsm7" parent="Tilemaps/Actors" instance=ExtResource("73_nadrw")] +position = Vector2(720, -8) + [node name="ControlPad4" parent="Tilemaps/Actors" node_paths=PackedStringArray("Targets") instance=ExtResource("20_0knpf")] position = Vector2(616, -8) Targets = [NodePath("Script")] @@ -671,20 +692,3 @@ script = ExtResource("13_8fnge") [node name="AudioStreamPlayer2D" parent="." instance=ExtResource("14_q7rh4")] process_mode = 3 autoplay = true - -[node name="Nodetest" type="Node2D" parent="."] - -[node name="Body" type="CharacterBody2D" parent="Nodetest"] - -[node name="CollisionShape2D" type="CollisionShape2D" parent="Nodetest/Body"] -shape = SubResource("CircleShape2D_mpb62") - -[node name="FSM" type="Node2D" parent="Nodetest/Body"] -script = ExtResource("34_2vu2h") - -[node name="Init" type="Node2D" parent="Nodetest/Body/FSM" node_paths=PackedStringArray("_moduleNodes")] -script = ExtResource("35_mpb62") -_moduleNodes = [NodePath("../../TestModule")] - -[node name="TestModule" type="Node2D" parent="Nodetest/Body"] -script = ExtResource("36_4rfvg") diff --git a/Scenes/test.tscn b/Scenes/test.tscn index 5a0b4f6c..47a1243e 100644 --- a/Scenes/test.tscn +++ b/Scenes/test.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=143 format=4 uid="uid://bv451a8wgty4u"] +[gd_scene load_steps=142 format=4 uid="uid://bv451a8wgty4u"] [ext_resource type="Script" uid="uid://doxmbokehw8ci" path="res://Scripts/GameManager.cs" id="1_8tmoj"] [ext_resource type="PackedScene" uid="uid://c4pr2707hbeph" path="res://Scenes/Actors/fsm_player.tscn" id="2_ksslq"] @@ -104,7 +104,6 @@ [ext_resource type="Resource" uid="uid://bj331rcsq65es" path="res://Resources/Bullets/EmitterTestBullet.tres" id="95_f37sa"] [ext_resource type="Resource" uid="uid://dodwpect0ldjf" path="res://Resources/Items/Heart_Pickup.tres" id="95_srv0g"] [ext_resource type="PackedScene" uid="uid://nupd3pg74vua" path="res://Scenes/Activable/ScriptableInvisibleEmitter.tscn" id="96_ygp23"] -[ext_resource type="Script" uid="uid://b5s5mjuk1rng5" path="res://Scripts/Resources/TimeModifier.cs" id="97_0bqta"] [ext_resource type="Script" uid="uid://c0ndqalsc4jve" path="res://Scripts/AttackPatterns/SpiralPattern.cs" id="98_gvbi8"] [ext_resource type="Script" uid="uid://bngko08ho85p6" path="res://Scripts/Resources/BulletScript.cs" id="99_j6vrf"] [ext_resource type="PackedScene" uid="uid://1yxieu8ekvkm" path="res://Scenes/Items/Heart_Extend_Pickup.tscn" id="99_xwjvv"] @@ -270,7 +269,7 @@ DamageType = 0 OverrideControllable = false Controllable = false OverrideCreationModifier = false -TimeModifiers = Array[ExtResource("97_0bqta")]([]) +TimeModifiers = [] WaitForCompletion = true metadata/_custom_type_script = "uid://c0ndqalsc4jve" diff --git a/Sprites/Actors/FairySpecialForce.aseprite b/Sprites/Actors/FairySpecialForce.aseprite new file mode 100644 index 00000000..e79fcbc8 --- /dev/null +++ b/Sprites/Actors/FairySpecialForce.aseprite @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f7e6b1c9ee25d09c0655aac2dc7317c320b237c705682c1a5c9ab32f1473d43 +size 4767 diff --git a/Sprites/Actors/FairySpecialForce.png b/Sprites/Actors/FairySpecialForce.png new file mode 100644 index 00000000..e13ac3e6 --- /dev/null +++ b/Sprites/Actors/FairySpecialForce.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3842ef836ba7b90dff366be8302a139a40d6cb4391a320221f3825e1576a7b23 +size 1454 diff --git a/Sprites/Actors/FairySpecialForce.png.import b/Sprites/Actors/FairySpecialForce.png.import new file mode 100644 index 00000000..6030f972 --- /dev/null +++ b/Sprites/Actors/FairySpecialForce.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bklm5bna6lvh1" +path="res://.godot/imported/FairySpecialForce.png-b6e3b78e46e2ccdf21e766ddf0211110.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Sprites/Actors/FairySpecialForce.png" +dest_files=["res://.godot/imported/FairySpecialForce.png-b6e3b78e46e2ccdf21e766ddf0211110.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