From da5039176b492862256561b744c4b73ca54bc6d2 Mon Sep 17 00:00:00 2001 From: Marco Date: Wed, 12 Mar 2025 13:57:25 +0100 Subject: [PATCH] Dead fairy guard --- Resources/Sprites/FairyGuard.tres | 45 ++++++++++++++++++- Scenes/Actors/DeadFairyGuard.tscn | 8 ++++ Scenes/Actors/FairyGuard_New.tscn | 6 ++- Scenes/Maps/Level2.tscn | 9 ++-- Scenes/Maps/PlayerFSMTest.tscn | 2 +- Scenes/test.tscn | 23 +++++----- .../Actors/DeathAnimationHandler.cs | 2 +- Scripts/Components/FSM/Player/Drowning.cs | 4 +- Sprites/Actors/FairyGuard.aseprite | 4 +- Sprites/Actors/FairyGuard.png | 4 +- 10 files changed, 80 insertions(+), 27 deletions(-) create mode 100644 Scenes/Actors/DeadFairyGuard.tscn diff --git a/Resources/Sprites/FairyGuard.tres b/Resources/Sprites/FairyGuard.tres index 5cdef80c..0c0134a6 100644 --- a/Resources/Sprites/FairyGuard.tres +++ b/Resources/Sprites/FairyGuard.tres @@ -1,7 +1,15 @@ -[gd_resource type="SpriteFrames" load_steps=14 format=3 uid="uid://ch2ll1on8im2p"] +[gd_resource type="SpriteFrames" load_steps=16 format=3 uid="uid://ch2ll1on8im2p"] [ext_resource type="Texture2D" uid="uid://xhwfgbv0fjbr" path="res://Sprites/Actors/FairyGuard.png" id="1_fb3du"] +[sub_resource type="AtlasTexture" id="AtlasTexture_em6qg"] +atlas = ExtResource("1_fb3du") +region = Rect2(0, 64, 16, 16) + +[sub_resource type="AtlasTexture" id="AtlasTexture_klwxr"] +atlas = ExtResource("1_fb3du") +region = Rect2(16, 64, 16, 16) + [sub_resource type="AtlasTexture" id="AtlasTexture_42a57"] atlas = ExtResource("1_fb3du") region = Rect2(0, 0, 16, 16) @@ -54,6 +62,41 @@ region = Rect2(32, 16, 16, 16) 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_42a57") }, { "duration": 1.0, diff --git a/Scenes/Actors/DeadFairyGuard.tscn b/Scenes/Actors/DeadFairyGuard.tscn new file mode 100644 index 00000000..35521a98 --- /dev/null +++ b/Scenes/Actors/DeadFairyGuard.tscn @@ -0,0 +1,8 @@ +[gd_scene load_steps=2 format=3 uid="uid://cm564ue740cpx"] + +[ext_resource type="SpriteFrames" uid="uid://ch2ll1on8im2p" path="res://Resources/Sprites/FairyGuard.tres" id="1_p33aj"] + +[node name="DeadFairy" type="AnimatedSprite2D"] +sprite_frames = ExtResource("1_p33aj") +animation = &"dead" +autoplay = "dead" diff --git a/Scenes/Actors/FairyGuard_New.tscn b/Scenes/Actors/FairyGuard_New.tscn index 50c44b28..76dd0250 100644 --- a/Scenes/Actors/FairyGuard_New.tscn +++ b/Scenes/Actors/FairyGuard_New.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=29 format=3 uid="uid://bc054js8ep2b"] +[gd_scene load_steps=30 format=3 uid="uid://bc054js8ep2b"] [ext_resource type="Script" uid="uid://c2mo5hc1qb6kf" path="res://Scripts/Components/Actors/Actor.cs" id="1_ugrra"] [ext_resource type="SpriteFrames" uid="uid://ch2ll1on8im2p" path="res://Resources/Sprites/FairyGuard.tres" id="2_i2plx"] @@ -15,6 +15,7 @@ [ext_resource type="Script" uid="uid://m0ag88kn0c40" path="res://Scripts/Components/Actors/DeathAnimationHandler.cs" id="13_e2vvk"] [ext_resource type="Resource" uid="uid://dk2rbf88a5irh" path="res://Resources/Bullets/Explosion_Harmless.tres" id="14_881we"] [ext_resource type="Script" uid="uid://7g3luecewcp5" path="res://Scripts/Components/Actors/ActorDefeatScriptHandler.cs" id="15_17yce"] +[ext_resource type="PackedScene" uid="uid://cm564ue740cpx" path="res://Scenes/Actors/DeadFairyGuard.tscn" id="15_gsthm"] [ext_resource type="Script" uid="uid://dwbh55rqi0x5e" path="res://Scripts/Components/Actors/EnemyDropModule.cs" id="16_76vwd"] [ext_resource type="Script" uid="uid://cq65aed620ijo" path="res://Scripts/Resources/Loot/LootDrop.cs" id="17_gsthm"] [ext_resource type="Resource" uid="uid://ct1fa2huvy34n" path="res://Resources/Items/Ammo1.tres" id="18_hwppe"] @@ -64,7 +65,7 @@ Health = 2.0 [node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."] sprite_frames = ExtResource("2_i2plx") -animation = &"down" +animation = &"dead" [node name="MovementProvider" type="Node2D" parent="."] script = ExtResource("3_tum7w") @@ -129,6 +130,7 @@ shape = SubResource("CircleShape2D_0tkae") [node name="DeathAnimation" type="Node2D" parent="."] script = ExtResource("13_e2vvk") ExplosionData = ExtResource("14_881we") +DebrisScene = ExtResource("15_gsthm") [node name="DefeatScriptHandler" type="Node2D" parent="."] script = ExtResource("15_17yce") diff --git a/Scenes/Maps/Level2.tscn b/Scenes/Maps/Level2.tscn index 09f9073a..1bb32048 100644 --- a/Scenes/Maps/Level2.tscn +++ b/Scenes/Maps/Level2.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=38 format=4 uid="uid://6a6tjohypmmb"] +[gd_scene load_steps=39 format=4 uid="uid://6a6tjohypmmb"] [ext_resource type="Script" uid="uid://doxmbokehw8ci" path="res://Scripts/GameManager.cs" id="1_t2k72"] [ext_resource type="PackedScene" uid="uid://c4pr2707hbeph" path="res://Scenes/Actors/fsm_player.tscn" id="2_2jsgm"] @@ -16,6 +16,7 @@ [ext_resource type="PackedScene" uid="uid://dkwi1hu1bixoe" path="res://Scenes/HUD/HUD.tscn" id="9_mnq21"] [ext_resource type="Script" uid="uid://bdshph801ac2i" path="res://Scenes/CameraTarget.gd" id="10_4nd4a"] [ext_resource type="Script" uid="uid://cnkipcolyj61w" path="res://Scripts/AlarmManager.cs" id="11_7an4p"] +[ext_resource type="Script" uid="uid://b5fesrd4lv8t1" path="res://Scripts/Resources/Events/EventResource.cs" id="14_hw1so"] [ext_resource type="Script" uid="uid://bwox5lmgiijcs" path="res://Scripts/Resources/Events/ActivateEvent.cs" id="14_s23f3"] [ext_resource type="PackedScene" uid="uid://oi8svqsspcsj" path="res://Scenes/Interactable/ScriptableMovementSensor.tscn" id="16_ehuec"] [ext_resource type="PackedScene" uid="uid://crph24e6e0v0q" path="res://Scenes/Interactable/Control_Pad.tscn" id="16_s23f3"] @@ -60,7 +61,7 @@ PlayerTemplate = ExtResource("2_2jsgm") SpawnMarkers = Dictionary[int, NodePath]({ 0: NodePath("PlayerStartPosition") }) -StartingEquipment = [ExtResource("3_mqt4u")] +StartingEquipment = Array[ExtResource("3_6w05j")]([ExtResource("3_mqt4u")]) MapStartData = SubResource("Resource_6wo78") [node name="Tilemaps" type="Node2D" parent="."] @@ -109,7 +110,7 @@ position = Vector2(196, 296) [node name="MotionSensor" parent="Tilemaps/Actors" instance=ExtResource("16_ehuec")] position = Vector2(254, 296) -Events = [SubResource("Resource_s23f3")] +Events = Array[ExtResource("14_hw1so")]([SubResource("Resource_s23f3")]) [node name="ControlPad" parent="Tilemaps/Actors" node_paths=PackedStringArray("Targets") instance=ExtResource("16_s23f3")] position = Vector2(205, 292) @@ -130,7 +131,7 @@ position = Vector2(504, 468) [node name="MovementSensorLonger" parent="Tilemaps/Actors" instance=ExtResource("20_fdi4d")] position = Vector2(226, 486) -Events = [SubResource("Resource_qi6uc")] +Events = Array[ExtResource("14_hw1so")]([SubResource("Resource_qi6uc")]) [node name="WallEmitter" parent="Tilemaps/Actors" instance=ExtResource("21_qi6uc")] position = Vector2(264, 482) diff --git a/Scenes/Maps/PlayerFSMTest.tscn b/Scenes/Maps/PlayerFSMTest.tscn index b9e4eb0d..6625981e 100644 --- a/Scenes/Maps/PlayerFSMTest.tscn +++ b/Scenes/Maps/PlayerFSMTest.tscn @@ -211,7 +211,7 @@ position = Vector2(59, 386) [node name="Chest" parent="Tilemaps/Actors" instance=ExtResource("18_v2gcl")] position = Vector2(56, 320) -LootTable = [ExtResource("19_1ajuh"), ExtResource("20_rff8l"), ExtResource("21_cub4j"), ExtResource("22_4gtx8"), ExtResource("3_6314l"), ExtResource("23_1ajuh"), ExtResource("23_1ajuh"), ExtResource("23_1ajuh")] +LootTable = Array[ExtResource("5_u1i8n")]([ExtResource("19_1ajuh"), ExtResource("20_rff8l"), ExtResource("21_cub4j"), ExtResource("22_4gtx8"), ExtResource("3_6314l"), ExtResource("23_1ajuh"), ExtResource("23_1ajuh"), ExtResource("23_1ajuh")]) [node name="Turret360" parent="Tilemaps/Actors" instance=ExtResource("24_rff8l")] position = Vector2(374, 503) diff --git a/Scenes/test.tscn b/Scenes/test.tscn index 33134e9e..e0dc7512 100644 --- a/Scenes/test.tscn +++ b/Scenes/test.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=120 format=4 uid="uid://bv451a8wgty4u"] +[gd_scene load_steps=121 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"] @@ -56,6 +56,7 @@ [ext_resource type="PackedScene" uid="uid://dnbtou2fklyvp" path="res://Scenes/Actors/alarm_sign.tscn" id="36_rd6f6"] [ext_resource type="PackedScene" uid="uid://c8lgk4wnyi1e6" path="res://Scenes/Actors/HealthStation.tscn" id="38_kuhg5"] [ext_resource type="Script" uid="uid://d0a0o50j82eo6" path="res://Scripts/Activables/ScriptableBase.cs" id="42_wigyb"] +[ext_resource type="Script" uid="uid://b5fesrd4lv8t1" path="res://Scripts/Resources/Events/EventResource.cs" id="42_yqnr2"] [ext_resource type="PackedScene" uid="uid://fxvlaidieiv7" path="res://Scenes/Interactable/ScriptableAreaTrigger.tscn" id="43_kf3qc"] [ext_resource type="Script" uid="uid://dkihoo85jfec5" path="res://Scripts/Resources/Events/MovePlayerEvent.cs" id="44_klwgh"] [ext_resource type="PackedScene" uid="uid://dx1urm7nttkqk" path="res://Scenes/Actors/level_teleporter.tscn" id="44_q5xi2"] @@ -198,7 +199,7 @@ ActivationType = 0 Targets = Array[NodePath]([NodePath("../Rumia")]) WaitForCompletion = true -[sub_resource type="Resource" id="Resource_dd2pu"] +[sub_resource type="Resource" id="Resource_gtga7"] resource_local_to_scene = true script = ExtResource("49_0si7g") Target = NodePath(".") @@ -222,7 +223,7 @@ SpawnMarkers = Dictionary[int, NodePath]({ 2: NodePath("Factory Tilemaps/LevelProps/BossDebugTeleporterDestination"), 255: NodePath("Factory Tilemaps/Debug Room/DebugRoomStartPosition") }) -StartingEquipment = [ExtResource("4_swym2"), ExtResource("5_nqier")] +StartingEquipment = Array[ExtResource("6_8tdlb")]([ExtResource("4_swym2"), ExtResource("5_nqier")]) MapStartData = SubResource("Resource_6sau4") metadata/_edit_lock_ = true @@ -523,7 +524,7 @@ Invisible = true metadata/_edit_group_ = true [node name="ScriptableAreaTrigger" parent="Factory Tilemaps/LevelProps/DebugTeleporter" instance=ExtResource("43_kf3qc")] -Events = [SubResource("Resource_usuub")] +Events = Array[ExtResource("42_yqnr2")]([SubResource("Resource_usuub")]) [node name="BlueKeycard2" parent="Factory Tilemaps/LevelProps" instance=ExtResource("35_rblsn")] position = Vector2(-1032, -317) @@ -703,7 +704,7 @@ position = Vector2(-1506, -188) [node name="LevelStartTrigger" parent="Factory Tilemaps/LevelProps" instance=ExtResource("43_kf3qc")] position = Vector2(-781, -160) scale = Vector2(1.455, 1.455) -Events = [SubResource("Resource_5er5x"), SubResource("Resource_b25hy")] +Events = Array[ExtResource("42_yqnr2")]([SubResource("Resource_5er5x"), SubResource("Resource_b25hy")]) [node name="AreaTrigger2" parent="Factory Tilemaps/LevelProps" node_paths=PackedStringArray("Target") instance=ExtResource("28_6au4t")] position = Vector2(-435, -162) @@ -745,7 +746,7 @@ Targets = [NodePath("Script2")] [node name="Script2" type="Node2D" parent="Factory Tilemaps/LevelProps/Computer2"] position = Vector2(120, 25) script = ExtResource("42_wigyb") -Events = [SubResource("Resource_ji7au")] +Events = Array[ExtResource("42_yqnr2")]([SubResource("Resource_ji7au")]) [node name="Computer5" parent="Factory Tilemaps/LevelProps" node_paths=PackedStringArray("Targets") instance=ExtResource("31_243ec")] position = Vector2(-1344, -251) @@ -753,7 +754,7 @@ Targets = [NodePath("Computer5Script")] [node name="Computer5Script" type="Node2D" parent="Factory Tilemaps/LevelProps/Computer5"] script = ExtResource("42_wigyb") -Events = [SubResource("Resource_fasrq"), SubResource("Resource_yot54")] +Events = Array[ExtResource("42_yqnr2")]([SubResource("Resource_fasrq"), SubResource("Resource_yot54")]) [node name="Computer3" parent="Factory Tilemaps/LevelProps" node_paths=PackedStringArray("Target") instance=ExtResource("31_243ec")] position = Vector2(-612.57, -358.528) @@ -761,7 +762,7 @@ Target = NodePath("Script") [node name="Script" type="Node2D" parent="Factory Tilemaps/LevelProps/Computer3"] script = ExtResource("42_wigyb") -Events = [SubResource("Resource_o2kpk")] +Events = Array[ExtResource("42_yqnr2")]([SubResource("Resource_o2kpk")]) [node name="Computer4" parent="Factory Tilemaps/LevelProps" node_paths=PackedStringArray("Target") instance=ExtResource("31_243ec")] position = Vector2(-791, -505) @@ -769,7 +770,7 @@ Target = NodePath("Node2D") [node name="Node2D" type="Node2D" parent="Factory Tilemaps/LevelProps/Computer4"] script = ExtResource("42_wigyb") -Events = [SubResource("Resource_s3g2w")] +Events = Array[ExtResource("42_yqnr2")]([SubResource("Resource_s3g2w")]) [node name="Label" type="Label" parent="Factory Tilemaps/LevelProps/Computer4"] offset_left = -5.0 @@ -797,11 +798,11 @@ position = Vector2(-792, -407) [node name="BossBattleEndScript" type="Node2D" parent="Factory Tilemaps/LevelProps"] position = Vector2(-1628.53, -477.628) script = ExtResource("42_wigyb") -Events = [SubResource("Resource_068l7"), SubResource("Resource_l3nop")] +Events = Array[ExtResource("42_yqnr2")]([SubResource("Resource_068l7"), SubResource("Resource_l3nop")]) [node name="BossBattleStartScript" parent="Factory Tilemaps/LevelProps" instance=ExtResource("43_kf3qc")] position = Vector2(-1487, -396) -Events = [SubResource("Resource_4f4id"), SubResource("Resource_s2o7m"), SubResource("Resource_b1dht"), SubResource("Resource_xrgpy"), SubResource("Resource_dd2pu")] +Events = Array[ExtResource("42_yqnr2")]([SubResource("Resource_4f4id"), SubResource("Resource_s2o7m"), SubResource("Resource_b1dht"), SubResource("Resource_xrgpy"), SubResource("Resource_gtga7")]) [node name="Enemy13" parent="Factory Tilemaps/LevelProps" instance=ExtResource("47_u1ve6")] position = Vector2(-1657, -788) diff --git a/Scripts/Components/Actors/DeathAnimationHandler.cs b/Scripts/Components/Actors/DeathAnimationHandler.cs index 8078ee8d..ee37a904 100644 --- a/Scripts/Components/Actors/DeathAnimationHandler.cs +++ b/Scripts/Components/Actors/DeathAnimationHandler.cs @@ -60,6 +60,6 @@ public partial class DeathAnimationHandler : ActorModule private void CreateDebris() { if (DebrisScene == null) return; - _actor.CreateSibling(DebrisScene); + _actor.CreateSibling(DebrisScene); } } \ No newline at end of file diff --git a/Scripts/Components/FSM/Player/Drowning.cs b/Scripts/Components/FSM/Player/Drowning.cs index 68ea4920..75559c76 100644 --- a/Scripts/Components/FSM/Player/Drowning.cs +++ b/Scripts/Components/FSM/Player/Drowning.cs @@ -13,10 +13,8 @@ public partial class Drowning : PlayerStateBase { _animationProvider.PlayDrowningAnimation(); + // Wait for animation to be over and switch to death _animationProvider.OnAnimationEnded += AnimationProviderOnOnAnimationEnded; - // Wait for animation over and switch to death - - } private void AnimationProviderOnOnAnimationEnded(StringName animationName) diff --git a/Sprites/Actors/FairyGuard.aseprite b/Sprites/Actors/FairyGuard.aseprite index 4e4709bc..5d922df9 100644 --- a/Sprites/Actors/FairyGuard.aseprite +++ b/Sprites/Actors/FairyGuard.aseprite @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a5f18cd185fb5c51c034beb644504d8ca2a6e4644e6c86c8e51f9bef2331dfce -size 3977 +oid sha256:81c6642f6ce317c99216795a4359e2d8bbe40e62b3ce74997af4a3974364f335 +size 4490 diff --git a/Sprites/Actors/FairyGuard.png b/Sprites/Actors/FairyGuard.png index a982b7bb..33c16555 100644 --- a/Sprites/Actors/FairyGuard.png +++ b/Sprites/Actors/FairyGuard.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:74ba9bcda97b3c98a51d3ddd07671ef38db19598034a991c1e3611bacfebe2e1 -size 1046 +oid sha256:5606c315e005183b03bc68990d7b9708d465d4bd000e6fd1b6719c4e2e61ab8f +size 1253