Added demon enemy prototype

- Created Demon enemy scene with animations
- Implemented demon AI, detection, pursuit, attack, and damage systems
- Adjusted enemy collision layers to allow flying enemies to overlap the player
- Added and tested combat encounters in Demon Race and Graveyard memory levels
This commit is contained in:
doctorbatmanwho-creator committed 2026-06-15 19:00:32 -04:00
1 parent 0f7889adfb
commit f0d3931c37
24 files changed
+669 -23

No files matched your search

+1 -1
View File
@@ -12,7 +12,7 @@
[ext_resource type="Texture2D" uid="uid://qrp76dhq6c5j" path="res://Assets/Graphics/Terrains/Items/window.png" id="8_85qyi"]
[ext_resource type="Texture2D" uid="uid://cvxul7b7lxxmq" path="res://Assets/Graphics/Terrains/Items/studytable.png" id="9_iivbl"]
[ext_resource type="PackedScene" uid="uid://b5d8himq5sttt" path="res://Scenes/trigger.tscn" id="9_t1ymx"]
[ext_resource type="PackedScene" uid="uid://dr1mp5x0cmbhw" path="res://Scenes/coin.tscn" id="10_0cp8e"]
[ext_resource type="PackedScene" uid="uid://dr1mp5x0cmbhw" path="res://Scenes/Items/coin.tscn" id="10_0cp8e"]
[ext_resource type="PackedScene" uid="uid://k42k25w6fsbo" path="res://Scenes/ui.tscn" id="13_rfjv2"]
[ext_resource type="Script" uid="uid://cbp0lclhmd1db" path="res://Scripts/stair.gd" id="14_7nbq1"]
[ext_resource type="Texture2D" uid="uid://qt1rsjh2pyye" path="res://Assets/Graphics/Terrains/Items/circdesk.png" id="17_7nbq1"]
+12 -6
View File
@@ -1,4 +1,4 @@
[gd_scene load_steps=32 format=4 uid="uid://bcray1583u4e6"]
[gd_scene load_steps=33 format=4 uid="uid://bcray1583u4e6"]
[ext_resource type="Texture2D" uid="uid://deprjxf7mfx2j" path="res://Assets/Graphics/Terrains/Background/Demon Woods/parallax-demon-woods-bg.png" id="1_aiupx"]
[ext_resource type="Texture2D" uid="uid://rqo2a3nuk173" path="res://Assets/Graphics/Terrains/Background/Demon Woods/parallax-demon-woods-far-trees.png" id="2_v8qg6"]
@@ -6,7 +6,7 @@
[ext_resource type="Texture2D" uid="uid://c6svcdw8rw64o" path="res://Assets/Graphics/Terrains/Background/Demon Woods/parallax-demon-woods-close-trees.png" id="4_ai43x"]
[ext_resource type="Texture2D" uid="uid://dg3nhen8cfl3n" path="res://Assets/Graphics/Terrains/Tileset/smaller night terrain red.png" id="5_v8qg6"]
[ext_resource type="PackedScene" uid="uid://b5d8himq5sttt" path="res://Scenes/trigger.tscn" id="9_osu04"]
[ext_resource type="PackedScene" uid="uid://dr1mp5x0cmbhw" path="res://Scenes/coin.tscn" id="10_y4887"]
[ext_resource type="PackedScene" uid="uid://dr1mp5x0cmbhw" path="res://Scenes/Items/coin.tscn" id="10_y4887"]
[ext_resource type="PackedScene" uid="uid://k42k25w6fsbo" path="res://Scenes/ui.tscn" id="11_otmkx"]
[ext_resource type="Texture2D" uid="uid://dx7kxlon71y1p" path="res://Assets/Graphics/Terrains/Items/Kids/LibraryWindow.png" id="14_ai43x"]
[ext_resource type="Texture2D" uid="uid://bgdq31arm2m6u" path="res://Assets/Graphics/Terrains/Items/Kids/book1.png" id="16_6fou7"]
@@ -23,6 +23,7 @@
[ext_resource type="Texture2D" uid="uid://df55khvmq7ud2" path="res://Assets/Graphics/Terrains/Items/Kids/bedroom.png" id="24_mrgau"]
[ext_resource type="Texture2D" uid="uid://dawtfoxvia0ln" path="res://Assets/Graphics/Terrains/Items/Kids/doll.png" id="25_fo64u"]
[ext_resource type="Texture2D" uid="uid://c3gnq3kpcgr7w" path="res://Assets/Graphics/Terrains/Items/Kids/blankets.png" id="25_mrgau"]
[ext_resource type="PackedScene" uid="uid://mpbyvdlj8q0v" path="res://Scenes/Characters/Demon.tscn" id="26_bhn1t"]
[ext_resource type="Texture2D" uid="uid://ccivnuoxj4osh" path="res://Assets/Graphics/Terrains/Items/Kids/stuffies.png" id="26_y10ne"]
[ext_resource type="Texture2D" uid="uid://cldc5pnvwspu6" path="res://Assets/Graphics/Terrains/Items/Kids/train.png" id="27_b138e"]
@@ -482,7 +483,7 @@ texture = ExtResource("19_osu04")
[node name="Runn" type="Sprite2D" parent="Decor"]
texture_filter = 1
position = Vector2(157, 146)
position = Vector2(300, 146)
scale = Vector2(0.5, 0.5)
texture = ExtResource("20_y4887")
@@ -525,12 +526,14 @@ scale = Vector2(0.3, 0.3)
texture = ExtResource("25_mrgau")
[node name="Table" type="Sprite2D" parent="Decor"]
z_index = 20
texture_filter = 1
position = Vector2(3400, 200)
scale = Vector2(0.1, 0.1)
texture = ExtResource("23_mrgau")
[node name="Lamp" type="Sprite2D" parent="Decor"]
z_index = 20
texture_filter = 1
position = Vector2(3419, 146)
scale = Vector2(0.2, 0.2)
@@ -558,21 +561,21 @@ texture = ExtResource("27_b138e")
[node name="Book1" type="Sprite2D" parent="Decor"]
texture_filter = 1
position = Vector2(603, 153)
position = Vector2(697, 153.00002)
scale = Vector2(0.2, 0.2)
texture = ExtResource("16_6fou7")
[node name="Book2" type="Sprite2D" parent="Decor"]
z_index = 10
texture_filter = 1
position = Vector2(578, 157)
position = Vector2(671.99994, 157)
scale = Vector2(0.3, 0.3)
texture = ExtResource("17_6aau3")
[node name="Book3" type="Sprite2D" parent="Decor"]
z_index = 20
texture_filter = 1
position = Vector2(548, 167)
position = Vector2(642, 167.00002)
scale = Vector2(0.35, 0.35)
texture = ExtResource("18_osu04")
@@ -588,5 +591,8 @@ texture = ExtResource("14_ai43x")
[node name="UI" parent="CanvasLayer" instance=ExtResource("11_otmkx")]
metadata/_edit_use_anchors_ = true
[node name="Demon" parent="." instance=ExtResource("26_bhn1t")]
position = Vector2(869, 199)
[connection signal="areatrigger" from="Triggers/Area2D2" to="." method="_on_areatrigger"]
[connection signal="areatrigger" from="Triggers/Area2D3" to="." method="_on_areatrigger"]
+57 -11
View File
@@ -7,10 +7,10 @@
[ext_resource type="Texture2D" uid="uid://c4mr5woa76b3y" path="res://Assets/Graphics/Terrains/Background/Graveyard/parallax-rod-hangers.png" id="6_3f4w8"]
[ext_resource type="Texture2D" uid="uid://dg3nhen8cfl3n" path="res://Assets/Graphics/Terrains/Tileset/smaller night terrain red.png" id="6_tpoa3"]
[ext_resource type="Texture2D" uid="uid://b1wqerdo7h6s7" path="res://Assets/Graphics/Terrains/Tileset/night.png" id="7_tpoa3"]
[ext_resource type="PackedScene" uid="uid://dr1mp5x0cmbhw" path="res://Scenes/coin.tscn" id="8_3jtcq"]
[ext_resource type="PackedScene" uid="uid://dr1mp5x0cmbhw" path="res://Scenes/Items/coin.tscn" id="8_3jtcq"]
[ext_resource type="Texture2D" uid="uid://cs8d635bhjsd4" path="res://Assets/Graphics/Terrains/Tileset/smaller night terrain blue.png" id="8_qo1gf"]
[ext_resource type="PackedScene" uid="uid://k42k25w6fsbo" path="res://Scenes/ui.tscn" id="9_dvm4i"]
[ext_resource type="PackedScene" uid="uid://bnvrarj8b5adq" path="res://Scenes/MemoryPiece.tscn" id="10_3jtcq"]
[ext_resource type="PackedScene" uid="uid://bnvrarj8b5adq" path="res://Scenes/Items/MemoryPiece.tscn" id="10_3jtcq"]
[ext_resource type="Texture2D" uid="uid://defq1skb78lvn" path="res://Assets/Graphics/Terrains/Items/Graveyard/backpack.png" id="11_ye1nu"]
[ext_resource type="Texture2D" uid="uid://d34w3kh75t7dq" path="res://Assets/Graphics/Pickups/Memory/MemoryPiece2.png" id="12_kty81"]
[ext_resource type="Texture2D" uid="uid://bqeigjeet88t8" path="res://Assets/Graphics/Terrains/Items/Graveyard/laundry.png" id="12_lwbjw"]
@@ -20,13 +20,13 @@
[ext_resource type="Texture2D" uid="uid://bxldigevoox35" path="res://Assets/Graphics/Pickups/Memory/MemoryPiece5.png" id="15_8awmo"]
[ext_resource type="Texture2D" uid="uid://cvvmc62m0uy3e" path="res://Assets/Graphics/Pickups/Memory/MemoryPiece1.png" id="16_3jtcq"]
[ext_resource type="Texture2D" uid="uid://b1abq20dk3w86" path="res://Assets/Graphics/Terrains/Items/Graveyard/small dresser.png" id="16_dvm4i"]
[ext_resource type="PackedScene" uid="uid://dyxbksdpg14iw" path="res://Scenes/Wardrobe.tscn" id="17_dvm4i"]
[ext_resource type="PackedScene" uid="uid://dyxbksdpg14iw" path="res://Scenes/Items/Wardrobe.tscn" id="17_dvm4i"]
[ext_resource type="Texture2D" uid="uid://bkfxc66elss34" path="res://Assets/Graphics/Terrains/Background/Memories/Memory3.png" id="22_8awmo"]
[ext_resource type="Texture2D" uid="uid://b2vsf70jov55u" path="res://Assets/Graphics/Terrains/Background/Memories/Memory1.png" id="23_8awmo"]
[ext_resource type="Texture2D" uid="uid://b0g2yq4wolooy" path="res://Assets/Graphics/Terrains/Background/Memories/Memory2.png" id="23_8qp07"]
[ext_resource type="Texture2D" uid="uid://d3u7nur0ua1vb" path="res://Assets/Graphics/Terrains/Background/Memories/Memory5.png" id="25_6kan1"]
[ext_resource type="Texture2D" uid="uid://cwlxblkouwtxr" path="res://Assets/Graphics/Terrains/Background/Memories/Memory4.png" id="25_8elfy"]
[ext_resource type="PackedScene" uid="uid://0lyd0y14s0w4" path="res://Scenes/Skeleton.tscn" id="26_pyeu7"]
[ext_resource type="PackedScene" uid="uid://0lyd0y14s0w4" path="res://Scenes/Characters/Skeleton.tscn" id="26_pyeu7"]
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_3jtcq"]
texture = ExtResource("7_tpoa3")
@@ -873,6 +873,59 @@ position = Vector2(1109, 386)
[node name="Enemies" type="Node2D" parent="."]
position = Vector2(122, 11)
[node name="Skeleton" parent="Enemies" node_paths=PackedStringArray("memory_return_spawn", "memory_wardrobe") instance=ExtResource("26_pyeu7")]
position = Vector2(274, 1100)
memory_piece_scene = ExtResource("10_3jtcq")
memory_texture = ExtResource("16_3jtcq")
memory_return_spawn = NodePath("../../ReturnSpawns/ReturnSpawn1")
memory_wardrobe = NodePath("../../Wardrobes/Wardrobe1")
[node name="Skeleton2" parent="Enemies" node_paths=PackedStringArray("memory_return_spawn", "memory_wardrobe") instance=ExtResource("26_pyeu7")]
position = Vector2(3039, 1087)
memory_piece_scene = ExtResource("10_3jtcq")
memory_texture = ExtResource("12_kty81")
memory_return_spawn = NodePath("../../ReturnSpawns/ReturnSpawn2")
memory_wardrobe = NodePath("../../Wardrobes/Wardrobe2")
[node name="Skeleton3" parent="Enemies" instance=ExtResource("26_pyeu7")]
position = Vector2(3173, 1088)
[node name="Skeleton4" parent="Enemies" instance=ExtResource("26_pyeu7")]
position = Vector2(3323, 1089)
[node name="Skeleton5" parent="Enemies" instance=ExtResource("26_pyeu7")]
position = Vector2(-28, 2393)
[node name="Skeleton6" parent="Enemies" node_paths=PackedStringArray("memory_return_spawn", "memory_wardrobe") instance=ExtResource("26_pyeu7")]
position = Vector2(85, 2394)
memory_piece_scene = ExtResource("10_3jtcq")
memory_texture = ExtResource("13_o5ghh")
memory_return_spawn = NodePath("../../ReturnSpawns/ReturnSpawn3")
memory_wardrobe = NodePath("../../Wardrobes/Wardrobe3")
[node name="Skeleton7" parent="Enemies" instance=ExtResource("26_pyeu7")]
position = Vector2(195, 2402)
[node name="Skeleton8" parent="Enemies" instance=ExtResource("26_pyeu7")]
position = Vector2(322, 2396)
[node name="Skeleton9" parent="Enemies" instance=ExtResource("26_pyeu7")]
position = Vector2(3460, 2396)
[node name="Skeleton10" parent="Enemies" node_paths=PackedStringArray("memory_return_spawn", "memory_wardrobe") instance=ExtResource("26_pyeu7")]
position = Vector2(3701, 2400)
memory_piece_scene = ExtResource("10_3jtcq")
memory_texture = ExtResource("15_8awmo")
memory_return_spawn = NodePath("../../ReturnSpawns/ReturnSpawn5")
memory_wardrobe = NodePath("../../Wardrobes/Wardrobe5")
[node name="Skeleton11" parent="Enemies" node_paths=PackedStringArray("memory_return_spawn", "memory_wardrobe") instance=ExtResource("26_pyeu7")]
position = Vector2(1522, 1760)
memory_piece_scene = ExtResource("10_3jtcq")
memory_texture = ExtResource("14_8qp07")
memory_return_spawn = NodePath("../../ReturnSpawns/ReturnSpawn4")
memory_wardrobe = NodePath("../../Wardrobes/Wardrobe4")
[node name="Decor" type="Node2D" parent="."]
[node name="CombatBackgrounds" type="Node2D" parent="Decor"]
@@ -927,13 +980,6 @@ position = Vector2(2194, 239.00002)
scale = Vector2(0.15, 0.15)
texture = ExtResource("16_dvm4i")
[node name="Skeleton" parent="Decor" node_paths=PackedStringArray("memory_return_spawn", "memory_wardrobe") instance=ExtResource("26_pyeu7")]
position = Vector2(396, 1111)
memory_piece_scene = ExtResource("10_3jtcq")
memory_texture = ExtResource("16_3jtcq")
memory_return_spawn = NodePath("../../ReturnSpawns/ReturnSpawn1")
memory_wardrobe = NodePath("../../Wardrobes/Wardrobe1")
[node name="Boundaries" type="Node2D" parent="."]
position = Vector2(574, 596)
+3 -3
View File
@@ -1,8 +1,8 @@
[gd_scene load_steps=4 format=3 uid="uid://coknidvakx3e5"]
[ext_resource type="PackedScene" uid="uid://bu8e4iyw8pc03" path="res://Scenes/Player.tscn" id="1_d5ayw"]
[ext_resource type="PackedScene" uid="uid://bu8e4iyw8pc03" path="res://Scenes/Characters/Player.tscn" id="1_d5ayw"]
[ext_resource type="Script" uid="uid://bs4frobn6kxne" path="res://Scripts/scene_manager.gd" id="2_us1pb"]
[ext_resource type="PackedScene" uid="uid://8n6472fqqmcc" path="res://Scenes/Levels/Level_3_graveyard.tscn" id="3_d5ayw"]
[ext_resource type="PackedScene" uid="uid://bcray1583u4e6" path="res://Scenes/Levels/Level_2_demons.tscn" id="3_d5ayw"]
[node name="MainGame" type="Node2D"]
@@ -13,4 +13,4 @@ script = ExtResource("2_us1pb")
[node name="CurrentLevel" type="Node2D" parent="."]
[node name="Graveyard" parent="CurrentLevel" instance=ExtResource("3_d5ayw")]
[node name="DemonRace" parent="CurrentLevel" instance=ExtResource("3_d5ayw")]