diff --git a/graphics/collectibles/shard_collected.png b/graphics/collectibles/shard_collected.png deleted file mode 100644 index fec4a86..0000000 Binary files a/graphics/collectibles/shard_collected.png and /dev/null differ diff --git a/graphics/enemy/fish.png b/graphics/enemy/fish.png new file mode 100644 index 0000000..bec399c Binary files /dev/null and b/graphics/enemy/fish.png differ diff --git a/graphics/collectibles/shard_collected.png.import b/graphics/enemy/fish.png.import similarity index 68% rename from graphics/collectibles/shard_collected.png.import rename to graphics/enemy/fish.png.import index 8f9185d..35bbc3d 100644 --- a/graphics/collectibles/shard_collected.png.import +++ b/graphics/enemy/fish.png.import @@ -2,15 +2,15 @@ importer="texture" type="StreamTexture" -path="res://.import/shard_collected.png-5dca71071d5812398bbf75737c619709.stex" +path="res://.import/fish.png-3b834e5fe038dfff40dea010bacb8ae6.stex" metadata={ "vram_texture": false } [deps] -source_file="res://graphics/collectibles/shard_collected.png" -dest_files=[ "res://.import/shard_collected.png-5dca71071d5812398bbf75737c619709.stex" ] +source_file="res://graphics/enemy/fish.png" +dest_files=[ "res://.import/fish.png-3b834e5fe038dfff40dea010bacb8ae6.stex" ] [params] diff --git a/maps/abyss.tscn b/maps/abyss.tscn index 2d8e644..1272dca 100644 --- a/maps/abyss.tscn +++ b/maps/abyss.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=30 format=2] +[gd_scene load_steps=31 format=2] [ext_resource path="res://maps/map.gd" type="Script" id=1] [ext_resource path="res://objects/hud/hud.tscn" type="PackedScene" id=2] @@ -11,6 +11,7 @@ [ext_resource path="res://objects/environment/ladder/ladder.tscn" type="PackedScene" id=9] [ext_resource path="res://tilesets/t_abyss.tres" type="TileSet" id=10] [ext_resource path="res://objects/enemy/mine.tscn" type="PackedScene" id=11] +[ext_resource path="res://objects/enemy/fish.tscn" type="PackedScene" id=12] [ext_resource path="res://objects/enemy/squig.tscn" type="PackedScene" id=14] [ext_resource path="res://tilesets/t_death.tres" type="TileSet" id=15] [ext_resource path="res://objects/enemy/turtle.tscn" type="PackedScene" id=16] @@ -51,7 +52,7 @@ _data = { [sub_resource type="Curve2D" id=15] _data = { -"points": PoolVector2Array( 0, 0, 0, 0, 16, 0, -1.65178, -0.117984, 1.65178, 0.117984, 24, 0, -9.7927, -4.36542, 9.7927, 4.36542, 48, 0, 0, 0, 0, 0, 64, 16, 0, 0, 0, 0, 64, 16, 0, 0, 0, 0, 72, 24, 0.315336, -2.20735, -0.315336, 2.20735, 72, 40, 7.98852, -4.51982, -7.98852, 4.51982, 64, 48, 4.83736, -3.42154, -4.83736, 3.42154, 8, 48, 1.17984, 5.42728, -1.17984, -5.42728, -8, 40, -14.3028, -3.44325, 14.3028, 3.44325, 0, 0, 0, 0, 0, 0, 16, 0 ) +"points": PoolVector2Array( 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 56, 0, 0, 0, 0, 8, 64, 0, 0, 0, 0, 64, 64, 0, 0, 0, 0, 72, 56, 0, 0, 0, 0, 72, 8, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 8, 0 ) } [node name="Map" type="Node2D" groups=["map"]] @@ -145,7 +146,7 @@ z_index = -30 tile_set = ExtResource( 10 ) cell_size = Vector2( 8, 8 ) format = 1 -tile_data = PoolIntArray( 327680, 0, 196609, 327681, 0, 196610, 327682, 0, 196610, 327683, 0, 196610, 327684, 0, 196610, 327685, 0, 196610, 327686, 0, 196611, 327704, 0, 1, 327705, 0, 196610, 327706, 0, 196610, 327707, 0, 196610, 327708, 0, 3, 327711, 0, 0, 393240, 0, 65536, 393244, 0, 65536, 393247, 0, 65536, 458776, 0, 65536, 458780, 0, 65536, 458783, 0, 65536, 524303, 0, 196609, 524304, 0, 196610, 524305, 0, 196610, 524306, 0, 196610, 524307, 0, 196610, 524308, 0, 196610, 524309, 0, 196610, 524310, 0, 196610, 524311, 0, 196610, 524312, 0, 131075, 524316, 0, 65536, 524319, 0, 65536, 589830, 0, 196609, 589831, 0, 196610, 589832, 0, 196610, 589833, 0, 196610, 589834, 0, 196610, 589835, 0, 196610, 589836, 0, 3, 589852, 0, 65536, 589855, 0, 65536, 655363, 0, 196608, 655372, 0, 65536, 655388, 0, 65536, 655391, 0, 65536, 720908, 0, 131073, 720909, 0, 3, 720924, 0, 65536, 720927, 0, 65536, 786445, 0, 131073, 786446, 0, 3, 786456, 0, 196608, 786460, 0, 65536, 786463, 0, 65536, 851982, 0, 131073, 851983, 0, 3, 851986, 0, 196609, 851987, 0, 196610, 851988, 0, 196610, 851989, 0, 196611, 851996, 0, 65536, 851999, 0, 65536, 917506, 0, 196609, 917507, 0, 196610, 917508, 0, 196610, 917509, 0, 3, 917519, 0, 65536, 917532, 0, 65536, 917535, 0, 65536, 983045, 0, 65536, 983055, 0, 131073, 983056, 0, 196610, 983057, 0, 196610, 983058, 0, 196610, 983059, 0, 2, 983060, 0, 196610, 983061, 0, 196610, 983062, 0, 196610, 983063, 0, 196610, 983064, 0, 196610, 983065, 0, 196611, 983068, 0, 131072, 983071, 0, 131072, 1048581, 0, 65536, 1048588, 0, 1, 1048589, 0, 196611, 1048595, 0, 65536, 1114117, 0, 65536, 1114124, 0, 65536, 1114131, 0, 131072, 1179653, 0, 131073, 1179654, 0, 196610, 1179655, 0, 196610, 1179656, 0, 196610, 1179657, 0, 196610, 1179658, 0, 196610, 1179659, 0, 196610, 1179660, 0, 131075, 1310734, 0, 1, 1310735, 0, 196610, 1310736, 0, 196611, 1310739, 0, 196609, 1310740, 0, 196610, 1310741, 0, 196611, 1376258, 0, 196609, 1376259, 0, 196610, 1376260, 0, 196610, 1376261, 0, 3, 1376270, 0, 65536, 1441797, 0, 131073, 1441798, 0, 196610, 1441799, 0, 196610, 1441800, 0, 196611, 1441803, 0, 196609, 1441804, 0, 196610, 1441805, 0, 196610, 1441806, 0, 65539, 1507342, 0, 131073, 1507343, 0, 196610, 1507344, 0, 196610, 1507345, 0, 196610, 1507346, 0, 196610, 1507347, 0, 196610, 1507348, 0, 196610, 1507349, 0, 196610, 1507350, 0, 196610, 1507351, 0, 196610, 1507352, 0, 196610, 1507353, 0, 196610, 1507354, 0, 196610, 1507355, 0, 196611, 1835008, 0, 196609, 1835009, 0, 196610, 1835010, 0, 196610, 1835011, 0, 196610, 1835012, 0, 196610, 1835013, 0, 196610, 1835014, 0, 196610, 1835015, 0, 196610, 1835016, 0, 196610, 1835017, 0, 196610, 1835018, 0, 196610, 1835019, 0, 196610, 1835020, 0, 196610, 1835021, 0, 196610, 1835022, 0, 3, 1835031, 0, 1, 1835032, 0, 196610, 1835033, 0, 196611, 1835035, 0, 196609, 1835036, 0, 196610, 1835037, 0, 196610, 1835038, 0, 196610, 1835039, 0, 196611, 1900558, 0, 131073, 1900559, 0, 3, 1900566, 0, 1, 1900567, 0, 131075, 1966095, 0, 131073, 1966096, 0, 196611, 1966100, 0, 1, 1966101, 0, 196610, 1966102, 0, 131075, 2031636, 0, 65536, 2097172, 0, 131072, 2162702, 0, 1, 2162703, 0, 196610, 2162704, 0, 196610, 2162705, 0, 196611, 2162717, 0, 1, 2162718, 0, 196610, 2162719, 0, 196611, 2228238, 0, 65536, 2228250, 0, 196608, 2228253, 0, 65536, 2293764, 0, 196609, 2293765, 0, 196610, 2293766, 0, 196610, 2293767, 0, 196610, 2293768, 0, 196610, 2293769, 0, 196610, 2293770, 0, 196610, 2293771, 0, 196610, 2293772, 0, 196610, 2293773, 0, 196610, 2293774, 0, 131075, 2293789, 0, 65536, 2359296, 0, 196609, 2359297, 0, 196611, 2359319, 0, 196609, 2359320, 0, 196610, 2359321, 0, 196610, 2359322, 0, 196611, 2359325, 0, 131072, 2424852, 0, 196609, 2424853, 0, 196611 ) +tile_data = PoolIntArray( 327680, 0, 196609, 327681, 0, 196610, 327682, 0, 196610, 327683, 0, 196610, 327684, 0, 196610, 327685, 0, 196610, 327686, 0, 196611, 327704, 0, 1, 327705, 0, 196610, 327706, 0, 196610, 327707, 0, 196610, 327708, 0, 3, 327711, 0, 0, 393240, 0, 65536, 393244, 0, 65536, 393247, 0, 65536, 458776, 0, 65536, 458780, 0, 65536, 458783, 0, 65536, 524303, 0, 196609, 524304, 0, 196610, 524305, 0, 196610, 524306, 0, 196610, 524307, 0, 196610, 524308, 0, 196610, 524309, 0, 196610, 524310, 0, 196610, 524311, 0, 196610, 524312, 0, 131075, 524316, 0, 65536, 524319, 0, 65536, 589830, 0, 196609, 589831, 0, 196610, 589832, 0, 196610, 589833, 0, 196610, 589834, 0, 196610, 589835, 0, 196610, 589836, 0, 3, 589852, 0, 65536, 589855, 0, 65536, 655363, 0, 196608, 655372, 0, 65536, 655388, 0, 65536, 655391, 0, 65536, 720908, 0, 131073, 720909, 0, 3, 720924, 0, 65536, 720927, 0, 65536, 786445, 0, 131073, 786446, 0, 3, 786456, 0, 196608, 786460, 0, 65536, 786463, 0, 65536, 851982, 0, 131073, 851983, 0, 3, 851986, 0, 196609, 851987, 0, 196610, 851988, 0, 196610, 851989, 0, 196611, 851996, 0, 65536, 851999, 0, 65536, 917506, 0, 196609, 917507, 0, 196610, 917508, 0, 196610, 917509, 0, 3, 917519, 0, 65536, 917532, 0, 65536, 917535, 0, 65536, 983045, 0, 65536, 983055, 0, 131073, 983056, 0, 196610, 983057, 0, 196610, 983058, 0, 196610, 983059, 0, 2, 983060, 0, 196610, 983061, 0, 196610, 983062, 0, 196610, 983063, 0, 196610, 983064, 0, 196610, 983065, 0, 196610, 983066, 0, 196610, 983067, 0, 196610, 983068, 0, 131075, 983071, 0, 131072, 1048581, 0, 65536, 1048588, 0, 1, 1048589, 0, 196611, 1048595, 0, 65536, 1114117, 0, 65536, 1114124, 0, 65536, 1114131, 0, 131072, 1179653, 0, 131073, 1179654, 0, 196610, 1179655, 0, 196610, 1179656, 0, 196610, 1179657, 0, 196610, 1179658, 0, 196610, 1179659, 0, 196610, 1179660, 0, 131075, 1310734, 0, 1, 1310735, 0, 196610, 1310736, 0, 196611, 1310739, 0, 196609, 1310740, 0, 196610, 1310741, 0, 196611, 1376258, 0, 196609, 1376259, 0, 196610, 1376260, 0, 196610, 1376261, 0, 3, 1376270, 0, 65536, 1441797, 0, 131073, 1441798, 0, 196610, 1441799, 0, 196610, 1441800, 0, 196611, 1441803, 0, 196609, 1441804, 0, 196610, 1441805, 0, 196610, 1441806, 0, 65539, 1507342, 0, 131073, 1507343, 0, 196610, 1507344, 0, 196610, 1507345, 0, 196610, 1507346, 0, 196610, 1507347, 0, 196610, 1507348, 0, 196610, 1507349, 0, 196610, 1507350, 0, 196610, 1507351, 0, 196610, 1507352, 0, 196610, 1507353, 0, 196610, 1507354, 0, 196610, 1507355, 0, 196611, 1835008, 0, 196609, 1835009, 0, 196610, 1835010, 0, 196610, 1835011, 0, 196610, 1835012, 0, 196610, 1835013, 0, 196610, 1835014, 0, 196610, 1835015, 0, 196610, 1835016, 0, 196610, 1835017, 0, 196610, 1835018, 0, 196610, 1835019, 0, 196610, 1835020, 0, 196610, 1835021, 0, 196610, 1835022, 0, 3, 1835031, 0, 1, 1835032, 0, 196610, 1835033, 0, 196611, 1835035, 0, 196609, 1835036, 0, 196610, 1835037, 0, 196610, 1835038, 0, 196610, 1835039, 0, 196611, 1900558, 0, 131073, 1900559, 0, 3, 1900566, 0, 1, 1900567, 0, 131075, 1966095, 0, 131073, 1966096, 0, 196611, 1966100, 0, 1, 1966101, 0, 196610, 1966102, 0, 131075, 2031636, 0, 65536, 2097172, 0, 131072, 2162702, 0, 1, 2162703, 0, 196610, 2162704, 0, 2, 2162705, 0, 196611, 2228238, 0, 65536, 2228240, 0, 65536, 2293764, 0, 196609, 2293765, 0, 196610, 2293766, 0, 196610, 2293767, 0, 196610, 2293768, 0, 196610, 2293769, 0, 196610, 2293770, 0, 196610, 2293771, 0, 196610, 2293772, 0, 196610, 2293773, 0, 196610, 2293774, 0, 131075, 2293776, 0, 65536, 2359296, 0, 196609, 2359297, 0, 3, 2359312, 0, 65536, 2359316, 0, 196609, 2359317, 0, 196610, 2359318, 0, 196610, 2359319, 0, 196610, 2359320, 0, 196610, 2359321, 0, 196610, 2359322, 0, 196610, 2359323, 0, 196610, 2359324, 0, 196610, 2359325, 0, 196610, 2359326, 0, 196610, 2359327, 0, 196611, 2424833, 0, 65536, 2424848, 0, 65536, 2490369, 0, 65536, 2490384, 0, 65536, 2555905, 0, 65536, 2555920, 0, 65536, 2621441, 0, 65536, 2621456, 0, 65536, 2686977, 0, 65536, 2686992, 0, 65536, 2752513, 0, 65536, 2752516, 0, 1, 2752517, 0, 196610, 2752518, 0, 196610, 2752519, 0, 196610, 2752520, 0, 196610, 2752521, 0, 196610, 2752522, 0, 196610, 2752523, 0, 196610, 2752524, 0, 196610, 2752525, 0, 196610, 2752526, 0, 196610, 2752527, 0, 196610, 2752528, 0, 131075, 2818049, 0, 65536, 2818052, 0, 65536, 2883585, 0, 65536, 2883588, 0, 65536, 2949121, 0, 65536, 2949124, 0, 65536, 3014657, 0, 65536, 3014660, 0, 65536, 3080193, 0, 131072, 3080196, 0, 131072 ) [node name="Ladders" type="TileMap" parent="Tilemaps"] z_index = 10 @@ -159,7 +160,7 @@ tile_set = ExtResource( 15 ) cell_size = Vector2( 8, 8 ) collision_layer = 32 format = 1 -tile_data = PoolIntArray( 458768, 1, 0, 458769, 1, 0, 458770, 1, 0, 458771, 1, 0, 458772, 1, 0, 458773, 1, 0, 458774, 1, 0, 458775, 1, 0, 786452, 1, 0, 917520, 1, 0, 917521, 1, 0, 917522, 1, 0, 917523, 1, 0, 917524, 1, 0, 917525, 1, 0, 917526, 1, 0, 917527, 1, 0, 917528, 1, 0, 917529, 1, 0, 1114121, 1, 0, 1441807, 1, 0, 1441808, 1, 0, 1441809, 1, 0, 1441810, 1, 0, 1441811, 1, 0, 1441812, 1, 0, 1441813, 1, 0, 1441814, 1, 0, 1441815, 1, 0, 1441816, 1, 0, 1441817, 1, 0, 1441818, 1, 0, 1441819, 1, 0, 2228228, 1, 0, 2228229, 1, 0, 2228230, 1, 0, 2228231, 1, 0, 2228232, 1, 0, 2228233, 1, 0, 2228234, 1, 0, 2228235, 1, 0, 2228236, 1, 0, 2228237, 1, 0 ) +tile_data = PoolIntArray( 458768, 1, 0, 458769, 1, 0, 458770, 1, 0, 458771, 1, 0, 458772, 1, 0, 458773, 1, 0, 458774, 1, 0, 458775, 1, 0, 786452, 1, 0, 917520, 1, 0, 917521, 1, 0, 917522, 1, 0, 917523, 1, 0, 917524, 1, 0, 917525, 1, 0, 917526, 1, 0, 917527, 1, 0, 917528, 1, 0, 917529, 1, 0, 1114121, 1, 0, 1441807, 1, 0, 1441808, 1, 0, 1441809, 1, 0, 1441810, 1, 0, 1441811, 1, 0, 1441812, 1, 0, 1441813, 1, 0, 1441814, 1, 0, 1441815, 1, 0, 1441816, 1, 0, 1441817, 1, 0, 1441818, 1, 0, 1441819, 1, 0, 1769478, 1, 0, 1769485, 1, 0, 2228228, 1, 0, 2228229, 1, 0, 2228230, 1, 0, 2228231, 1, 0, 2228232, 1, 0, 2228233, 1, 0, 2228234, 1, 0, 2228235, 1, 0, 2228236, 1, 0, 2228237, 1, 0 ) [node name="Ladders" type="Node2D" parent="."] @@ -174,9 +175,6 @@ scale = Vector2( 1, 18 ) [node name="Mine" parent="Enemies/Mines" instance=ExtResource( 11 )] position = Vector2( 48, 120 ) -[node name="Mine3" parent="Enemies/Mines" instance=ExtResource( 11 )] -position = Vector2( 216, 256 ) - [node name="Mine2" parent="Enemies/Mines" instance=ExtResource( 11 )] position = Vector2( 72, 96 ) @@ -208,7 +206,6 @@ spike_delay = 0.5 [node name="Eel" parent="Enemies" instance=ExtResource( 18 )] position = Vector2( 152, 96 ) -segments = 2 speed = 50.0 [node name="Path2D" parent="Enemies/Eel" index="0"] @@ -216,7 +213,6 @@ curve = SubResource( 13 ) [node name="Eel2" parent="Enemies" instance=ExtResource( 18 )] position = Vector2( 144, 256 ) -segments = 2 speed = 50.0 [node name="Path2D" parent="Enemies/Eel2" index="0"] @@ -228,15 +224,13 @@ rotation = -1.5708 [node name="Eel3" parent="Enemies" instance=ExtResource( 18 )] position = Vector2( 40, 112 ) -segments = 4 speed = 50.0 [node name="Path2D" parent="Enemies/Eel3" index="0"] curve = SubResource( 15 ) [node name="PathFollow2D" parent="Enemies/Eel3/Path2D" index="0"] -position = Vector2( 16, 0 ) -rotation = -0.00677554 +rotation = 2.35619 [node name="Collectibles" type="Node2D" parent="."] @@ -254,7 +248,7 @@ position = Vector2( 32, 32 ) position = Vector2( 48, 32 ) [node name="Key3" parent="Collectibles" instance=ExtResource( 21 )] -position = Vector2( 32, 104 ) +position = Vector2( 40, 104 ) [node name="Key18" parent="Collectibles" instance=ExtResource( 21 )] position = Vector2( 120, 152 ) @@ -312,7 +306,6 @@ color = 2 [node name="TurningPlatform" parent="Environment" instance=ExtResource( 20 )] position = Vector2( 168, 40 ) -time = 30.0 [node name="MovingPlatform" parent="Environment" instance=ExtResource( 19 )] position = Vector2( 212, 104 ) @@ -326,33 +319,46 @@ scale = Vector2( 2, 1 ) speed = 40 left_up_boundary = 8.0 -[node name="Rock" parent="Environment" instance=ExtResource( 23 )] -position = Vector2( 224, 216 ) - [node name="Rock2" parent="Environment" instance=ExtResource( 23 )] position = Vector2( 148, 152 ) [node name="Bubbles" type="Node2D" parent="."] [node name="BubbleSpawner" parent="Bubbles" instance=ExtResource( 24 )] -position = Vector2( 16, 160 ) -extents = Rect2( 0, 0, 32, 8 ) - -[node name="BubbleSpawner3" parent="Bubbles" instance=ExtResource( 24 )] -position = Vector2( 192, 32 ) -extents = Rect2( 0, 0, 40, 8 ) +position = Vector2( 8, 32 ) [node name="BubbleSpawner2" parent="Bubbles" instance=ExtResource( 24 )] -position = Vector2( 0, 32 ) -extents = Rect2( 0, 0, 56, 8 ) +position = Vector2( 64, 64 ) + +[node name="BubbleSpawner3" parent="Bubbles" instance=ExtResource( 24 )] +position = Vector2( 96, 120 ) [node name="BubbleSpawner4" parent="Bubbles" instance=ExtResource( 24 )] -position = Vector2( 48, 64 ) -extents = Rect2( 0, 0, 56, 8 ) +position = Vector2( 24, 104 ) [node name="BubbleSpawner5" parent="Bubbles" instance=ExtResource( 24 )] -position = Vector2( 112, 152 ) -extents = Rect2( 0, 0, 24, 8 ) +position = Vector2( 24, 160 ) + +[node name="BubbleSpawner6" parent="Bubbles" instance=ExtResource( 24 )] +position = Vector2( 120, 152 ) + +[node name="BubbleSpawner7" parent="Bubbles" instance=ExtResource( 24 )] +position = Vector2( 96, 216 ) + +[node name="Fish" parent="." instance=ExtResource( 12 )] +position = Vector2( 72, 64 ) +left_up_boundary = 3.0 +right_down_boundary = 4.0 + +[node name="Fish2" parent="." instance=ExtResource( 12 )] +position = Vector2( 40, 216 ) +left_up_boundary = 2.0 +right_down_boundary = 3.0 + +[node name="Fish3" parent="." instance=ExtResource( 12 )] +position = Vector2( 96, 216 ) +left_up_boundary = 1.0 +right_down_boundary = 3.0 [editable path="Enemies/Eel"] [editable path="Enemies/Eel2"] diff --git a/maps/abyss_scholar.tscn b/maps/abyss_scholar.tscn new file mode 100644 index 0000000..42b24cc --- /dev/null +++ b/maps/abyss_scholar.tscn @@ -0,0 +1,365 @@ +[gd_scene load_steps=31 format=2] + +[ext_resource path="res://maps/map.gd" type="Script" id=1] +[ext_resource path="res://objects/hud/hud.tscn" type="PackedScene" id=2] +[ext_resource path="res://graphics/backgrounds/abyss.png" type="Texture" id=3] +[ext_resource path="res://shaders/water_ripple.gdshader" type="Shader" id=4] +[ext_resource path="res://audio/music/moon_trail.ogg" type="AudioStream" id=5] +[ext_resource path="res://tilesets/t_ladders.tres" type="TileSet" id=6] +[ext_resource path="res://objects/Camera2D.tscn" type="PackedScene" id=7] +[ext_resource path="res://objects/player/player.tscn" type="PackedScene" id=8] +[ext_resource path="res://objects/environment/ladder/ladder.tscn" type="PackedScene" id=9] +[ext_resource path="res://tilesets/t_abyss.tres" type="TileSet" id=10] +[ext_resource path="res://objects/enemy/mine.tscn" type="PackedScene" id=11] +[ext_resource path="res://objects/enemy/fish.tscn" type="PackedScene" id=12] +[ext_resource path="res://objects/enemy/squig.tscn" type="PackedScene" id=14] +[ext_resource path="res://tilesets/t_death.tres" type="TileSet" id=15] +[ext_resource path="res://objects/enemy/turtle.tscn" type="PackedScene" id=16] +[ext_resource path="res://objects/collectibles/star.tscn" type="PackedScene" id=17] +[ext_resource path="res://objects/enemy/eel.tscn" type="PackedScene" id=18] +[ext_resource path="res://objects/environment/moving_platform/moving_platform.tscn" type="PackedScene" id=19] +[ext_resource path="res://objects/environment/turniwood/turning_platform.tscn" type="PackedScene" id=20] +[ext_resource path="res://objects/collectibles/key.tscn" type="PackedScene" id=21] +[ext_resource path="res://objects/collectibles/shard.tscn" type="PackedScene" id=22] +[ext_resource path="res://objects/environment/rock/rock.tscn" type="PackedScene" id=23] +[ext_resource path="res://objects/environment/bubble/bubble_spawner.tscn" type="PackedScene" id=24] + +[sub_resource type="CanvasItemMaterial" id=12] +blend_mode = 3 + +[sub_resource type="ShaderMaterial" id=1] +shader = ExtResource( 4 ) +shader_param/offset = 0.5 +shader_param/speed = 1.0 +shader_param/waves = 32.0 +shader_param/color_amount = 0.3 + +[sub_resource type="RectangleShape2D" id=7] +extents = Vector2( 4, 320 ) + +[sub_resource type="RectangleShape2D" id=8] +extents = Vector2( 128, 4 ) + +[sub_resource type="Curve2D" id=13] +_data = { +"points": PoolVector2Array( 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 32, 8, 0, 0, 0, 0, 32, 16, 0, 0, 0, 0, 24, 24, 0, 0, 0, 0, 16, 24, 0, 0, 0, 0, 8, 24, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, -8, 24, 0, 0, 0, 0, -16, 16, 0, 0, 0, 0, -16, 8, 0, 0, 0, 0, -8, 0, 0, 0, 0, 0, 8, 0 ) +} + +[sub_resource type="Curve2D" id=14] +_data = { +"points": PoolVector2Array( 0, 0, 0, 0, 8, -24, 0, 0, 0, 0, 8, -32, 0, 0, 0, 0, 8, -40, 0, 0, 0, 0, 16, -40, 0, 0, 0, 0, 64, -40, 0, 0, 0, 0, 72, -40, 0, 0, 0, 0, 72, -16, 0, 0, 0, 0, 72, -8, 0, 0, 0, 0, 8, -8, 0, 0, 0, 0, 8, -24 ) +} + +[sub_resource type="Curve2D" id=15] +_data = { +"points": PoolVector2Array( 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 56, 0, 0, 0, 0, 8, 64, 0, 0, 0, 0, 64, 64, 0, 0, 0, 0, 72, 56, 0, 0, 0, 0, 72, 8, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 8, 0 ) +} + +[node name="Map" type="Node2D" groups=["map"]] +pause_mode = 1 +script = ExtResource( 1 ) +music = ExtResource( 5 ) + +[node name="Camera2D" parent="." instance=ExtResource( 7 )] +__meta__ = { +"_edit_lock_": true +} +scroll_h = false +scroll_v = true +respawn_h = false + +[node name="BackgroundLayer" type="CanvasLayer" parent="."] +layer = -50 + +[node name="Background" type="Sprite" parent="BackgroundLayer"] +texture = ExtResource( 3 ) +centered = false +__meta__ = { +"_edit_lock_": true +} + +[node name="EffectLayer" type="CanvasLayer" parent="."] +layer = 50 +follow_viewport_enable = true + +[node name="Depth1" type="ColorRect" parent="EffectLayer"] +material = SubResource( 12 ) +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_top = 192.0 +margin_bottom = 192.0 +color = Color( 0.784314, 0.784314, 0.784314, 1 ) +__meta__ = { +"_edit_lock_": true +} + +[node name="Depth2" type="ColorRect" parent="EffectLayer"] +material = SubResource( 12 ) +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_top = 384.0 +margin_bottom = 384.0 +color = Color( 0.768627, 0.556863, 0.556863, 1 ) +__meta__ = { +"_edit_lock_": true +} + +[node name="WaterRipple" type="ColorRect" parent="EffectLayer"] +material = SubResource( 1 ) +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_bottom = 384.0 +color = Color( 0.054902, 0.0666667, 0.329412, 1 ) +__meta__ = { +"_edit_lock_": true +} + +[node name="HUD" parent="." instance=ExtResource( 2 )] +song_name = "♫Moon Trail" + +[node name="Player" parent="." instance=ExtResource( 8 )] +position = Vector2( 24, 576 ) +underwater = true + +[node name="LevelBorders" type="StaticBody2D" parent="."] +__meta__ = { +"_edit_group_": true, +"_edit_lock_": true +} + +[node name="LeftWall" type="CollisionShape2D" parent="LevelBorders"] +position = Vector2( -4, 256 ) +shape = SubResource( 7 ) + +[node name="RightWall" type="CollisionShape2D" parent="LevelBorders"] +position = Vector2( 260, 256 ) +shape = SubResource( 7 ) + +[node name="Floor" type="CollisionShape2D" parent="LevelBorders"] +position = Vector2( 128, 580 ) +shape = SubResource( 8 ) + +[node name="Tilemaps" type="Node2D" parent="."] + +[node name="Ground" type="TileMap" parent="Tilemaps"] +z_index = -30 +tile_set = ExtResource( 10 ) +cell_size = Vector2( 8, 8 ) +format = 1 +tile_data = PoolIntArray( 327680, 0, 196609, 327681, 0, 196610, 327682, 0, 196610, 327683, 0, 196610, 327684, 0, 196610, 327685, 0, 196610, 327686, 0, 196611, 327704, 0, 1, 327705, 0, 196610, 327706, 0, 196610, 327707, 0, 196610, 327708, 0, 3, 327711, 0, 0, 393240, 0, 65536, 393244, 0, 65536, 393247, 0, 65536, 458776, 0, 65536, 458780, 0, 65536, 458783, 0, 65536, 524303, 0, 196609, 524304, 0, 196610, 524305, 0, 196610, 524306, 0, 196610, 524307, 0, 196610, 524308, 0, 196610, 524309, 0, 196610, 524310, 0, 196610, 524311, 0, 196610, 524312, 0, 131075, 524316, 0, 65536, 524319, 0, 65536, 589830, 0, 196609, 589831, 0, 196610, 589832, 0, 196610, 589833, 0, 196610, 589834, 0, 196610, 589835, 0, 196610, 589836, 0, 3, 589852, 0, 65536, 589855, 0, 65536, 655363, 0, 196608, 655372, 0, 65536, 655388, 0, 65536, 655391, 0, 65536, 720908, 0, 131073, 720909, 0, 3, 720924, 0, 65536, 720927, 0, 65536, 786445, 0, 131073, 786446, 0, 3, 786456, 0, 196608, 786460, 0, 65536, 786463, 0, 65536, 851982, 0, 131073, 851983, 0, 3, 851986, 0, 196609, 851987, 0, 196610, 851988, 0, 196610, 851989, 0, 196611, 851996, 0, 65536, 851999, 0, 65536, 917506, 0, 196609, 917507, 0, 196610, 917508, 0, 196610, 917509, 0, 3, 917519, 0, 65536, 917532, 0, 65536, 917535, 0, 65536, 983045, 0, 65536, 983055, 0, 131073, 983056, 0, 196610, 983057, 0, 196610, 983058, 0, 196610, 983059, 0, 2, 983060, 0, 196610, 983061, 0, 196610, 983062, 0, 196610, 983063, 0, 196610, 983064, 0, 196610, 983065, 0, 196610, 983066, 0, 196610, 983067, 0, 196610, 983068, 0, 131075, 983071, 0, 131072, 1048581, 0, 65536, 1048588, 0, 1, 1048589, 0, 196611, 1048595, 0, 65536, 1114117, 0, 65536, 1114124, 0, 65536, 1114131, 0, 131072, 1179653, 0, 131073, 1179654, 0, 196610, 1179655, 0, 196610, 1179656, 0, 196610, 1179657, 0, 196610, 1179658, 0, 196610, 1179659, 0, 196610, 1179660, 0, 131075, 1310734, 0, 1, 1310735, 0, 196610, 1310736, 0, 196611, 1310739, 0, 196609, 1310740, 0, 196610, 1310741, 0, 196611, 1376258, 0, 196609, 1376259, 0, 196610, 1376260, 0, 196610, 1376261, 0, 3, 1376270, 0, 65536, 1441797, 0, 131073, 1441798, 0, 196610, 1441799, 0, 196610, 1441800, 0, 196611, 1441803, 0, 196609, 1441804, 0, 196610, 1441805, 0, 196610, 1441806, 0, 65539, 1507342, 0, 131073, 1507343, 0, 196610, 1507344, 0, 196610, 1507345, 0, 196610, 1507346, 0, 196610, 1507347, 0, 196610, 1507348, 0, 196610, 1507349, 0, 196610, 1507350, 0, 196610, 1507351, 0, 196610, 1507352, 0, 196610, 1507353, 0, 196610, 1507354, 0, 196610, 1507355, 0, 196611, 1835008, 0, 196609, 1835009, 0, 196610, 1835010, 0, 196610, 1835011, 0, 196610, 1835012, 0, 196610, 1835013, 0, 196610, 1835014, 0, 196610, 1835015, 0, 196610, 1835016, 0, 196610, 1835017, 0, 196610, 1835018, 0, 196610, 1835019, 0, 196610, 1835020, 0, 196610, 1835021, 0, 196610, 1835022, 0, 3, 1835031, 0, 1, 1835032, 0, 196610, 1835033, 0, 196611, 1835035, 0, 196609, 1835036, 0, 196610, 1835037, 0, 196610, 1835038, 0, 196610, 1835039, 0, 196611, 1900558, 0, 131073, 1900559, 0, 3, 1900566, 0, 1, 1900567, 0, 131075, 1966095, 0, 131073, 1966096, 0, 196611, 1966100, 0, 1, 1966101, 0, 196610, 1966102, 0, 131075, 2031636, 0, 65536, 2097172, 0, 131072, 2162702, 0, 1, 2162703, 0, 196610, 2162704, 0, 2, 2162705, 0, 196611, 2228238, 0, 65536, 2228240, 0, 65536, 2293764, 0, 196609, 2293765, 0, 196610, 2293766, 0, 196610, 2293767, 0, 196610, 2293768, 0, 196610, 2293769, 0, 196610, 2293770, 0, 196610, 2293771, 0, 196610, 2293772, 0, 196610, 2293773, 0, 196610, 2293774, 0, 131075, 2293776, 0, 65536, 2359296, 0, 196609, 2359297, 0, 3, 2359312, 0, 65536, 2359316, 0, 196609, 2359317, 0, 196610, 2359318, 0, 196610, 2359319, 0, 196610, 2359320, 0, 196610, 2359321, 0, 196610, 2359322, 0, 196610, 2359323, 0, 196610, 2359324, 0, 196610, 2359325, 0, 196610, 2359326, 0, 196610, 2359327, 0, 196611, 2424833, 0, 65536, 2424848, 0, 65536, 2490369, 0, 65536, 2490384, 0, 65536, 2555905, 0, 65536, 2555920, 0, 65536, 2621441, 0, 65536, 2621456, 0, 65536, 2686977, 0, 65536, 2686992, 0, 65536, 2752513, 0, 65536, 2752516, 0, 1, 2752517, 0, 196610, 2752518, 0, 196610, 2752519, 0, 196610, 2752520, 0, 196610, 2752521, 0, 196610, 2752522, 0, 196610, 2752523, 0, 196610, 2752524, 0, 196610, 2752525, 0, 196610, 2752526, 0, 196610, 2752527, 0, 196610, 2752528, 0, 131075, 2818049, 0, 65536, 2818052, 0, 65536, 2883585, 0, 65536, 2883588, 0, 65536, 2949121, 0, 65536, 2949124, 0, 65536, 3014657, 0, 65536, 3014660, 0, 65536, 3080193, 0, 131072, 3080196, 0, 131072 ) + +[node name="Ladders" type="TileMap" parent="Tilemaps"] +z_index = 10 +tile_set = ExtResource( 6 ) +cell_size = Vector2( 8, 8 ) +format = 1 +tile_data = PoolIntArray( 655360, 0, 131074, 720896, 0, 131074, 786432, 0, 131074, 851968, 0, 131074, 917504, 0, 131074, 983040, 0, 131074, 1048576, 0, 131074, 1114112, 0, 131074, 1179648, 0, 131074, 1245184, 0, 131074, 1310720, 0, 131074, 1376256, 0, 131074, 1441792, 0, 131074, 1507328, 0, 131074, 1572864, 0, 131074, 1638400, 0, 131074, 1703936, 0, 131074, 1769472, 0, 131074 ) + +[node name="Death" type="TileMap" parent="Tilemaps" groups=["death"]] +tile_set = ExtResource( 15 ) +cell_size = Vector2( 8, 8 ) +collision_layer = 32 +format = 1 +tile_data = PoolIntArray( 458768, 1, 0, 458769, 1, 0, 458770, 1, 0, 458771, 1, 0, 458772, 1, 0, 458773, 1, 0, 458774, 1, 0, 458775, 1, 0, 786452, 1, 0, 917520, 1, 0, 917521, 1, 0, 917522, 1, 0, 917523, 1, 0, 917524, 1, 0, 917525, 1, 0, 917526, 1, 0, 917527, 1, 0, 917528, 1, 0, 917529, 1, 0, 1114121, 1, 0, 1441807, 1, 0, 1441808, 1, 0, 1441809, 1, 0, 1441810, 1, 0, 1441811, 1, 0, 1441812, 1, 0, 1441813, 1, 0, 1441814, 1, 0, 1441815, 1, 0, 1441816, 1, 0, 1441817, 1, 0, 1441818, 1, 0, 1441819, 1, 0, 1769478, 1, 0, 1769485, 1, 0, 2228228, 1, 0, 2228229, 1, 0, 2228230, 1, 0, 2228231, 1, 0, 2228232, 1, 0, 2228233, 1, 0, 2228234, 1, 0, 2228235, 1, 0, 2228236, 1, 0, 2228237, 1, 0 ) + +[node name="Ladders" type="Node2D" parent="."] + +[node name="Ladder" parent="Ladders" instance=ExtResource( 9 )] +position = Vector2( 0, 80 ) +scale = Vector2( 1, 18 ) + +[node name="Enemies" type="Node2D" parent="."] + +[node name="Mines" type="Node2D" parent="Enemies"] + +[node name="Mine" parent="Enemies/Mines" instance=ExtResource( 11 )] +position = Vector2( 48, 120 ) + +[node name="Mine2" parent="Enemies/Mines" instance=ExtResource( 11 )] +position = Vector2( 72, 96 ) + +[node name="Mine4" parent="Enemies/Mines" instance=ExtResource( 11 )] +position = Vector2( 184, 152 ) + +[node name="Squigs" type="Node2D" parent="Enemies"] + +[node name="Squig" parent="Enemies/Squigs" instance=ExtResource( 14 )] +position = Vector2( 136, 416 ) + +[node name="Squig2" parent="Enemies/Squigs" instance=ExtResource( 14 )] +position = Vector2( 200, 432 ) + +[node name="Squig3" parent="Enemies/Squigs" instance=ExtResource( 14 )] +position = Vector2( 88, 528 ) + +[node name="Turtle" parent="Enemies" instance=ExtResource( 16 )] +position = Vector2( 56, 40 ) +right_down_boundary = 9.0 +speed = 50 +spike_delay = 3.0 + +[node name="Turtle2" parent="Enemies" instance=ExtResource( 16 )] +position = Vector2( 88, 264 ) +left_up_boundary = 10.0 +speed = 30 +spike_delay = 0.5 + +[node name="Eel" parent="Enemies" instance=ExtResource( 18 )] +position = Vector2( 152, 96 ) +speed = 50.0 + +[node name="Path2D" parent="Enemies/Eel" index="0"] +curve = SubResource( 13 ) + +[node name="Eel2" parent="Enemies" instance=ExtResource( 18 )] +position = Vector2( 144, 256 ) +speed = 50.0 + +[node name="Path2D" parent="Enemies/Eel2" index="0"] +curve = SubResource( 14 ) + +[node name="PathFollow2D" parent="Enemies/Eel2/Path2D" index="0"] +position = Vector2( 8, -24 ) +rotation = -1.5708 + +[node name="Eel3" parent="Enemies" instance=ExtResource( 18 )] +position = Vector2( 40, 112 ) +speed = 50.0 + +[node name="Path2D" parent="Enemies/Eel3" index="0"] +curve = SubResource( 15 ) + +[node name="PathFollow2D" parent="Enemies/Eel3/Path2D" index="0"] +rotation = 2.35619 + +[node name="Collectibles" type="Node2D" parent="."] + +[node name="Star" parent="Collectibles" instance=ExtResource( 17 )] +position = Vector2( 88, 136 ) + +[node name="Star2" parent="Collectibles" instance=ExtResource( 17 )] +position = Vector2( 208, 56 ) +color = 1 + +[node name="Key" parent="Collectibles" instance=ExtResource( 21 )] +position = Vector2( 32, 32 ) + +[node name="Key2" parent="Collectibles" instance=ExtResource( 21 )] +position = Vector2( 48, 32 ) + +[node name="Key3" parent="Collectibles" instance=ExtResource( 21 )] +position = Vector2( 40, 104 ) + +[node name="Key18" parent="Collectibles" instance=ExtResource( 21 )] +position = Vector2( 120, 152 ) + +[node name="Key15" parent="Collectibles" instance=ExtResource( 21 )] +position = Vector2( 128, 232 ) + +[node name="Key16" parent="Collectibles" instance=ExtResource( 21 )] +position = Vector2( 80, 216 ) + +[node name="Key17" parent="Collectibles" instance=ExtResource( 21 )] +position = Vector2( 112, 216 ) + +[node name="Key5" parent="Collectibles" instance=ExtResource( 21 )] +position = Vector2( 80, 64 ) + +[node name="Key7" parent="Collectibles" instance=ExtResource( 21 )] +position = Vector2( 192, 32 ) + +[node name="Key8" parent="Collectibles" instance=ExtResource( 21 )] +position = Vector2( 224, 32 ) + +[node name="Key12" parent="Collectibles" instance=ExtResource( 21 )] +position = Vector2( 232, 56 ) + +[node name="Key13" parent="Collectibles" instance=ExtResource( 21 )] +position = Vector2( 232, 88 ) + +[node name="Key14" parent="Collectibles" instance=ExtResource( 21 )] +position = Vector2( 232, 120 ) + +[node name="Key9" parent="Collectibles" instance=ExtResource( 21 )] +position = Vector2( 104, 80 ) + +[node name="Key10" parent="Collectibles" instance=ExtResource( 21 )] +position = Vector2( 112, 88 ) + +[node name="Key11" parent="Collectibles" instance=ExtResource( 21 )] +position = Vector2( 120, 96 ) + +[node name="Key6" parent="Collectibles" instance=ExtResource( 21 )] +position = Vector2( 56, 64 ) + +[node name="Key4" parent="Collectibles" instance=ExtResource( 21 )] +position = Vector2( 16, 104 ) + +[node name="Shard" parent="Collectibles" instance=ExtResource( 22 )] +position = Vector2( 160, 152 ) + +[node name="Star3" parent="Collectibles" instance=ExtResource( 17 )] +position = Vector2( 240, 256 ) +color = 2 + +[node name="Environment" type="Node2D" parent="."] + +[node name="TurningPlatform" parent="Environment" instance=ExtResource( 20 )] +position = Vector2( 168, 40 ) + +[node name="MovingPlatform" parent="Environment" instance=ExtResource( 19 )] +position = Vector2( 212, 104 ) +scale = Vector2( 2, 1 ) +left_up_boundary = 4.0 +move_direction = 1 + +[node name="MovingPlatform2" parent="Environment" instance=ExtResource( 19 )] +position = Vector2( 240, 160 ) +scale = Vector2( 2, 1 ) +speed = 40 +left_up_boundary = 8.0 + +[node name="Rock2" parent="Environment" instance=ExtResource( 23 )] +position = Vector2( 148, 152 ) + +[node name="Bubbles" type="Node2D" parent="."] + +[node name="BubbleSpawner" parent="Bubbles" instance=ExtResource( 24 )] +position = Vector2( 8, 32 ) + +[node name="BubbleSpawner2" parent="Bubbles" instance=ExtResource( 24 )] +position = Vector2( 64, 64 ) + +[node name="BubbleSpawner3" parent="Bubbles" instance=ExtResource( 24 )] +position = Vector2( 96, 120 ) + +[node name="BubbleSpawner4" parent="Bubbles" instance=ExtResource( 24 )] +position = Vector2( 24, 104 ) + +[node name="BubbleSpawner5" parent="Bubbles" instance=ExtResource( 24 )] +position = Vector2( 24, 160 ) + +[node name="BubbleSpawner6" parent="Bubbles" instance=ExtResource( 24 )] +position = Vector2( 120, 152 ) + +[node name="BubbleSpawner7" parent="Bubbles" instance=ExtResource( 24 )] +position = Vector2( 96, 216 ) + +[node name="Fish" parent="." instance=ExtResource( 12 )] +position = Vector2( 72, 64 ) +left_up_boundary = 3.0 +right_down_boundary = 4.0 + +[node name="Fish2" parent="." instance=ExtResource( 12 )] +position = Vector2( 40, 216 ) +left_up_boundary = 2.0 +right_down_boundary = 3.0 + +[node name="Fish3" parent="." instance=ExtResource( 12 )] +position = Vector2( 96, 216 ) +left_up_boundary = 1.0 +right_down_boundary = 3.0 + +[editable path="Enemies/Eel"] +[editable path="Enemies/Eel2"] +[editable path="Enemies/Eel3"] diff --git a/maps/test_room.tscn b/maps/test_room.tscn index 4134e66..3b7e6d6 100644 --- a/maps/test_room.tscn +++ b/maps/test_room.tscn @@ -135,13 +135,13 @@ position = Vector2( 48, 120 ) [node name="AnimatedSprite" parent="RollingFiend" index="0"] visible = false -frame = 1 [node name="SawTest2" type="AnimatedSprite" parent="RollingFiend"] material = SubResource( 4 ) position = Vector2( 4, 4 ) z_index = -3 frames = SubResource( 5 ) +frame = 1 playing = true [node name="Steam" parent="." instance=ExtResource( 23 )] @@ -174,7 +174,9 @@ position = Vector2( 152, 72 ) position = Vector2( 112, 176 ) [node name="Squig" parent="." instance=ExtResource( 1 )] -position = Vector2( 128, 152 ) +position = Vector2( 168, 56 ) +left_up_boundary = 5.0 +right_down_boundary = 5.0 [node name="LetterBlock" parent="." instance=ExtResource( 8 )] position = Vector2( 184, 160 ) diff --git a/objects/enemy/fish.tscn b/objects/enemy/fish.tscn new file mode 100644 index 0000000..4142c3e --- /dev/null +++ b/objects/enemy/fish.tscn @@ -0,0 +1,84 @@ +[gd_scene load_steps=9 format=2] + +[ext_resource path="res://graphics/enemy/fish.png" type="Texture" id=1] +[ext_resource path="res://objects/enemy/enemy_move_sidesideupdown.gd" type="Script" id=3] + +[sub_resource type="AtlasTexture" id=6] +atlas = ExtResource( 1 ) +region = Rect2( 0, 0, 11, 10 ) + +[sub_resource type="AtlasTexture" id=7] +atlas = ExtResource( 1 ) +region = Rect2( 11, 0, 11, 10 ) + +[sub_resource type="SpriteFrames" id=4] +animations = [ { +"frames": [ SubResource( 6 ), SubResource( 7 ) ], +"loop": true, +"name": "default", +"speed": 7.0 +} ] + +[sub_resource type="RectangleShape2D" id=5] +extents = Vector2( 4, 4 ) + +[sub_resource type="Animation" id=8] +resource_name = "glow" +length = 3.0 +loop = true +tracks/0/type = "value" +tracks/0/path = NodePath("AnimatedSprite:modulate") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 1.5, 2.9 ), +"transitions": PoolRealArray( 1, 1, 1 ), +"update": 0, +"values": [ Color( 1, 1, 1, 1 ), Color( 0.396078, 0.396078, 0.396078, 1 ), Color( 1, 1, 1, 1 ) ] +} + +[sub_resource type="Animation" id=9] +resource_name = "bob" +loop = true +tracks/0/type = "value" +tracks/0/path = NodePath("AnimatedSprite:position") +tracks/0/interp = 2 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 0.5, 1 ), +"transitions": PoolRealArray( 1, 1, 1 ), +"update": 0, +"values": [ Vector2( 0, 6 ), Vector2( 0, 2 ), Vector2( 0, 6 ) ] +} + +[node name="Fish" type="Node2D" groups=["enemy"]] +script = ExtResource( 3 ) +score_for_killing = 15 +node_to_flip = NodePath("AnimatedSprite") + +[node name="AnimatedSprite" type="AnimatedSprite" parent="."] +modulate = Color( 0.830741, 0.830741, 0.830741, 1 ) +position = Vector2( 0, 5.79026 ) +frames = SubResource( 4 ) +frame = 1 +playing = true + +[node name="Hitbox" type="Area2D" parent="." groups=["enemy_hitbox"]] + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"] +position = Vector2( 0, 4 ) +shape = SubResource( 5 ) + +[node name="GlowAnim" type="AnimationPlayer" parent="."] +autoplay = "glow" +anims/glow = SubResource( 8 ) + +[node name="BobAnim" type="AnimationPlayer" parent="."] +autoplay = "bob" +anims/bob = SubResource( 9 ) + +[connection signal="area_entered" from="Hitbox" to="." method="_on_Hitbox_area_entered"] diff --git a/objects/environment/bubble/bubble.gd b/objects/environment/bubble/bubble.gd index e47a361..7263c73 100644 --- a/objects/environment/bubble/bubble.gd +++ b/objects/environment/bubble/bubble.gd @@ -15,7 +15,7 @@ func _physics_process(delta): if speed > 0.0: sprite.position.x = sin(lifetime * 4.0) * 4.0 position.y -= speed * delta - + func pop(): sprite.frame_coords.y = 1 speed = 0.0 diff --git a/objects/environment/bubble/bubble.tscn b/objects/environment/bubble/bubble.tscn index d07fba5..015d32b 100644 --- a/objects/environment/bubble/bubble.tscn +++ b/objects/environment/bubble/bubble.tscn @@ -18,6 +18,8 @@ vframes = 2 shape = SubResource( 1 ) [node name="ActivationTimer" type="Timer" parent="."] +wait_time = 0.2 +one_shot = true autostart = true __meta__ = { "_editor_description_": "timer until the bubble can be broken by objects other than the player"